వైర్గార్డ్ VPN రచయిత అయిన జాసన్ ఎ. డోనెన్ఫెల్డ్, విండోస్ 1.0 కోసం వైర్గార్డ్ క్లయింట్ సాఫ్ట్వేర్ యొక్క మొదటి ప్రధాన విడుదలను, అలాగే ఒక పోర్ట్తో కూడిన వైర్గార్డ్ NT 1.0 డ్రైవర్లను విడుదల చేశారు. VPN విండోస్ 10 మరియు 11 కెర్నల్ కోసం వైర్గార్డ్, ఇది AMD64, x86, మరియు ARM64 ఆర్కిటెక్చర్లకు మద్దతు ఇస్తుంది. విండోస్ కెర్నల్ కాంపోనెంట్ కోడ్ GPLv2 క్రింద లైసెన్స్ చేయబడింది మరియు క్లయింట్ సాఫ్ట్వేర్ MIT లైసెన్స్ క్రింద లైసెన్స్ చేయబడింది.
ఈ పోర్ట్, లైనక్స్ కెర్నల్ కోసం ఉన్న ప్రధాన వైర్గార్డ్ ఇంప్లిమెంటేషన్ యొక్క కోడ్బేస్పై ఆధారపడి ఉంటుంది. దీనిని విండోస్ కెర్నల్ ఎంటిటీలు మరియు NDIS నెట్వర్క్ స్టాక్ను ఉపయోగించేలా మార్చారు. యూజర్ స్పేస్లో నడుస్తూ, వింటన్ నెట్వర్క్ ఇంటర్ఫేస్ను ఉపయోగించే వైర్గార్డ్-గో ఇంప్లిమెంటేషన్తో పోలిస్తే, వైర్గార్డ్ఎన్టి కాంటెక్స్ట్ స్విచ్లను తొలగించడం మరియు ప్యాకెట్ కంటెంట్లను కెర్నల్ నుండి యూజర్ స్పేస్కు కాపీ చేయడం ద్వారా గణనీయమైన పనితీరు మెరుగుదలలను అందిస్తుంది. లైనక్స్, ఓపెన్బిఎస్డి, మరియు ఫ్రీబిఎస్డిల ఇంప్లిమెంటేషన్ల మాదిరిగానే, వైర్గార్డ్ఎన్టిలోని ప్రోటోకాల్ ప్రాసెసింగ్ లాజిక్ అంతా నేరుగా నెట్వర్క్ స్టాక్ స్థాయిలో నడుస్తుంది.
వెర్షన్ 1.0 ఒక మైలురాయిగా గుర్తించబడింది, ఇది అనేక సమస్యల పరిష్కారాన్ని మరియు ఉద్దేశించిన పనుల నెరవేర్పును సూచిస్తుంది, అవి: డ్రైవర్ స్థితిని రిజర్వ్డ్ ఫీల్డ్లో తక్కువ సురక్షితమైన పద్ధతిలో నిల్వ చేయడానికి బదులుగా NdisWdfGetAdapterContextFromAdapterHandle() ఫంక్షన్ను ఉపయోగించడం మరియు డాక్యుమెంట్ చేయని ఆఫ్సెట్లను ఉపయోగించడం; సిస్టమ్ కాల్స్ను అడ్డగించడం ద్వారా MTU (మాక్సిమం ట్రాన్స్మిషన్ యూనిట్) పరిమాణాన్ని సరిగ్గా మరియు వెంటనే ట్రాక్ చేయడం; కోడ్లో C23 ప్రమాణాన్ని ఉపయోగించడం.
గుర్తుచేసుకుంటే, వైర్గార్డ్ VPN ఆధునిక ఎన్క్రిప్షన్ పద్ధతులపై ఆధారపడి ఉంటుంది, అసాధారణమైన పనితీరును అందిస్తుంది, ఉపయోగించడానికి సులభంగా ఉంటుంది, సంక్లిష్టతలు లేకుండా ఉంటుంది మరియు అధిక పరిమాణంలో ట్రాఫిక్ను నిర్వహించే అనేక పెద్ద-స్థాయి విస్తరణలలో తనను తాను నిరూపించుకుంది. ఈ ప్రాజెక్ట్ 2015 నుండి అభివృద్ధిలో ఉంది మరియు దాని ఎన్క్రిప్షన్ పద్ధతులపై ఆడిట్ మరియు ఫార్మల్ వెరిఫికేషన్కు గురైంది. వైర్గార్డ్ కీ-ఆధారిత ఎన్క్రిప్షన్ రూటింగ్ కాన్సెప్ట్ను ఉపయోగిస్తుంది, దీనిలో ప్రతి నెట్వర్క్ ఇంటర్ఫేస్కు ఒక ప్రైవేట్ కీని బైండ్ చేయడం మరియు కీ బైండింగ్ కోసం పబ్లిక్ కీలను ఉపయోగించడం జరుగుతుంది.
కనెక్షన్ను స్థాపించడానికి పబ్లిక్ కీల మార్పిడి SSH మాదిరిగానే ఉంటుంది. కీలను చర్చించడానికి మరియు వినియోగదారు స్థలంలో ప్రత్యేక డెమోన్ను అమలు చేయకుండా కనెక్ట్ చేయడానికి, SSHలో అధీకృత_కీల నిర్వహణ మాదిరిగానే, నాయిస్ ప్రోటోకాల్ ఫ్రేమ్వర్క్ నుండి Noise_IK మెకానిజం ఉపయోగించబడుతుంది. UDP ప్యాకెట్లలో ఎన్క్యాప్సులేషన్ ద్వారా డేటా బదిలీ జరుగుతుంది. మార్చడానికి మద్దతు ఉంది. IP చిరునామాలు ఆటోమేటిక్ క్లయింట్ రీకాన్ఫిగరేషన్తో కనెక్షన్ అంతరాయం లేకుండా VPN సర్వర్లు (రోమింగ్).
డేనియల్ జె. బెర్న్స్టీన్, తాన్యా లాంగే మరియు పీటర్ ష్వాబే అభివృద్ధి చేసిన చాచా20 స్ట్రీమ్ సైఫర్ మరియు పాలీ1305 మెసేజ్ అథెంటికేషన్ అల్గోరిథం (MAC) ఎన్క్రిప్షన్ కోసం ఉపయోగించబడతాయి. చాచా20 మరియు పాలీ1305, AES-256-CTR మరియు HMAC లకు వేగవంతమైన మరియు మరింత సురక్షితమైన ప్రత్యామ్నాయాలుగా ప్రచారం చేయబడుతున్నాయి. వీటి సాఫ్ట్వేర్ ఇంప్లిమెంటేషన్, ప్రత్యేక హార్డ్వేర్ మద్దతు అవసరం లేకుండానే నిర్ణీత-సమయ అమలుకు అనుమతిస్తుంది. డేనియల్ బెర్న్స్టీన్ ప్రతిపాదించిన కర్వ్25519 ఇంప్లిమెంటేషన్లో, ఎలిప్టిక్ కర్వ్ డిఫీ-హెల్మాన్ ప్రోటోకాల్ను ఉపయోగించి షేర్డ్ సీక్రెట్ కీని రూపొందిస్తారు. హ్యాషింగ్ కోసం BLAKE2s అల్గోరిథం (RFC7693) ఉపయోగించబడుతుంది.
మూలం: opennet.ru
