TLS Handshake Explained - Computerphile

Поділитися
Вставка
  • Опубліковано 7 чер 2024
  • How does your computer arrange with a server to start talking in code? Dr Mike Pound explains the TLS handshake where the server and client organise everything.
    / computerphile
    / computer_phile
    This video was filmed and edited by Sean Riley.
    Computer Science at the University of Nottingham: bit.ly/nottscomputer
    Computerphile is a sister project to Brady Haran's Numberphile. More at www.bradyharan.com

КОМЕНТАРІ • 354

  • @gram.
    @gram. 3 роки тому +421

    I like the way this guy talks and explains things, duno what it is.
    He obviously really knows his stuff to be able to explain it so well and simplify it enough for me to understand!😊
    Thanks

    • @mo99
      @mo99 3 роки тому +7

      Didn't study Computer Science but I really wish I had someone like Sir Dr Mike Pound at my university. Those folk at Nottingham are lucky

    • @Hasi29347
      @Hasi29347 3 роки тому +8

      He seems like he enjoy what he is doing and that is reflected on his presentations.

    • @markstevens7699
      @markstevens7699 2 роки тому +5

      Some days I spend 8 hours listening to the playlist of only him. He makes everything he says make sense, even if you don't get it the first timr

    • @toast_on_toast1270
      @toast_on_toast1270 2 роки тому +5

      To me it seems like he's explaining from a design perspective, that is "how the protocol addresses the problem", and has the knowledge to back it up. I think it's the correct level of abstraction to explain the problem clearly with only the important details.

    • @larsrosenkilde7872
      @larsrosenkilde7872 2 роки тому +1

      He's got passion for computer science...

  • @rafaelbianco252
    @rafaelbianco252 3 роки тому +93

    This video is pure gold. I work in the IT industry and it's hard to find a better explanation than this about TLS.

    • @joseguillermo1790
      @joseguillermo1790 Рік тому +2

      I agree. Insane domain of the topic.

    • @slashingbison2503
      @slashingbison2503 5 місяців тому

      Yeah its excellent, its a guy who knows what he is talking about in a simple way to an IT tech who always gets overwhelmed by encryption

  • @belledelphine4313
    @belledelphine4313 3 роки тому +263

    I am in rabbit hole, he said in every video "that's what we talk about last time" so I am looking for last video and again and again and again... HELP :D

    • @MrMarkgyuro
      @MrMarkgyuro 3 роки тому +14

      if you search for numberphile cryptography you ll find the whole playlist in this topic

    • @WilliamAndrea
      @WilliamAndrea 3 роки тому +61

      I believe these are all of them, chronologically. LMK if I missed any.
      Apr 18, 2014 | Heartbleed, Running the Code
      Jul 22, 2014 | Public Key Cryptography
      Oct 23, 2015 | Man in the Middle Attacks & Superfish
      Mar 22, 2016 | Secure Web Browsing
      Mar 30, 2017 | End to End Encryption (E2EE)
      Apr 11, 2017 | SHA: Secure Hashing Algorithm
      Dec 15, 2017 | Secret Key Exchange (Diffie-Hellman)
      Dec 29, 2017 | Key Exchange Problems
      Jan 16, 2018 | Elliptic Curves
      Aug 14, 2019 | Almost All Web Encryption Works Like This (SP Networks)
      Nov 20, 2019 | One Encryption Standard to Rule Them All!
      Nov 22, 2019 | AES Explained (Advanced Encryption Standard)
      Oct 23, 2020 | Transport Layer Security (TLS)

    • @WujuStyler
      @WujuStyler 3 роки тому +4

      @@WilliamAndrea best comment ever, thanks

    • @fanllawf
      @fanllawf 3 роки тому +1

      @@WilliamAndrea Thank you so much. If a blank sheet of paper wants to learn this, would watching the series in release chronological order be appropriate?

    • @WilliamAndrea
      @WilliamAndrea 3 роки тому

      @@fanllawf I guess so, yeah. You could probably skip the first one.

  • @yasyasmarangoz3577
    @yasyasmarangoz3577 3 роки тому +399

    I like how he screams at the start.

  • @sghost128
    @sghost128 2 роки тому +7

    11:28 this is an underrated piece of editing right here.

  • @MathewCrane
    @MathewCrane 3 роки тому +140

    I would be interested in a separate video about TLS 1.3 versus 1.2, especially related to Encrypted SNI (ESNI) and how if affects transparent proxies and other security tools

    • @maverickmaverick5
      @maverickmaverick5 2 роки тому

      @Dr Mike - same request.

    • @yes-ni1od
      @yes-ni1od Рік тому +3

      ESNI is being replaced with ECH, both still very young protocols

  • @jackc3727
    @jackc3727 3 роки тому +278

    Nothing better than a Friday Pounding.

    • @coldblaze100
      @coldblaze100 3 роки тому +8

      I-

    • @WmSrite-pi8ck
      @WmSrite-pi8ck 3 роки тому +5

      That sounds so homosexual. (Not that there's anything wrong with that.)

    • @zaaap0
      @zaaap0 3 роки тому +5

      giggity

    • @jackc3727
      @jackc3727 3 роки тому +4

      @@WmSrite-pi8ck What do you mean? Getting Pounded isn't sexual.

    • @WmSrite-pi8ck
      @WmSrite-pi8ck 3 роки тому +4

      @@jackc3727 Maybe not where you're from.

  • @kristoffseisler2163
    @kristoffseisler2163 3 роки тому +52

    I forgive the camera man for hollering in to the mic so that it distorted like that cause he got Mike Pound on

  • @ramuthra1
    @ramuthra1 3 роки тому +25

    Cryptography is such a cool subject. Absolutely love it when Mike is on!

  • @rickelmonoggin
    @rickelmonoggin 3 роки тому +2

    It's very convenient that you created these videos just when I decided to start learning TLS. Very clear and easy to understand. Only bad thing is that the adverts come at rather annoying times.

  • @Jesseeeeee
    @Jesseeeeee 3 роки тому +27

    I wanna hear Dr Mike say "My name is Pound, Mike Pound"

  • @romel304
    @romel304 3 роки тому +3

    Thank you for explaining with context and really breaking it down. It’s the context and bit of history on how something came to being is what makes things interesting. Thousand kudos.

  • @almightyhydra
    @almightyhydra 3 роки тому +31

    New record for advert: 2:15. Two of them, of course, after two at the start.
    2030: videos are now entirely adverts, no content.
    2040: content is back, but only videos containing nothing but adverts are accepted

    • @Twisted_Code
      @Twisted_Code 3 роки тому

      not even just product placement. It has to be full on "paid programming" level of advertisement. But wait, there's more! Comment today and we'll throw in this free sub to a channel you'll never watch again!

    • @lawrencedoliveiro9104
      @lawrencedoliveiro9104 3 роки тому +1

      youtube-dl is still available.

    • @vicentelouvet7160
      @vicentelouvet7160 3 роки тому

      UA-cam-dl

    • @LayMyBurdenDown
      @LayMyBurdenDown 3 роки тому

      you just reinvented the "info-mercial" :)

    • @ream88
      @ream88 3 роки тому

      UA-cam Premium

  • @hafidmrhailaf8084
    @hafidmrhailaf8084 4 місяці тому

    The best explanation, that someone could find on the Internet. Thank you Michael

  • @ashwanipundir535
    @ashwanipundir535 Рік тому +1

    Wow ! I wish he was my teacher in college! I am glad that I found this channel. Thank you 🙏🏻

  • @giosuecarducci5318
    @giosuecarducci5318 3 роки тому +1

    This guy explaining is awesome and inspired me to do my thesis on ROCA attack.
    you rock

  • @azizlol1907
    @azizlol1907 3 роки тому +1

    what a energetic man, wish had a teacher like him. I could learn from him till I die

  • @wedusk
    @wedusk 3 роки тому

    Love the videos with Dr. Pound. Hope you guys make one on IPSec.

  • @SamiCSc
    @SamiCSc 3 роки тому +3

    WOW! I love this channel and he explains everything well. Keep up the good work 🙏

  • @F1ghteR41
    @F1ghteR41 3 роки тому

    I think this video can serve as a sort of hub or strarting point for many Dr. Pound's videos, both existing and upcoming. Basically it lists in one string a lot of topics he covered, which is quite convenient.

  • @yawarjamal909
    @yawarjamal909 3 роки тому +3

    Dr. Pound + CS + Accent = Complete Package Thanks Computerphile as always

  • @bloodd11
    @bloodd11 3 роки тому

    Thank you to share this knowledge. Dr Pound explain so clear this matters. Thank you for this channels and this videos. Greetings from Argentina.

  • @waynesrealworld5801
    @waynesrealworld5801 3 роки тому

    Thank-you for these post they are helpful, informative, and just plain entertaining

  • @vjself
    @vjself 2 роки тому

    Your videos are absolutely fantastic.

  • @marioh9926
    @marioh9926 3 роки тому

    Very much thanks for your excellent explanation, Mike. I appreciate a lot your work.

  • @jmontign1
    @jmontign1 Рік тому

    Amazingly useful details and explanations. Thank you.

  • @rashidxd
    @rashidxd 3 роки тому +79

    Everyone: We can't do handshakes
    TCP: SYN

    • @Twisted_Code
      @Twisted_Code 3 роки тому +5

      ACK
      (dammit you beat me to it by 1 hour)

    • @BenjaminCronce
      @BenjaminCronce 3 роки тому +2

      The internet is full of syn.

    • @Acorn_Anomaly
      @Acorn_Anomaly 3 роки тому +3

      @@Twisted_Code You missed the SYN/ACK. :P

    • @Twisted_Code
      @Twisted_Code 3 роки тому

      @@Acorn_Anomaly dammit well what do I know. I have no practical experience with handshakes (yet). I only know how to reply at all because college courses LOL
      TBH, said inexperience is part of the reason I clicked this video... That and of course I was going to make the handshake joke if nobody had already

    • @kebman
      @kebman 3 роки тому +2

      ACK ACK ACK, said the Martian.

  • @SuperAvenger96
    @SuperAvenger96 2 роки тому +1

    Hey Guys!
    It would be great to see you guys doing the promised difference between TLS1.2 and 1.3. I really like your videos! They are great to understand the basics of computer science and I like to watch videos related to the toppics i have in my master course. Greetings from Germany!

  • @damonhage7451
    @damonhage7451 3 роки тому +12

    Man I could have really used this when working on a project a year ago.

  • @pjsixhundred
    @pjsixhundred 3 роки тому +4

    Perfect candidate for a TV Tech Show which goes into more depth on how things work.

  • @sreeramrm7997
    @sreeramrm7997 8 місяців тому

    This video is pure fantastic.Hey after the handshake the client and server uses symmetric key encryption.

  • @anonymousvevo8697
    @anonymousvevo8697 6 місяців тому

    the only voice i like to hear, amazing explanations =)

  • @maksymmryhlod3093
    @maksymmryhlod3093 3 роки тому

    Very simple and clear explanation.

  • @IboKnowsBest
    @IboKnowsBest 3 роки тому +42

    WTF I was just studying that thingy and boom! Couldn't timed better ^^

    • @qzbnyv
      @qzbnyv 3 роки тому +2

      +1 to that. I was looking for videos on it about a month back and wasn’t happy with any of them really. Happy to have Dr. Mike Pounder showing us how it’s done

    • @lakshminarasimmanv
      @lakshminarasimmanv 3 роки тому +2

      Google also tracks and read minds.

    • @BlueyMcPhluey
      @BlueyMcPhluey 3 роки тому +1

      @@qzbnyv I could have really used this at the end of August when I was writing a paper on this 😂

    • @qzbnyv
      @qzbnyv 3 роки тому

      @@lakshminarasimmanv Well, I know UA-cam creators often make their videos based around general internet search terms frequency as a way of being timely and catching wind from trends.
      I haven’t looked into what the UA-cam creator dashboard looks like these days, but I wonder if Google has an API that could easily display “People who watch Computerphile regularly have been searching for” stats.

  • @Ribby00
    @Ribby00 3 роки тому +1

    Mike Pound for president. Mike Pound 2020.

  • @timgeldof7720
    @timgeldof7720 2 роки тому

    Thank you very much for your clear explanation! Interesting stuff!

  • @YannStoneman
    @YannStoneman 2 роки тому +1

    It would be awesome if you created a playlist of all these TLS-handshake related videos mentioned and linked to it in the description of this video.

  • @TheRealLughnatic
    @TheRealLughnatic 3 роки тому +12

    That was the most concise explanation of TLS 1.3 I have ever heard.

  • @gasparem16
    @gasparem16 3 роки тому

    keep up the good work! awesome learning videos!

  • @hundehausen
    @hundehausen 3 роки тому +28

    Is see Dr Mike Pound, I hit like.

  • @__mk_km__
    @__mk_km__ 3 роки тому +1

    I dunno why but this video reminded me of something I read an article about long time ago - encrypted calculations. Essentially these allow you to perform various operations on ciphertext(like addition and multiplication) as if it was plaintext, but without actually knowing the values. The formal name for these is homomorphic encryption systems. It would be cool if you did a video on them

  • @philivey4300
    @philivey4300 3 роки тому

    I love there videos, please keep them coming

  • @MidKnight_Reign
    @MidKnight_Reign 3 роки тому +11

    Client and Server: [does handshake things]
    Client and Server: "We done? Here's a transcript of what we just said, encrypted. We'll talk again under this encryption kthxbye.
    [they both check what they sent against what they received. They don't match]
    Client and Server: "..." (uhh I'm just gonna NOPE RIGHT TF OUT OF THIS ONE!)
    Attacker: "Aw shucks."

    • @YourMJK
      @YourMJK 3 роки тому

      But it's still susceptible to MitM attacks that simply communicate with both in TLS, if you can't verify that the public key you get actually belongs to the party you thing you're speaking to.
      Which you can't for sure, unless you trust a CA or meet in person and compare keys.

  • @MAli-wu4rx
    @MAli-wu4rx 3 роки тому

    Excellent instructor, excellent UA-cam channel ! As a medical doctor I find this stuff amusing.

  • @mcnamaraky
    @mcnamaraky 3 роки тому

    Thank you sirs. We all appreciate ya.

  • @deepbluedrone
    @deepbluedrone 3 роки тому +2

    Awesome 👏
    Thanks for these videos

  • @juliadow5400
    @juliadow5400 3 роки тому +2

    I love how he can talk about something boring with such enthusiasm. He makes it interesting.

  • @LincolnChamberlin
    @LincolnChamberlin 3 роки тому +1

    This dude is one of my faves

  • @psidianculpa5929
    @psidianculpa5929 3 роки тому +1

    This is the UA-cam I we need to be watching.

  • @Maxmekker42
    @Maxmekker42 3 роки тому

    these videos are gold a couple weeks before exams

  • @calistan5431
    @calistan5431 3 роки тому +1

    Incredibly helpful for my Sec+ studies thank you!

  • @Flankymanga
    @Flankymanga 3 роки тому

    Excellent explanation Dr.Pound. :) i mean i thought i know TLS 1.3 but it seems i was wrong. I did not know about the Finish message.

  • @akshay-kumar-007
    @akshay-kumar-007 Рік тому

    Hey @Computerphile great video and I always come back here to refresh my memory about how TLS works. Can you also do an extension video of this with mTLS?
    Thanks

  • @clebfelm4170
    @clebfelm4170 Рік тому

    Great work

  • @NeunEinser
    @NeunEinser 3 роки тому +11

    Finding a website that supports 1.3 was easy. I am on it right now.

    • @TotalImmort7l
      @TotalImmort7l 3 роки тому +2

      UA-cam use QUIC, not TLS.

    • @NeunEinser
      @NeunEinser 3 роки тому +1

      @@TotalImmort7l It says TLS 1.3 on the padlock tho

    • @TotalImmort7l
      @TotalImmort7l 3 роки тому +1

      @@NeunEinser which device are you using? On a phone, it shows QUIC.

    • @NeunEinser
      @NeunEinser 3 роки тому

      @@TotalImmort7l Desktop, Win 10, Firefox

  • @Ruhigengeist
    @Ruhigengeist 3 роки тому +3

    I'd love to see a video on ACME considering it's largely replaced most of how servers set up trust now. I understand pretty solidly how it all works (I help maintain the Caddy project) but I'm sure it would help for more of the public to understand how this all works. i.e. how the ACME challenges replace the legacy method of paying for certificates, etc.

    • @CubeApril
      @CubeApril 3 роки тому +1

      Say hi to Matt for me. :)

  • @AterNyctos
    @AterNyctos 3 роки тому +1

    5:26 Basically my reaction
    everytime
    haha
    Great video!

  • @msscash729
    @msscash729 3 роки тому +1

    I love your channel, the content is just incredible. English subtitles are missing ... this needs to be easily accessible.

  • @miked2560
    @miked2560 3 роки тому

    Awesome video! What is the best way to see the full exchange--Wireshark?

  • @danielgrace7887
    @danielgrace7887 3 роки тому +1

    It sounds like you could use a different suite of ciphers in the future, and this system would be all that's ever needed for these communications.

  • @shehyaazkhannayazi2726
    @shehyaazkhannayazi2726 3 роки тому

    Thank you for this amazing video !! Could you please do a video on Certificate Transparency and IKP in the future ?

  • @bobbyboygaming2157
    @bobbyboygaming2157 Рік тому

    amazing videos

  • @honpaul2203
    @honpaul2203 3 роки тому

    Great, again and again! 👌

  • @klightspeed
    @klightspeed 3 роки тому

    As an aside, 2:22 the example cipher suite just happens to be one of the ones that Windows 7 and Windows 8 do not support - it only supports those parameters if an ECDSA certificate is used - so 6:20 the server will respond with a failure message when using e.g. the Windows TLS libraries to communicate with such a server.

  • @Shadowwand
    @Shadowwand 11 місяців тому

    MQTT is a service that provides detailed connection session storage.
    Since the same device connecting to the server can use the same connection states, so it can immediate resume receiving topics with retained information.

  • @heidiemiliaholappa
    @heidiemiliaholappa 3 роки тому +1

    Funny and educational stuff. Thanks!

  • @TheTheThewillow
    @TheTheThewillow 2 роки тому

    Frodo explaining TLS, who would of knew. Thank you very informative

  • @nkershaw
    @nkershaw 2 роки тому +1

    I'm a fan. well explained. not rigid. and you guys come across as human. which is hard to do when teaching anything, especially computers.

  • @kallikantzaros
    @kallikantzaros 3 роки тому

    just when I needed it.

  • @techwithmohitkr
    @techwithmohitkr 3 роки тому

    Pretty well explained

  • @rikschaaf
    @rikschaaf 3 роки тому +4

    Can you do a video on the single round-trip next?

  • @evang8259
    @evang8259 3 роки тому

    This helps me understand something in my job as tech support. Thanks!

  • @Elias-wz3sp
    @Elias-wz3sp 3 роки тому +3

    The thumbnail is just a classic x)

  • @jlxip
    @jlxip 3 роки тому +4

    Great video! I do have a question that has been bothering me for a while, though.
    Why are both RSA and ECDH used? The server sends the certificate, couldn't the client just encrypt a randomly generated AES key with the server's RSA public key, send it, and skip Diffie-Hellman?

    • @leogama3422
      @leogama3422 3 роки тому +3

      RSA encryption is too slow for on-the-fly encryption (and in massive amounts for the server) like web traffic...

    • @jlxip
      @jlxip 3 роки тому

      @@leogama3422 True, however:
      - Both the client and the server only have to use it once per connection.
      - They are already using it anyway since the server signs stuff, and as far as I know, encrypting and signing are equivalent operations in RSA. The server currently signs doing PKCS#1, powering to 'd'. The client checks the signature powering to 'e'. This is equivalent to encryption, but in reverse order, isn't it?

    • @jlxip
      @jlxip 3 роки тому +8

      To anyone that might read this, I just got it. The handshake I proposed is called "RSA key-exchange". Its problem is that it does not offer forward secrecy, so all previous traffic, if recorded, could be decrypted if the server's RSA key is compromised. ECDHE prevents this: previous communications will never be decrypted, even though future ones could.

  • @darraghfoley831
    @darraghfoley831 3 роки тому

    Would you do a video on trying to detect tor over tlsv1.3 as the subject and issuer are now not known in the handshake. And to build on this in future iterations of tls1.3, if the server name is also not known.

  • @rusiraliyanage6643
    @rusiraliyanage6643 Рік тому

    very imformative and very clear :)

  • @kramer3d
    @kramer3d 3 роки тому +23

    so awesome that Jared from Silicon Valley is on the channel

  • @martin1b
    @martin1b 3 роки тому

    Love the greenbar 'paper'

  • @Kivencito
    @Kivencito 2 роки тому

    This is gold....

  • @Alchemetica
    @Alchemetica 3 роки тому +6

    Does Computerphile have merch? Say a black T-Shirt with a print of Bob an Alice in Mike's Graphics exchanging keys.

  • @soulclean1983
    @soulclean1983 3 роки тому

    What does the last byte usually mean if it is repeated by a few instance but in no specific order?

  • @benjamin11235
    @benjamin11235 2 роки тому

    You mentioned TLS 1.3, now you have to do a video about it!

  • @M1stersupersonic8
    @M1stersupersonic8 3 роки тому

    Huh. The new TLS session after inactivity would definitely explain why tabs reload after I've been tabbed away from them for a while. Learn something new everyday!

    • @silkwesir1444
      @silkwesir1444 3 роки тому

      that should not explain it. there's something else going on which triggers the reload. otherwise you would just look at the page as you loaded it last.

  • @randName
    @randName 3 роки тому

    2:27 would be the perfect place to add an info card to the Kindle Text Problem video

  • @ColinRichardson
    @ColinRichardson 3 роки тому

    Will there be episode on TLS vs QUIC ?
    As these have solidified and filled in a few gaps I had about TLS..
    I know nothing about QUIC except it's UDP..

  • @chinmay9402
    @chinmay9402 3 роки тому +2

    like the vids by dr Mike. Please do a video on honeypot, seems like an interesting thing. Thanks :)

  • @Twisted_Code
    @Twisted_Code 3 роки тому +2

    anyone else notice that the clip from at 8:40 says "obi one" rather than Obi Wan? surely someone had at least noticed it and commented on the previous video, even if no one (besides me) noticed today.

  • @adedejiemmanuel1
    @adedejiemmanuel1 3 роки тому

    In what sequence will TCP handshake and TLS handshake happen? Which one happens first in a connection?

  • @drugndrop924
    @drugndrop924 3 роки тому +1

    I'be been waiting some wireshark capturing till the end

  • @OfferoC
    @OfferoC 3 роки тому

    Awesome thanks

  • @ziadfawzi
    @ziadfawzi Рік тому

    Thank you.

  • @manojjohn5698
    @manojjohn5698 3 роки тому

    Thank you

  • @distrologic2925
    @distrologic2925 2 роки тому

    this is GOLD

  • @balamuralidhanushkodi7598
    @balamuralidhanushkodi7598 3 місяці тому

    In Key exchange part, server sends the hash function of previous messages in digital signature which signed using private key and you say client verifies it using public key how this is shared to client?

  • @petersonjr8015
    @petersonjr8015 Рік тому +1

    Thanks for your explanation of TLS. My question: Why do the client and server not just use the opposite public keys to encrypt and their private keys to decrypt all the communication. Why the need for more keys e.g session keys etc ?

    • @lisasun8596
      @lisasun8596 Рік тому +2

      They are using Elliptic-curve Diffie-Hellman when they use their public/private key pairs. ECDH is fairly fast, but session keys use even faster cryptography like AES. If the cryptography is faster, loading the website would also be faster.

    • @gandelgerlant565
      @gandelgerlant565 Рік тому +3

      Another problem with using it is that if someone takes over the private key, they can decipher all previous communication, but with Diffie Helmand a new key is generated each session

    • @liuqingwang4408
      @liuqingwang4408 Рік тому +3

      Perfect Forward Secrecy is the keyword here

    • @maxinator80ify
      @maxinator80ify Рік тому +1

      Asymmetric cryptography is great, but slow and demanding. One operation or RSA is much more complicated than one AES operation for example. Symmetric crypto is MUCH more efficient and also has some bonus features, like automatically included integrity checking. Therefore it makes sense to use public key crypto for exchanging a key, which is then used in symmetric crypto shenaningans. This way, we make use of the best of both worlds and get great security as well as great performance.

  • @zhaowentao6036
    @zhaowentao6036 3 роки тому +5

    Even the background image looks like that paper!

  • @bernardpower1664
    @bernardpower1664 2 роки тому

    thank you

  • @bryan69087
    @bryan69087 3 роки тому

    MORE MIKE POUND

  • @simonchapman
    @simonchapman 3 роки тому

    love the editing. Get him up for a BAFTA

  • @ezekielgrave
    @ezekielgrave 3 роки тому

    Would you do a video, or set of videos on ACME ( RFC 8555 )?