第17节 PKI公钥基础设施

PKI公共秘钥技术

  • 1PKI概述
  • 2公钥加密技术
    • 2.1对称加密算法
    • 2.2非对称加密算法
    • 2.3不可逆算法
    • 2.4数字证书技术
  • 3PKI工作原理与过程——以非对称加密技术、数字证书为例
    • 3.1公钥与私钥配合保证信息机密性
    • 3.2利用不可逆算法保证信息完整性
    • 3.3数字证书保证身份验证与操作的不可否认性
  • 4部署HTTPS服务器并熟悉PKI技术原理
    • 4.1win2008配置WEB服务器
    • 4.2win2008配置DNS服务器
    • 4.3win2008部署CA证书颁发机构
    • 4.4为WEB服务器认证证书
    • 4.5限制网站使用https协议
  • 5总结
  • 6不足与展望
  • 参考文献

1PKI概述

  1. PKI:Public Key Infrastructure 公钥基础设施。
  2. 作用:通过加密技术和数字签名保证信息的安全。
  3. PKI的组成:公钥加密技术、数字证书、CA(证书颁发机构)、RA(注册机构)。
  4. 信息安全的三要素:机密性、完整性、身份验证与操作的不可否认性。
  5. 应用场景:(1)SSL/HTTPS;(2)IPsevVPN;(3)部分远程访问VPN。

2公钥加密技术

  1. 作用:实现对信息加密、数字签名等安全保障。

2.1对称加密算法

  1. 特点:加解密的秘钥一致。
  2. 常用算法:DES、3DES、AES。

2.2非对称加密算法

  1. 特点:
    (1)通信双方格子产生一对公私钥;
    (2)双方各自交换公钥;
    (3)公钥和私钥为互相加解密关系;
    (4)公私钥不可互相逆推。
  2. 公私钥的作用:
    (1)公钥提供给对方,让对方给信息加密,加密结果仅自己的私钥能解密。
    (2)私钥自己用,对摘要加密得到数字签名,对方有公钥可以验证签名是否正确,即可以验证信息的完整性。
  3. 常用算法:RSA、DH。

2.3不可逆算法

  1. 作用:计算得到信息的“摘要”,用于验证信息的完整性。
  2. 常用算法:MD5、SHA。

2.4数字证书技术

  1. 证书由第三方权威机构CA签发,用于保证秘钥的合法性。
  2. 证书格式遵循X.509标准。
  3. 数字证书包含信息如下:
    (1)使用者的公钥信息
    (2)使用者的标识信息(名称、IP、电子邮件地址等)
    (3)有效期
    (4)颁发者标识信息
    (5)颁发者的数字签名(颁发者采用私钥加密过,其他人员可以采用颁发者提供的公钥验证证书真伪)

3PKI工作原理与过程——以非对称加密技术、数字证书为例

3.1公钥与私钥配合保证信息机密性

相比于对称加密算法,非对称加密算法利用公钥与私钥相互配合,才能够保证信息的机密性。

  1. 在通信开始前,用户AB需要互换公钥。
  2. 由于公钥与私钥间可以互相加解密,为保证信息只有用户B能够解密,A发出的信息采用B的公钥进行加密,发出密文。
  3. B收到信息后,采用自己的私钥进行解密,还原信息。
    第17节 PKI公钥基础设施_第1张图片

3.2利用不可逆算法保证信息完整性

虽然利用公钥与私钥配合能够保证信息机密性,不被他人破解而导致信息泄露,但是该方法无法保证信息的完整性(即该信息是否被非法改动)。

  1. 在通信开始前,用户AB需要互换公钥。
  2. 由于公钥与私钥间可以互相加解密,为保证信息只有用户B能够解密,A采用B的公钥进行加密得到密文。
  3. A将密文用不可逆算法得到信息摘要,并用自己的私钥对摘要进行加密。
  4. A将密文和加密的摘要发给B。
  5. B用户利用A的公钥对加密摘要进行解密,同时算出密文的摘要,对比两个摘要是否一致。一致时则验证了信息的完整性,不一致时则表明信息被篡改。
  6. B用户用自己的私钥对密文进行解密,得到信息。
    第17节 PKI公钥基础设施_第2张图片

3.3数字证书保证身份验证与操作的不可否认性

以上步骤完成了对信息机密性和完整性的保障,但是是建立在用户AB至今彼此确信对方的公钥准确可靠的前提下,在实际环境中,任何用户都不可能存有所有机器的公钥,如果临时对话时才交换公钥,该过程容易被黑客盗换成黑客的公钥,那么后续信息的加密与验证将由黑客说了算。因此,需要有权威机构对每个用户的公钥做公证,确保用户身份与公钥对应,就像人与身份证对应一样。

  1. 用户A向CA申请注册数字证书。
  2. 制止证书:CA根据使用者信息确定了证书内容,并用不可逆算法得到证书内容的hash值,用CA的私钥对hash值进行加密,形成证书签名。
  3. CA将证书颁发给用户A。
  4. 其余步骤与3.2节类似,用户A将密文、加密的摘要、证书发给B。
  5. 用户B先验证证书真伪。用户B用同样的不可逆算法得到证书内容的hash值,同时根据CA的公钥解密证书签名,对比两者是否一致。一致时则验证了证书的完整性,不一致时则表明证书信息被篡改。
  6. 用户B再验证信息完整性及解密密文。
    第17节 PKI公钥基础设施_第3张图片

4部署HTTPS服务器并熟悉PKI技术原理

win2008中需要配置以下服务器:

  1. IIS服务器→提供web服务;
  2. DNS服务器→提供域名解析服务;
  3. CA证书颁发机构→公证WEB服务器证书;

4.1win2008配置WEB服务器

  1. 打开win2008、winXP,连接至同一局域网,配置IP,win2008IP为10.1.1.1、winXPIP为10.1.1.2确保能够互相ping通。其中win2008的DNS可以使用自己的IP地址也可以设置回环地址。
    第17节 PKI公钥基础设施_第4张图片第17节 PKI公钥基础设施_第5张图片
  2. win2008右键我的电脑→管理→点击角色→添加角色→弹出向导下一步→勾选WEB服务→下一步。
    第17节 PKI公钥基础设施_第6张图片
  3. 勾选动态网站功能→下一步→安装。第17节 PKI公钥基础设施_第7张图片
  4. 查看默认网站。开始→管理工具→IIS→右键默认站点→编辑绑定。
    第17节 PKI公钥基础设施_第8张图片
  5. 发布动态网站。右键网站→添加网站→填写名称路径等信息→确定。
    第17节 PKI公钥基础设施_第9张图片
  6. 设置网站属性。相比于win2003服务器,win2008服务器搭配网站时,点击该网站就能在右边出现属性窗口,找到默认网站等需要设置的属性。第17节 PKI公钥基础设施_第10张图片
  7. 设置默认网页优先顺序。
    第17节 PKI公钥基础设施_第11张图片

4.2win2008配置DNS服务器

  1. win2008右键我的电脑→管理→点击角色→添加角色→弹出向导下一步→勾选DNS服务→下一步→新建主分区→添加主机。第17节 PKI公钥基础设施_第12张图片
  2. winxp验证网页是否配置成功。
    第17节 PKI公钥基础设施_第13张图片

4.3win2008部署CA证书颁发机构

  1. win2008右键我的电脑→管理→点击角色→添加角色→弹出向导下一步→勾选AD证书服务→下一步。
    第17节 PKI公钥基础设施_第14张图片
  2. 勾选所需要的服务类型→下一步→选择独立→选择根CA→新建私钥→选择算法→CA机构命名(可以不改或根据域名修改)→设置CA机构证书有效期→设置文件位置(保持默认)→角色服务(保持默认)→安装。第17节 PKI公钥基础设施_第15张图片第17节 PKI公钥基础设施_第16张图片
    第17节 PKI公钥基础设施_第17张图片
  3. 检查服务器已安装的角色。第17节 PKI公钥基础设施_第18张图片
  4. 安装完成后在默认网页可以看到新增许多内容。第17节 PKI公钥基础设施_第19张图片

4.4为WEB服务器认证证书

  1. 以服务器的名义申请证书文件。打开IIS服务→选择服务器→找到服务器证书→创建证书→填写用户单位信息→设置用户公钥类型→设置申请证书名称及存放位置→完成。
    第17节 PKI公钥基础设施_第20张图片
    第17节 PKI公钥基础设施_第21张图片
    第17节 PKI公钥基础设施_第22张图片
    第17节 PKI公钥基础设施_第23张图片
  2. 将证书提交给CA公认。win2008打开IE浏览器→输入10.1.1.1\CertSrv(微软服务器默认生成的都是这个)→申请证书→高级证书申请→选择以base64编码的XXX→打开上一步下载的IIS-SQ,复制全部,黏贴→提交。
    第17节 PKI公钥基础设施_第24张图片
    第17节 PKI公钥基础设施_第25张图片
    第17节 PKI公钥基础设施_第26张图片
  3. CA机构颁发证书。开始→管理工具→证书颁发机构→挂起的申请→选中右键→所有任务→颁发→查看颁发。
  4. win2008IE浏览器查看证书颁发状态。输入10.1.1.1\CertSrv→查看挂起的证书申请状态→
    第17节 PKI公钥基础设施_第27张图片
  5. 将证书导入到服务器中。打开IIS服务→选择服务器→找到服务器证书→完成证书申请→选中证书路径并自定义名称。第17节 PKI公钥基础设施_第28张图片
  6. 查看当前证书类型。
    第17节 PKI公钥基础设施_第29张图片

4.5限制网站使用https协议

  1. win2008选中所有设置的网站→编辑绑定→新增→确定。
    第17节 PKI公钥基础设施_第30张图片
  2. 截止此处,该网站既提供80端口又提供443端口,选中网站→找到SSL设置→√要求SSL,客户证书忽略→应用。
    第17节 PKI公钥基础设施_第31张图片
  3. winXP访问网站。输入www.dianying.com,无法访问网站,因为使用的是80端口,需要在前面加上https:\.访问,则弹出以下警告,因xinxp不信任该CA机构,点确认可以继续访问。
    第17节 PKI公钥基础设施_第32张图片
    第17节 PKI公钥基础设施_第33张图片
  4. 浏览器中已经有内置了信任的CA机构,可以在工具→浏览器选项→内容→证书颁发者查看。第17节 PKI公钥基础设施_第34张图片

5总结

  1. 了解介绍PKI技术含义、作用、安全的三要素。
  2. 熟悉PKI技术中集中主要的算法和数字证书技术。
  3. 以保障安全三要素为出发点,分三阶段掌握PKI技术原理。
  4. 在win2008中部署https服务器,在部署过程中熟悉理解PKI技术。

6不足与展望

  1. 仍需补充密码学相关知识。
  2. 补充PKI技术的发展历程、各阶段的痛点和完善措施。
  3. 补充理解各个加密算法
  4. 研究为什么公钥与私钥可以互相加解密、研究为什么公私钥间无法互相推导。

参考文献

  1. 《网络安全笔记-07.2-PKI与非对称加密过程》

你可能感兴趣的:(#,https,ssl,pki,网络安全)