An chéad eisiúint de chur i bhfeidhm phrótacail TLS 1.3 i Java le halgartaim GOST i gcomhréir le RFC 9367

Modúl cripte-gost-tls13 ina bhfuil an cur i bhfeidhm TLS 1.3 (RFC 8446 + RFC 9367) le cripteagrafaíocht GOST. Is é an leagan seo an chéad leagan den leabharlann agus tá sé réidh le húsáid go hinmheánach.

Gné uathúil den leabharlann is ea a cur i bhfeidhm Java amháin. Déantar na hoibríochtaí cripteagrafacha go léir ag baint úsáide as uirlisí ionsuite na leabharlainne, gan aon spleáchais sheachtracha.

Seo ceann de na chéad chur i bhfeidhm foinse oscailte de TLS 1.3 le GOST i Java, mar sin rinneadh tástáil idir-inoibritheachta a mhéid is féidir.

Seo thíos cumais na leabharlainne.

  1. Prótacail:
  • Croitheadh ​​láimhe: iomlán (cliant/freastalaí), gearr (PSK), frithpháirteach (mTLS).
  • ALPN (RFC 7301) - Idirbheartaíocht Prótacail Sraithe Feidhmchláir (HTTP/2, HTTP/1.1).
  • SNI (RFC 6066) - Léiriú Ainm freastalaí le haghaidh imscaradh ilthionónta.
  • Nuashonrú Eochrach (RFC 8446 §4.6.3) – ag nuashonrú eochracha criptithe tráchta.
  • Seomraí Cipher: TLS_KUZNYECHIK_MGM_STREEBOG_256_L/S.
  • ECDHE: CryptoPro-A (256-giotán), CryptoPro-B (512-giotán)
  • Ath-eochracha TLSTREE in aghaidh an taifid — athrú ar an eochair chriptithe do gach taifead TLS.
  • Ilroinnt agus athchóimeáil croitheadh ​​láimhe agus taifead (RFC 8446 §5.1).
  • Aththosú seisiúin: PSK trí NewSessionTicket (PskStore sa chuimhne, le húsáid aonuaire).
  • Stápláil OCSP: freastalaí прикладывает OCSP-ответ к сертификату.
  • Teachtaireachtaí i ndiaidh croitheadh ​​láimhe: NewSessionTicket (sábháil le haghaidh PSK).
  1. Cripteagrafaíocht:
  • Príomhsceideal: HKDF-Streebog (RFC 5869) thar TLS 1.3 (RFC 8446 §7.1).
  • Cosaint taifead: MGM-AEAD (Kuznyechik) le neamh-uaire de réir RFC 8446 §5.3.
  • Scriostar eochracha neamhbhuana tar éis úsáide.
  1. Teastais:
  • Parsáil X.509v3 (GOST R 34.10-2012) — parsálaí DER ionsuite.
  • Slabhra bailíochtaithe: sínithe, DN (eisitheoir → ábhar), Srianta Bunúsacha, Úsáid Eochrach, Úsáid Eochrach Leathnaithe * (serverAuth / clientAuth), pathLen.
  • Seiceáil ainm óstach: dNSName + iPAddress (RFC 6125).
  • Fíorú freagraí OCSP (RFC 6960).

4.Iompar:

  • TlsTransport - comhéadan.
  • InMemoryTlsTransport - le haghaidh tástálacha agus cásanna aonphróisis (siú sa chuimhne).
  • SocketTlsTransport — ag blocáil I/O thar java.net.Socket.
  • ChannelTlsTransport - Soicéad NIOIompar bunaithe ar chainéal (mód blocála, inbhriste).
  1. Croitheadh ​​láimhe céim ar chéim:
  • Is meaisín stáit é TlsHandshakeEngine le haghaidh croitheadh ​​láimhe (dícheangailte ó I/O). Úsáideann sé TlsSession mar cheolfhoireann agus tá sé oiriúnach le haghaidh comhtháthú le JSSE (SSLEngine).
  1. API Maolán Byte:
  • TlsRecord.protect/unprotect — Ró-ualaí ar Bheathbhufaire le haghaidh comhtháthú gan chóip le NIO. Ag lódáil eochracha:
  • Pkcs12Loader — ag léamh PFX (PKCS#12) le PBKDF2-HMAC-SHA256 + AES-256-CBC.
  1. Deireadh na seisiúin:
  • close_notify - dúnadh ceart de réir an phrótacail.
  • Ábhar tábhachtach a ghlanadh agus tú ag dúnadh nó ag déanamh earráide.
  • Foláireamh láimhseála: marfach - dúnadh láithreach + scriosadh.
  1. Slándáil chur i bhfeidhm:
  • Comparáidí tairiseach ama le haghaidh ceanglóirí verify_data agus PSK (cosaint i gcoinne ionsaithe ama)
  • Ábhar eochrach á scriosadh: destroy() ar gach réad a bhfuil eochracha iontu (TlsKeySchedule, TlsTrafficKeys, TlsRecord, HandshakeContext), ar dhúnadh, foláireamh marfach, eisceacht sa chroitheadh ​​láimhe
  • Cosaint DoS: teorainneacha ar fhad slabhra deimhnithe (10), teachtaireachtaí iar-chroitheadh ​​láimhe, méid taifead.
  • MGM nonce: Glantar MSB an chéad bheart le haghaidh ICN (RFC 9058 §3, RFC 9367 §3.3).
  • Scriostar an eochair phríobháideach ECDHE agus an trascríbhinn croitheadh ​​láimhe tar éis don chroitheadh ​​láimhe a bheith críochnaithe.
  • Scriostar ábhar eochrach HMAC tar éis úsáide (HkdfStreebog, KdfGostR3411_2012_256).
  1. Teorainneacha:
  • PSK atosaithe amháin (ní thacaítear le 0-RTT ná le PSK seachtrach).
  • Ní thacaítear le psk_dhe_ke amháin (ní thacaítear le PSK íon gan ECDHE).
  • Ní thacaítear le HelloRetryRequest (RFC 8446 §4.1.4) - ní úsáidtear ach grúpa ainmnithe amháin (GC256A de réir réamhshocraithe).
  • GOST amháin (ní thacaítear le sraitheanna cripte neamh-GOST).
  1. Tástáil:
  • Tá Tástálacha Freagraí Aitheanta ó RFC 9367 Aguisín A.1 (malairtí L agus S) sa leabharlann — an sceideal eochrach iomlán, TLSTREE, AEAD, agus ECDHE. Pasann sé raon iomlán na dtástálacha KAT freisin.
  • 4 thástáil chomhtháthaithe (féin-idirghníomhaíocht) trí soicéid TCP fíor.
  • Tástálacha fuzz le haghaidh parsálaithe: TlsMessageParser (8 modh), TlsDerParser (3 mhodh), TlsOcspVerifier (1 mhodh), chun slándáil a chinntiú agus an veicteoir ionsaithe ar pharsálaithe a laghdú.
  1. Réitigh ailtireachta:
  • TlsHandshakeEngine - meaisín stáit dícheangailte ó ionchur/aschur (do mhodúl JSSE sa todhchaí).
  • Ró-ualaí ByteBuffer de TlsRecord.protect/unprotect le haghaidh NIO/JSSE.
  • Taisce TLSTREE (TlsTreeCache) - athríomh ar leibhéil athraithe amháin (RFC 9367).
  • Is péire déthreoch é InMemoryTlsTransport.Pair le haghaidh tástálacha agus cumarsáide aonphróisis.

Tá an leabharlann dáilte faoi cheadúnas saor in aisce.

Foinse: linux.org.ru

Ceannaigh óstáil iontaofa do shuímh le cosaint DDoS, freastalaithe VPS VDS 🔥 Ceannaigh óstáil gréasáin iontaofa le cosaint DDoS, freastalaithe VPS VDS | ProHoster