एन्ट्रॉपी (कंप्यूटिंग)
कम्प्यूटिंग में, एन्ट्रापी एक ऑपरेटिंग सिस्टम या एप्लिकेशन द्वारा क्रिप्टोग्राफी या अन्य उपयोगों में उपयोग के लिए रैंडमनैस एकत्र की गई है जिसके लिए रैंडम डेटा की आवश्यकता होती है। यह रैंडमनैस अक्सर हार्डवेयर स्रोतों (पंखे के शोर या एचडीडी में भिन्नता) से एकत्र की जाती है, या तो पहले से मौजूद स्रोतों जैसे कि माउस मूवमेंट या विशेष रूप से प्रदान किए गए रैंडमनैस जनरेटर से भी एकत्र कर सकते है, एन्ट्रापी की कमी परफॉरमेंस और सिक्योरिटी पर नेगेटिव प्रभाव डाल सकती है।
लिनक्स कर्नेल
लिनक्स कर्नेल कीबोर्ड (कंप्यूटिंग) टाइमिंग, माउस (कंप्यूटिंग) मूवमेंट और इंटीग्रेटेड ड्राइव इलेक्ट्रॉनिक्स (आईडीई) टाइमिंग से एन्ट्रापी उत्पन्न करता है और विशेष फ़ाइलों /dev/random और /dev/ के माध्यम से अन्य ऑपरेटिंग सिस्टम प्रक्रियाओं के लिए रैंडम वर्ण डेटा उपलब्ध कराता है। urandom. यह क्षमता लिनक्स संस्करण 1.3.30 में पेश की गई थी।[1] कुछ लिनक्स कर्नेल पैच हैं जो किसी को अधिक एन्ट्रापी स्रोतों का उपयोग करने की अनुमति देते हैं।[2] Audio_entropyd परियोजना,[3] जो कुछ ऑपरेटिंग सिस्टम जैसे कि फेडोरा (ऑपरेटिंग सिस्टम) में शामिल है, ऑडियो डेटा को एन्ट्रापी स्रोत के रूप में उपयोग करने की अनुमति देता है।[4] video_entropyd भी उपलब्ध हैं,[5] जो एक वीडियो-स्रोत और एन्ट्रॉपीब्रोकर से रैंडम डेटा की गणना करता है,[6] जिसमें ये तीनों शामिल हैं और इनका उपयोग एन्ट्रापी डेटा को उन प्रणालियों में वितरित करने के लिए किया जा सकता है जो इनमें से किसी को भी चलाने में सक्षम नहीं हैं (जैसे आभाषी दुनिया)। इसके अलावा, कोई हेज्ड टू पूल एन्ट्रॉपी के माध्यम से HAVEGE एल्गोरिदम का उपयोग कर सकता है।[7] कुछ प्रणालियों में, नेटवर्क इंटरप्ट का उपयोग एन्ट्रापी स्रोत के रूप में भी किया जा सकता है।[8]
ओपनबीएसडी कर्नेल
ओपनबीएसडी ने क्रिप्टोग्राफी को अपने मुख्य लक्ष्यों में से एक के रूप में एकीकृत किया है और हमेशा एन्क्रिप्शन के लिए अपनी एन्ट्रापी को बढ़ाने पर काम किया है, लेकिन इसके कर्नेल के विभिन्न आंतरिक संचालन सहित ओएस के कई हिस्सों को रैंडम बनाने के लिए भी काम किया है। 2011 के आसपास, दो रैंडम उपकरणों को हटा दिया गया और एक ही स्रोत से जोड़ दिया गया क्योंकि यह एक औसत सिस्टम पर प्रति सेकंड सैकड़ों मेगाबाइट उच्च गुणवत्ता वाले रैंडम डेटा का उत्पादन कर सकता था।[clarification needed] इससे ओपनबीएसडी पर उपयोगकर्तालैंड कार्यक्रमों द्वारा रैंडम डेटा की कमी असंभव हो गई, जब शुरू में पर्याप्त एन्ट्रापी एकत्र हो गई थी।
हर्ड कर्नेल
हर्ड कर्नेल के लिए लिनक्स कर्नेल से पोर्ट किया गया ड्राइवर उपलब्ध कराया गया है।[9]
सोलारिस
/dev/random और /dev/urandom सोलारिस 2.6 के बाद से सोलारिस (ऑपरेटिंग सिस्टम) के लिए सन पैकेज या पैच के रूप में उपलब्ध हैं।[10] और सोलारिस 9 के बाद से यह एक मानक सुविधा रही है। रेफरी>"सोलारिस /देव/यादृच्छिक". Archived from the original on 2008-05-11. Retrieved 2007-10-17.</ref> सोलारिस 10 के अनुसार, प्रशासक मौजूदा एन्ट्रापी स्रोतों को हटा सकते हैं या कर्नेल-स्तरीय क्रिप्टोग्राफ़िक ढांचे के माध्यम से नए स्रोतों को परिभाषित कर सकते हैं।
सोलारिस 2.4 से पहले के रिलीज के लिए /dev/random को लागू करने वाला एक तृतीय-पक्ष कर्नेल मॉड्यूल भी उपलब्ध है।[10]
ओएस/2
OS/2 के लिए एक सॉफ़्टवेयर पैकेज है जो सॉफ़्टवेयर प्रक्रियाओं को रैंडम डेटा पुनर्प्राप्त करने की अनुमति देता है।[11]
खिड़कियाँ
माइक्रोसॉफ़्ट विंडोज़ ़ विंडोज़ 95 की तुलना में नई रिलीज़ करता है जो लिनक्स कर्नेल के /dev/random के समान एन्ट्रापी इकट्ठा करने के लिए माइक्रोसॉफ्ट क्रिप्टोएपीआई का उपयोग करता है।[12] विंडोज़ का क्रिप्टोएपीआई अपने सभी एन्ट्रापी स्रोतों से एक बीजित मूल्य को संग्रहीत करने के लिए बाइनरी विंडोज़ रजिस्ट्री कुंजी HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\RNG\Seed का उपयोग करता है।[13] क्योंकि क्रिप्टोएपीआई बंद-स्रोत है, विंडोज़ प्लेटफ़ॉर्म पर चलने वाले कुछ मुफ़्त और खुले स्रोत सॉफ़्टवेयर एप्लिकेशन रैंडमनैस प्राप्त करने के लिए अन्य उपायों का उपयोग करते हैं। उदाहरण के लिए, जीएनयूपीजी, संस्करण 1.06 के अनुसार, विभिन्न स्रोतों का उपयोग करता है जैसे कि मेमोरी में मुफ्त बाइट्स की संख्या जो एक रैंडम बीज के साथ मिलकर वांछित रैंडमनैस उत्पन्न करती है जिसकी उसे आवश्यकता होती है।[14] CAPI का उपयोग करने वाले प्रोग्रामर इसे ठीक से आरंभ करने के बाद CAPI के CryptGenRandom() को कॉल करके एन्ट्रापी प्राप्त कर सकते हैं।[15] क्रिप्टोएपीआई को विंडोज विस्टा और उच्चतर से हटा दिया गया था। नई एपीआई को क्रिप्टोग्राफी एपीआई: नेक्स्ट जेनरेशन (सीएनजी) कहा जाता है।[16] विंडोज़ का सीएनजी बीजित मूल्य को संग्रहीत करने के लिए बाइनरी विंडोज़ रजिस्ट्री कुंजी HKEY_LOCAL_MACHINE\SYSTEM\RNG\Seed का उपयोग करता है।
विंडोज़ का नया संस्करण विभिन्न प्रकार के एन्ट्रापी स्रोतों का उपयोग करने में सक्षम है:
- विश्वसनीय प्लेटफ़ॉर्म मॉड्यूल यदि उपलब्ध हो और मदरबोर्ड पर सक्षम हो
- यूईएफआई इंटरफ़ेस से एन्ट्रॉपी (यदि यूईएफआई से बूट किया गया है)[17]
- RDRAND सीपीयू अनुदेश यदि उपलब्ध हो
- हार्डवेयर सिस्टम घड़ी (वास्तविक समय घड़ी)
- OEM0 ACPI तालिका सामग्री
- व्यवधान का समय
- कीबोर्ड टाइमिंग और माउस मूवमेंट[18]
एंबेडेड सिस्टम
अंतः स्थापित प्रणाली को पर्याप्त एन्ट्रापी इकट्ठा करने में कठिनाई होती है क्योंकि वे अक्सर कम बूट समय के साथ बहुत ही सरल उपकरण होते हैं, और कुंजी पीढ़ी के संचालन के लिए पर्याप्त एन्ट्रापी की आवश्यकता होती है जो अक्सर सिस्टम द्वारा की जाने वाली पहली चीजों में से एक होती है। सामान्य एन्ट्रापी स्रोत इन उपकरणों पर मौजूद नहीं हो सकते हैं, या बूट के दौरान पर्याप्त एन्ट्रापी मौजूद होने को सुनिश्चित करने के लिए पर्याप्त समय तक सक्रिय नहीं रहेंगे। एंबेडेड उपकरणों में अक्सर घूमने वाली डिस्क ड्राइव, मानव इंटरफ़ेस डिवाइस और यहां तक कि प्रशंसकों की कमी होती है, और नेटवर्क इंटरफ़ेस, यदि कोई हो, तो अधिक एन्ट्रॉपी प्रदान करने के लिए पर्याप्त समय तक सक्रिय नहीं होगा। एन्ट्रॉपी तक आसान पहुंच के अभाव में, कुछ डिवाइस रैंडम जेनरेटर को सीड करने के लिए हार्ड-कोडेड कुंजियों का उपयोग कर सकते हैं, या डिवाइस के मैक पते जैसे आसानी से अनुमानित अद्वितीय पहचानकर्ताओं से रैंडम जेनरेटर को सीड कर सकते हैं। एक साधारण अध्ययन[which?] समान कुंजियों का उपयोग करने वाले राउटर जैसे कई एम्बेडेड सिस्टम ढूंढकर कमजोर कुंजियों के व्यापक उपयोग का परफॉरमेंस किया। यह सोचा गया था कि यदि सरल और अक्सर हमलावर निर्धारित करने योग्य एक बार के विशिष्ट पहचानकर्ताओं को इनमें से कुछ प्रणालियों की एन्ट्रापी में शामिल नहीं किया गया होता, तो पाई गई कमजोर कुंजियों की संख्या कहीं अधिक होती।[19]
(डी)केंद्रीकृत सिस्टम
एक सच्चा रैंडम संख्या जनरेटर (टीआरएनजी) एक (डी) केंद्रीय सेवा हो सकता है। एक केंद्रीकृत प्रणाली का एक उदाहरण जहां एक रैंडम संख्या प्राप्त की जा सकती है वह राष्ट्रीय मानक और प्रौद्योगिकी संस्थान की रैंडमनैस बीकन सेवा है। कार्डानो प्लेटफ़ॉर्म रैंडम संख्याएँ उत्पन्न करने के लिए अपने विकेन्द्रीकृत -का-प्रमाण हिस्सेदारी प्रोटोकॉल के प्रतिभागियों का उपयोग करता है।[20]
अन्य प्रणालियाँ
ऐसे कुछ सॉफ्टवेयर पैकेज हैं जो किसी को रैंडम वर्णों को इकट्ठा करने के लिए यूजरस्पेस प्रक्रिया का उपयोग करने की अनुमति देते हैं, बिल्कुल वही जो /dev/random करता है, जैसे कि ईजीडी, एन्ट्रॉपी गैदरिंग डेमॉन।[21]
हार्डवेयर-उत्पन्न एन्ट्रापी
आधुनिक CPU और हार्डवेयर में अक्सर एकीकृत जनरेटर की सुविधा होती है जो ऑपरेटिंग सिस्टम को उच्च गुणवत्ता और उच्च गति एन्ट्रॉपी प्रदान कर सकते हैं। लिनक्स कर्नेल पर आधारित सिस्टम पर, कोई ऐसे डिवाइस से उत्पन्न एन्ट्रॉपी को /dev/hw_random के माध्यम से पढ़ सकता है।[22] हालाँकि, कभी-कभी /dev/hw_random धीमा हो सकता है;[23][24] कुछ कंपनियां एन्ट्रॉपी जेनरेशन डिवाइस बनाती हैं, और उनमें से कुछ को लिनक्स के लिए ड्राइवरों के साथ भेजा जाता है।[25][26] लिनक्स सिस्टम पर, कोई आरएनजी-टूल्स पैकेज इंस्टॉल कर सकता है[27] जो RDRAND निर्देश, विश्वसनीय प्लेटफ़ॉर्म मॉड्यूल और कुछ Intel, AMD, या VIA Technologies चिपसेट का समर्थन करने वाले CPU में पाए जाने वाले वास्तविक रैंडम संख्या जनरेटर (TRNG) का समर्थन करता है,[28] /dev/random में एकत्रित एन्ट्रॉपी को प्रभावी ढंग से बढ़ाना और संभावित रूप से क्रिप्टोग्राफ़िक क्षमता में सुधार करना। यह विशेष रूप से नेतृत्वहीन व्यवस्था पर उपयोगी है जिसमें एन्ट्रापी का कोई अन्य स्रोत नहीं है।
व्यावहारिक निहितार्थ
सिस्टम प्रशासकों, विशेष रूप से इंटरनेट सर्वरों की देखरेख करने वालों को यह सुनिश्चित करना होगा कि एन्ट्रापी की कमी के कारण सर्वर प्रक्रियाएँ नहीं रुकेंगी। लिनक्स कर्नेल, या किसी अन्य कर्नेल या यूजरस्पेस प्रक्रिया का उपयोग करने वाले सर्वर (कंप्यूटिंग) पर एन्ट्रॉपी जो कंसोल और स्टोरेज सबसिस्टम से एन्ट्रॉपी उत्पन्न करती है, अक्सर माउस और कीबोर्ड की कमी के कारण आदर्श से कम होती है, इस प्रकार सर्वर को उत्पन्न करना पड़ता है आईडीई टाइमिंग जैसे संसाधनों के सीमित सेट से उनकी एन्ट्रॉपी।
लिनक्स में एन्ट्रॉपी पूल का आकार फ़ाइल /proc/sys/kernel/random/entropy_avail के माध्यम से देखा जा सकता है और आम तौर पर कम से कम 2000 बिट्स (अधिकतम 4096 में से) होना चाहिए।[29][30] एन्ट्रापी बार-बार बदलती रहती है।
कम या शून्य एन्ट्रापी वाले सिस्टम के लिए जिम्मेदार प्रशासकों को /dev/random के विकल्प के रूप में /dev/urandom का उपयोग करने का प्रयास नहीं करना चाहिए क्योंकि इससे SSL/TLS कनेक्शन में निम्न-श्रेणी का एन्क्रिप्शन हो सकता है।[31] कुछ सॉफ़्टवेयर सिस्टम अक्सर अपनी Diffie-Hellman कुंजियाँ बदलते हैं, और यह कुछ मामलों में सर्वर को एन्ट्रापी बाधा के साथ भी सामान्य रूप से कार्य करना जारी रखने में मदद कर सकता है।[32] कम एन्ट्रापी वाले सर्वर पर, एक प्रक्रिया रुकी हुई दिखाई दे सकती है जब वह /dev/random (लिनक्स-आधारित सिस्टम पर) में रैंडम वर्णों के प्रकट होने की प्रतीक्षा कर रही हो। उदाहरण के लिए, डेबियन में एक ज्ञात समस्या थी जिसके कारण कुछ मामलों में exim4 लटक गया था।[33]
सिक्योरिटी
कीबोर्ड टाइमिंग हमलों के लिए एन्ट्रॉपी स्रोतों का उपयोग किया जा सकता है।[34] एन्ट्रॉपी सर्वर (कंप्यूटिंग) की क्रिप्टोग्राफी (टीएलएस/एसएसएल) को प्रभावित कर सकती है: यदि कोई सर्वर रैंडमनैस के उचित स्रोत का उपयोग करने में विफल रहता है, तो सर्वर द्वारा उत्पन्न कुंजियाँ असुरक्षित होंगी। कुछ मामलों में एक हैकर (कंप्यूटर सिक्योरिटी) (दुर्भावनापूर्ण हमलावर) छद्म रैंडम संख्या जनरेटर (पीआरएनजी) के आउटपुट से एन्ट्रॉपी के कुछ अंश ्स का अनुमान लगा सकता है, और ऐसा तब होता है जब पीआरएनजी में पर्याप्त एन्ट्रॉपी पेश नहीं की जाती है।[35]
संभावित स्रोत
आम तौर पर उपयोग किए जाने वाले एन्ट्रापी स्रोतों में माउस, कीबोर्ड और आईडीई टाइमिंग शामिल हैं, लेकिन अन्य संभावित स्रोत भी हैं। उदाहरण के लिए, कोई कंप्यूटर के माइक्रोफ़ोन से एन्ट्रापी एकत्र कर सकता है, या डिस्क ड्राइव के अंदर अशांति को मापने के लिए एक सेंसर का निर्माण कर सकता है।[36] यूनिक्स/बीएसडी डेरिवेटिव के लिए एक यूएसबी आधारित समाधान मौजूद है जो सिस्टम में दो एन्ट्रापी जेनरेटर स्रोतों द्वारा उत्पन्न बिट स्ट्रीम को फ़िल्टर करने/सुरक्षित करने के लिए एआरएम कॉर्टेक्स सीपीयू का उपयोग करता है।[37] बादल भड़कना एन्ट्रापी के अतिरिक्त स्रोत के रूप में 80 लावा लैंप के रैक से एक छवि फ़ीड का उपयोग करता है।[38]
यह भी देखें
- एन्ट्रॉपी (सूचना सिद्धांत)
- एन्ट्रापी
- रैंडमनैस
संदर्भ
- ↑ random(4) - Linux man page Archived 2007-10-11 at the Wayback Machine (die.net)
- ↑ "Robotic Tendencies » Missing entropy". Archived from the original on 2022-12-06. Retrieved 2023-05-23.
- ↑ "ऑडियो एन्ट्रॉपी डेमॉन". March 23, 2021. Archived from the original on 2021-03-23.
- ↑ "Fedora Package Database – audio-entropyd".[permanent dead link]
- ↑ "video_entropyd". March 23, 2021. Archived from the original on 2021-03-23.
- ↑ "एन्ट्रॉपी ब्रोकर". May 29, 2020. Archived from the original on 2020-05-29.
- ↑ "haveged – A simple entropy daemon". Archived from the original on 27 October 2012. Retrieved 3 April 2011.
- ↑ "Entropy and Random Devices | LinuxLink by TimeSys – Your Embedded Linux Resource". Archived from the original on 2016-04-02. Retrieved 2007-10-15.
- ↑ /dev/{,u}random driver for GNU/Hurd Archived 2007-09-18 at the Wayback Machine (ibofobi.dk)
- ↑ 10.0 10.1 "अनुकरण के माध्यम से सोलारिस /डेव/रैंडम". Archived from the original on 2007-11-04. Retrieved 2007-10-15.
- ↑ "Rexx Entropy Gathering Daemon for OS/2". r6.ca. Archived from the original on 2007-10-31. Retrieved 2007-10-15.
- ↑ Malayter, Ryan (November 9, 2001). "विंडोज़ के लिए जीपीएल कमांड-लाइन श्रेड विकल्प". Archived from the original on October 27, 2021. Retrieved May 23, 2023.
- ↑ "क्रिप्टोएपीआई स्थापित के साथ विंडोज प्लेटफॉर्म पर एन्ट्रापी के लिए स्रोत". www.mail-archive.com. Archived from the original on 2018-10-02. Retrieved 2023-05-23.
- ↑ Malayter, Ryan (February 15, 2002). "How does Windows GnuPG generate random numbers on keygen?". Archived from the original on December 1, 2021. Retrieved May 23, 2023.
- ↑ "[or-cvs] Get entropy in windows". archives.seul.org. Archived from the original on 2013-05-07. Retrieved 2023-05-23.
- ↑ "About CNG - Win32 apps". Archived from the original on 2018-05-17. Retrieved 2018-05-17.
- ↑ "यूईएफआई एन्ट्रापी संग्रहण प्रोटोकॉल - विंडोज़ ड्राइवर". Archived from the original on 2018-05-17. Retrieved 2018-05-17.
- ↑ "CryptGenRandom function (Wincrypt.h) - Win32 apps". Archived from the original on 2020-08-12. Retrieved 2020-08-31.
- ↑ Constantin, Lucian. "लाखों एम्बेडेड डिवाइस समान हार्ड-कोडेड एसएसएच और टीएलएस निजी कुंजी का उपयोग करते हैं". Network World (in English). Archived from the original on 2018-11-05. Retrieved 2018-11-05.
- ↑ "स्केलेबल यादृच्छिकता के लिए एक समाधान". iohk.io. June 6, 2017. Archived from the original on April 17, 2021. Retrieved September 14, 2020.
- ↑ "यादृच्छिक संख्याएँ". dwheeler.com. Archived from the original on 2022-12-30. Retrieved 2023-05-23.
- ↑ "'Re: SSL/TLS entropy problem,' - MARC". marc.info. Archived from the original on 2018-11-15. Retrieved 2023-05-23.
- ↑ "Re: /dev/hw_random". Archived from the original on 2007-10-31. Retrieved 2007-10-15.
- ↑ "Re: /dev/hw_random". Archived from the original on 2007-11-12. Retrieved 2007-10-15.
- ↑ "यादृच्छिक शोर स्रोत". Archived from the original on 2007-11-21. Retrieved 2007-10-15.
- ↑ http://random.com.hr/products/random/hg324.html Archived 2008-05-13 at the Wayback Machine
- ↑ "आरएनजी-उपकरण". Archived from the original on 2007-10-21. Retrieved 2007-10-16.
- ↑ https://www.kernel.org/doc/Documentation/hw_random.txt Archived 2013-07-31 at the Wayback Machine[bare URL plain text file]
- ↑ "Re: [exim] no reply to STARTTLS". lists.exim.org. Archived from the original on 2012-07-22. Retrieved 2023-05-23.
- ↑ random(4) Linux man page Archived 2007-10-11 at the Wayback Machine, die.net
- ↑ "'SSL/TLS entropy problem, aka pops timeouts (was: sasl ldap problem)' - MARC". marc.info. Archived from the original on 2018-11-15. Retrieved 2023-05-23.
- ↑ Josefsson, Simon; [TLS Re: Short Ephermal Diffie-Hellman keys] Archived 2007-11-11 at the Wayback Machine (ietf.org mailing list)
- ↑ "[gnutls-dev] gnutls_rsa_params_init hangs. Is regenerating rsa-params once a day too frequent?". lists.gnupg.org. Archived from the original on 2007-01-17.
- ↑ Zalewski, Michal; Unix entropy source can be used for keystroke timing attacks Archived 2011-07-19 at the Wayback Machine, 2003
- ↑ Re: entropy depletion (was: SSL/TLS passive sniffing) Archived 2011-05-17 at the Wayback Machine, 2005
- ↑ "Build your own cryptographically safe server/client protocol - 4.8.3. Collecting entropy". Archived from the original on 2012-07-23. Retrieved 2020-01-08.
{{cite web}}
: CS1 maint: bot: original URL status unknown (link) - ↑ "Simtec Electronics Entropy Key: USB True Random Number Generator". www.entropykey.co.uk. Archived from the original on July 22, 2010.
- ↑ "Randomness 101: LavaRand in Production". The Cloudflare Blog. November 6, 2017. Archived from the original on May 1, 2023. Retrieved May 23, 2023.