TrueCrypt

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
TrueCrypt
TrueCrypt Logo.gif
TrueCrypt.png
TrueCrypt (Windows XP)
Тип

Криптография

Разработчик

TrueCrypt Foundation

Написана на

C, C++, Ассемблер[1]

Интерфейс

WxWidgets

Операционная система

Microsoft Windows NT 5+, Linux, Mac OS X

Языки интерфейса

30 языков [2]
(хотя большинство из них неполные переводы)

Первый выпуск

2 февраля 2004 года

Последняя версия

7.1a / 7.2 (7 февраля 2012 / 28 мая 2014 года)

Состояние

Неактуальное. Проект закрыт 28 мая 2014 года

Лицензия

TrueCrypt License v 3.1, TrueCrypt Collective License

Сайт

www.truecrypt.org andryou.com/truecrypt_orig andryou.com/truecrypt http://truecrypt.ch/

TrueCrypt — компьютерная программа для шифрования на «лету» для 32- и 64-разрядных операционных систем семейств Microsoft Windows NT 5 и новее (GUI-интерфейс), Linux и Mac OS X. Позволяет создавать зашифрованный логический (виртуальный) диск, хранящийся в виде файла. С помощью TrueCrypt'а также можно полностью шифровать раздел жёсткого диска или иного носителя информации, например, флоппи-диск или USB-флеш-накопитель. Все сохранённые данные в томе TrueCrypt'а полностью шифруются, включая имена файлов и каталогов. Смонтированный том TrueCrypt'а подобен обычному логическому диску, поэтому с ним можно работать с помощью обычных утилит проверки и дефрагментации файловой системы.

Лицензия программы считалась свободной, однако при её проверке для включения TrueCrypt'а в дистрибутив Fedora в октябре 2008 года были обнаружены опасные и делающие её несвободной неоднозначности[3][4]. К ноябрю в лицензию были внесены исправления[5].

28 мая 2014 года проект был закрыт, разработка свёрнута. Все старые версии удалены, репозиторий очищен. Обстоятельства закрытия проекта вызвали множество догадок и обсуждений в ИТ-сообществе.

Возможности TrueCrypt'а[править | править код]

TrueCrypt умеет создавать зашифрованный виртуальный диск:

  1. в файле-контейнере, что позволяет легко работать с ним — переносить, копировать (в том числе на внешние устройства в виде файла), переименовывать или удалять;
  2. в виде зашифрованного раздела диска, что делает работу более производительной и удобной, в версии 5.0 добавилась возможность шифровать системный раздел;
  3. путём полного шифрования содержимого устройства, такого как USB флеш-память (устройства флоппи-диск не поддерживаются с версии 7.0).

В список поддерживаемых TrueCrypt'ом 6.2 алгоритмов шифрования входят AES, Serpent и Twofish. Предыдущие версии программы также поддерживали алгоритмы с размером блока 64 бита (Triple DES, Blowfish, CAST5) (включая версии 5.х, которые могли открывать, но не создавать разделы, защищённые этими алгоритмами). Кроме того, возможно использование каскадного шифрования различными шифрами, к примеру: AES+Twofish+Serpent.

Все алгоритмы шифрования используют режим XTS, который более безопасен, нежели режимы CBC и LRW для шифрования «на лету», применяющиеся в предыдущих версиях (работа с уже созданными шифроконтейнерами в этих форматах также возможна).

Программа позволяет выбрать одну из трёх хеш-функций: HMAC-RIPEMD-160, HMAC-Whirlpool, HMAC-SHA-512 для генерации ключей шифрования, соли и ключа заголовка.

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

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

  1. Создание скрытого тома, что позволяет задать второй пароль (и набор ключевых файлов) к обычному тому для доступа к данным, к которым невозможно получить доступ с основным паролем, при этом скрытый том может иметь любую файловую систему и располагается в неиспользованном пространстве основного тома.
  2. Ни один том TrueCrypt'а не может быть идентифицирован (тома TrueCrypt'а невозможно отличить от набора случайных данных, то есть файл нельзя связать с TrueCrypt'ом как с программой, его создавшей, ни в какой форме и рамках).

Другие возможности TrueCrypt'а:

  • Переносимость, что позволяет запускать TrueCrypt без установки в операционной системе (необходимы права группы администраторов в NT).
  • Поддержка создания зашифрованного динамического файла на дисках NTFS. Такие тома TrueCrypt'а увеличиваются в размере по мере накопления новых данных вплоть до указанного максимального размера. Однако использование подобной возможности несколько уменьшает производительность и безопасность системы.
  • Шифрование системного физического либо логического диска для Microsoft Windows-систем с дозагрузочной аутентификацией. (TrueCrypt не способен выполнять шифрование GPT дисков, которые установлены на большинстве современных компьютеров, поэтому перед шифрованием их необходимо преобразовать в MBR (master boot record)). (Такая же функциональность встроена в Windows Vista (не всех редакций), Windows 7 (Корпоративная и Максимальная), Windows Server 2008, Windows 8.1 под именем BitLocker. Однако, BitLocker не предлагает функционала правдоподобного отрицания и имеет закрытый исходный код, что делает невозможной проверку на наличие уязвимостей или встроенных лазеек для обхода защиты. Своя система шифрования встроена в Mac OS X, она называется FileVault, и, начиная с версии 2.0, может зашифровать весь диск. Как и BitLocker, FileVault не предлагает функционала правдоподобного отрицания и имеет закрытый исходный код, что делает невозможной проверку на наличие уязвимостей или встроенных лазеек для обхода защиты).
  • Изменение паролей и ключевых файлов для тома без потери зашифрованных данных.
  • Возможность резервного сохранения и восстановления заголовков томов (1024 байт).
    • Это может быть использовано для восстановления заголовка повреждённого файла, чтобы монтировать том после ошибки на аппаратном уровне, в результате которой повредился заголовок.
    • Восстановление старого заголовка также сбрасывает пароль тома на тот, который действовал для прежнего заголовка.
  • Возможность назначать комбинации клавиш для монтирования/размонтирования разделов (в том числе и быстрого размонтирования со стиранием ключа в памяти, закрытием окна и очисткой истории), отображения и сокрытия окна (и значка) TrueCrypt'а.
  • Возможность использовать TrueCrypt на компьютере с правами обычного пользователя (в том числе создавать и работать с контейнерами в файлах), правда, первоначальную установку программы должен сделать администратор.

История TrueCrypt'а[править | править код]

TrueCrypt основан на программе Encryption for the Masses (E4M). E4M была популярной программой с открытым исходным кодом для шифрования «на лету», первая версия которой выпущена в 1997 году. Однако в 2000 году работа над программой была прекращена, так как её автор, фр. Paul Le Roux, переключился на коммерческие разработки.

Первая версия TrueCrypt'а увидела свет 2 февраля 2004 года. На тот момент TrueCrypt был единственной программой с открытым исходным кодом для шифрования «на лету» с полной поддержкой Windows XP и обеспечивающей высокую отказоустойчивость.

TrueCrypt версии 1.0 поддерживал Windows 98/ME и Windows 2000/XP. Однако были удаленны следующие функции: объемы E4M и SFS больше не поддерживаются, шифр DES удален, HMAC-MD5 заменен на HMAC-RIPEMD-160. Последующая ревизия 1.0a выпущенная следом 3 февраля 2004 год уже не поддерживала Windows 98/ME, так как автор драйвера под Windows 9x для E4M заявил, что он не давал разрешения на использование его кода в иных проектах, кроме E4M. Замечание: Авторы Scramdisk и E4M обменивались своими кодами (автор Scramdisk обеспечивал разработку драйвера под Windows 9x, а автор E4M отвечал за разработку драйвера под Windows NT, который позволил появиться на свет Scramdisk NT как Shareware-продукту).

7 июня 2004 года была выпущена версия TrueCrypt 2.0. Вероятно, потому, что над программой работали уже разные группы (авторы), подпись создателей была изменена на TrueCrypt Foundation. Предыдущие версии подписывались создателями как TrueCrypt Team. Версия была выпущена под лицензией GNU General Public License. Из новых возможностей был добавлен алгоритм шифрования AES (Rijndael). Несколько недель спустя 21 июня 2004а вышла версия TrueCrypt 2.1, но на этот раз под оригинальной лицензией E4M «во избежание потенциальных проблем, связанных с лицензией GPL». Также был добавлен алгоритм хеширования RIPEMD-160.

1 октября 2004 года вышла версия TrueCrypt 2.1a на ресурсе SourceForge.net, и truecrypt.sourceforge.net стал официальным сайтом TrueCrypt'а. Где-то с начала мая 2005 года официальным сайтом TrueCrypt'а становится снова www.truecrypt.org, а сайт на SourceForge.net уже перенаправляет на официальный. Также был исключен алгоритм шифрования IDEA и удаленна его поддержка для монтирования томов.

10 декабря 2004 года вышла версия TrueCrypt 3.0 были добавлены алгоритмы шифрования Serpent, Twofish плюс каскады шифров (например, AES-Twofish-Serpent, AES-Blowfish и т. Д.).

Следом 11 декабря 2004 года вышла версия TrueCrypt 3.0a были исправлены ошибки с использованием каскада шифров.

22 января 2005 года вышла версия TrueCrypt 3.1.

7 февраля 2005 года вышла версия TrueCrypt 3.1a.

TrueCrypt версии 4.0 был выпущен 1 ноября 2005 года. Была добавлена поддержка Linux, x86-64, Big Endian machines, ключевых файлов (двухфакторная аутентификация), хеш-алгоритм Whirlpool, языковые модули и многое другое.

TrueCrypt версии 4.1 увидел свет 25 ноября 2005 года. Был добавлен новый режим работы LRW, обеспечивавший более безопасный режим шифрования «на лету», нежели режим CBC. Объемы, созданные этой версией TrueCrypt, могут быть зашифрованы только в режиме LRW. Однако тома, созданные предыдущими версиями TrueCrypt, все еще могут быть установлены этой версией TrueCrypt.

TrueCrypt версии 4.2 вышел 17 апреля 2006 года. В этой версии были добавлены различные возможности для работы под Linux, возможность создавать тома, изменять пароли и ключевые файлы, генерировать ключевые файлы и резервировать/восстанавливать заголовки томов. В версии для Windows NT появилась поддержка динамических томов.

TrueCrypt версии 4.2a вышел 3 июля 2006 года. Теперь можно получить доступ к томам TrueCrypt, смонтированным в удаленном сеансе под Windows 2000.

TrueCrypt версии 4.3 вышел 19 марта 2007 года. В этой версии появилась поддержка 32 и 64-разрядных версий Windows Vista и некоторые другие улучшения (например, горячая клавиша для затирания кэша), поддержка контроля учетных записей пользователей (UAC), возможность записи данных в файлы, размещенные на устройствах с размером сектора, отличным от 512 байт (например, новые жесткие диски, DVD-RAM, некоторые MP3-плееры и USB-флеш-накопители и т. Д.), поддержка устройств с таблицей разделов GPT (разделы GUID). (Windows Vista / 2003 / XP), максимально допустимый размер томов FAT32 увеличился до 2 ТБ (обратите внимание, что объемы NTFS могут превышать 2 ТБ), а также были исправлены ошибки. В данной версии удалена возможность создания зашифрованных разделов с алгоритмами, имеющими размер блока 64 бита (Blowfish CAST-128, Triple DES), однако осталась возможность монтирования с уже созданными разделами и томами (в версии 5 такой возможности может не быть).

TrueCrypt — 4.3a вышла 3 мая 2007 года. В Windows Vista теперь можно читать данные из томов TrueCrypt с файлами, размещенных на носителях в формате UDF, смонтированных в режиме только для чтения.

TrueCrypt версии 5.0 вышел 5 февраля 2008 года. Наиболее важные новшества:

  • возможность шифрования системного раздела/диска Microsoft Windows;
  • графический пользовательский интерфейс для версии TrueCrypt для Linux;
  • мастер создания тома TrueCrypt теперь позволяет создавать скрытые тома в томах NTFS. (Windows Vista / XP / 2003/2008).

Начиная с этой версии TrueCrypt использует режим XTS вместо LRW, новые тома, созданные этой версией TrueCrypt, могут быть зашифрованы только в режиме XTS. Однако тома, созданные предыдущими версиями TrueCrypt, могут быть смонтированы с использованием этой версии TrueCrypt. Хэш-алгоритм SHA-512 заменен на SHA-1, который больше не доступен при создании новых томов. (Чтобы повторно зашифровать заголовок существующего тома с помощью ключа заголовка, полученного с использованием HMAC-SHA-512 (PRF), выберите «Объемы»> «Установить алгоритм определения ключа заголовка».)

TrueCrypt версии 5.0a вышел 12 февраля 2008 года. В Windows теперь доступ к установленным томам TrueCrypt возможен через сеть.

В версии TrueCrypt 5.1 от 10 марта 2008 года включена поддержка спящего режима при шифровании системного диска под Microsoft Windows, возможность монтировать раздел, который находится в пределах ключевой области системного шифрования без предварительной загрузки (например, раздел, расположенный на зашифрованном системном диске другой операционной системы, которая не запущена). (Windows Vista/XP/2008/2003), параметры командной строки для создания новых томов. (Linux и Mac OS X), также используется реализация алгоритма AES на языке Ассемблер, что обеспечивает большее быстродействие по сравнению с реализацией на C.

В версии TrueCrypt 5.1а от 17 марта 2008 года была исправлена критическая уязвимость, найденная в TrueCrypt 5.1[6]. На компьютерах с определенными аппаратными конфигурациями возобновление спящего режима завершилось неудачей, когда системный раздел был зашифрован. Примечание. Если вы столкнулись с этой проблемой, содержимое ОЗУ могло быть сохранено в незашифрованном виде в файле спящего режима. Вы можете стереть такие данные, например, путем дешифрования системного раздела/диска (выберите «Система»> «Постоянно расшифровать системный раздел/диск»), а затем снова зашифруйте его. (Windows Vista/XP/2008/2003). (Примечание. Поскольку Microsoft не предоставляет API для работы в спящем режиме, разработчики программного обеспечения для шифрования диска, не принадлежащие Microsoft, вынуждены изменять недокументированные компоненты Windows, чтобы пользователи могли шифровать файлы спящего режима. Поэтому никакое программное обеспечение для шифрования диска (кроме Microsoft BitLocker) не может гарантировать, что файлы гибернации всегда будут зашифрованы. В любое время Microsoft может произвольно изменять компоненты Windows (используя функцию автоматического обновления Windows), которые не публиковались или не публиковались через открытый API. Любые такие изменения или использование нетипичного или пользовательского драйвера устройства хранения могут привести к тому, что любое программное обеспечение для шифрования диска Microsoft не сможет зашифровать файл гибернации. Мы планируем подать жалобу в Microsoft (и, если ее отклонили, с Европейской комиссией) по этому вопросу, [Обновление 2 апреля 2008 года: Хотя мы еще не подали жалобы в Microsoft, с нами связались (27 марта) Скоттом Филдом, ведущим архитектором в отделе операционной системы Windows Client в Microsoft, который заявил, что хотел бы изучить наши требования и посмотреть возможные решения. Мы ответили 31 марта, в котором подробно изложены вопросы и предлагаемые решения.] [Обновление 10 мая 2009 года: С апреля 2008 года мы работаем с Microsoft, чтобы изучить возможные пути решения этой проблемы. У нас есть частный доступ к черновиковой версии документа с указанием будущего API, который должен позволить нам решить проблему в Windows Vista и более поздних версиях Windows. Примечание. Нам было предложено не раскрывать содержание документа третьим лицам, поэтому, пожалуйста, не просите нас отправить вам копию документа.] [Обновление 19 июля 2010 года: Microsoft начала предоставлять общедоступный API для шифрования файлов гибернации в Windows Vista и более поздних версиях Windows. Начиная с версии 7.0, TrueCrypt используе этот API и, следовательно, смог безопасно шифровать файлы гибернации под Windows Vista и более поздними версиями Windows. Поэтому, если вы используете Windows XP/2003 и хотите, чтобы файл спящего режима был безопасно зашифрован, мы настоятельно рекомендуем вам перейти на Windows Vista или более позднюю версию и на TrueCrypt 7.0 или новее.]

Версия TrueCrypt 6.0 вышла 4 июля 2008 года. Появилась поддержка параллельного шифрования/дешифрования, что повышает производительность при запуске на многоядерных и многопроцессорных системах. Новый формат тома, который повышает надежность, производительность и расширяемость: каждый том, созданный этими или более поздними версиями TrueCrypt, будет содержать встроенный заголовок резервной копии (расположенный в конце тома). Примечание. Объемы, созданные предыдущими версиями TrueCrypt, могут быть установлены с использованием этой версии TrueCrypt, возможность создавать скрытые разделы при работе в ОС на основе Linux и Mac OS, а также создавать и работать со скрытыми операционными системами, существование которых невозможно доказать. Зашифрованные системные разделы/диски больше не могут быть окончательно дешифрованы с помощью загрузчика TrueCrypt (однако это все еще возможно с помощью TrueCrypt Rescue Disk). (Windows Vista/XP/2008/2003).

Версия TrueCrypt 6.0a вышла 8 июля 2008 года.

Версия TrueCrypt 6.1 вышла 31 октября 2008 года. Возможность шифрования несистемного раздела без потери существующих данных в разделе. (Windows Vista/2008), поддержка токенов безопасности и смарт-карт.

Версия TrueCrypt 6.1a вышла 1 декабря 2008 года. Изменения: исправлены мелкие ошибки, незначительные улучшения безопасности. (Windows, Mac OS X и Linux).

Версия TrueCrypt 6.2 вышла 11 мая 2009 года. Изменения: добавлена буферизация упреждающего чтения, которая улучшает скорость чтения, особенно при использовании SSD-дисков, обычно на 30-50 % (Windows).

Версия 6.2a вышла 15 июня 2009 года. Версия исправляет обнаруженные ошибки.

Версия 6.3 вышла 21 октября 2009 года. Полная поддержка Windows 7 и Mac OS X 10.6 Snow Leopard. «Любимые» тома, находящиеся внутри разделов или динамических томов, больше не будут затронуты изменениями номеров дисковых устройств, которые могут возникнуть, например, когда диск удален или добавлен. Примечание. Если вы используете любимый список томов, сохраненный TrueCrypt 6.2a или ранее, и вы хотите воспользоваться этим улучшением, вам необходимо сохранить список с помощью TrueCrypt 6.3. (Windows).

Версия 6.3a вышла 23 ноября 2009 года. Версия исправляет обнаруженные ошибки.

Версия 7.0 вышла 19 июля 2010 года. Изменения: Аппаратное ускорение алгоритма AES, возможность автоматического монтирования томов на присоединённых устройствах, поддержка томов с размером сектора 1024, 2048 или 4096 байт, органайзер томов, использование API Microsoft для шифрования файлов подкачки - В ответ на нашу публичную жалобу относительно отсутствующего API для шифрования файлов спящего режима Windows Microsoft начала предоставлять общедоступный API для шифрования файлов гибернации в Windows Vista и более поздних версиях Windows (для получения дополнительной информации см. раздел TrueCrypt 5.1a в этой истории версий). Начиная с этой версии 7.0, TrueCrypt использует этот API для безопасного шифрования файлов спящего режима и аварийного дампа. (Windows 7/Vista/2008/2008R2) Примечание. Поскольку Windows XP и Windows 2003 не предоставляют API для шифрования файлов спящего режима, TrueCrypt должен изменять недокументированные компоненты Windows XP/2003, чтобы пользователи могли шифровать файлы спящего режима. Поэтому TrueCrypt не может гарантировать, что файлы спящего режима Windows XP/2003 всегда будут зашифрованы. Поэтому, если вы используете Windows XP/2003 и хотите, чтобы файл спящего режима был безопасно зашифрован, мы настоятельно рекомендуем вам перейти на Windows Vista или более позднюю версию и на TrueCrypt 7.0 или новее.

Версия 7.0a вышла 6 сентября 2010 года.

Версия 7.1 вышла 1 сентября 2011 года. Изменения: полная совместимость с 32-битной и 64-битной Mac OS X 10.7 Lion.

Версия 7.1а вышла 7 февраля 2012 года.

Версия 7.2 вышла 28 мая 2014 года. Нет официального списка изменений. Финальный релиз, возможно только дешифрование, возможность шифрования данных была удалена. Были добавлены предупреждения о том, что TrueCrypt небезопасен. Сайт и программа настоятельно рекомендуют переходить на BitLocker. Вероятные причины — взлом или воздействие на разработчиков. Предыдущие версии являются рабочими и нескомпрометированными. Переход на BitLocker считается бесполезным ввиду его закрытого исходного кода. Кроме того, BitLocker существует только в «старших» SKU операционной системы Windows — Enterprise/Ultimate, что означает невозможность его использования на большинстве ноутбуков с инсталляцией Windows Professional от производителя. Поскольку авторы TrueCrypt'а всегда высмеивали безопасность Bitlocker, то такой совет многие восприняли как свидетельство канарейки, то есть, намёк на неискренность собственных слов и попытку сказать нечто важное через молчание.

Более точную информацию см. на официальной странице истории версий[7] TrueCrypt'а.

Аудит[править | править код]

В 2013 году начался сбор средств[8] для проведения независимого аудита TrueCrypt'а, толчком к которому послужила в том числе полученная от бывшего сотрудника АНБ Сноудена информация о намеренном ослаблении спецслужбами средств шифрования. Планировалось, что в ходе проверки будет проведён анализ совместимости лицензии TrueCrypt'а с другими открытыми лицензиями, будет произведён криптографический анализ и будет разработана технология, позволяющая делать компиляцию исходного кода программы с одинаковым результатом на разных компьютерах[9][10].

На аудит было собрано свыше 60 000 долларов. 14 апреля 2014 года завершился первый этап проверки, критических ошибок обнаружено не было[11][12].

К началу апреля 2015 года аудит был завершён. Он не выявил никаких уязвимостей или серьёзных недостатков в архитектуре приложения и показал, что TrueCrypt является хорошо спроектированной криптографической программой, хоть и не идеальной[13][14][15].

После прекращения разработки TrueCrypt'а на основе его исходных кодов появилось несколько форков, среди которых стоит отметить проект VeraCrypt, созданный ещё до закрытия TrueCrypt'а с целью усиления методов защиты ключей шифрования (заменой алгоритма RIPEMD-160 на SHA-512 и SHA-256) и CipherShed (в котором авторы попытались учесть замечания, выявленные в процессе аудита TrueCrypt'а)[16].

Примечания[править | править код]

Ссылки[править | править код]