Uno puede cifrar los datos de una manera estandarizada, por ejemplo, con openssl usando un comando como openssl enc -e -aes-256-cbc
. Esto da como resultado una corriente cruda de datos cifrados, que carece de la capacidad para cambiar de manera eficiente la clave de cifrado. Cambiar la clave de cifrado requiere descifrar los datos con la clave antigua y volver a cifrarlos con la nueva.
Estoy buscando un formato estándar (y herramientas asociadas) que crearía un flujo que comience con un encabezado de metadatos, que contendría como mínimo la clave de cifrado de los datos cifrada con una clave maestra o de ajuste de clave. Esto permitiría un "cambio de clave" eficiente cambiando solo la clave maestra o la clave de ajuste de clave. Si el encabezado también contuviera el método de cifrado utilizado y sus parámetros, eso simplificaría aún más la administración. Alternativamente, este encabezado también podría existir como un archivo separado.
Pensé que tal esquema sería bastante estándar (por ejemplo, para almacenar copias de seguridad cifradas) y ampliamente documentado. Luego de los comentarios que recibí sobre la pregunta, me di cuenta de que el esquema no es bien conocido y que hay desacuerdos con respecto a la terminología. Revisé algunos libros (a través de sus entradas en el índice), y no pude encontrarlo descrito con autoridad. Los libros que revisé fueron Seguridad en computación (Pfleeger, Pfleeger Margulies, 2015), Criptografía aplicada (Schneier, 1996) e Ingeniería de seguridad ( Anderson, 2001). De esos solo Schneier alude al esquema de la p. 184.