दो सवाल तय करते हैं कि VPN की निजी कुंजी कहाँ की है: क्या कुंजी सामग्री को होस्ट से कॉपी किया जा सकता है, और क्या कोई प्रक्रिया उसे कीबोर्ड पर किसी के बिना इस्तेमाल कर सकती है। भंडार का विपणन लेबल दोनों का जवाब नहीं देता। वह टनल डेमॉन जिसे पुनः आरंभ के बाद लौटना है, बिना निगरानी उपयोग चाहता है, जो हर उस चीज़ को बाहर करता है जो इंसान के टाइप किए PIN पर टिकी हो।

कॉपी और उपयोग के बीच चुनें

कॉपी और उपयोग अलग-अलग तरह से विफल होते हैं, इसलिए इन्हें एक नहीं दो आवश्यकताएँ मानें। जो हमलावर कुंजी के बाइट पढ़ सकता है वह पहचान को दूसरे होस्ट पर ले जाता है, और मूल मशीन को पता नहीं चलता। जो हमलावर बाइट नहीं पढ़ सकता पर हस्ताक्षर प्रक्रिया तक पहुँच जाता है, वह उस पहुँच के दौरान प्रमाणित बना रहता है।

फ़ाइल में कुंजी तुच्छ रूप से कॉपी हो जाती है, इसलिए उसका बैकअप और पुनर्स्थापन भी सबसे आसान है। सॉफ़्टवेयर कुंजी भंडार API बदलता है, सीमा नहीं: प्रदाता अपनी ही निर्यात कॉल अस्वीकार करता है, पर जिस प्रशासक संदर्भ ने कुंजी स्थापित की, उसके पास आमतौर पर सामग्री तक दूसरे रास्ते होते हैं। सॉफ़्टवेयर प्रदाता में गैर-निर्यातनीय होना समर्थित संचालनों के बारे में कथन है, हार्डवेयर दीवार का प्रमाण नहीं। इसे आकस्मिक कॉपी के खिलाफ़ गति-अवरोधक मानें, उस व्यक्ति से सुरक्षा नहीं जिसके पास पहले से आपका सत्र है।

TPM या स्मार्ट कार्ड हस्ताक्षर संचालन हार्डवेयर के भीतर करता है और केवल परिणाम लौटाता है। यह कॉपी का रास्ता बंद करता है और उपयोग का रास्ता हर उस चीज़ के लिए खुला छोड़ता है जो हस्ताक्षर माँग सके।

भंडार को टनल डेमॉन से मिलाएँ

डेमॉन इसे सुरक्षा नीति से अधिक सीमित करता है। WireGuard फ़ाइल या wg set इनपुट से base64 निजी कुंजी लेता है और प्रमाणपत्र भंडार तक कोई रास्ता नहीं रखता, इसलिए TPM समर्थित इंटरफ़ेस कुंजी विचार में नहीं है। OpenSSL 3 के विरुद्ध बना OpenVPN कुंजी को प्रदाता URI से लोड कर सकता है, और strongSwan PKCS#11 समर्थन के साथ TPM प्लगइन देता है, पर दोनों इस पर निर्भर हैं कि आपका पैकेज कैसे संकलित हुआ।

जो डेमॉन चुने गए भंडार तक नहीं पहुँच सकता वह हार्डवेयर सीमा को सजावट बना देता है। कोई कुंजी एक बार निर्यात करता है, फ़ाइल में छोड़ देता है, और शेष डिज़ाइन चुपचाप उसी प्रति पर चलता है।

नवीनीकरण मिलान का दूसरा आधा है, और यहीं अधिकांश डिज़ाइन बिखरते हैं। जो भंडार पहले नामांकन पर काम करता है पर हर पुनः जारी करने के लिए कंसोल लॉगिन माँगता है, वह पहली बार बायपास हो जाता है जब प्रमाणपत्र किसी असुविधाजनक घंटे में समाप्त हो। पुनः जारी करने का रास्ता तब जाँचें जब मौजूदा कुंजी के अभी महीने बाकी हों।

कुंजी को स्थानांतरित करने से पहले सूची बनाएँ

कुंजी क्या है यह, और उसे कहाँ रखना है यह बदलने से पहले लिख लें, क्योंकि जो स्थानांतरण subject alternative names खो देता है वह टनल को ऐसे तोड़ता है जो रूटिंग विफलता जैसा पढ़ा जाता है। प्रमाणपत्र निकालें, पुष्टि करें कि निजी कुंजी वहाँ पढ़ी जा सकती है जहाँ डेमॉन उसकी अपेक्षा करता है, और जाँचें कि जोड़ी वास्तव में मेल खाती है।

openssl x509 -in vpn.crt -noout -subject -ext subjectAltName
openssl pkey -in vpn.key -check -noout
openssl x509 -in vpn.crt -noout -pubkey | openssl sha256
openssl pkey -in vpn.key -pubout | openssl sha256

अंतिम दो सारांश समान होने चाहिए। यदि नहीं, डेमॉन सेटअप पूरा करता है और फिर हर प्रयास में प्रमाणपत्र या हस्ताक्षर त्रुटि से विफल होता है जो असली कारण के कहीं निकट संकेत नहीं करती। WireGuard का समतुल्य छोटा है, क्योंकि सार्वजनिक कुंजी सीधे निजी से व्युत्पन्न होती है: wg pubkey < /etc/wireguard/wg0.key को वह सहकर्मी कुंजी छापनी चाहिए जो आपका सर्वर पहले से संग्रहीत रखता है।

अनुमतियाँ उसी सूची का हिस्सा हैं। stat -c '%a %U:%G' /etc/wireguard/wg0.key को 600 root:root लौटाना चाहिए, और जो कुछ समूह या संसार के लिए पढ़ा जा सके उसका अर्थ है कि कुंजी पहले से उन प्रक्रियाओं के लिए उपलब्ध थी जिनकी आपने कभी कल्पना नहीं की।

भंडार और उपयोग का रास्ता जाँचें

सत्यापन के तीन भाग हैं, और तीसरा वही है जो छोड़ दिया जाता है। पुष्टि करें कि कुंजी चुने गए भंडार में मौजूद है, पुष्टि करें कि डेमॉन ने वही कुंजी लोड की न कि बची हुई प्रति, और फिर पुष्टि करें कि निर्यात कलाकृति जाने के बाद भी वह शुरू होता है।

certutil -store -user My
certutil -csp "Microsoft Platform Crypto Provider" -key -user
certutil -verifykeys -user My
ipsec listcerts

Windows पर पहला कमांड व्यक्तिगत भंडार सूचीबद्ध करता है और हर प्रविष्टि के साथ कुंजी प्रदाता छापता है, और वहीं ऐसा प्रमाणपत्र दिखता है जो हार्डवेयर-समर्थित लगता है पर सॉफ़्टवेयर प्रदाता में बैठा है। दूसरा प्लेटफ़ॉर्म क्रिप्टो प्रदाता की रखी कुंजियाँ सूचीबद्ध करता है, इसलिए वहाँ अनुपस्थित VPN पहचान जबकि उसका प्रमाणपत्र मौजूद हो, इसका अर्थ है कि निजी आधा कहीं और रहता है। Linux गेटवे पर ipsec listcerts बताता है कि strongSwan ने क्या लोड किया, TPM प्लगइन से आई कुंजियों सहित। प्रविष्टियों की संख्या पर भरोसे के बजाय फ़िंगरप्रिंट या सार्वजनिक कुंजी हैश की सूची से तुलना करें।

नकारात्मक परीक्षण वही है जो डिज़ाइन सिद्ध करता है। निर्यातित कुंजी को डेमॉन की कॉन्फ़िगरेशन निर्देशिका से बाहर ले जाएँ, सेवा पुनः आरंभ करें और लॉग में पढ़ें कि वह कौन सी पहचान प्रस्तुत करता है। जो टनल फिर भी ऊपर आती है वह भंडार का उपयोग कर रही है; विफल प्रारंभ का अर्थ है कि डिज़ाइन वास्तव में प्रति पर चल रहा था।

नवीनीकरण और वापसी लिखें

वापसी दोनों परिवारों में तीव्रता से भिन्न है, और वह अंतर डिज़ाइन नोट का हिस्सा है, घटना कॉल का नहीं। फ़ाइल कुंजी को एन्क्रिप्टेड बैकअप और पुनर्स्थापित किया जा सकता है, इसलिए विफल स्थानांतरण उलटा जा सकता है। गैर-निर्यातनीय कुंजी का बैकअप बिलकुल नहीं हो सकता, जो उपकरण मरने पर पुनः जारी करने और पुनः नामांकन को बहाली का एकमात्र रास्ता बना देता है।

समाप्ति को रुकावट बनने से पहले जाँचें: openssl x509 -in vpn.crt -noout -checkend 2592000 गैर-शून्य कोड के साथ समाप्त होता है जब प्रमाणपत्र तीस दिनों में समाप्त हो, इसलिए यह सीधे निगरानी जाँच में आ जाता है। उस पंक्ति का साप्ताहिक चलना उस नवीनीकरण को पकड़ता है जिसे किसी ने नियोजित नहीं किया था।

हटाना सर्वर पर होता है: सहकर्मी हटाएँ या क्रम संख्या निरस्त करें, फिर पुष्टि करें कि टनल विफल होती है, क्योंकि कैश सत्र वाला क्लाइंट आधा पूरा निरसन कुछ समय छिपा सकता है। निरसन को केवल CA डेटाबेस तक नहीं, कॉन्संट्रेटर के CRL या OCSP रास्ते तक भी पहुँचना चाहिए। प्रमाणपत्र सार्वजनिक दस्तावेज़ है, और RFC 5280 प्रोफ़ाइल बताता है कि उसका सत्यापन कैसे होता है; उस सत्यापन का कोई भाग रोटेशन से पहले कॉपी की गई निजी कुंजी की रक्षा नहीं करता।

निर्णय एक जगह लिखें: कौन सा भंडार कुंजी रखता है, कौन सी प्रक्रिया उसे इस्तेमाल कर सकती है, कौन उसे फिर से जारी कर सकता है और वापसी क्या है। वही अनुच्छेद है जो लेखा परीक्षक पूछते हैं, और वही जो कर्मचारी परिवर्तन से बचता है।

संबंधित लेख