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 是兼顾安全与续航的优选。

选型建议:有 AES 硬件加速且面向国际市场,优先 AES-128-GCM;面向国内市场且需密评合规,优先 SM4-GCM;无硬件加速、电池供电、数据流连续,优先 ChaCha20-Poly1305。

需要特别注意的是,分组密码必须配合工作模式使用。医疗设备中推荐 AEAD 模式(GCM 或 CCM),因为它同时提供机密性与完整性,避免“加密但不防篡改”的常见漏洞。CTR 模式虽快,但需额外 HMAC 才能保证完整性,增加密钥管理复杂度。

对称加密算法在嵌入式医疗设备中的选型对比 吞吐量(Mbps,对数示意) 相对功耗 AES+硬件 50~200 Mbps / 极低功耗 SM4+硬件 100+ Mbps / 低功耗 ChaCha20 软件 8~15 Mbps / 中低功耗 AES 软件 1~5 Mbps / 较高功耗 SM4 软件 2~8 Mbps / 中等功耗 推荐区:硬件加速 + AEAD 模式 AES SM4 ChaCha20 圆点越靠左上:吞吐越高、功耗越低

二、非对称加密: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-20482048 位约 112 位100~300 ms云端验签、网关
ECC P-256256 位约 128 位10~30 ms设备认证、ECDH
SM2256 位约 128 位15~40 ms国内密评、设备认证
教学示例参数说明:上述耗时数据为基于常见 Cortex-M4 @ 100 MHz 平台的合理估算范围,用于说明量级差异,并非某一具体型号的实测值。实际选型时应在目标硬件上使用官方密码库(如 mbedTLS、TinyCrypt、GMSSL)进行基准测试。

三、混合密钥交换:医疗设备安全会话的典型组合

实际医疗设备很少单独使用一种算法,而是采用混合模式。以一台联网输液泵与医院平台建立安全通道为例:设备出厂时预置设备证书(ECC 或 SM2)和平台根证书;上电后设备用 ECDH 或 SM2 密钥交换协商出一个临时会话密钥;随后用 AES-GCM 或 SM4-GCM 加密传输运行数据。这样既避免了非对称算法的高功耗,又保证了前向安全性。

在资源极度受限的可穿戴设备上,可采用“轻量非对称 + 流密码”组合:用 ECC 完成一次身份认证和密钥封装,之后长时间使用 ChaCha20-Poly1305 加密生理数据。认证只在配对或会话建立时发生,数据加密持续进行,整体功耗可控。

常见误区:在低端 MCU 上直接使用 RSA-2048 做每包签名,会导致设备响应迟滞、电池快速耗尽。正确做法是将非对称运算限制在会话建立或固件升级等低频事件中,高频数据通路使用对称加密。

四、选型决策要点

综合来看,医疗设备密码学原语选型应遵循四条原则。第一,合规优先:面向国内市场的设备,SM4 与 SM2 应作为默认选项;面向国际市场,AES 与 ECC 更通用。第二,硬件匹配:优先选择芯片已集成硬件加速的算法,没有硬件加速时评估软件实现的吞吐与功耗是否满足数据率要求。第三,模式正确:对称加密必须使用 AEAD 模式,非对称加密必须配合证书链或预置信任锚。第四,分层使用:非对称算法负责身份与密钥,对称算法负责数据,两者各司其职,不互相替代。