Защищенный мессенджер SafeUM является по-настоящему безопасным продуктом. Нами реализовано несколько схем и алгоритмов шифрования, обеспечивающих беспрецедентно высокий уровень криптозащиты пользователей.
Как генерируются ключи шифрования? При первой авторизации в программе пользователи могут сами генерировать Закрытый и Открытый ключи шифрования на основе Ключевой фразы. Ключевая фраза - это набор слов или символов, известный только Вам.
Ключевая фраза никогда не передается на наши серверы и не сохраняется в устройстве. Обязательно запомните Вашу Ключевую фразу, в противном случае Вы больше никогда не сможете (и никто не сможет!) получить доступ к истории Ваших шифрованных диалогов. Мы храним на наших серверах только копию Вашего Открытого ключа, это необходимо для аутентификации и верификации собеседников.
Закрытый ключ также никогда не передается на серверы SafeUM, он находится ИСКЛЮЧИТЕЛЬНО в оперативной памяти Вашего устройства и после его выключения или перезагрузки стирается. В случае изменения собеседником своих Ключей шифрования Вы автоматически будете проинформированы об этом и сможете решить, продолжить общение или нет. Дополнительную проверку ключей собеседника можно провести с помощью функции “Верификация ключей пользователя по QR-коду”. Генерация Ключей шифрования подобным способом позволяет вам общаться безопасно без привязки к определенному устройству (компьютер, планшет, смартфон).
Как шифруются сообщения в чате? Мы реализовали свою собственную криптозащиту, над разработкой которой трудилась международная команда программистов и криптографов. КАЖДОЕ сообщение Вашего диалога защищено уникальными Ключами шифрования. Для того, чтобы расшифровать весь диалог, сперва нужно расшифровать каждое сообщение. На это может уйти более 50-ти лет при наличии всех вычислительных мощностей планеты.
Групповые шифрованные чаты? Это вполне реально! В SafeUM общаться в шифрованном групповом чате так же легко, как и в обычном персональном диалоге. В групповом шифрованном чате доступны передача файлов, защита от снимков экрана и отключение истории. Создает группу Модератор, он же определяет политику безопасности и управляет настройками. У остальных участников шифрованного группового чата эта возможность отключена. Вы можете быть абсолютно уверенными в том, что никто из абонентов не сможет применить другие настройки и Ваша переписка не попадет в третьи руки.
Сообщения и файлы приходят как онлайн, так и оффлайн абонентам. В режиме P2P переписка и обмен файлами возможны только межу онлайн абонентами и история переписки не сохраняется. Участники могут покидать/удалять группу по своему усмотрению. Покинув группу, Вам будет доступна только та переписка, в которой Вы принимали участие. Если группа удаляется, она исчезает из контакт-листа со всей историей.
При смене ключей шифрования одним из участников группового диалога, остальные участники будут уведомлены об этом. Эта мера позволяет идентифицировать собеседников на предмет правомерного использования учетной записи.
P2P – это технология, которая легко решает проблемы защиты информации. При включенном режиме P2P наши серверы не участвуют в обмене данными, а всего лишь устанавливают связь между пользователями. Мы, как разработчики, физически не имеем доступа к информации. Атаки «man in the middle» исключены и технически невозможны, потому что каналы передачи информации неизвестны атакующему и вся информация, передающаяся по каналам, зашифрована уникальными Ключами шифрования. Кроме надежного шифрования, SafeUM также гарантирует подлинность отправителя и целостность данных с помощью механизма электронной цифровой подписи.
С технологией P2P Вы можете отправлять сообщения, установить видео связь через интернет и переслать документы абсолютно исключая угрозы информационной безопасности. История при включенном режиме P2P не сохраняется!
Классическая схема передачи информации, реализованная в SafeUM не менее безопасна. При этой схеме пользователи общаются через наши серверы, а каналы передачи информации и сама передаваемая информация шифруются уникальными ключами. Шифрование происходит при помощи уникальной криптозащиты, разработанной нашими специалистами.
Какие алгоритмы шифрования используются в SafeUM? При разработке мессенджера нами были использованы самые современные достижения в области криптографии. Это позволило создать уникальную гибридную систему, при которой все алгоритмы сочетаются в едином совершенном механизме защиты ваших личных данных и переписки.
Постоянная динамическая генерация AES* ключей исключает практическую возможность дешифрования данных третьими лицами при перехвате в канале связи. Использование алгоритма шифрования Эль-Гамаля** на эллиптических кривых с длинной ключа 256 бит обеспечивает беспрецедентный уровень криптографической стойкости. Для расшифровки каждого вашего сообщения потребуется несколько десятков лет и все вычислительные мощности земного шара.
AES (Advanced encryption standard)* - блочный шифр, используемый режим работы - CBC, длина ключа - 256 бит. Нормативный документ - FIPS 197 (федеральный стандарт США).
SHA-2 (Secure hash algorithm) - функция хеширования, длина блока - 256 бит. Нормативный документ - FIPS 180-4 (последняя редакция).
PRNG (pseudorandom number generator) - Генератор псевдослучайных последовательностей для криптографического применения. Нормативный документ - ANSI x9.17.
Шифрование и цифровая подпись на ЭК ( EC ElGamal, ECDSA). Нормативные документы X9.63-2001; Public Key Cryptography for the Financial Services Industry - Key Agreement and Key Transport Using Elliptic Curve Cryptography; FIPS PUB 186-4
Шифрование с открытым ключом Эль Гамаля (Elliptic Curve Cryptography)**
Redis – базы данных, работающие в оперативной памяти, без использования жестких дисков.
Математическая модель (информация для специалистов в области криптографии).
Передача данных между клиентом и сервером:
Для передачи данных между клиентом и сервером примеряется протокол WSS (Websocket Secure поверх TLS v2.0)
Для обеспечения безопасности данных в процессе передачи и хранения, обеспечивается шифрование AES (режим CTR, длина ключа 256 бит)
Для обеспечения безопасной передачи ключевых данных от пользователя A к пользователю B используется направленное шифрование ( Поле- GF(p), размер – 256 бит)
Детали алгоритма:
- каждое сообщение или файл шифруются при помощи 256-битного алгоритма AES в режиме работы CTR.;
- ключ для каждого сообщения вырабатывается случайным образом;
- ключ передается в криптографическом контейнере, с использованием шифрования ЭльГамаля на эллиптических кривых;
- аутентичность пользователя и целостность сообщений обеспечивается при помощи электронной цифровой подписи (ЭЦП) ECDSA;
- каждое сообщение передается с ЭЦП подписью;
- для асимметричных алгоритмов на ЭК, длина ключа составляет 256 бит.
Простыми словами, каждое сообщение шифруется при помощи некоторого случайно выработанного ключа AES (в дальнейшем обозначим его как X). Также, для каждого сообщения случайным образом генерируется значение IV.
Таким образом, мы имеем гибридную систему шифрования, где процедуры шифрования выполняются при помощи криптоалгоритма AES, а передача ключевых данных для него осуществляется при помощи несимметричного алгоритма шифрования ЭльГамаля на ЭК.
Описание алгоритма передачи ключевых данных:
Эллиптическая кривая: y^2 ≡ x^3 – ax +b (mod p) над GF(p), EC-256 в соответствии со стандартом FIPS 186-4.
Шаг 1. Генерация и вычисление ключей. Пусть х – приватный ключ, выработанный случайным образом. Y= x * P где P – базовая точка. Приватный ключ вычисляется при помощи функции хеширования от данных пользователя – имени и пароля, а также некоторых вспомогательных данных (salt). Он уникален для каждого пользователя.
Шаг 2. Шифрование сообщения. Обозначим как m открытые данные, m<p, m!=0; m!=1. Вычисляем некоторое случайное значение k (принадлежит GF(p)), Cb=k*P, Cs=k*Y, где Cb и Cs – точки ЭК. с = Cs.X – координата x точки Сs.
Вычисляем криптограмму: M1 = Cb, M2 = ( c * m ) mod p. В результате имеем Cg = { M1, M2} = { Cb, c*m mod p}.
Шаг 3. Расшифровка. Ct = x * M1 = x * Cb; c' = Ct.X() – координата х точки Ct; m восстанавливается как m = ( M2 / c' ) mod p; где операция деления представляет собой умножение на обратный элемент к c’ в поле GF(p).
Также, алгоритмом обеспечивается целостность данных и аутентификация пользователя. Это выполнено путем использования ЭЦП в соответствии с алгоритмом ECDSA, в соотв. со спецификацией FIPS 186-4.
Таким образом, каждое сообщение шифруется с использованием АES в режиме CTR, длина ключа – 256 бит. Ключ AES передается с использованием несимметричного шифрования ЭльГамаля, с применением ЭЦП ECDSA.
Форматы передаваемых шифрованных данных:
- Base64 формат (RFC 1421 и RFC 2045)
- WSS (Websocket Secure over TLS v2.0) RFC 6455
- трафик голосовых и видео данных – в соответствии с SRTP (RFC 3711)
Описание протоколов обмена данными и их применения:
- TCP, RFC 793 / STD 7 используется в качестве транспорта WebSockets
- UDP, RFC 768 используется для передачи мультимедийных данных
- Base64 (RFC 1421 и RFC 2045) используется для сжатия бинарных данных в процессе их передачи как между клиентами, так и между клиентами и серверами. Также, зашифрованные двоичные данные передаются в Base64
- JSON используется для упаковки строковых данных для передачи как между клиентами, так и между клиентами и серверами. Также, зашифрованные строки упаковываются в JSON
- TLS v2.0 (SSL v3.0) используется в качестве транспортного уровня WebSockets
- UDP (WEBRTC) WebRTC используется для аудио и видео связи
- SCTP (WEBRTC) используется для аудио и видео связи
- HTTPS (HTTP Secure over TLS v2.0) используется для авторизации пользователей и авторизации при доступе к панелям управления
- WSS (Websocket Secure over TLS v2.0) применяется для дополнительной защиты транспорта между клиентом и сервером
- ICE (Turn, Stun) применяется для прохождения NAT, что необходимо для P2P связи
- SRTP (RFC 3711) Используется в качестве основного транспорта для аудио и видео между клиентами.
Технологии защиты информации, реализованные в нашем мессенджере, используют последние научные достижения в области защиты персональных данных, уровень криптографической стойкости и оптимизации соответствует самым жестким стандартам, используемым в банковской сфере.
Axarhöfði 14,
110 Reykjavik, Iceland