作者:众成 文章来源:运维部 点击数: 更新时间:2018-08-29 16:17:12
无论是采用三层IPSec加密,四层TLS加密,七层的应用层加密技术,要想实现网络的传输安全,需要实现以下基本元素:
1. 数据的机密性
通俗地说,就是一端将明文数据加密,另外一端将加密数据解密成明文,通常使用AES-CBC加密算法,需要双方有一个session key。
2. 数据的完整性
保证数据在传输过程中,数据不被窜改,可以使用HMAC来校验,通常使用MD5或SHA算法,同样需要一个HMAC key。
3. 防重放攻击
防止第三方捕获一个合法得密文,然后再重新发送一次。对付这种攻击,只需要消息体里有序列号、或时间戳保护即可。
4. 数据流量大小的私密性
防止第三方可以根据加密报文的字节数,推测可能的内容,可以将原始报文用废数据填充。
以上是要实现的目标,但不要忘记一个大前提,通信双方需要互相认证、或单向认证,而实现认证的技术:
1. 数字证书
2. 预共享密码
而需要协议来承载以上的认证过程,我们需要控制协议来完成这项工作:
1. IKE
2. TLS Handshake
同时还可以使用这些控制协议来完成,通信两端的加密参数(加密算法、HMAC算法)的协商,以及key(session /HMAC)的协商,而key 的协商通常使用DH算法、RSA算法。
实现了以上所有元素,就可以安全地传输数据了。