一种物流区块链的信息隐私保护与监管方法及系统与流程

文档序号:20916763发布日期:2020-05-29 13:37阅读:414来源:国知局
一种物流区块链的信息隐私保护与监管方法及系统与流程

本发明属于信息安全技术领域,具体为一种物流区块链的信息隐私保护与监管方法及系统,可实现物流信息隐私保护和监管,保证物流运输过程中的数据安全。



背景技术:

区块链概念自2008年提出以来,引起了相关技术领域学者的关注并进行研究。近年来,随着区块链技术的不断创新进步,在国内外引起了研究和开发区块链应用的浪潮。区块链是一种由多方共同维护,以块链结构存储数据,使用密码学保证传输和访问安全,能够实现数据一致存储、无法篡改、无法抵赖的技术体系,具有防伪、防篡改、交易可追溯、去信任化等特点。目前区块链技术发展还处于不断成熟和完善阶段,主要应用在金融领域。在其他领域的应用仍处在初步探索阶段,包括保险、物流、食品溯源等方面。本文主要研究区块链在物流运输领域的应用及其隐私保护和监管技术。

本文引用《区块链技术指南》一书中对区块链的定义。区块链是基于区块链技术形成的分布式公共数据库(或称公开账本)。其中区块链技术是指多个参与方之间基于现代密码学、分布式一致性协议、点对点网络通信技术和智能合约编程语言等形成的数据交换、处理和存储的技术组合。

为了方便的理解区块链技术,我们先从介绍比特币入手。在比特币出现之前,数字货币系统需要可信的第三方机构来保证交易的安全有效,例如银行、支付宝、微信等,记账权则交给这些可信中心。比特币是首个去中心化的数字货币,可以解决双重支付和共识问题。比特币系统不依赖于可信的中心管理员,系统中的用户地位平等。大家共同维护账本、验证交易,并且竞争提出区块(记账)。

比特币系统的分布式记账就是通过区块链技术来实现的。在比特币系统中交易被存储在数据区块中,大约每10分钟就会产生一个区块。每个区块包含区块头和区块体两部分。其中交易以merkletree的形式存储在区块体部分,区块头包含当前版本号、前一个区块的地址、时间戳、随机数和当前区块的哈希值以及交易merkletree的根。区块是通过挖矿产生的。而挖矿的过程是穷举随机数的过程。矿工(比特币用户)将10分钟内的交易打包加上前一个区块的哈希值,算出一个随机数,使得这些值的哈希值满足某个条件。如果矿工算出了满足条件的随机数则获得了这个区块的记账权,随后矿工需要将其广播交给其他用户验证。挖矿的矿工竞争获得最终记账权,矿工需要付出大量的能源和时间,以更大的概率获得一个区块的记账权。通过这样的记账方式,大家共同验证、维护统一的账本,已经记录在区块链中的数据无法篡改。

比特币中区块链的简易结构如图1所示。

物流涵盖了物体的运输、仓储、包装、搬运装卸、流通加工、配送以及相关的物流信息等环节。然而目前的物流行业或多或少存在一些安全方面的隐患:有的物流公司,从客户发货到对方收货,客户对货物途中运输情况完全不知,只有物流公司自己知道。有的物流公司虽将运输情况公开给用户,用户通过运单号可随时查看,不过物流数据也可能存在伪造、篡改的风险。区块链技术为此提供了解决思路,区块链分布式、不可篡改、可追踪等特点,适合应用于物流运输的信息记录环节。将用户的货品信息、发货方、收货方记录在公开的账本(即链)上,任意节点都可以下载存储物流数据。链上的物流数据不可篡改,货品的运输情况(包括货从哪来,货经过了哪些节点,目前在哪里)可追踪。本文我们只关注物流的线上信息,不考虑物流线下对货物的包装、运输等操作,假设物流的线下操作是可靠的。

然而直接将区块链引入物流并不是完美的解决方案,因为区块链的公开透明性,链上的物流信息:发货方、货品内容、收货方都是公开的,这对用户的隐私带来威胁。大多情况下,用户并不希望自己的身份、货品被无关的人看到。理想情况下,物流隐私信息应该对除了发货方、收货方、监管方以外的其他节点(包括运输节点)都保密。鉴于此,本文研究基于区块链的物流传输信息系统,重点研究其隐私保护问题和监管问题。提出针对物流运输场景下的区块链隐私保护和监管方法。本发明的方案在保护用户身份及货物的同时,物流监管者可以获得交易双方身份和货品内容(货品内容在发货时就应该可以得到,以确保运输符合规范)。

显然,若想走向实际,首要解决的问题就是用户身份和信息的隐藏。目前区块链隐私保护方法大致可分为三类:基于混合技术、基于环签名和基于零知识证明。下面分别对这三类进行介绍,并指出将其直接用于区块链物流存在的困难。

基于混合技术:混合技术目的是为了打乱输入和输出之间的对应关系,使得其他用户不知道一笔钱来自哪个用户,即实现了发送者的匿名性。在这方面有很多相关的工作,其中又分为带中心的混合和去中心的混合。混合技术适用于多个节点同时有交易任务且交易内容一样的情况下。

在物流系统中,每个用户要运输的货物大都不同,因此混合这种匿名方法不适合应用于物流运输场景。

基于环签名:环签名是一种简化的群签名,环签名中只有环成员没有管理者,不需要环成员间的合作。其他用户只知道签名是由环中的用户所签,但不知道是具体是哪个用户。cryptonote就采用环签名方案实现了发送者身份的隐藏,采用隐身地址的方法实现了接收者的身份隐藏。隐身地址的方法具体来说就是发送方通过接收方的公开信息生成一个随机地址作为接收方的地址,接收方可以通过自己的秘密信息恢复出相应的私钥。因此每次接收者的地址在变化,使得其他节点不能链接哪些交易是发向同一个接收者的,实现了交易的不可关联性。门罗币在cryptonote基础上实现,后续提出了金额隐藏的方案,且实现了交易可链接的性质,采用了可链接的环签名技术。

环签名和隐身地址方法相结合能够保证发送者和接收者的匿名性,发送交易的用户只需要知道环中其他成员的公钥,不需要其他成员的参与,适用于实现物流用户的匿名性。

基于零知识证明:为了提供更好的匿名性,miers等人基于零知识证明设计了一种扩展的比特币系统zerocoin,使得输入的比特币地址与输出的比特币地址之间没有直接关系。zerocoin中币值金额是固定的,无法实现金额的拆分。ben-sasson等人在2014年提出了一种新的匿名数字货币:zerocash。zerocash建立在zerocoin的基础上并对其进行了改进。它采用简洁的非交互零知识证明(zk-snarks)和同态承诺等密码工具,被称为是一种完全匿名的货币。

这种方法提供了很好的隐私保护,不过目前来看证明的实现比较复杂,产生证明效率较低,离实际应用还有一段距离。

上述三类技术关注隐私保护问题的研究,都没有考虑用户身份的监管问题。在实际物流系统中,监管是至关重要的环节。通过前面的分析,环签名技术较适用于实现物流用户的匿名性,在此基础的监管可以考虑用可链接、可追踪的环签名实现特定条件下的用户身份追踪。可链接、可追踪的环签名只有在同一个用户对相同的消息用相同的私钥做了两次签名的情况下,其身份才会被追踪到。这个技术适用场景较窄,不适合物流系统强监管的要求-即物流监管者希望可以追踪到任意用户的身份。



技术实现要素:

本发明的目的在于提供一种基于群签名和公钥加密的区块链物流信息隐私保护与监管方法及系统。根据现有技术的分析可以确定,若直接将物流运输系统的信息直接放在区块链上,虽然满足了用户对物流信息的实时掌握,却也威胁到了用户的隐私;而现有的基于区块链的隐私保护技术,都没有考虑到用户身份的监管。因此为了保证物流信息的隐私保护和监管,本发明设计了一种基于群签名和公钥加密的区块链物流信息隐私保护与监管方法,使得物流信息有选择性的仅对其用户公开,且用户身份可监管。

为实现上述目的,本发明采取如下技术方案:

一种物流区块链的信息隐私保护与监管方法,其步骤包括:

1)物流监管者运行群签名算法产生群公钥gpk、群私钥gsk,以及用户i的公私钥对(ski,pki)和相应的证书certi;物流站点运行签名算法产生签名密钥和验证密钥;

2)当用户a计划给用户b发送货物m时,用户a随机产生发货标签tag,将发货请求和tag发给用户b;用户b用群公钥gpk对用户b的公钥pkb加密得到c1、对用户b的证书certb加密得到c2,并给出相应的证明π1;用户b将公钥pkb和收货站点地址d(b)、c1、c2、π1发送给用户a;

3)用户a通过用户b的公钥pkb加密货物信息m,得到密文c;用户a用私钥ska对tag、用户a的发货地点d(a)、c、c1、c2、π1和d(b)做群签名,得到的签名记为σ0;用户a将发货物流信息message0=(tag,d(a),c,c1,c2,π1,d(b),σ0)公布到区块链上;

4)用户a的发货站点d(a)根据从区块链上获取的message0中的发货、收货站点信息,将货物配送到中间站点ti,然后站点d(a)用自己的签名密钥对消息(message0,ti)进行签名得到σi,并将messagei=(message0,ti,σi)发布到区块链上;站点ti收到货物并发往下一中间站点ti+1,站点ti用自己的私钥对(messagei,ti+1)签名得到σi+1,并将messagei+1=(messagei,ti+1,σi+1)发布到区块链上;当中间站点ti+1为最后一中间站点时,ti+1收到货物并发往目的站点d(b),站点ti+1用自己的私钥对(messagei+1,d(b))签名得到σi+2,并将messagei+2=(messagei+1,d(b),σi+2)发布到区块链上;站点d(b)收到货物,对相应区块链上的消息messagei+2做签名得到σd,将messaged=(messagei+2,σd)公布在区块链上;

5)用户b查看区块链信息,如果区块链信息中的标签tag与收到的标签tag一致,且区块链上该tag标签的消息被目标站点d(b)签名,则判定自己的货物已经到达站点;用户b向目标站点d(b)证明其拥有密文c1中公钥pkb所对应的私钥,验证通过后d(b)将货物m给用户b。

进一步的,当物流监管者需要对发送者用户a监管时,执行群签名的打开算法,获得用户a的公钥pka,然后根据公钥pka对应到用户身份是否为用户a;当物流监管者对接收者用户b监管时,用群私钥gsk解密密文c1,得到用户b的公钥pkb,然后根据公钥pkb对应到用户身份是否为用户b。

进一步的,用户b向目标站点d(b)证明其拥有密文c1中公钥pkb所对应的私钥的方法为:目标站点d(b)向用户b发送挑战消息m,用户b用私钥skb对d(b)发过来的挑战消息m做签名,记为sigb(m),并用群公钥gpk对签名sigb(m)加密,得到密文c3,以及生成相应的证明π2;然后将密文c3和证明π2发给d(b)。

进一步的,所述证明π1为用于证明关系verify(gpk,pkb,certb)=1,encgpk(pkb)=c1,encgpk(certb)=c2;所述证明π2为用于证明verify(m,pkb,sigb(m))=1,encgpk(sigb(m))=c3,encgpk(pkb)=c1。

进一步的,用户b用自己的私钥解密密文c,得到货物的明文信息,如果解密得到的明文信息与收到的货品信息相匹配,则用户b用私钥skb对消息messaged进行群签名,得到σend,将messageend=(messaged,σend)公布到区块链上,表示收货完成。

进一步的,采用零知识证明的方法生成证明π1、证明π2。

进一步的,message0记录在实体货物m上。

一种物流区块链的信息隐私保护与监管系统,其特征在于,包括初始化模块、发货协商模块、发货模块、中间传输模块和收货确认模块;其中,

初始化模块,用于运行群签名算法产生物流监管者的群公钥gpk、群私钥gsk,以及用户i的公私钥对(ski,pki)和相应的证书certi;运行签名算法为物流站点产生签名密钥和验证密钥;

发货协商模块,用于将用户a的发货请求和随机产生的标签tag发给用户b;以及将用户b的公钥pkb、收货站点地址d(b)、c1、c2、π1发送给用户a;其中,用户b用群公钥gpk对用户b的公钥pkb加密得到c1、对用户b的证书certb加密得到c2,并给出相应的证明π1;当用户a为货物m的发送者,用户b为用户a选取的货物m的接收者;

发货模块,用于将用户a的发货物流信息message0=(tag,d(a),c,c1,c2,π1,d(b),σ0)公布到区块链上;其中,密文c为用户a通过用户b的公钥pkb加密货物信息m得到;签名σ0为用户a用私钥ska对tag、用户a的发货地点d(a)、c、c1、c2、π1和d(b)做群签名得到;

中间传输模块,用于将messagei=(message0,ti,σi)、messagei+1=(messagei,ti+1,σi+1)、messagei+2=(messagei+1,d(b),σi+2)、messaged=(messagei+2,σd)发布到区块链上;其中,messagei为中间站点ti生成的信息,中间站点ti为用户a所选的发货站点d(a)根据从区块链上获取的message0中的发货、收货站点信息确定的中间站点,签名σi为站点d(a)用自己的签名密钥对消息(message0,ti)进行签名得到;中间站点ti+1为中间站点ti的下一中间站点,用于生成信息messagei+1,签名σi+1为中间站点ti用自己的私钥对(messagei,ti+1)签名得到;当中间站点ti+1为最后一中间站点时,中间站点ti+1生成messagei+2,签名σi+2为站点ti+1用自己的私钥对(messagei+1,d(b))签名得到;messaged为站点d(b)生成的信息,签名σd为站点d(b)收到货物m时对相应区块链上的消息messagei+2做签名得到;

收货确认模块,用于验证用户b向目标站点d(b)证明其拥有密文c1中公钥pkb所对应的私钥。

进一步的,还包括一监控模块,用于当物流监管者需要对发送者用户a监管时,执行群签名的打开算法,获得用户a的公钥pka;以及用于当物流监管者对接收者用户b监管时,用群私钥gsk解密密文c1,得到用户b的公钥pkb。

进一步的,收货确认模块将messageend=(messaged,σend)公布到区块链上,表示用户b收货完成;其中,签名σend为用户b用私钥skb对消息messaged进行群签名得到。

如上所述,环签名的方法比较适合用于物流场景下的用户隐私保护。不过为了实现可监管特性,本发明采用了群签名技术。群签名概念是由chaum和vanheyst在1991年的欧密会上提出的,其具有三个特性:1、只有群中的成员可以进行签名;2、接收者可以验证这是一个有效的签名,但是无法知道这个签名属于群中的哪一个成员,实现匿名性;3、一旦出现争议或纠纷,群管理员可以打开签名,找到此签名属于群中哪一个成员,实现可追踪性。正是由于结合了匿名性与可追踪两种特性,群签名适合用户区块链用户身份的匿名和监管(即身份的可追踪)。

群签名一般包含创建(setup)、加入(join)、签名(sign)、验证(verify)、打开(open)、撤销(revoke)六个多项式时间算法。

1)创建(setup)群管理员生成群公钥和群私钥,群公钥用于群签名验证,群私钥用于生成成员证书及打开签名。

2)加入(join)此时分为两种情况:

a)动态群签名中,用户会和群管理员进行交互,完成后群管理员获取可以打开此用户群签名相关的追踪信息,用户获得成员证书以及用于进行群签名的私钥。

b)静态群签名中,群管理员和用户之间没有交互,由群管理员直接生成成员的证书并秘密传送给成员。

3)签名(sign)群成员利用自己的成员证书和私钥来对消息进行签名。

4)验证(verify)验证者通过群公钥来验证群签名的合法性,但是无法获得签名的实际签名者的信息。

5)打开(open)对于合法的群签名,群管理员可以打开签名,并找出实际的签名者。

6)撤销(revoke)群管理员可以撤销某成员的签名权利,此后,此用户无法再生成合法的群签名。

群签名有一个群管理者,签名者对其他用户保密,但群管理者能够获得签名者的身份,这比较符合物流场景的监管需求。群签名实现物流发送方的匿名性和可监管。发送者做了群签名后,其公钥是隐藏的,保证了匿名性;监管者(即群管理员)通过陷门可以从签名中获得实际签名者的公钥,继而对应到用户身份,保证了监管。

然而如何同时做到接收者的匿名和监管,这方面目前还没有相关工作。接收者的匿名性如果采用隐身地址的方法,监管较为困难。本发明采用群签名的证书机制结合公钥加密算法来实现。接收者的公钥是用监管者的公钥加密后放在区块链上的,另外还要附上相应的证书的密文(证书在初始化阶段从群管理者那里获得)。采用零知识证明的方法证明公钥和证书的有效性。其他人员可以验证接收者的有效性但不知道具体公钥,只有群管理者可以解密得到用户的公钥。

进一步的,本发明考虑物流信息的保密。鉴于物流的特点,物流信息只需要满足保密性和完整性,本发明采用公钥加密的方法实现对物流信息的隐藏。发送者用接收者的公钥加密物流信息,接收者解密得到货物明文信息。

到这里本发明实现了物流信息的隐私保护和监管。不过接收者如何判断哪个是属于自己的货物呢,本发明引入了一个标记标签,这个标签是发送者在发货协商阶段产生并发送给接收者的。

综上,本方案基于区块链的物流信息隐私保护与监管技术,旨在解决区块链在物流领域应用存在的隐私保护和监管难题。为了达到隐私保护和监管的平衡,本文基于群签名、零知识证明、公钥加密技术,提出了可以保证发货方、收货方匿名可追踪的方案。具有以下安全性特点:

1)用户的匿名和可追踪

发货方的匿名和可追踪:发货方的匿名性和可追踪特性是通过群签名本身的的匿名性和可追踪性实现的。

收货方的匿名性和可追踪:收货方的公钥和证书都用群管理员的公钥做的加密,对其他用户来讲是保密的,即保证了其匿名性;群管理员可以解密拿到用户的公钥和证书,从而可以追踪到用户身份。

2)物流内容的保密

物流信息与金额交易不同,不涉及到中途的验证运算。因此本文采用一般的公钥加密算法实现物流货物信息的保密,物流信息用接收者的公钥加密,只有物流接收者可以解密得到货物明文信息。

附图说明

图1是比特币中区块链的简易结构。

图2是物流运输的过程顺序图。

图3是在初始阶段,用户进行注册的流程图。

图4是在协商阶段,用户间进行发货协商的流程图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和附图,对本方案构造做进一步说明。

方案符号说明:假设用户a给用户b发送货物,a的发货地点记为d(a),b的收货地点记为d(b)。为了实现用户实际住址的隐私保护,d(a),d(b)表示离用户地址最近的物流站点。为了方便方案描述,假设用户a给用户b发送货物中途需要经过两个中间站点,记为t1,t2。enc表示公钥加密算法,dec表示相应的解密算法。

图1是比特币中区块链的简易结构。每一个区块的头部信息中除了包含区块体中默克尔树的根节点信息,还包含序列中前一个区块头部信息的哈希指针;其作用是为了保证数据的安全性,防止数据被任意篡改。当区块链中某一区块i的某一交易被篡改时,会先改变区块i头部的默克尔根节点的哈希值,然后导致区块i的头部哈希值也发生改变,那么就会和下一个区块i+1的区块头部中所存的区块i的区块头部哈希值产生差异。要改变区块链中任一区块中的任意交易数据,需要依次修改至最新区块的头部信息上,因此根据该区块头部信息与其他区块上所存储的信息的一致性,即可判断该区块中的数据是否正确。

如图2所示,本文基于区块链物流运输过程分为了五个阶段:1.初始阶段,2.用户发货协商阶段,3.用户发货,4.中间传输,5.用户收货。

具体地,方案设计如下:

一、初始阶段:群管理员(这里即物流监管者)运行群签名的创建(setup)算法,产生群公钥gpk和群私钥gsk,用户和群管理员之间执行群签名的加入(join)算法,用户获得公私钥(ski,pki)和相应的证书certi(如图2)。另外物流站点运行普通的签名算法产生签名密钥和验证密钥。

二、协商阶段:如图3所示,用户a计划给用户b发送货物m,用户a随机产生发货标签,记为tag,将发货请求和tag发给b;

用户b用群管理者的公钥gpk对pkb和certb分别做加密,记为c1,c2,并给出证明π1,证明关系verify(gpk,pkb,certb)=1,encgpk(pkb)=c1,encgpk(certb)=c2。pkb是用户b的公钥,在初始阶段用户和群管理员执行join算法得到的。

用户b将公钥pkb和收货站点地址d(b),c1,c2,π1发送给用户a。

三、发货记录:

1)用户a通过用户b的公钥pkb加密货物信息m,得到密文c;

2)用户a用私钥ska对tag,d(a),c,c1,c2,π1,d(b)做群签名,得到的签名记为σ0;如图4所示;这部分群签名实现了用户a的匿名。用户b的公钥pkb在这里没有出现,出现的是用户b公钥的证书的密文c1,c2,因此也保密了用户b。

3)用户a将发货物流信息message0=(tag,d(a),c,c1,c2,π1,d(b),σ0)公布到区块链上。message0也记录在实体货物上。

四、运输阶段信息记录

站点d(a)根据从区块链上获取的message0中的发货、收货站点信息,将货物配送到中间站点t1,货物发出后,站点d(a)用自己的签名密钥对消息(message0,t1)进行签名(这里就用一般的签名算法),得到σ1。将message1=(message0,t1,σ1)发布到区块链上。

站点t1收到货物并发往中间站点t2。站点t1用自己的私钥对(message1,t2)签名,得到σ2。将message2=(message1,t2,σ2)发布到区块链上。

站点t2收到货物并发往目的站点d(b)。站点t2用自己的私钥对(message2,d(b))签名,得到σ3。将message3=(message2,d(b),σ3)发布到区块链上。

站点d(b)收到货物,对相应区块链上的消息message3做签名,得到σ4,将message4=(message3,σ4)公布在区块链上。

五、收货阶段

用户b查看区块链信息,判断是否有自己的货物到达站点。判断方法为:查看消息的标签tag是否是之前协商阶段收到的标签,另外区块链上具有自己收到的tag标签的消息是否被目标站点d(b)签名。如果这两个都满足,则表示自己的货物已经到达站点。

用户b到目标站点d(b)处取货物。向目标站点证明其拥有密文c1中公钥pkb所对应的私钥。证明方法为:目标站点d(b)向用户b发送挑战消息m,用户b用私钥skb对d(b)发过来的挑战消息m做签名,记为sigb(m),并用gpk对签名做加密,得到密文c3,产生证明π2,证明verify(m,pkb,sigb(m))=1,encgpk(sigb(m))=c3,encgpk(pkb)=c1。将密文c3和证明π2发给d(b)。d(b)验证通过则将货物给用户b。

用户b对密文c解密,得到货物的明文信息。这里本发明假设线下物理运输是安全的,那么解密得到的明文数据应和物理的货品信息是相匹配的。用户b用私钥skb对消息message4进行群签名,得到σ5,将message5=(message4,σ5)公布到区块链上,表示收货完,成。如果有人恶意冒充收货方,监管者可以查出签名者并找到谁在作弊。

监管:群管理员有了区块链上的消息message0=(tag,d(a),c,c1,c2,π1,d(b),σ0),若需要对发送者用户a做监管,执行打开(open)算法,获得签名者(用户a)的公钥pka,然后根据公钥pka对应到用户身份是否为用户a。若对接收者用户b做监管,群管理员用群私钥gsk解密密文c1,得到用户b的公钥pkb,然后根据公钥pkb对应到用户身份是否为用户b,实现监管。

通过上面的方案描述可以看出,区块链保证了物流信息的不可篡改性和不可否认性。区块链上通过验证的消息不能被人篡改;用户不能否认其对信息的签名。另外区块链历史记录可追溯特点使得物流信息的来源、去向明确,出现问题容易查找相关站点。

以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。

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