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