Imodyuli i-crypto-gost-tls13 iqukethe ukusetshenziswa I-TLS 1.3 (RFC 8446 + RFC 9367) nge-GOST cryptography. Lokhu kukhishwa kuyinguqulo yokuqala yomtapo wolwazi futhi kulungele ukusetshenziswa ngaphakathi.
Isici esiyingqayizivele somtapo wolwazi ukusetshenziswa kwawo kwe-Java okumsulwa. Yonke imisebenzi ye-cryptographic yenziwa kusetshenziswa amathuluzi akhelwe ngaphakathi omtapo wolwazi, ngaphandle kokuxhomekeka kwangaphandle.
Lokhu kungenye yezindlela zokuqala zokusebenzisa i-TLS 1.3 ene-GOST ku-Java, ngakho-ke ukuhlolwa kwe-interop kwenziwe ngezinga elincane ngangokunokwenzeka.
Ngezansi amakhono omtapo wolwazi.
- Izinqubo Zokusebenza:
- Ukuxhawulana: okugcwele (iklayenti/iseva), okufushane (i-PSK), okuhlangene (i-mTLS).
- I-ALPN (RFC 7301) - Ingxoxo Yephrothokholi Yesindlalelo Sohlelo Lokusebenza (HTTP/2, HTTP/1.1).
- I-SNI (RFC 6066) - Inkomba Yegama iseva ukuthunyelwa kwabaqashi abaningi.
- Ukuvuselelwa Kwe-Key (RFC 8446 §4.6.3) – ukubuyekeza okhiye bokubethela ithrafikhi.
- Ama-cipher suite: TLS_KUZNYECHIK_MGM_STREEBOG_256_L/S.
- I-ECDHE: I-CryptoPro-A (256-bit), i-CryptoPro-B (512-bit)
- Ukufaka kabusha i-TLSTREE ngerekhodi ngalinye — ukushintsha ukhiye wokubethela werekhodi ngalinye le-TLS.
- Ukuhlukaniswa kanye nokuhlanganiswa kabusha kokuxhawulana namarekhodi (RFC 8446 §5.1).
- Ukuqala kabusha kweseshini: I-PSK nge-NewSessionTicket (i-PskStore ikwimemori, isetshenziswa kanye kuphela).
- Ukuhlanganisa i-OCSP: isifiso ifaka impendulo ye-OCSP esitifiketini.
- Imiyalezo yangemva kokuxhawulana: I-NewSessionTicket (gcina i-PSK).
- I-Cryptography:
- Ishejuli ebalulekile: HKDF-Streebog (RFC 5869) ngaphezulu kwe-TLS 1.3 (RFC 8446 §7.1).
- Ukuvikelwa kwerekhodi: MGM-AEAD (Kuznyechik) nge-nonce ngokusho kwe-RFC 8446 §5.3.
- Okhiye besikhashana bayasulwa ngemva kokusetshenziswa.
- Izitifiketi:
- Ukuhlaziya kwe-X.509v3 (GOST R 34.10-2012) — i-DER parser eyakhelwe ngaphakathi.
- Uchungechunge lokuqinisekisa: amasignesha, i-DN (umkhiphi → isihloko), Izithiyo Eziyisisekelo, Ukusetshenziswa Kwesihluthulelo, Ukusetshenziswa Kwesihluthulelo Esandisiwe * (i-serverAuth / i-clientAuth), i-pathLen.
- Ukuhlolwa kwegama lomphathi: dNSName + iPAddress (RFC 6125).
- Ukuqinisekiswa kwezimpendulo ze-OCSP (RFC 6960).
4.EzokuThutha:
- I-TlsTransport - isikhombimsebenzisi.
- I-InMemoryTlsTransport - yokuhlolwa kanye nezimo zenqubo eyodwa (umugqa wememori).
- I-SocketTlsTransport — ivimba i-I/O phezu kwe-java.net.Socket.
- I-ChannelTlsTransport - I-NIO SocketEzokuthutha ezisekelwe ku-Channel (imodi yokuvimba, ephazamisekayo).
- Ukuxhawulana kancane kancane:
- I-TlsHandshakeEngine iwumshini wesimo sokuxhawulana (ohlukaniswe kusuka ku-I/O). Isebenzisa i-TlsSession njenge-orchestrator futhi ifanele ukuhlanganiswa ne-JSSE (SSLEngine).
- I-ByteBuffer API:
- I-TlsRecord.protect/unprotect — I-ByteBuffer ilayisha ngokweqile ukuze kuhlanganiswe i-zero-copy ne-NIO. Izinkinobho zokulayisha:
- I-Pkcs12Loader — ifunda i-PFX (PKCS#12) nge-PBKDF2-HMAC-SHA256 + AES-256-CBC.
- Ukuphela kweseshini:
- vala_ukwazisa - lungisa ukuvala ngokwephrothokholi.
- Ukusula izinto ezibalulekile uma uvala noma wenza iphutha.
- Isexwayiso sokuphatha: okubulalayo - ukuvala ngokushesha + ukusula.
- Ukuphepha kokusetshenziswa:
- Ukuqhathaniswa kwesikhathi esiqhubekayo kwe-verify_data kanye ne-PSK binders (ukuvikelwa ekuhlaselweni kwesikhathi)
- Ukusula izinto eziyisihluthulelo: destroy() kuzo zonke izinto ngezihluthulelo (TlsKeySchedule, TlsTrafficKeys, TlsRecord, HandshakeContext), uma uvala, uxwayisa ngokufa, okuhlukile uma uxhawulana
- Ukuvikelwa kwe-DoS: imikhawulo yobude beketanga lesitifiketi (10), imiyalezo yangemva kokuxhawulana, usayizi werekhodi.
- I-MGM nonce: I-MSB yebhayithi yokuqala isuliwe ye-ICN (RFC 9058 §3, RFC 9367 §3.3).
- Ukhiye wangasese we-ECDHE kanye nombhalo we-handshake kuyabhujiswa ngemva kokuba ukuxhawulana sekuqediwe.
- Izinto eziyisihluthulelo ze-HMAC ziyasulwa ngemva kokusetshenziswa (HkdfStreebog, KdfGostR3411_2012_256).
- Ukulinganiselwa:
- I-PSK yokuqalisa kabusha kuphela (i-0-RTT kanye ne-PSK yangaphandle azisekelwa).
- I-psk_dhe_ke kuphela (i-PSK emsulwa ngaphandle kwe-ECDHE ayisekelwa).
- I-HelloRetryRequest (RFC 8446 §4.1.4) ayisekelwa - kusetshenziswa iqembu elilodwa eliqanjwe ngegama (GC256A ngokuzenzakalelayo).
- I-GOST kuphela (ama-cipher suites angewona awe-GOST awasekelwa).
- Ukuhlola:
- Umtapo wolwazi uqukethe i-Known Answer Tests evela ku-RFC 9367 Appendix A.1 (izinhlobo ze-L ne-S)—isheduli ephelele yokhiye, i-TLSTREE, i-AEAD, kanye ne-ECDHE. Uphinde udlule uhla oluphelele lwezivivinyo ze-KAT.
- Ukuhlolwa kokuhlanganiswa okungu-4 (self-interop) ngokusebenzisa amasokhethi e-TCP angempela.
- Ukuhlolwa kwe-Fuzz kwabahlaziyi: I-TlsMessageParser (izindlela ezingu-8), i-TlsDerParser (izindlela ezingu-3), i-TlsOcspVerifier (indlela engu-1), ukuqinisekisa ukuphepha nokunciphisa i-vector yokuhlasela kubahlaziyi.
- Izixazululo zokwakha:
- I-TlsHandshakeEngine - umshini wesimo ohlukaniswe kusuka ku-I/O (wemojula ye-JSSE yesikhathi esizayo).
- Ukulayisha ngokweqile kwe-ByteBuffer kwe-TlsRecord.protect/unprotect ye-NIO/JSSE.
- I-TLSTREE cache (i-TlsTreeCache) - ukubalwa kabusha kwamazinga ashintshiwe kuphela (RFC 9367).
- I-InMemoryTlsTransport.Pair iyibhangqa eliqondiswe kabili lokuhlola kanye nokuxhumana kwenqubo eyodwa.
Umtapo wolwazi usatshalaliswa ngaphansi kwelayisensi yamahhala.
Source: linux.org.ru
