Abstract:本篇文章介绍了7个安全协议。分别是位于网络层的IPSec,这是一个安全协议组,主要的功能是认证和加密,为了实现认证和加密需要有秘钥管理和交换的功能,分别由AH,ESP,IKE三个组件实现;SSL/TLS位于传输层和应用层之间,可以细分为两个子层,分别是SSL记录协议层,SSL握手协议层,分别完整信息的封装,压缩,加密以及通信双方身份认证,秘钥管理的功能,SSL可以和应用层的http协议配合形成https,也可以保证邮件协议的安全。然后讲了应用层的kerberos协议,这是一个身份认证协议。最后是运用在SMTP之上的MIME以及PGP协议,MIME除了加密解密的功能之外,还能使得原本只能传输ASCII码SMTP协议更加丰富多彩,PGP是pretty good privacy的缩写,是一个安全保障的应用程序,最后是讲了SET协议,这是一个专门针对于信用卡电子支付的安全协议,保证银行,商家和顾客之间的一致性和安全性问题。最后补充零知识协议以及Diffle-Hellman密钥交换协议。
目录
扫描二维码关注公众号,回复: 13025923 查看本文章
针对TCP/IP中存在的许多安全缺陷,必须使用加密技术、鉴别技术等来实现必要的安全协议。安全协议可以放置在TCP/IP协议栈的各层中(见下图),如IPSec位于IP层,SSL协议位于TCP与应用层之间,而在应用层针对不同的应用有一系列的安全协议,如:PGP,SET等。
1.IPSec
IPSec是用来解决网络层安全问题的一套协议组,他提供两种安全机制:认证和加密
认证:确保通信的数据接收方能确定数据发送方的真实身份,以及确定数据在传输过程中是否遭到篡改
加密:对数据进行加密,防止数据在传输过程中被窃听
为了实现认证和加密,还需要有秘钥管理和交换的功能,所以IPSec有三个重要的组件来实现这三个功能,分别是
- 鉴别首部AH(authentication header):认证
- 封装安全载荷ESP(encapsulating security payload):加密
- Internet秘钥交换IKE(Internet key exchange):秘钥管理和交换
- IPSec的优点:
- 如果在路由器或者防火墙上执行IPsec,内部网络的安全也能得到保障
- 运输在网络层,对终端透明,容易扩展。
- IPSec的工作模式
- 传输模式:运行在两个端主机上,保护上层协议报文
- 隧道模式:运行在网关或者主机上,保护完整的ip数据包
2.SSL/TLS
- SSL/TLS之间的关系:
- SSL位于传输层和应用层之间,他使用了大量安全方法,比如非对称加密,数字证书等,主要的任务是保证私密性,完整性和身份认证,TLS相当于SSL的一个扩充版本。
- SSL与应用层协议之间的关系:
- HTTP over SSL:这就是我们熟悉的https啦
- Email over SSL:比如SMTP POP3
- SSL协议结构
- SSL有两个协议层
- SSL记录协议层:主要的作用是进行数据的封装,压缩,加密等
- SSL握手协议层:主要的作用是进行通信双方的身份认证,秘钥协商等
3.kerberos
kerberos是凭票访问的身份认证协议。 如果把乘客比喻成客户端,火车比喻成服务器,那么认证过程会涉及到两张票。
第一步:用户购买火车票,并去窗口验证
第二步:窗口验证购买车票的身份信息是否和本人身份信息符合,验证通过的话会给你另一张票
第三步:用户拿着第二张票走到火车门口,给安检员检查车次座位信息是否符合
第四步:验证通过,成功坐上火车
4.S/MIME
由于邮件协议SMTP只支持ASCLL码的传输,引入MIME能使得邮件传输内容丰富多彩。初次之外还能够为邮件服务提供认证,加密等功能。
5.PGP
pretty good privacy的缩写,是一个提供加密和认证的计算机程序。PGP经常被用于签名、加密和解密电子邮件,以增加电子邮件通信的安全性。
6.SET
为了实现更加完善的即时电子支付,SET协议应运而生。SET协议是基于信用卡支付模式而设计的,它保证了开放网络上使用信用卡进行在线购物的安全。SET主要是为了解决用户,商家,银行之间通过信用卡的交易而设计的,它具有的保证交易数据的完整性,交易的不可抵赖性等种种优点,因此它成为目前公认的信用卡网上交易的国际标准。
7.零知识协议
场合:A告诉B他知道某秘密,但A不想泄露这个秘密。有一个洞穴,它的左通道和右通道之间有一道秘密之门,只有知道咒语的人才能打开。A知道这个咒语,他想向B证明这一点,但A不想让B知道咒语
第一步:B站在洞外
第二步:A走进洞穴到达左地点(右地点)
第三步:B走进洞穴,命令A从左通道(右通道)出来
第四步:A成功完成任务(有时需使用咒语)
8.Diffle-Hellman秘钥交换协议
在对称加密体系中,双方要协商秘钥,Diffle-Hellman用于密钥协商,是基于离散对数困难问题的,但是他有可能遭受到中间人攻击。