1、EAP-SIM,1,EAP-SIM,EAP-SIM,2,Definition(定义),EAP-SIM is an Extensible Authentication Protocol (EAP) RFC3748 mechanism for authentication and session key distribution using the Global System for Mobile communications (GSM) Subscriber Identity Module (SIM). 用GSM-SIM卡作为EAP的认证和密匙分发机制,EAP-SIM,3,EAP Introdu
2、ction (简介),EAP is an authentication framework which supports multiple authentication methods. 支持多种认证机制的认证框架。EAP typically runs directly over data link layers such as Point-to-Point Protocol (PPP) or IEEE 802 EAP 通常直接运行在数据链路层如 PPP或IEEE 802,EAP-SIM,4,EAP Introduction (简介),EAP permits the use of a back
3、end authentication server,with the authenticator acting as a pass-through for some or all methods and peers. EAP 允许使用后台认证服务器,把认证端作为一些或全部认证机制的转发者。Conceptually, EAP implementations consist of the following components: 从概念上讲,EAP的实现有下面这些组件构成。,EAP-SIM,5,IEEE 802.1X EAPOL,Peer(被认证者),Authenticator (认证者),Lo
4、wer Layer,EAP-SIM,6,IEEE 802.1X EAPOL,Peer(被认证者),Pass-through Authenticator (认证者),Authentication Server(认证服务器),Radius Protocol,AAA:Authentication(认证), Authorization (授权), and Accounting (记帐),Lower Layer,EAP-SIM,7,GSM authentication(认证),RAND is a 128-bit random challenge issued from the base station
5、to the mobile. RAND 是基站发给移动台(手机)的128比特长随机数。SRES is a 32-bit response generated by A3 issued from the mobile to the base station SRES 是移动台(手机)发给基站的32比特长响应,由A3生成。,EAP-SIM,8,GSM authentication(认证),Kc is a 64-bit Cipher Key, used for A5. Kc是64比特长密匙,由A8生成用于数据加密(A5)。Ki is the SIMs 128-bit individual subsc
6、riber key. Ki是128比特长SIM卡的密匙(拥有标识)。A3/A8 are specified by each operator rather than being fully standardized,but usually implemented together as COMP128. A3/A8定义了算法的输入输出,具体实现由厂商决定,实际上厂商都采用了COMP128,它同时实现了A3,A8。,EAP-SIM,9,EAP-SIM Introduction(简介),builds on underlying GSM mechanisms 构建在GSM认证机制之上。,EAP-SI
7、M,10,EAP-SIM Introduction(简介),Provides mutual authentication 支持相互认证。several RAND challenges are used for generating several 64-bit Kc keys, which are combined to constitute stronger keying material. 多次挑战生成多个Kc,组合起来生成更强的相关密匙。,EAP-SIM,11,EAP-SIM Introduction(简介),EAP-SIM specifies optional support for
8、protecting the privacy of subscriber identity using the same concept as GSM, which is using pseudonyms/temporary identifiers. EAP-SIM支持用户身份保密(可选)。It also specifies an optional fast re-authentication procedure. 支持快速重复认证(可选),EAP-SIM,12,EAP-SIM Full Authentication Procedure(完全认证过程),Peer Authenticator |
9、 EAP-Request/Identity | | | | | EAP-Request/SIM/Start (AT_VERSION_LIST) | | | | | EAP-Request/SIM/Challenge (AT_RAND, AT_MAC) | | | | | EAP-Success | |-| | |,EAP-SIM,13,Key Generation,MK = SHA1(Identity|n*Kc| NONCE_MT| Version List| Selected Version)K_aut , K_encr , MSK and EMSK are derived from MK
10、using Pseudo-Random number Function (PRF)Request AT_MAC = HMAC-SHA1-128(K_aut, EAP packet| NONCE_MT)Response AT_MAC = HMAC-SHA1-128(K_aut,EAP packet| n*SRES) In the formula above, the | character denotes concatenation. Nonce A value that is used at most once or that is never repeated within the same
11、 cryptographic context. MAC Message Authentication Code,EAP-SIM,14,Indication of vulnerabilities(弱点),The security of the A3 and A8 algorithms is important to the security of EAP-SIM. Some A3/A8 algorithms have been compromised; see for example GSM Cloning for discussion about the security of COMP-12
12、8 version 1. Note that several revised versions of the COMP-128 A3/A8 algorithm have been devised after the publication of these weaknesses and that the publicly specified GSM-MILENAGE 3GPP TS 55.205 algorithm is not vulnerable to any known attacks. A3/A8算法的安全性对EAP-SIM是至关重要的。COMP128-v1已经被破解(当前市面上大部分
13、SIM卡用的是COMP128-v1),修订过的COMP128 v2,v3以及公开标准的GSM-MILENAGE,当前还没有方法攻破。,EAP-SIM,15,Indication of vulnerabilities(弱点),Mutual Authentication and Triplet Exposure EAP-SIM provides mutual authentication. The peer believes that the network is authentic because the network can calculate a correct AT_MAC value
14、in the EAP-Request/SIM/Challenge packet. To calculate the AT_MAC it is sufficient to know the RAND and Kc values from the GSM triplets (RAND, SRES, Kc) used in the authentication. Because the network selects the RAND challenges and the triplets, an attacker that knows n (2 or 3) GSM triplets for the
15、 subscriber is able to impersonate a valid network to the peer. EAP-SIM支持双向认证。被认证者相信认证者是因为认证者能计算出正确的AT_MAC,要计算AT_MAC知道RAND和Kc就足够了。因为是认证者选择RAND,攻击者只需知道几个(2-3)Kc就可以假装是一个有效的认证者。,EAP-SIM,16,Security Claims(安全声明),Auth. mechanism: EAP-SIM is based on the GSM SIM mechanism, which is a challenge/response au
16、thentication and key agreement mechanism based on a symmetric 128-bit pre-shared secret. EAP-SIM also makes use of a peer challenge to provide mutual authentication. 认证机理:EAP-SIM基于GSM-SIM的认证机理,它是一种基于挑战/响应的认证和密匙分发机制,需要一个预先共享的128比特长对称密匙(Ki)。EAP-SIM通过被认证者发挑战(NONCE_MT)支持双向认证。,EAP-SIM,17,Security Claims(
17、安全声明),Ciphersuite negotiation: NoMutual authentication: YesIntegrity protection: Yes Replay protection: YesConfidentiality: Yes, except method specific success and failure indicationsKey derivation: YesDescription of key hierarchy:(page 13)Dictionary attack protection: N/AFast reconnect: YesCryptogr
18、aphic binding: N/ASession independence: Yes Fragmentation: NoChannel binding: NoIndication of vulnerabilities:(page 14,15),EAP-SIM,18,Example,Using EAP-SIM for WLAN Authentication,EAP-SIM,19,Requirements(需求清单),Windows XP built-in supplicantEAP-SIM plug-in for the Windows XP built-in 802.1x Supplican
19、t (http:/)PC/SC compatible smart card reader (QWY LowSpeed CCID smart card reader)Wireless Access Point support RADIUS (TP-LINK TL-WR541G)RADIUS server support EAP-SIM (FreeRadius 1.0.4),EAP-SIM,20,Network topological diagram (网络拓扑图),simtriplets.dat,EAP-SIM,21,SIM Reader Installation,Download the dr
20、iver from http:/Insert the USB smart card reader in a USB port,specify the location of the driver.Insert your sim-card into smart card reader,run agsm2.exe to make sure you can access the sim-card.,EAP-SIM,22,Configure freeradius,Download freeradius-1.0.4 from http:/www.freeradius.org cd freeradius-
21、1.0.4; Configure;make install; cd srcmodulesrlm_sim_files; make install.Add the following to radiusd.conf: In modules , add: sim_files simtriplets = $raddbdir/simtriplets.dat in eap add sim In authorized , add: sim_files before eap.Add the following to clients.conf client 192.168.1.0/24 secret= eap-
22、sim shortname= eap-sim,EAP-SIM,23,Generate simtriplets.dat,Run agsm2.exe.Copy IMSI,RAND,SRES,Kc to simtriplets.dat, at least 5 entries.simtriplets.dat#IMSI RAND SRES Kc1460001551807128,52632FE305874545AC9936926D796256,8184a227,5F05b4a2CE8844001460001551807128,ECEB1577E275414e9DD9EF98B277E54A,00fb682
23、e,B6c0de73256c0400,Make sure insert 1,EAP-SIM,24,Configure AP,EAP-SIM,25,EAP-SIM plug-in installation,Download wEAP-SIM from http:/Install.Enable tracing. EnableConsoleTracing : set HKEY_LOCAL_MACHINESOFTWAREMICROSOFTTRACING EnableConsoleTracing to nozero set HKEY_LOCAL_MACHINESOFTWAREMICROSOFTTRACI
24、NG wEAP-SIM EnableConsoleTracing to nozero EnableFileTracing: set HKEY_LOCAL_MACHINESOFTWAREMICROSOFTTRACING wEAP-SIM EnableFileTracing to nozero,EAP-SIM,26,Authenticate the client,EAP-SIM,27,References,http:/ RFC3748 Extensible Authentication Protocol (EAP)S5.Brumley-comp128.pdfGSM Cloning http:/www.isaac.cs.berkeley.edu/isaac/gsm.html,EAP-SIM,28,问题 & 讨论,