internet security
play

Internet Security HTTPS SSH CSS441: Security and Cryptography - PowerPoint PPT Presentation

CSS441 Internet Security Web Security TLS/SSL Internet Security HTTPS SSH CSS441: Security and Cryptography Sirindhorn International Institute of Technology Thammasat University Prepared by Steven Gordon on 20 December 2015


  1. CSS441 Internet Security Web Security TLS/SSL Internet Security HTTPS SSH CSS441: Security and Cryptography Sirindhorn International Institute of Technology Thammasat University Prepared by Steven Gordon on 20 December 2015 css441y15s2l11, Steve/Courses/2015/s2/css441/lectures/internet-security.tex, r4295 1/32

  2. CSS441 Contents Internet Security Web Security TLS/SSL Web Security Issues HTTPS SSH TLS/SSL HTTPS Secure Shell 2/32

  3. CSS441 Web Security Issues Internet Security ◮ Original Internet protocols do not have built-in security Web Security (IP, TCP, HTTP, . . . ) TLS/SSL ◮ Many threats arise for web and other Internet HTTPS applications SSH ◮ Issues at: client, server and traffic between client and server ◮ Cover: SSL/TLS, SSH, IPsec 3/32

  4. CSS441 Comparison of Threats on the Web Internet Security Web Security TLS/SSL HTTPS SSH 4/32

  5. CSS441 Security Options in TCP/IP Internet Security Web Security TLS/SSL HTTPS SSH ◮ IPsec: Security for IP datagrams; general solution for all Internet traffic; implemented in OS ◮ SSL/TLS: Security for TCP segments; general solution for all TCP-based applications; implemented in libraries/applications (e.g. OpenSSL) ◮ Application-specific: Security for application messages; specific to each applications; implemented in single application 5/32

  6. CSS441 Contents Internet Security Web Security TLS/SSL Web Security Issues HTTPS SSH TLS/SSL HTTPS Secure Shell 6/32

  7. CSS441 SSL and TLS Internet Security ◮ Secure Sockets Layer (SSL) originated in Netscape web Web Security browser TLS/SSL ◮ Transport Layer Security (TLS) standardised by IETF HTTPS ◮ SSLv3 and TLS are almost the same SSH ◮ SSL provides security services to application layer protocols using TCP ◮ SSL architecture consists of multiple protocols 7/32

  8. CSS441 SSL Architecture Internet Security Web Security TLS/SSL HTTPS SSH Record: provides confidentiality and message integrity Handshake: authenticate entities, negotiate parameter values Change Cipher: change cipher for use in connection Alert: alert peer entity of status/warning/error 8/32

  9. CSS441 Connections and Sessions Internet Security ◮ SSL connection corresponds with TCP connection Web Security ◮ Client and server may have multiple connections TLS/SSL ◮ SSL session is association between client and server HTTPS ◮ Session created with Handshake protocol SSH ◮ Multiple connections can be associated with one session ◮ Security parameters for session can be shared for connections ◮ State information is stored after Handshake protocol ◮ Session: ID, certificate, compression, cipher spec, master secret, . . . ◮ Connection: random values, encrypt keys, MAC secrets, IV, sequence numbers, . . . 9/32

  10. CSS441 SSL Record Protocol Operation Internet Security Web Security TLS/SSL HTTPS SSH 10/32

  11. CSS441 SSL Record Protocol Internet Security ◮ Fragmentation: maximum fragment size is 16384 Bytes Web Security ◮ Compression: lossless; algorithm chosen in Handshake TLS/SSL ◮ MAC: HMAC applied on compressed data; MAC secret HTTPS SSH key for connection used; MAC appended to compressed fragment ◮ Encrypt: applied to compressed fragment and MAC; algorithm chosen in Handshake ◮ SSL record header: ◮ Content type: higher layer protocol (change cipher spec, alert, handshake, application) ◮ Version ◮ Compressed length in bytes 11/32

  12. CSS441 SSL Record Format Internet Security Web Security TLS/SSL HTTPS SSH 12/32

  13. CSS441 SSL Record Protocol Payload Internet Security Web Security TLS/SSL HTTPS SSH 13/32

  14. CSS441 SSL Handshake Protocol Internet Security ◮ Allow client and server to authenticate each other Web Security ◮ Negotiate encryption and MAC algorithms, exchange TLS/SSL keys HTTPS ◮ Key Exchange: RSA, Diffie-Hellman SSH ◮ MAC: HMAC using SHA or MD5 ◮ Encryption: RC4, RC2, DES, 3DES, IDEA, AES ◮ Multiple phases: 1. Establish security capabilities: client proposes algorithms, server selects one 2. Server authentication and key exchange 3. Client authentication and key exchange 4. Finish setting up connection 14/32

  15. CSS441 SSL Handshake Protocol Messages Internet Security Web Security TLS/SSL HTTPS SSH 15/32

  16. CSS441 SSL Handshake Protocol Operation Internet Security Web Security TLS/SSL HTTPS SSH 16/32

  17. CSS441 Contents Internet Security Web Security TLS/SSL Web Security Issues HTTPS SSH TLS/SSL HTTPS Secure Shell 17/32

  18. CSS441 HTTPS Internet Security ◮ HTTPS: HTTP over SSL (or TLS) Web Security ◮ URL uses https:// TLS/SSL ◮ Web server listens on port 443 HTTPS SSH ◮ Encrypt: URL of requested document, contents of document, contents of browser forms, cookies, contents of HTTP header ◮ Server is authenticated using certificate (using SSL) ◮ Client is authenticated using password (using HTTP) 18/32

  19. CSS441 Contents Internet Security Web Security TLS/SSL Web Security Issues HTTPS SSH TLS/SSL HTTPS Secure Shell 19/32

  20. CSS441 Secure Shell Internet Security ◮ TELNET provides a remote login facility; insecure Web Security ◮ Secure Shell (SSH) designed for secure remote login TLS/SSL ◮ SSH also supports secure file transfer and tunnelling HTTPS SSH ◮ SSHv2 developed by IETF ◮ SSH architecture consists of 3 protocols 20/32

  21. CSS441 SSH Protocol Stack Internet Security Web Security TLS/SSL HTTPS SSH 21/32

  22. CSS441 SSH Authentication Internet Security Server Authentication Web Security TLS/SSL ◮ Server has public/private key pair HTTPS ◮ Assume client knows server’s public key SSH ◮ During key exchange, server signs message with public key Client Authentication ◮ Key-based: client has public/private key pair; server knows client public key ◮ Password-based: client sends password (encrypted); server knows password 22/32

  23. CSS441 SSH Transport Layer Packet Exchange Internet Security Web Security TLS/SSL HTTPS SSH 23/32

  24. CSS441 SSH Transport Layer Protocol Internet Security ◮ Identification string exchange: each entity identifies Web Security protocol and software version TLS/SSL ◮ Algorithm negotiation: client and server send list of HTTPS supported algorithms, in order of preference; first SSH common algorithm chosen ◮ Key exchange: Diffie-Hellman ◮ End of key exchange: new keys generated from shared secret, e.g. K c 2 s = Hash ( K || H || ′ C ′ || session id ) where H = Hash ( ID C || ID C || M C || M S || PU S || Y A || Y B || K ) ◮ Service request for User Authentication or Connection Protocol 24/32

  25. CSS441 SSH Algorithms Internet Security Web Security TLS/SSL HTTPS SSH 25/32

  26. CSS441 Key Exchange with Diffie-Hellman Internet Security Web Security TLS/SSL HTTPS SSH 26/32

  27. CSS441 SSH Key Exchange with Diffie-Hellman Internet Security ◮ SSH notation: q = P , α = G , Y A = e , Y B = f Web Security ◮ ID string for client and server: ID C , ID S ; TLS/SSL SSH MSG KEXINIT message from client and server: HTTPS M C , M S SSH ◮ Server key pair: ( PU S , PR S ); assume client knows/trusts PU S ◮ Client and server have agreed upon hash and encryption algorithms 27/32

  28. CSS441 SSH Key Exchange with Diffie-Hellman Internet Security (see Wireshark capture) Web Security TLS/SSL HTTPS SSH 28/32

  29. CSS441 SSH Transport Layer Packet Formation Internet Security Web Security TLS/SSL HTTPS SSH 29/32

  30. CSS441 TCP Connection Internet Security Web Security TLS/SSL HTTPS SSH a and b are application port numbers 30/32

  31. CSS441 SSH Tunnel over TCP Connection Internet Security Web Security TLS/SSL HTTPS SSH x and y are application port numbers, a and b are port numbers used by SSH 31/32

  32. CSS441 SSH Tunnels Internet Security ◮ Allow normal (unsecured) applications to securely Web Security transfer data TLS/SSL ◮ Bypass firewalls by using different ports HTTPS ◮ Local forwarding: traffic to local port is sent via SSH SSH client to remote port ◮ Remote forwarding: traffic to remote port is sent via SSH server to local port 32/32

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend