পিজিপি কী এর জন্য এনট্রপি তৈরি করুন


12

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

আমি কীভাবে কিছু তৈরি করতে পারি?

আমি চেষ্টা করেছিলাম cat /dev/urandom > /dev/nullকিন্তু তাতে কোন লাভ হয় না।

উত্তর:


13

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

যদি আপনার চারপাশে ভাল এলোমেলো ডেটা থাকে, বা অন্য কোনও সার্ভারের থেকে কিছু রফতানি করা হয় তবে আপনি আরও সার্ভারের এন্ট্রপি পেতে আপনার সার্ভারের মধ্যে এটি /dev/randomকরতে পারেন । যদিও কখনও কখনও একই ফাইলটি করা উচিত নয় ।cat/dev/randomcat/dev/random

আপনি যদি প্রায়শই এন্ট্রপির বাইরে চলে যান তবে আপনি হ্যাজেড , ডেমোন যা পটভূমিতে এনট্রপি পুনরায় জেনারেট করে এবং /dev/randomপ্রয়োজনীয় হিসাবে পুনরায় পূরণের মতো কিছু ইনস্টল করার বিষয়েও বিবেচনা করতে পারেন ।

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


নোট করুন যে ফ্রিবিএসডি - তে, /dev/randomএকটি উচ্চ-মানের PRNG , এবং সাধারণত এটি ব্লক করা উচিত নয়।
কেভিন

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

লিনাক্সে আপনি কেবল কোনও হোস্টকে ping 8.8.8.8পিং করে আরও এনট্রপি জেনারেট করতে পারেন (উদাহরণস্বরূপ ) যদি আপনি নিজের অন্য নেটওয়ার্ক হোস্টের প্রতি 100 মিমি পিং করার চেষ্টা করেন (যদি আপনার আরটিটি <100ms অবশ্যই হয়)। এবং / অথবা findআপনার হার্ড ডিস্কে ফাইলগুলি অনুসন্ধান করতে এবং প্রতিটি ফাইল অনুসন্ধানের মধ্যে র‌্যাম ক্যাশে ফ্লাশ করতে ব্যবহার করুন।
হিউজেনস

@ হুইজেনস: আমি সংযুক্ত ম্যান পৃষ্ঠাটি খুলুন এবং Ctrl + F "kern.random.sys.seeded"; ডিফল্টরূপে, /dev/randomফ্রিবিএসডি তে অবরোধ করে না।
কেভিন

1
@ কেভিন হ্যাঁ আপনি ঠিকই বলেছেন, এনট্রপি পুলিং বা ফসল তোলা সম্ভবত পিআরএনজি "বীজ" দেওয়ার দুটি স্বতন্ত্র উপায়। এবং আমার বিএসডি বাক্সে কিছু পরীক্ষার পরে, আমি খুঁজে পেয়েছি যে এলোমেলো এবং ইউরেনডম একইভাবে আচরণ করে, যখন তারা যথেষ্ট পরিমাণে পিআরএনজি তৈরি করতে না পারে তখন তারা ব্লক করে। dd if=/dev/random of=/tmp/rndtest bs=64M count=1একটি নতুন বুটের পরে চালানোর চেষ্টা করুন , M৪ এমবি ফাইল বৃদ্ধি জেনার সময়টি দেখতে টানা ২ রান লেগেছিল। আমি ভেবেছিলাম আমি ইউরেনডমের সাথে এই প্রভাবটি ইনপুট হিসাবে দেখতে পাব না, তবে লিনাক্সের বিপরীতে ফ্রিবিএসডি এটির সাথেও অবরুদ্ধ বলে মনে হচ্ছে।
হিউজেন্স

9

আপনি ব্যবহার করতে পারেন haveged

haveged একটি ডেমন যা প্রয়োজন হলে এন্ট্রপি তৈরি করে।


হ্যাঁ অ্যাপ্লিকেশনটি ইনস্টল হ্যাজেড হয়েছে
বার্গার

2
ভার্চুয়াল পরিবেশে Haveged সঙ্গে যত্ন নিন। হাইপারভাইজার কনফিগারেশনের উপর নির্ভর করে এটি সাবঅপটিমাল হতে পারে। এই পৃষ্ঠাটি দেখুন: wiki.archlinux.org/index.php/Haveged# ভার্চুয়াল_ম্যাচাইনস
Huygens

4

আমি আপনার জিপিজি কীগুলি আপনার স্থানীয় মেশিনে উত্পন্ন করার পরামর্শ দিচ্ছি যা দূরবর্তীটির থেকে অনেক ভাল এলোমেলোতা পাবে। এবং তারপরে আপনার দূরবর্তী মেশিনে এসএসএইচ ব্যবহার করে কীগুলি স্থানান্তর করুন।

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

আপনি যদি এখনও সেগুলি দূর থেকে উত্পন্ন করতে চান: লিনাক্সে আপনি কেবল একটি হোস্টকে ping 8.8.8.8পিং করে আরও এনট্রপি তৈরি করতে পারেন (উদাহরণস্বরূপ ) যদি আপনার নিজের অন্য নেটওয়ার্ক হোস্টের প্রতি 100 মিমি পিং করার চেষ্টা করে (যদি আপনার আরটিটি অবশ্যই <100 মিমের হয়)। এবং / অথবা findআপনার হার্ড ডিস্কে ফাইলগুলি অনুসন্ধান করতে এবং প্রতিটি ফাইল অনুসন্ধানের মধ্যে র‌্যাম ক্যাশে ফ্লাশ করতে ব্যবহার করুন।

আপনি havegedযদি ভার্চুয়াল পরিবেশে এটি চালাচ্ছেন তবে আপনি সীমাবদ্ধতাগুলি ইনস্টল করতে পারেন কিন্তু পড়তে পারেন: https://wiki.archlinux.org/index.php/Haveged# ভার্চুয়াল_ম্যাচাইনস


আমার মতে এটিই সঠিক সমাধান - আমার কাছ থেকে +1।
ম্যাডহ্যাটার

3

ডেবিয়ান ভিত্তিক সিস্টেমগুলিতে, আপনি rng-toolsatp-get ব্যবহার করে প্যাকেজটি ইনস্টল করতে পারেন এবং তারপরে এন্ট্রপি তৈরি করতে ডেমোন শুরু করতে পারেন:

echo HRNGDEVICE=/dev/urandom >> /etc/default/rng-tools && service rng-tools restart

CentOS-6 সার্ভারে, ডিমনটি rngবেস সরঞ্জামগুলির মধ্যে একটি হিসাবে ইনস্টল করা হয় (কমপক্ষে বেশিরভাগ সিস্টেমে আমি এটিতে কাজ করেছি) এবং আপনি এন্ট্রপি তৈরির জন্য নিম্নলিখিত কমান্ডটি চালাতে পারেন:

sed -i \'s|EXTRAOPTIONS=\"\"|EXTRAOPTIONS=\"-r /dev/urandom\"|g\' /etc/sysconfig/rngd && service rngd restart

আমি মনে করি না যে আরএনজিডের উত্স হিসাবে ইউরানডম ব্যবহার করা চালাক। এটি এন্ট্রপিটি দ্রুত উপলব্ধ হয়ে যায় এবং একবার হ্রাস পেলে এটি এনট্রপির জন্য পক্ষপাতদুষ্ট উত্স হবে। সুতরাং আমি এই সমাধান এড়াতে হবে।
হিউজেনস

1
sudo yum install haveged && sudo systemctl start haveged

অবশ্যই একটি CentOS 7.2 ভিএম-এ কাজ করে। আপনি যদি একটি গুচ্ছ তৈরি করে থাকেন এবং আপনার কীরিং অক্ষত রাখতে চান তবে কখনও কখনও আপনি একটি ভিএম-তে জিপিজি কী তৈরি করতে চান।

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