wizzard: (Default)
[personal profile] wizzard
TLDR: Все без исключения реализации AES (ну и наверное многих других симметричных шифров) на C потенциально уязвимы к утечке ключей (а-ля Heartbleed, например), из-за того, что C, будучи портабельным ассемблером, абстрагирует от нас возможность надежно очистить память.

http://www.daemonology.net/blog/2014-09-06-zeroing-buffers-is-insufficient.html

Ну что, плюс один повод перенести системное программирование на какой-то еще язык.
Можно, конечно, повкручивать очередных прагм, или выпустить C0x, но общую проблему это не исправит, т.к. изменения в модели памяти не будут обратносовместимы.

Альтернативно, можно расслабиться и продолжать писать крипто на JS (помнится, его всячески критиковали за невозможность стереть ключи), раз уж в остальных местах всё столь же плохо.

UPD: Пример проблемы - https://gcc.gnu.org/bugzilla/show_bug.cgi?id=8537

Profile

wizzard: (Default)
wizzard

January 2019

S M T W T F S
  12 345
6789101112
1314 1516171819
202122 23242526
2728293031  

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Apr. 22nd, 2019 03:00 pm
Powered by Dreamwidth Studios