《電子技術應用》
您所在的位置:首頁 > 其他 > 業界動態 > 基于Cookie的單點登錄技術

基于Cookie的單點登錄技術

2009-07-10
作者:鐘衛東

  摘 要: 在基于Web的多種應用系統中需要統一身份認證和資源訪問控制機制,采用基于Cookie的單點登錄系統是一種很好的解決方案,它是一種基于HTTP重定向和票據,并以跨域Cookie的共享為核心的集中式認證系統。
??? 關鍵詞: Cookie;單點登錄;跨域認證

?

  隨著信息技術和網絡技術的發展,企業信息化建設已經進入了快速發展的階段,隨著企業信息化過程的不斷深化,Web應用系統規模也不斷擴大。大量Web應用系統在辦公自動化中得到廣泛應用。每個應用系統出于安全因素考慮都建立了登錄模塊,用戶訪問不同的應用系統需要多次輸入用戶名和口令,使用非常不便,工作效率低下;而且眾多的用戶名和密碼增加了系統管理的負擔;用戶名和密碼的冗余存儲造成了資源浪費;另外用戶為了便于記憶常常會使用簡單口令或相同口令,頻繁的輸入也大大增加了口令被非法截獲和破解的幾率。這些都會降低Web應用系統的安全性。
  如何實現方便快捷、管理輕松、成本低、安全性高的認證已經成為當前企業Web應用中亟待解決的問題之一。建立一個跨平臺、跨應用的基礎性服務系統,將企業中各個應用系統的身份認證獨立出來,進行集中統一管理,是解決上述問題行之有效的方法。每個用戶只需要一套用戶名和口令,進行一次身份驗證,就可以對所授權的所有信息系統進行無縫訪問。從而提高辦公效率、方便系統管理、降低使用成本、提升企業Web的整體安全。這種解決方案就是單點登錄SSO(Single Sign On),單點登錄在企業Web系統中的應用,對于推動網絡辦公自動化的普及和發展具有十分重要的作用。
1 Cookie概述
1.1? Cookie的定義及功能

  Cookie是用戶在瀏覽網頁頁面時,服務器發送給瀏覽器的體積很小的純文本信息,它保存在客戶機的內存中,或作為文件保存在客戶機的硬盤中,用戶以后訪問同一個Web服務器時瀏覽器會把它們原樣發送給服務器。通過讓服務器讀取它原先保存到客戶端的信息,網站能夠為瀏覽者提供一系列的方便。目前,Cookie已廣泛應用于Web應用中,如Microsoft的Passport 單點登錄服務就是借助于Cookie完成的。
1.2? Cookie的組成
  Cookie由變量名和值組成。其屬性里既有標準的Cookie變量,也有用戶自己創建的變量,屬性中變量是用“變量=值”形式來保存。
  Cookie的基本格式如下:
  NAME=VALUE;expires=Date;Path=PATH;
  Domain=DOMAIN_NAME;Secure
  其中各項以“;”分開,首先是指定Cookie的名稱,并為其賦值。接下來分別是Cookie的有效期、URL路徑以及域名,在這幾項中,除了第一項以外,其它部分均為可選項。
  (1)NAME=VALUE是每一個Cookie均必須有的部分。NAME是該Cookie的名稱,VALUE是該Cookie的值。在字符串“NAME=VALUE”中,不含分號、逗號和空格等字符。如NAME是role_cookie,其VALUE是manager。
  (2)Expires=DATE:Expires變量是一個只寫變量,它確定了Cookie有效終止日期。該變量可省,如果缺省時,則Cookie的屬性值不會保存在用戶的硬盤中,而僅僅保存在內存當中,Cookie文件將隨著瀏覽器的關閉而自動消失。
  (3)Domain=DOMAIN_NAME:Domain是Cookie在其內有效的主機或域名。Domain確定了哪些lnternet域中的Web服務器可讀取瀏覽器所存取的Cookie,即只有來自這個域的頁面才可以使用Cookie中的信息。這項設置是可選的,缺省時,設置Cookie的屬性值為該Web服務器的域名。
  (4)Path=PATH:Path定義了Web服務器上哪些路徑下的頁面可獲取服務器設置的Cookie。該項設置同樣是可選的,如果缺省時,則Path的屬性值為Web服務器傳給瀏覽器的資源的路徑名。可以看出借助對Domain和Path兩個變最的設置,即可有效地控制Cookie文件被訪問的范圍。
  (5)Secure:在Cookie中標記該變量,表明只有當瀏覽器和Web Server之間的通信協議為加密認證協議時,瀏覽器才向服務器提交相應的Cookie。當前這種協議只有一種,即為HTTPS。
1.3? Cookie的使用
  有兩種方式使用Cookie,一是當用戶用瀏覽器首次訪問某Web站點(Web服務器)時,服務器端先用Set-Cookie header來創建一個Cookie,再用Response命令將Cookie寫入訪問者的計算機,此過程稱作創建Cookie;二是當用戶用瀏覽器再次訪問此Web站點時,用Request命令從訪問者的計算機中以忽略路徑的方式取回Cookie,此過程稱作讀取Cookie。
2?單點登錄的關鍵技術
2.1?單域單點登錄
  單域單點登錄指只有一個服務實體域,所有屬于該域的服務實體都信任這個機構所認證過的用戶,某一用戶在成功登錄單域中的任意一臺Web服務實體以后,繼續訪問同一服務實體不需要再次經過認證,并且訪問同一域的其他Web服務實體,也不需要經過認證。
  采用Cookie技術解決SSO主要過程描述如下:
  首先用戶通過客戶端瀏覽器,向應用服務器請求訪問和使用受保護的資源,應用服務器分析請求,檢查這個用戶是否有已經創建好的有效的Cookie,其中包含有效的用戶SSO票據。如果沒有有效的Cookie,則應用服務器將用戶的Web瀏覽器重定向到登錄服務器。若驗證成功,登錄服務器產生一個有效的Cookie,其中包含有效的用戶SSO票據。為安全起見,一般要對此Cookie中的信息進行加密處理。登錄服務器將含有SSO票據的Cookie發送給用戶的Web瀏覽器,并將用戶的Web瀏覽器重定向到原先請求的資源,向應用服務器再次請求訪問和使用已申請的資源。驗證成功,則向用戶提供所請求的資源;若驗證不成功,則拒絕用戶訪問所請求的資源或提示用戶重新登錄。圖1顯示了單點登錄訪問流程。

2.2?跨域單點登錄
  Cookie的存取只對同一域下的主機有效,分布式應用系統往往不能保證所有的主機都在同一域下。當用戶登錄加入SSO認證體系里的一臺服務器時,例如服務器A,客戶機瀏覽器可以將獲得的登錄用戶票據記錄到本地Cookie中,當此客戶機轉而訪問服務器B的時候,為了實現單點登錄,服務器B必須要獲得標識用戶登錄狀態的票據作為憑證來進行驗證,而此票據存儲于先前訪問服務器A時留下的Cookie,此Cookie只對來自服務器A域里的訪問有效,為獲取訪問其他域主機的Cookie,必需實現跨域共享Cookie。
  假設處于不同域下的服務器A和服務器B聯合組成的網絡應用需要統一的用戶認證,客戶機曾在服務器A進行了訪問,并且在本地保存了服務器A的Cookie,圖2顯示了客戶機在訪問服務器B的時候共享服務器A的Cookie的過程。

  共享網跨域單點登錄系統的登錄及認證過程涉及客戶機、數據中心和登錄認證中心(CA)三個角色之間的交互。采用Cookie技術解決跨域SSO主要過程描述如下:
  (1)客戶機訪問某一數據中心網站的受保護資源,單點登錄模塊首先接管請求,查詢客戶機是否持有本數據中心的Cookie,并試圖獲取其中的訪問票據。如果客戶機可以提供,說明用戶曾經以合法身份訪問過此數據中心,并且尚未在本地注銷,轉向(4);否則,要通過共享跨域的Cookie來確定是否進行全局登錄,進行(2)。
  (2)這個步驟的主要工作是跨域獲取Cookie。客戶機瀏覽器被重定向到登錄認證中心,CA試圖獲取存儲于客戶機的Cookie,如果不存在,說明用戶尚未全局登錄,轉向(3);否則,從Cookie中獲取票據。然后CA將客戶機瀏覽器重定向回原先訪問的數據中心,數據中心獲取票據和返回地址,把票據寫入客戶端Cookie并跳轉到返回地址,然后進行(1)。
  (3)重定向客戶機瀏覽器到CA上的登錄頁面,認證中心獲取登錄用戶名和密碼并將其與用戶信息庫信息核對,進行用戶身份確認。如果沒有這個用戶或密碼錯誤,直接返回登錄失敗;如果驗證成功,隨機生成標識此用戶登錄的唯一票據,并生成一個條目放入用戶信息庫中,并把票據存入客戶機的Cookie中。然后,通過跨域Cookie共享機制,把此票據轉入客戶機所訪問的數據中心,將臺寫到客戶機的Cookie中,用戶完成登錄,轉向(1)進行資源訪問。
  (4)客戶機用票據來訪問認證中心的用戶狀態查詢服務,認證中心訪問用戶信息庫確定該用戶是否依然處于登錄狀態。如果處于登錄狀態則將用戶名和用戶的訪問級別返回數據中心,允許用戶訪問數據資源。否則,然后轉向(3),提示用戶輸入用戶名和密碼。
  在本方案的整個流程中,除了最初輸入的用戶名和密碼外,其他所傳輸的都是票據,最后客戶機拿此票據獲取登錄用戶的用戶名,從而結束認證過程。
3 安全性分析
????? 保存有用戶SSO票據的Cookie需要在客戶端和服務器端來回傳遞,而一般情況下,在傳輸信道中Cookie是以明文形式傳輸的,本身也不能提供完整性等安全驗證機制,而且它在客戶端也是明文存儲的,因此存在較大的安全隱患。因此,在認證系統中,需要有相應的安全措施,來保護Cookie的安全性。
  (1)重放攻擊。在本方案中每個Cookie均由產生者加上唯一的ID域和時間戳域,可以抵御重放攻擊。
  (2)消息篡改。因為Cookie存放在客戶端瀏覽器中,雖然Cookie技術本身具備防止非授權服務器端篡改的手段,但是目前也發現可以通過偽造DNS域名來進行篡改。在本方案中,每個發布的Cookie均由發布者進行數字簽名,各模塊在使用這些Cookie時,首先簽證數字簽名的值是否正確,如果數字簽名值為非法,那么拒絕該Cookie。這樣就可以完全杜絕Cookie被篡改的情況發生。
  (3)竊聽及中間人攻擊。這種攻擊是指認證過程的信息被他人查看,進而進行分析,最后將自己的數據替代原始數據。只要防止Cookie被其他人隨意查看和分析,即可抵御該種攻擊。可以在本方案中引入密鑰的分配和管理系統,對系統中的各模塊分配密鑰和定時更新密鑰。在認證過程中,對各種Cookie中的關鍵域值進行對稱加密,防止中間人讀取有效的數據。
  企業單點登錄方案將企業內部相對獨立分散的網絡應用系統進一步得到了統一,消除了企業信息化孤島和數據冗余等問題,有效地實現了數據共享,使一個用戶只要驗證一次即可訪問多個應用系統,解決了困擾單位內部不同部門應用系統重復登錄和反復認證的難題,整個過程對于用戶來說是透明的,不需要改變原有的業務流程。這樣既方便了用戶使用,又提高了網絡辦公的工作效率。當然,Cookie的使用需要注意安全問題,要采用相應的安全技術。

參考文獻
[1] 陳旭暉,林世平,莊世芳,等.基于Web服務的單點登錄系統.福建電腦,2006,3.
[2] 孫雷.基于網格的Web Services技術分析及單點登錄問題探討[J].中國科技信息,2005.
[3] 邱航,權勇.基于Kerberos的單點登錄系統研究與設計[J].計算機應用.

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
一区二区三区日韩欧美精品| 猛男gaygay欧美视频| 久久国产天堂福利天堂| 亚洲天堂成人在线视频| 日韩午夜黄色| 亚洲人成人一区二区在线观看 | 一区国产精品| 黄色成人91| 好吊视频一区二区三区四区| 国内精品久久久久影院薰衣草| 国产一区欧美| 伊人狠狠色丁香综合尤物| 伊伊综合在线| 最近看过的日韩成人| 91久久国产综合久久蜜月精品 | 日韩视频一区二区在线观看| 亚洲精品四区| 亚洲久久一区二区| 一区二区高清在线| 亚洲一区视频| 欧美一二三区精品| 久久精品亚洲一区二区三区浴池| 久久精品国产99| 可以免费看不卡的av网站| 免费观看成人www动漫视频| 欧美大秀在线观看 | 欧美日韩在线一区二区| 国产精品国码视频| 国产欧美日韩视频一区二区三区| 国产午夜精品视频免费不卡69堂| 国产一区视频在线观看免费| 一区在线视频| 亚洲每日更新| 亚洲欧美日韩中文播放| 久久精品国产一区二区三区免费看| 亚洲国产欧美一区| 99精品欧美一区二区蜜桃免费| 亚洲一区二区精品视频| 小处雏高清一区二区三区| 久久免费黄色| 欧美日韩免费视频| 国产欧美日韩专区发布| 在线播放日韩| 妖精成人www高清在线观看| 亚洲综合国产激情另类一区| 久久成人国产精品| 亚洲美女黄网| 亚洲欧美国产另类| 亚洲毛片一区| 国产欧美精品国产国产专区| 亚洲日本电影在线| 亚洲午夜一区| 在线观看欧美日本| 9色porny自拍视频一区二区| 亚洲欧美福利一区二区| 亚洲国产美女| 亚洲一区二区四区| 久久亚裔精品欧美| 欧美天堂亚洲电影院在线观看| 国产伦一区二区三区色一情| 亚洲国产成人久久综合一区| 在线综合+亚洲+欧美中文字幕| 久久精品一二三| 亚洲男人av电影| 免费在线日韩av| 国产精品99一区| 亚洲欧美另类国产| 国产精品videosex极品| 国产亚洲视频在线观看| 亚洲美女91| 亚洲国产高清一区| 亚洲男女自偷自拍图片另类| 欧美不卡视频一区发布| 国产精品久久久久9999高清| 亚洲国产午夜| 欧美一区观看| 亚洲一区二区在线观看视频| 蜜桃久久精品乱码一区二区| 国产精品一区二区a| 亚洲精品国产无天堂网2021| 欧美在线黄色| 亚洲一区影音先锋| 欧美精品成人91久久久久久久| 国内成+人亚洲+欧美+综合在线| 一区二区三区精品国产| 亚洲精品久久嫩草网站秘色| 欧美一区二区三区视频在线| 欧美日韩国产一区二区三区地区 | 亚洲婷婷免费| 亚洲免费高清| 美女诱惑一区| 国产小视频国产精品| 国产精品99久久久久久白浆小说| 亚洲精品国精品久久99热一| 久久琪琪电影院| 国产亚洲综合在线| 亚洲午夜久久久久久久久电影院 | 欧美va亚洲va香蕉在线| 国产亚洲欧美一区二区| 亚洲色图自拍| 一区二区三区视频观看| 欧美黄色片免费观看| 在线免费一区三区| 久久精品亚洲一区二区三区浴池| 欧美有码视频| 国产精品乱码妇女bbbb| 一本大道久久精品懂色aⅴ| 日韩亚洲精品电影| 欧美激情综合色| 最新国产成人av网站网址麻豆| 亚洲国产小视频| 亚洲直播在线一区| 亚洲无线观看| 欧美三级韩国三级日本三斤| 亚洲日韩视频| 国产精品老女人精品视频| 亚洲人午夜精品| 午夜国产精品视频| 国产精品久久久久久久久久尿| 一本色道久久88综合亚洲精品ⅰ| 一区二区动漫| 欧美天天视频| 亚洲一区二区免费视频| 亚洲欧美三级在线| 国产精品夜色7777狼人 | 日韩视频在线免费| 欧美金8天国| 日韩亚洲一区在线播放| 亚洲一区二区三区久久| 国产精品美女在线观看| 午夜老司机精品| 久久久亚洲午夜电影| 一区在线影院| 亚洲乱码视频| 欧美日韩三级视频| 在线中文字幕一区| 欧美呦呦网站| 永久免费精品影视网站| 99精品免费网| 国产精品红桃| 久久成人这里只有精品| 欧美肥婆在线| 在线视频你懂得一区二区三区| 午夜精品免费在线| 国产自产精品| 亚洲人成网站999久久久综合| 欧美巨乳波霸| 亚洲性图久久| 久久婷婷丁香| 亚洲精品小视频在线观看| 亚洲欧美日韩在线综合| 国产一区二区三区视频在线观看 | 国产亚洲成人一区| 亚洲人成网站影音先锋播放| 欧美日韩精品福利| 亚洲一区二区三区激情| 久久―日本道色综合久久| 亚洲国产欧美精品| 亚洲欧美文学| 激情自拍一区| 亚洲午夜久久久| 国产在线视频欧美一区二区三区| 亚洲人成人99网站| 国产精品久久99| 亚洲高清视频在线观看| 欧美日韩午夜激情| 欧美一区二区在线免费播放| 欧美精品一区在线播放| 亚洲综合第一页| 欧美成人中文| 午夜精品剧场| 欧美区日韩区| 欧美一区二区私人影院日本| 欧美日本免费一区二区三区| 午夜日本精品| 欧美日韩在线精品| 久久av一区二区三区亚洲| 欧美日韩国产综合网| 欧美在线在线| 欧美偷拍另类| 亚洲激情一区二区三区| 国产精品乱子乱xxxx| 亚洲欧洲一区二区在线播放| 国产精品午夜视频| 亚洲最新合集| 影院欧美亚洲| 欧美一区二区性| 日韩五码在线| 老鸭窝91久久精品色噜噜导演| 在线一区二区日韩| 欧美精品久久久久久久久老牛影院| 亚洲免费在线视频| 欧美乱大交xxxxx| 久久电影一区| 国产精品夜夜嗨| 一区二区三区四区五区精品视频| 黑人巨大精品欧美黑白配亚洲| 亚洲欧美视频一区| 日韩一二在线观看| 欧美华人在线视频|