IPsec VPN的安全协议是如何进行数据加密认证的呢?

2020-03-23 09:34:31

假定A1给B1的信件要通过邮政系统传递,而中间途径有很多好事之徒,很想偷看A2和B2(A2B2作生意,通的是买卖信息)通讯,或者破坏其好事。


解决这个问题,就要引进安全措施。安全可以让B2和A2自己来完成,文字用暗号来表示,也可以让他们的代理人代劳完成,写好信,交给代理人,告诉他传出去之前重新用暗号写一下。


IPSEC VPN安全协议的加密技术和这个方式是一样的,既然能够把数据封装,自然也可以把数据变换,只要到达目的地的时候,能够把数据恢复成原来的样子就可以了。这个加密工作在Internet出口的VPN网关上完成。


把数据加密,对应这个模型中间,是把信件的文字用暗号表示。


好事之徒无法破解信件,但是可以伪造一封信,或者胡乱把信件改一通。这样,信件到达目的地以后,内容就面目全非了,而且收信一方不知道这封信是被修改过的。


为了防止这种结果,就要引入数据防篡改机制。万一数据被非法修改,能够很快识别出来。这在现实通讯中间可以采用类似这样的算法,计算信件特征(比如统计这封信件的笔划、有多少字),然后把这些特征用暗号标识在信件后面。收信人会检验这个信件特征,由于信件改变,特征也会变。所以,如果修改人没有暗号,改了以后,数据特征值就不匹配了。收信人可以看出来。


由于A1和B1不在一个地方,他们互相不能见面,为了保证他们发信方通讯的安全。A1和B1必须要相互确认对方是否可信。这就是身份认证问题。


假定A1B1以前见过面,他们事先就约定了通讯暗号,比如1234567890对应abcdefghij, 那么写个255,对应就是一个bee。


常见的VPN身份认证可以包括预共享密钥,通讯双方实现约定加密解密的密码,直接通讯就可以了。能够通讯就是朋友,不能通讯就是坏人,区分很简单。


其他复杂的身份认证机制包括证书(电子证书比如x509之类的)。


如果有身份认证机制,密钥的经常更换就成为了可能。