App网络安全之加密算法

https://mp.weixin.qq.com/s/-Jb-_PpbEN5HYpueUqtxzA

网络传输安全主要需要保证两部分:

1.客户端上传信息即使被截获也不能被别人知道:例如:登录密码。

2.服务端下发的信息,即使被截获也不能被别人知道。例如:用户信息。

保证客户端上传信息的安全:

      客户端传输重要的信息,例如银行卡号,用户名密码给服务端时。为防止信息截获后信息泄露,可以使用RSA的加密算法。RSA加密算法是一种非对称加密方式。因此我们只需要在客户端把信息用公钥加密后,传递给服务端即可。这样任何人都不会知道信息,除非它知道私钥。然而私钥都保存在服务端,比较安全。

     服务端收到请求后,利用私钥对信息进行解密即可。这样就不会出现信息泄露。

保证服务端下发信息的安全:

  当用户要进行登录的时候,服务端对用户名和密码进行验证成功后。会下发一个token给客户端。这个token肯定要进行加密,如果我们采用对称加密的话。那么客户端也必须知道对称秘钥才可以进行解密。那么用户怎样才能拿到对称秘钥呢?为了传输安全,我们可以用私钥对对称秘钥进行加密。客户端收到信息后,利用公钥对信息进行解密,即可拿到对称秘钥,然后利用对称秘钥可以对token进行解密。然后把token保存起来就可以使用了。每次发起请求的时候,用token进行对称加密后,再进行访问。

   服务端收到信息后利用对称秘钥对信息进行比对,符合的话就就进行相应的数据返回。

//注意:

1.RSA的解密速度约等于AES解密数据的100倍,因此不是核心的信息我们采用AES加密即可。这样可以提高新能。

2.对称秘钥可以采取在客户端随机生成的方式,非对称秘钥可以采取固定的方式。

3.登录时的用户名和密码可以采取非对称秘钥进行数据库验证,这样没有安全性问题。

4.普通的验证可以采用token加时间来进行有效验证。如果时间相隔太长就让重新登陆。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容