最近我和一个朋友一起去攀岩旅行。虽然这是一项相对安全的运动。但远远不是最安全的。 所以这让我想到。"如果我犯了错误,摔死了怎么办?"

我想到了显而易见的事实,比如来自我所爱的人的悲伤等等。但我也想到了更实际的东西。我确信我的银行账户的内容可以以某种方式转移给他们。 但我也持有一些加密货币。根据设计,如果我和我的私钥一起死亡,这些货币将永远失去。我运营的各种服务也是如此,比如steempress。如果我死了,这些服务就会关闭,锁在私人github仓库里的大量代码很可能永远无法恢复(假设github不帮忙的话)。 甚至这个博客,我计划在上面添加大量的教程,如果它因为我不再支付账单而关闭了怎么办?
我在想,"我是一个程序员,我也许可以用代码为我的死亡做打算"。但问题是这样的。比方说,我给我的亲人一个USB钥匙,里面基本上有我所有的密码和私人钥匙等。这给我带来了巨大的风险,因为如果那把钥匙被偷了,如果我的一个亲人因为什么原因变得无赖。(我们在这里谈论的是为死亡做打算,所以这是应该持续几十年的措施)我可能会失去很多东西。
明显的答案是 "去他的,这是活人的问题,我已经死了",但这是相当自我的,所以我想找到一个解决方案。另一个明显的解决方案是去找律师,把usb钥匙和我的遗嘱一起交出去。但这将是相当昂贵的。
解决办法
这个想法相对简单。使用truecrypt和/或veracrypt创建一个加密的usb驱动器。理想情况下,将它们嵌套起来。带有所有的重要信息。并把这些交给你的亲人,不需要密码。因此,如果usb钥匙被盗,就没有风险。如果他们设法破解了加密,他们可以直接去找当地的情报机构,并以几百万的价格出售这个0day,比那个驱动器的内容要多得多,因为它就是这么难。 所以我并不太担心这种情况的发生。
然后写一个小服务器,每个月向你发送 "你还活着吗 "的电子邮件。如果你错过了太多,那么服务器就会向你的亲人发送一封电子邮件,其中包含usb钥匙的密码。 (也许还有几句话,如 "不要伤心,我爱你")
这意味着,如果你处理 "你是否还活着 "检查的网络服务器被攻破。攻击者就会得到一个随机的密码,而这个密码在没有文件的情况下是没有用的。
如果你错过了一次测试,那么你会收到更多的邮件。这样做是为了防止你错过一封邮件而被代码宣布死亡。 我设置了一个 "测试失败计数器",像这样发送邮件。
0-2 : every month
3-5 : every 3 weeks
5-7 : every 2 weeks
8-16 : every week
after 16 checks death is declared.
总的来说,你需要脱机大约不到6个月(26周)才会触发。
结论
还有大量的小东西可以添加到这个设置中,比如只把钥匙的一部分发给你的每个亲人。因此,他们必须聚在一起打开文件,而不是像第一个打开文件的人可以运行一切。
有一些服务已经提供死亡邮件计数器,但我鼓励你自己编码,甚至自我托管。你信任的人越少,这种设置就越安全。
我绝对愿意听取建议,使其更加安全。现在,我最担心的是一个不可预见的错误或一些事情,使代码在我还活着的时候就触发了电子邮件。或者像我被绑架/囚禁6个月这样的事情。但如果我把定时器设置得比这更长。里面的信息可能就不再有意义了。
The postHow to plan for your death with codeappeared first onMartin Lees.