id: Гость   вход   регистрация
текущее время 19:47 19/04/2024
Владелец: SATtva (создано 22/08/2009 17:29), редакция от 23/08/2009 21:55 (автор: SATtva) Печать
Категории: криптография, софт, инфобезопасность, защита дисков, алгоритмы, хард, аппаратное шифрование, исходные тексты
http://www.pgpru.com/Библиотека/Статьи/ПадениеАппаратногоШифрования
создать
просмотр
редакции
ссылки

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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


  • Диски становятся быстрее. В первую очередь это происходит за счёт твердотельных накопителей (SSD). Поскольку скорость диска обгоняет средства дискового шифрования, более быстрые диски означают лучшую производительность, но худшие скоростные показатели. Если вы удвоите скорость диска, шифрование займёт больший процент работы системы. Это хорошо для пользователей, но вызовет панику у тех, кто пытается придать смысл тестам производительности, так как полный прирост будет выглядеть как ухудшение производительности, если вы неправильно произведёте её оценку.
  • Распространяются многоядерные системы. Это хорошо для программного шифрования, поскольку дисковое шифрование является легко параллелизуемой задачей. Обычное дисковое шифрование может использовать до восьми тредов для малых операций ввода/вывода и даже больше для более значительных. Чем больше ядер получат будущие процессоры, тем быстрее будет программное шифрование.
  • Intel помещает в процессоры инструкции AES. Начало будет положено ближе к концу 2009 г., а в 2010-м придёт улучшенная архитектура, которой будет оснащено большинство стандартных процессоров. Этот шаг повысит скорость AES до 10 раз в сравнении с чисто программной реализацией. Если объединить это с многоядерностью, это приведёт к огромному росту. Кажется непостижимым, что в следующую пятилетку программное шифрование дисков станет быстрее в 100 или более раз. Что интересно, значительный прирост производительности придётся на большие объёмы чтения или записи. На малых объёмах, либо аппаратные улучшения, либо инструкции AES упрутся в свой скоростной максимум.
  • Видеокарты превращаются в универсальные процессоры. Криптограф Дебра Кук первой показала миру, как ускорить крипто на графической карте, и в скором времени последуют средства программирования как специального, так и общего назначения, предназначенные для использования простаивающих вычислительных мощностей видеокарт. У NVidia есть своя система под названием CUDA; кроме того, совместно с другими организациями под началом The Khronos Group они работают над платформенно-независимой системой параллельного программирования под названием OpenCL. Параллелизованные системы, при их исполнении на графической карте, могут быть ускорены до 40-50 раз. Это прекрасная новость для дискового шифрования, поскольку оно очень пригодно для параллельной обработки, и у программистов появляется множество способов сделать его быстрее в самое ближайшее время.
  • Софт также несравнимо дешевле. Это всегда так — стоимость производства экземпляров ПО близка к нулю. Харду с этим никогда не сравниться. Самый дешёвый накопитель никогда не будет поддерживать аппаратное шифрование, поскольку исключить криптографическое железо всегда дешевле. Софт — это всегда "купил раз, используешь повсюду".
  • Наконец, базовая компьютерная платформа скоро получит больше аппаратных средств для управления ключами. Минусом программного шифрования всегда будет необходимость держать шифровальные ключи в общей памяти, но проводится работа, чтобы сделать это более безопасным. В настоящее время есть определённые планы от производителей харда, таких как Intel и AMD, от BIOS-разработчиков, таких как Phoenix, а также от групп вроде TCG. Эти планы пока оформлены хуже, чем тенденции повышения производительности, но они тоже развиваются.

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


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


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

 
Много комментариев (10) [показать комментарии/форму]
Общая оценка документа [показать форму]
средний балл: +0.91респондентов: 11