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

Date: 2021-11-13 04:17 am (UTC)
sobriquet9: (Default)
From: [personal profile] sobriquet9
Не только в чипах. Постоянное время выполнения является одним из факторов, которые используются при выборе примитивов для алгоритмов шифрования. В частности поэтому так популярны ARX шифры (add-rotate-exclusive or) вроде ChaCha20.

Date: 2021-11-15 01:32 am (UTC)
sobriquet9: (Default)
From: [personal profile] sobriquet9
AES использует массивы, время доступа к элементам которых зависит от того, есть ли они в кеше. This attack should be blamed on the AES design, not on the particular AES library used by the server; it is extremely difficult to write constant-time high-speed AES software for common general-purpose computers (ссылка на PDF).

Date: 2021-11-16 05:59 pm (UTC)
sobriquet9: (Default)
From: [personal profile] sobriquet9
Не так просто из софта управлять тем, что будет в кеше, а что нет. Если код переносимый (кросс платформенный), то вообще никак. А если удастся все кеши выключить, то доступ к памяти будет медленнее в разы, производительность пострадает. Сейчас же шифруется всё, что ходит наружу и сохраняется на диске.

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

Date: 2021-11-16 06:59 pm (UTC)
sobriquet9: (Default)
From: [personal profile] sobriquet9
В статье по ссылке была не теоретическая, а вполне практическая атака, с учётом сетевых и прочих задержек. Диск тут не при чём, сервера на многие запросы отвечают прямо из памяти, без походов на диск.

Шифрование - базовый алгоритм. Если его можно сделать так, чтобы не было атак по времени исполнения, то надо так и делать, а не использовать хреновый алгоритм и обвешивать его задержками. Время течёт в одну сторону, любые задержки в итоге увеличивают время выполнения команд. Если поручить программистам включать их по необходимости, программисты накосячат и забудут это делать в нужном месте. В частности именно отсюда популярность ChaCha20 и подобных шифров.

Date: 2021-11-16 11:34 pm (UTC)
sobriquet9: (Default)
From: [personal profile] sobriquet9
Автор объясняет, почему: "I wrote this server to minimize the amount of noise in the timings available to the client. However, adding noise does not stop the attack: the client simply averages over a larger number of samples, as in [7]. In particular,reducing the precision of the server's timestamps, or eliminating them from the server's responses, does not stop the attack: the client simply uses round-trip timings based on its local clock, and compensates for the increased noise by averaging over a larger number of samples."

January 2026

S M T W T F S
     123
45678910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 3rd, 2026 04:12 pm
Powered by Dreamwidth Studios