TrueCrypt

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
TrueCrypt
Логотип программы TrueCrypt
Скриншот программы TrueCrypt
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 v3.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 можно создавать зашифрованный виртуальный диск:

  • в файле-контейнере, что позволяет легко работать с ним — переносить, копировать (в том числе на внешние устройства как любой другой обычный файл), переименовывать или удалять;
  • в виде зашифрованного раздела диска, что делает работу более производительной и удобной, в версии 5.0 появилась возможность шифровать системный раздел;
  • путём полного шифрования содержимого устройства, такого как флеш-накопитель 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 — обеспечение двух уровней правдоподобного отрицания наличия зашифрованных данных, необходимого в случае вынужденного открытия пароля пользователем:

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

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

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

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

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

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

Первая версия TrueCrypt поддерживала Windows 98/ME и Windows 2000/XP. Однако были удалены следующие функции: тома E4M и SFS больше не поддерживались, шифр DES удалён, HMAC-MD5 заменён на HMAC-RIPEMD-160.

TrueCrypt 1.0a — 3 февраля 2004 года. Прекращена поддержка Windows 98/ME, так как автор драйвера под Windows 9x для E4M заявил, что он не давал разрешения на использование его кода в иных проектах, кроме E4M. Авторы Scramdisk и E4M обменивались своими кодами (автор Scramdisk обеспечивал разработку драйвера под Windows 9x, а автор E4M отвечал за разработку драйвера под Windows NT, который позволил появиться на свет Scramdisk NT как shareware-продукту).

TrueCrypt 2.0 — 7 июня 2004 года. Вероятно, потому, что над программой работали уже разные группы (авторы), подпись создателей была изменена на TrueCrypt Foundation. Предыдущие версии подписывались создателями как TrueCrypt Team. Версия 2.0 была выпущена под лицензией GNU General Public License. Из новых возможностей был добавлен алгоритм шифрования AES (Rijndael).

TrueCrypt 2.1 — 21 июня 2004 года. Эта версия вышла под оригинальной лицензией E4M «во избежание потенциальных проблем, связанных с лицензией GPL». Кроме того, добавлен алгоритм хеширования RIPEMD-160.

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

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

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

TrueCrypt 3.1 — 22 января 2005 года.

TrueCrypt 3.1a — 7 февраля 2005 года.

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

TrueCrypt 4.1 — 25 ноября 2005 года. Добавлен новый режим работы LRW, обеспечивавший более безопасный режим шифрования «на лету», нежели CBC. Тома, создаваемые этой версией TrueCrypt, могут быть зашифрованы только в режиме LRW. Однако тома, созданные предыдущими версиями 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 года.

Наиболее важные новшества:

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

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

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

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

TrueCrypt 5.1а — 17 марта 2008 года. Исправлена критическая уязвимость, найденная в TrueCrypt 5.1[6]. На компьютерах с определёнными аппаратными конфигурациями выход из спящего режима завершался неудачей, когда системный раздел был зашифрован.

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).

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

TrueCrypt 6.3 — 21 октября 2009 года. Полная поддержка Windows 7 и Mac OS X 10.6 Snow Leopard. Избранные тома, находящиеся внутри разделов или динамических томов, больше не будут затронуты изменениями номеров дисковых устройств, которые могут возникнуть, например, при удалении или добавлении диска.

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

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

TrueCrypt 7.0a — 6 сентября 2010 года.

TrueCrypt 7.1 — 1 сентября 2011 года. Полная совместимость с 32- и 64-разрядной операционной системой Mac OS X 10.7 Lion.

TrueCrypt 7.1а — 7 февраля 2012 года.

TrueCrypt 7.2 — 28 мая 2014 года. Официального списка изменений нет. Это последняя версия, она поддерживает только дешифрование данных, возможность шифрования удалена. Добавлены предупреждения о том, что TrueCrypt небезопасен. Сайт и программа настоятельно рекомендуют переходить на BitLocker. Вероятные причины — взлом или давление на разработчиков. Предыдущие версии — по-прежнему рабочие и нескомпрометированные. Переход на BitLocker считается менее безопасным ввиду его закрытого исходного кода. Поскольку авторы TrueCrypt всегда высмеивали безопасность BitLocker, такой совет многие восприняли как свидетельство канарейки, то есть намёк на неискренность собственных слов и попытку сказать нечто важное через молчание[8].

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

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

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

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

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

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

В июле 2015 года компания ESET опубликовала отчёт, в соответствии с которым русскоязычная версия TrueCrypt 7.1a, загруженная с truecryptrussia.ru, содержала вредоносную программу, а сам сайт использовался как командный центр, из которого отправлялись команды зараженным компьютерам[18][19][20].

В сентябре 2015 года были обнаружены две критические уязвимости (CVE-2015-7358[21], CVE-2015-7359[22]), позволяющие получить права администратора и доступ к зашифрованным данным[23].

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

  1. TrueCrypt Free Open Source Encryption Software — C and C++ Programming Resources. Дата обращения: 12 мая 2009. Архивировано 28 мая 2009 года.
  2. Invalid URL. Truecrypt.org. Дата обращения: 1 июня 2014.  (недоступная ссылка)
  3. Forbidden items — FedoraProject. Дата обращения: 2 декабря 2008. Архивировано 19 ноября 2008 года.
  4. TrueCrypt licensing concern. Дата обращения: 2 декабря 2008. Архивировано 6 декабря 2008 года.
  5. Gentoo Bug 241650 — truecrypt has a dangerous license. Дата обращения: 2 декабря 2008. Архивировано 7 января 2011 года.
  6. openPGP в России / Новости / 2008 / Критическая уязвимость в TrueCrypt 5.1. Дата обращения: 4 апреля 2008. Архивировано 11 мая 2008 года.
  7. Домашний ПК. --2010. — № 9. — С. 57.
  8. "TrueCrypt — скандалы, интриги, расследования [+ альтернативы TrueCrypt]". Информационный блог "Bloginfo". 2014-07-05. Архивировано из оригинала 4 июля 2018. Дата обращения: 4 июля 2018.
  9. Open Crypto Audit Project. Дата обращения: 7 апреля 2015. Архивировано 31 мая 2014 года.
  10. IsTrueCryptAuditedYet? In part! Дата обращения: 22 октября 2013. Архивировано 15 февраля 2021 года.
  11. "Интрига TrueCrypt: выдержит ли легендарный криптоинструмент проверку?". Комьютерра. Архивировано из оригинала 23 октября 2013. Дата обращения: 22 октября 2013.
  12. "Закончился первый этап аудита безопасности TrueCrypt — критических багов не обнаружено". Хабрахабр. Архивировано из оригинала 16 апреля 2014. Дата обращения: 16 апреля 2014.
  13. Open Crypto Audit Project TrueCrypt Security Assessment (англ.). Дата обращения: 16 апреля 2014. Архивировано 21 сентября 2015 года.
  14. Matthew Green. Truecrypt report. A Few Thoughts on Cryptographic Engineering (2 апреля 2015). Дата обращения: 2 апреля 2015. Архивировано 5 апреля 2015 года.
  15. Завершен аудит кода TrueCrypt / Хабрахабр. Дата обращения: 4 апреля 2015. Архивировано 4 апреля 2015 года.
  16. Завершен аудит TrueCrypt: Бэкдоров и ошибок архитектуры не обнаружено. Дата обращения: 5 апреля 2015. Архивировано из оригинала 11 апреля 2015 года.
  17. "Выпуск VeraCrypt 1.0f-2, форка TrueCrypt". OpenNET. 2015-04-08. Архивировано из оригинала 15 июля 2015. Дата обращения: 14 июля 2015.
  18. Robert Lipovsky; Anton Cherepanov.: Operation Potao Express: Analysis of a cyber‑espionage toolkit (англ.). WeLiveSecurity. ESET (30 июля 2015). Дата обращения: 26 марта 2021. Архивировано 28 февраля 2021 года.
  19. Robert Lipovsky; Anton Cherepanov.: Operation Potato Express. Analysis of a cyber-espionage toolkit (англ.). WeLiveSecurity. ESET (30 июля 2015). Дата обращения: 26 марта 2021. Архивировано 25 февраля 2021 года.
  20. Анатолий Ализар. В Рунете три года распространяли TrueCrypt с бекдором. Хакер (3 августа 2015). Дата обращения: 26 марта 2021.
  21. Truecrypt 7 Derived Code/Windows: Drive Letter Symbolic Link Creation EoP Архивная копия от 3 октября 2018 на Wayback Machine (англ.)
  22. Truecrypt 7 Derived Code/Windows: Incorrect Impersonation Token Handling EoP Архивная копия от 3 октября 2018 на Wayback Machine (англ.)
  23. В TrueCrypt обнаружены критические уязвимости. Дата обращения: 3 октября 2018. Архивировано 3 октября 2018 года.

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