A Companion to User's Guide to Cryptography and Standards
Total Page:16
File Type:pdf, Size:1020Kb
A Companion to User’s Guide to Cryptography and Standards Alexander W. Dent Chris J. Mitchell 17th December 2004 (v1.1) ii Contents 1 Introduction 1 1.1 Scope and purpose . 2 1.2 Structure of book . 2 1.3 Terminology . 2 1.4 Modular Arithmetic . 2 1.5 Notes . 2 2 Standards and the standardisation process 3 2.1 Why bother with standards? . 4 2.2 International standardisation organisations . 4 2.3 National standardisation organisations . 4 2.4 Industrial standardisation organisations . 4 2.5 Cryptographic evaluation bodies . 4 2.6 Notes . 4 3 Security mechanisms and security services 5 3.1 Introduction . 6 3.2 Security standards . 6 3.3 A model for security . 6 3.4 Security services . 6 3.5 Security mechanisms . 6 3.6 Relating services to mechanisms . 6 3.7 Services and protocols layers . 6 3.8 Security management . 6 3.9 Security frameworks . 6 iii iv CONTENTS 3.10 Notes . 6 4 Encryption 9 4.1 Definitions and Basic Properties . 10 4.2 Block Ciphers . 10 4.3 Stream Ciphers . 10 4.4 Asymmetric Ciphers . 11 4.5 Notes . 11 5 Modes of operation for block ciphers 17 5.1 Definitions and basic properties . 18 5.2 Standards for modes of operation . 18 5.3 Padding methods . 18 5.4 Electronic Codebook (ECB) mode . 18 5.5 Cipher Block Chaining (CBC) mode . 18 5.6 Counter (CTR) mode . 18 5.7 Output Feedback (OFB) mode . 18 5.8 Cipher Feedback (CFB) mode . 18 5.9 Choosing a mode of operation . 18 5.10 Other modes . 18 5.11 Notes . 18 6 Cryptographic hash-functions 21 6.1 Definitions and Basic Properties . 22 6.2 Standards for Hash Functions . 22 6.3 Hash Functions Based on Block Ciphers . 22 6.4 Dedicated Hash Functions . 22 6.5 Hash Functions Based on Modular Arithmetic . 22 6.6 Choosing a Hash Function . 22 6.7 Notes . 22 7 Message Authentication Codes (MACs) 27 7.1 Definitions and basic properties . 28 7.2 Standards for MACs . 28 CONTENTS v 7.3 CBC-MACs . 28 7.4 MACs based on hash-functions . 28 7.5 Other MAC functions . 28 7.6 Notes . 28 8 Digital signatures 31 8.1 Definitions and Basic Properties . 32 8.2 Standards for digital signatures . 32 8.3 The Digital Signature Algorithm (DSA) . 33 8.4 RSA-based signature schemes . 33 8.5 Digital signatures and the law . 33 8.6 Choosing a digital signature scheme . 33 8.7 Notes . 33 9 Non-repudiation mechanisms 39 9.1 Introduction . 40 9.2 Standards for non-repudiation . 40 9.3 Non-repudiation model and services . 40 9.4 Non-repudiation using symmetric cryptography . 40 9.5 Non-repudiation using asymmetric cryptography . 40 9.6 Time-stamping and non-repudiation . 40 9.7 Notes . 40 10 Authentication protocols 43 10.1 Introduction . 44 10.2 Standards for entity authentication protocols . 44 10.3 Cryptographic mechanisms . 44 10.4 Timeliness checking mechanisms . 44 10.5 Authentication using symmetric cryptography . 44 10.6 Authentication using asymmetric cryptography . 44 10.7 Manual authentication protocols . 44 10.8 Choosing an authentication protocol . 44 10.9 Notes . 44 vi CONTENTS 11 Key management frameworks 49 11.1 Standards for Key Management . 50 11.2 Definitions and Basic Properties . 50 11.3 The General Framework . 50 11.4 The ANSI X9.24 Framework . 50 11.5 Notes . 50 12 Key establishment mechanisms 53 12.1 Definitions and Basic Properties . 54 12.2 Standards for Key Establishment . 54 12.3 Physical Mechanisms . 54 12.4 Mechanisms using symmetric cryptography . 54 12.5 Mechanisms using asymmetric cryptography . 54 12.6 Key establishment based on weak secrets . 55 12.7 Key establishment for mobile networks . 55 12.8 Choosing a key establishment scheme . 55 12.9 Notes . 55 13 Public Key Infrastructures 59 13.1 What is a PKI? . 60 13.2 PKI standards . 60 13.3 Certificate formats . 60 13.4 Certificate management . 60 13.5 Certificate storage and retrieval . 60 13.6 Certificate status discovery . 60 13.7 Certificate Policies and Certification Practice Statements . 60 13.8 Notes . 60 14 Trusted Third Parties 65 14.1 Definitions and basic properties . 66 14.2 Standards for managing trusted third parties . 66 14.3 TTP requirements . 66 14.4 TTP architectures . 66 14.5 Time-stamping authorities . 66 CONTENTS vii 14.6 Digital archiving authorities . 66 14.7 Notes . 66 15 Cryptographic APIs 69 15.1 Introduction . 70 15.2 Standards for crypto APIs . 70 15.3 GSS-API . 70 15.4 PKCS #11 . 70 15.5 Security issues . 70 15.6 Notes . 70 16 Other standards 73 16.1 Random bit generation . 74 16.2 Prime number generation . 74 16.3 Authenticated Encryption . 74 16.4 Security modules . 74 16.5 Standards for the use of biometric techniques . 74 16.6 Information security management . 74 16.7 Notes . 74 17 Standards: the future 79 A Tables of standards 81 A.1 3GPP standards . 82 A.2 ANSI standards . 84 A.3 BSI standards . 87 A.4 ETSI standards . 88 A.5 IEEE standards . 89 A.6 IETF requests for comments . 90 A.7 ISO standards . 95 A.8 ITU-T recommendations . 103 A.9 NIST FIPS . 107 A.10 RSA PKCS . 109 A.11 SECG standards . 110 viii CONTENTS Preface ix x CONTENTS Preface to version 1.0 This companion is intended to supplement and update the User’s Guide to Cryptography and Standards. Such is the speed at which standards evolve that the User’s Guide is, unfortunately, already out of date at the time of writing, and it has only just appeared in print. Our plan is to regularly update this companion so that, in conjunction with the User’s Guide itself, the reader is given information that is as current as we can make it. The structure of this companion is identical to that of the User’s Guide. All the end of chapter notes, the complete appendix, and the entire list of ref- erences are reproduced from the User’s Guide, updated where appropriate. The text from the main body of each chapter is not reproduced, although the headings have been retained; text is included under the original head- ings where the status of the subject has changed (or it seems appropriate to provide additional information). As always, we would very much welcome input of all kinds on the User’s Guide and this companion. We would particularly welcome corrections and additions to the existing text, which we will do our best to acknowledge. Alex Dent Chris Mitchell November 2004. Chapter 1 Introduction 1 2 CHAPTER 1. INTRODUCTION 1.1 Scope and purpose 1.2 Structure of book 1.3 Terminology 1.4 Modular Arithmetic 1.5 Notes x1.1 There are many useful books on cryptography — we mention just three. Mur- phy and.