在 Android 平臺上有豐富的應(yīng)用和游戲,為用戶帶來了很多絕佳的使用體驗。其中大部分的用戶會按照應(yīng)用或游戲所設(shè)計的體驗路線享受其帶來的樂趣。但還是有一些用戶來者不善,他們會通過作弊、惡意篡改、欺詐盜竊、盜版或未經(jīng)授權(quán)等方式對應(yīng)用或游戲進行濫用,這使得開發(fā)者不得不絞盡腦汁應(yīng)對。通常使用未知賬戶或未知設(shè)備同應(yīng)用進行不可信的交互將會帶來濫用行為,且形式越來越復(fù)雜,這給開發(fā)者帶來的挑戰(zhàn)也在持續(xù)升級。本文您將學(xué)習(xí)到如何使用最新的 Play Integrity API 在兼顧便利性的同時為開發(fā)者保障應(yīng)用的安全和完整性。
Play Integrity API
我們曾推出獨立的 API 來專門處理此類特定問題,比如 SafetyNet Attestation API 和 Google Play Licensing,每天幫助上千個應(yīng)用處理對設(shè)備和用戶賬號的信任問題。但是隨著挑戰(zhàn)升級,所要面臨的情況越來越復(fù)雜,開發(fā)者往往要集成多個 API 才能成功處理反濫用問題,但這樣帶來的復(fù)雜性很容易產(chǎn)生遺漏,而一項遺漏造成的結(jié)果往往可能會導(dǎo)致應(yīng)用被嚴(yán)重濫用。
為解決這類問題,我們整合了最為先進的完整性技術(shù),提供了全新的 Play Integrity API,實現(xiàn)了讓開發(fā)者只需調(diào)用單個 API 就能夠?qū)崿F(xiàn)整個應(yīng)用的保護。該 API 會檢測應(yīng)用中存在的風(fēng)險和不可信的交互,并發(fā)送信號給應(yīng)用后端服務(wù)器,應(yīng)用后端服務(wù)會判斷是否能夠信任同應(yīng)用進行的交互。
Play Integrity API 有助于保護您的應(yīng)用和游戲,使其免受可能存在風(fēng)險的欺詐性交互 (例如欺騙和未經(jīng)授權(quán)的訪問) 的危害,讓您能夠采取適當(dāng)措施來防范攻擊并減少濫用行為。
當(dāng)您的應(yīng)用在搭載 Android 4.4 (API 級別 19) 或更高版本的設(shè)備上使用時,Play Integrity API 會提供已簽名且加密的響應(yīng),其中包含以下信息:
正版應(yīng)用二進制文件: 確定您正在與之交互的二進制文件是否已獲 Google Play 認(rèn)可且未經(jīng)篡改。
正規(guī) Play 安裝: 確定當(dāng)前用戶帳號是否以正當(dāng)方式 (例如通過 Google Play 安裝或付費購買) 獲取應(yīng)用或游戲。
正品 Android 設(shè)備: 確定您的應(yīng)用是否在由 Google Play 服務(wù)提供支持、已知且未經(jīng)篡改的 Android 設(shè)備上運行。
一旦發(fā)現(xiàn)問題,您可以決定是否需要提高用戶使用門檻,來提高應(yīng)用被濫用的難度,從而降低應(yīng)用可能會面臨的風(fēng)險。我們已同一些開發(fā)者們緊密合作來測試這一 API,它已投入生產(chǎn)環(huán)境使用,來保護應(yīng)用和游戲不被濫用。
Play Integrity API 具有如下關(guān)鍵優(yōu)勢:
它由 Google Play 提供支持,并提供了最新的文檔、代碼示例和最佳實踐,開發(fā)者可從 Play Console 進行配置,并得到開發(fā)者支持;
Integrity API 返回的數(shù)據(jù)包體積小且被加密,單個返回的數(shù)據(jù)包封裝了多個完整性檢測信號,無需進行多個 API 調(diào)用;
這是一個面向未來設(shè)計的 API,它將會支持更新的設(shè)備種類和規(guī)格的完整性檢測。
授信流程
Play Integrity API 通過某種難以被侵入的方式讓您的應(yīng)用服務(wù)器同 Play 服務(wù)器進行通信,并進一步處理授信。其具體步驟如下圖所示:
用戶開始進行某項操作,比如登陸應(yīng)用或者加入多人游戲;
應(yīng)用后端服務(wù)器開始生成唯一 ID,并通過觸發(fā)應(yīng)用開始進行完整性檢查;
應(yīng)用調(diào)用 Play Integrity API;
Play 服務(wù)器會開始根據(jù)多項信號進行評估,包括設(shè)備是否已經(jīng)受到侵入,是否通過證書認(rèn)證測試,并對應(yīng)用的授權(quán)許可進行驗證,隨后 Play Integrity API 會返回經(jīng)過簽名和加密的判定結(jié)果給應(yīng)用,告知是否可以信任設(shè)備和二進制文件;
應(yīng)用再將 Play Integrity API 返回的結(jié)果轉(zhuǎn)發(fā)回應(yīng)用服務(wù)器;
應(yīng)用服務(wù)器會檢查返回的 ID 與發(fā)送時的 ID 是否相同,并對結(jié)果進行分析判斷,并將其返回給應(yīng)用;
應(yīng)用拿到結(jié)果之后,如果判定一切正常就可以讓用戶繼續(xù)使用。
以上所有的操作都會在一瞬間完成,用戶不會感覺到有任何的延遲。如果您使用的是 SafetyNet Attestation API,它的實現(xiàn)同上述步驟相似。
注意事項
在使用 Play Integrity API 時,需要注意以下幾點:
確認(rèn)遇到的主要問題,是盜版問題,比如流量欺詐、作弊,還是其他問題。分析出問題的嚴(yán)重程度,以及它造成的損失程度,以判斷需要花費多大的努力去減少損失;
就完整性問題而言,沒有一勞永逸的解決方案,新的 Play Integrity API 也不能解決所有問題,它僅可作為整體安全和反濫用策略的一個環(huán)節(jié);
務(wù)必要考慮到誤報的風(fēng)險以及其他可能帶給普通用戶的使用成本,與其遇到有風(fēng)險的操作就進行封堵,更好的做法通常是通過額外步驟增加用戶濫用的門檻;
持續(xù)分析,傾聽用戶反饋,并持續(xù)更新 Android 和 Play 支持的功能,積極采用行業(yè)內(nèi)反濫用的最佳實踐。
如需了解 Play Integrity API 詳情,請前往 Play Integrity API 頁面:
針對在 Google Play 以及其他平臺發(fā)行的應(yīng)用,我們都將發(fā)布集成指南,我們還會分享更多從 Safety Device Attestation 以及 Play Licensing 遷移至新 API 的相關(guān)信息,敬請關(guān)注,同時期待您的反饋。
原文標(biāo)題:使用 Play Integrity API 來保護您的應(yīng)用和游戲
文章出處:【微信公眾號:谷歌開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
審核編輯:湯梓紅
-
Android
+關(guān)注
關(guān)注
12文章
3917瀏覽量
127061 -
API
+關(guān)注
關(guān)注
2文章
1475瀏覽量
61760 -
設(shè)備
+關(guān)注
關(guān)注
2文章
4458瀏覽量
70498
原文標(biāo)題:使用 Play Integrity API 來保護您的應(yīng)用和游戲
文章出處:【微信號:Google_Developers,微信公眾號:谷歌開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論