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