मुझे कैसे पता चलेगा कि मेरी मशीन में RNG हार्डवेयर सपोर्ट है?


11

मैं एक ब्लॉग में आया था जो एन्ट्रापी पूल समस्या से संबंधित था और सीखता था कि आरएनजी नामक एक विशेष हार्डवेयर हैं। मैंने इस कर्नेल RNG पृष्ठ को पढ़ा है लेकिन मुझे अभी भी आश्चर्य है कि क्या यह पता लगाने का कोई तरीका है कि मेरा सर्वर हार्डवेयर RNG का समर्थन करता है या नहीं।

जवाबों:


8

"वास्तविक" हार्डवेयर RNG के दो संभावित प्रकार हैं: एक CPU आधारित एक, और एक चिपसेट या PCI आधारित एक। (कुछ USB हार्डवेयर RNG भी हैं, लेकिन मुझे संदेह है कि आपने उनमें से किसी एक पर ध्यान दिया होगा;;

निम्नलिखित लिनक्स विशिष्ट है।

सीपीयू आधारित लोगों के लिए, आप /proc/cpuinfoसुराग के लिए जाँच कर सकते हैं , यह मानते हुए कि आपका कर्नेल उनका पता लगाने के लिए पर्याप्त नया है। इंटेल सीपीयू के लिए झंडा rdrandयहां अधिक जानकारी है: /unix/43539/what-do-the-flags-in-proc-cpuinfo-mean

चिपसेट वाले के लिए, यदि आपने CONFIG_HW_RANDOMअपने कर्नेल और प्रति-विक्रेता समर्थन CONFIG_HW_RANDOM_INTEL ..._AMDआदि में सक्षम किया है, तो आपके बूट संदेशों को इंगित करना चाहिए कि क्या कोई पाया गया था (उदाहरण के लिए "इंटेल 82802 RNG का पता चला")। यदि वे मॉड्यूल के रूप में मौजूद modprobe intel-rngहैं, तो आप यह देख सकते हैं ( ) कि क्या यह लोड होता है, "ऐसा कोई उपकरण नहीं" हार्डवेयर का पता नहीं लगाता है। सभी ड्राइवर लगातार "आरएनजी का पता लगाया" या "पता नहीं लगाया गया" प्रिंट करते हैं, इसलिए आप स्रोतों ( /drivers/char/hw_random/कर्नेल की निर्देशिका) को पढ़ सकते हैं ।

दूसरों के लिए, आप देख सकते lspci -vहैं कि क्या मान्यता प्राप्त है।


1

यह जानने के लिए कि आप RNGनिम्नलिखित कार्य करते हैं:

1) इसके नाम में "आरएनजी" वाले सभी मॉड्यूल सूचीबद्ध करें:

cat /proc/modules | grep -i rng

2) यदि आपके पास कोई है तो आपको इस तरह का परिणाम मिलेगा

tpm_rng 16384 0 - Live 0xffffff......

3) modprobeइस समय का उपयोग करके इसे सक्षम या लोड करना सुनिश्चित करें :

modprobe tpm_rng

अद्यतन : चरण 1 (1) के बारे में, मेरे लिए modprobe -lubuntu 16 में काम नहीं कर रहा था , इसीलिए मैंने "/ proc / मॉड्यूल" की तलाश करने की कोशिश की, लेकिन अगर यह आपके साथ काम करता है तो यह ठीक है .. हाल ही में मैंने खोजा है और पता करूंगा सभी मॉड्यूल अंदर के निवासी हैं /lib/modules/$(uname -r)इसलिए आप निम्नलिखित का उपयोग कर सकते हैं जो बेहतर है:

cat /lib/modules/$(uname -r)/modules.dep | grep -i rng.*.ko

1

हाल की गुठली पर, आप यहाँ देख सकते हैं:

$ cat /sys/devices/virtual/misc/hw_random/rng_current 
virtio_rng.0

यदि वह फ़ाइल मौजूद है और कोई नहीं कहता है, तो मूल रूप से आपके पास एक रेंग मौजूद है। (इस मामले में, यह एक वर्चुअल मशीन है जहाँ मेजबान एक यादृच्छिक स्रोत प्रदान करता है)

यह देखने के लिए कि क्या उपलब्ध है (यह एक आधुनिक इंटेल मशीन से उदाहरण के लिए, एक ChaosKey हार्डवेयर के साथ जुड़ा हुआ है)

$ cat /sys/devices/virtual/misc/hw_random/rng_available 
ChaosKey-hw-1.0-sw-1.9-001900375346430b20333632 tpm-rng-0 

तो दोनों ChaosKey और उपलब्ध tpm।

Https://daniel-lange.com/archives/152-hello-buster.html पर कुछ दिलचस्प पृष्ठभूमि है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.