Vyjednávání protokolu aplikační vrstvy - Application-Layer Protocol Negotiation - Wikipedia
![]() | tento článek příliš spoléhá na Reference na primární zdroje.duben 2013) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
Aplikační vrstva Vyjednávání o protokolu (ALPN) je Zabezpečení transportní vrstvy (TLS) rozšíření, které umožňuje aplikační vrstvě vyjednat které protokol by mělo být provedeno přes zabezpečené připojení způsobem, který se vyhne dalšímu zpáteční cestě a který je nezávislý na protokolech aplikační vrstvy. Je to nutné bezpečně HTTP / 2 připojení, což zlepšuje kompresi webových stránek a snižuje jejich latenci ve srovnání s HTTP / 1.x. Standardy ALPN a HTTP / 2 vyplynuly z vývojových prací provedených společností Google na nyní stažených SPDY protokol.
Podpěra, podpora
ALPN je podporován těmito knihovnami:
- GnuTLS od verze 3.2.0 vydané v květnu 2013[1]
- MatrixSSL od verze 3.7.1 vydané v prosinci 2014[2]
- Služby zabezpečení sítě od verze 3.15.5 vydané v dubnu 2014[3]
- OpenSSL od verze 1.0.2 vydané v lednu 2015[4]
- LibreSSL od verze 2.1.3 vydané v lednu 2015[5]
- mbed TLS (dříve PolarSSL) od verze 1.3.6 vydané v dubnu 2014[6]
- SChannel od 8.1/2012 R2
- s2n od původního veřejného vydání v červnu 2015.
- wolfSSL (dříve CyaSSL) od verze 3.7.0 vydané v říjnu 2015[7]
- Jít (ve standardním balíčku knihovny crypto / tls) od verze 1.4 vydané v prosinci 2014[8]
- Picotls[9]
- JSSE v Jáva od vydání JDK 9 v září 2017,[10] backported to JDK 8 vydané v dubnu 2020[11]
- BearSSL od verze 0.3[12]
- Win32 SSPI od vydání Windows 8.1 a Windows Server 2012 R2 18. října 2013[13]
Dějiny
11. července 2014 byl ALPN zveřejněn jako RFC 7301. ALPN nahrazuje NPN[14]
Falešný start TLS byl deaktivován v Google Chrome od verze 20 (2012) a dále, s výjimkou webů s předchozí verzí Další jednání o protokolu (NPN) rozšíření.[15]
Příklad
ALPN je přípona TLS, která se odesílá na začátku TLS handshake „Klient Hello“ a uvádí seznam protokolů, které klient (například webový prohlížeč) podporuje:
Typ handshake: Client Hello (1) Délka: 141 Verze: TLS 1.2 (0x0303) Náhodné: dd67b5943e5efd0740519f38071008b59efbd68ab3114587 ... Délka ID relace: 0 Délka šifrovacích sad: 10 šifrovacích sad (5 sad) Metody komprese Délka: 1 Metody komprese (1 metoda ) Délka rozšíření: 90 [ostatní rozšíření vynechána] Rozšíření: application_layer_protocol_negotiation (len = 14) Typ: application_layer_protocol_negotiation (16) Délka: 14 ALPN Délka rozšíření: 12 ALPN Protokol ALPN délka řetězce: 2 ALPN Další protokol: h2 ALPN délka řetězce: 8 ALPN Další protokol: http / 1.1
Výsledný „Server Hello“ z webového serveru bude také obsahovat příponu ALPN a potvrdí, který protokol bude použit pro požadavek HTTP:
Handshake Type: Dobrý den, (2) Délka Server: 94 Verze: TLS 1.2 (0x0303) Random: 44e447964d7e8a7d3b404c4748423f02345241dcc9c7e332 ... ID relace Délka: 32 Session ID: 7667476d1d698d0a90caa1d9a449be814b89a0b52f470e2d ... Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (0xc02f) Metoda komprese: null (0) Délka rozšíření: 22 [ostatní rozšíření vynechána] Rozšíření: application_layer_protocol_negotiation (len = 5) Typ: application_layer_protocol_negotiation (16) Délka: 5 ALPN Délka rozšíření: 3 ALPN Protokol ALPN délka řetězce: 2 ALPN Další protokol: h2
Reference
- ^ „ořechy 3.2.0“. Archivovány od originál dne 31.01.2016. Citováno 2015-01-26.
- ^ "MatrixSSL - novinky". 04.12.2014. Archivovány od originál dne 2015-02-14. Citováno 2015-01-26.
- ^ „Poznámky k verzi NSS 3.15.5“. Mozilla Developer Network. Mozilla. Citováno 2015-01-26.
- ^ „Poznámky k verzi OpenSSL 1.0.2“. Projekt OpenSSL. Projekt OpenSSL. 2015-01-22. Citováno 2015-01-26.
- ^ „Vydán LibreSSL 2.1.3“. 2015-01-22. Citováno 2015-01-26.
- ^ "Přehled stahování - PolarSSL". 2014-04-11. Citováno 2015-01-26.
- ^ "wolfSSL Release Change Log". 2015-10-26. Citováno 2015-09-11.
- ^ „Poznámky k verzi Go 1.4“. 2014-12-10. Citováno 2017-11-28.
- ^ "Picotls". Github. Citováno 2. srpna 2018.
- ^ „JEP 244: TLS Application-Layer Protocol Negotiation Extension“. 2017-08-07. Citováno 2018-08-29.
- ^ "Poznámka k verzi: TLS rozšíření protokolu protokolu aplikační vrstvy". 2020-04-30. Citováno 2020-06-11.
- ^ "BearSSL - Seznam změn". Citováno 2010-09-08.
- ^ „Co je nového v TLS / SSL (Schannel SSP)“. Citováno 2020-03-30.
- ^ Langley, Adam. "» NPN a ALPN ". Citováno 2. dubna 2013.
- ^ Langley, Adam. „Selhání falešného startu (11. dubna 2012)“. Citováno 25. září 2013.
externí odkazy
- Registr ID protokolů ALPN udržuje IANA jako příponu TLS.
- draft-agl-tls-nextprotoneg-04 (návrh NPN) (poslední aktualizace: květen 2012)
- RFC 7301 „Transport Layer Security (TLS) Application-Layer Protocol Negotiation Extension“
![]() | Tento počítačové sítě článek je a pahýl. Wikipedii můžete pomoci pomocí rozšiřovat to. |