3. 医疗设备常用密码学原语选型
医疗设备的数据加密与密钥工程,第一步不是写代码,而是选对密码学原语。选型错误会导致两种典型后果:一是设备算力不足、功耗超标,电池寿命骤降;二是安全强度不够,无法满足等保或医疗器械网络安全注册审查要求。本节围绕对称加密与非对称加密两条主线,结合嵌入式医疗设备的真实约束,给出可落地的选型依据。
一、对称加密:AES、SM4、ChaCha20 的性能与功耗对比
对称加密用于保护连续数据流,例如心电监护仪的采样数据、输液泵的运行日志、超声设备的图像帧。三类算法在嵌入式平台上的表现差异,主要来自硬件加速支持与软件实现结构。
AES 是国际通用标准,分组长度 128 位,密钥支持 128/192/256 位。在带 AES 硬件加速的 MCU(如 STM32L5、NXP LPC55S6x)上,AES-128-CTR 吞吐可达 50~200 Mbps,单次加密功耗极低。但在无硬件加速的低端 MCU 上,纯软件 AES 需要查表或位运算,速度可能降至 1~5 Mbps,且查表实现存在缓存时序侧信道风险。
SM4 是中国商用密码标准,分组长度与密钥长度均为 128 位,采用 32 轮非线性迭代结构。其软件实现比 AES 更规整,适合资源受限设备。在国产 MCU(如 GD32、华大 HC32)上,SM4 软件实现吞吐约为 2~8 Mbps;若芯片集成 SM4 硬件模块,吞吐可提升至 100 Mbps 以上。SM4 的优势在于合规性,国内医疗设备若需通过商用密码应用安全性评估,SM4 通常是必选项。
ChaCha20 是流密码,以 256 位密钥和 96 位随机数生成密钥流,与明文异或。它不依赖查表,天然抗缓存时序攻击,在无 AES 硬件加速的 Cortex-M0/M3 上表现突出。实测中,ChaCha20 在 48 MHz Cortex-M3 上吞吐约 8~15 Mbps,功耗低于纯软件 AES。对于可穿戴医疗设备(如动态心电贴、连续血糖监测仪),ChaCha20 是兼顾安全与续航的优选。
需要特别注意的是,分组密码必须配合工作模式使用。医疗设备中推荐 AEAD 模式(GCM 或 CCM),因为它同时提供机密性与完整性,避免“加密但不防篡改”的常见漏洞。CTR 模式虽快,但需额外 HMAC 才能保证完整性,增加密钥管理复杂度。
二、非对称加密:RSA、ECC、SM2 在身份认证与密钥交换中的适用场景
非对称算法解决的是“密钥怎么安全地到达对方”以及“设备身份如何被验证”的问题。医疗设备中典型场景包括:设备向云端平台注册、医生工作站与设备建立安全会话、设备固件签名验证。
RSA 的安全性基于大整数分解难题。常用密钥长度 2048 位或 3072 位。RSA-2048 公钥运算(加密/验签)较快,但私钥运算(解密/签名)在嵌入式设备上代价高。以 Cortex-M4 @ 100 MHz 为例,RSA-2048 私钥运算约需 100~300 ms,功耗峰值明显。RSA 适合作为云端或网关侧算法,不适合电池供电的终端设备频繁签名。
ECC 基于椭圆曲线离散对数难题。256 位 ECC 的安全强度约等于 3072 位 RSA,但密钥更短、运算更快。在 Cortex-M4 上,ECC P-256 签名约 10~30 ms,验签约 20~50 ms,功耗远低于 RSA。ECC 适合设备身份认证、ECDH 密钥交换。医疗设备中常用 ECDSA 做固件签名验证,用 ECDH 协商会话密钥。
SM2 是中国商用密码椭圆曲线算法,基于 256 位素域曲线。其签名与验签流程与 ECDSA 类似,但增加了用户标识和 Z 值预处理。在国产安全芯片(如国芯、华大安全 MCU)上,SM2 签名约 15~40 ms。SM2 适用于国内医疗设备的身份认证、密钥交换和数字签名,是密评合规场景下的首选非对称算法。
| 算法 | 密钥长度 | 安全强度 | 嵌入式签名耗时(示例) | 典型场景 |
|---|---|---|---|---|
| RSA-2048 | 2048 位 | 约 112 位 | 100~300 ms | 云端验签、网关 |
| ECC P-256 | 256 位 | 约 128 位 | 10~30 ms | 设备认证、ECDH |
| SM2 | 256 位 | 约 128 位 | 15~40 ms | 国内密评、设备认证 |
三、混合密钥交换:医疗设备安全会话的典型组合
实际医疗设备很少单独使用一种算法,而是采用混合模式。以一台联网输液泵与医院平台建立安全通道为例:设备出厂时预置设备证书(ECC 或 SM2)和平台根证书;上电后设备用 ECDH 或 SM2 密钥交换协商出一个临时会话密钥;随后用 AES-GCM 或 SM4-GCM 加密传输运行数据。这样既避免了非对称算法的高功耗,又保证了前向安全性。
在资源极度受限的可穿戴设备上,可采用“轻量非对称 + 流密码”组合:用 ECC 完成一次身份认证和密钥封装,之后长时间使用 ChaCha20-Poly1305 加密生理数据。认证只在配对或会话建立时发生,数据加密持续进行,整体功耗可控。
四、选型决策要点
综合来看,医疗设备密码学原语选型应遵循四条原则。第一,合规优先:面向国内市场的设备,SM4 与 SM2 应作为默认选项;面向国际市场,AES 与 ECC 更通用。第二,硬件匹配:优先选择芯片已集成硬件加速的算法,没有硬件加速时评估软件实现的吞吐与功耗是否满足数据率要求。第三,模式正确:对称加密必须使用 AEAD 模式,非对称加密必须配合证书链或预置信任锚。第四,分层使用:非对称算法负责身份与密钥,对称算法负责数据,两者各司其职,不互相替代。