如何查看https证书 b/s架构https如何安全传输?

[更新]
·
·
分类:互联网
4118 阅读

如何查看https证书

b/s架构https如何安全传输?

b/s架构https如何安全传输?

1 术语解释
HTTPS协议引入了CA和数字证书来解决安全性
数字证书:包含签发机构、有效期、申请人公钥、证书所有者、证书签名算法、证书指纹以及指纹算法等信息。
CA:数字证书签发机构,权威CA是受操作系统信任的,安装操作系统就会内置。
数字签名:用Hash算法对数据进行计算得到Hash值,利用私钥对该Hash加密得到签名。只有匹配的公钥才能解密出签名,来保证签名是本人私钥签发的证书。
对称密钥:服务器和客户端之间加密通信。
非对称密钥:服务器保存私钥,客户端持有公钥,而且公钥加密的数据只能由私钥解密。所以私钥一定要保证不能被泄露。
2 数字证书签发过程
1 网站生成密钥对,将私钥自己保存,公钥和网站域名等信息提交给CA
2 CA把证书签发机构(也就是自己)、证书有效期、网站的公钥、网站域名等信息以明文形式写入到一个文本文件
3 CA选择一个指纹算法(一般为hash算法)计算文本文件的内容得到指纹,用CA的私钥对指纹和指纹算法进行加密得到数字签名,签名算法包含在证书的明文部分
4 CA把明文证书、指纹、指纹算法、数字签名等信息打包在一起得到证书下发给服务器
5 此时服务器拥有了权威CA颁发的数字证书以及自己的私钥
6 以上都是为了完成非对称加解密。
3 浏览器验证数字证书
1 浏览器以HTTPS协议请求服务器的443端口2 服务器下发自己的数字证书给浏览器(明文)
3 浏览器先校验CA、有效期、域名是否有效,如果无效,则终止连接(服务器此时不可信任)如果有效,则从操作系统取出证书颁发机构的公钥,根据签名算法(CA明文记录在了数字证书中)对数字签名解密得到证书指纹和指纹算法(hash算法)
4 浏览器用解密得到的指纹算法计算证书的指纹,与解密得到的指纹进行比对,如果一致,证书有效,公钥(CA明文记录在数字证书中)也安全拿到了。
5 浏览器此时已经和真实的服务器进行通信了,中间人无法得知通信内容,因为中间人没有网站私钥。
6 服务器收到请求后,使用私钥解密请求参数,此间不会有业务数据交互,连接开始首先进行对称密钥的传输,该密钥为后续的业务通信数据加密。
4 小结
1 CA机构保证了服务器公钥的正确唯一性。2 数字证书的作用就是验证公钥是否是CA颁发的,CA的公钥内置操作系统。3 浏览器拿到公钥就可以和服务器通信了。4 这个类似于ssh-copy-id命令,主动把公钥颁发给指定的ip一样,只不过需要改ip的账户密码授权,下次再ssh登录ip时就不需要在输密码了,实现免密登录。5 对称密钥会被劫持吗?不会,因为对称密钥传输时被客户端使用了网站的公钥加密,即非对称密钥,只能由私钥才能解密,而该私钥只有服务器有。所以无法劫持到对称密钥。

https证书和报文证书区别?

https证书和报文证书是有区别的。
报文是网络中交换与传输的数据单位,即站点一次性要发送的数据块。报文包含了将要发送的完整的数据信息,其长短不一致,长度不限且可变。
HTTPS是安全超文本传输协议的简写,是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息。HTTPS使用安全套接层(SSL)进行信息交换,简单来说就是HTTP的安全版。HTTPS是Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果。