Эта статья является кандидатом в добротные статьи

Протокол Signal: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
оформление, категоризация
Нет описания правки
Строка 1: Строка 1:
'''Протокол Сигнала''' ''({{lang-en|Signal Protocol}}, ранее известный как [[TextSecure]] Protocol)'' — это не федеративный криптографический протокол, который может быть использован для обеспечения [[Сквозное шифрование|сквозного шифрования]] голосовых вызовов, видеозвонков<ref>{{cite web
'''Протокол Сигнала''' ''({{lang-en|Signal Protocol}}, ранее известный как [[TextSecure]] Protocol)'' — это не федеративный [[криптографический протокол]], который может быть использован для обеспечения [[Сквозное шифрование|сквозного шифрования]] голосовых вызовов, видеозвонков<ref name = "Video calls for Signal now in public beta">{{cite web
|url = https://signal.org/blog/signal-video-calls-beta/
|url = https://signal.org/blog/signal-video-calls-beta/
|title = "Video calls for Signal now in public beta"
|title = "Video calls for Signal now in public beta"
Строка 5: Строка 5:
|date = 14 February 2017
|date = 14 February 2017
|accessdate = 2018-12-08
|accessdate = 2018-12-08
}}</ref> и мгновенных сообщений<ref>{{cite web
}}</ref> и [[Мгновенные сообщения|мгновенных сообщений]]<ref name = "End-to-End Encrypted Messaging Protocols: An Overview">{{cite web
|url = https://link.springer.com/chapter/10.1007/978-3-319-45982-0_22
|url = https://link.springer.com/chapter/10.1007/978-3-319-45982-0_22
|title = "End-to-End Encrypted Messaging Protocols: An Overview"
|title = "End-to-End Encrypted Messaging Protocols: An Overview"
Строка 12: Строка 12:
|accessdate = 2018-12-08
|accessdate = 2018-12-08
}}
}}
</ref>. Протокол был разработан [[Open Whisper Systems]] в 2013 году<ref name="End-to-End Encrypted Messaging Protocols: An Overview" /> и впервые был представлен в приложении [[TextSecure]] с открытым [[Исходный код|исходным кодом]], которое позже было объединено в приложение Signal. Несколько приложений с закрытым исходным кодом, например такие как [[WhatsApp]], утверждают, что реализовали протокол, который, по их словам, шифрует разговоры «более миллиарда человек во всем мире»<ref>{{cite web
</ref>. Протокол был разработан [[Open Whisper Systems]] в 2013 году<ref>{{cite web
|url = https://link.springer.com/chapter/10.1007/978-3-319-45982-0_22
|title = "End-to-End Encrypted Messaging Protocols: An Overview"
|author = Ksenia Ermoshina, Francesca Musiani, Harry Halpin
|date = 25 August 2016
|accessdate = 2018-12-08
}}
</ref> и впервые был представлен в приложении [[TextSecure]] с открытым исходным кодом, которое позже было объединено в приложение Signal. Несколько приложений с закрытым исходным кодом, например такие как [[WhatsApp]], утверждают, что реализовали протокол, который, по их словам, шифрует разговоры «более миллиарда человек во всем мире».<ref>{{cite web
|url = http://fortune.com/40-under-40/moxie-marlinspike-31/
|url = http://fortune.com/40-under-40/moxie-marlinspike-31/
|title = "40 Under 40"
|title = "40 Under 40"
Строка 26: Строка 19:
|accessdate = 2018-12-08
|accessdate = 2018-12-08
}}
}}
</ref> Facebook Messenger также утверждают, что они предлагают протокол для дополнительных «секретных сеансов связи», как и [[Google Allo]] для своего «режима инкогнито».
</ref>. [[Facebook Messenger]] также утверждают, что они предлагают протокол для дополнительных «секретных сеансов связи», как и [[Google Allo]] для своего «режима инкогнито».


Протокол сочетает в себе [[Алгоритм Двойного Храповика|Double Ratchet Algorithm]], prekeys и расширенный протокол тройного обмена ключами Диффи-Хеллмана (3-DH),<ref>{{cite web
Протокол сочетает в себе [[Алгоритм Двойного Храповика|Double Ratchet Algorithm]], prekeys и расширенный протокол тройного обмена ключами Диффи-Хеллмана (3-DH),<ref name = "SoK: Secure Messaging">{{cite web
|url = http://www.ieee-security.org/TC/SP2015/papers-archived/6949a232.pdf
|url = http://www.ieee-security.org/TC/SP2015/papers-archived/6949a232.pdf
|title = "SoK: Secure Messaging"
|title = "SoK: Secure Messaging"
Строка 41: Строка 34:
|access date = 2018-12-07
|access date = 2018-12-07
}}
}}
</ref> и использует Curve25519, [[AES-256]] и HMAC-SHA256 в качестве примитивов.<ref>{{cite web
</ref> и использует Curve25519, [[AES-256]] и HMAC-SHA256 в качестве примитивов.<ref name = "How Secure is TextSecure?">{{cite web
|url = https://eprint.iacr.org/2014/904.pdf
|url = https://eprint.iacr.org/2014/904.pdf
|title = "How Secure is TextSecure?"
|title = "How Secure is TextSecure?"
Строка 56: Строка 49:


== История создания ==
== История создания ==
Разработка Протокола Сигнала была начата в 2013 году Тревором Перрином ([[англ.]] Trevor Perrin) и Мокси Марлинспайком ([[англ.]] Moxie Marlinspike), основателем [[Open Whisper Systems]]. Целью этой организации является развитие простого в использовании набора мобильных приложений для безопасного общения. Организация основана в 2013 году и состоит из небольшой группы разработчиков, финансируемой за счёт пожертвований и грантов, а также большого сообщества разработчиков-добровольцев. Первая версия протокола, TextSecure v1, была основана на протоколе [[Off-the-Record Messaging]] (OTR) для систем мгновенного обмена сообщениями.<ref>{{cite web
Разработка Протокола Сигнала была начата в 2013 году Тревором Перрином ([[англ.]] Trevor Perrin) и Мокси Марлинспайком ([[англ.]] Moxie Marlinspike), основателем [[Open Whisper Systems]]. Целью этой организации является развитие простого в использовании набора мобильных приложений для безопасного общения. Организация основана в 2013 году и состоит из небольшой группы разработчиков, финансируемой за счёт пожертвований и грантов, а также большого сообщества разработчиков-добровольцев. Первая версия протокола, TextSecure v1, была основана на протоколе [[Off-the-Record Messaging]] (OTR) для систем мгновенного обмена сообщениями.<ref name = "A Formal Security Analysis of the Signal Messaging Protocol">{{cite web
|url = https://eprint.iacr.org/2016/1013.pdf
|url = https://eprint.iacr.org/2016/1013.pdf
|title = "A Formal Security Analysis of the Signal Messaging Protocol"
|title = "A Formal Security Analysis of the Signal Messaging Protocol"
Строка 83: Строка 76:
|accessdate = 2018-12-08
|accessdate = 2018-12-08
}}
}}
</ref>, который был перенесен в алгоритм Axolotl Ratchet.<ref>{{cite web
</ref>, который был перенесен в алгоритм Axolotl Ratchet<ref name="A Formal Security Analysis of the Signal Messaging Protocol" />.<ref>{{cite web
|url = https://eprint.iacr.org/2016/1013.pdf
|title = "A Formal Security Analysis of the Signal Messaging Protocol"
|author = Katriel Cohn-Gordon
, Cas Cremers
, Benjamin Dowling
, Luke Garratt
, Douglas Stebila
|date = 2017-11
|access date = 2018-12-07
}}
</ref><ref>{{cite web
|url = https://web.archive.org/web/20141015215356/https://github.com/WhisperSystems/TextSecure/wiki/ProtocolV2
|url = https://web.archive.org/web/20141015215356/https://github.com/WhisperSystems/TextSecure/wiki/ProtocolV2
|title = "ProtocolV2"
|title = "ProtocolV2"
Строка 101: Строка 83:
|accessdate = 2018-12-08
|accessdate = 2018-12-08
}}
}}
</ref> идея Axolotl Ratchet основана на эфемерном обмене ключами, который был представлен OTR, и сочетает его с храповым механизмом симметричного ключа, по образцу протокола мгновенного обмена сообщениями Silent Circle Instant Messaging Protocol (SCIMP).<ref>{{cite web
</ref> идея Axolotl Ratchet основана на эфемерном обмене ключами, который был представлен OTR, и сочетает его с храповым механизмом симметричного ключа, по образцу протокола мгновенного обмена сообщениями Silent Circle Instant Messaging Protocol (SCIMP)<ref name = "Advanced cryptographic ratcheting">{{cite web
|url = https://signal.org/blog/advanced-ratcheting/
|url = https://signal.org/blog/advanced-ratcheting/
|title = "Advanced cryptographic ratcheting"
|title = "Advanced cryptographic ratcheting"
Строка 108: Строка 90:
|access date = 2018-12-07
|access date = 2018-12-07
}}
}}
</ref> Это смогло осуществить поддержку асинхронной связи («оффлайновые сообщения») в качестве его главной новой особенности, а также позволило повысить устойчивость при искаженном порядке сообщений и упростить поддержку разговоров с несколькими участниками.<ref>{{cite web
</ref>. Это смогло осуществить поддержку асинхронной связи («оффлайновые сообщения») в качестве его главной новой особенности, а также позволило повысить устойчивость при искаженном порядке сообщений и упростить поддержку разговоров с несколькими участниками<ref name="SoK: Secure Messaging" />. Axolotl Ratchet был назван в честь вымирающих земноводных — [[Аксолотль|аксолотлей]], которые имеют экстраординарные способности к самоисцелению. Разработчики называют этот алгоритм самовосстанавливающимся, так как он автоматически отключает злоумышленнику доступ к открытым текстам последующих сообщений после взлома ключа сеанса<ref name="Advanced cryptographic ratcheting" />.
|url = http://www.ieee-security.org/TC/SP2015/papers-archived/6949a232.pdf
|title = "SoK: Secure Messaging"
|author = Nik Unger
, Sergej Dechand
Joseph Bonneau
, Sascha Fahl
, Henning Perl
Ian Goldberg
, Matthew Smith
|date = 2015
|access date = 2018-12-07
}}
</ref> Axolotl Ratchet был назван в честь вымирающих земноводных — [[Аксолотль|аксолотлей]], которые имеют экстраординарные способности к самоисцелению. Разработчики называют этот алгоритм самовосстанавливающимся, так как он автоматически отключает злоумышленнику доступ к открытым текстам последующих сообщений после взлома ключа сеанса.<ref>{{cite web
|url = https://signal.org/blog/advanced-ratcheting/
|title = "Advanced cryptographic ratcheting"
|author = Marlinspike, Moxie
|date = 2013-11-26
|access date = 2018-12-07
}}
</ref>


Третья версия протокола, TextSecure v3, внесла некоторые изменения в криптографические примитивы и проводной протокол.<ref>{{cite web
Третья версия протокола, TextSecure v3, внесла некоторые изменения в криптографические примитивы и проводной протокол<ref name="A Formal Security Analysis of the Signal Messaging Protocol" />. В октябре 2014 года исследователи из Рурского университета в Бохуме опубликовали анализ TextSecure v3<ref name="How Secure is TextSecure?" /> <ref name="A Formal Security Analysis of the Signal Messaging Protocol" />. Среди прочих результатов, они представили неизвестную атаку обмена ключами на протокол, но в целом они обнаружили, что он был защищен.<ref>{{cite web
|url = https://eprint.iacr.org/2016/1013.pdf
|title = "A Formal Security Analysis of the Signal Messaging Protocol"
|author = Katriel Cohn-Gordon
, Cas Cremers
, Benjamin Dowling
, Luke Garratt
, Douglas Stebila
|date = 2017-11
|access date = 2018-12-07
}}
</ref> В октябре 2014 года исследователи из Рурского университета в Бохуме опубликовали анализ TextSecure v3.<ref>{{cite web
|url = https://eprint.iacr.org/2014/904.pdf
|title = "How Secure is TextSecure?"
|author = Tilman Frosch
, Christian Mainka
, Christoph Bader
, Florian Bergsma
, Jorg Schwenk
, Thorsten Holz
|date = 2014
|access date = 2018-12-07
}}
</ref><ref>{{cite web
|url = https://eprint.iacr.org/2016/1013.pdf
|title = "A Formal Security Analysis of the Signal Messaging Protocol"
|author = Katriel Cohn-Gordon
, Cas Cremers
, Benjamin Dowling
, Luke Garratt
, Douglas Stebila
|date = 2017-11
|access date = 2018-12-07
}}
</ref> Среди прочих результатов, они представили неизвестную атаку обмена ключами на протокол, но в целом они обнаружили, что он был защищен.<ref>{{cite web
|url = https://www.theregister.co.uk/2014/11/03/how_secure_is_textsecure_pretty_well_secure/
|url = https://www.theregister.co.uk/2014/11/03/how_secure_is_textsecure_pretty_well_secure/
|title = "Auditors find encrypted chat client TextSecure is secure"
|title = "Auditors find encrypted chat client TextSecure is secure"
Строка 173: Строка 101:
</ref>
</ref>


В марте 2016 года разработчики переименовали протокол как Протокол Сигнала. Они также переименовали алгоритм Axolotl Ratchet в [[Алгоритм Двойного Храповика|Double Ratchet Algorithm]], чтобы лучше различать алгоритм и полный протокол<ref>{{cite web
В марте 2016 года разработчики переименовали протокол как Протокол Сигнала. Они также переименовали алгоритм Axolotl Ratchet в [[Алгоритм Двойного Храповика|Double Ratchet Algorithm]], чтобы лучше различать алгоритм и полный протокол<ref name = "Signal on the outside, Signal on the inside">{{cite web
|url = https://signal.org/blog/signal-inside-and-out/
|url = https://signal.org/blog/signal-inside-and-out/
|title = "Signal on the outside, Signal on the inside"
|title = "Signal on the outside, Signal on the inside"
Строка 180: Строка 108:
|access date = 2018-12-07
|access date = 2018-12-07
}}
}}
</ref>, потому что некоторые использовали имя Аксолотль при обращении к полному протоколу.<ref>{{cite web
</ref>, потому что некоторые использовали имя Аксолотль при обращении к полному протоколу<ref name="Signal on the outside, Signal on the inside" />.
|url = https://eprint.iacr.org/2016/1013.pdf
|title = "A Formal Security Analysis of the Signal Messaging Protocol"
|author = Katriel Cohn-Gordon
, Cas Cremers
, Benjamin Dowling
, Luke Garratt
, Douglas Stebila
|date = 2017-11
|access date = 2018-12-07
}}
</ref><ref>{{cite web
|url = https://signal.org/blog/signal-inside-and-out/
|title = "Signal on the outside, Signal on the inside"
|author = Marlinspike, Moxie
|date = 2016-03-30
|access date = 2018-12-07
}}
</ref>


По состоянию на октябрь 2016 года Протокол Сигнала был основан на протоколе TextSecure v3, но с дополнительными криптографическими изменениями.<ref>{{cite web
По состоянию на октябрь 2016 года Протокол Сигнала был основан на протоколе TextSecure v3, но с дополнительными криптографическими изменениями<ref name="A Formal Security Analysis of the Signal Messaging Protocol" />. В октябре 2016 года исследователи из Оксфордского университета в Великобритании, австралийского Технологического Университета Квинсленда и канадского Университета Макмастера опубликовали официальный анализ протокола.<ref name = "Signal Audit Reveals Protocol Cryptographically Sound">{{cite web
|url = https://eprint.iacr.org/2016/1013.pdf
|title = "A Formal Security Analysis of the Signal Messaging Protocol"
|author = Katriel Cohn-Gordon
, Cas Cremers
, Benjamin Dowling
, Luke Garratt
, Douglas Stebila
|date = 2017-11
|access date = 2018-12-07
}}
</ref> В октябре 2016 года исследователи из Оксфордского университета в Великобритании, австралийского Технологического Университета Квинсленда и канадского Университета Макмастера опубликовали официальный анализ протокола.<ref>{{cite web
|url = https://threatpost.com/signal-audit-reveals-protocol-cryptographically-sound/121892/
|url = https://threatpost.com/signal-audit-reveals-protocol-cryptographically-sound/121892/
|title = "Signal Audit Reveals Protocol Cryptographically Sound"
|title = "Signal Audit Reveals Protocol Cryptographically Sound"
Строка 218: Строка 117:
|access date = 2018-12-08
|access date = 2018-12-08
}}
}}
</ref><ref name="A Formal Security Analysis of the Signal Messaging Protocol" /> Они пришли к выводу, что данный протокол криптографически надежен<ref name="Signal Audit Reveals Protocol Cryptographically Sound" /><ref name="A Formal Security Analysis of the Signal Messaging Protocol" />.
</ref><ref>{{cite web
|url = https://eprint.iacr.org/2016/1013.pdf
|title = "A Formal Security Analysis of the Signal Messaging Protocol"
|author = Katriel Cohn-Gordon
, Cas Cremers
, Benjamin Dowling
, Luke Garratt
, Douglas Stebila
|date = 2017-11
|access date = 2018-12-07
}}
</ref> Они пришли к выводу, что данный протокол криптографически надежен.<ref>{{cite web
|url = https://threatpost.com/signal-audit-reveals-protocol-cryptographically-sound/121892/
|title = "Signal Audit Reveals Protocol Cryptographically Sound"
|author = Chris Brook
|date = November 10, 2016
|access date = 2018-12-08
}}
</ref><ref>{{cite web
|url = https://eprint.iacr.org/2016/1013.pdf
|title = "A Formal Security Analysis of the Signal Messaging Protocol"
|author = Katriel Cohn-Gordon
, Cas Cremers
, Benjamin Dowling
, Luke Garratt
, Douglas Stebila
|date = 2017-11
|access date = 2018-12-07
}}
</ref>


== Свойства ==
== Свойства ==
Протокол обеспечивает конфиденциальность, целостность, аутентификацию, согласованность участников, проверку назначения, прямую секретность, пост-скомпрометированную безопасность ([[англ.]] Post-Compromise Security, известная как Future Secrecy), сохранение причинно-следственной связи, несвязанность сообщений, отказ от сообщений, отказ от участия и асинхронность.<ref>{{cite web
Протокол обеспечивает конфиденциальность, целостность, аутентификацию, согласованность участников, проверку назначения, прямую секретность, пост-скомпрометированную безопасность ([[англ.]] Post-Compromise Security, известная как Future Secrecy), сохранение причинно-следственной связи, несвязанность сообщений, отказ от сообщений, отказ от участия и асинхронность<ref name="SoK: Secure Messaging" />. Он не обеспечивает сохранение анонимности и требует наличие серверов для ретрансляции сообщений и хранения информации об открытом ключе<ref name="SoK: Secure Messaging" />.
|url = http://www.ieee-security.org/TC/SP2015/papers-archived/6949a232.pdf
|title = "SoK: Secure Messaging"
|author = Nik Unger
, Sergej Dechand
Joseph Bonneau
, Sascha Fahl
, Henning Perl
Ian Goldberg
, Matthew Smith
|date = 2015
|access date = 2018-12-07
}}
</ref> Он не обеспечивает сохранение анонимности и требует наличие серверов для ретрансляции сообщений и хранения информации об открытом ключе.<ref>{{cite web
|url = http://www.ieee-security.org/TC/SP2015/papers-archived/6949a232.pdf
|title = "SoK: Secure Messaging"
|author = Nik Unger
, Sergej Dechand
Joseph Bonneau
, Sascha Fahl
, Henning Perl
Ian Goldberg
, Matthew Smith
|date = 2015
|access date = 2018-12-07
}}
</ref>


Протокол Сигнала также поддерживает возможность сквозных зашифрованных групповых чатов. Протокол группового чата представляет собой комбинацию парного двойного храпового механизма и многоадресного шифрования.<ref>{{cite web
Протокол Сигнала также поддерживает возможность сквозных зашифрованных групповых чатов. Протокол группового чата представляет собой комбинацию парного двойного храпового механизма и многоадресного шифрования<ref name="SoK: Secure Messaging" />. В дополнение к свойствам, предоставляемых one-to-one протоколом, протокол группового чата обеспечивает согласованность участников, устойчивость к неупорядоченности, отказоустойчивость сообщений, вычислительное равноправие, равноправие доверия, обмен сообщениями в подгруппах, а также сужаемое и расширяемое количество участников<ref name="SoK: Secure Messaging" />.
|url = http://www.ieee-security.org/TC/SP2015/papers-archived/6949a232.pdf
|title = "SoK: Secure Messaging"
|author = Nik Unger
, Sergej Dechand
Joseph Bonneau
, Sascha Fahl
, Henning Perl
Ian Goldberg
, Matthew Smith
|date = 2015
|access date = 2018-12-07
}}
</ref> В дополнение к свойствам, предоставляемых one-to-one протоколом, протокол группового чата обеспечивает согласованность участников, устойчивость к неупорядоченности, отказоустойчивость сообщений, вычислительное равноправие, равноправие доверия, обмен сообщениями в подгруппах, а также сужаемое и расширяемое количество участников.<ref>{{cite web
|url = http://www.ieee-security.org/TC/SP2015/papers-archived/6949a232.pdf
|title = "SoK: Secure Messaging"
|author = Nik Unger
, Sergej Dechand
Joseph Bonneau
, Sascha Fahl
, Henning Perl
Ian Goldberg
, Matthew Smith
|date = 2015
|access date = 2018-12-07
}}
</ref>


=== Аутентификация ===
=== Аутентификация ===
Для аутентификации пользователи могут вручную сравнивать [[Отпечаток открытого ключа|отпечатки открытого ключа]] через внешний канал.<ref>{{cite web
Для аутентификации пользователи могут вручную сравнивать [[Отпечаток открытого ключа|отпечатки открытого ключа]] через внешний канал.<ref name = "Privacy and Data Protection in Smartphone Messengers">{{cite web
|url = https://www.sba-research.org/wp-content/uploads/publications/paper_drafthp.pdf
|title = "Privacy and Data Protection in Smartphone Messengers"
|author = Christoph Rottermanner
, Peter Kieseberg
, Markus Huber
, Martin Schmiedecker
, Sebastian Schrittwieser
|date = December 2015
|access date = 2018-12-08
}}
</ref> Это позволяет пользователям проверять личности друг друга и избегать [[man-in-the-middle]] атаки.<ref>{{cite web
|url = https://www.sba-research.org/wp-content/uploads/publications/paper_drafthp.pdf
|title = "Privacy and Data Protection in Smartphone Messengers"
|author = Christoph Rottermanner
, Peter Kieseberg
, Markus Huber
, Martin Schmiedecker
, Sebastian Schrittwieser
|date = December 2015
|access date = 2018-12-08
}}
</ref> Реализация также может использовать механизм доверия при первом использовании, чтобы уведомлять пользователей об изменении ключа корреспондента<ref>{{cite web
|url = https://www.sba-research.org/wp-content/uploads/publications/paper_drafthp.pdf
|url = https://www.sba-research.org/wp-content/uploads/publications/paper_drafthp.pdf
|title = "Privacy and Data Protection in Smartphone Messengers"
|title = "Privacy and Data Protection in Smartphone Messengers"
Строка 340: Строка 136:
|access date = 2018-12-08
|access date = 2018-12-08
}}
}}
</ref> Это позволяет пользователям проверять личности друг друга и избегать [[man-in-the-middle]] атаки<ref name="Privacy and Data Protection in Smartphone Messengers" />. Реализация также может использовать механизм доверия при первом использовании, чтобы уведомлять пользователей об изменении ключа корреспондента<ref name="Privacy and Data Protection in Smartphone Messengers" />.
</ref>.


=== Метаданные ===
=== Метаданные ===
Протокол Cигнала не мешает компаниям сохранять информацию о том, когда и с кем общаются пользователи.<ref>{{cite web
Протокол Cигнала не мешает компаниям сохранять информацию о том, когда и с кем общаются пользователи<ref name="Privacy and Data Protection in Smartphone Messengers" /><ref name = "Battle of the Secure Messaging Apps: How Signal Beats WhatsApp">{{cite web
|url = https://www.sba-research.org/wp-content/uploads/publications/paper_drafthp.pdf
|title = "Privacy and Data Protection in Smartphone Messengers"
|author = Christoph Rottermanner
, Peter Kieseberg
, Markus Huber
, Martin Schmiedecker
, Sebastian Schrittwieser
|date = December 2015
|access date = 2018-12-08
}}
</ref><ref>{{cite web
|url = https://theintercept.com/2016/06/22/battle-of-the-secure-messaging-apps-how-signal-beats-whatsapp/
|url = https://theintercept.com/2016/06/22/battle-of-the-secure-messaging-apps-how-signal-beats-whatsapp/
|title = "Battle of the Secure Messaging Apps: How Signal Beats WhatsApp"
|title = "Battle of the Secure Messaging Apps: How Signal Beats WhatsApp"
Строка 361: Строка 146:
|access date = 2018-12-08
|access date = 2018-12-08
}}
}}
</ref> Следовательно могут быть различия в том, как поставщики услуг обмена сообщениями выбирают обработку этой информации. Политика конфиденциальности Сигнала гласит, что идентификаторы получателей хранятся только на серверах Сигнала столько времени, сколько необходимо для передачи каждого сообщения. В июне 2016 года Мокси Марлинспайк рассказал The Intercept: «Ближайшая часть информации к метаданным, которую хранит сервер Сигнала, это последний раз, когда каждый пользователь подключается к серверу, и точность этой информации снижается до дня, а не до часа. минуты и секунды.»<ref>{{cite web
</ref>. Следовательно могут быть различия в том, как поставщики услуг обмена сообщениями выбирают обработку этой информации. Политика конфиденциальности Сигнала гласит, что идентификаторы получателей хранятся только на серверах Сигнала столько времени, сколько необходимо для передачи каждого сообщения. В июне 2016 года Мокси Марлинспайк рассказал The Intercept: «Ближайшая часть информации к метаданным, которую хранит сервер Сигнала, это последний раз, когда каждый пользователь подключается к серверу, и точность этой информации снижается до дня, а не до часа, минуты и секунды.»<ref name="Battle of the Secure Messaging Apps: How Signal Beats WhatsApp" />
|url = https://theintercept.com/2016/06/22/battle-of-the-secure-messaging-apps-how-signal-beats-whatsapp/
|title = "Battle of the Secure Messaging Apps: How Signal Beats WhatsApp"
|author = Micah Lee
|date = June 22 2016
|access date = 2018-12-08
}}
</ref>


== Использование ==
== Использование ==
[[Open Whisper Systems]] впервые представила протокол в своем приложении [[TextSecure]]. Позже они объединили приложение TextSecure с зашифрованным голосовым вызовом под названием RedPhone и переименовали его в Signal. RedPhone использовал [[ZRTP]] для шифрования своих вызовов. В марте 2017 года Signal перешел на новую систему вызовов на основе [[WebRTC]]<ref>{{cite web
[[Open Whisper Systems]] впервые представила протокол в своем приложении [[TextSecure]]. Позже они объединили приложение TextSecure с зашифрованным голосовым вызовом под названием RedPhone и переименовали его в Signal. RedPhone использовал [[ZRTP]] для шифрования своих вызовов. В марте 2017 года Signal перешел на новую систему вызовов на основе [[WebRTC]]<ref name="Video calls for Signal now in public beta" />, в которой также появилась возможность совершать видеозвонки.<ref>{{cite web
|url = https://signal.org/blog/signal-video-calls-beta/
|title = "Video calls for Signal now in public beta"
|author = Moxie Marlinspike
|date = 14 February 2017
|accessdate = 2018-12-08
}}
</ref>, в которой также появилась возможность совершать видеозвонки.<ref>{{cite web
|url = https://signal.org/blog/signal-video-calls/
|url = https://signal.org/blog/signal-video-calls/
|title = "Video calls for Signal out of beta"
|title = "Video calls for Signal out of beta"
Строка 385: Строка 156:
|accessdate = 2018-12-08
|accessdate = 2018-12-08
}}
}}
</ref> Новая система вызова Signal использует протокол Signal для [[Сквозное шифрование|сквозного шифрования]].<ref>{{cite web
</ref> Новая система вызова Signal использует протокол Signal для [[Сквозное шифрование|сквозного шифрования]].<ref name="Video calls for Signal now in public beta" />
|url = https://signal.org/blog/signal-video-calls-beta/
|title = "Video calls for Signal now in public beta"
|author = Moxie Marlinspike
|date = 14 February 2017
|accessdate = 2018-12-08
}}
</ref>


В ноябре 2014 года [[Open Whisper Systems]] объявила о партнерстве с [[WhatsApp]] для обеспечения сквозного шифрования путем включения Протокола Сигнала в каждую клиентскую платформу WhatsApp.<ref>{{cite web
В ноябре 2014 года [[Open Whisper Systems]] объявила о партнерстве с [[WhatsApp]] для обеспечения сквозного шифрования путем включения Протокола Сигнала в каждую клиентскую платформу WhatsApp.<ref>{{cite web

Версия от 12:43, 16 декабря 2018

Протокол Сигнала (англ. Signal Protocol, ранее известный как TextSecure Protocol) — это не федеративный криптографический протокол, который может быть использован для обеспечения сквозного шифрования голосовых вызовов, видеозвонков[1] и мгновенных сообщений[2]. Протокол был разработан Open Whisper Systems в 2013 году[2] и впервые был представлен в приложении TextSecure с открытым исходным кодом, которое позже было объединено в приложение Signal. Несколько приложений с закрытым исходным кодом, например такие как WhatsApp, утверждают, что реализовали протокол, который, по их словам, шифрует разговоры «более миллиарда человек во всем мире»[3]. Facebook Messenger также утверждают, что они предлагают протокол для дополнительных «секретных сеансов связи», как и Google Allo для своего «режима инкогнито».

Протокол сочетает в себе Double Ratchet Algorithm, prekeys и расширенный протокол тройного обмена ключами Диффи-Хеллмана (3-DH),[4] и использует Curve25519, AES-256 и HMAC-SHA256 в качестве примитивов.[5]

История создания

Разработка Протокола Сигнала была начата в 2013 году Тревором Перрином (англ. Trevor Perrin) и Мокси Марлинспайком (англ. Moxie Marlinspike), основателем Open Whisper Systems. Целью этой организации является развитие простого в использовании набора мобильных приложений для безопасного общения. Организация основана в 2013 году и состоит из небольшой группы разработчиков, финансируемой за счёт пожертвований и грантов, а также большого сообщества разработчиков-добровольцев. Первая версия протокола, TextSecure v1, была основана на протоколе Off-the-Record Messaging (OTR) для систем мгновенного обмена сообщениями.[6][7]

24 февраля 2014 года Open Whisper Systems представила протокол TextSecure v2[8], который был перенесен в алгоритм Axolotl Ratchet[6].[9] идея Axolotl Ratchet основана на эфемерном обмене ключами, который был представлен OTR, и сочетает его с храповым механизмом симметричного ключа, по образцу протокола мгновенного обмена сообщениями Silent Circle Instant Messaging Protocol (SCIMP)[10]. Это смогло осуществить поддержку асинхронной связи («оффлайновые сообщения») в качестве его главной новой особенности, а также позволило повысить устойчивость при искаженном порядке сообщений и упростить поддержку разговоров с несколькими участниками[4]. Axolotl Ratchet был назван в честь вымирающих земноводных — аксолотлей, которые имеют экстраординарные способности к самоисцелению. Разработчики называют этот алгоритм самовосстанавливающимся, так как он автоматически отключает злоумышленнику доступ к открытым текстам последующих сообщений после взлома ключа сеанса[10].

Третья версия протокола, TextSecure v3, внесла некоторые изменения в криптографические примитивы и проводной протокол[6]. В октябре 2014 года исследователи из Рурского университета в Бохуме опубликовали анализ TextSecure v3[5] [6]. Среди прочих результатов, они представили неизвестную атаку обмена ключами на протокол, но в целом они обнаружили, что он был защищен.[11]

В марте 2016 года разработчики переименовали протокол как Протокол Сигнала. Они также переименовали алгоритм Axolotl Ratchet в Double Ratchet Algorithm, чтобы лучше различать алгоритм и полный протокол[12], потому что некоторые использовали имя Аксолотль при обращении к полному протоколу[12].

По состоянию на октябрь 2016 года Протокол Сигнала был основан на протоколе TextSecure v3, но с дополнительными криптографическими изменениями[6]. В октябре 2016 года исследователи из Оксфордского университета в Великобритании, австралийского Технологического Университета Квинсленда и канадского Университета Макмастера опубликовали официальный анализ протокола.[13][6] Они пришли к выводу, что данный протокол криптографически надежен[13][6].

Свойства

Протокол обеспечивает конфиденциальность, целостность, аутентификацию, согласованность участников, проверку назначения, прямую секретность, пост-скомпрометированную безопасность (англ. Post-Compromise Security, известная как Future Secrecy), сохранение причинно-следственной связи, несвязанность сообщений, отказ от сообщений, отказ от участия и асинхронность[4]. Он не обеспечивает сохранение анонимности и требует наличие серверов для ретрансляции сообщений и хранения информации об открытом ключе[4].

Протокол Сигнала также поддерживает возможность сквозных зашифрованных групповых чатов. Протокол группового чата представляет собой комбинацию парного двойного храпового механизма и многоадресного шифрования[4]. В дополнение к свойствам, предоставляемых one-to-one протоколом, протокол группового чата обеспечивает согласованность участников, устойчивость к неупорядоченности, отказоустойчивость сообщений, вычислительное равноправие, равноправие доверия, обмен сообщениями в подгруппах, а также сужаемое и расширяемое количество участников[4].

Аутентификация

Для аутентификации пользователи могут вручную сравнивать отпечатки открытого ключа через внешний канал.[14] Это позволяет пользователям проверять личности друг друга и избегать man-in-the-middle атаки[14]. Реализация также может использовать механизм доверия при первом использовании, чтобы уведомлять пользователей об изменении ключа корреспондента[14].

Метаданные

Протокол Cигнала не мешает компаниям сохранять информацию о том, когда и с кем общаются пользователи[14][15]. Следовательно могут быть различия в том, как поставщики услуг обмена сообщениями выбирают обработку этой информации. Политика конфиденциальности Сигнала гласит, что идентификаторы получателей хранятся только на серверах Сигнала столько времени, сколько необходимо для передачи каждого сообщения. В июне 2016 года Мокси Марлинспайк рассказал The Intercept: «Ближайшая часть информации к метаданным, которую хранит сервер Сигнала, это последний раз, когда каждый пользователь подключается к серверу, и точность этой информации снижается до дня, а не до часа, минуты и секунды.»[15]

Использование

Open Whisper Systems впервые представила протокол в своем приложении TextSecure. Позже они объединили приложение TextSecure с зашифрованным голосовым вызовом под названием RedPhone и переименовали его в Signal. RedPhone использовал ZRTP для шифрования своих вызовов. В марте 2017 года Signal перешел на новую систему вызовов на основе WebRTC[1], в которой также появилась возможность совершать видеозвонки.[16] Новая система вызова Signal использует протокол Signal для сквозного шифрования.[1]

В ноябре 2014 года Open Whisper Systems объявила о партнерстве с WhatsApp для обеспечения сквозного шифрования путем включения Протокола Сигнала в каждую клиентскую платформу WhatsApp.[17] Open Whisper Systems заявили, что они уже включили протокол в последний клиент WhatsApp для Android и что вскоре будут поддерживаться другие клиенты, групплвые сообщения / мультимедиа и проверка ключей.[18] 5 апреля 2016 года WhatsApp и Open Whisper Systems объявили, что они закончили добавление сквозного шифрования к «каждому виду связи» в WhatsApp и что теперь пользователи могут проверять ключи друг друга.[19][20] В феврале 2017 года WhatsApp объявил о новой функции WhatsApp Status, которая использует Протокол Сигнала для защиты своего содержимого.[21]

В сентябре 2015 года G Data Software запустила новое приложение для обмена сообщениями под названием Secure Chat, которое использует Протокол Сигнала.[22] [23]

В сентябре 2016 года Google запустил новое приложение для обмена сообщениями под названием Allo, которое имеет опциональный режим инкогнито, использующий Протокол Сигнала для сквозного шифрования.[24][25]

В октябре 2016 года Facebook развернул дополнительный режим под названием Secret Conversations в Facebook Messenger, который обеспечивает сквозное шифрование с использованием Протокола Сигнала.[26][27][28][29]

В январе 2018 года Open Whisper Systems и Microsoft объявили о добавлении поддержки Протокола Сигнала в опциональный режим Skype, который называется Private Conversations.[30][31]

Влияние

Протокол Сигнала оказал влияние на другие криптографические протоколы. 3 мая 2016 года Viber заявил, что их протокол шифрования является пользовательской реализацией, которая использует те же подходы, что и Протокол Сигнала[32][33]. 9 мая 2016 года разработчики Wire заявили, что их протокол шифрования Proteus основан на Протоколе Сигнала[34][35].

Алгоритм Double Ratchet Algorithm, который был введен как часть Протокола Сигнала, также был адаптирован другими протоколами. OMEMO — это расширение для открытого протокола XMPP, который был представлен в приложении обмена сообщениями Conversations и одобрен Фондом стандартов XMPP (XSF) в декабре 2016 года как XEP-0384.[36] Matrix — это открытый протокол связи, который включает в себя Olm, библиотеку, которая обеспечивает необязательное сквозное шифрование по комнатам с помощью реализации алгоритма Double Ratchet Algorithm.[37]

Реализации

Open Whisper Systems поддерживает следующие библиотеки Протокола Сигнала на GitHub:

  • libsignal-protocol-c: библиотека, написанная на C и опубликованная под лицензией GPLv3 с дополнительными разрешениями для Apple App Store.
  • libsignal-protocol-java: библиотека, написанная на Java и опубликованная под лицензией GPLv3.
  • libsignal-protocol-javascript: библиотека, написанная на JavaScript и опубликованная под лицензией GPLv3.

См. также

Примечания

  1. 1 2 3 Moxie Marlinspike. "Video calls for Signal now in public beta" (14 февраля 2017). Дата обращения: 8 декабря 2018.
  2. 1 2 Ksenia Ermoshina, Francesca Musiani, Harry Halpin. "End-to-End Encrypted Messaging Protocols: An Overview" (25 августа 2016). Дата обращения: 8 декабря 2018.
  3. Time Inc. "40 Under 40" (22 сентября 2016). Дата обращения: 8 декабря 2018.
  4. 1 2 3 4 5 6 Nik Unger , Sergej Dechand Joseph Bonneau , Sascha Fahl , Henning Perl Ian Goldberg , Matthew Smith. "SoK: Secure Messaging" (2015).
  5. 1 2 Tilman Frosch , Christian Mainka , Christoph Bader , Florian Bergsma , Jorg Schwenk , Thorsten Holz. "How Secure is TextSecure?" (2014).
  6. 1 2 3 4 5 6 7 Katriel Cohn-Gordon , Cas Cremers , Benjamin Dowling , Luke Garratt , Douglas Stebila. "A Formal Security Analysis of the Signal Messaging Protocol" (ноябрь 2017).
  7. Open Whisper Systems. "Protocol" (2 марта 2014). Дата обращения: 8 декабря 2018.
  8. Donohue, Brian. "TextSecure Sheds SMS in Latest Version" (24 февраля 2014). Дата обращения: 8 декабря 2018.
  9. Open Whisper Systems. "ProtocolV2" (15 октября 2014). Дата обращения: 8 декабря 2018.
  10. 1 2 Marlinspike, Moxie. "Advanced cryptographic ratcheting" (26 ноября 2013).
  11. Darren Pauli. "Auditors find encrypted chat client TextSecure is secure" (3 ноября 2014).
  12. 1 2 Marlinspike, Moxie. "Signal on the outside, Signal on the inside" (30 марта 2016).
  13. 1 2 Chris Brook. "Signal Audit Reveals Protocol Cryptographically Sound" (10 ноября 2016).
  14. 1 2 3 4 Christoph Rottermanner , Peter Kieseberg , Markus Huber , Martin Schmiedecker , Sebastian Schrittwieser. "Privacy and Data Protection in Smartphone Messengers" (декабрь 2015).
  15. 1 2 Micah Lee. "Battle of the Secure Messaging Apps: How Signal Beats WhatsApp" (June 22 2016).
  16. Moxie Marlinspike. "Video calls for Signal out of beta" (13 марта 2017). Дата обращения: 8 декабря 2018.
  17. Jon Evans. "WhatsApp Partners With Open WhisperSystems To End-To-End Encrypt Billions Of Messages A Day" (18 ноября 2014). Дата обращения: 8 декабря 2018.
  18. Moxie Marlinspike. "Open Whisper Systems partners with WhatsApp to provide end-to-end encryption" (18 ноября 2014). Дата обращения: 8 декабря 2018.
  19. Metz, Cade. "Forget Apple vs. the FBI: WhatsApp Just Switched on Encryption for a Billion People" (5 апреля 2016). Дата обращения: 8 декабря 2018.
  20. Lomas, Natasha. "WhatsApp completes end-to-end encryption rollout" (5 апреля 2016). Дата обращения: 8 декабря 2018.
  21. WhatsApp. "Статус WhatsApp" (20 февраля 2017). Дата обращения: 8 декабря 2018.
  22. Tara Seals. "G DATA Adds Encryption for Secure Mobile Chat" (17 сентября 2015). Дата обращения: 8 декабря 2018.
  23. GDATASoftwareAG. "SecureChat". Дата обращения: 8 декабря 2018.
  24. Greenberg, Andy With Allo and Duo, Google Finally Encrypts Conversations End-to-End. Wired (18 мая 2016). Дата обращения: 18 мая 2016.
  25. Gibbs, Samuel Google launches WhatsApp competitor Allo – with Google Assistant. The Guardian (21 сентября 2016). Дата обращения: 21 сентября 2016.
  26. Isaac, Mike Facebook to Add ‘Secret Conversations’ to Messenger App. The New York Times (8 июля 2016). Дата обращения: 12 июля 2016.
  27. Messenger Starts Testing End-to-End Encryption with Secret Conversations. Facebook (8 июля 2016). Дата обращения: 11 января 2018.
  28. Greenberg, Andy ‘Secret Conversations:’ End-to-End Encryption Comes to Facebook Messenger. Wired (8 июля 2016). Дата обращения: 12 июля 2016.
  29. Greenberg, Andy You Can All Finally Encrypt Facebook Messenger, So Do It. Wired (4 октября 2016). Дата обращения: 5 октября 2016.
  30. Newman, Lily Hay Skype's Rolling Out End-to-End Encryption For Hundreds of Millions of People. Wired (11 января 2018). Дата обращения: 13 января 2018.
  31. Lund, Joshua Signal partners with Microsoft to bring end-to-end encryption to Skype. Signal Blog. Open Whisper Systems (11 января 2018). Дата обращения: 13 января 2018.
  32. Viber Encryption Overview. Viber (3 мая 2016). Дата обращения: 8 июля 2017. Архивировано 11 июля 2016 года.
  33. Eyal, Ofir Canada, Germany and Australia are getting e2e encryption. Viber (3 мая 2016). Дата обращения: 9 октября 2016.
  34. Add attribution. GitHub. Wire Swiss GmbH (9 мая 2016). Дата обращения: 9 октября 2016.
  35. Wire Security Whitepaper (PDF). Wire Swiss GmbH (3 марта 2016). Дата обращения: 15 июля 2016.
  36. Andreas Straub. XEP-0384: OMEMO Encryption. XMPP Standards Foundation website (7 декабря 2016). Дата обращения: 28 апреля 2017.
  37. Ksenia Ermoshina, Francesca Musiani, Harry Halpin. "End-to-End Encrypted Messaging Protocols: An Overview" (25 августа 2016). Дата обращения: 8 декабря 2018.