STARTTLS: различия между версиями
[отпатрулированная версия] | [непроверенная версия] |
Addbot (обсуждение | вклад) м Bot: Migrating interwiki links, now provided by Wikidata on d:q1435358 |
Tegel (обсуждение | вклад) м откат правок 62.122.135.169 (обс.) к версии Alex NB OT Метка: откат |
||
(не показано 17 промежуточных версий 14 участников) | |||
Строка 1: | Строка 1: | ||
'''STARTTLS''' это расширение обычного протокола текстового обмена, которое позволяет создать зашифрованное соединение |
'''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 протокола. Стандарт 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 необходимо использовать библиотеки, в которые уже встроен 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: <waits for connection on TCP port 25> |
S: <waits for connection on TCP port 25> |
||
Строка 21: | Строка 21: | ||
C & S: <negotiate a TLS session> |
C & S: <negotiate a TLS session> |
||
C & S: <check result of negotiation> |
C & S: <check result of negotiation> |
||
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= |
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'' проходит через |
Последняя команда ''EHLO'' проходит через защищённый канал. Отметим, что возможность аутентификации не обязательна для SMTP, и возможные ответы сервера могут не распознаваться как ''AUTH PLAIN'' расширения SMTP, которых нет в обычном текстовом обмене. |
||
== SSL |
== SSL-порты == |
||
Перед тем, как STARTTLS появился, многие TCP порты были назначены для SSL- |
Перед тем, как 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]] |
| [[HTTP]] || Web server || 80 || [[HTTPS]] || 443 |
||
|- |
|- |
||
| [[SMTP]] || Send email || 25 || [[SMTPS]] |
| [[SMTP]] || Send email || 25 || [[SMTPS]] || 465 |
||
|- |
|- |
||
| [[IMAP]] || Read email || 143 || [[IMAPS]] || 993 |
| [[IMAP]] || Read email || 143 || [[IMAPS]] || 993 |
||
Строка 42: | Строка 42: | ||
|} |
|} |
||
== Примечания == |
|||
⚫ | |||
{{примечания}} |
|||
<references/> |
|||
==Внешние ссылки== |
|||
⚫ | |||
⚫ | |||
⚫ | |||
[[Категория:Интернет-протоколы]] |
[[Категория:Интернет-протоколы]] |
||
[[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, которых нет в обычном текстовом обмене.
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 |
Примечания
[править | править код]- ↑ Tim Dierks; Eric Rescorla.: The Transport Layer Security (TLS) Protocol . RFC Editor (август 2008). Дата обращения: 8 октября 2009. Архивировано из оригинала 10 апреля 2013 года.
- ↑ Paul Hoffman. SMTP Service Extension for Secure SMTP over Transport Layer Security . RFC Editor (февраль 2002). Дата обращения: 8 октября 2009. Архивировано из оригинала 10 апреля 2013 года.
- ↑ 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 года.
- ↑ C. Newman. Using TLS with IMAP, POP3 and ACAP . RFC (июнь 1999). Дата обращения: 27 августа 2014. Архивировано 25 сентября 2014 года.
Ссылки
[править | править код]- SMTP TLS Tests and Tools (the «Receiver Test» shows dialogs like the one above)