IPsec:(Internet Protocol Security),用来保护IP数据包,是一个协议包,里边包含诸多协议。
安全领域IPsec,是重要的一课。ssl EZvpn L2TP等都有不同特点。这一章节,我们一起研究下IPsec。
推荐教材:《IPsec VPN实战指南》 秦柯 人民邮电出版社
一、数据包完整性:散列函数---Hash函数
a、二层帧的FCS,IP报头里的Head Checksum,都是为了验证接收到的数据是否完整。
主流的散列函数:MD5 SHA-1 SHA-2
提问:非法用户,截获数据进行篡改,运行散列函数,把对应的hash值附在报文中,再次发走。接收方收到数据后,进行散列验证,发现不了任何问题。但数据确实被篡改了,如何解决?
答案是:通过HMAC
b、HMAC
HMAC名称解释:Keyed-hash message authentication code 秘钥散列信息认证码
发送方把(要发送的数据+双方共有密码)合并起来进行散列计算,计算后的hash值附在报文中发走。接受方收到数据后,(接收到的数据+双方共有密码)合并起来也进行散列计算,得到另一个hash值。
只有数据相同,密码相同,散列计算得到hash值才相同。这种方法可以确保(数据完整、发送方也完成源认证)。
在实际应用中,基本不会单纯使用散列函数,绝大多数情况都会使用HMAC技术。例如,IPsec和HTTPS都使Hma