发明内容
本发明提供一种无线安全通信的方法及系统,用以保证智能交通系统,尤其是电子拥堵收费系统中进行无线通信的安全性,并提高数据处理效率,降低进行安全通信的复杂度。
本发明实施例提供的具体技术方案如下:
一种无线安全通信方法,包括:
车载装置和中央计算系统服务器中分别保存有预设的至少一个第一密钥及其标识信息;
所述车载装置在对所述中央计算系统服务器的数字证书验证通过后,基于随机数和预设的第一密钥生成第二密钥,并采用所述第二密钥对要传递的信息进行加密;
所述车载装置将生成所述第二密钥的第一密钥的标识信息、所述随机数和采用第二密钥加密后的信息发送至所述中央计算系统服务器。
一种无线安全通信系统,包括:车载装置;
所述车载装置,用于对中央计算系统服务器的数字证书验证通过后,基于随机数和预设的第一密钥生成第二密钥,并采用所述第二密钥对要传递的信息进行加密后,将生成所述第二密钥的第一密钥的标识信息、所述随机数和采用第二密钥加密后的信息发送至所述中央计算系统服务器;
所述车载装置和中央计算系统服务器中分别保存预设的至少一个第一密钥及其标识信息。
基于上述技术方案,本发明实施例中,车载装置和中央计算系统服务器中分别保存预设的至少一个第一密钥及其标识信息,车载装置对中央计算系统服务器的数字证书验证通过后,基于随机数和预设的第一密钥生成第二密钥,采用第二密钥对要传递的信息进行加密,并将生成第二密钥的第一密钥的标识信息、随机数和采用第二密钥加密后的信息发送至中央计算系统服务器,从而能够保证智能交通系统中进行无线通信的安全性,避免了直接发送密钥带来的安全隐患并提高数据处理效率,降低进行安全通信的复杂度,并且避免了建立SSL通信链路进行安全通信对无线通信系统造成的压力。
具体实施方式
为了保证智能交通系统中进行无线通信的安全性,并提高数据处理效率,降低进行安全通信的复杂度,本发明实施例提供了一种无线安全通信方法及系统。
下面结合附图对本发明优选的实施方式进行详细说明。
本发明实施例中,无线安全通信系统包括车载装置(OBU),该OBU用于对中央计算系统服务器(CCS服务器)的数字证书验证通过后,基于随机数和预设的第一密钥生成第二密钥,并采用第二密钥对要传递的信息进行加密后,将生成第二密钥的第一密钥的标识信息、随机数和采用第二密钥加密后的信息发送至CCS服务器,其中,OBU和CCS服务器中分别保存有预设的至少一个第一密钥及其标识信息。
进一步地,如附图1所示,无线安全通信系统中除包括OBU10外,还包括CCS服务器11,该CCS服务器11用于基于第一密钥的标识信息从本地获取第一密钥,并结合随机数生成第二密钥,采用第二密钥对接收到的加密后的信息进行解密。
基于上述系统,如附图2所示,本发明实施例中,OBU和CCS服务器之间进行无线安全通信的详细方法流程如下:
步骤201:OBU在对CCS服务器的数字证书验证通过后,基于随机数和预设的第一密钥生成第二密钥,并采用第二密钥对要传递的信息进行加密。
OBU和CCS服务器中分别保存有预设的至少一个第一密钥及其标识信息。
本发明实施例中,在OBU中可以保存多个密钥,每个密钥都有相应的标识信息(例如编号);在CCS服务器中保存与OBU中相同的多个密钥;且OBU中对每个密钥预设的标识信息,与CCS服务器中对每个密钥预设的标识信息相一致,即在OBU和CCS服务器中,相同的标识信息表示相同的密钥。
例如,在OBU和CCS服务器中分别保存相同的M*N维密钥矩阵,该密钥矩阵中的每个元素即为一个密钥,每个密钥的生成都可以是随机的,保证每两个密钥之间都具有不相关性。具体例如:在OBU和CCS服务器中分别保存相同的一个3*3密钥矩阵,可表示第i行第j个的密钥,即为第i行第j个密钥的标识信息。
在一种具体实施方式中,每套密钥都可以具有一定的生存使用期,其中一个M*N维密钥矩阵为一套密钥。当一套密钥在到达生存使用期之前,CCS服务器可以给OBU发送密钥更新的指令,在密钥更新成功后,OBU和CCS服务器中分别保存相同的另外一套新的M*N维密钥矩阵;其中,密钥更新的过程可以如下:
CCS服务器向OBU发送密钥更新的指令,该指令中可以包括一个M*N维随机数矩阵,该随机数矩阵中包括M*N个随机数,OBU接收到该指令后,将原密钥矩阵中每个密钥分别与随机数矩阵的相同位置的随机数进行分散,即与进行分散即可,然后得到更新后的密钥矩阵;其中表示随机数矩阵中第i行第j个元素。CCS服务器也根据原密钥矩阵和向OBU发送的随机数矩阵,得到更新后的密钥矩阵。
在另一种具体实施方式中,可以在OBU中预设多套密钥,每套密钥包含多个密钥,在CCS服务器中预设与OBU相同的多套密钥,在预定时间内,仅采用其中一套中的多个密钥,在超过预定时间后,将该套密钥销毁(如清除或禁用),再重新选择一套使用,这样可以更有效地保证无线通信的安全。
步骤202:OBU将生成第二密钥的第一密钥的标识信息、随机数和采用第二密钥加密后的信息发送至CCS服务器。
较佳地,随机数的长度等于第一密钥的长度,或者,随机数的长度为第一密钥长度的两倍。OBU使用多个第一密钥中的一个来生成第二密钥,所以需要将当前使用的第一密钥的标识信息发送给CCS服务器。
较佳地,如附图3所示为OBU和CCS服务器安全通信的过程示意图,首先由OBU和CCS服务器相互进行数字证书的验证,即OBU发送自身的数字证书至CCS服务器,CCS服务器对OBU的数字证书验证通过后,将自身的数字证书发送给OBU,OBU对CCS服务器的数字证书验证通过后,再基于随机数和预设的第一密钥生成第二密钥,并对传递的信息加密后发送给CCS服务器,CCS服务器接收并解密后,将解密结果信息反馈给OBU。
本发明实施例中,对数字证书进行验证,具体为:接收数字证书并提取公钥,采用该公钥对数字证书进行解密,获得数字证书的第一数字摘要,并对数字证书的正文部分进行哈希运算获得数字证书的第二数字摘要,比较第一数字摘要和第二数字摘要,若不匹配,则验证未通过,若相匹配,且确定数字证书在有效期内时,验证通过。
较佳地,OBU基于随机数和预设的第一密钥生成第二密钥,或者,CCS服务器获取第一密钥并结合随机数生成第二密钥时,OBU或CCS服务器采用随机数对第一密钥进行分散运算生成第二密钥。
本发明实施例中,采用随机数对第一密钥进行分散运算生成第二密钥的具体过程例如可以如下:基于随机数获取与第一密钥等长度的第一随机数,将第一密钥作为第一输入数据,采用第一随机数对第一输入数据进行加密运算,得到第二密钥的第一部分;将第一密钥求反后作为第二输入数据,采用第一随机数对第二输入数据进行加密运算,得到第二密钥的第二部分;连接第二密钥的第一部分和第二部分,得到第二密钥。
较佳地,采用第一随机数对第一输入数据或第二输入数据进行加密运算时,采用的加密标准至少为数据加密标准(DES)、高级加密标准(AES)或三重数据加密标准(3DES)中的任意一种。此处仅为举例,并不对本发明进行限制,实际应用中,若存在其他加密标准能够用于本实施例的,本发明也将其包括在内,例如加密标准还可以是与3DES类似的多重DES,还可以是国际数据加密算法(IDEA)等。具体采用哪种加密标准由车载装置和CCS服务器预先约定。
在加密标准为3DES时,采用随机数对第一密钥进行分散运算生成第二密钥的另一实现方式具体为:基于随机数获取与所述第一密钥等长度的第二随机数、第三随机数和第四随机数,将第一密钥作为第一输入数据,采用第二随机数对第一输入数据进行基于DES的加密运算,并采用第三随机数对采用第二随机数加密后第一输入数据进行基于DES的加密运算,以及采用第四随机数对采用第三随机数加密后第一输入数据进行基于DES的加密运算,得到第二密钥的第一部分;将第一密钥求反后作为第二输入数据,采用第二随机数对第二输入数据进行基于DES的加密运算,并采用第三随机数对采用第二随机数加密后第二输入数据进行基于DES的加密运算,以及采用第四随机数对采用第三随机数加密后第二输入数据进行基于DES的加密运算,得到第二密钥的第二部分,连接第二密钥的第一部分和第二部分,得到第二密钥。
实际应用中,第二随机数和第四随机数可以相同。
例如,第一密钥作为第一输入数据,其长度为64bit,随机数(Rand)的长度为128bit,将Rand从中间分成左右两部分,左半部分的64bit表示为LR,右半部分的64bit表示为RR,相应的进行分散运算生成的第二密钥K也由左右两部分组成,左半部份表示为LK,右半部分标识为RK,左、右两部分分别长64比特,K的总长度为128bit。如附图4所示为LK的计算过程示意图,第一输入数据为第一密钥,即将第一密钥作为种子,而将LR、RR作为密钥对第一密钥进行DES加密,且首先采用LR对第一输入数据进行第一重DES加密运算,继而采用RR继续进行第二重DES加密,最后再采用LR进行第三重DES加密运算,得到长度为64比特的LK;如附图5所示为RK的计算过程示意图,对第一密钥即第一输入数据进行求反运算后得到第二输入数据,经过上述同样的3DES加密运算过程,即首先采用LR对第二输入数据进行第一重DES加密运算,继而采用RR继续进行第二重DES加密,最后再采用LR进行第三重DES加密运算,得到长度为64比特的RK;再将LK和RK连接后得到第二密钥K,公式表示为K=LK‖RK,符号‖代表连接符。
本发明实施例中,采用所述第二密钥对要传递的信息进行加密时,首先采用OBU的私钥对要传递的信息的哈希运算值和时间戳进行签名,然后采用生成的第二密钥对签名后的信息和要传递的信息进行对称加密。其中,采用私钥进行签名可以保证信息传输过程中的完整性,加入时间戳可以有效防止重放攻击。
其中,采用生成的第二密钥对签名后的信息和传递的信息进行对称加密时,采用的对称加密算法至少可以是DES、AES、IDEA中的任意一种,实际应用中,可以根据第二密钥的长度进行选择,且OBU和CCS服务器需要预先约定,即OBU和CCS服务器采用相应的对称加密算法。此处仅为举例,并不对本发明进行限制,实际应用中,若存在其他对称加密算法能够用于本实施例的,本发明也将其包括在内。
例如,OBU在对CCS服务器的数字证书验证通过后,发送表达式 至CCS服务器,其中,表示标识信息(版本号),即要用第i行中的第j个密钥作为第一密钥,Rand表示生成的随机数,P代表要传递的信息,Hash(P)表示对P做哈希运算,表示采用OBU的数字证书中的私钥对Hash(P)和时间戳连接后的数据进行签名,Stamptime代表时间戳,符号‖代表连接符,EncK表示采用第二密钥K进行加密,第二密钥K是由第一密钥与随机数Rand进行分散运算得到,且Enc采取的加密方式为对称加密。
本实施例中,CCS服务器在接收OBU发送的第一密钥的标识信息、随机数和采用第二密钥加密后的信息后,CCS服务器基于第一密钥的标识信息从本地获取第一密钥,并结合随机数生成第二密钥,采用第二密钥对接收到的加密后的信息进行解密。
较佳地,CCS服务器在解密后,向OBU反馈解密结果信息。
例如,CCS服务器在接收到OBU发送的信息后,即表达式表示为 根据选择从本地选择对应的第一密钥然后根据和Rand进行与OBU相同的分散运算得到第二密钥K,然后通过第二密钥K解密然后再通过从OBU的数字证书中得到的公钥对进行验签后得到Hash(P)和Stamptime,先验证Stamptime的有效性,例如时间差会限制在五分钟之内,若Stamptime有效则对消息P进行同样的Hash运算,判断运算的结果是否等于Hash(P),若相等,则发送EncK(1)给OBU,即采用第二密钥K对1进行加密后发送给OBU,否则发送EncK(0)给OBU。
本发明实施例使用简单可靠的加密过程对OBU和CCS服务器之间的通信进行加密,由此对于数据处理能力有限的OBU而言,使用本发明实施例提供的方案进行通信,可以在满足OBU的数据处理能力要求的情况下,实现安全通信。
基于上述技术方案,本发明实施例中,通过在OBU和CCS服务器中分别保存预设的至少一个第一密钥及其标识信息,OBU对CCS服务器的数字证书验证通过后,基于随机数和预设的第一密钥生成第二密钥,采用第二密钥对要传递的信息进行加密,将生成第二密钥的第一密钥的标识信息、随机数和采用第二密钥加密后的信息发送至CCS服务器,以使得CCS服务器能够生成第二密钥并进行解密,从而能够保证智能交通系统中进行无线通信的安全性,避免了直接发送密钥带来的安全隐患,并提高数据处理效率,降低进行安全通信的复杂度,并且避免了建立SSL通信链路进行安全通信,对无线通信系统造成的压力。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。