• 493查看
  • 0回复

[信息安全] 汽车信息安全--密钥管理系统初探

[复制链接]


该用户从未签到

发表于 18-4-2024 22:04:07 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


目录

1.为什么需要密钥管理

2.常见密钥种类

3.HSM中的密钥管理

3.1 密钥生成

3.2 密钥分发

3.3 密钥使用

3.4 密钥存储

3.5 密钥销毁

4.小结


当真正开始思考如何设计基于HSM的密钥管理系统,才发现之前vHSM的套路是相当不完备的。

仅仅是依靠AUTOSAR KeyM和CSM提出的密钥管理要点作为需求,总觉得是无根之水,不够踏实。因此我打算从密钥的实际使用场景、HSM中如何保护密钥两个方面入手,保证系统方案的溯源。
1.为什么需要密钥管理

众所周知,在密码学的世界里,几乎所有的密码技术都是依赖于密钥。试想这样一个场景,我们出门时习惯用钥匙反锁房门,以保证家里的财产安全;回到家,我们会用钥匙打开房门。上锁和解锁,即钥匙的正转和反转,和密码学中的加密变换操作是不是非常相似,因此密钥的首要作用就是实现数据的加解密。
汽车信息安全--密钥管理系统初探w1.jpg
如果我们选择开发一个密码算法来保护数据,这个难度显然要比使用成熟公开算法、不同密钥来保护数据的方式大得多;而且由于目前密码算法基本都是公开的,要在众多算法中另辟蹊径,难度可想而知。因此,在使用公开算法的前提下,保护好自己的密钥是非常关键。
2.常见密钥种类

我们先从常见密钥种类开始,知道有哪些密钥,才能更好得考虑密钥管理。NIST.SP.800-57 Part1文档总共对密钥划分成了19个大类,如签名私钥、验签公钥、对称认证密钥、认证私钥、认证公钥、对称密钥加密密钥、对称随机数生成密钥等等,这给我们提供了一个很好的思路:在密钥管理系统里可以设置对应flag,从而实现对密钥的分组。
    签名私钥:用于数字签名的私钥,保证完整性、身份认证和不可否认性;验签公钥:与签名私钥形成密钥对,用于验证数字签名;认证私钥:与公钥算法配合实现身份认证;认证公钥:与认证私钥形成密钥对,同样可用于身份认证;对称认证密钥:该密钥与对称算法联合保证通信会话、数据的身份认证和完整性;对称加密密钥:该密钥与对称算法联合保证数据的机密性;实际使用中,对称认证密钥和对称加密密钥可以是同一个密钥,既有身份认证的意味还有加解密的作用;对称密钥加密密钥:用于对密钥进行加解密;对称随机数生产密钥:用于生成随机数;对称密钥派生密钥:用于使用对称加密方法派生其他对称密钥;密钥传输公钥:用于使用公钥算法对密钥进行加密;密钥传输私钥:用于使用公钥算法对密钥进行解密;对称密钥协商密钥:使用密钥协商算法来构建新的对称密钥;密钥协商公钥:使用公钥算法来构建新的对称密钥密钥协商私钥:使用公钥算法来构建新的对称密钥临时密钥协商公钥:用于建立一个或多个对称密钥的非对称密钥对的临时公钥临时密钥协商私钥:用于建立一个或多个对称密钥的非对称密钥对的临时公钥对称授权密钥:用于使用对称加密方法向使用主体提供特权,授权私钥:使用公钥算法证明特权使用者身份的私钥;授权公钥:使用公钥算法验证特权使用者身份的公钥。
可以看到,对于密钥的分类是需要按照实际使用场景来划分,其实从大类别考虑,是否可以按照其用途划分为如下三类:

    主密钥:作为密钥管理体系中的信任根,用于对其他密钥进行加密,其本身是通过OTP、HSM Secure NVM的方式实现保护;密钥加密密钥:实现对业务密钥的加解密;业务密钥:也称会话密钥,直接对数据进行密码操作的密钥。根据使用周期,可分为临时和长期密钥;根据算法不同,可分为对称、非对称密钥等。

3.HSM中的密钥管理

前面我们将密钥种类进行了介绍,那如何对这些密钥进行管理?这对HSM本身硬件会提出怎样的需求?纵观TC3xx、RH850系列,对于这方面的描述是相对较少的,一方面对MCU来说,简单高效的密钥管理体系就足够了,另一方面各家对密钥管理的理解也大不相同。但实际上,密钥的管理是需要考虑其完整生命周期的,从密钥生成、密钥分发、密钥使用、密钥存储到密钥销毁,如下图:
汽车信息安全--密钥管理系统初探w2.jpg
这一系列操作从硬件角度可否实现呢?3.1 密钥生成

HSM提供密钥生成的功能,那么用于生成密钥的种子的安全性就显得尤为重要,使用有可预见概率的随机数生成器肯定是不够安全。因此常常要求HSM具备真随机数模块,例如使用电阻等元件的热噪声\电子噪声来生成随机数。
汽车信息安全--密钥管理系统初探w3.jpg
实时量子随机数系统原理示意图3.2 密钥分发

在汽车MCU细分市场里,密钥分发目前没有统一的标准;以往经验,在产品开发过程中,开发人员习惯通过调试器将密钥刷进Flash,测试人员习惯通过DID方式刷写整车的对称密钥;而这些密钥通常是没有加密存储的,虽然说我们可以读出来的密钥貌似加密后的,但实际怎么玩的开发一清二楚。在产线生产阶段,密钥的角色就变化了,有不需要修改固化到OTP里,有需要使用一段时间就更新的,因此需要设定一套方案来实现密钥的加密固化、密钥的存储。此外,产线上密钥更新部署方式也可分为PostBuild数据预置和下线DID更新,具体如何实现,这确实是一个难点。3.3 密钥使用

密钥的使用上,如果是单纯放在HSM内部使用,那对终端用户来说其实就是个黑盒子,相对安全。但如果在汽车上出现了密钥从HSM内部导入导出的场景,对应AUTOSAR的KeyElementSet/Get。那密钥的身份认证和机密性如何保证。在FIPS 140.2中详细描述了针对密码模块使用的密钥输入和输出方法,这里就不展开了。3.4 密钥存储

对于密钥,以前就是认为存放在HSM内部Flash里即可,但实际上存储的密钥到底是以明文形式或还是密文形式,如果是密文形成,那么加密密钥应从哪里导入?这是需要在方案上做定义,至于软件来做还是硬件来做,这不太确定。3.5 密钥销毁

在车载产品里,密钥的销毁又分为临时会话密钥的销毁和产品报废后的密钥销毁;那么我们在设计HSM的时候就需要考虑产品的生命周期,并且如果能够通过硬件根据生命周期自动销毁,那就再好不过了。4.小结

总结下来,密钥管理作为密码学的另一个重要分支,它为密码技术例如身份识别认证、数据完整性和真实性、数据签名等提供了重要的基础。但是,密钥管理为什么难?个人理解,密钥管理是必须考虑到一个密钥的全生命周期,即该密钥从产生、分发、部署、使用最后到销毁的整个过程,而在汽车行业,密钥管理又是和ECU产品开发、产线量产、汽车运行、报废等过程息息相关,这是芯片厂在做密钥管理系统方案的难度之一;难点二在于除了技术难点,对于密钥管理的管理体系、行政管理制度、密钥管理人员的素质的考验也是相当大的。



往期回顾:

1.汽车标定精选
汽车标定技术--标定概念详解
汽车标定技术--Bypass的前世今生
万字长文:汽车标定技术--XCP概述

2.AUTOSAR精选
AUTOSAR CryptoStack--CSM Job夹带了哪些私货
AUTOSAR 诊断栈分析(一)
AUTOSAR OS概述(一)

3.汽车网络安全精选
汽车信息安全--MCU启动常用密码算法
汽车网络安全方案需求分析
汽车信息安全--常见车规MCU安全启动方案
车载信息安全场景概述

4.汽车功能安全精选

5.汽车虚拟化精选

    汽车ECU虚拟化技术初探(一)

    汽车ECU虚拟化技术(二)--U2A虚拟化功能

6.杂七杂八

    Flash模拟EEPROM原理浅析

    征途漫漫:汽车MCU的国产替代往事

    车规MCU应用场景及国产替代进展

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 22-12-2024 11:43 , Processed in 0.322170 second(s), 30 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.