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

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