美文网首页
CA证书原理

CA证书原理

作者: zhengaoly | 来源:发表于2021-12-05 11:43 被阅读0次

一、HTTPS 简介

HTTPS 全称 HTTP over TLS/SSL(TLS 就是 SSL 的新版本 3.1)。TLS/SSL 是在传输层上层的协议,应用层的下层,作为一个安全层而存在,翻译过来一般叫做传输层安全协议。对 HTTP 而言,安全传输层是透明不可见的,应用层仅仅当做使用普通的 Socket 一样使用 SSLSocket 。TLS 是基于 X.509 认证,他假定所有的数字证书都是由一个层次化的数字证书认证机构发出,即 CA。另外值得一提的是 TLS 是独立于 HTTP 的,使用了 RSA 非对称加密,对称加密以及 HASH 算法,任何应用层的协议都可以基于 TLS 建立安全的传输通道,如 SSH 协议。

image

代入场景:假设现在 A 要与远端的 B 建立安全的连接进行通信。

  1. 直接使用对称加密通信,那么密钥无法安全的送给 B 。
  2. 直接使用非对称加密,B 使用 A 的公钥加密,A 使用私钥解密。但是因为 B 无法确保拿到的公钥就是 A 的公钥,因此也不能防止中间人攻击。

为了解决上述问题,引入了一个第三方,也就是上面所说的 CA(Certificate Authority):

CA 用自己的私钥签发数字证书,数字证书中包含 A 的公钥。然后 B 可以用 CA 的根证书中的公钥来解密 CA 签发的证书,从而拿到 A 的公钥。那么又引入了一个问题,如何保证 CA 的公钥是合法的呢?答案就是现代主流的浏览器会内置 CA 的证书。

中间证书:

现在大多数 CA 不直接签署服务器证书,而是签署中间 CA,然后用中间 CA 来签署服务器证书。这样根证书可以离线存储来确保安全,即使中间证书出了问题,可以用根证书重新签署中间证书。另一个原因是为了支持一些很古老的浏览器,有些根证书本身,也会被另外一个很古老的根证书签名,这样根据浏览器的版本,可能会看到三层或者是四层的证书链结构,如果能看到四层的证书链结构,则说明浏览器的版本很老,只能通过最早的根证书来识别

校验过程

那么实际上,在 HTTPS 握手开始后,服务器会把整个证书链发送到客户端,给客户端做校验。校验的过程是要找到这样一条证书链,链中每个相邻节点,上级的公钥可以校验通过下级的证书,链的根节点是设备信任的锚点或者根节点可以被锚点校验。那么锚点对于浏览器而言就是内置的根证书啦(注:根节点并不一定是根证书)。校验通过后,视情况校验客户端,以及确定加密套件和用非对称密钥来交换对称密钥。从而建立了一条安全的信道。

相关文章

  • CA证书原理

    一、HTTPS 简介 HTTPS 全称 HTTP over TLS/SSL(TLS 就是 SSL 的新版本 3.1...

  • CA证书

    数字证书认证机构-维基HTTPS证书生成原理和部署细节细说 CA 和证书CA和证书那些事OpenSSL生成根证书C...

  • openvpn

    一、openvpn原理二、安装openvpn三、制作相关证书3.1 制作CA证书3.2 制作Server端证书3....

  • HTTPS网站 | SSL证书和ca证书有何区别?

    SSL证书和ca证书 你知道SSL证书和ca证书有何区别吗?其实SSL证书是ca证书中的一种,CA是数字证书管理机...

  • 局域网通过 itms-services(https) 协议安装

    1. 创建 CA 根证书 CA 是证书名字,自己改 2. 基于上边的 CA 证书,再创建证书 mycert 是证书...

  • CA证书(数字证书的原理)

    1、基础知识 这部分内容主要解释一些概念和术语,最好是先理解这部分内容。 1.1、公钥密码体制(public-k...

  • k8s学习笔记-3-自签证书

    3 自签证书 在node5节点上安装证书工具 (运维主机) 自签证书根证书-(CA证书)创建CA证书的请求文件ca...

  • 通过一个小故事,理解 HTTPS 工作原理

    本文摘录参考: 细说 CA 和证书(主要讲解 CA 的使用) 数字签名是什么?(简单理解原理) 深入浅出 HTTP...

  • cfssl

    下载 创建CA 创建证书请求 生成CA证书和私钥 创建kubernetes证书请求文件 kubernetes证书和...

  • 自签CA证书和签发证书

    生成CA根证书 生成服务私钥和证书请求 签发证书 查看证书 服务器导入CA证书

网友评论

      本文标题:CA证书原理

      本文链接:https://www.haomeiwen.com/subject/xbyixrtx.html