Мы создали двухфакторную систему аутентификации, которая использует Google Authenticator использовать OTP через приложения для мобильных телефонов. Однако у некоторых из наших пользователей нет смартфонов, поэтому мы хотим иметь возможность использовать с ним аппаратные токены.
Если секретный ключ / начальное значение задано производителем, то очевидно, что кто-то еще может знать ваш секретный ключ. Это не кажется безопасным. Разве это не имело бы смысла, если бы они были повторно засеяны. Можно ли сбросить эти типы аппаратных токенов с помощью нового секретного ключа, когда вы их получите? Это зависит только от производителя ключей?
Есть несколько аппаратных токенов, которые можно засеять.
Симпатичная версия - это действительно yubikey, так как вам не нужно дополнительное оборудование для ее заполнения, а все необходимое программное обеспечение общедоступно. Юбикей отлично работает даже для слепых. Но для его использования нужен USB-порт.
Есть также eToken PASS и eTokenNG OTP, оба токена SafeNet (бывший Aladdin). PASS - это токен брелока, который может быть загружен с помощью дополнительного устройства. EToken PASS можно использовать как токены HOTP и TOTP.
ETokenNG OTP - это гибридное устройство (OTP и смарт-карта). Он также имеет разъем USB и может быть подключен через этот разъем USB.
Но если у некоторых пользователей нет смартфонов, вы также можете:
использовать motp, который также будет работать на старых функциональных телефонах или
SMS-токены, где OTP передается через SMS на мобильный телефон (не смарт). (Но я бы очень, очень не рекомендовал это! ;-)
Я бы порекомендовал взглянуть на ЛинОТП или конфиденциальность который является бэкэнд, который работает со всеми этими типами токенов (Google Autheticator, YubiKey, eToken Pass, eTokenNG OTP, motp, SMS ...), что дает вам возможность выбрать, какой пользователь будет иметь какой токен.
Наконец, и да, я работаю в компании, которая предоставляет корпоративные расширения для LinOTP с открытым исходным кодом.
О, я ненавижу противоречить людям.
Да, вы можете повторно заполнить аппаратный ключ. Или, если быть точным, существуют OATH-совместимые аппаратные токены, которые можно повторно засеять; в частности, Юбикей. Секрет хранится в памяти, предназначенной только для записи; любой, у кого есть физическое владение устройством, может написать ему секрет, но он не вернет секрет обратно; он будет выполнять только OATH и другие операции с одноразовым паролем.
У меня нет связи с производителем; Мне просто понравились их продукты, потому что я хотел двухфакторную аутентификацию, где Я контролировал секреты. Хотя я не использую свой в режиме OATH, я использую его в другом режиме OTP и определенно сгенерировал и загрузил свои собственные секреты как для моего личного токена, так и для тех, которые используются другими пользователями моих систем.
Если вам интересно, я уже писал об этом подробнее в моем техноте.
В любом случае, теперь, когда вы знаете, что существуют повторно заполняемые аппаратные токены, вы можете поискать тот, который вам подходит.
Нет, перезагрузить аппаратный ключ нельзя.
Начальное значение на [совместимых] аппаратных ключах OTP / OATH хранится в зашифрованном виде в ОЗУ. Чтобы извлечь или изменить ключ, вам нужно взломать шифрование и изменить память, пока она включена, что просто невозможно. (Поскольку эти устройства используют ОЗУ для хранения начального значения, если вы отключите аккумулятор / питание, вы потеряете это содержимое и заблокируете устройство.)
И, как нечто, что нужно учитывать, как узнать, что кто-то может знать начальное значение вашего ключа? Тот факт, что он установлен на заводе, не означает, что кто-либо когда-либо знает начальное значение вашего ключа, не говоря уже о значении вашего ключа и может связать его с вашим ключом. (Мой компьютер в течение всего дня генерирует криптографические ключи для таких вещей, как веб-сайты SSL, не означает, что я мог бы сказать вам любое из этих значений ключа, если бы моя жизнь зависела от этого.)