en
×

分享给微信好友或者朋友圈

使用微信“扫一扫”功能。
作者简介:

李敏,男,副教授,研究方向为汽车智能技术、信息安全.qingchang2014@126.com

中图分类号:TP274

文献标识码:A

DOI:10.13878/j.cnki.jnuist.2022.05.005

参考文献 1
朱立民,李仁发.一种基于AES-CCM算法的安全车载CAN网络协议[J].汽车技术,2018(8):54-59;ZHU Limin,LI Renfa.A secure in-vehicle CAN network protocol based on AES-CCM algorithm[J].Automobile Technology,2018(8):54-59
参考文献 2
罗峰,胡强,刘宇.基于CAN-FD总线的车载网络安全通信[J].同济大学学报(自然科学版),2019,47(3):386-391LUO Feng,HU Qiang,LIU Yu.Secure communication method for in-vehicle network based on CAN-FD bus[J].Journal of Tongji University(Natural Science),2019,47(3):386-391
参考文献 3
Woo S,Jo H J,Lee D H.A practical wireless attack on the connected car and security protocol for in-vehicle CAN[J].IEEE Transactions on Intelligent Transportation Systems,2015,16(2):993-1006
参考文献 4
Groza B,Murvay S.Efficient protocols for secure broadcast in controller area networks[J].IEEE Transactions on Industrial Informatics,2013,9(4):2034-2042
参考文献 5
Schweppe H,Roudier Y.Securty and privacy for in-vehicle networks [C]//IEEE 1st International Workshop on Vehicular Communications,Sensing,and Computing(VCSC),2012:12-17
参考文献 6
孙瑶,王小妮,刘鹏,等.车载CAN总线认证与加密机制研究[J].北京信息科技大学学报(自然科学版),2019,34(3):73-78;SUN Yao,WANG Xiaoni,LIU Peng,et al.Research on vehicle CAN bus authentication and encryption mechanism[J].Journal of Beijing Information Science & Technology University,2019,34(3):73-78
参考文献 7
冯凯,李巍,龚洁中.车联网中密码算法应用现状分析[J].中国信息安全,2019(9):97-99;FENG Kai,LI Wei,GONG Jiezhong.Analysis of the current situation of the application of cryptographic algorithms in the internet of vehicles [J].China Information Security,2019(9):97-99
参考文献 8
陈刚.国密SM4算法在车载CAN总线的加密应用[J].信息通信,2019,32(3):149-151;CHEN Gang.The encryption application of national secret SM4 algorithm in vehicle CAN bus [J].Information & Communications,2019,32(3):149-151
参考文献 9
修佳鹏,田超宇,杨正球,等.SecOC安全机制中国密算法应用方案研究[J].信息安全研究,2020,6(9):775-782;XIU Jiapeng,TIAN Chaoyu,YANG Zhengqiu,et al.Research on application scheme of national secret algorithm in SecOC security mechanism[J].Journal of Information Security Research,2020,6(9):775-782
参考文献 10
国家密码管理局.GB/T 0002—2012 SM4分组密码算法[S].2012;State Cryptography Administration.GB/T 0002—2012 SM4 block cipher algorithm [S].2012
参考文献 11
罗禹.基于加密算法的车载CAN总线安全通信研究[D].长沙:湖南师范大学,2020;LUO Yu.Research on secure communication of vehicle CAN bus based on encryption algorithm[D].Changsha:Hunan Normal University,2020
参考文献 12
张悠熠,朱元,毛威.车载CAN总线安全验证机制及性能检测[J].信息通信,2018,31(8):15-17;ZHANG Youyi,ZHU Yuan,MAO Wei.Safety verification mechanism and performance test of vehicle CAN bus [J].Information & Communications,2018,31(8):15-17
参考文献 13
郭志刚,潘俊家,韩光省,等.基于车载CAN总线的安全通信机制研究[J].中国汽车,2020,30(7):46-50,57;GUO Zhigang,PAN Junjia,HAN Guangsheng,et al.Security onboard communication for in-vehicle bus on CAN bus[J].China Auto,2020,30(7):46-50,57
目录contents

    摘要

    随着ICV(智能网联汽车)产业的快速发展,车与人、车与车以及车与外部环境的数据交换成为常态,汽车安全受到严重威胁,研究汽车安全认证方法则显得至关重要.车载PEPS(无钥匙进入及启动系统)和EMS(发动机管理系统)的安全认证决定整车安全性能,是保证汽车安全运行的前提条件.目前业界广泛采用128 bits AES算法实现PEPS和EMS的安全认证,而由于AES密钥生成和密钥调度算法较国密算法SM4复杂,加解密时间较长,且算法实现的代码量较大,占用过多的MCU资源,因此,本文提出将国密SM4算法应用于车载PEPS和EMS的安全认证,缩短加解密时间,有效提高数传效率,同时采用高级语言实现该算法并移植到国产MCU GD32F103,实现产品国产化,降低成本.将国密算法SM4进行推广,为ICV安全认证提供研究基础.

    Abstract

    With the rapid development of ICV (Intelligent Connected Vehicle) industry,data exchange between vehicle and human,vehicle and vehicle as well as between vehicle and external environment has become common,which imposes serious threat to automobile security.Security certification of vehicle PEPS (Passive Entry Passive Start) and EMS (Engine Management System) is the prerequisite to ensure the safe operation of the vehicle.However,the widely used 128 bits AES for PEPS and EMS security certification is complex in algorithm,time consuming in encryption and decryption,and occupies more MCU resources,compared with encryption algorithm SM4.Here,the SM4 algorithm is used to carry out security certification of vehicle PEPS and EMS,which can shorten the encryption and decryption time,and effectively improve the data transmission efficiency.Then,it is implemented by advance language and transplanted to domestic MCU GD32F103.The proposed approach applies encryption algorithm SM4 and provide a research basis for ICV security certification.

  • 0 引言

  • 随着智能网联汽车(Intelligent Connected Vehicle,ICV)产业的快速发展,汽车安全认证越来越被业界所重视[1].而无钥匙启动及进入系统(Passive Entry Passive Start,PEPS)是汽车关键部件之一,它不仅对用户进行身份认证,而且也决定了汽车发动机能否正常起动,是保证汽车安全运行的前提条件.车载PEPS系统主要包括智能钥匙、线圈、集成IMMO基站的PEPS等部件,PEPS通过SPI总线与IMMO基站连接,并通过CAN总线与发动机管理单元(Engine Management System,EMS)连接,系统如图1所示.根据车载PEP和EMS通信机制,业界广泛采用128bits AES加密算法或XTEA算法实现PEPS和EMS的动态加密安全认证.由于128bits AES算法密钥生成和密钥调度算法较国密算法SM4复杂,加解密代码量较大,数据加密时间长,消耗过多的MCU(微处理器)资源,影响数传效率.

  • 目前,SM4算法应用在车载设备CAN通信加密场合较少,特别是将SM4算法移植到车规级嵌入式处理器并验证其运行效率的文献也不多[2],多数文献是针对CAN总线提出安全认证机制,如文献[3]根据CAN总线特性提出一种安全认证方法抵御网络入侵,文献[4]提出了类似TESLA协议的具有消息认证的CAN总线安全认证机制,文献[5]提出了基于EVITA-HSM消息认证的安全认证机制.为有效防止CAN总线的重放攻击、网络入侵等汽车安全问题,探索采用国密算法SM4取代128bits AES算法实现PEPS和EMS安全认证具有重要的实用价值[6].国密算法SM4是我国自主研发的商用密码体系,它相比128bits AES算法具有更强的安全性,且密钥调度算法简单,计算量少,从而加快运算速度[7-9].目前国外车规级MCU严重短缺,且价格昂贵,因此在保证系统稳定性和安全性前提下,使用国产MCU,可以不受外部环境制约,降低PEPS生产成本,实现车载PEPS国产化.

  • 1 PEPS系统硬件架构

  • PEPS系统硬件由MCU、ATA5785RF接收电路、电源输出电路、开关量采集电路、低频天线驱动电路、CAN通信电路、ESCL通信电路等组成.其中,电源输出模块连接继电器组,提供发动机ACC、IGN点火信号、Cranking信号,ESCL提供电子转向柱锁电源和控制信号,CAN总线连接EMS,PEPS开关量采集信号包含点火按钮开关、驾驶门、副驾驶门、后备箱微动开关,低频天线驱动连接主副驾驶门把手天线、行李箱外部天线以及车内前后部天线等.PEPS电气原理如图2所示,PEPS上电找钥匙时序如图3所示.

  • 图1 PEPS系统框图

  • Fig.1 Block diagram of PEPS system

  • 图2 PEPS系统电气原理

  • Fig.2 Electrical schematic diagram of PEPS system

  • 图3 PEPS上电找钥匙时序

  • Fig.3 PEPS power-on time sequence to find the key

  • 2 PEPS和EMS的安全认证过程

  • 车载PEPS与EMS通信采用CAN 2.0B协议,帧结构中包含11位ID标识符.PEPS与EMS通信采用双向两级认证,双向是指EMS通过加密算法发送密文至PEPS,PEPS收到正确的加密数据后回复EMS,两级是指第一级为钥匙与PEPS系统的认证,第二级为PEPS与EMS认证.在第二级认证中,PEP和EMS共享SK和PIN,其中SK为128bits数据,PIN为32bits数据,SK和PIN通过机器学习存放到PEPS和EMS的EEPROM中.第二级认证过程具体如下:

  • 1)PEPS控制IGN继电器使能,并等待EMS发送认证信息.

  • 2)EMS初始化后以每隔150ms发送DATA至PEPS.由于CAN报文的一帧有效数据为8bytes,DATA包含加密的4bytes PIN和4bytes的随机数,EMS在2s内未接收到PEPS的应答信息,则本次认证失败.

  • 3)PEPS接收到EMS发送的DATA后,采用加密算法和SK对DATA进行解密,获得PIN数据与EEPROM中的PIN匹配,PEPS发送认证信息至EMS,该信息包含加密的4bytes PIN和4bytes随机数.如果PEPS接收到的PIN与本地EEPROM存储中的PIN不匹配,PEPS将发送8byte的0xFF.

  • 4)EMS接收到认证信息后,采用加密算法和SK对DATA进行解密,判断PIN码和EEPROM存储的PIN是否匹配,如果匹配,则双向认证通过.反之,将发送8bytes的0xFF,其双向认证信息如表1所示.

  • 3 SM4算法原理

  • 通过分析PEPS和EMS认证过程,并依据CAN报文数据结构,提出基于国密算法SM4实现数据加解密.SM4是国家密码管理局于2012年发布的商用密码体系,是一种对称加密算法,算法结构为非平衡Feistel,密钥长度128位,采用分组且32轮非线性迭代加密,生成的密明文长度一致[10].根据文献[10]的加密算法得出:

  • 1)通过32轮迭代运算后将数据反序得出密文(X 35,X 34,X 33,X 32):

  • Xi+4=FXi+Xi+1,Xi+2,Xi+3,rki=XiTXiXi+1Xi+2Xi+3rki,i=0,1,2,,31

  • Y0,Y1,Y2,Y3=RX32,X33,X34,X35=X35X34,X33,X32

  • 2)T变换与L变换:

  • 在上述迭代运算中,所运用的T变换由s,L变换得出:

  • b0,b1,b2,b3=Sboxa0,Sboxa1,Sboxa2,Sboxa3,

  • C=L(B)=B@(B2)@(B10)@(B18)@(B24)

  • 其中(a 0,a 1,a 2,a 3)为128位数据输入,(b 0,b 1,b 2,b 3)为128位数据输出.

  • 3)轮密钥rki生成:

  • rki=KiT'CKi+1CKi+2CKi+3CKi+4,i=0,1,2,,31.

  • 表1 双向认证信息

  • Table1 Two-way authentication information

  • 4 PEPS系统软件

  • PEPS系统软件由主程序、T变换、随机数生成、轮密钥、SM4加解密、CAN发送和接收程序等构成.主程序实现PEPS系统时钟配置、GPIO初始化、高低频芯片初始化、CAN初始化、CAN发送和接收、ADC初始化、DMA初始化、定时器初始化等.如图4所示.

  • 5 实验结果验证

  • 分别将128bits AES算法和国密SM4算法移植到32位MCU GD32F103,分析两种算法的运行效率.依据产品标准,PEPS系统与EMS的安全认证需满足三项指标[11]:第一,数据的实时性,即保证PEPS和EMS需在规定时间内完成数传,行业中规定30ms以内;第二,节点身份的合法性,即保证数据是由PEPS节点发送的;第三,数据的正确性,即保证PEPS发送和EMS接收的数据内容一致.

  • 本系统采用GD32F103为核心处理器的嵌入式系统板模拟PEPS和EMS节点,使用Kvaser CAN分析仪、具备CAN解析功能的ZLG的ZDS2024Plus数字示波器,Saleae Logic8逻辑分析仪等设备开展测试.首先,基于PC端的C-Free5IDE平台设计并调试国密SM4算法,然后,将该算法移植到主频为108MHz的MCU GD32F103,在KEIL开发环境中运行程序并调试,加解密测试程序如图5—8所示.为获取SM4算法中的加解密时间,将MCU的GPIO口设置为输出模式,通过GPIO口电平翻转策略判断,并使用逻辑分析仪捕获IO电平状态,通过Saleae平台测试两种算法的加解密时间.采用国密SM4算法,加密时间为57.75 μs,解密时间为57.75 μs,采用128bits AES算法加密时间为0.906 5ms,解密时间为0.141ms,上述数据表明AES算法的加密时间接近SM4算法的15倍,解密时间接近SM4算法的3倍,显然SM4有效提高了加解密效率和缩短数传时间.

  • 图4 PEPS系统主程序流程

  • Fig.4 Flow chart for the main program of the PEPS system

  • 图5 128bits AES加密程序

  • Fig.5 128bits AES encryption program

  • 图6 128bits AES解密程序

  • Fig.6 128bits AES decryption program

  • 图7 SM4加密程序

  • Fig.7 SM4encryption procedure

  • 5.1 SM4加密实时性验证

  • 要保证车载PEPS和EMS的CAN通信实时性要求,按照EMS规范,采用SM4加密算法的函数调度和加密算法时间之和T′必须小于EMS规范时间T,即T′≤T[12-13].为了验证CAN总线的实时性,通过Kvaser CAN分析仪和上位机CANKIING平台循环发送定量数据,观察发送方、接收方时间戳,在相同的时间序列下,记录EMS发送的起始时间和PEPS接收数据时间,从图9和表2中可以得出基于SM4算法的函数调度和加密时间之和远小于EMS规范中的30ms,完全满足系统实时性要求.

  • 图8 SM4解密程序

  • Fig.8 SM4decryption procedure

  • 5.2 节点身份合法性和数据正确性验证

  • 系统设置EMS节点的发送CAN ID为0X111,PEPS节点的发送CAN ID为0X222,EMS生成随机数0X11223344,将PIN码、随机数和常量构成的16bytes明文加密,提取密文中的4bytes数据0XCC66DCC6和随机数0X11223344构成8bytes的CAN报文通过总线发送至PEPS,PEPS收到CAN报文后, 将收到的4bytes随机数,以及自身EEPROM中存储的4bytes PIN码,使用16bytes的SK通过SM4加密之后,发现前4bytes与CAN报文的后4bytes一致,则表明第一次认证成功,PEPS再生成随机数0X55667788,按照SM4算法加密明文,同理密文的前4bytes 0X42B14E78以及随机数0X55667788发送到EMS端,EMS收到数据后同理加密,确认密文的前4bytes与PEPS发送的CAN报文后4bytes比对一致,也表明认证成功,验证数据如表3所示.

  • 图9 PEPS和EMS接发时间戳

  • Fig.9 PEPS and EMS receiving and sending time stamps

  • 表2 加解密时间

  • Table2 Encryption and decryption timetable

  • 6 结论

  • 本文基于国密算法SM4,设计了车载PEPS和EMS的CAN通信安全认证系统,其关键方法总结如下:

  • 1)分析128bits AES算法在车载PEPS和EMS的CAN通信加密原理.由于AES密钥生成和密钥调度算法较SM4复杂,加解密时间较长,加解密代码量大,因此,将国密SM4算法应用于PEPS和EMS的安全认证,缩短加解密时间,有效提高数传效率.

  • 2)搭建PEPS和EMS通信测试平台,采用32位108MHz GD32F103作为PEPS的核心处理器,接口电路包括GPIO、AD、CAN、SPI等,基于KEIL集成开发环境设计PEPS的主程序、随机数生成、SM4加解密、CAN、SPI等函数.

  • 3)将SM4算法移植到MCU GD32F103,比较128bits AES算法和SM4算法的运行效率,通过Saleae Logic8逻辑分析仪测试SM4的加解密时间远低于128bits AES算法,且代码量小,并基于Kavase CANKing平台验证PEPS和EMS的节点合法性、数据正确性等指标,为ICV安全认证方案提供研究基础.

  • 4)对PEPS和EMS通信的CAN明文进行加密处理,有效防止重放攻击、网络入侵等汽车安全问题.

  • 表3 PEPS身份合法性和数据正确性验证

  • Table3 Verification of PEPS identity legitimacy and data correctness

  • 参考文献

    • [1] 朱立民,李仁发.一种基于AES-CCM算法的安全车载CAN网络协议[J].汽车技术,2018(8):54-59;ZHU Limin,LI Renfa.A secure in-vehicle CAN network protocol based on AES-CCM algorithm[J].Automobile Technology,2018(8):54-59

    • [2] 罗峰,胡强,刘宇.基于CAN-FD总线的车载网络安全通信[J].同济大学学报(自然科学版),2019,47(3):386-391LUO Feng,HU Qiang,LIU Yu.Secure communication method for in-vehicle network based on CAN-FD bus[J].Journal of Tongji University(Natural Science),2019,47(3):386-391

    • [3] Woo S,Jo H J,Lee D H.A practical wireless attack on the connected car and security protocol for in-vehicle CAN[J].IEEE Transactions on Intelligent Transportation Systems,2015,16(2):993-1006

    • [4] Groza B,Murvay S.Efficient protocols for secure broadcast in controller area networks[J].IEEE Transactions on Industrial Informatics,2013,9(4):2034-2042

    • [5] Schweppe H,Roudier Y.Securty and privacy for in-vehicle networks [C]//IEEE 1st International Workshop on Vehicular Communications,Sensing,and Computing(VCSC),2012:12-17

    • [6] 孙瑶,王小妮,刘鹏,等.车载CAN总线认证与加密机制研究[J].北京信息科技大学学报(自然科学版),2019,34(3):73-78;SUN Yao,WANG Xiaoni,LIU Peng,et al.Research on vehicle CAN bus authentication and encryption mechanism[J].Journal of Beijing Information Science & Technology University,2019,34(3):73-78

    • [7] 冯凯,李巍,龚洁中.车联网中密码算法应用现状分析[J].中国信息安全,2019(9):97-99;FENG Kai,LI Wei,GONG Jiezhong.Analysis of the current situation of the application of cryptographic algorithms in the internet of vehicles [J].China Information Security,2019(9):97-99

    • [8] 陈刚.国密SM4算法在车载CAN总线的加密应用[J].信息通信,2019,32(3):149-151;CHEN Gang.The encryption application of national secret SM4 algorithm in vehicle CAN bus [J].Information & Communications,2019,32(3):149-151

    • [9] 修佳鹏,田超宇,杨正球,等.SecOC安全机制中国密算法应用方案研究[J].信息安全研究,2020,6(9):775-782;XIU Jiapeng,TIAN Chaoyu,YANG Zhengqiu,et al.Research on application scheme of national secret algorithm in SecOC security mechanism[J].Journal of Information Security Research,2020,6(9):775-782

    • [10] 国家密码管理局.GB/T 0002—2012 SM4分组密码算法[S].2012;State Cryptography Administration.GB/T 0002—2012 SM4 block cipher algorithm [S].2012

    • [11] 罗禹.基于加密算法的车载CAN总线安全通信研究[D].长沙:湖南师范大学,2020;LUO Yu.Research on secure communication of vehicle CAN bus based on encryption algorithm[D].Changsha:Hunan Normal University,2020

    • [12] 张悠熠,朱元,毛威.车载CAN总线安全验证机制及性能检测[J].信息通信,2018,31(8):15-17;ZHANG Youyi,ZHU Yuan,MAO Wei.Safety verification mechanism and performance test of vehicle CAN bus [J].Information & Communications,2018,31(8):15-17

    • [13] 郭志刚,潘俊家,韩光省,等.基于车载CAN总线的安全通信机制研究[J].中国汽车,2020,30(7):46-50,57;GUO Zhigang,PAN Junjia,HAN Guangsheng,et al.Security onboard communication for in-vehicle bus on CAN bus[J].China Auto,2020,30(7):46-50,57

  • 参考文献

    • [1] 朱立民,李仁发.一种基于AES-CCM算法的安全车载CAN网络协议[J].汽车技术,2018(8):54-59;ZHU Limin,LI Renfa.A secure in-vehicle CAN network protocol based on AES-CCM algorithm[J].Automobile Technology,2018(8):54-59

    • [2] 罗峰,胡强,刘宇.基于CAN-FD总线的车载网络安全通信[J].同济大学学报(自然科学版),2019,47(3):386-391LUO Feng,HU Qiang,LIU Yu.Secure communication method for in-vehicle network based on CAN-FD bus[J].Journal of Tongji University(Natural Science),2019,47(3):386-391

    • [3] Woo S,Jo H J,Lee D H.A practical wireless attack on the connected car and security protocol for in-vehicle CAN[J].IEEE Transactions on Intelligent Transportation Systems,2015,16(2):993-1006

    • [4] Groza B,Murvay S.Efficient protocols for secure broadcast in controller area networks[J].IEEE Transactions on Industrial Informatics,2013,9(4):2034-2042

    • [5] Schweppe H,Roudier Y.Securty and privacy for in-vehicle networks [C]//IEEE 1st International Workshop on Vehicular Communications,Sensing,and Computing(VCSC),2012:12-17

    • [6] 孙瑶,王小妮,刘鹏,等.车载CAN总线认证与加密机制研究[J].北京信息科技大学学报(自然科学版),2019,34(3):73-78;SUN Yao,WANG Xiaoni,LIU Peng,et al.Research on vehicle CAN bus authentication and encryption mechanism[J].Journal of Beijing Information Science & Technology University,2019,34(3):73-78

    • [7] 冯凯,李巍,龚洁中.车联网中密码算法应用现状分析[J].中国信息安全,2019(9):97-99;FENG Kai,LI Wei,GONG Jiezhong.Analysis of the current situation of the application of cryptographic algorithms in the internet of vehicles [J].China Information Security,2019(9):97-99

    • [8] 陈刚.国密SM4算法在车载CAN总线的加密应用[J].信息通信,2019,32(3):149-151;CHEN Gang.The encryption application of national secret SM4 algorithm in vehicle CAN bus [J].Information & Communications,2019,32(3):149-151

    • [9] 修佳鹏,田超宇,杨正球,等.SecOC安全机制中国密算法应用方案研究[J].信息安全研究,2020,6(9):775-782;XIU Jiapeng,TIAN Chaoyu,YANG Zhengqiu,et al.Research on application scheme of national secret algorithm in SecOC security mechanism[J].Journal of Information Security Research,2020,6(9):775-782

    • [10] 国家密码管理局.GB/T 0002—2012 SM4分组密码算法[S].2012;State Cryptography Administration.GB/T 0002—2012 SM4 block cipher algorithm [S].2012

    • [11] 罗禹.基于加密算法的车载CAN总线安全通信研究[D].长沙:湖南师范大学,2020;LUO Yu.Research on secure communication of vehicle CAN bus based on encryption algorithm[D].Changsha:Hunan Normal University,2020

    • [12] 张悠熠,朱元,毛威.车载CAN总线安全验证机制及性能检测[J].信息通信,2018,31(8):15-17;ZHANG Youyi,ZHU Yuan,MAO Wei.Safety verification mechanism and performance test of vehicle CAN bus [J].Information & Communications,2018,31(8):15-17

    • [13] 郭志刚,潘俊家,韩光省,等.基于车载CAN总线的安全通信机制研究[J].中国汽车,2020,30(7):46-50,57;GUO Zhigang,PAN Junjia,HAN Guangsheng,et al.Security onboard communication for in-vehicle bus on CAN bus[J].China Auto,2020,30(7):46-50,57

  • 地址:江苏省南京市宁六路219号    邮编:210044

    联系电话:025-58731025    E-mail:nxdxb@nuist.edu.cn

    南京信息工程大学学报 ® 2024 版权所有  技术支持:北京勤云科技发展有限公司