安全协议-SSL、SET、PGP
一、SSL协议(一)SSL协议概述SSL是一个安全套接层协议,位于传输层和应用层之间的协议。那么SSL主要作用就是提供一些安全方面的保障,通常是和应用层协议http协议进行结合,形成https的安全协议,来保证机密性传输。(二)SSL三大功能1、提供SSL服务器的鉴别。2、实现加密的SSL会话。3、提供可选的客户鉴别。主要是指SSL协议
一、SSL协议
(一)SSL协议概述
SSL是一个安全套接层协议,位于传输层和应用层之间的协议。那么SSL主要作用就是提供一些安全方面的保障,通常是和应用层协议http协议进行结合,形成https的安全协议,来保证机密性传输。
(二)SSL三大功能
1、提供SSL服务器的鉴别。
2、实现加密的SSL会话。
3、提供可选的客户鉴别。主要是指SSL协议3.0版本以上的(TSL)
(三)SSL协议三个子协议
1、握手子协议。就是通信双方之间通信之前,要先通过握手来达成双方信息的一致,就是保证安全方面的一致。那么这个过程中,就要产生会话状态的密码参数,允许服务器和客户机相互验证、协商加密和MAC算法及秘密密钥,用来保护在SSL记录中传送的数据。
2、记录子协议。根据握手子协议当中所协商好的信息内容来加密客户机和服务器交换的应用数据。
3、警报子协议。SSL握手之后,就连接好了SSL会话,如果发生了严重的错误,会立马通过警报协议来断开SSL会话,并且还会清除SSL会话当中敏感的信息,从而保证整个的过程,始终都能够是安全的。
(四)SSL协议工作过程
1、首先,顾客打开浏览器,顾客输入相应的网址,那么输入网址之后,A就把自己能够支持的加密算法发送给B,当然还会有SSL版本号信息,然后全部发送给B。
2、B就根据A能够支持的加密算法,去选定一个加密算法,选定的这个是B也能够支持的,这个过程就属于协商加密算法,其实是属于握手子协议这一块内容。
3、B还会把自己的数字证书也发给A,那么这个就是提供对服务器的身份认证,也就是鉴别服务器的真伪,同时还会携带B的公钥信息。
4、A收到之后,就要核实证书真伪,用CA的公钥来进行核实,核实之后得到B的身份的真实性。从而可以知道B的公钥的信息也是合法的。也就是实现了服务器身份的鉴别。
注意:在我们的浏览器当中,会有可信任的CA列表,只要数字证书当中所对应的CA信息是在我浏览器可信任的CA列表里面,那么A就能够对这个证书进行核实身份。如果没有的话,可以通过手动方式,把这个CA的信息,加入到这个可信任列表当中来。
5、接下来A会产生秘密数,通过B的公钥把这个秘密数进行加密,然后发给B,这个秘密数是用来产生相应的会话密钥,后面的数据用这个会话密钥来实现加密。B的私钥解开之后,得到秘密数,然后通过同样的方法也可以产生会话密钥,所以就实现了会话密钥的同步。
6、会话密钥同步之后,就用对应会话密钥来进行加密实现数据安全传输。
(五)TLS协议,可以看成是SSL协议的升级3.0版本,可以提供传输层的安全传输。
二、SET协议(了解即可)
(一)SET协议的产生背景
通过SSL、TLS协议,只会在两个通信的双方之间实现身份认证,早期的时候,服务器端主要是由一些大企业提供的金融类型服务,因此,安全性能够得到一定保障的。但是后来随着互联网的发展,我们的小企业网站也是越来越多,网上交易过程当中,通常会有三方身份的出现,客户、访问的网站、银行,那么这个时候三方身份认证信息都要来实现两两之间形成信任的过程,所以这个时候SSL协议也好、TLS协议也好,已经不能够提供这么好的担保了。所以之后就产生了安全电子交易协议SET。
(二)安全电子交易SET
1、SET主要是针对信用卡交易,专门为与支付有关的报文来进行加密。
2、SET会涉及到三方:客户、商家、银行。
3、SET要求三家都要有证书。
4、SET是一个全球标准协议。
三、PGP完美的安全协议
(一)PGP协议的产生背景
PGP协议主要功能是用于电子邮件的安全传输。因为电子邮件在因特网当中进行传输会经过很多的路由器的转发,安全性其实是得不到保障的,为了实现安全的交付,所以就产生了PGP协议,PGP协议实现电子邮件双方不需要提前协商好加密密钥,只要采用了安全协议,就能够实现电子邮件的安全传输。
(二)PGP实现过程思路
假设A要给B发送电子邮件,如果采用了PGP,要把电子邮件X进行加密,那么在进行加密之前,我们还会对它提供身份认证,以及报文鉴别。
报文鉴别就是确保发送出去的邮件在传输过程中没有发生任何篡改,这就是报文鉴别。
身份认证通过数字签名来确定的。
为了保证加密效率,采用对称加密来实现,对称加密的密钥管理通过一次性密钥,或者是说秘密数产生的会话密钥来实现。
(三)PGP实现完整过程
发送过程:
- A要把邮件X通过报文摘要算法(这里采用安全散列算法,固定输出160位报文摘要)生成报文摘要。
- 然后A用自己私钥对这个摘要进行签名,那么签名之后就得到签了名的报文鉴别码MAC。
- 将报文鉴别码MAC 连同原始报文信息明文X进行发送。
- 为了保证机密性传输,所以会用一次性密钥进行加密,所以这个报文鉴别码连同原始信息就会变成密文。
- 为了让B知道一次性密钥,所以用B的公钥来加密一次性密钥,也告诉B。
- 然后把这个完整的加了密的信息进行发送。
总结:
- B的公钥,用于加密一次性密钥。
- A的私钥,用于签名,以认证发送方身份、实现报文摘要算法和报文鉴别。
- 一次性密钥,用于加密传输,所以之后因特网当中传输的是加了密的密文。并且这个一次性密钥也是通过B的公钥加了密之后再进行传输,只有B才能解开。
接收过程:
- B在收到密文之后,首先用自己的私钥进行解密,解出这个一次性密钥。
- B在用一次性密钥把这个原始报文和摘要进行解密,解密出来之后,就得到报文鉴别码和原始报文信息。
- 报文鉴别码是用A的私钥签了名的,因此可以用A的公钥进行解开,得到原始报文摘要。
- 之后再用明文报文信息,通过相同的散列算法,得出报文摘要信息,然后摘要进行比较,如果是一模一样的话,就说明这个过程当中,这个报文是没有被任何篡改的,是一致的,所以能够验证报文的完整性。
总结:
B会用到两个密钥,一个是自己的私钥,用于同步一次性密钥。另一个是A的公钥,用于核实发送方A的身份。
如若转载,请注明出处:https://www.anshangmei.com/17988.html