En general, tienes algunos objetivos:
- Mantenga los datos seguros durante el transporte
- Evite las fugas durante la transmisión del sistema a la salida y de vuelta al sistema
- Limite la posible exposición, incluso del valor cifrado después de la transmisión.
- Asegúrese de que la persona que transporta el secreto no pueda obtenerlo o fugarse con él
Si está moviendo una clave simétrica o copiando una clave privada, es posible que desee configurar claves de pub / privadas entre los dos huecos de aire y si lo hace a través de algún mecanismo manual, como copiar en una unidad flash, incluso si la unidad flash en sí misma se encriptó, de modo que solo en la presencia de la clave privada se puede descifrar el secreto que se basa. Si solo está moviendo claves públicas, es posible que no necesiten el mismo nivel de seguridad.
Veamos algunos riesgos en el escenario del código QR. Necesita generar el código QR con algún programa y luego imprimirlo. Debe asegurarse de que la impresora esté asegurada (incluso si la impresora está en el espacio de aire, alguien puede revisar la memoria de la impresora más adelante, forzar una reimpresión de la última página, etc.). También tiene el riesgo de que el valor se almacene en un archivo temporal inseguro o en una memoria caché de impresión en algún lugar del disco que pueda recuperarse posteriormente. Ahora, cuando la persona con el código QR lo está moviendo entre los sitios, ¿pueden sacarle una foto? ¿Se aseguraron de que la impresión fuera en una foto segura, posiblemente a prueba de manipulación indebida, para que podamos asegurarnos de que no la cambien con una impresión maliciosa en el proceso y que ninguna cámara de video entre el espacio de aire robe la foto? En el otro espacio de aire, ¿cómo se vuelve a leer el código QR? ¿Es segura la cámara / escáner, el programa que se lee en el código QR va a dejar un rastro en un archivo temporal? ¿Necesita almacenar el valor del código QR en un archivo temporal para leerlo en el almacenamiento encriptado o HSM?
Yo diría que los códigos QR son probablemente una mala elección para esto. Lo ideal sería que quisieras algo que proporcionara seguridad criptográfica, resistente a la manipulación indebida (para humanos o un dispositivo que intercepta o copia en el aire), y evidencia de manipulación indebida entre los dos sitios.
Algún tipo de HSM sería una buena opción. Más allá de eso, un CD / DVD de una sola escritura puede ser una buena opción con un cifrado de clave pública / privada adecuado porque puede usar hardware confiable en ambos lados y luego destruir el disco de forma económica y sencilla. Sin embargo, tendrá problemas para detectar la duplicación no autorizada. Un dispositivo USB es mucho más probable que se infecte con malware y es más difícil de detectar o bloquear ( revisa la presentación del blackhat de este año ). Con cualquier método, es posible que desee dividir la clave y requerir dos correos para que la colusión sea necesaria para filtrar el texto cifrado. Una buena característica sería si tuviera un dispositivo que solo escribiera el valor una vez y luego no lo volviera a escribir (se autodestruya después de escribir), así que si hay una fuga que no pudo evitar, al menos podría detectarla.
(Como señalé en mi comentario, todavía estoy buscando para ver si puedo encontrar esos dispositivos; los que encontré en el pasado eran para sistemas militares específicos y específicos).
Es posible que le interesen algunas de las directrices NIST SP-800 relacionadas con esto:
Sección 6.6.1 Transporte clave de Draft SP 800-152 aborda el transporte de claves La sección 6.6.1 de SP 800-130 también es muy similar.
SP 800-57 Parte 2 tiene algunos escenarios que muestran la administración de claves y se vuelve bastante técnico. Aún más detalles técnicos se tratan en FIPS PUB 140-2