September 11, 2020

Шифрование файлов. Основы.

В настоящие дни мы постоянно имеем дело с информацией. Благодаря развитию информационных технологий, теперь работа, творчество, развлечение в значительной степени превратились в процессы по обработке или потреблению информации. И среди этого огромного массива информации часть данных не должна быть общедоступной. Примером такой информации могут быть файлы и данные, связанные с коммерческой деятельностью; приватные архивы.

Часть этих данных не предназначена для широкого круга просто по той причине, что «им незачем об этом знать»; а какая-то информация является жизненно важной.

Эта статья посвящено надёжной защите именно жизненно важной информации, а также любых файлов, которые вы хотите оградить от доступа других лиц, даже если ваш компьютер или носитель (флешка, жёсткий диск) попали в руки посторонних лиц, в том числе технически продвинутых и имеющих доступ к мощным вычислительным ресурсам.

Почему не стоит доверять программам для шифрования с закрытым исходным кодом

В программы с закрытым исходным кодом могут быть внедрены «закладки» (и не надо надеяться, что их там нет!) и возможность открывать зашифрованные файлы с помощью мастер-ключа. Т.е. вы можете использовать любой, самый сложный пароль, но ваш зашифрованный файл всё равно с лёгкостью, без перебора паролей, может быть открыт с помощью «закладки» или владельцем мастер-ключа. Размер компании-производителя программного обеспечения для шифрования и название страны в данном вопросе роли не играют, поскольку это является частью государственной политики многих стран. Ведь нас всё время окружают террористы и наркоторговцы (а что делать?).

Т.е. на действительно надёжное шифрование можно надеяться правильно используя популярное программное обеспечение с открытым исходным кодом и стойким для взлома алгоритмом шифрования.

Стоит ли переходить с TrueCrypt на VeraCrypt

Эталонной программой, которая много лет позволяет очень надёжно шифровать файлы является TrueCrypt. Эта программа до сих пор прекрасно работает. К сожалению, в настоящее время разработка программы прекращена.

Её лучшей наследницей стала программа VeraCrypt.

VeraCrypt – это бесплатное программное обеспечение для шифрование дисков, она базируется на TrueCrypt 7.1a.

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

VeraCrypt также исправила многие уязвимости и проблемы безопасности, обнаруженные в TrueCrypt. Она может работать с томами TrueCrypt и предлагает возможность конвертировать контейнеры TrueCrypt и несистемные разделы в формат VeraCrypt.

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

Это можно продемонстрировать наглядно следующими бенчмарками по взлому (перебору) паролей в Hashcat:

Для TrueCrypt:

Hashtype: TrueCrypt PBKDF2-HMAC-RipeMD160 + XTS 512 bit

Speed.Dev.#1.: 21957 H/s (96.78ms)

Speed.Dev.#2.: 1175 H/s (99.79ms)

Speed.Dev.#*.: 23131 H/s

Hashtype: TrueCrypt PBKDF2-HMAC-SHA512 + XTS 512 bit

Speed.Dev.#1.: 9222 H/s (74.13ms)

Speed.Dev.#2.: 4556 H/s (95.92ms)

Speed.Dev.#*.: 13778 H/s

Hashtype: TrueCrypt PBKDF2-HMAC-Whirlpool + XTS 512 bit

Speed.Dev.#1.: 2429 H/s (95.69ms)

Speed.Dev.#2.: 891 H/s (98.61ms)

Speed.Dev.#*.: 3321 H/s

Hashtype: TrueCrypt PBKDF2-HMAC-RipeMD160 + XTS 512 bit + boot-mode

Speed.Dev.#1.: 43273 H/s (95.60ms)

Speed.Dev.#2.: 2330 H/s (95.97ms)

Speed.Dev.#*.: 45603 H/s

Для VeraCrypt:

Hashtype: VeraCrypt PBKDF2-HMAC-RipeMD160 + XTS 512 bit

Speed.Dev.#1.: 68 H/s (97.63ms)

Speed.Dev.#2.: 3 H/s (100.62ms)

Speed.Dev.#*.: 71 H/s

Hashtype: VeraCrypt PBKDF2-HMAC-SHA512 + XTS 512 bit

Speed.Dev.#1.: 26 H/s (87.81ms)

Speed.Dev.#2.: 9 H/s (98.83ms)

Speed.Dev.#*.: 35 H/s

Hashtype: VeraCrypt PBKDF2-HMAC-Whirlpool + XTS 512 bit

Speed.Dev.#1.: 3 H/s (57.73ms)

Speed.Dev.#2.: 2 H/s (94.90ms)

Speed.Dev.#*.: 5 H/s

Hashtype: VeraCrypt PBKDF2-HMAC-RipeMD160 + XTS 512 bit + boot-mode

Speed.Dev.#1.: 154 H/s (93.62ms)

Speed.Dev.#2.: 7 H/s (96.56ms)

Speed.Dev.#*.: 161 H/s

Hashtype: VeraCrypt PBKDF2-HMAC-SHA256 + XTS 512 bit

Speed.Dev.#1.: 118 H/s (94.25ms)

Speed.Dev.#2.: 5 H/s (95.50ms)

Speed.Dev.#*.: 123 H/s

Hashtype: VeraCrypt PBKDF2-HMAC-SHA256 + XTS 512 bit + boot-mode

Speed.Dev.#1.: 306 H/s (94.26ms)

Speed.Dev.#2.: 13 H/s (96.99ms)

Speed.Dev.#*.: 319 H/s

Как можно увидеть, взломать зашифрованные контейнеры VeraCrypt на несколько порядков сложнее, чем контейнеры TrueCrypt (которые тоже совсем не просты).

Второй важный вопрос – надёжность. Никто не хочет, чтобы особо ценные и важные файлы и сведения были потеряны из-за ошибки в программе. Я знаю о VeraCrypt сразу после её появления. Я следил за её развитием и постоянно к ней присматривался. На протяжении последнего года я полностью перешёл с TrueCrypt на VeraCrypt. За год ежедневной работы VeraCrypt меня ни разу не подводила.

Таким образом, на мой взгляд, сейчас стоит переходить с TrueCrypt на VeraCrypt.

Как работает VeraCrypt

VeraCrypt создаёт специальный файл, который называется контейнер. Этот контейнер является зашифрованным и может быть подключён только при вводе верного пароля. После ввода пароля, контейнер отображается как дополнительный диск (как вставленная флешка). Любые файлы, помещённые на этот диск (т.е. в контейнер), шифруются. Пока контейнер подключён, вы беспрепятственно можете копировать, удалять, записывать новые файлы, открывать их. Как только контейнер отключён, все файлы на нём становятся абсолютно недоступными, пока вновь не будет выполнено его подключение, т.е. пока не будет введён пароль.

Работа с файлами в зашифрованном контейнере ничем не отличается от работы с файлами на любом другом диске.

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

Как установить VeraCrypt в Windows

С TrueCrypt имела место полушпионская история – были созданы сайты для «скачать TrueCrypt», на них бинарный файл (ну естественно!) был заражён вирусом/трояном. Те, кто скачивал TrueCrypt с этих неофициальных сайтов заражали свои компьютеры, что позволяло злоумышленникам воровать персональные информацию и способствовать распространению вредоносного ПО.

Вообще-то, все программы нужно скачивать только с официальных сайтов. И уж тем более это касается программ, которые затрагивают вопросы безопасности.

Официальными местами размещения установочных файлов VeraCrypt являются:

Установка VeraCrypt в Windows

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

Установщик VeraCrypt предложит две опции:

  • Install (Установить VeraCrypt в вашу систему)
  • Extract (Извлечь. Если вы выберите эту опцию, все файлы из этого пакета будут извлечены, но в вашу систему ничего не будет установлено. Не выбирайте её если вы намереваетесь шифровать системный раздел или системный диск. Выбор этой опции может быть полезен, например, если вы хотите запускать VeraCrypt в так называемом портативном режиме. VeraCrypt не требует установки в операционную систему, в которой она будет запускаться. После извлечения всех файлов, вы можете запускать непосредственно извлечённый файл 'VeraCrypt.exe' (откроется VeraCrypt в портативном режиме))

Если вы выберите отмеченную опцию, т.е. ассоциацию с файлами .hc, то это добавит удобство. Поскольку если вы создадите контейнер с расширением .hc, то по двойному клику по данному файлу будет запускаться VeraCrypt. Но минус в том, что посторонние лица могут знать, что .hc являются зашифрованными контейнерами VeraCrypt.

Если вы не стеснены в средствах, конечно же, обязательно помогите автору этой программы (он один) не хотелось бы его потерять, как мы потеряли автора TrueCrypt…

Инструкция VeraCrypt для начинающих

У VeraCrypt много разных возможностей и продвинутых функций. Но самой востребованной функцией является шифрование файлов. Далее пошагово показано как зашифровать один или несколько файлов.

Начнём с переключения на русский язык. Русский язык уже встроен в VeraCrypt. Его нужно только включить. Для этого в меню Settings выберите Language…

Там выберите русский язык, после этого язык программы сразу поменяется.

Как уже было сказано, файлы хранятся в зашифрованных контейнерах (их ещё называют «тома»). Т.е. начать нужно с создания такого контейнера, для этого в главном интерфейсе программы нажмите на кнопку «Создать том».

Появится мастер создания томов VeraCrypt

Нас интересует именно первый вариант («Создать зашифрованный файловый контейнер»), поэтому мы, ничего не меняя, нажимаем Далее

VeraCrypt имеет очень интересную функцию – возможность создать скрытый том. Суть в том, что в файле создаётся ни один, а два контейнера. О том, что имеется зашифрованный раздел знают все, в том числе возможные неблагожелатели. И если вас силой заставляют выдать пароль, то трудно сослаться, что «зашифрованного диска нет». При создании скрытого раздела, создаются два зашифрованных контейнера, которые размещены в одном файле, но открываются разными паролями. Т.е. вы можете в одном из контейнеров разместить файлы, которые выглядят «чувствительными». А во втором контейнере – действительно важные файлы. Для своих нужд вы вводите пароль для открытия важного раздела. В случае невозможности отказать, вы раскрываете пароль от не очень важного диска. Никаких возможностей доказать, что имеется второй диск, нет.

Для многих случаев (сокрытие не очень критических файлов от посторонних глаз) будет достаточно создать обычный том, поэтому я просто нажимаю Далее.

Выберите место расположения файла

Том VeraCrypt может находиться в файле (в контейнере VeraCrypt) на жёстком диске, флэш-накопителе USB и т.п. Контейнер VeraCrypt ничем не отличается от любого другого обычного файла (например, его можно перемещать или удалять как и прочие файлы). Нажмите кнопку 'Файл', чтобы указать имя и путь к создаваемому файлу-контейнеру для хранения нового тома.

ВНИМАНИЕ: Если вы выберете уже имеющийся файл, VeraCrypt НЕ зашифрует его; этот файл будет удалён и заменён вновь созданным контейнером VeraCrypt. Вы сможете зашифровать имеющиеся файлы (впоследствии), переместив их в создаваемый сейчас контейнер VeraCrypt.

Можно выбрать любой расширение файла, это никак не влияет на работу зашифрованного тома. Если вы выберите расширение .hc, а также если вы при установке задали ассоциацию VeraCrypt с данным расширением, то при двойном клике по данному файлу будет запускаться VeraCrypt.

История недавно открытых файлов позволяет быстро получать доступ к этим файлам. Тем не менее, записи в истории вроде «H:\Мои офшорные счета наворованного на охулиадр долларов.doc» могут у посторонних лиц зародить сомнения в вашей порядочности. Чтобы открытые с зашифрованного диска файлы не попадали в историю, поставьте галочку напротив «Не сохранять историю».

Выбор алгоритмов шифрования и хеширования. Если вы не уверены, что выбрать, то оставьте значения по умолчанию

Введите размер тома и выберите единицы измерения (килобайты, мегабайты, гигабайты, терабайты)

Очень важный этап, установление пароля для вашего зашифрованного диска

Хороший пароль — это очень важно. Избегайте паролей из одного или нескольких слов, которые можно найти в словаре (или комбинаций из 2, 3 или 4 таких слов). Пароль не должен содержать имён или дат рождения. Он должен быть труден для угадывания. Хороший пароль — случайная комбинация прописных и строчных букв, цифр и особых символов (@ ^ = $ * + и т.д.).

Рекомендуем выбирать пароли длиннее 20 символов (чем больше, тем лучше). Максимальная длина: 64 символа.

Теперь снова в качестве паролей можно использовать русские буквы.

Помогаем программе собрать случайные данные

Обратите внимание, что здесь вы можете поставить галочку для создания динамического диска. Т.е. он будет расширятся по мере заполнения его информацией.

В результате у меня создан на рабочем столе файл test.hc

Если вы создали файл с расширением .hc, то вы можете дважды кликнуть по нему, откроется главное окно программы, причём уже будет вставлен путь до контейнера

В любом случае, вы можете открыть VeraCrypt и выбрать путь до файла вручную (Для этого нажмите кнопку «Файл»).

Далее нажмите кнопку Смонтировать, появится окно для ввода пароля

Если пароль введён верно, то у вас в системе появится новый диск

Вы можете скопировать/переместить на него любые файлы. Также вы можете создавать там папки, копировать оттуда файлы, удалять и т.д.

Чтобы закрыть контейнер от посторонних, нажмите кнопку Размонтировать

Чтобы вновь получить доступ к своим секретным файлам, заново смонтируйте зашифрованный диск.

Настройка VeraCrypt

У VeraCrypt довольно много настроек, которые вы можете изменить для вашего удобства. Я настоятельно рекомендую поставить галочку на «Автоматически размонтировать тома при неактивности в течение»

А также установить горячую клавишу для «Сразу размонтировать все, очистить кэш и выйти»

Это может очень… ОЧЕНЬ пригодиться…

Портативная версия VeraCrypt в Windows

Начиная с версии 1.22 (которая на момент написания является бетой) для Windows был добавлен портативный вариант. Если вы прочитали раздел про установку, вы должны помнить, что программа и так является портативной и позволяет просто извлечь свои файлы. Тем не менее, отдельный портативный пакет имеет свои особенности: для запуска установщика вам нужны права администратора (даже если вы хотите просто распаковать архив), а портативная версия может быть распакована без прав администратора – отличие только в этом.

Официальные бета версии доступны только только здесь. В папке VeraCrypt Nightly Builds файлом с портативной версией является VeraCrypt Portable 1.22-BETA4.exe.

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

Как правильно использовать программное обеспечение для шифрования

Несколько советов, которые помогут вам лучше сохранять свои секреты:

  1. Старайтесь не допускать посторонних лиц до вашего компьютера, в том числе не сдавайте ноутбуки в багаж в аэропортах; если есть возможность, отдавайте компьютеры в ремонт без системного жёсткого диска и т.д.
  2. Используйте сложный пароль. Не используйте тот же самый пароль, который вы используете для почты и т.д.
  3. При этом не забудьте пароль! Иначе данные будет невозможно восстановить.
  4. Скачивайте все программы только с официальных сайтов.
  5. Используйте бесплатные программы или купленные (не используйте взломанный софт). А также не скачивайте и не запускайте сомнительные файлы, поскольку все подобные программы, среди прочих зловредных элементов, могут иметь килоггеры (перехватчики нажатий клавиш), что позволит злоумышленнику узнать пароль от вашего зашифрованного контейнера.
  6. Иногда в качестве средства от перехвата нажатий клавиш рекомендуют использовать экранную клавиатуру – думается, в этом есть смысл.