MAC-адрес Ethernet как код активации устройства?
-
09-06-2019 - |
Вопрос
Предположим, вы развертываете в полевых условиях сетевые устройства (ПК малого форм-фактора).Вы хотите, чтобы они звонили домой после включения, а затем идентифицировались и активировались конечными пользователями.
Наш текущий план предполагает, что пользователь вводит MAC-адрес на странице активации на нашем веб-сайте.Позже наше программное обеспечение (работающее на приставке) прочитает адрес из интерфейса и передаст его в пакете «позвонить домой».Если оно соответствует, ответ сервера с информацией о клиенте и поле активируется.
Нам нравится этот подход, потому что к нему легко получить доступ, и он обычно печатается на внешних этикетках (требования FCC?).
Есть ли проблемы, на которые стоит обратить внимание?(Используемое аппаратное обеспечение имеет небольшой форм-фактор, поэтому все сетевые карты и т. д. встроены, и их будет очень сложно заменить.Клиенты обычно не имеют прямого доступа к ОС).
Я знаю, что Microsoft выполняет какую-то сумасшедшую функцию нечеткого хеширования для активации Windows с использованием идентификаторов устройств PCI, размера памяти и т. д.Но это кажется излишним для наших нужд.
--
@Neall По сути, звоня на наш сервер, для целей этого обсуждения вы можете позвонить нам как производителю.
Нил прав: мы просто используем адрес как константу.Мы прочитаем его и передадим в другом пакете (скажем, HTTP POST), независимо от того, получим ли его каким-то образом из кадров Ethernet.
Решение
Я не думаю, что в том, что вы здесь делаете, есть что-то волшебное — нельзя ли описать то, что вы делаете, так:
«На производстве мы записываем уникальный номер в каждое из наших устройств, который может быть прочитан конечным пользователем (он указан на этикетке) и доступен внутреннему процессору.Наши пользователи должны ввести этот номер на нашем веб-сайте вместе с данными своей кредитной карты, и впоследствии ящик свяжется с веб-сайтом для получения разрешения на работу».
"Случайно мы также используем этот номер в качестве MAC-адреса для сетевых пакетов, поскольку нам в любом случае приходится однозначно назначать его во время производства, поэтому это избавило нас от дублирования этой части работы».
Я бы сказал, что есть две очевидные опасности:
Люди взламывают ваше устройство и меняют этот адрес на адрес, который уже активировал кто-то другой.Вероятность того, что это произойдет, зависит от некоторой взаимосвязи между тем, насколько это сложно и насколько дорого обходится то, что им удается украсть.Возможно, вам захочется подумать о том, насколько легко они смогут взять файл обновления прошивки и извлечь из него код.
Кто-то использует комбинацию правил брандмауэра/маршрутизатора и немного специального программного обеспечения для создания сервера, повторяющего работу твой «сервер аутентификации» и разрешает устройству продолжить работу.Вы можете усложнить эту задачу, используя некоторую комбинацию хеширования/PKE как часть протокола.
Как всегда, какой-то утомительный и дорогостоящий одноразовый взлом по большому счету не имеет значения, чего вам не нужен, так это классного разрыва, который можно распространить через Интернет среди каждого вора.
Другие советы
Я не думаю, что известная подделка MAC-адресов является проблемой в данном случае.Я думаю, что твик просто хочет использовать их для первоначальной идентификации.Устройство может считывать свой собственный MAC-адрес, а установщик может (если он указан на этикетке) прочитать тот же номер и сказать: «ОК, это коробка, которую я положил в точку А».
tweakt - будут ли эти ящики обращаться к серверу производителя или к серверу компании/человека, использующего их (или в данном случае это одно и то же)?
MAC-адрес уникален, как серийный номер, напечатанный на руководстве/наклейке.
Microsoft использует хеширование, чтобы предотвратить подделку MAC-адреса и обеспечить немного большую конфиденциальность.
Используя единственный подход MAC, вы можете легко сопоставить устройство с клиентом, просто находясь в одной подсети.Хэш предотвращает это, поскольку не дает понять, какие критерии используются, и не позволяет провести реверс-инжиниринг отдельных частей.
(см. хеширование пароля)
С точки зрения безопасности я знаю, что MAC можно подделать, хотя я не совсем уверен, насколько это сложно и что это влечет за собой.
В противном случае, если у клиентов нет простого доступа к оборудованию или ОС, вы должны быть в достаточной безопасности, делая это...вероятно, лучше всего разместить наклейку с предупреждением о том, что любые действия нарушат связь с сервером.