1 / 46

A Security Primer

A Security Primer. PGP S/MIME. SSL TLS. IPSec. Symmetric Key. Cryptography. Public Key. Security Topics. Algorithms Encryption Key Mgmt. Algorithms Encryption Digital Signatures Certificates. Need for message security. Privacy Am I sure no body else knows this? Authentication

Download Presentation

A Security Primer

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Security Primer

  2. PGP S/MIME SSL TLS IPSec Symmetric Key Cryptography Public Key Security Topics Algorithms Encryption Key Mgmt Algorithms Encryption Digital Signatures Certificates

  3. Need for message security • Privacy • Am I sure no body else knows this? • Authentication • Am I sure that the sender is genuine and not an imposter? • Integrity • Am I sure that the message has not been tampered on its way? • Non-repudiation • What will I do if the sender denies sending the message?

  4. Cryptography

  5. Cryptography • Jargon • Cryptography means “Secret Writing” • Original message – plaintext • Encrypted message – ciphertext • Encryption and decryption algorithms – ciphers • The number value that the cipher operates on –key • Types • Symmetric key cryptography • Public key cryptography

  6. Symmetric Key Cryptography Alice Bob Shared secret key Encrypt Decrypt 1 2 Network • Features • Same key used by sender and receiver • Algorithm for decryption is inverse of the algorithm used for encryption

  7. Symmetric Key (contd.) • Algorithms • DES (Data Encryption Standard) • Triple DES • Advantages • Efficient algorithms (takes less time to encrypt and decrypt) • Simple • Disadvantages • Each pair must have unique keys. i.e. N people will require N(N-1)/2 keys • Distribution of keys between two parties can be difficult

  8. Public Key Cryptography Bob’s public key Bob Alice To the public 2 Encrypt Decrypt 1 Bob’s private key Network • Features • There are two keys: a private key and a public key • The private key is kept by the receiver and the public key is announced to the public

  9. Public Key (contd.) • Algorithms • RSA (Rivest, Shamir and Adleman) • Advantages • Need to distribute only the public key. Private key can be safely kept • Lesser number of keys i.e. 1 million users may need only 2 million keys (as compared to 500 billion, if they use symmetric key cryptography) • Disadvantages • Complex algorithms • Association between the public key and the entity must be verified (need for certificates)

  10. Digital Signatures • Features • Enables integrity, authentication and non-repudiation • Private keys are used to sign a message (or hash) • Public keys are used to verify the signatures • Hash Functions • Signing the whole message is inefficient • Hash functions are used to create a unique digest of the message • Popular hashing algorithms are SHA-1 (secure hash algorithm) and MD5 (message digest)

  11. Digital Signatures (contd.) Sender site Alice 3 + To Bob Message plus Signed Digest 1 Alice’s private key Hash Function Encrypt Digest Signed Digest 2

  12. Digital Signatures (contd.) Receiver site Bob From Alice 4 5 Decrypt Hash Function Alice’s public key 6 Digest Digest X Compare

  13. Key Management • In symmetric key systems: • We need a mechanism to share the key between sender and receiver, and also reduce the number of keys • In some cases, public key systems also use symmetric key to encrypt a message and encrypt the key using public key • Solution: session keys. Symmetric keys are created for a session and destroyed when the session is over • Techniques for key management: • Deffie Hellman method • Key distribution center (Needham-Schroeder protocol and Otway-Rees protocol)

  14. Key Management (contd.) • In public key systems: • Alice needs to know whether Bob’s public key is genuine • Solution: Certificates • Bob goes to a Certification Authority (CA), e.g. VeriSign, which binds Bob’s public key to an entity called certificate. • Certificate is signed by CA, which has a well known public key, and hence cannot be forged. • Alice can verify the CA’s signature and hence be sure about Bob’s public key

  15. Certificates • Certificate is described by X.509 protocol • X.509 uses ASN.1 (Abstract Syntax Notation 1) to define the fields • X.509 fields:

  16. Chain of Trust • Query propagation similar to DNS queries • At any level, the CA can certify performance of CAs in the next level i.e. level-1 CA can certify level-2 CAs. • Thumb-rule: Everyone trusts Root CA Root CA Level-1 CA 1 Level-1 CA 2 Level-2 CA 1 Level-2 CA 2 Level-2 CA 3 Level-2 CA 4 Level-2 CA 5 Level-2 CA 6

  17. Security at IP Level

  18. IPSec – IP Security • Secures the IP packet by adding additional header • Selection of encryption, authentication and hashing methods left to the user • It requires a logical connection between two hosts, achieved using Security Association (SA) • An SA is defined by: • A 32-bit security parameter index (SPI) • Protocol type: Authentication Header (AH) Or Encapsulating Security Payload (ESP) • The source IP address Transport Mode IP Header IPSec Header Rest of the Packet OR Tunnel Mode New IP Header IPSec Header IP Header Rest of the Packet

  19. Security at Transport Layer

  20. Secure Sockets Layer (SSL) • Developed by Netscape • Used to establish secure connection between two parties • Protocol similar to TLS (p.t.o) • OpenSSL (www.openssl.org) provides libraries which implement SSL and TLS • Several application layer security protocols run on top of SSL. E.g. Secure HTTP (https)

  21. Transport Layer Security (TLS) • Designed by IETF; derived from SSL • Lies on top of Transport layer • Uses two protocols: • Handshake Protocol Hello Certificate Secret key End Handshaking Encrypted Ack Client Server • Data exchange protocol • Uses secret key to encrypt data. • Secret key already shared during handshake

  22. Transport Layer Security (TLS) Browser sends a hello message that includes TLS version and other preferences • Designed by IETF; derived from SSL • Lies on top of Transport layer • Uses two protocols: • Handshake Protocol Hello Certificate Secret key End Handshaking Encrypted Ack Client Server • Data exchange protocol • Uses secret key to encrypt data. • Secret key already shared during handshake

  23. Transport Layer Security (TLS) Server sends a certificate that has its public key • Designed by IETF; derived from SSL • Lies on top of Transport layer • Uses two protocols: • Handshake Protocol Hello Certificate Secret key End Handshaking Encrypted Ack Client Server • Data exchange protocol • Uses secret key to encrypt data. • Secret key already shared during handshake

  24. Transport Layer Security (TLS) Browser verifies the certificate. It generates a session key, encrypts with server’s public key and sends it to the server • Designed by IETF; derived from SSL • Lies on top of Transport layer • Uses two protocols: • Handshake Protocol Hello Certificate Secret key End Handshaking Encrypted Ack Client Server • Data exchange protocol • Uses secret key to encrypt data. • Secret key already shared during handshake

  25. Transport Layer Security (TLS) Browser sends handshake terminating message, encrypted by the secret key • Designed by IETF; derived from SSL • Lies on top of Transport layer • Uses two protocols: • Handshake Protocol Hello Certificate Secret key End Handshaking Encrypted Ack Client Server • Data exchange protocol • Uses secret key to encrypt data. • Secret key already shared during handshake

  26. Transport Layer Security (TLS) Server decrypts secret key with its private key. Uses secret key to decode message ad sends encrypted ack • Designed by IETF; derived from SSL • Lies on top of Transport layer • Uses two protocols: • Handshake Protocol Hello Certificate Secret key End Handshaking Encrypted Ack Client Server • Data exchange protocol • Uses secret key to encrypt data. • Secret key already shared during handshake

  27. Security at Application Layer

  28. Pretty Good Privacy (PGP) Sender site One-time secret key Alice 3 + Encrypt Bob’s public key 4 Message plus Signed Digest 1 Alice’s private key Hash Function Encrypt 5 Encrypt Digest Signed Digest 2 + 6 Encrypted (secret key & message + digest) to Bob

  29. Pretty Good Privacy (PGP) Sender site One-time secret key Alice 3 + Encrypt Bob’s public key 4 Message plus Signed Digest 1 Alice’s private key Hash Function Encrypt 5 Encrypt Digest Signed Digest 2 + 6 Email message is hashed to create digest Encrypted (secret key & message + digest) to Bob

  30. Pretty Good Privacy (PGP) Sender site One-time secret key Alice 3 + Encrypt Bob’s public key 4 Message plus Signed Digest 1 Alice’s private key Hash Function Encrypt 5 Encrypt Digest Signed Digest 2 + 6 Digest is encrypted using Alice’s private key Encrypted (secret key & message + digest) to Bob

  31. Pretty Good Privacy (PGP) Sender site One-time secret key Alice 3 + Encrypt Bob’s public key 4 Message plus Signed Digest 1 Alice’s private key Hash Function Encrypt 5 Encrypt Digest Signed Digest 2 + 6 Signed digest added to the message Encrypted (secret key & message + digest) to Bob

  32. Pretty Good Privacy (PGP) Sender site One-time secret key Alice 3 + Encrypt Bob’s public key 4 Message plus Signed Digest 1 Alice’s private key Hash Function Encrypt 5 Encrypt Digest Signed Digest 2 + 6 The message and digest are encrypted using one time secret key created by Alice Encrypted (secret key & message + digest) to Bob

  33. Pretty Good Privacy (PGP) Sender site One-time secret key Alice 3 + Encrypt Bob’s public key 4 Message plus Signed Digest 1 Alice’s private key Hash Function Encrypt 5 Encrypt Digest Signed Digest 2 + 6 The secret key is encrypted using Bob’s public key Encrypted (secret key & message + digest) to Bob

  34. Pretty Good Privacy (PGP) Sender site One-time secret key Alice 3 + Encrypt Bob’s public key 4 Message plus Signed Digest 1 Alice’s private key Hash Function Encrypt 5 Encrypt Digest Signed Digest 2 + 6 The encrypted message, digest and secret key is sent to Bob Encrypted (secret key & message + digest) to Bob

  35. PGP (contd.) Receiver site Bob’s private key One-time secret key 7 Encrypted (secret key & message + digest) Decrypt Bob Decrypt Encrypted (message + digest) 8 9 10 Decrypt Hash Function Alice’s public key 11 Digest Digest X Compare

  36. PGP (contd.) Receiver site Bob’s private key One-time secret key 7 Encrypted (secret key & message + digest) Decrypt Bob Decrypt Encrypted (message + digest) 8 9 10 Decrypt Hash Function Alice’s public key Bob decrypts the secret key with his private key 11 Digest Digest X Compare

  37. PGP (contd.) Receiver site Bob’s private key One-time secret key 7 Encrypted (secret key & message + digest) Decrypt Bob Decrypt Encrypted (message + digest) 8 9 10 Decrypt Hash Function Alice’s public key Bob decrypts the encrypted message and digest using the decrypted secret key 11 Digest Digest X Compare

  38. PGP (contd.) Receiver site Bob’s private key One-time secret key 7 Encrypted (secret key & message + digest) Decrypt Bob Decrypt Encrypted (message + digest) 8 9 10 Decrypt Hash Function Alice’s public key Bob decrypts the encrypted digest with Alice’s public key 11 Digest Digest X Compare

  39. PGP (contd.) Receiver site Bob’s private key One-time secret key 7 Encrypted (secret key & message + digest) Decrypt Bob Decrypt Encrypted (message + digest) 8 9 10 Decrypt Hash Function Alice’s public key Bob hashes the received message to create a digest (for message integrity) 11 Digest Digest X Compare

  40. PGP (contd.) Receiver site Bob’s private key One-time secret key 7 Encrypted (secret key & message + digest) Decrypt Bob Decrypt Encrypted (message + digest) 8 9 10 Decrypt Hash Function Alice’s public key The two digests are compared, thus providing authentication and integrity 11 Digest Digest X Compare

  41. Sample PGP Signature From: alice@wonderland.com Date: Mon, 16 Nov 1998 19:03:30 -0600 Subject: Message signed with PGP MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Description: "cc:Mail Note Part" -----BEGIN PGP SIGNED MESSAGE----- Bob, This is a message signed with PGP, so you can see how much overhead PGP signatues introduce. Compare this with a similar message signed with S/MIME. Alice -----BEGIN PGP SIGNATURE----- Version: PGP for Personal Privacy 5.0 Charset: noconv iQCVAwUBM+oTwFcsAarXHFeRAQEsJgP/X3noON57U/6XVygOFjSY5lTpvAduPZ8M aIFalUkCNuLLGxmtsbwRiDWLtCeWG3k+7zXDfx4YxuUcofGJn0QaTlk8b3nxADL0 O/EIvC/k8zJ6aGaPLB7rTIizamGOt5n6/08rPwwVkRB03tmT8UNMAUCgoM02d6HX rKvnc2aBPFI= =mUaH -----END PGP SIGNATURE-----

  42. S/MIME • Working principle similar to PGP • S/MIME uses multipart MIME type to include the cryptographic information with the message • S/MIME uses Cryptographic Message Syntax (CMS) to specify the cryptographic information • Creating S/MIME message: MIME Entity CMS Object S/MIME Certificates MIME Wrapping CMS Processing Algo identifiers

  43. Sample SMIME Signature From: alice@wonderland.com Date: Mon, 16 Nov 1998 19:03:08 -0600 Subject: Message signed with S/MIME MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="simple boundary" --simple boundary Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Description: "cc:Mail Note Part" Bob, This is a message signed with S/MIME, so you can see how much overhead S/MIME signatures introduce. Compare this with a similar message signed with PGP. Alice --simple boundary Content-Type: application/octet-stream; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" MIIQQwYJKoZIhvcNAQcCoIIQNDCCEDACAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCDnww ggnGMIIJL6ADAgECAhBQQRR9a+DX0FHXfQOVHQhPMA0GCSqGSIb3DQEBBAUAMGIxETAPBgNVBAcT CEludGVybmV0MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE0MDIGA1UECxMrVmVyaVNpZ24gQ2xh c3MgMSBDQSAtIEluZGl2aWR1YWwgU3Vic2NyaWJlcjAeFw05NzAxMjcwMDAwMDBaFw05ODAxMjcy MzU5NTlaMIIBFzERMA8GA1UEBxMISW50ZXJuZXQxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTQw MgYDVQQLEytWZXJpU2lnbiBDbGFzcyAxIENBIC0gSW5kaXZpZHVhbCBTdWJzY3JpYmVyMUYwRAYD

  44. Sample SMIME Signature UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNzIDEgUHVibGljIFByaW1h cnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNOTYwNjI3MDAwMDAwWhcNOTkwNjI3MjM1OTU5 WjBiMREwDwYDVQQHEwhJbnRlcm5ldDEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNDAyBgNVBAsT K1ZlcmlTaWduIENsYXNzIDEgQ0EgLSBJbmRpdmlkdWFsIFN1YnNjcmliZXIwgZ8wDQYJKoZIhvcN AQEBBQADgY0AMIGJAoGBALYUps9N0AUN2Moj0G+qtCmSY44s+G+W1y6ddksRsTaNV8nD/RzGuv4e CLozypXqvuNbzQaot3kdRCrtc/KxUoNoEHBkkdc+a/n3XZ0UQ5tul0WYgUfRLcvdu3LXTD9xquJA 8lQ5vBbuz3zsuts/bCqzFrGGEp2ukzTVuNXQ9z6pAgMBAAGjMzAxMA8GA1UdEwQIMAYBAf8CAQEw CwYDVR0PBAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIBBjANBgkqhkiG9w0BAQIFAAOBgQDB+vcC51fK EXXGnAz6K3dPh0UXO+PSwdoPWDmOrpWZA6GooTj+eZqTFwuXhjnHymg0ZrvHiEX2yAwF7r6XJe/g 1G7kf512XM59uhSirguf+2dbSKVnJa8ZZIj2ctgpJ6o3EmqxKK8ngxhlbI3tQJ5NxHiohuzpLFC/ pvkN27CmSjCCAjEwggGaAgUCpAAAATANBgkqhkiG9w0BAQIFADBfMQswCQYDVQQGEwJVUzEXMBUG A1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNzIDEgUHVibGljIFByaW1hcnkgQ2Vy dGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNOTYwMTI5MDAwMDAwWhcNOTkxMjMxMjM1OTU5WjBfMQsw CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNzIDEgUHVi bGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwgZ8wDQYJKoZIhvcNAQEBBQADgY0A MIGJAoGBAOUZv22jVmEtmUhx9mfeuY3rt56GgAqRDvo4Ja9GiILlc6igmyRdDR/MZW4MsNBWhBiH mgabEKFz37RYOWtuwfYV1aioP6oSBo0xrH+wNNePNGeICc0UEeJORVZpH3gCgNrcR5EpuzbJY1zF 4Ncth3uhtzKwezC6Ki8xqu6jZ9rbAgMBAAEwDQYJKoZIhvcNAQECBQADgYEAUnO6mlXc3D+CfbCQ mGIqgkx2AG4lPdXCCXBXAQwPdx8YofscYA6gdTtJIUH+p1wtTEJJ0/8o2Izqnf7JB+J3glMj3lXz zkST+vpMvco281tmsp7I8gxeXtShtCEJM8o7WfySwjj8rdmWJOAt+qMp9TNoeE60vJ9pNeKomJRz O8QxggGPMIIBiwIBATB2MGIxETAPBgNVBAcTCEludGVybmV0MRcwFQYDVQQKEw5WZXJpU2lnbiwg SW5jLjE0MDIGA1UECxMrVmVyaVNpZ24gQ2xhc3MgMSBDQSAtIEluZGl2aWR1YWwgU3Vic2NyaWJl cgIQUEEUfWvg19BR130DlR0ITzAJBgUrDgMCGgUAoIGxMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0B BwEwIwYJKoZIhvcNAQkEMRYEFE5W9YE9GtbjlD5A52LLaEi96zCKMBwGCSqGSIb3DQEJBTEPFw05 NzA4MDcxODQwMTBaMFIGCSqGSIb3DQEJDzFFMEMwCgYIKoZIhvcNAwcwDgYIKoZIhvcNAwICAgCA MAcGBSsOAwIHMA0GCCqGSIb3DQMCAgFAMA0GCCqGSIb3DQMCAgEoMA0GCSqGSIb3DQEBAQUABEDI 3mvHr3SAJkdoMqxZnSjJ+5gfZABJGQVOfyEfcKncY/RYFvWuHBAEBySImIQZjMgMNrQLL7QXJ/eI xIwDet+c --simple boundary--

  45. References

  46. References • Overview of cryptography: • www.rsalabs.com/faq/ • http://www.faqs.org/faqs/cryptography-faq/part06/ • Implementation of SSL and TSL: • www.openssl.org • S/MIME Internet task force: • www.imc.org/ietf-smime/index.html • Relationship between S/MIME and PGP/MIME: • www.imc.org/smime-pgpmime.html

More Related