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

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

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

В настоящей статье мы рассмотрим наиболее популярные программы, предназначенные для предотвращения несанкционированного доступа к конфиденциальной информации. Отметим, что все решения, о которых пойдет речь, ориентированы на операционные системы семейства Windows. Все эти программы были опробованы нами на компьютере с операционной системой Windows Vista 32-bit.

Типы программ для несанкционированного доступа к данным

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

  • программы, шифрующие информацию;
  • программы, скрывающие информацию;
  • программы, не шифрующие информацию, но блокирующие несанкционированный доступ или ограничивающие доступ к данным.

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

Программы для шифрования данных

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

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

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

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

Если же шифрование информации необходимо лишь для ее безопасного хранения, то лучше применять симметричное шифрование данных с помощью одного-единственного ключа. Нужно отметить, что некоторые программы позволяют генерировать ключи шифрования и впоследствии сохранять их. При этом предполагается, что ключ будет храниться на внешнем носителе, например на USB-флэшке. Запомнить ключ нереально. Длина ключа во многих алгоритмах шифрования составляет 256 бит, и даже если записать его в шестнадцатеричном формате, то запомнить его невозможно. Если ключ не предполагается хранить отдельно, то можно задать для него пароль. Сам по себе пароль не является ключом шифрования, однако, используя специальный алгоритм хэширования, пароль всегда можно преобразовать в нужный ключ. Хэширование, или нахождение хэш-функции, - это математическая однонаправленная процедура преобразования пароля в комбинацию бит фиксированной длины. Зная хэш-функцию пароля, принципиально невозможно вычислить пароль - в этом и заключается смысл однонаправленного преобразования.

Существует достаточно много различных алгоритмов шифрования, и многие программы позволяют выбирать алгоритм шифрования. Наиболее популярным в настоящий момент является алгоритм шифрования AES с длиной ключа 256 бит. В принципе, поддержку программой множества алгоритмов шифрования вряд ли можно рассматривать как ее преимущество. Вполне достаточно, чтобы программа поддерживала всего один криптостойкий алгоритм шифрования, например AES с длиной ключа 256 бит. Вскрыть такой шифр, то есть подобрать ключ к нему, не представляется возможным. Действительно, если длина ключа составляет 256 бит, то всего существует 2256 = 1,15792·1077 различных комбинаций ключей. Если использовать метод перебора ключей и для простоты предположить, что компьютер в состоянии перебирать миллион ключей в секунду (хотя реальная скорость перебора ключей для современных ПК гораздо ниже), то для перебора всех ключей потребуется 3,78·1063 лет. Для справки отметим, что возраст нашей Вселенной оценивается всего в 14 млрд лет. Даже если предположить, что для перебора ключей будет применяться какой-нибудь суперкомпьютер, позволяющий перебирать миллиарды ключей в секунду, все равно задача перебора всех ключей будет нерешаемой. Так что современные методы шифрования обеспечивают очень надежную защиту данных и даже если зашифрованная информация попадет в чужие руки, то волноваться, что кто-то сможет получить доступ к ней, нет причин. Это только в фильмах сотрудники спецорганов в считаные минуты подбирают ключи к шифрам - в жизни все не так просто.

Программы, скрывающие данные

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

Программы, блокирующие или ограничивающие доступ к данным

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

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

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

Обзор программ

Архиваторы WinZip и WinRAR

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

Архиватор WinZip предполагает использование шифрования AES с 128- или 256-битным ключом (рис. 1), а архиватор WinRAR - шифрования AES с 128-битным ключом (рис. 2).

Рис. 1. Задание пароля в архиваторе WinZip

Рис. 2. Задание пароля в архиваторе WinRAR

В Интернете можно найти множество разнообразных утилит, предназначенных для подбора (или взлома - кому как больше нравится) паролей к RAR- и Zip-архивам. Однако это вовсе не означает, что пароли к ним легко подобрать. Шифрование AES с 128-битным ключом является очень стойким, и подобрать пароль методом перебора невозможно (не говоря уже о шифровании AES 256 бит). Единственно возможный способ подбора пароля - это атака по словарю. То есть если в качестве пароля применяется осмысленное слово, которое присутствует в словаре, то такой пароль подобрать очень просто и времени для этого много не потребуется. Как же создать стойкий пароль, который невозможно подобрать по словарю? Мы уже неоднократно писали об этом, но напомним еще раз. С одной стороны, пароль должен легко запоминаться, а с другой - представлять собой бессмысленный (в отношении грамматики) набор символов. Проще всего использовать в качестве пароля не одно слово, а фразу, записанную без пробелов между словами. Еще лучше, если фраза пишется по-русски, но при включенной английской раскладке клавиатуры. Тогда получается слово, которого нет ни в одном словаре, но в то же время такой пароль легко запомнить. К примеру, набор символов «Rhfcyfzfhvbzdct}