VPN加密算法大全

来源:互联网 发布:雅思考试推荐用书 知乎 编辑:程序博客网 时间:2024/05/29 08:38
 

一.协议部分

 

1. ( AH = Authentication Header = 认证头)它是一种协, AH协议为IP通信提供数据源认证、数据完整性和反重播保证,它能保护通信免受篡改,但不能防止窃听,适合用于传输非机密数据。AH的工作原理是在每一个数据包上添加一个身份验证报头。此报头包含一个带密钥的hash散列(可以将其当作数字签名,只是它不使用证书),此hash散列在整个数据包中计算,因此对数据的任何更改将致使散列无效--这样就提供了完整性保护。 AH的报文格式如下图:

 

 

(PS: 虽然AH的处理速度比ESP稍微快一点,但实际环境中已经很少用AH协议了,因为AH不能加密。)

 

2. ( ESP = Encapsulating Security Payload = 封装安全负载 ) 它也是一种协议,ESP为IP数据包提供完整性检查、认证和加密,可以看作是"超级 AH",因为它提供机密性并可防止篡改。ESP服务依据建立的安全关联(SA)是可选的。ESP的加密服务是可选的,但如果启用加密,则也就同时选择了完整性检查和认证。因为如果仅使用加密,入侵者就可能伪造包以发动密码分析攻击。

ESP可以单独使用,也可以和AH结合使用。一般ESP不对整个数据包加密,而是只加密IP包的有效载荷部分,不包括IP头。但在端对端的隧道通信中,ESP需要对整个数据包加密。ESP的文格式如下:

 

 

 

 

二.对称密钥算法部分

 

1..( DES = Data Encryption Standard = 数据加密标准)它是一种对称密钥算法,是美国国家标准局于1977年开发的对称密钥算法。可以使用40~56位长的密钥。另一种称为3DES 的加密策略也使用同样的DES算法,但它并不只是加密一次,而是先加密一次,再加密(解密)一次,最后做第三次加密,每一次加密都使用不同的密钥。这一过程显著地增加了解密数据的难度。

 

2. ( AES = AdvancedEncryptionStandard = 高级加密标准 ) 也是一种对称密钥算法, 美国国家技术标准委员会(NIST)在2000年10月选定了比利时的研究成果   "Rijndael "作为AES的基础。 "Rijndael "是经过三年漫长的过程,最终从进入候选的五种方案中挑选出来的。 AES内部有更简洁精确的数学算法,而加密数据只需一次通过。AES被设计成高速,坚固的安全性能,而且能够支持各种小型设备。
AES和DES的性能比较:
(1) DES算法的56位密钥长度太短;
(2) S盒中可能有不安全的因素;
(3) AES算法设计简单,密钥安装快、需要的内存空间少,在所有平台上运行良好,支持并行处理,还可抵抗所有已知攻击;
(4) AES很可能取代DES成为新的国际加密标准。
总之,AES比DES支持更长的密钥,比DES具有更强的安全性和更高的效率,比较一下,AES的128bit密钥比DES的56bit密钥强1021倍。

 

三. 密钥认证交换部分


1. RSA是一种根据它的发明者Rivest,Shamir和Adleman命名的公开密钥算法。它方便了对称密钥加密中的密钥交换过程。它还可以用来产生数字签名。值得注意的是RSA支持非对称算法。

  
2. Diffie-Hellman是一种简化在非安全网络上交换秘密密钥的公开密钥加密算法。算法是以Diffie和Hellman命名的,他们在1977年出版了第一个公开密钥加密的公开搜索。它的主要目的是简化在不安全网络上交换秘密会话密钥的过程。
  
4.   散列函数
  
  散列(Hash)函数是一种单向的算法,它提取任意长度的一段信息并产生固定长度的乱序的摘要。摘要是文本的一个截取,只包含与文本最相关的部分,这就是Hash函数所产生的结果。Hash是一种单向的定义。我们可以在给定的文本上运行算法来获得固定长度的Hash值,但不能从Hash过程中获得最初的文本。Hash函数可以唯一地定义文本。它对每个唯一的消息而言就像是指纹一样。不同的消息可以产生不同的值,并且相同的消息会产生完全相同的Hash, Hash值可以用于维持数据的完整性。如果A发送一个消息给B,并给B消息的Hash。B可以在消息上运行用在该消息上的同一Hash算法,并用计算得到的Hash值与B收到的Hash值相比较。如果发现根据消息计算出来的Hash与B收到的Hash值不同,就可以知道数据在传输的过程中出错了。
  
5.  消息摘要:MD5
  
  消息摘要(Message Digest 5,MD5)是一种符合工业标准的单向128位的Hash算法,由RSA Data Security Inc.开发,它可以从一段任意长的消息中产生一个128位的Hash值。(例如,质询握手身份验证协议(CHAP)通过使用MD5来协商一种加密身份验证的安全形式。CHAP在响应时使用质询-响应机制和单向MD5散列。用这种方法,用户可以向服务器证明自己知道密码,但不必实际将密码发送到网络上,从而保证了密码本身的安全性。)
  
6.安全散列算法:SHA-1
  
  Secure Hash Algorithm(SHA-1)是一种产生160位Hash值的单向Hash算法。它类似于MD5,但安全性比MD5更高。
  
  2.1.7 Hash信息验证码HMAC(Hash message authentication codes)
  
  HMAC可以用来验证接收消息和发送消息的完全一致性(完整性)。
  
7.  数字签名
  
   数字签名标准(Digital Signature Standard,DSS)是国家标准技术研究所开发的数字签名算法。数字签名(Digital Signature,DS)是一种用使用者的私有密钥加密的Hash值。它可以像正常签名一样用于认证,但它也可以用做与签名相关的信息完整性的认证。
  
8.  认证授权
  
   认证授权(Certificate Authority,CA)是一个实体,通常是一台计算机,它保存了一些公开密钥。事实上,它保存的一些称为认证的目标包含了用户或设备的信息,其中包括它们的公开密钥。认证包含某个公开密钥的所有者的认证信息,如:姓名、地址、公司等。认证的目的有两个:
  
  ●标志一个用户或设备的公开密钥。
  
  ●确认假设的公开密钥的拥有者是公开密钥的真实拥有者。
  
  认证授权(CA)是一个记录了所有认证的第三方。使用CA,用户可以有一个认证的集中贮藏处,它允许用户获得其他用户的公开密钥并认证那些用户。它提供了一个记录用户和设备公开密钥的集中存放点。它还提供了认证授权,当用户从CA中获得用户A的公开密钥时,密钥确实是用户A的而不是其他人的。
  
9.  OAKLEY密钥决定协议
  
  Hilarie Orman提出的"OAKLEY密钥决定协议",Oakley和SKEME各自定义了一种建立已认证密钥交换的方法,包括载荷的结构、所承载载荷信息、处理它们的顺序以及如何使用它们。Oakley描述了一系列的密钥交换模式,提供密钥交换和刷新功能。
  
10. SKEME: Secure Key Exchange Mechanism
  
  Hugo Krawczik提出的"安全密钥交换机制(SKEME)"SKEME描述了通用密钥交换技术,提供匿名性、防抵赖和快速刷新。
  
11. 互连网安全联盟及密钥管理协议
  
  互连网安全联盟及密钥管理协议(Internet Security Association and Key Management Protocol,ISAKMP)是一个定义在主机之间交换密钥和协商安全参数的框架。ISAKMP定义密钥在非安全网络上交换的一般机制,ISAKMP定义的信息包括报文中消息的位置和通信过程发生的机制,但它不指明使用的协议和算法。
  
12. 互连网密钥交换
  
  互连网密钥交换(Internet Key Exchange,IKE)是一种实现密钥交换定义的协议。IKE是一种在ISAKMP框架下运行的协议。它是从其他密钥交换协议OaKley和SKEME中派生而来的。IKE用于在对等端之间认证密钥并在它们之间建立共享的安全策略。IKE用于确认,譬如标志一个要求加密会话的对等端,以及决定对等端使用何种算法和何种密钥。
  
  IKE考虑了IPSec使用的所有算法交换秘密密钥的复杂性。通过将密钥管理函数替代普通的密钥管理协议,简化了将新的算法添加进IPSec协议栈的过程。IKE使用公开密钥加密算法在非安全网络上安全地交换秘密密钥。
  
13. Kerberos V5身份验证
  
  Kerberos V5是用于处理用户和系统身份的身份验证的Internet标准安全协议,是在Windows 2000 Server域中进行身份验证的主要安全协议。使用Kerberos V5,通过网络线路所发送的密码将经过加密而不作为纯文本进行发送。Kerberos V5协议校验了用户的身份和网络服务。这种双重验证被称为相互身份验证。

原创粉丝点击