一种基于KeyStore密钥树的密钥管理系统、更新方法、读取方法技术方案

技术编号:27067723 阅读:30 留言:0更新日期:2021-01-15 14:49
本发明专利技术涉及保密通信技术领域,具体涉及一种基于KeyStore密钥树的密钥管理系统,以及应用于该系统的密钥更新方法、读取方法,管理系统包括密钥树,所述密钥树包括若干层呈分层拓扑结构的密钥层;每个节点密钥都对应设有一个标识该节点密钥的密钥标识名称,记为KeyName;子节点密钥的关联名Alias采用其父节点密钥的关联名Alias后缀该子节点密钥的KeyName的方式进行命名,以得到该子节点密钥的关联名Alias;其中子节点密钥的KeyPass=FUN(父节点密钥,子节点密钥的关联名Alias);其中FUN表示一个输入参数为父节点密钥,以及子节点密钥的关联名Alias的单向函数。本发明专利技术便于对密钥进行管理。

【技术实现步骤摘要】
一种基于KeyStore密钥树的密钥管理系统、更新方法、读取方法
本专利技术涉及保密通信
,具体涉及一种基于KeyStore密钥树的密钥管理系统,以及应用于该系统的密钥更新方法、读取方法。
技术介绍
随着物联网的快速发展,越来越多的物联网终端设备或边缘平台的关键安全参数(如终端用于接入认证鉴权的密钥、边缘平台用于身份识别的私钥及证书信息)、用户敏感数据等需存储于物联网云服务端以方便管理,因此云服务端需提供密钥库的管理服务。很多时候这些关键安全参数往往以明文形式存储于服务端数据库中。KeyStore是Java提供的一种密钥库文件,常用于云服务端加密存储密钥,以防非授权访问。通常,以这种形式存储的密钥包括对称密钥、或者是绑定相应公钥证书链的私钥。其思想是通过设置存储密钥的关联助记字符串Alias以及设置用于保护密钥的KeyPass来加密存储密钥,因此所有密钥是相互独立无关联地存储于KeyStore文件中。当前,云服务端密钥存储管理通常采用数据库明文存储或者KeyStore存储。显然密钥采用数据库明文存储方式无法确保密钥的安全,一方面数据库因利益驱动可能被黑客攻击而拖库,另一方面,密钥以明文形式存储于数据库中,内部开发人员及后台维护管理人员巨额利益诱惑下也存在内鬼可能性。而对于使用传统KeyStore方式存储管理密钥时,由于KeyStore存储的密钥之间没有关联性,也无法体现密钥分层管理系统。因此存储多个密钥需要设置多个对应的KeyPass来保护密钥,而大量的KeyPass的存储管理有需要通过数据库进行辅助管理,故还有待改进。
技术实现思路
有鉴于此,本专利技术目的是提供一种基于KeyStore密钥树的密钥管理系统。为了解决上述技术问题,本专利技术的技术方案是:一种基于KeyStore密钥树的密钥管理系统,包括密钥树,所述密钥树包括若干层呈分层拓扑结构的密钥层;每个节点密钥都对应设有一个标识该节点密钥的密钥标识名称,记为KeyName;子节点密钥的关联名Alias采用其父节点密钥的关联名Alias后缀该子节点密钥的KeyName的方式进行命名,以得到该子节点密钥的关联名Alias;其中子节点密钥的KeyPass=FUN(父节点密钥,子节点密钥的关联名Alias);其中FUN表示一个输入参数为父节点密钥,以及子节点密钥的关联名Alias的单向函数。进一步的,在对子节点密钥的关联名Alias进行命名时,若其没有父节点密钥或父节点密钥为根节点密钥时,则该子节点密钥的关联名Alias直接采用该子节点密钥的KeyName进行命名。进一步的,所述FUN函数采用HMAC或HASH函数。进一步的,所述密钥树包括如下几层密钥:主密钥,主密钥位于整个密钥树层次体系的最高层;用户密钥,位于整个密钥树层次体系的第二层,由主密钥加密保护,用于加密其下属层分支节点密钥;密钥加密密钥,位于整个密钥树层次体系的第三层,由其上层的用户密钥加密保护,用于加密其下属层分支节点密钥;数据密钥,位于整个密钥树层次体系的第四层,由其上层的密钥加密保护,直接用于向用户数据提供密码操作的密钥。本专利技术进一步提供一种密钥读取方法,应用于上述的基于KeyStore密钥树的密钥管理系统,具体包括如下步骤:STP1、根据父节点密钥的KeyPass,以及父节点密钥的关联名Alias计算得到父节点密钥;STP2、根据步骤STP1得到的父节点密钥,以及子节点密钥的关联名Alias,计算得出子节点密钥的KeyPass;STP3、根据步骤STP2得出的子节点密钥的KeyPass和该子节点密钥的关联名Alias计算得出该子节点密钥。本专利技术进一步提供一种密钥更新方法,应用于上述述的基于KeyStore密钥树的密钥管理系统;用于在当前节点密钥更新时,对该节点密钥对应的下层分支节点密钥均相应的进行更新,具体包括如下步骤:S100、首先系统随机产生一个新的密钥;S200、通过原密钥遍历该节点密钥的下层节点密钥,并读取出密钥明文;S300、使用新密钥计算下层节点密钥的KeyPass;S400、根据步骤S300计算得出的KeyPass,以及下层节点密钥对应的Alias重新加密并覆盖存储密钥;S500、使用当前节点密钥的关联名Alias,以及KeyPass加密新密钥,并覆盖当前节点密钥的原密文。本专利技术进一步提供一种密钥更新方法,应用于上述的基于KeyStore密钥树的密钥管理系统;用于在当前节点密钥的关联名Alias更新时,对该节点密钥对应的下层分支节点密钥的关联名进行更新,具体包括如下步骤:T100、读取以当前节点密钥为根节点密钥的所有分支节点密钥;T200、将以当前节点密钥为根节点密钥的所有分支节点密钥的关联名Alias进行相应的替换;T300、根据更新后的所有分支节点密钥的关联名Alias,重新计算所有分支节点密钥的KeyPass;T400、利用所有分支节点密钥更新后的关联名Alias及对应步骤T300计算的KeyPass,利用步骤T100读取对应的所有分支节点密钥按照原有密钥树的分层拓扑结构重新执行密钥存储;T500、根据当前节点密钥的原关联名Alias,对以原关联名Alias为根节点密钥的所有分支节点密钥全部进行密钥删除。较之现有技术,本专利技术的优点在于:1、本专利技术中KeyStore文件中所存储的各密钥节点密钥之间形成密钥树型拓扑关系,通过KeyStore存储的各密钥的Alias值,我们也可以恢复密钥节点密钥间的树形结构拓扑图,从而方便密钥分层管理。2、通过当前节点密钥KeyPass=FUN(父节点密钥,子节点密钥的关联名Alias)的派生方法,使通过节点密钥访问以该节点密钥为根节点密钥的所有分支节点密钥成为可能,这样我们便不需要建立数据库记录各层密钥节点密钥的KeyPass,而只需要记录根节点密钥的KeyPass。3、本专利技术还提出的两种密钥更新方法,可以适用于以任意密钥节点密钥为根节点密钥的子密钥树的密钥分层管理系统,因此可实现多用户密钥体系管理。附图说明图1为KeyStore密钥存储示意图;图2为KeyStore密钥读取示意图;图3为KeyStore密钥树示意图;图4为KeyStore密钥树节点密钥的Alias与KeyPass表格。具体实施方式以下结合附图,对本专利技术的具体实施方式作进一步详述,以使本专利技术技术方案更易于理解和掌握。为了更好的对本专利技术进行说明,现对现有技术中的一些技术名词和概念原理进行简单阐述:(1)KeyStore的概念是Java提供的一种密钥库文件,KeyStore存储的密钥包括:对称密钥、密钥材料、绑定证书链(如X.509证书链)的私钥。任意的密钥Key存储于该KeyStore文件时,都需要对应设置一个密钥独本文档来自技高网
...

【技术保护点】
1.一种基于KeyStore密钥树的密钥管理系统,包括密钥树,其特征在于:/n所述密钥树包括若干层呈分层拓扑结构的密钥层;/n每个节点密钥都对应设有一个标识该节点密钥的密钥标识名称,记为KeyName;/n子节点密钥的关联名Alias采用其父节点密钥的关联名Alias后缀该子节点密钥的KeyName的方式进行命名,以得到该子节点密钥的关联名Alias;/n其中子节点密钥的KeyPass= FUN(父节点密钥,子节点密钥的关联名Alias);其中FUN表示一个输入参数为父节点密钥,以及子节点密钥的关联名Alias的单向函数。/n

【技术特征摘要】
1.一种基于KeyStore密钥树的密钥管理系统,包括密钥树,其特征在于:
所述密钥树包括若干层呈分层拓扑结构的密钥层;
每个节点密钥都对应设有一个标识该节点密钥的密钥标识名称,记为KeyName;
子节点密钥的关联名Alias采用其父节点密钥的关联名Alias后缀该子节点密钥的KeyName的方式进行命名,以得到该子节点密钥的关联名Alias;
其中子节点密钥的KeyPass=FUN(父节点密钥,子节点密钥的关联名Alias);其中FUN表示一个输入参数为父节点密钥,以及子节点密钥的关联名Alias的单向函数。


2.根据权利要求1所述的一种基于KeyStore密钥树的密钥管理系统,其特征在于:在对子节点密钥的关联名Alias进行命名时,若其没有父节点密钥或父节点密钥为根节点密钥时,则该子节点密钥的关联名Alias直接采用该子节点密钥的KeyName进行命名。


3.根据权利要求2所述的一种基于KeyStore密钥树的密钥管理系统,其特征在于:所述FUN函数采用HMAC或HASH函数。


4.根据权利要求1所述的一种基于KeyStore密钥树的密钥管理系统,其特征在于:所述密钥树包括如下几层密钥:
主密钥,主密钥位于整个密钥树层次体系的最高层;
用户密钥,位于整个密钥树层次体系的第二层,由主密钥加密保护,用于加密其下属层分支节点密钥;
密钥加密密钥,位于整个密钥树层次体系的第三层,由其上层的用户密钥加密保护,用于加密其下属层分支节点密钥;
数据密钥,位于整个密钥树层次体系的第四层,由其上层的密钥加密保护,直接用于向用户数据提供密码操作的密钥。


5.一种密钥读取方法,其特征在于:应用于如权利要求1-4任一项所述的基于KeyStore密钥树的密钥管理系统,具体包括如下步骤:
STP1、根据父节点密钥的KeyPass,以及父节点密钥的关联名Alias计算得到父节点密钥;
...

【专利技术属性】
技术研发人员:刘志强毛伟信
申请(专利权)人:杭州字节信息技术有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1