एउटै गेटवेमा दुई प्रोफाइल मापन गरिन्छ, एउटा इन्क्रिप्शनसँग र एउटा त्यसबिना, र इन्क्रिप्टेड भएको ढिलो हुँदैन। कहिलेकाहीँ त्यो छिटो हुन्छ, जसले सामान्यतया परीक्षण ठीकसँग गरिएको थियो कि भन्ने लामो बहस निम्त्याउँछ। नतिजा विश्वसनीय छ, किनकि प्याकेटको लागत कन्फिगरेसनमा भएका क्रिप्टोग्राफिक शब्दहरूको संख्या होइन। त्यो कार्यान्वयनले गर्ने क्रियाकलापहरूको समूह हो, उसको हातमा भएको हार्डवेयरमा, र उसले छानेको बफर लेआउटअनुसार।

लक्षण: ढिलो त्यो इन्क्रिप्टेड प्रोफाइल होइन

मान्नुहोस् कि कुनै पुरानो परीक्षणले 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

ती दुई आदेशले तपाईंको अगाडिको मेसिनमा आदिम तत्त्वहरूको एक मोटामोटी स्थानीय तुलना दिन्छ, र ती सूक्ष्म-मापन भएकोमा इमानदार छन्। ती तपाईंको सुरुङको थ्रुपुटबारे केही भन्दैनन्, र तिनलाई कहिल्यै त्यसरी उद्धृत गर्नु हुँदैन।

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

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

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