Протокол Signal: различия между версиями
[непроверенная версия] | [непроверенная версия] |
Stud517 (обсуждение | вклад) Нет описания правки |
мНет описания правки |
||
(не показаны 24 промежуточные версии 18 участников) | |||
Строка 1: | Строка 1: | ||
'''Протокол |
'''Протокол Signal''' ''({{lang-en|Signal Protocol}}, ранее известный как [[TextSecure]] Protocol)'' — [[криптографический протокол]], созданный компанией [[Open Whisper Systems]] для обеспечения [[Сквозное шифрование|сквозного шифрования]] голосовых вызовов, видеозвонков<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" |
||
|author = Moxie Marlinspike |
|author = Moxie Marlinspike |
||
|date = |
|date = 2017-02-14 |
||
|accessdate = 2018-12-08 |
|accessdate = 2018-12-08 |
||
|archive-date = 2019-03-22 |
|||
}}</ref> и [[Мгновенные сообщения|мгновенных сообщений]]<ref name = "End-to-End Encrypted Messaging Protocols: An Overview">{{cite web |
|||
|archive-url = https://web.archive.org/web/20190322031536/https://signal.org/blog/signal-video-calls-beta/ |
|||
|deadlink = no |
|||
}}</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" |
||
|author = Ksenia Ermoshina, Francesca Musiani, Harry Halpin |
|author = Ksenia Ermoshina, Francesca Musiani, Harry Halpin |
||
|date = |
|date = 2016-08-25 |
||
|accessdate = 2018-12-08 |
|accessdate = 2018-12-08 |
||
|archive-date = 2021-04-26 |
|||
}} |
|||
|archive-url = https://web.archive.org/web/20210426203222/https://link.springer.com/chapter/10.1007%2F978-3-319-45982-0_22 |
|||
</ref>. Протокол был разработан [[Open Whisper Systems]] в 2013 году<ref name="End-to-End Encrypted Messaging Protocols: An Overview" /> и впервые был представлен в [[Компьютерная программа|приложении]] [[TextSecure]] с открытым [[Исходный код|исходным кодом]], которое позже было объединено в [[Компьютерная программа|приложение]] Signal. Несколько приложений с закрытым исходным кодом, например такие как [[WhatsApp]], утверждают, что реализовали протокол, который, по их словам, шифрует разговоры «более миллиарда человек во всем мире»<ref>{{cite web |
|||
|deadlink = no |
|||
}}</ref>. Протокол был разработан [[Open Whisper Systems]] в 2013 году<ref name="End-to-End Encrypted Messaging Protocols: An Overview" /> и впервые был представлен в [[Компьютерная программа|приложении]] [[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" |
||
|author = Time Inc. |
|author = Time Inc. |
||
|date = |
|date = 2016-09-22 |
||
|accessdate = 2018-12-08 |
|accessdate = 2018-12-08 |
||
|archive-date = 2017-02-03 |
|||
}} |
|||
|archive-url = https://web.archive.org/web/20170203011735/http://fortune.com/40-under-40/moxie-marlinspike-31/ |
|||
</ref>. [[Facebook Messenger]] также утверждают, что они предлагают протокол для дополнительных «секретных сеансов связи», как и [[Google Allo]] для своего «режима инкогнито». |
|||
|deadlink = no |
|||
}}</ref>. [[Facebook Messenger]] также утверждают, что они предлагают этот протокол для дополнительных «секретных сеансов связи», как и [[Google Allo]] для своего «режима инкогнито». |
|||
Протокол сочетает в себе [[Алгоритм |
Протокол сочетает в себе [[Алгоритм двойного храповика|Double Ratchet Algorithm]], {{не переведено 5|Предварительный общий ключ|prekeys||Pre-shared key}} и расширенный протокол тройного обмена ключами [[Протокол Диффи — Хеллмана|Диффи-Хеллмана]] (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" |
||
|author = Nik Unger, Sergej Dechand, Joseph Bonneau, Sascha Fahl, Henning Perl, Ian Goldberg, Matthew Smith |
|||
|author = Nik Unger |
|||
, Sergej Dechand |
|||
Joseph Bonneau |
|||
, Sascha Fahl |
|||
, Henning Perl |
|||
Ian Goldberg |
|||
, Matthew Smith |
|||
|date = 2015 |
|date = 2015 |
||
|access date = 2018-12-07 |
|access date = 2018-12-07 |
||
|access-date = 2018-12-09 |
|||
}} |
|||
|archive-date = 2020-11-01 |
|||
</ref> и использует {{iw|Curve25519|||Curve25519}}, [[AES-256]] и [[HMAC]]-[[SHA256]] в качестве примитивов<ref name = "How Secure is TextSecure?">{{cite web |
|||
|archive-url = https://web.archive.org/web/20201101092833/http://www.ieee-security.org/TC/SP2015/papers-archived/6949a232.pdf |
|||
|deadlink = no |
|||
}}</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?" |
||
|author = Tilman Frosch |
|author = Tilman Frosch, Christian Mainka, Christoph Bader, Florian Bergsma, Jorg Schwenk, Thorsten Holz |
||
, Christian Mainka |
|||
, Christoph Bader |
|||
, Florian Bergsma |
|||
, Jorg Schwenk |
|||
, Thorsten Holz |
|||
|date = 2014 |
|date = 2014 |
||
|access date = 2018-12-07 |
|access date = 2018-12-07 |
||
|access-date = 2018-12-09 |
|||
}} |
|||
|archive-date = 2019-02-28 |
|||
</ref>. |
|||
|archive-url = https://web.archive.org/web/20190228094840/https://eprint.iacr.org/2014/904.pdf |
|||
|deadlink = no |
|||
}}</ref>. |
|||
== История создания == |
== История создания == |
||
Разработка |
Разработка протокола Signal была начата в 2013 году Тревором Перрином ([[англ.]] Trevor Perrin) и Мокси Марлинспайком ([[англ.]] {{iw|Moxie Marlinspike|||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" |
||
|author = Katriel Cohn-Gordon |
|author = Katriel Cohn-Gordon, Cas Cremers, Benjamin Dowling, Luke Garratt, Douglas Stebila |
||
, Cas Cremers |
|||
, Benjamin Dowling |
|||
, Luke Garratt |
|||
, Douglas Stebila |
|||
|date = 2017-11 |
|date = 2017-11 |
||
|access date = 2018-12-07 |
|access date = 2018-12-07 |
||
|access-date = 2018-12-09 |
|||
}} |
|||
|archive-date = 2017-02-22 |
|||
</ref><ref>{{cite web |
|||
|url = https://web.archive.org/web/ |
|archive-url = https://web.archive.org/web/20170222185244/https://eprint.iacr.org/2016/1013.pdf |
||
|deadlink = no |
|||
}}</ref><ref>{{cite web |
|||
|url = https://github.com/WhisperSystems/TextSecure/wiki/Protocol |
|||
|title = "Protocol" |
|title = "Protocol" |
||
|author = Open Whisper Systems |
|author = Open Whisper Systems |
||
|date = |
|date = 2014-03-02 |
||
|accessdate = 2018-12-08 |
|accessdate = 2018-12-08 |
||
|archive-date = 2015-01-07 |
|||
}} |
|||
|archive-url = https://web.archive.org/web/20150107094950/https://github.com/WhisperSystems/TextSecure/wiki/Protocol |
|||
</ref>. |
|||
|deadlink = unfit |
|||
}}</ref>. |
|||
24 февраля 2014 года [[Open Whisper Systems]] представила протокол TextSecure v2<ref>{{cite web |
24 февраля 2014 года [[Open Whisper Systems]] представила протокол TextSecure v2<ref>{{cite web |
||
Строка 73: | Строка 76: | ||
|title = "TextSecure Sheds SMS in Latest Version" |
|title = "TextSecure Sheds SMS in Latest Version" |
||
|author = Donohue, Brian |
|author = Donohue, Brian |
||
|date = |
|date = 2014-02-24 |
||
|accessdate = 2018-12-08 |
|accessdate = 2018-12-08 |
||
|archive-date = 2018-11-15 |
|||
}} |
|||
|archive-url = https://web.archive.org/web/20181115232341/https://threatpost.com/textsecure-sheds-sms-in-latest-version/104456/ |
|||
</ref>, который был перенесен в алгоритм [[Алгоритм Двойного Храповика|Axolotl Ratchet]]<ref name="A Formal Security Analysis of the Signal Messaging Protocol" /><ref>{{cite web |
|||
|deadlink = no |
|||
|url = https://web.archive.org/web/20141015215356/https://github.com/WhisperSystems/TextSecure/wiki/ProtocolV2 |
|||
}}</ref>, который был перенесен в алгоритм [[Алгоритм Двойного Храповика|Axolotl Ratchet]]<ref name="A Formal Security Analysis of the Signal Messaging Protocol" /><ref>{{cite web |
|||
|url = https://github.com/WhisperSystems/TextSecure/wiki/ProtocolV2 |
|||
|title = "ProtocolV2" |
|title = "ProtocolV2" |
||
|author = Open Whisper Systems |
|author = Open Whisper Systems |
||
|date = |
|date = 2014-10-15 |
||
|accessdate = 2018-12-08 |
|accessdate = 2018-12-08 |
||
|archive-date = 2014-10-15 |
|||
}} |
|||
|archive-url = https://web.archive.org/web/20141015215356/https://github.com/WhisperSystems/TextSecure/wiki/ProtocolV2 |
|||
</ref>. Идея Axolotl Ratchet основана на эфемерном обмене ключами, который был представлен [[Off-the-Record Messaging|OTR]], и сочетает его с храповым механизмом симметричного ключа, по образцу протокола мгновенного обмена сообщениями {{iw|Silent Circle Instant Messaging Protocol|||Silent Circle Instant Messaging Protocol}} (SCIMP)<ref name = "Advanced cryptographic ratcheting">{{cite web |
|||
|deadlink = unfit |
|||
}}</ref>. Идея Axolotl Ratchet основана на эфемерном обмене ключами, который был представлен [[Off-the-Record Messaging|OTR]], и сочетает его с храповым механизмом симметричного ключа, по образцу протокола мгновенного обмена сообщениями {{iw|Silent Circle Instant Messaging Protocol|||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" |
||
Строка 89: | Строка 96: | ||
|date = 2013-11-26 |
|date = 2013-11-26 |
||
|access date = 2018-12-07 |
|access date = 2018-12-07 |
||
|access-date = 2018-12-09 |
|||
}} |
|||
|archive-date = 2019-08-07 |
|||
</ref>. Это смогло осуществить поддержку асинхронной связи («оффлайновые сообщения») в качестве его главной новой особенности, а также позволило повысить устойчивость при искаженном порядке сообщений и упростить поддержку разговоров с несколькими участниками<ref name="SoK: Secure Messaging" />. Axolotl Ratchet был назван в честь вымирающих земноводных — [[Аксолотль|аксолотлей]], которые имеют экстраординарные способности к самоисцелению. Разработчики называют этот алгоритм самовосстанавливающимся, так как он автоматически отключает злоумышленнику доступ к открытым текстам последующих сообщений после взлома ключа сеанса<ref name="Advanced cryptographic ratcheting" />. |
|||
|archive-url = https://web.archive.org/web/20190807190620/https://signal.org/blog/advanced-ratcheting/ |
|||
|deadlink = no |
|||
}}</ref>. Это смогло осуществить поддержку асинхронной связи («оффлайновые сообщения») в качестве его главной новой особенности, а также позволило повысить устойчивость при искаженном порядке сообщений и упростить поддержку разговоров с несколькими участниками<ref name="SoK: Secure Messaging" />. Axolotl Ratchet был назван в честь вымирающих земноводных — {{iw|аксолотлей|||Axolotl}}, которые имеют экстраординарные способности к регенерации утраченных конечностей. Разработчики называют этот алгоритм самовосстанавливающимся, так как он автоматически отключает злоумышленнику доступ к открытым текстам последующих сообщений после взлома ключа сеанса<ref name="Advanced cryptographic ratcheting" />. |
|||
Третья версия протокола, TextSecure v3, внесла некоторые изменения в |
Третья версия протокола, 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://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" |
||
|author = Darren Pauli |
|author = Darren Pauli |
||
|date = |
|date = 2014-11-03 |
||
|access date = 2018-12-08 |
|access date = 2018-12-08 |
||
|access-date = 2018-12-09 |
|||
}} |
|||
|archive-date = 2014-11-04 |
|||
</ref>. |
|||
|archive-url = https://web.archive.org/web/20141104060458/http://www.theregister.co.uk/2014/11/03/how_secure_is_textsecure_pretty_well_secure/ |
|||
|deadlink = no |
|||
}}</ref>. |
|||
В марте 2016 года разработчики переименовали протокол как |
В марте 2016 года разработчики переименовали протокол как протокол Signal. Они также переименовали алгоритм 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" |
||
Строка 107: | Строка 120: | ||
|date = 2016-03-30 |
|date = 2016-03-30 |
||
|access date = 2018-12-07 |
|access date = 2018-12-07 |
||
|access-date = 2018-12-09 |
|||
}} |
|||
|archive-date = 2018-11-15 |
|||
</ref>, потому что некоторые использовали имя Аксолотль при обращении к полному протоколу<ref name="Signal on the outside, Signal on the inside" />. |
|||
|archive-url = https://web.archive.org/web/20181115205217/https://signal.org/blog/signal-inside-and-out/ |
|||
|deadlink = no |
|||
}}</ref>, потому что некоторые использовали имя Аксолотль при обращении к полному протоколу<ref name="Signal on the outside, Signal on the inside" />. |
|||
По состоянию на октябрь 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 |
По состоянию на октябрь 2016 года Протокол Сигнала был основан на протоколе TextSecure v3, но с дополнительными криптографическими изменениями<ref name="A Formal Security Analysis of the Signal Messaging Protocol" />. В октябре 2016 года исследователи из [[Оксфордский университет|Оксфордского университета]] в Великобритании, австралийского [[Квинслендский университет|Технологического Университета Квинсленда]] и канадского [[Университет Макмастера|Университета Макмастера]] опубликовали официальный анализ протокола<ref name="A Formal Security Analysis of the Signal Messaging Protocol" /><ref name = "Signal Audit Reveals Protocol Cryptographically Sound">{{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" |
||
|author = Chris Brook |
|author = Chris Brook |
||
|date = |
|date = 2016-11-10 |
||
|access date = 2018-12-08 |
|access date = 2018-12-08 |
||
|access-date = 2018-12-09 |
|||
}} |
|||
|archive-date = 2017-02-14 |
|||
</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" />. |
|||
|archive-url = https://web.archive.org/web/20170214222434/https://threatpost.com/signal-audit-reveals-protocol-cryptographically-sound/121892/ |
|||
|deadlink = no |
|||
}}</ref>. Они пришли к выводу, что данный протокол криптографически надежен<ref name="A Formal Security Analysis of the Signal Messaging Protocol" /><ref name="Signal Audit Reveals Protocol Cryptographically Sound" />. |
|||
== Свойства == |
== Свойства == |
||
Протокол обеспечивает конфиденциальность, целостность, [[Аутентификация в Интернете|аутентификацию]], согласованность участников, проверку назначения, прямую секретность, пост-скомпрометированную безопасность ( |
Протокол обеспечивает [[конфиденциальность]], целостность, [[Аутентификация в Интернете|аутентификацию]], согласованность участников, проверку назначения, прямую секретность, пост-скомпрометированную безопасность ({{lang-en|Post-Compromise Security}}, известная как Future Secrecy), сохранение причинно-следственной связи, несвязанность сообщений, отказ от сообщений, отказ от участия и асинхронность. Он не обеспечивает сохранение анонимности и требует наличие серверов для ретрансляции сообщений и хранения информации об открытом ключе<ref name="SoK: Secure Messaging" />. |
||
Протокол |
Протокол Signal также поддерживает возможность сквозных зашифрованных групповых чатов. Протокол группового чата представляет собой комбинацию парного двойного храпового механизма и многоадресного шифрования. В дополнение к свойствам, предоставляемых one-to-one протоколом, протокол группового чата обеспечивает согласованность участников, устойчивость к неупорядоченности, [[отказоустойчивость]] сообщений, вычислительное равноправие, равноправие доверия, обмен сообщениями в подгруппах, а также сужаемое и расширяемое количество участников<ref name="SoK: Secure Messaging" />. |
||
=== Аутентификация === |
=== Аутентификация === |
||
Для аутентификации пользователи могут вручную сравнивать [[Отпечаток открытого ключа|отпечатки открытого ключа]] через внешний канал <ref name = "Privacy and Data Protection in Smartphone Messengers">{{cite web |
Для аутентификации пользователи могут вручную сравнивать [[Отпечаток открытого ключа|отпечатки открытого ключа]] через внешний канал. Это позволяет пользователям проверять личности друг друга и избегать [[man-in-the-middle]] атаки. Реализация также может использовать механизм доверия при первом использовании, чтобы уведомлять пользователей об изменении ключа корреспондента<ref name = "Privacy and Data Protection in Smartphone Messengers">{{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" |
||
|author = Christoph Rottermanner |
|author = Christoph Rottermanner, Peter Kieseberg, Markus Huber, Martin Schmiedecker, Sebastian Schrittwieser |
||
|date = 2015-12 |
|||
, Peter Kieseberg |
|||
, Markus Huber |
|||
, Martin Schmiedecker |
|||
, Sebastian Schrittwieser |
|||
|date = December 2015 |
|||
|access date = 2018-12-08 |
|access date = 2018-12-08 |
||
|access-date = 2018-12-09 |
|||
}} |
|||
|archive-date = 2016-03-27 |
|||
</ref>. Это позволяет пользователям проверять личности друг друга и избегать [[man-in-the-middle]] атаки<ref name="Privacy and Data Protection in Smartphone Messengers" />. Реализация также может использовать механизм доверия при первом использовании, чтобы уведомлять пользователей об изменении ключа корреспондента<ref name="Privacy and Data Protection in Smartphone Messengers" />. |
|||
|archive-url = https://web.archive.org/web/20160327011416/https://www.sba-research.org/wp-content/uploads/publications/paper_drafthp.pdf |
|||
|deadlink = no |
|||
}}</ref>. |
|||
=== Метаданные === |
=== Метаданные === |
||
Протокол |
Протокол Signal не мешает компаниям сохранять информацию о том, когда и с кем общаются пользователи<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://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" |
||
|author = Micah Lee |
|author = Micah Lee |
||
|date = |
|date = 2016-06-22 |
||
|access date = 2018-12-08 |
|access date = 2018-12-08 |
||
|access-date = 2018-12-09 |
|||
}} |
|||
|archive-date = 2017-02-19 |
|||
</ref>. Следовательно могут быть различия в том, как поставщики услуг обмена сообщениями выбирают обработку этой информации. Политика конфиденциальности Сигнала гласит, что идентификаторы получателей хранятся только на серверах Сигнала столько времени, сколько необходимо для передачи каждого сообщения. В июне 2016 года Мокси Марлинспайк рассказал {{iw|The Intercept|||The Intercept}}: «Ближайшая часть информации к метаданным, которую хранит сервер Сигнала, это последний раз, когда каждый пользователь подключается к серверу, и точность этой информации снижается до дня, а не до часа, минуты и секунды»<ref name="Battle of the Secure Messaging Apps: How Signal Beats WhatsApp" />. |
|||
|archive-url = https://web.archive.org/web/20170219051224/https://theintercept.com/2016/06/22/battle-of-the-secure-messaging-apps-how-signal-beats-whatsapp/ |
|||
|deadlink = no |
|||
}}</ref>. Следовательно могут быть различия в том, как поставщики услуг обмена сообщениями выбирают обработку этой информации. Политика конфиденциальности Сигнала гласит, что идентификаторы получателей хранятся только на серверах Signal столько времени, сколько необходимо для передачи каждого сообщения. В июне 2016 года Мокси Марлинспайк рассказал {{iw|The Intercept|||The Intercept}}: «Ближайшая часть информации к метаданным, которую хранит сервер Signal, это последний раз, когда каждый пользователь подключается к серверу, и точность этой информации снижается до дня, а не до часа, минуты и секунды»<ref name="Battle of the Secure Messaging Apps: How Signal Beats WhatsApp" />. |
|||
== Использование == |
== Использование == |
||
[[Open Whisper Systems]] впервые представила протокол в своем [[Компьютерная программа|приложении]] [[TextSecure]]. Позже они объединили приложение TextSecure с зашифрованным голосовым вызовом под названием RedPhone и переименовали его в Signal. RedPhone использовал [[ZRTP]] для шифрования своих вызовов. В марте 2017 года Signal перешел на новую систему вызовов на основе [[WebRTC]]<ref name="Video calls for Signal now in public beta" />, в которой также появилась возможность совершать видеозвонки |
[[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/ |
|url = https://signal.org/blog/signal-video-calls/ |
||
|title = "Video calls for Signal out of beta" |
|title = "Video calls for Signal out of beta" |
||
|author = Moxie Marlinspike |
|author = Moxie Marlinspike |
||
|date = |
|date = 2017-03-13 |
||
|accessdate = 2018-12-08 |
|accessdate = 2018-12-08 |
||
|archive-date = 2018-11-19 |
|||
}} |
|||
|archive-url = https://web.archive.org/web/20181119213249/https://signal.org/blog/signal-video-calls/ |
|||
</ref>. Новая система вызова Signal использует протокол Signal для [[Сквозное шифрование|сквозного шифрования]] <ref name="Video calls for Signal now in public beta" />. |
|||
|deadlink = no |
|||
}}</ref>. Новая система вызова Signal использует протокол Signal для [[Сквозное шифрование|сквозного шифрования]]<ref name="Video calls for Signal now in public beta" />. |
|||
В ноябре 2014 года [[Open Whisper Systems]] объявила о партнерстве с [[WhatsApp]] для обеспечения сквозного шифрования путем включения |
В ноябре 2014 года [[Open Whisper Systems]] объявила о партнерстве с [[WhatsApp]] для обеспечения сквозного шифрования путем включения протокола Signal в каждую клиентскую платформу [[WhatsApp]]<ref>{{cite web |
||
|url = https://techcrunch.com/2014/11/18/end-to-end-for-everyone/ |
|url = https://techcrunch.com/2014/11/18/end-to-end-for-everyone/ |
||
|title = "WhatsApp Partners With Open WhisperSystems To End-To-End Encrypt Billions Of Messages A Day" |
|title = "WhatsApp Partners With Open WhisperSystems To End-To-End Encrypt Billions Of Messages A Day" |
||
|author = Jon Evans |
|author = Jon Evans |
||
|date = |
|date = 2014-11-18 |
||
|accessdate = 2018-12-08 |
|accessdate = 2018-12-08 |
||
|archive-date = 2014-11-18 |
|||
}} |
|||
|archive-url = https://web.archive.org/web/20141118220338/http://techcrunch.com/2014/11/18/end-to-end-for-everyone/ |
|||
</ref>. Open Whisper Systems заявили, что они уже включили протокол в последний клиент [[WhatsApp]] для [[Android]] и что вскоре будут поддерживаться другие клиенты, групповые сообщения / мультимедиа и проверка ключей <ref>{{cite web |
|||
|deadlink = no |
|||
}}</ref>. Open Whisper Systems заявили, что они уже включили протокол в последний клиент [[WhatsApp]] для [[Android]] и что вскоре будут поддерживаться другие клиенты, групповые сообщения / [[мультимедиа]] и проверка ключей<ref>{{cite web |
|||
|url = https://signal.org/blog/whatsapp/ |
|url = https://signal.org/blog/whatsapp/ |
||
|title = "Open Whisper Systems partners with WhatsApp to provide end-to-end encryption" |
|title = "Open Whisper Systems partners with WhatsApp to provide end-to-end encryption" |
||
|author = Moxie Marlinspike |
|author = Moxie Marlinspike |
||
|date = |
|date = 2014-11-18 |
||
|accessdate = 2018-12-08 |
|accessdate = 2018-12-08 |
||
|archive-date = 2018-12-07 |
|||
}} |
|||
|archive-url = https://web.archive.org/web/20181207210728/https://signal.org/blog/whatsapp/ |
|||
</ref>. |
|||
|deadlink = no |
|||
5 апреля 2016 года [[WhatsApp]] и [[Open Whisper Systems]] объявили, что они закончили добавление [[Сквозное шифрование|сквозного шифрования]] к «каждому виду связи» в WhatsApp и что теперь пользователи могут проверять ключи друг друга <ref>{{cite web |
|||
}}</ref>. |
|||
5 апреля 2016 года [[WhatsApp]] и [[Open Whisper Systems]] объявили, что они закончили добавление [[Сквозное шифрование|сквозного шифрования]] к «каждому виду связи» в WhatsApp и что теперь пользователи могут проверять ключи друг друга<ref>{{cite web |
|||
|url = https://www.wired.com/2016/04/forget-apple-vs-fbi-whatsapp-just-switched-encryption-billion-people/ |
|url = https://www.wired.com/2016/04/forget-apple-vs-fbi-whatsapp-just-switched-encryption-billion-people/ |
||
|title = "Forget Apple vs. the FBI: WhatsApp Just Switched on Encryption for a Billion People" |
|title = "Forget Apple vs. the FBI: WhatsApp Just Switched on Encryption for a Billion People" |
||
|author = Metz, Cade |
|author = Metz, Cade |
||
|date = |
|date = 2016-04-05 |
||
|accessdate = 2018-12-08 |
|accessdate = 2018-12-08 |
||
|archive-date = 2016-04-05 |
|||
}} |
|||
|archive-url = https://web.archive.org/web/20160405164942/http://www.wired.com/2016/04/forget-apple-vs-fbi-whatsapp-just-switched-encryption-billion-people/ |
|||
</ref><ref>{{cite web |
|||
|deadlink = no |
|||
}}</ref><ref>{{cite web |
|||
|url = https://techcrunch.com/2016/04/05/whatsapp-completes-end-to-end-encryption-rollout/ |
|url = https://techcrunch.com/2016/04/05/whatsapp-completes-end-to-end-encryption-rollout/ |
||
|title = |
|title = "WhatsApp completes end-to-end encryption rollout" |
||
|author = Lomas, Natasha |
|author = Lomas, Natasha |
||
|date = |
|date = 2016-04-05 |
||
|accessdate = 2018-12-08 |
|accessdate = 2018-12-08 |
||
|archive-date = 2020-11-13 |
|||
}} |
|||
|archive-url = https://web.archive.org/web/20201113050055/https://techcrunch.com/2016/04/05/whatsapp-completes-end-to-end-encryption-rollout/ |
|||
</ref>. В феврале 2017 года WhatsApp объявил о новой функции WhatsApp Status, которая использует Протокол Сигнала для защиты своего содержимого <ref>{{cite web |
|||
|deadlink = no |
|||
|url = https://blog.whatsapp.com/10000630/%D0%A1%D1%82%D0%B0%D1%82%D1%83%D1%81-WhatsApp? |
|||
}}</ref>. В феврале 2017 года WhatsApp объявил о новой функции WhatsApp Status, которая использует протокол Signal для защиты своего содержимого<ref>{{cite web |
|||
|url = https://blog.whatsapp.com/10000630/Статус-WhatsApp? |
|||
|title = "Статус WhatsApp" |
|title = "Статус WhatsApp" |
||
|author = WhatsApp |
|author = WhatsApp |
||
|date = |
|date = 2017-02-20 |
||
|accessdate = 2018-12-08 |
|accessdate = 2018-12-08 |
||
}} |
}} |
||
</ref>. |
</ref>. |
||
В сентябре 2015 года G Data Software запустила новое [[Компьютерная программа|приложение]] для обмена сообщениями под названием Secure Chat, которое использует |
В сентябре 2015 года G Data Software запустила новое [[Компьютерная программа|приложение]] для обмена сообщениями под названием Secure Chat, которое использует протокол Signal<ref>{{cite web |
||
|url = https://www.infosecurity-magazine.com/news/g-data-adds-encryption-for-secure/ |
|url = https://www.infosecurity-magazine.com/news/g-data-adds-encryption-for-secure/ |
||
|title = |
|title = "G DATA Adds Encryption for Secure Mobile Chat" |
||
|author = Tara Seals |
|author = Tara Seals |
||
|date = |
|date = 2015-09-17 |
||
|accessdate = 2018-12-08 |
|accessdate = 2018-12-08 |
||
|archive-date = 2016-07-22 |
|||
}} |
|||
|archive-url = https://web.archive.org/web/20160722065627/http://www.infosecurity-magazine.com/news/g-data-adds-encryption-for-secure/ |
|||
</ref> |
|||
|deadlink = no |
|||
<ref>{{cite web |
|||
}}</ref><ref>{{cite web |
|||
|url = https://github.com/GDATASoftwareAG/SecureChat |
|url = https://github.com/GDATASoftwareAG/SecureChat |
||
|title = |
|title = "SecureChat" |
||
|author = GDATASoftwareAG |
|author = GDATASoftwareAG |
||
|accessdate = 2018-12-08 |
|accessdate = 2018-12-08 |
||
|archive-date = 2017-05-07 |
|||
}} |
|||
|archive-url = https://web.archive.org/web/20170507135213/https://github.com/GDATASoftwareAG/SecureChat |
|||
</ref>. |
|||
|deadlink = no |
|||
}}</ref>. |
|||
В сентябре 2016 года [[Google (компания)|Google]] запустил новое [[Компьютерная программа|приложение]] для обмена сообщениями под названием [[Google Allo|Allo]], которое имеет опциональный режим инкогнито, использующий |
В сентябре 2016 года [[Google (компания)|Google]] запустил новое [[Компьютерная программа|приложение]] для обмена сообщениями под названием [[Google Allo|Allo]], которое имеет опциональный режим инкогнито, использующий протокол Signal для сквозного шифрования<ref name="Greenberg-2016-05-18">{{Cite web|url=https://www.wired.com/2016/05/allo-duo-google-finally-encrypts-conversations-end-end/|title=With Allo and Duo, Google Finally Encrypts Conversations End-to-End|last=Greenberg|first=Andy|date=2016-05-18|website=[[Wired]]|archive-url=https://web.archive.org/web/20170202161556/https://www.wired.com/2016/05/allo-duo-google-finally-encrypts-conversations-end-end/|archive-date=2017-02-02|dead-url=no|access-date=2016-05-18}}</ref><ref name="Gibbs-2016-9-21">{{cite web|url=https://www.theguardian.com/technology/2016/sep/21/google-whatsapp-allo-google-assistant|title=Google launches WhatsApp competitor Allo – with Google Assistant|last1=Gibbs|first1=Samuel|date=2016-09-21|website=[[The Guardian]]|archive-url=https://web.archive.org/web/20190107054254/https://www.theguardian.com/technology/2016/sep/21/google-whatsapp-allo-google-assistant|archive-date=2019-01-07|dead-url=no|accessdate=2016-09-21}}</ref>. |
||
В октябре 2016 года [[Facebook]] развернул дополнительный режим под названием Secret Conversations в [[Facebook Messenger]], который обеспечивает [[сквозное шифрование]] с использованием |
В октябре 2016 года [[Facebook]] развернул дополнительный режим под названием Secret Conversations в [[Facebook Messenger]], который обеспечивает [[сквозное шифрование]] с использованием протокола Signal<ref>{{cite web|url=https://www.nytimes.com/2016/07/09/technology/facebook-messenger-app-encryption.html|title=Facebook to Add ‘Secret Conversations’ to Messenger App|last1=Isaac|first1=Mike|date=2016-07-08|website=[[The New York Times]]|archive-url=https://web.archive.org/web/20160712043038/http://www.nytimes.com/2016/07/09/technology/facebook-messenger-app-encryption.html|archive-date=2016-07-12|dead-url=no|accessdate=2016-07-12}}</ref><ref>{{cite web|title=Messenger Starts Testing End-to-End Encryption with Secret Conversations|url=https://newsroom.fb.com/news/2016/07/messenger-starts-testing-end-to-end-encryption-with-secret-conversations/|publisher=Facebook|accessdate=2018-01-11|date=2016-07-08|archive-date=2018-01-12|archive-url=https://web.archive.org/web/20180112214633/https://newsroom.fb.com/news/2016/07/messenger-starts-testing-end-to-end-encryption-with-secret-conversations/|deadlink=no}}</ref><ref>{{cite web|url=https://www.wired.com/2016/07/secret-conversations-end-end-encryption-facebook-messenger-arrived/|title=‘Secret Conversations:’ End-to-End Encryption Comes to Facebook Messenger|last1=Greenberg|first1=Andy|date=2016-07-08|website=[[Wired]]|archive-url=https://web.archive.org/web/20160711073318/https://www.wired.com/2016/07/secret-conversations-end-end-encryption-facebook-messenger-arrived/|archive-date=2016-07-11|dead-url=no|accessdate=2016-07-12}}</ref><ref name="Greenberg-2016-10-05">{{cite web|url=https://www.wired.com/2016/10/facebook-completely-encrypted-messenger-update-now/|title=You Can All Finally Encrypt Facebook Messenger, So Do It|last1=Greenberg|first1=Andy|date=2016-10-04|website=[[Wired]]|archive-url=https://web.archive.org/web/20170415004558/https://www.wired.com/2016/10/facebook-completely-encrypted-messenger-update-now|archive-date=2017-04-15|dead-url=no|accessdate=2016-10-05}}</ref>. |
||
В январе 2018 года [[Open Whisper Systems]] и [[Microsoft]] объявили о добавлении поддержки |
В январе 2018 года [[Open Whisper Systems]] и [[Microsoft]] объявили о добавлении поддержки протокола Signal в опциональный режим [[Skype]], который называется Private Conversations<ref name="Newman-2018-1-11">{{cite web|url=https://www.wired.com/story/skype-end-to-end-encryption-voice-text/|title=Skype's Rolling Out End-to-End Encryption For Hundreds of Millions of People|last1=Newman|first1=Lily Hay|date=2018-01-11|website=[[Wired]]|archive-url=https://web.archive.org/web/20180112215711/https://www.wired.com/story/skype-end-to-end-encryption-voice-text/|archive-date=2018-01-12|dead-url=no|accessdate=2018-01-13}}</ref><ref name="Lund-2018-1-11">{{cite web|url=https://signal.org/blog/skype-partnership/|title=Signal partners with Microsoft to bring end-to-end encryption to Skype|last1=Lund|first1=Joshua|date=2018-01-11|website=Signal Blog|publisher=Open Whisper Systems|archive-url=https://web.archive.org/web/20200202152037/https://signal.org/blog/skype-partnership/|archive-date=2020-02-02|dead-url=no|accessdate=2018-01-13}}</ref>. |
||
В феврале 2020 года вышел новый мессенджер [[Session messenger|Session]] (бывший Loki Messenger), который основан на протоколе Signal и поддерживает сквозное шифрование. Заявлена децентрализация на блокчейне и работа через луковую маршрутизацию. |
|||
== Влияние == |
== Влияние == |
||
Протокол |
Протокол Signal оказал влияние на другие криптографические протоколы. 3 мая 2016 года [[Viber]] заявил, что их протокол шифрования является пользовательской реализацией, которая использует те же подходы, что и Протокол Сигнала<ref>{{cite web|title=Viber Encryption Overview|archiveurl=https://web.archive.org/web/20160711035838/http://www.viber.com/en/security-overview|url=https://www.viber.com/en/security-overview|publisher=Viber|date=2016-05-03|archivedate=2016-07-11|accessdate=2017-07-08}}</ref><ref>{{cite web|last1=Eyal|first1=Ofir|title=Canada, Germany and Australia are getting e2e encryption|url=https://www.viber.com/en/blog/2016-05-03/canada-germany-and-australia-are-getting-e2e-encryption|publisher=Viber|accessdate=2016-10-09|date=2016-05-03|archive-date=2016-10-05|archive-url=https://web.archive.org/web/20161005083000/http://www.viber.com/en/blog/2016-05-03/canada-germany-and-australia-are-getting-e2e-encryption|deadlink=no}}</ref>. 9 мая 2016 года разработчики {{Не переведено 5|Wire (приложение)|Wire||Wire (software)}} заявили, что их протокол шифрования Proteus основан на протоколе Signal<ref name="proteus-attribution">{{cite web|title=Add attribution|url=https://github.com/wireapp/proteus/blob/develop/src/internal/session.rs#L2|website=GitHub|publisher=Wire Swiss GmbH|date=2016-05-09|accessdate=2016-10-09|archive-date=2017-05-07|archive-url=https://web.archive.org/web/20170507135204/https://github.com/wireapp/proteus/blob/develop/src/internal/session.rs#L2|deadlink=no}}</ref><ref name="Wire Security Whitepaper">{{Cite web|url=https://wire.com/resource/Wire%20Security%20Whitepaper/download/|title=Wire Security Whitepaper|format=PDF|publisher=Wire Swiss GmbH|date=2016-03-03|accessdate=2016-07-15}}{{Недоступная ссылка|date=Октябрь 2019 |bot=InternetArchiveBot }}</ref>. |
||
Алгоритм [[Алгоритм Двойного Храповика|Double Ratchet Algorithm]], который был введен как часть |
Алгоритм [[Алгоритм Двойного Храповика|Double Ratchet Algorithm]], который был введен как часть протокола Signal, также был адаптирован другими протоколами. [[OMEMO]] — это расширение для открытого протокола [[XMPP]], который был представлен в [[Компьютерная программа|приложении]] обмена сообщениями Conversations и одобрен Фондом стандартов XMPP (XSF) в декабре 2016 года как XEP-0384<ref name="OMEMO">{{cite web | author=Andreas Straub | title=XEP-0384: OMEMO Encryption | url=https://xmpp.org/extensions/xep-0384.html | date=2016-12-07 | accessdate=2017-04-28 | work=XMPP Standards Foundation website | archive-date=2017-02-25 | archive-url=https://web.archive.org/web/20170225060620/https://xmpp.org/extensions/xep-0384.html | deadlink=no }}</ref>. [[Matrix]] — это открытый протокол связи, который включает в себя Olm, библиотеку, которая обеспечивает необязательное [[сквозное шифрование]] по комнатам с помощью реализации алгоритма [[Алгоритм Двойного Храповика|Double Ratchet Algorithm]]<ref name="End-to-End Encrypted Messaging Protocols: An Overview" />. |
||
|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>. |
|||
== Реализации == |
== Реализации == |
||
[[Open Whisper Systems]] поддерживает следующие библиотеки |
[[Open Whisper Systems]] поддерживает следующие библиотеки протокола Signal на [[GitHub]]: |
||
* [https://github.com/whispersystems/libsignal-protocol-c libsignal-protocol-c]: библиотека, написанная на C и опубликованная под лицензией [[GPLv3]] с дополнительными разрешениями для Apple App Store. |
* [https://github.com/whispersystems/libsignal-protocol-c libsignal-protocol-c]: библиотека, написанная на C и опубликованная под лицензией [[GPLv3]] с дополнительными разрешениями для Apple App Store. |
||
Строка 238: | Строка 267: | ||
== См. также == |
== См. также == |
||
* [ |
* [[:en:Comparison of instant messaging protocols|Сравнение протоколов обмена мгновенными сообщениями]] |
||
* [ |
* [[:en:Comparison of cryptography libraries|Сравнение криптографических библиотек]] |
||
== Примечания == |
== Примечания == |
||
{{примечания}} |
{{примечания}} |
||
{{изолированная статья}} |
|||
{{Кандидат в добротные статьи|15 декабря 2018}} |
|||
[[Категория:Протоколы прикладного уровня]] |
[[Категория:Протоколы прикладного уровня]] |
Текущая версия от 10:37, 6 сентября 2024
Протокол Signal (англ. Signal Protocol, ранее известный как TextSecure Protocol) — криптографический протокол, созданный компанией Open Whisper Systems для обеспечения сквозного шифрования голосовых вызовов, видеозвонков[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].
История создания
[править | править код]Разработка протокола Signal была начата в 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 года разработчики переименовали протокол как протокол Signal. Они также переименовали алгоритм Axolotl Ratchet в Double Ratchet Algorithm, чтобы лучше различать алгоритм и полный протокол[12], потому что некоторые использовали имя Аксолотль при обращении к полному протоколу[12].
По состоянию на октябрь 2016 года Протокол Сигнала был основан на протоколе TextSecure v3, но с дополнительными криптографическими изменениями[6]. В октябре 2016 года исследователи из Оксфордского университета в Великобритании, австралийского Технологического Университета Квинсленда и канадского Университета Макмастера опубликовали официальный анализ протокола[6][13]. Они пришли к выводу, что данный протокол криптографически надежен[6][13].
Свойства
[править | править код]Протокол обеспечивает конфиденциальность, целостность, аутентификацию, согласованность участников, проверку назначения, прямую секретность, пост-скомпрометированную безопасность (англ. Post-Compromise Security, известная как Future Secrecy), сохранение причинно-следственной связи, несвязанность сообщений, отказ от сообщений, отказ от участия и асинхронность. Он не обеспечивает сохранение анонимности и требует наличие серверов для ретрансляции сообщений и хранения информации об открытом ключе[4].
Протокол Signal также поддерживает возможность сквозных зашифрованных групповых чатов. Протокол группового чата представляет собой комбинацию парного двойного храпового механизма и многоадресного шифрования. В дополнение к свойствам, предоставляемых one-to-one протоколом, протокол группового чата обеспечивает согласованность участников, устойчивость к неупорядоченности, отказоустойчивость сообщений, вычислительное равноправие, равноправие доверия, обмен сообщениями в подгруппах, а также сужаемое и расширяемое количество участников[4].
Аутентификация
[править | править код]Для аутентификации пользователи могут вручную сравнивать отпечатки открытого ключа через внешний канал. Это позволяет пользователям проверять личности друг друга и избегать man-in-the-middle атаки. Реализация также может использовать механизм доверия при первом использовании, чтобы уведомлять пользователей об изменении ключа корреспондента[14].
Метаданные
[править | править код]Протокол Signal не мешает компаниям сохранять информацию о том, когда и с кем общаются пользователи[14][15]. Следовательно могут быть различия в том, как поставщики услуг обмена сообщениями выбирают обработку этой информации. Политика конфиденциальности Сигнала гласит, что идентификаторы получателей хранятся только на серверах Signal столько времени, сколько необходимо для передачи каждого сообщения. В июне 2016 года Мокси Марлинспайк рассказал The Intercept[англ.]: «Ближайшая часть информации к метаданным, которую хранит сервер Signal, это последний раз, когда каждый пользователь подключается к серверу, и точность этой информации снижается до дня, а не до часа, минуты и секунды»[15].
Использование
[править | править код]Open Whisper Systems впервые представила протокол в своем приложении TextSecure. Позже они объединили приложение TextSecure с зашифрованным голосовым вызовом под названием RedPhone и переименовали его в Signal. RedPhone использовал ZRTP для шифрования своих вызовов. В марте 2017 года Signal перешел на новую систему вызовов на основе WebRTC[1], в которой также появилась возможность совершать видеозвонки[16]. Новая система вызова Signal использует протокол Signal для сквозного шифрования[1].
В ноябре 2014 года Open Whisper Systems объявила о партнерстве с WhatsApp для обеспечения сквозного шифрования путем включения протокола Signal в каждую клиентскую платформу WhatsApp[17]. Open Whisper Systems заявили, что они уже включили протокол в последний клиент WhatsApp для Android и что вскоре будут поддерживаться другие клиенты, групповые сообщения / мультимедиа и проверка ключей[18]. 5 апреля 2016 года WhatsApp и Open Whisper Systems объявили, что они закончили добавление сквозного шифрования к «каждому виду связи» в WhatsApp и что теперь пользователи могут проверять ключи друг друга[19][20]. В феврале 2017 года WhatsApp объявил о новой функции WhatsApp Status, которая использует протокол Signal для защиты своего содержимого[21].
В сентябре 2015 года G Data Software запустила новое приложение для обмена сообщениями под названием Secure Chat, которое использует протокол Signal[22][23].
В сентябре 2016 года Google запустил новое приложение для обмена сообщениями под названием Allo, которое имеет опциональный режим инкогнито, использующий протокол Signal для сквозного шифрования[24][25].
В октябре 2016 года Facebook развернул дополнительный режим под названием Secret Conversations в Facebook Messenger, который обеспечивает сквозное шифрование с использованием протокола Signal[26][27][28][29].
В январе 2018 года Open Whisper Systems и Microsoft объявили о добавлении поддержки протокола Signal в опциональный режим Skype, который называется Private Conversations[30][31].
В феврале 2020 года вышел новый мессенджер Session (бывший Loki Messenger), который основан на протоколе Signal и поддерживает сквозное шифрование. Заявлена децентрализация на блокчейне и работа через луковую маршрутизацию.
Влияние
[править | править код]Протокол Signal оказал влияние на другие криптографические протоколы. 3 мая 2016 года Viber заявил, что их протокол шифрования является пользовательской реализацией, которая использует те же подходы, что и Протокол Сигнала[32][33]. 9 мая 2016 года разработчики Wire[англ.] заявили, что их протокол шифрования Proteus основан на протоколе Signal[34][35].
Алгоритм Double Ratchet Algorithm, который был введен как часть протокола Signal, также был адаптирован другими протоколами. OMEMO — это расширение для открытого протокола XMPP, который был представлен в приложении обмена сообщениями Conversations и одобрен Фондом стандартов XMPP (XSF) в декабре 2016 года как XEP-0384[36]. Matrix — это открытый протокол связи, который включает в себя Olm, библиотеку, которая обеспечивает необязательное сквозное шифрование по комнатам с помощью реализации алгоритма Double Ratchet Algorithm[2].
Реализации
[править | править код]Open Whisper Systems поддерживает следующие библиотеки протокола Signal на GitHub:
- libsignal-protocol-c: библиотека, написанная на C и опубликованная под лицензией GPLv3 с дополнительными разрешениями для Apple App Store.
- libsignal-protocol-java: библиотека, написанная на Java и опубликованная под лицензией GPLv3.
- libsignal-protocol-javascript: библиотека, написанная на JavaScript и опубликованная под лицензией GPLv3.
См. также
[править | править код]Примечания
[править | править код]- ↑ 1 2 3 Moxie Marlinspike. "Video calls for Signal now in public beta" (14 февраля 2017). Дата обращения: 8 декабря 2018. Архивировано 22 марта 2019 года.
- ↑ 1 2 3 Ksenia Ermoshina, Francesca Musiani, Harry Halpin. "End-to-End Encrypted Messaging Protocols: An Overview" (25 августа 2016). Дата обращения: 8 декабря 2018. Архивировано 26 апреля 2021 года.
- ↑ Time Inc. "40 Under 40" (22 сентября 2016). Дата обращения: 8 декабря 2018. Архивировано 3 февраля 2017 года.
- ↑ 1 2 3 4 Nik Unger, Sergej Dechand, Joseph Bonneau, Sascha Fahl, Henning Perl, Ian Goldberg, Matthew Smith. "SoK: Secure Messaging" (2015). Дата обращения: 9 декабря 2018. Архивировано 1 ноября 2020 года.
- ↑ 1 2 Tilman Frosch, Christian Mainka, Christoph Bader, Florian Bergsma, Jorg Schwenk, Thorsten Holz. "How Secure is TextSecure?" (2014). Дата обращения: 9 декабря 2018. Архивировано 28 февраля 2019 года.
- ↑ 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). Дата обращения: 9 декабря 2018. Архивировано 22 февраля 2017 года.
- ↑ Open Whisper Systems. "Protocol" (2 марта 2014). Дата обращения: 8 декабря 2018. Архивировано 7 января 2015 года.
- ↑ Donohue, Brian. "TextSecure Sheds SMS in Latest Version" (24 февраля 2014). Дата обращения: 8 декабря 2018. Архивировано 15 ноября 2018 года.
- ↑ Open Whisper Systems. "ProtocolV2" (15 октября 2014). Дата обращения: 8 декабря 2018. Архивировано 15 октября 2014 года.
- ↑ 1 2 Marlinspike, Moxie. "Advanced cryptographic ratcheting" (26 ноября 2013). Дата обращения: 9 декабря 2018. Архивировано 7 августа 2019 года.
- ↑ Darren Pauli. "Auditors find encrypted chat client TextSecure is secure" (3 ноября 2014). Дата обращения: 9 декабря 2018. Архивировано 4 ноября 2014 года.
- ↑ 1 2 Marlinspike, Moxie. "Signal on the outside, Signal on the inside" (30 марта 2016). Дата обращения: 9 декабря 2018. Архивировано 15 ноября 2018 года.
- ↑ 1 2 Chris Brook. "Signal Audit Reveals Protocol Cryptographically Sound" (10 ноября 2016). Дата обращения: 9 декабря 2018. Архивировано 14 февраля 2017 года.
- ↑ 1 2 Christoph Rottermanner, Peter Kieseberg, Markus Huber, Martin Schmiedecker, Sebastian Schrittwieser. "Privacy and Data Protection in Smartphone Messengers" (декабрь 2015). Дата обращения: 9 декабря 2018. Архивировано 27 марта 2016 года.
- ↑ 1 2 Micah Lee. "Battle of the Secure Messaging Apps: How Signal Beats WhatsApp" (22 июня 2016). Дата обращения: 9 декабря 2018. Архивировано 19 февраля 2017 года.
- ↑ Moxie Marlinspike. "Video calls for Signal out of beta" (13 марта 2017). Дата обращения: 8 декабря 2018. Архивировано 19 ноября 2018 года.
- ↑ Jon Evans. "WhatsApp Partners With Open WhisperSystems To End-To-End Encrypt Billions Of Messages A Day" (18 ноября 2014). Дата обращения: 8 декабря 2018. Архивировано 18 ноября 2014 года.
- ↑ Moxie Marlinspike. "Open Whisper Systems partners with WhatsApp to provide end-to-end encryption" (18 ноября 2014). Дата обращения: 8 декабря 2018. Архивировано 7 декабря 2018 года.
- ↑ Metz, Cade. "Forget Apple vs. the FBI: WhatsApp Just Switched on Encryption for a Billion People" (5 апреля 2016). Дата обращения: 8 декабря 2018. Архивировано 5 апреля 2016 года.
- ↑ Lomas, Natasha. "WhatsApp completes end-to-end encryption rollout" (5 апреля 2016). Дата обращения: 8 декабря 2018. Архивировано 13 ноября 2020 года.
- ↑ WhatsApp. "Статус WhatsApp" (20 февраля 2017). Дата обращения: 8 декабря 2018.
- ↑ Tara Seals. "G DATA Adds Encryption for Secure Mobile Chat" (17 сентября 2015). Дата обращения: 8 декабря 2018. Архивировано 22 июля 2016 года.
- ↑ GDATASoftwareAG. "SecureChat" . Дата обращения: 8 декабря 2018. Архивировано 7 мая 2017 года.
- ↑ Greenberg, Andy With Allo and Duo, Google Finally Encrypts Conversations End-to-End . Wired (18 мая 2016). Дата обращения: 18 мая 2016. Архивировано 2 февраля 2017 года.
- ↑ Gibbs, Samuel Google launches WhatsApp competitor Allo – with Google Assistant . The Guardian (21 сентября 2016). Дата обращения: 21 сентября 2016. Архивировано 7 января 2019 года.
- ↑ Isaac, Mike Facebook to Add ‘Secret Conversations’ to Messenger App . The New York Times (8 июля 2016). Дата обращения: 12 июля 2016. Архивировано 12 июля 2016 года.
- ↑ Messenger Starts Testing End-to-End Encryption with Secret Conversations . Facebook (8 июля 2016). Дата обращения: 11 января 2018. Архивировано 12 января 2018 года.
- ↑ Greenberg, Andy ‘Secret Conversations:’ End-to-End Encryption Comes to Facebook Messenger . Wired (8 июля 2016). Дата обращения: 12 июля 2016. Архивировано 11 июля 2016 года.
- ↑ Greenberg, Andy You Can All Finally Encrypt Facebook Messenger, So Do It . Wired (4 октября 2016). Дата обращения: 5 октября 2016. Архивировано 15 апреля 2017 года.
- ↑ Newman, Lily Hay Skype's Rolling Out End-to-End Encryption For Hundreds of Millions of People . Wired (11 января 2018). Дата обращения: 13 января 2018. Архивировано 12 января 2018 года.
- ↑ Lund, Joshua Signal partners with Microsoft to bring end-to-end encryption to Skype . Signal Blog. Open Whisper Systems (11 января 2018). Дата обращения: 13 января 2018. Архивировано 2 февраля 2020 года.
- ↑ Viber Encryption Overview . Viber (3 мая 2016). Дата обращения: 8 июля 2017. Архивировано 11 июля 2016 года.
- ↑ Eyal, Ofir Canada, Germany and Australia are getting e2e encryption . Viber (3 мая 2016). Дата обращения: 9 октября 2016. Архивировано 5 октября 2016 года.
- ↑ Add attribution . GitHub. Wire Swiss GmbH (9 мая 2016). Дата обращения: 9 октября 2016. Архивировано 7 мая 2017 года.
- ↑ Wire Security Whitepaper (PDF). Wire Swiss GmbH (3 марта 2016). Дата обращения: 15 июля 2016. (недоступная ссылка)
- ↑ Andreas Straub. XEP-0384: OMEMO Encryption . XMPP Standards Foundation website (7 декабря 2016). Дата обращения: 28 апреля 2017. Архивировано 25 февраля 2017 года.