陳培基
摘要:本文對(duì)物聯(lián)網(wǎng)中MIBS輕量級(jí)密碼的唯密故障分析展開了實(shí)驗(yàn)研究,結(jié)果表明,雙重區(qū)分器、三重區(qū)分器能夠達(dá)到更好的增強(qiáng)故障攻擊效率的效果,促使密鑰破譯中故障注入數(shù)量以及攻擊時(shí)間明顯下降,即唯密文故障攻擊會(huì)降低物聯(lián)網(wǎng)中MIBS輕量級(jí)密碼的使用安全。
關(guān)鍵詞:物聯(lián)網(wǎng);MIBS輕量級(jí)密碼;唯密故障
中圖分類號(hào):TP393文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2020)18-0055-02
開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(0SID):
當(dāng)前,物聯(lián)網(wǎng)得到普及性應(yīng)用,為人們的工作、生活提供了更便捷的條件。但是,相比于傳統(tǒng)網(wǎng)絡(luò)來說,物聯(lián)網(wǎng)無法有效使用傳統(tǒng)的密碼算法進(jìn)行信息保護(hù),因此面對(duì)的安全風(fēng)險(xiǎn)就更高。其中,MIBS輕量級(jí)密碼的使用就能夠避免上述問題,為了最大程度保障物理網(wǎng)安全,對(duì)該密碼是否能夠抵抗唯密故障攻擊展開分析具有極高的現(xiàn)實(shí)價(jià)值。
1 MIBS輕量級(jí)密碼的概述
MIBS輕量級(jí)密碼的長度在64b,迭代輪數(shù)為32輪,相應(yīng)算法中主要包含加密、密鑰編排、解密三大部分[1]。其中,加密與解密部分的操作基本相同,區(qū)別在于子密鑰的使用順序呈現(xiàn)出相反的狀態(tài)。
2 MIBS輕量級(jí)密碼唯密故障分析的主要內(nèi)容
2.1 基本假設(shè)與故障模型
(1)基本假設(shè)
在本次MIBS輕量級(jí)密碼唯密故障分析中,使用的基本假定為唯密文攻擊,具體有:設(shè)定攻擊者可以在同一密鑰的支持下,對(duì)多組隨機(jī)明文落實(shí)加密處理,結(jié)合故障導(dǎo)人以獲取多組錯(cuò)誤密文。
2.2 故障分析步驟
為了確保實(shí)驗(yàn)分析結(jié)果的科學(xué)性與有效性,在本次研究中,不僅引入了前人研究中提出的區(qū)分器,同時(shí),對(duì)三重區(qū)分器和雙重區(qū)分器這兩種新型區(qū)分器在唯密文故障分析中的應(yīng)用效果展開了分析,具體的故障分析步驟如下所示:
第一,在主密鑰的支持下,隨機(jī)選擇明文展開加密處理;在迭代加密至30輪的情況下,在右分組內(nèi)選擇任意一個(gè)半字節(jié)單元,并在其中完成故障的導(dǎo)人,以此落實(shí)錯(cuò)誤密文的構(gòu)建。需要注意的是,故障的導(dǎo)人位置與故障擴(kuò)散途徑之間存在著相對(duì)緊密的聯(lián)系,即在導(dǎo)入故障位置不同的情況下,可以在后期恢復(fù)出密鑰的不同位。
第二,在逆向計(jì)算的支持下,可以對(duì)完成故障導(dǎo)人后的錯(cuò)誤密文、中間狀態(tài)以及子密鑰之間存在的邏輯關(guān)系展開整理與推測;此時(shí)引入一部分子密鑰,可以實(shí)現(xiàn)某一組中間狀態(tài)猜測值的確定;在區(qū)分器的支持下,可以實(shí)現(xiàn)中間狀態(tài)分布情況的確定,并在此基礎(chǔ)上展開最后一輪正確密鑰的確定。在MIBS算法中,R30處的故障(迭代加密至30輪后導(dǎo)入故障)不會(huì)對(duì)相應(yīng)子密鑰造成直接性影響,且R32與L31相等。所以,依托R32與y、k32之間的關(guān)系表達(dá)式,就能夠完成猜測值R32的估計(jì),并聯(lián)合統(tǒng)計(jì)區(qū)分實(shí)現(xiàn)k32的恢復(fù)。此時(shí),可以列出的表達(dá)式為:R32=P(ML(SL(R 33 ○k32》)○L 33。根據(jù)相應(yīng)關(guān)系式,能夠完成k32的1-6個(gè)半字節(jié)的值的計(jì)算,并推導(dǎo)出R32與k32的20位相關(guān),實(shí)現(xiàn)k32中20個(gè)位的計(jì)算。重復(fù)上一步操作,即在第七個(gè)半字節(jié)中實(shí)施故障導(dǎo)人,由此獲取k32其余12位。
第三,該步驟的操作與前一步驟操作基本相似,最終實(shí)現(xiàn)所有子密鑰的分析與確定;此時(shí),參考密鑰編排方案,達(dá)到恢復(fù)主密鑰的效果。
2.3 區(qū)分器
結(jié)合上文能夠了解到,在本次MIBS輕量級(jí)密碼唯密故障分析中,為了保證分析結(jié)果的科學(xué)準(zhǔn)確與有效性,主要使用了9種區(qū)分器(包含7種前人研究中提出的區(qū)分器以及兩種新型區(qū)分器)。
2.3.1 平方歐氏距離區(qū)分器
該區(qū)分器在進(jìn)行正確密鑰的確定中,主要通過判斷密鑰候選值為正確密鑰的概率完成。因此,在應(yīng)用實(shí)踐中,需要計(jì)算樣本值與理論值之間的距離。理論上,所有的中間狀態(tài)取值均表現(xiàn)出均勻分布的狀態(tài),若是中間狀態(tài)取值偏離均勻分布,則意味著相應(yīng)密鑰候選值為正確密鑰。通常情況下,在SEI(k1)取最大值的條件下,所對(duì)應(yīng)的密鑰候選值為正確密鑰。
2.3.2 擬合優(yōu)度區(qū)分器
在使用該區(qū)分器展開正確密鑰的獲取時(shí),必須要保證樣本分布率為已知條件。在實(shí)踐中,若樣本與給定分布率之間的擬合相似度最大時(shí),相應(yīng)密鑰候選值即可判定為正確密鑰。
2.3. 3漢明重量區(qū)分器
該區(qū)分器在應(yīng)用中主要計(jì)算了中間狀態(tài)與等長非零字符串之間的漢明距離。實(shí)踐中,若是漢明重量的取值為最小值時(shí),則可以判定相應(yīng)密鑰候選值為正確密鑰。
2.3.4極大似然估計(jì)區(qū)分器
該區(qū)分器依托對(duì)樣本信息的觀察,反推出可能出現(xiàn)相應(yīng)樣本結(jié)果的模型參數(shù)值。結(jié)合理論上所有中間值狀態(tài)出現(xiàn)概率的乘積(似然函數(shù)),可以完成正確密鑰的推斷。實(shí)踐中,若是極大似然估計(jì)值達(dá)到最大,即可判定相應(yīng)密鑰候選值為正確密鑰。
2.3.5 擬合優(yōu)度一平方歐氏距離區(qū)分器
該區(qū)分器先使用擬合優(yōu)度算法剔除部分樣本,避免不符合理論分布的樣本對(duì)正確密鑰的確定產(chǎn)生干擾。然后,結(jié)合平方歐氏距離計(jì)算,實(shí)現(xiàn)最優(yōu)樣本的獲取。較于上述兩種區(qū)分器,該區(qū)分器能夠促使攻擊效率增高,并降低故障注入數(shù)。在具體的計(jì)算與實(shí)踐中,若密鑰候選值GF(k1)達(dá)到最小且SEI(k1)達(dá)到最大時(shí),即可判定相應(yīng)密鑰候選值為正確密鑰。
2.3.6 擬合優(yōu)度一極大似然估計(jì)區(qū)分器
該區(qū)分器先使用擬合優(yōu)度算法,實(shí)現(xiàn)與理論分布接近程度更高的密鑰候選值的挑選,然后,結(jié)合極大似然估計(jì)計(jì)算,完成挑選出的密鑰候選值對(duì)應(yīng)概率的計(jì)算。較于上述兩種區(qū)分器,該區(qū)分器能夠促使攻擊效率增高,并降低故障注入數(shù)。在具體的計(jì)算與實(shí)踐中,MLE(k1)達(dá)到最大時(shí),即可判定相應(yīng)密鑰候選值為正確密鑰。
2.3.7 極大似然估計(jì)一平方歐氏距離區(qū)分器
該區(qū)分器先使用極大似然估計(jì)算法完成密鑰候選值的篩選,然后,結(jié)合平方歐氏距離計(jì)算,確定正確密鑰。較于上述兩種區(qū)分器,該區(qū)分器能夠降低故障注入數(shù)。一般情況下,在SEI(k1)取值最大時(shí),即可判定相應(yīng)密鑰候選值為正確密鑰。
2.3.8三重區(qū)分器
該區(qū)分器先利用窗函數(shù)完成密鑰候選值的篩選,然后依托漢明重量算法再次篩選密鑰候選值,最終,結(jié)合極大似然估計(jì)算法提取正確密鑰。此時(shí),若是極大似然估計(jì)值達(dá)到最大,即可判定相應(yīng)密鑰候選值為正確密鑰。
2.3.9 雙重區(qū)分器
該區(qū)分器融合了出窗估計(jì)算法、漢明重量算法,在完成樣本篩選后最終確定正確密鑰。通常情況下,若是漢明重量為最小值時(shí),則可判定相應(yīng)密鑰候選值為正確密鑰。
3 MIBS輕量級(jí)密碼的唯密故障實(shí)驗(yàn)分析
3.1 實(shí)驗(yàn)環(huán)境與設(shè)備
在本次實(shí)驗(yàn)中,使用設(shè)備有計(jì)算機(jī)、Eclipse實(shí)驗(yàn)平臺(tái);應(yīng)用Java語言完成攻擊環(huán)境的構(gòu)建[3],實(shí)驗(yàn)流程如前文所述。
3.2 結(jié)果分析
實(shí)驗(yàn)結(jié)果顯示,在“與”故障模型下,想要恢復(fù)最后的密鑰,至少要注入64個(gè)故障;在雙重“與”故障模型下,想要恢復(fù)最后的密鑰,至少要注入24個(gè)故障;想要實(shí)現(xiàn)主密鑰的破譯,至少要注入192個(gè)、72個(gè)故障;若是使用新型區(qū)分器,在破譯中需要注入的故障數(shù)量更少。
總體而言,在雙重“與”故障模型條件下,9種區(qū)分器均可以在較短的時(shí)間內(nèi)并使用更少故障注入量完成子密鑰的破譯,而雙重區(qū)分器或是三重區(qū)分器,所需要注入的故障數(shù)量以及破譯時(shí)長更低。這一結(jié)果表明,新型故障模型以及新型區(qū)分器能夠達(dá)到增強(qiáng)故障攻擊效率的效果,促使密鑰破譯中故障注入數(shù)量以及攻擊時(shí)間明顯下降。
4 總結(jié)
綜上所述,對(duì)MIBS輕量級(jí)密碼對(duì)于抵御唯密文故障的情況進(jìn)行了仿真分析,結(jié)果表明:該密碼極容易遭受唯密文故障分析的攻擊;相比于傳統(tǒng)的區(qū)分器來說,新型故障模型以及新型區(qū)分器能夠達(dá)到增強(qiáng)故障攻擊效率的效果,促使密鑰破譯中故障注入數(shù)量以及攻擊時(shí)間明顯下降。
參考文獻(xiàn):
[1]李瑋,曹珊,谷大武,等.物聯(lián)網(wǎng)中MIBS輕量級(jí)密碼的唯密文故障分析[J].計(jì)算機(jī)研究與發(fā)展,2019,56(10):2216-2228.
[2]崔杰,左海風(fēng),仲紅.對(duì)輕量級(jí)分組密碼MIBS和l-PRESENT的非對(duì)稱Biclique攻擊[J].中國科學(xué):信息科學(xué),2017,47(10):1395-1410.
[3]伊文壇,魯林真,陳少真.輕量級(jí)密碼算法MIBS的零相關(guān)和積分分析[J].電子與信息學(xué)報(bào),2016,38(4):819-826.
【通聯(lián)編輯:聞翔軍】