AES-GCM ko ChaCha20-Poly1305: zaɓar sirrin bayanan VPN
AES-GCM shine zaɓi bayyananne akan sabar da ke da haɓakar kayan masarufi, kuma ChaCha20-Poly1305 shine wanda ke aiki da kyau ba tare da shi ba. Wataƙila ka idarka za ta yanke shawara a madadinka.
Dukkan sunayen biyu gine-ginen AEAD ne, dukansu an daidaita su, kuma a kan sabar x86 ta yau kowane ɗayansu zai cika hanyar gigabit ba tare da wahala da ake gani ba. Zaɓin yana daina zama na son rai lokacin da ka bar wannan sabar: masu saukin ragi, tsofaffin wayoyi da na'urorin kama-da-wane galibi ba su da haɓakar AES, kuma a can bambancin yana da girma. Don haka kwatancen ba shine wane sirri ya fi sauri ba, amma wane sirri ke aiki da kyau a kan wannan rukunin ƙarshen wurare, kuma ko ka'idar tana bayar da zaɓi kwata-kwata.
Aiki ɗaya, tsakiya daban-daban
Dukkan gine-ginen biyu suna ba da sirri da aminci a cikin tafiya ɗaya kuma suna tabbatar da bayanan da ke da alaƙa, shi ya sa ka'idodin VPN ke amfani da su don tashar bayanai. Bambancin yana ciki: AES-GCM shine sirrin toshe na AES a yanayin ƙididdigewa tare da mai tabbatarwa na polynomial a kan GF(2^128), yayin da ChaCha20-Poly1305 shine sirrin rafi mai maɓalli na 256 bit da wani mai tabbatarwa na lokaci ɗaya daban.
Abin da ke da muhimmanci a aiki na gama gari ne: dukansu suna gazawa sosai idan an sake amfani da nonce, dukansu suna buƙatar kula da sararin nonce ga kowane maɓalli, kuma babu wanda ke gyara abokin da ke tabbatar da abin da bai dace ba. Bayanin da ya ce AES-256-GCM bai fi na da ya ce CHACHA20-POLY1305 tsaro ba; dukansu suna da ƙarfi idan aiwatarwar daidai ce.
Inda AES-GCM ke cin nasara
AES yana da umarni na musamman a yawancin CPU na zamani: AES-NI a kan x86, faɗaɗawar crypto a kan ARMv8 da makamantansu a sabbin tsare-tsaren POWER da RISC-V. Idan waɗannan suna nan, GCM yana gudanar da tubalan da yawa a lokaci ɗaya ga kowane aji na zagaye kuma aiwatarwar software ba ta da muhimmanci. Wannan shine yanayin da aka saba ga sabar, kwamfutocin tebur da wayoyin yau, kuma shi ya sa shawarar amfani da AES ta zama ingantaccen zaɓi na asali a cibiyar bayanai.
Matsalar ita ce yanayi na matsayi na biyu. Ba tare da umarni na musamman ba AES a cikin software yana jinkiri, kuma aiwatarwar software da ake jagoranta da tebura sune waɗanda ke da dogon tarihin matsalolin lokacin cache. Mai tattara VPN a cikin na'ura kama-da-wane wadda mai masaukinta ba ya nuna tutocin AES ga baƙo shine daidai wannan yanayi, kuma ana sauƙin manta da shi saboda CPU na mai masaukin tana da fasalin.
Duba abin da tsari ke gani da gaske, ba abin da CPU ke tallafawa ba: grep -o aes /proc/cpuinfo | head -1 a Linux, ko tutar fasalin da ta dace a cikin samfurin CPU na hypervisor.
Inda ChaCha20-Poly1305 ke cin nasara
ChaCha20 yana da sauri a cikin software mai ɗaukar nauyi saboda yana amfani da haɗi, juyawa da XOR kawai, kuma aiwatarwarsa tana guje wa binciken tebura da ya dogara da sirri bisa ƙira. A na'ura marar haɓakar AES wannan fa'ida ce ta gaske, kuma shi ya sa WireGuard ya zaɓe shi: bayanin ka'idar WireGuard ya lissafa ChaCha20-Poly1305 a matsayin sirrin bayanansa ba tare da wata hanya ba.
Wannan zaɓi ɗaya yana faɗin wani abu mai amfani: a kan kayan masarufi inda ake haɓaka AES, WireGuard yana barin ɗan ƙarfin wucewa idan aka kwatanta da AES-GCM, kuma marubutansa sun yarda da hakan don samun ɗabi'ar da za a iya tsammani a kan wayoyi, na'urorin gida da masaukai na kwantena. Idan rundunar ku galibi ƙananan akwatunan ARM ne, wannan musayar tana gefenku.
Yanayin akasin haka shine mai tattara x86 mai yawan aiki, inda AES-GCM tare da AES-NI shine hanya mafi sauri kuma mafi kyawun tallafi, kuma inda ChaCha20 ke cin CPU da ake iya aunawa ga kowane gigabit. Babu ɗayan gine-ginen da ke da rauni; tambayar ita ce wanda kayan masarufinku ke aiwatarwa cikin rahusa.
Abin da ka idarku ke ba ku damar zaɓa da gaske
| 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 |
Ku lura da rabuwa a cikin OpenVPN: ana tattaunawa kan tashar sarrafawa da tashar bayanai daban, don haka rukunin da kuke gani ga TLS ba ya faɗin komai game da sirrin da ke kare kayan ku. Taƙaitawar zaman yana bayar da rahoton duka biyu, kuma karanta ɗaya daga cikin biyun shine tushen rikicewa da aka saba.
A cikin OpenVPN sirrin tashar bayanai yana fitowa daga jerin data-ciphers a kowane gefe. Idan jerin sabar da jerin abokin ciniki ba su haɗu ba, haɗin yana komawa ga abin da data-ciphers-fallback ke ba da izini ko kuma ya kasa gaba ɗaya, kuma ana ɗora wannan gazawar a kan layin da bai dace ba. Sanya jerin ɗaya a kowane gefe, sannan tabbatar da sakamakon da aka tattauna a cikin log maimakon ɗauka cewa an kiyaye odar jerin.
Yanke shawara daga gaskiya uku game da turawa
Na farko, shin ƙarshen wuraren suna da haɓakar AES? Idan kowane aboki yana da ita, AES-GCM shine zaɓi mafi rahusa kuma na asali a yawancin tsare-tsaren da ake kula da su. Idan wani yanki mai muhimmanci ƙananan na'urori ne ko tsofaffin wayoyi, ChaCha20-Poly1305 yana hana wutsiyar rundunar zama iyakar ƙarfin.
Na biyu, shin ka'idar tana bayar da zaɓi kwata-kwata? Tare da WireGuard an yanke shawara a madadinku, kuma aikin mai amfani shine tabbatar da cewa kayan aikin da ke kewaye ba sa maye gurbin wani abu a hankali. Tare da OpenVPN da IPsec amsar ita ce layin tsari da sakamakon da aka tattauna wanda za a rubuta.
Na uku, shin ɓangarorin biyu za su iya yarda? Sirrin da wani aboki bai aiwatar ba ba shawara ce ta aiki ba, katsewa ce. Shi ya sa jerin abokai ya fi kowane ma'auni muhimmanci: rundunar gauraye tana buƙatar haɗuwar iyawa, ba son na'urar mafi sauri ba.
Idan kuna aunawa, ku riƙe na'urar, ƙarshen wuri da nauyin daidai kuma ku canza abu ɗaya. Gwajin da ke kwatanta sabar biyu a yankuna daban yana auna hanyar, ba sirrin ba, kuma ma'aunin kwamfutar tafi-da-gidanka ba ya faɗin komai game da mai masaukin kwantena wanda aka rufe tutocin CPU ɗinsa. Kwatanta, sannan rubuta wane sirri aka tattauna da gaske: wannan rikodin ya fi ma'aunin daraja.