home *** CD-ROM | disk | FTP | other *** search
/ ftp.rsa.com / 2014.05.ftp.rsa.com.tar / ftp.rsa.com / pub / pkcs / 98workshop / summary.txt < prev   
Text File  |  2014-05-02  |  18KB  |  430 lines

  1.  
  2.  
  3.          Meeting minutes from the 1998 PKCS Workshop
  4.                 San Mateo, CA
  5.  
  6.  
  7. PKCS #1: RSA Cryptography Standard
  8.  
  9.   Jessica Staddon (RSA Laboratories) presented the PKCS #1 v2 document and
  10. Mihir Bellare (UC Davis) described the PSS signature scheme of which he is a
  11. co-inventor.
  12.  
  13.   General consensus was as follows:
  14.  
  15.     * Document is acceptable, though some simplification of the text may be
  16. helpful, and a second mask generation function based on HMAC would be
  17. useful.
  18.  
  19.     * For signature schemes with appendix, PSS is preferred, provided that
  20. licensing fee is nominal (e.g., < $500 for handling). FDH is an alternative.
  21. There was no significant interest in X9.31 signatures as part of PKCS.
  22.  
  23.     * For PSS, some further technical work is needed, such as how to include
  24. an algorithm ID in the RSA input (this could be a general way to include
  25. additional parameters). Also, a construction where hashing is deterministic,
  26. and recommendation for deterministic generation of the seed. 
  27.  
  28.     * No significant interest in signature schemes with message recovery,
  29. enhanced encryption schemes, or key validation methods at this point.
  30. Possible interest in a specifying a key wrapping mechanism based on the
  31. encryption schemes.
  32.  
  33.     * A companion document giving usage guidance is recommended. It would
  34. cover issues such as key size, public exponent, key generation, typical
  35. protocols, and variants such as multiple prime factors or prime factors of
  36. different lengths. This could be updated more frequently than PKCS #1
  37. itself.
  38.  
  39.  
  40. PKCS #13: Elliptic Curve Cryptography Standard
  41.  
  42.   Burt Kaliski (RSA Laboratories) presented a proposal for PKCS #13 v1. In
  43. general, the proposal was considered reasonable, and a PKCS for ECC
  44. appropriate. A profile of existing standards as a basis for interoperability
  45. without patent encumbrances, is the goal. The fewer choices, the better.
  46.  
  47.  
  48. PKCS #12: Public-Key User Information Syntax Standard
  49.  
  50.   Blake Ramsdell (Worldtalk) gave a critique of PKCS #12 based on Peter
  51. Gutmann's previously published comments.
  52.  
  53.   General consensus:
  54.  
  55.     * PKCS #12 v1.x document needs to be completed, reflecting actual
  56. implementation. Options that are not supported by implementations
  57. should be removed for simplicity. Some clarifications are needed, and
  58. recommended practices should be noted.
  59.  
  60.     * A clean slate for PKCS #12 v2.0. PKCS #5 v2 can be the reference for
  61. password-based encryption. One possibility is to define a storage format for
  62. user information, not just an interchange format. Some synergy with PKCS #15
  63. (IC Card File Format Recommendations) is worth considering in this regard. 
  64.  
  65.  
  66. PKCS #15: ICC File Format Standard
  67.  
  68.   Magnus Nystr÷m presented the PKCS#15 proposal and the reason for
  69. this proposal. Hans Nilsson, AU-Systems presented the Swedish SEIS
  70. project and the new Swedish electronic identification standard.
  71. Finally, Scott Guthery, Microsoft related the DC/SC effort to PKCS#15
  72. and the SEIS work.
  73.  
  74.   A summary of the discussion that followed:
  75.  
  76.     * Magnus Nystr÷m led the PKCS#15 discussion. He started by asking
  77. the attendants whether they felt this was something important enough
  78. to create a PKCS for. Several votes in favor (or strongly in favor) of
  79. this where heard, none against.
  80.  
  81.     * Should ASN.1/DER (or PER) be used or is a simpler TLV (or TLS)
  82. model is better? Advantages for the former is the richness of the
  83. language, the existence of 3rd party parsers and ease of
  84. extensions. Disadvantages are ineffective coding and concerns about
  85. longer update times. Furthermore, DER parsers isn't always present in
  86. environments where a card can be used (e.g. cellular phone).  The
  87. conclusion of the debate was that RSA Labs should probably try to
  88. stick with ASN.1 but try to simplify the ASN.1 and make it more
  89. 'application-friendly' (easy to do card updates as more or less
  90. 'atomic' operations).
  91.  
  92.     * PKCS#15 and PKCS#11: Magnus noted that PKCS#15 builds on
  93. PKCS#11, but that PKCS#11 implementations is not required for
  94. applications making use of PKCS#15. This is perhaps mostly important
  95. in restricted environments, such as cellular phones or during desktop
  96. boot-up sequences. As a consequence of this, PKCS#15 will not be
  97. restricted to certain limitations which exists in PKCS#11 today, like
  98. lack of support for multiple PINs. It is anticipated that several
  99. enhancements to PKCS#11 will be made as a result of the PKCS#15 work,
  100. however.
  101.  
  102.     * Several attendants, among them Eric Rescorla, noted that
  103. although the 'format' layer could be interoperable with the help of
  104. PKCS#15, the actual card layer will still be card-specific. Hans
  105. Nilsson of Sweden mentioned the ISM (Instruction Sequence Mapping)
  106. file initiative from Sweden, which defines how to map certain
  107. standardized generic commands to card specific ones. Due to certain
  108. problems, the ISM file was however later withdrawn from the swedish
  109. work. The general consensus of the meeting seemed to be that we should
  110. not spend time and energy on improving the ISM. In due time, smart
  111. cards will probably support ISO 7816-8 (or something similar) and in
  112. the meantime, a reasonable solution could be to make provisions in the
  113. format for stating which 'generic' commands a particular card
  114. supports.
  115.  
  116.     * One attendee mentioned that implementing PKCS#11 on a card
  117. obviates any need for a low-level format specification like
  118. PKCS#15. Magnus' response to this was that the current proposal is
  119. aimed for the most common card types today, ISO 7816 -based cards, but
  120. that he didn't rule out the possibility to include other card types in
  121. the future. One suggestion to instead use vendor-supplied PKCS#11
  122. drivers (or CSP drivers) was rejected since this means that these
  123. drivers has to be installed on all platforms on which a user may wish
  124. to use his card. Furthermore, independent card initialization and
  125. personalization requires an open card format.
  126.  
  127.     * Since PKCS#15 also will support pure memory cards, Magnus raised
  128. the idea given (by someone else) yesterday, that PKCS#15 also could be
  129. the successor of PKCS#12, thereby giving one uniform format
  130. description for 'personal credentials'. Several voices in favor of
  131. this suggestion where heard, but the outcome of this also depends on
  132. the chosen encoding. Clearly, ASN.1/[DP}ER is the preferred choice in
  133. this case.
  134.  
  135.     * There was a discussion about support for certificates other than
  136. end-user public key certificates. As an example of this, users having
  137. trusted CA certificates on their smart cards would in practice carry
  138. their 'trust' with them. Magnus will try to include the notion of CA
  139. certificates as well as attribute certificates (suggestion by Roland
  140. Lockhart, Entrust) into PKCS#15. Bob Relyea, Netscape, mentioned the
  141. Netscape proposal regarding trust objects.
  142.  
  143. One attendee was concerned that current cards won't be able to store
  144. several certificates due to memory constraints. The issue of
  145. certificate compression was discussed, but general consensus was that
  146. good compression algorithms are already patented. The notion of
  147. 'adjoint certificates' (common certificate fields are only stored once
  148. on the card) was also discussed, but no conclusion was reached in this
  149. matter.
  150.  
  151.     * Hans Nilsson wanted PKCS#15 to include a clarification and
  152. mapping of the key usage bits to X.509 key usage bits. This is also an
  153. issue for PKCS#11. Magnus agreed to look into this.
  154.  
  155.     * Scott Guthery, Microsoft argued against specifying access
  156. controls in PKCS#15, since this is the card issuers responsibility. 
  157. Magnus agreed and will move this to an informative appendix.
  158.  
  159.     * Ernst-Michael Hamann suggested that PKCS#15 would include
  160. definitions of IDOs. With the possible exception of username/password
  161. objects the meeting rejected this proposal for being too application
  162. specific.
  163.  
  164.     * The meeting ended with a decision that further discussions will
  165. take place on the cryptoki list. RSA will post a revised draft to the
  166. list within one month. The goal is still to have v1.0 finished during
  167. Q1 1999.
  168.  
  169.  
  170. PKCS#11: Cryptographic Token Interface Standard
  171.  
  172.   Matthew Wood of Intel held a presentation describing Intel's
  173. encapsulation of PKCS#11 within the CDSA framework and the mutual
  174. authentication model used therein. 
  175.  
  176.   Ernst-Michael Hamann of IBM Germany presented a proposal for
  177. extending PKCS#11 with, among other things, a new attribute for keys
  178. indicating that every usage of the key requires a new card holder
  179. verification. The proposal has been posted to pkcs-tng@rsa.com.
  180.  
  181.   Magnus Nystr÷m of RSA Labs led the discussion about proposed
  182. enhancements and experiences from implementations. The discussion
  183. centered about a) finding the most pressing issues and thereby being
  184. able to prioritize the work, and b) how to proceed with the work.  The
  185. result of a) is shown below. b) was finally settled on Friday, October
  186. 9, when it was decided (see below) that -unless there is any
  187. administrative problems- Matthew Wood will be the editor of PKCS#11
  188. v2.1 - a backwards compatible revision of PKCS#11 v2.01 based on
  189. proposals from the workshop. The general view was that a majority of
  190. the proposed changes should be able to implement without destroying
  191. backwards compatibility. 
  192.  
  193.   The day ended with four show-and-tell demonstrations, from
  194.  
  195.     * IBM Card Solutions Germany (Card personalization and
  196.       applications thereof) 
  197.     * Xeti Inc, Los Altos, CA (PKIX Java toolkit)
  198.     * Intel Corp (PKCS#11 inside CDSA 2.0)
  199.     * Zergo, Australia (CA service)
  200.  
  201.   A summary of the discussions:
  202.  
  203.     * 'Simple' Fixes:
  204.  
  205.       - Short token serial numbers (16 bytes). Possible fix: Change to
  206.         BCD-encoding.
  207.  
  208.       - TOKEN_INIT-flag, stating that the token indeed has been
  209.         initialized. This has been suggested by daniel@sonadata.uk and
  210.         the proposal has been posted to cryptoki@rsa.com
  211.  
  212.       - C_OpenToken() or C_InitializeToken() function (easier w
  213.         regards to C_GetTokenInfo() and needed for Fortezza) also
  214.         change C_GetTokenInfo() to use a session instead of a token
  215.         (Ed's note: Hmm. This probably breaks backwards
  216.         compatibility. Probably need C_GetTokenInfobyTokenHandle()
  217.         instead).
  218.  
  219.       - Missing and unspecified return codes like for instance
  220.         CKR_BAD_ARGUMENT when NULL input to, e.g., C_Digest().
  221.  
  222.       - Change CK_CHAR to UTF8 - does not destroy backwards
  223.         compatibility, but is more user friendly for e.g. Asian users.
  224.  
  225.       - Enable SO to change (some of) user's PINs (e.g. introduce
  226.         C_SetUserPin())
  227.  
  228.       - CKF_PROTECTED_AUTHENTICATION path for slots, not tokens? Or both?
  229.  
  230.     * 'Larger' issues
  231.  
  232.       - PIN area
  233.  
  234.          Multiple PINs: More or less needed in certain applications,
  235.          e.g. non-repudiation. Needs cross-reference between PINs and
  236.          protected objects.
  237.  
  238.          Should we introduce PIN objects?
  239.          (Is there a risk of 'dangling' object references?)
  240.  
  241.         New attributes for PINs? (Suggested by mhamann@de.ibm.com: 
  242.        a) CKF_PIN_COUNT_LOW
  243.        b) CKF_PIN_FINAL_TRY
  244.        c) CKF_PIN_LOCKED
  245.        d) CKF_PIN_NEEDS_CHANGE)
  246.  
  247.         PIN management (lifecycle) (CKF_PIN_EXPIRATION_DATE)
  248.  
  249.       - Certificates area
  250.  
  251.         Introduce new type of certificates:
  252.            a) CA certificates (could be a new attribute for existing
  253.               certificates)
  254.            b) Attribute certificates (new subclass)
  255.  
  256.         Use compression of certificates??
  257.  
  258.         Add trust attributes to certificates (like : 'I trust this
  259.         cert as an issuing authority certificate' or 'I trust this
  260.         end-user certificate') 
  261.  
  262.       - Mechanisms
  263.  
  264.         Extensions for the Fortezza cards:
  265.            a) C_CreateObject() (Fortezza LoadX generates 2 objects)
  266.            b) C_DeriveKey/C_GenerateRandomMech() to generate Ra and Rb
  267.               Fortezza pointers
  268.            c) CKM_KEA_DSA_KEY_PAIR_GEN - generate KEA and DSA keys at
  269.               same time 
  270.  
  271.         TLS/SSL key generation
  272.  
  273.       - New functions
  274.  
  275.         C_SignInit() or C_SignInitSecure() for keys with a (proposed) new
  276.         attribute CKA_SIGN_SECURE. The intention is that a PIN will be
  277.         needed each time the key is being used (mhamann@de.ibm.com).
  278.         Allow for key splitting/secret sharing (like BSAFE 4.0?)
  279.  
  280.       - Profiles
  281.  
  282.         PKCS#11 is large and complex, there is a need for defined
  283.         profiles, subsets of PKCS#11 needed for different kinds of
  284.         applications. Perhaps also test vectors to verify against.
  285.  
  286.       - Clarifications
  287.     
  288.         There is a need to clarify how PKCS#11 implementations should
  289.         handle the case of multiple applications operating on one token,
  290.         especially with regards to object management.
  291.  
  292.         Clarify mapping between PKCS#11 key usage and X509 key usage (or
  293.         extend PKCS#11 in this respect)
  294.  
  295.       - Trust issues
  296.  
  297.         Mutual authentication as a means of solving the export license
  298.         problem (suggested by relyea@netscape.com)
  299.  
  300.         Introducing trust objects - See Netscape's proposal posted to
  301.         the  mailing list.
  302.  
  303.       - Data objects
  304.         Some consensus on (perhaps) defining one data object
  305.         consisting of user name and password for a particular
  306.         application, but nothing else.
  307.  
  308.       - Initial configuration information
  309.         There is a need to declare initial configuration
  310.         (relyea@netscape.com)
  311.  
  312.  
  313. PKCS #5: Password-Based Cryptography Standard
  314.  
  315.   Burt Kaliski (RSA Laboratories) presented a draft of PKCS #5 v2.
  316.  
  317.   General consensus:
  318.  
  319.   * Approach and methods are generally appropriate, though some
  320. consideration should be given to non-parallel methods for implementing the
  321. iteration count (i.e., instead of exclusive-or of independent outputs of the
  322. underlying pseudorandom function, compute the outputs iteratively).
  323.  
  324.   * The possibility that multiple keys may be derived from the same salt
  325. should be mentioned. For instance, an integrity-protection key and a
  326. confidentiality key might be derived from a password with a single PBKDF
  327. operation.
  328.  
  329.   * A usage document might cover issues such as "pepper" and non-random
  330. salts.
  331.  
  332.   One other suggestion: define a standard method for constructing
  333. password-check values for verifying passwords.
  334.  
  335.  
  336. PKCS #14: Pseudorandom Generation Methods
  337.  
  338.   Bob Baldwin (RSA Data Security) gave a comprehensive proposal for PKCS
  339. #14. The proposal was considered reasonable; a mailing list was to be formed
  340. to develop the PKCS #14 document.
  341.  
  342. PKCS Workplan and process:
  343.  
  344.   Burt Kaliski led a general discussion of the PKCS process and also
  345. agreed on a work plan for the coming year.
  346.  
  347. In general, participants expressed satisfaction with the current process;
  348. value was perceived in the production of documents that are readily
  349. available to a wide audience in a reasonable timeframe. Formal standards
  350. processes are helpful for long-term development of standards, but not
  351. necessarily as an alternative to the current set of PKCS documents.
  352.  
  353. PKCS was also seen as having value in promoting technologies that are not
  354. encumbered by patents, but this need not be its highest priority.
  355.  
  356. Burt also presented a proposal for a new PKCS based on protocols developed
  357. by RSA Laboratories for user authentication in Security Dynamics products.
  358. The protocol, which runs over a secure transport layer such as SSL, can
  359. support a variety of authentication methods including challenge-response
  360. authentication, time-based authentication, and biometrics. There was no
  361. immediate interest in developing this further as a PKCS.
  362.  
  363. The tentative work plan agreed for the next year is as follows. In general,
  364. the goal is to accomplish most of this by the next workshop (tentatively
  365. Fall 1999), unless an earlier date is specified.
  366.  
  367. PKCS #1             * resolve signature schemes / PSS
  368. RSA Cryptography    * write usage guidelines
  369.                     * editor: Jessica Staddon
  370.  
  371. PKCS #3             * revise similar to PKCS #13
  372. Diffie-Hellman      * proposal at next workshop
  373.  
  374. PKCS #5             * revise per workshop discussion
  375. Password-Based      * new draft 11/98, final 1/99
  376. Cryptography        * write usage guidelines
  377.                     * editor: Burt Kaliski
  378.  
  379. PKCS #6             * drop in favor of X.509 v3
  380. Extended
  381. Certificate Syntax
  382.  
  383. PKCS #7             * maintain as historical document
  384. Cryptographic       * point to IETF S/MIME
  385. Message Syntax
  386.  
  387. PKCS #8             * update with new references
  388. Private-Key         * write usage guidelines
  389. Information Syntax      (e.g., other key types)
  390.  
  391. PKCS #9             * record current practice
  392. Selected Attributes * purpose: support PKCS documents
  393.  
  394. PKCS #10            * maintain as historical document
  395. Certificate Request * point to IETF PKIX
  396. Syntax
  397.  
  398. PKCS #11            * revise per workshop discussion
  399. Cryptographic Token * develop mechanism ID registrations
  400. Interface           * list of changes 11/98
  401.                     * editor: Matthew Wood
  402.  
  403. PKCS #12            * record current practice 
  404. User Information    * editor: Blake Ramsdell
  405. Syntax              * draft final version 11/98
  406.             * final version 1/99
  407.             * possible future merge with #15
  408.  
  409. PKCS #13            * draft per workshop discussion
  410. Elliptic Curve      * after PKCS #5
  411. Cryptography        * editor: Burt Kaliski
  412.  
  413. PKCS #14            * draft per workshop discussion
  414. Pseudorandom        * final 5/99
  415. Generation          * editor: Bob Baldwin
  416.  
  417. PKCS #15            * revise per workshop discussion
  418. IC Card File Format * new drafts 11/98, 1/99, final 3/99
  419.                     * editor: Magnus Nystr÷m
  420.  
  421. Matthew Wood and Blake Ramsdell will be providing outside editorial support
  422. to RSA Laboratories, coordinating the revisions to their respective
  423. documents. The final decision on the documents will remain with RSA
  424. Laboratories, under the usual consensus process for other documents, and the
  425. documents will be available under the usual terms. Matt and Blake's help is
  426. much appreciated.
  427.  
  428. Meeting notes collected by
  429. Burt Kaliski and Magnus Nystr÷m
  430.