一种基于区块链的仓单系统中加强仓单交易安全性的方法与流程

文档序号:12306361阅读:724来源:国知局

本发明涉及物流仓储技术领域,更具体地说,本发明涉及一种基于区块链的仓单系统中加强仓单交易安全性的方法。



背景技术:

物流仓储是现代物流系统中的关键环节,而仓单是指仓储方签发给存储人或货物所有人的记载仓储货物的惟一合法的物权凭证。仓单是仓储合同存在的证明,是货物所有权、提取仓储物的凭证。此外,按照规则签发的仓单可以作为安全可靠的抵押品,存货所有者可以据此向银行等金融机构贷款。而且,仓单作为有价证券进行交易不仅可以提高交易量,还能降低交易成本。为实现上述功能,必须要求仓单具有有效性、可信性、不可篡改性等高安全等级。

传统纸质仓单的有效性必须要保管人签字或盖章,其转让质押必须背书。而电子仓单系统主要采用电子签名的形式提供安全性,采用中央数据库保存电子仓单及相关信息。这种信息存储的形式强烈依赖数据库的安全性,容易受到攻击或发生单点故障,存在信息泄露或被篡改的风险。区块链技术是近年出现的分布式账本技术,其特点是去中心化、公开透明、不可更改、不可伪造。区块链技术是当前最安全的网络安全系统框架。但是以比特币为代表的经典区块链技术属于匿名交易,而现实中的高价值交易,特别是金融或有价证券领域,为了保证交易的安全,通常要求引入第三方做担保或资金监管,对交易双方的真实性进行控制。此外,以比特币为代表的经典区块链技术采用明文传输。由于比特币主要用于交易比特币(数值),明文传输是可行的。但对于本系统的仓单信息,属于高度敏感信息,不适于在传输中暴露给所有节点,即应该具有高度的私密性。



技术实现要素:

本发明的一个目的是解决至少上述问题,并提供至少后面将说明的优点。

本发明还有一个目的是提供了一种基于区块链的仓单系统中加强仓单交易安全性的方法,采用区块链技术,利用区块链中不可篡改性以及可追溯性的特点,构建了区块链的仓单系统。该仓单系统中引入了ca(certificateauthority)认证,从而将传统区块链的匿名交易改为实名交易,确保了参与交易的用户是真实可信的,提高了仓单系统中仓单交易的安全性;采用加密+签名的双验证机制将仓单制作成转移单,以完成仓单交易的各个过程,包括仓单兑付、仓单转让、仓单解押、仓单质押、仓单交易等,进一步提高了仓单信息传输的不可抵赖性和私密性。

为了实现上述目的,本发明提供了一种基于区块链的仓单系统中加强仓单交易安全性的方法,包括以下步骤:

步骤一、将ca认证机制引入到仓单系统中的区块链中,利用ca认证机制产生能够验证所述仓单系统中操作各个节点的用户身份的公钥和私钥;所述仓单系统根据公钥经过单向的加密哈希算法得到用户的地址;公钥通过网络在所述仓单系统中进行广播;

步骤二、所述仓单系统的仓单签发节点作为发送方节点在完成商品入库后产生仓单,将仓单信息首先用接收方公钥进行加密,形成密文;按照格式装配上各种辅助信息后,再用仓单签发节点本身的私钥进行签名,并附加上发送方公钥,最终制作成转移单,并以广播的形式发送给接收方节点;

步骤三、在仓单交易的各个过程中,中间节点和接收方节点用发送方公钥对转移单验证签名,从而保证信息的不可篡改性;若接收方需要使用该仓单,则必须用自身的私钥解密转移单上的仓单信息,且该仓单信息对中间节点不可见,从而保证了仓单信息的私密性。

优选的是,其中,所述步骤一中的引入ca认证机制包含以下步骤:

s1、所有用户首先到ca认证中心获取证书,证书中包含明确属于用户并能够验证用户真实身份的公钥和私钥,用户的私钥只有用户自己掌握;在此阶段需要携带包括身份证件、单位公章、营业执照等;

s2、所述仓单系统根据此公钥经过单向的加密哈希算法产生地址,即用户使用仓单系统区块链的账户,用于产生、接收及查询用户所拥有的保存在区块链上的数据。由于公钥绑定用户真实信息,本仓单系统支持实名交易。

优选的是,其中,所述步骤二中,转移单的制作过程为:

首先,发送方节点首先用接收方的公钥对仓单信息进行加密,然后将加密后的仓单信息和接收方节点的公钥进行联合,得到一个哈希值;

然后,发送方节点使用自己的私钥对该哈希值进行加密,得到发送方签名;

最后,将发送方签名按照格式附加在仓单信息后面最终形成转移单,并发送给接收方节点。

优选的是,其中,所述步骤二中的转移单包括产生式转移单和普通地址转移单;

所述产生式转移单中包括加密的仓单信息、接收方节点的地址、发送方节点的公钥以及发送方签名;

所述普通地址转移单包括加密的仓单信息、接收方节点的地址以及发送方签名。

优选的是,其中,所述步骤三中,还包括所述仓单系统的各节点对普通地址转移单和产生式转移单的发送方签名的验证过程,以确保转移单未经篡改。

携带加密仓单信息的转移单在网络上传输及验证时,仓单信息并未暴露给收到转移单的各个中间节点。而接收方节点要使用所获得的仓单,需要使用其私钥解密仓单信息,从而保证了仓单敏感信息的私密性。

优选的是,其中,对普通地址转移单的发送方签名进行验证的过程为:

所述普通地址转移单在转移至接收方节点的过程中经过的中间节点和接收方节点,从发送方节点在制作该普通地址转移单之前接收到的转移单上获得发送方节点的公钥;

利用发送方节点的公钥解密发送方签名,得到第一个数值,即发送方计算的包括仓单信息和接收方公钥的hash值;

然后将仓单信息和接收方的公钥联合起来,计算得到第二个数值,即当前节点计算的hash值,如果第一个数和第二个数相等,则该普通地址转移单确定为发送方节点发出的,且未经篡改。

优选的是,其中,对产生式转移单的发送方签名进行验证的过程为:

所述该产生式转移单在转移至接收方节点的过程中经过的中间节点和接收方节点,在该产生式转移单上获得发送方节点的公钥;

利用发送方节点的公钥解密发送方签名,得到第一个数值,即发送方计算的包括仓单信息和接收方公钥的hash值;

然后将仓单信息和接收方的公钥联合起来,计算得到第二个数值,即当前节点计算的hash值,如果第一个数和第二个数相等,则该产生式转移单确定为发送方节点发出的,且未经篡改。

本发明至少包括以下有益效果:

1、本发明所述的基于区块链的仓单系统中加强仓单交易安全性的方法中引入了ca认证,ca认证产生私钥和公钥,使公钥及由此产生的地址与真实用户绑定,确保参与交易的用户是真实可信,保证了仓单交易的安全性。

2、本发明所述的基于区块链的仓单系统中加强仓单交易安全性的方法设计了加密+签名的双验证机制,首先用接收方公钥对仓单信息进行加密,形成密文;再用发送方私钥进行签名,最终制作成转移单。而接收方需要对转移单验证签名和解密仓单信息,且该信息对中间节点不可见,从而进一步提高了仓单信息传输的不可抵赖性和私密性。

本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。

附图说明

图1为本发明所述的基于区块链的仓单系统中加强仓单交易安全性的方法中用户地址的产生过程。

具体实施方式

下面结合附图及实施例对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。

应当理解,本文所使用的诸如“具有”、“包含”以及“包括”术语并不排除一个或多个其它元件或其组合的存在或添加。

对本发明进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明。

下面,以基于安信区块链构建的仓单系统为实施例,对名词、术语、实施过程进行详细说明。

节点:仓单系统中的节点由仓单平台服务器、仓库管理服务器、交易平台服务器、专用区块服务器、仓库手持设备、用户节点(包括手机等移动设备)等组成,将这些网络设备称为节点。

节点地址:具体指操作节点的用户地址,该地址是一个由数字和字母组成的字符串,例如:1j7mdg5rbqyuhenydx39wvwk7fslpeoxzy。节点地址可以用于接收转移的各种信息,可以公布给其他人。节点地址由公钥经过单向的加密哈希算法得到,可以代表一对公钥和私钥的所有者,即某个用户。地址产生的过程如图1所示:(地址保存在仓单钱包中,故也称钱包地址)

转移单:

在基于区块链的仓单系统中,需要记录可作为有价证券的仓单的生成、转让、质押、交易等转移过程信息,类似于比特币系统的交易单,该关键信息记录称为转移单。

转移单是一个数据结构,其数据长度根据实际内容扩展。转移单上主要内容是本系统需要管理的各种信息,如仓单,其作用是记录各种信息在不同用户间的转移情况。

转移单分为两类:产生式转移单和普通地址转移单。产生式转移单是指由某些固定节点(例如,仓单由仓单签发节点)制作的,携带初次生成的信息的转移单。普通地址转移单记录了信息的来源转移单id和待发送地址,能够清楚说明一个转移的信息的来源情况。产生式转移单及普通地址转移单的详细定义如下表所示:

产生式转移单数据结构

普通地址转移单数据结构

本发明提供的仓单系统中仓单交易安全性具体实现方式为:

1、引入ca认证以支持实名交易

(1)所有用户首先到ca认证中心获取证书(在此阶段需要携带包括身份证件、单位公章、营业执照等)。证书中包含明确属于用户(能够验证用户真实身份)的公钥和私钥,用户的私钥只有用户自己掌握。

(2)仓单系统根据此公钥经过单向的加密哈希算法产生地址,即用户使用仓单区块链的账户,用于产生、接收及查询用户所拥有的保存在区块链上的仓单以及其他敏感数据。由于公钥绑定用户真实信息,本系统支持实名交易。

2、加密+签名的双验证机制

仓单系统的仓单签发节点作为发送方节点在完成商品入库后产生仓单,然后制作成转移单发送给仓单所有者。仓单所有者需要转让或者交易仓单时,作为发送方节点也需要将仓单制作成转移单,发送给接收方。转移单有两类:产生式转移单和普通地址转移单。每种转移单都使用了加密+签名的双验证机制,以提高仓单交易的安全性和私密性。

首先,发送方节点首先用接收方的公钥对仓单信息进行加密,然后将加密后的仓单信息和接收方节点的公钥进行联合,得到一个哈希值;

然后,发送方节点使用自己的私钥对该哈希值进行加密,得到发送方签名;

将签名按照格式附加在仓单信息后面最终形成转移单,转移单格式如上所示,并发送给接收方节点。

在转移单广播及进入区块过程中,各节点(包括中间节点和接收方节点)独立验证转移单及区块的有效性。由于转移单上携带的是加密的仓单信息,所以中间节点是无法看到这些敏感信息的。即具有了私密性。接收方节点在需要使用该仓单信息时,需要使用自己的私钥对其进行解密。由于接收方自己保管私钥,只有接收方自己有能力解密该仓单信息,使仓单交易具有高度安全性和私密性。

3、不可抵赖性&不可篡改性设计-发送方签名及验证过程

验证转移单确实是发送方发出且未经篡改包含两个过程(以下发送方节点称为a,接收方节点称为b,广播过程中的中间节点称为c)

(1)发送方签名

发送方节点a首先根据加密的仓单信息制作一张转移单t2,t2要包括接收方b的公钥。

利用加密的仓单信息和b的公钥联合起来,求出一个哈希值x。

a用自己私钥对x进行加密。得到一个a的签名s。

(2)c和b为了验证该发送方签名,需要做以下事情:

得到发送方a的公钥,这是解密a签名s的钥匙。对于a的公钥,如果是产生式转移单,则会在此张转移单上直接提供;如果是普通地址转移单,b在a在制作该普通地址转移单之前a接收到的转移单上获得a的公钥。

c和b利用a的公钥解密t2上a的签名s,得到a加密前的内容,是一个整数x。

c和b把本次转移信息的总和与b的公钥联合起来,取哈希值y,检验x是否等于y。如果等于,那么说明t2交易单有效,一定是a发出的,且来源信息a无法抵赖。因为来源信息是t1转移单中的内容,已经被关联计算到hash值y中。a既然对y加密成为数字签名s,而这个加密过程只有a自己能做,故而证明转移单t2是a签署的。而对于产生式转移单,都是可信节点制作,虽然没有来源信息,但也可以确认是该节点签发的,追溯时不可抵赖。

尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节及这里示出与描述的图例。

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