| Cryptsetup 1.7.0 Release Notes | |
| ============================== | |
| The cryptsetup 1.7 release changes defaults for LUKS, | |
| there are no API changes. | |
| Changes since version 1.6.8 | |
| * Default hash function is now SHA256 (used in key derivation function | |
| and anti-forensic splitter). | |
| Note that replacing SHA1 with SHA256 is not for security reasons. | |
| (LUKS does not have problems even if collisions are found for SHA1, | |
| for details see FAQ item 5.20). | |
| Using SHA256 as default is mainly to prevent compatibility problems | |
| on hardened systems where SHA1 is already be phased out. | |
| Note that all checks (kernel crypto API availability check) now uses | |
| SHA256 as well. | |
| * Default iteration time for PBKDF2 is now 2 seconds. | |
| Increasing iteration time is in combination with PBKDF2 benchmark | |
| fixes a try to keep PBKDF2 iteration count still high enough and | |
| also still acceptable for users. | |
| N.B. Long term is to replace PBKDF2 algorithm with Password Hashing | |
| Competition winner - Argon2. | |
| Distributions can still change these defaults in compilation time. | |
| You can change iteration time and used hash function in existing LUKS | |
| header with cryptsetup-reencrypt utility even without full reencryption | |
| of device (see --keep-key option). | |
| * Fix PBKDF2 iteration benchmark for longer key sizes. | |
| The previous PBKDF2 benchmark code did not take into account | |
| output key length properly. | |
| For SHA1 (with 160-bits output) and 256-bit keys (and longer) | |
| it means that the final iteration value was higher than it should be. | |
| For other hash algorithms (like SHA256 or SHA512) it caused | |
| that iteration count was lower (in comparison to SHA1) than | |
| expected for the requested time period. | |
| The PBKDF2 benchmark code is now fixed to use the key size for | |
| the formatted device (or default LUKS key size if running in informational | |
| benchmark mode). | |
| Thanks to A.Visconti, S.Bossi, A.Calo and H.Ragab | |
| (http://www.club.di.unimi.it/) for point this out. | |
| (Based on "What users should know about Full Disk Encryption | |
| based on LUKS" paper to be presented on CANS2015). | |
| * Remove experimental warning for reencrypt tool. | |
| The strong request for full backup before using reencryption utility | |
| still applies :) | |
| * Add optional libpasswdqc support for new LUKS passwords. | |
| If password is entered through terminal (no keyfile specified) and | |
| cryptsetup is compiled with --enable-passwdqc[=/etc/passwdqc.conf], | |
| configured system passwdqc settings are used to check password quality. | |
| * Update FAQ document. | |
| Cryptsetup API NOTE: | |
| Direct terminal handling and password calling callback for passphrase | |
| entry will be removed from libcryptsetup in next major (2.x) version | |
| (application should handle it itself). | |
| It means that application have to always provide password in API calls. | |
| Functions returning last error will be removed in next major version (2.x). | |
| These functions did not work properly for early initialization errors | |
| and application can implement better function easily using own error callback. | |
| See comments in libcryptsetup.h for more info about deprecated functions. |