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 ධජ සැඟවූ බහාලුම් සත්කාරකයක් ගැන කිසිවක් නොකියයි. සංසන්දනය කරන්න, පසුව ඇත්තටම කුමන සයිෆරය සාකච්ඡා වුණා ද යන්න ලියා තබන්න: එම වාර්තාව මිනුමට වඩා වටිනා ය.