Spojujeme software, technologie a služby
SIM karty a bezpečnost v mobilních sítích
Václav Lín programátor
19.5.2009
1
Osnova • SIM karty – Role SIM karet v telekomunikacích – Hardwarové charakteristiky
• Bezpečnost a autentizace v GSM – – – –
Autentizační protokol Používané algoritmy Slabiny a útoky Bezpečnost a autentizace v UMTS
• JavaCard a SIM Toolkit – – – –
Podpora kryptografie Uživatelské rozhraní SMS komunikace Aplikace: mobilní bankovnictví
2
Role SIM karet v telekomunikacích • Základní funkce – autentizace do sítě – Na kartách jsou uloženy tajné klíče pro autentizaci
– Na kartách probíhá i výpočet autentizačního algoritmu
• Na kartách jsou uložena data GSM operátora ... – partnerské sítě pro roaming – ID karty (IMSI, TMSI) – ...
• ... a data uživatele – SMS – telefonní čísla
3
Hardwarové charakteristiky SIM karet • Standardy: – ISO/IEC 7816-x – ETSI TS 102.221
• Velikost chipu ~ max 25 mm2 • Procesor - 8 bit, 16 bit, 32 bit – kryptografický koprocesor (DES/AES/RNG)
• Paměti: – ROM 16-500 kB – RAM 1-24 kB – NVM • EEPROM 8-256kB • Flash >= 128 kB
4
Bezpečnost a autentizace v GSM
5
Možné ztráty při prolomení bezpečnosti • Operátor – Bezplatné využívání služeb útočníkem – Ztráta důvěry klientů – Nedodržení zákonných požadavků (ochrana soukromí klientů)
• Uživatel – – – –
Účtování služeb využívaných útočníkem Odposlech hovorů a SMS Sledování pohybu ...
6
Architektura GSM sítě Radio interface
Mobile Station
BTS
HLR BSC
SIM
BTS Base Station Subsystem
MSC AuC Network subsystem
GSM network
7
GSM autentizace • Jednoduchý protokol typu výzva-odpověď • Tajný klíč sdílený mezi SIM a sítí • Protokol navržený v 80. letech minulého století má řadu slabin
8
Identifikace SIM karty v síti • IMSI – International Mobile Subsriber Identity – Používá se pro první přihlášení po zapnutí telefonu
• TMSI – Temporary Mobile Subscriber Identity – Dočasná identita – Znesnadňuje sledování chování uživatelů
9
GSM autentizační protokol Auc
SIM
ME
BTS
SI M
SI NET M
SIM Ki
Ki IMSI / TMSI Sres ’ = A3( Ki, Rand) Kc= A8(Ki,Rand)
Rand,Sres’,Kc Rand Sres = Sres’ ?
Sres
Sres || Kc
Sres = A3( Ki, Rand) Kc= A8(Ki,Rand)
Ano Přístup povolen 10
Comp128 a klonování SIM karet • COMP128 – v minulosti rozšířená implementace A3/A8 – „tajná“ specifikace – algoritmus se podařilo prolomit – nahrazován bezpečnějšími algoritmy Comp128v2, Comp128v3
• Klonování – nalezení IMSI a Ki – vytvoření „náhradní“ SIM
• Klonování na webu: http://www.isaac.cs.berkeley.edu/isaac/gsm.html http://www.hackwatch.com/gsmpaper.html http://klony.ic.cz/
11
Šifrování rádiové komunikace •
Data přenášená mezi telefonem a BTS jsou šifrovaná – Používá se klíč Kc odvozený při autentizaci – Algoritmy A5: A5/0, A5/1, A5/2, A5/3
Mobile Station Fn (22 bit)
Data
Kc (64 bit)
BTS Fn (22 bit)
Kc (64 bit)
A5
A5
XOR
XOR Encrypted Data
Data 12
Útoky proti A5 • „Tajný algoritmus“ dostupný na internetu: http://www.scard.org/gsm/a51.html • Bylo popsáno několik teoretických útoků (první 1997) • V poslední době útoky v reálném čase (se speciálním hardware)
13
Man-in-the-middle útok Attacker ME
BTS Fake BTS
Fake ME
RAND
RAND
A3/A8
Kc
SRES Choose A5/2 encrypted data Crack A5/2
Kc SRES Choose A5/1 encrypted data
14
UMTS: 3G Autentizace • Překonává známé slabiny GSM autentizace: – Vzájemná autentizace – Není možné použít vícekrát stejnou výzvu – Kontrola integrity dat • Často užívaný algoritmus: Milenage
15
3G Autentizace – Bezpečnostní vlastnosti • User Identity Confidentiality – Používání dočasných identit, šifrování
• Entity Authentication – Autentizace uživatele – Autentizace sítě
• Confidentiality – Generování klíče pro šifrování
• Data Integrity – Generování klíče pro kontrolu integrity
16
Javacard applety na SIM • interoperabilní aplikace • bezpečnost – k datům appletu nemají ostatní applety přístup – mohou mít vlastní PIN a tajné klíče
• SIMToolkit – uživatelské rozhraní – komunikace se serverem přes binární SMS
17
Podpora kryptografie v Javacard • bezpečné uložení klíčů – speciální třídy pro různé typy klíčů • generátor náhodných čísel • message digest – md5, sha1, sha2, ripe md-160 • šifrování – DES, TDES, AES, RSA • na SIM nemusí být všechny algoritmy implementované 18
SIM Toolkit • příjem a odesílání binárních SMS – až 140 Bytů v 1 SMS – možnost konkatenovaných SMS – možnost zašifrovaných a podepsaných SMS • informace o buňce, ve které applet právě je • uživatelské rozhraní – menu, get input, display text, ...
19
Aplikace: mobilní bankovnictví • Aplikace pro správu bankovního účtu z mobilního telefonu • Využívá možnosti poskytované SIMToolkit technologií: – uživatelské rozhraní – šifrované SMS – kryptografické operace na SIM – bezpečné uložení tajného klíče
20
Děkuji za pozornost
• Odkazy: – – – –
http://www.gsm-security.net/ http://www.gsmworld.com/ ftp://ftp.3gpp.org/ http://wiki.thc.org/gsm