Что такое шифрование файлов
Если раньше криптография была уделом спецслужб и научно-исследовательских институтов, то сегодня воспользоваться преимуществами продвинутых алгоритмов шифрования для защиты конфиденциальных данных может любой желающий. В этом материале мы рассмотрим 5 лучших бесплатных приложений, с помощью которых вы сможете без особого труда зашифровать необходимые файлы и папки на жестком диске вашего компьютера.
Лучшие программы для шифрования данных
И начнем мы с популярного архиватора для Windows, имеющего ряд неофициальных реализаций для Mac OS и Linux. Удивляться не стоит, ведь 7zip поддерживает шифрование файлов и папок с помощью одного из самых стойких криптографических алгоритмов AES с 256-битным ключом, который, в частности, рекомендован Агентством национальной безопасности США для защиты документов, составляющих государственную тайну. Чтобы выполнить шифрование, достаточно указать пароль в соответствующем поле, после чего программа создаст архив, получить доступ к которому сможет лишь тот, кому известна кодовая фраза.
Также рекомендуем проставить галочки в чекбоксы «Удалять файлы после сжатия» и «Шифровать имена файлов» (без этой опции просмотреть содержимое архива сможет любой желающий).
К несомненным преимуществам 7zip можно отнести высокую производительность, возможность задать индивидуальный пароль для каждого зашифрованного архива и простоту использования. Главным же его недостатком является отсутствие какой-либо автоматизации: вам придется вводить пароль каждый раз, когда вы захотите получить доступ к защищенному контейнеру, изменить один из файлов или добавить новый. Таким образом, 7zip можно назвать «казуальным» приложением для шифрования, которое подойдет тем, кому подобный функционал необходим лишь время от времени.
Encrypto
Если вы не пользуетесь 7zip, но нуждаетесь в таком же простом и легковесном инструменте, рекомендуем обратить внимание на приложение Encrypto , разработанное компанией MacPaw для операционных систем Windows и MacOS. После его установки в контекстном меню операционной системы появится опция Encrypt with Encrypto, с помощью которой вы сможете шифровать отдельные файлы и папки. Подобно архиватору, утилита использует высоконадежный алгоритм AES-256, а сами ключи генерируются на основе заданного пароля.
Интересной особенностью Encrypto является возможность добавления к защищенному контейнеру подсказки, которая поможет вспомнить пароль или сообщить кодовую фразу другу с помощью понятных только вам двоим ассоциаций.
Благодаря этому вы можете использовать Encrypto для передачи зашифрованных файлов по открытым каналам (e-mail, мессенджеры, cloud-сервисы), не опасаясь, что ценная информация будет перехвачена.
GnuPG
Впрочем, существует и куда более надежное решение для обмена зашифрованными данными в Интернете, и это — GnuPG , использующая асимметричные пары ключей. Приложение доступно практически на всех операционных системах, включая Windows, Mac OS, Linux и FreeBSD. Реализация программы для Windows получила название GPG4Win и включает в себя, помимо собственно GnuPG, удобную визуальную оболочку Kleopatra для управления ключами шифрования, менеджер сертификатов, плагин для почтового клиента Outlook и плагин для проводника операционной системы.
Даже если открытый ключ попадет в руки злоумышленников, для них он будет абсолютно бесполезен, ведь все, что они смогут сделать, — это зашифровать новые файлы, тогда как расшифровать существующие у них не получится. По этой причине GnuPG де-факто является золотым стандартом защиты электронной переписки, благо приложение можно с легкостью интегрировать в любой популярный почтовый клиент с помощью соответствующего плагина.
Cryptomator
В отличие от всех перечисленных выше приложений, Cryptomator использует так называемое прозрачное шифрование. После первого запуска программа предложит вам создать защищенное хранилище, которое с точки зрения операционной системы является одновременно и директорией, и динамически расширяемым (его объем изменяется автоматически и зависит от количества свободного места, доступного в текущем логическом разделе) виртуальным диском. Данный факт обеспечивает два чрезвычайно важных преимущества:
- зашифрованный контейнер можно разместить внутри сетевой папки OneDrive, «Яндекс.Диск», Google Drive, DropBox или любого другого облачного сервиса и синхронизировать данные между разными устройствами;
- вы можете работать с защищенным разделом точно так же, как с обычным диском, создавая, редактируя и удаляя файлы и папки без необходимости каждый раз повторно вводить пароль — это потребуется сделать лишь один раз, при его разблокировке.
Cryptomator существует в нескольких версиях, в том числе и для мобильных устройств, работающих под управлением iOS и Android. Еще одной интересной особенностью приложения является ведение подробной статистики обращений к каждому защищенному хранилищу, позволяющей оценить расход трафика.
С учетом возможностей, простоты настройки и использования, Cryptomator способен стать отличным подспорьем для организации удаленного взаимодействия между сотрудниками небольшой компании, обеспечив необходимый уровень безопасности корпоративных данных.
VeraCrypt
На фоне собратьев VeraCrypt выглядит настоящей «тяжелой артиллерией». Программа предлагает своим пользователям огромное количество продвинутых функций для шифрования файлов, папок и даже целых разделов жесткого диска. Перечислим основные возможности приложения:
- Создание зашифрованного контейнера внутри файла
VeraCrypt позволяет создать виртуальный зашифрованный раздел внутри файла любого типа, причем со стороны такой контейнер будет выглядеть как обычный текстовый документ, видеоролик или музыкальный трек.
С помощью VeraCrypt можно зашифровать любой несистемный том на жестком диске, внешнем винчестере или флеш-накопителе. Также приложение позволяет создать внутри защищенного хранилища скрытый раздел, использующий собственные ключи шифрования, и, таким образом, обеспечить дополнительную защиту критически важных данных.
VeraCrypt предлагает уникальную в своем роде функцию — возможность шифрования раздела с установленной операционной системой. Также приложение позволяет создать скрытый системный раздел с независимой копией ОС, что поможет дополнительно защитить компьютер.
Программа поддерживает сразу несколько алгоритмов шифрования: AES, Serpent, Twofish, Camelia и Kuznyechik, позволяя комбинировать перечисленные методы между собой (доступно 10 возможных комбинаций на выбор).
Помимо паролей, для ограничения доступа к защищенным контейнерам можно использовать один или несколько ключей, в роли которых могут выступать файлы любого типа (картинки, аудио- или видеозаписи, текстовые документы, архивы и т. д.), директории с их содержимым, а также токены безопасности.
Как видите, VeraCrypt предлагает исчерпывающий набор инструментов для защиты конфиденциальных данных. И, проявив достаточную смекалку, с помощью этой программы можно создать действительно надежное зашифрованное хранилище, скрытое от посторонних глаз.
Аппаратное шифрование для защиты персональных данных
При всех многочисленных достоинствах перечисленные приложения имеют и один, но весьма серьезный недостаток: каждое из них использует в своей работе сугубо программное шифрование. И вот почему это плохо:
- криптографические ключи создаются на основе неких входных данных (кодовой фразы, координат курсора мыши и т. д.), имеющих сравнительно низкий уровень энтропии (хаотичности), что упрощает процесс взлома;
- данные, необходимые для дешифровки, хранятся в скрытых папках операционной системы, реестре или даже в самом зашифрованном контейнере (как в случае с 7zip или Encrypto) и могут быть сравнительно легко обнаружены и скопированы удаленно или с помощью троянских программ;
- во время шифрования все необходимые алгоритмы и ключи выгружаются в оперативную память компьютера, откуда могут быть извлечены посредством вредоносного ПО, с помощью метода «холодной перезагрузки» и других аналогичных манипуляций;
- поскольку шифрование и дешифровка осуществляются центральным процессором ПК или ноутбука, на котором установлено криптографическое приложение, это упрощает проведение атак по сторонним каналам, основанных на анализе времени выполнения вычислений, колебаниях уровня потребления энергии и т. д.
Подобных недостатков лишены внешние накопители со встроенными криптографическими модулями — например, настольные жесткие диски My Book емкостью от 4 до 18 терабайт и ультракомпактные портативные My Passport объемом от 1 до 5 ТБ от Western Digital.
Стильный дизайн, совместимость с компьютерами под управлением Microsoft Windows 8.1 и 10 или Apple macOS версии 10.13 и выше, наличие высокоскоростного порта USB 3.2 Gen 1 с пропускной способностью 640 МБ/с — преимущества этих устройств можно перечислять бесконечно. Однако главной их фишкой является поддержка полноценного аппаратного шифрования на базе упомянутого нами ранее алгоритма AES-256.
В комплекте с каждым экземпляром My Book и My Passport поставляется бесплатный программный пакет WD Discovery, включающий в себя ряд сервисных утилит:
Позволяет получить исчерпывающие сведения о текущем состоянии накопителя на основе показателей S.M.A.R.T., проверить жесткий диск на наличие битых секторов или, при необходимости, уничтожить сохраненные на HDD данные (при этом файлы будут несколько раз перезаписаны, чтобы их нельзя было восстановить).
С помощью этой программы вы можете настроить резервное копирование по расписанию, выгрузку бэкапов в облако (поддерживаются Google Drive и Dropbox) или, напротив, загрузку файлов из cloud-сервиса на диск или локальный компьютер. Кроме того, приложение позволяет подключиться к вашему профилю на Facebook и скачать сохраненные фото и видео прямо на внешний жесткий диск.
Эта утилита позволяет управлять шифрованием данных на внешнем жестком диске. Разберемся, как это работает.
Портативный накопитель WD My Passport и работа с WD Discovery Портативный накопитель WD My Passport и работа с WD DiscoveryНа первый взгляд, использование WD Security мало отличается от того же Encrypto: все, что требуется от владельца внешнего жесткого диска, — указать надежный пароль и активировать защиту, после чего вся информация на HDD будет зашифрована. В дальнейшем, чтобы использовать накопитель, его сперва нужно будет разблокировать с помощью кодовой фразы. Также можно создать список доверенных устройств, при подключении к которым внешний жесткий диск будет разблокироваться автоматически.
Однако надо понимать, что сама по себе WD Security не занимается шифрованием, а лишь предоставляет удобный визуальный интерфейс для управления встроенным в винчестер криптографическим модулем. Наличие аппаратного блока шифрования обеспечивает ряд важных преимуществ:
- за создание ключей шифрования отвечает аппаратный генератор случайных чисел, что помогает добиться высокой степени энтропии и повысить их устойчивость к взлому;
- криптографические ключи хранятся в энергонезависимой памяти шифратора и не выгружаются в оперативную память компьютера даже во время работы с файлами, что помогает свести к минимуму вероятность их перехвата;
- поскольку весь процесс шифрования осуществляется собственным криптографическим модулем жесткого диска, это существенно осложняет проведение атак по сторонним каналам;
- благодаря наличию независимого чипа, отвечающего за шифрование данных, скорость обработки файлов никак не зависит от производительности клиентского устройства.
Все вышеперечисленное позволяет практически полностью исключить вероятность хищения конфиденциальной информации и гарантировать безопасность сохраненных данных.
По мнению специалистов, именно кража ноутбука является одной из основных проблем в сфере информационной безопасности (ИБ).
В отличие от других угроз ИБ, природа проблем «украденный ноутбук» или «украденная флешка» довольно примитивна. И если стоимость исчезнувших устройств редко превышает отметку в несколько тысяч американских долларов, то ценность сохраненной на них информации зачастую измеряется в миллионах.
По данным Dell и Ponemon Institute, только в американских аэропортах ежегодно пропадает 637 тысяч ноутбуков. А представьте сколько пропадает флешек, ведь они намного меньше, и выронить флешку случайно проще простого.
Когда пропадает ноутбук, принадлежащий топ-менеджеру крупной компании, ущерб от одной такой кражи может составить десятки миллионов долларов.
Как защитить себя и свою компанию?
Мы продолжаем цикл статей про безопасность Windows домена. В первой статье из цикла мы рассказали про настройку безопасного входа в домен, а во второй — про настройку безопасной передачи данных в почтовом клиенте:
В этой статье мы расскажем о настройке шифрования информации, хранящейся на жестком диске. Вы поймете, как сделать так, чтобы никто кроме вас не смог прочитать информацию, хранящуюся на вашем компьютере.
Мало кто знает, что в Windows есть встроенные инструменты, которые помогают безопасно хранить информацию. Рассмотрим один из них.
Наверняка, кто-то из вас слышал слово «BitLocker». Давайте разберемся, что же это такое.
Что такое BitLocker?
BitLocker (точное название BitLocker Drive Encryption) — это технология шифрования содержимого дисков компьютера, разработанная компанией Microsoft. Она впервые появилась в Windows Vista.
С помощью BitLocker можно было шифровать тома жестких дисков, но позже, уже в Windows 7 появилась похожая технология BitLocker To Go, которая предназначена для шифрования съемных дисков и флешек.
BitLocker является стандартным компонентом Windows Professional и серверных версий Windows, а значит в большинстве случаев корпоративного использования он уже доступен. В противном случае вам понадобится обновить лицензию Windows до Professional.
Как работает BitLocker?
Эта технология основывается на полном шифровании тома, выполняемом с использованием алгоритма AES (Advanced Encryption Standard). Ключи шифрования должны храниться безопасно и для этого в BitLocker есть несколько механизмов.
Самый простой, но одновременно и самый небезопасный метод — это пароль. Ключ получается из пароля каждый раз одинаковым образом, и соответственно, если кто-то узнает ваш пароль, то и ключ шифрования станет известен.
Чтобы не хранить ключ в открытом виде, его можно шифровать либо в TPM (Trusted Platform Module), либо на криптографическом токене или смарт-карте, поддерживающей алгоритм RSA 2048.
TPM — микросхема, предназначенная для реализации основных функций, связанных с обеспечением безопасности, главным образом с использованием ключей шифрования.
Модуль TPM, как правило, установлен на материнской плате компьютера, однако, приобрести в России компьютер со встроенным модулем TPM весьма затруднительно, так как ввоз устройств без нотификации ФСБ в нашу страну запрещен.
Использование смарт-карты или токена для снятия блокировки диска является одним из самых безопасных способов, позволяющих контролировать, кто выполнил данный процесс и когда. Для снятия блокировки в таком случае требуется как сама смарт-карта, так и PIN-код к ней.
Схема работы BitLocker:
- При активации BitLocker с помощью генератора псевдослучайных чисел создается главная битовая последовательность. Это ключ шифрования тома — FVEK (full volume encryption key). Им шифруется содержимое каждого сектора. Ключ FVEK хранится в строжайшей секретности.
- FVEK шифруется при помощи ключа VMK (volume master key). Ключ FVEK (зашифрованный ключом VMK) хранится на диске среди метаданных тома. При этом он никогда не должен попадать на диск в расшифрованном виде.
- Сам VMK тоже шифруется. Способ его шифрования выбирает пользователь.
- Ключ VMK по умолчанию шифруется с помощью ключа SRK (storage root key), который хранится на криптографической смарт-карте или токене. Аналогичным образом это происходит и с TPM.
К слову, ключ шифрования системного диска в BitLocker нельзя защитить с помощью смарт-карты или токена. Это связано с тем, что для доступа к смарт-картам и токенам используются библиотеки от вендора, а до загрузки ОС, они, понятное дело, не доступны.
Если нет TPM, то BitLocker предлагает сохранить ключ системного раздела на USB-флешке, а это, конечно, не самая лучшая идея. Если в вашей системе нет TPM, то мы не рекомендуем шифровать системные диски.
И вообще шифрование системного диска является плохой идеей. При правильной настройке все важные данные хранятся отдельно от системных. Это как минимум удобнее с точки зрения их резервного копирования. Плюс шифрование системных файлов снижает производительность системы в целом, а работа незашифрованного системного диска с зашифрованными файлами происходит без потери скорости. - Ключи шифрования других несистемных и съемных дисков можно защитить с помощью смарт-карты или токена, а также TPM.
Если ни модуля TPM ни смарт-карты нет, то вместо SRK для шифрования ключа VMK используется ключ сгенерированный на основе введенного вами пароля.
При запуске с зашифрованного загрузочного диска система опрашивает все возможные хранилища ключей — проверяет наличие TPM, проверяет USB-порты или, если необходимо, запрашивает пользователя (что называется восстановлением). Обнаружение хранилища ключа позволяет Windows расшифровать ключ VMK, которым расшифровывается ключ FVEK, уже которым расшифровываются данные на диске.
Каждый сектор тома шифруется отдельно, при этом часть ключа шифрования определяется номером этого сектора. В результате два сектора, содержащие одинаковые незашифрованные данные, будут в зашифрованном виде выглядеть по-разному, что сильно затруднит процесс определения ключей шифрования путем записи и расшифровки заранее известных данных.
Помимо FVEK, VMK и SRK, в BitLocker используется еще один тип ключей, создаваемый «на всякий случай». Это ключи восстановления.
Для аварийных случаев (пользователь потерял токен, забыл его PIN-код и т.д.) BitLocker на последнем шаге предлагает создать ключ восстановления. Отказ от его создания в системе не предусмотрен.
Как включить шифрование данных на жестком диске?
Прежде чем приступить к процессу шифрованию томов на жестком диске, важно учесть, что эта процедура займет какое-то время. Ее продолжительность будет зависеть от количества информации на жестком диске.
Если в процессе шифрования или расшифровки компьютер выключится или перейдет в режим гибернации, то эти процессы возобновятся с места остановки при следующем запуске Windows.
Даже в процессе шифрования системой Windows можно будет пользоваться, но, вряд ли она сможет порадовать вас своей производительностью. В итоге, после шифрования, производительность дисков снижается примерно на 10%.
Если BitLocker доступен в вашей системе, то при клике правой кнопкой на названии диска, который необходимо зашифровать, в открывшемся меню отобразится пункт Turn on BitLocker.
На серверных версиях Windows необходимо добавить роль BitLocker Drive Encryption.
Приступим к настройке шифрования несистемного тома и защитим ключ шифрования с помощью криптографического токена.
Мы будем использовать токен производства компании «Актив». В частности, токен Рутокен ЭЦП PKI.
I. Подготовим Рутокен ЭЦП PKI к работе.
В большинстве нормально настроенных системах Windows, после первого подключения Рутокен ЭЦП PKI автоматически загружается и устанавливается специальная библиотека для работы с токенами производства компании «Актив» — Aktiv Rutoken minidriver.
Процесс установки такой библиотеки выглядит следующим образом.
Наличие библиотеки Aktiv Rutoken minidriver можно проверить через Диспетчер устройств.
Если загрузки и установки библиотеки по каким-то причинам не произошло, то следует установить комплект Драйверы Рутокен для Windows.
II. Зашифруем данные на диске с помощью BitLocker.
Щелкнем по названию диска и выберем пункт Turn on BitLocker.
Как мы говорили ранее, для защиты ключа шифрования диска будем использовать токен.
Важно понимать, что для использования токена или смарт-карты в BitLocker, на них должны находиться ключи RSA 2048 и сертификат.
Если вы пользуетесь службой Certificate Authority в домене Windows, то в шаблоне сертификата должна присутствовать область применения сертификата «Disk Encryption» (подробнее про настройку Certificate Authority в первой части нашего цикла статей про безопасность Windows домена).
Если у вас нет домена или вы не можете изменить политику выдачи сертификатов, то можно воспользоваться запасным путем, с помощью самоподписанного сертификата, подробно про то как выписать самому себе самоподписанный сертификат описано здесь.
Теперь установим соответствующий флажок.
На следующем шаге выберем способ сохранения ключа восстановления (рекомендуем выбрать Print the recovery key).
Бумажку с напечатанным ключом восстановления необходимо хранить в безопасном месте, лучше в сейфе.
Далее выберем, какой режим шифрования будет использоваться, для дисков, уже содержащих какие-то ценные данные (рекомендуется выбрать второй вариант).
На следующем этапе запустим процесс шифрования диска. После завершения этого процесса может потребоваться перезагрузить систему.
При включении шифрования иконка зашифрованного диска изменится.
И теперь, когда мы попытаемся открыть этот диск, система попросит вставить токен и ввести его PIN-код.
Развертывание и настройку BitLocker и доверенного платформенного модуля можно автоматизировать с помощью инструмента WMI или сценариев Windows PowerShell. Способ реализации сценариев будет зависеть от среды. Команды для BitLocker в Windows PowerShell описаны в статье.
Как восстановить данные, зашифрованные BitLocker, если токен потеряли?
Если вы хотите открыть зашифрованные данные в Windows
Для этого понадобится ключ восстановления, который мы распечатали ранее. Просто вводим его в соответствующее поле и зашифрованный раздел откроется.
Если вы хотите открыть зашифрованные данные в системах GNU/Linux и Mac OS X
Для этого необходима утилита DisLocker и ключ восстановления.
Утилита DisLocker работает в двух режимах:
- FILE — весь раздел, зашифрованный BitLocker, расшифровывается в файл.
- FUSE — расшифровывается только тот блок, к которому обращается система.
Для примера мы будем использовать операционную систему Linux и режим утилиты FUSE.
В последних версиях распространенных дистрибутивов Linux, пакет dislocker уже входит в состав дистрибутива, например, в Ubuntu, начиная с версии 16.10.
Если пакета dislocker по каким-то причинам не оказалось, тогда нужно скачать утилиту DisLocker и скомпилировать ее:
Откроем файл INSTALL.TXT и проверим, какие пакеты нам необходимо доустановить.
В нашем случае необходимо доустановим пакет libfuse-dev:
Приступим к сборке пакета. Перейдем в папку src и воспользуемся командами make и make install:
Когда все скомпилировалось (или вы установили пакет) приступим к настройке.
Перейдем в папку mnt и создадим в ней две папки:
- Encrypted-partition— для зашифрованного раздела;
- Decrypted-partition — для расшифрованного раздела.
Найдем зашифрованный раздел. Расшифруем его с помощью утилиты и переместим его в папку Encrypted-partition:
Выведем на экран список файлов, находящихся в папке Encrypted-partition:
Введем команду для монтирования раздела:
Для просмотра расшифрованного раздела перейдем в папку Encrypted-partition.
Резюмируем
Включить шифрование тома при помощи BitLocker очень просто. Все это делается без особых усилий и бесплатно (при условии наличия профессиональной или серверной версии Windows, конечно).
Для защиты ключа шифрования, которым шифруется диск, можно использовать криптографический токен или смарт-карту, что существенно повышает уровень безопасности.
Шифрующая файловая система это тесно интегрированная с 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.
Немного практики
- Запустите Windows Explorer, нажмите правую кнопку мыши на каталоге, выберите пункт Properties (Свойства).
- На закладке General (Общие) нажмите кнопку Advanced.
- Отметьте галочкой пункт «Encrypt contents to secure data». Нажмите OK, затем нажмите Apply (применить) в диалоге Properties. Если Вы выбрали шифрование отдельного файла, то дополнительно появится диалоговое окно следующего вида:
Система предлагает зашифровать также и каталог, в котором находится выбранный файл, так как в противном случае шифрование будет автоматически отменено при первой модификации такого файла. Всегда имейте это в виду, когда шифруете отдельные файлы!
На этом процесс шифрования данных можно считать законченным.
Чтобы расшифровать каталоги, просто снимите выделение в пункте «Encrypt contents to secure data». При этом каталоги, а также все содержащиеся в них подкаталоги и файлы будут расшифрованы.
Даже если вы никогда не задумываетесь над этим,у вас наверняка есть тайны, достойные быть зашифрованными!
К счастью, компьютеры, изначально созданные для взлома военных шифров, дают каждому из нас прекрасный способ хранения личных тайн – информацию можно зашифровать. То, что долгое время было доступно только государственным службам, сегодня может применить любой пользователь. И, что более существенно, даже если вы не задумываетесь над этим, у вас наверняка есть тайны, достойные шифрования.
Есть что скрывать
Все ли письма, фотографии и документы вы готовы показывать жене, брату, теще, детям? Возможно, там нет ничего криминального. Но готовы ли вы сообщить номер своей кредитной карты и ее PIN-код детям-подросткам? Отдать брату пароли от почты и социальных сетей? Демонстрировать все семейные фото друзьям, которые пришли в гости и на пятнадцать минут сели за компьютер? Есть ли желание объяснять жене, что Элеонора – это начальник отдела смежников на работе, а встреча с ней завтра – это совещание с участием еще десяти человек?
Ваши фото, номера банковских карт и просто личная переписка интересуют всех: домочадцев, работодателей и, конечно, киберпреступниковИ уж конечно, совсем грустной будет история, если на компьютер проникнет вредоносное приложение. В последнее время встречаются зловреды, крадущие всю доступную информацию с компьютера: документы, изображения, сохраненные в браузере пароли и формы – все. Известны случаи, когда среди краденых изображений находились фото документов, которые были использованы для разных форм мошенничества. Или случаи, когда пикантные фото использовались для шантажа.
Семь бед – один ответ
Угроз, как мы видим, существует много, и от каждой из них можно придумать свой способ защиты: изолировать компьютер в запертой спальне, поставить PIN-код на включение смартфона и так далее. Но если защитить информацию не путем физической изоляции, а так, чтобы ее мог прочитать только владелец, результат будет более надежным и всеобъемлющим. Абсолютно все перечисленные неурядицы – большие и малые – могли бы не случиться, если бы важная информация, предназначенная не для всех глаз, хранилась бы в зашифрованном виде.
Что такое шифрование
Шифрование – это преобразование информации, делающее ее нечитаемой для посторонних. При этом доверенные лица могут провести дешифрование и прочитать исходную информацию. Существует множество способов шифрования/дешифрования, но секретность данных основана не на тайном алгоритме, а на том, что ключ шифрования (пароль) известен только доверенным лицам.
Необходимо отличать шифрование от кодирования. Кодирование тоже преобразует информацию, но лишь для удобства хранения и передачи, секретность не является основной задачей. Типичные способы кодирования – азбука Морзе и двоичное кодирование букв для хранения в компьютере.
Ваш цифровой сейф
Файл-хранилище может увидеть любой посторонний, его даже можно украсть (скопировать). Но это не даст злоумышленнику или просто любопытному ровным счетом ничего – внутри файла содержится лишь мешанина символов, и можно потратить многие годы на то, чтобы подобрать пароль, который превращает этот файл в диск с читабельными файлами.
Чтобы зашифрованный контейнер стал эффективной защитой вашей информации, нужно соблюдать несколько простых правил:
Сейф на смартфоне
Ответом на вышеописанную проблему с кражей смартфонов стало включение в современные мобильные ОС функций шифрования. Ключевая информация в смартфоне постоянно хранится в зашифрованном виде и всякий раз расшифровывается, когда владелец вводит пароль или PIN-код разблокировки. Apple не дает пользователю глубоко управлять этой функцией, но значительное количество информации подвергается шифровке при активации защитного PIN-кода на включение смартфона/планшета.
В Android в настройках безопасности имеется опция полной шифровки содержимого телефона, которая делает все данные на устройстве недоступными без ввода пароля. Для максимальной надежности в обоих случаях рекомендованы свежие версии мобильных ОС – iOS с 6.1 и Android с 4.1.
Читайте также: