问题总结
1. ECU内部生成的CSR文件上传到PKI系统,为什么需要认证?
保证CSR文件上传是合法真实的。
CSR文件上传过程中如果被中间人攻击,替换掉CSR文件中公钥,并使用自己的私钥签名,则PKI系统CA签发的证书是中间人的证书。用户下载的证书是中间人的证书,在安装证书时如果ECU仅用预置的根证书验证,将成功安装中间人证书。(ECU安装证书时必须校验证书中公钥和自己上传CSR文件中,避免此问题)
安装ECU证书的目的是为了使用证书的密钥计算共享密钥,并解密密钥包。
PKI生成密钥包时,采用CSR文件中公钥和PKI私钥计算共享密钥对密钥包加密。如果此时中间人截取到密钥包,可以使用密钥包中PKI的公钥(密钥包中未加密部分)和自己的私钥计算出共享密钥,并解密密钥包,从而获取对称密钥。
2.当前HSM实现该方案需要支持一下特性
ECC secp384r1曲线公私钥对生成;
派生密钥可以进行拆分后应用于不同的算法(AES-GCM:一部分用于HMAC认证,一部分用于AES-CBC解密);
足够空间能够预置多分根证书,包括验证ECU证书的根证书,验证密钥包中证书的根证书,验证ECU模式切换的Token证书等。
3.设备证书和密钥包分开安装
ECU在安全环境安装完成设备证书后,可以在公网进行密钥包安装。
ECU将设备证书上传PKI系统,PKI系统使用根证书验证设备证书,验证通过使用设备证书公钥和自身私钥生成共享密钥加密密钥包。 加密密钥包可以在公网公开传递。