ओपनएसएसएच: कुंजी-आधारित प्राधिकरण, अधिकतम कुंजी लंबाई


9

मैं अपने कुछ सर्वरों तक पहुँचने के लिए कुंजी-आधारित प्रमाणीकरण के साथ खिड़कियों पर पुट्टी का उपयोग कर रहा हूँ।

यह ~ 3700-बिट कुंजी के साथ पूरी तरह से ठीक काम करता है, लेकिन ~ 17000-बिट कुंजी के साथ यह क्लाइंट-साइड पर 20 सेकंड के लिए सोचता है और फिर बस "प्रवेश निषेध" और पासवर्ड के लिए पूछता है।

क्या कुंजी-आधारित प्रमाणीकरण के लिए ओपनएसएसएच में कोई महत्वपूर्ण लंबाई सीमा या समय समाप्त है?

मैं समझता हूं कि इस तरह की बड़ी चाबियों का उपयोग करने में बहुत अधिक व्यावहारिक नहीं है, खासकर जब गणना के इन 20 सेकंड को देखते हुए, बस किसी भी समस्या को हल करने की कोशिश कर रहा हूं: -) ... ...


मैंने कुछ ओपनएसएसएच संस्करणों पर समान समस्याएं देखी हैं, जिन्हें मैंने एक प्रमुख लंबाई का उपयोग करके काम किया था जो दो की शक्ति थी।
19

जवाबों:


9

एक बिंदु पर मैंने डिफी-हेलमैन कीज़ के लिए ओपनएसएसएल के स्रोत को देखा, और पाया कि डीएच कीज़ के आकार पर "मनमाना" 10K की सीमा थी। मैंने परीक्षण के लिए स्रोत बदल दिया, और पाया कि काम किया। मैंने लेखकों को एक बग लिखा, और उन्होंने जवाब दिया कि यह बड़े पैमाने पर कुंजियों का उपयोग करके DoS को रोकने के लिए डिजाइन का इरादा था।

OpenSSH में ऐसा ही कुछ देखने के लिए मुझे आश्चर्य नहीं होगा।


5

प्रोटोकॉल में परिभाषित कोई अधिकतम कुंजी आकार या टाइमआउट नहीं है (या कम से कम कोई भी जिसे आप मार रहे होंगे), लेकिन कार्यान्वयन शायद किसी लंबी कुंजी का समर्थन न करे। निजी कुंजी के साथ 20 सेकंड का प्रसंस्करण समय 17kbit RSA कुंजी के लिए उच्च ध्वनि नहीं है। तब सर्वर एक अनधिकृत उपयोगकर्ता पर बहुत अधिक कंप्यूटिंग शक्ति खर्च नहीं करना चाहता हो सकता है: बहुत बड़ी चाबियों से इनकार करना डोना के हमलों के खिलाफ एक सुरक्षा है।

वर्तमान में 2048 बिट्स को RSA कुंजी के लिए उचित माना जाता है; 4096 बिट्स आवश्यक से अधिक है लेकिन आमतौर पर समर्थित है; इससे परे आपको आश्चर्य नहीं होना चाहिए अगर कुछ कार्यक्रम कुंजी को अस्वीकार करने के लिए।


यह सुरक्षा उचित लगती है। क्या यह स्रोत में ट्यून करने योग्य या हार्डकोड है?
BarsMonster

मैनुअल में इसके लिए कोई विकल्प नहीं है, इसलिए स्रोत कोड में कोई भी सीमा होनी चाहिए। उस ने कहा, मुझे नहीं पता कि अगर वास्तव में कोई सुरक्षा है, तो मेरा मतलब सिर्फ यह है कि ऐसा करना उचित होगा। मुझे संदेह है कि एंड्रियासएम का जवाब निशान के करीब है।
गाइल्स का SO- बुराई रोकना '

4

क्या आप लक्षित लक्ष्य प्रणाली पर कुंजी के उस आकार को उत्पन्न करने में सक्षम थे? आप एक सीमा में चल रहे हैं जो समर्थित है। बल्कि मेरी वर्तमान Centos प्रणाली एक 16k अधिकतम का समर्थन करती है जो बड़े पैमाने पर कुंजी के लिए पर्याप्त लगती है। यदि आप नीचे दिखाए गए अनुसार ssh-keygen के साथ ऊपर जाने की कोशिश करते हैं तो आपको अधिकतम देखना चाहिए।

[nathan@omni ~]# ssh-keygen -t rsa -b 32768
key bits exceeds maximum 16384

देबिन 8.2 पर। मेरी नेटबुक इस 16384-बिट कुंजी को बनाने में काफी समय लगा सकती है ... जो चीजें मैं हंसी के लिए करता हूं।
अंडरस्कोर_ड

विंडोज 7 के लिए "गिट बैश" पर समान, जो कि मिनगॉव पर आधारित है।
user1364368

OpenSuse लीप 42.1 पर भी ऐसा ही है।
user1364368

2

खुलता है सर्वर में एक LoginGraceTime सेटिंग है। आदमी पृष्ठ से:

The server disconnects after this time if the user has not suc-
cessfully logged in.  If the value is 0, there is no time limit.
The default is 120 seconds.

यह एक सीमा हो सकती है जिसे आप 20 सेकंड के लिए सेट कर रहे हैं।

जंगली अनुमान: यह भी हो सकता है कि खुद पोटीन की यह सीमा हो, यह सोचकर कि अगर सार्वजनिक कुंजी प्रमाणीकरण के ग्राहक पक्ष प्रसंस्करण में लंबा समय लगता है, तो कुछ गलत है।


मैंने ऐसा ही सोचा है, और LoginGraceTime 1200 सेट किया है, त्रुटि संदेश कंसोल में है, इसलिए मुझे संदेह है कि यह पोटीन में कुछ है ...
बार्समनस्टर

1
सर्वर लॉग की जाँच करें। इस तरह के एक महत्वपूर्ण आकार के साथ मुझे मिलता है: RSA_public_decrypt विफल: त्रुटि: 04067069: lib (4): func (103): कारण (105)। (कुंजी आकार के कारण जाहिरा तौर पर।) मैं 2 ^ n कुंजी की कोशिश करूँगा।
एंड्रियास

1
16384 बिट्स काम करने लगता है। के लिए 32kbits साथ परिणाम देखने hermann-uwe.de/blog/... :)
AndreasM

1
आप घातक रूप से सही हैं: पाया गया thid: sshd [1014]: त्रुटि: RSA_public_decrypt विफल: त्रुटि: 04067069: lib (4): func (103): कारण (105) तो यह sshd / OpenSSL :-) में एक बग होना चाहिए
BarsMonster
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.