УДК 681.3
ПРОБЛЕМЫ БЕЗОПАСНОСТИ АППАРАТНЫХ ПЛАТФОРМ, РЕАЛИЗУЮЩИХ КРИПТОГРАФИЧЕСКИЕ ФУНКЦИИ
Артамонов В.А., Короткевич О.С.
Белорусский национальный технический университет
Минск, Республика Беларусь
В последнее время наметилась тенденция реализации криптографических алгоритмов на базе аппаратных платформ. Во всех отношениях удобная и эффективная информационная технология («вся криптография на борту»), тем не менее обладает некоторыми уязвимостями, которые необходимо преодолевать разработчикам при создании защищённых систем информационно-коммуникационных технологий.
Так, при оценке безопасности ассиметричных криптографических протоколов, обычно предполагается, что криптоаналитик (или нарушитель) имеет полное описание протокола и алгоритмов в него входящих, владеет публичными ключами, а секретным является только закрытый ключ. Кроме того, нарушитель может перехватить некоторые данные, которыми обмениваются легитимные участники, и может даже осуществлять некоторый контроль над природой этих данных (например, путем выбора сообщений для подписи, если целью является компрометация секретного ключа, используемого при создании цифровой подписи). Как правило, криптографические протоколы остаются полностью устойчивыми с математической точки зрения, даже с учетом всех указанных допущений.
В последнее время для осуществления атак на криптографические протоколы и алгоритмы все чаще используются так называемые побочные или технические каналы утечки информации (side-channel attacks). На сегодня, классификация атак на аппаратные криптографические платформы по побочным каналам включает три основных вида [1] :
– пассивные атаки, основанные на наблюдении за каким-либо физическим параметром (энергопотреблением, электромагнитным излучением и т.д.);
– активные атаки без проникновения, основанные на генерации случайных аппаратных ошибок во время исполнения команд;
– активные атаки с проникновением, использующие методы послойного доступа к топологии кристалла с использованием специальных зондов или подаче высокочастотного сигнала на один из входов криптографического модуля с последующим перехватом по эфиру и демодуляцией критической информации (ВЧ-навязывание).
Утечка информации через такие каналы чаще всего не предусматривается в классической модели безопасности протокола.
Существует возможность проведения атак на аппаратное устройство, реализующее криптографический алгоритм (в нашем примере ECDSA - стандарт создания электронной цифровой подписи базирующийся на арифметике эллиптических кривых). Как правило, для создания аппаратной реализации устройств шифрования и выработки ЭЦП используются логические элементы на базе КМОП (CMOS) технологии. Основываясь на физических принципах работы КМОП микросхем и получив доступ к ненадежному (с точки зрения утечки информации по техническим каналам) источнику питания, используемому аппаратным устройством для осуществления генерации ЭЦП, можно провести анализ потребляемой им мощности.
В алгоритмах, базирующихся на эллиптических кривых [2] (в том числе и в рассматриваемом ECDSA алгоритме) используются два типа операций - сложение чисел на эллиптической кривой и удвоение числа. Допуская, что устройство, выполняющее вычислительные операции при создании электронной цифровой подписи по стандарту ECDSA, подключено к незащищенному источнику питания, к которому имеет доступ злоумышленник, недоброжелатель может получить осциллограмму потребления мощности данным устройством.
На графике потребления мощности аппаратным устройством (рис.1) можно
Рис.1 Потребление мощности устройством при проведении операции сложения (A) и удвоения (D) на эллиптической кривой над простым полем.
четко выделить проведение данных операций в пределах одного вычислительного такта. На приведенной осциллограмме участки D (double) соответствуют операции удваивания числа на эллиптической кривой, а участки A (addition) - операции сложения двух чисел на эллиптической кривой.
Допуская, что модуль эллиптической кривой известен, известно подписываемое сообщение, и в пределах одного сообщения используется один и тот же секретный ключ, основываясь на полученных с осциллограммы данных и используя известный алгоритм [3], можно восстановить используемый закрытый ключ.
Существует несколько методов противодействия такого рода атакам, но, как правило, контрмеры включают в себя предумышленные изменения в алгоритмах – внедрение дополнительных «пустых» операций.
Эффективность контрмер в значительной степени зависит от характеристик аппаратной платформы, операционной среды, возможностей нарушителя и должна оцениваться на основе каждого конкретного случая.
В качестве примера на рис.2 показан, результат маскировки последовательности операций сложения и удваивания на эллиптической кривой над простым полем. Операции-«пустышки» были включены в алгоритмы для сложения и удвоения таким образом, что последовательность элементарных операций выполняемых при удваивании, ровно два раза используются в операции сложения, тем самым маскируя операцию сложения.
Рис.2 Маскировка операции сложения на эллиптической кривой путем введения «пустых» операций.
Предлагаемый способ борьбы с такого-рода уязвимостями, основанный на внедрении дополнительных операций в цикл алгоритмов вполне может избавить систему от подобных уязвимостей.
Далее в докладе рассматриваются специальные меры (в том числе и исполнения конструктива платформы) для устранения вышеперечисленных угроз и уязвимостей.
1.Mayes K.E., Markantionakis K. Smart Cards, Tokens, Security and Applications. – Springer Science, 2008
2.. Болотов А.А. Алгебраические основы эллиптической криптографии. – М., 2007 – 311с.: ил.
3. Hankerson D., Menezes A. Guide to Elliptic Curve Cryptography – Springer, 2009.
Отправить статью в социальные сети, на печать, e-mail и в другие сервисы: