openssl rand tls-crypt కోరుకునే కీని ఎందుకు సృష్టించలేదు
OpenSSL యాదృచ్ఛిక బైట్లను ఉత్పత్తి చేస్తుంది; tls-crypt కి నిర్మాణాత్మక స్టాటిక్ కీ ఫైల్ అవసరం, tls-crypt-v2 కి సర్వర్ మాత్రమే చుట్టగల కీ అవసరం. openvpn --genkey ఉపయోగించండి.
OpenSSL ఇప్పటికే ఇన్స్టాల్ చేయబడింది, హోస్ట్కు ఎంట్రోపీ ఉంది, దానితో కీని సృష్టించడం స్పష్టమైన సత్వరమార్గంగా అనిపిస్తుంది. అవుట్పుట్ యాదృచ్ఛికంగా మరియు రహస్యంగా మరియు పూర్తిగా ఉపయోగించలేనిదిగా ఉంటుంది, మరియు వైఫల్యం కీ ఫార్మాట్ను ప్రస్తావించే దానికి బదులుగా నియంత్రణ-ఛానెల్ లోపంగా వస్తుంది. ఈ దారి తప్పించడమే ఖరీదైన భాగం, ఎందుకంటే ఇది ప్రజలను వారి సైఫర్లను పరిశీలించడానికి పంపుతుంది. VPN చదివేది ఒక నిర్దిష్ట ఫైల్ నిర్మాణం, ఏకపక్ష బైట్ బ్లాక్ కాదు, మరియు ఈ ఫీచర్ యొక్క ఒక రూపాన్ని సర్వర్ వెలుపల అసలు తయారు చేయలేము.
డిస్క్లోని ఫైల్ నిజానికి ఏమి ఉండాలి
OpenVPN యొక్క స్టాటిక్ కీ ఫైల్ టెక్స్ట్. ఇది ఏమిటో ప్రకటించే వ్యాఖ్య పంక్తితో ప్రారంభమవుతుంది, స్థిర వెడల్పు వరుసలలో హెక్స్ డేటాను కలిగి ఉంటుంది, మొత్తం 256 బైట్ల కీ మెటీరియల్ను కలిగి ఉంటుంది. OpenVPN దానిని నియంత్రణ ఛానెల్ యొక్క పంచుకున్న రహస్యంగా చదువుతుంది, ధృవపత్రంగా కాదు, పాస్ఫ్రేజ్గా కాదు మరియు TLS లైబ్రరీ గుర్తించే ఏదోగా కాదు.
అదే రకమైన వస్తువు నియంత్రణ ఛానెల్ యొక్క రెండు ఫీచర్లకు సేవ చేస్తుంది. tls-auth తో, ఒక వైపు ప్యాకెట్లు దాని వైపు తిరిగి ప్రతిబింబించకుండా ప్రతి పీర్కు దిశ కూడా అవసరం. tls-crypt తో, ఒకే పంచుకున్న రహస్యం రెండు దిశలలో నియంత్రణ ఛానెల్ను ఎన్క్రిప్ట్ చేసి ప్రామాణీకరిస్తుంది, ఇది హ్యాండ్షేక్ను దాచుతుంది మరియు అదే సమయంలో రక్షిస్తుంది.
వాటిలో ఏదీ రహస్య జ్ఞానం కాదు, మరియు ఫార్మాట్ ప్రధాన విషయం కాదు. ప్రధాన విషయం ఏమిటంటే ఫైల్ చదివేవాడు ఆశించే దానికి ఖచ్చితంగా సరిపోలాలి: హెడర్, పంక్తి వెడల్పు, చివరి కొత్త పంక్తి మరియు మొత్తం పొడవు. ఒక వరుస తప్పుగా ఉన్న ఫైల్ చెత్తగా లోడ్ అవుతుంది లేదా పూర్తిగా విఫలమవుతుంది. అందువల్ల రెండు పీర్లను బైట్-బైట్ పోల్చడం చట్టబద్ధమైన మొదటి పరీక్ష, మరియు ఇది రెండు కాన్ఫిగరేషన్ ఫైల్లలో దేనినైనా చదవడం కంటే వేగవంతం.
ఒకటి సృష్టించే మద్దతు పొందిన మార్గం
సాధారణ స్టాటిక్ కీని దానిని ఉపయోగించే సాధనంతో సృష్టించి, ఆపై రెండు చివరల నుండి దానిని సూచించండి:
openvpn --genkey secret /etc/openvpn/tc-shared.key
tls-crypt /etc/openvpn/tc-shared.key
ఎంపిక యొక్క స్పెల్లింగ్ కాలక్రమేణా మారింది: 2.4 యుగం యొక్క పాత ఇన్స్టాలేషన్లు ఫైల్ పేరుకు ముందు ప్రత్యేక జెండాతో కూడిన రూపాన్ని ఉపయోగించాయి, ప్రస్తుత బిల్డ్లు చిన్నదాన్ని అంగీకరిస్తాయి. ఏదేమైనా ఫలిత ఫైల్ అదే రకమైన వస్తువు, కాబట్టి తనిఖీ రెండు పీర్లు ఒకే బైట్లను కలిగి ఉన్నాయా అనేది.
రెండవ తరం ఏ బాహ్య జనరేటర్ కనుగొనలేని నిర్మాణాన్ని జోడిస్తుంది. సర్వర్ కీ ఒకసారి సృష్టించబడుతుంది, మరియు ప్రతి క్లయింట్ దాని నుండి తీసుకోబడిన చుట్టిన కీని పొందుతుంది:
openvpn --genkey tls-crypt-v2-server /etc/openvpn/tc-v2-server.key
openvpn --genkey tls-crypt-v2-client /etc/openvpn/laptop1.key --tls-crypt-v2 /etc/openvpn/tc-v2-server.key
క్లయింట్ పొందేది సర్వర్ యొక్క స్వంత కీ యొక్క నకలు కాదు. ఇది సర్వర్ మాత్రమే తెరవగల మెటాడేటాను మోసే చుట్టిన వస్తువు, మరియు ఈ చుట్టడం వల్లనే ఒక పరికరం కోసం ఫైల్ను మరే ఇతర పరికరాన్ని తాకకుండా రద్దు చేయవచ్చు. సర్వర్ కీని సర్వర్లోనే ఉంచండి మరియు దానిని ఆ పరికర ఆధారిత విశ్వాసానికి మూలంగా పరిగణించండి.
చేతితో తయారు చేసిన బైట్లు ఎక్కడ విరిగిపోతాయి
సరైన హెడర్ కింద 256 యాదృచ్ఛిక బైట్లను హెక్స్గా ముద్రించడం సిద్ధాంతపరంగా లోడ్ అయ్యే స్టాటిక్ కీ ఫైల్ను ఇస్తుంది. ఇది ఇప్పటికీ చెడ్డ ఆలోచన. ప్రతి ఫార్మాటింగ్ వివరం లోడ్ సమయంలో విఫలమయ్యే లేదా, అధ్వాన్నంగా, ప్రామాణీకరణ వైఫల్యంగా మాత్రమే వెల్లడయ్యే విభిన్న విలువలతో రెండు పీర్లను వదిలివేసే మెటీరియల్ను ఉత్పత్తి చేసే అవకాశంగా మారుతుంది.
v2 రూపంతో సమానమైనది ఏదీ సాధ్యం కాదు. చుట్టిన క్లయింట్ కీ సర్వర్ కీ ప్రక్రియ యొక్క అవుట్పుట్గా మాత్రమే ఉంటుంది, మరియు సర్వర్ దానిని తెరవడానికి అవసరమైన మెటీరియల్ను ఉంచుతుంది. యాదృచ్ఛిక బ్లాక్ తిరస్కరించబడుతుంది లేదా డీక్రిప్ట్ చేయలేకపోతుంది, మరియు రెండు సందేశాలలో ఏదీ యాదృచ్ఛికతను ప్రస్తావించదు.
వెర్షన్ అనుకూలత ఇవన్నింటికీ పైన ఉంటుంది. మొదటి తరానికి రెండు చివరలలో దానిని మద్దతిచ్చే విడుదల అవసరం, రెండవదానికి మళ్లీ కొత్త విడుదల అవసరం. ఫీచర్ ఉనికిలోకి రాకముందు నిర్మించిన క్లయింట్ చుట్టిన మెటీరియల్ను మాత్రమే అంగీకరించే సర్వర్తో హ్యాండ్షేక్ను పూర్తి చేయలేదు, మరియు అది నివేదించే వైఫల్యం వెర్షన్ వైపు కాదు, నియంత్రణ ఛానెల్ వైపు సూచిస్తుంది.
అందరినీ బయట లాక్ చేయకుండా తిప్పడం
ఒక పంచుకున్న రహస్యాన్ని తిప్పడం సాంకేతికం కాదు, సమన్వయ వ్యాయామం. సర్వర్ మునుపటి దాన్ని ఉపసంహరించే ముందు ప్రతి క్లయింట్ చేతిలో భర్తీ ఫైల్ ఉండాలి, పాత విలువను ఇంకా కలిగి ఉన్న ఏ యంత్రమైనా ఆ క్షణంలో విఫలమవుతుంది. పని దినం మధ్యలో ఆ తిప్పడాన్ని ప్రారంభించవద్దు.
v2 ఏర్పాటుతో, తిప్పడం ప్రతి పరికరానికి: ఒక యంత్రానికి కొత్త చుట్టిన కీని జారీ చేసి, పాతదాన్ని ఆ యంత్రానికి మాత్రమే విరమింపజేయండి. ప్రతి క్లయింట్ దానిని మద్దతిచ్చే విడుదలలో ఉన్నప్పుడు మారడానికి ప్రధాన వాదన ఇదే.
ఫైల్ అనుమతులు అదే సంభాషణకు చెందుతాయి. కీ సేవను నడిపే ఖాతాకు మాత్రమే చదవగలిగేదిగా ఉండాలి, మరియు అది రక్షించే ప్రొఫైల్లతో అదే రిపాజిటరీలో ఉండకూడదు. OpenVPN 2.6 సూచన సృష్టించే రూపాలు మరియు కీ-మెటీరియల్ విభాగాలను డాక్యుమెంట్ చేస్తుంది, ఇది ఫోరమ్ పోస్ట్ నుండి కాపీ చేసిన ఆదేశం కంటే మంచి మూలం.