Tcpcrypt

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

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]:

и представлено на 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].

Реализации[править | править код]

Реализации расширения tcpcrypt подготовлены для нескольких операционных систем: Linux, FreeBSD, Windows и Mac OS X. Все реализации:

Протокол IPv6 пока поддерживается только реализацией для ОС Linux.

Ожидается, что после стандартизации расширения tcpcrypt, встроенные реализации появятся во всех операционных системах.

См. также[править | править код]

Примечания[править | править код]

  1. Andrea Bittau; et al. (2010-08-13). The case for ubiquitous transport-level encryption (PDF). 19th USENIX Security Symposium. Архивная копия от 18 ноября 2011 на Wayback Machine
  2. Michael Cooney. Is ubiquitous encryption technology on the horizon?, Network World (19 июля 2010). Архивировано 20 октября 2013 года. Дата обращения 25 марта 2015.
  3. Пассивная (англ. passive) атака — прослушивание трафика.
    Активная (англ. active) атака — изменение трафика.
  4. Jake Edge. Transport-level encryption with Tcpcrypt, LWN.net (25 августа 2010). Архивировано 2 апреля 2015 года. Дата обращения 25 марта 2015.
  5. "Sean McCreary and kc klaffy". Trends in Wide Area IP Traffic Patterns A View from Ames Internet Exchange. Дата обращения: 25 марта 2015. Архивировано 2 апреля 2015 года.
  6. tcpcrypt - About us. tcpcrypt.org. Дата обращения: 25 марта 2015. Архивировано 28 марта 2015 года.
  7. Mark Handley. Kernel patch for Linux 3.10.10?. Список рассылки (09.09.2013). Дата обращения: 25 марта 2015.
  8. Richard Chirgwin. IETF plans to NSA-proof all future internet protocols, The Register (14.05.2014). Архивировано 7 июля 2017 года. Дата обращения 29 сентября 2017.
  9. Mark Jackson. IETF Commits to Hamper State Sponsored Mass Internet Surveillance, ISP Review (13.05.2014). Архивировано 2 апреля 2015 года. Дата обращения 25 марта 2015.
  10. New Non-WG Mailing List: Tcpcrypt -- Discussion list for adding encryption to TCP. Список рассылки (24.03.2014). Дата обращения: 25 марта 2015.
  11. TCP Increased Security (tcpinc). Charter for Working Group. Дата обращения: 25.07.2014. Архивировано 29 марта 2015 года.
  12. Bittau, A. (21.07.2014), Cryptographic protection of TCP Streams (tcpcrypt), IETF 

Ссылки[править | править код]