江澤濤,徐娟娟
(桂林電子科技大學廣西圖像圖形處理與智能處理重點實驗室,廣西桂林541004)
(*通信作者電子郵箱1903281466@qq.com)
云計算技術(shù)的飛速發(fā)展,普及了智能終端及移動設(shè)備的使用[1],并促使開發(fā)更多的服務以及應用部署到移動設(shè)備,而移動設(shè)備的特點使其所面臨的安全問題日益凸顯,因此云環(huán)境下的移動設(shè)備安全與隱私保護技術(shù)引起了廣泛的關(guān)注。云計算環(huán)境自身的結(jié)構(gòu)特點[2]有參與計算的節(jié)點種類多樣、位置分布稀疏且通常無法有效控制。各個域內(nèi)用戶在傳輸、處理和存儲的過程中均存在泄露隱私的風險。竊取服務攻擊可以非法竊取他人的云計算資源[3],所以云環(huán)境下的安全性至關(guān)重要。在面向云環(huán)境在不同的地方可能采用不同的公鑰密碼體制[4-5]實現(xiàn)跨域身份認證的新思路,有必要提出一種云環(huán)境下實現(xiàn)異構(gòu)系統(tǒng)的高效跨域認證方案。
目前,跨域平臺在公司內(nèi)部實現(xiàn)各種不同的功能,并且要保證每個體制的用戶和云服務提供商身份的完整性和合法性,能夠抵抗外來的惡意攻擊者,防止信息的泄露等。實現(xiàn)公共密鑰基礎(chǔ)設(shè)施(Public Key Infrastructure,PKI)和無證書公鑰密碼體制(CertificateLess public key Cryptography ,CLC)域之間安全高效的跨域認證是保證安全信息服務的前提[6-7]。文 獻[8]提 出 了 便 攜 式 TPM(portable Trusted Platform Module,PTPM)和無證書公鑰的認證模型,實現(xiàn)了用戶與云端之間雙向因子身份認證,但在注冊以及重復跨域認證沒有提高計算效率,且只針對同一體制的跨域認證。文獻[9]基于代理重簽名的跨域認證模型,實現(xiàn)了強不可偽造的域之間的跨域認證,但是存在異構(gòu)系統(tǒng)的跨域認證以及高效認證問題。文獻[10]基于無證書簽名的云端跨域身份認證框架,引入分層ID 樹結(jié)構(gòu)確保身份的唯一性,并能抵抗偽造、重放與替換攻擊,具有較高的安全性,但是無法實現(xiàn)異構(gòu)系統(tǒng)的跨域認證,并且計算負載大。文獻[11]提出了基于身份的公鑰密碼體制(Identity-Based Cryptography,IBC)域之間信息服務實體的跨域認證模型,但是無法滿足不同密碼體制的跨域認證。文獻[12]基于區(qū)塊鏈技術(shù)的跨域認證方案的聯(lián)盟鏈跨域模型滿足跨異構(gòu)域認證,但無法實現(xiàn)身份的匿名性追蹤。
針對目前存在的大部分跨域身份認證模型[13-16]不能很好地實現(xiàn)不同密碼體制的認證。在面向云環(huán)境在不同的地方可能采用不同的公鑰密碼體制實現(xiàn)跨域身份認證的安全問題,本文提出了一種云環(huán)境下基于簽密的異構(gòu)跨域[17]身份認證方案。利用簽密算法[18]對匿名身份簽密不僅提高通信的計算效率,同時保證身份信息的機密性和雙向認證性,不可偽造性、滿足身份匿名性等。惡意攻擊者無法從密文中獲取發(fā)送方或接收方的身份信息,可以起到有效地保護收發(fā)雙方用戶的身份隱私的作用,并允許云間身份認證中心對用戶身份簽密信息進行驗證,返回認證結(jié)果,減少了用戶承載的計算量。
設(shè)G1和G2是階為q素數(shù)的循環(huán)群,P是G1的一個生成元,若e:G1×G2→G2滿足:
1)雙線性性。對任意的a,b∈,能夠滿足e(Pa,Pb)=(P,P)ab。
2)非退化性。e(P,P)≠1G2,其中1G2是G2的單位元。
3)可計算性。對任意的P1,P2∈G1,存在一個有效的算法計算e(P1,P2)。
那么稱e是一個雙線性映射。
本方案的安全性基于BDH(Bilinear Diffie-Hellman)問題假設(shè)和CDH(Computational Diffie-Hellman)問題假設(shè),下面是具體的定義。
BDH 問題G1,G2均是階為素數(shù)q的加法循環(huán)群和乘法循環(huán)群,P是G1的生成元,給定(P,aP,bP,cP),其中a,b,c∈是未知的,計算e(P,P)abc∈G2。
定義1 BDH 假設(shè)。對于算法A存在任何一個概率多項式時間能成功求解BDH 問題的概率為AdvBDH(A)=Pr[A(P,aP,bP,cP)=e(P,P)abc∈G2,abc∈],若AdvBDH(A)是可忽略的,則稱BDH是困難性問題。
CDH 問題G1是階為素數(shù)q的加法循環(huán)群,P是G1的生成元,給定(P,aP,bP)∈G1,其中a,b∈是未知的,計算abP∈G1。
定義2 CDH 假設(shè)。對于算法A存在任何一個概率多項式時間能成功求解CDH 問題的概率為AdvCDH(A)=Pr[A(P,aP,bP)=abP∈G1,a,b∈],若AdvCDH(A)是可忽略的,則稱CDH是困難性問題。
CK(Canetti-Krawczyk)安全模型[10]定義了兩種攻擊模型分別為認證鏈路的模型AM(Authenticated-links adversarial Model)和未認證鏈路的模型UM(Unauthenticated-links adversarial Model)。理想模型AM 中,任意攻擊者不能對消息進行偽造、篡改和重放,且對于同一個消息只能傳遞一次,并具有查詢會話密鑰、調(diào)用運行、攻陷協(xié)議參與者和暴露會話密鑰及測試會話密鑰的能力。
定義3 若對于A是AM 中的任一個攻擊者。如果認證協(xié)議的會話密鑰在AM中是安全的,則滿足當下所列性質(zhì)。
性質(zhì)1 未被攻陷的雙方參與者在執(zhí)行完協(xié)議后,參與雙方均能獲取相同的會話密鑰;
性質(zhì)2 攻擊者A進行測試會話密鑰查詢攻擊,根據(jù)結(jié)果A能夠正確判斷會話密鑰輸出值是隨機值,還是真實值的概率不超過1/2 +ε(ε表示安全參數(shù)范圍內(nèi)可忽略的任何值)。
本方案重新構(gòu)建了異構(gòu)系統(tǒng)跨域身份認證模型如圖1 所示。本模型設(shè)計了用戶與云服務器兩個不同的密碼體制PKI ?CLC,增加了認證實際性,從而滿足云環(huán)境中不同地方可能使用不同的密碼體制實現(xiàn)跨域身份認證;跨域認證階段去除所屬域管理中心的認證計算,用戶和云服務提供商(Cloud Service Provider,CSP)直接接受認證結(jié)果,增加模型交互的簡潔性,同時降低了系統(tǒng)管理中心的通信量;此外,云間引入了第三方證書頒發(fā)機構(gòu)(Certificate Authority,CA)認證來完成用戶和CSP的交互信息認證,增加跨域認證效率,減少了系統(tǒng)的計算開銷和負載。通過該模型實現(xiàn)一個安全、簡潔、高效的基于簽密算法的異構(gòu)跨域認證方案。
圖1 中CA1是PKI 域中的認證中心,U 是PKI 域中的任意一個用戶;CA 是負責兩個域之間的云間跨域身份驗證;密鑰生成中心(Key Generation Center,KGC)在CLC 域中負責密鑰生產(chǎn)發(fā)布,CSP也是該域中任意一個云服務提供商。主要有4個實體參與認證。
1)認證中心:云間身份認證中心CA主要負責不同安全密碼體制內(nèi)的用戶身份以及簽密進行驗證,返回結(jié)果;認證中心CA1負責所屬安全域內(nèi)用戶證書的申請、頒發(fā)、撤銷和查詢操作,對所屬域用戶臨時身份的簽名。
2)用戶U:用戶通過注冊與下載證書完成域內(nèi)身份的認證,采用簽密算法生成簽密密文與CSP交互。
3)密鑰發(fā)布中心KGC:KGC對所在域的CSP身份驗證,臨時身份簽名完成注冊保存,同時完成部分密鑰的生成和發(fā)布,解決密鑰托管問題。
4)云服務提供商CSP:在所屬安全域內(nèi)完成自己的身份認證,并采用簽密算法生成簽密密文,為合法的訪問者提供云資源服務。
這里以U 訪問CSP 的跨域資源為例。PKI 域用戶對異構(gòu)安全域CLC 的云服務提供商提交訪問資源請求消息,CSP 將收到的用戶訪問請求消息解密;解密得到的消息上傳至云間身份認證中心完成用戶身份的驗證,并將驗證結(jié)果返回云服務提供商;云服務提供商讀取驗證結(jié)果,若驗證結(jié)果不通過,則返回失敗消息并結(jié)束驗證;若驗證結(jié)果通過,云服務提供商為用戶提供云資源服務并向用戶返回成功消息;此時用戶將云服務提供商的解密消息上傳云間身份認證中心,由CA完成CSP 的身份驗證,并返回驗證結(jié)果給用戶,驗證結(jié)果失敗,則拒絕CSP 提供的云資源,驗證結(jié)果成功,計算會話密鑰建立PKI ?CLC異構(gòu)跨域信任連接。
圖1 異構(gòu)系統(tǒng)跨域身份認證模型Fig. 1 Cross-domain identity authentication model for heterogeneous systems
主要分為系統(tǒng)初始化、用戶注冊、異構(gòu)跨域身份認證和異構(gòu)重復跨域身份認證這4 個階段,分別完成系統(tǒng)參數(shù)選擇,所屬安全域內(nèi)用戶的身份注冊,簽密算法生成密文完成異構(gòu)系統(tǒng)的跨域身份驗證以及重復跨域身份合法性的驗證。
2.2.1 系統(tǒng)初始化
系統(tǒng)輸入安全參數(shù)R,令G1和G2分別是素數(shù)階為q的加法循環(huán)群和乘法循環(huán)群,P是G1的一個生成元,定義雙線性映{0,1}*→G1,H2:{0,1}n→,H3:G2→{0,1}n,表示身份信射e:G1×G2→G2。 定 義3 個 安 全 的 哈 希 函 數(shù)H1:息的長度;為確保哈希函數(shù)的輸出值是Zq中的一個元素,定義n<q;表示有限域;Zq={0,1,2,…,q- 1}去掉零元素所有的集合;符號“||”表示字符串的連接操作符。
2)CA1隨機選擇s1∈作為系統(tǒng)主密鑰,計算系統(tǒng)公鑰PCA1=s1P,公 開 系 統(tǒng) 參 數(shù)pa{G1,G2,n,e,q,P,Ppub,H1,H2,H3}。與CA1密鑰的生成過程相似,用戶隨機選著參數(shù)xU∈則用戶私鑰SKU=xU,公鑰PU=xUP。
3)KGC 隨機選著s2∈作為系統(tǒng)主密鑰,計算系統(tǒng)參數(shù)PKGC=s2P, 公 開 系 統(tǒng) 參 數(shù)pa2{G1,G2,n,e,q,P,PKGC,H1,H2,H3}。
2.2.2 用戶注冊
1)CA1→PKI的用戶注冊。
已知用戶U 的真實身份IDU,用戶選隨機數(shù)rU∈Z*q,計算臨時身份TIDU=H1(IDU||rUP)。將用戶申請注冊消息En{IDU,IDCA1,TIDU,rUP}PCA1通過公鑰PCA1加密發(fā)送給CA1;認證中心CA1利用自身私鑰對收到的申請注冊消息進行解密,CA1驗證用戶身份IDU在本地安全域內(nèi)的合法性,即驗證用戶臨時身份是否成立TIDU?H1(IDU||rUP),若驗證不通過,則返回失敗申請注冊消息;若驗證通過,檢查用戶身份IDU在用戶注冊列表中是否已存在,若已存在,直接給用戶頒發(fā)證書;若不存在,CA1先選隨機數(shù)γ∈,計算γP,證書GertU={IDCA1,θU,mU,Tbegin,Tend,PU,γP}。其中:θU是CA1對證書信息mU的簽名,Tbegin,Tend分別為證書的有效起始、結(jié)束日期;然后讀取用戶證書頒發(fā)的時間戳TU,對用戶臨時身份簽名計算δU=s1H2(TIDU||TU),并在已注冊用戶信息列表中保存{IDU,TIDU,δ1,TU,rUP,PU},同時將證書存儲到證書庫。CA1發(fā)送en{GertU,δU,TU}PU給U,用戶下載證書,通過驗證θU的正確性來判斷證書的合法性并驗證間戳TU的有效性。
2)KGC →CLC用戶注冊。
已知密鑰發(fā)布中心KGC 的真實身份為DKGC;云服務提供商CSP 的真實身份為IDCSP,CSP 選擇隨機秘密值rCSP∈,計算臨時身份證TIDCSP=H1(IDCSP||rCSPP),將申請注冊消息通過密 鑰 發(fā) 布 中 心 的 公 鑰PKGC加 密En{IDCSP,TIDCSP,PCSP,αCSPP}PKGC發(fā)送給KGC;KGC 利用自己主密鑰s2對其加密信息解密后,驗證用戶身份IDCSP在本地安全域內(nèi)的合法性,驗證臨時身份進行是否正確TIDCSP?H1(IDCSP||rCSPP);若驗證不通過,則回應失敗申請消息;若驗證通過,讀取本地時間戳TCSP,KGC對臨時身份TIDCSP簽名計算δCSP=s2H2(TIDCSP||TCSP),并計算QCSP=H2(TIDCSP),部分私鑰D=s2QCSP∈G1,并保存用戶注冊列表{IDCSP,TIDCSP,PCSP,rCSPP,TCSP};并 通 過 安 全 通 道 返 回 消 息en{QCSP,D,δCSP}PCSP給CSP,CSP 隨 機 選 擇 一 個 秘 密 值xCSP∈Z*q,計算完整私鑰SKCSP=xCSPs2QCSP,PCSP=xCSPP作為公鑰。
2.2.3 異構(gòu)系統(tǒng)跨域認證
為了滿足不同環(huán)境下的密碼體制跨域身份認證,本文利用對用戶臨時身份的簽密,由云間身份認證中心對簽密和身份進行認證,并返回認證結(jié)果,并且此過程保證了用戶的數(shù)據(jù)信息安全和身份隱私,實現(xiàn)異構(gòu)系統(tǒng)的跨域雙向身份認證,基本過程如圖2所示。
圖2 異構(gòu)跨域認證基本流程圖Fig. 2 Basic flowchart of heterogeneous cross-domain authentication
1)已知PKI 系統(tǒng)中的用戶身份IDU、私鑰SKU、臨時身份TIDU;用戶隨機選擇秘密數(shù)a∈,CYU∈,αU∈{0,1}n,并計算 會 話 密 鑰 協(xié) 商 參 數(shù)YU=aP,β1=αU+H2(TIDU),?1=H3(e(PKGC,QCSP)β1,β1PCSP),A1=β1P,S1=β1+SKUH2(TIDU),生成簽密密文σ1=((S1)PCSP,A1,?1),用戶通過安全通道向CSP 發(fā) 送 申 請 跨 域 資 源 訪 問 消 息{σ1,δU,YU,TU,CYU,request1},其中CYU隨機數(shù)是保持會話消息的新鮮性。
2)CSP 收到用戶申請訪問消息后,通過自身的私鑰SKCSP對消息解密。先判斷request1是否是訪問請求,如果不是,則拒絕用戶的訪問;如果是,并且時間戳TU是在有效范圍內(nèi),CSP 根據(jù)自己的私鑰解密簽密密文,計算f1=H3(e(D,A1),xCSPA1),獲 取 本 地 時 間 戳 時 間TCSP,上 傳 消 息{S1,A1,?1,f1,δU,δCSP,TU,TCSP,TIDCSP}Ppub到 云 間 身 份 認 證中心CA。
3)CA 用自身私鑰對收到CSP 的消息解密。CA 執(zhí)行操作:
① 驗 證 信 息 來 源 CSP 身 份 的 合 法 性δCSPP?PKGCH2(TIDCSP||TCSP),若驗證不通過,返回驗證失敗消息,若驗證通過,繼續(xù)執(zhí)行第②步;
②驗證S1=A1是否相等,先驗證等式(1)是否成立。
證明
式(1)驗證通過之后,繼續(xù)執(zhí)行步驟③;
③驗證等式V1=S1P-H2(TIDU)PU等于Α1是否成立。
證明
若等式(2)驗證也通過,繼續(xù)往下執(zhí)行步驟④;
④驗證用戶身份合法性,δUP?PCA1H2(TIDU||TU)。若以上4 個步驟驗證都成功結(jié)果為result1;反之則輸出錯誤符號“⊥”。CA將消息{result1,TIDU}PCSP返回CSP。
4)CSP查看CA返回的消息,若結(jié)果是“⊥”,CSP拒絕為用戶提供資源;若結(jié)果是result1,CSP 為用戶提供資源;CSP 選擇隨機秘密數(shù)b∈,CYCSP∈,αCSP∈{0,1}n,計算會話協(xié)商參數(shù)YCSP=bP,β2=αCSP+H2(TIDCSP),?2=H3(PKGC,PU)β2,A2=β2P,和S2=A2+H2(TIDCSP)SKCSP,生 成 簽 密 密 文σ2=((S2)PU,A2,?2),并 保 存 用 戶 注 冊 信 息 列 表{TIDU,δU,Num1,TU},其中Numi和TU是用戶跨域認證次數(shù)和有 效 時 間 ; 云 服 務 提 供 商 響 應 消 息{σ2,δCSP,YCSP,TCSP,CYCSP,request2}給用戶。
5)用戶判斷是否是響應消息,并對TCSP時間戳的有效性進行檢查;若時間在有效范圍內(nèi)對簽密密文解密,用戶計算f2=H3(e(SKUPKGC,A2)), 用Ppub加 密 消 息{S2,A2,?2,f2,δU,δCSP,TCSP,TIDU,TU}Ppub上傳CA。
6)CA接收并解密用戶發(fā)送的消息。CA先驗證上傳消息用戶身份合法性:
①δUP?PCA1H2(TIDU),若驗證通過,說明上傳者的用戶身份是合法的,則代理以下驗證:
②驗證S2=A2是否相等,先驗證等式(3)是否成立。
證明
若驗證通過,繼續(xù)執(zhí)行步驟③;
③等式驗證V2=S2P-H2(TIDCSP)PKGCPCSP等于A2是否成立:
證明
若此驗證通過,執(zhí)行步驟④;
④ 驗 證 云 服 務 提 供 商 身 份 合 法 性δCSPP?PKGCH2(TIDCSP||TCSP)。只有以上4 個步驟都驗證通過結(jié)果為result2,反之則錯誤符號輸出“⊥”。CA 將消息{result2,TIDCSP}PU返回用戶。
7)用戶收到CA 發(fā)來的結(jié)果:若結(jié)果是符號“⊥”,則驗證終止;如果是result2,用戶接受云服務提供商提供的云資源,并且計算與CSP 間的會話密鑰,PKI 系統(tǒng)中的用戶,CLC 系統(tǒng)的云服務提供商建立PKI ?CLC用戶信任跨域連接。
以上描述是PKI ?CLC域的異構(gòu)系統(tǒng)跨域身份認證的方案,若CLC 系統(tǒng)中的用戶想要訪問PKI 系統(tǒng)云服務提供商提供的云資源,認證步驟與上述步驟一致,故不再贅述。
2.2.4 異構(gòu)系統(tǒng)重復跨域認證
用戶與云服務提供商通過簽密完成異構(gòu)跨域認證,CSP將用戶身份信息記錄在用戶注冊列表中。重復跨域認證,主要是通過用戶與云服務提供建立的會話密鑰,來判斷用戶注冊列表中是否存在前后一致的會話密鑰,跨越次數(shù)和時間戳是否在有效范圍內(nèi),從而判斷重復跨越認證是否成功。后續(xù)的再次異構(gòu)跨域認證不再需要云間身份跨域認證中心代理驗證,用戶和云服務提供商也不需要后續(xù)的大量計算,即完成了雙向跨域身份的安全認證,而且不需要云間身份認證中心參與計算驗證,減少了CA的工作量。重復異構(gòu)跨域認證模型如圖3所示。
圖3 重復異構(gòu)跨域認證模型Fig. 3 Repetitive heterogeneous cross-domain authentication model
1)用戶在所屬安全域內(nèi)讀取本地時間戳Ti,并選取隨機數(shù)ai∈,N∈,Ci∈;計算新的會話密鑰協(xié)商參數(shù)YU′ =aiP, 發(fā) 送 重 復 異 構(gòu) 跨 域 認 證 消 息en{Y,YU′,Ti,Ci,N,request1}PCSP給云服務提供商CSP,其中Y是用戶與云服務提供商之前建立信任連接計算的會話密鑰。
2)CSP 收到用戶發(fā)送的重復異構(gòu)跨域認證消息后,進行如下的認證操作。
①判斷request1是否是請求訪問消息,檢查Ci會話參數(shù)的新鮮性,根據(jù)用戶身份讀取用戶注冊信息列表是否存在用戶消息{TIDU,Y,σ1,Num1,TU},若存在,判斷CSP 收到會話密鑰Y與用戶列表存儲的會話密鑰是否相等,若不相等,異構(gòu)跨域重復認證失敗。
②若相等,基于Num1,TU檢查異構(gòu)跨域次數(shù)是否在規(guī)定跨域范圍內(nèi)和時間戳Ti的有效性是否在有效范圍TU內(nèi),若跨域次數(shù)和時間戳有一個不滿足,重復異構(gòu)跨域認證失敗。
③如果以上①②情況驗證都成功,說明用戶重復異構(gòu)跨域認證成功;更新異構(gòu)跨域次數(shù)為Num1+ 1,時間戳TU更新為Ti,會話消息的有效性更新為Ci。CSP 選擇隨機數(shù)bi∈Z*q,Cj∈Z*q,計算新的會話密鑰協(xié)商參數(shù)YCSP′=biP,并讀取本地時間戳Tj,CSP回應用戶消息{YCSP′,Tj,Cj,N,request2}PU。
3)用戶U 收到CSP 消息后,檢查request2是不是回應消息,檢查Tj,Cj的新鮮性,以及收到的隨機數(shù)N是否前后一致,只有驗證都通過,用戶才會接受CSP的信息提供,并且計算更新會話密鑰Y=aibiP,完成PKI ?CLC 的重復跨域認證,并建立PKI ?CLC信任跨域連接。
3.1.1 AM中的跨域身份安全分析
采用文獻[1,10]的具體證明方法,把異構(gòu)系統(tǒng)跨域認證描述為AM 中的協(xié)議ψ。在CK 安全模型下對本方案的協(xié)議ψ的安全性進行分析。本文方案采用的是基于安全且難解時異構(gòu)簽密算法,文獻[19]證明該算法是滿足不可偽造的,則會話密鑰在AM中是安全,協(xié)議ψ也是安全的。
1)在協(xié)議ψ交互執(zhí)行完畢時,由于協(xié)議的消息參與者都沒有被AM 中的攻擊者A攻陷,因此U 和CSP均能獲取沒有被篡改的密鑰協(xié)商參數(shù)YU和YCSP,并計算獲取到相同的會話密鑰Y,滿足定義3會話密鑰安全的第1個性質(zhì)。
2)假設(shè)游戲猜測AM 中攻擊者A發(fā)起q輪猜測后,存在一個算法B,利用A的猜測結(jié)果已不可忽略的概率ε正確區(qū)分協(xié)議ψ的會話密鑰是真實值還是隨機值。隨機選擇測試會話輪數(shù)t∈{1,2,…,q},在t輪會話中B的輸入值(,,K*),其中為U →CSP 的密鑰協(xié)商參數(shù),Y為CSP →U 的密鑰協(xié)商參數(shù),K*為詢問應答。討論以下2種情況:
①A在第t輪會話被選中。A能以1/2 +ε概率猜測響應值是真實值還是隨機值,則B也能以1/2 +ε的概率猜出輸入值是真實值還是隨機值。因為如果B輸入值的是真實的會話消息,則響應A也是真實的值會話密鑰Y;反之若是隨機值則響應K*為隨機值。
3.1.2 雙向?qū)嶓w身份的匿名追蹤
為了確保PKI 系統(tǒng)的U 與CLC 系統(tǒng)的CSP 的身份安全,各自域內(nèi)U 的與CSP選取隨機秘密數(shù)的形式創(chuàng)建臨時身份的TIDU=H1(IDU||rUP)與δUP?PCA1H2(TIDU||TU)并對臨時身份簽密S1,S2。當U 向CSP 發(fā)送訪問消息時,CSP 無法確定訪問者的是否是合法用戶,CSP 將TIDU與S1發(fā)送給云間身份認證中心,CA 會對用戶的S1與臨時身份進行驗證:S1?β1P(A1),δCSPP?PKGCH2(TIDCSP||TCSP),返回結(jié)果給CSP,如果驗證通過,說明TIDU是用戶的臨時身份,并且身份合法;如果驗證不通過,說明訪問者是非法用戶,不對其進行云資源提供。當CSP對用戶發(fā)送提供云資源響應,用戶利用上述方法在云間身份認 證 中 心 對CSP 的 簽 密S2和TIDCSP驗 證:S2=A2,δCSPP?PKGCH2(TIDCSP||TCSP),返回結(jié)果給U,若驗證通過,接受云資源提供;若不通過,用戶認為CSP提供的是惡意資源拒絕接受提供。故本方案實現(xiàn)雙向?qū)嶓w身份的匿名追蹤。
3.1.3 雙向?qū)嶓w身份認證
PKI 域內(nèi)的CA1對用戶完成身份認證并為其臨時身份簽名δU,CLC 域內(nèi)的KGC 對CSP 完成身份認證并為其臨時身份簽名δCSP。CSP通過發(fā)送S1,δU讓云間身份認證中心完成對用戶的身份認證,確定用戶是否是合法用戶。U 也是通過發(fā)送S2,δCSP讓云間認證中心完成對CSP的身份認證。實現(xiàn)雙向?qū)嶓w身份認證。。
3.1.4 抗中間人攻擊
在U 與CSP 進行通信時,對方都是發(fā)送安全域內(nèi)對臨時身份簽發(fā)的簽名,只有所屬域內(nèi)系統(tǒng)的私鑰才能解密,并用指定通信的接受放公鑰對簽密進行加密,接收方只要利用自己私鑰才能解密,實現(xiàn)了抗中間人攻擊。
3.1.5 抗重放攻擊
本方案用戶與CLC 云服務提供商進行跨域認證時,用戶和云服務提供商獲取本地時間戳,并選取一個隨機參數(shù)來保持會話的新鮮性;發(fā)送這兩個參數(shù)給對方來保持消息與會話的有效性。若惡意攻擊者通過截取消息重放到認證過程中,因為時間戳與保持會話參數(shù)新鮮性無法篡改,所以截取消息重放會導致時間戳以及保持會話參數(shù)新鮮性不相同而失效,有效防止抗重放攻擊。
3.1.6 強有效的抗替換攻擊
本方案中的用戶真實身份都選取了秘密隨機數(shù)對其真實身份進行綁定,得到臨時身份,并對其臨時身份用各自所屬域系統(tǒng)的私鑰進行了簽名,用戶并對臨時身份進行簽密,進一步加強了身份的保護。若攻擊者想要替換身份進行驗證,那么攻擊者是無法攻破臨時身份的簽密信息和簽名,因為攻擊者是無法獲取私鑰的,若進行替換,驗證就會失敗,強有效地防范了抗替換攻擊。
3.1.7 機密性
本方案在不同安全域下的用戶都是通過安全加密或安全通道傳送參數(shù)消息,保證了參數(shù)的安全性,認證都是基于離散對數(shù)與雙線性的數(shù)學困難性問題來保證數(shù)據(jù)的安全認證,實現(xiàn)了參數(shù)和認證機密性。
3.1.8 身份與時間戳的同步性
在跨域階段,當用戶向云服務提供商發(fā)送訪問申請,用戶所屬域的CA1認證中心采用本地時間戳TU將其和用戶的臨時身份進行綁定H2(TIDU||TU),用戶在跨域身份認證過程中若時間戳失效,則臨時身份認證也就會失效,確保身份驗證與時間戳的同步性;云服務提供商所屬域中的KGC 也采用本地時間戳TCSP將其和CSP 的臨時身份進行綁定H2(TIDCSP||TCSP),達到身份驗證與時間戳的同步性的效果,有效實現(xiàn)雙向身份和時間戳的同步性。
以上是對本方案的安全性分析,與近幾年的跨域方案相比較,從表1 可以看出,本方案在安全性上的優(yōu)越。其中“×”表示文獻不滿足該性能,“√”表示文獻滿足該性能。
表1 跨域認證方案的安全性比較Tab. 1 Comparison of security of cross-domain authentication schemes
本文由于雙線性計算與指數(shù)對數(shù)計算的復雜性,主要考慮用戶階段、跨域階段、重復跨域階段的計算量,其中,Bi表示雙線性運算時間,Dex表示指數(shù)計算時間。
表2 給出了本方案與文獻[8-10]在計算量與性能比較結(jié)果。
表2 異構(gòu)跨域身份認證計算開銷與安全性能比較Tab. 2 Comparison of computing overhead and security of heterogeneous cross-domain identity authentication
本文用戶注冊階段和重復跨域認證階段與其他文獻相比不需要對雙線性與指數(shù)計算開銷,提高方案總體的計算效率。
在首次跨域認證階段的簽密認證需要4 個雙線性運算時間,2 個指數(shù)計算時間。所以對于相同的信息長度240 bit 的首次跨域認證階段計算開銷分析比較,如表3所示。
從表3 可知,本方案與文獻[1]、文獻[9]用戶進行首次跨域身份認證時,由于認證方案都需要進行雙線性與指數(shù)運算,對于相同的信息長度的計算,由于本方案不需要運行代理重簽名算法和公鑰加密算法,減少了指數(shù)與雙線性的計算,使得本方案首次異構(gòu)跨域身份安全認證的時間開銷低。
表3 首次跨域認證計算開銷對比分析Tab. 3 Comparison and analysis of the first cross-domain authentication computing overhead
本方案提出了一種云環(huán)境下基于簽密的異構(gòu)跨域身份認證方案,結(jié)合當前云環(huán)境下跨域身份認證存在的問題,基于傳統(tǒng)公共密鑰體制與無證書的公鑰密碼體制,實現(xiàn)云環(huán)境下跨域身份認證的異構(gòu)系統(tǒng)的身份認證,本文中首次跨域階段用戶用到簽密算法對臨時身份進行簽密,實現(xiàn)跨域參數(shù)以及身份的安全性;并且引入一個第三方云間認證中心完成跨域用戶的簽密和臨時身份進行驗證,返回結(jié)果給接收方,以減少云服務提供商的計算效率與計算負擔?;陔p線性和指數(shù)對數(shù)的困難性問題上,提高了認證效率,達到了雙向?qū)嶓w身份認證、身份的匿名性、機密性、抗重放攻擊與中間人攻擊、抗替換攻擊以及身份與時間的同步性的效果。對于沒有第三方認證中心完成異構(gòu)跨域證明的安全方案,可以作為后續(xù)的研究工作。