- •Методи криптоаналізу асиметричних криптосистем Навчальні питання
- •1. Доопрацювати лекцію.
- •2. Розв’язати задачі 9.8.1 – 9.8.7
- •31.1. «Повне розкриття» на основі підписаних даних
- •31.2. Оцінка стійкості цп від атак типу «екзистенційна підробка»
- •31.3. Оцінка стійкості цп від атак типу «селективна підробка»
- •31.4. Аналіз захищеності існуючих цп від атак на зв’язаних ключах
- •6Аналіз захищеності цп ecdsa та ec-kcdsa
- •31.6. Атаки на цп спеціального виду та захист від них
- •31.5 Захищеність цп дсту 4145-2002 від атак на реалізацію
- •6.14.1. Атака на основі апаратних помилок
- •6.14.2. Атака на основі внесення помилок у строго визначений період обчислень
- •6.14.3. Атака на основі внесення помилок у довільний момент обчислень
6.14.1. Атака на основі апаратних помилок
Атака на основі апаратних помилок полягає в тому, що порушник, маючи доступ до засобів КЗІ, або в цілому до апаратури КЗІ, має змогу проводити штатні операції в частині криптографічних перетворень вхідних даних, а також спеціальним чином впливати на процес обробки інформації з метою спричинити некоректну роботу засобів КЗІ.
Розглянемо три типи можливих атак, що ґрунтуються на створенні апаратних помилок для випадку криптографічних перетворень у групі точок ЕК. Будемо також вважати, що загальносистемні параметри та відкритий ключ відомі, а особистий (таємний) ключ записаний в електронному ключі (у тому числі старт-карті) і є недоступним у процесі його застосування. Тобто ми виключаємо із розгляду етап інсталяції електронного ключа та запису особистого ключа. Будемо також вважати, що користувач може подавати на вхід деяку точку G або послідовність точок та обчислювати відкритий ключ, наприклад, у вигляді:
.
Зрозуміло, що порушник не знає особистого ключа і ставить задачу його визначення в першу чергу.
Спочатку [332, 12] будемо розглядати найпростіший варіант, коли порушник здатний здійснити збій роботи регістру протягом виконання алгоритму в строго визначеному інтервалі бітів одного з множників. Нехай також він у змозі подавати на вхід схеми обчислення відкритого ключа точки G*, що не належать цій ЕК, а належать іншій ЕК Е*. Причому Е* відрізняється від ЕК, що використовується з коефіцієнтом b*. У цьому випадку
E –E* = (X3 + aX + b) – (X3 + aX + b*) = b – b*. (6.168)
Також для проведення успішного криптоаналізу порядок ЕК Е* повинен мати найменший дільник r* – такий, що порядок точки G*
ord(G*) = r*. (6.169)
Це дозволить зменшити складність розв’язання дискретного логарифма від рівня порядку r до рівня r*, оскільки результат скалярного множення буде лежати на тій самій ЕК E*. У цілому, така атака може бути виконана в такій послідовності:
1) генерується точка G* на спеціальній криптографічно слабкій ЕК Е*;
2) з використанням засобу КЗІ обчислюється d G*;
3) розв’язується задача факторизації отриманого результату d G* на кривій Е* за умови, що відомі r* та G*;
4) обчислюється d*= d(mod r*);
5) повторення пунктів 1–4 для декількох різних точок G*;
6) з використанням китайської теореми про лишки та обчислених значень di* визначається особистий ключ.
Необхідно відзначити ту особливість цієї атаки, що вона може бути застосована щодо засобів КЗІ як програмних, так і апаратних. Для захисту від указаної атаки в стандартах [32–33, 46, 51, 52] вказується на необхідність перевірки базової точки G – чи належить вона еліптичній кривій Е.
За вказаних умов може бути застосована інша атака внесення помилок у строго визначений період обчислень.
6.14.2. Атака на основі внесення помилок у строго визначений період обчислень
Будемо вважати, що порушник здатний реалізовувати однобітовий збій у засобі КЗІ в строго визначені моменти часу, а саме відразу після закінчення перевірки на вході та до початку виконання скалярного множення. Особливість умов цієї атаки полягає в тому, що порушник не знає реального значення G*, що отримане під час збою.
Для заданих умов атака може виконуватися в такій послідовності:
1) здійснюється однобітовий збій у засобі відразу ж після перевірки базової точки;
2) обчислюється значення відкритого ключа d G*;
3) визначається ЕК Е*, на якій лежить точка еліптичної кривої d G*;
4) визначаються всі можливі значення точок G*, а їх буде логафирм двійковий від G, а потім виконується:
а) факторизація отриманого значення точки d G* на кривій Е* для відомих r* та G*;
б) обчислюється значення d* = d(mod r*);
5) пункти 1–4 повторюються для декількох різних точок Gi*;
6) далі, на основі отриманих значень di* та використовуючи китайську теорему про лишки, визначається дійсне значення d.
Якщо застосовується схема направленого шифрування Ель-Гамаля, то на виході може бути виведене лише значення Х-координати результату скалярного множення. У цьому випадку процедура визначення криптографічно нестійкої ЕК Е*, на якій лежить точка результату обчислення скалярного множення, значно ускладнюється; за таких умов, як правило, переходять до застосування ймовірнісної моделі [332–334].
