AES-GCM அல்லது ChaCha20-Poly1305: VPN தரவு சைஃபரைத் தேர்ந்தெடுப்பது
வன்பொருள் முடுக்கம் உள்ள சேவையகங்களில் AES-GCM வெளிப்படையான தேர்வு, மேலும் ChaCha20-Poly1305 அது இல்லாமலும் நன்றாக இயங்கும். உங்கள் நெறிமுறை உங்களுக்காக முடிவெடுக்கலாம்.
இரு பெயர்களும் AEAD கட்டமைப்புகள், இரண்டும் தரப்படுத்தப்பட்டவை, மேலும் தற்போதைய x86 சேவையகத்தில் எதுவும் கண்ணுக்குத் தெரியும் முயற்சியின்றி ஒரு கிகாபிட் இணைப்பை நிரப்பும். அந்த சேவையகத்தை விட்டு வெளியேறும்போதே தேர்வு தன்னிச்சையாக இருப்பது நிற்கிறது: மலிவான ரவுட்டர்கள், பழைய தொலைபேசிகள் மற்றும் மெய்நிகர் சாதனங்களில் பெரும்பாலும் AES முடுக்கம் இல்லை, அங்கு வேறுபாடு பெரியது. எனவே ஒப்பீடு எந்த சைஃபர் வேகமானது என்பதல்ல, எந்த சைஃபர் இந்த முனைப் புள்ளிக் கணத்தில் நன்றாக இயங்குகிறது, நெறிமுறை தேர்வையே வழங்குகிறதா என்பதே.
ஒரே வேலை, வெவ்வேறு கருக்கள்
இரு கட்டமைப்புகளும் ஒரே பாதையில் ரகசியத்தன்மையையும் ஒருமைப்பாட்டையும் தருகின்றன, தொடர்புடைய தரவை அங்கீகரிக்கின்றன, அதனால்தான் VPN நெறிமுறைகள் அவற்றை தரவு சேனலுக்குப் பயன்படுத்துகின்றன. வேறுபாடு உள்ளே உள்ளது: AES-GCM என்பது கவுண்டர் பயன்முறையில் AES தொகுதி சைஃபர், GF(2^128) மீது பல்லுறுப்பு அங்கீகாரியுடன், ஆனால் ChaCha20-Poly1305 என்பது 256 பிட் சாவியுடன் கூடிய ஓட்ட சைஃபர், தனி ஒரு-முறை அங்கீகாரியுடன்.
செயல்பாட்டில் முக்கியமானது பொதுவானது: இரண்டும் nonce மீண்டும் பயன்படுத்தப்படும்போது பேரழிவாகத் தோல்வியடையும், இரண்டுக்கும் ஒவ்வொரு சாவிக்கும் nonce இடைவெளி நிர்வாகம் தேவை, எதுவும் தவறானதை அங்கீகரிக்கும் கூட்டாளியைச் சரிசெய்யாது. AES-256-GCM என்னும் சுயவிவரம் CHACHA20-POLY1305 என்பதைவிட பாதுகாப்பானது அல்ல; செயலாக்கம் சரியாக இருந்தால் இரண்டும் வலிமையானவை.
AES-GCM வெல்லும் இடம்
பெரும்பாலான நவீன CPU களில் AES க்கு அர்ப்பணிக்கப்பட்ட கட்டளைகள் உள்ளன: x86 இல் AES-NI, ARMv8 இல் கிரிப்டோ நீட்டிப்புகள், சமீபத்திய POWER மற்றும் RISC-V வடிவமைப்புகளில் இணையானவை. அவை இருந்தால் GCM ஒவ்வொரு சுழற்சி வகுப்புக்கும் பல தொகுதிகளை இணையாக இயக்கும், மென்பொருள் செயலாக்கம் பொருட்டல்ல. இது சேவையகங்கள், மேசைக் கணினிகள் மற்றும் தற்போதைய தொலைபேசிகளுக்கு வழக்கமான நிலை, அதனால்தான் தரவு மையத்தில் AES பயன்படுத்துங்கள் என்ற ஆலோசனை நியாயமான இயல்புநிலை.
பிரச்சனை இரண்டாம் நிலை நிலை. அர்ப்பணிக்கப்பட்ட கட்டளைகள் இல்லாமல் மென்பொருளில் AES மெதுவானது, அட்டவணை சார்ந்த மென்பொருள் செயலாக்கங்களே cache நேரப் பிரச்சனைகளின் நீண்ட வரலாறு கொண்டவை. ஹோஸ்ட் விருந்தினருக்கு AES கொடிகளைக் காட்டாத மெய்நிகர் இயந்திரத்தில் இயங்கும் VPN செறிவூட்டி இதுவே, ஹோஸ்ட் CPU வில் அம்சம் இருப்பதால் இது எளிதில் தவறவிடப்படுகிறது.
CPU எதை ஆதரிக்கிறது என்பதல்ல, செயல்முறை உண்மையில் எதைப் பார்க்கிறது என்பதைச் சரிபார்க்கவும்: Linux இல் grep -o aes /proc/cpuinfo | head -1, அல்லது ஹைப்பர்வைசரின் CPU மாதிரியில் இணையான அம்சக் கொடி.
ChaCha20-Poly1305 வெல்லும் இடம்
ChaCha20 எடுத்துச் செல்லக்கூடிய மென்பொருளில் வேகமானது, ஏனெனில் அது கூட்டல், சுழற்றல் மற்றும் XOR மட்டுமே பயன்படுத்துகிறது, அதன் செயலாக்கங்கள் வடிவமைப்பால் ரகசியத்தைச் சார்ந்த அட்டவணைத் தேடலைத் தவிர்க்கின்றன. AES முடுக்கம் இல்லாத சாதனத்தில் அது உண்மையான நன்மை, அதனால்தான் WireGuard அதைத் தேர்ந்தெடுத்தது: WireGuard நெறிமுறையின் விளக்கம் ChaCha20-Poly1305 ஐ மாற்று இல்லாமல் அதன் தரவு சைஃபராகப் பட்டியலிடுகிறது.
அந்த ஒரே தேர்வு பயனுள்ள ஒன்றைச் சொல்கிறது: AES முடுக்கப்பட்ட வன்பொருளில் WireGuard AES-GCM உடன் ஒப்பிடும்போது சிறிது செயல்திறனை விட்டுக்கொடுக்கிறது, தொலைபேசிகள், வீட்டு ரவுட்டர்கள் மற்றும் கொள்கலன் ஹோஸ்ட்களில் முன்னறிவிக்கக்கூடிய நடத்தைக்கு ஈடாக எழுத்தாளர்கள் அதை ஏற்றுக்கொண்டனர். உங்கள் கடற்படை பெரும்பாலும் சிறிய ARM பெட்டிகள் என்றால் அந்தப் பரிமாற்றம் உங்களுக்குச் சாதகம்.
எதிர் நிலை பரபரப்பான x86 செறிவூட்டி, அங்கு AES-NI உடன் AES-GCM வேகமானதும் நன்கு ஆதரிக்கப்பட்டதுமான பாதை, ChaCha20 ஒவ்வொரு கிகாபிட்டுக்கும் அளவிடக்கூடிய CPU செலவாகும். எந்தக் கட்டமைப்பும் பலவீனம் அல்ல; கேள்வி உங்கள் வன்பொருள் எதை மலிவாக இயக்குகிறது என்பதே.
உங்கள் நெறிமுறை உண்மையில் தேர்ந்தெடுக்க அனுமதிப்பது
| Protocol | What you get |
|---|---|
| WireGuard | ChaCha20-Poly1305 only; no negotiation |
| OpenVPN 2.5 and later | Data channel negotiated from data-ciphers: AES-256-GCM, AES-128-GCM, CHACHA20-POLY1305 |
| IPsec / IKEv2 | AES-GCM as a combined-mode transform, or ChaCha20-Poly1305 where both peers implement it |
| OpenVPN control channel | TLS decides; TLS 1.3 offers AES-GCM and ChaCha20-Poly1305 suites |
OpenVPN இல் உள்ள பிரிவைக் கவனியுங்கள்: கட்டுப்பாட்டு சேனலும் தரவு சேனலும் தனித்தனியாகப் பேச்சுவார்த்தை நடத்தப்படுகின்றன, எனவே TLS க்கு நீங்கள் காணும் தொகுப்பு உங்கள் சுமையைப் பாதுகாக்கும் சைஃபர் பற்றி எதுவும் சொல்லாது. அமர்வு சுருக்கம் இரண்டையும் தெரிவிக்கிறது, இரண்டில் ஒன்றை மட்டும் படிப்பது குழப்பத்தின் வழக்கமான மூலம்.
OpenVPN இல் தரவு சேனலின் சைஃபர் இரு முனைகளிலும் உள்ள data-ciphers பட்டியலிலிருந்து வருகிறது. சேவையகத்தின் பட்டியலும் வாடிக்கையாளரின் பட்டியலும் வெட்டிக்கொள்ளவில்லை என்றால் இணைப்பு data-ciphers-fallback அனுமதிப்பதற்குத் திரும்பும் அல்லது முற்றிலும் தோல்வியடையும், அந்தத் தோல்வி பொதுவாக தவறான அடுக்கின் மீது சுமத்தப்படுகிறது. இரு பக்கமும் ஒரே பட்டியலை வைக்கவும், பின்னர் பட்டியலின் வரிசை மதிக்கப்பட்டது எனக் கருதுவதற்குப் பதிலாக பேச்சுவார்த்தை முடிவை பதிவில் உறுதிப்படுத்தவும்.
வரிசைப்படுத்தல் பற்றிய மூன்று உண்மைகளிலிருந்து முடிவெடுக்கவும்
முதலில், முனைப் புள்ளிகளில் AES முடுக்கம் உள்ளதா? ஒவ்வொரு கூட்டாளிக்கும் இருந்தால் AES-GCM மலிவான தேர்வு மற்றும் பெரும்பாலான பராமரிக்கப்படும் கட்டமைப்புகளில் இயல்புநிலை. கணிசமான பங்கு சிறிய ரவுட்டர்கள் அல்லது பழைய தொலைபேசிகள் என்றால், ChaCha20-Poly1305 கடற்படையின் வால் திறன் வரம்பாக மாறுவதைத் தடுக்கிறது.
இரண்டாவதாக, நெறிமுறை தேர்வை வழங்குகிறதா? WireGuard உடன் முடிவு உங்களுக்காக எடுக்கப்பட்டுவிட்டது, பயனுள்ள வேலை என்பது சுற்றியுள்ள கருவிகள் அமைதியாக வேறொன்றை வைக்கவில்லை என்பதை உறுதிப்படுத்துவதே. OpenVPN மற்றும் IPsec உடன் பதில் ஒரு கட்டமைப்பு வரி மற்றும் பதிவு செய்ய வேண்டிய பேச்சுவார்த்தை முடிவு.
மூன்றாவதாக, இரு முனைகளும் ஒப்புக்கொள்ள முடியுமா? ஒரு கூட்டாளி செயல்படுத்தாத சைஃபர் செயல்திறன் முடிவு அல்ல, அது ஒரு தடை. அதனால்தான் கூட்டாளர் பட்டியல் எந்த அளவுகோலையும் விட முக்கியம்: கலப்பு கடற்படைக்கு திறன்களின் வெட்டு தேவை, வேகமான இயந்திரத்தின் விருப்பம் அல்ல.
நீங்கள் அளந்தால் சாதனம், முனைப் புள்ளி மற்றும் சுமையை ஒரே மாதிரி வைத்து ஒரு விஷயத்தை மாற்றவும். வெவ்வேறு பிராந்தியங்களில் உள்ள இரு சேவையகங்களை ஒப்பிடும் சோதனை பாதையை அளக்கிறது, சைஃபரை அல்ல, மடிக்கணினி அளவீடு CPU கொடிகள் மறைக்கப்பட்ட கொள்கலன் ஹோஸ்ட் பற்றி எதுவும் சொல்லாது. ஒப்பிடுங்கள், பின்னர் உண்மையில் எந்த சைஃபர் பேச்சுவார்த்தை செய்யப்பட்டது என்பதை எழுதி வைக்கவும்: அந்தப் பதிவு அளவீட்டை விட மதிப்புமிக்கது.