域名数字证书安全漫谈(1)-证书长什么样子?

admin 2022年4月13日12:46:06评论104 views字数 1811阅读6分2秒阅读模式

数字证书安全漫谈(1)-证书长什么样子?


我们以最常见的网站域名数字证书为例。

大家在电脑上登录网银、使用搜索引擎、使用网上支付的时候,会留意到浏览器的地址栏有个小锁标志(根据浏览器类型和版本的不同,小锁所显示的位置也有所不同):

域名数字证书安全漫谈(1)-证书长什么样子?
通常来说这个小锁表示浏览器和所访问的网站之间是私密的连接(其实也不尽然)。


建立这个私密的连接通道,需要在Web服务器上部署一张数字证书。

数字证书已经逐步成为网站的标准配置,如果没有配置,则很可能会被浏览器的未来某个版本提示网站不安全,从而导致用户流失。此前Google就曾经宣传Chrome将不支持未使用数字证书的网站。


那么证书长什么样子?

首先,点击浏览器(以Chrome为例)地址栏的小锁标志,

域名数字证书安全漫谈(1)-证书长什么样子?

点击“证书信息”,即可直观的看到证书的详细信息:

域名数字证书安全漫谈(1)-证书长什么样子?

证书路径

域名数字证书安全漫谈(1)-证书长什么样子?
这里可以看到一个三层的证书路径。


那么数字证书到底是以什么形式存在,存储在哪里呢?
服务器上的域名数字证书其实就是一个文本文件,下面以https://saas.janusec.com/的域名证书为例,

证书文件名: saas.janusec.com.crt(文件名和在服务器上的存放位置都是可以修改的,跟配置文件保持一致即可)。

证书文件内容(仅为直观展示目的,内容略作修改,此格式适用于Nginx配置):

域名数字证书安全漫谈(1)-证书长什么样子?

可以看到,这个证书文件,实际上包含了两张证书:

上面的一张就是实际要用的域名证书,是证书服务器通过邮件方式发送过来的;下面的一张是中间证书,它是公开的,也可以从证书服务商的网站找到。如果中间证书不止一张,则需要把所有的中间证书都贴在这个文件里面,顺序刚好跟用户看到的证书路径层级相反。


那么问题来了,这个文件里面并没有根证书。

那么根证书在哪里呢?

其实,Web服务器上并不需要配置这个根证书,根证书就内置在您所使用的浏览器里面或者操作系统里面(Chrome和IE使用Windows的证书管理,而Firefox有自己的证书管理模块)。

在刚才的证书路径界面,点击根证书,查看证书,即可看到。

以常用的Chrome和IE为例,打开控制面板中的Internet选项,内容,证书,即可查看受信任的根证书颁发机构,在列表中可以找到它。

域名数字证书安全漫谈(1)-证书长什么样子?

这里的受信任的根证书颁发机构,其实就是内置在Windows的证书管理(IE、Chrome)或浏览器厂商内置在浏览器(Firefox、Opera)里面的。

如果您使用了自颁发的证书,则浏览器默认就不会接受它,只有您手工将自颁发的根证书添加到受信任的根证书目录里面,浏览器才不会警告。最常见的就是12306网站,购票前需要用户先安装他家的根证书有没有?


Web服务器上除了这个证书文件之外,还需要配置私钥文件(样例中文件名为saas.janusec.com.pem)才能让证书正常发挥作用,因为浏览器在和Web服务器进行会话协商的过程中,将要用于内容加密的动态加密密钥是通过服务器证书的公钥加密的,服务器必须要用自己的私钥才能解开。这个动态加密密钥使用的是对称加密算法(而不是RSA),算法从双方都支持的算法集中挑选,比如本例中点击小锁标志,可以看到,对内容传输使用的加密算法是AES-128,密钥交换机制采用的才是RSA。


这个文件是需要保密的,其内容样式如下(具体内容已修改,防止泄密):

-----BEGIN RSA PRIVATE KEY-----

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

-----END RSA PRIVATE KEY-----


在Web服务器Nginx的配置文件中,在Server{}内部需要配置证书文件和私钥文件路径:

server {

...

ssl_certificate /usr/local/cert/saas.janusec.com.crt;

ssl_certificate_key /usr/local/cert/saas.janusec.com.pem;

...

}



数字证书FAQ

问:数字证书是否包含私钥?

答:私钥是保密的,证书中并不包含私钥。数字证书是公开给别人看的,所包含的字段,可以点击小锁标志进行查看,网站的域名数字证书最关键的字段是域名。



长按并在弹出菜单中选择"识别图中二维码"关注微信公众号: Security_SDL ,共同探讨网络安全体系建设~

域名数字证书安全漫谈(1)-证书长什么样子?


原文始发于微信公众号(数据安全架构与治理):域名数字证书安全漫谈(1)-证书长什么样子?

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年4月13日12:46:06
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   域名数字证书安全漫谈(1)-证书长什么样子?http://cn-sec.com/archives/884162.html

发表评论

匿名网友 填写信息