Linux探索之旅我用 LinuxLinux

数据传输的加密过程

2017-09-09  本文已影响60人  Aubin

加密技术是为了保护敏感数据在网络传输中的安全,就像日常生活中使用的淘宝、支付宝、微信等等软件,如果涉及到金额的数据在网络中不加密传输,那是极易被别人窃取、篡改的,通信中的数据加密技术就显得尤为重要。各类加密工具的原理都是大同小异,这里对常见加密原理进行解读。


一、对称加密

加密数据与解密数据使用相同的密钥,这种加密方法称为对称加密


二、非对称加密

加密数据与解密数据使用一堆不相同的密钥,公钥公开给所有人,私钥自己保存。使用公钥加密的数据只有自己的私钥可以解开。


三、单项散列

单项散列又称为hash算法,把任意长度的数据、字符加密后得到一个固定长度的特征码。


四、加密通信的综合应用

以上三种如果单独使用任何一种对数据进行数据加密的话都是不安全的,那么现在在互联网中的数据时如何传输的呢?其实数据在互联网中并不会使用单一加密技术,往往都是各类技术混合使用,互补优缺点使数据的传输更加安全。

  1. 首先通过TCP三次握手进行连接,然后客户端发送hello包到服务端,服务端回应一个hello包,如果客户端需要再次发送数字证书, 则发送数字证书到客户端。
  2. 客户端得到服务器的证书后通过CA服务验证真伪、验证证书的主体与访问的主体是否一致,验证证书是否在吊销证书列表中。如果全部通过验证则与服务器端进行加密算法的协商。
  3. 然后是用证书中服务器的公钥加密【对称秘钥】发送给服务器端,【对称秘钥】只能用服务器的私钥进行解密,当服务器通过私钥解密【对称秘钥】后。使用对称秘钥将客户端请求的数据发送到客户端,客户端在用对称秘钥进行解密,从而得到想要的数据。

注:对称秘钥非长期有效,每隔一段时间甚至每一次数据的传输都使用不同的对称秘钥。

上一篇 下一篇

猜你喜欢

热点阅读