volume_key(8) System Manager's Manual volume_key(8)

volume_key - کار با اطلاعات محرمانه رمزنگاری حجم و بسته‌های امانی (escrow packets)

volume_key [OPTION]... OPERAND...

دستور volume_key «اطلاعات محرمانه» مورد استفاده برای رمزنگاری حجم دیسک (مانند کلیدها یا عبارت‌های عبور) را استخراج کرده و آن‌ها را در «بسته‌های امانی» (escrow packets) رمزنگاری‌شده جداگانه ذخیره می‌کند، از یک بسته امانیِ از پیش ایجادشده برای بازیابی دسترسی به یک حجم استفاده می‌کند (برای نمونه اگر کاربر عبارت عبور را فراموش کند)، یا اطلاعات درون بسته‌های امانی را دستکاری می‌کند.

حالت عملکرد و عملوندهای volume_key با مشخص کردن یکی از گزینه‌های --save، --restore، --setup-volume، --reencrypt، --dump یا --secrets تعیین می‌شوند. برای جزئیات بخش گزینه‌ها را ببینید.

در تمامی گزینه‌های توضیح‌داده‌شده در زیر، VOLUME یک دستگاه LUKS است، نه دستگاه متن‌آشکار درون آن:

blkid -s TYPE VOLUME
باید مقدار TYPE="crypto_LUKS" را گزارش دهد.

گزینه‌های زیر حالت عملکرد و عملوندهای مورد انتظار volume_key را مشخص می‌کنند:

انتظار عملوندهای VOLUME [PACKET] را دارد. VOLUME را باز می‌کند. اگر PACKET ارائه شده باشد، اطلاعات محرمانه را از آن بارگیری می‌کند. در غیر این صورت، اطلاعات محرمانه را از VOLUME استخراج می‌کند و در صورت لزوم از کاربر درخواست ورودی می‌نماید. در هر حالت، اطلاعات محرمانه را در یک یا چند بسته خروجی ذخیره می‌کند.
انتظار عملوندهای VOLUME PACKET را دارد. VOLUME را باز کرده و از اطلاعات محرمانه درون PACKET برای بازگرداندن دسترسی مجدد به VOLUME استفاده می‌کند و در صورت نیاز از کاربر درخواست ورودی می‌کند (برای نمونه با اجازه دادن به کاربر برای ورود یک عبارت عبور جدید).
انتظار عملوندهای VOLUME PACKET NAME را دارد. VOLUME را باز کرده و از اطلاعات محرمانه درون PACKET برای راه‌اندازی و پیکربندی VOLUME جهت استفاده از داده‌های رمزگشایی‌شده با عنوان NAME استفاده می‌کند.

در حال حاضر NAME نام یک حجم dm-crypt است و این عملیات حجم رمزگشایی‌شده را در مسیر /dev/mapper/NAME در دسترس قرار می‌دهد.

این عملیات نباید VOLUME را به طور دائمی تغییر دهد (مثلاً با افزودن عبارت عبور جدید)؛ البته کاربر می‌تواند به داده‌های رمزگشایی‌شده دسترسی داشته باشد و آن‌ها را تغییر دهد که این امر در طول فرایند خود VOLUME را دگرگون می‌سازد.

انتظار عملوند PACKET را دارد. PACKET را باز کرده (در صورت نیاز رمزگشایی می‌کند) و اطلاعات را در یک یا چند بسته خروجی جدید ذخیره می‌نماید.
انتظار عملوند PACKET را دارد. PACKET را باز کرده (در صورت لزوم رمزگشایی می‌کند) و محتویات PACKET را در خروجی چاپ می‌کند. اطلاعات محرمانه به صورت پیش‌فرض در خروجی نمایش داده نمی‌شوند.
انتظار عملوند PACKET را دارد. PACKET را باز می‌کند، در صورت نیاز رمزگشایی می‌نماید و اطلاعات محرمانه موجود در PACKET را در خروجی نمایش می‌دهد.
نمایش اطلاعات نحوه استفاده.
نمایش نسخه volume_key.

گزینه‌های زیر رفتار عملیات مشخص‌شده را تغییر می‌دهند:

اجرا در حالت دسته‌ای (غیرتعاملی). گذرواژه‌ها و عبارت‌های عبور را از ورودی استاندارد می‌خواند که هرکدام با یک نویسه NUL خاتمه یافته‌اند. اگر بسته‌ای دقیقاً با حجم تطابق نداشته باشد، به جای درخواست از کاربر، عملیات با شکست مواجه می‌شود.
استفاده از کلیدهای خصوصی موجود در پایگاه‌داده NSS در پوشه DIR برای رمزگشایی بسته‌های رمزگذاری‌شده با کلید عمومی.
نوشتن رمز محرمانه پیش‌فرض در PACKET.

اینکه کدام داده محرمانه به عنوان پیش‌فرض در نظر گرفته شود بستگی به قالب حجم دیسک دارد: نباید احتمال انقضای آن وجود داشته باشد، و باید اجازه بازگردانی دسترسی به حجم را با استفاده از --restore بدهد.

نوشتن کلید رمزنگاری داده‌ها (کلیدی که مستقیماً برای رمزنگاری داده‌های اصلی حجم استفاده می‌شود) در PACKET.
نوشتن یک عبارت عبور که می‌تواند برای دسترسی به حجم استفاده شود در PACKET.
تولید یک عبارت عبور تصادفی الفبایی-عددی، افزودن آن به VOLUME (بدون تحت تأثیر قرار دادن سایر عبارت‌های عبور) و ذخیره آن عبارت عبور تصادفی در PACKET.
بارگیری یک گواهی از فایل مشخص‌شده با CERT و رمزنگاری تمام بسته‌های خروجی با استفاده از کلید عمومی موجود در گواهی. اگر این گزینه مشخص نشود، تمام بسته‌های خروجی با استفاده از عبارت عبور رمزگذاری می‌شوند.

توجه داشته باشید که CERT نام فایل گواهی است، نه نام مستعار (nickname) گواهی در پایگاه‌داده NSS.

استفاده از FORMAT برای تمامی بسته‌های خروجی. FORMAT در حال حاضر می‌تواند یکی از موارد زیر باشد: asymmetric (استفاده از CMS برای رمزگذاری کل بسته؛ نیازمند گواهی است)، asymmetric_wrap_secret_only (فقط محصور کردن داده محرمانه؛ نیازمند گواهی است)، passphrase (استفاده از GPG برای رمزنگاری کل بسته؛ نیازمند عبارت عبور است).
همراه با --dump فقط بخش‌های رمزگذاری‌نشده بسته (در صورت وجود) را در خروجی تخلیه می‌کند. نیازی به عبارت عبور یا دسترسی به کلید خصوصی ندارد.
شامل کردن داده‌های محرمانه در خروجی --dump.

دستور volume_key در صورت موفقیت با وضعیت خروج ۰ و در صورت بروز خطا با ۱ خارج می‌شود.

تنها قالبی که در حال حاضر پشتیبانی می‌شود LUKS است.

استفاده معمول از volume_key به صورت زیر است. در حین نصب سیستم یا اندکی پس از آن، از رمز محرمانه پیش‌فرض حجم نسخه پشتیبان بگیرید و یک عبارت عبور تصادفی مخصوص سیستم اضافه کنید. هر دو را با استفاده از یک گواهی رمزنگاری کنید:

volume_key --save VOLUME -c CERT -o PACKET_DEFAULT --create-random-passphrase PACKET_PASSPHRASE
فایل‌های PACKET_DEFAULT و PACKET_PASSPHRASE را بیرون از رایانه ذخیره کنید.

اگر کاربر عبارت عبور را فراموش کرد و به رایانه دسترسی فیزیکی دارید، PACKET_DEFAULT را با کلید خصوصی گواهی رمزگشایی کنید (که هیچ‌گاه نباید ماشین امن را ترک کند):

volume_key --reencrypt -d NSS_DB PACKET_DEFAULT -o PACKET_DEFAULT_PW
سپس رایانه را راه‌اندازی کنید (مثلاً در حالت "rescue mode")، فایل PACKET_DEFAULT_PW را روی آن کپی کرده و دسترسی به حجم را بازیابی کنید:
volume_key --restore VOLUME PACKET_DEFAULT_PW

اگر کاربر عبارت عبور را فراموش کند و به رایانه دسترسی ندارید، عبارت عبور پشتیبان را رمزگشایی کنید:

volume_key --secrets PACKET_PASSPHRASE
و عبارت عبور پشتیبان را به کاربر بگویید. (بعداً می‌توانید یک عبارت عبور پشتیبان جدید تولید کنید.)
Jun 2011 volume_key