Ethernet MAC-адрес в качестве кода активации для устройства? - PullRequest
7 голосов
/ 27 августа 2008

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

В нашем текущем плане пользователь вводит MAC-адрес на странице активации на нашем веб-сайте. Позже наше программное обеспечение (работающее на коробке) будет считывать адрес из интерфейса и передавать его в пакете "call home". Если он совпадает, активируется ответ сервера с информацией о клиенте и поле.

Нам нравится этот подход, потому что он прост в обращении и обычно печатается на внешних этикетках (требование FCC?).

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

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

-

@ Neall По сути, звоня на наш сервер, для целей этого обсуждения вы могли бы назвать нас производителем.

Нолл верен, мы просто используем адрес как константу. Мы прочтем его и передадим в другом пакете (скажем, HTTP POST), независимо от того, получим ли его каким-либо образом из фреймов Ethernet.

Ответы [ 4 ]

3 голосов
/ 27 августа 2008

Я не думаю, что широко известная подделка MAC-адресов является проблемой в этом случае. Я думаю, что твикт просто хочет использовать их для первоначальной идентификации. Устройство может считывать свой собственный MAC-адрес, и установщик может (если он напечатан на этикетке) читать тот же номер и знать: «ОК - это ящик, который я поставил в месте A».

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

2 голосов
/ 27 августа 2008

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

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

" По совпадению мы также используем этот номер в качестве MAC-адреса для сетевых пакетов, так как в любом случае мы должны однозначно назначить его во время производства, поэтому это спасло нас от дублирования этого бита работы"

Я бы сказал, что есть две очевидные опасности:

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

  2. Кто-то использует комбинацию правил брандмауэра / маршрутизатора и небольшого количества специального программного обеспечения для генерации сервера, который копирует работу вашего 'auth server' и дает разрешение устройству для продолжения. Вы могли бы сделать это сложнее с некоторой комбинацией хеширования / PKE как части протокола.

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

1 голос
/ 27 августа 2008

MAC-адрес уникален как серийный номер, напечатанный на инструкции / наклейке.

Microsoft выполняет хеширование для предотвращения подделки MAC-адресов и обеспечения большей конфиденциальности.

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

(см. Хеширование пароля)

0 голосов
/ 27 августа 2008

С точки зрения безопасности, я знаю, что можно подделать MAC, хотя я не совсем уверен, насколько это сложно или что влечет за собой.

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

...