1 年 后

很好奇如果像文中的那样,某些云盘只用了MD5作为特征算法,是不是可以在只知道文件MD5的情况下,通过碰撞MD5相同的文件秒传上去,再下载下来的方式来偷文件

    Miigon 理论上有可能的,类似 Git 的 Object 的 hash,为了节省空间实际存储只存一份,想来云盘提供商应该需要有更多方式去校验文件更多维度的特征,确保用户真正拥有某文件。不然就类似 BitTorrent 和磁力链的共享模式了。

    但觉得大部分时候,知道哈希值也不是一件容易的事情,暴力猜测不太可行;能想到的就只有说恶意软件去计算某人电脑的文件 hash,或者是公开了 hash 的资源,类似 Ubuntu 镜像的 sha256sum。(这里和碰撞就关系不大了)

    再进一步说,文件本身有 Blob + metadata (文件名、修改时间之类) 两部分,hash 算的是 Blob 的部分的特征。

      0x0001 可以把一个哈希数据库泄露升级成一个隐私泄漏

      edit:“更多维度”指的是?

        Miigon 感觉有点类似一种思路:

        文件 --> hash
        文件管理 --> 基于 hash 的操作

        操作的算力成本也从大变小

        最终使用的时候才做 hash --> 文件 的还原

        Miigon edit:“更多维度”指的是?

        比如说文件名、所有者、或者密钥之类的?只有所有人才能匹配(但这就丧失了“秒传”的本意了,想的不太清楚🤔

          0x0001 比如说文件名、所有者、或者密钥之类的?只有所有人才能匹配(但这就丧失了“秒传”的本意了,想的不太清楚🤔

          刚又想了想,在云盘的视角,文件的操作映射为hash的操作的话,那其实拿到hash和拿到文件本身似乎就没啥差别了。

          并不好再做什么保护,需要的是增大伪造成本,类似结合多几个不同的 hash 算法输出的结果来校验,让这个伪造的成本大于拥有一个相同文件的成本或许就足够。

          © 2018-2025 0xFFFF