EA003874B1 - Способ обработки данных, устойчивый к извлечению данных с помощью анализа непреднамеренных сигналов побочного ввода-вывода - Google Patents
Способ обработки данных, устойчивый к извлечению данных с помощью анализа непреднамеренных сигналов побочного ввода-вывода Download PDFInfo
- Publication number
- EA003874B1 EA003874B1 EA200200468A EA200200468A EA003874B1 EA 003874 B1 EA003874 B1 EA 003874B1 EA 200200468 A EA200200468 A EA 200200468A EA 200200468 A EA200200468 A EA 200200468A EA 003874 B1 EA003874 B1 EA 003874B1
- Authority
- EA
- Eurasian Patent Office
- Prior art keywords
- data
- mappings
- mapping
- algorithm
- mapped
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
- G07F7/10—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
- G07F7/1008—Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/75—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
- G06F21/755—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation with measures against power attack
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
- G06Q20/341—Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
- G07F7/0806—Details of the card
- G07F7/0813—Specific details related to card security
- G07F7/082—Features insuring the integrity of the data on or in the card
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
- G07F7/0806—Details of the card
- G07F7/0833—Card having specific functional components
- G07F7/084—Additional components relating to data transfer and storing, e.g. error detection, self-diagnosis
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
- G07F7/10—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
- G07F7/1025—Identification of user by a PIN code
- G07F7/1083—Counting of PIN attempts
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0625—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/72—Indexing scheme relating to groups G06F7/72 - G06F7/729
- G06F2207/7219—Countermeasures against side channel or fault attacks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/16—Obfuscation or hiding, e.g. involving white box
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Accounting & Taxation (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Storage Device Security (AREA)
Abstract
Изобретение относится к защите данных, в частности это изобретение касается уменьшения риска несанкционированного доступа к данным. Изобретение обеспечивает практическую и эффективную модификацию криптографических и других процессов, при этом такая модификация основана на секретности данных через изменяющееся отображение всех секретных данных и промежуточных данных для вычисления и хранения. Примерами таких данных являются криптографические коды, сохраненные и сообщенные данные. Там, где или отображенные данные, или выбранное отображение (или все отображения составного объекта, где это используется) неизвестны, не может быть определена никакая информация относительно секретных данных. Эта методика обладает значительными возможностями уменьшить утечку через побочный канал ввода-вывода количества доступной информации, касающейся первоначальных данных, при условии, что наблюдаемая утечка побочного канала ввода-вывода достаточна низкая. Таким образом, чтобы получить преимущества от изобретения, здесь предлагается метод обработки данных для того, чтобы уменьшить риск неуполномоченного доступа к данным, например, через DPA, этот метод включает в себя следующие шаги: разработку алгоритмов, в частности, но не исключительно, шифров, для получения максимальной выгоды от этой методики; расширение общеизвестной методики селективно блокирующихся данных до большего набора отображений; видоизменение выполнения алгоритма, чтобы работать по отображенным данным; первоначальное отображение данных, особенно криптографических кодов, для хранения; изменение получения отображения от каждого прежнего отображения при
Description
Это изобретение относится к защите данных, в частности это изобретение касается уменьшения риска несанкционированного доступа к данным.
Предшествующий уровень техники Атаки на секретные данные через побочные каналы ввода-вывода
Криптографические системы традиционно изображаются с шифром (кодирования или декодирования) в виде метафорического черного ящика, в котором входные данные (открытый текст или зашифрованный текст) внутренне обрабатываются при использовании секретного кода, и единственной информацией, покидающей черный ящик, являются заранее намеченные выходные данные.
Недавно было показано (например, в работах П. Кочер, Дж. Джаффе и Б. Джуна, Дифференциальный анализ степени. Абуапсек ίη Сгур1о1оду - Ртосеебшдк о£ Стур1о '99, БесШге ΝοΚδ ίη Сотри1ет 8с1епсе, Уо1. 1666, 8ртшдегУег1ад. 1999), что информация побочного канала ввода-вывода типа непреднамеренно вызванного электромагнитного излучения или колебаний мощности, исходящих от устройства, может легко и эффективно использоваться в атаке, целью которой является наблюдение за обрабатываемой информацией. Это приводит к тому, что добыть секретный код становится намного проще, чем позволяет предположить традиционная модель криптоанализа, так как прямое наблюдение внутренней обработки, хотя и с помехами, становится доступным для нападающего.
Там, где операция шифрования использует ключ неоднократно, нападавший может вообще получать его, контролируя и анализируя побочную информацию в течение нескольких операций, без обращения к традиционным методам криптоанализа. Минимальное число повторенных действий, которые должны наблюдаться для того, чтобы выяснить значение кода (или любых повторно использованных внутренних данных), обычно изменяется в обратном соотношении к отношению мощности сигнала (который атакующий пытается наблюдать), к мощности шума (отношение сигнал-помеха). Например, там, где модификация аппаратного обеспечения уменьшает это отношение 100кратно (то есть на 20 бВ), для того, чтобы извлечь ключ, нападающему, скорее всего, придется наблюдать много действий, примерно в 100 раз больше.
Имеются практические и экономические пределы в уменьшении отношения сигналпомеха побочного канала ввода-вывода, что производится с помощью, например, экранирования и добавления шума. Там, где надежный процессор (типа кристаллической микросхемы) остается в руках потенциального нападающего, он может легко стимулировать процессор повторно, вводя входные данные при вниматель ном наблюдении за побочным каналом вводавывода. К картам с микросхемой относятся, например, платы специального платного кабельного канала и банковские карты. Потратив совсем немного времени и денег, нападающий может оказаться способным извлечь информацию, в которой он заинтересован, используя статистические методы, здесь названные ЭРА (Дифференциальный анализ степени). Это обозначение появилось благодаря наиболее популярным каналам ввода-вывода для контроля карт с микросхемой, являясь наблюдением колебаний мощности, выдаваемых устройством. Методика ЭРА может поочередно применяться к замаскированному приему и к анализу радиочастотных сигналов, излучаемых компьютером, который выполняет манипулирование данными.
С использованием простых разработок карт с микросхемой анализ различий средних в группах нескольких сходных форм волны может привести к извлечению секретных данных. Это является примером атаки ЭРА первого уровня. Было показано, что в настоящее время имеющиеся коммерческие карты с микросхемой, почти все без исключения, являются уязвимыми к такой атаке, обладая ресурсами, доступными для наиболее решительных личностей. С использованием соответствующего алгоритмического проекта и добавлением случайности возможно сохранить данные в секрете при атаке первого уровня или даже при ЭРА-атаке более высокого порядка.
Порядок ЭРА-атаки может быть определен как минимальное число промежуточных переменных, из которых могут быть получены любые из данных, подвергнутых атаке, при этом каждая из этих промежуточных переменных получена из наблюдений, с помощью усредняющего процесса в большом числе наблюдений. Более интуитивное (но менее точное) определение может быть таким, что это число внутренних цифровых состояний, из которых должны быть сделаны прямые (если с помехами) наблюдения побочного канала ввода-вывода для того, чтобы получить любую информацию, желательную для нападавшего.
С более усложненной обработкой данных (так называемой ЭРА-атакой более высокого порядка) и большим числом наблюдений, в принципе, останется возможным определить с некоторой степенью достоверности любые секретные обрабатываемые данные, хотя необходимое число наблюдений может быть непомерно большим.
Цель методов изобретения, представленного здесь, состоит в том, чтобы уменьшить количество полезной информации, которую нападающий может получать от побочного сигнала ввода-вывода, и увеличить минимальную усложненность и трудность успешной атаки. Методы включают в себя защиту против атак первого и более высокого порядка.
Целью разработок в устройствах безопасности, касающихся секретных данных в целом, должно быть поддерживание ниже допустимых пределов количества утекающей информации о секретных данных в течение срока службы секрета. Это может быть достигнуто через криптографические механизмы создания процесса объединения малых количеств утекающей информации в используемое целое количество, трудно обрабатываемое в вычислительном отношении. Это может также быть достигнуто через ограничение скорости утечки информации таким образом, чтобы совокупная утечка секрета в течение срока службы секретной информации (определенной в информационно-теоретическом смысле) была допустимо низкой, что и является целью этого изобретения.
Математические основы
Набор данных (например, биты), который назван здесь первоначальным набором данных, может быть отображен на другой набор данных таким образом, что первоначальный набор данных остается полностью неизвестным наблюдателю, несмотря на то, что отображенный набор данных известен наблюдателю. Первоначальные данные могут быть восстановлены из отображенных данных, когда отбор отображения известен. Чтобы сохранить тайну данных, отбор отображения должен быть неизвестен наблюдателю и отображение должно быть выбрано случайным образом для каждого нового набора данных таким образом, чтобы каждый возможный первоначальный набор данных отображался для каждого возможного отображенного представления с равной вероятностью. Этот принцип используется настоящим изобретением.
Операторы (для объединения одного или большего количества операндов в результат) используются как стандартные блоки в разработке шифра. Примеры таких операторов включают поисковую таблицу - унарный оператор модульное сложение или вычитание, бит для бита исключающее ИЛИ шириной в машинное слово, и р-модульное умножение (свыше набора значений от 1 до р-1, где р - первое число). Последние все являются двоичными операторами. Широко известен шифр ШЕА (разработанный Хуэйджиа Лэй и Джеймсом Мессеем), который использует три таких бинарных оператора, а широко известный ΌΕ8 шифр (Стандарта шифрования данных) использует поисковые таблицы, бит для бита исключающее ИЛИ оператор и перестановки разряда.
В общем, отдельно и произвольно выбранное взаимно-однозначное отображение может применяться к каждому из входов и к выходу любого оператора. Тогда может быть определен эквивалентный оператор, который генерирует правильные отображенные значения выходных данных из отображенных значений входных данных для каждого выбранного отображения. Для любого заданного оператора может сущест вовать набор таких отображений, так что этот эквивалентный оператор будет являться идентичным первоначальному оператору и будет удовлетворять необходимым условиям для сохранения в тайне информации, касающейся первоначальных данных. Принцип, включая ограничение на идентичный оператор, часто называют селективно блокирующим (слепым), хотя степень диапазона отображений, возможных для типичных операторов, редко реализуется.
Например, отображение операции добавления модуля х+у =ζ (тоб т) при ограниченинии, что оператор остается неизменяемым, позволяют существовать семейству отображений от (х, у, ζ) до (х;, у;, ζ1), где х1^а1х+Ь1 (тоб т), у,^а,у+с, (тоб т) и ζ,Ξα,ζ+Ε+ο, (тоб т), где а! является любым числом, которое взаимно простое с т, а Ь и с1 являются любыми числами. Если т является степенью 2 (то есть вида т=2п), то существуют т/2 возможные значения для а1 и т возможные значения для каждого из Ь и с1. Множество разрядных операций (типа сложения, умножения и возведения в степень) будут проявлять подобные свойства.
Операция бит к биту исключающее ИЛИ шириной в слово (которую мы рассматриваем здесь как сложение двух векторов п компонентов по полю Ζ2, сложение и умножение эквивалентны к бинарным операциям исключающее ИЛИ и И соответственно, и мы используем нижний регистр, чтобы указать вектор, и верхний регистр, чтобы указать матрицу) х+у=ζ имеет больший выбор отображений данных, чем имеет сложение по модулю 2п, при ограничении, что оператор должен остаться неизменяемым. Они имеют формы х1=А1х+Ь1,у1=А1у+с1 и ζι=Α;ζ+1>ί+θί. А, может быть любым из 0<2 21 матриц - с инверсией - и Ь1 и с1 могут каждый иметь любое из 2 значений, давая “ явные отображения для каждого значения (если не обращать внимания на ограничения, подразумеваемые совместной матрицей А1). Если п=8 бит, то имеется приблизительно 270,2 таких отображений.
Размер ряда отображений, доступных для операции исключающее ИЛИ, может значительно понизить применимость побочного сигнала ввода-вывода и таким образом может привести к компрометации некоторых из требований для секретной информации. Такая компрометация (например, повторное использование отбора отображений) может быть полезна в уменьшении сложности конечной разработки алгоритма, при этом сохраняя количество информации, утекающей к нападающему на допустимо низком уровне.
Множественные отображения могут последовательно применяться к тем же самым данным для того, чтобы создать отображение составного объекта - например, х=Л(х), х1_1=У,(х1). Хотя это и эквивалентно одиночному отображению хк=/к(х), где /к=ф°У1, но если размещено верно, то нападающий должен получить информацию о множественных независимых наборах данных (три в примере - хк, /1 и перед получением любой информации об первоначальных данных. Это увеличивает порядок атаки ΌΡΆ (обычно равный числу независимых наборов данных) и число требуемых наблюдений (обычно как степень числа независимых наборов данных), необходимых перед тем, как извлечь полезную информацию из наблюдений.
Унарные операторы (типа поисковой таблицы или бит-перестановки) также находят применения в шифрах. Отображения, которые позволяют оператору оставаться неизменным, ограничены только тогда, когда происходит потеря данных в операции (т.е. как многие к одному), но может стать более чувствительной для изменения оператора в этих случаях, например, при помощи зависимой от отображения поисковой таблицы.
Международная публикация XVО 99/67919 Кочера, Джаффе и Джуна предлагает способы и устройства для улучшенного ΌΕ8 криптографического протокола против внешних атак наблюдения с помощью уменьшения количества (и отношения сигнал-помеха) полезной информации, утекающей в течение обработки. Улучшенное ΌΕδ-кодирование в изобретении вместо этого использует два 56-разрядных кода (К1 и К2) и два 64-разрядных сообщения открытого текста (М1 и М2), причем каждый из них связан с перестановкой (то есть Κ1Ρ, Κ2Ρ и М1Р, М2Р) такой, что Κ1Ρ {Κ1} ХОК К2Р {К2} равен стандартному ΌΕ8 коду К и М1Р {М1} ХОК М2Р {М2} равен стандартному сообщению. Во время работы устройства предпочтительно, чтобы таблицы периодически обновлялись посредством введения свежей энтропии в таблицы быстрее, чем информация просачивается, так, чтобы нападающие не были способны получить содержимое таблицы с помощью анализа измерений. Методику можно реализовать в криптографических картах с микросхемой (смарткартах), фальсифицируя чипы защиты и делая безопасными системы обработки всех видов. Если используется селективная блокировка, то зависимость между числом наблюдений, необходимых, чтобы извлечь полезную информацию через побочные каналы ввода-вывода, и степень 8ΝΚ этого канала отличаются от наблюдений обратно пропорционально, но при этом нет признаков понимания этого принципа в данной заявке. В случае селективной блокировки, как в этом предложении (с или без перестановки), должно ожидаться, что число требуемых наблюдений будет изменяться обратно пропорционально квадрату степени 8ΝΚ (то есть четвертой степени величины 8ΝΚ).
Сущность изобретения
Методика изобретения обеспечивает практическую и эффективную модификацию криптографических и других процессов, при этом такая модификация основана на секретности данных через изменяющееся отображение всех секретных и промежуточных данных для вычисления и хранения. Примерами таких данных являются криптографические коды, сохраненные и сообщенные данные.
Там, где отображенные данные или выбранное отображение (или все отображения составного объекта, где это используется) неизвестны, не может быть определена никакая информация относительно секретных данных. Эта методика обладает возможностями значительно уменьшить утечку количества доступной информации, касающейся первоначальных данных, через побочный канал ввода-вывода, при условии, что наблюдаемая утечка побочного канала ввода-вывода достаточна низкая.
Секретные данные, чаще всего, криптографические коды, никогда не нужны в первоначальном виде (без прикладного отображения), за исключением их использования в начальном отображении, и случайным образом заново отображены на просматривающемся базисе, чтобы избежать повторения данных, которое облегчило бы ΌΡΆ-атаку.
Примером того, когда эта методика будет иметь большое значение, являются карты с микросхемами, где ΌΡΆ может в некоторых случаях давать возможность неуполномоченной стороне использовать данные в течение нескольких минут, исключительно через анализ пропущенных сигналов побочного ввода-вывода. Другое потенциальное использование заключается в вычислении и хранении данных в вычислительных устройствах, где электромагнитное излучение может ставить под угрозу тайну данных.
Таким образом, чтобы получить преимущества от изобретения, здесь предлагается метод обработки данных для того, чтобы уменьшить риск неуполномоченного доступа к данным, например, через ΌΡΆ, этот метод включает в себя следующие шаги:
разработку алгоритмов, в частности, но не исключительно, шифров, для получения максимальной выгоды от этой методики;
расширение общеизвестной методики селективно блокирующихся данных до большего набора отображений;
видоизменение выполнения алгоритма, чтобы работать по отображенным данным;
первоначальное отображение данных, особенно криптографических кодов, для хранения;
изменение получения отображения от каждого прежнего отображения при помощи вторичного отображения;
отображение входящих данных для ввода к видоизменяемому решению алгоритма; и отображение выходных данных от видоизмененного алгоритма для дальнейшего использования.
Метод может включать в себя как хранение секретных данных, так и отбор отображения на секрете данных.
Отображение данных и вторичное отображение данных могут находиться в форме поисковой таблицы, алгоритма с данными отображения - отбора или тому подобного.
Методы могут включать в себя составные (каскадные), но по отдельности прикладные отображения для того, чтобы уменьшить количество информации, которая может быть получена от данного числа наблюдений нападающим, и увеличить самый низкий порядок успешной атаки ΌΡΆ.
Отображенные данные и отбор отображения могут быть переданы на отдаленное место.
Описание рисунков
Изобретение может быть лучше понято при использовании следующих объяснений, неограниченных примеров и сопроводительных рисунков.
Фиг. 1 схематически изображает прототип криптографической операции;
фиг. 2 - побочную утечку информации по каналам ввода-вывода в операции на фиг. 1;
фиг. 3 - замену двух-вводной операции на эквивалент с отображенным данными;
фиг. 4 - объединение последовательных отображений;
фиг. 5 - замену шифра на его видоизмененный эквивалент;
фиг. 6 - начальное отображение кода для хранения;
фиг. 7 - итерационное отображение кода;
фиг. 8 - упрощенный шифр, иллюстрирующий процесс отображения; и фиг. 9 показывает некоторые особенности примера 3: создание ΌΕδ-шифра, стойкого к атакам ΌΡΆ как 1-ого, так и 2-го порядков.
На фиг. 1 цифра ссылки 10 в целом обозначает традиционный черный ящик криптографической операции. В операции 10 входные данные 12 преобразованы при использовании кода 14 до выходных данных 16.
На фиг. 2 цифра ссылки 20 в целом обозначает традиционную криптографическую операцию, такую, как показано на фиг. 1, далее указывая утечку через побочный канал вводавывода. Операция 20 включает в себя ввод данных 22, преобразование кодом 24 к выходным данным 26 и утечке сигнала 28.
На фиг. 3 цифра ссылки 30 в целом обозначает процесс замены операции с двумя входами на эквивалент с селективно-блокированными данными. В операции 30 стандартная операция с двумя входами представлена с вводами 32 и 34, которые работают через оператор 31, чтобы произвести выходные данные 36. Операция селективной блокировки данных сно ва использует вводы 32 и 34, которые далее отображены отображениями 35 и 37 перед действием с помощью оператора 33. Объединенный вывод тогда отображен выводом, отображающим 39, чтобы обеспечить отображенные выходные данные 36.
На фиг. 4 цифра ссылки 40 в целом обозначает процесс сочетания последовательных отображений фиг. 3 из каскадных действий. Операторы 41 и 47 соответствуют двум отдельным случаям операции 33 фиг. 3. Отображение 43 соответствует выводу, отображающему 39 относительно оператора 41, и отображение 45 соответствует отображению ввода (типа 35 или 37) относительно оператора 47. Отображение 49 (Ус,а) - единственный составной объект отображения, полученный из 43 и 45, который не генерирует никакие данные, коррелированные к первоначальным данным даже в виде промежуточных значений.
На фиг. 5 цифра ссылки 50 в целом обозначает замену шифра на его видоизмененный эквивалент (как промежуточный шаг получения конечного осуществления изобретения). Можно видеть, что в немодифицированной криптографической операции входные данные 52 действуют через операцию шифрования 53 при использовании кода 51, передавая выходные данные 54. В видоизмененном эквиваленте входные данные 52 преобразованы с помощью трансформации 56 в отображенную форму до того, как воздействовать через видоизмененный шифр 57 при использовании кода в отображенной форме, передавая отображенные выходные данные, из которых могут быть получены первоначальные выходные данные 54 при использовании преобразования 58.
На фиг. 6 цифра ссылки 60 в целом обозначает процесс создания непредсказуемого отбора отображения. Первоначальный код 62 отображен 63 согласно отбору, проведенному 60 и сохраненному 64. Отбор отображения сохранен 68 для использования с отображенным кодом.
На фиг. 7 цифра ссылки 70 указывает процесс создания непредсказуемого отбора вторичного отображения. Предварительно отображенный код 72 далее отображен 73 при помощи выбранного отображения вторичного отображения и сохраненной 74, обычно заменяя 72. Предварительно сохраненный отбор отображения 76 обработан со знанием отбора вторичного отображения, чтобы выдать отбор отображения, применимый к 74, и это сохранено 78, обычно замещая 76.
На фиг. 8 цифра ссылки 80 в целом указывает процесс замены алгоритма на алгоритм, который работает по отображенным данным.
Шифр 83 работает по вводимому тексту 81 и шифру 82, чтобы выдать блок выводимого текста 84. При замене вводимый текст 81 отображен как 85 при использовании одного или более соответствующих отображений. Произвольно первоначальный код 82 сходным образом отображен как 86 для того, чтобы выдать отображенный код 89. Альтернативно 89 может быть получен из отображенных выходных данных операции расшифровки. 86 далее относится к повторяющемуся изменению отображения применительно к коду. Модифицированный шифр 87 работает по отображенным данным, и его отображенные выходные данные произвольно работают на 88 через операцию отображения для того, чтобы выдать те же самые выходные данные 84, какие были бы выданы немодифицированным шифром 83. Попеременно вывод 87 может использоваться прямо с данными отбора отображения в аналогично модифицированных алгоритмах в эквивалентах 85 и 86 для того, чтобы избежать появления первоначальной формы данных.
На фиг. 9 цифра ссылки 90 в целом указывает процесс замены разрядных перестановок на манипуляцию отображенных данных и данные отбора отображения для независимо применяемых отображений для каждого отображенного информационного разряда. Цифра ссылки 91 аналогично указывает замену дублирования информационного разряда без введения дифференцирования между отображениями, но с предупреждением о том, что надо проявлять осторожность в отношении рекомбинации таких данных, вводящих нежелательную отмену непредсказуемости. Цифра ссылки 92 представляет ту же самую операцию замены, за исключением того, что непредсказуемая информация 95 вводится для того, чтобы избежать предупреждения, упомянутого для 91. Цифра ссылки 93 аналогично указывает замену операции исключающее ИЛИ. Цифра ссылки 94 обозначает замену поисковой таблицы ΌΕ8-8 функции (имеющий шесть входных битов и четыре бита вывода) на предварительно рассчитанную поисковую таблицу, используя отображенные значения. При предварительном вычислении непредсказуемые данные 96 и все возможные входные величины 97 объединены с оригинальной таблицей для того, чтобы генерировать все отображенные комбинации вводов-выводов 98 для записи в отображенную поисковую таблицу 99. Это предварительное вычисление может быть выполнено для каждого использования или для комплексных применений таблицы согласно выбору дизайна. Эта поисковая таблица 99 тогда используется в связи с адекватно выделенными действиями повторного отображения (исключающее ИЛИ), чтобы функционировать по отображенным данным. Никакие два вектора битов в диаграмме не могут быть использованы для того, чтобы реконструировать первоначальные данные. Для того чтобы получать достаточную изоляцию, может оказаться необходимым введение задержек в сигнальные пути (как с помощью синхронных защелок между действиями исключающее ИЛИ).
Раскрытие сущности изобретения
Проект шифра
Следует проявлять особое внимание при выборе алгоритма шифра. Соответствующая разработка шифра может привести к следующему шагу (модификации шифра), добавив совсем немного обработки к шифру. Выбирая набор операций, которые используются в шифре, важно свести к минимуму сложность и привести к максимуму секретность данных перед возможной атакой с помощью побочного канала вводавывода. Для разработки существенно понимание следующих аспектов проекта.
Многократное использование отображения с различными наборами данных в пределах алгоритма еще более потенциально ослабит атаку, но там, где такое ослабление не слишком велико (если требуется сопротивление только к ΌΡΑатаке первого уровня), это может приводить к значительно меньшей работе в дополнительном вычислении. Это следует иметь в виду при разработке алгоритма.
Видоизменение шифра
Свежий отбор отображения может использоваться для каждого значения данных (включая выводные данные каждой операции) на всем шифре, иначе отображение может остаться неизменным между двумя операциями. Последнее обычно невозможно, когда эти две операции не связаны между собой, но когда это возможно, то полезно держать сложность на низком уровне. Следует проявлять внимание к тому, чтобы отображение, связанное со всеми промежуточными вычислительными значениями, твердо придерживалось необходимых условий сокрытия тайны (например, если два значения, которые имеют одно и то же самое примененное отображение, объединены через исключающий ИЛИ оператор, то первоначальный вывод нуля будет всегда отображен значением нуля).
Каждая операция заменена операцией, которая выполняет эквивалентную операцию со всеми отображаемыми значениями, как показано на фиг. 3. Вывод, отображающий 39 (/с), определен вводными отображениями 35, 37 (/а и /Ь) и любыми изменениями до основной операции ядра. Например, если вводные отображения составлены из отдельных, случайным образом выбранных значений для каждого из вводов операции добавления, то отображение вывода будет составлено из вычитания суммы случайных значений из вывода, если предполагать, что операции основного добавления остаются идентичными.
Оригинальные значения 32, 34 и 36 (а, Ь и с) все еще имеют место на фиг. 4, но отсутствуют после того, как будет применен следующий шаг. Операция, выполненная на отображенных значениях, обычно будет выбираться как опера11 ция, примененная прежде, если непрактичным будет поиск соответствующей альтернативы (например, для сложения), но может отличаться, если замена является разумной (например, для произвольной поисковой таблицы).
Следующий шаг должен сочетать в себе последовательные отображения 43 и 45 (/с и /а) из каскадных действий 41 и 47 в единственное отображение 49 (ДД, как показано на фиг. 4. Это отображение не должно, даже в виде промежуточного значения вычисления, выводить первоначальные данные или любые данные, связанные с первоначальными данными. Этого в общем можно достичь, когда отображение 49 построено только из информации, которая не может использоваться для выведения информации о первоначальных данных из отображенного значения. Существование коррелированных данных стало бы первоочередной целью для атаки ΌΡΆ. Например, если эти два отображения 43 и 45 являются добавлением модуля отдельных случайных значений, то отображение 49 будет добавлением суммы этих значений, из которых не может быть выведена никакая информация, касающаяся отдельных отборов отображения. Если соседние действия связаны, то это отображение может быть упрощено. Там, где отборы последовательных отображений 43 и 45 скоррелированы (то есть отбор одного влияет на отбор другого), составное отображение может быть несколько проще или даже может стать идентичной операцией (и, следовательно, быть опущенной).
Там, где каскадные операторы 41 и 47 не связаны между собой, может оказаться необходимой сложная (комплексная) операция как выполнение отображения 49 (/сд). В случае необходимости это может быть реализовано при помощи поисковой таблицы или другой операции. Если одно из соседних действий - поисковая таблица, то получающиеся в результате каскадные поисковые таблицы могут быть объединены в одну поисковую таблицу. После этого шага, кроме входных данных, кодовых данных и выходных данных, данные на всех вычислениях сохраняют секрет с помощью отображений. Эти внешние отображения обработаны отдельно в следующих шагах.
С осторожным выбором проекта шифра и ограничений по отбору отображений сложность изменяемого шифра не должна быть намного большей, чем сложность первоначального шифра, независимо от отбора отображения, манипуляции и отображения, внешнего к изменяемому шифру 57. Вычисление, касающееся отображения, использованного в каждой операции, может быть сведено к минимуму. Получившийся в результате математически эквивалентный шифр показан на фиг. 5.
Первоначальное хранение кодов
На фиг. 5 первоначальный код 51, входные данные 52 и выходные данные 54 все еще показаны как существующие без прикладного отображения и все еще могут быть целью атаки ΌΡΆ, когда к ним имеется доступ через операцию, в особенности для процесса отображения. Криптографический код должен быть сохранен только в отображенной форме, где отбор отображения обладает заданной случайностью. Кроме этого, должна быть сохранена информация, кодирующая отбор отображения. Это начальное хранение необходимо только тогда, когда начальный или основной коды загружены (обычно в защищенном окружении), и никогда для кодов, загруженных в зашифрованных сообщениях (см. данные отображения ввода шифра). Это может быть выражено как первоначально сохранение кода к с прикладным отображением к0=/0(к), так же как информация, идентифицирующая отбор отображения, /0. Семейство отображений обычно выбирается относительно операторов, использованных в шифре, в котором применяется код, чтобы избежать ненужных повторных отображений.
Предварительно использованное кодовое отображение
Даже сохраненные примененным (прикладным) отображением как в “Первоначальное хранение кодов”, повторенные доступы позволили бы восстановить как секретные данные, так и информации отображения через методы ΌΡΆ первого уровня (например, через проанализированные средние группы упражнений наблюдаемых следов). Поэтому перед каждым использованием криптографического кода прежнее отображение должно быть заменено на новое, случайным образом выбранное отображение, подвергающееся ограничениям, наложенным проектом. Первоначальное значение кода не должно быть вычислено в этом процессе даже в виде временной переменной. Это приводит к получению значений в форме к1=д1(к1-1]) и/1=ё1°/1-1. По отношению к последнему это означает выведение /1 такого, что /ι(η)=§ι(/ι-1(η)) для любого с.|. Значения отображенных данных к1 и отбора отображения /1 заменят соответствующие сохраненные значения к1-1 и /1-1. Эти значения останутся связанными тождеством к1=/1(к).
Отображение входных данных шифра
Входные данные 52 (х на фиг. 5) первоначально отображены при использовании отображения, выбранного для этих вводов. Это аналогично начальному отображению кода (согласно “Первоначальному хранению кодов”), но может происходить со всеми обрабатываемыми данными, типа полученного зашифрованного текста, который необходимо расшифровать, или открытого текста, который будет зашифрован для передачи. Если чувствительные данные (на пример, коды) должны быть зашифрованы, то они уже должны быть сохранены в отображенной форме и обладать выполненной подстановкой отображения там, где это является соответствующим (как в “Предварительно использованном кодовом отображении”).
Отображение выходных данных шифра
Выходные данные могут быть отображены до их первоначального значения там, где тайна не является решающим фактором (например, если зашифрованный текст был создан для передачи). Если эти данные должны остаться секретными (например, переданные криптографические коды), то они и информация отбора отображения должны быть сохранены без того, чтобы быть отображенными обратно к первоначальной форме. Поэтому первоначальное отображение кода, упомянутого выше, не происходит с полученными и расшифрованными кодами. Это делает процесс загрузки кодов резистентным к ΌΡΆ.
Пример 1. Создание исключающий ИЛИ на основе резистентного к ΌΡΆ шифра.
В этом примере упрощенный шифр создан полностью из сложения по модулю 2 исключающее ИЛИ из октетов (векторы из восьми битов каждый) и единственной поисковой таблицы, которая производит 8-разрядное выходное значение для каждой 8-разрядной входной величины. Благодаря упрощенной природе шифра только единственный набор данных может быть надежно зашифрован для использования кода (как в шифре Уегпаш или одноразовом заполнении), но повторное шифрование тех же самых данных обеспечивает ΌΡΆ-резистентность первого уровня. Предварительно использованное отображение кода не показано и является необходимым для ΌΡΆ-резистентности. Однако этот пример предназначен для того, чтобы прояснить проект шифра для использования в пределах строго ограниченной вычислительной среды, такой как карта с микросхемой. Он использует единственную подстановку поисковой таблицы.
Связанные между собой отображения применяются к каждому октету данных в этом примере, формы кп,1=А1кп+Ь1, хп,1=А1хп+с1 и уп,1=А;уп+й1. Нижние индексы п и ί относятся соответственно к отбору октета в пределах каждого набора данных и подсчета использования шифра. А1 является случайным образом выбранной несингулярной 8-на-8 матрицей битов и каждый Ь, с1 и й, является случайным образом выбранным октетом.
На фиг. 8 эти действия были объединены для того, чтобы пояснять пример. Типичный криптографический шифр (шифрование или расшифровка) использовал бы намного больше действия, и размеры данных к, х и у были бы обычно равны, по крайней мере, 64 битам. Каждая стрелка представляет поток одного октета. Диаграмма показывает эквивалентные операции с отображением данных. И начальное, и инкрементное отображения кода (описанные в “Предварительно использованном кодовом отображении”) показаны при кодовом отображении.
Первоначально отображенный код кп,о=Аокп+Ьо и отображение /о=(Ао, Ьо) сохранены.
Предпочтительно, чтобы до любого использования кода выполнялось новое отображение с помощью выбора новых О1 и й1. Мы заменяем кп>1-1 на км_|=С|км,|-|+Н|, А1-1 на А1=О1А1-1 и Ь1-1 на Ь1=О1Ь1-1+й1.
Каждая поисковая таблица заменена ее эквивалентом 51 для операции на отображенных значениях, определена с помощью 51(/)=А1к(А1-1 (х+Ь1+с1))+й1. Отобразите октеты входных данных хп при использовании связанного с ними отображения, хп,1=А1хп+с1. Зашифруйте отображенный ввод, используя первоначальный шифр, за исключением замененной поисковой таблицы. Кроме отображения предварительного шифра замененной поисковой таблицы, начального отображения и конечного отображения, здесь нет вычислений, включенных в шифр.
В конечном итоге, если выходные данные у должны остаться секретными, как, например, с кодом, используйте у1, А1 и й1 вместо у. Если он должен быть отображен в его первоначальном состоянии, то это может быть выражено как уп=А1-1уп>1+й1.
Важное наблюдение, которое необходимо сделать, это то, что из-за большого количества (2?о’2) возможных отображений одно и то же отображение может использоваться для эффективной секретности больше чем одного октета данных. Это позволяет видоизмененному шифру остаться простым. Более простое отображение не сможет адекватно сохранять против ΌΡΛ множественные байты. Упрощение на основе повторного использования одного и того же отображения должно быть сведено к минимуму и там, где это выполнимо, отображения, выбранные для отдельных наборов данных, должны быть выбраны независимо.
Так как отображение (А1, Ь1) и отображенные данные й1 изменены при каждом использовании, то обработанные данные (включая код) не скоррелированы с первоначальными данными. Только функция нескольких битов данных и отображения скоррелированы с первоначальными данными. Каждый бит первоначальных данных может быть выражен как функция 17 обрабатываемых битов.
Этот пример, примененный к мощному в криптографическом отношении шифру, может сегодня эффективно использоваться в платах для интегральных схем, располагаемых, включая те, которые используют 8-разрядные процессоры и скромные количества пространства памяти.
Пример 2. Создание ΌΡΆ-резистентного ΙΌΕΆ шифра.
Этот пример поясняет использование этой концепции применительно к известному шифру, который был разработан без любой попытки создания резистентности к ΌΡΆ.
Шифр ΙΌΕΆ был преднамеренно составлен из трех взаимно несовместимых операторов, основанных на простых базисных элементах, доступных на большинстве универсальных компьютеров, - двоичное исключающее или, суммирование и умножение 16-разрядных величин. Чтобы сделать этот шифр ΌΡΆрезистентным, из-за несовместимости операторов поисковая таблица вводится в каждом тракте данных для того, чтобы отобразить отображенное значение от одного оператора до следующего.
Каждый исключающее ИЛИ может иметь отображение как в указанном выше примере, за исключением того, что векторный размер увеличен до 16 битов. В вышеупомянутом контексте каждый означает, что случайное отображение не ограничивается до того же самого на протяжении шифра и может быть независимо выбрано везде, где выполняется повторное отображение.
Оператор сложения имеет меньшее количество свободы выбора отображения, чем оператор исключающее ИЛИ. Оператор умножения имеет свободу отбора отображения, подобную таковой у оператора сложения. Отображения должны быть случайным образом выбраны из соответствующего набора, код и данные должны быть соответственно отображены, поисковые таблицы должны быть созданы и шифр должен быть выполнен.
Служебные данные здесь - это ряд поисковых таблиц 65536 из 16-разрядных слов каждая, хранение информации, идентифицирующей отображения применительно к коду, и служебные данные обработки, которые содержат примерно в 2 раза больше поисковых таблиц, чем выполняемые операции.
В типичном современном персональном компьютере эти ресурсы легко доступны. Как показывает этот пример, много существующих прикладных программ может легко быть сохранено против большинства ΌΡΆ-атак при использовании этой методики. Использование ΌΡΆ, тайно ловящего электромагнитное излучение от компьютера, выполняющего криптографический процесс, быстро становится непрактичным при использовании этого подхода.
Следует иметь в виду, что если необходимо обработать большое количество данных, то в этом процессе отображение данных должно обновляться через определенные интервалы.
Пример 3. Создание ΌΡΆ-резистентного ΌΕδ-шифра.
Стандарт шифрования данных (ΌΕ8) широко используется, и хотя его 56-разрядная дли на кода делает его уязвимым к атакам полного перебора, он все еще находит широкое применение. Он также используется в более безопасных вариантах типа Тройного алгоритма шифрования данных ((ΤΌΕΆ), обычно известный как тройной-ΌΕδ) и ΌΕ8Χ (шифр, выведенный из ΌΕ8). Таким образом, рассмотрение приложения этого изобретения к ΌΕ8 является соответствующим.
ΌΕ8 не был разработан с учетом ΌΡΆ. Как часто бывает, меры, которые были предназначены для того, чтобы увеличить криптографическую мощь, снизили совместимость отображений, которые могут экономно использоваться для последовательных действий. Три важных операции используются в ΌΕ8 - сложение по модулю 2 исключающее ИЛИ, расширение (очень сходное с перестановкой, за исключением того, что некоторые или все входные биты дублированы) и восемь 6-на-4-разряда поисковых таблицы (названные 8 или функциями отбора). На сдвиги, разрядные перестановки (переупорядочение) и чередования регистра не обращается внимания в этом обсуждении, так как отборы отображения, примененные к каждому биту, просто прослеживаются (предполагая, что сигналы сохраняются изолированными) без того, чтобы пришлось обрабатывать их как отдельные операции с выбранной стратегией отображения. Замена немодифицированных разрядных перемещений на изменяемые разрядные перемещения, включая трэкинг отбора отображения, показана в 90.
Хотя специфические перестановки, расширения и исключающее ИЛИ операторы позволяют осуществить большой набор отображений на данных (включая код), любое отображение, включающее в себя несколько битов, должно, по существу, быть заново отображено для того, чтобы позволить осуществить использование только шести битов одновременно как ввод в каждую функцию 8. Рассматривать все восемь 8-функций вместе как единственный объект для этой цели было бы недопустимо. Для простоты этого примера отображения, включающие больше чем один бит, не будут здесь рассматриваться. Это не подразумевает, что более сложное отображение с повторным отображением после почти каждой операции обязательно является сложным (комплексным).
Отображение, которое будет рассматриваться здесь, включает в себя отдельный отбор для каждого бита, обрабатываемого в алгоритме. Чтобы уменьшить необходимость в новых случайных данных, можно использовать компромиссное решение, которое позволяет отборам быть скоррелированными, хотя особое внимание требуется здесь, чтобы гарантировать то, что порядок ΌΡΆ-сопротивления не снижен ниже желательного порядка. Выполнение этого компромисса не будет включено в пример.
Предположим для этого примера, что мы желаем получить ИРА-сопротивление 2 порядка. Чтобы достичь этого, мы будем использовать такой принцип, что число независимых цифровых величин, необходимых перед тем, как оказаться способными реконструировать любую информацию о первоначальных данных, должно быть на один выше, то есть 3. Вследствие того, что цифровые сигналы взаимодействуют несколькими неожиданными путями, сигналы не могут считаться независимыми, если они не изолированы соответственным образом.
Изоляция сигналов в универсальном процессоре является часто гораздо меньшей, чем подразумевает техническое описание. Например, загрузка значения в регистр типа сумматора может приводить к скрытым действиям, таким как определение того, является ли значение нулевым. Стирание данных из схемы, за которым следует интервал времени, перед загрузкой дополнительных данных обычно будет обеспечивать достаточную изоляцию, даже при том, если произойдут тонкие взаимодействия (такие как зависимое от данных нагревание или ионная миграция). Взаимодействие между величинами данных в КАМ-словах, к которым нет прямого доступа, может все еще ощущаться в течение других доступов из-за выполнения логики адресации. Здесь мы предполагаем исполнение в аппаратных средствах с регистрами хранения данных с соответствующими свойствами. Первое из этих свойств - это то, что, как только данные был стерты из схемы и прошел соответствующий интервал (например, один тактовый цикл), то не будет никакого взаимодействия с последующими данными на этой схеме. Второе свойство - что взаимодействие между данными в отдельных схемах незначительно, хотя более консервативная форма этого свойства в том, что взаимодействие между данными в отдельных цепях является изолированным соответствующим образом, при условии, что никакие связанные с данными перемещения сигнала не происходят одновременно в обеих цепях. Следует заметить, что различные информационные разряды, обработанные одновременно, вообще не могут считаться изолированными и, следовательно, не должны быть обработаны как независимые.
Мы предполагаем, что все входные данные для алгоритма обеспечиваются в отображенной форме (один бит отображенных данных представлен как один бит), с двумя независимо примененными отображениями для каждого бита, причем каждое отображение имеет единственный независимый непредсказуемый бит отображения информации отбора. Каждое отображение выбрано из набора из двух. Первое отображение набора оставляет информационный разряд неизмененным, а второе взаимно меняет два возможных значения. Будет видно, что были три бита, связанные с первоначальным битом, объединенные при использовании операции исключающее ИЛИ, результатом чего станет первоначальный бит. Опускание любого одного бита из этих трех обеспечит секретность первоначальных данных (предполагая, что каждый отбор отображения непредсказуем, каждый случай равновероятен и никакая форма корреляции не существует между отборами).
При видоизменении ИЕ8-шифра любой отображенный бит пропускается через любую перестановку, как прежде, прослеживая связанные биты отображения (90). Тот же самый имеет место для расширений, за исключением того, где происходит разрядное дублирование (включая, то, где все биты дублированы), получающиеся в результате дубликаты должны быть сделаны независимыми, если дальнейший анализ не указывает, что это не необходимо (в этом случае модификация, как в 91). Используя два независимо выбранных отображения (необходимы два новых бита случайных данных), можно тогда получить составные отображения с предыдущими отображениями. Входящие отображенные данные могут иметь две пары примененных отображений (использование по отдельности операции исключающее ИЛИ), чтобы заново отобразить данные для каждого дубликата, плюс составной объект, отбора отображения, выводимый для каждого из двух отборов отображения для каждого дубликата. Это включает четыре новых непредсказуемых бита отбора, из которых один, связанный с каждым отображением входа, может быть опущен без потери безопасности (как в 92). Эти два дубликата не скоррелированы друг с другом и могут использоваться вместе в дальнейших действиях без опасения последовательной комбинации, вводящей нестойкость к ИРА. Действия исключающее ИЛИ в ИЕ8-шифре при этом отображении остаются теми же самыми, с составными отображениями, выводимыми для первых и вторых отображений применительно к каждому биту. Это определение может прослеживаться в аппаратных средствах - когда находят исключающее ИЛИ двух отображенных информационных разрядов, каждый бит отбора объединен с соответствующим битом отбора другого отображения данных при использовании той же самой операции (93). Получающиеся в результате три бита тогда обработаны как замаскированный информационный разряд и два прикладных отображения. Отборы могут время от времени быть сделаны коррелированным образом без снижения самого низкого порядка жизнеспособной атаки ИРА, с таким эффектом, что могут быть сокращены дополнительная сложность вычислений и требования к непредсказуемым данным.
Следует отметить в вышеуказанном, что некоторые упрощения, предложенные в описании изобретения, уже применились в этом примере. В частности, отображение вывода преды дущей операции сделано таким же самым, как и применялось к вводам операции исключающее ИЛИ, упрощая повторное отображение на операции тождества (таким образом, позволяя опускание). С расширением данных (92) добавлена только достаточная дополнительная непредсказуемость (95) для того, чтобы гарантировать, что никакие последовательные действия не смогут снизить БРА-резистентность. Может быть возможно последовательное упрощение, основанное на преднамеренной корреляции отображения отборов.
8-функции являются единственными областями (в пределах шифра), остающимися адресованными в этом примере. Согласно природе отображений, выбираемых до сих пор, для целей этого примера мы ограничим выбор отображения до отображений на отдельных битах. Существует ряд подходов, которые могут быть приняты при введении упрощений. Подход, принятый здесь, - отображение заново входных данных согласно новым отображениям, выбранным для функциональных вводов (поисковой таблицы) (таким образом позволяющим осуществлять больше чем одно использование таблицы), и комбинирование отображения вводов непредсказуемы с таковыми отображениями вывода поисковой таблицы. Подход повторного отображения используется здесь при модификации поисковой таблицы 8-функции (94), но следует иметь в виду, что биты вывода 8-функций должны быть не связаны с таковыми вводов. Мы выбираем два отображения непредсказуемо и независимо от всех других отображений для каждого бита (96) ввода и вывода 8-функции, и до использования записаны входы замены для таблицы 8-функции (99) (98) для каждого возможного ввода (генерированного в этом примере пересчетным устройством 97). Отображенные вводы тогда заново отображены, написанная отображенная таблица 8-функции применена и выбранные отображения вывода распространяются в сочетании с отображением ввода для добавленной непредсказуемости, хотя может быть сделано упрощение. Поисковая таблица 8-функции сохранена в аппаратных регистрах (все вместе, это будет 2048 битов регистра, чтобы осуществить восемь 8-функций) или КАМ. Значения, сохраненные в этой памяти, должны быть предварительно рассчитаны из соответствующих отображений таким образом, который сохранит желательную резистентность атаки БРА 2-го порядка. Каждая результирующая отображенная входная величина используется для адресования файла регистров и отображенное значение сохраняется в выбранных четырех битах регистра.
Введение случайных битов (как с 95 в видоизменении 92) для расширения данных обычно дорого. В этом примере (согласно предположению, что отображение вывода 8-функции является несвязанным) можно обойтись как в каждом случае, когда дубликаты являются вводами к действиям исключающее ИЛИ с некоррелированными данными (93). Благодаря множественному дублированию код-бита требуется новое отображение вывода 8-функции для того, чтобы гарантировать эту некорреляцию. Также следует заметить, что каждый бит кода используется в среднем почти 14 раз.
Вычисление свежего набора таблицы 8функции для каждого цикла БЕ8 (существуют 16 циклов для каждого применения шифра), включая получение двух непредсказуемых битов для каждого бита вывода (из которых имется 32 для каждого цикла), может быть чрезвычайно дорого. В аппаратных средствах может оказаться возможным повторное вычисление таблицы 8-функции на каждом цикле шифра. Из-за этой стоимости обычным выполнением будет повторное использование этих поисковых таблиц без изменения больше чем одной поисковой таблицы, и возможно даже для больше чем одного инициирования алгоритма шифра. Это нарушает предыдущее допущение о некорреляции отображений вывода битов вывода в различных циклах, и следует быть осторожным, чтобы определить, где это снизит самый низкий порядок жизнеспособной атаки БРА. Кроме того, сила побочного сигнала с вводомвыводом, скоррелированного к внутренним разрядам, возрастает с количеством использования, и это должно быть принято во внимание в определении, является ли сигнал утечки достаточно малым. В некоторых случаях может быть необходимым сохранение непредсказуемого повторного отображения, особенно бита кода (который используется несколько раз). Другое ограничение, следующее из этого упрощения, это то, что отображение ввода бита 8-функции должно быть таким же самым для каждого использования до замены содержания поисковой таблицы. Более, чем ограничение отображения, примененного к индивидуальным битам данных (включая код), отображение, примененное к данным, должно быть заменено парой отображений, применимых к вводам к 8-функции. Это должно быть выполнено в двух ступенях (использование двух отделенных действий исключающее ИЛИ, причем каждое применяет составной объект двух отображений (один применимый к 8-функции, один - к данным).
Добавленная сложность резистентности 2го порядка, кроме отображений, примененных к данным, которые являются внешними к модифицированному основному шифру, составляет приблизительно утраивание числа действий исключающее ИЛИ и замену фиксированных 8-функций на изменяемо отображенные вводы и выводы 8-функции, включая использование непредсказуемых данных. Внешним образом, данные, с которыми нужно работать, не должны быть заменены отображенным значением и дан ными отбора отображения и коды должны быть первоначально отображены и впоследствии с приращением отображены и сохранены, включая дополнительные отображенные данные. В примере требования по хранению для отображенных данных и данных отбора отображения являются троекратными к требованиям для первоначальных данных. Выходные данные, где имеется код для использования в ΌΕ8, должны быть сохранены в этой форме для будущего использования, за исключением того, что корреляция отображений вывода между битами вывода, обусловленная относительно статичным отображениям 8-функции, должна быть снята с помощью отображения с приращением выходных данных с использованием свежего отбора отображения.
Стоит отметить, что, пока 8-функция не рассматривается, различие между использованием селективно заблокированного значения данных и отображением данных отбора и множественных совместно используемых ресурсов - эквивалентных данных, которые необходимо объединить, используя алгоритм для определения первоначальных данных, - не явно очевидны. В частности, действия, выполняемые на данных отбора отображения до этой точки, являются сходными с теми, которые выполнены на отображенных данных. Однако для 8функций (и любых функций, не связанных с или более сложных, чем операция отображения) будет видно, что действия, примененные к данным отбора отображения, касаются отбора отображения и только косвенно действий алгоритма. В отображении ввода и вывода 8-функций манипуляция данных отбора отображения была совершенно отлична от добавления подобных действий на совместно используемых ресурсах, полученных из первоначальных данных.
Преимущества
Метод увеличивает порядок атаки ΌΡΆ (по существу, число моментов в наблюдаемом сигнале, которые должны быть объединены для того, чтобы извлечь любые первоначальные данные). Это делает требуемую атаку более усложненной и затрудненной.
В расширение прежде существующей концепции селективной блокировки ко всем (или, по крайней мере, большинству) возможным отображениям, которые позволяют основной операции оставаться неизмененной, задача нападавшего становится более трудной. Там, где по причинам экономии отбор отображения, использованного на одном наборе данных, связан с отбором отображения для другого набора данных, большее число возможных отображений могло бы делать такое упрощение приемлемым, при этом не приводя к чрезмерной утечке данных.
Кроме того, число наблюдений, необходимых для извлечения первоначальных данных из побочного канала помех, может увеличиться значительно больше, чем это достижимо через экранирование аппаратных средств, при условии, что экранирование аппаратных средств достаточно хорошее. Это увеличение может привести к тому, что атаки даже высокого порядка ΌΡΆ окажутся неэффективными.
И далее, хранение данных и требования по обработке не возросли настолько много, как в некоторых родственных схемах. Примером такой схемы может быть представление каждого информационного разряда как пары битов, первое значение, выбираемое случайным образом, и второе, являющееся первоначальным битом, когда первый бит нулевой, и его булевой инверсии, когда это единица (двоичное исключающее ИЛИ).
Более того, система, содержащая криптографический компонент, может остаться незатронутой (например, протоколы могут остаться неизмененными), хотя выбор шифра может быть оптимизирован для того, чтобы облегчить использование этой методики.
Кроме этого, эта методика может применяться к симметричным (наличие единственного, совместно использованного кода) и асимметричным (наличие отдельных, но связанных между собой открытых и секретных кодов) шифрам.
Вдобавок, эта методика может применяться вместе с другими методами для увеличения резистентности к ΌΡΆ, таким образом последовательно изменяя код при помощи комплексной функции координируемым образом, как при шифровании, так и расшифровке.
Claims (12)
1. Способ обработки данных для снижения риска неуполномоченного доступа к данным, характеризующийся следующими шагами:
(a) ввод начального секретного набора данных в процессор, включая возможное последующее повторение этого шага;
(b) обеспечение процессора источником непредсказуемых данных;
(c) обеспечение процессора способом выбора отображений от первоначальных данных до отображенных данных, используя непредсказуемые данные (Ь), в котором отображенные данные позволяют осуществить вычисление первоначальных данных со знанием отображаемого отбора, но не позволяют вычислить любую часть первоначальных данных без знания отображаемого отбора;
(б) обеспечение процессора, по меньшей мере, одним алгоритмом для отображения начального секретного набора данных в отображенной форме;
(е) первоначально отображение начального секретного набора данных (а) для хранения в отображенной форме при использовании отображений, как выбрано в (с);
(ί) изменение отображения данных применительно к любым данным от предшествующего отображения данных при помощи вторичного отображения, использующего непредсказуемую информацию (Ь);
(д) отображение входящих данных для ввода в модифицированный алгоритм реализации, использующее отображения, как выбрано в (с); и (11) изменение алгоритма реализации для управления отображенными данными, выбранными из отображенных данных на шаге (е), шаге (ί), шаге (д), или отображенными выходными данными измененного алгоритма на шаге (1) таким образом, чтобы выходные данные являлись отображенными данными, из которых можно получить выходные данные первоначального алгоритма, работающего на данных первичного ввода со знанием использованных отборов отображения, в которых измененные оригинальные данные выполнения алгоритма заменены отображенными данными и которые включают отображения и/или поисковые таблицы, которые являются производными от выбранных отображений и любых первоначальных поисковых таблиц;
(ί) когда требуются первоначальные выходные данные, инвертирование отображения применимо к выходным данным от видоизмененного алгоритма, чтобы вывести первоначальные выходные данные.
2. Способ обработки данных по п.1, характеризующийся тем, что набор секретных данных шага (а) является криптографическим кодом.
3. Способ обработки данных по любому из предшествующих пунктов, характеризующийся тем, что отображение данных и/или вторичное отображение данных находятся в форме алгоритма с данными выбранного отображения или с параметрами.
4. Способ обработки данных по любому из предшествующих пунктов, характеризующийся тем, что отображенные данные передаются на отдаленное месторасположение.
5. Способ обработки данных по любому из предшествующих пунктов, характеризующийся тем, что отображения выполнены посредством отображения, выбранного от набора отображений таким образом, что когда входные операнды заменены при использовании выбранных отображений, то первоначальные выходные данные могут быть выведены из получающихся при этом выходных данных с использованием отображения, полученного от входных отображений.
6. Способ обработки данных по п.5, характеризующийся тем, что для любого операнда набор всех входных отображений может быть определен от отображения вывода.
7. Способ обработки данных по любому из предшествующих пунктов, характеризующийся тем, что операцией первоначального алгоритма является сложение по модулю т, описанному как х+у=/ (тоб т), и соответствующая операция, использованная в видоизмененном алгоритме, должна остаться такой же самой, в то время как разрешенные отображения описаны с помощью х,=а,х+Ь| (тоб т), у^у+с, (тоб т), и ζ,Ξΐι,ζ+^+μ (тоб т), в котором отображение а1 является любым числом, которое является взаимно простым с т, при условии, что а1 не равно 1.
8. Способ обработки данных по любому из предшествующих пунктов, характеризующийся тем, что операция первоначального алгоритма соответствует умножению по модулю т, описанному ху=ζ (тоб т), и соответствующая операция, использованная в видоизмененном коде, состоит в том, чтобы код остался таким же самым, и где разрешенные отображения описаны х1=Ь1ха1 (тоб т), у^су” (тоб т) и ζ^βζ” (тоб т), в котором а1-отображение является любым номером, взаимно простым с ф(т), которая является т-функцией Эйлера, а Ь1 и с1 являются любыми числами, взаимно простыми с т.
9. Способ обработки данных по любому из предшествующих пп. 1-6, характеризующийся тем, что операция алгоритма соответствует добавлению двух векторов из η компонентов по полю Ζ2.
10. Способ обработки данных по любому из предшествующих пунктов, характеризующийся тем, что алгоритм включает в себя использование унарных операторов.
11. Способ обработки данных по любому из предшествующих пунктов, характеризующийся тем, что данные скрывают через изменение отображения некоторых или всех обрабатываемых данных через отображенную форму для вычисления и/или хранения.
12. Компьютерная система для обработки данных для снижения риска неуполномоченного доступа к данным, характеризующаяся тем, что процессор обеспечен средствами для (ί) применения измененного алгоритма к входным данным, использующим отображенный криптографический код, чтобы генерировать выходные данные, в которых измененный алгоритм вычисления первоначальных данных заменен отображенными данными, который включает отображения и/или поисковые таблицы, которые являются производными выбранных отображений и любых первоначальных поисковых таблиц, и (й) изменения отображения данных отображенного криптографического кода от предшествующего отображения данных при использовании вторичного отображения, и (ш) хранения информации для сохранения криптографического кода в отображенной форме.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16104799P | 1999-10-25 | 1999-10-25 | |
PCT/ZA2000/000192 WO2001031422A2 (en) | 1999-10-25 | 2000-10-19 | Method for protection against analysis of unintended side-channel signals |
Publications (2)
Publication Number | Publication Date |
---|---|
EA200200468A1 EA200200468A1 (ru) | 2002-10-31 |
EA003874B1 true EA003874B1 (ru) | 2003-10-30 |
Family
ID=22579586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EA200200468A EA003874B1 (ru) | 1999-10-25 | 2000-10-19 | Способ обработки данных, устойчивый к извлечению данных с помощью анализа непреднамеренных сигналов побочного ввода-вывода |
Country Status (8)
Country | Link |
---|---|
EP (1) | EP1226681A2 (ru) |
JP (1) | JP2003513490A (ru) |
CN (1) | CN1413398A (ru) |
AU (1) | AU773982B2 (ru) |
CA (1) | CA2388971A1 (ru) |
EA (1) | EA003874B1 (ru) |
WO (1) | WO2001031422A2 (ru) |
ZA (1) | ZA200202798B (ru) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7142670B2 (en) * | 2001-08-14 | 2006-11-28 | International Business Machines Corporation | Space-efficient, side-channel attack resistant table lookups |
WO2003075506A1 (en) * | 2002-03-07 | 2003-09-12 | Axalto Sa | Method for making safe an electronic cryptography assembly with a secret key |
FR2842376B1 (fr) * | 2002-07-10 | 2004-09-24 | Somfy | Procede de communication selective entre objets |
EP1457858A1 (fr) * | 2003-03-14 | 2004-09-15 | SCHLUMBERGER Systèmes | Procédé de sécurisation d'un ensemble électronique à cryptoprocesseur |
DE10341096A1 (de) * | 2003-09-05 | 2005-03-31 | Giesecke & Devrient Gmbh | Übergang zwischen maskierten Repräsentationen eines Wertes bei kryptographischen Berechnungen |
JP4604045B2 (ja) * | 2003-11-13 | 2010-12-22 | マジック テクノロジーズ,インコーポレーテッド | 古典的なビット暗号化を有するqkd |
KR101061906B1 (ko) * | 2004-02-19 | 2011-09-02 | 삼성전자주식회사 | 전력분석공격에 안전한 기본 연산 장치 및 방법 |
EP1596278A1 (fr) * | 2004-05-11 | 2005-11-16 | Axalto SA | Procédé de protection d'un ensemble cryptographique par masquage homographique |
FR2873523B1 (fr) * | 2004-07-22 | 2007-08-10 | Sagem | Procede et dispositif d'execution d'un calcul cryptographique |
DE102004043243A1 (de) * | 2004-09-07 | 2006-03-23 | Comvenient Gmbh & Co. Kg | Verfahren zum Schutz von Schlüsseln |
EP1646174A1 (en) * | 2004-10-07 | 2006-04-12 | Axalto SA | Method and apparatus for generating cryptographic sets of instructions automatically and code generation |
JP5026275B2 (ja) * | 2004-10-28 | 2012-09-12 | イルデト・コーポレート・ビー・ヴイ | 暗号化関数を難読化するための方法及びシステム |
JP2008181225A (ja) * | 2007-01-23 | 2008-08-07 | Toshiba Corp | Icカード |
JP2011514091A (ja) * | 2008-03-05 | 2011-04-28 | イルデト・ビー・ヴイ | 暗号システム |
EP2525298B1 (en) * | 2011-05-17 | 2016-07-13 | Nxp B.V. | Authentication method |
EP2620890A1 (en) * | 2012-01-25 | 2013-07-31 | Gemalto SA | Method for detecting a fault injected in hardware registers of an electronic device |
DE102012018924A1 (de) | 2012-09-25 | 2014-03-27 | Giesecke & Devrient Gmbh | Seitenkanalgeschützte Maskierung |
US9009495B2 (en) | 2013-06-28 | 2015-04-14 | Envieta, LLC | High speed cryptographic combining system, and method for programmable logic devices |
JP6264935B2 (ja) * | 2014-02-24 | 2018-01-24 | 大日本印刷株式会社 | 情報処理装置の認証方法 |
CN104104587B (zh) * | 2014-04-18 | 2017-12-26 | 天津大学 | 一种认证邮件协议的后一致性分析方法 |
CN105757878B (zh) * | 2016-02-19 | 2018-07-27 | 广东美的暖通设备有限公司 | 通讯数据的编码及解码方法、装置和空调器 |
-
2000
- 2000-10-19 EP EP00986837A patent/EP1226681A2/en not_active Withdrawn
- 2000-10-19 JP JP2001533494A patent/JP2003513490A/ja active Pending
- 2000-10-19 CN CN00817503A patent/CN1413398A/zh active Pending
- 2000-10-19 EA EA200200468A patent/EA003874B1/ru not_active IP Right Cessation
- 2000-10-19 CA CA002388971A patent/CA2388971A1/en not_active Abandoned
- 2000-10-19 WO PCT/ZA2000/000192 patent/WO2001031422A2/en active Search and Examination
- 2000-10-19 AU AU23014/01A patent/AU773982B2/en not_active Ceased
-
2002
- 2002-04-10 ZA ZA200202798A patent/ZA200202798B/xx unknown
Also Published As
Publication number | Publication date |
---|---|
EP1226681A2 (en) | 2002-07-31 |
CA2388971A1 (en) | 2001-05-03 |
AU2301401A (en) | 2001-05-08 |
WO2001031422A3 (en) | 2001-12-13 |
CN1413398A (zh) | 2003-04-23 |
WO2001031422B1 (en) | 2002-01-10 |
JP2003513490A (ja) | 2003-04-08 |
ZA200202798B (en) | 2003-09-23 |
EA200200468A1 (ru) | 2002-10-31 |
WO2001031422A2 (en) | 2001-05-03 |
AU773982B2 (en) | 2004-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EA003874B1 (ru) | Способ обработки данных, устойчивый к извлечению данных с помощью анализа непреднамеренных сигналов побочного ввода-вывода | |
CA2333095C (en) | Improved des and other cryptographic processes with leak minimization for smartcards and other cryptosystems | |
KR102539111B1 (ko) | 메시지 부호화 및 복호화를 위한 블록 암호화 방법 및 이 방법을 구현하기 위한 암호화 장치 | |
Kanso et al. | A novel image encryption algorithm based on a 3D chaotic map | |
Adams et al. | The structured design of cryptographically good S-boxes | |
KR101680918B1 (ko) | 특히 고차의 관측 공격에 대해 보호되는 암호화 회로 | |
RU2711193C2 (ru) | Криптографическое устройство, приспособленное для вычисления целевого блочного шифра | |
US8000473B2 (en) | Method and apparatus for generating cryptographic sets of instructions automatically and code generator | |
JP2005510095A (ja) | 情報漏洩が低減される装置および方法 | |
Shah et al. | A novel efficient image encryption algorithm based on affine transformation combine with linear fractional transformation | |
KR100834096B1 (ko) | 고차 전력분석공격에 대응하는 블록 암호 알고리즘aria의 암호화 방법 | |
KR100574965B1 (ko) | 유한체 곱셈기 | |
Saha et al. | White-box cryptography based data encryption-decryption scheme for iot environment | |
Brier et al. | Fast primitives for internal data scrambling in tamper resistant hardware | |
KR20190049875A (ko) | 테이블 기반 구현에서의 차수 2 이상의 dca 공격에 대응하는 방법 | |
JP2004310752A (ja) | データ処理装置における誤り検出 | |
Nissar et al. | Implementation of security enhancement in AES by inducting dynamicity in AES s-box | |
Arribas et al. | Guards in action: First-order SCA secure implementations of KETJE without additional randomness | |
Assafli et al. | The Evaluation of Time-Dependent Initialization Vector Advanced Encryption Standard Algorithm for Image Encryption | |
Ullagaddi et al. | Symmetric synchronous stream encryption using images | |
Fu et al. | Medical image protection using hyperchaos-based encryption | |
Mokhnache | Implémentation d’algorithmes avancés de traitement de l’information dédiés au cryptage et à la cryptanalyse | |
Won et al. | Novel Leakage Against Realistic Masking and Shuffling Countermeasures: Case Study on PRINCE and SEED | |
Shiba et al. | Cubicle: A family of space‐hard ciphers for IoT | |
Fu et al. | A new fast chaos-based image cipher with a novel permuatation approach |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Lapse of a eurasian patent due to non-payment of renewal fees within the time limit in the following designated state(s) |
Designated state(s): AM AZ BY KZ KG MD TJ TM |
|
MM4A | Lapse of a eurasian patent due to non-payment of renewal fees within the time limit in the following designated state(s) |
Designated state(s): RU |