Pregunta

Supongamos que implementa dispositivos conectados a la red (PC de factor de forma pequeño) en el campo.Desea permitir que estos llamen a casa después de encenderlos y que luego los usuarios finales los identifiquen y activen.

Nuestro plan actual implica que el usuario ingrese la dirección MAC en una página de activación en nuestro sitio web.Más tarde, nuestro software (que se ejecuta en la caja) leerá la dirección de la interfaz y la transmitirá en un paquete de "llamada a casa".Si coincide, el servidor responde con los datos del cliente y se activa la casilla.

Nos gusta este enfoque porque es de fácil acceso y generalmente está impreso en etiquetas externas (¿requisito de la FCC?).

¿Algún problema a tener en cuenta?(El hardware en uso es de formato pequeño, por lo que todas las NIC, etc., están integradas y serían muy difíciles de cambiar.Los clientes normalmente no tienen acceso directo al sistema operativo de ninguna manera).

Sé que Microsoft realiza una función loca de hash difuso para la activación de Windows utilizando ID de dispositivo PCI, tamaño de memoria, etc.Pero eso parece excesivo para nuestras necesidades.

--

@Neall Básicamente, llamar a nuestro servidor; para los fines de esta discusión, puede llamarnos al fabricante.

Neall tiene razón, solo usamos la dirección como constante.Lo leeremos y lo transmitiremos dentro de otro paquete (digamos HTTP POST), sin depender de obtenerlo de alguna manera desde tramas Ethernet.

¿Fue útil?

Solución

No creo que haya nada mágico en lo que estás haciendo aquí; ¿no podría describirse lo que estás haciendo como:

"En producción grabamos un número único en cada uno de nuestros dispositivos que es legible por el usuario final (está en la etiqueta) y accesible para el procesador interno.Nuestros usuarios deben ingresar este número en nuestro sitio web junto con los datos de su tarjeta de crédito, y el cuadro posteriormente se comunica con el sitio web para obtener permiso para operar".

"Casualmente También utilizamos este número como dirección MAC para los paquetes de red, ya que de todos modos tenemos que asignarlo de forma única durante la producción, por lo que nos ahorró duplicar este trabajo".

Yo diría que los dos peligros obvios son:

  1. Las personas piratean su dispositivo y cambian esta dirección por una que otra persona ya haya activado.La probabilidad de que esto suceda depende de alguna relación entre lo difícil que es y lo caro que es lo que roban.Es posible que desee pensar en la facilidad con la que pueden tomar un archivo de actualización de firmware y obtener el código.

  2. Alguien usa una combinación de reglas de firewall/enrutador y un poco de software personalizado para generar un servidor que replica el funcionamiento de su 'servidor de autenticación' y otorga permiso al dispositivo para continuar.Podrías hacer esto más difícil con alguna combinación de hash/PKE como parte del protocolo.

Como siempre, algún truco único, tedioso y costoso es en gran medida irrelevante; lo que no quieres es una pausa en la clase que pueda distribuirse a través de Internet a todos los ladrones.

Otros consejos

No creo que la conocida falsificación de las direcciones MAC sea un problema en este caso.Creo que tweakt simplemente quiere usarlos para la identificación inicial.El dispositivo puede leer su propia dirección MAC y el instalador puede (siempre que esté impreso en una etiqueta) leer el mismo número y saber: "OK, esta es la casilla que puse en la ubicación A".

tweakt: ¿estas cajas llamarían al servidor del fabricante o al servidor de la empresa/persona que las utiliza (o son lo mismo en este caso)?

La dirección MAC es tan única como un número de serie impreso en un manual o etiqueta.

Microsoft realiza hash para evitar la suplantación de direcciones MAC y permitir un poco más de privacidad.

Con el enfoque único MAC, puede hacer coincidir fácilmente un dispositivo con un cliente con solo estar en la misma subred.El hash lo impide al ser opaco respecto de los criterios que se utilizan y al no tener forma de realizar ingeniería inversa en piezas individuales.

(ver hash de contraseña)

Desde una perspectiva de seguridad, sé que es posible falsificar una MAC, aunque no estoy del todo seguro de lo difícil que es ni de lo que implica.

De lo contrario, si los clientes no tienen fácil acceso al hardware o al sistema operativo, debería estar bastante seguro al hacerlo...Probablemente sea mejor poner una pegatina de advertencia que diga que alterar cualquier cosa interrumpirá la comunicación con el servidor.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top