VPN లో nonce అంటే ఏమిటి, మళ్లీ ఉపయోగించడం సొరంగాన్ని ఎందుకు విరుస్తుంది
nonce అనేది ఒకే కీ కింద ఎప్పుడూ పునరావృతం కాకూడని ప్రతి సందేశానికి విలువ, మరియు అది సాధారణంగా బహిరంగంగా ప్రయాణిస్తుంది. దాన్ని చేతితో సవరించడం తప్పించుకోవాల్సిన పొరపాటు.
చాలామంది VPN ప్రొఫైల్లో nonce అనే పదాన్ని చూసి, అది సహచరుల మధ్య కాపీ చేయాల్సిన మరో పంచుకున్న రహస్యం అని భావిస్తారు. అలా కాదు. nonce అనేది అదే కీ కింద ఎప్పుడూ పునరావృతం కాకూడని విలువ, మరియు nonce ఆధారిత ఎన్క్రిప్షన్లో ఎక్కువ భాగంలో అది బహిరంగంగా ప్రయాణిస్తుంది. ఎవరైనా దాన్ని చేతితో సవరించే వరకు గందరగోళం హానిచేయనిదిగా ఉంటుంది, అక్కడి నుంచే నిజమైన దెబ్బ మొదలవుతుంది.
nonce నిజంగా ఎక్కడి నుంచి వస్తుంది
ప్రామాణీకృత ఎన్క్రిప్షన్కు ఒక కీ కింద ఎన్క్రిప్ట్ చేయబడే ప్రతి సందేశానికి వేరే nonce కావాలి. ప్రోటోకాల్లు ఈ అవసరాన్ని వేర్వేరు విధాలుగా తీరుస్తాయి: ఏకరీతిగా పెరిగే కౌంటర్, ప్యాకెట్ గుర్తింపుతో కలిపిన ఉప్పు, లేదా సరిపడా పొడవైన యాదృచ్ఛిక విలువ. IKEv2 ప్రారంభ మార్పిడి సమయంలో nonceలను మార్పిడి చేస్తుంది, అవి రహస్యాలు కావు, కీ ఉత్పాదనకు బహిరంగ ఇన్పుట్లు.
ప్రత్యేకత నిర్మాణాత్మకం లేదా సంభావ్యతాత్మకం కావచ్చు. కౌంటర్ ర్యాప్ అయ్యే వరకు పునరావృతం కాలేదు, అందుకే ప్రోటోకాల్ దానికి చాలా ముందే కీ పునరుద్ధరణ బిందువును నిర్వచిస్తుంది. యాదృచ్ఛిక విలువ సందేశ పరిమితిలో ఢీకొనడం అసంభవం అనిపించేంత బిట్లపై ఆధారపడుతుంది, ఇది వేరే వైఫల్య విధానం ఉన్న వేరే వాదన. ప్రోటోకాల్ పత్రం ఏ పద్ధతి వర్తిస్తుందో చెబుతుంది, రెండూ ప్రకటించిన పరిమితి గౌరవించబడేంత వరకే సురక్షితం.
| Design | Where uniqueness comes from | Exhaustion is handled by |
|---|---|---|
| AES-GCM records | An IV, typically a counter | Rekey before the counter wraps |
| ChaCha20-Poly1305 | A 96-bit nonce from a counter or generator | A message limit per key |
| WireGuard | A per-key 64-bit counter | Rekey at a message cap |
| OpenVPN AEAD | Packet identifier plus implicit key material | Rekey on the packet-id limit |
| IKEv2 | Fresh nonces per exchange | A new security association |
మళ్లీ ఉపయోగించడం నిజంగా ఏమి ఖర్చు చేస్తుంది
ఒక కీ కింద nonceను మళ్లీ ఉపయోగించడం చిన్న సామర్థ్య ప్రశ్న కాదు. GCMతో, ఒక IVను పంచుకునే రెండు సందేశాలు పరిశీలకుడు ప్రామాణీకరణ కీని తిరిగి పొంది రెండు స్పష్ట పాఠాల ప్రత్యేక-లేదా లెక్కించడానికి అనుమతిస్తాయి. స్ట్రీమ్ ఆధారిత నిర్మాణాలు అదే విధంగా కీ స్ట్రీమ్ను మళ్లీ ఉపయోగిస్తాయి, ఇది సాంకేతిక పాఠాన్ని రహస్యం బదులు చిక్కుగా మారుస్తుంది.
అందుకే అమలులు కౌంటర్ ర్యాప్ కాకముందే కీని పునరుద్ధరిస్తాయి, అందుకే వాటి స్థితి అనిశ్చితంగా ఉన్నప్పుడు కొనసాగించడం బదులు ఆగిపోతాయి. సహచరుడు ఇంకా పాత కీని కలిగి ఉండగా కౌంటర్ను రీసెట్ చేసే రీబూట్, లేదా సెషన్ మధ్యలో తీసిన స్నాప్షాట్ నుంచి పునరుద్ధరించిన వర్చువల్ మెషీన్, పరిమితులు నివారించడానికి ఉన్న సరైన పరిస్థితి. దాడి చేసేవాడు అవసరం లేదు; సాధారణ కార్యకలాపాలు సరిపోతాయి.
చేతితో సవరించడం ఎందుకు తప్పు పరిష్కారం
కౌంటర్లు, ఉప్పులు, ప్యాకెట్ గుర్తింపులు రెండు చివరలు పంచుకునే స్థితి యంత్రాలు. ఒక వైపు మార్చడం మరో వైపును సమకాలీకరణలో ఉంచదు, సొరంగం మార్గదర్శక సమస్యలా కనిపించే విధంగా విఫలమవుతుంది. మద్దతు ఉన్న లివర్ కొత్త కీ మార్పిడి, అది రెండు చివరల స్థితిని ఒకేసారి రీసెట్ చేస్తుంది.
పాస్వర్డ్లు, nonceలు కూడా వేర్వేరు పాత్రలు పోషిస్తాయి. పాస్వర్డ్ కీ ఉత్పాదనకు రహస్య ఇన్పుట్; nonce ప్రతి సందేశానికి బహిరంగ ఇన్పుట్. పొడవైన రహస్యాన్ని కోరే nonce లేబుల్ ఉన్న ప్రొఫైల్ ఫీల్డ్ సాధారణంగా మరో పేరుతో ఉన్న స్థిర కీ లేదా ముందుగా పంచుకున్న రహస్యం, కాబట్టి ఊహించడం బదులు ఆ ఫీల్డ్ పత్రాన్ని చదవండి.
సలహా nonce నిర్వహణకు సంబంధించినదైతే, పరిష్కారం నిర్వాహకుడి సవరించిన సంస్కరణ, వేరే సాంకేతికం లేదా చిన్న కీ కాదు. nonce అనే పదాన్ని తప్పించుకోవడానికి సాంకేతికాన్ని మార్చడం సమస్యను పరిష్కరించడం బదులు స్థానభ్రంశం చేస్తుంది.
ఊహించకుండా హెచ్చరికను చదవడం
కౌంటర్లు లేదా nonceల గురించిన లాగ్ లైన్ సాధారణంగా దాడిని కాదు, కోల్పోయిన స్థితిని వివరిస్తుంది. ఒక సహచరుడు పునఃప్రారంభించబడ్డాడా, క్లోన్ చేసిన వర్చువల్ మెషీన్ అదే గుర్తింపును మళ్లీ ఉపయోగించిందా, రెండు చివరలు కీ పునరుద్ధరణ సెట్టింగ్లపై ఏకీభవిస్తున్నాయా పరిశీలించండి. తర్వాత కొత్త సెషన్ ఏర్పాటు చేసి సందేశం తిరిగి వస్తుందో లేదో చూడండి.
నిర్ధారణను సంబంధం లేని వైఫల్యాల నుంచి వేరుగా ఉంచండి. లోడ్ కాని పేజీ, లేదా లూప్లో తిరిగే ఆధారాల అభ్యర్థన, nonce మళ్లీ ఉపయోగించడానికి సాక్ష్యం కాదు, అలా పరిగణించడం సమస్య దాని పైన ఉన్నప్పుడు మిమ్మల్ని సాంకేతిక పొరలోకి పంపుతుంది.
సాధారణ వినియోగానికి, సురక్షిత నియమం చిన్నది: nonceను అమలు నిర్వహించనివ్వండి, రెండు చివరలను మద్దతు ఉన్న సంస్కరణల్లో ఉంచండి, ఏదైనా స్థితి రీసెట్ను విలువను సవరించడం బదులు కీని పునరుద్ధరించడానికి కారణంగా పరిగణించండి. ప్రొఫైల్ ఫీల్డ్ విక్రేత పత్రంలో లేకపోతే, దానికి విలువను కల్పించవద్దు. సొరంగాన్ని బాగుచేయడం మీరు ఏ పొరను చూస్తున్నారో తెలుసుకోవడంతో మొదలవుతుంది.