КиберСофт
Компания
38,72
рейтинг
27 января 2014 в 14:06

Разработка → Прозрачное шифрование файлов на локальном компьютере при помощи CyberSafe Files Encryption recovery mode

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

Как работает “прозрачное шифрование”


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

Процесс шифрования происходит по следующей схеме:



  • исходный файл шифруется с использованием алгоритма AES и случайно сгенерированного программой симметричного ключа длиной 256 бит;
  • симметричный ключ защищается шифрованием по алгоритму RSA при помощи открытого ключа пользователя длиной до 8192 бит и сохраняется в альтернативном потоке данных NTFS.

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

  • при помощи закрытого ключа пользователя, расшифровывается хранящийся в ADS симметричный ключ;
  • при помощи симметричного ключа расшифровывается исходный файл.




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

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

Работа с зашифрованными папками в CyberSafe


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

Для того, чтобы создать такую папку, открываем программу и выбираем Шифрование файлов > Прозрачное шифрование и добавляем любую пустую ранее созданную папку на компьютере. Для того, чтобы назначить пару открытый/закрытый ключ, которая будет использоваться для шифрования и расшифровки файлов используем кнопку Ключи.



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

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

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

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



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

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

К примеру, в своей защищенной папке вы храните лишь текстовые документы. Тогда, вполне логичным будет разрешить доступ к этим документам лишь тем приложениям, которые вы используете для работы с ними, например Word, Exel, Notepad ++ или другим текстовым редакторам, а всем остальным запретить, определив их как запрещенные.

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

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



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



Преимущества перед EFS


Использование токенов как дополнительная мера защиты

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

“Прозрачное шифрование” сетевых папок

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

Защита папок от удаления

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

Скорость работы

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

Для сравнения скорости шифрования в EFS и CyberSafe я провел небольшой тест, зашифровав одну и ту же папку в каждой из программ и замеряв при этом время, затраченное на шифрование каждом из них. ОС: Windows ХР SP3. Вес папки: 1,6 Гб, содержание: 26 файлов с расширениями avi, jpg, png, bmp, pdf, docx, txt, cdr, psd, ppt. Результаты текстов приведены в таблице ниже:



Наличие системы доверенных приложений

В том случае, если на ваш компьютер попадет шпионское программное обеспечение, конфиденциальная информация, защищенная при помощи, EFS окажется под угрозой хищения. В CyberSafe этот недостаток решается благодаря использованию системы доверенных приложений – только те программы, которые вы определите сами, смогут получить доступ к защищенной папке и хранящимся в ней конфиденциальным данным.
Автор: @CyberSafeRus
КиберСофт
рейтинг 38,72
Компания прекратила активность на сайте

Комментарии (13)

  • +1
    Кроме списка доверенных приложений какие есть киллер фичи по сравнению с трукриптом? Или может у ваших зашифрованных папок есть совместимость с EncFS как у тоже платного BםxCryptor?
    AES-NI хотя бы поддерживаете?
    • +1
      Процесс шифрования происходит по следующей схеме:
      исходный файл шифруется с использованием алгоритма AES и случайно сгенерированного программой симметричного ключа длиной 256 бит;

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

      Судя по описанию оно не совместимо ни с какими сетевыми хранилищами. Включая локальную сеть.
      Поэтому чтобы сделать бекап зашифрованных данных нужно будет их расшифровать либо использовать программу для бекапа, поддерживающую ADS.
      • –3
        Если сетевой диск (microsoft sharing) на NTFS, то мы к нему в качестве надстройки добавляем ADS – в отличии от EFS мы нашли способ как это сделать. Инструкция пользователя прилагается к программе.

        По поводу облачных хранилищ — любой родной клиент облачного сервиса, которым вы пользуетесь, устанавливается не в качестве доверенного, а в качестве приложения имеющего доступ к зашифрованной информации. Таким образом, на облако отправляются зашифрованные данные и в момент их отправления драйвер дописывает в начало файла служебную информацию из альтернативных потоков. Процесс расшифровки сочетает извлечение сначала служебного блока 4096 байт, а потом расшифровывается сам файл. Однако система облачного копирования находится в стадии бета тестирования и на данный момент недоступна.
    • –3
      Да, поддержка AES-NI есть.

      По поводу Трукрипта. С его помощью можно создать лишь виртуальный криптоконтейнер. Во время работы с одним из файлов, хранящимся на криптоконтейнере все остальные хранящиеся там файлы также расшифровываются и становятся уязвимыми. Подробнее об этом писал здесь: habrahabr.ru/company/cybersafe/blog/208824/. А прозрачная система шифрования файлов без криптодиска позволяет держать файлы на локальном компьютере и на сервере в постоянно зашифрованном виде.

      Кроме того, CyberSafe поддерживает как прозрачное шифрование, так и создание криптоконтейнеров как 2 разные концепции безопасности.

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

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

      По поводу EncFS – это отдельный криптографический продукт, мы не можем поддерживать или не поддерживать его. Мы предлагаем свой взгляд на безопасность исходя из опыта.
  • 0
    Я вот всё равно не понял о преимуществах перед трукриптом или Cryptic Disk-ом.
    Во время работы с одним из файлов, хранящимся на криптоконтейнере все остальные хранящиеся там файлы также расшифровываются и становятся уязвимыми.

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

    А надо-ли?
    • 0
      Вам приводили ссылку на статью где указано что при подключении диска все файлы доступны для руткитов. Почитайте, умная статья.
      Система ключей в трукрипте не нужна потому что он не расчитан на многопользовательское использование. А CyberSafe с успехом может применяться в LAN и на сервере терминалов.
    • 0
      Уязвимыми становятся не все файлы, а только те, с которыми вы работаете. Преимущество CyberSafe в данном случае – система доверенных приложений. Только доверенные приложения, которые вы выбираете сами, имеют доступ к вашей конфиденциальной информации. Все остальные – нет. Даже на момент работы с файлом, когда он расшифрован и уязвим, никакая другая программа, в том числе и вредоносная, не сможет получить к нему доступ.

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

    Сразу есть несколько вопросов:
    1. Что такое сертификат шифрования? Я встречал определение сертификата публичного ключа.
    2. Симметричная пара публичный-приватный — вы часом симметричное и асимметричное шифрование не путаете?
    3. Шифрование приватным, а дешифрование публичным ключем — ребят, вы серьезно? А в чем профит то тогда, если любая обезьяна, имея мой публичный ключ, сможет декриптовать шифротекст?

    Ну и главный вопрос (как следствие из предыдущих): вы точно разбираетесь в вопросе? У любого спеца по ИБ после таких заявлений, могут возникнуть вполне законные вопросы о вменяемости ваших продуктов. Не говоря о том, чтобы начать с ними работать или кому-то рекомендовать. Хотя конечно, сертификат партнерства с Крипто-Про сначала подкупает :)

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

      Сертификат шифрования включает в себя ключевую пару (открытый и закрытый ключ). Открытый ключ общедоступен — он отправляется другим пользователям и размещается на серверах открытых ключей. Получив его, пользователи смогут шифровать сообщения в наш адрес. Закрытый ключ следует держать в секрете — он используется для расшифровки полученных сообщений, а также для создания цифровых подписей.
      • 0
        Тоже не совсем верно — сертификат не включает в себя ключевую пару, сами же пишете, что закрытый ключ надо хранить в секрете. Сертификат удостоверяет, что открытый ключ действительно соотносится с соответствующим закрытым ключем, а так же удостоверяет, что владелец открытого ключа действительно его владелец.
        • 0
          Согласен. Формулировку нужно точнее. При балансе между гиками и домохозяйками бывает что сложно найти вариант который бы устроил обе стороны. Например то же слово «ключ» не совсем по науке: в криптографии принято выражение ключевая информация. Сокращаем для удобства понимания. Но в любом случае в КС используется система ID, который является файлом включающим все ключи (pem), сертифкаты (cer), pfx и проч. Так как используется сразу несколько криптопровайдеров.
        • 0
          Я все написал верно. Дело в том, что персональный сертификат CyberSafe включает в себя следующие элементы:
          — закрытый ключ (он защищается паролем пользователя). Пароль создается во время создания сертификата, его знаете только вы. поэтому хранение закрытого ключа в секрете по большому счету означает хранение в секрете пароля к нему;
          — открытый ключ (его отправляем другим пользователям);
          — сертификаты в форматах X.509 и PKCS#12.

          Вы говорите о сертификатах X.509 и PKCS#12. Они используются для шифрования почты в почтовых клиентах. В состав этих сертификатов также входят ключи. X.509 содержит открытый ключ, PKCS#12 — открытый и закрытый ключи (здесь закрытый ключ также защищается паролем). Подробнее об этом написано здесь: habrahabr.ru/company/cybersafe/blog/209642/

          Вы пишите: «Сертификат удостоверяет, что открытый ключ действительно соотносится с соответствующим закрытым ключем, а так же удостоверяет, что владелец открытого ключа действительно его владелец.»
          Это одно и то же: если владелец открытого ключа действительно его владелец, значит его открытый ключ соотносится с его закрытым ключом.
  • 0
    Чтобы защитить базу данных, можно принять ряд мер предосторожности, например спроектировать систему безопасности, проводить шифрование конфиденциальных ресурсов и поместить серверы базы данных под защиту брандмауэра. Однако в случае с похищением физического носителя (например, диска или ленты) злоумышленник может просто восстановить или подключить базу данных и получить доступ к данным. Одним из решений может стать шифрование конфиденциальных данных в базе данных и защита ключей, используемых при шифровании, с помощью сертификата. Это не позволит ни одному человеку, не обладающему ключами, использовать данные, однако такой тип защиты следует планировать заранее.
    Функция прозрачного шифрования данных (TDE) выполняет в реальном времени шифрование и дешифрование файлов данных и журналов в операциях ввода-вывода. При шифровании используется ключ шифрования базы данных (DEK), который хранится в загрузочной записи базы данных для доступности при восстановлении. Ключ шифрования базы данных является симметричным ключом, защищенным сертификатом, который хранится в базе данных master на сервере, или асимметричным ключом, защищенным модулем расширенного управления ключами. Функция прозрачного шифрования данных защищает «неактивные» данные, то есть файлы данных и журналов. Она дает возможность обеспечивать соответствие требованиям многих законов, постановлений и рекомендаций, действующих в разных отраслях. Это позволяет разработчикам программного обеспечения шифровать данные с помощью алгоритмов шифрования AES и 3DES, не меняя существующие приложения.

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

Самое читаемое Разработка