0x లేదా 0s? ipsec.secrets లో PSK ఆకృతిని అర్థం చేసుకోవడం
అదే పంచుకున్న రహస్యాన్ని కోట్స్ లో అక్షరాలా పాఠంగా, 0x తర్వాత హెక్సాడెసిమల్ గా, లేదా 0s తర్వాత Base64 గా రాయవచ్చు. తప్పు ఉపసర్గ ధృవీకరణను విఫలం చేస్తుంది, చర్చలను కాదు.
ఒక క్లయింట్ పంచుకున్న కీతో ధృవీకరించబడుతుంది మరియు మరొకటి దాన్ని తిరస్కరిస్తుంది, మీరు అతికించిన అక్షరాలు రెండు వైపులా ఒకేలా కనిపిస్తాయి. అవి అదే అక్షరాలే ఉండవచ్చు; తేడా ఏమిటంటే ఫైల్ వాటిపై ఏ డీకోడింగ్ నియమాన్ని వర్తింపజేస్తుంది. కోట్స్ లోని స్ట్రింగ్ అక్షరాలా తీసుకోబడుతుంది, 0x తో ప్రారంభమయ్యే టోకెన్ హెక్సాడెసిమల్ గా చదవబడుతుంది, 0s తో ప్రారంభమయ్యే టోకెన్ Base64 గా చదవబడుతుంది. ఈ మూడు రచనల్లో ఒకటి మాత్రమే మీరు ఉద్దేశించిన అర్థాన్ని ఇస్తుంది, కాబట్టి సవరణ సాధారణంగా మెరుగైన పాస్వర్డ్ కాదు, ఒక మార్పిడి.
లక్షణం సైఫర్ల వైపు కాదు, ఎన్కోడింగ్ వైపు సూచిస్తుంది
రెండు చివరలు వేర్వేరు బైట్లను ఉంచుకున్నప్పుడు, చర్చలు ఇప్పటికీ విజయవంతమవుతాయి మరియు రుజువు ఆ తర్వాత విఫలమవుతుంది. అప్పుడు లాగ్ అల్గారిథమ్ అసమానతకు బదులు సమగ్రత లేదా HMAC వైఫల్యాన్ని నమోదు చేస్తుంది, ఎందుకంటే ప్రతిపాదన ఎంపిక చేయబడింది మరియు ధృవీకరణ దశ సరిపోలలేదు. ఆ పంక్తి రహస్యం ఆకారాన్ని ఎప్పుడూ ప్రస్తావించదు.
దశే సూచన. ఎంపిక చేసిన ప్రతిపాదన తర్వాత వచ్చే వైఫల్యం అంటే రెండు పక్షాలు కీ పదార్థం తప్ప అన్నింటిపై అంగీకరించాయని, అయితే «ఏ ప్రతిపాదనా ఎంపిక కాలేదు» అనేది విధానం లేదా సైఫర్ సెట్లకు చెందుతుంది. పాస్వర్డ్ సరిగ్గా కనిపిస్తున్నప్పుడు విఫలమయ్యే సమగ్రత పరిశీలన ఎన్కోడింగ్ అసమానత యొక్క కనిపించే ముఖం.
ఒక రహస్యం, ఫైల్ దాన్ని చదవగల మూడు మార్గాలు
నాలుగు బైట్ విలువ కోసం key1 హెక్సాడెసిమల్ మరియు Base64 ఒకే బైట్ల రెండు పునః-ఎన్కోడింగ్లు, మరియు మొదటి అక్షరాలు మాత్రమే పార్సర్కు ఏది ఉందో చెబుతాయి. swanctl ఆధారాలు అదే సంప్రదాయాన్ని అనుసరిస్తాయి, కాబట్టి రెండు ఇంటర్ఫేస్ల మధ్య తరలించిన విలువ దాని ఉపసర్గతో పాటు ప్రయాణిస్తేనే అర్థాన్ని నిలుపుకుంటుంది.
10.20.0.5 %any : PSK "key1"
10.20.0.5 %any : PSK 0x6b657931
10.20.0.5 %any : PSK 0sa2V5MQ==
ఆ బ్లాక్లో రెండు వివరాలు ఎక్కువ సమయం తీసుకుంటాయి. హెక్సాడెసిమల్ అంకెలు రెండు కేసులను అంగీకరిస్తాయి, కాబట్టి 0x6b657931 మరియు 0x6B657931 ఒకే విలువ, కానీ బేసి సంఖ్యలో అక్షరాలు తిరస్కరించబడకుండా నిశ్శబ్దంగా తప్పుగా చదవబడతాయి, ఇది కట్ తర్వాత ప్రతి బైట్ను కదిలిస్తుంది. Base64 ప్యాడింగ్ విలువలో భాగం, కాబట్టి చివరి = గుర్తులు లేకుండా అతికించిన స్ట్రింగ్ బిగ్గరగా విఫలం కాకుండా వేరే బైట్లుగా డీకోడ్ అవుతుంది.
విలువను ఒకసారి డీకోడ్ చేసిన ప్రొఫైల్ దాన్ని ఇప్పటికే మార్చింది, కాబట్టి మళ్లీ డీకోడ్ చేయడం వేరే బైట్లను మరియు తప్పు పాస్వర్డ్లా కనిపించే ధృవీకరణ వైఫల్యాన్ని ఇస్తుంది. అస్పష్టమైన దేనికైనా కోట్స్ సురక్షిత దిశ, ఎందుకంటే కంటెంట్ ఎన్కోడింగ్ గుర్తుతో ప్రారంభమైనా అక్షరాలాగానే ఉంటుంది.
Base64 పాఠం ఎక్కడి నుండి వస్తుంది
ప్రొఫైల్ ఎగుమతులు మరియు విక్రేత పోర్టల్లు తరచుగా కీని ఇప్పటికే ఎన్కోడ్ చేసిన స్థితిలో ఇస్తాయి, సాధారణంగా చేతితో టైప్ చేయడానికి ఎప్పుడూ ఉద్దేశించని డేటా ఫీల్డ్లో. ఆ విలువను తెరిచి డీకోడ్ చేసిన పాఠాన్ని కోట్స్ లో నిల్వ చేయండి, లేదా గుర్తును ముందు ఉంచి ఎన్కోడ్ చేసిన స్థితిలోనే వదిలేయండి. రెండింటిలో సగం చేయడమే దాన్ని పాడు చేస్తుంది. రెండు మార్గాలు మొత్తం విలువ కాపీ నుండి బయటపడితేనే పని చేస్తాయి.
రెండు దిశలు ఒక్కో ఆదేశం, మరియు నిల్వ చేసిన విలువను సృష్టించిన ఖచ్చితమైన కార్యకలాపంగా వాటిని టికెట్లో ఉంచడం విలువైనది. వాటిని ఈ క్రమంలో అమలు చేయండి:
printf '%s' 'a2V5MQ==' | base64 -d
printf '%s' 'key1' | base64
ఎన్కోడ్ చేసిన పాఠాన్ని సాధారణ పాఠంలా అతికించడం ఖరీదైన తప్పు. ఫైల్ అక్షరాలను రాసినట్టుగానే ఖచ్చితంగా హాష్ చేస్తుంది, ఉత్పన్నమైన కీ సహచరుడు లెక్కించిన దానికంటే దాదాపు మూడో వంతు పొడవుగా వస్తుంది, మరియు ప్రతి ప్రయత్నం ఎలాంటి హెచ్చరిక లేకుండా అదే విధంగా విఫలమవుతుంది, ఎందుకంటే పార్సర్ తనకు ఇచ్చిన నియమాన్ని పాటించింది.
ప్రతి సహచరుడు వాస్తవంగా ఏ బైట్లను ఉపయోగిస్తాడో నిర్ధారించండి
లోపం స్ట్రింగ్ నుండి కారణాన్ని ఊహించడం బదులు మొదట డీమన్ కనెక్షన్ పై దృష్టిని, ఆపై ధృవీకరణ ఫలితాన్ని చదవండి. నిల్వ చేసిన పొడవును పోల్చడం వేగవంతమైన సమంజసత పరిశీలన, ఎందుకంటే ఎన్కోడ్ చేసిన పాఠం అది సూచించే బైట్ల కంటే పొడవుగా ఉంటుంది. తర్వాత ఏ గుర్తింపు వరుస సరిపోలిందో నిర్ధారించండి, ఎందుకంటే తప్పు సహచరుడి కింద ఉంచిన సరైన రహస్యం తప్పు దానిలా విఫలమవుతుంది. వరుసల క్రమమే దాన్ని నిర్ణయిస్తుంది: మొదటి సరిపోలిక గెలుస్తుంది, కాబట్టి పైభాగానికి దగ్గరగా ఉన్న విశాలమైన %any వరుస మీరు ఇప్పుడే సవరించిన నిర్దిష్ట వరుసను నిశ్శబ్దంగా భర్తీ చేస్తుంది.
ఫైల్ సరైన తర్వాత పునఃప్రారంభించడం బదులు మళ్లీ లోడ్ చేయండి. ipsec rereadsecrets IKE డీమన్ కాపీని రిఫ్రెష్ చేస్తుంది, మరియు swanctl సెటప్ తన స్వంత ఆదేశంతో ఆధారాలను లోడ్ చేస్తుంది. పునఃప్రారంభం స్థాపించిన ప్రతి సంబంధాన్ని వదిలేసి మీరు చేయబోయిన పోలికను నాశనం చేస్తుంది.
ఈ పరిశీలనల్లో ఏదీ రహస్యాన్ని బహిర్గతం చేయాలని కోరదు. పొడవు, గుర్తింపు ఎంపికదారు మరియు వరుస స్థానం ఇలాంటి చాలా వైఫల్యాలను వివరిస్తాయి, ఎవరైనా హెక్స్ డంప్ అవసరపడే ముందే.
ఫలితాన్ని దాచకుండా ఫైల్ మార్చండి
ఫైల్ను డీమన్ ఖాతాకు పరిమితం చేయండి, మరియు సజీవ రహస్యాలను టికెట్లు, చాట్ మరియు స్క్రీన్షాట్లకు దూరంగా ఉంచండి, ఎందుకంటే అతికించిన కీ లీక్, నిర్ధారణ కాదు. అది తనను సృష్టించిన సంఘటన కంటే ఎక్కువ కాలం జీవిస్తుంది.
కాన్ఫిగరేషన్ మీ నియంత్రణలో ఉన్న క్లయింట్ నుండి పరీక్షించండి, ధృవీకరణ విజయవంతమవుతుందని నిర్ధారించండి, ఆపై టన్నెల్ ట్రాఫిక్ మోస్తుందని నిర్ధారించండి. హ్యాండ్షేక్ సరిచేసి రూటింగ్ పాడై ఉండే మళ్లీ లోడ్ మరో సమస్య, మరియు రహస్యం కదలడం ఆగిన క్షణమే అది కనిపిస్తుంది.