BSI-DSZ-CC-0868-2014 for Sm@rtCafé® Expert 7.0 C1 from Giesecke & Devrient GmbH BSI - Bundesamt für Sicherheit in der Informationstechnik, Postfach 20 03 63, D-53133 Bonn Phone +49 (0)228 99 9582-0, Fax +49 (0)228 9582-5477, Infoline +49 (0)228 99 9582-111 Certification Report V1.0 CC-Zert-327 V5.1 BSI-DSZ-CC-0868-2014 Sm@rtCafé® Expert 7.0 C1 from Giesecke & Devrient GmbH PP Conformance: Java Card Protection Profile - Open Configuration, Version 3.0, May 2012, ANSSI-CC-PP-2010/03-M01 Functionality: PP conformant plus product specific extensions Common Criteria Part 2 extended Assurance: Common Criteria Part 3 conformant EAL 5 augmented by ALC_DVS.2 and AVA_VAN.5 SOGIS Recognition Agreement The IT Product identified in this certificate has been evaluated at an approved evaluation facility using the Common Methodology for IT Security Evaluation (CEM), Version 3.1 extended by advice of the Certification Body for components beyond EAL 5 and CC Supporting Documents as listed in the Certification Report for conformance to the Common Criteria for IT Security Evaluation (CC), Version 3.1. CC and CEM are also published as ISO/IEC 15408 and ISO/IEC 18045. This certificate applies only to the specific version and release of the product in its evaluated configuration and in conjunction with the complete Certification Report. The evaluation has been conducted in accordance with the provisions of the certification scheme of the German Federal Office for Information Security (BSI) and the conclusions of the evaluation facility in the evaluation technical report are consistent with the evidence adduced. This certificate is not an endorsement of the IT Product by the Federal Office for Information Security or any other organisation that recognises or gives effect to this certificate, and no warranty of the IT Product by the Federal Office for Information Security or any other organisation that recognises or gives effect to this certificate, is either expressed or implied. Common Criteria Recognition Arrangement for components up to EAL 4 Bonn, 22 December 2014 For the Federal Office for Information Security Bernd Kowalski L.S. Head of Department Bundesamt für Sicherheit in der Informationstechnik Godesberger Allee 185-189 - D-53175 Bonn - Postfach 20 03 63 - D-53133 Bonn Phone +49 (0)228 99 9582-0 - Fax +49 (0)228 9582-5477 - Infoline +49 (0)228 99 9582-111 Certification Report BSI-DSZ-CC-0868-2014 This page is intentionally left blank. 4 / 44 BSI-DSZ-CC-0868-2014 Certification Report Preliminary Remarks Under the BSIG1 Act, the Federal Office for Information Security (BSI) has the task of issuing certificates for information technology products. Certification of a product is carried out on the instigation of the vendor or a distributor, hereinafter called the sponsor. A part of the procedure is the technical examination (evaluation) of the product according to the security criteria published by the BSI or generally recognised security criteria. The evaluation is normally carried out by an evaluation facility recognised by the BSI or by BSI itself. The result of the certification procedure is the present Certification Report. This report contains among others the certificate (summarised assessment) and the detailed Certification Results. The Certification Results contain the technical description of the security functionality of the certified product, the details of the evaluation (strength and weaknesses) and instructions for the user. 1 Act on the Federal Office for Information Security (BSI-Gesetz - BSIG) of 14 August 2009, Bundesgesetzblatt I p. 2821 5 / 44 Certification Report BSI-DSZ-CC-0868-2014 Contents A. Certification........................................................................................................................7 1. Specifications of the Certification Procedure.................................................................7 2. Recognition Agreements................................................................................................7 3. Performance of Evaluation and Certification..................................................................9 4. Validity of the Certification Result...................................................................................9 5. Publication......................................................................................................................9 B. Certification Results.........................................................................................................11 1. Executive Summary.....................................................................................................12 2. Identification of the TOE...............................................................................................13 3. Security Policy..............................................................................................................15 4. Assumptions and Clarification of Scope.......................................................................15 5. Architectural Information...............................................................................................16 6. Documentation.............................................................................................................17 7. IT Product Testing.........................................................................................................17 8. Evaluated Configuration...............................................................................................20 9. Results of the Evaluation..............................................................................................20 10. Obligations and Notes for the Usage of the TOE.......................................................22 11. Security Target............................................................................................................22 12. Definitions...................................................................................................................22 13. Bibliography................................................................................................................25 C. Excerpts from the Criteria................................................................................................27 CC Part 1:........................................................................................................................27 CC Part 3:........................................................................................................................28 D. Annexes...........................................................................................................................35 6 / 44 BSI-DSZ-CC-0868-2014 Certification Report A. Certification 1. Specifications of the Certification Procedure The certification body conducts the procedure according to the criteria laid down in the following: ● Act on the Federal Office for Information Security2 ● BSI Certification and Approval Ordinance3 ● BSI Schedule of Costs4 ● Special decrees issued by the Bundesministerium des Innern (Federal Ministry of the Interior) ● DIN EN ISO/IEC 17065 standard ● BSI certification: Technical information on the IT security certification, Procedural Description (BSI 7138) [3] ● BSI certification: Requirements regarding the Evaluation Facility (BSI 7125) [3] ● Common Criteria for IT Security Evaluation (CC), Version 3.15 [1] also published as ISO/IEC 15408. ● Common Methodology for IT Security Evaluation (CEM), Version 3.1 [2] also published as ISO/IEC 18045. ● BSI certification: Application Notes and Interpretation of the Scheme (AIS) [4] 2. Recognition Agreements In order to avoid multiple certification of the same product in different countries a mutual recognition of IT security certificates - as far as such certificates are based on ITSEC or CC - under certain conditions was agreed. 2.1. European Recognition of ITSEC/CC – Certificates (SOGIS-MRA) The SOGIS-Mutual Recognition Agreement (SOGIS-MRA) Version 3 became effective in April 2010. It defines the recognition of certificates for IT-Products at a basic recognition level and, in addition, at higher recognition levels for IT-Products related to certain SOGIS Technical Domains only. The basic recognition level includes Common Criteria (CC) Evaluation Assurance Levels EAL 1 to EAL 4 and ITSEC Evaluation Assurance Levels E1 to E3 (basic). For 2 Act on the Federal Office for Information Security (BSI-Gesetz - BSIG) of 14 August 2009, Bundesgesetzblatt I p. 2821 3 Ordinance on the Procedure for Issuance of a Certificate by the Federal Office for Information Security (BSI-Zertifizierungsverordnung, BSIZertV) of 07 July 1992, Bundesgesetzblatt I p. 1230 4 Schedule of Cost for Official Procedures of the Bundesamt für Sicherheit in der Informationstechnik (BSI-Kostenverordnung, BSI-KostV) of 03 March 2005, Bundesgesetzblatt I p. 519 5 Proclamation of the Bundesministerium des Innern of 12 February 2007 in the Bundesanzeiger dated 23 February 2007, p. 3730 7 / 44 Certification Report BSI-DSZ-CC-0868-2014 "Smartcards and similar devices" a SOGIS Technical Domain is in place. For "HW Devices with Security Boxes" a SOGIS Technical Domains is in place, too. This Domain is linked to a conformance claim to one of the related SOGIS Recommended Protection Profiles. In addition, certificates issued for Protection Profiles based on Common Criteria are part of the recognition agreement. As of September 2011 the new agreement has been signed by the national bodies of Austria, Finland, France, Germany, Italy, The Netherlands, Norway, Spain, Sweden and the United Kingdom. Details on recognition and the history of the agreement can be found at https://www.bsi.bund.de/zertifizierung. The SOGIS-MRA logo printed on the certificate indicates that it is recognised under the terms of this agreement by the nations listed above. This certificate is recognized under SOGIS-MRA for all assurance components selected. 2.2. International Recognition of CC – Certificates (CCRA) The international arrangement on the mutual recognition of certificates based on the CC (Common Criteria Recognition Arrangement, CCRA-2014) has been ratified on 08 September 2014. It covers CC certificates based on collaborative Protection Profiles (cPP) (exact use), certificates based on assurance components up to and including EAL 2 or the assurance family Flaw Remediation (ALC_FLR) and certificates for Protection Profiles and for collaborative Protection Profiles (cPP). The CCRA-2014 replaces the old CCRA signed in May 2000 (CCRA-2000). Certificates based on CCRA-2000, issued before 08 September 2014 are still under recognition according to the rules of CCRA-2000. For on 08 September 2014 ongoing certification procedures and for Assurance Continuity (maintenance and re-certification) of old certificates a transition period on the recognition of certificates according to the rules of CCRA-2000 (i.e. assurance components up to and including EAL 4 or the assurance family Flaw Remediation (ALC_FLR)) is defined until 08 September 2017. As of September 2014 the signatories of the new CCRA are government representatives from the following nations: Australia, Austria, Canada, Czech Republic, Denmark, Finland, France, Germany, Greece, Hungary, India, Israel, Italy, Japan, Malaysia, The Netherlands, New Zealand, Norway, Pakistan, Republic of Korea, Singapore, Spain, Sweden, Turkey, United Kingdom, and the United States. The current list of signatory nations and approved certification schemes can be seen on the website: http://www.commoncriteriaportal.org. The Common Criteria Recognition Arrangement logo printed on the certificate indicates that this certification is recognised under the terms of this agreement by the nations listed above. As the product certified has been accepted into the certification process before 08 September 2014,this certificate is recognized according to the rules of CCRA-2000, i.e. up to and including CC part 3 EAL 4 components. The evaluation contained the components ADV_FSP.5, ADV_INT.2, ADV_TDS.4, ALC_CMS.5, ALC_DVS.2, ALC_TAT.2, ATE_DPT.3 and AVA_VAN.5 that are not mutually recognised in accordance with the provisions of the CCRA-2000, for mutual recognition the EAL 4 components of these assurance families are relevant. 8 / 44 BSI-DSZ-CC-0868-2014 Certification Report 3. Performance of Evaluation and Certification The certification body monitors each individual evaluation to ensure a uniform procedure, a uniform interpretation of the criteria and uniform ratings. The product Sm@rtCafé® Expert 7.0 C1 has undergone the certification procedure at BSI. The evaluation of the product Sm@rtCafé® Expert 7.0 C1, was conducted by TÜV Informationstechnik GmbH. The evaluation was completed on 15 December 2014. TÜV Informationstechnik GmbH is an evaluation facility (ITSEF)6 recognised by the certification body of BSI. For this certification procedure the applicant is: Giesecke & Devrient GmbH. The product was developed by: Giesecke & Devrient GmbH. The certification is concluded with the comparability check and the production of this Certification Report. This work was completed by the BSI. 4. Validity of the Certification Result This Certification Report only applies to the version of the product as indicated. The confirmed assurance package is only valid on the condition that ● all stipulations regarding generation, configuration and operation, as given in the following report, are observed, ● the product is operated in the environment described, as specified in the following report and in the Security Target. For the meaning of the assurance levels please refer to the excerpts from the criteria at the end of the Certification Report. The Certificate issued confirms the assurance of the product claimed in the Security Target at the date of certification. As attack methods evolve over time, the resistance of the certified version of the product against new attack methods needs to be re-assessed. Therefore, the sponsor should apply for the certified product being monitored within the assurance continuity program of the BSI Certification Scheme (e.g. by a re-certification). Specifically, if results of the certification are used in subsequent evaluation and certification procedures, in a system integration process or if a user's risk management needs regularly updated results, it is recommended to perform a re-assessment on a regular e.g. annual basis. In case of changes to the certified version of the product, the validity can be extended to the new versions and releases, provided the sponsor applies for assurance continuity (i.e. re-certification or maintenance) of the modified product, in accordance with the procedural requirements, and the evaluation does not reveal any security deficiencies. 5. Publication The product Sm@rtCafé® Expert 7.0 C1, has been included in the BSI list of certified products, which is published regularly (see also Internet: https://www.bsi.bund.de and [5]). Further information can be obtained from BSI-Infoline +49 228 9582-111. 6 Information Technology Security Evaluation Facility 9 / 44 Certification Report BSI-DSZ-CC-0868-2014 Further copies of this Certification Report can be requested from the developer7 of the product. The Certification Report may also be obtained in electronic form at the internet address stated above. 7 Giesecke & Devrient GmbH Prinzregentenstr. 159 81677 München Deutschland 10 / 44 BSI-DSZ-CC-0868-2014 Certification Report B. Certification Results The following results represent a summary of ● the Security Target of the sponsor for the Target of Evaluation, ● the relevant evaluation results from the evaluation facility, and ● complementary notes and stipulations of the certification body. 11 / 44 Certification Report BSI-DSZ-CC-0868-2014 1. Executive Summary The Target of Evaluation (TOE), the Sm@rtCafé® Expert 7.0 C1 described in the Security Target is a dual-interface, contact based or a pure contactless smart card with a Java card operating system (OS). The TOE is a multi-purpose Java card where applets of different kind can be installed. Pre- or post-issued applets are not part of the TOE. The Security Target [6] is the basis for this certification. It is based on the certified Protection Profile Java Card Protection Profile - Open Configuration, Version 3.0, May 2012, ANSSI-CC-PP-2010/03-M01 [8] (strict conformance). The Remote Method Invocation (RMIG) package and the External memory (EMG) package as defined in the Protection Profil as optional packages are not part of the TOE. The TOE was subject to a composite evaluation according AIS 36 [4]. Since a post-issuance installation of applets is possible, the TOE corresponds to an open configuration, as defined in the Protection Profile [8]. The platform is the Integrated Circuit (IC) M7892 B11 (certification ID BSI-DSZ-CC-0782-2012) manufactured by Infineon ([13] to [16]). Depending on the installed applets, the entire product (consisting of the TOE plus applets) could be used as a government card (like an ID card or a passport), a payment card, a signature card and other purposes. The TOE Security Assurance Requirements (SAR) are based entirely on the assurance components defined in Part 3 of the Common Criteria (see part C or [1], Part 3 for details). The TOE meets the assurance requirements of the Evaluation Assurance Level EAL 5 augmented by ALC_DVS.2 and AVA_VAN.5. The TOE Security Functional Requirements (SFR) relevant for the TOE are outlined in the Security Target [6] and [7], chapter 8. They are selected from Common Criteria Part 2 and some of them are newly defined. Thus the TOE is CC Part 2 extended. The TOE Security Functional Requirements are implemented by the following TOE Security Functionality: TOE Security Functionality Addressed issue SF.TRANSACTION This security function provides atomic transactions according to the Java Card Transaction and Atomicity mechanism with commit and rollback capability ([JCRE304], Section 7) for updating persistent data in flash memory. SF.ACCESS_CONTROL This security function provides control for the TOE. It is in charge of the FIREWALL access control SFP and the JCVM information flow control SFP. SF.CRYPTO This security function controls all the operations related to the cryptographic key management and cryptographic operations. SF.INTEGRITY This security function provides a means to check the integrity of check-summed data stored in flash memory. SF.SECURITY This security function ensures a secure state of information, the non-observability of operations on it and the unavailability of previous information content upon deallocation. SF.APPLET This security function ensures the secure loading of a package or installing of an applet by S.CAD and the secure deletion of applets and/or packages by S.ADEL. SF.CARRIER This security function ensures secure downloading of applications on the card. 12 / 44 BSI-DSZ-CC-0868-2014 Certification Report Table 1: TOE Security Functionalities For more details please refer to the Security Target [6] or [7], chapter 9. The assets to be protected by the TOE are defined in the Security Target [6] and [7], chapter 4 . Based on these assets the TOE Security Problem is defined in terms of Assumptions, Threats and Organisational Security Policies. This is outlined in the Security Target [6] and [7], chapter 5. This certification covers the configurations of the TOE as outlined in chapter 8. The vulnerability assessment results as stated within this certificate do not include a rating for those cryptographic algorithms and their implementation suitable for encryption and decryption (see BSIG Section 9, Para. 4, Clause 2). The certification results only apply to the version of the product indicated in the certificate and on the condition that all the stipulations are kept as detailed in this Certification Report. This certificate is not an endorsement of the IT product by the Federal Office for Information Security (BSI) or any other organisation that recognises or gives effect to this certificate, and no warranty of the IT product by BSI or any other organisation that recognises or gives effect to this certificate, is either expressed or implied. 2. Identification of the TOE The Target of Evaluation (TOE) is called: Sm@rtCafé® Expert 7.0 C1 The following table outlines the TOE deliverables: No Type Identifier Release Form of Delivery 1 HW/SW ICC including the Software part of the TOE Infineon M7892 B11 with Sm@rtCafé® Expert 7.0 C1 Sealed boxes by courier to Composite Product Integrator 2 DOC Preparative Procedures Sm@rtCafé® Expert 7.0 [11] 1.6 Via email PGP RSA 2048 Bit or 2048/1024 DH/DSS signature / encryption to Composite Product Integrator 3 DOC Operational User Guidance Sm@rtCafé® Expert 7.0 [12] 2.3 Via email PGP RSA 2048 Bit or 2048/1024 DH/DSS signature / encryption to Composite Product Integrator 4a8 DATA Initial Card Manager Keys (SCP02/SCP03) and Personalization PIN (TOE configuration 2 and 4) or SCP02- and SCP03-based authentication keys (TOE configuration 1 and 3) - To Composite Product Integrator via email PGP RSA 2048 Bit or 2048/1024 DH/DSS signature / encryption 8 Alternatively to 4b 13 / 44 Certification Report BSI-DSZ-CC-0868-2014 No Type Identifier Release Form of Delivery 4b9 DATA Customer specific Card Manager Keys (SCP02/SCP03) and Personalization PIN (TOE configuration 2 and 4) or SCP02- and SCP03-based authentication keys (TOE configuration 1 and 3) - From Composite Product Integrator to HW Manufacturer via email PGP RSA 2048 Bit or 2048/1024 DH/DSS signature / encryption Table 2: Deliverables of the TOE According to the Security Target chp. 2.4.1 the life cycle of the TOE consists of 7 phases: Phase 1: IC Embedded Software Development / Phase 2: IC Development, / Phase 3: IC Manufacturing / Phase 4: IC Packaging, / Phase 5: Composite Product Integration / Phase 6: Personalisation / Phase 7: Operational Usage. The TOE delivery takes place after Phase 4 so that the evaluation process is limited to Phases 1 to 4. The TOE is delivered to the Composite Product Integrator, which is responsible for loading the Card Manager keys and works on behalf of the Card Issuer. In case of customer specific personalization authentication, the Composite Product Integrator delivers the customer specific personalization PIN (for TOE Config 2 and 4) or the SCP02- and SCP03-based authentication keys (for TOE Config 1 and 3) to the embedded SW developer or the HW manufacturer, before the TOE is delivered to him (Table 2, 4b). Otherwise the Composite Product Integrator receives the initial Card Manager keys and personalization PIN from G&D (Table 2, 4a). For two of the four TOE configurations (Config 2 and 4) the Composite Product Integrator can authenticate himself by input of a PIN. For the other two of the four TOE configurations (Config 1 and 3) the Composite Product Integrator can authenticate himself by using either the SCP02 or SCP03 keys (see also Table 2). The Composite Product Integrator has to verify that he has received the correct versions of the TOE documentation. The correctness of the TOE can be verified by checking the GET DATA APDU command response. For two of the four TOE configurations (Config 2 and 4) the Composite Product Integrator can authenticate himself by input of a PIN. This PIN is different from the cardholder Global PIN. The secure transfer of the PIN is handled as described in the preparational guidance under Key/PIN Delivery. This PIN (alphanumeric and/or numerical input possible) has to be chosen so that the strength of the authentication mechanism is adequate for the chosen use case (with a minimum of 6 bytes and a maximum of 16 bytes). For the other two of the four TOE configurations (Config 1 and 3) the Composite Product Integrator can authenticate himself by using either the SCP02 or SCP03 keys. The Composite Product Integrator delivers the customer specific personalization PIN (for TOE configuration 2 and 4) or the SCP02- and SCP03-based authentication keys (for TOE configuration 1 and 3) to the embedded SW developer or the HW manufacturer before TOE production. In order to verify that the user uses a certified TOE and certified configuration, the TOE can be identified using the means described in the guidance [12] chapter 7. The TOE can be identified using the command GET DATA. The configuration data is retrieved using 9 Alternatively to 4a 14 / 44 BSI-DSZ-CC-0868-2014 Certification Report GET DATA (80 CA 00 C8 06). All listed items below must have the following expected value(s) after TOE delivery: TOE Configuration Get Data Response Config 1 and Config 2 51 05 3E F6 Config 3 and Config 4 85 81 DC 32 Table 3: TOE configuration identification by get data and verify response status In order to verify that the user receives a certified TOE in the certified configuration, the TOE can be identified using the means described in the guidance [12] chp. 7. 3. Security Policy The Security Policy is expressed by the set of Security Functional Requirements and implemented by the TOE. It covers the following issues: The Security Policy of the TOE as a dual-interface, contact based or a pure contactless smart card with a JavaCard operating system (OS) is to provide basic security functionalities to be used by the smart card applications thus providing an overall smart card system security. The TOE implements physical and logical security functionality in order to protect user data stored and operated on the smartcard when used in a hostile environment. Hence the TOE maintains integrity and confidentiality of code and data stored in its memories and the different CPU modes with the related capabilities for configuration and memory access and for integrity, the correct operation and the confidentiality of security functionality provided by the TOE. Therefore the TOEs policy is to protect against malfunction, leakage, physical manipulation and probing. Besides, the TOE's life-cycle is supported as well as the user Identification whereas the abuse of functionality is prevented. Furthermore, random number generation as well as specific cryptographic services are being provided to be securely used by the smartcard embedded software. Specific details concerning the above mentioned security policies can be found in section 8 of the Security Target [7]. 4. Assumptions and Clarification of Scope The Assumptions defined in the Security Target and some aspects of Threats and Organisational Security Policies are not covered by the TOE itself. These aspects lead to specific security objectives to be fulfilled and measures to be taken by the IT environment the user or the risk manager of the applications. In particular the following security objectives for the environment have to be followed and considered (Security Target [6] and [7], chapter 6.2): • OE.APPLET: No applet loaded post-issuance shall contain native methods. • 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 in the PP [8] chp. 4.4 for details. Additionally, the applet shall follow all the 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 15 / 44 Certification Report BSI-DSZ-CC-0868-2014 provided by the platform developer in application development guidance. The constraints apply to all application code loaded in the platform (described in [12] chp. 3.1.5, Recommendations for maintaining the isolation property of the platform). • 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 Security Target. Application Note: For application code loaded post-issuance and verified off-card, the integrity and authenticity evidence is achieved by electronic signature of the application code, after code verification, by the actor who performed verification. Details can be found in the user guidance [11] and [12] chapters 5.1 and 5.2. 5. Architectural Information The global structure of the TOE is as shown in the Security Target [7] Figure 1. The TOE design adopts this structure and follows this approach by defining subsystems and modules. The subsystems again are logically grouped together and compose four subsystems of the TOE: APDU, Application Programmers Interface, Virtual Machine and Hardware platform (composite evaluation). For each subsystem, the TOE design breaks its structure further down into modules. However, this does not include the Hardware subsystem, since it is already covered by the underlying hardware certification. The following table shows the modules and subsystems defined by the TOE design: Subsystem Module Description APDU Applet Module Applet contains Issuer Security Domain applet and Security Domain applet according GlobalPlatform Card Specification GP [18]. APDU Dispatcher Module Dispatcher implements Transport Management including protocols T=0, T=1 (ISO7816) and T=CL (ISO14443). Thus it receives all APDU commands provided by CAD via APDU interface. Application Programmers Interface Javacard Module Javacard implements all functions required by the Java Card API Specification Application Programmers Interface Global Platform Module Global Platform implements content management functions according to GP [18] and chapter 11 of the Java Card Runtime Environment (JCRE) Specification to load packages, install applets and delete applets and packages. Content on card and additional information is managed in Registry as defined in GP. Additionally it defines interfaces which enable applets to provide and use the further services. 16 / 44 BSI-DSZ-CC-0868-2014 Certification Report Subsystem Module Description Virtual Machine Bytecode Interpreter Module Bytecode Interpreter implements Javacard Virtual Machine according to the Java Card Virtual Machine (JCVM) Specification. This includes: bytecodes as defined in chapter 7 of the JCVM Specification, Exception Handling as defined in chapter 7 of the JCVM Specification, Firewall checks as defined in chapter 6 of the JCRE Specification. Virtual Machine Memory Management Module Memory Management implements interfaces to copy data in memory providing tear save writing according the JCRE Specification HW - See platform certificate [13], [16] Table 4: Subsystems of the TOE For detail on the versions of the specification JCRE and JCVM please refer to the Security target. 6. Documentation The evaluated documentation as outlined in table 2 is being provided with the product to the customer. This documentation contains the required information for secure usage of the TOE in accordance with the Security Target. Additional obligations and notes for secure usage of the TOE as outlined in chapter 10 of this report have to be followed. 7. IT Product Testing The TOE, the composite smartcard product Sm@rtCafé® Expert 7.0 C1 was tested in all four configurations. The pin variants Config 2 (std_pin) and Config 4 (idconfig_scp03_pin) differ just in the PIN Authentication procedure at the beginning. So certain tests could be reused. There are two kinds of tests: System tests and simulator tests. The system tests are divided in system tests categories: • JCB tests: JCB is a proprietary script language to send APDU sequences to the card. The scripts will be interpreted by a JCTS (Java Card Test Suite). • TRex tests: TRex is a test framework which runs together with Eclipse and is used for system tests. • Secure Messaging tests. The Simulator tests are implemented as a module test suite, consisting of the following components: • A JUnit testsuite (called 'ModuleTestSuite') implements all module testing functionality. • Eclipse is used to implement and adapt, but also to control and debug the testsuite, allowing to start the complete testsuite, bundles of test classes (e.g. all JC-API tests), single test classes (e.g. all OwnerPin tests) and single test cases. 17 / 44 Certification Report BSI-DSZ-CC-0868-2014 • The Primerose module test suite uses Keil μVision IDE Simulation of different Smartcafe configurations as a test target. • The JUnit testsuite uses the javax.smartcardio library to send/receive APDUs from/to the Keil simulation and Keil's debug socket interface to control the simulation (start/stop, set breakpoints, read/write memory, etc.). TOE test configurations: • Tests were performed with different TOE configurations, i.e. with different TOE interfaces (contactless, contact based) as well as with the TOE simulator. • The TOE has been tested in the following configurations: C1: Config 1 (std_tcl); C2: Config 2 (std_pin); C3: Config 3 (Idconfig_scp03) and C4: Config 4 (Idconfig_scp03_pin). • Tests were done in different life-cycle phase (e.g. Global Platform life cycle states SECURED, OP_READY, etc.). Developer's Test according to ATE_FUN: Test approach: According to the description of the TSFI in the Functional Specification, the following kinds of APIs and TSFI were tested (Note that not all parts of the packages or interfaces are implemented): a) GlobalPlatform API (Package org.globalplatform), b) JavaCard API (Packages javacard.security, javacardx.crypto, javacard.framework), c) G&D Proprietary API (5 packages). d) Java Card Virtual Machine TSFI (a subset of the Java Card Virtual Machine (JCVM) Interface, i.e. all SFR relevant bytecodes), e) A subset of the Java Card Virtual Machine (JCVM) Interface, i.e. of all SRF relevant bytecodes, f) APDU Interface, g) Electrical Interface. Generally, two kinds of tests are differentiated, system tests and simulator tests (so called module tests). TOE configurations tested: According to the security target the TOE can be used in four different configurations as outlined in chaper 8 below. All configurations have been tested, whereby certain reuse of test results between the configuration could be made or where certain aspects of GP are not implemented. Test results: The tests mainly run automatically and perform all test steps including installation of test applets, test scripting, result checking and clean-up procedures. Test documentation including test case description, tests steps, expected and actual results are partially generated automatically. Actual results and details from test execution from Module testing can be gained from prepared logs. ATE_COV and ATE_DPT were taken into account and all mappings to interfaces and modules of the TOE are covered by the tests. The testing approach covers all TSFI as described in the functional specification and all subsystems and modules of the TOE design adequately. All configurations as described in the ST are covered. All test results collected in the test reports are as expected and in accordance with the TOE design and the desired TOE functionality. Independent Testing according to ATE_IND: Approach for independent testing: a) Examination of developer’s testing amount, depth and coverage analysis and of the developer’s test goals and plan for identification of gaps; b) Examination whether the TOE in its intended environment, is operating as specified using iterations of developer’s tests; c) Independent testing was performed at the 18 / 44 BSI-DSZ-CC-0868-2014 Certification Report Evaluation Body with the TOE developer test environment and additional Evaluation Body test equipment using tests applets, test scripts and simulation tools. TOE test configurations: Tests were performed with different TOE configurations, i.e. with different TOE interfaces (contactless, contact based) as well as with the TOE simulator. According to the security target the TOE can be used in four different configurations as outlined in chaper 8 below. All configurations have been considered,Tests were also done in different life-cycle phase (e.g. Global Platform life cycle states SECURED, OP_READY, etc.). Where the test samples used for repeating developer’s tests and for setting up evaluator created tests were not identical to final delivered TOE cards, these samples were brought in the state and configuration as desired and it was ensured that these tests apply to the final TOE, too. Subset size chosen: During sample testing of developer tests the evaluator chose to repeat all developer functional tests. During independent testing the evaluator used test applets and test scripts to invoke and test functionality given by the API and APDU interfaces. Interfaces tested: The selection criteria for the interfaces of the composed subset consider simply the security functionality that is available from these interfaces. Focus was laid upon interfaces that are in particular security sensitive for JavaCard platform, such as firewall mechanisms, atomic transactions, PIN mechanisms or key handling. The tested subset comprises the APDU and the API interfaces available to users. While the physical IC interface relies on the platform certification, the independent testing focussed on the APDU interface (based on the Global Platform specification) and the API interface (which provides packages from JavaCard API, Global Platform API and proprietary API). During the evaluator’s TSF subset testing the TOE operated as specified. No unexpected behaviour was observed, particularly related to different TOE configurations. The evaluator verified the developer’s test results by executing a sample of the developer’s tests and verifying the test log files for successful execution. Penetration Testing according to AVA_VAN: The TOE in different configurations covered by the current evaluation was assesed and tested. Penetration testing approach: Based on a list of potential vulnerabilities applicable to the TOE in its operational environment the evaluators devised the attack scenarios for penetration tests. The aspects of the security architecture described in ADV_ARC were considered for penetration testing as well as all other evaluation evidence. Source code reviews of the provided implementation representation accompanied the development of test cases and were used to find input for penetration testing. The code inspection also supported the testing activities because they enabled the evaluator to verify implementation aspects that could hardly be covered by test cases. In addition the evaluator applied tests and performed code reviews during the evaluation activity of composition tests to verify the implementation of the requirements imposed by the ETR for Composition and the guidance of the underlying platform. This ensured confidence in the security of the TOE as a whole. TOE test configurations: The evaluators used TOE samples for testing that were configured according to the ST. The tests were performed in different test scenarios: a) TOE smart cards tested using specialized test tools for smart cards, Java cards and for 19 / 44 Certification Report BSI-DSZ-CC-0868-2014 LFI testing; b) A simulator was used for test cases, which were not possible to perform with a real smart card TOE, e.g. memory manipulation; c) Different life-cycles and life-cycle management were tested. The overall test result is that no deviations were found between the expected and the actual test results. No attack scenario with the attack potential high was actually successful in the TOE’s operational environment as defined in Security Target [6] provided that all measures required by the developer are applied. 8. Evaluated Configuration The Security Target [6] has identified the following configurations of the TOE under evaluation. • Config 1: TOE is compliant to the GlobalPlatform Card Configuration [18], • Config 2: TOE is compliant to the GlobalPlatform Card Configuration [18] with authentication of the personalizer with the verify PIN command, • Config 3: TOE is compliant to the GlobalPlatform Card ID Configuration [19], • Config 4: TOE is compliant to the GlobalPlatform Card ID Configuration [19] with authentication of the personalizer with the verify PIN command. All configurations can either be installed on a dual-interface, contact based chip or on a pure contactless smart card platform (SCP). The User can identify the specific TOE configuration by the TOE response to a specific APDU, specified in the Operative Guidance Sm@rtCafé® Expert 7.0 C1. The TOE does not use the software libraries of the hardware platform, but provides cryptographic services by the G&D crypto library and enhanced G&D APIs. The Biometric API is not part of the TOE and can be part of the product or not. The different configurations can be differentiated through the GET DATA APDU command response status and the VERIFY APDU command response status. However the VERIFY APDU command is only functional in the personalisation phase. Therefore in the usage phase the configurations 1 and 2 and the configurations 3 and 4 are not distinguishable. See Table 3 for details. 9. Results of the Evaluation 9.1. CC specific results The Evaluation Technical Report (ETR) [9] was provided by the ITSEF according to the Common Criteria [1], the Methodology [2], the requirements of the Scheme [3] and all interpretations and guidelines of the Scheme (AIS) [4] as relevant for the TOE. The Evaluation Methodology CEM [2] was used for those components up to EAL 5 extended by advice of the Certification Body for components beyond EAL 5 and guidance specific for the technology of the product [4] (AIS 34). The TOE was subject to a composite evaluation according AIS 36 [4]. The platform certificate for the Integrated Circuit (IC) M7892 B11, certification ID BSI-DSZ-CC-0782-2012, was used ([13] to [16]). The following guidance specific for the technology was used: 20 / 44 BSI-DSZ-CC-0868-2014 Certification Report (i) Composite product evaluation for Smart Cards and similar devices (see AIS 36). According to this concept the relevant guidance documents of the underlying platform and the documents ETR for Composition from the platform evaluations have been applied in the TOE evaluation. (ii) Guidance for Smartcard Evaluation (iii) Application of Attack Potential to Smartcards (see AIS 26) For RNG assessment the scheme interpretations AIS 20 was used (see [4]). The concept „Collection of Developer Evidence” according to AIS 23 [4] was applied in the context of test coverage with a specific approach agreed with the certification body. A document ETR for composite evaluation according to AIS 36 has not been provided in the course of this certification procedure. It could be provided by the ITSEF and submitted to the certification body for approval subsequently if needed. As a result of the evaluation the verdict PASS is confirmed for the following assurance components: • All components of the EAL 5 package including the class ASE as defined in the CC (see also part C of this report) • The components ALC_DVS.2 and AVA_VAN.5 augmented for this TOE evaluation. The evaluation has confirmed: • PP Conformance: Java Card Protection Profile - Open Configuration, Version 3.0, May 2012, ANSSI-CC-PP-2010/03-M01 [8] • for the Functionality: PP conformant plus product specific extensions Common Criteria Part 2 extended • for the Assurance: Common Criteria Part 3 conformant, EAL 5 augmented by ALC_DVS.2 and AVA_VAN.5 For specific evaluation results regarding the development and production environment see annex B in part D of this report. The results of the evaluation are only applicable to the TOE as defined in chapter 2 and the configuration as outlined in chapter 8 above. 9.2. Results of cryptographic assessment The strength of the cryptographic algorithms was not rated in the course of this certification procedure (see BSIG Section 9, Para. 4, Clause 2). But Cryptographic Functionalities with a security level of lower than 100 bits can no longer be regarded as secure without considering the application context. Therefore, for these functionalities it shall be checked whether the related crypto operations are appropriate for the intended system. Some further hints and guidelines can be derived from the 'Technische Richtlinie BSI TR-02102' (https://www.bsi.bund.de). The table in annex C in part D of this report outlines the rating of the cryptographic mechanisms implemented in the TOE. Any cryptographic functionality that is marked in the column 'Security Level above 100 Bits' of that table with 'no' achieves a security level of lower than 100 Bits (in general context). 21 / 44 Certification Report BSI-DSZ-CC-0868-2014 10. Obligations and Notes for the Usage of the TOE The documents as outlined in table 2 contain necessary information about the usage of the TOE and all security hints therein have to be considered. In addition all aspects of Assumptions, Threats and OSPs as outlined in the Security Target not covered by the TOE itself need to be fulfilled by the operational environment of the TOE. The customer or user of the product shall consider the results of the certification within his system risk management process. In order for the evolution of attack methods and techniques to be covered, he should define the period of time until a re-assessment of the TOE is required and thus requested from the sponsor of the certificate. The limited validity for the usage of cryptographic algorithms as outlined in chapter 9 has to be considered by the user and his system risk management process. Some security measures are partly implemented in this certified TOE, but require additional configuration or control or measures to be implemented by a product layer on top using the TOE. For this reason the TOE includes guidance documentation (see table 2) which contains obligations and guidelines for the developer of the product layer on top on how to securely use this certified TOE and which measures have to be implemented in order to fulfil the security requirements of the Security Target of the TOE. In the course of the evaluation of the composite product or system it must be examined if the required measures have been correctly and effectively implemented by the product layer on top. 11. Security Target For the purpose of publishing, the Security Target [7] of the Target of Evaluation (TOE) is provided within a separate document as Annex A of this report. It is a sanitised version of the complete Security Target [6] used for the evaluation performed. Sanitisation was performed according to the rules as outlined in the relevant CCRA policy (see AIS 35 [4]). 12. Definitions 12.1. Acronyms AIS Application Notes and Interpretations of the Scheme API Application Programming Interface BSI Bundesamt für Sicherheit in der Informationstechnik / Federal Office for Information Security, Bonn, Germany BSIG BSI-Gesetz / Act on the Federal Office for Information Security CC Common Criteria for IT Security Evaluation CCRA Common Criteria Recognition Arrangement CEM Common Methodology for Information Technology Security Evaluation cPP Collaborative Protection Profile DAP Data Authentication pattern DLC Giesecke & Devrient Dienstleistungscenter EAL Evaluation Assurance Level ETR Evaluation Technical Report 22 / 44 BSI-DSZ-CC-0868-2014 Certification Report GDC Giesecke & Devrient Development Center GP Global Platform Specification IT Information Technology ITSEF Information Technology Security Evaluation Facility JCRE Java Card Runtime Environment JCS Java Card System JCVM Java Card Virtual Machine PP Protection Profile SAR Security Assurance Requirement SCP Smart Card Platform SFP Security Function Policy SFR Security Functional Requirement ST Security Target TOE Target of Evaluation TSF TOE Security Functionality 12.2. Glossary Augmentation - The addition of one or more requirement(s) to a package. Collaborative Protection Profile - A Protection Profile collaboratively developed by an International Technical Community endorsed by the Management Committee. Extension - The addition to an ST or PP of functional requirements not contained in CC part 2 and/or assurance requirements not contained in CC part 3. Formal - Expressed in a restricted syntax language with defined semantics based on well-established mathematical concepts. Informal - Expressed in natural language. Object - A passive entity in the TOE, that contains or receives information, and upon which subjects perform operations. Package - named set of either security functional or security assurance requirements Protection Profile - A formal document defined in CC, expressing an implementation independent set of security requirements for a category of IT Products that meet specific consumer needs. Security Target - An implementation-dependent statement of security needs for a specific identified TOE. Semiformal - Expressed in a restricted syntax language with defined semantics. Subject - An active entity in the TOE that performs operations on objects. Target of Evaluation - An IT Product and its associated administrator and user guidance documentation that is the subject of an Evaluation. TOE Security Functionality - Combined functionality of all hardware, software, and firmware of a TOE that must be relied upon for the correct enforcement of the SFRs. 23 / 44 Certification Report BSI-DSZ-CC-0868-2014 Deterministic (RNG) - An RNG that produces random numbers by applying a deterministic algorithm to a randomly selected seed and, possibly, on additional external inputs. Random number generator (RNG) - A group of components or an algorithm that outputs sequences of discrete values (usually represented as bit strings). True RNG - A device or mechanism for which the output values depend on some unpredictable source (noise source, entropy source) that produces entropy. 24 / 44 BSI-DSZ-CC-0868-2014 Certification Report 13. Bibliography [1] Common Criteria for Information Technology Security Evaluation, Version 3.1, Part 1: Introduction and general model, Revision 4, September 2012 Part 2: Security functional components, Revision 4, September 2012 Part 3: Security assurance components, Revision 4, September 2012 [2] Common Methodology for Information Technology Security Evaluation (CEM), Evaluation Methodology, Version 3.1, Rev. 4, September 2012 [3] BSI certification: Technical information on the IT security certification of products, protection profiles and sites (BSI 7138) and Requirements regarding the Evaluation Facility for the Evaluation of Products, Protection Profiles and Sites under the CC and ITSEC (BSI 7125) [4] Application Notes and Interpretations of the Scheme (AIS) as relevant for the TOE10 . [5] German IT Security Certificates (BSI 7148), periodically updated list published also in the BSI Website [6] Security Target Sm@rtCafé® Expert 7.0, Version 3.8, 11 December 2014, BSI-DSZ-CC-0868-2014, Giesecke & Devrient GmbH (confidential document) [7] Security Target Sm@rtCafé® Expert 7.0, Version 3.6, 11 December 2014, BSI-DSZ-CC-0868-2014, Giesecke & Devrient GmbH (sanitised public document) [8] Common Criteria Java Card Protection Profile - Open Configuration, Version 3.0, May 2012, ANSSI-CC-PP-2010/03-M01 [9] Evaluation Technical Report, Version 2, 11 December 2014, for Sm@rtCafé® Expert 7.0 C1, BSI-DSZ-CC-0868-2014, TÜViT GmbH and Evaluation Technical Report Summary Errata Statement, Version 1, 15 December 2014, for Sm@rtCafé® Expert 7.0 C1, BSI-DSZ-CC-0868-2014, TÜViT GmbH (confidential documents) 10 specifically • AIS 1, Version 13, Durchführung der Ortsbesichtigung in der Entwicklungsumgebung des Herstellers • AIS 20, Version 3, Funktionalitätsklassen und Evaluationsmethodologie für deterministische Zufallszahlengeneratoren • AIS 23, Version 3, Zusammentragen von Nachweisen der Entwickler • AIS 25, Version 8, Anwendung der CC auf Integrierte Schaltungen including JIL Document and CC Supporting Document • AIS 26, Version 9, Evaluationsmethodologie für in Hardware integrierte Schaltungen including JIL Document and CC Supporting Document • AIS 32, Version 7, CC-Interpretationen im deutschen Zertifizierungsschema • AIS 34, Version 3, Evaluation Methodology for CC Assurance Classes for EAL 5+ (CCv2.3 & CCv3.1) and EAL 6 (CCv3.1) • AIS 35, Version 2, Öffentliche Fassung des Security Targets (ST-Lite) including JIL Document and CC Supporting Document and CCRA policies • AIS 36, Version 4, Kompositionsevaluierung including JIL Document and CC Supporting Document • AIS 46, Version 3, Informationen zur Evaluierung von kryptographischen Algorithmen und ergänzende Hinweise für die Evaluierung von Zufallszahlengeneratoren • AIS 47, Version 1.1, Regelungen zu Site Certification 25 / 44 Certification Report BSI-DSZ-CC-0868-2014 [10] Configuration List SmartCafe Expert 7.0 C1, Version 2.4, 11 December 2014, BSI-DSZ-CC-0868-2014, Giesecke & Devrient GmbH (confidential document) [11] Preparative Procedures Sm@rtCafé® Expert 7.0, Version 1.6, Giesecke & Devrient GmbH [12] Operational User Guidance Sm@rtCafé® Expert 7.0, Version 2.3, Giesecke & Devrient GmbH [13] Certification Report – for Infineon Security Controller M7892 B11 with optional RSA2048/4096 v1.02.013, EC v1.02.013, SHA-2 v1.01 and Toolbox v1.02.013 libraries and with specific IC dedicated software (firmware), 11 September 2012, BSI-DSZ-CC-0782, BSI [14] ETR for Composition (ETR-COMP), M7892 B11, BSI-DSZ-CC-0782, Version 5, 20 March 2014, TÜViT (confidential document) [15] SLx 70 Family Production and Personalization User’s Manual, Revision 2012-06-27, Infineon Technologies AG [16] Security Target Lite M7892 B11 including optional Software Libraries RSA – EC – SHA-2 – Toolbox, Version 1.1, 2012-08-28, Infineon Technologies AG [17] Technische Richtlinie BSI TR-02102-1, Kryptographische Verfahren: Empfehlungen und Schlüssellängen, Version 2014-01, 10.2.2014, BSI, https://www.bsi.bund.de/TR [18] GlobalPlatform Card Specification Version 2.2.1, January 2011 [19] GlobalPlatform Card ID Configuration, Version 1.0 Member Release, December 2011, Document Reference: GPC_GUI_039 26 / 44 BSI-DSZ-CC-0868-2014 Certification Report C. Excerpts from the Criteria CC Part 1: Conformance Claim (chapter 10.4) “The conformance claim indicates the source of the collection of requirements that is met by a PP or ST that passes its evaluation. This conformance claim contains a CC conformance claim that: ● describes the version of the CC to which the PP or ST claims conformance. ● describes the conformance to CC Part 2 (security functional requirements) as either: – CC Part 2 conformant - A PP or ST is CC Part 2 conformant if all SFRs in that PP or ST are based only upon functional components in CC Part 2, or – CC Part 2 extended - A PP or ST is CC Part 2 extended if at least one SFR in that PP or ST is not based upon functional components in CC Part 2. ● describes the conformance to CC Part 3 (security assurance requirements) as either: – CC Part 3 conformant - A PP or ST is CC Part 3 conformant if all SARs in that PP or ST are based only upon assurance components in CC Part 3, or – CC Part 3 extended - A PP or ST is CC Part 3 extended if at least one SAR in that PP or ST is not based upon assurance components in CC Part 3. Additionally, the conformance claim may include a statement made with respect to packages, in which case it consists of one of the following: ● Package name Conformant - A PP or ST is conformant to a pre-defined package (e.g. EAL) if: – the SFRs of that PP or ST are identical to the SFRs in the package, or – the SARs of that PP or ST are identical to the SARs in the package. ● Package name Augmented - A PP or ST is an augmentation of a predefined package if: – the SFRs of that PP or ST contain all SFRs in the package, but have at least one additional SFR or one SFR that is hierarchically higher than an SFR in the package. – the SARs of that PP or ST contain all SARs in the package, but have at least one additional SAR or one SAR that is hierarchically higher than an SAR in the package. Note that when a TOE is successfully evaluated to a given ST, any conformance claims of the ST also hold for the TOE. A TOE can therefore also be e.g. CC Part 2 conformant. Finally, the conformance claim may also include two statements with respect to Protection Profiles: ● PP Conformant - A PP or TOE meets specific PP(s), which are listed as part of the conformance result. ● Conformance Statement (Only for PPs) - This statement describes the manner in which PPs or STs must conform to this PP: strict or demonstrable. For more information on this Conformance Statement, see Annex D.” 27 / 44 Certification Report BSI-DSZ-CC-0868-2014 CC Part 3: Class APE: Protection Profile evaluation (chapter 10) “Evaluating a PP is required to demonstrate that the PP is sound and internally consistent, and, if the PP is based on one or more other PPs or on packages, that the PP is a correct instantiation of these PPs and packages. These properties are necessary for the PP to be suitable for use as the basis for writing an ST or another PP. Assurance Class Assurance Components Class APE: Protection Profile evaluation APE_INT.1 PP introduction APE_CCL.1 Conformance claims APE_SPD.1 Security problem definition APE_OBJ.1 Security objectives for the operational environment APE_OBJ.2 Security objectives APE_ECD.1 Extended components definition APE_REQ.1 Stated security requirements APE_REQ.2 Derived security requirements APE: Protection Profile evaluation class decomposition” Class ASE: Security Target evaluation (chapter 11) “Evaluating an ST is required to demonstrate that the ST is sound and internally consistent, and, if the ST is based on one or more PPs or packages, that the ST is a correct instantiation of these PPs and packages. These properties are necessary for the ST to be suitable for use as the basis for a TOE evaluation.” Assurance Class Assurance Components Class ASE: Security Target evaluation ASE_INT.1 ST introduction ASE_CCL.1 Conformance claims ASE_SPD.1 Security problem definition ASE_OBJ.1 Security objectives for the operational environment ASE_OBJ.2 Security objectives ASE_ECD.1 Extended components definition ASE_REQ.1 Stated security requirements ASE_REQ.2 Derived security requirements ASE_TSS.1 TOE summary specification ASE_TSS.2 TOE summary specification with architectural design summary ASE: Security Target evaluation class decomposition 28 / 44 BSI-DSZ-CC-0868-2014 Certification Report Security assurance components (chapter 7) “The following Sections describe the constructs used in representing the assurance classes, families, and components.“ “Each assurance class contains at least one assurance family.” “Each assurance family contains one or more assurance components.” The following table shows the assurance class decomposition. Assurance Class Assurance Components ADV: Development ADV_ARC.1 Security architecture description ADV_FSP.1 Basic functional specification ADV_FSP.2 Security-enforcing functional specification ADV_FSP.3 Functional specification with complete summary ADV_FSP.4 Complete functional specification ADV_FSP.5 Complete semi-formal functional specification with additional error information ADV_FSP.6 Complete semi-formal functional specification with additional formal specification ADV_IMP.1 Implementation representation of the TSF ADV_IMP.2 Implementation of the TSF ADV_INT.1 Well-structured subset of TSF internals ADV_INT.2 Well-structured internals ADV_INT.3 Minimally complex internals ADV_SPM.1 Formal TOE security policy model ADV_TDS.1 Basic design ADV_TDS.2 Architectural design ADV_TDS.3 Basic modular design ADV_TDS.4 Semiformal modular design ADV_TDS.5 Complete semiformal modular design ADV_TDS.6 Complete semiformal modular design with formal high-level design presentation AGD: Guidance documents AGD_OPE.1 Operational user guidance AGD_PRE.1 Preparative procedures ALC: Life cycle support ALC_CMC.1 Labelling of the TOE ALC_CMC.2 Use of a CM system ALC_CMC.3 Authorisation controls ALC_CMC.4 Production support, acceptance procedures and automation ALC_CMC.5 Advanced support ALC_CMS.1 TOE CM coverage ALC_CMS.2 Parts of the TOE CM coverage ALC_CMS.3 Implementation representation CM coverage ALC_CMS.4 Problem tracking CM coverage ALC_CMS.5 Development tools CM coverage ALC_DEL.1 Delivery procedures ALC_DVS.1 Identification of security measures ALC_DVS.2 Sufficiency of security measures ALC_FLR.1 Basic flaw remediation ALC_FLR.2 Flaw reporting procedures ALC_FLR.3 Systematic flaw remediation ALC_LCD.1 Developer defined life-cycle model 29 / 44 Certification Report BSI-DSZ-CC-0868-2014 Assurance Class Assurance Components ALC_LCD.2 Measurable life-cycle model ALC_TAT.1 Well-defined development tools ALC_TAT.2 Compliance with implementation standards ALC_TAT.3 Compliance with implementation standards - all parts ATE: Tests ATE_COV.1 Evidence of coverage ATE_COV.2 Analysis of coverage ATE_COV.3 Rigorous analysis of coverage ATE_DPT.1 Testing: basic design ATE_DPT.2 Testing: security enforcing modules ATE_DPT.3 Testing: modular design ATE_DPT.4 Testing: implementation representation ATE_FUN.1 Functional testing ATE_FUN.2 Ordered functional testing ATE_IND.1 Independent testing – conformance ATE_IND.2 Independent testing – sample ATE_IND.3 Independent testing – complete AVA: Vulnerability assessment AVA_VAN.1 Vulnerability survey AVA_VAN.2 Vulnerability analysis AVA_VAN.3 Focused vulnerability analysis AVA_VAN.4 Methodical vulnerability analysis AVA_VAN.5 Advanced methodical vulnerability analysis Assurance class decomposition Evaluation assurance levels (chapter 8) “The Evaluation Assurance Levels (EALs) provide an increasing scale that balances the level of assurance obtained with the cost and feasibility of acquiring that degree of assurance. The CC approach identifies the separate concepts of assurance in a TOE at the end of the evaluation, and of maintenance of that assurance during the operational use of the TOE. It is important to note that not all families and components from CC Part 3 are included in the EALs. This is not to say that these do not provide meaningful and desirable assurances. Instead, it is expected that these families and components will be considered for augmentation of an EAL in those PPs and STs for which they provide utility.” Evaluation assurance level (EAL) overview (chapter 8.1) “Table 1 represents a summary of the EALs. The columns represent a hierarchically ordered set of EALs, while the rows represent assurance families. Each number in the resulting matrix identifies a specific assurance component where applicable. As outlined in the next Section, seven hierarchically ordered evaluation assurance levels are defined in the CC for the rating of a TOE's assurance. They are hierarchically ordered inasmuch as each EAL represents more assurance than all lower EALs. The increase in assurance from EAL to EAL is accomplished by substitution of a hierarchically higher assurance component from the same assurance family (i.e. increasing rigour, scope, and/or depth) and from the addition of assurance components from other assurance families (i.e. adding new requirements). These EALs consist of an appropriate combination of assurance components as described in Chapter 7 of this CC Part 3. More precisely, each EAL includes no more than one 30 / 44 BSI-DSZ-CC-0868-2014 Certification Report component of each assurance family and all assurance dependencies of every component are addressed. While the EALs are defined in the CC, it is possible to represent other combinations of assurance. Specifically, the notion of “augmentation” allows the addition of assurance components (from assurance families not already included in the EAL) or the substitution of assurance components (with another hierarchically higher assurance component in the same assurance family) to an EAL. Of the assurance constructs defined in the CC, only EALs may be augmented. The notion of an “EAL minus a constituent assurance component” is not recognised by the standard as a valid claim. Augmentation carries with it the obligation on the part of the claimant to justify the utility and added value of the added assurance component to the EAL. An EAL may also be augmented with extended assurance requirements. Evaluation assurance level 1 (EAL 1) - functionally tested (chapter 8.3) “Objectives EAL 1 is applicable where some confidence in correct operation is required, but the threats to security are not viewed as serious. It will be of value where independent assurance is required to support the contention that due care has been exercised with respect to the protection of personal or similar information. EAL 1 requires only a limited security target. It is sufficient to simply state the SFRs that the TOE must meet, rather than deriving them from threats, OSPs and assumptions through security objectives. EAL 1 provides an evaluation of the TOE as made available to the customer, including independent testing against a specification, and an examination of the guidance documentation provided. It is intended that an EAL 1 evaluation could be successfully conducted without assistance from the developer of the TOE, and for minimal outlay. An evaluation at this level should provide evidence that the TOE functions in a manner consistent with its documentation.” Evaluation assurance level 2 (EAL 2) - structurally tested (chapter 8.4) “Objectives EAL 2 requires the co-operation of the developer in terms of the delivery of design information and test results, but should not demand more effort on the part of the developer than is consistent with good commercial practise. As such it should not require a substantially increased investment of cost or time. EAL 2 is therefore applicable in those circumstances where developers or users require a low to moderate level of independently assured security in the absence of ready availability of the complete development record. Such a situation may arise when securing legacy systems, or where access to the developer may be limited.” Evaluation assurance level 3 (EAL 3) - methodically tested and checked (chapter 8.5) “Objectives EAL 3 permits a conscientious developer to gain maximum assurance from positive security engineering at the design stage without substantial alteration of existing sound development practises. 31 / 44 Certification Report BSI-DSZ-CC-0868-2014 EAL 3 is applicable in those circumstances where developers or users require a moderate level of independently assured security, and require a thorough investigation of the TOE and its development without substantial re-engineering.” Evaluation assurance level 4 (EAL 4) - methodically designed, tested, and reviewed (chapter 8.6) “Objectives EAL 4 permits a developer to gain maximum assurance from positive security engineering based on good commercial development practises which, though rigorous, do not require substantial specialist knowledge, skills, and other resources. EAL 4 is the highest level at which it is likely to be economically feasible to retrofit to an existing product line. EAL 4 is therefore applicable in those circumstances where developers or users require a moderate to high level of independently assured security in conventional commodity TOEs and are prepared to incur additional security-specific engineering costs.” Evaluation assurance level 5 (EAL 5) - semiformally designed and tested (chapter 8.7) “Objectives EAL 5 permits a developer to gain maximum assurance from security engineering based upon rigorous commercial development practises supported by moderate application of specialist security engineering techniques. Such a TOE will probably be designed and developed with the intent of achieving EAL 5 assurance. It is likely that the additional costs attributable to the EAL 5 requirements, relative to rigorous development without the application of specialised techniques, will not be large. EAL 5 is therefore applicable in those circumstances where developers or users require a high level of independently assured security in a planned development and require a rigorous development approach without incurring unreasonable costs attributable to specialist security engineering techniques.” Evaluation assurance level 6 (EAL 6) - semiformally verified design and tested (chapter 8.8) “Objectives EAL 6 permits developers to gain high assurance from application of security engineering techniques to a rigorous development environment in order to produce a premium TOE for protecting high value assets against significant risks. EAL 6 is therefore applicable to the development of security TOEs for application in high risk situations where the value of the protected assets justifies the additional costs.” Evaluation assurance level 7 (EAL 7) - formally verified design and tested (chapter 8.9) “Objectives EAL 7 is applicable to the development of security TOEs for application in extremely high risk situations and/or where the high value of the assets justifies the higher costs. Practical application of EAL 7 is currently limited to TOEs with tightly focused security functionality that is amenable to extensive formal analysis.” 32 / 44 BSI-DSZ-CC-0868-2014 Certification Report Assurance Class Assurance Family Assurance Components by Evaluation Assurance Level EAL 1 EAL 2 EAL 3 EAL 4 EAL 5 EAL 6 EAL 7 Development ADV_ARC 1 1 1 1 1 1 ADV_FSP 1 2 3 4 5 5 6 ADV_IMP 1 1 2 2 ADV_INT 2 3 3 ADV_SPM 1 1 ADV_TDS 1 2 3 4 5 6 Guidance Documents AGD_OPE 1 1 1 1 1 1 1 AGD_PRE 1 1 1 1 1 1 1 Life cycle Support ALC_CMC 1 2 3 4 4 5 5 ALC_CMS 1 2 3 4 5 5 5 ALC_DEL 1 1 1 1 1 1 ALC_DVS 1 1 1 2 2 ALC_FLR ALC_LCD 1 1 1 1 2 ALC_TAT 1 2 3 3 Security Target Evaluation ASE_CCL 1 1 1 1 1 1 1 ASE_ECD 1 1 1 1 1 1 1 ASE_INT 1 1 1 1 1 1 1 ASE_OBJ 1 2 2 2 2 2 2 ASR_REQ 1 2 2 2 2 2 2 ASE_SPD 1 1 1 1 1 1 ASE_TSS 1 1 1 1 1 1 1 Tests ATE_COV 1 2 2 2 3 3 ATE_DPT 1 1 3 3 4 ATE_FUN 1 1 1 1 2 2 ATE_IND 1 2 2 2 2 2 3 Vulnerability assessment AVA_VAN 1 2 2 3 4 5 5 Table 1: Evaluation assurance level summary” 33 / 44 Certification Report BSI-DSZ-CC-0868-2014 Class AVA: Vulnerability assessment (chapter 16) “The AVA: Vulnerability assessment class addresses the possibility of exploitable vulnerabilities introduced in the development or the operation of the TOE.” Vulnerability analysis (AVA_VAN) (chapter 16.1) “Objectives Vulnerability analysis is an assessment to determine whether potential vulnerabilities identified, during the evaluation of the development and anticipated operation of the TOE or by other methods (e.g. by flaw hypotheses or quantitative or statistical analysis of the security behaviour of the underlying security mechanisms), could allow attackers to violate the SFRs. Vulnerability analysis deals with the threats that an attacker will be able to discover flaws that will allow unauthorised access to data and functionality, allow the ability to interfere with or alter the TSF, or interfere with the authorised capabilities of other users.” 34 / 44 BSI-DSZ-CC-0868-2014 Certification Report D. Annexes List of annexes of this certification report Annex A: Security Target provided within a separate document. Annex B: Evaluation results regarding development and production environment Annex C: Rating of cryptographic mechanisms implemented in the TOE 35 / 44 Certification Report BSI-DSZ-CC-0868-2014 This page is intentionally left blank. 36 / 44 BSI-DSZ-CC-0868-2014 Certification Report Annex B of Certification Report BSI-DSZ-CC-0868-2014 Evaluation results regarding development and production environment The IT product Sm@rtCafé® Expert 7.0 C1, (Target of Evaluation, TOE) has been evaluated at an approved evaluation facility using the Common Methodology for IT Security Evaluation (CEM), Version 3.1 extended by advice of the Certification Body for components beyond EAL 5 and guidance specific for the technology of the product for conformance to the Common Criteria for IT Security Evaluation (CC), Version 3.1. As a result of the TOE certification, dated 22 December 2014, the following results regarding the development and production environment apply. The Common Criteria assurance requirements ALC – Life cycle support (i.e. ALC_CMC.4, ALC_CMS.5, ALC_DEL.1, ALC_DVS.2, ALC_LCD.1, ALC_TAT.2) are fulfilled for the development and production sites of the TOE listed below: a) Giesecke & Devrient Development Center, Zamdorfer Strasse 88, 81677 München, Germany (Development/Testing) b) Giesecke & Devrient Dienstleistungscenter (Production Site), Prinzregentenstrasse 159, 81677 München, Germany (Production) c) For development and production sites regarding the platform please refer to the certification reports BSI-DSZ-CC-0782 [13] For the sites listed above, the requirements have been specifically applied in accordance with the Security Target [6]. The evaluators verified, that the threats, security objectives and requirements for the TOE life cycle phases up to delivery (as stated in the Security Target [6] and [7]) are fulfilled by the procedures of these sites. 37 / 44 Certification Report BSI-DSZ-CC-0868-2014 This page is intentionally left blank. 38 / 44 BSI-DSZ-CC-0868-2014 Certification Report Annex C of Certification Report BSI-DSZ-CC-0868-2014 Rating of cryptographic mechanisms implemented in the TOE No. Purpose Cryptographic Mechanism Standard of Implementation Key Size in Bits Sec. Level abov e 100 Bits Comments 1. Authenticity RSA signature verification using SHA-1 (RSASSA-PKCS1-v1 _5) [RFC3447] (RSA), [FIPS180-4] (SHA) moduluslength= 1024 - 2048 no FCO_NRO.2 .1/CM [ST, 8.1.5] (DAP-Verific ation, [GP], App. C.2, C.3, C.6) 2. Authenticity 3DES in Retail-MAC mode using SHA-1 [FIPS 46-3] (3DES), [ISO9797-1] (Retail-MAC), FIPS180-4] (SHA) |k|=112 no FCO_NRO.2 .1/CM [ST, 8.1.5] (DAP-Verific ation [GP], App. C.2, C.3, C.6) 3. Authentication 3-DES in CBC mode [FIPS 46-3] (3DES), [SP800-38A] (CBC) |k|=112, |host- challenge|=64, |card-challenge| =48 no [GP], App. E.4.2 4. Authentication KDF in counter mode with CMAC as PRF [SP 800-108] (KDF), [SP800-38B] (CMAC) |k|=128, |host- challenge|= |card-challenge| =64 no11 [GP_AM_D], sec. 6.2.2.2, 6.2.2.3, 4.1.5 5. Key Agreement 3-DES in CBC mode with ICV=0 [FIPS 46-3] (3DES), [SP800-38A] (CBC) |k|=112 no [GP], App. E.4.1 6. Key derivation KDF in counter mode with CMAC as PRF [SP 800-108] (KDF), [SP800-38B] (CMAC) |k|=128 yes [GP_AM_D], sec. 6.2.1 7. Confidentiality 3-DES in CBC mode [FIPS 46-3] (3DES), [SP800-38A] (CBC) |k|=112 no [GP], App. E.3.4, E.4.2 8. Confidentiality AES in CBC mode [FIPS 197] (AES), [SP800-38A] (CBC) |k|=128 yes [GP_AM_D], sec. 4.1.2, 6.2.6, 6.2.7 11 Because of challenge length 39 / 44 Certification Report BSI-DSZ-CC-0868-2014 No. Purpose Cryptographic Mechanism Standard of Implementation Key Size in Bits Sec. Level abov e 100 Bits Comments 9. Integrity 3DES in Retail-MAC mode [FIPS 46-3] (3DES), [ISO9797-1] (Retail-MAC) |k|=112 no [GP], App. E.4.4 (on unmodified and modified APDU), E.4.5 10. Integrity AES in CBC-MAC and CMAC mode truncated to 64 bits [FIPS 197] (AES), [SP800-38B] (CMAC) |k|=128 no12 [GP_AM_D], sec. 6.2.4, 6.2.5 11. Trusted Channel SCP02 [GP], App. E1 additionally cf. lines 3, 5, 7, 9 no [GP], App. E1, supported parameter 'i': 15, 55 [FSP, 4.3.2] 12. Trusted Channel SCP03 [GP_AM_D] additionally cf. lines 4, 6, 8, 10 no13 [GP_AM_D], supported parameter 'i': 10,30, 70 [FSP, 4.3.2] 13. Cryptographic Primitive SHA-1 [FIPS180-4] (SHA) None no - 14. Cryptographic Primitive SHA-{224, 256, 384, 512} [FIPS180-4] (SHA) None yes - 15. Cryptographic Primitive 3-DES in ECB mode [FIPS 46-3] (3DES), [SP800-38A] (ECB) |k|=112, 168 no - 16. Cryptographic Primitive 3-DES in CBC mode [FIPS 46-3] (3DES), [SP800-38A] (CBC) |k|=112 no - 17. Cryptographic Primitive 3-DES in CBC mode [FIPS 46-3] (3DES), [SP800-38A] (CBC) |k|=168 yes - 18. Cryptographic Primitive 3DES in CBC-MAC and Retail-MAC mode [FIPS 46-3] (3DES), [ISO9797-1] (CBC-MAC, Retail-MAC) |k|=112 no - 12 Because of truncation 13 Only because of authentication and integrity 40 / 44 BSI-DSZ-CC-0868-2014 Certification Report No. Purpose Cryptographic Mechanism Standard of Implementation Key Size in Bits Sec. Level abov e 100 Bits Comments 19. Cryptographic Primitive 3DES in CBC-MAC and Retail-MAC mode [FIPS 46-3] (3DES), [ISO9797-1] (CBC-MAC, Retail-MAC) |k|=168 yes - 20. Cryptographic Primitive AES in ECB mode [FIPS 197] (AES), [SP800-38A] (ECB) |k|=128, 192, 256 no - 21. Cryptographic Primitive AES in CBC mode [FIPS 197] (AES), [SP800-38A] (CBC) |k|=128, 192, 256 yes - 22. Cryptographic Primitive AES in CBC-MAC and CMAC mode [FIPS 197] (AES), [ISO9797-1] (CBC-MAC), [SP800-38B] (CMAC) |k|=128, 192, 256 yes - 23. Cryptographic Primitive RSA encryption and decryption with encoding (RSAES-PKCS1-v1_ 5) and without encoding (RSASP1,RSAVP1) [RFC3447] (RSA) moduluslength= 512 - 1975 no - 24. Cryptographic Primitive RSA encryption and decryption with encoding (RSAES-PKCS1-v1_ 5) and without encoding (RSASP1,RSAVP1) [RFC3447] (RSA) moduluslength= 1976 - 2048 yes - 25. Cryptographic Primitive RSA-CRT decryption with encoding (RSAES-PKCS1-v1_ 5) and without encoding (RSASP1,RSAVP1) [RFC3447] (RSA) moduluslength= 512 - 1975 no - 26. Cryptographic Primitive RSA-CRT decryption with encoding (RSAES-PKCS1-v1_ 5) and without encoding (RSASP1,RSAVP1) [RFC3447] (RSA) moduluslength= 1976 - 4096 yes - 41 / 44 Certification Report BSI-DSZ-CC-0868-2014 No. Purpose Cryptographic Mechanism Standard of Implementation Key Size in Bits Sec. Level abov e 100 Bits Comments 27. Cryptographic Primitive RSA signature generation according scheme 1 of [ISO9796-2] chapter 8.2 and [RSA] (RSASSA-PKCS1-v1 5) chapter 8 using SHA-{1} [RFC3447] (RSA), [FIPS180-4] (SHA) moduluslength= 512 - 2048 no - 28. Cryptographic Primitive RSA signature generation according scheme 1 of [ISO9796-2] chapter 8.2 and [RSA] (RSASSA-PKCS1-v1 5) chapter 8 using SHA-{224, 256, 384, 512} [RFC3447] (RSA), [FIPS180-4] (SHA) moduluslength= 512 - 1975 no - 29. Cryptographic Primitive RSA signature generation according scheme 1 of [ISO9796-2] chapter 8.2 and [RSA] (RSASSA-PKCS1-v1 5) chapter 8 using SHA-{224, 256, 384, 512} [RFC3447] (RSA), [FIPS180-4] (SHA) moduluslength= 1976 - 2048 yes - 30. Cryptographic Primitive RSA-CRT signature generation with encoding scheme 1 of [ISO9796-2] chapter 8 and [RSA] (RSASSA-PKCS1-v1 5) chapter 8 using SHA-{1, 224, 256, 384, 512} [RFC3447] (RSA), [FIPS180-4] (SHA) moduluslength= 512 - 1975 no - 31. Cryptographic Primitive RSA-CRT signature generation according scheme 1 of [ISO9796-2] chapter 8 and [RSA] (RSASSA-PKCS1-v1 5) chapter 8 using SHA-1 [RFC3447] (RSA), [FIPS180-4] (SHA) moduluslength= 1976 - 4096 no - 42 / 44 BSI-DSZ-CC-0868-2014 Certification Report No. Purpose Cryptographic Mechanism Standard of Implementation Key Size in Bits Sec. Level abov e 100 Bits Comments 32. Cryptographic Primitive RSA-CRT signature generation according scheme 1 of [ISO9796-2] chapter 8 and [RSA] (RSASSA-PKCS1-v1 5) chapter 8 using SHA-{224, 256, 384, 512} [RFC3447] (RSA), [FIPS180-4] (SHA) moduluslength= 1976 - 4096 yes - 33. Cryptographic Primitive RSA signature verification according scheme 1 of [ISO9796-2] chapter 8.2 and [RSA] (RSASSA-PKCS1-v1 5) chapter 8 using SHA-{1, 224, 256, 384, 512} [RFC3447] (RSA), [FIPS180-4] (SHA) moduluslength= 512 - 1975 no - 34. Cryptographic Primitive RSA signature verification according scheme 1 of [ISO9796-2] chapter 8.2 and [RSA] (RSASSA-PKCS1-v1 5) chapter 8 using SHA-1 [RFC3447] (RSA), [FIPS180-4] (SHA) moduluslength= 1976 - 2048 no - 35. Cryptographic Primitive RSA signature verification according scheme 1 of [ISO9796-2] chapter 8.2 and [RSA] (RSASSA-PKCS1-v1 5) chapter 8 using SHA-{224, 256, 384, 512} [RFC3447] (RSA), [FIPS180-4] (SHA) moduluslength= 1976 - 2048 yes - 36. Cryptographic Primitive ECDSA signature generation and verification [TR-03111] (ECDSA) Key sizes corresponding to the used elliptic curves secp{160,192}r1 [SEC2] and brainpoolP{160, 192}r1 ] and brainpoolP{160, 192}t1 [RFC5639] no - 43 / 44 Certification Report BSI-DSZ-CC-0868-2014 No. Purpose Cryptographic Mechanism Standard of Implementation Key Size in Bits Sec. Level abov e 100 Bits Comments 37. Cryptographic Primitive ECDSA signature generation and verification [TR-03111] (ECDSA) Key sizes corresponding to the used elliptic curves secp{224,256,32 0, 384, 521}r1 [SEC2] and brainpoolP{224, 256,320,384,512 }r1 and brainpoolP{224, 256,320,384,512 }t1 [RFC5639] yes - Table 5: TOE cryptographic functionality14 14 Technical references related to Table 5 [TR-03111] Technical Guideline TR-03111 Elliptic Curve Cryptography, TR-03111, version 2.0, 28.06.2012, Bundesamt für Sicherheit in der Informationstechnik (BSI) [FIPS46-3] Federal Information Processing Standards Publication 46-3: Data Encryption Standard (DES), U.S. Department of Commerce / National Institute of Standards and Technology, reaffirmed October 25th, 1999 [FIPS180-4] Federal Information Processing Standards Publication FIPS PUB 180-4, Secure Hash Standard (SHS), March 2012, Information Technology Laboratory National Institute of Standards and Technology. [FIPS197] Federal Information Processing Standards Publication 197, November 26, 2001, Announcing the ADVANCED ENCRYPTION STANDARD (AES), National Institute of Standards and Technology. [ISO9796-2] ISO/IEC9796-2 Information technology — Security techniques — Digital signature schemes giving message recovery — Part 2: Integer factorization based mechanisms, Second edition 2002-10-0, ISO/IEC. [ISO_9797-1] Information technology - Security techniques - Message Authentication Codes (MACs) - Part 1: Mechanisms using a block cipher, 1999-12, ISO/IEC. [RFC3447] RFC 3447 Public-Key Cryptography Standards (PKCS) #1: RSA Cryptography Specifications Version 2.1, February 2003 — available at: http://www.rfc-base.org/rfc-3447.html [RFC5639] RFC 5639 ECC Brainpool Standard Curves & Curve Generation, March 2010 — available at: http://tools.ietf.org/html/rfc5639 [GP] GlobalPlatform Card Specification Version 2.2.1, January 2011 [GP_AM_D] GlobalPlatform Card Technology, Secure Channel Protocol 03, Card Specification v 2.2 – Amendment D, Version 1.1, September 2009 [SP800-38A] NIST. Recommendation for Block Cipher Modes of Operation: Methods and Techniques, Special Publication SP800-38A, National Institute of Standards and Technology, Technology Administration, U.S. Department of Commerce, 2001. [SP800-38B] NIST. Recommendation for Block Cipher Modes of Operation: The CMAC Mode for Authentication, Special Publication SP800-38B, National Institute of Standards and Technology, Technology Administration, U.S. Department of Commerce, 2005. 44 / 44