跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 是否存在一种方案可以在指定时间解锁压缩文件?
未分類
24 1 月 2021

是否存在一种方案可以在指定时间解锁压缩文件?

是否存在一种方案可以在指定时间解锁压缩文件?

資深大佬 : milukun 6

刚才在解压一个 zip 的时候在想,压缩文件可以添加密码,可以防止非法获得文件的人解压。

但是如果里面放了一些存在实效性的内容,过了某个日期后,是否被无关人获得便无所谓了;或者说就是希望在某个时间后,文件可自动解锁

不纠结于 zip 、rar 等格式,只解决“指定时间后”便可以通畅访问文件。

大佬有話說 (38)

  • 資深大佬 : sun1991

    首先如何定义”指定时间后”?

  • 資深大佬 : crystom

    估计有人要说 btc 了

  • 主 資深大佬 : milukun

    @sun1991 #1 可以参考如何定义 zip 解压密码。当然也可以根据你的方案来咯,总之是满足用户想要在“某某具体时间点”后文件可解锁(比如密码失效之类的)的需求。

  • 主 資深大佬 : milukun

    @crystom #2 但是我没看出来 btc 怎么满足这个需求.. 但是有些地方倒是挺像,文件不是中心化存储,已经分散到多个人手中,因此不用担心内容被篡改(文件具有可信度)。
    另外更多的能力是文件最终一定会被披露,无人可以阻挡,因此一定程度上可以保护文件的发布人。
    比如(假设)懂王将自己掌握的登登的黑料装进去,发给世界的媒体报社,设定一个他自己死后的时间自动解锁

  • 資深大佬 : qiayue

    时间是可以修改的,如果你用客户端的时间做判断,我把电脑时间改成 N 年后,是不是就可以免密码解压了。
    如果你用网络时间判断,那么这个压缩软件就只有联网才能使用。

  • 資深大佬 : temporary

    用户改一下电脑的时间就解开了

  • 主 資深大佬 : milukun

    @qiayue #5
    @temporary #6
    关于时间验证,原文已经提及需要考虑有网络、无网络、时间是否存在欺骗
    所以这个方案当然需要包含时间验证的问题咯
    重复提问没有意义哈

  • 資深大佬 : alazysun

    向授时服务器申请的时候拦截再模拟授时回复?

  • 主 資深大佬 : milukun

    @alazysun #8

  • 資深大佬 : JinTianYi456

    做一个网站,提供查询文件的密码,到指定时间才能查到密码 :dog

  • 資深大佬 : shansing

    “持久化”……我也好奇,你究竟能掌握什么关于未来的信息,而其他人不可得知呢?假设你能保证有一台机器“持久”计算,倒是可以暴力破解密码,虽然也可能被人抢先就是了。

  • 主 資深大佬 : milukun

    @JinTianYi456 #10 懂王账号都能被封,so,这种中心化管理方案无法解决问题。密码被禁止公布也是很轻易能发生的

  • 資深大佬 : Jooooooooo

    既然是有服务器校验的

    那么看起来这个功能等价于

    到了指定时间服务器直接返回密码

  • 主 資深大佬 : milukun

    @shansing #11 哈哈,我说的这个人能否“持久化”到那个时间的意思是,是指的能否活到那个时间。

  • 資深大佬 : alazysun

    @milukun #9 看来是做不到的

  • 主 資深大佬 : milukun

    @Jooooooooo #13 并不一样,你仔细品一下。这个需求的关键是( 1 )到了那个时间所有人手里的文件均可以解锁( 2 )解锁不能受到某个“中心化”的牵制
    1.如文中举例的 rar 、zip 密码加密,定时公布密码的方法无法满足( 2 ),即密码持有人遇害或其他原因无法公布的情况
    2.到了指定时间服务器直接返回密码,也无法满足( 2 ),例如懂王账号被封一样,任何服务器保存的密码都可能在外界压力下被封禁或者提前被解锁引发问题。

    或许就不存在这种方案吧,是悖论。

  • 資深大佬 : touchwithe

    从科幻的角度提出一个想象:向某个遥远的星球发射电磁波,等待电磁波反射回来才能接收。通过选择不同距离的星球来控制时间。比如向一光年远的星球发射信号,两年后就可以收到反射回波了。

  • 資深大佬 : felixcode

    创建个自解压文件,从某个服务器获取密码,服务器端到了时间才会发布密码。

  • 資深大佬 : neteroster

    随便想的:可以考虑一种基于算力的密码。将文件数据以一种指定的复杂度进行「加密」(当然这里不是指传统意义的加密),目前人类的算力不足以解密文件,但是随着单位价格算力的增大,可以完成「在未来解开」的功能,不过具体时间难以把握。

  • 資深大佬 : Jooooooooo

    @milukun 我想了一下

    做不到的根本原因应该是虚拟物体无法感知时间流逝, 导致用时间约束一个文件的行为变得不可能

    文件就如同数字一样是个虚拟的概念, 不受时间的约束

  • 資深大佬 : wangxiyu191

    需要一个当前时间点只有你知道,在指定时间之后所有人都能知道的信息。因为要保证严格遵守时间,所以感觉像 17 那样从物理这种基础层面找解决方案比较靠谱。毕竟能保证不被其他东西影响,仅和时间精确相关的东西真不多。。。。

  • 資深大佬 : neteroster

    #17 说的方案也很有意思。其实都是利用强大的「第三方」做一种「保证」。对于我的例子,利用的是计算的复杂性,对于 #17,则是光速这个物理边界。

  • 主 資深大佬 : milukun

    @felixcode #18 无法保证服务器不提前泄漏密码,或者到时间故意不发布密码。也就是说中心化的服务器无法解决可信度问题

  • 資深大佬 : Hconk

    lz 这个问题还挺有意思的,谷歌查了下在 stackoverflow 上有过相关的讨论。
    链接: https://crypto.stackexchange.com/questions/606/time-capsule-cryptography

    其中有个答案提到了这么一篇文章: https://www.gwern.net/Self-decrypting%20files

    文章比较长,只看了个大概,有不少相关的论文对这个问题做过研究。
    主要的思路可能还是从密码学角度对复杂问题的计算耗时进行估计,然后通过对这个复杂问题的难度进行控制,从而控制时间。
    其中提到了一些尝试利用区块链与智能合约的技术,一个是区块链类似的链式 hash 对数据进行加密,以防止被分布式破解,这块没太看懂,可能理解有误。

    一个是利用智能合约从经济惩罚的角度进行,通过在多个持有私钥的人存储一定加密货币到智能合约,如果有人提前泄漏则除了这个私钥存入的货币被销毁,其他人的原路返回,在时间到期之后所有人需要公开私钥以赎回货币并可以附带一些奖励,如果到期不公开则存入的货币将被销毁。

    因为上面的文章太长,而且提到了很多东西,如果理解有误欢迎指出。有时间了再仔细看一遍。

  • 資深大佬 : bipy

    随便想的:利用不同元素半衰期来计时
    再胡说八道一些:如果世间一切过程均可模拟,那用代码完整模拟元素衰变

  • 資深大佬 : jybox

    @neteroster

    我也是想到了这个,这个概念可以叫「密码学时间胶囊( Time Capsule Crypto-Puzzle )」,实际上 RSA 算法的发明者之一就在 1999 年发布了这样一个时间胶囊:

    https://people.csail.mit.edu/rivest/lcs35-puzzle-description.txt

    最后在 20 年后的 2019 被人解开:

    https://en.wikipedia.org/wiki/LCS35

  • 資深大佬 : jybox

    发布这个时间胶囊时,预估的是 35 年后解开。

  • 資深大佬 : nvkou

    要不就不用时间做铆钉。比如累计运行时间?也不用累死机器做强度高的运算,我就运行后台 cpu 时间片就行了。关机待机当然就不计入。除非联网修订统计量

  • 資深大佬 : imn1

    跳出 zip 就有方案了

  • 資深大佬 : xianxiaobo

    @touchwithe 从科幻的角度破解一下,假如坐飞船飞向这个遥远的星球,就能提前获得反射回波了。飞船飞的越快,提前获得的越早。

  • 資深大佬 : hikari2

    设置版权可以么,版权到期后免费

  • 資深大佬 : shenlanAZ

    关键字 “熵增” ,观测在密码密码有效期内的人类极其难以操作的物质的熵。

  • 資深大佬 : lchy

    自己找一台云服务器,部署一个 Web 服务。 然后拿当前时间和密钥运算,每 15 分钟或者 1 小时刷新输出一个哈希值。

    要加密的区域,有个解密服务进程一直运行(也可以做成 cron 任务),定时检测那个云服务器上的 Web 输出的哈希值, 与自己预设的时间密钥运算后的哈希值一致,则自动进行解密。

  • 資深大佬 : Flymachine

    这个问题在于是否存在一个可信的来源保证时间节点判断的准确性。
    然而这太难了

  • 資深大佬 : NastyAir

    这个问题比较有意思,这里初步有两个思路
    1.在线服务器,将部分数据存储到服务器,通过服务器来判断时间。
    2.离线
    a)使用一个类似于加密狗之类的设备,通过这个设备来判断时间,不过这种方案修改本地时间就无效了。
    b)定制一个固定时间的存储设备,超过存储时间存储介质就物理损坏。这个存储设备空间可以相对较小,只存储部分数据。

  • 資深大佬 : zerofancy

    自动拉取一个开源项目的最新版本二进制,通过签名校验是否真实,通过大小确定大概时间。
    著名的开源项目总是越发展越复杂吧……虽然这不确定性很高

  • 資深大佬 : liuzhaowei55

    在指定时间后可以获取密码,还是需要有一个自己信任的第三方来操作

  • 主 資深大佬 : milukun

    @bipy #25 哈哈 模拟元素衰变

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具