Взлёт и падение аппаратного дискового шифрования


В наше время было бы ошибкой говорить об аппаратном обеспечении как о противоположности программного. Множество устройств, которые мы обычно считаем "хардом", на самом деле — компьютерные системы с собственным центральным процессором, памятью, накопителем и прочим. Маршрутизаторы, мобильные телефоны, музыкальные плееры являются "софтом" в той же мере, что и "хардом". С другой стороны, программные системы обычно являются обёрткой вокруг "железа". Это особенно справедливо применительно к графике. В графической карте компьютера больше вычислительной мощи, чем в его ЦП. Практически все наши устройства — это сочетание харда и софта.

Сюда же входят и дисковые накопители, которые суть такая же смесь харда и софта, как и всё остальное. В прошлом дисковый контроллер считали бы куском "железа", но сегодня это полноценный компьютер. В случае сетевых NAS-систем или RAID-массивов это целые небольшие серверы, выступающие в роли жёстких дисков. (Возможно, наиболее удивительно, но батареи в наших ноутбуках — это тоже не просто хард. В батарею встроен миникомпьютер, управляющий тем, как она заряжается и разряжается.)

С недавнего времени началось распространение аппаратных реализаций дискового шифрования непосредственно в жёстких дисках, поскольку дисковые контроллеры получили более быстрые процессоры с вычислительным потенциалом, достаточным для шифрования данных на диске с минимальной нагрузкой. В результате появилось шифрование как бы на аппаратном уровне самого устройства.

Аппаратное дисковое шифрование имеет некоторые потенциальные преимущества над программным шифрованием, поскольку производится непосредственно диском. Вся система компьютера, оборудованного таким диском, превращается в небольшую мультипроцессорную систему, содержащую большой процессор в компьютере и маленький процессор в диске. По крайней мере в теории два процессора могут быть быстрее, чем один. По крайней мере в теории две системы могут быть более защищёнными, чем одна. Но, в теории, теория не отличается от практики, что на практике оказывается совсем не так.

Попробуем разобраться в происходящем.

Порой, когда ребята от харда употребляют слово "шифрование", это слово означает несколько не то, что понимаю под ним я. Некоторые тестеры, в частности, из Heise Online, хорошо постарались, чтобы выяснить, что некоторые диски, рекламируемые как использующие AES-шифрование, используют AES для шифрования вашего пароля и обычный XOR[link1] или какую-то линейную алгебру с открыто хранящимся паролем[link2] для шифрования самого диска.

Это производит прискорбное впечатление. Это ни что иное, как ханаанский бальзам[link3]. У меня есть один из этих дисков, которые "шифруют" XOR'ом, но я не пользовался его шифрованием. Я купил его потому, что он был очень, очень дешёвый, а не ради его обещанной безопасности. Если бы я купил его для защиты, то был бы справедливо расстроен.

Ряд других дисков используют настоящее шифрование, но в режиме ECB. ECB (Electronic Code Book), или простая замена, — это слабейший из существующих способов шифрования. Он лишь зашифровывает ключом каждый 16-байтовый блок, но никак не связывает между собой эти блоки. Это приводит к утечке огромного объёма информации, поскольку все блоки, содержащие одинаковый открытый текст, будут содержать и одинаковый шифртекст. Для файлов вроде XML, имеющих стандартные заголовки, можно выявить, к примеру, в каких блоках диска хранятся начала таких файлов. А в случае сильно структурированных данных, как некоторые графические форматы, такое шифрование буквально просвечивается насквозь. В этой статье Википедии[link4] есть замечательные картинки, демонстрирующие слабость ECB. К сожалению, даже известные производители недостаточно откровенны[link5] по поводу того, какой режим они используют. В настоящее время можно смело предполагать, что шифрующий диск использует ECB (а то и что-нибудь похуже), если только нет технической документации, утверждающей иное.

Это создаёт у потенциального покупателя проблему: как узнать, что делает диск? Шифрование — комплексная задача, и если производитель не даёт конкретного ответа об используемых компонентах, покупателю становится невозможно определить, приобретает ли он хорошее крипто, посредственное крипто или плохое крипто. Я и сам не могу выяснить это — если б я мог, то с радостью предложил бы подсказки, как отличить стоящий диск от бесполезного. К сожалению, даже новая спецификация Opal от TCG (Trusted Computing Group) требует использовать AES, но не определяет режим шифрования, который должен использоваться диском. Это приводит к тому, что Opal-совместимый диск будет использовать AES, но будет использовать его таким образом, что сделает защиту полностью ненадёжной.

Но даже если диск действительно использует шифрование (даже в режиме ECB), это увеличивает задержки вводы/вывода на 15-25%. Приблизительно можно сказать, что это снижает эффективность вашего диска на один уровень скорости. Диск со скоростью вращения 7200 RPM с аппаратным шифрованием будет работать примерно на той же скорости, что и диск 5400 RPM без шифрования. Диск 5400 RPM с шифрованием будет иметь скорость, сопоставимую с диском 4200 RPM без шифрования. С точки зрения производительности, это не так уж плохо. Большинство пользователей не почувствуют разницу, если только не поставить им два диска рядом. Тем не менее, если вы услышите маркетинговые заверения, что аппаратное дисковое шифрование действует без нагрузки, это неправда. Вас может не волновать эта нагрузка, но она есть, независимо от того, что утверждают маркетологи.

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

Альтернативная возможность — это применение программного шифрования. У нас есть собственный пакет PGP Whole Disk, но существует и множество других программных систем дискового шифрования. Программное шифрование намного быстрее аппаратного. Это не должно удивлять. Какой процессор должен быть быстрее, тот, который в вашем диске, или который в вашем компьютере?

Благодаря достаточным дополнительным вычислительным ресурсам, которые имеет каждый современный ПК, программное шифрование обладает и более высокими свойствами безопасности. Разработчики могут реализовывать более надёжную (и, следовательно, медленную) криптографию. Мы можем улучшать средства управления ключами, средства управления паролями и пользовательские свойства программ. Мы разрабатываем наши системы так, чтобы нагрузка от них была наименее заметна, а поскольку в нашем распоряжении больше вычислительной мощности, мы можем прибегнуть к лучшему дисковому шифрованию.

С другой стороны, недостаток программного шифрования в том, что ключи должны находиться в памяти.

Однако, сфера аппаратного обеспечения демонстрирует ряд тенденций, которым менее подвержены системы аппаратного шифрования, и которые наиболее выгодны для программного шифрования.


Суммарный эффект этих тенденций в том, что преимущества, которыми аппаратное шифрование обладает перед программными средствами, скорее всего находятся сейчас на своём пике. Да, шифрующие диски будут становиться лучше, но так же будут улучшаться и средства, доступные на самих стандартных компьютерных платформах. Экспоненциальный рост от закона Мура означает, что его результаты быстрее и сильнее отразятся на центральном процессоре и его подсистемах, нежели на самих жёстких дисках. Этот экспоненциальный рост затронет системы общего назначения быстрее и более эффективно, чем специализированные системы. Просто именно в этом направлении сосредоточены все деньги и усилия инженеров.

Ирония в том, что, согласно этим тенденциям, лучшие дни аппаратного шифрования — это нынешние дни. Менее, чем через год, аппаратные средства останутся лишь в зеркале заднего вида, тогда как софт будет получать геометрический рост. Вдвойне иронично, но коренной причиной этой тенденции было дешёвое криптографическое железо и дешёвые параллельные вычисления. Аппаратное дисковое шифрование, мы едва ли успели тебя узнать.

© 2009 Джон Каллас[link9]
Перевод © 2009 SATtva[link10]


Ссылки
[link1] http://www.pgpru.com/novosti/2008/xorvmestoaesapparatnoeshifrovanievinchesterovokazalosjpoddelkojj

[link2] http://www.h-online.com/security/Cracking-budget-encryption--/features/112548

[link3] http://www.pgpru.com/biblioteka/statji/hanaanskijjbaljzam

[link4] http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Electronic_codebook_.28ECB.29

[link5] http://heisencoder.net/2008/04/follow-up-to-hitachis-announcement-of.html

[link6] http://www.amazon.com/CryptoGraphics-Exploiting-Graphics-Security-Information/dp/038729015X

[link7] http://www.nvidia.com/object/cuda_home.html

[link8] http://www.khronos.org/opencl/

[link9] http://blog.pgp.com/index.php/2009/04/the-strange-rise-and-fall-of-hardware-disk-encryption/

[link10] http://www.pgpru.com/proekt/poljzovateli?profile=sattva