亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

數(shù)據(jù)處理裝置、方法、程序、集成電路、程序生成裝置的制作方法

文檔序號:6454621閱讀:207來源:國知局
專利名稱:數(shù)據(jù)處理裝置、方法、程序、集成電路、程序生成裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及程序的保護,尤其涉及一種控制程序的調(diào)試處理執(zhí)行的技術(shù)。
背景技術(shù)
保護用于著作權(quán)管理的程序等、不期望執(zhí)行非法解析等非法行為的程 序(下面稱為'保護程序')的技術(shù)被廣泛使用。這是因為若保護不充分,則 不限于程序的權(quán)利者,在各個方面均會發(fā)生損害。
例如,若非法者能非法解析對加密后的數(shù)字內(nèi)容執(zhí)行解密處理后進行 再現(xiàn)的程序并篡改該程序,則擔(dān)心非法利用數(shù)字內(nèi)容。即,非法者非法再 現(xiàn)數(shù)字內(nèi)容,或即便限制數(shù)字內(nèi)容的復(fù)制次數(shù)或再現(xiàn)次數(shù),該限制也被無 效化。
作為保護程序等數(shù)據(jù)不被非法者非法解析等的技術(shù),在下述非專利文
獻1中公開了一種LSI(Large Scale Integration:大規(guī)模集成電路)技術(shù),即構(gòu) 筑具有防止從外部非法訪問的機構(gòu)的安全域,具備在安全域中執(zhí)行處理的 安全模式、與通過不使用安全域來執(zhí)行處理的通常模式,切換通常模式與 安全模式來進行動作。根據(jù)該技術(shù),通過僅在安全模式時使保護程序動作, 可保護該保護程序不被非法解析等。
但是,在開發(fā)在安全域中動作的程序的情況下,為了執(zhí)行動作的驗證 或差錯的修正,必需調(diào)試(debug)上述程序。而且,若無論是誰均能調(diào)試上 述程序,則非法者會進行調(diào)試并插足非法解析等,所以必需將可調(diào)試者僅 限定為上述程序的開發(fā)者等有關(guān)人員。
因此,以往,使用僅知道規(guī)定認證代碼的人才能調(diào)試在安全域中動作 的程序的技術(shù)(參照下述的專利文獻1)。具體而言,專利文獻l的技術(shù)中, 只有在使用了認證代碼的認證中成功的人,才能執(zhí)行調(diào)試處理。
由此,由于不知道認證代碼的人認證失敗,所以可防止非法人員調(diào)試安全域中動作的程序。
專利文獻1:日本特開2004-171565號公報
非專禾!j文獻1: TrustZone-Integrated Hardware and Software Security (http:〃www.arm.com/pdfs/TZ Whitepaper.pdf)
根據(jù)上述專利文獻1的技術(shù),在將程序的開發(fā)有關(guān)人員僅限于例如本 公司內(nèi)的特定組的情況下,只要適當(dāng)管理認證代碼,則可實現(xiàn)程序的保護。
另一方面,近年來,為了緩和程序開發(fā)的負擔(dān),有時多個程序分別由 不同的權(quán)利者開發(fā),這些程序協(xié)同動作。例如在以SD-Audio標準將以O(shè)MA DRM(Open Mobile Alliance Digital Rights Management:開放移動聯(lián)盟數(shù)字 版權(quán)管理)標準分發(fā)的音樂內(nèi)容輸出到SD存儲卡(Secure Digital Memory Card:安全數(shù)字存儲卡)的情況下,執(zhí)行基于OMADRM標準的處理的程序 與執(zhí)行基于SD-Audio標準的處理的程序分別由不同的權(quán)利者開發(fā),這些程 序協(xié)同動作。
開發(fā)這些協(xié)同動作的多個程序時發(fā)生差錯,且涉及協(xié)同動作的程序的 至少一部分是保護程序的情況下,開發(fā)者必需同時調(diào)試保護程序與其它程 序。此時,在這些程序的權(quán)利者就各個程序不同的情況下,存在某個權(quán)利 者的保護程序由其他權(quán)利者一方的開發(fā)者來進行調(diào)試的需要。
但是,上述專利文獻1的技術(shù)使用認證代碼來控制是否調(diào)試在安全域 中動作的程序。知道認證代碼的人可調(diào)試在安全域中動作的全部程序。
此時,上述其它權(quán)利者一方的開發(fā)者若知道認證代碼,則不限于涉及 協(xié)同動作的程序,所有的保護程序都可以調(diào)試。結(jié)果,對于上述某個權(quán)利 者不期望調(diào)試的保護程序,若上述其它權(quán)利者一方的開發(fā)者能獲得該保護 程序,則也可進行調(diào)試。因此,上述某個權(quán)利者在共同開發(fā)協(xié)同動作的程 序群的情況下,會承擔(dān)不期望被調(diào)試的其它保護程序被解析等、機密信息 也許泄漏到外部等巨大危險。伴隨這種危險,在保護程序的同時分別由不 同的權(quán)利者共同開發(fā)協(xié)同動作的程序群是困難的。

發(fā)明內(nèi)容
因此,本發(fā)明的目的在于提供一種在保護程序的同時、使不同的權(quán)利 者共同開發(fā)程序變得容易的數(shù)據(jù)處理裝置、數(shù)據(jù)處理方法、集成電路、控制調(diào)試處理執(zhí)行的程序、程序生成裝置。
為了解決上述課題,本發(fā)明是一種數(shù)據(jù)處理裝置,控制調(diào)試處理部的 調(diào)試處理的執(zhí)行,其特征在于具備第1取得部件,取得識別所述調(diào)試 處理部的識別符;第2取得部件,取得處于被保護不受非法訪問的狀態(tài)下 的調(diào)試對象程序的規(guī)定部分中包含的驗證值;判定部件,對從所述調(diào)試對 象程序取得的所述驗證值與由所述第1取得部件取得的所述識別符進行比 較,按照該比較結(jié)果,判定是否允許對所述調(diào)試對象程序的調(diào)試處理;和 控制部件,當(dāng)判定為不允許時,禁止對所述調(diào)試對象程序執(zhí)行調(diào)試處理。
發(fā)明效果
本發(fā)明的數(shù)據(jù)處理裝置比較所取得的驗證值與調(diào)試處理部的識別符, 按照比較結(jié)果,控制調(diào)試處理部可否執(zhí)行調(diào)試處理。即,若程序的權(quán)利者 使某個驗證值包含于該程序中,則允許該程序的調(diào)試處理的調(diào)試處理部的 識別符被決定。
因此,該程序的權(quán)利者可利用自身包含于該程序中的驗證值來指定可 執(zhí)行該程序的調(diào)試處理的調(diào)試處理部的識別符。
艮口,由于該程序的權(quán)利者可如自身希望的那樣限定具有可執(zhí)行該程序 的調(diào)試處理的識別符的調(diào)試處理部,所以可避免讓保持不具有該識別符的 調(diào)試處理部的利害關(guān)系人員等不必要地調(diào)試該程序。
但是,作為程序的權(quán)利者,即便允許讓其它權(quán)利者等調(diào)試該程序,也 想限制該程序的調(diào)試。例如,在該程序中包含想保密的信息的情況下,由 于若該秘密部分暴露,則在各個方面發(fā)生損害,所以對該秘密部分不希望 被解析。
因此,也可以是,所述調(diào)試對象程序的所述規(guī)定部分中,包含表示對 于構(gòu)成所述調(diào)試對象程序的各部分允許或不允許訪問的訪問控制列表,所 述第2取得部件包含訪問控制列表取得部,該訪問控制列表取得部取得所 述調(diào)試對象程序的所述規(guī)定部分中包含的所述訪問控制列表,所述數(shù)據(jù)處 理裝置還具備訪問判定部件,該訪問判定部件根據(jù)所述取得的所述訪問控 制列表,判定是否允許訪問所述調(diào)試對象程序的一部分,所述控制部件, 在所述判定部件判定為允許、且所述訪問判定部件判定為不允許的第1情 況下,禁止執(zhí)行所述一部分的調(diào)試處理,在所述判定部件判定為允許、且所述訪問判定部件判定為允許的第2情況下,使所述調(diào)試處理部執(zhí)行所述 一部分的調(diào)試處理。
由此,程序的權(quán)利者可使得該程序中包含想保密的信息的部分不被調(diào)試。
具體而言,所述訪問控制列表所示的所述部分的每一個,表示與將所 述調(diào)試對象程序加載到存儲器時的加載目的地存儲器地址的所述部分分別 對應(yīng)的地址范圍,在所述訪問控制列表中,將與所述部分分別對應(yīng)的所述 地址范圍的每一個,與可否訪問相對應(yīng),所述訪問判定部件對于與將所述 調(diào)試對象程序加載到存儲器時的加載目的地存儲器地址的所述一部分相對 應(yīng)的地址范圍,通過參照在所述訪問控制列表中相對應(yīng)的可否訪問,執(zhí)行 所述判定。
由此,可限制對配置在特定存儲器地址的秘密信息的調(diào)試。
另外,也可以是,所述訪問控制列表中所示的所述部分的每一個,表 示所述調(diào)試對象程序中包含的符號,所述訪問控制列表中,將所述符號的 每一個與可否訪問相對應(yīng),所述訪問判定部件對于所述調(diào)試對象程序的所 述一部分中包含的符號,通過參照在所述訪問控制列表中相對應(yīng)的可否訪 問,執(zhí)行所述判定。
由此,可限制對特定符號的調(diào)試,可通過指定符號這樣的簡單處理, 在符號處理秘密信息的情況下保護秘密信息。
但是,有時利害關(guān)系人員想靈活地設(shè)定程序的保護強度。例如,是想 對關(guān)聯(lián)公司具有的調(diào)試處理部寬松地允許調(diào)試處理的執(zhí)行,對無關(guān)人員的 調(diào)試處理部,包含秘密信息地限制調(diào)試處理的執(zhí)行的情況等。
因此,也可以是,所述調(diào)試對象程序的所述規(guī)定部分中包含多個所述 驗證值,所述規(guī)定部分中包含一個以上所述訪問控制列表,所述訪問控制 列表的每一個,與所述驗證值的至少一個相對應(yīng),所述判定部件對于所述 驗證值的每一個,與所述取得的識別符進行比較,執(zhí)行所述判定,所述訪 問判定部件根據(jù)與所述判定部件判定為允許的所述驗證值相對應(yīng)的所述訪 問控制列表,執(zhí)行所述判定。
由此,可對具有分別對應(yīng)于驗證值的識別符的每個調(diào)試處理部,指定 調(diào)試對象程序的可調(diào)試部分。即,程序的權(quán)利者可按照調(diào)試處理部的識別
12符來設(shè)定程序保護的部分。
另外,優(yōu)選的是,所述數(shù)據(jù)處理裝置還具備顯示部,所述控制部件包 含顯示控制部,在所述第1情況下,該顯示控制部使所述顯示部執(zhí)行表示
禁止所述一部分的調(diào)試處理之意的顯示,在所述第2情況下,該顯示控制 部使所述顯示部顯示所述調(diào)試處理的結(jié)果。
由此,執(zhí)行調(diào)試的人可知道是否允許調(diào)試。
在上述數(shù)據(jù)處理裝置中,判定部件的判定方式也可為所述判定部件對 所述驗證值與所述識別符進行比較,在所述驗證值與所述識別符一致的情 況下,判定為允許所述調(diào)試處理。
由此,程序的權(quán)利者可利用所述驗證值來指定允許執(zhí)行調(diào)試處理的調(diào) 試處理部。另外,由于通過所述驗證值與所述識別符是否一致這樣的簡單 的運算來執(zhí)行判定,所以可縮短判定所需的時間。
另外,作為判定的方式,也可以是,所述判定部件,包含比較值保持 部,該比較值保持部以保護其不被非法訪問的狀態(tài)存儲比較值,并且執(zhí)行 將所述驗證值與所述識別符用作運算符的規(guī)定運算,在該運算結(jié)果與所述 存儲的所述比較值一致的情況下,判定為允許所述調(diào)試處理。
這樣,即便假設(shè)所述驗證值因某非法部件而被暴露,也由于使用規(guī)定 的運算與比較值執(zhí)行所述判定,所以難以從所述驗證值得到允許調(diào)試處理 的調(diào)試處理部的識別符。即,根據(jù)上述構(gòu)成,可提高程序的保護強度。
該數(shù)據(jù)處理裝置具體地也可通過下述構(gòu)成實現(xiàn),即,所述數(shù)據(jù)處理裝 置具有具備防止從外部非法訪問的機構(gòu)的安全域,所述數(shù)據(jù)處理裝置具備 通常模式與安全模式作為動作模式,切換所述通常模式與所述安全模式而 動作,僅在所述安全模式時使用所述安全域而動作,所述數(shù)據(jù)處理裝置還 具備切換部,該切換部切換所述通常模式與所述安全模式,在所述通常模 式下動作的程序,通過經(jīng)由所述切換部將規(guī)定的處理請求通知給在所述安 全模式下動作的程序,從而能訪問在所述安全模式下動作的程序,所述調(diào) 試對象程序存儲在所述安全域中,所述第2取得部件在所述安全域中,從 所述調(diào)試對象程序執(zhí)行所述驗證值的所述取得,所述判定部件在所述安全 域中執(zhí)行所述判定。
根據(jù)上述構(gòu)成,所述調(diào)試對象程序存儲在安全域中,另外,所述驗證
13值由所述第2取得部件在安全域中取得。
因此,所述驗證值在數(shù)據(jù)處理裝置取得其的過程中,難以被利害關(guān)系 人員或非法者等任何人知道。因此,非法者等即便獲得程序,也難以確定 具有可執(zhí)行程序的調(diào)試處理的識別符的調(diào)試處理部,所以可減小非法調(diào)試 程序的可能性。另外,由于程序中包含所述驗證值,所以也不必將用于控 制可否調(diào)試的信息事先存儲在數(shù)據(jù)處理裝置中。
在該構(gòu)成中,也可以是,所述調(diào)試處理部在所述安全域之外在所述通 常模式下動作,所述數(shù)據(jù)處理裝置還具備在所述安全模式下執(zhí)行調(diào)試處理 的安全調(diào)試器,所述安全調(diào)試器包含于所述安全域中,所述調(diào)試處理部輸 出所述調(diào)試對象程序的調(diào)試處理請求,所述控制部件,在所述調(diào)試處理部 輸出所述調(diào)試處理請求時,使所述判定部件執(zhí)行所述判定,當(dāng)判定為不允 許時,禁止所述安全調(diào)試器對涉及所述調(diào)試處理請求的所述調(diào)試對象程序 進行調(diào)試處理。
根據(jù)上述構(gòu)成,由于具備在通常模式下動作的調(diào)試處理部、和在安全 模式下動作的安全調(diào)試器,所以即便調(diào)試處理部被非法地篡改等,也不影 響安全調(diào)試器,可防止對在安全模式下動作的程序的非法解析。
另外,該構(gòu)成中,也可以是,所述調(diào)試對象程序的所述規(guī)定部分中, 包含表示對于構(gòu)成所述調(diào)試對象程序的各部分允許或不允許訪問的訪問控 制列表,所述第2取得部件包含訪問控制列表取得部,該訪問控制列表取 得部取得所述調(diào)試對象程序的所述規(guī)定部分中包含的所述訪問控制列表, 所述數(shù)據(jù)處理裝置還具備訪問判定部件,該訪問判定部件根據(jù)所述取得的 所述訪問控制列表,判定是否允許訪問所述調(diào)試對象程序的所述一部分, 所述訪問判定部件在所述安全域中執(zhí)行所述判定,所述控制部件,對于所 述調(diào)試處理部輸出的所述調(diào)試處理請求所涉及的所述調(diào)試對象程序,在所 述判定部件判定為允許、且所述訪問判定部件判定為不允許的情況下,禁 止所述安全調(diào)試器執(zhí)行所述一部分的所述調(diào)試處理,在所述判定部件判定 為允許、且所述訪問判定部件判定為允許的情況下,使所述安全調(diào)試器執(zhí) 行所述一部分的調(diào)試處理。
由此,程序的權(quán)利者可使得該程序中包含想保密的信息的部分不被調(diào)
試o另外,在程序協(xié)同動作的情況下,也可如下構(gòu)成。
艮P,所述調(diào)試處理部具有對所述通常程序和與所述通常程序協(xié)同的所 述調(diào)試對象程序執(zhí)行調(diào)試處理的功能,所述調(diào)試處理部進行的所述調(diào)試對 象程序的調(diào)試處理,通過所述調(diào)試處理部輸出調(diào)試處理請求、并且所述調(diào) 試處理部經(jīng)所述切換部受理由所述安全調(diào)試器對所輸出的所述調(diào)試處理請 求執(zhí)行的調(diào)試處理的結(jié)果來執(zhí)行。
由此,無論協(xié)同動作的程序是在通常模式下動作的程序還是在安全模 式下動作的程序,均可由在通常模式下動作的調(diào)試處理部同時執(zhí)行調(diào)試處 理,所以可高效地開發(fā)協(xié)同動作的程序。
但是,由于不能從在通常模式下動作的程序直接訪問在安全模式下動 作的程序,所以在安全模式下以通常模式動作的調(diào)試處理部不知從何時起 在安全模式下調(diào)試對象程序動作。因此,對程序的開發(fā)者來說,難以調(diào)試 在安全模式下動作的調(diào)試對象程序。
因此,也可以是,所述調(diào)試處理部輸出識別該調(diào)試處理部所附著的通 常程序的處理識別符,所述安全調(diào)試器,將位于與從所述調(diào)試處理部輸出 的所述處理識別符所示的通常程序協(xié)同動作的調(diào)試對象程序的入口點的命 令,變更為斷開命令。
由此,若調(diào)試對象程序開始動作,則利用中斷命令暫時中止動作,所 以可對程序的開發(fā)者執(zhí)行調(diào)試處理執(zhí)行用的設(shè)定等。
另外,也可以是,所述數(shù)據(jù)處理裝置,當(dāng)在所述安全模式下在執(zhí)行所 述調(diào)試對象程序過程中檢測出調(diào)試例外時,經(jīng)所述切換部向所述調(diào)試處理 部通知調(diào)試例外的發(fā)生,所述調(diào)試處理部,當(dāng)從所述切換部受理所述調(diào)試 例外的發(fā)生通知時,輸出表示調(diào)試處理的執(zhí)行結(jié)果的調(diào)試信息的取得請求, 所述安全調(diào)試器,當(dāng)所述判定部件對于所述調(diào)試對象程序做出肯定的判定 時,若受理所述調(diào)試信息的取得請求,則執(zhí)行所述調(diào)試對象程序的調(diào)試處 理,取得調(diào)試信息,經(jīng)所述切換部將取得的調(diào)試信息輸出到所述調(diào)試處理 部。
由此,程序的開發(fā)者若允許調(diào)試處理,則可知道對安全模式下動作的 程序的調(diào)試處理的結(jié)果。
另外,也可以是,所述數(shù)據(jù)處理裝置還具備第1結(jié)果顯示部,將所述通常程序的調(diào)試處理的結(jié)果顯示于第1顯示區(qū)域;和第2結(jié)果顯示部, 將與所述通常程序的協(xié)同所涉及的調(diào)試對象程序的調(diào)試處理的結(jié)果,顯示 于與所述第1顯示區(qū)域不同的第2顯示區(qū)域,所述第1和第2結(jié)果顯示部, 在所述協(xié)同所涉及的調(diào)試對象程序與所述通常程序協(xié)同動作時,在所述第1 顯示區(qū)域和所述第2顯示區(qū)域中,顯示所述調(diào)試對象程序與所述通常程序 的調(diào)試處理的結(jié)果。
由此,程序的開發(fā)者可在確認通常程序與調(diào)試對象程序雙方的動作的 同時,進行調(diào)試。
另外,也可以是,在所述通常模式下,通常OS動作,在所述安全模式 下,保護OS動作,所述通常程序作為所述通常OS生成的處理,在所述通 常模式下動作,所述調(diào)試處理部作為在所述通常OS中動作的調(diào)試器,在所 述通常模式下動作,所述調(diào)試對象程序作為所述保護OS生成的處理,在所 述安全模式下動作,所述安全調(diào)試器被實現(xiàn)為所述保護OS具有的功能。
另外,也可以是,所述控制部件,當(dāng)所述調(diào)試處理部輸出所述調(diào)試處 理請求時,使所述判定部件執(zhí)行所述判定,當(dāng)判定為不允許時,向所述調(diào) 試處理部輸出表示禁止執(zhí)行所述調(diào)試處理的不可調(diào)試處理通知。
由此,使用調(diào)試處理部進行調(diào)試的用戶,在不允許調(diào)試對象程序的調(diào) 試的情況下,可知道該情況。
另外,上述程序可如下生成。
艮P, 一種程序生成裝置,其特征在于具備程序取得部件,取得包 含應(yīng)保密的保護信息的程序;驗證值生成部件,生成用于按照調(diào)試處理部 的識別符判定是否允許對所取得的所述程序的調(diào)試處理的驗證值;和保護 程序生成部件,向所述程序附加所述驗證值生成部件對所述程序生成的驗 證值,生成保護程序。
這里,也可以是,所述程序生成裝置還包含訪問控制列表取得部,該 控制列表取得部取得表示對于構(gòu)成所述程序的各部分允許或不允許訪問的 訪問控制列表,所述保護程序生成部件包含訪問控制列表附加部,該訪問 控制列表附加部將所述取得的訪問控制列表附加于所述程序。
根據(jù)該構(gòu)成,由于程序的開發(fā)者自身使所述驗證值包含于程序中,所 以可如開發(fā)者希望的那樣,控制程序的調(diào)試處理的執(zhí)行。另外,本發(fā)明是一種數(shù)據(jù)處理方法,控制調(diào)試處理部的調(diào)試處理的執(zhí) 行,其特征在于包含第1取得步驟,取得識別所述調(diào)試處理部的識別 符;第2取得步驟,取得處于被保護不受非法訪問的狀態(tài)下的調(diào)試對象程 序的規(guī)定部分中包含的驗證值;判定步驟,對從所述調(diào)試對象程序取得的 所述驗證值與在所述第1取得步驟中取得的所述識別符進行比較,按照該 比較結(jié)果,判定是否允許對所述調(diào)試對象程序的調(diào)試處理;和控制步驟, 當(dāng)判定為不允許時,禁止對所述調(diào)試對象程序執(zhí)行調(diào)試處理。
另外,本發(fā)明是一種計算機可讀取的控制程序,在數(shù)據(jù)處理裝置中執(zhí) 行,該數(shù)據(jù)處理裝置控制調(diào)試處理部的調(diào)試處理的執(zhí)行,其特征在于包 含第1取得步驟,取得識別所述調(diào)試處理部的識別符;第2取得步驟, 取得處于被保護不受非法訪問的狀態(tài)下的調(diào)試對象程序的規(guī)定部分中包含 的驗證值;判定步驟,對從所述調(diào)試對象程序取得的所述驗證值與在所述 第1取得步驟中取得的所述識別符進行比較,按照該比較結(jié)果,判定是否 允許對所述調(diào)試對象程序的調(diào)試處理;和控制步驟,當(dāng)判定為不允許時, 禁止對所述調(diào)試對象程序執(zhí)行調(diào)試處理。
另外,本發(fā)明是一種集成電路,用于數(shù)據(jù)處理裝置,該數(shù)據(jù)處理裝置 控制調(diào)試處理部的調(diào)試處理的執(zhí)行,其特征在于具備第1取得部,取 得識別所述調(diào)試處理部的識別符;第2取得部,取得處于被保護不受非法 訪問的狀態(tài)下的調(diào)試對象程序的規(guī)定部分中包含的驗證值;判定部,對從 所述調(diào)試對象程序取得的所述驗證值與由所述第1取得部取得的所述識別 符進行比較,按照該比較結(jié)果,判定是否允許對所述調(diào)試對象程序的調(diào)試 處理;和控制部,當(dāng)判定為不允許時,禁止對所述調(diào)試對象程序執(zhí)行調(diào)試 處理。
另外,本發(fā)明是一種程序生成方法,其特征在于包含程序取得步 驟,取得包含應(yīng)保密的保護信息的程序;驗證值生成步驟,生成用于按照 調(diào)試處理部的識別符判定是否允許對所取得的所述程序的調(diào)試處理的驗證 值;和保護程序生成步驟,向所述程序附加所述驗證值生成步驟中對所述 程序生成的驗證值,生成保護程序。
另外,本發(fā)明是一種計算機可讀取的控制程序,用于使程序生成裝置 執(zhí)行生成程序的處理,其特征在于包含程序取得步驟,取得包含應(yīng)保密的保護信息的程序;驗證值生成步驟,生成用于按照調(diào)試處理部的識別 符判定是否允許對所取得的所述程序的調(diào)試處理的驗證值;和保護程序生 成步驟,向所述程序附加所述驗證值生成步驟中對所述程序生成的驗證值, 生成保護程序。
另外,本發(fā)明是一種集成電路,用于生成程序的程序生成裝置,其特 征在于包含程序取得部,取得包含應(yīng)保密的保護信息的程序;驗證值 生成部,生成用于按照調(diào)試處理部的識別符判定是否允許對所取得的所述 程序的調(diào)試處理的驗證值;和保護程序生成部,向所述程序附加所述驗證 值生成部對所述程序生成的驗證值,生成保護程序。


圖1是本發(fā)明實施方式1的數(shù)據(jù)處理裝置1的示意圖。
圖2是調(diào)試功能7的詳細框圖。
圖3是調(diào)試器ID判定部22的詳細框圖。
圖4是切換設(shè)備驅(qū)動器13的框圖。
圖5是表示加密后的保護程序73的圖。
圖6是表示訪問判定部23取得的訪問控制列表53的數(shù)據(jù)構(gòu)造一例的圖。
圖7是表示調(diào)試功能7的動作圖。
圖8是本發(fā)明實施方式1的不執(zhí)行調(diào)試時的通常程序12和保護程序8 的執(zhí)行的流程圖。
圖9是表示通常程序12需要執(zhí)行保護程序8的功能時的動作的流程圖。 圖10是表示通常程序12a結(jié)束保護程序8a的使用時的動作的流程圖。 圖11是表示調(diào)試器14執(zhí)行對通常程序12與保護程序8的調(diào)試處理用
的預(yù)處理的流程圖。
圖12是在保護程序8a執(zhí)行中發(fā)生基于斷點的調(diào)試例外、并使用調(diào)試
器14對保護程序8a執(zhí)行調(diào)試處理時的流程圖。
圖13是說明本發(fā)明的保護程序8的生成方法用的圖。 圖14是保護程序生成裝置72的構(gòu)成圖。
圖15是表示保護程序生成裝置72生成加密化的保護程序73的處理的流程圖。
圖16是說明調(diào)試器ID管理服務(wù)器執(zhí)行的調(diào)試器ID的管理方法的圖。 圖17是表示調(diào)試器ID管理服務(wù)器81用于調(diào)試器ID管理的調(diào)試器ID
管理文件90的數(shù)據(jù)構(gòu)造的圖。
圖18是表示用于顯示程序的動作信息的圖形用戶界面(GUI)的圖。 圖19是本發(fā)明實施方式5的基于字符的用戶界面(CUI)的顯示方法的說明圖。
符號說明
1數(shù)據(jù)處理裝置
2LSI
3切換機構(gòu)
6保護OS
7調(diào)試功能
8保護程序
11通常OS
12通常程序
13切換設(shè)備驅(qū)動器
14調(diào)試器
15調(diào)試器用切換設(shè)備驅(qū)動器
21控制部
22調(diào)試器ID判定部
23訪問判定部
24安全調(diào)試器
25調(diào)試信息取得部
26斷點設(shè)定部
27寄存器值取得設(shè)定部
28存儲器值取得設(shè)定部
31調(diào)試器ID比較部
32調(diào)試器ID運算部
33比較值保持部
1941切換操作部
42請求分配部
43通常請求受理部
44調(diào)試請求受理部
51保護程序主體
52允許調(diào)試器ID信息
53訪問控制列表
54解密用頭信息
60訪問控制列表
61開始地址
62結(jié)束地址
63訪問允許信息
64符號名
65訪問允許信息
71保護程序源代碼
72保護程序生成裝置
73加密的保護程序
74允許調(diào)試器ID存儲文件
75訪問控制列表存儲文件
76秘密信息區(qū)域存儲文件
77編譯器
78連接程序
79保護程序化工具
81調(diào)試器ID管理服務(wù)器
82保護程序開發(fā)裝置
83保護程序解析裝置
90調(diào)試器ID管理文件
91 管理序號
92調(diào)試器ID
93保護程序的開發(fā)者名94聯(lián)絡(luò)地址
150 GUI
151 代碼顯示部 152寄存器顯示部 153存儲器顯示部 154符號顯示部 155觀察點顯示部 156調(diào)用堆棧顯示部 157 窗口標題顯示部 158菜單顯示部
159模式顯示部 160通常程序用調(diào)試窗口 161保護程序用調(diào)試窗口
170 CUI
171調(diào)試處理結(jié)果的顯示例
具體實施例方式
下面,參照附圖來說明本發(fā)明的一實施方式。 1實施方式l
圖1是本發(fā)明實施方式1的數(shù)據(jù)處理裝置1的示意圖。數(shù)據(jù)處理裝置1 由具有保護機構(gòu)的LSI2與切換機構(gòu)3、保護OS6、調(diào)試功能7、保護程序 8(8a、 8b、..)、通常OSll、通常程序12(12a、 12b、..)、切換設(shè)備驅(qū)動器13(下 面稱為'切換設(shè)備驅(qū)動器13')、調(diào)試器14、調(diào)試器用切換設(shè)備驅(qū)動器15(下 面稱為^調(diào)試器用切換設(shè)備驅(qū)動器15')構(gòu)成。
1.1實施方式l中的各功能塊的說明
l丄l LSI2
圖1中,LSI2搭載用于保護程序不被非法解析或篡改的機構(gòu)、即保護 機構(gòu)。保護機構(gòu)具有防止從外部非法訪問的硬件機構(gòu)。作為保護機構(gòu)的具 體實例,例如暫時截斷從外部訪問等。
LSI2具備保護模式(或也可稱為'安全模式')與通常模式,作為動作
21模式,切換保護模式與通常模式來動作。動作模式的切換使用后述的切換
機構(gòu)3來執(zhí)行。
所謂保護模式是由保護機構(gòu)保護程序不被非法解析或篡改的特殊模 式,保護OS6或保護程序8動作。另一方面,所謂通常模式是不由保護機 構(gòu)保護程序的一般模式,通常OS11或通常程序12動作。
保護0S6使用切換機構(gòu)3來執(zhí)行從保護模式到通常模式的切換。位于 通常OS11中的切換設(shè)備驅(qū)動器13等使用切換機構(gòu)3來執(zhí)行從通常模式到 保護模式的切換。
l丄2切換機構(gòu)3
切換機構(gòu)3具有受理來自保護OS6或通常OS11的動作模式切換指示、 執(zhí)行動作模式切換所需的處理用的硬件機構(gòu)。動作模式的切換處理例如可 適用非專利文獻1中記載的技術(shù)。
此時,切換機構(gòu)3無論在通常模式還是在保護模式下均動作,具有通 常模式和保護模式均可訪問的存儲區(qū)域。在通常模式下LSI2動作的情況下, 使從通常模式下動作的通常程序12向保護模式下動作的保護程序8的請求 等暫時存儲在上述存儲區(qū)域中。在切換了動作模式之后,保護OS6或保護 程序8讀出所述存儲的信息,由此實現(xiàn)通常模式下動作的程序與保護模式 下動作的程序間的通信。
1.1.3 保護OS6
保護OS6是LSI2為保護模式時的、控制數(shù)據(jù)處理裝置1的動作的OS。 保護OS6執(zhí)行在保護模式下動作的保護程序8的管理(處理管理)或資 源管理、使用存儲器管理單元(MMU)的保護程序間的訪問控制、中斷處理、 使用切換機構(gòu)3的向通常模式的切換處理、為了調(diào)試保護程序而使用調(diào)試 功能7的調(diào)試處理等。 l丄4調(diào)試功能7
調(diào)試功能7在調(diào)試器14執(zhí)行對保護程序8的調(diào)試處理時,控制該調(diào)試 處理的執(zhí)行。
艮P,當(dāng)調(diào)試器4調(diào)試保護程序8時,調(diào)試功能7判定是否允許調(diào)試器 14調(diào)試保護程序8。在判定的結(jié)果為允許的情況下,根據(jù)來自調(diào)試器14的 請求,對保護程序8執(zhí)行調(diào)試信息的取得或斷點(breakpoint)的設(shè)定、寄存器值或存儲器值的取得、設(shè)定等處理。所謂調(diào)試信息是程序調(diào)試用的信息,
表示目標文件中的程序代碼與源代碼的對應(yīng)關(guān)系等。另外,調(diào)試功能7使 用停止標志(flag),執(zhí)行保護程序8的調(diào)試處理的預(yù)處理。調(diào)試功能7的細 節(jié)如后所述。
l丄5保護程序8
保護程序8是包含必需保護不被非法解析或篡改的信息(下面稱為秘密 信息)的應(yīng)用程序。
作為秘密信息的實例,有用于對加密的數(shù)字內(nèi)容進行解密的解密密鑰 或解密算法、存儲涉及再現(xiàn)或拷貝的權(quán)利的權(quán)利信息等。另外,為了防止 非法解析,保護程序8在開始執(zhí)行之前以加密的狀態(tài)被保持,在開始執(zhí)行 時由保護OS6解密。
L1.5.1保護程序8的補充
保護程序8在開始執(zhí)行之前,如圖5所示的加密的保護程序73那樣, 以加密的狀態(tài)被保持。
如圖5所示,加密的保護程序73由保護程序主體51、允許調(diào)試器ID 信息52、訪問控制列表53、解密用頭信息54構(gòu)成。當(dāng)使用解密用頭信息 54對加密的保護程序73進行解密時,得到保護程序8。保護程序8由保護 程序主體51、允許調(diào)試器ID信息52、和訪問控制列表53構(gòu)成。
1丄5.2保護程序主體51
保護程序主體51是程序的執(zhí)行代碼。
U.5.3 允許調(diào)試器ID信息52
允許調(diào)試器ID信息52是用于判定是否允許對保護程序8的調(diào)試處理 的驗證值。在本實施方式中,設(shè)所謂允許調(diào)試器ID信息52表示允許對保 護程序8的調(diào)試處理的調(diào)試器的識別符(調(diào)試器ID)。即,具有與允許調(diào)試 器ID信息52所示的值相同的調(diào)試器ID的調(diào)試器,能夠執(zhí)行對保護程序8 的調(diào)試處理。當(dāng)調(diào)試功能7執(zhí)行上述判定時,使用該允許調(diào)試器ID信息52。
L1.5.4訪問控制列表53
訪問控制列表53是表示是否允許對保護程序8的規(guī)定區(qū)域進行訪問的 列表。所謂訪問控制列表53主要是將構(gòu)成保護程序8的各部分分別與是否 允許訪問相對應(yīng)的列表。訪問控制列表53的細節(jié)如后所述。1丄5.5解密用頭信息54
解密用頭信息54表示加密的保護程序73的解密所需的信息。例如, 解密用頭信息54中包含加密中所用的算法、或?qū)⒈Wo程序8加載到存儲器 的地址等。在加密的算法中,附加解密所需的信息并執(zhí)行程序解密的技術(shù) 以往己被公知,不是本發(fā)明的主要構(gòu)成要件,所以省略詳細說明。
1丄5.6各數(shù)據(jù)的配置
保護程序8中、允許調(diào)試ID信息52或訪問控制列表53或保護程序主 體51可任意配置。具體而言,也可將如何配置允許調(diào)試器ID信息52等信 息,作為頭信息等信息,附加于程序。
另外,也可事先定義包含于保護程序的哪個部分中,根據(jù)該定義,數(shù) 據(jù)處理裝置1的調(diào)試功能7讀出允許調(diào)試器ID信息52。例如,事先定義表 示允許調(diào)試ID信息52的比特數(shù)(或字節(jié)數(shù))、與表示訪問控制列表53的比 特數(shù),將從保護程序8的開頭起、到規(guī)定比特為止,設(shè)為允許調(diào)試ID信息 52,將從規(guī)定比特其到后續(xù)的規(guī)定比特為止,設(shè)為訪問控制列表53。
在存在多個由允許調(diào)試器ID信息52與訪問控制列表53構(gòu)成的組的情 況下,也可在保護程序的開頭包含表示有幾個這些組的信息。
另外,也可在解密用頭信息54中包含在保護程序8內(nèi)如何配置這些允 許調(diào)試器ID信息52等。調(diào)試功能7通過讀取表示這些允許調(diào)試器ID信息 52等在保護程序8中所占位置的信息等,可取得允許調(diào)試器ID信息52或 訪問控制列表53。
保護程序8的細節(jié)在實施方式2中與其生成方法一起詳細說明。
1.1.6通常OSll
通常OS 11是LSI2為通常模式時的、控制數(shù)據(jù)處理裝置1的動作的OS。 艮P,通常OSll在通常模式下動作時,執(zhí)行在通常模式下動作的通常程 序12的管理(處理管理)或資源管理、中斷處理等。 l丄7切換設(shè)備驅(qū)動器13
切換設(shè)備驅(qū)動器13作為通常OS11的設(shè)備驅(qū)動器動作,當(dāng)通常程序12 執(zhí)行與保護程序8的通信時使用。雖然如后所述,但在調(diào)試器14執(zhí)行與調(diào) 試功能7的通信時,利用調(diào)試器用切換設(shè)備驅(qū)動器15。
具體而言,切換設(shè)備驅(qū)動器13執(zhí)行通常程序12與保護程序8之間的
24通信數(shù)據(jù)的傳遞處理、和從通常模式向保護模式的切換處理。所謂通信數(shù)
據(jù)的傳遞處理主要是受理通常程序12輸出的數(shù)據(jù),經(jīng)由切換機構(gòu)3,輸出 到保護程序8,以及,經(jīng)由切換機構(gòu)3,取得從保護程序8輸出的數(shù)據(jù),將 取得的數(shù)據(jù)輸出到通常程序12的處理。
切換設(shè)備驅(qū)動器13的細節(jié)如后所述。
l丄8調(diào)試器用切換設(shè)備驅(qū)動器15
調(diào)試器用切換設(shè)備驅(qū)動器15作為通常OS11的設(shè)備驅(qū)動器動作,當(dāng)調(diào) 試器14執(zhí)行與調(diào)試功能7的通信時使用。
調(diào)試器用切換設(shè)備驅(qū)動器15執(zhí)行調(diào)試器14與調(diào)試功能7的通信數(shù)據(jù) 的傳遞處理、和從通常模式向保護模式的切換處理。
1.1.9通常程序12
通常程序12(12a、 12b、..)是在通常OSll上動作的應(yīng)用程序。 通常程序12利用切換設(shè)備驅(qū)動器13與在保護模式下動作的保護程序8 執(zhí)行通信,與保護程序8協(xié)同動作。 U.10調(diào)試器14
調(diào)試器14具有對通常程序12執(zhí)行調(diào)試處理的功能、和對保護程序8 執(zhí)行調(diào)試處理的功能。調(diào)試器14具有作為用于識別自身的識別符的調(diào)試器 ID。當(dāng)調(diào)試功能7判定是否允許調(diào)試時,使用該調(diào)試器ID。另外,調(diào)試器 14的調(diào)試器ID的管理等在實施方式3中詳細說明。
調(diào)試器14調(diào)試通常程序12的功能例如通過與Linux(注冊商標)中使用 的GDB等應(yīng)用程序調(diào)試器一樣的功能來實現(xiàn)。
另外,所謂對保護程序8執(zhí)行調(diào)試處理的功能是如下功能,即,調(diào)試 器14經(jīng)調(diào)試器用切換設(shè)備驅(qū)動器15與保護OS6的調(diào)試功能7通信,調(diào)試 功能7對保護程序8執(zhí)行調(diào)試信息的取得或斷點的設(shè)定、寄存器值或存儲 器值的取得、設(shè)定等調(diào)試處理,受理該調(diào)試處理的結(jié)果。
在下面的說明中,調(diào)試器14與通常模式下動作的通常程序12連接 (attach),對所連接的通常程序(例如通常程序12a)和與該通常程序協(xié)同動作 的保護程序(例如保護程序8a)執(zhí)行調(diào)試處理。
本實施方式1的調(diào)試器14為在通常OS11上動作的應(yīng)用程序調(diào)試器, 但不限于此,例如也可以是在Linux(注冊商標)中使用的KGDB等內(nèi)核模式調(diào)試器,可執(zhí)行通常模式或保護模式下動作的設(shè)備驅(qū)動器的調(diào)試。
1.2調(diào)試功能7的詳細說明
下面,說明<1丄4調(diào)試功能7,中說明的調(diào)試功能7的細節(jié)。 圖2是調(diào)試功能7的詳細框圖。調(diào)試功能7具有控制部21、調(diào)試器id 判定部22、訪問判定部23、安全調(diào)試器24。安全調(diào)試器24具有調(diào)試信息 取得部25、斷點設(shè)定部26、寄存器值取得設(shè)定部27、存儲器值取得設(shè)定部 28。
如'1丄5保護程序8'中所述,保護程序8中包含允許調(diào)試器id信 息52與訪問控制列表53,如'i丄io調(diào)試器14,中所述,調(diào)試器14具 有調(diào)試器id。
在下面的調(diào)試功能7的說明中,對于調(diào)試對象的保護程序,不將哪個 程序特定為調(diào)試對象,統(tǒng)稱為調(diào)試對象的保護程序8來進行說明。 1.2.1 調(diào)試器id判定部22
圖2中,調(diào)試器id判定部22判定是否允許調(diào)試器14對調(diào)試對象的保 護程序8執(zhí)行調(diào)試處理。
艮P,調(diào)試器id判定部22取得調(diào)試器14具有的調(diào)試器id、和調(diào)試對象 的保護程序8中包含的允許調(diào)試器id信息52。比較取得的調(diào)試器id與允 許調(diào)試器id信息52。按照該比較結(jié)果,執(zhí)行是否允許調(diào)試器14執(zhí)行調(diào)試 對象的保護程序8的調(diào)試(即由調(diào)試器14對調(diào)試對象的保護程序執(zhí)行調(diào)試處 理)的判定。
1.2.1.1調(diào)試器id判定部22的詳細說明
圖3是調(diào)試器id判定部22的詳細框圖。
如圖3所示,調(diào)試器id判定部22具有調(diào)試器id比較部31、與調(diào)試器 id運算部32、比較值保持部33。調(diào)試器id判定部22判定調(diào)試器14的調(diào) 試器id與調(diào)試對象的保護程序8中包含的允許調(diào)試器id信息52所示的值 是否一致。
具體而言,如圖3所示,調(diào)試器id運算部32受理調(diào)試器14的調(diào)試器 id與調(diào)試對象的保護程序8中包含的允許調(diào)試器id信息52。從調(diào)試器id 中減去允許調(diào)試器id信息52所示的值。將減法的結(jié)果作為運算結(jié)果,輸 出到調(diào)試器id比較部31。調(diào)試器ID比較部31比較調(diào)試器ID運算部32的運算結(jié)果與比較值保 持部33保持的比較值,在一致的情況下,將'可調(diào)試'通知給控制部21, 在不一致的情況下,將'不可調(diào)試'通知給控制部21。比較值保持部33保 持"0",作為用于與調(diào)試器ID運算部32的運算結(jié)果比較的比較值。
1.2丄2調(diào)試器ID判定部22的補充說明
本實施方式1的調(diào)試器ID判定部22判定調(diào)試器14的調(diào)試器ID與調(diào) 試對象的保護程序8中包含的允許調(diào)試器ID信息52所示的值是否一致, 但不限于判定調(diào)試器ID的一致。即,調(diào)試器ID運算部32除減法之外,也 可執(zhí)行乘法或加密解密運算。另外,比較值保持部33也可保持"0"以外 的值。
主要是,調(diào)試器ID判定部22將調(diào)試器14的識別符與調(diào)試對象的保護 程序8中包含的驗證值作為運算符,執(zhí)行規(guī)定的運算,若其結(jié)果與比較值 保持部33保持的比較值一致,則判定為'可調(diào)試',若不一致,則判定為 '不可調(diào)試'。
另外,也可以是在未圖示的調(diào)試器ID保持部中事先保持保護程序8的 允許調(diào)試器ID信息52所示的值,調(diào)試器ID判定部22比較從調(diào)試器14受 理到的調(diào)試器14的調(diào)試器ID與調(diào)試器ID保持部中保持的值。此時,調(diào)試 器ID運算部32不特別執(zhí)行運算。
1.2.2訪問判定部23
返回圖2繼續(xù)說明。
訪問判定部23在調(diào)試器14對調(diào)試對象的保護程序8的規(guī)定區(qū)域請求 訪問的情況下,判定是否允許該訪問。
艮P,訪問判定部23從調(diào)試對象的保護程序8取得訪問控制列表53,根 據(jù)取得的訪問控制列表53,判定是否允許調(diào)試器14訪問要訪問的區(qū)域。
1.2.2.1訪問控制列表53的詳細說明
這里,說明訪問控制列表53的細節(jié)。
圖6是表示訪問判定部23取得的訪問控制列表53的數(shù)據(jù)構(gòu)造一例的圖。
訪問控制列表53由執(zhí)行訪問控制的區(qū)域、和涉及該區(qū)域的訪問允許信 息兩個部分構(gòu)成。在下面的說明中,說明以存儲器地址執(zhí)行訪問控制時的
27訪問控制列表53a、與利用符號執(zhí)行訪問控制時的訪問控制列表53b。所謂 符號(symbol)是識別程序中包含的變量或函數(shù)等的識別符。 1.2.2.2由存儲器地址執(zhí)行訪問控制的情況
圖6(a)是由存儲器地址指定執(zhí)行訪問控制的區(qū)域時的訪問控制列表53a 的數(shù)據(jù)構(gòu)造,執(zhí)行訪問控制的區(qū)域由開始地址與結(jié)束地址指定。
如圖6(a)所示,訪問控制列表53a的1條記錄包含開始地址61a、結(jié)束 地址62a與訪問允許信息63a。
開始地址61a與結(jié)束地址62a表示執(zhí)行訪問控制的存儲器區(qū)域的開始地 址與結(jié)束地址。
訪問允許信息63a表示是否允許對訪問開始地址61a與結(jié)束地址62a 所示的存儲器區(qū)域進行訪問。在允許的情況下,例如以1比特的信息表示 '可訪問',在不允許的情況下,例如以l比特的信息表示'不可訪問'。 訪問控制列表53a中包含多個由開始地址61a和結(jié)束地址62a所表示的存儲 器區(qū)域的組,這些組的每一個中對應(yīng)存儲是否允許訪問。
在列表的開頭,將未由開始地址61a與結(jié)束地址62a所示的區(qū)域定義為 'default'(缺省)。在本實施方式中,設(shè)對'default'區(qū)域的訪問為'不可 訪問,。
另外,開始地址61a等所示的地址在本實施方式中是相對地址。巨口, 保護程序8的解密用頭信息54中示出將保護程序8加載到存儲器時的存儲 器地址,開始地址61a等示出將該存儲器地址的開頭設(shè)為0的相對地址。 當(dāng)然,開始地址61a等所示的地址也可以是存儲器的絕對地址。
1.2.2.3由存儲器地址執(zhí)行訪問控制時的動作
訪問判定部23取得訪問控制列表53a與保護程序8a的調(diào)試信息。另外, 使用保護程序8a的調(diào)試信息,將調(diào)試器14請求訪問的符號變換為地址。
訪問判定部23從列表的上方開始,順序判定變換后的地址是否包含于 訪問控制列表53a中的開始地址61a和結(jié)束地址62a所示的存儲器區(qū)域的每 個中。若判定為包含,則取得與該區(qū)域?qū)?yīng)的訪問允許信息63a,將訪問允 許信息63a所示的信息、即^可訪問'或'不可訪問'通知給控制部21。. 另外,在不包含于列表中的存儲器區(qū)域中的情況下,根據(jù)與列表開頭的 'default'對應(yīng)的訪問允許信息63a,將^可訪問'或'不可訪問,通知給控制部21。
1.2.2.4由符號執(zhí)行訪問控制的情況
圖6(b)是由符號名指定執(zhí)行訪問控制的區(qū)域時的訪問控制列表53b的
數(shù)據(jù)構(gòu)造,執(zhí)行訪問控制的區(qū)域由符號名指定。
如圖6(b)所示,訪問控制列表53b的1條記錄包含符號名64b與訪問
允許信息65b。
符號名64b表示構(gòu)成訪問控制對象的符號的名稱。
訪問允許信息65b表示是否允許訪問符號名64b所示的符號。
如圖6(b)所示,在訪問控制列表53b中,對每個符號示出是否允許訪問。
在列表的開頭,將未由符號名64b所示的符號定義為'default'。在本 實施方式中,設(shè)對'default'符號的訪問為'不可訪問'。 1.2.2.5由符號執(zhí)行訪問控制時的動作
訪問判定部23取得訪問控制列表53b。從列表的上方開始順序判定調(diào) 試器14請求訪問的符號名稱是否與訪問控制列表53b中的符號名64b所示 的符號名一致。在與列表中的符號名一致的情況下,取得該符號名所對應(yīng) 的訪問允許信息65b,將訪問允許信息65b所示的信息、即'可訪問'或'不 可訪問'通知給控制部21。在與列表中的符號名不一致的情況下,根據(jù)與 列表開頭的'default'對應(yīng)的訪問允許信息65b,將'可訪問'或'不可訪 問,通知給控制部21。
1.2.2.6補充說明
本實施方式l的訪問控制列表53a、 53b在其列表的開頭,將未由訪問 控制列表53a、 53b所示的符號作為'default',對應(yīng)于^default'存儲訪 問允許信息63a、 63b,但不限于此。
艮P,在訪問判定部23中,也可在訪問控制列表53a、 53b中未包含的 存儲器區(qū)域或符號名的情況下,始終判定為 <可訪問',或相反始終判定 為'不可訪問'。
另外,調(diào)試器14利用符號來請求訪問,但不限于符號。例如,調(diào)試器 14也可利用存儲器的地址來指定訪問的區(qū)域。
此時,在上述實例中使用了訪問控制列表53a的訪問允許判定中,執(zhí)行將從調(diào)試器14指定的符號暫時變換為地址的處理,但也可利用從調(diào)試器 14指定的地址直接判定。 1.23安全調(diào)試器24
安全調(diào)試器24對應(yīng)于來自調(diào)試器14的委托,執(zhí)行各種調(diào)試處理。
安全調(diào)試器24包含調(diào)試信息取得部25、斷點設(shè)定部26、寄存器值取 得設(shè)定部27、存儲器值取得設(shè)定部28。
作為調(diào)試處理,由調(diào)試信息取得部25執(zhí)行從調(diào)試對象的保護程序8取 得符號信息等調(diào)試信息的處理。
另外,由斷點設(shè)定部26執(zhí)行在調(diào)試對象的保護程序8中設(shè)定斷點的處理。
由寄存器值取得設(shè)定部27取得調(diào)試對象的保護程序8正使用的寄存器 值,或設(shè)定調(diào)試對象的保護程序8使用的寄存器值。
由存儲器值取得設(shè)定部28取得調(diào)試對象的保護程序8正使用的存儲器 值,或設(shè)定調(diào)試對象的保護程序8使用的存儲器值。
1.2.4控制部21
控制部21根據(jù)調(diào)試器ID判定部22與訪問判定部23的判定結(jié)果,確 認是否允許調(diào)試器14對調(diào)試對象的保護程序8執(zhí)行調(diào)試處理。
若確認的結(jié)果是允許執(zhí)行調(diào)試處理,則控制部21對應(yīng)于來自調(diào)試器14 的委托,調(diào)用安全調(diào)試器24中包含的各處理(調(diào)試信息取得部25、斷點設(shè) 定部26、寄存器值取得設(shè)定部27、存儲器值取得設(shè)定部28)。
控制部21在調(diào)試器ID判定部22判定為不允許調(diào)試器14調(diào)試處理調(diào) 試對象的保護程序8的情況下、或由訪問判定部23判定為對禁止調(diào)試器14 訪問的區(qū)域進行訪問的情況下,不處理從調(diào)試器14委托的請求。即,不調(diào) 用安全調(diào)試器24中包含的各處理。此時,為了將不調(diào)用安全調(diào)試器24中 包含的各處理這一情況通知給調(diào)試器14,也可向調(diào)試器14輸出表示不允許 執(zhí)行調(diào)試處理的不可調(diào)試處理通知。由此,調(diào)試器14可執(zhí)行向調(diào)試器14 的用戶示出不允許執(zhí)行調(diào)試處理等的處理。
如上所述,說明了使用允許調(diào)試器ID信息52與訪問控制列表53來進 行調(diào)試處理的執(zhí)行的控制,但保護程序8中包含的允許調(diào)試器ID信息52 所示的調(diào)試器ID可以是一個,也可以是多個。通過包含多個調(diào)試器ID,可允許多個開發(fā)者進行調(diào)試處理。例如,考慮多個開發(fā)者共同開發(fā)程序的情 況等。
另外,保護程序8中也可包含將允許調(diào)試器ID信息52與訪問控制列 表53對應(yīng)的多個組。
不用說,也可包含多個含有1個調(diào)試器ID的允許調(diào)試器ID信息52, 使訪問控制列表53對應(yīng)于各個允許調(diào)試器ID信息52。此時,訪問控制列 表53表示對各個允許調(diào)試器ID信息52的每個不同的訪問限制即可。由此, 可對每個調(diào)試器ID,施加不同的訪問限制。
控制部21使調(diào)試器ID判定部22對所保持的多個允許調(diào)試器ID信息 52所示的調(diào)試器ID的每個執(zhí)行判定,若存在判定為調(diào)試允許的調(diào)試器ID, 則委托訪問判定部23進行基于該調(diào)試器ID所對應(yīng)的訪問控制列表的訪問 判定。在將全部的調(diào)試器ID判定為不允許調(diào)試的情況下,不處理從調(diào)試器 14委托的請求。
1.3切換設(shè)備驅(qū)動器13的詳細說明
下面,說明"丄7切換設(shè)備驅(qū)動器13'中說明的切換設(shè)備驅(qū)動器13 的細節(jié)。
圖4是切換設(shè)備驅(qū)動器13的框圖。切換設(shè)備驅(qū)動器13具有切換操作 部41、請求分配部42、通常請求受理部43、調(diào)試請求受理部44。 1.3.1切換操作部41
切換操作部41通過保存通常模式下使用的寄存器值等,保存通常模式 下的數(shù)據(jù)處理裝置的狀態(tài),之后,使用切換機構(gòu)3,執(zhí)行從通常模式切換到 保護模式的處理。
并且,當(dāng)從保護模式切換到通常模式時,執(zhí)行所保存的狀態(tài)的恢復(fù)處 理,將來自切換時發(fā)生的保護模式的請求通知給請求分配部42。作為該請 求,有基于調(diào)試例外的調(diào)試請求、與對通常程序12的請求。
1.3.2請求分配部42
請求分配部42判斷來自保護模式的請求是基于保護模式動作中發(fā)生的 調(diào)試例外的調(diào)試請求、還是對通常程序12的請求。
在判斷的結(jié)果是調(diào)試請求的情況下,向調(diào)試請求受理部44通知調(diào)試請 求,在是對通常程序12的請求的情況下,向通常請求受理部43通知來自
31保護模式的請求。
1.33通常請求受理部43
通常請求受理部43對保護OS6或保護程序8等保護模式下動作的程序 與通常程序12之間的通信,進行中介。
艮P,將來自保護模式下動作的程序的請求通知給通常程序12,或相反, 將來自通常程序12的請求通知給保護模式下動作的程序。
1.3.4調(diào)試請求受理部44
調(diào)試請求受理部44將因保護程序8中設(shè)定的斷點而發(fā)生的調(diào)試例外, 通知給正在調(diào)試與保護程序8協(xié)同動作中的通常程序12的調(diào)試器14。
通過如上所述構(gòu)成切換設(shè)備驅(qū)動器13,可在對通常程序12與保護程序 8之間的通信進行中介的同時,將保護程序8發(fā)生的調(diào)試例外通知給適當(dāng)?shù)?調(diào)試器14。由此,可防止將保護程序8中包含的秘密信息通知給無關(guān)的調(diào) 試器而泄漏秘密信息。
1.3.5切換設(shè)備驅(qū)動器13的補充
本實施方式1的切換設(shè)備驅(qū)動器13,除切換操作部41以外,由請求分 配部42及通常請求受理部43、調(diào)試請求受理部44構(gòu)成,但不限于這種構(gòu) 成。例如,也可以是切換設(shè)備驅(qū)動器13僅由切換操作部41構(gòu)成,將請求 分配部42及通常請求受理部43、調(diào)試請求受理部44作為庫(library)包含在 通常程序12中。此時,請求分配部42及通常請求受理部43、調(diào)試請求受 理部44的動作變?yōu)閳?zhí)行在通常程序12的執(zhí)行中調(diào)用的庫。
1.4動作
下面,說明數(shù)據(jù)處理裝置1的動作。
在下面的說明中,首先,在<1.4.1調(diào)試功能7的動作,中說明也是 本發(fā)明特征的調(diào)試功能7的動作。
接著,作為整體動作,在".4.2不執(zhí)行調(diào)試處理時的動作,中說明 不執(zhí)行調(diào)試處理時的動作。即,說明通常程序12與保護程序8的協(xié)同動作。
之后,在'1.4.3 調(diào)試處理的預(yù)處理,M.4.4調(diào)試處理,中,將調(diào) 試器14對通常程序12與保護程序8執(zhí)行調(diào)試處理時的動作、與其預(yù)處理 一起加以說明。
由于保護程序8是在保護模式下動作的程序,所以在通常模式下動作
32的程序和調(diào)試器對保護程序8不能直接進行訪問。因此,安全調(diào)試器24執(zhí) 行對保護程序8的調(diào)試處理,調(diào)試器14受理其結(jié)果。
1.4.1調(diào)試功能7的動作
圖7是表示調(diào)試功能7的動作圖。
調(diào)試器ID判定部22根據(jù)調(diào)試器14的調(diào)試器ID與保護程序8的允許 調(diào)試器ID信息52,判定是否允許調(diào)試器14調(diào)試保護程序8(S101)。
控制部21根據(jù)調(diào)試器ID判定部22的判定結(jié)果,切換處理(S102)。艮P, 在調(diào)試器ID判定部22的判定結(jié)果為'不可調(diào)試'的情況下(S102:否),中 止調(diào)試處理。
在調(diào)試器ID判定部22的判定結(jié)果為'可調(diào)試'的情況下(S102:是), 訪問判定部23根據(jù)保護程序8的訪問控制列表53,判定是否允許調(diào)試器 14訪問調(diào)試器14要訪問的保護程序8的區(qū)域(S103)。
控制部21根據(jù)訪問判定部23的判定結(jié)果,切換處理(S104)。 B卩,在訪 問判定部23的判定結(jié)果為'不可訪問'的情況下(S104:否),中止調(diào)試處 理。
在訪問判定部23的判定結(jié)果為'可訪問'的情況下(S104:是),調(diào)試 功能7調(diào)用安全調(diào)試器24的各處理部(調(diào)試信息取得部25、斷點設(shè)定部26、 寄存器值取得設(shè)定部27、存儲器值取得設(shè)定部28),執(zhí)行處理(S105)。
1.4.2不執(zhí)行調(diào)試處理時的動作
圖8是本發(fā)明實施方式1的不執(zhí)行調(diào)試時的通常程序12和保護程序8 的執(zhí)行的流程圖。
1.4.2.1保護程序8的加載處理
首先,說明保護程序8的加載處理。下面,設(shè)通常程序12與保護程序 8協(xié)同動作。通常程序12經(jīng)由作為通常0S11的設(shè)備驅(qū)動器的切換設(shè)備驅(qū) 動器13與保護OS3,調(diào)用保護程序8。在下面的說明中,以通常程序12a 與保護程序8a協(xié)同動作的情況為例進行說明。通常程序12b動作的情況或 保護程序8b協(xié)同動作的情況也一樣。
如圖8所示,首先,啟動通常程序12a。啟動的通常程序12a作為用于 將動作模式切換到保護模式的預(yù)處理,對切換設(shè)備驅(qū)動器13進行open(打 幵)(步驟S201)。所謂open是指切換設(shè)備驅(qū)動器13處于可與保護OS6等保護模式下動作的處理進行通信的狀態(tài)。
通常程序12a為了使保護程序8a動作,指定加密的保護程序,經(jīng)由切 換設(shè)備驅(qū)動器13,將使涉及該指定的加密后的保護程序加載到存儲器的請 求,通知給保護OS6(步驟S202)。這里,若對加密過的保護程序進行解密, 則生成保護程序8a。
保護OS6受理加密的保護程序的加載請求,從加密的保護程序的解密 用頭信息中,取得加載所需的信息(步驟S203)。在加載所需的信息中,包 含加密的保護程序中包含的保護程序主體的加載目的地地址等、加密的保 護程序解密所需的信息等。
保護OS6根據(jù)涉及取得的、加載所需的信息,對加密的保護程序進行 解密。將利用解密得到的保護程序8a加載到以保護模式管理著的存儲器區(qū) 域(步驟S204),變?yōu)榭蓤?zhí)行保護程序8a的狀態(tài)。
若變?yōu)榭蓤?zhí)行保護程序8a的狀態(tài),則經(jīng)由切換設(shè)備驅(qū)動器13,從保護 OS6返回到通常程序12a(步驟S205)。即,向通常程序12a移交處理的執(zhí)行 權(quán),重新開始執(zhí)行通常程序12a。
1.4.2.2保護程序8的執(zhí)行
接著,說明當(dāng)通常OSll中執(zhí)行通常程序12a時,通常程序12a需要執(zhí) 行保護程序8a具有的功能時的處理。
圖9是表示通常程序12需要執(zhí)行保護程序8的功能時的動作的流程圖。
在圖9所示的處理說明中,設(shè)己執(zhí)行上述圖8所示的處理,處于可執(zhí) 行保護程序8的狀態(tài)。
通常程序12a經(jīng)由切換設(shè)備驅(qū)動器13,將保護程序8a的執(zhí)行的請求通 知給保護OS6(步驟S206)。上述執(zhí)行的請求中示出保護程序8a應(yīng)執(zhí)行的命 令或處理。
保護OS6受理保護程序8a的執(zhí)行的請求,執(zhí)行保護程序8a,執(zhí)行對 應(yīng)于所述執(zhí)行請求的處理(步驟S207)。
若保護程序8a結(jié)束處理,則經(jīng)由保護OS6、切換設(shè)備驅(qū)動器13,從保 護程序8a返回到通常程序12a(步驟S208)。若通常程序12a利用保護程序 8a的處理結(jié)果,則經(jīng)由切換機構(gòu)3或切換設(shè)備驅(qū)動器13,在保護程序8a 與通常程序12a之間,執(zhí)行處理結(jié)果的傳遞。每當(dāng)需要執(zhí)行保護程序8a具有的功能時,就執(zhí)行從上述步驟S206至 步驟S208的處理。
1.4.2.3保護程序8的使用的結(jié)束
下面,說明通常程序12a結(jié)束保護程序8a的使用時的動作。 圖10是表示通常程序12a結(jié)束保護程序8a的使用時的動作的流程圖。 如圖10所示,若通常程序12a結(jié)束保護程序8a的使用,則通常程序 12a經(jīng)由切換設(shè)備驅(qū)動器13,將保護程序8a的刪除請求輸出到保護OS6(步 驟S209)。刪除請求中示出構(gòu)成刪除對象的保護程序8。在本實施方式中, 利用刪除請求刪除保護程序8a。
保護OS6受理刪除請求,刪除保護程序8a(步驟S210)。之后,經(jīng)由切 換設(shè)備驅(qū)動器B,從保護OS6返回到通常程序12a。通過該刪除操作,在 再次加載保護程序8a之前,不能使用保護程序8a的功能。另外,由于作為 明文狀態(tài)的保護程序8a從存儲器中消失,所以使之難以受到非法解析。
之后,通常程序12a中,若不必切換到保護模式,則對切換設(shè)備驅(qū)動 器13進行close(關(guān)閉)(S211)。所謂close是切換設(shè)備驅(qū)動器13不執(zhí)行與保 護OS6等的通信的狀態(tài)。
1.4.3調(diào)試處理的預(yù)處理
下面,說明調(diào)試器14對通常程序12與保護程序8執(zhí)行調(diào)試處理時的 動作。首先,說明調(diào)試處理的預(yù)處理。 1.4.3.1 預(yù)處理
圖11是表示調(diào)試器14執(zhí)行對通常程序12與保護程序8的調(diào)試處理用 的預(yù)處理的流程圖。
在下面的說明中,設(shè)通常程序12a與保護程序8a協(xié)同動作,調(diào)試器14 對通常程序12a與保護程序8a執(zhí)行調(diào)試處理。
調(diào)試器14受理程序開發(fā)者的附著操作,為了對通常程序12a執(zhí)行調(diào)試 處理,附著于通常程序12a上(S301)。
調(diào)試器14為了與調(diào)試處理執(zhí)行時以保護模式動作的調(diào)試功能7通信, 對調(diào)試器用切換設(shè)備驅(qū)動器15進行open(S302)。
調(diào)試器14為了向調(diào)試功能7通知通常程序12a的處理ID,經(jīng)由調(diào)試器 用切換設(shè)備驅(qū)動器15,將通常程序12a的處理ID通知給以保護模式動作的調(diào)試功能7(S303)。
調(diào)試功能7保存所通知的處理ID,當(dāng)執(zhí)行保護程序8a時,將表示執(zhí)行 剛剛開始之后是否停止保護程序的停止標志設(shè)為有效(S304)。執(zhí)行將停止標 志設(shè)為有效的處理的理由在后述的".4.3.2預(yù)處理的補充'中說明。停止 標志是l比特的信息,存儲在保護機構(gòu)內(nèi)寄存器或存儲器等存儲區(qū)域中。
調(diào)試器14從程序開發(fā)者受理涉及調(diào)試處理的操作,執(zhí)行對通常程序12a 的調(diào)試處理。若結(jié)束必要的處理,則調(diào)試器14從程序開發(fā)者受理程序重新 開始執(zhí)行的操作,重新開始執(zhí)行作為調(diào)試對象的通常程序12a(S305)。
重新開始執(zhí)行的通常程序12a對切換設(shè)備驅(qū)動器13進行open,經(jīng)由切 換設(shè)備驅(qū)動器13,向保護OS6請求保護程序8a的加載處理(S306)與保護程 序8a的執(zhí)行處理(S307)。
步驟S306的加載處理與圖7所示的步驟S202、 S203、 S204基本一樣。 另外,步驟S307的執(zhí)行處理與圖8的步驟S206、 S207、 S208基本一樣。 不同的是當(dāng)調(diào)試器14動作時,調(diào)試功能7為了判斷通常程序12a是否被調(diào) 試,將通常程序12a的處理ID與各處理中傳遞的數(shù)據(jù)一起通知(S303)。
另外,當(dāng)保護OS6受理保護程序8a的執(zhí)行請求時,保護OS6向調(diào)試 功能7請求執(zhí)行預(yù)處理(S308)。調(diào)試功能7受理請求,執(zhí)行預(yù)處理。這里, 所謂預(yù)處理是指調(diào)試功能7判斷對應(yīng)于處理ID的停止標志是否有效(S309), 在有效的情況下(S309:是),將位于保護程序8a的入口點的命令變更為斷 開(break)命令(S310)。若停止標志不是有效(S309:否),則調(diào)試功能7不變 更入口點的命令。
保護OS6執(zhí)行保護程序8a(S311)。
1.4.3.2預(yù)處理的補充
在上述動作中,在步驟S304中,使停止標志有效,但執(zhí)行該處理主要 是為了程序開發(fā)者能容易調(diào)試。
下面,示出執(zhí)行這種處理的理由,在本實施方式1中,如不執(zhí)行調(diào)試 時的處理的說明中所述的那樣,保護程序8a在被通常程序12a調(diào)用時被加 載,不需要時,則從存儲器上刪除。這里,由于本實施方式1的程序從執(zhí) 行通常程序12a起開始,所以程序開發(fā)者難以確認執(zhí)行已被切換到保護程 序8a這一情況。另外,本實施方式1的調(diào)試器14附著于通常程序,所以程序開發(fā)者也 不能對保護程序8a直接設(shè)定斷點,難以調(diào)試保護程序8a。
因此,為了讓程序開發(fā)者知道處理已移動到保護程序8a,對保護程序 8a提供可設(shè)定斷點的機會等,設(shè)當(dāng)讀出保護程序8a時,停止處理。
1.4.4調(diào)試處理
圖12是在保護程序8a執(zhí)行中發(fā)生基于斷點的調(diào)試例外、并使用調(diào)試 器14對保護程序8a執(zhí)行調(diào)試處理時的流程圖。 1.4.4.1 調(diào)試處理
如圖12所示,在保護程序8a執(zhí)行中,若發(fā)生基于保護程序8a中設(shè)定 的斷點的調(diào)試例外,則向保護OS6通知調(diào)試例外(S401)。
保護OS6受理調(diào)試例外的通知,向切換設(shè)備驅(qū)動器13通知調(diào)試例外的 發(fā)生(S402)。
切換設(shè)備驅(qū)動器13若受理調(diào)試例外的發(fā)生通知,則為了讓調(diào)試器14 執(zhí)行調(diào)試處理,由調(diào)試請求受理部44向調(diào)試器14請求調(diào)試處理執(zhí)行(S403)。
調(diào)試器14若受理調(diào)試處理執(zhí)行的請求,則為了向程序開發(fā)者提供調(diào)試 信息,經(jīng)由調(diào)試器用切換設(shè)備驅(qū)動器15,向保護OS6請求取得調(diào)試信息 (S404)。此時,還向保護OS6請求調(diào)試器14的調(diào)試器ID、或未圖示的調(diào)試 用通信區(qū)域的通知。這里,調(diào)試用的通信區(qū)域是通常模式與保護模式雙方 能訪問的區(qū)域,在從保護模式向通常模式傳遞調(diào)試信息時使用。
保護OS6向調(diào)試功能7請求取得調(diào)試信息(S405)。
調(diào)試功能7利用調(diào)試器ID判定部22和訪問判定部23,判定是否允許 對保護程序8a的調(diào)試處理、和對保護程序8a的涉及調(diào)試處理的規(guī)定部分的 訪問(S406)。
在步驟S406中,在判定為允許調(diào)試處理和訪問的情況下(S406:是), 則調(diào)試信息取得部25取得保護程序8a的調(diào)試信息,將調(diào)試信息拷貝到調(diào) 試用通信用區(qū)域(S407)??截惡?,調(diào)試功能7經(jīng)由保護OS6、調(diào)試器用切換 設(shè)備驅(qū)動器15,將調(diào)試信息取得完成通知給調(diào)試器14,處理從調(diào)試功能7 回到調(diào)試器14(S408)。
調(diào)試器14取得拷貝到調(diào)試用通信用區(qū)域的調(diào)試信息,通過顯示于未圖 示的顯示部中,向程序開發(fā)者示出調(diào)試信息(S409)。
37之后,當(dāng)程序開發(fā)者參照調(diào)試信息結(jié)束必要的處理時,調(diào)試器14從程 序開發(fā)者受理規(guī)定的操作,經(jīng)由切換設(shè)備驅(qū)動器13,向保護OS6請求重新 開始執(zhí)行作為調(diào)試對象的保護程序8a(S410)。
保護OS6受理重新開始執(zhí)行的請求,重新開始執(zhí)行保護程序8a(S411)。
之后,在再次發(fā)生調(diào)試例外的情況下,以同樣的流程執(zhí)行處理。
1.4.4.2調(diào)試處理的補充
在以上的實例中,說明了保護程序8a執(zhí)行中發(fā)生基于斷點的調(diào)試例外 時的處理。此夕卜,作為使用調(diào)試功能7的調(diào)試處理的模式(pattern),還可考 慮各種方式。具體而言,由程序開發(fā)者請求斷點的設(shè)定處理、或寄存器值、 存儲器值的設(shè)定或取得處理等其它調(diào)試處理,對應(yīng)于該請求,調(diào)試功能7 執(zhí)行調(diào)試處理。在這些情況下,也以與上述一樣的流程,由調(diào)試功能7(嚴 格地講,為安全調(diào)試器24具有的各功能部)執(zhí)行處理,但由于基本的處理是 一樣的,所以省略詳細說明。
在本實施方式1中,設(shè)當(dāng)發(fā)生調(diào)試例外時,能進行對涉及該例外發(fā)生 的保護程序8a的調(diào)試處理,但這不限于保護程序8a。也可進行對調(diào)試器14 調(diào)試的通常程序12a等通常程序的調(diào)試處理。
2實施方式2
下面說明實施方式2。在實施方式2中,具體說明保護程序8的生成方 法和生成保護程序8的程序生成裝置。 2.1程序的生成方法的概要
圖13是說明本發(fā)明的保護程序8的生成方法用的圖。 保護程序8被加密生成。為了生成加密的保護程序73,使用保護程序 源代碼71、保護程序生成裝置72、作為附加于保護程序的信息的允許調(diào)試 器ID存儲文件74與訪問控制列表存儲文件75、以及秘密信息區(qū)域存儲文 件76。
圖13所示的保護程序源代碼71是記述了保護程序8的動作的源代碼。 保護程序生成裝置72執(zhí)行保護程序源代碼71的編譯與鏈接。向生成 的執(zhí)行文件附加允許調(diào)試器ID信息與訪問控制列表,執(zhí)行加密。并且,通 過將解密所需的信息作為解密用頭信息來附加,從而生成加密的保護程序 73。具體如后所述。加密的保護程序73是由保護程序生成裝置72生成的程序。
允許調(diào)試器ID存儲文件74與訪問控制列表存儲文件75,分別是包含 對保護程序8執(zhí)行調(diào)試時調(diào)試功能7或調(diào)試器14使用的允許調(diào)試器ID信 息、訪問控制列表的數(shù)據(jù)。
秘密信息區(qū)域存儲文件76由程序中的各信息的區(qū)域、和表示涉及該區(qū) 域的信息是否是秘密信息的秘密信息區(qū)分構(gòu)成。
保護程序開發(fā)者制作保護程序源代碼71。另外,將源代碼中允許從調(diào) 試器訪問的區(qū)域與不允許的區(qū)域制作為訪問控制列表,記錄在訪問控制列 表存儲文件75中。并且,將秘密信息的區(qū)域與非秘密信息的區(qū)域記錄在秘 密信息區(qū)域存儲文件76中。允許調(diào)試器ID存儲文件74另外獲得。將獲得 的允許調(diào)試器ID存儲文件74與保護程序源代碼71、訪問控制列表存儲文 件75、秘密信息區(qū)域存儲文件76作為輸入,使保護程序生成裝置72動作。 結(jié)果,生成加密的保護程序73。
2.2保護程序生成裝置72的構(gòu)成
圖14是保護程序生成裝置72的構(gòu)成圖。
保護程序生成裝置72由編譯器77、連接程序78、保護程序化工具79 構(gòu)成。
2.2.1編譯器77
圖14所示的編譯器77編譯所輸入的保護程序源代碼71,生成目標文 件(objectfile)。制作表示變量或函數(shù)配置的符號信息、或目標文件中的程序 代碼與源代碼的對應(yīng)關(guān)系等,作為調(diào)試信息,附加于目標文件中。
2.2.2連接程序78
連接程序78將由編譯器77生成的目標文件與庫相鏈接,生成可執(zhí)行 的文件。并且,連接程序78生成表示在所生成的可執(zhí)行文件中的何處配置 何變量或函數(shù)的符號文件。
2.2.3保護程序化工具79
保護程序化工具79向連接程序78制作的可執(zhí)行文件的頭,附加輸入 到保護程序生成裝置72的允許調(diào)試器ID存儲文件74中存儲的允許調(diào)試器 ID信息、與訪問控制列表存儲文件75中存儲的訪問控制列表。并且,將秘 密信息區(qū)域存儲文件76中記載的各區(qū)域是否是秘密信息的信息附加于調(diào)試
39信息,生成保護程序。
保護程序化工具79利用由保護OS6與保護程序生成裝置72共同保持 的密鑰,對生成的保護程序執(zhí)行加密,附加加載保護程序的地址等,作為 解密用頭信息。
加密使用保護OS6與保護程序生成裝置72共同保持的密鑰(所謂公用 密鑰加密方式),但不用說,也可使用彼此保持不同密鑰的公開密鑰加密方 式等。
在訪問控制列表以符號名與訪問允許信息的組的形式來提供的情況 下,也可使用連接程序78輸出的符號文件,從符號名求出配置該符號的區(qū) 域,將訪問控制列表的符號名變更到該區(qū)域(即表示可執(zhí)行文件中的何處的 信息)。
加密的保護程序73的構(gòu)成如在實施方式1中使用圖5說明的那樣。加 密的保護程序73由保護程序主體51與允許調(diào)試器ID信息52、訪問控制列 表53、解密用頭信息54構(gòu)成,將允許調(diào)試器ID信息52與訪問控制列表 53附加于保護程序主體51的頭,形成加密構(gòu)造。解密用頭信息54由于存 儲著解密所需的數(shù)據(jù),因此也可不加密。
2.3保護程序生成裝置72的動作
下面,說明保護程序生成裝置72生成加密的保護程序73的處理。 圖15是表示保護程序生成裝置72生成加密化的保護程序73的處理的 流程圖。
設(shè)保護程序源代碼71、訪問控制列表存儲文件75、秘密信息區(qū)域存儲 文件76已由程序開發(fā)者制作。即,程序開發(fā)者記述保護程序源代碼71。另 外,決定源代碼中不可執(zhí)行調(diào)試器訪問的區(qū)域與可執(zhí)行調(diào)試器訪問的區(qū)域, 以制作訪問控制列表,記述為訪問控制列表存儲文件75。將記載秘密信息 的區(qū)域記述在秘密信息區(qū)域存儲文件中。
設(shè)程序開發(fā)者另外獲得允許調(diào)試器ID存儲文件74。
說明保護程序生成裝置72的動作,保護程序生成裝置72受理保護程 序源代碼71、允許調(diào)試器ID存儲文件74、訪問控制列表存儲文件75、和 秘密信息區(qū)域存儲文件76,作為輸入(S501)。
保護程序生成裝置72使用編譯器77與連接程序78,執(zhí)行輸入的保護程序源代碼71的編譯與鏈接(S502)。
保護程序化工具79向通過保護程序源代碼71的編譯與鏈接而生成的 保護程序主體51,附加訪問控制列表存儲文件75中存儲的訪問控制列表 53、與調(diào)試器ID存儲文件74中存儲的允許調(diào)試器ID信息52(S503),并且, 向調(diào)試信息追加秘密信息區(qū)域存儲文件76中記載的各區(qū)域是否是秘密信息 的信息,執(zhí)行加密(S504)。
保護程序化工具79向加密的程序附加保護程序主體51的加載目的地 地址等解密所需的信息,作為解密用頭信息54,作為加密的保護程序73輸 出(S505)。
2.4實施方式2的補充說明
在上述說明中,設(shè)程序開發(fā)者執(zhí)行向秘密信息區(qū)域存儲文件76的寫入, 但不限于此。例如,也可由編譯器等計算機程序自動執(zhí)行這些訪問控制列 表或秘密信息存儲文件的制作等。具體而言,也可對源代碼,在秘密信息 的某個部位事先賦予某個標記,編碼器根據(jù)該標記的有無,執(zhí)行向秘密信 息存儲文件的寫入。
在上述說明中,保護程序生成裝置72執(zhí)行從保護程序源代碼的編譯至 保護程序制作的全部處理,但不限于此。例如,也可由不同的裝置來執(zhí)行 保護程序的生成與訪問控制列表等的附加。此時,保護程序生成裝置72構(gòu) 成為編譯和鏈接保護程序源代碼71后生成保護程序主體51的裝置、與 取得生成的保護程序主體51后附加訪問控制列表等的裝置的組。在上述構(gòu) 成中,生成保護程序主體51的裝置,作為輸入只要有保護程序源代碼71 即可。
由于向附加訪問控制列表等的裝置提供保護程序主體51,所以不必輸 入保護程序源代碼71。根據(jù)該構(gòu)成,由于分別執(zhí)行保護程序主體51的制作 與訪問控制列表等的附加,所以可通過將各個作業(yè)委托給不同的公司等, 實現(xiàn)程序開發(fā)效率的提高。
3實施方式3
下面,說明實施方式3。在實施方式3中,具體說明如何管理調(diào)試器ID。 在實施方式3中,設(shè)調(diào)試器ID由調(diào)試器ID管理服務(wù)器管理,來進行說明。 圖16是說明調(diào)試器ID管理服務(wù)器執(zhí)行的調(diào)試器ID的管理方法的圖。3.1構(gòu)成的說明
3丄1調(diào)試器ID管理服務(wù)器81
圖16所示的調(diào)試器ID管理服務(wù)器81管理調(diào)試器ID。調(diào)試器ID的管 理使用后述的調(diào)試器ID管理文件90來進行。
為了按照保護程序開發(fā)者是誰(或按照保護程序開發(fā)者使用的保護程序 開發(fā)裝置82)來控制調(diào)試處理可否執(zhí)行,期望調(diào)試器ID為對每個保護程序 開發(fā)者(或每個保護程序開發(fā)裝置82)分別不同的值。因此,調(diào)試器ID管理 服務(wù)器81需要以不向多個保護程序開發(fā)者(或保護程序開發(fā)裝置82)賦予相 同的調(diào)試器ID的方式,進行管理。
調(diào)試器ID管理服務(wù)器81是管理調(diào)試器ID的公司(調(diào)試器ID管理公司) 具有的服務(wù)器(設(shè)為'公司',但不限于此,只要是管理調(diào)試器ID的管理者, 則即便是公司以外的組織或個人也無妨)。
調(diào)試器ID管理服務(wù)器81根據(jù)來自保護程序開發(fā)裝置82的請求,發(fā)行 與過去發(fā)行的調(diào)試器ID不同的調(diào)試器ID,將存儲了所發(fā)行的調(diào)試器ID的 調(diào)試器ID存儲文件,提供給保護程序開發(fā)裝置82。另外,調(diào)試器ID管理 公司制作具有對應(yīng)于調(diào)試器ID的ID的調(diào)試器,提供給保護程序開發(fā)裝置 82。
3丄2保護程序開發(fā)裝置82
保護程序開發(fā)裝置82使用保護程序生成裝置72,制作保護程序。 具體而言,保護程序開發(fā)裝置82從保護程序解析裝置83受理調(diào)試器 ID存儲文件。取得所受理的調(diào)試器ID存儲文件所示的調(diào)試器ID,作為允 許調(diào)試器ID存儲文件74,輸入到實施方式2說明的保護程序生成裝置72, 由此,生成允許對所取得的調(diào)試器ID所示的調(diào)試器的調(diào)試的保護程序8。 保護程序開發(fā)裝置82由開發(fā)保護程序的程序開發(fā)者(個人或組織)所有。
3丄3保護程序解析裝置83
保護程序解析裝置83是用于執(zhí)行保護程序中包含的差錯解析的裝置。 保護程序解析裝置83由個人或組織所有。
具體而言,保護程序解析裝置83從調(diào)試器ID管理服務(wù)器81獲得發(fā)行 調(diào)試器ID,將獲得的調(diào)試器ID存儲文件提供給開發(fā)解析對象的保護程序的
42保護程序開發(fā)裝置82。
若提供了調(diào)試器ID存儲文件的保護程序開發(fā)裝置82根據(jù)調(diào)試器ID存 儲文件生成保護程序,則從保護程序開發(fā)裝置82獲得可調(diào)試的保護程序, 解析該保護程序。
3.2調(diào)試器ID管理文件90的數(shù)據(jù)構(gòu)造
圖17是表示調(diào)試器ID管理服務(wù)器81用于調(diào)試器ID管理中的調(diào)試器 ID管理文件90的數(shù)據(jù)構(gòu)造的圖。
調(diào)試器ID管理文件90的1條記錄由管理序號91、調(diào)試器ID92、保護 程序的開發(fā)者名93與聯(lián)絡(luò)地址94構(gòu)成。
管理序號91中存儲管理調(diào)試器ID管理服務(wù)器81已發(fā)行的調(diào)試器IP 用的序號。
調(diào)試器ID92中存儲由管理序號91管理的已發(fā)行的調(diào)試器ID的值。為 了能識別各程序開發(fā)者(或每個保護程序開發(fā)裝置82),并且防止模仿調(diào)試 器的調(diào)試ID執(zhí)行調(diào)試處理的模仿攻擊,期望調(diào)試器ID92為足夠長的數(shù)值 串。
保護程序的開發(fā)者名93中存儲可申請發(fā)行調(diào)試器ID的程序開發(fā)者的 名稱。
聯(lián)絡(luò)地址94存儲可申請發(fā)行調(diào)試器ID的程序開發(fā)者的聯(lián)絡(luò)地址。 3.3實施方式3的補充說明
在實施方式3中,調(diào)試器ID管理服務(wù)器81向保護程序開發(fā)裝置82提 供調(diào)試器,但調(diào)試器的提供目的地不限于保護程序開發(fā)裝置82。例如,也 可提供給保護程序解析裝置83。
另外,設(shè)調(diào)試器ID管理文件90為管理己發(fā)行的調(diào)試器ID用的文件, 但不限于已發(fā)行的調(diào)試器ID,也可與未發(fā)行的調(diào)試器ID —起管理。
并且,調(diào)試器ID管理文件90還管理已發(fā)行調(diào)試器ID的發(fā)行目的地的 程序開發(fā)者名稱或其聯(lián)絡(luò)地址,但也可僅管理己發(fā)行的調(diào)試器ID。
調(diào)試器未必從調(diào)試器ID管理公司提供,也可從調(diào)試管理公司委托開發(fā) 調(diào)試器的其他人的服務(wù)器等提供。此時,其他人從調(diào)試器ID管理服務(wù)器81 取得調(diào)試器ID的信息。
4實施方式4在下面的實施方式中,說明如何顯示上述調(diào)試器14等執(zhí)行的調(diào)試處理 的結(jié)果。
實施方式4是向?qū)嵤┓绞?的調(diào)試器附加了將程序的動作信息顯示于 圖形用戶界面上的顯示部件的實施方式。調(diào)試器主體的功能與實施方式1 一樣,所以省略說明。
這里,所謂程序的動作信息是指為了調(diào)試構(gòu)成調(diào)試對象的程序而參照 的信息、即與程序動作關(guān)聯(lián)的信息。具體而言,在以下的實例中,動作信 息指程序的代碼、或執(zhí)行程序的處理器的各寄存器的值、局部變量的符號 名及其值、由符號指定的變量及其值、存儲器的使用量等值、函數(shù)的調(diào)用 層和以保護模式與通常模式哪個模式來動作的信息等。以實施方式1為例, 保護程序8的動作信息根據(jù)調(diào)試器14經(jīng)調(diào)試功能7取得的信息獲得,通常 程序12的動作信息根據(jù)調(diào)試器14直接取得的信息獲得。
4.1 GUI150a的說明
圖18表示用于顯示程序的動作信息的圖形用戶界面(GUI)。 圖18(a)中,表示調(diào)試器14附著于通常程序12,調(diào)試通常程序12時的 顯示部件的畫面構(gòu)成,即GUI150a。另夕卜,圖18(b)中表示通常程序12執(zhí)行 保護程序8,調(diào)試通常程序12與保護程序8時的顯示部件的畫面構(gòu)成,即 GUI150b。
如圖18(a)所示,GUI150a由代碼顯示部151、寄存器顯示部152、存儲 器顯示部153、符號顯示部154、觀察點(watchpoint)顯示部155、調(diào)用堆棧 (call stack)顯示部156、窗口標題(window title)顯示部157、菜單顯示部158 構(gòu)成。
代碼顯示部151是用于顯示調(diào)試對象的程序的代碼的顯示部,顯示源 代碼或匯編碼、機器語言。
寄存器顯示部152中顯示執(zhí)行程序的處理器的各寄存器的值。 存儲器顯示部153中顯示存儲器的值。
符號顯示部154顯示調(diào)試對象的程序中、在停止的函數(shù)內(nèi)使用的局部 變量的符號名及其值。
觀察點顯示部155顯示由符號指定的變量及其值。
調(diào)用堆棧顯示部156顯示調(diào)試對象的程序中、調(diào)用停止的函數(shù)前的調(diào)
44用層。
窗口標題顯示部157是用于顯示窗口的標題的顯示部,顯示調(diào)試器或 調(diào)試對象的程序的程序名或程序的狀態(tài)。
菜單顯示部158顯示調(diào)試器的菜單。作為菜單,有調(diào)試對象的程序的 打開或附著、調(diào)試器的結(jié)束、設(shè)定調(diào)試器的動作或程序的動作信息顯示方 法的設(shè)定畫面的顯示、調(diào)試對象程序的執(zhí)行或中斷、重新開始、分步執(zhí)行 等。
模式顯示部159是用于顯示程序因斷點等停止時、執(zhí)行程序的模式的 顯示部,在通常程序執(zhí)行中停止的情況下為了表示是通常模式,顯示為'通 常模式',在保護程序執(zhí)行中停止的情況下為了表示是保護模式,顯示為 '保護模式'。
4.2 GUI150a的說明補充
在實施方式4中,為了顯示通常程序12與保護程序8的哪個中發(fā)生調(diào) 試例外,在模式顯示部中顯示為'通常模式,或'保護模式,,但不限于 此。例如,模式的顯示不限于'通常模式'或'保護模式,的字符串,只 要是可明白是不同模式的顯示均可。舉具體實例,可以是圖標等。并且, 顯示部位也不限于模式顯示部,可由窗口整體顯示,也可由窗口的顏色等 區(qū)別。另外,也可另外設(shè)置模式顯示用的窗口。
在這些顯示部中,顯示調(diào)試器14剛剛附著于通常程序之后、或通常程 序被斷點命令停止且可由調(diào)試器14調(diào)試的狀態(tài)時、停止執(zhí)行的通常程序的 停止時刻的各種狀態(tài)、或調(diào)試器14執(zhí)行中調(diào)試器14的執(zhí)行狀態(tài)。并且, 也可利用來自用戶的輸入等變更對寄存器或存儲器、變量等設(shè)定的值。
4.3 GUI150b的說明
如圖18(b)所示,GUI150b由通常程序用調(diào)試窗口 160與保護程序用調(diào) 試窗口 161構(gòu)成。
通常程序用調(diào)試窗口 160是用于顯示通常程序12的各種信息的窗口。 保護程序用調(diào)試窗口 161是用于顯示保護程序的各種信息的窗口。不 管哪個窗口(通常程序用調(diào)試窗口 160、保護程序用調(diào)試窗口 161)都構(gòu)成為 在窗口內(nèi)顯示圖18(a)的各顯示部(代碼顯示部151、寄存器顯示部152、存 儲器顯示部153、符號顯示部154、觀察點顯示部155、調(diào)用堆桟顯示部156)。由于圖面復(fù)雜,所以圖18(b)中,未記載這些各顯示部。
使用具有這種顯示部件的調(diào)試器,當(dāng)調(diào)試器的用戶調(diào)試通常程序12與 保護程序8時,在調(diào)試器剛剛啟動之后或剛剛附著于通常程序之后的狀態(tài) 下,為圖18(a)所示的畫面構(gòu)成。
之后,通常程序12執(zhí)行保護程序8,在保護程序8的執(zhí)行中發(fā)生基于 斷點的調(diào)試例外的情況下,為了顯示保護程序的各種信息,將圖18(a)的畫 面分割為兩個,變更為圖18(b)所示的畫面構(gòu)成。
此時,為了讓用戶知道是保護程序8的調(diào)試,執(zhí)行彈出顯示,并且響 起嘀聲等特定聲音或由用戶設(shè)定的聲音,在模式顯示部159中顯示為'保 護模式',由此讓用戶意識到是保護模式。
4.4實施方式4的補充
在實施方式4中,設(shè)在保護程序8調(diào)試時將調(diào)試器的窗口分割成兩個, 但不限于分割。例如,也可為了調(diào)試保護程序而重新生成窗口 ,利用制表(tab) 或菜單,切換通常程序用調(diào)試窗口 160與保護程序用調(diào)試窗口 161。
在保護程序8的執(zhí)行中發(fā)生調(diào)試例外,并變?yōu)榭烧{(diào)試的狀態(tài)時,可將 焦點移動到保護程序用調(diào)試窗口 161,對保護程序?qū)嵤帱c的設(shè)定或存儲 器、寄存器值的變更等。并且,也可對通常程序12執(zhí)行同樣的設(shè)定或變更 操作。
在實施方式4中,在保護程序8的執(zhí)行中發(fā)生調(diào)試例外時,調(diào)試器的 用戶同時執(zhí)行保護程序8的調(diào)試與通常程序12的調(diào)試,但不限于同時執(zhí)行 調(diào)試。例如,也可僅將可執(zhí)行調(diào)試的對象限于保護程序,或限制成不能訪 問通常程序的調(diào)試窗口 160。
如實施方式1所述,使用調(diào)試器14與調(diào)試功能7的保護程序8的調(diào)試, 根據(jù)調(diào)試器14而受到限制。因此,存在不允許對保護程序8的調(diào)試處理的 情況、或要顯示不能用訪問控制列表允許訪問的區(qū)域的情況等、在各顯示 部中不能顯示信息的情況。
這樣,在請求了不能顯示的信息的情況下,必需讓使用調(diào)試器的用戶 知道不能顯示這一情況。作為通知存在這種不能顯示的信息的方法,執(zhí)行 表示不能顯示的彈出顯示,并且響起嘀聲等特定聲音或由用戶設(shè)定的聲音, 用等特定的字符串顯示不能顯示的部分。上述中,用等特定的字符串顯示不能顯示的部分,但不限于用特 定的字符串顯示,也可顯示圖標或不做任何顯示。另外,也可使不能顯示 的部分的背景色與可顯示的部分的背景色不同。
當(dāng)調(diào)試保護程序8時,存在保護程序8中的秘密信息、或通常程序12 與保護程序8的通信用共有領(lǐng)域等、程序的開發(fā)或解析時重要的信息或區(qū) 域。因此,調(diào)試器14中,通過在這種必需注意的信息或區(qū)域的顯示方法方 面做出努力,督促使用調(diào)試器的用戶注意,是優(yōu)選的。
作為秘密信息的顯示方法,當(dāng)調(diào)試器14執(zhí)行對保護程序8的調(diào)試處理 時,取得涉及保護程序8的調(diào)試信息中包含的秘密信息區(qū)域的信息,判定 各顯示部中顯示信息時要顯示的代碼或數(shù)據(jù)是否包含于秘密信息區(qū)域中。
在判定的結(jié)果是秘密信息的情況下,當(dāng)通過用戶的設(shè)定設(shè)定為不顯示 秘密信息時,不顯示秘密信息,以該部分空白的狀態(tài)來顯示。
另一方面,在設(shè)定為顯示秘密信息的情況下,通過將顯示該秘密信息 時的字符顏色設(shè)為由用戶設(shè)定的顏色(例如紅色),強調(diào)是秘密信息。并且, 顯示信息時,執(zhí)行表示顯示秘密信息的彈出顯示,響起嘀聲等特定聲音或 由用戶設(shè)定的聲音。通過如此動作,督促用戶注意是秘密信息。
在實施方式4中,設(shè)在設(shè)定為不顯示秘密信息的情況下以該部分為空 白的狀態(tài)來顯示,但不限于以空白的狀態(tài)來顯示,也可用與背景色不同的 顏色來涂布顯示秘密信息的部分,或使用圖標。即,只要是用戶看不到秘 密信息內(nèi)容的狀態(tài),則可以是任何顯示方法。
作為是通常程序12與保護程序8共有的信息的共有信息的顯示方法, 在調(diào)試器14執(zhí)行對保護程序8的調(diào)試處理時,從保護OS6取得涉及通常模 式與保護模式下共有信息的區(qū)域的信息,檢査各顯示部中顯示信息時要顯 示的代碼或數(shù)據(jù)的區(qū)域是否包含于共有信息的區(qū)域中。
在是共有信息的區(qū)域的情況下,通過將顯示該區(qū)域的信息時的字符顏 色設(shè)為由用戶設(shè)定的顏色(例如黃色),強調(diào)是共有信息。并且,顯示信息時 執(zhí)行表示顯示共有信息的彈出顯示,響起嘀聲等特定聲音或由用戶設(shè)定的 聲音。通過如此動作,督促用戶注意是共有信息。
共有信息也可與秘密信息一樣適用多種顯示方法,但也可使用與秘密 信息不同的顯示方法以便能區(qū)別共有信息與秘密信息。
47在本實施方式4中,設(shè)顯示秘密信息或共有信息時的字符顏色為由用 戶設(shè)定的顏色,但不限于變更字符顏色,也可變更背景顏色,或變更粗字 或斜體等字符的風(fēng)格,或附加下劃線或底紋等字符修飾,也可包圍秘密信 息或共有信息整體。
5實施方式5
實施方式5與實施方式4不同,對實施方式1的調(diào)試器,附加在基于 字符的用戶界面中顯示程序的動作信息的顯示部件。實施方式5的調(diào)試器 主體的功能也與實施方式1一樣,所以省略說明。
5.1 CUI的說明
圖19是本發(fā)明實施方式5的基于字符的用戶界面(CUI170)的顯示方法 的說明圖。
若調(diào)試器14啟動,則顯示與控制臺(console)不同的、例如'(dbg),這 樣的提示符,表示調(diào)試器14處于可使用的狀態(tài)。該狀態(tài)表示通常程序12 可調(diào)試(調(diào)試處理結(jié)果的顯示例171a)。
若執(zhí)行通常程序12,由通常程序12執(zhí)行保護程序8,則根據(jù)實施方式 1所述的動作,首先在最初執(zhí)行時保護程序的入口點設(shè)定的斷點發(fā)生調(diào)試例 外。
此時,調(diào)試器14為了表示保護程序8可調(diào)試,通過顯示與通常程序12 的調(diào)試時不同的、例如((dbg-sec)'這樣的提示符,使得用戶能區(qū)別。所謂 提示符是使用戶能區(qū)別地顯示來自調(diào)試器14的消息的顯示。例如如圖所示, 也可使用括號來表示提示符。
調(diào)試器14在保護程序8的執(zhí)行中停止的情況下,通過將提示符或來自 調(diào)試器14的消息、從用戶輸入的字符的風(fēng)格變更為斜體,顯示在保護程序 8的執(zhí)行中停止這一情況,使用戶可區(qū)別(調(diào)試處理結(jié)果的顯示例171b)。
在上述狀態(tài)下,可執(zhí)行以停止執(zhí)行的程序為對象的調(diào)試,但由于實施 方式5中執(zhí)行以通常程序12與保護程序8協(xié)同動作的狀態(tài)為對象的調(diào)試, 所以期望在通常程序12的執(zhí)行中調(diào)試保護程序8,或相反,在保護程序8 的執(zhí)行中可調(diào)試通常程序12。
下面,說明此時使用的界面。
首先,在通常程序12的執(zhí)行中發(fā)生調(diào)試例外,通常程序12為可調(diào)試
48狀態(tài)時,有時調(diào)試器14的用戶想執(zhí)行保護程序8的調(diào)試而不是通常程序12 的調(diào)試。此時,在通常程序12為可調(diào)試的狀態(tài)下,通過輸入'secure'等 命令,數(shù)據(jù)處理裝置1轉(zhuǎn)移到保護模式,保護程序8變?yōu)榭烧{(diào)試狀態(tài)。
此時,提示符從'(dbg),變更為、dbg-sec)',但由于通常程序12執(zhí) 行中停止的狀態(tài)不變,所以字體不變?yōu)樾斌w等(調(diào)試處理結(jié)果的顯示例 171c)。
相反,在保護程序8的執(zhí)行中發(fā)生調(diào)試例外,保護程序為可調(diào)試狀態(tài) 時,在想執(zhí)行通常程序的調(diào)試而不是保護程序的調(diào)試的情況下,通過輸入 (normal'等命令,通常程序變?yōu)榭烧{(diào)試狀態(tài)。
此時,提示符從、dbg-sec),變更為乂dbg),,但由于保護程序8執(zhí) 行中停止的狀態(tài)不變,所以字體仍以斜體顯示,不恢復(fù)成通常的字體(調(diào)試 處理結(jié)果的顯示例171d)。
調(diào)試器14的用戶在要調(diào)試保護程序8的情況下,不允許調(diào)試、或要顯 示禁止訪問的區(qū)域信息的情況下,當(dāng)輸入命令時,顯示'Access invalid'等, 由此通知用戶不允許調(diào)試或禁止訪問。
5.2實施方式5的補充
實施方式5中,變更為了區(qū)別通常程序12可調(diào)試還是保護程序8可調(diào) 試而顯示的提示符,但不限于變更提示符。
例如,也可在提示符之外,每當(dāng)從用戶請求的處理結(jié)束時,顯示表示 當(dāng)前狀態(tài)的字符。另外,也可將提示符或來自調(diào)試器的消息、從用戶輸入 的字符的風(fēng)格變更為粗字或斜體,也可變更字符的顏色或背景色,或附加 下劃線或底紋等修飾。
并且,為了區(qū)別在通常程序12的執(zhí)行中停止還是在保護程序執(zhí)行中停 止,將字符的風(fēng)格變更為斜體,但不限于將字符的風(fēng)格變?yōu)樾斌w。
例如,也可變更為粗字等其它風(fēng)格,或變更字符的顏色或背景色,或 附加下劃線或底紋等字符修飾。并且,也可在行頭顯示區(qū)分是在通常程序 12的執(zhí)行中停止還是在保護程序8的執(zhí)行中停止的字符串。
另外,每當(dāng)通常程序12或保護程序8停止,用戶可輸入命令時,或通 常程序12的調(diào)試與保護程序8的調(diào)試切換時,也可消除全部以前的輸出。
在本實施方式中,命令或消息的一例如下所示。消息'Change to Secure mode.'表示數(shù)據(jù)處理裝置1移動到保護模式。 消息'Change to Normal mode.,表示數(shù)據(jù)處理裝置1移動到通常模式。消 息是數(shù)據(jù)處理裝置1執(zhí)行對應(yīng)于用戶輸入的命令的處理之后,通知該處理 結(jié)果的消息。
命令'secure'是用于移動到保護模式的命令,命令formal'是用于 移動到通常模式的命令。
可輸入調(diào)試器的命令或?qū)?yīng)于命令而輸出的消息,按照各調(diào)試器而不 同,所以省略詳細說明。
6補充
根據(jù)上述實施方式說明了本發(fā)明,但本發(fā)明當(dāng)然不限于上述實施方式。 下面的情況也包含于本發(fā)明中。
(1) 在上述實施方式中,允許調(diào)試器ID信息52或訪問控制列表53包含 于保護程序8中,但不限于此,也可從數(shù)據(jù)處理裝置的外部取得允許調(diào)試 器ID信息52或訪問控制列表53。此時,最好與表示與哪個保護程序8對 應(yīng)的信息一起取得涉及取得的允許調(diào)試器ID信息52等。
由此,可容易地判定可否執(zhí)行對保護程序8的調(diào)試處理。
由于允許調(diào)試器ID信息52等表示可調(diào)試的調(diào)試器ID或可訪問的區(qū)域,
所以當(dāng)被解析時,由于不期望保護保護程序8,所以需要存儲在數(shù)據(jù)處理裝
置中保護機構(gòu)等安全區(qū)域中,以便不被非法訪問暴露。
另外,允許調(diào)試器ID信息52等的取得當(dāng)然也需要安全地執(zhí)行,以不
被非法者的竊聽等而非法取得。
(2) 在上述實施方式中,設(shè)保護程序8或通常程序12在保護OS6或通 常OSll上動作,但不限于此。例如,也可不經(jīng)OS而直接動作。
此時,將調(diào)試功能7或切換設(shè)備驅(qū)動器13和調(diào)試用切換設(shè)備驅(qū)動器1.5 設(shè)置為LSI2的功能等,也執(zhí)行各OS執(zhí)行的中斷監(jiān)視等處理。另外,考慮 調(diào)試器14也直接由LSI2上的CPU等可執(zhí)行的語言形成等。
(3) 在上述實施方式中,設(shè)將調(diào)試器14、切換設(shè)備驅(qū)動器13、調(diào)試器用 切換設(shè)備驅(qū)動器15、調(diào)試功能7等安裝為在LSI2上動作的軟件,但不限于 此。例如,也可作為LSI2的功能實現(xiàn),或以與LSI2相互通信的硬件等的 形式實現(xiàn)。另外,也可僅將各構(gòu)成要素的一部分實現(xiàn)為LSI功能,或?qū)崿F(xiàn)為硬件。
(4) 在上述實施方式3中,為了擁有多個保護程序開發(fā)裝置82的組織等, 也可按照經(jīng)保護程序開發(fā)裝置82發(fā)送的請求,向多個保護程序開發(fā)裝置82 賦予同一調(diào)試器ID。
(5) 在上述實施方式4和實施方式5中,參照圖18和圖19介紹了用戶 界面的實例,但用戶界面的顯示不限于圖18和圖19所示。
艮P,也可不顯示構(gòu)成界面的部分構(gòu)成要素,當(dāng)然也可適當(dāng)替換各構(gòu)成 要素的顯示位置,或?qū)⒆址鹊娘L(fēng)格變?yōu)槠渌问健?br> (6) 在上述實施方式中,調(diào)試功能7通過調(diào)試器ID的確認來確認允許調(diào) 試這一情況,并僅在通過訪問控制列表的確認允許對所請求的區(qū)域的訪問 的情況下,允許進行調(diào)試,但也可僅通過任一確認來允許調(diào)試。
另夕卜,確認的順序也不限于在調(diào)試器ID的確認后執(zhí)行訪問控制列表的 確認的順序,也可先確認任一個。
(7) 在上述實施方式中,調(diào)試器14附著于通常程序12,執(zhí)行對與該通 常程序12協(xié)同動作的保護程序8的調(diào)試處理,但不限于此。例如,也可以 是可直接附著于保護程序8的調(diào)試器。
此時,由于調(diào)試器14不能附著于未加載的程序,所以將保護程序8事 先加載到存儲器上,經(jīng)由調(diào)試器用切換設(shè)備驅(qū)動器15將保護程序8中發(fā)生 的調(diào)試例外通知給調(diào)試器14。
并且,在數(shù)據(jù)處理裝置具有可在保護模式下使用的輸入輸出裝置的情 況下,調(diào)試器也可以保護模式而非通常模式動作。此時,調(diào)試功能7與調(diào) 試器14不經(jīng)由調(diào)試器用切換設(shè)備驅(qū)動器15而直接通信。
(8) 在上述實施方式中,通過在預(yù)處理中將停止標志設(shè)為有效,程序在 保護程序8等的執(zhí)行開始時必然停止,但不限于此。
例如,在如變形例(7)所示調(diào)試器14直接附著于保護程序8并可設(shè)定斷 點的情況、或希望僅調(diào)試通常程序12的情況下,若程序在保護程序8的執(zhí) 行開始時必然停止,則不便。因此,也可不在預(yù)處理時始終將停止標志設(shè) 為有效,可通過用戶的選擇來決定是否變?yōu)橛行А?br> (9) 在上述實施方式中,未特別言及調(diào)試器ID的生成方式,但可考慮如下。例如,也可以是調(diào)試器ID管理服務(wù)器81生成隨機數(shù),作為調(diào)試器ID, 分配給調(diào)試器。
另外,除此之外例如也可將保護程序8的一部分或全部的散列值用作 調(diào)試器ID。
此時,調(diào)試器ID判定部22在比較值保持部33中保持調(diào)試器14的調(diào) 試器ID。若從調(diào)試器14請求調(diào)試,則調(diào)試器ID運算部32計算構(gòu)成調(diào)試請 求對象的保護程序8的散列值,調(diào)試器ID比較部31比較計算結(jié)果與比較 值保持部33保持的值,由此進行判定。
由此,在保護程序8的內(nèi)容變化的情況下,散列值與調(diào)試器ID的比較 不成功,因此一旦保護程序8升級,則可自動禁止由舊的調(diào)試器進行的調(diào) 試。
此時,實施方式3的保護程序開發(fā)裝置82在保護程序8中取得散列值 的部位完成的時刻向調(diào)試器ID管理服務(wù)器81發(fā)送該保護程序8。調(diào)試器ID 管理服務(wù)器81計算保護程序8的散列值,將該散列值作為調(diào)試器ID,返回 到保護程序開發(fā)裝置82。返回的調(diào)試器ID是僅保護程序8的開發(fā)者能知道 的信息。因此,調(diào)試器的制造者為了制成對應(yīng)于該保護程序8的調(diào)試的調(diào) 試器,需要從保護程序8的開發(fā)者接受通知相應(yīng)的調(diào)試器ID,將通過通知 取得的調(diào)試器ID分配給調(diào)試器14。但是,即便在上述情況下,在調(diào)試器ID 管理服務(wù)器81的所有者與調(diào)試器的制造者相同的情況下,調(diào)試器的制造者 盡管未接收調(diào)試器ID的通知,也可制成調(diào)試器。這是因為調(diào)試器的制造者 能夠從自身所具有的調(diào)試器ID管理服務(wù)器81知道調(diào)試器ID。
另外,如上所述在使用散列值的情況下,通過計算散列值,算出可執(zhí) 行對保護程序8的調(diào)試處理的調(diào)試器的調(diào)試器ID,所以不必使允許調(diào)試器 ID信息52包含于保護程序8中。
并且,調(diào)試器ID中也可包含每個程序開發(fā)者的值與每個程序的值。此 時,通過每個程序開發(fā)者的值的檢查,來確認程序開發(fā)者單位下的調(diào)試允 許/不允許,僅在存在程序開發(fā)者單位下的調(diào)試允許的情況下,才可通過檢 査程序單位的值,確認程序單位下的調(diào)試允許等,實現(xiàn)更細致的調(diào)試控制。
(IO)在上述實施方式中,說明檢測出在保護程序8a執(zhí)行中發(fā)生基于斷 點的調(diào)試例外后執(zhí)行對保護程序8a的調(diào)試處理的情況。不限于此,也可在保護程序8的執(zhí)行中僅發(fā)生了一般的錯誤中斷的情況下,通過檢測該中斷, 由調(diào)試器14執(zhí)行調(diào)試處理。所謂一般的錯誤中斷,例如有在保護程序8執(zhí) 行中發(fā)生基于0的除法的情況、或發(fā)生溢出的情況等。在發(fā)生一般的錯誤 中斷的情況下,通過執(zhí)行OS6將調(diào)試例外的發(fā)生通知給切換設(shè)備驅(qū)動器13 等的處理(S402等),調(diào)試器14可執(zhí)行對保護程序8的調(diào)試處理。
(11) 在上述實施方式中,控制可否執(zhí)行對保護程序8的調(diào)試處理,但不 限于此,即便對于通常程序12,也可分配允許調(diào)試處理的調(diào)試器的調(diào)試器 ID,控制可否執(zhí)行對通常程序12的調(diào)試處理。
(12) 也可將上述構(gòu)成要素的一部分或全部實現(xiàn)為LSI等集成電路。此時 的集成電路可以是與LSI2相同的集成電路,也可以是不同的集成電路。
LSI也可根據(jù)集成度的不同,被稱為IC、系統(tǒng)LSI、超(super)LSI、甚 (ultm)LSI,但不用說,以上述任一集成度實現(xiàn)系統(tǒng)LSI2的情況都包含于本 發(fā)明中。另夕卜,也可在LSI制造后,利用可編程的FPGA(FieldProgrammable Gate Array:現(xiàn)場可編程門陣列)或可再構(gòu)成LSI內(nèi)部的電路單元連接或設(shè)定 的可重構(gòu)處理器。
并且,如果因半導(dǎo)體技術(shù)的進步或派生的其它技術(shù)而出現(xiàn)置換LSI的 集成電路化技術(shù),則當(dāng)然也可使用該技術(shù)來進行構(gòu)成要素的集成化。例如 可適用生物技術(shù)等。
13)本發(fā)明也可以是上述所示的方法。另外,也可以是將這些方法實現(xiàn) 為CPU的處理的程序,或是由上述計算機程序構(gòu)成的數(shù)字信號。
(14) 本發(fā)明也可將上述計算機程序或上述數(shù)字信號記錄在計算機可讀 取的記錄媒體中,例如軟盤、硬盤、CD-ROM、 MO、 DVD、 DVD-ROM、 DVD-RAM、 BD(Blu-ray Disc:藍光光盤)、半導(dǎo)體存儲器等中。另外,也 可以是記錄在這些記錄媒體中的上述數(shù)字信號。
(15) 也可以是這些實施方式和變形例的組合。 產(chǎn)業(yè)上的可利用性
本發(fā)明的數(shù)據(jù)處理裝置可通過控制可否執(zhí)行調(diào)試處理來實現(xiàn)程序的保 護,尤其是作為在保護程序的同時支援開發(fā)的裝置來說是有用的。
權(quán)利要求
1、一種數(shù)據(jù)處理裝置,控制調(diào)試處理部的調(diào)試處理的執(zhí)行,其特征在于具備第1取得部件,取得識別所述調(diào)試處理部的識別符;第2取得部件,取得處于被保護不受非法訪問的狀態(tài)下的調(diào)試對象程序的規(guī)定部分中包含的驗證值;判定部件,對從所述調(diào)試對象程序取得的所述驗證值與由所述第1取得部件取得的所述識別符進行比較,按照該比較結(jié)果,判定是否允許對所述調(diào)試對象程序的調(diào)試處理;和控制部件,當(dāng)判定為不允許時,禁止對所述調(diào)試對象程序執(zhí)行調(diào)試處理。
2、 根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理裝置,其特征在于 所述調(diào)試對象程序的所述規(guī)定部分中,包含表示對于構(gòu)成所述調(diào)試對象程序的各部分允許或不允許訪問的訪問控制列表,所述第2取得部件包含訪問控制列表取得部,該訪問控制列表取得部 取得所述調(diào)試對象程序的所述規(guī)定部分中包含的所述訪問控制列表,所述數(shù)據(jù)處理裝置還具備訪問判定部件,該訪問判定部件根據(jù)所述取 得的所述訪問控制列表,判定是否允許訪問所述調(diào)試對象程序的一部分,所述控制部件,在所述判定部件判定為允許、且所述訪問判定部件判 定為不允許的第1情況下,禁止執(zhí)行所述一部分的調(diào)試處理,在所述判定 部件判定為允許、且所述訪問判定部件判定為允許的第2情況下,使所述 調(diào)試處理部執(zhí)行所述一部分的調(diào)試處理。
3、 根據(jù)權(quán)利要求2所述的數(shù)據(jù)處理裝置,其特征在于-所述訪問控制列表所示的所述部分的每一個,表示與將所述調(diào)試對象程序加載到存儲器時的加載目的地存儲器地址的所述部分分別對應(yīng)的地址 范圍,在所述訪問控制列表中,將與所述部分分別對應(yīng)的所述地址范圍的每 一個,與可否訪問相對應(yīng),所述訪問判定部件對于與將所述調(diào)試對象程序加載到存儲器時的加載目的地存儲器地址的所述一部分相對應(yīng)的地址范圍,通過參照在所述訪問 控制列表中相對應(yīng)的可否訪問,執(zhí)行所述判定。
4、 根據(jù)權(quán)利要求2所述的數(shù)據(jù)處理裝置,其特征在于 所述訪問控制列表中所示的所述部分的每一個,表示所述調(diào)試對象程序中包含的符號,所述訪問控制列表中,將所述符號的每一個與可否訪問相對應(yīng), 所述訪問判定部件對于所述調(diào)試對象程序的所述一部分中包含的符號,通過參照在所述訪問控制列表中相對應(yīng)的可否訪問,執(zhí)行所述判定。
5、 根據(jù)權(quán)利要求2所述的數(shù)據(jù)處理裝置,其特征在于 所述調(diào)試對象程序的所述規(guī)定部分中包含多個所述驗證值, 所述規(guī)定部分中包含一個以上所述訪問控制列表,所述訪問控制列表的每一個,與所述驗證值的至少一個相對應(yīng),所述判定部件對于所述驗證值的每一個,與所述取得的識別符進行比 較,執(zhí)行所述判定,所述訪問判定部件根據(jù)與所述判定部件判定為允許的所述驗證值相對 應(yīng)的所述訪問控制列表,執(zhí)行所述判定。
6、 根據(jù)權(quán)利要求2所述的數(shù)據(jù)處理裝置,其特征在于 所述數(shù)據(jù)處理裝置還具備顯示部,所述控制部件包含顯示控制部,在所述第1情況下,該顯示控制部使 所述顯示部執(zhí)行表示禁止所述一部分的調(diào)試處理之意的顯示,在所述第2情況下,該顯示控制部使所述顯示部顯示所述調(diào)試處理的結(jié)果。
7、 根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理裝置,其特征在于 所述判定部件對所述驗證值與所述識別符進行比較,在所述驗證值與所述識別符一致的情況下,判定為允許所述調(diào)試處理。
8、 根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理裝置,其特征在于 所述判定部件,包含比較值保持部,該比較值保持部以保護其不被非法訪問的狀態(tài)存 儲比較值,并且執(zhí)行將所述驗證值與所述識別符用作運算符的規(guī)定運算,在該運算結(jié) 果與所述存儲的所述比較值一致的情況下,判定為允許所述調(diào)試處理。
9、 根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理裝置,其特征在于 所述數(shù)據(jù)處理裝置具有具備防止從外部非法訪問的機構(gòu)的安全域, 所述數(shù)據(jù)處理裝置具備通常模式與安全模式作為動作模式,切換所述通常模式與所述安全模式而動作,僅在所述安全模式時使用所述安全域而 動作,所述數(shù)據(jù)處理裝置還具備切換部,該切換部切換所述通常模式與所述 安全模式,在所述通常模式下動作的程序,通過經(jīng)由所述切換部將規(guī)定的處理請 求通知給在所述安全模式下動作的程序,從而能訪問在所述安全模式下動 作的程序,所述調(diào)試對象程序存儲在所述安全域中,所述第2取得部件在所述安全域中,從所述調(diào)試對象程序執(zhí)行所述驗 證值的所述取得,所述判定部件在所述安全域中執(zhí)行所述判定。
10、 根據(jù)權(quán)利要求9所述的數(shù)據(jù)處理裝置,其特征在于 所述調(diào)試處理部在所述安全域之外在所述通常模式下動作, 所述數(shù)據(jù)處理裝置還具備在所述安全模式下執(zhí)行調(diào)試處理的安全調(diào)試器,所述安全調(diào)試器包含于所述安全域中,所述調(diào)試處理部輸出所述調(diào)試對象程序的調(diào)試處理請求, 所述控制部件,在所述調(diào)試處理部輸出所述調(diào)試處理請求時,使所述判定部件執(zhí)行所述判定,當(dāng)判定為不允許時,禁止所述安全調(diào)試器對涉及所述調(diào)試處理請求的所述調(diào)試對象程序進行調(diào)試處理。
11、 根據(jù)權(quán)利要求10所述的數(shù)據(jù)處理裝置,其特征在于 所述調(diào)試對象程序的所述規(guī)定部分中,包含表示對于構(gòu)成所述調(diào)試對象程序的各部分允許或不允許訪問的訪問控制列表,所述第2取得部件包含訪問控制列表取得部,該訪問控制列表取得部 取得所述調(diào)試對象程序的所述規(guī)定部分中包含的所述訪問控制列表,所述數(shù)據(jù)處理裝置還具備訪問判定部件,該訪問判定部件根據(jù)所述取 得的所述訪問控制列表,判定是否允許訪問所述調(diào)試對象程序的所述一部所述訪問判定部件在所述安全域中執(zhí)行所述判定,所述控制部件,對于所述調(diào)試處理部輸出的所述調(diào)試處理請求所涉及 的所述調(diào)試對象程序,在所述判定部件判定為允許、且所述訪問判定部件 判定為不允許的情況下,禁止所述安全調(diào)試器執(zhí)行所述一部分的所述調(diào)試 處理,在所述判定部件判定為允許、且所述訪問判定部件判定為允許的情 況下,使所述安全調(diào)試器執(zhí)行所述一部分的調(diào)試處理。
12、 根據(jù)權(quán)利要求10所述的數(shù)據(jù)處理裝置,其特征在于 所述調(diào)試處理部具有對所述通常程序和與所述通常程序協(xié)同的所述調(diào)試對象程序執(zhí)行調(diào)試處理的功能,所述調(diào)試處理部進行的所述調(diào)試對象程序的調(diào)試處理,通過所述調(diào)試 處理部輸出調(diào)試處理請求、并且所述調(diào)試處理部經(jīng)所述切換部受理由所述 安全調(diào)試器對所輸出的所述調(diào)試處理請求執(zhí)行的調(diào)試處理的結(jié)果來執(zhí)行。
13、 根據(jù)權(quán)利要求12所述的數(shù)據(jù)處理裝置,其特征在于 所述調(diào)試處理部輸出識別該調(diào)試處理部所附著的通常程序的處理識別符,所述安全調(diào)試器,將位于與從所述調(diào)試處理部輸出的所述處理識別符 所示的通常程序協(xié)同動作的調(diào)試對象程序的入口點的命令,變更為斷開命 令。
14、 根據(jù)權(quán)利要求12所述的數(shù)據(jù)處理裝置,其特征在于 所述數(shù)據(jù)處理裝置,當(dāng)在所述安全模式下在執(zhí)行所述調(diào)試對象程序過程中檢測出調(diào)試例外時,經(jīng)所述切換部向所述調(diào)試處理部通知調(diào)試例外的 發(fā)生,所述調(diào)試處理部,當(dāng)從所述切換部受理所述調(diào)試例外的發(fā)生通知時, 輸出表示調(diào)試處理的執(zhí)行結(jié)果的調(diào)試信息的取得請求,所述安全調(diào)試器,當(dāng)所述判定部件對于所述調(diào)試對象程序做出肯定的 判定時,若受理所述調(diào)試信息的取得請求,則執(zhí)行所述調(diào)試對象程序的調(diào) 試處理,取得調(diào)試信息,經(jīng)所述切換部將取得的調(diào)試信息輸出到所述調(diào)試 處理部。
15、 根據(jù)權(quán)利要求12所述的數(shù)據(jù)處理裝置,其特征在于 所述數(shù)據(jù)處理裝置還具備第1結(jié)果顯示部,將所述通常程序的調(diào)試處理的結(jié)果顯示于第1顯示區(qū)域;和第2結(jié)果顯示部,將與所述通常程序的協(xié)同所涉及的調(diào)試對象程序的 調(diào)試處理的結(jié)果,顯示于與所述第1顯示區(qū)域不同的第2顯示區(qū)域,所述第1和第2結(jié)果顯示部,在所述協(xié)同所涉及的調(diào)試對象程序與所 述通常程序協(xié)同動作時,在所述第1顯示區(qū)域和所述第2顯示區(qū)域中,顯 示所述調(diào)試對象程序與所述通常程序的調(diào)試處理的結(jié)果。
16、 根據(jù)權(quán)利要求12所述的數(shù)據(jù)處理裝置,其特征在于 在所述通常模式下,通常OS動作, 在所述安全模式下,保護OS動作,所述通常程序作為所述通常OS生成的處理,在所述通常模式下動作, 所述調(diào)試處理部作為在所述通常OS中動作的調(diào)試器,在所述通常模式 下動作,所述調(diào)試對象程序作為所述保護OS生成的處理,在所述安全模式下動作,所述安全調(diào)試器作為所述保護OS具有的功能被安裝。
17、 根據(jù)權(quán)利要求10所述的數(shù)據(jù)處理裝置,其特征在于 所述控制部件,當(dāng)所述調(diào)試處理部輸出所述調(diào)試處理請求時,使所述判定部件執(zhí)行所述判定,當(dāng)判定為不允許時,向所述調(diào)試處理部輸出表示 禁止執(zhí)行所述調(diào)試處理的不可調(diào)試處理通知。
18、 一種程序生成裝置,其特征在于 具備程序取得部件,取得包含應(yīng)保密的保護信息的程序; 驗證值生成部件,生成用于按照調(diào)試處理部的識別符判定是否允許對所取得的所述程序的調(diào)試處理的驗證值;和保護程序生成部件,向所述程序附加所述驗證值生成部件對所述程序生成的驗證值,生成保護程序。
19、 根據(jù)權(quán)利要求18所述的程序生成裝置,其特征在于 所述程序生成裝置還包含訪問控制列表取得部,該控制列表取得部取得表示對于構(gòu)成所述程序的各部分允許或不允許訪問的訪問控制列表,所述保護程序生成部件包含訪問控制列表附加部,該訪問控制列表附 加部將所述取得的訪問控制列表附加于所述程序。
20、 一種數(shù)據(jù)處理方法,控制調(diào)試處理部的調(diào)試處理的執(zhí)行,其特征在于包含第1取得步驟,取得識別所述調(diào)試處理部的識別符;第2取得步驟,取得處于被保護不受非法訪問的狀態(tài)下的調(diào)試對象程 序的規(guī)定部分中包含的驗證值;判定步驟,對從所述調(diào)試對象程序取得的所述驗證值與在所述第1取 得步驟中取得的所述識別符進行比較,按照該比較結(jié)果,判定是否允許對 所述調(diào)試對象程序的調(diào)試處理;和控制步驟,當(dāng)判定為不允許時,禁止對所述調(diào)試對象程序執(zhí)行調(diào)試處理。
21、 一種計算機可讀取的控制程序,在數(shù)據(jù)處理裝置中執(zhí)行,該數(shù)據(jù)處理裝置控制調(diào)試處理部的調(diào)試處理的執(zhí)行,其特征在于 包含第1取得步驟,取得識別所述調(diào)試處理部的識別符;第2取得步驟,取得處于被保護不受非法訪問的狀態(tài)下的調(diào)試對象程 序的規(guī)定部分中包含的驗證值;判定步驟,對從所述調(diào)試對象程序取得的所述驗證值與在所述第1取 得步驟中取得的所述識別符進行比較,按照該比較結(jié)果,判定是否允許對 所述調(diào)試對象程序的調(diào)試處理;和控制步驟,當(dāng)判定為不允許時,禁止對所述調(diào)試對象程序執(zhí)行調(diào)試處理。
22、 一種集成電路,用于數(shù)據(jù)處理裝置,該數(shù)據(jù)處理裝置控制調(diào)試處 理部的調(diào)試處理的執(zhí)行,其特征在于-具備第1取得部,取得識別所述調(diào)試處理部的識別符; 第2取得部,取得處于被保護不受非法訪問的狀態(tài)下的調(diào)試對象程序 的規(guī)定部分中包含的驗證值;判定部,對從所述調(diào)試對象程序取得的所述驗證值與由所述第1取得 部取得的所述識別符進行比較,按照該比較結(jié)果,判定是否允許對所述調(diào) 試對象程序的調(diào)試處理;和控制部,當(dāng)判定為不允許時,禁止對所述調(diào)試對象程序執(zhí)行調(diào)試處理。
23、 一種程序生成方法,其特征在于 包含程序取得步驟,取得包含應(yīng)保密的保護信息的程序; 驗證值生成步驟,生成用于按照調(diào)試處理部的識別符判定是否允許對所取得的所述程序的調(diào)試處理的驗證值;和保護程序生成步驟,向所述程序附加所述驗證值生成步驟中對所述程序生成的驗證值,生成保護程序。
24、 一種計算機可讀取的控制程序,用于使程序生成裝置執(zhí)行生成程 序的處理,其特征在于包含程序取得步驟,取得包含應(yīng)保密的保護信息的程序; 驗證值生成步驟,生成用于按照調(diào)試處理部的識別符判定是否允許對所取得的所述程序的調(diào)試處理的驗證值;和保護程序生成步驟,向所述程序附加所述驗證值生成步驟中對所述程序生成的驗證值,生成保護程序。
25、 一種集成電路,用于生成程序的程序生成裝置,其特征在于包含程序取得部,取得包含應(yīng)保密的保護信息的程序;驗證值生成部,生成用于按照調(diào)試處理部的識別符判定是否允許對所 取得的所述程序的調(diào)試處理的驗證值;和保護程序生成部,向所述程序附加所述驗證值生成部對所述程序生成 的驗證值,生成保護程序。
全文摘要
數(shù)據(jù)處理裝置控制調(diào)試器對程序執(zhí)行調(diào)試處理。程序中包含用于判定可否調(diào)試處理的驗證值、和對程序的每個部分示出可否訪問程序的訪問控制列表。數(shù)據(jù)處理裝置取得調(diào)試器的調(diào)試器ID、與程序中包含的驗證值和訪問控制列表。對應(yīng)于調(diào)試器ID與驗證值的比較結(jié)果,判定可否調(diào)試處理。另外,構(gòu)成調(diào)試對象的程序的部分若在訪問控制列表中示為可訪問,則允許訪問,若為不可訪問,則不允許訪問。
文檔編號G06F11/28GK101427222SQ20078001473
公開日2009年5月6日 申請日期2007年4月24日 優(yōu)先權(quán)日2006年4月24日
發(fā)明者井藤好克, 前田學(xué), 松島秀樹 申請人:松下電器產(chǎn)業(yè)株式會社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1