一种基于私钥存储的数字产品授权方法及系统与流程

文档序号:32617378发布日期:2022-12-20 21:43阅读:30来源:国知局
一种基于私钥存储的数字产品授权方法及系统与流程

1.本技术涉及数字产品交易技术领域,尤其涉及一种基于私钥存储的数字产品授权方法及系统。


背景技术:

2.随着区块链技术的快速发展,衍生出了很多新兴的数字化产物,其中,数字产品就是具有代表性的一种数字化产物。数字产品是一种信息内容基于数字格式的交换物或通过因特网以比特流方式运送的产品。现有技术中,已经将数字产品与区块链技术相结合,卖家在区块链中上线数字产品并进行加密,买家只能看到加密后的数字产品,买家支付购买费用后即可获取数字产品的解密私钥,从而解锁出原始数字产品。
3.但是目前的数字产品交易,有一种通过中心化来存储私钥的方式,此种方式将完整的私钥存储在一个私钥托管方手里,可能会出现通过私钥托管方窃取或泄露私钥,导致秘钥泄露以及数据丢失的情况出现,无法保证数字产品交易过程的安全性。


技术实现要素:

4.本技术实施例提供了一种基于私钥存储的数字产品授权方法及系统,用于解决如下技术问题:现有的数字产品交易采用中心化私钥存储,可能造成秘钥泄露,私钥安全性较低。
5.本技术实施例采用下述技术方案:
6.一方面,本技术实施例提供了一种基于私钥存储的数字产品授权方法,方法包括:卖家节点设置待出售数字产品的出售份数,并为每份待出售数字产品随机生成一个产品标识以及一个秘钥对;并通过所述秘钥对中的公钥对所述待出售数字产品进行加密,得到对应的产品加密内容;所述卖家节点将所述秘钥对中的私钥平均拆分为预设份数的私钥碎片;所述预设份数的私钥碎片由相同数量的私钥托管节点分别进行存储;授权节点响应于买家节点对所述待出售数字产品的付费操作,在所述待出售数字产品的剩余出售份数中锁定一份作为待授权产品,并生成对应的产品授权信息发送到所有私钥托管节点;其中,所述产品授权信息包括:买家钱包地址、买家公钥以及所述待授权产品的产品标识;每个私钥托管节点根据接收到的所述产品授权信息,将本地保存的所述待授权产品的私钥碎片通过所述买家公钥加密,并由智能合约验证后发送给买家节点;所述买家节点通过买家私钥,对接收到的每份私钥碎片进行解密,并将解密后的私钥碎片按照碎片序号进行拼接,得到完整私钥,进而通过所述完整私钥对所述待授权产品的产品加密内容进行解密,得到原始数字产品。
7.本技术实施例通过将私钥拆成多份、分散存在多个私钥托管节点,可防止少数私钥托管节点作恶窃取完整私钥。相对于中心化私钥存储,降低了私钥泄露、数据丢失的风险。
8.在一种可行的实施方式中,所述卖家节点将所述秘钥对中的私钥平均拆分为预设
份数的私钥碎片;所述预设份数的私钥碎片由相同数量的私钥托管节点分别进行存储,具体包括:所述卖家节点将所述待出售数字产品对应的全部产品加密内容上传到区块链进行发布,并随机指定预设数量的私钥托管节点;所述卖家节点将所述秘钥对中的私钥平均拆分为预设份数的私钥碎片,并将所述私钥碎片与指定的私钥托管节点一一对应;其中,所述预设数量与所述预设份数相等;所述卖家节点通过指定的每个私钥托管节点的公钥对对应的私钥碎片加密,并将加密的私钥碎片以及对应的碎片序号发送到对应的私钥托管节点;所述私钥托管节点接收到加密后的私钥碎片后,使用自己的托管方私钥进行解密,并将解密后的私钥碎片以及对应的碎片序号保存在本地。
9.在一种可行的实施方式中,所述方法还包括:所述授权节点通过智能合约监控每个私钥托管节点迟发或漏发私钥碎片的次数;其中,所述私钥托管节点接收到所述产品授权信息后超过预审时间段未发送私钥碎片则判定为迟发;若任一私钥托管节点迟发或漏发私钥碎片的次数超过预设阈值,则对所述私钥托管节点执行惩罚机制。
10.本技术实施例通过记录私钥托管节点迟发或漏发的次数,监督私钥托管节点的工作,并通过惩罚机制保证买家接收到私钥碎片的速度和完整性。
11.在一种可行的实施方式中,授权节点响应于买家节点对所述待出售数字产品的付费操作,在所述待出售数字产品的剩余出售份数中随机锁定一份作为待授权产品,并生成对应的产品授权信息发送到所有私钥托管节点,具体包括:所述授权节点接收到付费消息后,在所述买家钱包地址中扣除相应的付费金额,并通过所述智能合约检测所述付费消息对应的待出售数字产品的剩余出售份数是否为0;若剩余出售份数不为0,则在剩余出售份数中随机锁定其中一份作为待授权产品,并生成一条产品授权信息发送到所有私钥托管节点;若剩余出售份数为0,则退还所述付费金额到所述买家的钱包地址中,并同时向买家和卖家节点发送货源不足的提示。
12.在一种可行的实施方式中,每个私钥托管节点根据接收到的所述产品授权信息,将本地保存的所述待授权产品的私钥碎片通过所述买家公钥加密,并由智能合约验证后发送给买家节点,具体包括:每个私钥托管节点接收到所述产品授权信息后,根据所述待授权产品的产品标识,确定本地是否存储了对应的私钥碎片;若任一私钥托管节点确定本地存储了所述待授权产品的私钥碎片,则通过所述产品授权信息中的买家公钥,加密并发送所述私钥碎片;在通过所述智能合约确定所述私钥托管节点为所述卖家节点指定的私钥托管节点后,所述授权节点生成产品秘钥消息,并发送到所述买家节点;其中,所述产品秘钥消息至少包括以下任一项:加密后的私钥碎片、碎片序号、待授权产品的产品标识、接收人ip地址。
13.在一种可行的实施方式中,所述买家节点通过买家私钥,对接收到的每份私钥碎片进行解密,并将解密后的私钥碎片按照碎片序号进行拼接,得到完整私钥,进而通过所述完整私钥对所述待授权产品的产品加密内容进行解密,得到原始数字产品,具体包括:所述买家节点根据所述产品秘钥消息中的接收人ip地址,验证接收人是否是自己;若确定接收人是自己,则使用自己的买家私钥,对接收到的每份私钥碎片进行解密;在解密出预设份数的私钥碎片后,所述买家节点根据每份私钥碎片的碎片序号进行拼接,得到完整私钥,并通过所述智能合约对所述完整私钥进行合法性验证;在确定所述完整私钥是合法私钥后,所述授权节点向所述买家节点开放所述待授权产品的解密接口,以使所述买家节点基于所述
解密接口输入所述完整私钥进行解密。
14.在一种可行的实施方式中,通过所述智能合约对所述完整私钥进行合法性验证,具体包括:所述智能合约将所述完整私钥与授权节点中保存的已使用私钥目录进行匹配;若在所述已使用私钥目录中匹配到与所述完整私钥相同的私钥,则继续检测是否收到了所述买家节点的付费消息;若收到了所述买家节点的付费消息,则确定所述完整私钥为合法私钥;若未收到所述买家节点的付费消息,则确定所述完整私钥为非法私钥。
15.在一种可行的实施方式中,所述方法还包括:每次交易成功后,所述授权节点将所述待出售数字产品的剩余出售份数减一,并将卖出的数字产品的产品标识记录在已出售产品目录中,将卖出的数字产品的私钥记录在已使用私钥目录中;若交易失败,所述授权节点释放锁定的所述待授权产品,并将扣除的付费金额退还到所述买家钱包地址中。
16.本技术实施例通过对已使用的私钥和已售出的产品标识进行记录,对买家解密出的私钥进行合法性验证,避免有人获取一个私钥之后,跳过付费步骤,直接使用该私钥恶意解密数字产品,或者利用30%的秘钥重复率,用一个私钥进行多次尝试,试图不付费就试出私钥相同的数字产品。这一举措保障了卖家的利益。
17.另一方面,本技术实施例还提供了一种基于私钥存储的数字产品授权系统,系统包括:卖家节点,用于设置待出售数字产品的出售份数,并为每份待出售数字产品随机生成一个产品标识以及一个秘钥对;并通过所述秘钥对中的公钥对所述待出售数字产品进行加密,得到对应的产品加密内容;将所述秘钥对中的私钥平均拆分为预设份数的私钥碎片;所述预设份数的私钥碎片由相同数量的私钥托管节点分别进行存储;授权节点,包括智能合约;所述授权节点用于响应于买家节点对所述待出售数字产品的付费操作,在所述待出售数字产品的剩余出售份数中锁定一份作为待授权产品,并生成对应的产品授权信息发送到所有私钥托管节点;其中,所述产品授权信息包括:买家钱包地址、买家公钥以及所述待授权产品的产品标识;私钥托管节点,用于根据接收到的所述产品授权信息,将本地保存的所述待授权产品的私钥碎片通过所述买家公钥加密,并由智能合约验证后发送给买家节点;买家节点,用于通过买家私钥,对接收到的每份私钥碎片进行解密,并将解密后的私钥碎片按照碎片序号进行拼接,得到完整私钥,进而通过所述完整私钥对所述待授权产品的产品加密内容进行解密,得到原始数字产品。
18.在一种可行的实施方式中,所述授权节点还用于:监控每个私钥托管节点迟发或漏发私钥碎片的次数;其中,所述私钥托管节点接收到所述产品授权信息后超过预审时间段未发送私钥碎片则判定为迟发;若任一私钥托管节点迟发或漏发私钥碎片的次数超过预设阈值,则对所述私钥托管节点执行惩罚机制。
19.本技术提供的一种基于私钥存储的数字产品授权方法及系统,在卖家的数字产品上线后就可以离线销售,不影响销售业务的长期进行。且销售过程中,每份数字产品的私钥全程由私钥托管节点自动发送,且私钥拆成多份、分散存在多个私钥托管节点,可防止少数私钥托管节点作恶窃取完整私钥。相对于中心化私钥存储的方法,降低了私钥泄露以及数据丢失的风险。另外,本技术中的每份数字产品均对应一个秘钥对,每份数字产品仅限一人购买,且购买之后需要通过合法性验证才能开放解密接口,因此,即使用户购买数字产品后获取了私钥,也无法使用这个私钥解密其他份数字产品,保护了交易的公平并维护了卖家的利益。
附图说明
20.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
21.图1为本技术实施例提供的一种基于私钥存储的数字产品授权方法流程图;
22.图2为本技术实施例提供的一种基于私钥存储的数字产品授权系统的结构示意图。
具体实施方式
23.为了使本技术领域的人员更好地理解本技术中的技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
24.本技术实施例提供了一种基于私钥存储的数字产品授权方法,如图1所示,基于私钥存储的数字产品授权方法具体包括步骤s101-s105:
25.s101、卖家节点设置待出售数字产品的出售份数,并为每份待出售数字产品随机生成一个产品标识以及一个秘钥对;并通过秘钥对中的公钥对待出售数字产品进行加密,得到对应的产品加密内容。
26.具体地,卖家在上架自己要出售的数字产品之前,先在自己的卖家节点中为每种待出售数字产品设置一个出售份数,并为每份待出售数字产品随机生成一个唯一的产品标识以及一个秘钥对。然后通过秘钥对中的公钥对待出售数字产品加密,并将加密后的产品内容发布到区块链。
27.在一个实施例中,若卖家a想要上架两种待出售数字产品,分别是产品1和产品2。那么在上架之前,先为产品1、产品2分别设置各自的出售份数,假设产品1出售1000份,产品2出售2000份,则为产品1对应生成1000个产品标识以及1000个秘钥对,并分别用各自的公钥来加密每一份产品1,得到1000份产品1的加密内容。同理,为产品2生成2000个产品标识以及2000个秘钥对,并分别用各自的公钥来加密每一份产品2,得到2000份产品2的加密内容。然后再将产品1和产品2的加密内容发布到区块链中。
28.作为一种可行的实施方式,在数字产品的销售界面中,可以将每种数字产品的若干份产品加密内容通过同一个接口或链接进行显示,并显示这种数字产品的剩余出售份数。
29.s102、卖家节点将秘钥对中的私钥平均拆分为预设份数的私钥碎片;预设份数的私钥碎片由相同数量的私钥托管节点分别进行存储。
30.具体地,卖家节点将待出售数字产品对应的全部产品加密内容上传到区块链进行发布,并在区块链中随机指定预设数量的私钥托管节点。卖家节点将秘钥对中的私钥平均拆分为预设份数的私钥碎片,并将私钥碎片与指定的私钥托管节点一一对应,然后获取指定的每个私钥托管节点的公钥对对应的私钥碎片加密后,将加密的私钥碎片以及对应的碎
片序号发送到对应的私钥托管节点。
31.在一个实施例中,卖家节点为产品1随机选择8个私钥托管节点,然后获取这8个私钥托管节点的公钥,并将产品1对应的1000个私钥都平均拆分为8份,每份私钥碎片对应一个私钥托管节点,并通过私钥托管节点的公钥加密后发送到对应的私钥托管节点。
32.进一步地,私钥托管节点接收到加密后的私钥碎片后,使用自己的托管方私钥进行解密,并将解密后的私钥碎片以及对应的碎片序号保存在本地。
33.作为一种可行的实施方式,对区块链有治理权限的节点自动注册为私钥托管节点。智能合约监控每个私钥托管节点迟发或漏发私钥碎片的次数。若任一私钥托管节点迟发或漏发私钥碎片的次数超过预设阈值,智能合约则对该私钥托管节点执行惩罚机制。其中,接收到产品授权信息后超过五分钟未发送私钥碎片则判定为迟发。
34.在一个实施例中,惩罚机制可以包括取消该私钥托管节点的托管资格;或者将该私钥托管节点列入黑名单,减少该私钥托管节点被卖家节点选中的概率等惩罚手段。
35.s103、授权节点响应于买家节点对待出售数字产品的付费操作,在待出售数字产品的剩余出售份数中锁定一份作为待授权产品,并生成对应的产品授权信息发送到所有私钥托管节点。
36.具体地,授权节点中包括智能合约,智能合约用于监控并核验买家节点与卖家节点的交易信息。授权节点在接收到某个买家节点的付费消息后,先在该买家的钱包地址中扣除相应的付费金额,并通过智能合约检测付费消息对应的待出售数字产品的剩余出售份数是否为0。
37.若剩余出售份数不为0,则在剩余出售份数中随机锁定其中一份作为待授权产品,并生成一条产品授权信息发送到所有私钥托管节点。其中,产品授权信息包括买家钱包地址、买家公钥以及待授权产品的产品标识。
38.若剩余出售份数为0,则退还付费金额到买家节点的钱包地址中,并同时向买家和卖家节点发送货源不足的提示。
39.s104、每个私钥托管节点根据接收到的产品授权信息,将本地保存的待授权产品的私钥碎片通过买家公钥加密,并由授权节点验证后发送给买家节点。
40.具体地,私钥托管模块可独立运行,运行时会自动收到授权节点发送的产品授权信息,收到消息后,每个私钥托管节点接收到产品授权信息后,根据待授权产品的产品标识,确定本地是否存储了对应的私钥碎片。若任一私钥托管节点确定本地存储了待授权产品的私钥碎片,则通过产品授权信息中的买家公钥,加密私钥碎片,并将加密后的私钥碎片发送到授权节点中验证。
41.进一步地,授权节点通过智能合约对发送私钥碎片的私钥托管节点的身份进行验证,在授权节点确定发送私钥碎片的私钥托管节点为卖家节点指定的私钥托管节点之一后,生成产品秘钥消息,并发送到买家节点;其中,产品秘钥消息至少包括以下任一项:加密后的私钥碎片、碎片序号、待授权产品的产品标识、接收人ip地址。
42.s105、买家节点通过买家私钥,对接收到的每份私钥碎片进行解密,并将解密后的私钥碎片按照碎片序号进行拼接,得到完整私钥,进而通过完整私钥对待授权产品的产品加密内容进行解密,得到原始数字产品。
43.具体地,买家节点接收到产品秘钥消息后,根据产品秘钥消息中的接收人ip地址,
验证接收人是否是自己。若确定接收人是自己,则使用自己的买家私钥,对接收到的每份私钥碎片进行解密。在解密出预设数量份私钥碎片后,买家根据每份私钥碎片的碎片序号进行拼接,得到完整的私钥。
44.进一步地,买家自动将完整私钥发送到授权节点进行合法性验证,具体方法为:授权节点接收到完整私钥后,将其与授权节点中保存的已使用私钥目录进行匹配。若在已使用私钥目录中匹配到与私钥相同的私钥,则继续检测是否收到了买家的付费消息。若收到了买家的付费消息,则确定私钥为合法私钥。若未收到买家的付费消息,则确定私钥为非法私钥,智能合约拒绝向买家开放解密接口,并通知授权节点管理者审核买家身份。这一步骤避免了有人使用别人的私钥恶意解密数字产品的行为,可以及时发现这一行为并作出防范措施。
45.进一步地,在确定完整私钥是合法私钥后,授权节点向买家节点开放待授权产品的解密接口,以使买家节点对应的买家基于解密接口输入完整私钥进行解密。
46.需要说明的是,本技术中提到的“合法私钥”及“非法私钥”,都是本技术自行定义的概念,并不是常规意义上的“合法”和“非法”的意思。本技术中的合法私钥指的是付费后获取的私钥,非法私钥指的是未付费却获取的私钥,一般指代有人窃取别人购买的产品私钥去直接解密产品的情况。
47.作为一种可行的实施方式,每次交易成功后,授权节点将待出售数字产品的剩余出售份数减一,并将卖出的数字产品的产品标识记录在已出售产品目录中,将卖出的数字产品的私钥记录在已使用私钥目录中。若交易失败,比如买家中途取消订单等情况下,授权节点则释放锁定的待授权产品,并将扣除的付费金额退还到买家的钱包地址中。
48.另外,本技术实施例还提供了一种基于私钥存储的数字产品授权系统,如图2所示,基于私钥存储的数字产品授权系统200具体包括:
49.卖家节点210,用于为每份待出售数字产品随机生成一个产品标识以及一个秘钥对;并通过所述秘钥对中的公钥对所述待出售数字产品进行加密,得到对应的产品加密内容;将所述秘钥对中的私钥平均拆分为预设份数的私钥碎片;所述预设份数的私钥碎片由相同数量的私钥托管节点分别进行存储;
50.授权节点220,包括智能合约;所述授权节点用于响应于买家节点对所述待出售数字产品的付费操作,在所述待出售数字产品的剩余出售份数中锁定一份作为待授权产品,并生成对应的产品授权信息发送到所有私钥托管节点;其中,所述产品授权信息包括:买家钱包地址、买家公钥以及所述待授权产品的产品标识;
51.私钥托管节点230,用于根据接收到的所述产品授权信息,将本地保存的所述待授权产品的私钥碎片通过所述买家公钥加密,并由智能合约验证后发送给买家节点;
52.买家节点240,用于通过买家私钥,对接收到的每份私钥碎片进行解密,并将解密后的私钥碎片按照碎片序号进行拼接,得到完整私钥,进而通过所述完整私钥对所述待授权产品的产品加密内容进行解密,得到原始数字产品。
53.作为一种可行的实施方式,所述授权节点还用于:监控每个私钥托管节点迟发或漏发私钥碎片的次数;其中,所述私钥托管节点接收到所述产品授权信息后超过预审时间段未发送私钥碎片则判定为迟发;若任一私钥托管节点迟发或漏发私钥碎片的次数超过预设阈值,则对所述私钥托管节点执行惩罚机制。
54.本技术中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
55.上述对本技术特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
56.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术的实施例可以有各种更改和变化。凡在本技术实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1