RFC 9367 рдиреБрд╕рд╛рд░ GOST рдЕрд▓реНрдЧреЛрд░рд┐рджрдорд╕рд╣ рдЬрд╛рд╡рд╛рдордзреАрд▓ TLS 1.3 рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреА рдкрд╣рд┐рд▓реА рдЖрд╡реГрддреНрддреА.

рдореЙрдбреНрдпреВрд▓ рдХреНрд░рд┐рдкреНрдЯреЛ-рдЧреЛрд╕реНрдЯ-рдЯреАрдПрд▓рдПрд╕резрей рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ TLS 1.3 (RFC 8446 + RFC 9367) GOST рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреАрд╕рд╣. рд╣реА рдЖрд╡реГрддреНрддреА рд▓рд╛рдпрдмреНрд░рд░реАрдЪреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЖрд╡реГрддреНрддреА рдЕрд╕реВрди рдЕрдВрддрд░реНрдЧрдд рд╡рд╛рдкрд░рд╛рд╕рд╛рдареА рддрдпрд╛рд░ рдЖрд╣реЗ.

рдпрд╛ рд▓рд╛рдпрдмреНрд░рд░реАрдЪреЗ рдПрдХ рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рдореНрд╣рдгрдЬреЗ рддрд┐рдЪреА рд╢реБрджреНрдз рдЬрд╛рд╡рд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА. рд╕рд░реНрд╡ рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХ рдХреНрд░рд┐рдпрд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рдмрд╛рд╣реНрдп рдЕрд╡рд▓рдВрдмрдирд╛рд╢рд┐рд╡рд╛рдп, рд▓рд╛рдпрдмреНрд░рд░реАрдЪреНрдпрд╛ рдЕрдВрдЧрднреВрдд рд╕рд╛рдзрдирд╛рдВрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд.

рдЬрд╛рд╡рд╛рдордзреАрд▓ GOST рд╕рд╣ TLS 1.3 рдЪреНрдпрд╛ рдкрд╣рд┐рд▓реНрдпрд╛ рдУрдкрди рд╕реЛрд░реНрд╕ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдВрдкреИрдХреА рд╣реА рдПрдХ рдЖрд╣реЗ, рддреНрдпрд╛рдореБрд│реЗ рдЗрдВрдЯрд░рдСрдк рдЪрд╛рдЪрдгреА рд╢рдХреНрдп рддрд┐рддрдХреНрдпрд╛ рдХрдореА рдкреНрд░рдорд╛рдгрд╛рдд рдХрд░рдгреНрдпрд╛рдд рдЖрд▓реА рдЖрд╣реЗ.

рд▓рд╛рдпрдмреНрд░рд░реАрдЪреНрдпрд╛ рдХреНрд╖рдорддрд╛ рдЦрд╛рд▓реАрд▓рдкреНрд░рдорд╛рдгреЗ рдЖрд╣реЗрдд.

  1. рдкреНрд░реЛрдЯреЛрдХреЙрд▓:
  • рд╣рдБрдбрд╢реЗрдХ: рдкреВрд░реНрдг (рдХреНрд▓рд╛рдпрдВрдЯ/рд╕рд░реНрд╡реНрд╣рд░), рд╕рдВрдХреНрд╖рд┐рдкреНрдд (PSK), рдкрд░рд╕реНрдкрд░ (mTLS).
  • ALPN (RFC 7301) - рдНрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЗрдпрд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдиреЗрдЧреЛрд╢рд┐рдПрд╢рди (HTTP/2, HTTP/1.1).
  • рдПрд╕рдПрдирдЖрдп (рдЖрд░рдПрдлрд╕реА ремрежремрем) - рдирд╛рд╡ рд╕рдВрдХреЗрдд рд╕рд░реНрд╡реНрд╣рд░ рдорд▓реНрдЯреА-рдЯреЗрдирдВрдЯ рдбрд┐рдкреНрд▓реЙрдпрдореЗрдВрдЯрд╕рд╛рдареА.
  • KeyUpdate (RFC 8446 ┬з4.6.3) тАУ рдЯреНрд░реЕрдлрд┐рдХ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреА рдЕрджреНрдпрдпрд╛рд╡рдд рдХрд░рдгреЗ.
  • рд╕рд┐рдлрд░ рд╕реВрдЯ: TLS_KUZNYECHIK_MGM_STREEBOG_256_L/S.
  • ECDHE: рдХреНрд░рд┐рдкреНрдЯреЛрдкреНрд░реЛ-рдП (реирелрем-рдмрд┐рдЯ), рдХреНрд░рд┐рдкреНрдЯреЛрдкреНрд░реЛ-рдмреА (релрезреи-рдмрд┐рдЯ)
  • рдкреНрд░рддрд┐-рд░реЗрдХреЙрд░реНрдб TLSTREE рд░реА-рдХреАрдЗрдВрдЧ тАФ рдкреНрд░рддреНрдпреЗрдХ TLS рд░реЗрдХреЙрд░реНрдбрд╕рд╛рдареА рдПрдирдХреНрд░рд┐рдкреНрд╢рди рдХреА рдмрджрд▓рдгреЗ.
  • рд╣рд╕реНрддрд╛рдВрджреЛрд▓рди рдЖрдгрд┐ рдиреЛрдВрджреАрдВрдЪреЗ рд╡рд┐рдЦрдВрдбрди рдЖрдгрд┐ рдкреБрдирд░реНрд╕рдВрдпреЛрдЬрди (RFC 8446 ┬з5.1).
  • рд╕рддреНрд░ рдкреБрдиреНрд╣рд╛ рд╕реБрд░реВ рдХрд░рдгреЗ: NewSessionTicket рджреНрд╡рд╛рд░реЗ PSK (PskStore рдЗрди-рдореЗрдорд░реА, рдПрдХрд▓-рд╡рд╛рдкрд░).
  • рдУрд╕реАрдПрд╕рдкреА рд╕реНрдЯреЗрдкрд▓рд┐рдВрдЧ: рд╕рд░реНрд╡реНрд╣рд░ ╨┐╤А╨╕╨║╨╗╨░╨┤╤Л╨▓╨░╨╡╤В OCSP-╨╛╤В╨▓╨╡╤В ╨║ ╤Б╨╡╤А╤В╨╕╤Д╨╕╨║╨░╤В╤Г.
  • рд╣рдБрдбрд╢реЗрдХрдирдВрддрд░рдЪреЗ рд╕рдВрджреЗрд╢: NewSessionTicket (PSK рд╡рдЧрд│реВрди).
  1. рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА:
  • рдореБрдЦреНрдп рд╡реЗрд│рд╛рдкрддреНрд░рдХ: TLS 1.3 (RFC 8446 ┬з7.1) рд╡рд░ HKDF-Streebog (RFC 5869).
  • рд░реЗрдХреЙрд░реНрдб рд╕рдВрд░рдХреНрд╖рдг: RFC 8446 ┬з5.3 рдиреБрд╕рд╛рд░ рдиреЙрдирд╕рд╕рд╣ MGM-AEAD (рдХреБрдЭрдиреАрдЪрд┐рдХ).
  • рдХреНрд╖рдгрд┐рдХ рдХреА рд╡рд╛рдкрд░рд╛рдирдВрддрд░ рдкреБрд╕рд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд.
  1. рдкреНрд░рдорд╛рдгрдкрддреНрд░реЗ:
  • X.509v3 рдкрд╛рд░реНрд╕рд┐рдВрдЧ (GOST R 34.10-2012) тАФ рдЕрдВрдЧрднреВрдд DER рдкрд╛рд░реНрд╕рд░.
  • рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕рд╛рдЦрд│реА: рд╕реНрд╡рд╛рдХреНрд╖рд░реА, DN (рдЬрд╛рд░реАрдХрд░реНрддрд╛ тЖТ рд╡рд┐рд╖рдп), рдореВрд▓рднреВрдд рдорд░реНрдпрд╛рджрд╛, рдХреА рд╡рд╛рдкрд░, рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХреА рд╡рд╛рдкрд░ (рд╕рд░реНрд╡реНрд╣рд░ рдСрде / рдХреНрд▓рд╛рдпрдВрдЯ рдСрде), рдкрд╛рдерд▓реЗрди.
  • рд╣реЛрд╕реНрдЯрдиреЗрдо рддрдкрд╛рд╕рдгреА: dNSName + iPAddress (RFC 6125).
  • OCSP рдкреНрд░рддрд┐рд╕рд╛рджрд╛рдВрдЪреА рдкрдбрддрд╛рд│рдгреА (RFC 6960).

4.рд╡рд╛рд╣рддреВрдХ:

  • TlsTransport - рдЗрдВрдЯрд░рдлреЗрд╕.
  • InMemoryTlsTransport - рдЪрд╛рдЪрдгреНрдпрд╛ рдЖрдгрд┐ рдПрдХрд▓-рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд░рд┐рд╕реНрдерд┐рддреАрдВрд╕рд╛рдареА (рдЗрди-рдореЗрдорд░реА рд░рд╛рдВрдЧ).
  • SocketTlsTransport тАФ java.net.Socket рд╡рд░ рдЕрд╡рд░реЛрдзрд┐рдд I/O.
  • ChannelTlsTransport - NIO рд╕реЙрдХреЗрдЯрдЪреЕрдирд▓-рдЖрдзрд╛рд░рд┐рдд рдЯреНрд░рд╛рдиреНрд╕рдкреЛрд░реНрдЯ (рдмреНрд▓реЙрдХрд┐рдВрдЧ рдореЛрдб, рд╡реНрдпрддреНрдпрдп рдЖрдгрддрд╛ рдпреЗрдгреНрдпрд╛рдЬреЛрдЧрд╛).
  1. рдЯрдкреНрдкреНрдпрд╛рдЯрдкреНрдкреНрдпрд╛рдиреЗ рд╣рд╕реНрддрд╛рдВрджреЛрд▓рди:
  • TlsHandshakeEngine рд╣реЗ рд╣рдБрдбрд╢реЗрдХрд╕рд╛рдареА рдПрдХ рд╕реНрдЯреЗрдЯ рдорд╢реАрди рдЖрд╣реЗ (рдЬреЗ I/O рдкрд╛рд╕реВрди рд╡рд┐рд▓рдЧ рдХреЗрд▓реЗрд▓реЗ рдЖрд╣реЗ). рддреЗ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯрд░ рдореНрд╣рдгреВрди TlsSession рд╡рд╛рдкрд░рддреЗ рдЖрдгрд┐ JSSE (SSLEngine) рд╕реЛрдмрдд рдПрдХреАрдХрд░рдгрд╛рд╕рд╛рдареА рдпреЛрдЧреНрдп рдЖрд╣реЗ.
  1. рдмрд╛рдЗрдЯрдмрдлрд░ рдПрдкреАрдЖрдп:
  • TlsRecord.protect/unprotect тАФ NIO рд╕рд╣ рдЭрд┐рд░реЛ-рдХреЙрдкреА рдЗрдВрдЯрд┐рдЧреНрд░реЗрд╢рдирд╕рд╛рдареА рдмрд╛рдЗрдЯрдмрдлрд░ рдУрд╡реНрд╣рд░рд▓реЛрдбреНрд╕. рдХреАрдЬ рд▓реЛрдб рдХрд░рдд рдЖрд╣реЗ:
  • Pkcs12Loader тАФ PBKDF2-HMAC-SHA256 + AES-256-CBC рд╕рд╣ PFX (PKCS#12) рд╡рд╛рдЪрдгреЗ.
  1. рд╕рддреНрд░рд╛рдЪрд╛ рд╢реЗрд╡рдЯ:
  • close_notify - рдкреНрд░реЛрдЯреЛрдХреЙрд▓рдиреБрд╕рд╛рд░ рдпреЛрдЧреНрдп рдкреНрд░рдХрд╛рд░реЗ рдмрдВрдж рдХрд░рдгреЗ.
  • рдмрдВрдж рдХрд░рддрд╛рдирд╛ рдХрд┐рдВрд╡рд╛ рдЪреВрдХ рдХрд░рддрд╛рдирд╛ рдХреА рдордЯреЗрд░рд┐рдпрд▓ рдкреБрд╕рд▓реЗ рдЬрд╛рдгреЗ.
  • рд╕реВрдЪрдирд╛ рд╣рд╛рддрд╛рд│рдгреА: рдЧрдВрднреАрд░ - рддрд╛рддреНрдХрд╛рд│ рдмрдВрдж рдХрд░рдд рдЖрд╣реЗ рдЖрдгрд┐ рдорд┐рдЯрд╡рдд рдЖрд╣реЗ.
  1. рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рд╕реБрд░рдХреНрд╖рд╛:
  • verify_data рдЖрдгрд┐ PSK рдмрд╛рдЗрдВрдбрд░рд╕рд╛рдареА рд╕реНрдерд┐рд░-рд╡реЗрд│ рддреБрд▓рдирд╛ (рдЯрд╛рдпрдорд┐рдВрдЧ рдЕрдЯреЕрдХрдкрд╛рд╕реВрди рд╕рдВрд░рдХреНрд╖рдг)
  • рдХреА рдордЯреЗрд░рд┐рдпрд▓ рдкреБрд╕рдгреЗ: рдмрдВрдж рдХрд░рддрд╛рдирд╛ (TlsKeySchedule, TlsTrafficKeys, TlsRecord, HandshakeContext) рдпрд╛ рдХреА рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕рд░реНрд╡ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕рд╡рд░ destroy() рдХрд░рдгреЗ, рдЧрдВрднреАрд░ рд╕реВрдЪрдирд╛, рд╣рдБрдбрд╢реЗрдХрдордзреНрдпреЗ рдЕрдкрд╡рд╛рдж.
  • DoS рд╕рдВрд░рдХреНрд╖рдг: рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕рд╛рдЦрд│реА рд▓рд╛рдВрдмреА (10), рдкреЛрд╕реНрдЯ-рд╣рдБрдбрд╢реЗрдХ рд╕рдВрджреЗрд╢, рд░реЗрдХреЙрд░реНрдб рдЖрдХрд╛рд░ рдпрд╛рд╡рд░ рдорд░реНрдпрд╛рджрд╛.
  • MGM рдиреЙрдиреНрд╕: рдкрд╣рд┐рд▓реНрдпрд╛ рдмрд╛рдЗрдЯрдЪрд╛ MSB рд╣рд╛ ICN рд╕рд╛рдареА рдХреНрд▓рд┐рдЕрд░ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ (RFC 9058 ┬з3, RFC 9367 ┬з3.3).
  • рд╣рдБрдбрд╢реЗрдХ рдкреВрд░реНрдг рдЭрд╛рд▓реНрдпрд╛рд╡рд░ ECDHE рдкреНрд░рд╛рдпрд╡реНрд╣реЗрдЯ рдХреА рдЖрдгрд┐ рд╣рдБрдбрд╢реЗрдХ рдЯреНрд░рд╛рдиреНрд╕рдХреНрд░рд┐рдкреНрдЯ рдирд╖реНрдЯ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд.
  • рд╡рд╛рдкрд░рд╛рдирдВрддрд░ HMAC рдХреА рдордЯреЗрд░рд┐рдпрд▓ рдкреБрд╕рд▓реЗ рдЬрд╛рддреЗ (HkdfStreebog, KdfGostR3411_2012_256).
  1. рдорд░реНрдпрд╛рджрд╛
  • рдлрдХреНрдд рд░рд┐рдЭрдореНрдкреНрд╢рди рдкреАрдПрд╕рдХреЗ (0-RTT рдЖрдгрд┐ рдмрд╛рд╣реНрдп рдкреАрдПрд╕рдХреЗ рд╕рдорд░реНрдерд┐рдд рдирд╛рд╣реАрдд).
  • рдлрдХреНрдд psk_dhe_ke (ECDHE рд╢рд┐рд╡рд╛рдп рд╢реБрджреНрдз PSK рд╕рдорд░реНрдерд┐рдд рдирд╛рд╣реА).
  • HelloRetryRequest (RFC 8446 ┬з4.1.4) рд╕рдорд░реНрдерд┐рдд рдирд╛рд╣реА - рдлрдХреНрдд рдПрдХрдЪ рдирд╛рдорд┐рдд рдЧрдЯ рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рддреЛ (рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ GC256A).
  • рдлрдХреНрдд GOST (GOST рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд рдЗрддрд░ рд╕рд╛рдпрдлрд░ рд╕реВрдЯ рд╕рдорд░реНрдерд┐рдд рдирд╛рд╣реАрдд).
  1. рдЪрд╛рдЪрдгреА:
  • рдпрд╛ рд▓рд╛рдпрдмреНрд░рд░реАрдордзреНрдпреЗ RFC 9367 рдкрд░рд┐рд╢рд┐рд╖реНрдЯ A.1 (L рдЖрдгрд┐ S рд╡реНрд╣реЗрд░рд┐рдПрдВрдЯреНрд╕) рдордзреАрд▓ рдЬреНрдЮрд╛рдд рдЙрддреНрддрд░ рдЪрд╛рдЪрдгреНрдпрд╛ (Known Answer Tests) рдЖрд╣реЗрддтАФрдЬрд╕реЗ рдХреА рд╕рдВрдкреВрд░реНрдг рдХреА рд╢реЗрдбреНрдпреВрд▓, TLSTREE, AEAD, рдЖрдгрд┐ ECDHE. рддрд╕реЗрдЪ, рддреА рд╕рд░реНрд╡ рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ KAT рдЪрд╛рдЪрдгреНрдпрд╛рдВрдордзреНрдпреЗ рдЙрддреНрддреАрд░реНрдг рд╣реЛрддреЗ.
  • рд╡рд╛рд╕реНрддрд╡рд┐рдХ TCP рд╕реЙрдХреЗрдЯреНрд╕рджреНрд╡рд╛рд░реЗ рек рдПрдХреАрдХрд░рдг рдЪрд╛рдЪрдгреНрдпрд╛ (рд╕реЗрд▓реНрдл-рдЗрдВрдЯрд░рдСрдк).
  • рдкрд╛рд░реНрд╕рд░реНрд╕рд╕рд╛рдареА рдлрдЭ рдЯреЗрд╕реНрдЯреНрд╕: TlsMessageParser (8 рдореЗрдердбреНрд╕), TlsDerParser (3 рдореЗрдердбреНрд╕), TlsOcspVerifier (1 рдореЗрдердб), рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдкрд╛рд░реНрд╕рд░реНрд╕рд╡рд░реАрд▓ рд╣рд▓реНрд▓реНрдпрд╛рдЪреА рд╢рдХреНрдпрддрд╛ рдХрдореА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА.
  1. рд╡рд╛рд╕реНрддреБрд╢рд╛рд╕реНрддреНрд░реАрдп рдЙрдкрд╛рдп:
  • TlsHandshakeEngine - I/O рдкрд╛рд╕реВрди рд╡рд┐рднрдХреНрдд рдХреЗрд▓реЗрд▓реЗ рд╕реНрдЯреЗрдЯ рдорд╢реАрди (рднрд╡рд┐рд╖реНрдпрд╛рддреАрд▓ JSSE рдореЙрдбреНрдпреВрд▓рд╕рд╛рдареА).
  • NIO/JSSE рд╕рд╛рдареА TlsRecord.protect/unprotect рдЪреЗ ByteBuffer рдУрд╡реНрд╣рд░рд▓реЛрдбреНрд╕.
  • TLSTREE рдХреЕрд╢реЗ (TlsTreeCache) - рдлрдХреНрдд рдмрджрд▓рд▓реЗрд▓реНрдпрд╛ рд╕реНрддрд░рд╛рдВрдЪреА рдкреБрдирд░реНрдЧрдгрдирд╛ (RFC 9367).
  • InMemoryTlsTransport.Pair рд╣реА рдЪрд╛рдЪрдгреНрдпрд╛ рдЖрдгрд┐ рдПрдХрд▓-рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдВрдкреНрд░реЗрд╖рдгрд╛рд╕рд╛рдареА рдПрдХ рджреНрд╡рд┐рджрд┐рд╢рд╛рддреНрдордХ рдЬреЛрдбреА рдЖрд╣реЗ.

рд╣реА рд▓рд╛рдпрдмреНрд░рд░реА рд╡рд┐рдирд╛рдореВрд▓реНрдп рдкрд░рд╡рд╛рдиреНрдпрд╛рдЕрдВрддрд░реНрдЧрдд рд╡рд┐рддрд░рд┐рдд рдХреЗрд▓реА рдЬрд╛рддреЗ.

рд╕реНрддреНрд░реЛрдд: linux.org.ru

DDoS рд╕рдВрд░рдХреНрд╖рдг, VPS VDS рд╕рд░реНрд╡реНрд╣рд░ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕рд╛рдЗрдЯрд╕рд╛рдареА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдЦрд░реЗрджреА рдХрд░рд╛ ЁЯФе рдбреАрдбреЙрд╕ рд╕рдВрд░рдХреНрд╖рдгрд╛рд╕рд╣ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ, рд╡реНрд╣реАрдкреАрдПрд╕ (VPS) рд╡реНрд╣реАрдбреАрдПрд╕ (VDS) рд╕рд░реНрд╡реНрд╣рд░реНрд╕ рдЦрд░реЗрджреА рдХрд░рд╛ | ProHoster