Diario de a bordo· entrada 003
003 · Del prototipo al producto: el plan, la secuencia y lo que cuesta
La auditoría de la entrada 002 transformada en plan de trabajo. Cuatro fases, qué entra en cada una, y dónde se gasta el dinero. Buena parte no es código.
- Publicado
La entrada 002 terminó con una lista de fallos y una promesa: transformarla en un plan. Esta es la parte que los fabricantes rara vez ven antes de contratarnos, porque de costumbre solo existe después de firmado el contrato. La publicamos porque es el trabajo que vendemos, y mostrar cómo pensamos es la mejor forma de describirlo.
El orden vale más que la lista
La lista de requisitos del CRA está en el reglamento, y cualquiera puede copiarla. Lo que distingue el trabajo es la secuencia: decidir qué tiene que quedar resuelto primero para que el resto no tenga que rehacerse. Hacer las cosas fuera de orden suele costar el doble, porque se acaba repitiendo trabajo ya hecho.
Un ejemplo concreto del Aerodry. No merece la pena montar el TLS en la comunicación antes de decidir cómo tienen identidad los aparatos, porque es la identidad la que determina cómo se emiten y se renuevan los certificados. Y no merece la pena diseñar la identidad antes de decidir si el primer arranque genera un secreto propio para cada unidad, porque es ahí donde nace la identidad de cada aparato. Son tres de los fallos de la entrada 002. Hechos en el orden correcto, son un solo trabajo encadenado. Hechos al revés, son tres trabajos, y cada uno obliga a volver atrás en los otros.
Las cuatro fases
Fase 0, el encuadre. Antes de tocar código, hay que decidir y dejar por escrito la clasificación del producto en el CRA, fijar qué hace el producto y sobre todo qué no hace (porque una función nueva puede cambiar la categoría de riesgo), y definir el período de soporte como una restricción que condiciona el diseño. Sin esto, todas las decisiones técnicas que vienen después quedan sin criterio con el que evaluarse. Es la fase más barata de todas y la que más ahorra en adelante.
Fase 1, los cimientos de seguridad. La identidad de los aparatos y la autoridad de claves que la sustenta, el primer arranque con secreto propio por unidad, el arranque verificado. Es todo aquello que la fase siguiente va a dar por resuelto. Es la fase que el cliente menos ve y la que carga con el mayor riesgo técnico, y por eso viene pronto, cuando aún es barato equivocarse y corregir.
Fase 2, la superficie y los datos. La actualización OTA firmada y verificada, la comunicación cifrada y autenticada, el registro de eventos de seguridad, el borrado de datos al final de la vida útil. Son las correcciones directas de la lista de la entrada 002. Solo aparecen ahora porque cada una de ellas depende de una decisión tomada en la Fase 1.
Fase 3, el proceso y la prueba. La SBOM generada en el build y archivada con cada versión, la documentación técnica del anexo VII, la política de divulgación de vulnerabilidades con canal y clave PGP públicos, el proceso de respuesta ya ensayado, y la evaluación de la conformidad con la declaración que la acompaña. Esta fase no altera el producto. Sirve para hacer demostrable que cumple. Y sin ella un producto puede estar seguro y aun así no poder venderse, porque falta la prueba.
Dónde se gasta el dinero
Merece la pena insistir en el descubrimiento de la auditoría, porque va contra la intuición de casi todo el mundo: buena parte del esfuerzo no es firmware.
La contraseña única por unidad no se resuelve en una línea de código, se resuelve en la línea de montaje, con generación e impresión de secretos. Es logística de producción. La autoridad de claves que firma el firmware tiene que existir y mantenerse durante todo el período de soporte, y lo difícil no es montarla, es sostenerla en pie cinco años seguidos. La documentación, que incluye la SBOM, el expediente técnico y las instrucciones de seguridad para el usuario, es trabajo en serio, y es precisamente lo que el organismo de evaluación va a leer. Y el canal de divulgación y el proceso de respuesta son personas y procedimientos, que tienen que estar montados antes de que aparezca la primera vulnerabilidad.
Solo la otra mitad es lo que la mayoría de la gente imagina cuando oye “conformidad de ciberseguridad”, que es tocar el código.
Qué significa esto para quien nos lee
Si está construyendo un producto conectado para el mercado europeo, la lección práctica de nuestra propia experiencia es esta: la conformidad sale barata cuando empieza en la Fase 0. Una fase que se salta no desaparece. Reaparece más tarde, más cara, ya dibujada dentro de un producto que nadie quiere volver a abrir. El mejor momento para la Fase 0 del Aerodry habría sido antes del primer prototipo. Fallamos ese momento, como falla casi todo el mundo. El momento siguiente es ahora, y ahí estamos.
La entrada 004 baja a la primera decisión técnica en serio: cómo hacer la actualización OTA de forma segura cuando la conexión a internet es rural e intermitente, que es nuestro caso. Fue una de las tres preguntas que la entrada 001 admitió no saber responder. Vamos a intentar responderla. Si el primer intento falla, también eso quedará escrito.
Este plan es la versión pública y genérica de lo que hacemos por producto. La secuencia concreta, las estimaciones de esfuerzo y el análisis requisito a requisito dependen siempre del producto específico.