解決方案之APP互相喚起辦理業務並保證數據安全交互機制

場景:A系統的業務流轉到B系統,去B系統進行辦理業務。

APP喚起交互已經是APP應用變多以後的必經之路,兩個APP為了避免用戶來回手動切換操作,就會用APP內自動喚起另一個APP。


解決方案之APP互相喚起辦理業務並保證數據安全交互機制


APP喚起方案

安卓與IOS平臺通過URL schema進行喚起

android與IOS中的schema是一種APP內跳轉協議,是一種非常好的實現機制,通過定義註冊的scheme地址,可以非常方便跳轉app中的各個頁面;通過scheme協議,服務器可以定製化告訴App跳轉那個頁面,可以通過通知欄消息定製化跳轉頁面,可以通過H5頁面跳轉頁面等,同時也能實現APP間互相喚起的調用。

被喚起方後臺數據校驗

被喚起方作為功能提供方,需要實現一套安全機制,防止被盜用。

  • 系統表:喚起方系統標識、校驗地址、token、回調地址、有效開始時間、有效結束時間
  • 功能表:功能標識、功能地址、是否需要登錄
  • 系統功能表:系統標識、功能標識、有效開始時間、有效結束時間
  • 流程:APP接收到喚起參數後,發送請求數據到後臺,後臺通過token以及系統ID對應的校驗地址,去請求喚起端的後臺,進行校驗,校驗通過後把需要的參數返回,返回後判斷是否需要登錄,如需登錄,做無密碼登錄並返回對應的登錄信息和功能連接,待任務結束後,做回調到喚起端。

喚起方後臺數據提供

  • 系統表:喚起方系統標識、token
  • 請求表:token、返回數據
  • 流程:喚起方在需要喚起時,生成請求唯一token,並存入數據庫,待對端請求過來驗證時,把token對應的返回數據進行加密發送給對端;對端生產完後,把對應的token和訂單信息進行回調。

總結,由於是C/S模式,所以服務端之間採用了對稱的AES加密模式,這種機制在保證業務辦理順利的同時,更好的保證了APP間的安全性。

為什麼使用AES?

對稱加密推薦使用AES,AES作為高級加密標準是美國聯邦政府區塊加密的標準,初期AES效率比3DES慢,但是自從2010年後intel CPU已經支持AES-NI指令,這個指令的支持大幅度提升了AES的加密速度,官方宣稱提速2到3倍,實際測試過程中關閉指令和打開指令速度會相差6倍左右


分享到:


相關文章: