用户隐私
玛丽·柯特兰
Microsoft Corporation
2001 年 2 月 14 日
在上一篇专栏中,我讨论了如何定义 Web 服务指导团队的第一个示例项目“收藏夹服务”的愿景。 对于列之间的长时间延迟,我深表歉意:我出去一个月的大部分时间都受了讨厌的感冒。 我希望事情现在回到正轨,在未来几个月的定期每周专栏。
概括而言,收藏夹服务的目标是提供一种方法,让应用程序将最终用户最喜爱的网站链接存储在安全、安全、集中的位置,以便用户可以通过这些应用程序访问其收藏夹,而不管用户碰巧使用的是哪种计算机。 从技术角度来看,这似乎是一个非常简单的服务来实现。 它基本上只是一个专用数据存储。
大约在开始查看收藏夹服务的同时,出现了一系列关于用户隐私的新闻文章,特别是关于第三方可以通过网页上的广告收集的信息。 这让我们思考:整个 Web 服务模型基于使用第三方服务的网页,很可能在最终用户不知情的情况下。 有隐私问题需要担心吗?
即使没有良好的用户隐私定义,我们仍能够提出一些可能的方案,我们提议的收藏夹服务将启用这似乎值得怀疑。 根据我们对这些问题的初步研究,我们决定分阶段实施收藏夹服务,将可疑方案推迟到后续阶段。 在本专栏中,我将讨论我们在初始研究期间发现的内容、我们推迟的难题、项目第一阶段仍然存在的隐私问题,以及这些问题对我们的设计和实现的影响。
隐私定义
让我们首先看看用户隐私的含义。 我们将重点讨论用户隐私和 Web。 每当使用 Web 时, (所使用的应用程序(例如 Web 浏览器) )和应用程序连接到 (的网站(如浏览器) 中显示的页面)之间可能会交换三种类型的信息:
- 使用应用程序组合创建的信息,例如所写电子邮件、假期照片、财务记录等。
- 应用程序为了为你提供服务而收集的有关你的信息,例如你的姓名、地址、个人兴趣等。
- 有关正在使用的计算机和/或网络连接的信息(例如 IP 地址),由应用程序收集,以便为你提供服务。
用户隐私的问题在于如何收集、使用和分发此信息。 如果你从在线书店购买书籍,你当然需要提供姓名、地址和信用卡编号,以便书店完成订单。 但是,如果书店将此信息以及你购买的特定书籍的记录转储到数据库中,该怎么办? 一方面,它可以使用这些信息来提供有用的服务,例如,当你最喜欢的作者出版的新书时通知你。 另一方面,它可能会出售个人信息,导致大量不需要的垃圾邮件。 提供你使用的应用程序的公司对这些信息的合理使用构成什么?
不幸的是,这个问题没有一刀切的答案。 正确的做法是难以确定的,特别是因为公众的看法和政府法规在 (变化,并可能因法律管辖范围而异) 。 目前网站的标准做法是发布隐私策略,告知用户收集哪些信息以及如何使用和分发这些信息。 但是,对于用户是否在收集信息之前或用户可以访问网站之前,是否必须阅读隐私策略,没有标准。
Web 服务的情况变得更加不确定。 最终用户可能甚至不知道正在使用任何 Web 服务。 如果 Web 服务收集可绑定到特定最终用户的信息 (称为个人身份信息) ,则服务提供商如何通知用户收集哪些信息以及如何使用或分发这些信息? 将个人信息分发到 Web 服务的应用程序是否需要向最终用户披露此信息? 传统上,企业不会透露他们外包其业务流程的特定方面。 例如,尽管订单履行公司和客户支持组织都有权访问有关客户的个人信息,但公司可能不会透露订单履行或客户支持是外包的。 但规则可能在网上有所不同。 只有时间才能告诉...
公平信息做法
公平的信息做法使客户了解并控制其个人信息。 此类信息受到保护,防止不必要的使用、访问或分发,以便客户在使用公司的产品时自信和满意。 了解用户隐私对收藏夹服务的含义的第一步是阅读 Microsoft 公平信息做法。 Microsoft 的企业隐私组定义了公平信息做法的五个要素:
- 通知。 贵公司应定义关于收集、使用和分发个人信息的明确策略。 此策略应包括数据的主要和次要使用、公司内各个业务部门的数据分布、与关联企业和非关联企业共享数据,以及与支持业务交易的供应商签订合同义务。 公司应制定有关策略更改的准则,以及更改对更改之前收集的数据的影响。 你需要与法律顾问合作,以确保该策略是可以在网站和 Web 服务中强制执行的内容。 通过多个分发渠道(包括联机和脱机)向客户和用户提供策略。
- 同意。 应为用户提供灵活且可访问的机制,以管理其数据收集、使用和分发首选项。 你需要将信息分类为合理且有意义的分组,以便用户可以确定他们同意的内容,这样用户就不会花太长时间设置首选项。 请务必考虑用户首选项的默认值。 用户是否需要显式启用个人信息的特定使用 (称为选择加入) 或显式禁用 (称为选择退出) ?
- 访问。 用户应能够查看和/或编辑您存储的任何个人信息,以确保其保持最新状态并管理使用首选项。 你需要确定用户可以编辑哪些信息,哪些信息只能查看。 例如,可能不允许用户编辑唯一用户标识符,但可以允许用户编辑密码。 理想情况下,在线和脱机用户都可以使用管理个人信息的工具。
- 安全性。 应实施适当的安全措施来保护用户的个人信息。 这包括身份验证和授权机制,以保护对存储数据的访问。 它还可能包括在计算机之间传输期间保护数据的机制。 安全措施应与信息的敏感度成正比。 例如,如果使用的是用户的银行帐户或医疗记录,则你更关心的是安全性,而不是使用他最喜欢的作者列表。
- 强制实施。 如果你不遵循该策略,则拥有隐私策略没有任何好处。 贵公司应定义 (并遵循) 过程来监视信息系统是否符合隐私策略。 为所有客户信息服务定义争议解决流程,并与第三方认证组织保持安全港关系。 尽管强制实施在很大程度上是网站或 Web 服务本身的外部,但应考虑应保留哪些类型的审核信息,以支持强制执行过程。 例如,你可能想要跟踪用户是否以及何时阅读了隐私策略、用户修改用户首选项的时间和方式等。
公平信息做法和收藏夹
这一切在理论上听起来是合理的,但我们仍然不完全清楚这如何应用于我们的 Web 服务,或者你将如何为 Web 服务实现所有这些元素一般。 因此,我花了几个小时与公司策略组的成员讨论这些问题。 我们首先列出了收藏夹服务可能基于初始愿景声明) 启用 (的方案:
- 用户将某些加载项安装到 Internet Explorer 中,该加载项提供一组菜单选项,例如 Internet Explorer 收藏夹,但收藏夹实际存储在 coldrooster.com。 (如果阅读最后一列,就知道我们定义了一个围绕咨询公司的业务方案。我们现在可以透露,这家虚构的咨询公司的名称是冷公鸡咨询,以纪念一直挂在微软校园的大楼周围的公鸡。因此,coldrooster.com.)
- Coldrooster.com 提供了一个 Web 应用程序,允许用户管理其收藏夹。
- 网站(例如 msdn.microsoft.com)在其每个页面上都提供一个按钮,用户可以单击该按钮将该页面添加到存储在 coldrooster.com 的用户收藏夹。
- Msdn.microsoft.com 提供显示用户收藏夹的网页,这些收藏夹最初由 msdn.microsoft.com 代表用户存储。
- Msdn.microsoft.com 提供了一个 Web 应用程序,允许用户管理最初由 msdn.microsoft.com 代表用户存储的收藏夹。
- Cold Rooster Consulting 会定期获取所有存储的收藏夹,去除任何将其链接回特定用户的信息,并将其转储到单独的数据库中进行分析。
- Msdn.microsoft.com 提供的网页显示用户存储的所有收藏夹,而不考虑最初代表用户存储收藏夹的网站。
- Msdn.microsoft.com 提供了一个 Web 应用程序,允许用户管理其所有收藏夹。
- Cold Rooster Consulting 提供 msdn.microsoft.com 可以许可的单独 Web 服务。 此服务允许被许可人检索信息,例如“收藏夹”或“保存此页面的人员也保存了这些页面”,但仅适用于 msdn.microsoft.com 域。
- Cold Rooster Consulting 提供方案 9 中所述的 Web 服务,但返回到 msdn.microsoft.com 的建议可能包含来自其他域的收藏夹。
由于我们需要将用户的收藏夹链接到其个人标识(如电子邮件地址或 Microsoft Passport 标识符),以便通过任何应用程序和任何计算机提供所有用户的收藏夹,因此用户收藏夹数据绝对属于个人身份信息类别。 如果我们坚持收藏夹服务的此定义,我们需要通过策略、过程和代码的组合来实现公平的信息做法。
在我们讨论时,没有任何法律要求在代表用户存储信息之前通知用户。 因此,我们可以通过在 coldrooster.com 上发布隐私策略来实现 通知 元素。 用户如何知道他们需要阅读策略? 我们提出了两个选项:用户需要先注册 coldrooster.com,然后才能通过我们的服务存储收藏夹,或者客户端应用程序需要通知其用户正在使用 Cold Rooster 咨询收藏夹服务,并指向我们的隐私策略。
从 安全 的角度来看,用户收藏夹与医疗记录不属于同一类别,但用户仍希望对谁可以访问这些记录进行某种控制。 例如,通过查看我存储在家用计算机上的收藏夹,你可以找出我支持哪些运动队、我喜欢读什么样的书、我喜欢听什么样的音乐以及我在哪里拥有我的银行账户,而不是我希望世界上每个人都能访问的信息。 如果任何人都可以修改我的收藏夹,他们可能会将我选择的链接替换为其他网站, (可能出于恶意目的,例如截获机密信息) 或向我的收藏夹添加新链接。 因此,我们肯定希望保护对用户收藏夹的访问。 我们可能需要让用户指定哪些应用程序可以读取或写入哪些收藏夹。 例如,我可能会让 MSDN 修改 msdn.microsoft.com 域的收藏夹,但我甚至不希望 MSDN 看到我最喜欢的运动队的链接。 为什么 MSDN 应该关心这些内容?
若要让用户控制哪些应用程序可以读取或写入哪些收藏夹,我们需要实现公平信息做法的 同意 和 访问 元素。 我们还可能想要实现审核代码以支持 强制 元素。
突然间,我们简单的小 Web 服务听起来就不那么简单了! 我们应该为用户提供哪种级别的控制? 我们是否应该让他们确切地指定哪些应用程序可以从每个域读取或写入收藏夹? 还是应该将应用程序和域分组到区域以简化配置? 默认情况下应启用上面列出的哪些方案?
我们的隐私专家对方案 1 - 5 没有任何顾虑。 典型的隐私策略将涵盖这些方案。 但是,对于方案 2,我们需要考虑 coldrooster.com 是否应该能够管理用户的所有收藏夹,而不管哪个应用程序存储了用户的收藏夹,或者仅存储了 Cold Rooster Consulting 的应用程序添加的收藏夹。 我们可能会谨慎行事,并说 Cold Rooster Consulting 的应用程序只能管理通过这些应用添加的用户收藏夹,除非用户明确指定可以使用这些应用来查看或编辑代表用户存储的所有收藏夹。
即使方案 6 也不是太大的问题,只要隐私策略表明我们可能会使用存储的用户收藏夹进行进一步分析。 同样,我们需要考虑在分析数据之前,是否需要按域或最初提供数据的应用程序对数据进行分区。 由于许多人对数据分析都十分谨慎,因此我们可能希望让用户选择不将其收藏夹包含在用于分析的共用数据中。
从隐私的角度来看,其余方案变得越来越糟糕。 这不是说不应实现它们,只是说编写准确但可理解的策略声明会更加困难,并且用户可能对方案感到不自在,因此他们可能默认应禁用, (用户必须选择加入) 。
方案 7 最初听起来相当无害,但从 Web 服务的角度来看,它的真正含义是,应用程序可以从收藏夹服务获取用户所有收藏夹的副本。 应用程序获得数据副本后,就可以使用它执行任何所需的操作。 如果我们提供支持此方案的 Web 服务,我们可能需要将 Web 服务的访问限制为具有符合一些最低条件的隐私策略的已知客户端。
方案 8 甚至更成问题。 一旦应用程序能够修改用户的收藏夹,如何防止应用程序向用户列表添加随机页面或删除指向竞争对手网站的收藏夹? 换句话说,Web 服务如何将代表最终用户的应用程序发出的有效服务请求与最终用户不知道的应用程序发出的服务请求区分开来? 使用 HTTP 和 XML 的可用安全机制实际上并不直接支持这种客户端/服务器/服务方案,我们需要实现一些自定义安全解决方案。 即使使用自定义安全机制,也可能需要执行额外的工作来为用户提供一种方法来指定哪些应用程序可以编辑哪些收藏夹。
最后,方案 9 和 10 比方案 6 更深入地进入联机分析领域。 技术问题确实与前面提到的问题没有什么不同,但用户不适程度会更高。
根据对方案的此分析,我们决定退后一步,重新思考收藏夹服务的初始交付愿景。 第一阶段的新愿景侧重于上述方案 3 - 5。 实质上,每个应用程序都有自己的专用存储,供用户收藏。 如果我转到 msdn.microsoft.com 并存储指向此列的链接,我只能通过 msdn.microsoft.com 提供的用户界面查看或编辑该链接。
此方法消除了几个难题。 事实上,它消除了整个用户隐私问题,因为它与用户收藏夹相关! 由于有效使用收藏夹服务的每个应用程序都有单独的用户收藏夹存储,因此不需要收藏夹服务理解的全局用户标识方案。 每个应用程序都可以使用所需的任何标识符类型。 收藏夹服务无法解释这些标识符或关联不同应用程序存储的信息。 由于数据只能由单个应用程序 (或者更确切地说,收藏夹服务) 的单个许可方访问,因此无需担心为用户提供选择加入或退出各种方案的方式。 我们已有效地将用户隐私问题委托回调用应用程序。
这不是说我们不关心解决我们在分析上述方案时提出的技术挑战。 我们确实希望在收藏夹服务的未来阶段解决这些问题。 我们只是想花一点时间来思考问题,并想出一个我们愿意向开发人员社区推荐的解决方案。
那么,如果你今天需要解决问题呢? 我看不出如何为用户和应用程序实现许可机制。 用户需要使用你的服务注册帐户。 这意味着你有一个网站,他们可以在其中阅读你的隐私策略,注册帐户,并管理他们的首选项。 开发应用程序的公司还需要注册许可证才能使用 Web 服务。 许可协议应指定被许可方如何通知其用户使用你的 Web 服务。 必须弄清楚是否可以信任被许可方仅适当地使用 Web 服务。 如果是这样,你可能会让网站收集用户凭据并将其传递给 Web 服务。 如果没有,则需要提供一些代码,被许可者可以使用这些代码来提供安全机制来检索用户凭据并将其传递到 Web 服务。 无论哪种方式,都会涉及大量工作。
剩余隐私问题
尽管在第一阶段中,我们无需担心用户隐私与用户收藏夹相关的隐私,但仍有一些隐私问题需要考虑。 我们决定授予对收藏夹服务的访问权限。 这意味着我们需要维护有关被许可人的一些联系信息。 该信息属于个人身份信息的类别。 因此,维护帐户信息的任何应用程序都面临着标准隐私问题。
我们已使用策略和代码的组合解决这些问题。 下图提供了系统体系结构的高级视图:
图 1. 第一阶段中的收藏夹服务体系结构
我们的服务使用分层体系结构实现,并部署在两个物理层(Web 场和数据群集)上。 被许可人帐户信息存储在数据群集上的数据库中。 我们的 Web 服务和被许可者管理其帐户信息的网站部署在 Web 场上。 许可人信息有多层保护:
- 无法从 Cold Rooster Consulting 外部的计算机访问数据群集。
- 收藏夹服务不需要访问被许可者联系信息,因此它使用登录组件对被许可人进行身份验证。 登录组件仅检索所需的信息。
- 另一方面,许可证管理网站确实需要访问被许可方联系信息。 它如何让被许可人编辑数据? 网站通过许可组件执行所有数据访问。 许可组件上的访问控制阻止除许可证管理网站以外的任何内容调用该组件。
- 许可方数据库的访问控制阻止除登录组件和许可组件以外的任何其他内容访问数据库。
- 每当修改联系人信息时,确认电子邮件将发送到联系人信息中指定的地址。
净效果:除非被许可人的标识符和密码泄露,否则未经授权的用户访问或修改被许可人的联系信息应该非常困难。 即使在这种情况下,如果有人尝试更改联系人信息,也会通知当前联系人。
此外,我们将在网站上发布隐私策略。 我们还可以提供隐私策略以及我们提供给新被许可人的其他文档,例如有关如何编写使用收藏夹服务的应用程序的文档。
结论
对于 Web 服务的开发人员和使用它们的应用程序来说,用户隐私是一个棘手的问题。 我们对收藏夹服务问题的分析促使我们重新思考该服务的整个目标。 即使范围缩小,也增加了大量要求,以确保用户信息不受不当使用。 最重要的要求是需要限制对许可应用程序的访问。 下周,我们将更详细地探讨许可:我们考虑的业务模型、我们选择的模型,以及该模型对我们的设计和实现的影响。
如果 Web 服务需要维护个人身份信息,除了实现服务的核心功能之外,还需要执行大量工作。 你需要解决公平信息做法的所有五个要素:通知、同意、访问、安全和强制。 你需要确定何时必须与用户直接解决这些问题,以及何时可以将隐私问题推迟到使用 Web 服务的应用程序。 我强烈建议你的法律顾问参与有关这些问题的讨论,以确保你了解用户位于何处的用户隐私法的最新情况。 以下资源提供有关用户隐私的其他信息: