pki的数字认证系统的设计与实现(源码)

在信息时代,信息成为一种重要的战略资源。由于计算机和网络在各领域的广泛应用,社会对计算机和网络的依赖越来越大,因此,信息安全已成为世人关注的社会问题和信息科学技术领域的研究热点。PKI技术能保证信息的机密性、完整性与不可抵赖性,是当前网络安全认证领域中的最佳技术, 已经被广泛应用于电子商务等领域中。本文介绍了密码学基础理论与身份认证方式,并详细阐述了PKI 的相关技术;通过分析具体功能需求,设计了一个简单的小型数字认证系统;该系统实现了证书生成、证书撤销、证书更新、密钥管理等功能。此外,针对信息传输过程中存在的信息窃听问题,借助SSL协议建立了数据传输的安全通道,实现了基于数字证书的身份认证。
引言
目录
2密码学基础及身份认证理论
2.1 密码学基础
2.1.1 密码学概述
密码学(cryptography)起源于保密通讯工作,其核心理论是对信息进行伪装隐藏,即对数据进行数字交换处理。处理前的原始消息称之为明文,经过处理后的加密数据称之为密文。对原始明文消息进行处理称为加密,将密文恢复为原始消息称为解密。
密码系统(即密码体制)由5部分构成:
(1)消息空间:明文消息m的集合,通常用M表示。
(2)密文空间:密文c的集合,通常用C表示。
(3)密钥空间:密钥k的集合,通常用K表示。
(4)加密算法:使用生成或分配的密钥k将明文m加密成密文c的变换函数,通常用E表示,即c=Ek(m),也可表示为c=E(m,k)。
(5)解密算法:使用生成或分配的密钥k将密文c解密成明文m的变换函数,通常用D表示,即m=Dk(c),也可表示为m=D(c,k)。
典型的密码体制如图1 所示。
图1 密码体制
2.1.2 对称密钥体制
由图1知,加密过程中需要加密密钥Ke,解密算法中需要解密密钥Kd。如果一个密码体制中的Ke和Kd相同,或由一个密钥可以较轻易地推算出另一个,则该密码体制为对称密钥加密体制(Symmetric Cryptosystem)。典型的对称密钥密码体制有DES、AES等。对称密钥体制如图2所示。
图 2 对称密码体制
 *好棒文|www.hbsrm.com +Q: *351916072* 
图所示的对称密钥体制中,算法是允许公开的,因为密钥体制安全与否应主要取决于其密钥的安全性而非算法,所以用户的密钥必须保证安全不泄露。
对称密码体制因为其具有密钥长度相对较短、保密度高、加解密处理速度快、经济等优点,发展非常迅速,并被广泛使用。但其缺点同样明显:
密钥管理和分发复杂、代价高;
数字签名困难,难以解决不可抵赖性。
2.1.3 非对称密钥体制
非对称密钥体制(Asymmetric Cryptosystem)也称为公钥密钥密码体制(Public Key Cryptosystem)。即加密过程和解密过程使用不同的密钥来完成。进一步说,若是在计算上由Ke不能推出Kd,那么Ke公开不会破坏Kd的安全性。这样,即使是将Ke公开也不会暴露Kd,于是可以公开Ke。而Kd则由使用者私密保存,避免了攻击者攻击密钥传输信道获得密钥带来的危险。
因此,公开密钥密码体制中,一个使用者有两个密钥,即公钥Ke和私钥Kd,加解密的过程如下:
用户发送明文消息m时,用接收方公开的接收方公钥Ke对消息进行加密操作E:c=Eke(m)。
②接收方收到密文c之后,使用自己保存的秘密的私钥Kd进行解密操作D从而恢复明文m:m=Dkd(c)。加密模型如图3所示。
图3 公开密钥加解密模型
相反的,如果要实现签名与验证模型,则操作过程如下:
如果要对某个用户的身份或其发送消息的权威性进行认证,则该用户可以用其私钥Kd对明文m进行加密操作E,从而得到密文c:c=Ekd(m)。
②提出认证方收到密文c之后,用被验证方的公钥Ke进行解密操作D以恢复明文m:m=Dke(c)。如果解密成功,说明执行加密算法的确实是用户的私钥,从而认证了用户的身份,实现了不可抵赖性的功能。验证模型如图4所示。
图 4 公开密钥签名验证模型
由此可见,加密算法E和解密算法D是可逆运算,即:D(E(m))=m。
2.1.4 RSA算法
RSA密码是目前应用最广泛的公钥密码体制。它既能用于加密,又能用于数字签名,易于使用者理解和实现。
RSA算法的安全性依赖于大整数因子分解的困难性。两个大素数相乘十分容易,但对其乘积进行因式分解却非常困难,因此可以将乘积公开作为加密密钥。具体算法描述如下:
选取两个足够大的保密素数p和q ;
(2)计算n(公开)=p*q,n的欧拉函数为F(n)(保密)=(p1)*(q1);
(3)随机选取一个相对比较大的正整数e(1 (4)根据e*d≡1modF(n),(≡表示模同余运算)计算出d,d保密,d和n就构成了用户的私钥;
(5) 加密运算为:C=M^e modn;
(6)解密运算为:M=C^d modn;
有以上算法可见,RSA密码的公开加密密钥Ke=,而保密的解密密钥Kd=
2.2身份认证理论
2.2.1 身份认证概述
在我们实际生活中,身份的认证主要是通过各种身份证件等来进行确认的。而在电子信息系统中,电子用户的身份及其信息资源安全也需要相应的身份认证机制来保障。
2.2.2 身份认证的方式
1.静态密码方式
指的是使用用户名及密码进行用户身份认证的方式。其优点是无论是使用还是部署都非常简单,是目前各网站app等最常使用广泛的身份认证方法。但是由于账号密码是静态的,一旦被破获或者泄露,就变得极其不安全。
2.动态口令认证

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/jsjkxyjs/1751.html

好棒文