[發(fā)明專利]保護密鑰的安全終端、例程和方法有效
| 申請?zhí)枺?/td> | 200680028673.1 | 申請日: | 2006-08-01 |
| 公開(公告)號: | CN101238473A | 公開(公告)日: | 2008-08-06 |
| 發(fā)明(設(shè)計)人: | 讓-菲利普·佩蘭;哈拉爾德·鮑爾;帕特里克·富爾徹里 | 申請(專利權(quán))人: | NXP股份有限公司 |
| 主分類號: | G06F21/02 | 分類號: | G06F21/02;G06F21/24 |
| 代理公司: | 中科專利商標(biāo)代理有限責(zé)任公司 | 代理人: | 朱進桂 |
| 地址: | 荷蘭艾*** | 國省代碼: | 荷蘭;NL |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 保護 密鑰 安全 終端 例程 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明設(shè)計一種保護密鑰的安全終端、例程和方法。
背景技術(shù)
典型地,安全終端包括:
-處理器,執(zhí)行軟件應(yīng)用程序和軟件應(yīng)用程序所調(diào)用的例程,和
-至少一個密鑰。
所述處理器可以執(zhí)行非安全軟件應(yīng)用程序以及安全軟件應(yīng)用程序。
非安全軟件應(yīng)用程序是可以被輕易更新或改變的軟件應(yīng)用程序。典型地,非安全軟件應(yīng)用程序被寫入可以被重寫的存儲器,例如閃存。
相反,安全軟件應(yīng)用程序是不可以被輕易改變的軟件應(yīng)用程序。例如,安全軟件應(yīng)用程序在安全終端的制造過程中被寫入只讀存儲器。保護所述只讀存儲器,以使得每個安全軟件應(yīng)用程序都不可以被輕易改變。
非安全軟件應(yīng)用程序是安全終端的弱點,因為它們會被黑客改變。然而,對安全終端的設(shè)計來說,將任何軟件應(yīng)用程序都記錄在只讀存儲器中是不恰當(dāng)?shù)摹R虼耍恢币詠泶嬖谶@樣的危險,即黑客可能改變非安全軟件應(yīng)用程序,使得被改變的非安全軟件應(yīng)用程序讀取密鑰并將其泄漏給黑客。
發(fā)明內(nèi)容
因此,本發(fā)明的目的是提供一種保護密鑰使其不被非安全軟件應(yīng)用程序讀取的方法。
本發(fā)明提供一種保護密鑰使其不被非安全軟件應(yīng)用程序讀取的方法,該方法包括將密鑰記錄為存儲在只可執(zhí)行的存儲器中的只可執(zhí)行的例程的步驟,所述例程包括:
-加載指令,如果安全軟件應(yīng)用程序調(diào)用所述例程,則將密鑰載入安全和非安全軟件應(yīng)用程序均可讀的存儲器,和
-控制指令,如果調(diào)用所述只可執(zhí)行的例程的軟件應(yīng)用程序是非安全軟件應(yīng)用程序,則在可讀存儲器中只留下虛假(dummy)數(shù)據(jù)而非密鑰。
所述密鑰被記錄為存儲在只可執(zhí)行的存儲器中的例程。為此,該例程被稱為“只可執(zhí)行的例程”。所述只可執(zhí)行的例程不能被處理器讀取而只能被執(zhí)行。因此,獲得所述密鑰的唯一途徑是執(zhí)行只可執(zhí)行的例程。然而,在執(zhí)行時,所述例程本身確保與密鑰有關(guān)的秘密信息不會泄漏給非安全軟件應(yīng)用程序。因此,密鑰本身是非安全軟件應(yīng)用程序不可讀的。
上述方法的實施例可以包括下列特征中的一個或一些:
-所述加載指令是加載常數(shù)的指令,每個常數(shù)的值嵌入在例程代碼中并代表密鑰的至少一位,
-所述方法包括步驟:在執(zhí)行加載指令之前禁用任何IRQ(中斷請求),并且只在已經(jīng)刪除了載入可讀存儲器中的密鑰之后才重新啟用IRQ,
-在執(zhí)行IRQ重新啟用步驟之前,所述只可執(zhí)行的例程系統(tǒng)地返回安全軟件應(yīng)用程序,并且任何安全軟件應(yīng)用程序刪除已加載的密鑰,
-如果安全軟件應(yīng)用程序不是由只可執(zhí)行的例程調(diào)用的,則該只可執(zhí)行的例程所返回的所述安全軟件應(yīng)用程序立即刪除已加載的密鑰。
所述方法的上述實施例表現(xiàn)出下列優(yōu)點:
-使密鑰作為可加載常數(shù)嵌入在只可執(zhí)行的例程中加強了實施例的安全性;
-禁用IRQ防止了任何非安全軟件應(yīng)用程序讀取載入可讀存儲器的密鑰,因為只要IRQ被禁用,就不能執(zhí)行非安全軟件應(yīng)用程序;
-在只可執(zhí)行的例程的執(zhí)行結(jié)束時系統(tǒng)地返回安全軟件應(yīng)用程序防止了如下攻擊,即調(diào)用只可執(zhí)行的例程的非安全軟件應(yīng)用程序使用對應(yīng)于安全軟件應(yīng)用程序的返回地址;
-如果只可執(zhí)行的例程不是由安全軟件應(yīng)用程序調(diào)用的則從可讀存儲器中刪除密鑰通過防止其它非安全軟件應(yīng)用程序調(diào)用所述只可執(zhí)行的例程而加強了終端的安全性。
本發(fā)明還涉及一種只可執(zhí)行的例程,用于上述防止密鑰被非安全軟件應(yīng)用程序讀取的方法中。所述只可執(zhí)行的例程包括:
-加載指令,如果所述例程是由安全軟件應(yīng)用程序調(diào)用的,則將密鑰載入安全和非安全軟件應(yīng)用程序均可讀的存儲器,和
-控制指令,如果調(diào)用所述只可執(zhí)行的例程的軟件應(yīng)用程序是非安全軟件應(yīng)用程序,則在可讀存儲器中只留下虛假數(shù)據(jù)而非密鑰。
上述只可執(zhí)行的例程的實施例可以包括下列特征中的一個或一些:
-所述加載指令是加載常數(shù)的指令,每個常數(shù)的值嵌入在例程代碼中并代表密鑰的至少一位,
-所述只可執(zhí)行的例程具有在只可執(zhí)行的例程的執(zhí)行開始時禁用任何IRQ的指令,
-所述只可執(zhí)行的例程具有在只可執(zhí)行的例程的執(zhí)行結(jié)束時系統(tǒng)地返回安全軟件應(yīng)用程序的指令。
本發(fā)明還涉及一種安全終端,包括:
-處理器,執(zhí)行軟件應(yīng)用程序和軟件應(yīng)用程序所調(diào)用的例程,和
-至少一個密鑰,
其中,所述安全終端還包括適于記錄只可執(zhí)行的例程的只可執(zhí)行的存儲器,所述只可執(zhí)行的例程包括:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于NXP股份有限公司,未經(jīng)NXP股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200680028673.1/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





