धेरैजसो मानिसले VPN प्रोफाइलमा nonce शब्द भेट्छन् र यो साथीहरूबीच प्रतिलिपि गर्ने अर्को साझा गोप्य कुरा हो भनी ठान्छन्। त्यस्तो होइन। nonce एउटा मान हो जुन एउटै कुञ्जीमुनि कहिल्यै दोहोरिनु हुँदैन, र nonce-आधारित धेरैजसो इन्क्रिप्शनमा यो खुला रूपमा यात्रा गर्छ। भ्रम तबसम्म हानिरहित रहन्छ जबसम्म कसैले यसलाई हातले सम्पादन गर्दैन, र वास्तविक क्षति त्यहीँबाट सुरु हुन्छ।

nonce वास्तवमा कहाँबाट आउँछ

प्रमाणित इन्क्रिप्शनलाई कुञ्जीमुनि इन्क्रिप्ट गरिएको प्रत्येक सन्देशको लागि फरक nonce चाहिन्छ। प्रोटोकलहरूले यो आवश्यकता विभिन्न तरिकाले पूरा गर्छन्: एकनासले बढ्ने काउन्टर, प्याकेट पहिचानकर्तासँग मिसाइएको नुन, वा पर्याप्त लामो अनियमित मान। IKEv2 ले प्रारम्भिक आदानप्रदानमा nonce आदानप्रदान गर्छ, र ती गोप्य होइनन्, कुञ्जी व्युत्पत्तिका लागि सार्वजनिक इनपुट हुन्।

अद्वितीयता संरचनात्मक वा सम्भाव्यात्मक हुन सक्छ। काउन्टर र्याप नभएसम्म दोहोरिन सक्दैन, त्यसैले प्रोटोकलले त्यसभन्दा धेरै अघि कुञ्जी नवीकरण बिन्दु परिभाषित गर्छ। अनियमित मान सन्देश सीमाभित्र टक्कर असम्भवनीय हुन पर्याप्त बिटमा निर्भर हुन्छ, जो फरक असफलता विधि भएको फरक तर्क हो। प्रोटोकल कागजातले कुन विधि लागू हुन्छ भन्छ, र दुवै घोषित सीमा पालना गरिएसम्म मात्र सुरक्षित हुन्छन्।

DesignWhere uniqueness comes fromExhaustion is handled by
AES-GCM recordsAn IV, typically a counterRekey before the counter wraps
ChaCha20-Poly1305A 96-bit nonce from a counter or generatorA message limit per key
WireGuardA per-key 64-bit counterRekey at a message cap
OpenVPN AEADPacket identifier plus implicit key materialRekey on the packet-id limit
IKEv2Fresh nonces per exchangeA new security association

पुनःप्रयोगको वास्तविक मूल्य

एउटै कुञ्जीमुनि nonce पुनःप्रयोग गर्नु सानो दक्षताको प्रश्न होइन। GCM सँग, एउटै IV साझा गर्ने दुई सन्देशले अवलोकनकर्तालाई प्रमाणीकरण कुञ्जी पुनःप्राप्त गर्न र दुई स्पष्ट पाठहरूको विशेष-वा गणना गर्न दिन्छ। स्ट्रिम-आधारित संरचनाहरूले उही तरिकाले कुञ्जी-स्ट्रिम पुनःप्रयोग गर्छन्, जसले सिफरटेक्स्टलाई गोप्यताको सट्टा पहेली बनाउँछ।

त्यसैले कार्यान्वयनहरूले काउन्टर र्याप हुनुअघि कुञ्जी नवीकरण गर्छन्, र त्यसैले तिनीहरूको अवस्था अनिश्चित हुँदा जारी राख्नुको सट्टा रोकिन्छन्। साथीले अझै पुरानो कुञ्जी राखिरहेको बेला काउन्टर रिसेट गर्ने रिबुट, वा सत्रको बीचमा लिइएको स्न्यापसटबाट पुनर्स्थापित भर्चुअल मेसिन, सीमाहरू रोक्नका लागि अवस्थित ठ्याक्कै त्यही परिस्थिति हो। कुनै आक्रमणकारी आवश्यक छैन; सामान्य सञ्चालनहरू पर्याप्त छन्।

हातले सम्पादन किन गलत उपाय हो

काउन्टर, नुन र प्याकेट पहिचानकर्ताहरू दुवै छेउले साझा गर्ने अवस्था मेसिनहरू हुन्। एउटा पक्ष बदल्दा अर्को पक्ष सिङ्कमा रहँदैन, र टनेल राउटिङ समस्याजस्तो देखिने तरिकाले असफल हुन्छ। समर्थित लिभर नयाँ कुञ्जी आदानप्रदान हो, जसले एकैचोटि दुवै छेउको अवस्था रिसेट गर्छ।

पासवर्ड र nonce ले पनि फरक भूमिका खेल्छन्। पासवर्ड कुञ्जी व्युत्पत्तिका लागि गोप्य इनपुट हो; nonce प्रत्येक सन्देशको सार्वजनिक इनपुट हो। nonce लेबल भएको प्रोफाइल फिल्ड जसले लामो गोप्य माग गर्छ, सामान्यतया अर्को नाममुनि स्थिर कुञ्जी वा पहिले नै साझा गरिएको गोप्य हो, त्यसैले अनुमान गर्नुको सट्टा त्यो फिल्डको कागजात पढ्नुहोस्।

जब सल्लाह nonce ह्यान्डलिङसँग सम्बन्धित हुन्छ, समाधान मर्मतकर्ताको सुधारिएको संस्करण हो, अर्को सिफर वा छोटो कुञ्जी होइन। nonce शब्दबाट बच्न सिफर बदल्नु समस्या समाधान गर्नुको सट्टा सार्नु हो।

अनुमान नगरी चेतावनी पढ्नु

काउन्टर वा nonce बारेको लग लाइनले सामान्यतया आक्रमणको सट्टा हराएको अवस्था वर्णन गर्छ। एउटा साथी पुनः सुरु भयो कि भएन, क्लोन गरिएको भर्चुअल मेसिनले उही पहिचान पुनःप्रयोग गर्यो कि गरेन, र दुवै छेउ कुञ्जी नवीकरण सेटिङमा सहमत छन् कि छैनन् जाँच्नुहोस्। त्यसपछि नयाँ सत्र स्थापना गर्नुहोस् र सन्देश फर्कन्छ कि फर्कँदैन हेर्नुहोस्।

निदानलाई असम्बन्धित असफलताबाट अलग राख्नुहोस्। लोड नहुने पृष्ठ, वा लूपमा घुम्ने प्रमाणपत्र प्रम्प्ट, nonce पुनःप्रयोगको प्रमाण होइन, र त्यसलाई त्यसरी लिनुले समस्या त्यसको माथि हुँदा तपाईंलाई क्रिप्टोग्राफिक तहमा पठाउँछ।

सामान्य प्रयोगका लागि, सुरक्षित नियम छोटो छ: nonce कार्यान्वयनले व्यवस्थापन गरोस्, दुवै छेउ समर्थित संस्करणमा राख्नुहोस्, र कुनै पनि अवस्था रिसेटलाई मान सम्पादन गर्नुको सट्टा कुञ्जी नवीकरण गर्ने कारण मान्नुहोस्। यदि प्रोफाइल फिल्ड विक्रेताको कागजातमा छैन भने, त्यसका लागि मान नबनाउनुहोस्। टनेल सुधार्नु भनेको तपाईं कुन तह हेर्दै हुनुहुन्छ भन्ने जान्नबाट सुरु हुन्छ।

सम्बन्धित लेखहरू