DÍA 318 DE 365

Fase 5: Diseño Industrial y Hardware

📖 Teoría a Estudiar

Las Cuatro Capas de la Propiedad Intelectual

Proteger una máquina no es un trámite único. Un producto mecatrónico tiene diferentes capas, y cada una se defiende con un escudo legal distinto ante el Instituto Mexicano de la Propiedad Industrial (IMPI) o instancias internacionales.

  1. Marca Registrada (Trademark): Protege el nombre (Ej. MOBAGAS) y el logotipo. Es rápido y barato. Evita que un competidor venda una copia pirata usando tu prestigio.
  2. Diseño Industrial: Protege la apariencia visual y estética de la máquina (la forma de tu gabinete NEMA, el panel curvo de tu HMI). No protege la función, solo cómo se ve.
  3. Modelo de Utilidad vs Patente: Una patente exige "novedad mundial absoluta". Inventar una nueva válvula desde cero requiere patente. Pero tu tesis utiliza componentes que ya existen (Válvulas, STM32, Tubería) ensamblados de una manera novedosa para mejorar su función. Eso califica como Modelo de Utilidad (una "patente menor", más rápida de obtener y perfecta para arreglos mecánicos y electrónicos).
  4. Secreto Industrial y Derechos de Autor: Las matemáticas de la NOM-005 compensando temperatura con punto fijo no se patentan; si las patentas, tu código se vuelve público y los chinos lo copiarán modificando una variable para evadir la demanda. El firmware se protege bajo Secreto Industrial (Trade Secret) bloqueando el silicio para que sea ilegible.
ARQUITECTURA LEGAL: BLINDAJE DE PROPIEDAD INTELECTUAL (PI) 1. LA MARCA (TRADEMARK) Nombre, Logo, Slogan (Ej. MOBAGAS®) 2. DISEÑO INDUSTRIAL Estética del panel frontal, forma del gabinete. 3. MODELO DE UTILIDAD Topología del hardware y tuberías en el Skid. 4. FIRMWARE & ALGORITMOS Protegido por Derechos de Autor / Secreto (RDP) NIVELES DE BLOQUEO DE SILICIO (RDP) NIVEL 0: ABIERTO (Peligro Máximo) Cualquier programador SWD puede extraer tu código binario. NIVEL 1: BLOQUEO DE LECTURA No se puede leer. Si el hacker intenta borrar, se destruye todo. NIVEL 2: BRICK PERMANENTE (Producción) Desconecta el puerto de Debug físicamente para siempre.

⚙️ Procedimiento Legal: Estrategia de Defensa

Paso 1: El NDA (Non-Disclosure Agreement).
Antes de mandar tus archivos a fabricar a la ensambladora EMS (Día 317), debes hacerles firmar un Acuerdo de Confidencialidad. Un contrato formal donde establecen que los planos de PCB, la lista BOM y los archivos hexadecimales no pueden compartirse con terceros bajo pena de demanda mercantil.

Paso 2: Registrar ante IMPI.
La industria tecnológica en Guadalajara, considerada el Silicon Valley de México, respeta a quien tiene papeles. No puedes vender tu equipo legalmente a grandes corporativos gaseros si no presentas tu título de Marca Registrada. Protege el nombre de tu máquina; el trámite se puede iniciar en línea y cuesta menos de 3,000 pesos.

Paso 3: Quemar los Puentes (RDP en STM32).
Toda placa STM32 sale de fábrica en Nivel 0 (RDP 0). Significa que los pines de Debug (SWDIO / SWCLK) están activos. Cualquiera con un ST-Link de $5 USD puede hacer un "Memory Dump" de tu flash y clonar tu código. Antes de enviar tu máquina al cliente, debes programar en C una rutina que ajuste los Option Bytes de la memoria Flash al Nivel 1 (RDP 1).

💻 Firmware: Activando el Read Out Protection (RDP)

Escribiremos una función defensiva brutal. Cuando el Despachador se enciende por primera vez en la línea de ensamble, verifica si su memoria está expuesta. Si lo está, el propio código activa el cerrojo de Nivel 1 y se reinicia, volviéndose inaccesible desde el exterior.


/**
 * @file hardware_crypto_lock.c
 * @brief Rutina de bloqueo de silicio mediante RDP (Read Out Protection)
 */

#include "stm32f4xx_hal.h"
#include <stdio.h>

// =========================================================================
// RUTINA DE BLINDAJE DE PROPIEDAD INTELECTUAL
// =========================================================================
/**
 * @brief Evalúa y activa el RDP Level 1.
 * @note En Nivel 1, el depurador (Debugger) se desconecta. Si un atacante 
 * intenta conectar un ST-Link, el hardware borrará masivamente la Flash (Mass Erase)
 * destruyendo el código y el K-Factor antes de permitir el acceso.
 */
void Security_Enforce_RDP_Level_1(void) {
    FLASH_OBProgramInitTypeDef OBInit;

    printf("\r\n[SYS] Verificando estado de seguridad del Silicio (RDP)...\r\n");

    // 1. Obtener la configuración actual de los Option Bytes
    HAL_FLASHEx_OBGetConfig(&OBInit);

    // 2. Evaluar si la placa está abierta a robos (Nivel 0)
    if (OBInit.RDPLevel == OB_RDP_LEVEL_0) {
        
        printf("      [!] ALERTA CRÍTICA: Silicio expuesto (RDP Nivel 0).\r\n");
        printf("      Bloqueando microcontrolador ahora...\r\n");

        // Desbloquear la interfaz Flash y los Option Bytes para escritura
        HAL_FLASH_Unlock();
        HAL_FLASH_OB_Unlock();

        // Configurar el Nivel 1
        OBInit.OptionType = OPTIONBYTE_RDP;
        OBInit.RDPLevel   = OB_RDP_LEVEL_1;
        
        // Cargar los nuevos bytes y lanzarlos (esto reinicia el sistema)
        if (HAL_FLASHEx_OBProgram(&OBInit) != HAL_OK) {
            printf("      [X] Fallo al programar los Option Bytes.\r\n");
            // Entrar a bucle de fallo
            while(1);
        }
        
        // Ordenar al sistema que aplique el cerrojo
        HAL_FLASH_OB_Launch();
        
        // (El sistema se reinicia aquí. Nunca llega a las líneas de abajo)
        HAL_FLASH_OB_Lock();
        HAL_FLASH_Lock();
        
    } else if (OBInit.RDPLevel == OB_RDP_LEVEL_1) {
        printf("      [V] Silicio Bloqueado (RDP Nivel 1). Propiedad Intelectual Segura.\r\n");
    } else {
        // Nivel 2: Inalterable. Ni siquiera tú podrás borrarlo jamás.
        printf("      [V] MÁXIMA SEGURIDAD (RDP Nivel 2). MODO PRODUCCIÓN DEFINITIVO.\r\n");
    }
}

// Dentro del main.c:
int main(void) {
    HAL_Init();
    SystemClock_Config();
    
    // Lo primero que hace la máquina es verificar su propia armadura legal.
    Security_Enforce_RDP_Level_1();
    
    // ... Continuar con el boot normal del sistema
    while(1) {
    }
}
        

🚀 Avance del Proyecto Tesis: Despachador de Gas LP

Objetivo del día: Blindaje de Activos Intangibles (IP) y Estrategia Legal.

Un ingeniero puede ser un genio de los circuitos, pero si ignora la Propiedad Intelectual, terminará trabajando gratis para sus competidores. A lo largo de la Fase 5, hemos integrado los requisitos de la normativa OIML y NOM-005 en la estructura física y lógica de la máquina. Diseñaste una rutina de doble llave para el calibrador oficial (Día 307) y una arquitectura de Punto Fijo que preserva centavos en cada venta. Esos algoritmos y ese ruteo de KiCad son el núcleo de tu ventaja competitiva.

Al programar la rutina `Security_Enforce_RDP_Level_1()`, has llevado la defensa más allá del papel. Has convertido al propio microcontrolador en un guardián suicida de tu código. Si un competidor abre la placa y conecta sondas a los pines de depuración buscando copiar la compilación en C de tu tesis, el chip ARM ejecutará un *Mass Erase* instantáneo por hardware, borrándose a sí mismo hasta quedar en blanco antes de entregar un solo byte de tus algoritmos de compensación térmica o facturación. Esta es la diferencia entre un prototipo escolar y un producto industrial maduro listo para las implacables reglas del mercado.

📝 Resumen del Día