是否可以在可以更改可公开访问的字典的任何部分的情况下验证某人的身份?



所以想象一下,有一个服务器充当JSON存储设备。可以从键读取数据,也可以将数据写入键。唯一的限制是您无法看到所有键。

是否可以仅使用此 JSON 存储作为通信方式来验证某人的身份?我说的是rsa密钥对,散列,密码。什么。我有一些想法,比如通过散列密码来存储每个用户的私钥,并使用该哈希作为私钥的密钥(可能也加密私钥(。现在显然,公钥必须被任何人读取,但是我如何阻止某人替换该公钥并冒充它们呢?

因此,重申一下,在可公开访问的数据库中,您必须已经知道密钥才能访问存储在密钥中的数据,如何验证用户的身份?

">

身份"在这里有点模糊。例如,如果你想确定这个人是住在大街123号的爱丽丝,那么你系统中的信息太少了。但是私钥、密码等也不会这样做。身份可以意味着很多事情。

你在这里可能的意思只是身份验证;这个人就是他们所说的那个人,对于"谁"的一个相当宽松的定义(一个可能是匿名的,甚至可能不是唯一的(。如果您想知道访问密钥的人是编写密钥的人,那么只要他们不与其他任何人共享密钥,您的系统就会自动执行此操作。密钥就是秘密,拥有秘密的人纯粹是通过知道它来认证的。

您可能还有其他要求和目标,但如果您唯一想做的是验证用户,那么他们对共享密钥的拥有正是您执行此操作的方式,并且您的密钥似乎是共享密钥。

我有点担心你的评论"显然公钥必须可以被任何人阅读。这根本不明显。仅仅因为公钥通常是非机密的,所以这不是必需的。完全有可能让私钥和公钥都是秘密的。例如,我可能只将我的公钥提供给某些人。如果我随后收到一条消息,我可以使用我的私钥解密,该消息验证发件人是该公钥的持有者。

您能否进一步解释一下您尝试使用此身份验证启用哪些类型的用例?

相关内容

  • 没有找到相关文章

最新更新