[发明专利]一种车载虚拟钥匙通信方法有效
申请号: | 201910559107.2 | 申请日: | 2019-06-25 |
公开(公告)号: | CN110932846B | 公开(公告)日: | 2022-07-22 |
发明(设计)人: | 孙军;朱剑;马世典;韩牟;张彦平;腾飞 | 申请(专利权)人: | 南京汽车集团有限公司;上汽大通汽车有限公司南京分公司 |
主分类号: | H04L9/08 | 分类号: | H04L9/08;H04L9/32;H04W4/48;H04W12/03;H04W12/041;H04W12/0433;H04W12/06;H04W12/122;G07C9/00 |
代理公司: | 南京苏科专利代理有限责任公司 32102 | 代理人: | 徐振兴;姚姣阳 |
地址: | 210037 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 车载 虚拟 钥匙 通信 方法 | ||
1.一种车载虚拟钥匙通信方法,其特征在于,所述方法包括以下步骤:
S1在车载端与手机端之间构造基于多次剩余的完备零知识身份认证协议,建立车载端与手机端之间的相互认证机制,并加入了时间戳以防止重放攻击;所述S1中,认证双方包括车载端与手机端,手机端向车载端认证自己的身份,认证过程如下:
首先手机端选取矢量y∈ZN*:yid≡x(modN),发送手机端ID号和x给车载端,其中x为MRN中的一个元素,id为手机端ID号的最后一位,N为一个大的奇合数,其中MRN为模整数N的多次剩余集合;重复S 1.1-S 1.5步骤16次:
S1.1手机端选取随机矢量u∈uMRN,小u为随机矢量,计算Commit=uid(mod N),uid表示属于特定ID手机端的随机矢量发送时间戳t,Commit给车载端;
S1.2车载端验证时间戳t和收到的实际时间t',计算(Δt=t'-t)<T以验证时间戳的有效性,其中Δt是t'与t的时间差,T是所允许的最大时间延迟,若无效,则拒绝此通信,下同;
S1.3车载端选取Challenge∈u{0,1},u为0,1合集,发送Challenge,时间戳t给手机端;
S1.4手机端验证T,如果Challenge=0,则计算R=u,u为S1.1的随机矢量,如果Challenge=1,则发送R=uy(mod N),时间戳t给车载端,uy为u和y相乘;
S1.5车载端验证T,如果Challenge=0,则验证Rid(modN)≡Commit,Rid 表示属于特定ID手机端的S1.4步骤里的R,如果Challenge=1,则验证Rid(modN)≡Commit x(modN),如果验证失败,车载端拒绝并终止协议;
S2接着车载端与手机端之间进行会话密钥协商,手机端利用ELGamal算法生成签名及公私钥对,双方进行交换公钥;所述S2中车载端与手机端之间进行会话密钥协商,包括两轮消息:
S2.1由手机端首先发送给车载端消息Message1={IDphone,IDcar,Rand,CSij,t},其中:IDphone和IDcar分别表示手机端和车载端的身份信息;Rand表示由手机端选取的一次性随机数;CSij表示由手机端选取的密钥的密文(C,Sij,L),其中,和加密用E表示,即为用密钥k1加密,其中Sij表示会话密钥k1,k2,表示k2的哈希函数;
S2.2当车载端收到手机端发送的Message1后,首先验证T,接着计算会话密钥Sij=(k1,k2),然后判断等式是否成立,如果不成立则丢弃该消息,如果成立,那么车载端知道手机端的身份是合法的;
S2.3车载端验证T值后解密获得会话密钥Sij,构造消息Message2发送给手机端Message2={IDphone,IDcar,Rand,CSij,t};
S2.4当手机端收到车载端发送的Message2后,首先验证T,接着判断Rand是否为自己选取的随机数;如果不是,则丢弃该消息,否则导出会话密钥Sij,双方会话密钥协商成功;
S2中,手机端利用ELGamal算法生成签名及公私钥对,双方进行互换公钥的具体过程为:
S2.5车载端产生一个大素数p,α为的一个生成元,手机端的私钥为SKphone,通过计算相应的签名公钥PKphone,并用之前的会话密钥加密PKphone发给车载端,其中,表示模p的整数乘法群;
S2.6车载端解密并获得PKphone,随机选择两个互异随机数R和L,通过γ=αLmodp,λ=αRmodp计算得到γ和λ,并将γ和λ保存下来;
S2.7签名明文,利用前两步的结果以及扩展的Euclidean算法和模逆算法,通过式子m=(γ+Lλ+Rδ)mod(p-1)求出δ;m为整个加密环节中的明文,是需要被加密的内容;在多次取随机数签名的过程中必须避免取相同的随机数,也要避免随机数之间有简单的函数关系;
S2.8手机端丢弃随机数R和L,得出所需公开的密钥为PKphone,私有密钥为SKphone,明文m的签名为(γ,λ,δ);
S2.9:车载端将(γ,λ,δ)分别发送给认证合法的手机端,手机端利用αm=PKphoneγγλλδmodp验证明文m数字签名的正确性:若相等,则签名无误,车载端用会话密钥和PKphone对PKcar进行加密发送给手机端,PKcar 为车载端公钥;若不等,则签名有误或者传输过程错误;
S3最后同时采用车速值和方向盘角度值的随机特性并提取出来以建立实时密钥更新的车载虚拟钥匙通信方法;S3的具体过程为:
S3.1手机端发起临时会话请求其中,MSG表示消息,request表示请求,表示用车载端的公钥加密,表示用手机端的私钥加密,即用自己的私钥加密后再用车载端的公钥加密发送给车载端;用车载端的公钥进行加密,只有车载端的私钥能解密,用手机端的私钥加密后,车载端用手机端的公钥解密,能确保消息是从手机端发送的,防止了假冒攻击,保证了消息的安全性;
S3.2车载端收到MSG(request,PKphone,IDphone,IDcar),消息后,验证其真实性,若真,则在随机数池里获取n组56位的随机数r1和r2,并且产生与随机数相对应的8位序列号number,number是为了标识产生的随机数,然后用自己的私钥加密随机数和number再用对方的公钥加密发送给对方;
S3.3手机端解密对方发送来的随机数和number,然后根据相同的序列号,各自计算因此得到了64位的临时会话密钥SessionK,SessionK前8位为序列号,后56位为加密密钥;
所述得到临时会话密钥SessionK,就可以在手机端和车载端之间信息传输进行加密,在每次通信时,都需要向车载端请求下一次的真随机数,在一次通信结束后,临时会话密钥也将丢弃,下次通信时生成新的临时会话密钥;
从车速单元和方向盘单元中周期性提取数据组合成随机数放入随机数池中,利用随机变化过程中数据的随机性来提取并生成真随机数,具体步骤如下所示:
(1)利用示波器采集车载车速单元的车速值,设置示波器的采集周期为2s,因为该周期既保证了有用数据不严重丢失,又保证了合适的变化量;
(2)将示波器得到的采样值利用模数转换器ADC转换成数字序列,其中根据不同环境设置不同阈值,通过比较采样值与阈值的高低来产生数字信号0或1;
(3)为了使数字序列服从均匀分布和具有良好的统计特性,将得到的数字信号进行后处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京汽车集团有限公司;上汽大通汽车有限公司南京分公司,未经南京汽车集团有限公司;上汽大通汽车有限公司南京分公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910559107.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种氯甲烷的分离方法
- 下一篇:一种贝壳粉水性原浆及其制备方法