专利摘要
本发明提供了一种安全的车联网数据通信实现方法,包括远程服务器和第三方认证数据中心,所述车联网包括路由器和车辆节点;路由器有一个无线接口和两个以上的有线接口,有线接口用于连接其他路由器,无线接口用于连接车辆节点。所述车辆节点通过本发明所提供的实现方法可安全获取网络提供的数据服务,同时能够确保安全性,缩短数据获取延迟和代价,提高服务质量,本发明可应用于重要信息的传输,例如私人信息监测、医疗健康等领域,具有广泛的应用前景。
权利要求
1.一种安全的车联网数据通信实现方法,其特征在于,包括远程服务器和第三方认证数据中心,所述车联网包括路由器和车辆节点;路由器有一个无线接口和两个以上的有线接口,有线接口用于连接其他路由器,无线接口用于连接车辆节点;车辆节点之间通过无线接口通信,车辆节点通过距离自己最近的路由器实现通信;一个路由器以及通过该路由器实现通信的所有车辆节点构成一个子网;一个子网内的所有车辆节点具有相同网络前缀,一个车辆节点通过所在子网的路由器从远程服务器获取数据;
车辆节点具有唯一的ID,车辆节点向第三方认证数据中心进行注册后,第三方认证数据中心向车辆节点签发一个秘钥k0和单向哈希函数H1,秘钥k0用于实现车辆节点与路由器的安全通信,单向哈希函数H1用于产生秘钥;
远程服务器S1向第三方认证数据中心进行注册后,第三方认证数据中心向服务器S1签发一个秘钥k0,同时保存远程服务器S1的地址以及签发的秘钥;
路由器具有唯一的网络前缀,该网络前缀预先设置,路由器向第三方认证数据中心进行注册后,第三方认证数据中心向车辆节点签发秘钥k0和单向哈希函数H1,秘钥k0用于实现与车辆节点或者路由器的安全通信,单向哈希函数H1用于产生秘钥;
车辆节点或者路由器的单播地址包括网络前缀,消息类型和链路地址三个部分,链路地址包括横坐标、纵坐标和设备ID三个部分;
消息类型定义如下表所示:
路由器维护一个地址表,用于记录所在子网中所有车辆节点的信息,一个地址表项由5个域构成,包括当前设备ID、当前秘钥、下一个设备ID、下一个秘钥以及生命周期;
如果路由器检测到一个地址表项的生命周期衰减为0,则删除该地址表项;
路由器AR1的网络前缀为GRP1,地理坐标为(xAR1,yAR1),当路由器AR1启动后定期执行下述步骤:
步骤101:开始;
步骤102:路由器AR1创建自己的单播地址,该地址中,网络前缀为GRP1,消息类型为5,横坐标和纵坐标为(xAR1,yAR1),设备ID为自己的设备ID,然后路由器AR1广播一个信标消息,该消息的目的地址为广播地址,源地址为创建的单播地址,负载为空,然后路由器AR1定期广播该信标消息;
步骤103:车辆节点收到信标帧后,判断所有接收到的信标帧中该信标帧的源地址的横坐标和纵坐标是否距离自己最近,如果是,执行步骤104,否则执行步骤105;
步骤104:车辆节点保存路由器AR1的链路地址和网络前缀GRP1,然后将该信标消息转发给邻居车辆节点,执行步骤103;
步骤105:车辆节点丢弃接收到的信标消息;
步骤106:结束。
2.根据权利要求1所述的一种安全的车联网数据通信实现方法,其特征在于,车辆节点N6具有值为ID0的唯一的ID,距离车辆节点N6最近的路由器为AR1,路由器AR1的网络前缀为GRP1,路由器AR1的地理坐标为(xAR1,yAR1),车辆节点N6向第三方认证数据中心进行注册后获取了秘钥k0和单向哈希函数H1,如果车辆节点N6的当前地理坐标为(x1,y1),则车辆节点N6通过下述过程向路由器AR1执行关联操作:
步骤201:开始;
步骤202:车辆节点N6随机产生正整数n1,执行H1(k0,n1),将执行结果赋给变量k1,然后执行H(ID0,n1),将执行结果赋给变量ID1;
步骤203:车辆节点N6创建一个自己的单播地址和路由器AR1的单播地址,在自己的单播地址中,网络前缀为GRP1,消息类型为0,横坐标为x1,纵坐标为y1,设备ID为ID0;在路由器的单播地址中,网络前缀为GRP1,消息类型为1,链路地址为路由器AR1的链路地址;车辆节点N6根据公式(1)创建加密数据块E1,本步骤中变量Key的值为k0,变量I的值为ID1,变量k的值为k1,Encrypt1为对称加密算法;车辆节点N6构建一个关联消息,该关联消息的源地址为自己的单播地址,目的地址为路由器AR1的单播地址,负载为加密数据块E1;最后车辆节点N6发送该关联消息;
E1=Encrypt1[I,k]Key (1)
步骤204:路由器AR1收到关联消息后,利用秘钥k0解密关联消息负载中的加密数据块E1并获取了设备ID值ID1和秘钥k1;路由器AR1查看自己的地址表判断是否存在当前设备ID或者下一个设备ID等于设备ID值ID1的地址表项,如果存在,则执行步骤205,否则执行步骤208;
步骤205:路由器AR1随机产生正整数n11,执行H1(k0,n11),将执行结果赋给变量k11,然后执行H(ID0,n11),将执行结果赋给变量ID11;
步骤206:路由器AR1查看自己的地址表判断是否存在当前设备ID或者下一个设备ID等于ID11的地址表项,如果有,执行步骤205,否则执行步骤207;
步骤207:路由器AR1根据公式(1)创建加密数据块E1,本步骤中变量Key的值为k0,变量I的值为ID11,变量k的值为k11;路由器AR1构建一个关联确认消息,该关联确认消息的源地址为收到的关联消息的目的地址,目的地址的网络前缀和链路地址等于收到的关联消息的源地址的网络前缀和链路地址,目的地址的消息类型为2,负载为构建的加密数据块E1;路由器AR1发送该关联确认消息,然后在地址表中创建一个地址表项,当前设备ID和当前秘钥为ID0和k0,下一个设备ID和秘钥为ID11和k11,执行步骤211;
步骤208:路由器AR1随机产生正整数n2,执行H1(k1,n2),将执行结果赋给变量k2,然后执行H(ID1,n2),将执行结果赋给变量ID2;
步骤209:路由器AR1查看自己的地址表判断是否存在当前设备ID或者下一个设备ID等于ID2的地址表项,如果有,执行步骤208,否则执行步骤210;
步骤210:路由器AR1根据公式(1)创建加密数据块E1,本步骤中变量Key的值为k1,变量I的值为ID2,变量k的值为k2;路由器AR1构建一个单播地址,该单播地址的网络前缀为GRP1,消息类型为2,地理横坐标为x1,纵坐标为y1,设备ID为ID1;路由器AR1构建一个关联确认消息,该关联确认消息的源地址为收到的关联消息的目的地址,目的地址为构建的单播地址,负载为构建的加密数据块E1,发送该关联确认消息;路由器AR1在地址表中创建一个地址表项,当前设备ID和当前秘钥为ID1和k1,下一个设备ID和秘钥分别为ID2和k2;
步骤211:车辆节点N6收到关联确认消息后,判断该关联确认消息的目的地址的设备ID是否为ID0,如果是,执行步骤212,否则执行步骤213;
步骤212:车辆节点N6利用秘钥k0解密关联确认消息负载中的加密数据块E1获取新的设备ID和秘钥,执行步骤214;
步骤213:车辆节点N6利用秘钥k1解密关联确认消息负载中的加密数据块E1获取新的设备ID和秘钥;
步骤214:结束。
3.根据权利要求2所述的一种安全的车联网数据通信实现方法,其特征在于,如果上述过程中,车辆节点N6在发送关联消息之后,在设定时间内没有收到关联确认消息,则执行下述步骤:
步骤301:开始;
步骤302:车辆节点N6重新发送上次发送的关联消息;
步骤303:路由器AR1收到关联消息后,利用秘钥k0解密关联消息负载中的加密数据块E1并获取了设备ID值ID1和秘钥k1;路由器AR1查看自己的地址表判断是否存在当前设备ID等于设备ID ID0的地址表项,如果存在,则执行步骤304,否则执行步骤305;
步骤304:路由器AR1根据公式(1)创建加密数据块E1,本步骤中变量Key的值为k0,变量I的值为该地址表项的下一个设备ID值,变量k的值为该地址表项的下一个设备ID值;路由器AR1构建一个关联确认消息,该关联确认消息的源地址为收到的关联消息的目的地址,目的地址的网络前缀和链路地址等于收到的关联消息的源地址的网络前缀和链路地址,目的地址的消息类型为2,负载为构建的加密数据块E1,路由器AR1发送该关联确认消息,执行步骤314;
步骤305:路由器AR1查看自己的地址表判断是否存在当前设备ID等于设备ID值ID1的地址表项,如果存在,则执行步骤306,否则执行步骤307;
步骤306:路由器AR1根据公式(1)创建加密数据块E1,本步骤中变量Key的值为k1,变量I的值为该地址表项的下一个设备ID值,变量k的值为该地址表项的下一个设备ID值;路由器AR1构建一个单播地址,该单播地址的网络前缀、横坐标和纵坐标分别等于收到的关联消息的源地址的网络前缀、横坐标和纵坐标,消息类型为2,设备ID为ID1;路由器AR1构建一个关联确认消息,该关联确认消息的源地址为收到的关联消息的目的地址,目的地址为构建的单播地址,负载为构建的加密数据块E1,路由器AR1发送该关联确认消息,执行步骤314;
步骤307:路由器AR1查看自己的地址表判断是否存在当前设备ID或者下一个设备ID等于设备ID ID1的地址表项,如果存在,则执行步骤308,否则执行步骤311;
步骤308:路由器AR1随机产生正整数n11,执行H1(k0,n11),将执行结果赋给变量k11,然后执行H(ID0,n11),将执行结果赋给变量ID11;
步骤309:路由器AR1查看自己的地址表判断是否存在当前设备ID或者下一个设备ID等于ID11的地址表项,如果有,执行步骤308,否则执行步骤310;
步骤310:路由器AR1根据公式(1)创建加密数据块E1,本步骤中变量Key的值为k0,变量I的值为ID11,变量k的值为k11;路由器AR1构建一个关联确认消息,该关联确认消息的源地址为收到的关联消息的目的地址,目的地址的网络前缀和链路地址等于收到的关联消息的源地址的网络前缀和链路地址,目的地址的消息类型为2,负载为构建的加密数据块E1;路由器AR1发送该关联确认消息,然后在地址表中创建一个地址表项,当前设备ID和当前秘钥分别为ID0和k0,下一个设备ID和秘钥分别为ID11和k11,执行步骤314;
步骤311:路由器AR1随机产生正整数n2,执行H1(k1,n2),将执行结果赋给变量k2,然后执行H(ID1,n2),将执行结果赋给变量ID2;
步骤312:路由器AR1查看自己的地址表判断是否存在当前设备ID或者下一个设备ID等于ID2的地址表项,如果有,执行步骤311,否则执行步骤313;
步骤313:路由器AR1根据公式(1)创建加密数据块E1,本步骤中变量Key的值为k1,变量I的值为ID2,变量k的值为k2;路由器AR1构建一个单播地址,该单播地址的网络前缀为GRP1,消息类型为2,地理横坐标为x1,纵坐标为y1,设备ID为ID1;路由器AR1构建一个关联确认消息,该关联确认消息的源地址为收到的关联消息的目的地址,目的地址为构建的单播地址,负载为构建的加密数据块E1;路由器AR1发送该关联确认消息,然后在地址表中创建一个地址表项,当前设备ID和当前秘钥分别为ID1和k1,下一个设备ID和秘钥分别为ID2和k2;
步骤314:车辆节点N6收到关联确认消息后,判断该关联确认消息的目的地址的设备ID是否为ID0,如果是,执行步骤315,否则执行步骤316;
步骤315:车辆节点N6利用秘钥k0解密关联确认消息负载中的加密数据块E1获取新的设备ID和秘钥,执行步骤317;
步骤316:车辆节点N6利用秘钥k1解密关联确认消息负载中的加密数据块E1获取新的设备ID和秘钥;
步骤317:结束。
4.根据权利要求3所述的一种安全的车联网数据通信实现方法,其特征在于,在车辆节点N6位于子网U1中,当前的地理坐标为(x3,y3),车辆节点N6的当前设备ID为ID2,当前的秘钥为k2,子网U1的路由器为AR1,路由器AR1的网络前缀为GRP1,地理坐标为(xAR1,yAR1),远程服务器S1的设备ID为IDS,地理坐标为(xs,ys)为且位于子网U2内,子网U2的路由器为AR2,路由器AR2的网络前缀为GRP2的条件下,车辆节点N6通过下述步骤实现与远程服务器S1的安全通信:
步骤401:开始;
步骤402:车辆节点N6随机产生正整数n3,执行H1(k2,n3),将执行结果赋给变量k3,然后执行H(ID2,n3),将执行结果赋给变量ID3;
步骤403:车辆节点N6创建一个自己的单播地址和服务器S1的单播地址;在车辆节点N6自己的单播地址中,网络前缀为GRP1,消息类型为0,横坐标为x3,纵坐标为y3,设备ID为ID2;在服务器的单播地址中,网络前缀为GRP2,消息类型为3,横坐标为xs,纵坐标为ys,设备ID为IDs;根据公式(1)创建加密数据块E1,本步骤中变量Key的值为k2,Encrypt1为对称加密算法,变量I的值为ID3,变量k的值为k3;车辆节点N6构建一个数据请求消息,该数据请求消息的源地址为自己的单播地址,目的地址为服务器S1的单播地址,负载为加密数据块E1;车辆节点N6发送该数据请求消息,该数据请求消息首先到达路由器AR1;
步骤404:路由器AR1收到数据请求消息后,查看地址表中下一个设备ID域值等于接收到的数据请求消息的源地址的设备ID ID2的地址表项,然后利用该地址表项的下一个秘钥域值k2解密数据请求消息负载中的加密数据块E2从而获取设备ID值ID3和秘钥k3;路由器AR1查看自己的地址表判断是否存在当前设备ID或者下一个设备ID等于ID3的地址表项,如果存在,执行步骤408,否则执行步骤405;
步骤405:路由器AR1随机产生正整数n4,执行H1(k3,n4),将执行结果赋给变量k4,然后执行H(ID3,n4),将执行结果赋给变量ID4;
步骤406:路由器AR1查看自己的地址表判断是否存在当前设备ID或者下一个设备ID等于ID4的地址表项,如果有,执行步骤405,否则执行步骤407;
步骤407:路由器AR1根据公式(1)创建加密数据块E1,本步骤中变量Key的值为k3,变量I的值为ID4,变量k的值为k4;路由器AR1创建一个单播地址,在单播地址中,网络前缀为GRP1,消息类型为0,横坐标为x3,纵坐标为y3,设备ID为ID3;路由器AR1将数据请求消息中的负载E1更新为新构建的E1,源地址更新为新创建的单播地址,然后发送数据请求消息;路由器AR1在地址表中更新下一个设备ID为ID2的地址表项,即将该地址表项的当前设备ID和当前秘钥分别设置为ID3和k3,将下一个设备ID和秘钥分别设置为ID4和k4,执行步骤411;
步骤408:路由器AR1随机产生正整数n4,执行H1(k2,n4),将执行结果赋给变量k4,然后执行H(ID2,n4),将执行结果赋给变量ID4;
步骤409:路由器AR1查看自己的地址表判断是否存在当前设备ID或者下一个设备ID等于ID4的地址表项,如果有,执行步骤408,否则执行步骤410;
步骤410:路由器AR1根据公式(1)创建加密数据块E1,本步骤中变量Key的值为k2,变量I的值为ID4,变量k的值为k4;路由器AR1将数据请求消息中的负载E1更新为新构建的E1,然后发送数据请求消息;路由器AR1在地址表中更新下一个设备ID为ID2的地址表项,即将该地址表项的当前设备ID和当前秘钥分别设置为ID2和k2,将下一个设备ID和秘钥分别设置为ID4和k4,执行步骤411;
步骤411:远程服务器S1接收到数据请求消息后,根据消息类型,服务器S1根据公式(2)产生加密数据块E2,本步骤中变量Data的值为响应数据,变量Key的值为k0;服务器S1创建一个单播地址,该单播地址的网络前缀和链路地址等于收到的数据请求消息源地址的网络前缀和链路地址,消息类型为4;远程服务器S1发送一个数据确认消息,该数据确认消息的目的地址为创建的单播地址,该数据确认消消息的源地址为接收到数据请求消息的目的地址,负载为加密数据块E1和加密数据块E2;
E2=Encrypt1[Data]Key (2)
步骤412:车辆节点N6接收到数据确认消息后,利用秘钥k0解密数据块E2获取响应数据,然后判断该响应消息的目的地址的设备ID是否为ID2,如果是,执行步骤413,否则执行步骤414;
步骤413:车辆节点N6利用秘钥k2解密数据确认消息负载中的加密数据块E1获取新的设备ID和秘钥,执行步骤415;
步骤414:车辆节点N6利用秘钥k3解密关联数据确认消息负载中的加密数据块E1获取新的设备ID和秘钥;
步骤415:结束。
5.根据权利要求4所述的一种安全的车联网数据通信实现方法,其特征在于,每个路由器保存一个路由器表,每个路由表项包括两个域:路由器的网络前缀集合和路由器的地理坐标;路由器表为预先设置;
如果车辆节点N6的当前设备ID为ID4,当前秘钥为k4,车辆节点N6从子网U1向子网U2进行移动,车辆节点N6的地理坐标为(x4,y4),子网U1的路由器为AR1,地理坐标为(xAR1,yAR1),网络前缀为GRP1,子网U2的路由器为AR2,地理坐标为(xAR2,yAR2),网络前缀为GRP2,则车辆节点N6执行下述切换操作:
步骤501:开始;
步骤502:车辆节点N6随机产生正整数n5,执行H1(k4,n5),将执行结果赋给变量k5,然后执行H(ID4,n5),将执行结果赋给变量ID5;
步骤503:车辆节点N6创建一个自己的单播地址、路由器AR1的单播地址以及路由器AR2的单播地址;在自己的单播地址中,网络前缀为GRP1,消息类型为0,横坐标为x4,纵坐标为y4,设备ID为ID4;在路由器AR1的单播地址中,网络前缀为GRP1,消息类型为6,链路地址为路由器AR1的链路地址;在路由器AR2的单播地址中,网络前缀为GRP2,消息类型为0,链路地址为路由器AR2的链路地址;车辆节点N6根据公式(3)创建加密数据块E4,本步骤中变量Key的值为k4,变量I的值为ID5,变量k的值为k5,变量Address为路由器AR2的单播地址,Encrypt1为对称加密算法;车辆节点N6构建一个移动消息,该移动消息的源地址为自己的单播地址,目的地址为路由器AR1的单播地址,负载为加密数据块E4,最后车辆节点N6发送该移动消息;
E4=Encrypt1[Address,ID,k]Key (3)
步骤504:路由器AR1收到移动消息后,查看地址表中下一个设备ID值为ID4的地址表项从而获取该地址表项的下一个秘钥k4,然后利用秘钥k4解密移动消息中的数据块E4以获取路由器AR2的单播地址,设备ID值ID5以及秘钥k5,然后删除该单播地址;路由器AR1重新构建路由器AR2的单播地址,在该单播地址中,网络前缀为GRP2,消息类型为6,链路地址为路由器AR2的链路地址,然后根据公式(1)创建加密数据块E1,本步骤中变量Key的值为k0,变量I的值为I D5,变量k的值为k5,Encrypt1为对称加密算法;车辆节点N6构建一个移动消息,该移动消息的源地址为接收到的移动消息的源地址,目的地址为重新构建的路由器AR2的单播地址,负载为加密数据块E1,最后发送构建的移动消息;
步骤505:路由器AR2收到移动消息后,利用秘钥k0解密移动消息负载中的加密数据块E1并获取了设备ID ID5和秘钥k5;
步骤506:路由器AR2随机产生正整数n6,执行H1(k5,n6),将执行结果赋给变量k6,然后执行H(ID5,n6),将执行结果赋给变量ID6;
步骤507:路由器AR2查看自己的地址表判断是否存在当前设备ID或者下一个设备ID等于ID6的地址表项,如果有,执行步骤506,否则执行步骤508;
步骤508:路由器AR2查看自己的地址表判断是否存在当前设备ID或者下一个设备ID等于设备ID ID5的地址表项,如果存在,则执行步骤510,否则执行步骤509;
步骤509:路由器AR2在地址表中创建一个地址表项,当前设备ID和当前秘钥分别为ID5和k5,下一个设备ID和秘钥分别为ID6和k6,执行步骤511;
步骤510:路由器AR2在地址表中创建一个地址表项,当前设备ID和当前秘钥分别为ID4和k0,下一个设备ID和秘钥分别为ID6和k6,执行步骤511;
步骤511:路由器AR2根据公式(1)创建加密数据块E1,本步骤中变量Key的值为k0,变量I的值为ID6,变量k的值为k6;路由器AR2构建一个单播地址,该单播地址的网络前缀、地理横坐标、纵坐标以及设备ID分别等于接收到的移动消息的源地址的网络前缀、横坐标、纵坐标和设备ID,该单播地址的消息类型为7;路由器AR2发送一个移动确认消息,该移动确认消息的源地址为收到的移动消息的目的地址,目的地址为构建的单播地址,负载为构建的加密数据块E1,发送该移动确认消息;
步骤512:车辆节点N6接收到移动确认消息后,利用秘钥k0解密消息负载中的数据块E1以获取设备ID值ID6和秘钥k6,将当前设备ID设置为ID6,将当前秘钥设置为k6;
步骤513:结束。
说明书
技术领域
本发明涉及一种通信实现方法,尤其涉及的是一种安全的车联网数据通信实现方法。
背景技术
无线网络中的节点之间通信通过中间节点的转发和路由来实现,因此,节点之间的安全通信就显得尤为重要。
在无线网络中,通过查看数据包的头部结构以及负载可以看出用户的活动规律,例如用户何时在办公室,何时在家里,经常与谁通信等等。因此,保护用户的隐私也尤为重要。目前的无线网络通信中,用户在会话过程中密码并不变化,因此降低了安全性,需要一种安全的通信方式来保护用户的安全通信和隐私。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种安全的车联网数据通信实现方法。
技术方案:本发明公开了一种安全的车联网数据通信实现方法,包括远程服务器和第三方认证数据中心,所述车联网包括路由器和车辆节点;路由器有一个无线接口和两个以上的有线接口,有线接口用于连接其他路由器,无线接口用于连接车辆节点;车辆节点之间通过无线接口通信,车辆节点通过距离自己最近的路由器实现通信;一个路由器以及通过该路由器实现通信的所有车辆节点构成一个子网;一个子网内的所有车辆节点具有相同网络前缀,一个车辆节点通过所在子网的路由器从远程服务器获取数据;
车辆节点具有唯一的ID,例如硬件ID或者车牌号,车辆节点向第三方认证数据中心进行注册后,第三方认证数据中心向车辆节点签发一个秘钥k0和单向哈希函数H1,秘钥k0用于实现车辆节点与路由器的安全通信,单向哈希函数H1用于产生秘钥;
远程服务器S1向第三方认证数据中心进行注册后,第三方认证数据中心向服务器S1签发一个秘钥k0,同时保存远程服务器S1的地址以及签发的秘钥;
路由器具有唯一的网络前缀,该网络前缀预先设置,例如:3EFC:1:1:1/64,路由器向第三方认证数据中心进行注册后,第三方认证数据中心向车辆节点签发秘钥k0和单向哈希函数H1,秘钥k0用于实现与车辆节点或者路由器的安全通信,单向哈希函数H1用于产生秘钥;
车辆节点或者路由器的单播地址包括网络前缀,消息类型和链路地址三个部分,链路地址包括横坐标、纵坐标和设备ID三个部分;
消息类型定义如下表所示:
路由器维护一个地址表,用于记录所在子网中所有车辆节点的信息,一个地址表项由5个域构成,包括当前设备ID、当前秘钥、下一个设备ID、下一个秘钥以及生命周期,生命周期设置时间一般设置为10小时;
如果路由器检测到一个地址表项的生命周期衰减为0,则删除该地址表项;
路由器AR1的网络前缀为GRP1,地理坐标为(xAR1,yAR1),当路由器AR1启动后定期执行下述步骤:
步骤101:开始;
步骤102:路由器AR1创建自己的单播地址,该地址中,网络前缀为GRP1,消息类型为5,横坐标和纵坐标为(xAR1,yAR1),设备ID为自己的设备ID,然后路由器AR1广播一个信标消息,该消息的目的地址为广播地址,源地址为创建的单播地址,负载为空,然后路由器AR1定期广播该信标消息;
步骤103:车辆节点收到信标帧后,判断所有接收到的信标帧中该信标帧的源地址的横坐标和纵坐标是否距离自己最近,如果是,执行步骤104,否则执行步骤105;
步骤104:车辆节点保存路由器AR1的链路地址和网络前缀GRP1,然后将该信标消息转发给邻居车辆节点,执行步骤103;
步骤105:车辆节点丢弃接收到的信标消息;
步骤106:结束。
本发明所述方法中,车辆节点N6具有值为ID0的唯一的ID,距离车辆节点N6最近的路由器为AR1,路由器AR1的网络前缀为GRP1,路由器AR1的地理坐标为(xAR1,yAR1),车辆节点N6向第三方认证数据中心进行注册后获取了秘钥k0和单向哈希函数H1,如果车辆节点N6的当前地理坐标为(x1,y1),则车辆节点N6通过下述过程向路由器AR1执行关联操作:
步骤201:开始;
步骤202:车辆节点N6随机产生正整数n1,执行H1(k0,n1),单向哈希函数H1,秘钥k0和正整数n1为输入参数;将执行结果赋给变量k1,然后执行H1(ID0,n1),将执行结果赋给变量ID1;
步骤203:车辆节点N6创建一个自己的单播地址和路由器AR1的单播地址,在自己的单播地址中,网络前缀为GRP1,消息类型为0,横坐标为x1,纵坐标为y1,设备ID为ID0;在路由器的单播地址中,网络前缀为GRP1,消息类型为1,链路地址为路由器AR1的链路地址;车辆节点N6根据公式(1)创建加密数据块E1,本步骤中变量Key的值为k0,变量I的值为ID1,变量k的值为k1,Encrypt1为对称加密算法,例如3DES;车辆节点N6构建一个关联消息,该关联消息的源地址为自己的单播地址,目的地址为路由器AR1的单播地址,负载为加密数据块E1;最后车辆节点N6发送该关联消息;
E1=Encrypt1[I,k]Key (1)
步骤204:路由器AR1收到关联消息后,利用秘钥k0解密关联消息负载中的加密数据块E1并获取了设备ID值ID1和秘钥k1;路由器AR1查看自己的地址表判断是否存在当前设备ID或者下一个设备ID等于设备ID值ID1的地址表项,如果存在,则执行步骤205,否则执行步骤208;
步骤205:路由器AR1随机产生正整数n11,执行H1(k0,n11),将执行结果赋给变量k11,然后执行H1(ID0,n11),将执行结果赋给变量ID11;
步骤206:路由器AR1查看自己的地址表判断是否存在当前设备ID或者下一个设备ID等于ID11的地址表项,如果有,执行步骤205,否则执行步骤207;
步骤207:路由器AR1根据公式(1)创建加密数据块E1,本步骤中变量Key的值为k0,变量I的值为ID11,变量k的值为k11;路由器AR1构建一个关联确认消息,该关联确认消息的源地址为收到的关联消息的目的地址,目的地址的网络前缀和链路地址等于收到的关联消息的源地址的网络前缀和链路地址,目的地址的消息类型为2,负载为构建的加密数据块E1;路由器AR1发送该关联确认消息,然后在地址表中创建一个地址表项,当前设备ID和当前秘钥为ID0和k0,下一个设备ID和秘钥为ID11和k11,执行步骤211;
步骤208:路由器AR1随机产生正整数n2,执行H1(k1,n2),将执行结果赋给变量k2,然后执行H1(ID1,n2),将执行结果赋给变量ID2;
步骤209:路由器AR1查看自己的地址表判断是否存在当前设备ID或者下一个设备ID等于ID2的地址表项,如果有,执行步骤208,否则执行步骤210;
步骤210:路由器AR1根据公式(1)创建加密数据块E1,本步骤中变量Key的值为k1,变量I的值为ID2,变量k的值为k2;路由器AR1构建一个单播地址,该单播地址的网络前缀为GRP1,消息类型为2,地理横坐标为x1,纵坐标为y1,设备ID为ID1;路由器AR1构建一个关联确认消息,该关联确认消息的源地址为收到的关联消息的目的地址,目的地址为构建的单播地址,负载为构建的加密数据块E1,发送该关联确认消息;路由器AR1在地址表中创建一个地址表项,当前设备ID和当前秘钥为ID1和k1,下一个设备ID和秘钥分别为ID2和k2;
步骤211:车辆节点N6收到关联确认消息后,判断该关联确认消息的目的地址的设备ID是否为ID0,如果是,执行步骤212,否则执行步骤213;
步骤212:车辆节点N6利用秘钥k0解密关联确认消息负载中的加密数据块E1获取新的设备ID和秘钥,执行步骤214;
步骤213:车辆节点N6利用秘钥k1解密关联确认消息负载中的加密数据块E1获取新的设备ID和秘钥;
步骤214:结束。
通过上述过程,车辆节点与本地路由器建立关联关系从而实现安全通信。
本发明所述方法中,如果上述过程中,车辆节点N6在发送关联消息之后,在设定时间内没有收到关联确认消息,设定时间可以设置为1s,则执行下述步骤:
步骤301:开始;
步骤302:车辆节点N6重新发送上次发送的关联消息;
步骤303:路由器AR1收到关联消息后,利用秘钥k0解密关联消息负载中的加密数据块E1并获取了设备ID值ID1和秘钥k1;路由器AR1查看自己的地址表判断是否存在当前设备ID等于设备ID ID0的地址表项,如果存在,则执行步骤304,否则执行步骤305;
步骤304:路由器AR1根据公式(1)创建加密数据块E1,本步骤中变量Key的值为k0,变量I的值为该地址表项的下一个设备ID值,变量k的值为该地址表项的下一个设备ID值;路由器AR1构建一个关联确认消息,该关联确认消息的源地址为收到的关联消息的目的地址,目的地址的网络前缀和链路地址等于收到的关联消息的源地址的网络前缀和链路地址,目的地址的消息类型为2,负载为构建的加密数据块E1,路由器AR1发送该关联确认消息,执行步骤314;
步骤305:路由器AR1查看自己的地址表判断是否存在当前设备ID等于设备ID值ID1的地址表项,如果存在,则执行步骤306,否则执行步骤307;
步骤306:路由器AR1根据公式(1)创建加密数据块E1,本步骤中变量Key的值为k1,变量I的值为该地址表项的下一个设备ID值,变量k的值为该地址表项的下一个设备ID值;路由器AR1构建一个单播地址,该单播地址的网络前缀、横坐标和纵坐标分别等于收到的关联消息的源地址的网络前缀、横坐标和纵坐标,消息类型为2,设备ID为ID1;路由器AR1构建一个关联确认消息,该关联确认消息的源地址为收到的关联消息的目的地址,目的地址为构建的单播地址,负载为构建的加密数据块E1,路由器AR1发送该关联确认消息,执行步骤314;
步骤307:路由器AR1查看自己的地址表判断是否存在当前设备ID或者下一个设备ID等于设备ID ID1的地址表项,如果存在,则执行步骤308,否则执行步骤311;
步骤308:路由器AR1随机产生正整数n11,执行H1(k0,n11),将执行结果赋给变量k11,然后执行H1(ID0,n11),将执行结果赋给变量ID11;
步骤309:路由器AR1查看自己的地址表判断是否存在当前设备ID或者下一个设备ID等于ID11的地址表项,如果有,执行步骤308,否则执行步骤310;
步骤310:路由器AR1根据公式(1)创建加密数据块E1,本步骤中变量Key的值为k0,变量I的值为ID11,变量k的值为k11;路由器AR1构建一个关联确认消息,该关联确认消息的源地址为收到的关联消息的目的地址,目的地址的网络前缀和链路地址等于收到的关联消息的源地址的网络前缀和链路地址,目的地址的消息类型为2,负载为构建的加密数据块E1;路由器AR1发送该关联确认消息,然后在地址表中创建一个地址表项,当前设备ID和当前秘钥分别为ID0和k0,下一个设备ID和秘钥分别为ID11和k11,执行步骤314;
步骤311:路由器AR1随机产生正整数n2,执行H1(k1,n2),将执行结果赋给变量k2,然后执行H1(ID1,n2),将执行结果赋给变量ID2;
步骤312:路由器AR1查看自己的地址表判断是否存在当前设备ID或者下一个设备ID等于ID2的地址表项,如果有,执行步骤311,否则执行步骤313;
步骤313:路由器AR1根据公式(1)创建加密数据块E1,本步骤中变量Key的值为k1,变量I的值为ID2,变量k的值为k2;路由器AR1构建一个单播地址,该单播地址的网络前缀为GRP1,消息类型为2,地理横坐标为x1,纵坐标为y1,设备ID为ID1;路由器AR1构建一个关联确认消息,该关联确认消息的源地址为收到的关联消息的目的地址,目的地址为构建的单播地址,负载为构建的加密数据块E1;路由器AR1发送该关联确认消息,然后在地址表中创建一个地址表项,当前设备ID和当前秘钥分别为ID1和k1,下一个设备ID和秘钥分别为ID2和k2;
步骤314:车辆节点N6收到关联确认消息后,判断该关联确认消息的目的地址的设备ID是否为ID0,如果是,执行步骤315,否则执行步骤316;
步骤315:车辆节点N6利用秘钥k0解密关联确认消息负载中的加密数据块E1获取新的设备ID和秘钥,执行步骤317;
步骤316:车辆节点N6利用秘钥k1解密关联确认消息负载中的加密数据块E1获取新的设备ID和秘钥;
步骤317:结束。
通过上述过程,车辆节点与本地路由器建立关联关系从而实现安全通信。
本发明所述方法中,在车辆节点N6位于子网U1中,当前的地理坐标为(x3,y3),车辆节点N6的当前设备ID为ID2,当前的秘钥为k2,子网U1的路由器为AR1,路由器AR1的网络前缀为GRP1,地理坐标为(xAR1,yAR1),远程服务器S1的设备ID为IDS,地理坐标为(xs,ys)为且位于子网U2内,子网U2的路由器为AR2,路由器AR2的网络前缀为GRP2的条件下,车辆节点N6通过下述步骤实现与远程服务器S1的安全通信:
步骤401:开始;
步骤402:车辆节点N6随机产生正整数n3,执行H1(k2,n3),将执行结果赋给变量k3,然后执行H1(ID2,n3),将执行结果赋给变量ID3;
步骤403:车辆节点N6创建一个自己的单播地址和服务器S1的单播地址;在车辆节点N6自己的单播地址中,网络前缀为GRP1,消息类型为0,横坐标为x3,纵坐标为y3,设备ID为ID2;在服务器的单播地址中,网络前缀为GRP2,消息类型为3,横坐标为xs,纵坐标为ys,设备ID为IDs;根据公式(1)创建加密数据块E1,本步骤中变量Key的值为k2,Encrypt1为对称加密算法,变量I的值为ID3,变量k的值为k3;车辆节点N6构建一个数据请求消息,该数据请求消息的源地址为自己的单播地址,目的地址为服务器S1的单播地址,负载为加密数据块E1;车辆节点N6发送该数据请求消息,该数据请求消息首先到达路由器AR1;
步骤404:路由器AR1收到数据请求消息后,查看地址表中下一个设备ID域值等于接收到的数据请求消息的源地址的设备ID ID2的地址表项,然后利用该地址表项的下一个秘钥域值k2解密数据请求消息负载中的加密数据块E2从而获取设备ID值ID3和秘钥k3;路由器AR1查看自己的地址表判断是否存在当前设备ID或者下一个设备ID等于ID3的地址表项,如果存在,执行步骤408,否则执行步骤405;
步骤405:路由器AR1随机产生正整数n4,执行H1(k3,n4),将执行结果赋给变量k4,然后执行H1(ID3,n4),将执行结果赋给变量ID4;
步骤406:路由器AR1查看自己的地址表判断是否存在当前设备ID或者下一个设备ID等于ID4的地址表项,如果有,执行步骤405,否则执行步骤407;
步骤407:路由器AR1根据公式(1)创建加密数据块E1,本步骤中变量Key的值为k3,变量I的值为ID4,变量k的值为k4;路由器AR1创建一个单播地址,在单播地址中,网络前缀为GRP1,消息类型为0,横坐标为x3,纵坐标为y3,设备ID为ID3;路由器AR1将数据请求消息中的负载E1更新为新构建的E1,源地址更新为新创建的单播地址,然后发送数据请求消息;路由器AR1在地址表中更新下一个设备ID为ID2的地址表项,即将该地址表项的当前设备ID和当前秘钥分别设置为ID3和k3,将下一个设备ID和秘钥分别设置为ID4和k4,执行步骤411;
步骤408:路由器AR1随机产生正整数n4,执行H1(k2,n4),将执行结果赋给变量k4,然后执行H1(ID2,n4),将执行结果赋给变量ID4;
步骤409:路由器AR1查看自己的地址表判断是否存在当前设备ID或者下一个设备ID等于ID4的地址表项,如果有,执行步骤408,否则执行步骤410;
步骤410:路由器AR1根据公式(1)创建加密数据块E1,本步骤中变量Key的值为k2,变量I的值为ID4,变量k的值为k4;路由器AR1将数据请求消息中的负载E1更新为新构建的E1,然后发送数据请求消息;路由器AR1在地址表中更新下一个设备ID为ID2的地址表项,即将该地址表项的当前设备ID和当前秘钥分别设置为ID2和k2,将下一个设备ID和秘钥分别设置为ID4和k4,执行步骤411;
步骤411:远程服务器S1接收到数据请求消息后,根据消息类型,服务器S1根据公式(2)产生加密数据块E2,本步骤中变量Data的值为响应数据,变量Key的值为k0;服务器S1创建一个单播地址,该单播地址的网络前缀和链路地址等于收到的数据请求消息源地址的网络前缀和链路地址,消息类型为4;远程服务器S1发送一个数据确认消息,该数据确认消息的目的地址为创建的单播地址,该数据确认消消息的源地址为接收到数据请求消息的目的地址,负载为加密数据块E1和加密数据块E2;
E2=Encrypt1[Data]Key (2)
步骤412:车辆节点N6接收到数据确认消息后,利用秘钥k0解密数据块E2获取响应数据,然后判断该响应消息的目的地址的设备ID是否为ID2,如果是,执行步骤413,否则执行步骤414;
步骤413:车辆节点N6利用秘钥k2解密数据确认消息负载中的加密数据块E1获取新的设备ID和秘钥,执行步骤415;
步骤414:车辆节点N6利用秘钥k3解密关联数据确认消息负载中的加密数据块E1获取新的设备ID和秘钥;
步骤415:结束。
通过上述过程,车辆节点能够实现安全通信。
本发明所述方法中,每个路由器保存一个路由器表,每个路由表项包括两个域:路由器的网络前缀集合和路由器的地理坐标;路由器表为预先设置;
如果车辆节点N6的当前设备ID为ID4,当前秘钥为k4,车辆节点N6从子网U1向子网U2进行移动,车辆节点N6的地理坐标为(x4,y4),子网U1的路由器为AR1,地理坐标为(xAR1,yAR1),网络前缀为GRP1,子网U2的路由器为AR2,地理坐标为(xAR2,yAR2),网络前缀为GRP2,则车辆节点N6执行下述切换操作:
步骤501:开始;
步骤502:车辆节点N6随机产生正整数n5,执行H1(k4,n5),将执行结果赋给变量k5,然后执行H1(ID4,n5),将执行结果赋给变量ID5;
步骤503:车辆节点N6创建一个自己的单播地址、路由器AR1的单播地址以及路由器AR2的单播地址;在自己的单播地址中,网络前缀为GRP1,消息类型为0,横坐标为x4,纵坐标为y4,设备ID为ID4;在路由器AR1的单播地址中,网络前缀为GRP1,消息类型为6,链路地址为路由器AR1的链路地址;在路由器AR2的单播地址中,网络前缀为GRP2,消息类型为0,链路地址为路由器AR2的链路地址;车辆节点N6根据公式(3)创建加密数据块E4,本步骤中变量Key的值为k4,变量I的值为ID5,变量k的值为k5,变量Address为路由器AR2的单播地址,Encrypt1为对称加密算法;车辆节点N6构建一个移动消息,该移动消息的源地址为自己的单播地址,目的地址为路由器AR1的单播地址,负载为加密数据块E4,最后车辆节点N6发送该移动消息;
E4=Encrypt1[Address,ID,k]Key (3)
步骤504:路由器AR1收到移动消息后,查看地址表中下一个设备ID值为ID4的地址表项从而获取该地址表项的下一个秘钥k4,然后利用秘钥k4解密移动消息中的数据块E4以获取路由器AR2的单播地址,设备ID值ID5以及秘钥k5,然后删除该单播地址;路由器AR1重新构建路由器AR2的单播地址,在该单播地址中,网络前缀为GRP2,消息类型为6,链路地址为路由器AR2的链路地址,然后根据公式(1)创建加密数据块E1,本步骤中变量Key的值为k0,变量I的值为I D5,变量k的值为k5,Encrypt1为对称加密算法;车辆节点N6构建一个移动消息,该移动消息的源地址为接收到的移动消息的源地址,目的地址为重新构建的路由器AR2的单播地址,负载为加密数据块E1,最后发送构建的移动消息;
步骤505:路由器AR2收到移动消息后,利用秘钥k0解密移动消息负载中的加密数据块E1并获取了设备ID ID5和秘钥k5;
步骤506:路由器AR2随机产生正整数n6,执行H1(k5,n6),将执行结果赋给变量k6,然后执行H1(ID5,n6),将执行结果赋给变量ID6;
步骤507:路由器AR2查看自己的地址表判断是否存在当前设备ID或者下一个设备ID等于ID6的地址表项,如果有,执行步骤506,否则执行步骤508;
步骤508:路由器AR2查看自己的地址表判断是否存在当前设备ID或者下一个设备ID等于设备ID ID5的地址表项,如果存在,则执行步骤510,否则执行步骤509;
步骤509:路由器AR2在地址表中创建一个地址表项,当前设备ID和当前秘钥分别为ID5和k5,下一个设备ID和秘钥分别为ID6和k6,执行步骤511;
步骤510:路由器AR2在地址表中创建一个地址表项,当前设备ID和当前秘钥分别为ID4和k0,下一个设备ID和秘钥分别为ID6和k6,执行步骤511;
步骤511:路由器AR2根据公式(1)创建加密数据块E1,本步骤中变量Key的值为k0,变量I的值为ID6,变量k的值为k6;路由器AR2构建一个单播地址,该单播地址的网络前缀、地理横坐标、纵坐标以及设备ID分别等于接收到的移动消息的源地址的网络前缀、横坐标、纵坐标和设备ID,该单播地址的消息类型为7;路由器AR2发送一个移动确认消息,该移动确认消息的源地址为收到的移动消息的目的地址,目的地址为构建的单播地址,负载为构建的加密数据块E1,发送该移动确认消息;
步骤512:车辆节点N6接收到移动确认消息后,利用秘钥k0解密消息负载中的数据块E1以获取设备ID值ID6和秘钥k6,将当前设备ID设置为ID6,将当前秘钥设置为k6;
步骤513:结束。
通过上述过程能够确保车辆节点在移动过程中仍能实现安全通信。
有益效果:本发明提供了一种安全的车联网数据通信实现方法,所述车辆节点通过本发明所提供的实现方法可安全获取网络提供的数据服务,同时能够确保安全性,缩短数据获取延迟和代价,提高服务质量,本发明可应用于重要信息的传输,例如私人信息监测、医疗健康等领域,具有广泛的应用前景。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1为本发明所述的构建子网流程示意图。
图2为本发明所述的关联流程示意图。
图3为本发明所述的获取秘钥流程示意图。
图4为本发明所述的安全通信示意图。
图5为本发明所述的切换流程示意图。
具体实施方式:
本发明提供了一种安全的车联网数据通信实现方法,所述车辆节点通过本发明所提供的实现方法可安全获取网络提供的数据服务,同时能够确保安全性,缩短数据获取延迟和代价,提高服务质量,本发明可应用于重要信息的传输,例如私人信息监测、医疗健康等领域,具有广泛的应用前景。
图1为本发明所述的构建子网流程示意图。包括远程服务器和第三方认证数据中心,所述车联网包括路由器和车辆节点;路由器有一个无线接口和两个以上的有线接口,有线接口用于连接其他路由器,无线接口用于连接车辆节点;车辆节点之间通过无线接口通信,车辆节点通过距离自己最近的路由器实现通信;一个路由器以及通过该路由器实现通信的所有车辆节点构成一个子网;一个子网内的所有车辆节点具有相同网络前缀,一个车辆节点通过所在子网的路由器从远程服务器获取数据;
车辆节点具有唯一的ID,例如硬件ID或者车牌号,车辆节点向第三方认证数据中心进行注册后,第三方认证数据中心向车辆节点签发一个秘钥k0和单向哈希函数H1,秘钥k0用于实现车辆节点与路由器的安全通信,单向哈希函数H1用于产生秘钥;
远程服务器S1向第三方认证数据中心进行注册后,第三方认证数据中心向服务器S1签发一个秘钥k0,同时保存远程服务器S1的地址以及签发的秘钥;
路由器具有唯一的网络前缀,该网络前缀预先设置,例如:3EFC:1:1:1/64,路由器向第三方认证数据中心进行注册后,第三方认证数据中心向车辆节点签发秘钥k0和单向哈希函数H1,秘钥k0用于实现与车辆节点或者路由器的安全通信,单向哈希函数H1用于产生秘钥;
车辆节点或者路由器的单播地址包括网络前缀,消息类型和链路地址三个部分,链路地址包括横坐标、纵坐标和设备ID三个部分;
消息类型定义如下表所示:
路由器维护一个地址表,用于记录所在子网中所有车辆节点的信息,一个地址表项由5个域构成,包括当前设备ID、当前秘钥、下一个设备ID、下一个秘钥以及生命周期,生命周期设置时间一般设置为10小时;
如果路由器检测到一个地址表项的生命周期衰减为0,则删除该地址表项;
路由器AR1的网络前缀为GRP1,地理坐标为(xAR1,yAR1),当路由器AR1启动后定期执行下述步骤:
步骤101:开始;
步骤102:路由器AR1创建自己的单播地址,该地址中,网络前缀为GRP1,消息类型为5,横坐标和纵坐标为(xAR1,yAR1),设备ID为自己的设备ID,然后路由器AR1广播一个信标消息,该消息的目的地址为广播地址,源地址为创建的单播地址,负载为空,然后路由器AR1定期广播该信标消息;
步骤103:车辆节点收到信标帧后,判断所有接收到的信标帧中该信标帧的源地址的横坐标和纵坐标是否距离自己最近,如果是,执行步骤104,否则执行步骤105;
步骤104:车辆节点保存路由器AR1的链路地址和网络前缀GRP1,然后将该信标消息转发给邻居车辆节点,执行步骤103;
步骤105:车辆节点丢弃接收到的信标消息;
步骤106:结束。
图2为本发明所述的关联流程示意图。车辆节点N6具有值为ID0的唯一的ID,距离车辆节点N6最近的路由器为AR1,路由器AR1的网络前缀为GRP1,路由器AR1的地理坐标为(xAR1,yAR1),车辆节点N6向第三方认证数据中心进行注册后获取了秘钥k0和单向哈希函数H1,如果车辆节点N6的当前地理坐标为(x1,y1),则车辆节点N6通过下述过程向路由器AR1执行关联操作:
步骤201:开始;
步骤202:车辆节点N6随机产生正整数n1,执行H1(k0,n1),单向哈希函数H1,秘钥k0和正整数n1为输入参数;将执行结果赋给变量k1,然后执行H1(ID0,n1),将执行结果赋给变量ID1;
步骤203:车辆节点N6创建一个自己的单播地址和路由器AR1的单播地址,在自己的单播地址中,网络前缀为GRP1,消息类型为0,横坐标为x1,纵坐标为y1,设备ID为ID0;在路由器的单播地址中,网络前缀为GRP1,消息类型为1,链路地址为路由器AR1的链路地址;车辆节点N6根据公式(1)创建加密数据块E1,本步骤中变量Key的值为k0,变量I的值为ID1,变量k的值为k1,Encrypt1为对称加密算法,例如3DES;车辆节点N6构建一个关联消息,该关联消息的源地址为自己的单播地址,目的地址为路由器AR1的单播地址,负载为加密数据块E1;最后车辆节点N6发送该关联消息;
E1=Encrypt1[I,k]Key (1)
步骤204:路由器AR1收到关联消息后,利用秘钥k0解密关联消息负载中的加密数据块E1并获取了设备ID值ID1和秘钥k1;路由器AR1查看自己的地址表判断是否存在当前设备ID或者下一个设备ID等于设备ID值ID1的地址表项,如果存在,则执行步骤205,否则执行步骤208;
步骤205:路由器AR1随机产生正整数n11,执行H1(k0,n11),将执行结果赋给变量k11,然后执行H1(ID0,n11),将执行结果赋给变量ID11;
步骤206:路由器AR1查看自己的地址表判断是否存在当前设备ID或者下一个设备ID等于ID11的地址表项,如果有,执行步骤205,否则执行步骤207;
步骤207:路由器AR1根据公式(1)创建加密数据块E1,本步骤中变量Key的值为k0,变量I的值为ID11,变量k的值为k11;路由器AR1构建一个关联确认消息,该关联确认消息的源地址为收到的关联消息的目的地址,目的地址的网络前缀和链路地址等于收到的关联消息的源地址的网络前缀和链路地址,目的地址的消息类型为2,负载为构建的加密数据块E1;路由器AR1发送该关联确认消息,然后在地址表中创建一个地址表项,当前设备ID和当前秘钥为ID0和k0,下一个设备ID和秘钥为ID11和k11,执行步骤211;
步骤208:路由器AR1随机产生正整数n2,执行H1(k1,n2),将执行结果赋给变量k2,然后执行H1(ID1,n2),将执行结果赋给变量ID2;
步骤209:路由器AR1查看自己的地址表判断是否存在当前设备ID或者下一个设备ID等于ID2的地址表项,如果有,执行步骤208,否则执行步骤210;
步骤210:路由器AR1根据公式(1)创建加密数据块E1,本步骤中变量Key的值为k1,变量I的值为ID2,变量k的值为k2;路由器AR1构建一个单播地址,该单播地址的网络前缀为GRP1,消息类型为2,地理横坐标为x1,纵坐标为y1,设备ID为ID1;路由器AR1构建一个关联确认消息,该关联确认消息的源地址为收到的关联消息的目的地址,目的地址为构建的单播地址,负载为构建的加密数据块E1,发送该关联确认消息;路由器AR1在地址表中创建一个地址表项,当前设备ID和当前秘钥为ID1和k1,下一个设备ID和秘钥分别为ID2和k2;
步骤211:车辆节点N6收到关联确认消息后,判断该关联确认消息的目的地址的设备ID是否为ID0,如果是,执行步骤212,否则执行步骤213;
步骤212:车辆节点N6利用秘钥k0解密关联确认消息负载中的加密数据块E1获取新的设备ID和秘钥,执行步骤214;
步骤213:车辆节点N6利用秘钥k1解密关联确认消息负载中的加密数据块E1获取新的设备ID和秘钥;
步骤214:结束。
通过上述过程,车辆节点与本地路由器建立关联关系从而实现安全通信。
图3为本发明所述的获取秘钥流程示意图。如果步骤201-214过程中,车辆节点N6在发送关联消息之后,在设定时间内没有收到关联确认消息,设定时间可以设置为1s,则执行下述步骤:
步骤301:开始;
步骤302:车辆节点N6重新发送上次发送的关联消息;
步骤303:路由器AR1收到关联消息后,利用秘钥k0解密关联消息负载中的加密数据块E1并获取了设备ID值ID1和秘钥k1;路由器AR1查看自己的地址表判断是否存在当前设备ID等于设备ID ID0的地址表项,如果存在,则执行步骤304,否则执行步骤305;
步骤304:路由器AR1根据公式(1)创建加密数据块E1,本步骤中变量Key的值为k0,变量I的值为该地址表项的下一个设备ID值,变量k的值为该地址表项的下一个设备ID值;路由器AR1构建一个关联确认消息,该关联确认消息的源地址为收到的关联消息的目的地址,目的地址的网络前缀和链路地址等于收到的关联消息的源地址的网络前缀和链路地址,目的地址的消息类型为2,负载为构建的加密数据块E1,路由器AR1发送该关联确认消息,执行步骤314;
步骤305:路由器AR1查看自己的地址表判断是否存在当前设备ID等于设备ID值ID1的地址表项,如果存在,则执行步骤306,否则执行步骤307;
步骤306:路由器AR1根据公式(1)创建加密数据块E1,本步骤中变量Key的值为k1,变量I的值为该地址表项的下一个设备ID值,变量k的值为该地址表项的下一个设备ID值;路由器AR1构建一个单播地址,该单播地址的网络前缀、横坐标和纵坐标分别等于收到的关联消息的源地址的网络前缀、横坐标和纵坐标,消息类型为2,设备ID为ID1;路由器AR1构建一个关联确认消息,该关联确认消息的源地址为收到的关联消息的目的地址,目的地址为构建的单播地址,负载为构建的加密数据块E1,路由器AR1发送该关联确认消息,执行步骤314;
步骤307:路由器AR1查看自己的地址表判断是否存在当前设备ID或者下一个设备ID等于设备ID ID1的地址表项,如果存在,则执行步骤308,否则执行步骤311;
步骤308:路由器AR1随机产生正整数n11,执行H1(k0,n11),将执行结果赋给变量k11,然后执行H1(ID0,n11),将执行结果赋给变量ID11;
步骤309:路由器AR1查看自己的地址表判断是否存在当前设备ID或者下一个设备ID等于ID11的地址表项,如果有,执行步骤308,否则执行步骤310;
步骤310:路由器AR1根据公式(1)创建加密数据块E1,本步骤中变量Key的值为k0,变量I的值为ID11,变量k的值为k11;路由器AR1构建一个关联确认消息,该关联确认消息的源地址为收到的关联消息的目的地址,目的地址的网络前缀和链路地址等于收到的关联消息的源地址的网络前缀和链路地址,目的地址的消息类型为2,负载为构建的加密数据块E1;路由器AR1发送该关联确认消息,然后在地址表中创建一个地址表项,当前设备ID和当前秘钥分别为ID0和k0,下一个设备ID和秘钥分别为ID11和k11,执行步骤314;
步骤311:路由器AR1随机产生正整数n2,执行H1(k1,n2),将执行结果赋给变量k2,然后执行H1(ID1,n2),将执行结果赋给变量ID2;
步骤312:路由器AR1查看自己的地址表判断是否存在当前设备ID或者下一个设备ID等于ID2的地址表项,如果有,执行步骤311,否则执行步骤313;
步骤313:路由器AR1根据公式(1)创建加密数据块E1,本步骤中变量Key的值为k1,变量I的值为ID2,变量k的值为k2;路由器AR1构建一个单播地址,该单播地址的网络前缀为GRP1,消息类型为2,地理横坐标为x1,纵坐标为y1,设备ID为ID1;路由器AR1构建一个关联确认消息,该关联确认消息的源地址为收到的关联消息的目的地址,目的地址为构建的单播地址,负载为构建的加密数据块E1;路由器AR1发送该关联确认消息,然后在地址表中创建一个地址表项,当前设备ID和当前秘钥分别为ID1和k1,下一个设备ID和秘钥分别为ID2和k2;
步骤314:车辆节点N6收到关联确认消息后,判断该关联确认消息的目的地址的设备ID是否为ID0,如果是,执行步骤315,否则执行步骤316;
步骤315:车辆节点N6利用秘钥k0解密关联确认消息负载中的加密数据块E1获取新的设备ID和秘钥,执行步骤317;
步骤316:车辆节点N6利用秘钥k1解密关联确认消息负载中的加密数据块E1获取新的设备ID和秘钥;
步骤317:结束。
通过上述过程,车辆节点与本地路由器建立关联关系从而实现安全通信。
图4为本发明所述的安全通信示意图。在车辆节点N6位于子网U1中,当前的地理坐标为(x3,y3),车辆节点N6的当前设备ID为ID2,当前的秘钥为k2,子网U1的路由器为AR1,路由器AR1的网络前缀为GRP1,地理坐标为(xAR1,yAR1),远程服务器S1的设备ID为IDS,地理坐标为(xs,ys)为且位于子网U2内,子网U2的路由器为AR2,路由器AR2的网络前缀为GRP2的条件下,车辆节点N6通过下述步骤实现与远程服务器S1的安全通信:
步骤401:开始;
步骤402:车辆节点N6随机产生正整数n3,执行H1(k2,n3),将执行结果赋给变量k3,然后执行H1(ID2,n3),将执行结果赋给变量ID3;
步骤403:车辆节点N6创建一个自己的单播地址和服务器S1的单播地址;在车辆节点N6自己的单播地址中,网络前缀为GRP1,消息类型为0,横坐标为x3,纵坐标为y3,设备ID为ID2;在服务器的单播地址中,网络前缀为GRP2,消息类型为3,横坐标为xs,纵坐标为ys,设备ID为IDs;根据公式(1)创建加密数据块E1,本步骤中变量Key的值为k2,Encrypt1为对称加密算法,变量I的值为ID3,变量k的值为k3;车辆节点N6构建一个数据请求消息,该数据请求消息的源地址为自己的单播地址,目的地址为服务器S1的单播地址,负载为加密数据块E1;车辆节点N6发送该数据请求消息,该数据请求消息首先到达路由器AR1;
步骤404:路由器AR1收到数据请求消息后,查看地址表中下一个设备ID域值等于接收到的数据请求消息的源地址的设备ID ID2的地址表项,然后利用该地址表项的下一个秘钥域值k2解密数据请求消息负载中的加密数据块E2从而获取设备ID值ID3和秘钥k3;路由器AR1查看自己的地址表判断是否存在当前设备ID或者下一个设备ID等于ID3的地址表项,如果存在,执行步骤408,否则执行步骤405;
步骤405:路由器AR1随机产生正整数n4,执行H1(k3,n4),将执行结果赋给变量k4,然后执行H1(ID3,n4),将执行结果赋给变量ID4;
步骤406:路由器AR1查看自己的地址表判断是否存在当前设备ID或者下一个设备ID等于ID4的地址表项,如果有,执行步骤405,否则执行步骤407;
步骤407:路由器AR1根据公式(1)创建加密数据块E1,本步骤中变量Key的值为k3,变量I的值为ID4,变量k的值为k4;路由器AR1创建一个单播地址,在单播地址中,网络前缀为GRP1,消息类型为0,横坐标为x3,纵坐标为y3,设备ID为ID3;路由器AR1将数据请求消息中的负载E1更新为新构建的E1,源地址更新为新创建的单播地址,然后发送数据请求消息;路由器AR1在地址表中更新下一个设备ID为ID2的地址表项,即将该地址表项的当前设备ID和当前秘钥分别设置为ID3和k3,将下一个设备ID和秘钥分别设置为ID4和k4,执行步骤411;
步骤408:路由器AR1随机产生正整数n4,执行H1(k2,n4),将执行结果赋给变量k4,然后执行H1(ID2,n4),将执行结果赋给变量ID4;
步骤409:路由器AR1查看自己的地址表判断是否存在当前设备ID或者下一个设备ID等于ID4的地址表项,如果有,执行步骤408,否则执行步骤410;
步骤410:路由器AR1根据公式(1)创建加密数据块E1,本步骤中变量Key的值为k2,变量I的值为ID4,变量k的值为k4;路由器AR1将数据请求消息中的负载E1更新为新构建的E1,然后发送数据请求消息;路由器AR1在地址表中更新下一个设备ID为ID2的地址表项,即将该地址表项的当前设备ID和当前秘钥分别设置为ID2和k2,将下一个设备ID和秘钥分别设置为ID4和k4,执行步骤411;
步骤411:远程服务器S1接收到数据请求消息后,根据消息类型,服务器S1根据公式(2)产生加密数据块E2,本步骤中变量Data的值为响应数据,变量Key的值为k0;服务器S1创建一个单播地址,该单播地址的网络前缀和链路地址等于收到的数据请求
一种安全的车联网数据通信实现方法专利购买费用说明
Q:办理专利转让的流程及所需资料
A:专利权人变更需要办理著录项目变更手续,有代理机构的,变更手续应当由代理机构办理。
1:专利变更应当使用专利局统一制作的“著录项目变更申报书”提出。
2:按规定缴纳著录项目变更手续费。
3:同时提交相关证明文件原件。
4:专利权转移的,变更后的专利权人委托新专利代理机构的,应当提交变更后的全体专利申请人签字或者盖章的委托书。
Q:专利著录项目变更费用如何缴交
A:(1)直接到国家知识产权局受理大厅收费窗口缴纳,(2)通过代办处缴纳,(3)通过邮局或者银行汇款,更多缴纳方式
Q:专利转让变更,多久能出结果
A:著录项目变更请求书递交后,一般1-2个月左右就会收到通知,国家知识产权局会下达《转让手续合格通知书》。
动态评分
0.0