Будет ли хорошей идеей система входа в систему на основе цифровой подписи? - PullRequest
0 голосов
/ 02 мая 2009

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

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

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

Это практическая система? Я просто трачу свое время? Разве я не должен изобретать велосипед и просто использовать OpenID?

Ответы [ 6 ]

2 голосов
/ 02 мая 2009

Удостоверения личности, такие как Windows Cardspace, являются хорошей альтернативой, поскольку они хранятся на вашем компьютере и могут быть скопированы. Технически это называется Метасистема идентификации или Карты идентификации .

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

Система InfoCard от Microsoft является хорошим решением, хотя она не очень популярна.

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

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

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

1 голос
/ 02 мая 2009

Это очень похоже на , как работает HTTPS .

С вашей идеей, вы должны заботиться о вашем личном ключе. Что делать, если ваш компьютер выходит из строя и т. Д. А как насчет входа с другого компьютера? Вы бы поверили, что вставили флешку с закрытым ключом в чужой компьютер?

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

Так что я думаю, что мой ответ - да, у вас есть хорошая идея, но, возможно, вам просто нужно уточнить ее еще немного.

0 голосов
/ 02 мая 2009

Я бы сказал, что OpenID достаточно.

Я вижу пару проблем с вашей системой

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

  2. Вам также необходимо защитить ключ от потери. Что, скорее всего, означает защиту паролем ключа, что лишает удобства системы.

То, что должно произойти, чтобы OpenID был более устойчивым к сбоям провайдера ID, - это сайты, позволяющие нескольким OpenID связываться с учетной записью, как это делает SO. Таким образом, ваша идея может перестать быть работоспособной, но я думаю, что усилия, направленные на то, чтобы она работала и была принята, были бы намного больше, чем работа по широкому внедрению сайтов, допускающих несколько OpenID.

Кроме того, проверьте эту ссылку для описания аутентификации клиента TLS

0 голосов
/ 02 мая 2009

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

0 голосов
/ 02 мая 2009

Windows CardSpace поддерживает что-то вроде этого. Но это действительно не взлетело.

0 голосов
/ 02 мая 2009

Использовать OpenID. Его так легко настроить, и вам не нужно его отлаживать.

...