La criptografía de clave transitoria es una forma de criptografía de clave pública en la que los pares de claves se generan y asignan a breves intervalos de tiempo en lugar de a individuos u organizaciones, y los bloques de datos criptográficos se encadenan a través del tiempo. En un sistema de claves transitorias, las claves privadas se utilizan brevemente y luego se destruyen, por lo que a veces se le conoce como "criptografía desechable". Los datos cifrados con una clave privada asociada con un intervalo de tiempo específico pueden vincularse de manera irrefutable a ese intervalo, lo que hace que la criptografía de clave transitoria sea particularmente útil para la marca de tiempo digital confiable . La criptografía de clave transitoria fue inventada en 1997 por el Dr. Michael Doyle de Eolas, y ha sido adoptado en el estándar ANSI ASC X9.95 para marcas de tiempo confiables .
Criptografía de clave pública frente a criptografía de clave transitoria
Tanto los sistemas de clave pública como los de clave transitoria se pueden utilizar para generar firmas digitales que afirman que un dato determinado no ha cambiado desde que se firmó. Pero las similitudes terminan ahí. En un sistema de clave pública tradicional, el par de claves pública / privada generalmente se asigna a un individuo, servidor u organización. Los datos firmados por una clave privada afirman que la firma provino de la fuente indicada. Los pares de claves persisten durante años, por lo que el componente privado debe protegerse cuidadosamente contra la divulgación; en un sistema de clave pública, cualquier persona con acceso a una clave privada puede falsificar la firma digital de esa persona. En los sistemas de claves transitorias, sin embargo, el par de claves se asigna a un breve intervalo de tiempo, no a una persona o entidad en particular. Los datos firmados por una clave privada específica se asocian con una fecha y hora específicas. Un par de claves está activo solo durante unos minutos, después de lo cual la clave privada se destruye permanentemente. Por lo tanto, a diferencia de los sistemas de clave pública, los sistemas de clave transitoria no dependen de la seguridad a largo plazo de las claves privadas.
Establecimiento de la integridad de los datos con marcas de tiempo de clave transitoria
En un sistema de clave transitoria, la fuente de tiempo debe ser un estándar consistente entendido por todos los remitentes y receptores. Dado que un usuario puede cambiar el reloj del sistema local , nunca se utiliza como fuente de tiempo. En cambio, los datos se firman digitalmente con un valor de tiempo derivado de la hora universal coordinada (UTC) con una precisión de milisegundo, de acuerdo con el estándar ANSI ASC X9.95 para el sello de tiempo confiable . Siempre que expira un intervalo de tiempo en un sistema de clave transitoria, se genera un nuevo par de claves pública / privada y la clave privada del intervalo anterior se utiliza para certificar digitalmente la nueva clave pública. A continuación, se destruye la antigua clave privada. Este sistema de "cadena de claves" es el antepasado inmediato de la tecnología Blockchain en boga en la actualidad. Para el nuevo intervalo, los valores de tiempo se obtienen de una fuente de terceros confiable, y los momentos específicos en el tiempo se pueden interpolar entre los tiempos recibidos mediante el uso de un método de polarización de tiempo basado en el temporizador interno del sistema. Si no se puede obtener una fuente de tiempo confiable o no se ejecuta dentro de las tolerancias especificadas , no se emiten claves privadas transitorias. En ese caso, la cadena de intervalos de tiempo se termina y se inicia una nueva. Las cadenas antiguas y nuevas están conectadas a través de archivos de red, lo que permite que todos los servidores continúen verificando la integridad de los datos a lo largo del tiempo de los datos protegidos, independientemente de la frecuencia con la que se deba reiniciar la cadena. Las horas de inicio de la cadena y de cada intervalo se pueden acoplar para formar una secuencia ininterrumpida de claves públicas, que se pueden utilizar para lo siguiente:
- Identificar irrefutablemente el momento en el que se firmó un conjunto de datos.
- Identificar el estado exacto de los datos en el momento de su firma.
Como medida de seguridad adicional, todas las solicitudes de firmas realizadas durante un intervalo se almacenan en un registro que se concatena y se adjunta a la clave pública al comienzo del siguiente intervalo. Este mecanismo hace que sea imposible insertar nuevos "eventos firmados" en la cadena de intervalos después del hecho.
Verificación cruzada
A través de servidores que operan de forma independiente, la certificación cruzada puede proporcionar pruebas de terceros de la validez de una cadena de intervalos de tiempo y pruebas irrefutables de consenso sobre la hora actual. Los sistemas criptográficos de clave transitoria muestran una alta tolerancia a fallas bizantinas . Una red de servidores de certificación cruzada interconectados en un entorno distribuido crea una cadena de confianza ampliamente atestiguada que es tan fuerte como su eslabón más fuerte. Por el contrario, jerarquías enteras de los sistemas tradicionales de claves públicas pueden verse comprometidas si se expone una única clave privada. Una cadena de intervalo de clave transitoria individual se puede certificar de forma cruzada con otras cadenas de clave transitorias e instancias de servidor. A través de la certificación cruzada, el servidor A firma la cadena de intervalos del servidor B, cuyos datos firmados son la definición del intervalo. En efecto, las claves privadas del servidor B se utilizan para firmar las claves públicas del servidor A. En el diagrama, una instancia de servidor tiene certificación cruzada con otras dos instancias de servidor (azul y naranja).
La certificación cruzada requiere que la marca de tiempo del intervalo coincida con la marca de tiempo del servidor de certificación cruzada dentro de las tolerancias aceptables, que son definidas por el usuario y, por lo general, tienen una duración de unos pocos cientos de milisegundos.
Archivos de red
Junto con los intervalos, las certificaciones cruzadas se almacenan en un archivo de red. Dentro de una red de claves transitorias, el archivo es una base de datos lógica que se puede almacenar y replicar en cualquier sistema para permitir la verificación de los datos que han sido sellados y firmados por claves transitorias. Un mapa del conjunto de archivos accesibles se almacena dentro de cada firma digital creada en el sistema. Siempre que se completan certificaciones cruzadas al comienzo de un intervalo, el mapa de archivo se actualiza y se publica en todos los servidores de la red.
Verificación
Durante un intervalo, la clave privada transitoria se usa para firmar datos concatenados con marcas de tiempo confiables y certificados de autenticidad. Para verificar los datos en un momento posterior, un receptor accede a la clave pública persistente durante el intervalo de tiempo apropiado. La clave pública aplicada a la firma digital se puede pasar a través de rutinas criptográficas publicadas para descomprimir el hash de los datos originales, que luego se compara con un hash nuevo de los datos almacenados para verificar la integridad de los datos. Si la firma se descifra con éxito utilizando la clave pública publicada de un intervalo en particular, el receptor puede estar seguro de que la firma se originó durante ese período de tiempo. Si los hashes descifrados y nuevos coinciden, el receptor puede estar seguro de que los datos no han sido manipulados desde que la clave privada transitoria creó la marca de tiempo y firmó los datos.
La criptografía de clave transitoria fue inventado en 1997 por el Dr. Michael D. Doyle de Eolas Technologies Inc. y posteriormente adquirida por convertido en productos y por ProofSpace, Inc . Está protegido por las patentes de EE. UU. # 6,381,696 , 7,017,046 , 7,047,415 y 7,210,035 , y se ha incluido en el estándar ANSI ASC X9.95 para el sello de tiempo confiable . La criptografía de clave transitoria es la predecesora del secreto de reenvío . A pesar de la apariencia de que la tecnología de cadena de bloques de Bitcoin se derivó de la criptografía de clave transitoria, el Dr. Doyle ha negado públicamente que sea Satoshi Nakamoto .
- ProofSpace, Inc ha publicado un documento de descripción técnica más detallada de la criptografía de claves transitorias.