3. 密码学基础
无人机数据链同时承载遥控指令、遥测状态、任务载荷数据和身份认证信息,不同数据对机密性、完整性、真实性和实时性的要求并不相同。密码学基础不是把“最安全的算法”堆上去,而是根据链路带宽、机载算力、时延预算和威胁模型,选择合适的安全原语并正确组合。本节围绕五类核心密码学工具展开,并给出它们在无人机中的适用位置。
一、五类密码学原语的核心定位
对称加密使用同一密钥完成加密与解密,典型算法包括 AES-128/256、SM4、ChaCha20。其优点是速度快、适合高吞吐遥测与视频流;缺点是密钥必须安全分发,且无法天然解决“谁发的”问题。无人机中常用于遥控链路、图传链路和任务数据的批量加密。
非对称加密使用公钥加密、私钥解密,典型算法包括 RSA、ECC、SM2。它解决了密钥分发问题,但计算开销大、密文膨胀明显,通常不直接加密大流量数据,而是用于密钥封装、身份认证和数字签名。在无人机中,适合地面站与飞机之间建立会话密钥、分发短期对称密钥。
哈希函数把任意长度输入映射为固定长度摘要,具备单向性、抗碰撞性和雪崩效应,典型算法包括 SHA-256、SHA-3、SM3。它本身不提供机密性,但为完整性校验、密钥派生、消息认证码和数字签名提供基础。无人机中常用于固件校验、日志防篡改和密钥指纹比对。
消息认证码(MAC)基于对称密钥和哈希/分组密码构造,如 HMAC-SHA256、CMAC-AES、GMAC。它同时验证消息完整性和来源真实性,计算快、时延低,适合遥控指令和遥测帧的逐包认证。但它依赖共享密钥,无法向第三方证明来源,也不具备不可否认性。
数字签名使用私钥签名、公钥验签,如 ECDSA、EdDSA、SM2 签名。它提供完整性、真实性和不可否认性,适合固件签名、任务指令授权、飞行日志存证和身份证书签发。缺点是计算和带宽开销高于 MAC,不适合对每个高频遥测包逐一签名。
二、五类原语在无人机中的适用性对比
| 原语 | 典型算法 | 提供能力 | 无人机适用位置 | 主要限制 |
|---|---|---|---|---|
| 对称加密 | AES-GCM、SM4、ChaCha20 | 机密性 | 遥控链路、图传、任务数据 | 密钥分发与轮换复杂 |
| 非对称加密 | RSA-OAEP、ECIES、SM2 | 密钥封装、身份认证 | 会话密钥协商、密钥分发 | 计算慢、密文膨胀 |
| 哈希函数 | SHA-256、SHA-3、SM3 | 完整性、单向映射 | 固件校验、日志摘要、密钥派生 | 不提供机密性与来源认证 |
| 消息认证码 | HMAC-SHA256、CMAC、GMAC | 完整性 + 来源真实性 | 遥控指令、遥测帧逐包认证 | 依赖共享密钥,无不可否认性 |
| 数字签名 | ECDSA、EdDSA、SM2 | 完整性 + 真实性 + 不可否认 | 固件签名、指令授权、日志存证 | 开销大,不适合高频逐包 |
三、组合使用:从密钥分发到数据保护
实际无人机链路很少只用一种原语,而是按“非对称建链、对称传数、MAC 保真、签名定责”的思路组合。典型流程如下:
- 地面站与飞机通过证书或预置公钥完成身份认证,验证对方持有对应私钥。
- 双方用 ECDH 或 SM2 密钥交换协商出会话密钥,或用非对称加密封装一个随机对称密钥。
- 会话密钥派生出加密密钥和 MAC 密钥,分别用于 AES-GCM 或 SM4-GCM 的加密与认证。
- 高频遥控与遥测帧使用对称加密 + MAC 保护,满足低时延要求。
- 固件升级包、任务指令和飞行日志使用数字签名,确保来源可信且可追责。
推荐组合:ECDH/SM2 协商 + HKDF 派生 + AES-GCM/SM4-GCM 加密认证 + ECDSA/SM2 签名。这样既满足实时性,又覆盖机密性、完整性和不可否认性。
四、典型场景:遥控指令与固件升级
以遥控指令为例,若只加密不认证,攻击者可以篡改密文导致解密后指令异常;若只做 MAC 不加密,指令内容会暴露。因此遥控帧通常采用 AEAD 模式,如 AES-GCM,一次完成加密和认证。地面站发送时附带随机数 nonce,飞机端校验 nonce 未重复且 MAC 有效后才执行。对于“返航”“解锁”等高危指令,还应叠加数字签名或双因子授权,防止重放和越权。
固件升级场景则不同:升级包体积大、更新频率低,适合先哈希再签名。飞机端用预置公钥验证签名,确认固件来自合法厂商且未被篡改,再写入分区。若签名验证失败,应拒绝升级并记录安全日志。
# 固件签名与验签示意(伪命令)
openssl dgst -sha256 -sign vendor_private.pem -out firmware.sig firmware.bin
openssl dgst -sha256 -verify vendor_public.pem -signature firmware.sig firmware.bin
# 输出:Verified OK 才允许刷写
五、常见误区与复盘要点
误区一:用哈希代替加密。哈希只保证完整性,不隐藏内容,遥测数据仍可被读取。
误区二:用 MAC 代替数字签名。MAC 依赖共享密钥,飞机和地面站都能生成,无法向第三方证明指令来源,不具备不可否认性。
误区三:对每个遥测包做非对称签名。计算和带宽开销过大,会挤占实时链路,应改用对称 MAC 或 AEAD。
误区四:忽略 nonce 和计数器管理。AEAD 模式下 nonce 重复会严重削弱安全性,必须保证唯一性或使用递增计数器。
复盘时应检查:密钥是否分级管理、会话密钥是否定期轮换、MAC 与签名是否用在正确位置、算法是否支持国密合规、机载算力是否满足时延预算。只有把密码学原语与无人机链路特征匹配起来,才能在不牺牲飞行安全的前提下构建可靠的数据链安全体系。