On 1/8/2018 10:13 AM, David CARLIER wrote:

Hi,

Here a little patch proposal which is usually relevant in cryptographics matters. Usually memset/bzero/... is used to clear private structures but the compiler can possibly optimize those calls but with this change we can unsure sensitive data is properly zero'ed using if possible native calls or memory fence.

SunEC doesn't really make an effort to zeroize sensitive data, and all of the memset operations except for one (line 418) operate on memory that is not sensitive. While the patch is a relatively simple change that probably doesn't hurt anything, it doesn't seem to me like this improvement is particularly valuable. Perhaps it would be more valuable along with a larger improvement to make SunEC zeroize all intermediate values. Though this would be a much larger undertaking, and it still may not be useful on its own because the Java code in the provider also holds some sensitive values.


Kind regards.

Reply via email to