• Keine Ergebnisse gefunden

Protocol Vulnerabilities

CHAPTER 2 FUNDAMENTALS & RELATED WORK

2.4 C RYPTOGRAPHIC P ROTOCOLS

2.4.3 Protocol Vulnerabilities

= = = = = =

: a: bmod amod b amod a bmod amod bmod : b

K K g p p g p g p g p p K  

Although DH lacks any authentication, it provides the basis for a vast range of  authentication protocols. It should be mentioned that DH provides forward secrecy  for the session‐key K, as the subsequent deletion of a, b and K at both parties, does  not  allow  for  any  previous  communication  to  be  reconstructed,  even  when  compromising  and  B.  Consequently,  DH  is  considered  secure  against  eavesdroppers if G, p and g are properly selected. Deriving K from given gamodp  and  gbmodp  is  currently  considered  difficult,  as  there  is  no  known  efficient  algorithm available for solving the discrete logarithm problem [Adl79]. However,  since DH by itself does not authenticate messages, it is vulnerable to man‐in‐the‐

middle‐attacks (see Section 2.4.3). Hence, DH is commonly utilized for establishing a  session‐key via a secured channel which implies authentication. DH then provides  forward secrecy for a secured and authenticated session‐key [BKP00]. 

2.4.3 Protocol Vulnerabilities

Communication protocols  should not  end up in  deadlocks or  livelocks due to  misbehaving nodes, message losses or incorrect messages caused by bit failures in  transit. Nevertheless, security protocols are facing additional vulnerabilities from  malicious nodes that behave mischievously on purpose. These nodes are referred to  as attackers or intruders that aim to break the protocol for a vast variety of reasons. 

Security protocols have to be designed to deal with attacks that are more or less  present  and  are  dependent  on  the  considered  environment  and  the  given  assumptions.  

Secure Channel

A

A

A

Intruder / MIM

B

Figure 4 illustrates three different attacking environments. The first scenario (1)  shows a secured channel between A and B without any intruder. This can either be a  physically secured channel or one achieved by encryption. A secured channel is the  actually desired state that a security protocol should accomplish. Attacks can have  several forms depending on the action the intruder takes. It is considered a passive  attack when data is read in transit, whereas active attacks involve messages having to  be sent by the intruder. Furthermore, combinations of both forms are also possible. 

Passive attacks depict the intruder as a probe that is inserted somewhere in  the network and has the capability to capture data in transit. The aim of a  passive attack is to obtain information from sniffed data, especially that of a  confidential nature. Passive attacks are extremely difficult if not impossible to  detect since both sender and receiver may never realize that others have had  access to the sent messages. Thus, whenever networks are considered as  physically  insecure  or  a  public  network  such  as  the  Internet  is  used,  prevention is the only way to confront passive attacks. This is commonly  achieved by encrypting messages in order to hide their confidential content. It  should be mentioned here that the fact that A sends messages to B sometimes  is  sufficient  information  for  an  intruder  even  when  the  actual  data  is  encrypted. As an example of this one might imagine two companies A and B; 

the simple fact that these companies exchange messages, could mean that the 

amount of data, frequency, time and date of messages could provide more  information to a third party C than the actual content. 

Active attacks refer to all attacks where the intruder inserts messages into the  network. This can be accomplished for various reasons. Messages do not  necessarily have to be generated by the intruder, as he can also use the  original captured data. In contrast to passive attacks where prevention is the  strategy of defense, active attacks are difficult to perceive. As in wireless  environments, active attacks are impossible to prevent and the chosen strategy  here  is  detection.  Detection  is  determined  by  the  circumstances  the  classification in which a message has or not been sent by the claimed entity. 

Therefore, this is the realm of authentication and digital signatures [Alk83].  

The assumption that can be made on the intruder depends on the environment. Once  an intruder compromises an intermediate router, he is able to perform active, passive  or any combined means of attack. Figure 4(2) illustrates a scenario where the attacker  acts as mediator between A and B. Here, the intruder can read, store, modify, drop  and delay all messages in transit. He is also able to insert messages based on  previous information he has extracted as well as redirecting messages to other  participants. The variety of possible attacks for such an intruder is endless. One  common attack, referred to as Man in the Middle (MIM), describes the situation where  the intruder claims to be A for B and to be B for A. Figure 4(3) illustrates the wireless  scenario which entails slightly different conditions for both the intruder and other  principals. Capturing and inserting data is easy for an intruder, whereas delaying,  dropping and redirecting messages are more difficult for intruders when a shared  wireless medium is used.  

An attacker is aware of the fact that he has a vast variety of possibilities to attack  protocols. The most common methods are explained hereunder: 

Eavesdropping relates to sniffing and the probability of storing messages in transit. 

This is the most fundamental form of attack and being of a passive nature, needs to  be prevented by means of encryption. Eavesdropping is often employed as a basic  component of more complex attacks. 

Modification involves altering parts of or the entire message in transit. When parts  are non‐redundant, captured messages can be split, reassembled and inserted in  order to break protocols, even when all of individual messages‐fields have been  encrypted. Data origin authentication and integrity protection for the entire message  is pervasive in order to protect authentication and session establishment protocols. 

Replay‐attacks cover all situations where attackers interfere with a protocol run by  inserting  messages  or  parts  of  messages  originally  belonging  to  any  previous 

are prevented by timestamps and nonces to guarantee message freshness [Gon93]. 

Replay protection is essential for session‐keys, as such attacks aim to separate keys  between the different sessions [Aur97]. A replay‐attack counters this command by  inserting a previous message in a current protocol run when a timestamp or nonce is  not used. For instance, consider a message sent from A to B transferring a session‐key  K. A has signed the key by encrypting it with its own private key and encrypted it by  B’s public key to provide secrecy:  

{ }

( )

{

K SK A

}

PK B( ) 

An intruder who captures this message can send this message to B and so B believes  he has a session‐key with A. This attack says nothing about the capability of the  intruder to read messages. However, the intruder can establish the session‐key  without him knowing any secret key of A or B. 

Reflection‐ & Interleave‐attacks refer to a more complex attack based on a replay‐

attack. This attack involves two parallel protocol runs or simultaneous sessions. The  attacker acts as both the sender and the responder in a challenge response protocol  for authentication. An example run is outlined below:  

(1) A sends a message to Intruder claiming to be B. A sends a challenge na that  should be capable of responding to, since B has knowledge of the secret shared key S. 

 

→ : A I na 

(2) While A waits for the response from I, I sends (reflects) the challenge na to A as B  would normally do in order to authenticate A. 

(3). A computes the response ra = F(na,S) and sends it back to I. 

 

→ : : I A na A I ra  

(4). Upon receiving the response, I again reflects the response to A. still expects a  response from the first protocol run and happily accepts the response from and  thereby authenticates him. Consequently, the protocol is broken.  

 

→ : A I ra 

In this attack, step 1 and 4 belong to the first (outer) protocol run, while step 2 and 3  belong to the second (inner) protocol run.  

In  the  interleave‐attack,  Intruder  initiates  two  simultaneous  protocol  runs  in  different instances. When the first instance has reached a defined state, the intruder  initiates a new second session using information obtained from the first run. 

A’s viewpoint is that two protocol runs were successfully completed and thus no  irregularity occurred which would give him any reason to be suspicious. Interleave‐

attacks are extremely dangerous as they are very difficult to predict in more complex  protocols. The intruder can run protocols multiple times by playing different roles in  the attempt to obtain information that would be usable in the main session.  

One might not discover  interleave‐attacks when designing a protocol  in  which  security is only considered by causal deductions. In the example shown above, the  causal chain can be formed from the end to the start of the protocol run as follows: 

(1) finally received a valid response ra from somebody. (2) hence, this entity  needed to send the response according to the nonce na and the secret key S. (3) the  nonce na had recently been sent out and the secret key K is only known by trusted  parties. The sender must have computed ra based on the nonce na and the key K,  thereby indicating that the sender must have knowledge of K. (4) Consequently, the  sender of ra must be a trusted party and is thus authenticated. The authentication is  also fresh due to the short lifetime of na.  

As  the  interleave‐attack  illustrates  in  the  example  protocol,  the  authentication  actually failed, demonstrating that casual chains are incapable of proofing security. 

Therefore, this study analyzes protocols that will counter interleave‐attacks by means  of model checking. Details on formal methods and model checking are given in  Chapter 4.