En criptografía , la puesta a cero (también escrita como zeroización ) es la práctica de borrar parámetros sensibles (datos almacenados electrónicamente, claves criptográficas y parámetros de seguridad críticos ) de un módulo criptográfico para evitar su divulgación si el equipo es capturado. Esto generalmente se logra alterando o eliminando el contenido para evitar la recuperación de los datos. [1]
Mecánico
Cuando el cifrado se realizaba mediante dispositivos mecánicos , esto a menudo implicaba cambiar todos los ajustes de la máquina a un valor fijo y sin sentido, como el cero . En las máquinas con ajustes de letras en lugar de números , a menudo se utilizaba la letra "O" en su lugar. Algunas máquinas tenían un botón o palanca para realizar este proceso en un solo paso. La puesta a cero se realizaba normalmente al final de una sesión de cifrado para evitar la divulgación accidental de las claves, o inmediatamente cuando existía el riesgo de captura por parte de un adversario. [2]
Software
En los módulos criptográficos basados en software modernos , la puesta a cero se vuelve considerablemente más compleja por cuestiones como la memoria virtual , las optimizaciones del compilador [3] y el uso de la memoria flash . [4] Además, puede ser necesario aplicar la puesta a cero no solo a la clave, sino también a un texto sin formato y a algunos valores intermedios. Un desarrollador de software criptográfico debe tener un conocimiento profundo de la gestión de la memoria en una máquina y estar preparado para poner a cero los datos siempre que un dispositivo sensible pueda moverse fuera del límite de seguridad. Normalmente, esto implicará sobrescribir los datos con ceros, pero en el caso de algunos tipos de almacenamiento no volátil el proceso es mucho más complejo; consulte remanencia de datos .
Además de poner a cero los datos debido a la gestión de la memoria, los diseñadores de software consideran realizar la puesta a cero:
- Cuando una aplicación cambia de modo (por ejemplo a un modo de prueba) o de usuario;
- Cuando un proceso informático cambia privilegios ;
- En caso de rescisión (incluida la rescisión anormal);
- En cualquier condición de error que pueda indicar inestabilidad o manipulación;
- A solicitud del usuario;
- Inmediatamente, la última vez que se requiere el parámetro; y
- Posiblemente si un parámetro no ha sido requerido durante algún tiempo.
De manera informal, los desarrolladores de software también pueden usar zeroise para referirse a cualquier sobrescritura de datos confidenciales, no necesariamente de naturaleza criptográfica.
Hardware resistente a la manipulación
En el caso de hardware resistente a manipulaciones , la puesta a cero automática puede iniciarse cuando se detecta una manipulación. Dicho hardware puede estar clasificado para puesta a cero en frío , es decir, la capacidad de ponerse a cero por sí mismo sin que se active su fuente de alimentación normal .
Normas
Los estándares para la puesta a cero se especifican en ANSI X9.17 y FIPS 140-2 .
Referencias
- ^ "FIPS PUB 140-2 - REQUISITOS DE SEGURIDAD PARA MÓDULOS CRIPTOGRÁFICOS" (PDF) . Consultado el 25 de agosto de 2023 .
- ^ Enlace 16 Plan de gestión conjunta de claves, CJCSM 6520.01A, 2011, Sección 6b(4)(b)
- ^ "MEMSET". Archivado desde el original el 21 de febrero de 2013. Consultado el 21 de marzo de 2013 .
- ^ "Copia archivada". Archivado desde el original el 7 de marzo de 2013. Consultado el 21 de marzo de 2013 .
{{cite web}}: CS1 maint: copia archivada como título ( enlace )