یک اسکریپت بش بنویسید که نام سرویس و رمز عبور را از کاربر بگیرد، با دریافت یک رمز اصلی (master password) رمز عبور را به‌صورت AES رمزنگاری کرده و در فایلی امن ذخیره کند؛ و همچنین با وارد کردن نام سرویس و رمز اصلی بتواند رمز ذخیره‌شده را بازیابی و نمایش دهد.

5.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:13

0.0

برای حل این تمرین از Bash و ابزار openssl استفاده کنید: از read -s برای دریافت مخفیانه رمزها، از openssl enc (مثلاً AES-256-CBC با salt و pbkdf2) برای رمزنگاری و رمزگشایی، و فایل خروجی یا یک دایرکتوری امن با مجوز chmod 600 برای ذخیره‌ی داده‌ها بهره ببرید. نکات مفید: از نگه‌داشتن رمز اصلی در خط فرمان خودداری کنید (استفاده از stdin)، برای هر مقدار یک IV تصادفی تولید و در کنار داده رمزنگاری‌شده ذخیره کنید، و بررسی کنید که عملیات رمزنگاری/رمزگشایی موفق بوده است تا از فایل‌های خراب یا دسترسی ناامن جلوگیری شود.

توسط پژوهشگر در 221 روز قبل ساعت 01:13
دسته بندی ها: Bash Scripting Bash Scripting for beginner
arash در 221 روز قبل ساعت 14:07

برای امنیت خوب، هر سرویس را با یک IV تصادفی جداگانه رمزنگاری کن و این IV را کنار داده رمزگذاری‌شده ذخیره کن. master password را از stdin بخوان و هرگز در خط فرمان یا متغیرهای محیطی نگه ندار تا از نشت اطلاعات جلوگیری شود. استفاده از AES-256-CBC با salt و PBKDF2 مناسب است، اما حواست باشد که خطای رمزگشایی را به‌درستی مدیریت کنی تا از فایل‌های خراب یا دسترسی ناامن جلوگیری شود. در نهایت فایل یا دایرکتوری امن را با مجوز 600 ایجاد کن و صحت رمزگذاری/رمزگشایی را با بررسی خروجی‌ها و ارورهای عملیات تأیید کن.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری