扫描二维码
随时随地手机看文章
引言
车联网是指通过射频识别(RFID)、环境感应器、全球定位系统、毫米波雷达等信息传感设备,按照约定的协议,把任何车辆与互联网连接起来,进行信息交换和通信,以实现车辆智能化识别、定位、跟踪、监控和管理的一种网络。
车辆的注册登记及牌照管理一直以来都是交通管理部门的管理重点,也是难点所在,黑车、套牌车、肇事车逃逸、车牌防伪等问题始终没有得到根本解决。采用RFID技术实现电子车牌管理是有效解决这一问题的方法之一,可规范车辆管理,加强对车辆的监查力度,实现车辆年检的智能化管理,强化对非法车辆的打击效果。
1电子车牌系统架构
采用电子车牌技术,就需要保证该项技术的安全可靠,解决电子标签防拆、标签内容防篡改、防非法读取、防伪造等一系列的安全问题。整个电子车牌系统涉及感知层(采集层)、网络层、应用层管理网络层和应用层的安全方案在互联网中已经有大量的理论和实际应用,本文只是针对电子车牌感知层提出的一种安全方案。其电子车牌管理系统的架构图如图1所示。
电子车牌的感知层基本分为读写器和标签两部分构成;其中,标签粘贴在车辆前挡风玻璃内侧,读写器安装在路边架子上(手持式读写器拿在人的手上)。由读写器主动发起读写清点密码访问等操作,标签被动响应读写器操作,作出应答。标签的工作电源由读写器发射的电磁波提供,返回的信号通过反向散射调制在读写器发送的载波信号上,由读写器来解调。具体工作原理如图2所示。
图2电子车牌感知层工作原理框图
但由于目前无源超高频电子标签射频识别系统的读写器和标签采用通用的协议和标准,遵循相同的标准读写器可以访问遵循相同标准的标签。同时无源超高频电子标签供电由读写器在远距离发射超高频电磁波实现,供电功率低,不能在标签上应用复杂的认证流程和算法,因此标签上的数据无法屏蔽合法系统外的读写器的读取。
在电子车牌管理系统中,电子号牌的ID标识是车辆的唯一识别码,因此,在整个应用系统中,需要保证车辆电子号牌ID的唯一性,实现同车辆的一一对应,并且不可以被伪造、篡改。安全问题是车辆管理系统中至关重要的问题,车牌是机动车辆最明显的标识,现实中人们都是通过号牌识别违章车辆、肇事车辆,因此系统必须保证标签中的号牌数据不能被随意读取、篡改甚至伪造。因此系统要求能高效的识别有效标签,并能实现电子车牌的防读,防篡改,防伪造。本文提供了一种电子车牌感知层的安全方案。
2电子车牌ID唯一性的实现
在国际标准ISO18000-6C标准中,TID是有厂商保证的只读性的唯一标识,也就是标签的物理唯一标识,其组成为多为厂商标识和标签序列号组成(序列号在同一厂商内可具有唯一性),而EPC码则是标签所代表的物品唯一标识,由标准组织授权发放,可作为标签逻辑上的唯一标识。在协议中EPC码是可被改写的,因而,只用其做唯一标识,存在被篡改隐患,而使用TID做唯一标识又存在效率上问题,故而采用EPC+TID(最后一个字)作为标签唯一性的标识,在“一个SAM对应一个密钥”方案进行使用。
2.1“一个SAM对应一个密钥”方案
读写器一端在出厂前内置了存储系统密钥的SAM安全模块。利用6C标签芯片的物理唯一性标识TID及逻辑唯一标识EPC码,和存储在SAM安全模块内的系统密钥和单向算法实现“一个SAM对应一个密钥”。由于“EPC+TID最后一个字+系统密钥”组成的长数组也具有唯一性,可以近似认为此数组通过单向散列函数生成的标签密码也具有唯一性。
由于单向函数的不可逆性,密码的安全性在于系统密钥的安全性。系统密钥只保存在SAM芯片中,不可读取或导出,只能通过输入“标签EPC+TID最后一个字”输出标签密码,这样就确保了系统密钥的安全。
6C标签的访问密码和杀死密码采用与标签数据加密密码相同的算法,不同的系统密钥,避免空口信号被侦听破解后数据加密密码的部分泄漏。
2.2标签有效,性验证
系统如何能高效的验证读到的标签是否为有效的标签是至关重要的问题。对于采用6C协议的电子车牌标签,系统提供有联机和脱机两种验证方案,以适应不同应用。
(1)联机方案
通过读取标签的EPC+TID(最后一个字),并在联机数据库上查询对应数据,来判断车牌是否有效。这种方式优点是空口数据量少,适合于要求快速交易,并且有联机工作条件的应用场所。
(2)脱机方案
读取EPC+TID(最后一个字),并由EPC+TID(最后一个字)+系统密钥(存放于SAM安全模块中)单向散列(MD5)计算出标签密码。解密用户区或EPC区读出的验证数据。得到验证数据的明文,例如为所缴年费的有效期,根据此明文内容判断标签是否有效。这种方案适用于无法实现联机工作的应用场所。
2.3标签防读
有两种手段可以有效地防止用户区的数据被未授权读写器读取。
第一是采用读保护技术。即在标签的用户区设置读保护功能,保证访问标签的空口命令必须写到正确的标签密钥,否则无法读取用户区数据。
第二是数据加密技术。防读需求通过在电子标签上存贮密文来避免标签内的有效数据被读取。标签中不以明文存储,避免非法用户通过未授权读写器直接获取标签内的有效数据。加密算法和密钥保存在SAM安全模块中,通过输入EPC+TID(最后一个字)和明文输出密文,或输入EPC+TID(最后一个字)和密文输出明文。
2.4标签防篡改
对于TID区,标签的唯一性标识TID是芯片厂家出厂前写入,不能改写的。而对于用户区和EPC区,电子车牌数据中的EPC+TID(最后一个字)生成标签的访问密码,需要知道访问密码才能更改标签数据。
此外,也可以通过设置相应区域的锁定状态,保护数据不被改写。如在设置访问密码之后,设置密码区为永久锁定,不可读写。用户区和EPC区,可根据数据类型,将不可变更数据如车牌号、车辆识别号等设为永久锁定,需要变更的其它数据块设为不永久锁定。处于永久锁定状态的区域不可改写,处于锁定状态的区域需通过密码访问才可改写。
2.5标签防伪造
与防篡改类似,对于TID区,标签的唯一性标识TID是芯片厂家出厂前写入,不能改写。因此如果不与芯片厂家合作,很难伪造一张TID区为指定内容的标签。
用户区和EPC区中写入的内容为密文,其密码与TID近似于映射关系。即使在知道明文,加密算法和TID的情况下,由于不知道系统密钥,不能得出该TID对应的数据密码,因此也无法写入能通过有效性验证的密文。
2.6标签防拆卸
通常情况下,电子标签安装在汽车前玻璃上:此时,电子标签采用陶瓷基板,其性能跟玻璃类似,当车辆前挡风玻璃破碎时,电子标签自动损坏、不可用。同时,标签设计时,内置暗纹格等方法进行防拆卸设计,当有人试图将标签从车玻璃上拆下时,标签暗纹格会自动破损失效,这样可以防止人为非法将标签拆下来安装到其它车辆上使用。
在极少数特殊情况下,由于汽车玻璃上带有很强的金属膜,无线信号不易穿过。此种情况下有两种处理方法:一种方法是将汽车玻璃膜进行割膜操作,然后将标签贴在玻璃内侧(同样是防拆标签)。另一种方法是将电子标签安装在车辆实际物理车牌的位置,需要采用抗金属标签设计,同时将标签设计为和物理车牌一体化、无法单独拆卸标签;
2.7标签发卡流程
发卡过程中需要使用内置有同样SAM安全模块的专用发卡器,发卡的工作流程如下:
首先判断卡片是否正常有效,没有设置访问密钥,可以正常读写;
去读标签TID区的唯一标识,用于标签密钥的生成和数据的加密;
写入规划好的EPC区的数据,可以用于车辆的分组、分类等;
写入规划好的USER区数据,包括车辆的电子档案信息、缴费标志信息等:
采用单向散列生成标签的访问密钥,写入标签的密码区;
设置各个区域的读写权限,将密码区永久锁定,保证访问密钥不能被读写,其他区域根据具体的应用需求设置可逆锁定还是永久锁定。
3读写器设备启动流程
在读写器设备启动时,先进行SAM和CPU的双向认证,以防止设备或SAM被替换。双向认证的流程如下:
CPU产生一个随机数RN1,用加密密钥进行3DES加密,并将结果发生给SAM安全模块;
SAM对接收到的数据进行解密,得到RN1,并生成随机数RN2,追加在RN1后,进行3DES加密,将结果再发送给CPU;
CPU将其解密,获取RN2,再将RN2用3DES加密,发送给SAM;
SAM安全模块解密后,确保CPU重新发送来的RN2与自己生成的一致,则认证通过。
其后,进行获取系统主密钥的流程如下:
SAM安全模块在RN2后追加系统密钥,并用3DES进行加密,将加密结果发送给CPU。
CPU解密后,获取系统密钥,并进行缓存,以便后续安全操作时使用。
4车辆通行流程
车辆通行的过程中采用内置了SAM安全模块的专用读写器采集电子标签的信息,来判定车辆是否合法有效,是否可以通行,具体流程如下:
清点EPC码;
读取车辆的TID的最后一个字;
在联机模式下,根据EPC+TID(最后一个字)直接
查询后端数据库,判断车辆是否合法有效;
在脱机模式下使用EPC+TID(最后一个字)和SAM安全模块存储的系统密钥共同生成标签访问密钥,来读取标签的用户区数据,判断车辆是否合法有效;
对于合法有效车辆可以正常通行,否则进行相应的处理。
5加密算法
SAM安全模块采用内部密钥管理机制,加密解密过程通过加密算法运算动态进行,在实际应用中很难被破译和攻击;在读写器内安装SAM安全模块后,密钥和加密运算都封装在SAM安全模块内部,与读写器的运算处理单元无关。这样能实现系统的安全性只和发卡商或者运营商有关,而与设备提供商无关。
SAM安全模块信息传输方式和外形尺寸采用ISO7816-3国际标准,接口兼容性好,更换方便。
5.1数据加密算法
标签的访问密码和杀死密码生成
采用MD5算法生成。输入数据串为TID+系统密钥KM1。
输出为128位MD5数字摘要。由128位的数字摘要生成访问和杀死密码。代码如下:
ACCESSCODE=MD5(127..96)MD5(95..64)
KILLCODE=MD5(63..32)MD5(31..0)
(2)数据加密密码生成
数据加密密码采用MD5算法生成。输入数据串为TID+系统密钥KM2.
输出为128位,MD5数字摘要作为数据加密密码,代码为:
K=MD5(1270)
MD5算法
MD5算法遵循RFC—1321文档。
近年来,虽然MD5算法的安全性受到了巨大的挑战。但对于MD5的破解限于碰撞方面,算法的仍然是不可逆。这里采用MD5算法生成的数据是为了保护系统根密钥KM。在已知明文和ACCESSCODE和KILLCODE的情况下,不可能计算出系统根密钥KM。
3DES算法:
3DES算法遵循ANSIX9.52标准,加密模式采用ECB模式。图3所示是3DES算法的加密过程。图4所示是3DES算法的解密过程。
读取数据时,可仅读取车牌号或电子信息码。
3DES算法是指使用双长度(16字节)密钥K=(KL||KR)将8字节明文数据块加密成密文数据块,代码如下:
寄存器组初始化为全1(0xFFFF)。
5.2加密算法的安全性分析
对于MD5算法,找到两个具有相同MD5值的数据需要执行264次运算;而寻找具有给定MD5值的数据,要执行2128次运算。本方案中主要关心第二种情况,如果采用穷举法攻击,设每秒能穷举1万亿条密钥(最快计算机运算速度为12万亿次/秒),需要10~21年,
既使按照摩尔定理,计算机的运行速度每18个月提高1倍来计算,也需要103年。对于3DES算法,若三个密钥互不相同,本质上就相当于用一个长为168位的密钥进行加密。本方案中,密钥的有效长度为112位,密码空间为2112约5×1033,如果采用穷举法攻击,设每秒能穷举1万亿条密钥(最快计算机运算速度为12万亿次/秒),需要10~17年,即使按照摩尔定理,计算机的运行速度每18个月提高1倍来计算,也需要84年。
6结语
综上所述,采用上述一整套的安全方案完全可以保证电子车牌感知层系统的安全性,实现标签数据的读保护、防伪造、防篡改、防拆卸等功能,保障电子车牌技术的安全可靠。并且,该安全方案在国家发改委和信息产业部的电子车牌试点项目中得到了实际应用验证,完全可以保证该方案在全国大范围内的推广应用。
20211124_619e4e370ea11__一种物联网电子车牌安全方案