Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 挑战响应协议如何帮助抵御中间人攻击?_Security_Authentication_Man In The Middle_Challenge Response - Fatal编程技术网

Security 挑战响应协议如何帮助抵御中间人攻击?

Security 挑战响应协议如何帮助抵御中间人攻击?,security,authentication,man-in-the-middle,challenge-response,Security,Authentication,Man In The Middle,Challenge Response,质询-响应身份验证如何防止中间人攻击?我阅读了维基文章,但仍然无法理解。一般来说,质询-响应系统不一定能防止中间人攻击:如果Alice试图告诉Bob她的银行账号,此协议确实实现了一些质询和响应,不会提供完整性或隐私: Alice: Bob, is that you? // first challenge Bob: Yes, Alice, it is me, is that you? // first response, second challenge Alice: Yes! Great. M

质询-响应身份验证如何防止中间人攻击?我阅读了维基文章,但仍然无法理解。

一般来说,质询-响应系统不一定能防止中间人攻击:如果Alice试图告诉Bob她的银行账号,此协议确实实现了一些质询和响应,不会提供完整性或隐私:

Alice: Bob, is that you?  // first challenge
Bob: Yes, Alice, it is me, is that you? // first response, second challenge
Alice: Yes! Great. My account number is 314159. // second response, and result
马洛里可以回答“是”而不是爱丽丝或鲍勃,可以伪造第三条“结果”信息,或者可以监听第三条信息

即使挑战得到改善,例如:“请将0x31415926散列到我们的共享密码前”,以明文传输的数据(或在弱/糟糕的密码或糟糕的密钥选择下)也会丢失隐私,在没有任何消息验证检查的情况下传输的数据可能会受到第三方的修改

挑战/响应协议真正的亮点在于防止重放攻击:如果Alice只是向Bob发送一条“请借记我的帐户$5,贷记你的帐户$5”的消息,Mallory可以记录该消息并重放该消息以耗尽Alice的帐户

一个好的质询/响应系统将为每个事务或会话生成一个新的质询(并确保以前的质询不会重复使用!),因此会话记录不能拼接在一起以创建新的欺诈系统

我希望这会有所帮助,但我担心如果没有更详细的了解您的疑问来自何处,这将只是噪音。

已经提供了,我想把注意力转移到以下内容

质询响应解决了两个问题—使以明文形式发送秘密变得不必要(发送类似散列的产品)并防止重播攻击(因为质询每次都会发生变化)。除此之外,它不做任何事情——它不会自己对任何人进行身份验证,它只是对明文协议的改进,客户端发送用户名和密码(秘密),服务器决定这些是否正确


P.>如果中间有一方,它将无法侦测到它或阻止它作为该特定会话的客户端冒充,但该方将无法获得该秘密,因为该秘密从未以明文发送,而该方将无法通过重播再次模拟-它只能在该会话期间模拟工作。

是否有您不了解的特定内容?您正在阅读此链接吗?是的,我认为这是令人困惑的。使用公钥密码体制的挑战响应系统有助于消除中间人的攻击吗?@ USER57183:你希望它如何使用公钥密码?这些系统是在对称密钥上操作的吗?@ USE57183:有一个秘密,比如密码。客户端知道密码,服务器知道密码。看起来像是对称密钥。@user574183:它们在对称和非对称系统上都运行:您可以将我的“用这个nonce散列机密”例程替换为“使用您的私钥解密这个nonce,然后对连接到您的用户名的nonce的sha-256散列签名,并返回签名”。(您永远不希望设计一个协议,要求一方对另一方提供的内容进行签名;每次使用公钥系统都会泄漏一些(非常小)的密钥数据,因此始终对数据哈希进行签名。)好的,在这个挑战/响应认证中,只有中间人知道秘密密钥时,中间人攻击才是可能的。如果知道密钥,他将能够解密质询并正确回答质询,对吗?@user574183:首先质询未加密发送,然后使用秘密将质询与秘密结合起来。如果中间的一方知道这个秘密,它可以随时冒充客户机——它知道这个秘密,所以服务器无法区分它和客户机。即使不知道秘密,它也会干扰正在进行的会话-该秘密仅在开始时使用,不用于会话期间发送的数据。