secure authentication system for public wlan roaming

1
Secure Authentication System for Public WLAN Roaming Ana Sanz Merino (†) , Manish Shah (†) , Yasuhiko Matsunaga (‡) , Takashi Suzuki (††) , Randy H. Katz (†) (†) University of California, Berkeley {asanz,manish,randy}@EECS.Berkeley.EDU, (‡) NEC Corporation [email protected], (††) NTT DoCoMo [email protected] 1 C hallenges and O urSolutions C onfederate service providers underdifferenttrustlevels and w ith differentauthentication schem es to offerw idercoverage Inter-system handoverw ith m inim al userintervention SSO R oam ing w ith Authentication Adaptation Selectproperauthentication m ethod and protectprivacy ofuser inform ation perW LAN provider Policy Engine C lient Avoid theftofw ireless service w ithoutassum ing pre-shared secret betw een userand netw ork L2/W eb C om pound Authentication U ser W LAN Service Provider ID Provider (ISPs,C ard C om panies) Strong Trust Strong Trust N o Trust W eak Trust W LAN Service Provider 4 A uth A daptation U serInterface Policy Engine C ontrol autom atic subm ission ofuserauthentication inform ation according to com m unication context Authentication/Authorization flow adaptation W LAN Service Provider User Term inal Netw ork Access Client W eb Brow ser Policy Check EAP/ 802.1X Policy Repository Context End User Auth Info. Repository Netw ork Access Server Capability Policy Engine Policy R ule Form at <policy> <rule> <authn_info href=”U serN am e”/> <authn_info href=”U serPassw ord”/> <authn_info href=”ID PN am e”/> <authn_info href=”C ontractN um ber”/> <subject> <id> vancouver.cs.berkeley.edu_SP </id> </subject> <provisional_action nam e=”user_acknow ledgem ent”/> </rule> <options> <chosen_idp>ID ProviderC </> <chosen_charging_option> Prepaid basic A </> <chosen_auth_m ethod>R adius</> <Use_N ext_Tim e>TR U E</> <Last_U pdate_Tim e> 1900-01-01T00:00:00Z</> <H ave_account_w ith> <ID P_N am e> … </> … </H ave_account_w ith> <D o_not_have_account_w ith>… </> </options> </policy> 6 L2/W eb C om pound A uthentication Access Point Client RAD IUS/W eb Server (1) 802.1x TLS guest authentication External Netw ork (2)Establish L2 Session Key (3) W eb Auth (w ith L2 session key digest) (4)Firew all Control •Preventtheftofservice,eavesdropping,m essage alteration •D on’tw ork forL2 D oS attack – outofscope A uthentication A daptation A rchitecture C lient A uthentication N egotiation Server W eb Server A uthentication N egotiation Client W eb Brow ser Policy Engine HTTP End User External Authentication Server W eb A uthentication Portal ANP Service Provider A uthentication M anager Authn Capabilities A uthn Capabilities M anager U serTerm inal (3)S elect authentication m ethod according to user’s preferences W LAN Service Provider (1)A uthentication C apabilities Q uery (2)A uthentication C apabilities Statem ent : -provider id -authentication m ethods -charging options -required user inform ation (4)A uthentication Q uery : -selected authn.m ethod -selected charging option -user inform ation (5)A uthenticate the user (6)A uthentication S tatem ent 3 A uthentication C apabilities Statem entExam ple <anp: A uthnCapabilitiesStatem entLastUpdateInstant="1900-01-01T00:00:00Z"> <sam l:Subject> <sam l: Nam eIdentifier >m y_service_provider_1</saml:NameIdentifier> <sam l:SubjectConfirm ation> <saml:ConfirmationM ethod>… </saml:ConfirmationM ethod> <ds:K eyInfo>...</ds:K eyInfo> </sam l:SubjectConfirm ation> </sam l:Subject> <anp:ID PG roup> <anp:ID PList> <anp: ID PN am e >m y_identity_provider_1</anp:IDPName> </anp:ID PList> <anp: C hargingO ptionID R eference >m onthly_rate </anp:ChargingOptionID Reference> <anp: A uthnM ethodID R eference >radius </anp:AuthnM ethodID Reference> <anp: A uthnM ethodID R eference >liberty</anp:AuthnM ethodIDReference> </anp:ID PG roup> <anp: A uthnM ethod> <anp:AuthnM ethodID>radius </anp:AuthnM ethodID> <anp:UserInfoDesignatorAttributeNam e ="U serN am e"AttributeNam eSpace="m y_userinfo_nam espace"/> <anp:UserInfoDesignatorAttributeNam e ="U serPassw ord"AttributeN am eSpace="m y_userinfo_nam espace"/> </anp:AuthnMethod> <anp: A uthnM ethod> <anp:AuthnM ethodID>liberty<anp:AuthnM ethodID> <anp:UserInfoDesignatorAttributeNam e="IDPNam e"AttributeNam eSpace="m y_userinfo_nam espace"/> </anp:AuthnMethod> <anp: ChargingO ption> <anp:ChargingOptionID >m onthly_rate </anp:ChargingO ptionID > <anp:ChargingIntervalO rder="1"> <anp: U nitPrice >39.95</anp:U nitPrice> <anp:Tim eUnitUnit ="M onth"> <anp: Period>1</anp:Period> </anp:Tim eUnit> <anp:ChargingMode>Constant</anp:ChargingM ode> </anp:ChargingInterval> <anp:UserInfoDesignatorAttributeNam e ="ContractNum ber"AttributeN am eSpace="m y_userinfo_nam espace"/> <anp: ServiceID R eference >private_contents</anp:ServiceIDReference> </anp:ChargingOption> <anp: Service > <anp:ServiceID >private_contents</anp:ServiceID> <anp:ServiceD escription> A ccessto private contentsthrough the provider’sw eb portal</anp:ServiceD escription> </anp:Service> </anp:AuthnCapabilitiesStatem ent> W LA N Secure R oam ing Testbed Liberty id provider WinXPClient Identity Provider # 2 R adius HTTPS Service Provider # 1 RADIUS W eb Portal R adius 802.1x RADIUS Service Provider # 2 SOAP HTTPS Liberty id provider Identity Provider # 1 Liberty Service provider ANP Server Firew all R adius Linux Client ANP Client Policy Engine Roam ing Client R adius 802.1x W eb Portal Liberty Service provider ANP Server ANP Fire wall X suppli cant 473 Soda H all A uth M anager A uth M anager 8 Liberty A lliance A uthentication ID ProviderSelection Auth R esponse Gate-open SSL setup G ive userfull-access Authentication Process R edirectto ID Provider Authentication R equest U serCredentials R equest {U serID ,Passw ord}Pair R edirectto W LAN Providerw ith Auth R esponse Login Succeeded Gate-open O pen a hole in firew all rule G ive userlim ited access to AA A-H server W eb Brow ser/ AN P C lient Authentication M anager W LAN Service Provider(a) ID Provider AA A-H (Liberty id provider) PacketFilter & R edirect M obile C lient SSL setup Authentication C onfirm ation (SO AP) 9 C onclusions 1. Secure public W LAN roam ing m ade possible across independent adm inistrative dom ains,differentauthentication schem e 2. Exploits industry-standard authentication architectures :R adius, Liberty alliance 3. Policy Engine reflects userauthentication schem e preference and protects privacy ofuserinform ation 4. C om pound L2/W eb authentication ensures cryptographically- protected access 5. C onfirm ed w ith prototype ,m easured perform ance show s reasonable delay forpractical use 0.250 A uthn.C apabilities Announcem ent R edirect-based (Liberty) Proxy-based (R A D IUS) 2.174 0.905 0.925 0.924 Total 0.124 Link Layer(802.1x) A uthentication 0.255 Policy Engine 1.545 0.276 0.296 0.295 W eb A uthentication Roam ing Local Roam ing Local (Units:sec)

Upload: zamir

Post on 07-Jan-2016

44 views

Category:

Documents


1 download

DESCRIPTION

Secure Authentication System for Public WLAN Roaming Ana Sanz Merino (†) , Manish Shah (†) , Yasuhiko Matsunaga (‡) , Takashi Suzuki (††) , Randy H. Katz (†) (†) University of California, Berkeley {asanz,manish,randy}@EECS.Berkeley.EDU, - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Secure Authentication System for Public WLAN Roaming

Secure Authentication System for Public WLAN RoamingAna Sanz Merino(†), Manish Shah(†), Yasuhiko Matsunaga(‡), Takashi Suzuki (††), Randy H. Katz(†)

(†)University of California, Berkeley {asanz,manish,randy}@EECS.Berkeley.EDU,(‡)NEC Corporation [email protected], (††)NTT DoCoMo [email protected]

1

Challenges and Our Solutions

• Confederate service providers under different trust levels and with different authentication schemes to offer wider coverage

• Inter-system handover with minimal user interventionSSO Roaming with Authentication Adaptation

• Select proper authentication method and protect privacy of user information per WLAN provider

Policy Engine Client

• Avoid theft of wireless service without assuming pre-shared secret between user and network

L2/Web Compound Authentication

User

WLAN Service Provider

ID Provider

(ISPs, Card Companies)

Strong Trust

Strong Trust

No Trust

Weak Trust

WLAN Service Provider

4

Auth Adaptation User Interface

5

Policy Engine• Control automatic submission of user authentication

information according to communication context• Authentication/Authorization flow adaptation

WLANServiceProviderUser Terminal

NetworkAccessClient

WebBrowser

PolicyCheck

EAP/802.1X

PolicyRepository

Context

End User

Auth Info.Repository

NetworkAccessServer

Capability

Policy Engine

Policy Rule Format<policy>

<rule><authn_info href=”UserName”/><authn_info href=”UserPassword”/><authn_info href=”IDPName”/><authn_info

href=”ContractNumber”/><subject>

<id>vancouver.cs.berkeley.edu_SP</id>

</subject><provisional_action

name=”user_acknowledgement”/></rule><options>

<chosen_idp>ID Provider C</><chosen_charging_option>

Prepaid basic A</><chosen_auth_method>Radius</><Use_Next_Time>TRUE</><Last_Update_Time>

1900-01-01T00:00:00Z</><Have_account_with>

<IDP_Name> … </> …</Have_account_with><Do_not_have_account_with>…</>

</options></policy> 6

L2/Web Compound Authentication

Access PointClient

RADIUS/Web Server(1) 802.1x TLS guest

authentication

External Network

(2) Establish L2 Session Key

(3) Web Auth (with L2 session

key digest)

(4)Firewall Control

• Prevent theft of service, eavesdropping, message alteration

• Don’t work for L2 DoS attack – out of scope

2

Authentication Adaptation Architecture

Client

AuthenticationNegotiation

Server

WebServer

AuthenticationNegotiation Client

WebBrowser

PolicyEngine

HTTP

End User

ExternalAuthentication

Server

WebAuthentication

Portal

ANP

ServiceProvider

AuthenticationManager

AuthnCapabilities

Authn CapabilitiesManager

User Terminal

(3)Select authentication

method according to user’s preferences

WLAN Service Provider

(1) Authentication Capabilities Query

(2) Authentication Capabilities Statement:- provider id- authentication methods- charging options- required user information

(4) Authentication Query:- selected authn. method- selected charging option- user information (5) Authenticate the

user(6) Authentication Statement

3

Authentication Capabilities Statement Example <anp:AuthnCapabilitiesStatement LastUpdateInstant="1900-01-01T00:00:00Z">

<saml:Subject><saml:NameIdentifier>my_service_provider_1</saml:NameIdentifier><saml:SubjectConfirmation>

<saml:ConfirmationMethod>…</saml:ConfirmationMethod><ds:KeyInfo>...</ds:KeyInfo>

</saml:SubjectConfirmation></saml:Subject><anp:IDPGroup>

<anp:IDPList><anp:IDPName>my_identity_provider_1</anp:IDPName>

</anp:IDPList><anp:ChargingOptionIDReference>monthly_rate</anp:ChargingOptionIDReference><anp:AuthnMethodIDReference>radius</anp:AuthnMethodIDReference><anp:AuthnMethodIDReference>liberty</anp:AuthnMethodIDReference>

</anp:IDPGroup><anp:AuthnMethod>

<anp:AuthnMethodID>radius</anp:AuthnMethodID><anp:UserInfoDesignator AttributeName="UserName" AttributeNameSpace="my_userinfo_namespace"/><anp:UserInfoDesignator AttributeName="UserPassword" AttributeNameSpace="my_userinfo_namespace"/>

</anp:AuthnMethod><anp:AuthnMethod>

<anp:AuthnMethodID>liberty<anp:AuthnMethodID><anp:UserInfoDesignator AttributeName="IDPName" AttributeNameSpace="my_userinfo_namespace"/>

</anp:AuthnMethod><anp:ChargingOption>

<anp:ChargingOptionID>monthly_rate</anp:ChargingOptionID><anp:ChargingInterval Order="1">

<anp:UnitPrice>39.95</anp:UnitPrice><anp:TimeUnit Unit="Month">

<anp:Period>1</anp:Period></anp:TimeUnit><anp:ChargingMode>Constant</anp:ChargingMode>

</anp:ChargingInterval><anp:UserInfoDesignator AttributeName="ContractNumber" AttributeNameSpace="my_userinfo_namespace"/><anp:ServiceIDReference>private_contents</anp:ServiceIDReference>

</anp:ChargingOption><anp:Service>

<anp:ServiceID>private_contents</anp:ServiceID><anp:ServiceDescription> Access to private contents through the provider’s web portal</anp:ServiceDescription>

</anp:Service></anp:AuthnCapabilitiesStatement>

7

WLAN Secure Roaming Testbed

Liberty idprovider

WinXP Client

Identity Provider #2

Radius

HTTPS

Service Provider #1

RADIUS

Web Portal

Radius

802.1x

RADIUS

Service Provider #2

SOAP

HTTPS

Liberty idprovider

Identity Provider #1

Liberty Serviceprovider

ANPServer Firewall

Radius

Linux Client ANPClient

PolicyEngine

RoamingClient

Radius

802.1x

Web Portal

Liberty Serviceprovider

ANPServer

ANP

Firewall

Xsupplicant

473 Soda Hall

Auth Manager

Auth Manager

8

Liberty Alliance Authentication

ID Provider Selection

Auth Response

Gate-open

SSL setup

Give user full-access

Authentication Process

Redirect to ID Provider

Authentication Request

User Credentials Request

{User ID, Password} Pair

Redirect to WLAN Provider with Auth Response

Login Succeeded

Gate-open

Open a hole in firewall ruleGive user limited access to AAA-H server

Web Browser/ ANP Client

Authentication Manager

WLAN Service Provider (a) ID Provider

AAA-H(Liberty id provider)

Packet Filter& Redirect

Mobile Client

SSL setup

Authentication Confirmation (SOAP)

9

Conclusions1. Secure public WLAN roaming made possible across independent

administrative domains, different authentication scheme2. Exploits industry-standard authentication architectures: Radius,

Liberty alliance3. Policy Engine reflects user authentication scheme preference and

protects privacy of user information4. Compound L2/Web authentication ensures cryptographically-

protected access5. Confirmed with prototype, measured performance shows

reasonable delay for practical use

0.250Authn. Capabilities

Announcement

Redirect-based (Liberty)Proxy-based (RADIUS)

2.1740.9050.9250.924Total

0.124Link Layer (802.1x) Authentication

0.255Policy Engine

1.5450.2760.2960.295Web Authentication

RoamingLocalRoamingLocal

(Units: sec)