A-to-Z of Public Key Infrastructure (PKI)

Slides:



Advertisements
Similar presentations
Public Key Infrastructure – tell me in plain English AND THEN deep technical how PKI works Steve Lamb
Advertisements

Chapter 10 Encryption: A Matter of Trust. Awad –Electronic Commerce 1/e © 2002 Prentice Hall 2 OBJECTIVES What is Encryption? Basic Cryptographic Algorithm.
Chapter 14 – Authentication Applications
Public Key Infrastructure A Quick Look Inside PKI Technology Investigation Center 3/27/2002.
Internet and Intranet Protocols and Applications Lecture 9a: Secure Sockets Layer (SSL) March, 2004 Arthur Goldberg Computer Science Department New York.
Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown.
Grid Security Infrastructure Tutorial Von Welch Distributed Systems Laboratory U. Of Chicago and Argonne National Laboratory.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
Public Key Management and X.509 Certificates
1 Supplement III: Security Controls What security services should network systems provide? Confidentiality Access Control Integrity Non-repudiation Authentication.
Chapter 14 From Cryptography and Network Security Fourth Edition written by William Stallings, and Lecture slides by Lawrie Brown, the Australian Defence.
Lecture 23 Internet Authentication Applications
Authentication Cristian Solano. Cryptography is the science of using mathematics to encrypt and decrypt data. Public Key Cryptography –Problems with key.
Public Key Infrastructure (PKI) Providing secure communications and authentication over an open network.
15-1 Last time Internet Application Security and Privacy Public-key encryption Integrity.
SEC390 A-to-Z of Public Key Infrastructure (PKI) Rafal Lukawiecki Strategic Consultant Project.
DESIGNING A PUBLIC KEY INFRASTRUCTURE
Department of Information Engineering1 Major Concerns in Electronic Commerce Authentication –there must be proof of identity of the parties in an electronic.
Chapter 9: Using and Managing Keys Security+ Guide to Network Security Fundamentals Second Edition.
Client/Server Computing Model of computing in which very powerful personal computers (clients) are connected in a network with one or more server computers.
An understanding of PKI and some deployment hints BY Charles Anakweze CIS532 PKI = Public Key Infrastructure.
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 9: Planning and Managing Certificate Services.
Security Overview Hofstra University University College for Continuing Education - Advanced Java Programming Lecturer: Engin Yalt May 24, 2006.
An Introduction to Security Concepts and Public Key Infrastructure (PKI) Mary Thompson.
Introduction to PKI Seminar What is PKI? Robert Brentrup July 13, 2004.
BY MUKTADIUR RAHMAN MAY 06, 2010 INTERODUCTION TO CRYPTOGRAPHY.
Apr 22, 2003Mårten Trolin1 Agenda Course high-lights – Symmetric and asymmetric cryptography – Digital signatures and MACs – Certificates – Protocols Interactive.
8-1 What is network security? Confidentiality: only sender, intended receiver should “understand” message contents m sender encrypts message m receiver.
Cryptographic Technologies
Presented by Xiaoping Yu Cryptography and PKI Cosc 513 Operating System Presentation Presented to Dr. Mort Anvari.
03 December 2003 Public Key Infrastructure and Authentication Mark Norman DCOCE Oxford University Computing Services.
Introduction to Public Key Infrastructure (PKI) Office of Information Security The University of Texas at Brownsville & Texas Southmost College.
Cryptography and Network Security Chapter 15 Fourth Edition by William Stallings Lecture slides by Lawrie Brown.
TrustPort Public Key Infrastructure. Keep It Secure Table of contents  Security of electronic communications  Using asymmetric cryptography.
Computer Science Public Key Management Lecture 5.
Digital Signature Xiaoyan Guo/ Xiaohang Luo/
Sorting Out Digital Certificates Bill blog.codingoutloud.com ··· Boston Azure ··· 13·Dec·2012 ···
Chapter 31 Network Security
Public Key Cryptography July Topics  Symmetric and Asymmetric Cryptography  Public Key Cryptography  Digital Signatures  Digital Certificates.
1 Cryptography Cryptography is a collection of mathematical techniques to ensure confidentiality of information Cryptography is a collection of mathematical.
1 Cryptography Basics. 2 Cryptography Basic terminologies Symmetric key encryption Asymmetric key encryption Public Key Infrastructure Digital Certificates.
Digital Certificates With Chuck Easttom. Digital Signatures  Digital Signature is usually the encryption of a message or message digest with the sender's.
Lecture 12 Electronic Business (MGT-485). Recap – Lecture 11 E-Commerce Security Environment Security Threats in E-commerce Technology Solutions.
Chapter 14 Encryption: A Matter Of Trust. Awad –Electronic Commerce 2/e © 2004 Pearson Prentice Hall 2 OBJECTIVES What is Encryption? Basic Cryptographic.
©Copyrights 2011 Eom, Hyeonsang All Rights Reserved Distributed Information Processing 20 th Lecture Eom, Hyeonsang ( 엄현상 ) Department of Computer Science.
Secure Electronic Transaction (SET)
Cryptography and Network Security Chapter 14 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
_______________________________________________________________________________________________________________ E-Commerce: Fundamentals and Applications1.
Security Keys, Signatures, Encryption. Slides by Jyrki Nummenmaa ‘
Chapter 9: Using and Managing Keys Security+ Guide to Network Security Fundamentals Second Edition.
Cryptography, Authentication and Digital Signatures
Unit 1: Protection and Security for Grid Computing Part 2
Certificate-Based Operations. Module Objectives By the end of this module participants will be able to: Define how cryptography is used to secure information.
1 Securing Data and Communication. 2 Module - Securing Data and Communication ♦ Overview Data and communication over public networks like Internet can.
Cryptography (2) University of Palestine Eng. Wisam Zaqoot April 2010 ITSS 4201 Internet Insurance and Information Hiding.
1. 2 Overview In Exchange security is managed by assigning permissions in Active Directory Exchange objects are secured with DACL and ACEs Permissions.
ELECTROINC COMMERCE TOOLS Chapter 6. Outline 6.0 Introduction 6.1 PUBLIC KEY INFRASTRUCTURE (PKI) AND CERTIFICATE AUTHORITIES (CAs) TRUST
Advanced Database Course (ESED5204) Eng. Hanan Alyazji University of Palestine Software Engineering Department.
31.1 Chapter 31 Network Security Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Security fundamentals Topic 5 Using a Public Key Infrastructure.
Cryptography and Network Security Chapter 14
Private key
Lecture 11 Overview. Digital Signature Properties CS 450/650 Lecture 11: Digital Signatures 2 Unforgeable: Only the signer can produce his/her signature.
1 Public Key Infrastructure Rocky K. C. Chang 6 March 2007.
Prof. Reuven Aviv, Nov 2013 Public Key Infrastructure1 Prof. Reuven Aviv Tel Hai Academic College Department of Computer Science Public Key Infrastructure.
Key management issues in PGP
Lecture 4 - Cryptography
刘振 上海交通大学 计算机科学与工程系 电信群楼3-509
刘振 上海交通大学 计算机科学与工程系 电信群楼3-509
Presentation transcript:

A-to-Z of Public Key Infrastructure (PKI) Alberto Pace An adaptation from Rafal Lukawiecki presentation SEC390 at Tech’Ed 2003 rafal@projectbotticelli.co.uk

Objectives Explain the basics of PKI without concentrating on any particular product Introduce commonly used terminology Point out those aspects of PKI that require careful planning and implementation Outline some social issues associated with PKI

Agenda A Briefest Summary of Cryptography Fundamentals of PKI Recommendations on PKI Deployment

PKI “Public Key Infrastructure provides the components and services that enable practical deployment and operation of a system that uses certificates.” A. Nash, “PKI”, RSA Press PKI is a group of solutions for key distribution problems and other issues: Key generation Certificate generation, revocation, validation Managing trust I consider Web-of-Trust systems (e.g. PGP) as a perfectly alternative and compatible implementation of PKI

A Summary of Cryptography

Encryption Typically things sent over TCP/IP are not encrypted in any way. Anyone on the same network can listen in, grab the packets and read the contents This is a Bad Thing Would lower confidence in sending things like credit card numbers to ecommerce companies Confidential email Remote logins

What Does Cryptography Solve? Confidentiality ◄ Your data/service provides no useful information to unauthorised people Integrity ◄ If anyone tampers with your asset it will be immediately evident Authenticity ◄ We can verify that asset is attributable to its authors or caretakers Non-repudiation ◄ The author or owner or caretaker of asset cannot deny that they are associated with it

Symmetric Key Cryptography Plain-text input Cipher-text Plain-text output “The quick brown fox jumps over the lazy dog” “The quick brown fox jumps over the lazy dog” “AxCv;5bmEseTfid3)fGsmWe#4^,sdgfMwir3:dkJeTsY8R\s@!q3%” Encryption Decryption Same key (shared secret)

Symmetric Encryption With a big organization you can physically distribute keys to users by some secure channel (courier, most likely) But this is vulnerable to compromise if your courier is compromised Bigger problem: how do you communicate with someone you’ve never met before from another organization?

Asymmetric (Public Key) Encryption In this approach, there are two completely separate keys: one to encrypt the message, and one to decrypt it. This turns out to be very powerful, and is the basis for much of the crypto infrastructure on the net today It solves the key-distribution problem. How?

Public Key Crypto You publish, for all the world to see, your public key. If someone wants to send you email, they look up your public key. They encrypt the message using the public key and send it to you. You decrypt the message using your private key.

Public Key Encryption Recipient’s private key Recipient’s public key Clear-text Input Cipher-text Clear-text Output “The quick brown fox jumps over the lazy dog” “The quick brown fox jumps over the lazy dog” “Py75c%bn&*)9|fDe^bDFaq#xzjFr@g5=&nmdFg$5knvMd’rkvegMs” Encryption Decryption public private Different keys Recipient’s public key Recipient’s private key

Public Key Crypto In practice, public key crypto systems are slow compared to symmetric key crypto systems, by an order of about 1,000. This leads to hybrid systems—a public key system is used to distribute a “session key”, a secret symmetric encryption key. They symmetric key is used for the bulk of communications. The public key crypto is used to solve the key distribution problem

Hybrid Encryption (Real World) Launch key for nuclear missile “RedHeat” is... RNG Randomly- Generated symmetric “session” key Symmetric encryption (e.g. DES) *#$fjda^j u539!3t t389E *&\@ 5e%32\^kd Symmetric key encrypted asymmetrically (e.g., RSA) Digital Envelope User’s public key (in certificate) As above, repeated for other recipients or recovery agents Digital Envelope Other recipient’s or agent’s public key (in certificate) in recovery policy

Hybrid Decryption *#$fjda^j u539!3t t389E *&\@ 5e%32\^kd Launch key for nuclear missile “RedHeat” is... Symmetric decryption (e.g. DES) Digital Envelope Asymmetric decryption of “session” key (e.g. RSA) Symmetric “session” key Session key must be decrypted using the recipient’s private key Digital envelope contains “session” key encrypted using recipient’s public key Recipient’s private key

Public Key Distribution Problem We just solved the problem of symmetric key distribution by using public/private keys But… Scott creates a keypair (private/public) and quickly tells the world that the public key he published belongs to Bill People send confidential stuff to Bill Bill does not have the private key to read them… Scott reads Bill’s messages 

Digital Signature and Verification Digital signature is a mechanism by which a message is authenticated i.e. proving that a message is effectively coming from a given sender, much like a signature on a paper document. For instance, suppose that Alice wants to digitally sign a message to Bob. To do so, she uses her private-key to encrypt the message; she then sends the message along with her public-key (typically, the public key is attached to the signed message). Since Alice’s public-key is the only key that can decrypt that message, a successful decryption constitutes a Digital Signature Verification, meaning that there is no doubt that it is Alice’s private key that encrypted the message.

Hashing For Digital signature, another technique used is called hashing. Hashing produces a message digest that is a small and unique representation (a bit like a sophisticated checksum) of the complete message. Hashing algorithms are a one-way encryption, i.e. it is impossible to derive the message from the digest. The main reasons for producing a message digest are: 1. The message integrity being sent is preserved; any message alteration will immediately be detected; 2. The digital signature will be applied to the digest, which is usually considerably smaller than the message itself; 3. Hashing algorithms are much faster than any encryption algorithm (asymmetric or symmetric).

Fundamentals of PKI

Is PKI relevant? Who uses all of that stuff? Web’s HTTP and other protocols (SSL) VPN (PPTP, IPSec, L2TP…) Email (S/MIME, PGP, Exchange KMS) Files (W2K EFS, PGP and many others) Web Services (WS-Security) Good ID Smartcards (Certificates and Challenge/Response) Executables (.NET Assemblies, Drivers, Authenticode) …

Eureka! We need PKI to solve that problem And a few others…

. 2. What is a Certificate A certificate is a piece of information that proves the identity of a public-key’s owner. Like a passport, a certificate provides recognized proof of a person’s (or entity) identity. Certificates are signed and delivered securely by a trusted third party entity called a Certificate Authority (CA). As long as Bob and Alice trust this third party, the CA, they can be assured that the keys belong to the persons they claim to be.

. A certificate contains among other things: 1) The CA’s identity 2) The owner’s identity 3) The owner’s public-key 4) The certificate expiry date 5) The CA’s signature of that certificate 6) Other information that is beyond the scope of this article. With a certificate instead of a public-key, a recipient can now verify a few things about the issuer to make sure that the certificate is valid and belongs to the person claiming its ownership:

Certificates The simplest certificate just contains: Information about the entity that is being certified to own a public key That public key And all of this is Digitally signed by someone trusted (like your friend or a CA)

X.509 Certificate OU=Project Botticelli… The Key or Info About It

Authentication with Certificates Melinda gets Bill’s certificate She verifies its digital signature She can trust that the public key really belongs to Bill But is it Bill standing if front of her, or is that Scott? Melinda challenges Bill to encrypt for her a phrase etc. she just made up (“I really need more shoes”) Bill has, of course, the private key that matches the certificate, so he responds (“*&$^%£$&£fhsdf*&EHFDhd62^&£”) Melinda decrypts this with the public key she has in the certificate (which she trusts) and if it matches the phrase she challenged Bill with then it must really be Bill himself!  By the way, that’s the basic concept of how SSL works

What’s in the Store? Certificates are “safe” No need to protect them too much, as they are digitally signed Store anywhere, a file or a “dumb” memory-only smartcard Private keys that match the public key are extremely vulnerable (key assets) You must protect them well Store in “Protected Storage” on your OS or a “smart” smartcard that will have crypto functionality on board

Key and certificate management Key and certificate management is the set of operations required to create and maintain keys and certificates. The following is the list of the major points being addressed in a managed PKI: 1. Key and certificate creation: How to generate key pairs? How to issue certificates to the users? A PKI must offer software support for key pair generation as well as certificate requests. In addition, procedures must be put in place to verify the user identity prior to allowing him to request a certificate. Certificates are widely accessible because they are used for either encryption or signature verification. Private-keys require some reasonable level of protection because they are used either for decryption or for digital signature. A strong password mechanism must be part of the features of an effective PKI.

2. Private-key protection: How will the user protect his private-key against misuse by other malicious users? Certificates are widely accessible because they are used for either encryption or signature verification. Private-keys require some reasonable level of protection because they are used either for decryption or for digital signature. A strong password mechanism must be part of the features of an effective PKI. 3. Certificate revocation: How to handle the situation where a user’s private-key has been compromised? Similarly, how to handle the situation where an employee leaves the company? How to know whether or not a certificate has been revoked? A PKI must provide a means by which a certificate can be revoked. Once revoked, this certificate must be included in a revocation list that is available to all users. A mechanism must be provided to verify that revocation list and refuse to use a revoked certificate.

4. Key backup and recovery: What happens to encrypted files when a user loses his privatekey? Without key backup, all messages and files that have been encrypted with his public-key can no longer be decrypted and are lost forever. A PKI must offer private-key backup and a private-key recovery mechanism such that the user can get back his private-key to be able to get access to his files11. 5. Key and certificate update: What happens when a certificate reaches or is near its expiry date? Keys and certificates have a finite lifetime. A PKI must offer a mechanism to at least update the expiry date for that certificate. Good practice though is to update the user’s keys and certificates. The key and certificate update can be automatic in which case the end user gets notified that his keys have been updated, or can require that the user performs an action during or before his keys and certificates expire;

Certificate Revocation Keys get compromised, as a fact of life You or your CA issue a certificate revocation certificate Must be signed by CA, of course And you do everything you can to let the world know that you issued it This is not easy Certificate Revocation Lists (CRL) are used They require that the process of cert validation actively checks the CRL and keep it up-to-date There are some scalability issues Many people disable this function That is why short expiration policies are important

Storing Certificates and Keys Certificates need to be stored so that interested users can obtain them Keys need to be stored for data recovery purposes This weakens the system, but is a necessity This is a function of most certificate servers such as certificate services in Windows 2003 Server Those servers are also responsible for issuing, revoking, signing etc. of certs

Developers: Which API? CAPI (Crypto API, Cryptographic API) is the underlying API provided by the operating system Mature Not too easy to use Good functionality .NET Framework System.Security.Cryptography Newer, but wraps some CAPI functions Extremely easy to use Not all needed functionality is present

.NET Framework API Comprehensive cryptographic library Easy, unified, stream-based architecture System.Security.Cryptography Open & extensible model (for new algorithms) Some implementations just CAPI wrappers, some completely managed by .NET Configuration classes for control Streaming model for block algorithms Supporting CBC (Cipher Block Chaining)

Crypto Object Model (subsection) Abstract Base Classes (only one shown) Symmetric Algorithm Abstract Algorithm Classes TripleDES Rijndael RC2 Algorithm Implementation Classes (fully implemented) TripleDESCrypto ServiceProvider (CryptoAPI) Rijndael Managed (C#) RC2Crypto ServiceProvider

Recommendations on PKI Deployment

CA Services If you decide against web-of-trust, you need to make an important decision: Use a well known CA Your certs will be universally recognised but you are dependent on the trustworthiness of the CA Establish your own CA No one except your explicitly nominated partners or clients will recognise your certs but you are in full control In addition, you may want to outsource CA services altogether

Identity Management Process Consider using Windows Server 2003 as it integrates active directory managament of users with PKI provisioning Microsoft is investing heavily in identity management across directory boundaries Between Active Directories Between heterogenous systems

Social Problem Real-life certificates are well understood What do you trust more: a passport or a driving license? Digital certificates are a long way from public understanding Is Verisign Class 1 better or worse than Class 5? What about BT Class 2 versus Thawte Class 3? Easier if you just deploy internal PKI Use real-life names, like “passport”, “company id” etc. if possible

Common Strength Recommendations (Jun 2003) Minimum Recommended Symmetric Key 96 bits (avoid DES as it can do only 56, instead use AES-Rijndael or RC5) 256 bits (Rijndael, RC5 128bits, not DES) Asymmetric Key 1024 (RSA) 4096 (RSA) ECC Key 192 bits 256 bits Hash: SHA/MD5 128 bits (absolutely not 64 bits) 256 bits or more Common Cert Classes Class 2 Class 3 at least

Word About Smartcards Most smartcards are “dumb”, i.e. they are only a memory chip This is OK for a certificate store, but not recommended for storing a private key used in a challenge test (verifying identity) Anyway, they are still better than leaving keys on a floppy disk Cryptographically-enabled smartcards are more expensive but they give much more security Private key is secure and used as needed Additional protection (password, biometrics) is possible Hardware implements some algorithms Self-destruct is possible

Certificate Revocations It is a good idea to prepare one in advance if possible! Keep it really safe Particularly important in web-of-trust systems in case you lose access to your private key Please, please enable checking and updating of CRL (revocation list) on all of your systems Apply numerous security patches – this was a particularly “patchy” area recently

Summary Asymmetric encryption solved the extremely difficult problem of key symmetric key exchange It created a smaller, easier to solve problem of asymmetric key management… Which is solved with PKI Bringing additional benefits, such as trust and identity management

Resources and Reading Visit www.microsoft.com/security Review session slides on crypto & security For more detail, read: PKI, A. Nash et al., RSA Press, ISBN 0-07-213123-3 Applied Cryptography, B. Schneier, John Wiley & Sons, ISBN 0-471-12845-7 Foundations of Cryptography, O. Goldereich, www.eccc.uni-trier.de/eccc-local/ ECCC-Books/oded_book_readme.html Handbook of Applied Cryptography, A.J. Menezes, CRC Press, ISBN 0-8493-8523-7 Cryptography in C and C++, M. Welschenbach, Apress, ISBN 1-893115-95-X (includes code samples CD)

Community Resources Community Resources http://www.microsoft.com/communities/default.mspx Most Valuable Professional (MVP) http://www.mvp.support.microsoft.com/ Newsgroups Converse online with Microsoft Newsgroups, including Worldwide http://www.microsoft.com/communities/newsgroups/default.mspx User Groups Meet and learn with your peers http://www.microsoft.com/communities/usergroups/default.mspx