Išduodate atskirą sertifikatą kiekvienam nešiojamajam kompiuteriui, todėl manote, kad VPN gali juos atskirti. Negali. Kliento sertifikatas įrodo, kad prisijungiantysis turi atitinkamą privatųjį raktą, o nukopijuotas profilis jį taip pat turi.

Sertifikatas kiekvienam įrenginiui vis dar gera idėja. Jis tiesiog atlieka kitą darbą, nei dauguma žmonių tikisi.

Ką kliento sertifikatas iš tikrųjų įrodo

Rankos paspaudimo metu klientas pasirašo privačiuoju raktu, atitinkančiu jo sertifikatą, o serveris patikrina tą parašą pagal CA, kuriuo pasitiki. Niekas tame apsikeitime neaprašo mašinos. Bet kuris įrenginys, turintis ir sertifikatą, ir raktą, sukuria identišką parašą, todėl profilis, nukopijuotas į antrą nešiojamąjį kompiuterį atrodo lygiai taip pat kaip originalas. Sertifikatas įvardija tapatybę; jis neįvardija aparatūros.

Unikalumas kiekvienam įrenginiui vis dar vertingas, nes daro atšaukimą tiksliu. Tai administracinė savybė, o ne techninė spyna.

Trys rakto saugojimo lygiai

Pirmasis lygis yra rakto failas diske. Jis yra nešiojamas pagal konstrukciją, ir ten gyvena dauguma OpenVPN profilių.

Antrasis lygis yra raktas, kurį operacinė sistema pažymi kaip neeksportuojamą. Windows gali sukurti įrenginio raktą savo sertifikatų saugykloje ir atsisakyti įprasto eksporto, o tai sustabdo atsitiktinį kopijavimą. Jis nėra pagrįstas aparatūra, ir turint pakankamai prieigos prie mašinos tokius raktus galima atkurti, todėl jis didina pastangas, o ne stato sieną.

Trečiasis lygis yra raktas, sukurtas saugos aparatūros viduje: TPM, išmanioji kortelė, SIM arba PIV žetonas. Tie moduliai neturi grandinės, kad galėtų eksportuoti savo sukurtą raktą, o pasirašymas vyksta modulio viduje. Raktas niekada netampa failu, kurį kas nors galėtų nukopijuoti.

Where the key livesCopyableWhat it buys you
Key file inside the profileTriviallyRevocation granularity, nothing more
OS non-exportable key storeHard, not impossibleStops casual profile sharing
TPM or PIV tokenNoBinding the server can rely on

Ta lentelė yra visas argumentas trijose eilutėse.

Ką easy-rsa gali ir ko negali

Išduoti sertifikatus kiekvienam įrenginiui paprasta. Sukurkite atskirą bendrąjį vardą kiekvienam įrenginiui prie tos pačios CA, pavyzdžiui ./easyrsa build-client-full laptop-a nopass, ir pakartokite kiekvienam įrenginiui. Užsirašykite, kuris bendrasis vardas priklauso kuriam asmeniui ir mašinai.

Atšaukimas taip pat tiesioginis: ./easyrsa revoke laptop-a, iš naujo sugeneruokite CRL su ./easyrsa gen-crl ir įsitikinkite, kad serveris tikrai jį skaito per crl-verify.

Ko CA negali, tai patikrinti, kur privatusis raktas yra vėliau. Jei sugeneruojate raktą CA hoste ir nukopijuojate jį į įrenginį, išdavimo metu sukūrėte antrą kopiją. Neeksportuojamas raktas turi būti sugeneruotas įrenginyje arba importuotas į aparatūrą, kuri jo neišleis.

Kontrolė, kuri išlieka po profilio nukopijavimo

Tarkime, kad profilį galima nukopijuoti, ir projektuokite atsižvelgdami į tai. Susiekite paskyrą su antruoju veiksniu, kad vien sertifikato nepakaktų. Suteikite kiekvienam įrenginiui savo politiką, kad vienos tapatybės pasiekiamumas liktų ribotas. Ir stebėkite tą patį bendrąjį vardą, besijungiantį iš dviejų adresų vienu metu, nes taip bendras profilis atrodo ryšio žurnale.

Greitas ir dokumentuotas atšaukimas yra kontrolė, kuri veikia net po to, kai kopija jau padaryta. Visa kita yra prevencija.

Teiginys, kuriuo serveris iš tikrųjų gali remtis

Unikalumas ateina iš CA. Susiejimas su įrenginiu ateina iš rakto saugojimo. Tik aparatūra, kuri negali eksportuoti savo rakto, paverčia vieną sertifikatą vienam įrenginiui teiginiu, kurį serveris įgyvendina, o ne politika, su kuria visi sutinka.

Susiję straipsniai