Ką iš tikrųjų apsaugo VPN privataus rakto slaptafrazė
Ji užrakina failą diske, o ne veikiantį tunelį ar jūsų paskyros prisijungimą. Sužinokite, ką apima užklausa, ko ne, ir ką daryti nutekėjus.
Užklausą, kuri pasirodo paleidus VPN klientą, lengva neteisingai perskaityti. Tai ne VPN paskyros slaptažodis, ne tunelio slaptažodis, ir jo įvedimas neįrodo, kad ryšys saugus. Ji atrakina vieną išsaugotą privataus rakto atvaizdą, kad klientas galėtų perskaityti rakto medžiagą ir naudoti ją autentifikacijai. Viskas, kas vyksta po to, yra kitas klausimas.
Praktiškai atsakymas sugenda kraštuose: žmonės mano, kad slaptafrazė apsaugo veikiantį tunelį, arba kad jos pakeitimas atšaukia jau nutekėjusio rakto kopiją. Abi prielaidos nepavyksta, ir nepavyksta taip, kad prisijungimo duomenys lieka atviri, o operatorius tiki, kad tai sutvarkyta.
Vienas dialogas, keli skirtingi slaptažodžiai
Privataus rakto slaptafrazė iššifruoja failą. Paskyros slaptažodis jus autentifikuoja paslaugai. PKCS#12 importo slaptažodis iššifruoja paketą, kuriame yra raktas ir jo sertifikatas, ir jis gali būti ne ta pati eilutė kaip paties rakto slaptafrazė. Šios užklausos gali atrodyti beveik vienodai, ir spėjimas, kuris slaptažodis kur priklauso, yra būdas raktams atsidurti įklijuotiems ne tame lauke.
Paties tunelio šifravimas yra ketvirtas dalykas. Duomenų kanalas naudoja sesijos raktus, suderėtus per rankos paspaudimą; privataus rakto slaptafrazė nevaidina jokio vaidmens apsaugant atskirus paketus. Jei kas nors gali perskaityti rakto failą, jis gali bandyti atspėti slaptafrazę neprisijungęs, bet jei gali skaityti paketus, slaptafrazė nesvarbi.
Ką apima šifravimas diske
Šifruotas PEM raktas būna dviejų formų, ir antraštė pasako, kurią turite. Modernioji PKCS#8 forma prasideda -----BEGIN ENCRYPTED PRIVATE KEY-----; senoji PEM forma, vis dar įprasta senesnėse OpenVPN sąrankose, prasideda -----BEGIN RSA PRIVATE KEY----- ir turi Proc-Type: 4,ENCRYPTED bei DEK-Info eilutę tiesiai po ja. Faile saugomas privatus raktas, užšifruotas raktu, išvestu iš jūsų slaptafrazės, paprastai per slaptažodžiu pagrįstą KDF su nurodytu iteracijų skaičiumi arba darbo faktoriumi. OpenSSL pkey dokumentacija apima formatus ir slaptafrazės parinktis, taikomas skaitant.
Iš to kyla dvi pasekmės. Silpną slaptafrazę galima atakuoti neprisijungus tokiu greičiu, kokį leidžia KDF, todėl failo leidimai ir prieiga prie atsarginių kopijų tebėra svarbūs net kai failas užšifruotas. O užpuolikas, gaunantis tik failą be slaptafrazės, turi spėti; tas, kuris gauna failą ir slaptafrazę, turi raktą, lyg jis niekada nebūtų buvęs užšifruotas.
head -3 vpn.key
openssl pkey -in vpn.key -noout -pubout
openssl pkcs12 -in bundle.p12 -info -noout
head -3 rodo antraštę, o sename faile – eilutes Proc-Type ir DEK-Info, įrodančias šifravimą; viena eilutė savaime nėra įrodymas nė viena kryptimi. pkey eilutė prašo slaptafrazės ir spausdina tik viešąją pusę, o tai įrodo, kad failas ir slaptafrazė veikia neatskleidžiant privataus rakto. Nenaudokite -text šiam patikrinimui: ji spausdina privačiuosius komponentus, privateExponent, prime1, prime2 ir likusius, o ši išvestis niekada neturi būti kur nors įklijuota – nei biliete, nei pokalbyje, nei žurnale. PKCS#12 komanda taip pat pasako, ar paketas turi atskirą MAC ar šifravimo slaptažodį, ką verta žinoti prieš perduodant jį kolegai.
Ką ji nustoja saugoti įkėlus raktą
Atrakinimas tam procesui yra vienkryptis įvykis. Klientas paprašo KDF rakto, iššifruoja failą ir laiko privatų raktą atmintyje tiek, kiek jam reikia. Nuo to momento slaptafrazė nieko neapsaugo veikiančioje sesijoje: nei proceso atminties, nei branduolio išliejos, nei derinimo sesijos, prijungtos prie kliento, nei mašinos atsarginės kopijos, padarytos naudojant raktą.
Tai ta pati riba kaip SSH rakto su slaptafraze ar atrakintos slaptažodžių tvarkyklės saugyklos. Ji padidina failo vagystės ramybės būsenoje kainą ir nieko nedaro prieš kenkėjišką programinę įrangą, veikiančią jūsų naudotoju, įgaliotą programą, prašančią kliento pasirašyti, ar administratorių, galintį skaityti atmintį. Traktuokite ją kaip vieną sluoksnį, o ne kaip kontrolę, dėl kurios raktą saugu palikti bet kur.
Kodėl užklausa nuolat grįžta
Klientas, kuris kiekvieno prisijungimo metu vėl klausia, nebūtinai sugedęs. Kai kurie klientai podėliuoja slaptafrazę sesijai, kiti saugo ją OS raktinėje, o dar kiti gali būti nukreipti į pagalbinę programą, kuri ją pateikia, todėl elgsena priklauso nuo kliento ir jo konfigūracijos, o ne nuo rakto failo.
Jei pasikartojanti užklausa yra tikrasis nusiskundimas, prieš šalindami šifravimą iš rakto peržiūrėkite kliento podėliavimo ir autentifikavimo parinktis. Pašalinus slaptafrazę apsaugotas failas tampa paprasto teksto raktu, o prisijungimas nutyla už vienintelės turimos ramybės kontrolės kainą. Geresnis atsakymas paprastai yra palaikoma prisijungimo duomenų saugykla su tais pačiais failo leidimais, kuriuos vis tiek naudotumėte.
Praradimas ir atskleidimas nėra tas pats taisymas
Pamestos slaptafrazės negalima atkurti iš sertifikato. Sertifikatas yra vieša medžiaga, siejanti vardą su raktu; jame nėra kelio atgal į privatų raktą ir jokios užuominos apie slaptafrazę. Praktinės galimybės yra įgaliota rakto atsarginė kopija arba nauja tapatybė, išduota įprastu operatoriaus procesu. Kiekvienas, siūlantis „atkurti“ slaptafrazę, siūlo ją atspėti.
Atskleidimas reikalauja kitokio atsako. To paties rakto pakartotinis šifravimas nauja slaptafraze palieka rakto medžiagą nepakeistą, todėl kitur jau atrakinta kopija vis dar veikia. Taisymas yra panaikinti arba pakeisti prisijungimo duomenis: išduoti naują raktą ir sertifikatą, juos išplatinti ir atsisakyti senojo partnerio pusėje. Kol tai neįvyks, failo slaptažodžio keitimas yra namų tvarkymas, o ne izoliavimas. Laikykite seną failą už atsarginių kopijų ribų tik patvirtinus, kad nauja tapatybė veikia, ir užrašykite, kuris serijos numeris ar piršto atspaudas ją pakeitė.