微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 电源设计 > 基于PKI的匿名数字证书系统的研究

基于PKI的匿名数字证书系统的研究

时间:12-09 来源:互联网 点击:

际上广泛采用的标准协议。本系统中公钥/私钥对的生成以及利用公钥/私钥对的加密/解密运算采用可靠性极高的RSA算法,加密用的公开密钥和私有密钥的长度都是1024位。数字签名中的摘要技术采用MD5算法,它是目前可靠性较好和应用最为广泛的算法。匿名数字证书系统的总体结构如图1所示。

匿名数字证书系统包括下述主要功能:

1.申请匿名证书:若用户已获得由CA发布的实名证书,则用户可以通过该功能由实名证书构成匿名证书;若用户没有实名证书,则可以通过该功能先申请一个实名证书,再由此实名证书构造匿名证书。此时,申请人需要填写申请实名证书的相关资料,由RA进行审核,核准后由CA签发实名证书,并由RA颁发给用户。

2.签发匿名证书:构造生成匿名证书后,经由BI和AI处理器共同处理,得到由PCA签发的匿名证书。

3.查询匿名证书:用户可以通过互连网直接访问系统的LDAP证书库查询匿名证书和匿名证书撤销列表CRL.

4.追踪匿名证书:当需要对匿名证书进行追踪时,可通过此功能由匿名证书的序列号追踪到用户的真实身份。

5.撤销匿名证书:系统可以根据用户提出的匿名证书撤销请求对指定的匿名证书及实名证书予以撤销,并同时更新LDAP证书库和证书撤销列CRL.

三、匿名数字证书系统的实现

本系统中的CA,BI,AI都采用三层B/S架构,设计主要采用Java技术、数字签名和加密等技术,在实现过程中把RA集成在CA中,该系统主要有四个核心模块:Web服务器模块、CA服务器模块、BI服务器模块和AI服务器模块。该匿名数字证书系统需要三台服务器,分别是CA服务器、BI服务器和AI服务器。在三台服务器上分别安装WebLogic 8.1作为应用服务器,安装Oracel 10g企业版作为后台数据库。

1.申请匿名数字证书

由于本系统中的匿名证书是通过用户已有的实名证书构造而成的,所以若用户没有实名证书,可以先申请一个实名证书,若用户已经获得一个实名证书,就可以直接进入签发匿名证书模块。

(1)用户申请和签发实名证书

用户申请实名证书需要填写实名证书申请表并提交给CA服务器,CA服务器需要验证用户的有效证书是否存在,如果不存在则首先生成自签名证书,再使用服务器签名证书私钥进行签名,将证书存入证书数据库,并将证书压缩成zip格式通过Email发送给用户。

①申请实名证书

用户需要填写申请个人证书申请表,其中公共名称和单位名称为确认用户或单位身份的主要字段。组织名称、省、市、邮编为可选项。密钥大小可选择1024或2048.Email地址为生成证书时传递证书时使用,必须输入有效的地址,否则申请不成功。

②生成密钥

通过c o m . i b m . s e c u r i t y . x 5 0 9包中的CertAndKeyGen类设置生成证书的公钥算法、签名算法和Provider.若公钥算法是RSA,则签名算法为MD5withRSA;若公钥算法为DSA,则签名算法为SHA1withDSA.

③生成证书

生成证书过程又可以分为五个步骤,分别是生成主体信息,生成自签名证书,提取自签名证书信息,对自签名证书信息进行设置和形成证书。

④签发证书

通过KeyStore对象获得服务器证书的私钥caprk,通过证书的签名方法对新证书进行签名。

⑤把证书保存在证书库中

在密钥库中生成新实体,并将新实体与新签发的证书对应。

⑥将证书压缩发送给用户

设计中使用BASE64Encoder类转换为证书标准格式--BASE64编码,编码后的证书字符就可以在屏幕上显示、复制或打印。为了作为Email附件进行发送,必须将生成的证书编码进行压缩,设计中使用ZipOutputStream类进行处理,处理后生成zip格式的压缩文件,然后通过编写的发送邮件类MailandFile给用户发送Email,申请证书过程完成。

(2)签发匿名数字证书

签发匿名证书的过程是由BI服务器和AI服务器共同来完成。该过程主要包括:构造匿名证书、生成摘要并盲化、由BI服务器签名和由AI服务器签名。

①构造匿名证书

匿名证书的构造是通过应用程序生成的匿名证书的主体名、匿名密钥和匿名证书的序列号与取来的实名证书的其它字段的值共同构造成匿名证书。通过调用KeyPairGenerator方法来生成匿名密钥对,采用RSA算法,生成匿名证书序列号,通过使用SecureRandom类生成一个128位的随机数r1,再使用MessageDigest对匿名公钥及随机数生成摘要形成匿名证书序列号sn,然后,通过调用X500Name类

重新设置通用名,公钥及序列号来构造匿名证书。

②生成摘要及盲化

通过MD5算法对匿名证书生成摘要,并取随机数进行盲化,并调用定义的签名类对证书进行签名以便BI对用户身份验证,为BI验证用户身份,用户需要对证书进行签名。

③BI签名

BI通过调用自定义的验证签名类验证证书上的签名来确认用

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top