Module crypto-gost-tls13 ahitana ny fampiharana TLS 1.3 (RFC 8446 + RFC 9367) miaraka amin'ny GOST cryptography. Ity famoahana ity no dikan-teny voalohany amin'ny tranomboky ary vonona hampiasaina anatiny.
Ny endri-javatra miavaka amin'ny tranomboky dia ny fampiharana Java madiodio. Ny asa rehetra momba ny kriptografika dia tanterahina amin'ny alàlan'ny fitaovana efa tafiditra ao amin'ny tranomboky, tsy misy fiankinan-doha ivelany.
Ity no iray amin'ireo fampiharana open source voalohany an'ny TLS 1.3 miaraka amin'ny GOST ao amin'ny Java, ka natao araka izay fara heriny ny fitsapana interop.
Ireto ambany ireto ny fahafahan'ny tranomboky.
- Protokoly:
- Fifandraisana tanana: feno (mpanjifa/mpizara), fohy (PSK), iraisana (mTLS).
- ALPN (RFC 7301) - Fifampiraharahana momba ny Protocol amin'ny Layer Application (HTTP/2, HTTP/1.1).
- SNI (RFC 6066) - Famantarana ny anarana mpizara ho an'ny fametrahana mpanofa maro.
- KeyUpdate (RFC 8446 §4.6.3) – fanavaozana ny lakilen'ny fanafenana ny fifamoivoizana.
- Sehatra cipher: TLS_KUZNYECHIK_MGM_STREEBOG_256_L/S.
- ECDHE: CryptoPro-A (256-bit), CryptoPro-B (512-bit)
- Fanovàna ny lakilen'ny TLSTREE isaky ny firaketana — fanovana ny lakilen'ny fanafenana ho an'ny firaketana TLS tsirairay.
- Famoahana sy fanangonana indray ireo fifampiarahabana tanana sy firaketana (RFC 8446 §5.1).
- Famerenana indray ny fivoriana: PSK amin'ny alàlan'ny NewSessionTicket (PskStore ao anaty fitadidiana, fampiasana indray mandeha).
- Fametahana OCSP: mpizara manampy ny valintenin'ny OCSP amin'ny taratasy fanamarinana.
- Hafatra aorian'ny fifampiarahabana: NewSessionTicket (ankoatra ny PSK).
- Kriptografika:
- Fandaharam-potoana fototra: HKDF-Streebog (RFC 5869) amin'ny alàlan'ny TLS 1.3 (RFC 8446 §7.1).
- Fiarovana ny rakitsoratra: MGM-AEAD (Kuznyechik) miaraka amin'ny nonce araka ny RFC 8446 §5.3.
- Fafana ireo fanalahidy vetivety rehefa avy ampiasaina.
- Mari-pankasitrahana:
- Famakafakana X.509v3 (GOST R 34.10-2012) — mpandinika DER namboarina.
- Rojo fanamarinana: sonia, DN (mpamoaka → loha-hevitra), Fameperana fototra, Fampiasana lakile, Fampiasana lakile mivelatra * (serverAuth / clientAuth), pathLen.
- Fanamarinana ny anaran'ny mpampiantrano: dNSName + iPAddress (RFC 6125).
- Fanamarinana ny valintenin'ny OCSP (RFC 6960).
4.Transport:
- TlsTransport - interface.
- InMemoryTlsTransport - ho an'ny fitsapana sy ny tranga misy dingana tokana (filaharana ao anaty fahatsiarovana).
- SocketTlsTransport — manakana ny fidirana/fidirana amin'ny alalan'ny java.net.Socket.
- ChannelTlsTransport - Fitaterana mifototra amin'ny NIO SocketChannel (fomba fanakanana, azo tapahina).
- Fifandraisana tanana tsikelikely:
- Milina state ho an'ny handshake (nesorina tamin'ny I/O) ny TlsHandshakeEngine. Mampiasa ny TlsSession ho toy ny orchestrator izy ary mety amin'ny fampidirana amin'ny JSSE (SSLEngine).
- API ByteBuffer:
- TlsRecord.protect/unprotect — Be loatra ny ByteBuffer mba hampidirana dika mitovy amin'ny NIO. Fametrahana fanalahidy:
- Pkcs12Loader — mamaky PFX (PKCS#12) miaraka amin'ny PBKDF2-HMAC-SHA256 + AES-256-CBC.
- Faran'ny fivoriana:
- close_notify - manitsy ny fanakatonana araka ny protocole.
- Famafana ireo fitaovana fototra rehefa manidy na manao fahadisoana.
- Fanairana momba ny fikirakirana: mahafaty - fanakatonana avy hatrany + famafana.
- Fiarovana amin'ny fampiharana:
- Fampitahana tsy tapaka amin'ny fotoana ho an'ny verify_data sy PSK binders (fiarovana amin'ny fanafihana ara-potoana)
- Famafana ny fitaovana fanalahidy: destroy() amin'ny zavatra rehetra misy fanalahidy (TlsKeySchedule, TlsTrafficKeys, TlsRecord, HandshakeContext), amin'ny fanakatonana, fanairana mahafaty, fanavahana amin'ny fifampikasohana tanana
- Fiarovana DoS: fetra amin'ny halavan'ny rojo fanamarinana (10), hafatra aorian'ny fifampiraharahana, haben'ny firaketana.
- MGM nonce: Voafafa ho an'ny ICN ny MSB an'ny byte voalohany (RFC 9058 §3, RFC 9367 §3.3).
- Potika ny lakile manokana ECDHE sy ny dika mitovy amin'ny fifandraisana rehefa vita ny fifandraisana.
- Voafafa ny fitaovana fototra HMAC rehefa avy ampiasaina (HkdfStreebog, KdfGostR3411_2012_256).
- fameperana:
- Famerenana ny PSK ihany (tsy tohana ny 0-RTT sy ny PSK ivelany).
- psk_dhe_ke ihany (tsy tohana ny PSK madio tsy misy ECDHE).
- Tsy tohana ny HelloRetryRequest (RFC 8446 §4.1.4) - vondrona iray ihany no ampiasaina (GC256A no ampiasaina).
- GOST ihany (tsy tohana ireo "cipher suites" tsy GOST).
- Fitsapana:
- Mirakitra ireo Fitsapana Valiny Fantatra avy amin'ny RFC 9367 Appendix A.1 (fiovaovana L sy S) ny tranomboky—fandaharam-potoana feno ho an'ny lakile, TLSTREE, AEAD, ECDHE. Mandalo ireo fitsapana KAT rehetra ihany koa izy io.
- Fitsapana fampidirana 4 (fifandraisana amin'ny tena izy) amin'ny alàlan'ny sockets TCP tena izy.
- Fitsapana Fuzz ho an'ny parser: TlsMessageParser (fomba 8), TlsDerParser (fomba 3), TlsOcspVerifier (fomba 1), mba hiantohana ny fiarovana sy hampihenana ny vector fanafihana amin'ny parser.
- Vahaolana ara-maritrano:
- TlsHandshakeEngine - milina state nesorina tamin'ny I/O (ho an'ny môdio JSSE amin'ny ho avy).
- Be loatra ny TlsRecord.protect/unprotect an'ny ByteBuffer ho an'ny NIO/JSSE.
- TLSTREE cache (TlsTreeCache) - kajy indray ny ambaratonga niova ihany (RFC 9367).
- InMemoryTlsTransport.Pair dia pair roa sosona ho an'ny fitsapana sy fifandraisana amin'ny dingana tokana.
Zaraina maimaim-poana ny tranomboky.
Source: linux.org.ru
