home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft__misc / cy < prev    next >
Internet Message Format  |  1997-07-30  |  22KB

  1. Received: from gatekeeper.entrust.com by ietf.org id aa13147;
  2.           29 Jul 97 13:20 EDT
  3. Received: tid NAA07334; Tue, 29 Jul 1997 13:12:41 -0400
  4. Received: by mail.entrust.com with SMTP (Microsoft Exchange Server Internet Mail Connector Version 4.0.993.5)
  5.     id <01BC9C20.DD7B8EC0@mail.entrust.com>; Tue, 29 Jul 1997 13:11:02 -0400
  6. Message-ID: <c=CA%a=_%p=NorTel_Secure_Ne%l=APOLLO-970729171101Z-766@mail.entrust.com>
  7. From: Carlisle Adams <Cadams@entrust.com>
  8. To: "'Internet-Drafts@ietf.org'" <Internet-Drafts@ietf.org>
  9. Subject: Another Submission...
  10. Date: Tue, 29 Jul 1997 13:11:01 -0400
  11. X-Mailer:  Microsoft Exchange Server Internet Mail Connector Version 4.0.993.5
  12. MIME-Version: 1.0
  13. Content-Type: multipart/mixed; boundary="---- =_NextPart_000_01BC9C20.DD7DD8B0"
  14.  
  15. This message is in MIME format. Since your mail reader does not understand
  16. this format, some or all of this message may not be legible.
  17.  
  18. ------ =_NextPart_000_01BC9C20.DD7DD8B0
  19. Content-Type: text/plain; charset="us-ascii"
  20. Content-Transfer-Encoding: 7bit
  21.  
  22. >Hello,
  23. >
  24. >Attached is an internet draft entitled "draft-ietf-pkix-ipki6np-00.txt".
  25. >
  26. >Please do not hesitate to contact me if you need anything further or if you
  27. >have trouble extracting the submission from this e-mail.
  28.  
  29.  
  30.  
  31.  
  32.  
  33. --------------------------------------------
  34. Carlisle Adams
  35. Entrust Technologies
  36. cadams@entrust.com
  37. --------------------------------------------
  38.  
  39.  
  40.  
  41.  
  42. ------ =_NextPart_000_01BC9C20.DD7DD8B0
  43. Content-Type: text/plain; name="Pkix6.txt"
  44. Content-Transfer-Encoding: quoted-printable
  45.  
  46. PKIX Working Group                        C. Adams(Entrust Technologies)
  47. Internet Draft                       R. Zuccherato(Entrust Technologies)
  48. expires in six months                                      July 29, 1997
  49.  
  50.  
  51.  
  52.                      Internet Public Key Infrastructure
  53. =20
  54.                           Part VI: Notary Protocols=20
  55.  
  56.                       <draft-ietf-pkix-ipki6np-00.txt>
  57.  
  58.  
  59. Status of this Memo
  60.  
  61. This document is an Internet-Draft.  Internet-Drafts are working
  62. documents of the Internet Engineering Task Force (IETF), its areas,
  63. and its working groups.  Note that other groups may also distribute
  64. working documents as Internet-Drafts.
  65.  
  66. Internet-Drafts are draft documents valid for a maximum of six months
  67. and may be updated, replaced, or obsoleted by other documents at any
  68. time.  It is inappropriate to use Internet-Drafts as reference
  69. material or to cite them other than as "work in progress."
  70.  
  71. To learn the current status of any Internet-Draft, please check the
  72. "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow
  73. Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
  74. munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
  75. ftp.isi.edu (US West Coast).
  76.  
  77. Abstract
  78.  
  79. This document describes a general notary service and the protocols to
  80. be used when communicating with it.  The Notary Authority is a Trusted=20
  81. Third Party (TTP) that can be used as one component in building reliable =
  82.  
  83. non-repudiation services (see [ISONR]).  We also give an example of how=20
  84. to use the notary to extend the lifetime of a signature beyond key=20
  85. expiry or revocation.
  86.  
  87. 1. Introduction
  88.  
  89. A Notary Authority (NA) is a Trusted Third Party that verifies=20
  90. correctness of specific data submitted to it.  The Notary Authority=20
  91. provides the notary service in order that non-repudiation evidence may=20
  92. be constructed relating to the validity and correctness of an entity's=20
  93. claim to possess data and/or the validity and correctness of various
  94. types of data at a particular instant in time.  When notarizing=20
  95. possession of data, the NA verifies the mathematical correctness of the=20
  96. actual signature value contained in the request and also checks the full =
  97.  
  98. certification path from the signing entity to a trusted point (e.g., the =
  99.  
  100. NA's CA, or the root CA in a hierarchy) along with all relevant CRLs and =
  101.  
  102. ARLs (Authority Revocation Lists).  It then includes a trusted time and=20
  103. creates a notary token.
  104.  
  105.  
  106.  
  107. Document Expiration:  Jan. 29, 1998                               Page 1
  108.  
  109. When notarizing data, the NA verifies the correctness of the data and=20
  110. creates a notary token.  In this case, however, data "correctness" is=20
  111. not as focused in scope as signature correctness; the particular
  112. definition to be applied is therefore necessarily policy- and datatype-
  113. dependent.  For example, the data may itself contain one or more=20
  114. signatures (where "correctness" relates to the validity of these=20
  115. signatures), or it may contain assertions (where "correctness" relates=20
  116. to the truth value of these statements), or it may contain a contract=20
  117. (where "correctness" relates to the legal validity of the document).
  118.  
  119. In all cases, the trust that PKI entities have in the Notary Authority=20
  120. is transferred to the contents of the notary token (just as trust in a=20
  121. CA is transferred to the certificates that it issues).  As a particular=20
  122. example, a notary token pertaining to a signature may be useful for=20
  123. extending the life of that signature beyond the expiry or subsequent=20
  124. revocation of its corresponding verification certificate.
  125.  
  126. 2. Requirements of the Notary Authority
  127.  
  128. The Notary Authority is required to:
  129.  
  130.      1. verify the correctness of the enclosed digital signature using=20
  131.         all available and appropriate CRLs, ARLs, and public key=20
  132.         certificates and produce a signed notary token attesting to the=20
  133.         validity of the signature, if asked by the requester.
  134.      2. verify the correctness of the enclosed data with respect to=20
  135.         explicitly stated policies using all available and appropriate=20
  136.         resources and produce a signed notary token attesting to the   =20
  137.         validity of the data, if asked by the requester.
  138.      3. include a monotonically incrementing value of the time of day=20
  139.         or a time stamp token into its notary token.
  140.      4. include within each signed notary token an identifier to=20
  141.         uniquely determine the trust and validation policy used for its
  142.         signature.
  143.      5. indicate in the token whether or not the signature or data
  144.         verified, and if not, the reason the verification failed.
  145.      6. provide a signed receipt (i.e. in the form of an appropriately
  146.         defined notary token) to the requester, where appropriate, as
  147.         defined by policy.
  148.  
  149. 3. Notary Transactions
  150.  
  151. As the first transaction of this mechanism, the requesting entity=20
  152. requests a notarization by sending a request (which is or includes a=20
  153. TimeStampReq, as defined below) including the data for which validity=20
  154. and/or possession is to be notarized to the Notary Authority.  Upon=20
  155. receiving the request, the Notary Authority reviews and checks the=20
  156. validity of the request.  If the request is valid, the Notary Authority=20
  157. performs the notarization and sends a response (which is or includes a=20
  158. TimeStampToken, as defined below) to the requesting entity.  Otherwise,=20
  159. the Notary Authority returns an error message (in the form of an=20
  160. appropriately defined notary token).
  161.  
  162. Upon receiving the token, the requesting entity verifies its validity.
  163. The requester should verify that it contains the correct time, the=20
  164. correct name for the NA, the correct data imprint, a valid signature,=20
  165.  
  166. Document Expiration:  Jan. 29, 1998                               Page 2
  167.  
  168. and satisfactory status, service and policy fields.  The token can now=20
  169. be used to authenticate the correctness or possession of the data.
  170.  
  171. 4. Request and Token Formats
  172.  
  173. The ServiceType type indicates which type of Notary Service is required.
  174.  
  175. ServiceType ::=3D INTEGER  { npd(1), nd(2), nb(3) }
  176.  
  177. The value npd (Notarize Possession of Data) is used when only the=20
  178. signature on the NotaryReq (i.e., possession of the data in the request) =
  179.  
  180. is to be verified.  In this case the Notary Authority would be merely=20
  181. providing evidence that the requester possessed the data in the request=20
  182. and a valid signature key at the time indicated.  This is really an=20
  183. extension of the Time Stamp Authority in that we are given the=20
  184. additional assurance about the validity of the signature, as well as the =
  185.  
  186. time before which it was applied.  The value nd (Notarize Data) is used=20
  187. when only the data included in NotaryReqInfo is to be verified.  This=20
  188. verification may mean verifying a digital signature contained in the=20
  189. data, verifying the correctness of the data, or verifying the intent of=20
  190. parties to a contract contained in the data, for example.  The exact=20
  191. interpretation of this service must be clearly indicated in the NA=92s=20
  192. policy statement, but is implementation and policy dependent, and thus=20
  193. beyond the scope of this document.  The value nb (Notarize Both) is used =
  194.  
  195. when both the signature and data are to be verified.  A given NA may=20
  196. support any subset of the above services.
  197.  
  198. A notary request is as follows.
  199.  
  200. NotaryReq ::=3D SEQUENCE  {
  201.      notaryReqData                NotaryReqData,
  202.      signature                    BIT STRING OPTIONAL
  203.        --over the ASN.1 DER encoding of NotaryReqInfo, must be present
  204.        --if the service field of NotaryReqInfo is npd or nb  =20
  205. }
  206.  
  207. The data and information that will be notarized is contained in the=20
  208. notaryReqData field.
  209.  
  210. NotaryReqData ::=3D SEQUENCE  {
  211.      notaryReqInfo                NotaryReqInfo,
  212.      data                         Data
  213.        --the data to be notarized
  214.        --this field must be of type Message if the service type is nd=20
  215.        --or nb             =20
  216. }
  217.  
  218. The notaryReqInfo field contains information pertaining to the notary=20
  219. request.
  220.  
  221. NotaryReqInfo ::=3D SEQUENCE  {
  222.      service                      ServiceType,
  223.      requester                    GeneralName OPTIONAL,
  224.       --must be present if the service field is npd or nb
  225.     =20
  226.  
  227.  
  228. Document Expiration:  Jan. 29, 1998                               Page 3
  229.  
  230.      signatureAlgorithm           AlgorithmIdentifier,
  231.       --must be present if the service field of NotaryReqInfo is=20
  232.       --npd or nb
  233.      certs                        SEQUENCE OF Certificate OPTIONAL,
  234.      reqPolicy                    PolicyInformation OPTIONAL,
  235.      notary                       GeneralName,
  236.      reqTime                      TimeStampToken OPTIONAL   }
  237.  
  238. In situations where the Notary Authority will verify the identity of the
  239. requester (i.e., when the service field is npd or nb), the notary=20
  240. request must be signed by the requester using the signature field.
  241.  
  242. Similarly, in situations where the Notary Authority will certify the=20
  243. time included in the request (i.e., when stipulated by the policy of the =
  244.  
  245. Notary Authority), the notary request must include the reqTime field in=20
  246. NotaryReqInfo. TimeStampToken is defined in Section 4 of PKIX Part 5=20
  247. [PKIX5].
  248.  
  249. PolicyInformation is defined in Section 4.2.1.5 of PKIX Part 1 [PKIX1].
  250. The reqPolicy field should indicate the policy under which the=20
  251. notarization is requested.  This field must be checked by the NA to=20
  252. verify agreement with its own policy.
  253.  
  254. The Data type is defined to be either the message itself or a hash of=20
  255. the message.  This allows a signature indicating possession of private=20
  256. data to be notarized.
  257.  
  258. Data ::=3D CHOICE  {
  259.      message                     Message,
  260.      messageimprint              MessageImprint  }
  261.  
  262. In order to specify the format (i.e. the type) of the message so that
  263. it may be parsed and understood by the NA or any verifying entity, we=20
  264. define the Message data type.
  265.  
  266. Message ::=3D SEQUENCE  {
  267.      format                       MESSAGECLASS.&id,   --objid
  268.      rawdata                      MESSAGECLASS.&Type  --open type =20
  269. }
  270.  
  271. MESSAGECLASS ::=3D CLASS  {
  272.      &id                          OBJECT IDENTIFIER UNIQUE,
  273.      &Type                                                    }
  274. WITH SYNTAX  { &Type IDENTIFIED BY &id }
  275.  
  276. If the requester prefers to send a hash of the message instead, the
  277. MessageImprint data type should be used.
  278.  
  279. MessageImprint ::=3D SEQUENCE  {
  280.      hashAlgorithm                AlgorithmIdentifier,
  281.      hashedMessage                OCTET STRING  }
  282.  
  283. The hash algorithm indicated in the hashAlgorithm field should be a=20
  284. =93strong=94 hash algorithm (that is, it should be one-way and collision =
  285.  
  286. resistant).  It is up to the Notary Authority to decide whether or not=20
  287. the given hash algorithm is sufficiently =93strong=94.
  288.  
  289. Document Expiration:  Jan. 29, 1998                               Page 4
  290.  
  291. The hashedMessage field should contain the hash of the DER encoding of
  292. the message expressed as a Message data type.  The hash is represented=20
  293. as an OCTET STRING.
  294.  
  295. A notary token is as follows. =20
  296.  
  297. NotaryToken ::=3D SEQUENCE  {
  298.      notaryInfo                   NotaryInfo,
  299.      signature                    BIT STRING,
  300.       --over the ASN.1 DER encoding of NotaryInfo =20
  301. }
  302.  
  303. NotaryInfo ::=3D SEQUENCE  {
  304.      notaryReqInfo                NotaryReqInfo,
  305.        --must be the same value as the notaryReqInfo field in=20
  306.        --NotaryReqData
  307.      messageImprint               MessageImprint,
  308.        --if the data field in NotaryReqData is MessageImprint, this
  309.        --must contain that same value, otherwise it contains a hash of
  310.        --the data field in NotaryReqData using the hash algorithm
  311.        --specified in the signatureAlgorithm parameter=20
  312.      signature                    BIT STRING OPTIONAL,
  313.        --must be present if service field of notaryReqInfo is npd or nb
  314.        --must be the same value as the signature field in NotaryReq
  315.      policy                       PolicyInformation,
  316.      status                       PKIStatusInfo,
  317.      time                         NotaryTime,=20
  318.      signatureAlgorithm           AlgorithmIdentifier, =20
  319.      certId                       CertId,
  320.        --must refer to the NA=92s public verification certificate
  321.      certs                        SEQUENCE OF Certificate OPTIONAL,=20
  322.        --if present, must indicate the chain of trust used to verify the =
  323.  
  324.        --signature=20
  325.      crls                         SEQUENCE OF CertificateList OPTIONAL=20
  326.    }
  327.  
  328. NotaryTime ::=3D CHOICE  {
  329.      genTime                      GeneralizedTime,
  330.      timeStampToken               TimeStampToken   }
  331.  
  332. PKIStatusInfo is defined in Section 3.2.3 of PKIX Part 3 [PKIX3].  If
  333. the PKIStatus field has value =91waiting=92 (3), then this token is a=20
  334. receipt, as defined in Section 2.  Otherwise, the status field is=20
  335. present to indicate whether or not the notary request was fulfilled and, =
  336.  
  337. if not, the reason it was rejected.  A valid NotaryToken will have a=20
  338. PKIStatus field with value =91granted=92 (0).
  339.  
  340. CertId is defined in Section 3.2.4 of PKIX Part 3 [PKIX3].
  341.  
  342. The crls field (if present) should contain a sequence of certificate and
  343. authority revocation lists that is sufficient to verify the chain of=20
  344. trust indicated in the certs field.
  345. =20
  346. The signature, certs and crls fields are included as OPTIONAL.  They=20
  347. should be present, when policy dictates, for use as supplementary=20
  348. evidence when resolving possible disputes.  Dispute resolution would=20
  349.  
  350. Document Expiration:  Jan. 29, 1998                               Page 5
  351.  
  352. most likely be handled by one or more humans, in an off-line=20
  353. environment, and is beyond the scope of this document.
  354.  
  355. 6. Notary Protocol Using Email
  356.  
  357. This section specifies a means for conveying ASN.1-encoded messages=20
  358. for the protocol exchanges described in Section 4 via Internet mail.=20
  359.  
  360. A simple MIME object is specified as follows.
  361.  
  362.    Content-Type: application/x-pkix6
  363.    Content-Transfer-Encoding: base64
  364.  
  365.    <<the ASN.1 DER-encoded PKIX-6 message, base64-encoded>>
  366.  
  367. This MIME object can be sent and received using MIME processing engines=20
  368. and provides a simple Internet mail transport for PKIX-6 messages.
  369.  
  370. 7. Security Considerations
  371.  
  372. When designing a notary service, the following considerations have been
  373. identified that have an impact upon the validity or =93trust=94 in the=20
  374. notary token.
  375.  
  376.      1. The requester=92s key is compromised and the corresponding=20
  377.         certificate is revoked before the notary acts upon the request.=20
  378.         The notary is required to validate appropriate information=20
  379.         within the request before it constructs the notary token.  It is =
  380.  
  381.         therefore mandated that the NA have access to current
  382.         information regarding certificate status.  In this situation,=20
  383.         the notarization would not occur.
  384.  
  385.      2. The requester=92s key is compromised and the corresponding=20
  386.         certificate is revoked after the notary acts upon the request.=20
  387.         This is not a concern to the NA once the notary has constructed=20
  388.         the token, as long as the compromise date in the CRL is not=20
  389.         before the time of notarization.  If it is, this situation=20
  390.         would have to be handled by off-line, possibly human-aided,=20
  391.         means specific to the situation at hand.
  392.  
  393. 3.  The notary=92s private key is compromised and the corresponding=20
  394.         certificate is revoked.  In this case, any token signed by the=20
  395.         notary cannot be trusted.  For this reason, it is imperative=20
  396.         that the notary=92s key be guarded with proper security and=20
  397.         controls in order to minimize the possibility of compromise. =20
  398.         Nevertheless, in case the private key does become compromised,=20
  399.         an audit trail of all the tokens generated by the NA should be=20
  400.         kept as a means to help discriminate between genuine and false=20
  401.         tokens. =20
  402.  
  403.      4. The NA signing key must be of a sufficient length to allow for=20
  404.         a sufficiently long lifetime.  Even if this is done, the key=20
  405.         will have a finite lifetime.  Thus, any token signed by the NA=20
  406.         should be time stamped again at a later date to renew the trust=20
  407.         that exists in the NA=92s signature.=20
  408.  
  409.  
  410. Document Expiration:  Jan. 29, 1998                               Page 6
  411.  
  412.  8. References
  413.  
  414. [ISONR] ISO/IEC 10181-5:  Security Frameworks in Open Systems. =20
  415. Non-Repudiation Framework.
  416.  
  417. [PKIX1] R. Housley, W. Ford, W. Polk, D. Solo, =93Internet Public Key
  418. Infrastructure, Part I:  X.509 Certificate and CRL Profile,=94 draft-
  419. ietf-pkix-ipki-part1-0X.txt, 1997 (work in progress).
  420.  
  421. [PKIX3] C. Adams, S. Farrell, =93Internet Public Key Infrastructure, =
  422. Part
  423. III:  Certificate Management Protocols,=94 draft-ietf-pkix-ipki3cmp-
  424. 0X.txt, 1997 (work in progress).
  425.  
  426. [PKIX5] C. Adams, P. Cain, D. Pinkas, R. Zuccherato, =93Internet Public=20
  427. Key Infrastructure, Part V:  Time Stamp Protocols,=94 draft-ietf-pkix-
  428. ipki5tsp-00.txt, 1997 (work in progress).
  429.  
  430. 9. Authors=92 Addresses
  431.  
  432. Carlisle Adams
  433. Entrust Technologies
  434. 750 Heron Road, Suite 800
  435. Ottawa, Ontario
  436. K1V 1A7
  437. CANADA
  438. cadams@entrust.com
  439.  
  440. Robert Zuccherato
  441. Entrust Technologies
  442. 750 Heron Road, Suite 800
  443. Ottawa, Ontario
  444. K1V 1A7
  445. CANADA
  446. robert.zuccherato@entrust.com
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.  
  470. Document Expiration:  Jan. 29, 1998                               Page 7
  471.  
  472. APPENDIX A - Storage of Data and Token
  473.  
  474. A notary token is useless without the data to which it applies.  For
  475. this reason tokens and their related data must be securely stored=20
  476. together.  The change of a single bit in either the data or the token=20
  477. renders the entire notarization process for that data meaningless. =20
  478. Storage of tokens and data in a secure (e.g., tamper proof) environment=20
  479. is strongly recommended.
  480.  
  481. When data and notary tokens are stored together, the following ASN.1
  482. data type may be used.
  483.  
  484. DataAndToken ::=3D SEQUENCE  {
  485.      message                      Message,
  486.      notaryToken                  NotaryToken  }
  487.  
  488. Note that this object does not need to be signed, as the notary token=20
  489. already verifies the signature on the message.  Any supplementary=20
  490. information whose integrity needs to be protected should be part of =20
  491. the message or token.
  492.  
  493. APPENDIX B - Extending the Life of a Signature
  494.  
  495. We present an example of a possible use of this general notary service.=20
  496. It produces a stand-alone token that can be used to extend the life of a =
  497.  
  498. signature.  This example assumes that we have total trust in the Notary=20
  499. Authority.
  500.  
  501. Signature algorithms and keys have a definite lifetime.  Therefore,=20
  502. signatures have a definite lifetime.  The Notary Authority can be used=20
  503. to extend the lifetime of a signature.
  504.  
  505. In order to extend the lifetime of a signature in this way, the=20
  506. following technique may be used.
  507.  
  508. A) The signature needs to be notarized.
  509.  
  510.      1) The signed message is presented to the Notary in the data=20
  511.         field of NotaryReqInfo under service type nd and an appropriate
  512.         policy.
  513.  
  514.      2) The Notary verifies that the signature and verification key are
  515.         valid at that time by checking expiry dates, CRLs and ARLs, and=20
  516.         returns a NotaryToken.
  517.  
  518. B)  The notarized signature must be verified.
  519.  
  520.      1) The signature of the Notary in NotaryToken shall be verified
  521.         using the Notary=92s valid verification key.
  522.  
  523. In this situation the signer=92s signing key (and therefore, its=20
  524. signature) is only valid until some specified time T1.  The NA=92s=20
  525. signing key (and therefore, its signature) is valid until some specified
  526. time T2 that is (usually) after time T1.  Without notarization, the=20
  527. signer=92s signature would only be valid until time T1.  With=20
  528. notarization, the signer=92s signature remains valid until time T2,
  529.  
  530. Document Expiration:  Jan. 29, 1998                               Page 8
  531.  
  532. regardless of subsequent revocation or expiry at time T1.
  533.  
  534. If the signature of the NA is valid, the trust we have in the NA allows=20
  535. us to conclude that the original signature on the data was valid at=20
  536. the time included in the notaryInfo field of the NotaryToken.  Notice=20
  537. that in this example the validity of the original signature can be=20
  538. confirmed from the verification of one signature (the NA=92s) instead of =
  539.  
  540. two signatures (the Time Stamp Authority=92s and the original), but at =
  541. the=20
  542. cost of putting more trust in the Trusted Third Party.
  543.  
  544.  
  545.  
  546.  
  547.  
  548.  
  549.  
  550.  
  551.  
  552.  
  553.  
  554.  
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562.  
  563.  
  564.  
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591. Document Expiration:  Jan. 29, 1998                               Page 9
  592.  
  593.  
  594. ------ =_NextPart_000_01BC9C20.DD7DD8B0--
  595.