RFC 9367 ට අනුකූලව GOST ඇල්ගොරිතම සමඟ ජාවා හි TLS 1.3 ප්‍රොටෝකෝලය ක්‍රියාත්මක කිරීමේ පළමු නිකුතුව.

මොඩියුලය ක්‍රිප්ටෝ-ගොස්ට්-tls13 ක්‍රියාත්මක කිරීම අඩංගු වේ ටීඑල්එස් 1.3 (ආර්එෆ්සී 8446 + ආර්එෆ්සී 9367) GOST ගුප්ත ලේඛන විද්‍යාව සමඟ. මෙම නිකුතුව පුස්තකාලයේ ආරම්භක අනුවාදය වන අතර අභ්‍යන්තර භාවිතය සඳහා සූදානම්ය.

පුස්තකාලයේ සුවිශේෂී ලක්ෂණයක් වන්නේ එහි පිරිසිදු ජාවා ක්‍රියාත්මක කිරීමයි. සියලුම ගුප්ත ලේඛනකරණ මෙහෙයුම් සිදු කරනු ලබන්නේ පුස්තකාලයේ ඇති මෙවලම් භාවිතයෙන් වන අතර බාහිර පරායත්තතා නොමැත.

මෙය ජාවා හි GOST සමඟ TLS 1.3 හි පළමු විවෘත මූලාශ්‍ර ක්‍රියාත්මක කිරීම් වලින් එකකි, එබැවින් අන්තර්ක්‍රියා පරීක්ෂණ හැකි තරම් අවම ප්‍රමාණයකට සිදු කර ඇත.

පුස්තකාලයේ හැකියාවන් පහත දැක්වේ.

  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: CryptoPro-A (256-bit), CryptoPro-B (512-bit)
  • එක්-වාර්තාවකට TLSTREE නැවත-යතුරු කිරීම — එක් එක් TLS වාර්තාව සඳහා සංකේතාංකන යතුර වෙනස් කිරීම.
  • අතට අත දීම සහ වාර්තා ඛණ්ඩනය කිරීම සහ නැවත එකලස් කිරීම (RFC 8446 §5.1).
  • සැසි නැවත ආරම්භ කිරීම: NewSessionTicket හරහා PSK (PskStore in-memory, single-use).
  • OCSP ස්ටැප්ලිං: සේවාදායකය සහතිකයට OCSP ප්‍රතිචාරය එකතු කරයි.
  • අතට අත දීමෙන් පසු පණිවිඩ: NewSessionTicket (PSK සඳහා සුරකින්න).
  1. ගුප්ත ලේඛනකරණය:
  • ප්‍රධාන කාලසටහන: TLS 1.3 ට වඩා HKDF-Streebog (RFC 5869) (RFC 8446 §7.1).
  • වාර්තා ආරක්ෂාව: RFC 8446 §5.3 අනුව nonce සහිත MGM-AEAD (Kuznyechik).
  • භාවිතයෙන් පසු තාවකාලික යතුරු මකා දමනු ලැබේ.
  1. සහතික:
  • X.509v3 විග්‍රහ කිරීම (GOST R 34.10-2012) — බිල්ට්-ඉන් DER විග්‍රහකය.
  • වලංගුකරණ දාමය: අත්සන්, DN (නිකුත් කරන්නා → විෂය), මූලික සීමාවන්, යතුරු භාවිතය, විස්තීරණ යතුර * භාවිතය (serverAuth / clientAuth), pathLen.
  • සත්කාරක නාම පරීක්ෂාව: 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. බයිට්බෆර් API:
  • 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 ආරක්ෂාව: සහතික දාමයේ දිග (10), අතට අත දීමෙන් පසු පණිවිඩ, වාර්තා ප්‍රමාණය පිළිබඳ සීමාවන්.
  • MGM nonce: පළමු බයිටයේ MSB ICN සඳහා නිෂ්කාශනය කර ඇත (RFC 9058 §3, RFC 9367 §3.3).
  • අතට අත දීම අවසන් වූ පසු ECDHE පුද්ගලික යතුර සහ අතට අත දීමේ පිටපත විනාශ වේ.
  • භාවිතයෙන් පසු HMAC යතුරු ද්‍රව්‍ය මකා දමනු ලැබේ (HkdfStreebog, KdfGostR3411_2012_256).
  1. සීමාවන්:
  • නැවත ආරම්භ කිරීමේ PSK පමණි (0-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 සොකට් හරහා ඒකාබද්ධ පරීක්ෂණ 4ක් (ස්වයං-අන්තර්ක්‍රියා).
  • විග්‍රහක සඳහා Fuzz පරීක්ෂණ: 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 සේවාදායකයන් සහිත අඩවි සඳහා විශ්වාසදායක සත්කාරකත්වය මිලදී ගන්න 🔥 DDoS ආරක්ෂාව, VPS VDS සේවාදායකයන් සහිත විශ්වාසදායක වෙබ් අඩවි සත්කාරකත්වය මිලදී ගන්න | ProHoster