Разработайте модель оценки уязвимости к побочным каналам (power, timing) для встроённой криптосистемы и предложите аппаратно-программные методы минимизации утечки информации, учитывая ограничения по площади и энергии
Кратко — модель оценивания + набор аппаратно‑программных средств с учётом ограничений по площади и энергии. 1) Угроза и контексты - Цели: побочные каналы питания (power) и тайминга (timing) на встроенном устройстве, атакующие имеют доступ к измерениям тока/времени и могут выполнять многократные запросы. - Уровни атак: неброузерная (non‑profiling, DPA/CPA) и профилируемая (template, ML). 2) Математическая модель утечки - Предположим, что для операции по ключевой переменной XXX наблюдаемая трасса (в момент/наборе выборок) TTT выражается как T=f(L(X),S)+N,
T = f(L(X), S) + N, T=f(L(X),S)+N,
где L(X)L(X)L(X) — детерминированная функция утечки (например, Hamming weight/distance), SSS — случайные системные параметры (шум, рандомизация), NNN — аддитивный шум. - Часто используется линейная аппроксимация: T=α⋅h(X)+η,
T = \alpha\cdot h(X) + \eta, T=α⋅h(X)+η,
где h(X)h(X)h(X) — модель (например, Hamming weight), α\alphaα — масштаб утечки, η\etaη — шум. 3) Метрики уязвимости (и формулы) - Соотношение сигнал/шум (SNR): SNR=Var[E[T∣h(X)]]E[Var[T∣h(X)]].
\mathrm{SNR}=\frac{\mathrm{Var}[\mathbb{E}[T\mid h(X)]]}{\mathbb{E}[\mathrm{Var}[T\mid h(X)]]}. SNR=E[Var[T∣h(X)]]Var[E[T∣h(X)]].
- Корреляция (используется в CPA): для предположенной предсказанной величины pi=h(Xi)p_i=h(X_i)pi=h(Xi) и измерения tit_itiρ=∑i(pi−pˉ)(ti−tˉ)∑i(pi−pˉ)2∑i(ti−tˉ)2.
\rho=\frac{\sum_i (p_i-\bar p)(t_i-\bar t)}{\sqrt{\sum_i (p_i-\bar p)^2}\sqrt{\sum_i (t_i-\bar t)^2}}. ρ=∑i(pi−pˉ)2∑i(ti−tˉ)2∑i(pi−pˉ)(ti−tˉ).
- Mutual Information (MI) между XXX и TTT: I(X;T)=∑x,tp(x,t)logp(x,t)p(x)p(t).
I(X;T)=\sum_{x,t} p(x,t)\log\frac{p(x,t)}{p(x)p(t)}. I(X;T)=x,t∑p(x,t)logp(x)p(t)p(x,t).
- TVLA (t‑test) для отличие двух групп: t=xˉ1−xˉ2s12n1+s22n2.
t=\frac{\bar{x}_1-\bar{x}_2}{\sqrt{\frac{s_1^2}{n_1}+\frac{s_2^2}{n_2}}}. t=n1s12+n2s22xˉ1−xˉ2. 4) Процедура оценки (пошагово) - Подготовка: выбрать атаки (DPA/CPA, template, timing), модель утечки hhh (Hamming weight/distance, multiplicative), набор plaintext/keys. - Сбор данных: N трасс с синхронизацией/алигнментом; измерения тока и время; захват нескольких точек в ключевые моменты. - Предобработка: выравнивание, фильтрация, PCA/feature selection. - Оценка метрик: SNR, MI, TVLA для предварительной детекции; CPA/template/ML для оценки сложности (число необходимых трасс NreqN_{req}Nreq для успешного восстановления); построить кривую «успех атаки vs N». - Критерий: устройство считается безопасным, если для требуемого ресурса атакующего NreqN_{req}Nreq превосходит допустимое (или если TVLA < порог). 5) Аппаратно‑программные методы уменьшения утечки (с учётом площади/энергии) - Маскирование (software / hardware): - Булево/дробное маскирование первого порядка: разделить секрет KKK на маски K=K1⊕K2K = K_1 \oplus K_2K=K1⊕K2. Повышает устойчивость против first‑order DPA. Аппаратно ускоряется легкой логикой для манипуляции масками. Энерг/площадь: умеренные затраты (доп. операции, регистры). - Threshold Implementation (TI) — аппаратно/логически затратнее, но обеспечивает доказуемую устойчивость при правильной реализации. - Смешивание (shuffling) и рандомизация: - Перестановка порядка S‑box/операций (runtime shuffling) + случайные задержки. Малый аппаратный overhead (PRNG, контроллер), энергоёмкость зависит от вставленных задержек. - Хайдинг (hiding): - Уплощение тока: интегратор/фильтр на блоке питания, on‑chip LDO, буферные конденсаторы (decoupling) — уменьшает амплитуду побочных выбросов; требует площадь для конденсаторов и немного энергии. - Генерация белого шума (напр., ring oscillator) и суммирование с рабочим током — уменьшает SNR, но добавляет энергию. - Частотно‑временная рандомизация (clock jitter, частотная переменная). Небольшой overhead в логике PLL/RC. - Балансирование цепей: - Dual‑rail precharge, WDDL и другие сбалансированные логики снижают дифференциальную утечку, но увеличивают площадь и энергопотребление (примерно ×2–×3 логики). - Аппаратно‑поддерживаемое маскирование: - Встроенные инструкции или крипто‑блоки, которые выполняют masked S‑box атомарно; уменьшает кодовую сложность и уязвимости. - Тайминг‑контроли: - Константное время (constant‑time) реализация криптоопераций — устраняет зависимость времени от данных. Небольшой програмный/логический overhead. - Комбинация низкоуровневых и высокоуровневых мер: - Для constrained‑устройств: комбинация первого порядка маскирования + шифрование порядка выполнения (shuffling) + decoupling capacitor + небольшая цифровая генерация шума даёт лучший компромисс. 6) Практические рекомендации и оптимизация под ограничения - Выберите целевой order защиты (обычно first‑order для сильно ограниченных устройств). TI или higher‑order если площадь/энергия позволяют. - Минимизируйте удвоение логики: избегайте полного WDDL, если площадь критична; предпочитайте маскирование + программное шuffling. - Аппаратные минимальные вложения: PRNG (для масок/порядка), небольшая on‑chip ёмкость и LDO, поддержка атомарных masked‑instructions. Эти элементы дают значимую защиту при умеренных затратах. - Энергия vs безопасность: шум/обфускация повышают энергозатраты; маскирование увеличивает вычислительную нагрузку. Оцените требуемое NreqN_{req}Nreq до/после контрмер и выберите набор дающий NreqN_{req}Nreq за пределами реальной возможности атакующего. - Верификация: провести TVLA, CPA‑кривые и оценку MI; оценить экспоненциальную зависимость успеха от числа трасс и подобрать параметры (маски, shuffle depth, шум). 7) Пример целевого набора для сильно ограниченного MCU - Software: first‑order Boolean masking для всех критичных нелинейных операций + shuffling порядка S‑box + constant‑time код. - Hardware: небольшой PRNG источник (LFSR), on‑chip decoupling capacitor + LDO, поддержка атомарных masked ops (в контроллере). - Ожидаемый эффект: существенное уменьшение SNR и увеличение NreqN_{req}Nreq в десятки/сотни раз при умеренном увеличении площади/энергии. 8) Оценка эффективности (итоговая проверка) - Измерить SNR и MI до и после внедрения; провести CPA и шаблонные атаки, построить кривую успеха vs NNN. Цель — добиться TVLA ниже порога и NreqN_{req}Nreq выше практического лимита атакующего. Заключение (коротко): моделируйте утечку через T=αh(X)+ηT=\alpha h(X)+\etaT=αh(X)+η, используйте SNR/MI/TVLA/CPA для оценки, в constrained‑системах отдавайте приоритет first‑order маскированию + runtime shuffling + небольшим аппаратным средствам (PRNG, decoupling), а более тяжёлые аппаратные схемы (WDDL, TI) применять только при доступной площади/энергии.
1) Угроза и контексты
- Цели: побочные каналы питания (power) и тайминга (timing) на встроенном устройстве, атакующие имеют доступ к измерениям тока/времени и могут выполнять многократные запросы.
- Уровни атак: неброузерная (non‑profiling, DPA/CPA) и профилируемая (template, ML).
2) Математическая модель утечки
- Предположим, что для операции по ключевой переменной XXX наблюдаемая трасса (в момент/наборе выборок) TTT выражается как
T=f(L(X),S)+N, T = f(L(X), S) + N,
T=f(L(X),S)+N, где L(X)L(X)L(X) — детерминированная функция утечки (например, Hamming weight/distance), SSS — случайные системные параметры (шум, рандомизация), NNN — аддитивный шум.
- Часто используется линейная аппроксимация:
T=α⋅h(X)+η, T = \alpha\cdot h(X) + \eta,
T=α⋅h(X)+η, где h(X)h(X)h(X) — модель (например, Hamming weight), α\alphaα — масштаб утечки, η\etaη — шум.
3) Метрики уязвимости (и формулы)
- Соотношение сигнал/шум (SNR):
SNR=Var[E[T∣h(X)]]E[Var[T∣h(X)]]. \mathrm{SNR}=\frac{\mathrm{Var}[\mathbb{E}[T\mid h(X)]]}{\mathbb{E}[\mathrm{Var}[T\mid h(X)]]}.
SNR=E[Var[T∣h(X)]]Var[E[T∣h(X)]] . - Корреляция (используется в CPA): для предположенной предсказанной величины pi=h(Xi)p_i=h(X_i)pi =h(Xi ) и измерения tit_iti ρ=∑i(pi−pˉ)(ti−tˉ)∑i(pi−pˉ)2∑i(ti−tˉ)2. \rho=\frac{\sum_i (p_i-\bar p)(t_i-\bar t)}{\sqrt{\sum_i (p_i-\bar p)^2}\sqrt{\sum_i (t_i-\bar t)^2}}.
ρ=∑i (pi −pˉ )2 ∑i (ti −tˉ)2 ∑i (pi −pˉ )(ti −tˉ) . - Mutual Information (MI) между XXX и TTT:
I(X;T)=∑x,tp(x,t)logp(x,t)p(x)p(t). I(X;T)=\sum_{x,t} p(x,t)\log\frac{p(x,t)}{p(x)p(t)}.
I(X;T)=x,t∑ p(x,t)logp(x)p(t)p(x,t) . - TVLA (t‑test) для отличие двух групп:
t=xˉ1−xˉ2s12n1+s22n2. t=\frac{\bar{x}_1-\bar{x}_2}{\sqrt{\frac{s_1^2}{n_1}+\frac{s_2^2}{n_2}}}.
t=n1 s12 +n2 s22 xˉ1 −xˉ2 .
4) Процедура оценки (пошагово)
- Подготовка: выбрать атаки (DPA/CPA, template, timing), модель утечки hhh (Hamming weight/distance, multiplicative), набор plaintext/keys.
- Сбор данных: N трасс с синхронизацией/алигнментом; измерения тока и время; захват нескольких точек в ключевые моменты.
- Предобработка: выравнивание, фильтрация, PCA/feature selection.
- Оценка метрик: SNR, MI, TVLA для предварительной детекции; CPA/template/ML для оценки сложности (число необходимых трасс NreqN_{req}Nreq для успешного восстановления); построить кривую «успех атаки vs N».
- Критерий: устройство считается безопасным, если для требуемого ресурса атакующего NreqN_{req}Nreq превосходит допустимое (или если TVLA < порог).
5) Аппаратно‑программные методы уменьшения утечки (с учётом площади/энергии)
- Маскирование (software / hardware):
- Булево/дробное маскирование первого порядка: разделить секрет KKK на маски K=K1⊕K2K = K_1 \oplus K_2K=K1 ⊕K2 . Повышает устойчивость против first‑order DPA. Аппаратно ускоряется легкой логикой для манипуляции масками. Энерг/площадь: умеренные затраты (доп. операции, регистры).
- Threshold Implementation (TI) — аппаратно/логически затратнее, но обеспечивает доказуемую устойчивость при правильной реализации.
- Смешивание (shuffling) и рандомизация:
- Перестановка порядка S‑box/операций (runtime shuffling) + случайные задержки. Малый аппаратный overhead (PRNG, контроллер), энергоёмкость зависит от вставленных задержек.
- Хайдинг (hiding):
- Уплощение тока: интегратор/фильтр на блоке питания, on‑chip LDO, буферные конденсаторы (decoupling) — уменьшает амплитуду побочных выбросов; требует площадь для конденсаторов и немного энергии.
- Генерация белого шума (напр., ring oscillator) и суммирование с рабочим током — уменьшает SNR, но добавляет энергию.
- Частотно‑временная рандомизация (clock jitter, частотная переменная). Небольшой overhead в логике PLL/RC.
- Балансирование цепей:
- Dual‑rail precharge, WDDL и другие сбалансированные логики снижают дифференциальную утечку, но увеличивают площадь и энергопотребление (примерно ×2–×3 логики).
- Аппаратно‑поддерживаемое маскирование:
- Встроенные инструкции или крипто‑блоки, которые выполняют masked S‑box атомарно; уменьшает кодовую сложность и уязвимости.
- Тайминг‑контроли:
- Константное время (constant‑time) реализация криптоопераций — устраняет зависимость времени от данных. Небольшой програмный/логический overhead.
- Комбинация низкоуровневых и высокоуровневых мер:
- Для constrained‑устройств: комбинация первого порядка маскирования + шифрование порядка выполнения (shuffling) + decoupling capacitor + небольшая цифровая генерация шума даёт лучший компромисс.
6) Практические рекомендации и оптимизация под ограничения
- Выберите целевой order защиты (обычно first‑order для сильно ограниченных устройств). TI или higher‑order если площадь/энергия позволяют.
- Минимизируйте удвоение логики: избегайте полного WDDL, если площадь критична; предпочитайте маскирование + программное шuffling.
- Аппаратные минимальные вложения: PRNG (для масок/порядка), небольшая on‑chip ёмкость и LDO, поддержка атомарных masked‑instructions. Эти элементы дают значимую защиту при умеренных затратах.
- Энергия vs безопасность: шум/обфускация повышают энергозатраты; маскирование увеличивает вычислительную нагрузку. Оцените требуемое NreqN_{req}Nreq до/после контрмер и выберите набор дающий NreqN_{req}Nreq за пределами реальной возможности атакующего.
- Верификация: провести TVLA, CPA‑кривые и оценку MI; оценить экспоненциальную зависимость успеха от числа трасс и подобрать параметры (маски, shuffle depth, шум).
7) Пример целевого набора для сильно ограниченного MCU
- Software: first‑order Boolean masking для всех критичных нелинейных операций + shuffling порядка S‑box + constant‑time код.
- Hardware: небольшой PRNG источник (LFSR), on‑chip decoupling capacitor + LDO, поддержка атомарных masked ops (в контроллере).
- Ожидаемый эффект: существенное уменьшение SNR и увеличение NreqN_{req}Nreq в десятки/сотни раз при умеренном увеличении площади/энергии.
8) Оценка эффективности (итоговая проверка)
- Измерить SNR и MI до и после внедрения; провести CPA и шаблонные атаки, построить кривую успеха vs NNN. Цель — добиться TVLA ниже порога и NreqN_{req}Nreq выше практического лимита атакующего.
Заключение (коротко): моделируйте утечку через T=αh(X)+ηT=\alpha h(X)+\etaT=αh(X)+η, используйте SNR/MI/TVLA/CPA для оценки, в constrained‑системах отдавайте приоритет first‑order маскированию + runtime shuffling + небольшим аппаратным средствам (PRNG, decoupling), а более тяжёлые аппаратные схемы (WDDL, TI) применять только при доступной площади/энергии.