Crypto API Improvements
The following Crypto API improvements have been made in this update:
-
Bug fixes
Several bug fixes have been applied to provide greater security.
-
ccpdriver addedThe
ccpdriver provides support for the AMD Cryptographic Coprocessor (CCP). The AMD CCP provides hardware encryption, hashing, and other related operations. The driver version that is provided is 1.1.0. In addition, several upstream patches have been applied to resolve initial bugs that were found with this driver. -
Hash handling fixes
Fixes have been applied to various components within the Crypto API to better handle NULL hashes. In particular, a fix has been applied to the
algif_hashAPI to fix a crash that was caused in the digest operation when a NULL hash was used with theshashalgorithm.A fix has also been applied to fix an
ahashEINPROGRESS notification callback loop that could cause a denial of service. -
Jitter Entropy RNG added
The Jitter Entropy Random Number Generator (RNG) collects entropy through CPU timing differences to the Linux kernel. This feature is available by default through the
algif_rnginterface. Generated numbers can be added back to the kernel through the/dev/randomfile, which then makes these numbers available to other/dev/randomusers. The result is that the operating system now has more sources of entropy available. -
testmgrbug fix for out-of-bounds accessThe
testmgrcode that is used to test software implementations was generating an out-of-bounds access error when running someesp aeadtests. This issue was due to the limited IV size of theaes_gcm_enc/dec testtemplates and the way in which thetestmgrcode handled the input frommemcpy. To prevent this error from occurring, the array was increased to an appropriate size.