本發(fā)明實施例涉及信息安全技術領域,具體涉及一種可信訪問認證處理方法、用戶終端和服務端。
背景技術:
本部分向讀者介紹可能與本發(fā)明的各個方面相關的背景技術,相信能夠向讀者提供有用的背景信息,從而有助于讀者更好地理解本發(fā)明的各個方面。因此,可以理解,本部分的說明是用于上述目的,而并非構成對現有技術的承認。
互聯網用戶易于受到應用用戶身份,密碼等私密信息被盜的攻擊威脅,為了應對威脅,人們需要定期修改密碼;但是經過較長時間后,記住用戶名和密碼是很困難的;網絡上頻繁發(fā)生各種詐騙和釣魚網站,騙取用戶名及密碼,需要一種技術在密碼被盜后防止偷盜者登陸系統(tǒng)侵害用戶,需要一種技術即提高安全保障同時解決易用性問題。
在客戶端系統(tǒng)軟件應用之間調用軟件接口服務時,軟件是很難偵測出請求的來源是來自本地預期軟件還是被通過代理偽裝的,如果為未知來源的請求提供了登陸簽名報文,建立的連接安全的保障就沒有了,需要一種方法解決這種風險;為了保證訪問憑證被用來訪問預期的服務,通過驗證訪問路徑是一種可行的技術方法,即驗證發(fā)起服務的應用客戶端,應用客戶端與應用服務端之間的會話都需要驗證是預期的路徑,這樣才能保證訪問憑證不被冒用;目前尚未有相關技術。
客戶端證書認證理論上可以解決用戶在登陸時的唯一性認證,但是由于昂貴的解決方案和線下管理成本,目前互聯架構無法實現為大部分客戶端設備訪問互聯網提供這項安全服務,需要一種便宜和易于管理的自動化的技術實現用戶登陸,服務的驗證。
技術實現要素:
要解決的技術問題是如何提高用戶訪問的安全性。
針對現有技術中的缺陷,本發(fā)明實施例提供可信訪問認證處理方法、用戶終端和服務端,可以有效提高用戶訪問的安全性。
第一方面,本發(fā)明實施例提供了一種可信訪問認證處理方法,包括:
用戶終端向安全服務端發(fā)送安全可信客戶端注冊消息建立設備安全注冊關系;
所述用戶終端中向所述安全服務端發(fā)送應用客戶端綁定消息,并根據所述設備安全注冊關系建立應用客戶端與設備安全綁定關系;
所述用戶終端中向所述安全服務端發(fā)送應用及賬戶授權綁定請求消息,所述安全服務端根據客戶端與設備安全綁定關系建立應用賬戶可信訪問路徑驗證關系;
所述用戶終端向所述應用服務端發(fā)送基于安全連接類型的登陸請求消息;
所述應用服務端處理所述基于安全連接類型的登陸請求消息后向所述安全服務端發(fā)送登陸請求驗證消息;
所述安全服務端根據所述設備安全注冊關系、所述應用賬戶可信訪問路徑驗證關系對所述登陸請求驗證消息驗證,并向所述應用服務端發(fā)送應用可信訪問認證結果;
所述應用服務端根據所述應用可信訪問認證結果響應所述用戶終端的登陸請求消息。
可選地,所述用戶終端向安全服務端發(fā)送安全可信客戶端注冊消息建立設備安全注冊關系包括;
所述用戶終端向所述安全服務端發(fā)送安全可信客戶端注冊消息;
所述安全服務端驗證所述安全可信客戶端注冊消息;
所述安全服務端為驗證通過的安全可信客戶端注冊消息生成設備數據表項并向所述用戶終端反饋安全可信客戶端注冊確認消息。
可選地,所述設備數據表項包括:安全可信客戶端設備用戶id、第二密鑰、客戶端信息、服務密碼。
可選地,所述安全可信客戶端注冊消息包括:
設備安全注冊主消息體和簽名;
所述設備安全注冊主消息體包括安全可信客戶端設備用戶id的密文、設備隨機數密文、傳輸密鑰密文、第二密鑰、和用戶允許的客戶端信息;
所述簽名是所述用戶終端對使用第一密鑰對所述設備安全注冊主消息體簽名得到的。
可選地,所述安全服務端驗證所述安全可信客戶端注冊消息包括:
所述安全服務端根據所述安全可信客戶端注冊消息中的第二密鑰驗證消息體簽名;
安全服務端使用與所述安全服務端加密公鑰對應的私鑰解密傳輸密鑰密文,使用傳輸密鑰解密安全可信客戶端設備用戶id密文;
驗證通過后生成驗證結果并產生對應設備數據表項。
可選地,所述向用戶終端反饋安全可信客戶端注冊確認消息包括:
所述安全服務端產生注冊確認消息;
所述注冊確認消息包括設備注冊確認主消息體和簽名;
所述設備注冊確認主消息體包括:動態(tài)握手碼;
所述簽名是使用安全服務端私鑰為所述注冊確認消息體產生的簽名。
可選地,所述用戶終端中向所述安全服務端發(fā)送應用客戶端綁定消息,并根據所述設備安全注冊關系建立應用客戶端與設備安全綁定關系包括:
所述用戶終端發(fā)送應用客戶端綁定消息;
所述安全服務端接收所述應用客戶端綁定消息并檢查,根據檢查結果向所述用戶終端發(fā)送應用客戶端綁定確認消息;
所述用戶終端在收到所述應用客戶端綁定確認消息后應用客戶端和安全可信客戶端生成綁定碼;
所述用戶終端在完成綁定證實后向所述向安全服務端發(fā)送應用客戶端綁定完成消息;
所述安全服務端驗證應用客戶端綁定完成消息將應用客戶端特征添加到設備數據表項中。
可選地,所述應用客戶端綁定消息包括:應用客戶端特征;使用第一密鑰為應用客戶端綁定消息體計算的簽名。
可選地,所述應用客戶端綁定確認消息包括:客戶端程序包名稱、程序包版本、程序包散列值、程序包大小、應用服務商接入信息和與之對應的應用服務端加密公鑰和應用服務端驗證簽名公鑰、注冊確認時間戳、本地程序包訪問絕對路徑和安全連接類型。
可選地,所述用戶終端中向所述安全服務端發(fā)送應用及賬戶授權綁定請求消息,所述安全服務端根據客戶端與設備安全綁定關系建立應用賬戶可信訪問路徑驗證關系包括:
所述用戶終端向應用服務端發(fā)送賬戶授權請求消息;
所述應用服務端向安全服務端轉發(fā)賬戶授權請求消息;
所述安全服務端生成授權碼消息發(fā)送至應用服務端并向所述用戶終端通過獨立通道發(fā)送授權碼密文;
所述用戶終端生成并向所述安全服務端發(fā)送應用及賬戶授權綁定請求消息;
所述安全服務端驗證應用及賬戶授權綁定請求消息后,建立應用賬戶可信訪問路徑驗證關系,并生成應用及賬戶授權確認消息發(fā)送至所述用戶終端;
所述安全服務端向所述應用服務端發(fā)送授權完成消息;
所述應用服務端設置安全服務端驗證標識。
可選地,所述賬戶授權請求消息包括:
安全可信客戶端設備用戶id、授權請求識別碼、應用客戶端特征、應用服務商接入信息、賬戶名和應用服務類型。
可選地,所述所述安全服務端生成授權碼消息發(fā)送至應用服務端并向所述用戶終端通過獨立通道發(fā)送授權碼密文包括:
安全服務端收賬戶授權請求消息,檢查安全可信客戶端設備用戶id對應的設備數據表項中包括要求授權的應用客戶端特征,是已經與安全可信客戶端綁定的應用客戶端,如不是已綁定應用客戶端,則停止后續(xù)流程;如果是已經綁定的應用客戶端,安全服務端為這次授權請求分配授權碼明文并使用服務密碼加密后產生授權碼密文攜帶在授權碼消息中發(fā)送給應用服務端。
可選地,所述應用及賬戶授權綁定請求消息包括所述應用及賬戶授權綁定請求消息體和消息體簽名:
所述應用及賬戶授權綁定請求消息體包括:安全可信客戶端設備用戶id、應用客戶端特征、授權碼密文、生物識別特征值、動態(tài)握手碼、應用服務類型;
所述應用及賬戶授權綁定請求消息體簽名是由第一密鑰對于所述應用及賬戶授權綁定請求消息體的簽名。
可選地,所述安全服務端驗證所述應用及賬戶授權綁定請求消息包括:
所述安全服務端使用安全可信客戶端設備用戶id對應的應用客戶端特征驗證消息中包括的應用客戶端特征是否一致,如果一致,則繼續(xù)驗證消息的簽名,否則終止授權過程;
所述安全服務端使用安全可信客戶端設備用戶id對應的第二密鑰驗證所述應用及賬戶授權綁定請求消息的簽名;
驗證通過后,使用安全可信客戶端設備用戶id對應的服務密鑰解密授權碼密文,對照授權碼明文和安全服務端本地分配給這次授權請求的授權碼是否一致,如果一致則判定應用及賬戶綁定請求通過授權;
所述安全服務端將授權碼對應的授權綁定請求的賬戶信息、應用服務類型、生物識別特征值添加到所述安全可信客戶端設備用戶id對應的設備數據表項中。
可選地,應用及賬戶授權確認消息包括:
應用客戶端特征、應用服務商接入地址、應用服務類型、安全連接類型、賬戶名、安全可信客戶端設備用戶id、新的動態(tài)握手碼;使用安全服務端私鑰為應用及賬戶授權確認消息產生的消息體簽名。
可選地,所述用戶終端向所述應用服務端發(fā)送登陸請求消息之前還包括:
向所述安全可信客戶端向應用服務端發(fā)送建立連接消息,所述建立連接消息包括:建立連接的應用接入地址、安全連接類型。
可選地,所述用戶終端向所述應用服務端發(fā)送登陸請求消息之前還包括:
在安全連接類型配置為非安全鏈路連接時,所述用戶終端向所述應用服務端發(fā)送會話上行消息攜帶加密的會話傳輸密鑰;
所述應用服務端收到所述會話上行消息后,為當前會話分配會話識別id并使用傳輸密鑰加密后攜帶在所述會話下行消息中;
所述應用服務端為當前會話產生所述會話下行消息并發(fā)送到所述用戶終端;
所述安全可信客戶端產生與會話識別id唯一關聯的登陸請求消息。
可選地,所述用戶終端向所述應用服務端發(fā)送登陸請求消息之前還包括:
當所述建立連接消息中的連接類型是安全鏈路連接時,所述安全可信客戶為賬戶登陸連接產生不唯一關聯鏈路連接的所述登陸請求消息。
可選地,所述安全可信客戶端在產生登陸請求消息之前,會檢查所述發(fā)起登陸消息中包括的應用賬戶名、應用服務類型、應用客戶端特征是否是已經產生可信路徑驗證關系的應用及賬戶,如果是,發(fā)出所述登陸請求消息,否則,拒絕發(fā)出所述登陸請求消息。
可選地,
所述應用服務端處理后并向所述安全服務端發(fā)送登陸請求消息包括:
當安全連接類型配置為非安全鏈路連接類型時:
使用當前會話對應的所述會話識別id附加到所述登陸請求消息后組合成所述登陸請求驗證消息發(fā)送給所述安全服務端;
當連接類型配置為安全鏈路連接類型時,將所述登陸請求消息作為所述登陸請求驗證消息給所述安全服務端。
可選地,
所述安全服務端根據所述設備安全注冊關系、所述應用賬戶可信訪問路徑驗證關系對所述登陸請求驗證消息驗證,并向應用服務端發(fā)送應用可信訪問認證結果包括:
安全服務端收到登陸請求消息后根據所述登陸請求消息中安全可信客戶端設備用戶id在安全服務端查找動態(tài)握手碼與登陸請求驗證消息中包括的動態(tài)握手碼比較,如果一致則繼續(xù)驗證消息簽名,否則回復應用服務端拒絕登陸,并產生賬戶攻擊報告;
使用安全可信客戶端設備用戶id對應的第二密鑰驗證登陸請求驗證消息中包括的消息體簽名,如果簽名驗證通過,則繼續(xù)驗證會話簽名;
根據所述登陸請求驗證消息中的安全類型決定是否需要驗證所述會話簽名;
所述應用賬戶可信訪問路徑驗證關系對所述登陸請求驗證消息驗證,并向應用服務端發(fā)送應用可信訪問認證結果;
根據所述簽名驗證結果進一步對所述登陸請求驗證消息進行應用及賬戶授權綁定驗證;
將判斷的應用賬戶可信訪問認證結果攜帶在登陸驗證結果消息發(fā)送給應用服務端;
應用服務端收到登陸驗證結果消息,基于應用賬戶可信訪問認證結果為對應的會話提供后續(xù)的服務或拒絕登陸。
可選地,所述根據所述登陸請求消息中的安全類型驗證所述會話簽名包括:
當包括非安全鏈路連接時驗證會話簽名,驗證會話簽名的方法是使用包括登陸請求消息的消息體和附加的會話識別id組合的消息序列為計算對象使用第二密鑰驗證登陸請求驗證消息中包括的會話簽名是否正確,如果一致則認為該登陸憑證是與當前應用服務端申請的會話對應的登陸憑證,則繼續(xù)后續(xù)流程,否則結束;
當判斷為安全鏈路連接類型時,不驗證會話簽名。
可選地,所述根據所述簽名驗證結果進一步對所述登陸請求驗證消息進行應用及賬戶授權綁定驗證包括:
檢查所述登陸請求消息中包括的應用賬戶名、應用客戶端特征、應用服務類型、生物識別特征值與安全可信客戶端設備用戶id對應的在安全服務端的設備數據表項中是否有對應的授權;如有,則判斷登陸被允許,否則判斷登陸被拒絕。
第二方面,本發(fā)明實施例提供一種可信訪問用戶終端,包括:
設備注冊單元,用于終端向安全服務端發(fā)送安全可信客戶端注冊消息并與之建立設備安全注冊關系;
設備綁定單元,用于向所述安全服務端發(fā)送應用客戶端綁定消息,并根據所述設備安全注冊關系與之建立應用客戶端與設備安全綁定關系;
應用注冊單元,用于向安全服務端發(fā)送應用及賬戶授權綁定請求消息,所述安全服務端根據應用客戶端與設備安全綁定關系與之建立應用賬戶可信訪問路徑驗證關系;
登陸請求單元,用于所述應用服務端發(fā)送登陸請求消息,所述應用服務端處理后并向所述安全服務端發(fā)送登陸請求驗證消息;所述安全服務端根據所述設備安全注冊關系、所述應用賬戶可信訪問路徑驗證關系對所述登陸請求消息驗證,并向應用服務端發(fā)送應用可信訪問認證結果;
所述應用可信訪問認證結果是所述安全服務端根據所述設備安全注冊關系、所述應用賬戶可信訪問路徑驗證關系對所述登陸請求消息驗證得到的。
可選地,所述設備注冊單元包括:
安全可信客戶端注冊消息發(fā)送單元,用于向所述安全服務端發(fā)送安全可信客戶端注冊消息;所述安全服務端驗證所述安全可信客戶端注冊消息;所述安全服務端為驗證通過的安全可信客戶端注冊消息生成設備數據表項并向所述用戶終端反饋安全可信客戶端注冊確認消息。
可選地,所述設備綁定單元,包括:
綁定消息發(fā)送單元,用于向所述應用服務端發(fā)送應用客戶端綁定消息;
綁定碼生成單元,用于當接收到所述應用客戶端綁定確認消息后,通過密鑰交換的方法生成對應密鑰從而生成綁定碼;所述應用客戶端綁定確認消息是所述應用服務端接收所述應用客戶端綁定消息并檢查后發(fā)送的;
綁定完成單元,用于完成綁定碼驗證后,向安全服務端發(fā)送應用客戶端綁定完成消息。
可選地,
所述應用注冊單元包括:
授權請求消息發(fā)送單元,用于向所述應用服務端發(fā)送賬戶授權請求消息;
所述安全服務端為收到的賬戶授權請求消息分配授權碼,生成授權碼消息發(fā)送至應用服務端并向所述用戶終端通過獨立通道發(fā)送授權碼;
授權綁定請求消息發(fā)送單元,接收由所述授權碼和應用賬戶消息攜帶得授權碼密文,應用賬戶及應用服務類型,用于生成應用及賬戶授權綁定請求消息并發(fā)送;
授權確認消息接收單元,用于接收所述安全服務端發(fā)送的應用及賬戶授權確認消息,所述應用及賬戶授權確認消息是所述安全服務端驗證所述應用及賬戶授權綁定請求消息后生成的。
可選地,所述用戶終端還包括會話請求單元,包括:
會話請求單元向所述應用服務端發(fā)送會話上行消息;
會話下行消息接收單元,用于接收所述應用服務端發(fā)送的會話下行消息;所述會話下行消息是所述應用服務端在收到所述會話上行消息后,實在為連接分配的會話識別id與建立的會話綁定后發(fā)送的。
第三方面,本發(fā)明實施還提供一種安全服務端,包括:
設備注冊建立單元,用于接收用戶終端發(fā)送的安全可信客戶端注冊消息并建立設備安全注冊關系;
設備綁定建立單元,用于接收所述用戶終端中發(fā)送的應用客戶端綁定消息,并根據所述設備安全注冊關系建立應用客戶端與設備安全綁定關系;
應用注冊建立單元,用于接收所述用戶終端發(fā)送的賬戶授權綁定請求消息,所述安全服務端根據客戶端與設備安全綁定關系建立應用賬戶可信訪問路徑驗證關系;
登陸認證單元,用于根據所述設備安全注冊關系、所述應用賬戶可信訪問路徑驗證關系對登陸請求驗證消息驗證,并向應用服務端發(fā)送應用可信訪問認證結果;所述登陸請求消息是所述應用服務端處理登陸請求消息后并向所述安全服務端發(fā)送的;所述登陸請求消息是所述用戶終端向所述應用服務端發(fā)送的;
所述應用服務端根據所述應用可信訪問認證結果響應用戶終端的登陸請求消息。
可選地,所述設備注冊建立單元包括;
安全可信客戶端注冊消息驗證單元,用于驗證安全可信客戶端注冊消息;所述安全可信客戶端注冊消息是所述用戶終端向所述安全服務端發(fā)送的;
設備注冊反饋單元,用于為驗證通過的安全可信客戶端注冊消息生成設備數據表項并向所述用戶終端反饋安全可信客戶端注冊確認消息。
可選地,所述設備綁定建立單元包括:
應用客戶端綁定消息驗證單元,驗證應用客戶端綁定消息并檢查,根據檢查結果向所述用戶終端發(fā)送應用客戶端綁定確認消息;所述應用客戶端綁定消息是用戶終端發(fā)送的;
所述用戶終端根據所述應用客戶端綁定確認消息生成綁定碼;
應用客戶端綁定完成消息接收單元,所述應用客戶端綁定完成消息進行驗證后,將應用客戶端特征添加到設備安全關系表象中完成應用客戶端綁定。
可選地,所述應用注冊建立單元包括:
授權單元,用于驗證賬戶授權請求消息,生成授權碼消息發(fā)送至應用服務端并器向所述用戶終端發(fā)送授權碼密文;所述應用及賬戶授權請求消息是所述用戶終端發(fā)送的;
授權碼驗證單元,用于驗證應用及賬戶授權綁定請求消息并生成應用及賬戶授權確認消息發(fā)送至所述用戶終端;所述應用及賬戶授權綁定請求消息是所述用戶終端發(fā)送的;
還用于向所述應用服務端發(fā)送授權完成消息;所述應用服務端設置安全服務端驗證標識。
可選地,所述登陸認證單元包括:
握手碼驗證單元,用于根據消息中所述安全可信客戶端設備用戶id查找動態(tài)握手碼與所述登陸請求消息中包括的動態(tài)握手碼比較,如果一致則繼續(xù)驗證簽名,否則回復應用服務端拒絕登陸,并產生賬戶攻擊報告;
會話簽名驗證單元,用于使用會話識別id和所述登陸請求消息主消息體的組合信息計算散列值與使用第二密鑰解密會話簽名產生的散列值比較,如果一致則認為該登陸憑證是與當前所述應用服務端申請的會話對應的登陸憑證,則繼續(xù)后續(xù)流程,否則結束;
消息體簽名驗證單元,使用安全可信客戶端設備id對應的第二密鑰驗證所述登陸請求驗證消息中包括的登陸請求消息的主消息體簽名,如果驗證通過,則繼續(xù)后續(xù)判斷,否則產生拒絕登陸結果;
安全客戶端設備用戶驗證單元,用于證安全可信客戶端設備用戶id是否具有所述登陸請求消息中包括的應用賬戶名,應用服務類型,應用客戶端特征,生物識別特征的授權項,如果存在,判斷為可以訪問服務,否則拒絕,根據結果產生所述登陸驗證結果消息。
由上述技術方案可知,本發(fā)明實施例提供的可信訪問認證處理方法、用戶終端和服務端通過對應用客戶端綁定,通過對用戶終端安全可信客戶端與應用客戶端的雙向識別,使用安全可信客戶端發(fā)起綁定的應用客戶端發(fā)起應用服務端的連接技術,并且基于連接類別為連接提供唯一的識別,用于識別和驗證發(fā)起連接的路徑和用戶賬戶安全。
附圖說明
為了更清楚地說明本發(fā)明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作一簡單的介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發(fā)明一個實施例中可信訪問認證處理方法流程示意圖;
圖2為本發(fā)明一個實施例中可信訪問認證用戶終端、應用服務端和安全服務端鏈接關系示意圖;
圖3為本發(fā)明一個實施例中可信訪問認證用戶終端結構意圖;
圖4為本發(fā)明一個實施例中建立設備安全注冊關系流程示意圖;
圖5為本發(fā)明一個實施例中所述安全可信客戶端注冊流程示意圖;
圖6為本發(fā)明一個實施例中建立應用客戶端與安全可信客戶端綁定碼產生流程示意圖;
圖7為本發(fā)明一個實施例中應用客戶端與用戶終端綁定確認流程示意圖;
圖8為本發(fā)明一個實施例中建立應用賬戶可信訪問路徑驗證關系流程示意圖;
圖9為本發(fā)明一個實施例中應用及賬戶授權用戶終端的流程示意圖;
圖10為本發(fā)明一個實施例中所述可信訪問用戶終端登陸流程示意圖;
圖11為本發(fā)明一個實施例中所述登陸請求消息判定流程示意圖;
圖12為本發(fā)明一個實施例中可信訪問用戶終端結構示意圖;
圖13為本發(fā)明一個實施例中可信訪問用戶終端的設備注冊單元結構示意圖;
圖14為本發(fā)明一個實施例中可信訪問用戶終端的設備綁定單元結構示意圖;
圖15為本發(fā)明一個實施例中可信訪問用戶終端的應用注冊單元結構示意圖;
圖16為本發(fā)明另一個實施例中可信訪問用戶終端結構示意圖;
圖17為本發(fā)明一個實施例中安全服務端的結構示意圖;
圖18為本發(fā)明一個實施例中安全服務端的設備綁定建立單元結構示意圖;
圖19為本發(fā)明一個實施例中安全服務端的應用注冊建立單元結構示意圖;
圖20為本發(fā)明一個實施例中安全服務端的登陸認證單元結構示意圖。
具體實施方式
為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
如圖1所示,本發(fā)明實施例提供一種可信訪問認證處理方法,包括:用戶終端向安全服務端發(fā)送安全可信客戶端注冊消息建立設備安全注冊關系;所述用戶終端中向所述安全服務端發(fā)送應用客戶端綁定消息,并根據所述設備安全注冊關系建立應用客戶端與設備安全綁定關系;所述用戶終端中向所述安全服務端發(fā)送應用及賬戶授權綁定請求消息,所述安全服務端根據客戶端與設備安全綁定關系建立應用賬戶可信訪問路徑驗證關系;所述用戶終端向所述應用服務端發(fā)送基于安全連接類型的登陸請求消息;所述應用服務端處理所述基于安全連接類型的登陸請求消息后向所述安全服務端發(fā)送登陸請求驗證消息;所述安全服務端根據所述設備安全注冊關系、所述應用賬戶可信訪問路徑驗證關系對所述登陸請求驗證消息驗證,并向所述應用服務端發(fā)送應用可信訪問認證結果;所述應用服務端根據所述應用可信訪問認證結果響應所述用戶終端的登陸請求消息。下面對本發(fā)明提供的可信訪問認證處理方法展開詳細的說明。
如圖2所示,本發(fā)明實施例提供的可信訪問認證處理方法主要應用于通過網絡連接的用戶終端、應用提供服務端和安全服務端的互聯網系統(tǒng)中。用戶終端有硬件和軟件組成,可以包括安全可信客戶端和一個或多個應用客戶端;用戶終端是需要與應用提供服務端建立應用連接時,需要進一步通過安全認證的各種通信設備,例如手機、pad、pc等具備聯網能力的各種智能設備。安全服務端是接收安全可信客戶端注冊并建立設備安全關系,接受和驗證應用客戶端綁定注冊,在應用賬戶通過授權后產生應用賬戶與設備安全注冊關系和應用訪問路徑的驗證關系并基于該驗證關系為應用服務端發(fā)送的登陸請求驗證提供驗證服務。例如,具有安全認證功能的服務器均可以實現本發(fā)明實施例。應用提供服務端是指各種為用戶終端提供預期服務的各種服務器;應用提供服務端其利用安全服務端提供的賬戶登陸請求判定結果來決定最終提供給終端用戶的服務響應。例如郵件服務端、代碼安全管理服務端、檔案信息管理服務端、消息管理服務端等。
如圖3所示,用戶終端可以包括應用客戶端和安全可信客戶端;其中安全可信客戶端可以包括計算部分、存儲部分和軟件系統(tǒng)部分。安全可信客戶端的軟件系統(tǒng)部分包括設備注冊管理模塊、應用客戶端綁定管理模塊和安全環(huán)境驗證模塊。設備注冊模塊用于發(fā)起和管理設備注冊過程、管理用戶設備的自動方法。應用客戶端綁定管理模塊用于提供安全軟件接口調用驗證、在應用客戶端和可信應用客戶端綁定過程中檢查應用客戶端在用戶終端的參數,發(fā)起客戶端綁定,與應用客戶端協商共享密鑰的方式建立綁定碼。安全環(huán)境驗證模塊用于機密信息存儲和安全計算、發(fā)起應用登陸連接請求,應用登陸憑證計算和驗證、為應用提供可信登陸憑證、應用賬戶及應用授權功能。安全可信客戶端可以通過串口通信、光纖接口通信,以太網網口、wifi、2g/3g/4g/5g移動通信接口、usb、藍牙接口連接安全服務端。發(fā)明即適用于對稱密碼方法,也適用于公鑰密碼方法。
如圖4所示,用戶終端產生用戶終端向安全服務端發(fā)送安全可信客戶端注冊消息建立設備安全注冊關系包括;用戶終端向安全服務端發(fā)送安全可信客戶端注冊消息;安全服務端驗證安全可信客戶端注冊消息;安全服務端為驗證通過的安全可信客戶端注冊消息生成設備數據表項并向用戶終端反饋安全可信客戶端注冊確認消息。
具體地,如圖5所示,用戶終端產生第一密鑰和與之對應的第二密鑰。如產生公鑰密碼方式的私鑰和公鑰;產生密鑰的方法可以是通過如tpm模塊產生,或者是通過安全可信客戶端軟件模擬的單元產生。用戶終端的安全可信客戶端使用第一密鑰和對應的第二密鑰,通過安全可信客戶端由設備注冊管理模塊發(fā)起注冊;安全可信客戶端系統(tǒng)自動產生安全可信客戶端設備用戶id和傳輸密碼。安全可信客戶端系統(tǒng)產生偽隨機數混合對于當前系統(tǒng)硬件測量的數據,如flash讀寫性能的漂移,麥克風的聲音底噪等數據為種子產生安全可信客戶端設備用戶id;安全可信客戶端系統(tǒng)使用前述同樣的方法產生傳輸密碼。
如圖5所示,用戶終端產生安全可信客戶端注冊消息,安全可信客戶端使用傳輸密碼加密安全可信客戶端設備用戶id,使用預置的安全服務端加密公鑰加密傳輸密碼;使用傳輸密鑰加密安全可信客戶端隨機數rc;安全可信客戶端注冊消息體包括安全可信客戶端設備用戶id密文、安全可信客戶端隨機數rc密文、傳輸密鑰密文、第二密鑰和用戶允許的客戶端信息。用戶允許的客戶端信息包括時間戳、設備型號、硬件信息、操作系統(tǒng)軟件描述信息。安全可信客戶端注冊消息使用第一密鑰對安全可信客戶端注冊消息體簽名;將包括安全可信客戶端注冊消息體及其簽名組的安全可信客戶端注冊消息發(fā)送給安全服務端;安全可信客戶端可以通過串口通信、光纖接口通信,以太網網口、wifi,2g/3g/4g/5g移動通信接口、usb或藍牙接口發(fā)送安全可信客戶端注冊消息。
如圖5所示,安全服務端收到安全可信客戶端注冊消息后使用消息中對應的第二密鑰驗證消息體簽名。安全服務端使用與安全服務端加密公鑰對應的私鑰解密傳輸密鑰密文,使用傳輸密鑰解密安全可信客戶端設備用戶id密文,上述驗證都通過的情況下,安全服務端系統(tǒng)為當前安全可信客戶端注冊消息對應的第二密鑰生成設備數據表項并分配服務密碼,包括安全可信客戶端設備用戶id,第二密鑰,服務密碼;可選的包括客戶端信息。安全服務端產生注冊確認消息;注冊確認消息包括安全可信客戶端隨機數rc散列值、安全服務端隨機數rs、動態(tài)握手碼的注冊確認消息體;使用安全服務端私鑰為注冊確認消息體產生簽名;將包括注冊確認消息體和簽名的注冊確認消息發(fā)送給安全可信客戶端。
如圖5所示,用戶終端的安全可信客戶端收到安全可信客戶端注冊確認消息,使用安全服務端公鑰驗證消息體簽名,驗證通過后,保存動態(tài)握手碼;所述動態(tài)握手碼在應用及賬戶授權綁定請求中用于驗證握手驗證,簡單ddos攻擊對于系統(tǒng)的計算負荷。
其次,介紹用戶終端中向安全服務端發(fā)送應用客戶端綁定消息,并根據設備安全注冊關系建立應用客戶端與設備安全綁定關系。如圖6所示,用戶終端中向安全服務端發(fā)送應用客戶端綁定消息,并根據設備安全注冊關系建立應用客戶端與設備安全綁定關系包括:用戶終端發(fā)送應用客戶端綁定消息;安全服務端接收應用客戶端綁定消息并檢查,將檢查結果向用戶終端發(fā)送應用客戶端綁定確認消息;用戶終端收到應用客戶端綁定確認消息后生成綁定碼。
具體地,如圖7所示,安全可信客戶端發(fā)起應用客戶端綁定消息;實用中所述應用客戶端特征包括:應用客戶端程序包名稱、應用客戶端版本號、操作系統(tǒng)版本、程序包散列值、程序包版本、程序包大小、應用客戶端與運行操作系統(tǒng)軟硬件之間產生特征信息,如通過系統(tǒng)調用獲得的本地程序絕對訪問路徑等;所述應用客戶端綁定消息包括應用客戶端特征,當前時間戳為應用客戶端綁定消息體,使用第一密鑰計算應用客戶端綁定消息體簽名;將包括應用客戶端綁定消息體及其簽名的應用客戶端綁定消息發(fā)送至安全服務端。如圖7所示,安全服務端首先根據應用客戶端綁定消息中的應用客戶端程序名稱、應用客戶端版本號和當前操作系統(tǒng)版本檢查對應的應用客戶端是否是簽約的程序,再檢查程序包散列值是否與對應操作系統(tǒng)和程序版本號的簽約庫軟件信息是否一致,在檢查通過的情況下,發(fā)送應用客戶端綁定確認消息給安全可信客戶端。應用客戶端綁定確認消息包括消息體和消息體簽名,其中應用客戶端綁定確認消息包括簽約的應用客戶端程序包名稱、應用客戶端版本號、操作系統(tǒng)版本、程序包散列值、程序包版本、程序包大小、應用服務端加密公鑰、應用服務端驗證簽名公鑰、注冊確認時間戳、本地程序包訪問絕對路徑;使用安全服務端私鑰為應用客戶端綁定消息的消息體簽名。
如圖7所示,用戶終端中安全可信客戶端收到應用客戶端綁定確認消息,使用預置的安全服務端公鑰驗證應用客戶端綁定確認消息的簽名,驗證通過后,將消息中發(fā)送的所有信息保存包用戶終端本地。
如圖7所示,安全可信客戶端與應用客戶端產生共享密鑰,在實施中可以使用diffie-hellman密鑰協商或者rsa傳遞產生共享密鑰。使用rsa傳遞密鑰時,安全可信客戶端將第二密鑰發(fā)送給應用客戶端,應用客戶端將產生的共享密鑰使用第二密鑰加密發(fā)送給安全可信客戶端,安全可信客戶但使用第一密鑰解密記得共享密鑰。
如圖7所示,應用客戶端和安全可信客戶端基于共享密碼為種子,使用同樣的算法產生綁定碼;后續(xù)的所有應用客戶端與安全可信客戶端之間的應用間通信為使用綁定碼為加密密鑰的通的通信機制。
如圖7所示,應用客戶端產生綁定驗證消息,綁定驗證消息包括應用客戶端特征,實用中所述應用客戶端特征包括:應用客戶端程序包名稱、應用客戶端版本號、操作系統(tǒng)版本、程序包散列值、程序包版本、程序包大小、本地程序包訪問絕對路徑以及應用客戶端與運行操作系統(tǒng)軟硬件之間產生特征信息;將綁定驗證消息使用綁定碼加密的通信機制發(fā)送給安全可信客戶端。
如圖7所示,安全可信客戶端使用綁定碼解密綁定驗證消息,將得到的信息與客戶端綁定證實消息中發(fā)送的對應信息比較,包括對于應用特征值包括的應用客戶端程序包名稱、應用客戶端版本號、操作系統(tǒng)版本、程序包散列值、程序包版本、程序包大小的比較產生應用客戶端綁定結果;在以上都比較通過的情況下判定為應用客戶端綁定通過,否則產生綁定失敗的結果將結果包括在應用客戶端綁定完成消息中發(fā)送給安全服務端;在綁定通過的結果情況下綁定證實消息中包括第二密鑰和安全可信客戶端設備用戶id;應用客戶端收到綁定證實消息后,使用綁定碼解密后將第二密鑰和安全可信客戶端設備用戶id保存。
如圖7所示,安全可信客戶端產生應用客戶端綁定完成消息,應用客戶端綁定完成消息包括應用客戶綁定結果,安全可信客戶端設備用戶id和使用第一密鑰對消息的簽名;安全服務端收到應用客戶端綁定完成消息,使用安全可信客戶端設備用戶id查找對應的第二密鑰驗證消息簽名,在驗證通過的情況下,判斷收到應用客戶端綁定通過的結果情況下,將應用客戶端特征添加到設備數據表項中完成應用客戶端綁定;其中應用客戶端特征是基于應用客戶端信息中任意組合而得,應用客戶端信息包括客戶端程序包名稱、應用客戶端版本號、操作系統(tǒng)版本、程序包散列值、程序包版本、程序包大小、應用客戶端程序訪問絕對路徑等等。
再次,介紹用戶終端向安全服務端發(fā)送應用及賬戶授權綁定請求消息,建立應用賬戶可信訪問路徑驗證關系。
如圖8所示,用戶終端向安全服務端發(fā)送應用及賬戶授權綁定請求消息,建立應用賬戶可信訪問路徑驗證關系包括:用戶終端向應用服務端發(fā)送賬戶授權請求消息;應用服務端向安全服務端轉發(fā)賬戶授權請求消息;安全服務端驗證賬戶授權請求消息,生成授權碼消息發(fā)送至應用服務端;應用服務端根據用戶在用戶協議中的聯系方式使用獨立通道發(fā)送授權碼密文;用戶終端根據授權碼密文和賬戶主人的生物識別特征值生成應用及賬戶授權綁定請求消息;安全服務端驗證應用及賬戶授權綁定請求消息后,并生成應用及賬戶授權確認消息發(fā)送至用戶終端;安全服務端向應用服務端發(fā)送授權完成消息;應用服務端設置安全服務端驗證標識。
如圖9所示,具體地,用戶終端產生并向應用服務端發(fā)送的賬戶授權請求消息包括安全可信客戶端設備用戶id,授權請求識別碼、應用客戶端特征、應用服務商接入信息、賬戶名和應用服務類型。應用服務類型是指對應的互聯網服務指應用層協議服務。例如:郵件、http、ftp等ietf標準定義的服務,也可以是互聯服務上提供某一個服務,例如:微信。應用服務上接入信息可以是域名、url、ip地址或者是對應于最終互聯網服務端的代替信息,例如:短鏈接等。應用客戶端登陸應用賬戶,用戶在應用客戶端選擇開啟安全可信用戶終端授權;在實施中,發(fā)起授權應用及賬戶流程也可以從應用客戶端,或者安全可信客戶端發(fā)起,較優(yōu)的使用從登陸應用賬戶的應用客戶端發(fā)起。
如圖9所示,應用服務端檢查和轉發(fā)賬戶授權請求消息給安全服務端;應用服務端檢查消息中發(fā)送的應用客戶端特征、應用服務商接入信息、賬戶名和應用服務類型是否為應用服務商允許的信息,在檢查時允許的情況下發(fā)送賬戶授權請求消息給安全服務端。
如圖9所示,安全服務端收到賬戶授權請求消息,檢查安全可信客戶端設備用戶id對應的設備數據表項中包括要求授權的應用客戶端特征,是已經與安全可信客戶端綁定的應用客戶端,如不是已綁定應用客戶端,則停止后續(xù)流程,中斷授權過程;如果是已經綁定的應用客戶端,安全服務端為這次授權請求分配授權碼明文,將給予授權碼明文產生的授權碼消息發(fā)送給應用服務端。具體地,使用安全可信客戶端設備用戶id對應的服務密鑰,安全服務端產生的授權碼明文,使用服務密碼加密授權碼得到授權碼密文;安全服務端將包括授權碼密文和授權請求識別碼的授權碼消息發(fā)送給應用服務端。
如圖9所示,應用服務端收到授權碼消息,通過應用賬戶對應的授權碼發(fā)送獨立通道發(fā)送授權碼密文信息到用戶終端,如通過短信、彩信、郵件、qq、電話語音、視頻或者微信等方法。
如圖9所示,用戶終端收到獨立通道發(fā)送的授權碼密文后,將授權碼密文輸入應用客戶端;在實施中也可以輸入授權碼密文信息到安全可信客戶端ui,但是為了一致性,便于用戶理解和連貫操作,較優(yōu)的使用輸入授權碼密文信息到應用客戶端;在實施中,應用客戶端和安全可信客戶端可以是一個集成的客戶端,在這種情況下,系統(tǒng)會自動的綁定,授權碼碼密文信息直接輸入給應用客戶端。
如圖9所示,應用客戶端收到授權碼密文信息后,產生授權碼和應用賬戶消息通過與安全可信客戶端之間的加密通信發(fā)送給安全可信客戶端,授權碼和應用賬戶消息包括授權碼密文、應用賬戶名、應用服務類型、應用客戶端特征;安全可信客戶端得到授權碼密文。
如圖9所示,安全可信客戶端收到授權碼和應用賬戶消息后,開啟用戶輸入生物識別特征值,生物識別特征值可以包括但不限于是基于語音輸入的聲紋特征值,可以是基于面部識別的面部特征值,也可以是基于指紋輸入的指紋特征值。
如圖9所示,安全可信客戶端產生應用及賬戶授權綁定請求消息,應用及賬戶授權綁定請求消息包括安全可信客戶端設備用戶id、應用客戶端特征,授權碼密文、生物識別特征值、動態(tài)握手碼、應用服務類型;使用安全可信客戶端第一密鑰對應用及賬戶授權綁定請求消息體簽名,將包括應用及賬戶授權綁定請求消息體及其簽名的應用及賬戶授權綁定請求消息發(fā)送到安全服務端。
如圖9所示,安全服務端使用安全可信客戶端設備用戶id對應的第二密鑰驗證應用及賬戶授權綁定請求消息的簽名,驗證通過后,驗證消息包括的應用客戶端特征是否為已經綁定的應用客戶端特征,如果驗證通過,使用安全可信客戶端設備用戶id對應的服務密鑰解密授權碼密文,對照授權碼明文和安全服務端本地分配給這次授權請求的的授權碼是否一致,如果一致則判定應用及賬戶綁定請求通過授權;安全服務端將授權碼對應授權請求的賬戶信息,應用服務類型,生物識別特征值添加到安全可信客戶端設備用戶id對應的設備數據表項中,此設備數據表項中的數據作為應用及賬戶安全可信訪問路徑驗證關系為后續(xù)的應用賬戶登陸提供驗證服務。
如圖9所示,安全服務端產生應用及賬戶授權確認消息,包括應用客戶端特征、應用服務商接入地址、應用服務類型、連接安全類型、賬戶名、安全可信客戶端設備用戶id、新的動態(tài)握手碼,使用安全服務端私鑰為應用及賬戶授權確認消息產生消息體簽名,將包括應用及賬戶授權確認消息體及其簽名信息的應用及賬戶授權確認消息發(fā)送給用戶終端端的安全可信客戶端;安全連接類型指應用客戶端建立的與應用服務端之間的登陸驗證使用安全鏈路連接驗證方式和非安全鏈路連接驗證方式,是運營者根據網絡環(huán)境判斷預設的網絡參數;安全鏈路連接方式是運營者認為網絡環(huán)境足夠安全,所以可以使用較低的安全驗證成本就能滿足賬戶驗證安全度;非安全鏈路連接方式是運營者認為網絡環(huán)境不夠安全,所以必須使用更高的的安全驗證成本才能滿足賬戶驗證安全度。
如圖9所示,用戶終端中安全可信客戶端收到應用及賬戶授權確認消息,使用安全服務端公鑰驗證消息簽名,驗證通過后安全存儲攜帶的信息用于以后的賬戶登陸,如消息簽名驗證失敗則不存儲。
如圖9所示,安全服務端發(fā)送授權完成消息給應用服務端,消息中包括授權請求識別碼、應用服務類型、應用賬戶名;應用服務端將應用賬戶名及其應用服務類型標記使能安全服務端驗證,開啟該標志后,所有訪問需要安全服務端驗證后根據驗證結果提供服務;通過應用及賬戶授權后,開啟安全服務端驗證的賬戶即使在密碼被盜的情況,黑客或者偷盜者不能在其他的未授權環(huán)境登陸用戶賬戶或者獲取服務;用戶還可以方便的使用生物識別特征值驗證的方法登陸用戶,如使用語音,面部識別,指紋等等。
如圖10所示,用戶終端向應用服務端發(fā)送登陸請求消息之前還包括:基于應用客戶端收到的登陸連接建立消息中的安全連接類型,建立連接的應用接入地址與應用服務端建立連接;應用客戶端產生發(fā)起登陸消息,所述發(fā)起登陸包括應用服務類型、應用賬戶名、應用客戶端特征;調用安全可信客戶端應用軟件接口,與安全可信客戶端通過綁定碼加密通信發(fā)送發(fā)起登陸消息,安全可信客戶端檢查請求來源是否為已經綁定的本地程序相關的進程,查找對應于該綁定應用的綁定碼,解密得到發(fā)起登陸的應用服務類型,應用賬戶,應用客戶端特征;安全可信客戶端檢查應用客戶端,應用服務類型,應用賬戶名是已經授權的情況下,產生對應應用的登陸連接建立消息和后續(xù)的登陸請求消息。
如圖10所示,安全可信客戶端發(fā)送登陸連接建立消息給應用客戶端,登陸連接建立消息包括建立連接的應用接入地址,安全連接類型;安全可信客戶端使用應用間加密通信將登陸連接建立消息發(fā)送給應用客戶端;安全連接類型指用戶配置的參數用于指明在登陸賬戶驗證的過程中使用安全鏈路連接類型對應的方法驗證還是使用非安全鏈路連接類型對應的方法驗證;對應于不同的安全連接類型安全可信客戶端會產生對應的登陸請求消息;實施中建立的鏈路連接可以是tcp、udp、sctp,也可以包括ssl/tls的連接,如https、ftps、ssh,也包括ipsecvpn技術的加密通道等,還包括在鏈路連接的建立過程中是否采用有效的手段驗證應用服務端是否為官方的應用服務端,是否存在中間人攻擊。
如圖10所示,安全連接類型配置為非安全鏈路連接時,虛線部分為特有的對應于非安全鏈路連接類型時的方法,用戶終端在建立的連接會話中向應用服務端發(fā)送登陸請求消息之前還包括:用戶終端向應用服務端發(fā)送攜帶傳輸密鑰的會話上行消息,會話傳輸密鑰使用應用服務端加密公鑰加密后攜帶;應用服務端收到會話上行消息后,為當前會話分配和綁定會話識別id,使用應用服務端解密私鑰解密得到會話傳輸密鑰;應用服務端使用會話傳輸密鑰加密會話識別id后攜帶在會話下行消息中發(fā)送到用戶終端。具體的,安全可信客戶端產生會話傳輸密鑰,使用應用服務端加密公鑰加密后攜帶在會話上行消息中發(fā)送到應用客戶端,應用客戶端在當前連接會話中將會話上行消息轉發(fā)到應用服務端;應用服務端將攜帶加密會話識別id的會話下行消息發(fā)送到應用客戶端,應用客戶端將會話下行消息轉發(fā)到安全可信客戶端,安全可信客戶端使用會話傳輸密鑰解密會話識別id密文得到會話識別id明文,安全可信客戶端基于此會話識別id產生與連接唯一識別的登陸請求消息。
如圖10所示,對應于非安全鏈路連接的登陸請求消息包括登陸請求消息主消息體、會話簽名、消息體簽名;其中登陸請求消息主消息體包括:非安全鏈路連接類型、應用客戶端特征,應用賬戶名、應用服務類型、安全可信客戶端設備用戶id、生物識別特征值,和動態(tài)握手碼;會話簽名的產生方式是使用登陸請求消息主消息體和會話識別id為計算信息序列,使用第一密鑰產生的簽名;登陸請求消息消息體簽名是使用由登陸請求消息主消息體和會話簽名組成的信息為計算對象使用第一密鑰產生的消息體簽名。
如圖10所示,在運營者將與該應用服務端的安全連接類型配置為安全鏈路連接時,用戶終端在連接建立后,產生并發(fā)送對應于安全鏈路連接類型的登陸請求消息;具體的,對應于安全鏈路連接的登陸請求消息包括登陸請求消息主消息體和消息體簽名;其中登陸請求消息主消息體包括:安全鏈路連接類型、應用客戶端特征,應用賬戶名、應用服務類型、安全可信客戶端設備用戶id、生物識別特征值,和動態(tài)握手碼;使用第一密鑰為登陸請求消息主消息體計算消息體簽名。
如圖10所示,應用服務端收到登陸請求消息后,基于消息中包括的安全連接類型處理和產生登陸請求驗證消息;具體的說當登陸請求消息中包括安全鏈路連接類型時,應用服務端將收到的登陸請求消息直接作為登陸請求驗證消息發(fā)送給安全服務端;當登陸請求消息中包括非安全鏈路類型時,應用服務端將當前會話對應的會話識別id明文附加到收到登陸請求消息中從而產生登陸請求驗證消息發(fā)送給安全服務端。
如圖10、圖11所示,安全服務端根據設備安全注冊關系、應用賬戶可信訪問路徑驗證關系對登陸請求驗證消息驗證,并向應用服務端發(fā)送應用可信訪問認證結果包括:安全服務端收到登陸請求驗證消息,根據消息中安全可信客戶端設備用戶id查找動態(tài)握手碼與登陸請求驗證消息中包括的動態(tài)握手碼比較,如果一致則繼續(xù)驗證消息簽名,否則回復應用服務端拒絕登陸,并產生賬戶攻擊報告;使用對應的第二密鑰驗證登陸請求驗證消息中包括的消息體簽名,如果簽名驗證通過,則繼續(xù)驗證會話簽名;判斷登陸請求驗證消息中包括的安全連接類型決定是否包括驗證會話簽名;當包括非安全鏈路連接時驗證會話簽名,驗證會話簽名的方方法是使用包括登陸驗證消息的消息體和附加的會話識別id組合的消息序列為計算對象使用第二密鑰驗證登陸請求驗證消息中包括的會話簽名是否正確,如果一致則認為該登陸憑證是與當前應用服務端申請的會話對應的登陸憑證,則繼續(xù)后續(xù)流程,否則結束;當判斷為安全鏈路連接類型時,不需要驗證會話簽名;下一步是授權判定,檢查登陸請求驗證消息中包括的應用賬戶名,應用客戶端特征,應用服務類型,生物識別特征值與安全可信客戶端設備用戶id對應的在安全服務端的設備數據表項中是否有對應的授權;如有,則判斷登陸被允許,否則判斷登陸被拒絕;將判斷的應用賬戶可信訪問認證結果攜帶在登陸驗證結果消息發(fā)送給應用服務端。應用服務端收到登陸驗證結果消息,檢查應用賬戶名和應用服務類型的有效性,基于判讀結果為會話識別id對應的會話提供后續(xù)的服務或拒絕登陸。
如圖10所示,安全服務端向安全可信客戶端發(fā)送動態(tài)握手碼更新消息,消息中包括新的動態(tài)握手碼和安全服務端私鑰對消息體的簽名;安全可信客戶端收到動態(tài)握手碼更新消息,使用安全服務端公鑰驗證簽名是來自安全服務端,驗證通過后安全存儲動態(tài)握手碼。
如圖11所示,登陸請求消息使用對應的第二密鑰驗證登陸驗證請求消息中包括的消息簽名,如果簽名驗證通過;此驗證用于證明發(fā)起連接的用戶終端是否為授權應用及賬戶綁定的客戶端設備,比較應用客戶端特征判斷發(fā)起登陸的應用客戶端是否為授權綁定的應用客戶端;驗證會話簽名中使用的是有加密傳輸的會話識別id,由于會話簽名的驗證需要應用服務端對于收到登陸請求消息附加正確的會話識別id才能實現驗證,從而實現了會話連接的直接相關和識別,并且登陸驗證請求消息只能由應用服務端產生,所以從而實現了登陸驗證請求消息只與當前會話連接相關,從而實現防重放,單次有效,中間人攻擊的技術。
為進一步體現本發(fā)明實施例提供的可信訪問認證處理方法,的優(yōu)越性,本發(fā)明實施例還提供一種應用上述方法的可信訪問用戶終端,如圖12所示,該用戶終端包括:設備注冊單元,用于終端向安全服務端發(fā)送安全可信客戶端注冊消息建立設備安全注冊關系;設備綁定單元,用于向安全服務端發(fā)送應用客戶端綁定消息,并根據設備安全注冊關系建立客戶端與設備安全綁定關系;應用注冊單元,用于向安全服務端發(fā)送應用及賬戶授權綁定請求消息,安全服務端根據應用客戶端與設備安全綁定關系建立應用賬戶可信訪問路徑驗證關系;會話請求單元,用于用戶終端發(fā)送傳輸密鑰,應用服務端加密安全傳輸對應于會話的會話識別id的單元;登陸請求單元,用于向應用服務端發(fā)送登陸請求消息,應用服務端處理后并向安全服務端發(fā)送登陸請求驗證消息;安全服務端根據設備安全注冊關系、應用賬戶可信訪問路徑驗證關系對登陸請求驗證消息驗證,并向應用服務端發(fā)送應用賬戶可信訪問認證結果;應用可信訪問認證結果是安全服務端根據設備安全注冊關系、應用賬戶可信訪問路徑驗證關系對登陸請求消息驗證得到的。下面對本發(fā)明實施例和提供的可信訪問認證用戶終端展開詳細的說明。本發(fā)明實施例提供的可信訪問用戶終端的工作原理和過程與上述的可信訪問認證處理方法類似,可以參照上述的可信訪問認證處理方法,再次不再一一贅述了。
如圖13所示,設備注冊單元包括:安全可信客戶端注冊消息發(fā)送單元,用于向安全服務端發(fā)送安全可信客戶端注冊消息;安全服務端驗證安全可信客戶端注冊消息;安全服務端為驗證通過的安全可信客戶端注冊消息生成設備數據表項并向用戶終端反饋安全可信客戶端注冊確認消息。具體的說,用戶終端產生第一密鑰和與之對應的第二密鑰。如產生公鑰密碼方式的私鑰和公鑰;產生密鑰的方法可以是通過如tpm模塊產生,或者是通過安全可信客戶端軟件模擬的單元產生。用戶終端的安全可信客戶端使用第一密鑰和對應的第二密鑰,通過安全可信客戶端由設備注冊管理模塊發(fā)起注冊;安全可信客戶端系統(tǒng)自動產生安全可信客戶端設備用戶id和傳輸密碼。安全可信客戶端系統(tǒng)產生偽隨機數混合對于當前系統(tǒng)硬件數據為種子產生安全可信客戶端設備用戶id;安全可信客戶端系統(tǒng)使用隨機數為種子的方法產生傳輸密碼。如圖5所示,安全可信客戶端使用傳輸密碼加密安全可信客戶端設備用戶id,使用預置的安全服務端加密公鑰加密傳輸密碼;使用傳輸密鑰加密安全可信客戶端隨機數rc;安全可信客戶端注冊消息體包括安全可信客戶端設備用戶id密文,安全可信客戶端隨機數rc密文,傳輸密鑰密文,第二密鑰和用戶允許的客戶端信息包括時間戳、設備型號、硬件信息、操作系統(tǒng)軟件描述信息;使用第一密鑰對安全可信客戶端注冊消息體計算簽名;將包括安全可信客戶端注冊消息體及其簽名組成的安全可信客戶端注冊消息發(fā)送給安全服務端;安全可信客戶端可以通過串口通信、光纖接口通信、以太網網口、wifi、2g/3g/4g/5g移動通信接口、usb、藍牙接口發(fā)送安全可信客戶端注冊消息。如圖5所示,安全服務端收到安全可信客戶端注冊消息,使用消息中對應的第二密鑰驗證消息體簽名;安全服務端使用與安全服務端加密公鑰對應的私鑰解密傳輸密鑰密文,使用傳輸密鑰解密安全可信客戶端設備用戶id密文,上述驗證都通過的情況下,安全服務端系統(tǒng)為當前安全可信客戶端注冊消息對應的第二密鑰生成設備數據表項,設備數據表包括安全可信客戶端設備用戶id、第二密鑰、客戶端信息、服務密碼。安全服務端產生注冊確認消息。注冊確認消息包括安全可信客戶端隨機數rc散列值、安全服務端隨機數rs、動態(tài)握手碼的注冊確認消息體;使用安全服務端私鑰為安全可信客戶端注冊確認消息體產生簽名。安全服務端將包括注冊確認消息體和簽名的注冊確認消息發(fā)送給安全可信客戶端。用戶終端設備使用預置的安全服務端公鑰驗證安全可信客戶端注冊確認消息的簽名。
如圖14所示,設備綁定單元,包括:綁定消息發(fā)送單元,用于向安全服務端發(fā)送應用客戶端綁定消息;綁定碼生成單元,用于與應用客戶端協商對稱密鑰并產生基于此對稱密鑰產生的綁定碼;綁定完成消息發(fā)送單元,用于向安全服務端發(fā)送應用客戶端綁定完成消息;應用客戶端綁定確認消息是應用服務端接收應用客戶端綁定消息并檢查后發(fā)送的。安全可信客戶端發(fā)起應用客戶端綁定消息,包括應用客戶端特征,所述應用客戶端特征包括應用客戶端程序名稱、應用客戶端版本、操作系統(tǒng)版本,程序大小、程序文件的散列值、本地程序絕對訪問路徑。當前時間戳為應用客戶端綁定消息體,使用第一密鑰計算應用客戶端綁定消息體簽名;將包括應用客戶端綁定消息體及其簽名的應用客戶端綁定消息發(fā)送至安全服務端。安全服務端首先檢查應用客戶端程序包是否是簽約的程序,基于客戶端程序名稱、應用客戶端版本、操作系統(tǒng)版本,檢查對應程序包大小、程序散列值是否與對應操作系統(tǒng)和程序版本號的簽約庫軟件信息是否一致,在檢查通過的情況下,發(fā)送應用客戶端綁定確認消息給安全可信客戶端。應用客戶端綁定確認消息包括消息體和消息體簽名,其中應用客戶端綁定確認消息包括簽約的應用客戶端程序包名稱、應用客戶端版本、操作系統(tǒng)版本、程序包散列值、程序包大小、應用服務端加密公鑰,應用服務端驗證簽名公鑰、注冊確認時間戳、本地程序包訪問絕對路徑、應用服務端接入地址、安全連接類型;使用安全服務端私鑰為應用客戶端綁定確認消息的消息體簽名;用戶終端中安全可信客戶端收到應用客戶端綁定確認消息后,使用預置的安全服務端公鑰驗證消息簽名,驗證通過后將應用客戶端綁定確認消息中攜帶的信息本地安全保存用于后續(xù)的登陸連接和驗證。通過對應用客戶端軟件的驗證和綁定,防止惡意軟件偽裝實施客戶端攻擊。
如圖15所示,應用注冊單元包括:授權請求消息發(fā)送單元,用于向應用服務端發(fā)送賬戶授權請求消息,安全服務端檢查及賬戶授權請求消息后生成授權碼消息發(fā)送至應用服務端并向用戶終端發(fā)送;授權綁定請求消息發(fā)送單元,用于根據應用客戶端發(fā)送的授權碼和應用賬戶消息生成應用及賬戶授權綁定請求消息并發(fā)送;安全服務端驗證應用及賬戶授權綁定請求消息;授權確認消息接收單元,用于接收安全服務端發(fā)送的應用及賬戶授權確認消息,應用及賬戶授權確認消息是安全服務端驗證應用及賬戶授權綁定請求消息后生成的,安全服務端向應用服務端發(fā)送授權完成消息,應用服務端設置開啟安全服務端驗證標志。
通過應用及賬戶授權后,開啟安全服務端驗證的賬戶即使在密碼被盜的情況,黑客或者偷盜者不能在其他的未授權環(huán)境登陸用戶賬戶或者獲取服務;同時由于授權了生物識別特征,這樣在授權的設備上只有賬戶主人才能安全方便的登陸賬戶。
如圖16所示,在本發(fā)明的一個實施例中用戶終端該包括通信建立單元,包括:會話請求單元產生并向應用服務端發(fā)送會話上行消息,使用應用服務端公鑰加密傳輸密鑰生成;會話下行消息接收單元,用于接收應用服務端發(fā)送的會話下行消息;會話下行消息是應用服務端在收到會話上行消息后,使用會話傳輸密鑰加密會話識別id后產生的。用戶終端向應用服務端發(fā)送登陸請求消息之前還包括:向應用服務端發(fā)送建立連接消息,建立連接消息包括:建立連接的應用接入地址,安全連接類型。應用客戶端發(fā)起應用訪問,調用安全可信客戶端應用軟件接口發(fā)送發(fā)起登陸消息,查找對應于該綁定應用的綁定碼,解密收到的發(fā)起登陸消息,安全可信客戶端檢查請求來源是否為已經綁定的本地程序相關的進程,檢查要求登陸的服務類型和賬戶是否已經授權到用戶終端,檢查通過后,安全可信客戶端產生對應應用賬戶的登陸連接建立消息。安全可信客戶端發(fā)送登陸連接建立消息給應用客戶端,登陸連接建立消息包括建立連接的應用接入地址,安全連接類型;安全可信客戶端使用應用間加密通信將登陸連接建立消息發(fā)送給應用客戶端;安全連接類型指用戶配置的參數用于指明在登陸賬戶驗證的過程中使用安全鏈路連接類型對應的方法驗證還是使用非安全鏈路連接類型對應的方法驗證;對應于不同的安全連接類型安全可信客戶端會產生對應的登陸請求消息;實施中建立的鏈路連接可以是tcp,udp,sctp,也可以包括ssl/tls的連接,如https、ftps、ssh,也包括ipsecvpn技術的加密通道等,還包括在鏈路連接的建立過程中是否采用有效的手段驗證應用服務端是否為官方的應用服務端。應用客戶端使用應用間密鑰解密登陸連接建立消息,檢查接入地址與本程序合法的接入地址一致后發(fā)起建立新的連接過程。安全連接類型配置為非安全鏈路連接時,虛線部分為特有的對應于非安全鏈路連接類型時的方法,用戶終端在建立的連接會話中向應用服務端發(fā)送登陸請求消息之前還包括:用戶終端向應用服務端發(fā)送攜帶傳輸密鑰的會話上行消息,會話傳輸密鑰使用應用服務端加密公鑰加密后攜帶;應用服務端收到會話上行消息后,為當前會話分配和綁定會話識別id,使用應用服務端解密私鑰解密得到會話傳輸密鑰;應用服務端使用會話傳輸密鑰加密會話識別id后攜帶在會話下行消息中發(fā)送到用戶終端。具體的,安全可信客戶端產生會話傳輸密鑰,使用應用服務端加密公鑰加密后攜帶在會話上行消息中發(fā)送到應用客戶端,應用客戶端在當前連接會話中將會話上行消息轉發(fā)到應用服務端;應用服務端將攜帶加密會話識別id的會話下行消息發(fā)送到應用客戶端,應用客戶端將會話下行消息轉發(fā)到安全可信客戶端,安全可信客戶端使用會話傳輸密鑰解密會話識別id密文得到會話識別id明文,安全可信客戶端基于此會話識別id產生與連接唯一識別的登陸請求消息。
為進一步體現本發(fā)明實施例提供的可信訪問認證處理方法,的優(yōu)越性,本發(fā)明實施例還提供一種應用上述方法的一種安全服務端,如圖17所示,該可信訪問服務端包括:設備注冊建立單元,用于接收用戶終端發(fā)送的安全可信客戶端注冊消息并建立設備安全注冊關系;設備綁定建立單元,用于接收用戶終端中發(fā)送的應用客戶端綁定消息,并根據設備安全注冊關系建立應用客戶端與設備安全綁定關系;應用注冊建立單元,用于接收用戶終端發(fā)送的應用及賬戶授權綁定請求消息,并根據客戶端與設備安全綁定關系建立應用賬戶可信訪問路徑驗證關系;登陸認證單元,用于根據設備安全注冊關系、應用賬戶可信訪問路徑驗證關系對登陸請求消息驗證,并向應用服務端發(fā)送應用可信訪問認證結果;登陸請求驗證消息是應用服務端處理登陸請求并向安全服務端發(fā)送的;登陸請求消息是用戶終端向應用服務端發(fā)送的;應用服務端根據應用可信訪問認證結果響應用戶終端的登陸請求消息。下面對本發(fā)明實施例和提供的可信訪問認證用戶終端展開詳細的說明。本發(fā)明實施例提供的安全服務端的工作原理和過程與上述的可信訪問認證處理方法類似,可以參照上述的可信訪問認證處理方法,再次不再一一贅述了。
如圖17所示,設備注冊建立單元包括;安全可信客戶端注冊消息驗證單元,用于驗證安全可信客戶端注冊消息;安全可信客戶端注冊消息是用戶終端向安全服務端發(fā)送的;設備注冊反饋單元,用于為驗證通過的安全可信客戶端注冊消息生成設備數據表項并向用戶終端反饋安全可信客戶端注冊確認消息。用戶終端產生第一密鑰和與之對應的第二密鑰。如產生公鑰密碼方式的私鑰和公鑰;產生密鑰的方法可以是通過如tpm模塊產生,或者是通過安全可信客戶端軟件模擬的單元產生。用戶終端的安全可信客戶端使用第一密鑰和對應的第二密鑰,通過安全可信客戶端由設備注冊管理模塊發(fā)起注冊;安全可信客戶端注冊消息包括安全可信客戶端設備用戶id密文、傳輸密碼密文、安全可信客戶端隨機數rc密文、第二密鑰、用戶允許的客戶端信息和使用第一密鑰對安全可信客戶端注冊消息體的簽名;安全可信客戶端使用傳輸密碼加密安全可信客戶端設備用戶id,使用預置的安全服務端加密公鑰加密傳輸密碼;用戶允許的客戶端信息包括時間戳、設備型號、硬件信息、操作系統(tǒng)軟件描述信息;將包括安全可信客戶端注冊消息體及其簽名組的安全可信客戶端注冊消息發(fā)送給安全服務端;安全可信客戶端可以通過串口通信、光纖接口通信、以太網網口,wifi、2g/3g/4g/5g移動通信接口、usb、藍牙接口發(fā)送安全可信客戶端注冊消息。安全服務端收到安全可信客戶端注冊消息,使用消息中對應的第二密鑰驗證消息體簽名;安全服務端使用與安全服務端加密公鑰對應的私鑰解密傳輸密鑰密文,使用傳輸密鑰解密安全可信客戶端設備用戶id密文,上述驗證都通過的情況下,安全服務端系統(tǒng)為當前安全可信客戶端注冊消息對應的第二密鑰生成設備數據表項,包括安全可信客戶端設備用戶id,第二密鑰,客戶端信息,服務密碼。安全服務端產生安全可信客戶端注冊確認消息,注冊確認消息包括安全可信客戶端隨機數rc散列值、安全服務端隨機數rs、動態(tài)握手碼;使用安全服務端私鑰為注冊確認消息體產生簽名;將包括注冊確認消息體和簽名的安全可信客戶端注冊確認消息發(fā)送給安全可信客戶端。
如圖18所示,設備綁定建立單元包括:應用客戶端綁定消息驗證單元,應用客戶端綁定消息并檢查,根據檢查結果向用戶終端發(fā)送應用客戶端綁定確認消息;應用客戶端綁定完成單元,用于接收客戶端綁定完成消息,在驗證通過的情況下,判斷收到應用客戶端綁定通過的結果情況下,將應用客戶端特征添加到設備數據表項中完成應用客戶端綁定;應用客戶端綁定消息是用戶終端發(fā)送的;用戶終端收到應用客戶端綁定確認消息后生成綁定碼。應用客戶端綁定完成消息接收單元,所述應用客戶端綁定完成消息進行驗證后,將應用客戶端特征添加到設備安全關系表象中完成應用客戶端綁定。安全可信客戶端發(fā)起應用應用客戶端綁定消息,安全服務端首先檢查應用客戶端程序包是否是簽約的程序,檢查程序包散列值是否與對應操作系統(tǒng)和程序版本號的簽約庫軟件信息是否一致,在檢查通過的情況下,發(fā)送應用客戶端綁定確認消息給安全可信客戶端。安全可信客戶端產生應用綁定碼,通過對應用客戶端軟件的驗證和綁定,防止惡意軟件偽裝實施客戶端攻擊。安全可信客戶端與應用客戶端產生共享密鑰,在實施中可以使用diffie-hellman密鑰協商或者rsa傳遞產生共享密鑰。使用rsa傳遞密鑰時,安全可信客戶端將第二密鑰發(fā)送給應用客戶端,應用客戶端將產生的共享密鑰使用第二密鑰加密發(fā)送給安全可信客戶端,安全可信客戶但使用第一密鑰解密記得共享密鑰。應用客戶端和安全可信客戶端基于共享密碼為種子,使用同樣的算法產生綁定碼;后續(xù)的所有應用客戶端與安全可信客戶端之間的應用間通信為使用綁定碼為加密密鑰的通的通信機制。應用客戶端產生綁定驗證消息,綁定驗證消息包括應用客戶端程序包名稱、應用客戶端版本號、操作系統(tǒng)版本、程序包散列值、程序包版本、程序包大小、本地程序包訪問絕對路徑;將綁定驗證消息使用綁定碼加密的通信機制發(fā)送給安全可信客戶端。安全可信客戶端使用綁定碼解密綁定驗證消息,將得到的信息與客戶端綁定證實消息中發(fā)送的對應信息比較,包括對于應用客戶端程序包名稱、應用客戶端版本號、操作系統(tǒng)版本、程序包散列值、程序包版本、程序包大小的比較產生應用客戶端綁定結果;在以上都比較通過的情況下判定為應用客戶端綁定通過,否則產生綁定失敗的結果將結果包括在應用客戶端綁定完成消息中發(fā)送給安全服務端;在綁定通過的結果情況下綁定證實消息中包括第二密鑰和安全可信客戶端設備用戶id;應用客戶端收到綁定證實消息后,使用綁定碼解密后將第二密鑰和安全可信客戶端設備用戶id保存。安全可信客戶端產生應用客戶端綁定完成消息,應用客戶端綁定完成消息包括應用客戶綁定結果,安全可信客戶端設備用戶id和使用第一密鑰對消息的簽名;安全服務端收到應用客戶端綁定完成消息,使用安全可信客戶端設備用戶id查找對應的第二密鑰驗證消息簽名,在驗證通過的情況下,判斷收到應用客戶端綁定通過的結果情況下,將應用客戶端特征添加到設備數據表項中完成應用客戶端綁定;其中應用客戶端特征基于以下信息中任意組合而得、客戶端程序包名稱、應用客戶端版本號、操作系統(tǒng)版本、程序包散列值、程序包版本、程序包大小、應用客戶端程序訪問絕對路徑。
如圖19所示、應用注冊建立單元包括:授權單元,用于接收并驗證賬戶授權請求消息,生成授權碼消息發(fā)送至應用服務端,賬戶授權請求消息是用戶終端設備發(fā)送的;授權碼驗證單元,用于驗證應用及賬戶授權綁定請求消息并生成應用及賬戶授權確認消息發(fā)送至用戶終端,應用及賬戶授權綁定請求消息是用戶終端發(fā)送的,還用于向應用服務端發(fā)送授權完成消息,應用服務端設置安全服務端驗證標識。具體地,用戶終端產生并向應用服務端發(fā)送賬戶授權綁定請求消息;賬戶授權綁定請求消息包括安全可信客戶端設備用戶id,授權請求識別碼、應用客戶端特征、應用服務商接入信息、賬戶名和應用服務類型。應用服務類型是指對應的互聯網服務指應用層協議服務。例如:郵件、http、ftp等ietf標準定義的服務,也可以是互聯服務上提供某一個服務,例如:微信。應用服務上接入信息可以是域名、url、ip地址或者是對應于最終互聯網服務端的代替信息,例如:短鏈接等。應用客戶端登陸應用賬戶,用戶在應用客戶端選擇開啟安全可信用戶終端授權;在實施中,發(fā)起授權應用及賬戶流程也可以從應用客戶端,或者安全可信客戶端發(fā)起,較優(yōu)的使用從登陸應用賬戶的應用客戶端發(fā)起。應用服務端檢查和轉發(fā)賬戶授權請求消息給安全服務端;應用服務端檢查消息中發(fā)送的應用客戶端特征、應用服務商接入信息、賬戶名和應用服務類型是否為應用服務商允許的信息,在檢查時允許的情況下發(fā)送賬戶授權請求消息給安全服務端。安全服務端收到應用及賬戶授權請求消息,檢查安全可信客戶端設備用戶id對應的設備數據表項中包括要求授權的應用客戶端特征,是已經與安全可信客戶端綁定的應用客戶端,如不是已綁定應用客戶端,則停止后續(xù)流程,中斷授權過程;如果是已經綁定的應用客戶端,安全服務端為這次授權請求分配授權碼明文,將給予授權碼明文產生的授權碼消息發(fā)送給應用服務端。具體地,使用安全可信客戶端設備用戶id對應的服務密鑰,安全服務端產生的授權碼明文,使用服務密碼加密授權碼得到授權碼密文;安全服務端將包括授權碼密文和授權請求識別碼的授權碼消息發(fā)送給應用服務端。應用服務端收到授權碼消息,通過應用賬戶對應的授權碼發(fā)送獨立通道發(fā)送授權碼密文信息到用戶終端,如通過短信、彩信、郵件、qq、電話語音、視頻或者微信等方法。用戶終端收到獨立通道發(fā)送的授權碼密文后,將授權碼密文輸入應用客戶端;在實施中也可以輸入授權碼密文信息到安全可信客戶端ui,但是為了一致性,便于用戶理解和連貫操作,較優(yōu)的使用輸入授權碼密文信息到應用客戶端;在實施中,應用客戶端和安全可信客戶端可以是一個集成的客戶端,在這種情況下,系統(tǒng)會自動的綁定,授權碼碼密文信息直接輸入給應用客戶端。應用客戶端收到授權碼密文信息后,產生授權碼和應用賬戶消息通過與安全可信客戶端之間的加密通信發(fā)送給安全可信客戶端,授權碼和應用賬戶消息包括授權碼密文,應用賬戶名,應用服務類型,應用客戶端特征;安全可信客戶端得到授權碼密文。安全可信客戶端收到授權碼和應用賬戶消息后,開啟用戶輸入生物識別特征值,生物識別特征值可以包括但不限于是基于語音輸入的聲紋特征值,可以是基于面部識別的面部特征值,也可以是基于指紋輸入的指紋特征值。安全可信客戶端產生應用及賬戶授權綁定請求消息,應用及賬戶授權綁定請求消息包括安全可信客戶端設備用戶id、應用客戶端特征、授權碼密文、生物識別特征值、動態(tài)握手碼;使用安全可信客戶端第一密鑰對應用及賬戶授權綁定請求消息體簽名,將包括應用及賬戶授權綁定請求消息體及其簽名的應用及賬戶授權綁定請求消息發(fā)送到安全服務端。安全服務端使用安全可信客戶端設備用戶id對應的第二密鑰驗證應用及賬戶授權綁定請求消息的簽名,驗證通過后,使用安全可信客戶端設備用戶id對應的服務密鑰解密授權碼密文,對照授權碼明文和安全服務端本地分配給這次授權請求的的授權碼是否一致,如果一致則判定應用及賬戶綁定請求通過授權;安全服務端將授權碼對應授權請求的賬戶信息,應用服務類型,生物識別特征值添加到安全可信客戶端設備用戶id對應的設備數據表項中,此設備數據表項中的數據作為應用及賬戶安全可信訪問路徑驗證關系為后續(xù)的應用賬戶登陸提供驗證服務。安全服務端產生應用及賬戶授權確認消息,包括應用客戶端特征、應用服務商接入地址、應用服務類型,連接安全類型,賬戶名、安全可信客戶端設備用戶id、新的動態(tài)握手碼,使用安全服務端私鑰為應用及賬戶授權確認消息產生消息體簽名,將包括應用及賬戶授權確認消息體及其簽名信息的應用及賬戶授權確認消息發(fā)送給安全可信客戶端;安全連接類型指應用客戶端建立的與應用服務端之間的登陸驗證使用安全鏈路連接驗證方式和非安全鏈路連接驗證方式,是運用這根據網絡環(huán)境判斷預設的網絡參數;安全鏈路連接方式是運營者認為網絡環(huán)境足夠安全,所以可以使用較低的安全驗證成本就能滿足賬戶驗證安全度;非安全鏈路連接方式是運營者認為網絡環(huán)境不夠安全,所以必須使用更高的的安全驗證成本才能滿足賬戶驗證安全度。用戶終端中安全可信客戶端收到應用及賬戶授權確認消息,使用安全服務端公鑰驗證消息簽名,驗證通過后安全存儲攜帶的信息用于以后的賬戶登陸,如消息簽名驗證失敗則不存儲。安全服務端發(fā)送授權完成消息給應用服務端,消息中包括授權請求識別碼、應用服務類型、應用賬戶名;應用服務端將應用賬戶名及其應用服務類型標記使能安全服務端驗證,開啟該標志后,所有訪問需要安全服務端驗證后根據驗證結果提供服務;通過應用及賬戶授權后,開啟安全服務端驗證的賬戶即使在密碼被盜的情況,黑客或者偷盜者不能在其他的未授權環(huán)境登陸用戶賬戶或者獲取服務;用戶還可以方便的使用生物識別特征值驗證的方法登陸用戶,如使用語音、面部識別、指紋等等。
如圖20所示,登陸認證單元用于對收到由應用服務端發(fā)送的登陸請求執(zhí)行判定并返回登陸驗證結果消息,具體的說,安全服務端根據設備安全注冊關系、應用賬戶可信訪問路徑驗證關系對登陸請求消息驗證,并向應用服務端發(fā)送應用可信訪問認證結果包括:安全服務端收到登陸請求消息,根據消息中安全可信客戶端設備用戶id查找動態(tài)握手碼與登陸請求消息中包括的動態(tài)握手碼比較,如果一致則繼續(xù)驗證消息簽名,否則回復應用服務端拒絕登陸,并產生賬戶攻擊報告;使用對應的第二密鑰驗證登陸請求消息中包括的消息體簽名,如果簽名驗證通過,則繼續(xù)驗證會話簽名;基于登陸請求消息中包括的安全連接類型決定是否包括驗證會話簽名;當判斷為非安全鏈路連接時需要驗證會話簽名,驗證會話簽名的方法是使用包括登陸驗證消息的消息體和附加的會話識別id組合的消息序列為計算對象使用第二密鑰驗證登陸請求消息中包括的會話簽名是否正確,如果一致則認為該登陸憑證是與當前應用服務端申請的會話對應的登陸憑證,則繼續(xù)后續(xù)流程,否則結束;當判斷為安全鏈路連接類型時,不需要驗證會話簽名;下一步是授權判定,檢查登陸請求消息中包括的應用賬戶名,應用客戶端特征,應用服務類型,生物識別特征值與安全可信客戶端設備用戶id對應的在安全服務端的設備數據表項中是否有對應的授權;如有,則判斷登陸被允許,否則判斷登陸被拒絕;將判斷的應用賬戶可信訪問認證結果攜帶在登陸驗證結果消息發(fā)送給應用服務端。應用服務端收到登陸驗證結果消息,檢查應用賬戶名和應用服務類型的有效性,基于判讀結果為會話識別id對應的會話提供后續(xù)的服務或拒絕登陸。
用戶終端向應用服務端發(fā)送登陸請求消息之前還包括:基于應用客戶端收到的登陸連接建立消息中的安全連接類型,建立連接的應用接入地址與應用服務端建立連接;應用客戶端產生發(fā)起登陸消息,發(fā)起登陸包括應用服務類型,應用賬戶名,應用客戶端特征;調用安全可信客戶端應用軟件接口,與安全可信客戶端通過綁定碼加密通信發(fā)送應用登陸,安全可信客戶端檢查請求來源是否為已經綁定的本地程序相關的進程,查找對應于該綁定應用的綁定碼,解密得到發(fā)起登陸的應用服務類型,應用賬戶,應用客戶端特征;安全可信客戶端檢查應用客戶端,應用服務類型,應用賬戶名是已經授權的情況下,產生對應應用的登陸連接建立消息。安全可信客戶端發(fā)送登陸連接建立消息給應用客戶端,登陸連接建立消息包括建立連接的應用接入地址,安全連接類型;安全可信客戶端使用應用間加密通信將登陸連接建立消息發(fā)送給應用客戶端;安全連接類型指用戶配置的參數用于指明在登陸賬戶驗證的過程中使用安全鏈路連接類型對應的方法驗證還是使用非安全鏈路連接類型對應的方法驗證;對應于不同的安全連接類型安全可信客戶端會產生對應的登陸請求消息;實施中建立的鏈路連接可以是tcp、udp、sctp,也可以包括ssl/tls的連接,如https、ftps、ssh,也包括ipsecvpn技術的加密通道等,還包括在鏈路連接的建立過程中是否采用有效的手段驗證應用服務端是否為官方的應用服務端。安全連接類型配置為非安全鏈路連接時,虛線部分為特有的對應于非安全鏈路連接類型時的方法,用戶終端在建立的連接會話中向應用服務端發(fā)送登陸請求消息之前還包括:用戶終端向應用服務端發(fā)送攜帶傳輸密鑰的會話上行消息,會話傳輸密鑰使用應用服務端加密公鑰加密后攜帶;應用服務端收到會話上行消息后,為當前會話分配和綁定會話識別id,使用應用服務端解密私鑰解密得到會話傳輸密鑰;應用服務端使用會話傳輸密鑰加密會話識別id后攜帶在會話下行消息中發(fā)送到用戶終端。具體的,安全可信客戶端產生會話傳輸密鑰,使用應用服務端加密公鑰加密后攜帶在會話上行消息中發(fā)送到應用客戶端,應用客戶端在當前連接會話中將會話上行消息轉發(fā)到應用服務端;應用服務端將攜帶加密會話識別id的會話下行消息發(fā)送到應用客戶端,應用客戶端將會話下行消息轉發(fā)到安全可信客戶端,安全可信客戶端使用會話傳輸密鑰解密會話識別id密文得到會話識別id明文,安全可信客戶端基于此會話識別id產生與連接唯一識別的登陸請求消息。對應于非安全鏈路連接的登陸請求消息包括登陸請求消息主消息體、會話簽名、消息體簽名;其中登陸請求消息主消息體包括:非安全鏈路連接類型、應用客戶端特征、應用賬戶名、應用服務類型、安全可信客戶端設備用戶id、生物識別特征值和動態(tài)握手碼;會話簽名的產生方式是使用登陸請求消息主消息體和會話識別id為計算信息序列,使用第一密鑰產生的簽名;登陸請求消息消息體簽名是使用由登陸請求消息主消息體和會話簽名組成的信息為計算對象使用第一密鑰產生的消息體簽名。在運營者將與該應用服務端的安全連接類型配置為安全鏈路連接時,用戶終端在連接建立后,產生并發(fā)送對應于安全鏈路連接類型的登陸請求消息;具體的,對應于安全鏈路連接的登陸請求消息包括登陸請求消息主消息體和消息體簽名;其中登陸請求消息主消息體包括:安全鏈路連接類型、應用客戶端特征、應用賬戶名、應用服務類型、安全可信客戶端設備用戶id、生物識別特征值和動態(tài)握手碼;使用第一密鑰為登陸請求消息主消息體計算消息體簽名。安全服務端根據設備安全注冊關系、應用賬戶可信訪問路徑驗證關系對登陸請求消息驗證,并向應用服務端發(fā)送應用可信訪問認證結果包括:安全服務端收到登陸請求消息,根據消息中安全可信客戶端設備用戶id查找動態(tài)握手碼與登陸請求消息中包括的動態(tài)握手碼比較,如果一致則繼續(xù)驗證消息簽名,否則回復應用服務端拒絕登陸,并產生賬戶攻擊報告;使用對應的第二密鑰驗證登陸請求消息中包括的消息體簽名,如果簽名驗證通過,則繼續(xù)驗證會話簽名;判斷登陸請求消息中包括的安全連接類型決定是否包括驗證會話簽名;當包括非安全鏈路連接時驗證會話簽名,驗證會話簽名的方方法是使用包括登陸驗證消息的消息體和附加的會話識別id組合的消息序列為計算對象使用第二密鑰驗證登陸請求消息中包括的會話簽名是否正確,如果一致則認為該登陸憑證是與當前應用服務端申請的會話對應的登陸憑證,則繼續(xù)后續(xù)流程,否則結束;當判斷為安全鏈路連接類型時,不需要驗證會話簽名;下一步是授權判定,檢查登陸請求消息中包括的應用賬戶名,應用客戶端特征,應用服務類型,生物識別特征值與安全可信客戶端設備用戶id對應的在安全服務端的設備數據表項中是否有對應的授權;如有,則判斷登陸被允許,否則判斷登陸被拒絕;將判斷的應用賬戶可信訪問認證結果攜帶在登陸驗證結果消息發(fā)送給應用服務端。應用服務端收到登陸驗證結果消息,檢查應用賬戶名和應用服務類型的有效性,基于判讀結果為會話識別id對應的會話提供后續(xù)的服務或拒絕登陸。安全服務端向安全可信客戶端發(fā)送動態(tài)握手碼更新消息,消息中包括新的動態(tài)握手碼和安全服務端私鑰對消息體的簽名;安全可信客戶端收到動態(tài)握手碼更新消息,使用安全服務端公鑰驗證簽名是來自安全服務端,驗證通過后安全存儲動態(tài)握手碼。
綜上所述,本發(fā)明實施例提供的可信訪問認證處理方法、用戶終端和服務端通過對應用客戶端綁定,通過對用戶終端安全可信客戶端與應用客戶端的雙向識別,使用安全可信客戶端發(fā)起綁定的應用客戶端發(fā)起應用服務端的連接技術,并且基于連接類別為連接提供唯一的識別,用于識別和驗證發(fā)起連接的路徑和用戶賬戶安全。
本領域內的技術人員應明白,本申請的實施例可提供為方法、系統(tǒng)、或計算機程序產品。因此,本申請可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、cd-rom、光學存儲器等)上實施的計算機程序產品的形式。
本申請是參照根據本申請實施例的方法、設備(系統(tǒng))、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執(zhí)行的指令產生用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執(zhí)行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執(zhí)行的指令提供用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個......”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。術語“上”、“下”等指示的方位或位置關系為基于附圖所示的方位或位置關系,僅是為了便于描述本發(fā)明和簡化描述,而不是指示或暗示所指的裝置或元件必須具有特定的方位、以特定的方位構造和操作,因此不能理解為對本發(fā)明的限制。除非另有明確的規(guī)定和限定,術語“安裝”、“相連”、“連接”應做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是機械連接,也可以是電連接;可以是直接相連,也可以通過中間媒介間接相連,可以是兩個元件內部的連通。對于本領域的普通技術人員而言,可以根據具體情況理解上述術語在本發(fā)明中的具體含義。
本發(fā)明的說明書中,說明了大量具體細節(jié)。然而能夠理解的是,本發(fā)明的實施例可以在沒有這些具體細節(jié)的情況下實踐。在一些實例中,并未詳細示出公知的方法、結構和技術,以便不模糊對本說明書的理解。類似地,應當理解,為了精簡本發(fā)明公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應將該公開的方法解釋呈反映如下意圖:即所要求保護的本發(fā)明要求比在每個權利要求中所明確記載的特征更多的特征。更確切地說,如權利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實施例的所有特征。因此,遵循具體實施方式的權利要求書由此明確地并入該具體實施方式,其中每個權利要求本身都作為本發(fā)明的單獨實施例。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。本發(fā)明并不局限于任何單一的方面,也不局限于任何單一的實施例,也不局限于這些方面和/或實施例的任意組合和/或置換。而且,可以單獨使用本發(fā)明的每個方面和/或實施例或者與一個或更多其他方面和/或其實施例結合使用。
最后應說明的是:以上各實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分或者全部技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發(fā)明各實施例技術方案的范圍,其均應涵蓋在本發(fā)明的權利要求和說明書的范圍當中。