CN115865447A - 基于区块链的数字产品访问方法及装置 - Google Patents
基于区块链的数字产品访问方法及装置 Download PDFInfo
- Publication number
- CN115865447A CN115865447A CN202211479709.5A CN202211479709A CN115865447A CN 115865447 A CN115865447 A CN 115865447A CN 202211479709 A CN202211479709 A CN 202211479709A CN 115865447 A CN115865447 A CN 115865447A
- Authority
- CN
- China
- Prior art keywords
- user
- digital product
- access
- block chain
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明提供了一种基于区块链的数字产品访问方法及装置,可用于区块链技术领域,方法包括:响应于用户所发送的数字产品访问请求,根据该用户的身份标识符判断其是否具有访问权限;当该用户具有所述访问权限时,在去中心化存储网络中查询所述数字产品访问请求对应的存储目录;所述去中心化存储网络存储有所述数字产品;通过所述去中心化存储网络将查询结果发送给该用户。本发明所提供的基于区块链的数字产品访问方法及装置,有效解决去中心化分散式用户密钥访问和操作的安全和隐私保护难题,可广泛应用在数字版权、金融业务处理等业务场景中。
Description
技术领域
本发明涉及计算机数据处理技术领域,特别涉及区块链技术领域,尤其涉及一种基于区块链的数字产品访问方法及装置。
背景技术
随着各界对数据的使用安全越来越重视,用户发布数字作品并自行处置已逐渐成为新的发展趋势。用户数字作品的管理主要涉及去中心化环境下的数据的版权和安全管理问题,其核心技术是在不互信的环境下如何确保用户密钥的安全管理和隐私保护,以满足用户数字作品确权、转让和索权等版权和安全管理需求。近年来,用户密钥的管理一般有两种思路,其一是用户通过移动端设备自行管理密钥,这种方式简单易用,灵活性较好,缺点是密钥丢失后不容易找回,且隐私保护效果较差;其二是通过第三方机构托管用户密钥,这种方式隐私性和扩展性较好,但也存在盗用用户密钥的风险。有鉴于此,亟待针对去中心化的不互信环境提出更安全高效的用户密钥管理方法。
第三方机构托管密钥技术一般采用集中式系统构建封闭、可信的密钥存储环境,为了获取密钥访问服务,用户首先向第三方认证身份,然后由第三方操纵用户密钥代为处理数字作品。这种技术的缺点是存在较大的安全隐患:首先,集中处理容易出现系统单点,一旦发生系统宕机,将影响用户服务;其次,密钥托管机构拥有完全控制权限,有可能发生在非用户许可的情况下,擅自操作用户数字作品或非法窃取的行为。
综上所述,在去中心化的不互信环境下,针对用户自管理的密钥托管方法还不多,为实现企业级可信的用户密钥安全功能,在密钥管理的隐私性、安全性等方面仍有较大提升空间。
发明内容
本发明所提供的基于区块链的数字产品访问方法及装置,有效解决去中心化分散式用户密钥访问和操作的安全和隐私保护难题,可广泛应用在数字版权、金融业务处理等业务场景中。
为了达到以上目的,本发明一方面公开了一种适用于区块链网络的数字产品访问方法,该包括:
响应于用户所发送的数字产品访问请求,根据该用户的身份标识符判断其是否具有访问权限;
当该用户具有所述访问权限时,在去中心化存储网络中查询所述数字产品访问请求对应的存储目录;所述去中心化存储网络存储有所述数字产品;
通过所述去中心化存储网络将查询结果发送给该用户。
一实施例中,所述根据该用户的身份标识符判断其是否具有访问权限包括:
根据所述身份标识符生成用户证明,并将所述用户证明上传至本地区块链网络;
根据所述访问请求以及所述用户证明判断用户是否具有所述访问权限。
一实施例中,所述根据所述身份标识符生成用户证明包括:
智能合约执行单元,用于根据用户上传的安全参数执行所述身份标识符对应的智能合约,以生成所述用户证明。
一实施例中,用户的身份标识符、用户秘钥的身份标识符以及本地区块链节点的身份标识符在本地区块链网络中唯一。
另一方面,本发明还提供一种适用于用户端的数字产品访问方法,该方法包括:
发送数字产品访问请求至区块链网络;
接收所述区块链网络对于所述数字产品访问请求的处理结果;
当所述处理结果为具有访问所述数字产品的访问权限时,根据所述区块链网络所发送的存储目录,在去中心化存储网络访问所述数字产品。
一实施例中,基于区块链的数字产品访问方法还包括:
根据自身的身份标识符生成公钥以及私钥;
根据所述公钥以及私钥生成安全参数,并上传所述安全参数至所述区块链网络。
对应的,本发明还公开了一种适用于区块链网络的基于区块链的数字产品访问装置,该装置包括:
访问权限判定模块,用于响应于用户所发送的数字产品访问请求,根据该用户的身份标识符判断其是否具有访问权限;
存储目录查询模块,用于当该用户具有所述访问权限时,在去中心化存储网络中查询所述数字产品访问请求对应的存储目录;所述去中心化存储网络存储有所述数字产品;
查询结果发送模块,用于通过所述去中心化存储网络将查询结果发送给该用户。
一实施例中,所述访问权限判定模块包括:
用户证明生成单元,用于根据所述身份标识符生成用户证明,并将所述用户证明上传至本地区块链网络;
访问权限判定单元,用于根据所述访问请求以及所述用户证明判断用户是否具有所述访问权限。
一实施例中,所述用户证明生成单元包括:
根据用户上传的安全参数执行所述身份标识符对应的智能合约,以生成所述用户证明。
一实施例中,用户的身份标识符、用户秘钥的身份标识符以及本地区块链节点的身份标识符在本地区块链网络中唯一。
对应的,本发明还公开了一种适用于用户端的基于区块链的数字产品访问装置,该装置包括:
访问请求发送模块,用于发送数字产品访问请求至区块链网络;
处理结果接收模块,用于接收所述区块链网络对于所述数字产品访问请求的处理结果;
数字产品访问模块,用于当所述处理结果为具有访问所述数字产品的访问权限时,根据所述区块链网络所发送的存储目录,在去中心化存储网络访问所述数字产品。
一实施例中,适用于用户端的基于区块链的数字产品访问装置还包括:
秘钥生成模块,用于根据自身的身份标识符生成公钥以及私钥;
安全参数生成模块,用于根据所述公钥以及私钥生成安全参数,并上传所述安全参数至所述区块链网络。
本发明还公开了一种区块链节点,被配置为响应于用户所发送的数字产品访问请求,根据该用户的身份标识符判断其是否具有访问权限;当该用户具有所述访问权限时,在去中心化存储网络中查询所述数字产品访问请求对应的存储目录;所述去中心化存储网络存储有所述数字产品;通过所述去中心化存储网络将查询结果发送给该用户。
本发明还公开了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权基于区块链的数字产品访问方法的步骤。
本发明还公开了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述方法。
从上述描述可知,首先,本发明实施例提供一种适用于区块链网络的基于区块链的数字产品访问方法,该方法包括:首先,响应于用户所发送的数字产品访问请求,根据该用户的身份标识符判断其是否具有访问权限;接着,当该用户具有访问权限时,在去中心化存储网络中查询数字产品访问请求对应的存储目录;去中心化存储网络存储有数字产品;最后通过去中心化存储网络将查询结果发送给该用户。
其次,本发明实施例还提供适用于用户端的基于区块链的数字产品访问方法,该方法包括:首先,发送数字产品访问请求至区块链网络;接着,接收区块链网络对于数字产品访问请求的处理结果;最后当处理结果为具有访问数字产品的访问权限时,根据区块链网络所发送的存储目录,在去中心化存储网络访问数字产品。
本发明解决去中心化系统中用户密钥的安全存储和隐私保护问题,建立了一套去中心化密钥安全操作框架,基于区块链技术引入零知识证明和数字身份验证用户的身份和操作处理。当用户提出数字产品操作请求时,调用区块链智能合约进行用户权限控制和身份校验,并与区块链上的零知识证明算法进行操作证明核验,从而根据认证结果执行访问操作。利用区块链多方共享、可信存证以及零知识证明的特点,在区块链网络上存证用户密钥访问权限,确保权限表能够被最近的存储节点获取和访问。本发明在创新引入了零知识证明和分布式用户身份,并将用户密钥的操作予以验证,有效解决去中心化分散式用户密钥访问和操作的安全和隐私保护难题,可广泛应用在数字版权、金融业务处理等业务场景中。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的实施例中基于区块链的数字产品访问方法的流程示意图(适用于区块链网络);
图2为本发明的实施例中基于区块链的文件传输方法的步骤200的流程示意图;
图3为本发明的实施例中基于区块链的文件传输方法的步骤201的流程示意图;
图4为本发明的实施例中基于区块链的数字产品访问方法的流程示意图一(适用于用户端);
图5为本发明的实施例中基于区块链的数字产品访问方法的流程示意图二(适用于用户端);
图6为本发明的具体实施方式中基于区块链的数字产品访问系统的场景结构图;
图7为本发明的具体实施方式中基于区块链的数字产品访问系统的分层结构图
图8为本发明的具体实施方式中基于区块链的数字产品访问系统的服务网关节点结构图;
图9为本发明的具体实施方式中基于区块链的DS节点结构图
图10为本发明的具体实施方式中基于区块链的区块链节点结构图;
图11为本发明的具体实施方式中基于区块链的数字产品访问系统的流程图;
图12为本发明的实施例中基于区块链的数字产品访问装置图(适用于区块链网络);
图13为本发明的实施例中基于区块链的数字产品访问装置的访问权限判定模块30的方块图;
图14为本发明的实施例中基于区块链的数字产品访问装置的用户证明生成单元301的方块图;
图15为本发明的实施例中基于区块链的数字产品访问装置图一(适用于用户端);
图16为本发明的实施例中基于区块链的数字产品访问装置图二(适用于用户端);
图17为本发明的实施例中的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本申请公开的一种基于区块链的数字产品访问方法及装置、可用于人工智能技术领域,也可用于除人工智能技术领域之外的任意领域,本申请公开的一种基于区块链的数字产品访问方法及装置的应用领域不做限定。
为了便于理解本申请提供的技术方案,下面先对本申请技术方案的相关内容进行说明。本发明实施例提供的基于区块链的数字产品访问方法,建立了一套去中心化密钥安全操作框架,基于区块链技术引入零知识证明和数字身份验证用户的身份和操作处理。当用户提出数字产品操作请求时,调用区块链智能合约进行用户权限控制和身份校验,并与区块链上的零知识证明算法进行操作证明核验,从而根据认证结果执行访问操作。利用区块链多方共享、可信存证以及零知识证明的特点,在区块链网络上存证用户密钥访问权限,确保权限表能够被最近的存储节点获取和访问。本发明在创新引入了零知识证明和分布式用户身份,并将用户密钥的操作予以验证,有效解决去中心化分散式用户密钥访问和操作的安全和隐私保护难题,可广泛应用在数字版权、金融业务处理等业务场景中。
本申请技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
根据本发明的一个方面,本实施例公开了一种适用于区块链网络的基于区块链的数字产品访问方法。如图1所示,本实施例中,所述方法包括:
步骤100:响应于用户所发送的数字产品访问请求,根据该用户的身份标识符判断其是否具有访问权限;
在本发明中,所有区块链节点、用户、密钥实体(片断)具有全局唯一数字身份标识符(身份标识符),其是指通过数字化信息将个体可识别的刻画出来,将真实的身份信息浓缩为数字代码形式的公/私钥,以便对个体的行为信息进行绑定、查询和验证。
步骤200:当该用户具有所述访问权限时,在去中心化存储网络中查询所述数字产品访问请求对应的存储目录;所述去中心化存储网络存储有所述数字产品;
首先,将数字产品在分散、不可信的网络环境中,将数据分散存储在多台独立的设备上,以打破中心化存储垄断,解决存储服务器单点成为系统性能的瓶颈,满足更加安全、可信、可控的存储需求。此外,去中心化存储网络还负责分散式文件读写,交易信息存证到区块链节点。
步骤300:通过所述去中心化存储网络将查询结果发送给该用户。
步骤300中的去中心化存储网络负责根据客户端提交的上传(下载)、查询等请求,通过分散式存储逻辑配置参数、数据、业务逻辑等,同时加密形成文件分块数据,其哈希值广播给区块链网络。
一实施例中,参见图2,步骤200包括:
步骤201:根据所述身份标识符生成用户证明,并将所述用户证明上传至本地区块链网络;
具体地,本发明实施例采用GenWitness函数生成用户证明:GenWitness为生成用户的证明函数,形式上表示为:
GenWitness(Params,v,C)→w
其中,v∈C表示用户要证明的操作,C为用户操作集合,w表示生成的证明,形式上:
w=Accumulate(Params,C\{v})
C\{v}表示排除v的C操作集合。
步骤202:根据所述访问请求以及所述用户证明判断用户是否具有所述访问权限。
具体地,本发明实施例采用Verify函数判断用户是否具有访问权限:
Verify表示验证用户证明的函数,形式上:
Verify(Params,A,v,w)→{0,1}
其中,Params=(N,u),如果计算值A′≡A=wv,则输出1,表示验证用户证明成功,否则输出0,表示验证失败。
一实施例中,参见图3,步骤201包括:
步骤2011:根据用户上传的安全参数执行所述身份标识符对应的智能合约,以生成所述用户证明。
首先,用户端根据以下方法生成安全参数,并上传至区块链,区块链执行对应的智能合约,以生成用户证明
Setup是初始化设置安全参数的函数,形式上:
Setup(λ)→Params
其中,输入为安全参数,输出全局公共参数params,本案的公共参数为Params=(p,q,u),p和q分别为大素数,u≠1表示小于N的有理整数。
一实施例中,用户的身份标识符、用户秘钥的身份标识符以及本地区块链节点的身份标识符在本地区块链网络中唯一。
在区块链网络中,所有节点、用户、密钥实体(片断)具有全局唯一数字身份标识符DID,DID符合W3C DID规范,形式化表示为:
DID={id|id="did":"method-name":"{0,1}*"}
其中,method-name表示DID所在的域,{0,1}*表示256位的标识号,为数字身份在method-name域中计算出的(全局唯一)字符串。DID是节点及用户在区块链网络的数字身份ID,通过区块链网络同步到共识记账节点,并存储在区块中。区块链网络提供智能合约,为访问者提供交互服务。
在优选的实施方式中,如图4所示,本发明还提供一种适用于用户端的基于区块链的数字产品访问方法,该包括:
步骤A:发送数字产品访问请求至区块链网络;
需要指出的是,在步骤100至300以及步骤A至B中,客户端A和客户端B分别通过服务网关1接入DS节点,将通过DS节点发布文件读取请求,接收安文件读取结果。
步骤B:接收所述区块链网络对于所述数字产品访问请求的处理结果;
步骤C:当所述处理结果为具有访问所述数字产品的访问权限时,根据所述区块链网络所发送的存储目录,在去中心化存储网络访问所述数字产品。
在步骤B以及步骤C中,区块链执行智能合约查询与用户身份标识符(DID)相关的文件目录列表,返回客户端,接着,DS节点执行查询文件目录列表操作,返回用户文件目录列表。客户端展现文件目录列表,客户端接收成功返回文件目录列表信息。
一实施例中,参见图5,适用于用户端的基于区块链的数字产品访问方法还包括:
步骤D:根据自身的身份标识符生成公钥以及私钥;
具体地,用户端调用密钥生成sdk,生成不对称用户公钥和私钥(pku,sku),私钥sku存储在客户端本地保管。
步骤E:根据所述公钥以及私钥生成安全参数,并上传所述安全参数至所述区块链网络。
在步骤E的基础上,公钥pku进行上链处理。接着,根据所述公钥以及私钥生成安全参数,并上传所述安全参数至所述区块链网络。输入用户公钥pku,分布式数字身份DID,调用区块链智能合约接口初始化安全参数。接收和检查初始化安全参数请求。执行Setup智能合约实现安全参数设置,产生params,形式上:
Setup(λ)→Params
其中,输入为安全参数,输出全局公共参数params,本案的公共参数为Params=(p,q,u),p和q分别为大素数,u≠1表示小于N的有理整数。最后将Params=(N,u)作为全局安全参数上链存证,其中N=pq。
在一种具体实施方式中,本发明还提供一种基于区块链的数字产品访问方法的具体实施方式,具体包括以下内容。
术语简介:
区块链(Blockchain):一种利用密码学保证访问安全、利用P2P通讯技术实现对等通信、利用共识机制实现记账合法性,利用链式结构存储数据实现不可篡改的共同记账解决方案。
零知识证明:一种涉及两方或更多方的协议,即两方或更多方完成一项任务所采取的一系列步骤。证明者向验证者证明并使其相信自己知道或拥有某一信息,但证明过程不能向验证者泄露关于被证明消息的信息。
数字身份(Digital Identity):是指通过数字化信息将个体可识别的刻画出来,将真实的身份信息浓缩为数字代码形式的公/私钥,以便对个体的行为信息进行绑定、查询和验证。
分散式存储(Decentralized storage):是指在分散、不可信的网络环境中,将数据分散存储在多台独立的设备上,打破中心化存储垄断,解决存储服务器单点成为系统性能的瓶颈,满足更加安全、可信、可控的存储需求。
参见图6,本发明具体实施方式首先提供一种基于区块链的数字产品访问系统,该系统包括:客户端0、服务网关1、DS节点2、区块链节点3、持有者4、接收者5。
客户端0:主要负责发起智能合约部署请求、分散式存储交易请求、分散式存储查询请求等。
服务网关1:主要负责提供智能合约API,实现限流熔断,安全检测,用户操作权限验证和访问,身份验证和安全参数设置等。
DS节点2:即去中心化存储节点,负责接收服务网关1的文件读写请求,进行分散式文件读写,交易信息存证到区块链节点。本发明客户端A和客户端B分别通过服务网关1接入DS节点,将通过DS节点发布文件读取请求,接收安文件读取结果。
区块链节点3,完成交易广播、交易执行、交易验证、共识和存储等功能的节点。具有区块链的一般特性。通过客户端发起文件读取指令,同时经过文件读写存证的智能合约执行后的交易记录也会保存在区块链上。
持有者4:发起安全参数初始化,持有用户密钥,在区块链网络注册数字身份DID,作为数字版权所有者上传数字文件和提供数字文件确权操作。
接收者5:数字文件的接收者,为获取访问权限,向持有者4提出访问请求,并接收和访问数字文件。
另一方面,基于区块链的数字产品访问系统的分层结构图如图7所示,包括客户访问层20,服务网关层21,去中心化文件存储网络22,区块链网络23。
客户端访问层20:负责提供运营商访问的客户端软件,便于发起分散式存储请求,接收分散式存储结果。客户端可在区块链平台上发布智能合约(链码),客户产生上传或下载的行为数据后,可调用链码发起交易请求,将行为数据上链,根据客户使用场景,提交到各个场景对应的通道上(客户端可以直接上送客户行为数据,无需加工处理,具体数据处理逻辑可交由场景提供商执行)。供应商也可以发布链码,可以查询属于自己通道的数据,可以对自己通道的数据进行处理分析。
网关服务层21:负责面向客户端提供区块链智能合约服务API,实现交易的限流熔断、用户操作提交和验证、DS节点的文件上传、下载,CID(内容标识)生成,实现DID(去中心化数字身份)注册、校验、目录查询更新等智能合约功能调用。
去中心化文件存储网络22:负责根据客户端提交的上传(下载)、查询等请求,通过分散式存储逻辑配置参数、数据、业务逻辑等,同时加密形成文件分块数据,其哈希值广播给区块链网络23。场景提供商还可以发布联合运营链码,通过链码调用DS节点服务,每个区块链节点都有对应的DS节点服务,链码可以指定需要哪些DS服务进行联合计算。场景提供商通过链码发起联合计算请求,原本其它通道的提供商数据相互之间是无法访问的,通过DS可以在不泄漏各自数据的情况进行分散式数据存储。
区块链网络23:负责接收和解密文件分散式存储报文,触发预设的智能合约逻辑,形成分散式存储的日志结果。区块链网络可提供托管节点,对于有能力的提供商也可提供本地节点部署。每个场景提供商在区块链上有各自的通道,场景提供商无法获取其它通道也即其它提供商的数据信息。
参见图8,基于区块链的数字产品访问系统的服务网关节点结构图如图所示,其主要技术结构包括通讯模块31,限流熔断模块32,安全认证模块33、API服务接口34。
通讯模块31:负责为服务网关节点建立安全通道,实现去中心化文件存储、用户操作请求、初始化安全参数等报文收发。
限流熔断模块32:负责根据交易吞吐量配置进行交易限流和熔断控制。
安全认证模块33:负责保管用户的私钥和对称密钥,管理用户的数字身份DID;负责调用区块链网络提供的安全接口API,实现用户身份注册、认证,以及密态文件的加密解密等。
API服务接口34:负责提供区块链DS存储、隐私安全处理等一系列智能合约API接口服务,包括4个函数(Setup,Accumulate,Genwitness,Verify)的封装接口:
第三,如图9所示,本发明还提供DS节点结构图,其主要技术结构包括通讯模块41,内容生成模块42、DAG模块43、Chunk模块44。
通讯模块21:负责为DS节点2建立安全通道,实现分散式存储报文收发。
内容生成模块22:负责对去中心化文件内容生成Cid处理。
设FileLinkM表示文件M链接的数据格式,形式上:
FileLinkM=(Cid,Size,FileObj{Links,dataM},chksum)
其中,Size表示文件M的大小,FileObj表示文件对象结构,Links表示文件分片的链接数组,dataM表示M的数据内容,Cid表示内容地址信息,形式上:
Cid=h(M,Did1,...,Didn)
其中h是Hash函数,Did1,Did2,....,Didn表示拥有文件M的数字身份群组。
DAG模块44:负责对内容地址Cid执行默克尔(Merkle)校验,保证根节点的Cid与计算出来的摘要哈希相等。
Chunk模块45:对文件对象数据内容进行分片,同时确保分片后的数据彼此连接,形成文件对象树。
本发明中所涉及的区块链节点结构图如图10所示,区块链节点5技术结构包括:通讯模块51,交易处理模块52,智能合约模块53,共识验证模块54。
通讯模块51:负责各节点间的通信交互,完成一般区块链节点通讯信息,包括交易信息广播、共识相关信息、区块同步信息、网络状态信息等。
交易处理模块52:负责接收交易请求,生成交易唯一标识,将交易唯一标识、合约唯一标识以及调用参数组装成交易,广播到区块链的其它节点。
智能合约模块53:责从通讯模块52接收交易请求,通过分散式存储得出计算结果,根据预设的业务逻辑进行判断,并把最终交易指令通过通讯模块51提交到交易处理模块52进行执行。本发明服务网关调用智能合约交易,将交易处理模块52接收信息并存证到区块链网络,主要执行的操作包括4个函数(Setup,Accumulate,Genwitness,Verify):
1、Setup
Setup是初始化设置安全参数的函数,形式上:
Setup(λ)→Params
其中,输入为安全参数,输出全局公共参数params,本案的公共参数为Params=(p,q,u),p和q分别为大素数,u≠1表示小于N的有理整数。
2、Accumulate
累加函数,用于定义生成密态操作集合的函数,形式上:
Accumulate(Params,C)→A
其中,Params为安全参数,C=(transfer,download,prove,empower..)表示用户的操作集合,transfer表示上传(数字作品),download表示下载(数字作品),prove表示确权,empower表示赋权,为便于计算,上述操作集合被赋予大的素数值,其值小于N,因此,C形式化表示为:C={c1,c2,...,ci|ci<pq=N}。A为密态计算结果,形式上:
A=uc1c2...cimod N
3、GenWitness
GenWitness为生成用户的证明函数,形式上表示为:
GenWitness(Params,v,C)→w
其中,v∈C表示用户要证明的操作,C为用户操作集合,w表示生成的证明,形式上:
w=Accumulate(Params,C\{v})
C\{v}表示排除v的C操作集合。
4、Verify
Verify表示验证用户证明的函数,形式上:
Verify(Params,A,v,w)→{0,1}
其中,Params=(N,u),如果计算值A′≡A=wv,则输出1,表示验证用户证明成功,否则输出0,表示验证失败。
共识验证模块54:负责对接收到交易请求进行共识处理,如达成共识,调用智能合约模块53,执行智能合约,并最终形成记录在案,可供日后审计追溯或验证。
参见图11,基于上述的基于区块链的数字产品访问系统以及其内部的子模块的结构,本发明的具体实施方式所提供的基于区块链的数字产品访问方法包括以下步骤:包括初始化安全参数,上传文件数据,访问文件数据3个阶段:
阶段一:初始化安全参数。
步骤S601:用户通过客户端提交初始化安全参数请求;
步骤S602:客户端接收请求后,调用密钥生成sdk,生成不对称用户公钥和私钥(pku,sku),私钥sku存储在客户端本地保管,公钥pku上传服务网关,并经由服务网关进行上链处理。
步骤S603:输入用户公钥pku,分布式数字身份DID,调用区块链智能合约接口初始化安全参数。
步骤S604:交易处理模块接收和检查初始化安全参数请求。
步骤S605:执行Setup智能合约实现安全参数设置,产生params,形式上:
Setup(λ)→Params
其中,输入为安全参数,输出全局公共参数params,本案的公共参数为Params=(p,q,u),p和q分别为大素数,u≠1表示小于N的有理整数。
步骤S606:将Params=(N,u)作为全局安全参数上链存证,其中N=pq。
步骤S607:将安全参数返传给客户端。
步骤S608:将安全参数存储到客户端本地保管。
步骤S609:返回初始化安全参数成功消息。
阶段二:生成用户证明。
步骤S701:用户通过客户端发起生成用户证明请求。
步骤S702:发起调用GenWitness函数请求。
步骤S703:调用GenWitness API,上传安全参数(Params,v,C)。其中,Params为安全参数,C=(transfer,download,prove,empower..)表示用户的操作集合,transfer表示上传(数字作品),download表示下载(数字作品),prove表示确权,empower表示赋权,为便于计算,上述操作集合被赋予大的素数值,其值小于N,因此,C形式化表示为:C={c1,c2,...,ci|ci<pq=N}。
步骤S704:交易处理模块接收初始化安全参数请求。
步骤S705:执行GenWitness智能合约,生成用户证明。形式上表示为:
GenWitness(Params,v,C)→w
其中,v∈C表示用户要证明的操作,C为用户操作集合,w表示生成的证明,形式上:
w=Accumulate(Params,C\{v})
C\{v}表示排除v的C操作集合。Accumulate为累加函数,用于定义生成密态操作集合的函数,形式上:
Accumulate(Params,C)→A
其中,Params为安全参数,C=(transfer,download,prove,empower..)表示用户的操作集合,transfer表示上传(数字作品),download表示下载(数字作品),prove表示确权,empower表示赋权,为便于计算,上述操作集合被赋予大的素数值,其值小于N,因此,C形式化表示为:C={c1,c2,...,ci|ci<pq=N}。A为密态计算结果,形式上:
A=uc1c2...cimod N
步骤S706:将用户证明w上链存证。
步骤S707:向客户端发送文件上传成功的返回结果。
阶段三:校验用户证明。
步骤S801:用户通过客户端提交文件目录查询访问请求。
步骤S802:通过客户端提取安全参数Params=(N,u),通过服务网关提出校验用户证明申请。
步骤S803:服务网关调用区块链智能合约API(Verify)校验用户证明合法性。
步骤S804:交易处理模块接收初始化安全参数请求。
步骤S805:执行Verify智能合约,校验用户证明是否合法。形式上:
Verify(Params,A,v,w)→{0,1}
其中,Params=(N,u),如果计算值A′≡A=wv,则输出1,表示验证用户证明成功,否则输出0,表示验证失败。
步骤S806:检查用户证明校验是否成功。
步骤S807:如果失败,客户端返回校验失败消息。
步骤S808:系统执行结束。
步骤S809:执行智能合约查询与用户DID相关的文件目录列表,返回客户端。
步骤S810:DS节点执行查询文件目录列表操作,返回用户文件目录列表。
步骤S811:客户端展现文件目录列表。
步骤S812:客户端接收成功返回文件目录列表信息。
从上述描述可知,首先,本发明实施例提供一种适用于区块链网络的基于区块链的数字产品访问方法,该方法包括:首先,响应于用户所发送的数字产品访问请求,根据该用户的身份标识符判断其是否具有访问权限;接着,当该用户具有访问权限时,在去中心化存储网络中查询数字产品访问请求对应的存储目录;去中心化存储网络存储有数字产品;最后通过去中心化存储网络将查询结果发送给该用户。
其次,本发明实施例还提供适用于用户端的基于区块链的数字产品访问方法,该方法包括:首先,发送数字产品访问请求至区块链网络;接着,接收区块链网络对于数字产品访问请求的处理结果;最后当处理结果为具有访问数字产品的访问权限时,根据区块链网络所发送的存储目录,在去中心化存储网络访问数字产品。
在本发明中,通过将数字产品分散式存储文件目录系统中,数据所有者对上传数据文件的真实性负责,并可授权目标用户的访问权限,非授权用户无法访问数据文件。具体地,本发明提基于区块链技术引入零知识证明和数字身份验证用户的身份和操作处理。当用户提出数字产品操作请求时,调用区块链智能合约进行用户权限控制和身份校验,并与区块链上的零知识证明算法进行操作证明核验,从而根据认证结果执行访问操作。利用区块链多方共享、可信存证以及零知识证明的特点,在区块链网络上存证用户密钥访问权限,确保权限表能够被最近的存储节点获取和访问。本发明在创新引入了零知识证明和分布式用户身份,并将用户密钥的操作予以验证,有效解决去中心化分散式用户密钥访问和操作的安全和隐私保护难题,可广泛应用在数字版权、金融业务处理等业务场景中。本发明的有益效果包括:
1、提出基于区块链的密钥管理系统框架,该框架结合区块链网络,支持数据所有者利用零知识证明发起数字产品操作,为用户提供文件安全上传和访问的托管机制。
2、提出一种基于零知识证明的用户操作方法,该方法为数据所有者提供一系列安全和隐私保护的数字产品操作服务,实现数字产品上传,下载,验证,赋权等安全隐私保护。
3、提出一种可信存储密钥管理方法,该方法依托服务网关保管用户私钥,不直接暴露用户私钥,而是根据用户的证明检查其操作合法性,具有安全度高,响应速度快的特点。
基于相同原理,参见图12,本实施例还公开了一种适用于区块链网络的基于区块链的数字产品访问装置,该装置包括:
访问权限判定模块10,用于响应于用户所发送的数字产品访问请求,根据该用户的身份标识符判断其是否具有访问权限;
存储目录查询模块20,用于当该用户具有所述访问权限时,在去中心化存储网络中查询所述数字产品访问请求对应的存储目录;所述去中心化存储网络存储有所述数字产品;
查询结果发送模块30,用于通过所述去中心化存储网络将查询结果发送给该用户。
一实施例中,参见图13,所述访问权限判定模块30包括:
用户证明生成单元301,用于根据所述身份标识符生成用户证明,并将所述用户证明上传至本地区块链网络;
访问权限判定单元302,用于根据所述访问请求以及所述用户证明判断用户是否具有所述访问权限。
一实施例中,参见图14,所述用户证明生成单元301包括:
智能合约执行单元3011,用于根据用户上传的安全参数执行所述身份标识符对应的智能合约,以生成所述用户证明。
一实施例中,用户的身份标识符、用户秘钥的身份标识符以及本地区块链节点的身份标识符在本地区块链网络中唯一。
对应的,参见图15,本发明还公开了一种适用于用户端的基于区块链的数字产品访问装置,该装置包括:
访问请求发送模块A,用于发送数字产品访问请求至区块链网络;
处理结果接收模块B,用于接收所述区块链网络对于所述数字产品访问请求的处理结果;
数字产品访问模块C,用于当所述处理结果为具有访问所述数字产品的访问权限时,根据所述区块链网络所发送的存储目录,在去中心化存储网络访问所述数字产品。
一实施例中,参见图16,适用于用户端的基于区块链的数字产品访问装置还包括:
秘钥生成模块D,用于根据自身的身份标识符生成公钥以及私钥;
安全参数生成模块E,用于根据所述公钥以及私钥生成安全参数,并上传所述安全参数至所述区块链网络。
由于该装置解决问题的原理与以上方法类似,因此本装置的实施可以参见方法的实施,在此不再赘述。
从上述描述可知,首先,本发明实施例提供一种适用于区块链网络的基于区块链的数字产品访问装置:首先,响应于用户所发送的数字产品访问请求,根据该用户的身份标识符判断其是否具有访问权限;接着,当该用户具有访问权限时,在去中心化存储网络中查询数字产品访问请求对应的存储目录;去中心化存储网络存储有数字产品;最后通过去中心化存储网络将查询结果发送给该用户。
其次,本发明实施例还提供适用于用户端的基于区块链的数字产品访问装置:首先,发送数字产品访问请求至区块链网络;接着,接收区块链网络对于数字产品访问请求的处理结果;最后当处理结果为具有访问数字产品的访问权限时,根据区块链网络所发送的存储目录,在去中心化存储网络访问数字产品。
本发明解决去中心化系统中用户密钥的安全存储和隐私保护问题,建立了一套去中心化密钥安全操作框架,基于区块链技术引入零知识证明和数字身份验证用户的身份和操作处理。当用户提出数字产品操作请求时,调用区块链智能合约进行用户权限控制和身份校验,并与区块链上的零知识证明算法进行操作证明核验,从而根据认证结果执行访问操作。利用区块链多方共享、可信存证以及零知识证明的特点,在区块链网络上存证用户密钥访问权限,确保权限表能够被最近的存储节点获取和访问。本发明在创新引入了零知识证明和分布式用户身份,并将用户密钥的操作予以验证,有效解决去中心化分散式用户密钥访问和操作的安全和隐私保护难题,可广泛应用在数字版权、金融业务处理等业务场景中。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机设备,具体的,计算机设备例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
在一个典型的实例中计算机设备具体包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述的由客户端执行的方法,或者,所述处理器执行所述程序时实现如上所述的由服务器执行的方法。
下面参考图17,其示出了适于用来实现本申请实施例的计算机设备的结构示意图。
如图17所示,计算机设备包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM))603中的程序而执行各种适当的工作和处理。在RAM603中,还存储有系统操作所需的各种程序和数据。CPU601、ROM602、以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶反馈器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡,调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装如存储部分608。
特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包括用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种基于区块链的数字产品访问方法,其特征在于,包括:
响应于用户所发送的数字产品访问请求,根据该用户的身份标识符判断其是否具有访问权限;
当该用户具有所述访问权限时,在去中心化存储网络中查询所述数字产品访问请求对应的存储目录;所述去中心化存储网络存储有所述数字产品;
通过所述去中心化存储网络将查询结果发送给该用户。
2.根据权利要求1所述的数字产品访问方法,其特征在于,所述根据该用户的身份标识符判断其是否具有访问权限包括:
根据所述身份标识符生成用户证明,并将所述用户证明上传至本地区块链网络;
根据所述访问请求以及所述用户证明判断用户是否具有所述访问权限。
3.根据权利要求2所述的数字产品访问方法,其特征在于,所述根据所述身份标识符生成用户证明包括:
根据用户上传的安全参数执行所述身份标识符对应的智能合约,以生成所述用户证明。
4.根据权利要求1所述的数字产品访问方法,其特征在于,用户的身份标识符、用户秘钥的身份标识符以及本地区块链节点的身份标识符在本地区块链网络中唯一。
5.一种基于区块链的数字产品访问方法,其特征在于,包括:
发送数字产品访问请求至区块链网络;
接收所述区块链网络对于所述数字产品访问请求的处理结果;
当所述处理结果为具有访问所述数字产品的访问权限时,根据所述区块链网络所发送的存储目录,在去中心化存储网络访问所述数字产品。
6.根据权利要求5所述的数字产品访问方法,其特征在于,还包括:
根据自身的身份标识符生成公钥以及私钥;
根据所述公钥以及私钥生成安全参数,并上传所述安全参数至所述区块链网络。
7.一种基于区块链的数字产品访问装置,其特征在于,包括:
访问权限判定模块,用于响应于用户所发送的数字产品访问请求,根据该用户的身份标识符判断其是否具有访问权限;
存储目录查询模块,用于当该用户具有所述访问权限时,在去中心化存储网络中查询所述数字产品访问请求对应的存储目录;所述去中心化存储网络存储有所述数字产品;
查询结果发送模块,用于通过所述去中心化存储网络将查询结果发送给该用户。
8.一种基于区块链的数字产品访问装置,其特征在于,包括:
访问请求发送模块,用于发送数字产品访问请求至区块链网络;
处理结果接收模块,用于接收所述区块链网络对于所述数字产品访问请求的处理结果;
数字产品访问模块,用于当所述处理结果为具有访问所述数字产品的访问权限时,根据所述区块链网络所发送的存储目录,在去中心化存储网络访问所述数字产品。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至6任一项所述基于区块链的数字产品访问方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6任一项所述基于区块链的数字产品访问方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211479709.5A CN115865447A (zh) | 2022-11-24 | 2022-11-24 | 基于区块链的数字产品访问方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211479709.5A CN115865447A (zh) | 2022-11-24 | 2022-11-24 | 基于区块链的数字产品访问方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115865447A true CN115865447A (zh) | 2023-03-28 |
Family
ID=85665644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211479709.5A Pending CN115865447A (zh) | 2022-11-24 | 2022-11-24 | 基于区块链的数字产品访问方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115865447A (zh) |
-
2022
- 2022-11-24 CN CN202211479709.5A patent/CN115865447A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220318907A1 (en) | Systems and methods for generating secure, encrypted communications across distributed computer networks for authorizing use of cryptography-based digital repositories in order to perform blockchain operations in decentralized applications | |
CN111970129B (zh) | 一种基于区块链的数据处理方法、设备以及可读存储介质 | |
CN111431713B (zh) | 一种私钥存储方法、装置和相关设备 | |
CN110569638B (zh) | 一种api认证的方法、装置、存储介质及计算设备 | |
CN114584307B (zh) | 一种可信密钥管理方法、装置、电子设备和存储介质 | |
Oktian et al. | BorderChain: Blockchain-based access control framework for the Internet of Things endpoint | |
US9608971B2 (en) | Method and apparatus for using a bootstrapping protocol to secure communication between a terminal and cooperating servers | |
CN114329529A (zh) | 一种基于区块链的资产数据管理方法及系统 | |
CN114978635B (zh) | 跨域认证方法及装置、用户注册方法及装置 | |
US12034868B2 (en) | Systems and methods for generating secure, encrypted communications across distributed computer networks for authorizing use of cryptography-based digital repositories in order to perform blockchain operations in decentralized applications | |
CN112311543B (zh) | Gba的密钥生成方法、终端和naf网元 | |
CN115412568A (zh) | 分布式数据传输方法、装置及系统 | |
CN116684093B (zh) | 身份认证与密钥交换方法及系统 | |
CN107347073B (zh) | 一种资源信息处理方法 | |
CN116204914A (zh) | 一种可信隐私计算方法、装置、设备及存储介质 | |
US12081653B2 (en) | Systems and methods for providing secure, encrypted communications across distributed computer networks by coordinating cryptography-based digital repositories in order to perform blockchain operations in decentralized applications | |
US20230246817A1 (en) | Systems and methods for generating secure, encrypted communications across distributed computer networks for authorizing use of cryptography-based digital repositories in order to perform blockchain operations in decentralized applications | |
CN117675216A (zh) | 一种数据处理方法及相关设备 | |
CN115086337A (zh) | 文件处理方法、装置、存储介质以及电子设备 | |
Babu et al. | Fog‐Sec: Secure end‐to‐end communication in fog‐enabled IoT network using permissioned blockchain system | |
CN108199866B (zh) | 具有强隐私保护的社会网络系统 | |
CN115829560A (zh) | 数字藏品鉴权方法、装置、计算机设备及存储介质 | |
US20230245111A1 (en) | Systems and methods for requesting secure, encrypted communications across distributed computer networks for authorizing use of cryptography-based digital repositories in order to perform blockchain operations in decentralized applications | |
CN117118640A (zh) | 一种数据处理方法、装置、计算机设备以及可读存储介质 | |
CN115865447A (zh) | 基于区块链的数字产品访问方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |