• 关于数据安全RSA,MD5,TOKEN


    网络上明文传输时 1.数据可能被窃取;2.数据可能被篡改;3.数据被泄露
    如何解决:
    1.数据被窃取是由于数据能随意的被拿到,且能够被识别。可以有2个方式解决
    a.使数据不能随意被获取;  使用token令牌的方式。
    b.数据就算被拿到了也无法解析;	RSA非对称加密。为什么不适用对称加密 DES ? 对称加密的数据容易被做成彩虹表。
    如果采用非对称加密了,那么我们自己不是也不知道原始数据了吗,所以我们只针对不需要解密的数据进行RSA加密,如密码。需要校验密码时,只需要拿密文比较就可以了。
    那其他业务数据怎么防止窃取就只能通过token的方式了。
    
    
    2.数据被篡改的前提是数据被窃取了,如果我们不对窃取做控制,需要对篡改做防范,怎么做?
    a.只要保证用户传递的数据是真实的就可以了,怎么保证,使用混淆算法 MD5加盐的方式,在服务端以相同规则对数据进行MD5加盐的方式得到数据串来与用户传过来的字符串比较,一致说明数据未篡改。
    
    3.数据泄露问题
    大量数据被非授权人获取。
    a.授权获取
    b.流量限时控制
    虽然不能完全杜绝问题,但是可以很好的防范一些数据被泄露。
    
    其实上面的三种方式已经很常见的运用到我们的项目中了,对于登陆,注册接口是对外开放的,是无授权的接口,那么我们采用的是 RSA 防泄露,MD5加盐防篡改;
    对于业务接口我们做token访问,限时刷新,且做流量控制。
    
    请求 
    第三方平台--》明文信息--》公钥加密--》密文信息--》私钥解密--》明文信息--》后台服务
    响应 HTTPS 的数据加解密流程,采用的也是RSA
    后台服务--》明文--》公钥加密--》密文--》浏览器--》私钥解密--》明文--》显示
    
    注意:在做RSA加密的时候,加密之后的数据是二进制无法在网络上传输,所以需要使用BASE64编码成字符串。
    名词解释: 
    RSA 非对称加解密算法
    MD5 混淆算法
    token 访问令牌
    base64 编码算法

      

  • 相关阅读:
    IM设计思考:XMPP多用户文本聊天协议(MUC:Multi User Chat)
    软件设计中的“三视图”
    [C++] 应该如何应对OOM?
    Android 上Camera分析
    android的语言切换应用程序 根据 不同的语言 加载不同的 res
    布局
    布局
    如何解决"Launching New_configuration"问题
    android的语言切换应用程序 根据 不同的语言 加载不同的 res
    如何解决"Launching New_configuration"问题
  • 原文地址:https://www.cnblogs.com/yun965861480/p/10793276.html
Copyright © 2020-2023  润新知