曲径通幽论坛

标题: PKI简述(公钥加密与公钥验证) [打印本页]

作者: easy    时间: 2013-11-25 21:00
标题: PKI简述(公钥加密与公钥验证)
PKI ((Public Key Infrastructure,公共密钥基础结构)主要提供了两种功能:

使用 公钥私钥 这组密钥来支持上述功能。

公钥:用户的公钥(public key)是可以公开给其他用户的。
私钥:用户的私钥(private key)为用户私有,并存储在用户的计算机中,只有本人可以访问。

用户需要通过 CA (Certification Authority,证书颁发机构) 申请证书的方法来获取公钥和私钥对。

公钥加密
PKI 使用公钥来加密/解密数据,工作原理简述如下:
比如说,张三手头有一对公钥和私钥,他将这个公钥告诉给李四,李四就用此密钥来加密电子邮件,然后发给张三。张三的计算机上存储有私钥,因此他可以正常读取邮件,如是其它用户通过非法手段拦截了该邮件,由于没有相应的私钥,无法解密,也就无法读取邮件的内容。

公钥加密简单的说:公钥用来加密,私钥用来解密,这种加密方法称之为“非对称(asymmetric)加密”。还有一种加密是“私钥加密”(secret key encryption),又称为“对称(symmetric)加密”,加密和解密使用同一个密钥。

公钥验证
还是以上面的张三和李四的收发电子邮件为例,注意这会儿李四手中有一组公钥和私钥,并将公钥告知了张三。李四向张三发送邮件,李四可以用“公钥验证”(Public Key Authentication)将要发送的数据进行“数字签名”,在张三收到邮件后,可以通过该数字签名来验证这邮件确实是李四发出的,同时还会检查数据在发送过程中是否被修改。

在上述过程中,发件人李四利用自己的的私钥将数据签名,而张三会利用李四的公钥来验证此份邮件。

那数字签名是如何产生,又是如何来验证身份的呢?

1. 李四的电子邮件通过消息散列算法(message hash algorithm),比如 sha1 的运算处理后,产生一个消息摘要(message digest),它又被称为“数字指纹”(digital fingerprint)。

2. 李四的电子邮件客户端利用李四的私钥将该消息摘要加密,所使用的加密方法为“公钥加密算法”(public key encryption algorithm),加密后的结果被称为数字签名。

3. 李四的电子邮件客户端将电子邮件本身与数字签名一起发送给张三。

4. 张三的邮件客户端在收到李四的邮件后,会将邮件本身和数字签名分开处理:






新的消息摘要如果与原的消息摘要相同,那么表示该邮件确实是李四发过来的,而且也没被恶意篡改,否则该邮件的发件人被假冒或者邮件内容已经被篡改。






欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2