Method of
identifying mobile
devices
Srinivas Tenneti
Motivation for the problem
 Enterprises want to deploy context
aware access control method.
Device?
Device
Who?
When?
Where?
Where
Who
EMPLOYEE
How?
How
Wi-Fi
At work
CONTRACTOR
At home
Mobile
3G/4G
 Context aware access control is to grant
policy to different resources based on
their type, location, identity, and the
operating system or applications running
on the endpoint devices.
 Traditional network access control
methods relied on giving access mainly
based on whether the device complied
with the policy or not.
 Identifying the device and the user is
very critical for deploying context aware
access control method.
GUEST
TECHSEC-2010
14657_05_2008_c1
© 2009 Cisco Systems, Inc. All rights reserved.
Cisco Public
2
Network Access High Level Diagram
Data Center/Service Block
Remote Worker
WAN
ACS
Linksys AP
ACS
ISR 3945
MDM
MSE 3300
6K or 7K
Wireless
End points
6K
Active
Directory
CA Server
4K
ISE
RSA Auth
Mgr
4500
3750-X
3560-X
AP 1142
TECHSEC-2010
14657_05_2008_c1
AP 1142
AP 1142
Wireless End Points
© 2009 Cisco Systems, Inc. All rights reserved.
Cisco Public
3
Password based authentication
Bob
Alice
I want to talk
password
password
Ok, what is your username
Here is my user name
Respond to the challenge K
Here is response = MD5(K)
TECHSEC-2010
14657_05_2008_c1
© 2009 Cisco Systems, Inc. All rights reserved.
Cisco Public
4
Certificate only on the server
Bob
Alice
I want to talk, My Id is “Alice”
Ok, This is my certificate
I_d request
I_d response
challenge request
challenge response
Challenge request
Challenge response
Establish encrypted tunnel
 The server Bob only presents its certificate.
 The Secure tunnel is established by Bob without really knowing
who Alice is.
 An attacker can waste the resources on the Bob by challenging with
different IDs.
TECHSEC-2010
14657_05_2008_c1
© 2009 Cisco Systems, Inc. All rights reserved.
Cisco Public
5
Certificates deployed on both Alice and Bob
Bob
Alice
I want to talk, Here is my certificate
Ok, This is my certificate
Authenticate each other
 Both Alice and Bob authenticate each other using Digital Certificates.
 Digital certificates once deployed can be used for wired variety of
applications. For example, SSL, IPSec, 802.1x, DNSSec, and so on..
 This provides high level of trust but Bob does not know with what device
Alice is connecting with.
TECHSEC-2010
14657_05_2008_c1
© 2009 Cisco Systems, Inc. All rights reserved.
Cisco Public
6
 Biometrics – voice, facial. The constraint is mainly on deploying
on large number of endpoints, and the user’s reluctance to use
bio-metrics.
 Software or hardware tokens : This is based on symmetric
cryptography. The problem is with deploying on large number of
endpoints and it is still not able to identify the device the user is
connecting with.
TECHSEC-2010
14657_05_2008_c1
© 2009 Cisco Systems, Inc. All rights reserved.
Cisco Public
7
Solution to the problem
 Both the endpoints and the servers must use digital
certificates.
 The digital certificate must contain both the user information
coupled with device specific information.
 When the user presents the certificate the authentication
server can authenticate the user, and also authorize based
on the device specific information.
 The device specific information used is UDID.
TECHSEC-2010
14657_05_2008_c1
© 2009 Cisco Systems, Inc. All rights reserved.
Cisco Public
8
Properties of this solution
 Mutual authentication.
 Identification of the device and the user.
 Provide different access scenarios based on the device
type.
 If a user leaves or if it is compromised then the user and the
device can be removed from the group.
TECHSEC-2010
14657_05_2008_c1
© 2009 Cisco Systems, Inc. All rights reserved.
Cisco Public
9
Components involved in this solution
 PKI, digital certificates and enrollment of digital certificates.
 802.1x protocol
 EAP authentication methods.
 Radius protocol.
TECHSEC-2010
14657_05_2008_c1
© 2009 Cisco Systems, Inc. All rights reserved.
Cisco Public
10
Extensible Authentication Protocol (EAP)
 Transports arbitrary authentication information in the
form of EAP payloads
–Establishes and manages connections; allows authentication by
encapsulating various types of authentication exchanges
 It is not an authentication mechanism itself
–Actual authentication mechanisms are called EAP Methods
 EAP provides a flexible link layer security framework
–Simple encapsulation protocol -- no dependency on IP
–Few link layer assumptions
•Can run over any link layer (PPP, 802, etc.)
•Assumes no reordering, can run over lossy or lossless media
 Defined by RFC 3748
TECHSEC-2010
14657_05_2008_c1
© 2009 Cisco Systems, Inc. All rights reserved.
Cisco Public
11
EAPOL Frame Format
DST MAC SRC MAC
Protocol Version
1 Byte
Type
Packet Type
1 Byte
Data
Packet Length
2 Byte
Packet Type
FCS
Packet Body
N Byte
Packet Description
Both the Supplicant and the Authenticator Send this Packet
EAP Packet (0)
Used During Authentication and Contains EAP Method Information
Required to Complete the Authentication Process
EAPOL Start (1)
Sent by Supplicant When It Starts Authentication Process
EAPOL Logoff (2)
Sent by Supplicant When It Wants to
Terminate the 802.1X Session
EAPOL Key (3)
Sent by Switch to the Supplicant and Contains
a Key Used During TLS Authentication
TECHSEC-2010
14657_05_2008_c1
© 2009 Cisco Systems, Inc. All rights reserved.
Cisco Public
12
How Is RADIUS Used Here?
 RADIUS acts as the transport for EAP, from the authenticator (switch) to
the authentication server (RADIUS server)
 RFC for how RADIUS should support EAP between authenticator and
authentication server—RFC 3579
IP Header
UDP Header RADIUS Header
EAP Payload
 RADIUS is also used to carry policy instructions (authorization)
back to the authenticator in the form of AV pairs
IP Header
UDP Header RADIUS Header
EAP Payload
AV Pairs
 Usage guideline for 802.1X authenticators use of RADIUS - RFC 3580
 AV Pairs : Attribute-Values Pairs.
TECHSEC-2010
14657_05_2008_c1
© 2009 Cisco Systems, Inc. All rights reserved.
Cisco Public
13
CertificationRequestInfo ::= SEQUENCE {
version
INTEGER { v1(0) } (v1,...),
subject
Name,
subjectPKInfo SubjectPublicKeyInfo{{ PKInfoAlgorithms }},
attributes
[0] Attributes{{ CRIAttributes }}
}
SubjectPublicKeyInfo { ALGORITHM : IOSet} ::= SEQUENCE {
algorithm
AlgorithmIdentifier
{{IOSet}},
subjectPublicKey
BIT STRING
}
PKInfoAlgorithms ALGORITHM ::= {
... -- add any locally defined algorithms here -- }
Attributes { ATTRIBUTE:IOSet } ::= SET OF Attribute{{ IOSet }}
Subject name that could
be name, IP address,
mac-address
CRIAttributes ATTRIBUTE ::= {
... -- add any locally defined attributes here -- }
Attribute { ATTRIBUTE:IOSet } ::= SEQUENCE {
type
ATTRIBUTE.&id({IOSet}),
values
SET SIZE(1..MAX) OF ATTRIBUTE.&Type({IOSet}{@type})
}
CertificationRequest ::= SIGNED { EncodedCertificationRequestInfo }
(CONSTRAINED BY { -- Verify or sign encoded CertificationRequestInfo - })
EncodedCertificationRequestInfo ::= TYPEIDENTIFIER.&Type(CertificationRequestInfo)
SIGNED { ToBeSigned } ::= SEQUENCE {
toBeSigned ToBeSigned,
algorithm
AlgorithmIdentifier { {SignatureAlgorithms} },
signature
BIT STRING
}
TECHSEC-2010
14657_05_2008_c1
© 2009 Cisco Systems, Inc. All rights reserved.
Cisco Public
Signs the request
with private key
14
SCEP enrollment process
endpoint
SCEP Server
SCEP client
CA server
Generate
private key
x.509 request
scep request
pkcs#10
x.509 cert
Generate cert
send the certificate
send the certificate
store the cert
TECHSEC-2010
14657_05_2008_c1
© 2009 Cisco Systems, Inc. All rights reserved.
Cisco Public
15
Enrolling Certs on Mobile devices
CA server
Campus
SCEP Proxy
Internet
Mobile device
Mobile device
TECHSEC-2010
14657_05_2008_c1
© 2009 Cisco Systems, Inc. All rights reserved.
Cisco Public
16
802.1X Port Access Control Model
Identity Store/Management
•
•
•
•
Authenticator
• Switch
• Router
• WLAN AP
MS Active Directory
LDAP
NDS
ODBC
Layer 3
Layer 2
Request for Service
(Connectivity)
Backend Authentication
Support
Supplicant
Authentication Server
• Desktop/laptop
• IP phone
• WLAN AP
• Switch
TECHSEC-2010
14657_05_2008_c1
© 2009 Cisco Systems, Inc. All rights reserved.
Identity Store
Integration
• IAS / NPS
• ACS
• Any IETF RADIUS server
Cisco Public
17
802.1X Protocols
Supplicant
Authentication Server
Authenticator
Layer 3
Layer 2
RADIUS
EAP
EAP over LAN
(EAPoL)
TECHSEC-2010
14657_05_2008_c1
StoreDependent
EAP over WLAN
(EAPoW)
© 2009 Cisco Systems, Inc. All rights reserved.
Cisco Public
18
High level exchange
802.1X
SSC
Port Unauthorized
EAPOL-Start
Actual authentication
is between client and
auth server using EAP.
The switch is an EAP
conduit, but aware of
what’s going on
EAP-Identity-Request
EAP-Identity-Response
EAP—Method
Dependent
EAP-Auth Exchange
Auth Exchange w/AAA Server
Auth Success & Policy Instructions
EAP-Success
Port Authorized
EAPOL-Logoff
Port Unauthorized
802.1X
TECHSEC-2010
14657_05_2008_c1
© 2009 Cisco Systems, Inc. All rights reserved.
RADIUS
Cisco Public
19
RADIUS
Server
EAP-TLS Authentication
SSC
Certificate
Authority
Authenticator
Client
Start
Request Identity
Encrypted
Exchange
Identity
Identity
Server Certificate
Server Certificate
Client Certificate
Client Certificate
Random Session Keys Generated
Broadcast Key
Key Length
TECHSEC-2010
14657_05_2008_c1
© 2009 Cisco Systems, Inc. All rights reserved.
Cisco Public
AP Sends Client
Broadcast key, Encrypted
with Session Key
Only for
wireless
today; wired
in 802.1X-rev
20
CN=mike
CN=UDID
Check if both CNs’ match
2
1
campus
CA server
3
Authentication
server
The Mobile device joins the wireless network using EAP-TLS
The Mobile device presents the certificate
Authentication Server looks up the CN (eg mike) against the CA server. If successful authenticates
The device.
Authentication Server checks the UDID of the device against the authorization policy. If successful
Then the device is authorized in the network.
TECHSEC-2010
14657_05_2008_c1
© 2009 Cisco Systems, Inc. All rights reserved.
Cisco Public
21
Removing a user from the group
 ISE periodically pulls the CRL information from the CA
server.
 When a user needs to be removed then certificate
pertaining to the user is revoked.
 ISE would check the CRL list and deny the access to
the user if the user is found in the CRL list.
TECHSEC-2010
14657_05_2008_c1
© 2009 Cisco Systems, Inc. All rights reserved.
Cisco Public
22
EAP request
Start request from the
device
TECHSEC-2010
14657_05_2008_c1
© 2009 Cisco Systems, Inc. All rights reserved.
Cisco Public
23
Switch request identity from the device
Request
identity
TECHSEC-2010
14657_05_2008_c1
© 2009 Cisco Systems, Inc. All rights reserved.
Cisco Public
24
Host responds with iden
Username =
toby1
TECHSEC-2010
14657_05_2008_c1
© 2009 Cisco Systems, Inc. All rights reserved.
Cisco Public
25
Switch ask the client certificate
Start EAPTLS
TECHSEC-2010
14657_05_2008_c1
© 2009 Cisco Systems, Inc. All rights reserved.
Cisco Public
26
Server initiates the SSL session
ssl session
starts
TECHSEC-2010
14657_05_2008_c1
© 2009 Cisco Systems, Inc. All rights reserved.
Cisco Public
27
Server sends the certificate to the client
Server sends
the certificate
TECHSEC-2010
14657_05_2008_c1
© 2009 Cisco Systems, Inc. All rights reserved.
Cisco Public
28
Endpoint sends certificate
Client sends
certificate
TECHSEC-2010
14657_05_2008_c1
© 2009 Cisco Systems, Inc. All rights reserved.
Cisco Public
29
access-req
username
TECHSEC-2010
14657_05_2008_c1
© 2009 Cisco Systems, Inc. All rights reserved.
Cisco Public
30
radius accept
TECHSEC-2010
14657_05_2008_c1
© 2009 Cisco Systems, Inc. All rights reserved.
Cisco Public
31
Encrypted
handshake
message
TECHSEC-2010
14657_05_2008_c1
© 2009 Cisco Systems, Inc. All rights reserved.
Cisco Public
32
 The remote endpoint is forced to reveal its identity without
knowing the identity of the server.
 The SSL Server Hello Done message is long 2546 bytes, in test
scenario, which is delivered in 3 EAP fragments.
 802.1x for wired users does not support encryption.
TECHSEC-2010
14657_05_2008_c1
© 2009 Cisco Systems, Inc. All rights reserved.
Cisco Public
33
• Pairing Based Handshake (PBH) can be used to prevent the
identity of the client when initiating the request.
• The IDA of the user can be combination of ( UDID + MAC + Serial
number of the device).
• The Wireless LAN controller or the access layer switch can
directly authenticate the user instead of passing it to the radius
server.
TECHSEC-2010
14657_05_2008_c1
© 2009 Cisco Systems, Inc. All rights reserved.
Cisco Public
34
 Identity of the device and the user is very critical in building a
strong authentication.
 The existing methods of bio-metrics or one time passwords are
difficult to deploy for large number of end points.
 Digital certificates with the device information can identify the
device and the user.
 Digital certificates can solve the problem today but in future
different pairing based handshakes can make the authentication
more efficient.
TECHSEC-2010
14657_05_2008_c1
© 2009 Cisco Systems, Inc. All rights reserved.
Cisco Public
35