Каковы подходы для ограничения доступа к группе машин в веб-системе? - PullRequest
0 голосов
/ 03 февраля 2009

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

Каковы подходы для ограничения доступа к группе компьютеров в веб-системе?

Другими словами, как определить компьютер, который сделал http-запрос на веб-сервере?

Ответы [ 5 ]

2 голосов
/ 03 февраля 2009

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

Обновление: Следует принять во внимание, что уникальная идентификация компьютера означает получение чего-либо, находящегося на относительно низком уровне, недоступном для кода, встроенного в HTML-страницу (Javascript, не подписанный апплет или activeX) если вы не установили что-либо на нужный компьютер (или не выполнили что-либо с подписью, например, апплет или activeX).

Одна вещь, которая уникальна для каждого компьютера, - это MAC-адрес карты Ethernet, который почти повсеместен на каждом довольно современном (и не очень современном) компьютере. Однако это не может быть достаточно безопасным, поскольку многие карты позволяют менять свой MAC-адрес.

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

Вы также можете объединить многие элементы компьютера, такие как идентификатор процессора (модель, скорость и т. Д.), Модель материнской платы, место на жестком диске, установленная память и т. Д. Я думаю, что Windows XP использовала такой тип информации для передачи хеша для уникальной идентификации компьютера в целях активации.

Обновление 2: Жесткие диски также поставляются с серийными номерами, которые можно получить с помощью программного обеспечения. Здесь - пример того, как получить его для активации (ваш случай). Однако это будет работать, если sb переносит HD на другой компьютер. Тем не менее, вы все равно можете комбинировать его с более уникальными данными с компьютера (такими как MAC-адрес, как я уже говорил ранее). Я также добавил бы уникальный ключ, сгенерированный для пользователя и хранящийся в собственной базе данных (которую можно было бы получить в режиме онлайн с сервера) вместе с остальными, чтобы передать хеш-функцию , которая идентифицирует систему.

0 голосов
/ 03 февраля 2009

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

0 голосов
/ 03 февраля 2009

Вы на самом деле что-то установили?

Помимо того, что Марк Бриттингем упоминает об IP-адресах, я полагаю, что какой-то хэш-код известен только компьютеру вашего банка и вашему компьютеру (-ам) будет работать, если вы что-то установили. Однако, если у вас нет очень надежного пароля для начала, что помешает кому-то «зарегистрировать» свой компьютер, чтобы украсть у вас деньги?

0 голосов
/ 03 февраля 2009

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

Руководство по использованию доверенных апплетов.

0 голосов
/ 03 февраля 2009

Если вы ищете IP-адрес компьютера, который отправляет запрос на создание учетной записи, вы можете легко получить его из запроса. В ASP.NET вы должны использовать:

string IPAddress = Request.UserHostAddress;

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

В любом случае, это то, что вы ищете?

Обновление: если вы хотите зарегистрировать определенный компьютер, рассматривали ли вы вопрос об использовании файлов cookie? Недостатком, конечно, является то, что кто-то может очистить свои куки и, таким образом, «отменить регистрацию» своего компьютера. Проблема в том, что веб имеет только такой большой доступ к вашему компьютеру (не так много), что нет надежного способа «зарегистрировать» компьютер. Даже если вы установите элемент управления ActiveX, они могут удалить или удалить его (хотя это более устойчиво, чем файл cookie). В конце концов, вам всегда нужно будет предоставить конечному пользователю метод some для повторной регистрации. И, если вы это сделаете, то вы можете в любом случае войти в систему.

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