Очікує на перевірку

VeraCrypt

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
VeraCrypt
VeraCrypt 1.17 у Windows 10
Типпрограмне забезпечення для шифрування диска
РозробникIDRIX
Перший випуск22 червня 2013; 11 років тому (2013-06-22)
Стабільний випуск1.19 (17 жовтня 2016; 8 років тому (2016-10-17))
Операційна системаCross-platform — Windows, Mac OS, Linux
GNU фреймворкwxWidgets
Мова програмуванняC, C++, Assembly
Доступні мовиперекладено 37 мовами[1]
Українська мовачастково
Стан розробкиактивна[2]
ЛіцензіяTrueCrypt License version 3.0 + Apache License 2.0[3]
Репозиторійwww.veracrypt.fr/code/VeraCrypt/
Вебсайтveracrypt.fr

VeraCrypt — вільне, багатоплатформне програмне забезпечення, що використовується для миттєвого шифрування дисків та файлів. VeraCrypt започатковано 22 червня 2013 як форк програми TrueCrypt. Оприлюднена та підтримується французом Mounir Idrassi, засновником компанії IDRIX, і після того, як 28 травня 2014 було оголошено про припинення підтримки програми TrueCrypt, набирає популярність, як повноцінна заміна останнього[4].

Схема шифрування

[ред. | ред. код]

Алгоритми

[ред. | ред. код]

VeraCrypt може використовувати наступні алгоритми шифрування: AES, Serpent, та Twofish. Додатково доступні 5 комбінацій цих алгоритмів: AES-Twofish, AES-Twofish-Serpent, Serpent-AES, Serpent-Twofish-AES і Twofish-Serpent[5].

Втілені криптографічні хеш-функції: RIPEMD-160, SHA-256, SHA-512 та Whirlpool[6].

Режими шифрування

[ред. | ред. код]

VeraCrypt використовує режим шифрування XTS(англ.)

Ключі

[ред. | ред. код]

Ключ заголовка і вторинний ключ заголовка для режиму XTS генеруються за допомогою алгоритму PBKDF2 з використанням 512-бітної криптографічної солі, число ітерацій становить від 327,661 до 655,331, залежно від використовуваної хеш-функції[7].

Удосконалення в порівнянні з TrueCrypt

[ред. | ред. код]

За твердженнями розробників для VeraCrypt реалізовано ряд удосконалень в області безпеки в порівнянні з TrueCrypt.

В той час як TrueCrypt використовує 1000 ітерацій при генеруванні ключа, яким шифрується системний розділ при використанні алгоритму PBKDF2-RIPEMD-160, VeraCrypt використовує 327,661 ітерацій. Для стандартних розділів на диску, що шифруються, та файлових контейнерів, VeraCrypt використовує 655,331 ітерацій для хеш-функції RIPEMD-160 і 500,000 ітерацій для SHA-2 та Whirlpool. Це істотно уповільнює VeraCrypt при монтуванні зашифрованих розділів диска, але робить його не менше ніж в 10 (і не більше ніж в 300) раз більш стійким до атаки повним перебором[8].

Виправлена вразливість початкового завантажувача для Windows. Для режиму завантаження з зашифрованого розділу додано підтримку алгоритму SHA-256 і виправлено проблеми з вразливістю ShellExecute для Windows.

Для Linux і Mac OS X додано підтримку дисків з сектором більшим, ніж 512 байт. Для Linux реалізовано підтримку розділів, відформатованих під NTFS.

Вказані удосконалення привели до несумісності з форматом розділів TrueCrypt. Розробники VeraCrypt визнали старий формат TrueCrypt надто вразливим до потенційної атаки АНБ і відмовились від нього. Це є одним з головних відмінностей між VeraCrypt і конкуруючим проектом-форком TrueCrypt — CipherShed, який продовжує підтримувати старий формат. Починаючи з версії 1.0f, VeraCrypt може відкривати і конвертувати в свій формат розділи, відформатовані в форматі TrueCrypt але не може створювати нові розділи в цьому форматі[9][10].

Правдоподібне заперечення наявності зашифрованих даних

[ред. | ред. код]

VeraCrypt, так само як і TrueCrypt, підтримує можливість використовувати заперечне шифрування[11], дозволяючи створити всередині зашифрованого тому ще один, «прихований том»[12]. Додатково, версія VeraCrypt для Windows дозволяє створювати і виконувати прихований екземпляр операційної системи Windows, наявність якого так само можна правдоподібно заперечувати[13].

В документації VeraCrypt перелічені способи, якими можна скомпрометувати цей спосіб шифрування (наприклад витік даних через тимчасові файли на незашифрованому диску) і можливі способи боротьби з цією проблемою[14].

Продуктивність

[ред. | ред. код]

VeraCrypt підтримує паралельну роботу на багатопроцесорних і багатоядерних системах[15]. VeraCrypt вміє використовувати апаратне прискорення шифрування, доступне на процесорах, що реалізують набір інструкцій AES-NI[15].

Потенційні проблеми з безпекою

[ред. | ред. код]

Станом на серпень 2015, не опубліковані відомості про явні вразливості VeraCrypt.

VeraCrypt схильний до ряду потенційних атак, до яких чутливе і інше програмне забезпечення шифрування дисків, наприклад BitLocker. Для пом'якшення цієї небезпеки, розробники VeraCrypt дали користувачам ряд профілактичних рекомендацій[14][16].

Деякі з цих проблем перелічено нижче.

Ключі шифрування, які зберігаються в оперативній пам'яті

[ред. | ред. код]

VeraCrypt зберігає ключі в оперативній пам'яті у відкритому вигляді. Теоретично, зловмисник може отримати доступ до її вмісту за допомогою так званої атаки методом холодного перезавантаження — при якій зловмисник отримує фізичний доступ до вмісту модулів оперативної пам'яті комп'ютера після його виключення і за допомогою спеціального програмного забезпечення або обладнання відновлює їх старий вміст. Подібна атака була успішно застосована до розділів диску, зашифрованих за допомогою TrueCrypt[17].

Фізична безпека

[ред. | ред. код]

VeraCrypt не забезпечує безпеки даних на комп'ютері, до якого зловмисник має фізичний доступ, як правило, таємний, в процесі роботи з зашифрованими даними. Ця вразливість відноситься не у випадку втрачених, конфіскованих або викрадених комп'ютерів, а у випадку, коли зловмисники мають можливість встановити на комп'ютер той чи інший вид троянського апаратного забезпечення — апаратний Keylogger, bus-master пристрій, що володіє прямим доступом до оперативної пам'яті або якийсь інший пристрій, призначений для рішення подібних задач[18].

VeraCrypt не забезпечує безпеку даних на комп'ютері з встановленим malware. Багато шкідливих програм цього типу містять в собі keylogger та можуть, зокрема, зчитувати паролі, що вводяться з клавіатури, і передавати їх зловмисникам[19].

Trusted Platform Module

[ред. | ред. код]

VeraCrypt не підтримує взаємодію з TPM, так як, на думку розробників, TPM не повинен використовуватись для вирішення задач інформаційної безпеки[20], оскільки TPM не забезпечує ніякого захисту комп'ютера від зловмисника, який отримав фізичний доступ до комп'ютера і, наприклад, встановив апаратний keylogger.

Аудит

[ред. | ред. код]

Незалежний аудит коду VeraCrypt весною 2015 був на стадії планування. Обговорювався його початок в липні 2015[21].

VeraCrypt спирається на вихідний код TrueCrypt, який успішно, хоч і з деякими зауваженнями, пройшов незалежний аудит коду.

17 жовтня 2016 фонд OSTIF (Open Source Technology Improvement Fund) оприлюднив[22] аудит кодової бази VeraCrypt версії 1.18, в котрому відзначив ряд недоліків та вразливостей, серед них 8 критичних[23]. Більшість з описаних в звіті недоліків було виправлено в VeraCrypt 1.19.

Модель ліцензування та розповсюдження текстів програми

[ред. | ред. код]

З 28 червня 2015 року VeraCrypt ліцензовано під відкритою Apache License 2.0[24]. До цього він був опублікований під Microsoft Public License[25].

Оскільки VeraCrypt базується на коді TrueCrypt, на нього також розповсюджуються умови ліцензії 3.0 TrueCrypt[26], яка багатьма джерелами не вважається вільною.

Заплановані можливості

[ред. | ред. код]

В планах розробників — забезпечити можливість шифрування дискових розділів, відформатованих в форматі GPT[27].

Див. також

[ред. | ред. код]

Примітки

[ред. | ред. код]
  1. VeraCrypt 1.16 Bundle перекладено 37 мовами[недоступне посилання]
  2. github.com/veracrypt/VeraCrypt. Архів оригіналу за 4 серпня 2017. Процитовано 1 січня 2016.
  3. Архівована копія. Архів оригіналу за 22 березня 2022. Процитовано 22 березня 2022.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  4. http://habrahabr.ru/sandbox/94379/ [Архівовано 22 грудня 2015 у Wayback Machine.] Может ли VeraCrypt стать следующим TrueCrypt?
  5. Encryption Algorithms. VeraCrypt Documentation. IDRIX. 4 січня 2015. Архів оригіналу за 5 січня 2015. Процитовано 4 січня 2015.
  6. Hash Algorithms. VeraCrypt Documentation. IDRIX. Архів оригіналу за 5 січня 2015. Процитовано 4 січня 2015.
  7. Header Key Derivation, Salt, and Iteration Count. VeraCrypt Documentation. IDRIX. 4 січня 2015. Архів оригіналу за 5 січня 2015. Процитовано 4 січня 2015.
  8. Paul Rubens. Архів оригіналу за 4 січня 2018. Процитовано 16 грудня 2015.
  9. «VeraCrypt Release Notes». Архів оригіналу за 26 жовтня 2015. Процитовано 16 грудня 2015.
  10. Castle, Alex (March, 2015).
  11. Plausible Deniability. VeraCrypt Documentation. IDRIX. 4 січня 2015. Архів оригіналу за 11 січня 2016. Процитовано 4 січня 2015.
  12. Hidden Volume. VeraCrypt Documentation. IDRIX. Архів оригіналу за 22 грудня 2015. Процитовано 4 січня 2015.
  13. Hidden Operating System. VeraCrypt Documentation. IDRIX. 4 січня 2014. Архів оригіналу за 22 грудня 2015. Процитовано 4 січня 2015.
  14. а б Security Requirements and Precautions Pertaining to Hidden Volumes. VeraCrypt Documentation. IDRIX. 4 січня 2015. Архів оригіналу за 22 грудня 2015. Процитовано 4 січня 2015.
  15. а б VeraCrypt User Guide. Архів оригіналу за 16 грудня 2015. Процитовано 16 грудня 2015.
  16. Security Requirements and Precautions. VeraCrypt Documentation. IDRIX. Архів оригіналу за 5 січня 2015. Процитовано 16 лютого 2015.
  17. Alex Halderman et al. Архів оригіналу за 7 червня 2011. Процитовано 16 грудня 2015.
  18. VeraCrypt Documentation. Архів оригіналу за 22 грудня 2015. Процитовано 16 грудня 2015.
  19. VeraCrypt Documentation. Архів оригіналу за 30 березня 2021. Процитовано 16 грудня 2015.
  20. VeraCrypt FAQ [Архівовано 16 грудня 2015 у Wayback Machine.] (англ.)
  21. Idrassi, Mounir (31 грудня 2014). Security audit. Архів оригіналу за 5 серпня 2015. Процитовано 22 лютого 2015.
  22. The VeraCrypt Audit Results, October 17, 2016. Архів оригіналу за 20 березня 2018. Процитовано 17 жовтня 2016.
  23. VeraCrypt 1.18 Security Assessment, Technical Report (PDF). Архів оригіналу (PDF) за 17 жовтня 2016. Процитовано 17 жовтня 2016.
  24. Apache License 2.0 (Apache). Архів оригіналу за 9 липня 2015. Процитовано 1 липня 2015.
  25. Microsoft Public License (Ms-PL). Архів оригіналу за 5 лютого 2016. Процитовано 1 липня 2015.
  26. см. Архів оригіналу за 30 травня 2012. Процитовано 16 грудня 2015.
  27. Issues. Архів оригіналу за 22 грудня 2015. Процитовано 4 січня 2015.

Посилання

[ред. | ред. код]