پروسه Encode کردن فایل ها به شیوه ای که تنها افراد مجاز امکان دسترسی به آن را داشته باشند Encryption نامیده میشود. مردم از زمان های خیلی قبل حتی زمانی که کامپیوتر وجو نداشت هم از Encryption استفاده میکردند. در طول جنگ آنها پیام هایی را رد و بدل میکردند که تنها قبیله خودشان یا دیگر افراد مربوطه قادر به درک و خواندن آنها بودند.
توزیع های لینوکسی ابزارهای استاندارد کمی برای Encryption/Decryption دارند که در هر زمانی قابل استفاده میباشد. در این مقاله قصد داریم 7 ابزار با مثال های مفید و استاندارد مطرح کنیم که به شما کمک میکند که با استفاده از password فایل های خود را محافظت Encrypt و یا Decrypt کنید.
اگر شما علاقه دارید در مورد ایجاد پسوردهای Random در لینوکس بیشتر بدانید لینک زیر را مطالعه کنید :
نحوه ایجاد، رمزنگاری و رمزگشایی پسوردهای تصادفی در لینوکس
همچنین توصیه میشود مقالات زیر را مطالعه کنید :
امنیت فایل ها و دایرکتوری ها با استفاده از ACL در لینوکس
5 متد برای امنیت و نگهداری سرورهای لینوکس
ابزار LUKS برای رمزنگاری اطلاعات هارد دیسک با فرمت NTFS در لینوکس
1 - GnuPG :
دستور GnuPG در حقیقت از GNU Privacy Guard نشات میگیرد و اغلب GPG نامیده میشود که مجموعه ای از نرم افزارهای cryptographic میباشد و تحت پروژه GNU و به زبان برنامه نویسی C نوشته شده و آخرین نسخه ثابت آن 2.0.27 میباشد.
در اکثر توزیع ها لینوکسی امروزه پکیج gnupg به صورت پیش فرض روی سیستم موجود است اما اگر به هر دلیلی روی سیستم تان نصب نبود میتوانید با استفاده از apt یا yum آن را از repository ها نصب کنید :
در مقاله زیر فرض کنید ما یک فایل متنی به نام tecmint.txt در مسیر ~/Desktop/Tecmint/ داریم که برای مثال ها استفاده خواهد شد.
قبل از اینکه شروع کنیم محتوای فایل متنی را بررسی میکنیم :
اکنون با استفاده از gpg فایل tecmint.txt را encrypt میکنیم. به محض اینکه شما دستور gpg را با آپشن -c (آپشنی برای encryption کردن تنها با رمز symmetric) اجرا میکنید فایلی به نام tecmint.txt.gpg ایجاد میشود. که شما با میتوانید با لیست کردن محتوای پوشه آن را مشاهده فرمایید :
توجه : پسورد را 2 بار وارد کنید تا فایل encrypt شود. encryption بالا با استفاده از الگوریتم encryption CAST5 به صورت اتوماتیک انجام شده است. شما ممکن است الگوریتم متفاوت دیگری را مشخص کنید.
برای مشاهده تمامی الگوریتم های encryption موجود دستور زیر را استفاده کنید :
اکنون اگر بخواهید فایل encrypt شده بالا را decrypt کنید باید از دستور زیر استفاده کنیم اما قبل از انجام decryption ابتدا باید فایل orginal مثلا tecmint.txt حذف کنیم و تنها فایل encrypt شده tecmint.txt.gpg را نگه داریم :
توجه در طول فرآیند decrypt باید پسوردی که در طول encryption دادید را استفاده کنید.
2 - bcrypt :
دستور bcrypt یک تابع اشتقاقی کلیدیست که براساس رمز Blowfish میباشد. از زمانی که دریافتند الگوریتم رمز گذاری آن میتواند مورد atack قرار گیرد رمز blowfish توصیه نمیشود. اگر bcrypt روی سیستم تان نصب نباشد با استفاده از apt یا yum آن را نصب کنید :
encrypt فایل با استفاده از bcrypt :
بعد از اجرا کردن کامند بالا یک فایل جدید با نام tecmint.txt.bfe ایجاد میشود و با فایل اصلی tecmint.txt جایگزین میشود.
decrypt کردن فایل با استفاده از bcrypt :
توجه : bcrypt در حقیقت یک فرم امنی از encryption ندارد و به همین دلیل روی Debian Jessie ساپورت آن غیرفعال شده است.
3 - ccrypt :
این دستور به عنوان جایگزینی برای UNIX crypt طراحی شده است. ccrypt ابزاری برای encrypt/decrypt کردن فایل ها و streams میباشد. این ابزار از رمز rejindael استفاده میشود.
اگر روی سیستم تان نصب نبود با استفاده از دستورات زیر آن را نصب کنید :
برای encrypt کردن یک فایل با استفاده از ccrypt از دستور زیر استفاده کنید. این دستور برای encrypt کردن از ccencrypt و همچنین برای decrypt کردن از ccdecrypt استفاده میکنند. نکته مهم این است که در encryption فایل اصلی (tecmint.txt) با فایل (tecmint.txt.cpt) جایگزین میشود و در decryption فایل encrypt شده (tecmint.txt.cpt) با فایل اورجینال (tecmint.txt) جایگزین میگردد. و برای چک کردن این مسئله از دستور ls میتوانید استفاده کنید.
Encrypt یک فایل :
Decrypt یک فایل :
دقت کنید که پسورد یکسانی همانند مرحله encryption وارد کنید :
4 - Zip :
این دستور یکی از معروف ترین فرمت های آرشیو میباشد همچنین به قدری محبوب است که ما عموما در روابط روزانه فایل های آرشیو شده را با نام فایل های zip مینامیم. این دستور از الگوریتم رمز گذاری pkzip stream استفاده میکند. اگر دستور zip از قبل روی سیستم تان نصب نبود میتوانید آن را با استفاده از دستورات زیر نصب کنید :
با استفاده از دستور زیر میتوانید یک فایل (zip) زیپ encrypt شده (چندین فایل گروه شده با هم) ایجاد کنید :
اینجا mypassword در حقیقت پسوردی هست که برای encrypt استفاده میشود. یک فایل archive با نام tecmint.zip با فایل های zip شده tecmint1.txt, tecmint.txt و tecmint2.txt ایجاد میشود.
decrypt کردن فایل های زیپ password protected شده با استفاده از دستور unzip :
در این مرحله شما باید پسوردی که در مرحله encryption دادید را اینجا وارد کنید.
5 - Openssl :
دستور openssl یک ابزار command line cryptographic میباشد که میتواند برای encrypt کردن message و فایل ها مورد استفاده قرار گیرد. در صورت تمایل برای نصب آن اگر از قبل نصب نباشد از دستور زیر استفاده کنید :
Encrypt یک فایل با استفاده از openssl encryption :
توضیح گزینه های استفاده شده در دستور بالا :
enc : اینکریپشن (encryption)
-aes-256-cbc : الگوریتم مورد استفاده
-in : مسیر کامل فایل هایی که قرار است encrypt شود.
-out : مسیر کاملی که فایل encrypt شده در آن قرا میگیرد.
Decrypt کردن یک فایل با استفاده از Openssl :
6 - 7Zip :
یکی از معروف ترین آرشیورهای opensource که به زبان C++ نوشته شده 7zip میباشد که قادر به compress و uncompress کردن اکثر آرشیو فایل فرمت های شناخته شده میباشد.
اگر 7zip از قبل روی سیستم تان نصب نبود با استفاده از yum یا apt آن را نصب کنید :
Compress کردن فایل ها درون یک فایل zip و encrypt کردن آن :
Decompress کردن فایل های zip زیپ encrypt شده با استفاده از 7zip :
توجه : پسوردی که در طول مرحله encryption دادید به هنگام decryption باید وارد کنید.
تمام ابزارهایی که تا اکنون استفاده کردیم همگی کامندی بودند در اینجا یک ابزار encryption دیگری داریم که GUI base میباشد و توسط nautilus فراهم آمده است و به شما کمک میکند که در محیط گرافیکی فایل های خود را encrypt و یا dcrypt کنید.
7 - ابزار Nautilus Encryption :
مراحلی که برای encrypt کردن فایل ها در محیط گرافیکی و با استفاده از ابزار nautilus encryption باید انجام شود :
Encrypt کردن فایل در محیط گرافیکی :
1 - روی فایلی که میخواهیم encrypt کنیم کلیک راست میکنیم.
2 - format فایل را zip و سپس مسیر برای ذخیره فایل را انتخاب میکنیم همچنین پسورد مورد نظر برای encrypt را وارد مینماییم :
3 - به پیغام بعد دقت کنید که میگوید فایل زیپ encrypt شده با موفقیت ایجاد شد :
Decrypt کردن فایل در محیط گرافیکی :
1 - ابتدا فایل zip را باز کنید به ایکون قفل (Lock-icon) کنار فایل دقت کنید از شما پسوردی میخواهد سپس پسورد را وارد کنید :
2 - بعد از ورود با موفقیت فایل را برای شما باز خواهد کرد :
امیدوارم این مطلب برای شما جالب و مفید واقع شود. همچنان با موضوعات جالب دیگر با شما خواهیم بود. با ما بمانید و ما را از نظرات ارزشمند خود بهره مند سازید.
پیروز و سربلند باشید
محمد هابیلی
توزیع های لینوکسی ابزارهای استاندارد کمی برای Encryption/Decryption دارند که در هر زمانی قابل استفاده میباشد. در این مقاله قصد داریم 7 ابزار با مثال های مفید و استاندارد مطرح کنیم که به شما کمک میکند که با استفاده از password فایل های خود را محافظت Encrypt و یا Decrypt کنید.
اگر شما علاقه دارید در مورد ایجاد پسوردهای Random در لینوکس بیشتر بدانید لینک زیر را مطالعه کنید :
نحوه ایجاد، رمزنگاری و رمزگشایی پسوردهای تصادفی در لینوکس
همچنین توصیه میشود مقالات زیر را مطالعه کنید :
امنیت فایل ها و دایرکتوری ها با استفاده از ACL در لینوکس
5 متد برای امنیت و نگهداری سرورهای لینوکس
ابزار LUKS برای رمزنگاری اطلاعات هارد دیسک با فرمت NTFS در لینوکس
1 - GnuPG :
دستور GnuPG در حقیقت از GNU Privacy Guard نشات میگیرد و اغلب GPG نامیده میشود که مجموعه ای از نرم افزارهای cryptographic میباشد و تحت پروژه GNU و به زبان برنامه نویسی C نوشته شده و آخرین نسخه ثابت آن 2.0.27 میباشد.
در اکثر توزیع ها لینوکسی امروزه پکیج gnupg به صورت پیش فرض روی سیستم موجود است اما اگر به هر دلیلی روی سیستم تان نصب نبود میتوانید با استفاده از apt یا yum آن را از repository ها نصب کنید :
کد:
$ sudo apt-get install gnupg # yum install gnupg
قبل از اینکه شروع کنیم محتوای فایل متنی را بررسی میکنیم :
کد:
$ cat ~/Desktop/Tecmint/tecmint.txt
اکنون با استفاده از gpg فایل tecmint.txt را encrypt میکنیم. به محض اینکه شما دستور gpg را با آپشن -c (آپشنی برای encryption کردن تنها با رمز symmetric) اجرا میکنید فایلی به نام tecmint.txt.gpg ایجاد میشود. که شما با میتوانید با لیست کردن محتوای پوشه آن را مشاهده فرمایید :
کد:
$ gpg -c ~/Desktop/Tecmint/tecmint.txt $ ls -l ~/Desktop/Tecmint
توجه : پسورد را 2 بار وارد کنید تا فایل encrypt شود. encryption بالا با استفاده از الگوریتم encryption CAST5 به صورت اتوماتیک انجام شده است. شما ممکن است الگوریتم متفاوت دیگری را مشخص کنید.
برای مشاهده تمامی الگوریتم های encryption موجود دستور زیر را استفاده کنید :
کد:
$ gpg --version
اکنون اگر بخواهید فایل encrypt شده بالا را decrypt کنید باید از دستور زیر استفاده کنیم اما قبل از انجام decryption ابتدا باید فایل orginal مثلا tecmint.txt حذف کنیم و تنها فایل encrypt شده tecmint.txt.gpg را نگه داریم :
کد:
$ rm ~/Desktop/Tecmint/tecmint.txt $ gpg ~/Desktop/Tecmint/tecmint.txt.gpg
توجه در طول فرآیند decrypt باید پسوردی که در طول encryption دادید را استفاده کنید.
2 - bcrypt :
دستور bcrypt یک تابع اشتقاقی کلیدیست که براساس رمز Blowfish میباشد. از زمانی که دریافتند الگوریتم رمز گذاری آن میتواند مورد atack قرار گیرد رمز blowfish توصیه نمیشود. اگر bcrypt روی سیستم تان نصب نباشد با استفاده از apt یا yum آن را نصب کنید :
کد:
$ sudo apt-get install bcrypt # yum install bcrypt
encrypt فایل با استفاده از bcrypt :
کد:
$ bcrypt ~/Desktop/Tecmint/tecmint.txt
decrypt کردن فایل با استفاده از bcrypt :
کد:
$ bcrypt tecmint.txt.bfe
توجه : bcrypt در حقیقت یک فرم امنی از encryption ندارد و به همین دلیل روی Debian Jessie ساپورت آن غیرفعال شده است.
3 - ccrypt :
این دستور به عنوان جایگزینی برای UNIX crypt طراحی شده است. ccrypt ابزاری برای encrypt/decrypt کردن فایل ها و streams میباشد. این ابزار از رمز rejindael استفاده میشود.
اگر روی سیستم تان نصب نبود با استفاده از دستورات زیر آن را نصب کنید :
کد:
$ sudo apt-get install ccrypt # yum install ccrypt
Encrypt یک فایل :
کد:
$ ccencrypt ~/Desktop/Tecmint/tecmint.txt
Decrypt یک فایل :
کد:
$ decrypt ~/Desktop/Tecmint/tecmint.txt.cpt
4 - Zip :
این دستور یکی از معروف ترین فرمت های آرشیو میباشد همچنین به قدری محبوب است که ما عموما در روابط روزانه فایل های آرشیو شده را با نام فایل های zip مینامیم. این دستور از الگوریتم رمز گذاری pkzip stream استفاده میکند. اگر دستور zip از قبل روی سیستم تان نصب نبود میتوانید آن را با استفاده از دستورات زیر نصب کنید :
کد:
$ sudo apt-get install zip # yum install zip
کد:
$ zip --password mypassword tecmint.zip tecmint.txt tecmint1.1txt tecmint2.txt
اینجا mypassword در حقیقت پسوردی هست که برای encrypt استفاده میشود. یک فایل archive با نام tecmint.zip با فایل های zip شده tecmint1.txt, tecmint.txt و tecmint2.txt ایجاد میشود.
decrypt کردن فایل های زیپ password protected شده با استفاده از دستور unzip :
کد:
$ unzip tecmint.zip
در این مرحله شما باید پسوردی که در مرحله encryption دادید را اینجا وارد کنید.
5 - Openssl :
دستور openssl یک ابزار command line cryptographic میباشد که میتواند برای encrypt کردن message و فایل ها مورد استفاده قرار گیرد. در صورت تمایل برای نصب آن اگر از قبل نصب نباشد از دستور زیر استفاده کنید :
کد:
$ sudo apt-get install openssl # yum install openssl
Encrypt یک فایل با استفاده از openssl encryption :
کد:
$ openssl enc -aes-256-cbc -in ~/Desktop/Tecmint/tecmint.txt -out ~/Desktop/Tecmint/tecmint.dat
توضیح گزینه های استفاده شده در دستور بالا :
enc : اینکریپشن (encryption)
-aes-256-cbc : الگوریتم مورد استفاده
-in : مسیر کامل فایل هایی که قرار است encrypt شود.
-out : مسیر کاملی که فایل encrypt شده در آن قرا میگیرد.
Decrypt کردن یک فایل با استفاده از Openssl :
کد:
$ openssl enc -aes-256-cbc -d -in ~/Desktop/Tecmint/tecmint.dat > ~/Desktop/Tecmint/tecmint1.txt
6 - 7Zip :
یکی از معروف ترین آرشیورهای opensource که به زبان C++ نوشته شده 7zip میباشد که قادر به compress و uncompress کردن اکثر آرشیو فایل فرمت های شناخته شده میباشد.
اگر 7zip از قبل روی سیستم تان نصب نبود با استفاده از yum یا apt آن را نصب کنید :
کد:
$ sudo apt-get install p7zip-full # yum install p7zip-full
Compress کردن فایل ها درون یک فایل zip و encrypt کردن آن :
کد:
$ 7za a -tzip -p -mem=AES256 tecmint.zip tecmint.txt tecmint1.txt
Decompress کردن فایل های zip زیپ encrypt شده با استفاده از 7zip :
کد:
$ 7za e tecmint.zip
توجه : پسوردی که در طول مرحله encryption دادید به هنگام decryption باید وارد کنید.
تمام ابزارهایی که تا اکنون استفاده کردیم همگی کامندی بودند در اینجا یک ابزار encryption دیگری داریم که GUI base میباشد و توسط nautilus فراهم آمده است و به شما کمک میکند که در محیط گرافیکی فایل های خود را encrypt و یا dcrypt کنید.
7 - ابزار Nautilus Encryption :
مراحلی که برای encrypt کردن فایل ها در محیط گرافیکی و با استفاده از ابزار nautilus encryption باید انجام شود :
Encrypt کردن فایل در محیط گرافیکی :
1 - روی فایلی که میخواهیم encrypt کنیم کلیک راست میکنیم.
2 - format فایل را zip و سپس مسیر برای ذخیره فایل را انتخاب میکنیم همچنین پسورد مورد نظر برای encrypt را وارد مینماییم :
3 - به پیغام بعد دقت کنید که میگوید فایل زیپ encrypt شده با موفقیت ایجاد شد :
Decrypt کردن فایل در محیط گرافیکی :
1 - ابتدا فایل zip را باز کنید به ایکون قفل (Lock-icon) کنار فایل دقت کنید از شما پسوردی میخواهد سپس پسورد را وارد کنید :
2 - بعد از ورود با موفقیت فایل را برای شما باز خواهد کرد :
امیدوارم این مطلب برای شما جالب و مفید واقع شود. همچنان با موضوعات جالب دیگر با شما خواهیم بود. با ما بمانید و ما را از نظرات ارزشمند خود بهره مند سازید.
پیروز و سربلند باشید
محمد هابیلی