0
S-38.3153                                       Mikko Säreläkeskiviikkona 28. maaliskuuta 2012
Today’s plan                     • Learn about protocols                      • Remote login                     • How to ...
Remote login                     • A simple protocol to remotely login to a                             computer as if you...
Remote login                          Alice Hi Hal! I’m Alice                    Hal                                      ...
What kind of security                       problems do you see?keskiviikkona 28. maaliskuuta 2012
Remote login                          Alice Hi Hal! I’m Alice                    Hal                                      ...
Remote login                                              Mallory                          Alice Hi Hal! I’m Alice        ...
How would you fix the                    security problems?keskiviikkona 28. maaliskuuta 2012
Secure Shell                     • Use public key cryptography to                             authenticate remote end     ...
Cryptography basics                                     Mikko Särelä, Dr. Tech                                        20 M...
Security and cryptology                                     The same thing?keskiviikkona 28. maaliskuuta 2012
Crypto overview                     • Public key cryptography                     • Key exchange                     • Sym...
Crypto basics                     • Plaintext message m                     • Crypto-algorithm                     • Key k...
Public key cryptographykeskiviikkona 28. maaliskuuta 2012
Two keys -                                     private and publickeskiviikkona 28. maaliskuuta 2012
Some math                     • RSA and Diffie-Hellman based on modulo                             arithmetics             ...
Modulo                                                    0                                                        1      ...
Addition and                                 multiplication easykeskiviikkona 28. maaliskuuta 2012
Division is hard                                     Factoring is hardkeskiviikkona 28. maaliskuuta 2012
Example: RSA                     • n = p*q, p and q large primes                     • Choose public key e as relative pri...
Problem                     • p = 11, q = 3                     • e=3                     • What is d?                    ...
Solution                     •       c = me mod n = 73 mod 33 = 343 mod 33                             = 13.              ...
Cipher text for all m              m        0       1     2 3 4 5 6 7 8         9 10 11 12 13 14 15 16              c     ...
Cipher text for all m              m        0       1     2 3 4 5 6 7 8         9 10 11 12 13 14 15 16              c     ...
Depends on                         Factoring being hard!keskiviikkona 28. maaliskuuta 2012
Usage                     • Use public key to encrypt data                      • Private key is used to decrypt it       ...
Diffie-Hellmankeskiviikkona 28. maaliskuuta 2012
(A B)C   =A b*c   =   (A C) Bkeskiviikkona 28. maaliskuuta 2012
Diffie-Hellman                                            http://upload.wikimedia.org/wikipedia/commons/a/a3/Diffie-Hellman-...
Symmetric key                                      cryptographykeskiviikkona 28. maaliskuuta 2012
Block cipher                                     Stream cipherkeskiviikkona 28. maaliskuuta 2012
Block cipher                                         Plaintext                         Key           Block cipher         ...
Stream cipher                                         K                                         IV      A                 ...
Ciphers overviewkeskiviikkona 28. maaliskuuta 2012
•       Symmetric ciphers                       •       Fast                       •       require separate key exchange  ...
Cryptographic hasheskeskiviikkona 28. maaliskuuta 2012
Ideal hash-function                     • easy to compute the hash value for any                       given message      ...
Keyed hashkeskiviikkona 28. maaliskuuta 2012
Applications                     • Verifying integrity of a message using keyed                             hash function ...
Cryptographic Hash                                 functions                     • SHA-256 as an example                  ...
Secure Shellkeskiviikkona 28. maaliskuuta 2012
What is SSH?                     • A set of protocols that is designed to                             provide a secure com...
History                     • Tatu Ylönen developed the first version in                             1995                  ...
Protocol details                     • Client/server architecture                     • Server listens to port 22         ...
SSH Protocol Stack       SSH User Authentication protocol                  SSH Connection Protocol             Authenticat...
Transport layer                     • Initial key exchange                     • Server authentication                    ...
Transport layer                     • Server authenticates itself to client                      • No man-in-the-middle at...
SSH Protocol               Client                                              Server                                     ...
SSH key exchange                     •       Client and server send kex_init packet, containing a list                    ...
User authentication                     • Client authentication                      • password                      • pub...
Connection layer                     • Defines logical channels                     • Requests for TCP port forwarding, X11...
Upcoming SlideShare
Loading in...5
×

Lecture 2 crypto and basics of protocols

286

Published on

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
286
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Lecture 2 crypto and basics of protocols"

  1. 1. S-38.3153 Mikko Säreläkeskiviikkona 28. maaliskuuta 2012
  2. 2. Today’s plan • Learn about protocols • Remote login • How to solve security problems? • How can cryptography help?keskiviikkona 28. maaliskuuta 2012
  3. 3. Remote login • A simple protocol to remotely login to a computer as if you were physically presentkeskiviikkona 28. maaliskuuta 2012
  4. 4. Remote login Alice Hi Hal! I’m Alice Hal What’s your password? It’s BobAteMyCat Access granted > run emacs mythesis.txtkeskiviikkona 28. maaliskuuta 2012
  5. 5. What kind of security problems do you see?keskiviikkona 28. maaliskuuta 2012
  6. 6. Remote login Alice Hi Hal! I’m Alice Hal What’s your password? It’s BobAteMyCat Access granted > run emacs mythesis.txtkeskiviikkona 28. maaliskuuta 2012
  7. 7. Remote login Mallory Alice Hi Hal! I’m Alice Hal What’s your password? It’s BobAteMyCat Access granted > run emacs mythesis.txtkeskiviikkona 28. maaliskuuta 2012
  8. 8. How would you fix the security problems?keskiviikkona 28. maaliskuuta 2012
  9. 9. Secure Shell • Use public key cryptography to authenticate remote end • Leap of faith for first time connections • User is authenticated with password or public key crypto • This communication is encryptedkeskiviikkona 28. maaliskuuta 2012
  10. 10. Cryptography basics Mikko Särelä, Dr. Tech 20 March 2012keskiviikkona 28. maaliskuuta 2012
  11. 11. Security and cryptology The same thing?keskiviikkona 28. maaliskuuta 2012
  12. 12. Crypto overview • Public key cryptography • Key exchange • Symmetric key cryptography • Secure hashkeskiviikkona 28. maaliskuuta 2012
  13. 13. Crypto basics • Plaintext message m • Crypto-algorithm • Key k • Encrypted textkeskiviikkona 28. maaliskuuta 2012
  14. 14. Public key cryptographykeskiviikkona 28. maaliskuuta 2012
  15. 15. Two keys - private and publickeskiviikkona 28. maaliskuuta 2012
  16. 16. Some math • RSA and Diffie-Hellman based on modulo arithmetics • the difficulty of division operation, logarithm, and factoringkeskiviikkona 28. maaliskuuta 2012
  17. 17. Modulo 0 1 12 2 11 3 10 4 9 5 8 6 7keskiviikkona 28. maaliskuuta 2012
  18. 18. Addition and multiplication easykeskiviikkona 28. maaliskuuta 2012
  19. 19. Division is hard Factoring is hardkeskiviikkona 28. maaliskuuta 2012
  20. 20. Example: RSA • n = p*q, p and q large primes • Choose public key e as relative prime for (p-1)(q-1) • Private key d = e-1 mod ((p-1)(q-1)) • Encrypting c = m mod n e • Decrypting m = c mod n dkeskiviikkona 28. maaliskuuta 2012
  21. 21. Problem • p = 11, q = 3 • e=3 • What is d? • Encrypt message m = 7 • Decrypt the resultkeskiviikkona 28. maaliskuuta 2012
  22. 22. Solution • c = me mod n = 73 mod 33 = 343 mod 33 = 13. • c = 13 • To check decryption: • m’ = c = 13 mod 33 = 7 d 7keskiviikkona 28. maaliskuuta 2012
  23. 23. Cipher text for all m m 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 c 0 1 8 27 31 26 18 13 17 3 10 11 12 19 5 9 4 m 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 c 29 24 28 14 21 22 23 30 16 20 15 7 2 6 25 32keskiviikkona 28. maaliskuuta 2012
  24. 24. Cipher text for all m m 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 c 0 1 8 27 31 26 18 13 17 3 10 11 12 19 5 9 4 m 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 c 29 24 28 14 21 22 23 30 16 20 15 7 2 6 25 32keskiviikkona 28. maaliskuuta 2012
  25. 25. Depends on Factoring being hard!keskiviikkona 28. maaliskuuta 2012
  26. 26. Usage • Use public key to encrypt data • Private key is used to decrypt it • Or use private key to sign data • Public key can be used to verify the signature • Only owner of private key can sign • Basis for certificateskeskiviikkona 28. maaliskuuta 2012
  27. 27. Diffie-Hellmankeskiviikkona 28. maaliskuuta 2012
  28. 28. (A B)C =A b*c = (A C) Bkeskiviikkona 28. maaliskuuta 2012
  29. 29. Diffie-Hellman http://upload.wikimedia.org/wikipedia/commons/a/a3/Diffie-Hellman-Schlüsselaustausch.pngkeskiviikkona 28. maaliskuuta 2012
  30. 30. Symmetric key cryptographykeskiviikkona 28. maaliskuuta 2012
  31. 31. Block cipher Stream cipherkeskiviikkona 28. maaliskuuta 2012
  32. 32. Block cipher Plaintext Key Block cipher encryption Ciphertextkeskiviikkona 28. maaliskuuta 2012
  33. 33. Stream cipher K IV A Kstream Plaintext Ciphertext K IV A Kstream Ciphertext Plaintext XORkeskiviikkona 28. maaliskuuta 2012
  34. 34. Ciphers overviewkeskiviikkona 28. maaliskuuta 2012
  35. 35. • Symmetric ciphers • Fast • require separate key exchange • Public key ciphers • Slow • No key exchange required • usage: signatures, certificates, encrypt symmetric cipher key inside a message • How to get random keys?keskiviikkona 28. maaliskuuta 2012
  36. 36. Cryptographic hasheskeskiviikkona 28. maaliskuuta 2012
  37. 37. Ideal hash-function • easy to compute the hash value for any given message • infeasible to generate a message that has a given hash • infeasible to modify a message without changing the hash • infeasible to find two different messages with the same hashkeskiviikkona 28. maaliskuuta 2012
  38. 38. Keyed hashkeskiviikkona 28. maaliskuuta 2012
  39. 39. Applications • Verifying integrity of a message using keyed hash function • file or data identifier • pseudorandom number generation and key generation • hash chainskeskiviikkona 28. maaliskuuta 2012
  40. 40. Cryptographic Hash functions • SHA-256 as an example • Birthday attack • Keyed hash is usually marked as • h(k, M)keskiviikkona 28. maaliskuuta 2012
  41. 41. Secure Shellkeskiviikkona 28. maaliskuuta 2012
  42. 42. What is SSH? • A set of protocols that is designed to provide a secure communication channel between host and a server • Covers authentication, encryption, and data integrity • Originally replacement for telnet/rlogin/rsh • SFTP alsokeskiviikkona 28. maaliskuuta 2012
  43. 43. History • Tatu Ylönen developed the first version in 1995 • SSH protocol version 2 in 1998 because of protocol vulnerabilities • Many open and commercial versions available for all operating systemskeskiviikkona 28. maaliskuuta 2012
  44. 44. Protocol details • Client/server architecture • Server listens to port 22 • Client wanting to connect executes an ssh command • port forwardingkeskiviikkona 28. maaliskuuta 2012
  45. 45. SSH Protocol Stack SSH User Authentication protocol SSH Connection Protocol Authenticates client-side user to the Multiplexes encrypted tunnel into several server logical channels SSH Transportation protocol TCP IPkeskiviikkona 28. maaliskuuta 2012
  46. 46. Transport layer • Initial key exchange • Server authentication • Data confidentiality • Data Integrity • Compression (optional) • key re-exchangekeskiviikkona 28. maaliskuuta 2012
  47. 47. Transport layer • Server authenticates itself to client • No man-in-the-middle attackskeskiviikkona 28. maaliskuuta 2012
  48. 48. SSH Protocol Client Server TCP connection setup SSH version string exchange SSH Key exchange SSH data exchange Termination of the TCP connectionkeskiviikkona 28. maaliskuuta 2012
  49. 49. SSH key exchange • Client and server send kex_init packet, containing a list of crypto algorithms they support • First common key exchange algorithm supported by server is chosen • Used to negotiate server authentication, encryption, MAC, and compression • Opportunistic guess allowed • Establish shared secret k and • Authenticate server • with public key signature or shared key authentication with MACkeskiviikkona 28. maaliskuuta 2012
  50. 50. User authentication • Client authentication • password • public key cryptography • host based authenticationkeskiviikkona 28. maaliskuuta 2012
  51. 51. Connection layer • Defines logical channels • Requests for TCP port forwarding, X11 forwarding etc.keskiviikkona 28. maaliskuuta 2012
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×