<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.sarg.dev/index.php?action=history&amp;feed=atom&amp;title=Reflection_attack</id>
	<title>Reflection attack - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.sarg.dev/index.php?action=history&amp;feed=atom&amp;title=Reflection_attack"/>
	<link rel="alternate" type="text/html" href="https://wiki.sarg.dev/index.php?title=Reflection_attack&amp;action=history"/>
	<updated>2026-04-20T04:26:20Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://wiki.sarg.dev/index.php?title=Reflection_attack&amp;diff=602912&amp;oldid=prev</id>
		<title>imported&gt;CortexFiend: /* growthexperiments-addlink-summary-summary:1|1|0 */</title>
		<link rel="alternate" type="text/html" href="https://wiki.sarg.dev/index.php?title=Reflection_attack&amp;diff=602912&amp;oldid=prev"/>
		<updated>2025-08-12T22:26:07Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;growthexperiments-addlink-summary-summary:1|1|0&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{about|the attack on authentication systems|the denial of service attack|Distributed Reflection Denial of Service}}&lt;br /&gt;
&lt;br /&gt;
In [[computer security]], a &amp;#039;&amp;#039;&amp;#039;reflection attack&amp;#039;&amp;#039;&amp;#039; is a method of attacking a [[challenge–response authentication]] system that uses the same [[Protocol (computing)|protocol]] in both directions.  That is, the same challenge–response protocol is used by each side to [[Authentication|authenticate]] the other side. The essential idea of the attack is to trick the target into providing the answer to its own challenge.&amp;lt;ref&amp;gt;&amp;#039;&amp;#039;Computer Networks&amp;#039;&amp;#039; by [[Andrew S. Tanenbaum]], 4th edition, {{ISBN|0-13-038488-7}}, pages 787-790.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Attack ==&lt;br /&gt;
The general attack outline is as follows:&lt;br /&gt;
&lt;br /&gt;
# The attacker initiates a connection to a target.&lt;br /&gt;
# The target attempts to authenticate the attacker by sending it a challenge. &lt;br /&gt;
# The attacker opens another connection to the target, and sends the target this challenge as its own.&lt;br /&gt;
# The target responds to the challenge.&lt;br /&gt;
# The attacker sends that response back to the target on the original connection.&lt;br /&gt;
&lt;br /&gt;
If the [[authentication protocol]] is not carefully designed, the target will accept that response as valid, thereby leaving the attacker with one fully authenticated channel connection (the other one is simply abandoned).&lt;br /&gt;
&lt;br /&gt;
== Solution ==&lt;br /&gt;
Some of the most common solutions to this attack are described below:&lt;br /&gt;
&lt;br /&gt;
* The responder sends its identifier within the response so, if it receives a response that has its identifier in it, it can reject it.&amp;lt;ref&amp;gt;[[Ross J. Anderson]]: &amp;lt;cite&amp;gt;[http://www.cl.cam.ac.uk/~rja14/book.html Security Engineering: A Guide to Building Dependable Distributed Systems]&amp;lt;/cite&amp;gt;, 1st edition, page 21, {{ISBN|0-471-38922-6}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
# Alice initiates a connection to Bob.&lt;br /&gt;
# Bob challenges Alice by sending a [[cryptographic nonce|nonce]] &amp;#039;&amp;#039;N&amp;#039;&amp;#039;. {{nowrap|B → A: &amp;#039;&amp;#039;N&amp;#039;&amp;#039;}}&lt;br /&gt;
# Alice responds by sending back the MAC calculated on her identifier and the nonce using the shared key &amp;#039;&amp;#039;K&amp;#039;&amp;#039;&amp;lt;sub&amp;gt;ab&amp;lt;/sub&amp;gt;. {{nowrap|A → B: MAC&amp;lt;sub&amp;gt;&amp;#039;&amp;#039;K&amp;#039;&amp;#039;&amp;lt;sub&amp;gt;ab&amp;lt;/sub&amp;gt;&amp;lt;/sub&amp;gt;{{mset|A, &amp;#039;&amp;#039;N&amp;#039;&amp;#039;}}}}&lt;br /&gt;
# Bob checks the message and verifies the MAC, making sure it is from Alice and not a message he had sent in the past by making sure that it verifies with A and not B, and on the nonce which is the same as the one he sent in his challenge, then he accepts the message.&lt;br /&gt;
* Require the initiating party to first respond to challenges before the target party responds to its challenges.&lt;br /&gt;
* Require the key or protocol to be different between the two directions.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Replay attack]]&lt;br /&gt;
* [[Man-in-the-middle attack]]&lt;br /&gt;
* [[Pass the hash]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{reflist}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Computer security exploits]]&lt;br /&gt;
[[Category:Computer access control protocols]]&lt;/div&gt;</summary>
		<author><name>imported&gt;CortexFiend</name></author>
	</entry>
</feed>