[CSHARP-2163] Make PasswordEvidence implementation FIPS compliant Created: 31/Jan/18 Updated: 28/Oct/23 Resolved: 21/Feb/18 |
|
| Status: | Closed |
| Project: | C# Driver |
| Component/s: | Security |
| Affects Version/s: | 2.5 |
| Fix Version/s: | 2.6.0 |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Robert Stam | Assignee: | Robert Stam |
| Resolution: | Fixed | Votes: | 1 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||
| Epic Link: | FIPS mode | ||||||||||||
| Description |
|
The implementation of PasswordEvidence uses SHA256Managed and SHA256Managed is not FIPS compliant. In fact, PasswordEvidence doesn't need to use SHA256 at all. It is only used as an optimization for the Equals method, to avoid having to decrypt the SecureString to compare two passwords. Equals should be implemented in such a way that two PasswordEvidence instances can be compared without using a non-FIPS compliant method. |
| Comments |
| Comment by Githook User [ 23/Apr/18 ] |
|
Author: {'email': 'robert@robertstam.org', 'username': 'rstam', 'name': 'rstam'}Message: |
| Comment by Githook User [ 21/Feb/18 ] |
|
Author: {'email': 'robert@robertstam.org', 'name': 'rstam', 'username': 'rstam'}Message: |
| Comment by Robert Stam [ 31/Jan/18 ] |
|
Looks like switching to SHA256Managed to run on .NET Core was an inadvertent regression. See: |