28
EAP-SIM 1 EAP-SIM Using EAP-SIM for WLAN Au thentication [email protected] 2005-9-13

EAP-SIM1 Using EAP-SIM for WLAN Authentication [email protected] 2005-9-13

Embed Size (px)

Citation preview

Page 1: EAP-SIM1 Using EAP-SIM for WLAN Authentication yliqiang@gmail.com 2005-9-13

EAP-SIM 1

EAP-SIM

Using EAP-SIM for WLAN Authentication

[email protected]

2005-9-13

Page 2: EAP-SIM1 Using EAP-SIM for WLAN Authentication yliqiang@gmail.com 2005-9-13

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 的认证和密匙分发机制

Page 3: EAP-SIM1 Using EAP-SIM for WLAN Authentication yliqiang@gmail.com 2005-9-13

EAP-SIM 3

EAP Introduction ( 简介 )

• EAP is an authentication framework which supports multiple authentication methods.

支持多种认证机制的认证框架。• EAP typically runs directly over data link lay

ers such as Point-to-Point Protocol (PPP) or IEEE 802

EAP 通常直接运行在数据链路层如 PPP 或 IEEE 802

Page 4: EAP-SIM1 Using EAP-SIM for WLAN Authentication yliqiang@gmail.com 2005-9-13

EAP-SIM 4

EAP Introduction ( 简介 )

• EAP permits the use of a backend 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 的实现有下面这些组件构成。

Page 5: EAP-SIM1 Using EAP-SIM for WLAN Authentication yliqiang@gmail.com 2005-9-13

EAP-SIM 5

...EAP-MD5 EAP-TLS EAP-SIM

EAP Auth.

EAP Layer

PPP

802.2 Logical Link

IP802.3 802.4 802.5802.6 802.11 ...

...

EAP Peer

EAP Layer

PPP

802.2 Logical Link

IP802.3 802.4 802.5802.6 802.11 ...

EAP-MD5 EAP-TLS EAP-SIM

IEEE 802.1X EAPOLIEEE 802.1X EAPOL

Peer( 被认证者 ) Authenticator ( 认证者 )

Lower Layer

Page 6: EAP-SIM1 Using EAP-SIM for WLAN Authentication yliqiang@gmail.com 2005-9-13

EAP-SIM 6

...

EAP Peer

EAP Layer

PPP

802.2 Logical Link

IP802.3 802.4 802.5802.6 802.11 ...

EAP-MD5 EAP-TLS EAP-SIM

IEEE 802.1X EAPOLIEEE 802.1X EAPOL

Peer( 被认证者 ) Pass-through Authenticator ( 认证者 )

EAP Auth.

EAP Layer

PPP

802.2 LogicalLink

IP802.3 802.4 802.5802.6 802.11 ...

EAP Auth.

EAP Layer

AAA/IP

...EAP-MD5 EAP-TLS EAP-SIM

EAP Auth.

EAP Layer

AAA/IP

Authentication Server

( 认证服务器 )

Radius P

rotocolAAA:Authentication( 认证) , Authorization ( 授权 ), and Accounting ( 记帐 )

Lower Layer

Page 7: EAP-SIM1 Using EAP-SIM for WLAN Authentication yliqiang@gmail.com 2005-9-13

EAP-SIM 7

GSM authentication( 认证 )

• RAND is a 128-bit random challenge issued from the base station 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 生成。

SIM

Ki

A3/A8

Base Station

SRES

Kc

RAND

Page 8: EAP-SIM1 Using EAP-SIM for WLAN Authentication yliqiang@gmail.com 2005-9-13

EAP-SIM 8

GSM authentication( 认证 )

• Kc is a 64-bit Cipher Key, used for A5.

Kc 是 64 比特长密匙,由 A8 生成用于数据加密 (A5) 。• Ki is the SIM’s 128-bit individual subscriber key.

Ki 是 128 比特长 SIM 卡的密匙 ( 拥有标识 ) 。• A3/A8 are specified by each operator rather than being fully

standardized,but usually implemented together as COMP12

8.

A3/A8 定义了算法的输入输出,具体实现由厂商决定,实际上厂商都采用了 COMP128 ,它同时实现了 A3,A8 。

Page 9: EAP-SIM1 Using EAP-SIM for WLAN Authentication yliqiang@gmail.com 2005-9-13

EAP-SIM 9

EAP-SIM Introduction( 简介 )

• builds on underlying GSM mechanisms

构建在 GSM 认证机制之上。

PeerSIMCard

Authenticator AAA/RADIUS

GSM/MAP/SS7Gateway

SS7 NetworkGSM AuthenticationCenter

Page 10: EAP-SIM1 Using EAP-SIM for WLAN Authentication yliqiang@gmail.com 2005-9-13

EAP-SIM 10

EAP-SIM Introduction( 简介 )

• Provides mutual authentication 支持相互认证。• several RAND challenges are used for gene

rating several 64-bit Kc keys, which are combined to constitute stronger keying material.

多次挑战生成多个 Kc, 组合起来生成更强的相关密匙。

Page 11: EAP-SIM1 Using EAP-SIM for WLAN Authentication yliqiang@gmail.com 2005-9-13

EAP-SIM 11

EAP-SIM Introduction( 简介 )

• EAP-SIM specifies optional support for 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-authentic

ation procedure. 支持快速重复认证 ( 可选 )

Page 12: EAP-SIM1 Using EAP-SIM for WLAN Authentication yliqiang@gmail.com 2005-9-13

EAP-SIM 12

EA

P-S

IM F

ull Authentica

tion Procedure(

完全认证

过程)

Peer Authenticator | EAP-Request/Identity | |<---------------------------------------------------------| | | | EAP-Response/Identity | |--------------------------------------------------------->| | | | EAP-Request/SIM/Start (AT_VERSION_LIST) | |<---------------------------------------------------------| | | | EAP-Response/SIM/Start (AT_NONCE_MT, AT_SELECTED_VERSION)| |--------------------------------------------------------->| | | | EAP-Request/SIM/Challenge (AT_RAND, AT_MAC) | |<---------------------------------------------------------| +-------------------------------------+ | | Peer runs GSM algorithms, verifies | | | AT_MAC and derives session keys | | +-------------------------------------+ | | EAP-Response/SIM/Challenge (AT_MAC) | |--------------------------------------------------------->| | | | EAP-Success | |<---------------------------------------------------------| | |

Page 13: EAP-SIM1 Using EAP-SIM for WLAN Authentication yliqiang@gmail.com 2005-9-13

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 using Pseudo-Random numbe

r 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 t

he same cryptographic context. MAC Message Authentication Code

Page 14: EAP-SIM1 Using EAP-SIM for WLAN Authentication yliqiang@gmail.com 2005-9-13

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-128 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 已经被破解 ( 当前市面上大部分 SIM 卡用的是 COMP128-v1), 修订过的 COMP128 v2,v3 以及公开标准的 GSM-MILENAGE, 当前还没有方法攻破。

Page 15: EAP-SIM1 Using EAP-SIM for WLAN Authentication yliqiang@gmail.com 2005-9-13

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 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 subscriber is able to impersonate a valid network to the peer.

EAP-SIM 支持双向认证。被认证者相信认证者是因为认证者能计算出正确的 AT_MAC, 要计算 AT_MAC 知道 RAND 和 Kc 就足够了。因为是认证者选择 RAND ,攻击者只需知道几个 (2-3)Kc 就可以假装是一个有效的认证者。

Page 16: EAP-SIM1 Using EAP-SIM for WLAN Authentication yliqiang@gmail.com 2005-9-13

EAP-SIM 16

Security Claims( 安全声明 )

• Auth. mechanism: EAP-SIM is based on the GSM SIM mechanism, which is a challenge/response authentication 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) 支持双向认证。

Page 17: EAP-SIM1 Using EAP-SIM for WLAN Authentication yliqiang@gmail.com 2005-9-13

EAP-SIM 17

Security Claims( 安全声明 )

• Ciphersuite negotiation: No• Mutual authentication: Yes• Integrity protection: Yes • Replay protection: Yes• Confidentiality: Yes, except method specific success and failure indications• Key derivation: Yes• Description of key hierarchy:(page 13)• Dictionary attack protection: N/A• Fast reconnect: Yes• Cryptographic binding: N/A• Session independence: Yes • Fragmentation: No• Channel binding: No• Indication of vulnerabilities:(page 14,15)

Page 18: EAP-SIM1 Using EAP-SIM for WLAN Authentication yliqiang@gmail.com 2005-9-13

EAP-SIM 18

Example

Using EAP-SIM for WLAN Authentication

Page 19: EAP-SIM1 Using EAP-SIM for WLAN Authentication yliqiang@gmail.com 2005-9-13

EAP-SIM 19

Requirements( 需求清单 )

• Windows XP built-in supplicant• EAP-SIM plug-in for the Windows XP built-in 80

2.1x Supplicant (http://weap.sf.net)• PC/SC compatible smart card reader (QW

Y LowSpeed CCID smart card reader)• Wireless Access Point support RADIUS (T

P-LINK TL-WR541G)• RADIUS server support EAP-SIM (FreeRad

ius 1.0.4)

Page 20: EAP-SIM1 Using EAP-SIM for WLAN Authentication yliqiang@gmail.com 2005-9-13

EAP-SIM 20

Network topological diagram (网络拓扑图 )

simtriplets.dat

Page 21: EAP-SIM1 Using EAP-SIM for WLAN Authentication yliqiang@gmail.com 2005-9-13

EAP-SIM 21

SIM Reader Installation

• Download the driver from http://agsm.sf.net

• 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.

Page 22: EAP-SIM1 Using EAP-SIM for WLAN Authentication yliqiang@gmail.com 2005-9-13

EAP-SIM 22

Configure freeradius

• Download freeradius-1.0.4 from http://www.freeradius.org

• cd freeradius-1.0.4; Configure;make install; cd src\modules\rlm_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-sim shortname= eap-sim}

Page 23: EAP-SIM1 Using EAP-SIM for WLAN Authentication yliqiang@gmail.com 2005-9-13

EAP-SIM 23

Generate sim

triplets.dat

•Run agsm2.exe.

•Copy IMSI,RAND,SRES,Kc to simtriplets.dat, at least 5 entries.simtriplets.dat#IMSI RAND SRES Kc

1460001551807128,52632FE305874545AC9936926D796256,8184a227,5F05b4a2CE884400

1460001551807128,ECEB1577E275414e9DD9EF98B277E54A,00fb682e,B6c0de73256c0400

…………Make sure

insert 1

Page 24: EAP-SIM1 Using EAP-SIM for WLAN Authentication yliqiang@gmail.com 2005-9-13

EAP-SIM 24

Configure AP

Page 25: EAP-SIM1 Using EAP-SIM for WLAN Authentication yliqiang@gmail.com 2005-9-13

EAP-SIM 25

EAP-SIM plug-in installation

• Download wEAP-SIM from http://weap.sf.net• Install.• Enable tracing. EnableConsoleTracing :

set HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\TRACING\ EnableConsoleTracing to nozero

set HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\TRACING\ wEAP-SIM\ EnableConsoleTracing to nozero

EnableFileTracing: set HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\TRACING\

wEAP-SIM\ EnableFileTracing to nozero

Page 26: EAP-SIM1 Using EAP-SIM for WLAN Authentication yliqiang@gmail.com 2005-9-13

EAP-SIM 26

Authenticate the client

Page 27: EAP-SIM1 Using EAP-SIM for WLAN Authentication yliqiang@gmail.com 2005-9-13

EAP-SIM 27

References

• http://www.intel.com/technology/itj/2005/volume09issue01/art07_next_generation/p05_simpl_network.htm

• draft-haverinen-pppext-eap-sim-16.txt• [RFC3748] Extensible Authentication Protocol (E

AP)• S5.Brumley-comp128.pdf• [GSM Cloning] http://www.isaac.cs.berkeley.edu/i

saac/gsm.html

Page 28: EAP-SIM1 Using EAP-SIM for WLAN Authentication yliqiang@gmail.com 2005-9-13

EAP-SIM 28

问题 & 讨论