STARTTLS

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

STARTTLS это расширение обычного протокола текстового обмена, которое позволяет создать зашифрованное соединение (TLS или SSL) прямо поверх обычного TCP-соединения вместо открытия для шифрованного соединения отдельного порта.

STARTTLS для IMAP и POP3 определён в RFC 2595, для SMTP — в RFC 3207, для FTP — в RFC 4217, для XMPP — в RFC 6120, для LDAP — в RFC 2830 и для NNTP — в RFC 4642.

Уровни[править | править код]

TLS это независимый от уровня приложений протокол; в терминах RFC 5246

Высокоуровневые протоколы могут располагаться поверх прозрачного TLS протокола. Стандарт TLS не описывает как другие протоколы взаимодействуют с TLS, он не описывает как инициализировать рукопожатие TLS и как использовать обмен сертификатами аутентификации. Этим занимаются протоколы, запущенные поверх TLS.[1]

Для использования TLS необходимо использовать библиотеки, в которые уже встроен TLS. Например, расширение RFC 3207 SMTP показывает в следующем описании протокола, как клиент и сервер запускают зашифрованную сессию:[2]

  S: <waits for connection on TCP port 25>
  C: <opens connection>
  S: 220 mail.example.org ESMTP service ready
  C: EHLO client.example.org
  S: 250-mail.example.org offers a warm hug of welcome
  S: 250 STARTTLS
  C: STARTTLS
  S: 220 Go ahead
  C: <starts TLS negotiation>
  C & S: <negotiate a TLS session>
  C & S: <check result of negotiation>
  C: EHLO client.example.org[3]
  . . .

Последняя команда EHLO проходит через защищённый канал. Отметим, что возможность аутентификации не обязательна для SMTP, и возможные ответы сервера могут не распознаваться как AUTH PLAIN расширения SMTP, которых нет в обычном текстовом обмене.

SSL-порты[править | править код]

Перед тем, как STARTTLS появился, многие TCP порты были назначены для SSL-шифрованного соединения многих серверов. TLS устанавливает безопасное соединение посредством коммуникационного потока идентичного старому, не шифрованному протоколу. С момента внедрения более эффективного STARTTLS, не рекомендуется использовать дефицитные номера портов, что позволяет упростить конфигурацию устройств[4]. Некоторые примеры:

Protocol Purpose Normal port SSL variant SSL port
HTTP Web server 80 HTTPS 443
SMTP Send email 25 SMTPS 465
IMAP Read email 143 IMAPS 993

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

  1. Tim Dierks; Eric Rescorla.: The Transport Layer Security (TLS) Protocol. RFC Editor (август 2008). Дата обращения: 8 октября 2009. Архивировано из оригинала 10 апреля 2013 года.
  2. Paul Hoffman. SMTP Service Extension for Secure SMTP over Transport Layer Security. RFC Editor (февраль 2002). Дата обращения: 8 октября 2009. Архивировано из оригинала 10 апреля 2013 года.
  3. The last line in the example added for clarity. See e.g. the thread started by Paul Smith. STARTTLS & EHLO. ietf-smtp mailing list. Internet Mail Consortium (26 января 2009). Дата обращения: 8 октября 2009. Архивировано из оригинала 10 апреля 2013 года.
  4. C. Newman. Using TLS with IMAP, POP3 and ACAP. RFC (июнь 1999). Дата обращения: 27 августа 2014. Архивировано 25 сентября 2014 года.

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