区块链信息分级共享方法及系统转让专利

申请号 : CN201611035777.7

文献号 : CN107979584B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 申屠青春徐建明

申请人 : 南京银链信息科技有限公司

摘要 :

本发明公开了区块链信息分级共享方法,包括以下步骤:设置待加密区块信息的密级,所述待加密区块信息包括:用户信息、证据信息、结算信息;利用与所述待加密区块信息的密级相同的公钥对所述待加密区块信息进行加密,得到相应密级的加密密文;将所述加密密文保存至与所述加密密文的密级相同的加密信息项中;从所述加密信息项中获取加密密文;利用私钥对与所述私钥的密级相同的加密密文进行解密,得到解密信息。使用不同公钥,分别对具有不同重要程度和安全需求的信息进行加密,拥有对应密级的私钥才可查看相对应密级的信息。可以兼顾加密解密速度和信息安全性,利用不同秘钥对数据进行分别加密,增加了数据破解复杂程度,信息获取对象得到了区分。

权利要求 :

1.一种区块链信息分级共享方法,其特征在于,包括以下步骤:设置待加密区块信息的密级,所述待加密区块信息包括:用户信息、证据信息、结算信息;

利用与所述待加密区块信息的密级相同的公钥对所述待加密区块信息进行加密,得到相应密级的加密密文;

将所述加密密文保存至与所述加密密文的密级相同的加密信息项中;

从所述加密信息项中获取加密密文;

利用私钥对与所述私钥的密级相同的加密密文进行解密,得到解密信息,所述公钥和所述私钥通过生成区块链地址的接口生成。

2.如权利要求1所述的区块链信息分级共享方法,其特征在于:所述密级包括用户级,所述区块链信息分级共享方法具体包括以下步骤:利用用户公钥对所述用户级待加密区块信息进行加密,得到用户密文;

将所述用户密文保存至用户信息项中;

从所述用户信息项中获取用户密文;

利用用户私钥对所述用户密文进行解密,得到用户信息。

3.如权利要求1或2所述的区块链信息分级共享方法,其特征在于:所述密级包括保密级;所述区块链信息分级共享方法具体包括以下步骤:利用保密级公钥对保密级待加密区块信息进行加密,得到保密密文;

将所述保密密文保存至保密信息项中;

从所述保密信息项中获取所述保密密文;

利用保密级私钥对所述保密密文进行解密,得到保密信息。

4.如权利要求1或2所述的区块链信息分级共享方法,其特征在于,还包括以下步骤:将公开级信息保存至非加密信息项;

非验证节点或验证节点从所述非加密信息项中获取公开级信息。

5.一种区块链信息分级共享系统,其特征在于,包括:分级模块,用于设置待加密区块信息的密级,所述待加密区块信息包括:用户信息、证据信息、结算信息;

加密模块,用于利用与所述待加密区块信息的密级相同的公钥对所述待加密区块信息进行加密,得到相应密级的加密密文;

密文保存模块,用于将所述加密密文保存至与所述加密密文的密级相同的加密信息项中;

获取模块,用于从所述加密信息项中获取加密密文;

解密模块,用于利用私钥对与所述私钥的密级相同的加密密文进行解密,得到解密信息;

秘钥生成模块,用于通过生成区块链地址的接口,生成若干对公钥和私钥;

秘钥保存模块,用于保存所述公钥和私钥。

6.如权利要求5所述的区块链信息分级共享系统,其特征在于:所述密级包括用户级;

所述加密模块包括用户加密子模块,所述用户加密子模块用于利用用户公钥对所述用户级待加密区块信息进行加密,得到用户密文;

所述密文保存模块包括用户密文保存子模块,所述用户密文保存子模块用于将所述用户密文保存至用户信息项中;

所述获取模块包括用户密文获取子模块,所述用户密文获取子模块用于从所述用户信息项中获取用户密文;

所述解密模块包括用户解密子模块,所述用户解密子模块用于利用用户私钥对所述用户密文进行解密,得到用户信息。

7.如权利要求5或6所述的区块链信息分级共享系统,其特征在于:所述密级包括保密级;

所述加密模块包括保密加密子模块,所述保密加密子模块用于利用保密级公钥对保密级待加密区块信息进行加密,得到保密密文;

所述密文保存模块包括保密密文保存子模块:所述保密密文保存子模块用于将所述保密密文保存至保密信息项中;

所述获取模块包括保密密文获取子模块,所述保密密文获取子模块用于从所述保密信息项中获取所述保密密文;

所述解密模块包括保密解密子模块,所述保密解密子模块用于利用保密级私钥对所述保密密文进行解密,得到保密信息。

8.如权利要求5或6所述的区块链信息分级共享系统,其特征在于:还包括:公开信息保存模块,用于将公开级信息保存至非加密信息项中;

公开信息获取模块:用于非验证节点或验证节点从所述非加密信息项中获取公开级信息。

说明书 :

区块链信息分级共享方法及系统

技术领域

[0001] 本发明涉及区块链领域,特别涉及基于区块链的信息分级共享。

背景技术

[0002] 目前的信息分级传输系统及方法,是通过信息发送方对所发送信息按重要程度进行分级后再进行传输,信息安全系数不高;在多人即时通信中,需要根据自身情况去选择接受的信息,容易造成信息杂乱,导致数据传输存在网络压力及延时;同时还需创建多个虚拟分级,从而导致硬件设备成本增高等问题。
[0003] 区块链技术是通过去中心化的方式集体维护一个可靠数据库的技术方案。该方案主要让区块通过密码学方法相关联起来,每个数据库包含了一定时间内的系统全部数据信息,并且生成数字签名以验证信息的有效性并链接到下一个数据块形成一条主链(Chain)。
[0004] 区块链技术的核心优势是去中心化,能够通过运用数据加密、时间戳、分布式共识和经济激励等手段,在节点无需互相信任的分布式系统中实现基于去中心化信用的点对点交易、协调与协作,从而为解决中心化机构普遍存在的高成本、低效率和数据存储不安全等问题提供了解决方案。
[0005] 在现代密码体制中,加密和解密时采用不同的密钥(公开密钥),也就是非对称密钥密码系统,每个通讯方均需要两个密钥,即公钥和私钥,这两把密钥可以互为加解密。
[0006] 区块链中传输的数据信息的安全程度不一样,需要的保密程度不一样,现有的基于区块链的信息共享多使用单一密钥对,存在信息加密解密工作量大,信息获取对象没有得到区分等问题。

发明内容

[0007] 为了克服现有技术的不足,本发明的目的在于提供区块链信息分级共享方法及系统,其能解决现有的基于区块链的信息共享使用单一密钥对,信息加密解密工作量大,信息获取对象没有得到分类等问题。
[0008] 本发明的目的采用以下技术方案实现:
[0009] 一种区块链信息分级共享方法,包括以下步骤:
[0010] 设置待加密区块信息的密级,所述待加密区块信息包括:用户信息、证据信息、结算信息;
[0011] 利用与所述待加密区块信息的密级相同的公钥对所述待加密区块信息进行加密,得到相应密级的加密密文;
[0012] 将所述加密密文保存至与所述加密密文的密级相同的加密信息项中;
[0013] 从所述加密信息项中获取加密密文;
[0014] 利用私钥对与所述私钥的密级相同的加密密文进行解密,得到解密信息。
[0015] 优选的,所述密级包括用户级,所述区块链信息分级共享方法具体包括以下步骤:
[0016] 利用用户公钥对所述用户级待加密区块信息进行加密,得到用户密文;
[0017] 将所述用户密文保存至用户信息项中;
[0018] 从所述用户信息项中获取用户密文;
[0019] 利用用户私钥对所述用户密文进行解密,得到用户信息。
[0020] 优选的,所述密级包括保密级;所述区块链信息分级共享方法具体包括以下步骤:
[0021] 利用保密级公钥对保密级待加密区块信息进行加密,得到保密密文;
[0022] 将所述保密密文保存至保密信息项中;
[0023] 从所述保密信息项中获取所述保密密文;
[0024] 利用保密级私钥对所述保密密文进行解密,得到保密信息。
[0025] 优选的,所述区块链信息分级共享方法,还包括以下步骤:
[0026] 将公开级信息保存至非加密信息项中;
[0027] 非验证节点或验证节点从所述非加密信息项中获取公开级信息。
[0028] 优选的,所述公钥和私钥是通过生成区块链地址的接口生成。
[0029] 一种区块链信息分级共享系统,包括:
[0030] 分级模块,用于设置待加密区块信息的密级,所述待加密区块信息包括:用户信息、证据信息、结算信息;
[0031] 加密模块,用于利用与所述待加密区块信息的密级相同的公钥对所述待加密区块信息进行加密,得到相应密级的加密密文;
[0032] 密文保存模块,用于将所述加密密文保存至与所述加密密文的密级相同的加密信息项中;
[0033] 获取模块,用于从所述加密信息项中获取加密密文;
[0034] 解密模块,用于利用私钥对与所述私钥的密级相同的加密密文进行解密,得到解密信息。
[0035] 优选的,所述密级包括用户级;
[0036] 所述加密模块包括用户加密子模块,所述用户加密子模块用于利用用户公钥对所述用户级待加密区块信息进行加密,得到用户密文;
[0037] 所述密文保存模块包括用户密文保存子模块,所述用户密文保存子模块用于将所述用户密文保存至用户信息项中;
[0038] 所述获取模块包括用户密文获取子模块,所述用户密文获取子模块用于从所述用户信息项中获取用户密文;
[0039] 所述解密模块包括用户解密子模块,所述用户解密子模块用于利用用户私钥对所述用户密文进行解密,得到用户信息。
[0040] 优选的,所述密级包括保密级;
[0041] 所述加密模块包括保密级加密模块,所述保密加密子模块用于利用保密级公钥对保密级待加密区块信息进行加密,得到保密密文;
[0042] 所述密文保存模块包括保密密文保存子模块:所述保密密文保存子模块用于将所述保密密文保存至保密信息项中;
[0043] 所述获取模块包括保密密文获取子模块,所述保密密文获取子模块用于从所述保密信息项中获取所述保密密文;
[0044] 所述解密模块包括保密解密子模块,所述保密解密子模块用于利用保密级私钥对所述保密密文进行解密,得到保密信息。
[0045] 优选的,所述区块链信息分级共享系统,还包括:
[0046] 公开信息保存模块,用于将公开级信息保存至非加密信息项中;
[0047] 公开信息获取模块:用于非验证节点或验证节点从所述非加密信息项中获取公开级信息。
[0048] 优选的,所述区块链信息分级共享系统,还包括:
[0049] 秘钥生成模块,用于通过生成区块链地址的接口,生成若干对公钥和私钥;
[0050] 秘钥保存模块,用于保存所述公钥和私钥。
[0051] 相比现有技术,本发明的有益效果在于:区块链信息分级共享方法,就是使用不同公钥,分别对具有不同重要程度和安全需求的信息进行加密,得到不同级别的加密数据,拥有对应密级的私钥才可查看相对应密级的信息。可以兼顾加密解密速度和信息安全性,利用不同秘钥对数据进行分别加密,增加了数据破解复杂程度,信息获取对象得到了区分。

附图说明

[0052] 图1是本发明实施例一提供的区块链信息分级共享方法的流程示意图。
[0053] 图2是本发明实施例二提供的区块链信息分级共享方法的流程示意图。
[0054] 图3是本发明实施例三提供的区块链信息分级共享系统的结构示意图。
[0055] 图4是本发明实施例四提供的区块链信息分级共享系统的结构示意图。

具体实施方式

[0056] 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
[0057] 实施例一:
[0058] 如图1所示的区块链信息分级共享方法,包括以下步骤:
[0059] S101:设置待加密区块信息的密级,所述待加密区块信息包括:用户信息、证据信息、结算信息;
[0060] S102:利用与所述待加密区块信息的密级相同的公钥对所述待加密区块信息进行加密,得到相应密级的加密密文;
[0061] S103:将所述加密密文保存至与所述加密密文的密级相同的加密信息项中;
[0062] S104:从所述加密信息项中获取加密密文;
[0063] S105:利用私钥对与所述私钥的密级相同的加密密文进行解密,得到解密信息。
[0064] 区块链信息分级共享方法,公钥用于对数据进行加密,私钥用于对数据进行解密。在信息加密和解密时,公钥负责加密信息,私钥只可查看相对应的密级信息,这样可以有效的达到信息安全共享目的。区块链信息分级共享方法,就是使用不同公钥,分别对具有不同重要程度和安全需求的信息(包括用户信息、证据信息、结算信息等)进行加密,得到不同级别的加密数据,如保密级别、用户级别等。拥有对应密级的私钥才可查看相对应密级的信息。
[0065] 若将原始信息分为三个不同密级的待加密区块信息,则需要3组密钥对,如A公钥/A私钥、B公钥/B私钥和C公钥/C私钥,某组数据包括A级信息、B级信息和C级信息,则分别利用A、B、C 3组秘钥对对三个密级的信息进行加密和解密。3组密钥对的复杂度可以有所区分,兼顾加密解密速度和信息安全性。进一步,利用3组秘钥对对数据进行分别加密,增加了数据破解复杂程度。用户节点则可以利用自己手中的秘钥,如C私钥,对其需要的C级信息进行解密,应用数据,即信息获取对象得到了区分。
[0066] 所述公钥和私钥是通过生成区块链地址的接口生成的。通过一种算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。公钥通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据。通过这种算法得到的密钥对能保证在世界范围内是唯一的。使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。比如用公钥加密数据就必须用私钥解密。
[0067] 进一步,还包括数据合成步骤,即将不同密级的解密信息合成为合成数据。
[0068] 若干个不同密级的信息经过不同公钥加密、传送、获取、对应私钥解密后,有时信息不是连续,而是分块的,就需要经过数据合成步骤将不同密级的解密信息合成为合成数据。
[0069] 在节点身份验证及信息读取的时候,能够利用区块链之间信息共享优势,就近匹配相对应密级信息,节省宽带传输压力,提高信息传输速度,从而提高了运行的效率。
[0070] 实施例二:
[0071] 如图2所示的区块链信息分级共享方法,是对实施例一进一步的细化。具体的,密级包括用户级,待加密区块信息包括用户信息。通过步骤S201将用户信息标记为用户级,对用户级待加密区块信息的处理过程包括步骤S2021-S2051:
[0072] S2021:利用用户公钥对所述用户级待加密区块信息进行加密,得到用户密文;
[0073] S2031:将所述用户密文保存至用户信息项中;
[0074] S2041:从所述用户信息项中获取用户密文;
[0075] S2051:利用用户私钥对所述用户密文进行解密,得到用户信息。
[0076] 用户账号、通讯方试等隐私信息在分级上可以归为用户级信息,利用用户公钥加密,用户私钥解密,保证这些数据只能是用户自己查看。
[0077] 进一步,所述密级包括保密级,待加密区块信息包括保密级信息。通过步骤S201将保密级信息标记为保密级待加密区块信息,对保密级待加密区块信息的处理过程包括步骤S2022-S2052:
[0078] S2022:利用保密级公钥对保密级待加密区块信息进行加密,得到保密密文;
[0079] S2032:将所述保密密文保存至保密信息项中;
[0080] S2042:从所述保密信息项中获取所述保密密文;
[0081] S2052:利用保密级私钥对所述保密密文进行解密,得到保密信息。
[0082] 此外,区块链中,一些非重要的数据,比如交易时间、交易地址,则可以不加密,可以划分为公开级信息。避免了加密解密公开级信息所耗费的计算能力和时间。非验证节点或验证节点都可以获取公开级信息。公开级信息的处理步骤包括:
[0083] 将公开级信息保存至非加密信息项中;
[0084] 非验证节点或验证节点从所述非加密信息项中获取公开级信息。
[0085] 验证节点打包形成区块,并对所生成的区块数据签名,广播区块,验证区块的正确性。非验证节点不生成区块,只用于接入网络,分担验证节点请求访问压力,用来广播用户的接受、广播用户的交易。实施例三:
[0086] 如图3所示的区块链信息分级共享系统,包括分级模块101、加密模块102、密文保存模块103、密文获取模块104和解密模块105:
[0087] 分级模块101:用于设置待加密区块信息的密级,所述待加密区块信息包括:用户信息、证据信息、结算信息;
[0088] 加密模块102:用于利用与所述待加密区块信息的密级相同的公钥对所述待加密区块信息进行加密,得到相应密级的加密密文;
[0089] 密文保存模块103:密文保存模块,用于将所述加密密文保存至与所述加密密文的密级相同的加密信息项中;
[0090] 验证节点:验证节点包括密文获取模块104和解密模块105;
[0091] 密文获取模块104:用于从所述加密信息项中获取加密密文;
[0092] 解密模块105:用于利用私钥对与所述私钥的密级相同的加密密文进行解密,得到解密信息。
[0093] 区块链信息分级共享方法,公钥用于对数据进行加密,私钥用于对数据进行解密。在信息加密和解密时,公钥负责加密信息,私钥只可查看相对应的密级信息,这样可以有效的达到信息安全共享目的。区块链信息分级共享方法,就是使用不同公钥,分别对具有不同重要程度和安全需求的信息(包括用户信息、证据信息、结算信息等)进行加密,得到不同级别的加密数据,如保密级别、用户级别等。拥有对应密级的私钥才可查看相对应密级的信息。
[0094] 若将原始信息分为三个不同密级的待加密区块信息,则需要3组密钥对,如A公钥/A私钥、B公钥/B私钥和C公钥/C私钥,某组数据包括A级信息、B级信息和C级信息,则分别利用A、B、C 3组秘钥对对三个密级的信息进行加密和解密。3组密钥对的复杂度可以有所区分,兼顾加密解密速度和信息安全性。进一步,利用3组秘钥对对数据进行分别加密,增加了数据破解复杂程度。用户节点则可以利用自己手中的秘钥,如C私钥,对其需要的C级信息进行解密,应用数据,即信息获取对象得到了区分。
[0095] 所述公钥和私钥是通过生成区块链地址的接口生成的,生成区块链地址的接口包括秘钥生成模块和秘钥保存模块(图未视);其中秘钥生成模块用于通过生成区块链地址的接口,生成若干对公钥和私钥;秘钥保存模块用于保存所述公钥和私钥。通过一种算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。公钥通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据。通过这种算法得到的密钥对能保证在世界范围内是唯一的。使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。比如用公钥加密数据就必须用私钥解密。
[0096] 进一步,还包括合成模块(图未视),用于将不同密级的解密信息合成为合成数据。若干个不同密级的信息经过不同公钥加密、传送、获取、对应私钥解密后,有时信息不是连续,而是分块的,就需要经过数据合成模块将不同密级的解密信息合成为合成数据。
[0097] 实施例四:
[0098] 如图4所示的区块链信息分级共享系统,是对实施例三进一步的细化。具体的,密级包括用户级,待加密区块信息包括用户信息。加密模块102包括用户加密子模块2021,密文保存模块103包括用户密文保存子模块2031,获取模块104包括用户密文获取子模块2041,解密模块105包括用户解密子模块2051。
[0099] 分级模块201用于将用户信息标记为用户级;
[0100] 用户加密子模块2021用于利用用户公钥对所述用户级待加密区块信息进行加密,得到用户密文;
[0101] 用户密文保存子模块2031用于将所述用户密文保存至用户信息项中;
[0102] 用户密文获取子模块2041用于从所述用户信息项中获取用户密文;
[0103] 用户解密子模块2051用于利用用户私钥对所述用户密文进行解密,得到用户信息。
[0104] 用户账号、通讯方试等隐私信息在分级上可以归为用户级信息,利用用户公钥加密,用户私钥解密,保证这些数据只能是用户自己查看。
[0105] 进一步,所述密级包括保密级,待加密区块信息包括保密级信息。加密模块102包括保密加密子模块2022,保密密文保存模块103包括保密密文保存子模块2032,获取模块104包括保密密文获取子模块2042,解密模块105包括保密解密子模块2052。
[0106] 分级模块201用于将保密级信息标记为保密级待加密区块信息;
[0107] 保密加密子模块2022用于利用保密级公钥对保密级待加密区块信息进行加密,得到保密密文;
[0108] 保密密文保存子模块2032用于将所述保密密文保存至保密信息项中;
[0109] 保密密文获取子模块2042用于从所述保密信息项中获取所述保密密文;
[0110] 保密解密子模块2052用于利用保密级私钥对所述保密密文进行解密,得到保密信息。
[0111] 此外,区块链中,一些非重要的数据,比如交易时间、交易地址,则可以不加密,可以划分为公开级信息。避免了加密解密公开级信息所耗费的计算能力和时间。非验证节点或验证节点都可以获取公开级信息。
[0112] 因此,区块链信息分级共享系统还包括:
[0113] 公开信息保存模块301,用于将公开级信息保存至非加密信息项中;
[0114] 公开信息获取模块302:用于非验证节点或验证节点从所述非加密信息项中获取公开级信息。
[0115] 通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0116] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0117] 需要说明的是:在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定的编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明内容。
[0118] 本领域技术人员可以理解,可以对实施例中各模块进行自适应性的改变并且把它们设置在与该实施例不同的一个或多个设备中。除非另有明确陈述,本说明书中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0119] 本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。、
[0120] 对于本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及变形,而所有的这些改变以及变形都应该属于本发明权利要求的保护范围之内。