15.PKI

1.概述

全称:Public Key Infram.... 公钥基础设施

作用:通过加密技术和数字签名保证信息的安全

组成:公钥加密技术,数字证书,CA(证书颁发机构),RA(证书颁发机构的分支)

信息安全三要素:机密性,完整性,身份验证/操作的不可否认性

哪些IT领域用到PKI:SSL/HTTPS,IPsecVPN,部分远程访问VPN

2.公钥加密技术

2.1作用

实现对信息加密、数字签名等安全保障

2.2 加密算法解释:

例如:加密算法:x+5=y

x是原数据,要被加密的数据,也叫原文

y是密文,对x这个原数据加密后的数据

5是key,也叫密钥,将原数据变为密文和将密文翻译会原数据的关键

2.3 加密算法种类

2.3.1.对称加密算法

加密和解密的秘钥是一致的,例如DES,3DES,AES

2.3.2.非对称加密算法

非对称算法有:RSA,DH

通信双方各自产生一对公私钥匙。

双方各自交换公钥。

公钥和私钥为互相加密,解密关系,也就是如果用公钥加密原数据,那么私钥才能解密密文。如果是私钥加密原数据,那么公钥解密密文

公钥和私钥不可互相逆推

如上图所示,有两台电脑分别是大飞和小飞,

大飞的公钥是123,私钥是321

小飞的公钥是abc,私钥是cba

在通讯前,大飞将自己的公钥123发给小飞,小飞将自己公钥abc发给大飞

大飞要发“火箭总冠军”的信息给小飞,

那么就会把该信息用小飞发来的公钥abc用例如RSA算法进行加密变为密文才发给小飞,小飞接收到后就用自己的私钥cba配合RSA算法进行解密,反之亦然

2.3.3 最新的非对称加密算法

如上图所示,有两台电脑分别是大飞和小飞,

大飞的公钥是123,私钥是321

小飞的公钥是abc,私钥是cba

在通讯前,大飞将自己的公钥123发给小飞,小飞将自己公钥abc发给大飞

大飞要发“火箭总冠军”的信息给小飞,

那么就会把该信息用小飞发来的公钥abc用例如RSA算法进行加密变为密文1,

并且会用hash算法根据密文1生成一串哈希值,

并且用大飞自己的私钥321利用例如RSA算法对这串哈希值进行加密变为密文2(也叫“数字签名”),

然后把密文1和密文2合并在一起变为真正的密文发给小飞

小飞接收后,会把密文分为两段进行解析,密文1则用小飞自己的私钥通过RSA算法进行解析,然后再把解密出来的内容用hash算法生成对应的哈希值1

密文2因为用的是大飞的私钥进行加密的,所以则用大飞传过来的公钥通过RSA算法进行解密变为哈希值2

最后对比哈希值1与哈希值2是否相同,如果相同则证明数据传输过程中并没有被修改过,那么则采用解密出来的明文,反之亦然

2.3.4 HASH算法

作用:验证数据完整性

算法有:MD5,SHA

HASH算法是不可逆的

生成的HASH值也叫摘要

3.数字证书

作用:保证公钥的合法性

证书格式遵循X.509标准

包含的信息:

使用者的公钥值

使用者的标识信息(如名称,电邮地址)

有效期(证书的有效时间)

颁发机构的标识信息

表发机构的数字签名

数字证书由权威公正的第三方机构即CA签发

图解:

大飞有公钥123,私钥321,ip:10.1.1.1

公安局有公钥666,私钥999

小飞有公钥abc,私钥cba

大飞要先在公安局(CA,RA)用自己的公钥123和IP地址10.1.1.1报备,公安局会用自己的私钥999加密大飞送来的ip地址和公钥,从而形成“数字证书”给大飞

得到公安局给的“数字证书”后,大飞对小飞发信息(如第2.3.3章节所述流程)并且发送的信息还携带着公安局颁发的“数字证书”

小飞得到该信息后,发现有“数字证书”,所以就去跟公安局发信息得到公安局公钥666来解密该数字证书,发现数字证书中所记录的大飞的公钥和IP地址与现在与自己交流的大飞的ip地址和其发来的公钥一致,从而使得小飞安心地与大飞进行通讯(因为大飞在公安局报备过)

如果发现数字证书中所记录的大飞的公钥和IP地址与现在与自己交流的大飞的ip地址和其发来的公钥不一致,那么小飞就会弹出窗口告知小飞,从而让小飞可以选择继续与现在的大飞进行交流或者拒绝后续交流

4.数字签名

用自己的私钥对摘要(HASH值)加密得出的密文就是数字签名

5.PKI案例(SSL设置为“忽略”或“接受”)

win2008服务端(已经有DNS环境)

交换机和IP地址配置

交换机是VMnet2

IP地址:

10.1.1.1

子网掩码:

255.255.255.0

DNS地址指向自身:

127.0.0.1

安装IIS的web服务环境

“计算机”右键,选择“管理”

选择“角色”,然后点击“添加角色”

选择“服务器角色”,勾选“Web服务器IIS”

直接点击“下一步”

可以发现,“应用程序开发”是关于部署动态网站才用到的东西,因为本案例win2008的其中一个身份是CA服务器(颁发证书的),而CA服务器的入口是个动态网站,因此要把“应用程序开发”勾选上,从而营造支持动态网站部署的环境

另外可以发现,这里有个“FTP服务器”的选项,因为本案例不涉及FTP部署,所以没有勾上

点击“安装”

直接点击“关闭”

此时会发现,角色一栏多了个“Web服务器IIS”

在“管理工具”打开IIS服务器管理窗口,这里的默认网站“Default Web Site”要保持正常的启动状态,

因为待会儿CA服务器要征用该站点

部署普通网站

“E:\web\web1”这个web1是网站文件夹,里面只有一个网页index.html

对着IIS管理器的“网站”右键,选择“添加网站”

设置好该网站的所有参数后,点击“确定”

网站新建成功后,你要设置默认的首页,此时你要双击“默认文档”

点击“添加”,将你的网站文件夹里的要设置为默认首页的html文件名字添加到列表中,然后再将该名字上移到顶部

部署DNS

打开DNS管理器,对着“正向查找区域”右键,选择“新建区域”

当你的区域新建好后,选定指定的区域,这里是qf.com这个区域,

然后在右侧空白处右键,选择“新建主机”

这里的设置与IIS的关于该网站的设置保持一致

DNS关于该网站的解析部署,已经完成

部署CA服务器

对着“计算机”右键,选择“管理”,

在弹出的界面选择“角色”,然后点击“添加角色”,

勾选“Active Directory证书服务”,点击“下一步”

直接点击“下一步”

勾选“证书颁发机构Web注册”,此时会弹出窗口,该窗口的意思是,CA服务器要建立在IIS的Web服务器功能上,所以要求你把IIS也安装了,

此时你只管点击“添加所需的角色服务”

“证书颁发机构Web注册”被正式勾上,直接点击“下一步”

如果你的win2008没有安装域环境,那么“企业”选项是不可点选的,此时你要点选“独立”选项

因为win2008并没有上级的CA服务器,所以选择“根CA”,

这里的“子级CA”其实相当于之前所说的RA

因为没有已存在的公钥和私钥,所以这里选择“新建私钥”

设置加密算法(这里选的是RSA),秘钥长度(越长越安全但是解析的速度会变慢),哈希算法(这里选择了SHA),

建议保持默认,直接下一步

这里是自定义设置这个公安局的名字,也就是证书的名字,建议直接下一步

CA有效期设置,意思是在2028/8/10 11:54之后,所有该CA服务器颁发出去的证书将会失效

直接“下一步”

直接“下一步”

直接“下一步”

直接点击“安装”

安装完成后,你会发现在IIS服务器的“Default Web Site”这个内置的默认网站下面多出一堆与CA服务器相关的东西

在“管理工具”,点击“证书颁发机构”即可打开CA管理窗口

IIS服务器创建CA证书申请文件

打开IIS管理器,选择顶部的Win2008(计算机名字),右侧列表双击“服务器证书”

点击“创建证书申请”

自定义证书申请,这里的内容都是可以自定义设置的,

唯一注意的是,“通用名称”这里写上,待会儿生成的证书申请文件是给IIS服务器底下的哪个网站用的,就把该网站的完全限定域名写在“通用名称”这里

选择证书的加密形式和位长,建议保持默认即可

设置待会儿生成的申请文件放在哪里,叫啥名字,

我这里设置为C:\Users\Administrator\Desktop\test网站证书.txt

也就是说,待会儿申请证书放在桌面,文件名叫test网站证书.txt

关于test.qf.com的CA证书的申请文件已经生成

IIS服务器提交证书申请文件

可以发现,在安装了CA服务器后,IIS管理器的默认网站“Default Web Site”下面多出了一堆关于CA服务器的一堆东西,其中的CertSrv既是默认网站的子网站,也是CA服务器证书申请的入口

此时对着默认网站“Default Web Site”右键,选择“编辑绑定”

此时你会发现,该默认网站是没有主机名(完全限定域名),并且IP地址是“*”,

也就是说,你只需要在浏览器输入win2008的ip地址就可以访问到该默认网站,

所以,如果想访问该默认网站的子网站(CA网站),那么只需要输入

127.0.0.1/CertSrv

10.1.1.1/CertSrv

即可

因为要把证书申请文件提交到CA服务器,所以在浏览器输入

127.0.0.1/CertSrv

10.1.1.1/CertSrv

此时点击“添加”

再一次点击“添加”

然后点击“关闭”

点击“申请证书”

“Web浏览器证书”:相对于客户机而言的,因为现在有些网站不仅网站服务器要对该网站申请证书,要访问该网站的其他客户机也必须有证书才行的,所以这些客户机就得在这里点击这个“Web浏览器证书”进行证书申请才可以

“电子邮件保护证书”:如果该证书是用在电邮功能上的,就选择这个

“高级证书申请”:因为本案例是为服务器的指定网站申请证书,所以就要选这个

选择第二个选项

将证书申请文件中的内容复制到浏览器的多行文本域处,然后点击“提交”,

这样就完成了证书申请文件的提交操作

CA证书的颁发

此时,打开CA管理器,

点选“挂起的申请”,

会发现,有个未处理的申请,而这个申请就是刚才提交的证书申请,

此时,对着该申请右键,选择“所有任务”中的“颁发”

此时,在浏览器重新输入

127.0.0.1/CertSrv

10.1.1.1/CertSrv

进入CA证书网站,然后点击“查看挂起的证书申请的状态”

点击“保存的申请证书”

点击“下载证书”,因为本案例没使用“证书链”

这里的证书链的意思是,由于若干个证书所构成的证书

例如:有个证书,他是由证书A,证书B,证书C构成,而证书A是用来解析证书B的,证书B是用来解析证书C的,因为形成了链条,所以该证书又称为证书链

下载完成后,桌面会多出这么个证书文件

IIS服务器添加证书文件

打开IIS管理器,选择“Win2008”,双击“服务器证书”

点击“完成证书申请”,

选择刚才下载下来的证书文件,然后再自定义个名字myTest

此时你会发现,你的IIS服务器会有两个证书,

第一个证书是没有名称的,因为你的win2008同时也是个CA服务器,这个没名字的证书是CA服务器自己颁发给自己的,是在你安装了CA服务器环境后自动给你设置的

第二个证书myTest就是你刚才为自己的test.qf.com这个网站所设置的证书,也因此,你可以为你的IIS服务器的test.qf.com这个网站从http协议改为https协议了

将网站改为更安全的https协议(使用PKI技术)

在IIS服务器,对着test网站右键,选择“编辑绑定”

点击“添加”

选择“https”,IP地址选为10.1.1.1(本机IP地址),端口自动默认为443(http协议的时候是80端口),把自己的myTest证书添加上

此时,https://test.qf.com也可以访问网站了,

但是还存在一个问题,就是客户仍然可以用http://test.qf.com进行访问,

所以我们要禁用掉http://test.qf.com的访问

选择test网站,然后双击“SSL”设置

把“要求SSL证书”勾上,这样就只能以https://test.qf.com访问该网站了

而下面的

忽略:访问该网站不需要客户机有win2008颁发的CA证书

接受:不管客户机有或没有win2008颁发的CA证书,都可以访问该网站

必须:客户如果没win2008颁发的证书那么就不让访问该网站

本案例选择“忽略”或“接受”皆可以,

然后点击“应用”即可

winxp客户端

效果

如果浏览器输入http://test.qf.com

是不会允许你访问的

浏览器输入https://test.qf.com,

就会弹出窗口问你,是否信任该网站的证书,此时点击“是”

此时就能顺利打开网站

额外知识点

之所以当你访问百度,腾讯,新浪等网站的时候不会弹出窗口询问你是否信任该网站的证书,是因为你的浏览器已经内置了这些大型网站的证书颁发机构了,所以浏览器给你默认地同意信任这些网站的证书

6.PKI案例(SSL设置为“必须”)

win2008服务端(已经有DNS环境)

交换机和IP地址配置

交换机是VMnet2

IP地址:

10.1.1.1

子网掩码:

255.255.255.0

DNS地址指向自身:

127.0.0.1

安装IIS的web服务环境

“计算机”右键,选择“管理”

选择“角色”,然后点击“添加角色”

选择“服务器角色”,勾选“Web服务器IIS”

直接点击“下一步”

可以发现,“应用程序开发”是关于部署动态网站才用到的东西,因为本案例win2008的其中一个身份是CA服务器(颁发证书的),而CA服务器的入口是个动态网站,因此要把“应用程序开发”勾选上,从而营造支持动态网站部署的环境

另外可以发现,这里有个“FTP服务器”的选项,因为本案例不涉及FTP部署,所以没有勾上

点击“安装”

直接点击“关闭”

此时会发现,角色一栏多了个“Web服务器IIS”

在“管理工具”打开IIS服务器管理窗口,这里的默认网站“Default Web Site”要保持正常的启动状态,

因为待会儿CA服务器要征用该站点

部署普通网站

“E:\web\web1”这个web1是网站文件夹,里面只有一个网页index.html

对着IIS管理器的“网站”右键,选择“添加网站”

设置好该网站的所有参数后,点击“确定”

网站新建成功后,你要设置默认的首页,此时你要双击“默认文档”

点击“添加”,将你的网站文件夹里的要设置为默认首页的html文件名字添加到列表中,然后再将该名字上移到顶部

部署DNS

打开DNS管理器,对着“正向查找区域”右键,选择“新建区域”

当你的区域新建好后,选定指定的区域,这里是qf.com这个区域,

然后在右侧空白处右键,选择“新建主机”

这里的设置与IIS的关于该网站的设置保持一致

DNS关于该网站的解析部署,已经完成

部署CA服务器

对着“计算机”右键,选择“管理”,

在弹出的界面选择“角色”,然后点击“添加角色”,

勾选“Active Directory证书服务”,点击“下一步”

直接点击“下一步”

勾选“证书颁发机构Web注册”,此时会弹出窗口,该窗口的意思是,CA服务器要建立在IIS的Web服务器功能上,所以要求你把IIS也安装了,

此时你只管点击“添加所需的角色服务”

“证书颁发机构Web注册”被正式勾上,直接点击“下一步”

如果你的win2008没有安装域环境,那么“企业”选项是不可点选的,此时你要点选“独立”选项

因为win2008并没有上级的CA服务器,所以选择“根CA”,

这里的“子级CA”其实相当于之前所说的RA

因为没有已存在的公钥和私钥,所以这里选择“私钥”

设置加密算法(这里选的是RSA),秘钥长度(越长越安全但是解析的速度会变慢),哈希算法(这里选择了SHA),

建议保持默认,直接下一步

这里是自定义设置这个公安局的名字,也就是证书的名字,建议直接下一步

CA有效期设置,意思是在2028/8/10 11:54之后,所有该CA服务器颁发出去的证书将会失效

直接“下一步”

直接“下一步”

直接“下一步”

直接点击“安装”

安装完成后,你会发现在IIS服务器的“Default Web Site”这个内置的默认网站下面多出一堆与CA服务器相关的东西

在“管理工具”,点击“证书颁发机构”即可打开CA管理窗口

IIS服务器创建CA证书申请文件

打开IIS管理器,选择顶部的Win2008(计算机名字),右侧列表双击“服务器证书”

点击“创建证书申请”

自定义证书申请,这里的内容都是可以自定义设置的,

唯一注意的是,“通用名称”这里写上,待会儿生成的证书申请文件是给IIS服务器底下的哪个网站用的,就把该网站的完全限定域名写在“通用名称”这里

选择证书的加密形式和位长,建议保持默认即可

设置待会儿生成的申请文件放在哪里,叫啥名字,

我这里设置为C:\Users\Administrator\Desktop\test网站证书.txt

也就是说,待会儿申请证书放在桌面,文件名叫test网站证书.txt

关于test.qf.com的CA证书的申请文件已经生成

IIS服务器提交证书申请文件

可以发现,在安装了CA服务器后,IIS管理器的默认网站“Default Web Site”下面多出了一堆关于CA服务器的一堆东西,其中的CertSrv既是默认网站的子网站,也是CA服务器证书申请的入口

此时对着默认网站“Default Web Site”右键,选择“编辑绑定”

此时你会发现,该默认网站是没有主机名(完全限定域名),并且IP地址是“*”,

也就是说,你只需要在浏览器输入win2008的ip地址就可以访问到该默认网站,

所以,如果想访问该默认网站的子网站(CA网站),那么只需要输入

127.0.0.1/CertSrv

10.1.1.1/CertSrv

即可

因为要把证书申请文件提交到CA服务器,所以在浏览器输入

127.0.0.1/CertSrv

10.1.1.1/CertSrv

此时点击“添加”

再一次点击“添加”

然后点击“关闭”

点击“申请证书”

“Web浏览器证书”:相对于客户机而言的,因为现在有些网站不仅网站服务器要对该网站申请证书,要访问该网站的其他客户机也必须有证书才行的,所以这些客户机就得在这里点击这个“Web浏览器证书”进行证书申请才可以

“电子邮件保护证书”:如果该证书是用在电邮功能上的,就选择这个

“高级证书申请”:因为本案例是为服务器的指定网站申请证书,所以就要选这个

选择第二个选项

将证书申请文件中的内容复制到浏览器的多行文本域处,然后点击“提交”,

这样就完成了证书申请文件的提交操作

CA证书的颁发

此时,打开CA管理器,

点选“挂起的申请”,

会发现,有个未处理的申请,而这个申请就是刚才提交的证书申请,

此时,对着该申请右键,选择“所有任务”中的“颁发”

此时,在浏览器重新输入

127.0.0.1/CertSrv

10.1.1.1/CertSrv

进入CA证书网站,然后点击“查看挂起的证书申请的状态”

点击“保存的申请证书”

点击“下载证书”,因为本案例没使用“证书链”

这里的证书链的意思是,由于若干个证书所构成的证书

例如:有个证书,他是由证书A,证书B,证书C构成,而证书A是用来解析证书B的,证书B是用来解析证书C的,因为形成了链条,所以该证书又称为证书链

下载完成后,桌面会多出这么个证书文件

IIS服务器添加证书文件

打开IIS管理器,选择“Win2008”,双击“服务器证书”

点击“完成证书申请”,

选择刚才下载下来的证书文件,然后再自定义个名字myTest

此时你会发现,你的IIS服务器会有两个证书,

第一个证书是没有名称的,因为你的win2008同时也是个CA服务器,这个没名字的证书是CA服务器自己颁发给自己的,是在你安装了CA服务器环境后自动给你设置的

第二个证书myTest就是你刚才为自己的test.qf.com这个网站所设置的证书,也因此,你可以为你的IIS服务器的test.qf.com这个网站从http协议改为https协议了

将网站改为更安全的https协议(使用PKI技术)

在IIS服务器,对着test网站右键,选择“编辑绑定”

点击“添加”

选择“https”,IP地址选为10.1.1.1(本机IP地址),端口自动默认为443(http协议的时候是80端口),把自己的myTest证书添加上

此时,https://test.qf.com也可以访问网站了,

但是还存在一个问题,就是客户仍然可以用http://test.qf.com进行访问,

所以我们要禁用掉http://test.qf.com的访问

选择test网站,然后双击“SSL”设置

把“要求SSL证书”勾上,这样就只能以https://test.qf.com访问该网站了

而下面的

忽略:访问该网站不需要客户机有win2008颁发的CA证书

接受:不管客户机有或没有win2008颁发的CA证书,都可以访问该网站

必须:客户如果没win2008颁发的证书那么就不让访问该网站

本案例选择“必须”,

然后点击“应用”即可

winxp客户端

效果

如果浏览器输入http://test.qf.com

是不会允许你访问的

浏览器输入https://test.qf.com,

就会弹出窗口问你,是否信任该网站的证书,此时点击“是”

因为你的win2008在设置test.qf.com这个网站的“SSL设置”的时候选择了“必须”,所以当客户访问该网站,那么该网站要客户提交对应的证书即可,但可惜的是,现在winxp并没有向win2008的CA服务器申请证书,所以这里也没证书让你选择提交

所以当你按下“确定”,该网站拒绝你的访问

因此,要先获取客户端证书,所以在浏览器输入win2008的CA网站网址

http://10.1.1.1/certsrv/

,点击“申请证书”

选择“Web浏览器证书”

输入你的对应的个人信息,然后点击“提交”

点击“是”

客户证书已经申请中

切换到win2008的CA管理器,可以发现“挂起的申请”中多了个CA证书的申请,对着该申请右键,点击“所有任务”中的“颁发”

切换回winxp客户机,浏览器重新输入win2008的CA服务器网址

http://10.1.1.1/certsrv/

点击“查看挂起的证书申请的状态”

点击“Web浏览器证书”

点击“安装此证书”

点击“是”

点击“是”

证书安装成功

重新打开浏览器,输入要访问的网址:

https://test.qf.com

此时会弹出窗口,要你向win2008服务器提交客户机的CA证书,这时候按确定

网站访问成功

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值