胡祥义 徐冠宁 杜丽萍
北京市科技情报研究所网络密码认证北京市重点实验室 北京 100044
在物联网认证中心端由认证服务器和加密卡硬件设备组成,在认证服务器的PCI接口上插入加密卡,物联网数据中心与物联网认证中心连接,物联网数据中心与物联网认证中心之间的数据是双向传输,在加密卡的芯片里,建立物联网认证中心端的加密系统,即写入轻量级密码算法、摘要算法。物联网认证中心端的安全协议包括:物联网认证中心端的传感设备认证协议、解密和签名验证协议,且写入数据:一组存储密钥。在物联网认证中心端的传输密钥数据库里,写入数据:对应全体传感设备端智能芯片的标识、传感设备的标识和传输密钥SKi(i=1~n,n为传感设备数量的总和)的密文。
采用安全单钥管理技术来建立物联网感知层的设备认证协议、数字签名和加/解密协议。
设:认证或签名密钥为 CK,在传感设备端的传感设备认证协议、或签名和加密协议运行过程时,由传感设备端智能卡芯片里的随机数发生器实时产生一组NN比特(NN=密钥的长度)的随机数,用该组随机数作为认证或签名密钥CK,当CK作为认证密钥时,用CK来加密另一组随机数S产生认证口令,当CK作为签名密钥时,用CK对传感设备端的传感信息进行签名和加密。同时,将CK还作为RFID内基本信息的签名密钥。
设:传输密钥为SKi(i=1~n,n为对应认证中心端全体传感设备总和),在密钥初始化过程中,由认证中心端加密卡芯片里的随机数发生器,生成一组NN比特(NN=密钥的长度)的随机数,将该组随机数作为一组传输密钥SKi(i=1~n),分别输入到对应的各个传感设备端智能卡芯片里,同时,在认证中心端加密卡的芯片里,使用一组存储密钥,将全体对应传感设备端的每组传输密钥 SKi(i=1~n)分别加密生成密文即:SKi’(i=1~n)后输出加密卡芯片,并将传输密钥SKi(i=1~n)以密文即:SK1’、SK2’SKn’的形式,分别与对应传输密钥SKi(i=1~n)的传感设备端智能卡芯片的标识、及其传感设备的标识,一起存储在认证中心端认证服务器的传输密钥数据库中。
设:存储密钥为K,在密钥初始化过程中,存储密钥事先由认证中心端加密卡芯片里的随机数发生器,产生一组NN比特(NN=密钥的长度)的随机数,将该组随机数作为一组存储密钥K,并存储在加密卡芯片里,存储密钥K是一组固定的单钥,用存储密钥K分别将全体对应传感设备端的传输密钥 SKi(i=1~n)加密成密文即: SK1’、SK2’、……、SKn’(i=1~n)后,存储在认证中心端的传输密钥数据库中。且用存储密钥 K 分别将加密各个 RFID内传感信息的签名密钥CK,加密成密文即:CK’后,存储在认证中心端的签名密钥数据库中。
当传感设备端和认证中心端进行认证或签名密钥CK交换时,在认证中心端加密卡芯片里,使用存储密钥K将认证中心端对应加密CK的传输密钥的密文SKi’(i=1~n)解密成明文,再用解密后的传输密钥SKi(i=1~n),将收到传感设备端发送来的认证或签名密钥的密文CK’解密成明文即:CK。
若对 RFID内传感信息的密文进行解密和签名验证时,在认证中心端加密卡芯片里,使用存储密钥K将认证中心端对应RFID签名密钥的密文即:CK’解密成明文即:CK,再使用CK对RFID内传感信息的密文进行解密和签名验证。
(1)传感设备端的传感设备认证协议
传感设备端的传感设备认证协议,由传感设备产生另一组随机数,设:该组随机数为S,将随机数S输入传感设备端智能卡芯片里,智能卡芯片里的随机数发生器,产生一组NN比特(NN=密钥的长度)的随机数,将该随机数作为认证密钥CK,用CK来加密随机数S,得到随机数S的密文即:认证口令 1,之后,在传感设备端智能卡芯片里,用传输密钥SKi(i=1~n)将认证密钥CK加密成密文即:CK’,最后,将传感设备端智能卡芯片的标识、传感设备的标识、随机数S、认证口令1和认证密钥的密文CK’这5组认证数据,一并发送给认证中心端。
(2)物联网认证中心端的传感设备认证协议
物联网认证中心端的传感设备认证协议,当认证中心端收到传感设备端发送来的认证数据后,认证中心端根据传感设备端智能卡芯片的标识,在传输密钥数据库中定位对应该标识的记录,再将记录中的传输密钥的密文即:SKi’(i=1~n),输入认证中心端的加密卡芯片中,并在加密卡芯片里,使用存储密钥K将 SKi’(i=1~n)解密成明文即:SKi(i=1~n),用SKi(i=1~n)将接收到的认证密钥的密文CK’解密成明文,即:CK,用CK加密随机数S生成认证口令2,通过对比认证口令1和认证口令2是否相同?来判别传感设备是否可信。
(1)传感信息的签名和加密协议
在传感设备端,将传感设备采集的传感信息输入传感设备端智能卡芯片中,在传感设备端智能卡芯片里,使用摘要算法对传感信息进行“摘要”得到传感信息的“摘要”信息L1,由传感设备端智能卡芯片里的随机数发生器,产生一组NN比特(NN=密钥的长度)的随机数,将该随机数作为签名密钥CK,来加密传感信息和“摘要”信息L1,得到传感信息的密文和 L1的密文即:数字签名,之后,用传感设备端智能卡芯片里的传输密钥,将签名密钥 CK加密成密文即:CK’,最后,将传感设备端智能卡芯片的标识、传感设备的标识、传感信息的密文、传感信息的数字签名和签名密钥的密文CK’这5组签名数据,一并发送给认证中心端。
(2)物联网认证中心端的传感信息解密和签名验证协议
当物联网认证中心端收到传感设备端发送来的5组签名数据后,首先,根据传感设备端智能卡芯片的标识,在传输密钥数据库中定位对应该标识的记录,再将记录中的传输密钥的密文即:SKi’(i=1~n)输入认证中心端的加密卡芯片中,并在加密卡芯片里,使用存储密钥K将 SKi’(i=1~n)解密成明文即:SKi(i=1~n),用SKi(i=1~n)将接收到的签名密钥的密文CK’解密成明文即:CK,用CK解密传感信息的密文和传感信息的数字签名,得到传感信息的明文和传感信息的“摘要”信息L1,再用摘要算法对传感信息进行“摘要”,得到传感信息的“摘要”信息L2,通过对比L1和L2是否相同?来确认从传感设备端传输来的传感信息是否可信、完整。
(3)RFID的签名和加密协议
RFID是一种电子标签,内无CPU芯片,也无工作电源,RFID中的数据为事先写入,并由 RFID读卡器进行读取。RFID内主要存放的数据为:RFID的标识B1、对应物品的基本信息LL(如:一袋奶粉的重要信息:生产工厂、生产时间、奶粉的成分配料等)。
RFID的签名和加密协议,事先由物联网认证中心端加密卡芯片里的随机数发生器,产生一组NN比特(NN=密钥的长度)的随机数,将该随机数作为RFID的签名密钥CKK,来加密B1和LL,同时,加密B1和LL的“摘要”信息Q1,得到Q1的密文即:数字签名,用物联网认证中心端的存储密钥K,将RFID的签名密钥CKK加密成密文即:CKK’,并将CKK’与对应RFID的标识B1一起存放在物联网认证中心的签名密钥数据库中,最后,将 RFID的标识 B1、B1和LL的密文、Q1的密文和CKK’个4组数据写入RFID内。
RFID内存放的数据有四组:① RFID的标识B1、②B1和LL的密文,③B1和LL的“摘要”信息Q1的密文即:数字签名,④签名密钥CKK的密文即:CKK’,将这4组数据设为:RFID的传感信息CL,事先将CL写入RFID中。
RFID读卡器端传感信息的签名和加密协议,与其它传感设备端传感信息的签名和加密协议相同。只是RFID读卡器读取的RFID传感信息CL,是事先写入RFID里的固定信息。
(4)物联网认证中心端的 RFID传感信息解密和签名验证协议
当认证中心端收到RFID读卡器发送来的5组签名数据后,首先,根据RFID读卡器智能卡芯片的标识,在传输密钥数据库中定位对应该标识的记录,再将记录中的传输密钥的密文即:SKi’(i=1~n)输入认证中心端的加密卡芯片中,并在加密卡芯片里,使用存储密钥K将 SKi’(i=1~n)解密成明文即:SKi(i=1~n),用SKi(i=1~n)将接收到的签名密钥的密文CK’解密成明文,即:CK,用CK解密传感信息的密文和传感信息的数字签名,得到传感信息的明文(即:CL)和传感信息的“摘要”信息L1,再用摘要算法对CL进行“摘要”,得到CL的“摘要”信息L2,通过对比L1和L2是否相同?来确认RFID读卡器端传输来的RFID传感信息CL是否可信、完整,若L1≠L2,则RFID传感信息CL不可信,不完整。
若L1=L2,RFID读卡器端传输来的CL可信、完整,则在物联网认证中心端,再根据CL中RFID的标识B1,在物联网认证中心的签名密钥数据库中定位,取出对应 RFID的签名密钥的密文即:CKK’,并输入加密卡芯片里,用存储密钥K将CKK’解密成明文即:CKK,用CKK将RFID基本信息LL的密文,以及B1和LL的数字签名解密,得到LL的明文,同时,得到B1和LL的“摘要”信息Q1,再用摘要算法对B1和LL进行“摘要”,得到“摘要”信息Q2,通过对比Q1和Q2是否相同?来确认RFID内的标识B1和RFID的基本信息LL是否完整,未被篡改。
(1)本安全协议都是在传感设备端和物联网认证中心端两端的芯片硬件里完成,是一种“芯片级”的安全协议,且密码算法、密钥和安全协议软件和数据都存放在两端的芯片硬件里,从而,提高了物联网感知层加密系统和安全协议的安全等级。
(2)在智能芯片里,由于单钥密码算法加、解密速度比双钥密码算法快 1000倍,采用安全单钥管理技术,解决了单钥密码算法在传感设备认证、或签名和加密协议中密钥更新管理的难题,降低了单钥更新维护的成本,同时,发挥了单钥密码算法加、解密速度快的优势,有效提高物联网感知层安全协议的运行效率。
(3)由于物联网传感设备数量较大,是互联网用户量的32倍,在物联网认证中心端,用存储密钥分别来加密各个传感设备端的传输密钥,或各个RFID的签名密钥(用于对RFID内基本信息LL进行签名的签名密钥CKK),保证存放在物联网认证中心端全体对应传感设备端传输密钥的存储安全,保证存放在物联网认证中心端全体对应RFID的签名密钥的存储安全,不需要购置大量的加密卡设备来存储大量的传输密钥和RFID的签名密钥,能大大节约认证中心的建设成本。同时,对应传感设备端传输密钥或RFID的签名密钥,都仅占16字节(根据密钥长度而定)左右存储空间,单一物联网认证中心能管理海量(3亿以上)传感设备。
(4)安全单钥管理技术保证三种密钥的安全使用
① 认证或签名密钥的明文不出传感设备端智能卡芯片硬件。在传感设备端智能卡芯片里,用传输密钥SKi(i=1~n)来加密认证或签名密钥 CK,生成认证或签名密钥密文即:CK’,并将 CK’发送给认证中心端,保证认证/签名密钥传输交换安全。
认证或签名密钥在传感设备端智能卡芯片里随机数发生器产生,具有随机性,一次一变,属于一组的乱码,用传输密钥将每次产生的认证或签名密钥,分别加密后生成的密文也具有随机性,一次一变,也都属于一组乱码,无规律性。破译者无法将 CKj(j=1~M,M 为自然数)作为破译条件——“重复报”(使用相同的单钥将多份不同的明文报文加密成密文报文),来破译认证或签名密钥CKj(j=1~M,M为自然数),或破译传输密钥SKi(i=1~n)。
② 每个传感设备端对应的传输密钥 SKi(i=1~n)都存储在传感设备端智能卡芯片里。在认证中心端,全体传感设备端对应的传输密钥SKi(i=1~n),是以密文形式存放在认证中心的传输密钥数据库中,保证全体传感设备端对应的传输密钥在认证中心端的存储安全。全体对应RFID的签名密钥,是以密文形式存放在认证中心的签名密钥数据库中,保证全体对应RFID的签名密钥在认证中心端的存储安全。
③ 存储密钥K在加密卡的芯片里产生,并存储在加密卡芯片,保证存储密钥K的存储和运行安全。
每组传输密钥SKi(i=1~n)是在密钥初始化时,由随机数发生器产生,都具有随机性,且都属于一组乱码,用存储密钥 K分别来加密每一组传输密钥 SKi(i=1~n)生成的传输密钥密文SKi’(i=1~n),也具有随机性,一次一变,也都属于一组乱码。破译者无法将SKi’(i=1~n),作为破译条件——“重复报”来破译传输密钥:SKi(i=1~n),或者来破译存储密钥K。
④ 在感知层传输的RFID的基本信息LL,被进行两次签名和加密,第一次是将基本信息 LL签名和加密后,生成的传感信息CL并写入RFID里,防止RFIDli的数据外泄,被篡改或被克隆。当RFID内的传感信息CL被RFID读卡器读出后,再被RFID读卡器里的智能卡芯片的签名和加密协议,签名并加密成密文后传输给物联网认证中心,在加密卡芯片里,对RFID的密文数据进行两次解密和签名验证,从而,防止RFID读卡器读取的传感信息被篡改。
本方案通过对智能芯片的性能进行分析,提出在物联网传感设备上嵌入的智能芯片里,只能采用轻量级加密技术来建立物联网感知层的安全协议,并采用安全单钥管理技术来解决轻量级密码的密钥更新难题,实现在物联网传感设备端的智能芯片里,建立传感设备端传感设备认证协议、签名和加密协议,在物联网认证中心端加密卡芯片里,建立认证中心端的传感设备认证协议、解密和签名验证协议,保证物联网感知层的传感设备可信、真实,未被替换。保证传感信息可靠、完整、未被篡改和安全保密,从而,建立物联网感知层的信息安全系统,为我国“智慧城市”的建设保驾护航。
[1]胡祥义.一种物联网的设备认证、数据完整和保密传输实现方法.中国.201010517919X[P].2010.
[2]雷吉成.物联网安全技术[M].北京:电子工业出版社.2012.
[3]李微.浅析物联网安全[J].信息与电脑.2001.
[4]陈庚,许建.物联网安全特征与关键技术[J].南京邮电大学学报.2010.
[5]孙建华,陈昌祥.物联网安全初探[J].通信技术.2012.
[6]臧劲松.物联网安全性能分析[J].计算机安全.2011.
[7]肖毅.物联网安全管理技术研究[J].通信技术.2011.
[8]张横云.物联网感知层的信息安全防护研究[J].电脑知识与技术.2011.
[9]孙梦梦,刘元安,刘凯明.物联网中的安全问题分析及其安全机制研究[J].保密科学技术.2011.