[15] RFR 8172680: Support SHA-3 based Hmac algorithms
Michael StJohns
mstjohns at comcast.net
Tue Mar 31 17:15:51 UTC 2020
Sorry - this one got past me.
For PKCS11 - the assignment of mechanism numbers can happen at any time
and doesn't necessarily result in a new version of the specification.
In this case, the API won't change, so there's no reason - since the
mechanism numbers have been assigned since last May at least - to wait
for V3. Among other things, I would expect that various vendors have
already implemented these in their 2.xx implementations.
One of the reasons I ended up using the SunPKCS11 wrapper classes
directly quite a while ago was that the PKCS11 spec hadn't been updated,
but that my PKCS11 provider was supplying various EC mechanisms that I
needed. Ideally, the JCA and SunPKCS11 provider support should
*precede* any given underlying PKCS11 device support, not trail it by
6-12 months.
The assignment of mechanism numbers is exactly equivalent to the
assignment of TLS cipher suite numbers - the underlying protocol doesn't
change, so this is mostly a change to the mapping tables and enclosed
classes.
In any event, any given PKCS11 implementation may or may not support any
given set of mechanisms - the provider really ought to be calling
C_GetMechanismList() and using that as the list of supported JNA mechanisms.
Sorry - I'm dealing with a bit of lack of sleep here so I may be
babbling, but I'm wondering if it might not be a bad idea to add some
sort of PKCS11 specific mechanism naming convention to allow for the
lag/lead problem? E.g PKCS11_DIGEST_000002B0 would be PKCS11's
CKM_SHA3_256 hashing function given
> #define CKM_SHA3_2560x000002B0
>
Just a thought.
Thanks - Mike
On 3/19/2020 5:27 PM, Valerie Peng wrote:
> Hi Mike,
>
> Thanks for heads up. From what I can gather, SHA3 inclusion is part of
> PKCS#11 v3. Is this the next release which you are referring to? Or
> will there be an update to v2.40? Is there any schedule info for these
> update/release do you know?
>
> Following the convention, we normally don't add something which the
> underlying library has no support yet. With the new 6-month JDK
> release cycle, it's much faster for the added functionality to be
> available. So, I'd still prefer to update SunPKCS11 provider with
> SHA-3 once they are officially included.
>
> Valerie
>
> On 3/18/2020 4:07 PM, Michael StJohns wrote:
>> On 3/18/2020 6:57 PM, Valerie Peng wrote:
>>>
>>> Anyone has time to help review this straight forward RFE? It's to
>>> add SHA-3 support to Hmac.
>>>
>>> RFE: https://bugs.openjdk.java.net/browse/JDK-8172680
>>>
>>> Webrev: http://cr.openjdk.java.net/~valeriep/8172680/webrev.00/
>>>
>>> Mach5 run is clean.
>>>
>>> Thanks,
>>> Valerie
>>
>> Valerie -
>>
>> I know the RFE says no PKCS11 because 2.40 doesn't include those
>> items, but OASIS PKCS11 has proposed SHA3 identifiers at
>> https://github.com/oasis-tcs/pkcs11/blob/master/working/identifier_db/sha3.result
>> - maybe reach out and ask if these have been allocated pending the
>> next release?
>>
>> Mike
>>
>>
>> #define CKM_SHA3_256 0x000002b0UL
>> #define CKM_SHA3_256_HMAC 0x000002b1UL
>> #define CKM_SHA3_256_HMAC_GENERAL 0x000002b2UL
>> #define CKM_SHA3_224 0x000002b5UL
>> #define CKM_SHA3_224_HMAC 0x000002b6UL
>> #define CKM_SHA3_224_HMAC_GENERAL 0x000002b7UL
>> #define CKM_SHA3_384 0x000002c0UL
>> #define CKM_SHA3_384_HMAC 0x000002c1UL
>> #define CKM_SHA3_384_HMAC_GENERAL 0x000002c2UL
>> #define CKM_SHA3_512 0x000002d0UL
>> #define CKM_SHA3_512_HMAC 0x000002d1UL
>> #define CKM_SHA3_512_HMAC_GENERAL 0x000002d2UL
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/security-dev/attachments/20200331/ef0a4bfe/attachment.htm>
More information about the security-dev
mailing list