TLS 1.3 Handshake

Поделиться
HTML-код
  • Опубликовано: 22 ноя 2024

Комментарии • 44

  • @business548
    @business548 10 месяцев назад

    Amazing work.

  • @nitishemmanuel3183
    @nitishemmanuel3183 5 лет назад

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

  • @neadlead2621
    @neadlead2621 2 года назад +1

    very clear thank you

    • @devcentral
      @devcentral  2 года назад

      Glad you liked it and thanks for the comment!

  • @mountainslopes
    @mountainslopes 3 года назад +1

    Excellent videos!

  • @adarshrao1692
    @adarshrao1692 6 лет назад +7

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

    • @devcentral
      @devcentral  6 лет назад +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 5 лет назад

      ▶️

  • @mahathidevulapalli8673
    @mahathidevulapalli8673 4 года назад +1

    Thanks for explaining it

  • @jimmy_dee
    @jimmy_dee 6 лет назад +3

    Great video. Well explained.

  • @muratzhumagali4604
    @muratzhumagali4604 4 года назад +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?

  • @mrRDX001
    @mrRDX001 5 лет назад +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  5 лет назад +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: ruclips.net/video/pa4osob1XOk/видео.html
      And, here's one on Perfect Forward Secrecy: ruclips.net/video/IkM3R-KDu44/видео.html
      I hope this helps!

    • @mrRDX001
      @mrRDX001 5 лет назад

      @@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 2 года назад

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

  • @abhaypratap5311
    @abhaypratap5311 6 лет назад +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  6 лет назад +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!

  • @nibmz7
    @nibmz7 4 года назад +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 3 года назад

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

    • @devcentral
      @devcentral  3 года назад +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 2 года назад

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

  • @alekkras3487
    @alekkras3487 4 года назад +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?

  • @TheZiZaZo
    @TheZiZaZo 6 лет назад +1

    Thank you, great explanation!

    • @devcentral
      @devcentral  6 лет назад

      glad you enjoyed it!

    • @TheZiZaZo
      @TheZiZaZo 6 лет назад +1

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

    • @devcentral
      @devcentral  6 лет назад +1

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

  • @danish6192
    @danish6192 6 месяцев назад

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

  • @JasserHussain
    @JasserHussain 6 лет назад +2

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

    • @devcentral
      @devcentral  6 лет назад +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 6 лет назад +1

    Well explained

  • @thoughtslibrary
    @thoughtslibrary 5 лет назад

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

  • @davidadamson1588
    @davidadamson1588 5 лет назад +3

    How does he write mirrored so perfect? 😳

    • @joechieftain
      @joechieftain 5 лет назад

      ruclips.net/video/U7E_L4wCPTc/видео.html

    • @dota2tournamentss
      @dota2tournamentss Год назад

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

  • @leogenius812
    @leogenius812 4 года назад

    amazing the way he writes backwards the entire video

    • @devcentral
      @devcentral  4 года назад +3

      you can see how we create these here! ruclips.net/video/U7E_L4wCPTc/видео.html

    • @RS250Squid
      @RS250Squid 3 года назад +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 Год назад

    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...