【文章內(nèi)容簡介】
Service 全。 ? 安全傳輸 用戶登陸時(shí)輸入的用戶名和密碼以 SSL 方式向認(rèn)證服務(wù)器發(fā)出。 ? 防止破解功能 如果一個(gè)用戶連續(xù)輸入幾次密碼都不對(duì),認(rèn)證服務(wù)器自動(dòng)的將該用戶帳號(hào)阻塞幾分鐘。該措施是為了防止一些黑客和破解程序使用字典數(shù)以千萬次不斷的猜測用戶的密碼。 . SSO Agent技術(shù)實(shí)現(xiàn) SSO Agent 是一個(gè)安裝在客戶端的程序,只要用戶登錄 SSO 系統(tǒng)以后, SSO Agent 能夠自動(dòng)為用戶登錄 Web、 Win32 和 Lotus Notes 應(yīng)用程序,使用戶在使用過程中,不用多次反復(fù)輸入用戶名和密碼, 實(shí)現(xiàn)“一次登錄,到處運(yùn)行”。 SSO Agent 的作用 在于能夠最大程度兼容企業(yè)內(nèi)原來就有各種應(yīng)用程序,使用戶能夠不修改原有的應(yīng)用系統(tǒng),就能夠?qū)崿F(xiàn)統(tǒng)一的 SSO。 . SSO Agent 登錄過程 用戶利用 SSO Agent 實(shí)現(xiàn)單點(diǎn)登錄的過程如下圖所示: Consulting Service Consulting Service Consulting Service Service Service S S O A g e n t( S S O 驗(yàn) 證 代 理 )W e b / W i n 3 2 / L o t u s N o t e s應(yīng) 用 程 序S S O A g e n tM i c r o s o f t A c t i v eD i r e c t o r y S e r v i c e( 微 軟 活 動(dòng) 目 錄 服 務(wù) )用 戶2 . S S O 代 理 從 目 錄 服 務(wù) 器獲 取 應(yīng) 用 系 統(tǒng) 的 驗(yàn) 證 信 息1 . 用 戶 登 錄 S S O 服 務(wù) 器3 . 用 戶 訪 問 應(yīng) 用 系 統(tǒng)4 . S S O 代 理 自 動(dòng) 填 寫 驗(yàn) 證 信 息 1. 用戶通過 SSO Agent 登錄 SSO 系統(tǒng), SSO Agent 和 SSO 系統(tǒng)的目錄服務(wù)器通信,確認(rèn)用戶身份的合法性; 2. SSO Agent 從目錄服務(wù)器獲取用戶登錄各種應(yīng)用系統(tǒng)的驗(yàn)證信息,如用戶名、密碼 、需要識(shí)別的應(yīng)用程序的窗口類、窗口內(nèi)各個(gè)控件的類和需要進(jìn)行的操作 等,緩存在 SSO Agent 內(nèi);同時(shí) SSO Agent 駐留在客戶端內(nèi)存內(nèi),監(jiān)控機(jī)器上正在運(yùn)行的應(yīng)用程序類型; 3. 當(dāng)用戶訪問應(yīng)用程序時(shí), SSO Agent 即可通過駐留在內(nèi)存上的監(jiān)控程序,獲知用戶需要訪問應(yīng)用系統(tǒng) ,如果和緩存中的信息吻合,則啟動(dòng)自動(dòng)驗(yàn)證功能 ; 4. SSO Agent 根據(jù)設(shè)定信息, 通過 Win32 API 直接在應(yīng)用程序窗口內(nèi) 填寫用戶名和密碼,并且自動(dòng)點(diǎn)擊發(fā)送按鈕,使驗(yàn)證過程自動(dòng)完成; 5. 當(dāng)用戶注銷在 SSO 系統(tǒng)的登錄狀態(tài)時(shí), SSO Agent 清除緩存在本地的驗(yàn)證信息; Consulting Service Consulting Service Consulting Service Service Service . SSO Agent 關(guān)鍵技術(shù) 說明 SSO Agent是一個(gè)已經(jīng)成功開發(fā)和在客戶實(shí)際應(yīng)用中部署的客戶端代理程序,下面根據(jù) SSO Agent 已有功能,說明其關(guān)鍵的實(shí)現(xiàn)技術(shù)。 . Win32 及 Lotus Notes 監(jiān)控及自動(dòng)登錄實(shí)現(xiàn) Win32 和 Lotus Notes 都是通過標(biāo)準(zhǔn)的 Win32 API 在 Windows 操作系統(tǒng)上運(yùn)行的,因此可以通過 Windows API 函數(shù)跟蹤在內(nèi)存中運(yùn)行的窗口句柄,以及窗口和窗口中各種控件基于的類。這就為 SSO Agent 監(jiān)控應(yīng)用程序的運(yùn)行和自動(dòng)寫入驗(yàn)證信息打下基礎(chǔ)。 如下圖就是各種不同應(yīng)用系統(tǒng)中的控件類: SSO Agent 通過駐留在內(nèi)存中的鉤子函數(shù),監(jiān)控內(nèi)存中正在運(yùn)行的窗口 Consulting Service Consulting Service Consulting Service Service Service 然后在 SSO Agent 能夠根據(jù)應(yīng)用程序的窗口中的控件類,識(shí)別出驗(yàn)證時(shí)需要填 寫的文本框(如:用戶名)、密碼框和需要自動(dòng)點(diǎn)擊的按鈕。 如下圖是窗口內(nèi)需要填寫用戶名的文本框: Consulting Service Consulting Service Consulting Service Service Service 下面是密碼框: Consulting Service Consulting Service Consulting Service Service Service 最后是需要自動(dòng)點(diǎn)擊的按鈕控件: Consulting Service Consulting Service Consulting Service Service Service 可以看到 SSO Agent 能夠很好地識(shí)別和管理針對(duì)不同 Win32 和 Lotus Notes應(yīng)用程序中的類以及需要實(shí)施的自動(dòng)填寫和點(diǎn)擊策略。 . Web應(yīng)用程序監(jiān)控及自動(dòng)登錄實(shí)現(xiàn) SSO Agent 包含了一個(gè)名為“ ”的 IE Addin 組件,作為監(jiān)控 Inter Explorer 正在訪問的網(wǎng)址以及網(wǎng)頁中內(nèi)容的“鉤子”。 IE Helper 直接掛接在 Inter Explorer 上,當(dāng) IE 啟動(dòng)時(shí), IEHelper 也隨之啟動(dòng)。 用戶通過 IE 訪問基于 Web 的網(wǎng)站時(shí),系統(tǒng)跟蹤到 IE 正在訪問的網(wǎng)址以及網(wǎng)頁中需要用戶填寫用戶名、密碼以及需要點(diǎn)擊的發(fā)送按鈕。如下圖: Consulting Service Consulting Service Consulting Service Service Service IEHelper 能夠支持基于所有 HTML FORM格式進(jìn)行驗(yàn)證信息發(fā)送的識(shí)別和自動(dòng)信息寫入。 當(dāng)基于 Web 的應(yīng)用系統(tǒng)使用集成驗(yàn)證模式時(shí),即在登錄系統(tǒng)使,不是使用HTML 頁面發(fā)送驗(yàn)證信息,而是通過 IE 彈出 Win32 驗(yàn)證窗口時(shí),則不使用IEHelper 進(jìn)行識(shí)別和填寫,而是由 Win32 識(shí)別部分完成,因此能夠很好地兼容各種類型的 Web 應(yīng)用程序。 . 識(shí)別策略的生成與管理 SSO Agent 如何識(shí)別出各種應(yīng)用系統(tǒng)、以及如何填寫驗(yàn)證信息、填寫什么驗(yàn)證信息是通過識(shí)別策略實(shí)現(xiàn)。 識(shí)別策略包含幾個(gè)部分的內(nèi)容: 1. 應(yīng)用類型 Consulting Service Consulting Service Consulting Service Service Service 2. 應(yīng)用識(shí)別信息 3. 驗(yàn)證信息獲取方法 4. 填寫策略 管理員的可以通過管理工具,指定應(yīng)用程序的識(shí)別策略的內(nèi)容,并發(fā)布到目錄服務(wù)器內(nèi),統(tǒng)一登錄的根據(jù)。 . 安全性保證 ? 身份確認(rèn) 只有用戶登錄到 SSO 系統(tǒng)時(shí), SSO Agent 才會(huì)把用戶的驗(yàn)證信息下載到本地,才開始代替用戶自動(dòng)驗(yàn)證,因此能夠保證用戶身份確認(rèn)。 ? 驗(yàn)證信息集中存儲(chǔ) 用戶各種應(yīng)用的識(shí)別和驗(yàn)證信息都集中存放在目錄服務(wù)器內(nèi),在本地的信息通過加密后緩存在內(nèi)存中,只要用戶關(guān)機(jī)或者 注銷登錄后,就會(huì)失去,保證了信息不被竊取。 ? 自動(dòng)登錄過程快 由于 SSO Agent 自動(dòng)登錄應(yīng)用系統(tǒng)的過程是通過 API 函數(shù)自動(dòng)完成的,因此過程非???,用戶完全感覺不到窗口彈出和發(fā)送的過程,難以進(jìn)行跟蹤。 Consulting Service Consulting Service Consulting Service Service Service 第 4章 . 微軟與其他廠商解決方案對(duì)比 . 微軟解決方案的優(yōu)勢 ? 微軟的 SSO 解決方案是一套完整的體系 微軟在其 Active Directory 目錄服務(wù)的基礎(chǔ)上,實(shí)現(xiàn)了統(tǒng)一的驗(yàn)證體系。微軟在服務(wù)器端和客 戶端的軟件產(chǎn)品中,都貫徹了這一標(biāo)準(zhǔn)的驗(yàn)證體系,對(duì)比某些廠商多種不同的驗(yàn)證體系并存,更容易為企業(yè)提供統(tǒng)一的規(guī)劃和實(shí)施策略。 ? SSO 實(shí)現(xiàn)的代價(jià)更低 微軟的目錄服務(wù)體系是內(nèi)置在服務(wù)器產(chǎn)品內(nèi)的,減少了其他 廠商需要額外購買的費(fèi)用。和微軟解決方案一向秉承易于開發(fā)、周期短、成本低 的優(yōu)點(diǎn), 基于微軟的 SSO 應(yīng)用開發(fā) 成本更為低廉。 因此微軟的 SSO 解決方案更有優(yōu)勢。 ? 和客戶端軟件集成的天然優(yōu)勢 目前客戶端軟件在微軟產(chǎn)品一支獨(dú)秀的前提下,用戶常用的操作系統(tǒng)、 Office軟件、 Wen 瀏覽器和客戶端軟件都是基于微軟的平臺(tái)開發(fā),因此和 微軟 SSO 整合的優(yōu)勢不言而喻。 ? 能夠兼容以往的應(yīng)用系統(tǒng) 本解決能夠解決兼容以往應(yīng)用程序的問題。而其他應(yīng)用系統(tǒng)則需要所有的應(yīng)用系統(tǒng)遵循其提供的框架、標(biāo)準(zhǔn)或者接口進(jìn)行開發(fā),才能實(shí)現(xiàn) SSO。 . Oracle SSO解決方案分析 . Oracle SSO Server 產(chǎn)品背景 根據(jù) Oracle 官方網(wǎng)站 介紹, Oracle 9iAS Single SignOn 的解決方案是用來整合 Web 應(yīng) 用單點(diǎn)登錄的應(yīng)用需求,其核心技術(shù)就是 Oracle 9i AS SSO Server。這個(gè)技術(shù)最早推出是在 Oracle 9i AS Sv1 這個(gè)版本,但是在這個(gè)版本,這個(gè)功能只是作為 Oracle 9i AS Portal 的一個(gè)組件功能,到了 Oracle 9i AS Sv2, SSO Server Consulting Service Consulting Service Consulting Service Service Service 變成 Oracle 9i AS 的基礎(chǔ)組件,不需要再和 Oracle 9i AS Portal 一起安裝。原文如下: The core of Oracle SSO technology is the Oracle9iAS SSO Server. This technology was originally introduced in Oracle9iASv1 as a ponent of Oracle9iAS Portal, but in Oracle9iASv2 the SSO Server is an infrastructure ponent, and does not require Portal to be installed. 按照官方網(wǎng)站的介紹, Oracle SSO Server 提供了一個(gè)多個(gè) Web 應(yīng)用程序的身份認(rèn)證 框架 ,減少了應(yīng)用程序的開發(fā)時(shí)間(新 Web 應(yīng)用無需再編寫登錄處理、身份認(rèn)證),減少 Web 應(yīng)用程序的系統(tǒng)管理員維護(hù),而且由于用戶無需再記住多套密碼從而提供了系統(tǒng)的安全。原文如下: Oracle9iAS SSO provides an authentication framework which can be highly useful when deploying multiple web applications. SSO improves the user experience, reduces application development costs since applications do not need their own authentication mechanisms, reduces system administration costs, and improves system security since problems associated with multiple passwords are eliminated. 按照 Oracle SSO Server 的設(shè)計(jì)情況,將需要整合的 Web 應(yīng)用分為兩類,分別是 Partner 應(yīng)用(下簡稱伙伴應(yīng)用)以及 External 應(yīng)用(下簡稱外部應(yīng)用)。以下分別介紹其劃分原理: 伙伴應(yīng)用與 Oracle SSO 框架緊密集成,由 SSO Server 驗(yàn)證用戶的身份,并且將驗(yàn)證過的用戶身份傳遞伙伴應(yīng)用程序?;锇閼?yīng)用程序可以被設(shè)計(jì)或者修改成將身份的驗(yàn)證工作委托給 9i SSO Server,并且接收 SSO Server 傳遞過來的驗(yàn)證用戶身份。通過這種手段,可以簡化伙伴應(yīng)用程序的管理,并且減少開發(fā)的工作以及后續(xù)的管理工作的工作量。原文如下: Partner applications are those which work within the SSO framework. Specifically, they are designed (or have been modified) to delegate responsibility for user authentication to the Oracle9iAS SSO Server. They accept the user identity presented to them by the Oracle9iAS SSO Server. Consulting Service Consulting Service Consulting Service Service Service Since partner applications take advantage of the aut