首页 / 专利库 / 银行与财务事项 / 区块链处理实体 / 基于区块链的物流隐私保护方法、系统和可读存储介质

基于链的物流隐私保护方法、系统和可读存储介质

阅读:795发布:2020-05-24

专利汇可以提供基于链的物流隐私保护方法、系统和可读存储介质专利检索,专利查询,专利分析的服务。并且本 发明 提供一种基于 区 块 链 的物流隐私保护方法、系统和可读存储介质,所述方法包括:根据DAA匿名认证的方案,为数据 访问 方和数据拥有方提供匿名可验证的身份,并通过交易公钥列表TPL实现对区块链 节点 的访问控制;基于数据拥有方的意愿,在 分布式账本 中为每个物流用户隐私数据生成一个对应的数据权限状态,所述数据权限状态决定了每个数据访问方的访问权限;由所述数据访问方构造一个交易访问所述分布式账本,以判断所述数据访问方是否有权访问对应的物流用户隐私数据;本发明结合区块链技术和分层加密技术,有效防止物流隐私数据的泄露,并实现用户对物流隐私数据访问权限的控制管理,以及物流隐私数据访问记录的 可追溯性 。,下面是基于链的物流隐私保护方法、系统和可读存储介质专利的具体信息内容。

1.一种基于链的物流隐私保护方法,其特征在于,所述方法包括:
根据DAA匿名认证的方案,为数据访问方和数据拥有方提供匿名可验证的身份,并通过交易公钥列表TPL实现对区块链节点的访问控制;
基于数据拥有方的意愿,在分布式账本中为每个物流用户隐私数据生成一个对应的数据权限状态,所述数据权限状态决定了每个数据访问方的访问权限;
由所述数据访问方构造一个交易访问所述分布式账本,以判断所述数据访问方是否有权访问对应的物流用户隐私数据;
若有权访问,则通过所述分布式账本获得隐私数据密文对应的存储路径,根据所述云存储路径获取所述隐私数据密文,对所述隐私数据密文进行解密以获得相应部分的隐私数据;
记录所述数据访问方对所述隐私数据的访问记录。
2.根据权利要求1所述的一种基于区块链的物流隐私保护方法,其特征在于,对所述隐私数据密文进行解密以获得相应部分的隐私数据,具体包括:
由可信任的授权中心生成公钥PK和主密钥MK,并将所述公钥PK公开,使所有用户均能获得,所述主密钥MK由所述可信任的授权中心秘密保存;
在所述数据拥有方生成一个隐私数据之后,将所述隐私数据按照3个安全级别分为低、中、高三部分,并通过对称加密算法加密数据,HMAC算法保证所述隐私数据的完整性;
使用基于属性的分层加密方案加密3个对称密钥及HMAC密钥,格式化生成密文数据包并将其存储到云存储平台中;
由所述可信任的授权中心为所述数据访问方授予一个属性集,并根据所述属性集生成所述数据访问方的解密私钥SK,对所述私钥SK加密处理以生成私钥密文e_SK;
使所述数据访问方从所述可信任的授权中心请求得到所述私钥密文e_SK,解密得到所述私钥SK;
由所述数据访问方从所述云存储平台取回所述密文数据包,并根据所述私钥SK对所述密文数据包进行解密,以获得相应部分的隐私数据。
3.根据权利要求1所述的一种基于区块链的物流隐私保护方法,其特征在于,根据DAA匿名认证的方案,为数据访问方和数据拥有方提供匿名可验证的身份,并通过交易公钥列表TPL实现对区块链节点的访问控制,具体包括:
由发布方创建一个用户群,所述用户群中的成员为区块链网络中的实体节点,同时生成成员认证公钥KPG和成员发行私钥KMIPK;
由发布方将成员认证公钥KPG发送给验证方;
接收用户向所述发布方发送的请求信息,所述请求信息包括所述用户的一些身份信息,在所述发布方验证所述用户的身份信息通过后,即可加入到所述用户群中;
生成用户的区块链交易密钥对,所述交易密钥对包括交易公钥和交易私钥;
用户向所述验证方匿名证明自己的成员身份,并且在认证过程中对所述验证方保持匿名;
用户将交易公钥注册到所述交易公钥列表TPL中。
4.根据权利要求3所述的一种基于区块链的物流隐私保护方法,其特征在于,由发布方创建一个用户群,所述用户群中的成员为区块链网络中的实体节点,同时生成成员认证公钥KPG和成员发行私钥KMIPK,具体包括:
由发布方选取一个RSA模数n=pq,其中有p=2p′+1,q=2q′+1,p、q、p′、q′都是素数,并且p和q是长度相同的素数,n的长度为ln;
发布方选择QRN的一个随机生成员g′;
发布方选择随机整数:x0,x1,xz,xs,xh,xg∈[1,p′q′],并利用下列随机整数计算:
提供一个非交互式的零知识证明发布方产生的g、h、S、Z、R0、R1均是正确计算出来的;
由发布方选择长度为lΓ的素数Γ和长度为lρ的素数ρ,ρ和ρ满足Γ=rρ+1,随机选择一个数 使得γ′(Γ-1)/ρ≠1 mod Γ,记
由发布方将(n,g′,h,S,Z,R0,R,γ,Γ,ρ)作为成员认证公钥KPG,并且将p′q′作为成员发行私钥KMIPK秘密保存起来。
5.根据权利要求3所述的一种基于区块链的物流隐私保护方法,其特征在于,接收用户向所述发布方发送的请求信息,所述请求信息包括所述用户的一些身份信息,在所述发布方验证所述用户的身份信息通过后,即可加入到所述用户群中,具体包括:
用户中host计算 其中bsn1为发布方的基名,用
户中TPM模块检查是否 记发布方对KPG签名使用的公钥是K′PG,根据公式f=
H (H (DA As ee d| |H (P K ′1)) | |c n t|| 1) mo d ρ计算 得到f ,使
选择随机数 和
计算 将
(U,NI)发送给host,由host转发给发布方;
用户TPM模块通过零知识证明协议向发布方证明用户拥有f0、f1和υ′,其中
发布方选择一个随机数 和一个素数 然
后根据公式 和 计算得到υ″和A,然后将(A,e,υ″)
发送给host,(A,e,υ″)即是发布方对用户的身份证书;
host收到(A,e,υ″)后,计算 和 然后将υ″1和υ″2发
送给TPM;
TPM收到υ″1和υ″2之后,令
并将(f0,f1,υ1,υ2)秘密保存起来。
6.根据权利要求5所述的一种基于区块链的物流隐私保护方法,其特征在于,用户向所述验证方匿名证明自己的成员身份,并且在认证过程中对所述验证方保持匿名,具体包括:
用户向验证方发起一个匿名认证的请求;
在验证方收到用户发来的匿名认证请求之后,返回一个响应给用户,响应中包含了验证方的基名bsnV和一个消息m;
用户使用获得的身份证书(A,e,υ″)对消息m生成知识签名σ;
由验证方验证知识签名σ是否有效,如果验证方证明了σ是有效的,则将生成一个与所述用户共享的对称密钥PSK,并通过安全的方式将PSK传送给发起匿名认证请求的用户。
7.一种基于区块链的物流隐私保护系统,其特征在于,所述基于区块链的物流隐私保护系统包括:存储器及处理器,所述存储器中包括一种基于区块链的物流隐私保护方法程序,所述基于区块链的物流隐私保护方法程序被所述处理器执行时实现如下步骤:
根据DAA匿名认证的方案,为数据访问方和数据拥有方提供匿名可验证的身份,并通过交易公钥列表TPL实现对区块链节点的访问控制;
基于数据拥有方的意愿,在分布式账本中为每个物流用户隐私数据生成一个对应的数据权限状态,所述数据权限状态决定了每个数据访问方的访问权限;
由所述数据访问方构造一个交易访问所述分布式账本,以判断所述数据访问方是否有权访问对应的物流用户隐私数据;
若有权访问,则通过所述分布式账本获得隐私数据密文对应的云存储路径,根据所述云存储路径获取所述隐私数据密文,对所述隐私数据密文进行解密以获得相应部分的隐私数据;
记录所述数据访问方对所述隐私数据的访问记录。
8.根据权利要求7所述的一种基于区块链的物流隐私保护系统,其特征在于,对所述隐私数据密文进行解密以获得相应部分的隐私数据,具体包括:
由可信任的授权中心生成公钥PK和主密钥MK,并将所述公钥PK公开,使所有用户均能获得,所述主密钥MK由所述可信任的授权中心秘密保存;
在所述数据拥有方生成一个隐私数据之后,将所述隐私数据按照3个安全级别分为低、中、高三部分,并通过对称加密算法加密数据,HMAC算法保证所述隐私数据的完整性;
使用基于属性的分层加密方案加密3个对称密钥及HMAC密钥,格式化生成密文数据包并将其存储到云存储平台中;
由所述可信任的授权中心为所述数据访问方授予一个属性集,并根据所述属性集生成所述数据访问方的解密私钥SK,对所述私钥SK加密处理以生成私钥密文e_SK;
使所述数据访问方从所述可信任的授权中心请求得到所述私钥密文e_SK,解密得到所述私钥SK;
由所述数据访问方从所述云存储平台取回所述密文数据包,并根据所述私钥SK对所述密文数据包进行解密,以获得相应部分的隐私数据。
9.根据权利要求7所述的一种基于区块链的物流隐私保护系统,其特征在于,根据DAA匿名认证的方案,为数据访问方和数据拥有方提供匿名可验证的身份,并通过交易公钥列表TPL实现对区块链节点的访问控制,具体包括:
由发布方创建一个用户群,所述用户群中的成员为区块链网络中的实体节点,同时生成成员认证公钥KPG和成员发行私钥KMIPK;
由发布方将成员认证公钥KPG发送给验证方;
接收用户向所述发布方发送的请求信息,所述请求信息包括所述用户的一些身份信息,在所述发布方验证所述用户的身份信息通过后,即可加入到所述用户群中;
生成用户的区块链交易密钥对,所述交易密钥对包括交易公钥和交易私钥;
用户向所述验证方匿名证明自己的成员身份,并且在认证过程中对所述验证方保持匿名;
用户将交易公钥注册到所述交易公钥列表TPL中。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括一种基于区块链的物流隐私保护方法程序,所述基于区块链的物流隐私保护方法程序被处理器执行时,实现如权利要求1至6中任一项所述的一种基于区块链的物流隐私保护方法的步骤。

说明书全文

基于链的物流隐私保护方法、系统和可读存储介质

技术领域

[0001] 本发明涉及物流信息技术领域,尤其涉及一种基于区块链的物流隐私保护方法、系统和可读存储介质。

背景技术

[0002] 近年来,随着电子商务的迅猛发展,快递物流行业的发展也十分迅速,然而,由于我国快递行业的各项法律政策以及各快递公司对客户的隐私安全保护措施并非十分完善,消费者的隐私安全受到了一定程度的威胁。然而,绝大多数快递企业在快递业务的全流程中采用明文快递单进行管理,客户的住址、姓名、手机甚至快递保价等信息一览无余。快递业务流程可简单概括为收件业务、快递分类分拣、快递运输调度、快递跟踪信息、快递投送、费用管理等模块。快递业务流程各个环节都可能存在隐私信息泄露的管理漏洞。不法分子利用快递单据的客户信息实施敲诈、勒索,不良快递人员利用保价信息调包商品,砖头换手机等事件层出不穷。归根结底,在快递单中直接以明文方式显示用户信息是导致隐私信息泄露的主要原因。
[0003] 另一方面,电子商务平台拥有海量用户数据,包括用户姓名、电话号码、住址等个人隐私信息。用户在电子商务平台完成网上购物,由电子商务平台上的商家将用户信息交付给物流公司进行发货。然而,用户信息存储系统在多个环节还处于人工作业状态,企业对用户数据的保护程度依赖于中心机构监管措施的强弱,系统存在人为的操作空间,没有对企业可能存在的非法行为的有效约束。对于用户数据大规模泄露这一类事故,即使企业承诺要给客户以补偿,但牵扯到信息泄露环节的可追溯性,落实还有一定的难处。同时,用户的快递物流信息极有可能在用户未授权情况下被快递企业用于大数据分析以及广告推销等活动,用户也无法删除快递物流记录,极有可能导致个人行为数据的过度分析和滥用,个人用户无法掌控自身所产生的数据,当各主体间出现纠纷时,用户举证和追责均耗时费,甚至在有些情况下变得不可行。
[0004] 如果忽视个人隐私保护问题或者对其处理不当,可能会给人们带来经济名誉损失甚至阻碍网络创新等后果。当前出现的区块链技术正好可以成为个人隐私保护问题的有效解决方案。区块链是一个分布式的账本,记录了每笔交易发送和验证的历史,同时也记录了交易中包含的额外信息。区块链中所有的区块都按照时间先后顺序排列,由矿工不断地创造添加,并且每个节点都有一份区块链信息的备份。区块链技术由于具有去中心化、永久记录和便于审计等特点,刚好可用于满足隐私数据的完整性、可限制性以及可审计性等数据安全需求,因此可以作为个人隐私保护问题的有效解决方案。

发明内容

[0005] 为了解决上述至少一个技术问题,本发明提出了一种基于区块链的物流隐私保护方法、系统和可读存储介质。
[0006] 为了实现上述目的,本发明第一方面提出了一种基于区块链的物流隐私保护方法,所述方法包括:
[0007] 根据DAA匿名认证的方案,为数据访问方和数据拥有方提供匿名可验证的身份,并通过交易公钥列表TPL实现对区块链节点的访问控制;
[0008] 基于数据拥有方的意愿,在分布式账本中为每个物流用户隐私数据生成一个对应的数据权限状态,所述数据权限状态决定了每个数据访问方的访问权限;
[0009] 由所述数据访问方构造一个交易访问所述分布式账本,以判断所述数据访问方是否有权访问对应的物流用户隐私数据;
[0010] 若有权访问,则通过所述分布式账本获得隐私数据密文对应的存储路径,根据所述云存储路径获取所述隐私数据密文,对所述隐私数据密文进行解密以获得相应部分的隐私数据;
[0011] 记录所述数据访问方对所述隐私数据的访问记录。
[0012] 本方案中,对所述隐私数据密文进行解密以获得相应部分的隐私数据,具体包括:
[0013] 由可信任的授权中心生成公钥PK和主密钥MK,并将所述公钥PK公开,使所有用户均能获得,所述主密钥MK由所述可信任的授权中心秘密保存;
[0014] 在所述数据拥有方生成一个隐私数据之后,将所述隐私数据按照3个安全级别分为低、中、高三部分,并通过对称加密算法加密数据,HMAC算法保证所述隐私数据的完整性;
[0015] 使用基于属性的分层加密方案加密3个对称密钥及HMAC密钥,格式化生成密文数据包并将其存储到云存储平台中;
[0016] 由所述可信任的授权中心为所述数据访问方授予一个属性集,并根据所述属性集生成所述数据访问方的解密私钥SK,对所述私钥SK加密处理以生成私钥密文e_SK;
[0017] 使所述数据访问方从所述可信任的授权中心请求得到所述私钥密文e_SK,解密得到所述私钥SK;
[0018] 由所述数据访问方从所述云存储平台取回所述密文数据包,并根据所述私钥SK对所述密文数据包进行解密,以获得相应部分的隐私数据。
[0019] 本方案中,根据DAA匿名认证的方案,为数据访问方和数据拥有方提供匿名可验证的身份,并通过交易公钥列表TPL实现对区块链节点的访问控制,具体包括:
[0020] 由发布方创建一个用户群,所述用户群中的成员为区块链网络中的实体节点,同时生成成员认证公钥KpG和成员发行私钥KMIPK;
[0021] 由发布方将成员认证公钥KpG发送给验证方;
[0022] 接收用户向所述发布方发送的请求信息,所述请求信息包括所述用户的一些身份信息,在所述发布方验证所述用户的身份信息通过后,即可加入到所述用户群中;
[0023] 生成用户的区块链交易密钥对,所述交易密钥对包括交易公钥和交易私钥;
[0024] 用户向所述验证方匿名证明自己的成员身份,并且在认证过程中对所述验证方保持匿名;
[0025] 用户将交易公钥注册到所述交易公钥列表TPL中。
[0026] 本方案中,由发布方创建一个用户群,所述用户群中的成员为区块链网络中的实体节点,同时生成成员认证公钥KpG和成员发行私钥KMIPK,具体包括:
[0027] 由发布方选取一个RSA模数n=pq,其中有p=2p′+1,q=2q′+1,p、q、p′、q′都是素数,并且p和q是长度相同的素数,n的长度为ln;
[0028] 发布方选择QRN的一个随机生成员g′;
[0029] 发布方选择随机整数:x0,x1,xz,xs,xh,xg∈[1,p′q′],并利用下列随机整数计算:
[0030]
[0031]
[0032] 提供一个非交互式的零知识证明发布方产生的g、h、S、Z、R0、R1均是正确计算出来的;
[0033] 由发布方选择长度为lΓ的素数Γ和长度为lρ的素数ρ,ρ和ρ满足Γ=rρ+1,随机选择一个数 使得γ′(Γ-1)/ρ≠1mod Γ,记
[0034] 由发布方将(n,g′,h,S,Z,R0,R,γ,Γ,ρ)作为成员认证公钥KPG,并且将p′q′作为成员发行私钥KMIPK秘密保存起来。
[0035] 本方案中,接收用户向所述发布方发送的请求信息,所述请求信息包括所述用户的一些身份信息,在所述发布方验证所述用户的身份信息通过后,即可加入到所述用户群中,具体包括:
[0036] 用户中host计算 其中bsn1为发布方的基名,用户中TPM模块检查是否 记发布方对KPG签名使用的公钥是K′PG,根据公
式f=H(H(DAAseed||H(PK′1))||cnt||1)mod ρ计算得到f ,使
选择随机数 和
计算 将(U,NI)发送给host,由
host转发给发布方;
[0037] 用户TPM模块通过零知识证明协议向发布方证明用户拥有f0、f1和υ′,其中[0038] 发布方选择一个随机数 和一个素数然后根据公式 和 计算得到υ″和A,然后将
(A,e,υ″)发送给host,(A,e,υ″)即是发布方对用户的身份证书;
[0039] host收到(A,e,υ″)后,计算 和 然后将υ″1和υ″2发送给TPM;
[0040] TPM收到υ″1和υ″2之后,令并将(f0,f1,υ1,υ2)秘密保存起来。
[0041] 本方案中,用户向所述验证方匿名证明自己的成员身份,并且在认证过程中对所述验证方保持匿名,具体包括:
[0042] 用户向验证方发起一个匿名认证的请求;
[0043] 在验证方收到用户发来的匿名认证请求之后,返回一个响应给用户,响应中包含了验证方的基名bsnV和一个消息m;
[0044] 用户使用获得的身份证书(A,e,υ″)对消息m生成知识签名σ;
[0045] 由验证方验证知识签名σ是否有效,如果验证方证明了σ是有效的,则将生成一个与所述用户共享的对称密钥PSK,并通过安全的方式将PSK传送给发起匿名认证请求的用户。
[0046] 本发明第二方面还提出一种基于区块链的物流隐私保护系统,所述基于区块链的物流隐私保护系统包括:存储器及处理器,所述存储器中包括一种基于区块链的物流隐私保护方法程序,所述基于区块链的物流隐私保护方法程序被所述处理器执行时实现如下步骤:
[0047] 根据DAA匿名认证的方案,为数据访问方和数据拥有方提供匿名可验证的身份,并通过交易公钥列表TPL实现对区块链节点的访问控制;
[0048] 基于数据拥有方的意愿,在分布式账本中为每个物流用户隐私数据生成一个对应的数据权限状态,所述数据权限状态决定了每个数据访问方的访问权限;
[0049] 由所述数据访问方构造一个交易访问所述分布式账本,以判断所述数据访问方是否有权访问对应的物流用户隐私数据;
[0050] 若有权访问,则通过所述分布式账本获得隐私数据密文对应的云存储路径,根据所述云存储路径获取所述隐私数据密文,对所述隐私数据密文进行解密以获得相应部分的隐私数据;
[0051] 记录所述数据访问方对所述隐私数据的访问记录。
[0052] 本方案中,对所述隐私数据密文进行解密以获得相应部分的隐私数据,具体包括:
[0053] 由可信任的授权中心生成公钥PK和主密钥MK,并将所述公钥PK公开,使所有用户均能获得,所述主密钥MK由所述可信任的授权中心秘密保存;
[0054] 在所述数据拥有方生成一个隐私数据之后,将所述隐私数据按照3个安全级别分为低、中、高三部分,并通过对称加密算法加密数据,HMAC算法保证所述隐私数据的完整性;
[0055] 使用基于属性的分层加密方案加密3个对称密钥及HMAC密钥,格式化生成密文数据包并将其存储到云存储平台中;
[0056] 由所述可信任的授权中心为所述数据访问方授予一个属性集,并根据所述属性集生成所述数据访问方的解密私钥SK,对所述私钥SK加密处理以生成私钥密文e_SK;
[0057] 使所述数据访问方从所述可信任的授权中心请求得到所述私钥密文e_SK,解密得到所述私钥SK;
[0058] 由所述数据访问方从所述云存储平台取回所述密文数据包,并根据所述私钥SK对所述密文数据包进行解密,以获得相应部分的隐私数据。
[0059] 本方案中,根据DAA匿名认证的方案,为数据访问方和数据拥有方提供匿名可验证的身份,并通过交易公钥列表TPL实现对区块链节点的访问控制,具体包括:
[0060] 由发布方创建一个用户群,所述用户群中的成员为区块链网络中的实体节点,同时生成成员认证公钥KPG和成员发行私钥KMIPK;
[0061] 由发布方将成员认证公钥KPG发送给验证方;
[0062] 接收用户向所述发布方发送的请求信息,所述请求信息包括所述用户的一些身份信息,在所述发布方验证所述用户的身份信息通过后,即可加入到所述用户群中;
[0063] 生成用户的区块链交易密钥对,所述交易密钥对包括交易公钥和交易私钥;
[0064] 用户向所述验证方匿名证明自己的成员身份,并且在认证过程中对所述验证方保持匿名;
[0065] 用户将交易公钥注册到所述交易公钥列表TPL中。
[0066] 本发明第三方面还提出一种计算机可读存储介质,所述计算机可读存储介质中包括一种基于区块链的物流隐私保护方法程序,所述基于区块链的物流隐私保护方法程序被处理器执行时,实现如上述的一种基于区块链的物流隐私保护方法的步骤。
[0067] 本发明结合区块链技术和分层加密技术,有效防止物流隐私数据的泄露,并实现用户对物流隐私数据访问权限的控制管理,以及物流隐私数据访问记录的可追溯性。
[0068] 本发明的附加方面和优点将在下面的描述部分中给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。附图说明
[0069] 图1示出了本发明一种基于区块链的物流隐私保护方法的流程图
[0070] 图2示出了本发明基于区块链的物流隐私保护方案的整体框架图;
[0071] 图3示出了本发明成员身份管理模块的具体流程图;
[0072] 图4示出了本发明基于区块链和DAA匿名认证的访问权限管理架构图;
[0073] 图5示出了本发明一种State数据库的数据结构图;
[0074] 图6示出了本发明隐私数据访问的整体架构图;
[0075] 图7示出了本发明一种基于区块链的物流隐私保护系统的框图

具体实施方式

[0076] 为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请实施例及实施例中的特征可以相互组合。
[0077] 在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
[0078] 区块链起源于比特币,是用分布式数据库识别、传播和记载信息的智能化对等网络,它是~串使用密码学方法相关联产生的数据块,每一个数据块包含若干次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可分为许可链和非许可链。本发明提出的基于区块链的物流隐私保护方案所用的区块链属于许可链,许可链并不对外公开,用户需要注册才能参与区块链网络,也就是说,许可链仅限于已经验证身份的成员参与。许可链的共识过程是由预先选定的节点来完成的,一般适用于机构之间进行交易、清算或者结算的B2B场景。例如在行之间进行清算、结算、支付的系统就可以使用许可链,将每个银行的网关节点作为结账节点,当区块链网络中超过2/3的节点确认了一个区块时,该区块中记录的交易就会得到全网的认可。因为许可链中参与到共识过程的节点比较少,许可链采用的共识机制一般是权益证明或PBFT(practical byzantine fault tolerant)、RAFT算法等共识算法。许可链对交易每秒交易数、确认时间都与非许可链有很大的区别,对安全和性能的要求比许可链要高。
[0079] 超级账本(hyperledger)属于许可链的架构。Fabric是其中的一个子项目,Hyperledger Fabric的架构属于许可链。本发明提出的访问权限管理机制主要通过Fabric架构中的账本和链码(chaincode)实现数据拥有方根据自己的意愿对物流隐私数据进行访问权限控制管理的目的。数据拥有方和数据访问方都是区块链网络中的成员,数据拥有方在生成一个新的物流隐私数据时,在分布式账本的State数据库添加一个对应的以键值对(key-value)形式表示的数据权限状态,该数据权限状态中包含了物流隐私数据的基本信息(数据拥有方编号、数据存储路径、上传时间)以及数据访问方的权限数据集。
[0080] 图1示出了本发明一种基于区块链的物流隐私保护方法的流程图。
[0081] 如图1所示,本发明第一方面提出一种基于区块链的物流隐私保护方法,所述方法包括:
[0082] S102,根据DAA匿名认证的方案,为数据访问方和数据拥有方提供匿名可验证的身份,并通过交易公钥列表TPL实现对区块链节点的访问控制;
[0083] S104,基于数据拥有方的意愿,在分布式账本中为每个物流用户隐私数据生成一个对应的数据权限状态,所述数据权限状态决定了每个数据访问方的访问权限;
[0084] S106,由所述数据访问方构造一个交易访问所述分布式账本,以判断所述数据访问方是否有权访问对应的物流用户隐私数据;
[0085] S108,若有权访问,则通过所述分布式账本获得隐私数据密文对应的云存储路径,根据所述云存储路径获取所述隐私数据密文,对所述隐私数据密文进行解密以获得相应部分的隐私数据;
[0086] S110,记录所述数据访问方对所述隐私数据的访问记录。
[0087] 需要说明的是,本发明的技术方案可以在PC、手机、PAD等终端设备中进行操作。
[0088] 图2示出了本发明基于区块链的物流隐私保护方案的整体框架图。
[0089] 如图2所示,整体框架主要包括成员身份管理、访问权限管理、隐私数据访问3部分。成员身份管理是基于DAA匿名认证实现的,为数据访问方和数据拥有方提供匿名可验证的身份,并通过交易公钥列表TPL实现对区块链节点的访问控制;访问权限管理基于区块链实现了数据拥有方对物流隐私数据访问权限的控制,并记录数据访问方的访问记录;隐私数据访问是基于分层加密实现的,为物流用户隐私数据提供安全性、完整性保证,并实现数据访问方对隐私数据的分层访问。
[0090] 成员身份管理模块根据DAA匿名认证的方案为想要加入区块链网络的用户提供匿名可验证的身份。DAA方案中的用户是由TPM和相应的host组成的。用户首先在发布方(Issuer)获得身份证书,然后通过该证书向验证方(Verifier)证明自己是经过Issuer认证过的合法用户,最后将自己用于区块链网络中交易签名的交易公钥tran_pub注册到Verifier维护的交易公钥列表TPL中。在整个过程中,Verifier不会接触到任何关于用户的身份信息,因为用户对Verifier具有匿名性,所以Verifier并不知道TPL中的各个交易公钥tran_pub所对应的真实用户身份。此外一个用户可以通过与Verifier进行多次匿名认证,注册多个tran_pub到TPL中。这些tran_pub之间并没有任何关联性,故能解决区块链技术存在的隐私泄露险的问题,即攻击者不可能根据区块链交易中存在的关联关系分析出区块链交易地址与节点身份之间的关联。
[0091] 图3示出了本发明成员身份管理模块的具体流程图。
[0092] 如图3所示,根据DAA匿名认证的方案,为数据访问方和数据拥有方提供匿名可验证的身份,并通过交易公钥列表TPL实现对区块链节点的访问控制,具体包括以下步骤:
[0093] 步骤1,由发布方创建一个用户群,所述用户群中的成员为区块链网络中的实体节点,同时生成成员认证公钥KPG和成员发行私钥KMIPK;
[0094] 步骤2,由发布方将成员认证公钥KPG发送给验证方;
[0095] 步骤3,接收用户向所述发布方发送的请求信息,所述请求信息包括所述用户的一些身份信息,在所述发布方验证所述用户的身份信息通过后,即可加入到所述用户群中;
[0096] 步骤4,生成用户的区块链交易密钥对,所述交易密钥对包括交易公钥和交易私钥;
[0097] 步骤5,用户向所述验证方匿名证明自己的成员身份,并且在认证过程中对所述验证方保持匿名;
[0098] 步骤6,用户将交易公钥注册到所述交易公钥列表TPL中。
[0099] 根据本发明的实施例,由发布方创建一个用户群,所述用户群中的成员为区块链网络中的实体节点,同时生成成员认证公钥KPG和成员发行私钥KMIPK,具体包括以下步骤:
[0100] 步骤1,由发布方选取一个RSA模数n=pq,其中有p=2p′+1,q=2q′+1,p、q、p′、q′都是素数,并且p和q是长度相同的素数,n的长度为ln;
[0101] 步骤2,发布方选择QRN的一个随机生成员g′;
[0102] 步骤3,发布方选择随机整数:x0,x1,xz,xs,xh,xg∈[1,p′q′],并利用下列随机整数计算:
[0103]
[0104]
[0105] 步骤4,提供一个非交互式的零知识证明发布方产生的g、h、S、Z、R0、R1均是正确计算出来的;
[0106] 步骤5,由发布方选择长度为lΓ的素数Γ和长度为lρ的素数ρ,ρ和ρ满足Γ=rρ+1,随机选择一个数 使得γ′(Γ-1)/ρ≠1mod Γ,记
[0107] 步骤6,由发布方将(n,g′,h,S,Z,R0,R,γ,Γ,ρ)作为成员认证公钥KPG,并且将p′q′作为成员发行私钥KMIPK秘密保存起来。
[0108] 根据本发明的实施例,接收用户向所述发布方发送的请求信息,所述请求信息包括所述用户的一些身份信息,在所述发布方验证所述用户的身份信息通过后,即可加入到所述用户群中,具体包括以下步骤:
[0109] 步骤1,用户中host计算 其中bsn1为发布方的基名,用户中TPM模块检查是否 记发布方对KPG签名使用的公钥是K′PG,根
据公式f=H(H(DAAseed||H(PK ′1))||cnt||1)mod ρ计算得到f,使
选择随机数 和
计算 将(U,NI)发送给host,由
host转发给发布方;
[0110] 步骤2,用户TPM模块通过零知识证明协议向发布方证明用户拥有f0、f1和υ′,其中[0111] 步 骤 3 ,发 布 方 选 择 一 个随 机 数 和一 个 素 数然后根据公式 和 计算
得到υ″和A,然后将(A,e,υ″)发送给host,(A,e,υ″)即是发布方对用户的身份证书;
[0112] 步骤4,host收到(A,e,υ″)后,计算 和 然后将υ″1和υ″2发送给TPM;
[0113] 步骤5 ,T PM收 到υ″1和υ″2之后,令并将(f0,f1,υ1,υ2)秘密保存起来。
[0114] 用户向Verifier匿名证明自己的成员身份。用户在上面的步骤中已经加入到了Issuer创建的群中,即加入到区块链网络中,成为区块链网络中的一个节点。接下来用户需要向Verifier证明自己是群中合法的成员,并且在认证过程中对Verifier保持匿名。具体的步骤如下:
[0115] 步骤1,用户向验证方发起一个匿名认证的请求;
[0116] 步骤2,在验证方收到用户发来的匿名认证请求之后,返回一个响应给用户,响应中包含了验证方的基名bsnV和一个消息m;
[0117] 步骤3,用户使用获得的身份证书(A,e,υ″)对消息m生成知识签名σ;
[0118] 步骤4,由验证方验证知识签名σ是否有效,如果验证方证明了σ是有效的,则将生成一个与所述用户共享的对称密钥PSK,并通过安全的方式将PSK传送给发起匿名认证请求的用户。
[0119] 根据本发明的实施例,用户将交易公钥tran_pub注册交易公钥列表TPL中。用户在向Verifier匿名证明了自己是群中有效的成员之后,为了在区块链网络中生成一个合法的交易来,必须将自己的交易公钥tran_pub添加到Verifier维护的交易公钥列表TPL中,只有这样,共识机制在处理到该用户生成的交易时才能认为该交易是合法的,进而用户才能通过该交易完成对分布式账本的读取或更新操作。用户通过上述步骤中从Verifier处获得的共享对称密钥PSK对tran_pub加密处理后传送给Verifier,然后Verifier解密得到tran_pub,并将tran_pub添加到TPL中。
[0120] 进一步的,数据拥有方根据自己的意愿在分布式账本中为每个物流用户隐私数据生成一个对应的数据权限状态,该数据权限状态决定了每个数据访问方的访问权限。数据访问方必须通过应用程序构造一个交易访问该分布式账本来判断自己是否有权访问对应的物流用户隐私数据,如果有权访问,就能通过分布式账本获得对应的e_SK存储路径及隐私数据密文对应的云存储路径,进而解密获得相应部分的隐私数据,同时通过区块链上记录数据访问方访问该物流用户隐私数据的记录,实现隐私数据访问记录的可追溯性。具体的框架如图4所示。
[0121] 其中图4中的区块链模块是基于Hyperledger Fabric建立的,由共识机制、分布式账本、链码组成。共识机制负责验证一批未确认交易的发生顺序、合法性以及多个节点是否对分布式账本状态的更新达成一致的观点,共识机制会根据成员管理模块中Verifier维护的TPL来实现对区块链节点的访问权限控制;分布式账本记录了区块链网络中的所有交易的信息,其中State数据库保存了最新的账本数据状态;链码封装了数据拥有方、数据访问方与物流用户隐私数据之间存在的业务逻辑,在State数据库中添加新的状态信息或者更改已经存在的状态信息,数据拥有方在生成一个新的物流隐私数据时,会通过链码在State数据库中添加一个对应的数据权限状态。当数据访问方想要访问数据拥有方的一个物流隐私数据时,必须通过客户端程序构造一个交易,调用链码访问State数据库中隐私数据对应的数据权限状态,进而判断自己是否具有该隐私数据的访问权限。
[0122] 区块链模块处理用户在区块链网络中产生的交易,节点中的共识机制会判断未处理的交易是否合法,并判断该未处理交易对应的交易公钥tran_pub是否存在于Verifier维护的交易公钥列表TPL中;如果交易合法,那么该交易就会调用链码中相应的方法与分布式账本进行交互,例如数据拥有方向分布式账本State数据库中添加一个物流隐私数据对应的数据权限状态或数据访问方从分布式账本State数据库中读取e_SK存储路径信息等。
[0123] State数据库中存储的是物流用户隐私数据对应的数据权限状态,当数据拥有方产生一个新的物流隐私数据时,通过构造一个交易来调用链码中相应的方法向State数据库添加该隐私数据对应的数据权限状态。
[0124] State数据库具体的数据结构如图5所示。State数据库中的数据权限状态是以物流用户隐私数据的id标识的,即每一个物流用户隐私数据都在State数据中对应一个key为dataid的数据权限状态。数据权限状态包括两类:权限数据集和物理隐私数据信息。权限数据集是数据拥有方根据自己的意愿设置的,用来控制管理物流隐私数据的访问权限,数据拥有方可以在权限集中更改或添加一个新用户的权限数据,用户对应的权限数据中包含e_SK存储路径、读取时间的限制及读取次数的限制,用户可根据是否能读取出dataid下userid对应的权限数据来判断自己是否有权限访问编号为dataid的物流隐私数据。物流隐私数据信息包括数据拥有方的编号、隐私数据的上传时间、密文数据包的存储路径+数据拥有方的编号标识了dataid对应的隐私数据拥有方;隐私数据的上传时间是该隐私数据对应的数据权限状态添加到分布式账本State数据库中的时间;密文数据包存储路径是访问云存储平台上该物流隐私数据密文的URL,用于下载该隐私数据的密文数据包;物流状态信息记录了物流从发件人寄出到收件人签收整个过程的实时状态信息。
[0125] 图6示出了本发明隐私数据访问的整体架构图。
[0126] 如图6所示,对所述隐私数据密文进行解密以获得相应部分的隐私数据,具体包括以下步骤:
[0127] 步骤1,由可信任的授权中心生成公钥PK和主密钥MK,并将所述公钥PK公开,使所有用户均能获得,所述主密钥MK由所述可信任的授权中心秘密保存;
[0128] 步骤2,在所述数据拥有方生成一个隐私数据之后,将所述隐私数据按照3个安全级别分为低、中、高三部分,并通过对称加密算法加密数据,HMAC算法保证所述隐私数据的完整性;
[0129] 步骤3,使用基于属性的分层加密方案加密3个对称密钥及HMAC密钥,格式化生成密文数据包并将其存储到云存储平台中;
[0130] 步骤4,由所述可信任的授权中心为所述数据访问方授予一个属性集,并根据所述属性集生成所述数据访问方的解密私钥SK,对所述私钥SK加密处理以生成私钥密文e_SK;
[0131] 步骤5,使所述数据访问方从所述可信任的授权中心请求得到所述私钥密文e_SK,解密得到所述私钥SK;
[0132] 步骤6,由所述数据访问方从所述云存储平台取回所述密文数据包,并根据所述私钥SK对所述密文数据包进行解密,以获得相应部分的隐私数据。
[0133] 图7示出了本发明一种基于区块链的物流隐私保护系统的框图。
[0134] 如图7所示,本发明第二方面还提出一种基于区块链的物流隐私保护系统7,所述基于区块链的物流隐私保护系统7包括:存储器71及处理器72,所述存储器71中包括一种基于区块链的物流隐私保护方法程序,所述基于区块链的物流隐私保护方法程序被所述处理器72执行时实现如下步骤:
[0135] 根据DAA匿名认证的方案,为数据访问方和数据拥有方提供匿名可验证的身份,并通过交易公钥列表TPL实现对区块链节点的访问控制;
[0136] 基于数据拥有方的意愿,在分布式账本中为每个物流用户隐私数据生成一个对应的数据权限状态,所述数据权限状态决定了每个数据访问方的访问权限;
[0137] 由所述数据访问方构造一个交易访问所述分布式账本,以判断所述数据访问方是否有权访问对应的物流用户隐私数据;
[0138] 若有权访问,则通过所述分布式账本获得隐私数据密文对应的云存储路径,根据所述云存储路径获取所述隐私数据密文,对所述隐私数据密文进行解密以获得相应部分的隐私数据;
[0139] 记录所述数据访问方对所述隐私数据的访问记录。
[0140] 需要说明的是,本发明的系统可以在PC、手机、PAD等终端设备中进行操作。
[0141] 需要说明的是,所述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0142] 进一步的,根据DAA匿名认证的方案,为数据访问方和数据拥有方提供匿名可验证的身份,并通过交易公钥列表TPL实现对区块链节点的访问控制,具体包括:
[0143] 由发布方创建一个用户群,所述用户群中的成员为区块链网络中的实体节点,同时生成成员认证公钥KPG和成员发行私钥KMIPK;
[0144] 由发布方将成员认证公钥KPG发送给验证方;
[0145] 接收用户向所述发布方发送的请求信息,所述请求信息包括所述用户的一些身份信息,在所述发布方验证所述用户的身份信息通过后,即可加入到所述用户群中;
[0146] 生成用户的区块链交易密钥对,所述交易密钥对包括交易公钥和交易私钥;
[0147] 用户向所述验证方匿名证明自己的成员身份,并且在认证过程中对所述验证方保持匿名;
[0148] 用户将交易公钥注册到所述交易公钥列表TPL中。
[0149] 进一步的,由发布方创建一个用户群,所述用户群中的成员为区块链网络中的实体节点,同时生成成员认证公钥KPG和成员发行私钥KMIPK,具体包括:
[0150] 由发布方选取一个RSA模数n=pq,其中有p=2p′+1,q=2q′+1,p、q、p′、q′都是素数,并且p和q是长度相同的素数,n的长度为ln;
[0151] 发布方选择QRN的一个随机生成员g′;
[0152] 发布方选择随机整数:x0,x1,xz,xs,xh,xg∈[1,p′q′],并利用下列随机整数计算:
[0153]
[0154]
[0155] 提供一个非交互式的零知识证明发布方产生的g、h、S、Z、R0、R1均是正确计算出来的;
[0156] 由发布方选择长度为lΓ的素数Γ和长度为lρ的素数ρ,ρ和ρ满足Γ=rρ+1,随机选择一个数 使得γ′(Γ-1)/ρ≠1mod Γ,记
[0157] 由发布方将(n,g′,h,S,Z,R0,R,γ,Γ,ρ)作为成员认证公钥KPG,并且将p′q′作为成员发行私钥KMIPK秘密保存起来。
[0158] 进一步的,接收用户向所述发布方发送的请求信息,所述请求信息包括所述用户的一些身份信息,在所述发布方验证所述用户的身份信息通过后,即可加入到所述用户群中,具体包括:
[0159] 用户中host计算 其中bsn1为发布方的基名,用户中TPM模块检查是否 记发布方对KPG签名使用的公钥是K′PG,根据公
式f=H(H(DAAseed||H(PK′1))||cnt||1)mod ρ计算得到f ,使
选择随机数 和
计算 将(U,NI)发送给host,由
host转发给发布方;
[0160] 用户TPM模块通过零知识证明协议向发布方证明用户拥有f0、f1和υ′,其中[0161] 发布方选择一个随机数 和一个素数然后根据公式 知 计算得到υ″和A,然后将
(A,e,υ″)发送给host,(A,e,υ″)即是发布方对用户的身份证书;
[0162] host收到(A,e,υ″)后,计算 和 然后将υ″1和υ″2发送给TPM;
[0163] TPM收到υ″1和υ″2之后,令并将(f0,f1,υ1,υ2)秘密保存起来。
[0164] 进一步的,用户向所述验证方匿名证明自己的成员身份,并且在认证过程中对所述验证方保持匿名,具体包括:
[0165] 用户向验证方发起一个匿名认证的请求;
[0166] 在验证方收到用户发来的匿名认证请求之后,返回一个响应给用户,响应中包含了验证方的基名bsnV和一个消息m;
[0167] 用户使用获得的身份证书(A,e,υ″)对消息m生成知识签名σ;
[0168] 由验证方验证知识签名σ是否有效,如果验证方证明了σ是有效的,则将生成一个与所述用户共享的对称密钥PSK,并通过安全的方式将PSK传送给发起匿名认证请求的用户。
[0169] 进一步的,对所述隐私数据密文进行解密以获得相应部分的隐私数据,具体包括:
[0170] 由可信任的授权中心生成公钥PK和主密钥MK,并将所述公钥PK公开,使所有用户均能获得,所述主密钥MK由所述可信任的授权中心秘密保存;
[0171] 在所述数据拥有方生成一个隐私数据之后,将所述隐私数据按照3个安全级别分为低、中、高三部分,并通过对称加密算法加密数据,HMAC算法保证所述隐私数据的完整性;
[0172] 使用基于属性的分层加密方案加密3个对称密钥及HMAC密钥,格式化生成密文数据包并将其存储到云存储平台中;
[0173] 由所述可信任的授权中心为所述数据访问方授予一个属性集,并根据所述属性集生成所述数据访问方的解密私钥SK,对所述私钥SK加密处理以生成私钥密文e_SK;
[0174] 使所述数据访问方从所述可信任的授权中心请求得到所述私钥密文e_SK,解密得到所述私钥SK;
[0175] 由所述数据访问方从所述云存储平台取回所述密文数据包,并根据所述私钥SK对所述密文数据包进行解密,以获得相应部分的隐私数据。
[0176] 本发明第三方面还提出一种计算机可读存储介质,所述计算机可读存储介质中包括一种基于区块链的物流隐私保护方法程序,所述基于区块链的物流隐私保护方法程序被处理器执行时,实现如上述的一种基于区块链的物流隐私保护方法的步骤。
[0177] 本发明结合区块链技术和分层加密技术,有效防止物流隐私数据的泄露,并实现用户对物流隐私数据访问权限的控制管理,以及物流隐私数据访问记录的可追溯性。
[0178] 在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
[0179] 上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
[0180] 另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0181] 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0182] 或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0183] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈