小米應用商店:小米游戲SDK服務器端接入最佳安全實踐

來源: 小米開放平臺
作者:小米開放平臺
時間:2020-09-14
18292
為保證廣大游戲開發(fā)商和游戲玩家利益,請在接入小米游戲SDK過程中,請參考本文檔對比自查小米游戲SDK服務器端接入工作,避免出現(xiàn)安全相關風險漏洞。

近期發(fā)現(xiàn)有部分違法犯罪分子為謀取經(jīng)濟利益,利用游戲漏洞給部分玩家進行違規(guī)充值行為。這種行為擾亂了游戲正常運營秩序,極大損害了其他游戲玩家以及游戲開發(fā)商利益。為保證廣大游戲開發(fā)商和游戲玩家利益,請在接入小米游戲SDK過程中,請參考本文檔對比自查小米游戲SDK服務器端接入工作,避免出現(xiàn)安全相關風險漏洞。

(一)游戲服務器端總體接入流程

網(wǎng)游接入小米游戲SDK后,典型的工作流程如下:

%E5%B0%8F%E7%B1%B3%E6%80%BB%E4%BD%93%E7%99%BB%E5%BD%95%E6%94%AF%E4%BB%98%E6%B5%81%E7%A8%8B.png

在上述流程中:

1-8等步驟是游戲登錄過程時序圖。9-18等步驟是游戲支付過程時序圖。支付過程中,除了主動向小米游戲SDK服務器查詢支付結果外,還可以被動等待小米游戲SDK服務器訂單支付結果通知。

(二)服務器端登錄接入流程

上圖中的6、7兩步是游戲登錄過程中游戲服務器和小米游戲SDK服務器之間的交互。游戲服務器訪問小米游戲SDK服務器驗證賬號合法性,是保證游戲玩家賬號真實以及安全的必要操作,網(wǎng)游在登錄過程中不可忽略驗證操作,每次登錄過程中都必須進行session驗證。

(三)服務器端支付接入流程

上圖中的16、17兩步是游戲支付過程中游戲服務器和小米游戲SDK服務器之間的交互。游戲服務器在收到游戲訂單支付成功通知后,主動訪問小米游戲SDK服務器接口查詢訂單支付狀態(tài)。這步是保證支付安全的重要操作,強烈建議游戲開發(fā)者務必接入。

除了游戲服務器主動訪問小米游戲SDK服務器查詢訂單支付狀態(tài)外,也可以等待小米游戲SDK服務器訂單支付結果通知。但我們推薦優(yōu)先使用主動查詢訂單支付狀態(tài)方式。

(四)其他需要注意的安全事項

1.AppSecret是游戲服務器和小米游戲SDK服務器之間通信的密鑰,請務必保證此密鑰安全。一旦泄露可能會造成相關安全風險。

2.游戲登錄過程中,不可以將小米游戲SDK返回的賬戶和session信息記錄在游戲本地文件里。游戲每次都登陸都必須調(diào)用小米游戲SDK進行登錄,獲取玩家的ID和session,然后訪問小米游戲服務器端接口校驗用戶session的合法性。

3.在創(chuàng)建游戲訂單的時候(上圖中的9、10),游戲創(chuàng)建訂單接口需要校驗游戲玩家的身份信息(游戲ID、角色ID等所有涉及到用戶身份的ID都必須通過對應的session或token進行合法性校驗)。如果創(chuàng)建游戲訂單接口里同時包含了游戲ID和角色ID,請同時校驗游戲ID和角色ID的合法性,不可以只校驗其中的一個而忽略另外一個。

4.游戲玩家支付完成后,游戲服務器需要到小米游戲SDK服務器端校驗訂單真實性。在校驗時,務必校驗signature以及appId、cpOrderId、uid等字段是否匹配。同時,還必須校驗支付訂單的uid和創(chuàng)建游戲訂單的游戲ID是否匹配。所有信息都匹配之后,才能發(fā)貨。

5.為保證游戲內(nèi)登錄和支付過程安全,請參考小米游戲渠道服務器升級通知完成相關接口地址整改。

立即登錄,閱讀全文
版權說明:
本文內(nèi)容來自于小米開放平臺,本站不擁有所有權,不承擔相關法律責任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權,請聯(lián)系管理員(zzx@kchuhai.com)刪除!
個人VIP