7 Key Management and PKIs



Similar documents
Brocade Engineering. PKI Tutorial. Jim Kleinsteiber. February 6, Page 1

KEY DISTRIBUTION: PKI and SESSION-KEY EXCHANGE. Mihir Bellare UCSD 1

Cryptography and Network Security Chapter 14

Certificates. Noah Zani, Tim Strasser, Andrés Baumeler

Cryptography and Network Security Chapter 14. Key Distribution. Key Management and Distribution. Key Distribution Task 4/19/2010

Digital Certificates (Public Key Infrastructure) Reshma Afshar Indiana State University

Asymmetric cryptosystems fundamental problem: authentication of public keys

TELSTRA RSS CA Subscriber Agreement (SA)

Key Management. CSC 490 Special Topics Computer and Network Security. Dr. Xiao Qin. Auburn University

SSL/TLS: The Ugly Truth

Authentication Application

Dr. Cunsheng DING HKUST, Hong Kong. Security Protocols. Security Protocols. Cunsheng Ding, HKUST COMP685C

Overview. SSL Cryptography Overview CHAPTER 1

Network Security. Gaurav Naik Gus Anderson. College of Engineering. Drexel University, Philadelphia, PA. Drexel University. College of Engineering

Authentication Applications

associate professor BME Híradástechnikai Tanszék Lab of Cryptography and System Security (CrySyS)

Public Key Infrastructure

Lecture slides by Lawrie Brown for Cryptography and Network Security, 5/e, by William Stallings, Chapter 14 Key Management and Distribution.

Key Management and Distribution

Authentication Applications

Concept of Electronic Approvals

Introduction to Cryptography

Part III-a. Universität Klagenfurt - IWAS Multimedia Kommunikation (VK) M. Euchner; Mai Siemens AG 2001, ICN M NT

Overview of CSS SSL. SSL Cryptography Overview CHAPTER

How To Make A Trustless Certificate Authority Secure

Lecture 13. Public Key Distribution (certification) PK-based Needham-Schroeder TTP. 3. [N a, A] PKb 6. [N a, N b ] PKa. 7.

PUBLIC-KEY CERTIFICATES

The DoD Public Key Infrastructure And Public Key-Enabling Frequently Asked Questions

Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 15.1

Module 7 Security CS655! 7-1!

Ericsson Group Certificate Value Statement

Introduction to Network Security Key Management and Distribution

Key Management and Distribution

Introduction to Public Key Technology and the Federal PKI Infrastructure 26 February 2001

Midterm Solutions. ECT 582, Prof. Robin Burke Winter 2004 Take home: due 2/4/2004 NO LATE EXAMS ACCEPTED

Public Key Infrastructure (PKI)

UNDERSTANDING PKI: CONCEPTS, STANDARDS, AND DEPLOYMENT CONSIDERATIONS, 2ND EDITION

Business Issues in the implementation of Digital signatures

Computer and Network Security. Outline

How To Understand And Understand The Security Of A Key Infrastructure

Entrust Managed Services PKI. Getting started with digital certificates and Entrust Managed Services PKI. Document issue: 1.0

CSE543 - Introduction to Computer and Network Security. Module: Public Key Infrastructure

Apple Corporate Certificates Certificate Policy and Certification Practice Statement. Apple Inc.

apple WWDR Certification Practice Statement Version 1.8 June 11, 2012 Apple Inc.

Understanding Digital Certificates and Secure Sockets Layer (SSL)

Validity Models of Electronic Signatures and their Enforcement in Practice

Lecture VII : Public Key Infrastructure (PKI)

Evaluation of Certificate Revocation in Microsoft Information Rights Management v1.0

Purpose of PKI PUBLIC KEY INFRASTRUCTURE (PKI) Terminology in PKIs. Chain of Certificates

National Certification Authority Framework in Sri Lanka

Apple Inc. Certification Authority Certification Practice Statement Worldwide Developer Relations Version 1.14 Effective Date: September 9, 2015

Network Security. Computer Networking Lecture 08. March 19, HKU SPACE Community College. HKU SPACE CC CN Lecture 08 1/23

Configuring Digital Certificates

Comparing Cost of Ownership: Symantec Managed PKI Service vs. On- Premise Software

Class 3 Registration Authority Charter

Understanding Digital Certificates and Wireless Transport Layer Security (WTLS)

Security Digital Certificate Manager

Chapter 4. Authentication Applications. COSC 490 Network Security Annie Lu 1

Security Digital Certificate Manager

Neutralus Certification Practices Statement

Reducing Certificate Revocation Cost using NPKI

CSC/ECE 574 Computer and Network Security. What Is PKI. Certification Authorities (CA)

CALIFORNIA SOFTWARE LABS

X.509 Certificate Generator User Manual

Understanding digital certificates

Key Management and Distribution

Certificates and network security

ITL BULLETIN FOR JULY Preparing for and Responding to Certification Authority Compromise and Fraudulent Certificate Issuance

Certificate Management in Ad Hoc Networks

Public Key Cryptography in Practice. c Eli Biham - May 3, Public Key Cryptography in Practice (13)

Information Security

StartCom Certification Authority

Impact of Public Key Enabled Applications on the Operation and Maintenance of Commercial Airplanes

Expert Reference Series of White Papers. Fundamentals of the PKI Infrastructure

DIMACS Security & Cryptography Crash Course, Day 2 Public Key Infrastructure (PKI)

Network Security: Public Key Infrastructure

Key Management Interoperability Protocol (KMIP)

Securing Service Access with Digital Certificates

X.509 Certificate Revisited

MCTS Guide to Configuring Microsoft Windows Server 2008 Active Directory. Chapter 11: Active Directory Certificate Services

Savitribai Phule Pune University

CRYPTOGRAPHY IN NETWORK SECURITY

What Are Certificates?

Lecture 10 - Authentication

Exam Papers Encryption Project PGP Universal Server Trial Progress Report

PKI: Public Key Infrastructure

Websense Content Gateway HTTPS Configuration

The Concept of Trust in Network Security

Public Key Encryption and Digital Signature: How do they work?

Ford Motor Company CA Certification Practice Statement

Deploying EFS: Part 1

Optimized Certificates A New Proposal for Efficient Electronic Document Signature Validation

Secure in times of rising mobile communication

Certification Practice Statement

Certificate Management. PAN-OS Administrator s Guide. Version 7.0

Network Automation 9.22 Features: RIM and PKI Authentication July 31, 2013

CS 392/681 - Computer Security

CIS 6930 Emerging Topics in Network Security. Topic 2. Network Security Primitives

DVS DCI Signing Certificate Tool

Content Teaching Academy at James Madison University

Transcription:

CA4005: CRYPTOGRAPHY AND SECURITY PROTOCOLS 1 7 Key Management and PKIs 7.1 Key Management Key Management For any use of cryptography, keys must be handled correctly. Symmetric keys must be kept secret. They must be kept secret within the environment in which they are used. They must be kept secret if communicated over a network. Similarly, private keys must be kept secret. In general, private keys should not be sent over a network. Obviously, symmetric and private keys are much more vulnerable when they are being transferred, but secure local storage is also very important. Key Management Public keys are made public and do not need to be kept secret. However, they must be associated with the correct user. This association must be established when a public key is first obtained (e.g., over a network). In addition, once an association has been established, it must be correctly maintained. For example, there is little point establishing an association when a public key is obtained and then storing the key and the user s name unprotected on a computer. A Public Key Infrastructure (PKI) is used to securely associate public keys with their owners. Key Lifetime Keys should not be used indefinitely. If a key is used for a long time, then: The more likely it is that it will be compromised. The greater the loss if it is compromised. It may become worthwhile for an adversary to expend the effort required to break it. There will be more ciphertext available for a cryptanalyst to mount an attack.

CA4005: CRYPTOGRAPHY AND SECURITY PROTOCOLS 2 Therefore, keys should have a planned lifetime and need to be replaced. Key Lifecycle Periodically, when they expire. Immediately, if they are compromised or if a compromise is suspected. Note that periodic replacement helps to limit the impact of a compromise. Keys have a lifecycle. Typically, they are: 1. Created 2. Distributed 3. Replaced 4. Destroyed How long should a key be used before being replaced? This depends on: Key Usage Session Keys The nature of the key (symmetric versus asymmetric keys). The key length. What the key is used for. How much data is encrypted. The value of the data being protected. Session keys are symmetric keys that are used for the duration of a connection or for a single message. They are automatically replaced. Fixed Links Fixed links (e.g., leased lines) between computers are sometimes secured by hardware encryption devices based on symmetric encryption. The keys used within such devices need to be periodically replaced, e.g., every day. Depending on the technology, this can be a time consuming activity and may only be justified in high-value applications. The lifetime of the keys depends on the capacity of the link. A high-speed link requires more frequent key replacement.

CA4005: CRYPTOGRAPHY AND SECURITY PROTOCOLS 3 Key Usage File Storage Keys used to encrypt files on a computer also need to be periodically replaced. However, this can be difficult to achieve. We either have to remember the different keys used at different times or re-encrypt all the files when a key is replaced. Key-Encryption Keys Some protocols implement key distribution by encrypting keys using other (key-encryption) keys. For example, session keys can be distributed by using a recipient s public key to encrypt them. Alternatively, some protocols use a master key to encrypt keys. Typically, key distribution is a relatively infrequent event and the amount of ciphertext available to mount an attack is relatively small. Therefore key-encryption keys do not have to be changed so frequently. Of course, if a master key is compromised, then so are all the keys that were distributed using the master key. Key Usage Asymmetric Key-pairs The main uses of asymmetric ciphers are authentication, digital signatures and the exchange of session keys. Given these uses, key pairs need to be resistant to attack for very long periods of time. With digital signatures, we may need key pairs to remain secure indefinitely so that signatures can be checked. In fact, asymmetric ciphers and key lengths are chosen to make them immune to attack for very long periods of time. It is still good practice to periodically replace asymmetric key pairs. However, their lifetime is typically anything from 1 to 5 (or even 10) years. These time periods make it essential that we can identify compromised keys. 7.2 Public Key Infrastructures Public Key Infrastructures There are a number of issues associated with the use of asymmetric keys. 1. The user of a public key assumes that the key belongs to some other entity (person, server, ). This ownership relationship must be valid. 2. In general, a key pair will have some lifetime during which the public component can be used. 3. If non-repudiation services are to be implemented (e.g., if digital signatures are to have a legal status equivalent to a hand-written signature), then there needs to be some 3rd party involvement. 4. In a global environment (e.g., the Internet) there is a potentially huge user population.

CA4005: CRYPTOGRAPHY AND SECURITY PROTOCOLS 4 Public Key Infrastructures Key Ownership An entity owns a key pair if it controls the private key, i.e., only it can use the private key to perform encryption/decryption. If Eve can convince Bob that Eve s public key belongs to Alice, then Eve can (as far as Bob is concerned) sign messages, get access to session keys etc. as if she were Alice. Key-Pair Lifetime A user of a public key needs to know when it can be used. Typically, when a key pair is generated it will have a relatively long planned lifetime (1 to 5 years). This information needs to be conveyed to users of a public key. If a private key is compromised or the need to use the key pair no longer exists (e.g., an employee leaves a company), then users of the public key need to be informed. Public Key Infrastructures Non-repudiation A trusted 3rd party could witness digital signatures by adding their own digital signature. However, a more practical approach would involve a trusted 3rd party certifying that a public key belonged to some entity and is currently valid. Then, for example, all messages signed by the owner of the key pair would be legally binding. User Population Any infrastructure used to solve the problems of using public keys needs to be scalable to a global environment. Public Key Infrastructures These problems can be overcome by using a Public Key Infrastructure (PKI) to: Give names to entities. Certify public keys, i.e., to securely established an entity s ownership of a public key. This is achieved by issuing certificates that bind names to public keys. Revoke certificates if the certified public key has been compromised or is no longer used.

CA4005: CRYPTOGRAPHY AND SECURITY PROTOCOLS 5 7.3 Certificates and Certification Certificates and Certification Before using a public key, we need at least the following information: 1. The name of the entity that owns the key. 2. The dates during which the key is valid. 3. An indication as to whether or not the private key has been compromised or is no longer in use for some other reason. The first two pieces of information (1 and 2) are static and can be assigned when a key pair is generated. This can be done by some trusted entity issuing a certificate that certifies the relationship between a public key and its owner. Certificates and Certification A certificate contains (at least): A public key. The name of the owner of the public key (i.e., the subject). The dates during which the public key is valid. The identity of the issuer of the certificate. To prevent a certificate from being modified, it is digitally signed by its issuer. If we have an issuer s public key, we can check the integrity of a certificate. Then, if we trust the issuer, we know that the given public key belongs to the subject of the certificate. Certificates and Certification The third piece of information (3) required before a public key is used is more difficult to obtain. By its nature this information cannot be included in a certificate. There are various ways of supplying the information, but in all cases we need to revoke a certificate. The issuer of a certificate needs some way of indicating that the certificate has been revoked and that the certificate should no longer be used as justification for believing that the public key is valid. Note that the public key could still be used if there was another valid certificate!

CA4005: CRYPTOGRAPHY AND SECURITY PROTOCOLS 6 PKIs and Certificates All PKIs use some form of certificate. However, PKIs differ in a number of ways: The format for certificates and what information in addition to public keys can be certified. Some certificates contain serial numbers. Some contain details of the certification policy in force. Some contain details of the uses to which a public key can be put. How entities are named (identified). How a user can determine if a certificate has been revoked. Some PKIs maintain lists of revoked certificates. Others allow a user to query a server. How trust is handled. The X.509 PKI This is the most important difference between PKIs. Some PKIs have a centralized view of trust in which TTPs act as Certification Authorities (CA), e.g., X.509 PKI. Others have a more distributed view in which users trust each other, e.g. the PGP PKI. X.509 is the most widely used technology for implementing PKIs. In fact, when most people talk about PKIs, they are talking about X.509 PKIs. An X.509 certificate contains the following fields: Field Serial Number Issuer Subject Validity Dates Description The serial number of this certificate. Each CA gives their certificates a unique serial number. The name of the CA that issued of the certificate. The name of the owner of the public key being certified. from and to dates defining the period of validity of the certificate. The public key being certified. Public Key Signature Issuer s signature of the certificate.

CA4005: CRYPTOGRAPHY AND SECURITY PROTOCOLS 7 The X.509 PKI We will represent a certificate as C [N,I,S,(F,T ),K] where N is the serial number of the certificate. I is the name of the issuer. S is the name of the subject. (F,T ) are the validity dates. K is the public-key being certified. Certification Authorities (CAs) and Certificate Paths X.509 certificates are issued by entities known as Certification Authorities (CAs). Normally a CA is a trusted party or in some cases, a trusted third party. They can be trusted to bind a subject name to the proper public key. The precise manner in which a CA checks these relationships is not standardized. Some CAs do simple checks, while others require legally notified documents etc. When a certificate is obtained its signature must be checked by using the issuing CA s public key. For this to work, we must have secure access to the CA s public key. This requires us to get the CA s certificate. The name of the CA is given by the issuer field of the certificate so, if necessary, the CA s certificate can be obtained from a directory. In general, the CA s certificate will have been issued by a higher-level CA and we will need to repeat the validation process. Certification Authorities (CAs) and Certificate Paths A certificate path is a list of certificates C 0,C 1, such that the signature for C i was generated by the private key corresponding to the public key certified by C i+1 For example: C [23,DCU CA,,(Jan 2015,Dec 2019),k + GH ], C [3452,VeriSign,DCU CA,(Jan 2000,Dec 2020),k + DCU ], To be practical, certificate paths must be finite. This is achieved by having a Root CA.

CA4005: CRYPTOGRAPHY AND SECURITY PROTOCOLS 8 A root CA issues a special self-signed root certificate that does not need to be checked. For example: { C [23,DCU CA,,(Jan 2015,Dec 2019),k + GH ] } k DCU { C [3452,VeriSign,DCU CA,(Jan 2014,Dec 2018),k + DCU ] } k V S { C [2735,VeriSign,VeriSign,(Jan 2000,Dec 2020),k + V S ] } k V S Certification Authorities (CAs) and Certificate Paths Consider a certificate path P = C 0,,C k where C i = C [N i,i i,s i,(f i,t i ),K i ] We can validate this path and extract the public key for S 0 using the following algorithm: X.509 Certificates if (now < F k ) or (now > T k ) then fail ; if revoked(i k,n k ) then fail ; for i := k 1 downto 0 do begin end if I i S i+1 then fail ; if (now < F i ) or (now > T i ) then fail ; if revoked(i i,n i ) then fail ; if not validsig(c i,k i+1 ) then fail ; return K 0 ; Root certificates are inherently insecure. Anyone can simply generate a key-pair and issue a root certificate for any CA. Therefore, they need to be protected and distributed in a secure manner. There are many X.509 root CAs. Different users of X.509 have different CA Hierarchies, i.e., we have different X.509 PKIs that use the same technology, but are managed and controlled by different organizations. These hierarchies have different root certificates and have different policies. In theory, anyone can build a CA hierarchy and set themselves up as a CA. However, in practice, a user will only be prepared to trust known CA hierarchies.

CA4005: CRYPTOGRAPHY AND SECURITY PROTOCOLS 9 X.509 Certificates Each X.509 certificate contains a validity period. Certificates should not be used before or after their validity period. Once a certificate has expired, it is possible to issue a new certificate that binds the same public key to the subject. To handle revoked certificates, each CA maintains a Certificate Revocation List (CRL). This is a list of the serial numbers of the certificates issued by the CA that have been revoked. Only the serial numbers of revoked certificates that are otherwise within their validity period need to be held on a CRL. When validating a certificate, a user should check that it does not appear on the issuer s CRL. Typically, CRLs are updated periodically, e.g., every week. CRLs are probably the weakest aspect of X.509. CRL can become extremely large. An arguably better approach is to have servers which can be queried about the status of a certificate.