TLS కీ పంచుకోవడం మరియు క్లయింట్ సర్టిఫికెట్: ఏది లాగిన్ అవుతుంది?
కీ ఒప్పందాన్ని క్లయింట్ ప్రామాణీకరణ మరియు అప్లికేషన్ గుర్తింపు నుండి వేరు చేయండి, మరియు కనెక్షన్ నిజంగా ఏది ఉపయోగించిందో చూపే హ్యాండ్షేక్ సందేశాలను చదవండి.
హ్యాండ్షేక్లో పబ్లిక్ కీ-మార్పిడి విలువను తీసుకెళ్లడం క్లయింట్ లాగిన్ అవ్వడం వంటి సంఘటన కాదు. ఒకటి కనెక్షన్ కోసం క్రిప్టోగ్రాఫిక్ స్థితిని ఏర్పాటు చేస్తుంది; మరొకటి క్లయింట్ ఎవరో చెబుతుంది, సర్వర్ అడిగినప్పుడు మరియు మార్పిడి దానిని మద్దతిచ్చినప్పుడు మాత్రమే అది జరుగుతుంది. మొదటిదాన్ని రెండవదానిగా భావించడం VPN ఏమి దాచుతుంది, ఏమి దాచదు అనే దానిపై తప్పు నిర్ణయాలకు దారి తీస్తుంది. సందేశాలను చదవండి, తర్వాత నాలుగు లక్షణాలలో ఏది మీరు నిజంగా గమనించారో నిర్ణయించండి.
క్యాప్చర్లో ఒకేలా కనిపించే రెండు వస్తువులు
TLS 1.3 క్లయింట్ ఎటువంటి సర్టిఫికెట్ సమర్పించకుండా తన మొదటి ఎగురుడులో కీ-మార్పిడి పదార్థాన్ని అందించగలదు. ఆ సహకారం రూపకల్పన ప్రకారమే పబ్లిక్, ఎందుకంటే పంచుకున్న రహస్యాన్ని పొందడానికి సర్వర్కు అది అవసరం. క్లయింట్ సర్టిఫికెట్ మరో సందేశం, సర్వర్ ఒకదాన్ని అడిగిన తర్వాతే పంపబడుతుంది. అది సర్వర్ తర్వాత ధృవీకరించే గుర్తింపును కలిగి ఉంటుంది, పరస్పర ప్రామాణీకరణ సైఫర్ సూట్ సూచించే లక్షణం కాదు, సర్వర్ తీసుకునే నిర్ణయం. అప్లికేషన్ గుర్తింపు పూర్తిగా మూడవ విషయం: లాగిన్ ఫారం, బేరర్ టోకెన్, కుకీ. వాటిలో ఏదీ హ్యాండ్షేక్లో కనిపించదు, అన్నీ నెట్వర్క్ మార్గం మారినా నిలిచి ఉంటాయి.
| Object in play | What it establishes |
|---|---|
| Key-exchange share | Cryptographic state for this connection |
| Server certificate | Which server the client reached |
| Client certificate | Client authentication, when requested |
| Application session | Account identity inside the application |
నాలుగు వరుసలు స్వతంత్రం. కనెక్షన్లో మొదటి మరియు రెండవ వరుస ఉండవచ్చు, మూడవదాన్ని దాటవేయవచ్చు, అయినా నాల్గవదాన్ని కుకీ హెడర్లో తీసుకెళ్లవచ్చు.
సంగ్రహించిన హ్యాండ్షేక్ ఏమి నిరూపించగలదో నిర్ణయించండి
హ్యాండ్షేక్ నుండి మాత్రమే పరిశీలకుడు చర్చించిన వెర్షన్, సైఫర్ సూట్, సర్వర్ సర్టిఫికెట్ మరియు పబ్లిక్ కీ-మార్పిడి విలువలను తెలుసుకుంటాడు. క్లయింట్ అమలు యొక్క వేలిముద్ర తీసుకోవడానికి, ఏ సర్వర్తో సంబంధం ఏర్పడిందో చూడటానికి అది సరిపోతుంది. అది ఇవ్వనిది కనెక్షన్ను డీక్రిప్ట్ చేయడానికి అవసరమైన ప్రైవేట్ స్థితి; దాని రహస్యత పబ్లిక్ వాటాపై కాదు, తాత్కాలిక మార్పిడిపై నిలుస్తుంది. ఖాతా గుర్తింపును కూడా అది ఇవ్వదు, అది మొదటి నుంచీ హ్యాండ్షేక్లో లేదు.
కాబట్టి నిజాయితీ నిర్ణయం సన్నగా ఉంది: ఈ మార్పిడిలో ఎటువంటి క్లయింట్ సర్టిఫికెట్ సమర్పించబడలేదు. క్లయింట్ లింక్ చేయగల ఏదీ పంపలేదని కాదు, సెషన్ ఏ గుర్తింపుదారును కలిగి లేదని ఖచ్చితంగా కాదు.
సైఫర్ పేరు కాదు, సందేశాలను చదవండి
సైఫర్ సూట్ నుండి ఊహించడం బదులు సర్వర్ ఏమి అడుగుతుందో అడగండి. సర్టిఫికెట్ అభ్యర్థనతో కూడిన TLS 1.3 హ్యాండ్షేక్ ట్రాన్స్క్రిప్ట్లో కనిపిస్తుంది, దాని లేమి కూడా అంతే కనిపిస్తుంది.
openssl s_client -connect app.example.net:443 -tls1_3 -msg < /dev/null 2>&1 | grep -i -E 'key_share|CertificateRequest'
తర్వాత క్లయింట్ సర్టిఫికెట్ను కాన్ఫిగర్ చేసి పునరావృతం చేసి పోల్చండి. రెండవ రన్లో సర్టిఫికెట్ పంపబడి అంగీకరించబడటం కనిపించాలి; మొదటిదానిలో ఏమీ కనిపించకూడదు, అదే చర్చలోని నిర్దిష్ట భేదం.
openssl s_client -connect app.example.net:443 -tls1_3 -cert client.pem -key client.key -quiet
మీకు సాధారణ బ్రౌజింగ్ కేసు మాత్రమే అవసరమైతే, ప్రోటోకాల్ వెర్షన్, ధృవీకరణ ఫలితం, క్లయింట్ సర్టిఫికెట్ అందించబడిందా అనేవి చూడటానికి క్లయింట్ వివరమైన అవుట్పుట్ సరిపోతుంది. ఎప్పుడూ సర్టిఫికెట్ అభ్యర్థన పంపని సర్వర్ ఒకదాన్ని పొంది ఉండలేదు.
పునఃప్రారంభం సమాధానాన్ని ఎక్కడ మారుస్తుంది
TLS 1.3 పునఃప్రారంభం రహస్య స్థితికి జోడించిన టికెట్లను ఉపయోగిస్తుంది, కాబట్టి తర్వాతి కనెక్షన్ పూర్తి సర్టిఫికెట్ మార్పిడి లేకుండా పూర్తవ్వగలదు. ఇది పరిశీలకుడు చూసేది తగ్గిస్తుంది మరియు ట్రాన్స్క్రిప్ట్ నిరూపించేది మారుస్తుంది. లేని చోట అది గుర్తింపును సృష్టించదు. పునఃప్రారంభించిన సెషన్ ఇప్పటికీ అదే అప్లికేషన్ సెషన్కు చెందుతుంది, ఆ సెషన్లోని ఏ కుకీ లేదా టోకెన్ అయినా ముఖ్యమైన గుర్తింపుదారుగానే ఉంటుంది.
అందుకే "క్లయింట్ సర్టిఫికెట్ లేదు" వద్ద ఆగే గోప్యతా సమీక్ష ఆసక్తికరమైన భాగాన్ని కోల్పోతుంది. అడగవలసిన ప్రశ్న ఏ పక్షం స్థిరమైన గుర్తింపుదారును కలిగి ఉంది అనేది, ఒక హ్యాండ్షేక్ నుండి ఏ సందేశం లేదు అనేది కాదు.
ఒక తీర్పు కాదు, నాలుగు లక్షణాలను నమోదు చేయండి
కీ ఒప్పందం, సర్వర్ ధృవీకరణ, క్లయింట్ ప్రామాణీకరణ, అప్లికేషన్ గుర్తింపు—ప్రతిదాని సాక్ష్యంతో—నాలుగు వేర్వేరు వరుసలుగా రాయండి. ఈ జాబితా ప్రోటోకాల్ వెర్షన్ మారినా నిలిచి ఉంటుంది, గోప్యతపై వాదనను మరొకరు పరిశీలించగలిగేలా చేస్తుంది. తర్వాత నెట్వర్క్ మార్గం ఏమి ఇస్తుందో జోడించండి. VPN ఒక సేవ చూసే మూల చిరునామాను మారుస్తుంది; అప్లికేషన్ ఇప్పటికే కలిగి ఉన్న లాగిన్, కుకీ లేదా పరికర వేలిముద్రను అది తొలగించదు.
కనెక్షన్ చర్చించిన వెర్షన్ మరియు సర్టిఫికెట్ అభ్యర్థన ఫలితాన్ని కలిసి నమోదు చేయండి, ఎందుకంటే సొంత క్యాప్చర్ లేకుండా మీ నిర్ణయాన్ని పునరుత్పత్తి చేయడానికి సమీక్షకుడికి అదే జోడి కావాలి.