یک اسکریپت بش بنویسید که نام سرویس و رمز عبور را از کاربر بگیرد، با دریافت یک رمز اصلی (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 تصادفی تولید و در کنار داده رمزنگاریشده ذخیره کنید، و بررسی کنید که عملیات رمزنگاری/رمزگشایی موفق بوده است تا از فایلهای خراب یا دسترسی ناامن جلوگیری شود.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای امنیت خوب، هر سرویس را با یک IV تصادفی جداگانه رمزنگاری کن و این IV را کنار داده رمزگذاریشده ذخیره کن. master password را از stdin بخوان و هرگز در خط فرمان یا متغیرهای محیطی نگه ندار تا از نشت اطلاعات جلوگیری شود. استفاده از AES-256-CBC با salt و PBKDF2 مناسب است، اما حواست باشد که خطای رمزگشایی را بهدرستی مدیریت کنی تا از فایلهای خراب یا دسترسی ناامن جلوگیری شود. در نهایت فایل یا دایرکتوری امن را با مجوز 600 ایجاد کن و صحت رمزگذاری/رمزگشایی را با بررسی خروجیها و ارورهای عملیات تأیید کن.
گزارش