統一身份認證系統的簡單看法
【事件背景】洋蔥服務為什麼沒被成功接盤?_搜狐科技_搜狐網 https://www.sohu.com/a/124452755_354899
今天無意中看到這則新聞,發現人家洋蔥認證服務已經停運1年多啦,瞬時傷心,免費的驗證服務終究不會長久。
洋蔥的創始人 也就是dnspod創始人 給我們免費的認證驗證 說沒就沒了 轉而現在都是付費的IAM或者其他CAS認證系統
基於此,筆者就來說說企業開發和產品管理中經常要用到的統一身份認證服務,一遍在多個系統進行使用者身份登入和許可權的認證的網際網路那些事兒。
統一身份認證子系統(UIA: UNIFIED IDENTITY SERVICE )主要有三大功能模組:身份認證模組、許可權管理模組和安全審計模組。
統一身份認證(CAS)包括了統一身份認證服務和IAM 單點登入 SSO這兩大塊
通常情況下應用系統身份認證方式能辨別使用者的真實身份,是實現業務系統向基層網安部門推廣的前提條件。建設多樣化的身份認證手段,是提升業務系統安全性與靈活性的關鍵舉措。網綜平臺要求各類業務系統使用統一的使用者身份;業務系統能夠根據實際應用場景及資訊內容的重要性,控制終端的使用環境及資源。建設一套集中、統一、多樣化、高效的安全認證服務與控制系統,形成業務系統的統一認證和安全控制技術體系和安全服務體系,“安全中心繫統”正是解決應用系統統一認證與集中安全控制的技術平臺、服務平臺、管理平臺。
最早的統一身份認證系統產品當屬linux的LDAP目錄服務和windows的AD域目錄服務。
統一身份認證的優點是,採用統一身份認證後,使用者只需要使用同一使用者名稱、同一令牌就可以登入所有允許他登入的系統,使用者使用更加方便;從安全形度出發,管理人員可以在認證系統集中地對各個應用系統上的使用者進行管理。
統一身份認證發展階段:LADP目錄服務--->集中身份驗證服務--->雙因子認證2FA--->多因素認證MFA--->生物特徵身份認證-->…
單一因素認證(使用者名稱+密碼+驗證碼)短時間不會消亡,還會依然有大量的系統沿用這以傳統認證方式...
名詞解釋:
雙因子認證(2FA)是指結合密碼以及實物(信用卡、SMS手機、ukey、Token令牌或指紋等生物標誌)兩種條件對使用者進行認證的方法。這種方法已經為企業所採用,特別是在遠端訪問時,但在其它領域應用還很有限。雙因子認證的推廣之所以受阻,主要在於其需要使用額外的工具並且為IT和技術支援人員帶來負擔。其批評者還指出這種方法也容易遭受攻擊,即在非常小的時間視窗內,易受到中間人(man-in-the-middle)攻擊(這也是採用嚴格SSL處理的更多原因)。雙因子認證,支援CAS,SAML,OAuth,OIDC等10多種認證協議,實現應用的快速整合,並通過組織架構同步,許可權管理等模組,實現全平臺業務管理與訪問控制。尤其是國內網際網路企業申請等級保護(簡稱等保)的首選。
統一身份認證平臺,全面支援公/私有云,大資料,物聯網及移動應用的統一認證與訪問控制,構建以應用、賬戶、認證、授權、審計的5A體系為架構的企業內控管理平臺。OpenID+OAuth+MFA(AK/SK)
那麼問題來了:目前雙因素認證廠商有哪些?該怎麼選?
雙因素認證是一種採用時間同步技術的系統,採用了基於時間、事件和金鑰三變數而產生的一次性密碼來代替傳統的靜態密碼。每個動態密碼卡都有一個唯一的金鑰,該金鑰同時存放在伺服器端,每次認證時動態密碼卡與伺服器分別根據同樣的金鑰,同樣的隨機引數(時間、事件)和同樣的演算法計算了認證的動態密碼,從而確保密碼的一致性,從而實現了使用者的認證。因每次認證時的隨機引數不同,所以每次產生的動態密碼也不同。由於每次計算時引數的隨機性保證了每次密碼的不可預測性,從而在最基本的密碼認證這一環節保證了系統的安全性。解決因口令欺詐而導致的重大損失,防止惡意入侵者或人為破壞,解決由口令洩密導致的入侵問題。
目前世界上做的最早的當屬RSA,同時也是種類最全、專業能力最強的企業,但可惜的是營業執照不是中國的,而且其價格也是高的離譜,最近國家資訊保安領域,都強制要求使用國產,無疑是將橄欖枝伸向國內企業。
就國內雙因素認證廠家來講,東聯、寧頓、曦辰算是比較早的一批公司,市場份額做的也是非常大,最常見的就是我們身邊的網銀動態令牌,規模龐大,使用者廣泛,就是解決使用者登入密碼洩露造成資訊及資料丟失的問題。但就企業自身而言,其內部一直以來就存在著安全隱患,如VPN、OWA、Vmware、Citrix、Linux伺服器、Windows伺服器、Route、SWitch、Web管理員等,這些密碼一旦洩露,就不是簡簡單單的小問題,嚴重的將危及企業存亡,所以解決弱口令問題是企業發展的基石。
據圈內朋友所說,他們採用的一套CKEY DAS的雙因素動態認證系統,最終實現登入使用者名稱和密碼的同時,還需要輸入一個動態密碼,該動態密碼的載體為軟體APP、硬體令牌或者簡訊,且可以結合使用,各有利弊,該動態密碼不停的變換,共有10的6次方種可能,並且有嘗試登入次數限制,非常有效的解決他們內部資訊保安管理的問題,他們的應用場景為openvpn和Citrix桌面虛擬化,結合CKey DAS解決弱口令的問題,目前執行一切正常。
傳言CKEY DAS的抱負是要與RSA一決雌雄,在目前的簡訊認證、APP認證、硬體令牌認證的基礎之上,後期將增加指紋認證、虹膜認證等生物識別,讓企業快速跨進未來,作為IT圈中的一員,能看到國內企業不斷趕超國外企業是非常興奮的,CKEY DAS與RSA之間的角逐我個人非常期待。
【專案的具體需求和詳細過程】
在專案開發中,遇到了以下問題:
專案中,面向的使用者有PC操作員、手機使用者等,不同的使用者登陸邏輯所在微服務,不一定是一套,甚至有可能來自不同的團隊開發維護,那麼導致鑑權時需要到處請求;
解決思路:
提出一個統一認證中心,對所有的登陸邏輯做統一處理,此服務可呼叫 不同的管理系統,如:操作員系統、終端使用者系統、QQ開放平臺等,可複合呼叫組裝,再將結果返回;
實現架構圖:
說明:
1. API Gateway(orange): 閘道器,可進行:分流、token認證、API鑑權、https轉為http; (需提前將角色與API關係、應用id與API的關係進行儲存,以供以後API鑑權使用)
2. Auth: 使用者管理中心,作用:管理租戶資訊、操作員資訊、角色、API許可權等;
3. 使用者管理:市場使用者管理系統,即to Client的使用者管理系統;
4. 裝置管理:是指終端裝置系統,包括裝置匯入 ,裝置分配等功能;
5. 業務元件A、業務元件...:指通用的業務微服務;
6. 統一認證中心:指進行操作員、to C使用者、裝置所有相關係統登陸的統一處理中心,可以呼叫不同的系統,進行組織查詢,最後返回登陸所需資訊,如:token、credentialToken 等;
7. API聚合元件A、API聚合元件...:對外提供API介面,一個介面可以對內的請求次數,以達到對外提供功能性API的目的;將來也可在此基礎上做一些open API的業務;
舉個栗子:
手機APP使用者登陸:
1. 使用者在手機APP端輸入使用者名稱、密碼,請求後臺時,需要APP自動加上應用id及憑證;
2. 通過 API Gateway,進行分流、https轉換成http;
3. 到統一認證中心進行登陸請求;
4. 統一認證中心再訪問Auth層,查詢到相關邏輯,再返回給統一認證中心;
5. 統一認證中心再訪問to C使用者管理系統,查詢到相關邏輯,再返回給統一認證中心;
6. 統一認證中心生成相應的token,返回給前端系統;
總結
一個IT社群很早就意識到傳統密碼不能確保重要資料的可靠安全性,因為它們很容易被攻破。 2FA提供了額外的資料保護措施,加強了公司對其資訊保安的信心。上述所有的2FA解決方案均支援移動令牌,並提供靈活的認證方式。但是,一些供應商已經進一步嘗試著重於基於風險的方法。
如果您的公司使用大量基於Saas的應用程式,則SecureAuth IdP和Okta Adaptive MFA等解決方案將尤為適合。如果您的公司經常與第三方組織進行互操作,並且需要為他們提供有限的網路資源訪問許可權,那麼SecurAccess將是一個明智的選擇。如果您主要考慮內部部署解決方案,那麼SecurID和CA Strong Authentication是您最好的選擇。如果您喜歡高階報告和欺詐檢測功能,那麼Vasco IDENTIKEY和賽門鐵克VIP值得考慮。
【參考資料】
1、設定 MFA Alibaba Cloud Documentation Center https://www.alibabacloud.com/help/zh/doc-detail/28635.htm
2、2018年多因素身份驗證(MFA)行業現狀及發展趨勢分析 (目錄)_百度文庫 https://wenku.baidu.com/view/90c39ea329ea81c758f5f61fb7360b4c2e3f2aec.html
3、7個最佳的雙因素認證解決方案 https://baijiahao.baidu.com/s?id=1591527103024291221
4、首頁 . 認證雲IDaaS平臺 https://www.idsmanager.com/
5、統一身份認證服務 IAM - 管理與部署 - 產品 - 華為雲 https://www.huaweicloud.com/product/iam.html (免費的哦)
6、Wicresoft - 安全身份認證及訪問控制管理 http://www.wicresoft.com/cn/services.aspx?navid=247
7、身份認證產品_ iToken身份認證_管理系統_上訊資訊 http://www.suninfo.com/view-2104.html
8、深圳竹雲科技有限公司-身份認證方案 http://www.bamboocloud.com/list_94.aspx
9、改造Nginx,讓郵件系統也支援雙因子驗證 - FreeBuf網際網路安全新媒體平臺 | 關注黑客與極客 http://www.freebuf.com/articles/network/135640.html
10、為SSH登入建立雙因子驗證機制(谷歌身份驗證器) - CSDN部落格 https://blog.csdn.net/bwlab/article/details/51321746
相關文章
- UI 優先的開源統一身份認證系統 CasdoorUI
- 基於區塊鏈的身份認證系統開發區塊鏈
- 一個簡單的身份證校驗
- Springboot的securiity簡單記憶體身份認證失敗Spring Boot記憶體
- 最簡單易懂的 Spring Security 身份認證流程講解Spring
- 作業系統(AIX)雙因素身份認證解決方案作業系統AI
- 認證系統之登入認證系統的進階使用 (二)
- 如何做好統一身份認證賬號管理及整合?
- 一個簡簡單單的紅點系統框架框架
- Ubuntu部署Maxkey單點登入認證系統Ubuntu
- 國務院:將建立統一的未成年人網路遊戲電子身份認證系統遊戲
- WebApi的建立,部署,Oauth身份認證(一)WebAPIOAuth
- 高鐵車站的身份驗證系統核心
- Java身份證實名認證、身份證識別介面讓您認證任性的“懶”Java
- 設計一個簡單的devops系統dev
- Django使用者認證系統(一)User物件Django物件
- 增強版實名認證介面-Java身份證實名認證介面程式碼-身份認證Java
- Javascript使用正則驗證身份證號(簡單)JavaScript
- DRF內建認證元件之自定義認證系統元件
- 【.NET Core微服務實戰-統一身份認證】開篇及目錄索引微服務索引
- Solon Auth 認證框架使用演示(更簡單的認證框架)框架
- node.js -- 身份認證Node.js
- C++身份核驗介面程式碼、身份證OCR、身份證實名認證APIC++API
- 寬頻認證計費系統的認證技術主要有哪些
- 支招 | 如何解決身份驗證系統安全問題
- 讀零信任網路:在不可信網路中構建安全系統10認證身份
- CAMIA:新加坡將在國家數字身份認證系統中使用面部識別技術
- 自定義Django認證系統的技術方案Django
- 聊一聊HTTPS雙向認證的簡單應用HTTP
- 簡單查重系統
- 一個簡單的完整人臉識別系統
- 還在花錢列印身份證?教你用Word列印標準尺寸的身份證,超簡單!
- Java身份證實名認證介面解鎖認證新速度Java
- MongoDB身份認證機制揭秘!MongoDB
- 用 python 製作全國身份證號驗證及查詢系統Python
- 寬頻認證計費系統的主要特點
- 1.6.4.2. 準備作業系統認證作業系統
- win10系統驗證身份好麻煩怎麼去掉 win10取消身份驗證方法Win10