एन्ट्रॉपी (कंप्यूटिंग)

From Vigyanwiki

कम्प्यूटिंग में, एन्ट्रापी एक ऑपरेटिंग सिस्टम या एप्लिकेशन द्वारा क्रिप्टोग्राफी या अन्य उपयोगों में उपयोग के लिए रैंडमनैस एकत्र की गई है जिसके लिए रैंडम डेटा की आवश्यकता होती है। यह रैंडमनैस अधिकांशतः हार्डवेयर सोर्सों (पंखे के शोर या एचडीडी में भिन्नता) से एकत्र की जाती है, या तो पहले से उपलब्ध सोर्स जैसे कि माउस मूवमेंट या विशेष रूप से प्रदान किए गए रैंडमनैस जनरेटर से भी एकत्र कर सकते है, एन्ट्रापी की कमी परफॉरमेंस और सिक्योरिटी पर नेगेटिव प्रभाव डाल सकती है।

लिनक्स कर्नेल

लिनक्स कर्नेल कीबोर्ड (कंप्यूटिंग) टाइमिंग, माउस (कंप्यूटिंग) और इंटीग्रेटेड ड्राइव इलेक्ट्रॉनिक्स (आईडीई) टाइमिंग से एन्ट्रापी उत्पन्न करता है और स्पेशल फाइल्स /dev/random और /dev/urandom के माध्यम से अन्य ऑपरेटिंग सिस्टम प्रक्रियाओं के लिए रैंडम कैरेक्टर डेटा उपलब्ध कराता है। यह कैपबिलिटी लिनक्स संस्करण 1.3.30 में प्रस्तुत की गई थी।[1]

कुछ लिनक्स कर्नेल पैच हैं जो किसी को अधिक एन्ट्रापी सोर्सों का उपयोग करने की अनुमति देते हैं।[2] ऑडियो_एन्ट्रापीड प्रोजेक्ट,[3] जो फेडोरा (ऑपरेटिंग सिस्टम) जैसे कुछ ऑपरेटिंग सिस्टम में सम्मिलित है, ऑडियो डेटा को एन्ट्रॉपी सोर्स के रूप में उपयोग करने की अनुमति देता है।[4] वीडियो_एन्ट्रापीड[5] भी उपलब्ध है जो एक वीडियो-सोर्स और एन्ट्रॉपीब्रोकर[6] से रैंडम डेटा की कैलकुलेशन करता है जिसमें ये तीनों सम्मिलित हैं और इसका उपयोग एन्ट्रॉपी डेटा को उन सिस्टमों में डिस्ट्रीब्यूट करने के लिए किया जा सकता है, (उदाहरण के लिए वर्चुअल मशीन) जो इनमें से किसी को भी चलाने में सक्षम नहीं हैं। इसके अतिरिक्त, कोई हेज्ड टू पूल एन्ट्रॉपी के माध्यम से हैवेज़ एल्गोरिदम का उपयोग कर सकता है।[7] कुछ सिस्टम्स में, नेटवर्क इंटरप्ट का उपयोग एन्ट्रापी सोर्स के रूप में भी किया जा सकता है।[8]

ओपनबीएसडी कर्नेल

ओपनबीएसडी ने क्रिप्टोग्राफी को अपने मेन गोल्स में से एक के रूप में एकीकृत किया है और निरंतर एन्क्रिप्शन के लिए अपनी एन्ट्रापी को बढ़ाने पर काम किया है, लेकिन इसके कर्नेल के विभिन्न आंतरिक संचालन सहित ओएस के कई भागो को रैंडम बनाने के लिए भी काम किया है। 2011 के आसपास, दो रैंडम उपकरणों को हटा दिया गया और एक ही सोर्स से जोड़ दिया गया क्योंकि यह एक औसत सिस्टम पर प्रति सेकंड सैकड़ों मेगाबाइट उच्च गुणवत्ता वाले रैंडम डेटा का उत्पादन कर सकता था। इससे ओपनबीएसडी पर यूज़रलैंड प्रोग्राम्स द्वारा रैंडम डेटा की कमी असंभव हो गई, जब प्रारंभ में पर्याप्त एन्ट्रापी एकत्र हो गई थी।

हर्ड कर्नेल

हर्ड कर्नेल के लिए लिनक्स कर्नेल से पोर्ट किया गया ड्राइवर उपलब्ध कराया गया है।[9]

सोलारिस

/dev/random और /dev/urandom सोलारिस 2.6 के पश्चात से सोलारिस (ऑपरेटिंग सिस्टम) के लिए सन पैकेज या पैच के रूप में उपलब्ध हैं।[10] और सोलारिस 9 के पश्चात से यह एक मानक सुविधा रही है। "सोलारिस /देव/यादृच्छिक". Archived from the original on 2008-05-11. Retrieved 2007-10-17. सोलारिस 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]

सीएपीआई का उपयोग करने वाले प्रोग्रामर इसे ठीक से आरंभ करने के पश्चात सीएपीआई के क्रिप्टजेनरैंडम() को कॉल करके एन्ट्रापी प्राप्त कर सकते हैं।[15]

क्रिप्टोएपीआई को विंडोज विस्टा और उच्चतर से हटा दिया गया था। नवीनतम एपीआई को क्रिप्टोग्राफी एपीआई: नेक्स्ट जेनरेशन (सीएनजी) कहा जाता है।[16] विंडोज़ का सीएनजी सीडेड वैल्यू को संग्रहीत करने के लिए बाइनरी विंडोज़ रजिस्ट्री की HKEY_LOCAL_MACHINE\SYSTEM\RNG\Seed का उपयोग करता है।

विंडोज़ का नया संस्करण विभिन्न प्रकार के एन्ट्रापी सोर्सों का उपयोग करने में सक्षम है:

एंबेडेड सिस्टम

एंबेडेड सिस्टम को पर्याप्त एन्ट्रापी एकत्र करने में कठिनाई होती है क्योंकि वे अधिकांशतः कम बूट समय के साथ बहुत ही सरल उपकरण होते हैं, और की जैनरेशन के संचालन के लिए पर्याप्त एन्ट्रापी की आवश्यकता होती है, जो अधिकांशतः सिस्टम द्वारा की जाने वाली पहली चीजों में से एक होती है। सामान्य एन्ट्रापी सोर्स इन उपकरणों पर उपलब्ध नहीं हो सकते हैं, या बूट के समय पर्याप्त एन्ट्रापी उपलब्ध होने को सुनिश्चित करने के लिए पर्याप्त समय तक सक्रिय नहीं रहते है। एंबेडेड उपकरणों में अधिकांशतः लैक रोटेटिंग डिस्क ड्राइव, मानव इंटरफ़ेस डिवाइस और यहां तक ​​​​कि प्रशंसकों की कमी होती है, और नेटवर्क इंटरफ़ेस, यदि कोई हो, तो अधिक एन्ट्रॉपी प्रदान करने के लिए पर्याप्त समय तक सक्रिय नहीं होता है। एन्ट्रॉपी तक सरल आइडेंटिफायर्स के अभाव में, कुछ डिवाइस रैंडम जेनरेटर को सीड करने के लिए हार्ड-कोडेड कीज़ का उपयोग कर सकते हैं, या डिवाइस के मैक एड्रेस जैसे सरलता से अनुमानित अद्वितीय आइडेंटिफायर्स से रैंडम जेनरेटर को सीड कर सकते हैं। एक साधारण अध्ययन[which?] समान कीज़ का उपयोग करने वाले राउटर जैसे कई एम्बेडेड सिस्टम ढूंढकर वीक कीज़ के व्यापक उपयोग का परफॉरमेंस किया है। यह सोचा गया था कि यदि सरल और अधिकांशतः अटैकर निर्धारित करने योग्य एक बार के विशिष्ट आइडेंटिफायर्स को इनमें से कुछ सिस्टम्स की एन्ट्रापी में सम्मिलित नहीं किया गया होता, तो पाई गई वीक कीज़ की संख्या कहीं ज़्यादा अधिक होती है।[19]

(डी)सेंट्रलाइज्ड सिस्टम

एक ट्रू रैंडम नंबर जनरेटर (टीआरएनजी) एक (डी) सेंट्रल सर्विस हो सकता है। एक सेंट्रलाइज्ड सिस्टम का एक उदाहरण जहां एक रैंडम नंबर प्राप्त की जा सकती है वह राष्ट्रीय मानक और प्रौद्योगिकी संस्थान की रैंडमनैस बीकन सर्विस है। कार्डानो प्लेटफ़ॉर्म रैंडम नंबर उत्पन्न करने के लिए अपने डीसेंट्रलाइज्ड प्रूफ-ऑफ़-स्टेक प्रोटोकॉल के प्रतिभागियों का उपयोग करता है।[20]

अन्य प्रणालियाँ

इसी प्रकार पूर्णतया वही जो /dev/random करता है, जैसे कि ईजीडी, एन्ट्रॉपी गैदरिंग डेमॉन ऐसे कुछ सॉफ्टवेयर पैकेज हैं जो किसी को रैंडम कैरेक्टर्स को एकत्र करने के लिए यूजरस्पेस प्रक्रिया का उपयोग करने की अनुमति देते हैं।[21]

हार्डवेयर-उत्पन्न एन्ट्रापी

मॉडर्न सीपीयू और हार्डवेयर में अधिकांशतः एकीकृत जनरेटर की सुविधा होती है जो ऑपरेटिंग सिस्टम को उच्च गुणवत्ता और उच्च गति एन्ट्रॉपी प्रदान कर सकते हैं। लिनक्स कर्नेल पर आधारित सिस्टम पर, कोई ऐसे डिवाइस से उत्पन्न एन्ट्रॉपी को /dev/hw_random के माध्यम से पढ़ सकता है।[22] चूँकि, कभी-कभी /dev/hw_random धीमा हो सकता है;[23][24]

कुछ कंपनियां एन्ट्रॉपी जेनरेशन डिवाइस बनाती हैं, और उनमें से कुछ को लिनक्स के लिए ड्राइवरों के साथ भेजा जाता है।[25][26]

लिनक्स सिस्टम पर, कोई आरएनजी-टूल्स पैकेज इंस्टॉल कर सकता है[27] जो आरडीआरएएनडी निर्देश, विश्वसनीय प्लेटफ़ॉर्म मॉड्यूल और कुछ इंटेल, एएमडी, या वीआईए टेक्नोलॉजीज चिपसेट का समर्थन करने वाले सीपीयू में पाए जाने वाले वास्तविक रैंडम नंबर जनरेटर (टीआरएनजी) का समर्थन करता है,[28] /dev/random में एकत्रित एन्ट्रॉपी को प्रभावी ढंग से बढ़ाना और संभावित रूप से क्रिप्टोग्राफ़िक क्षमता में सुधार करना। यह विशेष रूप से नेतृत्वहीन व्यवस्था पर उपयोगी है जिसमें एन्ट्रापी का कोई अन्य सोर्स नहीं है।

व्यावहारिक निहितार्थ

सिस्टम प्रशासकों, विशेष रूप से इंटरनेट सर्वरों की देखरेख करने वालों को यह सुनिश्चित करना होगा कि एन्ट्रापी की कमी के कारण सर्वर प्रक्रियाएँ नहीं रुकेंगी। लिनक्स कर्नेल, या किसी अन्य कर्नेल या यूजरस्पेस प्रक्रिया का उपयोग करने वाले सर्वर (कंप्यूटिंग) पर एन्ट्रॉपी जो कंसोल और स्टोरेज सबसिस्टम से एन्ट्रॉपी उत्पन्न करती है, Diffie-Hellman माउस और कीबोर्ड की कमी के कारण आदर्श से कम होती है, इस प्रकार सर्वर को उत्पन्न करना पड़ता है आईडीई टाइमिंग जैसे संसाधनों के सीमित सेट से उनकी एन्ट्रॉपी।

लिनक्स में एन्ट्रॉपी पूल का आकार फ़ाइल /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]

यह भी देखें

संदर्भ

  1. random(4) - Linux man page Archived 2007-10-11 at the Wayback Machine (die.net)
  2. "Robotic Tendencies » Missing entropy". Archived from the original on 2022-12-06. Retrieved 2023-05-23.
  3. "ऑडियो एन्ट्रॉपी डेमॉन". March 23, 2021. Archived from the original on 2021-03-23.
  4. "Fedora Package Database – audio-entropyd".[permanent dead link]
  5. "video_entropyd". March 23, 2021. Archived from the original on 2021-03-23.
  6. "एन्ट्रॉपी ब्रोकर". May 29, 2020. Archived from the original on 2020-05-29.
  7. "haveged – A simple entropy daemon". Archived from the original on 27 October 2012. Retrieved 3 April 2011.
  8. "Entropy and Random Devices | LinuxLink by TimeSys – Your Embedded Linux Resource". Archived from the original on 2016-04-02. Retrieved 2007-10-15.
  9. /dev/{,u}random driver for GNU/Hurd Archived 2007-09-18 at the Wayback Machine (ibofobi.dk)
  10. 10.0 10.1 "अनुकरण के माध्यम से सोलारिस /डेव/रैंडम". Archived from the original on 2007-11-04. Retrieved 2007-10-15.
  11. "Rexx Entropy Gathering Daemon for OS/2". r6.ca. Archived from the original on 2007-10-31. Retrieved 2007-10-15.
  12. Malayter, Ryan (November 9, 2001). "विंडोज़ के लिए जीपीएल कमांड-लाइन श्रेड विकल्प". Archived from the original on October 27, 2021. Retrieved May 23, 2023.
  13. "क्रिप्टोएपीआई स्थापित के साथ विंडोज प्लेटफॉर्म पर एन्ट्रापी के लिए स्रोत". www.mail-archive.com. Archived from the original on 2018-10-02. Retrieved 2023-05-23.
  14. 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.
  15. "[or-cvs] Get entropy in windows". archives.seul.org. Archived from the original on 2013-05-07. Retrieved 2023-05-23.
  16. "About CNG - Win32 apps". Archived from the original on 2018-05-17. Retrieved 2018-05-17.
  17. "यूईएफआई एन्ट्रापी संग्रहण प्रोटोकॉल - विंडोज़ ड्राइवर". Archived from the original on 2018-05-17. Retrieved 2018-05-17.
  18. "CryptGenRandom function (Wincrypt.h) - Win32 apps". Archived from the original on 2020-08-12. Retrieved 2020-08-31.
  19. Constantin, Lucian. "लाखों एम्बेडेड डिवाइस समान हार्ड-कोडेड एसएसएच और टीएलएस निजी कुंजी का उपयोग करते हैं". Network World (in English). Archived from the original on 2018-11-05. Retrieved 2018-11-05.
  20. "स्केलेबल यादृच्छिकता के लिए एक समाधान". iohk.io. June 6, 2017. Archived from the original on April 17, 2021. Retrieved September 14, 2020.
  21. "यादृच्छिक संख्याएँ". dwheeler.com. Archived from the original on 2022-12-30. Retrieved 2023-05-23.
  22. "'Re: SSL/TLS entropy problem,' - MARC". marc.info. Archived from the original on 2018-11-15. Retrieved 2023-05-23.
  23. "Re: /dev/hw_random". Archived from the original on 2007-10-31. Retrieved 2007-10-15.
  24. "Re: /dev/hw_random". Archived from the original on 2007-11-12. Retrieved 2007-10-15.
  25. "यादृच्छिक शोर स्रोत". Archived from the original on 2007-11-21. Retrieved 2007-10-15.
  26. http://random.com.hr/products/random/hg324.html Archived 2008-05-13 at the Wayback Machine
  27. "आरएनजी-उपकरण". Archived from the original on 2007-10-21. Retrieved 2007-10-16.
  28. https://www.kernel.org/doc/Documentation/hw_random.txt Archived 2013-07-31 at the Wayback Machine[bare URL plain text file]
  29. "Re: [exim] no reply to STARTTLS". lists.exim.org. Archived from the original on 2012-07-22. Retrieved 2023-05-23.
  30. random(4) Linux man page Archived 2007-10-11 at the Wayback Machine, die.net
  31. "'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.
  32. Josefsson, Simon; [TLS Re: Short Ephermal Diffie-Hellman keys] Archived 2007-11-11 at the Wayback Machine (ietf.org mailing list)
  33. "[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.
  34. Zalewski, Michal; Unix entropy source can be used for keystroke timing attacks Archived 2011-07-19 at the Wayback Machine, 2003
  35. Re: entropy depletion (was: SSL/TLS passive sniffing) Archived 2011-05-17 at the Wayback Machine, 2005
  36. "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)
  37. "Simtec Electronics Entropy Key: USB True Random Number Generator". www.entropykey.co.uk. Archived from the original on July 22, 2010.
  38. "Randomness 101: LavaRand in Production". The Cloudflare Blog. November 6, 2017. Archived from the original on May 1, 2023. Retrieved May 23, 2023.


बाहरी संबंध