RFC 9367 کے مطابق GOST الگورتھم کے ساتھ جاوا میں TLS 1.3 پروٹوکول کے نفاذ کی پہلی ریلیز

ماڈیول crypto-gost-tls13 نفاذ پر مشتمل ہے۔ TLS 1.3 (RFC 8446 + RFC 9367) GOST خفیہ نگاری کے ساتھ۔ یہ ریلیز لائبریری کا ابتدائی ورژن ہے اور اندرونی استعمال کے لیے تیار ہے۔

لائبریری کی ایک منفرد خصوصیت اس کا خالص جاوا نفاذ ہے۔ تمام کرپٹوگرافک آپریشنز لائبریری کے بلٹ ان ٹولز کا استعمال کرتے ہوئے کیے جاتے ہیں، بغیر کسی بیرونی انحصار کے۔

یہ جاوا میں GOST کے ساتھ TLS 1.3 کے پہلے اوپن سورس نفاذ میں سے ایک ہے، لہذا کم سے کم ممکنہ حد تک انٹراپ ٹیسٹنگ کی گئی ہے۔

ذیل میں لائبریری کی صلاحیتیں ہیں۔

  1. پروٹوکول:
  • مصافحہ: مکمل (کلائنٹ/سرور)، مختصر (PSK)، باہمی (mTLS)۔
  • ALPN (RFC 7301) - ایپلیکیشن لیئر پروٹوکول گفت و شنید (HTTP/2, HTTP/1.1)۔
  • SNI (RFC 6066) - نام کا اشارہ سرور کثیر کرایہ داروں کی تعیناتیوں کے لیے۔
  • کی اپ ڈیٹ (RFC 8446 §4.6.3) - ٹریفک کی خفیہ کاری کیز کو اپ ڈیٹ کرنا۔
  • سائفر سویٹس: TLS_KUZNYECHIK_MGM_STREEBOG_256_L/S۔
  • ECDHE: CryptoPro-A (256-bit)، CryptoPro-B (512-bit)
  • فی ریکارڈ TLSTREE re-keying — ہر TLS ریکارڈ کے لیے انکرپشن کلید کو تبدیل کرنا۔
  • ہینڈ شیکس اور ریکارڈز کو فریگمنٹیشن اور دوبارہ جوڑنا (RFC 8446 §5.1)۔
  • سیشن دوبارہ شروع کرنا: PSK بذریعہ NewSessionTicket (PskStore ان میموری، سنگل استعمال)۔
  • OCSP سٹیپلنگ: سرور سرٹیفکیٹ میں OCSP جواب شامل کرتا ہے۔
  • مصافحہ کے بعد کے پیغامات: NewSessionTicket (PSK کے لیے محفوظ کریں)۔
  1. خفیہ نگاری:
  • کلیدی شیڈول: HKDF-Streebog (RFC 5869) TLS 1.3 (RFC 8446 §7.1) سے زیادہ۔
  • ریکارڈ کا تحفظ: MGM-AEAD (Kuznyechik) بغیر کسی RFC 8446 §5.3 کے مطابق۔
  • عارضی چابیاں استعمال کے بعد مٹ جاتی ہیں۔
  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. ByteBuffer API:
  • TlsRecord.protect/unprotect — NIO کے ساتھ زیرو کاپی انضمام کے لیے ByteBuffer اوورلوڈز۔ چابیاں لوڈ ہو رہی ہیں:
  • Pkcs12Loader — PBKDF2-HMAC-SHA256 + AES-256-CBC کے ساتھ PFX (PKCS#12) پڑھنا۔
  1. سیشن کا اختتام:
  • close_notify - پروٹوکول کے مطابق درست بندش۔
  • بند کرتے وقت یا غلطی کرتے وقت کلیدی مواد کا مسح کرنا۔
  • ہینڈلنگ الرٹ: مہلک - فوری بند کرنا + مٹانا۔
  1. نفاذ کی حفاظت:
  • verify_data اور PSK بائنڈرز کے لیے مستقل وقت کا موازنہ (وقت کے حملوں سے تحفظ)
  • کلیدی مواد کو مسح کرنا: کلیدوں (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 انضمام ٹیسٹ (سیلف انٹراپ)۔
  • پارسرز کے لیے فز ٹیسٹ: TlsMessageParser (8 طریقے)، TlsDerParser (3 طریقے)، TlsOcspVerifier (1 طریقہ)، سیکیورٹی کو یقینی بنانے اور پارسرز پر حملے کے ویکٹر کو کم کرنے کے لیے۔
  1. تعمیراتی حل:
  • TlsHandshakeEngine - ریاستی مشین I/O (مستقبل کے JSSE ماڈیول کے لیے) سے الگ ہو گئی۔
  • ByteBuffer NIO/JSSE کے لیے TlsRecord.protect/unprotect کے اوورلوڈز۔
  • TLSTREE کیشے (TlsTreeCache) - صرف تبدیل شدہ سطحوں کی دوبارہ گنتی (RFC 9367)۔
  • InMemoryTlsTransport.Pair ٹیسٹ اور سنگل پروسیس کمیونیکیشن کے لیے ایک دو طرفہ جوڑا ہے۔

لائبریری مفت لائسنس کے تحت تقسیم کی جاتی ہے۔

ماخذ: linux.org.ru

DDoS تحفظ، VPS VDS سرورز والی سائٹوں کے لیے قابل اعتماد ہوسٹنگ خریدیں۔ DDoS تحفظ، VPS VDS سرورز کے ساتھ قابل اعتماد ویب سائٹ ہوسٹنگ خریدیں۔ ProHoster