Üks sertifikaat seadme kohta ei tee võtit seadmega seotuks
Sertifikaat iga seadme kohta on administraatori valik, mitte seotud seadmega. Selle, kas võti on seadmega seotud, otsustab see, kus privaatvõti asub, alates kopeeritavast failist kuni TPM-ini.
Väljastate igale sülearvutile eraldi sertifikaadi, seega eeldate, et VPN suudab neid eristada. Ei suuda. Kliendisertifikaat tõestab, et see, kes ühendub, omab vastavat privaatvõtit, ja kopeeritud profiilil on see samuti olemas.
Sertifikaat iga seadme kohta on endiselt hea mõte. See lihtsalt teeb teist tööd, kui enamik inimesi ootab.
Mida kliendisertifikaat tegelikult tõestab
Kätlemise ajal allkirjastab klient privaatvõtmega, mis vastab tema sertifikaadile, ja server kontrollib seda allkirja CA vastu, mida ta usaldab. Selles vahetuses ei kirjelda miski masinat. Iga seade, millel on nii sertifikaat kui ka võti, loob identse allkirja, nii et teise sülearvutisse kopeeritud profiil näeb välja täpselt nagu originaal. Sertifikaat nimetab identiteedi; see ei nimeta riistvara.
Unikaalsus seadme kohta tasub endiselt ära, sest see muudab tühistamise täpseks. See on haldusomadus, mitte tehniline lukk.
Kolm võtmehoidmise tasandit
Esimene tasand on võtmefail kettal. See on disaini järgi teisaldatav ja seal elab enamik OpenVPN-i profiile.
Teine tasand on võti, mille operatsioonisüsteem märgib mitteeksporditavaks. Windows saab sertifikaadihoidlas seadmevõtme genereerida ja tavalise ekspordi keelata, mis peatab juhusliku kopeerimise. See ei ole riistvaraga toetatud ja piisava juurdepääsu korral masinale saab selliseid võtmeid taastada, seega suurendab see vaeva, selle asemel et seina ehitada.
Kolmas tasand on võti, mis genereeritakse turvaristvara sees: TPM, nutikaart, SIM või PIV-märgis. Nendel moodulitel puudub skeem, et eksportida nende genereeritud võti, ja allkirjastamine toimub mooduli sees. Võtmest ei saa kunagi faili, mida keegi saaks kopeerida.
| Where the key lives | Copyable | What it buys you |
|---|---|---|
| Key file inside the profile | Trivially | Revocation granularity, nothing more |
| OS non-exportable key store | Hard, not impossible | Stops casual profile sharing |
| TPM or PIV token | No | Binding the server can rely on |
See tabel on kogu argument kolmes reas.
Mida easy-rsa suudab ja mida mitte
Sertifikaatide väljastamine iga seadme kohta on lihtne. Looge iga seadme jaoks eraldi üldnimi sama CA vastu, näiteks ./easyrsa build-client-full laptop-a nopass, ja korrake iga seadme puhul. Pange kirja, milline üldnimi kuulub millisele inimesele ja masinale.
Tühistamine on sama otsene: ./easyrsa revoke laptop-a, genereerige CRL uuesti ./easyrsa gen-crl abil ja veenduge, et server loeb seda tõesti crl-verify kaudu.
Mida CA ei saa teha, on kontrollida, kus privaatvõti hiljem asub. Kui genereerite võtme CA-hostis ja kopeerite selle seadmesse, lõite väljastamisel teise koopia. Mitteeksporditav võti tuleb genereerida seadmes või importida riistvarasse, mis seda välja ei anna.
Juhtnöörid, mis peavad vastu kopeeritud profiilile
Eeldage, et profiili saab kopeerida, ja projekteerige selle järgi. Siduge konto teise faktoriga, et ainult sertifikaadist ei piisaks. Andke igale seadmele oma poliitika, et ühe identiteedi ulatus jääks piiratuks. Ja jälgige sama üldnime, mis ühendub korraga kahest aadressist, sest nii näeb jagatud profiil ühenduslogis välja.
Kiire ja dokumenteeritud tühistamine on juhtnöör, mis töötab ka pärast seda, kui koopia on juba tehtud. Kõik muu on ennetus.
Väide, millele server tõesti toetuda saab
Unikaalsus tuleb CA-lt. Seadmega sidumine tuleb võtmehoidmisest. Ainult riistvara, mis ei saa oma võtit eksportida, muudab ühe sertifikaadi seadme kohta väiteks, mida server kehtestab, mitte poliitikaks, millega kõik nõustuvad.