Después de un tiempo con el Raspberry Pi 2 Modelo B v1.1., ¿Tengo las siguientes preocupaciones?
- Sé que está enfocado a mejorar los sectores educativos vulnerables, pero ¿es posible vender un producto, basado en el RPi? ¿Ganar dinero con eso? ¿Convertirse en millonario con él?
- ¿Cómo debo proteger un desarrollo, digamos, no quiero que alguien tome mi tarjeta SD RPi, la duplique y tenga sus propias réplicas ? Mi alternativa actual es llenar el puerto SDCard con superglue :). Otra opción podría hacer que el RPi haga ping a un servidor de licencias en línea, lo que por supuesto requeriría una conexión WiFi . O una identificación de hardware HASH (supongo que esta debería ser una mejor respuesta ...)
- He comprobado que también hay mecanismos para recuperar la instalación, incluso si no tiene la raíz, montando la tarjeta SD. Nuevamente, mi mejor solución es el enfoque de superpegamento ...
Gracias por adelantado.
Respuestas:
Si realmente le preocupa proteger su propiedad intelectual, puede combinar su aplicación basada en Rapberry Pi con algún microcontrolador externo personalizado (MCU como AVR, PIC, 8051 ...) clave de hardware (conectada a Pi a través de USB, RXTX, I2C, SPI, 1 cable ...). Por ejemplo, la aplicación del lado Pi genera un número aleatorio que se envía a MCU, se decodifica y se devuelve como una clave de desbloqueo para descifrar algo importante. Luego, además, tiene alguna función importante ejecutada directamente en MCU (solo pasa parámetros y obtiene el resultado de MCU). Puedes imaginar cómo eso aumentaría la dificultad de craqueo para un hacker en orden de magnitud, ya que su conocimiento tendría que ser mucho más amplio de lo habitual. No existe una protección perfecta, pero si realmente quieres que sea un desafío, entonces este podría ser un camino a seguir.
fuente
Creo que esa fue la idea con el módulo de cómputo todo el tiempo. No debería ser un problema obtener ganancias.
/ 4. La opción de superpegamento es probablemente una buena compensación. En última instancia, no puedes derrotar a un atacante con acceso físico al dispositivo. Eche un vistazo a las consolas de juegos que probablemente tienen millones invertidos en infraestructura DRM y eventualmente todas caen. Con un espíritu diferente, también podría adoptar la apertura y vender una versión de desarrollo de su producto e incluir algún tipo de SDK. Los comentarios que reciba de un grupo de usuarios con enfoque técnico pueden ser valiosos y trabajar en su interés.
fuente
Hardware Key
sugerencia de avra y enterrar la tarjeta SD con SuperGlue dentro de su conector?Si bien esta práctica definitivamente está perdiendo cobertura, te sorprendería la cantidad de conectores USB que se han pegado en las máquinas de escritorio en entornos de oficina corporativa. Y estoy hablando de grandes corporaciones multinacionales aquí.
Pero ahora sobre el tema ...
Para proyectos comerciales donde la protección de IP es un factor importante, el Pi es bueno para la creación de prototipos tempranos / prueba de concepto en el mejor de los casos. Incluso si la protección no fuera un problema, los despliegues de Pi a mayor escala no son, en mi humilde opinión, la mejor solución, por una serie de razones que describí en un hilo anterior en este foro.
No existe un sistema seguro contra ingeniería inversa / piratería / reproducción. Cualquier sistema es explotable. Sin embargo, cada sistema tiene un puntaje de penetración. Con su enfoque abierto y tarjeta SD externa, la Pi tiene una muy baja. Una placa de hardware aprobada por militares con diseño personalizado con SoC personalizado, componentes intercalados y PCB de varias capas en combinación con un cargador de arranque personalizado, el cifrado de hardware tendrá una puntuación más alta.
Además de eso, está el factor de despliegue. Cuanto más amplio sea su mercado, más interesante será para las personas ingresar y robar su tecnología.
Si el hardware es su pieza de resistencia en toda la configuración y la protección de su tecnología es un factor importante, no creo que el Pi sea el producto para usted. Si su hardware es un facilitador para la venta de servicios, quizás la protección de la tecnología debería hacerse en el lado del servidor en lugar del lado del cliente.
Usamos el Pi para vender dichos servicios. Nuestro software en el Pi tiene un nivel elevado de protección, estamos usando una aplicación C compilada, bloqueada en el número de serie de MAC y / o CPU. Pero al final, sin nuestro lado del servidor, incluso el código fuente es prácticamente inútil.
fuente
Puede usar un piggy-back dentro de frambuesa con una clave de cifrado. Hay un par de dispositivos comerciales en el mercado. Utilicé este software de protección en serie para Raspberry Pi , que funciona muy bien.
fuente
Hazlo de código abierto
En serio, no intentes protegerlo contra copias. Hazlo de código abierto. Si es posible, deje que otros se unan a su proyecto.
Luego cobra por los servicios. Puede hacer cubos de dinero si lo hace bien.
Red-had lo hace así y algunas otras compañías. A todos les está yendo bien y están creciendo.
fuente
Pocos centavos míos:
...
fuente
Como protección de nivel de entrada, se encuentra una ID de tarjeta SD única
/sys/block/mmcblk0/device/
que no es clonada por el software típico de clonación de imágenes de disco. Esto tiene la ventaja de no requerir un dispositivo separado para contener la ID única y funciona bastante bien como una segunda capa de protección después del superpegamento. Al menos detendrá a las personas que son capaces de simplemente clonar la tarjeta SD.Otro consejo con respecto a la protección mediante el uso de ID es evitar el uso de una verificación simple, es decir
Las comprobaciones simples como estas son fáciles de descubrir (ya sea buscando la identificación conocida o monitoreando las llamadas a
exit()
) y eliminando. Un enfoque mucho mejor es involucrar la ID como una constante en los cálculos. Es decir, en lugar dei++
en algún lugar de su código, escribiráEsto será mucho más difícil de descubrir, ya que la identificación exacta no aparecerá en su código al pie de la letra (
0xDEADBEEF + 1 == 0xDEADBEF0
), e inspeccionar todas las llamadasexit()
también no revelará la ubicación de su código de protección. En cambio, su código simplemente se bloqueará en un sistema con la ID incorrecta, y el atacante tendrá que depurar la lógica de su aplicación para comprender y solucionar el problema.fuente
Usando un componente externo, quise decir que el componente de seguridad resolvería ese problema. Si realmente crees que tu idea es genial y vale la pena un costo adicional para hacerlo, te sugiero que uses un MCU / CPU profesional para hacerlo. Al igual que la serie Broadcom BCM58101, no es realmente rentable y no es amigable para un nuevo usuario, pero un alto nivel de seguridad también puede proteger su idea / diseño.
fuente