更新軟件的方法和系統(tǒng)的制作方法
【專利摘要】提供更新軟件的方法和系統(tǒng)。一種更新軟件的方法包括:在非安全執(zhí)行環(huán)境中驗證驅(qū)動安全執(zhí)行環(huán)境的第一軟件的更新;通過使用在非安全執(zhí)行環(huán)境中存儲的第一軟件更新的第一鏡像來更新第一軟件;在安全執(zhí)行環(huán)境中驗證驅(qū)動由安全執(zhí)行環(huán)境控制的安全裝置的第二軟件的更新;以及通過使用在安全執(zhí)行環(huán)境中存儲的第二軟件更新的第二鏡像來更新第二軟件。
【專利說明】
更新軟件的方法和系統(tǒng)[0001 ] 本申請要求于2015年4月27日提交到韓國知識產(chǎn)權(quán)局的第10-2015-0058930號韓 國專利申請的優(yōu)先權(quán),該韓國專利申請的公開通過引用全部合并于此。
技術(shù)領(lǐng)域
[0002]本公開涉及一種更新軟件的方法和系統(tǒng)?!颈尘凹夹g(shù)】
[0003]在包括移動裝置的計算裝置中,可以利用使用包括富執(zhí)行環(huán)境(REE)和可信執(zhí)行環(huán)境(TEE)的平臺的安全機制。富執(zhí)行環(huán)境包括非安全執(zhí)行環(huán)境,并且可信執(zhí)行環(huán)境包括提供對要求安全性的數(shù)據(jù)或硬件的獨占訪問的安全執(zhí)行環(huán)境。例如,一個或多個處理器可以托管(host)REE和TEE兩者,TEE與REE隔離,并且處理器確??梢詢H在TEE中執(zhí)行一些操作。 為了確保安全機制的可靠性,安裝在TEE和由TEE控制的安全元件(SE)中的軟件(例如,固件)不應(yīng)該被偽造或篡改。
【發(fā)明內(nèi)容】
[0004]本公開的一方面提供一種控制TEE和SE的安全更新軟件的方法。
[0005]本公開的另一方面提供一種控制TEE和SE的安全更新軟件的系統(tǒng)以及計算機可讀記錄介質(zhì)。
[0006]本公開的各方面不限于上述技術(shù)問題,而且本領(lǐng)域技術(shù)人員通過下面的描述將清楚地理解還沒有提及的其他方面。
[0007]根據(jù)本公開的一方面,提供一種更新軟件的方法。所述方法包括:使用在非安全執(zhí)行環(huán)境中操作的處理器和第一更新管理器,在非安全執(zhí)行環(huán)境中驗證驅(qū)動安全執(zhí)行環(huán)境的第一軟件的更新;使用第一更新管理器,通過使用在非安全執(zhí)行環(huán)境中存儲的第一軟件更新的第一鏡像來更新第一軟件;使用在安全執(zhí)行環(huán)境中操作的處理器和第二更新管理器, 在安全執(zhí)行環(huán)境中驗證驅(qū)動由安全執(zhí)行環(huán)境控制的安全裝置的第二軟件的更新;以及使用第二更新管理器,通過使用在安全執(zhí)行環(huán)境中存儲的第二軟件更新的第二鏡像來更新第二軟件。驗證第一軟件的更新和第二軟件的更新的步驟包括:驗證第一軟件更新和第二軟件更新的正確的軟件版本或者容量。
[0008]根據(jù)本公開的一方面,提供一種更新軟件的方法。所述方法包括:使用鏡像管理器,在非安全執(zhí)行環(huán)境中存儲鏡像數(shù)據(jù),其中,鏡像數(shù)據(jù)包括:用于第一軟件的更新的第一鏡像以及用于第二軟件的更新的第二鏡像,其中,第一軟件驅(qū)動安全執(zhí)行環(huán)境,第二軟件驅(qū)動由安全執(zhí)行環(huán)境控制的安全裝置;使用在非安全執(zhí)行環(huán)境中操作的第一更新管理器,通過使用鏡像數(shù)據(jù)的第一鏡像在非安全執(zhí)行環(huán)境中更新第一軟件;提取在鏡像數(shù)據(jù)中包括的第二鏡像,以使用鏡像管理器在安全執(zhí)行環(huán)境中存儲第二鏡像;以及使用在安全執(zhí)行環(huán)境中操作的第二更新管理器,通過使用在安全執(zhí)行環(huán)境中存儲的第二鏡像在安全執(zhí)行環(huán)境中更新第二軟件。
[0009]根據(jù)本公開的一方面,提供一種更新軟件的系統(tǒng)。所述系統(tǒng)包括:處理器;第一更新管理器,在非安全執(zhí)行環(huán)境中操作;以及第二更新管理器,在安全執(zhí)行環(huán)境中操作。第一更新管理器通過使用處理器來驗證驅(qū)動安全執(zhí)行環(huán)境的第一軟件的更新,并且通過使用在非安全執(zhí)行環(huán)境中存儲的第一軟件更新的第一鏡像來更新第一軟件。第二更新管理器通過使用處理器來驗證驅(qū)動由安全執(zhí)行環(huán)境控制的安全裝置的第二軟件的更新,并且通過使用在安全執(zhí)行環(huán)境中存儲的第二軟件更新的第二鏡像來更新第二軟件。驗證第一軟件的更新和第二軟件的更新的步驟包括:驗證第一軟件更新和第二軟件更新的正確的軟件版本或者容量。
[0010]根據(jù)本公開的一方面,提供一種存儲使計算機執(zhí)行通過使用處理器驗證軟件更新的方法的一個或多個指令字的非暫時性計算機可讀記錄介質(zhì)。所述方法包括:在第一執(zhí)行環(huán)境中驅(qū)動第二執(zhí)行環(huán)境,并且使計算機通過使用在第一執(zhí)行環(huán)境中存儲的軟件更新的鏡像來更新軟件?!靖綀D說明】
[0011]通過參照附圖對本公開的示例性實施例的詳細描述,本公開的上述以及其他方面和特征將會變得更加清楚,其中:
[0012]圖1是根據(jù)本公開的實施例的用于解釋更新軟件的系統(tǒng)的示意圖;
[0013]圖2是根據(jù)本公開的實施例的用于解釋更新軟件的系統(tǒng)的更新管理器的示意圖;
[0014]圖3是根據(jù)本公開的實施例的用于解釋鏡像數(shù)據(jù)的結(jié)構(gòu)的示意圖;
[0015]圖4是根據(jù)本公開的實施例的用于解釋更新軟件的方法的示意圖;
[0016]圖5是根據(jù)本公開的另一實施例的用于解釋鏡像數(shù)據(jù)的結(jié)構(gòu)的示意圖;
[0017]圖6是根據(jù)本公開的另一實施例的用于解釋更新軟件的方法的示意圖;
[0018]圖7是根據(jù)本公開的再一實施例的用于解釋鏡像數(shù)據(jù)的結(jié)構(gòu)的示意圖;
[0019]圖8是根據(jù)本公開的再一實施例的用于解釋更新軟件的方法的示意圖;
[0020]圖9是根據(jù)本公開的再一實施例的用于解釋鏡像數(shù)據(jù)的結(jié)構(gòu)的示意圖;[0021 ]圖10是根據(jù)本公開的再一實施例的用于解釋更新軟件的方法的示意圖;
[0022]圖11是根據(jù)本公開的實施例的用于解釋更新軟件的方法的流程圖;
[0023]圖12是根據(jù)本公開的實施例的用于解釋更新軟件的方法的流程圖;
[0024]圖13是根據(jù)本公開的實施例的用于解釋更新軟件的方法的流程圖;以及
[0025]圖14至圖16是根據(jù)本公開的實施例的更新軟件的方法和系統(tǒng)適用的示例性半導(dǎo)體系統(tǒng)?!揪唧w實施方式】
[0026]將參照附圖來詳細描述實施例。然而,本公開可以以多種不同形式實現(xiàn),并且不應(yīng)該被解釋為僅受限于示出的實施例。相反,提供這些實施例作為示例,使得本公開將是徹底的和完整的,并且將本公開的構(gòu)思充分地傳達給本領(lǐng)域的技術(shù)人員。因此,對于本公開的一些實施例,不描述已知的處理、元件和技術(shù)。除非另有說明,否則貫穿附圖和書面描述,相同的參考標(biāo)號表示相同的元件,因此將不再重復(fù)描述。在附圖中,為了清楚,可以夸大層和區(qū)域的大小和相對大小。
[0027]應(yīng)當(dāng)理解,盡管在這里可以使用術(shù)語“第一”、“第二”、“第三”等來描述不同的元件、組件、區(qū)域、層和/或部分,但是這些元件、組件、區(qū)域、層和/或部分不應(yīng)該受這些術(shù)語的限制。這些術(shù)語僅是用來將一個元件、組件、區(qū)域、層或部分與另一個元件、組件、區(qū)域、層或部分進行區(qū)分。因此,在不脫離本公開教導(dǎo)的情況下,下面討論的第一元件、組件、區(qū)域、層或部分可以被稱作第二元件、組件、區(qū)域、層或部分。
[0028]如附圖所示,為便于描述一個元件或特征與另一元件或特征的關(guān)系,在這里可以使用空間相對術(shù)語,諸如“在…之下”、“在…以下”、“下方”、“下面”、“在…以上”、“上方”等。 應(yīng)當(dāng)理解,空間相對術(shù)語意在包含除了在附圖中描繪的方位之外的在使用或操作中的裝置的不同方位。例如,如果附圖中的裝置被翻轉(zhuǎn),則被描述為處于另一元件或特征“以下”或 “之下”或“下面”的元件隨后可以被定位為處于另一元件或特征“上面”。因此,示例性詞語 “在…以下”和“下面”可以包含“在…以上”和“在…以下”兩種方位。所述裝置可朝向另外的方位(旋轉(zhuǎn)90度或者在其它方位),并且對在這里使用的空間相對描述符相應(yīng)地進行解釋。 另外,還應(yīng)當(dāng)理解,當(dāng)層被稱為在兩個層“之間”時,它可以是這兩個層之間的唯一的層,或者也可以存在一個或多個中間層。
[0029]在此所使用的術(shù)語僅用于描述具體實施例的目的,并非意在限制本公開。如在此所使用的,除非上下文另外清楚地指示,否則單數(shù)形式也意圖包括復(fù)數(shù)形式。還應(yīng)當(dāng)理解, 當(dāng)術(shù)語“包括”和/或“包含”在本說明書中使用時,說明存在所陳述的特征、整體、步驟、操作、元件和/或組件,但是不排除存在或附加一個或多個其它特征、整體、步驟、操作、元件、 組件和/或它們的組。如在此所使用的術(shù)語“和/或”包括一個或多個相關(guān)所列的項的任意組合和所有組合。此外,術(shù)語“示例性”意在表示示例或說明。
[0030]應(yīng)當(dāng)理解,當(dāng)元件或?qū)颖环Q為在另一元件或?qū)印吧稀保斑B接到”、“耦接到”另一元件或?qū)?,或者與另一元件或?qū)印跋噜彙睍r,它可以直接在另一元件或?qū)由希苯舆B接到、耦接到另一元件或?qū)?,或者與另一元件或?qū)又苯酉噜?,或者可以存在中間元件或?qū)?。相反,?dāng)一個元件被稱為“直接在”另一元件或?qū)印吧稀?,“直接連接到”、“直接耦接到”另一元件或?qū)?,或者與另一元件或?qū)印爸苯酉噜彙睍r,則不存在中間元件或?qū)印?br>[0031]除非另有定義,否則這里使用的所有術(shù)語(包括技術(shù)和科學(xué)術(shù)語)具有與本公開所屬領(lǐng)域的普通技術(shù)人員通常理解的含義相同的含義。還應(yīng)當(dāng)理解,除非在此明確定義,否則如常用詞典中所定義的術(shù)語應(yīng)該被解釋為具有與它們在相關(guān)領(lǐng)域和/或本說明的上下文中的含義一致的含義,并且不應(yīng)被解釋為理想化或過于形式的意義。
[0032]圖1是根據(jù)本公開的實施例的用于解釋更新軟件的系統(tǒng)的示意圖。[〇〇33]參照圖1,根據(jù)本公開的實施例的更新軟件的系統(tǒng)1包括處理器10、顯示器12、存儲器14、輸入裝置16、內(nèi)存18和安全元件(SE)20。處理器10、顯示器12、存儲器14、輸入裝置16、 內(nèi)存18和SE 20通過總線22電連接在一起,以能夠彼此發(fā)送和接收數(shù)據(jù)。[〇〇34]在本公開的各種實施例中,內(nèi)存18可以包括操作系統(tǒng)24、更新管理器100和鏡像管理器200。在此,操作系統(tǒng)24可以包括在非安全執(zhí)行環(huán)境210中操作的非安全內(nèi)核216和在安全執(zhí)行環(huán)境220中操作的安全內(nèi)核226。此外,更新管理器100和鏡像管理器200可以不包括在內(nèi)存18中,而是被單獨地實現(xiàn)。[〇〇35]更新管理器100通過使用在非安全執(zhí)行環(huán)境210中存儲的鏡像來更新驅(qū)動安全執(zhí)行環(huán)境220的軟件,并且通過使用在安全執(zhí)行環(huán)境220中存儲的鏡像來更新驅(qū)動安全元件20的軟件。在此,鏡像可以是指包括能夠驅(qū)動各種類型的半導(dǎo)體裝置(例如,計算系統(tǒng)、移動裝置、安全硬件和裝置控制器)的軟件或操作系統(tǒng)的數(shù)據(jù)的“軟件鏡像”。更新管理器100包括在非安全執(zhí)行環(huán)境210中操作的第一更新管理器110和在安全執(zhí)行環(huán)境220中操作的第二更新管理器120。稍后將參照圖2來描述第一更新管理器110和第二更新管理器120的具體描述。[〇〇36]鏡像管理器200可以存儲用于在非安全執(zhí)行環(huán)境210或安全執(zhí)行環(huán)境220中更新驅(qū)動安全執(zhí)行環(huán)境220的軟件或驅(qū)動安全元件20的軟件的軟件鏡像,或者可以對編碼的軟件進行解碼。[〇〇37] 在本公開的一些實施例中,更新管理器100和鏡像管理器200可以被實現(xiàn)為軟件程序并被加載在內(nèi)存18中,或可以在處理器10上執(zhí)行更新管理器100和鏡像管理器200。然而, 本公開的范圍不限于于此,并且在本公開的一些實施例中,更新管理器100和鏡像管理器 200可以被實現(xiàn)為硬件,諸如包括電子電路的芯片。
[0038]圖2是根據(jù)本公開的實施例的用于解釋更新軟件的系統(tǒng)的更新管理器的示意圖。
[0039]參照圖2,根據(jù)本公開的實施例的更新軟件的系統(tǒng)2包括非安全執(zhí)行環(huán)境210和安全執(zhí)行環(huán)境220。在本公開的一些實施例中,非安全執(zhí)行環(huán)境210可以包括富執(zhí)行環(huán)境 (REE),安全執(zhí)行環(huán)境220可以包括可信執(zhí)行環(huán)境(TEE)。
[0040]非安全執(zhí)行環(huán)境210可以包括第一更新管理器(TEE更新管理器)110、非安全應(yīng)用 213、非安全應(yīng)用214、非安全API(應(yīng)用程序接口)215和非安全內(nèi)核216。[〇〇411 第一更新管理器110在非安全執(zhí)行環(huán)境210中操作,并且驗證驅(qū)動安全執(zhí)行環(huán)境 220的第一軟件的更新。在本公開的一些實施例中,第一更新管理器110可以驗證二進制散列(binary hash)、安全執(zhí)行環(huán)境220的軟件版本信息和第一軟件更新的軟件版本信息中的至少一個。此外,第一更新管理器110使用在非安全執(zhí)行環(huán)境210中存儲的第一軟件更新的第一鏡像來更新第一軟件。在本公開的一些實施例中,在第一更新管理器110驗證第一軟件更新之前,可以通過鏡像管理器200在非安全執(zhí)行環(huán)境210中存儲第一軟件更新。同時,在本公開的一些實施例中,第一軟件可以包括驅(qū)動安全執(zhí)行環(huán)境220的固件或應(yīng)用。
[0042]非安全應(yīng)用213、非安全應(yīng)用214執(zhí)行不被保護的操作或功能。例如,非安全應(yīng)用 213、非安全應(yīng)用214可以包括預(yù)加載應(yīng)用、本機應(yīng)用等,但是本公開的范圍不限于此。[〇〇43]非安全API 215提供啟用非安全應(yīng)用213、非安全應(yīng)用214的接口或功能,以控制非安全內(nèi)核216提供的功能。例如,非安全API 215啟用非安全應(yīng)用213、非安全應(yīng)用214,以與非安全內(nèi)核216交換數(shù)據(jù),或者啟用非安全應(yīng)用213、非安全應(yīng)用214,以使用非安全內(nèi)核216 管理的硬件資源212。
[0044]非安全內(nèi)核216可以控制或管理用于執(zhí)行在非安全應(yīng)用213、非安全應(yīng)用214或非安全API 215中實現(xiàn)的操作或功能的硬件資源212。具體地,非安全內(nèi)核216可以包括用于執(zhí)行與安全內(nèi)核226的通信的驅(qū)動器(例如,監(jiān)視器)。非安全執(zhí)行環(huán)境210可以使用驅(qū)動器要求安全執(zhí)行環(huán)境220執(zhí)行特定安全操作或功能。[〇〇45]同時,安全執(zhí)行環(huán)境220可以包括第二更新管理器(SE更新管理器)120、安全應(yīng)用 223、安全應(yīng)用224、安全API 225和安全內(nèi)核226。[〇〇46] 第二更新管理器120在安全執(zhí)行環(huán)境220中操作,并且驗證驅(qū)動由安全執(zhí)行環(huán)境 220控制的安全裝置的第二軟件的更新。在此,例如,安全裝置可以包括安全元件20。在本公開的一些實施例中,第二更新管理器120可以驗證安全裝置的軟件版本信息或第二軟件更新的軟件版本信息。此外,第二更新管理器120使用在安全執(zhí)行環(huán)境220中存儲的第二軟件更新的第二鏡像來更新第二軟件。在本公開的一些實施例中,在第一更新管理器110驗證第一軟件更新之前,可通過鏡像管理器200在非安全執(zhí)行環(huán)境210中存儲第二軟件更新以及第一鏡像。同時,在本公開的一些實施例中,第二軟件可以包括驅(qū)動由安全執(zhí)行環(huán)境220控制的安全裝置的固件或應(yīng)用。
[0047]例如,安全應(yīng)用223、安全應(yīng)用224響應(yīng)于非安全執(zhí)行環(huán)境210的請求執(zhí)行安全的操作或功能。例如,安全應(yīng)用223、安全應(yīng)用224可以包括預(yù)加載應(yīng)用、本機應(yīng)用等,但是本公開的范圍不限于此。具體地,在本公開的一些實施例中,安全應(yīng)用224能夠向安全元件(SE)20 發(fā)送數(shù)據(jù)和從安全元件(SE) 20接收數(shù)據(jù)。[〇〇48]安全API 225提供啟用安全應(yīng)用223、安全應(yīng)用224的接口或功能,以控制安全內(nèi)核 226提供的功能。例如,安全API 225可以啟用安全應(yīng)用223、安全應(yīng)用224,以與安全內(nèi)核226 交換數(shù)據(jù),或者可以啟用安全應(yīng)用223、安全應(yīng)用224,以使用非安全內(nèi)核226管理的硬件安全資源222。[〇〇49] 安全內(nèi)核226可以控制或管理用于執(zhí)行安全應(yīng)用223、安全應(yīng)用224或安全API 225 中實現(xiàn)的操作或功能的硬件安全資源222。
[0050]圖3是根據(jù)本公開的實施例的用于解釋鏡像數(shù)據(jù)的結(jié)構(gòu)的示意圖。[0051 ]參照圖3,根據(jù)本公開的實施例的鏡像數(shù)據(jù)300包括TEE鏡像310、SE鏡像320和簽名 330。在此,TEE鏡像310包括驅(qū)動安全執(zhí)行環(huán)境220的第一軟件更新的鏡像,SE鏡像320包括驅(qū)動由安全執(zhí)行環(huán)境220控制的安全元件20的第二軟件更新的鏡像。[〇〇52]在此實施例中,包括在鏡像數(shù)據(jù)300中的SE的鏡像320可以包括編碼的SE鏡像322 和簽名324。也就是說,在鏡像管理器200生成包括TEE鏡像310和編碼的SE鏡像322的鏡像數(shù)據(jù)300之后,鏡像管理器200可以在非安全執(zhí)行環(huán)境210中存儲鏡像數(shù)據(jù)300。在此,TEE鏡像 310可以是未編碼的鏡像,但是本公開的范圍不限于此。[〇〇53]同時,簽名330、簽名324可以包括用于確定在更新軟件之前軟件更新是否被偽造或篡改的數(shù)據(jù)。例如,用于更新第一軟件的簽名330的驗證可以包括使用在非安全執(zhí)行區(qū)域 210中存儲的應(yīng)用處理器(AP)的公鑰的簽名330的驗證。同時,用于更新第二軟件的簽名324 的驗證可以包括使用在安全執(zhí)行區(qū)域220中存儲的應(yīng)用處理器(AP)的公鑰的簽名324的驗證。
[0054]圖4是根據(jù)本公開的實施例的用于解釋更新軟件的方法的示意圖。
[0055]參照圖4,第一更新管理器110驗證驅(qū)動安全執(zhí)行環(huán)境220的第一個軟件的更新。也就是說,可以在非安全執(zhí)行環(huán)境210中執(zhí)行第一更新管理器110的第一軟件更新驗證工作。 在本公開的一些實施例中,第一更新管理器110可以驗證二進制散列、安全執(zhí)行環(huán)境220的軟件版本信息和第一軟件更新的軟件版本信息中的至少一個。[〇〇56]作為第一軟件更新的驗證結(jié)果,當(dāng)確定需要更新第一軟件時,第一更新管理器110 使用在非安全執(zhí)行環(huán)境210中存儲的鏡像數(shù)據(jù)300中的第一軟件更新的第一鏡像(S卩,TEE鏡像310),更新第一軟件。在此,需要更新第一軟件的情況可以包括:第一軟件被偽造或篡改且其可靠性被懷疑的情況、第一軟件的版本與更舊版本或其他裝置的兼容性不能保證的情況以及存在來自用戶應(yīng)用或系統(tǒng)應(yīng)用的更新第一軟件的請求的情況。
[0057]在第一軟件的更新工作之后,可以通過鏡像管理器200、第一更新管理器110和第二更新管理器120中的至少一個在安全執(zhí)行環(huán)境220中存儲在非安全執(zhí)行環(huán)境210中存儲的鏡像數(shù)據(jù)300中的編碼的SE鏡像322和簽名324。因此,非安全執(zhí)行環(huán)境210不能訪問在安全執(zhí)行環(huán)境220中存儲的編碼的SE鏡像322和簽名324。[〇〇58]在本公開的一些實施例中,使用在非安全執(zhí)行環(huán)境210中存儲的TEE鏡像310的第一軟件的更新還可以包括在更新第一軟件之前在安全執(zhí)行環(huán)境220中備份第一軟件的鏡像。因此,當(dāng)?shù)谝卉浖母率r,可以使用在安全執(zhí)行環(huán)境220中備份的第一軟件的鏡像執(zhí)行第一軟件的回滾(rollback)。[〇〇59] 參照圖4,第二更新管理器120驗證驅(qū)動由安全執(zhí)行環(huán)境220控制的安全元件20的第二軟件的更新。也就是說,在安全執(zhí)行環(huán)境210中執(zhí)行第二更新管理器120的第二軟件更新驗證工作。在本公開的一些實施例中,第二更新管理器120可以驗證安全元件20的軟件版本信息或第二軟件更新的軟件版本信息。
[0060]作為第二軟件更新的驗證結(jié)果,當(dāng)確定需要更新第二軟件時,第二更新管理器120 使用在安全執(zhí)行環(huán)境220中存儲的第二鏡像(S卩,編碼的SE鏡像322),更新第二軟件。在此, 需要更新第二軟件的情況可以包括:第二軟件被偽造或篡改且其可靠性被懷疑的情況、第二軟件的版本與更舊版本或其他裝置的兼容性不能保證的情況以及存在來自用戶應(yīng)用或系統(tǒng)應(yīng)用的更新第二軟件的請求的情況。
[0061]在此,在更新第二軟件之前,可以對編碼的SE鏡像322進行解碼。在本公開的一些實施例中,在安全執(zhí)行環(huán)境220中對編碼的SE鏡像322進行解碼之后,可以用于更新第二軟件。同時,在本公開的一些其它實施例中,在編碼的SE鏡像322從安全執(zhí)行環(huán)境220被發(fā)送到安全元件20且在安全元件220中被解碼之后,可以用于更新第二軟件。[〇〇62]在本公開的一些實施例中,使用在安全執(zhí)行環(huán)境220中存儲的編碼的SE鏡像322的第二軟件的更新還可以包括在更新第二軟件之前在安全執(zhí)行環(huán)境220或安全元件20中備份第二軟件的鏡像。因此,當(dāng)?shù)诙浖母率r,可以使用在安全執(zhí)行環(huán)境220或安全元件20中備份的第二軟件的鏡像執(zhí)行第二軟件的回滾。
[0063]在本公開的一些實施例中,可以在啟動更新軟件的系統(tǒng)1時執(zhí)行驗證和更新工作。 具體地,在開始啟動更新軟件的系統(tǒng)1且第一更新管理器110和第二更新管理器120執(zhí)行第一軟件更新和第二軟件更新的驗證以及第一軟件和第二軟件的更新工作之后,可以完成啟動更新軟件的系統(tǒng)1。同時,在本公開的一些實施例中,可以在請求更新第一軟件和第二軟件的用戶應(yīng)用或系統(tǒng)應(yīng)用開始時,執(zhí)行第一軟件更新和第二軟件更新的驗證以及第一軟件和第二軟件的更新工作。驗證軟件更新的步驟可包括檢查軟件的軟件版本或者容量。因此, 驗證第一軟件更新和第二軟件更新的步驟可包括:檢查第一軟件更新和第二軟件更新的軟件版本或者容量。[〇〇64]根據(jù)如上所描述的本公開的更新軟件的方法,由于安全元件20的軟件鏡像,例如, 驅(qū)動安全元件20的固件的二進制鏡像沒有暴露于包括安全執(zhí)行環(huán)境210的外部,因此可以以安全的方式來更新安全元件20的軟件。同時,由于本公開的更新軟件的方法通過使用包括用于更新第一軟件的第一鏡像和用于更新控制由第一軟件驅(qū)動的執(zhí)行環(huán)境或裝置的第二軟件的第二鏡像的一個鏡像數(shù)據(jù),依次更新第一軟件和第二軟件,因此可以容易地更新驅(qū)動多個執(zhí)行環(huán)境或裝置的多個軟件,并且當(dāng)軟件問題發(fā)生時,也可以容易地從這些問題恢復(fù)。
[0065]圖5是根據(jù)本公開的另一實施例的用于解釋鏡像數(shù)據(jù)的結(jié)構(gòu)的示意圖。[〇〇66]參照圖5,根據(jù)本公開的另一實施例的鏡像數(shù)據(jù)400包括TEE鏡像410、裝置鏡像420 和簽名460。在此,TEE鏡像410包括驅(qū)動安全執(zhí)行環(huán)境220的第一軟件的更新的鏡像,裝置鏡像420包括驅(qū)動由安全執(zhí)行環(huán)境220控制的一個或多個裝置230、裝置232的第二軟件的一個或多個更新的鏡像。[0〇67]在此實施例中,包括在鏡像數(shù)據(jù)400中的裝置鏡像420可以包括一個或多個裝置鏡像422、裝置鏡像424和簽名426。在本公開的一些實施例中,一個或多個裝置鏡像422、裝置鏡像424可以是編碼的鏡像。[〇〇68]同時,簽名460、簽名426可以包括用于在更新軟件之前確定軟件更新是否被偽造或篡改的數(shù)據(jù)。例如,可以在對更新第一軟件的驗證中使用簽名460,可以在對分別更新一個或多個裝置230、裝置232的一個或多個第二軟件的驗證中共同使用簽名426。
[0069]圖6是根據(jù)本公開的另一實施例的用于解釋更新軟件的方法的示意圖。
[0070]參照圖6,第一更新管理器110驗證驅(qū)動安全執(zhí)行環(huán)境220的第一軟件的更新。也就是說,可以在非安全執(zhí)行環(huán)境210中執(zhí)行第一更新管理器110的第一軟件更新驗證工作。
[0071]作為第一軟件更新的驗證結(jié)果,當(dāng)確定需要更新第一軟件時,第一更新管理器110 使用在非安全執(zhí)行環(huán)境210中存儲的鏡像數(shù)據(jù)410中的第一軟件更新的第一鏡像(S卩,TEE鏡像410),更新第一軟件。在此,需要更新第一軟件的情況可以包括:第一軟件被偽造或篡改且其可靠性被懷疑的情況、第一軟件的版本與更舊版本或其他裝置的兼容性不能保證的情況以及存在來自用戶應(yīng)用或系統(tǒng)應(yīng)用的更新第一軟件的請求的情況。[〇〇72]在第一軟件的更新工作之后,可以通過鏡像管理器200、第一更新管理器110和第二更新管理器120中的至少一個,在安全執(zhí)行環(huán)境220中存儲在非安全執(zhí)行環(huán)境210中存儲的鏡像數(shù)據(jù)400中的裝置鏡像422a、裝置鏡像422b和簽名426。因此,非安全執(zhí)行環(huán)境210不能訪問在安全執(zhí)行環(huán)境220中存儲的裝置鏡像422a、裝置鏡像422b和簽名426。在本公開的一些實施例中,可以對裝置鏡像422a、裝置鏡像422b進行編碼。[〇〇73]參照圖6,第二更新管理器120驗證驅(qū)動由安全執(zhí)行環(huán)境220控制的一個或多個裝置230、裝置232的第二軟件的一個或多個更新。也就是說,在安全執(zhí)行環(huán)境210中執(zhí)行第二更新管理器120的第二軟件更新驗證工作。在本公開的一些實施例中,第二更新管理器120 可以驗證裝置230、裝置232的每個軟件版本信息或第二軟件更新的軟件版本信息。[〇〇74]作為第二軟件更新的驗證結(jié)果,當(dāng)確定需要更新第二軟件時,第二更新管理器120 使用在安全執(zhí)行環(huán)境220中存儲的第二鏡像(S卩,裝置鏡像422a、裝置鏡像422b),更新第二軟件。具體地,第二更新管理器120通過使用裝置鏡像422a更新驅(qū)動第一裝置230的第二軟件,并且通過使用鏡像裝置422b更新驅(qū)動第二裝置232的第二軟件。在此,需要更新第二軟件的情況可以包括:第二軟件被偽造或篡改且其可靠性被懷疑的情況、第二軟件的版本與更舊版本或其他裝置的兼容性不能保證的情況以及存在來自用戶應(yīng)用或系統(tǒng)應(yīng)用的更新第二軟件的請求的情況。[0〇75]在此,當(dāng)裝置鏡像422a、裝置鏡像422b被編碼時,編碼的裝置鏡像422a、裝置鏡像 422b可以在更新第二軟件之前被解碼。在本公開的一些實施例中,在安全執(zhí)行環(huán)境220中對編碼的鏡像裝置422a、裝置鏡像422b進行解碼之后,鏡像可以用于更新第二軟件。同時,在本公開的一些其它實施例中,在編碼的裝置鏡像422a、裝置鏡像422b從安全執(zhí)行環(huán)境220發(fā)送到裝置230、裝置232,并且在裝置230、裝置232中被解碼之后,鏡像可以用于更新第二軟件。[〇〇76]根據(jù)如上所述的本公開的更新軟件的方法,由于多個裝置230、裝置232的軟件鏡像,例如,驅(qū)動多個裝置230、裝置232中的每個裝置的固件的二值鏡像沒有暴露于包括非安全執(zhí)行環(huán)境210的外部,因此可以以安全的方式來更新多個裝置230、裝置232的軟件。同時, 根據(jù)本公開的更新軟件的方法,通過使用包括用于更新第一軟件的第一鏡像和用于更新控制由第一軟件驅(qū)動的執(zhí)行環(huán)境或裝置的第二軟件的第二鏡像的一個鏡像數(shù)據(jù),依次更新第一軟件和第二軟件,具體地,連續(xù)更新驅(qū)動多個裝置230、裝置232的軟件。因此,可以容易且有效地更新驅(qū)動多個執(zhí)行環(huán)境或裝置的多個軟件,并且當(dāng)多個裝置230、裝置232的軟件問題發(fā)生時,也可以容易且有效地從這些問題恢復(fù)。
[0077]圖7是根據(jù)本公開的另一實施例的用于解釋鏡像數(shù)據(jù)的結(jié)構(gòu)的示意圖。
[0078]參照圖7,此實施例與圖5相關(guān)的實施例的不同之處在于:根據(jù)本公開的再一實施例的鏡像數(shù)據(jù)400包括TEE數(shù)據(jù)410、裝置鏡像430和簽名460,并且裝置鏡像430存儲驅(qū)動由安全執(zhí)行環(huán)境220控制的一個或多個裝置230、裝置232的一個或多個第二軟件更新的鏡像。 [〇〇79]具體地,在此實施例中,包括在鏡像數(shù)據(jù)400中的裝置鏡像430可以包括第一裝置鏡像432、第一簽名433、…、第N裝置鏡像434和第N簽名435 (其中,N是自然數(shù))。在本公開的一些實施例中,一個或多個裝置鏡像432、裝置鏡像434可以是編碼的鏡像??梢栽诟碌谝谎b置的第二軟件的驗證中使用第一簽名433,可以在更新第N裝置的第二軟件的驗證中使用第N簽名435。
[0080]圖8是根據(jù)本公開的再一實施例的用于解釋更新軟件的方法的示意圖。
[0081]參照圖8,此實施例與圖6相關(guān)的實施例的不同之處在于:在第一軟件的更新工作之后,通過鏡像管理器200、第一更新管理器110和第二更新管理器120中的至少一個,在安全執(zhí)行環(huán)境220中存儲在非安全執(zhí)行環(huán)境210中存儲的鏡像數(shù)據(jù)400中的裝置鏡像432a、裝置鏡像432b、簽名433a和簽名433b。[〇〇82]因此,當(dāng)需要更新第二軟件時,第二軟件管理器120通過使用第一裝置鏡像432a和第一簽名433a更新驅(qū)動第一裝置230的第二軟件,并且第二軟件管理器120通過使用第二裝置鏡像432b和第二簽名433b更新驅(qū)動第二裝置232的第二軟件。
[0083]圖9是根據(jù)本公開的再一實施例的用于解釋鏡像數(shù)據(jù)的結(jié)構(gòu)的示意圖。
[0084]參照圖9,此實施例與圖7相關(guān)的實施例的不同之處在于:根據(jù)本公開的再一實施例的鏡像數(shù)據(jù)400包括TEE數(shù)據(jù)410、裝置鏡像440和簽名460,并且裝置鏡像440包括:由安全執(zhí)行環(huán)境220控制的第一裝置鏡像442、剩余裝置鏡像450和第一簽名446。此外,裝置鏡像 450包括:由安全執(zhí)行環(huán)境220控制的第二裝置鏡像452、剩余裝置鏡像454和第二簽名456。 [〇〇85]在本公開的一些實施例中,一個或多個裝置鏡像442、裝置鏡像452可以是編碼的鏡像??梢栽诟碌谝谎b置的第二軟件的驗證中使用第一簽名446,并且可以在更新第N裝置的第二軟件的驗證中使用第二簽名456。
[0086]圖10是根據(jù)本公開的再一實施例的用于解釋更新軟件的方法的示意圖。
[0087]參照圖10,此實施例與圖8相關(guān)的實施例的不同之處在于:在第一軟件的更新工作之后,通過鏡像管理器200、第一更新管理器110和第二更新管理器120中的至少一個,在安全執(zhí)行環(huán)境220中存儲在非安全執(zhí)行環(huán)境210中存儲的鏡像數(shù)據(jù)400中的第一裝置鏡像442、 剩余裝置鏡像450和第一簽名446,并且在執(zhí)行第一裝置230的更新工作的同時,通過鏡像管理器200和第二更新管理器120的至少一個在第一裝置230中存儲第二裝置鏡像452、剩余裝置鏡像454和第二簽名456。[〇〇88]因此,當(dāng)需要更新第二軟件時,第二軟件管理器120通過使用在安全執(zhí)行環(huán)境220 中存儲的第一裝置鏡像442和第一簽名446來更新驅(qū)動第一裝置230的第二軟件,并且第二軟件管理器120通過使用在第一裝置230中存儲的第二裝置鏡像452和第二簽名456來更新驅(qū)動第二裝置232的第二軟件。當(dāng)然,在第一裝置230中存儲的剩余裝置鏡像454可以被發(fā)送到第二裝置232并存儲在其中。
[0089]圖11是根據(jù)本公開的實施例的用于解釋更新軟件的方法的流程圖。
[0090]參照圖11,根據(jù)本公開的實施例的更新軟件的方法開始啟動更新軟件的系統(tǒng)1 (1101 ),并且通過REE來驗證TEE鏡像310、TEE鏡像410 (1103)。例如,所述方法驗證TEE鏡像 310、TEE鏡像410的二進制散列或軟件版本,以確定是否需要更新驅(qū)動TEE的軟件(1105)。 [〇〇91]當(dāng)需要更新TEE軟件時,所述方法通過使用在REE中存儲的TEE鏡像310、TEE鏡像 410來更新驅(qū)動TEE的軟件(1107),并且確定是否成功地執(zhí)行更新(1111)。如果沒有成功地執(zhí)行更新,則驅(qū)動TEE的軟件被回滾(1113 ),如果成功地執(zhí)行了更新,則通過TEE來驗證SE鏡像(1109)。當(dāng)在操作(1105)中確定不需要更新TEE軟件時,所述方法從操作(1105)直接進行到操作(1109)。當(dāng)完成操作(1109)時,例如,所述方法驗證SE鏡像的軟件版本,以確定是否需要更新驅(qū)動SE的軟件(1115)。[〇〇92]當(dāng)需要更新SE軟件時,所述方法通過使用在TEE中存儲的SE鏡像來更新驅(qū)動SE的軟件(1117),并且確定是否成功地執(zhí)行更新(1121)。如果沒有成功地執(zhí)行更新,則驅(qū)動TEE 的軟件被回滾(1123),如果成功執(zhí)行了更新,則更新軟件的系統(tǒng)1的啟動被完成(1119)。當(dāng)如在操作(1115)確定不需要更新SE軟件時,所述方法從操作(1115)直接轉(zhuǎn)換到啟動完成 (1119)〇
[0093]圖12是根據(jù)本公開的實施例的用于解釋更新軟件的方法的流程圖。
[0094]參照圖12,在根據(jù)本發(fā)明的另一實施例的更新軟件的方法中,開始更新軟件的系統(tǒng)1的啟動(1201 ),并且在完成更新軟件的系統(tǒng)1的啟動之后(1203 ),通過REE來驗證TEE鏡像310、TEE鏡像410 (1205)。當(dāng)需要更新TEE軟件時,所述方法使用在REE中存儲的TEE鏡像 310、TEE鏡像410來更新驅(qū)動TEE的軟件(1207)。[〇〇95]接下來,所述方法通過TEE來驗證裝置鏡像(1209)。例如,所述方法驗證裝置鏡像的軟件版本,以確定是否需要更新驅(qū)動裝置230、裝置232的軟件。當(dāng)需要更新裝置軟件時, 所述方法通過使用在TEE中存儲的裝置鏡像來更新驅(qū)動裝置230、裝置232的軟件(1211),并且確定所有裝置的驗證和更新是否完成(1213)。如果驗證和更新所需的裝置鏡像仍然存在,則通過TEE來驗證裝置鏡像(1209)。
[0096]圖13是根據(jù)本公開的實施例的用于解釋更新軟件的方法的流程圖。
[0097]參照圖13,在根據(jù)本公開的再一實施例的更新軟件的方法中,開始更新軟件的系統(tǒng)1的啟動(1301 ),并且在完成更新軟件的系統(tǒng)1的啟動之后(1303 ),通過REE來驗證TEE鏡像310、TEE鏡像410(1305)。當(dāng)需要更新TEE軟件時,所述方法通過使用在REE中存儲的TEE鏡像310、TEE鏡像410來更新驅(qū)動TEE的軟件(1307)。
[0098]接下來,所述方法通過TEE來驗證第一裝置鏡像(1309)。例如,所述方法驗證第一裝置鏡像的軟件版本,以確定是否需要更新驅(qū)動第一裝置230的軟件。當(dāng)需要更新第一裝置 230的軟件時,所述方法通過使用在TEE中存儲的第一裝置鏡像來更新驅(qū)動第一裝置230的軟件(1311)。
[0099]接下來,例如,所述方法驗證第二裝置鏡像的軟件版本,以確定是否需要更新驅(qū)動第二裝置232的軟件。當(dāng)需要更新第二裝置232的軟件時,所述方法通過使用在第一裝置230 中存儲的第二裝置鏡像來更新驅(qū)動第二裝置232的軟件(1313)。重復(fù)這些處理以完成到第N 裝置的更新(其中,N是自然數(shù))(1315)。
[0100]如上所述的本公開的各種實施例可以實現(xiàn)為能夠通過各種計算機執(zhí)行的程序指令,并且可以記錄在計算機可讀記錄介質(zhì)中。在此,記錄介質(zhì)可以包括程序指令、數(shù)據(jù)文件、 數(shù)據(jù)結(jié)構(gòu)等。程序指令可以針對本公開的各種實施例而專門設(shè)計和配置,或者可以被計算機軟件領(lǐng)域的普通技術(shù)人員公知且可用。此外,記錄介質(zhì)可以包括磁介質(zhì)(諸如,硬盤、軟盤和磁帶)、光學(xué)介質(zhì)(諸如,⑶-ROM和DVD)、磁光介質(zhì)(諸如,光磁盤)、R0M、RAM和硬件(諸如, 閃存)。此外,程序指令可以包括能夠由計算機通過使用解釋器等執(zhí)行的高級語言代碼,以及諸如由編譯器產(chǎn)生的機器語言代碼。
[0101]同時,如上所述的本公開的各種實施例可以實現(xiàn)為電連接到處理器10且基于處理器10的控制操作的硬件模塊。例如,如上所述的本公開的各種實施例可以被制造,以便在應(yīng)用處理器的部分區(qū)域中形成多個半導(dǎo)體元件。
[0102]圖14至圖16是根據(jù)本公開的實施例的更新軟件的方法和系統(tǒng)適用的示例性半導(dǎo)體系統(tǒng)。
[0103]圖14是示出平板PC 1200的示圖,圖15是示出筆記本電腦1300的示圖,圖16示出智能電話1400。根據(jù)本公開的實施例的更新軟件的方法和系統(tǒng)中的至少一個可以用于平板 PC1200、筆記本電腦1300、智能電話1400等。
[0104]此外,對本領(lǐng)域技術(shù)人員顯而易見的是,根據(jù)本公開的一些實施例的更新軟件的方法和系統(tǒng)也適用于未示出的其它集成電路裝置。也就是說,盡管上面僅描述了平板 PC1200、筆記本電腦1300和智能電話1400作為根據(jù)本實施例的更新軟件的系統(tǒng)的示例,但是根據(jù)本實施例的更新軟件的系統(tǒng)的示例不限于此。在本公開的一些實施例中,更新軟件的系統(tǒng)可以實現(xiàn)為計算機、超移動PC(UMPC)、工作站、上網(wǎng)本、個人數(shù)字助理(PDA)、便攜式計算機、無線電話、移動電話、電子書、便攜式多媒體播放器(PMP )、便攜式游戲機、導(dǎo)航裝置、黑盒子、數(shù)字相機、三維電視、數(shù)字音頻記錄器、數(shù)字音頻播放器、數(shù)字圖像記錄器、數(shù)字圖像播放器、數(shù)字視頻記錄器、數(shù)字視頻播放器等。
[0105]如本領(lǐng)域的傳統(tǒng)技術(shù),可根據(jù)實現(xiàn)所描述的一個功能或多個功能的多個塊來描述并且示出實施例。通過模擬和/或數(shù)字電路(諸如,邏輯門、集成電路、微處理器、微控制器、 存儲電路、無源電子組件、有源電子組件、光學(xué)組件、硬連接電路等)來物理地實現(xiàn)這些塊 (在此可被稱為單元或模塊等),并且可通過固件和/或軟件來選擇性地驅(qū)動這些塊。所述電路可,例如,被實現(xiàn)在一個或多個半導(dǎo)體芯片中,或者被實現(xiàn)在基底支撐件(諸如,印刷電路板等)上??赏ㄟ^專用硬件,或者通過處理器(例如,一個或多個編程的微處理器和相關(guān)聯(lián)的電路系統(tǒng)),或者通過用于執(zhí)行塊的一些功能的專用硬件和用于執(zhí)行塊的其他功能的處理器的組合,來實現(xiàn)構(gòu)成塊的電路。在不脫離本公開的范圍的情況下,實施例的每個塊可被物理地分開為兩個或更多個相互作用并且分離的塊。同樣地,在不脫離本公開的范圍的情況下,實施例的塊可被物理地組合為更復(fù)雜的塊。
[0106]在總結(jié)【具體實施方式】中,本領(lǐng)域的技術(shù)人員將理解,在本質(zhì)上不脫離本公開的原理的情況下,可以對優(yōu)選實施例進行許多變化和修改。因此,本公開所公開的優(yōu)選實施例僅被用于一般和描述性意義,而不是為了限制的目的。
【主權(quán)項】
1.一種更新軟件的方法,所述方法包括:使用在非安全執(zhí)行環(huán)境中操作的處理器和第一更新管理器,在非安全執(zhí)行環(huán)境中驗證 驅(qū)動安全執(zhí)行環(huán)境的第一軟件的更新;使用第一更新管理器,通過使用在非安全執(zhí)行環(huán)境中存儲的第一軟件更新的第一鏡像 來更新第一軟件;使用在安全執(zhí)行環(huán)境中操作的處理器和第二更新管理器,在安全執(zhí)行環(huán)境中驗證驅(qū)動 由安全執(zhí)行環(huán)境控制的安全裝置的第二軟件的更新;使用第二更新管理器,通過使用在安全執(zhí)行環(huán)境中存儲的第二軟件更新的第二鏡像來 更新弟^?軟件,其中,驗證第一軟件的更新和第二軟件的更新的步驟包括:驗證第一軟件更新和第二軟件更 新的正確的軟件版本或者容量。2.如權(quán)利要求1所述的方法,還包括:在驗證第一軟件更新之前,使用鏡像管理器,在非 安全執(zhí)行環(huán)境中存儲第二鏡像和第一鏡像。3.如權(quán)利要求2所述的方法,其中,當(dāng)在非安全執(zhí)行環(huán)境中存儲第二鏡像時,第二鏡像 被編碼。4.如權(quán)利要求3所述的方法,還包括:通過第二更新管理器,從非安全執(zhí)行環(huán)境接收編碼的第二鏡像,以在安全執(zhí)行環(huán)境中 存儲編碼的第二鏡像,其中,通過使用在安全執(zhí)行環(huán)境中存儲的第二軟件更新的第二鏡像來更新第二軟件的步驟 包括:在對編碼的第二鏡像進行解碼之后,通過使用解碼的第二鏡像來更新第二軟件。5.如權(quán)利要求1所述的方法,其中,驗證第一軟件更新的步驟包括:驗證安全執(zhí)行環(huán)境 的二進制散列和軟件版本信息中的至少一個。6.如權(quán)利要求1所述的方法,其中,驗證第二軟件更新的步驟包括:驗證安全裝置的軟 件版本信息。7.如權(quán)利要求1所述的方法,其中,第一軟件包括固件或應(yīng)用,第二軟件包括固件或應(yīng)用。8.如權(quán)利要求1所述的方法,其中,通過使用第一軟件更新的第一鏡像來更新第一軟件 的步驟還包括:在更新第一軟件之前,在安全執(zhí)行環(huán)境中備份第一軟件的當(dāng)前鏡像。9.如權(quán)利要求1所述的方法,其中,通過使用第二軟件更新的第二鏡像來更新第二軟件 的步驟還包括:在更新第二軟件之前,在安全執(zhí)行環(huán)境中或在安全裝置中備份第二軟件的 當(dāng)前鏡像。10.如權(quán)利要求9所述的方法,其中,通過使用第二軟件更新的第二鏡像來更新第二軟 件的步驟還包括:當(dāng)?shù)诙浖母率r,通過使用在安全執(zhí)行環(huán)境或安全裝置中備份 的第二軟件的當(dāng)前鏡像來回滾第二軟件。11.如權(quán)利要求1所述的方法,其中:安全裝置包括第一安全裝置和與第一安全裝置不同的第二安全裝置,驗證第二軟件更新的步驟包括驗證分別驅(qū)動第一安全裝置和第二安全裝置的第三軟 件和第四軟件的更新,更新第二軟件的步驟還包括:通過分別使用在安全執(zhí)行環(huán)境中存儲的第三軟件更新的第三鏡像和第四軟件更新的第四鏡像來更新第三軟件和第四軟件。12.如權(quán)利要求11所述的方法,還包括:在驗證第一軟件更新之前,使用鏡像管理器,在 非安全執(zhí)行環(huán)境中存儲第三鏡像,第四鏡像和第一鏡像。13.—種更新軟件的方法,所述方法包括:使用鏡像管理器,在非安全執(zhí)行環(huán)境中存儲鏡像數(shù)據(jù),其中,鏡像數(shù)據(jù)包括:用于第一 軟件的更新的第一鏡像以及用于第二軟件的更新的第二鏡像,其中,第一軟件驅(qū)動安全執(zhí) 行環(huán)境,第二軟件驅(qū)動由安全執(zhí)行環(huán)境控制的安全裝置;使用在非安全執(zhí)行環(huán)境中操作的第一更新管理器,通過使用鏡像數(shù)據(jù)的第一鏡像在非 安全執(zhí)行環(huán)境中更新第一軟件;提取在鏡像數(shù)據(jù)中包括的第二鏡像以使用鏡像管理器在安全執(zhí)行環(huán)境中存儲第二鏡 像;使用在安全執(zhí)行環(huán)境中操作的第二更新管理器,通過使用在安全執(zhí)行環(huán)境中存儲的第 二鏡像在安全執(zhí)行環(huán)境中更新第二軟件。14.如權(quán)利要求13所述的方法,其中:第一鏡像是未編碼的鏡像,第二鏡像是編碼的鏡像,僅在安全執(zhí)行環(huán)境中對編碼的第二鏡像進行解碼,在非安全執(zhí)行環(huán)境中不對編碼的第 二鏡像進行解碼。15.如權(quán)利要求13所述的方法,其中:安全裝置包括第一安全裝置以及與第一安全裝置不同的第二安全裝置,在非安全執(zhí)行環(huán)境中存儲的鏡像數(shù)據(jù)包括:用于第三軟件的更新的第三鏡像和用于第 四軟件的更新的第四鏡像,其中,第三軟件和第四軟件分別驅(qū)動第一安全裝置和第二安全 裝置,提取在鏡像數(shù)據(jù)中包括的第二鏡像以使用鏡像管理器在安全執(zhí)行環(huán)境中存儲第二鏡 像的步驟包括:提取在鏡像數(shù)據(jù)中包括的第三鏡像和第四鏡像,通過使用在安全執(zhí)行環(huán)境中存儲的第二鏡像在安全執(zhí)行環(huán)境中更新第二軟件的步驟 包括:通過使用第三鏡像和第四鏡像來更新第三軟件和第四軟件。16.如權(quán)利要求13所述的方法,其中:鏡像數(shù)據(jù)還包括與第一軟件更新相關(guān)聯(lián)的第一簽名和與第二軟件更新相關(guān)聯(lián)的第二 簽名,通過使用鏡像數(shù)據(jù)的第一鏡像在非安全執(zhí)行環(huán)境中更新第一軟件的步驟包括:在驗證 第一簽名之后通過使用第一鏡像來更新第一軟件,通過使用在安全執(zhí)行環(huán)境中存儲的第二鏡像在安全執(zhí)行環(huán)境中更新第二軟件的步驟 包括:在驗證第二簽名之后通過使用在安全執(zhí)行環(huán)境中存儲的第二鏡像來更新第二軟件。17.—種更新軟件的系統(tǒng),所述系統(tǒng)包括:處理器;第一更新管理器,在非安全執(zhí)行環(huán)境中操作;第二更新管理器,在安全執(zhí)行環(huán)境中操作,其中:第一更新管理器通過使用處理器來驗證驅(qū)動安全執(zhí)行環(huán)境的第一軟件的更新,并且通 過使用在非安全執(zhí)行環(huán)境中存儲的第一軟件更新的第一鏡像來更新第一軟件,第二更新管理器通過使用處理器來驗證驅(qū)動由安全執(zhí)行環(huán)境控制的安全裝置的第二 軟件的更新,并且通過使用在安全執(zhí)行環(huán)境中存儲的第二軟件更新的第二鏡像來更新第二 軟件,其中,驗證第一軟件的更新和第二軟件的更新的步驟包括:驗證第一軟件更新和第二軟件更 新的正確的軟件版本或者容量。18.如權(quán)利要求17所述的系統(tǒng),還包括:鏡像管理器,在驗證第一軟件更新之前,在非安 全執(zhí)行環(huán)境中存儲第二鏡像和第一鏡像。19.如權(quán)利要求18所述的系統(tǒng),其中:第二鏡像被編碼,且第一鏡像不被編碼,鏡像管理器在非安全執(zhí)行環(huán)境中存儲編碼的第二鏡像和未編碼的第一鏡像。20.如權(quán)利要求19所述的系統(tǒng),其中:第二更新管理器從非安全執(zhí)行環(huán)境接收編碼的第二鏡像以在安全執(zhí)行環(huán)境中存儲編 碼的第二鏡像,在對編碼的第二鏡像進行解碼之后,第二更新管理器通過使用解碼的第二鏡像來更新 第二軟件。
【文檔編號】G06F21/51GK106096386SQ201610265544
【公開日】2016年11月9日
【申請日】2016年4月26日 公開號201610265544.X, CN 106096386 A, CN 106096386A, CN 201610265544, CN-A-106096386, CN106096386 A, CN106096386A, CN201610265544, CN201610265544.X
【發(fā)明人】孫晟薰, 權(quán)幾衒, 李丞鎬, 李俊虎, 韓祐碩
【申請人】三星電子株式會社