Тёмный

PKI Bootcamp Basics of Certificate Chain Validation 

Paul Turner
Подписаться 6 тыс.
Просмотров 36 тыс.
50% 1

This video explains the basics of how a browser validates a web server certificate and the CA certificate chain.

Опубликовано:

 

7 авг 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 75   
@triatheletecameraman6226
@triatheletecameraman6226 3 года назад
Paul, you are one of the best teachers I have seen on this subject. You made it look so easy. The three part video is the fastest I have learnt a complicated subject :) , and you have a compassionate voice too ! Kudos and god bless you !
@PaulTurnerChannel
@PaulTurnerChannel 3 года назад
Your comment put a big smile on my face and warmed my heart. Thank you for your kind words. I’m glad it was helpful. God bless you as well.
@gvamshikrishna1992
@gvamshikrishna1992 4 года назад
Your three PKI Bootcamp videos put together is a great explanation in understanding end-to-end high-level PKI Infrastructure. Kudos to you!
@PaulTurnerChannel
@PaulTurnerChannel 4 года назад
I appreciate the feedback, Vanshi. Thanks for taking the time to comment.
@simbac
@simbac 3 года назад
Lightbulb in my head finally lit after watching these three videos. Definitely got my ah-ha moment. Thanks a lot.
@PaulTurnerChannel
@PaulTurnerChannel 3 года назад
I’m really glad to hear the videos were helpful, Simba. Thanks for taking the time to give your feedback. It means a lot!
@alexmook6786
@alexmook6786 2 года назад
Dude...I have never seen such an incredible description of the process...you are incredible! Why cant more people explain such a complex topic in such an easy to understand way?
@PaulTurnerChannel
@PaulTurnerChannel 2 года назад
Wow, Alex. Thanks for the generous feedback. I’m really glad you found it easy to understand. Thanks again.
@Mackaiin
@Mackaiin 6 месяцев назад
I love this series. It is very nice to finally understand how the processes work.
@DanielLagoAguado
@DanielLagoAguado 3 месяца назад
Wonderful series of videos, best explanation about PKI and cert validation I've found so far. Congrats!
@jwalinarora6427
@jwalinarora6427 2 года назад
I've been following all your Digital Certificate Content and it's one of the best tutorials I've ever come across
@PaulTurnerChannel
@PaulTurnerChannel 2 года назад
Thank you very much for the feedback, Jwalin. I’m really glad you like the videos.
@xDRAN0x
@xDRAN0x 7 лет назад
What a clean and simple way to explain this, good work.
@ebhole
@ebhole 8 месяцев назад
3:42 straight and concise to the point. very informative and clear. Thanks a lot for this content
@khiyamiftikharusmani1111
@khiyamiftikharusmani1111 7 месяцев назад
Excellent explanation in such small time.
@neyvie
@neyvie 3 года назад
Thanks a lot I had some trouble understanding PKI until I watched your videos!
@PaulTurnerChannel
@PaulTurnerChannel 3 года назад
I’m glad you found the video helpful, Neyvie. Thank you for taking time to provide your feedback.
@carloscorva
@carloscorva 6 лет назад
This is the most clearly explanation that I've found it. Very nice work. Thanks! :)
@PaulTurnerChannel
@PaulTurnerChannel 6 лет назад
Thanks for your feedback, Carlos.
@scottbiggs8894
@scottbiggs8894 4 года назад
A most necessary video--this was exactly the piece of information that I couldn't quite figure out (and seems just like hand-waving in other tutorials). Thank you!
@PaulTurnerChannel
@PaulTurnerChannel 4 года назад
You put a big smile on my face, Scott. Thanks for the generous feedback.
@ParasSaxena-wz8qm
@ParasSaxena-wz8qm Год назад
Thankyou for concise and clear explanation Great work
@amansingh_797
@amansingh_797 3 года назад
Your understanding and videos are awesome. I hope a lot of people must be waiting for thr detailed videos.
@PaulTurnerChannel
@PaulTurnerChannel 3 года назад
Thanks for your feedback, Aman. I’m glad it was helpful for you.
@quanny4690
@quanny4690 3 года назад
very clear very understandable. brilliant explainer
@PaulTurnerChannel
@PaulTurnerChannel 3 года назад
I appreciate you taking the time to provide feedback, quanny. I’m glad you liked it.
@FilipeAlvesdef
@FilipeAlvesdef 4 года назад
Your videos really helped me a lot. Thank you very much, Paul! I will recomend it to my subscribers :)
@PaulTurnerChannel
@PaulTurnerChannel 4 года назад
I’m glad the videos were helpful. Thank you very much for the mention to your subscribers.
@abhinavanshu7298
@abhinavanshu7298 3 года назад
I love your explanations, Thank you so much for your efforts.
@PaulTurnerChannel
@PaulTurnerChannel 3 года назад
I’m very glad you find them helpful, Abhinav. Thank you for your note.
@vak21
@vak21 4 года назад
Another excellent video. Thanks for sharing.
@PaulTurnerChannel
@PaulTurnerChannel 4 года назад
Jose Miguel, thank you very much for taking the time to provide your feedback. I'm very glad to hear that the videos were helpful.
@suryakiransuravarapu8081
@suryakiransuravarapu8081 3 года назад
your explanation is definitely superb
@PaulTurnerChannel
@PaulTurnerChannel 3 года назад
Thank you for your feedback, Suryakiran!
@tobiaslee6444
@tobiaslee6444 8 месяцев назад
This was a great video, thank you!
@sunnus1660
@sunnus1660 3 года назад
thanks man, you described the gist of the procedure in this short video, very informative
@PaulTurnerChannel
@PaulTurnerChannel 3 года назад
Thanks a bunch for the feedback!
@salakhre3775
@salakhre3775 5 лет назад
Hey Paul I have become fan of yours. I have never seen such detailed explanation and so easy to understand
@PaulTurnerChannel
@PaulTurnerChannel 5 лет назад
Thanks, Salakh. I hope to get time to make some more videos soon. This darn day job! :-)
@hexdex8547
@hexdex8547 4 года назад
Thanks again ! we really do appreciate it
@PaulTurnerChannel
@PaulTurnerChannel 4 года назад
Thank you, Aymane.
@083449
@083449 3 года назад
Woww... Just Wowwww. You explained so well. It cleared my doubts and i was able to connect all the missing dots
@PaulTurnerChannel
@PaulTurnerChannel 3 года назад
Thank you very much for your kind feedback, Raki. I’m glad you found it helpful.
@sofexpert
@sofexpert 5 лет назад
Yet another masterpiece!
@PaulTurnerChannel
@PaulTurnerChannel 5 лет назад
Thanks for the second comment. It is inspiration for me to start creating a few more videos.
@trendyniro
@trendyniro Год назад
Thank you. Simply explained
@PaulTurnerChannel
@PaulTurnerChannel Год назад
Glad you liked it, Niranjan. Thanks for the feedback!
@freezing1065
@freezing1065 4 года назад
in Germany we call a Person like you a Ehrenmann
@PaulTurnerChannel
@PaulTurnerChannel 4 года назад
I had to look up the translation of Ehrenmann and am now now sure how to respond but to say that I appreciate your generous intention. I could only strive to reach such a lofty distinction, especially amidst all of the incredible beings I’ve been blessed enough to encounter and be in awe of in my life. You are very kind. Thank you.
@monzermasri4490
@monzermasri4490 3 года назад
what a great explaination
@PaulTurnerChannel
@PaulTurnerChannel 3 года назад
Thank you very much, Mohamed!
@fb767
@fb767 5 лет назад
I swear you have such a soothing voice 😂.
@PaulTurnerChannel
@PaulTurnerChannel 5 лет назад
:-) Thanks for the comment, Abushawish. I hope I didn't put you to sleep before the end of the video :-)
@jaysonlass
@jaysonlass 4 года назад
PERFECT!
@PaulTurnerChannel
@PaulTurnerChannel 4 года назад
Thank you!
@itaco8066
@itaco8066 4 года назад
Awesome
@PaulTurnerChannel
@PaulTurnerChannel 4 года назад
Thank you!
@jomathew171
@jomathew171 5 лет назад
Thank you so much Paul for this video series. Its been really wonderful. I need a favor. @ 2:00 - 2:18 minutes of this video, you mention that the client machine uses its own embedded certificate (from the software manufacturer) to validate CA1 certificate and the certificate from abcd.com. The picture shows that this processes is accomplished using the Public Keys. Can you please throw a little more light on that process of using the Public Keys for validation. I have listened to the previous videos about 4 times and I am still not able to grasp this particular concept. Thanks again.
@PaulTurnerChannel
@PaulTurnerChannel 5 лет назад
This is a great question. If you can, please read the response I just made to Abhishek on the “Introduction to Cryptographic Key and Certificates” video. With that said, I’ll try to explain in the context of your question. Certificates are digitally signed by certificate authorities (CAs) so they can be authenticated as valid. CAs use their private key to apply the signature by encrypting a hash of the certificate with their private key to create the signature. In order to validate a signature on a certificate you receive, you decrypt the signature with your copy of the CA’s public key (which is stored on your computer, typically in the form of a root CA certificate). Please tell me if this clarifies what you’re asking about. I should really create another video that explains digital signatures, as it is a confusing concept. Thank you very much for the question.
@jomathew171
@jomathew171 5 лет назад
@@PaulTurnerChannel Yes!! :-) Thank you so much. It is a simple concept once you explained it. Another video on Digital Signatures (possibly starting with the concept of Hash) would be a great addition to this series.You have a gift and I hope that the good efforts you do come back to you multiplied...
@MrVishnubhadran
@MrVishnubhadran 4 года назад
Thanks a ton paul, But still i dont understand how the encryption between user and the server (abcd.com) can be on both direction, now with public key of abcd.com messages to abcd.com can be encrypted, but how abcd.com will encrypt the message to the user.
@PaulTurnerChannel
@PaulTurnerChannel 4 года назад
Vishnu, this is a great question that I’ve been meaning to address in a different video but haven’t gotten to it. In short, a session symmetric key is used. I will use TLS with the RSA algorithm as the example to answer your question in more detail: 1) the TLS client connects to the TLS server, 2) the server responds with its certificate, 3) the client randomly generates a symmetric key, 4) the client encrypts the symmetric key with the server’s public key (from the cert) and sends that encrypted key to the server, 5) the server decrypts the key with its private key, and 6) the client and server both use the symmetric key as the session key to encrypt and decrypt data they send to each other. The alternative to the RSA algorithm is Diffie-Hellman (DH). I won’t attempt to explain DH in this response but it is also used to create a session key that is used between the client and server. I hope this helps. Your question serves as an incentive for me to get that other video done.
@aware2849
@aware2849 6 лет назад
Nice presentation. What software do you use for making the presentation?
@PaulTurnerChannel
@PaulTurnerChannel 6 лет назад
Thanks for the kind feedback. I use PowerPoint.
@nabackgames
@nabackgames 4 года назад
What is the data that the private keys encrypt to generate the signature? The algorithm that will verity its authenticity must know the data to compare, right?
@PaulTurnerChannel
@PaulTurnerChannel 4 года назад
Matheus, this is a good question. Sorry for the being slow to reply. First, it is important to understand that encrypting with public and private keys (asymmetric keys) is very slow. Consequently, you want to only encrypt small pieces of information. In the case of digital signatures, where the private key is used for encryption, even certificates are generally too large (even though they're not huge documents). The solution is to use a hash (e.g., SHA2, or SHA1 or MD5 in the past). The signer starts by creating a hash of what they're going to sign (in this case a certificate). The result is 256 bits (the hash). The signer then encrypts that hash with their private key. Finally, the signer bundles the following together to send to the recipient(s): the certificate (the data that is signed in our example), the encrypted hash (which is the digital signature), an indication of what algorithms were use to create the signature (e.g., RSA and SHA2), and the signer's certificate (which contains the public key of the signer needed to validate the signature, in our example this would be the CA's certificate). The recipient 1) uses the public key in the signers certificate to decrypt the signature and get the signer's hash, 2) creates their own hash of the certificate, and 3) confirms that the signer's hash and the hash they just created in step 2 match. I hope this short explanation helps. Tell me if I need to try to explain it again. Since we're signing a certificate (e.g., the server's certificate) and using another certificate to verify (e.g., the CA's certificate), I hope the explanation isn't confusing.
@maksimka7999
@maksimka7999 4 года назад
Can we say the presents of Root CAs (or any CA cert issuing CA ) is just to make the revocation of CA's possible with less effort? Is there anything to prevent or at least/identify an attacker who's issuing bogus certificates when he's unknowingly in charge of any valid ca certificate?
@PaulTurnerChannel
@PaulTurnerChannel 4 года назад
Hi, Maksim. Good question. Bogus certificates will only be trusted by a replying party if they’re issued by a CA that the relying party trusts (i.e., they have a copy of the CA’s cert in their local trust store). CAs exist so that relying parties don’t have to explicitly vet and trust an individual self-signed cert from everyone they’re communicating with. You can imagine the amount of work if you had to perform the same confirmation that a CA does for a website the first time you connected to that website (requiring a domain challenge). CAs enable broad scaling and simplify life for relying parties. Thanks for the question. I hope this helps.
@maksimka7999
@maksimka7999 4 года назад
@@PaulTurnerChannel thank you very much for your help making it clear. So in conclusion and to catch up on my second question. If we assume there's a chance that a attacker gets away with stealing a ca certificate from a ca. He could issue bogus certs like e.g. for apple.com easily. I'm bringing this up again because I see a few challanges even if we find out about the compromisation in the rollout of a revocation: 1.) coverage 2.) Reactiontime 3.) access to revocation lists might be blocked - by attacker or there's simply no(offline service or lake of list update implementation thinking of embedded systems here) I see 1&2 because clients need to pull the lists themselves. In terms of point 3 I guess it's quite clear now that without access at all to the revocation list we are hopelessly lost, but is there a Szenario for temporary blockage? Thanks a lot again.
@maksimka7999
@maksimka7999 4 года назад
I'm sure i'm not the first one to mention those "challenges" and there are well known, so that's why I'm interested to know if there are countermeasures. Actually they would be a interesting topic for another video;)
@PaulTurnerChannel
@PaulTurnerChannel 4 года назад
Hello, Maksim. One other way to “revoke” trust is for software vendors to remove the root cert for the compromised CA from their software and distribute the updated version. This was done, for example, in response to the DigiNotar breach in 2011. However, as you point out, there can be a delay in discovery and response. The Iranian government was able to use the forged certificates for about three weeks before the compromise was discovered. Even when the rogue certs were discovered, DigiNotar did not communicate clearly about what had happened to their CA. The browser vendors finally took the step to remove DigiNotar from their trust stores when they weren’t able to get clear answers. Thanks for you for follow up.
@KK-ib5nh
@KK-ib5nh Год назад
I want to verify the certificate. Iam using mbedtls . But i am getting error -0x2700 - X509 - Certificate verification failed, e.g. CRL, CA or signature check failed How to solve this or are reason to fail the verification
@PaulTurnerChannel
@PaulTurnerChannel Год назад
Hmmm. That’s not a lot to go on, K K. The first thing I would do would be to try to connect to the server with a different client that might give you more information about what is causing the failure. You might try OpenSSL (www.openssl.org/docs/man3.0/man1/openssl-verification-options.html). Is this a public or private server? If public, can you provide a URL?
@KK-ib5nh
@KK-ib5nh Год назад
@@PaulTurnerChannel i am using ip address for URL ..yeahh it's private The provided openssl link is not opening.
@PaulTurnerChannel
@PaulTurnerChannel Год назад
That is likely your problem. You need to use a DNS address that matches the CN and/or SAN in the certificate of the server. That is what the TLS library is attempting to match.
Далее
PKI Bootcamp - Anatomy of a Certificate Attack
6:59
Просмотров 10 тыс.
PKI Bootcamp - What is a PKI?
10:48
Просмотров 193 тыс.
How to Get a Verified Email Badge (Extremely Rare)
26:24
School Of Basics | What is SSH | How SSH works
10:43
Просмотров 108 тыс.
PKI Bootcamp - Basics of Certificate Issuance
6:53
Просмотров 41 тыс.
Tech Talk: What is Public Key Infrastructure (PKI)?
9:22
Introduction to Cryptographic Keys and Certificates
18:06