संदेश प्रमाणीकरण कोड (मैसेज ऑथेंटिकेशन कोड)

 

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

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

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

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

औपचारिक रूप से, एक संदेश प्रमाणीकरण कोड (मैक) प्रणाली कुशल एल्गोरिथ्म (जी, एस, वी) का एक तिहाई संतोषजनक है:
 * G (कुंजी-जनित्र) निविष्ट 1n पर कुंजी k देता है। जहाँ n सुरक्षा मापदंड है।
 * S (हस्ताक्षर) कुंजी k और निविष्ट श्रृंखला x पर एक उपनाम t निर्गत करता है।
 * V (सत्यापन) निविष्ट पर स्वीकृत या अस्वीकृत निर्गत: कुंजी k, श्रृंखला x और उपनाम t।

S और V को निम्नलिखित को संतुष्ट करना चाहिए:


 * Pr [k ← G (1n), V ( k, x, S (k, x)) = स्वीकृत] = 1।

प्रत्येक कुशल विरोधी A के लिए एक मैक अक्षम्य है


 * Pr ['k ← G(1n), (x, t) ←, AS(k, · )(1n) x∉ प्रश्नचिह्न AS(k, · )(1n) V(k, x, t) = स्वीकृत] < उपेक्षा (n),

जहाँ एकS(k, · ) दर्शाता है कि A की भविष्यवाणी S(k,·), तक पहुँच है, और प्रश्नचिह्न(AS(k,.), (1n) A द्वारा S पर किए गए प्रश्नों की स्थिति को दर्शाता है, जो n जानता है। स्पष्ट रूप से हमे आवश्यकता है कि कोई भी विरोधी सीधे श्रृंखला x को S पर प्रश्नचिह्न नहीं कर सकता है, अन्यथा उस विरोधी द्वारा एक वैध उपनाम आसानी प्राप्त किया जा सकता है।

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

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

कार्यान्वयन
मैक एल्गोरिथ्म को अन्य कूटलेखन आदिम से बनाया जा सकता है, जैसे कूटलेखन हैश फंक्शन (एचएमएसी के मामले में) या बंद संकेताक्षर एल्गोरिथ्म (ओएमएसी, सीसीएम,जीसीएम और पीएमएसी) से। हालांकि कई सबसे तेज मैक एल्गोरिथ्म जैसे यूएमएसी-वीएमएसी और पॉली1305-एईएस सार्वभौमिक हैशिंग पर आधारित हैं।

आंतरिक रूप से बंद हैश एल्गोरिथ्म जैसे सिपहैश को भी मैक द्वारा परिभाषित किया गया हैं; वे सार्वभौमिक-हैशिंग आधारित एमएसीएस से भी तेज हो सकते हैं।

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

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

इस तरह के सबसे सरल जोड़ीदार स्वतंत्र हैश फ़ंक्शन को यादृच्छिक कुंजी, कुंजी = (ए, बी) द्वारा परिभाषित किया गया है, और संदेश एम के लिए मैक उपनाम की गणना उपनाम = (एएम + बी) मॉड पी के रूप में की जाती है, जहां पी प्रमुख है।

अधिक आमतौर पर, के-स्वतंत्र हैशिंग फंक्शन एक सुरक्षित संदेश प्रमाणीकरण कोड प्रदान करते हैं, जब तक कि के-वे स्वतंत्र हैशिंग कार्यों के लिए उपयोग की जाने वाली कुंजी के-बार से कम हो।

क्वांटम कूटलेखन के ढांचे में संदेश प्रमाणीकरण कोड और डेटा मूल प्रमाणीकरण पर भी चर्चा की गई है। अन्य कूटलेखन कार्यों के विपरीत, जैसे कुंजी वितरण, क्वांटम एमएसीएस की एक विस्तृत श्रेणी के लिए यह दिखाया गया है कि क्वांटम संसाधन शास्त्रीय एमएसीएस पर कोई लाभ नहीं देते हैं, जब वे बिना शर्त सुरक्षित होते हैं।

मानक
विभिन्न मानक मौजूद हैं जो मैक एल्गोरिदम को परिभाषित करते हैं। इसमें शामिल है: ISO/IEC 9797-1 और -2 सामान्य प्रतिरूप और एल्गोरिदम को परिभाषित करते हैं जिनका उपयोग किसी भी बंद संकेताक्षर या हैश-फंक्शन और विभिन्न प्रकार के विभिन्न मापदंडों के साथ किया जा सकता है। ये प्रतिरूप और मापदंड को अधिक विशिष्ट एल्गोरिदम को पैरामीटर नाम देकर परिभाषित करने की अनुमति देते हैं। उदाहरण के लिए, FIPS PUB 113 एल्गोरिदम कार्यात्मक                                 रूप से ISO/IEC 9797-1 मैक एल्गोरिदम 1 के समतुल्य है जिसमें प्रसेचन विधि 1 और DES का बंद संकेताक्षर एल्गोरिदम है । मैक के उपयोग का एक उदहारण
 * FIPS PUB 113 परिकलक डेटा प्रमाणीकरण, 2002 में वापस ले लिया गया, DES पर आधारित एक एल्गोरिदम को परिभाषित करता है।
 * FIPS PUB 198-1 कुंजी-हैश संदेश प्रमाणीकरण कोड (HMAC)
 * NIST SP800-185 SHA-3 व्युत्पन्न कार्य: cSHAKE, KMAC, TupleHash, और ParallelHash
 * ISO/IEC 9797-1 एक बंद संकेताक्षर का उपयोग करने वाली क्रियाविधि
 * ISO/IEC 9797-2 एक समर्पित हैश-फंक्शन का उपयोग करके वाली क्रियाविधि
 * ISO/IEC 9797-3 सार्वभौमिक हैश-फंक्शन का उपयोग करने वाली प्रणाली
 * ISO/IEC 29192-6 प्रभावहीन कूटलेखन - संदेश प्रमाणीकरण कोड
 * ISO/IEC 9797-3 सार्वभौमिक हैश-फंक्शन का उपयोग करने वाली प्रणाली
 * ISO/IEC 29192-6 प्रभावहीन कूटलेखन - संदेश प्रमाणीकरण कोड

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

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

बाहरी संबंध

 * RSA Laboratories entry on MACs
 * Ron Rivest lecture on MACs