余 磊
(淮北師范大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,安徽 淮北 235000)
安全協(xié)議是建立在密碼體制上的一種消息交互協(xié)議,它運(yùn)用密碼算法和協(xié)議邏輯來實(shí)現(xiàn)身份認(rèn)證、密鑰分配、數(shù)據(jù)共享等安全目標(biāo),是網(wǎng)絡(luò)空間中各種安全服務(wù)與應(yīng)用的主要載體. 網(wǎng)絡(luò)應(yīng)用對(duì)安全協(xié)議功能需求的增加,使得安全協(xié)議的知識(shí)體系一直在不斷地?cái)U(kuò)展與壯大. 網(wǎng)絡(luò)空間安全一級(jí)學(xué)科的增設(shè)[1],以及信息安全專業(yè)課程體系的持續(xù)優(yōu)化和發(fā)展,為系統(tǒng)全面地覆蓋安全協(xié)議的知識(shí)體系,“網(wǎng)絡(luò)安全協(xié)議”已成為高校信息安全本科專業(yè)的主干課程[2].
受安全屬性需求的多樣性、協(xié)議運(yùn)行的高并發(fā)性、消息組織結(jié)構(gòu)的復(fù)雜性、網(wǎng)絡(luò)環(huán)境的開放性等因素影響,設(shè)計(jì)一個(gè)既沒缺陷也無冗余的安全協(xié)議是一件非常復(fù)雜和困難的事情[3],安全協(xié)議在投入使用之前必須運(yùn)用已有的方法和經(jīng)驗(yàn)對(duì)其進(jìn)行正確性分析. 形式化方法已被證實(shí)是當(dāng)前最為科學(xué)、嚴(yán)謹(jǐn)、有效的安全協(xié)議正確性分析方法[4]. 在網(wǎng)絡(luò)安全上升為國(guó)家戰(zhàn)略的時(shí)代[5],安全協(xié)議發(fā)揮著愈來愈重要的信息安全保障作用,掌握并熟練運(yùn)用一種安全協(xié)議形式分析方法,已成為信息安全本科專業(yè)人才培養(yǎng)規(guī)格的基本要求[6].
在眾多的安全協(xié)議形式化分析方法中由于認(rèn)證測(cè)試模型在協(xié)議分析上具有方法簡(jiǎn)潔、邏輯嚴(yán)謹(jǐn)、科學(xué)有效和形式化程度較高的優(yōu)點(diǎn),被廣泛用于安全協(xié)議的分析和設(shè)計(jì)中[7-8]. 近年來,經(jīng)過眾多研究人員不斷地?cái)U(kuò)展、優(yōu)化和完善,認(rèn)證測(cè)試模型在安全協(xié)議分析上已具有較為成熟的理論和方法體系,成為安全協(xié)議形式化分析方法的典型代表. 在“網(wǎng)絡(luò)安全協(xié)議”課程的知識(shí)體系和實(shí)踐能力體系設(shè)置上,都對(duì)認(rèn)證測(cè)試模型的相關(guān)知識(shí)點(diǎn)進(jìn)行覆蓋,認(rèn)證測(cè)試模型理論已是“網(wǎng)絡(luò)安全協(xié)議”的教學(xué)重點(diǎn)[9]. 由于認(rèn)證測(cè)試模型理論涉及到代數(shù)學(xué)、圖論、密碼學(xué)、邏輯學(xué)和計(jì)算機(jī)語言學(xué)等多門學(xué)科內(nèi)容,具有知識(shí)構(gòu)成復(fù)雜、概念深?yuàn)W抽象的特點(diǎn),對(duì)學(xué)生的知識(shí)遷移運(yùn)用能力要求較高;加上現(xiàn)有的認(rèn)證測(cè)試?yán)碚撊狈?duì)測(cè)試組件的密碼學(xué)性質(zhì)和結(jié)構(gòu)性質(zhì)的深入剖析,導(dǎo)致學(xué)生在認(rèn)證測(cè)試模型的概念理解和方法應(yīng)用上很難把握到位,從而成為形式化分析方法的教學(xué)難點(diǎn).
關(guān)于認(rèn)證測(cè)試模型研究的現(xiàn)有文獻(xiàn)顯示,偏重理論擴(kuò)展和方法應(yīng)用的科研文獻(xiàn)頗豐[10-11],鮮見從教學(xué)角度對(duì)認(rèn)證測(cè)試?yán)碚撃P拖嚓P(guān)概念和性質(zhì)深入解讀和探討. 為提升認(rèn)證測(cè)試模型理論的教學(xué)效果,本文結(jié)合實(shí)際教學(xué)經(jīng)驗(yàn),以經(jīng)典的安全協(xié)議為實(shí)例,從消息組件、測(cè)試組件、認(rèn)證測(cè)試模型結(jié)構(gòu)3個(gè)方面給出一些教學(xué)注記,以幫助學(xué)生更好理解認(rèn)證測(cè)試模型理論,消除在概念理解及方法應(yīng)用上的一些誤區(qū).文中涉及串空間模型理論的相關(guān)概念請(qǐng)參閱文獻(xiàn)[12],本文不再給出.
消息組件是構(gòu)成協(xié)議消息的基本信息單元,是協(xié)議分析和缺陷定位的主要對(duì)象. 在消息組件概念的理解上,容易混淆消息組件與消息子項(xiàng)、新組件與消息起源,造成概念理解錯(cuò)誤和使用不準(zhǔn)確.
定義1設(shè)t為消息項(xiàng),若t不能分解成級(jí)聯(lián)類型形式,則稱t為簡(jiǎn)單項(xiàng).
定義2設(shè)n為結(jié)點(diǎn)且sign(n)=+,t為term(n)的消息組件.(1)若對(duì)于任意前驅(qū)結(jié)點(diǎn)n′?+n,t都不是n'的子項(xiàng),則稱t是源發(fā)于n.(2)若消息項(xiàng)t在協(xié)議的串空間中有且僅有一個(gè)源發(fā)結(jié)點(diǎn),則稱t是唯一源發(fā)的.
定義3設(shè)t0,t為消息項(xiàng),t0為簡(jiǎn)單項(xiàng)且t0?t. 若所有滿足子項(xiàng)關(guān)系t0t1?t和t1≠t0的消息項(xiàng)t1只能為級(jí)聯(lián)類型,則稱t0為t的消息組件.
定義4設(shè)n為結(jié)點(diǎn),t為term(n)的消息組件. 如果對(duì)于任意前驅(qū)結(jié)點(diǎn)n′?+n,t都不是n′的消息組件,則稱t是結(jié)點(diǎn)n上的新組件.
圖1 Denning-Sacco協(xié)議
注記1消息組件的類型只能為原子類型或加密類型.
任何攻擊者都有能力對(duì)級(jí)聯(lián)類型的消息進(jìn)行拆分、重構(gòu)等操作,破壞消息構(gòu)成和結(jié)構(gòu)次序以達(dá)到攻擊目的,而這些操作對(duì)簡(jiǎn)單項(xiàng)是無效的,所以消息組件是協(xié)議正確性保障的重要基本信息單元. 在圖1的m2=ABS{BkABT{AkABT}kBS}kAS中,則m2只包含A、B、S、{BkABT{AkABT}kBS}kAS4 個(gè)消息組件,AB、ABS、S{BkABT{AkABT}kBS}kAS等級(jí)聯(lián)類型都不是m2的消息組件.
注記2消息的簡(jiǎn)單子項(xiàng)并不一定是消息組件.
在m2=ABS{BkABT{AkABT}kBS}kAS中,{AkABT}kBS并不是m2的消息組件. 如果{AkABT}kBS是m2的消息組件,則在m2中存 在 {AkABT}kBS?{BkABT{AkABT}kBS}kAS?ABS{BkABT{AkABT}kBS}kAS子項(xiàng)關(guān)系,根據(jù)定義2,{BkABT{AkABT}kBS}kAS并不是級(jí)聯(lián)類型,所以{AkABT}kBS并不是m2的消息組件.
注記3結(jié)點(diǎn)n的新組件并不一定源發(fā)于結(jié)點(diǎn)n.
新組件的定義中沒有對(duì)結(jié)點(diǎn)的符號(hào)進(jìn)行限制,所以消息項(xiàng)t是結(jié)點(diǎn)n的新組件,但t并不一定源發(fā)于n. 在圖1 中,m3的消息組件{AkABT}kBS為term(
測(cè)試組件體現(xiàn)的是協(xié)議主體對(duì)消息組件的加工運(yùn)算能力,是認(rèn)證測(cè)試模型的核心,是實(shí)現(xiàn)協(xié)議安全屬性和協(xié)議功能的基礎(chǔ). 原有認(rèn)證測(cè)試?yán)碚撊狈?duì)測(cè)試組件的組成要素、參數(shù)類型,以及協(xié)議主體角色的分析,在概念理解上容易給學(xué)生造成一些誤區(qū).
定義5設(shè)a為原子消息項(xiàng),n為結(jié)點(diǎn),t={h}k為term(n)的消息組件. 如果:(1)a是h的消息組件;(2)t不是協(xié)議串空間中任意其它常規(guī)結(jié)點(diǎn)消息組件的真子項(xiàng),稱t是a在結(jié)點(diǎn)n中的測(cè)試組件.
注記4測(cè)試值、加密秘鑰和測(cè)試主體標(biāo)識(shí)是構(gòu)成測(cè)試組件的三要素,其中測(cè)試主體標(biāo)識(shí)具有顯性和隱性兩種形式.
要借助測(cè)試組件實(shí)現(xiàn)對(duì)協(xié)議主體身份合法性的測(cè)試,則測(cè)試對(duì)象、唯一代表測(cè)試對(duì)象合法身份的信息、信息加工的載體三者缺一不可,這三者在測(cè)試組件中分別被形式化為測(cè)試主體標(biāo)識(shí)符、加密秘鑰和測(cè)試值. 根據(jù)定義5,從測(cè)試組件t={h}k的結(jié)構(gòu)形式上,只能看出測(cè)試值a?h和加密秘鑰k兩個(gè)要素,在測(cè)試組件的概念中也沒有體現(xiàn)測(cè)試主體標(biāo)識(shí)這個(gè)要素. 這是因?yàn)闇y(cè)試主體在測(cè)試組件中具有顯性和隱性兩種形式. 在圖2 的m1={NaA}kB中,A?{NaA}kB,主體A的身份標(biāo)識(shí)是以顯性形式存在m1中的. 在m2={NaNb}kA中,A并不是m2的子項(xiàng),主體A的身份是以隱含形式存在測(cè)試組件的加密秘鑰kA中的.kA為A的公鑰,與主體A的身份存在一一對(duì)應(yīng)關(guān)系,只有擁有的主體才能對(duì){NaNb}kA進(jìn)行運(yùn)算.
圖2 Needham-Schroeder協(xié)議
如何提取隱含在測(cè)試組件中的協(xié)議主體標(biāo)識(shí),結(jié)合文獻(xiàn)[11]中主體身份標(biāo)識(shí)符概念,可給出主體身份標(biāo)識(shí)提取方法的法則.
推論1設(shè)t={h}k為測(cè)試組件,X,Y為協(xié)議主體,id(t)為t的主體標(biāo)識(shí)符集合.(1)若X?h,則X∈id(t);(2)若sXY?h,sXY為X和Y的共享秘密,則X,Y∈id(t);(3)若k=kXY,kXY為X和Y的共享秘鑰,則X,Y∈id(t);(4)若k=kX或分別為X的公鑰和私鑰,則X∈id(t).
根據(jù)注記4和推論1,圖2中的3個(gè)消息m1、m2、m3都滿足測(cè)試組件的條件,可以確定m1的三要素為(Na,kB,{A,B}),m2的三要素為(Na,kA,A)或(Nb,kA,A),m3的三要素(Nb,kB,B).
注記5并不是所有主體標(biāo)識(shí)都是測(cè)試主體標(biāo)識(shí),測(cè)試主體標(biāo)識(shí)只包含挑戰(zhàn)主體標(biāo)識(shí)和響應(yīng)主體標(biāo)識(shí).
測(cè)試主體代表的是測(cè)試組件的信源和信宿,在協(xié)議安全目標(biāo)實(shí)現(xiàn)過程中起到關(guān)鍵保障作用. 根據(jù)測(cè)試主體在測(cè)試組件中的地位和角色,認(rèn)證測(cè)試模型中把驗(yàn)證主體稱為挑戰(zhàn)主體,把被驗(yàn)證主體稱為響應(yīng)主體,測(cè)試主體標(biāo)識(shí)也就相應(yīng)地分為挑戰(zhàn)主體標(biāo)識(shí)和應(yīng)答主體標(biāo)識(shí). 當(dāng)一個(gè)協(xié)議包含多個(gè)協(xié)議主體時(shí),在測(cè)試組件除含有挑戰(zhàn)主體標(biāo)識(shí)和應(yīng)答主體標(biāo)識(shí),還含有其它協(xié)議主體標(biāo)識(shí),這些主體標(biāo)識(shí)只起到數(shù)據(jù)共享的輔助作用,并不影響測(cè)試組件的安全屬性,可稱這些主體為協(xié)商主體. 如在圖1 的m3=AB{AkABT}kBS中,根據(jù)定義5,id({AkABT}kBS)={A,B,S},m3中包含著A、B、S3個(gè)主體標(biāo)識(shí),其中A為挑戰(zhàn)主體標(biāo)識(shí),S為應(yīng)答主體標(biāo)識(shí),B是協(xié)商主體標(biāo)識(shí). {AkABT}kBS的三要素為(T,kAB,{A,S}).
注記6測(cè)試組件的加密秘鑰必定隱含響應(yīng)主體標(biāo)識(shí).
在測(cè)試組件{h}k中,假設(shè)a?h為測(cè)試值,挑戰(zhàn)主體只能基于測(cè)試值a,通過響應(yīng)主體在k或k-1上運(yùn)算的唯一性來判斷響應(yīng)主體的合法性,即響應(yīng)主體與k或k-1存在一一對(duì)應(yīng)關(guān)系,所以響應(yīng)主體的身份標(biāo)識(shí)必然隱含在k中. 在圖2中的m1,由于主體B的公鑰kB是公開的,與A不存在一一對(duì)應(yīng)關(guān)系,B無法通過{NaA}kB上的加密運(yùn)算實(shí)現(xiàn)對(duì)A的合法性測(cè)試. 由于只屬于主體B,所以A可以通過對(duì){NaA}kB的解密運(yùn)算驗(yàn)證B的合法性,所以{NaA}kB的響應(yīng)主體為B,這與B隱含在秘鑰kB中是一致的.
由注記6可得出性質(zhì)1.
性質(zhì)1設(shè)t={h}k為測(cè)試組件,如果X是隱含在k中唯一主體標(biāo)識(shí)符,則X一定是響應(yīng)主體標(biāo)識(shí).
根據(jù)性質(zhì)1,可以判斷圖2中的消息組件m2和m3的響應(yīng)主體分別是A和B.
根據(jù)測(cè)試方式的不同,認(rèn)證測(cè)試模型分為出測(cè)試、入測(cè)試和主動(dòng)測(cè)試3種類型,相應(yīng)的3個(gè)認(rèn)證測(cè)試?yán)碚撝饕糜诎踩珔f(xié)議的認(rèn)證性分析,認(rèn)證性分析是通過參數(shù)一致性判斷來實(shí)現(xiàn). 當(dāng)運(yùn)用認(rèn)證測(cè)試定理對(duì)協(xié)議進(jìn)行參數(shù)一致性分析時(shí),證明過程較為復(fù)雜,且不直觀,學(xué)生難以掌握和運(yùn)用. 協(xié)議的參數(shù)一致性、認(rèn)證性和保密性之間關(guān)系復(fù)雜,概念把握不準(zhǔn)容易造成協(xié)議分析結(jié)果錯(cuò)誤.
定義6設(shè)結(jié)點(diǎn)n1和n2滿足n1?+n2,消息項(xiàng)t1、t2分別為n1和n2的消息組件,且t2為n2的新組件,消息項(xiàng)a滿足a?t1∧a ?t2.(1)若sign(n1))=+,sign(n2)=-,則稱n1?+n2為a的被轉(zhuǎn)換邊;(2)若sign(n1)=-,sign(n2)=+,則稱n1?+n2為a的轉(zhuǎn)換邊.
定義7設(shè)邊n1?+n2為a的被轉(zhuǎn)換邊,t={h}k是a在結(jié)點(diǎn)n1中的測(cè)試組件,KP為攻擊者秘鑰集合. 如果a唯一源發(fā)于結(jié)點(diǎn)n1,且k-1?KP,則稱n1?+n2是a在t上的出測(cè)試.
定義8設(shè)邊n1?+n2為a的被轉(zhuǎn)換邊,t={h}k是a在結(jié)點(diǎn)n2中的測(cè)試組件,KP為攻擊者秘鑰集合. 如果a唯一源發(fā)于結(jié)點(diǎn)n1,且k?KP,則稱n1?+n2是a在t上的入測(cè)試.
定義9設(shè)消息t={h}k是消息項(xiàng)a在結(jié)點(diǎn)中的測(cè)試組件,sign(n)=-,KP為攻擊者秘鑰集合. 如果a在串空間中是唯一源發(fā)的,且k?KP,則稱結(jié)點(diǎn)n是a在t上的主動(dòng)測(cè)試.
注記7認(rèn)證測(cè)試模型基于的是挑戰(zhàn)與應(yīng)答結(jié)構(gòu),主動(dòng)測(cè)試是入測(cè)試的一種特殊情況.
認(rèn)證測(cè)試模型的核心思想是協(xié)議的一方借助測(cè)試值向另一方發(fā)起消息運(yùn)算挑戰(zhàn),然后根據(jù)對(duì)測(cè)試值的運(yùn)算反饋,來判斷另一方的存在性和身份的合法性,所以整個(gè)認(rèn)證過程就是測(cè)試值的挑戰(zhàn)與應(yīng)答過程. 在認(rèn)證測(cè)試模型中稱發(fā)起測(cè)試值運(yùn)算挑戰(zhàn)的一方為挑戰(zhàn)主體,接受測(cè)試值運(yùn)算挑戰(zhàn)的一方為響應(yīng)主體. 在認(rèn)證測(cè)試3種模型的定義和定理中,只有出測(cè)試和入測(cè)試中存在挑戰(zhàn)與應(yīng)答結(jié)構(gòu),但主動(dòng)測(cè)試比較特殊,結(jié)構(gòu)中只存在應(yīng)答不存在挑戰(zhàn). 這主要是因?yàn)橹鲃?dòng)測(cè)試的測(cè)試值不同于出測(cè)試和入測(cè)試,出測(cè)試和入測(cè)試的測(cè)試值是由挑戰(zhàn)主體生成的,而主動(dòng)測(cè)試的測(cè)試值是測(cè)試主體雙方共享的,一般為時(shí)間戳,所以在主動(dòng)測(cè)試結(jié)構(gòu)中就缺省測(cè)試值的挑戰(zhàn)步驟,從形式上好像是響應(yīng)主體主動(dòng)發(fā)起的認(rèn)證測(cè)試,顧名思義,把這種結(jié)構(gòu)叫做主動(dòng)測(cè)試模型. 如果把測(cè)試值共享看作協(xié)議主體發(fā)起的隱性挑戰(zhàn),則主動(dòng)測(cè)試其實(shí)就是入測(cè)試的一種特殊情況.
注記8測(cè)試組件參數(shù)是判斷協(xié)議一致性的主要依據(jù),測(cè)試組件的參數(shù)可以分為測(cè)試主體標(biāo)識(shí)參數(shù)、新鮮值參數(shù)、秘鑰參數(shù)和協(xié)商數(shù)據(jù)參數(shù)4種類型. 非加密秘鑰和協(xié)商主體標(biāo)識(shí)為協(xié)商數(shù)據(jù)參數(shù).
運(yùn)用認(rèn)證測(cè)試模型的3個(gè)定理對(duì)安全協(xié)議進(jìn)行分析時(shí),最終歸結(jié)到挑戰(zhàn)主體與響應(yīng)主體在串參數(shù)的一致性判斷上,測(cè)試組件的參數(shù)正是串參數(shù)一致判斷的核心依據(jù). 根據(jù)測(cè)試組件中參數(shù)的功能和作用,可以把測(cè)試組件的參數(shù)分為測(cè)試主體標(biāo)識(shí)參數(shù)、新鮮值參數(shù)、秘鑰參數(shù)和協(xié)商數(shù)據(jù)參數(shù)4種類型. 測(cè)試主體標(biāo)識(shí)參數(shù)決定參與測(cè)試的協(xié)議主體是誰;新鮮值參數(shù)主要為測(cè)試值,其主要作用是標(biāo)識(shí)協(xié)議運(yùn)行的輪次和確保測(cè)試組件的新鮮性,防止重放攻擊和協(xié)同攻擊;秘鑰參數(shù)確保響應(yīng)主體串的唯一性和數(shù)據(jù)的保密性;協(xié)商數(shù)據(jù)參數(shù)輔助協(xié)議實(shí)現(xiàn)特定的功能和安全目標(biāo). 非加密秘鑰和協(xié)商主體標(biāo)識(shí)只起到數(shù)據(jù)共享和信息輔助作用,不是測(cè)試組件的核心要素,屬于協(xié)商數(shù)據(jù)參數(shù)范疇. 在圖3 中邊
圖3 Amended Otway-Rees協(xié)議
由注記4、注記6和注記8可得性質(zhì)2.
性質(zhì)2挑戰(zhàn)主體通過測(cè)試組件能夠確認(rèn)與響應(yīng)主體在秘鑰參數(shù)、新鮮值參數(shù)和響應(yīng)主體標(biāo)識(shí)參數(shù)上達(dá)成一致.
由注記4可知,秘鑰參數(shù)、新鮮值和測(cè)試主體標(biāo)識(shí)參數(shù)為測(cè)試組件的三要素. 由注記6可知,響應(yīng)主體標(biāo)識(shí)一定隱含在測(cè)試組件中. 所以挑戰(zhàn)主體一定與響應(yīng)主體在秘鑰參數(shù)、新鮮值和響應(yīng)主體參數(shù)具有一致性.
根據(jù)性質(zhì)2,在圖3 的m4中,主體A通過{NaNbkab}kAS能確認(rèn)與S在串參數(shù){A,S,Na,kAS}上具有一致性.
注記9主動(dòng)測(cè)試的測(cè)試值并不一定是時(shí)間戳,也可以是能夠確認(rèn)當(dāng)輪協(xié)議運(yùn)行具有新鮮性和唯一性的隨機(jī)值.
主動(dòng)測(cè)試一般用于分析測(cè)試值為時(shí)間戳的認(rèn)證測(cè)試結(jié)構(gòu). 在協(xié)議運(yùn)行系統(tǒng)的時(shí)鐘同步機(jī)制上,時(shí)間戳可以用來保證消息的新鮮性,防止消息重放攻擊. 由于時(shí)間戳的共享省略測(cè)試值的傳遞過程,所以在協(xié)議設(shè)計(jì)中常常基于時(shí)間戳來實(shí)現(xiàn)協(xié)議主體身份的主動(dòng)認(rèn)證,如圖1中的m2和m3. 但主動(dòng)測(cè)試的測(cè)試值并不全部基于時(shí)間戳的,如果能夠使協(xié)議主體確認(rèn)其它數(shù)據(jù)在當(dāng)輪協(xié)議中的新鮮性和在串空間中的唯一性,也可作為測(cè)試值用于構(gòu)建主動(dòng)測(cè)試. 在圖3的m4中,可信主體S通過把Nb與Na在{NaNbkab}kAS中的綁定,使得主體A可以通過Na的新鮮性來確認(rèn)Nb的新鮮性,從而使得結(jié)點(diǎn)
圖4 CCITT X.509協(xié)議
圖5 NSPK協(xié)議的內(nèi)部攻擊
注記10測(cè)試組件的三要素只能確保協(xié)議滿足弱一致性,當(dāng)且僅當(dāng)在挑戰(zhàn)主體標(biāo)識(shí)和協(xié)商數(shù)據(jù)上滿足一致性時(shí),才能確保協(xié)議滿足強(qiáng)一致性,弱一致性不能保證協(xié)議的認(rèn)證性.
設(shè)A,B為某一認(rèn)證協(xié)議的兩個(gè)通信主體,若A要實(shí)現(xiàn)對(duì)B身份的認(rèn)證,根據(jù)認(rèn)證邏輯[15],當(dāng)A收到B發(fā)送的認(rèn)證消息m時(shí),A不僅知道m(xù)是B發(fā)送的,還要知道是針對(duì)自己發(fā)送的. 放在認(rèn)證測(cè)試模型中,只有挑戰(zhàn)主體標(biāo)識(shí)和響應(yīng)主體標(biāo)識(shí)同時(shí)包含測(cè)試組件中,才能確保挑戰(zhàn)主體對(duì)響應(yīng)主體的正確認(rèn)證. 即只有挑戰(zhàn)主體與響應(yīng)主體在挑戰(zhàn)主體標(biāo)識(shí)、響應(yīng)主體標(biāo)識(shí)、新鮮值和密鑰參數(shù)上達(dá)成一致性,協(xié)議才滿足認(rèn)證性. 如果挑戰(zhàn)主體還能進(jìn)一步與響應(yīng)主體在協(xié)商數(shù)據(jù)上滿足一致性,則協(xié)議滿足強(qiáng)一致性.弱一致性容易遭受來自協(xié)議內(nèi)部的協(xié)同攻擊,無法保證協(xié)議的認(rèn)證性. 圖5為NSPK協(xié)議的內(nèi)部攻擊叢圖,I為內(nèi)部攻擊者,冒充A向B發(fā)起身份認(rèn)證,A可以通過測(cè)試組件{NaA}kI能實(shí)現(xiàn)對(duì)I的正確認(rèn)證,但是B無法通過測(cè)試組件{NaNb}kA實(shí)現(xiàn)對(duì)A的正確認(rèn)證. 導(dǎo)致NSPK存在攻擊的主要原因是,{NaNb}kA
中缺少挑戰(zhàn)主體B的標(biāo)識(shí)符,B與A不能在挑戰(zhàn)主體標(biāo)識(shí)符B上達(dá)成一致.
由性質(zhì)2可知,挑戰(zhàn)主體通過測(cè)試組件只能確保與應(yīng)答主體在響應(yīng)主體標(biāo)識(shí),新鮮值和密鑰參數(shù)上具有一致性,而不能確保在挑戰(zhàn)主體標(biāo)識(shí)和協(xié)商數(shù)據(jù)上的一致性,故測(cè)試組件的三要素只能確保協(xié)議的弱一致性.
認(rèn)證測(cè)試模型的上述教學(xué)注記既涉及到概念的剖析和性質(zhì)挖掘,又涉及到方法的優(yōu)化和萃取. 對(duì)測(cè)試組件的組成要素、參數(shù)類型和主體角色的深入剖析,進(jìn)一步加深學(xué)生對(duì)認(rèn)證測(cè)試模型結(jié)構(gòu)性質(zhì)和密碼學(xué)性質(zhì)的理解. 對(duì)消息子項(xiàng)與消息組件、新組件與消息起源、顯性主體標(biāo)識(shí)和隱形主體標(biāo)識(shí)、挑戰(zhàn)主體與應(yīng)答主體、時(shí)間戳與隨機(jī)值、一致性與認(rèn)證性、認(rèn)證性和保密性等概念關(guān)系的辨析,可以消除學(xué)生在概念理解和方法應(yīng)用上存在的誤區(qū),提高認(rèn)證測(cè)試模型概念使用的準(zhǔn)確性和方法應(yīng)用的嚴(yán)謹(jǐn)性. 對(duì)串參數(shù)一致性判斷方法、協(xié)議認(rèn)證性分析方法、認(rèn)證測(cè)試結(jié)構(gòu)判斷和設(shè)計(jì)方法的優(yōu)化,以及對(duì)主體標(biāo)識(shí)符提取方法、協(xié)議保密性分析方法的擴(kuò)展,讓認(rèn)證測(cè)試方法變得更加簡(jiǎn)潔、具體和直觀,讓學(xué)生更加易于理解、掌握和運(yùn)用,能夠有效提升認(rèn)證測(cè)試模型的教學(xué)效果.