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, встроенные реализации появятся во всех операционных системах.
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .