కొత్త VPN WireGuard ఇంప్లిమెంటేషన్ FreeBSD కోడ్‌బేస్‌కు జోడించబడింది

FreeBSD సోర్స్ ట్రీ కొత్త VPN WireGuard అమలుతో కొత్త VPN WireGuard అమలుతో సవరించబడింది, ఇది కోర్ FreeBSD మరియు WireGuard డెవలప్‌మెంట్ టీమ్‌లు సంయుక్తంగా రూపొందించిన కెర్నల్ మాడ్యూల్ నుండి కోడ్ ఆధారంగా VPN WireGuard రచయిత జాసన్ A. డోనెన్‌ఫెల్డ్ మరియు జాన్ H. బాల్డ్‌విన్ ఇన్‌పుట్‌తో రూపొందించబడింది. 2000ల ప్రారంభంలో FreeBSD కెర్నల్‌లో SMP మరియు NUMA మద్దతును అమలు చేసిన GDB మరియు FreeBSD యొక్క ప్రసిద్ధ డెవలపర్. ఒక డ్రైవర్ FreeBSD (sys/dev/wg)లోకి అంగీకరించబడిన తర్వాత, అది ఇక నుండి FreeBSD రిపోజిటరీలో అభివృద్ధి చేయబడుతుంది మరియు నిర్వహించబడుతుంది.

కోడ్ ఆమోదించబడటానికి ముందు, FreeBSD ఫౌండేషన్ మద్దతుతో మార్పుల యొక్క పూర్తి సమీక్ష నిర్వహించబడింది, ఈ సమయంలో మిగిలిన కెర్నల్ సబ్‌సిస్టమ్‌లతో డ్రైవర్ యొక్క పరస్పర చర్య కూడా విశ్లేషించబడింది మరియు అందించిన క్రిప్టోగ్రాఫిక్ ప్రిమిటివ్‌లను ఉపయోగించే అవకాశం ఉంది. కెర్నల్ మూల్యాంకనం చేయబడింది.

డ్రైవర్‌కు అవసరమైన క్రిప్టోగ్రాఫిక్ అల్గారిథమ్‌లను ఉపయోగించడానికి, FreeBSD కెర్నల్ క్రిప్టో సబ్‌సిస్టమ్ API విస్తరించబడింది, లిబ్సోడియం లైబ్రరీ నుండి అవసరమైన అల్గారిథమ్‌ల అమలును ఉపయోగించి ప్రామాణిక క్రిప్టో API ద్వారా FreeBSDలో మద్దతు లేని అల్గారిథమ్‌లను ఉపయోగించడానికి అనుమతించే బైండింగ్ జోడించబడింది. ఫ్రీబిఎస్‌డిలో అందించబడిన ఈ అల్గోరిథం అమలు స్థిరమైన హాష్ పరిమాణంతో ముడిపడి ఉన్నందున, డ్రైవర్‌లో నిర్మించిన అల్గారిథమ్‌లలో, బ్లేక్2 హ్యాష్‌లను లెక్కించడానికి కోడ్ మాత్రమే మిగిలి ఉంది.

అదనంగా, సమీక్ష ప్రక్రియలో, కోడ్ ఆప్టిమైజేషన్ నిర్వహించబడింది, ఇది బహుళ-కోర్ CPUలపై లోడ్ పంపిణీ సామర్థ్యాన్ని పెంచడం సాధ్యం చేసింది (CPU కోర్లకు ఎన్‌క్రిప్షన్ మరియు ప్యాకెట్ డిక్రిప్షన్ టాస్క్‌ల యొక్క ఏకరీతి బ్యాలెన్సింగ్ నిర్ధారించబడింది). ఫలితంగా, ప్రాసెసింగ్ ప్యాకెట్‌ల ఓవర్‌హెడ్ Linux కోసం డ్రైవర్ అమలుకు దగ్గరగా వచ్చింది. ఎన్క్రిప్షన్ కార్యకలాపాలను వేగవంతం చేయడానికి ossl డ్రైవర్‌ను ఉపయోగించగల సామర్థ్యాన్ని కూడా కోడ్ అందిస్తుంది.

WireGuardని FreeBSDకి అనుసంధానించే మునుపటి ప్రయత్నం వలె కాకుండా, కొత్త అమలు ifconfig యొక్క సవరించిన సంస్కరణ కంటే స్టాక్ wg యుటిలిటీని ఉపయోగిస్తుంది, ఇది Linux మరియు FreeBSDలో కాన్ఫిగరేషన్‌ను ఏకీకృతం చేయడం సాధ్యపడుతుంది. wg యుటిలిటీ, అలాగే డ్రైవర్, ఫ్రీబిఎస్‌డి సోర్సెస్‌లో చేర్చబడింది, ఇది wg కోడ్‌కి లైసెన్స్ మార్పు ద్వారా సాధ్యమైంది (కోడ్ ఇప్పుడు MIT మరియు GPL లైసెన్స్‌ల క్రింద అందుబాటులో ఉంది). ఫ్రీబిఎస్‌డిలో వైర్‌గార్డ్‌ను చేర్చడానికి చివరి ప్రయత్నం 2020లో జరిగింది, అయితే కుంభకోణంలో ముగిసింది, దీని ఫలితంగా పేలవమైన నాణ్యత, అజాగ్రత్త బఫర్ నిర్వహణ, తనిఖీలకు బదులుగా స్టబ్‌ల వాడకం, ప్రోటోకాల్ అసంపూర్తిగా అమలు చేయడం వంటి కారణాల వల్ల ఇప్పటికే జోడించిన కోడ్ తొలగించబడింది. మరియు GPL లైసెన్స్ ఉల్లంఘన.

VPN వైర్‌గార్డ్ ఆధునిక ఎన్‌క్రిప్షన్ పద్ధతుల ఆధారంగా అమలు చేయబడిందని, చాలా ఎక్కువ పనితీరును అందిస్తుంది, ఉపయోగించడానికి సులభమైనది, సంక్లిష్టతలు లేనిది మరియు పెద్ద మొత్తంలో ట్రాఫిక్‌ను ప్రాసెస్ చేసే అనేక పెద్ద విస్తరణలలో నిరూపించబడిందని గుర్తుంచుకోండి. ప్రాజెక్ట్ 2015 నుండి అభివృద్ధి చెందుతోంది, ఉపయోగించిన ఎన్‌క్రిప్షన్ పద్ధతుల యొక్క ఆడిట్ మరియు అధికారిక ధృవీకరణను ఆమోదించింది. WireGuard ఎన్‌క్రిప్షన్ కీ రూటింగ్ భావనను ఉపయోగిస్తుంది, ఇందులో ప్రతి నెట్‌వర్క్ ఇంటర్‌ఫేస్‌కు ప్రైవేట్ కీని బైండింగ్ చేయడం మరియు బైండ్ చేయడానికి పబ్లిక్ కీలను ఉపయోగించడం వంటివి ఉంటాయి.

కనెక్షన్‌ని స్థాపించడానికి పబ్లిక్ కీల మార్పిడి SSH వలె ఉంటుంది. ప్రత్యేక వినియోగదారు-స్పేస్ డెమోన్‌ని అమలు చేయకుండా కీలను చర్చించడానికి మరియు కనెక్ట్ చేయడానికి, SSHలో అధీకృత_కీలను నిర్వహించడం వలె నాయిస్ ప్రోటోకాల్ ఫ్రేమ్‌వర్క్ యొక్క Noise_IK మెకానిజం ఉపయోగించబడుతుంది. UDP ప్యాకెట్లలో ఎన్‌క్యాప్సులేషన్ ద్వారా డేటా ట్రాన్స్‌మిషన్ జరుగుతుంది. ఆటోమేటిక్ క్లయింట్ రీకాన్ఫిగరేషన్‌తో కనెక్షన్‌ను విచ్ఛిన్నం చేయకుండా VPN సర్వర్ (రోమింగ్) యొక్క IP చిరునామాను మార్చడానికి ఇది మద్దతు ఇస్తుంది.

ఎన్‌క్రిప్షన్ ChaCha20 స్ట్రీమ్ సాంకేతికలిపిని మరియు డేనియల్ J. బెర్న్‌స్టెయిన్, తంజా లాంగే మరియు పీటర్ ష్వాబేచే అభివృద్ధి చేయబడిన Poly1305 సందేశ ప్రమాణీకరణ (MAC) అల్గారిథమ్‌ను ఉపయోగిస్తుంది. ChaCha20 మరియు Poly1305 AES-256-CTR మరియు HMAC యొక్క వేగవంతమైన మరియు మరింత సురక్షితమైన అనలాగ్‌లుగా ఉంచబడ్డాయి, దీని యొక్క సాఫ్ట్‌వేర్ అమలు ప్రత్యేక హార్డ్‌వేర్ మద్దతు లేకుండా స్థిరమైన అమలు సమయాన్ని సాధించడానికి అనుమతిస్తుంది. భాగస్వామ్య రహస్య కీని రూపొందించడానికి, Daniel Bernstein చే ప్రతిపాదించబడిన కర్వ్25519 అమలులో దీర్ఘవృత్తాకార వక్రత Diffie-Hellman ప్రోటోకాల్ ఉపయోగించబడుతుంది. హ్యాషింగ్ కోసం, BLAKE2s అల్గోరిథం (RFC7693) ఉపయోగించబడుతుంది.

మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి