Reading view

«Подписываем данные SHA-256 с секретным ключом». Такую подпись подделывают, не зная ключа

Знакомая схема защиты от подмены. Сервер кладёт клиенту cookie user=guest&role=reader и рядом — подпись sha256(secret + данные), чтобы клиент не переписал reader на admin. Секрет знает только сервер, поэтому пересчитать подпись под изменённые данные клиент вроде бы не может.

Поломается не сама SHA-256, а конструкция вокруг неё: к данным можно дописать хвост &role=admin и предъявить к нему валидную подпись, не зная секрета вообще. Атака называется length extension, и в статье мы её проделаем на своём же сервере.

Читать далее
  •  

Защита биткоина от несуществующих квантовых компьютеров

В последнее время часто можно услышать про квантовые компьютеры (КК), которые угрожают криптовалютам, в том числе биткоину, и вообще всей современной криптографии.

На самом деле сообщество Bitcoin давно выработало технические решения для данной проблемы. Максимум, что требуется — обычный софтфорк, то есть обновление ПО. Его не проводят лишь потому, что КК стоят в книжном магазине на полке «Научная фантастика», если перефразировать известный анекдот.

Читать далее
  •  

Рыбно‑пузырьковая энтропия в KMS

Смоделируем ситуацию: внезапно бот проходит вашу капчу, потому что заранее знает, какие случайные числа будут сгенерированы. Если рандом предсказуем, то защита становится иллюзией. Чтобы такая ситуация была невозможна, мы используем различные источники рандома. 

Наверняка многие знают про броуновское движение и прочие природные рандомайзеры. Два года назад у меня родилась идея, которую коллеги поначалу приняли за шутку. Рыбы, пузыри, каустики на дне, колышущиеся водоросли — каждую секунду картинка меняется так, как не предскажет ни одна модель. И тут я понял, что можно забрать весь этот хаос в продакшн.

Читать далее
  •  

Рыбно‑пузырьковая энтропия в KMS

Смоделируем ситуацию: внезапно бот проходит вашу капчу, потому что заранее знает, какие случайные числа будут сгенерированы. Если рандом предсказуем, то защита становится иллюзией. Чтобы такая ситуация была невозможна, мы используем различные источники рандома. 

Наверняка многие знают про броуновское движение и прочие природные рандомайзеры. Два года назад у меня родилась идея, которую коллеги поначалу приняли за шутку. Рыбы, пузыри, каустики на дне, колышущиеся водоросли — каждую секунду картинка меняется так, как не предскажет ни одна модель. И тут я понял, что можно забрать весь этот хаос в продакшн.

Читать далее
  •  
❌