Вопрос

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

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

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

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

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

--

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

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

Это было полезно?

Решение

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

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

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

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

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

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

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

Другие советы

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

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

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

Microsoft использует хеширование, чтобы предотвратить подделку MAC-адреса и обеспечить немного большую конфиденциальность.

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top