一种基于区块链的供应链物流数据安全共享方法与流程

文档序号:24076819发布日期:2021-02-26 17:00阅读:232来源:国知局
一种基于区块链的供应链物流数据安全共享方法与流程

[0001]
本发明属于供应链物流领域,尤其涉及一种基于区块链的供应链物流数据安全共享方法。


背景技术:

[0002]
供应链物流是为了顺利实现与经济活动有关的物流,协调运作生产、供应活动、销售活动和物流活动,进行综合性管理的战略机能。供应链物流是以物流活动为核心,协调供应领域的生产和进货计划、销售领域的客户服务和订货处理业务,以及财务领域的库存控制等活动。
[0003]
近年来,电子商务以突如其来的速度席卷全球。由此我国社会供应链物流总额逐渐增长,供应链物流服务网络的不断健全,供应链物流服务能力得到了大幅提升。但在这种增长背后,隐藏着诸多亟待解决的问题。比如在提供供应链物流服务的过程中,所涉及到的节点众多,不同节点之间需要进行大量的信息交互,交互过程中所产生的数据保存在各节点的私有系统内,无法保证供应链物流过程中数据的隐私性以及用户对信息访问的知情权。因此,需要进一步研究供应链物流数据的访问方式,加强过程溯源,从而实现对完整的供应链物流信息进行保护。
[0004]
zhang等人(参考文献zhang x,li h,yang y,et al.lipps:logistics information privacy protection system based on encrypted qr code[a].in:trustcom/bigdatase/ispa,2017[c].)提出了一个基于二维码技术的个人信息隐私保护物流系统(lipps),该系统采用了分段加密技术对物流用户隐私数据进行加密,并将加密之后的密文存储到二维码中,并设计了不同等级授权机制解密相应的信息,从而完成物流业务操作,但是该系统并没有给出具体的实现以及分级加密技术实现的细节。
[0005]
wang等人(参考文献s.wang,x.wang and y.zhang,"a secure cloud storage framework with access control based on blockchain,"in ieee access,vol.7,pp.112713-112725,2019,doi:10.1109/access.2019.2929205.)提出一种具有访问控制的安全云存储框架,将以太坊区块链和基于密码策略属性的加密(cp-abe)的进行组合,从而实现对数据的访问控制,但是无法保障数据的完整性。
[0006]
zyskind等人(参考文献g.zyskind,o.nathan and a.'.pentland,"decentralizing privacy:using blockchain to protect personal data,"2015 ieee security and privacy workshops,san jose,ca,2015,pp.180-184,doi:10.1109/spw.2015.27.)提出基于区块链的个人数据管理系统,但该系统要求数据所有者与数据访问者必须同时在线。
[0007]
以上方法在数据共享过程中,取得了较好的实践效果,然而,这些方法对于完整供应链物流中信息安全共享均存在一定的缺陷,一方面是安全性不能够得到保障,另一方面是不能适配于供应链物流数据,导致供应链物流数据被非法获取。


技术实现要素:

[0008]
为了实现完整的供应链物流信息的安全共享,本发明提出一种基于区块链的供应链物流数据安全共享方法;具体包括:
[0009]
s1、由fabric-ca中心产生带有用户属性的用户私钥密文,并为用户颁发用户证书,所述用户包括数据请求者和数据提供者;
[0010]
s2、将供应链物流数据按照指定时间和指定区域的访问策略进行加密;
[0011]
s3、将加密过的供应链物流数据打包上传至区块链;
[0012]
s4、所述供应链物流数据成功上链后,数据请求者根据地址对想要的数据进行请求,并通过验证所述数据请求者的属性判断是否满足访问策略;
[0013]
s5、若验证共享请求通过,数据使用者利用自身的私钥对数据进行解密,获取数据,即完成数据共享过程。
[0014]
本发明的有益效果:
[0015]
本发明所使用的基于区块链的供应链物流数据安全共享方法,与传统的物流数据共享相比,其优越性主要体现在,首先,本发明采用fabric-ca中心代替传统的密钥分发中心,避免了传统密钥分发中心与用户通过合谋攻击造成密钥泄露的风险;并且本发明密钥分发过程也是采用了用户的自身属性私钥对密钥进一步进行加密,所以在传播过程中,分发的是用户加密过后的解密密钥即用户的私钥密文,所以能够更进一步保证密钥的安全性;其次,本发明采用带时间限制和区域限制的访问策略对数据进行加密,作为供应链物流数据的发起者制定出时间限制的访问策略,作为供应链物流数据的管理者制定出区域限制的访问策略,本发明所制定的访问策略可以达到细粒度访问控制的目的,更细化的去保证信息安全共享;并且只有满足访问策略属性的用户才有机会对数据进行访问,而不满足该策略的用户无法利用私钥解密从而获得密文,从而实现对完整供应链物流过程数据进行保护的目的。
附图说明
[0016]
图1为本发明的一个实施例中基于区块链的供应链物流数据安全共享方法流程图;
[0017]
图2为本发明的一种优选实施例的基于区块链的供应链物流数据安全共享方法流程图;
[0018]
图3为本发明中fabric-ca中心分发密钥和颁发证书的运行过程流程图;
[0019]
图4为本发明中供应链物流数据上链的流程图;
[0020]
图5为本发明中验证数据请求者的共享请求的流程图。
具体实施方式
[0021]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0022]
数据已经成为新的生产要素,它不仅是基础性资源和战略性资源,更是重要的生
产力,而且数据资源可以形成能“场景变现”的数据资产,特别是在“以消费者为中心”的时代,与客户相关的数据资产才是场景变现的核心价值。在数据共享之前,不仅仅要确认数据安全,还需要一个实现数据保密的过程。
[0023]
而对于具体的供应链数据,供应链是从客户的客户到供应商的供应商,供应链管理是对贯穿其中的产品流、信息流和资金流的集成管理,以最大化客户的价值,最小化供应链的成本。从原材料到客户端,对涉及其中所有元素的管理,就叫供应链管理。它是一个综合的管理思想,力图摆脱单个公司,单个职能层面的局部优化,实现供应链上多个合作合作伙伴,多个职能的全局优化。
[0024]
本发明旨在实现对完整供应链物流过程数据进行保护的目的,提出一种基于区块链的供应链物流数据安全共享方法,图1是本发明的一个实施例中基于区块链的供应链物流数据安全共享方法流程图;如图1所述,所述方法包括以下步骤:
[0025]
s1、由fabric-ca中心产生带有用户属性的用户私钥密文,并为用户颁发用户证书,所述用户包括数据请求者和数据提供者;
[0026]
s2、将供应链物流数据按照指定时间和指定区域的访问策略进行加密;
[0027]
s3、将加密过的供应链物流数据打包上传至区块链;
[0028]
s4、所述供应链物流数据成功上链后,数据请求者根据地址对想要的数据进行请求,并通过验证所述数据请求者的属性判断是否满足访问策略;
[0029]
s5、若验证共享请求通过,数据使用者利用自身的私钥对数据进行解密,获取数据,即完成数据共享过程。
[0030]
在本实施例的实际应用中,天然具有保密性且去中心化的区块链技术可以直接利用技术手段打破多个经营主体的保密性需要,直接植入到物流及供应链的大数据中。也就是说,每一个物流运营者看到的数据和信息仅仅是完成该流程业务所需要的全部必要数据和信息,而关于货物及原始客户及其他大数据,对于该运营者来说,只是一个数据黑箱而已。这样,供应链全流程上的多个运营主体即可充分享受到大数据共享的运营便利,实现“一票到底”,又不用担忧自身获取的资源数据演变为其他企业场景变现的数据资源,在本实施例的应用下,可以将供应链中的所有流程数据都上传至区块链中,由于本实施例中对用访问策略基于用户的属性和可访问的时间段分别进行了设置,只有同时满足用户属性且时间段条件的数据请求者才能够对区块链上的供应链物流数据进行解密,获取其中的内容。
[0031]
在本发明的优选实施例中,图2给出了一种优选实施例中基于区块链的供应链物流数据安全共享方法流程图;如图2所述,所述方法包括以下步骤:
[0032]
s11、策略属性基加密系统初始化;
[0033]
对策略属性基加密系统初始化,具体步骤包括输入安全参数λ,输出系统公钥pp和系统主密钥msk,表示为setup(λ)

pp,msk。
[0034]
s21、由fabric-ca中心产生用户证书以及带有用户属性的用户解密密钥;
[0035]
图3给出了fabric-ca中心分发密钥和颁发证书的运行过程,如图3所示,所述过程包括:
[0036]
s201、用户向fabric-ca中心发送注册申请信息,其中所述注册申请信息包括用户身份标识id以及用户属性a;
[0037]
s202、fabric-ca中心收到注册申请信息后验证注册申请信息的合法性;
[0038]
s203、验证成功后fabric-ca中心根据身份标识id,使用rsa算法生成用户的工作密钥对(u
pk
,u
sk
),其中u
pk
为用户的工作公钥,u
sk
为用户的工作私钥;这里的工作私钥可以用于对用户私钥密文进行解密,获取最终的用户私钥,这个最终的用户私钥才能对数据提供者的数据解密。
[0039]
本发明实施例中的密钥分发过程也是采用了用户的自身属性私钥对密钥进一步进行加密,所以在传播过程中,分发的是用户加密过后的解密密钥即用户的私钥密文,所以能够更进一步保证密钥的安全性。
[0040]
s204、根据用户属性a和用户的工作公钥u
pk
,生成用户属性私钥对应的密文ct
sk

[0041]
s205、fabric-ca中心生成用户的身份证书,并使用其自身的私钥sk
fabric-ca
对所述用户的身份证书进行签名;
[0042]
s206、fabric-ca中心向用户返回用户证书信息以及用户属性私钥对应的密文ct
sk
,即用户私钥密文。
[0043]
s31、将供应链物流数据按照指定时间和指定区域的访问策略进行加密;
[0044]
所述将供应链物流数据按照指定时间和指定区域的访问策略进行加密具体步骤包括输入系统公钥pp、待上链的数据m以及与访问策略相关联的访问控制结构p,生成加密密文ct
m
,表示为encrypt(pp,m,p)

ct
m

[0045]
所述与访问策略相关联的访问控制结构包括用户制定出第一访问策略,物流中心管理员根据地址信息规划处配送路线并制定出第二访问策略。
[0046]
本发明所采用的访问策略主要改进于两方面,其一是,第一数据提供者根据自身所需的时间限制指定出第一访问策略;其二是,第二数据提供者根据供应链中的区域限制制定出第二访问策略。
[0047]
其中,所述第一数据提供者是供应链物流数据的发起者,例如,在实际场景中的发出供应商品的卖家即供货商,该第一数据提供者掌握了供应链物流的起点地址和终点地址信息;所述第一访问策略为带有时间限制的策略,假设第一访问策略设置为2020年11月21日-2020年11月25日,当数据请求者向所述第一数据提供者发出数据请求的时间超过2020年11月25日或者在2020年11月21日之前,那么在构建区块链交易时,第一数据提供者将直接拒绝所述数据请求者的数据请求,不需要再验证数据请求者的属性信息。
[0048]
所述第二数据提供者可以是掌握供应链物流数据的管理员,例如,在实际场景中的快递客服可以掌握其旗下管理的供应链中的所有物流地址信息;所述第二访问策略对不同的数据请求者将设计出不同的策略,例如第二数据提供者掌握了第一数据提供者的所有起点地址信息和终点地址信息,第二数据提供者将按照路径规划的方式计算出当前商品的最优的配送路径,按照所述最优的配送路径,为当前最优配送路径或者最优路径内的数据请求者制定可访问策略,假设第二数据提供者为商品a计算出最优配送路径a,当所述数据请求者在最优配送路径a范围内,第二数据提供者可以向数据请求者提供供应链物流数据信息。
[0049]
本发明所采用的访问策略可以达到细粒度访问控制的目的,更细化的去保证区块链物流数据信息的安全。
[0050]
在本发明实施例中,供应链中的企业包括供货商、制造商、分销商等等一系列参与
商品从生产到最终送到消费者手中的企业。在本发明实施例中,每个目标企业均通过区块链网关接入到区块链中,并将各自目标企业中的数据上传至区块链中,需要说明的是,上述目标企业中的数据可以是任意的供应链物流数据:账户合约资金账户中的数据,仓单合约确权以及交易的数据,账户合约资产账户中的数据,但不限于上述列举的数据。
[0051]
s41、将加密过的数据打包上传至区块链;
[0052]
其中,加密上传的过程如图4所示:
[0053]
s401、记账节点收录交易,按链式数据结构将加密后的供应链物流数据打包成区块;
[0054]
s402、共识算法驱动各节点验证新区块里的交易,确保计算出一致的结果;
[0055]
s403、验证通过后,执行链码生成的背书响应,在收到足够的背书响应以后,将交易进行排序打包生成区块;
[0056]
s404、将区块广播到所有节点,每个区块链节点都存储一个完整的区块数据副本。
[0057]
当用户发起记账请求,即用户对上述区块链节点中的数据进行变更时,区块链会将节点中变更后的数据广播到区块链中其他节点中,进而其他节点执行上述共识算法驱动各节点验证新区块里的交易的步骤;各节点对交易的验证主要对签名交易的标识、交易中背书人的签名以及满足相应链码的命名空间的背书策略进行验证。
[0058]
需要说明的是,记账中的账本每一页就对应为区块链中的区块1,区块2,区块3等。以此类推,每当目标数据写入到区块链的链内账本中时,就会在链内增加一个新的区块供该目标数据写入。
[0059]
在本发明实施例中,区块链不仅可以基于广播机制将第一节点中变更的数据广播到第二节点中,还可以在第二节点收到目标数据后通过广播机制告知该第一节点,以及告知区块链中除第二节点外的其他节点以下内容:第二节点已收到目标数据。
[0060]
s51、数据成功上链后,数据请求者可以根据地址对想要的数据进行请求,通过验证共享请求是否满足约束条件来限制数据请求者的身份。
[0061]
其中,验证共享请求的过程如图5所示:
[0062]
s501、数据请求者向拥有供应链物流数据资源的数据拥有者发送访问请求,并通过资源中的策略执行点将请求转发给授权系统即区块链中的上下文处理器;
[0063]
s502、授权系统中的上下文处理器向策略管理点发送策略查询请求,策略管理点在请求中提取权限转移策略事务链接,并在区块链中检索与此链接相关的权限策略转移事务;
[0064]
s503、策略管理点整合检索到的权限策略转移事务数据与原始访问请求,生成一个标准的访问策略,并返回给授权系统中的上下文处理器;
[0065]
s504、上下文处理器请求策略信息点检索策略中的相关属性;将获取到的相关属性嵌入到原始访问请求中生成新的请求,并转发给策略判决点,由策略判决点对用户的访问权限进行评估,并将评估结果(同意或拒绝)返回给策略执行点,由策略执行点执行策略。
[0066]
在本实施例中,如果s51中的访问策略不通过,则无法对数据进行解密,获取正确的数据内容,而访问策略通过时,就可以利用用户带属性的私钥对物流信息数据进行解密,从而获取数据内容。
[0067]
s61、若验证通过,数据使用者可以利用自身的私钥对数据进行解密,获取数据,完
成数据共享过程。
[0068]
数据使用者利用私钥对数据解密的过程具体包括:
[0069]
decrypt(ct
m
,ct
sk
,pp)

m
[0070]
其中,输入密文ct
m
、用户密钥ct
sk
以及系统公钥pp,属性集合a满足访问策略,算法自动解密密文并获得相应的明文数据m。
[0071]
在本发明实施例中,通过使用区块链将供应链中各企业以及物流数据接入到区块链中,并基于共识运算将区块链中各节点的数据写入区块链的链内账本中的方式,能够实现区块链中各节点间数据可以共享,进而达到了基于区块链中各节点间数据的共享实现供应链中的各企业间数据共享的目的,解决了由于现有技术中供应链中各企业间的系统封闭导致的供应链上的数据不能及时达成一致的技术问题,从而实现了供应链中各企业间的数据可以共享的技术效果。本发明采用fabric-ca中心代替传统的密钥分发中心,避免了传统密钥分发中心与用户通过合谋攻击造成密钥泄露的风险;并且本发明密钥分发过程也是采用了用户的自身属性私钥对密钥进一步进行加密,所以在传播过程中,分发的是用户加密过后的解密密钥即用户的私钥密文,所以能够更进一步保证密钥的安全性;其次,本发明采用带时间限制的访问策略对数据进行加密,用户先制定出访问策略,然后物流中心管理员针对地址信息规划合理的配送路线后制定访问策略,本发明所制定的访问策略可以达到细粒度访问控制的目的,更细化的去保证信息安全共享;并且只有满足访问策略属性的用户才能对数据进行访问,而不满足该策略的用户无法利用私钥解密从而获得密文,从而实现对完整供应链物流过程数据进行保护的目的。
[0072]
在本发明的描述中,需要理解的是,术语“同轴”、“底部”、“一端”、“顶部”、“中部”、“另一端”、“上”、“一侧”、“顶部”、“内”、“外”、“前部”、“中央”、“两端”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
[0073]
在本发明中,除非另有明确的规定和限定,术语“安装”、“设置”、“连接”、“固定”、“旋转”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
[0074]
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1