鐘睿
(中國鐵建昆侖投資集團有限公司 四川省成都市 610041)
在傳統的企業信息系統建設中,一般采用按業務類型分散式地建設各業務系統。與傳統分散的各業務系統相比,建立統一的企業門戶可以為企業信息系統提供穩定的、可伸縮和可靠的基礎和框架結構。能夠為最終用戶提供更個性化的功能,更直觀和易用的界面,可以簡化用戶的使用并提高工作效率。另外還可作為信息化管理工具,讓企業管理者能夠了解企業的經營狀況,實時調整企業的運營。企業的領導、員工都能利用此門戶找到相關的信息,實現業務協作,提升工作效率。實現“以業務功能為驅動,以服務為導向”的企業信息化管理理念。
企業建設的應用系統越多,其所包含的開發技術就越多,這種技術異質性環境的影響也越大。企業門戶已經成為應用系統集成領域的主導技術,可以輕松跨越底層技術的異質性帶來的麻煩。融合各業務系統的組織架構、人員信息、基礎數據、業務信息、消息推送等相關資源,首先需要解決的是各業務系統賬戶的身份認證問題,這就需要通過單點登錄技術來實現。
傳統的分散式信息系統,用戶需要分別登錄到各自系統內才能進行相關業務辦理,每個業務系統有其獨立的組織架構體系和用戶名、密碼,用戶必須記住這些用戶名和密碼才能使用相應的系統。從系統安全、系統管理、用戶方便性角度來說,利用單點登錄技術建立的企業門戶集成了所有的業務系統,并且每個員工只需一個用戶名和密碼即可登錄所有授權的業務系統,實現對用戶賬號的集中管理,這就是單點登錄系統(Single Sign On),簡稱為SSO。
以人力資源系統的組織架構和人員信息為基礎建立的單點登錄系統,可以集中管理企業所有信息系統的用戶帳戶。從任何一個系統登錄后,用戶都可以直接訪問其他業務系統的授權資源,完成對用戶身份的統一認證。為實現各業務系統要素的深度整合奠定了良好的技術架構,也為未來信息系統的建設明確了統一的用戶管理開發框架,避免重復投資。并且從技術實現角度,進一步加強了系統安全,防范系統性風險。
隨著系統集成新技術的發展和企業信息系統建設需要,使用成熟的OpenID2.0 技術來實現SSO 系統是一個重要的發展方向。OpenID2.0 是一種公開化的技術規范,得到了例如Google 還有騰迅等公司的大力支持。
3.1.1 OpenID2.0 技術介紹
OpenID2.0 是一個以用戶為中心的數字身份識別框架,它具有開放、分散、自由等特性。同時OpenID2.0 又是一個去中心化的網上身份認證系統,任何網站都可以使用OpenID2.0 來作為用戶登錄的一種方式,任何網站也都可以作為OpenID2.0 的身份提供者。OpenID2.0 既解決了統一身份登錄的問題而又不需要依賴中心性的網站來確認數字身份。

圖1:企業微信掃碼登錄接入流程

圖2:企業微信消息推送流程
OpenID2.0 的創建基于以下概念:既可以通過URI(又叫URL或網站地址)來認證一個網站的唯一身份,也可以通過這種方式來作為用戶的身份認證。由于URI 是整個網絡世界的核心,它為基于URI 的用戶身份認證提供了廣泛的、堅實的基礎。使用OpenID2.0,你要訪問的網絡資源(URI)就是你的用戶名,而你的密碼安全存儲在一個OpenID2.0 服務器上[1]。
3.1.2 OpenID2.0 技術架構的單點登錄系統
通過對OpenID2.0 技術的簡單介紹,可以看到采用該技術可以完成各項系統功能的同時,對將來的全網整合也有很好的前瞻性。
(1)OpenID2.0 技術架構實現的單點登錄系統是通過請求令牌和訪問令牌來實現的,用戶登錄訪問任意系統時候,都會獲取到請求令牌和訪問令牌,這個就并不要求用戶必須從指定的入口進行登錄,實現業務系統訪問其它業務系統的數據變為可能。
(2)用戶名密碼只會在用戶和認證服務器之間進行交流,并且認證服務器我們是采用HTTPS 進行傳輸的,并且登錄只會發生在認證服務器上,這會在最大程度上的保證了用戶密碼的安全性。
(3)OpenID2.0 實現的認證中心是松耦合的,技術實現上并不要求Cookie 支持,因此不要求用戶進行集中建設,這為進行將來全網整合提供可能性,比如中國鐵建昆侖集團的用戶希望訪問上級鐵建股份公司的業務系統時,只要鐵建股份的業務系統也是按照OpenID2.0 規范來實現,那么只要有授權,就可以直接用中國鐵建昆侖集團的用戶賬號直接訪問中國鐵建股份公司的業務系統。
(4)由于登錄都是發生在認證服務器和用戶之間,我們可以統一的建立用戶名密碼和CA 方式的登錄,這樣對于認證方式不同的資源之間的訪問也可以實現。
統一的用戶身份認證與訪問安全集中管理的SSO 系統,其價值主要體現在企業管理方面、系統管理員、普通用戶和系統安全性等多個方面:
(1)企業方面。在用戶身份與訪問SSO 集中管理系統下,用戶賬號將納入統一建立、集中設置、自動分配,并且均有詳細記錄,可以進行統一審計,可在一處集中管理用戶身份,從而降低企業的管理成本。
(2)管理員方面。采用SSO 集中系統,方便用戶賬號的全生命周期管理。包括賬號的創建、權限的修改、個人信息變更、密碼更改、賬號停用等,都可以在一個系統上進行管理,使用戶與其賬號的匹配關系更加符合實際情況。
(3)用戶方面。通過SSO 單點登錄系統,可以確保用戶權限的分配符合安全策略的要求,僅具有完成任務所需的最低權限。用戶可以通過系統提供的自助管理界面輕松更改自己的密碼和個人基本信息。并且用戶只需一次登錄即可輕松訪問所有授權的信息系統,從而消除了需要記住多個賬戶名和密碼的麻煩,便于提高工作效率。
(4)系統安全方面。通過SSO 系統,只需一個操作即可徹底清除與每個用戶相關的所有信息系統賬戶權限,以避免出現用戶離職或者登錄權限發生變動時,該賬戶仍然存在于原系統中的情況。另外作為用戶身份管理與訪問控制系統也為安全策略的強制執行提供了技術手段。
在5G、AIoT 等新興技術不斷發展的背景下,基于移動互聯網的辦公越來越普及。如果移動端沒有和PC 端門戶系統構建統一的身份認證關聯,導致員工需要在移動端重新輸入用戶名和密碼登錄門戶系統的話,將大大降低用戶體驗性和系統安全性。所以在移動辦公設備上解決統一身份認證問題也已迫在眉睫。
我們使用在國內用戶基數最大的移動通訊及辦公平臺企業微信,通過微信消息服務接口,采用OpenID 和OAuth2.0 技術將企業門戶集成的各類應用系統整合到企業微信平臺,并將人力系統中的人員編碼和企業微信ID 號對應,實現人員的統一身份認證。各應用系統也統一應用H5 編碼規范,開發了移動端審批系統,集成了OA、合同管理、財務管理、會務管理、印信管理、資產設備管理等各類移動辦公業務,形成了以企業微信為主體的移動辦公統一平臺,以便于員工在一個APP 上解決所有移動辦公需求。
OAuth2.0 授權協議一種安全的登陸協議,用戶提交的賬戶密碼不提交到第三方應用,而是提交到授權服務器,待服務器確認后,返回應用系統一個訪問令牌,應用系統即可用該訪問令牌訪問資源服務器的資源。由于用戶的賬號密碼并不與應用系統直接交互,而是與認證服務器交互,因而它是安全的。
OAuth2.0 開放授權網絡協議在第三方應用和服務提供商之間設置了一個授權層,第三方應用不能之間登錄服務提供商,只能登錄授權層,以此將用戶與服務提供商分開,第三方應用登錄授權所用的令牌(令牌可以設置權限范圍和有效期),也就是說OAuth2.0開放授權網絡協議允許用戶讓第三方應用訪問該用戶在信息系統上存儲的資源,而無需將用戶名和密碼提供給第三方。[2]
基于OAuth2.0 開放授權網絡協議,我們采用企業微信作為移動服務平臺,運用企業微信的OpenID 和OAuth2.0 認證技術,將企業微信的userid轉成OpenID,與企業門戶的單點登錄系統相互集成,以此來整合企業的各類信息系統及移動應用,實現了企業微信掃碼登錄的身份認證方案,整合了企業信息化應用服務平臺PC 端和移動端的統一認證入口。
4.3.1 企業微信掃碼登錄
企業微信提供了OAuth 的掃碼登錄授權方式,可以讓企業門戶網站在瀏覽器內打開時,引導成員使用企業微信掃碼登錄授權,從而獲取成員的身份信息,免去輸入用戶名和密碼登錄的環節。如圖1所示。
企業微信掃碼認證登錄有效解決了員工經常忘記企業門戶登錄用戶名和密碼的問題,員工僅需通過手機企業微信掃碼就實現門戶及各個業務系統的登錄,在提升便捷性和系統并發性的同時,也從一定程度上避免了弱口令、密碼丟失、暴力破解等問題,提升了門戶系統的安全性。
4.3.2 企業微信消息推送
企業微信開放了消息發送接口,自建的信息系統可以利用這些接口與企業微信后臺進行雙向通信。
為了實現自建應用與企業微信間的雙向通信,需打開企業微信應用管理后臺的消息接收模式,并提供使用加密傳輸協議https 的可用的接收消息服務器URL。開啟接收消息模式后,用戶在應用里發送的消息就會推送給企業微信后臺。如圖2所示。
通過企業微信消息服務接口,我們采用OpenID 與員工編號相對應,構建了統一的消息推送服務平臺。該平臺能夠將企業門戶內自建的各業務系統,以及企業微信內建立的第三方應用等各類消息推送給員工,并且能夠實現根據不同的消息類型精準推送給各特定用戶。所推送的消息內容涵蓋各業務系統的待辦提醒、系統通知、業務流程審批信息、工資條、會議提醒、會議室預定、設備維修、問卷調查等多類型、多來源的消息推送。實現了“一站式”移動服務平臺,有效地提高了移動門戶的綜合服務能力。
在當今移動互聯網、物聯網、云計算等技術快速發展的時代,構建基于OpenID 的統一身份認證管理平臺,集成移動辦公與單點登錄系統,能夠極大地改善企業信息門戶平臺的綜合服務能力,為員工提供一套靈活、高效的辦公平臺,為信息化管理人員構建安全可靠、方便運維的管理工具,為企業信息化建設提供堅實有力的技術支持。