VeraCrypt

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
VeraCrypt
VeraCrypt Logo.svg
VeraCrypt screenshot.png
VeraCrypt 1.17 у Windows 10
Тип On-the-fly encryption software[d]
Розробник IDRIX
Перший випуск 22 червня 2013; 2003 дні тому
Стабільний випуск 1.19 (17 жовтня 2016; 790 днів тому)
Репозиторій www.veracrypt.fr/code/VeraCrypt/
Операційна система Cross-platform — Windows, Mac OS, Linux
GNU фреймворк WxWidgets
Написано на C, C++, Assembly
Доступні мови перекладено 37 мовами[1]
Українська частково
Стан розробки активна[2]
Ліцензія Apache License 2.0
veracrypt.codeplex.com

VeraCrypt у Вікісховищі?

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

Схема шифрування[ред. | ред. код]

Алгоритми[ред. | ред. код]

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

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

Режими шифрування[ред. | ред. код]

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

Ключі[ред. | ред. код]

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

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

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

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

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

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

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

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

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

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

Продуктивність[ред. | ред. код]

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

Потенційні проблеми з безпекою[ред. | ред. код]

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

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

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

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

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

Фізична безпека[ред. | ред. код]

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

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

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

Trusted Platform Module[ред. | ред. код]

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

Аудит[ред. | ред. код]

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

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

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

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

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

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

Заплановані можливості[ред. | ред. код]

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

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]

  1. VeraCrypt 1.16 Bundle перекладено 37 мовами
  2. github.com/veracrypt/VeraCrypt
  3. http://habrahabr.ru/sandbox/94379/ Может ли VeraCrypt стать следующим TrueCrypt?
  4. Encryption Algorithms. VeraCrypt Documentation. IDRIX. 2015-01-04. Процитовано 2015-01-04. 
  5. Hash Algorithms. VeraCrypt Documentation. IDRIX. Процитовано 2015-01-04. 
  6. Header Key Derivation, Salt, and Iteration Count. VeraCrypt Documentation. IDRIX. 2015-01-04. Процитовано 2015-01-04. 
  7. Paul Rubens.
  8. «VeraCrypt Release Notes»
  9. Castle, Alex (March, 2015).
  10. Plausible Deniability. VeraCrypt Documentation. IDRIX. 2015-01-04. Процитовано 2015-01-04. 
  11. Hidden Volume. VeraCrypt Documentation. IDRIX. Процитовано 2015-01-04. 
  12. Hidden Operating System. VeraCrypt Documentation. IDRIX. 2014-01-04. Процитовано 2015-01-04. 
  13. а б Security Requirements and Precautions Pertaining to Hidden Volumes. VeraCrypt Documentation. IDRIX. 2015-01-04. Процитовано 2015-01-04. 
  14. а б VeraCrypt User Guide
  15. Security Requirements and Precautions. VeraCrypt Documentation. IDRIX. Процитовано February 16, 2015. 
  16. Alex Halderman et al.
  17. VeraCrypt Documentation.
  18. VeraCrypt Documentation.
  19. VeraCrypt FAQ  (англ.
  20. Idrassi, Mounir (December 31, 2014). Security audit. Процитовано February 22, 2015. 
  21. The VeraCrypt Audit Results, October 17, 2016
  22. VeraCrypt 1.18 Security Assessment, Technical Report
  23. Apache License 2.0 (Apache). Процитовано 2015-07-01. 
  24. Microsoft Public License (Ms-PL). Процитовано 2015-07-01. 
  25. см.
  26. Issues. Процитовано 2015-01-04. 

Посилання[ред. | ред. код]