|
|
Дискуссия: Архитектура СКЗИ типа USB-ключСравнение не только изделий разных производителей, но и различных архитектур пожалуй, один из самых конструктивных методов анализа решений по безопасности. В этой связи необходимо подробнее остановиться на отдельных положениях утверждения, приведенного в статье «USB-токен: правила выбора»: «Отметим, что USB-ключи, не выполненные по архитектуре «смарт-карта + карт-ридер», например, ruToken, «Шипка», выполнены на серийном микроконтроллере и программно эмулируют функциональность смарт-карт. Это сильно снижает их безопасность. В частности, они используют внешний чип памяти со всеми вытекающими последствиями (у смарт-карточных токенов память находится внутри чипа смарт-карты, и атаковать ее очень сложно)». Функциональность смарт-карте придает программное обеспечение для резидентного процессора. С одним ПО смарт-карта становится SIM-картой для телефона, с другим ПО USB-токеном. Функционально одинаковое ПО создается либо для резидентного процессора смарт-карты (кстати, серийного), либо для серийного микроконтроллера. Думается, что применение термина «программная эмуляция» для описания отличий реализации устройств на базе микроконтроллера или чипа смарт-карты по крайней мере, неудачно. Утверждение о том, что безопасность USB-токенов на базе микроконтроллеров ниже, поскольку «они используют внешний чип памяти со всеми вытекающими последствиями (у смарт-карточных токенов память находится внутри чипа смарт-карты, и атаковать ее очень сложно)», необходимо анализировать по частям. Во-первых, предложенная формулировка не совсем верна, так как различие в действительности состоит не в том, что у USB-токенов на базе микроконтроллера память снаружи, а у чипа смарт-карты внутри, а в том, что у чипа смарт-карты внутри находится вся память устройства, а у микроконтроллера не вся, а может быть еще и «внешняя». Память микроконтроллера может расширяться за счет добавления «внешней» памяти. Архитектура же на базе чипа смарт-карты возможности расширения объема памяти не предполагает, что вряд ли может трактоваться как преимущество. Во-вторых, даже в том случае, если используется внешняя память, тезис о том, что это имеет «все вытекающие последствия» кажется несколько необоснованным, поскольку трафик обмена информацией между микроконтроллером и чипом внешней памяти обычно защищается стойким алгоритмом шифрования. Атаковать память действительно не сложно, сложно расшифровать правильно зашифрованные данные. Разумный выбор Чтобы постройка могла считаться домом, она должна, по меньшей мере, удовлетворять двум условиям: надежность, прочность объекта и гармония процессов чтобы двери-окна были, причем были достаточной ширины и открывались-закрывались. При покупке готового дома можно ориентироваться на общие околоархитектурные соображения, например, что большой дом лучше, чем маленький, что готическая архитектура давно устарела, что дома, построенные фирмой N, обычно надежны и удобны. Как всякое общее соображение, эти выкладки могут дать осечку: большой дом разрушится при землетрясении, а маленький соседский устоит, дом в стиле модерн будет смотреться странно в готическом квартале, а фирма N окажется совершенно неспособной построить дом с русской печью, а не паровым отоплением. Это касается, конечно, не только недвижимости, но и средств защиты информации, архитектура которых столь же безусловно определяется тем, для каких задач и каких условий проектируется устройство, и, соответственно, именно архитектурой определяются основные свойства готового изделия. Раз архитектура прямо и жестко связана с реальными условиями и задачами эксплуатации, то для того чтобы понять, какая окажется оптимальной, необходимо сформулировать, где, когда и как мы хотим использовать то, что построено. Чтобы избежать большого количества лишних подсчетов, имеет смысл учитывать не любые условия, а только дифференциально важные. Так, например, рассчитывать соотношение количества компьютеров в организации и количества пользователей в ней (всего и на каждом компьютере в отдельности), чтобы выяснить, в каком случае экономичнее использование смарт-карт, а в каком USB-токенов, имеет смысл только в том специфическом случае, если функциональность этих двух типов устройств абсолютно одинакова, и никак иначе, кроме как в качестве смарт-карт, последние использоваться не должны и не могут. Функциональность же средств защиты информации типа USB-ключ может быть существенно шире функциональности смарт-карт, а количество компьютеров, на которых пользователь может работать со своим USB-устройством, может быть любым, вне зависимости от количества машин в его организации. Интеллектуальное USB-устройство Нельзя не признать, что общее название «USB-токен» закрепилось именно за устройствами, функциональность которых сводится к функциональности смарт-карт, и поэтому для обозначения более широкого класса изделий сегодня в употребление входит понятие «интеллектуальное USB-устройство», в нашем случае security USB-устройство, SU2 (Security USB-unit). Такое устройство должно производить вычисления без участия процессора ПК, значит, оно должно иметь собственный процессор. Показатель, довольно часто фигурирующий в описаниях изделий вне достаточного для адекватного вывода контекста, это тактовая частота процессора. Однако практически значимой характеристикой является на самом деле частота выполнения команд, которая от тактовой частоты процессора, безусловно, зависит, как зависит и от количества тактов на команду, характерного для данного процессора. Эти характеристики у разных процессоров могут значительно различаться, и при небольшом различии тактовой частоты, частота выполнения команд может различаться весьма существенно. Тем не менее, информация о частоте выполнения команд процессором тоже не дает представления об эффективности работы процессора при выполнении операций того или иного вида без информации о том, сколько команд затрачивается на выполнение операции. Как результат, процессор может быть очень эффективен для выполнения графических операций, но совершенно непригоден для операций криптографических. Еще более важное значение имеет реализация операции: выполняется ли она процессором устройства и, соответственно, использует большое количество команд, тактов, времени, или выполняется в логике аппаратного сопроцессора. В последнем случае большинство операций можно сконфигурировать так, чтобы они выполнялись за 1–2 команды. Таким образом, эффективность работы устройства зависит не столько от тактовой частоты процессора, сколько от того, насколько полна библиотека аппаратно реализованных операций. С точки зрения архитектуры это означает, что должен быть сопроцессор с заданными характеристиками. Надо иметь в виду, что в описании изделия производитель также указывает, как правило, скорости выполнения процессором криптографических преобразований. Отметим, что работа процессора и работа устройства это не одно и то же. Необходимо понимать, что скорость вычислений по тому или иному алгоритму имеет практическую ценность только в сочетании с другим показателем скоростью обмена данными с ПК по USB-интерфейсу. Для того чтобы вообще имело смысл рассматривать вопрос скоростей, должен быть обеспечен как минимум режим Full-speed. В этом смысле сообщение о том, что поддерживается протокол, например, USB 2.0 недостаточно информативно. Должен быть указан и режим. Если поступать по-другому, можно неосторожно ввести потребителя в заблуждение он будет ожидать от устройства тех характеристик, которые указаны для процессора. Правильно говорить не о характеристиках процессора, а о характеристиках всего устройства. Еще одним критерием является объем памяти. Если ее недостаточно для осуществления криптографических преобразований, вычисления должны будут производиться процессором ПК вне доверенной среды, а в устройстве будут в лучшем случае храниться ключи, данные и ПО для процессора ПК. Для реализации в устройстве бОльшего числа возможностей необходим бОльший объем памяти. Более того, при возрастающей степени связанности человека со своей информационной средой, все более необходимой становится возможность иметь с собой и использовать на любом ПК собственные данные самого разного рода. В то же время, понятно, что отбирать для этого память процессора устройства, предназначенную для криптографических преобразований, было бы не совсем уместно. Поэтому устройству класса SU2, функциональность которого намного шире функциональности смарт-карт, необходима дополнительная память разумеется, надежно защищенная. К сожалению, для устройств, построенных на смарткарточном чипе, это невозможно, они могут использовать только внутреннюю память процессора, и возможности расширения их функциональности неизбежно ограничены объемом этой памяти. Очень важной характеристикой устройства является возможность перепрограммирования. Для дешевых устройств, функционально аналогичных смарт-картам, это качество может быть необязательным, поскольку расширение их возможностей не предусматривается, и в случае, если у пользователя изменился состав задач или другие условия, он купит новое устройство, а старое выбросит, что, безусловно, выгодно производителю. Перепрограммируемое же интеллектуальное USB-устройство предполагает возможность получения обновлений на однажды купленный экземпляр по мере развития его функциональности или изменения требований пользователя. Иными словами, возможность перепрограммирования обозначает, что устройство не устареет и не станет ненужным с изменением условий и задач его эксплуатации. Довольно часто, особенно в среде специалистов по криптографии, высказываются достаточно радикальные суждения о том, какие алгоритмы шифрования должны быть реализованы в СКЗИ, а какие не должны быть в силу различных причин. Хочется заметить в связи с этим, что пользователь волен выбрать то преобразование, надежность которого ему кажется достаточной, в то время как отсутствие выбора делает рассуждения о сравнительных свойствах алгоритмов просто бессмысленными пользователь вынужден использовать то, что есть. Напомним, что в устройство класса SU2 по требованию заказчика может быть прошит тот алгоритм, который он сочтет нужным, в том числе, например, написанный им самим или специально для него. Другие же алгоритмы могут быть удалены из устройства, хотя наличие алгоритма и не может быть негативным фактором, в отличие от его отсутствия. Отметим также, что для качественного выполнения криптографических преобразований необходим физический генератор случайных последовательностей. Выбрать по потребностям В заключение еще раз надо подчеркнуть, что для правильного выбора устройства, нужно, как и любом другом случае, четко понять, что именно вам требуется. Если нужен шпингалет не стоит покупать кодовый замок, и наоборот. А вопрос о том, какая архитектура лучше в принципе сродни вопросу, кто кого победит кит или слон? Конкурентное противопоставление дешевых USB-аналогов смарт-карт и многофункциональных перепрограммируемых USB-устройств так же бессмысленно они актуальны для разных задач и условий. Для каждого конкретного пользователя лучше то устройство, которое отвечает его задачам. И производителю следует в связи с этим предоставлять пользователю информацию именно о тех свойствах изделия, которые определяют его функциональность. Упомянутая в статье «USB-токен: правила выбора» архитектура «смарт-карта + карт-ридер», действительно, достаточна для USB-токенов, но никак не может быть достаточной для устройств класса SU2, архитектура которых должна включать, как минимум, процессор, сопроцессор, внешнюю память, датчик случайных чисел, а также средства, обеспечивающие адаптивность устройства. Светлана Конявская |