கணினிகள் சீரற்ற எண்களை எவ்வாறு உருவாக்குகின்றன
குறியாக்கவியல் முதல் வீடியோ கேம்கள் மற்றும் சூதாட்டம் வரை அனைத்திற்கும் கணினிகள் சீரற்ற எண்ணை உருவாக்குகின்றன. சீரற்ற எண்களில் இரண்டு பிரிவுகள் உள்ளன - “உண்மை” சீரற்ற எண்கள் மற்றும் போலி எண்கள் - மற்றும் குறியாக்க அமைப்புகளின் பாதுகாப்பிற்கு வேறுபாடு முக்கியமானது.
மவுஸ் அசைவுகள் அல்லது விசிறி சத்தம் போன்ற சில வெளிப்புற தரவைக் கவனிப்பதன் மூலம் கணினிகள் உண்மையிலேயே சீரற்ற எண்களை உருவாக்க முடியும், இது கணிக்க முடியாதது, அதிலிருந்து தரவை உருவாக்குவது. இது என்ட்ரோபி என்று அழைக்கப்படுகிறது. மற்ற நேரங்களில், அவை ஒரு வழிமுறையைப் பயன்படுத்துவதன் மூலம் “சூடோராண்டம்” எண்களை உருவாக்குகின்றன, எனவே அவை இல்லாவிட்டாலும் முடிவுகள் சீரற்றதாகத் தோன்றும்.
இந்த தலைப்பு சமீபத்தில் மிகவும் சர்ச்சைக்குரியதாகிவிட்டது, இன்டெல்லின் உள்ளமைக்கப்பட்ட வன்பொருள் சீரற்ற எண் ஜெனரேட்டர் சிப் நம்பகமானதா என்று பலர் கேள்வி எழுப்பியுள்ளனர். இது ஏன் நம்பகமானதாக இருக்காது என்பதைப் புரிந்து கொள்ள, சீரற்ற எண்கள் முதலில் எவ்வாறு உருவாக்கப்படுகின்றன என்பதையும் அவை எதற்காகப் பயன்படுத்தப்படுகின்றன என்பதையும் நீங்கள் புரிந்து கொள்ள வேண்டும்.
சீரற்ற எண்கள் எதற்காகப் பயன்படுத்தப்படுகின்றன
சீரற்ற எண்கள் பல ஆயிரம் ஆண்டுகளாக பயன்படுத்தப்படுகின்றன. இது ஒரு நாணயத்தை புரட்டினாலும் அல்லது பகடை உருட்டினாலும், இறுதி முடிவை சீரற்ற வாய்ப்பு வரை விட்டுவிடுவதே குறிக்கோள். கணினியில் சீரற்ற எண் ஜெனரேட்டர்கள் ஒத்தவை - அவை கணிக்க முடியாத, சீரற்ற முடிவை அடைவதற்கான முயற்சி.
தொடர்புடையது:குறியாக்கம் என்றால் என்ன, அது எவ்வாறு இயங்குகிறது?
சீரற்ற எண் ஜெனரேட்டர்கள் பல்வேறு நோக்கங்களுக்காக பயனுள்ளதாக இருக்கும். சூதாட்ட நோக்கங்களுக்காக சீரற்ற எண்களை உருவாக்குவது அல்லது கணினி விளையாட்டில் கணிக்க முடியாத முடிவுகளை உருவாக்குவது போன்ற வெளிப்படையான பயன்பாடுகளைத் தவிர, குறியாக்கவியலுக்கு சீரற்ற தன்மை முக்கியமானது.
கிரிப்டோகிராஃபிக்கு தாக்குதல் நடத்துபவர்களால் யூகிக்க முடியாத எண்கள் தேவை. ஒரே எண்களை மீண்டும் மீண்டும் பயன்படுத்த முடியாது. இந்த எண்களை மிகவும் கணிக்க முடியாத வகையில் உருவாக்க விரும்புகிறோம், எனவே தாக்குபவர்களால் அவற்றை யூகிக்க முடியாது. நீங்கள் உங்கள் சொந்த கோப்புகளை குறியாக்குகிறீர்களோ அல்லது இணையத்தில் ஒரு HTTPS வலைத்தளத்தைப் பயன்படுத்துகிறீர்களோ, பாதுகாப்பான குறியாக்கத்திற்கு இந்த சீரற்ற எண்கள் அவசியம்.
உண்மையான சீரற்ற எண்கள்
ஒரு கணினி உண்மையில் ஒரு சீரற்ற எண்ணை எவ்வாறு உருவாக்க முடியும் என்று நீங்கள் யோசித்துக்கொண்டிருக்கலாம். இந்த "சீரற்ற தன்மை" எங்கிருந்து வருகிறது. இது கணினி குறியீட்டின் ஒரு பகுதி என்றால், கணினி உருவாக்கும் எண்களை யூகிக்கக்கூடியதாக இருக்க முடியாதா?
கணினிகள் எவ்வாறு உருவாக்கப்படுகின்றன என்பதைப் பொறுத்து, அவை பொதுவாக இரண்டு வகைகளாக உருவாக்கப்படுகின்றன: “உண்மை” சீரற்ற எண்கள் மற்றும் போலி-சீரற்ற எண்கள்.
“உண்மையான” சீரற்ற எண்ணை உருவாக்க, கணினி கணினிக்கு வெளியே நடக்கும் சில வகையான உடல் நிகழ்வுகளை அளவிடுகிறது. எடுத்துக்காட்டாக, ஒரு அணுவின் கதிரியக்கச் சிதைவை கணினி அளவிட முடியும். குவாண்டம் கோட்பாட்டின் படி, கதிரியக்கச் சிதைவு எப்போது நிகழும் என்பதை உறுதியாக அறிய வழி இல்லை, எனவே இது அடிப்படையில் பிரபஞ்சத்திலிருந்து வரும் “தூய்மையான சீரற்ற தன்மை” ஆகும். கதிரியக்கச் சிதைவு எப்போது நிகழும் என்பதை தாக்குபவரால் கணிக்க முடியாது, எனவே அவர்களுக்கு சீரற்ற மதிப்பு தெரியாது.
மேலும் அன்றாட உதாரணத்திற்கு, கணினி வளிமண்டல சத்தத்தை நம்பலாம் அல்லது கணிக்க முடியாத தரவு அல்லது என்ட்ரோபியின் ஆதாரமாக உங்கள் விசைப்பலகையில் விசைகளை அழுத்தும் சரியான நேரத்தைப் பயன்படுத்தலாம். எடுத்துக்காட்டாக, பிற்பகல் 2 மணிக்குப் பிறகு நீங்கள் ஒரு விசையை சரியாக 0.23423523 வினாடிகளில் அழுத்தியதை உங்கள் கணினி கவனிக்கக்கூடும்.இந்த விசை அச்சகங்களுடன் தொடர்புடைய குறிப்பிட்ட நேரங்களை போதுமான அளவு எடுத்துக் கொள்ளுங்கள், மேலும் ஒரு “உண்மையான” சீரற்றதை உருவாக்க நீங்கள் பயன்படுத்தக்கூடிய என்ட்ரோபியின் மூலமும் உங்களிடம் இருக்கும் எண். நீங்கள் யூகிக்கக்கூடிய இயந்திரம் அல்ல, எனவே இந்த விசைகளை அழுத்தும்போது துல்லியமான தருணத்தை தாக்குபவர் யூகிக்க முடியாது. சீரற்ற எண்களை, “தொகுதிகள்” உருவாக்கும் லினக்ஸில் உள்ள / dev / random சாதனம், உண்மையான சீரற்ற எண்ணைத் தர போதுமான என்ட்ரோபியைச் சேகரிக்கும் வரை அதன் முடிவைத் தராது.
சூடோராண்டம் எண்கள்
சூடோராண்டம் எண்கள் “உண்மை” சீரற்ற எண்களுக்கு மாற்றாகும். சீரற்றதாகத் தோன்றும் எண்களை உருவாக்க ஒரு கணினி ஒரு விதை மதிப்பு மற்றும் ஒரு வழிமுறையைப் பயன்படுத்தலாம், ஆனால் அவை உண்மையில் கணிக்கக்கூடியவை. கணினி சூழலில் இருந்து எந்த சீரற்ற தரவையும் சேகரிக்காது.
ஒவ்வொரு சூழ்நிலையிலும் இது ஒரு மோசமான விஷயம் அல்ல. எடுத்துக்காட்டாக, நீங்கள் ஒரு வீடியோ கேம் விளையாடுகிறீர்கள் என்றால், அந்த விளையாட்டில் நிகழும் நிகழ்வுகள் “உண்மையான” சீரற்ற எண்கள் அல்லது போலி எண்களால் ஏற்பட்டதா என்பது முக்கியமல்ல. மறுபுறம், நீங்கள் குறியாக்கத்தைப் பயன்படுத்துகிறீர்கள் என்றால், தாக்குபவர் யூகிக்கக்கூடிய போலி எண்களைப் பயன்படுத்த விரும்பவில்லை.
எடுத்துக்காட்டாக, ஒரு போலி எண் ஜெனரேட்டர் பயன்படுத்தும் வழிமுறை மற்றும் விதை மதிப்பை தாக்குபவர் அறிவார் என்று சொல்லலாம். ஒரு குறியாக்க வழிமுறை இந்த வழிமுறையிலிருந்து ஒரு போலி எண்ணைப் பெறுகிறது மற்றும் கூடுதல் சீரற்ற தன்மையைச் சேர்க்காமல் குறியாக்க விசையை உருவாக்க அதைப் பயன்படுத்துகிறது. ஒரு தாக்குபவருக்கு போதுமான அளவு தெரிந்தால், அவர்கள் பின்னோக்கி வேலைசெய்து, குறியாக்க வழிமுறை அந்த வழக்கில் தேர்ந்தெடுத்திருக்க வேண்டிய போலி எண்ணை தீர்மானிக்க முடியும், இது குறியாக்கத்தை உடைக்கிறது.
NSA மற்றும் இன்டெல்லின் வன்பொருள் சீரற்ற எண் ஜெனரேட்டர்
டெவலப்பர்களுக்கு விஷயங்களை எளிதாக்குவதற்கும், பாதுகாப்பான சீரற்ற எண்களை உருவாக்க உதவுவதற்கும், இன்டெல் சில்லுகளில் RdRand எனப்படும் வன்பொருள் அடிப்படையிலான சீரற்ற எண் ஜெனரேட்டர் அடங்கும். இந்த சிப் செயலியில் ஒரு என்ட்ரோபி மூலத்தைப் பயன்படுத்துகிறது மற்றும் மென்பொருள் கோரும்போது மென்பொருளுக்கு சீரற்ற எண்களை வழங்குகிறது.
இங்குள்ள சிக்கல் என்னவென்றால், சீரற்ற எண் ஜெனரேட்டர் அடிப்படையில் ஒரு கருப்பு பெட்டி மற்றும் அதற்குள் என்ன நடக்கிறது என்பது எங்களுக்குத் தெரியாது. RdRand ஒரு NSA பின்புறத்தைக் கொண்டிருந்தால், அந்த சீரற்ற எண் ஜெனரேட்டரால் வழங்கப்பட்ட தரவுகளுடன் மட்டுமே உருவாக்கப்படும் குறியாக்க விசைகளை அரசாங்கத்தால் உடைக்க முடியும்.
இது ஒரு தீவிரமான கவலை. டிசம்பர் 2013 இல், FreeBSD இன் டெவலப்பர்கள் RdRand ஐ சீரற்ற தன்மையின் மூலமாக நேரடியாகப் பயன்படுத்துவதற்கான ஆதரவை அகற்றினர், அதை நம்ப முடியாது என்று கூறி. [ஆதாரம்] RdRand சாதனத்தின் வெளியீடு மற்றொரு வழிமுறையில் கூடுதல் என்ட்ரோபியைச் சேர்க்கும், இது சீரற்ற எண் ஜெனரேட்டரில் எந்த கதவுகளும் தேவையில்லை என்பதை உறுதி செய்கிறது. லினக்ஸ் ஏற்கனவே இந்த வழியில் பணிபுரிந்தது, RdRand இலிருந்து வரும் சீரற்ற தரவை மேலும் சீரற்றதாக்குகிறது, இதனால் ஒரு கதவு இருந்தாலும் கூட அது கணிக்க முடியாது. [ஆதாரம்] ரெடிட்டில் சமீபத்திய AMA (“என்னிடம் எதையும் கேளுங்கள்”) இல், இன்டெல் தலைமை நிர்வாக அதிகாரி பிரையன் க்ர்ஸானிச் இந்த கவலைகள் குறித்த கேள்விகளுக்கு பதிலளிக்கவில்லை. [ஆதாரம்]
நிச்சயமாக, இது இன்டெல் சில்லுகளின் சிக்கல் மட்டுமல்ல. FreeBSD இன் டெவலப்பர்கள் வயாவின் சில்லுகளையும் பெயரால் அழைத்தனர். உண்மையிலேயே சீரற்ற மற்றும் கணிக்க முடியாத சீரற்ற எண்களை உருவாக்குவது ஏன் முக்கியமானது என்பதை இந்த சர்ச்சை காட்டுகிறது.
“உண்மையான” சீரற்ற எண்களை உருவாக்க, சீரற்ற எண் ஜெனரேட்டர்கள் “என்ட்ரோபி” அல்லது அவற்றைச் சுற்றியுள்ள இயற்பியல் உலகத்திலிருந்து சீரற்ற தரவை சேகரிக்கின்றன. இல்லாத சீரற்ற எண்களுக்கு உண்மையில் சீரற்றதாக இருக்க வேண்டும், அவை ஒரு வழிமுறை மற்றும் விதை மதிப்பைப் பயன்படுத்தலாம்.
படக் கடன்: பிளிக்கரில் rekre89, பிளிக்கரில் லிசா ப்ரூஸ்டர், பிளிக்கரில் ரியான் சோமா, பிளிக்கரில் ஹுவாங்ஜியுய்