Certificates - CompTIA Security+ SY0-701 - 1.4

Professor Messer
2 Nov 202314:38

Summary

TLDRThis script explores the concept and importance of digital certificates in IT security, emphasizing their role in establishing trust. It explains how digital certificates, signed by certificate authorities, authenticate identities and secure access to systems. The video delves into certificate creation, the validation process by authorities, and the use of both public and internal certificate authorities. It also covers certificate revocation methods, including CRL and OCSP stapling, highlighting the efficiency and security of modern web practices.

Takeaways

  • 🔒 A digital certificate is a file that includes a public key and a digital signature, serving as a digital ID card with enhanced capabilities for authentication and trust.
  • 🤝 Trust is a fundamental aspect of IT security, and digital certificates help establish trust by verifying the identity of users trying to access a system.
  • 📜 Certificate Authorities (CAs) play a crucial role in the trust process by digitally signing certificates, vouching for the identity of the certificate holder.
  • 🕸 The concept of a 'web of trust' allows for a decentralized trust model where individuals sign each other's certificates, creating a network of trust.
  • 🏢 Organizations can establish their own internal CAs for issuing certificates within the organization, using tools like Microsoft Windows Domain Services.
  • 🔒🌐 When visiting a secure website, the lock icon in the browser's address bar signifies a valid digital certificate, which can be inspected for details about the certificate and the issuing CA.
  • 📑 The X.509 format is a standardized format for digital certificates, containing a wealth of information including serial number, version, signature algorithm, issuer, and holder details.
  • 🌐 The 'Subject Alternative Name' in a certificate allows for a single certificate to be used across multiple domain names or services under the same domain.
  • ⚠️ Certificate Revocation Lists (CRLs) and the Online Certificate Status Protocol (OCSP) are methods to manage and check the revocation status of certificates, ensuring ongoing trust.
  • 🛡️ The validation process by a CA is critical for establishing trust in a certificate, as it confirms the identity and ownership of the certificate holder.
  • 🔄 In the event of security vulnerabilities like Heartbleed, the ability to revoke and replace certificates quickly is essential to maintain trust and security.

Q & A

  • What is a digital certificate?

    -A digital certificate is a file that contains a public key and a digital signature, serving as a digital version of an identification card with capabilities beyond simple authentication, such as establishing trust in IT security.

  • Why is trust important in IT security?

    -Trust is crucial in IT security because it ensures that the person using a username and password is genuinely the one being granted access, thus maintaining the integrity and security of the system.

  • How does a digital certificate provide trust?

    -A digital certificate provides trust by being digitally signed by a Certificate Authority (CA), which vouches for the identity of the certificate holder, allowing others to trust the person or entity presented in the certificate.

  • What is a web of trust and how does it function?

    -A web of trust is a method where multiple individuals sign each other's certificates, creating a network of trust. If you trust a person who has signed a third party's certificate, you can also trust the third party.

  • Can organizations create their own digital certificates without a third-party CA?

    -Yes, organizations can create their own digital certificates using built-in certificate tools like Microsoft Windows Domain Services or third-party software, especially for certificates used internally.

  • What is the significance of the lock icon in a web browser's address bar?

    -The lock icon indicates a secure connection to a website. Clicking on it allows users to view the details of the certificate associated with the web server, ensuring the site's identity and security.

  • What is the X.509 format and why is it important?

    -The X.509 format is a standardized format for digital certificates. It is important because it allows for a consistent way to read and verify certificates across different websites and systems.

  • What information can be found in a digital certificate?

    -A digital certificate contains a serial number, version, signature algorithm, issuer's name, the certificate holder's name, the public key, and other relevant information.

  • What is a Certificate Signing Request (CSR) and why is it used?

    -A CSR is a request sent to a CA to create a digital certificate. It includes the requester's public key and identifying information, which the CA uses to validate and issue a signed certificate.

  • How does a Certificate Authority validate a certificate before signing it?

    -The CA goes through a validation process to confirm the identity of the certificate requester and ensure they are the legitimate owner of the website or server for which the certificate is being requested.

  • What is a Subject Alternative Name (SAN) and how does it work?

    -A SAN is a section in a certificate that lists additional domain names or identifiers for which the certificate is valid, such as wildcard certificates that can be used for multiple subdomains under the same domain.

  • What is a Certificate Revocation List (CRL) and why is it used?

    -A CRL is a list of all revoked certificates maintained by a CA. It is used to ensure that certificates that are no longer valid are not trusted, providing a way to revoke trust when necessary.

  • What is the Online Certificate Status Protocol (OCSP) and how does it improve certificate validation?

    -OCSP is a protocol that allows for real-time validation of a certificate's status, improving efficiency by eliminating the need to download a full CRL. It uses digital signatures by the CA to validate the certificate's status during the SSL handshake.

  • What is OCSP stapling and how does it work?

    -OCSP stapling is a process where the status of a certificate is embedded within the SSL handshake by the web server, using a digital signature from the CA to validate its status, streamlining the certificate validation process.

Outlines

00:00

🔒 Digital Certificates and Trust Establishment

This paragraph introduces digital certificates as files containing a public key and a digital signature, serving as a digital ID card with advanced capabilities. It emphasizes the importance of trust in IT security, especially when granting access to systems. Digital certificates help establish this trust, either through a centralized certificate authority (CA) or a web of trust where individuals sign each other's certificates. The paragraph also touches on the possibility of creating certificates within an organization using built-in tools like Microsoft Windows Domain Services or third-party software. It explains how digital certificates are used in web browsers to secure connections, indicated by a lock in the address bar, and how the X.509 format is a standard for these certificates. The information contained in digital certificates, such as serial number, version, signature algorithm, issuer, and holder's name, is highlighted, along with the role of a root of trust in establishing trust with unknown entities.

05:02

🛠️ Certificate Creation and Validation Process

The second paragraph delves into the process of obtaining a digital certificate for a web server. It clarifies that purchasing a certificate involves a validation process by the CA to ensure the requester's ownership of the website. The creation of a Certificate Signing Request (CSR) with public key and identifying information is discussed, followed by the CA's validation and digital signing of the certificate. The paragraph highlights the significance of the validation process in establishing trust. It also covers the concept of being one's own CA for internal applications and servers, with the installation of an internal CA's public certificate on all devices within an organization. The use of various software packages to create an internal CA is mentioned, along with the process for creating and distributing certificates using an internal CA. The paragraph concludes with the mention of the Subject Alternative Name in certificates, which allows a single certificate to be used for multiple domain names under the same domain.

10:04

♻️ Certificate Revocation and Efficient Trust Management

The final paragraph addresses the need for certificate revocation due to various reasons, such as decommissioning a server or security breaches like the Heartbleed vulnerability. It explains the Certificate Revocation List (CRL) as a record of revoked certificates maintained by the CA. The paragraph describes the process of revoking certificates during the OpenSSL update following the Heartbleed incident. It also introduces the Online Certificate Status Protocol (OCSP) as a more efficient method for checking certificate validity, with the concept of OCSP stapling, where the certificate status is embedded in the SSL handshake. The paragraph discusses the importance of having a method for revoking trust and the browser's role in checking the CRL distribution points and OCSP responses to ensure a certificate's validity before allowing access to a web server.

Mindmap

Keywords

💡Digital Certificate

A digital certificate is a digital file that contains a public key and a digital signature, serving as a digital identity card. It is essential for establishing trust in IT security, ensuring that the person using a username and password is indeed the intended individual. In the video, digital certificates are discussed as a means to provide trust through digital signatures by a Certificate Authority, which validates the identity of the certificate holder.

💡Certificate Authority (CA)

A Certificate Authority is a trusted entity that issues digital certificates. It validates the identity of the certificate holder and signs the certificate with its own digital signature. The script mentions that if a CA trusts a person, then others can also trust that person, highlighting the role of CAs in establishing trust in digital environments.

💡Trust

Trust is a fundamental concept in IT security, referring to the confidence in the identity of a person or entity. The video emphasizes the importance of trust when granting access to systems, and how digital certificates and CAs help establish this trust by vouching for the identity of users or websites.

💡Web of Trust

The Web of Trust is an alternative to a centralized CA model where individuals sign each other's certificates, creating a network of trust. The video script describes this as a method to provide trust without relying on a single CA, allowing trust to be established through a community of users who vouch for each other.

💡Microsoft Windows Domain Services

Microsoft Windows Domain Services is a feature within Microsoft Windows that provides certificate tools for creating an internal CA. The script mentions this as an option for organizations to manage their own digital certificates, which is particularly useful for internal networks and applications.

💡X.509 Format

X.509 is a standard format for digital certificates, ensuring compatibility and readability across different systems and browsers. The video script explains that this format includes detailed information about the certificate, such as the issuer, holder, and public key, and is universally recognized to facilitate secure communication.

💡Secure Sockets Layer (SSL)

SSL is a security protocol for establishing an encrypted link between a web server and a browser. The script mentions the lock in the address bar of a web browser, which indicates an SSL connection, and how clicking the lock allows users to view the certificate details, including the SSL certificate's role in secure communication.

💡Root of Trust

The Root of Trust is the foundation upon which trust in a system is built. It can be hardware, software, or firmware that inherently provides trust. The video script discusses how a browser uses a third-party CA as the root of trust to verify the authenticity of a website during the first visit.

💡Certificate Signing Request (CSR)

A Certificate Signing Request is a block of encoded text that contains information about the entity requesting a certificate. The script explains that a CSR is sent to a CA, which then validates the request and, if approved, issues a digital certificate, illustrating the process of obtaining a certificate from a CA.

💡Subject Alternative Name

The Subject Alternative Name is a field in an X.509 certificate that allows for additional domain names or identifiers to be associated with the certificate. The script uses the example of a wildcard certificate, where *.birdfeeder.live could cover multiple subdomains, demonstrating the flexibility and utility of the Subject Alternative Name in certificate management.

💡Certificate Revocation List (CRL)

A Certificate Revocation List is a record of all digital certificates that have been revoked by the issuing CA. The script describes the importance of CRLs in maintaining security, especially in situations like the Heartbleed vulnerability, where certificates need to be revoked and new ones issued.

💡Online Certificate Status Protocol (OCSP)

OCSP is a protocol used to check the revocation status of a certificate in real-time. The script explains OCSP stapling, where the status of a certificate is included in the SSL handshake, reducing the need for downloading a full CRL and making the process more efficient and secure.

Highlights

A digital certificate is a file containing a public key and a digital signature, serving as a digital version of an identification card with additional capabilities.

Digital certificates are essential for establishing trust in IT security, verifying the identity of users accessing a system.

Certificate Authorities (CAs) digitally sign certificates, transferring trust from the CA to the certificate holder.

A web of trust can be created through multiple individuals signing each other's certificates, decentralizing trust.

Organizations can create their own certificates using built-in tools like Microsoft Windows Domain Services or third-party software.

Secure connections in web browsers are indicated by a lock in the address bar, which provides access to the certificate details.

The X.509 format is the standardized format for digital certificates, recognized across different websites and browsers.

Digital certificates contain a wealth of information, including serial number, version, signature algorithm, issuer, holder's name, and public key.

The root of trust is a foundational concept in IT security, referring to a trusted third party that vouches for a site's authenticity.

When visiting a website for the first time, the browser relies on the root of trust to establish a connection's validity.

Certificate Authorities undergo a validation process to ensure the digital signature's recipient is the rightful owner of the website.

Internal applications and web servers can utilize an internal CA, streamlining the process of creating and trusting certificates within an organization.

Wildcard certificates, indicated by a Subject Alternative Name, allow a single certificate to be used for multiple domain names under the same domain.

Certificate Revocation Lists (CRLs) are used to maintain a list of revoked certificates, ensuring their trust is no longer valid.

The Heartbleed attack in 2014 highlighted the importance of revoking and updating certificates in response to vulnerabilities.

OCSP, or Online Certificate Status Protocol, provides a more efficient method for checking certificate revocation status without downloading a full CRL.

OCSP Stapling embeds the certificate status within the SSL handshake, validated by the CA's digital signature for trust.

Modern browsers support OCSP, allowing them to perform revocation checks during website visits, ensuring the validity of certificates.

Transcripts

play00:01

A digital certificate is a file that contains both a public key

play00:05

and a digital signature.

play00:07

You can think of this as a digital version

play00:10

of an identification card.

play00:11

But in reality, it has so many more capabilities

play00:14

than simply providing authentication.

play00:16

One of the characteristics we're constantly

play00:19

striving for in IT security is that of trust.

play00:22

Whenever we're allowing someone access to a system,

play00:25

we're trusting that the person using that username

play00:28

and password really is the person that we'd

play00:30

like to provide access.

play00:32

A digital certificate is a way to provide that trust.

play00:35

We can create a digital certificate,

play00:37

have a certificate authority digitally sign that certificate

play00:41

so that we know that if the certificate authority trusts

play00:44

that person, then we should also trust that person as well.

play00:48

There are other ways to provide trust

play00:49

with digital certificates.

play00:51

One of those methods is through the use of a web of trust.

play00:53

Instead of having a centralized certificate authority,

play00:56

we can have multiple individuals sign

play00:59

each other's certificate, thereby creating

play01:02

this web of trust.

play01:03

If we trust our friend and our friend

play01:05

has signed the digital certificate

play01:07

of a third party, then therefore,

play01:09

we can trust the third party as well.

play01:11

But of course, you don't necessarily

play01:12

need a third-party certificate authority to provide trust,

play01:16

especially if you're just creating certificates

play01:18

within your own organization.

play01:20

In that case, you may want to use the certificate

play01:22

tools that are built into Microsoft Windows Domain

play01:24

Services.

play01:25

And there are many other third-party software options

play01:28

to provide your own certificate authority.

play01:31

If you're in a web browser and you're connected securely

play01:34

to a website, you'll notice there's

play01:35

a lock in the address bar.

play01:37

And if you click that lock, you'll

play01:38

be able to see the details of the certificate associated

play01:41

with that web server.

play01:42

You'll notice that your browser is

play01:44

able to show you the information about the certificate

play01:46

for that web server regardless of what websites

play01:49

you might be connected to.

play01:50

That's because all of these different websites

play01:53

are using a single certificate format that everyone can read.

play01:57

The standard for that format is called an X.509 format.

play02:01

And sometimes, you'll hear people

play02:02

refer to the X.509 certificate.

play02:04

And they're referring to the standardized format

play02:07

for a digital certificate.

play02:09

There is an amazing amount of information stored

play02:11

in these digital certificates.

play02:12

You have a serial number, a version,

play02:14

and a signature algorithm.

play02:16

You can see who issued the digital certificate, the name

play02:19

of the holder of the digital certificate,

play02:21

the public key, and other information as well.

play02:24

In this video, we'll look at some of these characteristics

play02:27

inside of this certificate.

play02:28

And we'll talk about how we can use those to help better secure

play02:31

our networks.

play02:32

Having a method of creating trust between yourself

play02:36

and someone trying to gain access to your systems

play02:38

is a foundational part of IT security.

play02:41

The real challenge, of course, is,

play02:43

how do you trust something that up to this point

play02:45

has been an unknown entity?

play02:47

For example, when we use our browser

play02:49

to visit a website for the very first time,

play02:51

how does our browser know that we're

play02:53

connecting to the right website and creates that trust

play02:56

between you and that resource?

play02:58

One way to provide this trust is to have a third party

play03:01

vouch for the site that you're connecting to so

play03:04

that if the third party trusts the site, then

play03:06

therefore, I should be able to trust the site as well.

play03:09

We often refer to this inherently trusted component

play03:12

as the root of trust.

play03:14

This might be provided through hardware or software.

play03:17

Or there may be firmware or some other component that provides

play03:20

trust for a particular system.

play03:22

If we have a mobile phone or a website,

play03:24

we may be using hardware security modules, Secure

play03:28

Enclave, a certificate authority, or some other method

play03:31

that provides us with some level of trust

play03:34

for this particular system.

play03:36

The method of trust that's built in to all of our browsers

play03:39

is one that allows us to understand

play03:41

if we're connecting to a website that can be trusted

play03:44

or not trusted.

play03:45

When you're connecting to a website for the very first

play03:47

time, it would be great if we could get some feedback

play03:50

on whether this site can be trusted

play03:52

or whether it's untrusted.

play03:53

So we'll use a trusted third party, an authority of sorts,

play03:57

called a certificate authority.

play03:59

The certificate authority is one that

play04:01

digitally signs the certificates that

play04:03

are stored on that website.

play04:05

And your browser trusts the certificate authority.

play04:08

So when you visit this website for the very first time,

play04:10

you can view their certificate and see that their certificate

play04:13

was digitally signed by a certificate authority

play04:16

that your browser already trusts.

play04:18

Therefore, you also will trust this third-party website.

play04:22

This provides a real-time validation

play04:24

that this website is one we can trust.

play04:26

And it's this process that occurs to every website we

play04:29

visit throughout our workday.

play04:31

This process that a browser uses to trust a website

play04:35

is built into the internals of the browser that you're using.

play04:38

And if you look at the list of certificate authorities

play04:41

that are trusted by your browser,

play04:43

you will see there are hundreds of certificate

play04:45

authorities listed.

play04:46

This means the website can purchase a certificate from any

play04:50

of these hundreds of certificate authorities,

play04:52

put that digitally signed certificate

play04:54

on their web server.

play04:55

And as long as they're in the list of your browser,

play04:58

they'll be trusted.

play04:59

In this example, the certificate authority

play05:01

is in charge of digitally signing this certificate

play05:04

that you put on your website server.

play05:05

But we're not really purchasing a digital signature.

play05:08

When we purchase a certificate, we're

play05:10

really purchasing the validation process

play05:13

that a certificate authority goes through.

play05:15

The certificate authority is going

play05:16

to go through a series of verifications

play05:18

to make sure that the person receiving

play05:20

that digital signature is truly the owner

play05:23

of that particular website.

play05:25

That is the trust part that is built into this certificate

play05:28

authority.

play05:28

And it's how we can trust any of these websites

play05:31

that we visit throughout the day.

play05:33

Let's say that we would like to create a certificate

play05:35

for our web server.

play05:36

We'd like to send that certificate to a certificate

play05:39

authority to be validated, have them digitally sign it,

play05:42

and return that back to us.

play05:43

The process to do this is relatively simple.

play05:46

We would first create what is effectively

play05:48

a digital certificate by using our public key,

play05:51

add the identifying information about what

play05:54

server this might be connected to

play05:55

and information about our organization,

play05:57

and combine those together to create a Certificate Signing

play06:01

Request, or a CSR.

play06:03

That CSR is sent to a certificate authority.

play06:06

The certificate authority now does the validation process.

play06:09

They confirm that the certificate that you're

play06:12

asking for is one that is really for a web server

play06:14

that you own and control.

play06:16

And if they agree that this is a valid certificate,

play06:19

they will use their private key to digitally sign

play06:22

the certificate and send it back to you.

play06:24

It's this middle part where the validation

play06:26

is occurring that is so important

play06:28

to this entire process.

play06:29

If the certificate authority doesn't

play06:31

provide this validation, then we can't

play06:33

trust any of the certificates from that CA.

play06:36

That's why this validation process is so important,

play06:39

because that's where we get trust associated

play06:41

with this digital certificate.

play06:44

So far, we've been talking about using a public CA that

play06:47

is built into everyone's browser in the world

play06:50

to be able to provide trust.

play06:51

But if you have your own internal applications

play06:54

and your own internal web servers

play06:56

and these will only be connected to by people inside

play06:59

of your organization, then you can be your own certificate

play07:03

authority.

play07:04

For this to work, we would install our own certificate

play07:06

authority software inside of our organization.

play07:09

We would then take the public certificate

play07:11

for that certificate authority, and we

play07:13

would install it on everyone's computer

play07:15

inside of our organization.

play07:17

That way, everyone's machine would trust the certificate

play07:20

authority we run internally, the same way that they

play07:23

would trust a certificate authority that was external.

play07:26

And you'll find that this is relatively common for medium-

play07:29

to large-sized organizations that have

play07:31

their own internal services.

play07:32

They can create their own certificates

play07:34

using an internal CA.

play07:36

There are many software packages that

play07:38

allow you to create your own certificate authority.

play07:41

Microsoft has their Windows Certificate Services

play07:43

that you see here.

play07:44

There's OpenCA and many other third-party software packages.

play07:49

So now we've created our own certificate authority

play07:52

for everything that is internal to our organization.

play07:55

And if we have an application or user that needs a certificate,

play07:58

we don't have to go outside to a public CA.

play08:01

We can simply use our internal CA

play08:03

to create those certificates.

play08:05

The process for creating a digital certificate,

play08:07

having the certificate authority digitally sign

play08:10

that certificate, and distributing it back

play08:12

to the end user is exactly the same

play08:14

as you would use with an external CA.

play08:16

The only difference is we're using our internal CA

play08:19

to provide the trust and provide digital signatures for all

play08:22

of our certificates.

play08:24

As long as you've installed your internal certificate authority

play08:27

certificate to the trusted chain on all of your devices,

play08:30

it works exactly the same as an external or public CA.

play08:34

All of these devices will inherently

play08:36

trust anything they're connecting

play08:37

to because you've digitally signed

play08:39

those with the internal CA.

play08:42

If you're visiting a website in your browser

play08:44

and you click the lock that is in the address bar,

play08:47

you'll be able to see all of the details of that certificate.

play08:50

And if you scroll through this web server certificate,

play08:52

you may see a section called Subject Alternative Name.

play08:56

Sometimes, we refer to this as a wildcard certificate

play08:59

because it allows you to put the name of a domain

play09:02

with an asterisk associated with the name of the device.

play09:06

This means the certificate that we've created

play09:08

can be used for any device that happens

play09:10

to share that fully qualified domain

play09:13

name listed in the Subject Alternative Name.

play09:16

For example, in this certificate,

play09:17

there are large number of DNS names that are listed.

play09:20

One of these is birdfeeder.live, which

play09:22

is one of my certificates.

play09:24

And you can see it has an *.birdfeeder.live.

play09:27

That means that this certificate could

play09:29

be used for www.certificate.live,

play09:32

ftp.certificate.live, mail.certificate.live,

play09:36

and so on.

play09:37

From an administration perspective,

play09:39

this makes it very easy to create a single certificate

play09:42

and distribute that certificate to a large number of devices

play09:45

within your organization.

play09:47

As long as that device is associated with that domain

play09:50

name, this certificate will be valid for that service.

play09:54

There may be times when we're decommissioning a web server,

play09:57

and we would like that certificate

play09:59

to no longer be valid.

play10:00

Or maybe we're concerned that an attacker has gained access

play10:04

to our certificates.

play10:05

So we would like to revoke all of those certificates

play10:07

and create some that are new.

play10:09

One of the ways that we can provide this revocation

play10:12

is through the use of a CRL, or a Certificate Revocation List.

play10:16

This is a list of all of the certs that have been revoked.

play10:19

And we keep this list on the certificate authority itself.

play10:23

This administrative process of creating and then revoking

play10:26

certificates is one that is built into any certificate

play10:29

authority.

play10:30

But there might be other reasons for providing some way

play10:33

to revoke a certificate.

play10:35

We found this out in April of 2014,

play10:37

when we discovered an attack that

play10:39

could have a web server provide a third party with the web

play10:43

server's private key.

play10:45

We refer to this attack as Heartbleed.

play10:47

And it was due to a vulnerability in the OpenSSL

play10:50

application library.

play10:52

We had to revoke all of our certificates

play10:54

and create brand-new certificates once this OpenSSL

play10:58

code was updated.

play10:59

All of our old certificates were moved to the certificate

play11:02

revocation list.

play11:03

And our newer certificates were then

play11:05

installed into all of our web servers.

play11:08

You can see how important it is to have

play11:10

some method for revoking this trust which had previously

play11:14

been installed onto a particular service.

play11:16

You can find where this list of revoked certificates

play11:19

happens to be by looking into the details

play11:22

of your certificate.

play11:23

If you click the lock on the address bar of your browser,

play11:26

you can scroll through the certificate

play11:28

and find a section that's called CRL Distribution Points.

play11:32

This will include a list of URIs,

play11:34

or Uniform Resource Identifiers, that are effectively

play11:38

a link to the CRL file.

play11:41

So this tends to be a multistep process.

play11:43

Your browser connects to a third-party website.

play11:45

That third-party website provides your browser

play11:48

with its certificate.

play11:49

Your browser then looks through the cert

play11:51

to find the CRL distribution points

play11:54

and then follows one of those URIs to download the CRL list.

play11:58

From there, your browser can look through this list

play12:01

and make sure that this certificate is not one

play12:04

that's listed as being revoked.

play12:06

As long as it's not in the list, you

play12:07

can continue with your browsing session.

play12:09

But if this certificate from this third-party website

play12:12

is listed in this CRL, your browser

play12:15

knows that is now a site that is not trusted.

play12:17

This certificate is not valid.

play12:19

And it will not allow you access to that web server.

play12:23

As you can imagine, it's not very

play12:24

efficient to have a single file that

play12:26

lists out all the revocations for a certificate authority.

play12:29

It would be great if we could have a more efficient process

play12:32

that didn't involve us going to a third-party site

play12:34

and downloading a big list of revocations.

play12:37

Fortunately, we've created a protocol

play12:39

that does exactly that.

play12:40

This is OCSP, or the Online Certificate Status Protocol.

play12:45

Relying on the certificate authority

play12:47

to provide a list of all of these revocations

play12:49

to anyone who might be visiting our website

play12:52

is inherently inefficient.

play12:54

To make this process more efficient,

play12:56

we can put the status of our certificates

play12:58

onto our web servers itself.

play13:00

This is accomplished by sending status messages

play13:03

about the validity of your certificate

play13:06

during the SSL handshake that occurs when you first

play13:08

connect to a web server.

play13:10

This is referred to as OCSP stapling

play13:13

because we're embedding the status of this certificate

play13:15

within the handshake of this server.

play13:18

We obviously can't trust a third-party web server

play13:21

to truthfully tell us the status of the certificate.

play13:23

So this OCSP protocol uses a digital signature by the CA

play13:28

to validate its status.

play13:30

Most browsers today support OCSP for the Online Certificate

play13:34

Status Protocol, which means the browser itself can handle

play13:37

all of the checks for revocation when you

play13:39

visit a third-party website.

play13:41

If you're not stapling the status into the handshake

play13:44

message, you could use a third-party server

play13:47

to provide the OCSP status information.

play13:50

This is easily added to the certificate.

play13:52

And it's much more efficient than downloading

play13:54

an entire certificate revocation list from your CA.

play13:57

If your organization is using very outdated browsers,

play14:01

you may find that OCSP is not an option.

play14:03

And even some of the newer browsers

play14:05

say that they support using OCSP but unfortunately don't

play14:09

implement the checks properly to be able to confirm

play14:12

the status of a certificate.

play14:14

Most modern browsers support OCSP.

play14:16

But you might want to check your browser

play14:18

and see that it really performs the validation when you connect

play14:21

to a website so that you can tell what the status is

play14:24

of those certificates.

Rate This

5.0 / 5 (0 votes)

Related Tags
Digital CertificatesIT SecurityAuthenticationTrust BuildingCertificate AuthorityWeb of TrustSSL SecurityX.509 FormatCertificate RevocationOCSP Stapling