рдореЙрдбреНрдпреВрд▓ рдХреНрд░рд┐рдкреНрдЯреЛ-рдЧреЛрд╕реНрдЯ-рдЯреАрдПрд▓рдПрд╕13 рдЗрд╕рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╢рд╛рдорд┐рд▓ рд╣реИ рдЯреАрдПрд▓рдПрд╕ 1.3 (рдЖрд░рдПрдлрд╕реА 8446 + рдЖрд░рдПрдлрд╕реА 9367) GOST рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рдХреЗ рд╕рд╛рдеред рдпрд╣ рд░рд┐рд▓реАрдЬрд╝ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ рдФрд░ рдЖрдВрддрд░рд┐рдХ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред
рдЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рдПрдХ рдЕрдиреВрдареА рд╡рд┐рд╢реЗрд╖рддрд╛ рдЗрд╕рдХрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЬрд╛рд╡рд╛ рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред рд╕рднреА рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХ рдСрдкрд░реЗрд╢рди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЗрд╕рдореЗрдВ рдХрд┐рд╕реА рдмрд╛рд╣рд░реА рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред
рдпрд╣ рдЬрд╛рд╡рд╛ рдореЗрдВ GOST рдХреЗ рд╕рд╛рде TLS 1.3 рдХреЗ рдкрд╣рд▓реЗ рдУрдкрди рд╕реЛрд░реНрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрдВрдЯрд░рдСрдк рдкрд░реАрдХреНрд╖рдг рдиреНрдпреВрдирддрдо рд╕рдВрднрд╡ рд╕реАрдорд╛ рддрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдиреАрдЪреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреА рдХреНрд╖рдорддрд╛рдПрдВ рджреА рдЧрдИ рд╣реИрдВред
- рдкреНрд░реЛрдЯреЛрдХреЙрд▓:
- рд╣реИрдВрдбрд╢реЗрдХ: рдкреВрд░реНрдг (рдХреНрд▓рд╛рдЗрдВрдЯ/рд╕рд░реНрд╡рд░), рд╕рдВрдХреНрд╖рд┐рдкреНрдд (рдкреАрдПрд╕рдХреЗ), рдкрд╛рд░рд╕реНрдкрд░рд┐рдХ (рдПрдордЯреАрдПрд▓рдПрд╕)ред
- ALPN (RFC 7301) - рдПрдкреНрд▓реАрдХреЗрд╢рди рд▓реЗрдпрд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдиреЗрдЧреЛрд╢рд┐рдПрд╢рди (HTTP/2, HTTP/1.1)ред
- рдПрд╕рдПрдирдЖрдИ (рдЖрд░рдПрдлрд╕реА 6066) - рдирд╛рдо рд╕рдВрдХреЗрдд рд╕рд░реНрд╡рд░ рдмрд╣реБ-рдХрд┐рд░рд╛рдпреЗрджрд╛рд░ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рд▓рд┐рдПред
- KeyUpdate (RFC 8446 ┬з4.6.3) тАУ рдЯреНрд░реИрдлрд╝рд┐рдХ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреБрдВрдЬреА рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ред
- рд╕рд┐рдлрд░ рд╕реБрдЗрдЯреНрд╕: TLS_KUZNYECHIK_MGM_STREEBOG_256_L/Sред
- ECDHE: CryptoPro-A (256-рдмрд┐рдЯ), CryptoPro-B (512-рдмрд┐рдЯ)
- рдкреНрд░рддрд┐-рд░рд┐рдХреЙрд░реНрдб рдЯреАрдПрд▓рдПрд╕рдЯреАрдЖрд░рдИрдИ рд░реА-рдХреАрдЗрдВрдЧ тАФ рдкреНрд░рддреНрдпреЗрдХ рдЯреАрдПрд▓рдПрд╕ рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд▓рд┐рдП рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреБрдВрдЬреА рдХреЛ рдмрджрд▓рдирд╛ред
- рд╣рд╛рде рдорд┐рд▓рд╛рдиреЗ рдФрд░ рдЕрднрд┐рд▓реЗрдЦреЛрдВ рдХрд╛ рд╡рд┐рдЦрдВрдбрди рдФрд░ рдкреБрдирд░реНрд╕рдВрдпреЛрдЬрди (рдЖрд░рдПрдлрд╕реА 8446 ┬з5.1)ред
- рд╕рддреНрд░ рдкреБрдирдГ рдкреНрд░рд╛рд░рдВрдн: рдиреНрдпреВрд╕реЗрд╢рдирдЯрд┐рдХрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреАрдПрд╕рдХреЗ (рдкреАрдПрд╕рдХреЗрд╕реНрдЯреЛрд░ рдЗрди-рдореЗрдореЛрд░реА, рдПрдХрд▓-рдЙрдкрдпреЛрдЧ)ред
- рдУрд╕реАрдПрд╕рдкреА рд╕реНрдЯреЗрдкрд▓рд┐рдВрдЧ: рд╕реЗрд╡рдХ рдпрд╣ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдореЗрдВ OCSP рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИред
- рд╣реИрдВрдбрд╢реЗрдХ рдХреЗ рдмрд╛рдж рдХреЗ рд╕рдВрджреЗрд╢: NewSessionTicket (PSK рдХреЛ рдЫреЛрдбрд╝рдХрд░)ред
- рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА:
- рдореБрдЦреНрдп рдЕрдиреБрд╕реВрдЪреА: рдПрдЪрдХреЗрдбреАрдПрдл-рд╕реНрдЯреНрд░реАрдмреЛрдЧ (рдЖрд░рдПрдлрд╕реА 5869) рдЯреАрдПрд▓рдПрд╕ 1.3 (рдЖрд░рдПрдлрд╕реА 8446 ┬з7.1) рдкрд░ред
- рд░рд┐рдХреЙрд░реНрдб рд╕реБрд░рдХреНрд╖рд╛: RFC 8446 ┬з5.3 рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдиреЙрдирд╕ рдХреЗ рд╕рд╛рде MGM-AEAD (рдХреБрдЬрд╝рдиреАрдЪрд┐рдХ)ред
- рдЕрд╕реНрдерд╛рдпреА рдХреБрдВрдЬрд┐рдпрд╛рдБ рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рдж рдорд┐рдЯ рдЬрд╛рддреА рд╣реИрдВред
- рдкреНрд░рдорд╛рдг рдкрддреНрд░:
- X.509v3 рдкрд╛рд░реНрд╕рд┐рдВрдЧ (GOST R 34.10-2012) тАФ рдЕрдВрддрд░реНрдирд┐рд░реНрдорд┐рдд DER рдкрд╛рд░реНрд╕рд░ред
- рд╕рддреНрдпрд╛рдкрди рд╢реНрд░реГрдВрдЦрд▓рд╛: рд╣рд╕реНрддрд╛рдХреНрд╖рд░, рдбреАрдПрди (рдЬрд╛рд░реАрдХрд░реНрддрд╛ тЖТ рд╡рд┐рд╖рдп), рдмреБрдирд┐рдпрд╛рджреА рдмрд╛рдзрд╛рдПрдВ, рдХреБрдВрдЬреА рдЙрдкрдпреЛрдЧ, рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХреБрдВрдЬреА рдЙрдкрдпреЛрдЧ (рд╕рд░реНрд╡рд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг / рдХреНрд▓рд╛рдЗрдВрдЯ рдкреНрд░рдорд╛рдгреАрдХрд░рдг), рдкрде рд▓рдВрдмрд╛рдИред
- рд╣реЛрд╕реНрдЯрдирд╛рдо рдЬрд╛рдВрдЪ: dNSName + iPAddress (RFC 6125).
- рдУрд╕реАрдПрд╕рдкреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рд╕рддреНрдпрд╛рдкрди (рдЖрд░рдПрдлрд╕реА 6960)ред
4.рдкрд░рд┐рд╡рд╣рди:
- рдЯреАрдПрд▓рдПрд╕рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯ - рдЗрдВрдЯрд░рдлрд╝реЗрд╕ред
- InMemoryTlsTransport - рдкрд░реАрдХреНрд╖рдгреЛрдВ рдФрд░ рдПрдХрд▓-рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ (рдЗрди-рдореЗрдореЛрд░реА рдХрддрд╛рд░) рдХреЗ рд▓рд┐рдПред
- SocketTlsTransport тАФ java.net.Socket рдкрд░ рдЕрд╡рд░реБрджреНрдз I/Oред
- ChannelTlsTransport - NIO рд╕реЙрдХреЗрдЯрдЪреИрдирд▓-рдЖрдзрд╛рд░рд┐рдд рдкрд░рд┐рд╡рд╣рди (рдмреНрд▓реЙрдХрд┐рдВрдЧ рдореЛрдб, рдмрд╛рдзрд┐рдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп)ред
- рдЪрд░рдг-рджрд░-рдЪрд░рдг рд╣рд╛рде рдорд┐рд▓рд╛рдирд╛:
- TlsHandshakeEngine рд╣реИрдВрдбрд╢реЗрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдЯреЗрдЯ рдорд╢реАрди рд╣реИ (рдЬреЛ рдЗрдирдкреБрдЯ/рдЖрдЙрдЯрдкреБрдЯ рд╕реЗ рдЕрд▓рдЧ рд╣реИ)ред рдпрд╣ TlsSession рдХреЛ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ JSSE (SSLEngine) рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИред
- рдмрд╛рдЗрдЯрдмрдлрд░ рдПрдкреАрдЖрдИ:
- TlsRecord.protect/unprotect тАФ NIO рдХреЗ рд╕рд╛рде рд╢реВрдиреНрдп-рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдПрдХреАрдХрд░рдг рдХреЗ рд▓рд┐рдП ByteBuffer рдУрд╡рд░рд▓реЛрдбред рдХреБрдВрдЬрд┐рдпрд╛рдБ рд▓реЛрдб рд╣реЛ рд░рд╣реА рд╣реИрдВ:
- Pkcs12Loader тАФ PBKDF2-HMAC-SHA256 + AES-256-CBC рдХреЗ рд╕рд╛рде PFX (PKCS#12) рдкрдврд╝ рд░рд╣рд╛ рд╣реИред
- рд╕рддреНрд░ рдХрд╛ рд╕рдорд╛рдкрди:
- close_notify - рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдмрдВрдж рдХрд░рдирд╛ред
- рдХреБрдВрдЬреА рдмрдВрдж рдХрд░рддреЗ рд╕рдордп рдпрд╛ рдХреЛрдИ рдЧрд▓рддреА рдХрд░рддреЗ рд╕рдордп рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдорд┐рдЯ рдЬрд╛рдирд╛ред
- рдЪреЗрддрд╛рд╡рдиреА рд╕реЗ рдирд┐рдкрдЯрдирд╛: рдЧрдВрднреАрд░ - рддрддреНрдХрд╛рд▓ рдмрдВрдж рдХрд░рдирд╛ рдФрд░ рдорд┐рдЯрд╛рдирд╛ред
- рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реБрд░рдХреНрд╖рд╛:
- verify_data рдФрд░ PSK рдмрд╛рдЗрдВрдбрд░ рдХреЗ рд▓рд┐рдП рд╕реНрдерд┐рд░-рд╕рдордп рддреБрд▓рдирд╛ (рдЯрд╛рдЗрдорд┐рдВрдЧ рд╣рдорд▓реЛрдВ рд╕реЗ рд╕реБрд░рдХреНрд╖рд╛)
- рдХреБрдВрдЬреА рд╕рд╛рдордЧреНрд░реА рдорд┐рдЯрд╛рдирд╛: рдмрдВрдж рд╣реЛрдиреЗ рдкрд░ (TlsKeySchedule, TlsTrafficKeys, TlsRecord, HandshakeContext) рдХреБрдВрдЬрд┐рдпреЛрдВ рд╡рд╛рд▓реЗ рд╕рднреА рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ destroy() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рдШрд╛рддрдХ рдЪреЗрддрд╛рд╡рдиреА, рд╣реИрдВрдбрд╢реЗрдХ рдореЗрдВ рдЕрдкрд╡рд╛рдж
- DoS рд╕реБрд░рдХреНрд╖рд╛: рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд▓рдВрдмрд╛рдИ (10), рдкреЛрд╕реНрдЯ-рд╣реИрдВрдбрд╢реЗрдХ рд╕рдВрджреЗрд╢реЛрдВ, рд░рд┐рдХреЙрд░реНрдб рдЖрдХрд╛рд░ рдкрд░ рд╕реАрдорд╛рдПрдБред
- рдПрдордЬреАрдПрдо рдиреЙрдирд╕: рдкрд╣рд▓реЗ рдмрд╛рдЗрдЯ рдХрд╛ рдПрдордПрд╕рдмреА рдЖрдИ.рд╕реА.рдПрди. рдХреЗ рд▓рд┐рдП рд╕рд╛рдлрд╝ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдЖрд░рдПрдлрд╕реА 9058 ┬з3, рдЖрд░рдПрдлрд╕реА 9367 ┬з3.3)ред
- рд╣реИрдВрдбрд╢реЗрдХ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж ECDHE рдХреА рдирд┐рдЬреА рдХреБрдВрдЬреА рдФрд░ рд╣реИрдВрдбрд╢реЗрдХ рдЯреНрд░рд╛рдВрд╕рдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдирд╖реНрдЯ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рдж рдПрдЪрдПрдордПрд╕реА рдХреБрдВрдЬреА рд╕рд╛рдордЧреНрд░реА рдорд┐рдЯрд╛ рджреА рдЬрд╛рддреА рд╣реИ (HkdfStreebog, KdfGostR3411_2012_256)ред
- рдкреНрд░рддрд┐рдмрдВрдз:
- рдХреЗрд╡рд▓ рдкреБрдирдГ рдЖрд░рдВрдн рдкреАрдПрд╕рдХреЗ (0-рдЖрд░рдЯреАрдЯреА рдФрд░ рдмрд╛рд╣рд░реА рдкреАрдПрд╕рдХреЗ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИрдВ)ред
- рдХреЗрд╡рд▓ psk_dhe_ke (ECDHE рдХреЗ рдмрд┐рдирд╛ рд╢реБрджреНрдз PSK рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ)ред
- HelloRetryRequest (RFC 8446 ┬з4.1.4) рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ - рдХреЗрд╡рд▓ рдПрдХ рдирд╛рдорд┐рдд рд╕рдореВрд╣ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ GC256A)ред
- рдХреЗрд╡рд▓ GOST рд╕рдорд░реНрдерд┐рдд рд╣реИ (рдЧреИрд░-GOST рд╕рд┐рдлрд░ рд╕реВрдЯ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИрдВ)ред
- рдкрд░рд┐рдХреНрд╖рдг:
- рдЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ RFC 9367 рдкрд░рд┐рд╢рд┐рд╖реНрдЯ A.1 (L рдФрд░ S рд╡реЗрд░рд┐рдПрдВрдЯ) рд╕реЗ рдЬреНрдЮрд╛рдд рдЙрддреНрддрд░ рдкрд░реАрдХреНрд╖рдг рд╢рд╛рдорд┐рд▓ рд╣реИрдВтАФрдкреВрд░реНрдг рдХреБрдВрдЬреА рдЕрдиреБрд╕реВрдЪреА, TLSTREE, AEAD рдФрд░ ECDHEред рдпрд╣ KAT рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рдкреВрд░реА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рднреА рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИред
- рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЯреАрд╕реАрдкреА рд╕реЙрдХреЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ 4 рдПрдХреАрдХрд░рдг рдкрд░реАрдХреНрд╖рдг (рд╕реНрд╡-рдЗрдВрдЯрд░рдСрдк)ред
- рдкрд╛рд░реНрд╕рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдлрд╝рдЬрд╝ рдкрд░реАрдХреНрд╖рдг: TlsMessageParser (8 рд╡рд┐рдзрд┐рдпрд╛рдБ), TlsDerParser (3 рд╡рд┐рдзрд┐рдпрд╛рдБ), TlsOcspVerifier (1 рд╡рд┐рдзрд┐), рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдФрд░ рдкрд╛рд░реНрд╕рд░реЛрдВ рдкрд░ рд╣рдорд▓реЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
- рд╡рд╛рд╕реНрддреБ рд╕рдВрдмрдВрдзреА рд╕рдорд╛рдзрд╛рди:
- TlsHandshakeEngine - I/O рд╕реЗ рдЕрд▓рдЧ рдХреА рдЧрдИ рд╕реНрдЯреЗрдЯ рдорд╢реАрди (рднрд╡рд┐рд╖реНрдп рдХреЗ JSSE рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП)ред
- NIO/JSSE рдХреЗ рд▓рд┐рдП TlsRecord.protect/unprotect рдХреЗ ByteBuffer рдУрд╡рд░рд▓реЛрдбред
- TLSTREE рдХреИрд╢ (TlsTreeCache) - рдХреЗрд╡рд▓ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╕реНрддрд░реЛрдВ рдХреА рдкреБрдирд░реНрдЧрдгрдирд╛ (RFC 9367)ред
- InMemoryTlsTransport.Pair рдкрд░реАрдХреНрд╖рдгреЛрдВ рдФрд░ рдПрдХрд▓-рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдВрдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рджреНрд╡рд┐рджрд┐рд╢рд╛рддреНрдордХ рдпреБрдЧреНрдо рд╣реИред
рдпрд╣ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдирд┐рд╢реБрд▓реНрдХ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕реНрд░реЛрдд: linux.org.ru
