CN101938354B - 一种基于模幂运算的密钥分发方法及其应用 - Google Patents

一种基于模幂运算的密钥分发方法及其应用 Download PDF

Info

Publication number
CN101938354B
CN101938354B CN 201010269990 CN201010269990A CN101938354B CN 101938354 B CN101938354 B CN 101938354B CN 201010269990 CN201010269990 CN 201010269990 CN 201010269990 A CN201010269990 A CN 201010269990A CN 101938354 B CN101938354 B CN 101938354B
Authority
CN
China
Prior art keywords
key
individual
mod
authentication
data
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.)
Active
Application number
CN 201010269990
Other languages
English (en)
Other versions
CN101938354A (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.)
Wuhan Tianyu Information Industry Co Ltd
Original Assignee
Wuhan Tianyu Information Industry 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 Wuhan Tianyu Information Industry Co Ltd filed Critical Wuhan Tianyu Information Industry Co Ltd
Priority to CN 201010269990 priority Critical patent/CN101938354B/zh
Publication of CN101938354A publication Critical patent/CN101938354A/zh
Application granted granted Critical
Publication of CN101938354B publication Critical patent/CN101938354B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于模幂运算的密钥分发方法,以非对称密钥算法为基础,利用模幂运算特性设计的一种可用于多对多认证关系的密钥分发方法。本发明在认证过程中,通过交换认证双方的身份信息、随机数据等等,并根据各自的个体密钥计算出认证数据,从而实现认证的目的。上述交换的身份信息并不足以推算出对方的个体密钥,从而有效保障了个体密钥的安全性和交互运算的便捷性。本发明也可用于在安全域中任意个体间进行安全的密钥交换,以实现通信过程一次一密的功能。本发明还可用于安全域内部的数字签名验证。

Description

一种基于模幂运算的密钥分发方法及其应用
技术领域
本发明属于信息安全领域,涉及密钥分发、密钥管理,特别是一种密钥分发方法以及基于这种分发方法的各种密钥使用方法,包括身份认证、数字签名、密钥交换等等。本发明可用于解决小规模应用环境下的各种加密应用需求,并保证密钥分发与密钥管理的安全。 
背景技术
信息安全,就是保障信息系统内容的保密性、真实性、完整性以及不可否定性。在信息系统的安全体系中一般都有身份认证的需求,目前常用的双向身份认证方法主要有两种,一种是基于对称加密算法的密钥分散认证方法,另一种是基于非对称加密算法的证书认证方法。 
对称加密算法,是指加密和解密过程中使用同一个秘密密钥。基于对称加密算法的密钥分散认证方法,是指采用母密钥分散的方式来得到安全域个体的认证密钥。同一个安全域中所有个体的认证密钥都由同一个母密钥加密一段分散因子生成。在认证过程中,被认证方使用个体密钥,认证方使用母密钥,认证方通过被认证方的分散因子计算出被认证方的个体密钥,再与被认证方进行认证。 
对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。基于对称加密算法的密钥分散认证方法已经广泛应用于各种信息安全领域,目前大部分智能卡应用中智能卡与终端进行的防伪卡认证就是采用这种认证方式。 
这种认证方式不足之处主要在以下方面: 
1.认证双方需要使用同样的钥匙,密钥在传输和管理过程中的安全性得不到保证。 
2.需要将被认证方的母密钥分发给认证方,在多对多的系统中,如果一个认证方的密钥被泄漏,所有的认证方都不再安全,需要全部替换,所有的被认证方都可以被复制,整个密钥系统将会崩溃。 
3.只能实现不同域间个体的认证,不能实现系统中任意个体的相互认证。 
4.一个母密钥的分发,只能实现一个单向的认证关系,即安全域中的个体必须被分为认证方和被认证方,而要实现双向认证,则需要为认证双方都分发对方母密钥。 
非对称加密算法是指加密和解密分别使用不同密钥的加密算法,又称公开密钥加密算法。公开密钥加密算法的主要特点包括:密钥成对存在,公钥公开,易获得;私钥保密,不传输或仅加密传输;用公钥加密,只能用私钥解密;用私钥加密,只能用公钥解密;知道公钥、密文、明文也无法推算出私钥。基于非对称加密算法的PKI系统(公钥基础设施)提供了另一种认证方式,系统先产生一对根密钥对,再用根密钥的私钥为系统签发一个根证书,然后用根私钥为个体分发个体数字证书。数字证书中包含用户身份信息和公钥信息。认证过程中,认证方先用系统的根证书中的根公钥证明被认证方的证书是合法的,再使用这个证书中公钥与被认证方的私钥进行认证。 
基于非对称加密算法的证书认证方法优点在于,每个个体的私钥都是保密且独立的,相互没有衍生关系,任何一个个体的私钥丢失,不影响其它个体私钥的安全性,整个系统中任何两个个体都能进行双向认证,且不需要第三方参与。
证书认证方法的主要缺点在以下方面: 
1.需要建设一个CA系统,这种系统的建设成本、维护成本很高; 
2.CA系统接入到应用系统中的难度较高,影响应用系统的易实现性。 
3.对于证书的解析、验证、运算等逻辑十分复杂,部分嵌入式系统环境或者对于交互速度要求高的环境下,不适于使用这种方法。 
4.私钥是由系统个体保存的,私钥丢失后的数据无法恢复。 
目前,还没有出现采用非对称密钥算法进行密钥分散的双向认证方法。 
发明内容
本发明内容提供了一种基于模幂运算的密钥分发方法,使用该方法进行密钥分发,能够在信息安全系统中实现任意个体间的双向认证、数字签名、密钥交换,同时保证密钥管理和分发的安全,并且不增加系统的管理 难度和集成难度。 
本发明所述的密钥分发方法,是一种可用于信息安全系统中的密钥分发方法。基于这种密钥分发方法所设计的双向认证方法、数字签名方法、密钥交换方法也属于本发明的内容。 
本发明解决其技术问题所采用的技术方案是: 
一种基于模幂运算的密钥分发方法,包括如下步骤: 
(一)密钥系统初始化,即初始化整个密钥系统及安全域,具体过程为: 
(1)设定非对称算法密钥对,作为密钥系统的根密钥,所述根密钥包括根私钥和根公钥,其中根私钥用来为密钥系统中的个体分发密钥,根公钥用来验证个体通信过程中的数字签名信息; 
(2)为密钥系统产生一个安全域参数,所述安全域参数参与个体私钥的分发,用来区分同一根密钥对下不同安全域中的个体; 
(3)确定密钥系统交互参数,参与个体私钥的分发,并用来保证密钥系统中的个体可以进行交互; 
(二)密钥分发,即为密钥系统中的个体分发个体私钥 
(1)为每个个体生成个体私钥
先为个体生成身份信息,再利用根私钥、安全域参数、系统交互参数和所述个体身份信息计算出个体私钥; 
(2)将上述个体私钥、个体身份信息和系统交互参数分发给个体进行存储。 
作为本发明的进一步改进,所述的个体私钥Key具体计算公式为: 
Key = R ID d r mod ( n r )
式中,ID为个体身份信息,nr为根密钥模数,R安全域参数,dr为根私钥。 
作为本发明的进一步改进,所述的密钥系统交互参数为根密钥模数nr。 
上述密钥分发方法在双向身份认证中的应用,其特征在于,在同一安全域中,任一个体A与另外任一个体B进行认证的过程如下: 
(1)首先,A向B传递身份信息IDB,请求认证; 
(2)B产生随机数据RB,发送到A,要求产生认证数据; 
(3)A产生随机数据RA,计算认证值C,并将包含该认证值C和随机数据RA的认证数据传递给B; 
(4)B先用上述认证数据中的随机数据RA、B的私钥和A的身份信息IDA计算出第一个认证值C1,再用自己的身份信息与该第一个认证值C1计算第二个认证值C2,并比较C1和C2是否一致,如果一致,表示A的身份正确,向A应答认证成功消息,否则表示A的身份不正确,向A应答认证失败消息。 
作为本发明的进一步改进,所述的认证值C通过如下公式计算: 
C = R d r ID A R B R A mod ( n r )
= ( R d r ID A mod ( n r ) ) R A R B mod ( n r )
= Key A R A R B mod ( n r )
其中,KeyA为个体A的个体私钥,nr为根密钥模数,R安全域参数,dr为根私钥。 
作为本发明的进一步改进,所述认证值C1和C2分别通过如下公式计算得到: 
C 1 = R d r ID A ID B R A R B mod ( n r )
= ( R d r ID B mod ( n r ) ) R A R B ID A mod ( n r )
= Key B R A R B ID A mod ( n r )
C 2 = R d r ID A ID B R A R B mod ( n r )
= ( R d r ID A R A R B mod ( n r ) ) ID B mod ( n r )
= C ID B mod ( n r )
其中,KeyA为个体A的个体私钥,KeyB为个体B的个体私钥,nr为根密钥模数,R安全域参数,dr为根私钥。 
上述的密钥分发方法在数字签名和验证中的应用,其特征在于,对于任意个体A对数据D进行数字签名,其具体过程为:
(1)计算数据D的指纹信息; 
(2)用个体A的个体私钥KeyA加密指纹信息,得到签名值S; 
(3)根据指纹信息计算验签值V1; 
(4)根据签名值S计算验签值V2
(5)比较两个验签值V1和V2,如果值一致,则表示签名值S是个体A对数据D所做的签名。 
作为本发明的进一步改进,所述的指纹信息为数据摘要H,该数据摘要H以及所述签名值S、验签值V1和V2分别通过如下公式计算: 
H=hash(D); 
S = Key A H mod ( n r )
= R ID A d r H mod ( n r ) ;
V 1 = R ID A H mod ( n r ) ;
V 2 = S e r mod ( n r )
= R ID A d r e r H mod ( n r ) ;
= R ID A H mod ( n r )
其中,KeyA为个体A的个体私钥,er为根公钥,nr为根密钥模数,R安全域参数,dr为根私钥。 
上述的密钥分发方法在密钥交换中的应用,其特征在于,对于任意个体A和个体B进行密钥交换,其具体过程为:
(1)个体A产生随机数据RA,再将这个随机数据RA用自己的私钥KeyA加密得到交换数据KA,并将该交换数据KA传递给B; 
(2)个体B产生随机数据RB,再将这个随机数据RB与KA、B的身份信息IDB一起计算得到会话密钥KeyAB; 
(3)个体B用自己的私钥KeyB加密自己的随机数据RB得到交换数据KB,并将该交换数据KB传递给A; 
(4)个体A将自己的随机数据RA与B的交换数据KB、A的身份信息IDA一起计算也得到所述的会话密钥KeyAB; 
至此,A与B拥有相同的会话密钥KeyAB’即完成密钥交换,能够进行加密信。 
作为本发明的进一步改进,所述的交换数据KA和KeyB、会话密钥KeyAB分别通过如下公式计算得到: 
K A = Key A R A mod ( n r ) ;
K B = Key B R B mod ( n r ) ;
Key AB = K A R B ID B mod ( n r )
= Key A R A R B ID B mod ( n r ) .
= R ID A R A R B D B mod ( n r )
本发明的有益效果是: 
(1)个体的密钥由系统根密钥和安全域参数、个体身份识别信息计算而来,很容易实现密钥恢复; 
(2)同一安全域中的任意两个个体之间可以相互认证,可以在信息系统中实现更为复杂的角色识别; 
(3)不需要证书,密钥管理简单、认证过程简单、系统接入简单,可以快速实现安全功能; 
(4)认证数据可以作为数字签名(用密钥系统根公钥进行验证); 
(5)对个体的破解只能得到单个个体的私有密钥,对系统的密钥安全没有威胁。 
附图说明
图1是密钥衍生过程图。 
图2是双向认证密钥分发流程图。 
具体实施方式
为了更好的描述本发明,下面结合附图对本发明作进一步说明。 
在信息安全系统中,设置一个系统控制台,负责管理系统密钥的产生、分发、存储、恢复、注销、验证等等工作。系统处理过程如图2所示。 
密钥分发方案分为两个部分, 
1.密钥系统初始化。初始化整个密钥系统及安全域。 
密钥系统初始化时需要完成以下工作: 
(1)为密钥系统产生一对非对称算法密钥对,作为密钥系统的根密钥。根密钥包括根私钥,根公钥。其中根私钥用来为系统中的个体分发密钥,根公钥用来验证个体通信过程中的数字签名信息。系统根私钥和根公钥在系统控制台秘密存储。如: 
产生一对RSA密钥对,根私钥dr、根公钥er、根密钥模数nr。 
(2)为密钥系统产生一个安全域参数。安全域参数参与个体私钥的分发,用来区分同一根密钥对下不同安全域中的个体,不同的安全域参数产生方法关系可以用来控制信息系统中不同安全域个体间的相互认证关系。安全域参数在系统控制台秘密存储。如: 
产生一段随机数据作为安全域参数R。本安全域参数保证其它安全域个体不可以与本安全域个体进行认证。 
(3)确定密钥系统的交互参数,用密钥系统相关信息组成系统的交互参数,参与个体私钥的分发,并用来保证系统中的个体可以进行交互。如: 
将根密钥模数nr作为密钥系统的交互参数。 
2.密钥分发。为密钥系统中的个体分发个体私钥。 
密钥分发部分需要完成以下工作: 
1.为每个个体分发个体私钥。在系统控制台,先为个体生成身份信息,再用根私钥、安全域参数、密钥系统交互参数以及个体身份信息计算出个体的私钥,如: 
为个体A产生身份信息IDA,再用以下公式计算出个体私钥 
Key A = R ID A d r mod ( n r )
2.将个体私钥、个体身份信息、系统交互参数交给个体进行存储。 
应用上述密钥分发方法可以在安全域内实现以下功能: 
(1)任意两个个体间的双向身份认证。 
(2)任意两个个体间的密钥交换。 
(3)个体的数字签名及验证。 
本发明还公开了上述密钥分发方法的应用,包括双向身份认证、数字签名和密钥交换。 
利用本发明的密钥分发方法进行双向身份认证,具体过程如下: 
在同一安全域中,如果个体A需要与个体B进行认证,按照以下流程。 
(1)A向B传递身份信息,请求认证。 
如:A向B传递认证请求信息,信息中包含A的身份信息IDA。 
(2)B产生随机数据,发送到A,要求产生认证数据。 
如:B产生随机数据RB,向A传递认证请求接收响应,响应数据中包含随机数据RB。 
(3)A产生随机数据,并计算认证数据,将认证数据传递给B。 
如:A产生随机数据RA,并按如下公式计算认证值C 
C = R d r ID A R B R A mod ( n r )
= ( R d r ID A mod ( n r ) ) R A R B mod ( n r )
= Key A R A R B mod ( n r )
A将认C和RA组包成认证数据传递给B。 
(4)B先用认证数据中的随机数据、B的私钥、A的身份信息计算出第一个认证值,再用自己的身份信息与A的认证值C计算第二个认证值,并比较两个认证值是否一致,如果一致,表示A的身份与其身份信息是一致的,否则表示不一致。 
如:B分别用以下两个公式计算认证值C1和认证值C2。 
C 1 = R d r ID A ID B R A R B mod ( n r )
= ( R d r ID B mod ( n r ) ) R A R B ID A mod ( n r )
= Key B R A R B ID A mod ( n r )
C 2 = R d r ID A ID B R A R B mod ( n r )
= ( R d r ID A R A R B mod ( n r ) ) ID N mod ( n r )
= C ID B mod ( n r )
B比较C1、C2是否一致,如果一致,则表示A的身份正确,向A应答认证成功消息,否则表示A的身份不正确,向A应答认证失败消息。 
(5)如果A需要认证B的身份,则由B根据两个随机数据和自己的私钥计算认证数据C3,并与自己的身份信息一起传递给A。 
如:B用以下公式计算认证值C3。 
C 3 = R d r ID B R B R A mod ( n r )
= ( R d r ID B mod ( n r ) ) R B R A mod ( n r )
= Key B R B R A mod ( n r )
B将C3、B身份标识IDB以及上一步中的认证结果打包成应答消息传递给A。 
(6)A先用交互过程中的随机数据、A的私钥、B的身份信息计算出第 一个认证值C4,再用自己的身份信息与B的认证值C3计算第二个认证值C5,并比较两个认证值是否一致,如果一致,表示B的身份与其身份信息是一致的,否则表示不一致。 
如:A分别用以下两个公式计算认证值C4和认证值C5。 
C 4 = R d r ID A ID B R A R B mod ( n r )
= ( R d r ID A mod ( n r ) ) R A R B ID B mod ( n r )
= Key A R A R B ID B mod ( n r )
C 5 = R d r ID A ID B R A R B mod ( n r )
= ( R d r ID B mod ( n r ) ) R A R B ID A mod ( n r )
= C 3 ID A mod ( n r )
A比较C4、C5是否一致,如果一致,则表示B的身份正确,向B应答认证成功消息,否则表示B的身份不正确,向B应答认证失败消息。 
利用本发明的密钥分发方法进行密钥交换。密钥交换是指会话双方协商一次一密会话密钥的过程。在一次一密的通信过程开始前,会话双方需要协商一个一致的对称加密密钥,以保证所有通信数据是加密的。密钥协商过程要求能使攻击者无法从双方的所有传递的数据中推导出会话密钥的值或者其它秘密信息。 
密钥交换的过程如下: 
1.个体A先产生一个随机数据,再将这个随机数据用自己的私钥加密得到交换数据,将交换数据传递给B。 
如:个体A产生随机数据RA,用以下公式计算出交换数据KA: 
K A = Key A R A mod ( n r )
A将KA传递给B。 
2.个体B产生一个随机数据,再将这个随机数据与A的交换数据、B的身份信息一起计算得到会话密钥。 
如:个体B产生随机数据RB,用以下公式计算出会话密钥Key: 
Key = K A R B ID B mod ( n r )
= Key A R A R B ID B mod ( n r )
= R D A R A R B ID B mod ( n r )
3.个体B用自己的私钥加密自己的随机数据得到交换数据,将交换数据传递给A。 
如用以下公式计算出交换数据KB: 
K B = Key B R B mod ( n r )
B将KB传递给A。 
4.个体A将自己的随机数据与B的交换数据、A的身份信息一起计算得到会话密钥。 
如:个体A用以下公式计算出会话密钥Key: 
Key = K B R A ID A mod ( n r )
= Key B R B R A ID A mod ( n r )
= R ID B R B R A D A mod ( n r )
至此,A与B拥有相同的会话密钥Key,可以进行加密地通信了。在密钥交换过程中,随机数据都没有明文传输,A与B都不知道对方所产生的随机数据的值和密钥值,从而保证了密钥交换可靠和安全。 
利用本发明的密钥分发方法进行数字签名验证。数字签名验证是指验证个体私钥的数字签名信息,以确认个体对数字内容的认可。 
数字签名验证的过程如下: 
(1)个体A如果需要对数据进行数字签名,需要先计算数据的指纹信息。 
如:按以下公式计算数据D的数据摘要H: 
H=hash(D) 
将H作为数据D的指纹信息。 
(2)用A的个体私钥加密指纹信息,得到签名值S。 
如:按以下公式计算数据的签名值S: 
S = Key A H mod ( n r )
= R ID A d r H mod ( n r )
验证签名时使用密钥系统根公钥进行验证。先根据数据原文计算数据的指纹信息,再根据指纹信息和A的身份信息计算验签值。 
如按以下公式计算验签值V1: 
V 1 = R ID A H mod ( n r )
(3)再使用系统根公钥er对A的签名值计算进行,得到验签值V2
如:按以下公式计算验签值V2
V 2 = S e r mod ( n r )
= R ID A d r e r H mod ( n r )
= R ID A H mod ( n r )
(4)比较两个验签值,以判断数字签名的正确性。 
如:比较V1和V2,如果值一致,则表示S是A对数据D所做的签名。 
下面是本发明的应用实例: 
应用实施例一:在一个小型单位的内部应用系统中,需要保护系统中的应用数据,单位在内部网的所有机器上屏蔽了所有的端口,只有经过认证的设备才能接入到内网的机器上工作。系统部署了一个控制台,由控制台管理系统的认证根密钥。系统初始化时,生成一对RSA密钥对和一个安全域参数。在控制台上为内网中的每个机器和被许可的设备发放个体密钥和许可内容,使用机器的硬件指纹作为机器的身份信息,使用设备的序列号作为设备的身份信息。个体密钥由控制台使用私钥、安全域参数、个体身份信息生成。许可内容根据系统的安全策略进行设置。当设备接入到内网机器中时,使用设备的私钥与机器的私钥进行双向认证。完成双向认证后,设备与机器可以根据各自的许可内容进行工作。设备与机器使用各自 的私钥进行密钥交换,得到一个会话密钥。设备与机器的数据交换内容使用会话密钥加密。未被认证的设备被拒绝接入到内网机器,另一方面,当许可的设备接入到不受信任的外网机器时,可以根据许可内容拒绝工作。 
应用实施例二:在一个DRM(数字版权管理)系统中,为了满足在一个局部域中的设备间自由地分发授权内容,而在局部域中使用本密钥分发方法。比如DRM中一个个人账户形成一个局部域,域中成员包括笔记本、数字电视、PDA、MP4、MIDI、手机等等个人娱乐设备。DRM系统为域分发一个数字证书,这个数字证书代表个人在DRM系统中的一个账户。个人在笔记本电脑中建立控制台,存储域的密钥对,并产生自己的安全域参数。用户将各种设备接入到笔记本,并且将设备添加到个人域中,用安全域参数、个人私钥、设备序列号给设备分发个体密钥。域中成员设备间进行交互前需要先使用各自的设备私钥进行双向身份认证,认证通过后,协商一个会话密钥,通过加密通道相互交换互数字内容。每个设备使用数字内容时,会在内容的标签信息中附加该设备的数字签名,交换数字内容时,会将相应的权利进行转移。DRM系统通过验证设备对权利的使用情况签名来管理用户对内容的使用。 
应用实施例三:在一个组织中分有多个下级单位,组织需要对每个下级单位的应用系统内容进行单独控制。组织不需要单独部署CA系统,而是为整个组织部署一个控制台,为每个下级单位生成不同的安全域参数,并用不同的安全域参数为下级单位分发个体密钥,保证下级单位内部的个体之间可以相互进行认证。如果某个体需要参与到多个下级单位的工作,可以为这个个体分发多个下级单位的对应私钥。基于本发明的理论,系统还可以根据安全域的参数相关性,设计一个单一密钥跨多个单位、多级别的密钥管理模式。本发明极大地简化了在复杂组织结构下实现分层次密钥管理的难度。 
应用实施例四:在一个M2M(点对点)的系统中,为了使系统中的任意个体都可以相互认证,可以为每个个发分发个体密钥,个体之间在认证过程中通过身份信息识别对方个体的相关信息,并决定交互策略。本发明 简化了在M2M系统中实现点对点双向身份认证的部署和管理难度。 
以上所述,仅是本发明基于模幂运算的双向认证密钥分发方法的典型实施例而已,并非对本发明的技术范围作任何限制,凡是依据本发明的技术实质对以上的实施例所作的任何细微修改、等同变化与修饰,均仍属于本发明技术方案的范围内。 

Claims (7)

1.一种密钥分发方法,包括如下步骤:
(一)密钥系统初始化,即初始化整个密钥系统及安全域,具体过程为:
(1)设定非对称算法密钥对,作为密钥系统的根密钥,所述根密钥包括根私钥和根公钥,其中根私钥用来为密钥系统中的个体分发个体私钥,根公钥用来验证个体通信过程中的数字签名信息;
(2)为密钥系统产生一个安全域参数,所述安全域参数参与个体私钥的分发,用来区分同一密钥对下不同安全域中的个体;
(3)确定密钥系统交互参数,参与个体私钥的分发,并用来保证密钥系统中的个体可以进行交互;
(二)密钥分发,即为密钥系统中的个体分发个体私钥
(1)为每个个体生成个体私钥
先为个体生成身份信息,再利用根私钥、安全域参数、系统交互参数和所述个体身份信息计算出个体私钥;
(2)将上述个体私钥、个体身份信息和系统交互参数分发给个体进行存储。
2.根据权利要求1所述的一种密钥分发方法,其特征在于,所述的个体私钥Key具体计算公式为:
Key = R ID d r mod ( n r )
式中,ID为个体身份信息,nr为根密钥模数即系统交互参数,R安全域参数,dr为根私钥。
3.一种双向身份认证方法,实现在同一安全域中,任一个体A与另外任一个体B的双向身份认证,具体过程如下:
(1)首先,A向B传递身份信息IDA,请求认证;
(2)B产生随机数据RB,发送到A,要求产生认证数据;
(3)A产生随机数据RA,计算认证值C,并将包含该认证值C和随机数据RA的认证数据传递给B;
(4)B先用上述认证数据中的随机数据RA、B的个体私钥KeyB和A的身份信息IDA计算出第一个认证值C1,再用自己的身份信息与认证值C计算第二个认证值C2,并比较C1和C2是否一致,如果一致,表示A的身份正确,向A应答认证成功消息,否则表示A的身份不正确,向A应答认证失败消息;
其中,所述的认证值C通过如下公式计算:
C = R d r ID A R B R A mod ( n r )
= ( R d r ID A mod ( n r ) ) R A R B mod ( n r )
= Key A R A R B mod ( n r )
式中,KeyA为利用权利要求1或2所述的方法分发的个体A的个体私钥,nr为根密钥模数,R安全域参数,dr为根私钥;
所述认证值C1和C2分别通过如下公式计算得到:
C 1 = Key B R A R B ID A mod ( n r )
= ( R d r ID B mod ( n r ) ) R A R B ID A mod ( n r )
= R d r ID A ID B R A R B mod ( n r )
C 2 = C ID B mod ( n r )
= ( R d r ID A R A R B mod ( n r ) ) ID B mod ( n r )
= R d r ID A ID B R A R B mod ( n r )
式中,KeyB为利用权利要求1或2所述的方法分发的个体B的个体私钥。
4.一种数字签名和验证方法,实现任意个体A对数据D进行数字签名,其具体过程为:
(1)计算数据D的指纹信息;
(2)利用权利要求1或2所述的方法分发的个体A的个体私钥KeyA加密指纹信息,得到签名值S;
(3)根据指纹信息计算验签值V1
(4)根据签名值S计算验签值V2
(5)比较两个验签值V1和V2,如果值一致,则表示签名值S是个体A对数据D所做的签名。
5.根据权利要求4所述的方法,其特征在于,所述的指纹信息为数据摘要H,该数据摘要H以及所述签名值S、验签值V1和V2分别通过如下公式计算:
H=hash(D);
S = Key A H mod ( n r )
= R ID A d r H mod ( n r ) ;
V 1 = R ID A H mod ( n r ) ;
V 2 = S e r mod ( n r )
= R ID A d r e r H mod ( n r ) ;
= R ID A H mod ( n r )
其中,KeyA为个体A的个体私钥,er为根公钥,nr为根密钥模数,R安全域参数,dr为根私钥。
6.一种密钥交换方法,实现任意个体A和个体B的密钥交换,其具体过程为:
(1)个体A产生随机数据RA,再将这个随机数据RA用自己的私钥KeyA加密得到交换数据KA,并将该交换数据KA传递给B,其中,个体A的个体私钥KeyA为利用权利要求1或2所述的方法分发得到;
(2)个体B产生随机数据RB,再将这个随机数据RB与KA、B的身份信息IDB一起计算得到会话密钥KeyAB
(3)个体B用自己的私钥KeyB加密自己的随机数据RB得到交换数据KB,并将该交换数据KB传递给A,其中,个体B的个体私钥KeyB为利用权利要求1或2所述的方法分发得到;
(4)个体A将自己的随机数据RA与B的交换数据KB、A的身份信息IDA一起计算也得到所述的会话密钥KeyAB
至此,A与B拥有相同的会话密钥KeyAB,即完成密钥交换,能够进行加密通信。
7.根据权利要求6所述的方法,其特征在于,所述的交换数据KA和KB、会话密钥KeyAB分别通过如下公式计算得到:
K A = Key A R A mod ( n r ) ;
K B = Key B R B mod ( n r ) ;
Key AB = K A R B ID B mod ( n r )
= Key A R A R B ID B mod ( n r ) .
= R ID A R A R B ID B mod ( n r )
CN 201010269990 2010-09-02 2010-09-02 一种基于模幂运算的密钥分发方法及其应用 Active CN101938354B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010269990 CN101938354B (zh) 2010-09-02 2010-09-02 一种基于模幂运算的密钥分发方法及其应用

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010269990 CN101938354B (zh) 2010-09-02 2010-09-02 一种基于模幂运算的密钥分发方法及其应用

Publications (2)

Publication Number Publication Date
CN101938354A CN101938354A (zh) 2011-01-05
CN101938354B true CN101938354B (zh) 2012-07-04

Family

ID=43391504

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010269990 Active CN101938354B (zh) 2010-09-02 2010-09-02 一种基于模幂运算的密钥分发方法及其应用

Country Status (1)

Country Link
CN (1) CN101938354B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102289694A (zh) * 2011-08-08 2011-12-21 北京中兴通数码科技有限公司 基于标识密码的rfid防伪系统
CN102752662B (zh) * 2012-02-23 2016-01-20 中央电视台 一种条件接收系统接收端的根密钥生成方法、模块、芯片及接收终端
CN105162583B (zh) * 2015-07-15 2018-10-26 北京江南天安科技有限公司 一种单个、单级和多级密钥对分散方法及其系统
CN108347404B (zh) * 2017-01-24 2021-10-26 中国移动通信有限公司研究院 一种身份认证方法及装置
CN106936572B (zh) * 2017-04-01 2020-10-27 上海理深信息科技有限公司 一种安全的数据匹配方法及其系统
CN109151015B (zh) * 2018-08-13 2021-10-08 南京敞视信息科技有限公司 一种交易信息安全推送方法
CN110380867B (zh) * 2019-08-14 2021-07-06 电子科技大学 一种基于身份的轻量签名方法及系统
CN110807211A (zh) * 2019-11-04 2020-02-18 上海讯联数据服务有限公司 安全获取用户交集的方法、系统、可读介质及电子设备
CN113766497B (zh) * 2020-06-01 2023-03-21 中国电信股份有限公司 密钥分发方法、装置、计算机可读存储介质及基站

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101039182A (zh) * 2007-03-07 2007-09-19 广东南方信息安全产业基地有限公司 认证系统及用户标识证书发放方法
CN101465725A (zh) * 2007-12-18 2009-06-24 中国电子科技集团公司第五十研究所 一种基于身份的公钥系统的密钥分配方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6650890B1 (en) * 2000-09-29 2003-11-18 Postini, Inc. Value-added electronic messaging services and transparent implementation thereof using intermediate server

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101039182A (zh) * 2007-03-07 2007-09-19 广东南方信息安全产业基地有限公司 认证系统及用户标识证书发放方法
CN101465725A (zh) * 2007-12-18 2009-06-24 中国电子科技集团公司第五十研究所 一种基于身份的公钥系统的密钥分配方法

Also Published As

Publication number Publication date
CN101938354A (zh) 2011-01-05

Similar Documents

Publication Publication Date Title
CN101938354B (zh) 一种基于模幂运算的密钥分发方法及其应用
Menezes et al. Handbook of applied cryptography
CN107579819B (zh) 一种sm9数字签名生成方法及系统
CN102170357B (zh) 组合密钥动态安全管理系统
CN101212293B (zh) 一种身份认证方法及系统
CN107852404A (zh) 保密通信的相互认证
CN102547688B (zh) 一种基于虚拟专用信道的高可信手机安全通信信道的建立方法
CN106101068A (zh) 终端通信方法及系统
CN103414559B (zh) 一种云计算环境下的基于类ibe系统的身份认证方法
CN105376064B (zh) 一种匿名消息认证系统及其消息签名方法
CN106953732B (zh) 芯片卡的密钥管理系统及方法
CN102082790A (zh) 一种数字签名的加/解密方法及装置
CN106127079A (zh) 一种数据共享方法及装置
CN107968710A (zh) Sm9数字签名分离交互生成方法及系统
CN114692218A (zh) 一种面向个人用户的电子签章方法、设备和系统
CN102769623A (zh) 基于数字证书和生物识别信息进行双重认证的方法
CN109543434A (zh) 区块链信息加密方法、解密方法、存储方法及装置
CN105162589A (zh) 一种基于格的可验证属性加密方法
CN110402560A (zh) 具有前向安全性的基于身份的认证密钥交换方案中用于计算公有会话密钥的系统和方法
CN108964897A (zh) 基于群组通信的身份认证系统和方法
CN104954137A (zh) 一种基于国产密码技术的虚拟机安全认证的方法
CN106713349A (zh) 一种能抵抗选择密文攻击的群组间代理重加密方法
CN110535626A (zh) 基于身份的量子通信服务站保密通信方法和系统
CN101997684B (zh) 一种授权认证方法、装置以及系统
CN102013141B (zh) 一种认证方法以及认证系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant