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 года.

Ссылки

править