Guidelines on Cryptographic Algorithms Usage and Key Management
Total Page:16
File Type:pdf, Size:1020Kb
EPC342-08 Version 7.0 4 November 2017 [X] Public – [ ] Internal Use – [ ] Confidential – [ ] Strictest Confidence Distribution: Publicly available GUIDELINES ON CRYPTOGRAPHIC ALGORITHMS USAGE AND KEY MANAGEMENT Abstract This document defines guidelines on cryptographic algorithms usage and key management. Document Reference EPC342-08 Issue Version 7.0 Date of Issue 22 November 2017 Reason for Issue Maintenance of document Produced by EPC Authorised by EPC Document History This document was first produced by ECBS as TR 406, with its latest ECBS version published in September 2005. The document has been handed over to the EPC which is responsible for its yearly maintenance. DISCLAIMER: Whilst the European Payments Council (EPC) has used its best endeavours to make sure that all the information, data, documentation (including references) and other material in the present document are accurate and complete, it does not accept liability for any errors or omissions. EPC will not be liable for any claims or losses of any nature arising directly or indirectly from use of the information, data, documentation or other material in the present document. Conseil Européen des Paiements AISBL– Cours Saint-Michel 30A – B 1040 Brussels Tel: +32 2 733 35 33 – Fax: +32 2 736 49 88 Enterprise N° 0873.268.927 – www.epc-cep.eu – [email protected] © 2016 Copyright European Payments Council (EPC) AISBL: Reproduction for non-commercial purposes is authorised, with acknowledgement of the source Table of Content MANAGEMENT SUMMARY ............................................................. 5 1 INTRODUCTION .................................................................... 7 1.1 Scope of the document ...................................................... 7 1.2 Document structure .......................................................... 7 1.3 Recommendations ............................................................ 8 1.4 Implementation best practices .......................................... 11 2 ALGORITHM TAXONOMY ..................................................... 13 2.1 Technical Characteristics .................................................. 13 2.1.1 Primitives ............................................................. 13 2.1.2 Elementary Constructions....................................... 15 2.2 Typical Usage ................................................................. 16 2.2.1 Confidentiality Protection ....................................... 17 2.2.2 Integrity Protection ............................................... 18 2.3 Legal or Commercial Status.............................................. 19 3 ALGORITHM RELATED DESIGN ISSUES ............................... 20 3.1 Primitives ...................................................................... 20 3.1.1 Unkeyed .............................................................. 20 3.1.2 Symmetric Key ..................................................... 21 3.1.3 Asymmetric key .................................................... 22 3.1.4 Security levels ...................................................... 28 3.1.5 Quantum computing considerations ......................... 30 3.1.6 ISO Recommendation for Financial Services ............. 32 3.1.7 Patents on cryptographic techniques ........................ 32 3.2 Constructions ................................................................. 33 3.2.1 Symmetric Key Encryption ..................................... 33 3.2.2 Asymmetric Encryption .......................................... 35 3.2.3 Hybrid Encryption.................................................. 35 3.2.4 MACs ................................................................... 35 3.2.5 Digital Signatures .................................................. 37 3.2.6 Authenticated Encryption ....................................... 38 3.2.7 Distributed ledger technologies ............................... 39 3.3 Domain of Application...................................................... 42 3.4 Implementation and interoperability issues ........................ 42 3.4.1 Security protocols ................................................. 42 3.4.2 Data formatting issues ........................................... 43 3.4.3 Implementation rules ............................................ 43 3.4.4 Key management impact on interoperability ............. 44 3.4.5 Implementation quality and side-channel attacks ...... 45 3.4.6 Algorithm OIDs ..................................................... 45 4 KEY MANAGEMENT ISSUES .................................................. 46 EPC342-08 v7.0 Guidelines on cryptographic algorithms usage and key management 2 4.1 Symmetric algorithms ..................................................... 46 4.1.1 Key generation ..................................................... 46 4.1.2 Key backup and storage ......................................... 48 4.1.3 Key distribution .................................................... 48 4.1.4 Key installation ..................................................... 49 4.1.5 Key usage and key separation ................................ 49 4.1.6 Key deletion ......................................................... 50 4.1.7 Key cryptoperiod ................................................... 50 4.2 Asymmetric algorithms .................................................... 50 4.2.1 Key generation ..................................................... 51 4.2.2 Example of a hybrid key architecture ....................... 52 4.2.3 Key backup and storage ......................................... 53 4.2.4 Key distribution .................................................... 53 4.2.5 Key agreement and forward secrecy ........................ 54 4.2.6 Public Key installation ............................................ 55 4.2.7 Certificate revocation and expiry ............................. 55 4.2.8 Key usage and key separation ................................ 56 4.2.9 Key deletion and archiving ..................................... 56 4.2.10 Key crypto period .................................................. 57 4.3 Key recovery and key escrow ........................................... 57 5 RANDOM NUMBERS ............................................................. 58 ANNEX I: TERMINOLOGY ............................................................ 59 ANNEX II: BIBLIOGRAPHY ......................................................... 62 EPC342-08 v7.0 Guidelines on cryptographic algorithms usage and key management 3 List of tables Table 1: Recommendations ......................................................................... 11 Table 2: Implementation best practices ........................................................ 12 Table 3: Matching of techniques and security functionalities ............................ 17 Table 4: Comparison of signature schemes ................................................... 27 Table 5: Equivalent strengths (adapted from [120]) ....................................... 29 Table 6: Patent information ......................................................................... 33 List of figures Figure 1: A technical taxonomy of cryptographic primitives and mechanisms ..... 13 Figure 2: Example of key hierarchy for symmetric keys .................................. 47 Figure 3: A hybrid key hierarchy with asymmetric and symmetric keys (for data confidentiality) .......................................................................................... 52 EPC342-08 v7.0 Guidelines on cryptographic algorithms usage and key management 4 MANAGEMENT SUMMARY The purpose of this document is to provide guidance to the European payments industry, in the field of cryptographic algorithms and related key management issues. It has been written mainly for payment service providers: security officers, risk managers, systems engineers and systems designers. Although its reading does not assume expertise in cryptology, it contains some sections which require a basic mathematical background. There is constant progress in the science of cryptology, either to create new algorithms or to break existing ones, such that any recommendation on cryptographic algorithms and key management is liable to become obsolete before it is published. Also, it is usually an over-simplification to categorise an algorithm or key management technique as being either 'good' or 'bad'. In practice, some are weaker or stronger, and some are subject to one or another type of attack, depending on how and for what they are used. Consequently, the choice of a cryptographic technique to protect data should always be the result of a risk assessment process. This process should consider not only the potential loss in case the cryptographic technique fails to prevent an attack, but also the operational conditions that may allow some kinds of attacks and prevent others. For example, algorithms, which are subject to known plaintext/ciphertext attacks when used in a certain way, may be strong enough if used in another way that does not allow the attacker to access an adequate sample of plaintexts and matching ciphertexts. As most algorithms are subject to attacks that would succeed given sufficient time, this risk assessment should consider the period during which data must be protected. Using a cryptographic algorithm, which is considered as weak by the specialists may be a bad policy decision as it may alter the reputation of a financial institution, although it may have no operational consequences for many systems. A system