c# logging encryption public-key-encryption

GDPR: registro encriptado en C#



logging encryption (2)

La sugerencia de cifrar los archivos de registro como un medio para proteger los datos personales que puedan estar contenidos en ellos está muy extendida.

Lo que no he visto es una buena implementación de referencia, lo cual es sorprendente dado el número de empresas que necesitarán esto.

En nuestro caso particular, queremos usar cifrado de clave pública para que los archivos no puedan leerse en el sistema (débilmente protegido) que los genera, y deben enviarse de vuelta a la oficina central, donde podemos verlos.

La mejor sugerencia que he visto hasta ahora es "use log4net pero escriba su propio appender usando la implementación de transmisión RFC 3852 de BouncyCastle". ¿Alguien tiene un avance en eso?


Técnicamente, cifrar los mensajes de registro debería ser bastante fácil. Usando algo como Serilog, simplemente puedes crear un receptor personalizado .

Sin embargo, el simple hecho de encriptar todo el registro limitará la utilidad de los registros. Si está centralizando su registro utilizando algo como ELK , no podrá buscar en función de ningún campo / parte de sus registros que cifre (por ejemplo, si cifra el nombre de la máquina, entonces ni siquiera sabe dónde los registros provienen de!).

Si el tipo de información con la que está tratando realmente es información de identificación personal cubierta por GDPR, entonces tal vez tenga que absorberla, pero me esforzaría por cifrar solo la información confidencial de sus registros en lugar de limitarse a cifrar todo ... eso requeriría un sumidero más sofisticado pero hará que sus datos de registro queden menos lisiados.


Estoy de acuerdo con algunos de los comentaristas; Los datos personales no deben formar parte de los archivos de registro. GDPR no se trata del cifrado: si solo cifra los datos personales no significa que sea compatible con GDPR. ¿Qué sucederá con los datos personales en sus archivos de registro cuando reciba una solicitud de la persona "derecho a borrarme" (derecho a borrar)? ¿O "cambiar mis datos" (Derecho de rectificación)?

Sin embargo, si necesita registrar datos personales, tal vez la opción pueda ser copiar la información y almacenar la versión de hash en los registros. En ese caso, podrá encontrar los datos específicos en los registros, calculando el hash a partir de la cadena de búsqueda.

En relación con una parte de cifrado de clave pública de su pregunta, eche un vistazo: https://aws.amazon.com/kms o https://azure.microsoft.com/en-us/services/key-vault/