[О блоге] [наверх] [пред] [2023-10-19 18:59:28+03:00] [54420404634a2a4b2c8f4fe4f2e4d3ac6961ec1d]
Темы: [crypto]

Во второй версии udpobfs используется TLS 1.3

В udpobfs (552979396ad8de1f3bbeb409f1c2a65f7446806b,
77002b8c0c2ee7bf0840141f8d972f63672f4d92) прежде не было ничего что
касается handshake, что не шибко удобно конечно.

Отталкиваясь от того, что уж TLS то должен работать, то пускай сначала
устанавливается TLS 1.3 соединение, а уж из него экспортируется ключевой
материал. И аутентификация двусторонняя появляется сразу же сильная, на
основе X.509 ключевых пар.

Также осуществляется посылка пустых (payload) пакетов каждые десять
секунд, если легитимного трафика нет. Ну и heartbeat по TLS каналу.
И сколько угодно параллельно сессий может работать, в отличии от
предыдущего варианта.

Вместо полноценного шифра использую BLAKE3 XOF который XOR-ится с
данными. На маленьких пакетах это немного медленнее ChaCha20-Poly1305,
но те кто приближается к килобайтному размеру -- уже быстрее. Poly1305
соответственно заменён BLAKE3-MAC. Для выработки ключей -- BLAKE3-KDF.
Размер MAC-а увеличил с 5 до 6 байт, за счёт уменьшения передаваемого
номера на 1 байт -- этого всё равно достаточно, судя по всему.
Шифрование заголовка Blowfish-ем так и осталось.

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