सवाल जीपीजी में पर्याप्त एन्ट्रॉपी नहीं है


मुझे पर्याप्त एंट्रॉपी खोजने और प्राप्त करने के लिए पृष्ठभूमि में चल रही प्रक्रियाओं का एक टन मिल गया है, लेकिन मैं अभी भी असफल रहा हूं।

**We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
Not enough random bytes available.  Please do some other work to give
the OS a chance to collect more entropy! (Need 210 more bytes)**

मुझे काम करने वाली कुंजी उत्पन्न करने के लिए एक विधि की आवश्यकता है, जो मैं करने की कोशिश कर रहा हूं वह स्पष्ट रूप से विफल रहा है।


73
2017-12-20 21:20


मूल




जवाब:


क्या आपने आरएनजी पर नजर डाली है?

फेडोरा / आरएच / सेंटो प्रकार: sudo yum install rng-tools

डेब प्रकारों पर: sudo apt-get install rng-tools इसे स्थापित करने के लिए।

फिर भागो sudo rngd -r /dev/urandom चाबियाँ उत्पन्न करने से पहले।

संदर्भ: http://it.toolbox.com/blogs/lim/how-to-generate-enough-entropy-for-gpg-key-generation-process-on-fedora-linux-38022


96
2017-12-20 21:43



इसके अलावा, एक और गंभीर नोट पर, आप इसका उपयोग कर सकते हैं sudo apt-get install rng-tools यदि आप इसके बजाय उबंटू पर हैं sudo yum install rng-utils जैसे वे फेडोरा के लिए हैं, क्योंकि नहीं rng-utils उबंटू के लिए पैकेज मौजूद है। - Jason Swett
पैकेज का नाम है rng-tools फेडोरा और ईएल 6 दोनों पर, इसलिए मुझे लिंक किए गए आलेख में एक टाइपो पर संदेह है। बीटीडब्ल्यू, यहां जवाब के आवश्यक हिस्सों को प्रदान करना एक अच्छा विचार है, और संदर्भ के लिए लिंक, अगर भविष्य में लिंक मर जाता है। - Michael Hampton♦
Urandom में कोई "निम्न गुणवत्ता वाली एन्ट्रॉपी" या "नकली एंट्रॉपी" नहीं है। urandom उसी कोड को / dev / random के रूप में कॉल करता है। सीएसपीआरएनजी में अतिरिक्त यादृच्छिकता को खिलाने की कोई आवश्यकता नहीं है (बूटटाइम को छोड़कर, और वहां आपके वितरण की देखभाल करनी चाहिए)। यह एक मिथक है और इसे प्रचारित नहीं किया जाना चाहिए। उदाहरण के लिए देखें sockpuppet.org/blog/2014/02/25/safely-generate-random-numbers या यह वीडियो: media.ccc.de/v/32c3-7441-the_plain_simple_reality_of_entropy - Sebastian
यहां यादृच्छिक मिथक पर एक और अच्छा है। - Andrew B
सबसे ज्यादा मतदान की टिप्पणी बकवास है; दुर्भाग्य से मैं इसे SO पर बहुत कुछ देखता हूं। चेतावनियां (यहां तक ​​कि पूरी तरह से गलत होने पर भी) बहुत सारे वोट प्राप्त होंगे और उन्हें सही करने का कोई तरीका नहीं होगा (कोई टिप्पणी डाउनवोट विकल्प नहीं) का अर्थ है कि हम मिथकों से छुटकारा नहीं पा सकते हैं। - Stijn de Witt


मैं कुंजी उत्पन्न करने में सक्षम था

apt-get install rng-tools

एक और एसएसएच खिड़की में खुलता है

 gpg --gen-key

अपने पहले एसएसएच सत्र पर वापस जाएं और चलाएं

sudo rngd -r /dev/urandom

इसे चलाने दें जब तक कि जीपीजी आपकी चाबियाँ उत्पन्न न करे!


24
2017-12-20 21:42



मैं निश्चित रूप से कभी भी इस्तेमाल करने के खिलाफ सिफारिश करेंगे /dev/urandom किसी भी महत्व की चाबियाँ उत्पन्न करने के लिए। - Andrew Barber
@ एंड्रयूबार्बर बकवास। यह अनुशंसित विधि है। - David Schwartz
@AndrewBarber यह स्पष्ट रूप से उस उद्देश्य के लिए डिज़ाइन किया गया है। मूल रूप से, /dev/random एक डिजाइन गलती है। इसे केवल पहले (कभी) आमंत्रण (पहले बूट पर) पर अवरुद्ध करना चाहिए जब कोई एंट्रॉपी अभी तक एकत्र नहीं किया गया था। जैसा कि यह अन्य ओएस पर करता है। इसके बजाय हमें अब दो पूल मिल गए हैं। बस कभी नहीं उपयोग करें /dev/random इसका कोई लाभ नहीं है। - Stijn de Witt
@AndrewBarber आप इसके बजाय क्या सिफारिश करेंगे? - qodeninja


वर्तमान में उपलब्ध एन्ट्रॉपी के बाइट्स की मात्रा की जांच करने के लिए, उपयोग करें

cat /proc/sys/kernel/random/entropy_avail

एन्ट्रॉपी बाल्टी 4096 बाइट्स बड़ी है, जो बहुत जल्दी समाप्त हो सकती है।

इस छोटे 'रीडस्पेड' टूल का उपयोग करना (http://1wt.eu/tools/readspeed/), आप माप सकते हैं कि एन्ट्रॉपी बाल्टी कितनी तेजी से विभिन्न विधियों से भरा हुआ है।

उदाहरण के लिए, लॉन्च करें:

$ ./readspeed < /dev/random

और अपने माउस को चारों ओर ले जाएं। आप देखेंगे कि 'रीडस्पीड' एंट्रॉपी बाल्टी को जितनी जल्दी हो सके खाली कर देता है, और जब आप माउस को ले जाते हैं, तो यह थोड़ा सा भर जाता है।

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

अंत में, एन्ट्रॉपी पीढ़ी के उपकरण उपलब्ध हैं, जैसे कि यह एक: http://www.entropykey.co.uk/


13
2017-12-20 21:52



Urandom में कोई "निम्न गुणवत्ता वाली एन्ट्रॉपी" नहीं है। urandom उसी कोड को / dev / random के रूप में कॉल करता है। यह एक मिथक है और इसे प्रचारित नहीं किया जाना चाहिए। उदाहरण के लिए देखें sockpuppet.org/blog/2014/02/25/safely-generate-random-numbers या यह वीडियो: media.ccc.de/v/32c3-7441-the_plain_simple_reality_of_entropy - Sebastian
यह जवाब 5 साल का है। हमने सोचा था कि urandom यादृच्छिक के रूप में सुरक्षित नहीं था, लेकिन चीजें बदल गई हैं और urandom को सुरक्षित माना जाता है। - Julien Vehent
तथ्य यह है कि यह शुरुआत से सुरक्षित था। चेतावनियां 7 साल पहले भी गलत थीं। - Stijn de Witt


आरएनजी-टूल्स के लिए +1

यदि आप स्थिति में फंस गए हैं जैसे कि मैं हूं - बिना किसी इनपुट हार्डवेयर (साउंड कार्ड, कीबोर्ड, माउस) के साथ एक हेडलेस सर्वर पर नए सॉफ़्टवेयर (आरएनजी-टूल्स) को स्थापित करने की अनुमति नहीं है। एंट्रॉपी में जोड़ने के लिए, आप एक ही टर्मिनल से दूसरे टर्मिनल से इस सरल कोड को चला सकते हैं। यदि आप शुरू करने से पहले या बाद में इसे चलाने शुरू करते हैं तो इससे कोई फर्क नहीं पड़ता gpg --gen-key

$ nice -n 19 bash
$ until [ $COUNT -lt 1 ]; do
  let COUNT=`cat /proc/sys/kernel/random/entropy_avail`
  echo "`date` COUNTER $COUNT"
done

पहली पंक्ति एक नया बैश खोल शुरू करना है, कम प्राथमिकता के साथ (मुझे कई उपयोगकर्ताओं द्वारा साझा किए गए सर्वर पर अच्छा होना चाहिए)। जब तक लूप अनंत नहीं है, तो कुंजी उत्पन्न होने के बाद इसे तोड़ना याद रखें। यह सब कुछ कर रहा है नेटवर्क नेटवर्क यातायात एंट्रॉपी बढ़ाने के लिए। यह एंटोपी_वेल काउंटर पर भी नजर रखता है यह दिखाने के लिए कि यह कैसे भर जाता है और जीपीजी द्वारा दूसरी तरफ खाली हो जाता है। मेरे मामले में, काउंटर जल्दी से 64 तक भर गया और 0 पर वापस खाली हो गया (अनुमान है कि जीपीजी 64 के हिस्से में उठाता है)। मैं सर्वर पर 3 घंटे से अधिक के लिए 4096 बिट कुंजी उत्पादन की प्रतीक्षा कर रहा था। इस स्क्रिप्ट को चलाने के बाद, यह 5 मिनट से कम हो गया।


6
2018-05-25 17:08



मेरे पास रिमोट सर्वर पर भी रूट पहुंच नहीं थी और यह कुछ एन्ट्रॉपी बनाने में काम करता था। मुझे लगता है कि स्थिति को बदला जाना चाहिए [ $COUNT -lt 0 ]। क्योंकि एक प्रणाली के लिए वास्तव में कम एन्ट्रॉपी, यह कभी-कभी 0 तक पहुंचता है और बंद हो जाता है। जीपीजी वास्तव में भूख लगी है। - Ajay Brahmakshatriya


मैं 4096 कुंजी उत्पन्न करने के लिए अपने हेडलेस उबंटू 14.04 सर्वर पर एंट्रॉपी उत्पन्न करने के लिए बाध्य और दृढ़ था gpg --gen-key

गठबंधन नामक एन्ट्रॉपी उत्पन्न करने के लिए एक पैकेज है। स्थापित करने का उदाहरण:

sudo apt-get install haveged

मुझे करना पड़ा sudo apt-get install rng-tools चूंकि यह निम्नलिखित परीक्षण में निर्भरता है।

एक परीक्षण का उदाहरण यह देखने के लिए कि क्या एन्टीपी उत्पन्न हो गई है:

cat /dev/random | rngtest -c 1000

असफलताओं की एक बहुत छोटी राशि किसी भी यादृच्छिक संख्या में स्वीकार्य है   जेनरेटर, लेकिन आप अक्सर 998-1000 सफलताओं को देखने की उम्मीद कर सकते हैं   आच्छादित उपयोग करते समय।

मैंने इसके बारे में यहां एक ट्यूटोरियल में पाया:

https://www.digitalocean.com/community/tutorials/how-to-setup-additional-entropy-for-cloud-servers-using-haveged

अब मेरे पास दौड़ने के बाद चाबियाँ हैं gpg --gen-key


4
2018-06-14 11:47