【技术实现步骤摘要】
本专利技术属于数据加密
,是一种基于媒介数字证书的IBE (Identity Based Encryption 基于身份标识的加密)数据加密系统,特别是使得不支持IBE加密技术的系统、应用能够使用IBE技术进行数据加密和解密。
技术介绍
在公开密钥加密体系中,公钥(Public Key)用于数据的加密和数字签名的验证, 私钥(Private Key)用于数据的解密和数字签名。为了提高数据加密、解密的效率,在使用公开密钥加密技术的实际应用中,当一方向另一方发送加密时,发送方通常先用随机产生的对称密钥对数据进行加密,然后再使用接收方的公钥对随机产生的对称密钥进行加密, 之后,发送方将加密后的数据和加密后的对称钥一起发送到接收方;接收方接收到加密数据及加密后的对称密钥后,先用自己私钥解密加密的对称密钥,然后用解密后的对称密钥解密数据。从以上描述可以看到,在公开密钥体系中一方要向另一方发送加密数据,必须先获得对方的公钥,因此,公钥的拥有者(即加密数据的接收方)需通过一定的安全途径发布其公钥,以使得其他人(或实体)能够使用其公钥向其发送加密数据。在公开密钥体系中, 为了解决这一问题,人们提出了公开密钥基础设施(Public Key Infrastructure, PKI)安全技术体系。在PKI体系中,由一个数字证书认证中心(Certification Authority, CA)作为可信的第三方签发数字证书(Digital Certificate)来进行用户(实体)公钥的发布。 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密 ...
【技术特征摘要】
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密钥对,最后返回操作结...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。