Zašto kopiranje ca.key na svaki VPN klijent uništava CA
Klijent proverava javni sertifikat CA; nikada mu ne treba ključ koji potpisuje. Kopiranje ca.key na svaki uređaj predaje pravo izdavanja svakome ko uzme jednu kopiju.
Negde u uputstvu za podešavanje ceo direktorijum se prekopira na svaki laptop jer je to bilo lakše nego odlučiti koji fajlovi tu pripadaju. Taj direktorijum sadrži ca.key, a u trenutku kada stigne na drugi uređaj, sertifikaciono telo prestaje da bude telo. Svaki vlasnik sada može da izdaje identitete kojima će verovati ostatak mreže.
Vredi ovu zabunu razrešiti jednom, jer dva fajla izgledaju slično, a rade suprotno.
Materijal za proveru i materijal za potpisivanje
Klijentu je potreban javni sertifikat CA da proveri da je sertifikat koji predstavi druga strana potpisalo to telo. To je zadatak provere i ne zahteva nikakvu tajnu. Potpisivanje sertifikata druge strane drugi je zadatak, izvodi se jednom i to onaj koji upravlja CA, privatnim ključem koji nikada ne napušta svoje zaštićeno skladište. Razdvajanje tih dvaju zadataka cela je poenta slanja dva fajla.
Zato ca.crt pripada profilu, a ca.key ne pripada nigde blizu njega. Imena fajlova su konvencija, ne garancija, pa se tip mora pregledati, a ne zaključiti iz imena.
Arhitektura sa posrednim CA ili onlajn servisom za izdavanje nije izuzetak. To je standardni način da se sposobnost potpisivanja drži dalje od krajnjih tačaka dok se sertifikati uređaja izdaju u masi.
Šta klijent treba da dokaže sopstvenim ključem
Svaki uređaj dobija sopstveni par ključeva i sopstveni sertifikat, jednom potpisan od CA. Klijent predstavlja taj sertifikat i dokazuje posedovanje odgovarajućeg privatnog ključa, a server odlučuje da li će ga prihvatiti. To je identitet koji se opoziva kada se laptop izgubi.
Kontrast je najvažniji posle krađe. Sa identitetima po uređaju, jedan izložen klijent se uklanja opozivom ili uklanjanjem druge strane, a ostatak flote nastavlja da radi.
Procurio ključ tela ne može se tako rešavati. Svaki sertifikat koji je ikada potpisao ili mogao da potpiše postaje sumnjiv, pa je odgovor zamena poverenja, a ne pojedinačni opoziv. To je projekat, a ne tiketa.
| File | Role | Belongs on |
|---|---|---|
ca.crt | Public certificate used to verify signatures | Every client profile |
ca.key | Private key that issues certificates | Protected CA storage only |
| client key pair | Proves one device's identity | That device alone |
Pročitajte fajl pre nego što ga bilo gde kopirate
Dve komande kažu kakav objekat držite, a da ne ispišu nikakvu tajnu. Prva navodi subjekat i CA oznaku na sertifikatu; druga proverava ključ i izveštava o njegovom tipu. Pokrenite obe na fajlovima u paketu koji ćete distribuirati. Sve što se potvrdi kao privatni ključ ne pripada u klijentski direktorijum.
openssl x509 -in ca.crt -noout -subject -ext basicConstraints openssl pkey -in ca.key -noout -check
Ako druga komanda uspe na fajlu koji stoji u klijentskom paketu, zaustavite se i tretirajte paket kao kompromitovan. Izlaz koji kaže da je ključ valjan kaže i da je prisutan, a prisutnost je ceo problem.
Obratite pažnju i na drugi smer: klijentski profil legitimno sadrži sopstveni privatni ključ tog klijenta. Brisanje svakog pronađenog ključa prekida vezu ne popravljajući ništa, pa se objekat mora identifikovati pre uklanjanja.
Obuzdavanje ključa koji ste već distribuirali
Ne pretpostavljajte da brisanje lokalne kopije poništava izloženost. Svako ko je držao fajl mogao ga je kopirati, a sigurna je pretpostavka da jeste. Sledite incidentnu proceduru operatera i zamenite sidro poverenja, ponovo izdajući sertifikate uređaja pod novim CA.
Zatim promenite pakovanje koje je stvorilo problem. Šaljite spisak direktorijuma sa izričitim spiskom dozvoljenih fajlova, držite ključ CA na mašini koja se nikada ne pridružuje klijentskoj floti i zabeležite koji sistem ga čuva.
Ako telo mora često da izdaje, premestite potpisivanje iza servisa ili posrednog tela uskog obuhvata i kratke valjanosti. Tako buduća greška izlaže deo izdavanja, a ne koren poverenja celog postavljanja.