概述
什么是PKI
PKI 是 Public Key Infrastructure 的缩写,中文叫做公开密钥基础设施,也就是利用公开密钥机制建立起来的基础设施。
PKI 是 Public Key Infrastructure 的缩写,其主要功能是绑定证书持有者的身份和相关的密钥对(通过为公钥及相关的用户身份信息签发数字证书),为用户提供方便的证书申请、证书作废、证书获取、证书状态查询的途径,并利用数字证书及相关的各种服务(证书发布,黑名单发布,时间戳服务等)实现通信中各实体的身份认证、完整性、抗抵赖性和保密性。
PKI 既不是一个协议,也不是一个软件,它是一个标准,在这个标准之下发展出的为了实现安全基础服务目的的技术统称为 PKI。
百度百科:
PKI(Public Key Infrastructure)公钥基础设施是提供公钥加密和数字签名服务的系统或平台,目的是为了管理密钥和证书。 一个机构通过采用PKI 框架管理密钥和证书可以建立一个安全的网络环境。PKI 主要包括四个部分:X.509 格式的证书(X.509 V3)和证书废止列表CRL(X.509 V2);CA 操作协议;CA 管理协议;CA 政策制定。
CA中心——CA系统——数字证书
CA 中心管理并运营 CA 系统,CA 系统负责颁发数字证书。
专门负责颁发数字证书的系统称为 CA 系统,负责管理并运营 CA 系统的机构称为 CA 中心。所有与数字证书相关的各种概念和技术,统称为 PKI(Public Key Infrastructure)。
加密算法
1.对称加密算法:加密和解密使用相同的密钥。常见的算法有DES、3DES和AES。这类算法的优点是加密速度快,但缺点是密钥管理复杂,且一旦密钥泄露,加密信息就不安全了。
2.非对称加密算法:加密和解密使用不同的密钥,分为公钥和私钥。公钥可以公开,私钥则保密。常见的算法有RSA、DSA和ECC。这类算法的优点是安全性高,但加密和解密速度相对较慢。
3.散列算法(Hash算法):不需要密钥,通过哈希函数将任意长度的输入转换成固定长度的输出,即散列值。常见的算法有MD5和SHA系列。这类算法主要用于验证数据的完整性,但无法从散列值恢复原始数据。
对称加密:使用同一个密钥进行加密和解密。就像用一个锁和同一把钥匙来锁上和打开箱子一样。
非对称加密:使用一对密钥,公钥用于加密,私钥用于解密。公钥可以公开,私钥保密。类似于一个锁(公钥)和只有持有者才能打开的钥匙(私钥)。
一.搭建web服务器
1.win+r搜索server manager 找到服务器管理器
2.添加角色与功能
3.选择iis进行安装(后续默认下一步就好)
4.搭建服务器
5.添加网站
二.搭建dns服务器
所以要提前配好静态ip,这里我们统一选择一个网卡,选择nat模式
查找本机ip地址
win+r 搜索ncpa.cpl
右键属性(看着配就好)
因为我们要在一台机子上装dns与web所以dns与web地址一致即可
2.接下来我们继续装dns服务器(选择后默认下一步即可)
3.下载好之后我们继续配置dns服务器,选择dns
新建查找域
命名规则同我一致即可,因为要拼接前面的www,后面下一步就好
创建好之后我们新建主机
名称为www,与域名拼接,选择ip地址为web服务器的地址,上文已经提前设过了我们这里直接输入
创建dns主机,同理
创建完成后如下图
接下来要创建反向查找区域,与创建正向无二,但是这里只需要键入网络id即可
一直下一步直到完成
接下来创建反向指针,这里我有一个小技巧,可以节约一些时间,直接右键属性,勾选指针直接自动创建
完成指针创建
5.这时,我们dns与web服务器搭建便已经完成,我们可以简单验证(ping)一下
漂亮!都可以ping通,我们创建一个简单的页面进一步验证一下
在刚才选择的web文件夹中创建index.html
在浏览器中输入www.demo.com成功访问
我们在本机中也设置好dns服务器与网卡后,也可以打开
三.ca服务器的搭建
1.同上还是找到服务器管理界面进行添加角色与功能
选择active directory证书服务
这里我们勾选一下
由于证书颁发web注册功能勾选上了,所以会自动勾选IIS服务器的安装
完成之后我们点击感叹号小旗子配置服务
截图的注意一下勾选,没有截图的直接下一步就好
配置成功
在这里我们证书管理同样需要选择IIS服务器管理
四.进行证书颁发
1.在证书颁发前我们同样需要将ca服务器的IP地址设置为静态ip并且配置相应的dns服务器,win+r搜索ncpa.cpl,右键属性
设置完后我们ping www.demo.com可以ping通,便没有问题
2.打开web服务进行证申请创建并提交
在IIS管理器中点击服务器证书
点击右侧的创建证书申请
键入信息
点击下一步
指定一个文件名之后,我们创建的证书申请,便会以一串无规律的字符存储在这个txt文件中
我们打开刚刚创建好的文件,这便是我们的申请,待会要用到
打开浏览器,输入ca服务器的ip地址与刚刚创建的cetrqus.asp文件的路径
点击高级证书申请
使用base64编码提交然后我们复制粘贴刚刚生成txt文件中的这串字符,点击提交
申请已经被挂起
3.在ca服务器中通过证书申请
打开servermanager,点击工具中的证书颁发机构
点击挂起的申请便可以看到我们刚刚在web服务器中提交的证书申请了
右键刚刚的申请,选择所有任务中的颁发
右键颁发的证书,便可以看到我们通过的证书了
4.打开web主机,下载证书
打开浏览器,输入刚刚的网址
查看证书申请状态
下载证书
下载成功
5.配置https站点
打开IIS管理器打开服务器证书,点击右边的完成证书申请
选择刚刚下载的证书导入
6.设置一个HTTPS的绑定,实现证书加密https的流量
打开demo主页,点击右边的绑定
选择https,ip地址自动填入,选择刚刚完成的证书
证书申请
这里会出现一个提示报错
解决方法见评论区
强制用户使用https进行访问
五.结果验证
客户机访问http被拒绝
https访问成功