虽然加密后的数据只能通过原始的加密密钥进行解密,但是无法验证解密后的信息是否是原始发送的信息 。另外加密和解密的过程非常的消耗CPU资源,恶意用户可能会通过发送欺骗数据包,占用CPU资源 。HMAC功能通过比较数字签名进行数据包完整性和真实性验证,这个过程消耗的CPU资源非常少,效率非常高 。
所以在IPSec VPN发送设备中,加密和验证通常配合使用 。加密后的报文经HMAC生成数字签名,IP报文和数字签名同时发给对端(数字签名填写在AH和ESP报文头的完整性校验值ICV字段,请参见安全协议);在接收设备中,通过比较数字签名进行数据完整性和真实性验证,验证不通过的报文直接丢弃,验证通过的报文再进行解密 。
加密和HMAC验证配合使用的过程如图1所示 。图1 HMAC验证过程

文章插图
用于验证的对称密钥可以手工配置,也可以通过DH算法生成并在两端设备共享 。有关DH算法具体能够生成哪些密钥及密钥的作用请参见IKEv1协商安全联盟的过程 。
一般来说IPSec使用以下几种认证算法:
- MD5(Message Digest 5):输入任意长度的消息,产生一个128比特的消息摘要 。
- SHA-1(Secure Hash Algorithm):输入长度小于264比特的消息,然后生成一个160比特的消息摘要 。
- SHA2-256:通过输入长度小于264比特的消息,产生256比特的消息摘要 。
- SHA2-384:通过输入长度小于2128比特的消息,产生384比特的消息摘要 。
- SHA2-512:通过输入长度小于2128比特的消息,产生512比特的消息摘要 。
密钥交换
IKEv1和IKEv2的协商过程中,隧道两端需要进行密钥材料的交换,以便使用相同密钥进行正确的加密和解密 。
密钥交换方法使用对称密钥进行加密、验证时,如何安全地共享密钥是一个很重要的问题 。有两种方法解决这个问题:
- 带外共享密钥在发送、接收设备上手工配置静态的加密、验证密钥 。双方通过带外共享的方式(例如通过电话或邮件方式)保证密钥一致性 。这种方式的缺点是可扩展性差,在点到多点组网中配置密钥的工作量成倍增加 。另外,为提升网络安全性需要周期性修改密钥,这种方式下也很难实施 。
- 使用一个安全的连接分发密钥IPSec使用IKE协议在发送、接收设备之间安全地协商密钥 。IKE采用DH算法在不安全的网络上安全地交换密钥信息,并生成加密、验证密钥 。这种方式配置简单,可扩展性好,特别是在大型动态的网络环境下此优点更加突出 。
- Internet安全联盟和密钥管理协议ISAKMP(Internet Security Association and Key Management Protocol)是IKE的基础,IKE使用ISAKMP协议定义密钥交换的过程 。ISAKMP提供了对安全服务进行协商的方法,密钥交换时交换信息的方法,以及对对等体身份进行验证的方法 。
- IKE的精髓在于它永远不在不安全的网络上传送密钥,而是通过一些数据的交换,通信双方最终计算出共享的密钥,并且即使第三方截获了双方用于计算密钥的所有交换数据,也无法计算出真正的密钥 。其中的核心技术就是DH(Diffie Hellman)交换技术 。
DH密钥交换过程如图1所示 。图1 DH密钥交换过程

文章插图
- 进行DH交换的双方各自产生一个随机数,如a和b 。
- 使用双方确认的共享的公开的两个参数:底数g和模数p各自用随机数a和b进行幂和模运算,得到结果c和d,计算公式如下:c=gamod(p)d=gbmod(p)
- 交换计算所得的结果c和d
- 各自进一步计算,得到一个共同的DH公有值:damod(p)=cbmod(p)=gabmod(p),此公式可以从数学上证明 。DH公有值就是双方的密钥 。
推荐阅读
- 绿茶蕃茄汤茶食介绍,买3赠12018新茶紫阳富硒茶和平翠峰绿茶袋装浓香型高山云雾绿茶250g栗香
- 百合绿茶介绍,麦冬百合甘草茶制作及功效介绍
- 阮的介绍 阮是一种什么乐器
- 六堡茶的功效介绍,六堡茶的功效与作用
- 灵芝茶功效及作用介绍,红菊花茶的功效与作用
- 艾叶保健茶的生产技术,保健茶的种类介绍
- 不可再生能源分类介绍
- 丙山普洱茶介绍,小户赛普洱茶介绍
- 鞠躬礼仪细节介绍
- 百里香饮用及功效介绍,益寿延年功效
