<转>隐私首选项平台(P3P)

本节包含以下主题:

压缩策略概述

WebSEAL 支持隐私首选项平台(P3P)1.0 规范。 P3P 是以机器可读的格式声明隐私策略的标准。该标准使用户代理能够根据 Web 站点所呈现的策略,在用户部分上作出决定是否访问某些 URI 或接受某些 cookie。在缺少策略的情况下,可以根据关于站点策略的一组假设来作出决定。

商业浏览器支持 P3P,特别是作为接受或拒绝 cookie 的决定过程的一部分。Microsoft Internet Explorer 6 缺省情况下已启用基于 P3P 的 cookie 过滤。基于 Mozilla 的浏览器提供可选的 P3P cookie 过滤。WebSEAL 提供 P3P 支持以确保这些浏览器接受 WebSEAL 会话 cookie。

P3P 规范描述压缩策略和完整策略。 压缩策略是完整策略的一个子集。WebSEAL 提供缺省压缩策略,并且还提供配置设置以启用该压缩策略的定制。WebSEAL 不提供完整策略。完整策略特定于供应商、应用程序或 WebSEAL 部署于其中的安全性环境。完整策略的实现是供应商(Service Provider)的责任。WebSEAL 包含一个配置设置,可使用它将客户机指引到完整策略的位置。

P3P 规范声明一个 HTTP 头只可以有单个的 P3P 头(将忽略附加的 P3P 头)。但是,一个 HTTP 响应可以有多个 cookie。因此,在 HTTP 头中指定的压缩策略适用于响应中的所有 cookie。因为只可以有单个策略,该策略必须代表对 cookie 最严格的实际策略。对于 WebSEAL,这表示假如在响应中接受会话 cookie 但不接受故障转移 cookie,则应对所有 cookie 返回最坏情况的 P3P 策略。最坏情况定义为将引起浏览器拒绝 cookie 的最小条件集合。

WebSEAL 将三种类型的 cookie 返回给用户代理(浏览器):

  • 会话 cookie
  • 故障转移 cookie
  • 电子社区 cookie

不需要为电子社区 cookie 配置策略。该 cookie 的内容限制为指定用户认证到的 Web 服务器的位置。此 cookie 不包含标识用户的信息。

会话 cookie 链接到会话数据,而故障转移 cookie 包含足够的会话信息以启用会话的重新构建。会话 cookie 仅计划用于源服务器,在会话结束后不再保留且有助于会话维护过程。故障转移 cookie 计划用于故障转移(复制的)服务器,在会话结束后不再保留且也有助于会话维护过程。 因此,会话和故障转移 cookie 具有相同的 P3P 策略。这表示结合的各 cookie 的最坏情况策略是会话 cookie 策略。

压缩策略声明

WebSEAL 配置文件提供一组配置选项,这些选项匹配万维网协会隐私首选项平台(P3P)规范所指定的压缩策略 XML 语法。可以在以下 URL 访问完整的规范:

http://www.w3.org/TR/P3P/

WebSEAL 提供映射到以下压缩策略中的 XML 元素的配置文件条目:

  • access

    指示该站点是否提供对各种类型的信息的访问。

  • categories

    cookie 中存储的信息类型。

  • disputes

    指定完整的 P3P 策略是否包含某些关于对 cookie 中所包含信息的争议的信息。

  • non-identifiable

    此元素表示未收集到数据(包括 Web 日志),或组织收集到的数据将使数据匿名。

  • purpose

    与 Web 有关的数据处理的用途。

  • recipients

    法律实体或域,Service Provider 及其代理可将数据分发到的位置。

  • remedies

    在策略违规发生时的补救措施。

  • retention

    有效的保留时间策略的类型。

  • p3p-element

    可以使用此条目来指定除了压缩策略外,要添加到 P3P 头的任何元素。可以使用它提供到完整 XML 策略的引用。

purpose(除了 current)和 recipients(除了 ours)的值具有附加选项,描述如何可以使用 cookie 数据。这定义了是否给用户选择 opt-in 或 opt-out。

联结头保留

WebSEAL 允许您指定是保留还是替换来自联结的应用程序的 P3P 头。注意这不是 P3P 压缩策略而是 WebSEAL 功能的一部分。

配置文件条目为:

[p3p-header]
preserve-p3p-policy = {yes|no}

缺省行为是 no。这表示替换来自联结的服务器的 P3P 头。

WebSEAL 缺省情况下替换后端 P3P 策略头以确保没有因为由后端服务器设置的更严格的策略集而排除 WebSEAL cookie。

当使用缺省设置时,您可能发现由于 WebSEAL 压缩策略,将不允许后端服务器必须设置的 cookie。在此情况中,您应选择以下选项之一:

  • 设置 preserve-p3p-policy = yes 以强制 WebSEAL 保留由后端服务器设置的压缩策略集。
  • 修改 WebSEAL 压缩策略头以使该策略更具许可性,以允许后端 cookie。

当 WebSEAL 处理来自后端服务器的响应时,WebSEAL 的操作可以在响应中包含附加的 cookie。当已创建 WebSEAL 联结来生成联结 cookie 时会发生此情况。这些 cookie 用来跨联结映射 URL,以确保在浏览器和后端服务器之间的连接。这表示当管理员选择保留由后端服务器设置的压缩策略集(preserve-p3p-policy = yes)时,该管理员必须确保该压缩策略集的访问性足以接受附加的 WebSEAL 联结 cookie。当该压缩策略禁止附加的联结 cookie 时,来自浏览器的 URL 请求将无法成功解析到后端服务器上的 URL。

P3P 头中的缺省压缩策略

WebSEAL 将 P3P 头添加到每个其中设置了 cookie 的响应中。该头包含 P3P 压缩策略。该策略是一系列项,各项描述关于响应中的 cookie 中包含的信息的策略。

以下 WebSEAL 配置文件条目表示缺省的 P3P 压缩策略:

[p3p-header]
access = none
purpose = current
purpose = other-purpose:opt-in
recipients = ours
retention = no-retention
categories = uniqueid

缺省配置文件条目将导致具有以下内容的 P3P 头:

P3P: CP="NON CUR OTPi OUR NOR UNI"

下表解释了缺省策略头中的值:

表 4. P3P 缺省头值
定义
NON 用户对 cookie 中或该 cookie 链接到的信息没有访问权。
CUR Cookie 帮助提供当前服务。当前服务是对受保护 Web 站点的访问。
OTPi Cookie 提供另一种用户已 opted-in 的服务。
OUR 该 Web 站点自身是仅有的该 cookie 及 cookie 链接到的信息的接收方。
NOR 用户注销或用户会话到期后,不保留 cookie 数据和它链接到的数据。
UNI 该 cookie 通过使用会话标识和用户名,使用代表用户的唯一标识。

P3P 头配置

将 WebSEAL 服务器部署为其 Web 服务器的安全性解决方案一部分的用户必须为他们的站点指定 P3P 压缩策略。此步骤需要决定每个由 P3P 规范定义的隐私设置的策略。WebSEAL 提供 Microsoft Internet Explorer 6 浏览器的缺省设置接受的缺省策略。Web 管理员应按需要修改缺省策略以符合处理 cookie 中的用户数据的站点策略。Web 管理员应使用 IE 6 测试他们策略的使用以确保 IE 6 浏览器可以继续接受 WebSEAL cookie。

Web 管理员在定义他们的站点策略时,应参考 P3P 规范。

除了需要 yesno 值的条目外,每个配置条目都允许多个值。当未声明特定配置条目时,不会为该条目向压缩策略添加指示符。

要配置 P3P 压缩策略以与 WebSEAL 一起使用,请完成以下步骤:

  1. 打开 WebSEAL 配置文件以进行编辑。转至 [server] 节。
  2. 决定是替换还是保留来自联结的服务器的 P3P 头。 设置以下值:
    preserve-p3p-policy = {yes|no}

    缺省值为 no。如果您想要保留 P3P 头,则将它设为 yes。关于更多信息,请参阅联结头保留

  3. 转至 [p3p-header] 节。指定用户将对 cookie 中的信息所拥有的访问权。设置以下条目的值:
    access = {none|all|nonident|contact-and-other|ident-contact|other-ident}

    缺省设置为:

    access = none
    表 5. access 条目支持的值
    描述

    不授予对已识别数据的访问权。

    all

    授予对所有已识别数据的访问权。

    nonident

    Web 站点不收集已识别的数据。

    contact-and-other

    授予对已识别的在线的及实际的联系信息以及特定的其它已识别数据的访问权。

    ident-contact

    授予对已识别的在线的及实际的联系信息的访问权。例如,用户可以访问诸如邮寄地址这样的内容。

    other-ident

    授予对特定的其它已识别数据的访问权。例如,用户可以访问诸如他们的在线帐户费用这样的内容。

  4. 指定存储在 cookie 中的信息类型或 cookie 链接到的信息类型。设置以下条目的值:
    categories = {physical|online|uniqueid|purchase|financial|computer|navigation|
      interactive|demographic|content|state|political|health|preference|location|
      government|other-category}

    缺省设置为:

    categories = uniqueid
    表 6. categories 条目支持的值
    描述
    physical

    使人可以在实际生活中联系到或找到某个人的信息。例如,电话号码或地址。

    在线

    使人可以在因特网上联系到或找到某个人的信息。

    uniqueid

    为一致标识或识别个人的用途而发出的非财务标识,不包括政府发出的标识。

    purchase

    由于购买产品或服务而主动生成的信息,包括关于支付方法的信息。

    financial

    关于个人财务的信息,包括帐户状态和活动信息(诸如帐户余额、支付或透支历史记录)以及关于个人购买或使用金融工具的信息(包括信用卡或借记卡信息)。

    computer

    关于个人用来访问网络的计算机系统的信息。例如,IP 号码、域名、浏览器类型或操作系统。

    navigation

    由于浏览 Web 站点而被动产生的数据。例如,访问了哪些页面以及用户在各页面上停留了多久。

    interactive

    由于通过相应站点与 Service Provider 进行显式交互主动产生的或反映这种显式交互的数据。例如,对搜索引擎的查询或有关帐户活动的日志。

    demographic

    关于个人特征的数据。 例如:性别、年龄和收入。

    content

    包含在通信主体中的词和短语。例如:电子邮件的文本、公告牌的帖子或聊天室的通信。

    state

    这样一种机制:维护用户的有状态的会话,或自动识别先前访问过特定站点或访问过特定内容的用户。例如 HTTP cookie。

    political

    诸如宗教组织、工会、行业协会和政治党派此类组内的成员资格或相关从属关系。

    health

    关于个人的身体和精神健康、性别取向、对医疗服务或产品的使用或查询以及对医疗服务或产品的购买的信息。

    preference

    关于个人好恶的数据。例如,最喜欢的颜色或音乐品位。

    位置

    可用来识别个人的当前实际住址并在其住址变化时对其进行跟踪的信息。例如,全球定位系统的位置数据。

    government

    政府出于一致标识个人的目的而发出的标识。

    other-category

    以上定义未涵盖的其它类型的数据。

  5. 指定完整 P3P 策略是否包含一些与 cookie 中包含的信息有争议的信息。设置以下条目的值:
    disputes = {yes|no}

    在 WebSeal 配置文件中未指定 dispute 条目。P3P 规范声明当未指定 dispute 条目时,将缺省值自动指定为 no

    表 7. dispute 条目支持的值
    描述
    完整 P3P 策略包含与 cookie 中包含的信息有争议的信息。
    no 完整 P3P 策略包含与 cookie 中包含的信息有冲突的信息。
  6. 指定在策略违规发生时的补救措施类型。设置以下条目的值:
    remedies = {correct|money|law}

    缺省设置为:

    remedies = correct
    表 8. remedies 条目支持的值
    描述
    correct 服务将赔偿在与隐私策略的连接中出现的错误或有误操作。
    money 如果 Service Provider 违反了其隐私策略,它将向个人支付在供人阅读的隐私策略中指定的金额或损失金额。
    law 对于策略声明违规的赔偿将根据供人阅读的说明中所引用的法律来确定。
  7. 指定是未收集数据(包括 Web 日志),还是组织收集到的数据将使标识用户的任何信息匿名。设置以下条目的值:
    non-identifiable = {yes|no}

    在 WebSEAL 配置文件中未指定 non-identifiable 条目。P3P 规范声明当未指定 non-identifiable 条目时,将缺省值自动指定为 no

    表 9. non-identifiable 条目支持的值
    描述
    yes 所收集的数据可标识用户。
    no 不收集任何数据(包括 Web 日志),或者所收集的信息不标识用户。
  8. 指定 cookie 中信息的用途。设置以下条目的值:
    purpose = {current|admin|develop|tailoring|pseudo-analysis|pseudo-decision|
               individual-analysis|individual-decision|contact|historical|
               telemarketing|other-purpose} [:[opt-in|opt-out|always]]

    缺省设置为:

    purpose = current
    表 10. purpose 条目支持的值
    描述
    current

    Service Provider 可以使用信息来完成相应活动(信息是为该活动而提供的)。

    admin

    信息可供 Web 站点及其计算机系统的技术支持使用。

    develop

    信息可用来增强、评估或复查站点、服务、产品或市场。

    tailoring

    信息可用来定制或修改站点(在此站点上该信息仅用于对站点的单次访问)的内容或设计。

    pseudo-analysis

    信息可以用来创建或构建特定个人或绑定到匿名标识的计算机的记录,而不记录已识别的数据。将使用此概要文件来确定个人的习惯、兴趣或其它特征,用于研究、分析和报告用途

    pseudo-decision

    信息可以用来创建或构建特定个人或绑定到匿名标识的计算机的记录,而不记录已识别的数据。将使用此概要文件来确定个人的习惯、兴趣或其它特征,以作出直接影响该个人的决定

    individual-analysis

    信息可以用来确定个人的习惯、兴趣或其它特征并将其与已识别数据相结合以用于研究、分析和报告的用途

    individual-decision

    信息可以用来确定个人的习惯、兴趣或其它特征并将其与已识别数据相结合以便作出会直接影响该个人的决策

    contact

    信息可用来通过除语音电话以外的通信渠道来联系个人,以便提升产品或服务。

    historical

    可以按照现行法律或政策的管控为保存社会历史记录的用途而归档或存储信息。

    telemarketing

    信息可用来通过语音电话呼叫来联系个人,以便提升产品或服务。

    other-purpose

    可以以上述定义中未涵盖的其它方式来使用信息。

    对于为 purpose 指定的每个值(除了值 current),您可以选择指定 opt-in 策略。 其语法由紧跟 purpose 值的冒号(:),其后跟 opt-in 策略的支持值之一组成。例如:

    purpose = telemarketing:opt-in

    下表列出了支持的值:

    表 11. opt-in 或 opt-out 策略支持的值
    描述
    opt-in

    仅当用户肯定地请求这种使用时才能将数据用于此用途。

    opt-out

    除非用户请求不以这种方式使用数据,否则可以将数据用于此用途。

    always

    用户不能 opt-in 或 opt-out 其数据的此用法。

    这是缺省值。未指定 opt-in 策略时,应用 always 策略。

  9. 指定 cookie 中信息的接收方。设置以下条目的值:
    recipient = {ours|delivery|same|unrelated|public|other-recipient}
                [:[opt-in|opt-out|always]]

    缺省设置为:

    recipient = ours
    表 12. recipient 条目支持的值
    描述
    ours

    我们自己和/或充当我们代理的实体,或者我们为其充当代理的实体。代理是仅代表 Service Provider 来处理数据的第三方。

    delivery

    执行传递服务的法律实体,它们可以将数据用于除完成所声明用途以外的用途。

    same

    遵循我们的准则的法律实体。这些法律实体代表其自身按照恒定的准则来使用数据。

    unrelated

    不相关的第三方。这些是原始 Service Provider 不知道且数据使用实践的法律实体。

    public

    公共论坛。这些是诸如公告牌、公用目录或商业 CD-ROM 目录的公共论坛。

    other-recipient

    遵循不同准则的法律实体。这些法律实体受原 Service Provider 的约束并对其负责,但是可以以 Service Provider 的准则中未指定的方式来使用数据。

    对于为 recipient 指定的每个值(除了 ours),您可以选择指定 opt-in 策略。其语法由紧跟 recipeint 的冒号(:),其后跟 opt-in 策略支持的值之一组成。例如:

    recipient = delivery:opt-in

    下表列出了支持的值:

    表 13. Opt-in 策略值
    描述
    opt-in

    仅当用户肯定地请求这种使用时才能将数据用于此用途。

    opt-out

    除非用户请求不以这种方式使用数据,否则可以将数据用于此用途。

    always

    用户不能 opt-in 或 opt-out 其数据的此用法。

    这是缺省值。未指定 opt-in 策略时,应用 always 策略。

  10. 指定将 cookie 中的信息保留多长时间。设置以下条目的值:
    retention = {no-retention|stated-purpose|legal-requirement|business-practices|
                 indefinitely}

    缺省设置为:

    retention = no-retention
    表 14. retention 条目支持的值
    描述
    no-retention

    保留信息的时间长度不会比在单次在线交互过程中使用该信息所必需的短时间段更长。

    stated-purpose

    信息是为了满足所声明的用途而保留,并在尽可能最早的时间废弃。

    legal-requirement

    信息是为了满足所声明的用途而保留,但因为法律要求或责任而使保留时间更长。

    business-practices

    按照 Service Provider 声明的业务准则保留信息。

    indefinitely

    将信息保留一段不确定的时间。

  11. 可选择指定到完整 XML 压缩策略文件的引用。指定以下条目的值:
    p3p-element = policyref=url_to_default_location_of_full_policy

    在缺省 WebSEAL 配置文件中有此条目但被注释掉,因此不活动。缺省条目是任何 Web 站点上完整策略的缺省位置。

    # p3p-element = policyref=="/w3c/p3p.xml"
    

    当未设置 p3p-element 时,缺省情况下浏览器在 /w3c/p3p.xml 中查找完整策略。注意某些浏览器可能不引用到 p3p-element 但直接进行到 /w3c/p3p.xml。

    注:
    请确保将未认证的访问授予 /w3c/p3p.xml。请参阅故障诊断

指定定制的 P3P 压缩策略

作为在 WebSEAL 配置文件中为条目设置值的备用方法,您可以指定 P3P 头的准确内容。这是很有用的,例如当您的压缩策略字符串已由另一实用程序生成且您想要为 P3P 策略使用该字符串时。

要指定定制的 P3P 压缩策略,请完成以下步骤:

  1. 从 WebSEAL 配置文件除去缺省值。例如,将缺省 WebSEAL 条目更改如下:
    [p3p-header]
    access =
    purpose =
    purpose =
    recipients =
    retention =
    categories =
    
  2. 将您的定制压缩策略字符串添加到 p3p-element 条目:
    p3p-element =	CP="your_series_of_compact_policy_abbreviations"

    可以添加任意数量的值。各个值的顺序并不重要。

故障诊断

问题:浏览器无法访问完整的 P3P 策略文件。 解决方案:当使用 p3p-element 来指定包含完整策略的文件的位置时,浏览器会尝试访问该文件。P3P 规范不要求浏览器将 cookie 与对完整策略的请求一起提交。当访问完整策略时,Internet Explorer 6 不提交会话 cookie。这表示必须将对完整策略的访问权授予未认证的用户。当浏览器接收到登录表单或 401 错误,请修改对完整策略的许可权以允许由未认证的用户访问。

posted on 2015-10-22 18:43  hahahahahai12  阅读(425)  评论(0)    收藏  举报

导航