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