home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_ietf_j_p / draft-ietf-pkix-apki-00.txt < prev    next >
Text File  |  1996-11-15  |  92KB  |  2,496 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.           Internet-Draft                              B. Blakley (IBM)
  9.           IETF PKIX WG                      and the APKI Working Group
  10.           draft-ietf-pkix-apki-00.txt                    November 1996
  11.  
  12.                    Architecture for Public-Key Infrastructure
  13.  
  14.           STATUS OF THIS MEMO
  15.  
  16.              This document is an Internet Draft. Internet Drafts are
  17.              working documents of the Internet Engineering Task Force
  18.              (IETF), its Areas, and its Working Groups. Note that
  19.              other groups may also distribute working documents as
  20.              Internet Drafts.
  21.  
  22.              Internet Drafts are draft documents valid for a maximum
  23.              of six months. Internet Drafts may be updated, replaced,
  24.              or obsoleted by other documents at any time. It is not
  25.              appropriate to use Internet Drafts as reference material
  26.              or to cite them other than as a "working draft" or "work
  27.              in progress."
  28.  
  29.              To learn the current status of any Internet-Draft, please
  30.              check the 1id-abstracts.txt listing contained in the
  31.              Internet-Drafts Shadow Directories on ds.internic.net,
  32.              nic.nordu.net, ftp.isi.edu, or munnari.oz.au.
  33.  
  34.              Comments and suggestions on this document are encouraged.
  35.              Of particular interest are interfaces and protocols which
  36.              may have been omitted and specifications which are
  37.              believed to be suitable bases for standardization of APKI
  38.              interfaces and protocols.  Comments on this document
  39.              should be sent to the APKI WG discussion list:
  40.  
  41.                     pki-tg@opengroup.org
  42.  
  43.           ABSTRACT
  44.  
  45.              This document describes Requirements and an Architecture
  46.              for Public-Key Infrastructure components, identifies
  47.              which elements of the architecture should (in the opinion
  48.              of the authors) be standardized, and identifies candidate
  49.              interface and protocol specifications which might serve
  50.              as base documents for the standardization effort.
  51.  
  52.  
  53.  
  54.  
  55.  
  56.           Blakley          Document Expires: May 1997         [Page 1]
  57.  
  58.  
  59.  
  60.  
  61.  
  62.           Internet-Draft              APKI               November 1996
  63.  
  64.  
  65.  
  66.           ACKNOWLEDGMENTS
  67.  
  68.              Members of the APKI working group contributing
  69.              substantially to this document include:
  70.  
  71.              Anne Anderson (HP), Charles Blauner (JP Morgan), Belinda
  72.              Fairthorne (ICL), Warwick Ford, Robert Jueneman (Novell),
  73.              Ellen McDermott (Open Market), Howard Melman (OSF), Denis
  74.              Pinkas (Groupe Bull), Walt Tuvell (OSF), and John Wray
  75.              (Digital Equipment Corporation).
  76.  
  77.              Many other working group members contributed important
  78.              insights during conversations of the material in this
  79.              document.
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.           Blakley          Document Expires: May 1997         [Page 2]
  115.  
  116.  
  117.  
  118.  
  119.  
  120.           Internet-Draft              APKI               November 1996
  121.  
  122.  
  123.  
  124.           CONTENTS
  125.  
  126.              1.  Requirements .......................................  4
  127.              1.1  Baseline Requirements .............................  4
  128.              1.2  The Importance of Architecture .................... 10
  129.              1.3  Document Overview ................................. 14
  130.  
  131.              2.  Overview of the PKI Architecture ................... 15
  132.  
  133.              3.  Public-Key Infrastructure Components ............... 16
  134.              3.1  Crypto Primitive Components ....................... 17
  135.              3.2  Crypto Service Components ......................... 19
  136.              3.3  Long-Term Key Services Components ................. 22
  137.              3.4  Protocol Security Services Components ............. 29
  138.              3.5  Secure Protocol Components ........................ 33
  139.              3.6  System Security Enabling Components ............... 35
  140.              3.7  Security Policy Services Components ............... 36
  141.              3.8  Supporting Services Components .................... 37
  142.  
  143.              4.  Hardware Security Devices in the Architecture ...... 37
  144.  
  145.              5.  Relationship to Other Standards and Architectures .. 39
  146.              5.1  ISO 7498-2 ........................................ 39
  147.              5.2  IETF IPKI Drafts .................................. 39
  148.              5.3  X/Open XDSF ....................................... 39
  149.              5.4  ECMA TR-46 ........................................ 39
  150.              5.5  RSA PKCS Standards ................................ 39
  151.  
  152.              6.  Example Applications of the Architecture ........... 40
  153.              6.1  OSF DCE 1.1 ....................................... 40
  154.              6.2  SESAME ............................................ 40
  155.              6.3  Nortel Entrust .................................... 40
  156.              6.4  OMG CORBA ......................................... 40
  157.              6.5  Lotus Notes ....................................... 40
  158.              6.6  Novell Netware .................................... 40
  159.  
  160.              7.  Glossary ........................................... 40
  161.  
  162.              8.  Security Considerations ............................ 40
  163.  
  164.              9.  References ......................................... 40
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.           Blakley          Document Expires: May 1997         [Page 3]
  173.  
  174.  
  175.  
  176.  
  177.  
  178.           Internet-Draft              APKI               November 1996
  179.  
  180.  
  181.  
  182.           1.  Requirements
  183.  
  184.              The following requirements have been collected by the
  185.              Open Group (OSF - X/Open) Security Program Group Public
  186.              Key Infrastructure (PKI) Task Group (TG), with the
  187.              participation of the following organizations:
  188.  
  189.              Barclays Bank, Shell International, Sweden Post, UK
  190.              Ministry of Defense, BCTEL, US DISA, The Open Group,
  191.              Telecom Finland Ltd., Pacific Gas & Electric, Electronic
  192.              Data Systems, Jet Propulsion Laboratory, Boeing,
  193.              Information & Support Group, Harris Corporation, ICL,
  194.              Lockheed Martin, Guide International, J P Morgan, IBM,
  195.              Bellcore, Nortel, HP, NIST, SUN, Siemens Nixdorf,
  196.              Dynasoft, SCO, Bull, NCR, US NSA, Digital Equipment
  197.              Corporation, Amdahl, OpenVision, Citicorp, Fujitsu-ICL,
  198.              Mitre.
  199.  
  200.              The Open Group PKI TG continues to refine and extend
  201.              these requirements; comments should be sent by electronic
  202.              mail to OGsecurity@opengroup.org.
  203.  
  204.           1.1  Baseline Requirements for a Global PKI and PK Services
  205.  
  206.              An interoperable global PKI is required to provide
  207.              privacy and digital signature services in support of
  208.              international commerce, balancing the legitimate needs of
  209.              commerce, governments and privacy of citizens. The global
  210.              PKI must support multiple governance policy models within
  211.              a single global PKI framework, and must enable the
  212.              enforcement of all existing governance policy mandates.
  213.  
  214.           1.1.1  Required Services
  215.  
  216.  
  217.             A.  Establishment of domains of trust and governance
  218.             B.  Confidentiality (sealing)
  219.             C.  Integrity and authentication (signing)
  220.             D.  Non-repudiation
  221.             E.  End-to-end monitoring, reporting and auditing of PKI
  222.                 services
  223.  
  224.           1.1.2  Required Functionality and Characteristics
  225.  
  226.  
  227.  
  228.  
  229.  
  230.           Blakley          Document Expires: May 1997         [Page 4]
  231.  
  232.  
  233.  
  234.  
  235.  
  236.           Internet-Draft              APKI               November 1996
  237.  
  238.  
  239.  
  240.             A.  Key life-cycle management
  241.  
  242.                 The actual life cycle of a key depends on whether it
  243.                 is used for confidentiality or signature purposes.
  244.                 Key life-cycle facilities to be supported are:
  245.  
  246.                   1.  Key recovery facilities
  247.  
  248.                       The PKI shall provide for key recovery.  Key
  249.                       recovery facilities shall provide the following
  250.                       functionality:
  251.  
  252.                            i.  Use of key recovery facilities implies
  253.                                acceptance of a mandatory policy for
  254.                                the protection and recovery of keys.
  255.                                The policy defines how the keys are to
  256.                                be protected and under what conditions
  257.                                and to whom a key will be made
  258.                                available.  The mandatory aspect of
  259.                                policy  arises as the operations of a
  260.                                key recovery facility may be regulated
  261.                                by legislation or procedures required
  262.                                under commercial contracts for
  263.                                liability management.
  264.                           ii.  Only key recovery enabled systems shall
  265.                                be usable within a PKI.
  266.                          iii.  A key recovery facility shall be
  267.                                unconditionally trusted and be liable
  268.                                to uphold the stated policy with
  269.                                redress for loss arising from failures
  270.                                to uphold policy through contractual
  271.                                liability and penalties.
  272.                           iv.  A key recovery center shall be able to
  273.                                verify the legitimacy of a key
  274.                                submitted to it for storage.
  275.                            v.  A user of a key recovery repository
  276.                                shall be able to verify that it is an
  277.                                authorized repository.
  278.                           vi.  The PKI shall provide for coordination
  279.                                between the management of public and
  280.                                private keys in PKI and in data
  281.                                recovery centers.  Note that public and
  282.                                private key parts do not have the same
  283.                                life cycle and key parts may be
  284.                                archived.
  285.  
  286.  
  287.  
  288.           Blakley          Document Expires: May 1997         [Page 5]
  289.  
  290.  
  291.  
  292.  
  293.  
  294.           Internet-Draft              APKI               November 1996
  295.  
  296.  
  297.  
  298.                          vii.  The PKI shall support aging,
  299.                                revocation, and repudiation of keys.
  300.                         viii.  The PKI shall support discretionary key
  301.                                fragmentation between key recovery
  302.                                facilities.
  303.  
  304.                   2.  Key Generation  facility
  305.  
  306.                       The method of key generation shall be
  307.                       discretionary, subject to commercial decision
  308.                       and business requirement.   Selection of key
  309.                       quality, uniqueness, secrecy and recoverability
  310.                       of keys must be left to the discretion of the
  311.                       organization generating the keys (and any
  312.                       governance authorities to which it is subject).
  313.  
  314.                   3.  Key Distribution, Revocation, Suspension,
  315.                       Repudiation and Archive
  316.  
  317.                       The PKI must support the following
  318.                       functionality:
  319.  
  320.                            i.  Facilities for the distribution of keys
  321.                                to appropriate storage devices and
  322.                                directories.
  323.                           ii.  Ability of a certification authority to
  324.                                revoke certificates for individual keys
  325.                                under the terms of the applicable
  326.                                policy.
  327.                          iii.  Ability of a certification authority to
  328.                                suspend and reactivate certificates for
  329.                                individual keys under the terms of the
  330.                                applicable policy.
  331.                           iv.  Ability of a certification authority to
  332.                                force delivery of revocation,
  333.                                suspension, and reactivation notices.
  334.                            v.  Facilities to enable a user to
  335.                                repudiate his public key under the
  336.                                terms of the applicable policy.
  337.                           vi.  Facilities to enable a user to  suspend
  338.                                and reactivate  his public key under
  339.                                the terms of the applicable policy.
  340.                          vii.  Facilities to enable the user and
  341.                                subscriber to retrieve revocation,
  342.                                suspension, and reactivation notices.
  343.  
  344.  
  345.  
  346.           Blakley          Document Expires: May 1997         [Page 6]
  347.  
  348.  
  349.  
  350.  
  351.  
  352.           Internet-Draft              APKI               November 1996
  353.  
  354.  
  355.  
  356.                         viii.  Facilities to enable the user and
  357.                                subscriber to determine the status
  358.                                (e.g., revoked or suspended) of a
  359.                                specific certificate.
  360.                           ix.  Facilities to enable the archive and
  361.                                subsequent retrieval of certificates in
  362.                                support of the retrieval and
  363.                                verification of long term information
  364.                                in accordance with governance policy.
  365.  
  366.                   4.  Warranted retrieval
  367.  
  368.                       The PKI must enable the following warranted
  369.                       retrieval scenarios:
  370.  
  371.                            i.  Law enforcement retrieval (subject to
  372.                                policy conditions)
  373.                           ii.  Corporate agency retrieval (subject to
  374.                                policy and authorizations)
  375.                          iii.  Individual retrieval (subject to policy
  376.                                and authorizations)
  377.  
  378.                       The following functionality is required in
  379.                       support of warranted retrieval:
  380.  
  381.                            i.  An electronic vehicle for the delivery
  382.                                of a notarized electronic warrant, to
  383.                                support the automation of key retrieval
  384.                                under due process (this must be able to
  385.                                take advantage of existing legal
  386.                                agreements)
  387.                           ii.  A permanent, non-repudiable and
  388.                                independently verifiable record of key
  389.                                retrieval operations must be
  390.                                maintained.
  391.  
  392.                       Note that warranted retrieval policy includes
  393.                       policy regarding disclosure or non-disclosure of
  394.                       key retrieval to owner of the retrieved key.
  395.  
  396.             B.  Distributed Certificate Management Structure
  397.  
  398.                 The PKI must provide distributed Certificate
  399.                 Management functionality, driven by the requirements
  400.                 of the transaction or business domain. The following
  401.  
  402.  
  403.  
  404.           Blakley          Document Expires: May 1997         [Page 7]
  405.  
  406.  
  407.  
  408.  
  409.  
  410.           Internet-Draft              APKI               November 1996
  411.  
  412.  
  413.  
  414.                 Certificate Management function must be provided by
  415.                 the PKI:
  416.  
  417.                   1.  Policing and policy enforcement (governance
  418.                       model), including the following:
  419.  
  420.                            i.  Policy creation and maintenance. The
  421.                                policies include those covering key
  422.                                generation, key recovery, key
  423.                                distribution, revocation, suspension,
  424.                                repudiation, archive and warranted
  425.                                retrieval .
  426.                           ii.  Ability to register a key and the
  427.                                binding between the key and a name.
  428.                          iii.  Ability to query which keys are bound
  429.                                to a name
  430.                           iv.  Policies (for services built on PKI
  431.                                access control) must not be required to
  432.                                be based on individual identity.
  433.                            v.  Certification of the binding between a
  434.                                public key and a directory name shall
  435.                                be mandatory
  436.                           vi.  Certification of the binding between
  437.                                additional attributes and a directory
  438.                                name shall be discretionary
  439.                          vii.  Auditing and support for the monitoring
  440.                                of policy compliance is required
  441.  
  442.                   2.  Concurrent support of multiple policies
  443.                   3.  exchange of certificates.
  444.                   4.  Support for continuance of service in the event
  445.                       of transfer of certificate services from one
  446.                       certification authority to another.
  447.                   5.  Certificate authority policy mapping services to
  448.                       establish cross certification between CAs.
  449.                   6.  Support for arbitration to determine
  450.                       acceptability of certificates in the event of
  451.                       multiple conflicting certification paths.
  452.                   7.  Support for separation of the certification
  453.                       authority and repository functions in accordance
  454.                       with the governance policy. changes to
  455.                       certificate repositories must be transactional
  456.                       (e.g., two-phase commits).
  457.  
  458.             C.  Security of the PKI
  459.  
  460.  
  461.  
  462.           Blakley          Document Expires: May 1997         [Page 8]
  463.  
  464.  
  465.  
  466.  
  467.  
  468.           Internet-Draft              APKI               November 1996
  469.  
  470.  
  471.  
  472.                 The PKI itself must be secure.  In particular, the PKI
  473.                 must:
  474.  
  475.                   1.  Protect the confidentiality, integrity and
  476.                       availability of the PKI services, for example
  477.                       key generation, key distribution, and key
  478.                       storage.
  479.                   2.  Provide strong non-repudiation services for
  480.                       actions of certificate services.
  481.                   3.  Prevent PKI services themselves from repudiating
  482.                       their own actions.
  483.                   4.  Prevent users and subscribers from repudiating
  484.                       their own actions.
  485.  
  486.             D.  Time service
  487.  
  488.                 A universal, networked time service must be available
  489.                 for time stamping.
  490.  
  491.             E.  Interoperability
  492.  
  493.                 PKI elements provided by different vendors must
  494.                 interoperate.  In support of interoperability, PKI
  495.                 elements must:
  496.  
  497.                   1.  support international standards for certificates
  498.                       and associated data
  499.                   2.  support international standards for certificate
  500.                       services
  501.                   3.  support internationalization of all certificates
  502.                       and associated data
  503.                   4.  support internationalization of all certificate
  504.                       services
  505.  
  506.           1.1.3  Known Issues
  507.  
  508.              For interoperability there is a dependency upon the
  509.              definition of standard application program interfaces to
  510.              and protocols between the component services of the
  511.              Public Key Infrastructure.
  512.  
  513.              Work is required to define and agree profiles of option
  514.              fields in certificates.
  515.  
  516.  
  517.  
  518.  
  519.  
  520.           Blakley          Document Expires: May 1997         [Page 9]
  521.  
  522.  
  523.  
  524.  
  525.  
  526.           Internet-Draft              APKI               November 1996
  527.  
  528.  
  529.  
  530.           1.1.4  Recommendations
  531.  
  532.              Adopt X.509 version 3 as a basis for certificates in the
  533.              development of the PKI.
  534.  
  535.              Adopt and adapt existing standards and protocols wherever
  536.              possible, invent new standards or protocols only as a
  537.              last resort.
  538.  
  539.           1.2  The Importance of Architecture
  540.  
  541.              The APKI working group feels that a robust, flexible,
  542.              standard, open Public-Key Infrastructure Architecture is
  543.              critical to the success of secure systems based on
  544.              Public-Key technology.  This section explains why.
  545.  
  546.           1.2.1  What is Architecture?
  547.  
  548.              The architecture of a software system is the set of
  549.              interfaces through which its functions are accessed, and
  550.              the set of protocols through which it communicates with
  551.              other systems.
  552.  
  553.              The remainder of this section discusses the importance of
  554.              standardizing the interfaces and protocols which comprise
  555.              the Public-Key Infrastructure software Architecture.
  556.  
  557.           1.2.2  Interfaces
  558.  
  559.              The following figure illustrates a system on which three
  560.              security products have been installed.
  561.  
  562.              In the figure:
  563.  
  564.               - Product 1 includes a protocol and all the security
  565.                 functionality needed to protect data flowing over that
  566.                 protocol.  Only the secure protocol's interface is
  567.                 exposed; the underlying security functionality is not
  568.                 available to other applications.
  569.               - Product 2 also includes a protocol and its requisite
  570.                 security functionality, but it exposes the data
  571.                 protection functionality through a public interface so
  572.                 that other applications can use it.  It does not
  573.                 permit direct access to cryptographic functionality.
  574.               - Product 3 is a hardware cryptographic adapter; it
  575.  
  576.  
  577.  
  578.           Blakley          Document Expires: May 1997        [Page 10]
  579.  
  580.  
  581.  
  582.  
  583.  
  584.           Internet-Draft              APKI               November 1996
  585.  
  586.  
  587.  
  588.                     Product 1                   Product 2
  589.                 +-------------------+      +-------------------+
  590.                 |+-----------------+|      |+-----------------+|
  591.                 || Secure          ||      || Secure          ||
  592.                 || Protocol        ||      || Protocol        ||
  593.                 |+-----------------+|      |+-----------------+|
  594.                 |+-----------------+|      |+-----------------+|
  595.                 || Security        ||      || Security        ||
  596.                 || State Mgmt &    ||      || State Mgmt &    ||
  597.                 || Data Protection ||      || Data Protection ||
  598.                 |+-----------------+|      |+-----------------+|
  599.                 |+-----------------+|      |+-----------------+|
  600.                 || Crypto          ||      || Crypto          ||
  601.                 || Software        ||      || Software        ||
  602.                 |+-----------------+|      |+-----------------+|
  603.                 +-------------------+      +-------------------+
  604.  
  605.                              +-----------------+
  606.                    Product 3 | Crypto Hardware |
  607.                              +-----------------+
  608.  
  609.                 comes with a software driver permitting access by
  610.                 applications to its cryptographic functionality.
  611.  
  612.              This configuration has several bad characteristics:
  613.  
  614.               - Because neither product 1 nor product 2 accesses
  615.                 cryptographic functionality through a standard
  616.                 interface, neither can use the cryptographic adapter.
  617.                 Furthermore, because both product 1 and product 2
  618.                 embed cryptographic functionality  without exposing an
  619.                 interface through which it can be accessed, neither
  620.                 can use the other's cryptographic software.  The end
  621.                 result is that three different cryptographic
  622.                 subsystems (two software and one hardware) must be
  623.                 installed on the system, even if all three products
  624.                 use the same cryptographic algorithms!
  625.               - Because product 1 and product 2 embed cryptographic
  626.                 functionality rather than accessing a separate
  627.                 cryptographic subsystem through a published interface,
  628.                 they will not be deployable (without code changes) in
  629.                 countries whose regulatory environment restricts or
  630.                 forbids use of the cryptographic functions they embed.
  631.  
  632.              This example illustrates some of the benefits of standard
  633.  
  634.  
  635.  
  636.           Blakley          Document Expires: May 1997        [Page 11]
  637.  
  638.  
  639.  
  640.  
  641.  
  642.           Internet-Draft              APKI               November 1996
  643.  
  644.  
  645.  
  646.              interfaces; these include:
  647.  
  648.               - Replaceability of services (e.g. cryptography) without
  649.                 change to exploiting applications
  650.               - Elimination of duplicate service implementations in
  651.                 configurations in which multiple applications require
  652.                 the same kind of service
  653.               - Reduced programmer training costs (programmers need
  654.                 learn only one standard interface for a service rather
  655.                 than learning the proprietary interfaces of multiple
  656.                 products providing the same service)
  657.               - Reduced application porting complexity (code
  658.                 exploiting services through standard interfaces need
  659.                 not be changed, or requires only minimal changes, when
  660.                 porting from one platform supporting the standard
  661.                 interface to another such platform)
  662.  
  663.           1.2.3  Protocols
  664.  
  665.              The following figure illustrates two certificate-
  666.              management products.
  667.  
  668.              In the figure:
  669.  
  670.               - Product 1 communicates key requests to the
  671.                 Certification Authority (CA) via electronic mail, and
  672.                 receives keys and certificates from the CA via email.
  673.               - Product 2 communicates key requests to the CA using a
  674.                 proprietary protocol and retrieves keys from a
  675.                 directory service using the LDAP protocol.
  676.  
  677.              A configuration including both products would have
  678.              several bad characteristics:
  679.  
  680.               - Neither product's CA could accept key requests from
  681.                 the other product's clients.
  682.               - Applications using product 1 clients and wishing to
  683.                 advertise their certificates in the directory service
  684.                 would require installation of a separate directory-
  685.                 access product.
  686.               - Applications using product 1 clients and wishing to
  687.                 retrieve partners' certificates from the directory
  688.                 service would require installation of a separate
  689.                 directory-access product.
  690.  
  691.  
  692.  
  693.  
  694.           Blakley          Document Expires: May 1997        [Page 12]
  695.  
  696.  
  697.  
  698.  
  699.  
  700.           Internet-Draft              APKI               November 1996
  701.  
  702.  
  703.  
  704.                Product 1
  705.              +--------------------------------+      +-----------+
  706.              |               +-------+   +-+  |      | +-+ +----+|
  707.              | Application --|Key    |---|e|--|------|-|e|-|    ||
  708.              |     ^         |Request|   |m|  |      | |m| |    ||
  709.              |     |         +-------+   |a|  |      | |a| | CA ||
  710.              |+----------+               |i|  |      | |i| |    ||
  711.              ||User Key  |---------------|l|--|------|-|l|-|    ||
  712.              ||Management|               +-+  |      | +-+ +----+|
  713.              |+----------+                    |      |           |
  714.              +--------------------------------+      +-----------+
  715.  
  716.                Product 2
  717.              +-------------------------+             +-----------+
  718.              |               +-------+ |             |     +----+|
  719.              | Application --|Key    |-|-------------|-----|    ||
  720.              |     ^         |Request| |             | +-+ |    ||
  721.              |     |         +-------+ |             | |L| | CA ||
  722.              |+----------+   +------+  | +---------+ | |D| |    ||
  723.              ||User Key  |---| LDAP |--|-|Directory|-|-|A|-|    ||
  724.              ||Management|   |      |  | +---------+ | |P| +----+|
  725.              |+----------+   +------+  |             | +-+       |
  726.              +-------------------------+             +-----------+
  727.  
  728.              This example illustrates the benefit of standard
  729.              protocols:
  730.  
  731.               - Applications supporting standard protocols can
  732.                 interoperate, even if produced by different providers.
  733.  
  734.           1.2.4  Profiles
  735.  
  736.              Many of the services in the Public-Key Infrastructure
  737.              Architecture can be implemented using a variety of
  738.              different mechanisms and protocols (e.g. data privacy
  739.              protection can be implemented using a variety of
  740.              different cryptographic algorithms).  This variety of
  741.              mechanisms and protocols has arisen in part because
  742.              different environments impose different security
  743.              requirements.
  744.  
  745.              Multiplicity of mechanisms means that different
  746.              providers' implementations of the PKI Architecture will
  747.              not necessarily interoperate - even though they support
  748.              the standard interfaces and a selection of the standard
  749.  
  750.  
  751.  
  752.           Blakley          Document Expires: May 1997        [Page 13]
  753.  
  754.  
  755.  
  756.  
  757.  
  758.           Internet-Draft              APKI               November 1996
  759.  
  760.  
  761.  
  762.              protocols.
  763.  
  764.              A profile defines the set of mechanisms and protocols
  765.              which should be used in a particular environment.  The
  766.              mechanisms and protocols comprising a profile are usually
  767.              chosen on the basis of their strength against the attacks
  768.              which are common in the environment supported by the
  769.              profile.  Profiling has the following  advantages:
  770.  
  771.               - Systems conforming to an environment's profile will
  772.                 interoperate.
  773.               - Systems conforming to an environment's profile will be
  774.                 well-protected against that environment's risks.
  775.               - Profiling helps to assure that mechanisms in use work
  776.                 together appropriately and securely.
  777.  
  778.           1.2.5  Negotiation
  779.  
  780.              Some profiles will allow multiple mechanisms and
  781.              protocols in order to support different qualities of
  782.              protection, or to accommodate a fragmented security
  783.              product market.  In these environments, it is desirable
  784.              to provide a negotiation meta-protocol which allows
  785.              communicating partners to determine:
  786.  
  787.               - which mechanisms and protocols they both (or all)
  788.                 share
  789.               - which mechanism and protocol, among the shared set,
  790.                 best supports the desired quality of protection.
  791.  
  792.              It is important to note that negotiation does not always
  793.              require an on-line dialog between the negotiating
  794.              entities.
  795.  
  796.           1.3  Document Overview
  797.  
  798.              Section 2 presents the high-level structure of the PKI
  799.              Architecture by grouping the architecture's components
  800.              into broad functional categories.
  801.  
  802.              Section 3:
  803.  
  804.               - enumerates the components in each of the
  805.                 Architecture's functional categories
  806.               - describes the functionality of each component and
  807.  
  808.  
  809.  
  810.           Blakley          Document Expires: May 1997        [Page 14]
  811.  
  812.  
  813.  
  814.  
  815.  
  816.           Internet-Draft              APKI               November 1996
  817.  
  818.  
  819.  
  820.                 lists existing specifications which could serve as
  821.                 candidate standards for each component's interfaces
  822.                 and protocols (To be considered a "candidate" for
  823.                 purposes of the public-key infrastructure
  824.                 architecture, an interface or protocol must: (1) be
  825.                 described by a publicly-available specification, and
  826.                 (2) support a significant fraction of the
  827.                 functionality of the PKI component for which it is
  828.                 proposed as a candidate.  It is assumed that the
  829.                 candidate interface and protocol specifications
  830.                 identified in this document will serve as base
  831.                 documents for open standardization processes, which
  832.                 will produce finalized PKI component interface and
  833.                 protocol specifications.)
  834.               - identifies where negotiation facilities are required
  835.                 to deal with the probable existence of a multiplicity
  836.                 of security mechanisms
  837.               - enumerates important public-key-related protocols and
  838.                 discusses the need for environment-specific profiles
  839.  
  840.              Section 4 discusses the use of hardware security devices
  841.              in the architecture.
  842.  
  843.              Appendices to the document provide:
  844.  
  845.               - examples illustrating application of the architecture
  846.                 to existing secure systems,
  847.               - the relationship of this document to existing security
  848.                 architecture standards
  849.               - a glossary of terms related to security and public-key
  850.                 cryptography
  851.               - an annotated list of references
  852.  
  853.  
  854.           2.  Overview of the PKI Architecture
  855.  
  856.              The  PKI architecture components are grouped into the
  857.              following broad functional categories:
  858.  
  859.             A.  System Security  Enabling Services provide the
  860.                 functionality which allows a user's or other
  861.                 principal's identity to be established and associated
  862.                 with his actions in the system.
  863.             B.  Crypto Primitives and Services provide the
  864.                 cryptographic functions on which public-key security
  865.  
  866.  
  867.  
  868.           Blakley          Document Expires: May 1997        [Page 15]
  869.  
  870.  
  871.  
  872.  
  873.  
  874.           Internet-Draft              APKI               November 1996
  875.  
  876.  
  877.  
  878.                 is based (including secret-key primitives such as
  879.                 DES).
  880.             C.  Long-term Key Services permit users and other
  881.                 principals to manage their own long-term keys and
  882.                 certificates and to retrieve and check the validity of
  883.                 other principals'  certificates
  884.             D.  Protocol Security Services provide security
  885.                 functionality (data origin authentication, data
  886.                 integrity protection, data privacy protection,
  887.                 nonrepudiation) suitable for use by implementors of
  888.                 security-aware applications such as secure protocols.
  889.             E.  Secure Protocols provide secure inter-application
  890.                 communications for security-unaware and "mildly"
  891.                 security-aware applications.
  892.             F.  Security Policy Services provide the policy-related
  893.                 information which must be carried in secure protocols
  894.                 to enable access control, and provide access-control
  895.                 checking facilities to security-aware applications
  896.                 which must enforce policy.
  897.             G.  Supporting Services provide functionality which is
  898.                 required for secure operation, but is not directly
  899.                 involved in security policy enforcement.
  900.  
  901.              The following figure illustrates the PKI architecture.
  902.  
  903.              Section 3 describes each of these categories in more
  904.              detail (listing the components in each category), and
  905.              identifies interfaces and protocols which may be
  906.              candidate bases for standardization of each component.
  907.              Appendix B uses  the figure above to illustrate how a
  908.              number of existing security technologies fit into the
  909.              architecture.
  910.  
  911.              Note that while the architecture described in this
  912.              document could be implemented on insecure operating
  913.              system platforms, implementors of the architecture must
  914.              insure that keys, security context data, and policy data
  915.              are appropriately protected in such environments.
  916.  
  917.  
  918.           3.  Public-Key Infrastructure Components
  919.  
  920.              Each of this section's subsections describes one of the
  921.              Architecture's categories in detail, enumerating its
  922.              components and describing component functions,
  923.  
  924.  
  925.  
  926.           Blakley          Document Expires: May 1997        [Page 16]
  927.  
  928.  
  929.  
  930.  
  931.  
  932.           Internet-Draft              APKI               November 1996
  933.  
  934.  
  935.  
  936.            +-------------------------------------------------------+
  937.            |                                                       |
  938.            |                  [Applications]                       |
  939.            |                                                       |
  940.            +-------------------------------------------------------+
  941.            |          |                               |            |
  942.            |          |       Secure Protocols        |  Security  |
  943.            |          |                               |   Policy   |
  944.            |  System  +-------------------------------+  Services  |
  945.            | Security |                               |            |
  946.            | Enabling |  Protocol Security Services   +------------+
  947.            | Services |                               |            |
  948.            |          +-------------------------------+            |
  949.            |          |                               |            |
  950.            |          |    Long-Term Key Services     |            |
  951.            |          |                               |            |
  952.            +----------+-------------------------------+ Supporting |
  953.                       |                               |  Services  |
  954.                       |    Cryptographic Services     |            |
  955.                       |                               |            |
  956.                       +...............................+            |
  957.                       |                               |            |
  958.                       |   Cryptographic Primitives    |            |
  959.                       |                               |            |
  960.                       +-------------------------------+------------+
  961.  
  962.              interfaces, and protocols.
  963.  
  964.           3.1  Crypto Primitive Components
  965.  
  966.              The figure below illustrates the Crypto Primitive
  967.              Components:
  968.  
  969.              Note that the architecture's cryptographic primitives may
  970.              be provided by hardware (e.g. smartcards or cryptographic
  971.              modules) or by software.
  972.  
  973.           3.1.1  Function
  974.  
  975.              These components provide access to low-level
  976.              cryptographic primitives such as key generation, hash
  977.              function application to a data buffer, encryption of a
  978.              data buffer using secret-key or public-key algorithms,
  979.              decryption of a data buffer using secret-key or public-
  980.              key algorithms, etc....
  981.  
  982.  
  983.  
  984.           Blakley          Document Expires: May 1997        [Page 17]
  985.  
  986.  
  987.  
  988.  
  989.  
  990.           Internet-Draft              APKI               November 1996
  991.  
  992.  
  993.  
  994.           +------------+ +--------------+ +--------------+ +------------+
  995.           |   Random   | |      Key     | |   Secret     | |            |
  996.           |   Number   | |  Generation  | |   Sharing    | |  Hashing   |
  997.           | Generation | |              | |              | |            |
  998.           +------------+ +--------------+ +--------------+ +------------+
  999.  
  1000.           +------------+ +--------------+ +--------------+
  1001.           |   Keyed    | |  Symmetric   | |  Asymmetric  |
  1002.           |  Hashing   | | (secret-key) | | (public-key) |
  1003.           |            | |    Crypto    | |    Crypto    |
  1004.           |            | |  Primitives  | |  Primitives  |
  1005.           +------------+ +--------------+ +--------------+
  1006.  
  1007.           3.1.2  Protocols
  1008.  
  1009.              Cryptographic primitives are typically called locally; it
  1010.              is not anticipated that any cryptographic primitive
  1011.              protocols will be defined.
  1012.  
  1013.           3.1.3  Interfaces
  1014.  
  1015.              Candidate interfaces for access to cryptographic
  1016.              primitives include:
  1017.  
  1018.               - The RSA BSafe library interface
  1019.               - The X/Open GCS-API
  1020.               - The Microsoft CryptoAPI 1.0
  1021.  
  1022.              Other interfaces which may support some or all of the
  1023.              cryptographic primitive function include
  1024.  
  1025.               - Fortezza
  1026.               - IBM CCA
  1027.  
  1028.              Standardization of these interfaces would be of interest
  1029.              to developers of cryptographic service modules and to
  1030.              providers of cryptographic primitive modules.
  1031.              Standardization of an interface for access to
  1032.              cryptographic primitives would facilitate "pluggable"
  1033.              implementations of cryptographic services.  The consensus
  1034.              of the APKI working group, however, is that cryptographic
  1035.              functionality will ordinarily be used through the
  1036.              cryptographic service interfaces rather than through the
  1037.              cryptographic primitive interfaces.  Therefore,
  1038.              standardization of cryptographic primitive interfaces is
  1039.  
  1040.  
  1041.  
  1042.           Blakley          Document Expires: May 1997        [Page 18]
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.           Internet-Draft              APKI               November 1996
  1049.  
  1050.  
  1051.  
  1052.              not viewed as essential.
  1053.  
  1054.           3.1.4  Profiles
  1055.  
  1056.              Most cryptographic modules provide support for multiple
  1057.              primitives.  Many primitives are subject to legal
  1058.              restrictions on deployment (including both intellectual
  1059.              property encumbrances and national and international
  1060.              regulatory constraints on export, import, and
  1061.              deployment).
  1062.  
  1063.              Cryptographic primitive profiles will have to be
  1064.              developed for PKI environments of interest (including,
  1065.              for example, the Internet, OMG CORBA, OSF DCE, Financial,
  1066.              etc.).
  1067.  
  1068.           3.1.5  Negotiation
  1069.  
  1070.              Cryptographic primitives are ordinarily used only by the
  1071.              implementors of cryptographic services.  Negotiation
  1072.              should be used to establish which cryptographic
  1073.              service(s) are to be used, rather than to establish what
  1074.              primitives should be used.  Ordinarily this negotiation
  1075.              will be done at a higher level than that of the
  1076.              cryptographic primitives and services themselves.  No
  1077.              protocol for negotiating cryptographic primitives should
  1078.              be required.
  1079.  
  1080.           3.2  Crypto Service Components
  1081.  
  1082.              The figure below illustrates the Cryptographic Service
  1083.              Components:
  1084.  
  1085.            +-----------+ +------------+ +------------+ +------------+
  1086.            |  Crypto   | |    Key     | |     Key    | |    Key     |
  1087.            |  Context  | |  Import &  | | Derivation | | Agreement  |
  1088.            | Management| |   Export   | |            | |            |
  1089.            +-----------+ +------------+ +------------+ +------------+
  1090.  
  1091.            +-----------+ +------------+ +------------+ +------------+
  1092.            |    Key    | |    Data    | |    Data    | |    Data    |
  1093.            |   Usage   | |  Integrity | |   Privacy  | |  Signature |
  1094.            |  Control  | |            | |            | |            |
  1095.            +-----------+ +------------+ +------------+ +------------+
  1096.  
  1097.  
  1098.  
  1099.  
  1100.           Blakley          Document Expires: May 1997        [Page 19]
  1101.  
  1102.  
  1103.  
  1104.  
  1105.  
  1106.           Internet-Draft              APKI               November 1996
  1107.  
  1108.  
  1109.  
  1110.           3.2.1  Function
  1111.  
  1112.              These components provide access to cryptographic services
  1113.              such as data integrity and privacy protection ("data"
  1114.              here might be a file, a message, an i/o stream, etc...),
  1115.              key import and export, digital signature, keyed hash,
  1116.              etc....
  1117.  
  1118.              Cryptographic Context Management provides the facilities
  1119.              through which applications initialize the cryptographic
  1120.              subsystem, activate keys for encryption and decryption,
  1121.              and clean up the state of the cryptographic subsystem
  1122.              after use.
  1123.  
  1124.              Key usage controls permit control over a variety of
  1125.              aspects of key use, including how many times a key may be
  1126.              used; for what purposes it may be used (e.g. for
  1127.              signature only, for privacy only, for both signature and
  1128.              privacy, etc...), and so on.
  1129.  
  1130.              Key derivation services permit generation of
  1131.              cryptographic-quality keys from non-key values such as
  1132.              passwords.
  1133.  
  1134.              Crypto services are built on crypto primitives.  A crypto
  1135.              service may support multiple implementations, each of
  1136.              which uses a different crypto primitive.
  1137.  
  1138.              Descriptions of a few DES-based services will illustrate
  1139.              the difference between primitives and services; note that
  1140.              these are only examples:
  1141.  
  1142.               - DEA is a crypto primitive which uses a 56-bit key and
  1143.                 an initialization vector to transform a 64-bit
  1144.                 plaintext into a 64-bit ciphertext.
  1145.               - Data privacy is a crypto service.  DES-CBC is an
  1146.                 implementation of the cryptographic data privacy
  1147.                 service which uses a 56-bit key, an initialization
  1148.                 vector, and the DEA primitive  to transform a
  1149.                 plaintext of arbitrary length into a ciphertext of the
  1150.                 same length subject to some rules defined by a "mode
  1151.                 of operation".  The rules describe how to "pad"
  1152.                 plaintexts to a multiple of 64 bits and whether and
  1153.                 how to induce dependencies among 64-bit blocks of the
  1154.                 ciperhtext by feeding ciperhtext material from
  1155.  
  1156.  
  1157.  
  1158.           Blakley          Document Expires: May 1997        [Page 20]
  1159.  
  1160.  
  1161.  
  1162.  
  1163.  
  1164.           Internet-Draft              APKI               November 1996
  1165.  
  1166.  
  1167.  
  1168.                 previous rounds of the encryption process into the
  1169.                 current round.
  1170.               - Data integrity is a crypto service. DES-CBC-MAC is an
  1171.                 implementation of the data integrity service which
  1172.                 uses the DEA primitive to generate a message
  1173.                 authentication code given a 56-bit key, an
  1174.                 initialization vector,  and  a plaintext of arbitrary
  1175.                 length.
  1176.  
  1177.           3.2.2  Protocols
  1178.  
  1179.              Cryptographic services are typically called locally; it
  1180.              is not anticipated that any cryptographic service
  1181.              protocols will be standardized.
  1182.  
  1183.           3.2.3  Interfaces
  1184.  
  1185.              Candidate interfaces for cryptographic services include:
  1186.  
  1187.               - X/Open GCS-API
  1188.               - Microsoft CryptoAPI 1.0
  1189.               - SESAME CSF API
  1190.  
  1191.              Other interfaces which may support some or all of the
  1192.              cryptographic primitive function include
  1193.  
  1194.               - Cryptoki
  1195.               - RSA BSAFE
  1196.  
  1197.              Standardization of these interfaces would be of interest
  1198.              to developers of long-term-key service and protocol
  1199.              security service modules and to providers of
  1200.              cryptographic service modules.  The  APKI working group
  1201.              feels that it is important to standardize a single
  1202.              interface for cryptographic services.
  1203.  
  1204.           3.2.4  Profiles
  1205.  
  1206.              Most cryptographic modules provide support for multiple
  1207.              services.  Many crypto services are subject to legal
  1208.              restrictions on deployment (including both intellectual
  1209.              property encumbrances and national and international
  1210.              regulatory constraints on export, import, and
  1211.              deployment).
  1212.  
  1213.  
  1214.  
  1215.  
  1216.           Blakley          Document Expires: May 1997        [Page 21]
  1217.  
  1218.  
  1219.  
  1220.  
  1221.  
  1222.           Internet-Draft              APKI               November 1996
  1223.  
  1224.  
  1225.  
  1226.              Cryptographic service profiles will have to be developed
  1227.              for PKI environments of interest (including, for example,
  1228.              the Internet, OMG CORBA, OSF DCE, Financial, etc.).
  1229.              These profiles will have to be developed with
  1230.              international deployment issues in mind.  Each profile
  1231.              should be expressed in terms of the parameters used to
  1232.              select cryptographic services (and implementations of
  1233.              cryptographic services -- often called "mechanisms")
  1234.              through the cryptographic service interface (see the next
  1235.              section for more information on service and mechanism
  1236.              selection).
  1237.  
  1238.              Profiles will need to specify, in addition to mechanism
  1239.              information,  the data formats which each service can
  1240.              accept and return.
  1241.  
  1242.           3.2.5  Negotiation
  1243.  
  1244.              Negotiation of cryptographic services to be used by
  1245.              secure protocols and other security-aware applications
  1246.              is generally done at level higher than that of the
  1247.              cryptographic services themselves.  The cryptographic
  1248.              service interface therefore must allow selection among
  1249.              available cryptographic services, and among available
  1250.              implementations of a single service, but it need not
  1251.              support negotiation.
  1252.  
  1253.           3.3  Long-Term Key Services Components
  1254.  
  1255.              The following figure illustrates the Long-Term Key
  1256.              Services Components; each component is described in more
  1257.              detail below.
  1258.  
  1259.            +-----------+ +------------+ +------------+ +------------+
  1260.            |    Key    | |    Key     | |    Key     | |   Virtual  |
  1261.            | Lifecycle | |   Escrow   | |  Recovery  | |  Smartcard |
  1262.            | Management| |            | |            | |  Service   |
  1263.            +-----------+ +------------+ +------------+ +------------+
  1264.  
  1265.            +-----------+ +------------+
  1266.            |Certificate| | Public-Key |
  1267.            | Management| | Delivery & |
  1268.            |           | |Verification|
  1269.            +-----------+ +------------+
  1270.  
  1271.  
  1272.  
  1273.  
  1274.           Blakley          Document Expires: May 1997        [Page 22]
  1275.  
  1276.  
  1277.  
  1278.  
  1279.  
  1280.           Internet-Draft              APKI               November 1996
  1281.  
  1282.  
  1283.  
  1284.           3.3.1  Function
  1285.  
  1286.           Key Lifecycle Management
  1287.  
  1288.              This component provides including key revocation, key
  1289.              repudiation, key expiration, and related services.
  1290.  
  1291.           Key Escrow and Key Recovery
  1292.  
  1293.              These components permit secure storage of keys for later
  1294.              recovery under policy control.
  1295.  
  1296.           Virtual Smartcard Service
  1297.  
  1298.              The Virtual Smartcard Service Component permits users and
  1299.              other principals to store long-term personal security
  1300.              information (including private keys, certificates, and
  1301.              other information) in protected storage, to activate
  1302.              personal keys for use via an authentication procedure,
  1303.              and to use those keys for encryption, decryption, and
  1304.              signature activities.
  1305.  
  1306.              The following figure illustrates the structure of this
  1307.              component.
  1308.  
  1309.                            +------------------------+
  1310.                            |                        |
  1311.                            | Virtual Smartcard Svc. |
  1312.                            |                        |
  1313.                            +----------+--+----------+
  1314.                            | Hardware |  | Software |
  1315.                            | Security |  | Personal |
  1316.                            |  Token   |  | Security |
  1317.                            |          |  |  Model   |
  1318.                            +----------+  +----------+
  1319.  
  1320.  
  1321.           Certificate Management
  1322.  
  1323.              The Certificate Management component allows users,
  1324.              administrators and other principals to request
  1325.              certification of public keys and revocation of previously
  1326.              certified keys.  It may optionally generate key pairs and
  1327.              provide key-pair recovery services.  There are four
  1328.              Certificate Management sub-components:
  1329.  
  1330.  
  1331.  
  1332.           Blakley          Document Expires: May 1997        [Page 23]
  1333.  
  1334.  
  1335.  
  1336.  
  1337.  
  1338.           Internet-Draft              APKI               November 1996
  1339.  
  1340.  
  1341.  
  1342.              The Local Registration Authority provides interfaces for
  1343.              requesting generation of key-pairs and corresponding
  1344.              certificates, requesting certification of existing public
  1345.              keys, and requesting revocation of existing certificates.
  1346.  
  1347.              The Certification Authority Agent (CA Agent) provides
  1348.              interfaces for certifying existing public keys,
  1349.              generating and returning key pairs and corresponding
  1350.              certificates,  revoking existing certificates.  The CA
  1351.              Agent implements these interfaces via calls to a
  1352.              Certification Authority (CA).
  1353.  
  1354.              The Certification Authority certifies public keys
  1355.              (returning the generated certificate) and generates
  1356.              certificate revocation lists.  In some configurations it
  1357.              will be "off-line".
  1358.  
  1359.              The Publication Authority provides interfaces through
  1360.              which CAs and CA Agents can place certificates and CRLs
  1361.              into public repositories or transmit them directly to
  1362.              requestors.
  1363.  
  1364.           Public-Key Delivery and Verification
  1365.  
  1366.              This component allows a program to retrieve any
  1367.              principal's certificate, verify its validity, and extract
  1368.              the principal's certified public key from the
  1369.              certificate.
  1370.  
  1371.              The following figure illustrates the structure and
  1372.              interrelationships of the Certificate Management and
  1373.              Public-Key Delivery and Verification components and
  1374.              sub-components.
  1375.  
  1376.           3.3.2  Protocols
  1377.  
  1378.           Virtual Smartcard Service
  1379.  
  1380.              When the Virtual Smartcard Service component is used for
  1381.              retrieval of user private keys, two models exist.  One
  1382.              model (exemplified by PGP and Lotus Notes) manages
  1383.              private keys primarily on the client principal's machine
  1384.              (either in a software personal security module, or in a
  1385.              security token or other device external to the
  1386.              principal's workstation).  In this model, no protocols
  1387.  
  1388.  
  1389.  
  1390.           Blakley          Document Expires: May 1997        [Page 24]
  1391.  
  1392.  
  1393.  
  1394.  
  1395.  
  1396.           Internet-Draft              APKI               November 1996
  1397.  
  1398.  
  1399.  
  1400.           +-----------+---------------++=====+==============++
  1401.           |           |  Public       ||     |     Local    ||
  1402.           |           |  Key          ||     | Registration ||      double border
  1403.           | Virtual   |  Delivery     ||     |   Authority  ||    / encloses
  1404.           | Smartcard |  and          ||     +--------------++   /  Certificate
  1405.           | Service   |  Verification ||         CA         ||  /   Management
  1406.           |           |               ||        Agent       || <    Component
  1407.           |           |               ++---------+----------++
  1408.           |           |               ||         |          ||
  1409.           |           +-------++======++         |          ||
  1410.           |                   ||                 |          ||
  1411.           |                   ||   Publication   |    CA    ||
  1412.           |                   ||    Authority    |          ||
  1413.           +-------------------++=================+==========++
  1414.  
  1415.              are required for User/Principle Personal Security Info
  1416.              Management, since all operations are client-local.
  1417.  
  1418.              The second model (exemplified by Novell NetWare) manages
  1419.              private keys at a central server and distributes them to
  1420.              client principals using a secure protocol.  In this
  1421.              model, the client/server protocol for retrieval of
  1422.              private keys needs to be supported by the software
  1423.              personal security module subcomponent of the Virtual
  1424.              Smartcard Service component, as illustrated in the figure
  1425.              below (the dotted arrow in the figure represents the
  1426.              protocol):
  1427.  
  1428.                    +-----------------------+
  1429.                    |User/Principal         |
  1430.                    |Personal Security Info |
  1431.                    |Management Interface   |
  1432.                    +--------------+--------+     +----------+
  1433.                                   |Software|     |Remote    |
  1434.                                   |Personal|     |Private   |
  1435.                                   |Security|---->|Key       |
  1436.                                   |Module  |     |Repository|
  1437.                                   +--------+     +----------+
  1438.  
  1439.              The APKI working group does not view standardization of
  1440.              this protocol to be essential.
  1441.  
  1442.           Certificate Management
  1443.  
  1444.              Protocols must be defined to permit creation, revocation,
  1445.  
  1446.  
  1447.  
  1448.           Blakley          Document Expires: May 1997        [Page 25]
  1449.  
  1450.  
  1451.  
  1452.  
  1453.  
  1454.           Internet-Draft              APKI               November 1996
  1455.  
  1456.  
  1457.  
  1458.              and update of certificates.  The diagram below
  1459.              illustrates Certificate Management protocols which might
  1460.              be standardized; each arrow in the diagram represents a
  1461.              protocol.
  1462.  
  1463.                                        Certificate Management
  1464.                              +-----------------------------------------+
  1465.           +--------------+   | +------------+            +-----------+ |
  1466.           | Application  |   | |   Local    |            |Certificate| |
  1467.           |(or Smartcard)|---->|Registration|----------->| Authority | |
  1468.           |              |   | | Authority  |            |   Agent   | |
  1469.           +--------------+   | +------------+            +-----------+ |
  1470.                   |          |                            /      ^     |
  1471.                   |          +-------------+             /       |     |
  1472.                   |                        |            v        |     |
  1473.             +------------+                 | +-----------+       |     |
  1474.             | Public-Key |                 | |Publication|       |     |
  1475.             | Delivery & |<..................| Authority |       |     |
  1476.             |Verification|                 | |           |       |     |
  1477.             |            |-----+           | +-----------+       |     |
  1478.             +------------+     |           +---/-------+         |     |
  1479.                   |            v              v        |         v     |
  1480.             +------------+   +---------------+         | +-----------+ |
  1481.             |  Virtual   |   | Repository &  |         | |Certificate| |
  1482.             | Smartcard  |   | Subscription  |         | | Authority | |
  1483.             |  Services  |   |   Services    |         | |           | |
  1484.             +------------+   +---------------+         | +-----------+ |
  1485.                                                        +---------------+
  1486.  
  1487.              Note that implementations may choose to assign the
  1488.              responsibility for generation of private keys (through
  1489.              use of the key generation facilities of the PKI
  1490.              architecture) to the CA, the LRA, or the User Workstation
  1491.              or Smartcard; additional protocols will be required to
  1492.              transmit the private key to the User Workstation or
  1493.              Smartcard if it is not generated there in the first
  1494.              place.
  1495.  
  1496.              The APKI working  group feels that the following
  1497.              protocols should be standardized at a minimum:
  1498.  
  1499.               - User Workstation or Smartcard to Certificate
  1500.                 Management component
  1501.               - Local Registration Authority to CA Agent
  1502.  
  1503.  
  1504.  
  1505.  
  1506.           Blakley          Document Expires: May 1997        [Page 26]
  1507.  
  1508.  
  1509.  
  1510.  
  1511.  
  1512.           Internet-Draft              APKI               November 1996
  1513.  
  1514.  
  1515.  
  1516.              A candidate protocol specification including these
  1517.              protocols as well as a protocol for the Publication
  1518.              Authority to Public-Key Delivery protocol exists as IETF
  1519.              draft RFC ietf-pkix-ipki-part3-01.txt
  1520.  
  1521.              Public-Key Delivery and Verification
  1522.  
  1523.              Protocols must be defined to transport certificates from
  1524.              the repositories in which they reside to the requester's
  1525.              machine.  In the diagram, these protocols are represented
  1526.              by the arrows from the Publication Authority to the
  1527.              Public-Key Delivery and Verification component.  The APKI
  1528.              working group feels that these protocols should be
  1529.              standardized.  At least LDAP, email, and HTTP versions of
  1530.              these protocols should be defined.
  1531.  
  1532.              A candidate protocol specification is in preparation and
  1533.              will be published as IETF draft RFC ietf-pkix-ipki-
  1534.              part2-01.txt
  1535.  
  1536.           3.3.3  Interfaces
  1537.  
  1538.           Virtual Smartcard Service
  1539.  
  1540.              Candidate interfaces for this component include:
  1541.  
  1542.               - PSM (HP Submission to OSF)
  1543.               - SESAME CSF API
  1544.  
  1545.              Other interfaces which may support some or all of the
  1546.              Virtual Smartcard Service  functionality include:
  1547.  
  1548.               - Microsoft Wallet
  1549.  
  1550.              The APKI working group feels that the Virtual Smartcard
  1551.              Service  interface should be standardized.
  1552.  
  1553.              Additionally, the APKI working group feels that the
  1554.              interface through which software communicates with
  1555.              Hardware Security Tokens should be standardized.  A
  1556.              candidate interface for this functionality is:
  1557.  
  1558.               - RSA PKCS-11
  1559.  
  1560.           Public-Key Delivery and Verification
  1561.  
  1562.  
  1563.  
  1564.           Blakley          Document Expires: May 1997        [Page 27]
  1565.  
  1566.  
  1567.  
  1568.  
  1569.  
  1570.           Internet-Draft              APKI               November 1996
  1571.  
  1572.  
  1573.  
  1574.              Candidate interfaces for this component include:
  1575.  
  1576.               - CMS-API (Nortel)
  1577.               - SESAME PKM-API
  1578.               - NSA CM-API
  1579.               - Nortel CMS-API
  1580.  
  1581.              Other interfaces which may support some or all of the
  1582.              Public-Key Delivery and Verification function include
  1583.  
  1584.               - Microsoft CryptoAPI version 2.0
  1585.               - Intel CDSA
  1586.  
  1587.              The APKI working group feels that the Public-Key Delivery
  1588.              and Verification interface should be standardized.
  1589.  
  1590.           Certificate Management
  1591.  
  1592.              Candidate interfaces for this component include:
  1593.  
  1594.               - Nortel CMS-API
  1595.               - SESAME PKM API
  1596.               - OSF RFC 80 API
  1597.  
  1598.              Other interfaces which may support some or all of the
  1599.              Certificate Management function include
  1600.  
  1601.               - Microsoft CryptoAPI version 2.0
  1602.               - Intel CDSA
  1603.  
  1604.              The APKI working group feels that the following
  1605.              interfaces should be standardized at a minimum:
  1606.  
  1607.               - CA Agent
  1608.               - Local Registration Authority
  1609.  
  1610.              Specification of the Publication Authority interface
  1611.              would also be useful to providers of repositories and
  1612.              communications protocols who wish to make their products
  1613.              available as certificate and CRL transmission media; a
  1614.              standard Publication Authority interface would allow
  1615.              them to provide Publication Authority services without
  1616.              requiring changes to CA Agent code.
  1617.  
  1618.  
  1619.  
  1620.  
  1621.  
  1622.           Blakley          Document Expires: May 1997        [Page 28]
  1623.  
  1624.  
  1625.  
  1626.  
  1627.  
  1628.           Internet-Draft              APKI               November 1996
  1629.  
  1630.  
  1631.  
  1632.           3.3.4  Profiles
  1633.  
  1634.              It is anticipated that multiple  CAs will exist in
  1635.              typical PKI environments; individual  servers may require
  1636.              the use of certificates with specific properties (signing
  1637.              CA, supported extensions, name format, etc...) Profiles
  1638.              for certificate format, contents, extensions, and policy
  1639.              will be needed for  PKI environments of interest,
  1640.              including the Internet, Financial Industry, Credit Card
  1641.              Industry (for use with SET), Government, and Healthcare
  1642.              Industry environments.
  1643.  
  1644.              A draft profile (for the Internet PKI environment) for
  1645.              certificate format, contents, and extensions exists as
  1646.              IETF draft RFC ietf-pkix-ipki-part1-01.txt.   A draft
  1647.              policy profile for the Internet PKI environment is in
  1648.              preparation and will be published as IETF draft RFC
  1649.              ietf-pkix-ipki-part4-01.txt.
  1650.  
  1651.           3.3.5  Negotiation
  1652.  
  1653.              It is not anticipated that any of the Long-Term Key
  1654.              Services components will require negotiation protocols.
  1655.              The Certificate Management interfaces will need to
  1656.              provide a mechanism through which callers can identify
  1657.              which CA should issue certificates and CRLs requested
  1658.              through its interface, in case more than one CA is
  1659.              available.
  1660.  
  1661.              The Virtual Smartcard Service interface will need to
  1662.              support selection of user/principal certificates for
  1663.              environments in which users have more than one
  1664.              certificate.
  1665.  
  1666.           3.4  Protocol Security Services Components
  1667.  
  1668.              Protocol security services are divided into two
  1669.              fundamental classes:
  1670.  
  1671.               - Session-Oriented: security services which require
  1672.                 exploiting entities to maintain security state
  1673.                 information associated with protocol exchanges.
  1674.               - Store & Forward: security services which encapsulate
  1675.                 all required security state information inside the
  1676.                 protected message tokens they generate; these services
  1677.  
  1678.  
  1679.  
  1680.           Blakley          Document Expires: May 1997        [Page 29]
  1681.  
  1682.  
  1683.  
  1684.  
  1685.  
  1686.           Internet-Draft              APKI               November 1996
  1687.  
  1688.  
  1689.  
  1690.                 do not require exploiting entities to maintain
  1691.                 security state information.  Nonrepudiation services
  1692.                 are necessarily store-and-forward services, because
  1693.                 they must allow for "protection" of the
  1694.                 nonrepudiability of a transaction after it has been
  1695.                 completed and its state information destroyed.
  1696.                 Nonrepudiation services are depicted separately from
  1697.                 other store-and-forward protocol security services
  1698.                 because, unlike store-and-forward data privacy and
  1699.                 integrity services, use of Nonrepudiation services
  1700.                 usually requires explicit user action.
  1701.  
  1702.              The following figure illustrates the Protocol Security
  1703.              Services Components.
  1704.  
  1705.                 +--------+    +----------+    +---------------+
  1706.                 |Session-|    | Store &  |    |Non-Repudiation|
  1707.                 |Oriented|    | Forward  |    |Services       |
  1708.                 |Services|    | Services |    +---------------+
  1709.                 +--------+    +----------+
  1710.  
  1711.           3.4.1  Function
  1712.  
  1713.              These components provide security services appropriate
  1714.              for use by designers of protocol stacks.  Specifically,
  1715.              these components:
  1716.  
  1717.               - Provide security mechanism and quality-of-protection
  1718.                 negotiation protocols for use by communication
  1719.                 partners needing to agree on a common security regime
  1720.               - Manage security state information (if any) needed by
  1721.                 protocol partners wishing to set up and maintain
  1722.                 secure associations
  1723.               - Encapsulate data origin authentication, data
  1724.                 protection, and credential and privilege transport
  1725.                 transparently within a single service (Crypto
  1726.                 Services, by contrast, typically provide only data
  1727.                 protection)
  1728.               - Apply security mechanisms based on administered policy
  1729.                 information
  1730.  
  1731.           3.4.2  Protocols
  1732.  
  1733.           Session-Oriented Protocol Security Services
  1734.  
  1735.  
  1736.  
  1737.  
  1738.           Blakley          Document Expires: May 1997        [Page 30]
  1739.  
  1740.  
  1741.  
  1742.  
  1743.  
  1744.           Internet-Draft              APKI               November 1996
  1745.  
  1746.  
  1747.  
  1748.              A wide variety of protocol security services can be used
  1749.              to provide security for session-oriented protocols;
  1750.              examples which are described in existing or proposed
  1751.              Internet standards include the SPKM (which is Public-Key
  1752.              based), Kerberos (which is Secret-Key based), and SESAME
  1753.              (which has Public-Key, Secret-Key, and hybrid variants).
  1754.              Some of these services define their own protocols for
  1755.              run-time access to on-line security servers of a variety
  1756.              of types.  All of them define formats for protected
  1757.              message tokens to be transported by their callers.
  1758.  
  1759.           Store & Forward Protocol Security Services
  1760.  
  1761.              Only a few protocol security services suitable for
  1762.              protection of store & forward protocol messages have been
  1763.              defined.  The IDUP and SESAME services are proposed for
  1764.              Internet standardization.  Both of these services define
  1765.              formats for protected message tokens to be transported by
  1766.              their callers.
  1767.  
  1768.           Notary and Non-Repudiation Services.
  1769.  
  1770.              These services must define formats for Non-Repudiation
  1771.              evidence tokens to be transmitted along with notarized
  1772.              data, and protocols implementing non-repudiable delivery
  1773.              and non-repudiable receipt.
  1774.  
  1775.              The APKI working group feels that multiple protocol
  1776.              security services will continue to be required to meet
  1777.              the needs of diverse environments.  No single standard
  1778.              for Session-Oriented, Store-and-Forward, or
  1779.              Nonrepudiation Protocol Security Services is proposed,
  1780.              therefore.  The Protocol Security Services component
  1781.              interfaces will need to provide negotiation (for
  1782.              environments in which more than one service is
  1783.              available), and Protocol Security Service profiles will
  1784.              have to be established for PKI environments of interest.
  1785.  
  1786.           3.4.3  Interfaces
  1787.  
  1788.              The APKI working group feels that all of the Protocol
  1789.              Security Services interfaces should be standardized.
  1790.  
  1791.              The structure of the Protocol Security Services is
  1792.              illustrated by the following figure.
  1793.  
  1794.  
  1795.  
  1796.           Blakley          Document Expires: May 1997        [Page 31]
  1797.  
  1798.  
  1799.  
  1800.  
  1801.  
  1802.           Internet-Draft              APKI               November 1996
  1803.  
  1804.  
  1805.  
  1806.           +----------+ +-----------+ +----------------+ +---------------+
  1807.           |Privilege,| |Mechanism  | |Session-Oriented| |Store & Forward|
  1808.           |Delegation| |Negotiation| |   Protection   | |   Protection, |
  1809.           |Management| |           | |                | |Non-Repudiation|
  1810.           +----------+ +-----------+ +----------------+ +---------------+
  1811.                  |              |         |        |           |
  1812.                  |           +------------------+  |           |
  1813.                  |           |Context Management|  |           |
  1814.                  |           +------------------+  |           |
  1815.                  |                                 |           |
  1816.                  |                     +--------------------------------+
  1817.                  |                     |       Token Processing         |
  1818.                  |                     +--------------------------------+
  1819.                  |                      |          |           |       |
  1820.              +----------------------------+ +-----------+ +----------+ |
  1821.              |    PAC Generation, Use,    | |Key        | |Dialog Key| |
  1822.              |  Protection, Verification, | |Acquisition| |Generation| |
  1823.              |        Delegation          | |Negotiation| |          | |
  1824.              +----------------------------+ +-----------+ +----------+ |
  1825.                                                    |           |       |
  1826.                                               +-------------------------+
  1827.                                               |    Mechanism Provider   |
  1828.                                               |         Interface       |
  1829.                                               +-------------------------+
  1830.                                                   |      |       |
  1831.                                                +----+ +----+ +------+
  1832.                                                |Kerb| |SPKM| |Sesame|
  1833.                                                +----+ +----+ +------+
  1834.  
  1835.           Session-Oriented Protocol Security Services
  1836.  
  1837.              The preferred interface for these services is GSS-API
  1838.              (IETF RFC 1508).
  1839.  
  1840.           Store & Forward Protocol Security Services
  1841.  
  1842.              The preferred interface for these services is IDUP-GSS-
  1843.              API (IETF CAT draft ietf-cat-idup-gss-api-04.txt).
  1844.  
  1845.           Non-Repudiation Services
  1846.  
  1847.              The preferred interface for these services is IDUP-GSS-
  1848.              API (IETF CAT draft ietf-cat-idup-gss-api-04.txt).
  1849.  
  1850.              In addition to these interfaces, the APKI working group
  1851.  
  1852.  
  1853.  
  1854.           Blakley          Document Expires: May 1997        [Page 32]
  1855.  
  1856.  
  1857.  
  1858.  
  1859.  
  1860.           Internet-Draft              APKI               November 1996
  1861.  
  1862.  
  1863.  
  1864.              feels that interfaces for Protection Mechanism
  1865.              Negotiation and Privilege and Delegation Management
  1866.              should be standardized.  The preferred interfaces for
  1867.              these services are draft-ietf-cat-gss-nego and draft-
  1868.              ietf-cat-xgss, respectively.
  1869.  
  1870.              Other interfaces which may support some or all of the
  1871.              Protocol Security Services functionality include:
  1872.  
  1873.               - Microsoft SSPI
  1874.               - OMG CORBA Security
  1875.               - TIPEM
  1876.               - SHTTP
  1877.  
  1878.           3.4.4  Profiles
  1879.  
  1880.              GSS-API and IDUP-GSS-API are capable of supporting
  1881.              multiple security mechanisms; each API also allows
  1882.              selection of a wide range of qualities of data protection
  1883.              (e.g. strength of supported privacy protection,
  1884.              delegation mode, etc...) for each supported security
  1885.              mechanism.
  1886.  
  1887.              Profiles will have to be developed to describe the set of
  1888.              preferred mechanisms and data protection quality
  1889.              parameters for PKI environments of interest.  The APKI
  1890.              working group is not aware of a draft profile in this
  1891.              area.
  1892.  
  1893.           3.4.5  Negotiation
  1894.  
  1895.              Because they will be deployed in environments which
  1896.              require and provide multiple data protection mechanisms,
  1897.              the Protocol Security Services interfaces will need to
  1898.              support negotiation (of both protection mechanisms to be
  1899.              used and Quality of Protection to be applied).
  1900.  
  1901.              A negotiation mechanism for GSS-API has been proposed and
  1902.              is described in IETF draft ietf-cat-gss-nego-02.txt.
  1903.  
  1904.           3.5  Secure Protocol Components
  1905.  
  1906.              There are many kinds of secure protocols.  Three
  1907.              important categories of secure protocols are:
  1908.  
  1909.  
  1910.  
  1911.  
  1912.           Blakley          Document Expires: May 1997        [Page 33]
  1913.  
  1914.  
  1915.  
  1916.  
  1917.  
  1918.           Internet-Draft              APKI               November 1996
  1919.  
  1920.  
  1921.  
  1922.               - Connection-oriented peer-to-peer: These protocols
  1923.                 allow exactly two partners, each of which must be on-
  1924.                 line, to communicate securely.
  1925.               - Connectionless peer-to-peer: These protocols allow
  1926.                 exactly two partners, one or both of which may be
  1927.                 off-line for some portion of the time interval during
  1928.                 which messages are transmitted, to communicate
  1929.                 securely.
  1930.               - Connectionless multicast: These protocols allow one
  1931.                 entity to communicate simultaneously and securely with
  1932.                 several partners.  Any or all entities may be off-line
  1933.                 for some portion of the time interval during which
  1934.                 messages are transmitted.
  1935.  
  1936.              The following figure illustrates the Secure Protocol
  1937.              Components.
  1938.  
  1939.           +-------------------+ +-------------------+ +-----------------+
  1940.           |Connection-Oriented| |  Connectionless   | |    Multicast    |
  1941.           |   Peer-to-Peer    | |   Peer-to-Peer    | |                 |
  1942.           +-------------------+ +-------------------+ +-----------------+
  1943.  
  1944.           3.5.1  Function
  1945.  
  1946.              Secure protocols provide protected data transfer between
  1947.              communicating partners without requiring any calls to
  1948.              security services.  Applications using secure protocols
  1949.              may have to specify a desired quality of protection
  1950.              before initiating a secure protocol exchange.
  1951.  
  1952.           3.5.2  Protocols
  1953.  
  1954.              Examples of secure protocols include:
  1955.  
  1956.               - Connection-oriented peer-to-peer: Secure RPC, SSL,
  1957.                 SHTTP, OMG SECIOP
  1958.               - Connectionless peer-to-peer: IPSec, secure e-mail
  1959.               - Connectionless multicast: Secure e-mail
  1960.  
  1961.           3.5.3  Interfaces
  1962.  
  1963.              Each secure protocol typically has its own interface.
  1964.  
  1965.  
  1966.  
  1967.  
  1968.  
  1969.  
  1970.           Blakley          Document Expires: May 1997        [Page 34]
  1971.  
  1972.  
  1973.  
  1974.  
  1975.  
  1976.           Internet-Draft              APKI               November 1996
  1977.  
  1978.  
  1979.  
  1980.           3.5.4  Profiles
  1981.  
  1982.              It is not yet clear whether profiles will be established
  1983.              for which Web transaction security protocols (e.g. SHTTP,
  1984.              HTTP-over-GSSAPI, etc...) should be used in which
  1985.              contexts.
  1986.  
  1987.           3.5.5  Negotiation
  1988.  
  1989.              The APKI working group feels that negotiation of secure
  1990.              protocols is outside the scope of the Public-Key (or even
  1991.              Security) Infrastructure effort.
  1992.  
  1993.           3.6  System Security Enabling Components
  1994.  
  1995.              The following figure illustrates the System Security
  1996.              Enabling Components.
  1997.  
  1998.                   +---------+ +--------------+ +------------+
  1999.                   |         | |  Credential  | |  Security  |
  2000.                   |  Logon  | | Acquisition  | |   Context  |
  2001.                   |         | |              | | Management |
  2002.                   +---------+ +--------------+ +------------+
  2003.  
  2004.           3.6.1  Function
  2005.  
  2006.              System functions  (for example, Operating System
  2007.              functions) are needed to support user logon, user
  2008.              credential acquisition, and association of security state
  2009.              information with user processes and threads.  For
  2010.              example, once a user has acquired credentials by
  2011.              authenticating himself to a smartcard, that user's
  2012.              processes should be able to use the smartcard interface
  2013.              to sign data using a private key stored on the smartcard.
  2014.              This will only be possible (and secure) if the system has
  2015.              maintained security state information associating the
  2016.              user's processes with the handle returned when the user
  2017.              authenticated himself to the smartcard.
  2018.  
  2019.              It is not anticipated that the Internet Public-Key
  2020.              infrastructure will define any interfaces, protocols,
  2021.              profiles, or negotiation mechanisms in the area of System
  2022.              Security Enabling Services.
  2023.  
  2024.  
  2025.  
  2026.  
  2027.  
  2028.           Blakley          Document Expires: May 1997        [Page 35]
  2029.  
  2030.  
  2031.  
  2032.  
  2033.  
  2034.           Internet-Draft              APKI               November 1996
  2035.  
  2036.  
  2037.  
  2038.           3.7  Security Policy Services Components
  2039.  
  2040.              The following figure illustrates the Security Policy
  2041.              Service Components.
  2042.  
  2043.                            +----------+ +----------+
  2044.                            | Privilege| |  Access  |
  2045.                            |Services &| |  Control |
  2046.                            |Delegation| |          |
  2047.                            +----------+ +----------+
  2048.                            |User Info |
  2049.                            |Management|
  2050.                            |(Registry)|
  2051.                            +----------+
  2052.  
  2053.           3.7.1  Function
  2054.  
  2055.              Security Policy Services manage information about users'
  2056.              (and other principals') privileges and resource access
  2057.              control policies, and make access control decisions based
  2058.              on that information.
  2059.  
  2060.           3.7.2  Protocols
  2061.  
  2062.              Formats for privilege attribute tokens to be transported
  2063.              within secure protocols will need to be standardized.
  2064.              The most prominent existing privilege attribute format
  2065.              definitions today are those defined by ANSI X9, OSF DCE,
  2066.              SESAME, and the OMG CORBASEC standard.  Privileges could
  2067.              be carried in X.509v3 certificate extensions, or in
  2068.              separate privilege attribute tokens.
  2069.  
  2070.           3.7.3  Interfaces
  2071.  
  2072.              It is not anticipated that the Internet Public-Key
  2073.              Infrastructure will define interfaces to privilege
  2074.              attribute services or access control services.
  2075.  
  2076.           3.7.4  Profiles
  2077.  
  2078.              Interoperation of systems in differing security
  2079.              management domains will require standardization of
  2080.              privilege attribute types and of the semantics of values
  2081.              of those types.  No proposed standard profile for
  2082.              privilege attributes exists today.
  2083.  
  2084.  
  2085.  
  2086.           Blakley          Document Expires: May 1997        [Page 36]
  2087.  
  2088.  
  2089.  
  2090.  
  2091.  
  2092.           Internet-Draft              APKI               November 1996
  2093.  
  2094.  
  2095.  
  2096.           3.7.5  Negotiation
  2097.  
  2098.              <<TBD>>
  2099.  
  2100.           3.8  Supporting Services Components
  2101.  
  2102.              The following figure lists the Supporting Services
  2103.              Components.
  2104.  
  2105.                     +----------+ +---------+ +------------+
  2106.                     | Security | |  Time   | | Directory &|
  2107.                     | Auditing | | Service | |Subscription|
  2108.                     | Service  | |         | |  Services  |
  2109.                     +----------+ +---------+ +------------+
  2110.  
  2111.           3.8.1  Function
  2112.  
  2113.              These components provide functions required by the
  2114.              security services or required for secure operation of a
  2115.              networked system; however they do not enforce security
  2116.              policies.
  2117.  
  2118.           3.8.2  Protocols
  2119.  
  2120.              <<TBD>>
  2121.  
  2122.           3.8.3  Interfaces
  2123.  
  2124.              <<TBD>>
  2125.  
  2126.           3.8.4  Profiles
  2127.  
  2128.              <<TBD>>
  2129.  
  2130.           3.8.5  Negotiation
  2131.  
  2132.              <<Not germane to this document?>>
  2133.  
  2134.  
  2135.           4.  Hardware Security Devices in the Architecture
  2136.  
  2137.              The architecture is intended to support at least two
  2138.              kinds of hardware security devices:
  2139.  
  2140.               - Security Tokens
  2141.  
  2142.  
  2143.  
  2144.           Blakley          Document Expires: May 1997        [Page 37]
  2145.  
  2146.  
  2147.  
  2148.  
  2149.  
  2150.           Internet-Draft              APKI               November 1996
  2151.  
  2152.  
  2153.  
  2154.                 This class of devices includes smartcards, memory
  2155.                 cards, time-synchronized tokens, and challenge-
  2156.                 response tokens.  These devices may provide crypto
  2157.                 primitives and services, Virtual Smartcard services,
  2158.                 and authentication functions.
  2159.  
  2160.                 Smartcards are assumed by the architecture to provide
  2161.                 Virtual Smartcard Services. They will also frequently
  2162.                 also provide at least the "Key Activation" and
  2163.                 "Signing" components of Crypto Services; they may also
  2164.                 provide other Crypto Services.
  2165.  
  2166.                 Memory cards provide only storage; Virtual Smartcard
  2167.                 services involving state maintenance (e.g. key
  2168.                 activation) or cryptography will have to be provided
  2169.                 by the memory card's software drivers.  The figure
  2170.                 below illustrates how smartcards and memory cards can
  2171.                 be used to support the Virtual Smartcard services:
  2172.  
  2173.                      +------------------------------------+
  2174.                      |     Virtual Smartcard Interface    |
  2175.                      +------------------------------------+
  2176.                        |           |                 |
  2177.                        |   +---------------+  +-----------+
  2178.                        |   |Memory Card    |  |           |
  2179.                        |   |Personal Crypto|  |           |
  2180.                        |   |Module         |  | Software  |
  2181.                        |   +---------------+  | Personal  |
  2182.                        |         |        |   | Security  |
  2183.                      +-----------------+  |   |  Module   |
  2184.                      | Security Card   |  |   |           |
  2185.                      | Access Interface|  |   |           |
  2186.                      +-----------------+  |   |           |
  2187.                          |         |      |   |           |
  2188.                      +-------+  +------+  |   |           |
  2189.                      | Smart |  |Memory|  |   +-----------+
  2190.                      | Card  |  | Card |  |          |
  2191.                      +- - - -+  +------+ +----------------+
  2192.                      | Crypto|           | Cryptographic  |
  2193.                      | Funcs |           |   Services     |
  2194.                      +-------+           +----------------+
  2195.  
  2196.  
  2197.                 Time-synchronized and challenge-response tokens
  2198.                 provide only authentication functionality, and will
  2199.  
  2200.  
  2201.  
  2202.           Blakley          Document Expires: May 1997        [Page 38]
  2203.  
  2204.  
  2205.  
  2206.  
  2207.  
  2208.           Internet-Draft              APKI               November 1996
  2209.  
  2210.  
  2211.  
  2212.                 typically be integrated into the architecture through
  2213.                 modifications to the System Security Enabling Services
  2214.                 (particularly the "Logon" and "Obtain Credentials"
  2215.                 components of those services).
  2216.  
  2217.               - Cryptographic Modules
  2218.  
  2219.                 This class of devices includes chipsets, bus-connected
  2220.                 cryptographic adaptors, and remote cryptographic
  2221.                 servers providing crypto primitives and services, but
  2222.                 not providing user authentication functions.
  2223.  
  2224.                 Cryptographic modules are assumed by the architecture
  2225.                 to provide the full range of Crypto Services (and they
  2226.                 may provide direct access to some Crypto Primitives
  2227.                 for the convenience of designers of new Crypto
  2228.                 Services).
  2229.  
  2230.  
  2231.           5.  Relationship to Other Standards and Architectures
  2232.  
  2233.  
  2234.           5.1  ISO 7498-2
  2235.  
  2236.              <<TBD>>
  2237.  
  2238.           5.2  IETF IPKI Drafts
  2239.  
  2240.              This document anticipates adoption (mutatis mutandis) of
  2241.              the four IPKI drafts as Internet RFCs, and seeks to
  2242.              define the larger architectural context into which those
  2243.              drafts fit.
  2244.  
  2245.           5.3  X/Open XDSF
  2246.  
  2247.              <<TBD>>
  2248.  
  2249.           5.4  ECMA TR-46
  2250.  
  2251.              <<TBD>>
  2252.  
  2253.           5.5  RSA PKCS Standards
  2254.  
  2255.              This architecture assumes support for the following PCKS
  2256.              standards:  Cryptographic message syntax; signature
  2257.  
  2258.  
  2259.  
  2260.           Blakley          Document Expires: May 1997        [Page 39]
  2261.  
  2262.  
  2263.  
  2264.  
  2265.  
  2266.           Internet-Draft              APKI               November 1996
  2267.  
  2268.  
  2269.  
  2270.              formats (PCKS-7) Smartcard function access (PKCS-11)
  2271.  
  2272.  
  2273.           6.  Example Applications of the Architecture
  2274.  
  2275.              <<This section TBD by various people>>
  2276.  
  2277.           6.1  OSF DCE 1.1
  2278.  
  2279.           6.2  SESAME
  2280.  
  2281.           6.3  Nortel Entrust
  2282.  
  2283.           6.4  OMG CORBA
  2284.  
  2285.           6.5  Lotus Notes
  2286.  
  2287.           6.6  Novell Netware
  2288.  
  2289.  
  2290.           7.  Glossary
  2291.              <<TBD>> Notes:
  2292.  
  2293.             1.  We use "confidentiality" and "privacy"
  2294.                 interchangeably.
  2295.             2.  "Secret-key cryptography" is used to mean cryptography
  2296.                 using a symmetric-key algorithm; "public-key"
  2297.                 cryptography has the usual meaning; "private key" is
  2298.                 used only to describe the private (secret) half of a
  2299.                 key-pair generated for use with a public-key
  2300.                 cryptographic system.
  2301.  
  2302.  
  2303.           8.  Security Considerations
  2304.  
  2305.              Security issues are discussed throughout this document.
  2306.  
  2307.  
  2308.           9.  References
  2309.  
  2310.              [1] draft-ietf-pkix-ipki-part1-00.txt.
  2311.  
  2312.              This document describes profiles for use of X.509
  2313.              certificates and certificate revocation lists (CRLs) and
  2314.              their respective extension fields in the Internet
  2315.  
  2316.  
  2317.  
  2318.           Blakley          Document Expires: May 1997        [Page 40]
  2319.  
  2320.  
  2321.  
  2322.  
  2323.  
  2324.           Internet-Draft              APKI               November 1996
  2325.  
  2326.  
  2327.  
  2328.              environment
  2329.  
  2330.              [2] draft-ietf-pkix-ipki-part3-00.txt.
  2331.  
  2332.              This document describes protocols for certificate
  2333.              management in the Internet environment
  2334.  
  2335.              [3] Internet RFC 1508.
  2336.  
  2337.              This document describes the GSS-API interface, which
  2338.              provides integrity and privacy services for session-
  2339.              oriented messages
  2340.  
  2341.              [4] draft-ietf-wts-gssapi-00.txt.
  2342.  
  2343.              This document describes how to use GSS-API to protect Web
  2344.              transactions (HTTP protocol exchanges, in particular)
  2345.  
  2346.              [5] draft-ietf-cat-idup-gss-04.txt.
  2347.  
  2348.              This document describes the IDUP-GSS-API interface, which
  2349.              provides integrity and privacy services for store-and-
  2350.              forward messages, and non-repudiation services.
  2351.  
  2352.              [6] draft-ietf-cat-spkmgss-06.txt.
  2353.  
  2354.              This document describes how to use the SPKM protocol
  2355.              under a GSS-API interface
  2356.  
  2357.              [7] draft-ietf-cat-sesamemech-00.txt.
  2358.  
  2359.              This document describes the use of the SESAME protocols
  2360.              under a GSS-API interface.
  2361.  
  2362.              [8] draft-ietf-cat-snego-01.txt.
  2363.  
  2364.              This document describes a proposed mechanism negotiation
  2365.              preamble protocol for use by protocol partners wishing to
  2366.              use GSS-API to establish a secure association.
  2367.  
  2368.              [9] X/Open Distributed Security Framework.
  2369.  
  2370.              [10] ISO 7498-2 "Information processing systems - Open
  2371.              Systems Interconnection - Basic Reference Model - Part 2:
  2372.              Security Architecture".
  2373.  
  2374.  
  2375.  
  2376.           Blakley          Document Expires: May 1997        [Page 41]
  2377.  
  2378.  
  2379.  
  2380.  
  2381.  
  2382.           Internet-Draft              APKI               November 1996
  2383.  
  2384.  
  2385.  
  2386.              [11] ECMA TR/46 "Security in Open Systems: A Security
  2387.              Framework".
  2388.  
  2389.              [12] The SSL Protocol v3.
  2390.  
  2391.              Describes version 3 of the SSL protocol; available from
  2392.              Netscape Web site
  2393.  
  2394.  
  2395.  
  2396.  
  2397.  
  2398.  
  2399.  
  2400.  
  2401.  
  2402.  
  2403.  
  2404.  
  2405.  
  2406.  
  2407.  
  2408.  
  2409.  
  2410.  
  2411.  
  2412.  
  2413.  
  2414.  
  2415.  
  2416.  
  2417.  
  2418.  
  2419.  
  2420.  
  2421.  
  2422.  
  2423.  
  2424.  
  2425.  
  2426.  
  2427.  
  2428.  
  2429.  
  2430.  
  2431.  
  2432.  
  2433.  
  2434.           Blakley          Document Expires: May 1997        [Page 42]
  2435.  
  2436.  
  2437.  
  2438.  
  2439.  
  2440.           Internet-Draft              APKI               November 1996
  2441.  
  2442.  
  2443.  
  2444.           AUTHOR'S ADDRESS
  2445.              Bob Blakley
  2446.              IBM
  2447.              Mail Stop 9132
  2448.              11400 Burnet Road
  2449.              Austin, TX  78758 USA
  2450.  
  2451.              Phone: +1 512 838 8133
  2452.              FAX  : +1 512 838 0156
  2453.  
  2454.              email: blakley@vnet.ibm.com
  2455.  
  2456.  
  2457.  
  2458.  
  2459.  
  2460.  
  2461.  
  2462.  
  2463.  
  2464.  
  2465.  
  2466.  
  2467.  
  2468.  
  2469.  
  2470.  
  2471.  
  2472.  
  2473.  
  2474.  
  2475.  
  2476.  
  2477.  
  2478.  
  2479.  
  2480.  
  2481.  
  2482.  
  2483.  
  2484.  
  2485.  
  2486.  
  2487.  
  2488.  
  2489.  
  2490.  
  2491.  
  2492.           Blakley          Document Expires: May 1997        [Page 43]
  2493.  
  2494.  
  2495.  
  2496.