引用自癮科技~~
癮科技
原先 Android 所提供的軟體防拷機制(Copy protection)並不完美,也往往可以讓使用者不需 Rooting 破解,就可以略過 Android Market 來直接安裝 Android 軟體,或許對於免費的軟體問題比較不大,但是付費的軟體如果跳過 Android Market 來安裝,那很有可能就是非法使用、取得軟體行為的一種。
而今天 Google 家的 Eric Chu 正式對外公佈了一項新的『軟體授權服務』,來遏止這種對 Android 付費軟體開發者可能有所傷害的行為;這個新措施目前已經可以讓軟體開發者選用,並且將在幾個月內取代原本的防拷機制,主要是讓 Android 軟體在開啟的同時,自動 ping 一下 Market 授權伺服器(License Server),來確認該軟體是否合法取得、購買。
而該機制對於 Android 軟體的執行會有何影響,同時在離線狀態下,會不會逼使用者上線先確認授權才讓使用者使用,目前都還不是很清楚,但想必時間一久,眾家 Android 的使用者跟軟體開發者應該會跳出來分享心得、發表意見才是。
----------------------------------------------------------------------------------------------
希望真的趕快弄出個防護措施,好保護辛苦的開發者權益....
ezvgjami01 wrote:
同時在離線狀態下,會不會逼使用者上線先確認授權才讓使用者使用,目前都還不是很清楚...(恕刪)
很高興可以看到終於有licensing API出現了。
其實離線授權的機制講得很清楚,而且是由AP開發者決定的:
在預設的情況下,有兩種授權機制 (Policy)可供選擇:
1. ServerManagedPolicy
這是Google推薦developer使用的Policy
這種授權機制會在第一次AP啟動時透過Android Market程式連上遠端Google server,如果授權成功就會把 license 寫入在手機裡的cache,但這個 license 寫入手機時會透過一個Obfuscator (混淆器) 來加密,所以就算root後也無法盜取這個license
下次AP啟動時,就會直接從cache裡取得license,手機即便是在離線狀態也能正常啟動
2. StrictPolicy
這是較嚴格的Policy,每次AP啟動都會去詢問遠端Google server。
在安全性的部分:
-防止偽造License-
Google server在發出 license 時,有使用2048bit RSA的非對稱式加密演算法做 "簽署" 用,Google會留有一份private key,開發者會得到public key並hardcode進自己的AP。
用private key加密後的license,只能透過public key解密。
這並不是防止別人盜取license,而是確保所有license都是從Google server發出,其他不知名的server無法偽裝成Google server並發出偽造的license。
-防止盜取license-
Google也提供了一個implementation供開發者選用: AESObfuscator,使用AES對稱式加密演算法來混淆本地端的 license。
-防止Hacker重組原始碼並移除licensing程式碼-
Google建議使用ProGuard來混淆Java原始碼
總結:
原本以為把Licensing的API整進去自己的程式會花很多時間,但沒想到其實Google已經實作出很多好用的預設class。
建議眾developer可以試試看。
http://developer.android.com/guide/publishing/licensing.html
I am yrulee.
內文搜尋
X




























































































