Alice希望从Bob了解敏感资源的位置。 Bob Kindly告诉Alice这个位置,但Alice如何确定Bob的身份?
Bob是OpenBSD服务器,数据源是Python / C ++应用程序。
我的想法是:
Alice知道Bob的公钥。
Alice使用Bob的公钥加密随机字符串,并将其发送给Bob。
Bob恢复随机字符串,并将其哈希。 Bob将回传敏感资源以及哈希值。
此方法的问题是:我可以安全地在Bob(服务器)上存储私钥吗?怎么样?有更好的解决方案吗?
答案 0 :(得分:1)
如果Bob没有私钥,那么Bob唯一知道它可以用什么来识别自己?如果你不能相信鲍勃保持私钥安全,无论你做什么,你都会沉没。
如果值得多花钱,你可以做的一件事就是让另一台机器(称之为Cipherclerk)不在线,只能与Bob通信,并且只会进行某些类型的通信。 Cipherclerk持有私钥,并使用它来解密Bob的内容。然后,即使Bob远程受到攻击,至少私钥也不会受到损害。
对你的想法的一个改进是让Bob使用Alice的随机字符串作为加密资源的对称密钥。
答案 1 :(得分:0)
如果某人可以在中间攻击中安装一名男子,这种方法是完全不安全的。攻击马洛里可以简单地删除敏感信息,用她的替代品将其转发给爱丽丝。
解决方案是使用TLS或SSH。在任何一种情况下,请确保Alice拥有bob的公钥或密钥指纹。这是一个广泛使用的解决方案,并且是安全的,假设没有人可以更改Alice存储的数据或读取数据bob存储。