onikage
V2EX  ›  Android

oss 开发中的 key 怎样获取才安全?

  •  
  •   onikage · Jun 1, 2017 · 15097 views
    This topic created in 3278 days ago, the information mentioned may be changed or developed.

    手机端直接直接朝阿里的 oss 上传视频, 上传需要 accesskey, 这个 key 肯定不能写到 app 里面. 目前的做法是手机端传之前向服务器请求加密的 accesskey, 请求到以后手机用公钥解密, accesskey 始终只存在于内存中.

    但是还是感觉有点不安全, 有没有可能别人拿到本地公钥? 特别担心 android 版的. 求靠谱方案.

    11 replies    2017-06-02 14:02:24 +08:00
    notes
        1
    notes  
       Jun 1, 2017 via Android
    可以区分不同用户,限制每个用户的量吗?
    freestyle
        2
    freestyle  
       Jun 1, 2017
    用阿里云的访问控制 RAM 功能, 后端写个获取临时(最长 3600s)访问权限的服务, https://help.aliyun.com/document_detail/32059.html?spm=5176.doc32058.6.704.JQXxHp
    kraymond
        3
    kraymond  
       Jun 1, 2017 via Android
    阿里云 OSS Android SDK 文档里我记得是给了两个解决方案的。
    sunhr
        4
    sunhr  
       Jun 1, 2017
    目前的做法肯定是不行的,一旦被拿到 key 和 secret,对方可以直接删掉 OSS 里面所有内容

    可以参考 SDK 的文档,使用 STS 鉴权

    iOS: https://help.aliyun.com/document_detail/32059.html
    Android: https://help.aliyun.com/document_detail/32046.html
    onikage
        5
    onikage  
    OP
       Jun 1, 2017
    非常感谢楼上各位, 我们其实是有使用 ram 的生成临时令牌的,
    我担心的是客户端能伪造上传权限.在令牌过期前恶意上传大量文件.
    sodarfish
        6
    sodarfish  
       Jun 1, 2017
    恶意上传可以根据令牌或者用户做限制的吧
    onikage
        7
    onikage  
    OP
       Jun 1, 2017 via iPhone
    @sodarfish 这个似乎在文档里没看到过
    Ouyangan
        8
    Ouyangan  
       Jun 1, 2017
    @sunhr #4 oss 可以设置读写权限的吧
    LeeSeoung
        9
    LeeSeoung  
       Jun 2, 2017
    只要你的 key 是在安卓端解密的,一般都是可以调试出来的。。所以你的做法不安全。
    onikage
        10
    onikage  
    OP
       Jun 2, 2017
    @LeeSeoung 有啥安全的方案吗? 现在就是想让 app 直接向 oss 安全的传数据.
    LeeSeoung
        11
    LeeSeoung  
       Jun 2, 2017
    自定义协议 https 不让走代理。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1488 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 16:56 · PVG 00:56 · LAX 09:56 · JFK 12:56
    ♥ Do have faith in what you're doing.