Fyrsta útgáfan af TLS 1.3 samskiptareglunni í Java með GOST reikniritum í samræmi við RFC 9367

Module dulritunar-gost-tls13 inniheldur framkvæmdina TLS 1.3 (RFC 8446 + RFC 9367) með GOST dulritun. Þessi útgáfa er fyrsta útgáfa bókasafnsins og er tilbúin til innri notkunar.

Sérkenni bókasafnsins er eingöngu Java-útfærslan. Allar dulritunaraðgerðir eru framkvæmdar með innbyggðum tólum bókasafnsins, án utanaðkomandi tengsla.

Þetta er ein af fyrstu opnum hugbúnaðarútfærslunum af TLS 1.3 með GOST í Java, þannig að samvirkniprófanir hafa verið gerðar í lágmarki mögulegu mæli.

Hér að neðan eru möguleikar bókasafnsins.

  1. Samskiptareglur:
  • Handaband: fullt (viðskiptavinur/þjónn), stutt (PSK), gagnkvæmt (mTLS).
  • ALPN (RFC 7301) - Samningagerð um forritalag (HTTP/2, HTTP/1.1).
  • SNI (RFC 6066) - Nafnamerking miðlara fyrir uppsetningu margra leigjenda.
  • KeyUpdate (RFC 8446 §4.6.3) – uppfærsla á dulkóðunarlyklum umferðar.
  • Dulmálssvítur: TLS_KUZNYECHIK_MGM_STREEBOG_256_L/S.
  • ECDHE: CryptoPro-A (256-bita), CryptoPro-B (512-bita)
  • Endurlykill fyrir hverja TLS-færslu á TLS-færslu — að breyta dulkóðunarlyklinum fyrir hverja TLS-færslu.
  • Sundurliðun og endursamsetning handabanda og skráa (RFC 8446 §5.1).
  • Endurupptaka lotu: PSK í gegnum NewSessionTicket (PskStore í minni, einnota).
  • OCSP hefting: netþjóni bætir OCSP svarinu við skírteinið.
  • Skilaboð eftir handaband: NewSessionTicket (vista fyrir PSK).
  1. Dulkóðun:
  • Lykiláætlun: HKDF-Streebog (RFC 5869) yfir TLS 1.3 (RFC 8446 §7.1).
  • Verndun gagna: MGM-AEAD (Kuznyechik) með nonce samkvæmt RFC 8446 §5.3.
  • Skammvinnir lyklar eru eytt eftir notkun.
  1. Vottorð:
  • X.509v3 greining (GOST R 34.10-2012) — innbyggður DER-greinir.
  • Staðfestingarkeðja: undirskriftir, nafnnúmer (útgefandi → efni), grunntakmarkanir, notkun lykla, útvíkkuð notkun lykla * (serverAuth / clientAuth), pathLen.
  • Athugun á vélarheiti: dNSName + iPAddress (RFC 6125).
  • Staðfesting á OCSP svörum (RFC 6960).

4.Samgöngur:

  • TlsTransport - viðmót.
  • InMemoryTlsTransport - fyrir prófanir og atburðarásir með einu ferli (biðröð í minni).
  • SocketTlsTransport — blokkar inntak/úttak yfir java.net.Socket.
  • ChannelTlsTransport - NIO SocketRásarbundinn flutningur (blokkunarhamur, truflunarhæfur).
  1. Skref fyrir skref handaband:
  • TlsHandshakeEngine er stöðuvél fyrir handaband (aftengd frá I/O). Hún notar TlsSession sem skipulagsstjóra og hentar vel til samþættingar við JSSE (SSLEngine).
  1. ByteBuffer API:
  • TlsRecord.protect/unprotect — Ofhleðsla á ByteBuffer fyrir afritunarlausa samþættingu við NIO. Hleður lykla:
  • Pkcs12Loader — les PFX (PKCS#12) með PBKDF2-HMAC-SHA256 + AES-256-CBC.
  1. Lok fundar:
  • close_notify - rétt lokun samkvæmt samskiptareglunum.
  • Að þurrka af lykilefni við lokun eða mistök.
  • Viðvörun um meðhöndlun: banvænt - lokun + eyðing tafarlaust.
  1. Öryggi í framkvæmd:
  • Samanburður á stöðugum tíma fyrir verify_data og PSK bindiefni (vörn gegn tímaárásum)
  • Eyða lykilefni: destroy() á öllum hlutum með lyklum (TlsKeySchedule, TlsTrafficKeys, TlsRecord, HandshakeContext), við lokun, banvæn viðvörun, undantekning í handbandi
  • DoS vernd: takmarkanir á lengd vottorðskeðjunnar (10), skilaboð eftir handaband, stærð færslu.
  • MGM nonce: MSB fyrsta bætisins er hreinsað fyrir ICN (RFC 9058 §3, RFC 9367 §3.3).
  • Einkalykillinn fyrir ECDHE og afrit af handabandi eru eytt eftir að handabandi lýkur.
  • Lykilgögnum HMAC er eytt eftir notkun (HkdfStreebog, KdfGostR3411_2012_256).
  1. Takmarkanir:
  • Aðeins endurupptöku-PSK (0-RTT og ytri PSK eru ekki studd).
  • Aðeins psk_dhe_ke (hreint PSK án ECDHE er ekki stutt).
  • HelloRetryRequest (RFC 8446 §4.1.4) er ekki stutt - aðeins einn nefndur hópur er notaður (sjálfgefið er GC256A).
  • Aðeins GOST (dulkóðunarsvítur sem ekki eru GOST eru ekki studdar).
  1. Próf:
  • Bókasafnið inniheldur þekkt svörpróf úr RFC 9367 viðauka A.1 (L og S afbrigði) — allt lykiláætlunina, TLSTREE, AEAD og ECDHE. Það stenst einnig öll KAT prófin.
  • 4 samþættingarprófanir (sjálfvirk gagnvirkni) í gegnum raunveruleg TCP-tengi.
  • Fuzz-prófanir fyrir þáttara: TlsMessageParser (8 aðferðir), TlsDerParser (3 aðferðir), TlsOcspVerifier (1 aðferð), til að tryggja öryggi og draga úr árásarvektor á þáttara.
  1. Arkitektúrlausnir:
  • TlsHandshakeEngine - stöðuvél aftengd frá I/O (fyrir framtíðar JSSE einingu).
  • Ofhleðsla á TlsRecord.protect/unprotect í ByteBuffer fyrir NIO/JSSE.
  • TLSTREE skyndiminni (TlsTreeCache) - endurútreikningur aðeins á breyttum stigum (RFC 9367).
  • InMemoryTlsTransport.Pair er tvíátta par fyrir prófanir og samskipti milli eins ferlis.

Bókasafnið er dreift undir frjálsu leyfi.

Heimild: linux.org.ru

Kauptu áreiðanlega hýsingu fyrir síður með DDoS vernd, VPS VDS netþjónum 🔥 Kauptu áreiðanlega vefhýsingu með DDoS vörn, VPS VDS netþjónum | ProHoster