本发明属于车联网安全,特别是关于基于区块链和物理不可克隆函数(puf)技术的车联网零知识证明身份认证方案。
背景技术:
1、在无线通信技术和计算机科学飞速发展的今天,车联网(v2x)应用已深入汽车的各个领域,它在提高道路安全性和交通效率的同时,也带来了全新的安全挑战。其中,很关键的一环,就是如何在计算能力较弱的车载环境中有效且低成本地保护车辆的真实身份信息。
2、首先,传统的车联网身份认证存在计算资源消耗大的问题。传统方案主要依赖于公钥基础设施(pki),其运行和管理成本高,需要大量的计算资源,而车载环境中的计算资源通常有限。其次,公钥证书可能会被篡改或伪造,证书的撤销和更新也会消耗大量的网络资源。
3、同时,目前的身份认证方案在匿名性和隐私保护方面仍存在不足。虽然一些方案试图通过引入各种匿名机制来提高用户的隐私保护,但这些方案往往要么在实现匿名性的同时牺牲了一定的安全性,要么在保证安全性的同时增加了额外的计算和存储负担。
4、近年来,物理不可克隆函数(puf)技术和区块链技术的应用为解决这个问题提供了新的思路。puf技术因其低成本和高效性,能为每辆车提供唯一且不可复制的身份标识。这一点对于车载环境中计算能力有限的场景来说,具有重要的意义。同时,区块链技术的分布式特性和数据的不可篡改性,能有效地保护车辆的行驶数据和交易信息。
5、本发明基于这一背景,提出了一种基于区块链和puf技术的车联网零知识证明身份认证方案,此方案旨在实现车联网环境下的低成本匿名身份认证,用puf技术保证协议的轻量级,用假名生成及匿名认证机制保证高级别的隐私保护。
技术实现思路
1、本发明的目的为实现车联网环境下的低成本匿名身份认证,用puf技术保证协议轻量级,用假名生成及匿名认证机制保证高级别的隐私保护,可应用于车联网安全中。
2、为了实现上述目的,本发明采用的技术方案是:一种基于区块链和puf技术的车联网零知识证明身份认证方案,其特征在于,包括以下步骤:
3、1)搭建系统架构并进行初始化,主要包括交通云、crs(challenge responsestorage,挑战应答存储)数据库、车辆链;
4、2)身份初始化,每台车辆都向云端提交真实信息以进行身份的初始化;
5、3)车辆通过物理不可克隆函数(puf)技术,与交通云进行身份认证,并生成假名;
6、4)车辆间匿名双向认证,车辆间基于假名机制,通过非交互式零知识证明及ecdhe算法进行匿名双向认证。
7、具体地,本发明一种基于区块链和puf技术的车联网零知识证明身份认证方案,其特征在于:
8、步骤1)所述的架构,由交通云、crs(challenge response storage,挑战应答存储)数据库、车辆链组成:
9、交通云:交通云由交通权威机构维护,是一个中央服务器或者数据中心,它负责处理和管理所有的车辆信息和交通数据。此外,交通云能与车辆进行交互,验证车辆身份,并对车辆的行驶情况进行监控和记录。
10、crs数据库:crs(challenge response storage)数据库用于存储所有车辆的puf挑战-应答对。这些信息用于车辆的身份验证和假名生成过程。当车辆与交通云进行身份验证时,crs数据库中的相应挑战-应答对将被用于确认车辆的身份,并帮助生成一个独特的假名。
11、车辆链:车辆链用于在车辆之间创建一个分布式的网络。每一辆车都是这个网络的一个节点。用于存储车辆假名信息,辅助车辆进行匿名身份认证。
12、步骤1)的每个组件都有特定的初始化过程:
13、交通云:在初始化阶段,交通云需要设置一些基本参数,例如服务器的ip地址和端口等。此外,交通云还需要生成密码学相关的参数信息,具体有sm2曲线选择、基点g选择、公私钥对生成、哈希函数选择等,并将其公开到系统中,以便系统中各组件能够使用。
14、crs数据库:在初始化阶段,crs数据库需要创建一个空的数据库表格,用于存储车辆的puf挑战应答对。每当有新的车辆注册时,它的puf挑战应答对就会被添加到这个数据库中。
15、车辆链:在初始化阶段,车辆链首先需要创建一个创世区块,然后,每辆车辆新注册的假名都会作为一个新节点加入到车辆链中,并创建一个新的区块。
16、步骤2)所述身份初始化具体流程如下:
17、(1)车辆设备配置:设每辆车辆v都配备了独特的puf芯片puf_v和唯一识别码vin_v;
18、(2)身份信息收集与提交:车辆v将自身的真实信息i_v(包括但不限于车主姓名、车辆品牌和型号)与自身的vin_v打包为一组数据m_v,即m_v={iv,vin_v},并将m_v通过安全信道发送至交通云进行身份初始化;
19、(3)身份信息验证与存储:交通云接收到m_v后,对m_v进行包括但不限于线下验证的有效性验证。验证通过后,将车辆v的vin_v和真实信息i_v存储在数据库中;
20、(4)crs挑战响应数据生成:交通云向车辆v发送一系列的挑战c,即c={c_1,c_2,...,c_n}。车辆v的puf芯片puf_v计算这些挑战并生成相应的响应r,即r=puf_v(c);
21、(5)crs挑战响应数据存储:车辆v将生成的响应r发送回交通云,其接收到响应r后,使用vin码和系统公钥pk_sys混合加密r,得到加密后的响应r′,即r′=enc(pk_sys,r)。然后,将c、r′与车辆v的id一起存储在crs数据库中,即crs={id,c,r′}。
22、步骤3)所述车云单向认证,车辆通过物理不可克隆函数(puf)技术,与交通云进行身份认证,并生成假名,其具体流程如下:
23、(1)认证请求:车辆v首先选择自身的唯一标识符(例如车辆id)id_v,然后向交通云发送认证请求req={id_v};
24、(2)挑战生成与发送:交通云生成一系列的挑战c’。这个挑战集合是一组随机数,即c′={c′_1,c′_2,...,c′_n},其中c′_i(1≤i≤n)是基于crs里面存储的crs中,随机选择的一组数字或字符。交通云将c发送给车辆v;
25、(3)响应计算与发送:车辆v的puf芯片puf_v计算挑战c’并生成对应的响应r′,即r′puf_v(c′)。然后,车辆v将r发送回交通云;
26、(4)响应验证:交通云接收到r′后,根据车辆v的唯一标识符id_v和crs数据库中的数据进行验证。如果验证成功,进行下一步;否则,结束流程;
27、(5)假名生成与发送:交通云在挑战集c′中随机选取一个挑战c′_i,计算假名pseudo_v=(r′ixor id_v)*g,其中g是预定的基点,xor表示异或操作。交通云将生成的假名pseudo_v和所选取的挑战应答对c′_i和r′_i封装成消息m={pseudo_v,c′_i,r′_i},然后返回给车辆v,并将pseudo_v与有效期,发送给车辆链进行存储。
28、以上步骤完成了车云的单向认证过程,通过使用puf技术为车辆生成了假名,后续可利用此假名进行匿名双向身份认证。
29、步骤4)中车辆间基于假名机制,通过非交互式零知识证明及ecdhe算法进行匿名双向认证,并生成对称秘钥加密通信,假设有两个需要进行匿名双向认证的车辆a和b,具体流程如下:
30、(1)a选择假名并生成证明:a在自己的假名集合中选择一个假名pseudo_a。然后,a使用随机数发生器随机选择一个数r,,计算r=rg和c=hash(r,pseudo_a)。然后,a计算sec_a=r xor vin_a和z=r+csec_a,这里″xor″表示异或操作,r是此假名对应的挑战响应,vin_a是a的vin码,sec_a是a计算得到的安全密钥。然后,a生成证明π_a={r,z}。此外,a还会选取另一个随机数x,计算出ecdhe参数xg,,用于后续生成对称秘钥;
31、(2)a发送证明:a将自己的假名pseudo_a、π_a、当前的时间戳t_a和ecdhe参数xg整合成消息m_a={pseudoa,πa,ta,xg},然后发送给b;
32、(3)b验证假名、时间戳和证明:b首先查看车辆链上pseudo_a是否存在,随后验证对应的有效期,确认pseudo_a是真实存在且未过期的假名。然后,b校验时间戳t_a,,如果当前时间与t_a的差值过大,则丢弃此次请求。接着,b计算c=hash(pseudo_a,r),验证zg是否等于r+cpseudo_a。。如果验证成功,那么b确认a的身份;
33、(4)b生成证明、计算ecdhe参数并发送:b也用同样的方式生成自己的证明π_b,然后选取随机数y,,生成ecdhe参数yg。b将自己的假名pseudo_b、证明π_b、当前的时间戳t_b和ecdhe参数yg整合成消息m_b={pseudo_b,π_b,t_b,yg},然后发送给a;
34、(5)a验证假名、时间戳和证明:类似的,a在车辆链上验证pseudo_b的有效性,然后校验时间戳t_b和验证π_b的正确性。如果验证成功,那么a确认b的身份;
35、(6)双方计算对称密钥:a和b在本地分别计算xyg和yxg,后续可通过此对称秘钥进行加密通信。
36、本发明的有益效果如下:
37、本发明利用物理不可克隆函数(puf)技术和区块链技术,创新地提出了一种车联网零知识证明身份认证方案。该方案在实现低成本和高效的身份认证的同时,通过引入假名生成及匿名认证机制,有效地强化了用户隐私和匿名性的保护。