日韩成人黄色,透逼一级毛片,狠狠躁天天躁中文字幕,久久久久久亚洲精品不卡,在线看国产美女毛片2019,黄片www.www,一级黄色毛a视频直播

一種基于身份的密鑰協(xié)商構(gòu)建方法與網(wǎng)絡(luò)平臺(tái)與流程

文檔序號(hào):11215472閱讀:465來源:國(guó)知局
本發(fā)明屬于通信
技術(shù)領(lǐng)域
:,特別是一種基于身份的密鑰協(xié)商構(gòu)建方法與網(wǎng)絡(luò)平臺(tái)。
背景技術(shù)
::密鑰建立(keyestablishment)是指通信雙方或者多方建立一個(gè)共享的會(huì)話密鑰的過程。目前流行的有兩種方法可以在雙方之間建立一個(gè)會(huì)話密鑰,一種方法為通信的一方自己生成一個(gè)會(huì)話密鑰并將這個(gè)會(huì)話密鑰安全地傳遞給另一方,這樣的方法稱之為密鑰傳輸。第二種方法為通信雙方都貢獻(xiàn)一部分信息,這些信息共同推出了一個(gè)會(huì)話密鑰,這樣的方法稱之為密鑰協(xié)商,如果alice確信只有bob能夠(其它人不能夠)確定會(huì)話密鑰的值,那么稱這個(gè)密鑰協(xié)商協(xié)議提供了bob到alice的密鑰認(rèn)證性。如果一個(gè)密鑰協(xié)商協(xié)議提供了相互的密鑰確認(rèn)性,那么稱這個(gè)密鑰協(xié)商協(xié)議為認(rèn)證密鑰協(xié)商協(xié)議。一個(gè)認(rèn)證的密鑰協(xié)商協(xié)議應(yīng)該滿足以下兩個(gè)基本的安全屬性(這里以alice和bob為通信雙方來說明):(1)含蓄密鑰認(rèn)證(implicitkeyauthentication):如果alice確信只有特定的通信方bob(不會(huì)有其他人)可能知道會(huì)話密鑰,那么稱這個(gè)密鑰協(xié)商協(xié)議提供了bob到alice的含蓄密鑰認(rèn)證。需要注意的是,含蓄密鑰認(rèn)證并不一定說明alice相信bob已經(jīng)得到了會(huì)話密鑰。(2)明確密鑰認(rèn)證(explicitkeyauthentication):如果alice確信另一通信方bob已經(jīng)得到了會(huì)話密鑰,那么稱這個(gè)密鑰協(xié)商協(xié)議提供了bob到alice的明確密鑰認(rèn)證或者是明確密鑰確認(rèn)。從表面上看,明確密鑰認(rèn)證好像比含蓄密鑰認(rèn)證要強(qiáng)。但對(duì)于很多實(shí)際應(yīng)用來說,這兩者是相同的。此外,某些時(shí)候,還需要密鑰協(xié)商協(xié)議滿足以下安全屬性。(1)已知密鑰安全(knownkeysecurity):每次運(yùn)行密鑰協(xié)商協(xié)議都應(yīng)該生成唯一的會(huì)話密鑰。即使知道了過去的一些會(huì)話密鑰,敵手也不能憑此推算出現(xiàn)在的或者將來的會(huì)話密鑰。(2)前向安全性(forwardsecurity):如果alice和bob的私鑰泄露了,那么過去產(chǎn)生的會(huì)話密鑰就無法恢復(fù)出來。有時(shí)候前向安全性又分為半前向安全性(halfforwardsecurity)和完全前向安全性(fullforwardsecurity)。半前向安全性指的是只有一方泄露了自己的私鑰,過去產(chǎn)生的會(huì)話密鑰不能被恢復(fù)出來。完全前向安全性指的是雙方的私鑰都泄露了,過去產(chǎn)生的會(huì)話密鑰也不能被敵手恢復(fù)出來。(3)密鑰妥協(xié)假冒(key-compromiseimpersonation):如果alice的私鑰sa被敵手知道了。明顯地,敵手可以偽裝成alice。但在某些情況下,要求敵手不能在alice面前偽裝成bob。同樣地,如果bob的私鑰sb泄露了,那么敵手不能在bob面前偽裝成alice。(4)未知密鑰共享(unknownkey-share):bob不能在不知情的情況下被強(qiáng)迫與alice共享一個(gè)會(huì)話密鑰,也就是說,bob認(rèn)為他與carol共享了一個(gè)會(huì)話密鑰,但是alice卻認(rèn)為他與bob共享了這個(gè)會(huì)話密鑰。(5)密鑰控制(keycontrol):alice和bob都不能控制會(huì)話密鑰的結(jié)構(gòu),也就是說他們不能設(shè)定會(huì)話密鑰等于他們事先設(shè)置的值,也不能夠預(yù)測(cè)會(huì)話密鑰的值。傳統(tǒng)的基于證書的公鑰密碼體制每一個(gè)用戶的公鑰都伴隨一個(gè)公鑰證書,這個(gè)公鑰證書由ca(權(quán)威中心)簽發(fā)。公鑰證書是一個(gè)結(jié)構(gòu)化的數(shù)據(jù)記錄,它包含了用戶的身份信息、公鑰參數(shù)和ca的簽名等。任何人都可以通過驗(yàn)證證書的合法性(ca的簽名)來認(rèn)證公鑰。如果一個(gè)用戶信任ca,那么在他驗(yàn)證了另一個(gè)用戶證書的有效性之后,他就應(yīng)該相信公鑰的真實(shí)性。這就是人們常說的pki(公鑰基礎(chǔ)設(shè)施)。但是這種方式相比于基于身份的密碼體制有兩個(gè)明顯的缺點(diǎn):(1)使用任何公鑰之前都需要先驗(yàn)證公鑰證書的合法性,這就增加了用戶的計(jì)算量。(2)ca需要管理大量的證書,包括證書的頒發(fā),存儲(chǔ)與撤銷等。技術(shù)實(shí)現(xiàn)要素:本發(fā)明的目的在于提供一種基于身份的密鑰協(xié)商構(gòu)建方法與網(wǎng)絡(luò)平臺(tái),使得生成的雙方基于身份的會(huì)話密鑰具有更高的效率與安全性。實(shí)現(xiàn)本發(fā)明目的的技術(shù)解決方案為:一種基于身份的密鑰協(xié)商構(gòu)建方法,構(gòu)造基于身份的密鑰交換協(xié)議并將其以網(wǎng)站的形式實(shí)現(xiàn),網(wǎng)站采用mvc架構(gòu)模型,其中model層中service層與dao層實(shí)現(xiàn)了該基于身份的密鑰協(xié)商協(xié)議,具體如下:(1)系統(tǒng)建立:公開系統(tǒng)參數(shù):{g1,gt,p,e,p,ppub,h1,h2},保密主私鑰s;其中,g1:為由p生成的p階加法循環(huán)群;gt:與g1同階的乘法循環(huán)群;e:g1×g1→gt為雙線性映射;h1:{0,1}*→g1為一個(gè)安全的hash函數(shù);h2:為密鑰提取函數(shù);為pkg隨機(jī)選取的系統(tǒng)主私鑰;ppub=sp:為系統(tǒng)主公鑰;(2)密鑰提?。航o定一個(gè)用戶u的身份idu,pkg計(jì)算該用戶的私鑰su=squ,其中qu=h1(idu)是該用戶的公鑰,分別計(jì)算此處密鑰協(xié)商雙方a、b的公、私鑰;其中,idu:代表用于u的身份;su:代表用戶u的私鑰,su=squ;qu:代表用戶u的公鑰,qu=h1(idu);(3)密鑰協(xié)商:a、b分別隨機(jī)選取計(jì)算各自的臨時(shí)會(huì)話密鑰ta=ap,tb=bp,并將各自生成的值發(fā)送給對(duì)方;a計(jì)算h=atb,kab=e(appub+sa,tb+qb),類似地,b計(jì)算h=bta,kba=e(bppub+sb,ta+qa),最終的共享密鑰為h2(h,kab);其中,ta:為alice的臨時(shí)會(huì)話密鑰,ta=ap,其中tb:為bob的臨時(shí)會(huì)話密鑰,tb=bp,其中kab:為alice計(jì)算出的未經(jīng)過哈希的會(huì)話密鑰,kab=e(appub+sa,tb+qb);kba:為bob計(jì)算出的未經(jīng)過哈希的會(huì)話密鑰,kba=e(bppub+sb,ta+qa);h:防止已知密鑰攻擊的臨時(shí)會(huì)話因子,h=atb,h=bta。進(jìn)一步地,所述密鑰協(xié)商過程中,涉及三個(gè)參與者,包括系統(tǒng)管理員admin,協(xié)商密鑰雙方a、b,具體步驟如下:第一步:系統(tǒng)管理員admin登錄,進(jìn)行系統(tǒng)初始化;第二步:將要進(jìn)行密鑰協(xié)商的兩方用戶分別在自己的設(shè)備上登錄,并在用戶列表中分別選擇將要共享密鑰的人員;第三步:密鑰協(xié)商,(1)由一方作為發(fā)起密鑰協(xié)商方a向服務(wù)器發(fā)起請(qǐng)求,獲得基于自己身份的私鑰,用戶b操作同a一致;(2)a向系統(tǒng)發(fā)出計(jì)算臨時(shí)密鑰的請(qǐng)求,計(jì)算臨時(shí)會(huì)話密鑰ta,b操作同a,生成臨時(shí)密鑰tb;(3)系統(tǒng)根據(jù)臨時(shí)密鑰計(jì)算出最終a、b共同協(xié)商的會(huì)話密鑰。一種基于身份的密鑰協(xié)商網(wǎng)絡(luò)平臺(tái),包括以下部分:controller層:負(fù)責(zé)轉(zhuǎn)發(fā)請(qǐng)求,以及對(duì)請(qǐng)求進(jìn)行處理;view層:與用戶進(jìn)行交互;model層:實(shí)現(xiàn)程序算法功能,與數(shù)據(jù)庫進(jìn)行交互,model層包含了進(jìn)行業(yè)務(wù)邏輯處理的service層,以及與數(shù)據(jù)庫操作系統(tǒng)進(jìn)行交互的dao層。進(jìn)一步地,所述service層與dao層實(shí)現(xiàn)下述的密鑰協(xié)商算法:密鑰協(xié)商過程中,涉及三個(gè)參與者,包括系統(tǒng)管理員admin,協(xié)商密鑰雙方a、b,具體步驟如下:第一步:系統(tǒng)管理員admin登錄,進(jìn)行系統(tǒng)初始化;第二步:將要進(jìn)行密鑰協(xié)商的兩方用戶分別在自己的設(shè)備上登錄,并在用戶列表中分別選擇將要共享密鑰的人員;第三步:密鑰協(xié)商,(1)由一方作為發(fā)起密鑰協(xié)商方a向服務(wù)器發(fā)起請(qǐng)求,獲得基于自己身份的私鑰,用戶b操作同a一致;(2)a向系統(tǒng)發(fā)出計(jì)算臨時(shí)密鑰的請(qǐng)求,計(jì)算臨時(shí)會(huì)話密鑰ta,b操作同a,生成臨時(shí)密鑰tb;(3)系統(tǒng)根據(jù)臨時(shí)密鑰計(jì)算出最終a、b共同協(xié)商的會(huì)話密鑰。本發(fā)明與現(xiàn)有技術(shù)相比,其顯著優(yōu)點(diǎn)為:(1)基于身份兩方的密鑰協(xié)商協(xié)議,將上述協(xié)議使用網(wǎng)站的形式實(shí)現(xiàn),在網(wǎng)站上對(duì)該協(xié)議的安全性進(jìn)行攻擊演示,安全性較好,可以抵抗多種攻擊,包括前向安全性攻擊、已知密鑰攻擊、密鑰妥協(xié)假冒攻擊;(2)基于身份的公鑰密碼體制直接以用戶的身份標(biāo)識(shí)作為公鑰,不需要證書和相關(guān)操作,簡(jiǎn)化了公鑰的使用與管理。附圖說明圖1是基于身份的密鑰協(xié)商體系示意圖。圖2是攻擊演示流程圖。圖3是基于身份的公鑰密碼體制示意圖。圖4是密鑰協(xié)商流程圖。圖5是密鑰協(xié)商階段流程圖,其中(a)是清除歷史數(shù)據(jù)階段界面圖,(b)是用戶成功登陸后的協(xié)商密鑰界面中alice的界面圖,(c)是用戶成功登陸后的協(xié)商密鑰界面中bob的界面圖。圖6是一次密鑰協(xié)商中生成用戶的私鑰界面圖,其中(a)是一次密鑰協(xié)商中生成用戶alice的私鑰截面圖,(b)是一次密鑰協(xié)商中生成用戶bob的私鑰界面圖。圖7是臨時(shí)會(huì)話密鑰生成界面圖,其中(a)是alice臨時(shí)會(huì)話密鑰生成界面圖,(b)是bob臨時(shí)會(huì)話密鑰生成界面圖。圖8是協(xié)商密鑰生成界面圖,其中(a)是alice協(xié)商密鑰生成界面圖,(b)是bob協(xié)商密鑰生成界面圖。圖9是管理員界面圖。圖10是用戶alice密鑰協(xié)商界面圖。圖11是前向安全性攻擊演示結(jié)果圖,其中(a)是alice的共享密鑰結(jié)果圖,(b)是bob的共享密鑰結(jié)果圖,(c)是敵手的結(jié)果示意圖。圖12是已知密鑰攻擊演示結(jié)果圖,其中(a)是已知密鑰攻擊下首次協(xié)商密鑰結(jié)果圖,(b)是已知密鑰攻擊下二次協(xié)商的密鑰結(jié)果圖。圖13是密鑰妥協(xié)假冒攻擊演示結(jié)果圖,其中(a)是密鑰妥協(xié)假冒攻擊下alice的結(jié)果頁面圖,(b)是密鑰妥協(xié)假冒敵手結(jié)果頁面圖。具體實(shí)施方式本發(fā)明提出了一種基于身份的密鑰協(xié)商構(gòu)建方法,構(gòu)造基于身份的密鑰交換協(xié)議并將其以網(wǎng)站的形式實(shí)現(xiàn),網(wǎng)站采用mvc架構(gòu)模型,其中model層中service層與dao層實(shí)現(xiàn)了該基于身份的密鑰協(xié)商協(xié)議,具體如下:(1)系統(tǒng)建立:公開系統(tǒng)參數(shù):{g1,gt,p,e,p,ppub,h1,h2},保密主私鑰s;其中,g1:為由p生成的p階加法循環(huán)群;gt:與g1同階的乘法循環(huán)群;e:g1×g1→gt為雙線性映射;h1:{0,1}*→g1為一個(gè)安全的hash函數(shù);h2:為密鑰提取函數(shù);為pkg隨機(jī)選取的系統(tǒng)主私鑰;ppub=sp:為系統(tǒng)主公鑰;(2)密鑰提?。航o定一個(gè)用戶u的身份idu,pkg計(jì)算該用戶的私鑰su=squ,其中qu=h1(idu)是該用戶的公鑰,分別計(jì)算此處密鑰協(xié)商雙方a、b的公、私鑰;其中,idu:代表用于u的身份;su:代表用戶u的私鑰,su=squ;qu:代表用戶u的公鑰,qu=h1(idu);(3)密鑰協(xié)商:a、b分別隨機(jī)選取計(jì)算各自的臨時(shí)會(huì)話密鑰ta=ap,tb=bp,并將各自生成的值發(fā)送給對(duì)方;a計(jì)算h=atb,kab=e(appub+sa,tb+qb),類似地,b計(jì)算h=bta,kba=e(bppub+sb,ta+qa),最終的共享密鑰為h2(h,kab);其中,ta:為alice的臨時(shí)會(huì)話密鑰,ta=ap,其中tb:為bob的臨時(shí)會(huì)話密鑰,tb=bp,其中kab:為alice計(jì)算出的未經(jīng)過哈希的會(huì)話密鑰,kab=e(appub+sa,tb+qb);kba:為bob計(jì)算出的未經(jīng)過哈希的會(huì)話密鑰,kba=e(bppub+sb,ta+qa);h:防止已知密鑰攻擊的臨時(shí)會(huì)話因子,h=atb,h=bta。上述述密鑰協(xié)商過程中,涉及三個(gè)參與者,包括系統(tǒng)管理員admin,協(xié)商密鑰雙方a、b,具體步驟如下:第一步:系統(tǒng)管理員admin登錄,進(jìn)行系統(tǒng)初始化;第二步:將要進(jìn)行密鑰協(xié)商的兩方用戶分別在自己的設(shè)備上登錄,并在用戶列表中分別選擇將要共享密鑰的人員;第三步:密鑰協(xié)商,(1)由一方作為發(fā)起密鑰協(xié)商方a向服務(wù)器發(fā)起請(qǐng)求,獲得基于自己身份的私鑰,用戶b操作同a一致;(2)a向系統(tǒng)發(fā)出計(jì)算臨時(shí)密鑰的請(qǐng)求,計(jì)算臨時(shí)會(huì)話密鑰ta,b操作同a,生成臨時(shí)密鑰tb;(3)系統(tǒng)根據(jù)臨時(shí)密鑰計(jì)算出最終a、b共同協(xié)商的會(huì)話密鑰。本發(fā)明利用java語言編寫開發(fā)了一個(gè)基于身份的密鑰協(xié)商網(wǎng)絡(luò)平臺(tái),包括以下部分:負(fù)責(zé)轉(zhuǎn)發(fā)請(qǐng)求,以及對(duì)請(qǐng)求進(jìn)行處理的controller層;與用戶進(jìn)行交互的view層;實(shí)現(xiàn)程序算法功能,與數(shù)據(jù)庫進(jìn)行交互的model層,而model層又主要包含了進(jìn)行業(yè)務(wù)邏輯處理的service層,以及與數(shù)據(jù)庫操作系統(tǒng)進(jìn)行交互的dao層。本發(fā)明采用一種新的雙線性對(duì)的基于身份的密鑰協(xié)商方案的算法進(jìn)行密鑰交換,網(wǎng)站的service層與dao層完全的實(shí)現(xiàn)了上述的密鑰協(xié)商算法,使用這種新型算法編寫的service層與dao層,使得網(wǎng)站可以提供前向安全性攻擊、已知密鑰攻擊、密鑰妥協(xié)假冒攻擊的三種攻擊演示。所述service層與dao層實(shí)現(xiàn)下述的密鑰協(xié)商算法:密鑰協(xié)商過程中,涉及三個(gè)參與者,包括系統(tǒng)管理員admin,協(xié)商密鑰雙方a、b,具體步驟如下:第一步:系統(tǒng)管理員admin登錄,進(jìn)行系統(tǒng)初始化;第二步:將要進(jìn)行密鑰協(xié)商的兩方用戶分別在自己的設(shè)備上登錄,并在用戶列表中分別選擇將要共享密鑰的人員;第三步:密鑰協(xié)商,(1)由一方作為發(fā)起密鑰協(xié)商方a向服務(wù)器發(fā)起請(qǐng)求,獲得基于自己身份的私鑰,用戶b操作同a一致;(2)a向系統(tǒng)發(fā)出計(jì)算臨時(shí)密鑰的請(qǐng)求,計(jì)算臨時(shí)會(huì)話密鑰ta,b操作同a,生成臨時(shí)密鑰tb;(3)系統(tǒng)根據(jù)臨時(shí)密鑰計(jì)算出最終a、b共同協(xié)商的會(huì)話密鑰。另一方面,在滿足上述安全性的前提下,該網(wǎng)站還可以給一定數(shù)量的合法用戶提供在線密鑰協(xié)商服務(wù)。與傳統(tǒng)的基于證書的公鑰密碼體制相比,基于身份的公鑰密碼體制直接以用戶的身份標(biāo)識(shí)作為公鑰,不需要證書和相關(guān)操作,簡(jiǎn)化了公鑰的使用與管理,在實(shí)際應(yīng)用中,具有廣闊的應(yīng)用前景。下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明做進(jìn)一步詳細(xì)說明。實(shí)施例1本實(shí)施例中基于身份的兩方的密鑰協(xié)商協(xié)議,將上述該協(xié)議使用網(wǎng)站的形式實(shí)現(xiàn),在該網(wǎng)站上對(duì)該協(xié)議的安全性進(jìn)行攻擊演示,具體如下:(1)一種新的基于身份的兩方的密鑰協(xié)商協(xié)議。該協(xié)議主要涉及的算法有基于身份的密鑰協(xié)商方案?;谏矸莸拿荑€協(xié)商方案,是由三個(gè)階段組成的:系統(tǒng)建立、密鑰提取(用戶的公私鑰)、密鑰協(xié)商,本系統(tǒng)是對(duì)shim(shimk.efficientid-basedauthenticatedkeyagreementprotocolbasedonweilpairing.electronicsletters,2003,39(8):653-654.)提出的基于身份的密鑰協(xié)商方案的改進(jìn),基于身份的密鑰協(xié)商體系示意圖如圖1,整個(gè)過程的具體步驟如下:(1)系統(tǒng)建立:公開系統(tǒng)參數(shù):{g1,gt,p,e,p,ppub,h1,h2},保密主私鑰s;其中,g1:為由p生成的加法循環(huán)群;gt:為與g1同階的乘法循環(huán)群;e:g1×g1→gt為雙線性映射;h1:{0,1}*→g1為一個(gè)安全的hash函數(shù);h2:為密鑰提取函數(shù);為pkg隨機(jī)選取的系統(tǒng)主私鑰;ppub=sp:為系統(tǒng)主公鑰;(2)密鑰提?。航o定一個(gè)用戶u的身份idu,pkg計(jì)算該用戶的私鑰su=squ,其中qu=h1(idu)是該用戶的公鑰,分別計(jì)算此處密鑰協(xié)商雙方a、b的公、私鑰;其中,idu:代表用于u的身份;su:代表用戶u的私鑰,su=squ;qu:代表用戶u的公鑰,qu=h1(idu);(3)密鑰協(xié)商:a、b分別隨機(jī)選取計(jì)算各自的臨時(shí)會(huì)話密鑰ta=ap,tb=bp,并將各自生成的值發(fā)送給對(duì)方;a計(jì)算h=atb,kab=e(appub+sa,tb+qb),類似地,b計(jì)算h=bta,kba=e(bppub+sb,ta+qa),最終的共享密鑰為h2(h,kab);其中,ta:為alice的臨時(shí)會(huì)話密鑰,ta=ap,其中tb:為bob的臨時(shí)會(huì)話密鑰,tb=bp,其中kab:為alice計(jì)算出的未經(jīng)過哈希的會(huì)話密鑰,kab=e(appub+sa,tb+qb);kba:為bob計(jì)算出的未經(jīng)過哈希的會(huì)話密鑰,kba=e(bppub+sb,ta+qa);h:防止已知密鑰攻擊的臨時(shí)會(huì)話因子,h=atb,h=bta。(2)將上述協(xié)議完全嫁接到以java語言為基礎(chǔ)springmvc為框架的網(wǎng)絡(luò)平臺(tái)上面,實(shí)現(xiàn)該協(xié)議的主要實(shí)現(xiàn)代碼如下:系統(tǒng)建立階段代碼如下:protectedelements,a,b,p,ppub,sa,qa,sb,qb,ta,tb,ka,kb,ha,hb,k;protectedfieldg1,zr;protectedpairingpairing;@requestmapping("users/keys/buildsystem.json")publicvoidbuildsystem(){system.out.println("開始buildsystem");init();s=zr.newrandomelement().getimmutable();//隨機(jī)生成主私鑰sp=g1.newrandomelement().getimmutable();//生成g1的生成元pppub=p.mulzn(s);//計(jì)算ppub=sp,注意順序,生成主公鑰ppub。}密鑰提取階段代碼如下:@requestmapping(value="users/keys/extractsecretkeyof{username}",method={requestmethod.get,requestmethod.post})public@responsebodylist<hashmap>getsecretkey(@pathvariable("username")stringusername){qa=pairing.getg1().newelement().setfromhash(username.getbytes(),0,username.length()).getimmutable();//從長(zhǎng)度為3的hash值idu確定用戶u產(chǎn)生的公鑰qa,生成用戶u的公鑰。sa=qa.mulzn(s).getimmutable();//生成用戶u的私鑰。list<hashmap>listone=newarraylist();hashmap<string,string>newsmap=newhashmap<string,string>();newsmap.put("p",sa.tostring());listone.add(newsmap);returnlistone;}計(jì)算最終會(huì)話密鑰代碼如下:public@responsebodylist<hashmap>createka(){ha=tb.mulzn(a);ka=pairing.pairing((ppub.mulzn(a)).mul(sa),tb.mul(qb))list<hashmap>listone=newarraylist();hashmap<string,string>newsmap=newhashmap<string,string>();newsmap.put("p",sha((ka.tostring()+ha.tostring()),"sha-256"));listone.add(newsmap);returnlistone;}(3)網(wǎng)絡(luò)平臺(tái)上提供該方案的攻擊演示系統(tǒng):在初始界面,通過點(diǎn)擊不同攻擊類型的按鈕,演示不同攻擊,具體步驟如下:第一步:點(diǎn)擊相應(yīng)攻擊演示按鈕(以前向安全性為例);第二步:進(jìn)行協(xié)商密鑰的兩方用戶登錄;第三步:根據(jù)相應(yīng)的攻擊類型,在密鑰協(xié)商的不同階段,敵手開始干預(yù)攻擊,并生成一個(gè)敵手的“會(huì)話密鑰”;第四步:比對(duì)用戶生成的會(huì)話密鑰及敵手的“會(huì)話密鑰”是否相同,判斷攻擊是否成功;最后退出系統(tǒng)。具體的攻擊演示流程圖如圖2,該方案安全性較好,可以抵抗多種攻擊,包括本作品中演示的前向安全性、已知密鑰攻擊、密鑰妥協(xié)假冒三種攻擊。與傳統(tǒng)的基于證書的公鑰密碼體制相比,基于身份的公鑰密碼體制直接以用戶的身份標(biāo)識(shí)作為公鑰如圖3所示,不需要證書和相關(guān)操作,簡(jiǎn)化了公鑰的使用與管理。在密鑰協(xié)商過程,涉及三個(gè)參與者,包括系統(tǒng)管理員admin,協(xié)商密鑰雙方(為方便敘述,在此分別記a,b)承接上述登錄成功后,跳轉(zhuǎn)到用戶協(xié)商頁面,兩方開始進(jìn)行密鑰協(xié)商,結(jié)合圖4,具體步驟如下:第一步:系統(tǒng)管理員admin登錄,點(diǎn)擊buildsystem按鈕以清空java容器中的歷史數(shù)據(jù);第二步:將要進(jìn)行密鑰協(xié)商的兩方用戶分別在自己的設(shè)備上登錄,并在用戶列表中分別選擇將要共享密鑰的人員;第三步:密鑰協(xié)商,(1)由一方作為發(fā)起密鑰協(xié)商方(a)向服務(wù)器發(fā)起請(qǐng)求,點(diǎn)擊extractsecretkey按鈕生成自身的私鑰,b操作同a;(2)a點(diǎn)擊computet按鈕,計(jì)算臨時(shí)會(huì)話密鑰ta,b操作同a,生成tb;(3)a點(diǎn)擊createk按鈕,產(chǎn)生最終a、b共同協(xié)商的會(huì)話密鑰,b進(jìn)行相同操作;第四步:檢驗(yàn)生成相同的會(huì)話密鑰,安全退出。1系統(tǒng)實(shí)施步驟過程運(yùn)行各功能模塊,得出如下效果圖:密鑰協(xié)商階段:以alice與bob協(xié)商為例,圖5是密鑰協(xié)商階段流程圖,其中(a)是清除歷史數(shù)據(jù)階段界面圖,(b)是用戶成功登陸后的協(xié)商密鑰界面中alice的界面圖,(c)是用戶成功登陸后的協(xié)商密鑰界面中bob的界面圖。圖6是一次協(xié)商中生成用戶的私鑰界面圖,其中(a)是一次協(xié)商中生成用戶alice的私鑰界面圖,(b)是一次協(xié)商中生成用戶bob的私鑰界面圖。圖7是臨時(shí)會(huì)話密鑰生成界面圖,其中(a)是alice臨時(shí)會(huì)話密鑰生成界面圖,(b)是bob臨時(shí)會(huì)話密鑰生成界面圖。圖8是協(xié)商密鑰生成界面圖,其中(a)是alice協(xié)商密鑰生成界面圖,(b)是bob協(xié)商密鑰生成界面圖。2系統(tǒng)實(shí)施攻擊演示過程1、輸入系統(tǒng)管理員登陸賬號(hào)admin與密碼123456,即可跳轉(zhuǎn)到管理員功能界面如圖9,管理員通過點(diǎn)擊buildsystem按鈕以清空java容器中的歷史數(shù)據(jù),以便開始新一次的密鑰協(xié)商。2、協(xié)商階段(在此以用戶alice為例說明),輸入用戶賬號(hào)alice與密碼1990,跳轉(zhuǎn)到alice的用戶密鑰協(xié)商頁面如圖10,點(diǎn)擊選取將要進(jìn)行密鑰協(xié)商的一方(例如bob),二者進(jìn)行一次密鑰協(xié)商會(huì)在相應(yīng)的私鑰、臨時(shí)會(huì)話密鑰、共享密鑰欄內(nèi)生成;3、密鑰攻擊,本作品設(shè)計(jì)了前向安全性、已知密鑰攻擊、密鑰妥協(xié)假冒三種攻擊演示,以下給出三種攻擊演示結(jié)果圖如圖11(a)~(c),圖12(a)~(b),圖13(a)~(b)。前向安全性,敵手可以拿到alice與bob的私鑰sa,sb,但沒有主密鑰s,在此情況下,敵手會(huì)在最后利用密鑰導(dǎo)出函數(shù)隨機(jī)輸出一個(gè)結(jié)果,而如圖11(a),圖11(b)中,alice與bob得到一致的會(huì)話密鑰,而敵手得到的會(huì)話密鑰顯然與前者不同,意味著,此次攻擊失敗,這是由于敵手鑒于上述信息,不可以計(jì)算e(p,p)abs。結(jié)合圖12(a)~(b),針對(duì)已知密鑰攻擊,因?yàn)槊看螀f(xié)商,服務(wù)器都會(huì)重新隨機(jī)選取新的隨機(jī)數(shù)a,b,所以每次生成的臨時(shí)會(huì)話密鑰均不同,導(dǎo)致共享的會(huì)話密鑰不同。在惡意敵手即使獲得歷史的會(huì)話密鑰,也不會(huì)威脅到以后的會(huì)話。結(jié)合圖13(a)~(b),針對(duì)密鑰妥協(xié)假冒,alice將sa泄露給了敵手,敵手通過隨機(jī)選取計(jì)算出tb發(fā)給alice,由于敵手不知道sb及alice隨機(jī)選取的a,所以不能計(jì)算e(p,qb)as,方案可以抵抗該攻擊。當(dāng)前第1頁12當(dāng)前第1頁12
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1