0755-2180 5427
深圳市一諾威科技有限公司
國(guó)密算法在數(shù)據(jù)存儲(chǔ)中的安全應(yīng)用
技術(shù)貼 張 妮娜 發(fā)布于 2018-02-02
分類:安全 / 智能計(jì)算 / 物聯(lián)網(wǎng)
時(shí)至今日,互聯(lián)網(wǎng)和物聯(lián)網(wǎng)已經(jīng)滲透到我們生活的點(diǎn)點(diǎn)滴滴,數(shù)據(jù)在其中的重要性不言而喻,一旦數(shù)據(jù)遭到惡意攻擊,導(dǎo)致泄漏或篡改等,這兩張網(wǎng)的安全性也就不復(fù)存在。因此,2015年重新頒布的《國(guó)家安全法》中第24、25條特別強(qiáng)調(diào)了數(shù)據(jù)安全要自主可控,而作為數(shù)據(jù)安全最重要環(huán)節(jié)之一的數(shù)據(jù)存儲(chǔ)安全也就成為了業(yè)界關(guān)注的焦點(diǎn)。
硬盤是數(shù)據(jù)的棲息地,那么如何確保數(shù)據(jù)能安全的存儲(chǔ)在硬盤上呢?眾所周知,人們?yōu)榉乐棺约杭抑胸?cái)物被盜取,往往會(huì)在門上加上一把鎖,沒(méi)有鑰匙就沒(méi)辦法入門,一樣的道理,為了保護(hù)數(shù)據(jù),可以對(duì)數(shù)據(jù)進(jìn)行加密,只有擁有密鑰的用戶才能獲取數(shù)據(jù)內(nèi)容,這就是密碼技術(shù)。
密碼技術(shù)的核心是對(duì)信息按照一定的規(guī)則重新編碼來(lái)保證信息的機(jī)密性,國(guó)際上已有一系列密碼算法,而為了信息安全自主可控,我國(guó)商用密碼局近年來(lái)也組織制定了一些自主研發(fā)的密碼算法,包括SM1、SM2、SM3、SM4、SM7、SM9等。結(jié)合國(guó)家密碼算法,從硬盤固件安全和數(shù)據(jù)安全兩個(gè)方面出發(fā),可以一定程度確保整個(gè)數(shù)據(jù)存儲(chǔ)系統(tǒng)的安全。
下面先簡(jiǎn)述幾種常用國(guó)密算法的基本原理和應(yīng)用場(chǎng)景,再?gòu)墓碳踩蛿?shù)據(jù)安全兩個(gè)方面,詳細(xì)介紹國(guó)密算法在對(duì)應(yīng)安全節(jié)點(diǎn)的具體應(yīng)用。
幾種常用的國(guó)密算法
一系列國(guó)密算法中每個(gè)算法都有其獨(dú)特的用途,有些用于大量數(shù)據(jù)的加解密,有些用于身份的認(rèn)證,有些用于防止數(shù)據(jù)被篡改。這些算法的安全性經(jīng)過(guò)大量的論證,并基于現(xiàn)代密碼學(xué)的原理,逐步公開(kāi)算法的具體實(shí)現(xiàn),任何單位和個(gè)人都可以使用國(guó)密算法來(lái)保護(hù)自己的信息安全,其中應(yīng)用最多最廣的是SM2、SM3、SM4算法。
SM2算法是一種基于橢圓曲線的非對(duì)稱密碼算法,即使用私鑰加密后的密文只能用對(duì)應(yīng)公鑰進(jìn)行解密,反之使用公鑰加密的密文也只能用對(duì)應(yīng)的私鑰進(jìn)行解密。通過(guò)對(duì)私鑰進(jìn)行橢圓曲線運(yùn)算可以生成公鑰,而由于橢圓曲線的特點(diǎn),知道公鑰卻很難反推出私鑰,這就決定了SM2算法的安全性。SM2算法最常見(jiàn)的應(yīng)用是進(jìn)行身份認(rèn)證,也就是我們熟知的數(shù)字簽名與驗(yàn)簽,通過(guò)私鑰的私密性來(lái)實(shí)現(xiàn)身份的唯一性和合法性。
SM3算法是一種雜湊算法,任意長(zhǎng)度的數(shù)據(jù)進(jìn)過(guò)SM3算法后會(huì)生成長(zhǎng)度固定為256bit的摘要。SM3算法的逆運(yùn)算在數(shù)學(xué)上是不可實(shí)現(xiàn)的,即通過(guò)256bit的摘要無(wú)法反推出原數(shù)據(jù)的內(nèi)容,因此在信息安全領(lǐng)域內(nèi)常用SM3算法對(duì)信息的完整性進(jìn)行度量。
SM4算法是一種對(duì)稱密碼算法,它以128bit為一組進(jìn)行加解密。密鑰也固定為128bit,使用某一密鑰加密后的密文只能用該密鑰解密出明文,故而稱為對(duì)稱加密。SM4算法采用32輪非線性迭代實(shí)現(xiàn),加解密速度較快,常應(yīng)用于大量數(shù)據(jù)的加密,保存在存儲(chǔ)介質(zhì)上的用戶數(shù)據(jù)往往就使用SM4算法進(jìn)行加密保護(hù)。
國(guó)密算法在固件安全中的應(yīng)用
固件控制著整個(gè)存儲(chǔ)系統(tǒng)的正常運(yùn)行,倘若非法人員可以隨意導(dǎo)入固件、修改固件,那么數(shù)據(jù)也將完全暴露,因此保護(hù)數(shù)據(jù)存儲(chǔ)安全的首要一點(diǎn)就是要確保固件在導(dǎo)入、保存和執(zhí)行過(guò)程中的安全。
在固件導(dǎo)入過(guò)程中使用SM2算法進(jìn)行驗(yàn)簽,其中用到的公鑰保存在主控芯片內(nèi)部,私鑰由受信用的固件廠商保存。對(duì)于要導(dǎo)入的固件,需要使用私鑰對(duì)其進(jìn)行簽名,將簽名和固件一起導(dǎo)入到盤片,帶有簽名的固件下載到緩存RAM后,再用公鑰進(jìn)行SM2驗(yàn)簽。只有使用合法私鑰簽名的固件才能通過(guò)驗(yàn)簽,成功導(dǎo)入,沒(méi)有簽名或者使用非法私鑰簽名的固件無(wú)法通過(guò)驗(yàn)簽而被丟棄。如此,擁有合法私鑰的用戶才擁有固件的導(dǎo)入權(quán)限,從源頭上確保了盤片內(nèi)部固件的合法性。
國(guó)密算法在數(shù)據(jù)安全中的應(yīng)用
以固態(tài)硬盤為例,用戶數(shù)據(jù)由主機(jī)寫入到硬盤的流程如上圖所示,虛線部分為國(guó)密算法在數(shù)據(jù)安全中的應(yīng)用。若用戶數(shù)據(jù)的明文直接保存在存儲(chǔ)介質(zhì)上,那么只要拿到存儲(chǔ)數(shù)據(jù)的存儲(chǔ)介質(zhì),就能以一定的途徑獲取到其中存儲(chǔ)的用戶數(shù)據(jù),比如換上其它的主控芯片、對(duì)存儲(chǔ)介質(zhì)上的電平進(jìn)行分析等。我們可以在數(shù)據(jù)讀寫路徑上加上一道門鎖——SM4加解密:數(shù)據(jù)由主機(jī)傳輸?shù)骄彺鍾AM的過(guò)程中,使用SM4 算法加密,寫入到緩存上的就是密文,并最終以密文的形式保存在存儲(chǔ)介質(zhì)Flash上;讀取數(shù)據(jù)時(shí)再解密出明文返回給主機(jī)。
以上所述的加密過(guò)程對(duì)用戶是完全透明的,用戶完全感知不到加解密過(guò)程的存在。為確保明文數(shù)據(jù)只對(duì)授權(quán)用戶可見(jiàn),需要對(duì)加解密數(shù)據(jù)的密鑰——介質(zhì)密鑰(MKey)進(jìn)行保護(hù),將其與授權(quán)用戶關(guān)聯(lián)起來(lái)。一種簡(jiǎn)單的關(guān)聯(lián)方式如下圖所示,一方面使用SM3算法對(duì)用戶口令進(jìn)行雜湊生成口令摘要,保存口令摘要用于身份鑒權(quán);另一方面,對(duì)用戶口令進(jìn)行派生構(gòu)造加密密鑰(EKey),對(duì)介質(zhì)密鑰進(jìn)行加密保存。這個(gè)過(guò)程主要有以下三個(gè)方面:
創(chuàng)建——如上圖所示,用戶創(chuàng)建自己口令的同時(shí),會(huì)生成取自口令摘要的加密密鑰EKey和取自真隨機(jī)數(shù)的介質(zhì)密鑰MKey;通過(guò)SM4算法將MKey用EKey加密;最終將口令摘要和MKey密文保存在Flash上。
鑒權(quán)——?jiǎng)?chuàng)建用戶口令后再次上電,鑒權(quán)之前,由于無(wú)法獲取MKey而使盤片處于鎖定狀態(tài)。鑒權(quán)的過(guò)程即時(shí)將輸入的用戶口令使用SM3算法進(jìn)行雜湊得到一份摘要,再?gòu)腇lash上加載出保存的口令摘要,兩份摘要相同則認(rèn)為用戶身份合法,反之不同則不合法。
解鎖——輸入正確的用戶口令,通過(guò)身份鑒權(quán)之后,才能構(gòu)造出正確的EKey,解密出MKey明文,進(jìn)而對(duì)讀寫的數(shù)據(jù)進(jìn)行正常的加解密,實(shí)現(xiàn)盤片的解鎖,如上圖所示。
這個(gè)關(guān)聯(lián)過(guò)程也叫做密鑰管理過(guò)程,上面介紹的僅僅是一個(gè)基本思路,事實(shí)上在實(shí)際使用過(guò)程中,往往采用密鑰多級(jí)加密方式,也往往會(huì)在這個(gè)過(guò)程中加入一些真隨機(jī)數(shù),來(lái)確保鑒權(quán)的有效性和介質(zhì)密鑰的私密性。
綜上所述,對(duì)用戶數(shù)據(jù)的直接保護(hù)也使用了兩道門鎖——一道是對(duì)數(shù)據(jù)的輸入和輸出加上SM4加解密,確保存儲(chǔ)的用戶數(shù)據(jù)是密文;另一道是對(duì)介質(zhì)密鑰加上SM3和SM4算法,確保介質(zhì)密鑰直接與可信用戶關(guān)聯(lián),進(jìn)而實(shí)現(xiàn)了用戶數(shù)據(jù)明文只有可信用戶唯一可見(jiàn)。
結(jié)語(yǔ)
SM2、SM3、SM4算法,從固件安全和數(shù)據(jù)安全兩個(gè)維度,為數(shù)據(jù)存儲(chǔ)安全建立了一道堅(jiān)實(shí)的保護(hù)墻。將自主研發(fā)的國(guó)家商用密碼算法應(yīng)用到數(shù)據(jù)存儲(chǔ)安全,是順應(yīng)了國(guó)產(chǎn)化需求的,也是實(shí)現(xiàn)數(shù)據(jù)安全自主可控道路上重要的一步。
(來(lái)源:湖南國(guó)科微電子股份有限公司 存儲(chǔ)產(chǎn)品線 任翠霞)