欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2017101966041
申请人: 常熟理工学院
专利类型:发明专利
专利状态:已下证
专利领域: 电通信技术
更新日期:2024-04-29
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种安全的车联网数据通信实现方法,其特征在于,包括远程服务器和第三方认证数据中心,所述车联网包括路由器和车辆节点;路由器有一个无线接口和两个以上的有线接口,有线接口用于连接其他路由器,无线接口用于连接车辆节点;车辆节点之间通过无线接口通信,车辆节点通过距离自己最近的路由器实现通信;一个路由器以及通过该路由器实现通信的所有车辆节点构成一个子网;一个子网内的所有车辆节点具有相同网络前缀,一个车辆节点通过所在子网的路由器从远程服务器获取数据;

车辆节点具有唯一的ID,车辆节点向第三方认证数据中心进行注册后,第三方认证数据中心向车辆节点签发一个秘钥k0和单向哈希函数H1,秘钥k0用于实现车辆节点与路由器的安全通信,单向哈希函数H1用于产生秘钥;

远程服务器S1向第三方认证数据中心进行注册后,第三方认证数据中心向服务器S1签发一个秘钥k0,同时保存远程服务器S1的地址以及签发的秘钥;

路由器具有唯一的网络前缀,该网络前缀预先设置,路由器向第三方认证数据中心进行注册后,第三方认证数据中心向车辆节点签发秘钥k0和单向哈希函数H1,秘钥k0用于实现与车辆节点或者路由器的安全通信,单向哈希函数H1用于产生秘钥;

车辆节点或者路由器的单播地址包括网络前缀,消息类型和链路地址三个部分,链路地址包括横坐标、纵坐标和设备ID三个部分;

消息类型定义如下表所示:

消息名称 消息类型

关联 1

关联确认消息 2

数据请求消息 3

数据确认消息 4

信标消息 5

移动消息 6

移动确认消息 7

路由器维护一个地址表,用于记录所在子网中所有车辆节点的信息,一个地址表项由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:结束。