TLS 1.3 Handshake

Sdílet
Vložit
  • čas přidán 12. 09. 2024

Komentáře • 44

  • @alekkras3487
    @alekkras3487 Před 4 lety +1

    Great video, very clear! A suggestion for the future, what do you guys think about creating a nice infographic with high resolution for the future to use in explanations?

  • @mountainslopes
    @mountainslopes Před 2 lety +1

    Excellent videos!

  • @jimmy_dee
    @jimmy_dee Před 6 lety +3

    Great video. Well explained.

  • @mrRDX001
    @mrRDX001 Před 5 lety +5

    I have a small doubt, prior to 1.3 the client used to generate the Pre Master Key and encrypt it with servers public key, as per your demonstration Client is sending Key share before even getting the Public key, does it mean that client already gets the public key from the repository and encrypts it and send ?
    Thank you in advance :)

    • @devcentral
      @devcentral  Před 5 lety +8

      Hi Jubair...great question! Prior to TLS 1.3, the client and server could use the RSA algorithm to exchange keys. In RSA, the client uses the server's public key to encrypt the pre-master secret as you mentioned. However, in TLS 1.3, RSA is not allowed to be used for key exchange. In TLS 1.3, the Diffie Hellman key exchange is used to exchange keys. The Diffie Hellman key exchange requires that both the client and server generate their own random integer values and then send other calculated values to each other that are based on their own secret values. So, the "key share" referenced here is the client's calculated value that it sends to the server. It can send this without ever receiving anything from the server.
      Here's a video I did on the Diffie Hellman key exchange: czcams.com/video/pa4osob1XOk/video.html
      And, here's one on Perfect Forward Secrecy: czcams.com/video/IkM3R-KDu44/video.html
      I hope this helps!

    • @mrRDX001
      @mrRDX001 Před 5 lety

      @@devcentral Wow, thank you very much for the reply, I am new to F5 and learning, let me know if there are documents I can get to be a skilled F5 admin, thanks a ton again 😊

    • @muhammadsiddiqui9522
      @muhammadsiddiqui9522 Před 2 lety

      But TLS 1.2 could also use ECDH for key exchange, so ?

  • @business548
    @business548 Před 8 měsíci

    Amazing work.

  • @nitishemmanuel3183
    @nitishemmanuel3183 Před 5 lety

    A packet capture of the handshake showed also be shown and/or made available to be downloaded.

  • @adarshrao1692
    @adarshrao1692 Před 5 lety +7

    in TLs 1.2 or previous, the encryption was Assymetric, followed by symetric. How is it happening in 1.3?

    • @devcentral
      @devcentral  Před 5 lety +9

      Great question Adarsh! As you noted, the encryption in TLS 1.2 and earlier is asymmetric (for sharing keys) followed by symmetric (for bulk encryption). In TLS 1.3 the same thing happens. The keys are shared via asymmetric encryption (in fact, it's mandatory in TLS 1.3 that the client and server use Perfect Forward Secret ciphers for key exchange) but then the bulk encryption is done using symmetric encryption. I hope this helps!

    • @lemandemirova697
      @lemandemirova697 Před 4 lety

      ▶️

  • @mahathidevulapalli8673
    @mahathidevulapalli8673 Před 4 lety +1

    Thanks for explaining it

  • @muratzhumagali4604
    @muratzhumagali4604 Před 4 lety +1

    I seen Diffie Hellman been used with RSA for assymetric part in tls 1.2. If it's not the case in 1.3, then there might be successful man in the middle attack?

  • @neadlead2621
    @neadlead2621 Před 2 lety +1

    very clear thank you

    • @devcentral
      @devcentral  Před 2 lety

      Glad you liked it and thanks for the comment!

  • @danish6192
    @danish6192 Před 4 měsíci

    1. the tcp handshake still occurs
    2. certificate verification also happens

  • @nibmz7
    @nibmz7 Před 3 lety +4

    Hi. So in TLS 1.3, does it mean the server's public key no longer plays a role in the whole encryption process?

    • @vinaygudi2089
      @vinaygudi2089 Před 3 lety

      i think he meant public key when he said certificate from server

    • @devcentral
      @devcentral  Před 2 lety +2

      Hi Nur...great question! The server's public key (which is included in the larger certificate) is still used for authentication purposes...typically using RSA for authentication. But, TLS 1.3 uses only Perfect Forward Secret ciphers for key exchange...so the key exchange algorithms are all Diffie Hellman. Diffie Hellman doesn't use the server's public/private keys for key exchange.
      So, the server's keys are still used for authenticating the server to the browser (i.e. is this the correct server to be connecting), but the server's keys are not used for key exchange with TLS 1.3. I hope this helps!

    • @dhanushshetty7840
      @dhanushshetty7840 Před 2 lety

      @@devcentral how does this prevent man in the middle attack?

  • @abhaypratap5311
    @abhaypratap5311 Před 6 lety +3

    sir what about version negotiation happen between client TLS and server TLS i mean if client has new version like 1.2 and server has 1.3 or vice versa then connection established or not? please make a shot video on that.

    • @devcentral
      @devcentral  Před 6 lety +10

      ultimately, the server gets to make the final call on the cipher suite, version, etc. the server (and/or client) can be configured to use multiple versions of TLS (1.1, 1.2, 1.3). If, for example, the client is trying to talk via TLS 1.3 and the server can only talk TLS 1.2, then the client (if configured) would back down to TLS 1.2 and the connection would be established using TLS 1.2. If the client was only configured to talk TLS 1.3 and the server was only configured to talk TLS 1.2 (or vice versa), then the connection would terminate because they couldn't both find a version that they are both configured to talk with. Hope this helps!

  • @TheZiZaZo
    @TheZiZaZo Před 6 lety +1

    Thank you, great explanation!

    • @devcentral
      @devcentral  Před 6 lety

      glad you enjoyed it!

    • @TheZiZaZo
      @TheZiZaZo Před 6 lety +1

      Would you say Diffie-Hellman is the most common key exchange algorithm used for TLS 1.3 connections?

    • @devcentral
      @devcentral  Před 6 lety +1

      yes, definitely. in fact, it's extremely common among TLS 1.2 connections as well. thanks!

  • @JasserHussain
    @JasserHussain Před 6 lety +2

    What is the keyshare ypu are talking about? Please explain it in detail....

    • @devcentral
      @devcentral  Před 6 lety +8

      Hi...great question! The idea with keyshare is that the Client and Server both have to provide information to one another in order to calculate the symmetric key that will be used for bulk encryption. The TLS handshake is the process that (among other things) shares the information between Client and Server so that they can each independently calculate the symmetric key used for the bulk encryption.
      During this process, each of the Client and Server contributes their "share" of information needed to ultimately generate the symmetric key. As for the exact information needed from each side, it depends on the exact cipher suite choses for key exchange and bulk encryption. For example, if a Diffie-Hellman key exchange is chosen, each side will need to contribute their portion of the Diffie-Hellman calculations so that they can independently calculate the shared key for bulk encryption. They can't calculate the shared symmetric key until they have the key exchange information from the other party (Client/Server).
      In TLS 1.3, the handshake process speeds up significantly because the Client preemptively guesses the cipher suite that the Server will choose. The server still has the final say on which cipher suite is chosen, but many times the Client can guess the correct cipher suite before the Server confirms the chosen suite. Because of this, the Client can go ahead and send what would be the key exchange information for the chosen cipher suite when it initially sends the "Hello". Then, the Server can calculate the shared symmetric key and go ahead and start encrypting data very early in the handshake process.
      I hope this helps!

  • @gauravsaini5401
    @gauravsaini5401 Před 6 lety +1

    Well explained

  • @thoughtslibrary
    @thoughtslibrary Před 5 lety

    where person is writing ? is this on a glass? how is this annotation works can anyone explain it to me?

  • @davidadamson1588
    @davidadamson1588 Před 5 lety +3

    How does he write mirrored so perfect? 😳

    • @joechieftain
      @joechieftain Před 5 lety

      czcams.com/video/U7E_L4wCPTc/video.html

    • @dota2tournamentss
      @dota2tournamentss Před rokem

      the trick is he write normally but in post production they mirror the image so from our perspective text is normal

  • @leogenius812
    @leogenius812 Před 4 lety

    amazing the way he writes backwards the entire video

    • @devcentral
      @devcentral  Před 4 lety +3

      you can see how we create these here! czcams.com/video/U7E_L4wCPTc/video.html

    • @RS250Squid
      @RS250Squid Před 3 lety +4

      At the start of the video: "Now I'm gonna learn more about TLS".
      A few seconds later "But first I'm gonna learn how he writes backwards!"

  • @techevangelist8373
    @techevangelist8373 Před rokem

    90% stuff not needed/related....Cummon...Get into the details of 1.3..This I felt like scratching the surface.Remember sitting in an interview and talking like this..I dont think even F5 will hire you if you talk exactly the guy in the video explained...This is so useless stuff I felt like...