一种车联网中基于云端存储区块链的车辆隐私保护方法

文档序号:35490252发布日期:2023-09-17 01:01阅读:40来源:国知局
一种车联网中基于云端存储区块链的车辆隐私保护方法

本发明涉及去中心化身份管理等区块链应用领域的技术,具体涉及一种车联网中基于云端存储区块链的车辆隐私保护方法。


背景技术:

1、区块链技术是一种基于去中心化、分布式数据库的技术。在一个区块链网络中,数据被分成许多“块”并“链接”在一起形成一个“链”,每个块都被设计为包含前一块的所有信息,以便于信息的验证、记录和追溯。区块链技术的最大优点是去中心化,不需要一个单独的机构或中介进行认证和验证,这意味着数据不存储在单一的中心数据库中,而是在许多分布式节点上存储,即使某些节点被攻击或失效,整个网络仍然可以保持运行。

2、去中心化身份(decentralized identifiers,did)是一种基于区块链技术的身份认证和授权解决方案,允许用户在区块链上创建唯一的数字标识符,并由用户自行掌控其私钥和数据。数字标识符可以被用于验证用户身份,而不需要中心化的身份验证机构的介入。

3、车联网(internet of vehicles,iov)是一种实现车辆间、车辆与道路基础设施之间以及车辆与互联网之间相互连接,实现数据交互、信息共享等功能的汽车网络。车联网主要由云端和车载单元两部分构成。云端(cloud server,cs)是车联网系统的核心部件,也是数据存储和计算的主要场所。车辆数据在cs上被统一管理、分析和处理,为车主、服务商等提供各种服务。车载单元(on-board unit,obu)则安装在车辆嵌入式设备中,包括传感器、通讯模块等,主要负责采集车辆数据并上传,同时接收来自cs的指令,完成相应操作。

4、现有的车联网生态中云端cs普遍采用中心化模式,各车企搭建自己的云服务器并为本品牌车辆提供服务,车企与车企之间、车企与政府等第三方机构之间没有形成统一的平台,无法实现跨平台的数据共享。

5、此外,车联网生态中的身份管理目前主要由中心化的认证中心(certificateauthority,ca)负责,由ca为车辆颁发身份证书,并通过证书交换和验证完成身份认证。由于车辆的快速移动性以及频繁的信息交互,利用证书进行身份认证容易引发攻击者对车辆的动态追踪和身份破解,进而对车辆的位置、身份隐私信息造成威胁。


技术实现思路

1、为了解决现有车联网生态中存在的云端身份认证和授权方式过于中心化的问题,本发明提出一种车联网中基于云端存储区块链的车辆隐私保护方法,构建基于区块链技术的云端系统,在该系统中包括多个云端节点和区块链,车辆通过云端节点进行身份认证,如图6,具体包括以下步骤:

2、车辆向云端网络进行注册,注册成功后云端网络为车辆生成永久身份和临时身份;

3、车辆a需要向其他车辆进行交互时,车辆a将自身的临时身份发送给云端并向其申请一个可验证声明;

4、云端创建可验证声明并反馈给车辆a,可验证声明中包括临时身份track id的有效期;

5、车辆a收到可验证声明后,若需要请求与车辆b交互,则将可验证声明和交互请求发送到车辆b;

6、车辆b通过云端系统的公钥验证可验证声明的有效性,若通过验证,则接受车辆a的交互请求,否则拒绝。

7、进一步的,车辆自身的身份信息为车载单元根据车辆标识码(vehicleidentification number,vin)创建的去中心化身份,所述去中心化身份包括did标识、did公私密钥对和did文档,did标识为一串数字身份,did文档存储did标识和did公私密钥对的信息,一个did标识对应一个did文档。

8、进一步的,did标识为通过随机加密算法将车辆的vin码转换为密文获得,即无法通过did标识推算得到vin码、也无法通过vin码推算得到did标识。

9、进一步的,did文档的数据结构表示为{id,created,updated,publickey,proof},其中,id用于存储did标识,created用于存储创建did文档的时间,updated用于存储维护did文档的时间,publickey用于存储当前did文档关联的车辆公钥信息,proof用于存储当前did文档的证明。

10、进一步的,车辆向云端申请可验证声明时,若当前车辆未在车联网中注册,车辆进行注册的过程包括以下步骤:

11、需要进行注册的车辆将自身的did标识、did文档利用其自身的私钥进行签名后发送到最近的云端节点;

12、收到请求注册的信息的云端节点将请求通过p2p加密通信发送给区块链网络中其他云端节点;

13、所有收到请求注册信息的云端节点根据did文档中的公钥验证签名,验证请求是否来自正确的发送者且未被篡改,若验证失败,则拒绝车辆的注册请求;

14、若验证成功,则各个云端节点在区块链网络中查询did标识,验证该did是否已注册,若已注册则拒绝车辆的注册请求;

15、若未注册则云端各个节点通过共识协议对注册请求进行共识性投票,每个节点仅有一票且只能允许注册和拒绝注册两种投票类型,在规定时间内投票类型票数多的即为投票结果;

16、若投票结果为拒绝注册则由最初收到请求注册消息的云端节点回传拒绝注册的消息;

17、若投票结果为允许注册则各个云端节点使用云端系统的私钥对did文档签名,该签名作为did文档的证明,即该签名写入did文档的proof字段,证明已验证did;

18、各个云端节点利用摘要算法生成did标识对应的临时身份track id,各个云端节点将track id、did标识和did文档打包至区块;

19、云端节点通过共识协议对区块进行共识性投票,将打包区块的哈希广播给其余云端节点,同时接收其余云端节点发送的区块哈希,并与自己打包区块的哈希对比;

20、若各云端节点独立打包的区块哈希与其余大多数云端节点相同,则认为投票通过,区块可被添加至区块链,由最初收到请求的云端节点将did文档和track id利用云端系统的私钥签名后回传给车辆;

21、否则由最初收到请求的节点发送拒绝注册的回传消息,车辆注册成功后向该车辆公开云端系统的公钥,车辆收到回传消息后,通过云端的公钥验证签名是否有效;验证签名后,将did文档和track id保存在本地,将did文档作为车辆的永久身份、将track id作为车辆的临时身份。

22、进一步的,将track id、did标识和did文档打包至区块,在其区块结构中将did标识、track id记录至区块头的id列表,did文档作为一份数据记录至区块体。

23、进一步的,每个车辆的临时身份track id具有有效期,需要定期对临时身份进行更新,更新过程包括:

24、通过摘要生成算法结合当前临时身份有效期间车辆的行驶数据,生成一个新的临时身份(为了区分track id,以下称为new track id);

25、车辆使用did文档对应的私钥对did标识和new track id签名,将did标识、newtrack id、行驶数据和签名信息打包成临时身份更新请求发送给距离最近云端节点;

26、云端节点收到临时身份更新请求后,将请求通过p2p加密通信发送给其他云端节点;

27、云端节点根据did标识在区块链网络中查询did文档,根据did文档中的公钥验证签名,验证请求是否来自正确的发送者且未被篡改,若验证失败,则拒绝车辆的请求;

28、云端节点利用区块链网络中存储的车辆当前track id,与车辆上传的行驶数据执行与车辆相同的摘要算法,将结果与new track id对比验证车辆是否上传伪造数据,若验证失败,则拒绝车辆的请求;

29、云端节点通过共识协议对更新请求进行共识性投票,每个云端节点均有一票且只有同意更新和拒绝更新两个投票类型,规定时间内获得票数多的选项即为投票结果,若投票结果为拒绝更新,则由最初收到请求的节点发送拒绝更新的回传消息;

30、若投票结果为允许更新,云端节点根据new track id,生成可验证声明,云端节点使用系统私钥对可验证声明进行签名,该签名作为可验证声明的证明,即该签名写入可验证声明的proof字段,证明已对new track id及对应的可验证声明进行验证;

31、云端节点将track id、new track id和生成的可验证声明打包至区块,其中trackid和new track id标识记录至区块头的id列表,可验证声明作为一份数据记录至区块体;

32、各节点通过共识协议对区块进行共识性投票,将打包区块的哈希广播给其余节点,同时接收其余节点发送的区块哈希,并与自己打包的区块哈希对比;

33、若各节点独立打包的区块哈希与其余大多数节点相同,则认为投票通过,区块可被添加至区块链,最初收到临时身份更新请求的云端节点将可验证声明利用系统私钥签名后发送回传给车辆;

34、若投票未通过,则最初收到临时身份更新请求的云端节点发送拒绝更新的回传消息。

35、进一步的,可验证声明的数据结构表示为{id,issuancedate,expirationdate,publickey,datahsah,proof},其中,id用于存储车辆当前的临时身份track id,issuancedate用于存储当前可验证声明的颁布时间,expirationdate用于存储当前可验证声明的过期时间,publickey用于存储当前可验证声明关联的车辆的did公钥,datahsah用于存储当前可验证声明关联的track id对应的行驶数据摘要,proof用于存储当前可验证声明的证明。

36、进一步的,通过摘要生成算法结合当前临时身份有效期间车辆的行驶数据,生成一个新的临时身份new track id的过程包括:

37、车辆将上一周期利用摘要算法生成的track id作为第一数据摘要;

38、利用摘要算法生成行驶数据对应的行驶数据摘要,作为第二数据摘要,且第一数据摘要和第二数据摘要长度相同;

39、将第一数据摘要和第二数据摘要通过聚合的形式连接在一起,拼接后的数据使用摘要算法生成第三数据摘要;

40、将第三数据摘要作为new track id。

41、与现有技术相比,本发明具有以下有益效果:

42、1)本发明提出一种新的车辆身份管理方法,通过使用去中心化身份did和临时身份等方式,实现了有条件的车辆隐私保护去中心化身份标识和相关信息都由车辆自主控制并由密钥保护,确保只能被正确的持有者所使用,避免其他人冒充;车辆的去中心化身份仅在与云端交互时使用,不对外公开,降低了身份泄露的风险。临时身份可对外公开,但由于不包含车辆信息,同时无法根据临时身份推断出车辆的去中心化身份,保障了车辆的身份安全。

43、2)本发明还提出了一种基于区块链技术的云端cs架构,通过使用去中心化的分布式节点机制,有效解决了传统车联网生态中云端过于中心化的问题,同时充分利用去中心化的优势,既达到了防篡改、持久存储的目的,保证存储数据的安全性,又实现了高可用性和高容错,即使部分节点宕机,也不会影响数据的存储和管理。此外,云端的节点都由各车企的云服务器构成,存储在云端中的信息为各节点可见,方便实现跨车企的身份查询和认证。

44、3)本发明还提出一种基于行驶数据生成临时身份、链上存储数据摘要、链下存储完整数据的数据管理方法。通过使用区块链结构保护数据摘要,使用分布式数据库保存行驶数据,并将行驶数据与数据摘要高度关联的方式,既达到了存储车辆行驶数据的目的,又增加了攻击者恶意破解临时身份证明的难度,保护车辆的数据和隐私安全。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1