GP TechnicalNoteCryptoAlgorithmRecs v2.0 PublicRelease
GP TechnicalNoteCryptoAlgorithmRecs v2.0 PublicRelease
Public Release
June 2021
Document Reference: GP_TEN_053
THIS SPECIFICATION OR OTHER WORK PRODUCT IS BEING OFFERED WITHOUT ANY WARRANTY
WHATSOEVER, AND IN PARTICULAR, ANY WARRANTY OF NON-INFRINGEMENT IS EXPRESSLY
DISCLAIMED. ANY IMPLEMENTATION OF THIS SPECIFICATION OR OTHER WORK PRODUCT SHALL
BE MADE ENTIRELY AT THE IMPLEMENTER’S OWN RISK, AND NEITHER THE COMPANY, NOR ANY
OF ITS MEMBERS OR SUBMITTERS, SHALL HAVE ANY LIABILITY WHATSOEVER TO ANY
IMPLEMENTER OR THIRD PARTY FOR ANY DAMAGES OF ANY NATURE WHATSOEVER DIRECTLY
OR INDIRECTLY ARISING FROM THE IMPLEMENTATION OF THIS SPECIFICATION OR OTHER
WORK PRODUCT.
Contents
1 Introduction ............................................................................................................................ 4
1.1 Audience ............................................................................................................................................... 4
1.2 IPR Disclaimer....................................................................................................................................... 4
1.3 References ............................................................................................................................................ 4
1.4 Terminology and Definitions.................................................................................................................. 5
1.5 Abbreviations and Notations ................................................................................................................. 6
1.6 Revision History .................................................................................................................................... 7
2 Cryptographic Algorithm Recommendations....................................................................... 8
Tables
Table 1-1: Normative References ...................................................................................................................... 4
Table 1-2: Informative References .................................................................................................................... 4
Table 1-3: Terminology and Definitions ............................................................................................................. 5
Table 1-4: Abbreviations and Notations ............................................................................................................ 6
Table 1-5: Revision History ............................................................................................................................... 7
Table 2-1: Recommendation Levels .................................................................................................................. 8
Table 2-2: Cryptographic Algorithm Recommendations .................................................................................... 9
1 Introduction
Cryptography is an important pillar of a digital service’s security and impacts the application, the Secure
Component, and the related management systems. In order to help the market to anticipate required migration,
GlobalPlatform has decided to provide regular recommendations about cryptographic algorithms and key
lengths.
The recommendations define the GlobalPlatform technology usage of the cryptographic strengths for the
management of a Secure Component and associated content but also share the targeted security strengths
for future GlobalPlatform specifications.
1.1 Audience
This technical note is intended to provide guidance to GlobalPlatform specification developers and to the
developers of applications based on GlobalPlatform specifications.
1.3 References
Table 1-1: Normative References
Term Definition
Tamper-resistant secure Hardware designed to isolate and protect embedded software and data by
hardware implementing appropriate security measures. The hardware and embedded
software meet the requirements of the latest Security IC Platform Protection
Profile ([PP-0084]) including resistance to physical tampering scenarios
described in that Protection Profile.
Trusted Execution An Execution Environment that runs alongside but isolated from an REE.
Environment (TEE) A TEE has security capabilities and meets certain security-related
requirements: It protects TEE assets against a set of defined threats which
include general software attacks as well as some hardware attacks, and
defines rigid safeguards as to data and functions that a program can
access. There are multiple technologies that can be used to implement a
TEE, and the level of security achieved varies accordingly.
Contrast Regular Execution Environment (REE).
For the use of a symmetric algorithm with a particular mode of operation, the recommendation levels must be
aligned, i.e. the lowest is the resulting recommendation level. More generally, the security strength of a
cryptographic scheme using a combination of cryptographic primitives (e.g. MAC) is the lowest security
strength of the primitives.
1 See Note 1.
Note 1: A conservative approach regarding post-quantum symmetric cryptography is to double the key size
(i.e. migrating from AES-128 to AES-256) and increase the digest size (i.e. migrating from SHA-256 to
SHA-384). However, it seems quite clear from experts 3 that the Grover algorithm (which could theoretically be
used to weaken the security of block ciphers and hash functions) will provide little or no advantage for attacking
symmetric cryptography or hash functions.
AES-128 and SHA-256 are recommended in this version of the document, but might no longer be
recommended if the conservative approach becomes relevant.
This note also applies to:
• block ciphers SM4 and AES-192
• hash functions SHA-256, SHA3-256, and SM3
• TLS cipher suites TLS_PSK_WITH_AES_128_CBC_SHA256, TLS_AES_128_GCM_SHA256, and
TLS_AES_128_CCM_SHA256
Note 2: TLS_PSK refers to the Pre-Shared Key version of TLS. Pre-shared keys are symmetric keys that are
already in place prior to the initiation of a TLS session. Major national organizations, including ANSSI
([ANSSI TLS]), BSI ([BSI TR 02102-2]), SOG-IS ([SOG-IS]), and NIST ([NIST 800-52r2]), recommend the use
of Perfect Forward Secrecy cipher suites (PFS) in order to guarantee the confidentiality of the exchanges,
even if its long-term secret keys are compromised in the future. As Pre-Shared Key (PSK) TLS cipher suites
do not ensure PFS, they would be excluded from GlobalPlatform recommendations. However, [NIST 800-52r2]
Annex C states:
... pre-shared keys ... might be appropriate for constrained environments with limited processing, memory,
or power. ... Pre-shared keys shall be distributed in a secure manner, such as a secure manual distribution
or using a key-establishment certificate.
SE and TEE environments are compliant with the NIST exception and requirement:
• In the SE context, these keys are expected to be shared using security mechanisms described in the
GlobalPlatform Card Specification, related amendments, and the new SE PP ([GP SE PP]).
• In the TEE context, these keys are expected to be shared using the TEE TMF provisioning systems,
governed by the TEE PP ([GP TEE PP]), or by a proprietary method defined by the Trusted
Application, outside GlobalPlatform’s direct control. It is recommended that TLS sockets are only
opened with TEE_tlsSocket_tlsVersion == TEE_TLS_VERSION_1v2. Use of
TEE_TLS_VERSION_ALL is not recommended.
The use of PSK cipher suites is consequently authorized.
For TLS 1.2, TLS_PSK_WITH_AES_128_CBC_SHA256 is a recommended pre-shared key (PSK) cipher suite
([NIST 800-52r2] Annex C lists additional TLS 1.2 cipher suites).
For TLS 1.3, all cipher suites can be used with pre-shared keys.