Алтернативи на шифроването на файлове.
Преди да се потопим по-дълбоко в криптирането на файлове, нека разгледаме алтернативите и да видим дали криптирането на файла е подходящо за вашите нужди. Чувствителните данни могат да бъдат криптирани на различни нива на детайлност: пълно дисково криптиране, ниво на файлова система, ниво на база данни и ниво на приложение. Това статия върши добра работа, сравнявайки тези подходи. Нека ги обобщим.
Пълното дисково криптиране (FDE) има смисъл за устройства, които са податливи на физическа загуба или кражба, като лаптопи. Но FDE няма да защити данните ви от много други неща, включително опити за отдалечено хакване и не е подходящ за криптиране на отделни файлове.
В случай на криптиране на ниво файлова система, файловата система извършва криптирането директно. Това може да се постигне чрез подреждане на криптографска файлова система върху основната или може да е вградена. Според това wiki, някои от предимствата са: всеки файл може да бъде криптиран с отделен ключ (управляван от системата) и допълнителен контрол на достъпа чрез криптография с публичен ключ. Разбира се, това изисква промяна на конфигурацията на ОС и може да не е подходящо за всички потребители. Той обаче предлага защита, подходяща за повечето ситуации, и е относително лесна за използване. Тя ще бъде покрита отдолу.
Криптирането на ниво база данни може да насочва към конкретни части от данни, като конкретна колона в таблица. Това обаче е специализиран инструмент, който се занимава със съдържанието на файла, а не с цели файлове и по този начин е извън обхвата на тази статия.
Криптирането на ниво приложение може да е оптимално, когато политиките за сигурност изискват защита на конкретни данни. Приложението може да използва криптиране за защита на данните по много начини и криптирането на файл със сигурност е един от тях. Ще обсъдим приложение за криптиране на файлове по-долу.
Криптиране на файл с приложение
Налични са няколко инструмента за криптиране на файлове под Linux. Това статия изброява най-често срещаните алтернативи. Към днешна дата GnuPG изглежда най-ясният избор. Защо? Тъй като, шансовете са, той вече е инсталиран на вашата система (за разлика от ccrypt), командният ред е прост (за разлика от директно използване на openssl), той се разработва много активно и е конфигуриран да използва актуална шифър (AES256 от днес) ).
Ако нямате инсталиран gpg, можете да го инсталирате, като използвате мениджър на пакети, подходящ за вашата платформа, като apt-get:
pi @ raspberrypi: ~ $ sudo apt-get install gpgЧетене на списъци с пакети ... Готово
Изграждане на дърво на зависимост
Четене на информация за състоянието ... Готово
Шифроване на файл с GnuPG:
pi @ raspberrypi: ~ $ котка тайна.текстСтрого секретни неща!
pi @ raspberrypi: ~ $ gpg -c тайна.текст
pi @ raspberrypi: ~ $ тайна на файла.текст.gpg
тайна.текст.gpg: GPG симетрично кодирани данни (AES256 шифър)
pi @ raspberrypi: ~ $ rm тайна.текст
Сега, за да дешифрирате:
pi @ raspberrypi: ~ $ gpg --decrypt secret.текст.gpg> тайна.текстgpg: AES256 криптирани данни
gpg: шифровано с 1 пропуск
pi @ raspberrypi: ~ $ котка тайна.текст
Строго секретни неща!
Моля, обърнете внимание на “AES256” по-горе. Това е шифърът, използван за криптиране на файла в горния пример. Това е 256-битов блок (сигурен за момента) вариант на „Advanced Encryption Standard“ (известен също като Rijndae) cypher костюм. Вижте това Статия в Уикипедия за повече информация.
Настройване на шифроване на ниво файлова система
Според това fscrypt wiki страница, Файловата система ext4 има вградена поддръжка за криптиране на файлове. Той използва fscrypt API за комуникация с ядрото на ОС (ако приемем, че е активирана функцията за криптиране). Прилага криптирането на ниво директория. Системата може да бъде конфигурирана да използва различни ключове за различни директории. Когато дадена директория е шифрована, всички данни, свързани с името на файла (и метаданни), като имена на файлове, тяхното съдържание и поддиректории. Метаданните без име на файл, като клеймотата за време, са освободени от криптиране. Забележка: тази функционалност стана достъпна в Linux 4.1 издание.
Докато това ПРОЧЕТИ МЕ има инструкции, ето кратък преглед. Системата се придържа към понятията „протектори“ и „политики“. „Политика“ е действителен ключ, който се използва (от ядрото на ОС) за криптиране на директория. “Protector” е потребителска парола или еквивалент, който се използва за защита на политиките. Тази двустепенна система позволява контролиране на достъпа на потребителя до директории, без да се налага да криптирате отново всеки път, когато има промяна в потребителските акаунти.
Често срещан случай би бил настройването на fscrypt политика за криптиране на домашната директория на потребителя с техните пароли за вход (получени чрез PAM) като защитник. Това би добавило допълнително ниво на сигурност и ще позволи защитата на потребителските данни, дори ако атакуващият е успял да получи администраторски достъп до системата. Ето пример, илюстриращ как би изглеждало настройването му:
pi @ raspberrypi: ~ $ fscrypt шифроване ~ / secret_stuff /Трябва ли да създадем нов протектор? [y / N] y
Налични са следните източници на протектори:
1 - Вашата парола за вход (pam_passphrase)
2 - Персонализиран пропуск (custom_passphrase)
3 - суров 256-битов ключ (raw_key)
Въведете номера на източника за новия протектор [2 - custom_passphrase]: 1
Въведете парола за вход за pi:
„/ home / pi / secret_stuff“ вече е шифрован, отключен и готов за употреба.
След настройката това може да бъде напълно прозрачно за потребителя. Потребителят може да добави допълнително ниво на сигурност към някои поддиректории, като посочи различни протектори за тях.
Заключение
Шифроването е дълбока и сложна тема и има много повече за покриване, а също така е бързо развиваща се област, особено с появата на квантовите изчисления. Изключително важно е да поддържате връзка с новите технологични разработки, тъй като това, което днес е сигурно, може да бъде пробито след няколко години. Бъдете усърдни и обръщайте внимание на новините.
Цитирани творби
- Избор на правилния подход за шифроване Thales eSecurity Бюлетин, 1 февруари 2019 г
- Криптиране на ниво файлова система Уикипедия, 10 юли 2019
- 7 инструмента за шифроване / дешифриране и защита на файлове с парола в Linux TecMint, 6 април 2015 г
- Fscrypt Arch Linux Wiki, 27 ноември 2019 г
- Уикипедия за разширено шифроване, 8 декември 2019 г