Cryptocat — это настольное приложение с открытым исходным кодом , выпуск которого прекращен , предназначенное для обеспечения зашифрованного онлайн-чата, доступного для Windows , OS X и Linux . [3] Он использует сквозное шифрование для защиты всех коммуникаций с другими пользователями Cryptocat. Пользователям предоставляется возможность независимо проверять списки устройств своих друзей, и они получают уведомление, когда список устройств друга изменяется, а все обновления проверяются через встроенный загрузчик обновлений. [4]
Cryptocat был создан Надимом Кобейси и далее развивался вместе с сообществом участников с открытым исходным кодом и публикуется на условиях лицензии GPLv3 , хотя с тех пор его поддержка прекращена.
Cryptocat был впервые запущен 19 мая 2011 года как веб-приложение .
В июне 2012 года Кобейси заявил, что он был задержан на границе США сотрудниками DHS и допрошен по поводу сопротивления Cryptocat цензуре. Впоследствии он написал об инциденте в Твиттере, что привело к освещению в СМИ и резкому росту популярности программного обеспечения. [5]
В июне 2013 года исследователь безопасности Стив Томас указал на ошибку безопасности, которую можно было использовать для расшифровки любого сообщения группового чата, полученного с помощью Cryptocat в период с сентября 2012 года по 19 апреля 2013 года . [6] [7] Личные сообщения не были затронуты, и ошибка была устранена месяц назад. В ответ Cryptocat выпустил рекомендации по безопасности, попросил всех пользователей убедиться, что они обновились, и проинформировал пользователей о том, что прошлые групповые разговоры могли быть скомпрометированы. [7]
В феврале 2014 года аудит, проведенный iSec Partners, раскритиковал модель аутентификации Cryptocat как недостаточную. [8] В ответ Cryptocat внесла улучшения в систему аутентификации пользователей, упростив пользователям аутентификацию и обнаружение атак типа «человек посередине» . [9]
В феврале 2016 года, сославшись на недовольство текущим состоянием проекта после 19 месяцев простоя, Кобейси объявил, что временно отключит Cryptocat и прекратит разработку своего мобильного приложения в ожидании полной переписывания и перезапуска программного обеспечения. [10] В марте 2016 года Кобейси объявил о перевыпуске Cryptocat, полностью переписанного как настольное программное обеспечение вместо исходного программного обеспечения для веб-приложений, в качестве общедоступной бета-версии и возобновлении работы службы. [11] Новый подход, ориентированный на рабочий стол, позволил Cryptocat получить выгоду от более тесной интеграции с рабочим столом в стиле, аналогичном Pidgin .
В феврале 2019 года было объявлено о прекращении поддержки Cryptocat. [12] По состоянию на декабрь 2019 года в продаже домен cryptocat и ссылка на сайт для мессенджера Wire . [13]
Cryptocat позволяет своим пользователям настраивать сквозное зашифрованное общение в чате. Пользователи могут обмениваться личными сообщениями, зашифрованными файлами, фотографиями, а также создавать и обмениваться аудио/видео записями. Все устройства, связанные с учетными записями Cryptocat, будут получать защищенные сообщения для пересылки, даже когда они находятся в автономном режиме.
Все сообщения, файлы и аудио/видео записи, отправляемые через Cryptocat, полностью зашифрованы. Пользователи Cryptocat привязывают свои устройства к своей учетной записи Cryptocat при подключении и могут идентифицировать устройства друг друга через диспетчер устройств клиента, чтобы предотвратить атаки «человек посередине» . Cryptocat также использует механизм доверия при первом использовании , чтобы помочь обнаружить изменения ключа идентификации устройства.
Cryptocat также включает в себя встроенный механизм автоматического обновления, который автоматически выполняет проверку подписи загруженных обновлений для проверки их подлинности, а также использует закрепление сертификата TLS для предотвращения сетевых атак с использованием олицетворения.
Первоначально в 2013 году Cryptocat предлагал возможность подключения к Facebook Messenger для инициирования зашифрованного общения в чате с другими пользователями Cryptocat. [14] По словам разработчиков, эта функция должна была помочь предложить альтернативу обычной модели чата Cryptocat, которая не предлагала долгосрочные списки контактов. [15] Эта функция была отключена в ноябре 2015 года.
В июне 2013 года журналист Гленн Гринвальд использовал Cryptocat, когда находился в Гонконге для первой встречи с осведомителем АНБ Эдвардом Сноуденом , после того как другое программное обеспечение для шифрования не сработало. [16]
В ноябре 2013 года Cryptocat был запрещен в Иране , вскоре после избрания нового президента Ирана Хасана Рухани , который пообещал более открытые законы об Интернете. [17]
Cryptocat был включен в «Оценочную карту безопасного обмена сообщениями» Electronic Frontier Foundation с 4 ноября 2014 года по 13 марта 2016 года. За это время Cryptocat имел оценку 7 из 7 баллов в системе показателей. Он получил баллы за шифрование сообщений при передаче, шифрование сообщений с помощью ключей, к которым у провайдера не было доступа ( сквозное шифрование ), предоставление пользователям возможности независимо проверять личность своих корреспондентов, обеспечение безопасности прошлых сообщений, если ключи были украдены ( прямая секретность ), код открыт для независимой проверки ( открытый исходный код ), хорошо документированы конструкции безопасности и пройден независимый аудит безопасности. [18]
Cryptocat использует алгоритм двойного храпового механизма для обеспечения прямой и будущей секретности сообщений после установления сеанса с использованием четырехстороннего рукопожатия Диффи-Хеллмана на основе эллиптической кривой . При рукопожатии используются долгосрочные идентификационные ключи, промежуточный подписанный предварительный ключ и одноразовый предварительный ключ. [19] Этот подход аналогичен протоколу шифрования, принятому для зашифрованных сообщений в мобильном приложении Signal . Цель Cryptocat состоит в том, чтобы обеспечить конфиденциальность, целостность, подлинность источника, прямую и будущую секретность и неотличимость своих сообщений даже в сети, контролируемой активным злоумышленником. [4] Функции прямой секретности протокола, который использует Cryptocat, аналогичны тем, которые впервые были представлены в Off-the-Record Messaging .
Cryptocat использует расширенный стандарт шифрования в режиме Галуа/Счетчика для аутентификационного шифрования, Curve25519 для эллиптической кривой общего секретного соглашения Диффи-Хеллмана, HMAC-SHA256 для получения ключа и Ed25519 для подписи. [20] Чтобы ограничить эффект компрометации долгосрочного идентификационного ключа, долгосрочные ключи используются исключительно один раз для первоначального обмена ключами с аутентификацией и один раз для подписания вновь созданного промежуточного подписанного предварительного ключа.
На транспортном уровне Cryptocat использует стандарт многоконечного шифрования сообщений и объектов OMEMO , который также обеспечивает поддержку нескольких устройств Cryptocat и позволяет осуществлять обмен сообщениями в автономном режиме. [4]
Сеть Cryptocat опирается на конфигурацию XMPP , обслуживаемую через WebSockets . Согласно заявлению о миссии проекта, сеть Cryptocat передает только зашифрованные сообщения и не хранит никаких данных. [1] В дополнение к протоколу сквозного шифрования клиента Cryptocat связь клиент-сервер защищена TLS .
С марта 2011 по март 2016 года Cryptocat официально распространялся через Интернет-магазин Google Chrome , Apple App Store и другие официальные каналы, контролируемые целевыми платформами. После перезаписи Cryptocat в настольное программное обеспечение в марте 2016 года оно стало распространяться исключительно через собственные серверы Cryptocat, которые также осуществляют доставку подписанных обновлений. [21]