It can significantly accelerate key generation? Wow, that sounds interesting. Is this something more than just providing good random data? Does it accelerate the "is prime" test in hardware?
-- Garrett Darren J Moffat wrote: > Subject: PSARC FastTrack [02/13/2007]: key generation and derivation for > providers without keystore > > I'm submitting this case as closed approved automatic. It only modifies > Consolidation Private or Project Private interfaces and does so in a > compatible way. > > Template Version: @(#)sac_nextcase %I% %G% SMI > 1. Introduction > 1.1 Project/Component Working Name: > key generation and derivation for providers without keystore > 1.2 Name of Document Author/Supplier: > Mark Powers, Anthony Scarpino > 1.3 Date of this Document: > 2/12/2007 > > 4. Technical Description > > The Interface taxonomy is Consolidation Private. > The Release taxonomy is Patch/Micro > > Diff-marked draft manpages, cspi design, and header files are included > in the case directory. > > 4.0 Background > > The ncp provider, which is available on sun4v machines, is capable > of significantly accelerating RSA and Diffie-Hellman (DH) key generation > and derivation. However, it is not possible to take advantage of this > because the existing Service Provider Interface (SPI) assumes providers > capable of generating and deriving keys also have a keystore, and that > keys are returned by reference rather than value. This proposal seeks > to remove this limitation. > > 4.1 Proposal > > The case proposes the following: > > - modifications to the kcf kernel module to support new provider > entry points for the generation and derivation of keys. The new > entry points have two arguments per key instead of one. The extra > argument is reserved for attributes that need to be copied back > into a user's address space. Providers that register the new > entry points should not register key ops (crypto_key_ops(9S)) > which are reserved for providers with keystores. Providers with > these new entry points register SPI version 3. > > - modifications to pkcs11_kernel - a user library component - to use > the new key generation and derivation entry points. The gist of > this modification is to add additional PKCS#11 RSA and DH attributes > to key templates so that generated and derived keys can be returned > by value rather than by reference. Generated and derived keys will > be stored as session objects by pkcs11_kernel.so. > > - modifications to metaslot and softtoken to move session keys > from pkcs11_kernel to pkcs11_softtoken where they can be stored > as token keys. Token keys are persistent objects whereas session > keys are destroyed when sessions are closed. > > - modifications to the ncp driver to use version 3 of the SPI. > The driver will be modified to support CKM_RSA_PKCS_KEY_PAIR_GEN, > CKM_DH_PKCS_KEY_PAIR_GEN, and CKM_DH_PKCS_DERIVE. > > The new SPI entry points (see spi.h) are: > int (*nostore_key_generate)(crypto_provider_handle_t, > crypto_session_id_t, crypto_mechanism_t *, > crypto_object_attribute_t *, uint_t, crypto_object_attribute_t *, > uint_t, crypto_req_handle_t); > > int (*nostore_key_generate_pair)(crypto_provider_handle_t, > crypto_session_id_t, crypto_mechanism_t *, > crypto_object_attribute_t *, uint_t, crypto_object_attribute_t *, > uint_t, crypto_object_attribute_t *, uint_t, > crypto_object_attribute_t *, uint_t, crypto_req_handle_t); > > int (*nostore_key_derive)(crypto_provider_handle_t, > crypto_session_id_t, > crypto_mechanism_t *, crypto_key_t *, crypto_object_attribute_t *, > uint_t, crypto_object_attribute_t *, uint_t, crypto_req_handle_t); > > 4.1.1 Compatibility > > The SPI interface was introduced by PSARC 2001/553. PSARC 2005/576 > changed the interface version from 1 to 2. The kernel kcf module will > remain backwards compatible with version 1 and 2 providers. > > 4.2 Bug/RFE Number(s): 6339802, 6462782, 6462780 > > 4.5 Exported Interfaces: > > +--------------------------------+---------------------------+--------------+ > | Interface | Classification | Comments | > +--------------------------------+---------------------------+--------------+ > | impl.h | Consolidation | include file | > | | Private | | > | | | | > | ioctl.h | Project Private | include file | > | | | | > | ops_impl.h | Consolidation | include file | > | | Private | | > | | | | > | spi.h | Consolidation | include file | > | | Private | | > | | | | > | ncp.h | Consolidation | include file | > | | Private | | > +--------------------------------+---------------------------+--------------+ > > 6. Resources and Schedule > 6.4. Steering Committee requested information > 6.4.1. Consolidation C-team Name: > ON > 6.5. ARC review type: FastTrack > _______________________________________________ > crypto-discuss mailing list > crypto-discuss at opensolaris.org > http://opensolaris.org/mailman/listinfo/crypto-discuss > -- Garrett D'Amore, Principal Software Engineer Tadpole Computer / Computing Technologies Division, General Dynamics C4 Systems http://www.tadpolecomputer.com/ Phone: 951 325-2134 Fax: 951 325-2191