[identity profile] dr-trans.livejournal.com posting in [community profile] useful_faq
Закину вопрос сюда... Вроде юзфул в контексте безопасности и понимания сути.

У меня появился такой домашний питомец девайс. При нажатии кнопки брелок выдает 6-значный код, который нужно вводить при многофакторной проверке подлинности в системе клиент-банк. Код генерируется этим устройством локально в качестве альтернативы получению кода по СМС — защита от фишинга, соглядатайства и прочих потенциальных утечек.

При многократном нажатии кнопки брелок выдает 6-значный код в течение 15 секунд, потом код меняется. И так через каждые 15 секунд генерируется новый код. Постоянно.

Вопросы:

  1. Как работает устройство и вся эта система?

  2. Как происходит синхронизация по времени с сервером банка? Понятно, что алгоритм генерирования кода зашит в штучку, но синхронизация необходима, т.к. код устаревает через 15 секунд.

  3. Как это устройство называется по-русски. Интересуют нормальные технические термины.


(Понимаю, что магия, связь с космосом и потусторонние силы, но хочется конкретики.)

Date: 2015-03-06 09:16 am (UTC)
From: [identity profile] denisty.livejournal.com
Сайт банка знает сколько сейчас времени. И брелок знает сколько времени. И на основе этого времени и генерит код. Сайт банка знает алгоритм генерации кода и, соответственно, может вычислить время генерации кода.

Date: 2015-03-06 09:40 am (UTC)
From: [identity profile] denisty.livejournal.com
Радио, GPS, Глонас

Date: 2015-03-06 09:45 am (UTC)
From: [identity profile] langsamer.livejournal.com
Куда проще будет хранить поправку времени для каждого конкретного брелока на сервере. А вычислять ее - по введенному актуальному коду. Для безопасности - трем/четырем подряд.
Это если исходить из предположения, что таковая поправка будет значительна на релевантном отрезке времени. Т.е. если встроенные часы уходят на секунду из предложенных 15ти за 10 лет - кому нужна поправка?