对称身份验证中可能存在安全漏洞



Alice想和Bob谈谈。

Bob通过向Alice发送一个nonce来验证Alice是Alice。

爱丽丝用密钥加密随机数。

Ben也知道这个钥匙是什么

Ben不记得曾向Alice请求通信,因为他是在一个无状态服务器上操作的。为了避免这种情况,Alice通过发送原始随机数和加密随机数来向Ben发送他的第一个通信请求。

我说这是不安全的,是对的吗?因为如果这个包含原始随机数和加密随机数的消息被黑客截获,这两者可能是逆向工程,密钥"K"可能会被获得?

感谢

我最初想说"不要给出原始字符串和加密字符串",但这与在末尾发布原始数据以及数据的HMAC哈希+密钥几乎相同。如果你确信你的加密算法很好,并且你使用的是密钥,那么我不认为这会是一个问题。

但是,nonce的整个点要使用一次。Alice向Bob发送了一个带有nonce的请求,Bob知道如果他从Alice收到了带有相同nonce的要求,请忽略它,因为它可能来自攻击者,而不是Alice本人。所以你一开始就不应该这么做。

最新更新