Настраиваем шифрование жесткого диска, чтобы избежать утечек данных

В текущей статье напишу два метода для шифрования потока байт с помощью алгоритма AES-256, и расшифровки обратно в массив байт.

Придумайте надёжный пароль

В первую очередь вы должны придумать хороший пароль, которым будет зашифрован диск. Иначе все нижеописанные действия теряют смысл, а защита данных и шифрование не спасут от взлома. Чтобы создать надёжный пароль, воспользуйтесь следующими советами:

  • Используйте не одно слово, а несколько — например небольшую фразу.
  • Не используйте для пароля стандартные словарные слова, термины, имена, названия и даты. Можете взять слово и разделить его на части символами, скажем, [email protected]&?15D (здесь скрыто слово “password”).
  • Пароль должен содержать не менее 8 символов (лучше больше), а также прописные и строчные буквы, цифры и стандартные символы на клавиатуре.

Теперь можно переходить к настройкам шифрования.

Как зашифровать данные в Windows 10

Давайте разберемся поэтапно, как зашифровать данные в Windows 10. По сути, будет всего два главных этапа, которые стоит выполнить.

  1. Резервная копия данных.
  2. Запуск шифрования на Windows 10.

Резервное копирование сделать очень желательно, так как вы можете потерять информацию при дешифрировании данных, без этого никуда. Конечно, вероятность такого исхода не велика, но лучше перестраховаться.

Как зашифровать данные в Windows 10

При запуске шифрования данных на Windows 10, первое, что произойдет – это вычисление контрольной суммы данных. Это важный этап, для того, чтобы не потерять информацию при шифровании.

После этого начнется непосредственно шифрование.

[E] Универсальное резервное копирование зашифрованных ОС

  1. универсальность — одинаковый алгоритм/ПО резервного копирования для Windows/Linux;
  2. возможность работать в консоли с любой live usb GNU/Linux без необходимости дополнительного скачивания ПО (но все же рекомендую GUI);
  3. безопасность резервных копий — хранимые «образы» должны быть зашифрованы/запаролены;
  4. размер зашифрованных данных должен соответствовать размеру реальных копируемых данных;
  5. удобное извлечение нужных файлов из резервной копии (отсутствие требования расшифровать сперва весь раздел).
[E] Универсальное резервное копирование зашифрованных ОС

dd if=/dev/sda7 of=/путь/ bs=7M conv=sync,noerror dd if=/путь/ of=/dev/sda7 bs=7M conv=sync,noerror

Читайте также:  Windows 10 20H2 вышла, что нового в обновлении

USB-накопитель с шифрованием

Ежегодно жители России приобретают USB-накопителей на сотни тысяч рублей. Эти миниатюрные носители очень удобны в использовании, однако невероятно быстро теряются.

Если же вы храните на них конфиденциальную информацию, человек, обнаруживший вашу флешку, без проблем может ее прочитать. Исправить ситуацию способны закодированные по стандарту AES накопители.

USB-накопитель с шифрованием

BS-Drive AES

> Недорого создать подобный накопитель поможет шифрование обычной флешки программой VeraCrypt. Проблема: на каждом компьютере, куда вы будете его подключать, должно стоять данное программное обеспечение.> Самые надежные — те, в которые шифрование интегрировано по умолчанию, в том числе DataTraveler2000 от Kingston. Однако такие устройства дороже обычных на целых 6400 рублей. Доступ данных открывается лишь после ввода пароля на встроенной в устройство клавиатуре.> Максимальный комфорт предлагает BS-Drive AES. В этот накопитель встроен сканер отпечатка пальца. Флешка, зашифрованная надежным AES-ключом, распознается системой только после успешной аутентификации. Разумеется, подобная супертехнология не может стоить дешево. Для стопроцентной защиты данных придется выложить примерно 18 000 рублей.

Так делать не стоит

В SQL Server можно создавать четыре типа объектов (хранимые процедуры, представления, пользовательские функции и триггеры) с параметром WITH ENCRYPTION. Этот параметр позволяет зашифровать определение объекта таким образом, что тот можно будет использовать, но получить его определение стандартными способами станет невозможно. Это средство рекомендуется и Microsoft. К сожалению, на практике никакой защиты применение стандартных средств шифрования не обеспечивает! Алгоритм, используемый при шифровании определений объектов, выглядит так:

  1. SQL Server берет GUID той базы данных, в которой создается объект, и значение столбца colid таблицы syscomments для создаваемого объекта (чаще всего, его значение – 1 или 2) и производит их конкатенацию;
  2. Из полученного значения генерируется ключ при помощи алгоритма SHA;
  3. Этот хеш используется в качестве входящего значения при применении еще одного алгоритма хеширования – RSA. С его помощью генерируется набор символов, равный по длине шифруемому определению объекта;
  4. С этим набором символов и с реальным определением объекта производится операция XOR. В результате получаются данные, которые помещаются в столбец ctext таблицы syscomments.
Читайте также:  Установка новой версии Windows 10 поверх старой

У этой схемы есть два слабых места:

  • Нам ничего не мешает заиметь исходные значения (GUID и colid) для выполнения тех же самых операций и получить ключ на расшифровку. Это можно сделать, например, использовав утилиту dSQLSRVD. Правда, для получения GUID базы данных (и для запуска этой утилиты) нам нужны права системного администратора;
  • Если у нас есть права на создание объектов в базе данных, можно сгенерировать точно такой же ключ для объекта, определение которого нам уже известно (путем сравнения шифрованного определения с незашифрованным). Ну и – использовать его для расшифровки значения другого объекта.

Как можно расшифровать зашифрованные объекты на SQL Server? Есть два варианта:

  • Использовать утилиту dSQLSRVD. Она позволяет выбрать любой зашифрованный объект на сервере и записать его определение в текстовый файл;
  • Использовать хранимую процедуру DECRYPT2K. Код на создание данных хранимых процедур (в разных вариантах и с разными объяснениями), которые расшифровывают определение зашифрованных объектов, легко найти через Google.

EncFS

В 2003 году Валиент Гоф (Valient Gough — инженер-программист из Сиэтла, писавший софт для NASA, а позже работавший на Google и Amazon) выпустил первый релиз свободной файловой системы со встроенным механизмом прозрачного шифрования — EncFS . Она взаимодействует с ядром ОС благодаря слою обратного вызова, получая запросы через интерфейс libfuse фреймворка FUSE. По выбору пользовaтеля EncFS использует один из симметричных алгоритмов, реализованных в библиотеке OpenSSL, — AES и Blowfish.

Поскольку в EncFS используется принцип создания виртуальной файловой системы, для нее не потребуется отдельного раздела. В ОС Android достаточно установить приложение с поддержкой EncFS и просто указать ему пару каталогов. Один из них будет хранить зашифрованное содержимое (пусть он называется vault ), а втоpой — временно расшифрованные файлы (назовем его open ).

Читайте также:  Служба каталогов Active Directory в Windows 2000 Server

После ввода пароля файлы считываются из каталога vault и сохраняются расшифрованными в open (как в новой точке монтирования), где доступны всем приложениям. После окончания работы жмем в приложении кнопку Forget Decryption (или ее аналог). Каталог open размонтируется, а все расшифрованные файлы из него исчезнут.

EncFS

Недостатки: EncFS не поддерживает жесткие ссылки, так как данные имеют привязку не к inode, а к имени файла. По этой же причине поддерживаются имена файлов длиной до 190 байт. В каталоге vault будут скрыты имена файлов и их содержимое, но останутся доступными метаданные. Можно узнать число зашифрованных файлов, их разрешения, пoследнее время доступа или модификации. Также существует явный признак использования EncFS — это файл настроек с префиксом encfs и указанием номера версии в его названии. Внутри файла записаны параметры шифрования, включая алгоритм, длину ключа и размер блоков.

Платный аудит EncFS был выполнен в феврале 2014 года. В его заключении говорится, что «EncFS, вероятно, надежна до тех пор, пока атакующая сторона имеет только один набор зашифрованных файлов и ничего более». Если же атакующему доступно больше данных (например, два снапшота файловой системы, снятые в разное время), то EncFS не может считаться надежной.

После установки EncFS будет видна как отдельная файловая система пространства пользователя через драйвер FUSE. Доступ к ней будет реализовaн через какое-то стороннее приложение — напримeр, файловый менеджер Encdroid или Cryptonite . Последний базируется на исходном кoде EncFS, поэтому остановимся на нем.