Windows® Marketplace for Mobile 應用程式反盜版策略

日期:2009 年 9 日

 

簡介

Anti-piracy Model (應用程式反盜拷,反剽竊模型) 對保障應用程式設計師開發程式的投資與智慧財產具有極高的重要性,可以有效阻絕應用程式被惡意人士非法盜用,甚至是遭破解之後被上傳到網路上供大眾免費下載。Microsoft 公司了解智慧財產是程式設計師的命脈,長久以來也一直致力於軟體與服務保護技術的研發,對 Windows® Marketplace for Mobile 也不例外。面對行動運算需求日益升高的時代,各種行動運算應用和服務的需求應運而生,如何保障發展應用程式和服務的智財權,是確保各種規模的軟體開發投資能夠回收的重要關鍵。

Microsoft 採納了社群回饋給 Microsoft 的意見,也承諾將提供 Windows Marketplace 應用程式反盜版技術,讓程式設計師只需要執行幾個簡單的步驟,就可以為所開發的應用程式加上基本的保護,協助程式設計師以極有彈性的做法防範應用程式被非法複製。

本文將詳細地為大家介紹 Windows Marketplace 支援的應用程式反盜版策略及詳細的做法,協助程式設計師正確地為所開發的應用程式加入防盜版功能,讓程式設計者能夠透過 Windows Marketplace 網站銷售應用程式得到應有的報酬,回收發展應用程式的投資,並進而獲得利潤。

認識 Windows Marketplace 的 Anti-Piracy Model

Windows Marketplace 提供多層級的軟體防盜版策略,允許程式設計師視需要選取最適當應用程式保護技術。不同層級的軟體防盜版策略的優點與花費的成本並不相同,所以我們必須了解各種不同的軟體防盜版策略的成本及其好處,以便為所開發的應用程式選擇最適合的保護機制。表1 列有 Windows Marketplace 的軟體防盜版策略支援的各種軟體防護技術層級的比較:

保護層級 標準保護層級 進階保護層級
目標應用程式 大部分的應用程式 需要加強保護的應用程式
修改原始程式碼 不需要修改原始程式碼 需要小幅修改原始程式碼
程式設計師是否需要參與 視需要參與
保護效果 只有使用 Windows Live 帳號登入的使用者能夠下載應用程式 應用程式執行時期會驗証特定的授權金鑰是否存在

表1:Windows Marketplace 的軟體防盜版策略支援的各種軟體防護層級的比較

Windows Marketplace 支援兩種層級的軟體防盜版策略,分別是:

  • 準保護層級:這種層級的保護機制可以對所有的應用程式帶來最基本的防盜版保護。
  • 進階保護層級:這種層級的保護機制提供更強固的防盜版保護效果,但是需要程式設計師小幅地修改應用程式的原始程式碼。

標準保護層級

標準保護層級可以協助程式設計師確保所開發的應用程式只能夠被使用 Windows Live 帳號登入 Windows Marketplace 的使用者下載。應用程式在下載並安裝到使用者的行動裝置之後,不會在 Windows phone 裝置中留下副檔名為 .cab 的安裝程式,杜絕使用者將安裝程式帶到其他的 Windows phone 裝置進行非法的安裝與使用。

有關套用標準保護層級的應用程式上傳至 Windows Marketplace 供使用者進行下載的運作圖如圖1 所示,其中的細部動作詳細說明如下:

  1. 程式設計師登入 Windows Marketplace 開發人員網站(網址:http://developer.windowsphone.com),將副檔名為 .cab 的安裝程式上傳至網站,請注意安裝程式是透過 HTTPS 安全的連線進行上傳,所以沒有被盜取的危險。
  2. 上傳至 Windows Marketplace 開發人員網站的應用程式必須通過 Windows Marketplace 的驗証程序,確保應用程式不會違反 Windows Marketplace 網站有關技術、策略、內容、以及行銷的各項規定。
  3. 程式設計師上傳的 .cab 安裝程式會被存放至由 Microsoft 管理,並且有加上密保護的資料庫,其安全等級和 Microsoft 用來儲存為數眾多的 Windows Live™、Bing™、Hotmail™、Xbox Live™、Zune™、以及其他服務的使用者帳號使用的資料庫一樣地安全。應用程式成功地存入資料庫之後就可以被使用者購買及下載了。
  4. 使用者啟動 Windows® phone 裝置上的 [Windows Marketplace] 程式,[Windows Marketplace] 程式就會使用 HTTPS 協定連線到由 Microsoft Cloud 服務提供的 Windows Marketplace 服務。
  5. 使用者使用 Windows Live 帳號登入 Windows Marketplace 服務,使用者的帳號通過 Windows Live 帳號的的身份驗証之後,所有的交易動作都會被記錄下來,成為帳號的交易記錄。
  6. 使用者執行購買應用程式的動作,並將所購買的應用程式下載至 Windows phone 裝置,應用程式的安裝程式 (副檔名為 .cab 的安裝程式)就會透過 HTTPS 協定傳送至使用者的 Windows phone 裝置,沒有被盜取的顧慮。
  7. 應用程式成功安裝到使用者的 Windows phone 裝置之後,副檔名為 .cab 的安裝程式會立即被刪除,使用者沒有機會以其他任何方式再度使用此安裝程式。
  8. 如果使用者是以個人電腦連線到 Windows Marketplace 網站進行購買應用程式的動作,也不會有任何檔案傳送到使用者的個人電腦。使用者在完成購買應用程式的手續之後,可以啟動 Windows phone 裝置上的 [Windows Marketplace] 程式,然後執行步驟6 和步驟7,下載並安裝所購買的應用程式,應用程式的安裝程式 (副檔名為 .cab 的安裝程式) 並不會下載並儲存到使用者的個人電腦。

 


圖1:套用標準保護層級的應用程式上傳至 Windows Marketplace 供使用者進行下載的運作圖

為所開發的應用程式套用標準保護層級可以確保使用者沒有辦法輕易地違法使用從 Windows Marketplace 購買的應用程式。因為大部分的使用者並不會以違法的方式分享從 Windows Marketplace 購買的應用程式,所以 Microsoft 建議大部分的應用程式都可以採用標準層級的應用程式反盜版機制。

不過,為了防範應用程式面臨的各種不同的剽竊行為,Microsoft 另外提供了進階保護層級,以保護程式設計師的智慧財產不被惡意人士侵犯,確保開發應用程式的投資不會付諸流水。

進階保護層級

進階保護層級較標準保護層級提供更進階的應用程式保護,這種層級的保護機制能夠在應用程式執行時期利用授權金鑰驗証應用程式是否有得到合法的授權,讓已套用標準保護層級的應用程式得到更高層級的防剽竊保護。

欲為所開發的應用程式加上進階的保護機制,程式設計師必須修改應用程式的原始程式碼,加入特定的程式碼,然後重新建置應用程式。建置妥的新應用程式會在執行時期檢查應用程式中是否有 Windows Marketplace 服務為個別的裝置和應用程式建立的授權金鑰 (在使用者購買應用程式時產生) 存在,以判斷 Windows phone 裝置是否有取得執行應用程式的合法授權。

有關套用進階保護層級的應用程式上傳至 Windows Marketplace 供使用者進行下載的運作圖如圖2 所示,其中的細部動作詳細說明如下:

  1. 程式設計師將開發好的應用程式上傳至 Windows Marketplace 開發者網站,並填妥應用程式的相關資訊。
  2. 程式設計師根據 Windows Marketplace 開發者網站提供的特定程式碼修改應用程式的原始碼 (例如加在應用程式的最前面)。
  3. 程式設計師執行重新建置應用程式的動作,將重新建置應用程式得到的 .cab 安裝程式上傳至 Windows Marketplace 開發者網站,由 Windows Marketplace 網站執行驗証應用程式的程序,確保應用程式不會違反 Windows Marketplace 網站有關技術、策略、內容、以及行銷的各項規定。
  4. 使用者啟動 Windows phone 裝置中的 [Windows Marketplace 程式],連線至 Windows Marketplace 網站執行購買應用程式的動作,由 Windows Marketplace 服務為使用者的 Windows phone 裝置和所購買的應用程式產生一個專用的授權金鑰,並傳送至使用者的 Windows phone 裝置中。
  5. 應用程式安裝到到使用者的 Windows phone 裝置中,而應用程式的授權金鑰則會被存放到 Windows phone 裝置的 license store 中。
  6. 安裝在 Windows phone 中的應用程式啟動時,內建在應用程式中的驗証程式碼就會驗証 Windows phone 裝置的 license store 中是否有應用程式的合法授權金鑰存在,以判斷所執行的應用程式是否為合法的版本,如果應用程式驗証失敗,應用程式將會無法成功地執行。

 


圖2:套用進階保護層級的應用程式上傳至 Windows Marketplace 供使用者進行下載的運作圖

套用進階保護層級的應用程式可以選擇驗証應用程式法的執行時機,例如每一次執行應用程式都要執行驗証的動作,或是只有在應用程式第一次執行才進行驗証等等,所以可以為驗証應用程式的做法提供極高的彈性,並在應用程式驗証失敗的時候進行適當的處理,例如顯示錯誤訊息、提供功能受限的版本供使用者使用、或是要求使用者購買合法的應用程式等等。

請注意驗証應用程式是否合法的動作會在 Windows phone 裝置中進行,不需要透過網路連線到 Windows Marketplace 服務,避免使用者在 Windows phone 裝置無法連線到 Windows Marketplace 服務時 (例如搭乘飛機,或是手機沒有訊號可以進行通訊) 無法執行驗証應用程式是否合法的動作,造成無法執行從 Windows Market 服務下載的應用程式。

為您的應用程式加入進階的保護機制

以下的動作只適用於套用進階保護層級的應用程式,套用標準保護層級的應用程式不需要執行以下的動作:

  1. 使用您的 Windows Live 帳號登入 Windows Marketplace 開發者網站 (網址:http://developer.windowsphone.com),若沒有 Windows Live 帳號請自行先申請妥 Windows Live 帳號。
  2. 點選網站左上方的 [我的產品] 連結,進入到我的產品網頁之後再點選右上方的 [新增產品] 鍵提供的 [新增應用程式] 或 [新增 Widget] 功能,進行上載應用程式到 Windows Marketplace 開發者網站的動作。
  3. 首先您會看到要求您填寫產品名稱、作業系統、平台、版本、以及巿場等資訊的畫面,填妥必要的資訊之後請按下 [下一步] 鍵,您將會看到要求您填寫產品說明和產品功能的畫面,填妥產品的功能和說明後按下 [下一步] 鍵,您就可以看到輸入產品資訊的畫面,其中的 [反盜版資訊] 項目中有兩個超連結,請視應用程式的特性點選 [顯示Managed 程式碼] 連結或 [顯示機器碼] 連結,您就會看到網頁顯示供您插入到應用程式原始程式碼的驗証程式碼。
  4. 請複製網頁顯示的驗証程式碼並加入到應用程式的原始程式碼中。您可以將驗証應用程式是否合法的程式碼加在適當的地方,例如您可以將驗証程式碼加入在應用程式的進入點,讓應用程式一啟動就執行驗証應用程式是否合法的動作。
  5. 加入適當的程式碼,處理應用程式未通過驗証時的狀況,例如顯示錯誤訊息、結束應用程式的執行等等。
  6. 重新建置應用程式。
  7. 利用 [產品二進位檔] 項目中的 [應用程式二進位檔] 欄位右方的 [瀏覽] 鍵瀏覽到重新建置應用程式得到的 .cab 檔案。請注意此時的 .cab 安裝程式內含的應用程式已經內建反盜版的功能。做好之後請下 [上載] 鍵。
  8. 請於 [數位簽章需求] 項目中的[請選擇簽署方法]選項中選擇 [標準模式數位簽署],或是 [權限模式數位簽署]。請注意選擇 [權限模式數位簽署] 項目必須列出應用程式執行時需要的權限執行模式,需要呼叫的 API,需要使用的資源,登錄資訊,以及例外狀況及需要例外狀況理由。
  9. 請輸入必要資訊後按下[ 下一步] 鍵,繼續完成上傳應用程式的剩餘工作。

上傳的應用程式一通過 Windows Marketplace 的驗証程序,就會被發佈到提供給使用者下載的應用程式目錄中,讓使用者購買並安裝到使用者的 Windows phone 裝置中。Windows Marketplace 服務會視需要自動建立好授權金鑰並安裝到使用者的 Windows phone 裝置中,如果惡意人士將安裝到使用者的 Windows phone 裝置的應用程式複製到其他的 Windows phone 裝置,當應用程式執行時將會因為找不到授權金鑰而無法執行,即使惡意人士一併將安裝在 Windows phone 裝置的 License store 中的授權金鑰複製到其他的 Windows phone 裝置,應用程式仍然會因為驗証失敗而無法執行,因為授權金鑰是為指定的應用程式和指定的 Windows phone 特別建立的,無法複製到其他的 Windows phone 裝置上使用。

時程

Windows Marketplace 應用程式反盜版模型將會在下列的時程提供給 Windows Marketplace 應用程式的程式設計師使用:

  • Windows phone 發表—發表支援應用程式標準保護機制的 Windows Marketplace 服務。
  • 2009 年末 — Windows Marketplace 開發者網站提供可以讓程式設計加入到應用程式原始碼中的進階驗証程式碼。
  • 2009 年末 — Windows phone 裝置提供的 [Windows Marketplace] 程式支援儲存和驗証應用程式的授權金鑰。

表2 列有 Windows Marketplace for Mobile 支援應用程式智慧財產保護功能的詳細進度與時程。從 2009 年 10 月開始,上傳至 Windows Marketplace 網站的應用程式就可以套用標準保護機制,Windows Marketplace 網站將自 2009 年 12 月開始支援應用程式進階保護機制,在 2009 年 12 月之前上傳的應用程式可以透過免費更新機制將應用程式更新成支援進階保護機制的應用程式,為程式設計者的智慧財產提供更好的保護。

階段 2009 年 10 月 6 日~2009 年 12 月
標準保護機制
2009 年 12 月->
進階保護機制
說明 發佈應用程式反盜版策略文件 支援完整的應用程式驗証機制
程式設計者的行動 上傳應用程式至 Windows Marketplace 網站 將特定的驗証程式碼加入到應用程式的原始程式碼中,再透過免費更新機制上傳內含驗証程式碼的新應用程式到 Windows Marketplace 網站

表2:Windows Marketplace for Mobile 支援應用程式智慧財產保護功能的詳細進度與時程

結論

Microsoft 提倡的 Windows Marketplace 應用程式反盜版策略為程式設計者提供了一個支援自訂的應用程式智慧財產保護機制,協助程式設計者保護所開發的應用程式不受惡意人士的非法複製和散佈,其好處包括:

  • 採用標準保護機制的應用程式可以不需要修改應用程式的原始程式碼,就可以為大部的應用程式提供足夠的防盜拷保護。請注意標準保護機制適用於所有的應用程式。
  • 進階保護機制允許應用程式對使用者違法使用應用程式的時候做出適當的反應。
  • 發展應用程式的程式設計者與企業可以不需要自行實作昂貴而且複雜的應用程式授權驗証機制,或是安裝於伺服器中的授權驗証服務,就能夠判斷使用者執行的應用程式是否為合法的版本。
  • 程式設計師只要透過 Windows Marketplace 開發者網站提供的功能,就可以為所開發的應用程式套用標準保護機制或進階保護機制。
  • 標準保護機制和進階保護機制都可以在未連線至網路時執行驗証應用程式是否合法的動作。

Windows Marketplace for Mobile 提供程式設計者良好的應用程式銷售管道,協助程式設計師將開發好的應用程式銷售給全世界眾多的 Windows phone 使用者。閱讀完此文件並了解為應用程式加入防盜拷功能的好處之後,請於上傳開發好的應用程式到 Windows Marketplace 網站時,為應用程式選擇適當的應用程式保護機制。

希望可以很快地看到大家所上傳的應用程式。

© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows Mobile, Windows Live, and Windows and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this document. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this document.

MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS DOCUMENT.

For additional Microsoft Trademark information, please visit: https://www.microsoft.com/about/legal/trademarks/default.mspx