数字证书简介

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的公钥对签名值进行解签,是解不出来的。因此可以判断,证书中的公钥信息已经被篡改,不能使用了,停止通信。

        这里还有一个小问题,就是懒羊羊使用的CA公钥是哪里来的?CA公钥不会被黑客篡改吗?

        这里的CA公钥(也就是CA证书)其实在我们安装系统时就已经内置到电脑中了,黑客是无法攻击的。

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

        说了这么多,我们来总结一下,到底为什么要使用数字证书,通过上面例子我们知道,其实数字证书的出现就是为了解决小灰灰公布的公钥确实是小灰灰的,且没有被篡改。这样通信双方就可以放心的使用密钥对加密通信了。

2、是什么

2.1、数字证书是什么

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

        目前使用的证书结构大多数是X.509 V3公钥证书,它前面已经出现了X.509V1、X509V2版本,下面简单介绍一下X509证书

        

        版本一:X.509标准第一版共7个基本字段

                版本(Version): 标识本数字证书使用的X.509协议版本
                证书序号(Certificate Serial Number):CA产生的唯一整数值
                签名算法标识符(Signature Algorithm Identifier):CA签名数字证书时使用的算法
                签发者名(Issuer Name):证书颁发者
                有效期(之前/之后)(Validity(Not Before/Not After)):即证书的颁发日期和到期日期
                主体名(Subject Name):证书使用者
                主体公钥信息(Subject Public Key Information):包含主体的公钥和与密钥相关的算法,这个字段是证书的核心字段。

        版本二:第二版增加了以下两个字段

                签发者唯一标识符(Issuer Unique Identifier):在两个或多个CA使用相同签发者名时标识CA
                主体唯一标识符(Subject Unique Identifier): 在两个或多个主体使用相同签发者名时标识CA

        版本三:第三版增加了一个字段,称为扩展属性,比较灵活。比较重要的扩展属性

                机构密钥标识符(Authority Key Identifier):一个证书机构可能有多个公钥/私钥对,这个字段定义这个证书的签名使用哪个密钥对

                主体密钥标识符(Subject Key Identifier):主体可能有多个公钥/私钥对,这个字段定义这个证书的签名使用哪个密钥对

                密钥用法(Key Usage):定义这个证书的公钥操作范围,比如定义密钥用于加密还是签名

                扩展密钥用法(Extended Key Usage):可以补充或取代密钥用法字段,指定这个证书可以采用哪些协议,比如TLS、客户端认证、服务端认证等

                证书策略(Certificate Policise):定义证书机构对某个证书指定的策略和可选限定信息

                证书映射(Policy Mappings):在某个证书的主体也是一个证书机构时使用,即一个证书机构向另一证书机构签发证书,指定认证的证书机构要循环哪些策略

                主体替换名(Subject Alternative Name):对证书的主体定义一个或多个替换名,但如果主体证书格式中的主体名字段是空的,则这个字段不能为空

                签发者替换名(Issuer Alternative Name):可选定义证书签发者的一个或多个替换名

                主体目录属性(Subject Directory Attributes):可以提供主体的其他信息,如电话,邮件地址等

                基本限制(Basic Constraints):表示这个证书的主体可否作为证书机构

         证书的使用是非常广泛的,我们访问百度,点击这里就可以看到百度使用的证书

        

        

        我们点击 Win + R,输入certmgr.msc可以打开证书管理工具,可以看到非常多证书

                   

        随便点开一个,可以看到证书的详细信息

        

 2.2、CA机构是什么

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

        五大权威的SSL证书颁发机构(CA机构)介绍

        DigiCertDigiCert是一家全球著名CA机构。作为国际知名品牌,具有更高的安全性和可信性,并具有比较完善的赔付保障。深受国内各大企业、政府、事业单位的信赖。旗下拥有 DigiCert,Symantec,Geotrust,ThawteRapidSSL 等SSL证书品牌,并在量子验证加密方面处于领先地位。

        在2017年的时候,Symantec被DigiCert收购了。目前不管是购买Symantec SSL证书还是DigiCert SSL证书,其根证书都是DigiCert。另外,DigiCert已经将Symantec SSL证书已经更新为Secure Site系列证书,由于大部分客户熟悉Symantec SSL证书,因此仍有很多网站在宣传Symantec SSL证书,也可以购买到Symantec SSL证书,同样可以得到诺顿安全签章,也可以获得 DigiCert 安全签章。

        GeoTrustGeoTrust(CA机构)是全球第二大数字证书颁发机构(CA),也是身份认证和信任认证领域的领导者,是一款优质的、高性价比的SSL证书品牌。

        GeoTrust从2001年成立到2006年占领全球市场25%的市场份额,在全球150多个国家有超过10万个用户在使用 GeoTrust SSL证书。支持中文域名和显示中文名称,深受国内用户喜爱,目前GeoTrust SSL证书市场占有率已超过30%,而且每年的增长率高达150% 。

        SectigoSectigo (原Comodo CA)是全球SSL证书市场占有率最高的CA公司,目前将近40%的SSL证书用户选择了Sectigo。由于其产品安全,性价比高深受用户信任和欢迎。Sectigo SSL证书包括OV SSL证书,DV SSL证书,EV SSL证书代码签名证书等,能完美的为网站和企业提供各个类型的数字证书安全解决方案。

        GlobalSign:GlobalSign是一家全球著名CA机构。搭建HTTPS通道,为数十亿的设备、人员和包括万物互联的事物提供数据、身份、安全解决方案; 作为公众信任服务行业的领头羊,GlobalSign 自1996 年起开始颁发可信赖的SSL数字证书,从一些已经广泛普及的公众根中提供公众信任。

        Thawte:Thawte(CA机构)由南非Mark Shuttleworth创立,Thawte SSL证书产品占据了全球SSL证书市场的40%,是全球第三大数字证书颁发机构(CA)。

        迄今为止,Thawte自1995年以来已经发行了超过945,000个SSL证书代码签名证书,以保护超过240个国家的身份和交易。VeriSign于2000年2月1日以5.75亿美元换股完成收购,收购后Thawte仍然独立运作。Thawte SSL证书是全球最早支持IDN国际语言域名的数字证书品牌,使用中文域名网站的中国用户也可以部署SSL证书来确保信息安全。

3、怎么做

        那么我们自己如何去获取一个证书。如果是商用,需要去CA机构购买数字证书, 如果是自己测试,可以使用openssl命令行工具,去模拟CA机构给自己颁发一个证书。具体参考我的另一篇文章中生成数字证书部分的介绍。

        OpenSSL安装和命令行工具介绍_openssl工具_大草原的小灰灰的博客-CSDN博客

  • 74
    点赞
  • 321
    收藏
    觉得还不错? 一键收藏
  • 25
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值