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

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

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

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

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

S और V को निम्नलिखित को पूरा करना चाहिए:


 * पीआर [के ← जी (1एन), वी (के, एक्स, एस (के, एक्स)) = स्वीकृत] = 1।

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


 * पीआर ['के ← जी''(1एन), (एक्स, टी) ← एएस(के, ·)(1n), x ∉ क्वेरी (एएस(के, ·), 1 n), वी (के, एक्स, टी) = स्वीकृत] < उपेक्षा (एन),

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

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

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

कार्यान्वयन
MAC एल्गोरिदम को अन्य क्रिप्टोग्राफ़िक प्रिमिटिव से बनाया जा सकता है, जैसे क्रिप्टोग्राफ़िक हैश फ़ंक्शंस (HMAC के मामले में) या ब्लॉक सिफर एल्गोरिदम (OMAC (क्रिप्टोग्राफी), CCM मोड, गैलोज़/काउंटर मोड और PMAC (क्रिप्टोग्राफी)) से। हालांकि यूएमएसी-वीएमएसी और पॉली1305-एईएस जैसे कई सबसे तेज मैक एल्गोरिदम सार्वभौमिक हैशिंग के आधार पर बनाए गए हैं। आंतरिक रूप से बंद हैश एल्गोरिदम जैसे कि SipHash परिभाषा MAC द्वारा भी हैं; वे यूनिवर्सल-हैशिंग आधारित एमएसीएस से भी तेज हो सकते हैं। इसके अतिरिक्त, मैक एल्गोरिथ्म जानबूझकर दो या दो से अधिक क्रिप्टोग्राफ़िक आदिम को जोड़ सकता है, ताकि सुरक्षा को बनाए रखा जा सके, भले ही बाद में उनमें से एक को असुरक्षित पाया गया हो। उदाहरण के लिए, ट्रांसपोर्ट लेयर सिक्योरिटी (TLS) में, इनपुट डेटा को आधे हिस्सों में विभाजित किया जाता है, जिनमें से प्रत्येक को एक अलग हैशिंग प्रिमिटिव (SHA-1 और SHA-2) के साथ संसाधित किया जाता है, फिर मैक को आउटपुट करने के लिए अनन्य या एक साथ।

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

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

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

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

मैक उपयोग का एक उदाहरण


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

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

यह भी देखें

 * चेकसम
 * सीएमएसी
 * HMAC (हैश-आधारित संदेश प्रमाणीकरण कोड)
 * संदेश प्रमाणक एल्गोरिथम
 * एमएमएच-बेजर मैक
 * पाली1305
 * प्रमाणित एन्क्रिप्शन
 * यूएमएसी
 * वीएमएसी
 * सिपहैश
 * SHA-3#अतिरिक्त उदाहरण

इस पेज में लापता आंतरिक लिंक की सूची

 * साझा रहस्य
 * गैर परित्याग
 * अंगुली का हस्ताक्षर
 * पीएमएसी (क्रिप्टोग्राफी)
 * सीसीएम मोड

बाहरी संबंध

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