PX_9 | PKI与HTTPS服务器部署
PKI与HTTPS服务器部署
01 PKI概述
- 英文全称:Public Key Infrastructure
- 中文名称:公钥基础设施
- 基本组成:由公钥加密技术、CA、RA、CRL、LDAP、数字证书等构成。
02 信息安全三要素/四要素
- 机密性
- 完整性/身份验证
- 可用性
提示:PKI 套件可以完成保护机密性、完整性以及身份验证!
03 PKI的技术应用领域
- HTTPS:S $\rightarrow$ SSL,加密技术使用了 PKI。
- VPN:包括 ipsecvpn、pptp vpn、ssl vpn 等等。
- 门禁:基于 PKI 技术。
04 公钥加密技术
- 定义:对信息进行加密身份验证,然后进行加密传输!
- 分类:对称加密算法、非对称加密算法、哈希算法。
4.1 对称加密算法
- 基本公式:$x + 5 = y$(其中算法/数学公式就是明文,$y$ 是密文,$5$ 是密钥)。
- 特点:加密与解密的密钥一致相同,这种算法叫对称加密算法,这种密钥叫对称密钥。
- 最大优点:加密速度快!
- 最大缺点:对称密钥的传输问题!
- 常见的对称加密算法:
- DES:56位,分组加密算法。
- 3DES:56位、56位、56位。
- AES:包括 AES128、AES192、AES256、AES512。
- 注:对称密钥是通过算法本身协商生成的。
- 国密对称算法:
- SM1算法:
- 类型:分组密码算法。
- 规格:分组长度和密钥长度均为 128 位。
- 应用:广泛应用于金融、电子政务、物联网等领域的数据加密和保护中;常用于智能密码钥匙、门禁卡等系列芯片中。
- SM4算法:
- 类型:分组密码算法。
- 规格:分组长度和密钥长度均为 128 位。
- 应用:主要用于对数据进行加密和解密操作,在数据保密性保护方面有着广泛的应用(例如在对称加密通信场景下,对传输的数据块进行加密)。同时也是无线局域网标准的分组数据算法。
- SM7算法:
- 类型:分组密码算法。
- 规格:分组长度和密钥长度均为 128 位。
- 应用:主要用于非接触式 IC 卡,如校园一卡通、工作证等。
- SM1算法:
4.2 非对称加密算法
- 特点:加密与解密的密钥不同,这种算法叫非对称加密算法,这种密钥叫非对称密钥。加密密钥与解密密钥称为一对密钥对,也叫公私钥。
- 关系:公私钥互为加解密关系,但是神奇的是成对的公私钥不能互相反推!
- 优缺点:
- 优点:足够安全!可以完成机密性和身份验证。
- 缺点:速度极其慢!
- 常见算法家族:
- RSA2048 / RSA1024
- DH1 / DH2 / DH5
- ECC256 / ECC128
- SM2(国密)
- DSA
- 国密非对称应用场景对比:
算法 主要功能 典型应用场景 SM2 数字签名、密钥交换、加密 电子合同、金融交易、安全通信 SM9 标识绑定、数字签名、加密 物联网设备认证、分布式系统身份管理 - 国密非对称加密算法的优势:
- 自主可控:由国家密码管理局制定,避免依赖国际算法。
- 高安全性:基于复杂数学问题,抗攻击能力强。
- 高效性:密钥长度短,计算速度快,适合资源受限环境。
- 合规性:在金融、电子政务等领域为强制标准。
4.3 算法的合作
- 核心原理:用非对称加密算法加密并同步对称密钥,然后用对称加密算法加密实际要传输的数据。
- (可以自行研究下方的加解密流程图,并尝试进行口述)
4.4 哈希算法
- 作用:保证数据的完整性!防止被篡改、数据发现破坏等等!
- 常见算法:MD5、SHA-1、SHA-256、SHA512。
- HASH算法特点:
- 不可逆。
- hash 值固定长度。
- hash 值非常稳定!
- 加密后的值很小(如 128位、160位、256位、512位)。
- 加密后的数据常被称为:摘要 / 哈希值 / hash值。
- 哈希算法的唯一性:同样的数据,无论加密多少次,hash 值都不变!

05 CA与组件基础
- CA:证书颁发机构。
- RA:配合 CA 来接受申请证书与发放证书。
- CRL:证书吊销列表。
- LDAP:存储证书的数据库。
- 各组件核心作用汇总:
- 接收证书申请:RA
- 证书颁发审批、证书颁发:CA
- 证书吊销:CRL
- 证书存储:LDAP
06 数字证书
- 证书格式标准:X.509。
- 证书包含的核心内容:
- 持有者的信息(域名地址、电话、联系人等等)。
- 持有者的公钥(重点:这是证书存在的根本意义!)
- CA 的数字签名 / SHA 指纹。
- 颁发者的名称与信息。
- 颁发日期与证书有效期。

07 部署HTTPS服务器
实验环境
- HTTPS 服务器:Windows Server 2019(要求:必须还原快照,开机后关闭防火墙,测试网络连通性)。
- 客户机:Windows 7(建议还原快照)。
实验步骤
1. 安装 IIS
- 安装时,需全部勾选 IIS 的应用程序。
- 检查 IIS 自带的网站,切记不要删除,也不要停用默认网站。
2. 添加一个 flower 网站
- 为了避免 80 端口冲突,新的 flower 网站要求用户使用域名来访问:
http://www.flower.com。 - 添加网站后,需要设置索引。
3. 用户测试访问 flower
- 需要增加解析,本次实验通过修改客户端的 hosts 文件来手动添加解析。
- 再次访问
http://www.flower.com测试成功。 - (到此为止基本的 HTTP 服务器实验成功,但此时还没有 HTTPS 加密功能!)
4. 安装部署 CA 服务器
- 打开“添加角色和功能向导”,选择服务器角色,勾选 Active Directory 证书服务。
- 在选择角色服务页面,勾选 证书颁发机构 和 证书颁发机构 Web 注册。
- 注意:开始安装,安装完毕后,千万!!!不要点击关闭。而是要点击界面上的蓝色链接进行“配置目标服务器上的 Active Directory 证书服务”。
- 在 AD CS 配置向导中:
- 角色服务:勾选配置“证书颁发机构”和“证书颁发机构 Web 注册”。
- CA 类型:选择 根 CA (R)。(根 CA 位于 PKI 层次结构的顶部,颁发其自己的自签名证书)。
- CA 名称:在此 CA 的公用名称(C)中输入:
Global sign dafeige。 - 其他设置默认下一步即可,最后点击配置并关闭。

5. IIS - flower 填写证书申请
- 打开 IIS 管理器,导航至服务器主页,双击 “服务器证书” 功能。

- 在右侧操作栏点击 “创建证书申请…”,在弹出的窗口中填写可分辨名称属性。其中通用名称(M)必须填写完整域名:
www.flower.com。

- 点击下一步,选择加密服务提供程序属性(如 Microsoft RSA SChannel Cryptographic Provider),位长选择 2048,以此来生成 flower 网站的公私钥,并将申请保存为文本文件。

6. 向 CA 提交申请
- 在 Windows Server 2019 上打开浏览器,访问 CA 服务器的 Web 注册网站:
http://192.168.206.145/certsrv。 - 点击 “申请证书”。

-
点击 “高级证书申请”。
-
选择 “使用 base64 编码的 CMC 或 PKCS #10 文件提交一个证书申请…”。

- 将前面在 IIS 中生成的 base64 编码的证书请求文本内容复制并粘贴到 “保存的申请” 框中,然后点击 “提交”。

7. 打开 CA 服务器 - 颁发证书
- 进入证书颁发机构管理后台,在“挂起的请求”中找到该申请,右键选择颁发。
8. 下载 flower 数字证书
- 再次访问 CA 的官方 Web 注册网站,查看申请状态,将已颁发的证书下载到本地(例如
certnew.cer)。
9. 导入 flower 证书到 IIS 中
- 回到 IIS 的“服务器证书”界面,点击右侧操作栏的 “完成证书申请…”。
- 选择刚刚下载的证书文件,并为它指定一个好记的名称(如
flower)。
10. 为 flower 网站绑定 HTTPS 服务
- 在 IIS 中打开 flower 网站的绑定设置,添加一条 https 类型的绑定,端口为 443,并在 SSL 证书下拉菜单中选择刚刚导入的
flower证书。
11. 客户端测试访问 HTTPS
- 此时在客户端使用电脑访问
https://www.flower.com。 - 现象:由于客户端浏览器尚未信任该根 CA,此时会提示证书安全有问题。点击“继续浏览此网站”可以成功访问!
12. 解决客户端浏览器报错
- 在客户端 Windows 7 上,同样访问 CA 的官方网站下载 CA 的根证书。
- 下载后双击打开证书,选择 “安装证书”,将其导入到浏览器的 “受信任的根证书颁发机构” 存储区中。
- 再次刷新访问网站,安全警告红牌报错即可消失。