• 
    

    
    

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

      ?

      消息鑒別碼(MAC)相關(guān)國(guó)際標(biāo)準(zhǔn)介紹

      2021-12-06 10:55謝宗曉董坤祥甄杰
      關(guān)鍵詞:完整性密鑰分組

      謝宗曉 董坤祥 甄杰

      1 消息鑒別碼

      消息鑒別碼(Message Authentication Code,MAC)是一種確認(rèn)完整性的技術(shù)。MAC的輸入,包括任意長(zhǎng)度的消息和一個(gè)發(fā)行者和接收者的共享密鑰。MAC的輸出,則是固定長(zhǎng)度的字符串,這個(gè)數(shù)據(jù)串稱為MAC值。顯然,輸入和輸出的方式,與雜湊函數(shù)很類似,但是,雜湊函數(shù)不需要密鑰。換句話說(shuō),MAC可以認(rèn)為是與密鑰相關(guān)的雜湊函數(shù)。

      雜湊函數(shù)的最典型應(yīng)用,例如存儲(chǔ)用戶口令,利用MD5 算法實(shí)現(xiàn)的口令的比對(duì)過(guò)程見圖1。

      類似于口令比對(duì)的方式,也可以檢測(cè)消息傳輸過(guò)程中是否被篡改過(guò),也就是說(shuō)可以保證消息的“完整性”。但是有時(shí)候我們需要確認(rèn)消息是誰(shuí)發(fā)送的,或者說(shuō)需要對(duì)消息進(jìn)行鑒別(authentication),不僅僅是判斷完整性,這時(shí)候就需要MAC。此時(shí),共享密鑰的作用就顯現(xiàn)出來(lái)了。

      例如,在銀行轉(zhuǎn)賬業(yè)務(wù)中,收到的匯款請(qǐng)求指令,不僅要確保消息在傳輸過(guò)程中未被篡改,還要確保消息不是偽造的。這正是MAC能夠解決的問(wèn)題,固定長(zhǎng)度的字符串(類似于雜湊值)可以保證消息的完整性,共享的密鑰可以實(shí)現(xiàn)一定程度的用戶鑒別,即消息確實(shí)來(lái)自正確的發(fā)送者。其工作原理見圖2。

      但是,從上述機(jī)制中也可以看到MAC本身是無(wú)法抗抵賴的,因?yàn)槊荑€是發(fā)送方和接收方共享的,實(shí)際上,抗抵賴性的實(shí)現(xiàn)一般要用數(shù)字簽名技術(shù)[1]。MAC還存在一個(gè)問(wèn)題,就是密鑰如何共享,這與對(duì)稱密碼算法的密鑰分發(fā)問(wèn)題是一致的。

      2 MAC的實(shí)現(xiàn)

      MAC是一種機(jī)制,而不是某個(gè)單獨(dú)的函數(shù)。事實(shí)上,實(shí)現(xiàn)MAC的途徑有很多,一般在實(shí)際應(yīng)用中,主要是通過(guò)雜湊函數(shù)和分組密碼,也可以通過(guò)序列密碼和公鑰密碼等。通過(guò)雜湊函數(shù)或分組密碼實(shí)現(xiàn)MAC,是最常見的方式,對(duì)應(yīng)的就是ISO/IEC 9797的3個(gè)部分,ISO/IEC 9797 總標(biāo)題為:消息鑒別碼(Message Authentication Codes,MACs),基本情況見表1。

      ISO/IEC 9797本身并不討論算法,只是給出了MAC的構(gòu)造方法,即利用分組密碼構(gòu)造MAC,或者是利用雜湊函數(shù)構(gòu)造MAC。這需要利用已有的分組密碼算法以及雜湊函數(shù)。ISO/IEC 18033-3和ISO/IEC 10118-3提供了這個(gè)功能。

      ISO/IEC 9797的版本信息與采標(biāo)信息見表2。

      ISO/IEC 9797-1:2011一共給出了6種采用分組密碼的MAC算法,主要是基于密文分組鏈接(Cipher Block Chaining,CBC)模式,關(guān)于CBC的介紹,請(qǐng)參考GB/T 17964—2008《信息安全技術(shù) 分組密碼算法的工作模式》。具體算法比較復(fù)雜,在本文中不再詳細(xì)介紹。

      ISO/IEC 9797-2:2011給出了3種采用專用雜湊函數(shù)的MAC算法。使用雜湊函數(shù)構(gòu)造MAC的方法統(tǒng)稱為HMAC(Hash MAC)。采用泛雜湊函數(shù)的MAC算法指的是使用了一種加密算法,如分組密碼算法、序列密碼算法或偽隨機(jī)數(shù)生成器算法。ISO/IEC 9797-3:2011規(guī)定了4種泛雜湊函數(shù)MAC算法,包括UMAC(Universal-Hash MAC)、Badger、Poly1305和GMAC(Galois MAC)。

      3 關(guān)于分組密碼的ISO/IEC 18033-3

      ISO/IEC 18033總標(biāo)題為:加密算法(encryption algorithm)。ISO/IEC 18033-3:2010定義了分組密碼(block cipher),正文中包括7種分組密碼算法,見表3。

      國(guó)產(chǎn)密碼算法SM4以Amendment的形式給出。

      ISO/IEC 18033一共有6個(gè)部分,見表4。

      4 關(guān)于雜湊函數(shù)的ISO/IEC 10118-3

      ISO/IEC 10118總標(biāo)題為:散列函數(shù)(hash-functions)。在GM/Z 0001—2013《密碼術(shù)語(yǔ)》中,hash algorithm 可以翻譯為“雜湊算法”“散列算法”或“哈希算法”。在實(shí)踐中,上述幾個(gè)詞匯都很常見。此處用“散列函數(shù)”,是因?yàn)镮SO/IEC 10118對(duì)應(yīng)的國(guó)家標(biāo)準(zhǔn)GB/T 18238用的是該詞匯。但是由于GB/T 32905—2016《信息安全技術(shù) SM3 密碼雜湊算法》中用的是“雜湊算法”詞匯,因此在描述中,如果不是專門討論ISO/IEC 10118,我們盡量與GB/T 32905—2016保持一致。

      ISO/IEC 10118-3定義了專用散列函數(shù),其最新版本ISO/IEC 10118-3:2018定義了17種散列函數(shù),第17種為國(guó)產(chǎn)密碼算法SM3,具體包括:RIPEMD-160、RIPEMD-128、SHA-1、SHA-256、SHA-512、SHA-384、WHIRLPOOL、SHA-224、SHA-512/224、SHA-512/256、STREEBOG-512、STREEBOG-256、SHA3-224、SHA3-256、SHA3-384、SHA3-512和SM3。

      其中需要注意的是,ISO/IEC 10118-3:2018定義的算法中依然包含SHA-1。諸多文獻(xiàn)表明, SHA-1已經(jīng)不再安全[2]。但是,原則上講,作為推薦性標(biāo)準(zhǔn)的ISO/IEC 10118-3,只是提供了可能的雜湊算法,并不為其安全性背書。而且安全性都是相對(duì)的,需要考慮性價(jià)比等因素,怎么用,主要看是否值得。

      ISO/IEC 10118一共有4個(gè)部分,見表5。

      ISO/IEC 10118的版本信息與采標(biāo)信息見表6。

      5 金融行業(yè)的應(yīng)用ISO 16609

      在金融領(lǐng)域中,message通常翻譯為“報(bào)文”,因此目前的現(xiàn)行國(guó)家標(biāo)準(zhǔn)GB/T 27929—2011 (ISO 16609:2004 MOD)標(biāo)題為《銀行服務(wù) 采用對(duì)稱加密技術(shù)進(jìn)行報(bào)文鑒別的要求》(Banking — Requirements for message authentication using symmetric techniques)。

      目前,ISO 16609:2012為最新版本,在其引言中明確指出“This International Standard identifies ciphers, hash functions and algorithms from ISO 9797 (all parts) that are specifically approved for secure banking purposes”。(“本標(biāo)準(zhǔn)確定了ISO 9797中專門批準(zhǔn)用于安全銀行業(yè)務(wù)的密碼、雜湊函數(shù)和算法”。)在規(guī)范性引用中,也引用了ISO/IEC 9797-1和ISO/IEC 9797-2。因此,這幾個(gè)標(biāo)準(zhǔn)的關(guān)系見圖3。

      在ISO 16609:2012中,算法的討論主要集中在“5.4基于ISO/IEC 9797核準(zhǔn)的鑒別算法”。如上文所述,ISO/IEC 9797本身并不討論算法,只是給出了MAC的構(gòu)造方法,即,利用分組密碼構(gòu)造MAC,或者是利用雜湊函數(shù)構(gòu)造MAC。

      ISO 16609:2012直接引用了ISO/IEC 9797-1的MAC算法,以及ISO/IEC 18033-3的分組密碼算法,但是存在一個(gè)問(wèn)題,就是選擇性的引用,實(shí)際情況是,只引用了TDEA、AES和DEA,其他算法并未提及,SM4自然也沒(méi)在引用之列。ISO 16609:2012也直接引用了ISO/IEC 9797-2的HMAC算法,以及ISO/IEC 10118-3:2004的RIPEMD-160、SHA-1、SHA-256、SHA-384和SHA-512,SM3也不在引用之列。

      (注:本文僅做學(xué)術(shù)探討,與作者所在單位觀點(diǎn)無(wú)關(guān))

      參考文獻(xiàn)

      [1] 謝宗曉,董坤祥,甄杰. 公鑰基礎(chǔ)設(shè)施(PKI)的發(fā)展過(guò)程及其架構(gòu)[J].中國(guó)質(zhì)量與標(biāo)準(zhǔn)導(dǎo)報(bào),2020(5):17-20.

      [2] 謝宗曉,甄杰,董坤祥. 國(guó)產(chǎn)商用密碼算法 SM3 及其相關(guān)標(biāo)準(zhǔn)介紹[J].中國(guó)質(zhì)量與標(biāo)準(zhǔn)導(dǎo)報(bào),2021(3):14-16.

      猜你喜歡
      完整性密鑰分組
      酶可提高家禽的胃腸道完整性和生產(chǎn)性能
      幻中邂逅之金色密鑰
      幻中邂逅之金色密鑰
      防止調(diào)度自動(dòng)化系統(tǒng)漏監(jiān)視告警的一些措施
      BitLocker密鑰恢復(fù)二三事
      分組
      每個(gè)人的朋友圈里都有一個(gè)分組叫“爸媽”
      一種新的動(dòng)態(tài)批密鑰更新算法
      談書法作品的完整性與用字的準(zhǔn)確性
      疏附县| 西峡县| 东海县| 绥芬河市| 盈江县| 班戈县| 梧州市| 南昌市| 阜康市| 苍梧县| 旌德县| 曲阳县| 蓬溪县| 新民市| 前郭尔| 万宁市| 辽中县| 伊金霍洛旗| 育儿| 临海市| 太白县| 遂川县| 浪卡子县| 乐清市| 眉山市| 湘西| 吉安市| 云龙县| 昌江| 恩施市| 毕节市| 金塔县| 莲花县| 临高县| 阿尔山市| 寻乌县| 龙门县| 龙陵县| 玉门市| 甘南县| 平遥县|