19.11 // DiskCryptor - open source программа для шифрования дисковых разделов
DiskCryptor – единственное полностью открытое решение позволяющее шифровать все дисковые разделы включая системный. Программа является заменой проприетарных DriveCrypt Plus pack и PGP WDE. Для шифрования используется алгоритм AES256 в LRW режиме, и формат тома полностью совместим с TrueCrypt, благодаря чему вы можете открыть зашифрованый раздел на Linux с помощью TrueCrypt.
Установка
Программа работает на системах Windows 2000, XP, 2003 Server, XP x64, 2003 Server x64, Vista, Vista x64 (with driver signing disabled). Для установки программы скачайте нужную вам версию дистрибутива по ссылке http://freed0m.org/storage/dcrypt/ и запустите файл dcrypt.exe. Программа предложит установить драйвер и перезагрузиться. Вы можете произвольно менять имя драйвера, что может понадобиться для скрытия факта установки программы. После перезагрузки вы сможете начать работу с программой.
Удаление
Единственным устанавливаемым в систему элементом является драйвер, имя которому вы выбираете непосредственно во время установки. Полностью удалить его вы можете через пункт меню "File->Uninstall Driver", однако если ваш системный раздел зашифрован, то удаление драйвера будет недоступно. При установке новой версии старую удалять не обязательно, т.к. обновление драйвера произойдет автоматически.
Ограничения
Помните, что шифрование системного раздела невозможно при использовании динамических дисков. Также обязательное требование – использование для загрузки ОС только одного раздела. Конфигурации, когда ntldr и boot.ini находятся на одном разделе, а сама система на другом, не поддерживаются.
ВНИМАНИЕ: при шифровании/дешифровании диска нельзя перезагружать компьютер до завершения процесса. Диск должен быть либо полностью зашифрован, либо полностью расшифрован, иначе вы рискуете потерять данные. Рекомендую использовать UPS и делать бекапы перед шифрованием.
Особенности использования
Для удобства использования драйвер кеширует вводимые пароли в памяти ядра, и при монтировании тома выбирает подходящий пароль автоматически. Если подходящий пароль не обнаруживается, то программа выдаст окно ввода пароля. Пароли кешируются в неподкачиваемой памяти и не попадают в page-file. Вы можете очистишь кеш паролей через пункт меню "Tools->Clear Cached Passwords", либо полностью отключить кеширование в настройках программы. Внешние usb-диски, либо иные подключаемые тома, монтируются автоматически. exe файл нужен только для установки и управления программой, и, при постоянном использовании, можно обходиться без него. Зашифруйте все свои диски одним паролем, и тогда вам будет достаточно только лишь раз ввести пароль при загрузке.
Производительность
На Core Quad Q6600 скорость шифрования составляет 104мб/с на одно ядро. Максимальная скорость чтения данных с одиночного жёсткого диска – 80мб/с, следовательно на этом процессоре можно одновременно работать с 5ю жёсткими дисками без падения производительности. В том случае, если диски у вас не всегда используются с полной нагрузкой, можно без падения производительности работать с большим числом дисков и на более слабой системе. Реализация криптоалгоритмов для x86 версии написана на ассемблере и максимально оптимизирована под процессоры Intel Core, но довольно быстро работает и на любых других процессорах. Использованы практически все возможности оптимизации, в частности для алгоритма AES код генерируется динамически, с оптимизацией под конкретный ключ.
Безопасность
В программе используется AES256 с 128 битным блоком в режиме LRW 128. Режим LRW 128 создан специально для шифрования дисков, и защищает от ряда специфичных для этого применения атак. Ключ шифрования формируется случайным образом и хранится в зашифрованном виде в первом секторе тома. Первый сектор зашифрован аналогично всему диску, но его ключ формируется из введенного пароля с помощью sha1-hmac по стандарту pkcs5. Использование salt исключает атаки по rainbow tables, а 1000 итераций хеширования замедляют перебор паролей, добавляя стойкости даже относительно коротким паролям. Ключевым компонентом, определяющим реальную безопасность этой системы, является генератор случайных чисел (PRNG) с помощью которого генерируются ключи. В моей реализации используется PRNG на sha1-хешах с несколькими источниками энтропии. Он построен на основе модифицированного PRNG из TrueCrypt. Модификация сделана для повышения стойкости к атакам на предсказание внутреннего состояния PRNG. В качестве быстрых источников энтропии используется ряд функций ядра, счётчик тактов процессора и системное время. PRNG обновляет своё состояние с помощью этих функций при каждом использовании, а так же в момент ряда системных событий (таких как подключение тома, открытие/закрытие файлов, и. т.д.). В качестве медленного источника энтропии однократно используется PRNG Windows (CryptoAPI), движения мыши в окне программы (постоянно) и системная информация (добавляется периодически). Этого вполне достаточно для исключения возможности предсказания генерируемых ключей, однако в следующих версиях список источников энтропии будет пополнен, для большей гарантии стойкости. Наверняка у вас возникнет вопрос: "Не содержит ли программа бекдор, встроеный автором". Я отвечу – не содержит. Но вы можете мне не верить, и сами проверить и скомпилировать исходники. Я очень рекомендую вам это сделать, после чего отписаться о результатах проверки в гостевой книге и в соответствующих обсуждениях на форумах, ибо, чем больше людей это сделает, тем больше будет доверие к программе.
Риски использования и возможные каналы утечек данных
Я неоднократно слышал о случаях когда спецслужбы ломали различные криптодиски за несколько минут. Обычно такие слухи либо называют выдумкой, либо начинают рассуждать о бекдорах для спецслужб якобы встроеных в шифровальный софт. Бекдоры в проприетарном софте вполне возможны, но зачастую вскрыть зашифрованые данные можно и без них! Виной всему являются утечки конфиденциальных данных в ряд незашифрованых системных файлов. Наиболее опасными файлами в Windows являются реестр, файлы подкачки, crash dump и файл гибернации (hiberfil.sys). В файл подкачки пишеться большая часть памяти пользовательских приложений, в том числе и обрабатываемые ими конфиденциальные данные. DiskCryptor препятствует попаданию ключей и паролей в файл подкачки благоданя хранению их в неподкачиваемой памяти. К тому же пароли и ключи не храняться дольше, чем это нужно для их обработки, после чего занимаемая ими область памяти зануляется. Подобная защита есть во всех адекватных Open-Source криптографических продуктах, но ее не всегда достаточно для сведения риска утечек к нулю. Наиболее опасными являются утечки в hiberfil.sys и в crash дампы, так как при этом на диск сохраняется все содержимое памяти, включая неподкачиваемые области. Положение сильно осложняется тем, что механизм записи дампов и hiberfil.sys полностью недокументирован, и поэтому большинство существующих средств шифрования дисков не могут зашифровать эти файлы и они пишуться в открытом виде на в сектора диска! Последствия этого катострофичны, так как сохранение дампа памяти в открытом виде однозначно приводит к вскрытию всей зашифрованой информации в течении нескольких минут. В общем товарищи из Microsoft подложили нам такую свинью, что и никаких бекдоров в криптософте не надо. Наверняка этой особенностью Windows умеют пользоваться спецслужбы, откуда и пошли соответствующиеся слухи. Наиболее простым решением является отключение дампов и гибернации, о чем кстати сказано в документации к TrueCrypt. Проблема только в том, что большинство пользователей документацию не читают, и получают не безопасность, а только иллюзию таковой. В DiskCryptor начиная с версии 0.2.5 введены меры препятствующие утечкам ключевых данных. Если ваш системный раздел зашифрован, то DiskCryptor будет шифровать дампы и hiberfil.sys. Если не зашифрован, то при наличии подключеных криптодисков вход в гибернацию и запись дампов при крахе системы будут блокироваться, а если подключеных криптодисков нет, то перед входом в гибернацию или записью дампа будет автоматически очищаться кеш паролей в памяти. Таким образом программа препятствует попаданию ключевых данных на диск в открытом виде. Но учтите, что всегда остается вероятность утечки данных по вине стороннего приложения. Например если у вас стоит софт перехватывающий ввод с клавиатуры (это могут быть различные переводчики, программы автоматический смены раскладки клавиатуры, кейлоггеры), либо вы передаете пароли через буффер обмена, то пароли могут быть сохранены в не контролируемом DiskCryptor участке памяти, и попасть во всевозможные места утечки данных, вплоть до сохранения пароля в клавиатурный лог. Чтобы защититься от утечек вызываемых сторонним софтом, вам будет досаточно зашифровать все разделы на которые может идти сохранение подобной информации. Если вы их зашифровали одинаковым паролем, то можете вводить его единократно до загрузки системы. В этом случае пароль защищен от перехвата кейлоггерами и прочим подобным софтом. DiskCryptor дает вам максимально полную автоматическую защиту от основных каналов утечек ключевых данных, однако его использование не отменяет необходимости думать головой.
Компиляция
Для компиляции программы вам понадобится WDK (Windows Driver Kit), VisualStudio 2008 и FASM. Компиляция производится из IDE VisualStudio. Компиляция загрузчика производится отдельно, с помощью FASM.
Отзывы
Отзывы о работе программы оставляйте в гвестбуке. Только пожалуйста помните, что это еще beta версия, а значит мне важны любые ваши отзывы и багрепорты. На всякий случай очень рекомендую делать бекап данных перед шифрованием. Потерь данных при использовании программы пока не выявлено, однако бета тестерам стоит перестраховаться. Автор не несет никакой отвественности за использование или неиспользование вами этой программы. Программа распостраняется как есть, по лицензии GPL v2, без предоставления каких-либо гарантий. Желающие посодейтсвовать развитию проекта могут помочь в написании подробной многоязыковой документации, рисовании иконок для программы, а также пожеланиями по поводу следующих версий.
Источник: http://freed0m.org/?index=dcrypt
комментариев: 371 документов: 19 редакций: 20
В близжайших планах не значиться. Но прога открытая, хотите поддержку – подключайтесь к разработке.
комментариев: 371 документов: 19 редакций: 20
Ничего кроме тщеславных соплей со стороны разработчика не увидел.
Переписка была? Конкретные претензии высказывались?
Понял, что автор программы – истерик.
Насколько я понял, весь наезд со стороны разработчиков TC сводился только к старому названию программы? Так, блин, лицензию читать надо заранее, там английским по белому написано.
И про GPL в лицензии написано прямо, что, мол, можно использовать их код в GPL-проектах. Так что к чему нагнетание страстей на тему переписывания кода, я так и не понял.
Но это так, в порядке толики здравого смысла. Программе, как и любому опенсорсу, могу пожелать удачного роста и развития.
Есть вот даже такая фраза:
Лицензия у них составная – разная для разных участков кода. Под GNU GPL можно использовать только реализацию алгоритма Twofish.
В новой (1.3) версии их лицензии эта фраза написана так:
Просто добавлено разъяснение того, что было в предыдущей версии.
комментариев: 371 документов: 19 редакций: 20
Ой как не культурно. Вы не умеете общаться вежливо? Тогда эта ссылка для вас http://lleo.aha.ru/na
Было высказано требование прекратить распостранение программы, либо распостранять ее только под TrueCrypt license. Я категорически против этой лицензии, так как она имеет неопределенную степень легальности и создает проблемы разработчикам.
Пожалуйста не надо столь нагло врать.
Цититрую (источник: http://www.truecrypt.org/license.php):
The complete source code of Your Product must be freely and publicly
cease to distribute Your Product. To meet this condition, it is sufficient
that You merely include the source code with every copy of Your Product
that You make and distribute; it is also sufficient that You merely include
information (valid and correct at least until You cease to distribute Your
Product) about where the source code can be freely obtained (e.g., an
Internet address, etc.) with every copy of Your Product that You make and
distribute. Portions of the source code that were created by You (e.g. Your
additions to This Product) must be available under license(s) that are/is
compatible with this version of the TrueCrypt License (however, see also
Subsection III.1.e) and that allow(s) anyone to modify and derive new works
from Your Product (and portions thereof) and to use, copy, and redistribute
such modifications and/or derivative works. The license(s) must be
perpetual, non-exclusive, royalty-free, no-charge, and worldwide, and must
not invalidate, weaken, restrict, interpret, amend, modify, interfere with
or otherwise affect any part, term, provision, or clause of this License.
The text of the license(s) must be included with every copy of Your Product
that You make and distribute. The source code must not be deliberately
obfuscated, and it must not be in an intermediate form (e.g., the output of
a preprocessor). Source code means the preferred form in which a programmer
would usually modify the program.
GPL подходит под указанное описание.
Это раз.
А в части Copyright © 1998-2006, Brian Gladman:
ALTERNATIVELY, provided that this notice is retained in full, this product
may be distributed under the terms of the GNU General Public License (GPL),
in which case the provisions of the GPL apply INSTEAD OF those given above.
Также доказывает совместимость лицензии с GPL.
Таки внимательнее читать надо, не так ли?
> Ой как не культурно. Вы не умеете общаться вежливо?
Отдельные лично ваши высказывания на счет разработчиков TrueCrypt не более вежливы. Обойдемся без цитирования по этой теме?
Ну и напоследок:
>либо распостранять ее только под TrueCrypt license. Я категорически против этой лицензии, так как она имеет неопределенную степень легальности и создает проблемы разработчикам.
Любая лицензия легальна и имеет юридическую силу. Даже если ее напишет Вася Пупкин и там будет сказано, что для использовании программы нужно купить автору пива.
комментариев: 371 документов: 19 редакций: 20
Это понимается как то, что мой код в составе программы может распостраняться под GPL, но программа целиком должна распостраняться под TrueCrypt License. Нахрен мне такое счастье.
Цитирую часть пришедшего мне письма:
Надеюсь вам понятно что это означает? Принимая TrueCrypt лицензию я лишаюсь возможности распостранять свою программу как хочу, а у меня в планах включить DiskCryptor в состав ReactOS. В случае принятия их лицензии это будет невозможно. И я должен накладывать на себя такие ограничения из за пары файлов? Нет уж, лучше переписать.
Это доказывает только то, что автор именно того конкретного файла разрешает его использование под GPL. Мой же случай касался файлов pkcs5.c и GfMul.c
Ой ли? Садись, два. Лицензия не имеет юридической силы если она нарушает законы государства, либо нарушает другие лицензии. В случае же с TrueCrypt у многих есть сомнения в допустимости такой лицензии. Если вы хорошенько поищете не форуме, то найдете обсуждение на эту тему.
Это доказывает лишь, что потому что иначе как вы объясните
Если из TrueCrypt вы используете ту часть кода, что под TrueCrypt License Version 2.4, то:
Именно так! :)
Вы в этом твёрдо уверенны?
А вообще свободному программисту не резон заниматься юридическими тонкостями в определении совместимости лицензий. Есть даже хорошая практика публиковать список допустимых лицензий явно, например как тут.
Планируется ли совместимость DiskCryptor с новым форматом ТС5 (SHA-512, XTS, кстати, не могли бы вы объяснить, в чем ее преимущество по сравнению с LRW)?
Не позаимствовали ли они в новой пятой версии код из DiskCryptor?
Возможно ли, теоретически, создание имеющей юридическую силу лицензии запрещающую использовать код в TC но в остальном схожую с GPL?
комментариев: 88 документов: 13 редакций: 3
Вообще аргумент типа "я могу в него стрелять, потому что раньше видел, как он стрелял в других" :)