[
https://issues.apache.org/jira/browse/DERBY-4483?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Knut Anders Hatlen updated DERBY-4483:
--------------------------------------
Attachment: releaseNote.html
derby-4483-2a.diff
derby-4483-2a.stat
Attached is a new patch (2a) that enables the configurable hash scheme by
default in new databases. The patch makes SHA-256 the default algorithm.
SHA-256 is believed to be more secure than the currently used SHA-1 algorithm,
and it's also one of the algorithms NIST recommended U.S. Government agencies
to use instead of SHA-1 (see
http://csrc.nist.gov/groups/ST/toolkit/secure_hashing.html#Approved%20Algorithms).
The default algorithm can easily be changed, though, if someone thinks we
should have another default. Also, it's possible to change the default in a
future release just by changing the value of a constant, and that should not
have any compatibility implications that I'm aware of, so we won't be stuck
forever with the algorithm we pick here.
Making the configurable hash authentication scheme the default authentication
scheme has one known compatibility implication: Strong password substitution
when exchanging credentials between the network client and the server will not
work in new databases unless you manually disable the configurable hash
authentication scheme first (by setting the
derby.authentication.builtin.algorithm property to null). Because of this, I'm
attaching a release note as well.
Here's a description of the changes made by the patch:
- iapi/reference/Property.java: added a constant for the default value
(SHA-256) of the property that enables the new scheme
- impl/sql/catalog/DataDictionaryImpl.java: set the database property when the
database is created (note: only on database creation, so upgraded databases
will continue working the same way as before)
- tests/jdbcapi/AuthenticationTest.java: added test case to verify that the
property was initialized to SHA-256
- tests/upgradeTests/Changes10_6.java: added test case to verify that the
authentication scheme does not change on upgrade
- tests/derbynet/NSSecurityMechanismTest.java: disable the new scheme for the
test case that tests strong password substitution together with BUILTIN
authentication
All the regression tests ran cleanly with the patch. Comments on the patch and
the release note would be appreciated. Thanks.
> Provide a way to change the hash algorithm used by BUILTIN authentication
> -------------------------------------------------------------------------
>
> Key: DERBY-4483
> URL: https://issues.apache.org/jira/browse/DERBY-4483
> Project: Derby
> Issue Type: Improvement
> Components: Services
> Affects Versions: 10.5.3.0
> Reporter: Knut Anders Hatlen
> Assignee: Knut Anders Hatlen
> Priority: Minor
> Fix For: 10.6.0.0
>
> Attachments: comments.diff, derby-4483-1a.diff, derby-4483-1a.stat,
> derby-4483-2a.diff, derby-4483-2a.stat, experiment.diff, releaseNote.html,
> toHexByte.diff, upgrade-test.diff
>
>
> The BUILTIN authentication scheme protects the passwords by hashing them with
> the SHA-1 algorithm. It would be nice to have way to specify a different
> algorithm so that users can take advantage of new, stronger algorithms
> provided by their JCE provider if so desired.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.