1.一种基于区块链的二手车信息共享方法,其特征在于,包括以下步骤:首先,设计了车主在分布式网络环境中对汽车信息的安全共享和私密存储,汽车数据一经上链便不可篡改;然后,利用分布式密钥生成技术替代传统私钥生成机构PKG为各大汽车组织机构和车主颁发密钥;最后,在汽车数据存储上实行链上链下分布存储,链上存储数据哈希,链下分布式数据库存储车辆完整数据信息。
2.根据权利要求1所述的一种基于区块链的二手车信息共享方法,其特征在于,所述利用分布式密钥生成技术为各大汽车组织机构和车主颁发密钥,具体包括:系统服务器选择安全参数,公布系统公共参数后,每个权威中心设置自己的多项式算法并执行算法,然后生成主密钥;
权威密钥生成:
车主用户密钥生成。
3.根据权利要求2所述的一种基于区块链的二手车信息共享方法,其特征在于,所述生成主密钥的步骤具体包括:系统服务器选择安全参数λ,输入系统安全参数后,输出系统公共参数paramas,首先,选择两个阶为大素数q的加法循环群G1,G2,e:G1×G2→GT是一个非退化性的、可以高效计算的双线性映射,其中,G1的生成元是g,h,g,h代表生成元,在G1上计算*
以g为底的离散对数上是不可行的,GT的阶为q,令哈希函数H1:{0,1} →G1,H2:GT→G1,GT→G1表示哈希函数的映射,H2表示另一个哈希函数,令N代表系统中所有权威的个数,所以系统公共参数为paramas=(G1,G2,e,g,h,H1,H2,N);
在公布系统公共参数后,每个权威中心即4S店、保险公司、汽车维修机构需要设置自己的多项式算法并执行算法,然后生成主密钥,其具体步骤如下:首先,每个权威中心Pi使用Pedersen‑VSS算法生成一个随机值Zi,并且在 上随机选N‑1 N‑1
择两个N‑1次多项式:fi(x)=ai0+ai1x+...+ai(N‑1)x ,fi′(x)=bi0+bi1x+...+bi(N‑1)x令zi=ai0=fi(0), 表示表示一个模q的乘法群,ai(N‑1)、bi(N‑1)表示两个多项式中的系N‑1
数,x 表示多项式中的变量,接着,每一个中心Pi计算并广播Bik表示验证秘密值的参数、 表示在G1上的运算值、表示在G1上的运算值同时,每一个Pi向系统中的其余权威Pj送秘密值sij=f(j)i,s′ij=f′i(j)(modq)(j=1,2,...,n),n表示n个机构,代表节点个数,然后,每一个权威中心Pi(i=
1,2,...,n)在收到秘密值后便检查等式是否成立:如果上述等式成立,那么代表权威中心发过来的秘密值是正确的;否则秘密值无效,那么Pj返回给Pi一个错误提示;在这个过程中,如果权威Pi收到了其他权威发送的错误提示,那么它需要重新广播新的sij,s′ij值直到满足上述等式为止,以证明自己身份的真实性。
4.根据权利要求3所述的一种基于区块链的二手车信息共享方法,其特征在于,在证明自己身份的真实性过程中,定义以下情况为不合格的权威中心:收到的错误提示超过N‑1个;用伪造错误的值回复对方发送的错误提示;然后,每一方都建立一个集合,集合里面的成员为诚实的资格,在分析中表明,所有诚实的各方都建立了相同的集合SET,因此,为了简单起见,用一个唯一的全局名称来表示它。
5.根据权利要求4所述的一种基于区块链的二手车信息共享方法,其特征在于,所述权威密钥生成步骤具体包括:N个权威机构已经建立起来了系统主密钥 少于N个权威被破坏,它们则无法恢复系统主密钥;
权威Pi的私钥和公钥分别为:
系统主公钥为: ai0表示fi(x)多项式的第一个参数,Ai0表示权s s
威i的公钥,通过在G1上计算 得到,g表示在G1上计算g得到。
6.根据权利要求5所述的一种基于区块链的二手车信息共享方法,其特征在于,所述车主用户密钥生成具体包括以下步骤:汽车在进行维修保养等操作之前,车主需要在权威机构获取密钥,每个权威中心Pj根据用户输入的参数和身份标志idi,向用户秘密返回部分私钥 用户验证并检查等式是否成立:
若等式成立,权威发送的部分密钥则是正确的;若不成立,权威则重新发送直到等式成立,用户收到所有的密钥过后,用户便计算自己的私钥:即:
则其对应的区块账本归属者私钥: 表示用户idi的私钥、表示用户idi的公钥、 表示用户idi加密账本的私钥,用来解密文件, 表示用户idi加密账本的公钥钥,用来加密文件;
账本公钥:
至此,用户的身份注册已经完成了。
7.根据权利要求6所述的一种基于区块链的二手车信息共享方法,其特征在于,在汽车数据存储上实行链上链下分布存储,链上存储数据哈希,车辆使用信息及车辆归属权更换信息上链,具体包括步骤:
1)车主和维修机构分别使用自己的私钥对维修记录信息M进行签名表示 用户i对文 件M签 名、
表示用户j对文件M签名、Metedata表示原始的数据文件;
2)车主使用账本归属者公钥对汽车数据记录进行加密得到加密文件Record,其中加密算法采用椭圆曲线加密ECC加密算法加密:timestamp表示时间戳, 表示用户i对账本进行加密。
3)维修保养机构对加密了的数据进行哈希压缩处理,并建立文件和分布式数据的映射关系,生成文件索引Mindex,使用用户的私钥对文件索引进行加密得到EPKi(Mindex),后将数据哈希 和加密索引EPKi(Mindex)一起生成事务并广播;
4)将加密的文件信息Record存入分布式数据库中,在存入数据库之前数据库需要验证身份信息,在第一次存储数据时,数据库会存储用户的Hash(ID),以作为身份检测,还需要验证文件的哈希指纹Hash(Record),确保文件的唯一性;
5)数据记录打包,算法设定某一主节点在一段时间内来对接受的交易打包,数据节点拥有在某段时间内的数据记录权限,将某段时间暂时收集的广播数据整合成数据集合。
8.根据权利要求7所述的一种基于区块链的二手车信息共享方法,其特征在于,用户查询汽车历史信息时,具体包括步骤:
权威机构检查用户的合法性,验证身份信息,确保用户为合法用户,以下为用户与分布式数据库之间上传下载数据的具体流程:
1)根据协议,汽车机构会在分布式数据库中建立数据索引,将加密的汽车文件Record和其对应的汽车文件哈希Hash(Record)存入分布式数据库中,其中文件哈希用于防止攻击者的恶意攻击;然后,汽车机构对加密文件Record进行哈希计算,再将文件索引使用用户的公钥加密EPKi(Mindex),其中会附加VIN的键值,以便用户快速搜索,最后将文件哈希Hash(Record)与其对应的文件索引信息存储在汽车信息链上;
2)如果用户B想要购买用户A的汽车,B先要经过权威机构检查身份属性和查询权限,A用户向B用户展示汽车的历史车况,A首先在链上数据对自己汽车VIN码进行查询,获取链上的加密数据,并用自己的私钥解密得到文件索引Mindex,通过索引Mindex得到分布式数据库中的加密文件,后用归属者私钥Skowner对文件Record进行解密得到Metedata,将汽车数据文件M一并发送给B用户;
3)B对A发送的汽车信息进行验证,以确保数据信息的真实性。B通过A提供的文件索引Mindex在链上查找汽车数据,A向B发送自己的身份id(A),用户B获取了A的身份信息,知道了id(A)和汽车VIN码便生成账本归属者公钥Pkowner,便对链上加密文件进行解密得到Metedata,进行对比验证机构签名便可判断汽车文件的真伪性。