@node FAQ Messenger @section Какой messenger выбрать? Мы рассматриваем только вопрос криптографической безопасности. Удобство это всегда дело субъективное: @strong{не бывает} инструментов удобных одновременно и профессионалам и новичкам. Поэтому важно выбрать открытый и свободный @strong{протокол}: к нему уже может быть много различных клиентов (и серверов) которые смогут удовлетворить вопросы удобства самых разных пользователей. Самый широкоподдерживаемый различными клиентами протокол это @url{https://otr.cypherpunks.ca/, Off-the-record} (OTR). Он может работать поверх любого транспортного протокола способного передавать английский текст (ASCII). Его можно рекомендовать: он существует уже более десяти лет, хорошо проанализирован и имеет хорошую безопасность. Также можно рекомендовать его производные версии: @url{https://www.whispersystems.org/blog/advanced-ratcheting/, TextSecure} и @url{https://github.com/trevp/axolotl/wiki, Axolotl}. Использовать OpenPGP систему для real-time общения можно, лучше чем ничего, но не рекомендуется: @itemize @item Компрометация OpenPGP ключей фатальна: потеряв их, сделав доступными злоумышленнику (например он установит keylogger и узнает парольную фразу от приватных ключей), все ваши отправленные сообщения можно будет дешифровать. OTR и производные от него протоколы используют протокол Диффи-Хельмана для создания сессионных ключей, нигде не сохраняющихся на жёстких дисках, при каждом сеансе связи -- компрометация долгоживущих OTR ключей не сможет обеспечить дешифрование сообщений. То есть, OTR обладает свойством "совершенной прямой секретности" (perfect forward secrecy). @item Подписи OpenPGP дают гарантию что они сделаны именно автором и не могут быть подделаны. OTR имеет свойство "правдоподобного отрицания" (plausible deniability): третья сторона, сторонний наблюдатель, не может доказать ваше авторство над добавляемыми аутентификационными данными к пересылаемым сообщениям. Только вы сможете однократно проверить аутентичность приходящих данных. Более того, режим шифрования сообщений выбран такой, что он позволяет проводить модификацию данных и третья сторона не может доказать что увиденные ею сообщения были получены без искажений. @item OpenPGP требует заранее установить доверие между собеседниками. Вы не можете безопасно общаться друг с другом пока не убедитесь что публичный ключ противоположной стороны действительно принадлежит нужному человеку. OTR же предлагает использование протокола @url{https://en.wikipedia.org/wiki/Socialist_millionaire, SMP} -- аутентификации собеседников с нулевым неразглашением (zero-knowledge password proof): пользователи могут задать друг другу вопросы и сравнить известные только им ответы, без утечки какой-либо информации о самих ответах в сеть. То есть, даже если между вами окажется человек-по-середине (man-in-the-middle), то он не сможет узнать ответы и использовать их для аутентификации позже. Вы можете использовать SMP протокол при каждом сеансе связи для того чтобы убедиться в подлинности человека на противоположной стороне: ведь у человека силой могут скомпрометировать его ключ OTR или он мог просто его поменять или потерять. @end itemize OpenPGP имеет другую нишу использования, он хорошо справляется с иными задачами чем специализированные для real-time communication системы.