关键词:
认证密钥协商协议
嵌入式系统
AMP架构
SM2算法
摘要:
随着信息技术的快速发展,保障通信安全的密码技术也得到了长足的进步。作为通信安全的重要保障,密钥的安全性越来越受到人们的重视。认证密钥协商(Authentication Key Agreement,AKA)是保障密钥安全的一个重要手段,对其相关协议的研究也越来越成熟。而另一方面,嵌入式系统的快速发展,为安全认证协商系统的实现又提供了软硬件协同工作的基础。由于在嵌入式系统中实现硬件加密具有加密速度快,安全性高的优点,尤其是在嵌入式的非对称多处理(Asymmetric Multi-Processing,AMP)架构为系统提供了更多的 CPU资源的情况下,安全认证协商系统的效率和稳定性都有了保证。因此,本文提出的在Zynq AMP架构下设计并实现对等安全认证协商系统不仅是一个全新的视角,而且具有良好的现实意义。本文首先对认证密钥协商协议和嵌入式系统的AMP架构相关的国内外研究现状进行了介绍,并阐述了通过两者结合来实现安全认证协商系统的研究意义。接着对安全认证协商相关理论和国密SM2椭圆曲线加密算法进行介绍,在此基础上对国密SM2算法相关的认证密钥协商协议进行了研究和分析,提出了一种新的无中心SM2认证密钥协商协议。然后基于此协议,在嵌入式Zynq-7000平台的双核AMP架构支持下,对安全认证协商系统进行了各模块功能和通信方面设计工作,而且根据设计方案进行了具体的系统实现工作。最后在Zynq-7000平台搭建测试环境,设计测试方案,完成了对整个系统的功能测试,并根据测试结果对系统进行了安全性分析和性能分析。本文重点开展的工作如下:(1)以Diffie-Hellman密钥协商的系统为例,分析了两方认证密钥协商系统的一般模型和模块设计需要,指出安全认证协商系统设计中最重要的就是加密认证模块的设计。然后对SM2密钥交换协议的理论基础和Zynq-7000平台进行了介绍;(2)对认证协商系统的设计需求进行阐述,并对常见的基于证书的SM2认证密钥协商协议进行分析,指出其存在着证书权威(Certificate Authority,CA)中心安全性问题和证书的管理压力问题,进而提出了一种无中心的SM2认证密钥协商协议,并进行了安全性分析。协议采用了临时密钥交换的方法来保障长期密钥的安全性,并通过协商密钥的签名值进行密钥确认,因此具有较好的安全性保障。(3)对认证协商系统的总体框架,模块功能和接口配置进行设计工作,主要设计了 Zynq模块,加密认证模块和密钥管理模块的功能和各模块的接口配置。之后重点设计了 Zynq模块和加密认证模块间的串口通信协议,包括消息格式和消息号的处理规定等。而对于协商双方的通信则是设计采用Zynq模块的EMIO接口映射串口,并在Zynq模块和加密认证模块通信的消息格式的基础上采用“包头+包长+消息+校验+包尾”的数据包格式进行通信;(4)对认证协商系统的具体实现过程进行介绍,包括Zynq模块的CPUO和CPU1的功能实现,核间通信实现;加密认证模块的相关消息处理实现,与Zynq模块通信实现和与密钥管理模块数据交互实现;对密钥管理模块的读写功能实现等。之后搭建测试环境,完成系统的最终测试。测试结果表明,系统运行稳定,认证协商数据包交互正确。最后根据测试结果对系统的安全性和性能进行相关分析。