用于去除个人可识别信息的清理器的制造方法

文档序号:10579051阅读:505来源:国知局
用于去除个人可识别信息的清理器的制造方法
【专利摘要】一种个人可识别信息(PII)清理系统。所述PII清理系统基于对应于日志的清理器配置,如外科手术般地从日志中清理PII。清理器配置包括:与在日志中的PII的位置和类型有关的上下文信息,以及指定如何对PII进行定位和保护的规则。当清理要求改变时或遇到新的场景时,能够快速且容易地创建或修改清理器配置。清理器配置所提供的灵活性允许即使是从非结构化的数据中也仅清理PII,无须包括周围数据。许多顾客可以使用经清理的数据,无须暴露PII,这是因为较少的非个人数据被模糊。如外科手术般的清理即使在保护PII的同时也保留底层PII的有用性。顾客可以将受保护的PII相互关联以定位特定信息,无须暴露额外的PII。
【专利说明】用于去除个人可识别信息的清理器
【背景技术】
[0001] 许多组织收集系统日志、错误报告以及其他用于例行的商务目的的数据。该数据 可以被挖掘以创建并且维持有竞争力的优点,但由于这种数据可能包含合法目的所需要的 用户信息,故而这种数据的可用性的增加以及对这种数据的访问的增加还会增加将公司暴 露给有意的或无意的数据滥用的风险。
[0002] 对个人可识别信息(PII)进行清理(scrubbing)是一种用于从日志中去除用户信 息以使得该信息可以被广泛受众安全访问的标准技术,但是清理是昂贵的、受限的且不完 善的。虽然用户可能能够在看到时识别他们的个人信息,但要建立能够在大型组织每天收 集的以拍字节计的数据上做同样的事情的、可扩展并且有成本效益的系统则困难得多。
[0003] 政府法律或法规可能要求保护一些(PII)。即使当未要求保护时,组织也可能有动 机保护PII,这是出于各种原因,例如,培养与顾客/用户的信任或最小化法律风险。不管何 种原因,保护PII在资源(例如,处理时间、存储空间和PII清理器的开发时间)方面都是昂贵 的,这最终转变成组织的财务成本。处理可能包含PII的日志所需要的时间可能导致组织人 员对于包含最新信息的日志的访问延迟。如果用于日志的清理器当前不可用或需要被修 改,则可能直到情况被补救为止组织人员都不能访问日志。取决于优先级和资源,在确定日 志可能包含PII和开发合适的清理器之间的滞后可能是几个月或更长。
[0004] 当试图使得直到经清理的日志可用为止的时间最小化时,组织可以求助于利用 "蛮力(brute-force)"清理器对日志进行过度清理(over-scrubbing)。这些蛮力清理器通 常采用不精确的或破坏性的技术,例如,清理可能包含PII的日志的整个部分而不是确定数 据是否实际上是PII,将会导致永久丢失至少一些原始数据的清理,和/或用涵盖整个组的 令牌替换有区别的数据项。
[0005] 过度清理通常增加了处理时间和存储要求,这是因为即使目标数据不是PII也不 加区别地应用保护。存储要求增加的原因在于保护技术大多产生显著大于正被保护数据的 值。不加区别的对日志的部分进行保护,可能容易地使原始日志大小变为两倍或三倍。过度 清理的另一成本在于原始包含于日志中的有价值的商务智能的损失,因为数据已经被破坏 或者已经被以使得对其进行分析的能力受限的方式转化。例如,过度清理对于消息的整个 组件(或者甚至整个消息)使用单个替换,而不是对组成较大组件的单件进行替换,这就使 得难以(甚至不可能)对受保护的数据进行有意义的利用。
[0006] 本发明正是关于这些和其它考量而做出的。虽然已经讨论了相对具体的问题,但 应该理解的是,本文公开的实施例不应限于解决在【背景技术】中确定的具体问题。

【发明内容】

[0007] 提供该
【发明内容】
是为了引入将在下文【具体实施方式】部分进一步描述的简化形式 的概念的选集。该
【发明内容】
并不意图识别所要求保护主题的关键特征或重要特征,也不意 图用来帮助确定所要求保护主题的范围。
[0008] PII清理系统的实施例基于对应于日志的清理器配置,如外科手术般地从日志中 清理PII。清理器配置包括:与在日志中的PII的位置和类型有关的上下文信息,以及指定 (specify)如何对PII进行定位和保护的规则。当清理要求改变时或遇到新的场景时,能够 快速且容易地创建或修改清理器配置。清理器配置所提供的灵活性允许即使是从非结构化 的数据中也只清理PII,无须包括周围数据。许多顾客可以使用经清理的数据,无须暴露于 PII,这是因为较少的非个人数据被模糊。如外科手术般的清理即使在保护PII的同时也保 留底层PII的有用性。顾客可以将受保护的PII相互关联,以定位特定的信息,无须暴露PII。 顾客还可以进行搜索以寻找与受保护的PII相关的数据,无须暴露额外的PII。
[0009]清理器配置提供信息,所述信息被清理代理用来定位PII以及从消息中清理PII。 在各个实施例中,清理器配置提供关于在消息中的数据的上下文信息,以及用于基于所述 上下文信息处理消息的逻辑。所述上下文信息表明PII位于日志消息中的何处,或PII的类 型。所述逻辑提供关于如何处理PII的指令,例如,用于处理PII的条件,和/或如何保护PII (例如,指定替换技术)。共同地,上下文信息和逻辑形成清理规则。在各个实施例中,清理规 则包括解析器、处理器和过滤器,这对应于由清理代理提供的通用动作。在一些实施例中, 清理规则将对应的上下文信息纳入,作为规则的参数。清理规则可以被组织成处理组 (processing groups)。处理组允许在该组内的一个或多个规则的操作以该组内的一个或 多个其它规则的结果为条件。
[0010]在各个实施例中,清理代理包括:解析引擎,其将数据分解成字段或者在字段中定 位数据;处理引擎,其负责任务,任务例如但不限于清理包含PII的字段或进一步将字段解 析为更小的组件(例如,子字段,或"名称/值"的对);以及过滤引擎,其确定消息或字段是被 处理还是排除在处理之外。
[0011]消息清理操作利用由清理器配置提供的规则和上下文信息,在消息中定位并且替 换PII。可选的预解析过滤操作基于在消息中的内容是否与在清理器配置中指定的过滤器 参数相匹配,来确定消息是否应该被处理。消息解析操作基于在清理器配置中指定的解析 器参数将消息解析为字段。处理操作基于在清理器配置中指定的处理器参数来保护PII。字 段选择操作选择要清理的字段。
[0012] 处理操作可以涉及一个或多个子操作,所述子操作施加清理条件或就如何处理选 定的字段来进行细化。子操作可以包括字段解析操作或用于在选定字段中定位ΡΠ 的搜索 操作。字段解析操作将字段解析为子字段或"名称/值"的对。搜索操作在选定字段中查找与 在清理器配置中指定的过滤参数(例如,模式)相匹配的内容。子操作还可以包括过滤操作, 其基于消息中的字段的内容是否匹配在清理器配置中指定的过滤参数而确定选定字段是 否应该被处理。为了满足子操作施加的任意条件,"替换值生成"操作生成针对在选定字段 中的PII的替换值。替换技术的选择通常是在最小化数据损失、减少对性能的影响以及对数 据膨胀进行管理三者之间的平衡动作。可用替换技术的例子包括但不限于:编校 (redaction)、静态置换、泛化(generalization)、散列和加密。
【附图说明】
[0013] 通过参考后续附图,可以更好地理解本公开的其它特征、方面和优点,在附图中元 件不是按比例的以便能更清楚地示出细节,并且其中贯穿若干视图类似的附图标记表示类 似的元件:
[0014] 图1是在适当的计算环境中实现的个人可识别信息(PII)清理系统的一个实施例 的流程图;
[0015] 图2是用于使用PII清理系统保护PII的如外科手术般地清理的方法的一个实施例 的高级流程图;
[0016] 图3是用于在清理器友好开发环境中收集关于PII的上下文信息的如外科手术般 地清理的方法的收集上下文信息操作的一个实施例的高级流程图;
[0017] 图4是如外科手术般地清理的方法的消息清理操作的一个实施例的高级流程图; [0018]图5A是示出由PII清理系统的一个实施例利用对应清理器配置在第一日志上执行 的清理操作的流程图;
[0019] 图5B是示出由PII清理系统的一个实施例利用与先前例子中的相同的清理器配置 在第二日志上执行的清理操作的流程图;
[0020] 图5C是由PII清理系统的一个实施例执行的清理操作的流程图,示出了当清理器 配置没有提供规则集时退回到默认清理规则的结果;
[0021] 图5D是由PII清理系统的一个实施例利用清理器配置的修改版本在第二日志上执 行的清理操作的流程图;
[0022] 图6是示出可借助来实践本发明实施例的计算设备的物理组件的一个实施例的框 图;
[0023]图7A和7B是可借助来实践本发明实施例的移动计算设备的简化框图;以及 [0024]图8是可在其中实践本发明实施例的分布式计算系统的简化框图。
【具体实施方式】
[0025] 下文参考附图更完整地描述了各种实施例,附图形成特定示例性实施例的一部分 并示出了特定示例性实施例。然而,实施例可以以多种不同形式实现,并且不应该被解释为 是限于本文所阐述的实施例;相反地,提供这些实施例是为了使得本公开透彻和完备,并向 本领域技术人员完整地传达实施例的范围。实施例可以作为方法、系统或设备来实践。因 此,实施例可以采取如下形式:硬件实现方式、完全软件实现方式或将软件和硬件方面相结 合的实现方式。因此,以下【具体实施方式】不应被认为是限制意义的。
[0026] 个人可识别信息(PII)清理系统的实施例在本文中进行描述并在附图中进行图 示。PII清理系统基于对应于日志的清理器配置,如外科手术般地从日志中清理PII。清理器 配置包括:与在日志中的PII的位置和类型有关的上下文信息,以及指定如何对PII进行定 位和保护的规则。当清理要求改变时或遇到新的场景时,能够快速且容易地创建或修改清 理器配置。清理器配置所提供的灵活性允许即使是从非结构化的数据中也只清理PII,无须 包括周围数据。许多顾客可以使用经清理的数据,无须暴露于PII,同时仍可以访问非个人 数据。如外科手术般的清理即使在保护PII的同时也保留底层PII的有用性。顾客可以将受 保护的PII相互关联以定位特定信息,无须暴露额外的PII。
[0027] 图1示出了在适当的计算环境中实现的PII清理系统100的一个实施例。如本文所 使用的,PII广义上包括用户不想让他人知道的任何事情。这通常意味着所收集的关于用户 的或者由用户提供的任何数据,除非用户已经明确向组织授权将该信息共享。PII的一些常 见例子(例如,人名、生日、SSN、账户名称和电话号码)易于识别。其它可以被认为是PII的数 据包括IP地址、公司名称和位置信息。PII的另一种可能的源是自由形式数据,如文件名称 或电子邮件台头。
[0028] "清理"是关于对出现在数据集合中的PII进行保护来使用的。在数据集合中的个 体条目可以被称作列、行、消息或记录。作为具体实用的例子,在"从日志中清理ΡΙΓ的上下 文中描述了 PII清理器系统;然而,PII清理器系统具有更广泛的实用,并不意图限于在日志 上的操作。日志代表着以持续的基础生成的大量数据的集合,几乎不具有甚至完全不具有 标准化。这样,日志代表了保护PII的最大挑战之一。
[0029] PII清理系统100包括在被记录的系统(logged system) 104上执行的记录代理 (logging agent) 102。被记录的系统是计算设备。用于实现被记录的系统和/或组成PII清 理系统的其它系统的适当的计算设备的例子不限于服务器计算机、台式计算机、膝上型计 算机、平板计算机或表面计算机、智能手机以及智能家电。记录代理生成用于被记录的应用 (logged application)106的日志。被记录的应用可以是任意服务器或台式应用,包括操作 系统,及其任意组件或服务。记录代理可以独立于被记录的应用,例如,通过应用程序接口 (API)访问且结合多个不同被记录的应用使用的库或引擎。记录代理还可以与被记录的应 用集成,并专用于被记录的应用,被记录的应用例如在应用中的模块。
[0030] 记录代理生成消息108,其可以包含从用户110处收集的PII作为出于商业目的而 例行地记录的一部分数据,例如但不限于,安全审计、产品支持、产品改进、产品注册和用户 注册。可以记录的数据类型的例子包括但不限于:安全事件(例如,登录尝试和授权),输入/ 输出事件(例如,网络或文件系统事务),程序错误和冲突,系统性能和资源利用,以及程序 或特征用途。消息可以被流送、写入或以其它方式传输到本地或远程目的地(即,数据流)。 目的地可以是易失性存储位置,例如,存储器中数据对象(例如,事件记录);或非易失性存 储位置,例如,在辅助存储设备上的文件(即,硬盘驱动)。消息可以是文本数据(即,字符 串)、二进制数据或其组合。
[0031] 数据的内容、命名、组织、结构和/或呈现可以在不同日志或日志类型之间变化,以 及有时在日志中的消息之间变化。例如,相同类型的日志可能取决于所使用的记录代理或 被记录的应用而不同。即使是由相同的记录代理和被记录的应用所产生的日志,在被更新 到新版本的记录代理或被记录的应用时也可能变化。对于大型组织的不同商业单位或位置 来说,由于不同需求或不同升级周期而运行来自不同开发商的替代应用或不同版本的相同 应用是并不罕见的。
[0032] 清理代理112基于清理器配置114处理日志消息。清理代理可以是独立应用或者是 另一应用的集成组件,包括但不限于被记录的应用。记录代理和清理代理虽然被示出并被 描述为在单个计算设备上执行,但也可以在分离的计算设备上执行。PII清理系统可以本地 运行,或在分布式环境中(例如在客户端-服务器或云服务架构中)运行。PII清理系统的任 意的分布式组件或对于PII清理系统可用的资源可以彼此通信,或通过至少一个计算机网 络(例如但不限于,互联网、内联网、局域网或广域网)被访问。例如,记录代理可以将未清理 的日志上传到受保护的中央系统。对在受保护的中央系统中的未清理日志进行的访问将限 于一小群有需要立即访问日志信息(即,值得暴露于PII的风险)的个人。随后,未清理的日 志通过在被记录的系统上或在受保护的中央系统上运行的清理代理来清理,并且经清理的 日志被上传到对于访问约束较少的另一系统。大部分顾客将从该后一系统中拉出经清理的 数据。
[0033] 清理代理包括在日志消息上执行不同类型动作的不同引擎。在各个实施例中,清 理代理包括解析引擎、过滤引擎和处理引擎。解析引擎执行解析动作,其将数据分解为字段 或在字段中定位数据。处理引擎执行负责任务的处理动作,所述任务例如但不限于,清理包 含PII的字段,或将识别出的字段转发到可以将字段分解为更小的组件(例如,子字段或"名 称/值"的对)的子解析器。过滤引擎执行过滤动作,其确定消息或字段是被处理还是被从处 理中排除。
[0034] 动作的范围可以从本质上通用变动到专用。通用动作提供灵活性,其允许清理代 理处理基本任何情形。专用动作在处理频繁发生的情形时提供简化性和/或一致性。基于供 应的定界符将消息分离成字段的解析动作,是通用动作的一个例子。对字段进行搜索、并为 表现为简单邮件传输协议(SMTP)地址的任意和所有数据创建子字段的解析动作,是专用动 作的例子。
[0035]清理器配置提供由清理代理所使用的信息来定位并从消息中清理PII。在各个实 施例中,清理器配置提供关于消息中的数据的上下文信息,以及用于基于上下文信息对信 息进行处理的逻辑。上下文信息表示PII位于日志消息中的何处,或PII的类型。逻辑提供关 于如何处理PII (例如,处理PII的条件)和/或关于如何保护PII (例如,指定替换技术)的指 令。上下文信息和逻辑共同地形成清理规则。在各个实施例中,清理规则包括解析器、处理 器和过滤器,其对应于清理代理所提供的通用动作。在一些实施例中,清理规则将对应的上 下文信息纳入,作为规则的参数。清理规则可以被组织成处理组。处理组允许该组内的一个 或多个规则的操作以该组内的一个或多个其它规则的结果为条件。
[0036] 可以创建个体清理器配置,来处理独特的场景(例如,新的或不同的日志、日志版 本、日志类型、PII或PII类型)或需要(例如,用于不同日志的顾客的交替输出),无须要求修 改清理代理。例如,当新场景出现时,可以容易地创建新的清理器配置;并且例如,当清理要 求改变时,或当要保护被当前清理器配置所丢失的PII时,可以容易地修改现有清理器配 置。
[0037] 清理代理可以将经清理的消息116发送到数据仓库118中的共享存储设备中。该共 享存储设备对于日志的多个顾客是可访问的。可以按照这样的方式对日志进行清理以使 得:可以在不将受保护的用户信息暴露给没有针对特定商业功能而要求访问所述信息的大 量顾客120a的前提下来使用相关记录。在那些情况下,当具有完全保护的PII 122a的记录 被呈现给那些顾客时,从共享存储设备请求的信息被呈现。类似地,可以通过向要求对受保 护信息中的一些但不是全部进行访问的较少量顾客120b有限地暴露受保护的用户信息的 前提下来定位相关记录。在那些情况下,当具有有限暴露的PII 122b的记录被呈现给那些 顾客时,从共享存储设备请求的信息被呈现。最后,一些商业功能要求完全访问受保护的信 息。在这种情况下,具有完全暴露的PII 122c的记录被呈现给那些有限数量的顾客120c。
[0038] 对PII进行定位和处理在合适的上下文信息可用时更为容易。PII清理系统的实施 例包括清理器友好开发环境122,其从被记录的数据的起源(开发者124)收集上下文信息。 在开发应用期间通过应用收集关于正被收集的数据(其可能包含PII并可能被记录)的上下 文信息,来增强上下文信息的完整性、准确性和细节。另外,在应用开发期间收集上下文信 息便于生成清理器友好日志。在清理器友好日志中的消息被组织以使得允许通过该清理代 理容易地对PII进行定位和保护。此外,清理器友好日志和合适的上下文信息的组合便于如 外科手术般地从日志中清理PII。
[0039] 记录代理或被记录的应用的开发者通常处于最佳定位以获知正被收集的数据类 型,可能产生的不同消息,以及在每个消息中可能报告什么信息(即,日志输入)。与此相反, 传统的清理过程通常基于由监察人员(例如,清理器操作员)126对在实际(即,生产)中的经 清理的和未清理的日志(即,日志输出)中的日志消息进行人工检查以寻找看似是PII的数 据。
[0040] 监察人员被他们所面对的信息所制约,因此,传统的清理过程由于起源于下列因 素的问题而被妨碍,所述因素例如但不限于:不完整信息、模糊性和难以隔离PII。不完整信 息的一个原因是日志的特定实例可能不是对可能出现在所述日志中的所有可能的消息的 完整表示。在这样的情况下,监察人员将不知道包含于不频繁出现的消息中的PII,所述不 频繁出现的消息实际上未出现在正由监察人员检查的生产日志中。因此,当PII确实出现 时,其将不被清理。当在输入侧收集上下文信息时,消息的出现频率以及导致不完整上下文 信息的类似问题将不再是因素。
[0041] 另一件令人担忧的事是,消息可能包含模糊值,模糊值可能是PII也可能不是PII。 例如,包含由句点分离的四个数的值可以是来自常见的软件版本编号方案的版本号,其不 是PII;或者是互联网协议版本4(IPv4)地址,其是PII。类似地,值"farmer"可能代表职位, 其不是PII;或者代表人名,其是PII。在输出侧,监察人员必须试图推断这种模糊值是否是 PII。如果包含模糊值的消息还碰巧是不频繁发生的消息,则问题恶化。当不能做出清楚的 确定时,监察人员可以简单地选择从大量警告中清理包含模糊数据的字段,以确保PII没有 不被清理。当因为开发者知道值表示何种类型的信息而在输入侧供应上下文信息时,模糊 性被去除。
[0042] 即使在能够将值明确地识别为PII的情况下,可能也难以或不可能在不影响其它 数据的情况下清理PII。对于开发者而言将包括PII的信息封装到非结构化的数据字段中是 常见的,因为消息系统的结构化部分通常仅提供用于存储源和时间等信息的空间。描述字 段(description field)的格式是任意的,且可以随着每个日志消息而变化。通常,非结构 化数据字段中的数据不被加标签,这是因为开发者知道各条信息表示什么。例如,在非结构 化数据字段既包含版本号又包含IPv4地址的情况下,由于消息的结构和/或当前可用的传 统清理器的局限,不可能仅清理IPv4地址而留下版本号。因此,因为IPv4地址需要被保护, 所以版本号将被不必要地清理。
[0043]虽然传统的清理器可被更新以解决这种问题,但通常在新版本可用之前,为确保 更新将不会不利地影响现有清理过程或至少将风险最小化而对清理器进行更新、测试和部 署的同时,存在显著延迟(例如,几个月)。此外,更新可以适当地处理促使更新的原始情况, 但是可能不能解决在其它日志中可能遇到的主题的变化(例如,当消息包含相同的信息但 被不同地结构化时)。利用在输入侧上获得的上下文信息来生成清理器友好日志,有效地消 除了这种问题。
[0044]清理器友好开发环境允许输入并且跟踪与清理器友好对象130相关联的PII元数 据128,所述清理器友好对象130例如但不限于窗体(form)、控制件和数据结构。清理器友好 对象可以包括PII元数据属性和/或增强以处理PII元数据的方法。可与清理器友好对象相 关联的一些PII元数据的例子包括但不限于:清理器友好对象是否能够存储PII的指示(例 如,PII标志(PII flag)),对象所存储的PII数据的类型的指示(例如,类型枚举),以及PII 值的名称(其可以是友好的、有意义的和/或唯一的)C3PII元数据还可以包括:检查标志 (review flag),其允许开发者指示PII的内容应该被监察人员检查;和/或注解字段,其允 许开发者通信关于数据的额外信息。例如,开发者可以描述未被现有PII类型涵盖的数据, 或解释为何对象被加标志以供检查。
[0045] PII元数据可以用于自动生成参数键132形式的上下文信息。参数键可以由开发环 境或由记录代理所生成。参数键指的是用于描述包含于文档(例如,清理器友好日志)中的 信息(尤其是ΡΠ )的任何机制,包括但不限于:图解(schema)、图例(legend)或键(key)。表1 示出了指定消息标识符、参数名称和数据类型的参数键的一个例子。在其它实施例中,参数 键可以包含额外的信息。
[0046] 衷 1
[0048] 未分类/通用类型如"一般用户信息"和"未知"用作标志(flag),其警示监察机构、 质量保证或其它类似人员,消息参数需要被检查并且确保消息参数不能由其它特定的枚举 数据类型来表示。参数键提供的上下文信息帮助监察人员检查日志,并基于开发者提供的 信息来开发清理器配置,而不是基于在现有日志中发现模式的尝试。
[0049] PII类型的范围可以从表示参数是否是用户信息的布尔值(例如,真/假)变动到提 供关于与参数相关联的用户信息的意图类型或关于参数的其它信息的细节的更综合的枚 举。数据类型的适当的实现方式的例子包括但不限于:布尔值、枚举类型、词典以及列表。表 2示出了 PII类型枚举的一个例子,其涵盖一些更常见的数据类型。
[0050] 表 2
[0052]随着时间,可以将先前不支持的数据类型添加到数据类型枚举中,以针对需要特 殊处理的每条未知用户信息提供上下文信息。在一些实施例中,可以将更广泛的数据类型 细分为更具体的数据类型,其中子类型要求不同的处理。例如,IP地址数据类型可以分解成 IP版本4( IPv4)数据类型和IP版本6( IPv6)数据类型,允许在这两种地址类型之间的不同。 数据类型标志(data type flag)可以用于生成单独的元数据文件,其可以由清理代理和其 他需要消费日志数据的系统来消费。
[0053] 表示PII可能位于何处的合适的上下文信息,允许通过对必须由清理代理扫描的 消息数量进行限制来优化清理过程。例如,知道只有具有特定消息标识符的消息可能包含 PII,这允许清理代理安全地略过其它消息,这与扫描整个日志相比大大减少了处理时间。 知道所预期的PII的类型可以用于允许清理代理对用于定位和清理所预期的PII类型的规 则进行选择和应用。更具体地,当所预期的PII类型已知时,清理代理可以通过仅查找在消 息中所预期的PII类型为目标的规则或以所述规则开始来优化清理,这与试图定位潜在的 但未知的PII时将清理规则的全集应用到消息相比,大大减少了处理时间。
[0054] 在各个实施例中,PII类型元数据与清理器友好对象一起行进,允许在开发环境中 的其它组件或清理器友好应用以便于保护PII的方式与清理器友好对象进行交互。例如,将 数据记录或写入到文件中的方法可以基于元数据来识别数据包含PII,并在写入到日志或 文件中之前保护ΡΠ (例如,编校、散列或加密),除非命令明确授权将未经保护的PII保存。 在各个实施例中,记录代理响应于PII元数据。因此,记录代理知道在正被生成的消息中出 现的信息(包括PII)的类型。这种记录代理可以生成清理器友好日志,其易于创建、可使用, 并具有可预测格式,该可预测格式允许将用户信息定为目标以便由PII清理系统清理。
[0055] 虽然清理器友好开发环境提供了一种机制来克服在为收集上下文信息而对生产 日志进行的检查中固有的许多限制,但生产日志检查仍然是用于获得适合与清理代理一起 使用的基本上下文信息和/或生成清理器配置文件的一个可行选项。这尤其适合于上下文 信息不能在开发期间收集的情况(例如,来自不再被开发的或不在组织的控制下开发的应 用的日志)。
[0056]图2是用于使用PII清理系统保护PII的如外科手术般地清理的方法的一个实施例 的高级流程图。如外科手术般地清理的方法200开始于上下文收集操作202,其收集关于在 日志中发现的PII的位置和类型的信息。上下文信息可以在当(例如,通过开发者)创建日志 或者(例如,通过监察人员)根据对现有日志的分析而确定日志时提供。
[0057]在生成配置操作204中,上下文信息被用于生成与日志或日志类型相关联的清理 器配置。清理器配置包含关于在日志消息中在何处定位PII以及如何处理PII的指令。可以 基于对使用清理器配置来清理的日志的分析,随着时间细化清理器配置。当处理来自相关 联日志的消息时,使得清理器配置对于清理代理是可用于使用的。在各个实施例中,清理器 配置被存储在集中配置仓库中。在一些实施例中,来自配置仓库的清理器配置的副本被部 署于运行清理代理的系统上,并且清理代理使用清理器配置的本地副本。如果现有的清理 器配置被修改,或新的清理器配置被创建,则那些清理器配置可被上传到所述配置仓库,在 所述配置仓库处可以将清理器配置重新部署到其它系统。
[0058] 在日志生成操作206中,记录代理生成可能包含PII的消息。日志生成操作的实施 例产生具有允许容易地对PII进行定位的可解析的消息的清理器友好日志。例如,记录代理 可能不允许调用者选择参数的位置。换句话说,对于非结构化数据字段,记录代理并不简单 地接受开发者所创建的文本串。相反,记录代理可能鼓励开发者以有组织的方式供应日志 消息的内容。例如,记录代理可以从调用者接受文本消息和一系列"名称/值"的对,并产生 格式化消息,其中所有定界符脱离输入参数。在各个实施例中,清理器友好日志可以包括符 合以下格式的消息:
[0059] {自由形式文本}: {名称1} = {:值1};{名称2} = {:值2};…
[0060] 例如:
[0061] 用户登录:用户= jd〇e;源Ip = 1〇· 1.50.103
[0062]在一些实施例中,记录代理可以限制文本消息的长度,但是接受任意数量的"名 称/值"的对或清理器友好对象作为变元(argument)。记录代理然后可以通过定界符(例如, 默认的或开发者供应的定界符)将"名称/值"的对格式化成非结构化数据字段。当将对清理 器友好对象的引用作为变元时,名称变元可能不是必需的。相反,记录代理可以从PII元数 据获得对应的名称,或可以使用基于PII类型的标准化名称。标准化名称可以用于使得日志 消息更可预测,这使得更容易定位和保护在消息中的PII。利用一般用户标识符数据类型作 为例子,开发者提供的名称可以选择如"user_id"、"user"、"username"、"user_name"、 "name"、"login"的名称或其它描述符。与在非结构化数据字段中的未加标签的数据相比, 这些名称确实提供了容易的方式来识别应该被清理的PII;但是,可能的变化(包括拼写错 误),降低了自动PII清理逻辑的有效性,没有额外的信息。在各个实施例中,参数键包括:消 息标识符一一其表示包含数据的特定消息,用于定位对应的PII值的名称(即,在"名称/值" 的对中的名称),以及PII类型;但是,可以包括其它信息,例如列索引。参数键通过对与PII 相关联的名称和数据类型进行识别和链接,从而提供对标准化命名的替代。
[0063] 消息呈现操作208向清理代理呈现日志消息以供处理。记录代理可以将消息发送 给清理代理,或者清理代理可以从日志中取回消息。消息可以被单独访问或成组访问。例 如,记录代理可以在每个消息被生成时将该消息发送给清理代理。替代地,记录代理可以在 数据流被关闭时发送消息集合。在另一例子中,清理代理可以定期(例如,每小时或每天)读 取日志,并处理自从上次读取日志后添加的任何新的消息。
[0064]获得清理器配置操作210向清理代理提供了对消息进行清理所需的清理器配置 (即,规则和上下文信息)。在一些实施例中,为不同的日志或日志类型提供不同的清理器配 置,并且适当的清理器配置是基于对日志的识别而加载的。在其它实施例中,全局清理器配 置包含用于多个日志或日志类型的规则集,并且适当的规则集是基于对日志的识别而应用 的。
[0065]消息清理操作212利用清理器配置提供的规则和上下文信息,来定位和替换在消 息中的PII。在消息清理操作之后,可选的后处理操作214可以准备消息以便在数据仓库中 存储。在各个实施例中,后处理操作包括可选的注释操作,其以正确解释消息所需的额外信 息来注释消息,一旦消息被添加到数据仓库中则该注释操作被需要。例如,清理代理所接收 到的消息可能不包括时间戳或日期戳,这允许消息序列一旦被添加到数据仓库中就被重 构,从而注释操作可以向消息添加时间戳或日期戳或序列号。可以添加到消息中的其它信 息包括例如消息源(例如,服务器标识符)等信息。后处理操作还可以可选地包括兼容性操 作,其使得消息处于与数据仓库要求兼容的格式。例如,数据仓库可能要求所有数据被存储 为字符串。因此,在将消息传输到数据仓库之前,可以对消息进行串行化、编码或以其它方 式格式化。
[0066]最后,受保护的记录存储操作216将经清理的消息与受保护格式的PII发送到数据 仓库。一旦在数据仓库中,经清理的消息就是可用的,以便被数据的各种顾客使用。
[0067]图3是在清理器友好开发环境中收集关于PII的上下文信息的如外科手术般地清 理的方法的收集上下文信息操作的一个实施例的高级流程图。清理器配置方法300开始于 PII元数据创建操作302,其将关于PII类型的信息与在清理器友好开发环境中的清理器友 好对象链接。当清理器友好对象被创建时,PII类型可以默认为未分类/通用类型,其将需要 检查。开发者可以人工更新PII类型以反映可能或打算由对象存储的PII的类型。当对象的 相关属性改变时,PII类型可以自动更新。例如,如果对应于电话号码的字段掩码或格式被 应用于清理器友好控制件,则PII类型将改变以表示该值是电话号码。
[0068] 元数据转移操作(metadata porting operation)304涉及随着清理器友好对象移 动PII元数据,其允许在开发环境中或清理器友好应用中的组件利用上下文信息。如本文所 描述的,记录代理可以使用与被记录以生成清理器友好日志的信息相关联的PII元数据,所 述清理器友好日志使得能够基于所供应的清理器配置通过清理代理进行如外科手术般的 清理。
[0069]参数键生成操作306产生一个或多个参数键(即,报告),其提供关于由被记录的应 用基于底层PII元数据所收集的信息的细节。报告可以详述所有清理器友好对象,或受限于 作为变元给记录代理或记录方法传递的清理器友好对象。在各个实施例中,当被记录的应 用被编译时,和/或经要求时,由开发环境生成参数键。在一些实施例中,当日志被生成并且 可以经要求而产生时,由被记录的应用或记录代理来建立参数键。参数键可以以多种格式 产生。例如,可以提供人类检查者使用的以人性化格式(例如,表格格式)出现的一个版本, 以及更适于软件应用(例如,记录代理或清理代理)使用的替代版本。替代格式的例子包括 但不限于,被逗号分隔开的值和可扩展标记语言(XML)。
[0070] 图4是消息清理操作212的一个实施例的高级流程图。可选的预解析过滤操作402 基于消息中的内容是否匹配在清理器配置中指定的过滤参数(例如,模式),来确定该消息 是否应该被处理。消息解析操作404基于在清理器配置中指定的解析器参数,将消息解析为 字段。处理操作406基于在清理器配置中指定的处理器参数来保护PII。字段选择操作408选 择将清理的字段。处理操作可以涉及一个或多个子操作,所述子操作施加清理条件,或就如 何处理选定的字段来进行细化。子操作可以包括字段解析操作410,或用于在选定字段中定 位PII的搜索操作412。字段解析操作将字段解析为子字段或"名称/值"的对。搜索操作在选 定字段中查找与在清理器配置中指定的过滤参数(例如,模式)相匹配的内容。子操作还可 以包括过滤操作414,其基于消息中的字段的内容是否匹配在清理器配置中指定的过滤参 数而确定选定字段是否应该被处理。
[0071] 为了满足由子操作施加的任意条件,替换值生成操作416生成用于在选定字段中 的PII的替换值。替换技术的选择通常是在最小化数据损失、减少对性能的影响以及管理数 据膨胀三者之间的平衡动作。可用替换技术的例子包括但不限于:编校、静态置换、泛化、散 列和加密。
[0072] 编校是这样一种动作:从消息中完全删除PII而不表明PII曾经存在过。编校非常 快速,但是罕有合适的。静态置换是一种用表明PII被去除但是不表明PII值是什么的静态 标记来替换PII的动作。静态置换也很快速并且是可检测的,但是没有留下关于PII的可用 信息。
[0073] 泛化是一种用可以允许识别个体所属的组或种类而不识别个体的泛化值替换PII 的方法。泛化可以用通配符替换PII部分,或使用查找表或将个体映射到组中的功能。例如, 电话号码可以通过用星号替换最后四位来泛化,或者IP地址可以利用发现与IP地址相关联 的国家从而暴露用户的泛化位置(即,国家)而不是用户的IP地址的查找表来泛化。泛化通 常是不可逆的并导致一些信息丢失。
[0074] 散列是一种用散列码来替换PII的动作。散列码是利用表示用户但是不识别用户 的单向散列(one way hash)生成的唯一值。换句话说,每个不同的散列码识别一个不同的 用户,但是散列码自身不提供实际的用户信息。利用散列键可以使得参考值与散列PII相互 关联,这允许授权用户发现日志中的对应条目。例如,为了定位与特定用户相关联的日志条 目,可以利用与原先对日志进行散列所利用的相同的键对所述用户的用户id进行散列。然 后可以搜索日志以寻找那个散列键而不是用户名称。
[0075] 加密是应用密码以对PII进行加密和保护的行为。需要解密秘钥来对密码文本进 行解密,并访问受保护的PII。加密保存了原始的PII,但是一般具有最高的处理成本。
[0076] 在各个实施例中,可以使用编校技术的组合或多种编校技术。例如,单个PII值可 能具有多个泛化,并且因此PII编校应该支持每编校多于一个泛化。对多种替换技术的利用 提供了以多种格式的经清理的数据,并且允许了具有不同的访问级别和需要的人员利用数 据,同时仅暴露必要的量的PII。
[0077]如外科手术般地对PII进行清理,允许顾客从清理日志获得大量信息却不具有对 PII的访问权或在一些情况下具有对PII的有限访问权。一些顾客可能仅需要获得用户的计 数,或者拉取针对特定区域或特定用户的信息。通常,可以利用散列值之间的相互关联获得 必要信息。例如,包含以这种方式清理的路径的日志消息是通过为寻找与特定用户名称(例 如,jdoe)或文件名称(例如,letter to smith.docx)相对应的散列值而进行的搜索来返回 的,而不是必须对能够包含该数据的每条可能路径进行搜索。然而,这仅在单独地对PII产 生散列时起作用。考虑以下日志消息,示出了 PII被非结构化数据围绕的例子:
[0078] 用户jdoe登录。
[0079] 创建了文件 c: \users\jdoe\documents\test · docx。
[0080] 用户注册了电子邮件地址jdoeOhotmail · com。
[0081] 在没有途径来可预测地且有效地定位PII的情况下,整体值将被保护。用于 "jdoe"、"c: \users\jdoe\documents\test · docx" 和 "jdoeOhotmail · com" 的散列是完全不 同的,且不能被相互关联。即使所有的消息指的是同一用户,也没有办法使用散列来找到该 数据。为了使用该数据,顾客必须下载和解密每个消息,暴露其可能包含的任意其它PII。 [0082]清理器配置所提供的能力和灵活性允许清理代理被配置为精确地仅以PII为目标 来进行替换,并且留下周围的非个人信息未受影响,即使当PII与以非结构化数据的非个人 信息相混合时。例如,当处理来自操作系统的具有用户简档特定文件名称的日志时,清理代 理可以配置为仅清理路径中专用于用户的部分(例如,用户名称和文件名称)。因此,路径 "c:\users\jdoe\documents\letter to smith.docx" 变为 "c:\users\###\ d〇CUmentS\##r,这原封不动地留下了更多信息,且与将整个路径在单次编校中保护相比 提供了更大的机会进行分析。类似地,已知数据表示电子邮件地址,则用户名称和域名可以 被独立地编校,从而这两部分都可以单独地相互关联。此外,使用清理器友好日志进一步增 强了 PII清理系统的如外科手术般地清理的能力。
[0083]在一些实施例中,清理代理存储对PII的引用,而不是每当针对频繁重复的用户信 息(例如,账户名称和IP地址)而要求ΡΠ 时都计算并且存储PII。存储对PII的引用的效率随 着由清理代理处理的数据量的增加而增加,例如,在使得整个系统专用于PII清理的集中式 清理代理中。在各个实施例中,清理代理包括对加密PII图(其用于查找对先前加密值的引 用)的PII散列。换句话说,只有先前尚未遇到的PII是必须被加密的,这减少了处理时间。可 以通过存储GUID风格的标识符而不是散列和密文,来减少在经清理的日志中的膨胀。可以 通过使用规范化的PII值来本质上改善命中率,从而增加整体的效率,但是当以规范化的 PII而不是原始PII来重新创建日志时以可能损失一些细节为代价。
[0084] 用PII标签(PII tag)替换子字符串使得报告更加复杂且更加低效,这是因为必须 对字符串进行搜索以寻找PII标签。为了最小化效率损失,清理代理的实施例将PII放置在 能够被独立地搜索的单独字段中。一些实施例将标记放置在经清理的数据中表示PII的位 置,并在字符串的开始处存储ΡΠ 替换。这允许报告系统快速识别所述字符串包含受保护的 PII,并在需要相互关联以增加响应时间时更早地开始寻找散列。
[0085] 虽然参数键和清理器友好日志是有用的组件,但它们将不会总是可用的。例如,将 要被清理的日志可以来自不受组织控制的源,并且因此,不被提供为清理器友好日志和/或 具有参数键。当缺少适当的上下文信息或当未发现期望的PII类型时,清理代理的操作取决 于在对PII进行保护的彻底性和对日志进行清理的效率(即,处理时间的量)之间选择的平 衡。在各个实施例中,当未发现期望的PII类型时,清理代理可以试图确定实际的PII类型, 并应用对应的清理规则。在其它实施例中,清理代理仅扫描消息以寻找期望的PII类型,并 在未发现期望的PII类型时简单地移动到下一消息上。
[0086]在替换值的生成之后,"经清理的消息的重构"操作418对用替换值替换了 PII的消 息进行重构。
[0087]图5A是示出由PII清理系统的一个实施例利用对应清理器配置在第一日志上执行 的清理操作的流程图。在图示的实施例中,清理代理接收第一日志500a和对应的清理器配 置502a作为输入。清理器配置包含可应用于对应的日志上的清理规则,即,规则集504a。图 示实施例示出了利用标记语言(例如但不限于,XML)实现的清理器配置。但是,清理器配置 还可以以其它格式实现。
[0088]在各个实施例中,通过记录代理向对应的清理器配置提供日志。在一些实施例中, 当接收到日志时,清理代理从可用的SC的仓库中选择对应的清理器配置。在这种情况下,记 录代理可以提供日志标识符。例如,当进行对清理代理的连接和/或日志标识符可以纳入到 日志中时,记录代理可以提供日志标识符。日志标识符可以是通用的或专用的标识符,其可 以表明日志、日志类型、创建日志的记录代理、对应的清理器配置、或任何其它在处理日志 时清理代理应该使用的能够用于将日志与对应的清理器配置相匹配的信息。可以通过将日 志标识符与清理器配置中的配置标识符506a相匹配,来选择对应的清理器配置。在图示的 实施例中,日志的第一行携带日志标识符508a。
[0089] 配置标识符还可以用作日志标识符特定规则集的容器。在一些实施例中,清理器 配置可以包括用于多个日志的规则集,其中每个规则集是利用唯一配置标识符来识别的, 并且清理代理通过将配置标识符和日志标识符相匹配来选择适当的规则集。
[0090] PII清理系统的实施例利用信号510a来表示清理器配置包含规则集。如果信号不 存在于清理器配置中,则清理代理可以对日志加标志(flag)以供操作员检查、基于日志标 识符回复到默认(例如,硬编码)清理规则、和/或将该日志忽略。在各个实施例中,规则集包 括根解析规则作为信号。根解析规则包含关于如何将日志的每行分离成字段的指令。例如, 根解析规则可以包括定界符,其由清理代理用于将每个消息分离成字段;或包括消息标识 符,其指示清理代理使用预定义的解析算法来将常见消息格式(common message format) 分离成字段。个体字段是通过它们的索引可寻址的。在一些实施例中,预定义的解析算法可 以提供可以用于寻址特定字段的字段名称。根解析规则有效地充当包含对于给定规则集的 所有规则的初级处理组。
[0091] 出于说明目的,简化版本的互联网信息日志示出为代表性日志。互联网信息日志 具有以空格定界的六列(即,字段)。第三列包含IP地址,其被认为是PII,并且第六列包含查 询字符串,其中一些可能包含PII。
[0092] 根解析规则指定应该利用空格()作为定界符将每个消息解析为字段。过滤器 512a指定应该在解析消息之前评估消息,并且应该跳过以字符开始的任何消息(例如, 评论)。
[0093]第一处理器514a是在第三字段上操作的条件规则,并且包括搜索解析器516a。搜 索解析器指示清理代理发现与在目标字段中的选定模式匹配的任何事物。为了方便和一 致,清理代理可以具有已定义的搜索解析器用于选定的数据类型。预定义的搜索解析器的 例子包括但不限于共同数据类型,例如通用互联网协议(IP)地址、版本特定IP地址(例如, IPv4和IPv6地址)以及SMTP地址。在一些实施例中,利用表达式语言来定义搜索模式(例如, 正则表达式),可以在清理器配置中指定定制搜索解析器。
[0094]与搜索解析器嵌套的是结果处理器518a。结果处理器指定如何处理由搜索处理器 返回的结果。结果处理器可以指定匹配应该受到保护的选定模式的数据的实例。例如,结果 处理器可以指定字段中数据类型的所有实例或字段中数据类型的仅第二实例应该被保护。 结果处理器还可以指定与数据项相匹配的部分应该被保护。例如,在IPv4地址的情况下,结 果处理器可以指示清理代理仅清理最后的区段(segment)。在图示的实施例中,搜索解析器 指示清理代理发现在目标字段中的IPv4地址,并且结果处理器指定应该通过对全部地址进 行散列来清理由搜索解析器返回的每个IPv4地址。
[0095] 规则集还定义处理组520a。处理组指示清理代理将一组规则一起处理。例如,处理 组可以包括选择满足指定标准的消息的过滤器,以及在选定消息上操作的处理器。在图示 实施例中,在处理组中的过滤器522a指定仅包含在第五字段中的特定值的消息服从处理组 中的额外规则。在处理组中的顶级处理器524a指定嵌套的规则在第六字段中操作。通过该 顶级处理器,字段解析器526a指定应该将目标字段解析为"名称/值"的对,其中所述"对"通 过"与号"("&" ^ampersand)来定界,并且在"对"中的名称和值通过等号("=")定界。 解析器结果处理器528a指定仅与名称"Userid"配对的值应该通过对该值进行散列而被清 理。在来自互联网信息日志的记录上运行该清理器配置,将产生受保护的记录作为输出 530a。为了易读,将冗长的PII替换(例如,散列值)表示为"###"。
[0096]图5B是示出由PII清理系统的一个实施例利用与先前例子相同的清理器配置,在 第二日志上执行的清理操作的流程图。第二互联网信息日志500b具有用空格定界的六个字 段。如在第一互联网信息日志中,每个消息包含IP地址,其被视为PII,并且第六列包含查询 字符串,其中一些可能包含PII,但是在第二互联网信息日志中的消息在小的但是重要的方 面不同。
[0097]在来自互联网信息日志的记录上运行清理器配置将产生受保护的记录作为输出 530b。在这种情况下,IP地址出现在第二字段,其不被清理。在第三字段中的服务器名称并 不匹配由IPv4搜索解析器进行搜索以寻找的模式,从而其不被清理。倘若简单字段替换处 理器已就位(例如,〈Processor FieldIndex = 〃3〃ReplacementStrategy = 〃Hash0nIy〃/>), 则服务器名称将会被不必要地清理。最后,名称"User"不匹配规则,并且相关联的值不被清 理。为了易读,冗长的PII替换将被表示为"邱#"。
[0098]图5C是由PII清理系统的一个实施例利用修改版本的清理器配置在第二日志上执 行的清理操作的流程图。在该情况下,修改的清理器配置502c包括额外的处理器532c,用于 在字段5中的IPv4地址上操作。此外,将指定应该清理与名称"User"配对的值的结果处理器 534c添加到处理组。结果,第二处理器现在清理"Userid"和"User"两者的值。可以使用其它 变型来实现相同结果。例如,如果清理器接受通配符,则可以在原始条件处理器中使用例如 "User*"(其中是通配符)的参数来实现相同结果。在于来自第二互联网信息日志的记录 上运行修改的清理器配置时获得的输出530c现在导致被保护的PII,并且示出了PII清理系 统的灵活性。如以前,为了易读,将冗长的PII替换(例如,散列值)表示为"###"。
[0099]图5D是由PII清理系统的一个实施例执行的清理操作的流程图,示出了退回到默 认清理规则的结果。在该情况下,清理器配置502d不提供规则集。PII清理系统的实施例可 以将来自传统清理器的硬编码逻辑纳入,或者可以利用传统清理器作为基础来被构建。虽 然并不理想,但是来自传统清理器的硬编码逻辑在规则集未被提供时允许PII清理系统继 续清理p II。
[0100] 用于该特定互联网信息日志的默认清理规则具有硬编码逻辑,其总是清理第三列 和第六列(也即,IP地址和查询字符串)。默认的清理规则可以允许清理代理识别特定类型 的PII,但是没有机会指定PII类型。清理IP地址是相当例行的任务,但是清理查询字符串则 是另一回事。因此,整个查询字符串将作为PII的单个实例来被清理(例如,加密和散列),除 非默认的清理规则碰巧涵盖查询字符串。此外,虽然仅某些查询字符串包含PII,但是所有 的查询字符串将被清理。利用默认的清理规则获得的输出530d混淆每个查询字符串的整个 值,即使仅一些行和仅一部分查询字符串包含PII。再次,为了易读,将冗长的PII替换(例 如,散列值)表示为"###"。
[0101] 利用默认清理规则的该场景还呈现过度清理(其是保护非敏感数据的动作)的经 典例子。过度清理(over-scrubbing)在目前是处理、存储和使用数据的高成本中最大的因 素,这是因为其消耗处理器时间、增加日志大小、并使得不可能运行使用了包含于查询字符 串中的数据的报告。增加日志大小的原因在于,PII的每个实例不管多小都会导致创建类似 于以下的替换值:
[0102] <PII :H101(6BAt0ovxxwocsXiPsI19PzYJ4wnRguL7t26IGmj8H0s = ) :E103 (rrmLUjprk8wKxZqxieqXwCJerfUqSlmbdVscoqlsH2E=)> 过度清理的两个常见原因包括:不 能分辨哪些行或哪些列实际包含PII,并且缺少有效方式来仅以PII为目标。因此,较大部分 的数据以被清理而告终,以避免将PII泄漏给上传的数据的风险。
[0103] 该应用的主题可以在多个实施例中实践,所述实施例例如作为系统、设备和其它 制品,或作为方法。实施例可以实现为硬件、软件、计算机可读介质或其组合。本文描述的实 施例和功能可以经由多个计算系统进行操作,所述计算系统包括但不限于台式计算机系 统、有线和无线计算系统、移动计算系统(例如,移动电话、上网本、平板或板型计算机、笔记 本计算机和膝上型计算机)、手持设备、多处理器系统、基于微处理器的或可编程消费者电 子产品、微型计算机以及大型计算机。
[0104] 各种类型的用户界面和信息可以经由机载计算设备显示器或者经由与一个或多 个计算设备相关联的远程显示器单元来显示。例如,可以在投影各种类型的用户界面和信 息的墙面上显示各种类型的用户界面和信息并与之交互。与可以实践本发明实施例的多个 计算系统交互可以包括,击键输入、触摸屏输入、语音或其它音频输入、在相关联的计算设 备装备有检测(例如,摄像机)功能以用于捕捉和解释用户手势从而控制计算设备的功能时 的手势输入,等等。
[0105] 图6和图7以及相关联的描述提供了可以实践本发明实施例的多种操作环境的讨 论。然而,示出和讨论的设备和系统出于示例和说明的目的,而并不限于可以用于实践上述 本发明实施例的多种计算设备配置。
[0106] 图6是示出可以实践本发明实施例的计算设备600的物理组件(即,硬件)的框图。 下文描述的计算设备组件可能适于具体实现计算设备,包括但不限于,个人计算机、平板计 算机、表面计算机以及智能手机,或者本文所讨论的任意其它计算设备。在基本配置中,计 算设备600可以包括至少一个处理单元602和系统存储器604。取决于计算设备的配置和类 型,系统存储器604可以包括但不限于,易失性存储设备(例如,随机存取存储器)、非易失性 存储设备(例如,只读存储器)、闪存、或者这些存储器的任意组合。系统存储器604可以包括 操作系统605和一个或多个程序模块606,其适于运行软件应用620,例如记录代理102、清理 代理112以及开发环境130。例如,操作系统605可以适于控制计算设备600的操作。此外,本 发明的实施例可以结合图形库、其它操作系统或任意其它应用程序实践,且不限于任何特 定应用或系统。该基本配置由虚线608以内的那些组件示出。计算设备600可以具有额外特 征或功能。例如,计算设备600还可以包括额外数据存储设备(可去除和/或不可去除),例 如,磁盘、光盘或磁带。这种额外的存储设备由可去除存储设备609和不可去除存储设备610 示出。
[0107] 如上所述,多个程序模块和数据文件可以存储于系统存储器604中。虽然在处理单 元602上执行,但是软件应用620可以执行过程,过程包括但不限于如外科手术般地清理的 方法300的一个或多个阶段。可以根据本发明的实施例使用的其它程序模块可以包括电子 邮件和联系人应用、文字处理应用、电子表单应用、数据库应用、幻灯片演示应用、绘图或计 算机辅助应用程序,等等。
[0108] 此外,本发明的实施例可以通过如下实践:包括离散电子元件的电路、包含逻辑门 的封装的或集成的电子芯片、利用微处理器的电路、或者包含电子元件或微处理器的单个 芯片。例如,可以经由片上系统(SOC)实践本发明的实施例,其中每个或多个图示组件可以 集成到单个集成电路上。这种SOC设备可以包括一个或多个处理单元、图形单元、通信单元、 系统虚拟单元以及各种应用,其在功能上都集成(或"烧制")到芯片基底上作为单个集成电 路。当经由SOC操作时,本文所描述的关于软件应用620的功能可以经由与单个集成电路(芯 片)上的计算设备600的其它组件集成的专用逻辑进行操作。本发明的实施例还可以利用能 够执行逻辑操作(例如,"与"、"或"和"非")的其它数据来实践,包括但不限于机械、光、流体 和量子技术。另外,本发明的实施例可以在通用计算机或在任意其它电路或系统中实践。
[0109] 计算设备600还可以具有一个或多个输入设备612,例如键盘、鼠标、笔、声音输入 设备、触摸输入设备等。还可以包括输出设备614,例如显示器、扬声器、打印机等。前述设备 是举例,其它设备也可以使用。计算设备600可以包括一个或多个通信连接616,其允许与其 它计算设备618通信。适当的通信连接616的例子包括但不限于RF发送器、接收器和/或收发 器电路;通用串行总线(USB),并行和/或串行端口。
[0110] 本文所使用的术语"计算机可读介质"可以包括计算机存储介质。计算机存储介质 可以包括易失性和非易失性、去除和不可去除的介质,其被实现在用于存储信息(例如,计 算机可读指令、数据结构或程序模块)的任何方法或技术中。系统存储器604、可去除存储设 备609和不可去除存储设备610都是计算机存储介质(即,存储器存储设备)的例子。计算机 存储介质可以包括随机存取存储器(RAM)、只读存储器(R0M)、电可擦除只读存储器 (EEPROM)、闪存或其它存储器技术,压缩盘只读存储器(CD-ROM)、数字通用盘(DVD)或其它 光盘、磁带盒、磁带、磁盘存储设备或其它磁存储设备,或者可以用于存储信息并可由计算 设备600访问的任意其它制品。任意这种计算机存储介质可以是计算设备600的一部分。
[0111] 图7A和7B示出了可以实践本发明实施例的移动计算设备700。适当的移动计算设 备的例子包括但不限于,移动电话、智能手机、平板计算机、表面计算机以及膝上型计算机。 在基本配置中,移动计算设备700是既具有输入元件又具有输出元件的手持计算机。移动计 算设备700通常包括显示器705以及一个或多个输入按钮710,其允许用户将信息输入到移 动计算设备700。移动计算设备700的显示器705还可以用作输入设备(例如,触摸屏显示 器)。可选的侧边输入元件715如果被包含,则允许进一步的用户输入。侧边输入元件715可 以是旋转开关、按钮或任意其它类型的人工输入元件。在替代实施例中,移动计算设备700 可以纳入更多或更少的输入元件。例如,显示器705在一些实施例中可以不是触摸屏。在另 一替代实施例中,移动计算设备700是便携式电话系统,例如蜂窝电话。移动计算设备700还 可以包括可选的小键盘735。可选小键盘735可以是物理小键盘,或者是在触摸屏显示器上 生成的"软"小键盘。在各个实施例中,输出元件包括用于显示图形用户界面的显示器705, 视觉指示器720(例如,发光二极管),和/或音频换能器725(例如,扬声器)。在一些实施例 中,移动计算设备700纳入了振动换能器,用于向用户提供触觉反馈。在又一实施例中,移动 计算设备700纳入了输入和/或输出端口,例如,音频输入(例如,麦克风插孔)、音频输出(例 如,耳机插孔)、以及用于从外部设备接收信号或发送信道到外部设备的视频输出(例如, HDiO端口)。
[0112] 图7B是示出移动计算设备的一个实施例的架构的框图。也就是,移动计算设备700 可以将系统(即,架构)702纳入,以实现一些实施例。在一个实施例中,系统702实现为智能 手机,其能够运行一个或多个应用(例如,浏览器、电子邮件客户端、笔记、联系人管理器、消 息收发客户端、游戏以及媒体客户端/播放器)。在一些实施例中,系统702集成为计算设备, 例如,集成的个人数字助理(PDA)和无线电话。
[0113] -个或多个应用程序765可以加载到存储器762中,并运行于操作系统764上或与 操作系统764相关联。应用程序的例子包括电话拨号器程序、电子邮件程序、个人信息管理 (PM)程序、文字处理程序、电子表单程序、互联网浏览器程序、消息收发程序等。系统702还 包括在存储器762中的非易失性存储区域768。非易失性存储区域768可以用于存储持续信 息,其在系统702掉电时不会丢失。应用程序765可以使用和存储在非易失性存储区域768中 的信息,例如,电子邮件应用所使用的电子邮件或其它消息等。同步应用(未示出)也驻留在 系统702上,并被编程为与驻留在主机计算机上的对应同步应用交互,以保持存储于非易失 性存储区域768中的信息与存储于主机计算机上的对应信息同步。如应该理解的是,其它应 用可以加载到存储器762上,并运行于移动计算设备700上,包括本文描述的软件应用620。
[0114] 系统702具有电源770,其可以实现为一个或多个电池。电源770还可以包括外部电 源,例如为电池补充或充电的AC适配器或供电底座。
[0115]系统702还可以包括无线电设备772,其执行发送和接收射频通信的功能。无线电 设备772便于经由通信载体或服务提供商在系统702和外部世界之间的无线连接。在操作系 统764的控制下进行到和往无线电设备772的传输。换句话说,通过无线电设备772接收到的 通信可以被经由操作系统764传播到应用程序765,反之亦然。
[0116]视觉指示器720可以用于提供视觉通知,和/或音频接口 774可以用于经由音频换 能器725产生可听通知。在图示实施例中,视觉指示器720是发光二极管(LED),并且音频换 能器725是扬声器。这些设备可以直接耦合到电源770,从而当被激活时,它们在通知机制所 指示的持续时间内保持开启,即使处理器760和其它组件可能关闭以保存电池电力。LED可 以被编程为无限保持开启,直到用户采取动作来指示设备的通电状态为止。音频接口 774用 于提供可听信号,并从用户处接收可听信号。例如,除了耦合到音频换能器725上外,音频接 口 774还可以耦合到麦克风以接收可听输入,例如,便于电话会话。根据本发明的实施例,麦 克风还可以用作音频传感器以便于控制通知,如下文所述。系统702还可以包括视频接口 776,其使得机载摄像机730能够操作以记录静止图像、视频流等。
[0117]实现系统702的移动计算设备700可以具有额外的特征或功能。例如,移动计算设 备700还可以包括额外的数据存储设备(可去除的和/或不可去除的),例如,磁盘、光盘或磁 带。这种额外的存储设备由非易失性存储区域768所示。
[0118]通过移动计算设备700生成或捕捉且经由系统702存储的数据/信息可以本地存储 于移动计算设备700上,如上所述,或者数据可以存储在任意数量的存储介质上,该存储介 质可以由该设备经由无线电设备722或经由移动计算设备700和与移动计算设备700相关联 的分离的计算设备(例如,在诸如因特网的分布式计算网络中的服务器计算机)之间的有线 连接进行访问。如应该理解的,这种数据/信息可以经由移动计算设备700经由无线电设备 772或经由分布式计算网络访问。类似地,这种数据/信息可以根据已知的数据/信息转移和 存储单元,包括电子邮件和合作数据/信息共享系统,在计算设备之间容易地转移以进行存 储和使用。
[0119] 图8示出了用于向一个或多个客户端设备提供PII清理系统功能的系统的架构的 一个实施例,如上所述。通过软件应用620开发、交互或与其关联而编辑的内容可以存储于 不同的通信信道中或其它存储类型中。例如,可以利用目录服务822、web门户824、邮箱服务 826、即时消息收发存贮828或社交网站830存储各种文档。软件应用620可以使用任意这些 类型的系统等以进行数据利用,如本文所述。服务器820可以向客户端提供软件应用620。作 为一个例子,服务器820可以是通过web提供软件应用620的web服务器。服务器820可以通过 web向客户端经由网络815提供软件应用620。通过举例,客户端计算设备可以实现为计算设 备600,并具体实现在个人计算机802a、平板计算机802b和/或移动计算设备802c (例如,智 能手机)中。客户端设备的任意这些实施例可以从存贮816获得内容。
[0120] 在该申请中提供的一个或多个实施例的说明和图示旨在向本领域技术人员提供 对主题的全部范围的完全彻底和完整的公开,并非旨在以任意方式限制或约束本发明的范 围。在本申请中提供的实施例、例子和细节被认为足以传达所有权,并使得本领域技术人员 能够实践所要求保护发明的最佳模式。可以简述或省略对本领域技术人员公知的结构、资 源、操作和动作的描述,以避免模糊本申请的主题的较少为人所知的或唯一的方面。所要求 保护的发明不应解释为受限于在本申请中提供的任何实施例、例子或细节,除非在本文另 有明确陈述。不管是综合或单独示出或描述,(结构和方法两者的)各个特征意图是被选择 性包含或省略,以产生具有特定特征组的实施例。此外,任何或所有示出或描述的功能和动 作可以以任意顺序或并发地执行。在提供了本申请的描述和图示的情况下,本领域技术人 员可以设想到落入在本申请中具体实现的通用发明概念的较广方面的精神内的变型、修改 和替代实施例,而不背离所要求保护的发明的广泛范围。
【主权项】
1. 一种对具有既包含非个人数据又包含个人可识别信息的消息的数据集进行清理的 方法,所述方法包括以下动作: 加载既包含非个人数据又包含个人可识别信息的消息; 加载包含用于对所述数据集进行清理的规则集的清理器配置; 基于所述规则集仅清理在所述消息中的所述个人可识别信息,以产生经清理的消息; 以及 保存所述经清理的消息。2. 根据权利要求1所述的方法,其中,所述规则集包括用于对所述数据集进行清理的根 解析规则和孩子规则。3. 根据权利要求2所述的方法,其中,基于所述规则集清理在所述消息中的所述个人可 识别信息以产生经清理的消息的动作还包括以下动作: 基于所述根解析规则,将所述消息解析为字段;以及 基于所述孩子规则,清理在所述消息的选定字段中的所述个人可识别信息。4. 根据权利要求3所述的方法,其中,基于所述根解析规则将所述消息解析为字段的动 作还包括以下动作:基于在所述根解析规则中指定的消息类型,将所述消息拆分为预定义 的字段集。5. 根据权利要求3所述的方法,其中,基于所述孩子规则保护在所述消息的选定字段中 的所述个人可识别信息的动作还包括以下动作:应用在所述孩子规则中指定的处理规则, 以保护在所述处理规则中指定的在选定字段中的个人可识别信息。6. 根据权利要求5所述的方法,其中,应用在所述孩子规则中指定的处理规则以保护在 所述处理规则中指定的在选定字段中的个人可识别信息的动作还包括以下动作: 应用在所述孩子规则中指定的解析规则来搜索所述选定字段以寻找具有在所述解析 规则中指定的类型的个人可识别信息;以及 保护在所述选定字段中发现的具有所指定的类型的所述个人可识别信息。7. 根据权利要求1所述的方法,其中,基于所述规则集仅清理在所述消息中的所述个人 可识别信息以产生经清理的消息的动作还包括以下动作: 基于来自所述清理器配置的规则,在所述消息中存储针对个人可识别信息的每个唯一 实例的替换值;以及 当复制所述个人可识别信息的实例时,重复使用所述替换值。8. -种用于从消息中清理个人可识别信息的系统,所述系统包括: 清理器配置,其包括指定如何对在所述消息中出现的所述个人可识别信息进行定位和 替换的根解析规则和处理规则,所述清理器配置对应于包含消息的日志; 清理器代理,其加载所述清理器配置,所述清理器代理包括:解析引擎,其执行所述根 解析以将所述消息分离成字段;以及处理引擎,其执行所述处理规则以用替换值来替换在 选定字段中的所述个人可识别信息,从而防止所述个人可识别信息被暴露,但是允许特定 的个人可识别信息通过相互关联而被定位。9. 根据权利要求8所述的系统,其中,所述清理代理还包括过滤引擎,其执行在所述清 理器配置中指定的过滤规则,以确定是否将所述根解析规则应用到所述消息。10. -种包含计算机可执行指令的计算机可读介质,所述计算机可执行指令当被计算 机执行时执行将个人可识别信息从日志中去除的方法,所述方法包括以下动作: 加载既包含非个人数据又包含个人可识别信息的消息; 加载提供用于对在所述消息中的个人可识别信息进行定位和保护的规则的清理器配 置,所述清理器配置与包含所述消息的对应日志相关联; 将来自所述清理器配置的规则应用到所述消息,以定位所述个人可识别信息; 基于来自所述清理器配置的规则,生成针对在所述消息中的所述个人可识别信息的替 换值; 用替换值代替在所述消息中的所述个人可识别信息,以创建经清理的消息;以及 将所述经清理的消息存储在数据仓库中。
【文档编号】G06F21/62GK105940410SQ201580006460
【公开日】2016年9月14日
【申请日】2015年1月23日
【发明人】M·比洛多, G·卡尔莫
【申请人】微软技术许可有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1