Содержание статьи
Существует масса причин зашифровать данные на своем жестком диске, но расплатой за безопасность данных будет снижение скорости работы системы. Цель этой статьи — сравнить производительность при работе с диском, зашифрованным разными средствами.
Чтобы разница была более драматичной, мы выбрали не суперсовременную, а среднестатистическую машину. Обычный механический хард на 500 Гбайт, двухъядерный AMD на 2,2 ГГц, 4 гига оперативки, 64-битная Windows 7 SP 1. Никаких антивирусов и прочих программ во время теста запущено не будет, чтобы ничто не смогло повлиять на результаты.
Для оценки производительности я выбрал CrystalDiskMark. Что до тестируемых средств шифрования, то я остановился на таком списке: BitLocker, TrueCrypt, VeraCrypt, CipherShed, Symantec Endpoint Encryption и CyberSafe Top Secret.
BitLocker
Это стандартное средство шифрования дисков, встроенное в Microsoft Windows. Многие просто используют его, не устанавливая сторонних программ. Действительно, зачем, если все уже есть в системе? С одной стороны, правильно. С другой стороны, код закрыт, и нет уверенности, что в нем не оставили бэкдоров для ФБР и прочих интересующихся.
Шифрование диска осуществляется по алгоритму AES с длиной ключа 128 или 256 бит. Ключ при этом может храниться в Trusted Platform Module, на самом компьютере или на флешке.
Если используется TPM, то при загрузке компьютера ключ может быть получен сразу из него или после аутентификации. Авторизоваться можно при помощи ключа на флешке или введя PIN-код с клавиатуры. Комбинации этих методов дают множество вариантов для ограничения доступа: просто TPM, TPM и USB, TPM и PIN или все три сразу.
У BitLocker есть два неоспоримых преимущества: во-первых, им можно управлять через групповые политики; во-вторых, он шифрует тома, а не физические диски. Это позволяет зашифровать массив из нескольких дисков, чего не умеют делать некоторые другие средства шифрования. Также BitLocker поддерживает GUID Partition Table (GPT), чем не может похвастаться даже наиболее продвинутый форк «Трукрипта» VeraCrypt. Чтобы зашифровать с его помощью системный GPT-диск, придется сначала конвертировать в формат MBR. В случае с BitLocker это не требуется.
В целом, недостаток один — закрытые исходники. Если ты хранишь секреты от домочадцев, BitLocker отлично подойдет. Если же твой диск забит документами государственной важности, лучше подыскать что-то другое.
Можно ли расшифровать BitLocker и TrueCrypt
Если попросить Google, то он найдет интересную программу Elcomsoft Forensic Disk Decryptor, пригодную для расшифровки дисков BitLocker, TrueCrypt и PGP. В рамках этой статьи испытывать ее не стану, но поделюсь впечатлениями о другой утилите от Elcomsoft, а именно Advanced EFS Data Recovery. Она превосходно расшифровывала EFS-папки, но при условии, что пароль пользователя не был задан. Если задать пароль хоть 1234, программа оказывалась бессильной. Во всяком случае, расшифровать зашифрованную EFS-папку, принадлежащую пользователю с паролем 111, у меня не получилось. Думаю, с продуктом Forensic Disk Decryptor ситуация будет такой же.
TrueCrypt
Это легендарная программа шифрования дисков, разработка которой была прекращена в 2012 году. История, которая приключилась с TrueCrypt, до сих пор покрыта мраком, и толком никто не знает, почему разработчик решил отказаться от поддержки своего детища.
Есть лишь крупицы информации, не позволяющие сложить пазл воедино. Так, в 2013 году начался сбор средств для проведения независимого аудита TrueCrypt. Причиной прослужила полученная от Эдварда Сноудена информация о намеренном ослаблении средств шифрования TrueCrypt. На аудит было собрано свыше 60 тысяч долларов. В начале апреля 2015 года работы были завершены, но никаких серьезных ошибок, уязвимостей или других существенных недостатков в архитектуре приложения выявлено не было.
Как только закончился аудит, TrueCrypt снова оказался в центре скандала. Специалисты компании ESET опубликовали отчет о том, что русскоязычная версия TrueCrypt 7.1a, загруженная с сайта truecrypt.ru, содержала малварь. Более того, сам сайт truecrypt.ru использовался как командный центр — с него отправлялись команды инфицированным компьютерам. В общем, будь бдителен и не скачивай программы откуда попало.
К преимуществам TrueCrypt можно отнести открытые исходники, надежность которых теперь подкреплена независимым аудитом, и поддержку динамических томов Windows. Недостатки: программа больше не развивается, и разработчики не успели реализовать поддержку UEFI/GPT. Но если цель — зашифровать один несистемный диск, то это неважно.
В отличие от BitLocker, где поддерживается только AES, в TrueCrypt есть еще Serpent и Twofish. Для генерации ключей шифрования, соли и ключа заголовка программа позволяет выбрать одну из трех хеш-функций: HMAC-RIPEMD-160, HMAC-Whirlpool, HMAC-SHA-512. Однако о TrueCrypt уже много чего было написано, так что не будем повторяться.
VeraCrypt
Наиболее продвинутый клон TrueCrypt. У него собственный формат, хотя есть возможность работы в режиме TrueCrypt, в котором поддерживаются зашифрованные и виртуальные диски в формате «Трукрипта». В отличие от CipherShed, VeraCrypt может быть установлена на один и тот же компьютер одновременно с TrueCrypt.
INFO
Самоустранившись, TrueCrypt оставил богатое наследие: у него множество форков, начиная с VeraCrypt, CipherShed и DiskCryptor.
В TrueCrypt используется 1000 итераций при генерации ключа, которым будет зашифрован системный раздел, а VeraCrypt использует 327 661 итерацию. Для стандартных (не системных) разделов VeraCrypt использует 655 331 итерацию для хеш-функции RIPEMD-160 и 500 000 итераций для SHA-2 и Whirlpool. Это делает зашифрованные разделы существенно более устойчивыми к атаке прямым перебором, но и значительно снижает производительность работы с таким разделом. Насколько значительно, мы скоро выясним.
Среди преимуществ VeraCrypt — открытый исходный код, а также собственный и более защищенный по сравнению с TrueCrypt формат виртуальных и зашифрованных дисков. Недостатки те же, что и в случае с прародителем, — отсутствие поддержки UEFI/GPT. Зашифровать системный GPT-диск по-прежнему нельзя, но разработчики уверяют, что работают над этой проблемой и скоро такое шифрование будет доступно. Вот только работают они над этим уже два года (с 2014-го), и когда будет релиз с поддержкой GPT и будет ли он вообще, пока не известно.
CipherShed
Еще один клон TrueCrypt. В отличие от VeraCrypt, он использует исходный формат TrueCrypt, поэтому можно ожидать, что его производительность будет близка к производительности TrueCrypt.
Преимущества и недостатки все те же, хотя к недостаткам можно еще добавить невозможность установки TrueCrypt и CipherShed на одном компьютере. Мало того, если попытаться установить CipherShed на машину с уже установленным TrueCrypt, то инсталлятор предлагает удалить предыдущую программу, но не справляется с задачей.
Symantec Endpoint Encryption
В 2010 году компания Symantec выкупила права на программу PGPdisk. В результате появились такие продукты, как PGP Desktop и, впоследствии, Endpoint Encryption. Именно ее мы и рассмотрим. Программа, конечно же, проприетарная, исходники закрыты, и одна лицензия стоит 64 евро. Зато тут есть поддержка GPT, но только начиная с Windows 8.
Другими словами, если нужна поддержка GPT и есть желание зашифровать системный раздел, то придется выбирать между двумя проприетарными решениями: BitLocker и Endpoint Encryption. Вряд ли, конечно, домашний пользователь будет устанавливать Endpoint Encryption. Проблема в том, что для этого требуется Symantec Drive Encryption, для установки которого нужны агент и сервер управления Symantec Endpoint Encryption (SEE), а сервер хочет поставить еще и IIS 6.0. Не многовато ли всякого добра ради одной программы для шифрования диска? Мы прошли через все это только ради того, чтобы замерить производительность.
Момент истины
Итак, приступаем к самому интересному, а именно к тестированию. Первым делом нужно проверить производительность диска без шифрования. Нашей «жертвой» будет раздел жесткого диска (обычного, не SSD) размером 28 Гбайт, отформатированный как NTFS.
Открываем CrystalDiskMark, выбираем количество проходов, размер временного файла (во всех тестах будем использовать 1 Гбпйт) и сам диск. Стоит отметить, что количество проходов практически не влияет на результаты. На первом скриншоте показаны результаты измерения производительности диска без шифрования с числом проходов 5, на втором — с числом проходов 3. Как видишь, результаты практически идентичны, поэтому остановимся на трех проходах.
Результаты CrystalDiskMark нужно трактовать так:
- Seq Q32T1 — тест последовательной записи / последовательного чтения, количество очередей — 32, потоков — 1;
- 4K Q32T1 — тест случайной записи / случайного чтения (размер блока 4 Кбайт, количество очередей — 32, потоков — 1);
- Seq — тест последовательной записи / последовательного чтения;
- 4K — тест случайной записи / случайного чтения (размер блока 4 Кбайт);
Далее я буду ссылаться на эти тесты по их порядку в CrystalDiskMark, то есть Seq Q32T1 — это первый тест, 4K Q32T1 — второй и так далее.
Начнем с BitLocker. На шифрование раздела размером 28 Гбайт было потрачено 19 минут.
При последовательном чтении/записи с большим количеством очередей результаты (первый тест) мало чем отличаются от работы с незашифрованным диском. Зато при обычном последовательном чтении скорость чтения ниже на 13 Мбайт/с, что уже ощутимо. Остальные результаты примерно такие же, как при работе с незашифрованным диском. Отсюда вывод, что реальная производительность зависит от алгоритма работы программы, которая производит чтение и запись. В некоторых программах разница будет совсем незаметна. В других будет чувствоваться эффект торможения при работе с зашифрованным диском.
Теперь посмотрим на работу TrueCrypt. Шифрование раздела заняло всего 9 минут, параметры были установлены по умолчанию. При шифровании скорость работы с диском составила 55,4 Мбайт/с.
Результаты мало чем отличаются от показателей незашифрованного диска, только скорость последовательной записи немного подкачала. На скриншоте видно, что работа происходит с диском L — именно к этой букве был подмонтирован зашифрованный диск E:. В TrueCrypt работа с зашифрованным диском осуществляется несколько иначе, чем в BitLocker.
А вот результаты VeraCrypt приятно удивили. Признаться честно, проводя тест, я ожидал, что победителем будет TrueCrypt и, возможно, результаты CipherShed окажутся на том же уровне. В VeraCrypt я не верил — из-за того, что у этой программы собственный формат и продвинутый алгоритм шифрования. Подозревать, что мои прогнозы окажутся неправильными, я начал еще при шифровании диска — скорость оказалась существенно выше, чем у TrueCrypt: 65 Мбайт/с против 55 Мбайт/с.
Единственное, что мне не понравилось в VeraCrypt, — задержка длительностью примерно в минуту перед монтированием диска. Такой задержки не было ни в TrueCrypt, ни в CipherShed.
А вот CipherShed оказался медленнее VeraCrypt. Честно говоря, я был этим несколько удивлен: формат у CipherShed тот же, что и у TrueCrypt, настройки были такие же, значит, и производительность должна быть похожа. Но разница видна даже на этапе шифрования раздела — скорость составляла 43–51 Мбайт/с.
Осталось протестировать производительность Symantec Endpoint Security, которая является более навороченной версией PGPDisk. В третьем тесте производительность оказалась самой низкой из всех протестированных программ.
Систематизируем результаты
Вот итоговая таблица с результатами.
Приложение | Seq Q32T1 | 4K Q32T1 | Seq | 4K | ||||
---|---|---|---|---|---|---|---|---|
Чтение | Запись | Чтение | Запись | Чтение | Запись | Чтение | Запись | |
Без шифрования | 79.88 | 80.66 | 0.679 | 1.195 | 79.89 | 78.43 | 0.548 | 1.101 |
BitLocker | 79.65 | 79.80 | 0.688 | 1.226 | 66.85 | 77.15 | 0.534 | 1.115 |
TrueCrypt | 79.81 | 80.65 | 0.551 | 1.151 | 79.65 | 71.51 | 0.539 | 1.133 |
VeraCrypt | 79.99 | 76.56 | 0.562 | 1.262 | 79.89 | 68.15 | 0.542 | 1.154 |
CipherShed | 73.52 | 77.05 | 0.551 | 1.096 | 74.04 | 65.84 | 0.536 | 1.139 |
Symantec EE | 79.86 | 80.13 | 0.666 | 1.134 | 58.93 | 51.80 | 0.507 | 1.115 |
При использовании BitLocker снижение производительности наблюдается только в третьем тесте. В случае с TrueCrypt ощутимое снижение производительности наблюдается тоже в третьем тесте и то только при записи. Во всех остальных случаях снижение производительности вряд ли окажется сколько-нибудь ощутимым.
Производительность VeraCrypt, как и ожидалось, ниже, чем производительность TrueCrypt. Снижение скорости наблюдается в первом и третьем тестах. А вот CiphedShed оказался даже медленнее, чем VeraCrypt, — тоже в первом и третьем тестах. Symantec EE не выглядел бы аутсайдером, если бы не проваленный третий тест. Последовательный ввод-вывод с блоками небольшого размера — явно не его конек.
Однако всё это известные приложения, и все они на деле дают приемлемую производительность. Напоследок я решил протестировать еще одну программу — CyberSafe Top Secret. В ней используется библиотека шифрования диска от NT Kernel и все тот же алгоритм AES. С этим приложением я уже давно знаком, но, если честно, ожидал более высоких результатов. На деле это оказался настоящий аутсайдер — на фоне его результатов даже SEE кажется спринтером. Epic fail.
Выводы
Первое место по производительности разделяют TrueCrypt и BitLocker. В третьем тесте скорость чтения у них ниже, чем у VeraCrypt, но зато выше скорость записи, да и посмотри на результаты второго теста.
На втором месте — VeraCrypt, эта программа ненамного медленнее, чем TrueCrypt. Третье место — CipherShed, а четвертое — Symantec Endpoint Encryption, но только из-за провала в третьем тесте. Что до CyberSafe Top Secret, то мы о нем больше говорить не будем.
Если нужна поддержка GPT, то я бы выбрал BitLocker. Как и SEE, BitLocker — решение с закрытым кодом, но его стоимость уже входит в цену Windows, так что недешевый (и к тому же тянущий за собой череду другого софта) SEE оставим корпоративным пользователям.
Однако если нужно зашифровать хранилище, а не системный диск, то можно смело выбирать VeraCrypt. Да, будет чуть медленнее, чем TrueCrypt, но зато проект развивается, и есть надежда, что и поддержка GPT появится в обозримом будущем.