CN117527222A - 密钥管理方法、装置、系统、服务节点和可读存储介质 - Google Patents
密钥管理方法、装置、系统、服务节点和可读存储介质 Download PDFInfo
- Publication number
- CN117527222A CN117527222A CN202311605307.XA CN202311605307A CN117527222A CN 117527222 A CN117527222 A CN 117527222A CN 202311605307 A CN202311605307 A CN 202311605307A CN 117527222 A CN117527222 A CN 117527222A
- Authority
- CN
- China
- Prior art keywords
- key
- information
- target
- service node
- kms
- 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.)
- Pending
Links
- 238000007726 management method Methods 0.000 title claims abstract description 68
- 238000000034 method Methods 0.000 claims abstract description 57
- 230000008569 process Effects 0.000 claims abstract description 32
- 238000012545 processing Methods 0.000 claims abstract description 22
- 230000006378 damage Effects 0.000 claims description 9
- 230000003993 interaction Effects 0.000 abstract description 15
- 230000006870 function Effects 0.000 description 7
- 230000002452 interceptive effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000009795 derivation Methods 0.000 description 4
- 230000002829 reductive effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000005336 cracking Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供一种密钥管理方法、装置、系统、服务节点和可读存储介质,涉及信息安全领域。应用于密钥管理系统KMS的方法包括:接收服务节点发送的请求信息;所述请求信息中携带有第一信息或第二信息;所述第一信息包括用户名和算法类型;所述第二信息包括用户名和密钥句柄;根据所述请求信息,执行生成密钥、提供密钥或销毁密钥的处理流程。本申请的方案,在执行生成密钥、提供密钥或销毁密钥的处理流程,不需要传递用户名和口令,避免了被攻击者截获用户名口令的风险,提高了密钥交互流程的安全性。
Description
技术领域
本申请涉及信息安全领域,特别是指一种密钥管理方法、装置、系统、服务节点和可读存储介质。
背景技术
现有技术的密钥管理技术方案一般是由密钥管理系统(Key Management System,KMS)为各个服务节点生成密钥,并负责密钥的存储、分发、备份、恢复、归档、销毁等整个生命周期。服务节点与KMS之间交互处理过程,如生成密钥、提供密钥或销毁密钥的处理流程中,存在如下缺点:
(1)、需要传递用户名和口令,才能确定有无资格使用密钥;
(2)、需要传递完整密钥。
因此,现有技术的密钥管理技术方案中存在敏感信息传递时,只要传递都会增加系统被攻击的风险。
发明内容
本申请的目的是提供一种密钥管理方法、装置、系统、服务节点和可读存储介质,以解决现有技术中服务节点与KMS之间交互处理过程中传递敏感信息带来的安全性差的问题。
为达到上述目的,本申请的实施例提供一种密钥管理方法,应用于密钥管理系统KMS,包括:
接收服务节点发送的请求信息;所述请求信息中携带有第一信息或第二信息;所述第一信息包括用户名和算法类型;所述第二信息包括用户名和密钥句柄;
根据所述请求信息,执行生成密钥、提供密钥或销毁密钥的处理流程。
可选地,根据所述请求信息,执行生成密钥的处理流程,包括:
根据所述请求信息中携带的所述第一信息,确定所述算法类型所对应的密钥长度;
根据所述密钥长度,确定一个长度大于所述密钥长度的大素数;
根据所述大素数,确定一个伽罗华域;
在所述伽罗华域上生成为第一长度的第一随机数;所述第一随机数表示与所述密钥长度的长度相同的目标密钥;
根据所述伽罗华域,生成第二随机数;
根据所述大素数、所述第一随机数和所述第二随机数,构建目标多项式;
在所述目标多项式上选取基础点;
将所述基础点和所述大素数发送至所述服务节点。
可选地,根据所述请求信息,执行提供密钥的处理流程,包括:
根据所述请求信息中携带的所述第二信息和所述目标多项式,确定第一控制点,并向所述服务节点发送所述第一控制点;所述第一控制点用于所述服务节点解析所述目标密钥。
可选地,根据所述请求信息,执行销毁密钥的处理流程,包括:
根据所述请求信息中携带的所述第二信息和所述目标多项式,确定第二控制点;所述第二控制点用于所述服务节点解析所述目标密钥;
确定目标挑战随机数;所述目标挑战随机数用于所述服务节点确定第一密文所用;
向所述服务节点发送所述第二控制点和所述目标挑战随机数;
接收所述服务节点发送的第一密文;
确定所述目标密钥,并根据所述目标密钥和所述目标挑战随机数,确定第二密文;
对比所述第一密文和所述第二密文的一致性;
若所述第一密文和所述第二密文相同,则执行销毁所述第二信息所携带的密钥句柄,并向所述服务节点发送同意销毁密钥反馈信息;
若所述第一密文和所述第二密文不相同,则拒绝销毁所述第二信息所携带的密钥句柄,并向所述服务节点发送拒绝销毁密钥反馈信息。
可选地,根据所述大素数、所述第一随机数和所述第二随机数,构建目标多项式,包括:
将所述第二随机数作为一次项系数,所述大素数进行模运算的值与所述第一随机数两者之积作为常数项,构建一元一次方程作为所述目标多项式。
为达到上述目的,本申请的实施例还提供一种密钥管理方法,应用于服务节点,包括:
向密钥管理系统KMS发送请求信息;所述请求信息中携带有第一信息或第二信息;所述第一信息包括用户名和算法类型;所述第二信息包括用户名和密钥句柄。
可选地,向密钥管理系统KMS发送请求信息后,所述方法还包括:
接收所述KMS发送的基础点和大素数;所述大素数为所述KMS根据密钥长度确定的;所述基础点为根据目标多项式确定的;所述目标多项式为所述KMS根据所述大素数、伽罗华域生成的第一随机数和第二随机数构建的;所述第一随机数表示与所述密钥长度的长度相同的目标密钥。
可选地,向密钥管理系统KMS发送请求信息后,所述方法还包括:
接收所述KMS发送的第一控制点;
根据所述大素数、所述第一控制点和所述基础点,确定所述目标密钥。
可选地,向密钥管理系统KMS发送请求信息后,所述方法还包括:
接收所述KMS发送的第二控制点和目标挑战随机数;所述第二控制点用于所述服务节点解析所述目标密钥;
根据所述目标密钥和所述目标挑战随机数,确定第一密文,并将所述第一密文发送至所述KMS;
接收所述KMS发送的反馈信息;所述反馈信息包括:同意销毁密钥反馈信息或者拒绝销毁密钥反馈信息。
可选地,根据所述大素数、所述第一控制点和所述基础点,确定所述目标密钥,包括:
按照目标公式,确定所述目标密钥,所述目标公式表示为:
其中,a0表示所述目标密钥;(x1,y1)表示所述基础点的坐标;(x2,y2)表示所述第一控制点的坐标;p表示所述大素数;modp表示对所述大素数进行模运算。
为达到上述目的,本申请的实施例还提供一种密钥管理装置,应用于密钥管理系统KMS,包括:
第一接收模块,用于接收服务节点发送的请求信息;所述请求信息中携带有第一信息或第二信息;所述第一信息包括用户名和算法类型;所述第二信息包括用户名和密钥句柄;
第一处理模块,用于根据所述请求信息,执行生成密钥、提供密钥或销毁密钥的处理流程。
为达到上述目的,本申请的实施例还提供一种密钥管理装置,应用于服务节点,包括:
第一发送模块,用于向密钥管理系统KMS发送请求信息;所述请求信息中携带有第一信息或第二信息;所述第一信息包括用户名和算法类型;所述第二信息包括用户名和密钥句柄。
为达到上述目的,本申请的实施例还提供一种可读存储介质,其上存储有程序或指令,所述程序或指令被处理器执行时实现如上所述的密钥管理方法中的步骤。
本申请的上述技术方案的有益效果如下:
本申请实施例的应用于密钥管理系统KMS的方法包括:接收服务节点发送的请求信息;请求信息中携带有第一信息或第二信息;第一信息包括用户名和算法类型;第二信息包括用户名和密钥句柄;根据请求信息,执行生成密钥、提供密钥或销毁密钥的处理流程,也就是,本申请在执行生成密钥、提供密钥或销毁密钥的处理流程中,不需要传递用户名和口令,避免了被攻击者截获用户名口令的风险,提高了密钥交互流程的安全性。
附图说明
图1为本申请实施例的应用于密钥管理系统的密钥管理方法的流程图;
图2为本申请实施例的应用于服务节点的密钥管理方法的流程图;
图3为本申请实施例提供的服务节点和密钥管理系统之间交互的生成密钥的流程示意图;
图4为本申请实施例提供的服务节点和密钥管理系统之间交互的使用密钥的流程示意图;
图5为本申请实施例提供的服务节点和密钥管理系统之间交互的销毁密钥的流程示意图;
图6为本申请实施例的应用于密钥管理系统的密钥管理装置的结构图;
图7为本申请实施例的应用于服务节点的密钥管理装置的结构图;
具体实施方式
为使本申请要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本申请的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
如图1所示,本申请实施例的一种密钥管理方法,应用于密钥管理系统(KeyManagement System,KMS),包括:
步骤11,接收服务节点发送的请求信息;所述请求信息中携带有第一信息或第二信息;所述第一信息包括用户名和算法类型;所述第二信息包括用户名和密钥句柄。这里,密钥句柄用于向KMS申请实用密钥或者销毁密钥。
步骤12,根据所述请求信息,执行生成密钥、提供密钥或销毁密钥的处理流程。
本申请实施例中,通过接收服务节点向KMS发送请求信息,该请求信息分为两种情况,情况一:携带有第一信息,通过第一信息中的用户名(如用户识别码ID等)和算法类型,执行生成密钥的处理流程,在该生成密钥的处理流程中,服务节点用于申请密钥,KMS执行生成密钥,这个过程中,仅需要服务节点提供用户名和算法类型,不需要提供传递口令,避免了被攻击者截获用户名口令的风险,提高了密钥交互流程的安全性。情况二:携带有第二信息,根据该第二信息的使用目的,确定服务节点是根据用户名和密钥句柄,执行使用密钥或执行销毁密钥的流程,同样的,上述流程也不需要提供传递口令,提高了密钥交互流程的安全性。
需要说明的是,上述的密钥管理方法应用于工业控制系统,如电力行业的工业控制系统等。例如,上述的服务节点可以电力行业的工业控制系统中的主站(如历史站、操作员站、工程师站)、控制器等。
本申请中,传输的第一信息或第二信息中的密钥句柄可以为非完整密钥,因此,本申请可以只是传递密钥的部分碎片,攻击者即便截获了通信内容,也无法获知密钥。
可选地,上述的步骤12中,根据所述请求信息,执行生成密钥的处理流程,包括:
根据所述请求信息中携带的所述第一信息,确定所述算法类型所对应的密钥长度。
本申请实施例中,根据第一信息中的算法类型,可以确定密钥长度。示例的,可以通过第一信息中携带的标识信息确定算法类型,根据该算法类型确定算法传入数据,如,算法传入数据的数据结构为:密钥索引+算法标识+算法模式+密钥长度+向量长度+向量+保护密钥索引+传入密钥,因此,可以通过算法类型确定密钥长度。这里,该算法类型包括但不限于:3DES算法、AES算法等。需要说明的是,在密码学中,在密钥长度越长的情况下,暴力破解的时间就越长。
根据所述密钥长度,确定一个长度大于所述密钥长度的大素数p;
根据所述大素数p,确定一个伽罗华域GF(p);
在所述伽罗华域上生成为第一长度L2的第一随机数a0;所述第一随机数a0表示与所述密钥长度的长度相同的目标密钥。密钥长度的长度可以表示为第一随机数a0的第一长度L2与密钥长度的长度L1相同,该第一随机数a0表示目标密钥。
根据所述伽罗华域,生成第二随机数a1;
根据所述大素数p、所述第一随机数a0和所述第二随机数a1,构建目标多项式;
在所述目标多项式上选取基础点(x1,y1);
将所述基础点(x1,y1)和所述大素数p发送至所述服务节点。
需要说明的是,伽罗华域(Galois Fields,GF),也称之为有限域。本申请实施例基于一个完备的代数系统,第一随机数a0为该代数系统中的一个元素,可能会出错,因此,只有确定大素数p的长度大于密钥长度的长度L1,可以做到逻辑自洽,避开代数系统上漏洞产生。本申请实施例中,将基础点(x1,y1)和大素数p发送至服务节点,服务节点可以根据该基础点(x1,y1)和该大素数p发起后续使用密钥或销毁密钥的流程,可以避免使用传递口令,提高了密钥交互流程的安全性。
可选地,KMS还可以进行密钥长度合法性的判断:
判断密钥长度是否超过第一预设长度,如果是,报错结束,否则,执行判断密钥长度是否为第二预设长度或第二预设长度的整数倍,如果是,则执行确定一个长度大于所述密钥长度的大素数的步骤,否则,报错结束。
示例的,第一预设长度为32个字节,第二预设长度为8个字节,判断密钥长度是否合法具体为:终端判断密钥长度是否为8个字节、16个字节、24个字节或32个字节,如果是,执行确定一个长度大于所述密钥长度的大素数的步骤,否则,报错结束。
具体地,根据所述大素数、所述第一随机数和所述第二随机数,构建目标多项式,包括:
将所述第二随机数作为一次项系数,所述大素数进行模运算的值与所述第一随机数两者之积作为常数项,构建一元一次方程作为所述目标多项式。
本申请实施例中,目标多项式通过公式1表示。
y=a1x+a0modp,公式1;
其中,a1表示第二随机数;a0表示第一随机数;p表示大素数;modp表示对大素数p进行模运算。根据该公式可以得出,x∈GF(p),y∈GF(p),a0∈GF(p),a1∈GF(p)。
本申请采用上述公式1,可以不需要传递用户名、口令、密钥,降低了服务节点和KMS交互之间的风险。
可选地,上述的步骤12中,根据所述请求信息,执行提供密钥的处理流程,包括:
根据所述请求信息中携带的所述第二信息和所述目标多项式,确定第一控制点,并向所述服务节点发送所述第一控制点;所述第一控制点用于所述服务节点解析所述目标密钥。
本申请实施例中,在服务节点向KMS发送的请求信息中携带有第二信息时,也就是,服务节点通过第二信息提供密钥句柄和用户名,向KMS申请控制点,KMS根据第二信息在目标多项式上任意取点作为第一控制点(x2,y2),并将第一控制点(x2,y2)发送至服务节点。相应的,服务节点可以根据第一控制点(x2,y2)和基础点(x1,y1),确定目标密钥。
需要说明的是,第一控制点(x2,y2)和基础点(x1,y1)为不同的点,由于一般的算法其密钥长度都是128bit或者更长,因此,点空间规模是个天文数字,对于一个使用中的密钥管理系统而言,在其使用生命周期内可以认为拥有无限点资源。
可选地,上述的步骤12中,根据所述请求信息,执行销毁密钥的处理流程,包括:
根据所述请求信息中携带的所述第二信息和所述目标多项式,确定第二控制点;所述第二控制点用于所述服务节点解析所述目标密钥;
确定目标挑战随机数;所述目标挑战随机数用于所述服务节点确定第一密文所用;
向所述服务节点发送所述第二控制点和所述目标挑战随机数;
接收所述服务节点发送的第一密文;
确定所述目标密钥,并根据所述目标密钥和所述目标挑战随机数,确定第二密文;
对比所述第一密文和所述第二密文的一致性;
若所述第一密文和所述第二密文相同,则执行销毁所述第二信息所携带的密钥句柄,并向所述服务节点发送同意销毁密钥反馈信息;
若所述第一密文和所述第二密文不相同,则拒绝销毁所述第二信息所携带的密钥句柄,并向所述服务节点发送拒绝销毁密钥反馈信息。
本申请实施例中,服务节点通过第二信息提供密钥句柄和用户名,KMS根据第二信息在目标多项式上任意取点作为第二控制点(x3,y3),并将第二控制点(x3,y3)发送至服务节点。这里,第二控制点(x3,y3)和上述的第一控制点(x2,y2)可以认为是不同的,但都是用于服务节点用于解析目标密钥a0的作用。KM S确定一个目标挑战随机数c,并将该目标挑战随机数c发送至服务节点;该目标挑战随机数c用于服务节点确定第一密文s所用。本申请在接收服务节点发送的第一密文s后,KMS也同样计算出目标密钥a0后,根据目标密钥a0和目标挑战随机数c生成第二密文s′,并比较s′和s的异同,如果相同,则销毁第二信息提供的密钥句柄对应的密钥,并把命令执行结果反馈给节点;如果s′和s不同,则拒绝销毁密钥,并把命令执行结果反馈给节点。
本申请提供的另一可选实现方式中,为了目标秘钥的安全性,服务节点将目标秘钥加密存储在KMS中,获取KMS发送的种子密钥和秘钥导出函数,该种子密钥通过基础点(x1,y1)和大素数p确定,该种子秘钥为第一字符长度的字符串,秘钥导出函数为现有的PBKDF2函数,其它秘钥导出函数也适用于本方案,此处对秘钥导出函数不做具体限定。利用秘钥导出函数基于种子秘钥迭代生成第一秘钥组,该第一秘钥组包括多个本地主密钥,其中,第一秘钥组的各本地主密钥的字符长度一致,均为第二字符长度;第一字符长度可以为变化的,如:第一秘钥组A对应的种子秘钥为96位字符串,第一秘钥组B对应的种子秘钥为64位字符串;通过个性化设置第一字符长度,可以增强种子秘钥的安全性,进而保证服务节点的安全性;第二字符长度为固定长度,可以降低服务节点对目标秘钥进行加密/解密的执行错误率,保证交互过程中验证的成功率。
利用第一秘钥组的多个本地主密钥对其一目标秘钥在KMS系统进行轮替加密,从而提高本地主密钥(LMK)安全性;通过为每一个存储在KMS系统的目标秘钥配置多个本地主密钥进行轮替加密,大大减小了服务节点被攻破的风险。
综上所述,本申请在执行生成密钥、提供密钥或销毁密钥的处理流程中,不需要传递用户名和口令,避免了被攻击者截获用户名口令的风险,提高了密钥交互流程的安全性。
参照图2所示,本申请实施例还提供一种密钥管理方法,应用于服务节点,包括:
步骤21,向密钥管理系统KMS发送请求信息;所述请求信息中携带有第一信息或第二信息;所述第一信息包括用户名和算法类型;所述第二信息包括用户名和密钥句柄。
本申请实施例中,通过向密钥管理系统KMS发送的请求信息中携带第一信息或第二信息,执行利用KMS生成密钥、使用密钥或利用KMS销毁密钥的处理流程,在任意一个流程中,不需要传递口令,避免了被攻击者截获用户名口令的风险,提高了密钥交互流程的安全性。本申请中,传输的第一信息或第二信息中的密钥句柄可以为非完整密钥,因此,本申请可以不用传递完整的密钥,而只是传递密钥的部分碎片,攻击者即便截获了通信内容,也无法获知密钥。
可选地,在上述步骤21后,本申请的密钥管理方法还包括:
接收所述KMS发送的基础点和大素数;所述大素数为所述KMS根据密钥长度确定的;所述基础点为根据目标多项式确定的;所述目标多项式为所述KMS根据所述大素数、伽罗华域生成的第一随机数和第二随机数构建的;所述第一随机数表示与所述密钥长度的长度相同的目标密钥。
本申请实施例中,在执行利用KMS生成密钥流程中,服务节点向KMS发送的请求信息中携带为第一信息;KMS根据第一信息中的用户名和算法类型,确定出基础点(x1,y1)和大素数p,该服务节点可以根据基础点(x1,y1)和大素数p,确定对应的目标密钥。
可选地,在上述步骤21后,本申请的密钥管理方法还包括:
接收所述KMS发送的第一控制点;
根据所述大素数、所述第一控制点和所述基础点,确定所述目标密钥。
本申请实施例中,在使用密钥流程中,接收KMS发送的第一控制点(x2,y2),并通过之前接收的基础点(x1,y1)和大素数p,可以进行解析目标密钥,本申请通过KMS提供一个基础点(x1,y1),以及本申请在执行使用密钥时向KMS申请的第一控制点(x2,y2),可以做到每个密钥的独立性和安全性,也可以提高密钥交互之间的完整性。
具体的,根据所述大素数、所述第一控制点和所述基础点,确定所述目标密钥,包括:
按照目标公式,确定所述目标密钥,所述目标公式表示为:
其中,a0表示所述目标密钥;(x1,y1)表示所述基础点的坐标;(x2,y2)表示所述第一控制点的坐标;p表示所述大素数;modp表示对所述大素数进行模运算。
本申请采用上述目标公式,可以不需要传递用户名、口令、密钥,降低了服务节点和KMS交互之间的风险。另一方面,利用上述的目标公式,加快了破解目标密钥的速度,且提高了解析密钥的准确性。
可选地,在上述步骤21后,本申请的密钥管理方法还包括:
接收所述KMS发送的第二控制点(x2,y2)和目标挑战随机数c;所述第二控制点(x2,y2)用于所述服务节点解析所述目标密钥a0;
根据所述目标密钥a0和所述目标挑战随机数c,确定第一密文s,并将所述第一密文s发送至所述KMS;
接收所述KMS发送的反馈信息;所述反馈信息包括:同意销毁密钥反馈信息或者拒绝销毁密钥反馈信息。
本申请实施例中,服务节点向KMS提供密钥句柄和用户名,相应的,KMS申请销毁密钥。KMS在目标多项式上确认第二控制点(x2,y2),以及KMS自身生成目标挑战随机数c。本申请的服务节点接收第二控制点(x2,y2)和目标挑战随机数c,根据第二控制点(x2,y2)解析计算出目标密钥a0,并使用目标密钥a0加密目标挑战随机数c,得到第一密文s,并将第一密文s发送至KMS。相应的,KMS根据自身生成的第二密文s′,并比较s′和s的异同,如果相同,则销毁第二信息提供的密钥句柄对应的密钥;如果s′和s不同,则拒绝销毁密钥,并把命令执行结果反馈给节点。本申请接收KMS发送的反馈信息,从而得知销毁密钥是否成功,即根据同意销毁密钥反馈信息或者拒绝销毁密钥反馈信息,确定销毁成功或失败。
在出现销毁失败的情况下,还可以重新发起请求信息,以再次尝试执行销毁流程,防止出现临时故障的情况发生。
本申请还提供服务节点和KMS交互的具体实施例。
参照图3所示,本申请提供一种生成密钥的交互流程。具体为:
1)、KMS收到服务节点发送的算法类型之后,即可以知道该算法类型对应的密钥长度,设这个长度为l。
2)、选定一个大于l的大素数p,诱导出一个伽罗华域GF(p)。
3)、在GF(p)上生成一个长度为l的随机数,记作a0,这个a0就是KMS为这个节点生成的目标密钥。
4)、在GF(p)上生成一个随机数,记作a1,构造目标多项式,即y=a1x+a0modp。
5)、在目标多项式上任意取点(x1,y1),这个点(x1,y1)就是基础点,将这个基础点以及大素数p发送给节点。
本申请的服务节点向KMS申请密钥,只需要提供用户名、算法类型,不需要传递口令,KMS向节点返回基础点以及一个大素数,可以利用基础点和大素数解析目标密钥。
参照图4所示,本申请提供一种使用密钥的交互流程。具体为:
1)、服务节点提供密钥句柄和用户名,向KMS申请第一控制点。
2)、KMS在多项式E上任意取点(x2,y2),这个点(x2,y2)就是第一控制点,将第一控制点发送给服务节点。注意第一控制点(x2,y2)要不同于上述的基础点(x1,y1),由于一般的算法其密钥长度都是128bit或者更长,因此,点空间规模是个天文数字,对于一个使用中的密钥管理系统而言,在其使用生命周期内可以认为拥有无限点资源。
3)、服务节点用下面这个公式计算目标密钥a0:
其中,a0表示所述目标密钥;(x1,y1)表示所述基础点的坐标;(x2,y2)表示所述第一控制点的坐标;p表示所述大素数;modp表示对所述大素数进行模运算。这里,服务节点可以根据上述公式确定密钥a0。
参照图5所示,本申请提供一种销毁密钥的交互流程。具体为:
1)、服务节点提供密钥句柄和用户名,向KMS申请销毁密钥。
2)、KMS在目标多项式E上任意取点(x2,y2),这个点(x2,y2)就是第二控制点,将第二控制点发送给服务节点。
3)、KMS生成一个目标挑战随机数c,并将c发送给服务节点。
4)、节点计算出目标密钥a0后,使用目标密钥a0加密c得到第一密文s,并将一密文s作为应答发给KMS。
5)、KMS计算出目标密钥a0后,使用目标密钥a0加密c得到第二密文s′,并比较s′和s的异同,如果相同则销毁这个句柄对应的密钥,如果不同则拒绝销毁密钥。在执行完销毁流程后,将执行结果反馈给服务节点。
综上所述,本申请的方法不需要传递用户名和口令,只需要密钥句柄就能够判断这个节点有无权利使用这个密钥。这样就避免了被攻击者截获用户名口令的风险。本申请不会传递完整的密钥,而只是传递密钥的部分碎片,因此攻击者即便截获了通信内容,也无法获知密钥。
参照图6所示,本申请实施例还提供一种密钥管理装置,应用于密钥管理系统KMS,包括:
第一接收模块61,用于接收服务节点发送的请求信息;所述请求信息中携带有第一信息或第二信息;所述第一信息包括用户名和算法类型;所述第二信息包括用户名和密钥句柄;
第一处理模块62,用于根据所述请求信息,执行生成密钥、提供密钥或销毁密钥的处理流程。
本申请实施例中,上述的第一处理模块62,包括:
第一确定单元,用于根据所述请求信息中携带的所述第一信息,确定所述算法类型所对应的密钥长度;
第二确定单元,用于根据所述密钥长度,确定一个长度大于所述密钥长度的大素数;
第三确定单元,用于根据所述大素数,确定一个伽罗华域;
第一处理单元,用于在所述伽罗华域上生成为第一长度的第一随机数;所述第一随机数表示与所述密钥长度的长度相同的目标密钥;
第二处理单元,用于根据所述伽罗华域,生成第二随机数;
构建单元,用于根据所述大素数、所述第一随机数和所述第二随机数,构建目标多项式;
第三处理单元,用于在所述目标多项式上选取基础点;
第一发送单元,用于将所述基础点和所述大素数发送至所述服务节点。
本申请实施例中,上述的第一处理模块62,还包括:
第四处理单元,用于根据所述请求信息中携带的所述第二信息和所述目标多项式,确定第一控制点,并向所述服务节点发送所述第一控制点;所述第一控制点用于所述服务节点解析所述目标密钥。
本申请实施例中,上述的第一处理模块62,还包括:
第四确定单元,用于根据所述请求信息中携带的所述第二信息和所述目标多项式,确定第二控制点;所述第二控制点用于所述服务节点解析所述目标密钥;
第五确定单元,用于确定目标挑战随机数;所述目标挑战随机数用于所述服务节点确定第一密文所用;
第二发送单元,用于向所述服务节点发送所述第二控制点和所述目标挑战随机数;
第一接收单元,用于接收所述服务节点发送的第一密文;
第六确定单元,用于确定所述目标密钥,并根据所述目标密钥和所述目标挑战随机数,确定第二密文;
对比单元,用于对比所述第一密文和所述第二密文的一致性;
第五处理单元,用于若所述第一密文和所述第二密文相同,则执行销毁所述第二信息所携带的密钥句柄,并向所述服务节点发送同意销毁密钥反馈信息;
第六处理单元,用于若所述第一密文和所述第二密文不相同,则拒绝销毁所述第二信息所携带的密钥句柄,并向所述服务节点发送拒绝销毁密钥反馈信息。
可选地,上述的构建单元,具体用于:
将所述第二随机数作为一次项系数,所述大素数进行模运算的值与所述第一随机数两者之积作为常数项,构建一元一次方程作为所述目标多项式。
其中,上述密钥管理方法的所述实现实施例均适用于该密钥管理装置的实施例中,也能达到相同的技术效果。
参照图7所示,本申请实施例还提供一种密钥管理装置,应用于服务节点,包括:
第一发送模块71,用于向密钥管理系统KMS发送请求信息;所述请求信息中携带有第一信息或第二信息;所述第一信息包括用户名和算法类型;所述第二信息包括用户名和密钥句柄。
本申请实施例中,上述的密钥管理装置,还包括:
第二接收模块,用于接收所述KMS发送的基础点和大素数;所述大素数为所述KMS根据密钥长度确定的;所述基础点为根据目标多项式确定的;所述目标多项式为所述KMS根据所述大素数、伽罗华域生成的第一随机数和第二随机数构建的;所述第一随机数表示与所述密钥长度的长度相同的目标密钥。
本申请实施例中,上述的密钥管理装置,还包括:
第三接收模块,用于接收所述KMS发送的第一控制点;
第一确定模块,用于根据所述大素数、所述第一控制点和所述基础点,确定所述目标密钥。
本申请实施例中,上述的密钥管理装置,还包括:
第四接收模块,用于接收所述KMS发送的第二控制点和目标挑战随机数;所述第二控制点用于所述服务节点解析所述目标密钥;
第二确定模块,用于根据所述目标密钥和所述目标挑战随机数,确定第一密文,并将所述第一密文发送至所述KMS;
第五接收模块,用于接收所述KMS发送的反馈信息;所述反馈信息包括:同意销毁密钥反馈信息或者拒绝销毁密钥反馈信息。
可选地,上述的第一确定模块,具体用于:
按照目标公式,确定所述目标密钥,所述目标公式表示为:
其中,a0表示所述目标密钥;(x1,y1)表示所述基础点的坐标;(x2,y2)表示所述第一控制点的坐标;p表示所述大素数;modp表示对所述大素数进行模运算。
其中,上述密钥管理方法的所述实现实施例均适用于该密钥管理装置的实施例中,也能达到相同的技术效果。
本申请实施例的一种可读存储介质,其上存储有程序或指令,所述程序或指令被处理器执行时实现如上所述的密钥管理方法中的步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的密钥管理方法中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
上述范例性实施例是参考该些附图来描述的,许多不同的形式和实施例是可行而不偏离本申请精神及教示,因此,本申请不应被建构成为在此所提出范例性实施例的限制。更确切地说,这些范例性实施例被提供以使得本申请会是完善又完整,且会将本申请范围传达给那些熟知此项技术的人士。在该些图式中,组件尺寸及相对尺寸也许基于清晰起见而被夸大。在此所使用的术语只是基于描述特定范例性实施例目的,并无意成为限制用。如在此所使用地,除非该内文清楚地另有所指,否则该单数形式“一”、“一个”和“该”是意欲将该些多个形式也纳入。会进一步了解到该些术语“包含”及/或“包括”在使用于本说明书时,表示所述特征、整数、步骤、操作、构件及/或组件的存在,但不排除一或更多其它特征、整数、步骤、操作、构件、组件及/或其族群的存在或增加。除非另有所示,陈述时,一值范围包含该范围的上下限及其间的任何子范围。
以上所述是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (13)
1.一种密钥管理方法,其特征在于,应用于密钥管理系统KMS,包括:
接收服务节点发送的请求信息;所述请求信息中携带有第一信息或第二信息;所述第一信息包括用户名和算法类型;所述第二信息包括用户名和密钥句柄;
根据所述请求信息,执行生成密钥、提供密钥或销毁密钥的处理流程。
2.根据权利要求1所述的方法,其特征在于,根据所述请求信息,执行生成密钥的处理流程,包括:
根据所述请求信息中携带的所述第一信息,确定所述算法类型所对应的密钥长度;
根据所述密钥长度,确定一个长度大于所述密钥长度的大素数;
根据所述大素数,确定一个伽罗华域;
在所述伽罗华域上生成为第一长度的第一随机数;所述第一随机数表示与所述密钥长度的长度相同的目标密钥;
根据所述伽罗华域,生成第二随机数;
根据所述大素数、所述第一随机数和所述第二随机数,构建目标多项式;
在所述目标多项式上选取基础点;
将所述基础点和所述大素数发送至所述服务节点。
3.根据权利要求2所述的方法,其特征在于,根据所述请求信息,执行提供密钥的处理流程,包括:
根据所述请求信息中携带的所述第二信息和所述目标多项式,确定第一控制点,并向所述服务节点发送所述第一控制点;所述第一控制点用于所述服务节点解析所述目标密钥。
4.根据权利要求2所述的方法,其特征在于,根据所述请求信息,执行销毁密钥的处理流程,包括:
根据所述请求信息中携带的所述第二信息和所述目标多项式,确定第二控制点;所述第二控制点用于所述服务节点解析所述目标密钥;
确定目标挑战随机数;所述目标挑战随机数用于所述服务节点确定第一密文所用;
向所述服务节点发送所述第二控制点和所述目标挑战随机数;
接收所述服务节点发送的第一密文;
确定所述目标密钥,并根据所述目标密钥和所述目标挑战随机数,确定第二密文;
对比所述第一密文和所述第二密文的一致性;
若所述第一密文和所述第二密文相同,则执行销毁所述第二信息所携带的密钥句柄,并向所述服务节点发送同意销毁密钥反馈信息;
若所述第一密文和所述第二密文不相同,则拒绝销毁所述第二信息所携带的密钥句柄,并向所述服务节点发送拒绝销毁密钥反馈信息。
5.根据权利要求2所述的方法,其特征在于,根据所述大素数、所述第一随机数和所述第二随机数,构建目标多项式,包括:
将所述第二随机数作为一次项系数,所述大素数进行模运算的值与所述第一随机数两者之积作为常数项,构建一元一次方程作为所述目标多项式。
6.一种密钥管理方法,其特征在于,应用于服务节点,包括:
向密钥管理系统KMS发送请求信息;所述请求信息中携带有第一信息或第二信息;所述第一信息包括用户名和算法类型;所述第二信息包括用户名和密钥句柄。
7.根据权利要求6所述的方法,其特征在于,向密钥管理系统KMS发送请求信息后,所述方法还包括:
接收所述KMS发送的基础点和大素数;所述大素数为所述KMS根据密钥长度确定的;所述基础点为根据目标多项式确定的;所述目标多项式为所述KMS根据所述大素数、伽罗华域生成的第一随机数和第二随机数构建的;所述第一随机数表示与所述密钥长度的长度相同的目标密钥。
8.根据权利要求7所述的方法,其特征在于,向密钥管理系统KMS发送请求信息后,所述方法还包括:
接收所述KMS发送的第一控制点;
根据所述大素数、所述第一控制点和所述基础点,确定所述目标密钥。
9.根据权利要求7所述的方法,其特征在于,向密钥管理系统KMS发送请求信息后,所述方法还包括:
接收所述KMS发送的第二控制点和目标挑战随机数;所述第二控制点用于所述服务节点解析所述目标密钥;
根据所述目标密钥和所述目标挑战随机数,确定第一密文,并将所述第一密文发送至所述KMS;
接收所述KMS发送的反馈信息;所述反馈信息包括:同意销毁密钥反馈信息或者拒绝销毁密钥反馈信息。
10.根据权利要求8所述的方法,其特征在于,根据所述大素数、所述第一控制点和所述基础点,确定所述目标密钥,包括:
按照目标公式,确定所述目标密钥,所述目标公式表示为:
其中,a0表示所述目标密钥;(x1,y1)表示所述基础点的坐标;(x2,y2)表示所述第一控制点的坐标;p表示所述大素数;modp表示对所述大素数进行模运算。
11.一种密钥管理装置,其特征在于,应用于密钥管理系统KMS,包括:
第一接收模块,用于接收服务节点发送的请求信息;所述请求信息中携带有第一信息或第二信息;所述第一信息包括用户名和算法类型;所述第二信息包括用户名和密钥句柄;
第一处理模块,用于根据所述请求信息,执行生成密钥、提供密钥或销毁密钥的处理流程。
12.一种密钥管理装置,其特征在于,应用于服务节点,包括:
第一发送模块,用于向密钥管理系统KMS发送请求信息;所述请求信息中携带有第一信息或第二信息;所述第一信息包括用户名和算法类型;所述第二信息包括用户名和密钥句柄。
13.一种可读存储介质,其上存储有程序或指令,其特征在于,所述程序或指令被处理器执行时实现如权利要求1至10中任一项所述的密钥管理方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311605307.XA CN117527222A (zh) | 2023-11-28 | 2023-11-28 | 密钥管理方法、装置、系统、服务节点和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311605307.XA CN117527222A (zh) | 2023-11-28 | 2023-11-28 | 密钥管理方法、装置、系统、服务节点和可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117527222A true CN117527222A (zh) | 2024-02-06 |
Family
ID=89766143
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311605307.XA Pending CN117527222A (zh) | 2023-11-28 | 2023-11-28 | 密钥管理方法、装置、系统、服务节点和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117527222A (zh) |
-
2023
- 2023-11-28 CN CN202311605307.XA patent/CN117527222A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0505302B1 (en) | Authentication protocols in communication networks | |
US7697691B2 (en) | Method of delivering Direct Proof private keys to devices using an on-line service | |
CN106412862B (zh) | 一种短信加固方法、装置及系统 | |
CN106790223B (zh) | 一种数据传输的方法和设备及其系统 | |
CN113132099B (zh) | 一种基于硬件密码设备的传输文件加解密方法及装置 | |
CN110912920A (zh) | 数据处理方法、设备及介质 | |
CN101019368A (zh) | 使用分发cd将直接证明私钥传递给设备的方法 | |
CN110635912B (zh) | 数据处理方法及装置 | |
KR20210139344A (ko) | 데이터 기반 활동을 수행하는 방법 및 장치 | |
CN109698744B (zh) | 一种卫星组网会话密钥的协商方法及装置 | |
CA2294170A1 (en) | Bilateral authentication and encryption system | |
WO2017006118A1 (en) | Secure distributed encryption system and method | |
CN114785527B (zh) | 数据传输方法、装置、设备及存储介质 | |
CN100561913C (zh) | 一种访问密码设备的方法 | |
CN116506158A (zh) | 基于智慧城市的物联网设备加密传输方法及系统 | |
CN111245611A (zh) | 基于秘密共享和可穿戴设备的抗量子计算身份认证方法及系统 | |
CN117527222A (zh) | 密钥管理方法、装置、系统、服务节点和可读存储介质 | |
US7415110B1 (en) | Method and apparatus for the generation of cryptographic keys | |
CN115277078A (zh) | 用于处理基因数据的方法、装置、设备和介质 | |
KR100883442B1 (ko) | 온라인 서비스를 사용하여 직접 증명 비밀키를 디바이스에전달하는 방법 | |
CN105100030A (zh) | 访问控制方法、系统和装置 | |
EP4111635A1 (en) | Method for testing if a data element belongs to a list of reference data elements | |
CN112437436A (zh) | 一种身份认证方法及装置 | |
CN111355645A (zh) | 家用电器、云端服务器及其对应的传输数据的方法 | |
CN115314204B (zh) | 随机数生成方法、装置及存储介质 |
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 |