]> Sergey Matveev's repositories - stargrave-blog.git/commit
OTRv4
authorSergey Matveev <stargrave@stargrave.org>
Sat, 24 Mar 2018 15:07:58 +0000 (18:07 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Sat, 24 Mar 2018 15:07:58 +0000 (18:07 +0300)
commit866915615d814e2c4d6210fb6b32b5a73d395c67
tree4b825dc642cb6eb9a060e54bf8d69288fbee4904
parent8f9d766956e1bf682a7896c83a04abdf545884c5
OTRv4

https://github.com/otrv4/otrv4/
Вышел черновик OTRv4 протокола. Лично мне очень понравилось всё что там
написано. Прошлый протокол имел нарекание в архаичности: RSA, SHA хэши и
тому прочее.

* Этот протокол может работать не только в online режиме, но и с заранее
  загружаемыми ключами которые для первого round-trip используются. В
  Signal это уже известная и популярная штука, позволяющая отсылать
  зашифрованные сообщения пока человек ещё не вышел в online
* Используется ECC криптография: трафик и производительность. Ed448!
* Double ratchet -- уже считается де-факто
* SHAKE хэширование, XSalsa20 вместо AES -- хорошие примитивы
* Deniability для долгоживущих приватных ключей. Этого раньше не было
* Появился secure session ID -- короткая строка для аутентификации
  сторонними каналами
* Небольшая защита от поломок ECC с использованием, так называемых,
  brace ключей
* Heartbeating канала
* Пользовательские профили
* Дополнительная выработка ключей для сторонних нужд

В целом он гораздо более сложный чем OTRv3. Что, в общем-то, напрягает.