用于在執(zhí)行期間驗(yàn)證應(yīng)用程序的真實(shí)性的系統(tǒng)和方法
【專(zhuān)利說(shuō)明】
【背景技術(shù)】
[0001]本文中公開(kāi)的主題涉及電子處理裝置,并且更具體地說(shuō),涉及驗(yàn)證由電子裝置的處理器在執(zhí)行的指令的真實(shí)性。
[0002]諸如蜂窩電話、數(shù)碼攝像機(jī)、控制臺(tái)游戲系統(tǒng)等等某些現(xiàn)代電子裝置通常包括執(zhí)行在存儲(chǔ)器中存儲(chǔ)的指令以便電子裝置如預(yù)期般起作用的處理電路。例如,某些電子裝置可存儲(chǔ)和執(zhí)行通常定義電子裝置的行為的固件指令。在某些情況中,這些固件指令可在制造電子裝置時(shí)存儲(chǔ)在電子裝置的存儲(chǔ)器中。另外,在某些情況中,可在電子裝置的壽命內(nèi)更新固件以解決固件漏洞和/或增強(qiáng)電子裝置的功能性。
【發(fā)明內(nèi)容】
[0003]下面概述在范圍上與原來(lái)要求保護(hù)的發(fā)明相符的某些實(shí)施例。這些實(shí)施例無(wú)意于限制要求保護(hù)的發(fā)明的范圍,相反,這些實(shí)施例只是提供本發(fā)明可能形式的概述。實(shí)際上,本發(fā)明可包含與下面所述實(shí)施例類(lèi)似或不同的多種形式。
[0004]在一實(shí)施例中,系統(tǒng)包括具有配置成存儲(chǔ)包括多個(gè)指令的應(yīng)用程序的存儲(chǔ)器電路的電子裝置。系統(tǒng)也包括配置成執(zhí)行應(yīng)用程序和應(yīng)用程序真實(shí)性檢查例程的處理電路,其中,應(yīng)用程序真實(shí)性檢查例程包括可由處理電路執(zhí)行以使用閑置處理時(shí)間在應(yīng)用程序的執(zhí)行期間驗(yàn)證應(yīng)用程序的真實(shí)性的指令。
[0005]在另一實(shí)施例中,方法包括指示電子裝置的處理電路啟動(dòng)在電子裝置的存儲(chǔ)器中存儲(chǔ)的應(yīng)用程序的執(zhí)行。方法包括在使用電子裝置的處理器執(zhí)行真實(shí)性檢查例程的同時(shí),執(zhí)行應(yīng)用程序,其中,真實(shí)性檢查例程包括配置成促使處理電路確定應(yīng)用程序在打包后是否已被修改的多個(gè)指令。
[0006]在另一實(shí)施例中,一種非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)存儲(chǔ)由電子裝置的至少一個(gè)處理器可執(zhí)行的指令。指令包括執(zhí)行電子裝置的至少一個(gè)存儲(chǔ)器中存儲(chǔ)的應(yīng)用程序的指令和在執(zhí)行應(yīng)用程序時(shí)間歇性執(zhí)行真實(shí)性檢查例程的指令。真實(shí)性檢查例程包括計(jì)算用于電子裝置的至少一個(gè)存儲(chǔ)器中存儲(chǔ)的應(yīng)用程序的摘要值的指令和將電子裝置的至少一個(gè)存儲(chǔ)器中存儲(chǔ)的應(yīng)用程序的一部分解密,以確定用于應(yīng)用程序的存儲(chǔ)的摘要值的指令。指令也包括無(wú)論何時(shí)至少一個(gè)處理器確定計(jì)算的摘要值等于存儲(chǔ)的摘要值,便確定應(yīng)用程序真實(shí)的指令。
[0007]提供了如下技術(shù)方案:
1.一種系統(tǒng),包括:
電子裝置,包括:
存儲(chǔ)器電路,配置成存儲(chǔ)包括多個(gè)指令的應(yīng)用程序;以及
處理電路,配置成執(zhí)行所述應(yīng)用程序和應(yīng)用程序真實(shí)性檢查例程,其中所述應(yīng)用程序真實(shí)性檢查例程包括可由所述處理電路執(zhí)行以使用閑置處理時(shí)間在所述應(yīng)用程序的執(zhí)行期間驗(yàn)證所述應(yīng)用程序的真實(shí)性的指令。
[0008]2.如技術(shù)方案1所述的系統(tǒng),其中所述應(yīng)用程序真實(shí)性檢查例程包括可由所述處理電路執(zhí)行以在用于所述應(yīng)用程序的計(jì)算的摘要值匹配在所述應(yīng)用程序中存儲(chǔ)的摘要值時(shí),確定所述應(yīng)用程序真實(shí)的指令。
[0009]3.如技術(shù)方案2所述的系統(tǒng),其中所述應(yīng)用程序真實(shí)性檢查例程包括可由所述處理電路執(zhí)行以改變所述應(yīng)用程序,使所述應(yīng)用程序不可由所述處理電路執(zhí)行,并且在所述處理電路確定用于所述應(yīng)用程序的所述計(jì)算的摘要值不匹配在所述應(yīng)用程序中存儲(chǔ)的所述摘要值時(shí),重新啟動(dòng)所述電子裝置的指令。
[0010]4.如技術(shù)方案1所述的系統(tǒng),其中所述處理電路包括高安全性模塊(HSM),并且其中所述HSM配置成執(zhí)行所述應(yīng)用程序真實(shí)性檢查例程以驗(yàn)證所述處理電路的其它部分在執(zhí)行的所述應(yīng)用程序的所述真實(shí)性。
[0011]5.如技術(shù)方案1所述的系統(tǒng),其中所述處理電路包括現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA),所述FPGA配置成存儲(chǔ)和執(zhí)行所述應(yīng)用程序真實(shí)性檢查例程以驗(yàn)證所述處理電路的其它部分在執(zhí)行的所述應(yīng)用程序的所述真實(shí)性。
[0012]6.如技術(shù)方案1所述的系統(tǒng),其中所述應(yīng)用程序真實(shí)性檢查例程配置成使所述電子裝置的能耗和電磁(EM)噪聲電平在所述應(yīng)用程序的執(zhí)行期間實(shí)質(zhì)上是均勻的。
[0013]7.如技術(shù)方案1所述的系統(tǒng),其中所述應(yīng)用程序真實(shí)性檢查例程存儲(chǔ)在所述存儲(chǔ)器電路中。
[0014]8.如技術(shù)方案1所述的系統(tǒng),其中所述電子裝置包括工業(yè)監(jiān)視和/或控制系統(tǒng)的中繼,并且其中所述工業(yè)監(jiān)視和/或控制系統(tǒng)包括電網(wǎng)系統(tǒng)、保護(hù)和控制系統(tǒng)、工業(yè)工廠、配電系統(tǒng)或其任何組合。
[0015]9.一種方法,包括:
指示電子裝置的處理電路啟動(dòng)在所述電子裝置的存儲(chǔ)器中存儲(chǔ)的應(yīng)用程序的執(zhí)行;以及
在使用所述電子裝置的所述處理電路執(zhí)行真實(shí)性檢查例程的同時(shí),執(zhí)行所述應(yīng)用程序,其中所述真實(shí)性檢查例程包括配置成促使所述處理電路確定所述應(yīng)用程序在打包后是否已被修改的多個(gè)指令。
[0016]10.如技術(shù)方案9所述的方法,包括在所述處理電路確定所述應(yīng)用程序在打包后已被修改時(shí),修改所述電子裝置的所述存儲(chǔ)器中的所述應(yīng)用程序,以使所述應(yīng)用程序不可執(zhí)行。
[0017]11.如技術(shù)方案10所述的方法,包括在所述處理電路確定所述應(yīng)用程序在打包后已被修改時(shí),在修改所述應(yīng)用程序后重新啟動(dòng)所述電子裝置。
[0018]12.如技術(shù)方案10所述的方法,其中所述電子裝置包括工業(yè)監(jiān)視和/或控制系統(tǒng)的中繼。
[0019]13.如技術(shù)方案10所述的方法,其中執(zhí)行所述真實(shí)性檢查例程包括在所述處理電路執(zhí)行所述應(yīng)用程序時(shí),使用所述電子裝置的所述處理電路的可用處理周期,執(zhí)行所述真實(shí)性檢查例程。
[0020]14.如技術(shù)方案10所述的方法,其中執(zhí)行所述真實(shí)性檢查例程包括以在大約300毫秒與大約1個(gè)月之間的間隔偶發(fā)性地執(zhí)行所述真實(shí)性檢查例程。
[0021]15.如技術(shù)方案10所述的方法,其中執(zhí)行所述真實(shí)性檢查例程包括在執(zhí)行所述應(yīng)用程序時(shí)不允許所述電子裝置的所述處理電路變得閑置或者被抑制。
[0022]16.如技術(shù)方案10所述的方法,其中執(zhí)行所述真實(shí)性檢查例程包括促使所述電子裝置在所述應(yīng)用程序的執(zhí)行期間發(fā)射實(shí)質(zhì)上均勻量的電磁噪聲。
[0023]17.一種存儲(chǔ)由電子裝置的至少一個(gè)處理器可執(zhí)行的指令的非暫時(shí)性計(jì)算機(jī)可讀介質(zhì),所述指令包括:
執(zhí)行所述電子裝置的至少一個(gè)存儲(chǔ)器中存儲(chǔ)的應(yīng)用程序的指令;
在執(zhí)行所述應(yīng)用程序時(shí)間歇性執(zhí)行真實(shí)性檢查例程的指令,其中所述真實(shí)性檢查例程包括:
計(jì)算用于所述電子裝置的至少一個(gè)存儲(chǔ)器中存儲(chǔ)的所述應(yīng)用程序的摘要值的指令;將所述電子裝置的所述至少一個(gè)存儲(chǔ)器中存儲(chǔ)的所述應(yīng)用程序的一部分解密,以確定用于所述應(yīng)用程序的存儲(chǔ)的摘要值的指令;以及
無(wú)論何時(shí)所述至少一個(gè)處理器確定所述計(jì)算的摘要值等于所述存儲(chǔ)的摘要值,便確定所述應(yīng)用程序真實(shí)的指令。
[0024]18.如技術(shù)方案17所述的介質(zhì),其中所述真實(shí)性檢查例程包括無(wú)論何時(shí)所述計(jì)算的摘要值不等于所述存儲(chǔ)的摘要值,便重新啟動(dòng)所述電子裝置的指令。
[0025]19.如技術(shù)方案17所述的介質(zhì),其中間歇性地執(zhí)行所述應(yīng)用程序真實(shí)性檢查例程包括在執(zhí)行所述應(yīng)用程序時(shí),執(zhí)行所述應(yīng)用程序真實(shí)性檢查例程,而不是允許所述至少一個(gè)處理器處于閑置或被抑制,從而允許所述至少一個(gè)處理器消耗實(shí)質(zhì)恒定量的功率,允許所述至少一個(gè)處理器發(fā)射實(shí)質(zhì)恒定量的電磁輻射,或其組合。
[0026]20.如技術(shù)方案17所述的介質(zhì),其中所述至少一個(gè)處理器包括配置成執(zhí)行所述真實(shí)性檢查例程的高安全性模塊(HSM)或現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)和配置成執(zhí)行所述應(yīng)用程序的另一處理器。
【附圖說(shuō)明】
[0027]參照附圖閱讀以下詳細(xì)說(shuō)明時(shí),將更好地理解本發(fā)明的這些和其它特性、方面和優(yōu)點(diǎn),附圖中類(lèi)似的字符在所有圖形中表示類(lèi)型的部分,其中:
圖1是根據(jù)所述方案的一實(shí)施例的電子裝置的示意圖;
圖2是示出用于準(zhǔn)備和打包指令以便由圖1的電子裝置執(zhí)行的一實(shí)施例的流程圖;
圖3是示出用于圖1的電子裝置的引導(dǎo)過(guò)程的一實(shí)施例的流程圖;以及圖4是示出應(yīng)用程序真實(shí)性檢查例程的應(yīng)用程序的一實(shí)施例的流程圖。
【具體實(shí)施方式】
[0028]現(xiàn)在將描述本發(fā)明的一個(gè)或更多個(gè)特定實(shí)施例。為提供這些實(shí)施例的簡(jiǎn)潔描述,在說(shuō)明書(shū)中可不描述實(shí)際實(shí)現(xiàn)的所有特征。應(yīng)領(lǐng)會(huì)的是,如在任何工程或設(shè)計(jì)項(xiàng)目中一樣,在任何此類(lèi)真正實(shí)現(xiàn)的發(fā)展中,必須做出許多實(shí)現(xiàn)特定的判定以實(shí)現(xiàn)開(kāi)發(fā)者的特定目標(biāo),如符合系統(tǒng)有關(guān)和業(yè)務(wù)有關(guān)的約束,這些目標(biāo)將因?qū)崿F(xiàn)不同而異。另外,應(yīng)領(lǐng)會(huì)的是,此類(lèi)發(fā)展工作可能復(fù)雜、耗時(shí),但仍將是從本公開(kāi)內(nèi)容受益的本領(lǐng)域技術(shù)人員進(jìn)行的日常設(shè)計(jì)、制造和生產(chǎn)工作。
[0029]在介紹本發(fā)明的各種實(shí)施例的元素時(shí),“一”、“該”和“所述”等詞旨在表示有一個(gè)或多個(gè)元素。術(shù)語(yǔ)“包括”和“具有”旨在表示包容,并且表示可存在所列元素外的另外元素。<