VPN ప్రైవేట్ కీపై పాస్ఫ్రేజ్ నిజంగా ఏమి రక్షిస్తుంది
ఇది డిస్క్లోని ఫైల్ను లాక్ చేస్తుంది, నడుస్తున్న టన్నెల్ లేదా మీ ఖాతా లాగిన్ను కాదు. ప్రాంప్ట్ ఏమి కవర్ చేస్తుంది, ఏమి చేయదు, లీక్ అయితే ఏమి చేయాలో తెలుసుకోండి.
VPN క్లయింట్ ప్రారంభమైనప్పుడు కనిపించే ప్రాంప్ట్ను తప్పుగా చదవడం సులభం. ఇది VPN ఖాతా పాస్వర్డ్ కాదు, టన్నెల్ పాస్వర్డ్ కాదు, దాన్ని నమోదు చేయడం కనెక్షన్ సురక్షితం అని నిరూపించదు. ఇది ప్రైవేట్ కీ యొక్క ఒక నిల్వ చేసిన ప్రాతినిధ్యాన్ని అన్లాక్ చేస్తుంది, తద్వారా క్లయింట్ కీ పదార్థాన్ని చదివి దాన్ని ప్రామాణీకరణకు ఉపయోగించగలదు. ఆ తర్వాత జరిగేది వేరే ప్రశ్న.
ఆచరణలో సమాధానం అంచుల్లో తప్పుగా మారుతుంది: పాస్ఫ్రేజ్ నడుస్తున్న టన్నెల్ను రక్షిస్తుంది, లేదా దాన్ని మార్చడం ఇప్పటికే లీక్ అయిన కీ నకలును రద్దు చేస్తుంది అని ప్రజలు భావిస్తారు. రెండు ఊహలు విఫలమవుతాయి, మరియు రెండూ ఒక ఆధారం బహిర్గతంగా ఉండగా ఆపరేటర్ అది పరిష్కరించబడిందని నమ్మే విధంగా విఫలమవుతాయి.
ఒక సంభాషణ, అనేక విభిన్న రహస్యాలు
ప్రైవేట్ కీ పాస్ఫ్రేజ్ ఒక ఫైల్ను డీక్రిప్ట్ చేస్తుంది. ఖాతా పాస్వర్డ్ మిమ్మల్ని సేవకు ప్రామాణీకరిస్తుంది. PKCS#12 దిగుమతి పాస్వర్డ్ కీ మరియు దాని సర్టిఫికెట్ ఉన్న బండిల్ను డీక్రిప్ట్ చేస్తుంది, మరియు అది కీ యొక్క స్వంత పాస్ఫ్రేజ్తో సమానమైన స్ట్రింగ్ కాకపోవచ్చు. ఈ ప్రాంప్ట్లు దాదాపు ఒకేలా కనిపించవచ్చు, ఏ రహస్యం ఎక్కడికి వెళుతుందో ఊహించడమే కీలు తప్పు ఫీల్డ్లో అతుక్కోవడానికి కారణం.
టన్నెల్ యొక్క స్వంత ఎన్క్రిప్షన్ నాల్గవ విషయం. డేటా ఛానెల్ హ్యాండ్షేక్ సమయంలో చర్చించిన సెషన్ కీలను ఉపయోగిస్తుంది; ప్రైవేట్ కీ పాస్ఫ్రేజ్కు వ్యక్తిగత ప్యాకెట్లను రక్షించడంలో ఎలాంటి పాత్ర లేదు. ఎవరైనా కీ ఫైల్ను చదవగలిగితే, వారు ఆఫ్లైన్లో పాస్ఫ్రేజ్ను ఊహించడానికి ప్రయత్నించవచ్చు, కానీ ప్యాకెట్లను చదవగలిగితే, పాస్ఫ్రేజ్ అప్రస్తుతం.
డిస్క్లోని ఎన్క్రిప్షన్ ఏమి కవర్ చేస్తుంది
ఎన్క్రిప్ట్ చేసిన PEM కీ రెండు రూపాల్లో వస్తుంది, మరియు హెడర్ మీ దగ్గర ఏది ఉందో చెబుతుంది. ఆధునిక PKCS#8 రూపం -----BEGIN ENCRYPTED PRIVATE KEY----- తో ప్రారంభమవుతుంది; పాత OpenVPN సెటప్లలో ఇప్పటికీ సాధారణమైన పాత PEM రూపం -----BEGIN RSA PRIVATE KEY----- తో ప్రారంభమై దాని కింద Proc-Type: 4,ENCRYPTED మరియు DEK-Info పంక్తిని కలిగి ఉంటుంది. ఫైల్ ప్రైవేట్ కీని మీ పాస్ఫ్రేజ్ నుండి పొందిన కీ కింద ఎన్క్రిప్ట్ చేసి ఉంచుతుంది, సాధారణంగా పేర్కొన్న పునరావృత సంఖ్య లేదా పని కారకంతో పాస్వర్డ్ ఆధారిత KDF ద్వారా. OpenSSL pkey పత్రాలు ఫార్మాట్లను మరియు చదివేటప్పుడు వర్తించే పాస్ఫ్రేజ్ ఎంపికలను కవర్ చేస్తాయి.
దీని నుండి రెండు పరిణామాలు వస్తాయి. బలహీనమైన పాస్ఫ్రేజ్ను KDF అనుమతించే వేగంతో ఆఫ్లైన్లో దాడి చేయవచ్చు, కాబట్టి ఫైల్ ఎన్క్రిప్ట్ చేయబడినప్పటికీ ఫైల్ అనుమతులు మరియు బ్యాకప్లకు యాక్సెస్ ముఖ్యమే. మరియు పాస్ఫ్రేజ్ లేకుండా ఫైల్ మాత్రమే పొందిన దాడి చేసేవాడు ఊహించాలి; ఫైల్ మరియు పాస్ఫ్రేజ్ రెండూ పొందిన వ్యక్తి కీని కలిగి ఉంటాడు, అది ఎప్పుడూ ఎన్క్రిప్ట్ చేయబడనట్లే.
head -3 vpn.key
openssl pkey -in vpn.key -noout -pubout
openssl pkcs12 -in bundle.p12 -info -noout
head -3 హెడర్ను మరియు పాత ఫైల్లో ఎన్క్రిప్షన్ను నిరూపించే Proc-Type మరియు DEK-Info పంక్తులను చూపిస్తుంది; ఒకే పంక్తి ఏ దిశలోనూ సాక్ష్యం కాదు. pkey పంక్తి పాస్ఫ్రేజ్ను అడిగి పబ్లిక్ సగం మాత్రమే ముద్రిస్తుంది, ఇది ఫైల్ మరియు పాస్ఫ్రేజ్ పనిచేస్తాయని ప్రైవేట్ కీని బహిర్గతం చేయకుండా నిరూపిస్తుంది. ఆ తనిఖీకి -text ఉపయోగించవద్దు: ఇది ప్రైవేట్ భాగాలను, privateExponent, prime1, prime2 మరియు మిగిలినవి ముద్రిస్తుంది, మరియు ఆ అవుట్పుట్ ఎప్పుడూ ఎక్కడా అతికించకూడదు, టికెట్లో, చాట్లో లేదా లాగ్లో కాదు. PKCS#12 ఆదేశం బండిల్లో వేరే MAC లేదా ఎన్క్రిప్షన్ పాస్వర్డ్ ఉందా అని కూడా చెబుతుంది, దాన్ని సహోద్యోగికి ఇచ్చే ముందు తెలుసుకోవడం మంచిది.
కీ లోడ్ అయిన తర్వాత అది ఏమి రక్షించడం ఆపేస్తుంది
అన్లాక్ చేయడం ఆ ప్రక్రియకు ఒకే దిశ సంఘటన. క్లయింట్ KDF నుండి కీని అడిగి, ఫైల్ను డీక్రిప్ట్ చేసి, అవసరమైనంత కాలం ప్రైవేట్ కీని మెమరీలో ఉంచుతుంది. ఆ క్షణం నుండి పాస్ఫ్రేజ్ నడుస్తున్న సెషన్ గురించి ఏమీ రక్షించదు: ప్రక్రియ మెమరీ కాదు, కోర్ డంప్ కాదు, క్లయింట్కు జోడించిన డీబగ్గింగ్ సెషన్ కాదు, మరియు కీ ఉపయోగంలో ఉన్నప్పుడు తీసిన మెషిన్ బ్యాకప్ కాదు.
ఇది పాస్ఫ్రేజ్ ఉన్న SSH కీ లేదా పాస్వర్డ్ మేనేజర్ తెరిచిన వాల్ట్ వంటి అదే సీమ. ఇది విశ్రాంతిలో ఉన్న ఫైల్ దొంగతనం ఖర్చును పెంచుతుంది మరియు మీ వినియోగదారుగా నడుస్తున్న మాల్వేర్, క్లయింట్ను సంతకం చేయమని అడిగే అధీకృత అప్లికేషన్, లేదా మెమరీ చదవగల నిర్వాహకుడిపై ఏమీ చేయదు. దీన్ని ఒక పొరగా పరిగణించండి, కీని చుట్టూ వదిలేయడం సురక్షితం చేసే నియంత్రణగా కాదు.
ప్రాంప్ట్ ఎందుకు మళ్లీ మళ్లీ వస్తుంది
ప్రతి పునఃకనెక్షన్లో మళ్లీ అడిగే క్లయింట్ తప్పనిసరిగా పాడైంది కాదు. కొన్ని క్లయింట్లు సెషన్ కోసం పాస్ఫ్రేజ్ను క్యాష్ చేస్తాయి, కొన్ని దాన్ని OS కీచెయిన్లో నిల్వ చేస్తాయి, మరికొన్నింటిని దాన్ని అందించే సహాయకుడి వైపు మళ్లించవచ్చు, కాబట్టి మీకు లభించే ప్రవర్తన క్లయింట్ మరియు దాని కాన్ఫిగరేషన్పై ఆధారపడి ఉంటుంది, కీ ఫైల్పై కాదు.
పునరావృత ప్రాంప్ట్ నిజమైన ఫిర్యాదు అయితే, కీ నుండి ఎన్క్రిప్షన్ను తీసివేయడానికి ముందు క్లయింట్ క్యాషింగ్ మరియు ప్రామాణీకరణ ఎంపికలను పరిశీలించండి. పాస్ఫ్రేజ్ను తీసివేయడం రక్షిత ఫైల్ను సాధారణ టెక్స్ట్ కీగా మారుస్తుంది, మరియు పునఃకనెక్షన్ నిశ్శబ్దమవుతుంది, మీ వద్ద ఉన్న ఏకైక విశ్రాంతి నియంత్రణ ఖర్చుతో. మంచి సమాధానం సాధారణంగా మీరు ఏమైనప్పటికీ ఉపయోగించే అదే ఫైల్ అనుమతులతో మద్దతు ఉన్న ఆధార నిల్వ.
నష్టం మరియు బహిర్గతం ఒకే మరమ్మత్తు కాదు
పోయిన పాస్ఫ్రేజ్ను సర్టిఫికెట్ నుండి తిరిగి పొందలేము. సర్టిఫికెట్ ఒక పేరును కీతో కలిపే పబ్లిక్ పదార్థం; అందులో ప్రైవేట్ కీకి తిరిగి వెళ్లే మార్గం లేదు మరియు పాస్ఫ్రేజ్ గురించి ఎలాంటి సూచన లేదు. ఆచరణాత్మక ఎంపికలు కీ యొక్క అధీకృత బ్యాకప్, లేదా ఆపరేటర్ సాధారణ ప్రక్రియ ద్వారా జారీ చేయబడిన కొత్త గుర్తింపు. పాస్ఫ్రేజ్ను 'తిరిగి పొందుతామని' ప్రతిపాదించే ఎవరైనా దాన్ని ఊహించడానికి ప్రతిపాదిస్తున్నారు.
బహిర్గతానికి వేరే ప్రతిస్పందన అవసరం. అదే కీని కొత్త పాస్ఫ్రేజ్తో మళ్లీ ఎన్క్రిప్ట్ చేయడం కీ పదార్థాన్ని మార్చకుండా వదిలివేస్తుంది, కాబట్టి వేరే చోట ఇప్పటికే తెరిచిన నకలు ఇంకా పనిచేస్తుంది. మరమ్మత్తు ఆధారాన్ని రద్దు చేయడం లేదా భర్తీ చేయడం: కొత్త కీ మరియు సర్టిఫికెట్ జారీ చేసి, పంపిణీ చేసి, పాతదాన్ని సహచరుడి వద్ద పదవీ విరమణ చేయండి. అది జరిగే వరకు, ఫైల్ పాస్వర్డ్ మార్చడం గృహ పని, నియంత్రణ కాదు. కొత్త గుర్తింపు పనిచేస్తుందని నిర్ధారించిన తర్వాత మాత్రమే పాత ఫైల్ను బ్యాకప్ల నుండి బయట ఉంచండి, మరియు ఏ సీరియల్ లేదా వేలిముద్ర దాన్ని భర్తీ చేసిందో నమోదు చేయండి.