জিপিজি কীগুলির জন্য "এলোমেলো নম্বর এনট্রপি" যুক্ত করছেন?


10

নিম্নলিখিত ভিডিওতে: লিনাক্স হাওটো: পিজিপি, পার্ট 2 এর মাধ্যমে আপনার ডেটা সুরক্ষিত করুন, কী কী সাথে কী কী তৈরি করবেন তা আপনাকে দেখানো হবে gpg। প্রায় 1:50, প্রশিক্ষক নিম্নলিখিত বলছেন:

কীটি উত্পন্ন করার সময়, কী-টিয়ার তৈরির জন্য আপনার মাউসটিকে কিছুটা এলোমেলো সংখ্যার এনট্রপি দেওয়ার জন্য কিছুটা আবর্তিত করা ভাল ধারণা ।

এটি আমার রূপকথার মতো মনে হয়, বিশেষত যেহেতু কমান্ড-লাইন সরঞ্জামগুলি সাধারণত কার্সার দ্বারা প্রভাবিত হয় না। অন্যদিকে, লিনাক্সের এলোমেলো নম্বর জেনারেটর কীভাবে কাজ করে তা আমার কোনও ধারণা নেই, এটি জিইউআই শেয়ার করেছে বা সেখান থেকে স্বতন্ত্র। তিনি যা দাবি করেন তাতে কোনও স্টক রয়েছে, না এটি কার্গো কাল্ট প্রোগ্রামিংয়ের উদাহরণ ?


পার্শ্ব-প্রশ্ন হিসাবে, এটি কি "আরবান মিথ" এর সঠিক ব্যবহার বা "কম্পিউটিংয়ের মধ্যে মিথ" এর অনুরূপ বাক্য রয়েছে?
আইকিউ আন্দ্রেয়াস

1
আমার মনে হয় বাক্যাংশটি শহুরে কিংবদন্তি ; আমি আরবান পৌরাণিক কাহিনী শুনিনি । এন.ইউইকিপিডিয়া . org / উইকি / উরবান_লেগ দেখুন কম্পিউটারে "কার্গো কাল্ট" শব্দটি যথাযথ হতে পারে।
ডারোবার্ট

উত্তর:


8

এর সত্যের দানা রয়েছে, বাস্তবে পৌরাণিক কাহিনী অপেক্ষা আরও সত্য, তবে তবুও বিবৃতিটি যা চলছে তার একটি মৌলিক ভুল বোঝাবুঝির প্রতিফলন করে। হ্যাঁ, জিপিজি দিয়ে কী তৈরি করার সময় মাউসটি সরিয়ে নেওয়া ভাল ধারণা হতে পারে। হ্যাঁ, মাউসটি সরিয়ে নিয়ে যাওয়া এমন কিছু এনট্রপি অবদান রাখে যা এলোমেলো সংখ্যাগুলিকে এলোমেলো করে তোলে। না, মাউসটি সরানো কীটি আরও সুরক্ষিত করে না।

ক্রিপ্টোগ্রাফির জন্য উপযুক্ত সমস্ত ভাল এলোমেলো জেনারেটর এবং লিনাক্স সেই বিভাগে রয়েছে, দুটি উপাদান রয়েছে:

  • একটি এনট্রপি উত্স, যা অ-নিরস্তক। এনট্রপির উদ্দেশ্য হ'ল অপ্রত্যাশিত ডেটা সহ এলোমেলো সংখ্যা জেনারেটর বুটস্ট্র্যাপ করা। এন্ট্রপি উত্সটি অবশ্যই অ-নিরস্ত করা উচিত: অন্যথায়, কোনও বিরোধী একই গণনা পুনরুত্পাদন করতে পারে।
  • একটি সিউডোরেন্ডম সংখ্যার জেনারেটর , যা পরিবর্তিত অভ্যন্তরীণ পরিস্থিতি থেকে একটি নির্জনবাদী ফ্যাশনে অনাকাঙ্ক্ষিত এলোমেলো সংখ্যা তৈরি করে।

এন্ট্রপি এমন একটি উত্স থেকে আসতে হবে যা কম্পিউটারের বাহ্যিক। ব্যবহারকারী এন্ট্রপির একটি উত্স। ব্যবহারকারী যা করেন তা বেশিরভাগ এলোমেলো নয়, তবে কীস্ট্রোক এবং মাউস চলাফেরার সূক্ষ্ম সময়টি এতটা অনাকাঙ্ক্ষিত যে সামান্য এলোমেলো - খুব এলোমেলো নয়, তবে অল্প অল্প করেই তা জমে। এনট্রপির অন্যান্য সম্ভাব্য উত্সগুলির মধ্যে রয়েছে নেটওয়ার্ক প্যাকেট এবং ক্যামেরা বা মাইক্রোফোন সাদা গোলমালের সময় অন্তর্ভুক্ত। বিভিন্ন কার্নেল সংস্করণ এবং কনফিগারেশন বিভিন্ন উত্সের সেট ব্যবহার করতে পারে। কিছু কম্পিউটার তেজস্ক্রিয় ক্ষয়ের উপর ভিত্তি করে হার্ডওয়্যার আরএনজি সার্কিটকে নিবেদিত করে বা কম চিত্তাকর্ষকভাবে, অস্থির ইলেকট্রনিক সার্কিট। এই উত্সর্গীকৃত উত্সগুলি এম্বেডড ডিভাইস এবং সার্ভারগুলিতে বিশেষভাবে কার্যকর যা তাদের প্রথম বুটে বেশ অনুমানযোগ্য আচরণ করতে পারে, কোনও ব্যবহারকারীকে অদ্ভুত জিনিস না করেই।

লিনাক্স দুটি ডিভাইসের মাধ্যমে প্রোগ্রামগুলিতে এলোমেলো সংখ্যা সরবরাহ করে: /dev/randomএবং/dev/urandom । উভয় ডিভাইস থেকে পড়া ক্রিপ্টোগ্রাফিক-গুণমানটি দেয়। উভয় ডিভাইসই রাষ্ট্রটিকে রূপান্তর করতে এবং এলোমেলো বাইট তৈরি করতে একই অভ্যন্তরীণ আরএনজি অবস্থা এবং একই অ্যালগরিদম ব্যবহার করে। তাদের অদ্ভুত সীমাবদ্ধতা রয়েছে যা তাদের উভয়কেই সঠিক জিনিস করে না:

  • /dev/urandom যদি সিস্টেমটি এখনও পর্যাপ্ত এনট্রপি জমা না করে থাকে তবে অনুমানযোগ্য ডেটা ফিরতে পারে।
  • /dev/randomপর্যাপ্ত পরিমাণ না থাকলে উপলভ্য এনট্রপি এবং ব্লকগুলির পরিমাণ গণনা করে। এটি ভাল শোনাচ্ছে, ব্যতীত গণনাটি তাত্ত্বিক বিবেচনার ভিত্তিতে করা হয় যা প্রতিটি আউটপুট বিটের সাথে উপলভ্য এনট্রপির পরিমাণকে রৈখিকভাবে হ্রাস করে। সুতরাং /dev/randomখুব দ্রুত ব্লক ঝোঁক।

লিনাক্স সিস্টেমগুলি অভ্যন্তরীণ আরএনজি অবস্থাটিকে ডিস্কে সংরক্ষণ করে এবং বুট করার সময় পুনরুদ্ধার করে। অতএব এনট্রপি এক বুট থেকে অন্য বুটে চলে। লিনাক্স সিস্টেমে কেবলমাত্র ইন্সট্রপির অভাব থাকতে পারে যখন এটি নতুনভাবে ইনস্টল করা হয়। সিস্টেমে একবার পর্যাপ্ত এনট্রপি পাওয়া গেলে, এনট্রপি কমবে না; কেবল লিনাক্সের ত্রুটিযুক্ত গণনা হ্রাস পায়। এই বিবেচনার আরও ব্যাখ্যার জন্য , কোনও পেশাদার ক্রিপ্টোগ্রাফার দ্বারা /dev/urandomক্রিপ্টোগ্রাফিক কী উত্পন্ন করার জন্য পড়া উপযুক্ত । Aso দেখুন আপনি random.c এ ব্যবহৃত এনট্রপি অনুমানটি ব্যাখ্যা করতে পারেন

মাউস সরানো সিস্টেমে আরও এনট্রপি যুক্ত করে। তবে জিপিজি কেবল এগুলি থেকে পড়তে পারে /dev/random, নয়/dev/urandom (এই সমস্যার সমাধানের উপায়টি /dev/randomএকই 1: 9 ডিভাইস হিসাবে তৈরি করা /dev/urandom), তাই এটি কখনও-এলোমেলো-পর্যাপ্ত র্যান্ডম সংখ্যা পাওয়ার ঝুঁকি থাকে না at আপনি যদি মাউসটি না সরান, কীটি যতটা এলোমেলো হতে পারে; তবে কী ঘটতে পারে তা হ'ল জিপিজি/dev/random কার্নেলের এনট্রপি কাউন্টারের উত্থানের অপেক্ষায়, একটি পঠন থেকে ব্লক হয়ে যেতে পারে।


লিনাক্সের বর্তমান সংস্করণগুলি ব্যতীত, আমার পরীক্ষার থেকে কমপক্ষে, ইনট্রপির উত্স হিসাবে ইনপুট ডিভাইসগুলি ব্যবহার করবেন না (বা কমপক্ষে আনুমানিক এনট্রপির জন্য)। আমি নিশ্চিত তারা এটিকে পরিবর্তন করেছে কারণ তত্ত্বের ভিত্তিতে তারা আক্রমণকারীর নিয়ন্ত্রণে থাকতে পারে।
ডারোবার্ট

3,12 হিসাবে @derobert সেখানে একটি কল এর add_input_randomnessমধ্যে drivers/input/input.c, কিন্তু আমি কি পরিস্থিতিতে এটি আসলে উদ্বুদ্ধ এনট্রপি হবে মধ্যে জানি না।
গিলস 'তাই খারাপ হওয়া বন্ধ করুন'

আমি অনুমান করছি এটি এন্ট্রপি যুক্ত করেছে, তবে 0 এর প্রাক্কলনের সাথে ... আমি একটি ইউএসবি মাউস এবং পিএস / 2 কীবোর্ড উভয়ই চেষ্টা করেছিলাম, তবে এন্ট্রপি অনুমানের বিষয়টিও মনে হয় নি। নিশ্চিত না কেন, যদিও আমি কোডটিতে ক্রেডিট_এন্ট্রপি_বিটগুলিতে কল দেখছি।
ডারোবার্ট

3

জিপিজি লিনাক্স (কার্নেল) এলোমেলো সংখ্যা জেনারেটর ব্যবহার করছে। কার্নেল জেনারেটরটি সমস্ত ধরণের জায়গা থেকে এনট্রপি (এলোমেলোতা) পায়, তাদের মধ্যে কিছু বিঘ্নিত সময়ের জন্য বাধাদানের সময় অন্তর্ভুক্ত থাকে। মাউস সরানো (এবং টাইপিং, ডিস্ক ক্রিয়াকলাপ ইত্যাদি) সমস্ত বিঘ্ন সৃষ্টি করে।

সুতরাং, মাউসটি সরানো সম্ভাব্যভাবে এলোমেলো সংখ্যা জেনারেটরে ফিড করে। তবে এটি ব্যবহারের সঠিক কার্নেল সংস্করণের উপর নির্ভর করে; নতুন সংস্করণগুলি (অন্তত আমার পরীক্ষায়) এনট্রপির জন্য কীবোর্ড বা মাউস বিঘ্ন ব্যবহার করে না। ডিস্ক ক্রিয়াকলাপটি অবশ্য করে (তাই, syncদৌড়াদৌড়ি কতটা ফ্লাশ হয় তার উপর নির্ভর করে সম্ভাব্য পরিমাণে এনট্রপি যুক্ত করবে)।

সংক্ষেপে: এটি বর্তমান লিনাক্স সংস্করণে সত্য নয়। এটি বয়স্কদের উপর ছিল।

তবে, যদি জেনারেটরটি এন্ট্রপির বাইরে চলে যায়, তবে এটি কেবল থামার কথা — সুতরাং কিছু কী এনট্রপি তৈরি না হওয়া পর্যন্ত আপনার কী প্রজন্ম স্তব্ধ হয়ে যাবে। সুতরাং এটি একটি চিরকালীন সমস্যা হবে, কোনও সুরক্ষা সমস্যা নয়।

আপনি দেখতে পাচ্ছেন কতটা এনট্রপি দ্বারা উপলব্ধ cat /proc/sys/kernel/random/entropy_avail


এছাড়াও খেয়াল করুন যে আপনি rngdকৃত্রিমভাবে এনট্রপি পুল খাওয়ানোর জন্য সরঞ্জামগুলি ব্যবহার করতে পারেন ।
প্যাট্রিক

@ পেট্রিক প্রকৃতপক্ষে, এবং যদি আপনার কাছে একটি নতুন চিপ থাকে এবং এনএসএ-তে বিশ্বাস করে (ওহ, অপেক্ষা করুন, মানে, ইন্টেল) আপনি আরডিআরএনডি ব্যবহার করতে পারেন।
ডারোবার্ট

havegedকৃত্রিমভাবে এন্ট্রপি পুল খাওয়ানোর এটি একটি আরও ভাল সরঞ্জাম।
মাভিলান

এটি সম্পূর্ণ গল্প নয় - আরএনজি এনট্রপির বাইরে চলে না, এটি ইন্টারপির অভ্যন্তরীণ পরিমাপের বাইরে চলে। এছাড়াও, ধাঁধার একটি গুরুত্বপূর্ণ অংশ হ'ল জিপিজি মাউসটির বিষয়ে চিন্তা করে না, এটি কার্নেলটি করে।
গিলস 'অশুভ হওয়া বন্ধ করুন'

@ গিলস আমি স্পষ্ট করে দিয়েছি যে জিপিজি লিনাক্স আরএনজি ব্যবহার করছে। এবং এন্ট্রপি অনুমানকারীগুলিতে বাগগুলি সুযোগের বাইরে বলে মনে হচ্ছে।
ডারোবার্ট

0

লেজগুলির একটি অত্যন্ত দ্রুত কী প্রজন্ম রয়েছে কারণ এটি havegedইনস্টল হয়েছে:

sudo apt-get install haveged
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.