PKI Overview
PKI Overview. Tim Polk, NIST wpolk@nist.gov. Background. Secret key cryptography works, but key management is a nightmare Public key cryptography uses two keys one that is secret to the “owner” one that is widely available And all our problems were solved? who’s key is this anyway?
PKI Overview
E N D
Presentation Transcript
PKI Overview Tim Polk, NIST wpolk@nist.gov
Background • Secret key cryptography works, but key management is a nightmare • Public key cryptography uses two keys • one that is secret to the “owner” • one that is widely available • And all our problems were solved? • who’s key is this anyway? • who says so?
Public Key Infrastructure • Secure, reliable, and scalable method for distributing public keys for secrecy, correctness, and sender verification • “Binds” the owner to the public key using a digital certificate • Maintains and distributes status information for the life of that binding
Roles of PKI Components • CA is like the DMV and issues and revokes certificates • RA is the person that checks your identity • Client have and use certificates • Repository stores the certificate and status information so clients don’t have to
A Basic PKI • We can deploying these right now CA repository Clients Bob Alice
Growing A PKI • bigger PKIs can be constructed by connecting CAs • they issue certificates to remote CAs, binding the remote CA to it’s public key • clients can construct “chains” of linked bindings
repository repository Public Key Infrastructure Carol • A “real” PKI has multiple CAs with clients • CAs and repositories are the basic building block CA-1 CA-2 CA-3 Alice Bob
PKIs are simple... • as long as you have just one CA and one repository • theoretically, they are like lego blocks • in practice, they can be like a box of bicycle parts on Christmas Eve • the complexity is the result of • unstable standards • non-interoperable products and applications
Standardization Activities • IETF (PKIX WG) • ISO JTC1/SC6 directory work • ANSI X9F and ISO TC68/SC 2/WG 8
IETF Public Key Infrastructure Using X.509 (PKIX) WG • Formed in 1995 • Five RFCs issued in ‘99, four more approved in the last month • certificate and CRL formats • PKI transaction formats and protocols • Certificate Policy Statements • certificate and certificate status retrieval mechanisms
Certificate and CRL Formats • Base profile is complete (RFC 2459) • based on X.509, but adds semantics to Internet-specific fields and data • Supporting documents are (nearly) complete • KEA (RFC 2527) and ECDSA (I-D) • enhanced CRLs (I-D) • enhanced name semantics (I-D)
Transaction Formats and Protocols • Three major specifications • Certificate Request Message Format, or CRMF (RFC 2511) • Certificate Management Protocol, or CMP (RFC 2510) [references 2511] • Certificate Management Messages over CMS, or CMC (I-D) [references 2511] • Is there room for CMP and CMC?
Certificate and Certificate Status Retrieval • A wealth of choices • LDAP V2 schema • LDAP V2 profile • FTP and HTTP • OCSP
New PKIX Work • Timestamp service protocol • Data certification service protocol • Attribute certificates
ISO Directory Work • Three projects in the directory area were assigned to JTC1/SC6 • X.509 • maintaining the public key certificate work • new work in attribute certificates • X.500 directory work • ASN.1 (X.680?)
ANSI X9F • Provider of cryptographic standards • Developing certificate and certificate extension profiles for banking community • TC68 documents 15782-1 and 15782-3 • Defining short certificates for bandwidth or storage impaired environments • smart cards, cell phones, etc. • Attribute certificate work (15782-2)
Standardization Summary • ISO, IETF and ANSI are making good progress • Most of the work is complementary, or at least well-aligned • There are still too many choices in some areas (transaction and retrieval protocols) • Parallel attribute certificate projects may result in divergent standards
Interoperability Testing • The new frontier • PKI interoperability • PKI component interoperability • Issues: • are certificates and CRLs well-formed? • can components request/revoke certificates? • can clients build/validate paths?
NIST’s PKI Interoperability Testbed • Project Goals: • Creation of complex directory systems • Creation of heterogeneous PKIs • Determination of client functionality • Summary: • the state of the art is a homogeneous PKI with a very small number of CAs and exactly one directory
PKI Component Interoperability Testing • Three basic components • CAs: X.509 certificate and CRL generation • Clients: X.509 path validation • CAs, RAs, clients: transaction message formats and protocols • As protocols stabilize, interoperability testing is the logical next step
Tools for Interoperability Testing • reference implementations • MISPC Reference Implementation from NIST (X.509, CMP, and CRMF) • IBM (X.509, CMP, and CRMF) • Conformance tests • NIST (CMP, CRMF)
PKI deployment • Many pilots ongoing or planned • “many will play, few will win!” • Why? • directory infrastructure • application vacuum • unreasonable expectations
Directories • Often the problem, instead of the solution! • X.500 directories • LDAP directories • Alternative solutions • alternative retrieval protocols • all-inclusive packaging
X.500 • the global X.500 directory is a myth • it would resolve most access problems • it would introduce new problems • DIT management • shadowing, replication and chaining • well specified • not well tested (different implementations don’t actually interoperate!)
LDAP • LDAP is ubiquitous, but: • resolves localized access problems • relies on referrals to scale • performance bottleneck • poor client support • shadowing, replication and chaining • proprietary solutions, if they exist at all • may be addressed in LDAP V3 extensions
Alternative Solutions • Why rely on directories at all? • FTP/HTTP/DNS retrieval • we’ve already got these servers, and they work! • requires a pointer in the certificate • all-inclusive packaging (S/MIME) • just include the certificate(s) and CRL(s) in each transaction and the client doesn’t have to search • not a complete solution because you can’t always predict the path for the receiving client
The Application Vacuum • PKI-aware products are limited • TLS and SSL (browsers), S/MIME • Why aren’t there more PKI-aware products? • chicken and egg problem (what PKI?) • not a straightforward upgrade (e.g., adding digital signatures to insecure applications) • no standard API (rewrite for every product)
Unreasonable Expectations • PKI is a not going to solve all your problems • first and foremost, PKI is a key management solution • overloading with additional semantics (e.g., roles and complex policies) is beyond the state of the art
Piloting for Success • choose an existing application with: • a close-knit community of users • security in place (esp. access control), but • a known key management problem • use a single repository for all information • focus on the key management problem first • attempt to leverage certificates for access control second (if at all)
Current Market Players • PKI product providers • rudimentary assurance • high assurance • Service providers • certificate issuers • status information providers • Community of Interest Groups • ANX, Federal Government, financial
Community of InterestGroups Rule • they determine the winners and losers • communities of interest that use the PKI will determine the features and protocols • if no communities emerge to use PKI, it will all disappear • they are emerging (ANX, US government, SET, etc.) and PKI will appear in more applications
Summary • The standards bodies have gotten their act together, but a few thorns remain • The state of the art PKI products • can support focused applications today • can’t support a global infrastructure today • aren’t interoperable, but will be “soon” • Application and directory solutions are lagging, but vendors will respond to communities of interest deploying PKIs
For More Information • http://csrc.nist.gov/pki • wpolk@nist.gov