CN102307096A - 一种基于伪rsa密钥的新近公开密钥加密算法的应用实现方法 - Google Patents

一种基于伪rsa密钥的新近公开密钥加密算法的应用实现方法 Download PDF

Info

Publication number
CN102307096A
CN102307096A CN201110248050A CN201110248050A CN102307096A CN 102307096 A CN102307096 A CN 102307096A CN 201110248050 A CN201110248050 A CN 201110248050A CN 201110248050 A CN201110248050 A CN 201110248050A CN 102307096 A CN102307096 A CN 102307096A
Authority
CN
China
Prior art keywords
rsa
key
pseudo
public key
ibe
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
CN201110248050A
Other languages
English (en)
Other versions
CN102307096B (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.)
Beijing iTrusChina Co., Ltd.
Wuhan University of Technology WUT
Original Assignee
Wuhan University of Technology WUT
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 University of Technology WUT filed Critical Wuhan University of Technology WUT
Priority to CN 201110248050 priority Critical patent/CN102307096B/zh
Publication of CN102307096A publication Critical patent/CN102307096A/zh
Application granted granted Critical
Publication of CN102307096B publication Critical patent/CN102307096B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明涉及一种基于伪RSA密钥的新近公开密钥加密算法的应用实现方法,基于该方法的数据加密***由密码模块,IBE密钥服务器,伪RSA数字证书签发工具或***,及加密应用软件组成;所述密码模块实现支持RSA算法功能的标准密码模块接口,并将新近公开密钥加密算法的密钥嵌入到一个对应的RSA密钥的数据结构中,形成伪RSA密钥;然后在此伪RSA密钥的基础上,由伪RSA数字证书签发工具或***生成伪RSA数字证书供应用软件使用;最后密码模块将加密应用软件针对伪RSA密钥的密码调用,自动转换为针对相应的新近公开密钥加密算法及相应密钥的密码调用。本发明解决了新近公开密钥加密算法在具体应用和实现方面所面临的技术问题。

Description

一种基于伪RSA密钥的新近公开密钥加密算法的应用实现方法
技术领域
本发明属于加密技术领域,是一种解决新近公开密钥加密算法(即新近提出、使用的公开密钥加密算法)目前在实际应用中无法通过标准密码接口获得有效应用这一技术问题的基于伪RSA密钥的新近公开密钥加密算法的应用实现方法。
背景技术
公开密钥加密(Public Key Cryptography),也称为非对称密钥加密(Asymmetric Key Cryptography),涉及一对相互关联的密钥(称为公开密钥对),其中一个可公开,称为公钥(Public Key),用于数据的加密和数字签名的验证;另一个不公开,称为私钥(PrivateKey),由特定的实体拥有并保存,用于加密数据的解密和数字签名。能实现公开密钥加密的数据加密算法有多种,目前获得广泛应用的算法包括以三个发明人,Rivest,Shamir以及Adleman,命名的RSA算法,以及DSA(Digital Signature Algorithm)算法等。对于RSA、DSA公开密钥加密算法,当前的加密模块可通过标准的密码模块接口,如Windows***中的密码模块CSP(Cryptographic ServiceProvider)的密码模块接口CryptoSPI(Cryptography SystemProgramming Interface),以及广泛使用的密码模块接口PKCS#11(Public key Cryptography Standards 11),提供相应的密码运算功能。对于采用了这些标准接口的密码模块,操作***、应用软件可以自动装载它们,应用软件可通过相应的密码应用编程接口调用相应的密码模块,如Windows下的应用可通过Windows的CryptoAPI(Cryptography Application Programming Interface)调用基于CryptoSPI密码模块接口的Windows CSP密码模块,而其他操作***下(如Unix、Linux)的应用可通过PKCS#11调用相应的基于PKCS#11接口的密码模块(Windows下的应用也可)。
DSA加密算法只能用于数字签名,而RSA算法既可用于数据加密,又可用于数字签名,因此,RSA算法是目前应用最广泛的公开密钥加密算法,大部分的密码模块、操作***、应用软件都提供对RSA算法的支持。除了RSA、DSA公开密钥加密算法,ECC(Elliptic CurveCryptography)算法、IBE(Identity Based Encryption)算法,也是新近获得人们重视的公开密钥加密算法。但是,目前的密码模块标准接口,如CryptoSPI、PKCS#11,虽然从原理上能够通过扩展支持这些新近提出、使用的公开密钥加密算法,但对如何通过相关接口提供这些新近算法的密码调用功能还没有给出具体而明确的规定,因此,每个开发者可以按自己的方式去开发、实现有关的密码功能,从而使得有关密码模块对相关加密算法的支持缺乏通用性和互操作性;于此同时,相关的操作***,如Windows,也没有对如何使用这些新近的公开密钥加密算法提供相应的支持,如目前广泛使用的Windows操作***(包括Windows XP,Windows 2003等)没有规定针对ECC、IBE的CSP类型及相应的数据结构;最后,由于前面两个原因以及应用软件自身的原因(如本身是不知晓新近公开密钥加密算法的老应用),目前的已有或新近开发的应用软件还不能也无法通过标准密码接口调用ECC、IBE等新近公开密钥加密算法的密码功能,如果某个应用软件要使用ECC、IBE加密算法,开发者必须开发专门的(非标准的)密码模块,并由相关应用软件进行专门的、特定的调用。这样的结果是,很多的标准应用,如Outlook,都无法通过标准的密码应用编程接口和相应的设置自动调用这些新近公开密钥加密算法。本发明的方法就是要解决这一问题,使得目前的应用软件能够通过标准密码应用编程接口(如CryptoAPI、PKCS#11)自动使用ECC、IBE等新近的公开密钥加密算法。
发明内容
本发明的目的是提供一种各类应用软件可通过支持RSA算法的标准密码应用编程接口(如Windows CryptoAPI、PKCS#11等),自动而透明地调用ECC、IBE等目前标准密码接口尚未明确支持的新近公开密钥加密算法进行密码运算的基于伪RSA密钥的新近公开密钥加密算法的应用实现方法。
本发明的关键是借助于伪RSA密钥(伪RSA公钥、伪RSA私钥),使得对伪RSA密钥的使用转化为对相应的新近公开密钥加密算法的密钥(如ECC公钥、私钥)的使用。这里所说的伪RSA密钥,包括伪RSA公钥和伪RSA私钥,是这样的一种密钥,它的密钥数据在数据结构上与RSA密钥(公钥、私钥)的一样,但它的密钥数据中存放的不是真正的RSA密钥数据,而是对应的新近公开密钥加密算法(如ECC、IBE)的密钥数据(如ECC公钥、IBE私钥)。
为了实现上述目的,本发明所采用的技术方案是:
一种基于伪RSA密钥的新近公开密钥加密算法的应用实现方法,包括数据加密***,所述数据加密***由如下几部分组成:
密码模块:一个实现了支持RSA加密算法功能调用的标准密码模块接口(如CryptoSPI、PKCS#11)的软件或软硬模块,它提供对新近公开密钥加密算法的密码功能调用,包括新近公开密钥加密算法的密钥操作,如密钥产生、导出、导入和删除等,以及基于新近公开密钥加密算法的密码运算,如数据加密、解密,数字签名、签名验证等。
IBE密钥服务器(Key Server):只有所述密码模块提供IBE加密算法功能时才需要该密钥服务器,它负责验证、维护用户与其身份标识间的对应关系,为用户产生其身份标识对应的IBE私钥。
伪RSA数字证书签发工具或***:基于伪RSA公钥生成伪RSA数字证书。
加密应用软件:通过标准密码应用编程接口调用所述密码模块,使用新近公开密钥加密算法进行数据加密、解密,数字签名、签名验证的软件程序或***。
以上所述新近公开密钥加密算法是指RSA、DSA算法之外的其他新近提出、使用的公开密钥加密算法,如ECC、IBE。
所述伪RSA数字证书是基于X509的标准格式的数字证书,只是证书上的证书拥有者的RSA公钥不是真正的RSA公钥,而是所述伪RSA公钥。
所述伪RSA数字证书签发工具或***与通常的数字证书签发工具或***的功能类似,其主要差别在于它是用于签发伪RSA数字证书,而不是通常的数字证书。
本发明的整体工作原理和过程描述如下。
加密应用软件按通常的方式,通过标准密码应用编程接口,调用密码模块的RSA加密算法的密码功能,如密钥产生、导出、导入和删除等密钥操作,以及数据加密、解密,数字签名、签名验证等密码运算。
对于产生RSA密钥对的接口函数调用,所述密码模块并不产生真正的RSA密钥对,而是产生所述新近公开密钥加密算法的密钥对。若所述密码模块实现的是IBE加密算法,则所述密码模块在产生IBE密钥对时,并不直接为用户产生IBE私钥,而是同IBE密钥服务器交互,在完成用户身份鉴别和身份标识归属性验证、确认后,由IBE密钥服务器为用户产生其身份标识对应的IBE私钥,然后,在此基础上生成IBE密钥对。
对于导出RSA密钥(RSA公钥、RSA私钥)的接口函数调用,若要导出的密钥对应的是所述新近公开密钥加密算法的密钥,则所述密码模块并不导出RSA密钥,而是导出该新近公开密钥加密算法的密钥对应的伪RSA密钥(伪RSA公钥、伪RSA私钥);否则,按通常的方式导出RSA密钥。
对于导入RSA密钥(RSA公钥、RSA私钥)的接口函数调用,所述密码模块首先检查要导入的RSA密钥是否是一伪RSA密钥,若是,则所述密码模块从要导入的伪RSA密钥中分离出对应的新近公开密钥加密算法的密钥,并将其导入到密码模块中;否则,所述密码模块按通常的方式导入RSA密钥。
对于使用RSA密钥(公钥或私钥)进行密码运算(如数据加密、解密,数字签名、签名验证等)的接口函数调用,所述密码模块首先确定要使用的RSA密钥是一个真正的RSA密钥,还是对应一个新近公开密钥加密算法的密钥(如ECC、IBE密钥),如果是一个真正的RSA密钥,则按RSA加密算法使用该RSA密钥进行相关密码运算;否则,采用对应的新近公开密钥加密算法及对应的新近公开密钥加密算法的密钥进行相关密码运算。
目前的加密应用软件对RSA密钥(公钥、私钥)的使用通常不是直接使用的,而是通过RSA数字证书来进行的。在本发明中,为了使得应用软件能透明地使用新近公开密钥加密算法的密钥(如ECC公钥、私钥),同样需要借助于RSA数字证书,具体的做法是,对于每一对所述新近公开密钥加密算法的密钥对,由伪RSA数字证书签发工具或***签发一张X509格式的数字证书,证书上的证书持有者(证书拥有主体)的公钥是该密钥对对应的伪RSA公钥,即生成一张与所述新近公开密钥加密算法的密钥对相对应的伪RSA数字证书。通过该伪RSA数字证书的使用,加密应用软件将按通常的方式调用密码模块提供的基于RSA加密算法的密码运算功能(如加密、解密,签名签名验证),而密码模块实际上将使用伪RSA证书对应的新近公开密钥加密算法的相应密钥,完成基于新近公开密钥加密算法的密码运算。
本发明的创新性在于:借助伪RSA密钥,提供新近公开密钥加密算法(如ECC、IBE)功能的密码模块,可通过标准的、支持RSA算法功能的密码模块接口,如Windows CryptoSPI、PKCS#11,对外提供新近公开密钥加密算法的密码运算功能;于此同时,应用软件可以通过相应的支持RSA算法功能的标准密码应用编程接口,如WindowsCryptoAPI、PKCS#11,使用新近公开密钥加密算法进行数据加密和解密、数字签名和签名验证等密码运算,而且这个使用新近公开密钥加密算法的过程对应用软件是透明的,即它们无需做任何修改,也不知晓正在使用新近公开密钥加密算法。
本发明的方法很好地解决了目前的标准密码接口、操作***以及应用软件不能很好地支持ECC、IBE等新近公开密钥加密算法的技术问题,即解决了新近公开密钥加密算法在具体应用和实现方面所面临的技术问题。
附图说明
图1为本发明数据加密***的***框图。
具体实施方式
下面结合附图对本发明的具体实施作进一步的说明。
如图1所示,基于本发明的数据加密***由如下几部分组成:
密码模块,一个实现了支持RSA加密算法功能调用的标准密码模块接口(如CryptoSPI、PKCS#11)的软件或软硬模块,它提供对新近公开密钥加密算法的密码功能调用,其功能包括新近公开密钥加密算法的密钥操作,如产生、导出、导入和删除等,以及基于新近公开密钥加密算法的加密运算,如数据加密、解密,数字签名、签名验证等。
IBE密钥服务器(Key Server),只有在所述密码模块提供IBE加密算法功能才需要该密钥服务器,它负责验证、维护用户与其身份标识间的对应关系,为用户产生其身份标识对应的I BE私钥。
伪RSA数字证书签发工具或***,基于伪RSA公钥生成伪RSA数字证书。
加密应用软件,通过标准密码应用编程接口调用所述密码模块,使用新近公开密钥加密算法进行数据加密、解密,数字签名、签名验证的软件程序或***。
密码模块需要实现支持RSA算法功能调用的标准密码模块接口(如Windows CryptoSPI、PKCS#11等),要实现这一点并不困难,只需依据相应的密码模块接口规范即可。
IBE密钥服务器是一个基于C/S模式的服务***,其客户端即是所述加密模块。IBE密钥服务器可采用常见的信息***开发技术,如C/C++或C#,Net或J2EE开发语言及环境,以及有关的数据库开发技术;其IBE密钥的生成可参照有关规范实现,如RFC5091。IBE密钥生成既可在软件中实现,也可以用硬件实现。IBE密钥服务器与加密模块间的信息交互可采用已有的安全信息通道技术,如SSL等。
伪RSA数字证书签发工具或***的实现,可基于OpenSSL工具库或者Windows CryptoAPI提供的密码功能开发实现;或者,通过对现有数字证书签发***进行改造实现。
对于应用软件来说,不需要进行任何修改,它们按通常使用RSA密钥或RSA数字证书的方式使用RSA加密算法进行有关的数据加密、解密,数字签名、签名验证等密码运算。
本发明的相关功能的具体实现描述如下。
对于产生RSA密钥对的接口函数调用,所述密码模块根据其实现的新近公开密钥加密算法是否为IBE算法,其处理过程有所不同:
情形1.若密码模块实现的新近公开密钥加密算法不是IBE算法,则所述密码模块按如下方式进行有关操作:
产生一个新近公开密钥加密算法(如ECC算法)的密钥对,在内存或存储介质中生成相应的密钥对对象,然后返回密钥对对象的句柄、指针或引用。
情形2.若所述密码模块实现的新近公开密钥加密算法是IBE算法,则所述密码模块和IBE密钥服务器按如下工作流程进行有关操作:
步骤A1.密码模块通过专门的人机界面,提示用户输入其身份标识;
步骤A2.用户输入、提交身份标识后,密码模块连接IBE密钥服务器;
步骤A3.IBE密钥服务器要求对用户进行身份鉴别;
步骤A4.密码模块通过人机界面,提示用户提交或选择其身份凭证(如用户名/口令、数字证书);
步骤A5.密码模块利用用户提交或选择的身份凭证及其相关私密数据(如口令、证书私钥),同IBE密钥服务器交互,完成用户身份鉴别;
步骤A6.用户身份鉴别通过后,IBE密钥服务器进一步确认用户是身份标识的真正拥有者;
步骤A7.用户是身份标识拥有者验证通过后,IBE密钥服务器产生用户身份标识对应的IBE私钥,然后,将IBE私钥返回给密码模块;
步骤A8.密码模块基于IBE密钥服务器返回的IBE私钥,生成对应的IBE公钥,然后,在内存或存储介质中产生相应的IBE密钥对对象,最后,返回IBE密钥对对象的句柄、指针或引用。
在以上步骤A5,IBE密钥服务器对用户的身份鉴别可根据具体的安全要求,采用基于用户名/口令、动态口令或身份数字证书等的身份鉴别技术;若用户的身份凭证是身份数字证书,则密码模块不一定能直接获得保存在其他密码模块或存储介质(如智能卡、USB Key)中的用户身份数字证书的私钥,但它可以通过相应的密码接口使用该证书的私钥完成用户身份鉴别所需的密码运算操作,如对IBE密钥服务器发送的随机挑战信息进行数字签名。
在以上步骤A6,IBE密钥服务器确定用户是身份标识的真正拥有者有很多种途径,如身份标识包含在身份凭证中(比如,它就是用户在IBE服务器上的帐户名,或是数字证书中的用户通用名,或是证书中的电子邮箱地址等),或者,用户在IBE密钥服务器进行注册时输入了其身份标识,且该标识由用户拥有已通过其他可靠途径验证、确认,比如,若身份标识是移动电话号码或电子邮箱地址,则可向相应的移动手机或电子邮箱发送确认码进行验证等。
对于导出RSA密钥(公钥或私钥)的接口函数调用,所述密码模块进行如下操作:
确定要导出的RSA密钥是一个真正的RSA密钥,还是对应一个新近公开密钥加密算法的密钥(如ECC、IBE密钥),若是一个真正的RSA密钥,则按通常的RSA密钥导出完成有关操作;否则,产生一个RSA密钥(公钥或私钥)数据结构,将要导出的RSA密钥对应的新近公开密钥加密算法的密钥(如对应的IBE公钥或私钥)放入到该RSA密钥数据结构中,然后,在该RSA密钥数据结构中未使用的特定数位中放入预先约定的特征数位值,之后,将该RSA密钥数据结构作为导出的密钥数据返回。
对于以上后一种情况,即导出的密钥是对应一个新近公开密钥加密算法的密钥的情形,返回的密钥的密钥数据结构具有与通常的RSA密钥相同的密钥数据结构,但其中包含的不是真正的RSA密钥,而是对应的新近公开密钥加密算法的密钥,因此,该返回的密钥是伪RSA密钥。而这里,伪RSA密钥的密钥数据结构中的特定数位的特征数位值,或者是特别的数位串,或者,由相应的新近公开密钥加密算法的的密钥经过特定的运算(如散列运算)产生。
要实现在RSA密钥(公钥或私钥)数据结构中嵌入新近公开密钥加密算法的密钥(如ECC公钥或私钥),并在该数据结构中未使用的特定数位中加入预先约定的特征数位值并不困难,因为,具有一定密钥强度(如224位、192位)的ECC、IBE等新近公开密钥算法的密钥(公钥和私钥)的密钥数据结构所占用的数位比具有相当密钥强度(如2048位、1024位)的RSA密钥(公钥和私钥)的密钥数据结构所占用的数位要少许多,因此,可以容易地在密钥强度相当的RSA密钥的密钥数据结构中放入对应的新近公开密钥加密算法的相应密钥数据,并在多余的、未使用的特定数位中加入预先预定的特征数位值。若某一密钥强度的RSA密钥的密钥数据结构不足以存放相应的非RSA密钥数据,则可以采用密钥强度更高的RSA密钥。
对于导入RSA密钥(公钥或私钥)的接口函数调用,所述密码模块按如下方式进行操作:
检查要导入的RSA密钥的密钥数据结构中的特定数位,看其值是否为预先约定的特征数位值,即检查要导入的RSA密钥是否是伪RSA密钥,若是,则从导入的密钥数据中分离出对应的新近公开密钥加密算法的相应密钥(如相应的ECC公钥或私钥);否则,按通常的RSA密钥完成导入操作。
需说明的是,在IBE数据加密中,通常我们把身份标识就称为公钥,但仅有身份标识是不足以完成有关的数据加密运算的,还需有相关的IBE公开参数(如相应的椭圆曲线参数及完成双线性映射所需的IBE公开参数等),因此,在本发明中所说的IBE公钥不但包括身份标识,而且包括完成密码运算所需的相关IBE公开参数。
对于使用RSA密钥(公钥或私钥)进行密码运算(如数据加密、解密,数字签名、签名验证等)的接口函数调用,所述密码模块按如下方式进行操作:
确定要使用的RSA密钥是一个真正的RSA密钥,还是对应一个新近公开密钥加密算法的密钥(如ECC、IBE密钥),如果是一个真正的RSA密钥,则按RSA加密算法使用该RSA密钥进行相关密码运算;否则,采用对应的新近公开密钥加密算法及对应的新近公开密钥加密算法的密钥进行相关密码运算。
对于伪RSA数字证书的签发,其具体实施方法如下:
若所述密码模块实现的新近公开密钥加密算法不是IBE算法,则由所述伪RSA数字证书签发工具或***,以前面所述的密码模块的导出RSA密钥的接口函数调用导出的伪RSA公钥为证书持有者公钥,签发一张X509格式的数字证书,供加密应用软件使用。
若所述密码模块实现的新近公开密钥加密算法是IBE算法,则数据加密方和加密数据解密方通过伪RSA数字证书签发工具或***,各自独立地生成相应的伪RSA数字证书,供加密应用软件使用。为了实现这一目的,所述加密模块除了实现所述标准密码模块接口所规定的接口函数外,还有专门的额外接口函数用于产生、导出身份标识(也即IBE公钥)对应的伪RSA公钥,供数据加密方生成伪RSA数字证书。所述加密模块按如下过程处理对该接口函数的调用:
步骤B1.通过专门的人机界面,提示用户输入(加密数据接收方,即数据解密方的)身份标识;
步骤B2.根据IBE公开参数和用户输入的身份标识生成身份标识对应的IBE公钥;
步骤B3.产生一个RSA公钥数据结构,将步骤B2产生IBE公钥放入到该RSA公钥数据结构中,并在该RSA公钥数据结构中未使用的特定数位中放入预先约定的特征数位值,之后,将该RSA公钥数据结构作为导出的公钥数据返回。
有了以上额外的用于产生、导出身份标识对应的伪RSA公钥的接口函数,IBE密钥对对应的伪RSA数字证书的产生过程如下:
数据加密方利用前面所述的密码模块的产生、导出身份标识对应的伪RSA公钥的额外接口函数,获得解密方身份标识(即IBE公钥)对应的伪RSA公钥,并以此伪RSA公钥生成一张伪RSA数字证书;加密数据解密方,即身份标识的拥有者,通过密码应用编程接口调用前面所述的密码模块的产生RSA密钥对的接口函数,产生自身身份标识相应的IBE密钥对,然后以前面所述的密码模块的导出RSA密钥的接口函数调用,以导出RSA公钥的方式导出IBE公钥对应的伪RSA公钥,即身份标识对应的伪RSA公钥,并以此伪RSA公钥生成一张伪RSA数字证书;加密数据加密方、解密方各自独立生成的伪RSA数字证书可以是自签名的证书,也可以是非自签名的证书,但两者各自独立生成的伪RSA数字证书具有相同的主题名(Subject Name)、颁发者名(Issuer Name)和序列号(Serial Number)。
在通常的数字证书签发***中,用户提交的数字证书签发请求不但包含有用户公钥,而且要用该公钥对应的私钥对证书签发请求进行数字签名;而证书签发***在签发数字证书前,需要用证书签发请求中的公钥验证证书签发请求的数字签名。在本发明中,数字证书中的用户RSA公钥是伪RSA公钥,对此,伪RSA数字证书签发工具或***可采用如下两种方式之一对证书签发请求中的数字签名进行处理:
方式1.不使用证书签发请求中的RSA公钥对证书签发请求的数字签名进行验证,该数字签名的值可以是随机数值,或者是预先约定的特定值;或者,
方式2.检查证书签发请求中的RSA公钥数据的特定数位的值是否是特征数位值,从而确定其是否是伪RSA公钥,若是,则从该伪RSA公钥中分离出相应的新近公开密钥算法的公钥,并用分离出的公钥对证书签发请求中的数字签名进行验证;否则,直接使用证书签发请求中的RSA公钥按通常的方法验证证书签发请求中的数字签名。
使用新近公开密钥加密算法(如ECC、IBE等)进行数据块加密时,将解密所需的随机性参数同时保存在加密数据块中。由于一个新近公开密钥加密算法的加密数据块的长度通常远远小于同等密码强度的RSA加密数据块的长度,为了使得采用新近公开密钥加密算法加密后的数据块的边界与相应的RSA加密数据块(如1024位)的边界对齐,可在一个或多个新近公开密钥加密算法的加密数据块后添加随机字节串。
本说明书未说明的具体技术实施,对于相关领域的技术人员而言是众所周知,不言自明的。
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

Claims (10)

1.一种基于伪RSA密钥的新近公开密钥加密算法的应用实现方法,包括数据加密***,所述数据加密***由如下几部分组成:
密码模块:一个实现了支持RSA加密算法功能调用的标准密码模块接口的软件或软硬模块,它提供对新近公开密钥加密算法的密码功能调用,包括新近公开密钥加密算法的密钥操作,以及基于新近公开密钥加密算法的密码运算;
IBE密钥服务器:只有在所述密码模块提供IBE加密算法功能时才需要该密钥服务器,它负责验证、维护用户与其身份标识间的对应关系,为用户产生其身份标识对应的IBE私钥;
伪RSA数字证书签发工具或***:基于伪RSA公钥生成伪RSA数字证书;
加密应用软件:通过标准密码应用编程接口调用所述密码模块,使用新近公开密钥加密算法进行数据加密、解密,数字签名、签名验证的软件程序或***;
所述新近公开密钥加密算法指RSA、DSA算法之外的、标准密码模块接口不能支持的新近提出、使用的其他公开密钥加密算法;
所述伪RSA密钥,包括伪RSA公钥和伪RSA私钥,其密钥数据在数据结构上与RSA密钥的一样,但密钥数据中存放的不是真正的RSA密钥数据,而是对应的新近公开密钥算法的密钥数据;
所述伪RSA数字证书是基于X509的标准格式的数字证书,该证书上的证书拥有者的RSA公钥不是真正的RSA公钥,而是所述伪RSA公钥;
所述伪RSA数字证书签发工具或***与通常的数字证书签发工具或***的功能类似,其主要差别在于它是用于签发伪RSA数字证书,而不是通常的数字证书。
2.根据权利要求1所述的一种基于伪RSA密钥的新近公开密钥加密算法的应用实现方法,其特征在于:若所述密码模块实现的新近公开密钥加密算法不是IBE算法,则对于产生RSA密钥对的接口函数调用,所述密码模块按如下方式进行操作:
产生一个新近公开密钥加密算法的密钥对,在内存或存储介质中生成相应的密钥对对象,然后返回密钥对对象的句柄、指针或引用。
3.根据权利要求1所述的一种基于伪RSA密钥的新近公开密钥加密算法的应用实现方法,其特征在于:若所述密码模块实现的新近公开密钥加密算法是IBE算法,则对于产生RSA密钥对的接口函数调用,所述密码模块和IBE密钥服务器按如下工作流程进行操作:
步骤1.密码模块通过专门的人机界面,提示用户输入其身份标识;
步骤2.用户输入、提交身份标识后,密码模块连接IBE密钥服务器;
步骤3.IBE密钥服务器要求对用户进行身份鉴别;
步骤4.密码模块通过人机界面,提示用户提交或选择其身份凭证;
步骤5.密码模块利用用户提交或选择的身份凭证及其相关私密数据,同IBE密钥服务器交互,完成用户身份鉴别;
步骤6.用户身份鉴别通过后,IBE密钥服务器进一步确认用户是身份标识的真正拥有者;
步骤7.用户是身份标识拥有者验证通过后,IBE密钥服务器产生用户身份标识对应的IBE私钥,然后,将IBE私钥返回给密码模块;
步骤8.密码模块基于IBE密钥服务器返回的IBE私钥,生成对应的IBE公钥,然后,在内存或存储介质中产生相应的IBE密钥对对象,最后,返回IBE密钥对对象的句柄、指针或引用。
4.根据权利要求1所述的一种基于伪RSA密钥的新近公开密钥加密算法的应用实现方法,其特征在于:所述密码模块对于导出RSA密钥的接口函数调用按如下方式进行操作:
确定要导出的RSA密钥是一个真正的RSA密钥,还是对应一个新近公开密钥加密算法的密钥,若是一个真正的RSA密钥,则按通常的RSA密钥导出完成有关操作;否则,产生一个RSA密钥数据结构,将要导出的RSA密钥对应的新近公开密钥加密算法的密钥放入到该RSA密钥数据结构中,然后,在该RSA密钥数据结构中未使用的特定数位中放入预先约定的特征数位值,之后,将该RSA密钥数据结构作为导出的密钥数据返回。
5.根据权利要求4所述的一种基于伪RSA密钥的新近公开密钥加密算法的应用实现方法,其特征在于:所述特征数位值,可以是特别的数位串,也可以由相应的新近公开密钥加密算法的密钥经过特定的运算产生。
6.根据权利要求1或4所述的一种基于伪RSA密钥的新近公开密钥加密算法的应用实现方法,其特征在于:所述密码模块对于导入RSA密钥的接口函数调用按如下方式进行操作:
检查要导入的RSA密钥的密钥数据结构中的特定数位,看其值是否为预先约定的特征数位值,即检查要导入的RSA密钥是否是伪RSA密钥,若是,则从导入的密钥数据中分离出对应的新近公开密钥加密算法的相应密钥;否则,按通常的RSA密钥完成导入操作。
7.根据权利要求1所述的一种基于伪RSA密钥的新近公开密钥加密算法的应用实现方法,其特征在于:若所述加密模块实现的是IBE加密算法,则该密码模块除了实现所述标准密码模块接口所规定的接口函数外,还有专门的额外接口函数用于产生、导出身份标识对应的伪RSA公钥,也即IBE公钥对应的伪RSA公钥,供数据加密方生成伪RSA数字证书;对该接口函数的调用,所述加密模块按如下过程进行操作:
步骤1.通过专门的人机界面,提示用户输入身份标识;
步骤2.根据IBE公开参数和用户输入的身份标识生成身份标识对应的IBE公钥;
步骤3.产生一个RSA公钥数据结构,将步骤2产生的IBE公钥放入到该RSA公钥数据结构中,并在该RSA公钥数据结构中未使用的特定数位中放入预先约定的特征数位值,之后,将该RSA公钥数据结构作为导出的公钥数据返回。
8.根据权利要求1所述的一种基于伪RSA密钥的新近公开密钥加密算法的应用实现方法,其特征在于:所述密码模块对于使用RSA密钥进行密码运算的接口函数调用按如下方式进行操作:
确定要使用的RSA密钥是一个真正的RSA密钥,还是对应一个新近公开密钥加密算法的密钥,如果是一个真正的RSA密钥,则按RSA加密算法使用该RSA密钥进行相关密码运算;否则,采用对应的新近公开密钥加密算法及对应的新近公开密钥加密算法的密钥进行相关密码运算。
9.根据权利要求1或3或4或7所述的一种基于伪RSA密钥的新近公开密钥加密算法的应用实现方法,其特征在于:若所述密码模块实现的新近公开密钥加密算法不是IBE算法,则由所述伪RSA数字证书签发工具或***,以通过权利要求4所述的导出RSA密钥的接口函数调用导出的伪RSA公钥为证书持有者公钥,签发一张X509格式的数字证书,供加密应用软件使用;否则,数据加密方和加密数据解密方通过伪RSA数字证书签发工具或***,各自独立地生成相应的伪RSA数字证书,供加密应用软件使用,具体方法如下:
数据加密方利用权利要求7所述的密码模块的产生、导出身份标识对应的伪RSA公钥的额外接口函数,获得解密方身份标识对应的伪RSA公钥,即IBE公钥对应的伪RSA公钥,并以此伪RSA公钥生成一张伪RSA数字证书;加密数据解密方,即身份标识的拥有者,通过密码应用编程接口调用权利要求3所述的产生RSA密钥对的接口函数,产生自身身份标识相应的IBE密钥对,然后以权利要求4所述的导出RSA密钥的接口函数调用,以导出RSA公钥的方式导出IBE公钥对应的伪RSA公钥,即身份标识对应的伪RSA公钥,并以此伪RSA公钥生成一张伪RSA数字证书;加密数据加密方、解密方各自独立生成的伪RSA数字证书可以是自签名的证书,也可以是非自签名的证书,但两者各自独立生成的伪RSA数字证书具有相同的主题名、颁发者名和序列号。
10.根据权利要求1或4所述的一种基于伪RSA密钥的新近公开密钥加密算法的应用实现方法,其特征在于:所述伪RSA数字证书签发工具或***采用如下两种方式之一对证书签发请求中的数字签名进行处理:
方式1.不使用证书签发请求中的RSA公钥对证书签发请求的数字签名进行验证,该数字签名的值可以是随机数值,或者是预先约定的特定值;或者,
方式2.检查证书签发请求中的RSA公钥数据的特定数位的值是否是特征数位值,从而确定其是否是伪RSA公钥,若是,则从该伪RSA公钥中分离出相应的新近公开密钥算法的公钥,并用分离出的公钥对证书签发请求中的数字签名进行验证,否则,直接使用证书签发请求中的RSA公钥按通常的方法验证证书签发请求中的数字签名。
CN 201110248050 2011-08-26 2011-08-26 一种基于伪rsa密钥的新近公开密钥加密算法的数据加密*** Active CN102307096B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110248050 CN102307096B (zh) 2011-08-26 2011-08-26 一种基于伪rsa密钥的新近公开密钥加密算法的数据加密***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110248050 CN102307096B (zh) 2011-08-26 2011-08-26 一种基于伪rsa密钥的新近公开密钥加密算法的数据加密***

Publications (2)

Publication Number Publication Date
CN102307096A true CN102307096A (zh) 2012-01-04
CN102307096B CN102307096B (zh) 2013-10-16

Family

ID=45380911

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110248050 Active CN102307096B (zh) 2011-08-26 2011-08-26 一种基于伪rsa密钥的新近公开密钥加密算法的数据加密***

Country Status (1)

Country Link
CN (1) CN102307096B (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103078743A (zh) * 2013-01-15 2013-05-01 武汉理工大学 一种电子邮件ibe加密实现方法
CN103117861A (zh) * 2013-01-31 2013-05-22 武汉理工大学 基于伪rsa的ibe加密中ibe密钥信息的传递方法
CN103326861A (zh) * 2013-06-04 2013-09-25 北京华大信安科技有限公司 一种对数据进行rsa安全签名的方法、装置及安全芯片
CN103532704A (zh) * 2013-10-08 2014-01-22 武汉理工大学 一种针对owa的电子邮件ibe加密***
CN103560882A (zh) * 2013-10-29 2014-02-05 武汉理工大学 一种基于标识的椭圆曲线密码***
CN103825741A (zh) * 2014-01-24 2014-05-28 安徽云盾信息技术有限公司 一种加密设备生产过程中注入带签名的证书的解决方法
CN104363091A (zh) * 2014-12-01 2015-02-18 国家计算机网络与信息安全管理中心 一种自动检索密钥和选择算法的加解密方法
CN106059760A (zh) * 2016-07-12 2016-10-26 武汉理工大学 一种从用户端密码模块调用***私钥的密码***
CN107295000A (zh) * 2017-07-12 2017-10-24 郑州云海信息技术有限公司 一种基于证书的通信方法及***
CN107317684A (zh) * 2017-08-22 2017-11-03 浪潮(北京)电子信息产业有限公司 一种网络适配器的安全操作方法及***
CN107896231A (zh) * 2017-12-27 2018-04-10 江苏联宏智慧能源股份有限公司 一种能源托管平台***远程通讯的数据加密方法
CN110691060A (zh) * 2018-07-06 2020-01-14 武汉信安珞珈科技有限公司 一种基于csp接口实现远端设备密码服务的方法和***
CN112580061A (zh) * 2019-09-27 2021-03-30 科大国盾量子技术股份有限公司 一种量子加解密应用接口的调用方法及相关设备
CN112737779A (zh) * 2020-12-30 2021-04-30 深圳市宝能投资集团有限公司 一种密码机服务方法、装置、密码机及存储介质
CN114128218A (zh) * 2019-07-17 2022-03-01 微软技术许可有限责任公司 隔离计算机网络中的证书管理

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050084100A1 (en) * 2003-10-17 2005-04-21 Terence Spies Identity-based-encryption system with district policy information
CN101567780A (zh) * 2009-03-20 2009-10-28 武汉理工大学 一种针对加密数字证书的密钥管理与恢复方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050084100A1 (en) * 2003-10-17 2005-04-21 Terence Spies Identity-based-encryption system with district policy information
CN101567780A (zh) * 2009-03-20 2009-10-28 武汉理工大学 一种针对加密数字证书的密钥管理与恢复方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王玮,等: "基于SJW86-A加密卡的Cryptoki实现", 《中国科技论文在线》, 14 April 2011 (2011-04-14), pages 1 - 4 *

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103078743A (zh) * 2013-01-15 2013-05-01 武汉理工大学 一种电子邮件ibe加密实现方法
CN103078743B (zh) * 2013-01-15 2015-07-08 武汉理工大学 一种电子邮件ibe加密实现方法
CN103117861A (zh) * 2013-01-31 2013-05-22 武汉理工大学 基于伪rsa的ibe加密中ibe密钥信息的传递方法
CN103117861B (zh) * 2013-01-31 2015-04-08 武汉理工大学 基于伪rsa的ibe加密中ibe密钥信息的传递方法
CN103326861B (zh) * 2013-06-04 2016-12-28 北京华大信安科技有限公司 一种对数据进行rsa安全签名的方法、装置及安全芯片
CN103326861A (zh) * 2013-06-04 2013-09-25 北京华大信安科技有限公司 一种对数据进行rsa安全签名的方法、装置及安全芯片
CN103532704A (zh) * 2013-10-08 2014-01-22 武汉理工大学 一种针对owa的电子邮件ibe加密***
CN103532704B (zh) * 2013-10-08 2016-08-17 武汉理工大学 一种针对owa的电子邮件ibe加密***
CN103560882A (zh) * 2013-10-29 2014-02-05 武汉理工大学 一种基于标识的椭圆曲线密码***
CN103560882B (zh) * 2013-10-29 2016-08-17 武汉理工大学 一种基于标识的椭圆曲线密码***
CN103825741A (zh) * 2014-01-24 2014-05-28 安徽云盾信息技术有限公司 一种加密设备生产过程中注入带签名的证书的解决方法
CN104363091A (zh) * 2014-12-01 2015-02-18 国家计算机网络与信息安全管理中心 一种自动检索密钥和选择算法的加解密方法
CN106059760A (zh) * 2016-07-12 2016-10-26 武汉理工大学 一种从用户端密码模块调用***私钥的密码***
CN107295000A (zh) * 2017-07-12 2017-10-24 郑州云海信息技术有限公司 一种基于证书的通信方法及***
CN107317684A (zh) * 2017-08-22 2017-11-03 浪潮(北京)电子信息产业有限公司 一种网络适配器的安全操作方法及***
CN107896231A (zh) * 2017-12-27 2018-04-10 江苏联宏智慧能源股份有限公司 一种能源托管平台***远程通讯的数据加密方法
CN107896231B (zh) * 2017-12-27 2020-12-01 江苏联宏智慧能源股份有限公司 一种能源托管平台***远程通讯的数据加密方法
CN110691060A (zh) * 2018-07-06 2020-01-14 武汉信安珞珈科技有限公司 一种基于csp接口实现远端设备密码服务的方法和***
CN110691060B (zh) * 2018-07-06 2022-08-09 武汉信安珞珈科技有限公司 一种基于csp接口实现远端设备密码服务的方法和***
CN114128218A (zh) * 2019-07-17 2022-03-01 微软技术许可有限责任公司 隔离计算机网络中的证书管理
CN114128218B (zh) * 2019-07-17 2023-12-01 微软技术许可有限责任公司 隔离计算机网络中的证书管理
CN112580061A (zh) * 2019-09-27 2021-03-30 科大国盾量子技术股份有限公司 一种量子加解密应用接口的调用方法及相关设备
CN112580061B (zh) * 2019-09-27 2023-04-07 科大国盾量子技术股份有限公司 一种量子加解密应用接口的调用方法及相关设备
CN112737779A (zh) * 2020-12-30 2021-04-30 深圳市宝能投资集团有限公司 一种密码机服务方法、装置、密码机及存储介质

Also Published As

Publication number Publication date
CN102307096B (zh) 2013-10-16

Similar Documents

Publication Publication Date Title
CN102307096B (zh) 一种基于伪rsa密钥的新近公开密钥加密算法的数据加密***
US10666428B2 (en) Efficient methods for protecting identity in authenticated transmissions
CN110383757B (zh) 用于安全处理电子身份的***和方法
CN111080295B (zh) 一种基于区块链的电子合同处理方法以及设备
CN102255729B (zh) 一种基于媒介数字证书的ibe数据加密***
CN103716322B (zh) 密钥下载方法、管理方法、下载管理方法及装置和***
CN103714642B (zh) 密钥下载方法、管理方法、下载管理方法及装置和***
US9900148B1 (en) System and method for encryption
CN103701609A (zh) 一种服务器与操作终端双向认证的方法及***
CN101005357A (zh) 一种更新认证密钥的方法和***
CN103560882A (zh) 一种基于标识的椭圆曲线密码***
CN109547208B (zh) 金融电子设备主密钥在线分发方法及***
CN105162607A (zh) 一种支付账单凭证的认证方法及***
CN108173659A (zh) 一种基于ukey设备的证书管理方法、***及终端设备
CN104104505A (zh) 一种电子签名设备及其实现方法及客户端
CN116743375A (zh) 一种密钥传输方法、装置、设备及存储介质
CN118296632A (zh) 一种基于多级加密的金融数据安全管理方法和***
CN112380574A (zh) 一种基于区块链及se芯片的数据上链方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: BEIJING ITRUSCHINA CO., LTD.

Effective date: 20121214

C41 Transfer of patent application or patent right or utility model
C53 Correction of patent of invention or patent application
CB03 Change of inventor or designer information

Inventor after: Long Yihong

Inventor after: Tang Zhihong

Inventor before: Long Yihong

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: LONG YIHONG TO: LONG YIHONG TANG ZHIHONG

TA01 Transfer of patent application right

Effective date of registration: 20121214

Address after: 430070 Hubei Province, Wuhan city Hongshan District Luoshi Road No. 122

Applicant after: Wuhan University of Technology

Applicant after: Beijing iTrusChina Co., Ltd.

Address before: 430070 Hubei Province, Wuhan city Hongshan District Luoshi Road No. 122

Applicant before: Wuhan University of Technology

C14 Grant of patent or utility model
GR01 Patent grant