2011-03-29 4 views
0

Я работаю над приложением с красной кнопкой. Это означает, что каждая учетная запись клиента имеет два (секретных) ключа, которые автоматически генерируются. Когда кто-то вводит эти ключи на специальной (общедоступной) странице, будет запущен определенный процесс. Процесс не является критическим, ноБезопасный способ получения секретных ключей

Это все позаботится, ключи автоматически генерируются при создании учетной записи пользователя, хранятся в базе данных и отображаются пользователю один раз, чтобы он мог распространять ключи по своему усмотрению. Он может, конечно, сбросить ключи, если захочет.

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

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

У кого-нибудь есть идеи по этому поводу? Может быть, даже лучшее предложение?

+0

Это супер сверхмощный. Простая аутентификация пароля и традиционный пароль-сброс по электронной почте будут достаточными, если вы используете SSL. Если вы не используете SSL, не имеет значения, сколько ключей вы используете или насколько безопасно они сгенерированы ... – meagar

+0

Вы можете посмотреть на ключи как на комбинацию имени пользователя и пароля, но это не значит, что все. Дело в том, что нам нужно как-то получить оба ключа. Ключ-сброс по электронной почте в сочетании с SSL - это то, что мы используем сейчас, и это недостаточно. –

ответ

1

Вы хотите проверить шифры, как AES.

Я проверил this gisthub example о том, как использовать Ruby и AES для шифрования и дешифрования.

+0

Я проверю это. Спасибо. Это ставит вопрос о том, как мы будем обрабатывать изменения пароля и сбрасывать их. Я должен подумать об этом еще. Любые идеи приветствуются. –

Смежные вопросы