• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于角色訪問控制的單點登錄模型研究與設(shè)計

      2012-09-26 02:28:08馮錫煒
      電子設(shè)計工程 2012年22期
      關(guān)鍵詞:哈希單點單向

      關(guān) 滄 , 馮錫煒

      (1.遼寧石油化工大學(xué) 計算機與通信工程學(xué)院,遼寧 撫順 113001;2.撫順職業(yè)技術(shù)學(xué)院 信息工程系,遼寧 撫順 113006)

      隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,帶動了Web技術(shù)的應(yīng)用,許多的業(yè)務(wù)活動可以依托該技術(shù)來完成,例如員工考勤管理、檔案管理、信息查詢、郵件收發(fā)等均可通過架設(shè)內(nèi)部Web服務(wù)器來實現(xiàn)。不同的網(wǎng)絡(luò)應(yīng)用需要不同的服務(wù)器來支持,而多個服務(wù)器意味著用戶需要使用多個的賬號密碼,且在每次使用到不同服務(wù)器時都需要進行賬號密碼的驗證工作,隨著系統(tǒng)的增多,用戶需要花費精力記住更多的賬號和密碼,給用戶帶來很多不便,也存在很大的安全隱患[1]。

      針對這類問題,研究和探討了一種基于RBAC技術(shù)的單一登錄(Single Sign-On,SSO)的模型,讓用戶只要登錄一次,就可以根據(jù)角色的權(quán)限,訪問相應(yīng)的Web應(yīng)用系統(tǒng)資源,從而避免頻繁登錄,且可以將賬號密碼整合為一個,提高了用戶賬號密碼的安全性,以及管理上的方便性。

      1 相關(guān)技術(shù)介紹

      1.1 以角色為基礎(chǔ)的存取控制

      以角色為基礎(chǔ)的訪問控制是新一代的訪問控制策略,在用戶與權(quán)限之間加入了角色,讓用戶與權(quán)限成為間接的關(guān)系,通過角色將用戶與權(quán)限的關(guān)聯(lián)[2]。以角色作為中介,其優(yōu)點在于可以讓管理者的管理工作更為便捷并且具有彈性,把角色賦予給用戶,再把權(quán)限賦予給角色,當(dāng)用戶的職能或是任務(wù)有所改變的時候,只需改變賦予給用戶的角色,就可以改變此用戶所可以執(zhí)行的權(quán)限,讓權(quán)限的管理更加的簡單。并且角色可以對應(yīng)到日常工作中的職務(wù),讓權(quán)限的管理更符合實際業(yè)務(wù)運作的安全需求。

      圖1 RBAC架構(gòu)圖Fig.1 Structure diagram of RBAC

      RBAC 包含 3 個主要的部分,用戶(Users)、角色(Roles)與權(quán)限(Permission,PRMS),在權(quán)限中又分為操作(Operations,OPS)與對象(Objects,OBS)。 用戶首先需要分配角色,才能獲得相對應(yīng)的權(quán)限。其中用戶–角色的對應(yīng)(Users Assignment,UA)與角色-權(quán)限的對應(yīng)(Permission Assignment, PA)都是多對多的關(guān)系,即一個用戶可以具有多個角色,同一個角色也可以指派給多個用戶;同時一個角色可以包含多個權(quán)限在內(nèi),而權(quán)限也可指派給多個角色。RBAC是利用角色來對應(yīng)權(quán)限,與傳統(tǒng)方法為用戶定義權(quán)限的方式不同,RBAC的特點在于,當(dāng)用戶發(fā)生變動時,不會造成權(quán)限的變動;同樣的,當(dāng)權(quán)限有變動時,也不會影響到用戶。變更的管理可以完全由角色來進行,這樣就使得管理的復(fù)雜度下降,而且提高了工作效率。另外,票據(jù)(Sessions)發(fā)生在用戶在角色轉(zhuǎn)換的過程,是共享授權(quán)信息的數(shù)據(jù)結(jié)構(gòu),用戶所分配的角色是一對多的關(guān)系,同一時間內(nèi)用戶可以具有多個不同的角色,限制用戶不會有過多且過大的權(quán)限,以達到最少權(quán)限的安全策略,如圖1所示。

      1.2 單點登錄技術(shù)

      點登錄技術(shù)是為了解決用戶在登錄不同網(wǎng)站之間時,需要進行多次的輸入,并且需要記憶多個賬號密碼的問題,可以提高使用者存取網(wǎng)站的便捷性,并且減輕用戶在管理賬號密碼上的負擔(dān)[3]。

      單點登錄技術(shù)的核心思想是Web訪問接口標準化,支持分布式,能夠很容易的與原有系統(tǒng)建立安全的通信機制,利用目前廣泛使用的標準瀏覽器,在不同的web服務(wù)器存取資料而不需要重復(fù)進行身份驗證[4]。單點登錄技術(shù)的成員角色如下:

      1)用戶(User):對服務(wù)進行存取的角色,包括客戶端(Client)或客戶(Customer)。

      2)服務(wù)器(Service Server):提供 Web 服務(wù)的角色,包括網(wǎng)站(Web Site)或服務(wù)器(Web Server)。

      3)驗證服務(wù)器(Authentication Server):對用戶進行身分驗證并發(fā)放相關(guān)的認證,包括登錄服務(wù)器(Login Server)或驗證服務(wù)器(Verification Server)。

      目前,單點登錄模型[5]主要分為經(jīng)紀人模型、代理模型、網(wǎng)關(guān)模型、令牌模型。

      1)經(jīng)紀人模型:用一個中央認證服務(wù)器和中央數(shù)據(jù)庫集中對身份認證和用戶賬號進行管理,提供一個公共和獨立的平臺實現(xiàn)集中式管理。這種模型需要對各Web服務(wù)系統(tǒng)進行較大修改。

      2)代理模型:通過代理程序自動地為不同的Web應(yīng)用程序認證用戶身份,具有比較好的可實施性和靈活性,但由于票據(jù)存儲在客戶端而存在較大的安全隱患。

      3)網(wǎng)關(guān)模型:在網(wǎng)絡(luò)入口處設(shè)置防火墻或?qū)S眉用芡ㄐ旁O(shè)備作為網(wǎng)關(guān),分別連接到身份認證系統(tǒng)和服務(wù)提供系統(tǒng)。當(dāng)用戶需要訪問Web應(yīng)用服務(wù)系統(tǒng)時,首先需要通過身份認證系統(tǒng)進行認證,認證通過后網(wǎng)關(guān)自動將用戶身份信息傳遞到要訪問的Web應(yīng)用服務(wù)系統(tǒng)進行認證。網(wǎng)關(guān)模型對網(wǎng)絡(luò)要求較高,且不同的網(wǎng)關(guān)之間需要同步用戶信息。

      4)令牌模型:服務(wù)器生成一張憑證令牌傳輸?shù)娇蛻舳藶g覽器并寫入Cookie,同時生成一張服務(wù)令牌用于緩存用戶信息。這種模型雖簡單易用,但也會帶來很多安全隱患。

      1.3 Lagrange插值多項式

      Lagrange插值多項式[6]是由意大利數(shù)學(xué)家Joseph Louis Lagrange所提出來的,有n個相異的 (X,Y)點,可以利用Lagrange插值多項式將這些(X,Y)點的組合,計算出一個多項式f(x),可以將這些點均包含在內(nèi)變成是一條曲線多項式,利用此特性我們可以將每個User在不同Server的不同權(quán)限放置在此曲線多項式中,等到需要某個Server的權(quán)限時,代入表示該Server的數(shù)值來取出權(quán)限值。

      2 基于RBAC的單點登錄模型的設(shè)計

      結(jié)合單點登錄與以角色為基礎(chǔ)的訪問控制(RBAC)來設(shè)計一個適用在實際環(huán)境中的身份授權(quán)與訪問控制模型。該模型由用戶(User)、Web 服務(wù)器(Service Server)、驗證及 RBAC服務(wù)器(Authentication and RBAC Server)組成[7]。

      2.1 模型環(huán)境

      1)用戶為Intranet的使用者。

      2)每個用戶默認在每部主機均有基本權(quán)限。

      3)User– Role的對應(yīng)關(guān)系由RBAC集中統(tǒng)一管理。

      4)所使用到的相關(guān)參數(shù)如下:

      IDi:User i所注冊的賬號;HPW:用戶自選的ID與PW經(jīng)一次哈希運算后所得的值;Xn:Server n與 RBAC共享的私密值,用來保護角色值;Rin:User i在 Server n 的角色;ROLEin:Rin與 Xn做 XOR 運算后的結(jié)果;Nn:Server n 的隨機數(shù);Sn:Web服務(wù)器,以 SA、SB 表示;AS:驗證服務(wù)器;En(m)、Dn(m) :服務(wù)器n的公鑰加密與私鑰解密后的信息;SKn:服務(wù)器所發(fā)放的通信密鑰;H(m):以單向哈希運算后的信息;CKn:Web 服務(wù)器對用戶的Cookie;TIDi:使用者i登入后的臨時ID;⊕:XOR運算。

      2.2 模型的功能和工作流程

      本模型總共分為6個階段,分別為注冊、申請服務(wù)、通信密鑰發(fā)放與角色獲取、登錄其他Web服務(wù)器、運行服務(wù)以及退出,模型的工作流程如圖2所示。

      圖2 工作流程圖Fig.2 Flow chart the work of model

      2.2.1注 冊

      1)新用戶自選賬號、密碼,算出HPW后向驗證服務(wù)器(Authentication Server,AS)進行注冊,驗證服務(wù)器收到用戶的注冊申請之后,將ID、HPW儲存到驗證表中,HPW=H(ID, PW)。

      2.2.2 申請服務(wù)

      1)用戶向Web服務(wù)器A提出服務(wù)的請求。

      2)Web服務(wù)器A檢查用戶端的Cookie是否擁有Web服務(wù)器A的通信密鑰SKA,如果沒有則進行步驟3)。

      3)Web服務(wù)器A產(chǎn)生一個隨機數(shù)NA,經(jīng)過兩次單向哈希運算得到 CKA=H(H(NA)),并寫入到用戶的 Coo行 ie當(dāng)中,供后續(xù)驗證使用。

      NA經(jīng)過一次單向哈希運算后,以驗證服務(wù)器的公開密鑰加密產(chǎn)生 MA,MA=EAS(H(NA))。

      4)Web服務(wù)器 A將用戶的MA以及目前所在的網(wǎng)址URLA等信息發(fā)送到驗證服務(wù)器進行身份驗證。

      2.2.3 通信密鑰發(fā)放與角色獲取

      1)用戶向驗證服務(wù)器傳遞身份驗證的信息,進行身份登錄的驗證。

      2)身份驗證成功后,驗證服務(wù)器發(fā)放兩組通信密鑰:SKAS、SKA;并給用戶一個TID供后續(xù)識別使用。將SKAS和TID發(fā)送回用戶的Cookie存放[8]。

      3)驗證服務(wù)器將用戶者的ID以及Web服務(wù)器A的信息送到RBAC服務(wù)器。

      4)RBAC服務(wù)器收到ID與Web服務(wù)器A的信息后,找出該ID的Lagrange多項式,并且代入Web服務(wù)器A的服務(wù)器代碼,求得用戶在Web服務(wù)器A的原始角色值,再將此原始角色值乘上對應(yīng)的代理碼,產(chǎn)生角色值RiA,將角色值RiA與服務(wù)器A的私密值XA作XOR運算,產(chǎn)生ROLEiA之后,ROLEiA=RiA⊕XA,發(fā)送回驗證服務(wù)器。

      5)驗證服務(wù)器將用戶成功登錄Web服務(wù)器A的信息進行記錄,供用戶注銷時使用;驗證服務(wù)器將用戶所傳送的MA以自身的私鑰解出 H(NA),H(NA)=DAS(MA)=DAS(EAS(H(NA)));將 H(NA)與 SKA作 XOR 運算產(chǎn)生 W,W=SKA⊕H(NA);將 SKA作一次單向哈希運算得到 X,X=H(SKA);將 H(NA)和 ROLEiA作互斥或運算產(chǎn)生 Y,Y=ROLEiA⊕H(NA);將ROLEiA作一次單向哈希運算得到 Z,Z=H(ROLEiA);最后將W,X,Y,Z以HTTP Post方式發(fā)送回Web服務(wù)器A。

      6)Web服務(wù)器A將自己的NA作一次單向哈希運算后,在與W及Y做互斥運算后解出SKA’及ROLEiA’,SKA’=W⊕H(NA)=(SKA⊕H(NA))⊕H(NA),ROLEiA’=Y⊕H(NA)=(ROLEiA⊕H(NA))⊕H(NA);將 SKA’與 ROLEiA’分別做一次單向哈希運算,和 X 及 Z 做比對是否相同,X=H(SKA)=H(SKA’),Z=H(ROLEiA)=H(ROLEiA’)。

      將Web務(wù)器A自己的NA作兩次單向哈希運算得到CKA’,與用戶端在服務(wù)請求時獲得的并存放在Cookie中的CKA進行對比,相同則表示用戶者為原始用戶,CKA’=CKA,其過程如圖3所示。

      2.2.4 登錄其他Web服務(wù)器

      1)用戶身份驗證成功后,向Web服務(wù)器B申請服務(wù)。申請服務(wù)的過程與上述申請服務(wù)階段一樣,如果用戶沒有通信密鑰SKB,Web服務(wù)器B會產(chǎn)生隨機數(shù)NB,并產(chǎn)生CKB,寫入到用戶的Cookie中。Web服務(wù)器B將隨機產(chǎn)生的隨機數(shù)NB,做一次單向哈希運算,再用驗證服務(wù)器的公開密鑰加密產(chǎn)生MB以及用戶者目前所在的URLB以HTTP Post的方式發(fā)送到驗證服務(wù)器進行身份驗證。

      圖3 通信密鑰發(fā)放與角色獲取流程圖Fig.3 Flow chart the work of key and role distribution

      2)驗證服務(wù)器檢查用戶的Cookie中是否有驗證服務(wù)器的通信密鑰SKAS以及臨時的TID,若有則表示已通過身份驗證,若否則進行身份驗證。

      3)驗證服務(wù)器將用戶的ID以及Web服務(wù)器B的信息送到RBAC服務(wù)器。

      4)RBAC服務(wù)器收到ID與Web服務(wù)器B的信息后,找出該ID的Lagrange多項式,并且代入Web服務(wù)器B的服務(wù)器代碼之后,求得用戶在Web服務(wù)器B的原始角色值,再將此原始角色值乘上對應(yīng)的代理碼,產(chǎn)生角色值RiB,將角色值RiB與服務(wù)器B的私密值XB作XOR運算,產(chǎn)生ROLEiB后,發(fā)送回驗證服務(wù)器。

      5)驗證服務(wù)器將用戶成功登錄Web服務(wù)器B的信息進行記錄,供用戶退出時使用,驗證服務(wù)器將用戶所傳送的MB以自身的密鑰解出 H(NB),將 H(NB)與 SKB作 XOR 運算產(chǎn)生W;將SKB作一次單向哈希函數(shù)運算得到 X;將H (NB)和ROLEiB作XOR運算產(chǎn)生Y;將ROLEiB作一次單向哈希運算得到Z;最后將W,X,Y,Z以HTTP Post方式送回服務(wù)服務(wù)器B。

      6)服務(wù)服務(wù)器B將自己的NB作一次單向哈希運算后,在與 W及 Y做 XOR運算后解出 SKB’及 ROLEiB’,將 SKB’與 ROLEiB’分別做一次單向哈希運算,和X及Z做比對是否相同。

      將Web務(wù)器B自己的NB作兩次單向哈希運算得到CKB’,與用戶端在服務(wù)請求時獲得的并存放在Cookie中的CKB進行對比,相同則表示用戶者為原始用戶,CKB’=CKB。

      2.2.5 運行服務(wù)

      1)用戶向Web服務(wù)器A申請服務(wù)。

      2)Web服務(wù)器檢查使用者Cookie是否有通信密鑰SKA,若有則表示用戶已登錄過服務(wù)服務(wù)器A。

      4)RiA除以2,如果能整除則商為用戶原始的角色值,如果不能整除,則拒絕服務(wù)。

      服務(wù)流程如圖4所示。

      圖4 運行服務(wù)流程圖Fig.4 Flow chart the work of Service Execut

      2.2.6退 出

      用戶按照正常程序進行退出,Web服務(wù)器將用戶信息發(fā)送至驗證服務(wù)器,驗證服務(wù)器查詢用戶登錄過的Web服務(wù)器,并將原先發(fā)放給用戶的通信密鑰SKAS以及Web服務(wù)器與用戶所用的通信密鑰SKn做超時丟棄處理,即完成退出。

      如果用戶沒有依照正常程序退出,密鑰具有時間限制,待其超時后,密鑰會自動失效;若用戶直接關(guān)閉瀏覽器,則存放在Cookie中的密鑰也將超時丟棄。

      3 結(jié)束語

      通過對該模型的研究,在服務(wù)器端,不需要變更現(xiàn)有的網(wǎng)絡(luò)架構(gòu),不需要額外安裝系統(tǒng)軟件;在用戶端,用戶只需要使用支持W3C(World Wide Web Consortium)標準的瀏覽器,不需要額外安裝用戶端軟件,也不會改變使用者原本的使用習(xí)慣,就可以平滑的過渡,保留了用戶的操作習(xí)慣;在系統(tǒng)平臺方面沒有任何限制;在實現(xiàn)技術(shù)上,使用了目前已經(jīng)成熟的技術(shù),例如:HTTP、Cookies、非對稱式加解密、XOR 運算、單向哈希運算等,并且都可以使用免費的Open source,節(jié)約了建設(shè)成本,在Web界面上達到單點登錄結(jié)合用戶授權(quán)的目的。本研究所提出的模型依然有不足之處,跨域和角色分組將是未來研究的方向。

      [1]季曼,林中.單點登錄方案的研究與設(shè)計[J].計算機工程與設(shè)計,2009,30(12):2862-2864.

      JI Min,LIN Zhong.Research and design of single sign-on scheme[J].Computer Engineering and Design,2009,30(12):2862-2864.

      [2]侯瀟.角色-用戶-權(quán)限控制設(shè)計與實現(xiàn) [J].電子設(shè)計工程,2009,19(12):96-101.

      HOU Xiao.Design and implementation of role-users-access control[J].International Electronic Elements,2009,19(12):96-101.

      [3]梁志罡.基于Web Service的混合架構(gòu)單點登錄的設(shè)計[J].計算機應(yīng)用,2008,30(12):3363-3364.

      LIANG Zhi-gang.Design ofsingle sign-on forhybrid architecture based on web service[J].Journal of Computer Applications,2008,30(12):3363-3364.

      [4]楊榮華.基于SOA的單點登錄系統(tǒng)研究與設(shè)計[D].長沙:中南大學(xué),2008.

      [5]徐寶磊,王安志.基于Session的單點登錄系統(tǒng)研究與設(shè)計[J].重慶文理學(xué)院學(xué)報:自然科學(xué)版,2012,31(2):75-77.

      XU Bao-lei,WANG An-zhi.Research and design of single sign-on system based on session[J].Journal of Chongqing University of Arts and Sciences:Natural Science Edition,2012,31(2):75-77.

      [6]張挺,耿繼秀.Web環(huán)境下的SSO實現(xiàn)模式的研究[J].計算機仿真,2005,22(8):128-131.

      ZHANG Ting,GENG Ji-xiu.Research and Design of Webbased SSO System[J].Computer Simulation,2005,22 (8):128-131.

      [7]鄧緒水,宋庭新,黃必清.單點登錄技術(shù)在企業(yè)資源集成中的應(yīng)用[J].湖北工業(yè)大學(xué)學(xué)報,2012,24(2):24-27.

      DENG Xu-shui,SONG Ting-xin,HUANG Bi-qing.Application of EIP-based single sign-on technology in EAI[J].Journal of Hubei University of Technology,2012,24(2):24-27.

      [8]董毅南.分布式數(shù)據(jù)庫安全的關(guān)鍵技術(shù)[J].工業(yè)儀表與自動化裝置,2012(4):15-17,50.

      DONG Yi-nan.The key technology of distributed database security[J].Industrial Instrumentation&Automation,2012(4):15-17,50.

      猜你喜歡
      哈希單點單向
      碳纖維/PPS熱塑性單向預(yù)浸帶進入市場
      用“單向?qū)m排除法”解四宮數(shù)獨
      單向截止閥密封失效分析
      歷元間載波相位差分的GPS/BDS精密單點測速算法
      超薄異型坯連鑄機非平衡單點澆鑄實踐與分析
      山東冶金(2019年5期)2019-11-16 09:09:10
      數(shù)字電視地面?zhèn)鬏斢脝晤l網(wǎng)與單點發(fā)射的效果比較
      基于OpenCV與均值哈希算法的人臉相似識別系統(tǒng)
      16噸單點懸掛平衡軸的優(yōu)化設(shè)計
      基于維度分解的哈希多維快速流分類算法
      計算機工程(2015年8期)2015-07-03 12:20:04
      單向度
      新聞前哨(2015年2期)2015-03-11 19:29:30
      新竹市| 雷山县| 菏泽市| 漾濞| 津市市| 巴彦淖尔市| 景德镇市| 石城县| 远安县| 绥阳县| 广水市| 凤山市| 嘉兴市| 衡阳县| 谢通门县| 鄯善县| 托克逊县| 砚山县| 寻乌县| 恭城| 方山县| 福建省| 益阳市| 大余县| 内乡县| 舞阳县| 读书| 闸北区| 阳春市| 温宿县| 六枝特区| 金阳县| 恩平市| 民县| 桓台县| 彭泽县| 碌曲县| 扎赉特旗| 宁国市| 凌海市| 于田县|