Зачем нужен зашифрованный файловый контейнер

Обновлено: 06.07.2024

Шифрующая файловая система это тесно интегрированная с NTFS служба, располагающаяся в ядре Windows 2000. Ее назначение: защита данных, хранящихся на диске, от несанкционированного доступа путем их шифрования. Появление этой службы не случайно, и ожидалось давно. Дело в том, что существующие на сегодняшний день файловые системы не обеспечивают необходимую защиту данных от несанкционированного доступа.

Внимательный читатель может возразить мне: а как же Windows NT с ее NTFS? Ведь NTFS обеспечивает разграничение доступа и защиту данных от несанкционированного доступа! Да, это правда. Но как быть в том случае, когда доступ к разделу NTFS осуществляется не с помощью средств операционной системы Windows NT, а напрямую, на физическом уровне? Ведь это сравнительно легко реализовать, например, загрузившись с дискеты и запустив специальную программу: например, весьма распространенную ntfsdos. В качестве более изощренного примера можно указать продукт NTFS98. Конечно, можно предусмотреть такую возможность, и задать пароль на запуск системы, однако практика показывает, что такая защита малоэффективна, особенно в том случае, когда за одним компьютером работают сразу несколько пользователей. А если злоумышленник может извлечь жесткий диск из компьютера, то здесь уже не помогут никакие пароли. Подключив диск к другому компьютеру, его содержимое можно будет прочитать с такой же легкостью, что и эту статью. Таким образом, злоумышленник свободно может овладеть конфиденциальной информацией, которая хранится на жестком диске.

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

Система EFS была разработана с целью преодоления этих недостатков. Ниже мы рассмотрим более подробно детали технологии шифрования, взаимодействие EFS с пользователем и способы восстановления данных, познакомимся с теорией и реализацией EFS в Windows 2000, а также рассмотрим пример шифрования каталога при помощи EFS.

Технология шифрования

EFS использует архитектуру Windows CryptoAPI. В ее основе лежит технология шифрования с открытым ключом. Для шифрования каждого файла случайным образом генерируется ключ шифрования файла. При этом для шифрования файла может применяться любой симметричный алгоритм шифрования. В настоящее же время в EFS используется один алгоритм, это DESX, являющийся специальной модификацией широко распространенного стандарта DES.

Ключи шифрования EFS хранятся в резидентном пуле памяти (сама EFS расположена в ядре Windows 2000), что исключает несанкционированный доступ к ним через файл подкачки.

Взаимодействие с пользователем

По умолчанию EFS сконфигурирована таким образом, что пользователь может сразу начать использовать шифрование файлов. Операция шифрования и обратная поддерживаются для файлов и каталогов. В том случае, если шифруется каталог, автоматически шифруются все файлы и подкаталоги этого каталога. Необходимо отметить, что если зашифрованный файл перемещается или переименовывается из зашифрованного каталога в незашифрованный, то он все равно остается зашифрованным. Операции шифрования/дешифрования можно выполнить двумя различными способами — используя Windows Explorer или консольную утилиту Cipher.

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

Зашифрованные файлы хранятся на диске в зашифрованном виде. При чтении файла данные автоматически расшифровываются, а при записи — автоматически шифруются. Пользователь может работать с зашифрованными файлами так же, как и с обычными файлами, то есть открывать и редактировать в текстовом редакторе Microsoft Word документы, редактировать рисунки в Adobe Photoshop или графическом редакторе Paint, и так далее.

Необходимо отметить, что ни в коем случае нельзя шифровать файлы, которые используются при запуске системы — в это время личный ключ пользователя, при помощи которого производится дешифровка, еще недоступен. Это может привести к невозможности запуска системы! В EFS предусмотрена простая защита от таких ситуаций: файлы с атрибутом «системный» не шифруются. Однако будьте внимательны: это может создать «дыру» в системе безопасности! Проверяйте, не установлен ли атрибут файла «системный» для того, чтобы убедиться, что файл действительно будет зашифрован.

Важно также помнить о том, что зашифрованные файлы не могут быть сжаты средствами Windows 2000 и наоборот. Иными словами, если каталог сжат, его содержимое не может быть зашифровано, а если содержимое каталога зашифровано, то он не может быть сжат.

В том случае, если потребуется дешифровка данных, необходимо просто снять флажки шифрования у выбранных каталогов в Windows Explorer, и файлы и подкаталоги автоматически будут дешифрованы. Следует отметить, что эта операция обычно не требуется, так как EFS обеспечивает «прозрачную» работу с зашифрованными данными для пользователя.

Восстановление данных

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

Немного теории

EFS осуществляет шифрование данных, используя схему с общим ключом. Данные шифруются быстрым симметричным алгоритмом при помощи ключа шифрования файла FEK (file encryption key). FEK — это случайным образом сгенерированный ключ определенной длины. Длина ключа в североамериканской версии EFS 128 бит, в международной версии EFS используется уменьшенная длина ключа 40 или 56 бит.

FEK шифруется одним или несколькими общими ключами шифрования, в результате чего получается список зашифрованных ключей FEK. Список зашифрованных ключей FEK хранится в специальном атрибуте EFS, который называется DDF (data decryption field — поле дешифрования данных). Информация, при помощи которой производится шифрование данных, жестко связана с этим файлом. Общие ключи выделяются из пар пользовательских ключей сертификата X509 с дополнительной возможностью использования «File encryption». Личные ключи из этих пар используются при дешифровке данных и FEK. Личная часть ключей хранится либо на смарт-картах, либо в другом надежном месте (например, в памяти, безопасность которой обеспечивается при помощи CryptoAPI).

FEK также шифруется при помощи одного или нескольких ключей восстановления (полученных из сертификатов X509, записанных в политике восстановления зашифрованных данных для данного компьютера, с дополнительной возможностью «File recovery»).

Как и в предыдущем случае, общая часть ключа используется для шифрования списка FEK. Список зашифрованных ключей FEK также хранится вместе с файлом в специальной области EFS, которая называется DRF (data recovery field — поле восстановления данных). Для шифрования списка FEK в DRF используется только общая часть каждой пары ключей. Для нормального осуществления файловых операций необходимы только общие ключи восстановления. Агенты восстановления могут хранить свои личные ключи в безопасном месте вне системы (например, на смарт-картах). На рисунке приведены схемы процессов шифрования, дешифрования и восстановления данных.

Процесс шифрования

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

Процесс дешифрования

Сначала используется личный ключ пользователя для дешифрации FEK — для этого используется зашифрованная версия FEK, которая хранится в DDF. Расшифрованный FEK используется для поблочного дешифрования файла. Если в большом файле блоки считываются не последовательно, то дешифруются только считываемые блоки. Файл при этом остается зашифрованным.

Процесс восстановления

Этот процесс аналогичен дешифрованию с той разницей, что для дешифрования FEK используется личный ключ агента восстановления, а зашифрованная версия FEK берется из DRF.

Реализация в Windows 2000

На рисунке показана архитектура EFS:

EFS состоит из следующих компонентов:

Драйвер EFS

Этот компонент расположен логически на вершине NTFS. Он взаимодействует с сервисом EFS, получает ключи шифрования файлов, поля DDF, DRF и другие данные управления ключами. Драйвер передает эту информацию в FSRTL (file system runtime library, библиотека времени выполнения файловой системы) для прозрачного выполнения различных файловых системных операций (например, открытие файла, чтение, запись, добавление данных в конец файла).

Библиотека времени выполнения EFS (FSRTL)

Служба EFS

Служба EFS является частью подсистемы безопасности. Она использует существующий порт связи LPC между LSA (Local security authority, локальные средства защиты) и работающим в kernel-mode монитором безопасности для связи с драйвером EFS. В режиме пользователя служба EFS взаимодействует с программным интерфейсом CryptoAPI, предоставляя ключи шифрования файлов и обеспечивая генерацию DDF и DRF. Кроме этого, служба EFS осуществляет поддержку интерфейса Win32 API.

Win32 API

Обеспечивает интерфейс программирования для шифрования открытых файлов, дешифрования и восстановления закрытых файлов, приема и передачи закрытых файлов без их предварительной расшифровки. Реализован в виде стандартной системной библиотеки advapi32.dll.

Немного практики

  1. Запустите Windows Explorer, нажмите правую кнопку мыши на каталоге, выберите пункт Properties (Свойства).
  2. На закладке General (Общие) нажмите кнопку Advanced.
  1. Отметьте галочкой пункт «Encrypt contents to secure data». Нажмите OK, затем нажмите Apply (применить) в диалоге Properties. Если Вы выбрали шифрование отдельного файла, то дополнительно появится диалоговое окно следующего вида:

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

На этом процесс шифрования данных можно считать законченным.

Чтобы расшифровать каталоги, просто снимите выделение в пункте «Encrypt contents to secure data». При этом каталоги, а также все содержащиеся в них подкаталоги и файлы будут расшифрованы.

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




Обеспечение конфиденциальности данных и кода в образах контейнеров

За последние несколько лет в облачной индустрии произошел серьезный сдвиг от развертывания монолитных приложений на виртуальных машинах к разделению приложений на более мелкие компоненты (микросервисы) и их упаковке в контейнеры. Популярность контейнеризации сегодня во многом обусловлена работой Docker. Docker — это компания, которая стала главной движущей силой контейнеров: она предоставила простой в использовании инструмент для создания и запуска контейнеров Docker и реестр контейнеров Docker для решения задачи их распределения.

Успех технологии контейнеризации в основном зависит от безопасности контейнеров на различных этапах их жизненного цикла. Одна из проблем безопасности — наличие уязвимостей внутри отдельных контейнеров. Для их выявления пайплайны DevOps, используемые для создания контейнеров, дополняют сканерами, которые ищут в контейнерах пакеты с возможными уязвимостями и предупреждают их владельцев или технических специалистов в случае их обнаружения. Vulnerability Advisor в IBM Cloud является примером такой утилиты.

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

Еще одна потенциальная проблема безопасности — это изоляция контейнера. Технологии безопасности среды исполнения Linux, такие как пространство имен, контрольные группы (cgroups), возможности Linux, а также профили SELinux, AppArmor и Seccomp, помогают ограничить процессы контейнеров и изолировать контейнеры друг от друга во время исполнения.

В этой статье рассматривается все еще актуальная проблема безопасности предприятий в отношении конфиденциальности данных и кода в образах контейнеров. Основная цель безопасности при работе с образами контейнеров — позволить создавать и распространять зашифрованные образы контейнеров, чтобы сделать их доступными только определенному кругу получателей. В этом случае другие могут иметь доступ к этим образам, но они не смогут запускать их или видеть конфиденциальные данные внутри них. Шифрование контейнеров основано на существующей криптографии, такой как технологии шифрования Ривеста-Шамира-Адлемана (RSA), эллиптической кривой и Advanced Encryption Standard (AES), также известный как Rijndael — симметричный алгоритм блочного шифрования.

Вводные

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

Смежные работы по шифрованию и контейнерам

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

Зашифрованные файловые системы существуют во многих операционных системах на предприятиях и могут поддерживать монтирование зашифрованных разделов и каталогов. Зашифрованные файловые системы могут даже поддерживать загрузку с зашифрованного загрузочного диска. Linux поддерживает шифрование на уровне блочного устройства с помощью драйвера dm-encrypt; ecryptfs является одним из примеров зашифрованной файловой системы. Для Linux доступны другие решения для шифрования файлов с открытым исходным кодом. В ОС Windows шифрование поддерживает файловая система NTFS v3.0. Кроме того, многие производители создают диски с самошифрованием. Для образов виртуальных машин существует решение, подобное зашифрованным дискам. Эмулятор машины (ПК) QEMU с открытым исходным кодом и продукты виртуализации VMware поддерживают зашифрованные образы виртуальных машин.

Шифрование данных обычно направлено на защиту от кражи данных в то время, когда система отключена. Смежная технология — это подписание образа контейнера ключом, который предоставляется клиентом и сервером Docker Notary. Сервер Docker Notary работает в непосредственной близости с реестром образов контейнера. Пользователи клиентского инструмента Docker имеют возможность подписать образ контейнера и загрузить подпись в свои учетные записи через Docker Notary. В ходе этого процесса подпись привязывается к образу контейнера через имя пути к образу и его версиям. Подпись создается с помощью хеш-функции, которая рассчитывается на основе описания всего содержимого образа. Это описание называется манифестом образа контейнера. Технология подписи образов контейнера решает проблему защиты образов контейнеров от несанкционированного доступа и помогает определить происхождение образа контейнера.

Структура

Экосистема Docker сформировалась для того, чтобы стандартизировать форматы образов контейнеров с помощью группы стандартов Open Container Initiative (OCI), которая теперь контролирует формат времени исполнения контейнера (runtime-spec) и формат образа контейнера (image-spec). Поскольку работа команды требовала расширения существующего формата образа контейнера, мы выделили расширение стандарта для поддержки зашифрованных образов. В следующих разделах описывается существующий формат образа контейнера и расширения.

На верхнем уровне контейнер может состоять из документа в JavaScript Object Notation (JSON), который представляет собой список манифестов образов. Например, вы можете использовать этот список манифестов, когда для образа контейнера используются несколько архитектур или платформ. Список манифестов содержит ссылки на манифесты контейнеров, по одной для каждой комбинации архитектуры и операционной системы. Например, поддерживаемые архитектуры включают amd64, arm и ppc64le, а к поддерживаемым операционным системам относится Linux или Windows. Пример списка манифестов показан на скриншоте ниже:


Поле mediaType описывает точный формат указанного документа. Этот список манифестов позволяет в будущем расширять и выбирать соответствующий синтаксический анализатор для задействованного документа.

Уровень ниже списка манифестов — это манифест. Манифест также является документом JSON и содержит упорядоченный список ссылок на слои образов. Эти ссылки содержат mediaType, описывающий формат слоя. Формат может описывать, сжимается ли слой, и если да, то каким образом. Например, каждый уровень может быть сохранен в виде файла .tar, содержащего файлы, которые были добавлены на определенном этапе сборки при выполнении docker build в файле Docker. Для повышения эффективности хранения слои часто также упаковываются с использованием сжатых файлов .gzip. Пример документа манифеста показан на следующем скриншоте:


Как показано, манифесты и уровни ссылаются через «дайджест», который обычно представляет собой хеш-функцию sha256 в документах JSON. Манифесты и слои обычно хранятся в виде файлов в файловой системе. Зачастую имена файлов представляют собой хеш-функции над содержимым, что упрощает их поиск и загрузку. Следствием этого метода хеш-функции является то, что небольшое изменение в документе, на который есть ссылка, вызывает изменения во всех документах, которые на него ссылаются, вплоть до списка манифестов.

OpenPGP

JSON Web Encryption (JWE)

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

Для поддержки ранее описанных технологий шифрования мы расширили документ манифеста, добавив следующую информацию:

  • org.opencontainers.image.enc.keys.openpgp
  • org.opencontainers.image.enc.keys.jwe
  • org.opencontainers.image.enc.keys.pkcs7

Чтобы определить, что слой был зашифрован с помощью LEK, мы расширили существующие медиатипы суффиксом '+encrypted', как показано в следующих примерах:

  • application/vnd.docker.image.rootfs.diff.tar+encrypted
  • application/vnd.docker.image.rootfs.diff.tar.gzip+encrypted


Многослойное шифрование с использованием симметричных ключей

Пример реализации: containerd

Мы реализовали наш вариант в новом проекте среды выполнения контейнеров под названием containerd. Его исходный код на golang можно посмотреть, перейдя по ссылке. Docker-демон использует containerd для запуска некоторых своих служб, а у Kubernetes есть плагин для прямого использования containerd. Поэтому мы надеемся, что наши расширения для поддержки зашифрованных образов контейнеров пригодятся обоим.

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

Поддержка алгоритмов аутентифицированного шифрования в Golang принимает байтовый массив в качестве входных данных и выполняет весь этап его шифрования (запечатывания) или дешифрования (открытия), не допуская передачи и добавления дополнительных массивов в поток. Поскольку этот криптографический API требовал загрузки всего уровня в память или изобретения некоторой схемы для изменения вектора инициализации (IV) для каждого блока, мы решили не использовать аутентифицированное шифрование golang с поддержкой связанных данных (AEAD). Вместо этого мы использовали крипто-библиотеку miscreant golang, которая поддерживает AEAD в потоках (блоках) и реализует собственную схему изменения IV в каждом блоке. В нашей реализации мы разбиваем уровень на блоки размером 1 МБ, которые и передаем один за другим для шифрования. Такой подход позволяет снизить объем памяти при использовании аутентифицированного шифра. На стороне дешифрования мы делаем обратное и обращаем внимание на ошибки, возвращаемые функцией Open (), чтобы убедиться, что блоки шифрования не были подделаны.

Среда выполнения containerd включает клиентский инструмент ctr для взаимодействия с ней. Мы расширили ctr, чтобы включить тестирование наших изменений и предоставить доступ для пользователей контейнера. ctr уже реализует подкоманду, которая поддерживает операции с образами, такие как взаимодействие с реестром образов через их извлечение и отправку.

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

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

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

Когда простой (незашифрованный) образ извлекается из реестра, он автоматически распаковывается и разархивируется, чтобы из него можно было сразу создавать контейнеры. Чтобы упростить это действие для зашифрованных образов, мы предлагаем передавать закрытый ключ команде, которая занимается распаковкой образов, чтобы они могли расшифровать слои до распаковки. Если образ зашифрован с помощью нескольких ключей, команде pull можно передать несколько. Такая передача также поддерживается. После успешного извлечения зашифрованного образа из реестра любой пользователь, имеющий доступ к containerd, может создать контейнер из образа. Чтобы подтвердить, что пользователь имеет права на использование образа контейнера, мы предлагаем ему предоставить закрытые ключи, используемые для расшифровки контейнера. Мы используем ключи для проверки авторизации пользователя, могут ли они использоваться для расшифровки LEK каждого зашифрованного уровня, и если это подтверждается, разрешаем запуск контейнера.

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

В этом разделе мы продемонстрируем шаги шифрования, которые применяются с containderd, используя ctr в командной строке. Мы покажем, как происходит шифрование и дешифрование образа контейнера.

В первую очередь, нужно клонировать репозиторий git containerd/imgcrypt, который является подпроектом и может шифровать/дешифровать образ контейнера. Затем необходимо собрать containerd и запустить его. Чтобы выполнить эти шаги, нужно знать, как настраивается среда разработки golang:

Для imgcrypt требуется использовать containerd версии не ниже 1.3.

Собираем и устанавливаем imgcrypt:


Запустите containerd с файлом конфигурации, который можно увидеть на примере ниже. Чтобы избежать возникновения конфликта в containerd, используйте директорию /tmp для каталогов. Также соберите containerd версии 1.3 из исходника, но не устанавливайте его.


Создайте пару ключей RSA с помощью инструмента командной строки openssl и зашифруйте образ:


Отправьте зашифрованный образ в локальный реестр, извлеките его с помощью ctr-enc, а затем запустите образ:

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

Что скрывать обычному пользователю

Во время переговоров, касающихся шифрования и защиты, реакция людей в первый момент часто напоминает: «У меня нет никаких секретов, – нечего скрывать». Как правило, они имеют в виду: «Я не верю, что кто-то будет заинтересован в изучении моего компьютера или смартфона для поиска чего-то ценного».

Слишком многие люди проявляют интерес к вашим данным

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

Готовы ли вы поделиться всеми фотографиями, перепиской и другими документами со своей женой, братом или детьми? Может быть, нет ничего таинственного в материалах, которые хранятся у Вас, но, несмотря на это, не обязательно предоставлять их для ознакомления другому человеку.

Хватит ли у вас смелости сообщить номер своей кредитной карты и ПИН-код к своему ребенку? А что Вы скажете на предоставление пароля к Gmail или Facebook своей сестре/брату? Или какую мысль вызывает у Вас гипотетическая ситуация, в которой фотографии вашей семьи рассматривают гости вашего дома.

Вы уверены, что хотите говорить своей жене, что Екатерина является подругой из другого отдела на работе, и «завтрашняя встреча», о которой Вы получили напоминание, на самом деле является бизнес-собранием с десятком других людей?

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

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

Потеря телефона является ещё одним катастрофическим моментом для его пользователя. Учитывая, что современный тип смартфонов, как правило, заполнен личными данными, некоторые «более опытные» воры могут не только продать украденные устройства, но и сканируют содержимое в поисках паролей и кодов для мобильного банкинга/приложения.

Шифрование – один ответ на много вопросов

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

Но, мы хотели бы сосредоточиться на ещё одном важном аспекте – шифровании ваших данных, которые вы храните на своем компьютере и телефоне.

Что такое шифрование данных

Передача зашифрованных данных из рук в руки

Важно различать два понятия – кодирование и шифрование. Кодирование также преобразует информацию, однако, как правило, оно выполняется из-за удобства хранения или передачи – не обязательно для хранения секретов. Широко известным методом кодирования является азбука Морзе и двоичное кодирование в памяти компьютера.

Ваш цифровой сейф

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

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

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

Конечно, необходимо соблюдать несколько простых правил, чтобы зашифрованная папка был защищена:


VeraCrypt, преемник TrueCrypt, представляет собой бесплатную многоплатформенную программу оперативного шифрования, аналогичную BitLocker от Microsoft. Первая работает на различных платформах, включая Windows, MacOS, Linux и Raspbian, в отличие от мелкософтной.

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

Звучит интересно? Тогда давай читать дальше. В этом посте мы познакомим вас с VeraCrypt, расскажем о некоторых преимуществах, а также расскажем о том, как установить и использовать этот инструмент для защиты ваших данных.

Преимущества VeraCrypt

Ниже приведены некоторые из его наиболее важных функций VeraCrypt:

  • Шифрование «на лету» : данные «магическим образом» шифруются прямо перед сохранением и дешифруются непосредственно перед использованием без какого-либо вмешательства пользователя.
  • Никаких временных ограничений : процесс шифрования или дешифрования можно прервать в любое время и возобновить с того момента, когда он был остановлен.
  • Скрытые тома : зашифрованные данные могут содержать скрытый зашифрованный том, который трудно найти или идентифицировать.
  • Портативный режим : инструмент может работать в портативном режиме, что позволяет переносить его на флэш-накопитель и запускать без установки в системе.

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

Начнем с установки VeraCrypt в вашей системе. Вам нужно выполнить следующие шаги:

    Загрузите VeraCrypt для своей платформы со страницы загрузки

Начальный экран установки приложения VeraCrypt

Поздравляю! VeraCrypt теперь установлена в вашей системе.

Создайте зашифрованный контейнер

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

Чтобы создать зашифрованный том с помощью VeraCrypt, выполните следующие действия:

    Откройте VeraCrypt и нажмите Создать том .

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

Выбираем место для сохранения зашифрованного контейнера

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

Выбираем размер для зашифрованного контейнера VeraCrypt

Создаём набор случайных данных для VeraCrypt

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

Создайте скрытый зашифрованный контейнер

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

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

  1. Откройте VeraCrypt и нажмите Создать том .
  2. Выберите второй вариант Зашифровать несистемный раздел/диск.

Зашифровать несистемный раздел или диск с помощью VeraCrypt

Создаём скрытый том VeraCrypt

Выбор режим создания зашифрованного тома

  • Нормальный режим: в этом режиме вам предлагается сначала создать внешний том, а затем внутренний скрытый том.
  • Прямой режим: в этом режиме предполагается, что вы уже создали внешний том и вам нужно создать только внутренний скрытый том.

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

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

Смонтировать зашифрованный контейнер или раздел

Хотите получить доступ к своим зашифрованным файлам? Это можно сделать следующим образом:

  1. Откройте VeraCrypt и выберите в списке одну из букв дисков.
  2. Нажмите Выбрать файл , чтобы смонтировать зашифрованный (или скрытый) контейнер/том, или нажмите Выбрать устройство , чтобы смонтировать зашифрованный раздел в вашей системе.
  3. Выберите файл при монтировании зашифрованного контейнера или выберите раздел при монтировании зашифрованного раздела и нажмите Смонтировать .

Монтирование зашифрованного тома при использовании VeraCrypt

Вы увидите, что раздел смонтирован и доступен в проводнике файлов Windows 10.

Результат монтирования зашифрованного тома с помощью VeraCrypt

Зашифровать обычный раздел

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

Чтобы зашифровать обычный раздел с помощью VeraCrypt, выполните следующие действия:

  1. Откройте VeraCrypt и нажмите Создать том .
  2. Выберите второй вариант Зашифровать несистемный раздел / диск и нажмите Далее .
  3. Выберите раздел, который вы хотите зашифровать, и нажмите Далее .

Примечание: не выбирайте системный раздел на этом шаге, то есть любой раздел, на который вы могли установить Windows, MacOS, Linux или любую другую ОС в вашей системе.

Выбор варианта шифрования раздела с помощью VeraCrypt

Примечание: не выбирайте первый вариант, иначе вы можете потерять важные данные, потому что это отформатирует раздел, и все данные на выбранном разделе будут потеряны.

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

Выбор режима очистки шифруемого раздела с помощью VeraCrypt

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

Зашифровать системный раздел

В этой схеме шифрования пароль необходим для запуска или загрузки вашего ПК.

Выполните шифрование системного диска следующим образом:

    Откройте VeraCrypt, щелкните меню Система и выберите Зашифровать системный раздел/диск.

Переход к шифрованию системного диска в VeraCrypt

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

Советы по эффективному использованию VeraCrypt

  • После загрузки установщика VeraCrypt проверьте целостность файла с помощью его цифровых подписей, чтобы убедиться, что загруженный файл не был изменен злоумышленником.
  • Не забудьте сделать резервную копию ваших файлов перед процессом шифрования (особенно в случае шифрования раздела на месте), чтобы избежать потери данных в случае каких-либо сбоев.
  • Создайте загрузочный диск в случае шифрования системного раздела, поскольку это помогает восстановиться в случае сбоя системы.
  • Используйте надежные пароли, состоящие из нескольких комбинаций букв, цифр и символов, и аккуратно сохраняйте их, поскольку потеря пароля означает потерю данных.
  • Выбирайте алгоритмы хеширования и шифрования в соответствии с вашими требованиями безопасности – чем сложнее алгоритм, тем выше безопасность, но меньше скорость.
  • Избегайте монтирования/использования зашифрованных томов на ноутбуках или портативных компьютерах при низком энергопотреблении, поскольку VeraCrypt может не отключать тома автоматически в случаях спящего режима или аналогичных системных методов во время отключения электроэнергии.

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

Даже если вы никогда не задумываетесь над этим,у вас наверняка есть тайны, достойные быть зашифрованными!


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

Есть что скрывать

Все ли письма, фотографии и документы вы готовы показывать жене, брату, теще, детям? Возможно, там нет ничего криминального. Но готовы ли вы сообщить номер своей кредитной карты и ее PIN-код детям-подросткам? Отдать брату пароли от почты и социальных сетей? Демонстрировать все семейные фото друзьям, которые пришли в гости и на пятнадцать минут сели за компьютер? Есть ли желание объяснять жене, что Элеонора – это начальник отдела смежников на работе, а встреча с ней завтра – это совещание с участием еще десяти человек?

Ваши фото, номера банковских карт и просто личная переписка интересуют всех: домочадцев, работодателей и, конечно, киберпреступников

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

Семь бед – один ответ

Угроз, как мы видим, существует много, и от каждой из них можно придумать свой способ защиты: изолировать компьютер в запертой спальне, поставить PIN-код на включение смартфона и так далее. Но если защитить информацию не путем физической изоляции, а так, чтобы ее мог прочитать только владелец, результат будет более надежным и всеобъемлющим. Абсолютно все перечисленные неурядицы – большие и малые – могли бы не случиться, если бы важная информация, предназначенная не для всех глаз, хранилась бы в зашифрованном виде.

Что такое шифрование

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

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

Ваш цифровой сейф

Шифрованный контейнер в Kaspersky CRYSTAL

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

Чтобы зашифрованный контейнер стал эффективной защитой вашей информации, нужно соблюдать несколько простых правил:

Сейф на смартфоне

encr-ios

Ответом на вышеописанную проблему с кражей смартфонов стало включение в современные мобильные ОС функций шифрования. Ключевая информация в смартфоне постоянно хранится в зашифрованном виде и всякий раз расшифровывается, когда владелец вводит пароль или PIN-код разблокировки. Apple не дает пользователю глубоко управлять этой функцией, но значительное количество информации подвергается шифровке при активации защитного PIN-кода на включение смартфона/планшета.

В Android в настройках безопасности имеется опция полной шифровки содержимого телефона, которая делает все данные на устройстве недоступными без ввода пароля. Для максимальной надежности в обоих случаях рекомендованы свежие версии мобильных ОС – iOS с 6.1 и Android с 4.1.

Читайте также: