En criptografía , la puesta a cero (también llamada puesta a cero ) 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 se captura el equipo. 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 significaba cambiar todas las configuraciones de la máquina a algún valor fijo sin sentido, como cero . En máquinas con configuraciones de letras en lugar de números , a menudo se usaba 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 normalmente se realizaría al final de una sesión de cifrado para evitar la divulgación accidental de las claves, o inmediatamente cuando hubiera riesgo de captura por parte de un adversario. [2]
Software
En los módulos criptográficos modernos basados en software , la puesta a cero se vuelve considerablemente más compleja debido a cuestiones como la memoria virtual , las optimizaciones del compilador [3] y el uso de memoria flash . [4] Además, es posible que sea necesario aplicar la puesta a cero no solo a la clave, sino también a un texto sin formato y 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 de los límites 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; ver 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 de computadora cambia de privilegios ;
- Tras la rescisión (incluida la rescisión anormal);
- En cualquier condición de error que pueda indicar inestabilidad o alteración;
- A petición del usuario;
- Inmediatamente, la última vez que se requiere el parámetro; y
- Posiblemente si no se requiere un parámetro durante algún tiempo.
De manera informal, los desarrolladores de software también pueden usar zeroise para referirse a cualquier sobrescritura de datos sensibles, no necesariamente de naturaleza criptográfica.
Hardware resistente a manipulaciones
En hardware resistente a la manipulación , la puesta a cero automática puede iniciarse cuando se detecta una manipulación. Dicho hardware puede estar clasificado para la puesta a cero en frío , la capacidad de ponerse a cero sin su fuente de alimentación normal habilitada.
Estándares
Los estándares para la puesta a cero se especifican en ANSI X9.17 y FIPS 140-2 .
Referencias
- ^ http://csrc.nist.gov/publications/fips/fips140-2/fips1402.pdf
- ^ Link 16 Plan conjunto de gestión de claves, CJCSM 6520.01A, 2011, Sección 6b (4) (b)
- ^ "Copia archivada" . Archivado desde el original el 21 de febrero de 2013 . Consultado el 21 de marzo de 2013 .CS1 maint: copia archivada como título ( enlace )
- ^ "Copia archivada" . Archivado desde el original el 7 de marzo de 2013 . Consultado el 21 de marzo de 2013 .CS1 maint: copia archivada como título ( enlace )