Red de conocimiento informático - Conocimiento informático - Cómo evitar que el microcontrolador se descifre

Cómo evitar que el microcontrolador se descifre

La MCU generalmente tiene EEPROM/FLASH interna para que los usuarios almacenen programas y datos de trabajo. Para evitar el acceso no autorizado o la copia del programa interno del microcontrolador, la mayoría de los microcontroladores están equipados con bits de bloqueo de cifrado o bytes de cifrado para proteger el programa en el chip. Si el bit de bloqueo de cifrado está habilitado (bloqueado) durante la programación, el programa en el microcontrolador no se puede leer directamente con un programador normal. Esto se denomina cifrado de microcontrolador. Los atacantes de microcontroladores utilizan equipos especiales o equipos de fabricación propia, aprovechan lagunas en el diseño del chip del microcontrolador o defectos de software y utilizan diversos medios técnicos para extraer información clave del chip y obtener el programa dentro del microcontrolador. Esto se denomina descifrado del microcontrolador.

En teoría, los atacantes pueden utilizar los métodos anteriores para acceder a cualquier microcontrolador con suficiente inversión y tiempo. Este es un principio básico que los diseñadores de sistemas siempre deben tener en cuenta. Por lo tanto, como ingeniero de diseño de productos electrónicos, es muy necesario comprender la última tecnología de ataques de microcontroladores actuales, conocerse a sí mismo y al enemigo, y ser consciente de ello, para poder prevenir eficazmente los productos en los que ha gastado mucho. Se evita que el dinero y el tiempo necesarios para diseñar se falsifiquen de la noche a la mañana. Hacemos las siguientes sugerencias basadas en la práctica de descifrado de Husheng Electronics:

(1) Antes de seleccionar un chip de cifrado, realice una investigación completa para comprender los nuevos desarrollos en la tecnología de descifrado de MCU, incluidos los MCU que se ha confirmado que son agrietable. Trate de no utilizar chips que ya sean descifrables o de la misma serie y modelo. Elija microcontroladores que utilicen nuevos procesos, nuevas estructuras y un menor tiempo de comercialización. Por ejemplo, puede utilizar ATMEGA88/ATMEGA88V. El costo de craqueo nacional actual es de aproximadamente. 6K, actualmente Los que son relativamente difíciles de descifrar incluyen la serie ST12, DSPPIC, etc.; otros también se pueden cifrar en combinación con CPLD, por lo que el costo de descifrado es muy alto y cuesta alrededor de 10,000 descifrar uno. CPLD general.

(2) Trate de no utilizar la serie de microcontroladores MCS51, porque este microcontrolador es el más popular en China y ha sido el más investigado.

(3) El creador original del producto generalmente tiene las características de una gran producción, por lo que puede elegir un microcontrolador relativamente raro e impopular para aumentar la dificultad de compra por parte de los falsificadores. Seleccione algunos microcontroladores raros, como. ATTINY2313, AT89C51RD2, AT89C51RC2, los microcontroladores Motorola y otros chips que son difíciles de descifrar son desarrollados y utilizados actualmente por muy pocas personas que estén familiarizadas con los microcontroladores Motorola en China, por lo que el costo de descifrarlos también es bastante alto, oscilando entre aproximadamente 3000 y 30.000.

(4) Siempre que el costo del diseño lo permita, se debe usar un chip de tarjeta inteligente con función de autodestrucción de hardware para hacer frente de manera efectiva a los ataques físicos; además, al diseñar el programa, agregue un tiempo; función de reloj, como el uso Después de 1 año, todas las funciones se detendrán automáticamente, lo que aumentará el costo del cracker.

(5) Si las condiciones lo permiten, se pueden usar dos microcontroladores de diferentes modelos para respaldarse y verificarse entre sí, aumentando así el costo del craqueo.

(6) Pula el modelo del chip y otra información o vuelva a imprimir otros modelos para que parezca real (tenga en cuenta que el logotipo en el reverso también debe borrarse. Para muchos chips, el descifrador Puede juzgar el modelo desde el reverso, como 51, WINBOND, MDT, etc.).

(7) Los bits o unidades de bandera no divulgados y no utilizados del microcontrolador se pueden utilizar como bits de bandera de software.

(8) Utilice el comando A5 en MCS-51 para cifrar. De hecho, todos los datos del mundo, incluidos los datos en inglés, no mencionan este comando. De hecho, este es un cifrado muy bueno. El comando A5 tiene dos bytes. El método de cifrado de instrucciones sin operación agrega un código de operación de dos o tres bytes después de A5, porque todo el software de desmontaje no desensamblará la instrucción A5, lo que provocará un caos normal en el desmontaje del programa. problema al ejecutar el programa, el imitador no puede cambiar el programa fuente.

(9) Debes escribir el tiempo de desarrollo de tu nombre en el área del programa y la declaración de que se investigará la imitación para obtener protección legal, además, al escribir tu nombre, puede ser aleatorio; En otras palabras, utilizando un determinado algoritmo, sus nombres serán diferentes en diferentes condiciones externas, como wwwhusooncom1011, wwwhusooncn1012, etc., que serán más difíciles de desmontar y modificar.

(10) Utilice un programador de alta gama para quemar algunos de los pines internos. También puede utilizar equipos caseros para quemar los cables dorados. Esto actualmente es casi imposible de descifrar en China. Para descifrarlo, se necesitarán decenas de miles de dólares y se necesitarán varios maestros.

(11) Utilice gel de sílice confidencial (pegamento para macetas de resina epoxi) para sellar toda la placa de circuito. También se pueden mezclar algunos componentes inútiles con el gel de sílice. Al mismo tiempo, intente borrar los números de modelo de los componentes electrónicos en los circuitos alrededor de la MCU.

(12) Para los microcontroladores SyncMos y Winbond, el archivo que se va a grabar se convertirá en un archivo HEX, de modo que el espacio del programa grabado en el chip agregará automáticamente 00. Si está acostumbrado a archivos BIN También puede usar El programador cambia el FF en el área en blanco a 00, de modo que el descifrador general no pueda encontrar los bits vacíos en el chip y no pueda realizar operaciones de descifrado posteriores.

Por supuesto, es imposible evitar fundamentalmente que el microcontrolador sea descifrado. La tecnología de cifrado continúa desarrollándose, y la tecnología de descifrado también continúa desarrollándose ahora, sin importar qué microcontrolador, siempre que alguien esté dispuesto a hacerlo. Pague por ello, básicamente todo se puede hacer, pero el costo y la duración del ciclo son problemas. Los programadores también pueden proteger su desarrollo a través de medios legales (como patentes).