Каковы различные способы аутентификации конечного пользователя с мобильным приложением с помощью устройства HSM?

#blockchain #hsm

#блокчейн #hsm

Вопрос:

Я изучаю устройства HSM, чтобы проверить их применимость с помощью блокчейн-платформ. Я не нашел хорошего ресурса, в котором рассказывалось бы, как конечный пользователь, который не владеет HSM, но его ключи хранятся на нем, используя мобильное приложение, может аутентифицироваться в HSM, чтобы получить подпись от своего закрытого ключа.

Возможными решениями могут быть PIN-код / пароль. Но я чувствую, что это все равно будет небезопасно. Хотя HSM выдает только подписи, любой, кто получает доступ к PIN-коду / паролю пользователя, сможет получить подпись.

Я хотел бы знать, какие методы аутентификации в настоящее время используются для доступа к HSM и какие методы можно использовать в приведенном выше сценарии.

Еще одна вещь, о которой я задавался вопросом: как мобильное устройство может взаимодействовать с HSM? Поддерживает ли HSM HTTPS для взаимодействия с мобильным устройством?

Гипотетические ответы тоже хороши 🙂

Ответ №1:

Поставщики HSM предоставляют различные инструменты для входа в систему. В случае Gemalto (теперь thales) HSM у вас есть java api: JCProv, с помощью которого вы можете войти в hsm. Используя такие API, вы можете войти в токен (hsm), создав сеанс и войдя в систему с номером слота и паролем.

Комментарии:

1. Ах, но эти методы входа вы используете для организации, владеющей правом HSM? Я хотел знать, как конечный пользователь, который не владеет HSM, но его ключи хранятся в HSM, может аутентифицироваться, чтобы получить подпись от своего закрытого ключа. (Отредактировал вопрос для большей ясности)

2. да, эти методы предназначены для этих собственных HSM. Я полагал, что у вас есть один. Чтобы лучше понять вас, ваши ключи хранятся в hsm, так как вы получаете к ним доступ в настоящее время? или как вы узнаете, что ваши ключи хранятся в hsm ?. обычно объекты хранятся в hsm на разделах / слотах, которые защищены паролем. вы не можете попросить hsm выполнить какую-либо операцию без входа в систему через api, указав номер слота и пароль.

3. Я объясню с помощью сценария: организация предоставляет конечным пользователям определенную услугу, которая требует, чтобы у пользователя была пара ключей. Организация владеет HSM, который используется для генерации и хранения ключей конечных пользователей. Ключи хранятся не на устройстве пользователя, а на HSM организации. Теперь всякий раз, когда пользователь хочет воспользоваться услугой, предоставляемой организацией, он должен предоставить подпись. Он может получить подпись только от HSM, аутентифицируясь сам. Как этого можно достичь?

4. Я полагаю, что пара ключей генерируется для вас в HSM во время процесса регистрации для служб организаций. Если это так, вам может быть возвращено что-то в конце процесса регистрации, что может быть использовано для аутентификации и получения необходимой информации для предоставления услуг?