[免责声明:我知道,如果你对加密货币有所了解,你可能会告诉我为什么我做错了 - 我已经通过谷歌搜索了解到这似乎是典型的答复。]
假设以下情况:您有一个中央机构想要为给定域发行登录 cookie。在此域上,您不一定信任每个人,但您有一些关键的终端点应该能够读取 cookie。我说有几个,但实际上这些“受信任”的合作伙伴数量可能很大。cookie 并不包含太多信息 - 用户名、时间戳、到期时间、随机数。当然,在加密之后,它应该保持尽可能小以提高性能。现在,有两个安全问题:
1) 我们不相信此域上的每个 Web 服务器都具有用户数据。因此,只应将读取 cookie 的权限限制为这些受信任的合作伙伴。 2) 虽然我们信任这些合作伙伴保护我们用户的数据,但我们仍希望权威中心是不可伪造的(在合理范围内)。
现在,如果我们为权威机构生成一个私钥并将其保密,并仅向“受信任的合作伙伴”分发公钥,我们应该能够使用私钥进行加密,并使任何拥有公钥的人都可以读取。我不确定的是,是否仍然需要签署消息,或者解密行为是否证明它是由私钥生成的。这种方案与向所有相关方散布对称密钥并将其用于加密,同时仅使用私钥进行签名相比,有什么优缺点呢?当然,欢迎告诉我这是一个愚蠢的想法的所有方法,但请记住,实际的论据可能比重复 Alice 和 Bob 要更具说服力。
哦,如果涉及到任何“坑”,实现指针也会很有用,尽管您可以在 Google 上找到基础知识!