Технологии компьютерной безопасности. Часть 4. AMD Alchemy Au1550 — алхимия сетевой защиты
АрхивПлатформаРечь пойдет о Security Engine недавно появившегося процессора AMD Alchemy Au1550 как об одном из удачных аппаратных решений в области защиты компьютеров.
См. остальные части нашего обзора:
Часть 1. Intel LaGrande Technology — архитектура компьютерной безопасности;
Часть 2. AMD Execution Protection — маленькая революция;
Часть 3. «Эльбрус» — защита без латания дыр.
Словосочетание AMD Alchemy пока знакомо, пожалуй, лишь специалистам и узкому кругу «продвинутых» любителей. Вместе с тем, это семейство микропроцессоров обладает очень многими качествами, способными вывести их в лидеры определенных сегментов рынка. В этой статье речь пойдет о Security Engine недавно появившегося процессора AMD Alchemy Au1550 как об одном из удачных аппаратных решений в области безопасности компьютеров.
Как известно, мир современных процессоров совсем не ограничивается AMD Athlon и Intel Pentium — для таких вычислительных устройств как «умное» сетевое оборудование, «тонкие клиенты», бытовая электроника и PDA давно существуют свои специализированные процессоры, и, конечно же, гиганты «настольной» процессорной индустрии — Intel и AMD — сегодня всеми силами стараются захватить и этот перспективный рынок. Располагающая куда большими возможностями Intel, фактически, уже закрепилась в этих нишах со своими Intel IXP, IXC, StrongArm и XScale. AMD не осталась в стороне и два года назад, в феврале 2002 года, несмотря на свое тяжелое финансовое положение, приобрела компанию Alchemy Semiconductors1, занимавшуюся выпуском встраиваемых процессоров на основе архитектуры MIPS32. В результате на свет появилось семейство процессоров AMD Alchemy, ориентированных в первую очередь на так называемый Internet Edge Device market — рынок сетевого и «околосетевого» оборудования. Впрочем, семейство Au получилось универсальным — эти процессоры могут быть использованы в сетевых маршрутизаторах, в устройствах беспроводного доступа, в «тонких клиентах», PDA, принтерах, бытовой электронике — одним словом, AMD пытается отхватить своей линейкой возможно больший сегмент нового для себя рынка. Свежий Au1550 сегодня является старшим в линейке Alchemy, но интересен он нам сейчас совсем не этим, а уникальным Security Engine — интегрированным в процессор блоком аппаратного ускорения стандартных криптографических алгоритмов, который сам бог велел использовать с аппаратных системах безопасности различных компьютеров.
Специализированные криптографические решения (например, Intel IPX 2850), предназначенные для высокопроизводительного сетевого оборудования известны давно — в 10-гигабитной сети количество проходящих через маршрутизатор IP-пакетов огромно и каждый пакет требуется прочитать, проверить контрольную сумму, принять решение о его дальнейшем пути следования, — одного только этого с легкостью хватит, чтобы загрузить работой даже очень мощный процессор2, и если здесь добавить к стандартным задачам еще и требования защиты пропускаемых данных, то скорость обработки без принятия дополнительных мер рискует упасть до неприемлемо низких значений. Однако процессора «общего назначения» с подобной поддержкой нам еще не встречалось (впрочем, нечто похожее на Au1550 есть еще у Motorola — MPC8555 PowerQUICC III). Посмотрим, что нам предлагают сегодня.
AMD Alchemy, как и последние Intel XScale, относятся к категории процессоров «System-On-Chip». На одном кристалле помимо собственно процессорного ядра размещаются почти все необходимые для полноценного компьютера компоненты (см. блок-схему выше) — контроллер динамической памяти (DDR/SDRAM, вплоть до DDR400), статической (флэш-память обоих типов — NOR и NAND, PCMCIA, SRAM, ROM), DMA-контроллер, два сетевых 10–100 Мбайт, контроллеры PCI 2.2 и USB 1.1, четыре PSC (поддерживается AC’97, I2S, SPI, SMBus) и UART-контроллер. Это позволяет заметно снизить энергопотребление системы (а интегрированный контроллер памяти — еще и достичь большего быстродействия). В случае с Alchemy в процессоре, похоже, присутствует решительно всё, что только возможно — и PDA можно организовать, и веб-панель, и «тонкий клиент», и для сетевого оборудования умеренной производительности Au1550 прекрасно подойдет. Тактовые частоты — 333, 400, 500 МГц, энергопотребление на частоте 400 МГц всего 500 мВт. Процессорное ядро, как и следовало ожидать, реализовано на RISC-архитектуре MIPS32 (см. www.mips.com/content/Corporate/AboutUs). Впрочем, все это уже было в процессоре Au1500, нас же сейчас интересует фирменный Security Engine. Как и сам процессор Alchemy, это не «родная» разработка AMD — SE изначально разрабатывался в компании SafeNet3 и был куплен и адаптирован «под себя» корпорацией4. Сперва кратко перечислим его основные возможности, а затем разберемся подробнее, что они означают.
Итак, на аппаратном уровне поддерживаются:
• Технология «виртуальных частных сетей», VPN. Au1550 способен поддерживать неограниченное число VPN-соединений. Пакеты IPSec обрабатываются полностью аппаратно, сильно ускоряется обработка SSL.
• Криптографические алгоритмы DES, 3DES, AES, ARC-4, SHA-1, MD5.
• Генератор случайных чисел.
1. Компания была основана в 1999 году и принимала непосредственное участие в разработке StrongARM, перекупленного позднее Intel. [вернуться]
2. Недаром в сетевом оборудовании используется настолько быстрая память, насколько это вообще возможно — там до сих пор живет и процветает Rambus и используется память QDR. А эксперименты с современными гигабитными контроллерами наглядно показывают, что для раскрытия их полного потенциала требуется процессор с частотой от 1,7–2 ГГц, иначе драйверы просто не успевают «упаковывать» поток данных, передающийся по сети. [вернуться]
3. SafeNet (www.safenet-inc.com), основанная в 1983, сегодня является лидером в области решений в области систем безопасности. [вернуться]
4. Не стоит, кстати, полагать, что это плохо — разработка процессора и системы безопасности к нему растянулась бы на долгие годы и совсем неочевидно, что результат получился бы лучше, чем то, что корпорация имеет сейчас, не говоря уже о необходимости маркетинга и продвижения «совершенно нового» продукта. [вернуться]
Начнем с VPN. Сегодня, когда глобальные компьютерные сети получили широчайшее распространение, строить свою локальную сеть (например, чтобы соединить сеть офисов) совершенно невыгодно (даже в случае офисов, расположенных в пределах одного города)! Намного дешевле подключиться к одной из глобальных сетей и работать через нее. Однако подобное решение очень уязвимо с точки зрения безопасности — передаваемую через сеть информацию довольно легко перехватить или подменить, требуется защищаться от сетевых атак (что особенно актуально, если глобальная сеть входит в состав Internet, а сегодня это практически всегда так). Virtual Private Network позволяет решить эту проблему — в обычной, «физической» сети создается сеть виртуальная. С точки зрения обычного пользователя (и программного обеспечения) все выглядит как будто он работает в «частной» внутренней сети, а никакой глобальной и не существует, словно сетевое оборудование работает по собственным проложенным каналам, а не через глобальную сеть. На самом деле сетевые пакеты просто шифруются (чтобы их было невозможно прочитать или подменить), упаковываются в другие пакеты, после чего передаются по глобальной сети получателю, который распаковывает и расшифровывает полученные данные и передает пакет виртуальной сети пользователя.
Представьте себе корпоративную почту внутри одного предприятия. Вы пишите письмо, отдаете его курьеру и он доставляет его по месту назначения — так работает обычная локальная сеть. Сеть растет и в какой-то момент у нас появляется несколько локальных сетей, между которыми тоже должна ходить почта. Можно проложить свои «тоннели» между сетями, по которым будут бегать курьеры, но это очень дорого — оглянитесь, сети стоят в огромном «городе» — глобальной сети. Однако пользоваться «городской почтой» неудобно — ваше письмо могут перехватить, либо написать от вашего имени свое конкуренты, да и просто стоит лишь открыть «двери в город», как оттуда на вас посыплются разные нежелательные сюрпризы. Наконец, не всегда удобно указывать полный почтовый адрес получателя — куда проще написать «отдел такой-то, тому-то в руки» чем перечислять город, улицу, дом и затем уже тот отдел и получателя. VPN позволяет решить все эти проблемы — теперь Вы снова работаете с внутренними адресами — «отдел, получатель». Отдаете письмо курьеру, он его «опечатывает», кладет в бронированный сейф (если и попадет к конкурентам — не беда, да и конкуренты «сейф» скопировать не в состоянии) и выходит из локальной сети через систему безопасности предприятия (больше через нее никого не пропускают и потому Вы защищены от любых нежелательных «гостей»). Курьер знает, где расположены свои локальные сети, поэтому он переводит внутренний адрес в городской и пересылает по нему «сейф». У получателя есть ключи от сейфа, поэтому местный курьер откроет пришедший по почте сейф, достанет письмо и передаст его получателю. Прикладные программы снова безопасно работают с внутренней почтой и не потребовалось городить дорогостоящие линии связи.
Протоколов, позволяющих организовать VPN — два. Первый — это хорошо всем знакомый SSL (Secure Socket Layer), который обладает изрядной универсальностью и потому широко используется в современном Internet. Вы наверняка работали с shtml-страницами и видели предупреждения IE о входе в «защищенную зону» и выходе из нее — в эти моменты ваш компьютер создавал маленькую частную сеть на две машины — вашу и сервер с которым вы работали и безопасно передавал через нее данные. Второй — более специализированный IPSec, разработанный специально для организации VPN.
Как вы уже поняли, Security Engine от Alchemy Au1550 позволяет работать с обоими способами организации VPN практически без потерь в скорости, что позволяет организовывать на нем маломощные сетевые маршрутизаторы для организации VPN-сетей, либо разрабатывать на его основе системы (те же банкоматы, например), напрямую подключающиеся к глобальной сети, и работающих с использованием VPN. Читать дальше >>>
Следующий пункт Alchemy — аппаратная поддержка протоколов шифрования. Здесь все просто — поддерживаются старые надежные стандарты DES и 3DES, новый AES (с ключами 128, 192 и 256 бит), известнейший алгоритм хэширования MD5, а также некоторые другие алгоритмы. Шифрование пригодится в тех случаях, когда VPN может и не защитить (например, злоумышленник находится в самой компании и имеет доступ к корпоративной VPN) — для пересылки данных без использования VPN или просто для случая, когда данные нужно где-то безопасно сохранить. Криптография — достаточно ресурсоемкое приложение и аппаратная поддержка позволяет создавать на Au1550 гораздо более быстро работающие безопасные системы, чем на обычных контроллерах, не оснащенных этими специализированными возможностями и использующими вычислительные возможности процессоров общего назначения.
И, наконец, остается последний пункт Security Engine — аппаратный генератор случайных чисел. Пункт может показаться весьма незначительным, но часто криптографические алгоритмы очень сильно зависят от качества случайных чисел, используемых в качестве ключей к этим алгоритмам. Если генератор случайных чисел слаб, то перебрать все возможные ключи к зашифрованным данным не составит труда. В Alchemy Au1550 используется генератор «настоящих» случайных чисел (основанных на физическом тепловом шуме) — идеально надежный вариант. Без него создателям пришлось бы работать с псевдослучайными числовыми последовательностями (по нескольким начальным числам строится последовательность, очень похожая на случайную).
В общем — полку «защищенных процессоров» прибыло. Au1550, безусловно, найдет свое применение в банковской и государственной аппаратуре, да и вообще везде, где требуется разработка компьютеризованного устройства, подключающегося к сети и требующего обеспечения своей безопасности. Наверняка чип будет использован и в «домашних» и «офисных» маршрутизаторах, так что нам остается лишь порадоваться за AMD, продолжающую интенсивно развиваться даже в не самых благополучных для нее условиях. И пожелать всем дальнейшего улучшения безопасности.