Security Analysis of PLAID



Similar documents
ETSI TS V1.2.1 ( )

Cryptography and Network Security Prof. D. Mukhopadhyay Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

CUNSHENG DING HKUST, Hong Kong. Computer Security. Computer Security. Cunsheng DING, HKUST COMP4631

Authenticity of Public Keys

Security. Contents. S Wireless Personal, Local, Metropolitan, and Wide Area Networks 1

Network Security. Computer Networking Lecture 08. March 19, HKU SPACE Community College. HKU SPACE CC CN Lecture 08 1/23

CSC Network Security. User Authentication Basics. Authentication and Identity. What is identity? Authentication: verify a user s identity

Network Security (2) CPSC 441 Department of Computer Science University of Calgary

Client Server Registration Protocol

Chapter 8. Network Security

Authentication Types. Password-based Authentication. Off-Line Password Guessing

Network Security. Modes of Operation. Steven M. Bellovin February 3,

Network Security [2] Plain text Encryption algorithm Public and private key pair Cipher text Decryption algorithm. See next slide

2.4: Authentication Authentication types Authentication schemes: RSA, Lamport s Hash Mutual Authentication Session Keys Trusted Intermediaries

How To Use Kerberos

Notes on Network Security - Introduction

Security Protocols HTTPS/ DNSSEC TLS. Internet (IPSEC) Network (802.1x) Application (HTTP,DNS) Transport (TCP/UDP) Transport (TCP/UDP) Internet (IP)

TLS handshake method based on SIP

True False questions (25 points + 5 points extra credit)

7 Network Security. 7.1 Introduction 7.2 Improving the Security 7.3 Internet Security Framework. 7.5 Absolute Security?

Chapter 7: Network security

Capture Resilient ElGamal Signature Protocols

Chapter 8 Security. IC322 Fall Computer Networking: A Top Down Approach. 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012

Authentication requirement Authentication function MAC Hash function Security of

The Misuse of RC4 in Microsoft Word and Excel

Security in Near Field Communication (NFC)

Outline. Transport Layer Security (TLS) Security Protocols (bmevihim132)

Network Security Part II: Standards

Kerberos. Login via Password. Keys in Kerberos

Chapter 6 CDMA/802.11i

Announcement. Final exam: Wed, June 9, 9:30-11:18 Scope: materials after RSA (but you need to know RSA) Open books, open notes. Calculators allowed.

Overview of Contactless Payment Cards. Peter Fillmore. July 20, 2015

Overview of Cryptographic Tools for Data Security. Murat Kantarcioglu

Topics in Network Security

Savitribai Phule Pune University

CSCI 454/554 Computer and Network Security. Final Exam Review

Chapter 7 Transport-Level Security

4.2: Kerberos Kerberos V4 Kerberos V5. Chapter 5: Security Concepts for Networks. Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme

TELE 301 Network Management. Lecture 18: Network Security

IPsec Details 1 / 43. IPsec Details

Chapter 3. Network Domain Security

Content Teaching Academy at James Madison University

Chapter 8. Cryptography Symmetric-Key Algorithms. Digital Signatures Management of Public Keys Communication Security Authentication Protocols

Security. Learning Objectives. This module will help you...

Chapter 16: Authentication in Distributed System

AS DNB banka. DNB Link specification (B2B functional description)

CS 361S - Network Security and Privacy Spring Homework #1

1. discovery phase 2. authentication and association phase 3. EAP/802.1x/RADIUS authentication 4. 4-way handshake 5. group key handshake 6.

Communication Systems SSL

Chapter 15 User Authentication

APNIC elearning: IPSec Basics. Contact: esec03_v1.0

Security (WEP, WPA\WPA2) 19/05/2009. Giulio Rossetti Unipi

Secure Shell SSH provides support for secure remote login, secure file transfer, and secure TCP/IP and X11 forwarding. It can automatically encrypt,

Midterm 2 exam solutions. Please do not read or discuss these solutions in the exam room while others are still taking the exam.

Public Key Infrastructure (PKI)

Key Management. CSC 490 Special Topics Computer and Network Security. Dr. Xiao Qin. Auburn University

Web Security Considerations

Three attacks in SSL protocol and their solutions

Analysis of a Biometric Authentication Protocol for Signature Creation Application

Connected from everywhere. Cryptelo completely protects your data. Data transmitted to the server. Data sharing (both files and directory structure)

GSM and UMTS security

SAMPLE EXAM QUESTIONS MODULE EE5552 NETWORK SECURITY AND ENCRYPTION ECE, SCHOOL OF ENGINEERING AND DESIGN BRUNEL UNIVERSITY UXBRIDGE MIDDLESEX, UK

Network Security. HIT Shimrit Tzur-David

Authentication and Authorization Applications in 4G Networks

CS 161 Computer Security Spring 2010 Paxson/Wagner MT2

Final Exam. IT 4823 Information Security Administration. Rescheduling Final Exams. Kerberos. Idea. Ticket

Secure Network Communications FIPS Non Proprietary Security Policy

EMVCo Letter of Approval - Contact Terminal Level 2

CIS 6930 Emerging Topics in Network Security. Topic 2. Network Security Primitives

Communication Security for Applications

DRAFT Standard Statement Encryption

CrashPlan Security SECURITY CONTEXT TECHNOLOGY

Dashlane Security Whitepaper

Outline. Computer Science 418. Digital Signatures: Observations. Digital Signatures: Definition. Definition 1 (Digital signature) Digital Signatures

Princeton University Computer Science COS 432: Information Security (Fall 2013)

Secure Socket Layer. Security Threat Classifications

SECURITY ANALYSIS OF PASSWORD BASED MUTUAL AUTHENTICATION METHOD FOR REMOTE USER

What is network security?

TLS and SRTP for Skype Connect. Technical Datasheet

How to Send Stealth Text From Your Cell Phone

Using EMV Cards to Protect E-commerce Transactions

WEB Security & SET. Outline. Web Security Considerations. Web Security Considerations. Secure Socket Layer (SSL) and Transport Layer Security (TLS)

SCADA System Security, Complexity, and Security Proof

Overview. SSL Cryptography Overview CHAPTER 1

SSL: Secure Socket Layer

Security Considerations for Intrinsic Monitoring within IPv6 Networks: Work in Progress

Authentication Application

Single Sign-On Secure Authentication Password Mechanism

12/3/08. Security in Wireless LANs and Mobile Networks. Wireless Magnifies Exposure Vulnerability. Mobility Makes it Difficult to Establish Trust

CRYPTOGRAPHY IN NETWORK SECURITY

SecureDoc Disk Encryption Cryptographic Engine

Security in IPv6. Basic Security Requirements and Techniques. Confidentiality. Integrity

Common Pitfalls in Cryptography for Software Developers. OWASP AppSec Israel July The OWASP Foundation

Using etoken for SSL Web Authentication. SSL V3.0 Overview

An Introduction to Cryptography as Applied to the Smart Grid

Relay attacks on card payment: vulnerabilities and defences

Key Management (Distribution and Certification) (1)

Transcription:

Security Analysis of PLAID Dai Watanabe 1 Yokoyama Laboratory, Hitachi, Ltd., 292 Yoshida-cho, Totsuka-ku, Yokohama, 244-0817, Japan dai.watanabe.td@hitachi.com Abstract. PLAID is a mutual authentication protocol for a smartcard system. In this report we formally analyse its security by using Scyther tool and prove that PLAID achieves non-injective agreement for both roles (IFD and ICC). Keywords. PLAID 8.0, cryptographic protocol, formal analysis, Scyther 1 Protocol Specification 1.1 Abstract PLAID (Protocol for Light weight Authentication of ID) 8.0 is a mutual authentication protocol between an Interface Device (IFD) and an Integrated Circuit Card (ICC). It was proposed by Centrelink in 2009 [2]. We abbreviate the version number of the protocol and it is just denoted by PLAID in the rest of this report. 1.2 Basic Reference Throughout this report [2] is referred to as the primary source of the specification of PLAID protocol. 1.3 Message Sequence Chart Figure 1 shows the rough sketch of the message sequence chart of PLAID. The meaning of each term in the chart is given as follows (extracted from [2]): ACSRecord : An Access Control System record for each supported Operational Mode identifier for the purpose of authentication by back office PACS or LACS access control systems. This record is returned by the Final Authenticate command response. DivData : A number (or salt) which is set at PLAID instantiation for use in the key diversification algorithm to ensure that loss of an individual card symmetric key cannot result in a breach of the system master keys. This salt is determined by the issuer and should preferably be both random and unique per PLAID invocation and per system.

2 IFD ICC (1) Initial Authenticate Command: CLA=80, INS=8A, P1=00, Body=ASN.1 list of KeysetIDs (2) Initial Authenticate Response: RSA Encrypt IAKey (KeysetID DivData RND1 RND1 ) (3) Final Authenticate Command: CLA=80, INS=8C, P1=00, Body=AES Encrypt FAKey(Div) (OpModeID RND2 RND3) (4) Final Authenticate Response: AES Encrypt RND3 (DivData, ACRecord, [Null, PINHash or Minutiae]) Fig. 1. PLAID 8.0 Authentication Protocol Overview FAKey : An instance of a Final Authenticate key that is yet to be diversified against an ICC s diversification data. FAKey(DIV) : An instance of a Final Authenticate key that has been diversified against ICC s diversification data. KeySetID : One or more identifiers sent in a list to the ICC in the Initial Authenticate command so as to determine and/or negotiate the key set to be used for authentication. Minutiae : Minutiae template is extracted as raw data and evaluated by the IFD. OpModeID : An identifier sent to the ICC in the Final Authenticate command that determines which ACSRecord record is served up in the final authentication response from the ICC. PIN : The PIN Global to the ICC. PINHash : The SHA1 hash value of the PIN which is served up in the final authentication response from the ICC. RND1 : Random number generated by the smartcard using its TRNG. RND2 : Random number generated by the IFD or back office system using a TRNG. RND3 : String generated by the IFD and ICC separately calculating SHA1(RND1 RND2). RND3 may be used for subsequent communication with the ICC. The encryption functions used in PLAID are SHA-1, AES, and RSA (with PKCS 1.5 or OAEP padding). The key lengths of AES and RSA are variable and they are determined in the first two messages of the protocol.

3 1.4 Claimed Security Properties PLAID is claimed to be highly resilient to the following 5 threats in [2]: ID-leakage : A constant subset of data that is static for each authentication exchange between a specific ICC and IFD. This subset (even when encrypted) could allow for identification of an individual smartcard, and therefore indirectly the cardholder. Private-data-leakage : The availability of private data in the clear at interfaces accessible by other than the data owner or appropriately authorised parties. Replay attack : An attack in which a valid data transmission from an ICC is able to be repeated by a different ICC or by an ICC emulator and appear to be an authentic session as viewed from an IFD. Reflection attack : An attack where a host can be fooled into accepting a challenge as valid, where the challenge was previously generated by the host in a previous authentication. Man-in-the-middle attack : An attack where an active emulator or similar device or devices insert themselves in the session between the real ICC and the IFD and maliciously modify data within the session in such a fashion that neither the ICC nor IFD delete the modified session. 1.5 Expected Adversary No specific description on the adversary is found in [2]. On the other hand, PLAID is an authentication protocol between a smartcard and devices and near field wireless communication is expected. In addition, the claimed security properties indicates both active and passive adversaries are expected, i.e., the adversary can eavesdrop, modify, insert packets transmitted between the IFD and the ICC. 1.6 Known Evaluation Results To our best knowledge, there is no published security evaluation on PLAID 8.0 while [2] claims PLAID have evaluated by the most respected cryptographic organizations, as well as the broader cryptographic community. 2 Security Evaluation by Scyther Tool In this section, we present a brief formal security evaluation of PLAID by Scyther Tool. 2.1 Evaluation Tool We chose Scyther v1.1 [3] as as evaluation tool. Scyther is a tool for the automatic verification of security protocols. Please refer to [4] for the technical background of Scyther.

4 2.2 Evaluation Level Our model is evaluated by Scyther without any options and it means that the evaluation level corresponds to PAL3 in [1]. The number of runs are restricted to 5 in our evaluation. 2.3 Protocol Model in Scyther Language /* constants */ usertype String, Number; const 808A0000: Number; const 808C0000: Number; /* key generation function */ hashfunction SHA; const choice: Function; const KeysetIDs: Function; hashfunction FAKey; /* macros */ /*----------------------*/ macro InitialAuthenticateCommand = ( 808A0000, KeysetIDs(IFD) ); /*----------------------*/ macro KeysetID = choice(keysetids, ICC); macro STR1 = ( KeysetID, DivData, RND1, RND1 ); macro IAKey = pk(ifd); macro InitialAuthenticateResponse = STR1IAKey; /*----------------------*/ macro OpModeID = KeysetID; macro RND3 = SHA(RND1, RND2); macro FAKeyDiv = DivDataFAKey(KeysetID, k(ifd, ICC)); macro FinalAuthenticateCommand = ( 808C0000, OpModeID, RND2, RND3FAKeyDiv ); /*----------------------*/ macro ACSRecord = KeysetID; macro PINHash = SHA(k(IFD, ICC)); macro FinalAuthenticateResponse = DivData, ACSRecord, PINHashRND3; /////////////////////////////////////////////////////////////////////// protocol @KeySwap(X) role X

5 var IFD, ICC: Agent; recv_!x1( X,X, k(ifd,icc) ); send_!x2( X,X, k(icc,ifd) ); /////////////////////////////////////////////////////////////////////// protocol PAID(IFD, ICC) role IFD //variables var DivData: Ticket; var RND1: Ticket; //generated by TRNG fresh RND2: Nonce; //generated by TRNG //sequence send_1(ifd, ICC, InitialAuthenticateCommand); recv_2(icc, IFD, InitialAuthenticateResponse); send_3(ifd, ICC, FinalAuthenticateCommand); recv_4(icc, IFD, FinalAuthenticateResponse); //security properties role ICC //variables fresh DivData: Nonce; fresh RND1: Nonce; //generated by TRNG var RND2: Ticket; //generated by TRNG //sequence recv_1(ifd, ICC, InitialAuthenticateCommand); send_2(icc, IFD, InitialAuthenticateResponse); recv_3(ifd, ICC, FinalAuthenticateCommand); send_4(icc, IFD, FinalAuthenticateResponse); //security properties

6 2.4 Adversarial Model Scyther assumes Dolev-Yao network model and it is suitable for the evaluation of PLAID. Besides, [2] assumes that users who share a key does not abuse their secret to break the PLAID authentication system. 2.5 Security Properties Description Security Properties for the IFD Are given as follows: claim(ifd, Weakagree); claim(ifd, Niagree); claim(ifd, Nisynch); claim(ifd, Secret, k(ifd,icc)); claim(ifd, SKR, RND3 ); Here the first claim (Weakagreement of the IFD) is essential to check if the authentication is successful and the second and the last one is important if RND3 is used as a session key. Security Properties for the ICC Are given as follows: claim(icc, Weakagree); claim(icc, Niagree); claim(icc, Nisynch); claim(icc, Secret, k(ifd,icc)); claim(icc, SKR, RND3 ); Here the first claim (Weakagreement of the ICC) is essential to check if the authentication is successful and the second and the last one is important if RND3 is used as a session key. 2.6 Evaluation Results Output of the Tool Table 1 shows the summary of Scyther s output. We can see that most of the claimed security properties are satisfied, but non-injective synchronization is not satisfied. Attack Graph and Its Explanation Figure 2 gives an example in which the non-injective synchronization for the ICC role is not satisfied. By intuition, the reason of this vulnerability is that Initial Authenticate command is considered

7 Table 1. Evaluation result by Scyther claim PAID,IFD Weakagree IFD1 -- Ok [no attack within bounds] claim PAID,IFD Niagree IFD2 -- Ok [no attack within bounds] claim PAID,IFD Nisynch IFD3 -- Fail [at least 2 attacks] claim PAID,IFD Secret IFD4 k(ifd,icc) Ok [no attack within bounds] claim PAID,IFD SKR IFD5 SHA(RND1,RND2) Ok [no attack within bounds] claim PAID,ICC Weakagree ICC1 -- Ok [no attack within bounds] claim PAID,ICC Niagree ICC2 -- Ok [no attack within bounds] claim PAID,ICC Nisynch ICC3 -- Fail [at least 2 attacks] claim PAID,ICC Secret ICC4 k(ifd,icc) Ok [no attack within bounds] claim PAID,ICC SKR ICC5 SHA(RND1,RND2) Ok [no attack within bounds] to be IFD-dependent constant and the adversary can capture and replace it. This does not sound a serious vulnerability, if the system implementation avoids a ciphersuite downgrade attack. 2.7 Modeling Modeling Process A list of KeySetID (KeySetIDs) is modeled as an agent dependent constant. The KeySetID chosen in the second message is modeled as a constant dependent on the IFD and the ICC. DivData, RND1, RND2 are modeled as variables of Nonce type. The relation between OpModeID and KeySetID is variable in [2]. They are considered that an OpModeId is tied to a KeySetID. ACSRecord is considered in the same manner. The CBC mode of operation is chosen in PLAID for block cipher encryption. However, our model does not include an IV in any message because both the 3rd and the 4th messages encrypted by the AES include randomly generated nonces RND2 and RND3 in its payload or in its encryption key. In Scyther model, these terms ensure that the messages are well randomized. Scyther model cannot describe a reliable role or a key shared by a plural agents. In our model, an IFD and an ICC share a proper secret key and no other agent knows it. Validity of the Modeling 2.8 Limitation of Scyther Tool Here we describe the limitation of our evaluation arising from Scyther s features. Possibility to Model Protocol Nothing to be written here.

8 Run #3 Charlie in role IFD IFD -> Charlie ICC -> Alice Fresh RND2#3 send_1 to Alice (808A0000,KeysetIDs(Alice)) Run #1 Alice in role ICC IFD -> Bob ICC -> Alice Fresh DivData#1, RND1#1 Var RND2 -> RND2#2 select KeysetIDs(Alice) fake sender Bob Run #2 Bob in role IFD IFD -> Bob ICC -> Alice Fresh RND2#2 Var RND1 -> RND1#1 Var DivData -> DivData#1 recv_1 from Bob (808A0000,KeysetIDs(Alice)) send_1 to Alice (808A0000,KeysetIDs(Alice)) send_2 to Bob choice(keysetids,alice),divdata#1,rnd1#1,rnd1#1 pk(bob) recv_2 from Alice choice(keysetids,alice),divdata#1,rnd1#1,rnd1#1 pk(bob) send_3 to Alice (808C0000, OpModeID,RND2#2,SHA(RND1#1,RND2#2) DivData#1 FAKey(choice(KeysetIDs,Alice),k(Bob,Alice))) recv_3 from Bob (808C0000, OpModeID,RND2#2,SHA(RND1#1,RND2#2) DivData#1 FAKey(choice(KeysetIDs,Alice),k(Bob,Alice))) send_4 to Bob DivData#1,ACSRecord,SHA(k(Bob,Alice)) SHA(RND1#1,RND2#2) [Id 3] Protocol PAID, role ICC, claim type Nisynch, cost 50 claim_icc3 Nisynch Fig. 2. An attack graph which explains how non-injective synchronization is broken Possibility to Model Adversary Nothing to be written here. Possibility to Describe Security Properties Scyther cannot evaluate injectivity, which is required for checking the applicability of replay attack. In addition, Scyther assumes that any role knows the identities of other roles (So no hidden ID can exist in Scyther models). Therefore we cannot evaluate the resilience of PLAID against ID-leakage. 2.9 Evaluation Cost Evaluation Environment CPU : Intel Core2Duo E8400 (3.0 GHz) RAM : 4.0 GB OS : Microsoft Windows 7 Professional (32-bit)

9 Time It takes 1.9 seconds for the evaluation of the model by Scyther v1.1. Though I tried --unbounded option of Scyther, it automatically gave up unbounded evaluation and proceeded bounded one. References 1. ISO/IEC 29128:2011, Information technology Security techniques Verification of cryptographic protocols, 2011. 2. Centrelink, Protocol for Lightweight Authentication of Identity (PLAID) LOG- ICAL SMARTCARD APPLICATION SPECIFICATION PLAID Version 8.0 - FINAL, December 2009. Available at http://www.humanservices.gov.au/ corporate/publications-and-resources/plaid/. 3. Cas Cremers, The Scyther tool, http://people.inf.ethz.ch/cremersc/ scyther/. 4. Cas Cremers and Sjouke Mauw, Operational Semantics and Verification of Security Protocols, Springer-Verlag, 2012.