YA P2P IM с E2EE

Что: 5b295cbf7d15da06519ada8ae8de164d2455ec34

Когда: 2019-01-29 10:29:46+03:00

Темы: crypto go hate

YA P2P IM с E2EE

https://habr.com/ru/post/437686/
Статья про то, как автор на Go легко написал peer-to-peer messenger с
end-to-end шифрованием. Мне то конечно сразу интересно было посмотреть
как он устроил шифрование. Вот честно -- лучше бы вообще не брался. Не
знает базовых азов.


  накладывает ограничения на допустимый payload прикладного протокола.
  Зачем? Кроме того, это допускает "прохождение" изменённых пакетов, так
  как никакой аутентификации нет

  генерация настолько простая и тривиальная (urandom(32)), что это
  просто глупость полная, но ok -- на безопасность не влияет

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

И ведь он пишет на Go. Буквально достаточно было бы просто CBC поменять
на GCM, который имеется в библиотеках и: аутентификация сообщения,
отсутствие padding, распараллелизация возможна (хотя я не поклонник GCM).
Вот и Дуров со своей командой как-то так и делали свой IM, хотя он
получше всё же этого.

Лучшим вариантом было бы использование Noise. Если не хочется, то уж
хотя бы использовать golang.org/x/crypto/nacl/secretbox.

оставить комментарий

Сгенерирован: SGBlog 0.34.0