ఒక పరికరానికి ఒక సర్టిఫికెట్ ఉండటం వల్ల కీ పరికరానికి బంధించబడదు
ప్రతి పరికరానికి ఒక సర్టిఫికెట్ అనేది నిర్వాహకుడి ఎంపిక, పరికర బంధం కాదు. బంధాన్ని నిర్ణయించేది ప్రైవేట్ కీ ఎక్కడ ఉంది అనేదే: నకలు చేయగల ఫైల్ నుండి TPM వరకు.
మీరు ప్రతి ల్యాప్టాప్కు వేరే సర్టిఫికెట్ జారీ చేస్తారు, అందువల్ల VPN వాటిని వేరు చేయగలదని మీరు భావిస్తారు. అది చేయలేదు. క్లయింట్ సర్టిఫికెట్ నిరూపించేది ఏమిటంటే, కనెక్ట్ అయ్యే వ్యక్తి సరిపోలే ప్రైవేట్ కీని కలిగి ఉన్నాడని, నకలు చేసిన ప్రొఫైల్ కూడా దాన్ని కలిగి ఉంటుందని.
పరికరానికి ఒక సర్టిఫికెట్ ఇప్పటికీ మంచి ఆలోచనే. అది చాలామంది ఊహించే దానికంటే వేరే పని చేస్తుంది.
క్లయింట్ సర్టిఫికెట్ నిజంగా ఏమి నిరూపిస్తుంది
కనెక్షన్ ఏర్పడే సమయంలో క్లయింట్ తన సర్టిఫికెట్కు సరిపోలే ప్రైవేట్ కీతో సంతకం చేస్తాడు, సర్వర్ తనకు నమ్మకమైన CAతో ఆ సంతకాన్ని ధృవీకరిస్తుంది. ఆ మార్పిడిలో ఏదీ యంత్రాన్ని వివరించదు. సర్టిఫికెట్ మరియు కీ రెండింటినీ కలిగి ఉన్న ఏ పరికరమైనా ఒకేలాంటి సంతకాన్ని ఉత్పత్తి చేస్తుంది, కాబట్టి రెండవ ల్యాప్టాప్కు నకలు చేసిన ప్రొఫైల్ అసలైన దానిలా సరిగ్గా కనిపిస్తుంది. సర్టిఫికెట్ ఒక గుర్తింపును పేర్కొంటుంది; హార్డ్వేర్ను పేర్కొనదు.
పరికరానికి ప్రత్యేకత ఇప్పటికీ విలువైనదే, ఎందుకంటే అది రద్దును ఖచ్చితంగా చేస్తుంది. అది పరిపాలనా లక్షణం, సాంకేతిక తాళం కాదు.
కీ నిల్వలో మూడు స్థాయిలు
మొదటి స్థాయి డిస్క్లోని కీ ఫైల్. అది రూపకల్పనలోనే తరలించగలిగేది, చాలా OpenVPN ప్రొఫైల్లు అక్కడే ఉంటాయి.
రెండవ స్థాయి ఆపరేటింగ్ సిస్టమ్ ఎగుమతి చేయలేనిదిగా గుర్తించే కీ. Windows తన సర్టిఫికెట్ స్టోర్లో పరికర కీని సృష్టించి సాధారణ ఎగుమతిని నిరాకరించగలదు, ఇది అనుకోకుండా జరిగే నకలును ఆపుతుంది. ఇది హార్డ్వేర్ మద్దతు లేనిది, యంత్రానికి తగినంత ప్రాప్యత ఉంటే అలాంటి కీలను పునరుద్ధరించవచ్చు, కాబట్టి గోడ నిర్మించడం కంటే శ్రమను పెంచుతుంది.
మూడవ స్థాయి భద్రతా హార్డ్వేర్ లోపల సృష్టించే కీ: TPM, స్మార్ట్ కార్డ్, SIM లేదా PIV టోకెన్. ఆ మాడ్యూల్లలో తాము సృష్టించిన కీని ఎగుమతి చేసే సర్క్యూట్రీ లేదు, సంతకం మాడ్యూల్ లోపలే జరుగుతుంది. కీ ఎప్పుడూ ఎవరైనా నకలు చేయగల ఫైల్ కాదు.
| 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 |
ఆ పట్టిక మూడు వరుసల్లో మొత్తం వాదనను చెబుతుంది.
easy-rsa ఏమి చేయగలదు, ఏమి చేయలేదు
ప్రతి పరికరానికి సర్టిఫికెట్ జారీ చేయడం సూటిగా ఉంటుంది. అదే CAకి వ్యతిరేకంగా ప్రతి పరికరానికి వేరే సాధారణ పేరును సృష్టించండి, ఉదాహరణకు ./easyrsa build-client-full laptop-a nopass, ప్రతి పరికరానికి దీన్ని పునరావృతం చేయండి. ఏ సాధారణ పేరు ఏ వ్యక్తికి, ఏ యంత్రానికి చెందుతుందో నమోదు చేయండి.
రద్దు కూడా అంతే సూటిది: ./easyrsa revoke laptop-a, ./easyrsa gen-crl తో CRLని తిరిగి సృష్టించండి, సర్వర్ దాన్ని crl-verify ద్వారా నిజంగా చదువుతుందని నిర్ధారించుకోండి.
CA చేయలేనిది, ప్రైవేట్ కీ తర్వాత ఎక్కడ ఉందో ధృవీకరించడం. CA హోస్ట్లో కీని సృష్టించి దాన్ని పరికరానికి నకలు చేస్తే, జారీ చేసే సమయంలోనే రెండవ నకలును సృష్టించారు. ఎగుమతి చేయలేని కీ పరికరంలోనే సృష్టించబడాలి, లేదా దాన్ని విడుదల చేయని హార్డ్వేర్లోకి దిగుమతి చేయాలి.
నకలు చేసిన ప్రొఫైల్ను తట్టుకునే నియంత్రణలు
ప్రొఫైల్ నకలు చేయగలదని భావించి దాని చుట్టూ రూపకల్పన చేయండి. సర్టిఫికెట్ ఒక్కటే సరిపోకుండా ఖాతాను రెండవ కారకంతో బంధించండి. ఒక గుర్తింపు పరిధి పరిమితంగా ఉండేలా ప్రతి పరికరానికి దాని స్వంత విధానాన్ని ఇవ్వండి. అదే సాధారణ పేరు ఒకేసారి రెండు చిరునామాల నుండి కనెక్ట్ అవ్వడాన్ని గమనించండి, కనెక్షన్ లాగ్లో పంచుకున్న ప్రొఫైల్ అలానే కనిపిస్తుంది.
వేగవంతమైన, నమోదు చేసిన రద్దు నకలు జరిగిన తర్వాత కూడా పనిచేసే నియంత్రణ. మిగతావన్నీ నివారణ.
సర్వర్ నిజంగా ఆధారపడగల ప్రకటన
ప్రత్యేకత CA నుండి వస్తుంది. పరికర బంధం కీ నిల్వ నుండి వస్తుంది. తన కీని ఎగుమతి చేయలేని హార్డ్వేర్ మాత్రమే, అందరూ అంగీకరించే విధానంగా కాకుండా, సర్వర్ అమలు చేసే ప్రకటనగా ఒక పరికరానికి ఒక సర్టిఫికెట్ను మారుస్తుంది.