一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种密钥管理和密码计算的方法、加密方法及装置与流程

2022-11-30 12:44:41 来源:中国专利 TAG:


1.本技术涉及信息技术安全领域,具体而言本技术实施例涉及一种密钥管理和密码计算的方法、数据加密方法及装置。


背景技术:

2.随着密码应用的日益普及,密钥管理系统的需求逐渐增多。密钥作为身份认证、信息加密的关键数据,通常作为企业或个人的核心资产进行保护,其安全性要求较高。
3.现阶段对密钥的集中管理方式主要有以下两种:
4.第一种,管理中心全托管方式,该方式在密钥管理中心建立密钥管理系统,由管理中心对密钥进行集中生成、存储和授权使用,密钥所有者通过网络调用方式使用密钥。该方式下应用密钥由中心侧明文存储、或者利用中心侧提供的加密密钥进行加密存储,无论何种方式,管理中心内部人员如果越权成功或者多个环节内部人员合谋,就可以在不经过密钥所有者明确授权的情况下,使用托管的密钥进行密码运算,因此该方式难以抵御来自管理中心的内部攻击。
5.第二种,协同签名方式。签名密钥分量分别存储在客户端和服务端,任何一端都无法得到完整的签名私钥数据,从而能够防止服务端假冒用户签名,应用也比较灵活。但该方式下如果需要将密钥授权给他人使用,则需要同时更新服务端和客户端的安全参数,因此需要服务端和所有相关客户端(授权方和被授权方)全部参与运算,交互过程相对复杂。
6.因此相关技术的密钥管理系统均存在诸多问题,如何提升密钥管理系统的性能成了亟待解决的技术问题。


技术实现要素:

7.本技术实施例的目的在于提供一种密钥管理和密码计算的方法、加密方法及装置,一方面通过本技术一些实施例的技术方案可以保证密钥持有者对密钥(例如,主控密钥,或者受主控密钥控制的某个受控密钥)进行独立控制,另一方面通过本技术的一些实施例还能进一步将密钥(即受控密钥)灵活的授权给其它使用者(由),显著提升了密钥管理侧系统的性能。
8.第一方面,本技术的一些实施例提供一种密钥管理和密码计算的方法,应用于密钥管理系统,所述方法包括:生成主控密钥,其中,所述主控密钥由一个密码持有者通过控制信息进行独立控制;至少对所述主控密钥进行加密处理得到主控密钥属性数据,其中,所述主控密钥属性数据至少包括主控密钥密文以及用于查找所述主控密钥的主控密钥索引信息,所述主控密钥密文是对所述主控密钥进行加密处理后得到的;建立所述主控密钥与至少一个受控密钥之间的关联关系,其中,所述关联关系用于记录所述主控密钥对所述受控密钥的操控关系,所述受控密钥可通过所述主控密钥授权给至少一个对象使用;至少存储所述主控密钥属性数据和所述关联关系,以使所述密码持有者根据所述主控密钥进行加密操作或者根据所述关联关系将所述受控密钥授权其他对象使用。
9.本技术的一些实施例通过将密钥分层为主控密钥和受控密钥,并由密码持有者独立控制主控密钥,并经该主控密钥操控将相应受控密钥授权给至少一个用户来使用,这样一方面实现了密码持有者对密钥管理系统所存储的密钥的独立控制,另一方面还可以灵活的授权受控密钥给其他使用者。
10.在一些实施例中,所述建立所述主控密钥与至少一个受控密钥之间的关联关系之前,所述方法还包括:生成所述受控密钥;至少对所述受控密钥进行加密处理得到受控密钥属性数据,其中,所述受控密钥属性数据包括受控密钥密文以及用于查找所述受控密钥的受控密钥索引信息,所述受控密钥密文是对所述受控密钥进行加密处理后得到的;所述至少存储所述主控密钥属性数据和所述关联关系,包括:存储所述主控密钥属性数据、所述受控密钥属性数据以及多个关联关系。
11.本技术的一些实施例通过在密钥管理系统生成受控密钥并采用密文存储受控密钥,并存储受控密钥与主控密钥之间的操控关系,使得密钥持有者可以灵活授权受控密钥。
12.在一些实施例中,所述生成主控密钥,包括:生成采用明文表征的第一公私钥对,得到所述主控密钥,其中,所述第一公私钥对包括主控公钥和主控私钥;所述至少对所述主控密钥进行加密处理得到主控密钥属性数据,包括:采用所述密钥管理系统提供的第一加密数据对所述主控私钥进行加密处理得到加密主控私钥;至少根据所述控制信息对所述加密主控私钥进行再次加密处理得到所述主控密钥密文,其中,所述控制信息至少包括可与所述密钥持有者进行通信的通信单元信息和被所述密钥持有者所知悉的控制码;将所述主控密钥密文和所述主控公钥作为所述主控密钥属性数据的至少部分内容。
13.本技术的一些实施例采用由密钥持有者持有的控制信息对由密钥管理系统生成的主控密钥进行加密,有效克服了相关技术仅利用密钥管理系统提供的加密密钥进行加密可能造成的难以抵御来自密钥管理系统的内部攻击的问题。
14.在一些实施例中,所述至少根据控制信息对所述加密主控私钥进行再次加密处理得到所述主控密钥密文,包括:为所述主控密钥分配主控标识keyid,其中,所述主控标识keyid作为所述主控密钥的唯一标识,所述主控标识作为所述主控密钥索引信息;根据所述主控标识和所述控制信息得到保护密钥;基于所述保护密钥对所述加密主控私钥进行再次加密处理得到所述主控密钥密文;其中,所述主控密钥属性数据还包括所述主控标识。
15.本技术的一些实施例采用由密钥持有者持有并输入的控制信息和为该主控密钥分配的主控标识得到保护密钥,再用保护密钥对主控私钥进行加密,提升了主控密钥密文(即主控思域密文)的安全性的同时还可以对该主控密钥进行查找。
16.在一些实施例中,所述控制码为一个字符串或者多位二进制数,所述通信单元信息包括:手机号或者邮箱。
17.本技术的一些实施例提供了控制码和通信信息单元的多个类型。
18.在一些实施例中,所述控制信息为双因素控制信息,所述双因素控制信息包括:pin码和手机号,或者,pin码与邮箱。
19.本技术一些实施例的控制信息为采用pin码(作为控制码的一个示例)和手机号(作为通信单元信息的一个示例),或者采用pin码与邮箱的双因素控制信息。
20.在一些实施例中,所述方法还包括:计算所述控制信息的校验码得到控制校验码macpin,其中,所述控制验证码用于在采用所述主控密钥进行密码运算之前验证所述控制
信息的合法性;将所述控制校验码作为所述主控密钥属性数据的一部分。
21.为了提升利用主控密钥或受控密钥进行加密操作的安全性,本技术的一些实施例还提供了根据有密钥持有者独自持有的控制信息生成校验码的技术方案。
22.在一些实施例中,所述生成受控密钥,包括:生成采用明文表征的第二公私钥对,得到所述受控密钥,其中,所述第二公私钥对包括受控公钥和受控私钥;所述至少对所述受控密钥进行加密处理得到加密受控密钥属性数据,包括:采用所述密钥管理系统提供的私钥保护密钥明文对所述受控私钥进行加密处理得到所述受控密钥密文;将所述受控密钥密文和所述受控公钥作为所述受控密钥属性数据的至少部分内容。
23.本技术的一些实施例通过密钥管理系统提供的私钥保护密钥明文对受控私钥进行加密处理得到受控私钥密文并保存该受控私钥密文,以方便后续对该受控私钥密文进行解密后再利用该受控私钥进行加密处理。
24.在一些实施例中,所述方法还包括:为所述受控密钥分配受控密钥标识slaveid,其中,所述受控密钥标识slaveid作为所述受控密钥的唯一标识,所述受控密钥标识slaveid作为所述受控密钥索引信息;其中,所述受控密钥属性数据包括所述受控密钥标识slaveid。
25.本技术的一些实施例为了方便查找受控密钥还为每个建立的受控密钥建立的受控密钥标识,以方便密钥持有者在提供了该受控密钥标识的基础上可以将对应的受控密钥授权给其他用户使用(例如,使用受控私钥完成签名认证)。
26.在一些实施例中,所述建立所述主控密钥与至少一个受控密钥之间的关联关系,包括:根据由所述密钥管理系统提供的密钥保护密钥kek对所述私钥保护密钥明文进行加密得到私钥保护密钥密文epek;根据所述主控公钥对所述私钥保护密钥密文进行加密处理,得到关联私钥保护密钥密文pubencepek;将所述受控密钥标识、所述主控密钥以及所述关联私钥保护密钥密文作为所述关联信息。
27.本技术的一些实施例通过对受控私钥进行加密的私钥保护密钥明文进行二重加密操作,再存储二重加密后得到的关联私钥保护密钥密文,提升受控私钥的安全性使得只有有权的密钥持有者才可操控对应的受控私钥。
28.在一些实施例中,所述主控密钥为多个,且多个主控密钥存储在主控密钥标识列表中,所述主控密钥标识列表用于存储多条主控密钥以及与所述多条主控密钥各自对应的主控密钥标识列表号,其中,所述建立所述主控密钥与至少一个受控密钥之间的关联关系,包括:根据所述主控密钥标识列表中所有的主控密钥分别对所述私钥保护密钥密文epek进行加密得到多个关联私钥保护密钥密文,得到关联关系集合,其中,所述关联关系属于所述关联关系集合中的一个元素。
29.本技术的一些实施例在密钥管理侧生成一个受控密钥后,还会建立这个受控密钥与多个主控公钥的关联关系,从而可以实现一个受控密钥可以被多个主控密钥的密钥持有者所操控(即授权给其他用户使用受控密钥)。
30.在一些实施例中,在所述至少存储所述主控密钥属性数据和所述关联关系之后,所述方法还包括:对所述主控密钥和所述受控密钥执行备份操作。
31.为了提升密钥管理系统存储的密钥数据的安全性还可以对主控密钥和受控密钥进行备份处理。
32.在一些实施例中,在所述至少存储所述主控密钥属性数据和所述关联关系之后,所述方法还包括:所述密钥持有者通过提供控制信息对所述主控密钥和/或所述受控密钥进行更新的操作。
33.本技术的一些实施例还提供了更新密钥管理系统存储的密钥数据(即主控密钥和受控密钥)的技术方案。
34.在一些实施例中,在所述至少存储所述主控密钥属性数据和所述关联关系之后,所述方法还包括:所述密钥持有者通过提供控制信息销毁所述主控密钥和/或所述受控密钥。
35.为了高效利用密钥管理中心的存储空间,本技术的一些实施例还需要销毁不再使用的主控密钥和受控密钥。
36.第二方面,本技术的一些实施例提供一种采用主控密钥对数据加密的方法,应用在密钥管理系统,所述方法包括:接收来自于密钥持有者提供的主控密钥索引信息、控制信息以及待加密数据,其中,所述控制信息由密码持有者独立持有;根据所述主控密钥索引信息查找得到主控密钥属性数据;至少根据所述控制信息对所述主控密钥属性数据包括的主控密钥密文解密得到主控密钥;根据所述主控密钥完成对所述待加密数据的加密处理。
37.在一些实施例中,在所述至少根据所述控制信息对所述主控密钥属性数据包括的主控密钥密文解密得到主控密钥之前,所述方法还包括:从所述主控密钥属性数据中获取控制校验码;根据所述控制信息计算待验证控制校验码;确认所述控制校验码与所述待验证校验码一致。
38.在一些实施例中,所述至少根据所述控制信息对所述主控密钥属性数据包括的主控密钥密文解密得到主控密钥,包括:根据所述主控密钥索引信息和所述控制信息得到保护密钥;根据所述保护密钥对所述主控密钥密文进行解密,得到初始解密主控密文;采用所述密钥管理系统提供的第一加密数据对所述初始解密主控密文进行解密得到主控私钥,其中,所述主控密钥包括所述主控私钥和主控公钥。
39.第三方面,本技术的一些实施例提供一种采用受控密钥对数据加密的方法,所述方法包括:接收由密钥持有者提供的控制信息、主控密钥标识列表号masterid、受控密钥标识slaveid以及待加密的数据,其中,所述控制信息由密码持有者独立持有;根据所述控制信息和所述主控密钥标识列表号masterid得到与所述主控密钥标识列表号masterid对应的关联信息,其中,所述关联信息包括关联私钥保护密钥密文pubencepek;对所述关联私钥保护密钥密文pubencepek进行解密得到私钥保护密钥密文epek;根据所述私钥保护密钥密文epek对受控密钥密文进行解密得到受控密钥;基于所述受控密钥对所述待加密数据进行加密处理。
40.在一些实施例中,所述对所述关联私钥保护密钥密文pubencepek进行解密得到私钥保护密钥密文epek,包括:根据所述主控密钥标识列表号获取主控密钥;从所述主控密钥中得到主控私钥,并基于所述主控私钥对所述关联私钥保护密钥密文pubencepek进行解密得到所述私钥保护密钥密文epek。
41.在一些实施例中,所述根据所述私钥保护密钥密文epek对受控密钥密文进行解密得到受控密钥,包括:根据所述受控密钥标识slaveid查询获取受控密钥属性数据,得到受控密钥密文pekencslavepri;根据密钥保护密钥kek解密所述私钥保护密钥密文epek得到
私钥保护密钥明文pek;根据所述私钥保护密钥明文pek解密所述受控密钥密文pekencslavepri得到所述受控私钥slavepri,其中,所述受控密钥包括所述受控私钥。
42.第四方面,本技术的一些实施例提供一种密钥管理系统,所述系统包括:主控密钥生成模块,被配置为生成主控密钥,其中,所述主控密钥由一个密码持有者通过控制信息进行独立控制;主控密钥属性数据生成模块,被配置为至少对所述主控密钥进行加密处理得到主控密钥属性数据,其中,所述主控密钥属性数据至少包括主控密钥密文以及用于查找所述主控密钥的主控密钥索引信息,所述主控密钥密文是对所述主控密钥进行加密处理后得到的;关联关系建立模块,被配置为建立所述主控密钥与至少一个受控密钥之间的关联关系,其中,所述关联关系用于记录所述主控密钥对所述受控密钥的操控关系,所述受控密钥可通过所述主控密钥授权给至少一个对象使用;存储模块,被配置为至少存储所述主控密钥属性数据和所述关联关系,以使所述密码持有者根据所述主控密钥进行加密操作或者根据所述关联关系将所述受控密钥授权其他对象使用。
43.第五方面,本技术的一些实施例提供一种密钥管理系统,所述系统包括:第一控制信息接收模块,被配置为接收来自于密钥持有者提供的主控密钥索引信息以及控制信息,其中,所述控制信息由密码持有者独立持有;主控密钥属性数据获取模块,被配置为根据所述主控密钥索引信息查找得到主控密钥属性数据;解密模块,被配置为对所述主控密钥属性数据包括的主控密钥密文解密得到所述主控密钥;第一加密模块,被配置为根据所述主控密钥完成对待加密数据的加密处理。
44.第六方面,本技术的一些实施例提供一种密钥管理系统,所述系统包括:第二控制信息接收模块,被配置为接收由密钥持有者提供的控制信息、主控密钥标识列表号masterid、受控密钥标识slaveid以及待加密的数据,其中,所述控制信息由密码持有者独立持有;授权信息获取模块,被配置为根据所述控制信息和所述主控密钥标识列表号masterid得到与所述主控密钥标识列表号masterid对应的授权信息,其中,所述授权信息包括关联私钥保护密钥密文pubencepek;第二解密模板,被配置为对所述关联私钥保护密钥密文pubencepek进行解密得到私钥保护密钥密文epek;第三解密模块,被配置为根据所述私钥保护密钥密文epek对受控密钥密文进行解密得到受控密钥;第二加密模块,被配置为基于所述受控密钥对所述待加密数据进行加密处理。
45.第七方面,本技术的一些实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时可实现如第一方面、第二方面或者第三方包括的任意实施例所述的方法。
46.第八方面,本技术的一些实施例提供一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述程序时可实现如第一方面、第二方面或者第三方包括的任意实施例所述的方法。
附图说明
47.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
48.图1为本技术实施例提供的密钥系统示意图;
49.图2为本技术实施例提供的密钥管理和密码计算的方法的流程图;
50.图3为本技术实施例提供的分层密钥生成示意图;
51.图4为本技术实施例提供的密钥管理系统的使用示意图;
52.图5为本技术实施例提供的采用主控密钥对数据加密的方法的流程图;
53.图6为本技术实施例提供的采用受控密钥对数据加密的方法的流程图;
54.图7为本技术实施例提供的生成密钥数据的装置的组成框图;
55.图8为本技术实施例提供的采用主控密钥对数据加密的装置的组成框图;
56.图9为本技术实施例提供的采用受控密钥对数据加密的装置的组成框图;
57.图10为本技术实施例提供的电子设备组成示意图。
具体实施方式
58.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
59.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
60.结合背景技术部分的描述可知,采用相关技术的管理中心全托管方式能够提供灵活的管理和授权机制,但大多数系统没有解决密钥持有者对密钥“独立控制”的需求,密钥的安全性主要由中心负责,中心侧难以防御来自内部的越权或者合谋攻击,难以抵御来自“内部人员”的攻击。采用协同签名方式进行密钥授权时需要服务端和客户端均参与运算,因此被授权人员必须参与授权过程,交互过程相对复杂。
61.本技术的一些实施例将由密钥管理系统托管的密钥区分为“主控密钥”和“受控密钥”两种类型,主控密钥通过“私钥保护密钥(pek)”(如图2所示的pek)间接对受控密钥(例如,图2的由企业私钥和企业公钥组成的受控密钥)进行管理。需要说明的,本技术一些实施例的主控密钥(master key)代表密钥持有主体身份,密钥持有主体可以是自然人,也可以是其它主体,该主控密钥包括主控私钥和主控公钥(例如,图2的与用户a的多因素控制信息对应的个人私钥和个人公钥,以及与用户b的多因素控制信息对应的个人私钥和个人公钥,图2的控制信息为自然人的多因素控制信息),仅能由密钥持有者通过控制信息(例如,多因素控制信息或者双因素控制信息)来生成和使用,该类型密钥同时只能由一个人(即相应的密钥持有者)控制,不能授权给他人使用。例如,密钥的控制信息为多因素控制信息,该多因素控制信息包括基于手机号和控制码的双因素控制、基于邮箱和控制码的双因素控制,同时也可以采取其它控制方式。本技术一些实施例的受控密钥(slave key)一般代表一个逻辑实体或者业务角色,包括受控私钥和受控公钥,该密钥使用主控密钥创建,使用主控公钥进行间接保护,可以授权给多个人同时控制。本技术一些实施例的私钥保护密钥(pek,private key encrypt key)是在受控密钥生成时创建,用于对受控私钥进行加密保护。pek可以使用多个主控公钥分别加密保存,从而允许多个主控密钥使用同一个受控密钥进行密码运算。
62.可以理解的是,图2的“自然人”仅作为密码“持有者”的一个示例,因为该持有者可能是自然人,也可能是其它主体。图2的“用户a的多因素控制信息”作为密码“持有者”的多
因素控制信息的一个示例,
63.因为该多因素控制信息可以包括双因素控制信息、三因素控制信息等。
64.请参看图1,图1为本技术一些实施例提供的密钥系统,在该密钥系统中包括密钥管理系统100以及使用密钥管理系统100上存储的密钥的密钥持有者或者被授权对象,该被授权对象经由密码持有者协助可以使用密码管理设备上由相应密码持有者持有的受控密钥。需要说明的是,本技术的一些实施例提供的密钥管理设备上存储的密钥包括主控密钥和受控密钥,其中,主控密钥受某个密码持有者的独立控制,例如,某个密码持有者通过提供自身所知的秘密信息(例如,该秘密信息包括控制信息中的控制码)来解密主控密钥进而根据解密该主控密钥得到的主控私钥来对待加密数据进行加密处理。受控密钥在一个或多个主控密钥的操控下可授权给一个或多个对象使用。
65.如图1所示,密码持有者可以包括第一密码持有者210、第二密码持有者220等,密码管理系统100中设置有密码计算模块101以及存储模块102,其中,密码计算模块可以生成主控密钥和受控密钥,还可以响应于密码持有者的加密请求对待加密数据利用主控密钥包括的主控私钥进行加密,或者响应于授权对象或者密码持有者的数据加密请求对待加密数据利用受控密钥包括的受控私钥对待加密数据进行加密处理。存储模块102被配置存储主控密钥、受控密钥以及主控密钥和受控密钥之间的关联关系。图1的第一密码持有者210向密码管理系统发送控制信息,并接收由密码管理系统100反馈的第一主控密钥或与第一主控密钥关联的受控密钥。图1的第二密码持有者220向密码管理系统发送控制信息,并接收由密码管理系统反馈的第二主控密钥或接收与第二主控密钥关联的受控密钥。在图1中,受控密钥是受第一主控密钥操控的密钥,即该受控密钥与第一主控密钥具有关联关系,可经由该主控密钥的协助完成受控密钥密文的解密得到受控密钥,图1的第一被授权对象211可接收由密码管理系统反馈的与第一主控密钥关联的受控密钥,图1的第二被授权对象212也可以接受由第一主控密钥关联的受控密钥,进而使得第一被授权对象或者第二被授权对象可根据接收的受控密钥完成对待加密数据的加密处理。
66.图1仅示出了两个密码持有者和两个被授权对象,可以理解的是,在本技术的一些实施例中也可以包括多于两个的密码持有者或者多于两个被授权对象,且一个受控密钥可以与多个主控密钥相关联。在本技术的一些实施例中,密钥管理系统100还包括除密码计算模块101和存储模块102之外的其他模块,这会在下文进行示例性阐述。
67.下面结合图3示例性阐述由图1的密码管理系统执行的生成密钥数据的方法。
68.如图3所示,本技术的一些实施例提供一种密钥管理和密码计算的方法,应用于密钥管理系统,该方法包括如下的s101-s104:
69.s101,生成主控密钥,其中,所述主控密钥由一个密码持有者通过控制信息进行独立控制。
70.s102,至少对所述主控密钥进行加密处理得到主控密钥属性数据,其中,所述主控密钥属性数据至少包括主控密钥密文以及用于查找所述主控密钥的主控密钥索引信息,所述主控密钥密文是对所述主控密钥进行加密处理后得到的。
71.s103,建立所述主控密钥与至少一个受控密钥之间的关联关系,其中,所述关联关系用于记录所述主控密钥对所述受控密钥的操控关系,所述受控密钥可通过所述主控密钥授权给至少一个对象使用。
72.s104,至少存储所述主控密钥属性数据和所述关联关系,以使所述密码持有者根据所述主控密钥进行加密操作或者根据所述关联关系将所述受控密钥授权其他对象使用。
73.需要说明的是,所属控制信息是由密码持有者独立控制的信息,包括控制者所知的秘密信息、生物特征信息(例如,指纹、人脸识别)、或者其持有的专用控制设备(例如,usbkey)。
74.本技术的一些实施例通过将密钥分层为主控密钥和受控密钥,并由密码持有者通过控制信息(例如,控制信息)独立控制主控密钥,并经该主控密钥操控将相应受控密钥授权给至少一个用户来使用,这样一方面实现了密码持有者对密钥管理系统所存储的密钥的独立控制,另一方面还可以灵活的授权受控密钥给其他使用者。
75.需要说明的是,在本技术的一些实施例中,在s103之前,所述生成密钥数据的方法还包括:生成所述受控密钥;至少对所述受控密钥进行加密处理得到受控密钥属性数据,其中,所述受控密钥属性数据包括受控密钥密文以及用于查找所述受控密钥的受控密钥索引信息,所述受控密钥密文是对所述受控密钥进行加密处理后得到的。相应的s104所述至少存储所述主控密钥属性数据和所述关联关系示例性包括:存储所述主控密钥属性数据、所述受控密钥属性数据以及多个关联关系。
76.本技术的一些实施例通过在密钥管理系统生成受控密钥并采用密文存储受控密钥,并存储受控密钥与主控密钥之间的操控关系,使得密钥持有者可以灵活授权受控密钥。
77.下面示例性阐述获取主控密钥属性数据的实现过程。
78.在本技术的一些实施例中,s101所述生成主控密钥的过程示例性包括:生成采用明文表征的第一公私钥对得到所述主控密钥,其中,所述第一公私钥对包括主控公钥和主控私钥。相应的s102示例性包括:
79.第一步,采用所述密钥管理系统提供的第一加密数据对所述主控私钥进行加密处理得到加密主控私钥。
80.第二步,至少根据所述控制信息对所述加密主控私钥进行再次加密处理得到所述主控密钥密文,其中,所述控制信息至少包括可与所述密钥持有者进行通信的通信单元信息和被所述密钥持有者所知悉的控制码。需要说明的是,通信单元示例性包括:手机号、邮箱、或者其它能够接收控制信息的通信单元。
81.例如,该第二步示例性包括:为所述主控密钥分配主控标识keyid,其中,所述主控标识keyid作为所述主控密钥的唯一标识,所述主控标识作为所述主控密钥索引信息;根据所述主控标识和所述控制信息得到保护密钥;基于所述保护密钥对所述加密主控私钥进行再次加密处理得到所述主控密钥密文;其中,所述主控密钥属性数据还包括所述主控标识。本技术的一些实施例采用由密钥持有者持有并输入的控制信息和为该主控密钥分配的主控标识得到保护密钥,再用保护密钥对主控私钥进行加密,提升了主控密钥密文(即主控思域密文)的安全性的同时还可以对该主控密钥进行查找。
82.需要说明的是,保护密钥包括的对称密钥或者非对称密钥,也就是说,对主控私钥保护可以用“对称密钥”,也可能采用非对称密钥。
83.例如,在本技术的一些实施例中,所述控制码为一个字符串或者多位二进制数,所述通信单元信息包括:手机号或者邮箱。本技术的一些实施例提供了控制码和通信信息单元的多个类型。
84.例如,在本技术的一些实施例中,所述控制信息为双因素控制信息,所述双因素控制信息包括:pin码(personal identification number,个人身份识别码)和手机号,或者,pin码与邮箱。本技术一些实施例的控制信息为采用pin码和手机号,或者采用pin码与邮箱的双因素控制信息。
85.第三步,将所述主控密钥密文和所述主控公钥作为所述主控密钥属性数据的至少部分内容。本技术的一些实施例采用由密钥持有者持有的控制信息对由密钥管理系统生成的主控密钥进行加密,有效克服了相关技术仅利用密钥管理系统提供的加密密钥进行加密可能造成的难以抵御来自密钥管理系统的内部攻击的问题。
86.需要说明的是,在本技术的一些实施例中,所述生成密钥数据的方法还包括:计算所述控制信息的校验码得到控制校验码macpin,其中,所述控制验证码用于在采用所述主控密钥进行密码运算之前验证所述控制信息的合法性;将所述控制校验码作为所述主控密钥属性数据的一部分。也就是说,为了提升利用主控密钥或受控密钥进行加密操作的安全性,本技术的一些实施例还提供了根据有密钥持有者独自持有的控制信息生成校验码的技术方案。
87.下面示例性阐述生存受控密钥属性属性的过程。
88.在本技术的一些实施例中,上述生成受控密钥的过程示例性包括:生成采用明文表征的第二公私钥对,得到所述受控密钥,其中,所述第二公私钥对包括受控公钥和受控私钥。相应的,上述至少对所述受控密钥进行加密处理得到加密受控密钥属性数据的过程示例性包括:采用所述密钥管理系统提供的私钥保护密钥明文对所述受控私钥进行加密处理得到所述受控密钥密文;将所述受控密钥密文和所述受控公钥作为所述受控密钥属性数据的至少部分内容。本技术的一些实施例通过密钥管理系统提供的私钥保护密钥明文对受控私钥进行加密处理得到受控私钥密文并保存该受控私钥密文,以方便后续对该受控私钥密文进行解密后再利用该受控私钥进行加密处理。
89.为了方便查找受控密钥,在本技术的一些实施例中,所述生成密钥数据的方法还包括:为所述受控密钥分配受控密钥标识slaveid,其中,所述受控密钥标识slaveid作为所述受控密钥的唯一标识,所述受控密钥标识slaveid作为所述受控密钥索引信息;其中,所述受控密钥属性数据包括所述受控密钥标识slaveid。本技术的一些实施例为了方便查找受控密钥还为每个建立的受控密钥建立的受控密钥标识,以方便密钥持有者在提供了该受控密钥标识的基础上可以将对应的受控密钥授权给其他用户使用(例如,使用受控私钥完成签名认证)。
90.下面示例性阐述获取关联信息的实现过程。
91.在本技术的一些实施例中,s103所述建立所述主控密钥与至少一个受控密钥之间的关联关系的过程示例性包括:根据由所述密钥管理系统提供的密钥保护密钥kek对所述私钥保护密钥明文进行加密得到私钥保护密钥密文epek;根据所述主控公钥对所述私钥保护密钥密文进行加密处理,得到关联私钥保护密钥密文pubencepek;将所述受控密钥标识、所述主控密钥以及所述关联私钥保护密钥密文作为所述关联信息。也就是说,本技术的一些实施例通过对受控私钥进行加密的私钥保护密钥明文进行二重加密操作,再存储二重加密后得到的关联私钥保护密钥密文,提升受控私钥的安全性使得只有有权的密钥持有者才可操控对应的受控私钥。
92.在本技术的一些实施例中,所述主控密钥为多个,且多个主控密钥存储在主控密钥标识列表中,所述主控密钥标识列表用于存储多条主控密钥以及与所述多条主控密钥各自对应的主控密钥标识列表号,其中,s103所述建立所述主控密钥与至少一个受控密钥之间的关联关系的过程示例性包括:根据所述主控密钥标识列表中所有的主控密钥分别对所述私钥保护密钥密文epek进行加密得到多个关联私钥保护密钥密文,得到关联关系集合,其中,所述关联关系属于所述关联关系集合中的一个元素。本技术的一些实施例在密钥管理侧生成一个受控密钥后,还会建立这个受控密钥与多个主控公钥的关联关系,从而可以实现一个受控密钥可以被多个主控密钥的密钥持有者所操控(即授权给其他用户使用受控密钥)。
93.为了提升密钥管理系统存储的密钥数据的安全性,在本技术的一些实施例中,在s104之后,所述生成密钥数据的方法还包括:对所述主控密钥和所述受控密钥执行备份操作。也就是说,为了提升密钥管理系统存储的密钥数据的安全性还可以对主控密钥和受控密钥进行备份处理。
94.为了提升密钥数据的有效性,在本技术的一些实施例中,在s104之后,所述生成密钥数据的方法还包括:所述密钥持有者通过提供控制信息对所述主控密钥和/或所述受控密钥进行更新的操作。也就是说,本技术的一些实施例还提供了更新密钥管理系统存储的密钥数据(即主控密钥和受控密钥)的技术方案。
95.为了提升密钥管理系统上存储模块的使用效率,在本技术的一些实施例中,在s104之后,所述生成密钥数据的方法还包括:所述密钥持有者通过提供控制信息销毁所述主控密钥和/或所述受控密钥。也就是说,为了高效利用密钥管理中心的存储空间,本技术的一些实施例还需要销毁不再使用的主控密钥和受控密钥。
96.下面结合图4示例性阐述本技术一些实施例的密钥管理系统。
97.在本技术的一些实施例中构建的密钥管理系统包括:密钥服务封装模块、密码模块(对应于图1的密码计算模块101)、密钥存储模块(对应于图1的存储模块102)、带外通信模块。密钥管理系统边界内各功能模块应部署在防篡改的物理环境内,防篡改的物理环境可以是一个硬件服务器或者其它物理边界,也可以是严格受控的机房。
98.图4的密钥服务模块被配置为基于密码模块(或密码机)封装密钥管理协议,为应用提供密钥服务接口。
99.图4的hsm(密码模块)被配置为执行密码计算,当本系统用于特定领域时,该模块应符合该领域密码合规性要求,如中国国密要求,或者国际上的fips相关要求等。
100.图4的带外通信模块被配置为通过带外设备直接向用户发送otp(one time password)码,基于多因素(例如,otp和密钥授权码)方式验证用户对密钥的所有权。
101.图4的密钥存储模块被配置为存储托管的密钥密文及其授权信息(或称为关联信息),也就是说,在本技术的实施例中密钥管理系统存储的密钥数据主要包括三种类型:托管的主控密钥密文、托管的受控密钥密文以及授权关系数据(或称为关联关系数据)。例如,在本技术的一些实施例中,主控密钥密文采用双重加密保护,先使用密码模块内部密钥加密形成一重密文,然后再使用基于多因素构造的密钥对一重密文再次加密,形成二重密文。例如,在本技术的一些实施例中,托管的受控密钥密文采用双重加密保护,先使用密码模块内部密钥加密形成一重密文,然后再使用私钥保护密钥对一重密文再次加密,形成二重密
文。例如,在本技术的一些实施例中授权关系数据用于记录主控密钥、受控密钥之间的关联关系,私钥保护密钥密文存储在授权关系(或称为关联关系)中。
102.下面示例性阐述根据主控密钥对待加密数据进行加密的方法。
103.如图5所示,本技术的一些实施例提供一种采用主控密钥对数据加密的方法,应用在密钥管理系统,该方法包括:s201,接收来自于密钥持有者提供的主控密钥索引信息、控制信息以及待加密数据;s202,根据所述主控密钥索引信息查找得到主控密钥属性数据;s203,至少根据所述控制信息对所述主控密钥属性数据包括的主控密钥密文解密得到主控密钥;s204,根据所述主控密钥完成对所述待加密数据的加密处理。
104.在本技术的一些实施例中,在所述至少根据所述控制信息对所述主控密钥属性数据包括的主控密钥密文解密得到主控密钥之前,所述方法还包括:从所述主控密钥属性数据中获取控制校验码;根据所述控制信息计算待验证控制校验码;确认所述控制校验码与所述待验证校验码一致。
105.在本技术的一些实施例中,所述至少根据所述控制信息对所述主控密钥属性数据包括的主控密钥密文解密得到主控密钥,包括:根据所述主控密钥索引信息和所述控制信息得到保护密钥;根据所述保护密钥对所述主控密钥密文进行解密,得到初始解密主控密文;采用所述密钥管理系统提供的第一加密数据对所述初始解密主控密文进行解密得到主控私钥,其中,所述主控密钥包括所述主控私钥和主控公钥。
106.下面示例性阐述根据受控密钥对待加密数据进行加密的方法。
107.如图6所示,本技术的一些实施例提供一种采用受控密钥对数据加密的方法,该方法包括:s301,接收由密钥持有者提供的控制信息、主控密钥标识列表号masterid、受控密钥标识slaveid以及待加密的数据;s302,根据所述控制信息和所述主控密钥标识列表号masterid得到与所述主控密钥标识列表号masterid对应的关联信息,其中,所述关联信息包括关联私钥保护密钥密文pubencepek;s303,对所述关联私钥保护密钥密文pubencepek进行解密得到私钥保护密钥密文epek;s304,根据所述私钥保护密钥密文epek对受控密钥密文进行解密得到受控密钥;s305,基于所述受控密钥对所述待加密数据进行加密处理。
108.在本技术的一些实施例中,所述对所述关联私钥保护密钥密文pubencepek进行解密得到私钥保护密钥密文epek,包括:根据所述主控密钥标识列表号获取主控密钥;从所述主控密钥中得到主控私钥,并基于所述主控私钥对所述关联私钥保护密钥密文pubencepek进行解密得到所述私钥保护密钥密文epek。
109.在本技术的一些实施例中,所述根据所述私钥保护密钥密文epek对受控密钥密文进行解密得到受控密钥,包括:根据所述受控密钥标识slaveid查询获取受控密钥属性数据,得到受控密钥密文pekencslavepri;根据密钥保护密钥kek解密所述私钥保护密钥密文epek得到私钥保护密钥明文pek;根据所述私钥保护密钥明文pek解密所述受控密钥密文pekencslavepri得到所述受控私钥slavepri,其中,所述受控密钥包括所述受控私钥。
110.下面示例性阐述图4的密码管理系统执行的生成密钥数据的方法,加密数据的方法以及更新、销毁密码数据的方法。在下述示例中,上述控制信息为多因素控制信息,或者多因素控制信息包括的双因素控制信息。
111.本技术一些实施例提供的密钥管理系统的主要工作过程包括:系统初始化、创建主控密钥(即生成主控密钥属性数据)、使用主控密钥进行密码运算(即利用主控密钥对待
加密数据执行加密操作)、创建受控密钥(即生成受控密钥属性数据)、对受控密钥的授权操作(即获取关联关系)、使用受控密钥进行密码运算(即利用受控密钥对待加密数据执行加密操作)。
112.第一步,系统初始化
113.系统应在正式对外提供服务之前,对必要的密码资源进行初始化,主要包括:
114.①
在密码模块内生成密钥管理系统的身份密钥对(sam_pri、sam_pub),该密钥对用于对外证明管理系统身份。
115.②
在密码模块内生成密钥保护密钥kek,该密钥用于对主控密钥、受控密钥的私钥进行加密保护,防止私钥在密码模块外部暴露。
116.③
在密码模块内生成防篡改密钥sam_symkey,该密钥用于对otp等信息进行防篡改保护。
117.第二步,创建主控密钥
118.密钥持有者提供密钥的双因素控制信息,调用密钥服务模块创建主控密钥。双因素控制信息可以是以下形式:
119.①
pin码 手机号;
120.②
pin码 邮箱;
121.③
其它多因素控制形式。
122.密管系统创建主控密钥时的输入、输出及执行过程如下:
123.输入:持有者双因素信息
124.输出:主控密钥keyid
125.执行流程:
126.①
在密码模块内生成明文第一公私钥对(pri,pub),得到主控公钥pub和主控私钥pri。
127.②
在密码模块内使用kek(作为第一加密数据的一个示例)对主控密钥包括的主控私钥pri进行加密得到kekencpri(作为加密主控私钥的一个示例),密码模块对外输出(kekencpri,pub)。
128.③
密管系统为主控密钥分配唯一keyid(即主控标识),并使用(keyid、多因素控制信息)共同分散得到对称密钥(作为保护密钥的一个示例)pindivkey,并使用pindivkey对kekencpri进行加密,得到主控密钥密文pinencpri,所述主控密钥密文和主控公钥(pinencpri,pub)作为主控密钥属性数据所包括的数据。
129.④
密管系统计算多因素控制信息的校验码得到控制校验码macpin。
130.⑤
密管系统对主控密钥属性数据(keyid、macpin、pinencpri、pub)进行存储,keyid作为该主控密钥的唯一标识。
131.在具体实现时,密管系统还可以将其它相关信息与密钥一并存储,如密钥的有效期、使用次数限制,持有者的手机号、邮箱等。
132.第三步,使用主控密钥的私钥进行密码运算
133.主控密钥创建完成后,私钥密文存储在密管系统中,密钥持有者在使用主控密钥时应提供双因素控制信息,使用主控密钥时的输入、输出、执行流程如下:
134.输入:主控密钥持有者双因素信息;
135.输出:使用主控密钥私钥进行密码计算的结果
136.执行流程:
137.①
密钥持有者提供keyid、双因素控制信息。
138.②
密管系统使用keyid索引得到(keyid、macpin、pinencpri、pub)。
139.③
密管系统计算多因素控制信息的校验码,与macpin进行比对,验证双因素控制信息的合法性。
140.④
密管系统使用(keyid、多因素控制信息)共同分散得到保护密钥pindivkey,并使用pindivkey解密pinencpri,可以得到kekencpri。
141.⑤
密管系统使用kekencpri,调用密码模块进行计算(密码模块支持基于私钥密文的计算)。
142.⑥
密码模块内部使用kek解密kekencpri,得到pri。
143.⑦
至此,主控密钥的私钥明文已经在密码模块中,主控密钥持有者可以使用该私钥进行密码计算。
144.第四步,创建受控密钥
145.密管系统可以根据应用需求创建受控密钥,并将新建的受控密钥与一个或多个主控密钥关联。受控密钥创建过程中无需主控密钥持有者参与,受控密钥创建后可以被任一关联主控密钥使用。密管系统创建受控密钥时的输入、输出及执行过程如下:
146.输入:masterids(主控密钥标识列表,受控密钥创建后与列表中的所有主控密钥关联)
147.输出:slaveid(受控密钥标识)、slavepub(受控密钥公钥)
148.执行过程:
149.①
在密码模块内生成明文第二公私钥对(slavepri,slavepub)和私钥保护密钥明文pek,使用pek加密slavepri得到受控密钥密文pekencslavepri,使用kek加密pek得到私钥保护密钥密文epek,密码模块对外输出pekencslavepri、slavepub,epek;
150.②
密管服务分配唯一受控密钥标识slaveid,将slaveid,pekencslavepri,slavepub作为受控密钥属性数据进行存储。需要注意的是epek不作为受控密钥数据进行存储,以防止内部人员利用epek和密码模块获取受控密钥相关信息。
151.③
密管服务从masterids中取出一个主控密钥materid,使用masterid查询对应的主控密钥公钥,并使用主控密钥的公钥加密epek,得到pubencepek,将(slaveid,masterid,pubencepek)作为授权信息(或称为关联关系)持久存储,即将所述受控密钥标识、所述主控密钥以及所述关联私钥保护密钥密文作为所述关联信息。
152.④
依次重复步骤3,将同一个epek使用masterids中的所有主控密钥进行加密,并持久存储。
153.也就是说,本技术一些实施例的所述主控密钥为多个,且多个主控密钥存储在主控密钥标识列表中,所述主控密钥标识列表用于存储多条主控密钥以及与所述多条主控密钥各自对应的主控密钥标识列表号,其中,根据所述主控密钥标识列表中所有的主控密钥分别对所述私钥保护密钥密文epek进行加密得到多个关联私钥保护密钥密文,得到关联关系集合,其中,所述关联关系属于所述关联关系集合中的一个元素。
154.⑤
密管模块对外输出slaveid、slavepub。
155.5)使用受控密钥的私钥进行密码运算
156.受控密钥的私钥只能被其管理的主控密钥持有者使用。当主控密钥的持有者要使用受控密钥的私钥进行密码计算时,其操作流程如下:
157.输入:主控密钥持有者双因素信息、主控密钥标识masterid,受控密钥标识slaveid、私钥运算数据;
158.输出:使用受控密钥私钥进行密码计算的结果
159.执行过程:
160.①
密管系统使用双因素信息对主控密钥的持有者身份进行验证,验证的方式包括但不限于向密钥持有者的手机或邮箱发送otp信息,基于otp对密钥持有者身份进行验证。
161.②
密管系统使用主控密钥持有者双因素信息、主控密钥标识masterid,获取主控密钥私钥使用权,并使用主控密钥私钥解密pubencepek,得到epek,操作过程见“使用主控密钥的私钥进行密码运算”。
162.③
密管系统使用受控密钥标识slaveid查询获取受控密钥数据,得到pekencslavepri。
163.④
密管系统将epek、pekencslavepri、操作数据传递给密码模块,密码模块内部使用kek解密epek得到私钥保护密钥明文pek,使用pek解密pekencslavepri得到受控私钥明文slavepri,然后使用slavepri对私钥运算数据进行运算,得到运算结果。
164.⑤
密管系统将运算结果返回。
165.6)密钥的备份操作
166.密管系统可以对主控密钥、受控密钥执行备份操作,备份时无需改变密钥数据,仅对密钥密文进行备份即可,备份过程应保持主控密钥和受控密钥之间的授权关系不变。
167.7)主控密钥的更新操作
168.主控密钥持有者在更新主控密钥时应提供双因素控制信息,密钥更新时的输入、输出、执行流程如下:
169.输入:keyid,主控密钥持有者双因素信息;
170.输出:更新结果(成功或失败)
171.执行流程:
172.①
主控密钥持有者提供keyid、双因素控制信息。
173.②
密管系统使用keyid索引得到(keyid、macpin、pinencpri、pub);
174.③
密管系统计算多因素控制信息的校验码,与macpin进行比对,验证双因素控制信息的合法性,如果验证不通过,则密钥更新失败,否则继续执行后面步骤。
175.④
在密码模块内生成明文公私钥对(newpri,newpub),并在密码模块内使用kek对newpri进行加密得到kekencnewpri,密码模块对外输出(kekencnewpri,newpub)。
176.⑤
密管系统使用(keyid、多因素控制信息)共同分散得到保护密钥pindivkey。
177.⑥
密管系统使用pindivkey对kekencnewpri进行加密,得到(pinencnewpri,newpub)。
178.⑦
密管系统对原有密钥记录进行更新,将(keyid、macpin、pinencpri、pub)更新为(keyid、macpin、pinencnewpri、newpub)。
179.⑧
密管系统在更新密钥记录的同时,也可以对其它属性进行更新,如密钥的有效
期等。
180.8)主控密钥的销毁操作
181.主控密钥持有者在销毁主控密钥时应提供双因素控制信息,密钥更新时的输入、输出、执行流程如下:
182.输入:keyid,主控密钥持有者双因素信息;
183.输出:销毁结果(成功或失败)
184.执行流程:
185.①
密钥持有者提供keyid、双因素控制信息。
186.②
密管系统使用keyid索引得到(keyid、macpin、pinencpri、pub)。
187.③
密管系统计算多因素控制信息的校验码,与macpin进行比对,验证双因素控制信息的合法性,如果验证不通过,则密钥销毁失败,否则从密管中删除keyid对应的密钥数据,完成销毁操作。
188.9)受控密钥的更新操作
189.受控密钥由主控密钥持有者进行更新。当主控密钥的持有者要更新受控密钥时,其操作流程如下:
190.输入:主控密钥持有者双因素信息、主控密钥标识masterid,受控密钥标识slaveid;
191.输出:更新结果(成功或失败)
192.执行过程:
193.①
密管系统使用双因素信息对主控密钥的持有者身份进行验证,验证的方式包括但不限于向密钥持有者的手机或邮箱发送otp信息,基于otp对密钥持有者身份进行验证。如果验证失败则受控密钥更新失败,否则进行以下步骤。
194.②
在密码模块内生成明文公私钥对(newslavepri,newslavepub)和私钥保护密钥明文newpek,使用newpek加密newslavepri得到pekencnewslavepri,使用kek加密newpek得到enewpek,密码模块对外输出pekencnewslavepri、newslavepub,enewpek。
195.③
密管服务使用输入的受控密钥标识slaveid找到现有受控密钥记录,将pekencslavepri更新为pekencnewslavepri,将slavepub更新为newslavepub。
196.④
密管服务使用masterid查询对应的主控密钥公钥,并使用主控密钥的公钥加密enewpek,得到pubencenewpek,将(slaveid,masterid,pubencenewpek)作为授权信息持久存储;至此,受控密钥操作完成。
197.10)受控密钥的销毁操作
198.受控密钥由主控密钥持有者进行销毁。当主控密钥的持有者要销毁受控密钥时,其操作流程如下:
199.输入:主控密钥持有者双因素信息、主控密钥标识masterid,受控密钥标识slaveid;
200.输出:销毁结果(成功或失败)
201.执行过程:
202.①
密管系统使用双因素信息对主控密钥的持有者身份进行验证,验证的方式包括但不限于向密钥持有者的手机或邮箱发送otp信息,基于otp对密钥持有者身份进行验证。
如果验证失败则受控密钥销毁失败,否则进行以下步骤。
203.②
密管系统使用masterid、slaveid查询密钥授权表,确保masterid对slaveid有控制权限。
204.③
密管系统删除slaveid对应的密钥记录,同时在授权表中删除masterid对slaveid的控制关系。
205.综上所述,本技术的一些实施例实现了密钥由用户(即密钥持有者)独立控制,中心侧(即密钥管理系统)“可用不可见”的密钥托管能力,其技术特点包括:1)密钥独立控制能力。密钥持有者能够基于双因素,对密钥进行“独立控制”。通过构造密码协议,实现了密钥所有权(生命周期管理)、治理权(集中存储、数据备份等)的分离。能够有效抵御外部攻击者的拖库攻击,以及内部攻击者身份假冒、签名伪造、协议重放等攻击。2)终端适配能力。不对终端进行专门限定,终端用户使用通用的浏览器、或者通用客户端即可,无需连接额外的硬件介质。3)灵活授权能力。持有者能够将密钥授权给他人使用,授权过程中可以无需被授权人参与(被授权人也可以参与,但不是必须的),从而简化了授权操作。
206.需要说明的是,上述技术方案中使用了双因素方式对主控密钥持有者进行身份认证,实际操作中可以根据实际场景替换为其它方式,包括但不限于通过协同签名技术对主控密钥持有者进行身份认证、通过专用介质对主控密钥持有者进行身份验证、通过预置的秘密信息对主控密钥持有者进行身份验证、通过预置相同的种子密钥进一步分散进行身份验证等。上述技术方案中使用了kek对私钥明文进行第一重加密,为叙述方便文中未明确各种场合的kek是否为同一个。在实际场景中,在保证密码强度的前提下,可以根据应用需求选择唯一的kek,也可以按照操作类型选择几个不同的kek,甚至每次计算都随机选择一个kek,只要持久性存储数据中能够记录kek对应的标识,在后续操作中能够索引到该kek即可。
207.请参考图7,图7示出了本技术实施例提供的密钥管理系统,应理解,该系统与上述图3方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该系统的具体功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。系统包括至少一个能以软件或固件的形式存储于存储器中或固化在密钥管理系统的操作系统中的软件功能模块,该密钥管理系统,包括:主控密钥生成模块111、主控密钥属性数据生成模块112、关联关系建立模块113以及存储模块114。
208.主控密钥生成模块111,被配置为生成主控密钥,其中,所述主控密钥由一个密码持有者通过控制信息进行控制,所述控制信息由密码持有者独立持有。
209.主控密钥属性数据生成模块112,被配置为至少对所述主控密钥进行加密处理得到主控密钥属性数据,其中,所述主控密钥属性数据至少包括主控密钥密文以及用于查找所述主控密钥的主控密钥索引信息,所述主控密钥密文是对所述主控密钥进行加密处理后得到的。
210.关联关系建立模块113,被配置为建立所述主控密钥与至少一个受控密钥之间的关联关系,其中,所述关联关系用于记录所述主控密钥对所述受控密钥的操控关系,所述受控密钥可通过所述主控密钥授权给至少一个对象使用.
211.存储模块114,被配置为至少存储所述主控密钥属性数据和所述关联关系,以使所述密码持有者根据所述主控密钥进行加密操作或者根据所述关联关系将所述受控密钥授
权其他对象使用。
212.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
213.如图8所示,本技术的一些实施例提供一种密钥管理系统,该系统包括:第一控制信息接收模块121、主控密钥属性数据获取模块122、解密模块123以及第一加密模块124。
214.第一控制信息接收模块121,被配置为接收来自于密钥持有者提供的主控密钥索引信息以及控制信息,所述控制信息由密码持有者独立持有。
215.主控密钥属性数据获取模块122,被配置为根据所述主控密钥索引信息查找得到主控密钥属性数据。
216.解密模块123,被配置为对所述主控密钥属性数据包括的主控密钥密文解密得到所述主控密钥。
217.第一加密模块124,被配置为根据所述主控密钥完成对待加密数据的加密处理。
218.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
219.如图9所示,本技术的一些实施例提供一种密钥管理系统,所述系统包括:第二控制信息接收模块131、授权信息获取模块132、第二解密模板133、第三解密模块134以及第二加密模块135。
220.第二控制信息接收模块131,被配置为接收由密钥持有者提供的控制信息、主控密钥标识列表号masterid、受控密钥标识slaveid以及待加密的数据。
221.授权信息获取模块132,被配置为根据所述控制信息和所述主控密钥标识列表号masterid得到与所述主控密钥标识列表号masterid对应的授权信息,其中,所述授权信息包括关联私钥保护密钥密文pubencepek。
222.第二解密模板133,被配置为对所述关联私钥保护密钥密文pubencepek进行解密得到私钥保护密钥密文epek。
223.第三解密模块134,被配置为根据所述私钥保护密钥密文epek对受控密钥密文进行解密得到受控密钥。
224.第二加密模块135,被配置为基于所述受控密钥对所述待加密数据进行加密处理。
225.本技术的一些实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时可实现如图3、图5或者图6包括的任意实施例所述的方法。
226.如图10所示,本技术的一些实施例提供一种电子设备500,包括存储器510、处理器520以及存储在所述存储器510上并可在所述处理器520上运行的计算机程序,其中,所述处理器520通过总线530从存储器510读取程序并执行所述程序时可实现如上述图3、图5或者图6方法包括的任意实施例所述的方法。
227.处理器520可以处理数字信号,可以包括各种计算结构。例如复杂指令集计算机结构、结构精简指令集计算机结构或者一种实行多种指令集组合的结构。在一些示例中,处理器520可以是微处理器。
228.存储器510可以用于存储由处理器520执行的指令或指令执行过程中相关的数据。这些指令和/或数据可以包括代码,用于实现本技术实施例描述的一个或多个模块的一些功能或者全部功能。本公开实施例的处理器520可以用于执行存储器510中的指令以实现图
3中所示的方法。存储器510包括动态随机存取存储器、静态随机存取存储器、闪存、光存储器或其它本领域技术人员所熟知的存储器。
229.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
230.另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
231.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
232.以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
233.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应所述以权利要求的保护范围为准。
234.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献