ಘಟಕ ಕ್ರಿಪ್ಟೋ-ಗೋಸ್ಟ್-ಟಿಎಲ್ಎಸ್13 ಅನುಷ್ಠಾನವನ್ನು ಒಳಗೊಂಡಿದೆ ಟಿಎಲ್ಎಸ್ 1.3 (ಆರ್ಎಫ್ಸಿ 8446 + ಆರ್ಎಫ್ಸಿ 9367) GOST ಕ್ರಿಪ್ಟೋಗ್ರಫಿಯೊಂದಿಗೆ. ಈ ಬಿಡುಗಡೆಯು ಗ್ರಂಥಾಲಯದ ಆರಂಭಿಕ ಆವೃತ್ತಿಯಾಗಿದ್ದು, ಆಂತರಿಕ ಬಳಕೆಗೆ ಸಿದ್ಧವಾಗಿದೆ.
ಈ ಗ್ರಂಥಾಲಯದ ವಿಶಿಷ್ಟ ಲಕ್ಷಣವೆಂದರೆ ಅದರ ಶುದ್ಧ ಜಾವಾ ಅನುಷ್ಠಾನ. ಎಲ್ಲಾ ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕ್ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಗ್ರಂಥಾಲಯದ ಅಂತರ್ನಿರ್ಮಿತ ಪರಿಕರಗಳನ್ನು ಬಳಸಿ ನಿರ್ವಹಿಸಲಾಗುತ್ತದೆ, ಯಾವುದೇ ಬಾಹ್ಯ ಅವಲಂಬನೆಗಳಿಲ್ಲದೆ.
ಜಾವಾದಲ್ಲಿ GOST ನೊಂದಿಗೆ TLS 1.3 ರ ಮೊದಲ ಓಪನ್ ಸೋರ್ಸ್ ಅನುಷ್ಠಾನಗಳಲ್ಲಿ ಇದು ಒಂದಾಗಿದೆ, ಆದ್ದರಿಂದ ಇಂಟರ್ಆಪ್ ಪರೀಕ್ಷೆಯನ್ನು ಸಾಧ್ಯವಾದಷ್ಟು ಕಡಿಮೆ ಪ್ರಮಾಣದಲ್ಲಿ ಮಾಡಲಾಗಿದೆ.
ಗ್ರಂಥಾಲಯದ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಕೆಳಗೆ ನೀಡಲಾಗಿದೆ.
- ಪ್ರೋಟೋಕಾಲ್ಗಳು:
- ಹ್ಯಾಂಡ್ಶೇಕ್: ಪೂರ್ಣ (ಕ್ಲೈಂಟ್/ಸರ್ವರ್), ಶಾರ್ಟ್ (ಪಿಎಸ್ಕೆ), ಪರಸ್ಪರ (ಎಂಟಿಎಲ್ಎಸ್).
- ALPN (RFC 7301) - ಅಪ್ಲಿಕೇಶನ್ ಲೇಯರ್ ಪ್ರೋಟೋಕಾಲ್ ನೆಗೋಷಿಯೇಶನ್ (HTTP/2, HTTP/1.1).
- SNI (RFC 6066) - ಹೆಸರಿನ ಸೂಚನೆ ಸರ್ವರ್ ಬಹು-ಬಾಡಿಗೆದಾರರ ನಿಯೋಜನೆಗಳಿಗಾಗಿ.
- ಕೀಅಪ್ಡೇಟ್ (RFC 8446 §4.6.3) – ಟ್ರಾಫಿಕ್ ಎನ್ಕ್ರಿಪ್ಶನ್ ಕೀಗಳನ್ನು ನವೀಕರಿಸಲಾಗುತ್ತಿದೆ.
- ಸೈಫರ್ ಸೂಟ್ಗಳು: TLS_KUZNYECHIK_MGM_STREEBOG_256_L/S.
- ECDHE: ಕ್ರಿಪ್ಟೊಪ್ರೊ-ಎ (256-ಬಿಟ್), ಕ್ರಿಪ್ಟೊಪ್ರೊ-ಬಿ (512-ಬಿಟ್)
- ಪ್ರತಿ-ದಾಖಲೆಯ TLSTREE ಮರು-ಕೀಯಿಂಗ್ — ಪ್ರತಿ TLS ದಾಖಲೆಗೆ ಎನ್ಕ್ರಿಪ್ಶನ್ ಕೀಲಿಯನ್ನು ಬದಲಾಯಿಸುವುದು.
- ಹ್ಯಾಂಡ್ಶೇಕ್ಗಳು ಮತ್ತು ದಾಖಲೆಗಳ ವಿಘಟನೆ ಮತ್ತು ಮರು ಜೋಡಣೆ (RFC 8446 §5.1).
- ಅಧಿವೇಶನ ಪುನರಾರಂಭ: NewSessionTicket ಮೂಲಕ PSK (PskStore ಇನ್-ಮೆಮೊರಿ, ಏಕ-ಬಳಕೆ).
- OCSP ಸ್ಟೇಪ್ಲಿಂಗ್: ಸರ್ವರ್ ಪ್ರಮಾಣಪತ್ರಕ್ಕೆ OCSP ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಸೇರಿಸುತ್ತದೆ.
- ಹ್ಯಾಂಡ್ಶೇಕ್ ನಂತರದ ಸಂದೇಶಗಳು: NewSessionTicket (PSK ಗಾಗಿ ಉಳಿಸಿ).
- ಕ್ರಿಪ್ಟೋಗ್ರಫಿ:
- ಪ್ರಮುಖ ವೇಳಾಪಟ್ಟಿ: HKDF-ಸ್ಟ್ರೀಬಾಗ್ (RFC 5869) TLS 1.3 ಗಿಂತ (RFC 8446 §7.1).
- ದಾಖಲೆ ರಕ್ಷಣೆ: RFC 8446 §5.3 ಪ್ರಕಾರ ನಾನ್ಸ್ನೊಂದಿಗೆ MGM-AEAD (ಕುಜ್ನಿಯೆಚಿಕ್).
- ಬಳಕೆಯ ನಂತರ ಅಲ್ಪಕಾಲಿಕ ಕೀಗಳನ್ನು ಅಳಿಸಲಾಗುತ್ತದೆ.
- ಪ್ರಮಾಣಪತ್ರಗಳು:
- X.509v3 ಪಾರ್ಸಿಂಗ್ (GOST R 34.10-2012) — ಅಂತರ್ನಿರ್ಮಿತ DER ಪಾರ್ಸರ್.
- ಮೌಲ್ಯೀಕರಣ ಸರಪಳಿ: ಸಹಿಗಳು, DN (ನೀಡುವವರು → ವಿಷಯ), ಮೂಲ ನಿರ್ಬಂಧಗಳು, ಕೀ ಬಳಕೆ, ವಿಸ್ತೃತ ಕೀ * ಬಳಕೆ (serverAuth / clientAuth), pathLen.
- ಹೋಸ್ಟ್ಹೆಸರು ಪರಿಶೀಲನೆ: dNSName + iPAddress (RFC 6125).
- OCSP ಪ್ರತಿಕ್ರಿಯೆಗಳ ಪರಿಶೀಲನೆ (RFC 6960).
4.ಟ್ರೇನ್ಸ್ಪೋರ್ಟ್:
- TlsTransport - ಇಂಟರ್ಫೇಸ್.
- InMemoryTlsTransport - ಪರೀಕ್ಷೆಗಳು ಮತ್ತು ಏಕ-ಪ್ರಕ್ರಿಯೆಯ ಸನ್ನಿವೇಶಗಳಿಗಾಗಿ (ಇನ್-ಮೆಮೊರಿ ಕ್ಯೂ).
- SocketTlsTransport — java.net.Socket ನಲ್ಲಿ I/O ಅನ್ನು ನಿರ್ಬಂಧಿಸುವುದು.
- ChannelTlsTransport - NIO ಸಾಕೆಟ್ಚಾನೆಲ್-ಆಧಾರಿತ ಸಾರಿಗೆ (ನಿರ್ಬಂಧಿಸುವ ಮೋಡ್, ಅಡ್ಡಿಪಡಿಸಬಹುದಾದ).
- ಹಂತ ಹಂತವಾಗಿ ಹಸ್ತಲಾಘವ:
- TlsHandshakeEngine ಹ್ಯಾಂಡ್ಶೇಕ್ಗಾಗಿ ಒಂದು ಸ್ಟೇಟ್ ಮೆಷಿನ್ ಆಗಿದೆ (I/O ನಿಂದ ಬೇರ್ಪಡಿಸಲಾಗಿದೆ). ಇದು TlsSession ಅನ್ನು ಆರ್ಕೆಸ್ಟ್ರೇಟರ್ ಆಗಿ ಬಳಸುತ್ತದೆ ಮತ್ತು JSSE (SSLEngine) ನೊಂದಿಗೆ ಏಕೀಕರಣಕ್ಕೆ ಸೂಕ್ತವಾಗಿದೆ.
- ಬೈಟ್ಬಫರ್ API:
- TlsRecord.protect/unprotect — NIO ಜೊತೆ ಶೂನ್ಯ-ನಕಲು ಏಕೀಕರಣಕ್ಕಾಗಿ ಬೈಟ್ಬಫರ್ ಓವರ್ಲೋಡ್ಗಳು. ಕೀಗಳನ್ನು ಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ:
- Pkcs12Loader — PBKDF2-HMAC-SHA256 + AES-256-CBC ಯೊಂದಿಗೆ PFX (PKCS#12) ಅನ್ನು ಓದುವುದು.
- ಅಧಿವೇಶನದ ಅಂತ್ಯ:
- close_notify - ಪ್ರೋಟೋಕಾಲ್ ಪ್ರಕಾರ ಸರಿಯಾದ ಮುಚ್ಚುವಿಕೆ.
- ಮುಚ್ಚುವಾಗ ಅಥವಾ ತಪ್ಪು ಮಾಡುವಾಗ ಕೀ ಮೆಟೀರಿಯಲ್ ಅನ್ನು ಒರೆಸುವುದು.
- ನಿರ್ವಹಣೆ ಎಚ್ಚರಿಕೆ: ಮಾರಕ - ತಕ್ಷಣದ ಮುಚ್ಚುವಿಕೆ + ಅಳಿಸುವಿಕೆ.
- ಅನುಷ್ಠಾನ ಭದ್ರತೆ:
- verify_data ಮತ್ತು PSK ಬೈಂಡರ್ಗಳಿಗೆ ಸ್ಥಿರ-ಸಮಯದ ಹೋಲಿಕೆಗಳು (ಸಮಯದ ದಾಳಿಗಳ ವಿರುದ್ಧ ರಕ್ಷಣೆ)
- ಕೀ ಮೆಟೀರಿಯಲ್ ಅನ್ನು ಅಳಿಸುವುದು: ಎಲ್ಲಾ ವಸ್ತುಗಳ ಮೇಲೆ destroy() ಕೀಲಿಗಳನ್ನು ಬಳಸಿ (TlsKeySchedule, TlsTrafficKeys, TlsRecord, HandshakeContext), ಮುಚ್ಚುವಾಗ, ಮಾರಕ ಎಚ್ಚರಿಕೆ, ಹ್ಯಾಂಡ್ಶೇಕ್ನಲ್ಲಿ ವಿನಾಯಿತಿ
- DoS ರಕ್ಷಣೆ: ಪ್ರಮಾಣಪತ್ರ ಸರಪಳಿಯ ಉದ್ದ (10), ಹ್ಯಾಂಡ್ಶೇಕ್ ನಂತರದ ಸಂದೇಶಗಳು, ದಾಖಲೆ ಗಾತ್ರದ ಮೇಲಿನ ಮಿತಿಗಳು.
- MGM nonce: ಮೊದಲ ಬೈಟ್ನ MSB ಅನ್ನು ICN ಗಾಗಿ ತೆರವುಗೊಳಿಸಲಾಗಿದೆ (RFC 9058 §3, RFC 9367 §3.3).
- ಹ್ಯಾಂಡ್ಶೇಕ್ ಪೂರ್ಣಗೊಂಡ ನಂತರ ECDHE ಖಾಸಗಿ ಕೀ ಮತ್ತು ಹ್ಯಾಂಡ್ಶೇಕ್ ಪ್ರತಿಲೇಖನವನ್ನು ನಾಶಪಡಿಸಲಾಗುತ್ತದೆ.
- ಬಳಕೆಯ ನಂತರ HMAC ಕೀ ಮೆಟೀರಿಯಲ್ ಅನ್ನು ಅಳಿಸಲಾಗುತ್ತದೆ (HkdfStreebog, KdfGostR3411_2012_256).
- ಮಿತಿಗಳು:
- ಪುನರಾರಂಭ PSK ಮಾತ್ರ (0-RTT ಮತ್ತು ಬಾಹ್ಯ PSK ಬೆಂಬಲಿತವಾಗಿಲ್ಲ).
- ಕೇವಲ psk_dhe_ke (ECDHE ಇಲ್ಲದ ಶುದ್ಧ PSK ಬೆಂಬಲಿತವಾಗಿಲ್ಲ).
- HelloRetryRequest (RFC 8446 §4.1.4) ಬೆಂಬಲಿತವಾಗಿಲ್ಲ - ಹೆಸರಿಸಲಾದ ಒಂದು ಗುಂಪನ್ನು ಮಾತ್ರ ಬಳಸಲಾಗುತ್ತದೆ (ಡೀಫಾಲ್ಟ್ ಆಗಿ GC256A).
- GOST ಮಾತ್ರ (GOST ಅಲ್ಲದ ಸೈಫರ್ ಸೂಟ್ಗಳು ಬೆಂಬಲಿತವಾಗಿಲ್ಲ).
- ಪರೀಕ್ಷೆ:
- ಗ್ರಂಥಾಲಯವು RFC 9367 ಅನುಬಂಧ A.1 (L ಮತ್ತು S ರೂಪಾಂತರಗಳು) ನಿಂದ ತಿಳಿದಿರುವ ಉತ್ತರ ಪರೀಕ್ಷೆಗಳನ್ನು ಒಳಗೊಂಡಿದೆ - ಪೂರ್ಣ ಕೀ ವೇಳಾಪಟ್ಟಿ, TLSTREE, AEAD, ಮತ್ತು ECDHE. ಇದು KAT ಪರೀಕ್ಷೆಗಳ ಪೂರ್ಣ ಶ್ರೇಣಿಯಲ್ಲಿಯೂ ಉತ್ತೀರ್ಣವಾಗುತ್ತದೆ.
- ನಿಜವಾದ TCP ಸಾಕೆಟ್ಗಳ ಮೂಲಕ 4 ಏಕೀಕರಣ ಪರೀಕ್ಷೆಗಳು (ಸ್ವಯಂ-ಇಂಟರ್ಆಪ್).
- ಪಾರ್ಸರ್ಗಳಿಗಾಗಿ ಫಜ್ ಪರೀಕ್ಷೆಗಳು: TlsMessageParser (8 ವಿಧಾನಗಳು), TlsDerParser (3 ವಿಧಾನಗಳು), TlsOcspVerifier (1 ವಿಧಾನ), ಸುರಕ್ಷತೆಯನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಮತ್ತು ಪಾರ್ಸರ್ಗಳ ಮೇಲಿನ ದಾಳಿ ವೆಕ್ಟರ್ ಅನ್ನು ಕಡಿಮೆ ಮಾಡಲು.
- ವಾಸ್ತುಶಿಲ್ಪದ ಪರಿಹಾರಗಳು:
- TlsHandshakeEngine - I/O ನಿಂದ ಸಂಪರ್ಕ ಕಡಿತಗೊಂಡ ರಾಜ್ಯ ಯಂತ್ರ (ಭವಿಷ್ಯದ JSSE ಮಾಡ್ಯೂಲ್ಗಾಗಿ).
- NIO/JSSE ಗಾಗಿ TlsRecord.protect/unprotect ನ ಬೈಟ್ಬಫರ್ ಓವರ್ಲೋಡ್ಗಳು.
- TLSTREE ಸಂಗ್ರಹ (TlsTreeCache) - ಬದಲಾದ ಹಂತಗಳ ಮರು ಲೆಕ್ಕಾಚಾರ (RFC 9367).
- InMemoryTlsTransport.Pair ಎಂಬುದು ಪರೀಕ್ಷೆಗಳು ಮತ್ತು ಏಕ-ಪ್ರಕ್ರಿಯೆ ಸಂವಹನಕ್ಕಾಗಿ ದ್ವಿಮುಖ ಜೋಡಿಯಾಗಿದೆ.
ಗ್ರಂಥಾಲಯವನ್ನು ಉಚಿತ ಪರವಾನಗಿಯಡಿಯಲ್ಲಿ ವಿತರಿಸಲಾಗಿದೆ.
ಮೂಲ: linux.org.ru
