CEN CWA 14722-3

WORKSHOP August 2004

AGREEMENT

ICS 35.240.15 Supersedes CWA 14722-3:2004

English version

Embedded financial transactional IC card reader (embedded FINREAD) - Part 3: Functional and Security Specifications

This CEN Workshop Agreement has been drafted and approved by a Workshop of representatives of interested parties, the constitution of which is indicated in the foreword of this Workshop Agreement.

The formal process followed by the Workshop in the development of this Workshop Agreement has been endorsed by the National Members of CEN but neither the National Members of CEN nor the CEN Management Centre can be held accountable for the technical content of this CEN Workshop Agreement or possible conflicts with standards or legislation.

This CEN Workshop Agreement can in no way be held as being an official standard developed by CEN and its Members.

This CEN Workshop Agreement is publicly available as a reference document from the CEN Members National Standard Bodies.

CEN members are the national standards bodies of Austria, Belgium, Cyprus, Czech Republic, Denmark, Estonia, Finland, France, Germany, Greece, Hungary, Iceland, Ireland, Italy, Latvia, Lithuania, Luxembourg, Malta, Netherlands, Norway, Poland, Portugal, Slovakia, Slovenia, Spain, Sweden, Switzerland and United Kingdom.

EUROPEAN COMMITTEE FOR STANDARDIZATION COMITÉ EUROPÉEN DE NORMALISATION EUROPÄISCHES KOMITEE FÜR NORMUNG

Management Centre: rue de Stassart, 36 B-1050 Brussels

© 2004 CEN All rights of exploitation in any form and by any means reserved worldwide for CEN national Members.

Ref. No.:CWA 14722-3:2004 E

CWA 14722-3:2004 (E)

Contents Page

Foreword...... 4 1 Scope ...... 4 2 Normative references ...... 6 3 Terms, definitions and abbreviations...... 7 3.1 Terms and definitions ...... 7 3.2 Abbreviation ...... 8 4 Part I – Functional specifications...... 11 4.1 The basics of Embedded FINREAD ...... 11 4.2 Embedded FINREAD operating modes ...... 23 4.3 Peripherals ...... 26 4.4 Embedded FINREAD Card Reader Applications ...... 28 4.5 Embedded FINREAD card reader ...... 30 4.6 Embedded FINREAD card reader application functions ...... 31 4.7 Embedded FINREAD Aware Application functions...... 33 4.8 Application provisioning and key management functions...... 34 4.9 Vendor specific functions...... 34 5 Part II – Security specifications...... 34 5.1 Assumptions ...... 34 5.2 Security Requirements...... 36 5.3 Specification of implementation ...... 40 5.4 Key management ...... 43 5.5 Cryptographic functions and random number generator ...... 46 Annex A Security objectives, Security requirements and rationale...... 48 A.1 Introduction ...... 48 A.2 EFCR GENERIC MODEL DESCRIPTION...... 51 A.3 EFCR SECURITY ENVIRONMENT ...... 56 A.4 SECURITY OBJECTIVES...... 62 A.5 IT SECURITY FUNCTIONAL REQUIREMENTS...... 64 A.6 RATIONALE ...... 67 A.7 Glossary...... 85 A.8 Common Criteria glossary...... 86

2 CWA 14722-3:2004 (E)

Figures Page

Figure 1 – Example of an Embedded FINREAD Device ...... 11

Figure 2 – Generic Integrated EFD architecture...... 12

Figure 3 – Simplified example of an Embedded FINREAD system architecture used in a payment context ...... 13

Figure 4 – Activation of an EFCRA by a push command ...... 15

Figure 5 – Activation of an EFCRA by a resident DVB-MPH Xlet embedded in a DVB-HTLM page...... 17

Figure 6 – Activation of a standalone EFCRA by the user ...... 18

Figure 7 – Communication with remote entities initiated by the EFCRA ...... 19

Figure 8 – EFCR architecture overview...... 21

Figure 9 – Logical host hardware and software components...... 23

Figure 10 – Operating mode state diagram...... 24

Figure 11 – Suspension of an EFCRA in Embedded FINREAD secure mode ...... 26

Figure 12 – EFCR firmware interface to resources ...... 32

Figure 13 – Firmware interface between EFAAs and the EFCR...... 34

Figure 14 – Example of a hierarchical certification tree ...... 44

Figure 15 – Example of a set of public keys for an Embedded FINREAD device ...... 46

Figure A.1 – Relations between Threats, Security Objectives, OSP and Security Requirements ...... 53

Figure A.2 – Scope of Embedded FINREAD ...... 53

Figure A.3 – Generic EFD architecture...... 54

Figure A.4 – EFD Hardware and Software architecture ...... 55

Figure A.5 – EFCR Life Cycle scheme...... 56

Figure A.6 – Internal Confidence Tree overview ...... 58

3 CWA 14722-3:2004 (E)

Foreword

The production of this CWA (CEN Workshop Agreement) specifying a Embedded Financial transactional IC card reader (Embedded FINREAD), was formally accepted at the Embedded FINREAD Workshop's kick-off meeting on 2001-12-14.

The document has been developed through the collaboration of a number of contributing partners in WS-Embedded FINREAD, representing interests.

This CWA has received the support of representatives of each of these sectors. A list of company experts who have supported the document's contents may be obtained from the CEN/ISSS Secretariat.

This CWA consists of the following parts, under the general title Embedded Financial transactional IC card reader (Embedded FINREAD) :

 Part 1 : Business requirements

 Part 2 : Functional architecture and technical requirements

 Part 3 : Functional and security specifications

 Part 4 : Technical architecture and definition of APIs (Application Programming Interface)

CWA 14722-3 was approved at the Workshop meeting on 2003-02-12 and published by CEN in April 2003; a first revision was published in January 2004; this revised version (mainly editorial changes and lay-out issues) was submitted to CEN for publication on 2004-06-03.

4 CWA 14722-3:2004 (E)

1 Scope

This document defines functional and security requirements for the different components of the Embedded FINREAD device. It is structured in 2 parts as described hereafter:

Part I – Functional Specifications

 it gives an overall description of the Embedded FINREAD card reader architecture and components ;

 it describes in detail the different Embedded FINREAD card reader operating modes ;

 it specifies the characteristics and functional requirements of the main components of the Embedded FINREAD card reader ;

 it defines functions to be provided internally by the embedded FINREAD card reader environment for the Embedded FINREAD card reader applications ;

 it describes the functionality required by Embedded FINREAD aware applications to interface with the Embedded FINREAD card reader.

Part II – Security Specifications

 it describes security assumptions on which the risk analysis performed was based ;

 it lists security requirements for the different components of the Embedded FINREAD device;

 it describes the implementation of these requirements ;

 it describes key management ;

 it lists cryptographic functions and describes the random number generator provided by the core software.

The document Embedded FINREAD Security Objectives, Security Requirements and Rationale is added to this document as an Annex. The Security Requirements expressed in the Annex are set to be easily rewritten as a Protection Profile as regards the Common Criteria requirements.

The main objective of the Embedded FINREAD CWA is to provide a secure and interoperable solution which realistically matches the standards of the targeted industries.

According to the conclusions reached by part 2 of this CWA – Embedded FINREAD Technical Architecture and Functional Requirements, these specifications distinguish 3 different standard Java technologies for the runtime environment of the Embedded FINREAD card reader: J2ME/CLDC and MIDP 2.0, STIP Technology and DVB-MHP. Other Java standards compliant with Embedded FINREAD functional and security requirements may also be considered by industry actors who wish to implement these specifications.

The choice of basing the Embedded FINREAD specifications on several Java technologies, as opposed to a single technology common to all types of devices impacts Embedded FINREAD initial objectives of “global interoperability”:

The level of interoperability supported by Embedded FINREAD is the ability to run Embedded FINREAD card reader applications on different devices potentially having different capabilities and different architectures but supporting the same Java technology and having capabilities that meet the minimum required by the application.

5 CWA 14722-3:2004 (E)

The reason of this choice is to ensure that these specifications appropriately respond to real market needs: requiring vendors to change or adapt their basic Java technology in order to comply with Embedded FINREAD would likely dissuade them from implementing these specifications. Hence, mandating a single Java Technology is not practical, since it would potentially exclude useful devices that are based on other Java technologies.

Other aspects of interoperability such as protocol interoperability between different types of devices and application providers, or infrastructure interoperability between devices and service providers are part of the main objectives of Embedded FINREAD and are not affected by this choice.

Some requirements and functionality defined by this CWA are currently missing within the referenced Java environments. The organisations responsible for issuing the specifications of these environments are working towards the release of new versions that should take into consideration most of the missing functionality needed to comply with Embedded FINREAD. Part 4 of this CWA – Embedded FINREAD Technical Architecture and definition of APIs, provides a detailed description of the missing functionality for each referenced Java platform, and defines the technical responses to these issues.

2 Normative references

The following normative documents contain provisions which, through reference in this text, constitute provisions of these specifications. For dated references, subsequent amendments to, or revisions of any of these publications, do not apply. However, parties to agreements based on Embedded FINREAD specifications are encouraged to investigate the possibility of applying the most recent editions of the normative documents indicated below. For undated references, the latest edition of the normative document referred to applies.

3GPP TS 23.057, Third Generation Partnership Project, Technical Specification Group Terminals, Mobile Execution Environment (MExE) Functional Description Stage 2.

STIP,STIP Specification version 2.1.1 – July 23, 2002.

JSR 118, Mobile Information Device Profile (MIDP), v2.0, Final Release 20 Nov 2002.

ETSI TS 102 812 V1.1.1, Digital Video Broadcasting (DVB); Multimedia Home Platform (MHP) Specification 1.1, November 2001.

ETSI TS 101 476 V7.1.0, Digital cellular telecommunications system (Phase 2+); Subscriber Identity Module Application Programming Interface (SIM API); SIM API for Java Card™; Stage 2 (GSM 03.19 version 7.1.0 Release 1998).

ISO/IEC 20970, J Execution File Format (JEFF).

CEN/ ISSS CWA 14174 (all parts), Financial transactional IC card reader (FINREAD).

EMV 4.0 Book 1, Application independent ICC to Terminal Interface requirements.

ISO 7816 (all parts), Identification cards – Integrated circuit(s) cards with contacts.

ISO/IEC 8859-15, Information technology – 8-bit single-byte coded graphic character sets – Part 1 : Latin alphabet No. 9.

RFC 2313, PKCS#1 “RSA Encryption” Version 1.5.

RFC 2437, PKCS#1 “RSA Encryption” Version 2.0.

RFC 2459, Internet X.509 Public Key Infrastructure Certificate and CRL Profile.

RFC 1321, The MD5 Message Digest Algorithm, Apr. 1992.

ANSI draft X9.52, Triple Data Encryption Algorithm Modes of Operation, Revision 6.0, May 1996.

6 CWA 14722-3:2004 (E)

ANSI X3.92, American National Standard for Data Encryption Algorithm, 1981.

ANSI X3.106, American National Standards for Information Systems, Data Encryption Algorithm – Modes of Operation, 1983.

FIPS PUBS 197, Advanced Encryption Standard (AES), 2001 November 26.

NIST FIPS PUB 180, Secure Hash Standard, Department of Commerce, Apr 1993.

NIST FIPS PUB 186-2, Standard (DSS) appendix 3.3, 2000.

3 Terms, definitions and abbreviations

3.1 Terms and definitions

For the purposes of the present document, the following terms and definitions apply :

Application Management Software AMS generic term used to describe the software on the device that manages the downloading and lifecycle of Java applications. This term does not refer to any specific implementation. In some cases, the term Java Application Manager (JAM) is used interchangeably core software these specifications use indifferently the term “firmware” or “core software” to designate the device dependent software provided by the vendor on top of which the Embedded FINREAD application runs

Embedded FINREAD Aware Application EFAA software program that runs either in the hosting device environment or on a distant entity. This application relies on the functionality provided by one or more ICCs and are executed in the secure environment of the EFCR. All sensitive functions required by the ICC Embedded FINREAD aware FINREAD application are executed by the related EFCRA, activated in the EFCR

Embedded FINREAD Card Reader EFCR Card Reader compliant with the Embedded FINREAD specifications. A hosting device in which an EFCR is embedded is called an Embedded FINREAD device

Embedded FINREAD Card Reader Application EFCRA Java™1) application signed by the appropriate entity that may be downloaded into the EFCR. When an EFCRA is activated and has locked its resources, the EFCR operates in Embedded FINREAD secure mode

Embedded FINREAD device EFD A hosting device with an Embedded FINREAD card reader firmware these specifications use indifferently the term “firmware” or “core software” to designate the device dependent software provided by the vendor on top of which Embedded FINREAD application runs

1) Java, and all Java based trademarks are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries.

7 CWA 14722-3:2004 (E)

hosting device environment non-trusted runtime environment of the Embedded FINREAD device, consisting of the components or functionality which are not included in the context of the EFCR (e.g. vendor tools, Embedded FINREAD aware applications, non-Embedded FINREAD applications, …)

IC card ICC an integrated circuit card, including both memory and microprocessor cards. This definition includes both ISO 7816 Identification cards (ID1 as defined by ISO 7816 – Part 2) and SIM card formats (ID000 as defined in GSM 11.11 – Annex A)

ICC aware application a term commonly used in PC/SC specifications, that refers to an arbitrary software program in the user equipment, which is designed to use the functionality provided by one or more ICCs. interface module IFM the interface module is the part of the EFCR’s FU “card interface unit” that consists of ICC contacts as well as of the hardware and software required to power the ICC and support communications with the ICC native code application / native application application whose code is not interpreted by an intermediate software level (e.g. a virtual machine) but directly executed by the system of the device. Depending on the targeted platform’s core libraries and access policies, a native application may have access to low level system functionality payment scheme scheme defined by an appropriate organisation to process payments. Payment scheme rules may cover : issuing and acquiring rules, ICC acceptance, clearing and settlement provisioning (of applications) term commonly used in various Java platform specifications, that refers to the deployment of applications. Provisioning includes the stages of applications discovery, download, installation and removal push command command which is transmitted by a server to a device without a previous user action. The “push” technology is based on the client/server model, but there is no explicit request from the client before the server transmits its content

3.2 Abbreviation

3GPP 3rd Generation Partnership Program

AES Advanced Encryption Standard

AMS Application Management Software

APDU Application Protocol Data Unit

API Application Programming Interface

CEN European Committee for Normalisation

CLDC Connected Limited Device Configuration

CPK Certified Public Key

CRL Certificate Revocation List

CWA CEN Workshop Agreement

8 CWA 14722-3:2004 (E)

DES Digital Encryption Standard

DTD Document Type Definition

DVB Digital Video Broadcasting

ECMA European Computer Manufacturer Association

EF Embedded FINREAD

EFAA Embedded FINREAD Aware Application

EFCR Embedded FINREAD Card Reader

EFCRA Embedded FINREAD Card Reader Application

EFD Embedded FINREAD Device

EMV Europay International S.A., MasterCard International Incorporated, VISA International Service Association

ETSI European Telecommunications Standards Institute

FIPS PUBS Federal Information Processing Standards Publications

FU Functional Unit

GSM Global System for Mobile Communication

HTTP Hyper-Text Transport Protocol

ICC, IC card Integrated Circuit Card (also called smart card)

IEC International Electrotechnical Commission

ISO International Organization for Standardization

J2ME Java™ 2 Micro Edition

JAD Java Application Descriptor

JAM Java Application Manager

JCP Java Community Process

JSR Java Specification Request

JVM Java Virtual Machine

KVM (Java) Kilobyte Virtual Machine

LED Light Emitting Diodes

MD5 Message Digest algorithm Rev 5

MExE Mobile Execution Environment

MHP Multimedia Home Platform

MID Mobile Information Device

9 CWA 14722-3:2004 (E)

MIDP Mobile Information Device Profile

MIDP NG, MIDP 2.0 Mobile Information Device Profile New Generation (JSR #118)

NIST National Institute of Standards and Technology

OCSP Online Certificate Status Protocol

OS

OSP Organisational Security Policies

OTA Over The Air

PC Personal Computer

PC/SC Personal Computer / Smart Card

PDA Personal Digital Assistant

PIN Personal Identification Number

PK Public Key

PKI Public Key Infrastructure

RFC Request For Comments

RMI (Java) Remote Method Invocation

RPK Root Public Key

RSA Rivest, Shamir and Adleman Public-key

SHA-1 Secure Hash Algorithm Rev 1

SIM Subscriber Identification Module

SR Security Requirement

STIP Small Terminal Interoperability Platform

UI User Interface

WAP Wireless Application Protocol

WML Wireless Markup Language

XML Extensible Markup Language

10 CWA 14722-3:2004 (E)

4 Part I – Functional specifications

4.1 The basics of Embedded FINREAD

4.1.1 EFD architecture

4.1.1.1 Overview

These Embedded FINREAD functional requirements address the functionality of an open and secure IC card reader that is a part of another device and which is used to protect electronic transactions on open networks.

Devices covered by these requirements are limited to the two following categories :

 private devices as a definition for devices used in the private environment such as IC card readers connected to a PC, set-top boxes etc. ;

 personal devices as a definition for devices that are mobile, but used under the control of an individual, such as mobile phones, PDAs, etc. Compared with devices used in the private environment, the user of a mobile device is already aware of the risk of loss and theft of his device.

Figure 1 provides an example of an Embedded FINREAD device (EFD), consisting of a hosting device environment which integrates and shares some of its resources with a logical Embedded FINREAD card reader (EFCR). The EFCR together with an ICC, constitute a trusted subset of the hosting device’s environment that provides the security required to carry out sensitive functions.

Embedded FINREAD device Embedded FINREAD card Embedded FINREAD reader resources such as ICC reader, display and keypad may be shared between Embedded FINREAD and the hosting device Hosting device

Display

IC Card Reader keypad card IC

Figure 1 — Example of an Embedded FINREAD Device

11 CWA 14722-3:2004 (E)

4.1.1.2 Generic architecture

Part 2 of this CWA – Embedded FINREAD Functional Architecture and Technical Requirements, presents the different hardware architectures addressed by the Embedded FINREAD specifications and categorises them as follow :

 integrated architecture with dual slot IC card reader (e.g. dual slot mobile phones) ;

 integrated architecture with second ID000 slot (e.g. dual chip mobile phones) ;

 integrated architecture with one IC slot (e.g. classic mobile phones equipped with a subscriber module containing Embedded FINREAD ICC applications) ;

 distributed architecture (e.g. set-top boxes using the TV set as display, the remote control as keypad and having the IC card reader in the main unit) ;

 independent architecture where the Embedded FINREAD card reader is an independent device (e.g. independent card reader connected to a PC or to a PDA).

The Embedded FINREAD specifications focus on integrated and distributed architectures and provides the requirements that shall be considered for including the functionality of an Embedded FINREAD IC card reader into the mentioned architectures.

For independent architectures consisting of a user equipment (PC, PDA, …) linked to an independent dedicated IC card reader used in a private environment, interested parties shall refer to CWA 14174 Financial transactional IC card reader (FINREAD) specifications.

Embedded FINREAD Hosting device Card Reader environment

other EFD keypad storage ICC slot peripheral

other EFD display communication peripheral

Figure 2 — Generic Integrated EFD architecture

Figure 2 shows the generic integrated architecture where the EFCR is a subset of the hosting device formed by the keypad, the display, the processing unit with its storage device, the ICC slot and communication resources (serial ports, networking, others…).

All EFD hardware configurations shall provide the level of functionality and security which is defined by this CWA for the generic integrated architecture. A distributed architecture is assimilated to an integrated architecture with

12 CWA 14722-3:2004 (E)

additional security requirements for protecting data exchange between the distributed parts. Such requirements are specified within part II of this document – Embedded FINREAD Security Specifications.

4.1.2 Embedded FINREAD system architecture

4.1.2.1 Overview

An Embedded FINREAD system consists of the combination of an ICC with different components distributed between the EFD and some remote entities such as authorisation servers, web servers, etc.

The system mainly relies on the concepts of Embedded FINREAD Card Reader Applications (EFCRA) and Embedded FINREAD Aware Applications (EFAA).

EFCRAs are secure applications running in the Java environment of the EFCR which are in charge of processing the sensitive functions of Embedded FINREAD transactions. (e.g. cardholder verification by means of PIN, amount validation, …)

EFAA are 3rd party applications which need to execute sensitive functions and which rely on EFCRA(s) for handling them. For example, in a context of payment, an EFAA could be a merchant web server relying on an EFCRA residing in the customer’s EFD for executing payment or other sensitive functions that shall not be executed by non-trusted applications. Other examples provided later in this document will show that EFAAs can also be located in the EFD.

EFCRA provisioning server

EFCR

Network / Internet EFCRA EFAA Browser or

JVM Merchant web server EFD

Payment authorisation server

Figure 3 — Simplified example of an Embedded FINREAD system architecture used in a payment context

Figure 3 shows a simplified example of an Embedded FINREAD system architecture used in a payment context. An Embedded FINREAD Card Reader Application (EFCRA) is downloaded from an EFCRA provisioning server and installed into the Java environment of the EFCR. It is activated by an Embedded FINREAD Aware Application which runs on a remote server (e.g. merchant web server). The activated EFCRA communicates with a distant payment authorisation server in order to validate the transaction.

In a different case, the EFCRA could be activated by the user of the device or by an EFAA running locally in the hosting environment of the EFD.

13 CWA 14722-3:2004 (E)

This clause presents the different Embedded FINREAD system components and defines their functions in the Embedded FINREAD system architecture.

4.1.2.2 Embedded FINREAD Aware Applications

An Embedded FINREAD Aware Application (EFAA) is a non-secure software program which runs outside of the context of the EFCR and which relies on functionality provided by one or more EFCRA(s).

Depending on the type of EFD and on application scenarios, EFAAs may either be local applications executed by the hosting device environment or distant applications running on 3rd party servers. Administration of EFAAs (download, activation, ...) relies on proprietary mechanisms which are outside of the scope of these specifications.

By definition, an EFAA is intended to activate at least one EFCRA each time it is executed. All other interactions between EFAAs and EFCRAs are application-dependent. For instance, an EFAA may communicate with an activated EFCRA and explicitly request the EFCR to terminate the trusted application, whereas another EFAA may only request the activation of an EFCRA and not interact further with the latter. A distant EFAA may be split into different modules running on different servers and carrying out specific functionality of the EFAA. For instance, one module activates the EFCRA which initiates a communication and exchanges data with another module of the EFAA.

An Embedded FINREAD application scenario does not necessarily involve an EFAA: some EFCRAs may be standalone applications which are activated by the user of the device2) and implementing the full scenario of the Embedded FINREAD transaction.

The following clauses provide specific requirements on EFAAs for each category of EFD addressed by the Embedded FINREAD specifications.

4.1.2.2.1 Mobile phones

In the previous subclauses EFAAs were presented as applications which could either be remote or local to the EFD. The JavaTM environments that are likely to be implemented in mobile phone are J2ME/CLDC and MIDP 2.0 or STIP 2.1. The activation of an EFCRA by a local EFAA could not be realistic in MIDP 2.0 that enables applications to activate each other only if they belong to the same suite, and consequently only if they were packaged and signed by the same entities. STIP 2.1 security policies allow one application to activate another.

This subclause considers EFAAs to be distant applications remotely interfacing the EFCR for mobile phones3.

2) In this specific case, the user is conceptually acting as an EFAA as he selects and activates an EFCRA through the Application Management Software of the EFCR.

3 Subclause dedicated to the set-top boxes (4.1.2.2.2) shows examples of local EFAAs activating EFCRAs. The same logic may be applied to a mobile under STIP using local EFAAs.

14 CWA 14722-3:2004 (E)

Activation of an EFCRAs by a distant EFAA

An EFAA relies on the functionality of well identified EFCRA(s) and is aware of their availability in the EFD4).

An EFCRA shall be installed in the EFCR before it can be activated.

The EFAA shall activate an EFCRA by transmitting a push command5) to the Application Management Software (AMS) of the EFCR.

The push command transmitted to the AMS shall fully identify the EFCRA which is to be activated.

Depending on the application scenario, the command may also include parameters which shall be transmitted to the EFCRA when it is initialised (e.g. transaction amount, communication parameters, …). Figure 4 illustrates the activation of an EFCRA by a remote EFAA transmitting a push command to the EFCR’s AMS.

EFAA Web server provided by any party

(1) browsing, selection of a transaction

EFCR

EFCRA resident browser (2) PUSH (3) [EFCRA activation EFCRA selection request, parameters] & activation (parameters)

Java Platform (JVM, AMS, APIs)

Hardware + OS

Hosting device

Figure 4 — Activation of an EFCRA by a push command

The action performed by the AMS when receiving a push command requesting the activation of an EFCRA which is not installed in the EFCR is vendor-dependent.

Communication between a distant EFAA and an EFCRA

4) It is up to the application provider to provide the user with the necessary information (e.g. during browsing) to identify and download the EFCRA needed to complete the transaction. 5) Although no industry standard currently defines means of interactions between a distant entity and the AMS of a Java platform, the use of push commands, as specified by MIDP 2.0 seems to be a practical solution experienced by the major actors of the mobile industry.

15 CWA 14722-3:2004 (E)

Depending on the application’s scenario, an EFAA and an EFCRA may need to exchange information. In such case the communication shall be initiated by the EFCRA via the communication interface provided by the Java environment of the EFCR. Required communication parameters may either be statically stored in the EFCRA code, or be provided to the latter by the EFAA as parameters of the “activation push command” sent to the EFCR.

Termination of an EFCRA by a distant EFAA

Depending on the application’s scenario, a distant EFAA may explicitly request the termination of the EFCRA. EFCRAs may also terminate by themselves or be terminated by the user of the device.

4.1.2.2.2 DVB-MHP compliant set-top boxes

If the EFD is a DVB-MHP set-top box, an EFAA is a local application6) running in the hosting device environment of the EFD, and shall either be :

 a resident application (native or Java) part of the DVB-MHP platform and signed by the device vendor ;

 a MHP Xlet embedded in a DVB-HTML page and signed by any party ;

 an ECMAScript embedded in a DVB-HTML page and signed by any party.

Interactions between a resident EFAA and EFCRAs

When an EFAA is a resident application, its interactions with EFCRAs (activation, communication, termination) are device vendor-dependent, and are then not covered by these specifications.

Activation and termination of an EFCRA by a MHP Xlet or an ECMAScript embedded in a DVB-HTML page

EFAAs which are either Xlets or ECMAScripts embedded in a DVB-HTML page are downloaded, activated and terminated by a resident browser.

In order to interact (activate, communicate, terminate) with an EFCRA, the EFAA shall be signalled in the same MHP service as the latter.

Activation of an EFCRA shall be achieved using the MHP “Application discovery and launching APIs” as defined by the DVB-MHP specification.

The same APIs shall be exploited if the EFAA needs to obtain information on the EFCRAs available in its MHP service or if it needs to explicitly terminate an application.

Communication between MHP Xlet or an ECMAScript embedded in a DVB-HTML page and an EFCRA

If the EFAA and the EFCRA need to exchange information, the communication between these entities shall be achieved using the MHP “Inter-Application and Inter-Xlet communication API” as defined by the DVB-MHP specification.

Figure 5 illustrates the case when the EFAA is an Xlet embedded in a DVB-HTML page. The EFAA (Xlet) is downloaded into the browser runtime environment and activates an EFCRA (Xlet) through DVB-MHP “Application Discovery and Launching” API. A communication is then established between the 2 applications through the “Inter- Application” API.

6) Application architecture where the EFAA is a distant application running on the broadcaster server could be conceivable. According to the usual working procedures of the industry, such configuration does not seem to be realistic.

16 CWA 14722-3:2004 (E)

Web server EFAA (Xlet)

(1) browsing, selection of a transaction

(2) download EFAA (Xlet) into browser runtime EFCR environment Browser (5) communication EFCRA downloaded (“Inter-Application API”) (Xlet) EFAA (Xlet)

(3) EFAA (Xlet) running: (4) EFCRA (Xlet) activation selection/activation of an EFCRA (Xlet) (“Application Discovery and Launching” API) DVB-J Platform (JVM, AMS, APIs)

Hardware + OS

Hosting Device

Figure 5 — Activation of an EFCRA by a resident DVB-MHP Xlet embedded in a DVB-HTML page

4.1.2.2.3 PDAs

As was described within part 2 of this CWA – Embedded FINREAD Functional Architecture and Technical Requirements, only two types of PDA-based EFD architectures are considered by these specifications :

 an independent architecture presenting the PDA as the private device of a FINREAD environment which relies on an independent FINREAD Card Reader, as defined within CEN/CWA 14174 (FINREAD Specifications) ;

 an integrated architecture similar to the one described by this document for the other types of EFDs, (i.e. a device implementing secure core software which complies with the Embedded FINREAD security requirements and which supports a Java platform such as MIDP 2.0).

Concerned parties shall then retrieve the appropriate functional requirements from one of these two sets of documents.

4.1.2.3 Embedded FINREAD Card Reader Applications

An Embedded FINREAD Card Reader Application is a piece of software which is executed in the trusted environment of the EFCR and which is in charge of executing functions that require protection. In particular, the EFCRA is used to secure a key-entry or to display reliable information.

To support several different ICC applications and upgrade applications to new standards, it is possible to store and remove the corresponding EFCRAs into / from the EFCR environment. To guarantee the secure use of any EFCR,

17 CWA 14722-3:2004 (E)

the download of new EFCRAs is restricted to applications whose origin and integrity are verified. Requirements on EFCRA provisioning are provided in subclauses 4.4.2 and 4.81 of this document.

The system resources being shared between the hosting device environment and the EFCR, an EFCRA shall be able to request exclusive access to the following EFD peripherals or services for the time lapse it is active :

 the keypad ;

 the display, or a subset of the display (area, window, …) ;

 the ICC reader interfacing with the user ICC applications ;

 a persistent storage dedicated to the application (files, directories, …) ;

 one or more of the system communication resources (serial ports, http connection, socket connection, etc.).

Activation of an EFCRA

As it was previously mentioned, an EFCRA can either be activated by the EFD user (Figure 6) or by an EFAA (accordingly to the requirements provided in subclause 4.1.2.2).

User EFCR

Vendor application EFCRA management tools

EFCRA selection EFCRA activation activation/management

Standard Java Platform (JVM, AMS, API)

Hardware + OS

Hosting device

Figure 6 — Activation of a standalone EFCRA by the user

18 CWA 14722-3:2004 (E)

Termination of an EFCRA

Termination of EFCRAs is application-dependent. For example, an EFCRA may either terminate by itself, be terminated by the user, the system or by the EFAA.

Communication with 3rd party entities

An EFCRA shall be able to initiate communications with remote entities such as a distant EFAA or authorisation servers using the communication resources of the EFCR. (Figure 7). Data exchanges and protocols used for communication are application-dependent. EFCRs shall at least provide EFCRAs with access to a HTTP interface.

3rd party Web server EFAA (authorisation server, EFAA module, ...) application-dependent exchanges application-dependent exchanges

EFCR browser

Active EFCRA

Standard Java Platform (JVM, AMS, API) COMM

Hardware + OS

Hosting device

Figure 7 — Communication with remote entities initiated by the EFCRA

Interoperability of EFCRAs

A main objective of Embedded FINREAD is ensuring interoperability of EFCRAs through the use of Java runtime environments. “Interoperability” is understood as the ability to run Embedded FINREAD card reader applications on different devices potentially having different capabilities and different architectures but supporting the same Java technology and having capabilities that meet the minimum required by the application

19 CWA 14722-3:2004 (E)

This specification references 3 standard Java environments7) which are today foreseen to be the solutions that are or will be adopted by the concerned industries; other Java technologies complying with this CWA requirements may also be considered to implement this specification.

 J2ME/CLDC and MIDP v2.0(JSR 118) : this environment supports Java applications running on resource- constrained devices and may address mobile phones or PDA EFDs. Information related to this technology can be found on the internet web site of the Java Community Process, at http://www.jcp.org/ ;

 STIP Technology v2.1 : this environment supports Java applications running on resource-constrained devices and may address PC, PDA, set top boxes or mobile phones EFDs. Information related to this technology can be found on the internet web site of the STIP Consortium, at http://www.stip.org/ ;

 DVB-J : this environment supports a Java based software platform comprising a Virtual Machine and a set of TV-specific APIs. An EFD based on a set-top box shall be compliant with the DVB-MHP v1.1 specifications which include the definition of the DVB-J platform. Related information can be found on the DVB-MHP web site, at http://www.mhp.org/.

Embedded FINREAD requires EFCRAs to be fully interoperable between EFCRs implementing the same Java environment. For example, if an EFCRA is developed for J2ME/CLDC and MIDP 2.0, it shall run appropriately on all EFCRs implementing this platform. The following paragraphs define the structure of EFCRAs within each referenced environment :

MIDP 2.0 :

If the Java environment of the EFCR consists of a J2ME/ CLDC and MIDP v2.0 platform, each EFCRA shall be implemented as a MIDlet encapsulated within a MIDlet suite, as defined by the MIDP v2.0 specifications. A MIDlet suite certified by Embedded FINREAD shall contain at least one EFCRA and its related resources.

STIP v2.1 :

If the Java environment of the EFCR consists of a STIP v2.1 platform, each EFCRA shall be implemented as a Stiplet as defined by the STIP v2.1 specifications.

MHP-DVB v1.1/DVB-J :

If the Java environment of the EFCR consists of a DVB-J platform, each EFCRA shall be an independent Xlet as defined by the DVB-MHP v1.1 specifications.

4.1.2.4 EFCR hardware and software components

The EFCR is a trusted Java-based environment of an EFD in which EFCRAs are executed and interface the resources of the device (Figure 8)

7) Some functionality are currently missing within the referenced Java environments to support the Embedded FINREAD requirements. Technical responses to this issue are provided by part 4 of this CWA – Embedded FINREAD Technical Architecture and APIs.

20 CWA 14722-3:2004 (E)

Hosting device EFCR environment

EFCRA

Standard Java platform (JVM, AMS, APIs)

Hardware + OS

keypad storage ICC slot

communication display interface

Figure 8 — EFCR architecture overview

To comply with Embedded FINREAD specifications, an EFCR shall integrate the following components :

Hardware :

 a display that can show application data that needs to be validated by the user ;

 a keypad which can be used by the cardholder to enter/validate information ;

 one ID1 or ID000 ICC interface dedicated to the user ICC, or no additional ICC interface if the user ICC applications are hosted by the subscriber module ;

 a networking peripheral which enables at least HTTP communications ;

 a permanent storage area which can be used by EFCRAs to store data and by the EFCR’s AMS to store application certificates.

Software :

The EFCR shall implement a Java platform in order to guarantee the interoperability of EFCRAs between EFCRs implementing the same environment. This Java platform shall either be one of the solutions referenced in subclause 4.1.2.3 or another standard Java technology which complies with the functional and security requirements defined by these specifications.

The Java environment of an EFCR shall include the following software components :

 application management software (AMS), also called Java Application Manager (JAM), including the following functions :

21 CWA 14722-3:2004 (E)

 download/installation/removal of EFCRAs compliant with the security requirements provided in part II of this document – Embedded FINREAD Security Specifications ;

 selection and activation of an EFCRA by the user ;

 selection and activation of an EFCRA by a remote EFAA through a push interface as specified in subclause 4.1.2.2 (mandatory for mobile phone EFDs only) ;

 selection and activation of an EFCRA by a local EFAA (when local EFAAs are supported by the device).

 a well defined API which permits to obtain exclusive accesses to the following interfaces or services :

 management of display and keypad ;

 permanent storage space administration ;

 communication with the user ICC:

 detection of card insertion and removal, control of the ICC power supply and transmission of APDU if the device addresses the user card through an ID1 ICC reader ;

 controlling the ICC power supply and sending APDU if the mobile phone is equipped with a second ID000 slot ;

 sending SIMToolkit envelops if the EFD is a mobile phone and the user ICC applications are hosted by the subscriber module.

 HTTP communications with remote servers ;

 cryptographic functions as stated in part II of this document – Embedded FINREAD Security Specifications.

The EFCR hardware design and development is provided by the EFD vendor. It shall comply with these specifications.

4.1.2.5 Hosting device hardware and software components

The hosting device environment consists of a combination of industry specific components and of a defined set of hardware and software resources shared with the EFCR, as defined in 4.1.2.4 and illustrated by Figure 9.

22 CWA 14722-3:2004 (E)

Hosting device environment EFCR

vendor native native tools app. app. Java app. vendor specific software libraries & drivers Standard Java platform (JVM, AMS, APIs)

Hardware + OS

specific keypad storage ICC slot peripheral specific peripheral specific communication display peripheral interface

Figure 9 — Logical host hardware and software components

Depending on the type of hosting device, an EFD may contain various specific non-Embedded FINREAD software components, such as native vendor applications, native 3rd party applications, non-Embedded FINREAD Java applications (games, other MIDlets/Xlets/etc.), …

4.2 Embedded FINREAD operating modes

4.2.1 General description

The operating modes define the level of security ensured by the EFD to the user’s ICC at a given moment in time. As it was previously described in this document, depending on the type of EFD used, user’s ICC applications and data may either reside in an independent ID1 ICC or in a ID000 chip (dual or mono slot configuration).

This CWA distinguishes two operating modes for an Embedded FINREAD device :

 Embedded FINREAD Secure mode ;

 Non-Embedded FINREAD mode.

The following paragraphs describe these two operating modes and specify the policies for switching from one mode to another.

23 CWA 14722-3:2004 (E)

4.2.2 Operating mode state diagram

An EFCRA has been activated and has obtained the exclusive accesses to resources it requested

Non-Embedded FINREAD Embedded FINREAD Mode Secure Mode

Termination of the EFCRA

Figure 10 — Operating mode state diagram

4.2.3 Embedded FINREAD Secure Mode

The EFD switches to Embedded FINREAD secure mode when an EFCRA is activated in the EFCR and has obtained exclusive access to the resources it requested.

When operating in Embedded FINREAD secure mode

The core software shall ensure that the user cannot be mislead by another application :

 either when the user is using an EFCRA, the core software shall notify the user he is using a signed application by means which are inimitable by non-signed applications (e.g. lighting of a dedicated LED, display of a specific icon in a system area of the screen, …)8) ;

 or the core software shall deny unsigned applications the access to the ICC reader interfacing the user ICC applications, as well as access to any communication resource enabling communication with external entities (e.g. network)9).

Each EFCRA shall clearly identify itself to the user as an Embedded FINREAD card reader application each time it is activated in the EFCR (e.g. by means of a message on the display).

8) This requirement could be implemented by EFDs implementing a Java platform such as MIDP where only one signed application package (MIDlet suite) can be executed at a time. 9) This requirement could be implemented by EFDs implementing a Java platform such as MHP where several applications signed by different certification authorities may be executed concurrently.

24 CWA 14722-3:2004 (E)

The Embedded FINREAD card reader applications shall obtain the exclusive access to all sensitive resources10) it requests. Either the Java platform provides the applications with explicit mechanisms to claim exclusivity on resources, or it shall implicitly grant the EFCRA with exclusive access to all sensitive resources.

Download of root keys outside the trusted chain of the device is not allowed in order to prevent suspicious applications signed by unknown root keys to run in the device.

If an event occurs in Embedded FINREAD secure mode with a priority that requires the system to use some of the resources held by an EFCRA (e.g. incoming call on a mobile phone), the latter may be momentarily forced to release the resources it shares with the hosting environment. The system shall notify the EFCRA that it is in the process of pre-empting its resources and shall permit the latter to process ultimate operations before it is suspended. The system may typically achieve this by calling a predefined method of the EFCRA, such as a “pause” function as defined by the different Java frameworks. During the time of suspension, the core software shall ensure that no other “non-system application” can access the resources that were acquired exclusively by the EFCRA.

The firmware shall stop providing secure mode indications to the user (if such indications were provided) and shall notify the user of the interruption.

When the EFCRA is reactivated, the system shall restore its context of execution. This may typically be achieved by calling a predefined method of the EFCRA, such as “(re)activate” through which the application recovers its resources.

The secure mode shall only be re-established when the EFCRA has been reactivated and has recovered exclusive access to its resources.

Figure 11 illustrates the policy for switching operating modes when an EFCRA is suspended.

10) The sensitive resources of an EFD are: the EFCR display, the EFCR keypad, the communication interfaces and the permanent storage.

25 CWA 14722-3:2004 (E)

Non Embedded FINREAD Mode Embedded FINREAD Secure Mode

EFCRA activation

EFCRA obtains exclusive access to resources switching operating mode

(indicating status to user) EFCRA running Interrupting event

EFCRA prepares for suspension and relinquishes resources

switching operating mode

handling event (indicating status to user)

EFCRA reactivation (recovering access to resources) switching operating mode

(indicating status to user) EFCRA running

t t

Figure 11 — Suspension of an EFCRA in Embedded FINREAD secure mode

The EFD leaves Embedded FINREAD secure mode and returns to Non-Embedded FINREAD mode when the EFCRA terminates. Secure mode indications shall end on EFCRA termination (if such indications were provided by the firmware)11).

4.2.4 Non-Embedded FINREAD mode

By definition, an EFD operates in Non-Embedded FINREAD mode when the conditions defined in Embedded FINREAD secure mode are not verified. 4.3 Peripherals

This chapter defines functional requirements for the 3 following EFD peripherals :  ICC reader ;

 display ;

 keypad.

11) Secure mode indications may remain if the system can ensure that the user is only interfacing with a (non EFCRA) signed application.

26 CWA 14722-3:2004 (E)

4.3.1 Integrated circuit card reader

The Interface Module (IFM) is the part of the EFCR that consists of ICC contacts, the hardware and software required for powering the ICC and for supporting communications with the ICC. The three main functional parts of an IFM are the mechanical, electrical and logic ICC interfaces.

Depending on its physical architecture, an EFD shall support one of the following ICC configurations :

 external ID1 slot : the Embedded FINREAD device supports an IC card reader where any ID1 IC card may be inserted (removed). These devices include often an additional slot for the subscriber module(e.g. ID000 SIM for mobile phones or ID1 conditional access card for set-top boxes) ;

 integrated dual slot : the Embedded FINREAD device supports two ID000 slots. One is dedicated to an IC card containing user applications addressed by EFCRAs, and the second is dedicated to the subscriber module ;

 mono slot : the Embedded FINREAD device supports an ID000 slot for an IC card on which the subscriber module applications and the user applications addressed by EFCRAs coexist.

4.3.1.1 Compliance with technical standards for integrated circuit cards

When an Embedded FINREAD IC Card reader is used in an integrated dual slot or an external ID1 slot configuration, the slot interfacing with the user ICC (ID1 or ID000) shall be compliant with the following technical standards :

 EMV 2000 ICC Application Specification for Payment Systems Version 4.0, December 2000

 Book 1: Application Independent ICC to Terminal Interface Requirements

The compliance to these standards is only required up to “Level 1” – a de-facto term derived from the application independent sections of the EMV specifications.

In addition to the EMV specifications, an Embedded FINREAD IC card reader should be compatible with :

 ISO/IEC 7816 : Identification cards – Integration circuit(s) cards with contact

 Part 1 : Physical characteristics

 Part 2 : Dimensions and location of the contacts

 Part 3 : Electronic signals and transmission protocols

An Embedded FINREAD IC Card Reader shall support T = 0 and T = 1 protocols. Other protocols may also be supported.

In a mono slot configuration where the subscriber module is an ID000 SIM card inserted in a mobile phone, the ICC interfaces provided by the EFCR shall comply with the 3GPP TS 31.111, GSM 11.11 and GSM 11.12 requirements.

4.3.1.2 ICC insertion/removal

External ID1 slot Embedded FINREAD devices shall detect insertion and removal of the user ICC.

4.3.1.3 Protocol management

If the IC card application is located in the SIM card as an SIM Toolkit application, access is granted according to SIM-API for Java cards ETSI TS 101 476 through a high level interface (using commands). If the IC card application is located in an external ID1 card or a second chip (ID000) then standard APDUs apply.

The Embedded FINREAD device shall provide functionality to establish communication with the IC card.

27 CWA 14722-3:2004 (E)

In mono-slot configuration based on SIM Toolkit applications, communication between EFCRAs and user ICC application shall be compliant to SIM-API for Java cards ETSI TS 101 476 through a high level interface (using envelope commands).

In external ID1 slot or integrated dual slot configuration communication between EFCRAs and user ICC applications is performed through the use of APDU commands.

4.3.2 Display

An Embedded FINREAD device shall include a display resource.

The display is a resource that may be shared between EFCRAs and non-Embedded FINREAD applications.

4.3.2.1 Physical characteristics

The EFD shall support the alphanumeric ISO/IEC 8859-15 latin alphabet No. 9 character set for the display. The EFD shall make available a logical display of 4 lines of 20 characters per line. The minimum physical display size shall be 2 lines of 16 characters per line. If the physical size of the EFD display is smaller than the logical size, the core software shall provide some type of scrolling or another mechanism to make all displayed information available.

4.3.2.2 EFCR display access requirements

In Embedded FINREAD secure mode, a subset of the display (area, window, …) shall be exclusively dedicated (locked) to the activated EFCRA. Either the Java platform provides the applications with explicit mechanisms to claim exclusivity on the display, or it shall implicitly grant the EFCRA with exclusive access to this resource.

4.3.3 Keypad

An Embedded FINREAD device shall include a keypad resource.

The keypad is a resource that may be shared between EFCRAs and non-Embedded FINREAD applications.

4.3.3.1 Physical characteristics

The keypad of an EFD may consist of several technologies, such as a physical keypad, touch screen or menu system. As a minimum requirement, it shall allow for the submission of a numeric PIN, including at least “enter”, “clear” and “cancel” functionality.

4.3.3.2 EFCR keypad access requirements

In Embedded FINREAD secure mode, the EFCR keypad shall be exclusively dedicated (locked) to the activated EFCRA. Either the Java platform provides the applications with explicit mechanisms to claim exclusivity on the keypad subset, or it shall implicitly grant the EFCRA with exclusive access to this resource.

The user shall always be able to distinguish without ambiguity the application he is interacting with through the keypad from the other active applications.

4.4 Embedded FINREAD Card Reader Applications

4.4.1 Embedded FINREAD card reader applications overview

The main objective of the present CWA is to provide payment schemes, financial institutions and any other application providers with a tool for designing and describing their specific applications in a vendor independent environment for a given type of devices : private devices or personal devices.

The EFCRA is an extension of the Embedded FINREAD aware application, which resides in the EFCR and accesses the ICC application and the EFCR resources: ICC interface, display, keypad, cryptographic functions,

28 CWA 14722-3:2004 (E)

security module, etc. The EFCRA is a very sensitive part of the overall application which is under the direct control of the application provider.

Subclause 4.1.2 describes interactions between EFCRAs and the other Embedded FINREAD components.

The EFCRA is executed within the Java environment of the EFCR and interfaces the core software of the device through a standardised API. This document references 3 standard Java technologies : MIDP, STIP, DVB-MHP (see subclause 4.1.2.3).

Dialogues (commands, data exchanges, …) between EFCRAs and the other elements of the overall application (local or remote) are application-dependent and are outside of the scope of this CWA.

The Embedded FINREAD application provider is entirely responsible for developing its EFCRAs. EFCRAs development should follow several rules taking the security of all the different application providers into consideration. For example, in the context of a payment application, an EFCRA should not transmit the cardholder’s PIN in clear text to any other local or remote applications.

4.4.2 Management of FINREAD card reader applications

4.4.2.1 Development and distribution of EFCRA

The Embedded FINREAD specifications address different application providers, vendors and users across different industries.

Management and proper deployment of Embedded FINREAD applications rely on the establishment of a set of rules and conventions that shall be considered by the different actors concerned.

These rules should consider aspects such as :

 naming convention consistency ;

 programming rules (locking of resources, user interface management, handling of exceptions and errors, secure PIN handling, …) ;

 certification procedures (evaluation, signature, …) ;

 selection of appropriate certification authorities ;

 deployment (application discovery, versioning of applications, documentation, guidelines, …).

These different aspects are outside of the scope of this CWA.

4.4.2.2 Downloading of a new EFCRA

The EFCR may download one or more EFCRA(s).

Downloading of an EFCRA includes implicit replacement if a new version of an existing EFCRA is downloaded.

The download format contains signed information concerning the EFCRA such as identification, version number, etc. (for more details see Part 4 of this CWA – Embedded FINREAD Technical Architecture and APIs).

Authenticity of the downloaded EFCRA is ensured by adding a signature. The detailed security mechanisms used (algorithm, key length, key management, etc.) are defined in part II of this document – Security Specifications.

The EFCR shall verify the signature added to the EFCRAs at download time.

Processing performed by the EFCR core software during EFCRA downloading is vendor-dependent: information displayed, memory management, behaviour with insufficient memory, etc.

29 CWA 14722-3:2004 (E)

The EFCR shall ensure the unaltered status of the EFCRAs while they remain in the EFCR after being downloaded.

The EFCR shall be able to provide the user of the device with the list and version of the EFCRAs downloaded.

4.4.2.3 Activation/Termination of EFCRAs

EFCRA activation is either initiated by the user of the device or by an EFAA. The different potential activation procedures are described in subclause 4.1.2.3 of this document.

The EFCR shall switch to secure mode when an EFCRA is activated and has obtained the exclusive accesses to resources it requested

Each EFCRA shall clearly identify itself to the user as an Embedded FINREAD card reader application each time it is activated in the EFCR.

Termination of EFCRAs is application-dependent. An EFCRA may either terminate by itself, be terminated by the user, the system or by the EFAA.

When the EFCRA terminates, the EFCR core software shall ensure that no application data remains accessible to other applications.

4.4.2.4 EFCRA Removal

Management of EFCRA removal is not specified by this document and relies on vendor-dependent tools.

4.5 Embedded FINREAD card reader authentication

Part 1 of this CWA – Embedded FINREAD Business Requirements, specifies that :

“During a transaction an Embedded FINREAD device shall provide the means to verify that it is a genuine and certified device, in order to provide non-repudiation. It is the responsibility of the (payment) scheme provider whether or how they make use of this feature. This feature may be useful to provide additional guarantees, to restrict access for special types of transactions or to provide non-repudiation.

The implementation of the Embedded device authentication should take into account the framework of hosting devices.

This requirement shall be considered in line with statements on cost efficiency / low cost devices and security / tamper evidence.”

The Risk Analysis12) carried out for Embedded FINREAD identifies the authentication as a countermeasure for the following threats :

 device faking ;

 device cloning ;

 EFCR software emulator.

The resulting risks of these threats for business may be high but the probability of their occurrence is considered “medium-low”.

Implementation of card reader authentication may be costly and technically complex. It may be replaced by other means such as contractual agreements between the user and his service provider, audit, traces, ….

12) A comprehensive Risk Analysis was carried out for these specifications and is available under non-disclosure agreement.

30 CWA 14722-3:2004 (E)

In accordance with these different statements, these specifications do not mandate Embedded FINREAD card reader authentication.

4.6 Embedded FINREAD card reader application functions

This clause identifies the set of functionality which shall be provided by the EFCR firmware (Java platform) to EFCRAs for interfacing the EFCR resources. Depending on the specific architecture of the EFD, this firmware may be distinct from the hosting device firmware or (partly) shared with the latter (Figure 12).

Hosting device EFCR environment EFCRA

API

Standard Java platform

Hardware + OS

keypad storage ICC slot

communication display interface

Figure 12 — EFCR firmware interface to resources

Each function is described below. The detailed interfaces provided by the specific Java technologies referenced by these specifications (MIDP, MHP, STIP) is described in Part 4 of this CWA – Technical Architecture and APIs.

4.6.1 General functions

4.6.1.1 Embedded FINREAD card reader status

The EFCR firmware shall provide EFCRAs with functions to access general information about the EFCR/EFD status. Depending on the hosting device software environment, this information may include EFD identification, vendor, preferred language configuration, …

4.6.1.2 Functions used to access the logical display

The EFCR firmware shall provide functions to present a message on the EFCR logical display. The EFCR logical display may consist of a subset of the EFD physical display such as an area or a window.

31 CWA 14722-3:2004 (E)

The EFCR firmware shall provide functions to clear the EFCR logical display.

The EFCR firmware shall provide functions to obtain the logical display properties. These properties may include the number of lines and characters per line or the display resolution.

4.6.1.3 Functions used to access the keypad

The EFCR firmware shall provide functions for requesting key entries.

4.6.1.4 ICC interface

The EFCR firmware shall provide functions allowing management of the ICC by the activated EFCRA.

In case of external ID1 slot or internal dual slot configuration, EFCR firmware functions shall enable ICC power control (power on, power off, warm reset). These functions shall indicate the presence of the ICC. The EFCR firmware shall provide EFCRAs with functions to transmit APDUs to the ICC and to receive responses.

In case of mono slot configuration, the EFCR firmware functions shall enable transmission of SIM Toolkit envelop commands and reception of responses.

The EFCR firmware shall provide functions to select an ICC interface if there is more than one available.

4.6.1.5 Management of permanent application data

The core software shall provide functions to manage EFCRA permanent data in a permanent memory location. Permanent data management includes writing, reading, modifying and deleting. An EFCRA shall be able to manage private permanent data which are not accessible by other applications.

Private permanent data shall be removed when the EFCRA is removed.

4.6.1.6 Communication

The EFCR firmware shall provide functions that allow the activated EFCRA to establish connections and exchange data with other applications (e.g. distant EFAAs). These applications may either run on the EFD firmware or reside on a remote entity.

The EFCR firmware functions shall include client HTTP functionality.

4.6.1.7 Exclusive access to resources

As several applications may run concurrently and share the same resources, the EFCR firmware shall either provide EFCRAs with explicit mechanisms to claim exclusivity on sensitive resources, or implicitly grant the EFCRAs with exclusive access to these resources.

4.6.2 Cryptographic functions

The implementation of common algorithms in the firmware provides a standardised cryptographic interface to all EFCRAs, simplifies development and reduces downloaded application size.

The EFCR core software shall provide encryption and decryption functions using symmetric algorithms. It shall also provide functions to compute asymmetric algorithms with public keys.

The EFCR firmware shall provide functions to calculate hash algorithms.

It shall be able to generate pseudo-random numbers. The algorithm used to compute random numbers and the statistical quality of the random number generator is defined in part II of this document – Embedded FINREAD Security Specifications.

32 CWA 14722-3:2004 (E)

Algorithms to be implemented and their characteristics, key length, operating mode and standard compatibility are defined in part II of this document – Embedded FINREAD Security Specifications.

4.7 Embedded FINREAD Aware Application functions

This clause identifies the services provided by the EFD firmware to EFAAs. Implementation of these services is vendor-dependent.

Web server

EFAA

EFCR EFAA EFCRA

Java Platform (JVM, AMS, APIs)

Hardware + OS

Hosting device

Figure 13 — Firmware interface between EFAAs and the EFCR

4.7.1 Embedded FINREAD card reader properties

The EFD firmware should provide both local and distant EFAAs with functions to retrieve the EFCR properties such as the EFCR unique identification, the preferred language codes, … The complete list of properties is specified in part 4 of this CWA – Embedded FINREAD Technical Architecture and APIs.

4.7.2 Functions related to Embedded FINREAD card reader applications

The EFD/EFCR firmware shall provide functions enabling activation of an EFCRA by EFAAs (local or distant).

The EFCR firmware may provide functions allowing EFAAs (local or distant) to exchange data with the activated EFCRA.

The EFCR firmware should provide functions allowing an EFAA to terminate an EFCRA.

The user of the device shall be able to activate and terminate an EFCRA. In some cases the execution of EFCRAs relies on parameters provided by EFAAs at activation time, in such case activation of the EFCRA by the user will fail and an error message should notify the user.

33 CWA 14722-3:2004 (E)

4.8 Application provisioning and key management functions

4.8.1 Provisioning

Provisioning includes the stages of applications discovery, download, installation and removal.

Application discovery is realised through device-dependent mechanisms which are outside of the scope of this CWA.

EFCR specific functions shall enable EFCRAs download, installation and removal as specified in subclause 4.4.2 of this document.

4.8.2 Key management

The EFCR firmware functions shall support the key management needed to verify the authenticity of EFCRAs before their installation on the platform, as described in part II of this document – Embedded FINREAD Security Specifications.

It shall also support the key management needed to verify the authenticity of new firmware components as described in the part II of this document – Embedded FINREAD Security Specifications.

4.9 Vendor specific functions

This subclause identifies functions that shall be supplied by the EFCR vendor.

The method for implementing these features is vendor-dependent. No detailed API is specified by this CWA.

4.9.1 Core software downloading

The firmware of the EFCR offers a high level of functionality that requires substantial infrastructure. Therefore in order to add new functionality or modify existing functionality it is recommended to provide an upgrade capability for the factory loaded core software.

The EFCR vendor should provide tools to permit downloading of new versions of the core software.

The EFCR shall verify the authenticity of the core software after downloading. Mechanisms used to check core software authenticity are vendor-dependent.

The EFCR vendor shall ensure the unaltered status of the core software installed in the EFCR.

4.9.2 Language configuration

The EFD firmware shall permit the user to specify his preferred language and shall at least support the English language.

5 Part II – Security specifications

5.1 Assumptions

The following security assumptions were imported from the Embedded FINREAD Risk Analysis. Assumptions cover information about the intended usage of the EFCR, including such aspects as the intended environment application and possible limitations of use.

The assumptions considered for the EFCR are divided into the following categories :

 general assumptions ;

34 CWA 14722-3:2004 (E)

 assumptions about the intended usage of the EFCR ;

 assumptions about the environment in which EFCR is planned to be used.

5.1.1 General assumptions

A.SECURE_ICC

The security level of the IC Card is not within the scope of the Risk Analysis. It is assumed that the (payment) scheme or the (financial) institution have chosen the appropriate security requirements for the IC Card.

A.SECURE_SCHEME

The security level of the payment scheme or any other financial scheme is assumed to be secure in itself. The EFCR does not add security to the application itself but provides a secure interface for cardholder interaction.

A.CONFIDENTIAL_DATA

The EFCR is not expected to provide physical protection for the storage of confidential data.

5.1.2 EFCR environment assumptions

A.EXTERNAL_DATA

Confidential data in the EFCR environment (e.g. private keys for signing of applications) used for any type of download are kept in a secure environment.

A.USER_CONTROL

The EFCR is intended to be used under direct control of its possessor. The use of an EFCR for a public use is out of considered scope.

A.CERTIFIED_EFCRA

In secure mode, the EFCR is intended to be used with certified EFCR applications. A certified (signed) EFCRA is assumed to be secure at download.

A.TRUSTED_FIRMWARE

The EFCR firmware is secure at installation. EFCR firmware is assumed to be secure at first-time installation.

A.USER_EDUCATION

End-users are informed of proper use and of their responsibilities when using the EFCR.

5.1.3 Other environment

A.DEVT_POLICY

All actors managing EFCR and EFCRA issue and maintain a written procedure which describes their security rules, and apply it in the design environment.

35 CWA 14722-3:2004 (E)

A.PROD_POLICY

The manufacturer issues and maintains a written procedure which describes the security rules, and applies it in the production environment.

A.OPERATING_POLICY

The device operators along with the application providers issue and maintain a written procedure which describes the security rules, and applies it in the operating environment.

A.EXTERNAL_KEYS

All actors generating and/or managing cryptographic keys ensure their protection at all times.

5.2 Security Requirements

This clause presents the security functional requirements which were defined by the Embedded FINREAD Risk Analysis.

These requirements are split into the following categories :

 security requirements for the EFCR ;

 security requirements for its environment, some of which can be related to organisational security policies (OSP), and other need to be refined in security measures.

As indicated for each security requirement, implementation may either be specified by this document or outside of the scope of this CWA.

5.2.1 EFCR Security Functional Requirements

The following set of Security Functional requirements shall be fulfilled.

5.2.1.1 EFCR related requirements

SR_EFCR_Unique_ID

The EFCR shall provide a unique identification number for itself or for the EFD to which it is inseparably joined. Implementation : shall be compliant with industry conventions

SR_Keypad_NoLeakage

The EFCR shall not allow disclosure by audible feedback from the keypad. Implementation: vendor-dependent

5.2.1.2 Firmware related requirements

SR_Firmware_Integrity_Verification

During use stage, the EFCR shall be able to verify the integrity of firmware extensions or updates, after downloading and before installation. This requirement also applies to all native code applications. Implementation : vendor-dependent; cryptographic mechanisms and related security parameters such as key lengths shall conform to cryptographic standards suitable for high strength of function.

SR_Firmware_Authenticity_Verification

36 CWA 14722-3:2004 (E)

During use stage, the EFCR shall be able to verify the authenticity of firmware extensions or updates, after downloading and before installation. This requirement also applies to all native code applications.

Implementation : vendor-dependent; cryptographic mechanisms and related security parameters such as key lengths shall conform to current cryptographic standards suitable for high strength of function.

SR_Firmware_Integrity_Protection

The EFCR shall not allow firmware operation when code or permanent data modification of related parts of the firmware have been detected. Firmware integrity check shall be performed at least between reset and code use. This requirement also applies to all native code applications.

Implementation : vendor-dependent

SR_Data_Transfer_Protection

Information entered by the user shall not be accessible to any other application during its transfer to the active EFCRA.

All data exchange between the active EFCRA and the peripherals shall not be disclosed to any other application.

Sensitive data exchanged between the active EFCRA and any remote peripheral shall not be disclosed to eavesdroppers.13

Implementation : vendor-dependent

SR_Applet_Signature_Verification

The EFCR shall verify the signatures of all signed applets at download and before installation. All signatures shall be valid within the Internal Confidence Tree. Any rights included in the download package shall be signed as well. If the signatures verification fails, either the applet is not installed, or it is considered as unsigned. Implementation : see clause 5.3.1.1

SR_Secure_Mode_Indication

When the user is using an EFCRA, the core software shall give indication to the user he is using a signed application by means which are inimitable by non-signed applications (e.g. lighting of a dedicated LED, display of a specific icon in a system area of the screen, …) If this function is implemented, then SR_Access_Restriction is not required.

Implementation : vendor-dependent

SR_Access_Restriction

The core software shall deny unsigned applications the access to the ICC reader interfacing with the user ICC application, as well as to any communication resource enabling communication with external entities. If this function is implemented, then SR_Secure_Mode_Indication is not required.

Implementation : vendor-dependent

SR_Residual_Information_Protection

13 It is recommended that vendors define a standardised solution for secure sensitive data transfer (in particular the PIN) between a Remote Control peripheral and the set-top box

37 CWA 14722-3:2004 (E)

EFCR firmware shall ensure that any information located in one of its resource (e.g. memory) will be unavailable after release of the resource from an EFCRA.

Implementation : vendor-dependent

5.2.1.3 Access control related requirements

SR_Access_Control_Policy

An Access Control policy shall be defined, which identifies the subjects (firmware, EFCRA, other signed applets, non signed applets, …), authorised to access to the EFCR peripherals (keypad, display, ICC interface, …).

Implementation : vendor-dependent

SR_Access_Control_Functions

Access Control Functions shall be implemented in order to :

 control the attributes (i.e. information used by the firmware to set the access rights) of downloadable software components (firmware, EFCRA, other signed applets, non signed applets…) ;

 assign to such software the corresponding access rights to EFCR resources (memory, display, etc...) ;

 verify that the assigned access rights are respected.

Implementation : vendor-dependent

SR_EFCRA_Exclusive_Access

All EFCRA shall have exclusive access to resources needed during their execution (memory, display, etc.). In case of interrupt handling, SR_EFCRA_Interruption also applies.

Implementation : vendor-dependent

5.2.1.4 Applications related requirements

SR_EFCRA_Integrity

The EFCR shall not allow execution of an EFCRA whenever unexpected code and permanent data modification have been detected. EFCRA integrity check shall be performed at least between reset and code use.

Implementation : vendor-dependent

SR_Bytecode_Verification

The Java virtual machine shall control code-correction of all applets (such as bytecode verification) before execution. Not well-formed applets shall not be executed.

Implementation : as specified by the applying Java specifications.

SR_EFCRA_Context_Isolation

The EFCR shall ensure application runtime isolation of EFCRAs, and shall allocate exclusive memory to the active EFCRA.

Implementation : vendor-dependent

38 CWA 14722-3:2004 (E)

SR_EFCRA_Interruption

Since Interrupt of EFCRA is possible, the firmware shall warn the EFCRA when it is going to be interrupted. The EFCRA shall be able to finish its current operations, then pause and give up control to the firmware. During the time of suspension, the core software shall ensure that no other “non-system application” can access the resources that were hold exclusively by the EFCRA. After interrupt handling, the firmware shall give the control back to the EFCRA and resume its execution.

Implementation : vendor-dependent

5.2.1.5 Cryptographic requirements

SR_EFCR_Crypto_parameters

All cryptographic schemes, algorithms and associated security parameters (such as key length) used by the EFCR shall prevent signature forging and related key disclosure.

Implementation : vendor-dependent

SR_EFCR_RPK_Management

An initial set of Root Public Keys is installed prior to use stage. Any modification in the set of Root Public Keys (update, revocation, installation…) shall be done under the control of one or more current RPKs.

Implementation : vendor-dependent, but shall be conform to Key management mechanisms defined by clause 5.4 of this document

5.2.2 Security Functional Requirements for the IT EFCR Environment

SR_EFCRA_Identification

Each EFCRA shall clearly identify itself to the user as an Embedded FINREAD card reader application each time it is activated in the EFCR (e.g. through the means of a message on the display).

Implementation : application provider dependent

5.2.3 Security Functional Requirements for the EFCR non-IT Environment

SR_User_Education

End-users shall be informed of proper use and of their responsibilities when using the EFCR.

Implementation : non-applicable

SR_EFCR_Visual_Identity

A visual element shall be provided to the user to identify the device as being Embedded FINREAD.

Such visual element may appear outside of the EFD itself, e.g. in packaging or documentation delivered with the device.

39 CWA 14722-3:2004 (E)

5.3 Specification of implementation

This clause specifies the security mechanisms that shall be supported by the EFCR. Two functions are covered by these specifications: secure software downloading and secure access to resources.

5.3.1 Secure downloading

This section focuses on the detailed specification of downloading EFCRAs and keys.

The EFCR only accepts authenticated data packages. Authentication is ensured by verifying the signature associated with the data packages. Authentication of incoming data packages provides the EFCR with two security functions: integrity of the data package and authenticity of the sender.

The signature mechanism is based on asymmetric cryptography. The signature is issued by an appropriate certification authority. Only a successfully verified data package can be installed in the EFCR. If signature verification fails, download is aborted and memory freed. The EFCR behaviour (message to display, new attempt at downloading…) is vendor-dependent.

5.3.1.1 Embedded FINREAD Card Reader Applications

Secure downloading of EFCRAs relies on PKI authentication mechanisms which are defined by the specific EFCR Java platform specifications. Each public key used to perform EFCRA authentication is associated with a set of resource access rights which is assigned to the application. Each new EFCRA shall be successfully verified by the EFCR before it is installed on the platform.

The following paragraphs recapitulate the specific PKI conventions supported by the 3 Java technologies referenced by this CWA: DVB-MHP, MIDP and STIP. It lists the different standards supported by these platforms for public key certificates, signature algorithms and distribution file format (i.e. the format of the signed application package containing the EFCRA and its associated data).

DVB-MHP 1.1 :

EFCRA and related resources shall be signed by the appropriate certification authority(ies). Related PKI authentication conventions used by DVB-MHP are the following :

 public key certificate format : “Internet X.509 Public Key Infrastructure Certificate and CRL Profile” [RFC2459]) ;

 required signature algorithms : MD5 with RSA and SHA-1 with RSA, as specified by PKCS#1 “RSA Encryption” Version 1.5 [RFC 2313] ;

 distribution file format : DVB-MHP enables downloading of hierarchical file structures. Formats of these structures are transport-protocol dependent. Three different file formats are defined: “hash file”, “signature file” and “certificate file”. Java applications bytecode is transmitted as a file without additional formatting.

Detailed description of the application authentication mechanisms defined by DVB-MHP can be retrieved from the DVB-MHP specification V1.1 clause 12 - “Security”.

MIDP 2.0 :

EFCRAs and related resources shall be signed by the appropriate certification authority(ies). Related PKI authentication conventions used by MIDP 2.0 are the following :

 public key certificate format : “Internet X.509 Public Key Infrastructure Certificate and CRL Profile” [RFC2459]) ;

 required signature algorithms : SHA-1 with RSA as specified by PKCS#1 “RSA Encryption” Version 2.0 [RFC 2437] ;

40 CWA 14722-3:2004 (E)

 distribution file format : combination of the MIDlet suite Java Application Descriptor (JAD) and of the MIDlet suite Java Archive (JAR). The JAD includes MIDlet suite identifiers, download parameters, JAR hash and signature.

Detailed description of the application authentication mechanisms defined by MIDP 2.0 may be retrieved from the MIDP specification V2.0 clause 2.

STIP 2.1 :

STIP 2.1 does not specify the download of applications. Nevertheless the STIP Consortium is working towards the release of a new version which defines the following conventions for the downloading of applications :

EFCRAs and related resources shall be signed by the appropriate certification authority(ies).

 public key certificate format : “Internet X.509 Public Key Infrastructure Certificate and CRL Profile” [RFC2459]) ;

 required signature algorithms : SHA-1 with RSA, as specified by PKCS#1 “RSA Encryption” Version 1.5 [RFC 2313] ;

 distribution file format is based on PKCS#7 “Cryptographic Message Syntax” Version 1.5, revised November 1st 1993 . For application code and data packaging, STIP recommends the use of ISO/IEC 20970 J Execution File Format (JEFF). JAR file format may also be supported by STIP compliant platforms.

5.3.1.2 Keys

EFD/EFCRs contain an initial set of public keys/certificates which is loaded during the manufacturing process.

It may be possible for an EFCR to enrich or to update its set of public keys with new keys. In such case, new downloaded keys shall be inserted in a data package signed by an appropriate certification authority. Authenticity of this data package shall be verified by the firmware before it integrates the new keys.

Specific mechanisms related to secure downloading of new public keys are defined by the EFCR Java platform specifications as follow :

DVB-MHP 1.1 :

DVB-MHP enables downloading of new public key certificates through the use of “certificate files”, as introduced by subclause 5.3.1.1 of this document.

Detailed description of the secure key downloading mechanisms defined by DVB-MHP may be retrieved from the DVB-MHP specification V1.1 clause 12 - “Security”.

MIDP 2.0 : not specified

STIP 2.1 : not specified

Embedded FINREAD security policies related to installation of new public keys on the device are specified in clause 5.4 of this document - “Key management”.

5.3.2 EFCRA resources access policies

As defined in part I of this document, the EFD firmware shall grant EFCRAs the access to all the resources of the EFCR. An EFCRA which was successfully authenticated by the Embedded FINREAD “root key”14) shall either obtain implicit access rights to resources or be granted with such rights when requesting access permission to the

14) Subclause 5.4 of this document provides detailed information on EFD key management.

41 CWA 14722-3:2004 (E)

firmware. In some cases user validation may be requested by the core software before authorising an EFCRA to access a sensitive resource.

The following paragraphs recapitulate the resource access policies defined by the different Java environments referenced by this CWA, and specify the implementation of Embedded FINREAD resources access requirements for each of these environments.

DVB-MHP 1.1 :

In DVB-MHP, signed applications have limited access to platform resources. An application broadcaster can request additional permissions to access specific resources by providing a signed "Permission Request File" along with the application. The Permission Request File is an XML File, for which the DTD (Data Type Definition) is defined in the DVB-MHP specification.

Resources whose access by EFCRAs needs to be explicitly requested by a Permission Request File are listed hereafter.

 ICC readers ;

 persistent data storage ;

 communication.

Detailed description of DVB-MHP application access rights policies may be retrieved from the DVB-MHP specifications V1.1, subclause 12.6.

MIDP 2.0 :

In MIDP 2.0 signed MIDlet suites have limited access to resources functionality. An application provider can obtain the right to use specific class functionality by requesting the related access permissions in the MIDlet-Permissions and MIDlet-Permissions-Opt attributes of the manifest file15) of the JAR containing the MIDlet suite.

Protected functions (i.e. functions which require specific access permissions to be used by applications) are identified by the related class/interface documentation. Protected functions are associated with a permission name which is used in the manifest file to request the appropriate access permissions. The same mechanisms may be used by applications to request access to all the methods of a given class or to all the classes of a given package.

Authorisation of signed MIDlet suites uses protection domain information (i.e. default rights of applications which were authenticated by a given resident public key), permissions on the device, and permissions requested in the MIDlet suite. Permissions in the domain are Allowed or User. Permissions requested by the application are either critical or not-critical.

The Allowed permissions are any permission which explicitly allows access to a given protected function on the basis of MIDlet suite being associated with the protection domain. Allowed permissions do not require any user interaction.

The User permissions are any permission for a protected function on the basis of MIDlet suite being bound to the protection domain and will allow access to protected functions after the prompt given to the user and explicit user permission being granted.

The EFCR core software shall grant EFCRAs with Allowed access permissions to all EFCR resources which are specified critical by the applications16.

STIP 2.1 :

15) The manifest file of a JAR consists of a list of files present in the archive and a set of attributes.

16 EFCRAs may only receive User access permissions for communication resources

42 CWA 14722-3:2004 (E)

The STIP 2.1 specification does not define access rights security policies for applications. An EFCRA obtains access to any resource by requesting this access to the framework. Accessing a sensitive resource locks the latter and makes it unavailable to other applications until it is explicitly released.

5.4 Key management

EFCR key management is based on public key infrastructures with certification authorities that use asymmetric cryptography and X509 v3 certificates.

This clause starts with a general overview of the hierarchical certification scheme, then it describes the EFCR key management; finally this clause deals with the length of the keys to be used.

5.4.1 Hierarchical certification scheme

In public key infrastructure management, several types of certification schemes are possible.

The most common solution uses a centralised scheme with Certification Authorities (CA) organised in a tree structure (see Figure 14). At the top of the tree, there is a single root certification authority. In a centralised scheme it is possible to have n levels and m branches. In the simplest case there is just one level and one branch, the root CA.

Figure 14 — Example of a hierarchical certification tree

In this organisation every CA knows the higher level CA. The higher level CA issues certificates for the public keys of the immediate inferior CAs.

In Figure 14, the root CA issues certificates for the public keys of CA11 and CA1m, CA11 issues a certificate for CA211, CA1m for CA21m.

For end users, every end user entity has its certificate signed by its CA; CA211 signs the certificates of entity1.

CA21m signs the certificates of entity3.

The public key of the root CA is made available for all entities belonging to all the certification authorities that recognise the root CA.

43 CWA 14722-3:2004 (E)

When an entity shall verify the signature of information coming from an entity that does not belong to its CA but is in the same hierarchical tree, it has to access to all intermediate certificates (certificate chain) up to the root.

If entity3 needs to sign a message destined for entity1, it shall send the information signed with its public key along with the certificate chain. That is :

 its certificate signed by CA21m ;

 the certificate of CA21m signed by CA1m ;

 the certificate of CA1m signed by the root CA.

For signature verification, entity1 shall verify :

 the certificate of CA1m with the root CA public key ;

 the certificate of CA21m with the public key of CA1m ;

 the certificate of entity3 with the public key of CA21m ;

 the signature of the message with the public key of entity3.

5.4.2 Public key certificates management

Figure 15 shows an example of a set of public keys that may be supported by an Embedded FINREAD device.

One or more root key certificates (RPK) may be installed at the root level.

The hierarchy may contain several intermediate level certificates (CPK); public keys of each intermediate level are certified by the upper level key.

Embedded FINREAD public key certificates may be installed as a root public key certificate (EF RPK) or as an intermediate level public key certificate (EF CPK).

Root Public Key Root RPK RPK EF RPK RPK level

CPK CPK

Intermediate (certified) level EF CPK CPK CPK

CPK CPK CPK CPK CPK

Applet Unsigned Applet level Applet Applet Applet Applet Applet

Figure 15 — Example of a set of public keys for an Embedded FINREAD device

44 CWA 14722-3:2004 (E)

An EFD shall support at least one root public key certificate. The EFCR shall support at least one Embedded FINREAD public key certificate used to authenticate EFCRAs. This certificate may be installed at the root level or at an intermediate level.

All certificates installed on the EFD which are used by the core software to verify downloaded software shall be verified before use. Certificates verification includes validation of certificates parameters (e.g. expiration date, key usage, key algorithm, …) and verification of non-revocation either by Certificate Revocation List (CRL) or by Online Certificate Status Protocol (OCSP).

5.4.2.1 Root public key certificates

Lifecycle of EFD root public key certificates17) includes several stages : installation, update and removal (due for example to certificate expiration). Root public key certificates may also be revoked.

One or more root public key certificates is/are installed at device manufacturing time.

At device use stage, installation of new root public key certificates shall only be achieved under the control of an existing root key. One example could be the installation of a download package containing a new root certificate that is signed by the manufacturer RPK which was installed in the device at manufacturing time.

When a security module (e.g. a SIM) is present on a mobile phone EFD, the extension of the device’s initial set of root key certificates by certificates residing in the security modules shall follow the requirements defined by the MExE specifications, stage 2, subclause 8.5.

An EFD shall support mechanisms for updating and removing its set of root public keys. Verification of revocation shall be performed as described in subclause 5.4.2 of this document.

An overview of the root public key certificates management mechanisms defined by the EFCR Java platform referenced by this CWA is provided hereafter :

DVB-MHP 1.1 :

Installation, update and removal are performed through the use of Root Certificate Management Messages (RCMM). RCMMs contain the list of certificates to remove and of certificates to install on the device (updating a certificate is achieved by removing it through the first list and installing its updated version through the second). RCMMs are signed by at least 2 private keys corresponding to root public keys installed in the device.

Detailed description of the use of RCMMs by DVB-MHP may be retrieved from the DVB-MHP specifications V1.1, subclause 12.9.2 - “Root Certificate Management”.

MIDP 2.0 :

Installation, update and removal of root public key certificates are not specified.

Revocation control is not mandatory. If supported by the device, revocation control shall at least support OCSP (see MIDP 2.0 specification – “MIDlet Suite Security” for detailed information on key revocation).

STIP 2.1 :

Key management is not specified.

5.4.2.2 Intermediate level public key certificates

EFDs may contain intermediate level public key certificates.

17) Depending on devices specifications, the highest level in the certification tree of a platform may either consist of a set of root public keys or of a set of root public key certificates. This document uses indifferently the term “root public key certificate” to designate these elements.

45 CWA 14722-3:2004 (E)

Lifecycle of EFD public key certificates includes several stages: installation, update and removal. Public key certificates may also be revoked.

An initial set of public key certificates may be installed at device manufacturing time.

New intermediate level public key certificates may be installed on the device during its use stage. A new public key certificate is transmitted along with the certificate chain that permits its validation with a resident root key.

An EFD supporting intermediate level public key certificates shall implement mechanisms for updating and removing its set of certificates. Verification of revocation shall be performed as described in subclause 5.4.2.

An overview of the public key certificates management mechanisms defined by the EFCR Java platform referenced by this CWA is provided hereafter :

DVB-MHP 1.1 :

Installation, update and removal of public key certificates are not specified.

Certificates needed to authenticate new applications are downloaded as “certificate files” (as introduced by subclause 5.3.1.1 of this document).

Certificate files contain all the certificates in the certificate chain up to, and including, the root certificate18).

Revocation control of public key certificates is achieved through the use of CRL.

Detailed description of certificate management may be retrieved from the DVB-MHP specifications V1.1, subclause 12.9 - “Certificate Management”.

MIDP 2.0 :

Installation, update and removal of public key certificates are not specified.

Revocation control is not mandatory. If supported by the device, revocation control shall at least support OCSP (see MIDP 2.0 specification – “MIDlet Suite Security” for detailed information on key revocation).

STIP 2.1 :

Key management is not specified.

5.4.3 Length of the keys

RSA keys supported by Embedded FINREAD devices shall have a length greater or equal to 1024 bits.

The Java environments referenced by this CWA define the following length requirements for RSA keys :

DVB-MHP 1.1 : Maximum RSA key length shall not exceed 4096 bits.

MIDP 2.0 : Support of 2048 bit long RSA keys is mandatory.

STIP 2.1 : Not specified.

5.5 Cryptographic functions and random number generator

This clause lists the cryptographic functions that shall be implemented in the core software of the EFCR to be used by an activated EFCRA. It also gives an example of a pseudo-random number generator that shall be implemented in the EFCR.

18) The root certificate is only included in the "certificate file” for consistency

46 CWA 14722-3:2004 (E)

5.5.1 Cryptographic functions

The cryptographic API provided to EFCRAs shall functionally include : a) perform RSA computations according to R. Rivest, A. Shamir, L. Adleman, A method for obtaining Digital Signatures and Public-Key Cryptosystems. Communications of the ACM, vol. 21, n°2, p. 120-126, Feb. 1978 ; b) perform encryption and decryption operations using 3-DES in modes ECB and CBC as described in :

 ANSI draft X9.52, Triple Data Encryption Algorithm Modes of Operation, Revision 6.0, May 1996 ;

 ANSI X3.92, American National Standard for Data Encryption Algorithm, 1981 ;

 ANSI X3.106, American National Standards for Information Systems, Data Encryption Algorithm – Modes of Operation, 1983. c) perform encryption and decryption operations using AES (FIPS PUBS 197) ; d) perform hash calculations and verification using three different message digest algorithms :

 SHA-1 (160 bits) as described in NIST FIPS PUB 180, Secure Hash Standard, National Institute of Standards and Technology, Department of Commerce, Apr 1993 ;

 MD5 (128 bits) as described in R. Rivest, The MD5 Message Digest Algorithm, RFC 1321, Apr. 1992. e) generate random numbers (as described by subclause 5.5.2).

Support of these requirements by the Java platforms referenced by this CWA is described hereafter :

DVB-MHP 1.1 : No cryptographic API supported.

MIDP 2.0 : No cryptographic API supported.

STIP 2.1 : The cryptographic API which is defined complies with these specifications.

5.5.2 Random number generator

Core software shall be able to generate pseudo-random or true random numbers.

The random-number generator implemented is vendor-dependent. One example is the FIPS-approved pseudo random generator described in FIPS PUB 186-2 (2000) National Institute of Standards and Technology: Digital Signature Standard (DSS) appendix 3.3. This generator uses SHA-1 functionality offered by the EFCR.

An overview of the random number generation functionality supported by the EFCR Java platform referenced by this CWA is provided hereafter :

DVB-MHP 1.1 : No random number algorithm supported.

MIDP 2.0 : No random number algorithm supported.

STIP 2.1 : Pseudo random number generation supported.

47 CWA 14722-3:2004 (E)

Annex A

Security objectives, Security requirements and rationale

A.1 Introduction

This document introduces minimal security requirements associated to a smart card reader compliant with Embedded FINREAD specifications, thus suitable for secure transactional financial applications.

A.1.1 Identification

Title : Embedded FINREAD IC Card Reader – Protection Profile

Authors : Embedded FINREAD Consortium

General Status : First proposal to the CEN/ISSS Embedded FINREAD WS

Version Number : 0.20

Registration : none

Keywords : Embedded FINREAD Card Reader, Security Requirements.

A.1.2 Structure of the document

This document starts in chapter 2 by a description of a generic model of an Embedded FINREAD Card Reader.

Chapter 3 presents the security environment of an Embedded FINREAD Card Reader. The environment description consists in the list of assets to be protected by the EFCR the description of assumptions, threats and organisational security policies.

Chapter 4 presents the security objectives that have been identified to counter the threats described in chapter 3 and that cover the assumptions and the organisational security policies.

Chapter 5 presents the security functional requirements that have to be fulfilled by an EFCR in order to satisfy the security objectives described in chapter 4.

Chapter 6 presents the rationale that demonstrates the correct coverage between the different elements presented in the present document : assumptions, threats, security objectives and security requirements. Moreover, a correspondence between security functional requirements used in this document and the corresponding Common Criteria security functional requirements is provided.

A glossary of terms used in the document is given in this Annex A. A glossary dedicated to Common Criteria terms is provided in this Annex A.

A.1.3 References

[1] Common Criteria for IT Security Evaluation, Version 2.1 [ISO Standard 15408], August 1999.

[2] Common Methodology for Information Technology Security Evaluation, « Part 2 : Evaluation Methodology », CEM-99/045, Version 1.0, August 1999.

[3] Information Technology Security Evaluation Criteria [ITSEC], v1.2, June 1991.

48 CWA 14722-3:2004 (E)

[4] ISO 13491-1 Banking – Secure cryptographic devices (retail) – Part 1 : Concepts, requirements and evaluation methods 1998

[5] Functional Architecture and Technical Requirements (WP2), 22/03/2002

[6] Embedded FINREAD Card Reader, Risk Analysis, Draft version 0.20 – September 2002.

A.1.4 Definitions

For the purpose of the present document, the following terms and definitions apply.

Card Acceptance Device (CAD) Generally, an I/O device into which a user can insert an IC card and which provides a physical communication interface for IC card processing. A card acceptance device (CAD) commonly provides additional means for user interaction, such as a keypad and a display. CAD is a common term used by smart card related industries to be synonymous with a smart card terminal or IC card reader device. In the context of Embedded FINREAD, CAD shall mean the type of Embedded FINREAD device which will allow direct IC card insertion at the man-machine-interface (e.g. based on a dual slot mobile phone), whereas other possible types ( e.g. based on a mono- or bi-chip mobile phone ) might not.

Card Reader Application / Software Module Device independent software module or application that can be stored and executed by an Embedded FINREAD IC card reader.

Embedded FINREAD aware application Software program that runs either in the hosting device environment or on a distant entity. This application relies on the functionality provided by one or more ICCs and carried out in the secure environment of the EFCR. All sensitive functions required by the ICC aware FINREAD application are executed by the related EFCRA, activated in the EFCR.

Embedded FINREAD Card Reader (EFCR) Card Reader compliant to the Embedded FINREAD. A hosting device embedding this device is called Embedded FINREAD device.

Embedded FINREAD Card Reader Application (EFCRA) Java ™19) application signed by the appropriate entity that may be downloaded to the EFCR. When an EFCRA is activated and has locked its resources, the EFCR operates in Embedded FINREAD secure mode.

Embedded FINREAD Device (EFD) A hosting device with an Embedded FINREAD Card Reader.

Environment under control Environment whose security properties are guaranteed by an entity (but not especially the final user of the product)

Firmware / Core software Device dependent software provided by the vendor on top of which Embedded FINREAD application runs. For this document, the terms “firmware” and “core software” are equivalent. All native applications are considered part of the firmware.

IC card Integrated circuit card. Any IC card including both memory and processor. This definition includes bank card and SIM card formats.

Payment Scheme Scheme defined by an appropriate organisation to process payments. Payment scheme rules may include issuing and acquiring rules, IC card acceptance, clearing and settlement, …

19) Java, and all Java based trademarks are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries.

49 CWA 14722-3:2004 (E)

Personal devices Devices that are mobile but used under the control of a dedicated person such as mobile phones, PDA, etc.

As a difference to devices used in the private environment, the user of a mobile device (EFD) is already aware of the risk of loss and theft of his device.

Private devices Devices used in the private environment such as IC Card Readers connected to a PC, set-top boxes, etc.

Private environment Environment whose security properties are under control of the final user of the product.

Public environment Opened environment, shared by a set of entities, non identifiable, a priori.

UICC A removable IC card containing a USIM.

Untrusted environment Opened environment, susceptible to generate attacks, where communications can be eared, recorded and replayed (especially mobile phones radio connections or PDA I.R. connections).

USIM A 3G application on an IC card.

A.1.5 Approach

A list of threats, related to the assets to be protected by the EFCR, or related to its environment, has been identified during a previous risk analysis ([8]).

The approach to define security functional requirements is first to identify a set of objectives sufficient to counter all the identified threats that have to be taken into account. In a second time, these security objectives are refined into security functional requirements (minimum security requirements to which security functions shall comply), aiming at covering those security objectives.

Figure A.1 below presents the relationship between the elements used to describe the security at different levels, from the results of the risk analysis (assets, threats, assumptions and organisational security policies) to the security objectives and security functional requirements identified in the present document.

50 CWA 14722-3:2004 (E)

Assets Organisational To Security Policies Threats Assumptions

Are Are covered countered Are covered by by by

Security Objectives Security Objectives for the EFCR environment for the EFCR

Are covered by May be covered by

Security Requirements SecuritySecurity for the EFCR RequirementsRequirements Environment forFor the the EFCR

Figure A.1 — Relations between Threats, Security Objectives, OSP and Security Requirements

A.2 EFCR GENERIC MODEL DESCRIPTION

A.2.1 EFCR General Description

An Embedded FINREAD Device (EFD) consists in an embedded hosting environment which integrates and shares some of its resources with a logical Embedded FINREAD Card Reader (EFCR).

Secure multi-platform Embedded FINREAD environment PDA trusted environment

PDA Operator other network server Set-top box trusted TV operator TV environment network Operator server GSM network Mobile GSM trusted Operator environment server

Figure A.2 — Scope of Embedded FINREAD

Devices covered by these requirements can be classified into two different types :

51 CWA 14722-3:2004 (E)

a) private devices as a definition for devices used in the private environment such as set-top boxes. The case of a dedicated IC card reader connected to a PC is outside the scope of the document (see CWA 14174). b) personal devices as a definition for devices that are mobile, but used under the control of an individual, such as mobile phones, PDAs, etc. Compared with devices used in the private environment, the user of a mobile device is already aware of the risk of loss and theft of his device.

EXAMPLE

The EFCR together with an ICC, constitute a trusted subset of the hosting device environment that provides the security required to carry out sensitive functions.

The requirements provided by this document address several types of hardware architectures : a) integrated architecture with dual slot IC card reader (e.g. dual slot mobile phones), b) integrated architecture with second ID000 slot (e.g. dual chip mobile phones), c) integrated architecture with one subscriber module (e.g. classic mobile phones equipped with a subscriber module containing Embedded FINREAD ICC applications), d) distributed architecture (e.g. set-top boxes using the TV set as display, the remote control as keypad and having the IC card reader in the main unit).

The requirements provided by this document are built on a generic architecture covering the concrete models listed above (with additional security requirements provided for distributed architectures).

Embedded Hosting Device FINREAD Card environment Reader

other EFD keypad storage peripheral user ICC reader or resident ICC containing other EFD user applications display communication peripheral

Figure A.3 — Generic EFD architecture

This generic model can be understood as an integrated device hosting and sharing a subset of its resources with a logical EFCR.

Figure A.3 shows the generic architecture where the EFCR is a subset of the hosting device formed by the keypad, the display, the process unit with its storage device, the user ICC reader or the resident ICC containing the user applications and some communications resources (serial ports, networking, others…).

Figure A.4 below shows the hardware and software components on an Embedded FINREAD Device.

52 CWA 14722-3:2004 (E)

Hosting Device EFCR environment

EFCRA: provided by a financial institution or payment scheme

Standard Java platform (JVM, AMS, APIs)

Hardware + core software

customer keypad storage ICC reader

communication display interface

Figure A.4 — EFD Hardware and Software architecture

The main components of the EFD are the following :

 Hardware (processing unit, volatile / non-volatile memory, keypad, display, communication interfaces, I/O ports, etc.),

 Core software (also known as firmware) executing native applications that may be partially downloadable,

 Java platform operating different types of downloadable applets :

 applications called EFCRA, signed by entities acting as Embedded FINREAD Certification Authorities,

 applications signed by other Certification Authorities, or Trusted Third Parties,

 applications not signed at all, called “untrusted”.

 EFCR peripherals : keypad, display, storage memory, ICC interface connection unit (ICC reader), communication interface.

A part of these physical and logical resources can be shared between the hosting device and the EFCR.

Other logical resources shared between the hosting device and the EFCR are :

 Run Time Environment (RTE),

 EFCR authentication data.

53 CWA 14722-3:2004 (E)

A.2.2 General functionality

The objective of an EFD can be very wide: mobile phone, set top box, PDA, etc.

The objective of the EFCR embedded in the EFD is to provide a capability to perform sensitive transactions on open networks such as banking, financial, health, e-government, etc.

A minimal set of functions managed by the EFCR shall be offered by the device :

 user interface : display, keypad,

 ICC interface,

 Management of permanent application data,

 Communication,

 Applet downloading,

 Management of access to resources,

 Cryptographic functions.

A.2.3 EFCR environment and type of use

This paragraph presents the environment met by the EFCR during its life cycle.

The script presented in Figure A.5 summarises the EFCR life cycle stages.

PRODUCTION / * Manufacturing Development * Pre-Personalisation &Personalisation USE Use … Use … Use Post-use & Design * Packaging & Delivery … (Removal)

Figure A.5 — EFCR Life Cycle scheme

Each stage is described in the following paragraphs :

 Development / Design Environment;

 The development begins with the detailed EFCR specifications.

 Production Environment

The production environment includes :

 the manufacturing stage during which the EFCR is built and tested ;

 the pre-personalisation stage during which initial firmware and applications are loaded ;

 the personalisation stage during which initial public keys and personalisation data such as a unique identification number are loaded ;

54 CWA 14722-3:2004 (E)

 the packaging and delivery phase during which the EFCR is transformed into a finished product and is shipped to its intended recipient.

 Applet development and signing environment

The application provider is responsible for the secure design and development of embedded applets. The signing environment provides PKI-based services for applet signature allowing secure downloading onto the EFCR.

 Use Environment

The EFCR is used in a wide range of applications to assure reading of IC cards and processing of sensitive information in a secure way.

During the use stage, when required or requested by the party concerned (end user, possible device administrator), additional software such as EFCRA, firmware or new public keys are downloaded onto the EFCR.

Type of use is twofold:

 Remote transaction: in this case transaction actors are remotely connected through an open network (typically: e-payment, e-government, …),

 Local transaction: in this case, main actors of a transaction such as customer and merchant are in direct presence (face-to-face).

Two type of devices, defined in the general overview of this document, are considered in the present document : private devices and personal devices (See definition in § A.1.4)

 Post-use stage

In the post-use stage, the EFCR is no longer usable.

Unless otherwise specified, the security requirements developed in this document apply to the EFCR in use stage only.

Other stages are covered by assumptions on the environment :

 Development / Design Environment

 Production Environment

The intended environment of use of the EFCR has to be considered as untrusted.

Internal Confidence Tree (ICT) structure

The Internal Confidence Tree is the set of all public keys and certified objects in the EFCR. It is dynamic since most applets and signatures are downloaded and disposed during use stage. A typical EFCR Internal Confidence Tree is illustrated below :

55 CWA 14722-3:2004 (E)

Root Public Key Root RPK RPK EF RPK RPK level

CPK CPK

Intermediate (certified) level EF CPK CPK CPK

CPK CPK CPK CPK CPK

Applet Unsigned Applet level Applet Applet Applet Applet Applet

Figure A.6 —— Internal Confidence Tree overview

At root level are Root Public Keys, all installed during EFCR personalization or present in an embedded Security Module such as a SIM card. New RPKs may not be installed at use stage, existing ones may be upgraded. Apart from possible self or cross certification, RPKs are not certified by other parties.

Then comes the intermediate level of Certified Public Keys, either certified by a RPK or by a higher hierarchical CPK. CPKs may be resident or downloaded and transient. Each CPK is certified by one higher PK only.

Finally comes the applet level, either signed or unsigned. Signed applets are certified by intermediate or root public keys, and may have multiple signatures.

Since signed applets may have different privileges than unsigned ones, rules are needed for signature validation by the EFCR. Specifically :

1) (definition) a public key A certifies a public key (or a signature on an applet) B if it can successfully verify its signature (correct cryptographic matching plus possible context parameters such as expiry date, etc.) ;

2) (definition) a public key A validates a lower hierarchical public key (or a signature on an applet) B if all objects in the unique path from A to B are certified ;

3) (definition) an applet signature is valid in the ICT if it is validated by an RPK ;

4) (statement) regarding its signatures, a signed applet is valid if all its signatures are valid in the current state of the ICT.

A.3 EFCR SECURITY ENVIRONMENT

The security environment includes all the laws, organisational security policies, customs, expertise and knowledge that are determined to be relevant.

56 CWA 14722-3:2004 (E)

A.3.1 Assets

In the context of the EFCR the following sensitive assets to be protected have been identified.

A distinction is made between the EFCR “own” assets and the EFCR “user” assets :

 Own assets are those used by EFCR to perform its security functions (system data),

 User assets are those to be protected by EFCR (applications and user data).

Since user assets are dynamic and may not be known at security evaluation time, the evaluator tests the resistance of EFCR own assets, and then assesses the ability of the EFCR to protect user assets.

For instance, EFCRA are user assets, whereas EFCR data for applet downloading are own EFCR assets.

This distinction helps when defining security objectives and mechanisms.

Moreover, considering the EFCR in itself as an asset allows to handle various threats of EFD cloning, faking or stealing that cannot be left outside the scope of this study due to their possible impact on EFCR business and vendor schemes.

EFCR as a device

 The whole EFCR device can be considered as an asset for Embedded FINREAD business scheme

EFCR own assets

 Firmware (JVM, device driver, cryptographic functions, PIN handling, APIs – internal for OS usage, external for applet usage –, native code…). When EFCR firmware includes or shares any part of the hosting device firmware, whole EFD firmware is considered to be an EFCR asset ;

 EFCR Data for download authentication ;

 Housing ;

 Other hardware assets (ICC interface, Display, Keypad, Processor, Memory) ;

 EFCR data for Card Reader authentication ;

 EFCR mode.

EFCR user assets

 EFCRA ;

 Confidential or private user data.

Related assets in EFCR environment

 Data for applet signature (outside the EFCR) ;

 Restricted documents and procedures associated to the design and production of the EFCR and EFCRA.

57 CWA 14722-3:2004 (E)

A.3.2 Assumptions

The assumptions are divided into :

 general assumptions,

 assumptions about the intended usage of the EFCR,

 assumptions about the environment in which EFCR is planned to be used.

Assumptions cover information about the intended usage of the EFCR, including such aspects as the intended environment application and possible limitations of use.

Assumptions have to be covered by Security Objectives for the environment.

A.3.2.1 General assumptions

A.SECURE_ICC

The security level of the IC Card is outside the scope of the present document.

It is assumed that the (payment) scheme or the (financial) institution have chosen the appropriate security requirements for the IC Card.

A.SECURE_SCHEME

The security level of the (payment) scheme or any other (financial) scheme is assumed to be secure in itself.

The EFCR does not add security to the application itself but provides a secure interface for cardholder interaction.

A.CONFIDENTIAL_DATA

The EFCR is not expected to provide physical protection for the storage of confidential data.

A.3.2.2 EFCR environment assumptions

A.EXTERNAL_DATA

Confidential data in the EFCR environment (e.g. private keys for signing of applications) used for any type of download are kept in a secure environment.

A.USER_CONTROL

The EFCR is intended to be used under direct control of its possessor.

The use of an EFCR for a public use is out of considered scope.

A.CERTIFIED_EFCRA

In secure mode, the EFCR is intended to be used with certified EFCR applications.

A certified (signed) EFCRA is assumed to be secure at download.

58 CWA 14722-3:2004 (E)

A.TRUSTED_FIRMWARE

The EFCR is secure at installation.

EFCR firmware is assumed to be secure at first-time installation.

A.USER_EDUCATION

End-users are informed of proper use and of their responsibilities when using the EFCR.

A.3.2.3 Other environment

A.DEVT_POLICY

All actors managing EFCR and EFCRA issue and maintain a written procedure which describes their security rules, and apply it in the design environment.

A.PROD_POLICY

The manufacturer issues and maintains a written procedure which describes the security rules, and applies it in the production environment. A.OPERATING_POLICY

The device operators along with the application providers issue and maintain a written procedure which describes the security rules, and applies it in the operating environment. A.EXTERNAL_KEYS

All actors generating and/or managing cryptographic keys ensure their protection at all times. A.3.3 Threats

This paragraph lists hereafter the threats identified in the context of the EFCR, applying to use stage, unless when specified. Each threat can be seen as an action against one or more assets, and mistreating a general security characteristic.

Table A.1 — Threats and related assets

Threats Asset T.FIRMWARE_SUBSTITUTION Firmware T.EFCRA_SUBSTITUTION EFCRA T.EFCRA_FLAWS T.UNCERTIFIED_APPLET Software T.PUBLIC_KEY_SUBSTITUTION Public keys T.DEVICE_FAKING Housing T.DEVICE_CLONING EFCR as a device T.EFCR_MANIPULATION Other hardware assets T.FLOW_MANIPULATION T.ICC_MANIPULATION EFCR mode T.EFD_STEALING User Data T.EFD_BORROWING

The following paragraphs describe the relevant threats.

59 CWA 14722-3:2004 (E)

T.FIRMWARE_SUBSTITUTION

Operate unauthorised or unsecured firmware into the EFCR by : a) disclosure of the private key for firmware authentication, b) exploitation of weaknesses in cryptographic schemes used for signature verification, c) installation of non-legitimated public keys, d) local physical access, e) firmware flaws, f) back doors in the firmware.

T.EFCRA_SUBSTITUTION

Download unauthorised EFCRA into the EFCR by : a) disclosure of the private key for applet authentication, b) exploitation of weaknesses in cryptographic schemes used for signature verification, c) installation of non-legitimated public keys, d) local physical access.

T.EFCRA_FLAWS

Use of an EFCRA for an unintended purpose (a different ICC application) using : a) EFCRA flaws, b) back doors in the EFCRA.

T.UNCERTIFIED_APPLET

Use of a non Embedded FINREAD-certified applet for a malicious purpose. Potential compromising of firmware, keys and certified applets may result after : a) download of a non-certified applet, b) download of a non Embedded FINREAD-certified applet.

T.PUBLIC_KEY_SUBSTITUTION

Download of non legitimated public keys for downloads of : a) firmware, b) EFCRA.

60 CWA 14722-3:2004 (E)

T.DEVICE_FAKING

Build and distribute faked independent card readers : a) to participate in the card reader business, b) to harm the business of financial institutions or payment schemes or any other application provider.

T.DEVICE_CLONING

Build and distribute EFCR clones without card reader authentication : a) to participate in the card reader business without evaluation, b) to harm the business of financial institutions or payment schemes or any other application provider.

T.EFCR_MANIPULATION

Physical access or manipulation to an EFCR : a) monitoring communication between EFCR, its peripherals and the ICC, b) manipulation of data flow between EFCR, its peripherals and the ICC, c) altering the integrity of the EFCR memory.

T.FLOW_MANIPULATION

In case of a distributed architecture : a) monitoring the data flow between EFCR and its remote peripherals, b) generating or manipulating data flow between EFCR and its remote peripherals.

T.ICC_MANIPULATION

Misuse the ICC in non EFCR mode : a) by an unsigned applet, b) by a non Embedded FINREAD-signed applet.

T.EFD_STEALING

Impersonate the user to get access to user data by : a) stealing an EFD, b) stealing an EFD currently performing financial or sensitive operation.

T.EFD_BORROWING

Get access to transaction functionality by borrowing an EFD.

A.3.4 Organisational Security Policies

No Organisational Security Policies have been identified as relevant for the present document.

61 CWA 14722-3:2004 (E)

A.4 SECURITY OBJECTIVES

The EFCR security objectives aim at countering relevant threats identified during the risk analysis ([8]) of the EFCR security environment. The set of security objectives (both for the EFCR and its environment) shall be suitable to counter all threats and cover all organisational security policies and assumptions.

Security objectives for the EFCR have to be covered by security functional requirements for their IT part and by organisational procedures for their non-IT part.

Unless otherwise stated, the coverage of Security Objectives for the EFCR environment is outside the scope of this document.

A.4.1 Security objectives for the EFCR

This paragraph describes the security objectives related to the EFCR.

Security objectives for the EFCR are the minimum security properties granted by the EFCR, whatever its supporting equipment.

They can be seen as an “export interface” for describing the security provided by the EFCR to its users.

The EFCR security objectives are presented below. Their relations with the threats are identified and explained in the rationale (see section A.6.2.1 of the present document).

O.CRYPTO_STRENGTH

Cryptographic mechanisms and related security parameters such as key lengths conform to cryptographic standards suitable for high strength of function.

O.FIRMWARE_INTEGRITY

The firmware protects itself against unauthorised modification of its code and data available for its functions.

O.FIRMWARE_AUTHENTICITY

The firmware verifies the authenticity of all downloaded firmware extensions and updates.

O.APPLET_INTEGRITY

The firmware protects the applets against unauthorised modification of their code and data available for their functions.

O.EFCRA_AUTHENTICITY

The firmware verifies the signature of all downloaded EFCRA and their consistency in its Internal Confidence Tree.

O.EFCR_PK_INTEGRITY

The firmware protects the public keys present at use stage against unauthorised modification and prevents download of unauthorised public keys.

O.USER_CONTROL

The user shall not be misled about the type of applet running (EFCRA or not) and is aware when and how a transaction is performed.

O.EFCR_ID

62 CWA 14722-3:2004 (E)

The firmware provides an EFCR unique identification number. A visual element provides the user a way to identify the device as being Embedded FINREAD.

O.DATAFLOW_CONFIDENTIALITY

The firmware protects its communication with distant peripherals against disclosure.

O.DATAFLOW_INTEGRITY

The firmware protects its communication with distant peripherals against unauthorised modification.

O.APPLICATION_DATA_CONFIDENTIALITY

The EFCR protects all application data, either permanent or transient, against disclosure by other applications and at user interface level.

A.4.2 Security Objectives for the EFCR environment

Security objectives for the environment are the minimum security properties required by the EFCR over its environment for allowing the EFCR to interact safely with it.

OE.SECURE_ICC

The IC Card satisfies appropriate security requirements that have been chosen by the payment scheme or the financial institution.

OE.EFCR_DOC_CONF

EFCR Documentation is protected against unauthorised disclosure during the development, production, pre-use and use phases, in order to suppress the ability to access to confidential information about EFCR construction.

OE.EXTERNAL_ASSETS

Confidential data used for any type of download is kept in a secure environment.

OE.USER_EDUCATION

End-users are informed of proper use and of their responsibilities when using the EFCR.

OE.CERTIFIED_FIRMWARE

Firmware is certified through an adequate certification process.

Such process is outside the scope of the document.

OE.DEV_PROD

Both the design environment and the production environment of the EFCR and EFCRA are covered by written procedures describing security rules that involved actors have to follow and apply.

OE.CERTIFIED_EFCRA

In secure mode, the EFCR is used with certified EFCR applications.

OE.OPERATING

The device operators along with the application providers issue and maintain a written procedure describing the security rules that have to be applied within the operating environment.

63 CWA 14722-3:2004 (E)

OE.NO_CONFIDENTIAL_DATA_STORAGE

The confidentiality of data stored in the EFCR is not ensured, except for the data related to EFCR own authentication.

It has to be noted that the EFCR authentication is not requested.

A.5 IT SECURITY FUNCTIONAL REQUIREMENTS

This chapter presents the security functional requirements, identified by refinement of the security objectives presented in previous chapter.

They are split into :

 security requirements for the EFCR,

 security requirements for its environment, some of which can be related to organisational security policies (OSP), and other need to be refined in security measures.

Each security objective is be covered by several security functional requirements, each of them contributing to contribute to one or several security objectives.

A.5.1 EFCR Security Functional Requirements

The following set of Security Functional requirements shall be fulfilled ; Section A.6.3.1 in the rationale of the present document shows how these Security Requirements combine to meet the Security Objectives.

EFCR related requirements

SR_EFCR_Unique_ID

The EFCR shall provide a unique identification number for itself or for the EFD to which it is inseparably joined.

SR_Keypad_NoLeakage

The EFCR shall not allow disclosure by audible feedback from the keypad.

Firmware related requirements

SR_Firmware_Integrity_Verification

During use stage, the EFCR shall be able to verify the integrity of firmware extensions or updates, after downloading and before installation. This requirement also applies to all native code application.

SR_Firmware_Authenticity_Verification

During use stage, the EFCR shall be able to verify the authenticity of firmware extensions or updates, after downloading and before installation. This requirement also applies to all native code application.

64 CWA 14722-3:2004 (E)

SR_Firmware_Integrity_Protection

The EFCR shall not allow firmware operation when code or permanent data modification of related parts of the firmware had been detected. Firmware integrity check shall be performed at least between reset and code use. This requirement also applies to all native code applications. SR_Data_Transfer_Protection

Information entered by the user shall not be accessible to any other application during its transfer to the active EFCRA. All data exchange between the active EFCRA and the peripherals shall not be disclosed to any other application.

Sensitive data exchanged between the active EFCRA and any remote peripheral shall not be disclosed to eavesdroppers.20 SR_Applet_Signature_Verification

The EFCR shall verify the signatures of all signed applets at download and before installation. All signatures shall be valid within the Internal Confidence Tree. Any rights included in the download package shall be signed as well. If the signatures verification fails, either the applet is not installed, or it is considered as unsigned. SR_Secure_Mode_Indication

When the user is using an EFCRA, the core software shall give indication to the user he is using a signed application by means which are inimitable by non-signed applications (e.g. lighting of a dedicated LED, display of a specific icon in a system area of the screen, …).

If this function is implemented, then SR_Access_Restriction is not required.

SR_Access_Restriction

The core software shall deny unsigned applications the access to the ICC reader interfacing with the user ICC application, as well as to any communication resource enabling communication with external entities

If this function is implemented, then SR_Secure_Mode_Indication is not required.

SR_Residual_Information_Protection

EFCR firmware shall ensure that any information located in one of its resource (e.g. memory) will be unavailable after release of the resource from an EFCRA.

Access control related requirements

SR_Access_Control_Policy

An Access Control policy shall be defined, which identifies the subjects (firmware, EFCRA, other signed applets, non signed applets, …), authorised to access to the EFCR peripherals (keypad, display, ICC interface, …).

SR_Access_Control_Functions

Access Control Functions shall be implemented in order to : a) control the attributes (i.e. information used by the firmware to set the access rights) of downloadable software components (firmware, EFCRA, other signed applets, non signed applets…), b) assign to such software the corresponding rights to EFCR resources (memory, display, etc...),

20 It is recommended that vendors define a standardised solution for secure sensitive data transfer (in particular the PIN) between a Remote Control peripheral and the set-top box

65 CWA 14722-3:2004 (E)

c) verify that the assigned access rights are respected.

SR_EFCRA_Exclusive_Access

All EFCRA shall have exclusive access to resources needed during their execution (memory, display, etc.). In case of interrupt handling, SR_EFCRA_Interruption also applies.

Applications related requirements

SR_EFCRA_Integrity

The EFCR shall not allow execution of an EFCRA whenever unexpected code and permanent data modification had been detected. EFCRA integrity check shall be performed at least between reset and code use.

SR_Bytecode_Verification

The Java virtual machine shall control code-correction of all applets (such as bytecode verification) before execution. Not well-formed applets shall not be executed.

SR_EFCRA_Context_Isolation

The EFCR shall ensure application runtime isolation of EFCRAs, and shall allocate exclusive memory to the active EFCRA.

SR_EFCRA_Interruption

Since Interrupt of EFCRA is possible, the firmware shall warn the EFCRA when it is going to be interrupted. The EFCRA shall be able to finish its current operations, then pause and give up control to the firmware. During the time of suspension, the core software shall ensure that no other “non-system application” can access the resources that were hold exclusively by the EFCRA. After interrupt handling, the firmware shall give the control back to the EFCRA and resume its execution.

Cryptographic requirements

SR_EFCR_Crypto_parameters

All cryptographic schemes, algorithms and associated security parameters (such as key length) used by the EFCR shall prevent signature forging and related key disclosure.

SR_EFCR_RPK_Management

An initial set of Root Public Keys is installed prior to use stage. Any modification in the set of Root Public Keys (update, revocation, installation…) shall be done under the control of one or more current RPKs.

A.5.2 Security Functional Requirements for the EFCR IT Environment

SR_EFCRA_Identification

Each EFCRA shall clearly identify itself to the user as an Embedded FINREAD card reader application each time it is activated in the EFCR (e.g. through the means of a message on the display).

A.5.3 Security Functional Requirements for the EFCR non-IT Environment

SR_User_Education

End-users shall be informed of proper use and of their responsibilities when using the EFCR.

66 CWA 14722-3:2004 (E)

SR_EFCR_Visual_Identity

A visual element shall be provided to the user to identify the device as being Embedded FINREAD.

Such visual element may appear outside of the EFD itself, e.g. in packaging or documentation delivered with the device.

A.6 RATIONALE

A.6.1 Introduction

This chapter presents the evidences that this document is a complete and cohesive set of requirements and that a conformant EFCR would provide an effective set of IT security countermeasures within the security environment.

A.6.2 Security objectives rationale

This section demonstrates that the stated security objectives address all the security aspects identified, being either environmental or technical. Each security objective is related to at least one threat or one organisational security policy or one assumption.

67 CWA 14722-3:2004 (E)

A.6.2.1 Threats and security objectives

Table A.2 shows the relation between security objectives and threats :

Table A.2 — Threats countered by the security objectives

Threats are countered by security objectives T.EFCRA_FLAWS T.EFCRA_FLAWS T.EFD_STEALING T.EFD_STEALING T.DEVICE_FAKING T.DEVICE_FAKING T.DEVICE_CLONING T.EFD_BORROWING T.ICC_MANIPULATION T.ICC_MANIPULATION T.EFCR_MANIPULATION T.EFCR_MANIPULATION T.FLOW_MANIPULATION T.FLOW_MANIPULATION T.UNCERTIFIED_APPLET T.EFCRA_SUBSTITUTION T.EFCRA_SUBSTITUTION T.PUBLIC_KEY_SUBSTITUTION T.PUBLIC_KEY_SUBSTITUTION T.FIRMWARE_SUBSTITUTION

O.CRYPTO_STRENGTH X X X O.FIRMWARE_INTEGRITY X X O.FIRMWARE_AUTHENTICITY X X X O.APPLET_INTEGRITY X X O.EFCRA_AUTHENTICITY X X O.EFCR_PK_INTEGRITY X X X X O.USER_CONTROL X X O.EFCR_ID X X O.DATAFLOW_CONFIDENTIALITY X X X O.DATAFLOW_INTEGRITY X X O.APPLICATION_DATA_CONFIDENTIALITY X X

OE.SECURE_ICC OE.EFCR_DOC_CONF OE.EFCRA_DOC_CONF OE.CERTIFIED_EFCRA X OE.CERTIFIED_FIRMWARE X OE.USER_EDUCATION X X X X X X X X X OE.DEV_PROD X X X OE.EXTERNAL_ASSETS X X X X OE.OPERATING X OE.NO_CONFIDENTIAL_DATA_STORAGE

The following paragraphs provide justification for the coverage links presented in Table A.2.

68 CWA 14722-3:2004 (E)

The threat T.FIRMWARE_SUBSTITUTION is countered by the following security objectives :

 The use of state of the art cryptographic techniques (O.CRYPTO_STRENGTH) ensures that no existing weakness can be exploited by an attacker to download an unsecured firmware into the EFCR by forging a valid signature.

 The firmware itself contributes to detect any modification of its code (O.FIRMWARE_INTEGRITY) and thus prevents an attacker to substitute an unsecured firmware to it.

 The firmware checks the authenticity of any downloaded firmware (O.FIRMWARE_AUTHENTICITY). Consequently, it will not be possible for a non authenticated firmware to be installed onto the EFCR.

 The protection of the public keys integrity (O.EFCR_PK_INTEGRITY) ensures that an attacker can not modify or insert a key in the tree in order to use an invalid key to signed an unsecured firmware and make the EFCR accept it.

 The certificate attesting the security properties of the firmware (OE.CERTIFIED_FIRMWARE) ensure that it does not contains weakness (e.g. backdoor) that can be exploited by an attacker to modify it.

 As users are informed of their responsibilities (OE.USER_EDUCATION) when using an EFCR, they will not allow an attacker to use it on their behalf.

 The design and development environment under which the EFCR has been developed are submitted to security rules (OE.DEV_PROD) that enforce the confidentiality of documentation that can not be used by an attacker to gain sensible information about the firmware.

 As any data used to perform confidential download are kept in a secured environment (OE.EXTERNAL_ASSETS) it is not possible for an attacker to disclose these data and use them to download an unsecured firmware into the EFCR.

The threat T.EFCRA_SUBSTITUTION is countered by the following security objectives :

 The use of state of the art cryptographic techniques (O.CRYPTO_STRENGTH) ensures that no existing weakness can be exploited by an attacker to download an unsecured EFCRA into the EFCR by forgering a valid signature.

 By verifying the signature of any downloaded EFCRA as regard the Internal Confidence Tree (O.EFCRA_AUTHENTICITY), the firmware prevent an attacker to download an unsecured EFCRA without having a valid public key.

 The protection of the public keys integrity (O.EFCR_PK_INTEGRITY) ensures that an attacker can not modify or insert a key in the tree in order to use an invalid key to signed an unsecured EFCRA and make the EFCR accept it.

 As users are informed of their responsibilities (OE.USER_EDUCATION) when using an EFCR, they will not allow an attacker to use it on their behalf.

 As any data used to perform confidential download are kept in a secured environment (OE.EXTERNAL_ASSETS) it is not possible for an attacker to disclose these data and use them to download an unsecured EFCRA into the EFCR.

69 CWA 14722-3:2004 (E)

The threat T.EFCRA_FLAWS is countered by the following security objectives :

 By protecting the integrity of the downloaded EFCRAs (O.APPLET_INTEGRITY), the firmware prevents an attacker to introduce flaws (by modifying the EFCRA) that can be used later to perform unintended actions on the ICC.

 EFCRAs executed on the EFCR have been certified (OE.CERTIFIED_EFCRA) and thus it has been demonstrated that they do not contain either exploitable flaws or back door.

 The design and development environment under which the EFCRA have been developed are submitted to security rules (OE.DEV_PROD) that enforce the confidentiality of documentation that cannot be used by an attacker to gain sensible information about them.

The threat T.UNCERTIFIED_APPLET is countered by the following security objectives :

 The use of state-of-the-art cryptographic techniques (O.CRYPTO_STRENGTH) ensures that no existing weakness can be exploited by an attacker to download an uncertified EFCRA into the EFCR by forging a valid signature.

 The firmware contributes to detect any modification of its code (O.FIRMWARE_INTEGRITY) and thus prevents an attacker to substitute an unsecured firmware to it in order to modify the downloading procedures and be able to bypass them and download an uncertified applet.

 By protecting the integrity of the downloaded EFCRAs (O.APPLET_INTEGRITY), the firmware prevents an attacker to modify an EFCRA and replace it with an uncertified one.

 By verifying the signature of any downloaded EFCRA as regard the Internal Confidence Tree (O.EFCRA_AUTHENTICITY), the firmware prevent an attacker to download an uncertified EFCRA without having a valid public key.

 The protection of the public keys integrity (O.EFCR_PK_INTEGRITY) ensures that an attacker can not modify or insert a key in the tree in order to use an invalid key to signed an uncertified EFCRA and make the EFCR accept it.

 The user is always aware of the nature of the executed EFCRA (O.USER_CONTROL) and knows if an EFCRA is certified or not. Consequently an attacker cannot download an uncertified applet and make the user believe it is a certified one.

 The user is informed of his responsibilities (OE.USER_EDUCATION) when using the EFCR and as such, knows how to check if an EFCRA is certified or not before using it.

The threat T.PUBLIC_KEY_SUBSTITUTION is countered by the following security objectives :

 The firmware has an access to the ICT and it is thus mandatory to guarantee the authenticity of the installed firmware. This is covered by the firmware itself which checks the authenticity of any downloaded firmware (O.FIRMWARE_AUTHENTICITY).

 The protection of the public keys integrity (O.EFCR_PK_INTEGRITY) ensures that an attacker can not modify a legitimate key and replace it by a non legitimate key in the Internal Confidence Tree.

 As any data used to perform confidential download are kept in a secured environment (OE.EXTERNAL_ASSETS) it is not possible for an attacker to disclose these data and use them to download a non legitimate key in the Internal Confidence Tree.

70 CWA 14722-3:2004 (E)

The threat T.DEVICE_FAKING is countered by the following security objectives :

 A visual element indicates that the EFCR is an Embedded FINREAD Card Reader (O.EFCR_ID). Moreover, the firmware includes an unique identification number that identifies the EFCR without ambiguities as an authentic Embedded FINREAD card reader.

The threat T.DEVICE_CLONING is countered by the following security objectives :

 A visual element indicates that the EFCR is an Embedded FINREAD Card Reader (O.EFCR_ID). Moreover, the firmware includes an unique identification number that identifies the EFCR without ambiguities as an authentic Embedded FINREAD card reader. To make an EFCR clone, an attacker will have to generate such a unique identification number.

 The user is informed of his responsibilities (OE.USER_EDUCATION) when using the EFCR and as such, knows that he shall not let anyone perform physical access to the EFCR on his behalf.

 The design and development environment under which the EFCR has been developed are submitted to security rules (OE.DEV_PROD) that enforce the confidentiality of documentation that can not be used by an attacker to gain information usable to build an EFCR clone.

 As any data used to perform confidential download are kept in a secured environment (OE.EXTERNAL_ASSETS) it is not possible for an attacker to disclose these data and use them to download a corrupted Internal Confidential Tree into an EFCR clone.

The threat T.EFCR_MANIPULATION is countered by the following security objectives :

 The communication between the EFCR and any other device is protected in confidentiality (O.DATAFLOW_CONFIDENTIALITY) by the firmware. Consequently it is not possible for an attacker to disclose information flowing between the EFCR and any other external device that can be reused to manipulate the EFCR.

 The communication between the EFCR and any other external device is protected in integrity (O.DATAFLOW_INTEGRITY) by the firmware. Consequently it is not possible for an attacker to modify data flowing between the EFCR and any other external device in order to manipulate the EFCR.

 The user is informed of his responsibilities (OE.USER_EDUCATION) when using the EFCR and as such, knows that he shall not let anyone perform physical access to the EFCR on his behalf.

The threat T.FLOW_MANIPULATION is countered by the following security objectives :

 The firmware has a complete access to the resource and to the peripheral, thus it is mandatory to guarantee the authenticity of the installed firmware. This is covered by the firmware itself which checks the authenticity of any downloaded firmware (O.FIRMWARE_AUTHENTICITY).

 The communication between the EFCR and any other device is protected in confidentiality (O.DATAFLOW_CONFIDENTIALITY) by the firmware. Consequently it is not possible for an attacker to monitor dataflow between the EFCR and any other external device.

 The communication between the EFCR and any other external device is protected in integrity (O.DATAFLOW_INTEGRITY) by the firmware. Consequently it is not possible for an attacker to modify dataflow between the EFCR and any other external device.

 The user is informed of his responsibilities (OE.USER_EDUCATION) when using the EFCR and as such, knows that he shall not let anyone perform physical access to the EFCR on his behalf.

71 CWA 14722-3:2004 (E)

The threat T.ICC_MANIPULATION is countered by the following security objectives :

 The user is always aware of the nature of the executed EFCRA (O.USER_CONTROL) and knows if an EFCRA is certified or not. Consequently an attacker cannot make a user believe that an uncertified applet is a certified one in order to access his ICC.

 The user is informed of his responsibilities (OE.USER_EDUCATION) when using the EFCR and as such, knows that he has to checked that an applet is certified before granting it an access to the ICC.

The threat T.EFD_STEALING is countered by the following security objectives :

 Another data of particular interest for an attacker wishing to exploit a stolen EFCR is the user ICC_PIN. The protection of the ICC_PIN confidentiality (O.APPLICATION_DATA_CONFIDENTIALITY) contributes to prevent such an unauthorised use of the EFCR.

 The user is informed of his responsibilities (OE.USER_EDUCATION) when using the EFCR and as such, knows that he shall not let anyone use the EFCR on his behalf, implying to protect the EFCR against steal.

 Stealing of an EFCR can also be performed within the operating environment. By writing and applying rules to ensure EFCR security within operating environment, the device operators along with the application providers contribute to counter EFCR stealing (OE.OPERATING).

The threat T.EFD_BORROWING is countered by the following security objectives :

 To be able to exploit a borrowed EFCR, an attacker will need sensitive information. The protection of data confidentiality during transaction (O.DATAFLOW_CONFIDENTIALITY) is a way to prevent such disclosure of information.

 Another data of particular interest for an attacker wishing to exploit a borrowed EFCR is the user ICC_PIN. The protection of the ICC_PIN confidentiality (O.APPLICATION_DATA_CONFIDENTIALITY) contributes to prevent such an unauthorised use of the EFCR.

 The user is informed of his responsibilities (OE.USER_EDUCATION) when using the EFCR and as such, knows that he shall not let anyone use the EFCR on his behalf, implying to protect the EFCR against unauthorised use.

A.6.2.2 Assumptions and security objectives for the environment

This section demonstrates that the combination of the security objectives for the IT environment is suitable to satisfy the identified assumptions for the environment.

Each of the assumptions for the environment is addressed by at least one security objective.

Table A.3 below demonstrates which objectives contribute to the satisfaction of each assumption. For clarity, the table does not identify indirect dependencies.

72 CWA 14722-3:2004 (E)

Table A.3 — Assumptions coverage by security objectives for the environment

Assumptions are covered by security objectives for the environment A.SECURE_ICC A.DEVT_POLICY A.PROD_POLICY A.USER_CONTROL A.EXTERNAL_DATA A.EXTERNAL_KEYS A.SECURE_SCHEME A.USER_EDUCATION A.CERTIFIED_EFCRA A.OPERATING_POLICY A.CONFIDENTIAL_DATA A.TRUSTED_FIRMWARE OE.SECURE_ICC X OE.EFCR_DOC_CONF X X OE.EFCRA_DOC_CONF X X OE.CERTIFIED_EFCRA X X OE.CERTIFIED_FIRMWARE X OE.USER_EDUCATION X X OE.DEV_PROD X X OE.EXTERNAL_ASSETS X X OE.OPERATING X OE.NO_CONFIDENTIAL_DATA_STORAGE X

As coverage between assumptions and security objectives for the environment are direct, the coverage links presented in Table A.3 do not call for additional justification.

A.6.2.3 Organisational security policy and security objectives for the environment

This document does not contain any organisational security policy.

A.6.3 Security Requirements Rationale

The Security requirements rationale demonstrates that the set of security requirements (security requirements for EFCR and for its environment) are suitable to meet the security objectives.

This section refers to the synthesis table (Table A.4) demonstrating the coverage of the identified security objectives by the combination of the security requirements.

73 CWA 14722-3:2004 (E)

A.6.3.1 Security objectives for the EFCR and security requirements

Table A.4 — Coverage of security objectives for the EFCR by security requirements

Security objectives are covered by security functional requirements O.EFCR_ID O.USER_CONTROL O.APPLET_INTEGRITY O.CRYPTO_STRENGTH O.EFCR_PK_INTEGRITY O.EFCRA_AUTHENTICITY O.FIRMWARE_INTEGRITY O.DATAFLOW_INTEGRITY O.FIRMWARE_AUTHENTICITY O.DATAFLOW_CONFIDENTIALITY O.DATAFLOW_CONFIDENTIALITY O.APPLICATION_DATA_CONFIDENTIALITY SR-Access_Control_Functions X SR_Access_Control_Policy X X X SR_Access_Restriction X X X SR_Applet_Signature_Verification X X SR_Bytecode_Verification X X X SR_Date_Transfer_Protection X X X SR_EFCR_Crypto_parameters X SR_EFCR_RPK_Management X SR_EFCR_Unique_ID X SR_EFCRA_Context_Isolation X X X SR_EFCRA_Exclusive_Access X X X SR_EFCRA_Integrity X X SR_EFCRA_Interruption X SR_Firmware_Authenticity_Verification X X X SR_Firmware_Integrity_Protection X SR_Firmware_Integrity_Verification X SR_Keypad_NoLeakage X SR_Residual_Information_Protection X SR_Secure_Mode_Indication X X X SR_EFCR_Visual_Identity X SR_EFCRA_Identification X

The following paragraphs provide justification for the coverage links presented in Table A.4.

To cover the security objective O.CRYPTO_STRENGTH about the strength of cryptographic mechanisms it is required that the EFCR implements state of the art cryptographic algorithms, including adequate keys length to ensure an efficient protection of confidential data. This is covered by the security requirement SR_EFCR_Crypto_parameters.

The security of the EFCR mainly relies on its firmware. Consequently this part of the EFCR is a critical resource that has to be protected (O.FIRMWARE_INTEGRITY). In order to ensure a high level of protection, it is required that the EFCR can verify (SR_Firmware_Integrity_Verification) and protect (SR_Firmware_Integrity_Protection) the integrity of the firmware.

74 CWA 14722-3:2004 (E)

Moreover, as the firmware is a software that can evolve by downloading and installing new versions, or even extensions, the EFCR has to check the authenticity (O.FIRMWARE_AUTHENTICITY) of the downloaded firmware before allowing its installation to prevent installation of unsecured code or unauthorised modification of its data (SR_Firmware_Authenticity_Verification).

Applets executed on the EFCR do have rights depending on their signature (signed or not, valid key or not). Once assigned, these rights are not modified. Consequently, the integrity of an applet has to be protected (O.APPLET_INTEGRITY) to prevent any modification of the applet after rights assignment. In order to implement this protection, the EFCR has to verify the integrity of the EFCRA (SR_EFCRA_Integrity). Moreover, the isolation of the EFCRA (SR_EFCRA_Context_Isolation) will prevent any applet to modify another applet code or data. As an applet can be interrupt, the interruption management shall let the applets reach a secure state (by ending any operation in progress) before starting any other process (SR_EFCRA_Interruption). An attack at the integrity of an applet can also be launched from a native code application. In order to prevent any native code to perform such an attack, the verification of the signature of a downloaded native code must be a prerequisite to its installation (SR_Bytecode_Verification).

The verification of an application authenticity as regard the Internal Confidence Tree (O.EFCRA_AUTHENTICITY) requires that the EFCR is able to control the authenticity of the application (SR_Applet_Signature_Verification) and that there exists a valid path within the Internal Confidence Tree going from the key used to signed it and the Manufacturer Public key.

The Internal Confidence Tree, located within the EFD, is the reference used to establish the validity of any downloaded code signature (applets, EFCRA, firmware). As such, the Tree has to be protected against any modification (O.EFCR_PK_INTEGRITY). This security objectives requires that an access control to the ICT elements (either nodes or branches) is defined and implemented and that the operations on the ICT (insertion of a new key, key validity check, etc..) are performed according to a secure management policy (SR_EFCR_RPK_Management). By requesting that any native code application must have a valid signature (i.e. as regard the ICT) before being executed, the EFCR prevents a fraudulent application to endanger the ICT (SR_Bytecode_Verification).

The user shall always be aware of the type of application executed on his behalf (O.USER_CONTROL) to keep under control operations performed on the EFCR. In order to achieve this goal, the core software should provide trusted information to the user about the authenticity of the EFCRA being executed (SR_Secure_Mode_Indication). When such information cannot be provided to the user, an access control policy (SR_Access_Control_Policy) must be enforced to restrict the rights of unsigned applications (SR_Access_Restriction) in order to prevent undue manipulation of user assets such as the ICC ; conversely, if the access policy for unsigned applets (SR_Access_Restriction) is enforced by the EFCR, then secure mode indication (SR_Secure_Mode_Indication) is not mandated, since it yields indirect user control by restriction of applets acting on behalf of the user. The EFCRA has also to inform the user that it is an Embedded FINREAD Card reader Application (SR_EFCRA_Identification). The EFCR also has to verify that applications that have been installed and which have access rights associated to authorized and legitimate applications do not have been modified (SR_EFCRA_Integrity) to mislead the user. Isolating the EFCRA is also a complementary way to forbid any modification of EFCRA code and associated data (SR_EFCRA_Context_Isolation, SR_EFCRA_Exclusive_Access) by another application. Restricting application installation with complete access rights to applications convinced to be secured (type-checked and signed with a valid key as regard the ICT) prevent any fraudulent application to be installed and even be downloaded (SR_Applet_Signature_Verification).

In order for a user to know for sure that he is interacting with an official (i.e. that can be trusted) EFCR, the device has to provide a unique information about its official nature (O.EFCR_ID). Two security requirements permit to obtain this result. The first one consists in assigning a unique number to any device, attesting its identity (SR_EFCR_Unique_ID) and the second one consists in indicating the user, through a visual element on the device, that the identity of the EFCR is valid (SR_EFCR_Visual_Identity).

The EFCR can be connected to external peripherals and communicate or receive sensitive data during its interactions with these devices. The confidentiality of these data has to be ensured by the EFCR (O.DATAFLOW_CONFIDENTIALITY). In order to fulfil this security objective, the EFCR has to control and protect from disclosure the data by ensuring an exclusive access to resources (SR_EFCRA_Exclusive_Access, SR_Access_Restriction) needed by an application and isolating applications during their execution, the EFCR prevents two distinct applications to share information. A particular treatment has to be applied to the ICC_PIN, typed on the keypad and transmitted to the ICC: the EFCR should take dedicated attention to prevent any information leakage about the ICC_PIN (do not display the ICC_PIN in clear text (SR_Data_Transfer_Protection),

75 CWA 14722-3:2004 (E)

prevent any way to get ICC_PIN information by spying the keypad (SR_Keypad_NoLeakage). Again, control over native code is restricted to signature verification, which is the only guarantee available that the code can be trusted and will not try to gain unauthorised access rights (SR_Applet_Signature_Verification).

The EFCR has to protect data transmitted with external peripherals against unauthorised modification (O.DATAFLOW_INTEGRITY). To satisfy this objective, the EFCR has to provide an adequate control on the integrity of any data exchanged between any of its components and any external devices (SR_Data_Transfer_Protection). By ensuring an exclusive access to resources (SR_EFCRA_Exclusive_Access), implementing an appropriate access control policy (SR_Access_Control_Policy) needed by an application and isolating applications during their execution (SR_EFCRA_Context_Isolation), the EFCR prevents two distinct applications to access and modify a given data. Again, control over native code is restricted to signature verification, which is the only guarantee available that the code can be trusted and will not try to gain unauthorised modification rights to not owned data (SR_Firmware_Authenticity_Verification). Moreover, by indicating to the user that the EFCR is in “secure mode”, the EFCR prevents the user to launch any other application that could try to modify the dataflow integrity.

The EFCR has to keep confidential the application data (O.APPLICATION_DATA_CONFIDENTIALITY). In order to protect these data against unauthorised disclosure, the EFCR has to implement a well defined access control policy on its assets (SR_Access_Control_Functions and SR_Access_Control_Policy). Application data flowing between the EFCR and distant peripheral has to be protected by restricting their access to authorised applications (SR_Access_Restriction). Application data also have to be erased from memory as soon as the applet ends its execution (SR_Residual_Information_Protection). As application data can be communicated to other components of the EFCR or to external devices, the communication channels have to be protected against unauthorised disclosure (SR_Data_Transfer_Protection). Rights to access the application can be granted to a native code application. In that case, the only guarantee that the application will not disclose these data relies on its signature verification (SR_Firmware_Authenticity_Verification). The core software shall also provide trusted information to the user about the authenticity of the EFCRA being executed (SR_Secure_Mode_Indication) in order for the user to know that the EFCR is in a special mode and that he should not launch any other application.

A.6.3.2 Security objectives for the environment and security requirements for the IT environment

Table A.5 — Coverage of security objectives for the environment by security requirements OE.DEV_PROD OE.OPERATING OE.SECURE_ICC OE.EFCR_DOC_CONF OE.USER_EDUCATION OE.CERTIFIED_EFCRA OE.CERTIFIED_EFCRA OE.EFCRA_DOC_CONF OE.EXTERNAL_ASSETS OE.CERTIFIED_FIRMWARE

OE.NO-CONFIDENTIAL_DATA_STORAGE SR_User_Education X

A.6.4 Common Criteria Security Functional Requirements

A.6.4.1 Introduction

This section presents a proposition of correspondence between the security requirements presented in chapter 5.2 and a set of Security Functional Requirements extracted from part 2 of the Common Criteria ([2]). A dependency analysis of the selected SFR has been performed in order to get a coherent set of SFR, according to Common Criteria requirements.

76 CWA 14722-3:2004 (E)

Operations (iteration, refinement, assignement, selection) on Common Criteria SFR should be completed, but are not included in the present version of the security requirements.

The definitions presented in this section are used in the security functional requirements presented in the following sections. These definitions should be considered as a basis for a further stage toward a fully compliant Common Criteria Protection Profile.

 EFCRA are considered as user assets (see § A.3.1).

 EFCR data for applet downloading are EFCR assets.

 Firmware/native code is considered as TSF data (part of the TOE).

The term Subject covers either an end user or a process executed on his behalf, like an EFCRA, an applet or even the firmware.

The term Object covers :

 keys in the ICT,

 security attributes (access rights to the ICC, to memory, priority, communication rights, signature) associated to an applet,

 other relevant assets.

The Internal Confidence Tree is considered as TSF data.

Attributes associated to downloaded applications are considered as TSF data

User ICC_PIN is considered as a user data.

Security Function Policies to be defined are relevant to :

 Access control to the ICT.

 Access control to the ICC.

 Access control to allocated resources (including memory, display, peripherals, etc..).

 Access control rights attribution to a signed or unsigned applet.

77 CWA 14722-3:2004 (E)

A.6.4.2 Correspondence between SR and CC SFR

Table A.6 — Correspondence between SR and CC SFR

Security Requirement SFR

FDP_ACF.1 Security attribute based access control SR_Access_Control_Functions FMT_MSA.1 Management of security attributes FIA_UID.1 Timing of identification FMT_SMR.1 Security roles FDP_ACC.2 Complete access control SR_Access_Control_Policy FMT_MSA.2 Secure security attributes FMT_MSA.3 Static attribute initialisation SR_Access_Restriction FDP_ACF.1 Security attribute based access control SR_Applet_Signature_Verification FDP_DAU.2 Data authentification with identity of guarantor FPT_TDC.1 Inter-TSF basic TSF data consistency SR_Bytecode_Verification FPT_AMT.1 Abstract machine testing FPT_ITC.1 Inter-TSF confidentiality during transmission FDP_UCT.1 Basic data exchange confidentiality SR_Data_Transfer_Protection FDP_IFC.1 Subset information flow control SR_EFCR_Crypto_parameters FCS_COP.1 Cryptographic operation FCS_CKM.3 Cryptographic key access SR_EFCR_RPK_Management FCS_CKM.4 Cryptographic key destruction SR_EFCR_Unique_ID FTA_TAB.1 Default TOE access banners SR_EFCRA_Contest_Isolation FPT_SEP.2 SFP domain separation SR_EFCRA_Exclusive_Access FRU_RSA.2 Minimum and maximum quotas SR_EFCRA_Identification FDP_DAU.2 Data authentification with identity of guarantor SR_EFCRA_Integrity FDP_SDI.2 Stored data integrity monitoring and action SR_EFCRA_Interruption FRU_PRS.1 Limited priority of service SR_Firmware_Authenticity_Verification FDP_ITC.1 Import of user data without security attributes FDP_IFF.1 Simple security attributes SR_Firmware_Integrity_Protection FDP_IFF.5 No illicit information flows FPT_PHP.3 Resistance to physical attack FDP_SDI.2 Stored data integrity monitoring and action SR_Firmware_Integrity_Verification FDP_UIT.1 Data exchange integrity FDP_ITT.2 Transmission separation by attribute SR_Keypad_NoLeakage FDP_ITT.3 Integrity monitoring SR_Residual_Information_Protection FDP_RIP.2 Full residual information protection SR_Secure_Mode_Indication FTA_TAB.1 Default TOE access banners

78 CWA 14722-3:2004 (E)

A.6.4.3 Security Functional Requirements

A.6.4.3.1 FCS Cryptographic Support

A.6.4.3.1.1 FCS_CKM.3 Cryptographic key access

FCS_CKM.3.1 The TSF shall perform [assignment : type of cryptographic key access] in accordance with a specified cryptographic key access method [assignment: cryptographic key access method] that meets the following: [assignment : list of standards].

A.6.4.3.1.2 FCS_CKM.4 Cryptographic key destruction

FCS_CKM.4.1 The TSF shall destroy cryptographic keys in accordance with a specified cryptographic key destruction method [assignment : cryptographic key destruction method] that meets the following: [assignment : list of standards].

A.6.4.3.1.3 FCS_COP.1 Cryptographic operation

FCS_COP.1.1 The TSF shall perform [assignment : list of cryptographic operations] in accordance with a specified cryptographic algorithm [assignment : cryptographic algorithm] and cryptographic key sizes [assignment : cryptographic key sizes] that meet the following : [assignment : list of standards].

A.6.4.3.2 FDP User Data Protection

A.6.4.3.2.1 FDP_ACC.2 Complete access control

FDP_ACC.2.1 The TSF shall enforce the [assignment : access control SFP] on [assignment : list of subjects and objects] and all operations among subjects and objects covered by the SFP.

FDP_ACC.2.2 The TSF shall ensure that all operations between any subject in the TSC and any object within the TSC are covered by an access control SFP.

A.6.4.3.2.2 FDP_ACF.1 Security attribute based access control

FDP_ACF.1.1 The TSF shall enforce the [assignment : access control SFP] to objects based on [assignment : security attributes, named groups of security attributes].

FDP_ACF.1.2 The TSF shall enforce the following rules to determine if an operation among controlled subjects and controlled objects is allowed : [assignment : rules governing access among controlled subjects and controlled objects using controlled operations on controlled objects].

FDP_ACF.1.3 The TSF shall explicitly authorise access of subjects to objects based on the following additional rules: [assignment : rules, based on security attributes, that explicitly authorise access of subjects to objects].

FDP_ACF.1.4 The TSF shall explicitly deny access of subjects to objects based on the [assignment : rules, based on security attributes, that explicitly deny access of subjects to objects].

A.6.4.3.2.3 FDP_DAU.2 Data authentication with identity of guarantor

FDP_DAU.2.1 The TSF shall provide a capability to generate evidence that can be used as a guarantee of the validity of [assignment : list of objects or information types].

FDP_DAU.2.2 The TSF shall provide [assignment : list of subjects] with the ability to verify evidence of the validity of the indicated information and the identity of the user that generated the evidence.

79 CWA 14722-3:2004 (E)

A.6.4.3.2.4 FDP_IFC.1 Subset information flow control

FDP_IFC.1.1 The TSF shall enforce the [assignment: information flow control SFP] on [assignment : list of subjects, information, and operations that cause controlled information to flow to and from controlled subjects covered by the SFP].

A.6.4.3.2.5 FDP_IFF.1 Simple security attributes

FDP_IFF.1.1 The TSF shall enforce the [assignment : information flow control SFP] based on the following types of subject and information security attributes : [assignment : the minimum number and type of security attributes].

FDP_IFF.1.2 The TSF shall permit an information flow between a controlled subject and controlled information via a controlled operation if the following rules hold: [assignment : for each operation, the security attribute-based relationship that must hold between subject and information security attributes].

FDP_IFF.1.3 The TSF shall enforce the [assignment : additional information flow control SFP rules].

FDP_IFF.1.4 The TSF shall provide the following [assignment : list of additional SFP capabilities].

FDP_IFF.1.5 The TSF shall explicitly authorise an information flow based on the following rules : [assignment : rules, based on security attributes, that explicitly authorise information flows].

FDP_IFF.1.6 The TSF shall explicitly deny an information flow based on the following rules: [assignment : rules, based on security attributes, that explicitly deny information flows].

A.6.4.3.2.6 FDP_IFF.5 No illicit information flows

FDP_IFF.5.1 The TSF shall ensure that no illicit information flows exist to circumvent [assignment : name of information flow control SFP].

A.6.4.3.2.7 FDP_ITC.1 Import of user data without security attributes

FDP_ITC.1.1 The TSF shall enforce the [assignment : access control SFP and/or information flow control SFP] when importing user data, controlled under the SFP, from outside of the TSC.

FDP_ITC.1.2 The TSF shall ignore any security attributes associated with the user data when imported from outside the TSC.

FDP_ITC.1.3 The TSF shall enforce the following rules when importing user data controlled under the SFP from outside the TSC : [assignment : additional importation control rules].

A.6.4.3.2.8 FDP_ITC.2 Import of user data with security attributes

FDP_ITC.2.1 The TSF shall enforce the [assignment : access control SFP and/or information flow control SFP] when importing user data, controlled under the SFP, from outside of the TSC.

FDP_ITC.2.2 The TSF shall use the security attributes associated with the imported user data.

FDP_ITC.2.3 The TSF shall ensure that the protocol used provides for the unambiguous association between the security attributes and the user data received.

FDP_ITC.2.4 The TSF shall ensure that interpretation of the security attributes of the imported user data is as intended by the source of the user data.

FDP_ITC.2.5 The TSF shall enforce the following rules when importing user data controlled under the SFP from outside the TSC : [assignment : additional importation control rules].

80 CWA 14722-3:2004 (E)

A.6.4.3.2.9 FDP_ITT.2 Transmission separation by attribute

FDP_ITT.2.1 The TSF shall enforce the [assignment : access control SFP(s) and/or information flow control SFP(s)] to prevent the [selection : disclosure, modification, loss of use] of user data when it is transmitted between physically-separated parts of the TOE.

FDP_ITT.2.2 The TSF shall separate data controlled by the SFP(s) when transmitted between physically- separated parts of the TOE, based on the values of the following : [assignment : security attributes that require separation].

A.6.4.3.2.10 FDP_ITT.3 Integrity monitoring

FDP_ITT.3.1 The TSF shall enforce the [assignment : access control SFP(s) and/or information flow control SFP(s)] to monitor user data transmitted between physically-separated parts of the TOE for the following errors : [assignment : integrity errors].

FDP_ITT.3.2 Upon detection of a data integrity error, the TSF shall [assignment : specify the action to be taken upon integrity error].

A.6.4.3.2.11 FDP_RIP.2 Full residual information protection

FDP_RIP.2.1 The TSF shall ensure that any previous information content of a resource is made unavailable upon the [selection : allocation of the resource to, deallocation of the resource from] all objects.

A.6.4.3.2.12 FDP_SDI.2 Stored data integrity monitoring and action

FDP_SDI.2.1 The TSF shall monitor user data stored within the TSC for [assignment : integrity errors] on all objects, based on the following attributes : [assignment : user data attributes].

FDP_SDI.2.2 Upon detection of a data integrity error, the TSF shall [assignment : action to be taken].

A.6.4.3.2.13 FDP_UCT.1 Basic data exchange confidentiality

FDP_UCT.1.1 The TSF shall enforce the [assignment : access control SFP(s) and/or information flow control SFP(s)] to be able to [selection : transmit, receive] objects in a manner protected from unauthorised disclosure.

A.6.4.3.2.14 FDP_UIT.1 Data exchange integrity

FDP_UIT.1.1 The TSF shall enforce the [assignment : access control SFP(s) and/or information flow control SFP(s)] to be able to [selection : transmit, receive] user data in a manner protected from [selection : modification, deletion, insertion, replay] errors.

FDP_UIT.1.2 The TSF shall be able to determine on receipt of user data, whether [selection : modification, deletion, insertion, replay] has occurred.

A.6.4.3.3 FIA Identification and authentication

A.6.4.3.3.1 FIA_UID.1 Timing of identification

FIA_UID.1.1 The TSF shall allow [assignment : list of TSF-mediated actions] on behalf of the user to be performed before the user is identified.

FIA_UID.1.2 The TSF shall require each user to be successfully identified before allowing any other TSF- mediated actions on behalf of that user.

81 CWA 14722-3:2004 (E)

A.6.4.3.4 FMT Security Management

A.6.4.3.4.1 FMT_MSA.1 Management of security attributes

FMT_MSA.1.1 The TSF shall enforce the [assignment: access control SFP, information flow control SFP] to restrict the ability to [selection : change_default, query, modify, delete, [assignment : other operations]] the security attributes [assignment : list of security attributes] to [assignment : the authorised identified roles].

A.6.4.3.4.2 FMT_MSA.2 Secure security attributes

FMT_MSA.2.1 The TSF shall ensure that only secure values are accepted for security attributes.

A.6.4.3.4.3 FMT_MSA.3 Static attribute initialisation

FMT_MSA.3.1 The TSF shall enforce the [assignment : access control SFP, information flow control SFP] to provide [selection : restrictive, permissive, other property] default values for security attributes that are used to enforce the SFP.

FMT_MSA.3.2 The TSF shall allow the [assignment : the authorised identified roles] to specify alternative initial values to override the default values when an object or information is created.

A.6.4.3.4.4 FMT_SMR.1 Security roles

FMT_SMR.1.1 The TSF shall maintain the roles [assignment: the authorised identified roles].

FMT_SMR.1.2 The TSF shall be able to associate users with roles.

A.6.4.3.5 FPT Protection of the TSF

A.6.4.3.5.1 FPT_AMT.1 Abstract machine testing

FPT_AMT.1.1 The TSF shall run a suite of tests [selection : during initial start-up, periodically during normal operation, at the request of an authorised user, other conditions] to demonstrate the correct operation of the security assumptions provided by the abstract machine that underlies the TSF.

A.6.4.3.5.2 FPT_ITC.1 Inter-TSF confidentiality during transmission

FPT_ITC.1.1 The TSF shall protect all TSF data transmitted from the TSF to a remote trusted IT product from unauthorised disclosure during transmission.

A.6.4.3.5.3 FPT_PHP.3 Resistance to physical attack

FPT_PHP.3.1 The TSF shall resist [assignment : physical tampering scenarios] to the [assignment : list of TSF devices/elements] by responding automatically such that the TSP is not violated.

A.6.4.3.5.4 FPT_SEP.2 SFP domain separation

FPT_SEP.2.1 The unisolated portion of the TSF shall maintain a security domain for its own execution that protects it from interference and tampering by untrusted subjects.

FPT_SEP.2.2 The TSF shall enforce separation between the security domains of subjects in the TSC.

FPT_SEP.2.3 The TSF shall maintain the part of the TSF related to [assignment: list of access control and/or information flow control SFPs] in a security domain for their own execution that protects them from interference and tampering by the remainder of the TSF and by subjects untrusted with respect to those SFPs.

82 CWA 14722-3:2004 (E)

A.6.4.3.5.5 FPT_TDC.1 Inter-TSF basic TSF data consistency

FPT_TDC.1.1 The TSF shall provide the capability to consistently interpret [assignment : list of TSF data types] when shared between the TSF and another trusted IT product. FPT_TDC.1.2 The TSF shall use [assignment : list of interpretation rules to be applied by the TSF] when interpreting the TSF data from another trusted IT product.

A.6.4.3.5.6 FPT_TST.1 TSF testing

FPT_TST.1.1 The TSF shall run a suite of self tests [selection : during initial start-up, periodically during normal operation, at the request of the authorised user, at the conditions [assignment : conditions under which self test should occur]] to demonstrate the correct operation of the TSF. FPT_TST.1.2 The TSF shall provide authorised users with the capability to verify the integrity of TSF data.

FPT_TST.1.3 The TSF shall provide authorised users with the capability to verify the integrity of stored TSF executable code.

A.6.4.3.6 FRU Resource Utilisation

A.6.4.3.6.1 FRU_PRS.1 Limited priority of service

FRU_PRS.1.1 The TSF shall assign a priority to each subject in the TSF.

FRU_PRS.1.2 The TSF shall ensure that each access to [assignment : controlled resources] shall be mediated on the basis of the subjects assigned priority.

A.6.4.3.6.2 FRU_RSA.2 Minimum and maximum quotas

FRU_RSA.2.1 The TSF shall enforce maximum quotas of the following resources: [assignment : controlled resources] that [selection : individual user, defined group of users, subjects] can use [selection : simultaneously, over a specified period of time]. FRU_RSA.2.2 The TSF shall ensure the provision of minimum quantity of each [assignment : controlled resource] that is available for [selection : an individual user, defined group of users, subjects] to use [selection : simultaneously, over a specified period of time]

A.6.4.3.7 FTA TOE Access

A.6.4.3.7.1 FTA_TAB.1 Default TOE access banners

FTA_TAB.1.1 Before establishing a user session, the TSF shall display an advisory warning message regarding unauthorised use of the TOE.

A.6.4.4 Security Functional Requirements dependencies

The following table presents the results of the analysis which shows that every dependency of the EFCR security functional requirements is satisfied. All the dependencies occuring in this Table are satisfied, except for dependencies with assurance component, as no Evaluation Assurance Level (EAL) has been defined. Dependencies with assurance components (AVA_CAA.3 and ADV_SPM.1) are written in bold face. Common Criteria Assurance components are defined in [3].

83 CWA 14722-3:2004 (E)

Table A.7 — Dependency analysis of the EFCR security functional requirements

SFR Dependencies

FCS_CKM.3 Cryptographic key access FDP_ITC.1 FCS_CKM.4 FMT_MSA.2 FCS_CKM.4 Cryptographic key destruction FDP_ITC.1 FMT_MSA.2 FCS_COP.1 Cryptographic operation FDP_ITC.1 FCS_CKM.4 FMT_MSA.2 FDP_ACC.2 Complete access control FDP_ACF.1 FDP_ACF.1 Security attribute based access control FDP_ACC.1 FMT_MSA.3 FDP_DAU.2 Data authentication with identity of guarantor FIA_UID.1 FDP_IFC.1 Subset information flow control FDP_IFF.1 FDP_IFF.1 Simple security attributes FDP_IFC.1 FMT_MSA.3 FDP_IFF.5 No illicit information flows AVA_CCA.3 FDP_IFC.1 FDP_ITC.1 Import of user data without security attributes FDP_ACC.1 FDP_IFC.1 FMT_MSA.3 FDP_ITC.2 Import of user data with security attributes FDP_ACC.1 FDP_IFC.1 FTP_ITC.1 FPT_TDC.1 FDP_ITT.2 Transmission separation by attribute FDP_ACC.1 FDP_IFC.1 FDP_ITT.3 Integrity monitoring FDP_ACC.1 FDP_IFC.1 FDP_ITT.1 FDP_RIP.2 Full residual information protection No dependency No dependency FDP_SDI.2 Stored data integrity monitoring and action

FDP_UCT.1 Basic data exchange confidentiality FPT_ITC.1 FDP_ACC.1 FDP_IFC.1 FDP_UIT.1 Data exchange integrity FDP_ACC.1 FDP_IFC.1 FPT_ITC.1 FIA_UID.1 Timing of identification No dependency FMT_MSA.1 Management of security attributes FDP_ACC.1 FDP_IFC.1 FMT_SMR.1 FMT_MSA.2 Secure security attributes ADV_SPM.1 FDP_ACC.1 FDP_IFC.1 FMT_MSA.1 FMT_SMR.1 FMT_MSA.3 Static attribute initialisation FMT_MSA.1 FMT_SMR.1 FMT_SMR.1 Security roles FIA_UID.1 FPT_AMT.1 Abstract machine testing No dependency No dependency FPT_PHP.3 Resistance to physical attack

No dependency FPT_ITC.1 Inter-TSF confidentiality during transmission

No dependency FPT_SEP.2 SFP domain separation

FPT_TDC.1 Inter-TSF basic TSF data consistency No dependency FPT_TST.1 TSF testing FPT_AMT.1 No dependency FRU_PRS.1 Limited priority of service

No dependency FRU_RSA.2 Minimum and maximum quotas

No dependency FTA_TAB.1 Default TOE access banners

84 CWA 14722-3:2004 (E)

A.7 Glossary

For the purposes of the present document, the following abbreviations apply.

API Application Programming Interface

EFCR Embedded FINREAD Card Reader

EFCRA Embedded FINREAD Card Reader Application.

EFD Embedded FINREAD Device

ICC, IC card Integrated circuit card (also called smart card)

ISO International Organization for Standardization

ICT Internal Confidence Tree

JVM Java Virtual Machine

OS Operating System

PC Personal computer

PDA Personal Digital Assistant

PIN Private Identifier Number: Two kinds of PIN have to be considered here: the ICC_PIN (for the Credit Card) called PIN code in the rest of this document, and possibly an EFD_PIN.

PK Public Key

RPK Root Public Key

RSA Asymmetric Algorithm (ANSI X9.31)

SIM Subscriber Identification Module

SR Security Requirement

USIM UMTS Subscriber Identification Module

85 CWA 14722-3:2004 (E)

A.8 Common Criteria glossary

The following abbreviations concerns more specifically Common Criteria. A complete set of definitions of Common Criteria terms can be found in section 2.3 of [1].

CC Common Criteria

EAL Evaluation Assurance Level

IT Information Technology

PP Protection Profile

SF Security Function

SFP Security Function Policy

SFR Security Functional Requirement

SOF Strength of Function

ST Security Target

TOE Target of Evaluation

TSC TSF Scope of Control

TSF TOE Security Functions

TSFI TSF Interface

TSP TOE Security Policy

86