LINUX.ORG.RU

История изменений

Исправление ivlad, (текущая версия) :

Это не миллион за 30 секунд. Это миллион каждые 30 секунд.

Положим, я атакующий. Пространство паролей - 10^6, предположим, я могу за 30 секунд спросить сто (всего!) случайных паролей, это 10^2. Тогда вероятность, что я угадаю, равна 10^2/10^6. Вероятность, что я не угадаю, равна 1-10^2/10^6. Каждый раз, когда я не угадываю, я пробую снова. Вероятность не угадать за две попытки (тут можно принять, что результат генерирования OTP почти случайный) равна (1-10^2/10^6)^2. Вероятность не угадать за N попыток равна (1-10^2/10^6)^N, соответственно, вероятность угадать равна 1-(1-10^2/10^6)^N.

Теперь предлагаю взять калькулятор и посчитать вероятность для N=10^4, 10^5.

1-((1-10^2/10^6)^10^4)
.63213895356707007589

1-((1-10^2/10^6)^100000)
.99995462276604103883
Что такое 10^4 тридцатисекундных промежутков?
30*10^4/60/60/24
3.47222222222222222222
Трое с половиной суток. За трое с половиной суток, я с вероятностью 63% угадаю твой пароль.

А за месяц с хвостиком — с вероятностью 99,995%.

И это еще не считая того факта, что в практической ситуации OTP проверяет не только пароль текущего промежутка, но еще и одного-двух соседних, на случай рассинхронизации часов.

Исходная версия ivlad, :

Это не миллион за 30 секунд. Это миллион каждые 30 секунд.

Положим, я атакующий. Пространство паролей - 10^6, предположим, я могу за 30 секунд спросить сто (всего!) случайных паролей, это 10^2. Тогда вероятность, что я угадаю, равна 10^2/10^6. Вероятность, что я не угадаю, равна 1-10^2/10^6. Каждый раз, когда я не угадываю, я пробую снова. Вероятность не угадать за две попытки (тут можно принять, что результат генерирования OTP почти случайный) равна (1-10^2/10^6)^2. Вероятность не угадать за N попыток равна (1-10^2/10^6)^N, соответственно, вероятность угадать равна 1-(1-10^2/10^6)^N.

Теперь предлагаю взять калькулятор и посчитать вероятность для N=10000, 100000.

1-((1-10^2/10^6)^10^4)
.63213895356707007589

1-((1-10^2/10^6)^100000)
.99995462276604103883
Что такое 10^4 тридцатисекундных промежутков?
30*10^4/60/60/24
3.47222222222222222222
Трое с половиной суток. За трое с половиной суток, я с вероятностью 63% угадаю твой пароль.

А за месяц с хвостиком — с вероятностью 99,995%.

И это еще не считая того факта, что в практической ситуации OTP проверяет не только пароль текущего промежутка, но еще и одного-двух соседних, на случай рассинхронизации часов.