PKCS #11 Cryptographic Token Interface Profiles Version 2.40
Committee Specification Draft 02
08 April 2014
Specification URIs
This version:
http://docs.oasis-open.org/pkcs11/pkcs11-profiles/v2.40/csd02/pkcs11-profiles-v2.40-csd02.doc (Authoritative)
http://docs.oasis-open.org/pkcs11/pkcs11-profiles/v2.40/csd02/pkcs11-profiles-v2.40-csd02.html
http://docs.oasis-open.org/pkcs11/pkcs11-profiles/v2.40/csd02/pkcs11-profiles-v2.40-csd02.pdf
Previous version:
http://docs.oasis-open.org/pkcs11/pkcs11-profiles/v2.40/csprd01/pkcs11-profiles-v2.40-csprd01.doc (Authoritative)
http://docs.oasis-open.org/pkcs11/pkcs11-profiles/v2.40/csprd01/pkcs11-profiles-v2.40-csprd01.html
http://docs.oasis-open.org/pkcs11/pkcs11-profiles/v2.40/csprd01/pkcs11-profiles-v2.40-csprd01.pdf
Latest version:
http://docs.oasis-open.org/pkcs11/pkcs11-profiles/v2.40/pkcs11-profiles-v2.40.doc (Authoritative)
http://docs.oasis-open.org/pkcs11/pkcs11-profiles/v2.40/pkcs11-profiles-v2.40.html
http://docs.oasis-open.org/pkcs11/pkcs11-profiles/v2.40/pkcs11-profiles-v2.40.pdf
Technical Committee:
Chairs:
Robert Griffin (robert.griffin@rsa.com), EMC Corporation
Valerie Fenwick (valerie.fenwick@oracle.com), Oracle
Editor:
Tim Hudson (tjh@cryptsoft.com), Cryptsoft Pty Ltd.
Related work:
This specification is related to:
Abstract:
This document is intended for developers and architects who wish to design systems and applications that conform to the PKCS #11 Cryptographic Token Interface standard.
The PKCS #11 Cryptographic Token Interface standard documents an API for devices that may hold cryptographic information and may perform cryptographic functions.
Status:
This document was last revised or approved by the OASIS PKCS 11 TC on the above date. The level of approval is also listed above. Check the “Latest version” location noted above for possible later revisions of this document.
Technical Committee members should send comments on this specification to the Technical Committee’s email list. Others should send comments to the Technical Committee by using the “Send A Comment” button on the Technical Committee’s web page at https://www.oasis-open.org/committees/pkcs11/.
For information on whether any patents have been disclosed that may be essential to implementing this specification, and any offers of patent licensing terms, please refer to the Intellectual Property Rights section of the Technical Committee web page (https://www.oasis-open.org/committees/pkcs11/ipr.php).
Citation format:
When referencing this specification the following citation format should be used:
[PKCS11-profiles-v2.40]
PKCS #11 Cryptographic Token Interface Profiles Version 2.40. Edited by Tim Hudson. 08 April 2014. OASIS Committee Specification Draft 02. http://docs.oasis-open.org/pkcs11/pkcs11-profiles/v2.40/csd02/pkcs11-profiles-v2.40-csd02.html. Latest version: http://docs.oasis-open.org/pkcs11/pkcs11-profiles/v2.40/pkcs11-profiles-v2.40.html.
Notices
Copyright © OASIS Open 2014. All Rights Reserved.
All capitalized terms in the following text have the meanings assigned to them in the OASIS Intellectual Property Rights Policy (the "OASIS IPR Policy"). The full Policy may be found at the OASIS website.
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published, and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this section are included on all such copies and derivative works. However, this document itself may not be modified in any way, including by removing the copyright notice or references to OASIS, except as needed for the purpose of developing any document or deliverable produced by an OASIS Technical Committee (in which case the rules applicable to copyrights, as set forth in the OASIS IPR Policy, must be followed) or as required to translate it into languages other than English.
The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors or assigns.
This document and the information contained herein is provided on an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
OASIS requests that any OASIS Party or any other party that believes it has patent claims that would necessarily be infringed by implementations of this OASIS Committee Specification or OASIS Standard, to notify OASIS TC Administrator and provide an indication of its willingness to grant patent licenses to such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that produced this specification.
OASIS invites any party to contact the OASIS TC Administrator if it is aware of a claim of ownership of any patent claims that would necessarily be infringed by implementations of this specification by a patent holder that is not willing to provide a license to such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that produced this specification. OASIS may include such claims on its website, but disclaims any obligation to do so.
OASIS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on OASIS' procedures with respect to rights in any document or deliverable produced by an OASIS Technical Committee can be found on the OASIS website. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this OASIS Committee Specification or OASIS Standard, can be obtained from the OASIS TC Administrator. OASIS makes no representation that any information or list of intellectual property rights will at any time be complete, or that any claims in such list are, in fact, Essential Claims.
The name "OASIS" is a trademark of OASIS, the owner and developer of this specification, and should be used only to refer to the organization and its official outputs. OASIS welcomes reference to, and implementation and use of, specifications, while reserving the right to enforce its marks against misleading uses. Please see https://www.oasis-open.org/policies-guidelines/trademark for above guidance.
Table of Contents
1.1 Description of this Document
2.2 Guidelines for Specifying Conformance Clauses
2.3 Guidelines for Validating Conformance to PKCS #11 Profiles
3.2.1 Implementation Conformance
3.2.2 Conformance of a PKCS #11 Baseline Consumer
3.3.1 Implementation Conformance
3.3.2 Conformance of a PKCS #11 Baseline Provider
3.4.1 Implementation Conformance
3.4.2 Conformance of a PKCS #11 Extended Consumer
3.5.1 Implementation Conformance
3.5.2 Conformance of a PKCS #11 Extended Provider
3.6 Authentication Token Clause
3.6.1 Implementation Conformance
3.6.2 Conformance of a Authentication Token.
OASIS requires a conformance section in an approved committee specification ([PKCS11-Base] [TCPROC], section 2.18 Work Product Quality, paragraph 8a):
A specification that is approved by the TC at the Public Review Draft, Committee Specification or OASIS Standard level must include a separate section, listing a set of numbered conformance clauses, to which any implementation of the specification must adhere in order to claim conformance to the specification (or any optional portion thereof).
This document intends to meet this OASIS requirement on conformance clauses for providers and consumers of cryptographic services via PKCS #11 ([PKCS11-Base] Section 6 (PKCS#11 Implementation Conformance) through profiles that define the use of PKCS #11 data types, objects, functions and mechanisms within specific contexts of provider and consumer interaction. These profiles define a set of normative constraints for employing PKCS #11 within a particular environment or context of use. They may, optionally, require the use of specific PKCS #11 functionality or in other respects define the processing rules to be followed by profile actors.
For normative definition of the elements of PKCS #11 specified in these profiles, see the PKCS #11 Cryptographic Token Interface Base Specification ([PKCS11-Base]).and the PKCS #11 Cryptographic Token Interface Current Mechanisms ([PKCS11-Curr]). Illustrative guidance for the implementation of providers and consumers of PKCS #11 is provided in the PKCS #11 Cryptographic Token Interface Usage Guide ([PKCS11-UG]).
The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in [RFC2119].
[PKCS11-Base] PKCS #11 Cryptographic Token Interface Base Specification Version 2.40 <<DATE>>. OASIS Working Draft, http://docs.oasis-open.org/pkcs11/pkcs11-base/v2.40/pkcs11-base-v2.40.html.
[PKCS11-Curr] PKCS #11 Cryptographic Token Interface Current Mechanisms Specification Version 2.40 <<DATE>>. OASIS Working Draft, http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/pkcs11-curr-v2.40.html.
[PKCS11-Hist] PKCS #11 Cryptographic Token Interface Historical Mechanisms Specification Version <<VERSION>>. <<DATE>>, OASIS Working Draft, http://docs.oasis-open.org/pkcs11/pkcs11-hist/v2.40/pkcs11-hist-v2.40.html
[RFC2119] Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels”, BCP 14, RFC 2119, March 1997. http://www.ietf.org/rfc/rfc2119.txt.
[TCPROC] OASIS, Technical Committee (TC) Process, Version 31 January 2013, 31January 2013, https://www.oasis-open.org/policies-guidelines/tc-process.
[PKCS11-UG] PKCS #11 Cryptographic Token Interface Usage Guide Specification Version 2.40 <<DATE>>. OASIS Working Draft, http://docs.oasis-open.org/pkcs11/pkcs11-ug/v2.40/pkcs11-ug-v2.40.html
This document defines a selected set of conformance clauses which form PKCS #11 Profiles. The PKCS 11 TC also welcomes proposals for new profiles. PKCS 11 TC members are encouraged to submit these proposals to the PKCS 11 TC for consideration for inclusion in a future version of this TC-approved document. However, some OASIS members MAY simply wish to inform the committee of profiles or other work related to PKCS #11.
This section provides a checklist of issues that SHALL be addressed by each clause.
1. Implement functionality as mandated by [PKCS11-Base] Section 6 (PKCS#11 Implementation Conformance)
2. Specify the list of additional data types that SHALL be supported
3. Specify the list of additional objects that SHALL be supported
4. Specify the list of additional functions that SHALL be supported
5. Specify the list of additional mechanisms that SHALL be supported
A PKCS #11 provider implementation SHALL claim conformance to a specific provider profile only if it instruments all required data types, objects, functions and mechanisms of that profile
• All data types specified as required in that profile
• All objects specified as required in that profile
• All functions specified as required in that profile
• All mechanisms specified as required in that profile
A PKCS #11 consumer implementation SHALL claim conformance to a specific consumer profile only if it instruments all required data types, objects, functions and mechanisms of that profile
• All data types specified as required in that profile
• All objects specified as required in that profile
• All functions specified as required in that profile
• All mechanisms specified as required in that profile
The following subsections describe currently-defined profiles related to the use of PKCS #11. The profiles define classes of PKCS #11 functionality to which an implementation can declare conformance.
A PKCS #11 consumer calls a PKCS #11 provider implementation of the PKCS #11 API in order to use the cryptographic functionality from that provider.
This profile specifies the most basic functionality that would be expected of a conformant PKCS #11 consumer – the ability to consume information via the cryptographic services offered by a provider.
An implementation is a conforming Baseline Consumer Clause if it meets the conditions as outlined in the following section.
An implementation conforms to this specification as a Baseline Consumer if it meets the following conditions:
A PKCS #11 provider makes cryptographic functionality available to a consuming application in terms of the PKCS #11 API.
This profile specifies the most basic functionality that would be expected of a conformant PKCS #11 provider – the ability to provide information about the capabilities of the cryptographic services provided.
An implementation is a conforming Baseline Provider if it meets the conditions as outlined in the following section.
An implementation conforms to this specification as a Baseline Provider if it meets the following conditions:
This profile builds on the PKCS#11 Baseline Consumer profile to add support for mechanism-based usage.
An implementation is a conforming Extended Consumer if it meets the conditions as outlined in the following section.
An implementation conforms to this specification as Extended Consumer if it meets the following conditions:
This profile builds on the PKCS#11 Baseline Provider to add support for mechanism-based usage.
An implementation is a conforming Extended Provider if it meets the conditions as outlined in the following section.
An implementation conforms to this specification as Extended Provider if it meets the following conditions:
This profile builds on the PKCS #11 Baseline Provider and/or Baseline Consumer profiles to provide for use in the context of an authentication token.
An implementation is a conforming Authentication Token if it meets the conditions as outlined in the following section.
An implementation conforms to this specification as an Authentication Token if it meets the following conditions:
The following individuals have participated in the creation of this specification and are gratefully acknowledged:
Participants:
Gil Abel, Athena Smartcard Solutions, Inc.
Warren Armstrong, QuintessenceLabs
Peter Bartok, Venafi, Inc.
Anthony Berglas, Cryptsoft
Kelley Burgin, National Security Agency
Robert Burns, Thales e-Security
Wan-Teh Chang, Google Inc.
Hai-May Chao, Oracle
Janice Cheng, Vormetric, Inc.
Sangrae Cho, Electronics and Telecommunications Research Institute (ETRI)
Doron Cohen, SafeNet, Inc.
Fadi Cotran, Futurex
Tony Cox, Cryptsoft
Christopher Duane, EMC
Chris Dunn, SafeNet, Inc.
Valerie Fenwick, Oracle
Terry Fletcher, SafeNet, Inc.
Susan Gleeson, Oracle
Sven Gossel, Charismathics
Robert Griffin, EMC
Paul Grojean, Individual
Peter Gutmann, Individual
Dennis E. Hamilton, Individual
Thomas Hardjono, M.I.T.
Tim Hudson, Cryptsoft
Gershon Janssen, Individual
Seunghun Jin, Electronics and Telecommunications Research Institute (ETRI)
Andrey Jivsov, Symantec Corp.
Greg Kazmierczak, Wave Systems Corp.
Mark Knight, Thales e-Security
Darren Krahn, Google Inc.
Alex Krasnov, Infineon Technologies AG
Dina Kurktchi-Nimeh, Oracle
Mark Lambiase, SecureAuth Corporation
Lawrence Lee, GoTrust Technology Inc.
John Leiseboer, QuintessenceLabs
Hal Lockhart, Oracle
Robert Lockhart, Thales e-Security
Dale Moberg, Axway Software
Darren Moffat, Oracle
Valery Osheter, SafeNet, Inc.
Sean Parkinson, EMC
Rob Philpott, EMC
Mark Powers, Oracle
Ajai Puri, SafeNet, Inc.
Robert Relyea, Red Hat
Saikat Saha, Oracle
Subhash Sankuratripati, NetApp
Johann Schoetz, Infineon Technologies AG
Rayees Shamsuddin, Wave Systems Corp.
Radhika Siravara, Oracle
Brian Smith, Mozilla Corporation
David Smith, Venafi, Inc.
Ryan Smith, Futurex
Jerry Smith, US Department of Defense (DoD)
Oscar So, Oracle
Michael Stevens, QuintessenceLabs
Michael StJohns, Individual
Sander Temme, Thales e-Security
Kiran Thota, VMware, Inc.
Walter-John Turnes, Gemini Security Solutions, Inc.
Stef Walter, Red Hat
Jeff Webb, Dell
Magda Zdunkiewicz, Cryptsoft
Chris Zimman, Bloomberg Finance L.P.
Revision |
Date |
Editor |
Changes Made |
wd01 |
20-Mar-2013 |
Tim Hudson |
Template provided by OASIS |
wd02 |
3-Apr-2013 |
Tim Hudson |
Initial draft |
wd03 |
18-Sep-2013 |
Tim Hudson |
Updated draft matching current drafts of the specification |
wd04 |
27-Oct-2013 |
Robert Griffin |
Final participant list and other editorial changes for Committee Specification Draft |
wd04a |
27-Oct-2013 |
Tim Hudson |
Deleted no longer valid comment and corrected unknown section reference. |
wd05 |
25-Feb-2014 |
Tim Hudson / Robert Griffin |
Incorporated changes from v2.40 public review |