為你的網站部署 P3P 隱私權政策

P3P 是由全球資訊網協會(W3C,World Wide Web Consortium)所發展出的隱私權偏好平台(Platform for Privacy Preferences),它一種標準通訊協定及結構,Web 伺服器可以使用 P3P,清楚的描述網站的資料收集及隱私權原則。當你瀏覽網站時,具備 P3P 功能的瀏覽器會判斷你的隱私權偏好選項是否與網站的隱私權原則和使用者的隱私權配置相符。而 Internet Explorer 6 就是第一個支援 P3P 標準的瀏覽器,他提供六種預設的使用者隱私權設定,從接受所有 cookie 到封鎖所有 cookie 都有。在預設的情況下,當 Web 伺服器的隱私權原則和使用者的隱私權配置不一樣時,IE 會選擇性地封鎖不同類型的 cookie,並針對不符合你的隱私權設定的網站向你發出警示。


要部署 P3P 前,必須先建立三個檔案:
  1. 描述隱私權保護政策的 HTML 網頁,其檔名為 policy.html。
  2. 完整的 P3P 隱私權原則檔,其檔名為 policy.xml。
  3. 原則參考檔,其檔名為 p3p.xml。
首先要把給 HTML 格式的隱私權保護政策網頁的內容依據 P3P specification 來建立 XML 格式的 P3P 隱私權原則檔案;但 P3P 規格非常複雜,強烈建議使用 P3P 編輯工具,如:
  1. IBM P3P Policy Editor
  2. PrivacyBot.com
  3. P3PEdit
這些編輯器會協助你產生 policy.xml、p3p.xml,以下是 policy.xml 的範例:
<POLICY xmlns="http://www.w3.org/2000/12/p3pv1"
discuri="http://網域名稱/policy.html"
opturi="http://網域名稱/policy.html">
<ENTITY>
<DATA-GROUP>
<DATA ref="#business.name">公司名稱</DATA>
<DATA ref="#business.contact-info.postal.street">地址</DATA>
<DATA ref="#business.contact-info.postal.city">城市</DATA>
<DATA ref="#business.contact-info.postal.postalcode">郵遞區號</DATA>
<DATA ref="#business.contact-info.postal.country">國家</DATA>
<DATA ref="#business.contact-info.online.email">電子郵件</DATA>
<DATA ref="#business.contact-info.telecom.telephone.number">電話號碼</DATA>
</DATA-GROUP>
</ENTITY>
<ACCESS><nonident/></ACCESS>
<STATEMENT>
<PURPOSE><admin/><develop/></PURPOSE>
<RECIPIENT><ours/></RECIPIENT>
<RETENTION><stated-purpose/></RETENTION>
<DATA-GROUP>
<DATA ref="#dynamic.clickstream.server"/>
<DATA ref="#dynamic.http.useragent"/>
</DATA-GROUP>
</STATEMENT>
<STATEMENT>
<PURPOSE><pseudo-analysis required="opt-in"/></PURPOSE>
<RECIPIENT><other-recipient/></RECIPIENT>
<RETENTION><indefinitely/></RETENTION>
<DATA-GROUP>
<DATA ref="#user.home-info.postal.postalcode">
<CATEGORIES><demographic/></CATEGORIES>
</DATA>
</DATA-GROUP>
</STATEMENT>
</POLICY>

根據上面的文件內容,再轉成「P3P 精簡原則」(P3P compact policy)代碼:
NOI ADM DEV PSAi COM NAV OUR STP IND DEM

例如:在 ACCESS 元素包含的文字 <nonident/> 及 CATEGORIES 元素包含的文字 <demographic/> 分別表示為 NOI、DEM 。如果你是使用編輯器,這部份當然就不用操心了,因為編輯器會自動產生給你。這些精簡原則代碼所代表的意義如下:
  1. NOI 未收集個人可識別資訊。
  2. ADM 資料是為了網站管理而被使用。
  3. DEV 資料是為了研究而被使用。
  4. PSAi 非已識別的相關資訊將被用來做研究、分析及報告。例如某個郵遞區號的使用者人數。
  5. COM 電腦資訊將被收集。
  6. NAV 導覽與點擊串流資料將被收集。
  7. OUR 資料只給我們自己與我們的代理者使用。
  8. STP 資料是按收集目的被保留。
  9. IND 資料被保留的期限沒有明確指定。
  10. DEM 個人特徵資料將會被收集,例如性別、年齡及收入。
最後是 p3p.xml 檔,它必須參照到完整的隱私權原則:
<META xmlns="http://www.w3.org/2000/12/p3pv1">
<POLICY-REFERENCES>
<POLICY-REF about="policy.xml">
<INCLUDE>\*</INCLUDE>
<COOKIE-INCLUDE name="*" value="*" domain="*" path="*"/>
</POLICY-REF>
</POLICY-REFERENCES>
</META>

其中, POLICY-REF 元素的 about 屬性就是指向 policy.xml ,這也正是 p3p.xml 的目的。

接下來就是部署 P3P 到你的 Web 伺服器:
  1. 將原則參考(policy-reference)檔案 p3p.xml 部署到 /w3c/p3p.xml。
  2. 將完整的隱私權原則檔案部署到相同目錄,例如:/w3c/policy.xml。
  3. 將原則摘要加入 HTTP 標頭。

使用 HTTP 標頭
以網路資訊服務(IIS)管理員為例:
  1. 開啟網路資訊服務(IIS)管理員。
  2. 開啟網站內容視窗。
  3. 點選[HTTP 標頭]頁簽。
  4. 在[自訂 HTTP 標頭]處,按下[新增]按鈕。
  5. 在[自訂標頭名稱]欄位輸入 P3P
  6. 在[自訂標頭值]欄位輸入隱私權摘要字串,例如:CP="NOI ADM DEV PSAi COM NAV OUR STP IND DEM"
  7. 按下[確定],並離開資訊服務(IIS)管理員。
除了在 IIS 使用 HTTP 標頭外,你也可以寫程式輸出自訂標頭來達到相同的目的。例如:在 ASP.NET 可以透過 global.asax 撰寫下列程式碼:
protected void Application_BeginRequest(Object sender, EventArgs e)
{
HttpContext.Current.Response.AddHeader("p3p",
"CP=\"NOI ADM DEV PSAi COM NAV OUR STP IND DEM\"");
}

部署成功後,就可以打開瀏覽器檢視你的網站的隱私權政策,如果是使用 IE6 的話,請在[檢視]功能表,按一下[隱私權報告],就可以看到隱私權摘要報告。


參考資料:
How to Deploy P3P Privacy Policies on Your Web Site by Microsoft
The Platform for Privacy Preferences 1.0 Deployment Guide by W3C


Share/Save/Bookmark

1 comments :: 為你的網站部署 P3P 隱私權政策

  1. 非常讚的隱私權製作分享 Many Thanks

張貼留言