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

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

Info

Publication number
CN108270573B
CN108270573B CN201810033472.5A CN201810033472A CN108270573B CN 108270573 B CN108270573 B CN 108270573B CN 201810033472 A CN201810033472 A CN 201810033472A CN 108270573 B CN108270573 B CN 108270573B
Authority
CN
China
Prior art keywords
value
sig
cluster
service provider
transaction
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.)
Active
Application number
CN201810033472.5A
Other languages
English (en)
Other versions
CN108270573A (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

Images

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

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)系统初始化:
利用椭圆曲线密码算法中的初始化算法,生成系统公开参数
Figure BDA0001545797490000021
其中,q是一个大素数,
Figure BDA0001545797490000022
是有限域,Eq(a,b)是一条椭圆曲线,
Figure BDA0001545797490000023
是该椭圆曲线的系数,G是该椭圆曲线上的一个基点,l是基点G的素数阶,
Figure BDA0001545797490000024
是乘法群,g是乘法群
Figure BDA0001545797490000025
的生成元,H(·)是安全Hash算法SHA256,Hs(·)是一个定义域为{0,1}*、值域为
Figure BDA0001545797490000026
的密码学哈希函数;
(2)密钥生成:
(2a)软件服务提供商、云存储器、汽车制造商和无人驾驶汽车分别调用椭圆曲线密码算法的密钥生成算法,生成各自的公钥和私钥:
软件服务提供商的私钥为
Figure BDA0001545797490000027
公钥为pkSW=skSW·G;
云存储器的私钥为
Figure BDA0001545797490000031
公钥为pkCS=skCS·G;
汽车制造商的第一私钥为
Figure BDA0001545797490000032
第一公钥为pkOEA=skOEA·G;
汽车制造商的第二私钥为
Figure BDA0001545797490000033
第二公钥为pkOEB=skOEB·G;
汽车的私钥为
Figure BDA0001545797490000034
公钥为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,系统初始化。
利用椭圆曲线密码算法中的初始化算法,生成系统公开参数
Figure BDA0001545797490000041
其中,q是一个大素数,
Figure BDA0001545797490000042
是有限域,Eq(a,b)是一条椭圆曲线,
Figure BDA0001545797490000043
是该椭圆曲线的系数,G是该椭圆曲线上的一个基点,l是基点G的素数阶,
Figure BDA0001545797490000044
是乘法群,g是乘法群
Figure BDA0001545797490000045
的生成元,H(·)是安全Hash算法SHA256,Hs(·)是一个定义域为{0,1}*、值域为
Figure BDA0001545797490000046
的密码学哈希函数。
步骤2,密钥生成。
(2a)软件服务提供商、云存储器、汽车制造商和无人驾驶汽车分别调用椭圆曲线密码算法中的密钥生成算法,生成各自的公钥和私钥,其中:
软件服务提供商生成的私钥为
Figure BDA0001545797490000051
公钥为pkSW=skSW·G;
云存储器生成的私钥为
Figure BDA0001545797490000052
公钥为pkCS=skCS·G;
汽车制造商生成的第一私钥为
Figure BDA0001545797490000053
第一公钥为pkOEA=skOEA·G;
汽车制造商生成的第二私钥为
Figure BDA0001545797490000054
第二公钥为pkOEB=skOEB·G;
汽车生成的私钥为
Figure BDA0001545797490000055
公钥为pkMEM=skMEM·G;
(2b)无人驾驶汽车出厂时,汽车制造商将第二私钥skOEB嵌入到无人驾驶汽车车载单元中。
步骤3,集群生成。
(3a)软件服务提供商、汽车制造商、无人驾驶汽车和云存储器这些节点共同构成一个半分布式P2P网络系统,该网络系统根据通信网络的变化将网络中的节点动态地划分为若干个簇,在每个簇中,簇内成员共同选举出一个性能优越、可信任度高的节点作为簇首,将该簇首作为矿工节点,用于生成新的区块和维护、更新簇内成员的信息;
(3b)簇首按如下步骤获得簇内成员的公钥信息以及簇内汽车制造商的第二私钥信息:
(3b1)簇首向簇内成员公布个人公钥pkOB
(3b2)簇内成员将公钥信息发送给簇首;
(3b3)汽车制造商与簇首进行密钥协商,按如下步骤共同生成会话密钥ssym
(3b31)汽车制造商选取随机秘密值u1∈[0,l-2],计算得到第一协商值:
Figure BDA0001545797490000056
利用自己的第一私钥值skOEA对β进行签名,得到签名值:Sig6=Sign(skOEA,β),将β||Sig6发送给簇首;
(3b32)簇首选取随机秘密值u2∈[0,l-2],计算得到第二协商值:
Figure BDA0001545797490000057
利用自己的私钥值skOB对γ进行签名,得到签名值:Sig7=Sign(skOB,γ),将γ||Sig7发送给汽车制造商;
(3b33)簇首验证签名值Sig6,汽车制造商验证签名值Sig7,若验证通过,则簇首和汽车制造商共同计算出会话密钥
Figure BDA0001545797490000058
执行(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)系统初始化:
利用椭圆曲线密码算法中的初始化算法,生成系统公开参数
Figure FDA0002645092740000011
其中,q是一个大素数,
Figure FDA0002645092740000012
是有限域,Eq(a,b)是一条椭圆曲线,
Figure FDA0002645092740000014
是该椭圆曲线的系数,G是该椭圆曲线上的一个基点,l是基点G的素数阶,
Figure FDA0002645092740000013
是乘法群,g是乘法群
Figure FDA0002645092740000015
的生成元,H(·)是安全Hash算法SHA256,Hs(·)是一个定义域为{0,1}*、值域为
Figure FDA0002645092740000016
的密码学哈希函数;
(2)密钥生成:
(2a)软件服务提供商、云存储器、汽车制造商和无人驾驶汽车分别调用椭圆曲线密码算法的密钥生成算法,生成各自的公钥和私钥:
软件服务提供商的私钥为
Figure FDA0002645092740000017
公钥为pkSW=skSW·G;
云存储器的私钥为
Figure FDA0002645092740000018
公钥为pkCS=skCS·G;
汽车制造商的第一私钥为
Figure FDA0002645092740000019
第一公钥为pkOEA=skOEA·G;
汽车制造商的第二私钥为
Figure FDA00026450927400000110
第二公钥为pkOEB=skOEB·G;
汽车的私钥为
Figure FDA00026450927400000111
公钥为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)无人驾驶汽车查看新的区块信息,从云存储器中获取驱动更新包并进行更新。
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],计算得到第一协商值:
Figure FDA0002645092740000021
利用自己的第一私钥值skOEA对β进行签名,得到签名值:Sig6=Sign(skOEA,β),将β||Sig6发送给簇首;
(3b32)簇首选取随机秘密值u2∈[0,l-2],计算得到第二协商值:
Figure FDA0002645092740000022
利用自己的私钥值skOB对γ进行签名,得到签名值:Sig7=Sign(skOB,γ),将γ||Sig7发送给汽车制造商;
(3b33)簇首验证签名值Sig6,汽车制造商验证签名值Sig7,若验证通过,则簇首和汽车制造商共同计算出会话密钥
Figure FDA0002645092740000031
否则,重新执行步骤(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 CN108270573A (zh) 2018-07-10
CN108270573B true 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)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7031374B2 (ja) * 2018-03-01 2022-03-08 株式会社デンソー 検証端末、検証システム
CN109194610B (zh) * 2018-07-24 2020-09-29 北京交通大学 基于区块链辅助的车载雾数据轻量级匿名接入认证方法
CN109150540B (zh) * 2018-08-03 2021-04-16 广东工业大学 一种无人设备的系统更新验证方法及装置
CN109407663B (zh) * 2018-09-04 2020-11-06 上海交通大学 基于区块链的无人驾驶信息安全保障方法和系统
CN109118767A (zh) * 2018-09-05 2019-01-01 盐城骏拔汽车零部件有限公司 基于无人机的智能交通系统
CN109284119B (zh) * 2018-09-27 2021-12-28 维沃移动通信有限公司 一种应用功能控制参数处理方法、装置及设备
CN109450621B (zh) * 2018-10-12 2021-06-18 广州杰赛科技股份有限公司 一种设备的信息校验方法与装置
CN109889589B (zh) * 2019-02-18 2021-11-23 闪联信息技术工程中心有限公司 一种基于区块链实现嵌入式硬件ota升级系统及方法
KR20210128469A (ko) * 2019-02-19 2021-10-26 레드 밴드 리미티드 V2v 통신을 통한 차량들로의 소프트웨어 업데이트 분산 및 차량들의 컴뮤니티에 의한 검증
CN110830547A (zh) * 2019-09-23 2020-02-21 厦门大学 基于区块链存证的无人驾驶信息存储方法及装置
CN111339111A (zh) * 2020-02-26 2020-06-26 北京邮电大学 一种高精度地图数据的更新方法及系统
CN114531454B (zh) * 2022-02-25 2024-01-16 中发国研信息技术研究院(北京)有限公司 基于区块链的无人驾驶数据集可信测评系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 北京交通大学 车载自组织网络中基于区块链技术的车辆通信方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9862488B2 (en) * 2015-08-28 2018-01-09 Mcafee, Llc Location verification and secure no-fly logic for unmanned aerial vehicles

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 北京交通大学 车载自组织网络中基于区块链技术的车辆通信方法

Also Published As

Publication number Publication date
CN108270573A (zh) 2018-07-10

Similar Documents

Publication Publication Date Title
CN108270573B (zh) 无人驾驶汽车的隐私保护方法
CN108964919B (zh) 基于车联网的具有隐私保护的轻量级匿名认证方法
CN110637328B (zh) 一种基于便携式设备的车辆访问方法
JP5310761B2 (ja) 車両ネットワークシステム
JP4742120B2 (ja) 認証方法及び装置
WO2019083440A2 (zh) 一种车载设备升级方法及相关设备
US11228438B2 (en) Security device for providing security function for image, camera device including the same, and system on chip for controlling the camera device
WO2014196181A1 (ja) データ認証装置、及びデータ認証方法
CN106953839B (zh) 车联网中非可信资源传播的阻控系统及方法
CN102082665B (zh) 一种eap认证中的标识认证方法、系统和设备
JP2013138304A (ja) セキュリティシステム及び鍵データの運用方法
CN114286332B (zh) 一种具有隐私保护的动态高效车载云管理方法
CN112437108A (zh) 面向车联网隐私保护的去中心化身份认证装置和方法
CN114362993A (zh) 一种区块链辅助的车联网安全认证方法
CN111314269B (zh) 一种地址自动分配协议安全认证方法及设备
CN113452764B (zh) 一种基于sm9的车联网v2i双向认证方法
CN111131160B (zh) 一种用户、服务及数据认证系统
JP6203798B2 (ja) 車載制御システム、車両、管理装置、車載コンピュータ、データ共有方法、及びコンピュータプログラム
Aslam et al. One-way-linkable blind signature security architecture for VANET
KR101749449B1 (ko) 차량형 애드혹 네트워크를 위한 프라이버시를 보존하는 두 단계 익명성 인증 방법 및 시스템
CN113115309B (zh) 车联网的数据处理方法、装置、存储介质和电子设备
KR101690093B1 (ko) 제어된 보안 도메인
US11570008B2 (en) Pseudonym credential configuration method and apparatus
KR102523416B1 (ko) 이미지에 대한 보안 기능을 제공하는 보안 장치, 이를 포함하는 카메라 장치 및 카메라 장치를 제어하는 시스템 온 칩
US9038143B2 (en) Method and system for network access control

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