Что еще мне нужно знать о реализации системы одноразового пароля?
-
02-10-2019 - |
Вопрос
Мне было поручено создать одноразовую систему паролей (OTP), которая в конечном итоге будет использоваться для создания генераторов OTP на мобильных устройствах.
Мы смотрим на использование HOTP (RFC 4226) используя счетчик, но, возможно, с некоторыми вариациями. Мы не обязаны быть совместимым к присяге.
Это мой первый опыт в области безопасности / криптографической царства, поэтому я пытаюсь избежать (и узнать о) подводных камнях безопасности, которые охраняют новички, а также получить лучшее понимание того, что мне нужно сделать и знать, чтобы завершить эта задача.
В дополнение к этому общему совету, у меня есть несколько конкретных вопросов о внедрении этого проекта:
HOTP все еще считается безопасной, даже если она просто использует SHA-1? Один из моих коллег предположил, что мы должны использовать HMAC-SHA-512. Это выглядит достаточно легко, чтобы переключиться, какой базовый алгоритм мы используем. Есть ли побочные эффекты здесь, я должен знать? Такие как увеличение времени обработки?
У меня есть опасения по поводу синхронизации счетчика. Что я должен использовать в качестве змеемого взгляда на возможные значения счетчика? Каковы лучшие способы вернуться в синхронизации, если пользователь нажимал на нашу лимит на нашем внешнем виде? Было бы проще отобразить и отправить счетчик вместе с соответствующим OTP или что значительно ослабляет безопасность?
У меня также нет хорошего понимания лучших практик для надежной хранилища связанной информации, такой как общие секретные и счетчики счетчика.
Когда вы отвечаете, пожалуйста, имейте в виду, что я новичок в этом домене, и все еще пытаюсь догнать жаргон и аббревиатуры. Заранее спасибо.
Решение
HMAC-SHA1 довольно сильнее, чем SHA-1, который я считаю был нарушен. Отказ Моя память несколько туманно, но гугламирует, нашел еще немного информации о HMAC-SHA-1 VS SHA-1 здесь.