CMSC 414 Computer (and Network) Security Lecture 17 Jonathan Katz More on PKI (Chapter 15, KPS) PKI components CAs… Repository for retrieving certificates Revocation method Method for evaluating a chain based on known “trust anchors” (Orthogonal issue: how are the keys of the trust anchors distributed?) Some terminology If A signs a certificate for B’s name/key, then A is the issuer and B is the subject If A wants to find a path to B’s key, then B is the target and A is the verifier A trust anchor is a public key that the verifier trusts to sign certificates (typically known to the verifier through some out-of-band mechanism) Trust models Define how a verifier chooses trust anchors, and what certification paths create a legal chain from trust anchor to target Monopoly model A single CA certifies everyone Drawbacks – Single point of failure – Not very convenient – Complete monopoly… Pure monopoly not used in practice Monopoly + RAs… The CA can appoint RAs RAs check identities and vouch for keys, but the CA does all actual signing – Certainly more convenient – Not necessarily more secure (Note: RAs can be integrated into other models as well) Monopoly + delegated CAs As seen in class last time… CA can issue certificates to other CAs – Vouch for their key and also their trustworthiness as a CA – Delegated CA can sign certificates itself (Note: delegation can be incorporated into other models as well) Oligarchy Multiple trust anchors – E.g., multiple keys pre-configured in software – User can add/remove trust anchors Issues: – Less resistant to compromise! – Who says the user trusts the trust anchors? – Can user be tricked into adding or using a “bad” anchor? Anarchy model Users responsible for defining the trust anchors they want to use Drawbacks – Scalability? – How much trust to place in a certificate chain “Top down” w/ name constraints Like monopoly model with delegated CAs – But delegated CAs are only allowed to certify their portions of the namespace – This makes it easier to find a certificate chain, and also is more likely to be trustworthy Revocation Revocation is a key component of a PKI – Secret keys stolen/compromised, user leaves organization, etc. This is in addition to expiration dates included in certificates – Certificate might need to be revoked before expiration date – Expiration dates improve efficiency Cert. revocation lists (CRLs) CA issues signed list of (un-expired) revoked keys – Must be updated and released periodically – Must include timestamp – Verifier must obtain most recent CRLs before verifying a certificate Using “delta CRLs” improves efficiency OLRS “On-line revocation server” Verifier queries an OLRS to find out if a certificate is still valid If OLRS has its own key, it can certify that a certificate is valid at a certain time “Good lists” The previous approaches basically use lists of “bad” certificates Also possible to use a list containing only “good” certificates – Likely to be less efficient Directories PKIs do not require directories – Users can store and present their own certificate chains to a trust anchor Directories can make things easier, and enable non-interactive setup Finding certificate chains Two approaches: work “forward” from target toward a trust anchor, or “backward” from trust anchor to target The better approach depends on implementation details – For example, in system with name constraints, easier to work “backward” Final notes: PKI in practice PKIs are implemented in web browsers! Security notes: – A certificate is meaningless without verifying the name in the certificate – A certificate from an unknown CA is useless – “Trust” is only as good as your trust anchors • Do you know who your trust anchors are?
© Copyright 2026 Paperzz