
name is Kenyan Abbott I am GNA talk about pki um has anybody here I know a couple of you have uh worked in pki or know what that stands for by chance awesome yeah so this is going to be a introductory course into pki and all the specifics about it um uh look at the audience yeah trying to gauge where you're at if I do I do want to make this interactive so if you have questions want to talk about it dive into it we're going to go full-blown into what pki is what a CA certificates and how they all work um so my job uh currently I'm a senior sales engineer at a company
called diger I previously at uh AWS as a devops manager uh working remotely for the last couple years really cool space to work in uh I got my start as an IT specialist way back in the day for uh local government um and made it all the way up to a director of it managing a budget and working with County Commissioners and that it's also in the military for a little bit Army National Guard uh analyzing imagery and geospatial data so I am uh previously and most of my roles end up in in a manager role so if you have any questions about RS or where you want to be or things like that please reach out to me um I'm on
LinkedIn here as well so happy to talk and happy to help you it's kind of Bryce mentioned earlier uh yeah talk and uh talking to people networking goes a long ways so um okay so we're going to dive into it so what's in it for me what's uh we're going to describe uh what a pki is the need for a pki with Enterprise businesses and demonstrate how a pki can build trust uh and lastly we're going to be able to dis common discuss common implementation practices and how a pki is managed so first thing I love Dad yolks so why did the certificate go to therapy anybody have a guess because it had too many trust issues love it I love
the bad dad jokes so we're Define what a pki is to begin with um and so uh to get into it pki is a public key infrastructure it's uh akin to a conversation so when two people get together to discuss something face to face it's taken for granted that those two people are who they say they are and just by appearance in in case there's any doubt those two people show each other some sort of identification usually it's a passport or a driver's license however if they're unable to provide identification for some reason suddenly the Integrity of that conversation uh and trustworthiness may be at stake in certain situations um so how can that Integrity
of these discussions be assured how can the identities of people involved be validated furthermore how can these discussions be secure secured to ensure that they are not tampered with in transit the answer is a digital public key certificate that is issued to each person in the discussion this is essentially what public key infrastructure is the certificate acts is a valid piece of digital identification where P Ki uh can assure that it its integrity and it hasn't been tampered with with billions of discussions occurring every second of every day around the world using a wide variety of digital technology there are billions of certificates to manage so public key infrastructure offers a method for managing those certificates and their
keys pki acts as a framework and a facilitator for the encryption decryption and exchange of information between those two entities with so many digital certificates that must be managed and organizations and Enterprises relying on pki to provide a set of roles policies and procedures the word infrastructure in pki implies that pki is the underlying framework for the technology and all its components as a whole it's not just a single physical entity or Software System so the reason for this talk today is to give you a glimpse into the world of pki uh when I got started in my career I had no idea what any of this is uh when I get into it uh I kind of answer one question
but then I have 10 more questions along with that so I hope this presentation gives you that curious Outlook into it where this is maybe another world of uh it um that you can explore maybe into Cy in cyber security I use the word it I think it's kind of an interesting interesting subject that our our words change over time um but I digress uh how does a public key infastructure provide Integrity authentication and encryption of information across an untrusted Network what makes these digital public key certificates secure enough to be used during data exchange the answer here is cryptography uh it's designed to utilize cryptographic algorithms in the creation of digital public key infrastructure um so we've all learned
what an algorithm is um in in school uh through the internet um can somebody Define what an algorithm is it's a mathematical calculation step-by-step sequence of mathematical calculations used to encrypt and decrypt data and information for a cryptographic algorithm this makes it difficult if not impossible for the information to be tampered with and therefore the D data remains secure so there's different types of cryptographic algorithms there's hatching there symmetric and there's asymmetric uh the public key on a digital certificate is actually the outcome of an asymmetric key algorithm the asymmetric key algorithm is used to generate a mathematically related key pair and a private key since a public key can be given to anyone this
process is known as public key cryptography both keys are both private and public keys are jointly derived using asymmetric key algorithm it's an predictable prime number used to begin generation of an acceptable pair of keys suitable for use by an asymmetric key algorithm and on to my favorite example this is Bob and Alice has anybody heard of Bob and Alice before see a bunch of heads nodding I love Bob I I I like to joke about Bob with my kids um asymmetric public key cryptography is usually explained with the help of Alice and Bob Alice and Bob can have a secure encrypted discussion with each other and validate their identities because they are using public key and private key
pairs after receiving Alice's public key Bob the sender can use Alice's recipient's public key to encrypt the message because Alice's private key is a cryptographic inverse of the public key generated Alice's public key can decrypt the message upon receipt all right so this is a little graphic on how that works works so when Alice starts the app on her device a private and public key are generated Alice's private key never leaves the device her public key is stored on a server in some circumstances and it's available to all who sends her a message if Bob decides he would like to send Alice a message he receives that public key that's stored on a server and
it's available to all sorry if Bob decides he would like to send Alice a message he retrieves that key so only and in a message with it so only Alice's private key can decrypt it this encrypted file is sent through the server to Alice the file is received by Alice Alice and her private key Alice uses her private key to decrypt the
message uh the reason why the reason prime numbers are fundamental to asymmetric in encryption is because when the two numbers are multiplied together the result is a number that can only be broken down into those primes so it's in itself in the number one so the product of two large prime numbers is a reason for the backbone of encryption cracking the encryption means figuring out the two factors when using brute force it takes decades with today's computers if the two numbers are known a private key can do that in a Split Second all right Dad joke cryptog cryptography joke so how can you tell the difference between a good cryptography joke and a random string of words you can't they're
indistinguishable all right public key infrastructure is designed to create and distribute x509 digital public key certificates to trusted entities digital certificates are like driver's license or pass passports for computers and code in the real world people use ID cards such as driver's licenses passports or employee badges to prove their identity a certificate does that same basic thing in the electronic world but one big difference certificates are not just issued to people user or people they're issued to computers software packages smartphones we heard another talk earlier this morning that uh software is deployed via untrusted or unsigned software um so code signing certificates are one of those things that you can use to uh prove that integrity and also uh
identification of yeah that code came from me um so in a pki one of the most important C things in that is the entity's public key the certificate is the mechanism by which that key is shared so we have a couple other players here certificate authorities are a public key certificates issued by a trusted or organization called a certificate Authority this provides identification for the bearer the ca can be likened to a notary to obtain a certificate from a CA one must prove their identity so once a CA is confident that the applicant represents the organization it says it represents I am who I say I am then they sign that certificate attesting to the validity of
information contained all right before the ca can issue the certificate to an entity such as bob.com the entity needs to submit a valid proof of identification to the ca this is done along with other things but also with a Certificate siging request it's called a CSR the CSR is a message sent from an applicant to a certificate authority of a pki it usually contains the public key for which the certificate should be issued identifying information uh and integrity production so this table here shows some common fields that must be that often people submit to a CA if these requirements are meant and other checks are and balances are in place we they'll send back that identity
certificate that has been digitally signed with that private key all right so the certificate contains a public key so this is an example here on the screen of what a public key looks like in a certificate using RSA 2040 bit 2048 bit uh string certificate are cryptographically signed with a private key so that client software such as browsers can use the corresponding public key to verify a certificates authenticity the public and private keys are used by the client and the server to encrypt data before it's transmitted this is where certificates work really well with data in Flight organizations and Enterprises need pki to manage and distribute public key certificates with a wide variety of us use cases pki can manage multiple use
cases within the same organization I'm showing up on the screen some of the common use cases addressed by pki so if you've ever needed a two-or instead of a username and password that's a good option um iot is a large industry that is now uh using certificates they're using private pkis in house um to secure those devices there's a mention of uh individuals or companies that just put their devices out there lack security and pki is one of those use cases that companies are going to because of its standard solution for security since pki is a framework that's designed to build trust across a potentially untrusted Network like other systems it has many interconnected components and what they can do and can
having a deeper understanding of what the components are and what they can do can help create a clearer picture of how pki Works to create security and manage digital certificates so there's a lot of things that go into here um having a certificate trust chain uh registration Authority where you actually have an individual verifying an organization as well as verifying that they own the domain um these may be manual or automated processes um but yeah there's a lot of certificates there's even the the user um Alice in this example um that's un knowingly using pki on her machine okay so to get into the details of how uh of a simplified model of a working pki I'd like to go through
another graphic here um to see how that secure communication is established so Bob decides he wants to make a website bob.com Love Bob before he can begin he must send the CSR to that AA the certificate Authority company uh the ra checks the identity of bob.com and sends a result to the ca um before the ca can begin issuing certificates to bob.com the root CA needs to send the issuing certificate to the ca once bob.com has been validated by the ra the AA will issue the certificate to Bob for bob.com as part of a standard pki practice uh C certificate revocation lists and ocsp validation is available this is what makes a certificate work in the
background if it needs to be revoked at some point during the life of its uh certificate span Alice browser when Alice tries to to access bob.com her browser verifies the trust of the root certificate uh that's already on her machine Alice Alice's browser validates the bob.com certificate via ocsp and crl as well and then Alice and Alice and bob.com exchange public Keys Alice having confirmed Bob's identity receives a certificate from bob.com and we've completed the connection so Alice is now relying on the certificate from bob.com as proof that she is now not connecting to a false website and can proceed with making secure transactions with bob.com so if you ever seen the padlocks on your
browsers that's the certificate all right two cryptographers walk into a bar having a conversation nobody else knows nobody else has a clue what they're talking about all right so next up we're going to uh go into uh building trust with PK p k so organizations and Enterprises need pki to help build digital trust and security from inside out to better serve their clients and customers pkis are provides three essential pillars of ensuring digital trust I've kind of heard this as a the CIA Triad or Triad if you will um so in certificate in pki world that is authentication encryption and integrity with so many digital certificates uh that must be managed organizations and Enterprises rely on
pki to provide a set of roles policies and procedures as well as to distribute use store and revoke digital certificates as the word infrastructure as I mentioned earlier as the word infrastructure implies it's the underlying framework it's not just a single physical entity or Software System okay so at the root of a pki is a a certificate Authority uh this Authority acts as a trusted third party each of these entities trusts this third party and therefore can trust each other ca's issue pki certificates that enable widespread trust among entities that are interacting with each other across a potentially untrusted Network so the ca verifies an end entity's identity and binds that identity to a public Key by issuing a
signed certificate to them the CA is the entity that signs the certificate but the entity named in the certificate is called the subject the ca also publishes a list of certificates that can't be trusted anymore I mentioned this earlier as a certificate revocation list so it can't be used uh if it's compromised to become a publicly trusted CA uh you must be audited against standards we we heard of auditing in other areas but uh in this regard it's a CA and browser form it's a conglomerate uh or Consortium if you will um to be accepted into public trust stores like Microsoft's uh root store um brow Casa also have to uh submit applications their root certificates
will be bundled inside that operating system and firmware okay so everybody who trusts the ca trusts the certificate if it has been issued it has issued in the same way one can trust a passport if one trusts that national government that issued it so pki enables trust between communicating entities in a wide range of scenarios such as some of the following that I'm showing up here to ensure that the CA and a pki remain secure the ca has a designated lifetime um this is changing uh always as technology advances but a CA that is valid forever could become compromised and therefore untrusted uh there's talk about going from publicly trusted certificates we're currently at onee
certificates um they're they're working on going down to 90 days publicly issued certificates um Google is pushing that one pretty hard so this is where management of the certificates can be very difficult and using automation systems to do that in instead of a manual process kind of becomes beneficial here it does become beneficial here all right why was the digital certificate always calm because it knew how to validate itself all right I love those crypto jokes for a little break but pki provides a trust for organizations using two types of models we've so far talked about public trust but there's also also private trust the difference between public and private trust is about whether the certificate chain of trust
rolls down to a publicly trusted route that's already in a root store or not public pkis must strictly follow regulations and undergo industry audits while a privately trusted pki May forgo all auditing and deviate from standards in ways that its operators see fit this allows organizations using private pki more freedom to do what they would like with their certificates um but the these private Roots aren't already distributed to trustor so this is usually where private certificates work best in corporate environments or where those devices are manage so they can push those system administrators can push out those private root certificates so um an again an example of a public trust model is that public public facing website that's issued from
a public rout being publicly trusted means that the route is in those already distributed firmware software already in those clients okay so on the inverse of that the private trust model is usually used for internal Services it's a strong use case for that uh to use PR private routes for example a private route is used for authenticating connections to a VPN and internal Wi-Fi maybe not publicly issued web pages or other services that support multifactor like OCTA is a popular one um or other SSO type Services um in all these cases the organization can control the instance that's checking the validity of certificates so privates ideal in this scenario um they can also issue certificates off of that route that no
one else can um so having that level of control again is crucial okay so this is another example of what pki can be used for uh this is what we call es mime uh this is basically uh certificates for email uh email signing could be considered an example of either a private or a public Trust uh use case when sending email to someone within an organization the sender may choose to sign using a certificate issued from a private route the recipient checks the signature that was issued by the private route that's already in their computer saying the certificate's valid so in this example back to Alice and Bob um behind me um that route is already distributed
because Alice's public key was on the server um in another scenario maybe we're going to send it outside to organization b instead so if the sender uses a private route this results into an untrusted message uh because the the route is not in organization B's devices so a private route will help secure internal operations however when sharing with an outside organizations there's maybe a need for a public route to sign those emails all right a private pki is not required to participate in another uh standard called certificate transparency browsers such as Chrome uh and Milla and Safari uh now enforce all publicly issued certificates to be push to publish all certificates to a publicly accessible database so you can literally
go and see all the certificates that were issued by anyone if it's a publicly issued CT private PK operators however are not obligated to implement CT and this may result in another reason to use a private pki before sensitive applications or where maybe public disclosure of an internal Network structure could be considered harmful all right implementing and deploying a pki needs to have careful planning so all the steps and requirements are covered when an Enterprise must provide digital security for their organization internally as well as support the services and customers externally they will look to pki as a solution implementing and deploying pki needs a careful planning so that all the steps are covered for a
pki to work effectively for an organization it needs to be flexible and responsive for a variety of cases all right why did the IT professional refus to stand up a pki at the gym because he didn't want to deal with weak Keys you're welcome even though an an Enterprise has chosen pki to secure their organizations and its services challenges can arise Enterprise often struggle to implement deploy and maintain an in-house pki because of a lot of the reasons I'm showing up here uh today so whether an organization plans to issue certificates for their email or to secure their iot devices it's a common procedure to stand up a pki following a procedure can Al alleviate
some if not all the challenges but here's a list of 10 simple steps to stand up and deploy that pki this is a lot of work uh in the background um there's a lot of policy and writing documents uh design implementations that are considered performing key ceremonies uh uh at diger we have uh two different secure facilities where we're taking uh what we call Hardware security modules and Performing those those are highly monitored uh over security cameras following logs and this is not a tool set that every company uh has um so before we can start issuing a certificate this is some of the design considerations that we we have to take do we use a root CA certificate that's
going to issue everything uh do we have intermediate Casa that are uh going to issue to TLS certificates or email certificates or user certificates or device certificates so you can do a mini tier in this example we're showing uh what is this this is a four tier uh CA or a four level CA if you will um okay let's see here so when a CA hierarchy is in place uh pki framework deployed and configured the public and private Keys need to be generated during a key ceremony so key ceremony is precisely planned witnessed executed and documented sequence of steps it's a really cool job to have um if you get the opportunity to see or know somebody
that does it um it's a highly secure facility um there's a one in Lehi um and another one in California that dig assert runs um let's see the key ceremony is a secure process performed in that secure facility to create that certificate Authority in root and intermediate certificates and they must be stored on hardware and here's some of the the additional steps that they go through to uh in that Key C ceremony process okay so when implementing and deploying a pki another important step is the creation of key stores like where the certificates themselves are going to be stored when they get to the servers or devices that they are going to be working on in in the case of an SSL
certificate or TLS key stores are used to store private key and identity certificates that the specific program should present to both parties both server client for verification whereas trust stores are used to store certificates that verify the certificates present in is a good TLS SSL certificate and complete the connection all right to dive even a few steps further considerations of key generation and storage of private Keys is crucial uh entropy plays a big role um in this as well as the private key creation storage and use so I mentioned a Hardware security module but this is something that's mostly unfamiliar to people is it unless you are specifically using them don't have a lot of knowledge on an HSM
Hardware security module is a physical Computing device that safeguards and manages digital keys for strong authentication these modules traditionally come in the form of like a plug-in uh Play card like a USB or a token they can also be uh like a network level attached to and rack mounted um the primary purpose of these devices is to project and store uh and manage these cryptographic Keys um sometimes these devices can range up to tens of thousands of dollars um and to implement them securely in a high availability environment and cost hundred hundreds of thousands of dollars having generated the keys and planned out the ca hierarchy uh a pki will use a certificate chain of trust can be
established as shown here all certificates signed by the roote inherit the trustworthiness of that route a signature by a roote certificate is somewhat analogous to notarizing an identity in the physical world certificates further up the tree also depend on that trustworthiness of that route and also the intermediates such certificates are intermediate certificates or subordinate CA is is another word for them okay so with that certificate chain of trust established digital certificates can be issued again to maybe bob.com as our example just as a pki can be adapted for a number of use cases so can x509 certificates fortunately x509 certificate templates uh these are standards that are put in place in in the industry can help us uh
ex set exact Fields contained within the certificate um but these fields can be changed as needed this is where an adaptable pki benefits from flexible uh certificate templates as well as a variety of deployment models for example email can be used for smime certificate templates while other types of certificates can be used for iot um whereas in iot I may have a physical device instead of putting like my bob.com domain name I might put a serial number or another unique identifier on it all right this is one of my favorites why was the x509 certificate a bad comedian because every time he I'm going to ruin this because every time it tried to make a connection it needed a third
party to validate its identity digital certificates are structured in conformance with this x509 standard this outlines the required fields that comprise a certificate uh showing different fields here um in addition to standard certificate Fields you can add custom or ex have certificate extensions that allow custom data to be in those digital certificates here are some of the fields that are specified in x509 standard okay another aspect implementing and deploying a flexible scalable pki to ensure that a variety of certificate types are planned for um so here's an a long list of different types of certificates so we're most familiar with TLS certificates um we might be familiar with code signing if you've ever run an
application or a piece of software installed it on your machine you'll see the publisher name is Adobe since we're using Adobe in our talks today um so you know that that software is trusted you can actually click into and get to the actual certificate um so managing pki is a pretty hard thing to do there's a lack of time maybe not definitely knowledge and also people or large pain point for organizations when they are considering implementing a pki uh so a security Solution that's static complicated and difficult to manage is not a solution when an organization is looking to implement uh a pki there are many steps people in a great deal of hard required it can maybe
take months to stand up and issue a pki solution organizations can find it challenging to modify and scale because there are so many moving Parts organizations often build an internal pki and CA based on today's needs only defines it's not sufficient tomorrow's needs a lot of the H uh news stories that we see of compromises of things are because of bad management of certificates and their keys um um excuse me so maybe say five months down the road sorry an organization has set up uh certificates for a esime solution um and they're using I'm G to lose track of my slides here one second um there it is uh they maybe Implement a an SM solution to for their client
certificates because they've ch uh industry experts have told them that hey issue esim certificates that way all your employees can see which email is actually from an actual user there's a little ribbon that gets shown and that's an easy way to identify fishing for some some organizations um and maybe five months down the road they're uh realizing they need to set up certificates for their internal servers they don't want to pay money for uh a publicly issued certificate um and they decide hey we have this pki we can do it on our own uh what started as a small project can now be an intensive one um it's creating maybe in the future they're creating a
custom API interface um for all their certificates to automatically be issued through this API so it's an incredibly flexible tool but it can be very difficult and time consuming to manage um so expertise the expertise of professionals who help organizations deploy pki is essential this could not be truer and it's a great time for you to learn more about pki so you and your organization can properly support both private and public pki so managing pki also means the management of a life cycle so we've focused a lot of on on the creation but there's a beginning to end phase here um so there's a lot of different parts but some common events that occur are key
generation distribution usage usually ends with like expiration revocation or maybe renewal of those certificates uh I hit on lifetimes a little bit ago but uh these are some common validity periods for different certificates um I put in here uh six months to a year for user certificates device certificates can last from anywhere from 1 to 10 years depending on the IND individuals deploying that pki uh server certificates again if it's internal versus external can also range a variety of days and also if they have Automation in place uh a lot of companies are going to automation because you're like I don't want to manage this every six months I don't want to manage it very often and people
are saying hey swapping out my keys so they can't be compromised is a good risk management structure but then are you going to be that that sis admin swapping out shs every 90 days probably not so that's where we're using software to do this and there's a lot of cool things going on in pki for automation as well that I'm not hitting on here uh as a public certificate Authority uh we're actually uh mandated by rules that a certificate can't be longer than a year um they a long time ago they used to be three years two years now we're down to one year um there's talk to going to Shorter lifetimes as well so as I mentioned in revocation um or
management the end phases of a certificate um another crucial aspect of maybe something goes wrong so we use certificate revocation in this example revocation of certificates is the last line of defense when they're compromised um so a crl is a certificate revocation list it's a list of digital certificates that have been revoked it's literally like you can go download it from that certificate and look at all of the other serial numbers that have been revoked um whereas ocsp is an online certificate status protocol it's a protocol used for obtaining the status revocation status of a digital certificate in real time um so another way is is if a device can reliably attain a date and time then
the validity periods can be used that's certificate will created on this date it ends on this date um but combining validity periods with revocation will help limit the ability for uh certificate and its key to be used in an attct expired certificates by default of the standard expired certificates are not trusted corresponding private keys are no longer useful um and we can use crls uh and ocsp responses as necessary after after they're uh once they before they expire but we don't need those after they're expired all right this is the end we've come to the final my enthusiasm for cryptography might seem excessive yet it's a key facet of my interest pun intended thank you I appreciate your time listening to
me in the world of pki is there any questions from anybody as I'm closing up my presentation postquantum certificates that's the buzzword in our industry today um so it's really interesting um that yeah in today's world we're using RSA ECC uh 20 48 4096 bit keys but um those are sub when I say those keys are protected and they're good that's in to today's world and there is a possible threat to quantum computers being able to break today's algorithms and there's actually uh standards in place they've actually just started to finalize those new algorithms for Quantum Computing um for cryptographic safe or sorry I should say Quantum safe cryptographic algorithms and so uh as a CA that's one
of the things you have to learn to to manage like how am I going to do this I'm going to figure this out and you have to keep up with that software so um doing an inventory of your devices what do I have where am I at um where where is everything and then I can know like hey is this safe is it not they're actually starting to issue out Quantum safe uh sorry certificates with Quantum cryptographic algorithms in them to protect them from these different types of attacks so that's a lot of where they industry is looking um the standards are just being implemented there's a lot of companies out there that are starting to
issue out these certificates but just like in everything in pki it has to work well with other things so it's kind of an industry shift you can't just update a certificate you have to update the browser you have to update the operating systems you have to update uh the firmware in some examples the the trust stores for them um so it's a really big world to to live in it's going to be really cool to see how people figure that out but essentially yeah just knowing what your certificates are and where they're at and then being able to update them when the time comes is is and I would say the time is now to start
doing that but appreciate the question anybody else awesome yeah please
okay yep
yeah okay yeah response compr
[Music] immed
yeah yeah and so it's interesting he's making a comment just so if everybody else didn't hear uh that a a user went to an unencrypted website and through that that website was been able to basically do a man-in-the-middle attack and get that information compromise it and pass through a fake website able to get username and password and other d from that from that user and so yeah integrity and authentication is a crucial piece but I would also say that user education on that is a huge thing like uh what does the lock mean when I'm going to it and that's why browsers have implemented in uh systems where https is required otherwise you're going to get an error
and people are like oh what is this I'm just going to click through it they need to pay attention and read uh those sort of things I would take that one step further um is one of my favorite stories just to share one since I have maybe a little bit of time I think do I have time am I good on the time um is the stuck net virus uh back seven eight years ago um it was a bad actor that went into uh uh audio drivers we all have audio drivers on our machines and they were able to compromise this company's Network and get into their Pipeline and attach M's code to their audio drivers and that audio driver got
installed everywhere because not only was uh that Code common and on every machine but it was also signed by a code signing certificate that was it proved its Integrity it proved its authentication um sorry approved its Integrity uh it approved uh its encryption and identity and the Integrity piece of it because it was signed by code back then number of years ago like hey if code was signed with a certificate like cool let it through we're good to go um and so that code signing certificate uh Mal was attached to it actually uh ended in reaching Iran's nuclear facilities and destroying their fues so like a real world example of certificates and that use case it's a
good layer of protection but there's also many other aspects to it they should have been scanning for malware not letting those certificates through the requirements keep getting more and more secure but highly recommend a documentary it's called zero days um it's available on YouTube for not a lot of money um but yeah super interesting use case on how certificates are used so appreciate the comment um okay I appreciate everyone's time uh thanks for listening to
me