[0044] 請(qǐng)參閱圖2給出的一較佳實(shí)施例中,重放保護(hù)內(nèi)存塊111中數(shù)據(jù)傳輸時(shí),通過(guò)消息數(shù)據(jù)也就是Message在待測(cè)存儲(chǔ)器10和處理器2之間傳輸。Message在傳輸至重放保護(hù)內(nèi)存塊111中時(shí),通過(guò)傳到待測(cè)存儲(chǔ)器10中的閃存模塊11(eMMC?Device),再由閃存模塊11(eMMC?Device)經(jīng)過(guò)其SHA?256算法加密生成MAC(消息認(rèn)證碼)后存儲(chǔ)至重放保護(hù)內(nèi)存塊111中,此時(shí)計(jì)數(shù)器(counter)生成對(duì)應(yīng)的讀寫次數(shù)。隨后再將寫入時(shí)的Message和MAC返回至處理器2(eMMC?Host)中。而Message在寫入待測(cè)存儲(chǔ)器10時(shí),處理器2會(huì)先根據(jù)Message生成預(yù)設(shè)信息值,進(jìn)行待測(cè)存儲(chǔ)器10的正常讀寫操作。隨后,處理器2根據(jù)先前的預(yù)設(shè)信息值,通過(guò)改變其數(shù)據(jù)架構(gòu)中的部分字段的值,以生成待測(cè)信息值,進(jìn)行待測(cè)存儲(chǔ)器10的讀寫操作,并返回處理器2相應(yīng)的Message和MAC。在返回至處理器2后,Message和MAC經(jīng)過(guò)SHA?256算法解密處理后,與先前的預(yù)設(shè)信息值讀寫操作得到的Message和MAC進(jìn)行測(cè)試比較,判斷二者的讀寫結(jié)果是否一致。若一致,則繼續(xù)完成其余待測(cè)信息值的讀寫測(cè)試。并在其余待測(cè)信息值的讀寫均完成后,再對(duì)測(cè)試板1重設(shè)測(cè)試參數(shù),重新進(jìn)行將各待測(cè)信息值寫入待測(cè)存儲(chǔ)器10的讀寫測(cè)試。若不一致,則進(jìn)一步地判斷待測(cè)存儲(chǔ)器10固件是否正確處置重放保護(hù)內(nèi)存塊111的處理流程。也就是說(shuō),在與預(yù)設(shè)信息值得到的正常測(cè)試結(jié)果相比,待測(cè)信息值寫入時(shí)輸出讀寫結(jié)果不一致的錯(cuò)誤測(cè)試結(jié)果時(shí),通過(guò)進(jìn)一步地判斷重放保護(hù)內(nèi)存塊111的響應(yīng)機(jī)制是否正確標(biāo)識(shí)出對(duì)應(yīng)的錯(cuò)誤測(cè)試結(jié)果。并且在已正確標(biāo)識(shí)出時(shí),說(shuō)明固件分析時(shí)已正確處理重放保護(hù)內(nèi)存塊111的處理流程。而若未正確標(biāo)識(shí)出時(shí),則說(shuō)明固件分析錯(cuò)誤。通過(guò)固件分析錯(cuò)誤測(cè)試結(jié)果的原因,修改重放保護(hù)內(nèi)存塊111的處理流程。
[0045] 在本發(fā)明的一實(shí)施例中,在將待測(cè)信息值寫入至待測(cè)存儲(chǔ)器10時(shí),為了增加測(cè)試的復(fù)雜程度,還可以通過(guò)將多個(gè)不同的待測(cè)信息值同時(shí)寫入至待測(cè)存儲(chǔ)器10中,進(jìn)行同時(shí)測(cè)試。具體地,處理器2被配置為:將至少兩個(gè)待測(cè)信息值同時(shí)寫入重放保護(hù)內(nèi)存塊111后,進(jìn)行待測(cè)存儲(chǔ)器10中的重放保護(hù)內(nèi)存塊111的讀寫測(cè)試。通過(guò)上述方式的讀寫測(cè)試,可以進(jìn)一步地提升測(cè)試的覆蓋度,以全面驗(yàn)證出eMMc固件處理RPMB流程上可能出現(xiàn)的潛在風(fēng)險(xiǎn)及缺陷,進(jìn)而提升固件的穩(wěn)定及兼容性。
[0046] 請(qǐng)參閱圖2,在本發(fā)明的一實(shí)施例中,處理器2包括:錯(cuò)誤處理模塊21和錯(cuò)誤校驗(yàn)?zāi)K22。其中,錯(cuò)誤處理模塊21用以根據(jù)預(yù)設(shè)信息值,生成待測(cè)信息值,并將預(yù)設(shè)信息值和待測(cè)信息值分別寫入待測(cè)存儲(chǔ)器10的重放保護(hù)內(nèi)存塊111。錯(cuò)誤校驗(yàn)?zāi)K22用以分別接收預(yù)設(shè)信息值和待測(cè)信息值寫入重放保護(hù)內(nèi)存塊111時(shí)返回的讀寫結(jié)果,并判斷二者的讀寫結(jié)果是否一致,若是,則繼續(xù)完成對(duì)其余的待測(cè)信息值的讀寫測(cè)試,并在全部的待測(cè)信息值讀寫測(cè)試完成后,更改測(cè)試板1的測(cè)試參數(shù)繼續(xù)讀寫測(cè)試,若否,則判斷待測(cè)存儲(chǔ)器10固件是否正確處置重放保護(hù)內(nèi)存塊111的處理流程。
[0047] 在本實(shí)施例中,處理器2通過(guò)錯(cuò)誤處理模塊21(Error?Process?Module)將預(yù)設(shè)信息值進(jìn)行任意字段的值的修改,以得到待測(cè)信息值。并且將該預(yù)設(shè)信息值和待測(cè)信息值分別寫入到待測(cè)存儲(chǔ)器10的重放保護(hù)內(nèi)存塊111中,以進(jìn)行讀寫測(cè)試。在待測(cè)存儲(chǔ)器10返回讀寫結(jié)果時(shí),通過(guò)錯(cuò)誤校驗(yàn)?zāi)K22分別接收預(yù)設(shè)信息值和待測(cè)信息值對(duì)應(yīng)的讀寫結(jié)果。并且判斷二者的讀寫結(jié)果是否一致,若一致,則繼續(xù)進(jìn)行生成的其他待測(cè)信息值的讀寫測(cè)試。并且在全部待測(cè)信息值讀寫完成后,再對(duì)測(cè)試板1的測(cè)試參數(shù)進(jìn)行調(diào)整,并繼續(xù)進(jìn)行待測(cè)信息的讀寫測(cè)試。而在二者不一致時(shí),則輸出出現(xiàn)不一致時(shí)對(duì)應(yīng)的錯(cuò)誤測(cè)試結(jié)果,并通過(guò)判斷在重放保護(hù)內(nèi)存塊111的響應(yīng)機(jī)制是否正確標(biāo)識(shí)出對(duì)應(yīng)的錯(cuò)誤測(cè)試結(jié)果,來(lái)進(jìn)一步地判斷固件是否正確處置重放保護(hù)內(nèi)存塊111的處理流程。
[0048] 在本發(fā)明的一實(shí)施例中,處理器2被配置為:測(cè)試參數(shù)包括對(duì)測(cè)試板1配置時(shí)選擇的速度模式、總線長(zhǎng)度、電壓和溫度中的其中一種或多種。根據(jù)Socket(測(cè)試座)內(nèi)MMC廠家及Density(單位長(zhǎng)度內(nèi)所存儲(chǔ)的二進(jìn)制信息量、或稱容量大?。┻x擇不同的Speed(速度)、Bus?Width(總線長(zhǎng)度)、Voltage(電壓)、Temperature?Configuration(溫度配置),即可以方便替換成不同廠家及容量大小的eMMC產(chǎn)品。