Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Криптографические сопроцессоры, особенности их архитектуры. ⇐ ПредыдущаяСтр 6 из 6
Специфика некоторых организаций часто требует максимальной защиты данных. И необязательно эти организации владеют государственными или военными тайнами — проектировщики серийных автомобилей не менее ревностно охраняют свои секреты в ходе разработки новой модели (например, так было с обычным Opel Tigra, даже название которого до определенного момента сохранялось в строжайшей тайне). Если подобная структура — крупная и компьютеризированная, то из соображений безопасности ограничивается доступ к информационным массивам каждого подразделения, и из этих же соображений осуществляется централизованное хранение информации (например, в единой базе или хранилище данных). А уж если безопасность должна быть максимальной — всю информацию следует хранить и обмен ею осуществлять только в зашифрованном виде. Серьезная техническая проблема здесь одна — производительность. Вычислительной мощности самого совершенного сервера не хватит для выполнения операций шифрования/дешифрования «на лету». Деградация производительности универсальных процессоров при выполнении криптозадач просто катастрофическая - для того чтобы испытать это «на собственной шкуре», достаточно получить по e-mail двухстраничное зашифрованное PGP-письмо... А зато специализированные процессоры справляются с подобной работой безукоризненно быстро. Да и неудивительно — если в универсальных процессорах достигнута максимальная разрядность 128 бит, то в криптопро-цессорах уже никого не удивляют цифры 1024 или 2048. В качестве примера рассмотрим серийно выпускаемый криптопроцессор компании Hi/fn (США, www.hifn.com) модели 6500 (выбор компании и модели процессора, возможно, не очень удачный и ни в коей мере не определяется личными пристрастиями и симпатиями автора -просто эта компания любезно предоставляет отличную документацию по своей продукции). Более точно это изделие можно назвать сопроцессором, так как 6500 не может работать автономно. Архитектура криптопроцессора 6500 приведена на рисунке. Процессор способен выполнять задачи модульной арифметики, а также генерацию и обработку случайных чисел, остальные сопутствующие задачи решаются на центральном процессоре компьютера. 6500 можно смело назвать микропроцессорным шедевром, если обратить внимание на разрядность шестнадцати рабочих регистров (банк регистров данных) и АЛУ (арифметико-логического устройства) - 1024 бита и их организацию — каждому рабочему регистру соответствует 11-битовый автоматически обновляемый дополнительный регистр, содержащий размер в битах слова, записанного в данный регистр. Кроме того, в процессоре реализованы шесть (! ) внутренних шин такой же разрядности, работающих на тактовой частоте 100 MHz. Совершенно необычна и реализация генератора случайных чисел — вместо привычных аналоговых генераторов шумового напряжения и последующего аналого-цифрового преобразования или сугубо цифрового генератора псевдослучайной последовательности в 6500 применено неочевидное, но очень красивое с инженерной точки зрения решение — формирование случайного числа на основе сравнения фаз сигналов стабильного тактового генератора процессора и нестабильного автономного генератора, входящего в состав ГСЧ (генератор случайных чисел). При тактовой частоте 100 MHz скорость формирования случайного потока битов достигает 3 Mbps. Система команд процессора предельно проста, каждая команда может задействовать четыре произвольных регистра данных — регистр результата (РР), два регистра операндов (РО) и регистр величины модуля (РВМ), по которому выполняется операция. Однако сами команды совершенно нетривиальны и ни в одном универсальном микропроцессоре не реализованы — во-первых, все они арифметические (сложение, вычитание, умножение, деление и возведение в степень), во-вторых - выполняются по модулю, значение которого находится в РВМ, в-третьих - выполняются рекордно быстро (за 4 такта, т. е. при тактовой частоте 100 MHz всего за 40 не). Кроме этих архитектурных «чудес», на кристалле 6500 поместились и интерфейс PCI-шины для упрощения жизни разработчиков, и встроенный микроконтроллер, позволяющий записывать и быстро исполнять короткую программу из 32 команд. Несмотря на то что эта цифра кажется маленькой, она даже несколько избыточна при детальном рассмотрении криптографических алгоритмов, например необходимая для алгоритма Диффи-Хеллма-на достаточно сложная в реализации на универсальном процессоре операция «соглашения о ключах» (key agreement) key = y x mod p соответствует всего одной команде 6500 r0 = r1 exp r2 mod r3 (где r0, r1, r2, r3 - имена регистров из банка регистров 6500, в которых размещены значения key, у, х, р соответственно), и это при работе с 1024-разрядными словами! Таким образом, результаты использования 6500, особенно в Internet-ориентированных продуктах, просто удивительны: так, например, обеспечиваются поддержка до 300 шифрованных обращений IKE (Internet Key Encryption) к серверу в секунду, выполнение свыше 80 операций аутентификации с 1024-битовыми ключами в секунду. Несмотря на сравнительно высокую стоимость 6500 (около $70 в средних партиях), его применение абсолютно оправдано в специализированных системах, а также в криптоподсистемах крупных серверов для нужд Internet-коммерции. Популярное:
|
Последнее изменение этой страницы: 2016-07-13; Просмотров: 1281; Нарушение авторского права страницы