SSL, TLS, HTTPS Explained

Поділитися
Вставка
  • Опубліковано 25 лис 2024

КОМЕНТАРІ • 319

  • @igwejk
    @igwejk Рік тому +664

    An important point that's worth mentioning, otherwise the server-hello phase would be insecure, the client and server both have a trusted authority they could rely on for authenticating each other. The client verifies the server's SSL certificate with the certificate authority that issued it. This confirms that the server is who it says it is, and that the client is interacting with the actual owner of the domain.

    • @brucewayne2480
      @brucewayne2480 Рік тому +50

      Yes because a certificate authority verified a domain owner and signed its data with its private key, that signature is included in the certificate , and the public key of known certificate authorities are stored in the browser

    • @lanyloh9876
      @lanyloh9876 Рік тому +9

      I was wondering about this. Thank you!

    • @lawrencedoliveiro9104
      @lawrencedoliveiro9104 Рік тому +4

      The client has a list of CA certs that it trusts, so it will accept any server cert that is signed by one of them.
      TLS can also be used for two-way authentication. Also for secure communication between different parts of your own organization, you can create your own CA cert and install that at the endpoints so they can trust each other.

    • @alexandermiasoiedov6637
      @alexandermiasoiedov6637 Рік тому +4

      How does the server know that the client is not the hacker that sits in the middle? Namely, how does the server knows that session_key is authentic and generated by the client, but not by the hacker in the middle?

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

      @@alexandermiasoiedov6637 The man in the middle should not be capable of decrypting the client's message.

  • @barbobrien9318
    @barbobrien9318 8 місяців тому +13

    Comprehensive and easy to understand. The best part is that the video was short!

  • @miehaga7444
    @miehaga7444 Рік тому +32

    I love the audience of this channel, very polite, graceful and intellectual.

  • @ReflectionOcean
    @ReflectionOcean Рік тому +115

    HTTPS is HTTP + TLS (Transport Layer Security)
    TLS is a handshake process between the client and server with asymmetric encryption to exchange a session key used for Data Transmission with symmetric encryption.

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

      is the key the SSL certificate verified by Certificate Authority?

    • @faultboy
      @faultboy Рік тому +6

      You also watched the video? Interesting!

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

      @@noorzanayasmin7806 ​ SSL cert is the certificate you bought from your hosting or anywhere you bought it from, which contains the public key, and when you create your csr, you will be given with the verified private key that can only be paired with your public key.

    • @PannasastraSR
      @PannasastraSR Рік тому +6

      Your explanation is easy to understand than watch the video

    • @nikhil182
      @nikhil182 Рік тому +6

      Good summary of the video!

  • @SantoshKumari-d8r
    @SantoshKumari-d8r 29 днів тому +1

    I love how the audience effectively participating in Comments Sharing knowledge. That's the beauty of well educated environment.

  • @danielkrastev6786
    @danielkrastev6786 Рік тому +8

    Best animation aesthetics ever. Pure joy to watch.

  • @cassianocampes
    @cassianocampes Рік тому +88

    Direct to the point, clean, and easy to understand. Great content!

  • @mouhssineannouri5497
    @mouhssineannouri5497 8 місяців тому +5

    The session key isn't directly swapped between the client and server, even with asymmetric encryption. Instead, they exchange a random string of bytes, often referred to as a 'pre-master secret' or 'nonce', which serves as the basis for generating the session key on both ends using the algorithms previously agreed upon in the cipher suite exchange.

  • @cybrainx72
    @cybrainx72 7 місяців тому +24

    You missed the phase where Client has to validate is Certificate is signed by the trusted CA.

  • @lemonade2345-j4e
    @lemonade2345-j4e 6 місяців тому +1

    I can tell that you are a scientist. Wouldn't surprise me if you had a PHD. Really an articulate presentation with virtually no flutter. A rare sight on YT.

  • @asn65001
    @asn65001 Рік тому +13

    I like that you didn't mention TLS 1.1 and below. No need to teach something that's going out the door. And thanks for pointing out the ciphers. In teaching others about TLS, I've found ciphers to be the hardest concept for people to grasp.

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

      I think that everyone needs to understand the ciphers involved, but most people aren't going to be concerned with the technical details of the cryptographic algorithms.

  • @alaakhaleel9137
    @alaakhaleel9137 Місяць тому

    Thank you bro, as my father always said, clean and easy, I want your room clean and attitude easy.

  • @goldfishbrainjohn2462
    @goldfishbrainjohn2462 Рік тому +12

    Ordered your both system interview books, volume 1 and 2.
    Can't wait to read the books!

  • @ameyapatil1139
    @ameyapatil1139 8 місяців тому +1

    This was so so helpful straight to the point ! Worth every second ❤

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

    bytebytego team, i would like to thank you for your videos - they are not only illustrated really well, they are really informative!

  • @magic_pink_horse
    @magic_pink_horse Рік тому +5

    You're the best presenter for this kind of stuff!

  • @EricRodriguez-uu6gj
    @EricRodriguez-uu6gj 4 місяці тому

    You are very professional with your videos and your teaching; is a suggestion you should do a video with an A.I voice

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

    It is very nice and clean exlaination without messing up terminology..great job

  • @patricknelson
    @patricknelson Рік тому +23

    Bravo. 👏 This is a very succinct high level explanation. I’m already somewhat familiar with the handshake, but this does a fantastic job summarizing things in an approachable fashion without diving into too much detail. Great thing is, there’s still plenty more to dive into as well and this provides a well structured guide on how to do that.

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

      🎉

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

      Yeah even I was confused about the how does certificate check and key exchange serially happens this video cleared my doubt

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

    Amazing!!
    The best video about HTTPs, I ever seen before!

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

    Best explanation I found on utube about TLS and ssl

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

    question: Diffie-Hellman (DH) is used for key exchange, the client and server exchange public keys and use them to generate a shared secret key that is used for symmetric encryption.
    Yes he share a public key also...

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

      Exactly, that's also my surprise he said it doesn't transfer the public key over the network.
      @ByteByteGo could you explain it?

  • @rembautimes8808
    @rembautimes8808 9 місяців тому

    Excellent channel, well illustrated. A must watch for those in tech risk like me

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

    it was really great fast and everything important was in this video thank you I watched more than 7 videos and put more than 1 hour to find you :) Thanks I understood everything clearly :)

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

    short and sweet tutorials
    really loving your channel

  • @EbonySeraphim
    @EbonySeraphim 9 місяців тому

    Along with the top comment here, I think it is helpful to understand that step #2 Certificate Check involves the client cross referencing that the DNS name they resolved matches the hostname presented on the server's certificate. Otherwise, the TLS handshake will (appropriately) fail because even though the server certifcate may be valid and trusted, the server presenting it is not truly associated with it.

    • @hanshima_
      @hanshima_ 18 днів тому

      Wow... that is important and helped me today. I was having some problems with a broker and was receiving invalid IP error.

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

    Bro's animation and explaination are superb. 👍

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

    great explantion and to the point. also tls 1.3 solves forward secrecy problem of tsl1.2

  • @unique_ruler_memes3003
    @unique_ruler_memes3003 2 місяці тому

    And one more main reason for not using symmetric key is :
    When server sends the public key only to the client. Not the private key.. so the client only can encrypt the data using public key it has received with the certificate, not able to decrypt any data came from the server.
    Thats why we use seasion key exchange..

  • @QueeeeenZ
    @QueeeeenZ Рік тому +7

    HTTPS is not a protocol technically, it is a scheme. The protocols used are actually called HTTP and TLS.

  • @GildwareTechnologies
    @GildwareTechnologies Рік тому +17

    SSL, TLS, and HTTPS are all cryptographic protocols used to ensure secure communication over the internet. They play a crucial role in protecting sensitive data transmitted between a client (such as a web browser) and a server. Let's explain each of these terms:
    SSL (Secure Sockets Layer):
    SSL is an older cryptographic protocol that was initially developed by Netscape in the 1990s. It was widely used to provide secure communication over the internet, especially for websites handling sensitive information like login credentials or credit card details. However, due to security vulnerabilities and weaknesses found in SSL, it has been largely deprecated and replaced by its successor, TLS.
    TLS (Transport Layer Security):
    TLS is the successor to SSL and was introduced as a more secure and robust cryptographic protocol. It operates at the transport layer of the internet communication stack and ensures secure data transmission between a client and a server. TLS uses a combination of symmetric and asymmetric encryption algorithms to establish a secure connection. The latest version of TLS at the time of writing is TLS 1.3, which has further improved security and performance over previous versions.
    HTTPS (Hypertext Transfer Protocol Secure):
    HTTPS is not a separate protocol but rather a combination of HTTP and TLS (or SSL in older implementations). It is the secure version of the standard HTTP protocol used for transmitting data between a client's web browser and a web server. When a website uses HTTPS, it means that the data exchanged between the client and the server is encrypted using TLS or SSL, ensuring that it cannot be intercepted or tampered with by unauthorized parties.
    When a user connects to an HTTPS-enabled website, the following steps occur:
    The client (web browser) sends a request to the server, indicating that it wants to establish a secure connection using HTTPS.
    The server responds with its SSL/TLS certificate, which contains the server's public key and other details.
    The client verifies the authenticity of the certificate by checking its validity and whether it is signed by a trusted Certificate Authority (CA).
    If the certificate is valid, the client and the server perform a handshake to negotiate the encryption algorithm and establish a secure connection.
    Once the secure connection is established, all data transmitted between the client and the server is encrypted and secure from eavesdropping or tampering.
    In summary, SSL and TLS are cryptographic protocols used for secure communication, with TLS being the more modern and secure version. HTTPS is the combination of HTTP and TLS (or SSL) and is used to ensure secure data transmission over the internet, especially for sensitive information. Enabling HTTPS on websites is crucial for protecting user data and ensuring a safe browsing experience.

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

      LMFAO, did you really just get chatgpt to give you the answer? 💀

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

    Love ALL your videos and channel! You rock!!!

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

    one of the best videos for overview on this.

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

    4:41 >_"as with most optimizations; it's a bit harder to explain"_
    glad go be reminded of it (:

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

    so nicely explained , Thanks lot , Glad I found this video and channel . thanks again

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

    Thanks for the video. I think you could have explained more about what TLS and SSL are specifically, but thanks for explaining in detail how HTTPS works.

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

    Great content. Simply explained

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

    hands down, you nailed it.

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

    Your content is fantastic. Thank you.

  • @skytechbits
    @skytechbits 19 днів тому

    Love the cool channel name. Thanks for the great info.

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

    Thanks a lot! This is very useful!
    03:47 it s hard to follow due to -I think- you using indefinite artical "a" (as in "a symmetric") vs the way "asymmetric" is pronounced. Also the fact that you added "symmetric encryption" to the diagram AFTER you mentioned your point. Sorry for nit-picking, just hope this would help anyone else

  • @johnw.8782
    @johnw.8782 Рік тому +3

    As always, great job. Looking forward to the next book.

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

    Thank you - beautifully explained!

  • @adilhashmi7608
    @adilhashmi7608 9 місяців тому

    clean and easy to understand thanks for this one

  • @user-yz7ts2fq9m
    @user-yz7ts2fq9m 11 місяців тому

    wow, great and clear explanation! Thank you very much!

  • @zixuanzhao6043
    @zixuanzhao6043 6 місяців тому +1

    DH alone is prone to man-in-the middle attack. So the certification verification is vitally important which the video doesn't cover much. Basically the server send a signature which is some private-key encrypted digestion of server identity information. The client then verify the public key through chain-of-trust by layers of authorities that issue certifications (system root authority is trusted unconditionally unless your local system is messed up). Using the verified public key the client decrypt the signature and compare the result to the digest generated through the negotiated digest/hash algorithm. If everything checks out, the server identity is trusted because only the private key owner is able to generate that signature.

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

    Wonderful video explaining the internal working of SSL TLS.
    This got me wondering that about what other questions related to HTTPS SSL TLS do web developers need to know the answers to to be able to do their jobs. I doubt they need the internals of how HTTPS SSL TLS work.
    Web developers just need to understand
    1. Libraries that enable http requests and responses - client side and server side.
    2. What are the steps in getting a certificate
    3. what sort of attack are prevented through this kind of encryption
    4. what are the libraries objects methods that enable https on both client side and server side
    5. what are the steps relevant to setting up https tls and ssl on self hosted and cloud hosted servers

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

    Great expalantion, thanks!

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

    perfect straightforward. love it

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

    very clear elaboration and good sharing!, Appreciate!

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

    Public keys were trapped sometimes and that's why no public keys travel. Mostly by NAT re-config. SSL means a set of algorithms accepted between with certificate means that the binary coded files used for decryption. Key means algorithm. Why public and private keys means that public used for encryption of the algorithm of choice and private is end to end algorithm transfer and use. About a thousand algorithm exchanges for a single transaction. So don't try.

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

    Beautifully explained. Classy video. Keep creating. !!!

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

    I never wanted to understand those trivial details until I came across developing my own softwares...these things should be taught coherently together, not separately...

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

    Excellent explanation!! Thanks

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

    Fantastic explanation.. Thank you

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

    For someone who may get confused, he is saying cipher suites not cyber suites

  • @s.m.hconstantin3887
    @s.m.hconstantin3887 Рік тому

    incredible video
    That helped me a lot Thanks

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

    Great, just please add Certificate Verification as well

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

    This is excellent explanation.

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

    Excellent explanation

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

    bytebytego team, i would like to thank you for your videos , really informative!

  •  Рік тому

    Very nice visuals!

  • @sbj0880
    @sbj0880 Рік тому +4

    Very well explained - I love how soothing and insightful it is to go through your videos. How do you record these videos..curious?
    Thank you.

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

    Sir.... how does your channel NOT HAVE 20M SUBS???!?!?!?!

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

    Very good explanation. Thanks man !

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

    Very interesting need to know

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

    Simple, very well explained, thank you!

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

    Great explanation , but please be loud next time

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

    very nice explanation. Thx

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

    Thanks so much for this video.

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

    Excellent video! Very well explained.

  • @ouss0539
    @ouss0539 9 місяців тому

    amazing explanation

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

    Thanks Lam

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

    Thank you very much!🙏👌

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

    Great video, thanks.

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

    Very useful information

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

    Thanks man. Good lesson

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

    great video! thanks!!

  • @algovec4024
    @algovec4024 10 місяців тому

    Great video thank you!

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

    great video

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

    Thank you brother

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

    Really good one! Thanks a lot!

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

    Thank you 😊

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

    Please make video on what is web!

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

    Thank you. And how do you draw these magic architecture pictures?

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

    Excellent

  • @viet-anhduong6887
    @viet-anhduong6887 Рік тому +2

    Nice video

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

    Thanks for information

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

    i think TLS 1.2 is the best version currently as 1.3 has a security vulnerability in its supply chain (one of its dependencies that is unique to the version i believe). This is according to recent software engineering daily podcast with guest Ilkka Turunen

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

      in this video which version did he explained 1.2 or 1.3

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

    Brilliant!👍

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

    This is super clear! Thank you!

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

    Sir, what graphics software do you use for making your videos? Your illustrations are so good!

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

    the animation looks great. which tool do you use?

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

    Could you tell us how you create the video animations?
    Thank you. Great video!

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

    Thank you.

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

    May I know which tool that you used for the Illustration or to make the presentation? It is simply impressive and easy to understand..

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

    Love the videos. What software do you use to make the video animations?

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

      i have the same exact question..These animations are so clean

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

      @@mario_luis_dev In some other videos, it is mentioned that He uses Adobe Illustrator or some other adobe product.

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

    clear and helpful👋

  • @51w2
    @51w2 4 місяці тому

    excellent

  • @Bobbel888
    @Bobbel888 Місяць тому

    1:03 Assymetric encryption alone can be proxied, at least in cases ECC and RSA. Where does the protocol prevent a man-in-the-middle attack ?