PGP from: and Network Security

Fifth Edition by William Stallings

Lecture slides by Lawrie Brown(*)

(*) adjusted by Fabrizio d'Amore Electronic Mail Security

Despite the refusal of VADM Poindexter and LtCol North to appear, the Board's access to other sources of information filled much of this gap. The FBI provided documents taken from the files of the National Security Advisor and relevant NSC staff members, including from the PROF system between VADM Poindexter and LtCol North. The PROF messages were conversations by computer, written at the time events occurred and presumed by the writers to be protected from disclosure. In this sense, they provide a first-hand, contemporaneous account of events. —The Tower Commission Report to President Reagan on the Iran-Contra Affair, 1987

May 2012 PGP - S/MIME 2 Security

Ø email is one of the most widely used and regarded network services Ø currently message contents are not secure

l may be inspected either in transit

l or by suitably privileged users on destination system

May 2012 PGP - S/MIME 3 Email Security Enhancements

Ø confidentiality

l protection from disclosure Ø

l of sender of message Ø message integrity

l protection from modification Ø non-repudiation of origin

l protection from denial by sender

May 2012 PGP - S/MIME 4 (PGP)

Ø widely used de facto secure email Ø developed by Ø selected best available crypto algs to use Ø integrated into a single program Ø on , PC, Macintosh and other systems Ø originally free, now also have commercial versions available

May 2012 PGP - S/MIME 5 PGP Operation – Authentication 1. sender creates message 2. make SHA-1 160-bit hash of message 3. attached RSA signed hash to message 4. receiver decrypts & recovers hash code 5. receiver verifies received message hash

May 2012 PGP - S/MIME 6 PGP Operation – Confidentiality 1. sender forms 128-bit random session key 2. encrypts message with session key 3. attaches session key encrypted with RSA 4. receiver decrypts & recovers session key 5. session key is used to decrypt message

May 2012 PGP - S/MIME 7 PGP Operation – Confidentiality & Authentication

Ø can use both services on same message

l create signature & attach to message

l encrypt both message & signature

l attach RSA/ElGamal encrypted session key

May 2012 PGP - S/MIME 8 PGP Operation – Compression

Ø by default PGP compresses message after signing but before encrypting

l so can store uncompressed message & signature for later verification

l because compression is non deterministic (result of compression depends upon user preferences) Ø uses compression algorithm

May 2012 PGP - S/MIME 9 PGP Operation – Email Compatibility

Ø when using PGP will have binary data to send (encrypted message etc.) Ø however email was designed only for text Ø hence PGP must encode raw binary data into printable ASCII characters Ø uses radix-64 algorithm (aka "ASCII Armour")

l maps 3 bytes to 4 printable chars (it's the Base64 of MIME)

l also appends a 24-bit CRC Ø PGP also segments messages if too big

May 2012 PGP - S/MIME 10 PGP Operation – Summary

May 2012 PGP - S/MIME 11 PGP Session Keys

Ø need a session key for each message

l of varying sizes: 56-bit DES, 128-bit CAST or IDEA, 168-bit Triple-DES Ø generated using ANSI X12.17 mode Ø uses random inputs taken from previous uses and from keystroke timing of user

May 2012 PGP - S/MIME 12 PGP Public & Private Keys

Ø since many public/private keys may be in use (by one user), need to identify which is actually used to encrypt session key in a message

l could send full public-key with every message

l but this is inefficient Ø rather use a key identifier (ID) based on key

l is least significant 64-bits of the key

l will very likely be unique Ø also use key ID in signatures

May 2012 PGP - S/MIME 13 PGP Message Format

May 2012 PGP - S/MIME 14 PGP Key Rings

Ø each PGP user has a pair of keyrings:

l public-key ring contains all the public-keys of other PGP users known to this user, indexed by key ID

l private-key ring contains the public/private key pair(s) for this user, indexed by key ID & encrypted keyed from a hashed passphrase Ø security of private keys thus depends on the -phrase security

May 2012 PGP - S/MIME 15 PGP Key Rings

May 2012 PGP - S/MIME 16 PGP Message Generation

May 2012 PGP - S/MIME 17 PGP Message Reception

May 2012 PGP - S/MIME 18 PGP

Ø rather than relying on certificate authorities Ø in PGP every user is own CA

l can sign keys for users they know directly Ø forms a “

l trust keys have signed

l can trust keys others have signed if have a chain of signatures to them Ø key ring includes trust indicators Ø users can also revoke their keys

May 2012 PGP - S/MIME 19 web of trust (Zimmermann)

As time goes on, you will accumulate keys from other people that you may want to designate as trusted introducers. Everyone else will each choose their own trusted introducers. And everyone will gradually accumulate and distribute with their key a collection of certifying signatures from other people, with the expectation that anyone receiving it will trust at least one or two of the signatures. This will cause the emergence of a decentralized fault- tolerant web of confidence for all public keys.

May 2012 PGP - S/MIME 20 PGP Trust Model Example

May 2012 PGP - S/MIME 21 PGP today

Ø OpenPGP is an Internet standard (RFC 4880, 2007) Ø many e-mail clients provide OpenPGP- compliant email security Ø best known implementations of OpenPGP

l PGP by PGP Inc.

l GNU Privacy Guard (GnuPG or GPG) by The Foundation. Open-source

May 2012 PGP - S/MIME 22 example

Ø supported email clients

l

l Mozilla SeaMonkey

l Eudora 1.0 OSE

l Ø GnuPG Software Ø EnigMail plugin (http://enigmail.mozdev.org)

l language packs available

May 2012 PGP - S/MIME 23 May 2012 PGP - S/MIME 24 S/MIME (Secure/Multipurpose Internet Mail Extensions)

Ø security enhancement to MIME email

l original Internet RFC822 email was text only

l MIME provided support for varying content types and multi-part messages

l with encoding of binary data to textual form

l S/MIME added security enhancements Ø have S/MIME support in many mail agents

l eg MS Outlook, Mozilla, Mac Mail etc

May 2012 PGP - S/MIME 25 S/MIME Functions

Ø enveloped data

l encrypted content and associated keys Ø signed data

l encoded message + signed digest Ø clear-signed data

l cleartext message + encoded signed digest Ø signed & enveloped data

l nesting of signed & encrypted entities

May 2012 PGP - S/MIME 26 S/MIME Cryptographic Algorithms

Ø digital signatures: DSS & RSA Ø hash functions: SHA-1 & MD5 Ø session key : ElGamal & RSA Ø message encryption: AES, Triple-DES, RC2/40 and others Ø MAC: HMAC with SHA-1 Ø have process to decide which algs to use

May 2012 PGP - S/MIME 27 S/MIME Messages

Ø S/MIME secures a MIME entity with a signature, encryption, or both Ø forming a MIME wrapped PKCS object Ø have a range of content-types:

l enveloped data

l signed data

l clear-signed data

l registration request

May 2012l certificate only messagePGP - S/MIME 28 S/MIME Certificate Processing

Ø S/MIME uses X.509 v3 certificates Ø managed using a hybrid of a strict X.509 CA hierarchy & PGP’s web of trust Ø each client has a list of trusted CA’s certs Ø and own public/private key pairs & certs Ø certificates must be signed by trusted CA’s

May 2012 PGP - S/MIME 29 Certificate Authorities

Ø have several well-known CA’s Ø Verisign one of most widely used Ø Verisign issues several types of Digital IDs Ø increasing levels of checks & hence trust Class Identity Checks Usage 1 name/email check web browsing/email 2 + enroll/addr check email, subs, s/w validate 3 + ID documents e-banking/service access

May 2012 PGP - S/MIME 30 S/MIME Enhanced Security Services

Ø 3 proposed enhanced security services:

l signed receipts

l security labels

l secure mailing lists

May 2012 PGP - S/MIME 31