Tcpcrypt
| tcpcrypt | |
|---|---|
| Название | Cryptographic Protection of TCP Streams |
| Уровень (помодели OSI) | Транспортный |
| Семейство | TCP/IP |
| Создан в | июнь2013 |
| Спецификация | RFC 8547,RFC 8548 |
| Разработчик | Марк Хэндли[вд] и Дэн Боне |
tcpcrypt — расширениепротоколаTCP, добавляющее в TCP возможностьоппортунистическогошифрованиятрафика[1][2]. В случае, если один из абонентов не поддерживает расширение tcpcrypt, устанавливается обычное TCP-соединение. Если оба абонента поддерживают tcpcrypt, данные шифруются незаметно для приложений (поддержка со стороны приложений не требуется; настройка не требуется (в отличие отVPN)).
Описание расширения
[править |править код]Расширение tcpcrypt создано для решения следующих задач:
- шифрование трафика;
- обеспечениецелостности данных.
Расширение tcpcrypt, в отличие от протоколовTLS иIPsec, не содержит средстваутентификации пользователей, но предоставляет поле «Session ID». «Session ID» может использоваться на более высоких уровняхсетевой модели OSI для реализации любых схем аутентификации (например, аутентификации с помощью паролей или аутентификации с помощью сертификатовPKI).
Работа расширения tcpcrypt является прозрачной для приложений (то есть, для поддержки tcpcrypt модификация приложения не требуется). В случае работы по умолчанию (безаутентификации) расширение не требует настройки. Однако, при работе без аутентификации расширение уязвимо для активной[3] атакичеловек посредине.
Большая часть работы по установке соединения (организации шифрования с использованием открытого ключа) выполняется на стороне клиента. Это сделано намеренно для уменьшения нагрузки на сервера и снижения вероятностиDoS-атак[4].
Согласно исследованиям авторов, при использовании расширения tcpcrypt, по сравнению сTCP/TLS, нагрузка на сервера снижается за счёт более простой и быстрой процедуры рукопожатия (англ. handshake).
Расширение tcpcrypt использует TCP timestamps и добавляет в каждый пакет несколько своих TCP options. Из-за этого размер пакета увеличивается на 36 байт по сравнению с размером обычного TCP пакета. Если принять средний размер пакета TCP равным 471 байту[5],пропускная способность канала уменьшится на 8 %. Пользователи со скоростью канала, превышающей 64kbs, не должны заметить разницы, но работа пользователейdial up может существенно замедлиться.
История
[править |править код]Расширение tcpcrypt спроектировано командой из шести человек[6]:
- Andrea Bittau
- Mike Hamburg
- Mark Handley[англ.]
- David Mazières
- Dan Boneh
- Quinn Slack
и представлено на 19-м собрании «USENIX security symposium» в 2010 году.
В июле 2010 был опубликован первый черновик спецификации, а в августе 2010 — исходные кодыэталонной реализации. ПредставителиIETF ознакомились с черновиком, но стандарт не приняли. Из-за этого проект не развивался до 2011 года[7].
В 2013‑2014 годахЭдвард Сноуденраскрыл информацию о массовой слежкеАНБ и других правительственных организаций за пользователями интернета.IETF решила защитить пользователей от слежки путём создания безопасных протоколов интернета[8][9]. Расширение tcpcrypt выполняло прозрачное шифрование всего трафика, и IETF проявила интерес к его стандартизации.
В марте 2014 годаIETF создала список рассылки (англ. mailing list) для обсуждения tcpcrypt[10]. В июне 2014 годаIETF сформировала рабочую группу под названием «TCPINC» (отангл. TCP increased security) для стандартизации расширения tcpcrypt[11] и опубликовала новый черновик спецификации.
С черновиком (англ. internet draft) можно ознакомиться поссылке[12].
В 2019 году после длительных обсуждений и девятнадцати редакций документа стандарт был принят как экспериментальный и оформлен какRFC 8548.
Реализации
[править |править код]Реализации расширения tcpcrypt подготовлены для несколькихоперационных систем:Linux,FreeBSD,Windows иMac OS X. Все реализации:
- работают впространстве пользователя;
- считаются экспериментальными (англ. experimental) и по сообщениям пользователей работают нестабильно (англ. unstable).
ПротоколIPv6 пока поддерживается только реализацией дляОСLinux.
Ожидается, что после стандартизации расширения tcpcrypt, встроенные реализации появятся во всех операционных системах.
См. также
[править |править код]- TCP
- SSL/TLS
- IPsec
- VPN
- DTLS
- Obfuscated TCP[англ.] — более ранняя попытка реализацииоппортунистическогошифрования дляTCP.
Примечания
[править |править код]- ↑Andrea Bittau; et al. (13 августа 2010).The case for ubiquitous transport-level encryption(PDF). 19th USENIX Security Symposium.Архивировано(PDF) 18 ноября 2011. Дата обращения: 25 марта 2015.
{{cite conference}}:Явное указание et al. в:|author=(справка)Источник . Дата обращения: 25 марта 2015. Архивировано 18 ноября 2011 года. - ↑Michael Cooney (19 июля 2010).Is ubiquitous encryption technology on the horizon?.Network World.Архивировано 20 октября 2013. Дата обращения: 25 марта 2015.
- ↑Пассивная (англ. passive) атака — прослушивание трафика.
Активная (англ. active) атака — изменение трафика. - ↑Jake Edge (25 августа 2010).Transport-level encryption with Tcpcrypt.LWN.net.Архивировано 2 апреля 2015. Дата обращения: 25 марта 2015.
- ↑"Sean McCreary and kc klaffy". Trends in Wide Area IP Traffic Patterns A View from Ames Internet Exchange . Дата обращения: 25 марта 2015. Архивировано 2 апреля 2015 года.
- ↑tcpcrypt - About us . tcpcrypt.org. Дата обращения: 25 марта 2015. Архивировано 28 марта 2015 года.
- ↑Mark Handley (09.09.2013).Kernel patch for Linux 3.10.10? (Mailing list).Архивировано 2014-07-27. Дата обращения:2015-03-25.
Two years ago we failed to get much traction for the takeup of tcpcrypt.
.{{cite mailing list}}:Проверьте значение даты:|date=(справка) - ↑Richard Chirgwin (14.05.2014).IETF plans to NSA-proof all future internet protocols.The Register.Архивировано 2017-07-07. Дата обращения:2017-09-29.
{{cite news}}:Проверьте значение даты:|date=(справка) - ↑Mark Jackson (13.05.2014).IETF Commits to Hamper State Sponsored Mass Internet Surveillance. ISP Review.Архивировано 2015-04-02. Дата обращения:2015-03-25.
{{cite news}}:Проверьте значение даты:|date=(справка) - ↑New Non-WG Mailing List: Tcpcrypt -- Discussion list for adding encryption to TCP (Mailing list). IETF Secretariat.24.03.2014.Архивировано 2015-09-24. Дата обращения:2015-03-25.
{{cite mailing list}}:Проверьте значение даты:|date=(справка) - ↑TCP Increased Security (tcpinc) . Charter for Working Group. Дата обращения:25.07.2014. Архивировано 29 марта 2015 года.
- ↑Bittau, A. (21.07.2014),Cryptographic protection of TCP Streams (tcpcrypt),IETF
{{citation}}:Проверьте значение даты:|date=(справка);Неизвестный параметр|coauthors=игнорируется (|author=предлагается) (справка);Неизвестный параметр|draft=игнорируется (справка)
Ссылки
[править |править код]- tcpcrypt.org (англ.) — официальный сайт проекта tcpcrypt.
- https://github.com/scslab/tcpcrypt/ — исходный код реализаций tcpcrypt для несколькихОС.
- Протокол tcpcrypt — тотальное шифрование трафика (рус.) — О протоколе tcpcrypt