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

  • 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].

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

Реализации расширения 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?. Список рассылки (2013-09-09.07.2015).
  8. Richard Chirgwin. IETF plans to NSA-proof all future internet protocols, The Register (2014-05-14.07.2015).
  9. Mark Jackson. IETF Commits to Hamper State Sponsored Mass Internet Surveillance, ISP Review (2014-05-13.07.2015).
  10. New Non-WG Mailing List: Tcpcrypt -- Discussion list for adding encryption to TCP. Список рассылки (2014-03-24.07.2015).
  11. TCP Increased Security (tcpinc). Charter for Working Group. Проверено 2014-07-25.07.2015.
  12. Bittau, A. (2014-07-21.07.2015), «Cryptographic protection of TCP Streams (tcpcrypt)», IETF 

Ссылки[править | править вики-текст]