當前位置:
首頁 > 最新 > SOTER技術方案之秘鑰體系

SOTER技術方案之秘鑰體系

為了解決傳統的可見密碼驗證存在各種安全性以及便捷性的弊端,隨著Android M(Android 6.0)提供了官方的指紋介面以及針對指紋的增強版本密鑰管理機制,微信組織一些手機廠商、晶元設計廠商、TEE廠商制定了一個通用的、安全的以及便捷的生物認證識別平台方案SOTER。有了此方案,我們就能實現Android手機上的指紋支付(目前只支持微信指紋支付)。

認證方案最重要的是伺服器和客戶端之間的密鑰體系和認證流程,那麼我們今天就來聊聊SOTER方案的密鑰體系,後續再詳細聊聊認證流程。

在伺服器與客戶端的通訊過程中,簽名是用來驗證數據的完整性和真實性,防止抵賴。簽名一般採用非對稱演算法即需要一對公私鑰,手機終端保存私鑰並將公鑰上傳伺服器,客戶端上傳的數據必須經過私鑰的簽名,伺服器使用公鑰驗簽,驗證通過才能說明數據是客戶端上傳的,驗證不過說明數據不可信。

SOTER方案存在三級密鑰體系分別保證設備安全、應用安全、業務安全,並且後者的安全性是以前者的安全為前提的,即應用的安全必須以設備安全為前提,業務的安全必須以應用的安全為前提。

設備安全依賴產線安全以及產線上傳TAM Server(即受信任ATTK管理伺服器)數據時通道的安全(即網路安全),在兩者安全的前提下生成一對公私鑰ATTK(即設備驗證密鑰),並將公鑰上傳TAM Server。

應用安全依賴設備安全,應用在與應用伺服器進行業務交互前,必須驗證應用上傳的數據真實,此時應用會產生一對公私鑰ASK(應用驗證密鑰),在上傳ASK公鑰時必須使用ATTK私鑰進行簽名,應用伺服器獲取到數據後,自己無法驗證數據真實,所以應用伺服器會將簽名信息上傳給TAM Server,TAM Server存儲了ATTK公鑰能夠驗證ASK的簽名信息,驗證後TAM Server將結果反饋給應用伺服器。如果驗證成功,應用伺服器會將ASK的公鑰保存,用來驗證業務開通時的數據真實性。

業務安全依賴應用安全,業務在開通時需要驗證業務開通數據的真實,此時應用會產生一對公私鑰Auth Key(業務驗證密鑰),在上傳Auth Key公鑰時必須使用ASK私鑰進行簽名,應用伺服器獲取到數據後使用ASK公鑰驗證數據真實性。如果驗證成功,應用伺服器會將Auth Key的公鑰保存,用來驗證業務驗證時數據的真實。

TAM Server定位是驗證設備安全,保證應用發送的數據真實,當應用伺服器確認應用發送的數據真實後保存ASK公鑰,那麼後續的驗證只在應用和應用伺服器中進行,與TAM Server不再進行通信。

手機終端的數據安全是由TEE來保證,主要負責密鑰對的生成和客戶端數據的簽名。

Attestation Key (ATTK): 設備驗證密鑰,用於驗證設備的合法性,是產生ASK的必要密鑰。私鑰由廠商在設備出廠之前內置在設備安全區域中,公鑰存放在TAM伺服器。一台設備有且只有一個ATTK。

Authentication Key (Auth Key): 業務驗證密鑰,用於驗證具體業務邏輯的合法性。私鑰在設備內安全存儲,公鑰存放在第三方應用伺服器。Auth Key的數量不限,由業務方控制生成數量。

App Secure Key (ASK): 由應用程序產生的一對使用RSA演算法生成的密鑰,私鑰在設備內安全存儲,公鑰存放在第三方應用伺服器。此密鑰用於驗證應用程序的安全性與身份,是產生Auth Key所需的必要密鑰。一個應用有且只有一個ASK,如果重複生成ASK,則會覆蓋掉之前所生成的ASK。

TAM (Trusted ATTK Management) Server: 即受信任ATTK管理伺服器,管理ATTK公鑰的存儲、映射以及簽名。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 安智客 的精彩文章:

Google的TEEOS-Trusty
你知道有多少物聯網操作系統嗎
圖解手機盾的安全設計(二)
華為物聯網解決方案綜述
在高通晶元的手機上怎麼玩人工智慧?

TAG:安智客 |