Security Target: anssi_cible_2015_30_LITE

Security Target: anssi_cible_2015_30_LITE
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
Security Target Lite
MAV31S Open Platform JCS
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 1 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
CONTENT
1
SECURITY TARGET INTRODUCTION ............................................................................................................. 5
1.1
SECURITYTARGET IDENTIFICATION ..................................................................................................................... 5
1.2
SECURITY TARGET OVERVIEW ............................................................................................................................. 5
1.3
REFERENCES ........................................................................................................................................................ 6
1.3.1
External References .................................................................................................................................... 6
1.3.2
Internal References ..................................................................................................................................... 8
1.4
ACRONYMS AND GLOSSARY................................................................................................................................. 8
2
TOE DESCRIPTION ............................................................................................................................................... 9
2.1
ARCHITECTURE OF THE SMARTCARD CONTAINING THE TOE ............................................................................... 9
2.2
TOE BOUNDARIES ............................................................................................................................................. 10
2.3
MAV31S OPEN PLATFORM JCS DESCRIPTION................................................................................................... 11
2.4
LIFE-CYCLE ....................................................................................................................................................... 14
2.4.1
Product Life-cycle ..................................................................................................................................... 14
2.4.1.1
2.4.1.2
Actors .....................................................................................................................................................................14
Initialisation on module at Gemalto site .................................................................................................................15
2.4.2
GP Life-cycle ............................................................................................................................................ 17
2.5
TOE INTENDED USAGE ...................................................................................................................................... 17
2.5.1.1
2.5.1.2
3
Personalization Phase .............................................................................................................................................18
Usage Phase ............................................................................................................................................................19
CONFORMANCE CLAIMS ................................................................................................................................. 20
3.1
CC CONFORMANCE CLAIM ................................................................................................................................. 20
3.2
PP CLAIM ........................................................................................................................................................... 20
3.3
PACKAGE CLAIM ................................................................................................................................................ 20
3.4
CONFORMANCE STATEMENT .............................................................................................................................. 20
4
SECURITY ASPECTS ........................................................................................................................................... 21
4.1
CONFIDENTIALITY .............................................................................................................................................. 21
4.2
INTEGRITY ......................................................................................................................................................... 21
4.3
UNAUTHORIZED EXECUTIONS ............................................................................................................................ 22
4.4
BYTECODE VERIFICATION .................................................................................................................................. 22
4.4.1
CAP file Verification ................................................................................................................................. 22
4.4.2
Integrity and Authentication ..................................................................................................................... 23
4.4.3
Linking and Verification ........................................................................................................................... 23
4.5
CARD MANAGEMENT ......................................................................................................................................... 23
4.6
SERVICES ........................................................................................................................................................... 24
5
SECURITY PROBLEM DEFINITION ................................................................................................................ 27
5.1
ASSETS .............................................................................................................................................................. 27
5.1.1
User data .................................................................................................................................................. 27
5.1.2
TSF data ................................................................................................................................................... 27
5.2
THREATS ........................................................................................................................................................... 28
5.2.1
Confidentiality .......................................................................................................................................... 28
5.2.2
Integrity..................................................................................................................................................... 28
5.2.3
Identity usurpation .................................................................................................................................... 29
5.2.4
Unauthorized execution ............................................................................................................................ 29
5.2.5
Denial of Service ....................................................................................................................................... 30
5.2.6
Card management ..................................................................................................................................... 30
5.2.7
Services ..................................................................................................................................................... 30
5.2.8
Miscellaneous ........................................................................................................................................... 30
5.3
ORGANIZATIONAL SECURITY POLICIES .............................................................................................................. 31
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 2 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
5.3.1
Java Card System Protection Profile – Open Configuration .................................................................... 31
5.3.2
TOE additional OSP ................................................................................................................................. 31
5.4
ASSUMPTIONS .................................................................................................................................................... 31
5.5
COMPATIBILITY BETWEEN SECURITY ENVIRONMENTS OF [ST-JCS] AND [ST-IC] .............................................. 32
5.5.1
Compatibility between threats of [ST-JCS] and [ST-IC] ......................................................................... 32
5.5.2
Compatibility between OSP of [ST-JCS] and [ST-IC] ............................................................................. 32
5.5.3
Compatibility between assumptions of [ST-JCS] and [ST-IC] ................................................................. 32
6
SECURITY OBJECTIVES.................................................................................................................................... 33
6.1
SECURITY OBJECTIVES FOR THE TOE ................................................................................................................ 33
6.1.1
Identification ............................................................................................................................................. 33
6.1.2
Execution .................................................................................................................................................. 33
6.1.3
Services ..................................................................................................................................................... 33
6.1.4
Object deletion .......................................................................................................................................... 34
6.1.5
Applet management .................................................................................................................................. 34
6.1.6
SCP ........................................................................................................................................................... 35
6.1.7
CMGR ....................................................................................................................................................... 35
6.1.8
Additional objectives................................................................................................................................. 36
6.2
SECURITY OBJECTIVES FOR THE OPERATIONAL ENVIRONMENT......................................................................... 36
6.2.1
Objectives extracted from [PP-JCS-Open] .............................................................................................. 36
6.3
SECURITY OBJECTIVES RATIONALE .................................................................................................................... 37
6.3.1
Threats ...................................................................................................................................................... 38
6.3.1.1
6.3.1.2
6.3.1.3
6.3.1.4
6.3.1.5
6.3.1.6
6.3.1.7
6.3.1.8
6.3.2
6.3.3
6.3.4
Confidentiality ........................................................................................................................................................38
Integrity ..................................................................................................................................................................39
Identity usurpation ..................................................................................................................................................40
Unauthorized execution ..........................................................................................................................................41
Denial of service .....................................................................................................................................................41
Card management ...................................................................................................................................................41
Services...................................................................................................................................................................41
Miscellaneous .........................................................................................................................................................42
Organizational Security Policies .............................................................................................................. 42
Assumptions .............................................................................................................................................. 42
Compatibility between objectives of [ST-JCS] and [ST-IC] .................................................................... 42
6.3.4.1
6.3.4.2
Compatibility between objectives for the TOE .......................................................................................................42
Compatibility between objectives for the environment...........................................................................................43
7
EXTENDED COMPONENTS DEFINITION ...................................................................................................... 43
8
7.1
DEFINITION OF THE FAMILY FCS_RND ............................................................................................................. 43
SECURITY REQUIREMENTS ............................................................................................................................ 44
8.1
SECURITY FUNCTIONAL REQUIREMENTS ........................................................................................................... 44
8.1.1
CoreG_LC Security Functional Requirements ......................................................................................... 48
8.1.1.1
8.1.1.2
8.1.1.3
8.1.1.4
Firewall Policy ........................................................................................................................................................48
Application Programming Interface ........................................................................................................................52
Card Security Management .....................................................................................................................................56
AID Management ...................................................................................................................................................57
8.1.2
INSTG Security Functional Requirements ................................................................................................ 59
8.1.3
ADELG Security Functional Requirements .............................................................................................. 61
8.1.4
ODELG Security Functional Requirements .............................................................................................. 64
8.1.5
CarG Security Functional Requirements .................................................................................................. 65
8.1.6
SCPG Security Functional Requirements ................................................................................................. 69
8.1.7
CMGR Group Security Functional Requirements .................................................................................... 70
8.1.8
ASFR Group Security Functional Requirements ...................................................................................... 71
8.2
SECURITY ASSURANCE REQUIREMENTS ............................................................................................................ 72
8.3
SECURITY REQUIREMENTS RATIONALE ............................................................................................................. 72
8.3.1
OBJECTIVES ............................................................................................................................................ 72
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 3 / 93
8.3.1.1
8.3.2
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
SECURITY OBJECTIVES FOR THE TOE ..........................................................................................................74
DEPENDENCIES ..................................................................................................................................... 77
8.3.2.1
8.3.2.2
8.3.3
SFRS DEPENDENCIES ........................................................................................................................................77
SARS DEPENDENCIES ........................................................................................................................................80
RATIONALE FOR THE SECURITY ASSURANCE REQUIREMENTS .................................................... 80
8.3.3.1
8.3.3.2
8.3.3.3
9
Reference
EAL4: Methodically designed,tested and reviewed ................................................................................................80
AVA_VAN.5 ADVANCED METHODICAL VULNERABILITY ANALYSIS ...................................................80
ALC_DVS.2 SUFFICIENCY OF SECURITY MEASURES ................................................................................81
8.3.4
Compatibility between SFR of [ST-JCS] and [ST-IC] ............................................................................. 81
TOE SUMMARY SPECIFICATION ................................................................................................................... 82
9.1
TOE SECURITY FUNCTIONS ............................................................................................................................... 82
9.1.1
SF provided by MultiApp v3.1S platform ................................................................................................. 82
9.1.1.1
9.1.1.2
9.1.1.3
9.1.1.4
9.1.1.5
9.1.1.6
9.1.1.7
9.1.1.8
9.1.1.9
9.1.1.10
9.1.1.11
9.1.1.12
SF.FW: Firewall .....................................................................................................................................................82
SF.API: Application Programming Interface ..........................................................................................................83
SF.CSM: Card Security Management .....................................................................................................................85
SF.AID: AID Management .....................................................................................................................................86
SF.INST: Installer ...................................................................................................................................................86
SF.ADEL: Applet Deletion ....................................................................................................................................87
SF.ODEL: Object Deletion ....................................................................................................................................88
SF.CAR: Secure Carrier ........................................................................................................................................88
SF.SCP: Smart Card Platform ...............................................................................................................................89
SF.CMG: Card Manager ...................................................................................................................................89
SF.API: Specific API ........................................................................................................................................89
SF.RND: RNG ..................................................................................................................................................89
9.1.2
TSFs provided by the NXP P60D144........................................................................................................ 91
9.2
ASSURANCE MEASURES .................................................................................................................................... 92
FIGURES
Figure 1: Product architecture ...............................................................................................................................................................10
Figure 2: TOE boundaries .....................................................................................................................................................................11
Figure 3: MAV31S Open Platform JCS architecture ............................................................................................................................12
Figure 4: JCS (TOE) Life Cycle within Product Life Cycle ..................................................................................................................15
Figure 5: GP Life Cycle.........................................................................................................................................................................17
TABLES
Table 1: Identification of the actors .......................................................................................................................................................14
Table 2 TOE operations.........................................................................................................................................................................18
Table 3: rationale objective vs. SFR ......................................................................................................................................................74
Table 4: Security Functions provided by the NXP P60D144 chip ........................................................................................................91
Table 5: Assurance Measures. ...............................................................................................................................................................92
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 4 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
1 SECURITY TARGET INTRODUCTION
1.1
SECURITYTARGET IDENTIFICATION
Title:
MAV31S Open Platform JCS Security Target
Version:
1.2
ST reference:
D1334796
Origin:
Gemalto
ITSEF:
SERMA Technologies
Certification Body:
ANSSI
Evaluation scheme
FRENCH
Product identification:
Optelio Contactless R7S
Security Controllers:
NXP P60D144J VA
TOE identification:
MAV31S Open Platform JCS
TOE documentation:
Operational User Guidance [OPE_JCS]
Preparative procedures [PRE_JCS]
The TOE identification is provided by the Card Production Life Cycle Data (CPLCD) of the TOE, located in
OTP and in EEPROM. These data are available by executing a dedicated command.
Identification data and dedicated command are described in the TOE guidance documentation.
The TOE and the product differ, as further explained in §2
 The TOE is the MAV31S Open Platform JCS.
 This product also includes 2 applets and 1 native application in ROM.
IAS Classic 4.2
MOCA Server
eTravel
1.2
SECURITY TARGET OVERVIEW
This TOE provides the security of an EAL4+ evaluated card with the flexibility of an open platform.
It allows for the loading of applets before or after the issuance of the card. These applets MAY or MAY NOT
be evaluated on this platform.
The applications using only certified applets will BE certified even if NOT-certified applets are loaded on the
platform.
The applications using a NOT-certified applet will NOT BE certified.
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 5 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
The Issuer can forbid the loading of applets before or after the issuance of the card.
The Java Card technology combines a subset of the Java programming language with a runtime environment
optimized for smart cards and similar small-memory embedded devices [JCVM222]. The Java Card platform
is a smart card platform enabled with Java Card technology (also called a “Java card”). This technology
allows for multiple applications to run on a single card and provides facilities for secure interoperability of
applications. Applications for the Java Card platform (“Java Card applications”) are called applets.
The main objectives of this ST are:
 To introduce TOE and the JCS Platform,
 To define the scope of the TOE and its security features,
 To describe the security environment of the TOE, including the assets to be protected and
the threats to be countered by the TOE and its environment during the product development,
production and usage.
 To describe the security objectives of the TOE and its environment supporting in terms of
integrity and confidentiality of application data and programs and of protection of the TOE.
 To specify the security requirements which includes the TOE security functional
requirements, the TOE assurance requirements and TOE security functions.
1.3
REFERENCES
1.3.1 External References
[CC-1]
[CC-2]
[CC-3]
[CEM]
[ST-IC]
[CR-IC]
[ST-IC-P60D144]
[CR-IC-P60D144]
[FIPS180-2]
[FIPS197]
[SP800-67]
[SP 800-38 B]
ST
Common Criteria for Information Technology Security Evaluation
Part 1: Introduction and general model,
CCMB-2009-07-001, version 3.1 rev 4, September 2012
Common Criteria for Information Technology Security Evaluation
Part 2: Security functional components,
CCMB-2009-07-002, version 3.1 rev 4, September 2012
Common Criteria for Information Technology Security Evaluation
Part 3: Security assurance components,
CCMB-2009-07-003, version 3.1 rev 4 September 2012
Common Methodology for Information Technology Security Evaluation
Methodology
CCMB-2009-07-004, version 3.1 rev 4 September 2012
[ST-IC-P60D144]
[CR-IC-P60D144]
ST of NXP Secure Smart Card Controller P60x144/080yVA BSI-DSZ-CC-0870- 2014
Certification Report, BSI-DSZ-CC-0870- 2014
Federal Information Processing Standards Publication 180-2 SECURE HASH STANDARD
(+Change Notice to include SHA-224), U.S. DEPARTMENT OF COMMERCE/National Institute
of Standards and Technology, 2002 August 1
Federal Information Processing Standards Publication 197 ADVANCED ENCRYPTION
STANDARD (AES), 2001 November 26
NIST Special Publication 800-67 - Recommendation for the Triple Data Encryption Algorithm
(TDEA) Block Cipher – version 1 – May 2004
NIST Special Publication 800-38B: Recommendation for Block Cipher Modes of operation :
The CMAC Mode for Authentication
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 6 / 93
[TR-03111]
[ISO15946-1]
[ISO15946-2]
[ISO15946-3]
[ISO7816]
[ISO9796-2]
[ISO9797-1]
[IEEE-P1363]
[PKCS#3]
[GP211]
[GP221]
[JAVASPEC]
[JVM]
[JCBV]
[JCRE222]
[JCVM222]
[JCAPI222]
[PP-IC-0035]
[PP-JCS-Open]
[PP-SSCD-KG]
[PP-SSCD-KI]
ST
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
Technical Guideline TR-03111, Elliptic Curve Cryptography based on ISO 15946, v1.00
Bundesamt für Sicherheit in der Informationstechnik
ISO/IEC 15946: Information technology – Security techniques – Cryptographic techniques
based on elliptic curves – Part 1: General,
2002
ISO/IEC 15946: Information technology – Security techniques – Cryptographic techniques
based on elliptic curves – Part 2: Digital Signatures,
2002
ISO/IEC 15946: Information technology – Security techniques – Cryptographic techniques
based on elliptic curves – Part 3: Key establishment,
2002
ISO 7816, Identification cards – Integrated circuit(s) cards with contacts, Part 4:
Organization, security and commands for interchange, FDIS2004
ISO/IEC 9796: Information technology – Security techniques – Digital Signature Schemes
giving message recovery – Part 2: Integer factorisation based mechanisms,
2002
ISO/IEC 9797: Information technology – Security techniques – Message Authentication Codes
(MACs) – Part 1: Mechanisms using a block cipher,
1999
Standard Specifications for Public Key Cryptography, Institute of Electrical and Electronic
Engineers, 2000 : IEEE 1363
PKCS #3: Diffie-Hellman Key-Agreement Standard,
An RSA Laboratories Technical Note,
Version 1.4, Revised November 1, 1993
Global Platform Card Specification v 2.1.1 - March 2003
Global Platform Card Specification v 2.2.1
The Java Language Specification. Third Edition, May 2005. Gosling, Joy, Steele and Bracha.
ISBN 0-321-24678-0.
The Java Virtual Machine Specification. Lindholm, Yellin. ISBN 0-201-43294-3.
Java Card Platform, version 2.2 Off-Card Verifier. June 2002. White paper. Published by Sun
Microsystems, Inc.
Java Card 2.2.2 Runtime Environment (JCRE) Specification – 15 March 2006 - Published by
Sun Microsystems, Inc.
Java Card 2.2.2 Virtual Machine (JCVM) Specification – 15 March 2006 - Published by Sun
Microsystems, Inc.
Java Card 2.2.2 Application Programming Interface - March 2006 - Published by Sun
Microsystems, Inc.
Security IC Platform Protection Profile – BSI-PP-0035
Java Card System Protection Profile – Open Configuration
ANSSI-PP-2010-03M01, Version 3.0, May 2012
Protection profiles for secure signature creation device - Part 2: Device with key generation
BSI-CC-PP-0059-2009-MA-01 version 2.0.1 21 February 2012
Protection profiles for secure signature creation device - Part 3: Device with key import
BSI-CC-PP-0075-2012, Version 1.02, July 2012
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 7 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
1.3.2 Internal References
[AGD]
[PRE_JCS]
[OPE_JCS]
1.4
[PRE_JCS] & [OPE_JCS]
Preparation Guidance
Operational Guidance
ACRONYMS AND GLOSSARY
AES
APDU
API
CAD
CC
CPU
DES
EAL
ECC
EEPROM
ES
GP
IC
IT
JCRE
JCS
JCVM
NVM
OP
PIN
PP
RMI
RNG
ROM
RSA
SAR
SC
SCP
SFP
SFR
SHA
ST
TOE
TSF
ST
Advanced Encryption Standard
Application Protocol Data Unit
Application Programming Interface
Card Acceptance Device
Common Criteria
Central Processing Unit
Data Encryption Standard
Evaluation Assurance Level
Elliptic Curve Cryptography
Electrically-Erasable Programmable Read-Only Memory
Embedded Software
Global Platform
Integrated Circuit
Information Technology
JavaCard Runtime Environment
JavaCard System
JavaCard Virtual Machine
Non-Volatile Memory
Open Platform
Personal Identification Number
Protection Profile
Remote Method Invocation
Random Number Generator
Read-Only Memory
Rivest Shamir Adleman
Security Assurance Requirement
Smart Card
Secure Channel Protocol
Security Function Policy
Security Functional Requirement
Secure Hash Algorithm
Security Target
Target Of Evaluation
TOE Security Functionality
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 8 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
2 TOE DESCRIPTION
2.1
ARCHITECTURE OF THE SMARTCARD CONTAINING THE TOE
The TOE is part of the Optelio Contactless R7S product. This smartcard contains the software dedicated to
the operation of:

The MAV31S Open Platform JCS, which supports the execution of the personalized applets
and provides the smartcard administration services.

Identity applets: IAS Classic V4.2, MOCA Server 1.0 and eTravel 2.1 native application.

Bank Java applets loaded in EEPROM : MChipAdvanced, VSDC, PPSE, MChipPayPass

Additional native applets: PACE application

Additionally, other applets – not determined at the moment of the present evaluation – may be
loaded on the smartcard before or after issuance.
Therefore, the architecture of the smartcard software and application data can be represented as follows:
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 9 / 93
1.2p
(Printed copy not controlled: verify the
version before using)
93
Other applet #n
Functionality
Pages
Other applet #2
Functionality
MOCA Server
applet
Release
Other applet #1
Functionality
Public
IAS Classic V4
applet
Classification Level
eTravel SAC
Native
application
eTravel EAC
Native
application
Applet Layer
D1334796
API
Card Manager,
OP/GP API
JC 2.2.2 / JCF /
Gemalto Proprietary
OP 2.1.1
Runtime environment
JC 2.2.2
Virtual Machine
JC 2.2.2
Native layer
Memory manager
IC Layer
MAV31S
Open Platform JCS Layer
Reference
Communication (I/O)
Crypto Libs
NXP P60D144J VA Integrated Circuit
Figure 1: Product architecture
The IAS Classic V4.2 applet, eTravel 2.1 native application, MOCA server1.0 applet and the MAV31S Open
Platform JCS, are located in ROM.
Any additional applet’s executable code (loaded before or after issuance) would also be located in EEPROM,
which might also contain any software patch that would be needed in the future.
All the data (related to the applets or to the javacard platform) are located in EEPROM. The separation
between these data is ensured by the javacard firewall as specified in [JCRE222].
2.2
TOE BOUNDARIES
The Target of Evaluation (TOE) is the MAV31S Open Platform JCS. It is defined by:
 The Java Platform 2.2.2 based on JLEP Operating System;
 The underlying Integrated Circuit;
The applications eTravel, IAS classic V4.2 and MOCA, stored in ROM are outside the TOE.
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 10 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
The Applets loaded pre issuance or post issuance are outside the TOE, Other smart card product elements,
(such as holograms, magnetic stripes, security printing,…) are outside the scope of this Security Target.
API
Other applet #n
Functionality
Other applet #2
Functionality
Other applet #1
Functionality
IAS Classic V4
applet
MOCA Server
applet
eTravel SAC
Native
application
eTravel EAC
Native
application
IC Layer
Card Manager,
OP/GP API
JC 2.2.2 / JCF /
Gemalto Proprietary
OP 2.1.1
Runtime environment
JC 2.2.2
Virtual Machine
JC 2.2.2
TOE
MAV31S
Open Platform JCS Layer
Applet Layer
Java Card RMI is not implemented in the TOE.
Native layer
Memory manager
Communication (I/O)
Crypto Libs
NXP P60D144J VA Integrated Circuit
Figure 2: TOE boundaries
2.3
MAV31S OPEN PLATFORM JCS DESCRIPTION
The MAV31S Open Platform JCS is a smart card operating system that complies with two major industry
standards:
ST

Sun’s Java Card 2.2.2, which consists of the Java Card 2.2.2 Virtual Machine [JCVM222],
the Java Card 2.2.2 Runtime Environment [JCRE222] and the Java Card 2.2.2 Application
Programming Interface [JCAPI222].

The Global Platform Card Specification version 2.1.1 [GP211].
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 11 / 93
Reference
D1334796
Classification Level
Public
API
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
Card Manager,
OP/GP API
JC 2.2.2 / JCF /
Gemalto Proprietary
OP 2.1.1
Runtime environment
JC 2.2.2
Virtual Machine
JC 2.2.2
Native layer
Memory manager
Communication (I/O)
Crypto Libs
Figure 3: MAV31S Open Platform JCS architecture
As described in figure 3, the MAV31S Open Platform JCS contains the following components:

The Native Layer
It provides the basic card functionalities (memory management, I/O management and cryptographic
primitives) with native interface with the underlying IC. The cryptographic features implemented in the
native layer encompass the following algorithms:

o
DES, Triple-DES
o
RSA up to 4096 (CRT method), 2048 (Std method)
o
DH up to 2048
o
AES 128, 192, 256
o
SHA-1, SHA-224, SHA-256, SHA-384, SHA-512
o
ECC up to 521 (Standard JC2.2.2 method)
o
Pseudo-Random Number Generation (PRNG) & Software random.
The Javacard Runtime Environment
It conforms to [JCRE222] and provides a secure framework for the execution of the Java Card
programs and data access management (firewall).
Among other features, multiple logical channels are supported, as well as extradition, DAP,
Delegated management, SCP01, SCP02 and SCP03.

The Javacard Virtual Machine
It conforms to [JCVM222] and provides the secure interpretation of bytecodes.

The API
It includes the standard javacard API [JCAPI222] and the Gemalto proprietary API.
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 12 / 93

Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
The Open Platform Card Manager
It conforms to [GP211] and provides card, key and applet management functions (contents and lifecycle) and security control.
The MAV31S Open Platform JCSprovides the following services:
ST
-
Initialization of the Card Manager and management of the card life cycle
-
Secure loading and installation of the applets under Card Manager control
-
Deletion of applications under Card Manager control
-
Extradition services to allow several applications to share a dedicated security domain
-
Secure operation of the applications through the API
-
Management and control of the communication between the card and the CAD
-
Card basic security services as follows:
o
Checking environmental operating conditions using information provided by
the IC
o
Checking life cycle consistency
o
Ensuring the security of the PIN and cryptographic key objects
o
Generating random numbers
o
Handling secure data object and backup mechanisms
o
Managing memory content
o
Ensuring Java Card firewall mechanism
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 13 / 93
2.4
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
LIFE-CYCLE
2.4.1 Product Life-cycle
2.4.1.1 Actors
Actors
Identification
Integrated Circuit (IC) Developer
NXP
Embedded Software Developer
Gemalto (Meudon)
NXP
Integrated Circuit (IC) Manufacturer
Initializer
Pre-personalizer
Gemalto (Gemenos, Singapore)
Gemalto (Gemenos,Singapore,Tczew)
Personalization Agent
Gemalto or other personalizer
Card Holder
The rightful holder of the card for whom the issuer
personalizes it.
Table 1: Identification of the actors
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 14 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
2.4.1.2 Initialisation on module at Gemalto site
The Java Card System (the TOE) life cycle is part of the product life cycle, i.e. the Java Card platform with
applications, which goes from product development to its usage by the final user.
The Java Card System (i.e. the TOE) life-cycle itself can be decomposed in four stages:
-
Development
-
Storage, pre-personalization and testing
-
Personalization and testing
-
Final usage
The JCS storage is not necessarily a single step in the life cycle since it can be stored in parts. The JCS
delivery occurs before storage and may take place more than once if the TOE is delivered in parts.
These four stages map to the product life cycle phases as shown in Figure 6.
JCS Storage, Preperso,
Testing
Phase 1
Smartcard Embedded Software
Development
Phase 2
IC Development
Phase 3
IC Manufacturing & Testing
Phase 4
IC Packaging & Testing
JCS Storage, Preperso &
Testing
TOE development and manufacturing
JCS Delivery
Covered by ALC
Assurance families
JCS Development
Phase 5
Smartcard Prepersonalization
& Testing
Covered by AGD
Assurance families
TOE Delivery
JCS Personalization &
Testing
Phase 6
Smartcard Personalization &
Testing
JCS End-Usage
Phase 7
Smartcard End-Usage
TOE usage for
administrators
TOE end-usage
Figure 4: JCS (TOE) Life Cycle within Product Life Cycle
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 15 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
JCS Development is performed during Phase 1. This includes JCS conception, design, implementation,
testing and documentation. The JCS development shall fulfill requirements of the final product, including
conformance to Java Card Specifications, and recommendations of the SCP user guidance. The JCS
development shall occur in a controlled environment that avoids disclosure of source code, data and any
critical documentation and that guarantees the integrity of these elements. The present evaluation includes
the JCS development environment.
In Phase 3, the IC Manufacturer may store, initialize the JCS and potentially conduct tests on behalf of the
JCS developer. The IC Manufacturing environment shall protect the integrity and confidentiality of the JCS
and of any related material, for instance test suites. The present evaluation includes the whole IC
Manufacturing environment, in particular those locations where the JCS is accessible for installation or
testing. As the Security IC has already been certified against [PP-IC-0035] there is no need to perform the
evaluation again.
In Phase 5, the SC Pre-Personalizer may store, pre-personalize the JCS and potentially conduct tests on
behalf of the JCS developer. The SC Pre-Personalization environment shall protect the integrity and
confidentiality of the JCS and of any related material, for instance test suites.
(Part of) JCS storage in Phase 5 implies a TOE delivery after Phase 5. Hence, the present evaluation
includes the SC Pre-Personalization environment. The TOE delivery point is placed at the end of Phase 5,
since the entire TOE is then built and embedded in the Security IC.
The JCS is personalized in Phase 6, if necessary. The SC Personalization environment is not included in the
present evaluation. Appropriate security recommendations are provided to the SC Personalizer through the
[AGD] documentation.
The JCS final usage environment is that of the product where the JCS is embedded in. It covers a wide
spectrum of situations that cannot be covered by evaluations. The JCS and the product shall provide the full
set of security functionalities to avoid abuse of the product by untrusted entities.
Note: Potential applications loaded in pre-issuance will be verified using dedicated evaluated verification
process. Applications loaded in post-issuance will need to follow dedicated development rules.
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 16 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
2.4.2 GP Life-cycle
Personalization
OP_READY
INITIALIZED
SECURED
CARD_LOCKED
TERMINATED
Usage
Figure 5: GP Life Cycle
2.5
ST
TOE INTENDED USAGE
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 17 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
TOE
Personalizer
Personalization Commands
Personalization
JCRE
Firewall
Applet
API calls
API
Commands for Applets
Card Management
User
OP Key Management
Issuer
Applet management
(Install, Load, Delete,Extradite)
Applet Installation
Applet Loading
Applet Deletion
Service Provider
Delegated Management
Applet Extradition
Table 2 TOE operations
2.5.1.1
Personalization Phase
During the Personalization Phase the following Administrative Services are available:
 Applet Load
 Applet Install
 Applet Delete
 Applet Extradite
 Applet Management Lock
All applet management operations require the authentication of the Issuer. By erasing the authentication keys
with random numbers, the Issuer can prevent all subsequent applet management operations. This operation
is not reversible.
In the Personalization phase, Applet Management Lock is optional.
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 18 / 93
2.5.1.2
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
Usage Phase
During the Usage Phase, if the Applet Management lock has not been put, the Administrative Services are
available as during the Personalization phase:
 Applet Load
 Applet Install
 Applet Delete
 Applet Extradite
 Applet Management Lock
In addition, the following User services are available:
 Applet Selection
 Applet Interface
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 19 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
3 CONFORMANCE CLAIMS
3.1
CC CONFORMANCE CLAIM
Common criteria Version:
This ST conforms to CC Version 3.1 [CC-1] [CC-2] [CC-3]
Conformance to CC part 2 and 3:
-
CC part 2 extended with the FCS_RND.1 family. All the other security requirements
have been drawn from the catalogue of requirements in Part 2 [CC-2].
-
CC part 3 conformant
The Common Methodology for Information Technology Security Evaluation, Evaluation Methodology; [CEM]
has to be taken into account.
3.2
PP CLAIM
The MultiApp V3.1S JCS security target claims strict conformance to the Protection Profile “JavaCard System
– Open configuration” ([PP-JCS-Open]).
The MultiApp V3.1S JCS security target is a composite security target, including the IC security target [STIC]. However the security problem definition, the objectives, and the SFR of the IC are not described in this
document.
The TOE also claims conformance to other Protection Profiles. This is described in other Security Targets:
The MultiApp V3.1S IAS Classic V4.2 security target claims demonstrable conformance to the Protection
Profiles related to “Secure Signature-creation Device” : [PP-SSCD-KG] and [PP-SSCD-KI].
3.3
PACKAGE CLAIM
This ST is conforming to assurance package EAL4 augmented with ALC_DVS.2 and AVA_VAN.5 defined in
CC part 3 [CC-3].
3.4
CONFORMANCE STATEMENT
This ST strictly conforms to [PP-JCS-Open]. The conformance is explained in the rationale.
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 20 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
4 SECURITY ASPECTS
This chapter describes the main security issues of the Java Card System and its environment addressed in
this ST, called “security aspects”, in a CC-independent way. In addition to this, they also give a semi-formal
framework to express the CC security environment and objectives of the TOE. They can be instantiated as
assumptions, threats, objectives (for the TOE and the environment) or organizational security policies. For
instance, we will define hereafter the following aspect:
#.OPERATE (1) The TOE must ensure continued correct operation of its security functions.
(2) The TOE must also return to a well-defined valid state before a service request in case of
failure during its operation.
TSFs must be continuously active in one way or another; this is called “OPERATE”.
4.1
CONFIDENTIALITY
#.CONFID-APPLI-DATA
Application data must be protected against unauthorized disclosure. This
concerns logical attacks at runtime in order to gain read access to other
application’s data.
#.CONFID-JCS-CODE
Java Card System code must be protected against unauthorized disclosure.
Knowledge of the Java Card System code may allow bypassing the TSF. This
concerns logical attacks at runtime in order to gain a read access to executable
code, typically by executing an application that tries to read the memory area
where a piece of Java Card System code is stored.
#.CONFID-JCS-DATA
Java Card System data must be protected against unauthorized disclosure. This
concerns logical attacks at runtime in order to gain a read access to Java Card
System data. Java Card System data includes the data managed by the Java
Card RE, the Java Card VM and the internal data of Java Card platform API
classes as well.
4.2
INTEGRITY
#.INTEG-APPLI-CODE
Application code must be protected against unauthorized modification. This
concerns logical attacks at runtime in order to gain write access to the memory
zone where executable code is stored. In post-issuance application loading, this
threat also concerns the modification of application code in transit to the card.
#.INTEG-APPLI-DATA
Application data must be protected against unauthorized modification. This
concerns logical attacks at runtime in order to gain unauthorized write access to
application data. In post-issuance application loading, this threat also concerns the
modification of application data contained in a package in transit to the card. For
instance, a package contains the values to be used for initializing the static fields
of the package.
#.INTEG-JCS-CODE
Java Card System code must be protected against unauthorized modification.
This concerns logical attacks at runtime in order to gain write access to
executable code.
#.INTEG-JCS-DATA
Java Card System data must be protected against unauthorized modification. This
concerns logical attacks at runtime in order to gain write access to Java Card
System data. Java Card System data includes the data managed by the Java
Card RE, the Java Card VM and the internal data of Java Card API classes as
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 21 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
well.
4.3
UNAUTHORIZED EXECUTIONS
#.EXE-APPLI-CODE
Application (byte)code must be protected against unauthorized execution. This
concerns (1) invoking a method outside the scope of the accessibility rules provided
by the access modifiers of the Java programming language ([JAVASPEC]§6.6); (2)
jumping inside a method fragment or interpreting the contents of a data memory
area as if it was executable code.
#.EXE-JCS-CODE
Java Card System bytecode must be protected against unauthorized execution. Java
Card System bytecode includes any code of the Java Card RE or API. This concerns
(1) invoking a method outside the scope of the accessibility rules provided by the
access modifiers of the Java programming language ([JAVASPEC]§6.6); (2) jumping
inside a method fragment or interpreting the contents of a data memory area as if it
was executable code. Note that execute access to native code of the Java Card
System and applications is the concern of #.NATIVE.
#.FIREWALL
The Firewall shall ensure controlled sharing of class instances, and isolation of their
data and code between packages (that is, controlled execution contexts) as well as
between packages and the JCRE context. An applet shall neither read, write nor
compare a piece of data belonging to an applet that is not in the same context nor
execute one of the methods of an applet in another context without its authorization.
#.NATIVE
Because the execution of native code is outside of the JCS TSF scope, it must be
secured so as to not provide ways to bypass the TSFs of the JCS. Loading of native
code, which is as well outside the TSFs, is submitted to the same requirements.
Should native software be privileged in this respect, exceptions to the policies must
include a rationale for the new security framework they introduce.
4.4
BYTECODE VERIFICATION
#.VERIFICATION
All bytecode must be verified prior to being executed. Bytecode verification includes
(1) how well-formed CAP file is and the verification of the typing constraints on the
bytecode, (2) binary compatibility with installed CAP files and the assurance that the
export files used to check the CAP file correspond to those that will be present on the
card when loading occurs.
4.4.1 CAP file Verification
Bytecode verification includes checking at least the following properties: (1) bytecode instructions represent a
legal set of instructions used on the Java Card platform; (2) adequacy of bytecode operands to bytecode
semantics; (3) absence of operand stack overflow/underflow; (4) control flow confinement to the current
method (that is, no control jumps to outside the method); (5) absence of illegal data conversion and reference
forging; (6) enforcement of the private/public access modifiers for class and class members; (7) validity of
any kind of reference used in the bytecodes (that is, any pointer to a bytecode, class, method, object, local
variable, etc actually points to the beginning of piece of data of the expected kind); (8) enforcement of rules
for binary compatibility (full details are given in [JCVM222], [JVM], [JCBV]). The actual set of checks
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 22 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
performed by the verifier is implementation-dependent, but shall at least enforce all the “must clauses”
imposed in [JCVM222] on the bytecodes and the correctness of the CAP files’ format.
As most of the actual Java Card VMs do not perform all the required checks at runtime, mainly because
smart cards lack memory and CPU resources, CAP file verification prior to execution is mandatory. On the
other hand, there is no requirement on the precise moment when the verification shall actually take place, as
far as it can be ensured that the verified file is not modified thereafter. Therefore, the bytecodes can be
verified either before the loading of the file on to the card or before the installation of the file in the card or
before the execution, depending on the card capabilities, in order to ensure that each bytecode is valid at
execution time. This Security Target assumes bytecode verification is performed off-card.
Another important aspect to be considered about bytecode verification and application downloading is, first,
the assurance that every package required by the loaded applet is indeed on the card, in a binary-compatible
version (binary compatibility is explained in [JCVM222] §4.4), second, that the export files used to check and
link the loaded applet have the corresponding correct counterpart on the card.
4.4.2 Integrity and Authentication
Verification off-card is useless if the application package is modified afterwards. The usage of cryptographic
certifications coupled with the verifier in a secure module is a simple means to prevent any attempt of
modification between package verification and package installation.
Once a verification authority has verified the package, it signs it and sends it to the card. Prior to the
installation of the package, the card verifies the signature of the package, which authenticates the fact that it
has been successfully verified. In addition to this, a secured communication channel is used to communicate
it to the card, ensuring that no modification has been performed on it.
Alternatively, the card itself may include a verifier and perform the checks prior to the effective installation of
the applet or provide means for the bytecodes to be verified dynamically. On-card bytecode verifier is out of
the scope of this Security Target.
4.4.3 Linking and Verification
Beyond functional issues, the installer ensures at least a property that matters for security: the loading order
shall guarantee that each newly loaded package references only packages that have been already loaded on
the card. The linker can ensure this property because the Java Card platform does not support dynamic
downloading of classes.
4.5
CARD MANAGEMENT
#.CARD-MANAGEMENT
(1) The card manager (CM) shall control the access to card management
functions such as the installation, update or deletion of applets. (2) The card
manager shall implement the card issuer’s policy on the card.
#.INSTALL
(1) The TOE must be able to return to a safe and consistent state should the
installation of a package or an applet fail or be cancelled (whatever the reasons).
(2) Installing an applet must have no effect on the code and data of already
installed applets. The installation procedure should not be used to bypass the
TSFs. In short, it is an atomic operation, free of harmful effects on the state of
the other applets. (3) The procedure of loading and installing a package shall
ensure its integrity and authenticity.
#.SID
(1) Users and subjects of the TOE must be identified. (2) The identity of
sensitive users and subjects associated with administrative and privileged roles
must be particularly protected; this concerns the Java Card RE, the applets
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 23 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
registered on the card, and especially the default applet and the currently
selected applet (and all other active applets in Java Card System 2.2). A change
of identity, especially standing for an administrative role (like an applet
impersonating the Java Card RE), is a severe violation of the Security Functional
Requirements (SFR). Selection controls the access to any data exchange
between the TOE and the CAD and therefore, must be protected as well. The
loading of a package or any exchange of data through the APDU buffer (which
can be accessed by any applet) can lead to disclosure of keys, application code
or data, and so on.
#OBJ-DELETION
(1) Deallocation of objects should not introduce security holes in the form of
references pointing to memory zones that are not longer in use, or have been
reused for other purposes. Deletion of collection of objects should not be
maliciously used to circumvent the TSFs. (2) Erasure, if deemed successful,
shall ensure that the deleted class instance is no longer accessible.
#DELETION
(1) Deletion of installed applets (or packages) should not introduce security holes
in the form of broken references to garbage collected code or data, nor should
they alter integrity or confidentiality of remaining applets. The deletion procedure
should not be maliciously used to bypass the TSFs. (2) Erasure, if deemed
successful, shall ensure that any data owned by the deleted applet is no longer
accessible (shared objects shall either prevent deletion or be made
inaccessible). A deleted applet cannot be selected or receive APDU commands.
Package deletion shall make the code of the package no longer available for
execution. (3) Power failure or other failures during the process shall be taken
into account in the implementation so as to preserve the SFRs. This does not
mandate, however, the process to be atomic. For instance, an interrupted
deletion may result in the loss of user data, as long as it does not violate the
SFRs.
The deletion procedure and its characteristics (whether deletion is either physical
or logical, what happens if the deleted application was the default applet, the
order to be observed on the deletion steps) are implementation-dependent. The
only commitment is that deletion shall not jeopardize the TOE (or its assets) in
case of failure (such as power shortage).
Deletion of a single applet instance and deletion of a whole package are
functionally different operations and may obey different security rules. For
instance, specific packages can be declared to be undeletable (for instance, the
Java Card API packages), or the dependency between installed packages may
forbid the deletion (like a package using super classes or super interfaces
declared in another package).
4.6
SERVICES
#.ALARM
The TOE shall provide appropriate feedback upon detection of a potential
security violation. This particularly concerns the type errors detected by the
bytecode verifier, the security exceptions thrown by the Java Card VM, or any
other security-related event occurring during the execution of a TSF.
#.OPERATE
(1) The TOE must ensure continued correct operation of its security functions.
(2) In case of failure during its operation, the TOE must also return to a welldefined valid state before the next service request.
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 24 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
#.RESOURCES
The TOE controls the availability of resources for the applications and enforces
quotas and limitations in order to prevent unauthorized denial of service or
malfunction of the TSFs. This concerns both execution (dynamic memory
allocation) and installation (static memory allocation) of applications and
packages.
#.CIPHER
The TOE shall provide a means to the applications for ciphering sensitive data,
for instance, through a programming interface to low-level, highly secure
cryptographic services. In particular, those services must support cryptographic
algorithms consistent with cryptographic usage policies and standards.
#.KEY-MNGT
The TOE shall provide a means to securely manage cryptographic keys. This
includes: (1) Keys shall be generated in accordance with specified cryptographic
key generation algorithms and specified cryptographic key sizes, (2) Keys must
be distributed in accordance with specified cryptographic key distribution
methods, (3) Keys must be initialized before being used, (4) Keys shall be
destroyed in accordance with specified cryptographic key destruction methods.
#.PIN-MNGT
The TOE shall provide a means to securely manage PIN objects. This includes:
(1) Atomic update of PIN value and try counter, (2) No rollback on the PINchecking function, (3) Keeping the PIN value (once initialized) secret (for
instance, no clear-PIN-reading function), (4) Enhanced protection of PIN’s
security attributes (state, try counter…) in confidentiality and integrity.
#.SCP
The smart card platform must be secure with respect to the SFRs. Then: (1)
After a power loss, RF signal loss or sudden card removal prior to completion of
some communication protocol, the SCP will allow the TOE on the next power up
to either complete the interrupted operation or revert to a secure state. (2) It
does not allow the SFRs to be bypassed or altered and does not allow access to
other low-level functions than those made available by the packages of the Java
Card API. That includes the protection of its private data and code (against
disclosure or modification) from the Java Card System. (3) It provides secure
low-level cryptographic processing to the Java Card System. (4) It supports the
needs for any update to a single persistent object or class field to be atomic, and
possibly a low-level transaction mechanism. (5) It allows the Java Card System
to store data in “persistent technology memory” or in volatile memory, depending
on its needs (for instance, transient objects must not be stored in non-volatile
memory). The memory model is structured and allows for low–level control
accesses (segmentation fault detection). (6) It safely transmits low–level
exceptions to the TOE (arithmetic exceptions, checksum errors), when
applicable. Finally, it is required that (7) the IC is designed in accordance with a
well defined set of policies and standards (for instance, those specified in [PPIC-0035]), and will be tamper resistant to actually prevent an attacker from
extracting or altering security data (like cryptographic keys) by using commonly
employed techniques (physical probing and sophisticated analysis of the chip).
This especially matters to the management (storage and operation) of
cryptographic keys.
#.TRANSACTION
The TOE must provide a means to execute a set of operations atomically. This
mechanism must not jeopardise the execution of the user applications. The
transaction status at the beginning of an applet session must be closed (no
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 25 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
pending updates).
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 26 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
5 SECURITY PROBLEM DEFINITION
5.1
ASSETS
The assets of the TOE are those defined in [PP-JCS-Open]. The assets of [PP-IC-0035] are studied in [STIC].
Assets are security-relevant elements to be directly protected by the TOE. Confidentiality of assets is always
intended with respect to un-trusted people or software, as various parties are involved during the first stages
of the smart card product life-cycle; details are given in threats hereafter.
Assets may overlap, in the sense that distinct assets may refer (partially or wholly) to the same piece of
information or data. For example, a piece of software may be either a piece of source code (one asset) or a
piece of compiled code (another asset), and may exist in various formats at different stages of its
development (digital supports, printed paper). This separation is motivated by the fact that a threat may
concern one form at one stage, but be meaningless for another form at another stage.
The assets to be protected by the TOE are listed below. They are grouped according to whether it is data
created by and for the user (User data) or data created by and for the TOE (TSF data). For each asset it is
specified the kind of dangers that weigh on it.
5.1.1 User data
D.APP_CODE
The code of the applets and libraries loaded on the card.
To be protected from unauthorized modification.
D.APP_C_DATA
Confidential sensitive data of the applications, like the data contained in an object, a static field of a
package, a local variable of the currently executed method, or a position of the operand stack.
To be protected from unauthorized disclosure.
D.APP_I_DATA
Integrity sensitive data of the applications, like the data contained in an object, a static field of a package,
a local variable of the currently executed method, or a position of the operand stack.
To be protected from unauthorized modification.
D.APP_KEYs
Cryptographic keys owned by the applets.
To be protected from unauthorized disclosure and modification.
D.PIN
Any end-user's PIN.
To be protected from unauthorized disclosure and modification.
5.1.2 TSF data
D.API_DATA
Private data of the API, like the contents of its private fields.
To be protected from unauthorized disclosure and modification.
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 27 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
D.CRYPTO
Cryptographic data used in runtime cryptographic computations, like a seed used to generate a key.
To be protected from unauthorized disclosure and modification.
D.JCS_CODE
The code of the Java Card System.
To be protected from unauthorized disclosure and modification.
D.JCS_DATA
The internal runtime data areas necessary for the execution of the Java Card VM, such as, for instance,
the frame stack, the program counter, the class of an object, the length allocated for an array, any
pointer used to chain data-structures.
To be protected from monopolization and unauthorized disclosure or modification.
D.SEC_DATA
The runtime security data of the Java Card RE, like, for instance, the AIDs used to identify the installed
applets, the currently selected applet, the current context of execution and the owner of each object.
To be protected from unauthorized disclosure and modification.
5.2
THREATS
This section introduces the threats to the assets against which specific protection within the TOE or its
environment is required. The threats are classified in several groups.
5.2.1 Confidentiality
T.CONFID-APPLI-DATA
The attacker executes an application to disclose data belonging to another application. See #.CONFIDAPPLI-DATA for details.
Directly threatened asset(s): D.APP_C_DATA, D.PIN, and D.APP_KEYs.
T.CONFID-JCS-CODE
The attacker executes an application to disclose the Java Card System code. See #.CONFID-JCSCODE for details.
Directly threatened asset(s): D.JCS_CODE.
T.CONFID-JCS-DATA
The attacker executes an application to disclose data belonging to the Java Card System. See
#.CONFID-JCS-DATA for details.
Directly threatened asset(s): D.API_DATA, D.SEC_DATA, D.JCS_DATA, and D.CRYPTO.
5.2.2 Integrity
T.INTEG-APPLI-CODE
The attacker executes an application to alter (part of) its own code or another application's code. See
#.INTEG-APPLI-CODE for details.
Directly threatened asset(s): D.APP_CODE
T.INTEG-APPLI-CODE.LOAD
The attacker modifies (part of) its own or another application code when an application package is
transmitted to the card for installation. See #.INTEG-APPLI-CODE for details.
Directly threatened asset(s): D.APP_CODE.
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 28 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
T.INTEG-APPLI-DATA
The attacker executes an application to alter (part of) another application's data. See #.INTEG-APPLIDATA for details.
Directly threatened asset(s): D.APP_I_DATA, D.PIN, and D.APP_KEYs.
T.INTEG-APPLI-DATA.LOAD
The attacker modifies (part of) the initialization data contained in an application package when the
package is transmitted to the card for installation. See #.INTEG-APPLI-DATA for details.
Directly threatened asset(s): D.APP_I_DATA and D_APP_KEYs.
T.INTEG-JCS-CODE
The attacker executes an application to alter (part of) the Java Card System code. See #.INTEG-JCSCODE for details.
Directly threatened asset(s): D.JCS_CODE.
T.INTEG-JCS-DATA
The attacker executes an application to alter (part of) Java Card System or API data. See #.INTEG-JCSDATA for details.
Directly threatened asset(s): D.API_DATA, D.SEC_DATA, D.JCS_DATA, and D.CRYPTO.
Other attacks are in general related to one of the above, and aimed at disclosing or modifying on-card
information. Nevertheless, they vary greatly on the employed means and threatened assets, and are thus
covered by quite different objectives in the sequel. That is why a more detailed list is given hereafter.
5.2.3 Identity usurpation
T.SID.1
An applet impersonates another application, or even the Java Card RE, in order to gain illegal access to
some resources of the card or with respect to the end user or the terminal. See #.SID for details.
Directly threatened asset(s): D.SEC_DATA (other assets may be jeopardized should this attack
succeed, for instance, if the identity of the JCRE is usurped), D.PIN and D.APP_KEYs.
T.SID.2
The attacker modifies the TOE's attribution of a privileged role (e.g. default applet and currently selected
applet), which allows illegal impersonation of this role. See #.SID for further details.
Directly threatened asset(s): D.SEC_DATA (any other asset may be jeopardized should this attack
succeed, depending on whose identity was forged).
5.2.4 Unauthorized execution
T.EXE-CODE.1
An applet performs an unauthorized execution of a method. See #.EXE-JCS-CODE and #.EXE-APPLICODE for details.
Directly threatened asset(s): D.APP_CODE.
T.EXE-CODE.2
An applet performs an execution of a method fragment or arbitrary data. See #.EXE-JCS-CODE and
#.EXE-APPLI-CODE for details.
Directly threatened asset(s): D.APP_CODE.
T.NATIVE
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 29 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
An applet executes a native method to bypass a security function such as the firewall. See #.NATIVE for
details.
Directly threatened asset(s): D.JCS_DATA.
5.2.5 Denial of Service
T.RESOURCES
An attacker prevents correct operation of the Java Card System through consumption of some resources
of the card: RAM or NVRAM. See #.RESOURCES for details.
Directly threatened asset(s): D.JCS_DATA.
5.2.6 Card management
T.DELETION
The attacker deletes an applet or a package already in use on the card, or uses the deletion functions to
pave the way for further attacks (putting the TOE in an insecure state). See #.DELETION (p 343) for
details).
Directly threatened asset(s): D.SEC_DATA and D.APP_CODE.
T.INSTALL
The attacker fraudulently installs post-issuance of an applet on the card. This concerns either the
installation of an unverified applet or an attempt to induce a malfunction in the TOE through the
installation process. See #.INSTALL for details.
Directly threatened asset(s): D.SEC_DATA (any other asset may be jeopardized should this attack
succeed, depending on the virulence of the installed application).
5.2.7 Services
T.OBJ-DELETION
The attacker keeps a reference to a garbage collected object in order to force the TOE to execute an
unavailable method, to make it to crash, or to gain access to a memory containing data that is now being
used by another application. See #.OBJ-DELETION for further details.
Directly threatened asset(s): D.APP_C_DATA, D.APP_I_DATA and D.APP_KEYs.
5.2.8 Miscellaneous
T.PHYSICAL
The attacker discloses or modifies the design of the TOE, its sensitive data or application code by
physical (opposed to logical) tampering means. This threat includes IC failure analysis, electrical probing,
unexpected tearing, and DPA. That also includes the modification of the runtime execution of Java Card
System or SCP software through alteration of the intended execution order of (set of) instructions
through physical tampering techniques.
This threatens all the identified assets.
This threat refers to the point (7) of the security aspect #.SCP, and all aspects related to confidentiality
and integrity of code and data.
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 30 / 93
5.3
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
ORGANIZATIONAL SECURITY POLICIES
5.3.1 Java Card System Protection Profile – Open Configuration
This section describes the organizational security policies to be enforced with respect to the TOE
environment.
OSP.VERIFICATION
This policy shall ensure the consistency between the export files used in the verification and those used
for installing the verified file. The policy must also ensure that no modification of the file is performed in
between its verification and the signing by the verification authority. See #.VERIFICATION for details.
If the application development guidance provided by the platform developer contains recommendations
related to the isolation property of the platform, this policy shall also ensure that the verification authority
checks that these recommendations are applied in the application code.
5.3.2 TOE additional OSP
OSP.SpecificAPI
The TOE must contribute to ensure that application can optimize control on its sensitive operations using
a dedicated API provided by TOE. TOE will provide services for secure array management and to detect
loss of data integrity and inconsistent execution flow and react against tearing or fault induction.
OSP.RNG
This policy shall ensure the entropy of the random numbers provided by the TOE to applet using
[JCAPI222] is sufficient. Thus attacker is not able to predict or obtain information on generated numbers.
5.4
ASSUMPTIONS
This section introduces the assumptions made on the environment of the TOE.
A.APPLET
Applets loaded post-issuance do not contain native methods. The Java Card specification explicitly "does
not include support for native methods" ([JCVM222], §3.3) outside the API.
A.DELETION
Deletion of applets, if available through the card manager, is secure. Refer to #.DELETION for details on
this assumption.
The rationale for this latter assumption is that even a Java Card System 2.1.1 TOE could be installed on
a product that includes applet deletion features. This assumes that these functions are secure with
respect to the SFRs herein.
A.VERIFICATION
All the bytecodes are verified at least once, before the loading, before the installation or before the
execution, depending on the card capabilities, in order to ensure that each bytecode is valid at execution
time.
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 31 / 93
5.5
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
COMPATIBILITY BETWEEN SECURITY ENVIRONMENTS OF [ST-JCS] AND [ST-IC]
5.5.1 Compatibility between threats of [ST-JCS] and [ST-IC]
T.CONFID-JCS-CODE, T.CONFID-APPLI-DATA, and T.CONFID-JCS-DATA are included in T.Phys-Probing,
T.Leak-Inherent and T.Leak-Forced.
T.SID.2 is partly included in T.Phys-Manipulation and T.Malfunction.
T.PHYSICAL is included in T.Phys-Probing, T.Leak-Inherent, T.Phys-Manipulation, T.Malfunction and
T.Leak-Forced.
T.INTEG-APPLI-CODE T.INTEG-JCS-CODE T.INTEG-APPLI-DATA DATA T.INTEG-JCS-DATA T.INTEGAPPLI-CODE.LOAD T.INTEG-APPLI-DATA.LOAD T.SID.1 T.EXE-CODE.1 T.EXE-CODE.2 T.NATIVE
T.RESOURCES T.INSTALL T.DELETION T.OBJ-DELETION are threats specific to the Java Card platform
and they do no conflict with the threats of [ST-IC].
5.5.2 Compatibility between OSP of [ST-JCS] and [ST-IC]
OSP.VERIFICATION is an OSP specific to the Java Card platform and it does no conflict with the OSP of
[ST-IC].
OSP.SpecificAPI has been added to this [ST-JCS] in order to manage Specific API and it does no conflict
with the OSP of [ST-IC].
OSP.RND has been added to this [ST-JCS] in order to manage RNG and it does no conflict with the OSP of
[ST-IC].
We can therefore conclude that the OSP for the environment of [ST-JCS] and [ST-IC] are consistent.
5.5.3 Compatibility between assumptions of [ST-JCS] and [ST-IC]
A.VERIFICATION, A.DELETION, and A.APPLET are assumptions specific to the Java Card platform and
they do no conflict with the assumptions of [ST-IC].
We can therefore conclude that the assumptions for the environment of [ST-JCS] and [ST-IC] are consistent.
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 32 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
6 SECURITY OBJECTIVES
6.1
SECURITY OBJECTIVES FOR THE TOE
This section defines the security objectives to be achieved by the TOE.
6.1.1 Identification
O.SID
The TOE shall uniquely identify every subject (applet, or package) before granting it access to any service.
6.1.2 Execution
O.FIREWALL
The TOE shall ensure controlled sharing of data containers owned by applets of different packages, or the
JCRE and between applets and the TSFs. See #.FIREWALL for details.
O.GLOBAL_ARRAYS_CONFID
The TOE shall ensure that the APDU buffer that is shared by all applications is always cleaned upon applet
selection.
The TOE shall ensure that the global byte array used for the invocation of the install method of the selected
applet is always cleaned after the return from the install method.
O.GLOBAL_ARRAYS_INTEG
The TOE shall ensure that only the currently selected applications may have a write access to the APDU
buffer and the global byte array used for the invocation of the install method of the selected applet.
O.NATIVE
The only means that the Java Card VM shall provide for an application to execute native code is the
invocation of a method of the Java Card API, or any additional API. See #.NATIVE (p 341) for details.
O.OPERATE
The TOE must ensure continued correct operation of its security functions. See #.OPERATE for details.
O.REALLOCATION
The TOE shall ensure that the re-allocation of a memory block for the runtime areas of the Java Card VM
does not disclose any information that was previously stored in that block.
Application note:
To be made unavailable means to be physically erased with a default value. Except for local variables that do
not correspond to method parameters, the default values to be used are specified in [JCVM222].
O.RESOURCES
The TOE shall control the availability of resources for the applications. See #.RESOURCES for details.
6.1.3 Services
O.ALARM
The TOE shall provide appropriate feedback information upon detection of a potential security violation. See
#.ALARM for details.
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 33 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
O.CIPHER
The TOE shall provide a means to cipher sensitive data for applications in a secure way. In particular, the
TOE must support cryptographic algorithms consistent with cryptographic usage policies and standards. See
#.CIPHER for details.
O.KEY-MNGT
The TOE shall provide a means to securely manage cryptographic keys. This concerns the correct
generation, distribution, access and destruction of cryptographic keys. See #.KEY-MNGT.
Application note:
O.KEY-MNGT, O.PIN-MNGT, O.TRANSACTION and O.CIPHER are actually provided to applets in the form
of Java Card APIs. Vendor-specific libraries can also be present on the card and made available to applets;
those may be built on top of the Java Card API or independently. Depending on whether they contain native
code or not, these proprietary libraries will need to be evaluated together with the TOE or not (see
#.NATIVE). In any case, they are not included in the Java Card System for the purpose of the present
document.
O.PIN-MNGT
The TOE shall provide a means to securely manage PIN objects. See #.PIN-MNGT for details.
Application note:
PIN objects may play key roles in the security architecture of client applications. The way they are stored and
managed in the memory of the smart card must be carefully considered, and this applies to the whole object
rather than the sole value of the PIN. For instance, the try counter's value is as sensitive as that of the PIN.
O.TRANSACTION
The TOE must provide a means to execute a set of operations atomically. See #.TRANSACTION for details.
6.1.4 Object deletion
O.OBJ-DELETION
The TOE shall ensure the object deletion shall not break references to objects. See #.OBJ-DELETION for
further details.
6.1.5 Applet management
O.DELETION
The TOE shall ensure that both applet and package deletion perform as expected. (See #.DELETION for
details).
O.LOAD
The TOE shall ensure that the loading of a package into the card is safe.
Besides, for codes loaded post-issuance, the TOE shall verify the integrity and authenticity evidences
generated during the verification of the application package by the verification authority. This verification by
the TOE shall occur during the load or late during the install process.
O.INSTALL
The TOE shall ensure that the installation of an applet performs as expected. (See #.INSTALL for details).
Besides, for codes loaded post-issuance, the TOE shall verify the integrity and authenticity evidences
generated during the verification of the application package by the verification authority. If not performed
during the loading process, this verification by the TOE shall occur during the install process.
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 34 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
6.1.6 SCP
The Objectives described in this section are Objectives for the Environment in [PP-JCS-Open]. They become
Objectives for the TOE because the TOE in this ST includes the SCP.
O.SCP.RECOVERY
If there is a loss of power, or if the smart card is withdrawn from the CAD while an operation is in progress,
the SCP must allow the TOE to eventually complete the interrupted operation successfully, or recover to a
consistent and secure state.
This security objective for the environment refers to the security aspect #.SCP.1: The smart card platform
must be secure with respect to the SFRs. Then after a power loss or sudden card removal prior to completion
of some communication protocol, the SCP will allow the TOE on the next power up to either complete the
interrupted operation or revert to a secure state.
O.SCP.SUPPORT
The SCP shall support the TSFs of the TOE.
This security objective for the environment refers to the security aspect #.SCP.2-5:
(2) It does not allow the TSFs to be bypassed or altered and does not allow access to other low-level
functions than those made available by the packages of the API. That includes the protection of its private
data and code (against disclosure or modification) from the Java Card System.
(3) It provides secure low-level cryptographic processing to the Java Card System.
(4) It supports the needs for any update to a single persistent object or class field to be atomic, and possibly a
low-level transaction mechanism.
(5) It allows the Java Card System to store data in "persistent technology memory" or in volatile memory,
depending on its needs (for instance, transient objects must not be stored in non-volatile memory). The
memory model is structured and allows for low-level control accesses (segmentation fault detection).
O.SCP.IC
The SCP shall provide all IC security features against physical attacks.
This security objective for the environment refers to the point (7) of the security aspect #.SCP:
It is required that the IC is designed in accordance with a well-defined set of policies and Standards (likely
specified in another protection profile), and will be tamper resistant to actually prevent an attacker from
extracting or altering security data (like cryptographic keys) by using commonly employed techniques
(physical probing and sophisticated analysis of the chip). This especially matters to the management (storage
and operation) of cryptographic keys.
6.1.7 CMGR
The Objectives described in this section are Objectives for the Environment in [PP-JCS-Open]. They become
Objectives for the TOE because the TOE in this ST includes the Card Manager.
O.CARD-MANAGEMENT
The card manager shall control the access to card management functions such as the installation, update or
deletion of applets. It shall also implement the card issuer's policy on the card.
The card manager is an application with specific rights, which is responsible for the administration of the
smart card. This component will in practice be tightly connected with the TOE, which in turn shall very likely
rely on the card manager for the effective enforcing of some of its security functions. Typically the card
manager shall be in charge of the life cycle of the whole card, as well as that of the installed applications
(applets). The card manager should prevent that card content management (loading, installation, deletion) is
carried out, for instance, at invalid states of the card or by non-authorized actors. It shall also enforce security
policies established by the card issuer.
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 35 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
6.1.8 Additional objectives
Objectives described in this section are additional objectives related to the TOE.
O.SpecificAPI
The TOE shall provide to application a specific API means to optimize control on sensitive operations
performed by application.
TOE shall provide services for secure array management and to detect loss of data integrity and inconsistent
execution flow and react against tearing or fault induction.
O.RND
The TOE must contribute to ensure that random numbers shall not be predictable and shall have sufficient
entropy.
6.2
SECURITY OBJECTIVES FOR THE OPERATIONAL ENVIRONMENT
6.2.1 Objectives extracted from [PP-JCS-Open]
This section introduces the security objectives to be achieved by the environment and extracted from [PPJCS-Open].
OE.VERIFICATION
All the bytecodes shall be verified at least once, before the loading, before the installation or before the
execution, depending on the card capabilities, in order to ensure that each bytecode is valid at execution
time. See #.VERIFICATION for details.
Additionally the applet shall follow all recommendations, if any, mandated in the platform guidance for
maintaining the isolation property of the platform.
Application Note:
Constraints to maintain the isolation property of the platform are provided by the platform developer in
application development guidance. The constraints apply to all application code loaded in the platform.
OE.APPLET
No applet loaded post-issuance shall contain native methods.
OE.CODE-EVIDENCE
For application code loaded pre-issuance, evaluated technical measures implemented by the TOE or audited
organizational measures must ensure that loaded application has not been changed since the code
verifications required in OE.VERIFICATION.
For application code loaded post-issuance and verified off-card according to the requirements of
OE.VERIFICATION, the verification authority shall provide digital evidence to the TOE that the application
code has not been modified after the code verification and that he is the actor who performed code
verification.
For application code loaded post-issuance and partially or entirely verified on-card, technical measures must
ensure that the verification required in OE.VERIFICATION are performed. On-card bytecode verifier is out of
the scope of this Protection Profile.
Application Note:
For application code loaded post-issuance and verified off-card, the integrity and authenticity evidence can be
achieved by electronic signature of the application code, after code verification, by the actor who performed
verification.
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 36 / 93
T.CONFID-JCS-CODE
T.CONFID-APPLI-DATA
T.CONFID-JCS-DATA
T.INTEG-APPLI-CODE
T.INTEG-JCS-CODE
T.INTEG-APPLI-DATA
T.INTEG-JCS-DATA
T.INTEG-APPLI-CODE.LOAD
T.INTEG-APPLI-DATA.LOAD
T.SID.1
T.SID.2
T.EXE-CODE.1
T.EXE-CODE.2
T.NATIVE
T.RESOURCES
T.INSTALL
T.DELETION
T.OBJ-DELETION
T.PHYSICAL
OSP.VERIFICATION
OSP.SpecificAPI
OSP.RND
A.APPLET
A.DELETION
A.VERIFICATION
ST
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
O.OPERATE
O.RESOURCES
O.FIREWALL
O.NATIVE
O.REALLOCATION
O.GLOBAL_ARRAYS_CONFID
O.GLOBAL_ARRAYS_INTEG
O.ALARM
O.TRANSACTION
O.CIPHER
O.PIN_MNGT
O.KEY_MNGT
O.OBJ_DELETION
O.INSTALL
O.LOAD
O.DELETION
O.SCP.RECOVERY
O.SCP.SUPPORT
O.SCP.IC
O.CARD_MANAGEMENT
O.SpecificAPI
O.RND
OE.VERIFICATION
OE.APPLET
OE.CODE_EVIDENCE
SECURITY OBJECTIVES RATIONALE
O.SID
6.3
Reference
X
X X
X X
X
X
X X
X X X X X
X
X
X
X
X
X
X
X
X
X
X
X X
X X
X
X
X X
X X
X
X
X
X X X X X X
X
X X
X X
X
X
X
X X
X
X
X
X X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X X
X
X
X X
X
X X
X
X X
X X
X
X
X
X
X
X
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
X
X
X
X
X
X
Page : 37 / 93
X
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
6.3.1 Threats
6.3.1.1 Confidentiality
T.CONFID-JCS-CODE This threat is countered by the list of properties described in the (#.VERIFICATION)
security aspect. Bytecode verification ensures that each of the instructions used on the Java Card platform is
used for its intended purpose and in the intended scope of accessibility. As none of those instructions
enables reading a piece of code, no Java Card applet can therefore be executed to disclose a piece of code.
Native applications are also harmless because of the objective (O.NATIVE), so no application can be run to
disclose a piece of code.
The (#.VERIFICATION) security aspect is addressed in this ST by the objective for the environment
OE.VERIFICATION.
The objectives O.CARD_MANAGEMENT and OE.VERIFICATION contribute to cover this threat by
controlling the access to card management functions and by checking the bytecode, respectively.
T.CONFID-APPLI-DATA This threat is countered by the security objective for the operational environment
regarding bytecode verification (OE.VERIFICATION). It is also covered by the isolation commitments stated
in the (O.FIREWALL) objective. It relies in its turn on the correct identification of applets stated in (O.SID).
Moreover, as the firewall is dynamically enforced, it shall never stop operating, as stated in the (O.OPERATE)
objective.
As the firewall is a software tool automating critical controls, the objective O.ALARM asks for it to provide
clear warning and error messages, so that the appropriate counter-measure can be taken.
The objectives O.CARD_MANAGEMENT and OE.VERIFICATION contribute to cover this threat by
controlling the access to card management functions and by checking the bytecode, respectively.
The objectives O.SCP.RECOVERY and O.SCP.SUPPORT are intended to support the O.OPERATE and
O.ALARM objectives of the TOE, so they are indirectly related to the threats that these latter objectives
contribute to counter.
As applets may need to share some data or communicate with the CAD, cryptographic functions are required
to actually protect the exchanged information (O.CIPHER). Remark that even if the TOE shall provide access
to the appropriate TSFs, it is still the responsibility of the applets to use them. Keys, PIN's are particular
cases of an application's sensitive data (the Java Card System may possess keys as well) that ask for
appropriate management (O.KEY-MNGT, O.PIN-MNGT, O.TRANSACTION). If the PIN class of the Java
Card API is used, the objective (O.FIREWALL) shall contribute in covering this threat by controlling the
sharing of the global PIN between the applets.
Other application data that is sent to the applet as clear text arrives to the APDU buffer, which is a resource
shared by all applications. The disclosure of such data is prevented by the (O.GLOBAL_ARRAYS_CONFID)
security objective.
Finally, any attempt to read a piece of information that was previously used by an application but has been
logically deleted is countered by the O.REALLOCATION objective. That objective states that any information
that was formerly stored in a memory block shall be cleared before the block is reused.
T.CONFID-JCS-DATA This threat is covered by bytecode verification (OE.VERIFICATION) and the isolation
commitments stated in the (O.FIREWALL) security objective. This latter objective also relies in its turn on the
correct identification of applets stated in (O.SID). Moreover, as the firewall is dynamically enforced, it shall
never stop operating, as stated in the (O.OPERATE) objective.
As the firewall is a software tool automating critical controls, the objective O.ALARM asks for it to provide
clear warning and error messages, so that the appropriate counter-measure can be taken.
The objectives O.CARD_MANAGEMENT and OE.VERIFICATION contribute to cover this threat by
controlling the access to card management functions and by checking the bytecode, respectively.
The objectives O.SCP.RECOVERY and O.SCP.SUPPORT are intended to support the O.OPERATE and
O.ALARM objectives of the TOE, so they are indirectly related to the threats that these latter objectives
contribute to counter.
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 38 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
6.3.1.2 Integrity
T.INTEG-APPLI-CODE This threat is countered by the list of properties described in the (#.VERIFICATION)
security aspect. Bytecode verification ensures that each of the instructions used on the Java Card platform is
used for its intended purpose and in the intended scope of accessibility. As none of these instructions
enables modifying a piece of code, no Java Card applet can therefore be executed to modify a piece of code.
Native applications are also harmless because of the objective (O.NATIVE), so no application can be run to
modify a piece of code.
The (#.VERIFICATION) security aspect is addressed in this configuration by the objective for the environment
OE.VERIFICATION.
The objectives O.CARD_MANAGEMENT and OE.VERIFICATION contribute to cover this threat by
controlling the access to card management functions and by checking the bytecode, respectively.
The objective OE.CODE-EVIDENCE contributes to cover this threat by ensuring that integrity and authenticity
evidences exist for the application code loaded into the platform.
T.INTEG-JCS-CODE This threat is countered by the list of properties described in the (#.VERIFICATION)
security aspect. Bytecode verification ensures that each of the instructions used on the Java Card platform is
used for its intended purpose and in the intended scope of accessibility. As none of these instructions
enables modifying a piece of code, no Java Card applet can therefore be executed to modify a piece of code.
Native applications are also harmless because of the objective (O.NATIVE), so no application can be run to
disclose or modify a piece of code.
The (#.VERIFICATION) security aspect is addressed in this configuration by the objective for the environment
OE.VERIFICATION.
The objectives O.CARD_MANAGEMENT and OE.VERIFICATION contribute to cover this threat by
controlling the access to card management functions and by checking the bytecode, respectively.
The objective OE.CODE-EVIDENCE contributes to cover this threat by ensuring that the application code
loaded into the platform has not been changed after code verification, which ensures code integrity and
authenticity.
T.INTEG-APPLI-DATA This threat is countered by bytecode verification (OE.VERIFICATION) and the
isolation commitments stated in the (O.FIREWALL) objective. This latter objective also relies in its turn on the
correct identification of applets stated in (O.SID). Moreover, as the firewall is dynamically enforced, it shall
never stop operating, as stated in the (O.OPERATE) objective.
As the firewall is a software tool automating critical controls, the objective O.ALARM asks for it to provide
clear warning and error messages, so that the appropriate counter-measure can be taken.
The objectives O.CARD_MANAGEMENT and OE.VERIFICATION contribute to cover this threat by
controlling the access to card management functions and by checking the bytecode, respectively.
The objective OE.CODE-EVIDENCE contributes to cover this threat by ensuring that the application code
loaded into the platform has not been changed after code verification, which ensures code integrity and
authenticity. The objectives O.SCP.RECOVERY and O.SCP.SUPPORT are intended to support the
O.OPERATE and O.ALARM objectives of the TOE, so they are indirectly related to the threats that these
latter objectives contribute to counter.
Concerning the confidentiality and integrity of application sensitive data, as applets may need to share some
data or communicate with the CAD, cryptographic functions are required to actually protect the exchanged
information (O.CIPHER). Remark that even if the TOE shall provide access to the appropriate TSFs, it is still
the responsibility of the applets to use them. Keys and PIN's are particular cases of an application's sensitive
data (the Java Card System may possess keys as well) that ask for appropriate management (O.KEYMNGT, O.PIN-MNGT, O.TRANSACTION). If the PIN class of the Java Card API is used, the objective
(O.FIREWALL) is also concerned.
Other application data that is sent to the applet as clear text arrives to the APDU buffer, which is a resource
shared by all applications. The integrity of the information stored in that buffer is ensured by the
(O.GLOBAL_ARRAYS_INTEG) objective.
Finally, any attempt to read a piece of information that was previously used by an application but has been
logically deleted is countered by the O.REALLOCATION objective. That objective states that any information
that was formerly stored in a memory block shall be cleared before the block is reused.
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 39 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
T.INTEG-JCS-DATA This threat is countered by bytecode verification (OE.VERIFICATION) and the isolation
commitments stated in the (O.FIREWALL) objective. This latter objective also relies in its turn on the correct
identification of applets stated in (O.SID). Moreover, as the firewall is dynamically enforced, it shall never stop
operating, as stated in the (O.OPERATE) objective.
As the firewall is a software tool automating critical controls, the objective O.ALARM asks for it to provide
clear warning and error messages, so that the appropriate counter-measure can be taken.
The objectives O.CARD_MANAGEMENT and OE.VERIFICATION contribute to cover this threat by
controlling the access to card management functions and by checking the bytecode, respectively.
The objective OE.CODE-EVIDENCE contributes to cover this threat by ensuring that the application code
loaded into the platform has not been changed after code verification, which ensures code integrity and
authenticity.
The objectives O.SCP.RECOVERY and O.SCP.SUPPORT are intended to support the O.OPERATE and
O.ALARM objectives of the TOE, so they are indirectly related to the threats that these latter objectives
contribute to counter.
T.INTEG-APPLI-CODE.LOAD This threat is countered by the security objective O.LOAD which ensures that
the loading of packages is done securely and thus preserves the integrity of packages code.
The objective OE.CODE-EVIDENCE contributes to cover this threat by ensuring that the application code
loaded into the platform has not been changed after code verification, which ensures code integrity and
authenticity. By controlling the access to card management functions such as the installation, update or
deletion of applets the objective O.CARD_MANAGEMENT contributes to cover this threat.
T.INTEG-APPLI-DATA.LOAD This threat is countered by the security objective O.LOAD which ensures that
the loading of packages is done securely and thus preserves the integrity of applications data.
The objective OE.CODE-EVIDENCE contributes to cover this threat by ensuring that the application code
loaded into the platform has not been changed after code verification, which ensures code integrity and
authenticity. By controlling the access to card management functions such as the installation, update or
deletion of applets the objective O.CARD_MANAGEMENT contributes to cover this threat.
6.3.1.3 Identity usurpation
T.SID.1 As impersonation is usually the result of successfully disclosing and modifying some assets, this
threat is mainly countered by the objectives concerning the isolation of application data (like PINs), ensured
by the (O.FIREWALL). Uniqueness of subject-identity
(O.SID) also participates to face this threat. It should be noticed that the AIDs, which are used for applet
identification, are TSF data.
In this configuration, usurpation of identity resulting from a malicious installation of an applet on the card is
covered by the objective O.INSTALL.
The installation parameters of an applet (like its name) are loaded into a global array that is also shared by all
the applications. The disclosure of those parameters (which could be used to impersonate the applet) is
countered by the objective (O.GLOBAL_ARRAYS_CONFID) and (O.GLOBAL_ARRAYS_INTEG).
The objective O.CARD_MANAGEMENT contributes, by preventing usurpation of identity resulting from a
malicious installation of an applet on the card, to counter this threat.
T.SID.2 This is covered by integrity of TSF data, subject-identification (O.SID), the firewall (O.FIREWALL)
and its good working order (O.OPERATE).
The objective O.INSTALL contributes to counter this threat by ensuring that installing an applet has no effect
on the state of other applets and thus can't change the TOE's attribution of privileged roles.
The objectives O.SCP.RECOVERY and O.SCP.SUPPORT are intended to support the O.OPERATE
objective of the TOE, so they are indirectly related to the threats that this latter objective contributes to
counter.
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 40 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
6.3.1.4 Unauthorized execution
T.EXE-CODE.1 Unauthorized execution of a method is prevented by the objective OE.VERIFICATION. This
threat particularly concerns the point (8) of the security aspect #VERIFICATION (access modifiers and scope
of accessibility for classes, fields and methods). The O.FIREWALL objective is also concerned, because it
prevents the execution of non-shareable methods of a class instance by any subject apart from the class
instance owner.
T.EXE-CODE.2 Unauthorized execution of a method fragment or arbitrary data is prevented by the objective
OE.VERIFICATION. This threat particularly concerns those points of the security aspect related to control
flow confinement and the validity of the method references used in the bytecodes.
T.NATIVE This threat is countered by O.NATIVE which ensures that a Java Card applet can only access
native methods indirectly that is, through an API. OE.APPLET also covers this threat by ensuring that no
native applets shall be loaded in post-issuance. In addition to this, the bytecode verifier also prevents the
program counter of an applet to jump into a piece of native code by confining the control flow to the currently
executed method (OE.VERIFICATION).
6.3.1.5 Denial of service
T.RESOURCES This threat is directly countered by objectives on resource-management (O.RESOURCES)
for runtime purposes and good working order (O.OPERATE) in a general manner.
Consumption of resources during installation and other card management operations are covered, in case of
failure, by O.INSTALL.
It should be noticed that, for what relates to CPU usage, the Java Card platform is single-threaded and it is
possible for an ill-formed application (either native or not) to monopolize the CPU. However, a smart card can
be physically interrupted (card removal or hardware reset) and most CADs implement a timeout policy that
prevent them from being blocked should a card fails to answer. That point is out of scope of this Security
Target, though.
Finally, the objectives O.SCP.RECOVERY and O.SCP.SUPPORT are intended to support the O.OPERATE
and O.RESOURCES objectives of the TOE, so they are indirectly related to the threats that these latter
objectives contribute to counter.
6.3.1.6 Card management
T.INSTALL This threat is covered by the security objective O.INSTALL which ensures that the installation of
an applet performs as expected and the security objectives O.LOAD which ensures that the loading of a
package into the card is safe.
The objective O.CARD_MANAGEMENT controls the access to card management functions and thus
contributes to cover this threat.
T.DELETION This threat is covered by the O.DELETION security objective which ensures that both applet
and package deletion perform as expected.
The objective O.CARD_MANAGEMENT controls the access to card management functions and thus
contributes to cover this threat.
6.3.1.7 Services
T.OBJ-DELETION This threat is covered by the O.OBJ-DELETION security objective which ensures that
object deletion shall not break references to objects.
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 41 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
6.3.1.8 Miscellaneous
T.PHYSICAL Covered by O.SCP.IC. Physical protections rely on the underlying platform and are therefore an
environmental issue.
6.3.2 Organizational Security Policies
OSP.VERIFICATION This policy is upheld by the security objective of the environment OE.VERIFICATION
which guarantees that all the bytecodes shall be verified at least once, before the loading, before the
installation or before the execution in order to ensure that each bytecode is valid at execution time.
This policy is also upheld by the security objective of the environment OE.CODE-EVIDENCE which ensures
that evidences exist that the application code has been verified and not changed after verification.
OSP.SpecificAPI This OSP is enforced by the TOE security objective O.SpecificAPI.
OSP.RND This OSP is enforced by the TOE security objective O.RND.
6.3.3
Assumptions
A.APPLET This assumption is upheld by the security objective for the operational environment OE.APPLET
which ensures that no applet loaded post-issuance shall contain native methods.
A.DELETION The assumption A.DELETION is upheld by the environmental objective
O.CARD_MANAGEMENT which controls the access to card management functions such as deletion of
applets.
A.VERIFICATION This assumption is upheld by the security objective on the operational environment
OE.VERIFICATION which guarantees that all the bytecodes shall be verified at least once, before the
loading, before the installation or before the execution in order to ensure that each bytecode is valid at
execution time.
This assumption is also upheld by the security objective of the environment OE.CODE-EVIDENCE which
ensures that evidences exist that the application code has been verified and not changed after verification.
6.3.4
Compatibility between objectives of [ST-JCS] and [ST-IC]
6.3.4.1 Compatibility between objectives for the TOE
O.SID,
O.OPERATE,
O.RESOURCES,
O.FIREWALL,
O.NATIVE,
O.REALLOCATION,
O.GLOBAL_ARRAYS_CONFID, O.GLOBAL_ARRAYS_INTEG, O.ALARM; O.TRANSACTION, O.PINMNGT, O.KEY-MNGT, O.OBJ-DELETION, O.INSTALL, O.LOAD, O.DELETION, O.CARD-MANAGEMENT,
and O.SCP.RECOVERY are objectives specific to the Java Card platform and they do no conflict with the
objectives of [ST-IC].
O.SpecificAPI is objective added to this platform it does no conflict with the objectives of [ST-IC].
O.RND added to this platform is included in the following objectives of [ST-IC]: O.RND
O.CIPHER is partially included in the following objectives of [ST-IC]: O.RND and O.HW_DES3, O.HW_AES.
O.SCP.SUPPORT is partially included in the following objectives of [ST-IC]: O.RND and O.HW_DES3,
O.HW_AES.
O.SCP.IC is included in the following objectives of [ST-IC]: O.Phys-Manipulation, O.Phys-Probing,
O.Malfunction, O.Leak-Inherent, O.Leak-Forced, O.Abuse-Func.
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 42 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
We can therefore conclude that the objectives for the TOE of [ST-JCS] and [ST-IC] are consistent.
6.3.4.2 Compatibility between objectives for the environment
OE.VERIFICATION, OE.CODE-EVIDENCE and OE.Applet are objectives specific to the Java Card platform
and they do no conflict with the objectives of [ST-IC].
We can therefore conclude that the objectives for the environment of [ST-JCS] and [ST-IC] are consistent.
7 EXTENDED COMPONENTS DEFINITION
7.1
DEFINITION OF THE FAMILY FCS_RND
To define the IT security functional requirements of the TOE a sensitive family (FCS_RND) of the Class
FCS (cryptographic support) is defined here. This family describes the functional requirements for
random number generation used for cryptographic purposes. The component FCS_RND is not limited to
generation of cryptographic keys unlike the component FCS_CKM.1. The similar component FIA_SOS.2
is intended for non-cryptographic use.
The family “Generation of random numbers (FCS_RND)” is specified as follows.
FCS_RND Generation of random numbers
Family behaviour
This family defines quality requirements for the generation of random numbers which are intended to be
used for cryptographic purposes.
Component levelling:
FCS_RND Generation of random numbers
1
FCS_RND.1
Generation of random numbers requires that random numbers meet a defined
quality metric.
Management:
FCS_RND.1
There are no management activities foreseen.
Audit:
FCS_RND.1
There are no actions defined to be auditable.
FCS_RND.1 Quality metric for random numbers
Hierarchical to:
Dependencies:
FCS_RND.1.1
ST
No other components
No dependencies
The TSF shall provide a mechanism to generate random numbers that meet [assignment: a
defined quality metric].
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 43 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
8 SECURITY REQUIREMENTS
8.1
SECURITY FUNCTIONAL REQUIREMENTS
This section states the security functional requirements for the Java Card System – Open configuration.
Group
Core
with
Logical
Channels (CoreG_LC)
Installation (InstG)
Applet
(ADELG)
Object
(ODELG)
deletion
deletion
Secure carrier (CarG)
Smart Card Platform
(SCPG)
Card
Manager
(CMGRG)
Additional SFR (ASFR)
Description
The CoreG_LC contains the requirements concerning the runtime environment of the Java
Card System implementing logical channels. This includes the firewall policy and the
requirements related to the Java Card API. Logical channels are a Java Card specification
version 2.2 feature. This group is the union of requirements from the Core (CoreG) and the
Logical channels (LCG) groups defined in [PP-IC-0035].
(cf Java Card System Protection Profile Collection [PP JCS]).
The InstG contains the security requirements concerning the installation of post-issuance
applications. It does not address card management issues in the broad sense, but only
those security aspects of the installation procedure that are related to applet execution.
The ADELG contains the security requirements for erasing installed applets from the card,
a feature introduced in Java Card specification version 2.2.
The ODELG contains the security requirements for the object deletion capability. This
provides a safe memory recovering mechanism. This is a Java Card specification version
2.2 feature.
The CarG group contains minimal requirements for secure downloading of applications on
the card. This group contains the security requirements for preventing, in those
configurations that do not support on-card static or dynamic bytecodes verification, the
installation of a package that has not been bytecode verified, or that has been modified
after bytecode verification.
The SCPG group contains the security requirements for the smart card platform, that is,
operating system and chip that the Java Card System is implemented upon.
The CMGRG group contains the security requirements for the card manager.
The ASFR group contains security requirements related to specific API and to random
generation
The SFRs refer to all potentially applicable subjects, objects, information, operations and security attributes.
Subjects are active components of the TOE that (essentially) act on the behalf of users. The users of the
TOE include people or institutions (like the applet developer, the card issuer, the verification authority),
hardware (like the CAD where the card is inserted or the PCD) and software components (like the application
packages installed on the card). Some of the users may just be aliases for other users. For instance, the
verification authority in charge of the bytecode verification of the applications may be just an alias for the card
issuer.
Subjects (prefixed with an "S") are described in the following table:
Subject
S.ADEL
S.APPLET
S.BCV
ST
Description
The applet deletion manager which also acts on behalf of the card issuer. It may be
an applet ([JCRE222], §11), but its role asks anyway for a specific treatment from
the security viewpoint. This subject is unique and is involved in the ADEL security
policy defined in §8.1.3.
Any applet instance.
The bytecode verifier (BCV), which acts on behalf of the verification authority who is
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 44 / 93
Subject
S.CAD
S.INSTALLER
S.JCRE
S.JCVM
S.LOCAL
S.MEMBER
S.PACKAGE
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
Description
in charge of the bytecode verification of the packages. This subject is involved in the
PACKAGE LOADING security policy defined in §8.1.6.
The CAD represents off-card entity that communicates with the S.INSTALLER
The installer is the on-card entity which acts on behalf of the card issuer. This
subject is involved in the loading of packages and installation of applets.
The runtime environment un which Java programs in a smart card are executed.
The bytecode interpreter that enforces the firewall at runtime.
Operand stack of a JCVM frame, or local variable of a JCVM frame containing an
object or an array of references.
Any object's field, static field or array position.
A package is a namespace within the Java programming language that may contain
classes and interfaces, and in the context of Java Card technology, it defines either
a user library, or one or several applets.
Objects (prefixed with an "O") are described in the following table:
Object
O.APPLET
O.CODE_PKG
O.JAVAOBJECT
Description
Any installed applet, its code and data.
The code of a package, including all linking information. On the Java Card platform,
a package is the installation unit.
Java class instance or array. It should be noticed that KEYS, PIN, arrays and applet
instances are specific objects in the Java programming language.
Information (prefixed with an "I") is described in the following table:
Information
I.APDU
I.DATA
Description
Any APDU sent to or from the card through the communication channel.
JCVM Reference Data: objectref addresses of APDU buffer, JCRE-owned instances
of APDU class and byte array for install method
Security attributes linked to these subjects, objects and information are described in the following table with
their values (used in enforcing the SFRs):
Security attribute
Active Applets
Applet Selection Status
Applet's version number
Class
Context
Currently Active Context
Dependent package AID
ExportedInfo
Identifier
LC Selection Status
ST
Description/Value
The set of the active applets' AIDs. An active applet is an applet that is selected on
at least one of the logical channels.
"Selected" or "Deselected"
The version number of an applet (package) indicated in the export file
Identifies the implementation class of the remote object.
Package AID, or "Java Card RE"
Package AID, or "Java Card RE"
Allows the retrieval of the Package AID and Applet's version number ([JCVM222],
§4.5.2).
Boolean (Indicates whether the remote object is exportable or not).
The Identifier of a remote object or method is a number that uniquely identifies a
remote object or method, respectively.
Multiselectable, Non-multiselectable or "None".
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 45 / 93
Security attribute
LifeTime
Owner
Package AID
Registered applets
ResidentPackages
Selected Applet Context
Sharing
Static References
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
Description/Value
CLEAR_ON_DESELECT or PERSISTENT (*).
The Owner of an object is either the applet instance that created the object or the
package (library) where it has been defined (these latter objects can only be arrays
that initialize static fields of the package). The owner of a remote object is the
applet instance that created the object.
The AID of each package indicated in the export file
The set of AID of the applet instance registered on the card
The set of AIDs of the packages already loaded on the card
Package AID, or "None"
Standards, SIO, Java Card RE entry point, or global array
Static fields of a package may contain references to objects. The Static References
attribute records those references.
(*) Transient objects of type CLEAR_ON_RESET behave like persistent objects in that they can be accessed
only when the Currently Active Context is the object's context.
Operations (prefixed with "OP") are described in the following table. Each operation has a specific number of
parameters given between brackets, among which there is the "accessed object", the first one, when
applicable. Parameters may be seen as security attributes that are under the control of the subject
performing the operation.
Operation
OP.ARRAY_ACCESS(O.JAVAOBJECT, field)
OP.CREATE(Sharing, LifeTime) (*)
OP.DELETE_APPLET(O.APPLET,...)
OP.DELETE_PCKG(O.CODE_PKG,...)
OP.DELETE_PCKG_APPLET(O.CODE_PKG,...)
OP.INSTANCE_FIELD(O.JAVAOBJECT, field)
OP.INVK_VIRTUAL(O.JAVAOBJECT, method, arg1,...)
OP.INVK_INTERFACE(O.JAVAOBJECT,
arg1,...)
OP.JAVA(...)
OP.PUT(S1,S2,I)
OP.THROW(O.JAVAOBJECT)
OP.TYPE_ACCESS(O.JAVAOBJECT, class)
ST
method,
Description
Read/Write an array component.
Creation of an object (new or makeTransient call).
Delete an installed applet and its objects, either
logically or physically.
Delete a package, either logically or physically.
Delete a package and its installed applets, either
logically or physically.
Read/Write a field of an instance of a class in the Java
programming language
Invoke a virtual method (either on a class instance or
an array object)
Invoke an interface method.
Any access in the sense of [JCRE222], §6.2.8. It
stands
for
one
of
the
operations
OP.ARRAY_ACCESS, OP.INSTANCE_FIELD,
OP.INVK_VIRTUAL,
OP.INVK_INTERFACE,
OP.THROW, OP.TYPE_ACCESS.
Transfer a piece of information I from S1 to S2.
Throwing
of
an
object
(athrow,
see
[JCRE222],§6.2.8.7)
Invoke checkcast or instanceof on an object in order to
access to classes (standard or shareable interfaces
objects).
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 46 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
(*) For this operation, there is no accessed object. This rule enforces that shareable transient objects are not
allowed. For instance, during the creation of an object, the JavaCardClass attribute's value is chosen by the
creator.
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 47 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
8.1.1 CoreG_LC Security Functional Requirements
This group is focused on the main security policy of the Java Card System, known as the firewall. This policy
essentially concerns the security of installed applets. The policy focuses on the execution of bytecodes.
8.1.1.1 Firewall Policy
FDP_ACC.2/FIREWALL Complete access control
FDP_ACC.2.1/FIREWALL The TSF shall enforce the FIREWALL access control SFP on S.PACKAGE,
S.JCRE, S.JCVM, O.JAVAOBJECT and all operations among subjects and objects covered by the SFP.
Refinement:
The operations involved in the policy are:
 OP.CREATE,
 OP.INVK_INTERFACE,
 OP.INVK_VIRTUAL,
 OP.JAVA,
 OP.THROW,
 OP.TYPE_ACCESS.
FDP_ACC.2.2/FIREWALL The TSF shall ensure that all operations between any subject controlled by the
TSF and any object controlled by the TSF are covered by an access control SFP.
Application note:
Accessing array's components of a static array, and more generally fields and methods of static objects, is an
access to the corresponding O.JAVAOBJECT.
FDP_ACF.1/FIREWALL Security attribute based access control
FDP_ACF.1.1/FIREWALL The TSF shall enforce the FIREWALL access control SFP to objects based on
the following:
Subject/Object
S.PACKAGE
S.JCVM
S.JCRE
O.JAVAOBJECT
Attributes
LC Applet Selection Status
ActiveApplets, Currently Active Context
Selected Applet Context
Sharing, Context, LifeTime
FDP_ACF.1.2/FIREWALL The TSF shall enforce the following rules to determine if an operation among
controlled subjects and controlled objects is allowed:

R.JAVA.1 ([JCRE222]§6.2.8) An S.PACKAGE may freely perform any of OP.ARRAY_ACCESS,
OP.INSTANCE_FIELD,
OP.INVK_VIRTUAL,
OP.INVK_INTERFACE,
OP.THROW
or
OP.TYPE_ACCESS upon any O.JAVAOBJECT whose Sharing attribute has value "JCRE entry
point" or "global array".

R.JAVA.2 ([JCRE222]§6.2.8) An S.PACKAGE may freely perform any of OP.ARRAY_ACCESS,
OP.INSTANCE_FIELD, OP.INVK_VIRTUAL, OP.INVK_INTERFACE or OP.THROW upon any
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 48 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
O.JAVAOBJECT whose Sharing attribute has value "Standard" and whose Lifetime attribute has
value "PERSISTENT" only if O.JAVAOBJECT's Context attribute has the same value as the active
context.

R.JAVA.3 ([JCRE222]§6.2.8.10) An S.PACKAGE may perform OP.TYPE_ACCESS upon an
O.JAVAOBJECT whose Sharing attribute has value "SIO" only if O.JAVAOBJECT is being cast into
(checkcast) or is being verified as being an instance of (instanceof) an interface that extends the
Shareable interface.

R.JAVA.4 ([JCRE222], §6.2.8.6,) An S.PACKAGE may perform OP.INVK_INTERFACE upon an
O.JAVAOBJECT whose Sharing attribute has the value "SIO", and whose Context attribute has the
value "Package AID", only if the invoked interface method extends the Shareable interface and one
of the following applies:
(a) The value of the attribute Selection Status of the package whose AID is "Package AID" is
"Multiselectable»,
(b) The value of the attribute Selection Status of the package whose AID is "Package AID' is "Nonmultiselectable», and either "Package AID" is the value of the currently selected applet or
otherwise "Package AID" does not occur in the attribute ActiveApplets.

R.JAVA.5 An S.PACKAGE may perform an OP.CREATE only if the value of the Sharing
parameter(*) is "Standard".
FDP_ACF.1.3/FIREWALL The TSF shall explicitly authorize access of subjects to objects based on the
following additional rules:
1) The subject S.JCRE can freely perform OP.JAVA(...) and OP.CREATE, with the exception
given in FDP_ACF.1.4/FIREWALL, provided it is the Currently Active Context.
2) The only means that the subject S.JCVM shall provide for an application to execute native
code is the invocation of a Java Card API method (through OP.INVK_INTERFACE or
OP.INVK_VIRTUAL).
FDP_ACF.1.4/FIREWALL The TSF shall explicitly deny access of subjects to objects based on the following
additional rules:
1) Any subject with OP.JAVA upon an O.JAVAOBJECT whose LifeTime attribute has value
"CLEAR_ON_DESELECT" if O.JAVAOBJECT's Context attribute is not the same as the
Selected Applet Context.
2) Any subject attempting to create an object by the means of OP.CREATE and a
"CLEAR_ON_DESELECT" LifeTime parameter if the active context is not the same as the
Selected Applet Context.
Application note:
In the case of an array type, fields are components of the array ([JVM], §2.14, §2.7.7), as well as the length;
the only methods of an array object are those inherited from the Object class.
The Sharing attribute defines four categories of objects:
• Standard ones, whose both fields and methods are under the firewall policy,
• Shareable interface Objects (SIO), which provide a secure mechanism for inter-applet
communication,
• JCRE entry points (Temporary or Permanent), who have freely accessible methods but protected
fields,
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 49 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
• Global arrays, having both unprotected fields (including components; refer to JavaCardClass
discussion above) and methods.
When a new object is created, it is associated with the Currently Active Context. But the object is owned by
the applet instance within the Currently Active Context when the object is instantiated ([JCRE222], §6.1.3). An
object is owned by an applet instance, by the JCRE or by the package library where it has been defined
(these latter objects can only be arrays that initialize static fields of packages).
([JCRE222], Glossary) Selected Applet Context. The Java Card RE keeps track of the currently selected
Java Card applet. Upon receiving a SELECT command with this applet's AID, the Java Card RE makes this
applet the Selected Applet Context. The Java Card RE sends all APDU commands to the Selected Applet
Context.
While the expression "Selected Applet Context" refers to a specific installed applet, the relevant aspect to the
policy is the context (package AID) of the selected applet. In this policy, the "Selected Applet Context" is the
AID of the selected package.
([JCRE222], §6.1.2.1) At any point in time, there is only one active context within the Java Card VM (this is
called the Currently Active Context).
The invocation of static methods (or access to a static field) is not considered by this policy, as there are no
firewall rules. They have no effect on the active context as well and the "acting package" is not the one to
which the static method belongs to in this case.
The Java Card platform, version 2.2.x introduces the possibility for an applet instance to be selected on
multiple logical channels at the same time, or accepting other applets belonging to the same package being
selected simultaneously. These applets are referred to as multiselectable applets. Applets that belong to a
same package are either all multiselectable or not ([JCVM222], §2.2.5). Therefore, the selection mode can be
regarded as an attribute of packages. No selection mode is defined for a library package.
An applet instance will be considered an active applet instance if it is currently selected in at least one logical
channel. An applet instance is the currently selected applet instance only if it is processing the current
command. There can only be one currently selected applet instance at a given time. ([JCRE222], §4).
FDP_IFC.1/JCVM Subset information flow control
FDP_IFC.1.1/JCVM The TSF shall enforce the JCVM information flow control SFP on S.JCVM, S.LOCAL,
S.MEMBER, I.DATA and OP.PUT (S1, S2, I).
Application note:
References of temporary Java Card RE entry points, which cannot be stored in class variables, instance
variables or array components, are transferred from the internal memory of the Java Card RE (TSF data) to
some stack through specific APIs (Java Card RE owned exceptions) or Java Card RE invoked methods
(such as the process (APDU apdu)); these are causes of OP.PUT (S1, S2, I) operations as well.
FDP_IFF.1/JCVM Simple security attributes
FDP_IFF.1.1/JCVM The TSF shall enforce the JCVM information flow control SFP based on the following
types of subject and information security attributes:
Subject / Information
S.JCVM
ST
Description
Currently active context.
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 50 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
FDP_IFF.1.2/JCVM The TSF shall permit an information flow between a controlled subject and controlled
information via a controlled operation if the following rules hold:
 An operation OP.PUT (S1, S.MEMBER, I) is allowed if and only if the active context is "Java
Card RE";

Other OP.PUT operations are allowed regardless of the Currently Active Context's value.
FDP_IFF.1.3/JCVM The TSF shall enforce no additional information flow control SFP rules.
FDP_IFF.1.4/JCVM The TSF shall explicitly authorize an information flow based on the following rules: no
additional information flow control SFP rules.
FDP_IFF.1.5/JCVM The TSF shall explicitly deny an information flow based on the following rules: no
additional information flow control SFP rules.
FDP_RIP.1/OBJECTS Subset residual information protection
FDP_RIP.1.1/OBJECTS The TSF shall ensure that any previous information content of a resource is made
unavailable upon the allocation of the resource to the following objects: class instances and arrays.
FMT_MSA.1/JCRE Management of security attributes
FMT_MSA.1.1/JCRE The TSF shall enforce the FIREWALL access control SFP to restrict the ability to
modify the security attributes the selected applet Context security attribute to the Java Card RE
(S.JCRE).
Application note:
The modification of the Selected Applet Context is performed in accordance with the rules given in
[JCRE222], §4 and [JCVM222], §3.4.
FMT_MSA.1/JCVM Management of security attributes
FMT_MSA.1.1/JCVM The TSF shall enforce the FIREWALL access control SFP and the JCVM
information flow control SFP to restrict the ability to modify the security attributes the currently active
context and the Active Applets security attributes to the Java Card VM (S.JCVM).
Application note:
The modification of the Selected Applet Context is performed in accordance with the rules given in
[JCRE222], §4 and [JCVM222], §3.4.
FMT_MSA.2/FIREWALL_JCVM Secure security attributes
FMT_MSA.2.1/FIREWALL_JCVM The TSF shall ensure that only secure values are accepted for all the
security attributes of subjects and objects defined in the FIREWALL access control SFP and the
JCVM information flow control SFP.
FMT_MSA.3/FIREWALL Static attribute initialization
FMT_MSA.3.1/FIREWALL The TSF shall enforce the FIREWALL access control SFP to provide restrictive
default values for security attributes that are used to enforce the SFP.
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 51 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
FMT_MSA.3.2/FIREWALL The TSF shall not allow any role to specify alternative initial values to override
the default values when an object or information is created.
FMT_MSA.3/JCVM Static attribute initialization
FMT_MSA.3.1/JCVM The TSF shall enforce the JCVM information flow control SFP to provide restrictive
default values for security attributes that are used to enforce the SFP.
FMT_MSA.3.2/JCVM The TSF shall not allow any role to specify alternative initial values to override the
default values when an object or information is created.
FMT_SMR.1/JCRE Security roles
FMT_SMR.1.1/JCRE The TSF shall maintain the roles:
 the Java Card RE (JCRE).
 the Java Card VM (JCVM).
FMT_SMR.1.2/JCRE The TSF shall be able to associate users with roles.
FMT_SMF.1/CORE_LC Specification of Management Functions
FMT_SMF.1.1/Core_LC The TSF shall be capable of performing the following management functions:
 Modify the Currently Active Context, the Selected Applet Context, and the Active Applets
8.1.1.2 Application Programming Interface
The following SFRs are related to the Java Card API.
The execution of the additional native code is not within the TSF. Nevertheless, access to API native
methods from the Java Card System is controlled by TSF because there is no difference between native and
interpreted methods in the interface or the invocation mechanism.
FCS_CKM.1 Cryptographic key generation
FCS_CKM.1.1 The TSF shall generate cryptographic keys in accordance with a specified cryptographic key
generation algorithm [assignment: cryptographic key generation algorithm] and specified cryptographic
key sizes [assignment: cryptographic key sizes] that meet the following: [assignment: list of standards].
Iteration
/RSA Std
/RSA CRT
/GP
ST
Algorithm
RSA standard key
generation
RSA CRT key
generation
Key size
1024, 1536, 2048
Standards
ANSI X9.31
1024, 1536, 2048
ANSI X9.31
GP session keys
112 (for SCP01,
SCP02)
128,192, 256 (for
[GP211] (for SCP01, SCP02)
[GP221] (for SCP03)
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 52 / 93
Iteration
Algorithm
/ECFP
/ECDH
ECC
key
generation
EC Diffie-Hellman
/DH
/DH
DH key generation
DH key exchange
Reference
D1334796
Classification Level
Public
Key size
SCP03)
160, 192, 224, 256,
320, 384, 512, 521
160, 192, 224, 256,
320, 384, 512, 521
1024, 1536, 2048
1024, 1536, 2048
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
Standards
ANSI X9.62
[IEEE-P1363]
ANSI X9.42
ANSI X9.42
Remark:
 Keys generated for PACE are ECDH keys.
Application note:
 The keys are generated and diversified in accordance with [JCAPI222] specification in classes
KeyBuilder and KeyPair (at least Session key generation).
FCS_CKM.2 Cryptographic key distribution
FCS_CKM.2.1 The TSF shall distribute cryptographic keys in accordance with a specified cryptographic key
distribution method [assignment: cryptographic key distribution method] that meets the following:
[assignment: list of standards].
iteration
/RSA
/TDES
/AES
/ECFP
/DH
Distribution method
JC API setkey()
JC API setkey()
JC API setkey()
JC API setkey()
JC API setkey()
standards
none
none
none
none
none
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].
iteration
/RSA
/TDES
/AES
/ECFP
/DH
ST
Key access method
JC API getkey()
JC API getkey()
JC API getkey()
JC API getkey()
JC API getkey()
standards
none
none
none
none
none
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 53 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
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 physical irreversible destruction of the stored key value that meets the following: No
standard.
Application note:
 The keys are reset in accordance with [JCAPI222] in class Key with the method clearKey(). Any
access to a cleared key attempting to use it for ciphering or signing shall throw an exception.
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].
Iteration
/RSA-SIGN
Operation
signature
verification
&
Algorithm
RSA (STD )
RSA CRT
/RSA-CIPHER
Encryption
decryption
&
RSA (STD )
RSA CRT
Key size
1024,
1152,
1280, 1536 and
2048
3072, 4096
1024,
1152,
1280, 1536 and
2048
3072, 4096
160, 192, 224,
256, 320, 384,
512, 521
Standards
[ISO9796-2] RSA SHA
PKCS#1
RSA SHA PKCS#1 PSS
[SP800-67] [ISO9797-1]
DES NOPAD
DES PKCS#5
DES 9797 M1 M2
[FIPS197]
AES
128
NOPAD
[SP800-67] [ISO9797-1]
DES NOPAD
DES PKCS#5
DES 9797 M1 M2
[FIPS197]
AES
128
NOPAD
[SP800-67] [ISO9797-1]
DES MAC ISO9797-1 M1
M2 Alog3
DES MAC NOPAD
DES MAC PKCS#5
[SP800-67] [ISO9797-1]
DES MAC ISO9797-1 M1
M2 Alog3
DES MAC NOPAD
/ECC-SIGN
signature
verification
&
ECC
/TDESCIPHER
Encryption
decryption
&
TDES
112
168
/AES-CIPHER
Encryption
decryption
Encryption
decryption
&
AES
128, 192, 256
&
TDES
112
168
/AES-CIPHER
FAST
/TDES-MAC
Encryption
decryption
Signature,
Verification
&
AES
128, 192, 256
TDES
112 168
/TDES-MAC
FAST
Signature,
Verification
TDES
112 168
/TDESCIPHER FAST
ST
[ISO9796-2] RSA SHA
PKCS#1
RSA SHA PKCS#1 PSS
[TR-03111] ECDSA SHA
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 54 / 93
/AES-MAC
/AES-CMAC
FAST
/SHA
/ECC-PACE
Reference
D1334796
Classification Level
Public
Signature,
Verification
Signature,
Verification
Hashing
AES
128, 192, 256
AES
128, 192, 256
Hashing
Integrated Mapping
Generic Mapping
ECC
SHA-1,
SHA224,
SHA-256,
SHA-384, SHA512
160, 192, 224,
256, 320, 384,
512, 521
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
DES MAC PKCS#5
[FIPS197]
AES
NOPAD
[SP 800-38 B]
128
NA
ISO/IEC
JTC1
SC17
WG3/TF5 ‘Supplemental
Access
Control
for
Machine Readable Travel
Documents’
FDP_RIP.1/ABORT Subset residual information protection
FDP_RIP.1.1/ABORT The TSF shall ensure that any previous information content of a resource is made
unavailable upon the deallocation of the resource from the following objects: any reference to an object
instance created during an aborted transaction.
FDP_RIP.1/APDU Subset residual information protection
FDP_RIP.1.1/APDU The TSF shall ensure that any previous information content of a resource is made
unavailable upon the allocation of the resource to the following objects: the APDU buffer.
FDP_RIP.1/bArray Subset residual information protection
FDP_RIP.1.1/bArray The TSF shall ensure that any previous information content of a resource is made
unavailable upon the deallocation of the resource from the following objects: the bArray object.
FDP_RIP.1/KEYS Subset residual information protection
FDP_RIP.1.1/KEYS The TSF shall ensure that any previous information content of a resource is made
unavailable upon the deallocation of the resource from the following objects: the cryptographic buffer
(D.CRYPTO).
FDP_RIP.1/TRANSIENT Subset residual information protection
FDP_RIP.1.1/TRANSIENT The TSF shall ensure that any previous information content of a resource is made
unavailable upon the deallocation of the resource from the following objects: any transient object.
FDP_ROL.1/FIREWALL Basic rollback
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 55 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
FDP_ROL.1.1/FIREWALL The TSF shall enforce the FIREWALL access control SFP and the JCVM
information flow control SFP to permit the rollback of the operations OP.JAVA and OP.CREATE on the
O.JAVAOBJECTs.
FDP_ROL.1.2/FIREWALL The TSF shall permit operations to be rolled back within the scope of a select(),
deselect(), process(), install() or uninstall() call, notwithstanding the restrictions given in [JCRE222],
§7.7, within the bounds of the Commit Capacity ([JCRE222], §7.8), and those described in [JCAPI222].
8.1.1.3 Card Security Management
FAU_ARP.1 Security alarms
FAU_ARP.1.1 The TSF shall take the following actions:
 throw an exception,
 or lock the card session
 or reinitialize the Java Card System and its data
upon detection of a potential security violation.
Refinement:
The TOE detects the following potential security violation:
 CAP file inconsistency
 Applet life cycle inconsistency
 Card Manager life cycle inconsistency
 Card tearing (unexpected removal of the Card out of the CAD) and power failure
 Abortion of a transaction in an unexpected context (see abortTransaction(), [JCAPI222] and ([JCRE222],
§7.6.2)
 Violation of the Firewall or JCVM SFPs
 Unavailability of resources
 Array overflow
 Random trap detection
FDP_SDI.2 Stored data integrity monitoring and action
FDP_SDI.2.1 The TSF shall monitor user data stored in containers controlled by the TSF for integrity errors
on all objects, based on the following attributes: integrity-sensitive data.
FDP_SDI.2.2 Upon detection of a data integrity error, the TSF shall
 Prevent the use of modified data
 Raise an exception
Application note:
Cryptographic keys, PINs, applets, and softmasks have the integrity-sensitive data attribute when they are
stored in EEPROM.
FPR_UNO.1 Unobservability
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 56 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
FPR_UNO.1.1 The TSF shall ensure that unauthorized users are unable to observe the operation
cryptographic operations / comparisons operations on Key values / PIN values by S.JCRE, S.Applet.
FPT_FLS.1/JCS Failure with preservation of secure state
FPT_FLS.1.1/JCS The TSF shall preserve a secure state when the following types of failures occur: those
associated to the potential security violations described in FAU_ARP.1.
Application note:
 The Java Card RE Context is the Current context when the Java Card VM begins running after a
card reset ([JCRE222], §6.2.3) or after a proximity card (PICC) activation sequence ([JCRE222]).
Behavior of the TOE on power loss and reset is described in [JCRE222], §3.6, and §7.1. Behavior of
the TOE on RF signal loss is described in [JCRE222], §3.6.2.
FPT_TDC.1 Inter-TSF basic TSF data consistency
FPT_TDC.1.1 The TSF shall provide the capability to consistently interpret the CAP files, the bytecode and
its data argument, when shared between the TSF and another trusted IT product.
FPT_TDC.1.2 The TSF shall use
 The rules defined in [JCVM222] specification;
 The API tokens defined in the export files of reference implementation
 The rules defined in ISO 7816-6
 The rules defined in [GP211] specification
when interpreting the TSF data from another trusted IT product.
8.1.1.4 AID Management
FIA_ATD.1/AID User attribute definition
FIA_ATD.1/AID User attribute definition
FIA_ATD.1.1/AID The TSF shall maintain the following list of security attributes belonging to individual users:
 package AID
 Applet's version number
 registered applet's AID
 applet selection status ([JCVM222], §6.5).
Application note:
 "Individual users" stands for applets.
FIA_UID.2/AID User identification before any action
FIA_UID.2.1/AID The TSF shall require each user to be successfully identified before allowing any other TSFmediated actions on behalf of that user.
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 57 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
Application notes:
 By users here it must be understood the ones associated to the packages (or applets) that act as
subjects of policies. In the Java Card System, every action is always performed by an identified user
interpreted here as the currently selected applet or the package that is the subject's owner. Means of
identification are provided during the loading procedure of the package and the registration of applet
instances.
 The role Java Card RE defined in FMT_SMR.1/JCRE is attached to an IT security function rather
than to a "user" of the CC terminology. The Java Card RE does not "identify" itself with respect to the
TOE, but it is a part of it.
FIA_USB.1/AID User-subject binding
FIA_USB.1.1/AID The TSF shall associate the following user security attributes with subjects acting on the
behalf of that user: Package AID.
FIA_USB.1.2/AID The TSF shall enforce the following rules on the initial association of user security
attributes with subjects acting on the behalf of users:

Initial applet selection is performed as described in [JCRE222]§4

The default applet depends on personalization.
FIA_USB.1.3/AID The TSF shall enforce the following rules governing changes to the user security attributes
associated with subjects acting on the behalf of users:

Applet selection is performed after a successful SELECT FILE command as described in
[JCRE222]§4.
Application note:
 The user is the applet and the subject is the S.PACKAGE. The subject security attribute "Context"
shall hold the user security attribute "package AID".
FMT_MTD.1/JCRE Management of TSF data
FMT_MTD.1.1/JCRE The TSF shall restrict the ability to modify the list of registered applets' AIDs to the
JCRE.
FMT_MTD.3/JCRE Secure TSF data
FMT_MTD.3.1/JCRE The TSF shall ensure that only secure values are accepted for the AIDs of registered
applets.
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 58 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
8.1.2 INSTG Security Functional Requirements
This group combines the SFRs related to the installation of the applets, which addresses security aspects
outside the runtime. The installation of applets is a critical phase, which lies partially out of the boundaries of
the firewall, and therefore requires specific treatment. In this ST, loading a package or installing an applet
modeled as an importation of user data (that is, user application's data) with its security attributes (such as
the parameters of the applet used in the firewall rules).
FDP_ITC.2/Installer Import of user data with security attributes
FDP_ITC.2.1/Installer The TSF shall enforce the PACKAGE LOADING information flow control SFP
when importing user data, controlled under the SFP, from outside of the TOE.
Application note:

The most common importation of user data is package loading and applet installation on the behalf
of the installer. Security attributes consist of the shareable flag of the class component, AID and
version numbers of the package, maximal operand stack size and number of local variables for each
method, and export and import components (accessibility).
FDP_ITC.2.2/Installer The TSF shall use the security attributes associated with the imported user data.
FDP_ITC.2.3/Installer The TSF shall ensure that the protocol used provides for the unambiguous
association between the security attributes and the user data received.
Application note:

The format of the CAP file is precisely defined in Sun's specification ([JCVM222]); it contains the user
data (like applet's code and data) and the security attribute altogether. Therefore there is no
association to be carried out elsewhere.
FDP_ITC.2.4/Installer 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.
Application note:

Each package contains a package Version attribute, which is a pair of major and minor version
numbers ([JCVM222], §4.5). With the AID, it describes the package defined in the CAP file. When an
export file is used during preparation of a CAP file, the versions numbers and AIDs indicated in the
export file are recorded in the CAP files ([JCVM222], §4.5.2): the dependent packages Versions and
AIDs attributes allow the retrieval of these identifications.. Implementation-dependent checks may
occur on a case-by-case basis to indicate that package files are binary compatibles. However,
package files do have "package Version Numbers" ([JCVM222]) used to indicate binary compatibility
or incompatibility between successive implementations of a package, which obviously directly
concern this requirement.
FDP_ITC.2.5/Installer The TSF shall enforce the following rules when importing user data controlled under
the SFP from outside the TOE:
A package may depend on (import or use data from) other packages already installed. This
dependency is explicitly stated in the loaded package in the form of a list of package AIDs. The
loading is allowed only if, for each dependent package, its AID attribute is equal to a resident
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 59 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
package AID attribute, the major (minor) Version attribute associated to the former is equal (less than
or equal) to the major (minor) Version attribute associated to the latter ([JCVM222],§4.5.2).
FMT_SMR.1/Installer Security roles
FMT_SMR.1.1/Installer The TSF shall maintain the roles: the installer.
FMT_SMR.1.2/Installer The TSF shall be able to associate users with roles.
FPT_FLS.1/Installer Failure with preservation of secure state
FPT_FLS.1.1/Installer The TSF shall preserve a secure state when the following types of failures occur: the
installer fails to load/install a package/applet as described in [JCRE222] §11.1.4.
FPT_RCV.3/Installer Automated recovery without undue loss
FPT_RCV.3.1/Installer When automated recovery from [none] is not possible, the TSF shall enter a
maintenance mode where the ability to return to a secure state is provided.
Application note:

The TOE has no maintenance mode.
FPT_RCV.3.2/Installer For [Failure during applet loading, installation and deletion; sensitive data
loading], the TSF shall ensure the return of the TOE to a secure state using automated procedures.
FPT_RCV.3.3/Installer The functions provided by the TSF to recover from failure or service discontinuity
shall ensure that the secure initial state is restored without exceeding [none] for loss of TSF data or objects
under the control of the TSF.
FPT_RCV.3.4/Installer The TSF shall provide the capability to determine the objects that were or were not
capable of being recovered.
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 60 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
8.1.3 ADELG Security Functional Requirements
This group consists of the SFRs related to the deletion of applets and/or packages, enforcing the applet
deletion manager (ADEL) policy on security aspects outside the runtime. Deletion is a critical phase and
therefore requires specific treatment.
FDP_ACC.2/ADEL Complete access control
FDP_ACC.2.1/ADEL The TSF shall enforce the ADEL access control SFP on S.ADEL, S.JCRE, S.JCVM,
O.JAVAOBJECT, O.APPLET and O.CODE_PKG and all operations among subjects and objects covered by
the SFP.
Refinement:
The operations involved in the policy are:
o OP.DELETE_APPLET,
o OP.DELETE_PCKG,
o OP.DELETE_PCKG_APPLET.
FDP_ACC.2.2/ADEL The TSF shall ensure that all operations between any subject controlled by the TSF and
any object controlled by the TSF are covered by an access control SFP.
FDP_ACF.1/ADEL Security attribute based access control
FDP_ACF.1.1/ADEL The TSF shall enforce the ADEL access control SFP to objects based on the
following:
Subject/Object
S.JCVM
S.JCRE
O.CODE_PKG
O.APPLET
O.JAVAOBJECT
Attributes
Active Applets
Selected Applet Context, Registered Applets, Resident Packages
Package AID, Dependent Package AID, Static References
Applet Selection Status
Owner, Remote
FDP_ACF.1.2/ADEL The TSF shall enforce the following rules to determine if an operation among controlled
subjects and controlled objects is allowed:
In the context of this policy, an object O is reachable if and only if one of the following conditions holds:
(1) the owner of O is a registered applet instance A (O is reachable from A),
(2) a static field of a resident package P contains a reference to O (O is reachable from P),
(3) there exists a valid remote reference to O (O is remote reachable), and
(4) there exists an object O' that is reachable according to either (1) or (2) or (3) above and O'
contains a reference to O (the reachability status of O is that of O').
The following access control rules determine when an operation among controlled subjects and objects is
allowed by the policy:
R.JAVA.14 ([JCRE222], §11.3.4.1, Applet Instance Deletion). The S.ADEL may perform
OP.DELETE_APPLET upon an O.APPLET only if,
(1) S.ADEL is currently selected,
(2) There is no instance in the context of O.APPLET that is active in any logical channel and
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 61 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
(3) there is no O.JAVAOBJECT owned by O.APPLET such that either O.JAVAOBJECT is reachable
from an applet instance distinct from O.APPLET, or O.JAVAOBJECT is reachable from a package P,
or ([JCRE222], §8.5) O.JAVAOBJECT is remote reachable.
R.JAVA.15 ([JCRE222], §11.3.4.1, Multiple Applet Instance Deletion). S.ADEL may perform
OP.DELETE_APPLET upon several O.APPLET only if,
(1) S.ADEL is currently selected,
(2) There is no instance in the context of O.APPLET that is active in any logical channel and
(3) there is no O.JAVAOBJECT owned by any of the O.APPLET being deleted such that either
O.JAVAOBJECT is reachable from an applet instance distinct from any of those O.APPLET, or
O.JAVAOBJECT is reachable from a package P, or ([JCRE222], §8.5) O.JAVAOBJECT is remote
reachable.
R.JAVA.16 ([JCRE222], §11.3.4.2, Applet/Library Package Deletion). The S.ADEL may perform
OP.DELETE_PCKG upon an O.CODE_PCKG only if,
(1) S.ADEL is currently selected,
(2) no reachable O.JAVAOBJECT, from a package distinct from O.CODE_PCKG that is an instance
of a class that belongs to O.CODE_PCKG exists on the card and
(3) there is no resident package on the card that depends on O.CODE_PCKG.
R.JAVA.17 ([JCRE222], §11.3.4.3, Applet Package and Contained Instances Deletion). S.ADEL may perform
OP.DELETE_PCKG_APPLET upon an O.CODE_PCKG only if,
(1) S.ADEL is currently selected,
(2) no reachable O.JAVAOBJECT, from a package distinct from O.CODE_PCKG, which is an
instance of a class that belongs to O.CODE_PCKG exists on the card,
(3) there is no package loaded on the card that depends on O.CODE_PCKG and
(4) for every O.APPLET of those being deleted it holds that:
(i) There is no instance in the context of O.APPLET that is active in any logical channel and
(ii) there is no O.JAVAOBJECT owned by O.APPLET such that either O.JAVAOBJECT is
reachable from an applet instance not being deleted, or O.JAVAOBJECT is reachable from a
package not being deleted, or ([JCRE222],§8.5) O.JAVAOBJECT is remote reachable.
Application notes:

This policy introduces the notion of reachability, which provides a general means to describe objects
that are referenced from a certain applet instance or package.

S.ADEL calls the "uninstall" method of the applet instance to be deleted, if implemented by the
applet, to inform it of the deletion request. The order in which these calls and the dependencies
checks are performed are out of the scope of this security target.
FDP_ACF.1.3/ADEL The TSF shall explicitly authorize access of subjects to objects based on the following
additional rules: none.
FDP_ACF.1.4/ADEL] The TSF shall explicitly deny access of any subject but the S.ADEL to
O.CODE_PKG or O.APPLET for the purpose of deleting it from the card.
FDP_RIP.1/ADEL Subset residual information protection
FDP_RIP.1.1/ADEL The TSF shall ensure that any previous information content of a resource is made
unavailable upon the deallocation of the resource from the following objects: applet instances and/or
packages when one of the deletion operations in FDP_ACC.2.1/ADEL is performed on them.
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 62 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
Application note:

Requirements on de-allocation during applet/package deletion are described in [JCRE222],
§11.3.4.1, §11.3.4.2 and §11.3.4.3.
FMT_MSA.1/ADEL Management of security attributes
FMT_MSA.1.1/ADEL The TSF shall enforce the ADEL access control SFP to restrict the ability to modify
the security attributes: Registered Applets and Resident Packages to the Java Card RE (S.JCRE).
Application note:
The modification of the ActiveApplets security attribute should be performed in accordance with the rules
given in [JCRE222], §4.
FMT_MSA.3/ADEL Static attribute initialization
FMT_MSA.3.1/ADEL The TSF shall enforce the ADEL access control SFP to provide restrictive default
values for security attributes that are used to enforce the SFP.
FMT_MSA.3.2/ADEL The TSF shall allow the following role(s): none, to specify alternative initial values to
override the default values when an object or information is created.
FMT_SMF.1/ADEL Specification of Management Functions
FMT_SMF.1.1/ADEL The TSF shall be capable of performing the following management functions: Modify
the list of registered applets' AIDs and the Resident Packages.
FMT_SMR.1/ADEL Security roles
FMT_SMR.1.1/ADEL The TSF shall maintain the roles: the applet deletion manager.
FMT_SMR.1.2/ADEL The TSF shall be able to associate users with roles.
FPT_FLS.1/ADEL Failure with preservation of secure state
FPT_FLS.1.1/ADEL The TSF shall preserve a secure state when the following types of failures occur: the
applet deletion manager fails to delete a package/applet as described in [JCRE222], §11.3.4.
Application note:

ST
The applet instance deletion must be atomic. The "secure state" referred to in the requirement must
comply with the Java Card specifications. That is, if a reset or power fail occurs during the deletion
process, then before any applet is selected in card, either the applet instance deletion is completed
or the applet shall be selectable and all objects owned by the applet remain unchanged (that is, the
functionality of all applet instances on the card remains the same as prior to the unsuccessful
deletion attempt) [JCRE222], §11.3.4.
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 63 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
8.1.4 ODELG Security Functional Requirements
The following requirements concern the object deletion mechanism. This mechanism is triggered by the
applet that owns the deleted objects by invoking a specific API method.
FDP_RIP.1/ODEL Subset residual information protection
FDP_RIP.1.1/ODEL The TSF shall ensure that any previous information content of a resource is made
unavailable upon the deallocation of the resource from the following objects: the objects owned by the
context of an applet instance which triggered the execution of the method
javacard.framework.JCSystem.requestObjectDeletion().
FPT_FLS.1/ODEL Failure with preservation of secure state
FPT_FLS.1.1/ODEL The TSF shall preserve a secure state when the following types of failures occur: the
object deletion functions fail to delete all the unreferenced objects owned by the applet that
requested the execution of the method.
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 64 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
8.1.5 CarG Security Functional Requirements
This group includes requirements for preventing the installation of packages that have not been bytecode
verified, or that has been modified after bytecode verification.
FCO_NRO.2/CM Enforced proof of origin
FCO_NRO.2.1/CM The TSF shall enforce the generation of evidence of origin for transmitted application
packages at all times.
Application note:
Upon reception of a new application package for installation, the card manager shall first check that it actually
comes from the verification authority. The verification authority is the entity responsible for bytecode
verification.
FCO_NRO.2.2/CM The TSF shall be able to relate the identity of the originator of the information, and the
application package contained in the information to which the evidence applies.
FCO_NRO.2.3/CM The TSF shall provide a capability to verify the evidence of origin of information to
recipient given no limitation.
FDP_IFC.2/CM Complete information flow control
FDP_IFC.2.1/CM The TSF shall enforce the PACKAGE LOADING information flow control SFP on
S.INSTALLER, S.BCV, S.CAD, and I.APDU and all operations that cause that information to flow to and
from subjects covered by the SFP.
FDP_IFC.2.2/CM The TSF shall ensure that all operations that cause any information in the TOE to flow to
and from any subject in the TOE are covered by an information flow control SFP.
Application note:
The subjects covered by this policy are those involved in the loading of an application package by the card
through a potentially unsafe communication channel:
The operations that make information to flow between the subjects are those enabling to send a message
through and to receive a message from the communication channel linking the card to the outside world. It is
assumed that any message sent through the channel as clear text can be read by the attacker. Moreover, the
attacker may capture any message sent through the communication channel and send its own messages to
the other subjects.
The information controlled by the policy is the APDUs exchanged by the subjects through the communication
channel linking the card and the CAD. Each of those messages contain part of an application package that is
required to be loaded on the card, as well as any control information used by the subjects in the
communication protocol.
FDP_IFF.1/CM Simple security attributes
FDP_IFF.1.1/CM The TSF shall enforce the PACKAGE LOADING information flow control SFP based on
the following types of subject and information security attributes:
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 65 / 93
Reference
D1334796
Classification Level
Public
Subject / Information
User
Applet
DAP Key
Attribute
role
checked
OK
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
value
Operator, Owner, Issuer, None
Boolean
Boolean
FDP_IFF.1.2/CM The TSF shall permit an information flow between a controlled subject and controlled
information via a controlled operation if the following rules hold:
 The user with the security attribute role set to Operator or Issuer can load an applet.
 Only applets with the security attribute Checked set to YES can be transferred.
FDP_IFF.1.3/CM The TSF shall enforce the None.
FDP_IFF.1.4/CM The TSF shall explicitly authorize an information flow based on the following rules:
 The Issuer, behaving as the BCV, can load it through a secure channel, after having verified
the applet.
 The Issuer can load an applet with a DAP specifying that it has been verified by the BCV.
 The Operator, having checked the applet can load it through a secure channel.
FDP_IFF.1.5/CM The TSF shall explicitly deny an information flow based on the following rules
 The TOE fails to verify the integrity and authenticity evidences of the application package
 An applet, not verified by a BCV cannot be loaded.
FDP_UIT.1/CM Data exchange integrity
FDP_UIT.1.1/CM The TSF shall enforce the PACKAGE LOADING information flow control SFP to be able
to receive user data in a manner protected from modification, deletion, insertion, and replay errors.
FDP_UIT.1.2/CM The TSF shall be able to determine on receipt of user data, whether modification,
deletion, insertion, replay of some of the pieces of the application sent by the CAD has occurred.
Application note:
Modification errors should be understood as modification, substitution, unrecoverable ordering change of data
and any other integrity error that may cause the application package to be installed on the card to be different
from the one sent by the CAD.
FIA_UAU.1/CM Timing of authentication
FIA_UAI.1.1/CM The TSF shall allow
 JCAPI with already installed applets
 APDUs for Applets
on behalf of the user to be performed before the user is authenticated.
Application note:
This authentication of the card manager is a strong authentication as soon as the TOE leaves the protected
environment of audited facilities. For this purpose, keys are diversified.
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 66 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
FIA_UAU.1.2/CM The TSF shall require each user to be successfully authenticated before allowing any other
TSF-mediated actions on behalf of that user.
FIA_UID.1/CM Timing of identification
FIA_UID.1.1/CM The TSF shall allow
 JCAPI with already installed applets
 APDUs for Applets
on behalf of the user to be performed before the user is identified.
FIA_UID.1.2/CM The TSF shall require each user to be successfully identified before allowing any other TSFmediated actions on behalf of that user.
FMT_MSA.1/CM Management of security attributes
FMT_MSA.1.1/CM The TSF shall enforce the PACKAGE LOADING information flow control SFP to
restrict the ability to modify the security attributes AID to None.
FMT_MSA.3/CM Static attribute initialization
FMT_MSA.3.1/CM The TSF shall enforce the PACKAGE LOADING information flow control SFP to
provide restrictive default values for security attributes that are used to enforce the SFP.
FMT_MSA.3.2/CM The TSF shall allow None to specify alternative initial values to override the default values
when an object or information is created.
Subject / Information
User
Applet
DAP Key
Attribute
role
checked
OK
value
Operator, Owner, None
Boolean
Boolean
default
None
No
No
FMT_SMF.1/CM Specification of Management Functions
FMT_SMF.1.1/CM The TSF shall be capable of performing the following management functions:

The loading of the applets, with their AID by the Card Manager.
FMT_SMR.1/CM Security roles
FMT_SMR.1.1/CM The TSF shall maintain the roles Card Manager.
FMT_SMR.1.2/CM The TSF shall be able to associate users with roles.
FTP_ITC.1/CM Inter-TSF trusted channel
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 67 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
FTP_ITC.1.1/CM The TSF shall provide a communication channel between itself and another trusted IT
product that is logically distinct from other communication channels and provides assured identification of its
end points and protection of the channel data from modification or disclosure.
FTP_ITC.1.2/CM The TSF shall permit the CAD placed in the card issuer secured environment to initiate
communication via the trusted channel.
FTP_ITC.1.3/CM The TSF shall initiate communication via the trusted channel for loading and installing a
new application package on the card.
Application note:

ST
There is no dynamic package loading on the Java Card platform. New packages can be loaded and
installed on the card only on demand of the card issuer.
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 68 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
8.1.6 SCPG Security Functional Requirements
This group contains the security requirements for the smart card platform, that is, operating system and chip
that the Java Card System is implemented upon. The requirements are expressed in terms of security
functional requirements from [CC2].
FPT_TST.1/SCP TSF Testing
FPT_TST.1.1/SCP The TSF shall run a suite of self tests periodically during normal operation to
demonstrate the correct operation of security mechanisms of the IC.
FPT_TST.1.2/SCP The TSF shall provide authorized users with the capability to verify the integrity of Keys.
FPT_TST.1.3/SCP The TSF shall provide authorized users with the capability to verify the integrity of
Applets, user PIN, user Keys.
FPT_PHP.3/SCP Resistance to physical attacks
FPT_PHP.3.1/SCP The TSF shall resist physical attacks to the TOE by responding automatically such that
the TSP is not violated.
FPT_RCV.4/SCP Function recovery
FPT_RCV.4.1/SCP The TSF shall ensure that reading from and writing to static and objects' fields
interrupted by power loss have the property that the SF either completes successfully, or for the indicated
failure scenarios, recovers to a consistent and secure state.
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 69 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
8.1.7 CMGR Group Security Functional Requirements
This group includes requirements for the Card Manager.
FDP_ACC.1/CMGR Subset access control
FDP_ACC.1.1/CMGR The TSF shall enforce the CARD CONTENT MANAGEMENT access control SFP on
loading of code and keys by the Operator.
FDP_ACF.1/CMGR Security attribute based access control
FDP_ACF.1.1/CMGR The TSF shall enforce the CARD CONTENT MANAGEMENT access control SFP to
objects based on the following:
Subjects: Byte Code Verifier, Operator, Issuer, Card Manager
Objects: applets and keys
Security Attributes: DAP for applets; type and KEK for keys.
FDP_ACF.1.2/CMGR The TSF shall enforce the following rules to determine if an operation among
controlled subjects and controlled objects is allowed:
The Card Manager loads applets into the card on behalf of the Byte Code Verifier.
The Card Manager extradites applets in the card on behalf of the Operator.
The Card Manager locks the loading of applets on the card on behalf of the Issuer.
The Card Manager loads GP keys into the cards on behalf of the Operator.
.
FDP_ACF.1.3/CMGR The TSF shall explicitly authorize access of subjects to objects based on the following
additional rules: none.
FDP_ACF.1.4/CMGR The TSF shall explicitly deny access of subjects to objects based on the No code but
Java packages can be loaded or deleted.
FMT_MSA.1/CMGR Management of security attributes
FMT_MSA.1.1/CMGR The TSF shall enforce the CARD CONTENT MANAGEMENT access control SFP to
restrict the ability to modify the security attributes code category to none.
FMT_MSA.3/CMGR Static attribute initialization
FMT_MSA.3.1/CMGR The TSF shall enforce the CARD CONTENT MANAGEMENT access control SFP to
provide restrictive default values for security attributes that are used to enforce the SFP.
FMT_MSA.3.2/CMGR The TSF shall allow the none to specify alternative initial values to override the default
values when an object or information is created.
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 70 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
8.1.8 ASFR Group Security Functional Requirements
This group includes specific requirements for the TOE.
FPT_FLS.1/SpecificAPI Failure with preservation of secure state
FPT_FLS.1.1/SpecificAPI The TSF shall preserve a secure state when the following types of failures occur:
the application fails to perform a specific execution flow control protected by the Specific API.
FPT_ITT.1/SpecificAPI Basic internal TSF data transfer protection
FPT_ITT.1.1/SpecificAPI The TSF shall protect TSF data from disclosure and modification when it is
transmitted between separate parts of the TOE.
FPR_UNO.1/SpecificAPI Unobservability
FPR_UNO.1.1/SpecificAPI The TSF shall ensure that external attacker are unable to observe the operation
as sensitive comparison or copy on sensitive objects defined by the application using the Specific
API.
FCS_RND.1 Quality metric for random numbers
FCS_RND.1.1 The TSF shall provide a mechanism to generate random numbers that meet RGS [RGS-B1].
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 71 / 93
8.2
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
SECURITY ASSURANCE REQUIREMENTS
The security assurance requirement level is EAL4 augmented with AVA_VAN.5 and ALC_DVS.2.
8.3
SECURITY REQUIREMENTS RATIONALE
X
X
FDP_IFF.1/JCVM
X
X
X
FDP_RIP.1/OBJECTS
X
FMT_MSA.2/FIREWALL_JCVM
X
X
X
FMT_MSA.3/JCVM
X
X
FMT_SMR.1/JCRE
X
X
FMT_SMF.1/CORE_LC
X
X
FCS_CKM.1
X
X
FCS_CKM.2
X
X
FCS_CKM.3
X
X
FCS_CKM.4
X
X
FCS_COP.1
X
X
FDP_RIP.1/APDU
X
X
X
X
X
FDP_RIP.1/bArray
X
X
X
X
X
FDP_RIP.1/ABORT
X
X
X
X
X
FDP_RIP.1/KEYS
X
X
X
X
X
X
X
FDP_ROL.1/FIREWALL
X
X
FAU_ARP.1
X
X
FPT_TDC.1
X
FPT_FLS.1/JCS
X
X
X
X
X
X
X
X
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 72 / 93
O.RND
O.SpecificAPI
O.CARD_MANAGEMENT
O.SCP.IC
O.SCP.SUPPORT
O.SCP.RECOVERY
X
FDP_SDI.2
ST
O.DELETION
X
FMT_MSA.3/FIREWALL
FPR_UNO.1
O.LOAD
X
O.INSTALL
X
O.OBJ_DELETION
O.CIPHER
X
O.KEY_MNGT
X
O.PIN_MNGT
FDP_IFC.1/JCVM
O.TRANSACTION
O.GLOBAL_ARRAYS_CO
NFID
O.GLOBAL_ARRAYS_INT
EG
O.ALARM
O.REALLOCATION
O.NATIVE
O.FIREWALL
O.RESOURCES
O.OPERATE
O.SID
8.3.1 OBJECTIVES
FDP_ITC.2/Installer
X
X
X
FMT_SMR.1/Installer
X
X
FPT_FLS.1/Installer
X
X
FPT_RCV.3/Installer
X
X
X
X
X
X
X
X
FMT_MSA.1/ADEL
X
X
X
FMT_MSA.3/ADEL
X
X
X
X
X
X
X
X
FMT_SMR.1/ADEL
FMT_SMF.1/ADEL
X
FDP_ACC.2/ADEL
X
FDP_ACF.1/ADEL
X
FDP_RIP.1/ADEL
X
FPT_FLS.1/ADEL
X
FDP_ACC.2/FIREWALL
X
X
FDP_ACF.1/FIREWALL
X
X
X
X
X
X
X
X
FMT_MSA.1/JCRE
X
X
FMT_MSA.1/JCVM
X
X
X
X
X
X
FDP_RIP.1/TRANSIENT
X
X
X
X
X
FDP_RIP.1/ODEL
X
X
X
X
X
FPT_FLS.1/ODEL
X
X
X
FMT_MSA.1/CM
X
X
FMT_MSA.3/CM
X
X
FMT_SMR.1/CM
FMT_SMF.1/CM
X
X
X
X
X
X
X
X
X
FCO_NRO.2/CM
X
FIA_UAU.1/CM
X
FIA_UID.1/CM
X
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 73 / 93
O.RND
X
O.SpecificAPI
X
O.SCP.RECOVERY
FIA_USB.1/AID
O.DELETION
X
93
O.LOAD
FIA_UID.2/AID
O.INSTALL
X
O.OBJ_DELETION
FIA_ATD.1/AID
O.KEY_MNGT
X
O.PIN_MNGT
X
O.CIPHER
X
O.TRANSACTION
FMT_MTD.3/JCRE
Pages
O.CARD_MANAGEMENT
O.GLOBAL_ARRAYS_CO
NFID
O.GLOBAL_ARRAYS_INT
EG
O.ALARM
X
1.2p
(Printed copy not controlled: verify the
version before using)
O.SCP.IC
O.REALLOCATION
X
O.OPERATE
X
O.SID
FMT_MTD.1/JCRE
Release
O.SCP.SUPPORT
Public
O.NATIVE
Classification Level
O.FIREWALL
D1334796
O.RESOURCES
Reference
1.2p
(Printed copy not controlled: verify the
version before using)
FDP_IFC.2/CM
X
FDP_IFF.1/CM
X
FDP_UIT.1/CM
X
FTP_ITC.1/CM
X
FPT_TST.1/SCP
O.RND
O.SpecificAPI
O.CARD_MANAGEMENT
O.SCP.RECOVERY
O.DELETION
93
O.LOAD
O.INSTALL
O.OBJ_DELETION
O.KEY_MNGT
O.PIN_MNGT
O.CIPHER
O.TRANSACTION
Pages
O.SCP.IC
O.GLOBAL_ARRAYS_CO
NFID
O.GLOBAL_ARRAYS_INT
EG
O.ALARM
Release
O.SCP.SUPPORT
O.REALLOCATION
O.NATIVE
O.FIREWALL
Public
O.RESOURCES
Classification Level
O.OPERATE
D1334796
O.SID
Reference
X
FPT_PHP.3/SCP
X
FPT_RCV.4/SCP
X
FDP_ACC.1/CMGR
X
FDP_ACF.1/CMGR
X
FMT_MSA.1/CMGR
X
FMT_MSA.3/CMGR
X
FPT_FLS.1/SpecificAPI
X
FPT_ITT.1/SpecificAPI
X
FPR_UNO.1/SpecificAPI
X
X
FCS_RND.1
Table 3: rationale objective vs. SFR
8.3.1.1 SECURITY OBJECTIVES FOR THE TOE
8.3.1.1.1 IDENTIFICATION
O.SID Subjects' identity is AID-based (applets, packages), and is met by the following SFRs:
FDP_ITC.2/Installer, FIA_ATD.1/AID, FMT_MSA.1/JCRE,FMT_MSA.1/ADEL, FMT_MSA.1/CM,
FMT_MSA.3/ADEL, FMT_MSA.3/FIREWALL, FMT_MSA.3/JCVM, FMT_MSA.3/CM, FMT_SMF.1/CM, ,
FMT_SMF.1/ADEL, FMT_MTD.1/JCRE, and FMT_MTD.3/JCRE.
Lastly, installation procedures ensure protection against forgery (the AID of an applet is under the control of
the TSFs) or re-use of identities (FIA_UID.2/AID, FIA_USB.1/AID).
8.3.1.1.2 EXECUTION
O.OPERATE The TOE is protected in various ways against applets' actions (security architecture described
in ADV_ARC.1, FPT_TDC.1), the FIREWALL access control policy (FDP_ACC.2/FIREWALL and
FDP_ACF.1/FIREWALL), and is able to detect and block various failures or security violations during usual
working (FPT_FLS.1/ADEL, FPT_FLS.1/JCS, FPT_FLS.1/ODEL, FPT_FLS.1/Installer, FAU_ARP.1). Its
security-critical parts and procedures are also protected: safe recovery from failure is ensured
(FPT_RCV.3/Installer), applets' installation may be cleanly aborted (FDP_ROL.1/FIREWALL), communication
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 74 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
with external users and their internal subjects is well-controlled (FDP_ITC.2/Installer, FIA_ATD.1/AID,
FIA_USB.1/AID) to prevent alteration of TSF data (also protected by components of the FPT class).
Almost every objective and/or functional requirement indirectly contributes to this one too.
O.RESOURCES The TSFs detects stack/memory overflows during execution of applications (FAU_ARP.1,
FPT_FLS.1/ADEL, FPT_FLS.1/JCS, FPT_FLS.1/ODEL, FPT_FLS.1/Installer). Failed installations are not to
create memory leaks (FDP_ROL.1/FIREWALL, FPT_RCV.3/Installer) as well. Memory management is
controlled by the TSF (FMT_MTD.1/JCRE, FMT_MTD.3/JCRE, FMT_SMR.1/Installer, FMT_SMR.1/JCRE,
FMT_SMF.1/CORE_LC FMT_SMR.1/ADEL, FMT_SMF.1/ADEL, FMT_SMF.1/CM, and FMT_SMR.1/CM).
O.FIREWALL This objective is met by the FIREWALL access control policy (FDP_ACC.2/FIREWALL and
FDP_ACF.1/FIREWALL), the JCVM information flow control policy (FDP_IFF.1/JCVM, FDP_IFC.1/JCVM),
the functional requirement FDP_ITC.2/Installer. The functional requirements of the class FMT
(FMT_MTD.1/JCRE,
FMT_MTD.3/JCRE,
FMT_SMR.1/Installer,
FMT_SMR.1/JCRE,
FMT_SMF.1/CORE_LC, FMT_SMR.1/ADEL, FMT_SMF.1/ADEL, FMT_SMF.1/CM,
,FMT_MSA.1/CM,
FMT_MSA.3/CM,
FMT_SMR.1/CM,
FMT_MSA.2/FIREWALL_JCVM,
FMT_MSA.3/FIREWALL,
FMT_MSA.3/JCVM, FMT_MSA.1/ADEL, FMT_MSA.3/ADEL, , FMT_MSA.1/JCRE) also indirectly contribute
to meet this objective.
O.NATIVE The JCVM is the machine running the bytecode of the applets. These can only be linked with API
methods or other packages already on the card. This objective mainly relies on the objective OE.APPLET,
which upholds the assumption A.APPLET. The description of how the security architecture of the TSF
(ADV_ARC.1) covers this objective.
O.REALLOCATION This security objective is satisfied by the following SFRs: FDP_RIP.1/APDU,
FDP_RIP.1/bArray, FDP_RIP.1/ABORT, FDP_RIP.1/KEYS, FDP_RIP.1/TRANSIENT, FDP_RIP.1/ODEL,
FDP_RIP.1/OBJECTS, and FDP_RIP.1/ADEL, which imposes that the contents of the re-allocated block shall
always be cleared before delivering the block.
O.GLOBAL_ARRAYS_CONFID Only arrays can be designated as global, and the only global arrays required
in the Java Card API are the APDU buffer and the byte array input parameter (bArray) to an applet's install
method. The clearing requirement of these arrays is met by (FDP_RIP.1/APDU and FDP_RIP.1/bArray
respectively). The JCVM information flow control policy (FDP_IFF.1/JCVM, FDP_IFC.1/JCVM) prevents an
application from keeping a pointer to a shared buffer, which could be used to read its contents when the
buffer is being used by another application.
O.GLOBAL_ARRAYS_INTEG This objective is met by the JCVM information flow control policy
(FDP_IFF.1/JCVM, FDP_IFC.1/JCVM), which prevents an application from keeping a pointer to the
input/output buffer of the card, or any other global array that is shared by all the applications. Such a pointer
could be used to access and modify it when the buffer is being used by another application.
8.3.1.1.3 SERVICES
O.ALARM This security objective is met by FPT_FLS.1/Installer, FPT_FLS.1/JCS, FPT_FLS.1/ADEL,
FPT_FLS.1/ODEL which guarantee that a secure state is preserved by the TSF when failures occur, and
FAU_ARP.1 which defines TSF reaction upon detection of a potential security violation.
O.TRANSACTION Directly met by FDP_ROL.1/FIREWALL, FDP_RIP.1/ABORT, FDP_RIP.1/ODEL,
FDP_RIP.1/APDU, FDP_RIP.1/bArray, FDP_RIP.1/KEYS, FDP_RIP.1/ADEL, FDP_RIP.1/TRANSIENT and
FDP_RIP.1/OBJECTS (more precisely, by the element FDP_RIP.1.1/ABORT).
O.CIPHER This security objective is directly covered by FCS_CKM.1, FCS_CKM.2, FCS_CKM.3,
FCS_CKM.4 and FCS_COP.1. The SFR FPR_UNO.1 contributes in covering this security objective and
controls the observation of the cryptographic operations which may be used to disclose the keys.
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 75 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
O.PIN-MNGT This security objective is ensured by FDP_RIP.1/ODEL, FDP_RIP.1/OBJECTS,
FDP_RIP.1/APDU,
FDP_RIP.1/bArray, FDP_RIP.1/ABORT, FDP_RIP.1/KEYS,
FDP_RIP.1/ADEL,
FDP_RIP.1/TRANSIENT, FPR_UNO.1, FDP_ROL.1/FIREWALL and FDP_SDI.2 security functional
requirements. The TSFs behind these are implemented by API classes. The firewall security functions
(FDP_ACC.2/FIREWALL and FDP_ACF.1/FIREWALL) shall protect the access to private and internal data of
the objects.
O.KEY-MNGT This relies on the same security functional requirements as O.CIPHER, plus FDP_RIP.1 and
FDP_SDI.2 as well. Precisely it is met by the following components: FCS_CKM.1, FCS_CKM.2, FCS_CKM.3,
FCS_CKM.4, FCS_COP.1, FPR_UNO.1, FDP_RIP.1/ODEL, FDP_RIP.1/OBJECTS, FDP_RIP.1/APDU,
FDP_RIP.1/bArray, FDP_RIP.1/ABORT, FDP_RIP.1/KEYS, FDP_RIP.1/ADEL and FDP_RIP.1/TRANSIENT.
8.3.1.1.4 OBJECT DELETION
O.OBJ-DELETION This security objective specifies that deletion of objects is secure. The security objective
is met by the security functional requirements FDP_RIP.1/ODEL and FPT_FLS.1/ODEL.
8.3.1.1.5 APPLET MANAGEMENT
O.INSTALL This security objective specifies that installation of applets must be secure. Security attributes of
installed data are under the control of the FIREWALL access control policy (FDP_ITC.2/Installer), and the
TSFs are protected against possible failures of the installer (FPT_FLS.1/Installer, FPT_RCV.3/Installer).
O.LOAD This security objective specifies that the loading of a package into the card must be secure.
Evidence of the origin of the package is enforced (FCO_NRO.2/CM) and the integrity of the corresponding
data is under the control of the PACKAGE LOADING information flow policy (FDP_IFC.2/CM,
FDP_IFF.1/CM) and FDP_UIT.1/CM. Appropriate identification and authentication (FIA_UAU.1/CM,
FIA_UID.1/CM) and transmission mechanisms are also enforced (FTP_ITC.1/CM).
O.DELETION This security objective specifies that applet and package deletion must be secure. The nonintroduction of security holes is ensured by the ADEL access control policy (FDP_ACC.2/ADEL,
FDP_ACF.1/ADEL). The integrity and confidentiality of data that does not belong to the deleted applet or
package is a by-product of this policy as well. Non-accessibility of deleted data is met by FDP_RIP.1/ADEL
and the TSFs are protected against possible failures of the deletion procedures (FPT_FLS.1/ADEL,
FPT_RCV.3/Installer). The security functional requirements of the class FMT (FMT_MSA.1/ADEL,
FMT_MSA.3/ADEL, and FMT_SMR.1/ADEL) included in the group ADELG also contribute to meet this
objective.
8.3.1.1.6 SCP
O.SCP.RECOVERY This security objective specifies that the platform must behave securely if an
unexpected loss of power occurs. This is covered by FPT_RCV.4 which specifies the recovery after
unexpected power failure.
O.SCP.SUPPORT This security objective specifies that the SCP provides security features to the JCS. This
is provided by FPT_TST.1/SCP. This is also provided by requirements of the IC, which are described in [STIC].
O.SCP.IC This security objective specifies that the IC must provide mechanisms to protect itself against
physical attacks. This is provided by FPT_PHP.3/SCP. This is also provided by requirements of the IC, which
are described in [ST-IC].
8.3.1.1.7 Card Management
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 76 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
O.CARD_MANAGEMENT This security objective specifies that the access control to card management
functions. This is enforced by FDP_ACC.1/CMGR, FDP_ACF.1/CMGR, FMT_MSA.1/CMGR,
FMT_MSA.3/CMGR, FMT_SMF.1/CM.
8.3.1.1.8 ASFR
O. SpecificAPI The security objective is met by the following SFR FPT_FLS.1/SpecificAPI,
FPT_ITT.1/SpecificAPI and FPR_UNO.1/SpecificAPI.
O.RND The security objective O.RND is met by the following SFR FCS_RND.1.
8.3.2 DEPENDENCIES
8.3.2.1 SFRS DEPENDENCIES
Requirements
FAU_ARP.1
FCO_NRO.2/CM
FCS_CKM.1
FCS_CKM.2
FCS_CKM.3
FCS_CKM.4
FCS_COP.1
FDP_ACC.2/ADEL
FDP_ACC.2/FIREWALL
FDP_ACF.1/ADEL
CC dependencies
FAU_SAA.1
FIA_UID.1
(FCS_CKM.2 or FCS_COP.1),
FCS_CKM.4
(FCS_CKM.1 or FDP_ITC.1 or
FDP_ITC.2), FCS_CKM.4
(FCS_CKM.1 or FDP_ITC.1 or
FDP_ITC.2), FCS_CKM.4
(FCS_CKM.1 or FDP_ITC.1 or
FDP_ITC.2
(FCS_CKM.1 or FDP_ITC.1 or
FDP_ITC.2), FCS_CKM.4
FDP_ACF.1
FDP_ACF.1
FDP_ACC.1, FMT_MSA.3
FDP_ACF.1/FIREWALL
FDP_ACC.1, FMT_MSA.3
FDP_IFC.1/JCVM
FDP_IFC.2/CM
FDP_IFF.1/JCVM
FDP_IFF.1
FDP_IFF.1
FDP_IFC.1, FMT_MSA.3
FDP_IFF.1/CM
FDP_ITC.2/Installer
FDP_IFC.1, FMT_MSA.3
(FDP_ACC.1 or FDP_IFC.1),
FPT_TDC.1,
(FTP_ITC.1
or
FTP_TRP.1)
none
none
none
FDP_RIP.1/OBJECTS
FDP_RIP.1/APDU
FDP_RIP.1/bArray
ST
Satisfied dependencies
Unsupported
FIA_UID.1/CM
FCS_CKM.2, FCS_CKM.4
FCS_CKM.1, FCS_CKM.4
FCS_CKM.1, FCS_CKM.4
FCS_CKM.1
FCS_CKM.1, FCS_CKM.4
FDP_ACF.1/ADEL
FDP_ACF.1/FIREWALL
FDP_ACC.2/ADEL
FMT_MSA.3/ADEL
FDP_ACC.2/FIREWALL,
FMT_MSA.3/FIREWALL
FDP_IFF.1/JCVM
FDP_IFF.1/CM
FDP_IFC.1/JCVM,
FMT_MSA.3/JCVM
FDP_IFC.2/CM, FMT_MSA.3/CM
FDP_IFC.2/CM,
FPT_TDC.1
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
,
FTP_ITC.1/CM,
Page : 77 / 93
Reference
D1334796
Classification Level
Public
Requirements
FDP_RIP.1/ABORT
FDP_RIP.1/KEYS
FDP_RIP.1/ADEL
FDP_RIP.1/TRANSIENT
FDP_RIP.1/ODEL
FDP_ROL.1/FIREWALL
CC dependencies
none
none
none
none
none
FDP_SDI.2
FIA_ATD.1/AID
FIA_UAU.1/CM
FIA_UID.1/CM
FIA_UID.2/AID
FDP_UIT.1/CM
none
none
FIA_UID.1
none
none
(FDP_ACC.1 or FDP_IFC.1),
(FTP_ITC.1 or FTP_TRP.1)
FIA_USB.1/AID
FMT_MSA.1/ADEL
FIA_ATD.1
(FDP_ACC.1 or FDP_IFC.1),
FMT_SMF.1, FMT_SMR.1
FMT_MSA.1/JCVM
(FDP_ACC.1 or FDP_IFC.1),
FMT_SMF.1, FMT_SMR.1
FMT_MSA.1/JCRE
(FDP_ACC.1 or FDP_IFC.1),
FMT_SMF.1, FMT_SMR.1
FMT_MSA.1/CM
(FDP_ACC.1 or FDP_IFC.1),
FMT_SMF.1, FMT_SMR.1
(FDP_ACC.1 or FDP_IFC.1)
FMT_MSA.2/FIREWALL_JCVM
(FDP_ACC.1 or FDP_IFC.1),
FMT_MSA.1, FMT_SMR.1
FMT_MSA.3/FIREWALL
FMT_MSA.1, FMT_SMR.1
FMT_MSA.3/JCVM
FMT_MSA.3/ADEL
FMT_MSA.1, FMT_SMR.1
FMT_MSA.1, FMT_SMR.1
FMT_MSA.3/CM
FMT_MTD.1/JCRE
FMT_MSA.1, FMT_SMR.1
FMT_MTD.3/JCRE
FMT_SMR.1/JCRE
FMT_SMR.1/Installer
FMT_SMR.1/ADEL
FMT_SMR.1/CM
FMT_MTD.1
FIA_UID.1
FIA_UID.1
FIA_UID.1
FIA_UID.1
ST
FMT_SMF.1, FMT_SMR.1
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
Satisfied dependencies
FDP_ACC.2/FIREWALL,
FDP_IFF.1/JCVM
FIA_UID.1/CM
FDP_IFC.2/CM, FTP_ITC.1/CM
FIA_ATD.1/AID
FDP_ACC.2/ADEL,
FMT_SMF.1/ADEL,
FMT_SMR.1/ADEL
FDP_ACC.2/FIREWALL,
FDP_IFC.1/JCVM,
FMT_SMF.1/CORE_LC,
FMT_SMR.1/JCRE
FDP_IFC.1/JCVM,
FMT_SMR.1/JCRE,
FMT_SMF.1/CORE_LC,
FDP_ACC.2/FIREWALL
FDP_IFC.2/CM,
FMT_SMR.1/CM,
FMT_SMF.1/CM
FDP_ACC.2/FIREWALL,
FDP_IFC.1/JCVM,
FMT_MSA.1/JCRE,
FMT_SMR.1/JCRE
FMT_MSA.1/JCRE,
FMT_MSA.1/JCVM,
FMT_SMR.1/JCRE
FMT_MSA.1/JCVM,
FMT_SMR.1/JCRE
FMT_MSA.1/ADEL,
FMT_SMR.1/ADEL
FMT_MSA.1/CM, FMT_SMR.1/CM
FMT_SMR.1/JCRE,
FMT_SMF.1/CORE_LC
FMT_MTD.1/JCRE
FIA_UID.2/AID
Unsupported
Unsupported
FIA_UID.1/CM
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 78 / 93
Reference
D1334796
Classification Level
Public
Requirements
FMT_SMF.1/CORE_LC
FMT_SMF.1/ADEL
FMT_SMF.1/CM
FPR_UNO.1
FPT_FLS.1/JCS
FPT_FLS.1/Installer
FPT_FLS.1/ADEL
FPT_FLS.1/ODEL
FPT_RCV.3/Installer
FPT_TDC.1
FTP_ITC.1/CM
FPT_TST.1/SCP
FPT_PHP.3/SCP
FPT_RCV.4/SCP
FDP_ACC.1/CMGR
FDP_ACF.1/CMGR
CC dependencies
none
none
none
none
none
none
none
none
AGD_OPE.1
none
none
none
none
none
FDP_ACF.1
FMT_MSA.1/CMGR
(FDP_ACC.1 or FDP_IFC.1),
FMT_SMF.1, FMT_SMR.1
FMT_MSA.1, FMT_SMR.1
none
none
none
none
FMT_MSA.3/CMGR
SFR FPT_FLS.1/SpecificAPI
FPT_ITT.1/SpecificAPI
FPR_UNO.1/SpecificAPI.
FCS_RND.1
FDP_ACC.1, FMT_MSA.3
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
Satisfied dependencies
AGD_OPE.1
FDP_ACF.1/CMGR
FDP_ACC.1/CMGR,
FMT_MSA.3/CMGR
FDP_ACC.1/CMGR, FMT_SMF.1/CM,
FMT_SMR.1/CM
FMT_MSA.1/CMGR, FMT_SMR.1/CM
8.3.2.1.1 RATIONALE FOR THE EXCLUSION OF DEPENDENCIES
The dependency FIA_UID.1 of FMT_SMR.1/Installer is unsupported. This is required by the component
FMT_SMR.1 in group InstG. However, the role installer defined in this component is attached to an IT
security function rather than to a "user" of the CC terminology. The installer does not "identify" itself with
respect to the TOE, but is a part of it. Thus, here it is claimed that this dependency can be left out. The
reader may notice that the role is required because of the SFRs on management of TSF data and security
attributes, essentially those of the firewall policy.
The dependency FAU_SAA.1 of FAU_ARP.1 is unsupported. Potential violation analysis is used to specify
the set of auditable events whose occurrence or accumulated occurrence held to indicate a potential violation
of the SFRs, and any rules to be used to perform the violation analysis. The dependency of FAU_ARP.1 on
this functional requirement assumes that a "potential security violation" is an audit event indicated by the
FAU_SAA.1 component. The events listed in FAU_ARP.1 are, on the contrary, merely self-contained ones
(arithmetic exception, ill-formed bytecodes, access failure) and ask for a straightforward reaction of the TSFs
on their occurrence at runtime. The JCVM or other components of the TOE detect these events during their
usual working order. Thus, in principle there would be no applicable audit recording in this framework.
Moreover, no specification of one such recording is provided elsewhere. Therefore no set of auditable events
could possibly be defined.
The dependency FIA_UID.1 of FMT_SMR.1/ADEL is unsupported. This is required by the component
FMT_SMR.1 in group ADELG. However, the role applet deletion manager defined in this component is
attached to an IT security function rather than to a "user" of the CC terminology. The installer does not
"identify" itself with respect to the TOE, but is a part of it. Thus, here it is claimed that this dependency can be
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 79 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
left out. The reader may notice that the role is required because of the SFRs on management of TSF data
and security attributes, essentially those of the firewall policy.
8.3.2.2 SARS DEPENDENCIES
Requirements
ADV_ARC.1
ADV_FSP.5
ADV_IMP.1
ADV_INT.2
ADV_TDS.4
AGD_OPE.1
AGD_PRE.1
ALC_CMC.4
ALC_CMS.4
ALC_DEL.1
ALC_DVS.2
ALC_LCD.1
ALC_TAT.1
ATE_COV.2
ATE_DPT.1
ATE_FUN.1
ATE_IND.2
AVA_VAN.5
CC dependencies
Satisfied dependencies
ADV_FSP.1; ADV_TDS.1
ADV_FSP.5; ADV_TDS.4
ADV_TDS.1; ADV_IMP.1
ADV_TDS.4; ADV_IMP.1
ADV_TDS.3; ALC_TAT.1
ADV_TDS.4; ALC_TAT.2
ADV_IMP.1; ADV_TDS.3; ALC_TAT.1
ADV_IMP.1; ADV_TDS.4; ALC_TAT.2
ADV_FSP.5
ADV_FSP.5
ADV_FSP.1
ADV_FSP.5
None
ALC_CMS.1; ALC_DVS.1; ALC_LCD.1 ALC_CMS.4; ALC_DVS.2; ALC_LCD.1
None
None
None
None
ADV_IMP.1
ADV_IMP.1
ADV_FSP.2; ATE_FUN.1
ADV_FSP.4; ATE_FUN.1
ADV_ARC.1; ADV_TDS.3; ATE_FUN.1 ADV_ARC.1; ADV_TDS.3; ATE_FUN.1
ATE_COV.1
ATE_COV.2
ADV_FSP.2; AGD_OPE.1; AGD_PRE.1; ADV_FSP.4;
AGD_OPE.1;
AGD_PRE.1;
ATE_COV.1; ATE_FUN.1
ATE_COV.2; ATE_FUN.1
ADV_ARC.1; ADV_FSP.4; ADV_TDS.3; ADV_ARC.1;
ADV_FSP.4
ADV_TDS.3;
ADV_IMP.1; AGD_OPE.1; AGD_PRE.1; ADV_IMP.1;
AGD_OPE.1;
AGD_PRE.1;
ATE_DPT.1
ATE_DPT.1
8.3.3 RATIONALE FOR THE SECURITY ASSURANCE REQUIREMENTS
8.3.3.1 EAL4: Methodically designed,tested and reviewed
EAL4 is required for this type of TOE and product since it is intended to defend against sophisticated attacks.
This evaluation assurance level allows a developer to gain maximum assurance from positive security
engineering based on good practices. In order to provide a meaningful level of assurance that the TOE and
its embedding product provide an adequate level of defense against such attacks: the evaluators should have
access to the low level design and source code.
8.3.3.2 AVA_VAN.5 ADVANCED METHODICAL VULNERABILITY ANALYSIS
The TOE is intended to operate in hostile environments. AVA_VAN.5 "Advanced methodical vulnerability
analysis" is considered as the expected level for Java Card technology-based products hosting sensitive
applications, in particular in payment and identity areas. AVA_VAN.5 has dependencies on ADV_ARC.1,
ADV_FSP.4, ADV_TDS.3, ADV_IMP.1, AGD_OPE.1, AGD_PRE.1, and ATE_DPT.1. All of them are satisfied
by EAL4.
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 80 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
8.3.3.3 ALC_DVS.2 SUFFICIENCY OF SECURITY MEASURES
Development security is concerned with physical, procedural, personnel and other technical measures that
may be used in the development environment to protect the TOE and the embedding product. The standard
ALC_DVS.1 requirement mandated by EAL4 is not enough. Due to the nature of the TOE and embedding
product, it is necessary to justify the sufficiency of these procedures to protect their confidentiality and
integrity. ALC_DVS.2 has no dependencies.
8.3.4
Compatibility between SFR of [ST-JCS] and [ST-IC]
FDP_IFC.1/JCVM,
FDP_IFF.1/JCVM,
FDP_RIP.1/OBJECTS,
FMT_MSA.2/FIREWALL_JCVM,
FMT_MSA.3/FIREWALL, FMT_MSA.3/JCVM, FMT_SMR.1/JCRE, FMT_SMF.1/CORE_LC, FCS_CKM.1,
FCS_CKM.2, FCS_CKM.3, FCS_CKM.4, FDP_RIP.1/APDU, FDP_RIP.1/bArray, FDP_RIP.1/ABORT,
FDP_RIP.1/KEYS, FDP_ROL.1/FIREWALL, FAU_ARP.1, FPT_TDC.1, FPT_FLS.1/JCS, FPR_UNO.1,
FMT_MTD.1/JCRE,
FMT_MTD.3/JCRE,
FIA_ATD.1/AID,
FIA_UID.2/AID,
FIA_USB.1/AID,
FDP_ITC.2/Installer, FMT_SMR.1/Installer, FPT_FLS.1/Installer, FPT_RCV.3/Installer, FMT_MSA.1/ADEL,
FMT_MSA.3/ADEL, FMT_SMR.1/ADEL, FMT_SMF.1/ADEL, FDP_ACC.2/ADEL, FDP_ACF.1/ADEL,
FDP_RIP.1/ADEL, FPT_FLS.1/ADEL,FDP_ACC.2/FIREWALL, FDP_ACF.1/FIREWALL, FMT_MSA.1/JCRE,
FMT_MSA.1/JCVM, FDP_RIP.1/TRANSIENT, FDP_RIP.1/ODEL, FPT_FLS.1/ODEL, FMT_MSA.1/CM,
FMT_MSA.3/CM, FMT_SMR.1/CM, FMT_SMF.1/CM, FCO_NRO.2/CM, FIA_UAU.1/CM, FIA_UID.1/CM,
FDP_IFC.2/CM, FDP_IFF.1/CM, FDP_UIT.1/CM, FTP_ITC.1/CM, FPT_TST.1/SCP, FPT_RCV.4/SCP,
FDP_ACC.1/CMGR, FDP_ACF.1/CMGR, FMT_MSA.1/CMGR, and FMT_MSA.3/CMGR are SFR specific to
the Java Card platform and they do no conflict with the SFR of [ST-IC].FPT_FLS.1/SpecificAPI,
FPT_ITT.1/SpecificAPI, FPR_UNO.1/SpecificAPI are SFR added to this [ST-JCS] regarding API security and
they do no conflict with the SFR of [ST-IC].
FCS_COP.1 and FCS_RND.1 of [ST-JCS] are supported by FCS_CKM.1, FCS_COP.1 and FCS_RNG.1 of
[ST-IC].
FDP_SDI.2 of [ST-JCS] is supported by FDP_SDI.2 of [ST-IC].
FPT_PHP.3/SCP of [ST-JCS] is supported by FPT_PHP.3 of [ST-IC].
We can therefore conclude that the SFR of [ST-JCS] and [ST-IC] are consistent.
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 81 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
9 TOE SUMMARY SPECIFICATION
9.1
TOE SECURITY FUNCTIONS
TOE Security Functions are provided by the TOE embedded software (including the optional NVM ES) and by
the chip.
9.1.1
SF provided by MultiApp v3.1S platform
9.1.1.1 SF.FW: Firewall
The JCRE firewall enforces applet isolation. The JCRE shall allocate and manage a context for each applet
or package installed respectively loaded on the card and its own JCRE context. Applet cannot access each
other's objects unless they are defined in the same package (they share the same context) or they use the
object sharing mechanism supported by JCRE.
An operation OP.PUT (S1, S.MEMBER, I) is allowed if and only if the active context
is "JCRE"; other OP.PUT operations are allowed regardless of the active context's
value.
Upon allocation of a resource to class instances and arrays, any previous
information content of the resource is made unavailable
Only the S.JCRE can modify the security attributes the active context, the selected
applet context security attributes.
Only the S.JCVM can modify the security attributes the active context, the currently
active Context and the Active Applets security attributes.
only secure values are accepted for all the security attributes of subjects and
objects defined in the FIREWALL access control SFP and the JCVM information
flow control SFP.
provide restrictive default values for security attributes that are used to enforce the
SFP.
The TSF shall maintain the roles: the Java Card RE, the Java Card VM. The TSF
shall be able to associate users with roles.
The TSF shall be capable of performing the following management functions:
 Modify the active context and the SELECTed applet Context.
 Modify the list of registered applets' AID
([JCRE222]§6.2.8)
An
S.PACKAGE
may
freely
perform
any
of
OP.ARRAY_ACCESS,
OP.INSTANCE_FIELD,
OP.INVK_VIRTUAL,
OP.INVK_INTERFACE, OP.THROW or OP.TYPE_ACCESS upon any
O.JAVAOBJECT whose Sharing attribute has value "JCRE entry point" or "global
array".
([JCRE222]§6.2.8)
An
S.PACKAGE
may
freely
perform
any
of
OP.ARRAY_ACCESS,
OP.INSTANCE_FIELD,
OP.INVK_VIRTUAL,
OP.INVK_INTERFACE or OP.THROW upon any O.JAVAOBJECT whose Sharing
attribute has value "Standard" and whose Lifetime attribute has value
"PERSISTENT" only if O.JAVAOBJECT's Context attribute has the same value as
ST
FDP_IFC.1/JCVM
FDP_IFF.1/JCVM
FDP_RIP.1/OBJECTS
FMT_MSA.1/JCRE
FMT_MSA.1/JCVM
FMT_MSA.2/FIREWALL_
JCVM
FMT_MSA.3/FIREWALL
FMT_SMR.1/JCRE
FMT_SMF.1/CORE_LC
FDP_ACC.2/FIREWALL
FDP_ACF.1/FIREWALL
FDP_ACC.2/FIREWALL
FDP_ACF.1/FIREWALL
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 82 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
the active context.
([JCRE222]§6.2.8.10) An S.PACKAGE may perform OP.TYPE_ACCESS upon an
O.JAVAOBJECT whose Sharing attribute has value "SIO" only if O.JAVAOBJECT
is being cast into (checkcast) or is being verified as being an instance of
(instanceof) an interface that extends the Shareable interface.
 ([JCRE222],
§6.2.8.6,)
An
S.PACKAGE
may
perform
OP.INVK_INTERFACE upon an O.JAVAOBJECT whose Sharing attribute
has the value "SIO", and whose Context attribute has the value "Package
AID", only if one of the following applies:
(c) The value of the attribute Selection Status of the package whose AID is
"Package AID" is "Multiselectable",
(d) The value of the attribute Selection Status of the package whose AID is
"Package AID' is "Non-multiselectable", and either "Package AID" is the
value of the currently selected applet or otherwise "Package AID" does not
occur in the attribute ActiveApplets,
and in either of the cases above the invoked interface method extends the
Shareable interface
An S.PACKAGE may perform an OP.CREATE only if the value of the Sharing
parameter(*) is "Standard".
The subject S.JCRE can freely perform OP.JAVA(...) and OP.CREATE, with the
following two exceptions:
1. Any subject with OP.JAVA upon an O.JAVAOBJECT whose LifeTime attribute
has value "CLEAR_ON_DESELECT" if O.JAVAOBJECT's Context attribute is
not the same as the SELECTed applet Context.
2. Any subject with OP.CREATE and a "CLEAR_ON_DESELECT" LifeTime
parameter if the active context is not the same as the SELECTed applet
Context.
Upon deallocation of the resource from any transient object, any previous
information content of the resource is made unavailable.
The TSF shall permit the rollback of the operations OP.JAVA and OP.CREATE on
the O.JAVAOBJECTs.
The TSF shall permit operations to be rolled back within the scope of a select(),
deselect(), process() or install() call, notwithstanding the restrictions given in
[JCRE222], §7.7, within the bounds of the Commit Capacity ([JCRE222], §7.8), and
those described in [JCAPI222].
Only updates to persistent objects participate in the transaction. Updates to
transient objects and global arrays are never undone, regardless of whether or not
they were “inside a transaction.” [JCRE222], §7.7
A TransactionException is thrown if the commit capacity is exceeded during a
transaction. [JCRE222], §7.8
Transaction & PIN: When comparing a PIN, even if a transaction is in progress,
update of internal state - the try counter, the validated flag, and the blocking state,
do not participate in the transaction. [JCAPI222]
93
FDP_ACC.2/FIREWALL
FDP_ACF.1/FIREWALL
FDP_ACC.2/FIREWALL
FDP_ACF.1/FIREWALL
FDP_ACC.2/FIREWALL
FDP_ACF.1/FIREWALL
FDP_ACC.2/FIREWALL
FDP_ACF.1/FIREWALL
FDP_RIP.1/TRANSIENT
FDP_ROL.1/FIREWALL
FDP_ROL.1/FIREWALL
FDP_ROL.1/FIREWALL
FDP_ROL.1/FIREWALL
FDP_ROL.1/FIREWALL
9.1.1.2 SF.API: Application Programming Interface
This security function provides the cryptographic algorithm and functions used by the TSF:
 TDES algorithm support 112-bit key and 168-bit key
 RSA algorithm supports up to 4096 bit keys (CRT method), 2048 bit keys (std method).
 AES algorithm with 128, 192 and 256 bit keys.
 ECC algorithm with160, 192, 224, 256, 320, 384, 512, and 521 bit keys.
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 83 / 93




Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
Random generator uses the certified Hardware Random Generator that fulfills the requirements of
AIS31 (see [ST_IC]).
SHA-1, SHA224, SHA-256, SHA-384, and SHA-512 algorithms
Diffie-Hellman based on EC algorithm.
PACE based on EC algorithm (integrated mapping and generic mapping)
This security function controls all the operations relative to the card keys management.
 Key generation: The TOE provides the following:
o RSA key generation manages 1024 to 2048-bits long keys. The RSA key generation is SW
and does not use the IC cryptographic library.
o The TDES key generation (for session keys) uses the random generator.
o AES key generation
o DH key generation
 Key destruction: the TOE provides a specified cryptographic key destruction method that makes Key
unavailable.
This security function ensures the confidentiality of keys during manipulation and ensures the de-allocation of
memory after use.
This security function is supported by the IC security function SS.RNG (Random Number Generator) (see
[ST_IC]).
RSA standard Key generation Algorithm - 1024,1536,2048
RSA CRT Key generation Algorithm - 1024,1536,2048
TDES Key generation Algorithm - 112, 168
AES Key generation Algorithm - 128, 192, 256
ECC Key generation Algorithm - 160, 192, 224, 256, 320, 384, 512, 521
EC Diffie-Hellman Key agreement Algorithm 160, 192, 224, 256, 320, 384, 512,
521
DH Key agreement Algorithm 1024, 1536, 2048
Key distribution with JC API setkey()
Key access with JC API getkey()
Key deletion with JC API clearkey()
RSA standard Signature & Verification - RSA SHA PKCS#1, RSA SHA PKCS#1
PSS - 1024,1152,1280,1536,2048
RSA CRT Signature & Verification - RSA SHA PKCS#1, RSA SHA PKCS#1 PSS 1024,1152,1280,1536,2048, 3072, 4096
RSA standard Encryption & Encryption – 1536, 1792, 2048
RSA CRT Encryption & Encryption – 1024,1152,1280,1536,2048, 3072, 4096
TDES Encryption & Decryption – DES NOPAD, DES PKCS#5, DES 9797 M1 M2 –
112, 168
TDES Signature & Verification – DES MAC ISO9797-1 M1 M2, DES MAC NOPAD,
DES MAC PKCS#5- 112, 168
AES Encryption & Decryption – AES 128 NOPAD – 128, 192, 256
AES Signature & Verification – AES MAC 128 NOPAD – 128, 192, 256
ECDSA Signature & Verification – ECDSA SHA – 160, 192, 224, 256, 320, 384,
512, 521
SHA-1, SHA-224, SHA-256, SHA-384, SHA-512 Message digest
ECC for PACE Integrited Mapping & Generic Mapping 160, 192, 224, 256, 320,
384, 512, 521
ST
FCS_CKM.1
FCS_CKM.1
FCS_CKM.1
FCS_CKM.1
FCS_CKM.1
FCS_CKM.1
FCS_CKM.1
FCS_CKM.2
FCS_CKM.3
FCS_CKM.4
FCS_COP.1
FCS_COP.1
FCS_COP.1
FCS_COP.1
FCS_COP.1
FCS_COP.1
FCS_COP.1
FCS_COP.1
FCS_COP.1
FCS_COP.1
FCS_COP.1
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 84 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
9.1.1.3 SF.CSM: Card Security Management
Upon allocation of a resource to the APDU buffer, any previous information content
of the resource is made unavailable.
Upon deallocation of a resource from the bArray object, any previous information
content of the resource is made unavailable.
Upon deallocation of a resource from any reference to an object instance created
during an aborted transaction, any previous information content of the resource is
made unavailable.
Upon deallocation of a resource from the cryptographic buffer (D.CRYPTO), any
previous information content of the resource is made unavailable.
The TSF shall take the following actions:
 throw an exception,
 or lock the card session
 or reinitialize the Java Card System and its data
upon detection of a potential security violation.
The TOE detects the following potential security violation:
 CAP file inconsistency
 Applet life cycle inconsistency
 Card Manager life cycle inconsistency
 Card tearing (unexpected removal of the Card out of the CAD) and power
failure
 Abortion of a transaction in an unexpected context (see abortTransaction(),
[JCAPI222] and ([JCRE222], §7.6.2)
 Violation of the Firewall or JCVM SFPs
 Unavailability of resources
 Array overflow
 Random trap detection
The TSF shall monitor user data stored in containers controlled by the TSF for
integrity errors on all the following objects: Cryptographic keys, PINs, applets, and
softmasks when they are stored in EEPROM. Upon detection of a data integrity
error, the TSF shall:
 Prevent the use of modified data
 Raise an exception
In order to consistently interpret the CAP files, the bytecode and its data
argument, when shared between the TSF and another trusted IT product, the TSF
shall use:
 The rules defined in [JCVM222] specification;
 The API tokens defined in the export files of reference implementation
 The rules defined in ISO 7816-6
 The rules defined in [GP211] specification
The TSF shall preserve a secure state when the following types of failures occur:
those associated to the potential security violations described in FAU_ARP.1.
The Java Card RE Context is the Current context when the Java Card VM begins
running after a card reset ([JCRE222], §6.2.3) or after a proximity card (PICC)
ST
FDP_RIP.1/APDU
FDP_RIP.1/bArray
FDP_RIP.1/ABORT
FDP_RIP.1/KEYS
FAU_ARP.1
FAU_ARP.1
FDP_SDI.2
FPT_TDC.1
FPT_FLS.1/JCS
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 85 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
activation sequence ([JCRE222] §4.1.2). Behavior of the TOE on power loss and
reset is described in [JCRE222], §3.6, and §7.1. Behavior of the TOE on RF signal
loss is described in [JCRE222], §3.6.2
No one can observe the operation cryptographic operations / comparisons
operations on Key values / PIN values by S.JCRE, S.Applet.
93
FPR_UNO.1
9.1.1.4 SF.AID: AID Management
Only the JCRE can modify the list of registered applets' AIDs.
Only secure values are accepted for the AIDs of registered applets.
The TSF shall maintain the following list of security attributes belonging to
individual users:
 package AID
 Applet's version number
 registered applet's AID
 applet selection status ([JCVM222], §6.5)
The TSF shall require each user to be successfully identified before allowing any
other TSF-mediated actions on behalf of that user.
Initial applet selection is performed as described in [JCRE222]§4
Applet selection is performed after a successful SELECT FILE command as
described in [JCRE222]§4.
FMT_MTD.1/JCRE
FMT_MTD.3/JCRE
FIA_ATD.1/AID
FIA_UID.2/AID
FIA_USB.1/AID
9.1.1.5 SF.INST: Installer
the protocol used provides for the unambiguous association between the security
attributes and the user data received:
The format of the CAP file is precisely defined in Sun's specification ([JCVM222]); it
contains the user data (like applet's code and data) and the security attribute
altogether.
Each package contains a package Version attribute, which is a pair of major and
minor version numbers ([JCVM222], §4.5). With the AID, it describes the package
defined in the CAP file. When an export file is used during preparation of a CAP
file, the versions numbers and AIDs indicated in the export file are recorded in the
CAP files ([JCVM222], §4.5.2): the dependent packages Versions and AIDs
attributes allow the retrieval of these identifications.. Implementation-dependent
checks may occur on a case-by-case basis to indicate that package files are binary
compatibles. However, package files do have "package Version Numbers"
([JCVM222]) used to indicate binary compatibility or incompatibility between
successive implementations of a package, which obviously directly concern this
requirement.
A package may depend on (import or use data from) other packages already
installed. This dependency is explicitly stated in the loaded package in the form of a
list of package AIDs. The loading is allowed only if, for each dependent package,
its AID attribute is equal to a resident package AID attribute, the major (minor)
Version attribute associated to the former is equal (less than or equal) to the major
(minor) Version attribute associated to the latter ([JCVM222],§4.5.2).
The TSF shall maintain the roles: the installer
ST
FDP_ITC.2/Installer
FDP_ITC.2/Installer
FDP_ITC.2/Installer
FMT_SMR.1/Installer
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 86 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
The TSF shall preserve a secure state when the following types of failures occur:
the installer fails to load/install a package/applet as described in [JCRE222]
§11.1.4
After Failure during applet loading, installation and deletion; sensitive data
loading, the TSF ensures the return of the TOE to a secure state using automated
procedures.
The TSF provides the capability to determine the objects that were or were not
capable of being recovered.
93
FPT_FLS.1/Installer
FPT_RCV.3/Installer
9.1.1.6 SF.ADEL: Applet Deletion
Only the Java Card RE (S.JCRE) can modify the security attributes:
ActiveApplets.
The modification of the ActiveApplets security attribute should be performed in
accordance with the rules given in [JCRE222], §4.
Provide restrictive default values for security attributes that are used to enforce the
SFP.
The TSF shall maintain the roles: the applet deletion manager.
The TSF shall be able to Modify the ActiveApplets security attribute.
([JCRE222], §11.3.4.1, Applet Instance Deletion). The S.ADEL may perform
OP.DELETE_APPLET upon an O.APPLET only if,
(1) S.ADEL is currently selected,
(2) O.APPLET is deselected and
(3) there is no O.JAVAOBJECT owned by O.APPLET such that either
O.JAVAOBJECT is reachable from an applet instance distinct from
O.APPLET, or O.JAVAOBJECT is reachable from a package P, or
([JCRE222], §8.5) O.JAVAOBJECT is remote reachable.
([JCRE222], §11.3.4.1, Multiple Applet Instance Deletion). The S.ADEL may
perform OP.DELETE_APPLET upon several O.APPLET only if,
(1) S.ADEL is currently selected,
(2) every O.APPLET being deleted is deselected and
(3) there is no O.JAVAOBJECT owned by any of the O.APPLET being
deleted such that either O.JAVAOBJECT is reachable from an applet
instance distinct from any of those O.APPLET, or O.JAVAOBJECT is
reachable from a package P, or ([JCRE222], §8.5) O.JAVAOBJECT is
remote reachable.
([JCRE222], §11.3.4.2, Applet/Library Package Deletion). The S.ADEL may
perform OP.DELETE_PCKG upon an O.CODE_PCKG only if,
(1) S.ADEL is currently selected,
(2) no reachable O.JAVAOBJECT, from a package distinct from
O.CODE_PCKG that is an instance of a class that belongs to
O.CODE_PCKG exists on the card and
(3) there is no package loaded on the card that depends on
O.CODE_PCKG.
([JCRE222], §11.3.4.3, Applet Package and Contained Instances Deletion). The
S.ADEL may perform OP.DELETE_PCKG_APPLET upon an O.CODE_PCKG only
if,
(1) S.ADEL is currently selected,
(2) no reachable O.JAVAOBJECT, from a package distinct from
ST
FMT_MSA.1/ADEL
FMT_MSA.3/ADEL
FMT_SMR.1/ADEL
FMT_SMF.1/ADEL
FDP_ACC.2/ADEL
FDP_ACF.1/ADEL
FDP_ACC.2/ADEL
FDP_ACF.1/ADEL
FDP_ACC.2/ADEL
FDP_ACF.1/ADEL
FDP_ACC.2/ADEL
FDP_ACF.1/ADEL
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 87 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
O.CODE_PCKG, which is an instance of a class that belongs to
O.CODE_PCKG exists on the card,
(3) there is no package loaded on the card that depends on
O.CODE_PCKG and
(4) for every O.APPLET of those being deleted it holds that:
(i) O.APPLET is deselected and
(ii) there is no O.JAVAOBJECT owned by O.APPLET such that
either O.JAVAOBJECT is reachable from an applet instance not
being deleted, or O.JAVAOBJECT is reachable from a package
not being deleted, or ([JCRE222],§8.5) O.JAVAOBJECT is remote
reachable.
However, the S.ADEL may be granted privileges ([JCRE222], §11.3.5) to bypass
the preceding policies. For instance, the logical deletion of an applet renders it unselectable; this has implications on the management of the associated TSF data
(see application note of FMT_MTD.1.1/JCRE).
Only the S.ADEL can delete O.CODE_PKG or O.APPLET from the card.
Upon deallocation of a resource from the applet instances and/or packages
when one of the deletion operations in FDP_ACC.2.1/ADEL is performed on
them, any previous information content of the resource is made unavailable.
Requirements on de-allocation during applet/package deletion are described in
[JCRE222], §11.3.4.1, §11.3.4.2 and §11.3.4.3.
The TSF shall preserve a secure state when the following types of failures occur:
the applet deletion manager fails to delete a package/applet as described in
[JCRE222], §11.3.4.
93
FDP_ACF.1/ADEL
FDP_ACF.1/ADEL
FDP_RIP.1/ADEL
FDP_RIP.1/ADEL
FPT_FLS.1/ADEL
9.1.1.7 SF.ODEL: Object Deletion
Upon deallocation of the resource from the objects owned by the context of an
applet
instance
which
triggered
the
execution
of
the
method
javacard.framework.JCSystem.requestObjectDeletion(), any previous information
content of the resource is made unavailable.
The TSF shall preserve a secure state when the following types of failures occur:
the object deletion functions fail to delete all the unreferenced objects owned by the
applet that requested the execution of the method.
FDP_RIP.1/ODEL
FPT_FLS.1/ODEL
9.1.1.8 SF.CAR: Secure Carrier
No one can modify the security attributes AID
Default values for security attributes are:

User role: none

Applet checked: No

DAP Key OK: No
The TSF shall maintain the roles: Card Manager
The Card Manager loads applets with their AID.
The TOE enforces the generation of evidence of origin for transmitted application
packages at all times.
The TOE allows:
ST
FMT_MSA.1/CM
FMT_MSA.3/CM
FMT_SMR.1/CM
FMT_SMF.1/CM
FCO_NRO.2/CM
FIA_UAU.1/CM
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 88 / 93
Reference
D1334796
Classification Level
Public

JCAPI with already installed applets

APDUs for Applets
Release
Pages
on behalf of the user to be performed before the user is authenticated.
The TOE allows:
 JCAPI with already installed applets

1.2p
(Printed copy not controlled: verify the
version before using)
93
FIA_UID.1/CM
APDUs for Applets
on behalf of the user to be performed before the user is identified.
 Only the user with the security attribute role set to Operator can load an
applet.
 Only applets with the security attribute Checked set to YES can be
transferred.
 The DAP key OK security attribute must be set to TRUE to check the
integrity and the origin of the applet
Package loading is protected against modification, deletion, insertion, and
replay errors. If such an error occurs, it is detected at receiption .
New packages can be loaded and installed on the card only on demand of the card
issuer. This is done through a GP Secure Channel.
FDP_IFC.2/CM
FDP_IFF.1/CM
FDP_UIT.1/CM
FTP_ITC.1/CM
9.1.1.9 SF.SCP: Smart Card Platform
The TSF periodically tests the security mechanisms of the IC. It also checks the
integrity of sensitive assets: Applets, PIN and Keys.
The TSF resists physical attacks
The TSF offers transaction mechanisms
9.1.1.10
No one can modify the security attribute code category
Only restrictive default values can be used for the code category
ST
FDP_ACC.1/CMGR
FDP_ACF.1/CMGR
FMT_MSA.1/CMGR
FMT_MSA.3/CMGR
SF.API: Specific API
Provides means to application to control execution flow, to detect any failure and to
react if required
Provides means to application to execute securely data transfer and comparison,
to detect any failure during operation and to react if required..
Provides means to introduce dummy operations leading to unobservability of
sensitive operation
9.1.1.12
FPT_PHP.3/SCP
FPT_RCV.4/SCP
SF.CMG: Card Manager
The Card Manager loads and extradites applets. It also loads GP key.
9.1.1.11
FPT_TST.1/SCP
FPT_FLS.1/SpecificAPI
FPT_ITT.1/SpecificAPI
FPR_UNO.1/SpecificAPI
SF.RND: RNG
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 89 / 93
Provide a random value
ST
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
FCS_RND.1
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 90 / 93
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
9.1.2 TSFs provided by the NXP P60D144
The evaluation is a composite evaluation and uses the results of the CC evaluation provided by [CR-IC]. The
IC and its primary embedded software have been evaluated at level EAL 5+.
IC Security Services
SS.RNG
Random Number Generator
SS.HW_DES
Triple-DES coprocessor
SS.HW_AES
AES coprocessor
SS.CRC
Cyclic Redundancy Check
SS.RECONFIG
Customer Reconfiguration
IC Security Features
SF.OPC
Control of Operating Conditions
SF.PHY
Protection against Physical Manipulation
SF.LOG
Logical Protection
SF.COMP
Protection of Mode Control
SF.MEM_ACC
Memory Access Control
SF.SFR_ACC
Special Function Register Access Control
SF.FFW
Firmware Firewall
SF.FIRMWARE
Firmware Support
Table 4: Security Functions provided by the NXP P60D144 chip
These SF are described in [ST-IC].
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 91 / 93
9.2
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
93
ASSURANCE MEASURES
Assurance Measure
AM_ASE
AM_ADV_Spec
AM_ADV_Design
AM_ALC
AM_AGD
AM_ATE
AM_CODE
AM_Samples
Document title
MultiApp V3.1S JCS Security Target
Functional Specifications - MultiApp V3.1S
Design – MultiApp V3.1S
Class ALC – MultiApp V3.1S
Guidance – MultiApp V3.1S
Class ATE – MultiApp V3.1S
Source Code – MultiApp V3.1S
Samples – MultiApp V3.1S
Table 5: Assurance Measures.
The development team uses a configuration management system that supports the generation of the TOE.
The configuration management system is well documented and identifies all different configuration items.
The configuration management tracks the implementation representation, design documentation, test
documentation, guidance documentation. The security of the configuration management is described in detail
in a separate document.
The delivery process of the TOE is well defined and follows strict procedures. Several measures prevent the
modification of the TOE based on the developer’s master copy and the user's version. The Administrator and
the User are provided with necessary documentation for initialization and start-up of the TOE.
The implementation is based on an informal design of the components of the TOE. The description is
sufficient to generate the TOE without other design requirements.
The correspondence of the Security Functional Requirements (SFR) with less abstract representations will be
demonstrated in a separate document. This addresses ADV_ARC, ADV_FSP, ADV_IMP, and ADV_TDS.
The tools used in the development environment are appropriate to protect the confidentiality and integrity of
the TOE design and implementation. The development is controlled by a life cycle model of the TOE. The
development tools are well defined and documented.
The Gemalto R&E organization is equipped with organizational and personnel means that are necessary to
develop the TOE.
As the evaluation is identified as a composite evaluation based on the CC evaluation of the hardware, the
assurance measures related to the hardware (IC) will be provided by documents of the IC manufacturer.
ST
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
Page : 92 / 93
ST
Reference
D1334796
Classification Level
Public
Release
1.2p
(Printed copy not controlled: verify the
version before using)
Pages
Applicable on July 2015
Content of this document shall not be modified or partially reused without prior written consent of Gemalto
93
Page : 93 / 93
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement