CN111245597A - 密钥管理方法、系统及设备 - Google Patents

密钥管理方法、系统及设备 Download PDF

Info

Publication number
CN111245597A
CN111245597A CN202010051280.4A CN202010051280A CN111245597A CN 111245597 A CN111245597 A CN 111245597A CN 202010051280 A CN202010051280 A CN 202010051280A CN 111245597 A CN111245597 A CN 111245597A
Authority
CN
China
Prior art keywords
key
ciphertext
service
service identifier
fragments
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
Application number
CN202010051280.4A
Other languages
English (en)
Other versions
CN111245597B (zh
Inventor
裴新
李雪峰
吴小川
孙亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhongan Information Technology Service Co Ltd
Original Assignee
Zhongan Information Technology Service Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhongan Information Technology Service Co Ltd filed Critical Zhongan Information Technology Service Co Ltd
Priority to CN202010051280.4A priority Critical patent/CN111245597B/zh
Publication of CN111245597A publication Critical patent/CN111245597A/zh
Application granted granted Critical
Publication of CN111245597B publication Critical patent/CN111245597B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Abstract

本发明实施例提供一种密钥管理方法、系统及设备。该方法包括:接收密钥请求,密钥请求包括请求端的公钥和所请求业务密钥的业务标识;根据业务标识,从分布式存储网络中获取与业务标识对应的多个密文密钥分片;根据多个密文密钥分片确定与业务标识对应的密文密钥,密文密钥基于根密钥的公钥加密;采用重加密密钥,对密文密钥进行重加密,重加密密钥是在可信执行环境中根据根密钥的私钥和请求端的公钥确定,根密钥的私钥存储于可信执行环境中;将重加密后的密文密钥发送至请求端,以使请求端根据请求端的私钥对重加密后的密文密钥进行解密,获取所请求的业务密钥。通过分布式密文存储和重加密,提高了安全性。

Description

密钥管理方法、系统及设备
技术领域
本发明涉及信息安全技术领域,具体涉及一种密钥管理方法、系统及设备。
背景技术
随着全球信息化水平的不断提高,信息安全的重要性日趋增强。信息安全产业已成为对各国的国家安全、政治稳定、经济发展、社会生活、健康文化等方方面面具有生存性和保障性支撑作用的关键产业。信息安全可能会影响个人的工作、生活,甚至会影响国家经济发展、社会稳定、国防安全。因此,信息安全产业在整个产业布局乃至国家战略格局中具有举足轻重的地位和作用。
现代密码体制是信息安全的重要组成部分,其设计思想是使体制的安全性取决于密钥,因此对于密钥的管理将直接决定体制的安全性。不同于登陆密码、支付密码等由用户自己设定的字符串,密钥通常是面向企业的、面向服务的,因此密钥的全生命周期安全也是企业的核心安全问题。企业通常使用密钥管理系统(Key Management System,简称:KMS)进行密钥的生成、分发、更新、撤销和销毁,所有需要配置密钥的业务都需要经过KMS系统。KMS如若崩溃,则所有新上线的业务将随之推迟;KMS如若被攻破,则可能导致数据泄漏;KMS如若被删库,则关联的业务数据可能永久不可用。因此虽然KMS的访问频率未必很高,但是对于KMS的安全性要求却很高,不仅需要防范外部攻击,而且要防范内部攻击。
目前常用的KMS基于软件实现,通常使用部署于公司内网中的本地数据库来存储根密钥和业务密钥,用于向企业内部提供服务。现有基于软件实现的KMS中,由于所有密钥都存储在一个数据库中,一旦被攻击,可能导致所有密钥全部泄漏;有访问权限的用户如果做恶,则可以获取所有密钥。也就是说,现有基于软件实现的KMS中每个密钥均存在丢失和被篡改的风险,安全性低。
发明内容
本发明实施例提供一种密钥管理方法、系统及设备,用以解决现有密钥管理系统安全性低的问题。
第一方面,本发明实施例提供一种密钥管理方法,包括:
接收密钥请求,密钥请求包括请求端的公钥和所请求业务密钥的业务标识;
根据业务标识,从分布式存储网络中获取与业务标识对应的多个密文密钥分片;
根据多个密文密钥分片确定与业务标识对应的密文密钥,密文密钥基于根密钥的公钥加密;
采用重加密密钥,对密文密钥进行重加密,重加密密钥是在可信执行环境中根据根密钥的私钥和请求端的公钥确定,根密钥的私钥存储于可信执行环境中;
将重加密后的密文密钥发送至请求端,以使请求端根据请求端的私钥对重加密后的密文密钥进行解密,获取所请求的业务密钥。
在一种可选的实施方式中,根据业务标识,从分布式存储网络中获取与业务标识对应的多个密文密钥分片,包括:
根据业务标识,通过密钥索引获取存储地址,密钥索引包括业务标识和与业务标识对应的密文密钥分片在分布式存储网络中的存储地址之间的映射关系;
根据存储地址,从分布式存储网络中获取与业务标识对应的多个密文密钥分片。
在一种可选的实施方式中,若密钥索引中不包括业务标识,则通过密钥索引获取存储地址之前,所述方法还包括:
通过密钥生成函数生成与业务标识对应的业务密钥;
采用根密钥的公钥对业务密钥进行加密,得到相应的密文密钥;
使用(t,n)门限算法将密文密钥分为n个密文密钥分片;
将n个密文密钥分片存储于分布式存储网络中,并更新密钥索引。
在一种可选的实施方式中,分布式存储网络基于分布式哈希表构建。
在一种可选的实施方式中,采用重加密密钥,对密文密钥进行重加密之后,方法还包括:
销毁重加密密钥。
在一种可选的实施方式中,密钥请求还包括请求端的身份标识和/或至少一个签名信息;根据业务标识,从分布式存储网络中获取与业务标识对应的多个密文密钥分片之前,方法还包括:根据身份标识进行身份鉴权,和/或,根据签名信息进行签名验证。
第二方面,本发明实施例提供一种密钥管理系统,包括:核心系统模块、TEE模块和存储模块;
TEE模块用于存储根密钥的私钥,并根据根密钥的私钥和请求端的公钥确定重加密密钥;
存储模块包括分布式存储网络,用于存储密文密钥分片;
核心系统模块用于,
根据请求端所请求业务密钥的业务标识,从存储模块中获取与业务标识对应的多个密文密钥分片;
根据多个密文密钥分片确定与业务标识对应的密文密钥;
采用TEE模块确定的重加密密钥对密文密钥进行重加密。
在一种可选的实施方式中,核心系统模块还用于:
通过密钥生成函数生成业务密钥;
采用根密钥的公钥对业务密钥进行加密,得到相应的密文密钥;
使用(t,n)门限算法将密文密钥分为n个密文密钥分片;
将n个密文密钥分片存储于存储模块中。
第三方面,本发明实施例提供一种密钥管理设备,包括:
至少一个处理器和存储器;
存储器存储计算机执行指令;
至少一个处理器执行存储器存储的计算机执行指令,使得至少一个处理器执行如第一方面任一项所述的密钥管理方法。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现如第一方面任一项所述的密钥管理方法。
本发明实施例提供的密钥管理方法、系统及设备,通过接收密钥请求,密钥请求包括请求端的公钥和所请求业务密钥的业务标识;根据业务标识,从分布式存储网络中获取与业务标识对应的多个密文密钥分片;根据多个密文密钥分片确定与业务标识对应的密文密钥;采用重加密密钥,对密文密钥进行重加密;将重加密后的密文密钥发送至请求端,以使请求端根据请求端的私钥对重加密后的密文密钥进行解密,获取所请求的业务密钥,实现了对业务密钥的安全管理。通过将业务密钥以密文密钥分片的形式存储于分布式存储网络中,提高了业务密钥的存储安全性;通过重加密实现了一人一钥一密文,能够抵御基于密文的攻击,提高了业务密钥的传输安全性。
附图说明
图1为一实施例提供的密钥管理系统的拓扑示意图;
图2为一实施例提供的密钥管理系统的分层示意图;
图3为一实施例提供的密钥管理方法的流程图;
图4为又一实施例提供的密钥管理方法的流程图;
图5为一实施例提供的密钥管理设备的结构示意图。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。其中不同实施方式中类似元件采用了相关联的类似的元件标号。在以下的实施方式中,很多细节描述是为了使得本申请能被更好的理解。然而,本领域技术人员可以毫不费力的认识到,其中部分特征在不同情况下是可以省略的,或者可以由其他元件、材料、方法所替代。在某些情况下,本申请相关的一些操作并没有在说明书中显示或者描述,这是为了避免本申请的核心部分被过多的描述所淹没,而对于本领域技术人员而言,详细描述这些相关操作并不是必要的,他们根据说明书中的描述以及本领域的一般技术知识即可完整了解相关操作。
另外,说明书中所描述的特点、操作或者特征可以以任意适当的方式结合形成各种实施方式。同时,方法描述中的各步骤或者动作也可以按照本领域技术人员所能显而易见的方式进行顺序调换或调整。因此,说明书和附图中的各种顺序只是为了清楚描述某一个实施例,并不意味着是必须的顺序,除非另有说明其中某个顺序是必须遵循的。
本文中为部件所编序号本身,例如“第一”、“第二”等,仅用于区分所描述的对象,不具有任何顺序或技术含义。而本申请所说“连接”、“联接”,如无特别说明,均包括直接和间接连接(联接)。
本发明各实施例中涉及的根密钥包括公钥和私钥,在密钥管理系统初始化时生成,并且根密钥的私钥存储于密钥管理系统的可信执行环境中。本发明各实施例中涉及的业务密钥可以用于对业务数据进行加密,在首次申请时,由密钥管理系统生成。以企业为例,业务密钥例如可以与企业部门匹配,例如可以包括:营销业务密钥、财务业务密钥、市场业务密钥、数据业务密钥等。如无特别说明,本申请中的加密均采用非对称加密算法。
为了解决现有密钥管理系统因采用单一数据库存储所有密钥,而导致安全性低的问题,本申请通过分布式密文存储和重加密,提高了密钥管理系统的安全性。本申请提供的密钥管理系统既可以部署于本地端,如部署于企业内部,也可以部署于云端,如部署于云服务器中。下面分别从拓扑结构和分层结构两个方面,对本申请提供的密钥管理系统进行说明。
图1为一实施例提供的密钥管理系统的拓扑示意图。如图1所示,本实施例提供的密钥管理系统可以包括:核心系统模块、TEE模块和存储模块。
其中,TEE模块用于存储根密钥的私钥,并根据根密钥的私钥和请求端的公钥确定重加密密钥;存储模块包括分布式存储网络,用于存储密文密钥分片;核心系统模块用于,根据请求端所请求业务密钥的业务标识,从存储模块中获取与业务标识对应的多个密文密钥分片;根据多个密文密钥分片确定与业务标识对应的密文密钥;采用TEE模块确定的重加密密钥对密文密钥进行重加密。
本实施例中TEE模块用于提供可信执行环境(Trusted Execution Environment,简称:TEE),其内部的任何数据不能被读取和导出,安全执行计算并输出最后的结果,例如可以采用Intel SGX芯片实现。实现对根密钥私钥的黑箱存储,并确保与根密钥私钥相关的处理安全执行。
本实施例中存储模块包括分布式存储网络,该分布式存储网络例如可以通过选取同网段的多个网络节点,采用群密钥(swarm key)基于分布式哈希表(Distributed HashTable,简称:DHT)组成,网络节点可以是实体设备也可以是虚拟机。业务密钥在分布式存储网络中是以密文密钥分片的形式存储的,这提高了业务密钥的存储安全性,其中密文密钥分片是通过对业务密钥采用根密钥公钥进行加密后再进行分片得到的。首先,分布式存储增加了攻击者获取业务密钥密文密钥分片的难度;其次,即使攻击者获取到了业务密钥的所有密文密钥分片,由于不清楚分片方法,从中恢复出密文密钥也是困难的;最后,即便攻击者通过密文密钥分片成功的恢复出了密文密钥,但由于无法获得TEE模块中存储的根密钥私钥,所以依然无法恢复出业务密钥的明文。
当企业用户部署服务需要使用业务密钥时,向密钥管理系统发起密钥请求。若该业务密钥是首次申请,则密钥管理系统的核心系统模块还用于:通过密钥生成函数生成业务密钥;采用根密钥的公钥对业务密钥进行加密,得到相应的密文密钥;使用(t,n)门限算法将密文密钥分为n个密文密钥分片;将n个密文密钥分片存储于存储模块中。其中,(t,n)门限算法中的参数t和n可以根据密钥管理系统的预设参数确定,t和n均为自然数,且t<=n。
本实施例对于(t,n)门限算法的具体实现方式不做限制,例如可以采用基于拉格朗日插值多项式的(t,n)门限算法。假设q是一个大素数,密文密钥Csk属于有限域GF(q)。随机选取GF(q)[x]上的一个t-1次多项式f(x),使得Csk=f(0),则密文密钥分片可以根据mi=f(i),i=1,2,…,n确定。
由于采用了(t,n)门限算法对密文密钥进行分片,因此在恢复密文密钥时,仅需要从n个密文密钥分片中选出任意t个密文密钥分片,便可以根据如下公式恢复出密文密钥:
Figure BDA0002371263710000061
也就是说,即使分布式存储网络由于故障或者遭受攻击者的攻击,导致部分密文密钥分片损坏或者丢失而无法获取时,只要保证分布式存储网络中有t个正确的密文密钥分片,就能恢复出密文密钥,从而提高了密钥管理系统的容错性。
对于非首次申请的业务密钥,密钥管理系统在接收到企业用户发起的密钥请求之后,为了防止基于密文的攻击,采用重加密技术实现一人一钥一密文。具体的,在TEE模块中根据根密钥的私钥和请求端的公钥生成重加密密钥,由核心系统模块根据请求端所请求业务密钥的业务标识,从存储模块中获取与业务标识对应的多个密文密钥分片,根据多个密文密钥分片恢复出密文密钥,并采用重加密密钥对密文密钥进行重加密。将重加密后的密文密钥发送至请求端,以使请求端根据请求端的私钥对重加密后的密文密钥进行解密,最终获取业务密钥的明文,完成服务部署。
重加密密钥依赖于请求端的公钥,因此重加密保证了一人一钥一密文。举例来说,当多个企业用户请求同一业务密钥时,虽然从多个密文密钥分片中恢复出业务密钥的密文密钥是相同的,但是由于各个企业用户请求端的公钥并不相同,因此会生成不同的重加密密钥。对于相同的密文密钥采用不同的重加密密钥进行重加密,最终将会生成不同的密文。也就是说,即便多个企业用户请求同一业务密钥,他们收到的也是不一样的密文,彼此间不知道部署的服务信息和密钥的使用范畴。即使某个用户丢失了密文,别的用户也无法使用;即使攻击者在密钥管理系统向请求端发送密文的过程中,截获了相关密文,由于无法获知请求端的私钥,因此也无法获取业务密钥的明文。通过重加密能够抵御基于密文的攻击,进一步提高了密钥管理系统的安全性。
综上所述,核心系统模块可以用于完成密钥生成,密钥加密,密文密钥分片,密文密钥恢复,密文密钥重加密等功能,各功能描述可以参考表1。表1为核心系统模块中部分功能输入与输出的示例表。
表1
Figure BDA0002371263710000071
可选的,核心系统模块还可以用于创建并实时更新密钥索引,密钥索引包括业务标识和与业务标识对应的密文密钥分片在分布式存储网络中的存储地址之间的映射关系。通过密钥索引,可以提高密钥管理系统响应密钥请求的速度。
可以理解的是,本实施例提供的密钥管理系统中还可以根据需要设置访问控制模块,访问控制模块用于进行身份鉴权和/或签名验证。通过访问控制模块可以排除非法访问,提高密钥管理系统的安全性。
以上是从拓扑结构的角度对本申请提供的密钥管理系统进行的说明,下面将从分层结构的角度继续对本申请提供的密钥管理系统进行说明。请参考图2,图2所示实施例提供的密钥管理系统可以包括:数据层、核心层、接口层和安全组件。
其中,数据层包括星际文件系统(Inter-Planetary File System,简称:IPFS),IPFS是一个面向全球的、点对点的分布式文件系统,可以用于存储密文密钥分片。数据层还可以包括关系型数据库,例如可以包括关系型数据库Mysql,可以用于存储密钥索引。
核心层可以包括密钥生成模块,用于生成业务密钥;密钥加密模块,用于生成密文密钥;密钥分片模块,用于生成密文密钥分片;密钥恢复模块,用于通过密文密钥分片恢复出密文密钥;密钥重加密模块,用于对密文密钥进行重加密。
接口层可以包括验证接口,用于对请求端的密钥请求进行身份鉴权和/或签名验证;获取密钥接口,用于获取业务密钥的密文并发送至请求端;重加密接口,用于从安全组件中获取重加密密钥。
安全组件可以包括TEE模块,用于提供可信执行环境。
以上分别从拓扑结构和分层结构两个方面,对本申请提供的密钥管理系统进行了说明,下面将从工作流程的角度对本申请提供的密钥管理方法进行说明,该方法可以应用于上述任一实施例提供的密钥管理系统中。请参考图3,图3为一实施例提供的密钥管理方法的流程图。如图3所示,本实施例提供的密钥管理方法可以包括:
S101、接收密钥请求,密钥请求包括请求端的公钥和所请求业务密钥的业务标识。
当用户部署服务需要使用业务密钥时,则向密钥管理系统发起密钥请求。密钥请求中可以包括请求端的公钥和所请求业务密钥的业务标识,业务标识可以用于对业务密钥进行唯一标识。
请求端的公钥和请求端的私钥可以在请求端生成及存储,也可以由密钥管理系统生成然后发送至请求端进行存储,本实施例对此不作限制。
S102、根据业务标识,从分布式存储网络中获取与业务标识对应的多个密文密钥分片。
本实施例中当密钥管理系统接收到密钥请求之后,则可以根据其中包括的业务标识,从分布式存储网络中获取所请求的业务密钥的多个密文密钥分片。
本实施例中的业务密钥在分布式存储网络中是以密文密钥分片的形式存储的,这提高了业务密钥的存储安全性。
本实施例中的分布式存储网络例如可以基于分布式哈希表构建,具体地可以通过选取同网段的多个网络节点,采用群密钥(swarm key)基于分布式哈希表(DistributedHash Table,简称:DHT)组成,网络节点可以是实体设备也可以是虚拟机。本实施例中的分布式存储网络例如还可以基于星际文件系统(Inter-Planetary File System,简称:IPFS)构建,IPFS是一个面向全球的、点对点的分布式文件系统。分布式存储增加了攻击者获取业务密钥密文密钥分片的难度。
在一种可选的实施方式中,根据业务标识,从分布式存储网络中获取与业务标识对应的多个密文密钥分片,具体可以包括:根据业务标识,通过密钥索引获取存储地址,密钥索引包括业务标识和与业务标识对应的密文密钥分片在分布式存储网络中的存储地址之间的映射关系;根据存储地址,从分布式存储网络中获取与业务标识对应的多个密文密钥分片。
一个业务密钥的密文密钥可以分为多个密文密钥分片,每个密文密钥分片在分布式存储网络中有一个存储地址,因此本实施例中的映射关系是一对多的关系。本实施例中的密钥索引可以采用关系型数据库存储。通过密钥索引可以提高获取密文密钥分片的速度,进而可以提高密钥管理系统响应密钥请求的速度。
S103、根据多个密文密钥分片确定与业务标识对应的密文密钥,密文密钥基于根密钥的公钥加密。
本实施例中在获取业务密钥的多个密文密钥分片之后,则可以采用与分片相对应的方法通过多个密文密钥分片恢复出业务密钥的密文密钥。本实施例中的密文密钥是采用根密钥的公钥对业务密钥进行加密生成的。
虽然本实施例对于密文密钥分片以及密文密钥恢复的具体算法不做限制,但是密文密钥恢复的算法一定要与密文密钥分片的算法相匹配,以确保恢复出的密文密钥的正确性。
S104、采用重加密密钥,对密文密钥进行重加密,重加密密钥是在可信执行环境中根据根密钥的私钥和请求端的公钥确定,根密钥的私钥存储于可信执行环境中。
根密钥是密钥管理系统安全的核心,位于密钥结构中最顶层,由于没有上层密钥对其进行保护,且其安全性是下级密钥安全的前提,是密钥管理系统安全的基础,因此本实施例中根密钥的私钥存储于可信执行环境中,并且与根密钥相关的处理过程,如根据根密钥的私钥和请求端的公钥确定重加密密钥,也在可信执行环境中执行。
由于重加密密钥是根据请求端的公钥和根密钥的私钥计算得到的,为了避免由于重加密密钥泄露而导致根密钥的私钥出现被破解的风险,从而对密钥管理系统造成安全隐患,本实施例中在采用重加密密钥,对密文密钥进行重加密之后,则销毁重加密密钥。一方面可以消除安全隐患,提高安全性;另一方面还可以释放资源,提高性能。
本实施例中通过采用重加密密钥,对密文密钥进行重加密,经过重加密的密文密钥只有采用请求端的私钥才可以恢复出业务密钥,实现了一人一钥一密文,能够抵御基于密文的攻击,提高了业务密钥的传输安全性。
S105、将重加密后的密文密钥发送至请求端,以使请求端根据请求端的私钥对重加密后的密文密钥进行解密,获取所请求的业务密钥。
请求端在接收到重加密后的密文密钥之后,便可以根据自己的私钥对重加密后的密文密钥进行解密,以获取所请求的业务密钥,然后根据业务密钥部署服务。
本实施例提供的密钥管理方法,通过接收密钥请求,密钥请求包括请求端的公钥和所请求业务密钥的业务标识;根据业务标识,从分布式存储网络中获取与业务标识对应的多个密文密钥分片;根据多个密文密钥分片确定与业务标识对应的密文密钥;采用重加密密钥,对密文密钥进行重加密;将重加密后的密文密钥发送至请求端,以使请求端根据请求端的私钥对重加密后的密文密钥进行解密,获取所请求的业务密钥,实现了对业务密钥的安全管理。通过将业务密钥以密文密钥分片的形式存储于分布式存储网络中,提高了业务密钥的存储安全性;通过重加密实现了一人一钥一密文,能够抵御基于密文的攻击,提高了业务密钥的传输安全性。
在上述实施例的基础上,若请求端所请求的业务密钥是首次申请,即分布式存储网络中并未存储该业务密钥的密文密钥分片,密钥索引中也不包括该业务标识,则所述方法还包括生成业务密钥并存储密文密钥分片,具体流程请参考图4。如图4所示,在上述实施例的基础上,本实施例提供的方法还可以包括:
S201、通过密钥生成函数生成与业务标识对应的业务密钥。
本实施例对于密钥生成函数的具体实现方式不做限制,例如可以通过密钥生成函数随机生成业务密钥,让后将随机生成的业务密钥与业务标识相关联。
S202、采用根密钥的公钥对业务密钥进行加密,得到相应的密文密钥。
本实施例中采用根密钥的公钥通过非对称加密算法对业务密钥进行加密,得到业务密钥的密文密钥。非对称加密算法例如可以采用RSA、Elgamal、背包算法、Rabin、D-H、椭圆曲线加密算法(ECC)等。
S203、使用(t,n)门限算法将密文密钥分为n个密文密钥分片。
本实施例中(t,n)门限算法的参数t和n可以根据密钥管理系统的预设参数确定,t和n均为自然数,且t<=n。本实施例对于(t,n)门限算法的具体实现方式不做限制,例如可以采用基于拉格朗日插值多项式的(t,n)门限算法。由于采用了(t,n)门限算法对密文密钥进行分片,因此在恢复密文密钥时,仅需要从n个密文密钥分片中选出任意t个密文密钥分片,便可以恢复出密文密钥。也就是说,即使分布式存储网络由于故障或者遭受攻击者的攻击,导致部分密文密钥分片损坏或者丢失而无法获取时,只要保证分布式存储网络中有t个正确的密文密钥分片,就能恢复出密文密钥,从而提高了容错性。
S204、将n个密文密钥分片存储于分布式存储网络中,并更新密钥索引。
可以将n个密文密钥分片存储于分布式存储网络中不同的网络节点中,也可以将n个密文密钥分片中的部分分片存储于分布式存储网络中同一个网络节点中。在对分片进行存储之后,根据各个密文密钥分片的存储地址,确定有无标识与存储地址之间的映射关系,对密钥索引进行更新。
本实施例提供的方法中,通过采用(t,n)门限算法对密文密钥进行分片并对密文密钥分片进行分布式存储,提高了安全性和容错性。
在上述任一实施例的基础上,还可以通过访问控制过滤非法访问,以进一步提高安全性。在一种可选的实施方式中,密钥请求还可以包括请求端的身份标识和/或至少一个签名信息,则在根据业务标识,从分布式存储网络中获取与业务标识对应的多个密文密钥分片之前,密钥管理方法还可以包括:根据身份标识进行身份鉴权,和/或,根据签名信息进行签名验证。
本发明实施例还提供一种密钥管理设备,请参见图5所示,本发明实施例仅以图5为例进行说明,并不表示本发明仅限于此。图5为一种实施例的密钥管理设备的结构示意图。如图5所示,本实施例提供的密钥管理设备50可以包括:存储器501、处理器502和总线503。其中,总线503用于实现各元件之间的连接。
存储器501中存储有计算机程序,计算机程序被处理器502执行时可以实现上述任一方法实施例的技术方案。
其中,存储器501和处理器502之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可以通过一条或者多条通信总线或信号线实现电性连接,如可以通过总线503连接。存储器501中存储有实现密钥管理方法的计算机程序,包括至少一个可以软件或固件的形式存储于存储器501中的软件功能模块,处理器502通过运行存储在存储器501内的软件程序以及模块,从而执行各种功能应用以及数据处理。
存储器501可以是,但不限于,随机存取存储器(Random Access Memory,简称:RAM),只读存储器(Read Only Memory,简称:ROM),可编程只读存储器(ProgrammableRead-Only Memory,简称:PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,简称:EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,简称:EEPROM)等。其中,存储器501用于存储程序,处理器502在接收到执行指令后,执行程序。进一步地,上述存储器501内的软件程序以及模块还可包括操作系统,其可包括各种用于管理系统任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通信,从而提供其他软件组件的运行环境。
处理器502可以是一种集成电路芯片,具有信号的处理能力。上述的处理器502可以是通用处理器,包括中央处理器(Central Processing Unit,简称:CPU)、网络处理器(Network Processor,简称:NP)等。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。可以理解,图5的结构仅为示意,还可以包括比图5中所示更多或者更少的组件,或者具有与图5所示不同的配置。图5中所示的各组件可以采用硬件和/或软件实现。
需要说明的是本实施例提供的密钥管理设备既可以是用户侧设备,也可以是网络侧设备。用户侧设备包括但不限于计算机、智能手机、平板电脑、消息收发设备、个人数字助理等。网络侧设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机组成的一个超级虚拟计算机。
本实施例提供的密钥管理设备可用于执行上述任一方法实施例对应的技术方案,其实现原理和技术效果类似,此处不再赘述。
本文参照了各种示范实施例进行说明。然而,本领域的技术人员将认识到,在不脱离本文范围的情况下,可以对示范性实施例做出改变和修正。例如,各种操作步骤以及用于执行操作步骤的组件,可以根据特定的应用或考虑与系统的操作相关联的任何数量的成本函数以不同的方式实现(例如一个或多个步骤可以被删除、修改或结合到其他步骤中)。
另外,如本领域技术人员所理解的,本文的原理可以反映在计算机可读存储介质上的计算机程序产品中,该可读存储介质预装有计算机可读程序代码。任何有形的、非暂时性的计算机可读存储介质皆可被使用,包括磁存储设备(硬盘、软盘等)、光学存储设备(CD-ROM、DVD、Blu Ray盘等)、闪存和/或诸如此类。这些计算机程序指令可被加载到通用计算机、专用计算机或其他可编程数据处理设备上以形成机器,使得这些在计算机上或其他可编程数据处理装置上执行的指令可以生成实现指定的功能的装置。这些计算机程序指令也可以存储在计算机可读存储器中,该计算机可读存储器可以指示计算机或其他可编程数据处理设备以特定的方式运行,这样存储在计算机可读存储器中的指令就可以形成一件制造品,包括实现指定功能的实现装置。计算机程序指令也可以加载到计算机或其他可编程数据处理设备上,从而在计算机或其他可编程设备上执行一系列操作步骤以产生一个计算机实现的进程,使得在计算机或其他可编程设备上执行的指令可以提供用于实现指定功能的步骤。
虽然在各种实施例中已经示出了本文的原理,但是许多特别适用于特定环境和操作要求的结构、布置、比例、元件、材料和部件的修改可以在不脱离本披露的原则和范围内使用。以上修改和其他改变或修正将被包含在本文的范围之内。
前述具体说明已参照各种实施例进行了描述。然而,本领域技术人员将认识到,可以在不脱离本披露的范围的情况下进行各种修正和改变。因此,对于本披露的考虑将是说明性的而非限制性的意义上的,并且所有这些修改都将被包含在其范围内。同样,有关于各种实施例的优点、其他优点和问题的解决方案已如上所述。然而,益处、优点、问题的解决方案以及任何能产生这些的要素,或使其变得更明确的解决方案都不应被解释为关键的、必需的或必要的。本文中所用的术语“包括”和其任何其他变体,皆属于非排他性包含,这样包括要素列表的过程、方法、文章或设备不仅包括这些要素,还包括未明确列出的或不属于该过程、方法、系统、文章或设备的其他要素。此外,本文中所使用的术语“耦合”和其任何其他变体都是指物理连接、电连接、磁连接、光连接、通信连接、功能连接和/或任何其他连接。
以上应用了具体个例对本发明进行阐述,只是用于帮助理解本发明,并不用以限制本发明。对于本发明所属技术领域的技术人员,依据本发明的思想,还可以做出若干简单推演、变形或替换。

Claims (10)

1.一种密钥管理方法,其特征在于,包括:
接收密钥请求,所述密钥请求包括请求端的公钥和所请求业务密钥的业务标识;
根据所述业务标识,从分布式存储网络中获取与所述业务标识对应的多个密文密钥分片;
根据多个所述密文密钥分片确定与所述业务标识对应的密文密钥,所述密文密钥基于根密钥的公钥加密;
采用重加密密钥,对所述密文密钥进行重加密,所述重加密密钥是在可信执行环境中根据根密钥的私钥和所述请求端的公钥确定,所述根密钥的私钥存储于所述可信执行环境中;
将重加密后的密文密钥发送至请求端,以使请求端根据请求端的私钥对重加密后的密文密钥进行解密,获取所请求的业务密钥。
2.如权利要求1所述的方法,其特征在于,所述根据所述业务标识,从分布式存储网络中获取与所述业务标识对应的多个密文密钥分片,包括:
根据所述业务标识,通过密钥索引获取存储地址,所述密钥索引包括业务标识和与业务标识对应的密文密钥分片在分布式存储网络中的存储地址之间的映射关系;
根据所述存储地址,从分布式存储网络中获取与所述业务标识对应的多个密文密钥分片。
3.如权利要求2所述的方法,其特征在于,若所述密钥索引中不包括所述业务标识,则所述通过密钥索引获取存储地址之前,所述方法还包括:
通过密钥生成函数生成与所述业务标识对应的业务密钥;
采用根密钥的公钥对所述业务密钥进行加密,得到相应的密文密钥;
使用(t,n)门限算法将所述密文密钥分为n个密文密钥分片;
将n个所述密文密钥分片存储于所述分布式存储网络中,并更新所述密钥索引。
4.如权利要求1所述的方法,其特征在于,所述分布式存储网络基于分布式哈希表构建。
5.如权利要求1所述的方法,其特征在于,所述采用重加密密钥,对所述密文密钥进行重加密之后,所述方法还包括:
销毁所述重加密密钥。
6.如权利要求1-5中任一项所述的方法,其特征在于,所述密钥请求还包括请求端的身份标识和/或至少一个签名信息;所述根据所述业务标识,从分布式存储网络中获取与所述业务标识对应的多个密文密钥分片之前,所述方法还包括:根据所述身份标识进行身份鉴权,和/或,根据所述签名信息进行签名验证。
7.一种密钥管理系统,其特征在于,包括:核心系统模块、TEE模块和存储模块;
所述TEE模块用于存储根密钥的私钥,并根据所述根密钥的私钥和请求端的公钥确定重加密密钥;
所述存储模块包括分布式存储网络,用于存储密文密钥分片;
所述核心系统模块用于,
根据请求端所请求业务密钥的业务标识,从所述存储模块中获取与所述业务标识对应的多个密文密钥分片;
根据多个所述密文密钥分片确定与所述业务标识对应的密文密钥;
采用所述TEE模块确定的重加密密钥对所述密文密钥进行重加密。
8.如权利要求7所述的系统,其特征在于,所述核心系统模块还用于:
通过密钥生成函数生成业务密钥;
采用根密钥的公钥对所述业务密钥进行加密,得到相应的密文密钥;
使用(t,n)门限算法将所述密文密钥分为n个密文密钥分片;
将n个所述密文密钥分片存储于所述存储模块中。
9.一种密钥管理设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1-6任一项所述的密钥管理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-6任一项所述的密钥管理方法。
CN202010051280.4A 2020-01-17 2020-01-17 密钥管理方法、系统及设备 Active CN111245597B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010051280.4A CN111245597B (zh) 2020-01-17 2020-01-17 密钥管理方法、系统及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010051280.4A CN111245597B (zh) 2020-01-17 2020-01-17 密钥管理方法、系统及设备

Publications (2)

Publication Number Publication Date
CN111245597A true CN111245597A (zh) 2020-06-05
CN111245597B CN111245597B (zh) 2023-09-15

Family

ID=70878599

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010051280.4A Active CN111245597B (zh) 2020-01-17 2020-01-17 密钥管理方法、系统及设备

Country Status (1)

Country Link
CN (1) CN111245597B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112073194A (zh) * 2020-09-10 2020-12-11 四川长虹电器股份有限公司 一种抵抗密钥泄露的安全管理方法
CN112084525A (zh) * 2020-10-23 2020-12-15 北京东方通科技股份有限公司 一种分布式密钥加密方法、装置、电子设备和存储介质
CN112235260A (zh) * 2020-09-25 2021-01-15 建信金融科技有限责任公司 一种匿名数据存证方法、装置、设备和存储介质
CN112272174A (zh) * 2020-10-22 2021-01-26 北京海泰方圆科技股份有限公司 加密数据传输方法、装置、设备及计算机存储介质
CN112565281A (zh) * 2020-12-09 2021-03-26 北京深思数盾科技股份有限公司 业务密钥的信息处理方法、服务端及系统
CN112637156A (zh) * 2020-12-14 2021-04-09 卓尔智联(武汉)研究院有限公司 密钥分配方法、装置、计算机设备和存储介质
CN113179240A (zh) * 2020-09-28 2021-07-27 深圳华智融科技股份有限公司 密钥保护方法、装置、设备及存储介质
CN114553510A (zh) * 2022-02-14 2022-05-27 重庆长安汽车股份有限公司 一种业务密钥分发系统、方法及可读存储介质
CN114567647A (zh) * 2022-02-28 2022-05-31 浪潮云信息技术股份公司 一种基于ipfs的分布式云文件存储方法及系统
CN114791834A (zh) * 2022-02-25 2022-07-26 数字广东网络建设有限公司 一种应用程序的启动方法、装置、电子设备及存储介质
CN114791834B (zh) * 2022-02-25 2024-04-26 数字广东网络建设有限公司 一种应用程序的启动方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150222423A1 (en) * 2012-09-04 2015-08-06 Morpho Protection against side channels
CN105227566A (zh) * 2015-10-16 2016-01-06 中国联合网络通信集团有限公司 密钥处理方法、密钥处理装置及密钥处理系统
US20170373835A1 (en) * 2016-06-24 2017-12-28 NTT Innovation Institute 1 LLC Key management system and method
CN107786328A (zh) * 2017-09-01 2018-03-09 深圳市金立通信设备有限公司 一种生成密钥的方法、服务节点设备及计算机可读介质
CN109842506A (zh) * 2017-11-27 2019-06-04 财付通支付科技有限公司 密钥管理系统容灾处理方法、装置、系统和存储介质
CN110401689A (zh) * 2018-11-23 2019-11-01 腾讯科技(深圳)有限公司 文件管理方法、装置及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150222423A1 (en) * 2012-09-04 2015-08-06 Morpho Protection against side channels
CN105227566A (zh) * 2015-10-16 2016-01-06 中国联合网络通信集团有限公司 密钥处理方法、密钥处理装置及密钥处理系统
US20170373835A1 (en) * 2016-06-24 2017-12-28 NTT Innovation Institute 1 LLC Key management system and method
CN107786328A (zh) * 2017-09-01 2018-03-09 深圳市金立通信设备有限公司 一种生成密钥的方法、服务节点设备及计算机可读介质
CN109842506A (zh) * 2017-11-27 2019-06-04 财付通支付科技有限公司 密钥管理系统容灾处理方法、装置、系统和存储介质
CN110401689A (zh) * 2018-11-23 2019-11-01 腾讯科技(深圳)有限公司 文件管理方法、装置及存储介质

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112073194B (zh) * 2020-09-10 2021-06-22 四川长虹电器股份有限公司 一种抵抗密钥泄露的安全管理方法
CN112073194A (zh) * 2020-09-10 2020-12-11 四川长虹电器股份有限公司 一种抵抗密钥泄露的安全管理方法
CN112235260A (zh) * 2020-09-25 2021-01-15 建信金融科技有限责任公司 一种匿名数据存证方法、装置、设备和存储介质
CN113179240A (zh) * 2020-09-28 2021-07-27 深圳华智融科技股份有限公司 密钥保护方法、装置、设备及存储介质
CN112272174A (zh) * 2020-10-22 2021-01-26 北京海泰方圆科技股份有限公司 加密数据传输方法、装置、设备及计算机存储介质
CN112084525A (zh) * 2020-10-23 2020-12-15 北京东方通科技股份有限公司 一种分布式密钥加密方法、装置、电子设备和存储介质
CN112565281A (zh) * 2020-12-09 2021-03-26 北京深思数盾科技股份有限公司 业务密钥的信息处理方法、服务端及系统
CN112565281B (zh) * 2020-12-09 2021-09-17 北京深思数盾科技股份有限公司 业务密钥的信息处理方法、服务端及系统
CN112637156A (zh) * 2020-12-14 2021-04-09 卓尔智联(武汉)研究院有限公司 密钥分配方法、装置、计算机设备和存储介质
CN112637156B (zh) * 2020-12-14 2022-08-02 卓尔智联(武汉)研究院有限公司 密钥分配方法、装置、计算机设备和存储介质
CN114553510A (zh) * 2022-02-14 2022-05-27 重庆长安汽车股份有限公司 一种业务密钥分发系统、方法及可读存储介质
CN114791834A (zh) * 2022-02-25 2022-07-26 数字广东网络建设有限公司 一种应用程序的启动方法、装置、电子设备及存储介质
CN114791834B (zh) * 2022-02-25 2024-04-26 数字广东网络建设有限公司 一种应用程序的启动方法、装置、电子设备及存储介质
CN114567647A (zh) * 2022-02-28 2022-05-31 浪潮云信息技术股份公司 一种基于ipfs的分布式云文件存储方法及系统

Also Published As

Publication number Publication date
CN111245597B (zh) 2023-09-15

Similar Documents

Publication Publication Date Title
CN111245597B (zh) 密钥管理方法、系统及设备
CN111066286B (zh) 使用高可用性的可信执行环境检索区块链网络的公共数据
CN110336774B (zh) 混合加密解密方法、设备及系统
Michalas The lord of the shares: Combining attribute-based encryption and searchable encryption for flexible data sharing
JP6665113B2 (ja) 継続的な所有者アクセスを伴う、暗号化された仮想マシンの安全なトランスポート
US9219722B2 (en) Unclonable ID based chip-to-chip communication
JP2020528224A (ja) 信頼できる実行環境におけるスマート契約動作のセキュアな実行
CN110264200B (zh) 区块链数据处理方法及装置
US10880100B2 (en) Apparatus and method for certificate enrollment
US9531540B2 (en) Secure token-based signature schemes using look-up tables
CN112988764B (zh) 数据存储方法、装置、设备和存储介质
US11831753B2 (en) Secure distributed key management system
US10601590B1 (en) Secure secrets in hardware security module for use by protected function in trusted execution environment
CN107294710B (zh) 一种vTPM2.0的密钥迁移方法及装置
CN110661748B (zh) 一种日志的加密方法、解密方法及装置
CN102821098A (zh) 云环境下即时通讯消息自溶解系统及方法
CN117240625A (zh) 一种涉及防篡改的数据处理方法、装置及电子设备
CN112491933A (zh) 一种局域网加密通信方法和存储介质
CN117155549A (zh) 密钥分发方法、装置、计算机设备和存储介质
CN111949996A (zh) 安全私钥的生成方法、加密方法、系统、设备及介质
JP5513255B2 (ja) 代理署名システム、方法
Kumar et al. Hash based approach for providing privacy and integrity in cloud data storage using digital signatures
CN113034140A (zh) 实现智能合约加密的方法、系统、设备及存储介质
CN110708155A (zh) 版权信息保护方法、系统、确权方法、装置、设备和介质
JP2013179473A (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