id: Гость   вход   регистрация
текущее время 12:56 29/03/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

 
— SATtva (22/08/2009 17:32)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
На правах послесловия от переводчика отмечу следующее. Каллас, клеймящий позором маркетоидов железячников, как представитель противоборствующей [заинтересованной] стороны сам допускает ряд некорректных оценок, прежде всего в производительности аппаратных решений, на которой статья делает главный упор. Не буду их разбирать, заинтересованные могут прочитать их в подробных комментариях [тоже заинтересованного, но с другой стороны] представителя Фуджицу к оригиналу статьи на сайте PGPCorp.

Мне кажется странным, что Каллас не затронул в своём обзоре ещё один аргумент против аппаратных решений, аргумент куда более железный (каламбур, каламбур), чем скорость: вытекающее из общей непрозрачности отсутствие возможности аудита на предмет "легальных" и "нелегальных" закладок. Аппаратное дисковое шифрование крайне затрудняет даже общий аудит корректности реализации (что отмечается как в статье, так и в дополнительном комментарии Калласа к ней). Если в случае программного шифрования можно элементарно изучить исходный код или не столь элементарно, но дезассемблировать программу, сравнить шифртекст тестируемой и эталонной реализации, то у жёсткого диска с аппаратным шифрованием может быть непросто даже добраться до шифртекста (как минимум, диск должен допускать отключение функций шифрования, поскольку в ином случае потребуется вскрытие диска и считывание данных непосредственно с блина); возможны трудности и с получением ключевого материала, используемого для шифрования (маловероятно, что пароль или пин-код используется напрямую); могут отсутствовать подробные спецификации параметров и режимов всех задействованных криптопримитивов.

Главная же проблема в том, что нет никакой возможности убедиться (за исключением крайне дорогостоящего лабораторного исследования устройства "от и до"), что диск не использует ту или иную схему депонирования ключа в том или ином месте своих потрохов (или "всего лишь" тем образом, что мастер-ключ намертво вшит в железо, а его копия предусмотрительно хранится у изготовителя наряду с серийным номером устройства; изменяемый пользовательский пароль только перешифровывает этот фиксированный ключ). Да, риск тех или иных аппаратных закладок существует и в отношении прочего стандартного железа, но разница в том, что применительно к железу с выделенными функциями шифрования такая вероятность заведомо (и традиционно) выше, чем к железу общего назначения (стоимость которого, по справедливому замечанию автора статьи, и так стараются снизить всеми доступными способами).
— Гость (22/08/2009 19:25)   <#>
мастер-ключ намертво вшит в железо, а его копия предусмотрительно хранится у изготовителя наряду с серийным номером устройства; изменяемый пользовательский пароль только перешифровывает этот фиксированный ключ)

Всё это можно рассмотреть с более простых и естественных позиций: производители и не ставили целью сделать "военное" шифрование, которое не смогут вскрывать спецслужбы государств, а просто поставили "защиту от младшей сестры", просто прикрыв свободный полностью доступ к данным.
— Гость (22/08/2009 22:30)   <#>
От младшей сестры можно съёмный винт просто спрятать.
— SATtva (23/08/2009 21:56)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
unknown, спасибо, совсем забыл об этих непереведённых фрагментах.
— unknown (23/08/2009 22:06)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
... А я сначала подумал, что это особая, непереводимая игра слов :-)
— SATtva (23/08/2009 22:14)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
Да не, переводил вдали от интернета и словарей, и по ходу попалась пара слов, которые или не мог перевести по памяти, или значение которых хотел уточнить (как с marginal cost). :-)
— unknown (25/09/2009 12:11)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
В статье из Компютерры ближе к концу есть любопытные примеры про "защищённые" флэшки.
— Вий (09/03/2010 15:02)   профиль/связь   <#>
комментариев: 510   документов: 110   редакций: 75
Где используются другие средства аппаратного шифрования? Насколько они надежны?
— Гость (09/03/2010 16:15)   <#>
Другие средства используются в других местах ;)
Надёжность закрытых решений (а большинство аппаратных именно таковы) при прочих равных меньше надёжности открытых, так как они закрыты от большинства проверяющих.
— SATtva (09/03/2010 16:23)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
В то же время, есть такая вещь, как аппаратные криптоускорители. Их принципиальное отличие от, например, аппаратных шифраторах в ЖД, в том, что вся логика приложений по-прежнему остаётся в софте, а в хард отгружаются только криптооперации. Соответственно, всегда легко проверить правильность и корректность реализации.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3