RFC 9367 рдЕрдиреБрд╕рд╛рд░ GOST рдПрд▓реНрдЧреЛрд░рд┐рджрдордХреЛ рд╕рд╛рде рдЬрд╛рднрд╛рдорд╛ TLS 1.3 рдкреНрд░реЛрдЯреЛрдХрд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рдкрд╣рд┐рд▓реЛ рд░рд┐рд▓реАрдЬред

рдореЛрдбреНрдпреБрд▓ рдХреНрд░рд┐рдкреНрдЯреЛ-рдЧреЛрд╕реНрдЯ-рдЯреАрдПрд▓рдПрд╕резрей рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ TLS рез.рей (RFC реорекрекрем + RFC репрейремрен) GOST рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рд╕рд╣рд┐рддред рдпреЛ рд░рд┐рд▓реАрдЬ рдкреБрд╕реНрддрдХрд╛рд▓рдпрдХреЛ рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рд╣реЛ рд░ рдЖрдиреНрддрд░рд┐рдХ рдкреНрд░рдпреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐ рддрдпрд╛рд░ рдЫред

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

рдпреЛ рдЬрд╛рднрд╛рдорд╛ GOST рд╕рдБрдЧ TLS рез.рей рдХреЛ рдкрд╣рд┐рд▓реЛ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирд╣рд░реВ рдордзреНрдпреЗ рдПрдХ рд╣реЛ, рддреНрдпрд╕реИрд▓реЗ рдЗрдиреНрдЯрд░рдЕрдк рдкрд░реАрдХреНрд╖рдг рд╕рдореНрднрд╡ рднрдПрд╕рдореНрдо рдиреНрдпреВрдирддрдо рдЧрд░рд┐рдПрдХреЛ рдЫред

рдкреБрд╕реНрддрдХрд╛рд▓рдпрдХреЛ рдХреНрд╖рдорддрд╛рд╣рд░реВ рддрд▓ рджрд┐рдЗрдПрдХрд╛ рдЫрдиреНред

  1. рдкреНрд░реЛрдЯреЛрдХрд▓рд╣рд░реВ:
  • рд╣рд╛рдд рдорд┐рд▓рд╛рдЙрдиреЗ: рдкреВрд░реНрдг (рдХреНрд▓рд╛рдЗрдиреНрдЯ/рд╕рд░реНрднрд░), рдЫреЛрдЯреЛ (PSK), рдкрд╛рд░рд╕реНрдкрд░рд┐рдХ (mTLS)ред
  • ALPN (RFC 7301) - рдЕрдиреБрдкреНрд░рдпреЛрдЧ рддрд╣ рдкреНрд░реЛрдЯреЛрдХрд▓ рд╡рд╛рд░реНрддрд╛ (HTTP/2, HTTP/1.1)ред
  • SNI (RFC 6066) - рдирд╛рдо рд╕рдВрдХреЗрдд рд╕рд░реНрднрд░ рдмрд╣реБ-рднрд╛рдбрд╛рдорд╛ рдмрд╕реНрдиреЗрд╣рд░реВрдХреЛ рддреИрдирд╛рддреАрдХрд╛ рд▓рд╛рдЧрд┐ред
  • KeyUpdate (RFC 8446 ┬з4.6.3) тАУ рдЯреНрд░рд╛рдлрд┐рдХ рдЗрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреБрдЮреНрдЬреАрд╣рд░реВ рдЕрдкрдбреЗрдЯ рдЧрд░реНрджреИред
  • рд╕рд╛рдЗрдлрд░ рд╕реБрдЗрдЯрд╣рд░реВ: TLS_KUZNYECHIK_MGM_STREEBOG_256_L/Sред
  • ECDHE: рдХреНрд░рд┐рдкреНрдЯреЛрдкреНрд░реЛ-рдП (реирелрем-рдмрд┐рдЯ), рдХреНрд░рд┐рдкреНрдЯреЛрдкреНрд░реЛ-рдмреА (релрезреи-рдмрд┐рдЯ)
  • рдкреНрд░рддрд┐-рд░реЗрдХрд░реНрдб TLSTREE рдкреБрди: рдХреБрдЮреНрдЬреА рдмрдирд╛рдЙрдиреЗ тАФ рдкреНрд░рддреНрдпреЗрдХ TLS рд░реЗрдХрд░реНрдбрдХреЛ рд▓рд╛рдЧрд┐ рдЗрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреБрдЮреНрдЬреА рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдиреЗред
  • рд╣рд╛рдд рдорд┐рд▓рд╛рдЙрдиреЗ рд░ рд░реЗрдХрд░реНрдбрд╣рд░реВрдХреЛ рдЦрдгреНрдбреАрдХрд░рдг рд░ рдкреБрди: рд╕рдВрдпреЛрдЬрди (RFC 8446 ┬з5.1)ред
  • рд╕рддреНрд░ рдкреБрди: рд╕реБрд░реБрд╡рд╛рдд: NewSessionTicket рдорд╛рд░реНрдлрдд PSK (PskStore рдЗрди-рдореЗрдореЛрд░реА, рдПрдХрд▓-рдкреНрд░рдпреЛрдЧ)ред
  • OCSP рд╕реНрдЯреЗрдкрд▓рд┐рдЩ: рд╕рд░реНрднрд░ ╨┐╤А╨╕╨║╨╗╨░╨┤╤Л╨▓╨░╨╡╤В OCSP-╨╛╤В╨▓╨╡╤В ╨║ ╤Б╨╡╤А╤В╨╕╤Д╨╕╨║╨░╤В╤Г.
  • рд╣рд╛рдд рдорд┐рд▓рд╛рдЗрд╕рдХреЗрдкрдЫрд┐рдХрд╛ рд╕рдиреНрджреЗрд╢рд╣рд░реВ: NewSessionTicket (PSK рдХреЛ рд▓рд╛рдЧрд┐ рдмрд╛рд╣реЗрдХ)ред
  1. рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА:
  • рдореБрдЦреНрдп рддрд╛рд▓рд┐рдХрд╛: TLS рез.рей (RFC реорекрекрем ┬зрен.рез) рдорд╛рдерд┐ HKDF-Streebog (RFC релреоремреп)ред
  • рд░реЗрдХрд░реНрдб рд╕реБрд░рдХреНрд╖рд╛: RFC 8446 ┬з5.3 рдЕрдиреБрд╕рд╛рд░ рдЧреИрд░-рдЕрдиреБрдорддрд┐ рд╕рд╣рд┐рдд MGM-AEAD (Kuznyechik)ред
  • рдкреНрд░рдпреЛрдЧ рдкрдЫрд┐ рдХреНрд╖рдгрд┐рдХ рдХреБрдЮреНрдЬреАрд╣рд░реВ рдореЗрдЯрд╛рдЗрдиреНрдЫред
  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 SocketChannel-рдЖрдзрд╛рд░рд┐рдд рдпрд╛рддрд╛рдпрд╛рдд (рдмреНрд▓рдХрд┐рдЩ рдореЛрдб, рдЕрд╡рд░реЛрдзрдпреЛрдЧреНрдп)ред
  1. рдЪрд░рдгрдмрджреНрдз рд░реВрдкрдорд╛ рд╣рд╛рдд рдорд┐рд▓рд╛рдЙрдиреЗ:
  • TlsHandshakeEngine рд╣реНрдпрд╛рдиреНрдбрд╢реЗрдХрдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рд╕реНрдЯреЗрдЯ рдореЗрд╕рд┐рди рд╣реЛ (I/O рдмрд╛рдЯ рдЕрд▓рдЧ рдЧрд░рд┐рдПрдХреЛ)ред рдпрд╕рд▓реЗ TlsSession рд▓рд╛рдИ рдЕрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯрд░рдХреЛ рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ рд░ JSSE (SSLEngine) рд╕рдБрдЧ рдПрдХреАрдХрд░рдгрдХреЛ рд▓рд╛рдЧрд┐ рдЙрдкрдпреБрдХреНрдд рдЫред
  1. рдмрд╛рдЗрдЯрдмрдлрд░ рдПрдкреАрдЖрдИ:
  • TlsRecord.protect/unprotect тАФ NIO рд╕рдБрдЧ рд╢реВрдиреНрдп-рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдПрдХреАрдХрд░рдгрдХреЛ рд▓рд╛рдЧрд┐ ByteBuffer рд▓реЗ рдУрднрд░рд▓реЛрдб рдЧрд░реНрдЫред рдХреБрдЮреНрдЬреАрд╣рд░реВ рд▓реЛрдб рдЧрд░реНрджреИ:
  • Pkcs12Loader тАФ PBKDF2-HMAC-SHA256 + AES-256-CBC рд╕рдБрдЧ PFX (PKCS#12) рдкрдвреНрджреИред
  1. рд╕рддреНрд░рдХреЛ рдЕрдиреНрддреНрдп:
  • close_notify - рдкреНрд░реЛрдЯреЛрдХрд▓ рдЕрдиреБрд╕рд╛рд░ рд╕рд╣реА рдмрдиреНрдж рдЧрд░реНрдиреБрд╣реЛрд╕реНред
  • рдмрдиреНрдж рдЧрд░реНрджрд╛ рд╡рд╛ рддреНрд░реБрдЯрд┐ рдЧрд░реНрджрд╛ рдХреБрдЮреНрдЬреА рд╕рд╛рдордЧреНрд░реА рдкреБрдЫреНрдиреЗред
  • рд╣реНрдпрд╛рдиреНрдбрд▓рд┐рдВрдЧ рдЕрд▓рд░реНрдЯ: рдШрд╛рддрдХ - рддреБрд░реБрдиреНрддреИ рдмрдиреНрдж + рдореЗрдЯрд╛рдЙрдиреЗред
  1. рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реБрд░рдХреНрд╖рд╛:
  • verify_data рд░ PSK рдмрд╛рдЗрдиреНрдбрд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕реНрдерд┐рд░-рд╕рдордп рддреБрд▓рдирд╛рд╣рд░реВ (рд╕рдордп рдЖрдХреНрд░рдордгрд╣рд░реВ рд╡рд┐рд░реБрджреНрдз рд╕реБрд░рдХреНрд╖рд╛)
  • рдХреБрдЮреНрдЬреА рд╕рд╛рдордЧреНрд░реА рд╡рд╛рдЗрдк рдЧрд░реНрджреИ: рдХреБрдЮреНрдЬреАрд╣рд░реВ рднрдПрдХрд╛ рд╕рдмреИ рд╡рд╕реНрддреБрд╣рд░реВрдорд╛ destroy() (TlsKeySchedule, TlsTrafficKeys, TlsRecord, HandshakeContext), рдмрдиреНрдж рд╣реБрдБрджрд╛, рдШрд╛рддрдХ рд╕рддрд░реНрдХрддрд╛, рд╣реНрдпрд╛рдиреНрдбрд╢реЗрдХрдорд╛ рдЕрдкрд╡рд╛рдж
  • DoS рд╕реБрд░рдХреНрд╖рд╛: рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд▓рдореНрдмрд╛рдЗрдорд╛ рд╕реАрдорд╛ (резреж), рд╣рд╛рдд рдорд┐рд▓рд╛рдЗрдкрдЫрд┐рдХрд╛ рд╕рдиреНрджреЗрд╢рд╣рд░реВ, рд░реЗрдХрд░реНрдб рдЖрдХрд╛рд░ред
  • MGM рдирдиреНрд╕: рдкрд╣рд┐рд▓реЛ рдмрд╛рдЗрдЯрдХреЛ MSB ICN (RFC 9058 ┬з3, RFC 9367 ┬з3.3) рдХреЛ рд▓рд╛рдЧрд┐ рдЦрд╛рд▓реА рдЧрд░рд┐рдПрдХреЛ рдЫред
  • рд╣рд╛рдд рдорд┐рд▓рд╛рдЙрдиреЗ рдХрд╛рдо рдкреВрд░рд╛ рднрдПрдкрдЫрд┐ ECDHE рдирд┐рдЬреА рдХреБрдЮреНрдЬреА рд░ рд╣рд╛рдд рдорд┐рд▓рд╛рдЙрдиреЗ рдЯреНрд░рд╛рдиреНрд╕рдХреНрд░рд┐рдкреНрдЯ рдирд╖реНрдЯ рдЧрд░рд┐рдиреНрдЫред
  • рдкреНрд░рдпреЛрдЧ рдкрдЫрд┐ HMAC рдХреБрдЮреНрдЬреА рд╕рд╛рдордЧреНрд░реА рдореЗрдЯрд╛рдЗрдиреНрдЫ (HkdfStreebog, KdfGostR3411_2012_256)ред
  1. рд╕реАрдорд╛рд╣рд░реВ:
  • рдкреБрди: рд╕реБрд░реБрд╡рд╛рдд PSK рдорд╛рддреНрд░ (реж-RTT рд░ рдмрд╛рд╣реНрдп PSK рд╕рдорд░реНрдерд┐рдд рдЫреИрдирдиреН)ред
  • рдХреЗрд╡рд▓ psk_dhe_ke (ECDHE рдмрд┐рдирд╛рдХреЛ рд╢реБрджреНрдз PSK рд╕рдорд░реНрдерд┐рдд рдЫреИрди)ред
  • HelloRetryRequest (RFC 8446 ┬з4.1.4) рд╕рдорд░реНрдерд┐рдд рдЫреИрди - рдХреЗрд╡рд▓ рдПрдЙрдЯрд╛ рдирд╛рдо рджрд┐рдЗрдПрдХреЛ рд╕рдореВрд╣ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ (рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛ GC256A)ред
  • GOST рдорд╛рддреНрд░ (GOST рдирднрдПрдХрд╛ рд╕рд╛рдЗрдлрд░ рд╕реБрдЗрдЯрд╣рд░реВ рд╕рдорд░реНрдерд┐рдд рдЫреИрдирдиреН)ред
  1. рдкрд░реАрдХреНрд╖рдг:
  • рдкреБрд╕реНрддрдХрд╛рд▓рдпрдорд╛ RFC 9367 рдкрд░рд┐рд╢рд┐рд╖реНрдЯ A.1 (L рд░ S рднреЗрд░рд┐рдпрдиреНрдЯрд╣рд░реВ) рдмрд╛рдЯ рдЬреНрдЮрд╛рдд рдЙрддреНрддрд░ рдкрд░реАрдХреНрд╖рдгрд╣рд░реВ рдЫрдиреН - рдкреВрд░реНрдг рдХреБрдЮреНрдЬреА рддрд╛рд▓рд┐рдХрд╛, TLSTREE, AEAD, рд░ ECDHEред рдпрд╕рд▓реЗ KAT рдкрд░реАрдХреНрд╖рдгрд╣рд░реВрдХреЛ рдкреВрд░реНрдг рджрд╛рдпрд░рд╛ рдкрдирд┐ рдкрд╛рд╕ рдЧрд░реНрджрдЫред
  • рд╡рд╛рд╕реНрддрд╡рд┐рдХ TCP рд╕рдХреЗрдЯрд╣рд░реВ рдорд╛рд░реНрдлрдд рек рдПрдХреАрдХрд░рдг рдкрд░реАрдХреНрд╖рдгрд╣рд░реВ (рд╕реНрд╡-рдЗрдиреНрдЯрд░рдк)ред
  • рдкрд╛рд░реНрд╕рд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдлрдЬ рдкрд░реАрдХреНрд╖рдгрд╣рд░реВ: TlsMessageParser (рео рд╡рд┐рдзрд┐рд╣рд░реВ), TlsDerParser (рей рд╡рд┐рдзрд┐рд╣рд░реВ), TlsOcspVerifier (рез рд╡рд┐рдзрд┐), рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрди рд░ рдкрд╛рд░реНрд╕рд░рд╣рд░реВрдорд╛ рдЖрдХреНрд░рдордг рднреЗрдХреНрдЯрд░ рдХрдо рдЧрд░реНрдиред
  1. рд╡рд╛рд╕реНрддреБ рд╕рдорд╛рдзрд╛рдирд╣рд░реВ:
  • TlsHandshakeEngine - I/O рдмрд╛рдЯ рдЕрд▓рдЧ рдЧрд░рд┐рдПрдХреЛ рд╕реНрдЯреЗрдЯ рдореЗрд╕рд┐рди (рднрд╡рд┐рд╖реНрдпрдХреЛ JSSE рдореЛрдбреНрдпреБрд▓рдХреЛ рд▓рд╛рдЧрд┐)ред
  • NIO/JSSE рдХреЛ рд▓рд╛рдЧрд┐ ByteBuffer рд▓реЗ TlsRecord.protect/unprotect рдХреЛ рдУрднрд░рд▓реЛрдб рдЧрд░реНрдЫред
  • TLSTREE рдХреНрдпрд╛рд╕ (TlsTreeCache) - рдХреЗрд╡рд▓ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░рд┐рдПрдХрд╛ рд╕реНрддрд░рд╣рд░реВрдХреЛ рдкреБрди: рдЧрдгрдирд╛ (RFC 9367)ред
  • InMemoryTlsTransport.Pair рдкрд░реАрдХреНрд╖рдг рд░ рдПрдХрд▓-рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдЮреНрдЪрд╛рд░рдХреЛ рд▓рд╛рдЧрд┐ рджреНрд╡рд┐рджрд┐рд╢рд╛рддреНрдордХ рдЬреЛрдбреА рд╣реЛред

рдкреБрд╕реНрддрдХрд╛рд▓рдп рдирд┐:рд╢реБрд▓реНрдХ рдЗрдЬрд╛рдЬрддрдкрддреНрд░ рдЕрдиреНрддрд░реНрдЧрдд рд╡рд┐рддрд░рдг рдЧрд░рд┐рдПрдХреЛ рдЫред

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

DDoS рд╕реБрд░рдХреНрд╖рд╛, VPS VDS рд╕рд░реНрднрд░рд╣рд░реВ рднрдПрдХрд╛ рд╕рд╛рдЗрдЯрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рднрд░рдкрд░реНрджреЛ рд╣реЛрд╕реНрдЯрд┐рдЩ рдЦрд░рд┐рдж рдЧрд░реНрдиреБрд╣реЛрд╕реН ЁЯФе DDoS рд╕реБрд░рдХреНрд╖рд╛, VPS VDS рд╕рд░реНрднрд░рд╣рд░реВ рд╕рд╣рд┐рддрдХреЛ рднрд░рдкрд░реНрджреЛ рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╣реЛрд╕реНрдЯрд┐рдЩ рдХрд┐рдиреНрдиреБрд╣реЛрд╕реН | ProHoster