CN112084536A - 基于区块链的密钥存储方法及装置 - Google Patents
基于区块链的密钥存储方法及装置 Download PDFInfo
- Publication number
- CN112084536A CN112084536A CN202010904192.4A CN202010904192A CN112084536A CN 112084536 A CN112084536 A CN 112084536A CN 202010904192 A CN202010904192 A CN 202010904192A CN 112084536 A CN112084536 A CN 112084536A
- Authority
- CN
- China
- Prior art keywords
- organization
- key
- block
- storing
- private key
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供一种基于区块链的密钥存储方法及装置,涉及区块链技术领域,可以避免私钥的泄露,从而保障加密文档的安全性。该方法包括:首先获取包括有第一公钥的第一密钥对和包括有第二公钥和第二私钥的第二密钥对。其中,第一密钥对与第一组织对应,第二密钥对与第二组织对应,第一组织的权限层级高于第二组织的权限层级。之后,将第一公钥和第二公钥存入用于存储包括第一组织和第二组织在内的各个组织的共享数据的第一区块,并将第二私钥采用第一公钥加密后存入用于存储第一组织的数据的第二区块。
Description
技术领域
本申请涉及区块链技术领域,尤其涉及一种基于区块链的密钥存储方法及装置。
背景技术
目前,企业内部或政府部门等在实施无纸化办公时,为了确保信息安全,在传输文档或存储文档时,会对不同的文档采用不同的密钥进行加密。
但是,在采用上述方式加密文档时,由于所有文档采用不同的密钥分别加密,导致文档在被加密后,不可避免的要多次将私钥通过互联网等形式通知到用户,用户才能对文档进行解密以便查看。而在多次传输私钥的过程中可能会导致私钥泄露,这样,文档的安全性无法得到保障。
发明内容
本申请提供一种基于区块链的密钥存储方法及装置,可以避免私钥的泄露,从而保障加密文档的安全性。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请提供一种基于区块链的密钥存储方法,首先获取包括有第一公钥的第一密钥对和包括有第二公钥和第二私钥的第二密钥对。其中,第一密钥对与第一组织对应,第二密钥对与第二组织对应,第一组织的权限层级高于第二组织的权限层级。之后,将第一公钥和第二公钥存入用于存储包括第一组织和第二组织在内的各个组织的共享数据的第一区块,并将第二私钥采用第一公钥加密后存入用于存储第一组织的数据的第二区块。
本申请提供的基于区块链的密钥存储方法中,为同一组织获取相同的密钥对,则同一组织的用户可以采用同一密钥对加密文档,这样同一组织的用户无需在每次传输文档时传输私钥。另外,将权限层级较低的第二组织的私钥存储在用于存储权限层级较高的第一组织的数据的第二区块中,则高权限层级的第一组织可以通过查看第二区块中存储的数据即可对第二组织的加密文件进行解密,这样,也避免了私钥在不同权限层级之间的传输。由于区块链本身的不可修改性,可以保证存储在第二区块的第二私钥和存储在第一区块的第一公钥和第二公钥不会被篡改。所以,本申请提供的基于区块链的密钥存储方法,无需通过互联网等形式传输私钥,可以避免私钥的泄露。所以,采用本申请提供的基于区块链的密钥存储方法存储的密钥对加密文档,可以保障加密文档的安全性。
第二方面,本申请提供一种基于区块链的密钥存储装置,包括获取模块和存储模块。其中,获取模块,用于获取第一密钥对和第二密钥对。第一密钥对与第一组织对应,第二密钥对与第二组织对应,第一组织的权限层级高于第二组织的权限层级;第一密钥对包括第一公钥,第二密钥对包括第二公钥和第二私钥。存储模块,用于将获取模块获取的第一公钥和第二公钥存入第一区块,并将获取模块获取的第二私钥采用第一公钥加密后存入第二区块。第一区块用于存储包括第一组织和第二组织在内的各个组织的共享数据,第二区块用于存储第一组织的数据。
第三方面,本申请提供一种基于区块链的密钥存储装置,包括处理器和存储器,处理器用于与存储器耦合,读取并执行存储器中的指令,以实现上述第一方面提供的基于区块链的密钥存储方法。
可选地,该基于区块链的密钥存储装置还可以包括存储器,该存储器用于保存该基于区块链的密钥存储装置的程序指令和数据。进一步可选地,该基于区块链的密钥存储装置还可以包括收发器,该收发器用于在基于区块链的密钥存储装置的处理器的控制下,执行收发数据、信令或信息的步骤,例如,获取第一密钥对和第二密钥对。
可选地,该基于区块链的密钥存储装置可以是服务器,也可以是服务器中的一部分装置,例如可以是服务器中的芯片***。该服务器用于支持基于区块链的密钥存储装置实现第一方面中所涉及的功能,例如,接收,发送或处理上述基于区块链的密钥存储方法中所涉及的数据和/或信息。该芯片***包括芯片,也可以包括其他分立器件或电路结构。
第四方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当计算机执行该指令时,以实现如第一方面提供的基于区块链的密钥存储方法。
第五方面,本申请提供一种计算机程序产品,该计算机程序产品包括计算机指令,当计算机指令在计算机上运行时,使得所述计算机执行如第一方面所述的基于区块链的密钥存储方法。
需要说明的是,上述计算机指令可以全部或者部分存储在计算机可读存储介质上。其中,计算机可读存储介质可以与基于区块链的密钥存储装置的处理器封装在一起的,也可以与基于区块链的密钥存储装置的处理器单独封装,本申请对此不作限定。
本申请中第二方面、第三方面、第四方面以及第五方面的描述,可以参考第一方面的详细描述;并且,第二方面、第三方面、第四方面、以及第五方面的描述的有益效果,可以参考第一方面的有益效果分析,此处不再赘述。
在本申请中,上述基于区块链的密钥存储装置的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本发明类似,属于本申请权利要求及其等同技术的范围之内。
本申请的这些方面或其他方面在以下的描述中会更加简明易懂。
附图说明
图1为本申请实施例提供的一种基于区块链的密钥存储方法的流程示意图;
图2为本申请实施例提供的另一种基于区块链的密钥存储方法的流程示意图;
图3为本申请实施例提供的一种用于表示各个组织权限层级关系的树状图;
图4为本申请实施例提供的另一种用于表示各个组织权限层级关系的树状图;
图5为本申请实施例提供的又一种用于表示各个组织权限层级关系的树状图;
图6为本申请实施例提供的又一种用于表示各个组织权限层级关系的树状图;
图7为本申请实施例提供的又一种用于表示各个组织权限层级关系的树状图;
图8为本申请实施例提供的又一种用于表示各个组织权限层级关系的树状图;
图9为本申请实施例提供的又一种用于表示各个组织权限层级关系的树状图;
图10为本申请实施例提供的又一种用于表示各个组织权限层级关系的树状图;
图11为本申请实施例提供的一种基于区块链的密钥存储装置的结构示意图;
图12为本申请实施例提供的另一种基于区块链的密钥存储装置的结构示意图。
具体实施方式
下面结合附图对本申请实施例提供的基于区块链的密钥存储方法及装置进行详细地描述。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请的说明书以及附图中的术语“第一”和“第二”等是用于区别不同的对象,或者用于区别对同一对象的不同处理,而不是用于描述对象的特定顺序。
此外,本申请的描述中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,本申请实施例中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请的描述中,除非另有说明,“多个”的含义是指两个或两个以上。
目前,企业内部或政府部门等在实施无纸化办公时,为了确保信息安全,在传输文档或存储文档时,会对不同的文档采用不同的密钥进行加密。
但是,在采用上述方式加密文档时,由于所有文档采用不同的密钥分别加密,导致文档在被加密后,不可避免的要多次将私钥通过互联网等形式通知到用户,用户才能对文档进行解密以便查看。而在多次传输私钥的过程中可能会导致私钥泄露,这样,文档的安全性无法得到保障。
针对上述现有技术中存在的问题,本申请实施例提供了一种基于区块链的密钥存储方法,可以为不同组织获取不同的密钥对,根据各组织的权限层级将与各组织对应的密钥对存入区块链中的对应区块中。这样,当用户需要对某一文档加密时,可以采用用户所在组织对应的公钥将文档加密后存入该用户所在组织对应的区块中。由于区块链本身的不可修改性,可以保证存储在各区块的文件不会被篡改,所以可以保障文档的安全性。
本申请实施例提供的基于区块链的密钥存储方法可以适用于基于区块链的密钥存储装置,该基于区块链的密钥存储装置可以为物理机(如服务器),也可以为部署在物理机上的虚拟机(virtual machine,VM)。示例性地,以服务器执行本申请实施例提供的基于区块链的密钥存储方法时,服务器可以是一台服务器,也可以是由多台服务器组成的服务器集群,本申请实施例对此不做限定。
参照图1所示,本申请实施例提供的基于区块链的密钥存储方法包括:
S101、基于区块链的密钥存储装置获取第一密钥对和第二密钥对。
其中,第一密钥对与第一组织对应,第二密钥对与第二组织对应。
可以理解的是,本申请实施例中的组织可以是包括某企业中的某部门的所有职员,也可以是某企业中的某部门的管理人员,可以是包括某企业中的某个项目小组的所有成员,也可以是某企业中的某个项目小组的组长,本申请对此不做限定。当然,在实际应用中,本申请实施例中的组织还可以为有权限层级之分的其他组织。
需要说明的是,在本申请实施例中,第一组织的权限层级高于第二组织的权限层级。示例性地,第二组织可以是某企业中的某项目小组的所有成员,对应地,则第一组织可以为该项目小组的组长。
在一种可能的实现方式中,基于区块链的密钥存储装置中载有随机生成密钥对的计算机程序,基于区块链的密钥存储装置执行随机生成密钥对的计算机程序,可以随机生成第一密钥对和第二密钥对。其中,第一密钥对包括第一公钥和第一私钥,第二密钥对包括第二公钥和第二私钥。
在一种可能的实现方式中,第一密钥对和第二密钥对可以是基于区块链的密钥存储装置从第一服务器获取的,第一服务器中可以载有随机生成密钥对的计算机程序。第一服务器执行随机生成密钥对的计算机程序,可以随机生成第一密钥对和第二密钥对,然后发送给基于区块链的密钥存储装置。
当然,在实际应用中,基于区块链的密钥存储装置还可以通过其他方式获取第一密钥对和第二密钥对,本申请对此不做限定。
还需要说明的是,本申请实施例提供的基于区块链的密钥存储方法在具体应用时,基于区块链的密钥存储装置在为各个组织获取对应的密钥对之后,各个组织可以采用预先设定的存储方式存储对应的密钥对。示例性地,基于区块链的密钥存储装置在为第一组织获取到第一密钥对之后,第一组织可以采用预先设定的存储方式存储对应的密钥对。在一种可能的实现方式中,第一组织可以采用文本记录的方式记录第一密钥对。当然,在实际应用中,各个组织还可以采用其他方式记录基于区块链的密钥存储装置为其获取的密钥对,本申请对此不做限定。
S102、基于区块链的密钥存储装置将第一公钥和第二公钥存入第一区块,并将第二私钥采用第一公钥加密后存入第二区块。
需要说明的是,本申请实施例在具体实施时,基于区块链的密钥存储装置可以创建私有区块链来实现密钥以及文件的存储,第一区块和第二区块为该私有区块链上的两个不同的区块。
其中,第一区块用于存储包括第一组织和第二组织在内的各个组织的共享数据,第二区块用于存储第一组织的数据。
在一种可能的实现方式中,基于区块链的密钥存储装置将第二私钥采用第一公钥加密后存入第二区块之后,第一组织可以查看第二组织加密的文件。示例性地,第二组织可以将文件A采用第二公钥进行加密后存入第四区块。其中,第四区块用于存储第二组织的数据。由于第二组织知晓第二私钥,所以第二组织可以采用第二私钥对采用第二公钥进行加密后的文件A进行解密,从而获取查阅文件A的权限。另外,由于用于存储第一组织的数据的第二区块中存有采用第一公钥加密后的第二私钥,而第一组织知晓第一私钥,所以第一组织可以采用第一私钥对采用第一公钥加密后的第二私钥所在的文件进行解密。这样,第一组织可以获取到第二私钥,进一步地,第一组织可以采用第二私钥对采用第二公钥进行加密后的文件A进行解密,则第一组织可获取查阅文件A的权限。
本申请提供的基于区块链的密钥存储方法中,为同一组织获取相同的密钥对,则同一组织的用户可以采用同一密钥对加密文档,这样同一组织的用户无需在每次传输文档时传输私钥。另外,将权限层级较低的第二组织的私钥存储在用于存储权限层级较高的第一组织的数据的第二区块中,则高权限层级的第一组织可以通过查看第二区块中存储的数据即可对第二组织的加密文件进行解密,这样,也避免了私钥在不同权限层级之间的传输。由于区块链本身的不可修改性,可以保证存储在第二区块的第二私钥和存储在第一区块的第一公钥和第二公钥不会被篡改。所以,本申请提供的基于区块链的密钥存储方法,无需通过互联网等形式传输私钥,可以避免私钥的泄露。所以,采用本申请提供的基于区块链的密钥存储方法存储的密钥对加密文档,可以保障加密文档的安全性。
当某企业的各个组织(比如各个部门或者各个项目组)采用本申请实施例提供的基于区块链的密钥存储方法存储密钥和文件时,若该企业新增了一个组织,则该企业用户可以通过第一触发操作触发基于区块链的密钥存储装置为新增组织重新获取密钥对,且基于区块链的密钥存储装置可以根据该组织在该企业中的权限层级确定密钥对中的私钥的存储区块。其中,第一触发操作可以为用户通过触发终端等设备控制基于区块链的密钥存储装置运行程序指令获取密钥对的任意操作。
所以,可选地,如图2所示,本申请实施例提供的基于区块链的密钥存储方法还包括:S103-S105:
S103、基于区块链的密钥存储装置获取第三密钥对。
其中,第三密钥对与第三组织对应,第三密钥对包括第三公钥和第三私钥。
具体地,基于区块链的密钥存储装置获取第三密钥对的方式与获取第一密钥对和第二密钥对的方式相同,可以参照前述中相关描述,此处不再赘述。
S104、基于区块链的密钥存储装置将第三公钥存入第一区块。
S105、基于区块链的密钥存储装置确定第三组织的权限层级,并根据第三组织的权限层级确定第三私钥的存储区块。
在一种可能的实现方式中,基于区块链的密钥存储装置可以存有各个组织的权限层级表,基于区块链的密钥存储装置可以根据权限层级表确定第三组织的权限层级。当各个组织的权限层级关系变动时,用户可以通过第二触发操作对基于区块链的密钥存储装置存储的权限层级表进行更新。其中,第二触发操作可以为用户通过触发终端等设备控制基于区块链的密钥存储装置运行程序指令更新权限层级表的任意操作。
在一种可能的实现方式中,当基于区块链的密钥存储装置确定第三组织的权限层级高于第一组织的权限层级,且第三组织的权限层级为最高权限层级时,则基于区块链的密钥存储装置可以将第一私钥和第三私钥采用第三公钥加密后存入第三区块。其中,第三区块用于存储第三组织的数据。
如图3所示,提供了一种第三组织的权限层级高于第一组织的权限层级的树状图。其中,A节点表示第一组织,B节点表示第二组织,C节点表示第三组织。由于基于区块链的密钥存储装置将第一私钥采用第三公钥加密后存入第三区块,而第三组织知晓第三私钥,则在具体实施时,第三组织可以采用第三私钥对采用第三公钥加密后的第一私钥所在的文件进行解密,获取第一私钥。从而第三组织可以采用第一私钥对第一组织采用第一公钥加密的文件进行解密。进一步地,第三组织可以采用第一私钥解密第二组织采用第一公钥加密后的第二私钥所在的文件,从而查看第二组织加密的文件。因此,权限层级最高的C节点对应的第三组织不仅可以查看用于存储第三组织的数据的第三区块中的内容,也可查看用于存储第一组织的数据的第二区块中的内容以及用于存储第二组织的数据的第四区块中的内容。而A节点对应的第一组织可以查看用于存储第一组织的数据的第二区块中的内容,以及用于存储第二组织的数据的第四区块中的内容。B节点对应的第二组织可以查看用于存储第二组织的数据的第四区块中的内容。
本申请实施例中,对于图3所示的各组织的权限层级,基于区块链的密钥存储装置将第三组织的第三私钥采用第三公钥加密后存储在用于存储第三组织的数据的第三区块中。在实际应用中,由于第三组织是当前最高权限层级,可以不将第三私钥存入第三区块中,第三组织采用预先设定的存储方式存储第三密钥对即可。
在一种可能的实现方式中,当基于区块链的密钥存储装置确定第三组织的权限层级高于第二组织的权限层级且低于第一组织的权限层级时,则基于区块链的密钥存储装置可以将第三私钥采用第一公钥加密后存入第二区块,且将第二私钥采用第三公钥加密后存入第三区块。
如图4所示,提供了一种第三组织的权限层级高于第二组织的权限层级且低于第一组织的权限层级的树状图。其中,A节点表示第一组织,B节点表示第二组织,C节点表示第三组织。则A节点对应的第一组织不仅可以查看用于存储第一组织的数据的第二区块中的内容,也可查看用于存储第三组织的数据的第三区块中的内容以及用于存储第二组织的数据的第四区块中的内容。而C节点对应的第三组织可以查看用于存储第三组织的数据的第三区块中的内容,也可查看用于存储第二组织的数据的第四区块中的内容。B节点对应的第二组织可以查看用于存储第二组织的数据的第四区块中的内容。具体分析过程与图3所示的树状图对应的权限层级关系的分析过程类似,此处不再赘述。
在一种可能的实现方式中,当基于区块链的密钥存储装置确定第三组织的权限层级低于第二组织的权限层级时,则将第三私钥采用第二公钥加密后存入第四区块。
如图5所示,提供了一种第三组织的权限层级低于第二组织的权限层级的树状图。其中,A节点表示第一组织,B节点表示第二组织,C节点表示第三组织。则A节点对应的第一组织不仅可以查看用于存储第一组织的数据的第二区块中的内容,也可查看用于存储第三组织的数据的第三区块中的内容以及用于存储第二组织的数据的第四区块中的内容。而B节点对应的第二组织可查看用于存储第二组织的数据的第四区块中的内容以及用于存储第三组织的数据的第三区块中的内容。C节点对应的第三组织可以查看用于存储第三组织的数据的第三区块中的内容。具体分析过程与图3所示的树状图对应的权限层级关系的分析过程类似,此处不再赘述。
在一种可能的实现方式中,当基于区块链的密钥存储装置确定第三组织的权限层级与第二组织的权限层级相同时,将第三私钥采用第一公钥加密后存入第二区块。
如图6所示,提供了一种第三组织的权限层级与第二组织的权限层级相同的树状图。其中,A节点表示第一组织,B节点表示第二组织,C节点表示第三组织。则A节点对应的第一组织不仅可以查看用于存储第一组织的数据的第二区块中的内容,也可查看用于存储第三组织的数据的第三区块中的内容以及用于存储第二组织的数据的第四区块中的内容。B节点对应的第二组织仅可查看用于存储第二组织的数据的第四区块中的内容。与B节点同一权限层级的C节点对应的第三组织仅可以查看用于存储第三组织的数据的第三区块中的内容。具体分析过程与图3所示的树状图对应的权限层级关系的分析过程类似,此处不再赘述。
可选地,当某企业的各个项目组采用本申请实施例提供的基于区块链的密钥存储方法存储密钥和文件时,若某项目组结束,则企业用户可以通过第三触发操作触发基于区块链的密钥存储装置删除用于存储该项目组(对应本申请实施例中的组织)对应的区块中存储的数据。其中,第三触发操作可以为用户通过触发终端等设备控制基于区块链的密钥存储装置运行程序指令获取删除数据的任意操作。
在一种可能的实现方式中,以图5所示的树状图表示的各个组织的权限层级关系为例,当基于区块链的密钥存储装置确定删除第四区块(对应第二组织)存储的数据时,可以采用第二私钥解密第四区块存储的数据。之后,基于区块链的密钥存储装置将解密后的第四区块存储的数据采用第一公钥加密后存入第二区块,并采用随机密钥重新加密第四区块存储的数据。最后,基于区块链的密钥存储装置为第三组织重新获取包括第四私钥和第四公钥的第四密钥对,将第四公钥存入第一区块,并将第四私钥采用第一公钥加密后存入第二区块。由于随机密钥不对应任何组织,所以相当于第四区块存储的数据被删除,则图5所示的树状图变更为图7所示的树状图。
可以理解的是,本申请实施例提供基于区块链的密钥存储方法,并不局限于图3到图6所示的树状图表示的各个组织的权限层级关系,在实际应用中,各个组织的权限层级更为复杂。为了更清楚的说明本申请实施例提供的基于区块链的密钥存储方法,下面将以图8所示的树状图表示的各个组织的权限层级关系为例具体进行详细描述。
某企业共有10个组织,如图8所示,D节点表示D组织,E节点表示E组织,F节点表示F组织,G节点表示G组织,H节点表示H组织,I节点表示I组织,J节点表示J组织,K节点表示K组织,L节点表示L组织,M节点表示M组织。基于区块链的密钥存储装置可以分别获取与各个组织对应的密钥对,并在创建的私有区块链上确定出用于储存各个组织的数据的区块,以及用于存储各个组织共享数据的公共区块。基于区块链的密钥存储装置可以将各组织的公钥存入公共区块中。
可以看出,E组织的权限层级高于H组织、I组织和J组织,则基于区块链的密钥存储装置可以将H组织的私钥、I组织的私钥和J组织的私钥分别采用E组织的公钥加密后存入用于存储E组织的数据的区块中。F组织的权限层级高于K组织,则基于区块链的密钥存储装置可以将K组织的私钥采用F组织的公钥加密后存入用于存储F组织的数据的区块中。G组织的权限层级高于L组织和M组织,则基于区块链的密钥存储装置可以将L组织的私钥和M组织的私钥采用G组织的公钥加密后存入用于存储G组织的数据的区块中。另外,D组织的权限层级高于E组织、F组织和G组织,则基于区块链的密钥存储装置可以将E组织的私钥、F组织的私钥和G组织的私钥分别采用D组织的公钥加密后存入用于存储D组织的数据的区块中。这样,D组织可以查看E组织、F组织和G组织的加密文件,进一步获取到E组织的私钥后,可以查看E组织的下属层级H组织、I组织和J组织的加密文件,进一步获取到F组织的私钥后,可以查看F组织的下属层级K组织的加密文件,进一步获取到G组织的私钥后,可以查看G组织的下属层级L组织和M组织的加密文件。E组织可以查看下属层级H组织、I组织和J组织的加密文件,F组织可以查看下属层级K组织的加密文件,G组织可以查看下属层级L组织和M组织的加密文件。
若该企业中新增有N组织和O组织,基于区块链的密钥存储装置可以为N组织和O组织分别获取密钥对,并将获取的两个公钥存入公共区块中,且在创建的私有区块链上分别确定出用于存储N组织数据和用于存储O组织数据的区块。之后,基于区块链的密钥存储装置确定N组织和O组织的权限层级,根据确定的权限层级确定N组织的私钥和O组织的私钥的存储区块。
示例性地,当基于区块链的密钥存储装置确定N组织的权限层级高于E组织和F组织但小于D组织,O组织的权限层级高于G组织但小于D组织,也即是各个组织的权限层级关系对应图9所示的树状图时。基于区块链的密钥存储装置可以将E组织的私钥和F组织的私钥采用N组织的公钥加密后存入用于存储N组织的数据的区块中,将N组织的私钥采用D组织的公钥加密后存入用于存储D组织的数据的区块中,并将G组织的私钥采用O组织的公钥加密后存入用于存储O组织的数据的区块中,且将O组织的私钥采用D组织的公钥加密后存入用于存储D组织的数据的区块中。
示例性地,当基于区块链的密钥存储装置确定N组织的权限层级高于E组织和F组织,且不小于D组织,O组织的权限层级高于G组织但不小于D组织,也即是各个组织的权限层级关系对应图10所示的树状图时。基于区块链的密钥存储装置可以将E组织的私钥和F组织的私钥采用N组织的公钥加密后存入用于存储N组织的数据的区块中,并将G组织的私钥采用O组织的公钥加密后存入用于存储O组织的数据的区块中。
综上,本申请提供的基于区块链的密钥存储方法,根据各组织的权限层级将与各组织对应的密钥对存入区块链中的对应区块中,则各组织可以采用对应的密钥对将文档加密后存入各组织对应的区块中,不再通过互联网等其他方式传输文档以及密钥对。由于区块链本身的不可修改性,可以保证存储在各区块的文件不会被篡改,且采用密钥对的形式进行非对称加密,进一步保证了文档存储的安全性。
如图11所示,本申请实施例还提供了一种基于区块链的密钥存储装置,该基于区块链的密钥存储装置包括:获取模块31和存储模块32。
其中,获取模块31执行上述方法实施例中的S101,存储模块32执行上述方法实施例中的S102。
具体地,获取模块31,用于获取第一密钥对和第二密钥对。其中,第一密钥对与第一组织对应,第二密钥对与第二组织对应,第一组织的权限层级高于第二组织的权限层级。第一密钥对包括第一公钥,第二密钥对包括第二公钥和第二私钥。
存储模块32,用于将获取模块31获取的第一公钥和第二公钥存入第一区块,并将获取模块31获取的第二私钥采用第一公钥加密后存入第二区块。其中,第一区块用于存储包括第一组织和第二组织在内的各个组织的共享数据,第二区块用于存储第一组织的数据。
可选地,该装置还包括确定模块。获取模块31,还用于获取第三密钥对,第三密钥对与第三组织对应。第三密钥对包括第三公钥和第三私钥。存储模块32,用于将获取模块31获取的第三公钥存入第一区块。确定模块,用于确定第三组织的权限层级,并根据第三组织的权限层级确定获取模块31获取的第三私钥的存储区块。
可选地,第一密钥对还包括第一私钥,确定模块具体用于:当确定第三组织的权限层级高于第一组织的权限层级,且第三组织的权限层级为最高权限层级时,将获取模块31获取的第一私钥和第三私钥采用第三公钥加密后存入第三区块;第三区块用于存储第三组织的数据。
可选地,确定模块具体还用于:当确定第三组织的权限层级高于第二组织的权限层级且低于第一组织的权限层级时,将获取模块31获取的第三私钥采用第一公钥加密后存入第二区块,且将获取模块31获取的第二私钥采用第三公钥加密后存入第三区块。
可选地,确定模块具体还用于:当确定第三组织的权限层级与第二组织的权限层级相同时,将获取模块31获取的第三私钥采用第一公钥加密后存入第二区块。
可选地,确定模块具体还用于:当确定第三组织的权限层级低于第二组织的权限层级时,将获取模块31获取的第三私钥采用第二公钥加密后存入第四区块;第四区块用于存储第二组织的数据。
可选地,该装置还包括处理模块,当确定删除第四区块存储的数据时,处理模块用于:采用获取模块31获取的第二私钥解密第四区块存储的数据;将解密后的第四区块存储的数据采用第一公钥加密后通过存储模块32存入第二区块,并采用随机密钥重新加密第四区块存储的数据;通过获取模块31为第三组织重新获取第四密钥对,第四密钥对包括第四私钥和第四公钥;通过存储模块32将第四公钥存入第一区块,并将获取模块31获取的第四私钥采用第一公钥加密后存入第二区块。
可选地,存储模块32还用于存储该基于区块链的密钥存储装置的程序代码等。
如图12所示,本申请实施例还提供一种基于区块链的密钥存储装置,包括存储器41、处理器42、总线43和通信接口44;存储器41用于存储计算机执行指令,处理器42与存储器41通过总线43连接;当基于区块链的密钥存储装置运行时,处理器42执行存储器41存储的计算机执行指令,以使基于区块链的密钥存储装置执行如上述实施例提供的基于区块链的密钥存储方法。
在具体的实现中,作为一种实施例,处理器42(42-1和42-2)可以包括一个或多个中央处理器(central processing unit,CPU),例如图12中所示的CPU0和CPU1。且作为一种实施例,基于区块链的密钥存储装置可以包括多个处理器42,例如图12中所示的处理器42-1和处理器42-2。这些处理器42中的每一个CPU可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器42可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
存储器41可以是只读存储器41(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器41可以是独立存在,通过总线43与处理器42相连接。存储器41也可以和处理器42集成在一起。
在具体的实现中,存储器41,用于存储本申请中的数据和执行本申请的软件程序对应的计算机执行指令。处理器42可以通过运行或执行存储在存储器41内的软件程序,以及调用存储在存储器41内的数据,基于区块链的密钥存储装置的各种功能。
通信接口44,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如控制***、无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN)等。通信接口44可以包括接收单元实现接收功能,以及发送单元实现发送功能。
总线43,可以是工业标准体系结构(industry standard architecture,ISA)总线、外部设备互连(peripheral component interconnect,PCI)总线或扩展工业标准体系结构(extended industry standard architecture,EISA)总线等。该总线43可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
作为一个示例,结合图11,基于区块链的密钥存储装置中的获取模块实现的功能与图12中的接收单元实现的功能相同,基于区块链的密钥存储装置中的处理模块实现的功能与图12中的处理器实现的功能相同,基于区块链的密钥存储装置中的存储模块实现的功能与图12中的存储器实现的功能相同。
本实施例中相关内容的解释可参考上述方法实施例,此处不再赘述。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当计算机执行该指令时,使得计算机执行上述实施例提供的基于区块链的密钥存储方法。
其中,计算机可读存储介质,例如可以是但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、RAM、ROM、可擦式可编程只读存储器(erasable programmable read only memory,EPROM)、寄存器、硬盘、光纤、CD-ROM、光存储器件、磁存储器件、或者上述的任意合适的组合、或者本领域熟知的任何其它形式的计算机可读存储介质。一种示例性地存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于特定用途集成电路(application specificintegrated circuit,ASIC)中。在本申请实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (16)
1.一种基于区块链的密钥存储方法,其特征在于,包括:
获取第一密钥对和第二密钥对;所述第一密钥对与第一组织对应,所述第二密钥对与第二组织对应,所述第一组织的权限层级高于所述第二组织的权限层级;所述第一密钥对包括第一公钥,所述第二密钥对包括第二公钥和第二私钥;
将所述第一公钥和所述第二公钥存入第一区块,并将所述第二私钥采用所述第一公钥加密后存入第二区块;所述第一区块用于存储包括所述第一组织和所述第二组织在内的各个组织的共享数据,所述第二区块用于存储所述第一组织的数据。
2.根据权利要求1所述的基于区块链的密钥存储方法,其特征在于,所述方法还包括:
获取第三密钥对,所述第三密钥对与第三组织对应;所述第三密钥对包括第三公钥和第三私钥;
将所述第三公钥存入所述第一区块;
确定所述第三组织的权限层级,并根据所述第三组织的权限层级确定所述第三私钥的存储区块。
3.根据权利要求2所述的基于区块链的密钥存储方法,其特征在于,所述第一密钥对还包括第一私钥,所述确定所述第三组织的权限层级,并根据所述第三组织的权限层级确定所述第三私钥的存储区块,包括:
当确定所述第三组织的权限层级高于所述第一组织的权限层级,且所述第三组织的权限层级为最高权限层级时,将所述第一私钥和所述第三私钥采用所述第三公钥加密后存入第三区块;所述第三区块用于存储所述第三组织的数据。
4.根据权利要求3所述的基于区块链的密钥存储方法,其特征在于,所述确定所述第三组织的权限层级,并根据所述第三组织的权限层级确定所述第三私钥的存储区块,包括:
当确定所述第三组织的权限层级高于所述第二组织的权限层级且低于所述第一组织的权限层级时,将所述第三私钥采用所述第一公钥加密后存入所述第二区块,且将所述第二私钥采用所述第三公钥加密后存入所述第三区块。
5.根据权利要求4所述的基于区块链的密钥存储方法,其特征在于,所述确定所述第三组织的权限层级,并根据所述第三组织的权限层级确定所述第三私钥的存储区块,包括:
当确定所述第三组织的权限层级与所述第二组织的权限层级相同时,将所述第三私钥采用所述第一公钥加密后存入所述第二区块。
6.根据权利要求5所述的基于区块链的密钥存储方法,其特征在于,所述确定所述第三组织的权限层级,并根据所述第三组织的权限层级确定所述第三私钥的存储区块,包括:
当确定所述第三组织的权限层级低于所述第二组织的权限层级时,将所述第三私钥采用第二公钥加密后存入第四区块;所述第四区块用于存储所述第二组织的数据。
7.根据权利要求6所述的基于区块链的密钥存储方法,其特征在于,当确定删除所述第四区块存储的数据时,所述方法还包括:
采用所述第二私钥解密所述第四区块存储的数据;
将解密后的所述第四区块存储的数据采用所述第一公钥加密后存入所述第二区块,并采用随机密钥重新加密所述第四区块存储的数据;
为所述第三组织重新获取第四密钥对,所述第四密钥对包括第四私钥和第四公钥;
将所述第四公钥存入所述第一区块,并将所述第四私钥采用第一公钥加密后存入所述第二区块。
8.一种基于区块链的密钥存储装置,其特征在于,包括:
获取模块,用于获取第一密钥对和第二密钥对;所述第一密钥对与第一组织对应,所述第二密钥对与第二组织对应,所述第一组织的权限层级高于所述第二组织的权限层级;所述第一密钥对包括第一公钥,所述第二密钥对包括第二公钥和第二私钥;
存储模块,用于将所述获取模块获取的所述第一公钥和所述第二公钥存入第一区块,并将所述获取模块获取的所述第二私钥采用所述第一公钥加密后存入第二区块;所述第一区块用于存储包括所述第一组织和所述第二组织在内的各个组织的共享数据,所述第二区块用于存储所述第一组织的数据。
9.根据权利要求8所述的基于区块链的密钥存储装置,其特征在于,所述装置还包括确定模块;
所述获取模块,还用于获取第三密钥对,所述第三密钥对与第三组织对应;所述第三密钥对包括第三公钥和第三私钥;
所述存储模块,用于将所述获取模块获取的所述第三公钥存入所述第一区块;
所述确定模块,用于确定所述第三组织的权限层级,并根据所述第三组织的权限层级确定所述获取模块获取的所述第三私钥的存储区块。
10.根据权利要求9所述的基于区块链的密钥存储装置,其特征在于,所述第一密钥对还包括第一私钥,所述确定模块具体用于:
当确定所述第三组织的权限层级高于所述第一组织的权限层级,且所述第三组织的权限层级为最高权限层级时,将所述获取模块获取的所述第一私钥和所述第三私钥采用所述第三公钥加密后存入第三区块;所述第三区块用于存储所述第三组织的数据。
11.根据权利要求10所述的基于区块链的密钥存储装置,其特征在于,所述确定模块具体还用于:
当确定所述第三组织的权限层级高于所述第二组织的权限层级且低于所述第一组织的权限层级时,将所述获取模块获取的所述第三私钥采用所述第一公钥加密后存入所述第二区块,且将所述获取模块获取的所述第二私钥采用所述第三公钥加密后存入所述第三区块。
12.根据权利要求11所述的基于区块链的密钥存储装置,其特征在于,所述确定模块具体还用于:
当确定所述第三组织的权限层级与所述第二组织的权限层级相同时,将所述获取模块获取的所述第三私钥采用所述第一公钥加密后存入所述第二区块。
13.根据权利要求12所述的基于区块链的密钥存储装置,其特征在于,所述确定模块具体还用于:
当确定所述第三组织的权限层级低于所述第二组织的权限层级时,将所述获取模块获取的所述第三私钥采用第二公钥加密后存入第四区块;所述第四区块用于存储所述第二组织的数据。
14.根据权利要求13所述的基于区块链的密钥存储装置,其特征在于,所述装置还包括处理模块,当确定删除所述第四区块存储的数据时,所述处理模块用于:
采用所述获取模块获取的所述第二私钥解密所述第四区块存储的数据;
将解密后的所述第四区块存储的数据采用所述第一公钥加密后通过所述存储模块存入所述第二区块,并采用随机密钥重新加密所述第四区块存储的数据;
通过所述获取模块为所述第三组织重新获取第四密钥对,所述第四密钥对包括第四私钥和第四公钥;
通过所述存储模块将所述第四公钥存入所述第一区块,并将所述获取模块获取的所述第四私钥采用第一公钥加密后存入所述第二区块。
15.一种基于区块链的密钥存储装置,其特征在于,包括存储器、处理器、总线和通信接口;所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接;
当所述基于区块链的密钥存储装置运行时,处理器执行所述存储器存储的所述计算机执行指令,以使所述基于区块链的密钥存储装置执行如权利要求1-7任意一项所述的基于区块链的密钥存储方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当计算机执行所述指令时,使得所述计算机执行如权利要求1-7任意一项所述的基于区块链的密钥存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010904192.4A CN112084536B (zh) | 2020-09-01 | 2020-09-01 | 基于区块链的密钥存储方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010904192.4A CN112084536B (zh) | 2020-09-01 | 2020-09-01 | 基于区块链的密钥存储方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112084536A true CN112084536A (zh) | 2020-12-15 |
CN112084536B CN112084536B (zh) | 2023-07-21 |
Family
ID=73732849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010904192.4A Active CN112084536B (zh) | 2020-09-01 | 2020-09-01 | 基于区块链的密钥存储方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112084536B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114785506A (zh) * | 2022-06-17 | 2022-07-22 | 杭州天谷信息科技有限公司 | 一种电子合同签署方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101099330A (zh) * | 2005-02-07 | 2008-01-02 | 三星电子株式会社 | 使用继承节点拓扑的密钥管理方法及使用该方法注册与注销用户的方法 |
CN101490687A (zh) * | 2006-07-07 | 2009-07-22 | 桑迪士克股份有限公司 | 使用身份对象的控制***及方法 |
CN110224814A (zh) * | 2019-06-27 | 2019-09-10 | 深圳前海微众银行股份有限公司 | 一种区块链数据共享方法及装置 |
CN110798315A (zh) * | 2019-11-11 | 2020-02-14 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置及终端 |
CN111104686A (zh) * | 2019-09-10 | 2020-05-05 | 腾讯科技(深圳)有限公司 | 区块链网络的管控方法、装置、设备及存储介质 |
CN111431713A (zh) * | 2020-03-27 | 2020-07-17 | 财付通支付科技有限公司 | 一种私钥存储方法、装置和相关设备 |
-
2020
- 2020-09-01 CN CN202010904192.4A patent/CN112084536B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101099330A (zh) * | 2005-02-07 | 2008-01-02 | 三星电子株式会社 | 使用继承节点拓扑的密钥管理方法及使用该方法注册与注销用户的方法 |
CN101490687A (zh) * | 2006-07-07 | 2009-07-22 | 桑迪士克股份有限公司 | 使用身份对象的控制***及方法 |
CN110224814A (zh) * | 2019-06-27 | 2019-09-10 | 深圳前海微众银行股份有限公司 | 一种区块链数据共享方法及装置 |
CN111104686A (zh) * | 2019-09-10 | 2020-05-05 | 腾讯科技(深圳)有限公司 | 区块链网络的管控方法、装置、设备及存储介质 |
CN110798315A (zh) * | 2019-11-11 | 2020-02-14 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置及终端 |
CN111431713A (zh) * | 2020-03-27 | 2020-07-17 | 财付通支付科技有限公司 | 一种私钥存储方法、装置和相关设备 |
Non-Patent Citations (1)
Title |
---|
王伟康: "区块链技术在文档管理中的应用与研究", 中国优秀硕士学位论文全文数据库 信息科技辑 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114785506A (zh) * | 2022-06-17 | 2022-07-22 | 杭州天谷信息科技有限公司 | 一种电子合同签署方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112084536B (zh) | 2023-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12041037B2 (en) | Techniques for shared private data objects in a trusted execution environment | |
CN109144961B (zh) | 授权文件共享方法及装置 | |
US9680809B2 (en) | Secure data storage on a cloud environment | |
US9037870B1 (en) | Method and system for providing a rotating key encrypted file system | |
US9607177B2 (en) | Method for securing content in dynamically allocated memory using different domain-specific keys | |
CN104468562B (zh) | 一种面向移动应用透明的数据安全保护便携式终端 | |
US11087017B1 (en) | Systems, methods, and computer-readable media for utilizing anonymous sharding techniques to protect distributed data | |
KR101615137B1 (ko) | 속성 기반의 데이터 접근 방법 | |
CN111132150A (zh) | 一种保护数据的方法、装置、存储介质和电子设备 | |
CN113886862B (zh) | 一种可信计算***及基于可信计算***的资源处理方法 | |
CN109510702B (zh) | 一种基于计算机特征码的密钥存储及使用的方法 | |
CN113824553A (zh) | 密钥管理方法、装置及*** | |
Thilakanathan et al. | Secure multiparty data sharing in the cloud using hardware-based TPM devices | |
CN112084536B (zh) | 基于区块链的密钥存储方法及装置 | |
CN112995109B (zh) | 数据加密***、方法、数据处理方法、装置及电子设备 | |
US9135449B2 (en) | Apparatus and method for managing USIM data using mobile trusted module | |
CN108985109A (zh) | 一种数据存储方法及装置 | |
KR102211937B1 (ko) | 블록체인 네트워크 상에서 오프체인 원장을 이용한 역할기반의 데이터 보호 시스템 | |
CN114691034A (zh) | 一种数据存储方法及数据处理设备 | |
KR102526114B1 (ko) | 암호화 및 복호화를 위한 장치 및 방법 | |
Mishra et al. | Improved cloud security approach with threshold cryptography | |
WO2022012575A1 (zh) | 一种数据分享方法及相关装置 | |
CN116074110B (zh) | 一种用于实现云环境中加密文件共享的方法、***、设备及介质 | |
CN113946864B (zh) | 一种机密信息获取方法、装置、设备及存储介质 | |
JP7284957B2 (ja) | 情報管理装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |