AES-NI a OpenSSL ko turawa zuwa kernel: wanne kuke bukata?
Raba goyon bayan umarnin CPU daga inda ake sarrafa fakiti: duba bayan fage na crypto, sifar da aka amince da ita da hanyar da ke aiki kafin daidaitawa.
Ana amfani da lakabi biyu kamar su abu ɗaya ne: wanda hardware ya hanzarta da wanda aka tura zuwa kernel. Ɗaya yana bayyana waɗanne umarni ne AES na ɗakin karatu yake aiwatarwa, ɗayan kuma yana bayyana inda ake sarrafa fakiti. VPN na iya samun na farko ba tare da na biyu ba, na biyu ba tare da na farko ba, ko duka biyu a lokaci ɗaya. Duk shawarar da za ka yi kan aiki dole ta fara da ambaton wanne daga cikin biyun kake canzawa da gaske.
Gatura biyu, ba maki ɗaya ba
Gatura ta farko ita ce aiwatarwa: shin ana tura lambar da ke yin AES-256-GCM zuwa sigar da ke amfani da umarnin na musamman na processor, ko zuwa wata hanya mai ɗauka da ke aiwatar da su a matsayin lissafi na yau da kullum. Wannan zaɓi yana cikin ɗakin karatu na crypto kuma ana yin shi lokacin da yake farawa.
Gatura ta biyu ita ce wuri: shin fakitin yana bi ta hanyar canji ta kernel, ko wani daemon a sararin mai amfani yana karantawa daga naɗurar tunnel, yana ɓoye bayanai sannan yana rubutawa baya.
Babu gatura da ke takurawa ɗayan. VPN a sararin mai amfani a kan processor mai umarnin AES na iya amfani da su duk lokaci, kuma hanyar kernel a kan processor marasa su tana komawa ga aiwatarwar software. Lakabi a cikin kayan masu sayarwa ba safai suke nuna wannan bambanci ba, shi ya sa shawarwarin daidaitawa da ake kwafa tsakanin yanayin biyu sukan yi komai ba.
Gatura ta ɗaya: wace lamba ce ke yin ɓoyewa
OpenSSL yana gano halayen processor lokacin farawa kuma yana amfani da sakamakon don zaɓar hanyoyin lamba da aka inganta, kamar yadda takardar iyawar x86 ta bayyana. AES-NI ɗaya ne daga cikin iyawar da aka rubuta a bayan wannan turawa. Babu ɗaya daga cikin waɗannan da ke buƙatar ɗakin karatu ya zama ɓangaren kernel.
Tabbatar halayen na iya gani ga tsari kafin ka ɗauka ana amfani da hanyar sauri. A Linux tushen shine filin flags a /proc/cpuinfo, kuma cikin baƙo yana nuna abin da hypervisor ke bayyanawa ba sunan samfurin naɗurar zahiri ba.
grep -m1 '^flags' /proc/cpuinfo | grep -o '\baes\b'
openssl list -providers -verboseUmarni na biyu yana ambaton masu bayarwa da aka loda a wannan ginin. Ba ya gaya maka wane ɗakin karatu ne sabis ɗin VPN ya haɗa, kuma mai masauki na iya ɗaukar OpenSSL biyu yayin da tsarin da ke gudana yake amfani da ɗaya kawai.
Gatura ta biyu: inda hanyar fakiti ke gudana
Kasancewa cikin kernel yana nufin canjin yana faruwa a cikin injin IPsec na kernel kanta ko cikin direban tunnel a cikin kernel, don haka fakiti ba sa buƙatar tafiya da dawowa ta tsarin sararin mai amfani ga kowane rukuni. Wannan na iya rage kwafi da canjin mahalli, kuma yana iya watsa aikin a kan cores yadda daemon mai zare ɗaya ba zai iya ba. Yana kuma motsa ƙididdiga da alamun da za ka karanta lokacin da kwararar ta ragu, domin aikin yanzu yana faruwa a wancan gefen iyakar da ba ka sarrafa. Ka ɗauke shi a matsayin kuɗin gyara kuskure, ba kawai shawarar aiki ba.
Ba ya ƙirƙirar goyon bayan umarni, ba ya saita sifa, kuma ba ya sa hanyar da take akwai ta yi aiki.
Virtualization yana ƙara murɗawa a wannan gatura kuma. Ana iya ba baƙo samfurin processor da aka rufe wanda ke ɓoye halayen da mai masauki yake da su, kuma baƙon da ke ciki na iya gani kaɗan. Karanta kallon iyawa daga cikin muhallin da VPN ke gudana da gaske, ba daga console na hypervisor ba.
Abin da kowanne zaɓi ke saya, da abin da ba zai iya ba
Tambaya mai amfani ita ce inda lokaci ke tafiya. Idan zare ɗaya mai aiki, kwafin buffer akai-akai ko kiran tsarin ga kowane fakiti suna iyakance kwarara, motsa canjin zuwa hanyar da ke kawar da waɗannan kuɗin na iya taimakawa, muddin kernel ya aiwatar da canjin da kake buƙata.
Idan iyakar ita ce hanyar sama mai cunkoso, hanya mai asara, dogon lokacin tafiya da dawowa, sabis ɗin manufa mai cikawa ko zare da aka lika a core ɗaya, wuri ba ya canza wani abu mai muhimmanci. Haka kuma ga zaɓin umarni: AES a kan hardware na musamman ba zai iya gyara hanyar da ta ɓace ba kuma ba zai taimaka ba idan tunnel ɗin ba ya aiki saboda warware suna yana kasawa.
Inda duka biyun suka shafi, suna haɗuwa. Hanyar kernel na iya amfani da wannan turawa ta matakin umarni cikin API na crypto na kernel, kuma hanyar sararin mai amfani da ɗakin karatu da aka zaɓa da kyau tana riga tana amfani da ita. Shawarar ba ita ce wanne ya fi sauri a zahiri ba; ita ce ga wane kuɗi kake da hujja.
Rubuta gaskiyoyi huɗu kafin ka canza komai
Rubuta binary na sabis ɗin da ɗakin karatu na crypto da yake haɗawa da shi, domin su ne ke yanke gatura ta ɗaya. Sannan rubuta kariyar bayanan da aka amince da ita, domin sifa ba tare da hanyar umarni ta musamman ba tana ɗaukar kanta daban da wadda take da ita, kuma ɓangarorin biyu ne ke zaɓar saitin.
Bayan haka, kallon iyawa daga cikin muhallin da ke gudana, kuma a ƙarshe hanyar fakiti mai aiki tare da hujja cewa yanayin da kake tsammanin an kunna shi da gaske haka ne. Module da aka loda ba hujja ba ce cewa profile yana amfani da shi, kuma layin daidaitawa ba hujja ba ce cewa kernel ya karɓe shi.
Canza abu ɗaya, sannan ka kwatanta da aikin da ya daidaita da irin wannan ƙarshen maki da irin wannan alkiblar canja wuri. Daɗawar sauri da ba ka auna ba ta fi ƙarancin daraja fiye da rubutu da ke cewa ba a taɓa yin shakka kan bayan fage ba.