Атака по часу

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

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

Інформація може просочитися з системи через вимірювання часу необхідного для відповіді на певні запити. Як сильно подібна інформація може дпомогти атакувальнику залежить від багатьох чинників: побудові криптосистеми, ЦПУ системи, використовному алгоритму, деталям властивим даному втіленню, протизаходам до атаки по часу, точності вимірювання тощо.

Суть атаки[ред.ред. код]

Атака по часу — це приклад атаки, що використовує залежні від даних характеристики втілення алгоритму швидше ніж його математичні властивості.

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

Атака по часу дієва в багатьох випадках:

  • Атаку по часу можна застосувати до будь-якого алгоритму, якому властиві залежні від даних варіації. Застосунки, що працюють на ЦПУ з кешем даних, проявлятимуть залежні від даних часові варіації внаслідок кешування. Деякі операції, на кшталт множення, можуть мати різний час виконання залежно від аргументів. Видалення таких залежностей в деяких алгоритмах, які використовують низькорівневі операції, що згуста показують різний час виконання, часто складне.
  • Виявлення секретів через часову інформацію може бути відчутно легшим ніж через аналіз відомої пари відкритого тексту та шифротексту. Іноді часова інформація поєднується з криптоаналізом для покращення показника витоку інформації.