CN108270573A - 无人驾驶汽车的隐私保护方法 - Google Patents

无人驾驶汽车的隐私保护方法 Download PDF

Info

Publication number
CN108270573A
CN108270573A CN201810033472.5A CN201810033472A CN108270573A CN 108270573 A CN108270573 A CN 108270573A CN 201810033472 A CN201810033472 A CN 201810033472A CN 108270573 A CN108270573 A CN 108270573A
Authority
CN
China
Prior art keywords
sig
automaker
value
cluster head
cluster
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810033472.5A
Other languages
English (en)
Other versions
CN108270573B (zh
Inventor
高军涛
王笠燕
李雪莲
王丹妮
王誉晓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN201810033472.5A priority Critical patent/CN108270573B/zh
Publication of CN108270573A publication Critical patent/CN108270573A/zh
Application granted granted Critical
Publication of CN108270573B publication Critical patent/CN108270573B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3252Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/067Network architectures or network communication protocols for network security for supporting key management in a packet data network using one-time keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1093Some peer nodes performing special functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种无人驾驶汽车的隐私保护方法,主要解决现有技术中参与者身份信息没有被隐藏带来的隐私泄露问题和中心化服务器容易单点失败的问题。其实现步骤为:1.系统初始化,生成公开参数;2.网络中的参与者生成各自的公钥和私钥;3.系统动态地将网络中的节点划分为若干个簇;4.软件服务提供商将驱动更新包上传至云存储器;5.软件服务提供商生成一笔交易,并发送给簇首;6.簇首和汽车制造商验证这一驱动更新包;7.簇首广播验证成功的交易并生成新的区块,连接到区块链上;8.无人驾驶汽车根据新的区块信息获取驱动更新包进行更新。本发明为参与者提供了可靠的隐私保护,防止恶意参与者篡改消息,提高了系统的安全性。

Description

无人驾驶汽车的隐私保护方法
技术领域
本发明属于信息安全技术领域,特别涉及一种隐私保护方法,可用于无人驾驶汽车。
背景技术
随着物联网技术的发展,现代社会正逐步由“互联网+”时代步入“智能+”的时代,其应用遍及无人驾驶汽车、智慧家居、智能交通、智能电网等多个领域。其中,无人驾驶汽车的研究势头迅猛。预计到2021年,无人驾驶汽车将进入市场,开启一个崭新的阶段。虽然无人驾驶可以节省人力,但公众也存在安全方面的忧虑。比如,在人工驾驶的汽车和无人驾驶汽车共存的时候,二者是否可以安全地进行交互;无人驾驶汽车收集用户数据以进行预测和分析,这些用户的个人信息是否会被泄露;车车通信、车路通信时是否有足够安全的认证机制能够保障数据的真实性和可靠性等。
在传统的车联网通信方案中,都存在中心化的服务器。当汽车用户请求服务时,需要在第三方平台上填写个人信息以注册账号,从而获得资源访问权限、数据操作权限等。首先,当用户群数量很大时,中心化服务器会有单点失败的风险,一旦平台崩溃,将使整个网络处于瘫痪状态;其次,第三方平台会存储用户的个人隐私信息,这些信息可能会被倒卖、转发导致用户隐私泄露,用户无法控制个人信息的公开程度;最后,平台提供的服务或者内容的真实性无法保证,存在欺骗用户的可能。
无人驾驶汽车若采用上述传统的车联网通信方案,单点失败、隐私泄露、平台被恶意攻击等问题是不可避免的。而且进行汽车驱动程序更新时,一旦安装的是恶意更新,则会造成严重甚至不可挽回的后果。因此无人驾驶汽车的驱动程序进行更新时需要加强认证性、透明性,防止恶意敌手对系统的攻击,实现驱动程序更新包的公开可验证,还要尽可能地保护用户的隐私。
成都信息工程大学在其申请的专利“一种保证汽车ECU免受攻击和自动更新的方法”(公开号:106897627A,申请号:201710093791.0,申请日:2017年02月21日)中公开了一种保证汽车电子控制单元ECU免受攻击和自动更新的方法。在该方法中,车主先通过插入用户权限控制的安全载体Ukey与内容服务提供商TSP建立安全通信信道,然后由车主和内容服务提供商TSP进行双向身份验证,互相确认对方的真实身份,通过验证后在线下载固件,自动更新;更新完成后将哈希值保存在汽车的安全组件上。该方法主要通过用户权限控制的安全载体Ukey控制汽车用户的权限,保障汽车电子控制单元ECU固件安全更新;通过验证固件哈希值,检测是否被篡改。该方法存在的不足之处有两方面:一是车主身份信息没有被隐藏,导致隐私泄露;二是固件更新由内容服务提供商TSP提供,当访问用户过多时,容易造成单点故障。
发明内容
本发明的目的在于针对上述现有的不足,提出一种无人驾驶汽车的隐私保护方法,以保护无人驾驶汽车所属用户和汽车制造商的隐私,避免单点故障,并通过公开验证汽车驱动更新包的真实性,提高系统的安全性和可扩展性。
本发明的技术方案是,对系统进行初始化,用系统中各节点共同组成P2P网络并各自生成密钥;由软件服务提供商将驱动程序更新包上传至云存储器,云存储器将存储地址返回给软件服务提供商,之后软件服务提供商生成一笔交易,通过交易中的一次性公钥通知汽车制造商对驱动程序更新包进行验证,以隐藏汽车制造商的隐私信息;汽车制造商验证成功后进行签名,并将该交易和签名发送给矿工节点,由矿工节点生成新的区块,与此同时,通过节点之间相互转发来通知无人驾驶汽车进行驱动程序更新。其实现步骤如下:
(1)系统初始化:
利用椭圆曲线密码算法中的初始化算法,生成系统公开参数
其中,q是一个大素数,是有限域,Eq(a,b)是一条椭圆曲线,是该椭圆曲线的系数,G是该椭圆曲线上的一个基点,l是基点G的素数阶,是乘法群,g是乘法群的生成元,H(·)是安全Hash算法SHA256,Hs(·)是一个定义域为{0,1}*、值域为的密码学哈希函数;
(2)密钥生成:
(2a)软件服务提供商、云存储器、汽车制造商和无人驾驶汽车分别调用椭圆曲线密码算法的密钥生成算法,生成各自的公钥和私钥:
软件服务提供商的私钥为公钥为pkSW=skSW·G;
云存储器的私钥为公钥为pkCS=skCS·G;
汽车制造商的第一私钥为第一公钥为pkOEA=skOEA·G;
汽车制造商的第二私钥为第二公钥为pkOEB=skOEB·G;
汽车的私钥为公钥为pkMEM=skMEM·G;
(2b)无人驾驶汽车出厂时,汽车制造商将第二私钥skOEB嵌入到无人驾驶汽车车载单元中;
(3)集群生成:
(3a)软件服务提供商、汽车制造商、无人驾驶汽车和云存储器这些节点共同构成一个半分布式P2P网络系统,该网络系统根据通信网络的变化将网络中的节点动态地划分为若干个簇,在每个簇中,簇内成员共同选举出一个性能优越、可信任度高的节点作为簇首,将该簇首作为矿工节点,用于生成新的区块和维护、更新簇内成员的信息;
(3b)簇首获得簇内成员的公钥信息以及簇内汽车制造商的第二私钥信息;
(3c)簇首建立一个列表L,用于记录(3b)中获得的所有信息;
(4)驱动更新包上传:
(4a)软件服务提供商计算驱动更新包W的哈希值:h=H(W),其中,H(·)是安全Hash 算法SHA256,h是生成的哈希值;
(4b)软件服务提供商利用私钥skSW对哈希值h进行签名,得到签名值:Sig1=Sign(skSW,h),其中,Sign表示椭圆曲线签名算法;
(4c)软件服务提供商将{W||h||Sig1}信息上传至云存储器,其中,||表示级联符号;
(4d)云存储器对{W||h||Sig1}信息进行验证,若验证通过,则为驱动更新包分配存储空间,并对分配存储空间地址addr进行签名,得到签名值:Sig2=Sign(skCS,addr);
(4e)云存储器将{addr||Sig2}信息发送给软件服务提供商;
(4f)软件服务提供商验证云存储器对分配地址的签名,得到验证输出值: v1=Verify(pkCS,Sig2),其中,Verify表示椭圆曲线签名算法的验证操作;
(4g)软件服务提供商判断验证输出值v1是否为1,若是,则执行步骤(5),否则,重新执行步骤(4a);
(5)软件服务提供商生成交易并将交易信息发送给所属簇的簇首;
(6)簇首和汽车制造商对交易信息进行验证;
(7)簇首广播验证成功的交易并生成新的区块;
(8)无人驾驶汽车查看新的区块信息,从云存储器中获取驱动更新包并进行更新。
本发明与现有技术相比,具有以下优点:
第一,本发明由于采用一次性公钥隐藏汽车制造商的真实公钥,保护了汽车制造商的隐私,提高了系统的安全性。
第二,本发明由于采用区块链存放交易记录,使得网络中的节点均可验证汽车驱动更新包的真实性,防止了恶意节点对区块信息的篡改。
附图说明
图1为本发明的实现总流程图;
图2是本发明中驱动更新包上传的子流程图;
图3是本发明中交易生成的子流程图;
图4是本发明中交易验证的子流程图;
图5是本发明中交易广播与区块生成的子流程图。
具体实施方式
下面结合附图对本发明做进一步的描述。
本发明适用的系统是:由软件服务提供商、云存储器、汽车制造商和无人驾驶汽车这些节点共同组成的一个P2P网络系统,当软件服务提供商将驱动更新包上传到区块链后,所有的节点都可以验证驱动更新包的真实性和完整性,无人驾驶汽车可以通过请求云存储器来获得驱动更新包,并进行驱动更新;通过隐藏汽车制造商的真实公钥,保护汽车制造商在交易中的真实身份信息。
参照图1,本发明的具体实现如下。
步骤1,系统初始化。
利用椭圆曲线密码算法中的初始化算法,生成系统公开参数
其中,q是一个大素数,是有限域,Eq(a,b)是一条椭圆曲线,是该椭圆曲线的系数,G是该椭圆曲线上的一个基点,l是基点G的素数阶,是乘法群,g是乘法群的生成元,H(·)是安全Hash算法SHA256,Hs(·)是一个定义域为{0,1}*、值域为的密码学哈希函数。
步骤2,密钥生成。
(2a)软件服务提供商、云存储器、汽车制造商和无人驾驶汽车分别调用椭圆曲线密码算法中的密钥生成算法,生成各自的公钥和私钥,其中:
软件服务提供商生成的私钥为公钥为pkSW=skSW·G;
云存储器生成的私钥为公钥为pkCS=skCS·G;
汽车制造商生成的第一私钥为第一公钥为pkOEA=skOEA·G;
汽车制造商生成的第二私钥为第二公钥为pkOEB=skOEB·G;
汽车生成的私钥为公钥为pkMEM=skMEM·G;
(2b)无人驾驶汽车出厂时,汽车制造商将第二私钥skOEB嵌入到无人驾驶汽车车载单元中。
步骤3,集群生成。
(3a)软件服务提供商、汽车制造商、无人驾驶汽车和云存储器这些节点共同构成一个半分布式P2P网络系统,该网络系统根据通信网络的变化将网络中的节点动态地划分为若干个簇,在每个簇中,簇内成员共同选举出一个性能优越、可信任度高的节点作为簇首,将该簇首作为矿工节点,用于生成新的区块和维护、更新簇内成员的信息;
(3b)簇首按如下步骤获得簇内成员的公钥信息以及簇内汽车制造商的第二私钥信息:
(3b1)簇首向簇内成员公布个人公钥pkOB
(3b2)簇内成员将公钥信息发送给簇首;
(3b3)汽车制造商与簇首进行密钥协商,按如下步骤共同生成会话密钥ssym
(3b31)汽车制造商选取随机秘密值u1∈[0,l-2],计算得到第一协商值:利用自己的第一私钥值skOEA对β进行签名,得到签名值:Sig6=Sign(skOEA,β),将β||Sig6发送给簇首;
(3b32)簇首选取随机秘密值u2∈[0,l-2],计算得到第二协商值:利用自己的私钥值skOB对γ进行签名,得到签名值:Sig7=Sign(skOB,γ),将γ||Sig7发送给汽车制造商;
(3b33)簇首验证签名值Sig6,汽车制造商验证签名值Sig7,若验证通过,则簇首和汽车制造商共同计算出会话密钥执行(3b4),否则,重新执行步骤(3b31);
(3b4)汽车制造商利用会话密钥ssym,加密自己的第二私钥skOEB,将获得的密文 CT=Enc(ssym,skOEB)发送给簇首,其中,Enc表示对称加密算法AES的加密算法;
(3b5)簇首利用会话密钥ssym,解密密文CT,获得汽车制造商的第二私钥 skOEB=Dec(ssym,CT),其中,Dec表示对称加密算法AES的解密算法;
(3c)簇首建立一个列表L,用于记录(3b)中获得的所有信息。
步骤4,驱动更新包上传。
参照图2,本步骤的具体实现如下:
(4a)软件服务提供商计算驱动更新包W的哈希值:h=H(W),其中,H(·)是安全Hash 算法SHA256,h是生成的哈希值;
(4b)软件服务提供商利用自己的私钥skSW对哈希值h进行签名,得到签名值: Sig1=Sign(skSW,h),其中,Sign表示椭圆曲线签名算法;
(4c)软件服务提供商将{W||h||Sig1}信息上传至云存储器,其中,||表示级联符号;
(4d)云存储器按如下步骤对{W||h||Sig1}信息进行验证:
(4d1)判断哈希值h=H(W)是否成立:若成立,则哈希值验证通过,执行步骤(4d2),否则,停止操作;
(4d2)计算签名验证输出值:v5=Verify(pkSW,Sig1),其中,Verify表示椭圆曲线签名算法的验证操作,pkSW是软件服务提供商的公钥;
(4d3)判断v5=1是否成立,若成立,则验证通过,云存储器为驱动更新包分配存储空间,并对分配存储空间地址addr进行签名,得到签名值:Sig2=Sign(skCS,addr),否则,验证失败;
(4e)云存储器将{addr||Sig2}信息发送给软件服务提供商;
(4f)软件服务提供商验证云存储器对分配地址的签名,得到验证输出值: v1=Verify(pkCS,Sig2);
(4g)软件服务提供商判断验证输出值v1是否为1,若是,则执行步骤(5),否则,重新执行步骤(4a)。
步骤5,交易生成。
本步骤是由软件服务提供商生成交易并将交易信息发送给所属簇的簇首。
参照图3,其实现如下:
(5a)软件服务提供商计算交易的第一部分值:part1={pkSW||addr||pkCS||h||Sig1},并对这部分值进行签名,得到签名值:Sig3=Sign(skSW,part1);
(5b)软件服务提供商计算得到汽车制造商的一次性公钥:pkOT=Hs(r·pkOEB)·G+pkOEA,其中,r∈[1,l-1]是软件服务提供商选取的一个随机数,pkOEA和pkOEB分别是汽车制造商的第一公钥和第二公钥;
(5c)软件服务提供商计算第一辅助值R=r·G;
(5d)软件服务提供商计算交易的第二部分值:part2={pkOT||R},并对这部分值进行签名,得到签名值:Sig4=Sign(skSW,part2);
(5e)软件服务提供商将交易信息transcur={part1||Sig3||part2||Sig4}发送给所属簇的簇首。
步骤6,交易验证。
本步骤是由簇首和汽车制造商对交易信息进行验证。
参照图4,其实现如下:
(6a)簇首收到交易信息transcur后,验证软件服务提供商对交易的第二部分值的签名,得到验证输出值:v2=Verify(pkSW,Sig4);
(6b)判断验证输出值v2是否为1,若是,则执行步骤(6c),否则,拒绝服务并终止记录;
(6c)簇首根据列表L中的信息,分别为簇中的各汽车制造商计算一次性公钥值:pkOT′=Hs(skOEB·R)·G+pkOEA,其中,skOEB是汽车制造商的第二私钥,pkOEA是汽车制造商的第一公钥;
(6d)簇首判断是否存在一个汽车制造商的一次性公钥值满足等式pkOT′=pkOT,若存在,则执行步骤(6e),否则,将交易信息transcur广播给其他簇首,返回步骤(6a);
(6e)簇首将交易信息transcur发送给这一汽车制造商,并通知这一汽车制造商对交易的第二部分值part2进行核实:
首先,这一汽车制造商根据交易信息transcur中软件服务提供商对第一部分值的签名值 Sig3,计算自己的第一验证输出值v6=Verify(pkSW,Sig3),根据交易信息transcur中软件服务提供商对第二部分值的签名值Sig4,计算自己的第二验证输出值v7=Verify(pkSW,Sig4);
接着,这一汽车制造商判断自己的第一验证输出值v6和第二验证输出值v7是否均为1,若是,则计算一次性公钥值:pkOT″=Hs(skOEB·R)·G+pkOEA,否则,验证失败,拒绝服务;
然后,判断等式pkOT″=pkOT是否成立,若成立,则向云存储器提交{addr||h}信息,云存储器将addr地址中存储的驱动更新包W发送给这一汽车制造商,否则,拒绝服务;
最后,这一汽车制造商对驱动更新包的版本进行检测,检测通过后,计算得到一次性私钥值:skOT=Hs(skOEB·R)+skOEA,利用这一私钥对交易的第二部分值part2进行签名,得到汽车制造商对第二部分值part2的签名值:Sig5=Sign(skOT,part2),并将交易信息transcur以及该签名值Sig5发送给所属簇的簇首。
步骤7,交易广播与区块生成。
参照图5,本步骤的具体实现如下:
(7a)簇首根据汽车制造商对第二部分值的签名值Sig5,计算自己的第一验证输出值:v3=Verify(pkOT,Sig5),其中,pkOT表示汽车制造商的一次性公钥;
(7b)簇首判断自己的第一验证输出值v3是否为1,若是,则将当前交易Transcur={transcur||Sig5}放入交易池中并继续验证其他交易,否则,拒绝服务;
(7c)簇首将当前交易Transcur广播给其他簇首;
(7d)每个簇首计算自己的不同验证输出值:
根据软件服务提供商对第一部分值的签名值Sig3,计算自己的第二验证输出值 v8=Verify(pkSW,Sig3);
根据软件服务提供商对第二部分值的签名值Sig4,计算自己的第三验证输出值 v9=Verify(pkSW,Sig4);
根据汽车制造商对第二部分值的签名值Sig5,计算自己的第四验证输出值 v10=Verify(pkOT,Sig5);
(7e)簇首判断自己的第二验证输出值v8、第三验证输出值v9和第四验证输出值v10是否均为1,若是,则验证通过,并向簇中成员广播此交易,否则,验证失败,拒绝服务;
(7f)当交易池中的交易个数达到区块规定值t时,簇首生成新的区块 Blocki={i,H(Blocki-1),Msgi,Trans1,Trans2,...,Transt},并将这一区块添加到区块链中,其中,t是一个正整数,Blocki表示第i个区块,i表示区块的标号,H(Blocki-1)表示前一个区块的哈希值,Msgi表示第i个区块中包含的推广信息,Trans1,Trans2,...,Transt表示区块中包含的t 个交易;
(7g)其他簇的簇首验证新的区块中的交易是否真实,若真实,则将这一区块添加到自身维护的区块链中,否则,拒绝添加。
步骤8,驱动下载与更新。
无人驾驶汽车查看区块链中的新的区块,根据新的区块中的信息,从云存储器中获取驱动更新包并更新,其实现如下:
(8a)无人驾驶汽车计算一次性公钥值pkOT″′=Hs(skOEB·R)·G+pkOEA,判断等式pkOT=pkOT″′是否成立,若成立,则执行步骤(8b),否则,停止操作;
(8b)无人驾驶汽车根据汽车制造商对第二部分值的签名Sig5,计算自己的第一验证输出值:v4=Verify(pkOT,Sig5),并判断v4是否为1,若是,则执行步骤(8c),否则,停止操作;
(8c)无人驾驶汽车向云存储器提交{addr||h}信息,请求下载驱动更新包;
(8d)云存储器将addr地址中存储的驱动更新包W发送给无人驾驶汽车;
(8e)无人驾驶汽车计算驱动更新包W的哈希值,并判断该哈希值与软件服务提供商计算得到的哈希值h是否相同:
若不相同,则停止操作;
若相同,则更新驱动程序,该更新过程隐藏了汽车制造商的真实公钥,为汽车制造商提供了隐私保护。
以上描述仅是本发明的一个具体实例,并未构成对本发明的任何限制,显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修正和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。

Claims (8)

1.无人驾驶汽车的隐私保护方法,包括如下步骤:
(1)系统初始化:
利用椭圆曲线密码算法中的初始化算法,生成系统公开参数其中,q是一个大素数,是有限域,Eq(a,b)是一条椭圆曲线,是该椭圆曲线的系数,G是该椭圆曲线上的一个基点,l是基点G的素数阶,是乘法群,g是乘法群的生成元,H(·)是安全Hash算法SHA256,Hs(·)是一个定义域为{0,1}*、值域为的密码学哈希函数;
(2)密钥生成:
(2a)软件服务提供商、云存储器、汽车制造商和无人驾驶汽车分别调用椭圆曲线密码算法的密钥生成算法,生成各自的公钥和私钥:
软件服务提供商的私钥为公钥为pkSW=skSW·G;
云存储器的私钥为公钥为pkCS=skCS·G;
汽车制造商的第一私钥为第一公钥为pkOEA=skOEA·G;
汽车制造商的第二私钥为第二公钥为pkOEB=skOEB·G;
汽车的私钥为公钥为pkMEM=skMEM·G;
(2b)无人驾驶汽车出厂时,汽车制造商将第二私钥skOEB嵌入到无人驾驶汽车车载单元中;
(3)集群生成:
(3a)软件服务提供商、汽车制造商、无人驾驶汽车和云存储器这些节点共同构成一个半分布式P2P网络系统,该网络系统根据通信网络的变化将网络中的节点动态地划分为若干个簇,在每个簇中,簇内成员共同选举出一个性能优越、可信任度高的节点作为簇首,将该簇首作为矿工节点,用于生成新的区块和维护、更新簇内成员的信息;
(3b)簇首获得簇内成员的公钥信息以及簇内汽车制造商的第二私钥信息;
(3c)簇首建立一个列表L,用于记录(3b)中获得的所有信息;
(4)驱动更新包上传:
(4a)软件服务提供商计算驱动更新包W的哈希值:h=H(W),其中,片(·)是安全Hash算法SHA256,h是生成的哈希值;
(4b)软件服务提供商利用私钥skSW对哈希值h进行签名,得到签名值:Sig1=Sign(skSW,h),其中,Sign表示椭圆曲线签名算法;
(4c)软件服务提供商将{W||h||Sig1}信息上传至云存储器,其中,||表示级联符号;
(4d)云存储器对{W||h||Sig1}信息进行验证,若验证通过,则为驱动更新包分配存储空间,并对分配存储空间地址addr进行签名,得到签名值:Sig2=Sign(skCS,addr);
(4e)云存储器将{addr||Sig2}信息发送给软件服务提供商;
(4f)软件服务提供商验证云存储器对分配地址的签名,得到验证输出值:v1=Verify(pkCS,Sig2),其中,Verify表示椭圆曲线签名算法的验证操作;
(4g)软件服务提供商判断验证输出值v1是否为1,若是,则执行步骤(5),否则,重新执行步骤(4a);
(5)软件服务提供商生成交易并将交易信息发送给所属簇的簇首;
(6)簇首和汽车制造商对交易信息进行验证;
(7)簇首广播验证成功的交易并生成新的区块;
(8)无人驾驶汽车查看新的区块信息,从云存储器中获取驱动更新包并进行更新。
2.根据权利要求1所述的方法,其特征在于,步骤(3b)簇首获得簇内成员的公钥信息以及簇内汽车制造商的第二私钥信息,按如下步骤进行:
(3b1)簇首向簇内成员公布个人公钥pkOB
(3b2)簇内成员将公钥信息发送给簇首;
(3b3)汽车制造商与簇首进行密钥协商,共同生成会话密钥ssym
(3b4)汽车制造商利用会话密钥ssym,加密第二私钥skOEB,将获得的密文CT=Enc(ssym,skOEB)发送给簇首,其中,Enc表示对称加密算法AES的加密算法;
(3b5)簇首利用会话密钥ssym,解密密文CT,获得汽车制造商的第二私钥skOEB=Dec(ssym,CT),其中,Dec表示对称加密算法AES的解密算法。
3.根据权利要求2所述的方法,其特征在于,步骤(3b3)汽车制造商与簇首进行密钥协商,共同生成会话密钥ssym,具体过程如下:
(3b31)汽车制造商选取随机秘密值u1∈[0,l-2],计算得到第一协商值:利用自己的第一私钥值skOEA对β进行签名,得到签名值:Sig6=Sign(skOEA,β),将β||Sig6发送给簇首;
(3632)簇首选取随机秘密值u2∈[0,l-2],计算得到第二协商值:利用自己的私钥值skOB对γ进行签名,得到签名值:Sig7=Sign(skOB,γ),将γ||Sig7发送给汽车制造商;
(3b33)簇首验证签名值Sig6,汽车制造商验证签名值Sig7,若验证通过,则簇首和汽车制造商共同计算出会话密钥否则,重新执行步骤(3b31)。
4.根据权利要求1所述的方法,其特征在于,步骤(4d)中云存储器对{W||h||Sig1}信息进行验证,其实现如下:
(4d1)判断哈希值h=H(W)是否成立:若成立,则哈希值验证通过,执行步骤(4d2),否则,停止操作;
(4d2)计算签名验证输出值:v5=Verify(pkSW,Sig1),其中,Verify表示椭圆曲线签名算法的验证操作,pkSW是软件服务提供商的公钥;
(4d3)判断v5=1是否成立,若成立,则验证通过,否则,验证失败。
5.根据权利要求1所述的方法,其特征在于,步骤(5)中软件服务提供商生成交易并将交易信息发送给所属簇的簇首,其实现如下:
(5a)软件服务提供商计算交易的第一部分值:part1={pkSW||addr||pkCS||h||Sig1},并对这部分值进行签名,得到签名值:Sig3=Sign(skSW,part1);
(5b)软件服务提供商计算得到汽车制造商的一次性公钥:pkOT=Hs(r·pkOEB)·G+pkOEA,其中,r∈[1,l-1]是软件服务提供商选取的一个随机数,pkOEA和pkOEB分别是汽车制造商的第一公钥和第二公钥;
(5c)软件服务提供商计算第一辅助值R=r·G;
(5d)软件服务提供商计算交易的第二部分值:part2={pkOT||R},并对这部分值进行签名,得到签名值:Sig4=Sign(skSW,part2);
(5e)软件服务提供商将交易信息transcur={part1||Sig3||part2||Sig4}发送给所属簇的簇首。
6.根据权利要求1所述的方法,其特征在于,步骤(6)中簇首和汽车制造商对交易信息进行验证,其实现如下:
(6a)簇首收到交易信息transcur后,验证软件服务提供商对交易的第二部分值的签名,得到验证输出值:v2=Verify(pkSW,Sig4);
(6b)判断验证输出值v2是否为1,若是,则执行步骤(6c),否则,拒绝服务并终止记录;
(6c)簇首根据列表L中的信息,分别为簇中的各汽车制造商计算一次性公钥值:pkOT′=Hs(skOEB·R)·G+pkOEA,其中,skOEB是汽车制造商的第二私钥,pkOEA是汽车制造商的第一公钥;
(6d)簇首判断是否存在一个汽车制造商的一次性公钥值满足等式pkOT′=pkOT,若存在,则执行步骤(6e),否则,将交易信息transcur广播给其他簇首,返回步骤(6a);
(6e)簇首将交易信息transcur发送给这一汽车制造商,并通知汽车制造商对交易的第二部分值part2进行核实;
(6f)这一汽车制造商根据交易信息transcur中软件服务提供商对第一部分值的签名值Sig3,计算自己的第一验证输出值v6=Verify(pkSW,Sig3),根据交易信息transcur中软件服务提供商对第二部分值的签名值Sig4,计算自己的第二验证输出值v7=Verify(pkSW,Sig4);
(6g)汽车制造商判断自己的第一验证输出值v6和第二验证输出值v7是否均为1,若是,则验证通过,执行步骤(6h),否则,验证失败,拒绝服务;
(6h)汽车制造商计算一次性公钥值:pkOT″=Hs(skOEB·R)·G+pkOEA,并判断等式pkOT″=pkOT是否成立,若成立,则向云存储器提交{addr||h}信息,请求下载驱动更新包,否则,拒绝服务;
(6i)云存储器将addr地址中存储的驱动更新包W发送给汽车制造商;
(6j)汽车制造商对驱动更新包的版本进行检测,检测通过后,计算得到一次性私钥值:skOT=Hs(skOEB·R)+skOEA,并利用这一私钥对交易的第二部分值part2进行签名,得到签名值:Sig5=Sign(skOT,part2);
(6k)汽车制造商将交易信息transcur以及该签名值Sig5发送给所属簇的簇首。
7.根据权利要求1所述的方法,其特征在于,步骤(7)中簇首广播交易并生成新的区块,其实现如下:
(7a)簇首根据汽车制造商对第二部分值的签名值Sig5,计算自己的第一验证输出值:v3=Verify(pkOT,Sig5),其中,pkOT表示汽车制造商的一次性公钥;
(7b)簇首判断自己的第一验证输出值v3是否为1,若是,则将当前交易Transcur={transcur||Sig5}放入交易池中并继续验证其他交易,否则,拒绝服务;
(7c)簇首将当前交易Transcur广播给其他簇首;
(7d)每个簇首根据软件服务提供商对第一部分值的签名值Sig3,计算自己的第二验证输出值v8=Verify(pkSW,Sig3),根据软件服务提供商对第二部分值的签名值Sig4,计算自己的第三验证输出值v9=Verify(pkSW,Sig4),根据汽车制造商对第二部分值的签名值Sig5,计算自己的第四验证输出值v10=Verify(pkOT,Sig5),其中,pkSW表示软件服务提供商的公钥;
(7e)簇首判断自己的第二验证输出值v8、第三验证输出值v9和第四验证输出值v10是否均为1,若是,则验证通过,并向簇中成员广播此交易,否则,验证失败,拒绝服务;
(7f)当交易池中的交易个数达到区块规定值t时,簇首生成新的区块Blocki={i,H(Blocki-1),Msgi,Trans1,Trans2,...,Transt},并将这一区块添加到区块链中,其中,t是一个正整数,Blocki表示第i个区块,i表示区块的标号,H{Blocki-1)表示前一个区块的哈希值,Msgi表示第i个区块中包含的推广信息,Trans1,Trans2,...,Transt表示区块中包含的t个交易;
(7g)其他簇首验证新的区块中的交易是否真实,若真实,则将这一区块添加到自身维护的区块链中,否则,拒绝添加。
8.根据权利要求1所述的方法,其特征在于,步骤(8)中无人驾驶汽车查看区块信息,从云存储器中获取驱动更新包并更新,其实现如下:
(8a)无人驾驶汽车计算一次性公钥值pkOT″′=Hs(skOEB·R)·G+pkOEA,判断等式pkOT=pkOT″′是否成立,若成立,则执行步骤(8b),否则,停止操作;
(8b)无人驾驶汽车根据汽车制造商对第二部分值的签名Sig5,计算自己的第一验证输出值:v4=Verify(pkOT,Sig5),并判断v4是否为1,若是,则执行步骤(8c),否则,停止操作;
(8c)无人驾驶汽车向云存储器提交{addr||h}信息,请求下载驱动更新包;
(8d)云存储器将addr地址中存储的驱动更新包W发送给无人驾驶汽车;
(8e)无人驾驶汽车计算驱动更新包W的哈希值,判断哈希值与软件服务提供商计算得到的哈希值h是否相同,若相同,则更新,否则,停止操作。
CN201810033472.5A 2018-01-12 2018-01-12 无人驾驶汽车的隐私保护方法 Active CN108270573B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810033472.5A CN108270573B (zh) 2018-01-12 2018-01-12 无人驾驶汽车的隐私保护方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810033472.5A CN108270573B (zh) 2018-01-12 2018-01-12 无人驾驶汽车的隐私保护方法

Publications (2)

Publication Number Publication Date
CN108270573A true CN108270573A (zh) 2018-07-10
CN108270573B CN108270573B (zh) 2020-11-10

Family

ID=62775546

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810033472.5A Active CN108270573B (zh) 2018-01-12 2018-01-12 无人驾驶汽车的隐私保护方法

Country Status (1)

Country Link
CN (1) CN108270573B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109118767A (zh) * 2018-09-05 2019-01-01 盐城骏拔汽车零部件有限公司 基于无人机的智能交通系统
CN109150540A (zh) * 2018-08-03 2019-01-04 广东工业大学 一种无人设备的系统更新验证方法及装置
CN109194610A (zh) * 2018-07-24 2019-01-11 北京交通大学 基于区块链辅助的车载雾数据轻量级匿名接入认证方法
CN109284119A (zh) * 2018-09-27 2019-01-29 维沃移动通信有限公司 一种应用功能控制参数处理方法、装置及设备
CN109407663A (zh) * 2018-09-04 2019-03-01 上海交通大学 基于区块链的无人驾驶信息安全保障方法和系统
CN109450621A (zh) * 2018-10-12 2019-03-08 广州杰赛科技股份有限公司 一种设备的信息校验方法与装置
CN109889589A (zh) * 2019-02-18 2019-06-14 闪联信息技术工程中心有限公司 一种基于区块链实现嵌入式硬件ota升级系统及方法
CN110830547A (zh) * 2019-09-23 2020-02-21 厦门大学 基于区块链存证的无人驾驶信息存储方法及装置
CN111339111A (zh) * 2020-02-26 2020-06-26 北京邮电大学 一种高精度地图数据的更新方法及系统
CN113454584A (zh) * 2019-02-19 2021-09-28 雷德本德有限公司 经由v2v通信且由车辆社区进行验证的到车辆的软件更新分发
CN114531454A (zh) * 2022-02-25 2022-05-24 中发国研信息技术研究院(北京)有限公司 基于区块链的无人驾驶数据集可信测评系统
US11431474B2 (en) * 2018-03-01 2022-08-30 Denso Corporation Verification terminal and verification system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170057634A1 (en) * 2015-08-28 2017-03-02 Mcafee, Inc. Location verification and secure no-fly logic for unmanned aerial vehicles
CN106897627A (zh) * 2017-02-21 2017-06-27 成都信息工程大学 一种保证汽车ecu免受攻击和自动更新的方法
CN107104791A (zh) * 2017-03-29 2017-08-29 江苏大学 一种基于ecu身份隐藏的车内网络一次一密通信方法
CN107508859A (zh) * 2017-07-20 2017-12-22 北京交通大学 车载自组织网络中基于区块链技术的车辆通信方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170057634A1 (en) * 2015-08-28 2017-03-02 Mcafee, Inc. Location verification and secure no-fly logic for unmanned aerial vehicles
CN106897627A (zh) * 2017-02-21 2017-06-27 成都信息工程大学 一种保证汽车ecu免受攻击和自动更新的方法
CN107104791A (zh) * 2017-03-29 2017-08-29 江苏大学 一种基于ecu身份隐藏的车内网络一次一密通信方法
CN107508859A (zh) * 2017-07-20 2017-12-22 北京交通大学 车载自组织网络中基于区块链技术的车辆通信方法

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11431474B2 (en) * 2018-03-01 2022-08-30 Denso Corporation Verification terminal and verification system
CN109194610A (zh) * 2018-07-24 2019-01-11 北京交通大学 基于区块链辅助的车载雾数据轻量级匿名接入认证方法
CN109150540A (zh) * 2018-08-03 2019-01-04 广东工业大学 一种无人设备的系统更新验证方法及装置
CN109150540B (zh) * 2018-08-03 2021-04-16 广东工业大学 一种无人设备的系统更新验证方法及装置
CN109407663A (zh) * 2018-09-04 2019-03-01 上海交通大学 基于区块链的无人驾驶信息安全保障方法和系统
CN109118767A (zh) * 2018-09-05 2019-01-01 盐城骏拔汽车零部件有限公司 基于无人机的智能交通系统
CN109284119A (zh) * 2018-09-27 2019-01-29 维沃移动通信有限公司 一种应用功能控制参数处理方法、装置及设备
CN109284119B (zh) * 2018-09-27 2021-12-28 维沃移动通信有限公司 一种应用功能控制参数处理方法、装置及设备
CN109450621B (zh) * 2018-10-12 2021-06-18 广州杰赛科技股份有限公司 一种设备的信息校验方法与装置
CN109450621A (zh) * 2018-10-12 2019-03-08 广州杰赛科技股份有限公司 一种设备的信息校验方法与装置
CN109889589B (zh) * 2019-02-18 2021-11-23 闪联信息技术工程中心有限公司 一种基于区块链实现嵌入式硬件ota升级系统及方法
CN109889589A (zh) * 2019-02-18 2019-06-14 闪联信息技术工程中心有限公司 一种基于区块链实现嵌入式硬件ota升级系统及方法
CN113454584A (zh) * 2019-02-19 2021-09-28 雷德本德有限公司 经由v2v通信且由车辆社区进行验证的到车辆的软件更新分发
US12020013B2 (en) 2019-02-19 2024-06-25 Red Bend Ltd. Software updates distribution to vehicles via V2V communication and verification by a community of vehicles
CN110830547A (zh) * 2019-09-23 2020-02-21 厦门大学 基于区块链存证的无人驾驶信息存储方法及装置
CN111339111A (zh) * 2020-02-26 2020-06-26 北京邮电大学 一种高精度地图数据的更新方法及系统
CN114531454A (zh) * 2022-02-25 2022-05-24 中发国研信息技术研究院(北京)有限公司 基于区块链的无人驾驶数据集可信测评系统
CN114531454B (zh) * 2022-02-25 2024-01-16 中发国研信息技术研究院(北京)有限公司 基于区块链的无人驾驶数据集可信测评系统

Also Published As

Publication number Publication date
CN108270573B (zh) 2020-11-10

Similar Documents

Publication Publication Date Title
CN108270573A (zh) 无人驾驶汽车的隐私保护方法
CN112153608B (zh) 一种基于侧链技术信任模型的车联网跨域认证方法
Li et al. Efficient and privacy-preserving carpooling using blockchain-assisted vehicular fog computing
Ni et al. Toward privacy-preserving valet parking in autonomous driving era
CN109391631B (zh) 一种带有可控链接的车联网匿名认证系统及方法
CN106327184B (zh) 一种基于安全硬件隔离的移动智能终端支付系统及方法
KR100843081B1 (ko) 보안 제공 시스템 및 방법
Kumar et al. SEBAP: a secure and efficient biometric‐assisted authentication protocol using ECC for vehicular cloud computing
JP5310761B2 (ja) 車両ネットワークシステム
US20040088541A1 (en) Digital-rights management system
CN110881177B (zh) 基于身份秘密共享的抗量子计算分布式车联网方法及系统
CN108650220B (zh) 发放、获取移动终端证书及汽车端芯片证书的方法、设备
JP2013138304A (ja) セキュリティシステム及び鍵データの運用方法
CN114362993B (zh) 一种区块链辅助的车联网安全认证方法
CN110913390A (zh) 基于身份秘密共享的抗量子计算车联网方法及系统
CN111080299B (zh) 一种交易信息的防抵赖方法及客户端、服务器
Benarous et al. Privacy‐preserving authentication scheme for on‐road on‐demand refilling of pseudonym in VANET
CN109831311A (zh) 一种服务器验证方法、系统、用户终端及可读存储介质
US20100161992A1 (en) Device and method for protecting data, computer program, computer program product
CN115442048A (zh) 一种面向vanet的基于区块链的匿名认证方法
CN117793670A (zh) 一种区块链架构下的车联网安全通信方法
CN110572257B (zh) 基于身份的数据来源鉴别方法和系统
CN116707983A (zh) 授权认证方法及装置、接入认证方法及装置、设备、介质
WO2017008556A1 (zh) 一种无线接入点和管理平台鉴权的方法和装置
CN113545004A (zh) 具有减少攻击面的认证系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant