2010-03-02 9 views
5

कहें कि हमारे पास ऐलिस और बॉब है।दो-तरफा असममित एन्क्रिप्शन कैसे काम करता है?

ऐलिस संदेश वह बॉब की सार्वजनिक कुंजी के साथ एन्क्रिप्टेड बॉब भेजता है। बॉब एकमात्र ऐसा व्यक्ति है जो अपनी निजी कुंजी का उपयोग करके इसे डिक्रिप्ट कर सकता है। लेकिन एलिस से यह संदेश कैसे निश्चित हो सकता है?

मान लीजिए वह जवाब देता है, अपने संदेश ऐलिस सार्वजनिक कुंजी का उपयोग को एनक्रिप्ट। केवल ऐलिस संदेश को डिक्रिप्ट कर सकता है। लेकिन वह कैसे निश्चित हो सकती है कि यह बॉब द्वारा भेजा गया था?

ऐलिस उसके संदेश को सार्वजनिक हैश के कुछ प्रकार जोड़ने के लिए तो बॉब कह सकता है "यह निश्चित रूप से ऐलिस से आया है?"

उत्तर

5

बॉब भी ऐलिस सार्वजनिक कुंजी है, और ऐलिस उसकी निजी कुंजी के साथ संदेश पर हस्ताक्षर किए। हस्ताक्षर सत्यापित करने के लिए बॉब ऐलिस की सार्वजनिक कुंजी का उपयोग करता है। संदेश सुनिश्चित करने के लिए ऐलिस के लिए रिवर्स में

जाओ बॉब से था।

तुम सब अब क्या करना है यकीन है कि बॉब ऐलिस वास्तविक सार्वजनिक कुंजी है कि और एक बीच में एक आदमी द्वारा इंजेक्शन नहीं बनाते हैं।

+0

तो तुम सार्वजनिक कुंजी के सभी बाइट्स सत्यापित करने की आवश्यकता? क्या कुंजी का एक विशिष्ट हिस्सा है जिसे आप यह सुनिश्चित करने के लिए देख सकते हैं कि यह आपके बीच असली है? क्या फिंगरप्रिंट मिलान करने के लिए पर्याप्त है? – tbarbe

+1

नहीं, आप सार्वजनिक कुंजी का उपयोग संदेश (हस्ताक्षर) के हैश डिक्रिप्ट करने के लिए है, तो रिसीवर के रूप में संदेश हैश खुद। यदि हैश मैच है, तो आप जानते हैं कि यह ऐलिस द्वारा भेजा गया था। http://en.wikipedia.org/wiki/Digital_signature – Nathan

+0

आह हाँ ... md5 या SHA-1 - हाँ? तो एक बार जब गंतव्य गंतव्य पर आता है - यह सब ठीक करने का तरीका एमडी 5 और एसएचए -1 की तुलना करना है .... मेरे पास मौजूद कॉर्ट - इन दोनों को दिखाएं ...और मुझे लगता है कि मैं 'बैंड से बाहर की तुलना' के बारे में पढ़ रहा हूं - जिसका मतलब यह एक असुरक्षित सेट पर नहीं करता है? – tbarbe

-1

क्योंकि आप यह मानते हैं कि एक निजी कुंजी वास्तव में "निजी" है, यानी, एलिस और बॉब काम छोड़ते समय अपनी यूएसबी कुंजी को अपनी मशीन में प्लग नहीं करते हैं।

+0

मैंने यह धारणा कहां बनाई? – Amy

+0

"आप" नहीं था, मेरा मतलब है "आप" कहानियां; और हाँ आप इस तरह के एन्क्रिप्शन का उपयोग नहीं करते हैं जब तक कि ऐलिस और बॉब के बीच ट्रस्ट चैनल नहीं होता है, जो प्रमाणन प्राधिकरण अप्रत्यक्ष उदाहरण है। पेह, मैं आपके प्रश्न पर अपना उपरोक्त नहीं हटा सकता। –

+0

मुझे नहीं पता कि आप क्या प्राप्त कर रहे हैं। सवाल संदेश के स्रोत की पुष्टि करने के बारे में था। प्रश्न में अंतिम वाक्य को दोबारा पढ़ें और ध्यान दें कि आपके उत्तर ने इसका समाधान नहीं किया है। चाबियाँ सुरक्षित रखने के साथ इसका कोई लेना-देना नहीं था। मेरी टिप्पणी के आपके उत्तर ने प्रश्न को संबोधित नहीं किया। आपने जवाब क्यों दिया? – Amy

9

आपके द्वारा वर्णित परिदृश्य वास्तव में प्रामाणिकता प्रदान नहीं करता है। तो ऐलिस और बॉब दोनों निश्चित नहीं हो सकते कि वे एक-दूसरे से बात कर रहे हैं। परिदृश्य केवल गोपनीयता प्रदान करता है और इस तरह की गोपनीयता भी नहीं है।

बॉब को ऐलिस के साथ मैन्युअल रूप से पुष्टि करनी होगी कि वह जो सार्वजनिक कुंजी सोचती है वह है ऐलिस की सार्वजनिक कुंजी वास्तव में उसकी है (उसे बुलाकर और इसे पढ़ने से उसकी आवाज से यह पुष्टि कर रही है कि यह ऐलिस है)।

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

परिदृश्य आपके द्वारा बताई गई सार्वजनिक कुंजी-एन्क्रिप्शन के साथ विशुद्ध रूप से एक तथाकथित MITM (मैन-इन-द-मिडल) के हमले की चपेट में और व्याख्या करने योग्य नहीं है।

1

आपके बारे में क्या बात कर रहे हैं बहुत बहुत बहुत शिथिल नेट ढांचे में पाया एक असममित एन्क्रिप्शन एल्गोरिथ्म का एक और कार्यान्वयन की तरह दिखता है।

.Net असममित एन्क्रिप्शन के लिए दो शाखाओं को नियोजित करता है !!!

  1. आरएसए ** ग्रैंड मैक सभी विषम ENC 'उद्देश्यों के लिए इस्तेमाल पिताजी।
  2. डीएसए ** लेखक को सत्यापित करने के लिए डिजिटल हस्ताक्षर का उपयोग और निर्माण करने से अधिक संबंधित है।

दोनों

दोनों बहुत वे कैसे काम करने के लिए और कैसे एक डेवलपर उन्हें लागू करता है, लेकिन नीचे मैं पढ़ लिया है कि दो बहुत अलग एल्गोरिदम मौजूद के रूप में एक-दूसरे से मिलते-जुलते सार हैं।

आप विकल्प को बात कर रहे हैं 2.

नेट एक वर्ग है जो आप एक मूल्य है कि आमतौर पर हस्ताक्षर के रूप में जाना जाता है के साथ अपने डेटा को टैग की अनुमति देता है DSACryptoServiceProvider कहा जाता है प्रदान करता है।

एमएस आधिकारिक पाठ्यक्रम पाठ्यपुस्तक के मुताबिक यह लगभग काम करता है।

डाटा >>> हैश Alg >>> हैश मूल्य >>>>>>>>> Asymm 'Alg >>>> हस्ताक्षर प्रेषक की PVT.KEY >>>

नीचे दिखाता है कि कैसे जांच कर सकते हैं बॉब यह देखने के लिए कि ऐलिस वास्तव में प्रेषक है या नहीं।

डेटा >>> हैश अल्ग >>> हैश वैल्यू || Decrypted हस्ताक्षर < < < Asymm 'Alg < < < हस्ताक्षर < < < प्रेषक की PUB.KEY ? ==?

जैसा कि आप देख सकते हैं कि बॉब को जेनरेटेड हैश और डिक्रिप्टेड हस्ताक्षर की तुलना करना है ताकि यह सत्यापित किया जा सके कि ऐलिस प्रेषक है। DSACrypto 'श्रेणी में 4 विधियां हैं जो का उपयोग यहां किया जा सकता है लेकिन केवल दो प्रभावी रूप से बोल रहे हैं। कुछ ही समय में इस बिंदु पर, यह सब बॉब, कर सकते हैं अगर उसकी सार्वजनिक कुंजी ऐलिस की सार्वजनिक कुंजी नहीं है, तो अनिवार्य रूप से सॉफ्टवेयर अनुप्रयोग किसी भी आगे बढ़ने से बॉब के रूप में एक फर्जी सार्वजनिक कुंजी जब उपयोग करने के लिए कोशिश कर रहा है से अपने पटरियों में मृत बॉब बंद कर देना चाहिए है ऐलिस के साथ संवाद करने की कोशिश कर रहा है। यह लगाया गया रिश्ता है और सार्वजनिक कुंजी के महत्व पर बल दिया गया है। हस्ताक्षर आपको सार्वजनिक कुंजी मालिक को सत्यापित करने की अनुमति देता है।

यहां क्यों? ::

यदि बॉब के पास ऐलिस की सार्वजनिक कुंजी है तो वह .VerifyHash या VerifyData विधियों का उपयोग करके एन्क्रिप्टेड डेटा को डिक्रिप्ट करने के लिए उसी एल्गोरिदम का उपयोग कर सकता है। सीधे इस संदर्भ को दिया जाना चाहिए कि वे क्या करते हैं। एलिस की सार्वजनिक कुंजी का उपयोग करके यह सब किया गया है। केवल ऐलिस साइनहाश और साइनडाटा विधियों का उपयोग कर सकते हैं क्योंकि उन्हें ऐलिस की निजी कुंजी की आवश्यकता होती है।

आप ऊपर देख सकते हैं, कार्यक्षमता का एक निश्चित स्तर पहले से ही DSA और आरएसए CryptoServiceProvider कक्षाओं के अंदर समझाया गया है। एलआईएस एल्गोरिदम के रूप में एलिस को प्रेषक के रूप में सत्यापित करने के लिए आप उन्हें कितनी अच्छी तरह कार्यान्वित करते हैं, यह साबित करता है कि आप जेनरेट आउटपुट से मेल करके प्रेषक को प्रमाणित करने की अनुमति देते हैं। एक निश्चित हस्ताक्षर और हैश का मिलान होना चाहिए, यदि वे संक्षेप में करते हैं तो डीएसए ने आपको बॉब और एलिस के बीच गोपनीयता का एक निश्चित स्तर दिया है।

+0

मुझे आशा है कि यह समझ में आता है क्योंकि यह 70-536 परीक्षा उत्तीर्ण करने की कोशिश कर रहे एक छात्र से आ रहा है। जैसा कि उपरोक्त दो उत्तरों में से दूसरा है, मैंने क्रिप्टोग्राफी से संबंधित स्टैक ओवरफ़्लो पर पोस्ट किया है। – IbrarMumtaz

संबंधित मुद्दे