implementing certpath validation lessons learned
play

Implementing CertPath Validation: Lessons Learned Steve Hanna Sun - PowerPoint PPT Presentation

Implementing CertPath Validation: Lessons Learned Steve Hanna Sun Microsystems, Inc. steve.hanna@sun.com Cert Path Validation & Building Widely needed S/MIME, TLS, IPsec, ... Very complex sonof2459 includes 18


  1. Implementing CertPath Validation: Lessons Learned Steve Hanna Sun Microsystems, Inc. steve.hanna@sun.com

  2. Cert Path Validation & Building � Widely needed � S/MIME, TLS, IPsec, ... � Very complex � son−of−2459 includes 18 certificate extensions � Validation requires 24 steps per certificate � Not including revocation and building! � Complexity causes bugs, security holes, and cost � But every feature’s required in some environment � What can we do?

  3. Possible Solutions � Simplify the standards? � Delegate Validation/Building to a Trusted Server � DPD/DPV, XKMS � Grit your teeth and write the code � Use a Library that supports Validation/Building � Getronics CML � Use a Platform that supports Validation/Building � CertPath API in J2SE TM 1.4

  4. CertPath API � Standard API for CertPath building and validation � Standardized through Java Community Process TM � Expert group: Bluestone, DSTC, Entrust, IBM, Sun, Verisign � Currently Proposed Final Draft (JSR 55) � Incorporated into Merlin (J2SE 1.4) � Will be included in future J2SE implementations � Beta 3 available from http://java.sun.com, FCS soon � Free, available for most OS’s

  5. CertPath API Features � Read/write encoded CertPaths (e.g. PKCS#7) � Validate CertPaths � Build validated CertPaths � Retrieve certs & CRLs from a directory � Abstract API supports X.509 or non−X.509 certs. PKIX−specific API also included. � Extensible. Can load multiple implementations, custom validation checks, and such at run time.

  6. Features of Sun’s Implementation � Read/write encoded CertPaths � PkiPath or PKCS#7 formats � Validate CertPaths � Compliant with draft−ietf−pkix−new−part1−08.txt � No support for CRL DP, SIA, or AIA extensions, DeltaCRL and IDP CRL extensions (all optional). � Build validated CertPaths (more info later) � Retrieve certs & CRLs from a directory � from LDAP directory or collection

  7. CertPath Building � Little analysis to date � Should you start with EE or TAs (trust anchors)? � Starting with EE (forward) better in hierarchy � Starting with TAs (reverse) better in other topologies � Name constraints crucial in non−hierarchies � Loops should be prohibited � Self−signed certs should be ignored � See NDSS ’01 paper for details

  8. Hierarchical Topology sun.com hr.sun.com cto.sun.com steve@cto.sun.com

  9. Non−Hierarchical Topology iso.int isoc.org ietf.org jcp.org example.com sun.com hr.sun.com cto.sun.com steve@cto.sun.com

  10. Lessons Learned � Implementation and interoperability testing provide surprising insights. � PKIX validation and building works! � You don’t have to implement it yourself. Use a library (like Getronics CML) or platform (like Java TM ) that implements it.

  11. URLs and Q&A � J2SE 1.4 http://java.sun.com/j2se/1.4 � NDSS ’01 paper http://www.isoc.org/isoc/conferences/ndss/01/2001 /papers/elley.pdf � Getronics CML http://www.getronicsgov.com/hot/cml_home.htm

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend