انډول کریپټو-ګوسټ-tls13 پلي کول پکې شامل دي TLS ۱.۳ (RFC ۸۴۴۶ + RFC ۹۳۶۷) د GOST کریپټوګرافي سره. دا خپرونه د کتابتون لومړنۍ نسخه ده او د داخلي کارونې لپاره چمتو ده.
د کتابتون یوه ځانګړې ځانګړتیا د جاوا په کارولو سره د هغې خالص تطبیق دی. ټول کریپټوګرافیک عملیات د کتابتون د جوړ شوي وسیلو په کارولو سره ترسره کیږي، پرته له کوم بهرني تړاو څخه.
دا په جاوا کې د GOST سره د TLS 1.3 لومړنیو پرانیستې سرچینې پلي کولو څخه یو دی، نو د انټراپ ازموینه تر ممکنه حده پورې ترسره شوې ده.
لاندې د کتابتون وړتیاوې دي.
- پروتوکولونه:
- لاس ورکول: بشپړ (مراجع/سرور)، لنډ (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: کریپټو پرو-A (256-bit)، کریپټو پرو-B (512-bit)
- د هر ریکارډ TLSTREE بیا کیلي کول — د هر TLS ریکارډ لپاره د کوډ کولو کیلي بدلول.
- د لاس ورکولو او ریکارډونو ټوټه کول او بیا راټولول (RFC 8446 §5.1).
- د غونډې بیا پیل: د NewSessionTicket له لارې PSK (PskStore په حافظه کې، یوځل کارول).
- د OCSP سټېپلینګ: سرور прикладывает OCSP-ответ к сертификату.
- د لاس ورکولو وروسته پیغامونه: NewSessionTicket (د PSK لپاره خوندي کړئ).
- کوډګرافي:
- کلیدي مهالویش: HKDF-Streebog (RFC 5869) د TLS 1.3 (RFC 8446 §7.1) په پرتله.
- د ریکارډ ساتنه: MGM-AEAD (Kuznyechik) د RFC 8446 §5.3 سره سم د نه شتون سره.
- لنډمهاله کیلي د کارولو وروسته له منځه ځي.
- سندونه:
- د 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 بندول.
- چینل ټل ټرانسپورټ - د NIO ساکټ چینل پر بنسټ ټرانسپورټ (د بندولو حالت، د مداخلې وړ).
- ګام په ګام لاس ورکول:
- TlsHandshakeEngine د لاس ورکولو لپاره یو دولتي ماشین دی (د I/O څخه جلا شوی). دا د آرکیسټریټر په توګه TlsSession کاروي او د JSSE (SSLEngine) سره د ادغام لپاره مناسب دی.
- د بایټ بفر API:
- TlsRecord.protect/unprotect — بایټ بفر د NIO سره د صفر کاپي ادغام لپاره ډیر بار کوي. کیلي بارول:
- Pkcs12Loader — د PBKDF2-HMAC-SHA256 + AES-256-CBC سره PFX (PKCS#12) لوستل.
- د غونډې پای:
- close_notify - د پروتوکول سره سم سم تړل.
- د تړلو یا تېروتنې پر مهال د کلیدي موادو پاکول.
- د سمبالولو خبرتیا: وژونکی - سمدستي تړل + پاکول.
- د تطبیق امنیت:
- د verify_data او PSK باینڈرونو لپاره د ثابت وخت پرتله کول (د وخت بریدونو په وړاندې محافظت)
- د کیلي موادو پاکول: په ټولو شیانو کې د کیلي سره ویجاړول () (TlsKeySchedule، TlsTrafficKeys، TlsRecord، HandshakeContext)، په نږدې کیدو کې، وژونکي خبرتیا، په لاس ورکولو کې استثنا
- د بهرنیو چارو وزارت محافظت: د سند زنځیر اوږدوالي محدودیتونه (10)، د لاس ورکولو وروسته پیغامونه، د ریکارډ اندازه.
- د MGM نوم: د لومړي بایټ MSB د ICN لپاره پاک شوی (RFC 9058 §3, RFC 9367 §3.3).
- د ECDHE شخصي کیلي او د لاس ورکولو لیږد د لاس ورکولو بشپړیدو وروسته له منځه ځي.
- د HMAC کلیدي مواد د کارولو وروسته له منځه وړل کیږي (HkdfStreebog, KdfGostR3411_2012_256).
- محدودیتونه:
- یوازې د PSK بیا پیل کول (0-RTT او بهرني PSK ملاتړ نه کیږي).
- یوازې psk_dhe_ke (د ECDHE پرته خالص PSK ملاتړ نه کیږي).
- HelloRetryRequest (RFC 8446 §4.1.4) ملاتړ نه کیږي - یوازې یو نومول شوی ګروپ کارول کیږي (GC256A په ډیفالټ ډول).
- یوازې GOST (غیر GOST سیفر سویټونه نه ملاتړ کیږي).
- ازموینه:
- په کتابتون کې د RFC 9367 ضمیمه A.1 (L او S ډولونه) څخه د پیژندل شوي ځواب ازموینې شاملې دي - بشپړ کلیدي مهالویش، TLSTREE، AEAD، او ECDHE. دا د KAT ازموینو بشپړ لړۍ هم پاس کوي.
- د اصلي TCP ساکټونو له لارې د ادغام ۴ ازموینې (ځان انټراپ).
- د پارسرونو لپاره د فز ازموینې: TlsMessageParser (8 میتودونه)، TlsDerParser (3 میتودونه)، TlsOcspVerifier (1 میتود)، ترڅو امنیت ډاډمن شي او په پارسرونو باندې د برید ویکتور کم شي.
- د معمارۍ حل لارې:
- TlsHandshakeEngine - د حالت ماشین چې د I/O څخه جلا شوی (د راتلونکي JSSE ماډل لپاره).
- د NIO/JSSE لپاره د TlsRecord.protect/unprotect بایټ بفر ډیر بارونه.
- د TLSTREE کیش (TlsTreeCache) - یوازې د بدل شوي کچو بیا محاسبه (RFC 9367).
- InMemoryTlsTransport.Pair د ازموینو او واحد پروسې اړیکو لپاره دوه اړخیزه جوړه ده.
کتابتون د وړیا جواز لاندې ویشل شوی دی.
سرچینه: linux.org.ru
