Веб-приложение: двухэлементный логин - PullRequest
1 голос
/ 28 апреля 2011

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

Мой вопрос: существует ли какой-либо разумный способ для веб-обозревателя получить доступ к данным с таких устройств, как кард-ридер или сканер отпечатков пальцев, и отправить их во время входа в систему?Java-апплет, плагин для браузера?Что-то другое?Или токен является единственным вариантом?

РЕДАКТИРОВАТЬ: я нашел кое-что об аутентификации двустороннего сертификата, где клиент и сервер обмениваются своими сертификатами - кажется, что сертификат клиента может быть защищен с помощью смарт-карты, поэтому пользователь имеетположить его в ридер во время входа в систему.Может, кто-то знает что-то еще об этом?

Ответы [ 4 ]

1 голос
/ 28 апреля 2011

У меня есть несколько предложений:

  • Сделайте так, как это делают некоторые банки, дайте клиенту файл с информацией, необходимой для входа. Затем зашифруйте файл и проверьте его хэш.(может быть, и sha1, и md5?) Ваша единственная проблема - кража файла.
  • Получите вдохновение от Steam, отправьте подтверждение по электронной почте всякий раз, когда пользователь входит в систему с нового компьютера (и / или браузера и / илиip может быть?)
  • Кроме того, вы можете предоставить пользователю список предопределенных ключей (по электронной почте, электронной почте или лично), а затем всякий раз, когда пользователю необходимо войти в систему, запросить случайный ключ,и когда он используется, откажитесь от него в системе.Недостатком является то, что вам придется раздавать новый список, когда они привыкнут.(Я видел системы, подобные этой, очень хорошо работали раньше.)

Надеюсь, что все это послужит источником вдохновения.

1 голос
/ 28 апреля 2011

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

Существует множество поставщиков услуг, которые предлагают отправку текстовых сообщений через простые API REST за приемлемую плату. Когда безопасность - большая проблема, дополнительные расходы не должны быть большой проблемой.

1 голос
/ 28 апреля 2011

Я боюсь взаимодействовать с внешним оборудованием, вы застряли с написанием родного плагина браузера или элемента управления ActiveX (в случае IE).Однако некоторые устройства чтения магнитных карт на самом деле ведут себя как клавиатура (то есть они «печатают» данные, которые они читают с карты, после чего следует какой-то управляющий символ, такой как \ n) - так что с некоторой уловкой focus () вы могли бы предположительнозахватить ввод читателя, не используя ничего, кроме чистого JS.

0 голосов
/ 28 апреля 2011

Одна вещь, которую вы могли бы рассмотреть, это реализовать что-то похожее на Аутентификатор Blizzard для World of Warcraft. Это 8-значный код, который меняется каждые 60 секунд и привязан к определенному серийному номеру. Вы бы сохранили сериал с записью учетной записи пользователя и вычислили ожидаемый код на основе этого и текущего времени. Это система, которая противостоит настоящей армаде высоко мотивированных хакеров, так что, по крайней мере, она достаточно безопасна.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...