SlideShare a Scribd company logo
1 of 25
Download to read offline
Transport Layer
   Security
   Mrinal Wadhwa




   http://www.mrinalwadhwa.com
SSL v1
before 1995, internal to Netscape, never released
SSL v2
           draft published in FEB 1995




          SSL 0.2 PROTOCOL SPECIFICATION
http://www.mozilla.org/projects/security/pki/nss/ssl/draft02.html
SSL v3
           draft published in NOV 1996




                 The SSL Protocol Version 3.0
http://www.mozilla.org/projects/security/pki/nss/ssl/draft302.txt
TLS 1.0
RFC 2446 - in Jan 1999




   The TLS Protocol Version 1.0
 http://tools.ietf.org/html/rfc2246
TLS 1.1
     RFC 4346 - in April 2006




The Transport Layer Security (TLS) Protocol Version 1.1
          http://tools.ietf.org/html/rfc4346
TLS 1.2
     RFC 5246 - in August 2008




The Transport Layer Security (TLS) Protocol Version 1.2
          http://tools.ietf.org/html/rfc5246
"The TLS protocol provides communications security
  over the Internet. The protocol allows client/server
applications to communicate in a way that is designed to
  prevent eavesdropping, tampering, or message forgery."

                   - The Transport Layer Security (TLS) Protocol Version 1.2
Record Protocol
 http://tools.ietf.org/html/rfc5246#section-6
The Record Protocol takes messages to be transmitted, fragments the
   data into manageable blocks, optionally compresses the data, applies
      a MAC, encrypts, and transmits the result. Received data is
   decrypted, verified, decompressed, reassembled, and then delivered to
                           higher-level clients.
struct {
           ConnectionEnd         entity;
           PRFAlgorithm           prf_algorithm;
           BulkCipherAlgorithm   bulk_cipher_algorithm;
           CipherType             cipher_type;
           uint8                 enc_key_length;
           uint8                 block_length;
           uint8                 fixed_iv_length;
           uint8                 record_iv_length;
           MACAlgorithm            mac_algorithm;
           uint8                 mac_length;
           uint8                 mac_key_length;
           CompressionMethod      compression_algorithm;
           opaque                master_secret[48];
           opaque                client_random[32];
           opaque                server_random[32];
      } SecurityParameters;
Change Cipher Spec
     Protocol
  http://tools.ietf.org/html/rfc5246#section-7.1
Alert Protocol
http://tools.ietf.org/html/rfc5246#section-7.2
Handshake Protocol
             a simplified discussion

  http://tools.ietf.org/html/rfc5246#section-7.3
Hello Request

http://tools.ietf.org/html/rfc5246#section-7.4.1.1




            struct { } HelloRequest;
Client Hello

      http://tools.ietf.org/html/rfc5246#section-7.4.1.2



struct {
           ProtocolVersion client_version;
           Random random;
           SessionID session_id;
           CipherSuite cipher_suites<2..2^16-2>;
           CompressionMethod compression_methods<1..2^8-1>;
           select (extensions_present) {
                case false:
                    struct {};
                case true:
                    Extension extensions<0..2^16-1>;
           };
      } ClientHello;
CIPHER SUITES

             TLS_RSA_WITH_AES_128_CBC_SHA



     "The connection is encrypted using AES_128_CBC, with SHA1 for
       message authentication and RSA as the key exchange mechanism."




Mandatory Cipher Suites - http://tools.ietf.org/html/rfc5246#section-9
Cipher Suite Definitions - http://tools.ietf.org/html/rfc5246#appendix-C
CIPHER SUITES

TLS_RSA_WITH_AES_128_CBC_SHA




      Key Exchange - RSA
      Cipher - AES_128_CBC
      Mac - SHA (HMAC-SHA1)
Server Hello

      http://tools.ietf.org/html/rfc5246#section-7.4.1.3


struct {
           ProtocolVersion server_version;
           Random random;
           SessionID session_id;
           CipherSuite cipher_suite;
           CompressionMethod compression_method;
           select (extensions_present) {
                case false:
                    struct {};
                case true:
                    Extension extensions<0..2^16-1>;
           };
      } ServerHello;
Server Certificate

http://tools.ietf.org/html/rfc5246#section-7.4.2




       opaque ASN.1Cert<1..2^24-1>;


       struct {
           ASN.1Cert certificate_list<0..2^24-1>;
       } Certificate;
Server Hello Done

http://tools.ietf.org/html/rfc5246#section-7.4.5




           struct { } ServerHelloDone;
Client Key Exchange Message

http://tools.ietf.org/html/rfc5246#section-7.4.7



 struct {
            select (KeyExchangeAlgorithm) {
                case rsa:
                    EncryptedPreMasterSecret;
                case dhe_dss:
                case dhe_rsa:
                case dh_dss:
                case dh_rsa:
                case dh_anon:
                    ClientDiffieHellmanPublic;
            } exchange_keys;
       } ClientKeyExchange;
Finished

http://tools.ietf.org/html/rfc5246#section-7.4.9



   struct {
              opaque verify_data[verify_data_length];
         } Finished;
?
- mrinalwadhwa.com
- email@mrinalwadhwa.com
- @mrinal
- github.com/mrinalwadhwa

More Related Content

What's hot

PPT ON WEB SECURITY BY MONODIP SINGHA ROY
PPT ON WEB SECURITY BY MONODIP SINGHA ROYPPT ON WEB SECURITY BY MONODIP SINGHA ROY
PPT ON WEB SECURITY BY MONODIP SINGHA ROY
Monodip Singha Roy
 
Introduction to SSH
Introduction to SSHIntroduction to SSH
Introduction to SSH
Hemant Shah
 
Transport Layer Security
Transport Layer SecurityTransport Layer Security
Transport Layer Security
Chhatra Thapa
 

What's hot (18)

PPT ON WEB SECURITY BY MONODIP SINGHA ROY
PPT ON WEB SECURITY BY MONODIP SINGHA ROYPPT ON WEB SECURITY BY MONODIP SINGHA ROY
PPT ON WEB SECURITY BY MONODIP SINGHA ROY
 
SSL/TLS Introduction with Practical Examples Including Wireshark Captures
SSL/TLS Introduction with Practical Examples Including Wireshark CapturesSSL/TLS Introduction with Practical Examples Including Wireshark Captures
SSL/TLS Introduction with Practical Examples Including Wireshark Captures
 
SSL And TLS
SSL And TLS SSL And TLS
SSL And TLS
 
SSL/TLS
SSL/TLSSSL/TLS
SSL/TLS
 
Transport layer security
Transport layer securityTransport layer security
Transport layer security
 
Secure socket layer
Secure socket layerSecure socket layer
Secure socket layer
 
Certificate Based VPN Remote Access - 1. OpenCA Workshop 2004 / OpenXPKI
Certificate Based VPN Remote Access - 1. OpenCA Workshop 2004 / OpenXPKICertificate Based VPN Remote Access - 1. OpenCA Workshop 2004 / OpenXPKI
Certificate Based VPN Remote Access - 1. OpenCA Workshop 2004 / OpenXPKI
 
Introduction to SSH
Introduction to SSHIntroduction to SSH
Introduction to SSH
 
TLS/SSL Protocol Design 201006
TLS/SSL Protocol Design 201006TLS/SSL Protocol Design 201006
TLS/SSL Protocol Design 201006
 
SCEP - simple certificate enrollment protocol - 1. OpenCA Workshop 2004 / Ope...
SCEP - simple certificate enrollment protocol - 1. OpenCA Workshop 2004 / Ope...SCEP - simple certificate enrollment protocol - 1. OpenCA Workshop 2004 / Ope...
SCEP - simple certificate enrollment protocol - 1. OpenCA Workshop 2004 / Ope...
 
SSL
SSLSSL
SSL
 
Transport Layer Security
Transport Layer SecurityTransport Layer Security
Transport Layer Security
 
Secure Socket Layer
Secure Socket LayerSecure Socket Layer
Secure Socket Layer
 
Transport Layer Security
Transport Layer Security Transport Layer Security
Transport Layer Security
 
TLS - Transport Layer Security
TLS - Transport Layer SecurityTLS - Transport Layer Security
TLS - Transport Layer Security
 
secure socket layer
secure socket layersecure socket layer
secure socket layer
 
SSL overview
SSL overviewSSL overview
SSL overview
 
Secure Shell(ssh)
Secure Shell(ssh)Secure Shell(ssh)
Secure Shell(ssh)
 

Similar to Transport Layer Security - Mrinal Wadhwa

03-SSL (1).ppt03-SSL (1).ppt03-SSL (1).ppt03-SSL (1).ppt03-SSL (1).ppt03-SSL ...
03-SSL (1).ppt03-SSL (1).ppt03-SSL (1).ppt03-SSL (1).ppt03-SSL (1).ppt03-SSL ...03-SSL (1).ppt03-SSL (1).ppt03-SSL (1).ppt03-SSL (1).ppt03-SSL (1).ppt03-SSL ...
03-SSL (1).ppt03-SSL (1).ppt03-SSL (1).ppt03-SSL (1).ppt03-SSL (1).ppt03-SSL ...
ghorilemin
 
this is ppt this is ppt this is ppt this is ppt
this is ppt this is ppt this is ppt this is pptthis is ppt this is ppt this is ppt this is ppt
this is ppt this is ppt this is ppt this is ppt
ghorilemin
 
SSL Secure socket layer
SSL Secure socket layerSSL Secure socket layer
SSL Secure socket layer
Ahmed Elnaggar
 
Transport layer security.ppt
Transport layer security.pptTransport layer security.ppt
Transport layer security.ppt
ImXaib
 
26.1.7 lab snort and firewall rules
26.1.7 lab   snort and firewall rules26.1.7 lab   snort and firewall rules
26.1.7 lab snort and firewall rules
Freddy Buenaño
 

Similar to Transport Layer Security - Mrinal Wadhwa (20)

Advancing IoT Communication Security with TLS and DTLS v1.3
Advancing IoT Communication Security with TLS and DTLS v1.3Advancing IoT Communication Security with TLS and DTLS v1.3
Advancing IoT Communication Security with TLS and DTLS v1.3
 
03-SSL (1).ppt
03-SSL (1).ppt03-SSL (1).ppt
03-SSL (1).ppt
 
03-SSL (2).ppt
03-SSL (2).ppt03-SSL (2).ppt
03-SSL (2).ppt
 
03-SSL (1).ppt03-SSL (1).ppt03-SSL (1).ppt03-SSL (1).ppt03-SSL (1).ppt03-SSL ...
03-SSL (1).ppt03-SSL (1).ppt03-SSL (1).ppt03-SSL (1).ppt03-SSL (1).ppt03-SSL ...03-SSL (1).ppt03-SSL (1).ppt03-SSL (1).ppt03-SSL (1).ppt03-SSL (1).ppt03-SSL ...
03-SSL (1).ppt03-SSL (1).ppt03-SSL (1).ppt03-SSL (1).ppt03-SSL (1).ppt03-SSL ...
 
this is ppt this is ppt this is ppt this is ppt
this is ppt this is ppt this is ppt this is pptthis is ppt this is ppt this is ppt this is ppt
this is ppt this is ppt this is ppt this is ppt
 
DPDK Summit 2015 - Intel - Keith Wiles
DPDK Summit 2015 - Intel - Keith WilesDPDK Summit 2015 - Intel - Keith Wiles
DPDK Summit 2015 - Intel - Keith Wiles
 
Oczyszczacz powietrza i stos sieciowy? Czas na test! Semihalf Barcamp 13/06/2018
Oczyszczacz powietrza i stos sieciowy? Czas na test! Semihalf Barcamp 13/06/2018Oczyszczacz powietrza i stos sieciowy? Czas na test! Semihalf Barcamp 13/06/2018
Oczyszczacz powietrza i stos sieciowy? Czas na test! Semihalf Barcamp 13/06/2018
 
Symmetric Crypto for DPDK - Declan Doherty
Symmetric Crypto for DPDK - Declan DohertySymmetric Crypto for DPDK - Declan Doherty
Symmetric Crypto for DPDK - Declan Doherty
 
FreeBSD and Hardening Web Server
FreeBSD and Hardening Web ServerFreeBSD and Hardening Web Server
FreeBSD and Hardening Web Server
 
SSL Secure socket layer
SSL Secure socket layerSSL Secure socket layer
SSL Secure socket layer
 
FIWARE Wednesday Webinars - How to Secure IoT Devices
FIWARE Wednesday Webinars - How to Secure IoT DevicesFIWARE Wednesday Webinars - How to Secure IoT Devices
FIWARE Wednesday Webinars - How to Secure IoT Devices
 
Securing the tunnel with Raccoon
Securing the tunnel with RaccoonSecuring the tunnel with Raccoon
Securing the tunnel with Raccoon
 
Transport Layer Security
Transport Layer SecurityTransport Layer Security
Transport Layer Security
 
Ssl (Secure Socket Layer)
Ssl (Secure Socket Layer)Ssl (Secure Socket Layer)
Ssl (Secure Socket Layer)
 
Transport layer security.ppt
Transport layer security.pptTransport layer security.ppt
Transport layer security.ppt
 
WLAN and IP security
WLAN and IP securityWLAN and IP security
WLAN and IP security
 
Secure socket layer
Secure socket layerSecure socket layer
Secure socket layer
 
Dpdk: rte_security: An update and introducing PDCP
Dpdk: rte_security: An update and introducing PDCPDpdk: rte_security: An update and introducing PDCP
Dpdk: rte_security: An update and introducing PDCP
 
Protocol
ProtocolProtocol
Protocol
 
26.1.7 lab snort and firewall rules
26.1.7 lab   snort and firewall rules26.1.7 lab   snort and firewall rules
26.1.7 lab snort and firewall rules
 

More from Mrinal Wadhwa

Introduction to Rich Internet Applications, Flex, AIR
Introduction to Rich Internet Applications, Flex, AIRIntroduction to Rich Internet Applications, Flex, AIR
Introduction to Rich Internet Applications, Flex, AIR
Mrinal Wadhwa
 

More from Mrinal Wadhwa (10)

SF IoT Meetup - Decentralized Identifiers & Verifiable Claims
SF IoT Meetup - Decentralized Identifiers & Verifiable ClaimsSF IoT Meetup - Decentralized Identifiers & Verifiable Claims
SF IoT Meetup - Decentralized Identifiers & Verifiable Claims
 
Edge Computing and Machine Learning for a better Internet of Things
Edge Computing and Machine Learning for a better Internet of ThingsEdge Computing and Machine Learning for a better Internet of Things
Edge Computing and Machine Learning for a better Internet of Things
 
Considerations for a secure internet of things for cities and communities
Considerations for a secure internet of things for cities and communitiesConsiderations for a secure internet of things for cities and communities
Considerations for a secure internet of things for cities and communities
 
Austin Smart City Readiness Workshop - Viability and Sustainability of IoT Sm...
Austin Smart City Readiness Workshop - Viability and Sustainability of IoT Sm...Austin Smart City Readiness Workshop - Viability and Sustainability of IoT Sm...
Austin Smart City Readiness Workshop - Viability and Sustainability of IoT Sm...
 
Better Parking. Better Communities.
Better Parking. Better Communities.Better Parking. Better Communities.
Better Parking. Better Communities.
 
Bits, Bytes and Blobs
Bits, Bytes and BlobsBits, Bytes and Blobs
Bits, Bytes and Blobs
 
An Introduction To Rich Internet Apllications
An Introduction To Rich Internet ApllicationsAn Introduction To Rich Internet Apllications
An Introduction To Rich Internet Apllications
 
Custom Components In Flex 4
Custom Components In Flex 4Custom Components In Flex 4
Custom Components In Flex 4
 
Flex 4 Component Lifecycle
Flex 4 Component LifecycleFlex 4 Component Lifecycle
Flex 4 Component Lifecycle
 
Introduction to Rich Internet Applications, Flex, AIR
Introduction to Rich Internet Applications, Flex, AIRIntroduction to Rich Internet Applications, Flex, AIR
Introduction to Rich Internet Applications, Flex, AIR
 

Recently uploaded

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 

Transport Layer Security - Mrinal Wadhwa

  • 1. Transport Layer Security Mrinal Wadhwa http://www.mrinalwadhwa.com
  • 2. SSL v1 before 1995, internal to Netscape, never released
  • 3. SSL v2 draft published in FEB 1995 SSL 0.2 PROTOCOL SPECIFICATION http://www.mozilla.org/projects/security/pki/nss/ssl/draft02.html
  • 4. SSL v3 draft published in NOV 1996 The SSL Protocol Version 3.0 http://www.mozilla.org/projects/security/pki/nss/ssl/draft302.txt
  • 5. TLS 1.0 RFC 2446 - in Jan 1999 The TLS Protocol Version 1.0 http://tools.ietf.org/html/rfc2246
  • 6. TLS 1.1 RFC 4346 - in April 2006 The Transport Layer Security (TLS) Protocol Version 1.1 http://tools.ietf.org/html/rfc4346
  • 7. TLS 1.2 RFC 5246 - in August 2008 The Transport Layer Security (TLS) Protocol Version 1.2 http://tools.ietf.org/html/rfc5246
  • 8. "The TLS protocol provides communications security over the Internet. The protocol allows client/server applications to communicate in a way that is designed to prevent eavesdropping, tampering, or message forgery." - The Transport Layer Security (TLS) Protocol Version 1.2
  • 10. The Record Protocol takes messages to be transmitted, fragments the data into manageable blocks, optionally compresses the data, applies a MAC, encrypts, and transmits the result. Received data is decrypted, verified, decompressed, reassembled, and then delivered to higher-level clients.
  • 11. struct { ConnectionEnd entity; PRFAlgorithm prf_algorithm; BulkCipherAlgorithm bulk_cipher_algorithm; CipherType cipher_type; uint8 enc_key_length; uint8 block_length; uint8 fixed_iv_length; uint8 record_iv_length; MACAlgorithm mac_algorithm; uint8 mac_length; uint8 mac_key_length; CompressionMethod compression_algorithm; opaque master_secret[48]; opaque client_random[32]; opaque server_random[32]; } SecurityParameters;
  • 12. Change Cipher Spec Protocol http://tools.ietf.org/html/rfc5246#section-7.1
  • 14. Handshake Protocol a simplified discussion http://tools.ietf.org/html/rfc5246#section-7.3
  • 16. Client Hello http://tools.ietf.org/html/rfc5246#section-7.4.1.2 struct { ProtocolVersion client_version; Random random; SessionID session_id; CipherSuite cipher_suites<2..2^16-2>; CompressionMethod compression_methods<1..2^8-1>; select (extensions_present) { case false: struct {}; case true: Extension extensions<0..2^16-1>; }; } ClientHello;
  • 17. CIPHER SUITES TLS_RSA_WITH_AES_128_CBC_SHA "The connection is encrypted using AES_128_CBC, with SHA1 for message authentication and RSA as the key exchange mechanism." Mandatory Cipher Suites - http://tools.ietf.org/html/rfc5246#section-9 Cipher Suite Definitions - http://tools.ietf.org/html/rfc5246#appendix-C
  • 18. CIPHER SUITES TLS_RSA_WITH_AES_128_CBC_SHA Key Exchange - RSA Cipher - AES_128_CBC Mac - SHA (HMAC-SHA1)
  • 19. Server Hello http://tools.ietf.org/html/rfc5246#section-7.4.1.3 struct { ProtocolVersion server_version; Random random; SessionID session_id; CipherSuite cipher_suite; CompressionMethod compression_method; select (extensions_present) { case false: struct {}; case true: Extension extensions<0..2^16-1>; }; } ServerHello;
  • 20. Server Certificate http://tools.ietf.org/html/rfc5246#section-7.4.2 opaque ASN.1Cert<1..2^24-1>; struct { ASN.1Cert certificate_list<0..2^24-1>; } Certificate;
  • 22. Client Key Exchange Message http://tools.ietf.org/html/rfc5246#section-7.4.7 struct { select (KeyExchangeAlgorithm) { case rsa: EncryptedPreMasterSecret; case dhe_dss: case dhe_rsa: case dh_dss: case dh_rsa: case dh_anon: ClientDiffieHellmanPublic; } exchange_keys; } ClientKeyExchange;
  • 23. Finished http://tools.ietf.org/html/rfc5246#section-7.4.9 struct { opaque verify_data[verify_data_length]; } Finished;
  • 24. ?
  • 25. - mrinalwadhwa.com - email@mrinalwadhwa.com - @mrinal - github.com/mrinalwadhwa