Технічно ця навмисна затримка полягає у запобіганні таких атак, як "атака лінеаризації" (є й інші атаки та причини) .
Щоб проілюструвати атаку, розгляньте програму (без цієї навмисної затримки), яка перевіряє введений серіал, щоб побачити, чи відповідає він правильному серіалу, який у цьому випадку буває " xyba " . Для ефективності програміст вирішив перевірити один символ одночасно та вийти, як тільки буде знайдено неправильний символ, перед початком також перевіряються довжини.
Для правильної серійної довжини обробка займе більше часу, ніж неправильна серійна. Ще краще (для зловмисника) серійний номер, який має правильний перший символ, займе більше часу, ніж будь-який, який має неправильний перший символ. Послідовні кроки часу очікування пов’язані з тим, що кожного разу є ще один цикл, порівняння для правильного введення.
- Отже, зловмисник може вибрати рядок з чотирма символами і те, що рядок, що починається з x, займає найбільше часу. (здогадуюсь роботу)
- Потім нападник може виправити символ як x та змінити другий символ, і в такому випадку вони виявлять, що y займає найдовше.
- Потім зловмисник може зафіксувати перші два символи як xy та змінити третій символ, і в такому випадку вони виявлять, що b займає найдовше.
- Потім зловмисник може зафіксувати перші три символи як xyb і змінити четвертий символ, і в такому випадку вони виявлять, що a займає найдовше.
Отже, зловмисники можуть одночасно відновити серійний символ.
Лінеаризація.java.
Linearization.docx, вибірки виводу
Серійний номер - чотири символи, і кожен символ має 128 можливих значень. Тоді є 128 4 = 2 28 = 268 455 456 можливих серіалів . Якщо зловмисник повинен випадково відгадати повний серійний номер, вона вгадає серійний номер приблизно за
2 27 = 134,217,728 спроб, що є величезною роботою . З іншого боку, використовуючи атаку лінеаризації, вказану вище, для кожної літери потрібно в середньому лише 128/2 = 64 здогадів, для загальної очікуваної роботи приблизно 4 * 64 = 2 8 = 256 відгадок,
що є тривіальною сумою роботи.
Значна частина написаних бойових дій адаптована з цього (взято з "Інформаційної безпеки: принципи та практика" Марка Штампа). Також наведені вище розрахунки не враховують кількість здогадок, необхідних для визначення правильної серійної довжини.