PGP - Pretty Good Privacy



Similar documents
Cryptography and Security

Cryptography and Network Security Chapter 15

SubmitedBy: Name Reg No Address. Mirza Kashif Abrar T079 kasmir07 (at) student.hh.se

Elements of Security

CS 393 Network Security. Nasir Memon Polytechnic University Module 11 Secure

Electronic Mail Security

Electronic Mail Security. Security. is one of the most widely used and regarded network services currently message contents are not secure

Network Security Essentials Chapter 7

Chapter 6 Electronic Mail Security

PGP from: Cryptography and Network Security

Cryptography and Network Security

Network Security - Secure upper layer protocols - Background. Security. Question from last lecture: What s a birthday attack? Dr.

Authentication applications Kerberos X.509 Authentication services E mail security IP security Web security

How encryption works to provide confidentiality. How hashing works to provide integrity. How digital signatures work to provide authenticity and

4.1: Securing Applications Remote Login: Secure Shell (SSH) PEM/PGP. Chapter 5: Security Concepts for Networks

Introduction...3 Terms in this Document...3 Conditions for Secure Operation...3 Requirements...3 Key Generation Requirements...

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

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

CS 356 Lecture 27 Internet Security Protocols. Spring 2013

IT Networks & Security CERT Luncheon Series: Cryptography

Standards and Products. Computer Security. Kerberos. Kerberos

Cryptosystems. Bob wants to send a message M to Alice. Symmetric ciphers: Bob and Alice both share a secret key, K.

Overview of CSS SSL. SSL Cryptography Overview CHAPTER

Overview of Cryptographic Tools for Data Security. Murat Kantarcioglu

Network Security. Security Attacks. Normal flow: Interruption: 孫 宏 民 Phone: 國 立 清 華 大 學 資 訊 工 程 系 資 訊 安 全 實 驗 室

to hide away details from prying eyes. Pretty Good Privacy (PGP) utilizes many

CS 758: Cryptography / Network Security

Encryption, Data Integrity, Digital Certificates, and SSL. Developed by. Jerry Scott. SSL Primer-1-1

Communication Systems SSL

1 Step 1: Select... Files to Encrypt 2 Step 2: Confirm... Name of Archive 3 Step 3: Define... Pass Phrase

Chapter 10. Network Security

Introduction to Cryptography

Chapter 11 Security+ Guide to Network Security Fundamentals, Third Edition Basic Cryptography

Symmetric and Public-key Crypto Due April , 11:59PM

Communication Systems 16 th lecture. Chair of Communication Systems Department of Applied Sciences University of Freiburg 2009

CS549: Cryptography and Network Security

Communication Security for Applications

Network Security Protocols

Cryptography & Network Security

CSE/EE 461 Lecture 23

Online signature API. Terms used in this document. The API in brief. Version 0.20,

PGP (Pretty Good Privacy) INTRODUCTION ZHONG ZHAO

The Misuse of RC4 in Microsoft Word and Excel

Outline. Computer Science 418. Digital Signatures: Observations. Digital Signatures: Definition. Definition 1 (Digital signature) Digital Signatures

Chapter 17. Transport-Level Security

Cryptography and Network Security Chapter 12

Cryptography and Network Security Prof. D. Mukhopadhyay Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Ciphire Mail. Abstract

WiMAX Public Key Infrastructure (PKI) Users Overview

Overview. SSL Cryptography Overview CHAPTER 1

Managing and Securing Computer Networks. Guy Leduc. Chapter 3: Securing applications. Chapter goals: security in practice:

SSL Protect your users, start with yourself

Introduction to Computer Security

SSL A discussion of the Secure Socket Layer

Security. Friends and Enemies. Overview Plaintext Cryptography functions. Secret Key (DES) Symmetric Key

Announcement. Final exam: Wed, June 9, 9:30-11:18 Scope: materials after RSA (but you need to know RSA) Open books, open notes. Calculators allowed.

mod_ssl Cryptographic Techniques

NETWORK SECURITY. Farooq Ashraf. Department of Computer Engineering King Fahd University of Petroleum and Minerals Dhahran 31261, Saudi Arabia

1.2 Using the GPG Gen key Command

Secure Shell SSH provides support for secure remote login, secure file transfer, and secure TCP/IP and X11 forwarding. It can automatically encrypt,

Lecture 20: PGP, IPSec, SSL/TLS, and Tor Protocols. Lecture Notes on Computer and Network Security. by Avi Kak

Tutorial: Encrypted with Thunderbird and Enigmail. Author: Shashank Areguli. Published: Ed (August 9, 2014)

Network Security [2] Plain text Encryption algorithm Public and private key pair Cipher text Decryption algorithm. See next slide

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

Pulse Secure, LLC. January 9, 2015

BlackBerry Enterprise Solution

Cyber Security Workshop Encryption Reference Manual

Authenticity of Public Keys

Cryptography: Motivation. Data Structures and Algorithms Cryptography. Secret Writing Methods. Many areas have sensitive information, e.g.

7! Cryptographic Techniques! A Brief Introduction

Taxonomy of Security Protocol

Package PKI. July 28, 2015

How To Understand And Understand The Ssl Protocol ( And Its Security Features (Protocol)

Outline. Digital signature. Symmetric-key Cryptography. Caesar cipher. Cryptography basics Digital signature

PGP Encryption Software

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

Lecture 9: Application of Cryptography

SSL/TLS: The Ugly Truth

Client Server Registration Protocol

Overview of Symmetric Encryption

INTRODUCTION TO CRYPTOGRAPHY

An Introduction to Cryptography as Applied to the Smart Grid

Quick Reference Guide. Online Courier: FTP. Signing On. Using FTP Pickup. To Access Online Courier.

Chapter 8. Network Security

Overview Keys. Overview

AC76/AT76 CRYPTOGRAPHY & NETWORK SECURITY DEC 2014

Certificate Authorities and Public Keys. How they work and 10+ ways to hack them.

Message authentication and. digital signatures

Network Security. Abusayeed Saifullah. CS 5600 Computer Networks. These slides are adapted from Kurose and Ross 8-1

End User Encryption Key Protection Policy

Chapter 6 CDMA/802.11i

Institute of Computer Technology - Vienna University of Technology. L96 - SSL, PGP, Kerberos

Authentication requirement Authentication function MAC Hash function Security of

User Guide Supplement. S/MIME Support Package for BlackBerry Smartphones BlackBerry Pearl 8100 Series

Sharing Secrets Using Encryption Facility

Chapter 8. Cryptography Symmetric-Key Algorithms. Digital Signatures Management of Public Keys Communication Security Authentication Protocols

IBM i Version 7.3. Security Digital Certificate Manager IBM

HMRC Secure Electronic Transfer (SET)

The KGpg Handbook. Jean-Baptiste Mardelle Rolf Eike Beer

Transcription:

I should be able to whisper something in your ear, even if your ear is 1000 miles away, and the government disagrees with that. -- Philip Zimmermann PGP - Pretty Good Privacy - services - message format - random number generation - key and trust mamagement

What is PGP? general purpose application to protect (encrypt and/or sign) files can be used to protect e-mail messages can be used by corporations as well as individuals based on strong cryptographic algorithms (IDEA, RSA, SHA-1) first version developed by Phil Zimmermann international version available free of charge at http://www.pgpi.org 2

PGP services messages authentication confidentiality compression e-mail compatibility segmentation and reassembly key management generation, distribution, and revocation of public/private keys generation and transport of session keys and IVs PGP services 3

Message authentication based on digital signatures supported algorithms: RSA/SHA and DSS/SHA K snd -1 sender m h σ hash hash enc enc PGP services receiver m h h σ hash hash compare compare dec dec accept / reject K snd 4

Message confidentiality symmetric key encryption in CFB mode with a random session key and IV session key and IV is encrypted with the public key of the receiver supported algorithms: symmetric: CAST, IDEA, 3DES asymmetric: RSA, ElGamal m prng prng K rcv {k, iv} Krcv sender s.enc s.enc k, iv a.enc a.enc PGP services {m} k 5

Compression applied after the signature enough to store clear message and signature for later verification it would be possible to dynamically compress messages before signature verification, but then all PGP implementations should use the same compression algorithm however, different PGP versions use slightly different compression algorithms applied before encryption would be useless after encryption compression reduces redundancy makes cryptanalysis harder supported algorithm: ZIP PGP services 6

E-mail compatibility encrypted messages and signatures may contain arbitrary octets most e-mail systems support only ASCII characters PGP converts an arbitrary binary stream into a stream of printable ASCII characters radix 64 conversion: 3 8-bit blocks 4 6-bit blocks 0 7 0 7 0 7 0 5 0 5 0 5 0 5 PGP services 7

Radix 64 conversion table PGP services 6-bit character 6-bit character 6-bit character 6-bit character value encoding value encoding value encoding value encoding 0 A 16 Q 32 g 48 w 1 B 17 R 33 h 49 x 2 C 18 S 34 i 50 y 3 D 19 T 35 j 51 z 4 E 20 U 36 k 52 0 5 F 21 V 37 l 53 1 6 G 22 W 38 m 54 2 7 H 23 X 39 n 55 3 8 I 24 Y 40 o 56 4 9 J 25 Z 41 p 57 5 10 K 26 a 42 q 58 6 11 L 27 b 43 r 59 7 12 M 28 c 44 s 60 8 13 N 29 d 45 t 61 9 14 O 30 e 46 u 62 + 15 P 31 f 47 v 63 / (pad) = 8

Combining services X := := file file signature? signature? no yes generate generate signature signature X := := s(x) s(x) X compress compress X := := Z(X) Z(X) encryption? encryption? yes generate generate envelop envelop X := :={iv, {iv, k} k} Krcv Krcv {X} {X} k k PGP services no radix radix 64 64 X := := R64(X) R64(X) 9

General PGP message format session key component signature key ID of K rcv session key k and iv timestamp key ID of K snd leading two octets of hash { } Krcv hash(timestamp, data) { } Ksnd -1 filename time of creation ZIP { } k R64 PGP message format message data 10

Key IDs a user may have several public key private key pairs which private key to use to decrypt the session key? which public key to use to verify a signature? transmitting the whole public key would be wasteful associating a random ID to a public key would result in management burden PGP key ID: least significant 64 bits of the public key unique within a user with very high probability PGP message format 11

Random numbers in PGP pseudo-random numbers generated by a PRNG used as session keys and IVs true random numbers provide the initial seed for the PRNG provide additional input during pseudo-random number generation used to generate public key private key pairs PGP random number generation 12

The true random pool PGP maintains a 640-byte pool of random bits and a 64 byte key variable new random samples are obtained from keystroke timings and mouse movement and mixed into the pool as follows: each new random byte is XORed into the key variable currentpos old key variable PGP random number generation once enough new bytes have been added to the key, it is used to encrypt the pool in a message digest cipher configuration in CBC mode new random byte new key variable old pool 20 bytes (160 bits) key 64 bytes (512 bits) new pool after 1 step h currentpos h is the compression function of SHA-1 13

Generation of session keys and IVs rkey dtbuf (current time) E E PGP random number generation rseed true random bits E E + E E + + + E E E + E + + + IV[0..7] K[8..15] K[0..7] the PRNG is based on X9.17 extended with a pre-wash and a post-wash operation (see next slide) instead of 3DES, PGP uses CAST-128 E + E rseed* 14

Generation of session keys and IVs PGP random number generation pre-wash take the hash of the message this has already been generated if the message is being signed otherwise the first 4K of the message is hashed use the result as a key, use a null IV, and encrypt [rkey, rseed] in CFB mode if [rkey, rseed] is empty, it is filled up with true random bits from the random pool set [rkey, rseed] to the result of the encryption post-wash generate 24 more bytes as before but without XORing in true random bytes encrypt the result in CFB mode using K and IV set [rkey, rseed] to the result of the encryption 15

Private-key ring PGP key and trust management used to store the public key private key pairs owned by a given user essentially a table, where each row contains the following entries: timestamp key ID (indexed) public key encrypted private key user ID (indexed) passphrase hash hash enc enc private key encrypted private key 16

Public-key ring PGP key and trust management used to store public keys of other users a table, where each row contains the following entries: timestamp key ID (indexed) public key user ID (indexed) owner trust signature(s) signature trust(s) key legitimacy 17

Trust management PGP key and trust management owner trust assigned by the user possible values: unknown user usually not trusted to sign usually trusted to sign always trusted to sign ultimately trusted (own key, present in private key ring) signature trust assigned by the PGP system if the corresponding public key is already in the public-key ring, then its owner trust entry is copied into signature trust otherwise, signature trust is set to unknown user 18

Trust management PGP key and trust management key legitimacy computed by the PGP system if at least one signature trust is ultimate, then the key legitimacy is 1 (complete) otherwise, a weighted sum of the signature trust values is computed always trusted signatures has a weight of 1/X usually trusted signatures has a weight of 1/Y X, Y are user-configurable parameters example: X=2, Y=4 1 ultimately trusted, or 2 always trusted, or 1 always trusted and 2 usually trusted, or 4 usually trusted signatures are needed to obtain full legitimacy 19

Example key legitimacy X = 1, Y = 2 G C H B D user PGP key and trust management untrusted / usually untrusted usually trusted always trusted ultimately trusted (you) signature legitimate F A E L J I M K 20

Public-key revocation PGP key and trust management why to revoke a public key? suspected to be compromised (private key got known by someone) re-keying the owner issues a revocation certificate has a similar format to normal public-key certificates contains the public key to be revoked signed with the corresponding private key and disseminates it as widely and quickly as possible if a key is compromised: e.g., Bob knows the private key of Alice Bob can issue a revocation certificate to revoke the public key of Alice even better for Alice 21

Recommended readings Philip Zimmermann on PGP (part of the documentation that comes with the software) docs and faqs on http://www.pgpi.org/ 22