STARTTLS: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[отпатрулированная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
Addbot (обсуждение | вклад)
м Bot: Migrating interwiki links, now provided by Wikidata on d:q1435358
м откат правок 62.122.135.169 (обс.) к версии Alex NB OT
Метка: откат
 
(не показано 17 промежуточных версий 14 участников)
Строка 1: Строка 1:
'''STARTTLS''' это расширение обычного протокола текстового обмена, которое позволяет создать зашифрованное соединение прямо поверх незашифрованного соединения ([[Transport Layer Security|TLS]] или [[SSL]]), вместо открытия дополнительного порта для шифрованного соединения.
'''STARTTLS''' это расширение обычного протокола текстового обмена, которое позволяет создать зашифрованное соединение ([[Transport Layer Security|TLS]] или [[SSL]]) прямо поверх обычного [[TCP]]-соединения вместо открытия для шифрованного соединения отдельного порта.


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


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


:Высокоуровневые протоколы могут распологатся поверх прозрачного TLS протокола. Стандарт TSL не описывает как другие протоколы взаимодействуют с TSL, он не описывает как инициализировать рукопожатие TLS и как использовать обмен сертификатами аутентификации. Этим занимаются протоколы, запущенные поверх TLS.<ref>{{Cite web|author=Tim Dierks|coauthors=Eric Rescorla|title=The Transport Layer Security (TLS) Protocol|url=http://tools.ietf.org/html/rfc5246|publisher=[[RFC Editor]]|date=August 2008|accessdate=2009-10-08|archiveurl=http://www.webcitation.org/6FlKpUmLr|archivedate=2013-04-10}}</ref>
: Высокоуровневые протоколы могут располагаться поверх прозрачного TLS протокола. Стандарт TLS не описывает как другие протоколы взаимодействуют с TLS, он не описывает как инициализировать рукопожатие TLS и как использовать обмен сертификатами [[Аутентификация|аутентификации]]. Этим занимаются протоколы, запущенные поверх TLS.<ref>{{Cite web|author=Tim Dierks|coauthors=Eric Rescorla|title=The Transport Layer Security (TLS) Protocol|url=http://tools.ietf.org/html/rfc5246|publisher=[[RFC Editor]]|date=2008-08|accessdate=2009-10-08|archiveurl=https://www.webcitation.org/6FlKpUmLr?url=http://tools.ietf.org/html/rfc5246|archivedate=2013-04-10|deadurl=yes}}</ref>


Для использования TLS надо использовать библиотеки в которые уже встроен TLS. Например, расширение RFC 3207 SMTP показывает в следующем описании протокола как клиент и сервер запускают зашифрованную сессию:<ref>{{Cite web|author=Paul Hoffman|title=SMTP Service Extension for Secure SMTP over Transport Layer Security|url=http://tools.ietf.org/html/rfc3207|publisher=[[RFC Editor]]|date=February 2002|accessdate=2009-10-08|archiveurl=http://www.webcitation.org/6FlKq2B9R|archivedate=2013-04-10}}</ref>
Для использования TLS необходимо использовать библиотеки, в которые уже встроен TLS. Например, расширение RFC 3207 SMTP показывает в следующем описании протокола, как клиент и сервер запускают зашифрованную сессию:<ref>{{Cite web|author=Paul Hoffman|title=SMTP Service Extension for Secure SMTP over Transport Layer Security|url=http://tools.ietf.org/html/rfc3207|publisher=[[RFC Editor]]|date=2002-02|accessdate=2009-10-08|archiveurl=https://www.webcitation.org/6FlKq2B9R?url=http://tools.ietf.org/html/rfc3207|archivedate=2013-04-10|deadurl=yes}}</ref>


S: &lt;waits for connection on TCP port 25&gt;
S: &lt;waits for connection on TCP port 25&gt;
Строка 21: Строка 21:
C & S: &lt;negotiate a TLS session&gt;
C & S: &lt;negotiate a TLS session&gt;
C & S: &lt;check result of negotiation&gt;
C & S: &lt;check result of negotiation&gt;
C: EHLO client.example.org<ref>The last line in the example added for clarity. See e.g. the thread started by {{Cite web|author=Paul Smith|title=STARTTLS & EHLO|url=http://www.imc.org/ietf-smtp/mail-archive/msg05452.html|work=ietf-smtp mailing list|publisher=[[Internet Mail Consortium]]|date=26 January 2009|accessdate=2009-10-08|archiveurl=http://www.webcitation.org/6FlKqXzQ0|archivedate=2013-04-10}}</ref>
C: EHLO client.example.org<ref>The last line in the example added for clarity. See e.g. the thread started by {{Cite web|author=Paul Smith|title=STARTTLS & EHLO|url=http://www.imc.org/ietf-smtp/mail-archive/msg05452.html|work=ietf-smtp mailing list|publisher=[[Internet Mail Consortium]]|date=2009-01-26|accessdate=2009-10-08|archiveurl=https://www.webcitation.org/6FlKqXzQ0?url=http://www.imc.org/ietf-smtp/mail-archive/msg05452.html|archivedate=2013-04-10|deadurl=yes}}</ref>
. . .
. . .


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


== SSL порты ==
== SSL-порты ==


Перед тем, как STARTTLS появился, многие TCP порты были назначены для SSL-криптованого соединения многих серверов. TLS устанавливает безопасное соединение посредством коммуникационного потока идентичного старому не криптованному протоколу. Более не рекомендуется, с внедрения более эффективного STARTTLS использовать дефицитные номера портов, что позволяет упростить конфигурацию устройств.{{fact|date=September 2012}} Некоторые примеры:
Перед тем, как STARTTLS появился, многие TCP порты были назначены для SSL-шифрованного соединения многих серверов. TLS устанавливает безопасное соединение посредством коммуникационного потока идентичного старому, не шифрованному протоколу. С момента внедрения более эффективного STARTTLS, не рекомендуется использовать дефицитные номера портов, что позволяет упростить конфигурацию устройств<ref>{{cite web|url=https://www.ietf.org/rfc/rfc2595.txt|title=Using TLS with IMAP, POP3 and ACAP|author=C. Newman|date=1999-06|publisher=[[RFC]]|accessdate=2014-08-27|archive-date=2014-09-25|archive-url=https://web.archive.org/web/20140925121634/http://www.ietf.org/rfc/rfc2595.txt|deadlink=no}}</ref>. Некоторые примеры:


{| class="wikitable"
{| class="wikitable"
Строка 34: Строка 34:
! Protocol !! Purpose !! Normal port !! SSL variant !! SSL port
! Protocol !! Purpose !! Normal port !! SSL variant !! SSL port
|-
|-
| [[HTTP]] || Web server || 80 || [[HTTPS]] || 443
| [[HTTP]] || Web server || 80 || [[HTTPS]] || 443
|-
|-
| [[SMTP]] || Send email || 25 || [[SMTPS]] || 465
| [[SMTP]] || Send email || 25 || [[SMTPS]] || 465
|-
|-
| [[IMAP]] || Read email || 143 || [[IMAPS]] || 993
| [[IMAP]] || Read email || 143 || [[IMAPS]] || 993
Строка 42: Строка 42:
|}
|}


== Примечания ==
==Ссылки==
{{примечания}}
<references/>

==Внешние ссылки==
* [http://www.checktls.com/tests.html SMTP TLS Tests and Tools] (the "Receiver Test" shows dialogs like the one above)


== Ссылки ==
* [http://www.checktls.com/tests.html SMTP TLS Tests and Tools] (the «Receiver Test» shows dialogs like the one above)


[[Категория:Интернет-протоколы]]
[[Категория:Интернет-протоколы]]

[[en:StartTLS]]
[[fr:StartTLS]]

Текущая версия от 22:04, 10 августа 2024

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, которых нет в обычном текстовом обмене.

Перед тем, как 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 года.