Integrated: 8271745: Correct block size for KW, KWP mode and use fixed IV for KWP mode for SunJCE
Valerie Peng
valeriep at openjdk.java.net
Wed Sep 1 22:20:38 UTC 2021
On Tue, 24 Aug 2021 01:33:42 GMT, Valerie Peng <valeriep at openjdk.org> wrote:
> Could someone help review this straight forward change? During the interoperability testing with PKCS11 KW/KWP support, it is noticed that SunJCE provider used the wrong block size (AES: 16) when padding is needed for KW mode. With KW, KWP modes, data block size is multiples of 8-byte, so the padding should pad data to multiples of 8 bytes instead of 16. In addition, although PKCS#11 v3.0 states the IV for KWP mode is 4-byte, NSS's implementation would silently ignore the specified IVs. Thus, for max interoperability, it seems safer to change SunJCE provider to always use the same default IV and disallow custom IVs for KWP mode, at least for now. Regression test is enhanced to test more scenarios.
>
> Thanks,
> Valerie
This pull request has now been integrated.
Changeset: 1a5a2b6b
Author: Valerie Peng <valeriep at openjdk.org>
URL: https://git.openjdk.java.net/jdk/commit/1a5a2b6b15e22b21343244e3a2b649d00eef5ffa
Stats: 248 lines in 3 files changed: 98 ins; 35 del; 115 mod
8271745: Correct block size for KW,KWP mode and use fixed IV for KWP mode for SunJCE
Reviewed-by: xuelei, mullan
-------------
PR: https://git.openjdk.java.net/jdk/pull/5236
More information about the security-dev
mailing list