【问题标题】:GDPR: Encrypted logging in C#GDPR:C# 中的加密日志记录
【发布时间】:2018-08-24 10:28:10
【问题描述】:

加密日志文件以保护其中可能包含的个人数据的建议很普遍。

我还没有看到一个很好的参考实现,考虑到有多少公司需要它,这令人惊讶。

在我们的特殊情况下,我们希望使用公钥加密,以便文件无法在生成它们的(弱保护)系统上读取,并且必须发送回总部,以便我们可以查看它们。

到目前为止,我看到的最好的建议是“使用 log4net,但使用 BouncyCastle 的 RFC 3852 流实现编写自己的附加程序”。有人在这方面有进展吗?

【问题讨论】:

  • 记录执行操作的人的姓名或用户 ID 非常有用。我们的还包括所有输入按钮按下,其中包括输入的任何数据,尽管不是以方便的形式。
  • (很高兴知道为什么这越来越接近和反对票!)
  • 天哪,看起来维基百科式的官僚游戏正在接管。这是一个具体的问题,有一个精确的例子。
  • 这是一个很好的问题。日志通常会无意中包含 PII 数据(例如:“无法解析行:'Mr Anderson,Primrose Av. 81 &*#'”)。有时日志不仅会写入磁盘,还会邮寄给管理员,因此它们会在整个组织中扩散。
  • @Gusman 我不同意。如果您认为正确的答案是“您永远不应该记录 PII 数据”,那么请做出您的回答,而不是随意评论。如何进行加密日志记录听起来是一个非常好的问题,特别是因为 GDPR 对这么多人来说非常重要(而且仅加密不会让您遵守 GDPR)。

标签: c# logging encryption public-key-encryption


【解决方案1】:

从技术上讲,加密日志消息应该很容易。使用 Serilog 之类的东西,您可以简单地创建一个 custom sink

只是盲目地加密整个日志可能会限制日志的有用性。如果您使用 ELK 之类的东西集中您的日志记录,那么您将无法根据您加密的日志的任何字段/部分进行搜索(例如,如果您加密机器名称,那么您甚至不会知道日志来自哪里!)。

如果您真正处理的信息类型是 GDPR 涵盖的个人身份信息,那么您可能只需要接受它 - 但我会努力仅加密您日志中的敏感信息,而不仅仅是加密全面加密所有内容...这需要更复杂的接收器,但它会使您的日志数据变得不那么残缺。

【讨论】:

    【解决方案2】:

    我同意一些评论员的观点;个人数据不应成为日志文件的一部分。 GDPR 与加密无关——如果您只是加密个人数据,并不意味着您符合 GDPR。当您收到个人的“忘记我”(删除权)请求时,您的日志文件中的个人数据会怎样?还是“更改我的数据”(纠正权)?

    但是,如果您需要记录个人数据,也许可以选择对信息进行哈希处理并将哈希处理后的版本存储在日志中。在这种情况下,您可以通过计算搜索字符串的哈希值,在日志中找到具体数据。

    与您问题的公钥加密部分有关,请查看:https://aws.amazon.com/kmshttps://azure.microsoft.com/en-us/services/key-vault/

    【讨论】:

    • 我认为这更好地回答了这个问题,而不是通过直接回答加密问题 - 而是通过了解 GDPR 合规性的含义。文本/日志文件必须按计划解密并删除数据以符合要求。在使用没有索引的纯文本日志文件时响应 FSAR 请求会有多有趣。
    猜你喜欢
    • 2011-08-23
    • 2015-09-09
    • 1970-01-01
    • 1970-01-01
    • 2022-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-17
    相关资源
    最近更新 更多