数据传输加解密应用层的加解密

结合对对称加密算法和非对称加密算法以及哈希算法的了解,对前后端数据传输进行加密传输,原理不外乎,对称加密传输Data,非对称加密对称秘钥,计算传输Data的摘要,确保数据的安全性和完整性

数据传输加解密前端传参分为三部分

1. 对称秘钥加密数据Data

前提:客户端服务端商定好对称加密算法,和非对称加密算法
客户端生成两个随机数,R1,R2
随机数R1作为对称秘钥,用对称加密算法,对称秘钥R1加密Request Data,生成密文M1

2. 生成带秘钥的哈希HMAC

用随机数R2、以及哈希算法,计算出带秘钥的哈希HMAC

3.公钥加密对称秘钥

公钥加密两个随机数,生成密文M2

服务器解密

1. 服务器解密出对称秘钥

服务器用服务器公钥,解密M2,计算出两个随机数R1,R2

2. 服务器解密出明文

服务器用R1解密密文M1,得到原文Request Data

3.对比HMAC

服务器拿Request Data和R2计算带秘钥的哈希,与客户端传过来的HMAC做对比,一致,则信息完整,不一致,则报错

服务器加密浏览器解密

服务器用对称秘钥R1加密response Data,发给客户端;客户端收到后,拿这次请求发送的随机数R1解密响应数据;
至此,完成一次加密通信

你可能感兴趣的:(服务器,javascript,web安全)