4、加密基础与密码学入门:对称加密(AES)、非对称加密(RSA/ECC)、哈希函数、数字签名在模型保护中的应用

Edge AI 模型的部署环境天然暴露在攻击者视野中:模型文件存储在终端设备上,推理过程在本地执行,攻击者可以静态分析模型文件、动态调试推理进程,甚至通过侧信道提取模型参数。密码学为模型保护提供了最底层的信任锚点——加密保证模型文件的机密性,哈希保证完整性,数字签名保证来源真实性。本章从工程视角出发,系统梳理对称加密、非对称加密、哈希函数与数字签名四类密码学原语,并聚焦其在模型加密存储、安全启动、授权校验、防篡改等场景中的落地路径。

Edge AI 模型保护密码学体系 对称加密 AES 密钥:K_enc 模型密文:C = E(K, M) 解密:M = D(K, C) 场景:模型文件静态加密 非对称 RSA/ECC 公钥:Pub 私钥:Priv 加密/签名用不同密钥 场景:密钥交换、签名 哈希函数 SHA-256 输入:任意长度 输出:固定 32 字节 单向性、抗碰撞 场景:完整性校验 数字签名 ECDSA 私钥签名 公钥验签 防伪造、防抵赖 场景:模型来源认证 Edge AI 模型保护组合链路 模型原始文件 M (权重+结构) AES-256-GCM 加密 C = E(K_enc, M) SHA-256 哈希 H = Hash(C) ECDSA 签名 Sig = Sign(Priv, H) 设备端:验签 → 比对哈希 → AES解密 → 加载模型到 TEE/安全内存

4.1 对称加密 AES:模型静态加密的基石

核心原理

AES(Advanced Encryption Standard)是当前最广泛使用的对称分组密码算法,分组长度固定为 128 位,支持 128/192/256 位三种密钥长度。AES 在硬件实现上具有极高效率,ARM Cortex-A 系列处理器普遍提供 AES 硬件加速指令(如 ARMv8 的 AESD/AESE 指令),这使得 AES 成为 Edge AI 设备上模型加密的首选。在模型保护场景中,AES 通常以 GCM(Galois/Counter Mode)模式运行,该模式同时提供机密性和完整性保护,输出密文与认证标签(Tag),防止攻击者对密文进行篡改。

操作流程:模型文件加密与运行时解密

  1. 密钥生成与存储:使用安全随机数生成器产生 256 位密钥,密钥本身存储在设备安全元件(SE)或可信执行环境(TEE)的密钥槽中,禁止明文出现在文件系统或日志中。
  2. 离线加密:在构建流水线中,使用 AES-256-GCM 对模型权重文件进行加密,生成 .enc 文件与认证标签。
  3. 设备端解密:推理引擎启动时,通过 TEE 提供的安全 API 获取密钥,在安全内存中完成解密,模型明文不落盘。
工程要点:GCM 模式中的 Nonce(12 字节随机数)必须保证唯一性。若 Nonce 重复,攻击者可通过 XOR 操作恢复明文。建议使用设备唯一 ID + 计数器组合生成 Nonce,避免随机数碰撞。

案例拆解:工业视觉检测设备的模型防抄板

某工业相机厂商发现其部署在客户产线上的缺陷检测模型被逆向提取,抄袭者直接复制模型文件到竞品设备中运行。该模型为 TensorFlow Lite 格式,约 48MB。厂商采用 AES-256-GCM 对模型加密,密钥写入设备内置的 ATECC608B 安全芯片。改造后,即使攻击者通过 UART 或 JTAG 导出 Flash 中的 model.enc 文件,也无法获得明文权重。实测解密耗时约 120ms(设备为 i.MX8M Plus,启用 CryptoCell 加速),对推理首帧延迟影响可接受。关键风险在于:若攻击者直接 dump 运行时内存,仍可能获取明文权重,因此需配合内存保护(如 TrustZone)使用。

常见误区

  • ECB 模式禁用:ECB 模式下相同明文块产生相同密文块,模型权重中大量零值会导致明显的模式泄露。
  • 密钥硬编码:将密钥写在 Java/Kotlin 或 C++ 代码中,攻击者通过字符串扫描即可提取。
  • 忽略认证标签:仅加密不认证,攻击者可翻转密文比特导致模型行为异常,甚至产生安全漏洞。

4.2 非对称加密 RSA/ECC:密钥分发与身份认证

核心原理

非对称加密使用公钥/私钥对,公钥公开分发,私钥秘密保存。RSA 基于大整数分解难题,密钥长度通常为 2048/3072 位;ECC(椭圆曲线密码)基于椭圆曲线离散对数难题,在相同安全强度下密钥更短(256 位 ECC 约等效 3072 位 RSA),计算开销更低,更适合资源受限的 Edge 设备。在模型保护中,非对称加密不直接加密大体积模型(性能开销过大),而是用于加密 AES 密钥或生成数字签名。

混合加密方案

步骤操作使用算法目的
1生成随机 AES 会话密钥 K_s安全随机数用于模型加密
2使用设备公钥加密 K_sRSA-OAEP 或 ECIES安全传输会话密钥
3使用 K_s 加密模型文件AES-256-GCM高效加密大文件
4设备用私钥解密 K_sRSA/ECC 解密恢复会话密钥

判断方法:何时选择 RSA 还是 ECC

  • 兼容性优先:老旧设备或特定安全芯片仅支持 RSA,选择 RSA-2048。
  • 性能与功耗敏感:ECC(如 P-256、X25519)签名速度快、密钥短,适合电池供电的 IoT 设备。
  • 安全等级要求:需满足 FIPS 140-2 Level 3 时,RSA-3072 或 ECC P-384 为常见选择。
风险提示:RSA 私钥若存储在设备普通 Flash 中,攻击者可通过物理攻击(如电压故障注入)提取。必须将私钥放入安全元件,且安全元件应启用抗故障注入的保护机制。

4.3 哈希函数:模型完整性校验

核心原理

哈希函数将任意长度输入映射为固定长度输出(如 SHA-256 输出 32 字节),具有单向性(无法从哈希反推原文)、抗碰撞性(难以找到两个不同输入产生相同哈希)和雪崩效应(输入微变,输出剧变)。在模型保护中,哈希用于检测模型文件是否被篡改——任何比特位的修改都会导致哈希值完全改变。

操作流程:启动时完整性校验

// 设备启动时执行
1. 读取模型密文 model.enc
2. 计算 H_calc = SHA256(model.enc)
3. 从安全存储读取出厂哈希 H_stored
4. 若 H_calc == H_stored,则通过完整性校验
5. 否则拒绝加载,进入安全恢复模式

案例拆解:OTA 升级中的哈希链校验

某智能摄像头厂商通过 OTA 推送模型更新,攻击者截获升级包并替换为恶意模型。厂商在升级包中增加 SHA-256 哈希字段,设备下载后先计算哈希并与服务器下发的哈希比对。但攻击者同时篡改哈希字段即可绕过。因此,哈希值必须通过 HTTPS + 数字签名保护,或使用公钥验签后再比对哈希。该案例说明:哈希本身不提供真实性保护,必须与签名结合。

常见误区

  • 使用 MD5/SHA-1:已被证明存在碰撞攻击,必须使用 SHA-256 及以上。
  • 哈希与加密混淆:哈希不是加密,无法解密还原,不能用于模型机密性保护。
  • 忽略哈希存储安全:哈希值若与模型文件一同存储在可写 Flash 中,攻击者可同时篡改两者。

4.4 数字签名:模型来源认证与防抵赖

核心原理

数字签名结合哈希与非对称加密:发送方使用私钥对模型哈希值签名,接收方使用公钥验签。签名提供三个核心安全属性:真实性(确认模型来自声称的厂商)、完整性(模型未被篡改)、不可抵赖性(厂商无法否认发布过该模型)。在 Edge AI 场景中,常用 ECDSA(基于 ECC)或 Ed25519 签名算法,签名长度短(64 字节),验签速度快。

操作流程:模型发布与验签

  1. 厂商侧:计算模型哈希 H = SHA256(model.bin),使用私钥签名 Sig = ECDSA_Sign(Priv, H)。
  2. 设备侧:使用预置公钥验签 Verify(Pub, H_calc, Sig),验签通过才允许加载模型。
  3. 密钥管理:公钥存储在设备一次性可编程(OTP)区域或安全元件中,防止被替换。

案例拆解:自动驾驶域控制器的模型安全启动链

某自动驾驶 Tier 1 供应商需要在域控制器(NVIDIA Orin)上部署神经网络模型,要求满足 ISO 21434 网络安全标准。实施过程:

  • 背景与约束:模型约 2.3GB,启动时间预算小于 5 秒,需兼容现有 OTA 框架。
  • 方案设计:采用两级签名链——Bootloader 验签内核,内核验签模型文件。模型签名使用 ECDSA P-384,公钥烧录在 Orin 的 OTP 中。
  • 实施步骤:构建流水线集成签名工具,生成 .sig 文件;设备端在模型加载前调用安全服务验签;验签失败则回滚至上一版本。
  • 结果与代价:验签耗时约 350ms(含 SHA-256 计算 2.3GB 文件),满足启动预算。代价是每次 OTA 需重新签名,且私钥管理需引入 HSM(硬件安全模块)。
  • 复盘经验:签名链的根信任锚(Root of Trust)必须物理不可篡改;建议将验签逻辑放入 TEE,防止被 hook 绕过。
经验提醒:在 Edge AI 设备中,推荐使用 Ed25519 签名算法——其公钥仅 32 字节,验签性能比 ECDSA P-256 快 2-3 倍,且实现简单不易出错。但需确认安全芯片或 TEE 驱动是否支持。

4.5 四类密码学原语在模型保护中的协同矩阵

安全目标推荐算法部署位置典型密钥长度性能参考(i.MX8M)
模型机密性AES-256-GCMTEE/安全内存256 bit~1.2 GB/s(硬件加速)
会话密钥分发RSA-OAEP / ECIES安全元件2048 bit / 256 bitRSA 解密 ~2ms
模型完整性SHA-256任意安全环境256 bit 输出~800 MB/s
来源认证ECDSA P-256 / Ed25519TEE 验签256 bit验签 ~0.5ms

综合防护链路

一个完整的 Edge AI 模型保护方案应组合使用上述原语:AES 负责模型静态加密,RSA/ECC 负责安全传递 AES 密钥,SHA-256 负责完整性校验,ECDSA 负责模型来源认证。四者形成“加密—分发—校验—认证”的闭环,任何单一算法都无法独立覆盖全部安全需求。

总结复盘

  • 安全强度取决于最弱环节:即使 AES 密钥 256 位,若私钥存储在可读 Flash 中,整个体系形同虚设。
  • 性能与安全需平衡:模型加载延迟增加 10%-15% 通常可接受,但若超过 30% 需考虑硬件加速或分级解密(仅解密关键层)。
  • 密钥生命周期管理:包括生成、分发、轮换、吊销,需建立完整的密钥管理策略,而非仅关注算法本身。
  • 抗物理攻击:密码学算法无法防御针对内存总线的探针攻击,需结合 TEE、安全元件和内存加密等硬件机制。
工程红线:切勿自行实现密码学算法或自定义加密协议。使用经过验证的库(如 OpenSSL、mbedTLS、TinyCrypt)和硬件加速引擎,并定期更新以修复已知漏洞。