一种基于媒介数字证书的IBE数据加密系统技术方案

技术编号:6886619 阅读:417 留言:0更新日期:2012-04-11 18:40
本发明专利技术是一种基于媒介数字证书的IBE数据加密系统,本发明专利技术的系统包括四个组成部分:IBE?CSP、IBE密钥管理客户端、IBE密钥服务器以及IBE客户端安装软件,其中IBE?CSP是本发明专利技术的核心和关键。本发明专利技术使得不支持IBE加密技术的系统、应用能够使用IBE技术进行数据加密与解密。本发明专利技术以媒介数字证书为桥梁,通过一个注册提供RSA、ECC或其他X509证书支持的非对称密码算法、但实际上实现IBE算法的Windows?CSP,将基于RSA、ECC或其他非对称密码算法的数据加密、解密运算自动转换为相应的基于IBE算法的数据加密、解密运算。

【技术实现步骤摘要】

本专利技术属于数据加密
,是一种基于媒介数字证书的IBE (Identity Based Encryption 基于身份标识的加密)数据加密系统,特别是使得不支持IBE加密技术的系统、应用能够使用IBE技术进行数据加密和解密。
技术介绍
在公开密钥加密体系中,公钥(Public Key)用于数据的加密和数字签名的验证, 私钥(Private Key)用于数据的解密和数字签名。为了提高数据加密、解密的效率,在使用公开密钥加密技术的实际应用中,当一方向另一方发送加密时,发送方通常先用随机产生的对称密钥对数据进行加密,然后再使用接收方的公钥对随机产生的对称密钥进行加密, 之后,发送方将加密后的数据和加密后的对称钥一起发送到接收方;接收方接收到加密数据及加密后的对称密钥后,先用自己私钥解密加密的对称密钥,然后用解密后的对称密钥解密数据。从以上描述可以看到,在公开密钥体系中一方要向另一方发送加密数据,必须先获得对方的公钥,因此,公钥的拥有者(即加密数据的接收方)需通过一定的安全途径发布其公钥,以使得其他人(或实体)能够使用其公钥向其发送加密数据。在公开密钥体系中, 为了解决这一问题,人们提出了公开密钥基础设施(Public Key Infrastructure, PKI)安全技术体系。在PKI体系中,由一个数字证书认证中心(Certification Authority, CA)作为可信的第三方签发数字证书(Digital Certificate)来进行用户(实体)公钥的发布。 CA签发的数字证书除了包含证书持有人的公钥外,还包含有证书持有人的其他身份信息, 如姓名、所属组织、电子邮件地址等。证书由CA使用其私钥进行数据签名,以保证证书中信息的可信性、安全性。数字证书有时又分为加密证书和身份证书,前者用户数据的加密解密,后者用户身份的鉴别、数字签名及签名验证。这样,在PKI体系中,一方要向另一方发送加密数据,发送方需先通过一定的途径(如从CA的公开证书目录服务)获取接收方的(加密)数字证书,然后从数字证书中提取接收方的公钥。目前数字证书最常用的公开密钥算法是RSA和DSA算法,以及最新获得广泛重视的ECC(Elliptic Curve Cryptography)算法。 RSA、ECC数字证书既可用于数据加密和解密,又可以用于数字签名和签名验证;DSA数字证书只用于数字签名和签名验证。目前绝大部分操作系统、应用都支持RSA、DSA数字证书,支持ECC数字证书的应用也开始出现。在PKI体系中,要发送加密数据,必须事先获取对的(加密)数字证书,这对于许多普通用户来说不是一件容易的事,这也是PKI技术体系在实际应用中存在的一个比较突出的问题,为了解决这问题,人们提出了基于身份标识的加密(Identity Based Encryption, IBE)。IBE也是一种公开密钥加密技术。使用IBE进行传送数据加密时,发送方无需事先获得接收方的数字证书,只需事先知道可唯一标识对方身份的一个标识(如身份证号、电子邮件地址等),然后基于这个身份识别结合一组公开参数就可以进行数据加密 (类似地,通常是先用随机产生的对称密钥加密数据,然后用IBE公钥加密随机产生的对称密钥)。这里,身份标识和一组公开参数就构成了 IBE公钥,(但在实际应用中人人常常把身份标识简称为公钥)。接收方收到数据后,使用自己身份标识对应的私钥即可解密数据 (严格说来,私钥也是由一组公开参数和通过身份标识计算得到私密信息构成)。接收方身份标识对应的私钥是由一个IBE密钥服务器(Key Server)产生的。接收方要获得自己身份标识对应的IBE私钥,需先在IBE密钥服务器完成身份鉴别并证明其是相应身份标识的拥有者(身份鉴别可以通过身份数字证书来实现,或其它强身份鉴别方式实现),之后通过安全通道从IBE密钥服务器获得其IBE私钥,并将私钥安全保存以供日后使用。IBE密钥服务器会通过安全方式发布一组公开参数,以便任何人用其计算某个标识对应的IBE公钥 (进行数据加密)。IBE加密有其独特的优点,它为数据传送加密带来了方便,但IBE技术在实际应用中也存在一个突出的问题目前的操作系统(如Windows)和应用软件(如Outlook)大都不支持IBE加密技术,相反地,目前的大多数操作系统和应用都支持RSA公开密钥算法及 RSA数字证书。本专利技术就是通过媒介数字证书(如媒介RSA或ECC数字证书)使得在不支持IBE技术的Windows环境(或其他操作系统)、应用中能够使用IBE技术进行数据的加密、解密,其关键技术是开发一个对外注册提供RSA、ECC算法(或其他非对称密码算法), 但内部实际上实现IBE算法的IBE CSP (Cryptographic Service ftOvider 加密服务提供者)。Windows系统中数据加密、解密的功能主要是通过CryptoAPI和CSP来实现的,其中CryptoAPI是一个加密应用编程接口,CSP是真正完成密钥存储、操作与运算的地方,CSP 通过CryptoSPI接口来提供相关功能。应用程序通过调用CryptoAPI使用CSP。Windows系统有多种不同类型的CSP以支持不同的密钥算法和用途,如类型l(Type UPRSA Full)、 类型 3 (Type 3,即 DSS Signature)、类型 12 (Type 12,即 RSA Schannel),而每个类型的 CSP 又可以有多个。如,类型1的CSP用于基于RSA算法的数据加密、解密,签名、签名验证, Windows 系统自带的 Microsoft Strong Cryptographic Provider、Microsoft Enhanced Cryptographic Provider 就是类型 1 白勺 CSP,并且 Microsoft Strong Cryptographic ftxwider是类型1的缺省(default) CSP ;类型3的CSP用于基于DSA算法的签名、签名验证,Windows 系统自带的 Microsoft Base DSS Cryptographic Provider 就是一个这样类型的CSP ;类型12的CSP可用于SSL3. O和TLS1. O的客户端验证,Windows系统自带的 Microsoft RSA SChannel Cryptographic Provider 就是一个这种类型的 CSP。
技术实现思路
本专利技术的目的是提供一种基于媒介数字证书的IBE数据加密系统,它借于媒介数字证书,使得不支持IBE加密算法的Windows系统及其应用能够使用IBE技术进行数据的加密、解密。这里所说的媒介数字证书是一个符合)(509规范的加密用途的数字证书(如RSA 或ECC加密数字证书),它不是由一个第三方证书认证机构或者专门的CA系统签发,而是由用户(利用客户端工具)自己生成的一个自签名根CA证书的私钥来签发,且被签发的证书的主题名(Subject Name)与该用户的身份标识相对应(或包含有身份标识信息,如邮件地址、身份证号等)。尽管每个用户自己生成的自签名根CA证书的公私密钥对各不相同,但它们的主题名和颁发者名(Issue本文档来自技高网
...

【技术保护点】
1.一种基于媒介数字证书的IBE数据加密系统,该系统由如下四个部分组成:IBE CSP:一个注册提供某种非对称密码算法的特定类型的Windows CSP,它通过扩展接口函数完成IBE密钥的存储操作,通过CryptoSPI接口函数提供其他的密码操作与运算功能,其中,对于基于所述非对称密码算法的数据加密解密运算,它将其转换成相应的基于IBE的数据加密解密运算,而对于其它的密钥操作及密码运算,它通过CryptoSPI直接调用一个Windows自带的相同类型的CSP完成相应的操作与运算,该Windows自带的相同类型的CSP称为IBE关联CSP;IBE密钥管理客户端:负责自签名根CA数字证书的生成和签名,媒介数字证书的生成和签名,IBE密钥的获取和存储;在加密数据的发送方,它负责基于接收方的身份标识产生接收方的IBE公钥并将其保存在本地计算机系统中,以及生成身份标识对应的媒介数字证书,供加密应用软件使用;对于身份标识的拥有者,即加密数据接收方,它负责根据身份标识产生对应的媒介数字证书,从IBE密钥服务器获得标识对应的IBE私钥,并将IBE密钥对保存到IBE CSP中供加密应用软件使用;IBE密钥服务器:负责对身份标识拥有者进行身份鉴别,验证其是身份标识的真正拥有者,为标识产生IBE私钥并通过安全通道将IBE私钥返回给身份标识的拥有者;IBE客户端安装软件:负责IBE CSP和IBE密钥管理客户端的安装及设置;所述非对称密码算法是指X509证书支持的、能用于对称密钥或数据加密解密的非对称密码算法,包括但不限于RSA、ECC算法;所述非对称密码算法的所述特定CSP类型,是指提供所述非对称密码算法密码功能的一个特定的CSP类型,包括但不限于Windows目前已定义的CSP类型;所述IBE CSP扩展接口函数,是在CryptoSPI接口函数之外定义的专门用于IBE密钥存储操作的接口函数;所述媒介数字证书是一种符合X509规范的加密用途的数字证书,它由用户的IBE密钥管理客户端自己生成的一个自签名根CA证书的私钥来签发,且被签发的证书的主题名与该用户的身份标识相对应;所述自签名根CA证书的主题名和颁发者名相同,具有固定的特定名称,且该自签名根CA证书的序列号具有固定值;所述加密数据的发送方即数据的加密方,而所述加密数据的接收方即加密数据的解密方。...

【技术特征摘要】
1.一种基于媒介数字证书的IBE数据加密系统,该系统由如下四个部分组成IBE CSP:—个注册提供某种非对称密码算法的特定类型的Windows CSP,它通过扩展接口函数完成IBE密钥的存储操作,通过CryptoSPI接口函数提供其他的密码操作与运算功能,其中,对于基于所述非对称密码算法的数据加密解密运算,它将其转换成相应的基于 IBE的数据加密解密运算,而对于其它的密钥操作及密码运算,它通过CryptoSPI直接调用一个Windows自带的相同类型的CSP完成相应的操作与运算,该Windows自带的相同类型的CSP称为IBE关联CSP ;IBE密钥管理客户端负责自签名根CA数字证书的生成和签名,媒介数字证书的生成和签名,IBE密钥的获取和存储;在加密数据的发送方,它负责基于接收方的身份标识产生接收方的IBE公钥并将其保存在本地计算机系统中,以及生成身份标识对应的媒介数字证书,供加密应用软件使用;对于身份标识的拥有者,即加密数据接收方,它负责根据身份标识产生对应的媒介数字证书,从IBE密钥服务器获得标识对应的IBE私钥,并将IBE密钥对保存到IBE CSP中供加密应用软件使用;IBE密钥服务器负责对身份标识拥有者进行身份鉴别,验证其是身份标识的真正拥有者,为标识产生IBE私钥并通过安全通道将IBE私钥返回给身份标识的拥有者; IBE客户端安装软件负责IBE CSP和IBE密钥管理客户端的安装及设置; 所述非对称密码算法是指X509证书支持的、能用于对称密钥或数据加密解密的非对称密码算法,包括但不限于RSA、ECC算法;所述非对称密码算法的所述特定CSP类型,是指提供所述非对称密码算法密码功能的一个特定的CSP类型,包括但不限于Windows目前已定义的CSP类型;所述IBE CSP扩展接口函数,是在CryptoSPI接口函数之外定义的专门用于IBE密钥存储操作的接口函数;所述媒介数字证书是一种符合X509规范的加密用途的数字证书,它由用户的IBE密钥管理客户端自己生成的一个自签名根CA证书的私钥来签发,且被签发的证书的主题名与该用户的身份标识相对应;所述自签名根CA证书的主题名和颁发者名相同,具有固定的特定名称,且该自签名根 CA证书的序列号具有固定值;所述加密数据的发送方即数据的加密方,而所述加密数据的接收方即加密数据的解密方。2.根据权利要求1所述的一种基于媒介数字证书的IBE数据加密系统,其特征在于 IBE客户端安装软件在安装过程中对Windows的注册表进行如下修改将HKEY_LOCAL_MACHINE- > Software- > Microsoft- > Cryptography- > Defaults- > Provider Types下的IBE CSP对应的CSP类型所对应的子键的值中设定的缺省CSP设定为 IBE CSP。3.根据权利要求1所述的一种基于媒介数字证书的IBE数据加密系统,其特征在于 当加密数据发送方启动IBE密钥管理客户端、进入获取接收方媒介数字证书的功能、并输入接收方的身份标识后,IBE密钥管理客户端将按如下流程生成、签发并保存接收方身份标识对应的媒介数字证书,生成并保存接收方身份标识对应的IBE公钥第1步.在本地证书库的受信任的颁发机构根证书存储区中查看是否有具有特定主题名的、用于签发媒介数字证书的所述自签名根CA证书,若没有,转入第3步;否则,转入下一步;第2步.进一步检查该自签名根CA证书是否有私钥,若有,转入第4步;否则,删除该自签名根CA证书,然后转入下一步;第3步.通过CryptoAPI调用IBE关联CSP产生一个密钥对,并基于该密钥对生成一个自签名的CA数字证书,该CA证书的主题名和颁发者名相同,具有预先设定的特定名称, 证书序列号由主题名和颁发者名的散列值产生,自签名根CA数字证书生成、签名完成后, 将该自签名根CA数字证书放入本地证书库中的受信任的颁发机构根证书存储区中,之后转入下一步;第4步.通过CryptoAPI调用IBE关联CSP产生一个密钥对,并基于该密钥对生成一个待签名的数字证书,该证书的主题名中包含有接收方的身份标识信息,颁发者名为所述自签名根CA证书的主题名,而证书序列号由主题名和颁发者名的散列值产生,证书的密钥用途设置为密钥加密,然后用所述自签名根CA证书的私钥对待签名数字证书签名生成一个媒介数字证书;第5步.调用Windows提供的证书管理编程接口,将该刚签发的媒介数字证书放入本地证书库中的其他人证书存储区中,以及通过相应的自动或手动手段将该证书放入到特定应用程序的特定证书存储区中;第6步.基于接收方身份标识及IBE公开参数生成接收方的IBE公钥; 第7步.调用IBE CSP的扩展接口,将第6步产生的IBE公钥存入IBE CSP中,调用接口参数中除了 IBE公钥外,还有第4步中生成的媒介数字证书的公钥;在以上步骤中,是先生成IBE公钥还是先生成媒介数字证书,其先后顺序是无关紧要的。4.根据权利要求3所述的一种基于媒介数字证书的IBE数据加密系统,其特征在于 当IBE密钥管理客户端按所述第7步调用IBECSP的扩展接口将IBE公钥存入IBE CSP时, IBE CSP扩展接口函数按如下方式进行有关操作为该IBE公钥在存储介质中创建一个永久性的IBE公钥对象,将接口中提供的IBE公钥保存到该IBE公钥对象中,同时将调用接口中提交的媒介数字证书的公钥以及该公钥散列值也保存在该永久性IBE公钥对象中,使得该永久性IBE公钥对象与输入的媒介数字证书的公钥关联、对应;所述与IBE公钥对应的、相关联的媒介数字证书的公钥称为对应IBE公钥的影子公钥。5.根据权利要求1所述的一种基于媒介数字证书的IBE数据加密系统,其特征在于 当身份标识的拥有者,即加密数据接收方,启动IBE密钥管理客户端、进入获取本人媒介数字证书功能、并输入本人身份标识信息后,IBE密钥管理客户端和IBE密钥服务器按如下流程,生成与身份标识对应的媒介数字证书,产生与身份标识对应的IBE密钥对,并将IBE密钥对保存到IBE CSP中步骤1. IBE密钥管理客户端以安全的方式连接IBE密钥服务器,申请获取用户身份标识对应的IBE私钥;步骤2. IBE密钥服务器要求对客户端进行身份鉴别;步骤3. IBE密钥管理客户端提交用户的身份凭证进行身份鉴别; 步骤4. IBE密钥服务器完成对客户端用户的身份鉴别后,通过预先设定的方式验证用户确实为身份标识的拥有者;步骤5.若用户身份鉴别和身份标识归属验证获得通过,则IBE密钥服务器为用户产生标识对应的IBE私钥,并通过安全通道将IBE私钥返回到IBE密钥管理客户端,否则,返回出错信息;步骤6. IBE密钥管理客户端接收到用户IBE私钥后,从IBE私钥中提取相关信息,产生相应的IBE公钥,然后,转入下一步骤;步骤7. IBE密钥管理客户端在本地证书库的受信任的颁发机构根证书存储区中查看是否有具有特定主题名的、用于签发媒介数字证书的所述自签名根CA证书,若没有,转入步骤9;否则,转入下一步骤;步骤8. IBE密钥管理客户端进一步检查该自签名根CA证书是否有私钥,若有,转入步骤10 ;否则,删除该自签名根CA证书,然后转入下一步骤;步骤9. IBE密钥管理客户端通过CryptoAPI调用IBE关联CSP产生一个密钥对,并基于该密钥对生成一个自签名的CA数字证书,该CA证书的主题名和颁发者名相同,具有预先设定的特定名称,证书序列号由主题名和颁发者名的散列值产生,自签名根CA数字证书生成、签名完成后,将该自签名根CA数字证书放入本地证书库中的受信任的颁发机构根证书存储区中,之后转入下一步骤;步骤10. IBE密钥管理客户端通过CryptoAPI调用IBE关联CSP产生一个密钥对,并基于该密钥对生成一个待签名的数字证书,该数字证书的主题名包含有接收方的身份标识, 颁发者名为所述自签名根CA证书的主题名,而证书序列号由主题名和颁发者名散列值产生,证书的密钥用途设置为密钥加密,然后使用所述自签名根CA证书的私钥对待签名证书签名,生成一媒介数字证书,之后,转入下一步骤;步骤11. IBE密钥管理客户端通过调用扩展CSP接口,将前面步骤中获得的IBE密钥对存入IBE CSP中,调用扩展接口时,除了提供IBE密钥对外,还同时提供密钥容器标识以及刚签发的媒介数字证书的公钥,该公钥称为所述IBE密钥对的影子公钥,IBE密钥对保存成功后,转入下一步骤;步骤12.若在本地证书库的本人证书存储区中有先前产生的、与同一身份标识对应的媒介数字证书,则IBE密钥管理客户端将该证书清除,然后转入下一步骤;步骤13. IBE密钥管理客户端调用Windows的证书管理接口,将刚签名产生的媒介数字证书存入本地证书库的本人证书存储区中,并将证书私钥存储的CSP设置为权利要求1中所述的IBE CSP,私钥存储的CSP的类型设置为IBE CSP对应的CSP类型,私钥的密钥容器标识设置为步骤11调用扩展接口、在IBE CSP中保存用户IBE密钥对时提供的密钥容器标识,私钥的密钥用途设置为密钥交换;在以上步骤中,是先生成IBE密钥对还是先生成媒介数字证书,其先后顺序是无关紧要的。6.根据权利要求5所述的一种基于媒介数字证书的IBE数据加密系统,其特征在于 当IBE密钥管理客户端按所述步骤11调用IBECSP扩展接口保存IBE密钥对时,IBE CSP扩展接口按如下步骤进行有关操作第一步.在存储介质中创建一个永久性的IBE密钥容器,其密钥容器标识为调用扩展接口时输入的密钥容器标识,然后将接口中提供的IBE密钥对存放到该密钥容器中,该密钥对用途为密钥交换,并且进一步地将调用接口中提交的媒介数字证书的公钥及其散列值存入到该IBE密钥容器中,使得该密钥容器及其中的IBE密钥对与输入的媒介数字证书的公钥关联;第二步.通过CryptoSPI直接调用IBE关联CSP,在其中产生一个永久性的密钥容器, 称为第一步创建的IBE密钥容器的影子密钥容器,然后在该影子密钥容器中产生一用途是密钥交换的、永久性的密钥对,称为对应IBE密钥对的影子密钥对;第三步.将第二步产生的密钥容器的标识保存到第一步产生的IBE密钥容器中,从而将该IBE关联CSP中产生的影子密钥容器关联到第一步产生的IBE密钥容器,然后返回。7.根据权利要求1所述的一种基于媒介数字证书的IBE数据加密系统,其特征在于 所述IBE CSP按如下不同情形对通过CryptoSPI接口的接口函数调用进行相应处理情形1 对于通过接口函数CPAcquireContext获取密钥容器句柄的操作,根据接口调用中输入的密钥容器标识分别做如下处理若输入的密钥容器标识指向一个永久性IBE密钥容器,则进一步判断接口函数调用中的输入参数dwFlags的值是否为零或CRYPT_SILENT或CRYPT_DELETEKEYSET,若都不是,则返回出错;否则,再判断dwFlags的值是否为CRYPT_DELETEKEYSET,若是,则先通过直接调用IBE关联CSP的接口函数CPAcquireContext删除IBE关联CSP中对应的影子密钥容器, 然后,删除接口中输入的密钥容器标识所指向的永久性IBE密钥容器及其IBE密钥对,最后返回操作结...

【专利技术属性】
技术研发人员:龙毅宏
申请(专利权)人:武汉理工大学
类型:发明
国别省市:83

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1