⇣ Содержание
Опрос
|
реклама
Самое интересное в новостях
Тропинки к «Бычьей горе»
Начиная с чипов нового семейства Ivy Bridge, компания Intel будет аппаратно встраивать в свои микропроцессоры цифровой криптогенератор на основе подлинно случайных чисел. Новая криптографическая технология получила кодовое наименование Bull Mountain («Бычья гора», по названию населенного пункта в штате Орегон, расположенного неподалеку от исследовательского центра Intel's Circuit Research Lab в г. Хиллсборо, где и была проделана основная часть работы над Bull Mountain). Для того чтобы стало понятнее не только происхождение странноватого названия, но и то, почему появление новой криптотехнологии можно назвать действительным событием, предлагаю взглянуть на предмет в более широком историческом, теоретическом и прикладном контексте. ⇡#Немного историиСлучилось так, что развитие теории информации и научной криптографии с самого начала шли бок о бок. То есть четкое представление о том, что любую информацию — тексты, картинки, речь, музыку и прочее — можно передавать в двоичном виде как последовательность нулей и единиц, пришло к человечеству практически одновременно с пониманием того, как должны быть устроены шифры для абсолютно надежного засекречивания такого рода передач. Более того, и отцом обеих великих идей стал один и тот же человек — Клод Элвуд Шеннон. Работая в годы Второй мировой войны над задачами обеспечения надежной связи, Шеннон сумел строго математически показать, что защита сигнала от шумовых помех и шифрование информации — это, по сути дела, две стороны одной и той же проблемы. То есть в любом сигнале электросвязи всегда присутствуют две компоненты — полезная информация и хаотический шум электростатических помех, искажающих эту информацию. Для связистов главная задача, конечно же, заключается в эффективной очистке сигнала от шума. А криптографы, которые, по сути дела, накладывают на сигнал искусственный шум с помощью шифрования, заинтересованы в том, чтобы никто, кроме законного получателя, не мог восстановить информацию из-под наложенных шифром помех. Математическое обоснование этой концепции позволило Шеннону доказать, что существует совершенно стойкий шифр, который в принципе невозможно вскрыть аналитически — даже при наличии у противника любых вычислительных и временных ресурсов. Причем шифр этот устроен довольно тривиально (хотя и не очень удобно для практического применения): при каждом засекречивании сообщения длина ключа — или шифрующей последовательности — должна быть точно такой же, как у открытого текста. И если биты этого ключа были сгенерированы на основе чисто случайного хаотического процесса (вроде подбрасывания монеты или сигналов от датчика теплового шума), а побитное наложение этой последовательности для шифрования сеанса происходило строго один раз, то у противника нет никаких шансов вскрыть такую систему без ключа. Пример с тепловым шумом здесь далеко не случаен, поскольку уже само рождение научной теории информации и криптографии происходило под влиянием физико-математического аппарата для описания термодинамических процессов. Шеннон по совету видного научного светила Джона фон Неймана привлек в свою теорию понятие «энтропии» — математической меры, применяемой в термодинамике и статистической физике для характеристики степени хаотичности или разупорядоченности систем. У Шеннона энтропия стала мерой хаотичности сигнала, а количество информации, соответственно, было определено как величина, обратная энтропии. Вспоминая впоследствии этот эпизод, Шеннон не без юмора рассказывал, что вообще-то фон Нейман обосновывал свой совет сугубо прагматичными соображениями: в те времена среди математиков и инженеров мало кто был наслышан об энтропии, а потому автор получил бы огромное преимущество в неизбежных грядущих спорах вокруг новой теории. Вместо споров и критики, однако, произошло очень быстрое и повсеместное признание теории информации научно-техническим сообществом — вполне сравнимое со всеобщим признанием компьютерной архитектуры фон Неймана, реализованной ныне в абсолютном большинстве вычислительных устройств. Ну а в криптографии, как показывает жизнь, несмотря на все грандиозные достижения цифровых технологий, физические источники хаотического шума по-прежнему являются наиболее качественными источниками энтропии для генераторов криптоключей. Или, как их чаще называют из-за востребованности во множестве других областей, для генераторов случайных чисел. ⇡#Немного теорииТеперь давайте вкратце разберемся с тем, что принято называть генераторами случайных чисел или кратко RNG (от Random Number Generator). А также с тем, какие их разновидности сегодня используются чаще всего. Как в учебнике, вводим определение. Под термином RNG понимается подпрограмма или аппаратное устройство, где на выходе порождается такая последовательность чисел из некоторого интервала, что ее значения выглядят непредсказуемыми. Если пояснять непредсказуемость более формально, то каждое значение числа на выходе должно быть статистически независимым от предыдущих значений; общее распределение чисел, выбираемых из интервала, является равномерным; а в последовательности их появления не видно закономерности. В дополнение к этому от современного RNG обычно хотят, чтобы он был достаточно быстрым в выдаче чисел и обладал способностью к масштабированию (то есть при необходимости мог бы порождать нужный выход в ответ на большое число запросов за короткий интервал времени). Кроме того, криптографический RNG должен быть стойким против атак злоумышленников, которые могут наблюдать числа на выходе или менять стартовое состояние генератора, дабы затем предсказывать следующие выходные значения, влиять на выход или как-то еще вмешиваться в работу функций генератора. Если подразделять генераторы случайных чисел на классы, то несколько базовых разновидностей выглядят следующим образом.
Именно такую конструкцию и сумели реализовать разработчики Intel в своем новом криптогенераторе Bull Moutain, который планируется массово встраивать в процессоры, начиная с поколения Ivy Bridge. ⇡#Бочка медаВообще говоря, встраиванием в микропроцессоры генераторов чисто случайных чисел на основе природной энтропии разработчики корпорации Intel начали заниматься довольно давно. Первые такие модули стали появляться в интеловских чипах еще с 1999 года. Там в качестве TRNG выступала компактная аналоговая конструкция, работавшая на основе теплового шума, который имеется во всех резисторах электрических схем. После усиления этого хаотического шума формируемый из него дрожащий сигнал изменял период цикла в относительно медленно «тикающих» часах. Для каждого из тактов этих беспорядочно «тикающих» медленных часов схема чипа брала выход от вторых, быстро «тикающих» часов, которые поочередно выдавали бинарные значения 0 и 1. В результате беспорядочной выборки битов с этого выхода и получалась подлинно случайная последовательность из нулей и единиц генератора. Один из главных минусов этой аналоговой конструкции был в том, что для усиления теплового шума потреблялось немало энергии. Хуже того, данная схема работала в чипе постоянно и независимо от того, нужны ли приложениям в данный момент случайные числа или нет. Другой существенный минус аналоговых компонентов внутри чипа — это серьезные проблемы в ситуациях, когда в очередной раз приходит время менять производственные технологии в сторону более совершенных техпроцессов. Для цифровых элементов схем КМОП-технологии этот регулярный переход осуществляется относительно просто, а вот для каждого нового поколения ужатых аналоговых схем все оказывается гораздо сложнее. Потому что аналоговые компоненты всякий раз требуют дополнительной конструкторской доработки и тестирований, чтобы обеспечивать нужное соотношение сигнал-шум. Принимая во внимание все эти проблемы, к 2008 году конструкторы Intel всерьез озаботились задачей по созданию такого генератора подлинно случайных чисел, который использовал бы в своей работе исключительно цифровые элементы схемы. Согласно приведенной выше таксономии, архитектура нового генератора соответствует модели каскадной конструкции. То есть высокоскоростной (3 миллиарда бит в секунду) источник энтропии, резидентно находящийся в процессоре, используется для часто повторяемого засевания случайными зернами алгоритма, аппаратно реализующего CSPRNG. Чтобы гарантировать высокое криптографическое качество случайных чисел, с огромной скоростью порождаемых на выходе схемы, в Intel разработали специальный трехэтапный процесс генерации. Помимо базовой аппаратной схемы цифрового TRNG (первый этап), данный процесс также предусматривает «кондиционер» для концентрации случайностей в битах от физического источника (второй этап) и псевдослучайный генератор чисел для повышения производительности (заключительный третий этап). В совокупности же вся эта конструкция и получила кодовое наименование Bull Mountain. Как подчеркивают разработчики, Bull Mountain изначально создан в соответствии со множеством криптографических стандартов, чтобы была гарантирована надежность и прозрачность реализации новой схемы. Эти стандарты включают в себя NIST SP800-90, FIPS-140-2 и ANSI X9.82. Самой же интересной частью схемы, конечно, является конструкция цифрового TRNG. Решение, которое удалось найти разработчикам, по праву можно называть парадоксальным, потому что с формальной точки зрения оно нарушает одну из главных заповедей для конструкторов цифровых схем: модули схемы должны находиться в хорошо определенном состоянии, давая на выходе только логические 0 и 1. В конструкции нового RNG, однако, этот принцип, по сути, поставлен с ног на голову. Данная схема построена на основе известного феномена «метастабильности» — обычно крайне нежелательного эффекта в логических схемах, использующих больше одной тактовой частоты. Под действием нескольких управляющих сигналов элементы такой схемы могут «подвисать» в нечетко определенном состоянии между 0 и 1, а выход из этого состояния зависит от случайностей — типа тепловых микровозбуждений в молекулярной структуре схемы. Цифровой же генератор, созданный командой разработчиков Intel, устроен таким образом, что здесь хаотическим результатом метастабильности является в буквальном смысле каждый бит на выходе модуля. Более того, эта случайность результата еще и усиливается дополнительно с помощью петли обратной связи, настраивая метастабильность таким образом, чтобы бит падал в состояние 1 или 0 с примерно равной вероятностью. По сути дела, это «превращает данный процесс в электронный эквивалент подбрасывания монеты» — как прокомментировал конструкцию Грег Тэйлор (Greg Taylor), директор Circuit Research Lab и руководитель проекта «Бычья гора». ⇡#Еще немного историиНа этом месте самое время еще раз упомянуть о делах отца научной криптографии Клода Шеннона. Сегодня мало кто вспоминает, что все свои великие открытия и работы Шеннон сделал до 40 лет, работая в стенах знаменитого исследовательского центра Bell Research Labs. А затем по неведомой причине Шеннон вдруг резко охладел к передовым разработкам, в 1958 году уволился из Bell Research и занялся тихой преподавательской деятельностью в стенах Массачусетского технологического института. С той поры он не выдал ни одной работы, по своему масштабу хоть как-то соизмеримой с его прошлыми теоретическими достижениями. Но это вовсе не означает, что большой ученый предавался безделью. Совсем наоборот, помимо безусловного теоретического дара, Шеннону были присущи таланты рукастого и изобретательного инженера-конструктора, благодаря которым он постоянно и очень увлеченно занимался созданием самых разных механизмов и гаджетов — от лыж для хождения по воде до роботов, жонглирующих мячиками. Люди, бывавшие в большом доме Шеннона, похожем на гибрид музея и мастерской, впоследствии рассказывали о множестве удивительных вещей, изготовленных ученым. Например, было там развлекавшее посетителей механическое устройство, которое работало как подбрасыватель монеты. Устройство было настроено Шенноном настолько точно, что он мог заранее задавать количество оборотов монеты в воздухе, абсолютно точно программируя таким образом исход как будто бы чисто случайного эксперимента с выпадением орла или решки. Интерес ученого к тонким взаимосвязям между случайными и детерминированными процессами в 1960-е годы дал и еще один занятный результат: миниатюрный, размером с пачку сигарет аналоговый компьютер, позволявший предсказывать наиболее вероятный сектор-осьмушку для шарика рулетки, запускаемого крупье в казино (расчет по скорости вращения колеса и начальной скорости шарика). Другой участник этого «строго засекреченного» проекта, известный математик Эдвард Торп, тридцать с лишним лет спустя рассказал на одной из научных конференций, что данное устройство действительно работало, и они с Шенноном даже специально ездили в Лас-Вегас для его практического применения… ⇡#Ложка дегтяНабор упомянутых фактов из биографии великого ученого понадобился здесь для того, чтобы наглядно продемонстрировать, сколь эффективно оперируют совершенно случайными, казалось бы, процессами те люди, которые глубоко понимают их подлинную, «не совсем случайную» природу. В области защиты информации такую позицию глубоко понимающего наблюдателя занимают криптографические спецслужбы, и в первую очередь самая крупная и мощная из них — АНБ США. По давно сложившейся традиции, в АНБ очень ревниво относятся к появлению на рынке сильной криптографии, не поддающейся быстрому аналитическому вскрытию, а потому используют все доступные им рычаги для внешне незаметного ослабления шифров и генераторов криптоключей. В самой примитивной форме эту стратегию контроля реализуют элементарным укорачиванием ключа, оставляя рабочими лишь бит 40 или около того, а остальные принудительно забивая нулями или оставляя постоянными. Как это сделано, к примеру, в телефонах GSM или в крипточипах противоугонных автомобильных систем. В частности, в применявшихся вплоть до последнего времени системах на основе RFID-чипов DST фирмы Texas Instruments длина ключа составляла всего 40 бит, а в системах на основе KeeLoq фирмы Microchip, где общая длина ключа 64 бита, реально работают и изменяются при каждом сеансе лишь 28 бит. В несколько более изощренной форме эта же стратегия может принимать форму криптоалгоритмов с любой, в принципе, рабочей длиной ключа, но функционирующих таким образом, что для грамотного вскрытия этот (или эквивалентный ему) ключ подбирается очень просто или вообще известен заранее. Нечто подобное, в частности, было реализовано в единой схеме генератора криптоключей всех версий ОС Windows вплоть до Win XP. Известно, что подобная участь не обошла стороной и некоторые из прошлых криптосхем Intel. Например, бесспорно квалифицированные специалисты именно этой компании разрабатывали одиозно известную систему CSS DVD для защиты от копирования контента на видеодисках. В итоге этой разработки получилась криптосхема, защиту которой современные программы копирования снимают столь легко, что многие пользователи подобных программ даже не осознают, что взламывают систему, некогда полагавшуюся очень сильной. Почему так вышло, официально никто не объяснял. Однако в кулуарах Сети давно гуляют анонимные признания сотрудников фирмы, согласно которым Intel просто «попросили» реализовать слабую криптозащиту, понадеявшись на сохранение схемы в тайне. В случае с грядущей массовой доступностью мощного криптогенератора в новых процессорах Intel Ivy Bridge все обстоит гораздо серьезнее, чем с защитой фильмов на DVD. Фактически благодаря системе Bull Mountain кто угодно — террористы, бандиты и, конечно же, чертовы педофилы (стандартный набор параметров в доводах за ослабленное крипто) — получают возможность быстро и дешево создавать совершенно стойкие шифры почти по Шеннону, гарантированно противостоящие взлому. Все, что для этого надо, — просто вызвать новую инструкцию процессора RdRand и на огромной скорости сгенерировать сотни гигабайт случайной шифрпоследовательности, разбитой на странички по 1000, скажем, знаков для удобства употребления одноразового шифра в переписке. Создать копированием второй экземпляр массива — и все... Возможно, конечно, что в АНБ подобные угрозы уже никого вдруг ныне не волнуют. Вот только верится в это как-то с трудом. Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.
|