The document provides an overview of security topics including algorithms, encryption, digital signatures, certificates, and cryptography. It discusses the need for message security, privacy, authentication, integrity and non-repudiation. It then describes symmetric key cryptography, public key cryptography, digital signatures, key management, certificates, and security at the IP, transport and application layers including SSL/TLS, IPSec, PGP and S/MIME.
Security Topics AlgorithmsEncryption Digital Signatures Certificates Algorithms Encryption Key Mgmt PGP S/MIME SSL TLS IPSec Cryptography Symmetric Key Public Key
3.
Need for messagesecurity 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?
Cryptography JargonCryptography 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 CryptographyEncrypt Network Decrypt Shared secret key Features Same key used by sender and receiver Algorithm for decryption is inverse of the algorithm used for encryption Alice Bob 1 2
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 CryptographyEncrypt Network Decrypt Bob’s public key Alice Bob Bob’s private key To the public 1 2 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 FeaturesEnables 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.)Alice Hash Function Digest Encrypt Alice’s private key + Signed Digest Message plus Signed Digest To Bob 1 2 3 Sender site
12.
Digital Signatures (contd.)Receiver site Bob From Alice Decrypt Hash Function Digest Alice’s public key Digest X Compare 4 5 6
13.
Key Management Insymmetric 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 isdescribed by X.509 protocol X.509 uses ASN.1 (Abstract Syntax Notation 1) to define the fields X.509 fields: The subject public key and the algorithms that use it Public Key The entity whose public key is being certified Subject Name Start and end period that certificate is valid Validity Period The name of the CA defined by X.509 Issuer The certificate signature Signature The unique identifier used by the CA Serial Number Version number of X.509 Version Explanation Field
16.
Chain of TrustQuery 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-2 CA 3 Level-2 CA 4 Level-2 CA 5 Level-2 CA 6 Level-2 CA 2 Level-2 CA 1 Level-1 CA 2
IPSec – IPSecurity 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 IP Header IPSec Header Rest of the Packet New IP Header IP Header IPSec Header Rest of the Packet Transport Mode Tunnel Mode OR
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 Data exchange protocol Uses secret key to encrypt data. Secret key already shared during handshake Hello Certificate Secret key End Handshaking Encrypted Ack Client Server
22.
Transport Layer Security(TLS) Designed by IETF; derived from SSL Lies on top of Transport layer Uses two protocols: Handshake Protocol Data exchange protocol Uses secret key to encrypt data. Secret key already shared during handshake Hello Certificate Secret key End Handshaking Encrypted Ack Client Server Browser sends a hello message that includes TLS version and other preferences
23.
Transport Layer Security(TLS) Designed by IETF; derived from SSL Lies on top of Transport layer Uses two protocols: Handshake Protocol Data exchange protocol Uses secret key to encrypt data. Secret key already shared during handshake Hello Certificate Secret key End Handshaking Encrypted Ack Client Server Server sends a certificate that has its public key
24.
Transport Layer Security(TLS) Designed by IETF; derived from SSL Lies on top of Transport layer Uses two protocols: Handshake Protocol Data exchange protocol Uses secret key to encrypt data. Secret key already shared during handshake Hello Certificate Secret key End Handshaking Encrypted Ack Client Server Browser verifies the certificate. It generates a session key , encrypts with server’s public key and sends it to the server
25.
Transport Layer Security(TLS) Designed by IETF; derived from SSL Lies on top of Transport layer Uses two protocols: Handshake Protocol Data exchange protocol Uses secret key to encrypt data. Secret key already shared during handshake Hello Certificate Secret key End Handshaking Encrypted Ack Client Server Browser sends handshake terminating message, encrypted by the secret key
26.
Transport Layer Security(TLS) Designed by IETF; derived from SSL Lies on top of Transport layer Uses two protocols: Handshake Protocol Data exchange protocol Uses secret key to encrypt data. Secret key already shared during handshake Hello Certificate Secret key End Handshaking Encrypted Ack Client Server Server decrypts secret key with its private key. Uses secret key to decode message ad sends encrypted ack
Pretty Good Privacy(PGP) Alice Hash Function Digest Encrypt Alice’s private key + Signed Digest Message plus Signed Digest Encrypted (secret key & message + digest) to Bob 1 2 3 Encrypt Bob’s public key Encrypt One-time secret key + 4 5 6 Sender site
29.
Pretty Good Privacy(PGP) Alice Hash Function Digest Encrypt Alice’s private key + Signed Digest Message plus Signed Digest Encrypted (secret key & message + digest) to Bob 1 2 3 Encrypt Bob’s public key Encrypt One-time secret key + 4 5 6 Sender site Email message is hashed to create digest
30.
Pretty Good Privacy(PGP) Alice Hash Function Digest Encrypt Alice’s private key + Signed Digest Message plus Signed Digest Encrypted (secret key & message + digest) to Bob 1 2 3 Encrypt Bob’s public key Encrypt One-time secret key + 4 5 6 Sender site Digest is encrypted using Alice’s private key
31.
Pretty Good Privacy(PGP) Alice Hash Function Digest Encrypt Alice’s private key + Signed Digest Message plus Signed Digest Encrypted (secret key & message + digest) to Bob 1 2 3 Encrypt Bob’s public key Encrypt One-time secret key + 4 5 6 Sender site Signed digest added to the message
32.
Pretty Good Privacy(PGP) Alice Hash Function Digest Encrypt Alice’s private key + Signed Digest Message plus Signed Digest Encrypted (secret key & message + digest) to Bob 1 2 3 Encrypt Bob’s public key Encrypt One-time secret key + 4 5 6 Sender site The message and digest are encrypted using one time secret key created by Alice
33.
Pretty Good Privacy(PGP) Alice Hash Function Digest Encrypt Alice’s private key + Signed Digest Message plus Signed Digest Encrypted (secret key & message + digest) to Bob 1 2 3 Encrypt Bob’s public key Encrypt One-time secret key + 4 5 6 Sender site The secret key is encrypted using Bob’s public key
34.
Pretty Good Privacy(PGP) Alice Hash Function Digest Encrypt Alice’s private key + Signed Digest Message plus Signed Digest Encrypted (secret key & message + digest) to Bob 1 2 3 Encrypt Bob’s public key Encrypt One-time secret key + 4 5 6 Sender site The encrypted message, digest and secret key is sent to Bob
35.
PGP (contd.) Receiversite Bob Decrypt Hash Function Digest Alice’s public key Digest X Compare 9 10 11 Encrypted (secret key & message + digest) Bob’s private key Decrypt Decrypt Encrypted (message + digest) One-time secret key 7 8
36.
PGP (contd.) Receiversite Bob Decrypt Hash Function Digest Alice’s public key Digest X Compare 9 10 11 Encrypted (secret key & message + digest) Bob’s private key Decrypt Decrypt Encrypted (message + digest) One-time secret key 7 8 Bob decrypts the secret key with his private key
37.
PGP (contd.) Receiversite Bob Decrypt Hash Function Digest Alice’s public key Digest X Compare 9 10 11 Encrypted (secret key & message + digest) Bob’s private key Decrypt Decrypt Encrypted (message + digest) One-time secret key 7 8 Bob decrypts the encrypted message and digest using the decrypted secret key
38.
PGP (contd.) Receiversite Bob Decrypt Hash Function Digest Alice’s public key Digest X Compare 9 10 11 Encrypted (secret key & message + digest) Bob’s private key Decrypt Decrypt Encrypted (message + digest) One-time secret key 7 8 Bob decrypts the encrypted digest with Alice’s public key
39.
PGP (contd.) Receiversite Bob Decrypt Hash Function Digest Alice’s public key Digest X Compare 9 10 11 Encrypted (secret key & message + digest) Bob’s private key Decrypt Decrypt Encrypted (message + digest) One-time secret key 7 8 Bob hashes the received message to create a digest (for message integrity)
40.
PGP (contd.) Receiversite Bob Decrypt Hash Function Digest Alice’s public key Digest X Compare 9 10 11 Encrypted (secret key & message + digest) Bob’s private key Decrypt Decrypt Encrypted (message + digest) One-time secret key 7 8 The two digests are compared, thus providing authentication and integrity
41.
Sample PGP SignatureFrom: [email protected] 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 principlesimilar 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 Algo identifiers CMS Processing MIME Wrapping
43.
Sample SMIME SignatureFrom: [email protected] 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
References Overview ofcryptography: 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