सालों से मैं इस परिदृश्य में एक से अधिक बार आया हूं। आपके पास उपयोगकर्ता से संबंधित डेटा का एक गुच्छा है जिसे आप एक एप्लिकेशन से दूसरे एप्लिकेशन में भेजना चाहते हैं। दूसरे एप्लिकेशन से "टोकन" पर भरोसा करने की उम्मीद है और इसके भीतर डेटा का उपयोग करें। एक चोरी/पुन: उपयोग हमले को रोकने के लिए टोकन में एक टाइमस्टैम्प शामिल किया गया है। किसी भी कारण से (चलिए इसके बारे में चिंता न करें) एसएएमएल जैसे उद्योग मानक के बजाय एक कस्टम समाधान चुना गया है।प्रमाणीकरण टोकन एन्क्रिप्टेड है लेकिन हस्ताक्षरित नहीं - कमजोरी?
मेरे लिए यह डेटा पर हस्ताक्षर करने जैसा लगता है कि आप यहां क्या चाहते हैं। यदि डेटा को गुप्त होने की आवश्यकता है, तो आप इसे एन्क्रिप्ट भी कर सकते हैं।
लेकिन जो कुछ मैं देखता हूं वह यह है कि डेवलपर सममित एन्क्रिप्शन का उपयोग करेंगे, उदाहरण के लिए एईएस। वे मानते हैं कि डेटा "गुप्त" बनाने के अलावा, एन्क्रिप्शन भी 1) संदेश अखंडता प्रदान करता है और 2) ट्रस्ट (स्रोत का प्रमाणीकरण)।
क्या मुझे संदेह है कि यहां एक निहित कमजोरी है? फेस वैल्यू पर यह काम करता प्रतीत होता है, अगर सममित कुंजी ठीक से प्रबंधित की जाती है। उस कुंजी की कमी, मैं निश्चित रूप से नहीं जानता कि एन्क्रिप्टेड टोकन को कैसे संशोधित करें, या कई टोकन को अवरुद्ध करने के बाद किसी प्रकार का क्रिप्टोग्राफिक हमला शुरू करें। लेकिन क्या एक अधिक परिष्कृत हमलावर यहां कुछ शोषण करने में सक्षम होगा?
अच्छी तरह से रखो! इसके अलावा, डिजिटल हस्ताक्षर (सार्वजनिक कुंजी साइप्रोग्राफी के बजाय सममित एन्क्रिप्शन के माध्यम से अखंडता संरक्षण) के बजाय एक मैक का उपयोग करने का बिंदु एक उत्कृष्ट है - आरएसए/डीएसए के लिए ओवरहेड में कोई भी बिंदु नहीं है, क्योंकि आपका सिस्टम केवल एकमात्र है एक जिसे इसे सत्यापित करने की आवश्यकता है। – AviD
फुटनोट लेख निश्चित रूप से पढ़ने लायक है। –