一、引言
随着汽车智能化与网联化的发展,整车 FOTA(Firmware Over-The-Air)功能日益普及。FOTA 使得车辆能够通过无线网络远程更新固件,提升车辆性能、修复漏洞等。然而,这一过程面临诸多信息安全风险,如 FOTA 包被篡改、通信被窃听或劫持、本地存储被非法访问等。因此,构建一套完善的信息安全方案至关重要。
二、FOTA 包的完整性、合法性与机密性保障
(一)数字签名算法
采用非对称加密算法中的 RSA(Rivest–Shamir–Adleman)算法对 FOTA 包进行签名。RSA 算法基于大整数分解难题,具有较高的安全性。
1. 密钥生成
- 首先生成一对 RSA 密钥,包括公钥和私钥。私钥由汽车制造商的安全团队在安全环境下生成并妥善保管,公钥则嵌入到车辆的 FOTA 验证系统以及 FOTA 后台服务器中。
- 生成密钥时,选择两个大素数 p 和 q,计算 n = p * q,然后计算欧拉函数 φ(n)=(p - 1)(q - 1)。选取一个整数 e,满足 1 < e < φ(n)且 gcd(e, φ(n)) = 1(gcd 表示最大公约数),通过扩展欧几里得算法计算出 d,使得 ed ≡ 1 (mod φ(n))。公钥为 (e, n),私钥为 (d, n)。
2. 签名步骤
- 对 FOTA 包进行哈希运算,采用 SHA-256(Secure Hash Algorithm 256-bit)算法。SHA-256 能够将任意长度的数据转换为固定长度的 256 位哈希值,具有抗碰撞性强等特点。
- 用 RSA 私钥对哈希值进行签名,得到签名结果 S。
3. 验签步骤
- 车辆在接收 FOTA 包时,首先使用相同的 SHA-256 算法对 FOTA 包进行哈希运算,得到哈希值 H1。
- 然后使用嵌入的 RSA 公钥对签名 S 进行验签操作,得到一