2013-08-30 1 views
-2

Я не знаю, правильно ли это задать этот вопрос.Уникальный номер, который генерируется из семян

Я хочу реализовать аутентификацию, предоставив моему пользователю программное обеспечение с встроенным жестким кодированным номером, говорит, что это x, встроенное в программное обеспечение, которое пользователь не знает. Программное обеспечение имеет кнопку, а затем, когда пользователь нажимает на нее, он сможет генерировать случайное число * s * случайным образом, например a, b, c, d, e f .... и т. Д. На основе x

Когда пользователь, вводящий мой веб-сайт, им нужно использовать программное обеспечение с жестким кодированием в нем и генерировать случайное число, говорит c. Ввод имени пользователя на моем веб-сайте и c в качестве пароля (сгенерированный пароль «на лету» с использованием программного обеспечения), мой сайт знает, что c действительно генерируется x (квалифицированным), который является секретным кодом, который я реализую в своем программном обеспечении и распространяю его на пользователя. Поэтому я разрешаю пользователю входить в систему. Если случайное число, которое вводит пользователь, не генерируется на основе x, я сразу же узнаю и не допущу входа пользователя в систему. Причиной этой реализации является предотвращение исправить пароль.

Заключение, существует ли алгоритм, что данные х

f(x) = randomnumbers 
g(x, randomnumbers) = true/false 

Благодаря

ответ

1

Вы должны посмотреть класс HMACSHA1.

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

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

Возможно, вам лучше разобраться в клиентских сертификатах или мягких жетонах, если вы хотите отбросить его вверх.

0

Более простое решение может быть просто хранить x в своей собственной базе данных, когда вы создаете его и вставить его в программное обеспечение. Затем, когда программное обеспечение хочет подключиться, оно отправляет x, и ваш сайт проверяет его существование против вашей базы данных. Это в значительной степени просто сериал, за исключением того, что вместо проверки серийного номера (вашего значения x) по шаблону вы проверяете его на фактические сгенерированные ключи. Никакой keygen не может поместить сгенерированный ключ в вашу базу данных.

Взволнованный x перехвачен? Просто убедитесь, что используете HTTPS. Нет MITM, не пропускайте хэш, нет участия пользователя (т. Е. Прозрачного).

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