Modeling and Verification of Extensible Authentication Protocol for Transport Layer Security in Wireless LAN Environment

Similar documents
Overview. SSL Cryptography Overview CHAPTER 1

CSCE 715: Network Systems Security

CS 356 Internet Security Protocols. Fall 2013

Formal Modeling for Persistence Checking of Signal Transition Graph Specification with Promela

Wireless LAN Security. Gabriel Clothier

Internet security and privacy

CS 393 Network Security. Nasir Memon Polytechnic University Module 12 SSL

The SPIN Model Checker

Cryptography (Overview)

Request for Comments: 2712 Category: Standards Track CyberSafe Corporation October 1999

Transport Level Security

E-commerce security: SSL/TLS, SET and others. 4.1

Request for Comments: 4680 Updates: 4346 September 2006 Category: Standards Track

Network Working Group Requests for Commments: 2716 Category: Experimental October 1999

Transport Layer Security

L13. Reviews. Rocky K. C. Chang, April 10, 2015

The Spin Model Checker : Part I/II

(2½ hours) Total Marks: 75

The World Wide Web is widely used by businesses, government agencies, and many individuals. But the Internet and the Web are extremely vulnerable to

COSC 301 Network Management. Lecture 15: SSL/TLS and HTTPS

SSL/TLS. How to send your credit card number securely over the internet

Transport Layer Security

Lecture 9a: Secure Sockets Layer (SSL) March, 2004

CPSC 467: Cryptography and Computer Security

Network Access Flows APPENDIXB

WAP Security. Helsinki University of Technology S Security of Communication Protocols

Enhancement of Feedback Congestion Control Mechanisms by Deploying Active Congestion Control

Computer Security. 10r. Recitation assignment & concept review. Paul Krzyzanowski. Rutgers University. Spring 2018

Network Security: TLS/SSL. Tuomas Aura T Network security Aalto University, Nov-Dec 2014

Protocols, Technologies and Standards Secure network protocols for the OSI stack P2.1 WLAN Security WPA, WPA2, IEEE i, IEEE 802.1X P2.

White Paper for Wacom: Cryptography in the STU-541 Tablet

Information Security CS 526

Protocols II. Computer Security Lecture 12. David Aspinall. 17th February School of Informatics University of Edinburgh

Using SRP for TLS Authentication

But where'd that extra "s" come from, and what does it mean?

Internet Engineering Task Force (IETF) ISSN: January Suite B Profile for Transport Layer Security (TLS)

TLS. RFC2246: The TLS Protocol. (c) A. Mariën -

Distributed Systems Programming (F21DS1) SPIN: Formal Analysis I

Secure Socket Layer. Security Threat Classifications

Data Communication Prof.A.Pal Dept of Computer Science & Engineering Indian Institute of Technology, Kharagpur Lecture - 40 Secured Communication - II

Lehrstuhl für Netzarchitekturen und Netzdienste Fakultät für Informatik Technische Universität München. ilab. Lab 8 SSL/TLS and IPSec

A Secure Wireless LAN Access Technique for Home Network

Encryption. INST 346, Section 0201 April 3, 2018

Grenzen der Kryptographie

Ju-A A Lee and Jae-Hyun Kim

From wired internet to ubiquitous wireless internet

Auth. Key Exchange. Dan Boneh

MTAT Applied Cryptography

CS 161 Computer Security

TLSnotary - a mechanism for independently audited https sessions

Release Notes. NCP Secure Enterprise Mac Client. 1. New Features and Enhancements. 2. Improvements / Problems Resolved. 3.

Security+ SY0-501 Study Guide Table of Contents

Secure Sockets Layer (SSL) / Transport Layer Security (TLS)

Cryptography and secure channel. May 17, Networks and Security. Thibault Debatty. Outline. Cryptography. Public-key encryption

From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design. Edition 4 Pearson Education 2005

Category: Standards Track October 2006

Security Engineering. Lecture 16 Network Security Fabio Massacci (with the courtesy of W. Stallings)

HP Instant Support Enterprise Edition (ISEE) Security overview

This version of the des Secure Enterprise MAC Client can be used on Mac OS X 10.7 Lion platform.

Release Notes. NCP Secure Enterprise Mac Client. 1. New Features and Enhancements. 2. Improvements / Problems Resolved. 3.

Chapter 4: Securing TCP connections

Network Security: TLS/SSL. Tuomas Aura T Network security Aalto University, Nov-Dec 2010

SSL/TLS Vulnerability Detection Using Black Box Approach

The Xirrus Wi Fi Array XS4, XS8 Security Policy Document Version 1.0. Xirrus, Inc.

Displaying SSL Configuration Information and Statistics

Securing IoT applications with Mbed TLS Hannes Tschofenig

Securing IoT applications with Mbed TLS Hannes Tschofenig Arm Limited

CSE 3461/5461: Introduction to Computer Networking and Internet Technologies. Network Security. Presentation L

Cryptography SSL/TLS. Network Security Workshop. 3-5 October 2017 Port Moresby, Papua New Guinea

IP Mobility vs. Session Mobility

Security Protocols. Professor Patrick McDaniel CSE545 - Advanced Network Security Spring CSE545 - Advanced Network Security - Professor McDaniel

ANET: An Anonymous Networking Protocol

Practical Issues with TLS Client Certificate Authentication

Universität Hamburg. SSL & Company. Fachbereich Informatik SVS Sicherheit in Verteilten Systemen. Security in TCP/IP. UH, FB Inf, SVS, 18-Okt-04 2

Protocol Verification And Analysis Using Colored Petri Nets. Technical Report Submitted By

Proofs for Key Establishment Protocols

COSC4377. Chapter 8 roadmap

Network Security 1. Module 7 Configure Trust and Identity at Layer 2

Overview of TLS v1.3 What s new, what s removed and what s changed?

Data Security and Privacy. Topic 14: Authentication and Key Establishment

INTEGRATED SECURITY SYSTEM FOR E-GOVERNMENT BASED ON SAML STANDARD

Using Spin to Help Teach Concurrent Programming

Table of Contents. 4 System Guard Configuration 4-1 System Guard Overview 4-1 Guard Against IP Attacks 4-1 Guard Against TCN Attacks 4-1

Cisco Desktop Collaboration Experience DX650 Security Overview

APNIC elearning: Cryptography Basics

Chapter 8 Web Security

CPSC 467b: Cryptography and Computer Security

11:1 Anonymous Internet Access Method for Wireless Systems

Distributed ID-based Signature Using Tamper-Resistant Module

KALASALINGAM UNIVERSITY

User Authentication. Modified By: Dr. Ramzi Saifan

Implementing Secure Socket Layer

Network Encryption 3 4/20/17

MTAT Applied Cryptography

TLS Extensions Project IMT Network Security Spring 2004

Digital Certificates Demystified

SEEM4540 Open Systems for E-Commerce Lecture 03 Internet Security

Distributed Systems Programming (F21DS1) Formal Verification

Crypto meets Web Security: Certificates and SSL/TLS

Distributed Systems. Fall 2017 Exam 3 Review. Paul Krzyzanowski. Rutgers University. Fall 2017

Transcription:

Modeling and Verification of Extensible Authentication Protocol for Transport Layer Security in Wireless LAN Environment Humayra Binte Ali School of CSEM, Flinders University ali0041@flinders.edu.au Manzur Ashraf School of EES, University of Adelaide manzur_bd@yahoo.com Md. Rezaul Karim Dept of CSE, University of Dhaka Dhaka, University rezaul.karim@univdhaka.edu Abstract Today complex edge services are positioned on the Wireless LAN, different cryptographic protocols with complex as well as reactive communication models and event dependencies are increasingly being specified and adopted. To ensure that such protocols (and compositions thereof with existing protocols) do not result in unacceptable behaviors (e.g., deadlocks or live locks); a methodology is desirable for the automated checking of the correctness of these protocols. In this paper, we present ingredients of such a methodology. Specifically, we show how SPIN, a tool used for the formal systems verification purposes, can be used to verify as well as quickly identify problematic behaviors (if any) in core component of emergent Wireless LAN with non trivial communication authentication constructs such as Extensible Authentication Protocol (EAP) for Transport layer Security (TLS).In our analysis, we identify essential elements, model and verify the EAP TLS protocol using SPIN. It will evidently provide an insight into the scope and utility of formal methods based on state space exploration in testing larger and complex systems, for example, the complete Wireless LAN authentication suit. Keywords- EAP TLS, Protocol Engineering, Wireless LAN security, Authentication, Communication protocols modeling & verification I. INTRODUCTION Modeling is the process of abstracting the functional specifications of a system into a minimal working example that enables us to understand and analyze a particular aspect of the system more closely. Verification means the process of examining this specification for the presence of various errors that could lead to improper system operation. There are five elements of specifications particularly service part, assumption, vocabulary, encoding (format) and procedure rules for a protocol. Spin [16] is a verification system that supports the design and verification of finite state asynchronous, distributed and concurrent systems. Programs are constructed in the PROMELA programming language, which is similar to an ordinary programming language, with additional non-deterministic specification-based constructs. David M W Powers School of CSEM, Flinders University david.powers@flinders.edu.au Processes communicate either via shared variables or via message passing through buffered channels. Properties to be verified are described in Linear Temporal Logic (LTL). The spin model checker can automatically determine whether a program satisfies a property and in case the property does not hold, an error trace is generated. This paper documents an application of SPIN to model, simulate and formally verify an emergent authentication protocol for Wireless LAN EAP TLS [1, 2, 3] authentication Protocol. EAP-TLS is based on an authentication protocol that is nearly identical to the protocol used in the Secure Sockets Layer (SSL) [2] version 3.0 for securing Web transactions. EAP-TLS provides mutual authentication between the client and the authentication server. Once authentication is completed, 802.1X enables dynamic encryption keys are generated. In EAP-TLS, digital certificates are used for mutual authentication. Digital certificates can be stored on smart cards or on the client computer. The organization of this paper is as follows: section 2 gives the overview of EAP TLS authentication protocol including the evolution history of EAP TLS; Section 3 covers four essential elements of a protocol characteristic in EAP TLS; Some related research works are illustrate in section 4; Next two sections describe the modeling and verification results of EAP TLS and finally comes the conclusion with some future directions. II. OVERVIEW OF EAP-TLS The EAP protocol provides a framework for IEEE 802.1X authentication and works in co-operation with Pointto-Point Protocol (PPP). EAP conducts the actual IEEE 802.1X authentication procedure and support for a number of authentication schemes may be added, including smart cards, Kerberos, public key, one-time passwords, and others [3]. EAP supports mutual authentication, and since PPP encryption protocol assumes existence of a session key, it is useful to have a mechanism for session key establishment. Since the design of a secure key management protocol is non-trivial, it is desirable to avoid creating new mechanisms 978-1-4244-8666-3/10/$26.00 C 2010 IEEE V2-41

for this. The EAP protocol allows a PPP peer to take advantage of the protected cipher-suite negotiation, mutual authentication and key management capabilities of the TLS protocol. Transport Level Security (TLS) provides support for mutual authentication, integrity-protected cipher-suite negotiation and key exchange between two endpoints. EAP TLS uses certificates to carry out the authentication in IEEE 802.1X networks. EAP TLS negotiation is based on mutual authentication, where both the user and the network authenticate each other. Both the wireless client and the authentication server send their certificates as proof of their identities during the authentication procedure. There are two main kinds of digital certificates being exchanged, server certificate, and client certificate [6, 12]. The network administrator configures the client certificate to the client and the server controls the validity of the client certificate the network. Likewise, the wireless client checks if the authentication server can be trusted or not. Evolution of EAP-TLS The TLS Working Group was established in 1996 to standardize a 'transport layer' security protocol. The working group began with SSL version 3.0, and in January 1999, RFC 2246 [2] TLS Protocol Version 1.0 was published as a proposed standard. The working group also published RFC 2712 in addition to Kerberos cipher-suites for Transport Layer Security (TLS) [6] as a proposed standard in October 1999. Another RFC on PPP EAP TLS Authentication Protocol was published in October 1999 and two RFCs on the use of TLS with HTTP in May 2000. In June 2003, an RFC 3546 (updated of 2246) on Transport Layer Security (TLS) Extension was published. In June 2004, RFC 3748 was published as a replacement of previous RFC 2284. In this paper, we mainly focused on the RFC 2716 PPP EAP TLS Authentication Protocol. Analysis of eap-tls The TLS version 1.0 is composed of two layers: the TLS Record Protocol and TLS Handshake Protocol. The TLS Record Protocol provides connection security consisting following features: a) The connection is private. Symmetric cryptography is used for data encryption (e.g., DES, RC4, etc.) The keys for this symmetric encryption are generated uniquely for each connection and are based on a secret negotiated by another protocol (such as the TLS Handshake Protocol). The Record Protocol can also be used without encryption [2]. b) The connection is reliable. Message transport includes a message integrity checking using a keyed MAC. Secure hash functions (SHA, MD5, etc.) are used for MAC computations. The Record Protocol can operate without a MAC, but is generally used in this mode while another protocol is using the Record Protocol as a transport for negotiating security parameters. The TLS Record Protocol is used for encapsulation of various higher-level protocols. One such encapsulated protocol, the TLS Handshake Protocol, allows the server and client to authenticate each other and to negotiate an encryption algorithm and cryptographic keys before the application protocol transmits or receives its first byte of data. The TLS Handshake Protocol provides connection security that comprises following characteristics: i) The peer's identity can be authenticated using asymmetric or public key, cryptography (e.g., RSA, DSS, etc.). This authentication can be made optional, but is generally required for at least one of the peers. ii) The negotiation of a shared secret is secure. The negotiated secret is unavailable to eavesdroppers, and for any authenticated connection, even an attacker who can place himself in the middle of the connection cannot obtain the secret. iii) The negotiation is reliable. No attacker can modify the negotiation communication without being detected by the parties to the communication. EAP TLS processing model assumes an EAP TLS message originates at an initial authenticator and is sent to authenticating peer via zero or more intermediaries. We concentrate on modeling and verification of EAP- TLS authentication model. We briefly present here the four elements of its specifications. A. Services EAP TLS performs authentication between authenticating peer and the authenticator. Therefore, this protocol is used for the client server architectural model. This allows EAP TLS to be used in a large variety of Wireless LAN for authentication procedure. B. Assumptions about the environment The environment is which the protocol is to be executed consists of an authenticator (access point and EAP authentication server) and at least one authenticating peer (client). The EAP TLS protocol starts authenticator with the sending request to the authenticator peer for user identification. The authenticating peer responds by sending the user identification. The EAP TLS conversation will continue until the authentication of both authenticating peer and the authenticator is completed. The five major assumptions of EAP TLS authentication processing model of messaging framework in this paper are: a) EAP Request/ EAP Respond is sent to an Authenticating Peer /Authenticator via zero intermediaries. b) Lower Layer [3] of this protocol handles message corruption and disruption. c) Message fragmentation mechanism need not be considered. d) Each message contains a sequence number r = (r1) % message_range. e) A new session will be always established after successful authentication. C. Protocol vocabulary According to [1], an EAP TLS message is an ordinary packet containing the following fields: Code identifies the type of the message EAP Request/ EAP Response. Identifier aids in matching responses with requests. Length is the total length of the packet. In addition, the V2-42

Data field contains one or more TLS record. In the EAP TLS authentication, different types of messages like request identity, response identity, credential request, credential response, TLS change, TLS reply, TLS alert, EAP success and EAP failure are passed between the authenticating peer and the authenticator. Each message is placed in the data field of packet as TLS record. The credential request and the credential response contain multiple messages. C.1 The Credential request: The credential request is placed on the data field of EAP Request packet and sends by the authenticator. This will contain a TLS server hello_handshake message which is a response of client_hello handshake message, possibly followed by the authenticator s TLS certificate, server_key_exchange, client_certificate request and finished_handshake. C.2 The Credential Response: The credential response is also placed on the data field of EAP Response packet and sends by the authenticating peer. This will contain the client s TLS certificate, client_key_exchange, authenticator certificate_verify, change_cipher_spec and TLS finished. D. Procedure Rules The EAP TLS authentication processing model specifies how the conversation between the authenticating peer and authenticator take place. Various types of messages exchange between them during authentication process. The EAP TLS authentication process model itself doesn t maintain any state but performs correlation and coordination between messages. Even for example, during authentication process authenticator sends multiple requests to the peer and receives multiple responses. Each subsequent request depends on the response of pervious request. It is the responsibility of authenticator and authenticating peer to define such combined processing. Figure 1 and 2 demonstrate the message flow between authenticator and authenticating peer. III. RELATED WORK There have been a number of attempts to model & verify the security of cryptographic protocols. Abadi & Needham [5] presented a set of design principles, assumed over the years, to aid protocol designers in creating more robust protocols. In [6], the concept of secure cryptographic protocols has been discussed. According to that paper all assumptions about the environment must be explicitly defined like Bellare and Rogaway s work [7]. We have followed this principle in our research. Protocol modeling & verification are conducted using two approaches: (a) the conventional method in which a series of tests will be applied to the simulation model and (b) formal verification techniques that will allow us to establish safety and liveness properties with respect to the verification model. For this purpose Estelle, SDL, Verilog, LOTOS, Petri Nets, etc methodologies & tools are used [7]. To minimize the effort in obtaining the verification model from the simulation model, Promela language that is close to conventional programming languages has been used in this research. The Promela verifier, SPIN, is one of the most widely distributed finite-state protocol verifier in use today. Extensive work has been carried out with its help, both in industrial and academic areas. Theoretical advancements and practical experiences are continuously reported in the proceedings of the International Spin Workshops. For example, in [8], the analysis of GPRS radio interface protocols and UMTS radio connection establishment procedures were discussed, which resulted in a very concise and provably correct specification of the essential signaling exchange. IV. SIMULATION & VERIFICATION RESULTS After constructing the code in XSPIN environment [16], we run the simulation. The simulation output and message sequence chart are shown in Figure 3. A. Correctness We would like to prove that correct implementations of the model acting in all combinations of roles are well behaved, by which we mean that the rules of the protocol prevent the system from entering undesirable states such as deadlock (all agents blocked waiting for others to act) or live lock (agents interacting in a way that produces no progress ). Alternatively correctness properties can be expressed as a) properties of reachable states (Safety) and as properties of sequences of states (Liveness). Checking Safety comprises two things: (1) checking local process assertions and invariants (if any), and (2) checking proper termination points of progress (end state levels if any). Validating Liveness comprises (1) looking for acceptance cycles, (2) looking for non-progress cycles, (3) using 'never' claims which defines an observer process that executes synchronously with the system, and (4) trace assertions to reason about valid or invalid sequences of send or receive statements. We have used the major 'never' claim here as follows. It represents messages will eventually accepted by the Authenticating Peer whenever it comes from the Authenticator. The following LTL claim us used: never{ do ::!Authenticating_peer@start ->break od } The result of Bit State Search and Exhaustive Search are illustrated in table 1. From the verification results, hash factor is very large (>100). It means we are confident of sufficient coverage. All the validation runs confirms that correctness requirements of EAP TLS authentication protocol are properly met. However, if all messages sent by the Authenticating Peer are lost, an acceptance cycle will be detected, meaning that the never claim is matched. TABLE I. BIT STATE AND EXHAUSTIVE SEARCH RESULT OF MESSAGING FRAMEWORK V2-43

Bit State Search (Spin Version 4.1.2 -- 21 February 2004) Partial Order Reduction Bit statespace search for: never claim assertion violations (if within scope of claim) acceptance cycles (fairness disabled) invalid end states - (disabled by never claim) State-vector 32 byte, depth reached 0, errors: 0 1 states, stored 0 states, matched 1 transitions (= storedmatched) 0 atomic steps Hash factor: 2.09715e06 (expected coverage: >= 99.9% on avg.) (max size 2^22 states) V. CONCLUSION Exhaustive Search (Spin Version 4.1.2 -- 21 February 2004) Partial Order Reduction Full statespace search for: never claim assertion violations (if within scope of claim) non-progress cycles (fairness disabled) invalid end states - (disabled by never claim) State-vector 32 byte, depth reached 35, errors: 0 36 states, stored (49 visited) 26 states, matched 75 transitions (= visitedmatched) 0 atomic steps hash conflicts: 0 (resolved) (max size 2^18 states) In this paper we have modeled the Messaging Framework of EAP TLS authentication protocol and verified it using SPIN. We have also identified the five parameters of this protocol part. Now, we are confirming that this protocol meets all the validation, requirements and works properly. Our future work will concentrate upon the scope and utility of formal methods based on state space exploration in testing large & complex system scalable to the complete Wireless LAN authentication suit. It will evidently identify the security holes in probable inter protocol exchange framework of Wireless LAN. REFERENCES [1] B.Aboba and D.Simon, PPP EAP TLS Authentication Protocol, October 1999, RFC 2716H. [2] B.Aboba, L.Blunk, J.Vollbrecht, J.Carlson, and H.Levkowetz, Ed. Extensible Authentication Protocol, June 2004, RFC 3748. [3] T.Dierks and C.Allen The TLS Protocol Version 1.0 January 1999, RFC 2246. [4] S. Blake-Wilson, M. Nystrom, D. Hopwood, J. Mikkelsen, and T. Wright Transport Layer Security (TLS) Extensions, June 2003, RFC 3546. [5] A. Medvinsky and M. Hur, Addition of Kerberos Cipher Suites to Transport Layer Security (TLS), October 1999, RFC 2712, [6] Extensible Authentication Protocol Transport Layer Security Deployment Guide for Wireless LAN Networks at http://www.cisco.com/warp/public/cc/pd/sqsw/sq/tech/acstl_wp.pdf [7] M. Abadi and R. Needham, Prudent engineering practice for cryptographic protocols, In Proc. IEEE Symposium on Research in Security and Privacy, pages 122-136, May 1994. [8] J. Alves-Foss, Cryptographic Protocol Engineering: Building Security from the Ground Up ;; Invited paper in Proc. of the International Conference on Internet Computing 2000, June 2000, pp 371-377. [9] M. Bellare and P. Rogaway. Entity authentication and key distribution. In Advances in Cryptology - Crypto 93 Proceedings, 1993, pages 232-249. [10] L. Deotto, "Formal Methods and Tools for Specification, Validation and Performance Analysis of Communication Protocols of 2nd- and 3rd-Generation Mobile Systems," Ph.D. thesis (in Italian), University of Trieste, 2002. [11] www.comsoc.org/livepubs/surveys/public/2002/dec/babich.html [12] Changhua He and John C Mitchel, Analysis of the 802.11i 4-Way Handshake, Proceedings of the 2004 ACM workshop on Wireless security, 2004, pages 43 50. [13] I Pavlosoglou, T Stergious, M S Leeson, and R J Green, A Proposed Scheme for securing IEEE 802.11 wireless LANs, Proceedings of the London Communication Symposium 2003, September 2003, pp. 265-268. [14] D. Adam, and B. Assaf, Safe Composition of Web Communication Protocols for Extensible Edge Services, In Proceeding of 7 th International workshop on web content caching and distribution (WCW 2002), 2002. [15] J. Gerard, Design and Verification of Protocols, Prentice hall, 1990. [16] SPIN and XSPIN tools, http:// spinroot.com/spin/whatisspin.html V2-44

Figure 1: Authenticating Peer Process Figure 2: Authenticator Process V2-45