我有一个稍微奇怪的情况。 我帮助运行一个聊天networking,允许人们在公共团体和私人信息中聊天。
人们对login公共聊天感到满意,但感觉logging私人聊天会是一个巨大的隐私侵犯。 这个networking专门针对年轻人,所以我们中的一些人真的想logging私人聊天,因为我们认为如果提出指控,这将是一个不好的位置,我们说,我们没有任何私人logging,因为我们志愿者担心他们的隐私。
所以,我想知道是否可以实现某种机制,至less有两个人必须批准读取日志文件。
我知道原则上我们可以做到这一点,例如使用两个人的密钥对文件进行encryption,但是这不会扩展到让6个人访问日志文件位置。
我们还需要说明访问消失或死亡的一个人 – 我们需要来自这个六人组的其他两个可信人员能够访问该文件。
另外,还有其他一些关于如何让人们放松自己的想法,而不是花费你的空闲时间(这是什么?)窥探人们的谈话? 访问警报等?
对于@ Sven的评论稍微扩展一下,虽然有一些工具可以使这成为可能,但是这些工具在操作系统级别是不可用的。
所以答案有两个部分:
任何技术措施都可能是一个有足够特权的用户可以解决的问题,因此需要制定一个关于这些规则的政策,以及不遵守这些规则的后果。
这个问题可以使用秘密共享和阈值RSA来解决。
您可以创build一个秘密共享的RSA密钥,可以从您决定的密钥的任何部分中恢复。 一个可以从6股中的2个中恢复的关键只是无限的可能性之一。
然后你使用公钥来encryption日志。 这将遵循公钥encryption的标准惯例,在每次启动encryption日志时,服务器select一个随机对称密钥进行encryption(例如使用AES)。 对称密钥本身然后使用RSA公钥进行encryption。 对称密钥在解密期间保留在内存中,但永远不会保存。 这种encryption可以使用标准软件完成。
当需要解密时,许多密钥持有者同意某个日志需要被解密,并将其RSA密钥的份额应用到encryption的对称密钥。 这导致了对称密钥的秘密共享。 这些对称密钥的份额然后可以在各方之间交换,然后可以重build对称密钥并解密select的日志文件。