ECE-6612 http://www.ece.gatech.edu/~copeland/jac/6612/ Prof. John A. Copeland john.copeland@ece.gatech.edu 404 894-5177 fax 404 894-0035 Office: Klaus 3362 MWF after class; email or call for office visit Chapter 5a - Pretty Good Privacy (PGP) Email (aka GPG or GnuPG - Gnu Privacy Guard) Electronic Mail In 1982, ARPANET email proposals were published as RFC 821 (www.ietf.org/rfc/rfc0821.txt) and RFC 822 • Email services since are based on these RFC's (+ many later) • CCITT X.400 & ISO MOTIS grew and waned as competitors • "User Agents" UA, and "Message Transfer Agents" MTA Three parts to an email message: • Envelope - information used to forward the contents • Header - standard strings, some added in route. > To: Cc: Bcc: From: Sender: > Received: (added in route), Return-Path: (by final MTA) > MIME headers added by RFC 1341 and 1521 > A. S. Tanenbaum, "Computer Networks," (3rd ed.) p.651 2 MIME Headers Multipurpose Internet Mail Extensions (MIME) RFC 1341 and RFC 1521 • MIME -Version: • Content-Description: version number human-readable string • Content-ID: unique identifier • Content-Transfer-Encoding: > > ASCII (Plain, quoted-printable, or Richtext) Binary (base64) • Content-Type: > > > body encoding nature of the message Image (gif, jpeg), Video (mpeg), Application (Postscript, octet-stream) A.S.Tanenbaum, "Computer Networks," (3rd ed.) p.653 3 Received: from didier.ee.gatech.edu (didier.ee.gatech.edu [130.207.230.10]) by eagle.gcatt.gatech.edu (8.8.8+Sun/8.7.1) with ESMTP id UAA00818 for <copeland@eagle.gcatt.gatech.edu>; Fri, 30 Jul 1999 20:00:35 -0400 (EDT) Received: from bwnewsletter.com (gw2.mcgraw-hill.com [198.45.19.20]) by didier.ee.gatech.edu (8.9.0/8.9.0) with ESMTP id UAA16500 for <jcopeland@ ece.gatech.edu >; Fri, 30 Jul 1999 20:00:33 -0400 (EDT) The last “Received:” line identifies the sender’s IP* Received: from NOP (152.159.60.175) by bwnewsletter.com with SMTP (Eudora Internet Mail Server 2.1); Fri, 30 Jul 1999 16:24:21 -0400 Message-Id: <1.5.4.32.19990730202137.00672900@businessweek.com> X-Sender: mustread@businessweek.com (Unverified) X-Mailer: Windows Eudora Light Version 1.5.4 (32) *Gmail and Yahoo now hide this information on Mime-Version: 1.0 email from a customer Date: Fri, 30 Jul 1999 16:21:37 -0400 To: bwnewsletter@bwnewsletter.com (note: I was on a Bcc: list) From: BW Online <insider@businessweek.com> Subject: BUSINESS WEEK ONLINE INSIDER -- July 30 Content-Type: text/plain; charset="us-ascii" Content-Length: 7694 4 $ nslookup -q=MX ee.gatech.edu (nslookup -> host) ee.gatech.edu preference = 10, mail exchanger = mail.ee.gatech.edu ee.gatech.edu nameserver = eeserv.ee.gatech.edu ee.gatech.edu nameserver = duchess.ee.gatech.edu ee.gatech.edu nameserver = didier.ee.gatech.edu mail.ee.gatech.edu eeserv.ee.gatech.edu internet address = 130.207.230.10 internet address = 130.207.230.5 duchess.ee.gatech.edu internet address = 130.207.230.13 didier.ee.gatech.edu internet address = 130.207.230.10 5 $ nslookup -q=mx mcgraw-hill.com Non-authoritative answer: mcgraw-hill.com preference = 20, mail exchanger = interlock.mgh.com Authoritative answers can be found from: mcgraw-hill.com nameserver = NS-01A.ANS.NET mcgraw-hill.com nameserver = NS-01B.ANS.NET mcgraw-hill.com nameserver = NS-02A.ANS.NET mcgraw-hill.com nameserver = NS-02B.ANS.NET NS-01A.ANS.NET internet address = 199.221.47.7 NS-01B.ANS.NET internet address = 199.221.47.8 NS-02A.ANS.NET internet address = 207.24.245.179 NS-02B.ANS.NET internet address = 207.24.245.178 6 $ nslookup 198.45.19.20 Name: gw2.mcgraw-hill.com Address: 198.45.19.20 $ nslookup 152.159.60.175 [can also use “host” or “dig”] *** can't find 152.159.60.175: Non-existent host/domain $ traceroute 152.159.60.175 [on MS Windows, open DOS, type “tracert”] 1 24.88.12.129 (24.88.12.129 ): 17ms 2 stn-mtn-rtrb.atl.mediaone.net. (24.88.0.254 ): 18ms 3 24.93.64.69 (24.93.64.69 ): 20ms 4 24.93.64.61 (24.93.64.61 ): 17ms 5 24.93.64.57 (24.93.64.57 ): 25ms 6 sgarden-sa-gsr.carolina.rr.com. (24.93.64.30 ): 26ms 7 roc-gsr-greensboro-gsr.carolina. (24.93.64.17 ): 29ms 8 24.93.64.45 (24.93.64.45 ): 38ms 9 sjbrt01-vnbrt01.rr.com. (24.128.6.6 ): 41ms 10 pnbrt01-vnbrt01.rr.com. (24.128.6.85 ): 42ms 11 p217.t3.ans.net. (192.157.69.52 ): 51ms 12 h13-1.t32-0.new-york.t3.ans.net. (140.223.33.21 ): 49ms 13 f0-0.cnss33.new-york.t3.ans.net. (140.222.32.193 ): 53ms 14 s0.enss3339.t3.ans.net. (199.222.77.70 ): 61ms 15 * * * 16 * * * 7 $ whois 152.159.60.175 OrgName: McGraw Hill, Inc OrgID: MCGRAW Address: 148 Princeton Htstown Rd City: Hightstown StateProv: NJ PostalCode: 08520 Country: US RTechHandle: MW1053-ARIN RTechName: Weyman, Mike RTechPhone: +1-555609-426-5291 RTechEmail: mike_weyman@mgh.com RTechHandle: JGE8-ARIN RTechName: Gervasio, John RTechPhone: +1-555-426-5017 RTechEmail: john_gervasio@mgh.com NetRange: 152.159.0.0 - 152.159.255.255 OrgTechHandle: HOSTM339-ARIN CIDR: 152.159.0.0/16 OrgTechName: hostmaster NetName: MHP-NET NameServer: AUTH111.NS.UU.NET OrgTechPhone: +1-555-426-5291 NameServer: AUTH120.NS.UU.NET OrgTechEmail: hostmaster@mgh.com Comment: RegDate: 1992-03-18 Updated: 2004-04-01 # ARIN WHOIS database, last updated 2006-09-24 19:10 # Enter ? for additional hints on searching ARIN's WHOIS database. 8 Security Services for Email Privacy - only read by intended recipient (confidentiality, access, authorization) Authentication - confidence in ID of sender Non-repudiation - proof that sender sent it (attribution) Integrity - assurance of no data alteration Less Common: Proof of submission - was sent to email server Proof of delivery - was received (and read) by addressee (Web Bug) 9 Investigating Email You Receive Look at “Raw” or “Source” Message to see: Headers HTML Links Investigate Source (who sent it) “Lowest Received:” header Active Links in <a href= “http://{IP or URL}”>, {text} </a> Image Links in <img src=“{URL or filename}” </img> Programs to Use nslookup - IP from URL, or URL from IP whois - Register of domain (not URL) traceroute - path of packets through routers 10 Privacy Establishing Keys • Public Key Certification • Exchange Public Keys Multiple Recipients • Encrypt message m with session key, S • Encrypt S with each recipient's key • Send: {S; Kbob}, {S; Kann}, ... , {m; S} Authentication of Source • Hash (MD4, MD5, SHA1) of message, encrypt with private key (provides ciphertext/plaintext pair) • Secret Key K: MIC is hash of K+m, or CBC residue with K (assuming message not encrypted with K). 11 Message Integrity The source authentication methods that include a hash of the message provide MIC Non-repudiation Private-key signing provides non-repudiation. Secret-key method requires a "Notary" to "Sign" a time-stamp + hash of the message Proof of Delivery Acknowledge before reading - can't prove m was read. Acknowledge after - may have read without signing. 12 Names and Addresses X.500 Name (ISO standard) • ?/C=US/O=CIA/OU=drugs/PN='Manny Norriega' Internet Name • m_noriega@mail.drugpc.cia.gov or manny@cia.gov • <user account name> @ <DNS host name or alias> • using the alias "mail" lets mail server program be moved from one host to another • in gatech.edu domain, "mail" is an alias for "vip1.ecc". Old message - later Non-reputiation • Need Notary to sign hash of message, Certificate used to authenticate Public Key, and current CRL 13 PGP Email: Sign (optional) before Encryption (also optional) From "PGP Freeware for MacOS, User's Guide" Version 6.5, Network Associates, Inc., www.pgp.com 14 with signature attached if there is one How PGP Encryption Works R64 Encoding From "PGP Freeware for MacOS, User's Guide" Version 6.5, Network Associates, Inc., www.pgp.com 15 PGP Format Sender Public key Private key 1. ZIP Compress 2. Encrypt with Session Key 3. Encode to text with R64 16 PGP Email Receiver Typed Passphrase Private Key Ring Public Key Ring H - Hash DC - Symmetric Decryption DP - Pub./Priv. Decryption Receiver’s Private Key Sender’s Public Key Session Key ZIP Decompress R64 Decode to binary p.144-145 ed.3 Message Check Signature 17 R64 Encode: Every 3 bytes split into 4 6-bit numbers 011001001011010101101010 n = 0 to 63 * 01011001 01001011 01010101 01101010 printable characters a-z A-Z 0-9 + / in a received message, “=“, “>”, CR, LF, ... are ignored * for most 6-bit inputs, R64(n) just adds 64 (puts an “01” in front) 18 ASCII Characters used for R64 Encoding = used to pad 19 To: ”Jim Jones" <jim_jones@hotmail.com> From: John Copeland <john.copeland@ece.gatech.edu> Subject: ECE8813 : PGP Endeavor... Cc: Bcc: X-Attachments: -----BEGIN PGP MESSAGE----(both 5 –’s required) Version: PGPfreeware 6.5.2 for non-commercial <http://www.pgp.com> (blank line required) qANQR1DBwU4D6cjDU+QAxCwQB/9IZFOIuDSIIQbwa28SQ63DDioFb4bH4bmKfopX cvdDVQ1X53fSJzyLt12RslfQToje8YxRNidYMNg1zDTT7CR9q7LRFoAwBFVtQhWJ jFNXn1+aE8oePReMi6vS0DXSSDfgDuUb1R+c8htHoeik6Oebe9R90J3d51yyCojV AHT01kWlpvJIZGKyT3PdCh9wlr1hQsUGto10t32fBGsJCXew/EClb554AnyYSzP8 KAjuw1NdKOBlze0DCiO6Z5z+DAxAwlqTxcm42tthF5zFbTk4UKV6ORzIuHmRO7xR 5Io5nlM7T11PDaWqsjLr2ttrSySzARt5fAJ9l1mOH+hSl1YebRjZPaxWw+bsYuqN a0GYr2UdwgE1u5HQuhZ+bOIbSliShfKiNuDGHe6VJrchROHnC9Po2JWAOD7wMFq6 STZ/MPGzViaCUaaWPLSKleiURUh4Ly5/LaNYkaumO9vh+241FPqtZKqRVmHRg6dY UdgoI3yfc3JrvepFQT1yeRjEVrLQiUtyhcwdVoLjofgerGAfe3YuDCxM6wLIuCf7 Ro9edu01qTiXJj25cXHxeNMdA1txLxR3ontbExow+ML5kxs= =68Hd -----END PGP MESSAGE----(both 5 –’s required) Radix-64 encoding of a binary (all 8-bit bytes) message 6-bits at a time into 64 printable ASCII characters (A-Z, a-z , 0-9, +, / bytes 65-90, 97-122, 48-57, 47, 43) pad with =. 20 21 Public Key Information - PGP Commercial 22 PGP Certificates Anyone can issue a Certificate to anyone, including themselves. Certificates can be revoked by the issuer, if a Certificate-Server is used that has a Revocation Database. Privacy Enhanced Mail, another standard Where PEM expands data into canonical form, • (+33% for text, +78% after encryption & R64) PGP compresses data using ZIP(-50%), encrypts (optional), then converts to R64 encoding (+33%) 23 Things of which to be aware • Neither PEM nor PGP encodes mail headers • Subject can give away useful info •To and From give an intruder traffic analysis info • PGP gives recipient the original file name and modification date. • PEM may be used in a local system with unknown trustworthiness of certificates • Certificates often verify that sender is "John Smith" but he may not be the "John Smith” you think. Anyone can copy pictures from the Web. • Public PGP Key servers allow anyone to send you PGP encrypted mail, but their signature is easily forged. They can give your name & mail address to spammers. Avoid them. Get PGP keys directly from owners. 24 http://www.gnupg.org/ GPGTools Includes binaries for GnuPG. https://www.gpgtools.org Email Program http://www.mozilla.org/en-US/thunderbird/ https://addons.mozilla.org/en-US/ thunderbird/addon/enigmail/ (Extension for Thunderbird, NOT recommended) 25 Using GnuPG (PGP) 2016: GnuPG has good GUI interfaces for Thunderbird, Apple "Mail", and probably MS Outlook. ---------------------------------------------------------------------------Install GPGTools : now you have the command line programs available to generate keys, maintain key-chain files, convert text files (.asc) into encrypted and/or signed ciphertext files (.pgp). The .pgp files can be emailed as attachments or, if the are “armored” (R64 encoded,) they can be pasted into the body of an email message. ------------------------------------------------------------------Install Thunderbird email program. Under the “Tools” menu, select “Add-ons”. In the box at upper right that says “Search all add-ons”, type “Enigmail”. If found, install it; otherwise download the .xpi file from the link on previous slide, and then try again. Once installed you will see in the top Thunderbird menu “OpenPGP” next to “Tools” 26 Using Thunderbird with GnuPG Read: https://www.gnupg.org/documentation/index.html (link) for critical stuff like this: “You need (to send PGP mail): > a secret key matching the mail address you want to write from (see Mail.app >Settings > Accounts) > the public key of the recipient > recipients and senders mail address have to perfectly match the mail addresses (as IDs) in the keys being used. 2016 ???: For the Encrypt button to become available, you need to enter the recipients mail address - only then will that button be enabled (and only if you have the matching Public Key).” 27 Configuring Thunderbird for GT Mail Top Menu: File / New / Existing Mail Account ... Type in your User Name and password. Thunderbird will try to set up the configuration automatically, and fail. Then you can input the following information: User Name: (your GT id – primary mail name) Receiving Mail Server Protocol: imap (or pop – if you want to download mail) Server Name: imap.mail.gatech.edu (or pop.mail.gatech.edu) Server Port: 995 Security: SSL/TLS Authentication: Normal Password Sending Mail Server Protocol: smtp Server Name: smtp.mail.gatech.edu Server Port: 465 Security: SSL/TLS Authentication: Normal Password 28 A PGP Email or .asc File Looks Like This: http://cryptome.org/jya/openpgp-01.htm -----BEGIN PGP MESSAGE----Version: 9.9.1.287 Comment: Do not worry about "UNTRUSTED Good Signature" qANQR1DBwEwD7GfrZjlPkZ0BB/9YW6/cTpNVkwdyuTmlo/fcTB0lIjy6C4LnUtx2 10BwJCwdcFHcIkS9Iw0+/9wKNafArxciCwpSM2BBYePksl2JQUf7in8MILirKtd6 Foy9yEJmtD5JzaVDF1tYElT9ntzNk2jvcengkD/PhkmEaT+VIY1Cw5Bf5HP6OPOE J4RqTRjaGjkGrmcP3zywjESzfk0iN2z2mtsDHufFqJ0hvQAusAZ2c5GjK9jUsvHy 8gzBW9aFlINHpWL90G3XGtaKfudM9QGTjXIs99Pfdj08jUd/xSn+FsDW6ulhlluW pCwohtN06qN6VvI2vbC3eGV5RCd+5b6iR3O26hY/NOssjI5jwcBOA72/fxTdBTHg EAP8DJVFBQzRjn2RBWr7Bo+zV3DlHXMr9kU02szQ+h4WNU7ffEakhlnwDoqnHvh3 QfH/8G7heOlGjM3hITZj8rw66OQ/s4o/8o7N1wERhJYc4/oWOmAopyy8jIliB9AK n90fKWbfrTUrShF1qJdQuLMV0E30lHsKDKDyZ9vhklt2D20D/3Yl0zRlEk4w5x9c i3mZC2XpKsgmttRABg65R1E4tQqPNiQTuL3YrpQfgLT9rMpW5UmyppSuZvD9CpsW IG7I8MT33eY5Eh4twTdErvpXN+uUWDadiPb6J8ifpBfzhuzWhiom7KAI3+4y6OX5 sYyyZHtqxNxg6ziZ76B/H+/vaegD0sBrATEJtdnDAipPogZYAzwuQ8PCO985wHuu 2aFbPaVqLPMWwwFck3bvV46E49RWIPgkJmpMiimaG236HdQbF4nhZgUjfggGE3cm qP9eChxuV8kyZLIgkh1CaKP/XQSZlpl2js+D0M1Mq6ef4BZ3BNW+TPLjYNGM1Yt/ +0NlLn+AxUvZmVNJvuxdeNKIn7jkpK5w466wRaiffujLzwJdzwISIofm7oEp88dP A9udzotKGM+FOHi3tHwPiox+l/PdMv34AlMPY2c2qDEcwBSKAYR8ASBM/nulY6bK wZwbYGlSdxT/FTDb9i32+WuUU7HeUPZvFizUIPwFzPeI8RlkaLdhsElmbPuGar5l C7PMoOHuCnnSB4DdgUEqM5ScJRI6ToGDAjh3XZ9BRwfD0O8= =auCB -----END PGP MESSAGE----DO NOT LET YOUR EMAIL PROGRAM REFORMAT THIS AS RTF OR HTML. Syntax Start Comments “ 1 Blank Line R64 <=78 char. “ “ ‘ “ “ “ “ “ “ “ “ “ “ “ “ “ (pad =‘s) = Checksum Stop 29