Можно ли предсказать будущие значения 2FA с учетом более старых значений с отметками времени? - PullRequest
0 голосов
/ 17 апреля 2020

Безопасно ли поделиться 2FA кодами? Я говорю о TOTP как Google Authenticator или Authy.

Например, если у меня есть код и время генерации, возможно ли предсказать новые коды? Что если у меня более 1 пары кодов + время?

Я думаю, что можно прогнозировать новые коды на основе старой информации (код + время).

Так что, если это возможно, как я делаю это? Я ищу какой-то алгоритм.

Известный период времени, время, код и длина секрета.

Пример:

22:20:30 561918
22:21:00 161664
22:21:30 610130

1 Ответ

0 голосов
/ 17 апреля 2020

Внутренне, эти генераторы 2FA обычно работают на основе алгоритма одноразового пароля на основе времени . Эти алгоритмы работают с использованием надежных функций ha sh для комбинации двух значений: общего секрета и текущего приращения времени, и, в частности, используют конструкцию под названием HMA C, которая, как известно, является безопасной при условии лежащая в основе функция ha sh:

В результате, если кто-то может предсказать будущие выходные данные вашего устройства 2FA, увидев некоторые временные метки и выходные данные с устройства 2FA, то они должны (1) знать общий секрет или (2) возможность взломать HMA C. И то и другое маловероятно, если только кто-то не взломал Google или не знает о атаках на HMA C или на основную функцию ha sh, выходящую за рамки публикаций c.

Другими словами, вам не нужно беспокоиться о том, что кто-то будет угадывать будущие значения с учетом прошлых значений, хотя я бы все же не рекомендовал выдавать старые значения, потому что вам не следует выдавать значения 2FA никому, кроме сайта, на который вы входите. : -)

...