Атака сторонніми каналами () — клас атак, спрямований на вразливості практичного втілення криптосистеми. На відміну від теоретичного криптоаналізу, атака сторонніми каналами використовує інформацію про фізичні процеси у пристрої, які не розглядаються у теоретичному описі криптографічного алгоритму. Деякі атаки сторонніми каналами вимагають знання внутрішніх дій системи на якій втілено алгоритм, інші, такі як диференційній аналіз енерговикористання, дієві як атаки на чорний ящик. Такі атаки значно поширились після публікації результатів Пола Кохера в 1996 році..

Вступ Криптографічний примітив можна розглядати з двох різних точок зору: з одного боку, це абстрактний математичний об'єкт (алгоритм, можливо параметризований ключем, що переводить деякий текст на вході в текст на виході); з іншого боку, цей примітив зрештою треба втілити у програмі, що виконуватиметься на певному процесорі та іншому обладнані, таким чином він володітиме певними особливостями саме цієї реалізації.

«Класичний» криптоаналіз розглядає криптографічні примітиви з першої точки зору. Другий підхід використовується в криптоаналізі сторонніми каналами. Серед параметрів притаманних певному втіленню зазвичай використовують час виконання, спожиту потужність, звуки, які видає пристрій, випромінювання та інші. Атакам сторонніми каналами властива менше потужність ніж традиційні атаки, основані на математичному аналізі криптографічного алгоритму, але разом з тим вони значно дієвіші. На поточний момент більшість практично здійснених вдалих атак використовуються слабкості у втілені і розташуванні механізмів криптоалгоритму.

Класифікація атак

Атаки сторонніми каналами в літературі зазвичай класифікують за такими ортогональними принципами :

Контроль над процесом обчислення Залежно від ступеню впливу на процес обчислення атаки можна поділити на: Пасивні — нападник отримує без помітного впливу на систему; система при цьому продовжує діяти як і раніше. Активні — нападник впливає на систему, в наслідку чого змінюється її поведінка; така зміна може бути непомітною для системи яку атакують, але криптоаналітик в змозі використати цю інформацію.

Спосіб доступу до системи Залежно від рівня доступуА саме фізичного, електричного або логічного рівнів інтерфейсів доступних криптоаналітику. до апаратного модуля можна виділити три класа атак: Насильницькі () — відкриття системи криптоаналітиком і отримання прямого доступу до внутрішніх компонентів. Напівнасильницькі () — вплив на внутрішні компоненти відбувається без безпосереднього контакту з пристроєм: наприклад за допомогою лазерного проміню. Ненасильницькіий () — без впливу на досліджувану систему; використовується лише інформація доступна зовні: наприклад час обчислення або спожита енергія.

Варто зазначити, що пристрій обладнується захисними механізмами, що захищають від проникнення (насильницьких атак). Помітити і запобігти ненасильницьким атакам практично неможливо. Ненасильницькі атаки також вигідніші з економіної точки зору: масштабні атаки майже не вимагають збільшення вартості обладнання.

Застосовуваний метод аналізу В залежності від методів застосовуваних для аналізу отриманої інформації, атаки сторонніми каналами можна поділити на: Прості () — дослідження прямої залежності між процесами у пристрої та отриманою криптоаналітиком інформацією; корисна інформація в сигналі повинна бути віддільна від шумів. Різницеві () — криптоаналітик використовує статистичні методи для дослідження залежності між вхідним і вихідним каналами та інформацією отриманою стороннім каналом; використовується безліч вимірів, особлива обробка сигналу та керування помилками.

Відомі типи атак Атака зондуванням

Атака зондуванням () — насильницька пасивна проста атака. Для отримання інформації пристрій відкривається, за допомогою оптичного мікроскопа вивчається друкована плата і встановлюються щупи на провідники, якими йдуть сигнали, або за допомогою мікроскопаВикористовується електронні та іонні мікроскопи досліджується стан комірок пам'яті.

процес спрощується при використанні зондувального приладу, яка включає мікроскопи і мікроманіпулятори для встановлення щупів на поверхні чипа. Такі прилади використовуються в напівпровідниковій промисловості для перевірки зразків виробів; ціна на вторинному ринку складаєблизько 10000$. Щоб спростити спостереження криптоаналітик зазвичай уповільнює тактову частоту роботи приладу.

Атаки по часу

Атака по часу () — перша серед широко відомих атак сторонніми каналами, запропонована Полом Кохером 1996 і застосована на практиці проти алгоритму RSA 1998. Атака основана на припущені, що різні операції виконуються в пристрої за різний час, залежно від поданих на вхід даних. Так, вимірюючи час обчислень і проводячи статистичний аналіз даних, можна отримати повну інформацію про секретний ключ.

Вирізняють ступені схильності алгоритмів до даного типу атак: Атака неможлива на алгоритми, операції яких виконуються за однаковий час на всіх платформах: зсув, циклічний зсув та інші бітові операції над фіксованим числом біт. Можлива атака на алгоритми, що використовують додавання і віднімання. Особливо схильні до таких атак алгоритми, що використовують множення, ділення, піднесення до степеня і бітові операції на довільним числом біт.

Одним з різновидів атак по часу є також атаки на кеш (). Цей тип атак ґрунтується на вимірюваннях часу і частоти промахів в кеш процесора і спрямований на програмні реалізації шифрів

Атаки по часу також можна застосовувати віддалено. Так наприклад, відомі атаки по мережі на сервери, що використовують OpenSSL.

Серед розповсюджених алгоритмів атаці по часу схильні DES, AES, IDEA, RC5.

Атаки по помилках обчислень

Атака по помилках обчислень () — активна атака. Основна ідея — здійснення різних впливів на шифратор з метою утворення викривлення інформації на деяких етапах шифрування. Керуючи цими викривленнями і порівнюючи висліди на різних етапах роботи пристрою, криптоаналітик може відновити секретний ключ. Вивчення атак на основі помилок обчислень зазвичай розділяються на дві гілки: одна вивчає теоретичні можливості для утворення помилок в самому алгоритмі, друга досліджує методі впливу для втілення цих помилок в конкретних пристроях.

Методи впливу Найрозповсюдженіші методи впливу :

Зміна напруги живлення криптосистеми. Відхилення в живлені, що сильно перевищують задані виробником норми, можуть призвести до помилок на певних етапах роботи, не заважаючи пристрою завершити процес шифрування. Зміна будови шифратора (порушення електричних контактів). Зміна тактової частоти шифрувального пристрою. При точному керуванні відхиленням тактової частоти від заданої норми, можна досягти повної зміни виконання інструкцій в пристрої, аж до невиконання певної інструкції. Такі атаки особливо застосовні до смарт-карт, тактовий сигнал для яких подається зовнішнім генератором. Вплив лазерним променем або сфокусованим світовим пучком. За допомогою такого впливу можна змінювати стан комірки пам'яті і впливати на умовні переходи в виконанні коду. Вплив змінним магнітним полем. Змінне магнітне поле викликає в ланцюгах пристрою вихрові струми, які можуть змінювати стан комірок пам'яті. Міщення пристрою в сильне електромагнітне поле. Підвищення температури якоїсь частини шифратора.

Різновиди помилок Атаки по помилках обчислень можна впорядкувати по типу отриманої помилки: Сталі або змінні помилки. Сталі мають сили впродовж дії усього алгоритму, наприклад встановлення значення в комп'ютерній пам'яті або зміна шляху проходження сигналу. Змінні помилки відбиваються лише на певних етапах. Місце виникнення помилки: місцева помилка, наприклад зміна комірки пам'яті, або помилка в довільному місці пристрою, наприклад атака за допомогою електромагнітного поля. Час впливу: деякі атаки вимагають застосування впливу в певний час, як наприклад зміна тактової частоти, інші ж дозволяють здійснити атаку в ширшому діапазоні часу роботи. Тип помилки: зміна значення біта, установка встановленого значення, змін азначення групи бітів повністю, зміна потоку виконання команд та інші

Приклади атак на помилки обчислень Атаки на основі помилок обчислень вивчаються з 1996 і відтоді майже для всіх алгоритмів показали можливість зламу за допомогою такого типу атак. Серед відомих алгоритмів можна виділити: Атакі на RSA, що викортсовують китайську теорему про залишки Диференціальний криптоаналіз по помилках обчислень DES Криптоаналіз AES Диференціальний криптоаналіз систем, що ґрунтуються на еліптичних кривих

Атаки по енергоспоживанню

Атака по енергоспоживанню () — пасивна атака, запропонована Полом Кохером у 1999. Сутність цієї атаки полягає в тому, що в процесі роботи шифратора криптоаналітик з високим ступенем точності вимірює енергоспоживання пристрою і таким чином отримує інформацію про виконувані в пристрої дії та їх параметри. Через те, що живлення пристрою зазвичай подається ззовні, таку атаку легко втілити: достатньо поставити послідовно в коло живлення резистор і точно вимірювати струм, що проходить крізь нього. Інший спосіб — вимірювати зміну напруги на входах і виходах пристрою під час шифрування.

Атаки за потужністю вирізняються високою дієвістю з точки зору затрат на криптоаналіз. Так наприклад, проста атака за потужністю () на смарт-карту здійсненна за кілька секунд, а декотрі варіанти різницевих атак за потужністю () дозволяють отримати секретний ключ за 15 вимірів.

Атаки по електромагнітному випроміненню

Атака по електромагнітному випроміненню () — пасивна атака. Електронні пристрої шифрування під час роботи випромінюють електромагнітне випромінення. Зв'язуючи певні спектральні компоненти цього випромінення з операціями виконуваними на пристрої, можна  отримати достатньо інформації для визначення секретного ключа або інформації, що обробляється.

Прикладом такої атаки є перехоплення ван Эйка здійснене в 1986. В подальшому атаки по електромагнітному випроміненню застосовувались до різних шифрів, наприклад: DES і RSA Втілення AES і криптосистем на еліптичних кривих на FPGA Використання криптографічних геш-функцій HMAC

Акустичні атаки Акустична атака () — пасивна атака, спрямована на отримання інформації зі звуків створюваних пристроєм. Історично тип таких атак пов'язується з прослуховуванням принтерів і клавіатур,}} але в останні роки знайшли вразливості, що дозволяють використовувати акустичні атаки на внутрішні складові шифраторів.

Атаки по видимому випроміненню Атака по видимому випроміненню () — пасивна атака, запропонована Маркусом Куном у 2002. У своїй роботі він показав, що використовуючи високоточний давач інтенсивності світла можна виміряти зміни в інтенсивності розсіяного від монітора світла, і таким чином відновити зображення на екрані Цей тип атак також можна застосовувати до шифраторів, що використовують світлодіодні індикатори, аналізуючи дані від яких можна отримати інформацію про операції в пристрої.

Методи протидії Методи протидії атакам сторонніми каналами залежать від особливостей втілення алгоритму і необхідного ступеня захищеності пристрою. Існують офіційні стандарти щодо захищеності пристроїв, такі як TEMPEST і FIPS. В літературі, присвяченій атакам сторонніми каналами, виділяють такі спільні методи протидії:

Застування Досить потужне фізичне застування пристрою дозволяє усунути майже всі побічні канали витоку інформації. Вадою застування є істотне збільшення вартості і розмірів пристрою.

Додавання шуму Додавання шуму істотно ускладнює задачу криптоаналітака. Шуми зменшують відсоток корисної інформації в побічному каналі, роблячи її використання недоцільним через витрати або й взагалі неможливим. Шум можа додати як програмно (додання випадкових обчислень), так і апаратно (встановлення різних генераторів шуму).

Вирівнювання часу виконання операцій Щоб криптоаналітик не міг провести атаку по часу виконання всі етапи шифрування в пристрої мають виконуватись за однаковий час. Досягти цього можна такими способами: