0

我的应用程序有几个组件,需要它们的通信在 Origin Verified 意义上是安全的。这些组件不能共享一个共同的秘密。所以我必须选择非对称密钥加密。假设我有两个组件A并且BA 发送一些数据FB并且B必须验证它确实来自A

A使用其私钥生成摘要H,附加到其请求参数,发送并声明来源/发件人,以验证摘要提供的反对F
AA_pubHFA
BHA_pubF

显然它看起来还可以,但是如果其他一些组件V与 相同V_pub并声称自己为AB仍然认为请求来自,A因为这H是用V_prvopenssl 验证的。

我想保护免受这种攻击V

我正在使用ecparam secp112r1最小化密钥长度。并且键被反复更改。

--编辑--

AB并且V是由唯一标识的应用程序组件URI。它目前旨在限制安全页面流。例如,您可以假设A, B,V是 urls 我想要的是只有A可以处理B并且只能B继续C....并且我不想为此维护一个全局/应用程序范围的会话。因此,如果可以仅根据以无状态/无会话方式传递给它B的特殊参数来验证此链接的来源。A而且它越通用,在其他场景中实现的可重用性也越高。

曾经我想A_pub在受信任的全局存储中维护校验和。但是我担心这不是过度工程吗?

我想到的另一种方法是查询有关公钥的原始 url。但是我想避免这种情况。

4

1 回答 1

0

这种技术不能验证发送者的身份,只能验证密钥是一对匹配的。

通常,已经拥有一些可用于验证身份B的可信信息。A该信息通常是A_pub其先前已验证的副本,或已由受信任的第三方签名的副本,在这种情况下,B必须有权访问该第三方的公钥。

没有这些附加信息,B无法验证 的身份A

于 2012-03-31T16:59:21.213 回答