Modal crypto-gost-tls13 anns a bheil an cur an gnĂŹomh TLS 1.3 (RFC 8446 + RFC 9367) le crioptagrafaireachd GOST. Is e seo aâ chiad dreach den leabharlann agus tha e deiseil airson a chleachdadh a-staigh.
Is e feart sònraichte den leabharlann a bhith ga chur an gnĂŹomh ann an Java gu tur. Thèid a h-uile gnĂŹomhachd crioptagrafach a dhèanamh le bhith aâ cleachdadh innealan togte na leabharlainn, gun eisimeileachd sam bith bhon taobh a-muigh.
Is e seo aon de na ciad chur an gnÏomh stòr fosgailte de TLS 1.3 le GOST ann an Java, agus mar sin chaidh deuchainnean eadar-obrachaidh a dhèanamh cho beag 's as urrainn.
Seo na comasan a tha aig an leabharlainn.
- Pròtacalan:
- Crith-là imhe: là n (neach-dèiligidh/frithealaiche), goirid (PSK), co-phà irteach (mTLS).
- ALPN (RFC 7301) - Co-rèiteachadh Pròtacal Sreath Iarrtais (HTTP/2, HTTP/1.1).
- SNI (RFC 6066) - Comharrachadh Ainm frithealaiche airson cleachdadh ioma-neach-gabhail.
- KeyUpdate (RFC 8446 §4.6.3) â ag Ăšrachadh iuchraichean crioptachaidh trafaic.
- Seòmraichean Cipher: TLS_KUZNYECHIK_MGM_STREEBOG_256_L/S.
- ECDHE: CryptoPro-A (256-bit), CryptoPro-B (512-bit)
- Ath-iuchrachadh TLSTREE gach clĂ r â ag atharrachadh an iuchair crioptachaidh airson gach clĂ r TLS.
- Sgoltadh is ath-chruinneachadh chrathadh-là imhe is chlà ran (RFC 8446 §5.1).
- Ath-thòiseachadh seisean: PSK tro NewSessionTicket (PskStore sa chuimhne, aon-chleachdadh).
- Staplachadh OCSP: frithealaiche aâ cur freagairt OCSP ris an teisteanas.
- Teachdaireachdan às dèidh crathadh-là imhe: NewSessionTicket (sà bhail airson PSK).
- Crioptagrafachd:
- PrÏomh chlà r-ama: HKDF-Streebog (RFC 5869) thairis air TLS 1.3 (RFC 8446 §7.1).
- DÏon chlà ran: MGM-AEAD (Kuznyechik) le nonce a rèir RFC 8446 §5.3.
- Thèid iuchraichean sealach a dhubhadh às às dèidh an cleachdadh.
- Teisteanasan:
- Parsadh X.509v3 (GOST R 34.10-2012) â parsair DER togte a-steach.
- Slabhraidh dearbhaidh: ainmean-sgrĂŹobhte, DN (foillsichear â cuspair), Cuingealachaidhean Bunasach, Cleachdadh Iuchrach, Cleachdadh Iuchrach Leudaichte * (serverAuth / clientAuth), pathLen.
- SgrĂšdadh ainm-aoigheachd: dNSName + iPAddress (RFC 6125).
- Dearbhadh fhreagairtean OCSP (RFC 6960).
4.Còmhdhail:
- Còmhdhail Tls - eadar-aghaidh.
- InMemoryTlsTransport - airson deuchainnean agus suidheachaidhean aon-phròiseas (ciudha in-chuimhne).
- SocketTlsTransport â aâ bacadh I/O thairis air java.net.Socket.
- ChannelTlsTransport - Còmhdhail stèidhichte air seanail (modh bacadh, so-bhriseadh).
- Crith-lĂ imhe ceum air cheum:
- âS e inneal stĂ ite airson crathadh-lĂ imhe a thâ ann an TlsHandshakeEngine (air a sgaradh bho I/O). Bidh e aâ cleachdadh TlsSession mar orchestrator agus tha e freagarrach airson amalachadh le JSSE (SSLEngine).
- API Bufair-bhĂ ta:
- TlsRecord.protect/unprotect â Cus luchdan de ByteBuffer airson amalachadh gun leth-bhreac le NIO. Aâ luchdachadh iuchraichean:
- Pkcs12Loader â aâ leughadh PFX (PKCS#12) le PBKDF2-HMAC-SHA256 + AES-256-CBC.
- Deireadh na seisein:
- close_notify - dĂšnadh ceart a rèir aâ phròtacail.
- Aâ sguabadh stuth cudromach nuair a thathar aâ dĂšnadh no aâ dèanamh mearachd.
- Rabhadh lĂ imhseachaidh: marbhtach - dĂšnadh sa bhad + sguabadh Ă s.
- Tèarainteachd cur an gnÏomh:
- Coimeasan Ăšine-sheasmhach airson luchd-ceangail verify_data agus PSK (dĂŹon an aghaidh ionnsaighean tĂŹm)
- Aâ sguabadh Ă s stuth iuchair: destroy() air gach nĂŹ le iuchraichean (TlsKeySchedule, TlsTrafficKeys, TlsRecord, HandshakeContext), nuair a tha e dĂšinte, rabhadh marbhtach, eisgeachd ann an crathadh-lĂ imhe
- DÏon DoS: crÏochan air fad slabhraidh teisteanas (10), teachdaireachdan às dèidh crathadh-là imhe, meud chlà ran.
- MGM nonce: Tha MSB aâ chiad bhaidht air a ghlanadh airson ICN (RFC 9058 §3, RFC 9367 §3.3).
- Thèid an iuchair phrÏobhaideach ECDHE agus an tar-sgrÏobhadh crathadh-là imhe a sgrios às dèidh don chrathadh-là imhe a bhith deiseil.
- Thèid stuth iuchair HMAC a dhubhadh às dèidh a chleachdadh (HkdfStreebog, KdfGostR3411_2012_256).
- CrĂŹochan:
- PSK ath-thòiseachadh a-mhà in (chan eil taic ri 0-RTT agus PSK taobh a-muigh).
- Chan eil taic ri psk_dhe_ke a-mhĂ in (PSK fĂŹor-ghlan Ă s aonais ECDHE).
- Chan eil taic ri HelloRetryRequest (RFC 8446 §4.1.4) - chan eil ach aon bhuidheann ainmichte air a chleachdadh (GC256A gu gnà thach).
- GOST a-mhĂ in (chan eil taic ri sreathan-cifaire nach eil ann an GOST).
- Deuchainn:
- Tha deuchainnean Freagairtean Aithnichte bho RFC 9367 Appendix A.1 (caochlaidhean L agus S) anns an leabharlannâan clĂ r-ama iuchrach slĂ n, TLSTREE, AEAD, agus ECDHE. Bidh e cuideachd aâ dol seachad air lĂ n raon dheuchainnean KAT.
- 4 deuchainnean amalachaidh (fèin-eadar-obrachadh) tro socaidean TCP fÏor.
- Deuchainnean fuzz airson parsairean: TlsMessageParser (8 dòighean), TlsDerParser (3 dòighean), TlsOcspVerifier (1 dòigh), gus tèarainteachd a dhèanamh cinnteach agus an vectar ionnsaigh air parsairean a lughdachadh.
- Fuasglaidhean ailtireachd:
- TlsHandshakeEngine - inneal stĂ ite air a dhĂŹ-cheangal bho I/O (airson modĂşl JSSE san Ă m ri teachd).
- Cus luchdan ByteBuffer de TlsRecord.protect/unprotect airson NIO/JSSE.
- Tasglann TLSTREE (TlsTreeCache) - ath-Ă ireamhachadh nan ĂŹrean a chaidh atharrachadh a-mhĂ in (RFC 9367).
- 'S e paidhir dà -shligheach a th' ann an InMemoryTlsTransport.Pair airson deuchainnean agus conaltradh aon-phròiseas.
Tha an leabharlann air a sgaoileadh fo cheadachas an-asgaidh.
Source: linux.org.ru
