安全數(shù)據(jù)讀取的方法和數(shù)據(jù)處理系統(tǒng)的制作方法
【專利摘要】公開了一種數(shù)據(jù)處理系統(tǒng)中的安全數(shù)據(jù)讀取方法。該方法包括以下步驟:地址分派器向第一存儲器區(qū)域分派第一讀取請求;在分派第一讀取請求之后,地址分派器向所述第一存儲器區(qū)域分派第二讀取請求;在分派第二讀取請求之后,地址分派器向所述第一存儲器區(qū)域分派第三讀取請求;如果響應于第一讀取請求由存儲器產(chǎn)生的結(jié)果與響應于第三讀取請求由存儲器產(chǎn)生的結(jié)果不一致,則異常信號發(fā)生器產(chǎn)生第一異常信號;如果響應于第二讀取請求,存儲器并不產(chǎn)生預定的結(jié)果,則異常信號發(fā)生器產(chǎn)生第二異常信號;如果已經(jīng)產(chǎn)生了第一異常信號和第二異常信號中的至少一個,則異常處理器斷定已經(jīng)發(fā)生了故障攻擊。此外,公開了相應的數(shù)據(jù)處理系統(tǒng)。
【專利說明】
安全數(shù)據(jù)讀取的方法和數(shù)據(jù)處理系統(tǒng)
技術(shù)領(lǐng)域
[0001]本公開涉及安全數(shù)據(jù)讀取的方法。此外,本公開涉及對應的數(shù)據(jù)處理系統(tǒng)。
【背景技術(shù)】
[0002]故障攻擊可以用于例如數(shù)據(jù)處理系統(tǒng)(例如計算機產(chǎn)品)的安全性與完整性進行妥協(xié)。具體地,故障攻擊是智能卡的區(qū)域。在系統(tǒng)操作期間,故障攻擊將故障引入系統(tǒng),由此導致系統(tǒng)偏離其計劃的或意圖的操作。例如,光攻擊已經(jīng)被發(fā)現(xiàn)是一種引入故障并干擾微控制器的程序流的相對容易的方式。光攻擊典型地是在集成電路(IC)操作時在例如IC的表面上由閃光燈執(zhí)行的。
【發(fā)明內(nèi)容】
[0003]公開了一種數(shù)據(jù)處理系統(tǒng)中的安全數(shù)據(jù)讀取方法,所述數(shù)據(jù)處理系統(tǒng)包括:用于向包括第一存儲器區(qū)域的存儲器分派讀取請求的地址分派器、異常信號發(fā)生器和異常處理器,所述方法包括以下步驟:地址分派器向第一存儲器區(qū)域分派第一讀取請求;在分派第一讀取請求之后,地址分派器向所述第一存儲器區(qū)域分派第二讀取請求;在分派第二讀取請求之后,地址分派器向所述第一存儲器區(qū)域分派第三讀取請求;如果響應于第一讀取請求由所述存儲器產(chǎn)生的結(jié)果與響應于第三讀取請求由所述存儲器產(chǎn)生的結(jié)果不一致,則異常信號發(fā)生器產(chǎn)生第一異常信號;如果響應于第二讀取請求所述存儲器并不產(chǎn)生預定的結(jié)果,則異常信號發(fā)生器產(chǎn)生第二異常信號;如果已經(jīng)產(chǎn)生了第一異常信號和第二異常信號中的至少一個,則異常處理器斷定已經(jīng)發(fā)生了故障攻擊。
[0004]在該方法的示例性實施例中,第二讀取請求是具有已知答復的讀取請求。
[0005]在該方法的其它示例性實施例中,所述存儲器還包括與第一存儲器區(qū)域不同的第二存儲器區(qū)域,并且所述地址分派器在分派第一讀取請求與第三讀取請求之間分派指向第二存儲器區(qū)域的其它讀取請求。
[0006]在該方法的其它示例性實施例中,所述故障攻擊是通過光源執(zhí)行的光攻擊,并且第二存儲器區(qū)域在光源的光斑之外。
[0007]在該方法的其它示例性實施例中,第一讀取請求、第二讀取請求和第三讀取請求被包括在讀取流的第一分支中,并且其它讀取請求被包括在所述讀取流的第二分支中。
[0008]在該方法的其它示例性實施例中,該方法還包括:如果既沒有產(chǎn)生第一異常信號又沒有產(chǎn)生第二異常信號,則斷定沒有發(fā)生故障攻擊。
[0009]此外,公開了一種數(shù)據(jù)處理系統(tǒng),包括:用于向存儲器分派讀取請求的地址分派器、異常信號發(fā)生器和異常處理器,所述地址分派器被布置為:向第一存儲器區(qū)域分派第一讀取請求;在分派第一讀取請求之后,向所述第一存儲器區(qū)域分派第二讀取請求;在分派第二讀取請求之后,向所述第一存儲器區(qū)域分派第三讀取請求;所述異常信號發(fā)生器被布置為:如果響應于第一讀取請求由所述存儲器產(chǎn)生的結(jié)果與響應于第三讀取請求由所述存儲器產(chǎn)生的結(jié)果不一致,則產(chǎn)生第一異常信號;如果響應于第二讀取請求所述存儲器并不產(chǎn)生預定的結(jié)果,則產(chǎn)生第二異常信號;并且所述異常處理器被布置為:如果已經(jīng)產(chǎn)生了第一異常信號和第二異常信號中的至少一個,則斷定已經(jīng)發(fā)生了故障攻擊。
[0010]在該系統(tǒng)的示例性實施例中,第二讀取請求是具有已知答復的請求。
[0011]在該系統(tǒng)的其它示例性實施例中,所述存儲器還包括與第一存儲器區(qū)域不同的第二存儲器區(qū)域,并且所述地址分派器被布置為:在分派第一讀取請求與第三讀取請求之間分派指向第二存儲器區(qū)域的其它讀取請求。
[0012]在該系統(tǒng)的其它示例性實施例中,所述故障攻擊是通過光源執(zhí)行的光攻擊,并且所述第二存儲器區(qū)域在所述光源的光斑之外。
[0013]在該系統(tǒng)的其它示例性實施例中,所述第一讀取請求、所述第二讀取請求和所述第三讀取請求被包括在讀取流的第一分支中,并且其它讀取請求被包括在所述讀取流的第二分支中。
[0014]在該系統(tǒng)的其它示例性實施例中,所述地址分派器還被布置為:如果既沒有產(chǎn)生第一異常信號又沒有產(chǎn)生第二異常信號,則斷定沒有發(fā)生故障攻擊。
[0015]在該系統(tǒng)的其它示例性實施例中,所述地址分派器被包括在存儲器控制器中。
[0016]在該系統(tǒng)的其它示例性實施例中,所述存儲器控制器是閃存控制器或EEPROM存儲器控制器。
【附圖說明】
[0017]將參照附圖用更詳細地描述實施例,附圖中:
[0018]圖1示出了數(shù)據(jù)處理系統(tǒng)100的示例性實施例;
[0019]圖2A示出了在所述類型的數(shù)據(jù)處理系統(tǒng)中的安全數(shù)據(jù)讀取的方法200的示例性實施例;
[0020]圖2B示出了在所述類型的數(shù)據(jù)處理系統(tǒng)中的安全數(shù)據(jù)讀取的方法214的其它示例性實施例;
[0021]圖2C示出了在所述類型的數(shù)據(jù)處理系統(tǒng)中的安全數(shù)據(jù)讀取的方法218的其它示例性實施例。
【具體實施方式】
[0022]故障攻擊典型地針對命令的,例如條件跳轉(zhuǎn)或條件跳轉(zhuǎn)之前的測試指令。例如,故障攻擊可以用于規(guī)避智能卡中的個人識別碼(PIN)的驗證。如果用戶輸入不正確地PINJt/她可以在程序?qū)⒁D(zhuǎn)到處理錯誤PIN的固定程序時執(zhí)行故障攻擊。作為故障攻擊的結(jié)果,不執(zhí)行跳轉(zhuǎn)到處理錯誤PIN的固定程序,并且程序繼續(xù)執(zhí)行,就像PIN正確一樣。在這種情況下,即使他/她只擁有錯誤的PIN,通過故障攻擊,用戶可以獲得與正確PIN相關(guān)聯(lián)的權(quán)限。使用故障攻擊的其它類型的安全攻擊是對加密算法的安全攻擊,例如在加密協(xié)議中使用的安全攻擊。例如,使用故障攻擊,攻擊者可以使算法產(chǎn)生錯誤值。通過分析按照方式中出現(xiàn)的錯誤的類型,在一些情況下,攻擊者能夠斷定出例如密鑰。
[0023]光攻擊影響對存儲器的讀取訪問,包括易失性存儲器(例如RAM)和非易失性存儲器(例如只讀存儲器(ROM)、EEPR0M和閃存)。光攻擊的效果依賴于存儲器的實際類型和實際條件而變化。例如,在非易失性存儲器中,通常不是存儲器單元的內(nèi)容被光攻擊改變,而只是讀取回的值被光攻擊暫時改變;在光攻擊結(jié)束后,存儲器可以回到其沒有被光攻擊改變的之前的內(nèi)容。依賴于實際條件,效果可以是不對稱的,也就是比特傾向于更容易地從一個值變?yōu)榱硪粋€值,而不是從其它值變?yōu)橐粋€值。作為其它示例,在易失性存儲器中,光攻擊可以影響存儲器中的永久變化或讀取器件的瞬間變化。
[0024]引入故障的單個未中斷延伸的故障攻擊可以被稱作簡單故障攻擊。對從存儲器的單個讀取進行折中的故障攻擊可以被稱作短故障攻擊。對一個以上讀取操作(例如覆蓋一個以上的讀取操作的長閃光)進行折中的簡單故障攻擊可以被稱作長故障攻擊。包括多個獨立故障的故障攻擊可以被稱作多故障攻擊。
[0025]實際上,可能不能可靠地檢測到覆蓋來自存儲器的一個以上的讀取操作的故障攻擊。具體地,難以檢測在讀取流的分支(即在彼此間隔開的不同存儲器區(qū)域上執(zhí)行的讀取操作的分支)中的具體讀取操作上執(zhí)行的長故障攻擊。例如,可以使用具有特定光斑大小的激光束來執(zhí)行光攻擊:執(zhí)行第一分支的讀取操作的第一存儲器區(qū)域可以在激光光斑尺寸之內(nèi),并且執(zhí)行第二分支的讀取操作的第二存儲器區(qū)域可以不在激光光斑尺寸之內(nèi)。在這樣的情況下,相對難以檢測第一分支中的具體讀取操作上的長故障攻擊,因為讀取流可以已經(jīng)分支到第二分支或分支到其它分支。
[0026]圖1示出了數(shù)據(jù)處理系統(tǒng)100的示例性實施例。數(shù)據(jù)處理系統(tǒng)100能夠執(zhí)行當前公開的方法。例如,數(shù)據(jù)處理系統(tǒng)100可以基于如NXP B.V提交的專利申請WO 2009/138892 Al中描述的數(shù)據(jù)處理系統(tǒng)。在圖1的示例中,數(shù)據(jù)處理系統(tǒng)100包括地址分派器102、存儲器104、異常信號發(fā)生器106、異常處理器108以及中央處理單元(CPU)llO。地址分派器102包括讀取請求輸入101。所述系統(tǒng)可以嵌入到設(shè)備(例如智能卡片)中。CPU 110通過能夠傳輸讀取請求的連接來連接到地址分派器102。地址分派器102通過能夠傳輸讀取請求的連接來連接到存儲器104。存儲器104被配置為響應于讀取請求來檢索數(shù)據(jù)對象。存儲器104被布置為向異常信號發(fā)生器106轉(zhuǎn)發(fā)所檢索的數(shù)據(jù)對象。異常信號發(fā)生器106被配置為按照與地址分派器102使用的分派方法兼容的方式來檢查由存儲器104檢索的數(shù)據(jù)對象。異常信號發(fā)生器106被配置為向異常處理器108有條件地發(fā)送至少一個異常信號。
[0027]在該示例中,異常信號發(fā)生器106被配置為向CPU110發(fā)送檢索的數(shù)據(jù)對象。異常處理器108被配置為在異常處理器108接收到異常信號的情況下進行校正活動。在操作中,CPU 110執(zhí)行軟件。例如,軟件可以是:應用、操作系統(tǒng)軟件、庫、系統(tǒng)安全代碼或網(wǎng)絡(luò)協(xié)議。例如,CPU 110可以執(zhí)行需要校驗PIN的銀行業(yè)務應用。例如,CPU 110可以執(zhí)行引導序列,并且如果引導圖像是真實的,則需要校驗。
[0028]CPU 110可以需要來自存儲器104的一些數(shù)據(jù)對象。例如,CPU 110可以需要知曉下一個執(zhí)行的指令,或下一個操作的數(shù)據(jù)對象。為此目的,CPU 110可以向包括在地址分派器102中的讀取請求輸入101發(fā)送讀取請求。地址分派器102決定如何調(diào)度讀取請求,例如,地址分派器102決定應當向存儲器104分派在輸入101處發(fā)生的讀取請求的頻率和時間。此外,地址分派器102使用當前公開的方法。
[0029]如果地址分派器102分派讀取請求,則向存儲器104傳輸讀取請求。讀取請求命令存儲器104檢索一個或多個數(shù)據(jù)對象。典型地,讀取請求包括存儲器104中的存儲器區(qū)域內(nèi)的地址,即包含一個或多個諸如存儲器單元之類的位置的區(qū)域。存儲器104檢索讀取請求命令其檢索的至少一個數(shù)據(jù)對象,并向異常信號發(fā)生器106轉(zhuǎn)發(fā)該數(shù)據(jù)對象。
[0030]異常信號發(fā)生器106緩沖讀取請求的結(jié)果,并且/或者將讀取請求的結(jié)果與響應于之前類似的讀取請求而緩沖的結(jié)果相比較。如果異常信號發(fā)生器106發(fā)現(xiàn)其已經(jīng)接收了指示存儲器104中的故障或故障攻擊(例如光攻擊)的一系列數(shù)據(jù)對象,則異常信號發(fā)生器106產(chǎn)生異常信號,并且向異常處理器108發(fā)送異常信號。異常信號發(fā)生器106使用當前公開的方法。
[0031]例如,異常信號可以由表示已經(jīng)發(fā)生故障的單個比特的信息構(gòu)成。異常信號還可以包括調(diào)試應用以及/或者允許異常處理器108得出正確結(jié)論并且例如進行校正活動所需要的所有相關(guān)信息。異常處理器108因此可以被配置為在異常處理器108接收異常信號的情況下進行校正活動。校正活動可以包括:記錄事件、終止應用、關(guān)閉系統(tǒng)100、啟動系統(tǒng)自毀序列、清空一個或多個存儲器、清空和/或破壞一個或多個保險絲、重新啟動應用、重新引導系統(tǒng)100以及重復由異常信號引起的讀取請求。異常處理器108還可以例如在當執(zhí)行低安全性應用時發(fā)生故障的情況下或者在特殊調(diào)試模式下發(fā)生故障的情況下決定不進行活動。
[0032]可以使用專用的硬件來實現(xiàn)數(shù)據(jù)處理系統(tǒng)100,例如被配置為執(zhí)行當前公開的方法的至少一部分步驟的電路。數(shù)據(jù)處理系統(tǒng)100可以由在操作使用中使用軟件控制的通用硬件實現(xiàn),或者數(shù)據(jù)處理系統(tǒng)100可以包括專用硬件、通用硬件和專用軟件的組合來實現(xiàn)數(shù)據(jù)處理系統(tǒng)100。存儲器104可以實現(xiàn)為存儲庫??梢园炊喾N方式來裝配地址分派器102、存儲器104、異常信號發(fā)生器106與異常處理器108之間的連接。例如,連接可以按串聯(lián)、并聯(lián)、或者通過總線的方式來實現(xiàn)。在本實施例的變體中,存儲器104可以向CPU 110和異常信號發(fā)生器106 二者轉(zhuǎn)發(fā)檢索的數(shù)據(jù)對象,并且異常信號發(fā)生器106可以不需要向CPU 110轉(zhuǎn)發(fā)檢索的數(shù)據(jù)對象。由此,CPU 110可以實現(xiàn)對存儲器104的內(nèi)容的更快的訪問。
[0033]圖2A示出了在所述類型的數(shù)據(jù)處理系統(tǒng)中的安全數(shù)據(jù)讀取的方法200的示例性實施例。該方法200包括以下步驟。在202處,地址分派器向存儲器的第一區(qū)域分派第一讀取請求。之后在204處,地址分派器向第一存儲器區(qū)域分派第二讀取請求。之后在206處,地址分派器向第一存儲器區(qū)域分派第三讀取請求。在208處,如果響應于第一讀取請求由存儲器產(chǎn)生的結(jié)果與響應于第三讀取請求由存儲器產(chǎn)生的結(jié)果不一致,則異常信號發(fā)生器產(chǎn)生第一異常信號。此外在210處,如果響應于第二讀取請求,存儲器不產(chǎn)生預定的結(jié)果,則異常信號發(fā)生器產(chǎn)生第二異常信號。最后在212處,如果已經(jīng)產(chǎn)生了第一異常信號和第二異常信號中的至少一個,則異常處理器斷定已經(jīng)發(fā)生了故障攻擊。應當注意的是,向存儲器區(qū)域分派讀取請求可以具體表示向所述區(qū)域中的具體地址或位置分派讀取請求。
[0034]應當注意的是,第三讀取請求能夠檢測第一讀取請求上的短故障攻擊,因為期望從存儲器得到相同結(jié)果,或者期望從存儲器得到彼此一致的結(jié)果。更具體地,第三讀取請求能夠檢測在分派第一讀取請求的時刻執(zhí)行的、但在分派第三讀取請求之前已經(jīng)結(jié)束了的故障攻擊:基本上,第三讀取請求是應當產(chǎn)生與第一讀取請求相同結(jié)果的冗余讀取請求。如果故障攻擊已經(jīng)攻擊了第一讀取請求并且還沒有攻擊第三讀取請求,那么響應于第一讀取請求和第三讀取請求由存儲器產(chǎn)生的結(jié)果將不會彼此一致。因此,檢測到故障攻擊。然而,當在分派第三讀取請求(即冗余讀取請求)時故障攻擊還沒有結(jié)束時,并且在向不同的第二存儲器區(qū)域(例如向執(zhí)行攻擊的光源的光斑之外的存儲器區(qū)域)分派其它讀取請求(即正常讀取請求,可能緊接著是對應的冗余讀取請求)的情況下,可能將仍然檢測不到攻擊。也就是說,如果這種其它讀取請求在光源的光斑之內(nèi),則應當產(chǎn)生與其它讀取請求相同的結(jié)果的其它冗余讀取請求(未示出)仍能夠檢測到故障攻擊。然而,如果其它讀取請求沒有受到故障攻擊的影響,則仍然檢測不到長故障攻擊。當在第一讀取請求與第三讀取請求之間分派多個其它讀取請求(即多個正常讀取請求,可能緊接著是其對應的冗余讀取請求)時也是如此。在所有這些情況下,讀取流可能已經(jīng)分支到與分派了第一、第二和第三讀取請求的存儲器區(qū)域不同的一個或多個存儲器區(qū)域。在這些情況下,還將仍然檢測不到長故障攻擊,并且當前公開的方法可以促進長故障攻擊的檢測。圖2B和圖2C中示出了單個其它讀取請求的示例。
[0035]例如,通過在作為其它讀取請求的結(jié)果讀取流已經(jīng)分支到第二存儲器區(qū)域的情況下分派第二讀取請求(該讀取請求應當產(chǎn)生預定的結(jié)果),可以實現(xiàn)更容易地檢測到對第一讀取請求的長故障攻擊。也就是說,可能仍然檢測不到長故障攻擊,因為第一讀取請求和第三讀取請求二者都受到長故障攻擊的影響(并且因此以相同的方式發(fā)生變化,因此產(chǎn)生相同的結(jié)果),但是在這種情況下第二讀取請求將不會產(chǎn)生預定的結(jié)果,使得仍然可以檢測到攻擊。因此,只要在第三讀取請求之前分派了第二讀取請求,就可以檢測到所有可能長度的故障攻擊。
[0036]圖2B示出了在所述類型的數(shù)據(jù)處理系統(tǒng)中的安全數(shù)據(jù)讀取的方法214的其它示例性實施例。在該實施例中,在216處,地址分派器向與第一存儲器區(qū)域不同的第二存儲器區(qū)域分派其它讀取請求。具體地,在第一讀取請求與第二讀取請求之間分派其它讀取請求。備選地,如圖2C所示,可以在第二讀取請求與第三讀取請求之間分派其它讀取請求。在任何一種情況下,如上所述,其它讀取請求可能已經(jīng)導致讀取流分支到不受對于第一讀取請求執(zhí)行的故障攻擊影響的存儲器區(qū)域,并且在這種故障攻擊屬于長故障攻擊的情況下,其可能仍然不能被檢測到。根據(jù)本公開,通過在第一讀取請求和第三讀取請求(即冗余讀取請求)之間分派具有預定的結(jié)果的讀取請求,可以更容易地檢測到長故障攻擊。
[0037]在示例性實施例中,第二讀取請求被實現(xiàn)為具有已知答復的讀取請求。由此,可以提供可信的值作為預定的結(jié)果。本領(lǐng)域技術(shù)人員將設(shè)想到的是,更具體地,可以按已知的各種形式來實現(xiàn)具有已知答復的讀取請求。例如,可以向存儲有固定值的存儲器位置分派第二讀取請求,該固定值應當被存儲器返還來作為響應;該存儲器位置可以與分派有第一讀取請求的存儲器位置相鄰。備選但沒有限制地,具有已知答復的讀取請求可以實現(xiàn)為在讀取已知答復模式下的讀取請求。在這種情況下,可以向第一讀取請求所分派的相同位置分派第二讀取請求,并且讀取已知答復模式強制該位置以預定的方式來答復。這樣的讀取已知答復模式可以基于被稱作“禁止所有行”的特征,該特征在例如閃存和EEPROM存儲器中可用。應當注意的是,也可以使用其它實現(xiàn)。此外,應當注意的是,應當廣義的解釋本文中使用的術(shù)語“存儲器”,在這種理解方式下存儲器可以包括例如寄存器、光學存儲盤以及其它存儲介質(zhì)的存儲單元。此外,應當注意的是,雖然上述實施例涉及光學攻擊,但是本公開并不限于此。也就是說,當前公開的方法和系統(tǒng)可以等同地應用到其它類型的故障攻擊。
[0038]本文中描述的系統(tǒng)和方法可以由一個或多個計算機程序來實現(xiàn),這些計算機程序可以按多種形式主動的和被動的存在于單個計算機系統(tǒng)中,或者存在于多個計算機系統(tǒng)中。例如,它們可以作為軟件程序存在,軟件程序在源代碼、目標代碼、可執(zhí)行代碼或其他形式中由程序指令組成,用于執(zhí)行一些步驟。上述任何一個都可以在計算機可讀介質(zhì)上實現(xiàn),計算機可讀介質(zhì)可以包括存儲設(shè)備和信號,信號是壓縮形式的或者是非壓縮形式的。
[0039]在本文中所使用的術(shù)語〃移動設(shè)備〃是指任何類型的便攜式電子設(shè)備,包括蜂窩式電話,個人數(shù)字助理(PDA),智能電話,平板電腦等。此外,術(shù)語〃計算機〃是指包括處理器的任何電子設(shè)備,處理器諸如是通用目的的中央處理單元(CPU),特定目的的處理器或微處理器。計算機能夠接收數(shù)據(jù)(輸入),對數(shù)據(jù)執(zhí)行一系列預定操作,以及從而產(chǎn)生信息或信號(輸出)形式的結(jié)果?;谏舷挛模g(shù)語〃計算機〃是指處理器,該處理器特別是或者通常是與包含在單個殼體或外殼內(nèi)的相互關(guān)聯(lián)的元件的裝配相關(guān)聯(lián)的處理器。
[0040]術(shù)語〃處理器〃是指數(shù)據(jù)處理電路,該數(shù)據(jù)處理電路可以是微處理器、協(xié)處理器、微控制器、微型計算機、中央處理單元、現(xiàn)場可編程門陣列(FPGA)、可編程邏輯電路、和/或基于存儲在存儲器中的操作指令操作信號(模擬或者數(shù)字)的任何電路。術(shù)語〃存儲器〃是指一個或多個存儲電路,諸如只讀存儲器、隨機存取存儲器、易失性存儲器、非易失性存儲器、靜態(tài)存儲器、動態(tài)存儲器、閃速存儲器、超高速緩沖存儲器、和/或存儲數(shù)字信息的任何電路。
[0041]在本文中所使用的術(shù)語"計算機可讀介質(zhì)"或者"存儲介質(zhì)"可以是任何裝置,能夠包含、存儲、通信、傳送、或者傳遞要使用的或者與指令執(zhí)行系統(tǒng)、設(shè)備或裝置有關(guān)的計算機程序。計算機可讀介質(zhì)可以是,例如但是并不限于,電子的、磁的、光的、電磁的、紅外線的或者半導體系統(tǒng)、設(shè)備、裝置或傳播介質(zhì)。計算機可讀介質(zhì)的更多具體示例(非窮舉列表)包括以下示例:具有一個或多個導線的電連接、便攜式計算機軟盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦除可編程只讀存儲器(EPR0M或者閃速存儲器)、光纖和便攜式光盤只讀存儲器(CDROM)。
[0042]注意到,以上實施例是參照不同的主題進行描述的。具體地,可以參考方法類型權(quán)利要求描述一些實施例,同時參考裝置類型權(quán)利要求描述其他實施例。然而,除非另外指示,本領(lǐng)域技術(shù)人員將從上文獲知,除了屬于一種類型的主題的特征的任意組合之外,認為本文件還公開了與不同主題有關(guān)的特征的任意組合,尤其是方法類型權(quán)利要求的特征與裝置類型權(quán)利要求的特征的組合。
[0043]此外,應當注意的是,附圖是示意性的。在不同附圖中,相似或相同的元件用相同的附圖標記來表示。此外,應注意在提供這些示例性實施例的簡明描述中,可能并未描述落入本領(lǐng)域技術(shù)人員常規(guī)實踐中的實現(xiàn)細節(jié)。應該理解的是,任何這種實施方式的開發(fā)中,如同在任何工程或設(shè)計項目中一樣,為了實現(xiàn)開發(fā)者的特定目標(例如服從因?qū)嵤┓绞蕉惖南到y(tǒng)相關(guān)的或商業(yè)相關(guān)的制約),必須做出各種實施方式特定的判決。此外,應理解這種開發(fā)嘗試可能是復雜的并消耗時間的,但依然是本領(lǐng)域普通技術(shù)人員慣常的設(shè)計、制作和制造。
[0044]最后,應當注意的是,本領(lǐng)域技術(shù)人員將能夠在不背離所附權(quán)利要求的范圍的情況下設(shè)計許多備選實施例。在權(quán)利要求中,置于括弧中的參考標號不應理解為限制權(quán)利要求。詞語〃包括〃不排除權(quán)利要求中列舉的元件或步驟之外的其他元件或步驟的存在。元件前面的詞語"一個"不排除多個這種元件的存在。權(quán)利要求中引用的措施可以通過包括多個分立元件的硬件和/或通過適當編程的處理器來實現(xiàn)。在枚舉了若干裝置的設(shè)備權(quán)利要求中,這些裝置中的一些可以通過一個相同的硬件項目來實現(xiàn)。唯一的事實在于,在相互不同的從屬權(quán)利要求中敘述的一些措施并不表示這些措施的組合不能被有利地使用。
[0045]附圖標記列表
[0046]100數(shù)據(jù)處理系統(tǒng)
[0047]101讀取請求輸入
[0048]102地址分派器
[0049]104存儲器
[0050]106異常信號發(fā)生器[0051 ]108異常處理器
[0052]110中央處理單元
[0053]200數(shù)據(jù)讀取方法
[0054]202分派第一讀取請求
[0055]204分派第二讀取請求
[0056]206分派第三讀取請求
[0057]208產(chǎn)生第一異常信號
[0058]210產(chǎn)生第二異常信號
[0059]212斷定故障攻擊
[0060]214數(shù)據(jù)讀取方法[0061 ]216分派其它讀取請求
[0062]218數(shù)據(jù)讀取方法
【主權(quán)項】
1.一種數(shù)據(jù)處理系統(tǒng)中的安全數(shù)據(jù)讀取的方法,所述數(shù)據(jù)處理系統(tǒng)包括用于向包括第一存儲器區(qū)域的存儲器分派讀取請求的地址分派器、異常信號發(fā)生器和異常處理器,所述方法包括以下步驟: -所述地址分派器向第一存儲器區(qū)域分派第一讀取請求; -在分派所述第一讀取請求之后,所述地址分派器向所述第一存儲器區(qū)域分派第二讀取請求; -在分派所述第二讀取請求之后,所述地址分派器向所述第一存儲器區(qū)域分派第三讀取請求; -如果響應于所述第一讀取請求由所述存儲器產(chǎn)生的結(jié)果與響應于所述第三讀取請求由所述存儲器產(chǎn)生的結(jié)果不一致,則所述異常信號發(fā)生器產(chǎn)生第一異常信號; -如果響應于所述第二讀取請求所述存儲器不產(chǎn)生預定的結(jié)果,則所述異常信號發(fā)生器產(chǎn)生第二異常信號; -如果已經(jīng)產(chǎn)生了所述第一異常信號和所述第二異常信號中的至少一個,則所述異常處理器斷定已經(jīng)發(fā)生了故障攻擊。2.根據(jù)權(quán)利要求1所述的方法,其中所述第二讀取請求是具有已知答復的讀取請求。3.根據(jù)權(quán)利要求1或2所述的方法,其中所述存儲器還包括與所述第一存儲器區(qū)域不同的第二存儲器區(qū)域,并且其中所述地址分派器在分派所述第一讀取請求與所述第三讀取請求之間分派指向所述第二存儲器區(qū)域的其它讀取請求。4.根據(jù)權(quán)利要求3所述的方法,其中所述故障攻擊是通過光源執(zhí)行的光攻擊,并且其中所述第二存儲器區(qū)域在所述光源的光斑之外。5.根據(jù)權(quán)利要求3或4所述的方法,其中,所述第一讀取請求、第二讀取請求和第三讀取請求被包括在讀取流的第一分支中,并且其中所述其它讀取請求被包括在所述讀取流的第二分支中。6.根據(jù)前述權(quán)利要求中的任一項所述的方法,還包括:如果既沒有產(chǎn)生所述第一異常信號又沒有產(chǎn)生所述第二異常信號,則斷定還沒有發(fā)生故障攻擊。7.—種數(shù)據(jù)處理系統(tǒng),包括用于向存儲器分派讀取請求的地址分派器、異常信號發(fā)生器和異常處理器, 所述地址分派器被布置為: -向第一存儲器區(qū)域分派第一讀取請求; -在分派所述第一讀取請求之后,向所述第一存儲器區(qū)域分派第二讀取請求; -在分派所述第二讀取請求之后,向所述第一存儲器區(qū)域分派第三讀取請求; 所述異常信號發(fā)生器被布置為: -如果響應于第一讀取請求由所述存儲器產(chǎn)生的結(jié)果與響應于第三讀取請求由所述存儲器產(chǎn)生的結(jié)果不一致,則產(chǎn)生第一異常信號; -如果響應于所述第二讀取請求,所述存儲器不產(chǎn)生預定的結(jié)果,則產(chǎn)生第二異常信號; 所述異常處理器被布置為: -如果已經(jīng)產(chǎn)生了所述第一異常信號和所述第二異常信號中的至少一個,則斷定已經(jīng)發(fā)生了故障攻擊。8.根據(jù)權(quán)利要求7所述的系統(tǒng),其中所述第二讀取請求是具有已知答復的請求。9.根據(jù)權(quán)利要求7或8所述的系統(tǒng),其中所述存儲器還包括與所述第一存儲器區(qū)域不同的第二存儲器區(qū)域,并且其中所述地址分派器被布置為在分派所述第一讀取請求與所述第三讀取請求之間分派指向所述第二存儲器區(qū)域的其它讀取請求。10.根據(jù)權(quán)利要求9所述的系統(tǒng),其中所述故障攻擊是通過光源執(zhí)行的光攻擊,并且其中所述第二存儲器區(qū)域在所述光源的光斑之外。11.根據(jù)權(quán)利要求9或10所述的系統(tǒng),其中,所述第一讀取請求、第二讀取請求和第三讀取請求被包括在讀取流的第一分支中,并且其中所述其它讀取請求被包括在所述讀取流的第二分支中。12.根據(jù)權(quán)利要求7至11任一項所述的系統(tǒng),所述地址分派器還被布置為:如果既沒有產(chǎn)生所述第一異常信號又沒有產(chǎn)生所述第二異常信號,則斷定還沒有發(fā)生故障攻擊。13.根據(jù)權(quán)利要求7至12中任一項所述的系統(tǒng),其中所述地址分派器被包括在存儲器控制器中。14.根據(jù)權(quán)利要求13所述的系統(tǒng),其中所述存儲器控制器是閃存控制器或EEPROM存儲器控制器。
【文檔編號】G06F21/77GK105893877SQ201610085662
【公開日】2016年8月24日
【申請日】2016年2月15日
【發(fā)明人】阿斯特麗德·葆拉·瑪麗亞, 提姆·克彭
【申請人】恩智浦有限公司