]> Sergey Matveev's repositories - stargrave-blog.git/commitdiff
Криптография в Session IM
authorSergey Matveev <stargrave@stargrave.org>
Wed, 15 Jan 2025 09:49:29 +0000 (12:49 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Wed, 15 Jan 2025 09:49:29 +0000 (12:49 +0300)
https://soatok.blog/2025/01/14/dont-use-session-signal-fork/
https://getsession.org/session-protocol-explained
Про свой первый взгляд на Session я уже писал в
089bf4d15b98749dc24ee1bb149c53e080e86837. Но на протокол и криптографию
не смотрел. А тут, оказывается, эти ребята вообще решили выпилить и PFS
и deniability свойства. По мне, для IM-а, так этого с лихвой достаточно
чтобы не рассматривать это решение и дальше, ибо ужас.

Но, судя по предоставленным кускам кода в статье, при генерировании
Ed25519 ключей, они используют всего 128-бит энтропию, вместо ~256 бит.
То есть понижая безопасность 25519 до уровня пригодного для brute force
(причём, видимо, даже сейчас на практике).

Думаете, так обосраться было мало? Session постарался. Подписи в
сообщениях проверяются напротив публичного ключа, приложенного к этим же
самым сообщениям. То бишь, они просто по сути проверяют их целостность.
Даже протокол Telegram уже кажется куда более безопасным чем это.

Но они пошли дальше: в качестве симметричного ключа в сообщениях
используется публичный ключ корреспондента. Это фиаско хуже некуда.

В общем, Session это просто лютейшее говно к которому ни в коем случае
нельзя прикасаться. Даже Tox, с его проблемой KCI во время рукопожатия,
просто непробиваем по сравнению с этим.


No differences found