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

 

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

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

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

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

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

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

मानक
विभिन्न मानक मौजूद हैं जो मैक एल्गोरिदम को परिभाषित करते हैं। इसमे शामिल है: 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