Android IKEv2: వినియోగదారు ధృవపత్రం మరియు CA వేర్వేరు పనులు చేస్తాయి
ఒక ఫీల్డ్ ఫోన్ ఎవరో నిరూపిస్తుంది, మరొకటి ఏ గేట్వేను నమ్మాలో నిర్ణయిస్తుంది. Android IKEv2 ప్రొఫైల్ వాటిని వేరుగా ఉంచుతుంది, ఎందుకంటే హ్యాండ్షేక్ అలా చేస్తుంది.
వినియోగదారు ధృవపత్రం మరియు CA ధృవపత్రం రెండింటినీ అడిగే Android IKEv2 స్క్రీన్ అదే విషయాన్ని రెండుసార్లు కోరుతున్నట్టు కనిపిస్తుంది. అలా కాదు. IKEv2 రెండు వైపులను, రెండు దిశల్లో, ఒకే మార్పిడిలో ధృవీకరిస్తుంది, మరియు ప్రతి దిశలో ఫోన్కు వేరే పాత్ర ఉంటుంది: తాను ఎవరో నిరూపించుకోవాలి, ఏ గేట్వేను నమ్ముతానో నిర్ణయించుకోవాలి. వినియోగదారు ధృవపత్రం మొదటి ప్రశ్నకు సమాధానం ఇస్తుంది, నమ్మదగిన CA రెండవదానికి, మరియు ఒకటి మరొకదానికి ప్రత్యామ్నాయం కాలేదు.
ఒకే మార్పిడిలో రెండు దిశల ధృవీకరణ
IKEv2 రెండు దశల్లో నియంత్రణ ఛానెల్ను ఏర్పాటు చేస్తుంది. మొదటి మార్పిడి అల్గోరిథంలు మరియు కీలను చర్చిస్తుంది; రెండవది, IKE_AUTH, ప్రతి వైపు గుర్తింపుతో పాటు ప్రతి వైపు నుండి ఒక AUTH పేలోడ్ను తీసుకువెళుతుంది. పేలోడ్ అనేది మార్పిడిపై లెక్కించిన సంతకం లేదా MAC, మరియు గ్రహీత ఇప్పటికే నమ్మే దానితో పోల్చి ధృవీకరించబడుతుంది.
గేట్వే తన సొంత ధృవపత్రంతో తన గుర్తింపును నిరూపిస్తుంది, ఫోన్ ఆ ధృవపత్రం గొలుసును తాను నమ్మడానికి సిద్ధమైన మూలం వరకు ధృవీకరించి, ఆ ధృవపత్రంలోని గుర్తింపు తాను చేరాలనుకున్న గేట్వేతో సరిపోతుందో లేదో తనిఖీ చేస్తుంది. ఫోన్ తన సొంత ఆధారాలతో తన గుర్తింపును నిరూపిస్తుంది, గేట్వే క్లయింట్ ధృవపత్రాన్ని జారీ చేసిన CAతో దాన్ని ధృవీకరిస్తుంది.
రెండు ఫీల్డ్ల వెనుక ఉన్న మొత్తం యంత్రాంగం అదే. వినియోగదారు ధృవపత్రం ఫోన్ తన గురించి చెప్పే ప్రకటన; CA ఫీల్డ్ ఫోన్ ఎవరిని నమ్ముతుందనే దాని గురించిన ప్రకటన. ఒకటి ఉండి మరొకటి లేని ప్రొఫైల్ పరస్పర ధృవీకరణను పూర్తి చేయలేదు, ఎన్నిసార్లు ప్రయత్నించినా అది మారదు. ఆ రెండు వైఫల్యాలు వేరుగా కూడా కనిపిస్తాయి: వినియోగదారు కీ లేకపోతే ఫోన్ సంతకాన్నే తయారు చేయలేదు; నమ్మకపు యాంకర్ లేకపోతే గేట్వే ధృవపత్రాన్ని అంగీకరించలేదు.
| Material | Role | What it cannot do |
|---|---|---|
| User certificate plus its private key | Proves possession of the enrolled client identity | Establish that the gateway is the right one |
| Trusted CA certificate | Validates the gateway chain under the intended identity checks | Prove the client's identity to the gateway |
| Expected gateway identity | Pins which server the phone accepts | Grant that user access to every private resource |
Android ప్రొఫైల్ బిల్డర్ ఏమి అడుగుతుంది
Google IKEv2 ప్రొఫైల్ బిల్డర్ ప్రతి ధృవీకరణ పద్ధతిని విడిగా బహిర్గతం చేస్తుంది, ఒకే ఒక ధృవపత్ర మోడ్గా కాదు. డిజిటల్ సంతకం పద్ధతి వినియోగదారు ధృవపత్రం, ప్రైవేట్ కీ మరియు సర్వర్ మూల CAను తీసుకుంటుంది. మిగిలిన పద్ధతులు వినియోగదారు పేరు మరియు పాస్వర్డ్, లేదా ముందే పంచుకున్న కీని తీసుకుంటాయి.
ఆ సంతకాన్ని జాగ్రత్తగా చదవండి, ఎందుకంటే అది పైన చెప్పిన యంత్రాంగాన్ని సంకేతీకరిస్తుంది. వినియోగదారు పేరు మరియు పాస్వర్డ్ పద్ధతిలో వినియోగదారు ప్రైవేట్ కీ కోసం ఫీల్డ్ లేదు, PSK పద్ధతిలో గేట్వే నమ్మకపు యాంకర్ కోసం ఫీల్డ్ లేదు, ఎందుకంటే ఆ పద్ధతులు వేర్వేరు విషయాలను నిరూపిస్తాయి. పాస్వర్డ్ను ధృవపత్ర ఫీల్డ్లో అతికించి వాటిని కలిపితే, IKE_AUTH వద్ద విఫలమయ్యే ప్రొఫైల్ వస్తుంది; ఆ సందేశం రెండింటినీ పేర్కొనదు.
డిజిటల్ సంతకం పద్ధతికి డాక్యుమెంట్ చేసిన ప్రైవేట్ కీ రకం RSA. IPsec లేదా ధృవపత్రం అని లేబుల్ ఉన్న మెనూ ECDSA మద్దతును సూచించదు, మరియు అది ఉందనే ఊహపై కూర్చిన ప్రొఫైల్ నెట్వర్క్ కలిసే ముందే ప్లాట్ఫారమ్ API వద్ద విఫలమవుతుంది.
ప్రజా వినియోగదారు ధృవపత్రం మాత్రమే ఎందుకు సరిపోదు
AUTH పేలోడ్ అనేది క్లయింట్ ప్రైవేట్ కీతో మార్పిడిపై చేసిన సంతకం. ప్రజా ధృవపత్రం ఉంటే గేట్వే సంతకాన్ని తనిఖీ చేయగలదు; ఫోన్కు అది ఏమీ చేయదు, ఎందుకంటే సంతకం తయారు చేయడానికి దానికి కీ కావాలి. .crt మాత్రమే దిగుమతి చేసి కీని వదిలేయడం ఈ వైఫల్యం యొక్క అత్యంత సాధారణ రూపం.
Android కీ మౌలిక సదుపాయం దాన్ని ప్రతిబింబిస్తుంది. క్లయింట్ గుర్తింపును ఎంచుకోవడం KeyChain ద్వారా జరుగుతుంది, దానికి ధృవపత్ర నమోదు మాత్రమే కాదు, సంబంధిత ప్రైవేట్ కీకి ప్రాప్యత కావాలి. రెండింటినీ కలిపి ఇన్స్టాల్ చేసే నమోదు ప్యాకేజీ లేదా పరికర నిర్వహణ ప్రవాహం ఉపయోగకరమైన గుర్తింపును పొందే సాధారణ మార్గం; ధృవపత్ర ఫైలును చేతితో కాపీ చేయడం సాధారణంగా అది కాదు.
కాబట్టి ప్రొఫైల్లోని రెండు అంశాలు ధృవపత్రాల కట్ట మరియు దాని నకలు కావు. ఒకటి ప్లాట్ఫారమ్ సంతకం చేయగలగాల్సిన కీ జోడీ, మరొకటి ప్లాట్ఫారమ్ పోల్చే నమ్మకపు యాంకర్. వాటిని రెండు వేర్వేరు వాస్తవాలుగా తనిఖీ చేయండి: ఈ ప్రొఫైల్ సంతకం చేయగలదా, ఎవరిని నమ్మాలో దానికి తెలుసా?
నమ్మకపు యాంకర్లు అప్లికేషన్కు చెందుతాయి, ఫోన్కు కాదు
వినియోగదారు నిల్వలో మూల ధృవపత్రాన్ని ఇన్స్టాల్ చేయడం వల్ల ప్రతి Android అప్లికేషన్ దాన్ని నమ్ముతుందని కాదు: Android 7 నుండి అప్లికేషన్ తన నెట్వర్క్ భద్రతా కాన్ఫిగరేషన్ ద్వారా ఎంచుకోవాలి, ఆ విడతకు ముందు వినియోగదారు ఇన్స్టాల్ చేసిన CAలు చాలా విస్తృతంగా అంగీకరించబడేవి. అప్లికేషన్ నమ్మక కాన్ఫిగరేషన్ మారవచ్చు, తన నమ్మక సామగ్రిని తానే నిర్వహించే VPN క్లయింట్ వినియోగదారు నిల్వను అసలు చూడకపోవచ్చు. అందుకే అదే CA ఫైల్ ఒక క్లయింట్లో పనిచేసి మరొకదానిలో నిర్లక్ష్యం చేయబడినట్టు కనిపిస్తుంది.
దీని నుండి రెండు యాజమాన్య నమూనాలు వస్తాయి. సిస్టమ్ నిర్వహించే VPN ప్రొఫైల్ పరికరం ధృవపత్ర ఇన్స్టాలేషన్ లేదా నిర్వాహక నమోదు ప్రవాహాన్ని ఉపయోగిస్తుంది, తర్వాత ప్రొఫైల్ లక్ష్య CAను సూచిస్తుంది. అప్లికేషన్ నిర్వహించే VPN తన నమ్మక సామగ్రిని ఉంచుకొని తన డాక్యుమెంట్ చేసిన దిగుమతిని ఉపయోగిస్తుంది, అది Android సెట్టింగ్ల స్క్రీన్ నుండి పూర్తిగా వేరుగా ఉండవచ్చు. విరిగిన గొలుసును అక్కడే బాగుచేస్తారు: సిస్టమ్ నిర్వహణ సందర్భంలో CA నిల్వలో మరియు ప్రొఫైల్ ఎంపికలో, అప్లికేషన్ నిర్వహణ సందర్భంలో క్లయింట్ సొంత దిగుమతి స్క్రీన్లో.
ఏదైనా దిగుమతి చేసే ముందు మీరు ఏ నమూనాలో ఉన్నారో నిర్ణయించుకోండి, తర్వాత యాక్టివ్ ప్రొఫైల్ నమ్మక ఎంపికను నిర్ధారించండి. ఆపరేటర్ సూచనలు మరియు క్లయింట్ మెనూ విభేదిస్తే, ఆ ఇన్స్టాలేషన్కు క్లయింట్ డాక్యుమెంట్ చేసిన ప్రవర్తన గెలుస్తుంది, కానీ CA ఇప్పటికీ మీరు ధృవీకరించగల మార్గం ద్వారా ఆపరేటర్ నుండే రావాలి. ఫైల్ పేరు ఎవరు జారీ చేశారనే దానికి సాక్ష్యం కాదు.
మొదట మోడ్ను ఎంచుకోండి, తర్వాత ఫైళ్లను
ధృవపత్ర మోడ్కు క్లయింట్ కీ జోడీ, గేట్వే వైపు జారీ చేసే CA, గేట్వే ధృవపత్రానికి నమ్మకపు యాంకర్, మరియు ఆ ధృవపత్రం మోసుకోవాల్సిన గుర్తింపు గురించిన అంచనా కావాలి. వినియోగదారు పేరు మరియు పాస్వర్డ్ మోడ్ క్లయింట్ కీ జోడీని ఆధారాలతో భర్తీ చేస్తుంది కానీ గేట్వే నమ్మక అవసరాన్ని అలాగే ఉంచుతుంది. PSK మోడ్ రెండింటినీ పంచుకున్న రహస్యంతో భర్తీ చేసి నమ్మక నమూనాను సులభతరం చేయకుండా మారుస్తుంది.
మీరు ఏది ఎంచుకున్నా సాధారణ ధృవీకరణను ఆన్లో ఉంచండి. క్లయింట్ అందించే ధృవీకరించవద్దు ఎంపిక, CA ఫీల్డ్ ఉనికికి కారణమైన తనిఖీని తీసివేస్తుంది; తప్పిపోయిన నమ్మకపు యాంకర్ను అది సరిచేయదు. కనెక్షన్ అది లేకుండా పనిచేస్తుందని ఏ సర్వర్ ధృవపత్రాన్నైనా అంగీకరించడం కూడా అలాగే.
తర్వాత సరైన చోట ధృవీకరించండి: సామగ్రిని దిగుమతి చేసి, ఒకసారి కనెక్ట్ అయి, క్లయింట్ కనెక్షన్ వివరాలలో గేట్వే గుర్తింపు మీరు ఊహించినదే అని, మరియు మీరు ఉపయోగించాలనుకున్న ధృవీకరణ పద్ధతిని ప్రొఫైల్ నివేదిస్తుందని నిర్ధారించండి. తప్పు పద్ధతిని ఎంచుకుని విజయవంతమైన కనెక్షన్ అంటే మీకు ఇంకా అర్థం కాని కాన్ఫిగరేషన్, ఆపరేటర్ తదుపరిసారి విధానాన్ని కఠినతరం చేసినప్పుడు అది విఫలమవుతుంది.