【PKI、数字证书制作与HTTPS部署】


PKI 组成与功能

组成

  • 证书颁发机构(CA)
  • 注册机构(RA)
  • 证书存储库
  • 证书撤销列表(CRL)
  • 公私钥
    功能
  • 认证
  • 数据完整性
  • 机密性
  • 不可否认性

数字证书原理

对称加密和非对称加密

  • 当我们访问一个 http 网页,浏览器会提示这并不安全。 这是因为,在我们和浏览器通讯时,中间人可以监控明文数据包。
  • 那么,我们对数据包进行打码,这样极大地增加了中间人辨认内容的难度。
  • 我们和网站之间有两把一样的私钥:我们发送报文时,先用私钥加密,发送给网站,网站再用私钥解密。这就是对称加密。
  • 中间人没有私钥就很难对截获的报文解密。 而且私钥是有期限的,每一次会话都需要一把私钥,我们在此称为会话密钥。这样对于中间人就更难破译了。
  • 但用户和网站怎么传递私钥来避免中间人截获呢?
  • 网站发送公钥给用户,用户利用公钥将明文加密发送过去,网站利用私钥进行解密,就得到了明文。这样用户和网站都可以生成会话密钥,中间人只有密文和公钥无法生成密钥。这种利用公私钥的方式叫做非对称加密。这就真的安全吗?试想下面这种情况:
  • 网站要向用户发送公钥,中间人截获后,扣住公钥,自己伪造公私钥,将假公钥发给用户,用户收到公钥,将明文用假公钥加密,发给中间人,中间人用私钥解密,读取明文,再用真公钥加密发送给网站。这样生成的会话密钥是用户和中间人,中间人和网站的,用户和中间人并未生成会话密钥。这样还是防不住。
  • 这就是没有 https 的有一个缺点,无法保证完整性。

数字证书

  • 上面的问题在于无法保证公钥是来自网站的还是中间人的。这里就要引入权威的第三方(Certificate Authority 证书颁发机构)来做公证。
  • 这样子流程就有点变了,首先网站将公钥发送到 CA,CA 根据这把公钥以及其他信息生成了证书,该证书将公钥与其网站绑定到一起。
  • 然后将证书发给用户,用户看到是值得信任的 CA,就从证书中取出公钥,最后就能开心的生成会话密钥与网站通信了。这样就安全了吗?并不是,我们如何相信数字证书是由收信任的 CA 颁发的呢?那么就要在证书上加上 CA 的签名了。

数字签名

  • CA 收到网站的信息和公钥后,会对这些信息以及公钥进行 hash 运算,得到 hash 字符(如果内容被修改了,hash 运算后的结果完全不一样)。
  • hash 运算以后,CA 自己也生成一对用于数字证书的公私钥,然后用私钥对 hash 字符加密,这串加密后的字符就是数字签名了。这样 CA 就将含有签名的证书发回网站了。
  • 当用户和网站通信时,为了证明公钥没有被中间人修改过,用户利用数字签名是生成的公钥对数字签名解密,得到 hash 字符,接着对收到的内容进行同样的 hash 运算,然后比对 hash 字符即可。如果匹配就可以认为没有被中间人篡改了。
  • 但是我们如何安全的拿到 CA 的公钥呢?其实 CA 也需要证书来证明他的公钥。

证书链

  • CA 也需要一个证书把公钥放进去来验明正身。同理,这个证书也需要一把私钥来进行签名,这就需要根 CA 了。前面提到的 CA 是中间 CA。
  • 根 CA 同样生成一副公私钥,用私钥为中间证书签名,根 CA 既然有这把私钥,那么它由谁来签名呢?
  • 由自己来签名,然后在用户的 OS 和浏览器中预先安装根 CA 的证书,这样就闭合了。

参考
https://www.bilibili.com/video/BV1mj421d7VE/?vd_source=6cb8d066d0b10025c1f0b0cf1342878f

制作中间数字证书,部署 HTTPS

配置静态IP地址,DNS
在这里插入图片描述

安装 DNS 服务
在这里插入图片描述

安装 WEB 服务
在这里插入图片描述

创建网站
在这里插入图片描述
在这里插入图片描述

安装AD证书服务
在这里插入图片描述

配置 AD 证书服务
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

服务器证书申请
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

打开浏览器访问
在这里插入图片描述在这里插入图片描述

颁发证书
在这里插入图片描述

下载证书
在这里插入图片描述

WEB 服务器证书申请
在这里插入图片描述
在这里插入图片描述

发布网站
在这里插入图片描述
在这里插入图片描述

  • 39
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值