এফডিই-র জন্য দ্বি-ফ্যাক্টর ব্যবহার করতে আমি কীভাবে GnuPG- র সাথে dm-crypt (LUKS) ব্যবহার করব?


9

উবুন্টু (হোমডির এনক্রিপশনের বিপরীতে) সহ ফুল ডিস্ক এনক্রিপশন ব্যবহার করার সময়, LUKS সহ dm-crypt ভলিউম এনক্রিপ্ট করার জন্য ব্যবহৃত হয়। ইনস্টলারে (কমপক্ষে 12.04 বিকল্পে) আপনি একটি পাসফ্রেজ বা কীফাইল ব্যবহার করে সেট আপ করার মধ্যে চয়ন করতে পারেন । আমি দুজনের সংমিশ্রণটি ব্যবহার করতে চাই; হয় না, উভয় প্রয়োজন।

কেন? কারণ এটি সুরক্ষা বাড়ায় (দ্বি-গুণক); আপনার কিছু থাকতে হবে এবং এটি আনলক করার জন্য আপনার কিছু জানা দরকার । তারপরে আমি কিফিলটি একটি ছোট অপসারণযোগ্য স্টোরেজ ডিভাইসে (ইউএসবি ফ্ল্যাশ ড্রাইভ) রাখতে চাইছি এবং বুট করার সময় কেবল এটি প্লাগইন করতে পারি। ফলাফলটি এমন হওয়া উচিত যে রুট পার্টিশনটি আনলক করতে ডান ফ্ল্যাশ ড্রাইভ স্থাপন করা এবং সঠিক পাসফ্রেজ সরবরাহ করা প্রয়োজন।

সুতরাং, অন্য কথায় বলতে গেলে, আমি যে পাসফ্রেজের জন্য বাহ্যিক ড্রাইভের কীফিলটি এনক্রিপ্ট করা হয়েছে তার জন্য বুটের সময় জিজ্ঞাসা করতে চাই।

আমি একটি /usr/share/initramfs-tools/hooks/cryptgnupgসহায়ক স্ক্রিপ্ট দেখতে পাচ্ছি যা এটি সম্পাদন করতে সহায়তা করতে পারে তবে কীভাবে এটি ব্যবহার করবেন সে সম্পর্কে আমার কোনও ধারণা নেই।

কেবল বিভ্রান্তি এড়াতে: আমি এটি আনলক করার জন্য ভলিউমের অতিরিক্ত কী যুক্ত করার উপায় বলছি না


আমি নিজেই উত্তরটির একটি অংশ পেয়েছি ... ডকগুলি পড়ে । এটি কীভাবে ব্যবহার করতে হয় তা পড়ুন /usr/share/doc/cryptsetup/README.gnupg। বাহ্যিক মিডিয়া থেকে একটি কীফাইল ব্যবহার করতে এটি পরিবর্তন করার জন্য আমি কিছুটা সময় নেওয়ার চেষ্টা করব।
জার্মটভিডিজক

উত্তর:


5

আমি একই জিনিসটি করি, তবে আমি ভয় করি যে আমার উত্তর সন্তোষজনক হবে না, কারণ বিভিন্ন কারণে আমি সম্পূর্ণ কাস্টম ইনিশ্রামস নিয়ে গিয়েছিলাম ।

এর পরিবর্তে GnuPG, যা একটি অতিরিক্ত বাইনারি যা ইনিশ্রামসগুলিতে অন্তর্ভুক্ত করতে হবে (এবং এর ক্ষেত্রে এটি GnuPG-2একটি জটিল জটিল), আমি কেবল ইতিমধ্যে সেখানে যা ব্যবহার করেছি। এবং এটি স্পষ্টতই dm-crypt/LUKS

সুতরাং ধরুন আপনি একটি আছে keyfile। এলোমেলোভাবে ডেটা সহ একটি।

# dd if=/dev/urandom of=keyfile count=1
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.000189802 s, 2.7 MB/s

LUKS এর সাথে এটির জন্য এনক্রিপশন যুক্ত করুন (আপনার পছন্দ মতো সিফার সেটিংস যোগ করতে নির্দ্বিধায়)।

# truncate -s 2M keyfile.luks
# cryptsetup luksFormat keyfile --header keyfile.luks

WARNING!
========
This will overwrite data on keyfile.luks irrevocably.

Are you sure? (Type uppercase yes): YES
Enter passphrase: bananas
Verify passphrase: bananas

এখন আপনার কাছে একটি কীফাইল (512 বাইট) এবং একটি কীফাইল.লুকস (2 এমবি, যা কোনও কারণে ক্রিপ্টসেটআপের জন্য 192k LUKS শিরোনাম লিখতে হবে)। যেহেতু ইনিরামফগুলি যেভাবেই সংকুচিত করা হবে, এটি খুব খারাপ নয় (এখনও তার চেয়ে ছোট GnuPG)।

এখন আপনি কীফাইলটি ডিক্রিপ্ট করতে পারেন:

# cryptsetup luksOpen keyfile --header keyfile.luks lukskey
Enter passphrase for keyfile: bananas

এবং আপনার এলোমেলো ডেটাতে 512 বাইট রয়েছে /dev/mapper/lukskey। (আপনি যদি এটি পরিবর্তন করতে চান তবে আপনি এটি লিখতে পারেন, তাই আমরা আগে জিরো দিয়ে ফাইলটি সূচনা করতে পারতাম))

# blockdev --getsize64 /dev/mapper/lukskey
512

ইনিশ্রাম্ফগুলিতে init আপনি এর সাথে আসল এলইউকেএস ভলিউমটি খুলতে এগিয়ে যেতে পারেন (ধরে নিলে আপনি কীটি প্রথমে যোগ করেছেন)।

cryptsetup --key-file=/dev/mapper/lukskey luksOpen /dev/yourdisk luksyourdisk
cryptsetup luksClose lukskey # clean up

এই পদ্ধতির GnuPG সম্পূর্ণরূপে অতিমাত্রায় পরিণত করে, এছাড়াও আপনি সমস্ত LUKS সুবিধাগুলি পাবেন যেমন কী এর একাধিক পাসফ্রেস, আপনার পছন্দের সাইফার, ইত্যাদি te একাধিক পুনরায় চেষ্টা সহ একটি দুর্দান্ত (বেশিরভাগ নিয়মিত) পাসওয়ার্ড প্রম্পটের উল্লেখ না করা।


2
শীতল সমাধান, তবে আমি কীভাবে আমার ইনি্রামাফগুলিতে এটি সংহত করব? আপনি উল্লেখ করেছেন যে আপনি একটি সম্পূর্ণ কাস্টম ইনিগ্রাফ ব্যবহার করেন তবে কেবল একটি হুক ব্যবহার করে এটি কি সম্ভব হবে না?
জার্মটভিডিজক

নিশ্চয়ই. এমনকি যদি আপনি কোনও উপায় আগে কীটি সন্ধান করতে এবং খোলার জন্য ক্রিপ্টটাবকে বাধ্য করার কোনও উপায় সম্পর্কে ভাবতে পারেন তবে কোনও হুক ছাড়াও। যেমন এটি কোনও ফাইল হতে হবে না, আপনি এটির জন্য ইউএসবি স্টিকের জন্য আলাদা পার্টিশন তৈরি করতে পারেন। তবে যেহেতু আমি সেভাবে করছি না আমি এর পক্ষে কোনও
ठोस

1
কোনও সমস্যা নেই - GnuPG কে অবরুদ্ধ করা এবং LUKS পুনরায় ব্যবহার করা অবশ্যই একটি উচ্চতর বিকল্প। GnuPG পদ্ধতির জন্য আমার যদি হুকগুলি পুনরায় লেখার প্রয়োজন হয় তবে আমি এটিকে যাইহোক ব্যবহার না করেই আরও ভাল করে লিখতে চাই। এবং হ্যাঁ, আমি সচেতন এটি একটি ফাইল হতে হবে না।
জার্মটভিডিজক

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