Jump to content

Согласование протокола прикладного уровня

Согласование протокола уровня приложения ( ALPN ) — это расширение безопасности транспортного уровня (TLS), которое позволяет уровню приложения согласовывать, какой протокол должен выполняться через безопасное соединение, таким образом, чтобы избежать дополнительных двусторонних обходов и который не зависит от уровня приложения. протоколы. Он используется для установления соединений HTTP/2 без дополнительных двусторонних обходов (клиент и сервер могут обмениваться данными с портами, ранее назначенными для HTTPS, с помощью HTTP/1.1 и обновиться до использования HTTP/2 или продолжить работу с HTTP/1.1, не закрывая первоначальное соединение).

Поддерживать

[ редактировать ]

ALPN поддерживается следующими библиотеками:

  • BSAFE Micro Edition Suite, начиная с версии 5.0 [1]
  • GnuTLS начиная с версии 3.2.0, выпущенной в мае 2013 г. [2]
  • MatrixSSL начиная с версии 3.7.1, выпущенной в декабре 2014 г. [3]
  • Службы сетевой безопасности , начиная с версии 3.15.5, выпущенной в апреле 2014 г. [4]
  • OpenSSL начиная с версии 1.0.2, выпущенной в январе 2015 г. [5]
  • LibreSSL начиная с версии 2.1.3, выпущенной в январе 2015 г. [6]
  • mbed TLS (ранее PolarSSL), начиная с версии 1.3.6, выпущенной в апреле 2014 г. [7]
  • s2n с момента его первоначального публичного выпуска в июне 2015 года.
  • wolfSSL (ранее CyaSSL), начиная с версии 3.7.0, выпущенной в октябре 2015 г. [8]
  • Go (в стандартном пакете библиотеки crypto/tls), начиная с версии 1.4, выпущенной в декабре 2014 г. [9]
  • JSSE на Java с момента выпуска JDK 9 в сентябре 2017 г. [10] перенесено в JDK 8, выпущенное в апреле 2020 г. [11]
  • Win32 SSPI с момента выпуска Windows 8.1 и Windows Server 2012 R2 18 октября 2013 г. [12]

Следующее согласование протокола

[ редактировать ]

В январе 2010 года Google представил проект стандарта IETF, описывающий расширение TLS для согласования следующего протокола. [13] Это расширение использовалось для согласования экспериментальных соединений SPDY между Google Chrome и некоторыми серверами Google. По мере развития SPDY NPN была заменена на ALPN.

Согласование протокола прикладного уровня

[ редактировать ]

11 июля 2014 г. ALPN был опубликован как РФК   7301 . ALPN заменяет расширение Next Protocol Negotiation (NPN). [14]

TLS False Start отключен в Google Chrome начиная с версии 20 (2012 г.), за исключением веб-сайтов с более ранним расширением NPN. [15]

ALPN — это расширение TLS, которое отправляется при начальном рукопожатии TLS «Client Hello» и перечисляет протоколы, которые поддерживает клиент (например, веб-браузер):

    Handshake Type: Client Hello (1)
    Length: 141
    Version: TLS 1.2 (0x0303)
    Random: dd67b5943e5efd0740519f38071008b59efbd68ab3114587...
    Session ID Length: 0
    Cipher Suites Length: 10
    Cipher Suites (5 suites)
    Compression Methods Length: 1
    Compression Methods (1 method)
    Extensions Length: 90
    [other extensions omitted]
    Extension: application_layer_protocol_negotiation (len=14)
        Type: application_layer_protocol_negotiation (16)
        Length: 14
        ALPN Extension Length: 12
        ALPN Protocol
            ALPN string length: 2
            ALPN Next Protocol: h2
            ALPN string length: 8
            ALPN Next Protocol: http/1.1

Результирующий «Server Hello» от веб-сервера также будет содержать расширение ALPN и подтверждает, какой протокол будет использоваться для HTTP-запроса:

    Handshake Type: Server Hello (2)
    Length: 94
    Version: TLS 1.2 (0x0303)
    Random: 44e447964d7e8a7d3b404c4748423f02345241dcc9c7e332...
    Session ID Length: 32
    Session ID: 7667476d1d698d0a90caa1d9a449be814b89a0b52f470e2d...
    Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (0xc02f)
    Compression Method: null (0)
    Extensions Length: 22
    [other extensions omitted]
    Extension: application_layer_protocol_negotiation (len=5)
        Type: application_layer_protocol_negotiation (16)
        Length: 5
        ALPN Extension Length: 3
        ALPN Protocol
            ALPN string length: 2
            ALPN Next Protocol: h2
  1. ^ «Информация о выпуске Dell BSAFE Micro Edition Suite 5.0» . Проверено 18 октября 2022 г.
  2. ^ "gnutls 3.2.0" . Архивировано из оригинала 31 января 2016 г. Проверено 26 января 2015 г.
  3. ^ «МатриксSSL - Новости» . 04.12.2014. Архивировано из оригинала 14 февраля 2015 г. Проверено 26 января 2015 г.
  4. ^ «Примечания к выпуску NSS 3.15.5» . Сеть разработчиков Mozilla . Мозилла . Проверено 26 января 2015 г.
  5. ^ «Примечания к выпуску OpenSSL 1.0.2» . Проект OpenSSL . 22 января 2015 г. Архивировано из оригинала 4 сентября 2014 г. Проверено 26 января 2015 г.
  6. ^ «Выпущен LibreSSL 2.1.3» . 22 января 2015 г. Проверено 26 января 2015 г.
  7. ^ «Обзор загрузки — PolarSSL» . 11 апреля 2014 г. Архивировано из оригинала 9 февраля 2015 г. Проверено 26 января 2015 г.
  8. ^ «Журнал изменений выпуска wolfSSL» . 26 октября 2015 г. Проверено 11 сентября 2015 г.
  9. ^ «Примечания к выпуску Go 1.4» . 10 декабря 2014 г. Проверено 28 ноября 2017 г.
  10. ^ «JEP 244: Расширение согласования протокола уровня приложений TLS» . 07.08.2017 . Проверено 29 августа 2018 г.
  11. ^ «Примечание к выпуску: расширение согласования протокола уровня приложений TLS» . 30 апреля 2020 г. Проверено 11 июня 2020 г.
  12. ^ «Что нового в TLS/SSL (Schannel SSP)» . 31 августа 2016 года . Проверено 30 марта 2020 г.
  13. ^ Лэнгли, А. (20 января 2010 г.). «Расширение согласования следующего протокола безопасности транспортного уровня (TLS)» . Трекер данных IETF .
  14. ^ Лэнгли, Адам. «» НПН и АЛПН» . Проверено 2 апреля 2013 г.
  15. ^ Лэнгли, Адам. «Провал фальстарта (11 апреля 2012 г.)» . Проверено 25 сентября 2013 г.
[ редактировать ]


Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 5ac855fc8edd25c4f18626e2a1dcf9a0__1709040900
URL1:https://arc.ask3.ru/arc/aa/5a/a0/5ac855fc8edd25c4f18626e2a1dcf9a0.html
Заголовок, (Title) документа по адресу, URL1:
Application-Layer Protocol Negotiation - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)