GSM Security: Cryptanalysis of A5/1

Report
GSM Security: Cryptanalysis of
A5/1
Arber Ceni – 07.02.2011
Overview (I)
Motivation
Description of A5/1
Time-memory tradeoff attacks








2
Golic 1997
Biryukov et al. 2000
Biham and Dunkelman 2000
Barkan, Biham and Keller 2003
COPACOBANA 2008
GSM Security: Cryptanalysis of A5/1
Arber Ceni
Overview (II)
Correlation attacks




Ekdahl and Johansson 2003
Maximov, Johansson and Babbage 2005
Barkan and Biham 2006
Other attacks on GSM and A5 family ciphers
Conclusions


3
GSM Security: Cryptanalysis of A5/1
Arber Ceni
Motivation
GSM has more than 3 billion customers and covers
around 80% of the World’s population
Every over-the-air conversation is protected by A5/1
GSM is the biggest cryptosystem ever deployed
A5/1 developed in 1987 (older than 20 years)
Many flaws discovered
Many attacks conducted






4
GSM Security: Cryptanalysis of A5/1
Arber Ceni
Description of A5/1 (I)

GSM uses symmetric cryptography
The same key Kc is used to encrypt and decrypt the
conversation
How is the Kc generated?

Ki – root encryption key



Unique for each subscriber
A3 – authenticate the user
to the mobile operator
A8 – Generate Kc


5
GSM Security: Cryptanalysis of A5/1
Arber Ceni
Description of A5/1 (II)
Invented in 1987
Partially leaked in 1994
Reverse engineered by Briceno in 1999
Idea:







Conversation as frames transmitted every 4,6 ms
228 bits+Kc+Fn=228 bits cyphertext
114 up, 114 down
Three LFSRs




6
R1 – length 19; taping bits 13, 16,17,18; clocking bit 8
R2 – length 22; taping bits 20, 21; clocking bit 10
R3 – length 23; 7,20,21,22; clocking bit 10
GSM Security: Cryptanalysis of A5/1
Arber Ceni
Description of A5/1 (III)
Clocking




7
If the clocking bit agrees with the majority bit
C1=C2=C3+1 => R1 and R2 are clocked
Probability of each register to be clocked is 3/4
GSM Security: Cryptanalysis of A5/1
Arber Ceni
Description of A5/1 (IV)
Algorithm (initial state)







8
Zero all registers
For each bit of the Kc: Rj[0]=Rj[0]+Kc[i], j=(1,2,3)
Clock the registers ignoring the regular clocking mechanism
For each bit of the Fn: Rj[0]=Rj[0]+Fn[i], j=(1,2,3)
Clock the registers ignoring the regular clocking mechanism
Clock the registers with the
normal clocking mechanism
for 100 rounds and discard
the output
GSM Security: Cryptanalysis of A5/1
Arber Ceni
Description of A5/1 (V)
Algorithm (ciphertext generation)






9
Clock the cipher 114 times using the normal stop/go fashion
Produce 114 bits (keystream) by XOR-ing the MSBs of the
three registers
This keystream will be used to encrypt the communication
between operator and mobile station
XOR the keystream with the initial message to produce the
ciphertext
Do the same for the
conversation between
mobile station and
operator
GSM Security: Cryptanalysis of A5/1
Arber Ceni
Time-memory tradeoff attacks – Golic 1997


Alleged but similar A5/1 cipher
Divide and conquer



Idea: Guess some bits of the state of the registers and find the
others by solving linear equations
Complexity: O(240.16)
How many bits should we guess:






10
n
n-ri+taui-1
if n ≤ ri-taui+1
otherwise
1+3n+4n/3 linear equations
Linear independent if n< max(tau1,tau2,tau3)-1
Real A5/1: max(tau1,tau2,tau3)=10 => O(245.22)
Time-memory tradeoff:102·K·M≥ 263.32
GSM Security: Cryptanalysis of A5/1
Arber Ceni
Time-memory tradeoff attacks – Biryukov et
al. 2000 (I)

Store in HDD (prefix,state) pairs for special states
starting with α = 16 bits







Flaw of A5/1: clocking tap doesn’t affect output for 16 clocking
cycles
Produces 248 states instead of 264; further reduced to 240
Compare the prefix of an unknown state
Red states R – special states; |R|= 248
Green states G – α is encountered in position 101-277;
|G|= 177*248
235 stored red states with avg weight 12500
We can encounter a red state in 2 min of conversation
with a probability of 61%
11
GSM Security: Cryptanalysis of A5/1
Arber Ceni
Time-memory tradeoff attacks – Biryukov et
al. 2000 (II)

Random subgraph attack



From stored special states, generate other special states
A new function f makes this possible and inverting it
produces the special state from an output bit.
Time-memory tradeoff:
 M T | U |

M= 236,|U|= 248, T= 224 and preprocessing 248
Attack Type
Preprocessing
steps
Available
Data
Number of
73GB HDD
Attack
Time
Biased Birthday attack(1)
242
2 minutes
4
1 second
Biased Birthday attack(2)
248
2 minutes
2
1 second
Random subgraph attack
248
2 seconds
4
minutes
12
GSM Security: Cryptanalysis of A5/1
Arber Ceni
Time-memory tradeoff attacks – Biham and
Dukelman 2000 (I)



Wait until an event that gives a lot of information happens
With some improvements to the previous attack, break
A5/1
R3 not clocked for 10 consecutive times and R3[10,22]
are known






We get 20 clocking bits of R1 and R2
Other 11 bits from output stream
Guessing 9 bits from R1 and 1 from R2, gives both registers
Guessing 10 bits from R3, gives the other 11 bits of R3
Complexity: O(227)
220 possible starting points for R3

13
Complexity: O(247)
GSM Security: Cryptanalysis of A5/1
Arber Ceni
Time-memory tradeoff attacks – Biham and
Dukelman 2000 (II)


Improve the techniques of the previous attack
Compute two tables:



next-state table – stores the states in the computed order
Pointer table – stores the location of the state
Total Complexity computed:







14
220 – possible start points for R3
212 – possible guesses
each of them 21.53 values which cost 2 cycles (next-state lookup)
24.53 – values for 10 guesses of R3
each of these clocked and checked in pointer table =>2 cycles
each check needs to be clocked twice
220 *212 * 21.53 *2* 24.53 *(1+1+2*0.88)= 240.97 A5/1 clocking cycles
GSM Security: Cryptanalysis of A5/1
Arber Ceni
Time-memory tradeoff attacks – Barkan,
Biham and Keller 2003

Man-In-The-Middle attack

1st attack



2nd attack



Ask the network and the victim to start a conversation with no
encryption A5/0
This is probable to be discovered by the operator
3rd attack



15
Ask the victim to start encrypting with A5/2
Break A5/2 (which is easier) and send the authentication to the server
The operator initiate the authentication procedure rarely
The attacker asks the victim to encrypt with A5/2
Brake A5/2 and use it later
GSM Security: Cryptanalysis of A5/1
Arber Ceni
Time-memory tradeoff attacks –
COPACOBANA 2008




120 parallel FPGAs (Field-Programmable Gate Array)
Offers better performance-cost ratio
Can be connected to normal PC
Using COPACOBANA:





114 known bits (1 frame)
Preprocessing time: three months
Memory: 4.85 TB
Online phase: 10.09 s
Success rate: 63%


16
Can be increased to 96%
Must increase the output stream length to 4 frames
GSM Security: Cryptanalysis of A5/1
Arber Ceni
Correlation attacks – Ekdahl and
Johansson 2003 (I)


Based on correlation attacks
Uses bad initialization of the cipher



Key and frame number initialized linearly
Is not exponential to the length of registers
Assuming that the registers are clocked exactly 76 times
we get a probability of knowing the first output
1
2
3
P( s76
 s76
 s76
 O(j76,76,76,1) ) 
P(assum ptioncorrect) 1  P(assum ptionwrong) 1 / 2

For all the positions we can write:
17
GSM Security: Cryptanalysis of A5/1
Arber Ceni
Correlation attacks – Ekdahl and
Johansson 2003 (II)
p(jcl1 ,cl2 ,cl3 )   P((cl1 , cl2 , cl3 ) in vth position)

vI
 O(jcl1 ,cl2 ,cl3 ,v 100 )  0



 1 / 21   P((cl1 , cl2 , cl3 ) in vth position) 
 vI


P((cl1,cl2, cl3) in vth position) can be computed
recursively:

P((cl1,cl2, cl3) in vth position) = F(cl1,cl2,cl3,v) where:
F (cl1 , cl2 , cl3 , v)  0 if cl1  0, cl2  0 and cl3  0
F (cl1 , cl2 , cl3 , v)  0 if cl1  0 or cl2  0 or cl3  0
F (cl1 , cl2 , cl3 , v)  0 if cl1  v or cl2  v or cl3  v
F (cl1 , cl2 , cl3 , v)  0.25F (cl1  1, cl2  1, cl3  1, v  1)
 0.25F (cl1 , cl2  1, cl3  1, v  1)
 0.25F (cl1  1, cl2 , cl3  1, v  1)
 0.25F (cl1  1, cl2  1, cl3 , v  1)
18
GSM Security: Cryptanalysis of A5/1
Arber Ceni
Correlation attacks – Ekdahl and
Johansson 2003 (III)

Log-likelihood of all probabilities:
m
p(jcl1 ,cl2 ,cl3 )
j 1
1  p(jcl1 ,cl2 ,cl3 )
A( cl1 ,cl2 ,cl3 )   ln



If A>0 then the output of the cipher = 0
If A<0 then the output of the cipher = 1
This attack requires:



19
5 minutes of GSM conversation
Less than 5 minutes to recover the key
With a success rate of more than 70%
GSM Security: Cryptanalysis of A5/1
Arber Ceni
Correlation attacks – Maximov, Johansson
and Babbage 2005



Improve the attack of Ekdahl and Johansson
Try to reduce the number m of needed frames
Based on two new flaws of A5/1




Error-correction codes are applied before encryption
During silence a special kind of frame containing a large
number of zeros is sent
They also make use of the log-likelihood to find the key,
but they use some improved estimators
Result:


20
A few seconds of conversation (2000-5000 frames => 9-43s)
Less than one minute of computation
GSM Security: Cryptanalysis of A5/1
Arber Ceni
Correlation attacks – Barkan and Biham
2006



Based on conditional estimators
Based on previous correlation attacks
Exploit three new weaknesses of the R2 register




Alignment property
Has only two feedback taps which are adjacent
Symmetry property – the clocking tap is at the middle of the register
Steps:


Compute conditional estimators
Decode these estimators to find best candidates for S1 and S2



Modeled as a huge graph in which can be applied Dijkstra-like algorithms
For each of these candidates recover candidates for S3. Recover the
key from S1,S2,S3 and verify that is the correct one
Results:

21
2000 frames; completes in tens of seconds; success rate is 91%
GSM Security: Cryptanalysis of A5/1
Arber Ceni
Other attacks on GSM and A5 family
ciphers (I)

FBDD based attack




Developed by Krause 2002
Complexity: nO(1)2(1-α)/(1+ α)n. α is a constant
For A5/1 complexity: nO(1)20.6403n
Eavesdrop without cryptanalysis



MITM attack
Record RAND;record ciphertext=>output stream of the
cipher
Later:


22
Send the frame number and message to the target mobile
The frame number is the same so the message can be decrypted
GSM Security: Cryptanalysis of A5/1
Arber Ceni
Other attacks on GSM and A5/1 family
ciphers (II)

Open source project (Nohl 2009)

Precompute rainbow tables




The compressed codebook of A5/1
Used parallelization (FPGA) to reduce precomputing time
First public project to release the tables
1st attack:



MITM attack
Fake base station
Cheap radio equipment
Open source software – OpenBTS

 2nd



23
attack
Passive attack
Uses the precomputed rainbow tables
Everybody can contribute
GSM Security: Cryptanalysis of A5/1
Arber Ceni
Other attacks on GSM and A5/1 family
ciphers (III)

New A5/3 again weak


Made public
Based on KASUMI block cipher


Also weak:



24
Modification of MISTY
By applying a sandwich attack
226 data, 230 bytes of memory, can complete in 232 time
The authors claim this is realistic and have simulated the attack in a
PC
GSM Security: Cryptanalysis of A5/1
Arber Ceni
Conclusions





Most of the attacks presented here, don’t make any claim
for the real implementation of A5/1 in the fielded GSM
However, some of them yes
Breaking A5/1 has become an open source project!
The new A5/3 is also weak!
The cryptosystem used in GSM should be changed



25
It is the biggest cryptosystem ever deployed
It is not used only for conversation
Used for banking information, payment, bank transfer etc
GSM Security: Cryptanalysis of A5/1
Arber Ceni
Thank you!

Questions?
26
GSM Security: Cryptanalysis of A5/1
Arber Ceni

similar documents