ఎన్క్రిప్ట్ చేసిన VPN ప్యాకెట్ మీరు అనుకున్నదానికంటే తక్కువ ఖర్చు ఎందుకు అవుతుంది
మరో క్రిప్టోగ్రాఫిక్ లేబుల్ మరో పని యూనిట్ కాదు. మొత్తం మార్గాన్ని పోల్చండి: AEAD నిర్మాణం, CPU మద్దతు, బఫరింగ్ మరియు సమ్మతించిన డేటా మోడ్.
ఒకే గేట్వేపై రెండు ప్రొఫైళ్లు కొలుస్తారు, ఒకటి ఎన్క్రిప్షన్తో మరియు ఒకటి అది లేకుండా, మరియు ఎన్క్రిప్ట్ చేసినది నెమ్మదిగా ఉండదు. కొన్నిసార్లు అది వేగంగా ఉంటుంది, ఇది సాధారణంగా పరీక్ష సరిగ్గా జరిగిందా అనే దీర్ఘ చర్చకు దారి తీస్తుంది. ఫలితం నమ్మదగినది, ఎందుకంటే ప్యాకెట్ ఖర్చు కాన్ఫిగరేషన్లోని క్రిప్టోగ్రాఫిక్ పదాల సంఖ్య కాదు. అది అమలు చేసే కార్యకలాపాల సముదాయం, దాని వద్ద ఉన్న హార్డ్వేర్పై, మరియు అది ఎంచుకున్న బఫర్ లేఅవుట్ ప్రకారం.
లక్షణం: నెమ్మదిగా ఉన్నది ఎన్క్రిప్ట్ చేసిన ప్రొఫైల్ కాదు
ఒక పాత పరీక్ష AEAD సైఫర్ను „ఎన్క్రిప్షన్ లేని“ మోడ్తో పోలుస్తుందని అనుకుందాం, అది ఇప్పటికీ ప్రతి ప్యాకెట్కు ప్రత్యేక ధృవీకరణ కోడ్ను లెక్కిస్తుంది. రెండో ప్రొఫైల్ పేలోడ్ కంటెంట్ను దాచుతుంది కానీ ప్యాకెట్కు ఒక హాష్ను ఉంచుతుంది, మరియు ఆ హాష్కు వేగవంతం లేని ప్రాసెసర్పై అది ఓడించాల్సిన సమగ్ర నిర్మాణం కంటే ఎక్కువ ఖర్చు అవుతుంది.
కాన్ఫిగరేషన్లోని లేబుల్ „ఎన్క్రిప్షన్“ అని చెబుతుంది, మరియు చాలా పోలికలు చూసేది ఆ లేబుల్ను మాత్రమే. ప్యాకెట్ మార్గం వేరే విషయం చెబుతుంది: ఒక ప్రొఫైల్ CPUకి సూచనలు ఉన్న సంయుక్త కార్యకలాపాన్ని చేస్తుంది, మరోటి సూచనలు లేని ప్రత్యేక కార్యకలాపాన్ని చేస్తుంది. కాన్ఫిగరేషన్ ఫైల్ను మాత్రమే చదవడం ఆ భేదాన్ని ఎప్పటికీ వెల్లడించదు, ఎందుకంటే రెండు ఎంట్రీలు ఒక పంక్తిలా కనిపిస్తాయి. ఫలితాన్ని వివరించేది సమ్మతించిన మోడ్ మరియు దాని వెనుక ఉన్న కోడ్ మార్గం మాత్రమే.
ఇదే పూర్తి వివరణ, మరియు ఏ ఆదిమ అంశం ప్రపంచవ్యాప్తంగా వేగంగా ఉందనే వాదన దీనికి అవసరం లేదు. రెండూ వేగంగా ఉండవచ్చు, రెండూ నెమ్మదిగా ఉండవచ్చు, మరియు క్రమం యంత్రం మరియు కోడ్పై ఆధారపడి ఉంటుంది.
లేబుళ్లు కాదు, కార్యకలాపాలను లెక్కించండి
AEAD నిర్మాణం, RFC 5116 వివరించినట్లు, అమలుకు సైఫర్ టెక్స్ట్ మరియు ట్యాగ్ను కలిపి తిరిగి ఇచ్చే ఒకే ఇంటర్ఫేస్ను ఇస్తుంది. AES-GCM ఒక ఉదాహరణ: కౌంటర్ మోడ్ ఎన్క్రిప్షన్ Galois ధృవీకర్తతో కలిపినది. ఇంటర్ఫేస్ సమగ్రతను ఉచితం చేయదు; అది కలయికను బాగా నిర్వచించబడినదిగా చేస్తుంది, అదే అమలుకు జోడిని ఒక యూనిట్గా ఆప్టిమైజ్ చేయడానికి అనుమతిస్తుంది.
Separate authentication path: payload -> independent HMAC -> framed packet AEAD path: payload -> authenticated encryption with tag -> framed packet
ఇవి ప్రాసెసింగ్ స్కెచ్లు, కాన్ఫిగరేషన్ సలహాలు కావు. మొదటిదానికి గోప్యత లేదు కానీ అది ఇప్పటికీ ధృవీకరణపై CPU ఖర్చు చేస్తుంది, అందుకే „ఎన్క్రిప్షన్ ఆపివేయండి“ అనేది „క్రిప్టోగ్రాఫిక్ పని ఆపివేయండి“కి సమానార్థకం కాదు.
రెండోది చౌకగా ఉండవచ్చు ఎందుకంటే ప్రాసెసర్లు రెండు సగాలకు సూచనలు ఇస్తాయి: AES రౌండ్లు మరియు Galois క్షేత్రం ఉపయోగించే క్యారీ లేని గుణకారం. లైబ్రరీలు స్వతంత్ర బఫర్లను సమాంతరంగా ప్రాసెస్ చేస్తాయి, ఇది ఆ సూచనలను మెమరీ కోసం వేచి ఉండకుండా బిజీగా ఉంచుతుంది.
సమ్మతించిన మోడ్ నిజంగా ఏమి సాధ్యం చేస్తుంది
Community OpenVPNలో, AEAD డేటా సైఫర్ అంటే auth ఎంపిక ఇకపై తన స్వంత ప్రత్యేక డేటా ఛానెల్ HMACను అందించదు. ఎన్క్రిప్షన్ ఎంపిక సూచన ఆ పరిధిని వివరిస్తుంది, మరియు టెక్స్ట్ ఫైల్లో ఒకేలా కనిపించే రెండు కాన్ఫిగరేషన్లు ప్యాకెట్ పనిలో భిన్నంగా ఉండటానికి అదే కారణం.
కోరికల జాబితా కాదు, సమ్మతించిన మోడ్ చదవండి. అనుమతించిన సైఫర్ల జాబితా మరియు TLS సూట్ పేరు పేలోడ్పై ఏ కార్యకలాపాలు నడుస్తాయో చెప్పవు, మరియు పాత cipher పంక్తి ప్రస్తుత కనెక్షన్ ఏమి ఎంచుకుందో వివరించకపోవచ్చు.
openvpn --show-ciphers | head -20 sudo grep -E 'cipher|auth' /etc/openvpn/server.conf
మొదటి ఆదేశం బైనరీ మద్దతు ఇచ్చే సైఫర్లను జాబితా చేస్తుంది, అది సామర్థ్యాల జాబితా, సమ్మతించిన ఫలితం కాదు. రెండోది సర్వర్ నిజంగా ఏమి అడుగుతుందో చూపిస్తుంది. తుది ఎంపికను నిర్ధారించే స్థలం కనెక్షన్ లాగ్, ఎందుకంటే క్లయింట్ సర్వర్ అనుమతించే కానీ ఎవరూ ఉద్దేశించని దానిపై పడవచ్చు.
మీరు నిజంగా నడిపే భారాన్ని కొలవండి
క్రిప్టోగ్రాఫిక్ సూక్ష్మ కొలత ఒక ఆదిమ అంశాన్ని దాని స్వంత పరిస్థితుల్లో కొలుస్తుంది. VPN బదిలీ బఫర్లను కూడా కాపీ చేస్తుంది, థ్రెడ్లు లేదా అంతరాయాలను షెడ్యూల్ చేస్తుంది, విధానాన్ని తనిఖీ చేస్తుంది మరియు నెట్వర్క్ను దాటుతుంది. ఆ భాగాలే తరచుగా ఆధిపత్యం చెలాయిస్తాయి, అందుకే వేగమైన ఆదిమ అంశం ఎప్పుడూ వేగమైన సొరంగాన్ని ఇవ్వదు.
openssl speed -evp aes-256-gcm openssl speed -evp sha1
ఆ రెండు ఆదేశాలు మీ ముందున్న యంత్రంలో ఆదిమ అంశాల స్థూల స్థానిక పోలికను ఇస్తాయి, మరియు అవి సూక్ష్మ కొలతలు అని నిజాయితీగా ఉన్నాయి. అవి మీ సొరంగం throughput గురించి ఏమీ చెప్పవు, మరియు వాటిని ఎప్పుడూ అలా ఉల్లేఖించకూడదు.
తర్వాత మిగతావన్నీ స్థిరంగా ఉంచి ముఖ్యమైన భారాన్ని కొలవండి: అదే ముగింపు బిందువు, అదే ప్యాకెట్ పరిమాణాలు, అదే రవాణా, అదే కుదింపు విధానం. ప్రొఫైల్ మార్పు రవాణాను లేదా ప్రాసెసింగ్ స్థానాన్ని కూడా మార్చి ఉంటే, ఫలితం ఆ కట్టను వివరిస్తుంది, క్రిప్టోగ్రఫీని కాదు.
లక్ష్యాన్ని కూడా కంటికి ఎదురుగా ఉంచుకోండి. అదనపు క్రిప్టోగ్రాఫిక్ సామర్థ్యం ఉన్న డేటా మార్గం ఇప్పటికీ జాప్యంతో కట్టుబడి ఉండవచ్చు, ఎందుకంటే అప్లికేషన్ వెళ్లి-వచ్చే ప్రయాణాల కోసం వేచి ఉంటుంది, మరియు పెద్ద సామర్థ్య లాభాలు మాట్లాడే ప్రోటోకాల్ను సరిచేయవు. మద్దతు ఉన్న మరియు విధానం ఆమోదించిన కాన్ఫిగరేషన్ను మొత్తంగా కొలవండి, „తక్కువ పెట్టెలు అంటే వేగంగా ఉండాలి“ అనేది అది కలిగి ఉన్న పరికల్పనగానే పరిగణించండి. ఉపయోగకరమైన ప్రశ్న ఎన్క్రిప్షన్కు ఏదైనా ఖర్చు ఉందా అని కాదు, ఆ ఖర్చు మీరు నిజంగా పట్టించుకునే కొలతలో కనిపిస్తుందా అని.