Я реализовал Double Ratchet в React Native мессенджере. Разбор протокола и кода

В прошлой статье про трёхуровневый кэш сообщений я уже упоминал, что делаю мессенджер ONEMIX на React Native. Базовое E2E у меня было простое: ECDH P-256 для обмена ключами при первом контакте, AES-GCM для шифрования каждого сообщения общим секретом. Это работает, но имеет одну проблему: общий секрет один на всю переписку . Если у одной из сторон скомпрометируют приватный ключ — все сообщения за всё время превращаются в открытый текст. Это называется отсутствием Perfect Forward Secrecy (PFS). И это значит, что человек, к которому в руки попадёт твой телефон через год, может прочитать переписку из прошлого года. WhatsApp, Signal, и серьёзные части Telegram давно используют другую схему — Double Ratchet — которая ключи переизбретает заново на каждом сообщении. Так делают потому, что любой ключ компрометируется в один момент времени, и компрометация не должна давать доступа ни к прошлому, ни к будущему. Я реализовал Double Ratchet с нуля для ONEMIX. В этой статье разберу:

https://habr.com/ru/articles/1033830/

#double_ratchet #signal_protocol #e2e #endtoend_encryption #react_native #криптография #мессенджер #ecdh #hkdf #web_crypto_api

Я реализовал Double Ratchet в React Native мессенджере. Разбор протокола и кода

Уровень: senior · нужно базовое понимание криптографии (AES, ECDH, KDF) Стек: React Native, Expo SDK 54, WebCrypto API, expo-secure-store, TypeScript Что внутри: разбор протокола Signal Double...

Хабр

Windows #Hello support is coming for @cryptomator.

My #PR implementing this, including derivation of the #encryption/decryption key using #HKDF, was accepted.

Китайская криптография. Анализ проприетарного протокола MMTLS из WeChat

Изображение из документации протокола MMTLS Академическая исследовательская группа Citizen Lab из университета Торонто провела первый публичный анализ протокола шифрования MMTLS на предмет безопасности и конфиденциальности. Это основной протокол приложения WeChat , которым пользуется более 1,2 млрд человек ( 34% мобильного трафика в Китае в 2018 году). Как выяснилось, MMTLS представляет собой модифицированную версию TLS 1.3, причём многие изменения, внесённые разработчиками, привели к появлению слабых мест. Более того, в дополнение к MMTLS используется ешё менее безопасный, тоже проприетарный протокол, содержащий множество уязвимостей, в том числе детерминированные векторы инициализации в AES-GCM и отсутствие прямой секретности. Ниже он упоминается под названием Business-layer encryption.

https://habr.com/ru/companies/globalsign/articles/862300/

#TLS #MMTLS #WeChat #DH #AESGCM #AESCBC #MD5 #HKDF #шифрование #векторы_инициализации

Китайская криптография. Анализ проприетарного протокола MMTLS из WeChat

Изображение из документации протокола MMTLS Академическая исследовательская группа Citizen Lab из университета Торонто провела первый публичный анализ протокола шифрования MMTLS на предмет...

Хабр

wooohooo there is a new libsodium out! finally with HKDF support! been years without a proper release. kudos to @jedisct1 <3

https://github.com/jedisct1/libsodium/releases/tag/1.0.19-RELEASE

i love this part:
> libsodium can now be added as a dependency to Zig projects.

#libsodium #crypto #hkdf

Release 1.0.19 · jedisct1/libsodium

1.0.19 This release includes all the changes from 1.0.18-stable, as well as two additions: New AEADs: AEGIS-128L and AEGIS-256 are now available in the crypto_aead_aegis128l_*() and crypto_aead_ae...

GitHub

CLI Client for a Cryptographic Web Application

This is a long one. I write a new client for a real world E2E encrypted file transfer solution.

#aes #cryptography #hkdf #sha-256 #hash #hmac

https://youtu.be/GQBbgmbR1Ck

CLI Client for a Cryptographic Web Application

YouTube
What is the impact of leaving a salt used in HKDF open to attacker control?

RFC 5869 for HKDF says "an application needs to make sure that salt values are not chosen or manipulated by an attacker".1 Soatok also discusses some nuances in choosing salts for HKDF.2 ...

Cryptography Stack Exchange

HKDF is commonly used to derive key material just in time for its application. However, as a cryptography tool, HKDF is severely under documented and lacks prescriptive examples for intended use.

A large-tech blog shared their HKDF application and I identify several issues with its implementation. Inside is an anonymized version with critiques and improvements.

Tags: #cryptography #hkdf #blog #engineering #security

https://cendyne.dev/posts/2023-01-30-how-to-use-hkdf.html

How to use HKDF to derive new keys

HKDF is a great tool to derive sub-keys from a master key, however it is often misused! Be careful about the salt parameter and use info correctly!