数字证书简介

1、为什么

        在说清楚数字证书是什么之前,先要搞清楚为什么要有数字证书,或者说数字证书的出现是为了解决什么问题。

        请看以下通信流程:

1.1、使用数字签名技术防止信息伪造

1.1.1、发送明文信息

        小灰灰给懒羊羊发了一条信息,约懒羊羊去玩。

1.1.2、黑客对明文信息的拦截篡改

        但我们知道,网络通信是不安全。如果直接发送明文信息,很容易被黑客拦截篡改。

1.1.3、使用非对称加密算法对明文加密

        因此,网络通信中,我们不能直接发送明文信息。而是使用非对称加密技术对明文进行加密后再发送。

        懒羊羊生成一对密钥,将公钥发布出去(这里公钥任何人都可以拿到),私钥自己保留。 小灰灰用懒羊羊的公钥进行加密,将信息发送出去,由于私钥只有懒羊羊自己拥有,所以即使黑客拦截信息,也无法解密出信息内容。

 1.1.4、黑客对信息的拦截和伪造

        步骤3中存在一个问题。虽然黑客无法解密出小灰灰的信息内容,但由于黑客拥有懒羊羊的公钥,因此,黑客完全可以对小灰灰的信息拦截后,自己重新写份信息加密后,发给懒羊羊。

 1.1.5、使用数字签名技术确认身份

        步骤4中,懒羊羊是无法辨认信息到底是小灰灰发的还是黑客发的。因此接下来的问题就是如何确认信息确实是小灰灰发送的。

       小灰灰生成一对密钥,将公钥发布出去(上面懒羊羊发布的公钥是为了对信息加密,而小灰灰发布的公钥是为了验证自己的身份)

       首先小灰灰使用懒羊羊的公钥对信息加密,生成密文。然后使用摘要算法对原文作摘要,再使用自己的私钥对摘要作签名。把密文和摘要一起发送给懒羊羊。懒羊羊拿到信息后,先使用自己的私钥对密文解密,得到明文信息(这里已经拿到明文了,下面的操作是为了验证信息确实是小灰灰发送的)。

        懒羊羊再对解密出来的明文作摘要,生成摘要A,再使用小灰灰的公钥,对签名进行解签,得到摘要B。最后只需要对摘要A和摘要B进行比对,如果相同,则证明信息确实是小灰灰发送的。

 1.1.6、数字签名技术可以防止黑客伪造身份

        如果黑客拦截信息并重新伪造一份信息,使用自己的私钥作了签名,将伪造的信息和签名值发送给懒羊羊,由于黑客是用自己的私钥进行签名,懒羊羊在验签时用小灰灰的公钥是解不出来的,因此可以防止黑客伪造身份。

1.2、使用数字证书防止公钥伪造

         使用数字签名技术发送信息,似乎天衣无缝了。但我们忽略了一个很重要的问题,就是验证身份时,需要用到小灰灰的公钥。公钥在发布的时候是公开的,黑客如果在小灰灰发布公钥时,拦截下来,将自己的公钥发布出去,懒羊羊拿到黑客的公钥。反而会将黑客发送来的信息当成小灰灰的信息,而把小灰灰发送的信息当成黑客的信息。

         小灰灰发布公钥本来是想来验证自己的身份,但发布公钥的时候,却无法确认公钥是自己发送的。问题到这似乎无解了。

  1.2.1、数字证书防公钥伪造

         接下来就需要数字证书登场了。至此,我们也搞清楚了数字证书的作用,就是为了防止小灰灰的公钥被伪造。

        小灰灰需要找到一个CA机构(CA是负责签发证书、认证证书、管理已颁发证书的机关),CA将证书的颁布机构、有效期、小灰灰的公钥、持有者等信息用 CA 的私钥进行签名,将签名值和这些信息打包起来(这就是数字证书)颁发给小灰灰。如果需要通信,小灰灰将自己的证书交给懒羊羊。懒羊羊拿出数字证书中的签名值,用CA中心的公钥进行解签(CA中心的公钥是无法篡改的),得到摘要A,再对证书中的信息作摘要,得到摘要B。如果两者相等,说明证书未被篡改过,因此就可以确认公钥确实是小灰灰的。

1.2.2、黑客拦截数字证书

        如果黑客拦截下小灰灰的数字证书,对证书中小灰灰的公钥信息进行篡改,并且使用自己的私钥对信息重新签名,把证书发送给懒羊羊,懒羊羊拿到证书后,使用CA的公钥对签名值进行解签,是解不出来的。因此可以判断,证书中的公钥信息已经被篡改,不能使用了,停止通信。

1.3、为什么要使用数字证书

        通过以上通信过程,我们就可以很清楚的知道。数字证书的出现,就是为了解决公钥被篡改和伪造的问题。

2、是什么

2.1、数字证书是什么

        接下来就说下,数字证书是什么。数字证书就是一个包含公钥,身份信息以及数字签名值的一个文件。        

        数字证书应用是非常广泛的,我们可以找一个证书看一下。

        打开百度,可以看到这有一个钥匙图标

点开就可以打开百度的数字证书

在常规界面可以看到,证书的颁发机构,使用者,有效期。百度使用的证书是GlobalSign颁发的。

 在详细信息界面就可以看到更多信息

        可以看下,淘宝使用的证书也是GlobalSign颁发的。

 2.2、CA机构是什么

        CA机构是负责签发和管理数字证书,且具有权威性和公正性的第三方信任机构,它的作用就像我们现实生活中颁发证件的公司。你把数字证书理解为你的毕业证书,那CA机构就是给你颁发毕业证的教育局。只有教育局给你颁发的毕业证,大家才是认可的,你从电线杆上的小广告办的毕业证,那大家肯定是不认可的。

        百度使用的证书就是GlobalSign颁发的,它是全球主流的认证机构之一。

        可以看下它的主页ssl数字证书,通配符证书,文档签名,代码签名购买-环玺信息科技(上海)有限公司 (globalsign.cn)https://www.globalsign.cn/

         

3、怎么做

        那么我们自己如何去获取一个证书。自己测试肯定不能从CA机构去申请,这个是要花钱的,而且也不便宜。我们可以使用openssl工具,去模拟CA机构给自己颁发一个证书。

        (2条消息) OpenSSL安装和命令行工具介绍_大草原的小灰灰的博客-CSDN博客

猜你喜欢

转载自blog.csdn.net/new9232/article/details/122251502#comments_26510188