欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

信息處理裝置、管理裝置、非法模塊檢測系統(tǒng)、非法模塊檢測方法、記錄非法模塊檢測程序...的制作方法

文檔序號:6348077閱讀:282來源:國知局
專利名稱:信息處理裝置、管理裝置、非法模塊檢測系統(tǒng)、非法模塊檢測方法、記錄非法模塊檢測程序 ...的制作方法
技術領域
本發(fā)明涉及一種確定有可能進行非法動作的模塊的技術。
背景技術
近年來,為了使具有隱匿數(shù)據(jù)的應用程序不被有惡意的第三者(下面稱為“攻擊者”)解析,開發(fā)出利用軟件來保護應用程序的技術。作為利用軟件來保護應用程序的技術,例如有使用哈希值的篡改驗證、或在不利用應用程序時加密并保存、僅在利用時才解密并加載到存儲器的解密加載功能等。但是,即便利用這種技術,保護應用程序的軟件(下面稱為“保護控制模塊”)自身也有可能被攻擊者篡改。若保護控制模塊被篡改,則應用程序曝露于攻擊者的攻擊之下。 因此,使用進行保護控制模塊的篡改檢測的檢測模塊,來進行保護控制模塊的篡改檢測。檢測模塊讀入保護控制模塊的全部數(shù)據(jù),計算MAC(MeSSage Authentication Code 消息認證碼)值,從而進行保護控制模塊的篡改檢測。先行技術文獻專利文獻專利文獻1 日本專利第3056732號公報專利文獻2 :W02008/099682非專利文獻非專利文獻1 岡本龍明,山本博資,“現(xiàn)代暗號”,產業(yè)圖書(1997年)# 專禾I」文 ^ 2 =ITU-T Recommendation X. 509(1997E) =Information Technology-Open Systems Interconnection—The Directory Authentication Framework,1997非專禾O 文獻 3 :F. Preparata, G. Metze and R. T. Chien, "On The Connection Assignment Problem of Diagnosable Systems,” IEEE Trans. Electronic Computers, vol. 16,pp.848-854,1968.發(fā)明的概要發(fā)明要解決的問題但是,在進行保護控制模塊的篡改檢測的檢測模塊被篡改、安全性惡化的情況下, 存在保護控制模塊中包含的密鑰數(shù)據(jù)或保護控制模塊的功能自身被檢測模塊非法利用的危險性。如果這樣,則有可能通過檢測模塊來安裝非法應用程序,通過該應用程序泄漏用戶的個人信息或內容等。

發(fā)明內容
本發(fā)明是鑒于上述問題而做出的,其目的在于,提供一種信息處理裝置、管理裝置、非法模塊檢測系統(tǒng)、非法模塊檢測方法、記錄非法模塊檢測程序的記錄媒體、管理方法、 記錄管理程序的記錄媒體和集成電路,不用向檢測模塊通知保護控制模塊的密鑰數(shù)據(jù)或功能,就可進行保護控制模塊的篡改檢測。用于解決問題的手段為了實現(xiàn)上述目的,本發(fā)明的信息處理裝置,包括具有保護應用的功能的保護控制模塊和多個檢測模塊,其特征在于,所述保護控制模塊具備解密單元,加密后的所述應用作為輸入數(shù)據(jù)而被輸入,將所述輸入數(shù)據(jù)進行解密,并將解密結果作為輸出數(shù)據(jù)來輸出;分割單元,將所述輸出數(shù)據(jù)分割為至少k(k> 2)個分割數(shù)據(jù);以及分配單元,將分割后的k個分割數(shù)據(jù)分配給任一檢測模塊,所述多個檢測模塊分別具備驗證單元,該驗證單元使用被分配的分割數(shù)據(jù)、根據(jù)所述輸入數(shù)據(jù)和所述解密單元進行了正常動作時所期望的分割數(shù)據(jù)的值來生成的驗證數(shù)據(jù)、以及輸入數(shù)據(jù),判斷被分配的分割數(shù)據(jù)是否正確。發(fā)明效果根據(jù)本發(fā)明,各檢測模塊不進行使用保護控制模塊自身的數(shù)據(jù)的驗證,而驗證保護控制模塊執(zhí)行的應用的解密處理,所以能夠防止向各檢測模塊泄漏保護控制模塊所具有的隱匿數(shù)據(jù)。另外,根據(jù)本發(fā)明,多個檢測模塊分別對不同的分割數(shù)據(jù)進行驗證,所以能夠防止對各檢測模塊泄漏應用的數(shù)據(jù)。


圖1是實施方式1中的非法模塊檢測系統(tǒng)1的整體結構圖。
圖2是實施方式1中的保護控制模塊120的框圖。
圖3是實施方式1中的檢測模塊131的框圖。
圖4是實施方式1中的設備100的硬件結構圖。
圖5是實施方式1中的設備100的軟件分層圖。
圖6是實施方式1中的判斷部210的框圖。
圖7是實施方式1中的驗證基數(shù)據(jù)分發(fā)部220的框圖。
圖8是表示實施方式1中的非法模塊檢測系統(tǒng)1的整體動作的流程圖。
圖9是實施方式1中的初始設計處理的時序圖。
圖10是實施方式1中的檢測模塊初始化處理的流程圖。
圖11是實施方式1中的驗證基數(shù)據(jù)生成處理的流程圖。
圖12是用于說明實施方式1中的數(shù)據(jù)分割的圖。
圖13是表示實施方式1中的分割數(shù)據(jù)1的驗證數(shù)據(jù)(證書)701的i(據(jù)結構的圖。
圖14是表示實施方式1中的分割數(shù)據(jù)2的驗證數(shù)據(jù)(證書)702的I(據(jù)結構的圖。
圖15是表示實施方式1中的分割數(shù)據(jù)3的驗證數(shù)據(jù)(證書)703的I(據(jù)結構的圖。
圖16是實施方式1中的檢測處理的時序圖。
圖17是實施方式1中的檢測處理的時序圖。
圖18是實施方式1中的驗證基數(shù)據(jù)更新處理的時序圖。
圖19是實施方式1中的相互監(jiān)視處理的時序圖。
圖20是實施方式2中的檢測處理的時序圖。
圖21是實施方式2中的檢測處理的時序圖。圖22是實施方式2中的檢測處理的時序圖。圖23是實施方式3中的保護控制模塊120a的框圖。圖M是實施方式3中的檢測模塊131a的框圖。圖25是實施方式3中的驗證基數(shù)據(jù)分發(fā)部220a的框圖。圖沈是表示實施方式3中的非法模塊檢測系統(tǒng)的整體動作的流程圖。圖27是實施方式3中的初始設計處理的時序圖。圖觀是實施方式3中的初始設計處理的時序圖。圖四是實施方式3中的檢測模塊初始化處理的流程圖。圖30是實施方式3中的解析判斷處理的時序圖。圖31是實施方式3中的相互認證處理的時序圖。圖32是實施方式3中的相互認證處理的時序圖。圖33是實施方式3中的恢復處理的流程圖。圖34是實施方式3中的相互監(jiān)視處理的時序圖。圖35是實施方式3中的更新處理的時序圖。圖36是實施方式3中的更新處理的時序圖。圖37是用于說明實施方式3中的相互監(jiān)視處理與更新處理的聯(lián)攜動作的圖。圖38是實施方式3中的再加密處理的時序圖。圖39是實施方式3中的下一輪準備處理的時序圖。圖40是實施方式4中的非法模塊檢測系統(tǒng)2的整體結構圖。圖41是實施方式4中的更新模塊141的框圖。圖42是實施方式4中的保護控制模塊120b的框圖。圖43是實施方式4中的訪問控制模塊140的框圖。圖44是實施方式4中的設備IOOb的硬件結構圖。圖45是實施方式4中的設備IOOb的軟件分層圖。圖46是實施方式4中的判斷部210b的框圖。圖47是實施方式4中的更新用軟件分發(fā)部MO的框圖。圖48是實施方式4中的模塊無效化部250的框圖。圖49是表示實施方式4中的非法模塊檢測系統(tǒng)2的整體動作的流程圖。圖50是用于說明實施方式4中的初始設計處理的圖。圖51是實施方式4中的初始設計處理的時序圖。圖52是實施方式4中的更新模塊初始化處理的流程圖。圖53是實施方式4中的檢測處理的時序圖。圖M是實施方式4中的解析判斷處理的時序圖。圖55是實施方式4中的相互認證處理的時序圖。圖56是實施方式4中的相互認證處理的時序圖。圖57是實施方式4中的恢復處理的流程圖。圖58是實施方式4中的相互監(jiān)視處理的時序圖。圖59是實施方式4中的更新處理的時序圖。
圖60是實施方式4中的更新處理的時序圖。圖61是用于說明實施方式4中的相互監(jiān)視處理與更新處理的聯(lián)攜動作的圖。圖62是實施方式4中的再加密處理的時序圖。圖63是實施方式4中的下一輪準備處理的時序圖。圖64是實施方式4中的無效化處理的時序圖。圖65是實施方式5中的保護控制模塊120c的框圖。圖66是實施方式5中的更新模塊141c的框圖。圖67是實施方式5中的更新用軟件分發(fā)部MOc的框圖。圖68是實施方式5中的初始設計處理的時序圖。圖69是實施方式5中的初始設計處理的時序圖。圖70是實施方式5中的更新模塊初始化處理的流程圖。圖71是實施方式5中的驗證基數(shù)據(jù)生成處理的流程圖。圖72是表示實施方式5中的驗證基數(shù)據(jù)1200的數(shù)據(jù)結構的圖。圖73是實施方式5中的檢測處理的時序圖。圖74是實施方式5中的再加密處理的時序圖。圖75是實施方式5中的下一輪準備處理的時序圖。圖76是實施方式5中的驗證基數(shù)據(jù)更新處理的時序圖。圖77是用于說明實施方式6中將解密處理分割為多個解密部分處理的具體例的圖。圖78是表示實施方式6中的驗證基數(shù)據(jù)1300的數(shù)據(jù)結構的圖。圖79是實施方式6中的驗證基數(shù)據(jù)生成處理的流程圖。圖80是實施方式6中的檢測處理的時序圖。圖81是實施方式6中的檢測處理的時序圖。圖82是表示實施方式6中的解密部分處理1的驗證數(shù)據(jù)1301的數(shù)據(jù)結構的圖。圖83是表示實施方式6中的解密部分處理2的驗證數(shù)據(jù)1302的數(shù)據(jù)結構的圖。圖84是表示實施方式6中的解密部分處理3的驗證數(shù)據(jù)1303的數(shù)據(jù)結構的圖。圖85表示實施方式7中的驗證基數(shù)據(jù)1400的數(shù)據(jù)結構的圖。圖86是表示實施方式7中的驗證數(shù)據(jù)1401的數(shù)據(jù)結構的圖。圖87是實施方式8中的檢測處理的時序圖。圖88是實施方式8中的檢測處理的時序圖。圖89是表示實施方式9中的驗證數(shù)據(jù)1500的數(shù)據(jù)結構的圖。圖90是實施方式9中的初始設計處理的時序圖。圖91是實施方式9中的初始設計處理的時序圖。圖92是實施方式9中的驗證數(shù)據(jù)生成處理的流程圖。圖93是實施方式9中的檢測處理的時序圖。圖94是實施方式9中的檢測處理的時序圖。圖95是實施方式9中的下一輪準備處理的時序圖。圖96是實施方式9中的驗證數(shù)據(jù)更新處理的時序圖。圖97是實施方式10中的檢測處理的時序圖。
圖98是實施方式10中的檢測處理的時序圖。圖99是實施方式10中的檢測處理的時序圖。圖100是用于說明變形例8中的應用的分割方法的具體例的圖。圖101是表示變形例41中的驗證基數(shù)據(jù)1600的數(shù)據(jù)結構的圖。
具體實施例方式技術方案1所述的方式是一種信息處理裝置,包含具有保護應用的功能的保護控制模塊和多個檢測模塊,其特征在于,所述保護控制模塊具備解密單元,加密后的所述應用作為輸入數(shù)據(jù)而被輸入,對所述輸入數(shù)據(jù)進行解密,并將解密結果作為輸出數(shù)據(jù)來輸出;分割單元,將所述輸出數(shù)據(jù)分割為至少k(k>2)個分割數(shù)據(jù);和分配單元,將分割后的k個分割數(shù)據(jù)分配給任一檢測模塊,所述多個檢測模塊分別具備驗證單元,該驗證單元使用被分配的分割數(shù)據(jù)、根據(jù)所述輸入數(shù)據(jù)和所述解密單元進行了正常動作時所期望的分割數(shù)據(jù)的值來生成的驗證數(shù)據(jù)、和輸入數(shù)據(jù),判斷被分配的分割數(shù)據(jù)是否正確。技術方案2所述的方式的特征在于,所述保護控制模塊保持記述了所述輸出數(shù)據(jù)的分割方法的分割信息,所述分割單元使用所述分割信息來分割所述輸出數(shù)據(jù),所述分配單元還將對分配給各檢測模塊的分割數(shù)據(jù)各自的驗證數(shù)據(jù)和所述輸入數(shù)據(jù)發(fā)送給各檢測模塊。根據(jù)該結構,保護控制模塊可生成用于分配給所述多個檢測模塊的分割數(shù)據(jù)。技術方案3所述的方式的特征在于,所述各檢測模塊還具備驗證確認單元,該驗證確認單元從其他檢測模塊取得被分配給該其他檢測模塊的分割信息,并根據(jù)預先提供的判定信息,確認是否由其他檢測模塊的驗證單元進行了驗證處理。根據(jù)該結構,各檢測模塊能夠確認根據(jù)所述輸出數(shù)據(jù)生成的k個分割數(shù)據(jù)是否全部被驗證,所以能夠夠更正確地檢測保護控制模塊的非法。權利要求4所述的方式的特征在于,所述各檢測模塊在所述驗證單元執(zhí)行驗證之后,消除被分配的分割數(shù)據(jù),確認其他檢測模塊是否消除了被分配的分割數(shù)據(jù)。根據(jù)該結構,由于檢測模塊內不累積分割數(shù)據(jù),所以能夠防止由分割數(shù)據(jù)泄漏保護控制模塊的信息或應用程序的信息。技術方案5所述的方式的特征在于,所述各檢測模塊具備進行其他檢測模塊的篡改驗證的相互監(jiān)視單元,在由所述相互監(jiān)視單元檢測到篡改的情況下,判斷為所述其他檢測模塊未消除分割數(shù)據(jù),在未檢測到篡改的情況下,判斷為所述其他檢測模塊消除了分割數(shù)據(jù)。檢測模塊具有消除分割數(shù)據(jù)的功能(消除程序)。因此,若能利用相互監(jiān)視處理確認檢測模塊自身未被篡改,則能夠保證所述消除程序正常動作,分割數(shù)據(jù)被消除。技術方案6所述的方式的特征在于,所述分割單元通過取所述輸出數(shù)據(jù)的互為素數(shù)的k個約數(shù),來分割為k個分割數(shù)據(jù),所述分割信息表示分割數(shù)k和k個約數(shù)的值,所述判定信息表示將k個約數(shù)的值相乘而得到的值。根據(jù)該結構,能夠通過使用中國剩余定理,根據(jù)k個分割數(shù)據(jù)來復原原始的輸出數(shù)據(jù)。技術方案7所述的方式的特征在于,所述檢測模塊分別具備將驗證結果發(fā)送給外部的管理裝置的發(fā)送單元,所述多個檢測模塊中的至少一個檢測模塊具備更新單元,該更新單元在由所述外部的管理裝置判斷為所述保護控制模塊被篡改的情況下,更新所述保護控制模塊。根據(jù)該結構,在外部的非法管理裝置利用各檢測模塊的驗證處理來判斷為保護控制模塊被篡改的情況下,能夠將被篡改的保護控制模塊更新為新的保護控制模塊,所以能夠防止泄漏應用所保持的隱匿數(shù)據(jù)。技術方案8所述的方式是一種信息處理裝置,包括具有保護應用的功能的保護控制模塊和多個檢測模塊,其特征在于,所述保護控制模塊具備解密單元,對加密后的所述應用程序,執(zhí)行由k個處理工序構成的解密處理;和分配單元,將作為所述k個處理工序各自的輸出數(shù)據(jù)的k個被驗證數(shù)據(jù)分配給所述多個檢測模塊,所述多個檢測模塊分別具備驗證單元,該驗證單元使用被分配的被驗證數(shù)據(jù)、向與所述被驗證數(shù)據(jù)對應的處理工序的輸入數(shù)據(jù)、以及根據(jù)所述輸入數(shù)據(jù)和所述解密單元進行了正常動作時所期望的輸出數(shù)據(jù)來生成的驗證數(shù)據(jù),判斷所述被驗證數(shù)據(jù)是否正確。根據(jù)該結構,各檢測模塊不執(zhí)行使用保護控制模塊自身的數(shù)據(jù)的驗證,而驗證保護控制模塊執(zhí)行的應用的解密處理,所以能夠防止向各檢測模塊泄漏保護控制模塊具有的
隱匿數(shù)據(jù)。另外,根據(jù)本發(fā)明,多個檢測模塊分別進行對不同的處理工序的驗證,所以能夠防止向各檢測模塊泄漏應用的數(shù)據(jù)。另外,根據(jù)本發(fā)明,還能夠檢測解密處理中哪個處理工序被篡改。技術方案9所述的方式的特征在于,所述保護控制模塊具備多個應用;驗證基數(shù)據(jù)保持單元,保持k個驗證基數(shù)據(jù);以及驗證數(shù)據(jù)生成單元,根據(jù)所述k個驗證基數(shù)據(jù),生成分發(fā)給各檢測模塊的k個驗證數(shù)據(jù),所述k個驗證基數(shù)據(jù)對應于所述k個處理工序中的各個處理工序,對于所述多個應用中的各個應用包含加密后的應用;驗證值,表示所述解密單元進行了正常動作時所期望的各處理工序的輸入數(shù)據(jù)與輸出數(shù)據(jù)的對應關系;以及結合數(shù)據(jù)驗證值,根據(jù)將多個所述驗證值結合而得到的數(shù)據(jù)來生成,所述驗證數(shù)據(jù)生成單元從所述k個驗證基數(shù)據(jù)中刪除與所述解密單元所解密的應用對應的驗證值、以及該應用以外的加密后的應用的數(shù)據(jù),從而生成k個驗證數(shù)據(jù)。權利要求10所述的方式的特征在于,各檢測模塊的驗證單元根據(jù)所述被驗證數(shù)據(jù)和在接收到的所述驗證數(shù)據(jù)中包含的加密后的應用的數(shù)據(jù),生成驗證值,將生成的所述驗證值與在接收到的所述驗證數(shù)據(jù)中包含的多個驗證值結合而生成結合數(shù)據(jù),根據(jù)所述結合數(shù)據(jù),生成結合數(shù)據(jù)驗證值,驗證所生成的結合數(shù)據(jù)驗證值與在接收到的所述驗證數(shù)據(jù)中包含的所述結合數(shù)據(jù)驗證值是否一致。根據(jù)該結構,能夠從保護控制模塊向各檢測模塊分配僅公開了與保護控制模塊解密的應用有關的信息的驗證數(shù)據(jù),所以能夠防止向檢測模塊公開驗證中不需要的信息(有關其他應用的信息)。各檢測模塊能夠使用被提供的驗證數(shù)據(jù),來進行保護控制模塊的驗證。技術方案11所述的方式的特征在于,所述檢測模塊分別在所述驗證單元進行驗證之后,消除接收到的驗證數(shù)據(jù),確認其他檢測模塊是否消除了接收到的驗證數(shù)據(jù)。根據(jù)該結構,檢測模塊內不會累積驗證數(shù)據(jù),所以能夠防止由驗證數(shù)據(jù)泄漏保護控制模塊的信息或應用的信息。技術方案12所述的方式的特征在于,所述檢測模塊分別具備進行其他檢測模塊的篡改驗證的相互監(jiān)視單元,在由所述相互監(jiān)視單元檢測到篡改的情況下,判斷為所述其他檢測模塊未消除驗證數(shù)據(jù),在未檢測到篡改的情況下,判斷為所述其他檢測模塊消除了所述驗證數(shù)據(jù)。根據(jù)該結構,檢測模塊具有消除驗證數(shù)據(jù)的功能(消除程序)。因此,若能利用相互監(jiān)視處理確認檢測模塊自身未被篡改,則能夠保證所述消除程序正常動作,驗證數(shù)據(jù)被消除。技術方案13所述的方式是一種信息處理裝置,包括具有保護應用的功能的保護控制模塊和多個檢測模塊,其特征在于,所述保護控制模塊具備處理單元,對輸入數(shù)據(jù)實施規(guī)定的處理,輸出輸出數(shù)據(jù);詢問數(shù)據(jù)接收單元,從所述多個檢測模塊中的各個檢測模塊接收詢問數(shù)據(jù);以及發(fā)送單元,將對所述處理單元輸入了詢問數(shù)據(jù)時的輸出數(shù)據(jù)即響應數(shù)據(jù)發(fā)送給各檢測模塊,所述多個檢測模塊分別具備保持單元,對于多個詢問數(shù)據(jù),保持表示在將各詢問數(shù)據(jù)作為輸入數(shù)據(jù)時所述處理單元進行了正常動作的情況下所期望的輸出數(shù)據(jù)與所述詢問數(shù)據(jù)的對應關系的驗證數(shù)據(jù);詢問數(shù)據(jù)發(fā)送單元,將一個詢問數(shù)據(jù)發(fā)送給所述保護控制模塊;響應數(shù)據(jù)接收單元,從所述保護控制模塊接收所述響應數(shù)據(jù);以及驗證單元,使用所述驗證數(shù)據(jù),驗證接收到的所述響應數(shù)據(jù),至少兩個檢測模塊根據(jù)同一響應數(shù)據(jù)來驗證所述保護控制模塊。技術方案14所述的方式的特征在于,所述驗證數(shù)據(jù)包含多個詢問數(shù)據(jù),所述詢問數(shù)據(jù)發(fā)送單元從所述驗證數(shù)據(jù)所包含的所述多個詢問數(shù)據(jù)中選擇一個詢問數(shù)據(jù),發(fā)送給所述保護控制模塊。根據(jù)該結構,各檢測模塊不執(zhí)行使用保護控制模塊自身的數(shù)據(jù)的驗證,而驗證保護控制模塊執(zhí)行的處理,所以能夠防止向各檢測模塊泄漏保護控制模塊具有的隱匿數(shù)據(jù)。 另外,根據(jù)本發(fā)明,能夠防止向各檢測模塊泄漏應用的數(shù)據(jù)。技術方案15所述的方式的特征在于,所述保護控制模塊生成表示所述k個處理工序的處理順序的順序信息,向各檢測模塊發(fā)送所生成的所述順序信息,各檢測模塊的驗證單元按照接收到的所述順序信息表示的處理順序,驗證所述被驗證數(shù)據(jù)。技術方案16所述的方式的特征在于,各檢測模塊具備被驗證數(shù)據(jù)接收單元,從進行了與該檢測模塊所驗證的處理工序的緊前的處理工序有關的驗證處理的檢測模塊,接收所述被驗證數(shù)據(jù);和被驗證數(shù)據(jù)發(fā)送單元,若所述驗證單元進行的驗證成功,則參照所述順序信息,確定進行與下一處理工序有關的驗證處理的檢測模塊,向確定的所述檢測模塊發(fā)送被驗證數(shù)據(jù),所述驗證單元使用所述被驗證數(shù)據(jù)接收單元接收到的所述被驗證數(shù)據(jù), 進行驗證處理。技術方案17所述的方式的特征在于,各檢測模塊還具備輸入數(shù)據(jù)驗證單元,驗證所述接收單元接收到的所述被驗證數(shù)據(jù)與所述輸入數(shù)據(jù)是否一致;和通知單元,在所述被驗證數(shù)據(jù)與所述輸入數(shù)據(jù)不一致的情況下,將該情況通知給外部。根據(jù)該結構,能夠驗證所述解密單元是否按正確的順序執(zhí)行了 k個處理工序。另外,若各處理工序未按正確的順序執(zhí)行,則可視為保護控制模塊進行非法動作, 將該情況通知給合法的管理裝置。
技術方案18所述的方式的特征在于,所述驗證數(shù)據(jù)包含外部的管理裝置的數(shù)字簽名。技術方案19所述的方式的特征在于,所述驗證數(shù)據(jù)是對所述輸入數(shù)據(jù)和所述解密單元進行了正常動作時所期望的輸出數(shù)據(jù)的、外部的管理裝置的數(shù)字簽名。根據(jù)該結構,能夠保證驗證數(shù)據(jù)的合法性。技術方案20所述的方式的特征在于,所述檢測模塊分別具備將驗證結果發(fā)送給外部的管理裝置的發(fā)送單元,所述多個檢測模塊中的至少一個驗證模塊具備更新單元,該更新單元在由所述管理裝置判斷為所述保護控制模塊被篡改的情況下,更新所述保護控制模塊。根據(jù)該結構,在外部的合法的管理裝置利用各檢測模塊進行的驗證處理、判斷為保護控制模塊被篡改的情況下,能夠將被篡改的保護控制模塊更新為新的保護控制模塊, 所以能夠防止泄漏應用所保持的隱匿數(shù)據(jù)。根據(jù)技術方案21所述的方式,一種管理裝置,具備解密單元,將輸入的加密數(shù)據(jù)進行解密,并將解密結果作為輸出數(shù)據(jù)來輸出;以及分割單元,將所述輸出數(shù)據(jù)分割為多個分割數(shù)據(jù),所述管理裝置與驗證各分割數(shù)據(jù)的信息處理裝置連接,所述管理裝置的特征在于,具備驗證基數(shù)據(jù)生成單元,根據(jù)所述輸入數(shù)據(jù)和所述解密單元進行正常動作時所期望的各分割數(shù)據(jù),生成驗證基數(shù)據(jù);和發(fā)送單元,將所述驗證基數(shù)據(jù)發(fā)送給所述信息處理裝置。根據(jù)該結構,信息處理裝置能夠使用由管理裝置生成的驗證基數(shù)據(jù)來驗證分割數(shù)據(jù)(解密單元的處理),所以能夠保證驗證的合法性。技術方案22所述的方式的特征在于,所述管理裝置還具備接收單元,從所述信息處理裝置接收各分割數(shù)據(jù)的驗證結果;判斷單元,根據(jù)接收到的多個所述驗證結果,判斷所述解密單元是否被篡改;和更新指示單元,在由所述判斷單元判斷為被篡改的情況下,向所述信息處理裝置指示所述解密單元的更新。根據(jù)該結構,能夠更新被篡改的解密單元,所以能夠防止泄漏信息處理裝置所保持的隱匿數(shù)據(jù)。技術方案23所述的方式是一種管理裝置,具備經多個處理工序將輸入的加密數(shù)據(jù)進行解密的解密單元,并與驗證各處理工序的信息處理裝置連接,其特征在于,具備驗證基數(shù)據(jù)生成單元,根據(jù)至所述多個處理工序的輸入數(shù)據(jù)與所述解密單元進行了正常動作時所期望的來自各處理工序的輸出數(shù)據(jù),生成驗證基數(shù)據(jù);和發(fā)送單元,將生成的所述驗證基數(shù)據(jù)發(fā)送給所述信息處理裝置。技術方案M所述的方式的特征在于,所述信息處理裝置的所述解密單元對加密后的多個應用進行解密,所述驗證基數(shù)據(jù)生成單元生成多個所述驗證基數(shù)據(jù),該多個所述驗證基數(shù)據(jù)對應于所述多個處理工序中的各個處理工序,對于所述多個應用中的各個應用包含加密后的應用;驗證值,表示所述解密單元進行了正常動作時所期望的各處理工序的輸入數(shù)據(jù)與輸出數(shù)據(jù)的對應關系;以及結合數(shù)據(jù)驗證值,根據(jù)將多個所述驗證值結合而得到的數(shù)據(jù)來生成。技術方案25所述的方式的特征在于,具備詢問數(shù)據(jù)生成單元,生成多個詢問數(shù)據(jù);驗證數(shù)據(jù)生成單元,將各詢問數(shù)據(jù)作為輸入數(shù)據(jù),生成表示與規(guī)定處理正常動作時所期望的輸出數(shù)據(jù)的對應關系的驗證數(shù)據(jù);和發(fā)送單元,向信息處理裝置發(fā)送所述詢問數(shù)據(jù)和所述驗證數(shù)據(jù)。根據(jù)該結構,由于信息處理裝置能夠利用由管理裝置生成的驗證基數(shù)據(jù)來驗證各處理工序,所以可保證驗證的合法性。以下,參照附圖來詳細說明本發(fā)明的實施方式。〈實施方式1>這里,作為實施方式1,說明適用本發(fā)明的信息處理裝置和管理裝置的非法模塊檢測系統(tǒng)1。1.非法模塊檢測系統(tǒng)1的結構圖1是非法模塊檢測系統(tǒng)1的整體結構圖。非法模塊檢測系統(tǒng)1如圖1所示,由作為本發(fā)明的信息處理裝置的設備100和本發(fā)明的管理裝置的管理裝置200構成。設備100與管理裝置200經網絡連接。(1)設備100的結構設備100是經網絡向用戶提供各種服務的設備。例如,設備100訪問內容分發(fā)服務器,購買音樂或映像等內容后再現(xiàn),或訪問金融機構的系統(tǒng),利用網絡銀行(存款的余額查詢或轉賬等)。如圖1所示,設備100包括應用軟件(下面稱作應用。)110、應用111、應用112、 應用113、應用114、保護控制模塊120和檢測模塊組130。應用110、111、112、113、114分別是用于經網絡向使用設備100的用戶提供各種功能的軟件。例如,是從內容分發(fā)服務器(未圖示)購買音樂內容或映像內容并再現(xiàn)該購買的內容的軟件,或用于訪問金融機構的系統(tǒng)(未圖示)、利用余額確認或轉賬等網絡銀行的軟件。各應用具有用于與內容分發(fā)服務器或金融機構的系統(tǒng)進行認證的認證密鑰等隱匿數(shù)據(jù)。隱匿數(shù)據(jù)是需要進行保護以使不被有惡意的第三者(下面稱為“攻擊者”。)從應用中提取、被非法利用的數(shù)據(jù)。保護控制模塊120是控制用于保護各應用的功能、以免攻擊者解析各應用、提取認證密鑰等隱匿數(shù)據(jù)的模塊。作為用于保護應用的功能,有如下功能在不利用應用時加密后保存、并僅在利用應用時才解密后加載到存儲器的解密加載功能、或檢查應用是否被篡改的檢測功能、檢查調試器等解析工具是否動作的解析工具檢測功能等。保護控制模塊120控制這些功能的動作,檢查各應用是否被攻擊者解析等。當檢測到攻擊者攻擊時,保護控制模塊120停止被檢測到攻擊的應用的動作,進行該應用所利用的存儲器、尤其是記錄隱匿數(shù)據(jù)的存儲區(qū)域的清理(例如用“0”填充存儲區(qū)域)等處理, 防止隱匿數(shù)據(jù)泄漏。檢測模塊組130如圖1所示,包括3個檢測模塊131、檢測模塊132和檢測模塊 133。檢測模塊131、132、133為了驗證保護控制模塊120是否被篡改,判斷保護控制模塊120進行的加密內容解密處理的結果是否正確。另外,檢測模塊131、132、133為了防止由攻擊者篡改檢測模塊、并非法利用篡改后的檢測模塊,而實施相互監(jiān)視處理。所謂相互監(jiān)視處理是檢測模塊相互實施篡改檢測處理。由此,即便在檢測模塊組130中包含的部分檢測模塊受到攻擊的情況下,也能夠檢測出該情況,所以設備100的可靠性提高。各檢測模塊將對保護控制模塊120的驗證結果和檢測模塊間的相互監(jiān)視處理的結果經網絡發(fā)送給管理裝置200。另外,下面,對于應用110、111、112、113、114,在未具體指定哪個來說明時,省略符號。同樣,對于檢測模塊131、132、133,在未具體指定哪個來說明時,省略符號。(保護控制模塊120的詳細結構)圖2是表示保護控制模塊120的功能結構的功能框圖。如圖2所示,保護控制模塊120包括接收部301、發(fā)送部302、控制部303、解密加載部304、篡改檢測部305、解析工具檢測部306、加解密密鑰保持部307、驗證基數(shù)據(jù)保持部 308、驗證數(shù)據(jù)生成部309和應用分割部310。接收部301從各檢測模塊接收分散信息或各種委托等。發(fā)送部302向各檢測模塊發(fā)送各種委托等??刂撇?03控制解密加載部304、篡改檢測部305和解析工具檢測部306,在各應用被攻擊者攻擊的情況下,檢測該情況。解密加載部304在執(zhí)行被加密的應用110、111、112、113、114時,執(zhí)行使用加解密密鑰進行解密并加載到存儲器上的處理。另外,若在應用110、111、112、113、114的執(zhí)行中發(fā)生向其他應用的上下文切換,則解密加載部304使用加密鑰密鑰來加密存儲器上的數(shù)據(jù)。之后,當再次向應用110、111、112、113、114進行了上下文切換時,執(zhí)行將加密的數(shù)據(jù)進行解密的處理。篡改檢測部305執(zhí)行各應用是否被篡改的篡改檢測處理。在篡改檢測處理中,有使用附加于各應用的篡改檢測用證書的方法和比較MAC值的方法。解析工具檢測部306在安裝調試器等解析工具或在解析工具動作時檢測該情況。 這是因為預想到非法攻擊者為了攻擊各應用而安裝解析工具或使該解析工具動作。作為檢測方法,例如使用檢索文件名的方法、或調查是否使用調試器使用的特殊寄存器的方法、或檢測調試器設定的中斷的方法等。加解密密鑰保持部307保持用于加解密各應用的加密鑰密鑰。驗證基數(shù)據(jù)保持部308保持從管理裝置200接收到的驗證基數(shù)據(jù)。關于驗證基數(shù)據(jù)的結構,在后面敘述。驗證數(shù)據(jù)生成部309根據(jù)驗證基數(shù)據(jù)保持部308保持的驗證基數(shù)據(jù),生成驗證數(shù)據(jù)。關于驗證數(shù)據(jù)生成處理,在后面敘述。應用分割部310分割由解密加載部304解密的各應用的數(shù)據(jù)。(檢測模塊131的詳細結構)下面,說明檢測模塊131、132、133的細節(jié)。圖3是表示檢測模塊131的功能結構的功能框圖。檢測模塊132、133也具有同樣的結構。檢測模塊131包括接收部401、發(fā)送部402、控制部403、驗證部404、MAC值生成部 405、MAC值表更新部406、和驗證數(shù)據(jù)保持部407。
接收部401從管理裝置200接收各種指示。另外,接收部401從其他檢測模塊接收進行相互監(jiān)視所需的、該其他檢測模塊的主體。并且,接收部401接收向其他模塊委托的處理的結果、或其他檢測模塊進行的保護控制模塊120的驗證結果等。發(fā)送部402向管理裝置200、保護控制模塊120和其他檢測模塊發(fā)送各種處理結果或證書等數(shù)據(jù)??刂撇?03根據(jù)接收部401接收到的各種指示,控制驗證部404,進行保護控制模塊120和其他檢測模塊的驗證處理。驗證部404使用驗證數(shù)據(jù)保持部407中保持的驗證數(shù)據(jù),驗證保護控制模塊120 是否正常動作。另外,驗證部404使用附加于各檢測模塊的證書或預先計算出的驗證用MAC值等, 驗證各檢測模塊是否被篡改。預先由管理裝置200提供驗證部404在哪個定時進行哪個模塊的篡改檢測處理。驗證部404在由管理裝置200指示了篡改檢測對象的模塊的變更或進行篡改檢測的定時的變更的情況下,按照指示進行變更。MAC值生成部405保持驗證密鑰。MAC值生成部405在驗證部404在篡改檢測處理中使用MAC值的情況下,使用驗證密鑰生成MAC值。MAC值表更新部406更新存儲了各模塊的MAC值的MAC值表。MAC值表中成對存儲用于識別模塊的模塊識別符和與該模塊對應的MAC值。MAC值生成部405取得作為篡改檢測處理對象的模塊,計算MAC值。驗證部404通過比較計算出的MAC值與MAC值表中存儲的對象模塊的MAC值,進行篡改檢測。驗證數(shù)據(jù)保持部407保持用于驗證保護控制模塊120的解密加載部304是否正常動作的驗證數(shù)據(jù)。驗證數(shù)據(jù)由保護控制模塊120提供。另外,關于簽名方式,在非專利文獻1中詳細說明。關于證書,在非專利文獻2中詳細說明。另外,關于分散信息,在專利文獻2中詳細說明。(設備100的硬件結構)下面,用圖4來說明設備100的硬件構成。如圖4所示,設備100包含CPU (Central Processing Unit 中央處理單元)171、 作為非易失性存儲器的 EEPROM (Electrical Iy Erasableand Programmable Readonly Memory 電可擦編程只讀存儲器)172、RAM (Random Access Memory 隨機存取存儲器)173 和MC(Network Interface Card 網絡接口卡)174等而構成。另外,這些經總線相互可通信地連接。EEPR0M172中存儲保護控制模塊120、檢測模塊131、132、133和各應用等。通過CPU171執(zhí)行EEPR0M172中存儲的各種模塊,來實現(xiàn)各種模塊的各功能部。各功能部具體地由計算機程序來記述。RAM173用作CPU171的工作區(qū)域。向RAM173加載各檢測模塊和各應用。作為篡改檢測處理對象的檢測模塊是在RAM173上動作的更新模塊。NIC174是用于連接網絡的擴展卡。(設備100的軟件層級)接著,用圖5來說明設備100的軟件層級。如圖5所示,檢測模塊組130組入0S180中。應用110、111、112、113、114在0S180上動作,保護控制模塊120及引導(boot)加載器150位于0S180的管理之外。當設備100起動時,首先起動保護控制模塊120和檢測模塊組130,執(zhí)行應用。(2)管理裝置200的結構下面,返回圖1,說明管理裝置200的結構。管理裝置200是生成驗證保護控制模塊120是否正確動作所需的驗證基數(shù)據(jù)、并分發(fā)給設備100的裝置。管理裝置200包括判斷部210、驗證基數(shù)據(jù)分發(fā)部220和通信部 230。通信部230經網絡與設備100進行通信。設備100與管理裝置200的通信中也可使用將通信數(shù)據(jù)加密的安全的通信路徑。管理裝置200具體地是具備CPU、ROM、RAM、硬盤單元等的計算機系統(tǒng)。通過由CPU 根據(jù)存儲在ROM或硬盤單元中的計算機程序進行動作,管理裝置200發(fā)揮上述功能。(判斷部210的詳細結構)圖6是功能性地表示判斷部210的結構的功能框圖。如圖6所示,判斷部210包括接收部501、發(fā)送部502、指示生成部503和模塊確定部504。接收部501從各檢測模塊接收驗證結果或各種委托等,輸出給指示生成部503。并且,接收部501若從驗證基數(shù)據(jù)分發(fā)部220接收處理完成的通知,則向指示生成部503通知該情況。發(fā)送部502向驗證基數(shù)據(jù)分發(fā)部220發(fā)送由指示生成部503生成的指示。指示生成部503將從各檢測模塊接收到的篡改檢測結果(下面有時稱為“相互監(jiān)視結果”。)輸出給模塊確定部504。另外,指示生成部503從模塊確定部504取得識別被篡改的非法檢測模塊的信息,并根據(jù)取得的信息,生成對驗證基數(shù)據(jù)分發(fā)部220的指示。另外,指示生成部503若從各檢測模塊接收驗證數(shù)據(jù)生成委托,則生成對驗證基數(shù)據(jù)分發(fā)部 220的指示。模塊確定部504使用從各檢測模塊接收到的相互監(jiān)視結果,確定非法的檢測模塊。模塊確定部504將識別非法檢測模塊的信息輸出給指示生成部503。模塊確定部504例如將判斷為兩個檢測模塊“被篡改”的檢測模塊確定為非法的更新模塊。(驗證基數(shù)據(jù)分發(fā)部220的詳細結構)圖7是功能性地表示驗證基數(shù)據(jù)分發(fā)部220的結構的功能框圖。如圖7所示,驗證基數(shù)據(jù)分發(fā)部220包括接收部601、發(fā)送部602、控制部603、認證部604、證書生成部605、簽名秘密密鑰保持部606、加密密鑰保持部607、數(shù)據(jù)分割部608、應用保持部609、驗證基數(shù)據(jù)生成部610和保護控制模塊保持部611。接收部601接收基于各檢測模塊的保護控制模塊的驗證結果和檢測模塊間的相互監(jiān)視結果。發(fā)送部602向設備100發(fā)送各應用和保護控制模塊120的篡改驗證的委托或檢測模塊組130的相互監(jiān)視處理的委托、驗證所需的驗證基數(shù)據(jù)等。控制部603控制驗證基數(shù)據(jù)分發(fā)部220內部的各結構要素。認證部604在與各檢測模塊及保護控制模塊120之間進行相互認證。證書生成部605使用簽名秘密密鑰保持部606中保持的簽名秘密密鑰,生成對保護控制模塊120的解密加載部304執(zhí)行的加密應用解密處理的簽名數(shù)據(jù)。
簽名秘密密鑰保持部606保持由證書生成部605生成簽名數(shù)據(jù)時利用的管理裝置 200的簽名秘密密鑰。加密密鑰保持部607保持與保護控制模塊120共享的加密密鑰。數(shù)據(jù)分割部608將由保護控制模塊120的解密加載部304執(zhí)行的加密應用的解密處理的輸出數(shù)據(jù)(解密后的純文本的應用的數(shù)據(jù))分割為多個分割數(shù)據(jù)。應用保持部609保持安裝在設備100中的各應用。驗證基數(shù)據(jù)生成部610根據(jù)輸入到解密加載部304的加密后的各應用數(shù)據(jù)(輸入數(shù)據(jù))、以及由數(shù)據(jù)分割部608對解密加載部304正常動作時輸出的純文本的各應用的數(shù)據(jù)進行分割而得到的各分割數(shù)據(jù),生成驗證基數(shù)據(jù)。驗證基數(shù)據(jù)生成部610將生成的驗證基數(shù)據(jù)發(fā)送給設備100。關于驗證基數(shù)據(jù)的結構,將在后面敘述。保護控制模塊保持部611保持安裝在設備100中的保護控制模塊120。2.非法模塊檢測系統(tǒng)1的動作(1)整體的動作概要圖8是表示非法模塊檢測系統(tǒng)1整體的動作概要的流程圖。首先,在工場中制造設備100時進行初始設計處理(步驟Si)。在初始設計處理中,將更新保護控制模塊120所需的各種密鑰數(shù)據(jù)、或軟件更新后所需的數(shù)據(jù)(使用秘密分散法分散的分散信息)等埋入檢測模塊131、132、133各自中。之后,設備100從工場出廠,供用戶利用。當用戶利用設備100時,在設備100內部,保護控制模塊120保護各應用不被攻擊者攻擊。并且,檢測模塊131、132、133進行保護控制模塊120的檢測處理(步驟S2)。另外,非法模塊檢測系統(tǒng)1進行檢測模塊131、132、133相互執(zhí)行篡改檢測的相互監(jiān)視處理。相互監(jiān)視處理在步驟S2的檢測處理中定期執(zhí)行。(2)初始設計處理的動作這里,說明步驟Sl的初始設計處理。圖9是表示初始設計處理的動作的時序圖。這里,將各檢測模塊分別單獨進行的處理記載為檢測模塊組130進行的處理。在工場制造設備100時,管理裝置200將保護控制模塊保持部611中保持的保護控制模塊120和應用保持部609中保持的各應用發(fā)送給設備100(步驟Sll)。設備100安裝接收到的應用和保護控制模塊120(步驟S12)。另外,設備100除應用、保護控制模塊120外,還安裝檢測模塊131、132、133或設備100的動作所需的軟件。向安裝的軟件附加用于驗證有無篡改的證書(篡改檢測用證書)。該篡改檢測用證書利用管理裝置200的簽名秘密密鑰來實施簽名。若軟件的安裝結束,則設備100進行測試軟件是否正常動作的初始化處理(步驟 S13)。檢測模塊組130進行檢測模塊初始化處理(步驟S14)。保護控制模塊120委托管理裝置200發(fā)送驗證基數(shù)據(jù)(步驟S 15)。管理裝置200 若從保護控制模塊120接收委托,則進行驗證基數(shù)據(jù)生成處理(步驟S16)。之后,管理裝置200將驗證基數(shù)據(jù)發(fā)送給保護控制模塊120 (步驟S17)。保護控制模塊120從管理裝置 200接收驗證基數(shù)據(jù),并存儲接收到的驗證基數(shù)據(jù)(步驟S18)。
(3)檢測模塊初始化處理的動作這里,說明步驟S14的檢測模塊初始化處理。圖10是表示檢測模塊130的初始化處理的動作的流程圖。檢測模塊131驗證附加于作為篡改檢測對象的其他檢測模塊中的篡改檢測用證書(步驟S21)。篡改檢測用證書的驗證通過根據(jù)檢測模塊的數(shù)據(jù)生成驗證值、比較生成的驗證值與篡改檢測用證書中記述的驗證值來進行。另外,驗證值使用哈希值或簽名等。在生成的驗證值與篡改檢測用證書中記述的驗證值一致的情況下(步驟S22中是),檢測模塊131對其他檢測模塊和保護控制模塊120分別生成MAC值,保持在MAC值保持部中(步驟S23)。在生成的驗證值與篡改檢測用證書中記述的驗證值不一致的情況下(步驟S22中否),輸出錯誤并停止(步驟S24)。(4)驗證基數(shù)據(jù)生成處理的動作這里,說明步驟S16的驗證基數(shù)據(jù)生成處理。圖11是表示驗證基數(shù)據(jù)生成處理的動作的流程圖。驗證基數(shù)據(jù)生成部610使用加密密鑰保持部607中保持的加密密鑰,加密應用保持部609中保持的多個應用(步驟S31)。另一方面,數(shù)據(jù)分割部608如圖12所示,分割各應用的數(shù)據(jù)(步驟S32)。分割方法既可以以規(guī)定尺寸分割加載于存儲器上的應用的數(shù)據(jù),也可以分割為為分別不同的尺寸。另外,也可以取應用的數(shù)據(jù)的約數(shù)。為了能夠復原分割后的應用的數(shù)據(jù), 也可以使用中國剩余定理來分割。中國剩余定理記載于非專利文獻1的15頁中。這里,利用將應用的數(shù)據(jù)進行3分割的實例來說明。驗證基數(shù)據(jù)生成部610生成表示加密應用與由數(shù)據(jù)分割部608分割的各分割數(shù)據(jù) (分割數(shù)據(jù)1、分割數(shù)據(jù)2、分割數(shù)據(jù)3)的對應的證書(步驟S33)。并且,驗證基數(shù)據(jù)生成部610生成包含步驟S33中生成的證明的驗證基數(shù)據(jù)(步驟S34)。用圖13、圖14和圖15來說明驗證基數(shù)據(jù)。圖13中記載的證書701是表示加密應用與分割數(shù)據(jù)1的對應的證書。圖14中記載的證書702是表示加密應用與分割數(shù)據(jù)2的對應的證書。圖15中記載的證書703是表示加密應用與分割數(shù)據(jù)3的對應的證書。各證書由分割信息、判定信息、應用各自的各應用識別信息、對應于識別信息的加密應用的數(shù)據(jù)和驗證值以及解密處理證書構成。分割信息是表示該分割信息相應于全部分割數(shù)據(jù)中哪個部分的信息。例如,在將應用的數(shù)據(jù)以規(guī)定尺寸進行了 3分割的情況下,分割信息1記載為(3, 1)。這表示分割數(shù)為3、是其中第1個數(shù)據(jù)。同樣,分割信息2為(3,2),分割信息3為(3, 3)。另外,在取應用的數(shù)據(jù)的約數(shù)的情況下,分割信息記載為(3,17)。這表示分割數(shù)為3、 約數(shù)的值為17。另外,分割信息不限于此,只要使用能夠區(qū)別各個分割數(shù)據(jù)的信息即可。判定信息是用于判定分割的數(shù)據(jù)是否全部被驗證的信息。例如,在將應用的數(shù)據(jù)以規(guī)定尺寸進行3分割的情況下,記載分割數(shù)“3”。由此,若齊備3個不同的分割數(shù)據(jù),則可知所有的分割數(shù)據(jù)均被驗證。另外,在對于應用的數(shù)據(jù)分別以7、11、17取約數(shù)的情況下,記載將7、11和17相乘的值“1309”。由此可知中國剩余定理成立。另外,為了使中國剩余定理成立,在應用的加密和解密中使用公開密鑰加密方式的RSA加密的情況下,判定信息只要是比作為RSA加密的公開密鑰的n( = pXq) (p、q為素數(shù))的值大的值即可。另外,在使用公共密鑰加密方式的AES加密的情況下,判定信息只要是比1 位大的值即可。關于RSA加密,在非專利文獻1的110頁至113頁中記載。另外,判定信息也可不包含于證書中,而由各檢測模塊預先保持。另外,也可由任一檢測模塊保持,發(fā)送給其他檢測模塊。驗證值是將加密的應用的數(shù)據(jù)與分割數(shù)據(jù)結合而得到的數(shù)據(jù)的哈希值。作為計算哈希值的對象數(shù)據(jù),也可包含應用的識別信息或保護控制模塊120的識別信息等。解密處理證書是計算結合了 5個驗證值的數(shù)據(jù)的哈希值、并對計算出的哈希值、 使用管理裝置200的簽名秘密密鑰來生成的簽名數(shù)據(jù)。包含圖13、圖14和圖15中記載的3個證書來構成驗證基數(shù)據(jù)。(5)檢測處理的動作這里說明步驟S2的檢測處理。圖16和圖17是表示檢測處理的時序圖。若保護控制模塊120接收執(zhí)行應用110的指令,則由解密加載部304對被加密的應用Iio進行解密(步驟S41)。接著,應用分割部310根據(jù)驗證基數(shù)據(jù)保持部308中保持的驗證基數(shù)據(jù)中包含的分割信息,分割解密后的應用110 (步驟S42)。若分割信息中記載進行3分割,則將應用進行3分割。下面,說明將應用進行3分割的情況。保護控制模塊120將應用的識別信息、分割數(shù)據(jù)以及對應于分割數(shù)據(jù)的驗證數(shù)據(jù)分配給各檢測模塊。這里,所謂驗證數(shù)據(jù)是圖13-15中所示的證書。驗證數(shù)據(jù)生成部309 從驗證基數(shù)據(jù)保持部308中保持的驗證基數(shù)據(jù)中,選擇對應于分割數(shù)據(jù)的證書,將選擇的證書作為驗證數(shù)據(jù)。這里,保護控制模塊120向檢測模塊131發(fā)送應用識別信息、分割數(shù)據(jù)1和驗證數(shù)據(jù)(圖13的證書701)(步驟S43),向檢測模塊132發(fā)送應用識別信息、分割數(shù)據(jù)2和驗證數(shù)據(jù)(圖14的證書702)(步驟S44),向檢測模塊133發(fā)送應用識別信息、分割數(shù)據(jù)3和驗證數(shù)據(jù)(圖15的證書703)(步驟S45)。各檢測模塊使用接收到的驗證數(shù)據(jù)來驗證基于保護控制模塊120的應用的解密結果是否正確(步驟S46)。具體地,各檢測模塊根據(jù)驗證數(shù)據(jù)中包含的加密應用的數(shù)據(jù)和分割數(shù)據(jù),生成驗證值。之后,比較生成的驗證值與驗證數(shù)據(jù)中包含的驗證值,判斷兩者是否一致。并且,各檢測模塊執(zhí)行解密處理證書的簽名驗證。各檢測模塊在驗證值不一致或簽名不正確的情況下,判定為保護控制模塊120被篡改(步驟S47中是),向判斷部210發(fā)送檢測結果(步驟S48)。各檢測模塊在驗證值一致且簽名正確的情況下,判定為保護控制模塊120未被篡改(步驟S47中否),向其他檢測模塊發(fā)送驗證數(shù)據(jù)中包含的分割信息(步驟S49)。之后,各檢測模塊確認從保護控制模塊120發(fā)送的全部分割數(shù)據(jù)是否都被驗證。下面,具體說明。檢測模塊131將分割信息1發(fā)送給檢測模塊132和檢測模塊133。分割信息1是表示分割數(shù)為3、是其中第1個數(shù)據(jù)的信息。檢測模塊131從檢測模塊132接收分割信息2,從檢測模塊133接收分割信息3。 檢測模塊131通過參照驗證數(shù)據(jù)中包含的判定信息,可知應用的數(shù)據(jù)被進行了 3分割。之后,檢測模塊131通過確認接收到的分割信息2和分割信息3的內容,可知第2個數(shù)據(jù)與第 3個數(shù)據(jù)分別被檢測模塊132和133驗證。由此,各檢測模塊能夠確認從保護控制模塊120發(fā)送的全部分割數(shù)據(jù)被某一檢測模塊驗證。在未驗證全部分割數(shù)據(jù)的情況下,或在全部分割數(shù)據(jù)被發(fā)送到一個檢測模塊的情況下,判定為保護控制模塊120進行非法動作,保護控制模塊120被篡改(步驟S50中是), 向判斷部210發(fā)送檢測結果(步驟S51)。(6)驗證基數(shù)據(jù)更新處理的動作在非法模塊檢測系統(tǒng)1中,向設備100追加新的應用的情況下,需要更新保護控制模塊120保持的驗證基數(shù)據(jù)。這里,使用圖18的時序圖,使用向設備100追加新的應用(記載為“應用115。) 的情況作為具體例,說明驗證基數(shù)據(jù)更新處理的動作。若向設備100下載新的應用115,則保護控制模塊120接收應用115(步驟S61)。 保護控制模塊120使用加解密密鑰保持部307中保持的加解密密鑰,加密應用115(步驟 S62)。之后,保護控制模塊120將應用115的識別信息、加密后的應用115以及驗證基數(shù)據(jù)的發(fā)送委托發(fā)送給管理裝置200 (步驟S63)。管理裝置200利用保護控制模塊保持部611保持的保護控制模塊120的加解密密鑰,將加密的應用115進行解密。之后,生成包含解密的應用115的新的驗證基數(shù)據(jù)(步驟 S64)。管理裝置200將新的驗證基數(shù)據(jù)發(fā)送給保護控制模塊120 (步驟S65)。保護控制模塊120接收并存儲新的驗證基數(shù)據(jù)(步驟S66)。(7)相互監(jiān)視處理的動作下面,使用圖19的時序圖,說明檢測模塊組130的相互監(jiān)視處理。檢測模塊131進行檢測模塊132的篡改檢測處理(步驟S71),檢測模塊132進行檢測模塊133的篡改檢測處理(步驟S7》,檢測模塊133進行檢測模塊131的篡改檢測處理(步驟S73)。步驟S71-73的篡改檢測處理通過使用驗證密鑰來計算各檢測模塊的MAC值,并比較計算出的MAC值與MAC值表中保持的MAC值來進行。另外,也可以代替MAC值而使用各檢測模塊的哈希值。各檢測模塊在檢測到篡改的情況下(步驟S74中是),將檢測結果發(fā)送到判斷部 210(步驟 S75)。判斷部210從各檢測模塊接收檢測結果(步驟S76),并判定是否存在被篡改的檢測模塊(步驟S77)。在存在被篡改的檢測模塊的情況下(步驟S77中是),判斷部210向設備100的各檢測模塊通知檢測處理(步驟S2)的停止(步驟S78)。在沒有被篡改的檢測模塊的情況下(步驟S77中否),繼續(xù)處理。
這里,判斷部210使用相互監(jiān)視處理的結果,判定各檢測模塊是否被篡改。但是, 不限于此,判斷部210也可以在不發(fā)送上述分割數(shù)據(jù)的驗證結果的情況下,判定為該檢測模塊被篡改。3.實施方式1的效果在實施方式1中,由驗證保護控制模塊120執(zhí)行的加密應用的解密處理,所以能夠不使用保護控制模塊120保持的加解密密鑰來判定保護控制模塊是否被篡改。另外,各檢測模塊驗證分割數(shù)據(jù),所以各檢測模塊不用知道應用的全部數(shù)據(jù)就能夠進行驗證。由此,即便檢測模塊被篡改、執(zhí)行非法動作,也不會泄露保護控制模塊120的信息或應用的信息,所以能夠提高系統(tǒng)的安全性。<實施方式2>這里,說明本發(fā)明的實施方式2。1.概要在實施方式1中,若各檢測模塊收集應用的分割數(shù)據(jù),則有可能泄漏應用的數(shù)據(jù)。 因此,在實施方式2中,通過在分割數(shù)據(jù)的驗證完成之后,消除分割數(shù)據(jù)和驗證數(shù)據(jù),來防止應用的數(shù)據(jù)泄漏。另外,在實施方式2中,通過在消除分割數(shù)據(jù)和驗證數(shù)據(jù)之后進行相互監(jiān)視處理,來相互確認分割數(shù)據(jù)和驗證數(shù)據(jù)是否被消除。2.檢測處理的動作用圖20到圖22的時序圖來說明實施方式2的檢測處理的動作。各結構要素的符號使用與實施方式1相同的符號。步驟S81到步驟S91的動作與實施方式1的步驟S41到步驟S51的動作一樣,所以省略說明。這里,從圖22的步驟S92開始說明。各檢測模塊消除接收到的分割數(shù)據(jù)和驗證數(shù)據(jù)保持部407中存儲的驗證數(shù)據(jù)(步驟 S92)。接著,各檢測模塊為了確認是否消除了分割數(shù)據(jù)和驗證數(shù)據(jù),相互執(zhí)行篡改檢測。具體地,檢測模塊131執(zhí)行檢測模塊132的篡改檢測處理(步驟S9!3),檢測模塊 132執(zhí)行檢測模塊133的篡改檢測處理(步驟S94),檢測模塊133執(zhí)行檢測模塊131的篡改檢測處理(步驟S%)。各檢測模塊執(zhí)行的篡改檢測處理與相互監(jiān)視處理的篡改檢測處理一樣。各檢測模塊在檢測到篡改的情況下(步驟S96中是),將檢測結果發(fā)送給判斷部 210 (步驟S97)。判斷部210從各檢測模塊接收檢測結果(步驟S98),并判定各檢測模塊是
否被篡改。在判定為檢測模塊被篡改的情況下,判斷部210視為保護控制模塊的檢測處理未正確進行,決定進行保護控制模塊的再檢測(步驟S99中是)。之后,向保護控制模塊120 通知進行再檢測處理(步驟S100)。在判定為檢測模塊未被篡改的情況下,判斷部210判斷為分割數(shù)據(jù)和驗證數(shù)據(jù)被消除。3.實施方式2的效果
在實施方式2中,確認消除了分割數(shù)據(jù)和驗證數(shù)據(jù),所以即便一個檢測模塊進行非法動作,也僅一個分割數(shù)據(jù)泄漏,能夠防止兩個以上的分割數(shù)據(jù)的泄漏以及應用的整體數(shù)據(jù)的泄漏?!磳嵤┓绞?>這里,作為本發(fā)明的實施方式3,說明軟件更新系統(tǒng)。1.概要實施方式3的軟件更新系統(tǒng)在檢測到保護控制模塊的篡改的情況下,將被篡改的保護控制模塊更新為新的保護控制模塊。2.結構(1)保護控制模塊120a的詳細結構圖23是功能性地表示實施方式3的保護控制模塊120a的結構的功能框圖。保護控制模塊120a除實施方式1的保護控制模塊120(圖2)的結構要素外,還包括加解密密鑰分散部321、證書生成部322和加解密密鑰復原部323。加解密密鑰分散部321在初始設計時和下一輪準備時,使用秘密分散法,根據(jù)加解密密鑰生成分散信息。證書生成部322保持保護控制模塊120a的簽名秘密密鑰。之后,證書生成部322 當復原了根據(jù)加解密密鑰生成的分散信息時,使用簽名秘密密鑰,生成用于驗證是否正確復原了的證書。加解密密鑰復原部323根據(jù)配置信息,從各更新模塊取得分發(fā)到各更新模塊的分散信息。并且,加解密密鑰復原部323根據(jù)取得的分散信息,復原加解密密鑰,將復原后的加解密密鑰發(fā)送給解密加載部304。(2)檢測模塊的詳細結構圖M是功能性地表示實施方式3的檢測模塊131a的結構的功能框圖。檢測模塊131a除實施方式1的檢測模塊131 (圖3)的結構要素外,還包括更新部 410和分散信息保持部411。更新部410與管理裝置200聯(lián)攜,更新設備100的軟件(各應用、保護控制模塊 120a、各檢測模塊)。分散信息保持部411保持保護控制模塊120a根據(jù)各應用的加解密處理中使用的加解密密鑰來生成的分散信息、以及保護控制模塊120a分發(fā)分散信息時的配置信息。配置信息是記述哪個分散信息分發(fā)到哪個檢測模塊的信息。認證部412保持認證密鑰對(認證秘密密鑰和認證公開密鑰),與其他模塊進行認證處理。(3)驗證基數(shù)據(jù)分發(fā)部220a的詳細結構圖25是功能性地表示實施方式3的驗證基數(shù)據(jù)分發(fā)部220a的結構的功能框圖。驗證基數(shù)據(jù)分發(fā)部220a除實施方式1的驗證基數(shù)據(jù)分發(fā)部220 (圖7)的結構要素外,還包括加密密鑰生成部620、加密處理部621和檢測模塊選擇部622。加密密鑰生成部620生成將更新用軟件發(fā)送給某個檢測模塊時使用的加密密鑰。加密處理部621使用加密密鑰生成部620生成的加密密鑰,加密更新用軟件。另外,加密處理部621使用檢測模塊選擇部622選擇到的檢測模塊固有的密鑰,加密所述加密密鑰。檢測模塊選擇部622當更新保護控制模塊120a時,選擇更新中使用的檢測模塊。3.動作這里,說明實施方式3的軟件更新系統(tǒng)的動作。(1)整體的動作概略圖沈是表示軟件更新系統(tǒng)整體的處理流程的流程圖。軟件更新系統(tǒng)首先進行初始設計處理(SlOl)。之后,由各檢測模塊進行保護控制模塊120a的驗證處理,進行判斷保護控制模塊120a是否被篡改的檢測處理(步驟S102)。接著,軟件更新系統(tǒng)在步驟S102檢測到保護控制模塊120a的篡改的情況下,執(zhí)行解析保護控制模塊120a、判斷是否需要更新的解析判斷處理(步驟S103)。接著,軟件更新系統(tǒng)進行用于確認各檢測模塊與驗證基數(shù)據(jù)分發(fā)部220a彼此是否是正確的軟件的相互認證處理(步驟S104)。之后,軟件更新系統(tǒng)進行恢復處理(步驟S105)。所謂恢復處理是在檢測模塊之間相互進行篡改檢測處理之后,將更新用的保護控制模塊安裝到設備100的處理,和在設備 100中使用埋入各檢測模塊中的分散信息來更新保護控制模塊的處理。之后,軟件更新系統(tǒng)進行生成更新所需的密鑰數(shù)據(jù)或分散信息,并埋入各檢測模塊中的下一輪準備處理(步驟S106),以備下次需要保護控制模塊的更新的情況。之后,軟件更新系統(tǒng)返回到步驟S102的檢測處理,繼續(xù)處理。(2)初始設計處理的動作這里,用圖27和圖28的時序圖來說明步驟SlOl的初始設計處理的動作。另外, 步驟Slll到步驟S113的動作與實施方式1中已說明的動作一樣,所以省略說明。保護控制模塊120a根據(jù)加解密密鑰,使用秘密分散法生成分散信息(步驟S114)。 并且,保護控制模塊120a使用簽名秘密密鑰,來生成加解密密鑰證書(步驟S115)。保護控制模塊120a將生成的分散信息以及加解密密鑰證書發(fā)送給各檢測模塊(步驟S116)。另外,保護控制模塊120a向各檢測模塊發(fā)送分散信息的組,以使檢測模塊131、 132、133分別保持不同的分散信息的組。并且,保護控制模塊120a將表示將哪個分散信息發(fā)送到哪個檢測模塊的配置信息發(fā)送給各檢測模塊。發(fā)送到各檢測模塊的配置信息是同一 fn息ο關于根據(jù)加解密密鑰、使用秘密分散法生成分散信息的方式或將分散信息發(fā)送給檢測模塊的方法,在專利文獻2的47頁-49頁中詳細說明,所以這里省略說明。從保護控制模塊120a接收到分散信息、配置信息和加解密密鑰證書的檢測模塊組進行檢測模塊初始化處理(步驟Sl 17)。步驟S118-步驟S121的保護控制模塊120a的初始化處理與實施方式1中說明的動作一樣,所以省略說明。(3)檢測模塊初始化處理的動作這里,使用圖四所示的流程圖,說明步驟S117的檢測模塊初始化處理。檢測模塊131a從保護控制模塊120a接收分散信息、配置信息和加解密密鑰證書, 并保持在分散信息保持部411中(步驟S131)。之后的動作與實施方式1 一樣,所以省略說明。
(4)檢測處理的動作實施方式3的檢測處理(步驟S102)與實施方式1和實施方式2的檢測處理的動作一樣,所以省略說明。(5)解析判斷處理的動作這里,用圖30所示的時序圖,說明步驟S103的解析判斷處理的動作。將各檢測模塊分別單獨執(zhí)行的處理在圖30中記載為檢測模塊組130的動作。在檢測處理中,若從各檢測模塊接收對保護控制模塊的篡改檢測結果,則判斷部 210根據(jù)接收到的篡改檢測結果,判定保護控制模塊120a是否被篡改(步驟S141)。作為判定方法一例,在規(guī)定數(shù)量的檢測模塊檢測到被篡改的情況下,判定為保護控制模塊120a被篡改,另外,在小于規(guī)定數(shù)量的檢測模塊檢測到被篡改的情況下,判定為保護控制模塊120a未被篡改。所謂規(guī)定數(shù)量也可以是檢測模塊組130中包含的檢測模塊的過半數(shù)。另外,也可從各檢測模塊接收分割數(shù)據(jù)和驗證數(shù)據(jù),使用分割數(shù)據(jù)和驗證數(shù)據(jù)來判定保護控制模塊120a有無篡改。在判定為保護控制模塊120a被篡改的情況下(步驟S141中是),判斷部210為了判斷是否需要恢復保護控制模塊120a,對檢測模塊組130委托保護控制模塊120a的哪個部分被篡改等篡改信息的通知(步驟S142)。檢測模塊組130若被委托篡改信息的通知,則收集篡改信息(步驟S143),通知給判斷部210。判斷部210根據(jù)篡改信息,判斷恢復保護控制模塊120a、還是廢除(Revoke)設備 100、還是什么也不執(zhí)行(步驟S144)。在恢復保護控制模塊120a的情況下(步驟S144中是),判斷部210準備更新用保護控制模塊(步驟S140,向檢測模塊組130指示開始更新處理(步驟S146)。另外,在廢除設備100的情況下,委托對各應用提供服務的服務器廢除設備100。 在什么也不執(zhí)行的情況下(步驟S144中否),返回到檢測處理。在步驟S141中判斷為保護控制模塊120a未被篡改的情況下(步驟S141中否), 返回到檢測處理。(6)相互認證處理的動作接著,用圖31和圖32所示的時序圖,說明步驟S104的相互認證處理。判斷部210在解析判斷處理中判斷為需要恢復保護控制模塊120a的情況下,判斷部210指示驗證基數(shù)據(jù)分發(fā)部220a恢復保護控制模塊120a。驗證基數(shù)據(jù)分發(fā)部220a在指示各檢測模塊開始更新處理之后,與各檢測模塊之間分別進行一對一的相互認證處理。由此,防止設備100與非法服務器連接,或管理裝置 200與非法設備連接。在相互認證處理中,驗證基數(shù)據(jù)分發(fā)部220a使用簽名秘密密鑰和簽名公開密鑰,各更新模塊使用認證密鑰對(認證秘密密鑰和認證公開密鑰)。圖31是檢測模塊131a認證驗證基數(shù)據(jù)分發(fā)部220a時的時序圖。另外,檢測模塊 132a、133a也與圖31的檢測模塊131a—樣動作,認證驗證基數(shù)據(jù)分發(fā)部220a。檢測模塊131a使用隨機數(shù)生成器生成隨機數(shù)(詢問數(shù)據(jù))(步驟S151),將生成的詢問數(shù)據(jù)發(fā)送給驗證基數(shù)據(jù)分發(fā)部220a(步驟S15》。此時,將用于識別檢測模塊131a的檢測模塊識別符與詢問數(shù)據(jù)一起發(fā)送。
驗證基數(shù)據(jù)分發(fā)部220a對接收到的詢問數(shù)據(jù),使用簽名秘密密鑰生成簽名數(shù)據(jù) (步驟S153),將生成的簽名數(shù)據(jù)作為響應數(shù)據(jù),回送給檢測模塊131a(步驟S154)。檢測模塊131a若從驗證基數(shù)據(jù)分發(fā)部220a接收響應數(shù)據(jù),則使用簽名公開密鑰來驗證響應數(shù)據(jù)是否與詢問數(shù)據(jù)的簽名數(shù)據(jù)一致(步驟S155)。驗證的結果,在響應數(shù)據(jù)正確、驗證基數(shù)據(jù)分發(fā)部220a為合法模塊的情況下(步驟S156中是),檢測模塊131a繼續(xù)處理。在響應數(shù)據(jù)不正確、更新用軟件分發(fā)部220為非法模塊的情況下(步驟S156中否),檢測模塊131a輸出錯誤,并停止處理。接著,驗證基數(shù)據(jù)分發(fā)部220a認證檢測模塊131a、132a、133a。圖32是驗證基數(shù)據(jù)分發(fā)部220a認證各檢測模塊時的時序圖。驗證基數(shù)據(jù)分發(fā)部220a對發(fā)送了詢問數(shù)據(jù)的各檢測模塊,使用隨機數(shù)生成器生成分別不同的隨機數(shù)(詢問數(shù)據(jù))(步驟S161),將生成的詢問數(shù)據(jù)單獨發(fā)送給各更新模塊 (步驟 S162)。各檢測模塊對接收到的詢問數(shù)據(jù),使用認證秘密密鑰生成簽名數(shù)據(jù)(步驟S163), 將生成的簽名數(shù)據(jù)作為響應數(shù)據(jù),回送給更新用軟件數(shù)據(jù)分發(fā)部220。此時,各檢測模塊將認證公開密鑰和認證密鑰證書與響應數(shù)據(jù)一起發(fā)送給驗證基數(shù)據(jù)分發(fā)部220a (步驟S164)。驗證基數(shù)據(jù)分發(fā)部220a從各個檢測模塊接收響應數(shù)據(jù)、認證公開密鑰和認證密鑰證書。驗證基數(shù)據(jù)分發(fā)部220a驗證認證密鑰證書是否是自身發(fā)行的證書,進而使用認證密鑰證書來驗證認證公開密鑰的合法性(步驟S165)。若認證密鑰證書和認證公開密鑰非法(步驟S165中否),則驗證基數(shù)據(jù)分發(fā)部 220a停止處理。若認證密鑰證書和認證公開密鑰合法,則驗證基數(shù)據(jù)分發(fā)部220a使用認證公開密鑰,驗證接收到的響應數(shù)據(jù)是否與詢問數(shù)據(jù)的簽名數(shù)據(jù)一致(步驟S166)。接著,驗證基數(shù)據(jù)分發(fā)部220a判斷回送了正確的響應數(shù)據(jù)的檢測模塊(合法的檢測模塊)的數(shù)量是否為預先設定的恢復處理所需的數(shù)量以上(步驟S167)。在合法的檢測模塊的數(shù)量小于恢復處理所需的數(shù)量的情況下(步驟S167中否), 不能執(zhí)行恢復處理,所以驗證基數(shù)據(jù)分發(fā)部220a停止處理。在合法的更新模塊的數(shù)量滿足恢復處理所需的數(shù)量的情況下(步驟S167中是),結束相互認證處理,轉移到恢復處理。另外,驗證基數(shù)據(jù)分發(fā)部220a在相互認證處理中,制作記載了合法性受到確認的全部檢測模塊的檢測模塊識別符的認證列表。并且,在之后的恢復處理中,僅利用認證列表中記載有識別符的檢測模塊。(7)恢復處理的動作接著,用圖33-37來說明步驟S105的恢復處理的細節(jié)。恢復處理是在上述相互認證處理中、相互認證成功的情況下、將被篡改的保護控制模塊120a更新為新的更新用保護控制模塊的處理。圖33是表示恢復處理的動作的流程圖。首先,各檢測模塊進行相互監(jiān)視處理(步驟S171)。在相互監(jiān)視處理中,各檢測模塊執(zhí)行其他檢測模塊的篡改檢測處理。并且,使用更新用保護控制模塊,進行更新保護控制模塊120a的更新處理(步驟S172)。接著,進行將已加密的應用110、111、112、113、114進行再加密的再加密處理(步驟 S173)。(8)相互監(jiān)視處理圖34是步驟S171的相互監(jiān)視處理的詳細時序圖。實施方式3的相互監(jiān)視處理雖然與實施方式1的相互監(jiān)視處理大致一樣,但實施方式3的相互監(jiān)視處理在各檢測模塊總是向判斷部210發(fā)送篡改檢測結果這點上與實施方式1不同(步驟S184)。另外,在實施方式3的相互監(jiān)視處理中,在存在被篡改的檢測模塊的情況下,在步驟S187中停止恢復處理。(9)更新處理接著,用圖35和圖36的時序圖來說明步驟S172的更新處理的細節(jié)。首先,驗證基數(shù)據(jù)分發(fā)部220a的證書生成部605使用簽名秘密密鑰,生成更新驗證證書(步驟S191)。更新驗證證書是用于各檢測模塊確認新的保護控制模塊是否正確安裝的證書。驗證基數(shù)據(jù)分發(fā)部220a將生成的證書發(fā)送給各檢測模塊(步驟S192)。接著,驗證基數(shù)據(jù)分發(fā)部220a的加密密鑰生成部620生成兩個用于將新的保護控制模塊進行多重加密的加密密鑰(第1密鑰及第2密鑰)(步驟S193)。加密處理部621使用第2密鑰將保護控制模塊進行加密,生成加密新保護控制模塊(步驟S194)。加密處理部621使用第1密鑰進一步對加密新保護控制模塊進行加密,生成多重加密新保護控制模塊(步驟S195)。驗證基數(shù)據(jù)分發(fā)部220a從檢測模塊組130中選擇一個合法的檢測模塊(步驟 S196),將選擇的檢測模塊的識別符通知給判斷部210。這里,作為一例,設選擇檢測模塊 131a0驗證基數(shù)據(jù)分發(fā)部220a向選擇的檢測模塊131a發(fā)送多重加密新保護控制模塊 (步驟S197),進而發(fā)送第1密鑰(步驟S198)。檢測模塊131a接收多重加密新保護控制模塊和第1密鑰。檢測模塊131使用第 1密鑰,對多重加密新保護控制模塊進行解密,取得加密新保護控制模塊(步驟S199)。并且,若解密結束,則將該情況通知給驗證基數(shù)據(jù)分發(fā)部220a(步驟S200)。驗證基數(shù)據(jù)分發(fā)部220a若接收解密結束通知,則從檢測模塊組130中,選擇一個合法的、且與步驟S196中選擇的檢測模塊不同的檢測模塊(步驟S201)。這里,作為一例, 設選擇檢測模塊13加。驗證基數(shù)據(jù)分發(fā)部220a向選擇的檢測模塊13 發(fā)送第2密鑰(步驟S2(^)。這樣,驗證基數(shù)據(jù)分發(fā)部220a控制向檢測模塊組130發(fā)送用于將多重加密的新保護控制模塊進行解密的多個密鑰的定時,從而使攻擊者難以獲得未加密的新保護控制模塊。另外,驗證基數(shù)據(jù)分發(fā)部220a委托檢測模塊131a將步驟S199中取得的加密新保護控制模塊發(fā)送給檢測模塊132a (步驟S203)。檢測模塊131a接受來自驗證基數(shù)據(jù)分發(fā)部220a的委托,將加密新保護控制模塊發(fā)送給檢測模塊132a (步驟S204)。檢測模塊13 從驗證基數(shù)據(jù)分發(fā)部220a接收第2密鑰,從檢測模塊131a接收加密新保護控制模塊。并且,使用第2密鑰對加密新保護控制模塊進行解密,取得新的保護控制模塊(步驟S205)。檢測模塊13 將步驟S205中取得的新的保護控制模塊覆蓋到保護控制模塊120a 并更新(步驟S206)。并且,檢測模塊13 將更新的結束通知給其他檢測模塊(步驟S207)。之后,各檢測模塊進行確認保護控制模塊的更新完成的處理。在實施方式3中,與專利文獻3中記載的驗證不同,通過使更新后的新的保護控制模塊執(zhí)行解密處理,來確認更新的完成。各檢測模塊使用預先接收到的確認用驗證數(shù)據(jù)。確認用驗證數(shù)據(jù)由驗證值與加密隨機數(shù)構成。加密隨機數(shù)是用新的保護控制模塊的加密密鑰將隨機數(shù)進行加密而生成的數(shù)據(jù)。驗證值是對于隨機數(shù)和加密后的隨機數(shù)、使用簽名秘密密鑰來生成的簽名數(shù)據(jù)。各檢測模塊分別將確認用驗證數(shù)據(jù)內的加密后的隨機數(shù)發(fā)送給更新后的保護控制模塊(步驟S208)。保護控制模塊解密接收到的加密隨機數(shù)(步驟S209),將解密后的數(shù)據(jù)發(fā)送給各檢測模塊(步驟S210)。各檢測模塊從保護控制模塊接收解密后的數(shù)據(jù),使用確認用驗證數(shù)據(jù)的驗證值進行接收到的數(shù)據(jù)的驗證(步驟S211)。各檢測模塊將驗證結果通知給驗證基數(shù)據(jù)分發(fā)部 220a (步驟 S212)。驗證基數(shù)據(jù)分發(fā)部220a若接收從各檢測模塊發(fā)送的驗證結果,則根據(jù)接收到的驗證結果,判定保護控制模塊是否被正確更新(步驟S213)。在判定為未被正確更新的情況下(步驟S213中否),驗證基數(shù)據(jù)分發(fā)部220a使設備100停止。在被正確更新的情況下(步驟S213中是),驗證基數(shù)據(jù)分發(fā)部220a將更新處理結束通知給各檢測模塊(步驟S214)。(10)相互監(jiān)視處理與更新處理的關系上述相互監(jiān)視處理與更新處理相互聯(lián)攜而執(zhí)行。相互監(jiān)視處理在由驗證基數(shù)據(jù)分發(fā)部220a以檢測模塊組130中包含的檢測模塊為發(fā)送目的地發(fā)送多個密鑰時、和加密后的更新用保護控制模塊的檢測模塊組130中包含的檢測模塊的解密處理中定期實施。定期實施時的時間間隔例如為比更新用保護控制模塊通過通信路徑完全輸出到外部為止的時間短的間隔。若完全輸出到外部為止花費1秒,則例如以比1秒短的500毫秒間隔的定時來執(zhí)行監(jiān)視處理。這里,使用圖37來說明相互監(jiān)視處理與更新處理的聯(lián)攜動作。首先,設備100在由管理裝置200發(fā)送多重加密新保護控制模塊之前,實施相互監(jiān)視處理(相互監(jiān)視1)。這是為了選擇非法的檢測模塊,不執(zhí)行更新處理。之后,設備100在檢測模塊131a接收由管理裝置200發(fā)送的第1密鑰之前,實施相互監(jiān)視處理(相互監(jiān)視幻,確認當設備100接收第1密鑰時未選擇非法的檢測模塊。并且,在檢測模塊131a接收第1密鑰、使用第1密鑰將多重加密新保護控制模塊進行解密的期間,定期中斷檢測模塊131a的解密處理,實施相互監(jiān)視處理(相互監(jiān)視3-1、 3-2)。由此,即便在解密處理中檢測模塊131a、132a、133a受到攻擊,也可在加密新保護控制模塊全部泄漏之前,檢測出檢測模塊被攻擊,防止泄漏。之后的處理與上述一樣。S卩,設備100在檢測模塊13 接收由管理裝置200發(fā)送的第2密鑰之前,實施監(jiān)視處理(相互監(jiān)視4),確認當設備100接收密鑰時、在更新處理中未選擇非法檢測模塊。并且,在檢測模塊13 接收第2密鑰、使用第2密鑰將加密新保護控制模塊進行解密的期間,定期中斷檢測模塊13 的解密處理,實施相互監(jiān)視處理(相互監(jiān)視5-1、5-2)。 最后,實施相互監(jiān)視處理(相互監(jiān)視6)。由此,在新保護控制模塊全部泄漏之前,檢測出檢測模塊被攻擊,能夠防止泄漏。這里,在相互監(jiān)視處理中,在檢測模塊中檢測到篡改的情況下,停止恢復處理。由此,管理裝置200能夠中止第1密鑰或第2密鑰的發(fā)送,攻擊者不能獲得用于將多重加密新保護控制模塊進行解密的密鑰。(11)再加密處理接著,用圖38的時序圖來說明步驟S173的再加密處理的細節(jié)。首先,更新后的保護控制模塊對檢測模塊131a、132a、133a委托各自保持的分散信息和加解密密鑰證書的發(fā)送(步驟S221)。各檢測模塊接受來自保護控制模塊的委托,發(fā)送分散信息和加解密密鑰證書(步驟 S222)。保護控制模塊從各更新模塊接收分散信息和加解密密鑰證書,并根據(jù)接收到的分散信息,將更新前的保護控制模塊120a使用的加解密密鑰(這里稱為“舊加解密密鑰”。) 復原(步驟S223)。并且,保護控制模塊使用加解密密鑰證書,驗證舊加解密密鑰是否被正確復原(步驟S2M)。在舊加解密密鑰未被正確復原的情況下(步驟S2M中否),保護控制模塊查出 (expose)非法的檢測模塊(確定哪個檢測模塊發(fā)送了非法的分散信息)(步驟S22Q。確定的非法的檢測模塊被通知到管理裝置200。在舊加解密密鑰被正確復原的情況下(步驟S2M中是),保護控制模塊生成新的加解密密鑰(這里稱為“新加解密密鑰”)。并且,解密加載部使用舊加解密密鑰將被加密的各應用進行解密,并使用新加解密密鑰將各應用再加密(步驟。這里,說明步驟S225中用于確定非法檢測模塊的方法。首先,保護控制模塊從各檢測模塊收集分散信息的組,向收集到的分散信息附加用于識別各檢測模塊的識別信息。之后,將在初始設計時設定為相同值而分發(fā)的分散信息匯集成組。并且,比較各組中包含的分散信息的值,將相同值的分散信息進一步匯集成一個子組。并且,生成全部的從所有組中將子組一個個選出的組合。對生成的組合分別生成舊加解密密鑰,驗證是否生成了正確的舊加解密密鑰。在驗證OK的情況下,向該組合中包含的子組附加表示驗證OK的驗證通過識別信息。在對全部組合進行舊加解密密鑰的生成、驗證之后,將附加有驗證通過識別信息的子組中包含的分散信息去除。未被去除而殘留的分散信息變?yōu)榉欠ㄖ怠R虼?,利用附加于該分散信息的識別信息,可確定發(fā)送了成為非法值的分散信息的檢測模塊。由識別信息確定的檢測模塊被確定為非法更新模塊。關于根據(jù)分散信息來復原舊加解密密鑰的方法或非法檢測模塊的確定方法,在專利文獻2的50頁到52頁中詳細說明。(12)下一輪準備處理的動作
接著,用圖39的時序圖來說明步驟S106的下一輪準備處理的細節(jié)。在下一輪準備處理中,在恢復處理結束之后,進行下一恢復處理用的準備。下面具體說明。首先,更新后的保護控制模塊根據(jù)新加解密密鑰,使用秘密分散法,生成分散信息(步驟S231),進而,使用簽名秘密密鑰,生成新加解密密鑰證書(步驟S232)。并且,保護控制模塊將生成的分散信息和加解密密鑰證書發(fā)送給檢測模塊131a、132a、133a(步驟 S233)。這里,與初始設計處理時一樣,將分散信息生成與檢測模塊的數(shù)量相同的數(shù)量,并進行發(fā)送以使各個檢測模塊保持不同的分散信息的對。新加解密密鑰證書向各檢測模塊發(fā)送相同證書。檢測模塊131a、132a、133a從保護控制模塊接收分散信息和新加解密密鑰證書, 并將接收到的分散信息和新加解密密鑰證書保持在分散信息保持部411中(步驟S234)。保護控制模塊在步驟S233中向檢測模塊發(fā)送分散信息和加解密密鑰證書之后, 將應用的識別信息、被加密的應用以及驗證基數(shù)據(jù)的發(fā)送委托發(fā)送給管理裝置200(步驟 S235)。然后,管理裝置200執(zhí)行驗證基數(shù)據(jù)生成處理(步驟S236)。下一輪準備處理的驗證基數(shù)據(jù)生成處理與初始設計處理的驗證基數(shù)據(jù)生成處理稍有不同。在下一輪準備處理的驗證基數(shù)據(jù)生成處理中,使用更新處理中生成的新加解密密鑰,將接收到的加密應用進行解密。之后,根據(jù)加密應用和解密的應用來生成驗證基數(shù)據(jù)的處理與初始設計處理的驗證基數(shù)據(jù)生成處理一樣,所以這里省略。管理裝置200將生成的驗證基數(shù)據(jù)發(fā)送給保護控制模塊(步驟S237),保護控制模塊存儲接收到的驗證基數(shù)據(jù)(步驟S238)。4.實施方式3的效果在實施方式3中,在檢測處理中檢測到保護控制模塊120a的篡改的情況下,更新保護控制模塊,所以可提高系統(tǒng)的安全性。<實施方式4>這里,作為本發(fā)明的實施方式4,說明非法模塊檢測系統(tǒng)2。在實施方式4中,詳細說明將檢測出是非法的保護控制模塊更新為新的保護控制模塊的的構成、和將檢測出是非法的更新模塊無效化的構成。對與實施方式1-3重復的部分省略或簡化說明。1.非法模塊檢測系統(tǒng)2的結構圖40是非法模塊檢測系統(tǒng)2的整體結構圖。如圖所示,非法模塊檢測系統(tǒng)2包括設備IOOb和更新服務器200b。設備IOOb與更新服務器200b經網絡連接。(1)設備IOOb的結構設備IOOb與實施方式1的設備100 —樣,是經網絡向用戶提供各種服務的設備。設備IOOb包括應用110、應用111、保護控制模塊120b、更新模塊組130b和訪問控制模塊140。應用110、111和保護控制模塊120b的概要與上述實施方式1_3 —樣。更新模塊組130b由多個更新模塊構成。在實施方式4中,更新模塊組130b包括更新模塊141、更新模塊142和更新模塊143等3個更新模塊。各更新模塊分別檢測保護控制模塊120b有無篡改。各更新模塊具有如下功能,即在保護控制模塊120b被篡改的情況下,從更新服務器200下載更新用保護控制模塊,更新被篡改的保護控制模塊。另外,更新模塊141、142、143也可具有更新應用110和應用111的功能。另外,更新模塊組130b為了防止攻擊者篡改各更新模塊,非法利用各更新模塊, 更新模塊彼此相互實施篡改檢測。之后,將篡改檢測結果發(fā)送給更新服務器200。在由更新服務器200判斷為某個更新模塊被篡改的情況下,其他正常的更新模塊接受來自更新服務器200的無效化指示,將被篡改的更新模塊無效化。由此,即便在更新模塊組130中包含的一部分更新模塊被攻擊、被篡改的情況下, 也可檢測出該情況并應對攻擊。訪問控制模塊140保持各更新模塊消除其他模塊所需的訪問信息。訪問信息例如是配置了作為消除對象的模塊的地址、或寫有消除所需的步驟的步驟書等。另外,訪問信息按每個作為消除對象的模塊都分別由單獨的訪問信息取得密鑰加密。(更新模塊的詳細結構)這里,說明更新模塊141、142、143的細節(jié)。圖41是表示更新模塊141的功能結構的功能框圖。更新模塊142和143也具有同樣的結構。更新模塊141包括接收部801、發(fā)送部802、控制部803、更新部804、驗證部805、 MAC值生成部806、MAC值表更新部807、和分散信息保持部808。更新模塊141的各結構要素具有與實施方式3的檢測模塊131a(圖中包含的各結構要素一樣的功能。(保護控制模塊120b的詳細結構)圖42是保護控制模塊120b的功能框圖。如圖42所示,保護控制模塊120b包括接收部901、發(fā)送部902、控制部903、解密加載部904、篡改檢測部905、解析工具檢測部906、 加解密密鑰保持部907、加解密密鑰生成部908、加解密密鑰分散部909、證書生成部910和加解密密鑰復原部911。保護控制模塊120b的各結構要素具有與實施方式3的保護控制模塊120a (圖23) 中包含的各結構要素一樣的功能。另外,圖23中未記載的加解密密鑰生成部908生成用于將應用110和應用111加解密的加解密密鑰。(訪問控制模塊140的詳細結構)圖43是功能性地表示訪問控制模塊140的結構的功能框圖。如圖43所示,訪問控制模塊140包括接收部1001、發(fā)送部1002和訪問信息保持部1003。接收部1001從更新模塊141、142、143接收消除被篡改的更新模塊所需的信息即訪問信息的取得委托。發(fā)送部1002相應于訪問信息取得委托,向委托了訪問信息取得的更新模塊發(fā)送訪問信息。訪問信息保持部1003按每個更新模塊141、142、143,保持用于消除該模塊的訪問
in息ο各訪問信息附加有用于識別作為消除對象的更新模塊的更新模塊識別符。另外, 各訪問信息由訪問信息取得密鑰加密。若從更新模塊141、142、143接受訪問信息取得委托,則訪問信息保持部1003將附加了消除對象的更新模塊識別符的訪問信息發(fā)送給委托源的更新模塊。(設備IOOb的硬件結構)下面,用圖44來說明設備IOOb的硬件結構。如圖44所示,設備IOOb包括CPU171、作為非易失性存儲器的EEPR0M172、RAM173 和NIC174等。另外,這些經總線相互可通信地連接。EEPR0M172中存儲保護控制模塊120b、更新模塊141、142、143和應用110、應用 111 等。通過由CPU171執(zhí)行EEPR0M172中存儲的各種模塊,實現(xiàn)各種模塊的各功能部。各功能部具體通過計算機程序來記述。RAM173用作CPU171的工作區(qū)域。向RAM173加載更新模塊141、142、143和應用 110、應用111。作為篡改檢測處理和無效化處理對象的更新模塊是在RAM173上動作的更新模塊。NIC174是用于與網絡連接的擴展卡。(軟件層級)接著,用圖45來說明設備IOOb的軟件層級。如圖45所示,訪問控制模塊140和更新模塊組130b組入0S180中。應用110和應用111在0S180上動作,保護控制模塊120b和引導加載器160在0S180的管理之外。當設備IOOb起動時,首先起動保護控制模塊120b和更新模塊組130b之后,執(zhí)行應用。(2)更新服務器200b的結構下面,返回圖40,說明更新服務器200b。更新服務器200b作為非法模塊確定裝置起作用,從設備IOOb的更新模塊組130b 接收篡改檢測結果,根據(jù)接收到的篡改檢測結果,確定應無效化的非法的更新模塊。并且, 更新服務器200b還起軟件分發(fā)裝置的作用,對設備IOOb分發(fā)將在設備IOOb上動作的軟件 (例如保護控制模塊120b)更新所需的更新用軟件。(整體構成)如圖40所示,更新服務器200b包括判斷部210b、通信部230、更新用軟件分發(fā)部 240、和模塊無效化部250。更新服務器200b具體而言是具備CPU、ROM、RAM、硬盤單元等的計算機系統(tǒng)。通過由CPU按照存儲在ROM或硬盤單元中的計算機程序動作,更新服務器200b 發(fā)揮上述功能。判斷部210b從設備IOOb的更新模塊組130b接收篡改檢測結果,根據(jù)接收到的篡改檢測結果,確定應無效化的非法的更新模塊。通信部230在設備IOOb與更新服務器200b內部的各部之間進行信息的收發(fā)。例如,通信部230將從設備IOOb接收到的篡改檢測結果發(fā)送給判斷部210b。另外,在設備 IOOb與更新服務器200b之間的通信中,也可以使用將數(shù)據(jù)進行加密等確保安全性的通信路徑。更新用軟件分發(fā)部240在更新保護控制模塊120b時,與更新模塊141、142、143聯(lián)攜而動作,向設備IOOb安全發(fā)送更新用的軟件。模塊無效化部250若從更新模塊141、142、143接受訪問信息取得密鑰取得請求,則向請求源的更新模塊發(fā)送訪問信息取得密鑰。接著,說明更新服務器200b的各結構要素。(判斷部210b的詳細結構)圖46是功能性地表示判斷部210b的結構的功能框圖。如圖46所示,判斷部210包括接收部1101、發(fā)送部1102、指示生成部1103和模塊確定部1104。判斷部210b的各結構要素具有與實施方式1的判斷部210 (圖6)中包含的各結構要素一樣的功能。(更新用軟件分發(fā)部MO的詳細結構)圖47是表示更新用軟件分發(fā)部MO的功能結構的功能框圖。如圖47所示,更新用軟件分發(fā)部240包括接收部1201、發(fā)送部1202、加密密鑰生成部1203、加密處理部1204、認證部1205、更新模塊選擇部1206、控制部1207、證書生成部 1208、簽名秘密密鑰保持部1209、更新用軟件保持部1210和加密密鑰保持部1211。更新用軟件分發(fā)部MO的各結構要素具有與實施方式3的驗證基數(shù)據(jù)分發(fā)部 220a (圖25)中包含的各結構要素一樣的功能。更新用軟件保持部1210保持在保護控制模塊120b被攻擊時用于更新的更新用保護控制模塊。(模塊無效化部250的詳細結構)圖48是表示模塊無效化部250的功能結構的功能框圖。如圖所示,模塊無效化部250包括接收部1301、發(fā)送部1302、訪問信息取得密鑰保持部1303和更新模塊選擇部1304。接收部1301從判斷部210b接收將被篡改的非法更新模塊進行無效化的指示。另外,接收部1301從更新模塊141、142、143接收訪問信息取得密鑰的取得委托。發(fā)送部1302相應于訪問信息取得密鑰的取得委托,向委托源的更新模塊發(fā)送訪問信息取得密鑰。訪問信息取得密鑰保持部1303保持用于將訪問控制模塊140所保持的訪問信息進行解密的密鑰、即訪問信息取得密鑰。更新模塊選擇部1304選擇進行被篡改的非法更新模塊的無效化處理之更新模塊,向選擇的更新模塊指示非法更新模塊的無效化。另外,在從模塊選擇部1304選擇的更新模塊委托了訪問信息取得密鑰的取得的情況下,發(fā)送部1302向訪問信息取得密鑰附加作為消除對象的更新模塊的識別符,發(fā)送給所述更新模塊。2.非法模塊檢測系統(tǒng)2的動作接著,說明非法模塊檢測系統(tǒng)2的動作。(1)整體的動作概要圖49是表示非法模塊檢測系統(tǒng)2整體的動作流程的流程圖。非法模塊檢測系統(tǒng) 2整體的處理與實施方式3(圖26) —樣。(2)初始設計處理的動作圖51是初始設計處理的時序圖。非法模塊檢測系統(tǒng)2中,在工場制造設備IOOb時,向設備IOOb的非易失性存儲器安裝各種軟件(步驟S261)。這里,使用圖50來說明初始設計處理時埋入設備IOOb中的密鑰。圖50是示意地表示埋入設備IOOb中的密鑰的圖。這里,更新模塊組130的內部僅包含更新模塊141。實際上也包含更新模塊142和143,但這里省略。如圖50所示,在保護控制模塊120b中埋入加解密密鑰,在更新模塊141中埋入簽名公開密鑰、驗證密鑰和認證密鑰對(此刻在更新模塊中還未埋入分散信息的組)。并且, 在更新模塊141中埋入用于識別各個更新模塊的更新模塊識別符,在該狀態(tài)下安裝于設備 IOOb 中。加解密密鑰是用于將應用110和應用111進行加密和解密的密鑰。各應用在使用加解密密鑰加密的狀態(tài)下存儲到非易失性存儲器中,執(zhí)行時由保護控制模塊120b使用加解密密鑰進行解密后執(zhí)行。在設備IOOb切換上下文來執(zhí)行多個應用的情況下,在上下文切換的定時,使用加解密密鑰進行各應用所使用的數(shù)據(jù)的加密和解密,由此防止在各應用執(zhí)行時由調試器等解析工具提取數(shù)據(jù)。埋入各更新模塊的密鑰中,簽名公開密鑰是全部更新模塊共同的密鑰。驗證密鑰與認證密鑰對是在各個更新模塊中不同的密鑰。步驟S261到步驟S267的處理與實施方式3的步驟S113-步驟S117(圖27) —樣。(3)更新模塊初始化處理圖52是表示更新模塊初始化處理(圖51的步驟S267)的動作的流程圖。圖52 中,僅記載更新模塊141,但更新模塊142和143的動作也基本相同。更新模塊初始化處理的動作與實施方式3 (圖29) —樣。(4)檢測處理的動作接著,用圖53的時序圖來說明非法模塊檢測系統(tǒng)2的檢測處理(圖49的步驟 S252)的細節(jié)。設備IOOb若結束初始設定處理,則從工場出廠,發(fā)送到用戶源,由用戶源使用設備 IOOb0在設備IOOb中各應用進行動作時,在設備IOOb內部,保護控制模塊120b控制解密加載功能、篡改檢測功能、解析工具檢測功能等功能,保護各應用不被攻擊者攻擊。實施方式4的檢測處理與實施方式1-3的檢測處理不同。首先,各更新模塊實施保護控制模塊120b的篡改檢測(步驟S^l)。篡改檢測通過使用驗證密鑰計算保護控制模塊120b的MAC值、比較計算出的MAC值與MAC值表中保持的MAC值來進行。若MAC值一致,則判定為保護控制模塊120b未被篡改,若MAC值不一致,則判定為保護控制模塊120b被篡改。另外,在圖53中簡化記載,記載為僅有更新模塊141進行保護控制模塊120的篡改檢測,但當然更新模塊142和143也進行同樣的處理。判定保護控制模塊120b是否被篡改,即MAC值是否一致(步驟S^》,在判定為保護控制模塊120b被篡改的情況下(步驟S282中是),更新模塊141將該情況通知給更新服務器200b的判斷部210b和其他更新模塊(步驟。
在判定為保護控制模塊120b未被篡改的情況下(步驟S282中否),更新模塊141 不通知判斷部210b或其他更新模塊,返回篡改檢測處理。從其他更新模塊接收到保護控制模塊120b被篡改的通知的更新模塊使用驗證密鑰和MAC值,實施保護控制模塊120b的篡改檢測(步驟S284和步驟。并且,將篡改檢測結果通知給判斷部210b和其他更新模塊(步驟S285和步驟。(5)解析判斷處理的動作圖M是表示解析判斷處理(圖49的步驟S253)的動作的時序圖。圖M中,將更新模塊141、142、143分別單獨進行的處理統(tǒng)一記載為更新模塊組130b進行的處理。解析判斷處理的動作與實施方式3 (圖30) —樣。(6)相互認證處理的動作圖55和圖56是表示非法模塊檢測系統(tǒng)2執(zhí)行的相互認證處理的動作流程的時序圖。與實施方式3 —樣,在解析判斷處理中,在判斷部210b判斷為需要恢復保護控制模塊120的情況下,判斷部210b向更新用軟件分發(fā)部240進行恢復指示。更新用軟件分發(fā)部240在向各更新模塊指示了更新處理的開始之后,在更新用軟件分發(fā)部240與各更新模塊之間,分別進行一對一的相互認證處理。圖55表示更新模塊141對更新用軟件分發(fā)部240進行認證的處理的動作。這里, 記載更新模塊141,但其他更新模塊的動作也相同。更新模塊141對更新用軟件分發(fā)部240進行認證的動作與圖31所示的實施方式 3的檢測模塊131a對驗證基數(shù)據(jù)分發(fā)部220a進行認證的動作一樣。接著,更新用軟件分發(fā)部240對更新模塊141、142、143進行認證。圖56表示更新用軟件分發(fā)部22 0)0對各更新模塊進行認證的處理動作。更新用軟件分發(fā)部240對各更新模塊進行認證的動作與圖32所示的實施方式3 的驗證基數(shù)據(jù)分發(fā)部220a對各更新模塊進行認證的動作一樣。(7)恢復處理的動作圖57是表示非法模塊檢測系統(tǒng)2的恢復處理(圖49的步驟S255)的動作的流程圖。恢復處理是在上述相互認證處理中相互認證成功的情況下、將被篡改的保護控制模塊 120b更新為新的更新用保護控制模塊的處理?;謴吞幚砼c實施方式3(圖3 —樣,包括相互監(jiān)視處理(步驟S321)、更新處理 (步驟S322)和再加密處理(步驟S323)。(8)相互監(jiān)視處理圖58是表示相互監(jiān)視處理(圖57的步驟S321)的動作的時序圖。在相互監(jiān)視處理中,更新模塊141、142、143對更新模塊組130b內的其他更新模塊執(zhí)行篡改檢測處理。在相互監(jiān)視處理中,對哪個更新模塊執(zhí)行篡改檢測處理,記述在更新模塊保持的監(jiān)視模式中。監(jiān)視圖模式中記述了與作為篡改檢測對象的模塊有關的信息(模塊識別符、存儲器上的位置、尺寸、地址、文件名等)。實施方式4的相互監(jiān)視處理的動作與實施方式3的相互監(jiān)視處理(圖34)的動作一樣。(9)更新處理
接著,用圖59和圖60的時序圖來說明更新處理(圖57的步驟S322)。步驟S341到步驟S357與實施方式3 (圖35和圖36)的步驟S191到步驟S207 —樣。更新模塊141、142、143分別使用事先接收到的更新驗證證書,驗證保護控制模塊是否被正確更新(步驟S582),并將驗證結果通知給更新用軟件分發(fā)部240 (步驟S359)。更新用軟件分發(fā)部240若接收從各更新模塊發(fā)送的驗證結果,則根據(jù)接收到的驗證結果,判定保護控制模塊是否被正確更新(步驟S360)。在判定為未被正確更新的情況下(步驟S360中否),更新用軟件分發(fā)部240使設備IOOb停止。在被正確更新的情況下(步驟S360中是),更新用軟件分發(fā)部240將更新處理結束通知給各更新模塊(步驟S361)。各更新模塊若接收更新處理結束通知,則生成新的保護控制模塊的MAC值(步驟 S362),并將生成的MAC值與保護控制模塊的識別符的組寫入MAC值表中。(10)相互監(jiān)視處理與更新處理的關系實施方式4的相互監(jiān)視處理與更新處理與實施方式3 —樣,相互聯(lián)攜而執(zhí)行。圖61是示意地表示相互監(jiān)視處理與更新處理的聯(lián)攜動作流程的圖。細節(jié)已在實施方式3(圖37)中說明,所以這里省略說明。(11)再加密處理圖62是表示再加密處理(圖57的步驟S323)的動作的時序圖。實施方式4的再加密處理與實施方式3 (圖38) —樣。(12)下一輪準備處理的動作圖63是表示下一輪準備處理(圖49的步驟S256)的動作的時序圖。在下一輪準備處理中,在恢復處理結束之后,進行下一恢復處理用的準備。首先,更新后的保護控制模塊根據(jù)新加解密密鑰,使用秘密分散法生成分散信息 (步驟S381),進而,使用簽名秘密密鑰來生成新加解密密鑰證書(步驟S382)。并且,保護控制模塊將生成的分散信息和加解密密鑰證書發(fā)送給各更新模塊141、142、143(步驟S383)。這里,與初始設計處理時一樣,將分散信息生成與更新模塊的數(shù)量相同的數(shù)量,并進行發(fā)送以使各個更新模塊保持不同的分散信息的對。作為新加解密密鑰證書,向各更新模塊141、142、143發(fā)送相同的證書。各更新模塊141、142、143從保護控制模塊接收分散信息和新加解密密鑰證書,并保持接收到的分散信息和新加解密密鑰證書(步驟S384)。(13)無效化處理的動作接著,用圖64的時序圖來說明無效化處理的細節(jié)。無效化處理是在存在相互認證時認證失敗的更新模塊的情況、恢復處理內的監(jiān)視處理中檢測到被篡改的更新模塊的情況、恢復處理內的再加密處理中查出了非法更新模塊的情況等情況下、將在設備IOOb內部存在的非法(被篡改)模塊進行無效化的處理。這里,以更新模塊143被篡改、由更新模塊141和142檢測到該情況時的處理為例,說明無效化處理的動作細節(jié)。判斷部210b根據(jù)從更新模塊141、142、143接收到的相互監(jiān)視結果,判定哪個更新模塊被篡改(步驟S391)。作為判定方法,例如將過半數(shù)的更新模塊判斷為“被篡改”的更新模塊判定為非法更新模塊。判斷部210b將無效化的指示與被篡改的更新模塊的識別信息一起輸出給模塊無效化部250 (步驟S392)。模塊無效化部250委托判定為未被篡改的更新模塊141和142中的某一個(這里設為更新模塊141)被篡改的更新模塊143的無效化(步驟S393)。更新模塊141若從模塊無效化部250接收更新模塊143的無效化委托,則委托模塊無效化部250發(fā)送用于將更新模塊143無效化的訪問信息取得密鑰(步驟S394)。進而, 更新模塊141委托訪問控制模塊140取得用于將更新模塊143無效化的訪問信息(步驟 S395)。模塊無效化部250若接收訪問信息取得密鑰的發(fā)送委托,則確認更新模塊141是否為未被篡改的合法的更新模塊、和被委托的訪問信息取得密鑰是否為用于將被篡改的非法的更新模塊143無效化的訪問信息取得密鑰(步驟S396)。該確認利用從判斷部210b通知給模塊無效化部250的更新模塊的信息來進行。確認的結果,在委托是來自被篡改的更新模塊143的委托、或是對未被篡改的更新模塊141、142的訪問信息取得密鑰的取得委托的情況下(步驟S396中否),停止無效化處理。確認的結果,若沒有問題(步驟S396中是),則向發(fā)出了委托的更新模塊141發(fā)送用于將更新模塊143無效化的訪問信息取得密鑰(步驟S397)。更新模塊141從模塊無效化部250接收訪問信息取得密鑰,并且從訪問控制模塊 140接收加密后的訪問信息(步驟S398)。更新模塊141根據(jù)訪問信息取得密鑰和加密后的訪問信息,取得訪問信息(步驟S399)。取得的訪問信息是用于消除更新模塊143的專用驅動程序。更新模塊141利用專用驅動程序,消除被篡改的非法的更新模塊143 (步驟S400)。如果無效化處理結束,則更新模塊141消除訪問信息取得密鑰、被加密的訪問信息和訪問信息等,向模塊無效化部250發(fā)送完成通知(步驟S401)。模塊無效化部250如果從更新模塊141接收到完成通知,則向判斷部210b發(fā)送無效化的完成通知(步驟S402)。另外,在利用無效化處理將保持了分散信息的更新模塊進行了無效化的情況下, 該更新模塊所保持的分散信息也被消除。因此,在將保持有分散信息的更新模塊進行無效化的情況下,需要進行考慮了分散信息的消除的無效化處理。關于考慮了分散信息的消除的無效化處理,在專利文獻2的56頁到64頁中作為 “退出處理”詳細說明?!磳嵤┓绞?>下面說明本發(fā)明的實施方式5。實施方式4在保護控制模塊是否被篡改的驗證中使用了 MAC值。相對于此,實施方式5使用在應用執(zhí)行時從保護控制模塊輸出的驗證數(shù)據(jù),來驗證保護控制模塊是否被篡改。1.結構實施方式5的非法模塊檢測系統(tǒng)與實施方式4 一樣,由設備IOOb與更新服務器 200b構成。下面,以與實施方式4不同的部分為中心進行說明。
(1)保護控制模塊120c的結構圖65是表示實施方式5的保護控制模塊120c的功能結構的功能框圖。對于與實施方式4具有一樣功能的結構要素附加相同符號,省略說明。與實施方式4的保護控制模塊120b相比,保護控制模塊120c不具備加解密密鑰生成部908。另外,新具備保護控制模塊120b中不存在的驗證數(shù)據(jù)生成部912和驗證基數(shù)據(jù)保持部913。驗證基數(shù)據(jù)保持部913保持從更新服務器200b接收到的驗證基數(shù)據(jù)。驗證數(shù)據(jù)生成部912根據(jù)驗證基數(shù)據(jù)保持部913中保持的驗證基數(shù)據(jù),生成驗證數(shù)據(jù),發(fā)送給更新模塊。(2)更新模塊141c的結構圖66是功能性地表示實施方式5的更新模塊141c的結構的功能框圖。對于與實施方式4具有一樣功能的結構要素附加相同符號,省略說明。與實施方式4的更新模塊141相比,更新模塊141c新具備檢測部810和驗證數(shù)據(jù)保持部811。驗證部805進行保護控制模塊120c和各更新模塊是否正常動作的驗證。驗證部 805使用事先計算出的MAC值或哈希值,驗證各更新模塊。驗證部805在保護控制模塊120c的驗證中使用檢測部810。驗證部805若從保護控制模塊120c接收驗證數(shù)據(jù),則將驗證數(shù)據(jù)存儲在驗證數(shù)據(jù)保持部811中。另外,驗證部 805若從保護控制模塊120c接收應用解密處理的輸出數(shù)據(jù),則將該輸出數(shù)據(jù)輸出給檢測部 810。并且,驗證部805從檢測部810接收表示保護控制模塊120c是否正常動作的驗證結^ ο檢測部810使用從驗證部805接收到的輸出數(shù)據(jù)和驗證數(shù)據(jù)保持部811中存儲的驗證數(shù)據(jù),驗證包含于驗證數(shù)據(jù)中的簽名。通過驗證簽名,驗證保護控制模塊120c的應用解密處理的輸入輸出的對應關系是否正確。檢測部810將驗證結果發(fā)送給驗證部805。驗證數(shù)據(jù)保持部811存儲從驗證部805接收到的驗證數(shù)據(jù)。(3)更新軟件分發(fā)部MOc的結構圖67是功能性地表示實施方式5的更新用軟件分發(fā)部MOc的結構的功能框圖。 對于與實施方式4具有同樣的功能的結構要素附加相同符號,省略說明。與實施方式4的更新用軟件分發(fā)部240相比,更新軟件分發(fā)部MOc新具備更新用軟件執(zhí)行部1220、應用保持部1221、和驗證基數(shù)據(jù)生成部1222。更新用軟件執(zhí)行部1220使用更新用軟件保持部1210中保持的更新用保護控制模塊,執(zhí)行加密應用,取得解密處理的輸入輸出數(shù)據(jù)。應用保持部1221保持安裝于設備IOOb中的應用。驗證基數(shù)據(jù)生成部1222生成保證保護控制模塊120c的解密加載部904正常動作時的、加密應用解密處理的輸入輸出數(shù)據(jù)的對應關系的驗證基數(shù)據(jù),并將生成的驗證基數(shù)據(jù)發(fā)送給設備100b。驗證基數(shù)據(jù)的細節(jié)如后所述。2.動作(1)初始設計處理的動作這里,說明根據(jù)實施方式5的初始設計處理的動作。
圖68和圖69是表示初始設計處理的動作的流程圖。另外,這里說明與實施方式 4不同的部分。更新服務器200b將更新用軟件保持部1210中保持的保護控制模塊120c發(fā)送給設備IOOb (步驟S501)。步驟S502 步驟S511與實施方式4 一樣。保護控制模塊120c在步驟S509和步驟S510中向更新模塊組130發(fā)送分散信息和加解密密鑰證書之后,委托更新服務器200b發(fā)送驗證基數(shù)據(jù)(步驟S512)。更新服務器200b生成驗證基數(shù)據(jù)(步驟S513)。并且,更新服務器200b將生成的驗證基數(shù)據(jù)發(fā)送給保護控制模塊120c (步驟S514)。保護控制模塊120c接收并存儲驗證基數(shù)據(jù)(步驟S515)。(2)更新模塊初始化處理圖70是表示更新模塊初始化處理的動作的流程圖。更新模塊141c在步驟S522中進行更新模塊142c和更新模塊143c的篡改檢測用證書的驗證。在實施方式5中,當執(zhí)行保護控制模塊120c的篡改檢測時,不執(zhí)行使用MAC值的驗證。因此,在步驟S522中,更新模塊141c不執(zhí)行保護控制模塊120c的篡改檢測用證書的驗證。(3)驗證基數(shù)據(jù)生成處理圖71是表示驗證基數(shù)據(jù)生成處理的動作的流程圖。驗證基數(shù)據(jù)生成部1222利用保護控制模塊120c的加解密密鑰來加密安裝于設備 IOOb中的多個應用(步驟S531)。接著,驗證基數(shù)據(jù)生成部1222生成證書(對應關系證書)(步驟S532)。證書是對于保護控制模塊120c正常動作時的輸入數(shù)據(jù)和輸出數(shù)據(jù),使用更新服務器200的簽名秘密密鑰保持部1209的簽名秘密密鑰來生成的簽名。輸入到保護控制模塊 120c中的數(shù)據(jù)是加密后的應用,從保護控制模塊120c輸出的數(shù)據(jù)是解密后的純文本應用。 另外,作為簽名生成的對象的數(shù)據(jù)不僅包含保護控制模塊120c的輸入數(shù)據(jù)和輸出數(shù)據(jù),還可以包含應用的識別信息或表示應用的內容的信息(DVD或BD的再現(xiàn)應用、網絡銀行的應用等)。另外,也可包含保護控制模塊120c的識別信息。最后,驗證基數(shù)據(jù)生成部1222生成由應用的識別信息、加密后的應用的數(shù)據(jù)以及證書構成的驗證基數(shù)據(jù)(步驟S533)。圖72是表示驗證基數(shù)據(jù)的數(shù)據(jù)結構的圖。驗證基數(shù)據(jù)1200對于多個應用、按每個應用記載應用的識別信息、對應于該識別信息的加密應用的數(shù)據(jù)以及證書來構成。(4)檢測處理的動作圖73是表示檢測處理的動作的時序圖。保護控制模塊120c將各應用加密而進行保護。實施方式5的檢測處理的特征在于當應用執(zhí)行時驗證保護控制模塊120c。這里,以由保護控制模塊120c執(zhí)行應用110的情況為具體例來說明。在執(zhí)行其他應用時驗證保護控制模塊120c的情況也一樣。
保護控制模塊120c若接受執(zhí)行應用110的指令,則將驗證數(shù)據(jù)生成部912生成的驗證數(shù)據(jù)、應用110的識別信息、和作為解密結果的應用110的數(shù)據(jù)發(fā)送給更新模塊 141c (步驟SMl)。圖73中,將記載簡化,僅有更新模塊141c執(zhí)行保護控制模塊120c的驗證,但更新模塊142c和143c也執(zhí)行同樣的處理。關于之后的處理,也省略了更新模塊142c和143c,但基本上執(zhí)行與更新模塊141c 一樣的處理。更新模塊141c使用驗證數(shù)據(jù),驗證基于保護控制模塊120c的應用110的解密處理的輸入輸出對應是否正確(步驟S542)。更新模塊141c使用驗證數(shù)據(jù)中包含的加密的應用110的數(shù)據(jù)(輸入數(shù)據(jù))與接收到的解密結果(輸出數(shù)據(jù))來進行驗證。在基于保護控制模塊120c的解密處理的輸入輸出不正確的情況下(步驟S542 為“不正確”),更新模塊141c判定為保護控制模塊120c被篡改,將驗證結果通知給判斷部 210b和其他更新模塊(步驟S543)。在基于保護控制模塊120c的解密處理的輸入輸出正確的情況下(步驟S542為 “正確”),驗證模塊141c不通知判斷部210b或其他更新模塊,在下一應用執(zhí)行時再次進行保護控制模塊120c的驗證。更新模塊142c和143c在由更新模塊141c通知了保護控制模塊120c被篡改的驗證結果的情況下,委托保護控制模塊120c發(fā)送應用的識別信息、解密的應用的數(shù)據(jù)以及驗證數(shù)據(jù)(步驟S544)。保護控制模塊120c若從更新模塊142c和143c接受發(fā)送委托,則發(fā)送應用的識別信息、解密的應用的數(shù)據(jù)以及驗證數(shù)據(jù)(步驟S545)。更新模塊142c和143c分別根據(jù)接收到的應用的識別信息、解密的應用的數(shù)據(jù)以及驗證數(shù)據(jù),驗證基于保護控制模塊120c的應用110的解密處理的輸入輸出對應是否正確 (步驟S546)。并且,更新模塊142c和143c向判斷部210b發(fā)送驗證結果(步驟S547),判斷部210b接收驗證結果。(5)更新處理的動作在將保護控制模塊I20c更新為更新用的新保護控制模塊的情況下,在實施方式5 中,新保護控制模塊的加解密密鑰保持部在保持由更新用軟件分發(fā)部MOc生成的新加解密密鑰的狀態(tài)下,安裝于設備IOOb中。(6)再加密處理的動作圖74是表示再加密處理的動作的時序圖。在實施方式5中,新保護控制模塊的加解密密鑰保持部中已保持有新加解密密鑰。因此,在圖74所示的再加密處理中,不像實施方式4(圖6 的步驟S376那樣生成新加解密密鑰。并且,保護控制模塊復原舊加解密密鑰,并使用舊加解密密鑰將被加密的應用進行解密,使用已保持的新加解密密鑰,將應用進行再加密(步驟S556)。(7)下一輪準備處理的動作圖75是表示下一輪準備處理的動作的時序圖。保護控制模塊120c在步驟S563中向各更新模塊發(fā)送分散信息和加解密密鑰證書之后,將應用的識別信息、被加密的應用以及驗證基數(shù)據(jù)的發(fā)送委托發(fā)送給更新服務器200b (步驟S567)。之后,更新服務器200b進行驗證基數(shù)據(jù)生成處理(步驟S568)。下一輪準備處理中的驗證基數(shù)據(jù)生成處理與初始設計處理中的驗證基數(shù)據(jù)生成處理稍有不同。更新服務器200b使用更新處理中生成的新加解密密鑰,將接收到的加密應用進行解密。并且,對被加密的應用和解密后的應用,生成證書(對應關系證書)。證書是使用更新服務器200b的簽名秘密密鑰來生成的簽名。另外,驗證基數(shù)據(jù)的結構與圖72所示的
結構一樣。更新服務器200b向保護控制模塊發(fā)送生成的驗證基數(shù)據(jù)(步驟S569)。保護控制模塊接收并存儲驗證基數(shù)據(jù)(步驟S570)。(8)驗證基數(shù)據(jù)更新處理圖76是表示驗證基數(shù)據(jù)更新處理的動作的時序圖。在向設備IOOb追加應用的情況下,需要還追加驗證基數(shù)據(jù)。這里,以向設備IOOb 追加新的應用(記為“應用115”。)的情況為例進行說明。用戶在向設備IOOb追加應用的情況下,設備IOOb內的保護控制模塊120c接收下載的應用115(步驟S581)。接著,保護控制模塊120c使用加解密密鑰將接收到的應用115 進行加密(步驟S582)。并且,保護控制模塊120c將應用的識別信息、被加密的應用以及驗證基數(shù)據(jù)的發(fā)送委托發(fā)送給更新服務器200b (步驟S583)。更新服務器200b進行驗證基數(shù)據(jù)生成處理(步驟S584)。驗證基數(shù)據(jù)更新處理中的驗證基數(shù)據(jù)生成處理與上述下一輪準備處理中的驗證基數(shù)據(jù)生成處理一樣。更新服務器200b使用更新處理中生成的新加解密密鑰,將接收到的加密應用進行解密。并且,更新服務器200b對被加密的應用和解密的應用生成證書(對應關系證書)。 證書是使用更新服務器200b的簽名秘密密鑰來生成的簽名。另外,驗證基數(shù)據(jù)的結構是圖 72所示的結構。更新服務器200b將生成的驗證基數(shù)據(jù)發(fā)送給保護控制模塊120c (步驟。保護控制模塊120將接收到的驗證基數(shù)據(jù)存儲到驗證基數(shù)據(jù)保持部420中(步驟S586)。3.實施方式5的效果在實施方式5中,通過驗證保護控制模塊120c進行的應用的解密處理是否被正確執(zhí)行,來驗證保護控制模塊120c有無篡改。由此,各更新模塊不用知道保護控制模塊120c的數(shù)據(jù)就能夠驗證保護控制模塊 120c。因此,即便假設更新模塊進行非法動作,也能夠防止保護控制模塊120c的數(shù)據(jù)泄漏, 能夠進一步提高系統(tǒng)的安全性?!磳嵤┓绞?>下面,說明本發(fā)明的實施方式6。這里,使用與實施方式5相同的符號來說明。1.概要實施方式6的特征在于通過將保護控制模塊120c進行的應用的解密處理分割為多個處理、并驗證各處理的輸入輸出的對應,來執(zhí)行保護控制模塊120c的篡改檢測。圖77是表示將保護控制模塊120c的解密處理分割為多個處理的概要的圖。在實施方式6中,作為一例,將解密處理分割為解密部分處理1、解密部分處理2、和解密部分處理3等3個。各更新模塊使用按每個解密部分處理生成的驗證數(shù)據(jù),驗證各解密部分處理的輸入輸出的對應。另外,從安全性的觀點來看,期望不是一個更新模塊全部驗證3個解密部分處理,而是3個更新模塊分別驗證不同的解密部分處理。2.結構這里,說明與實施方式5不同的結構。在實施方式6中,驗證基數(shù)據(jù)生成部1222生成的驗證基數(shù)據(jù)的結構不同。圖78是表示實施方式6中的驗證基數(shù)據(jù)的數(shù)據(jù)結構的圖。驗證基數(shù)據(jù)1300包含有關解密部分處理1的數(shù)據(jù)1300a、有關解密部分處理2的數(shù)據(jù)1300b和有關解密部分處理3的數(shù)據(jù)1300c。數(shù)據(jù)1300a對于應用110-114的全部應用,包含各應用的識別信息、對應于該識別信息的加密應用的數(shù)據(jù)、和根據(jù)加密應用的數(shù)據(jù)及作為解密部分處理1的輸出數(shù)據(jù)的中間值1來生成的對應關系證書。數(shù)據(jù)1300b對于應用110-114的全部應用,包含各應用的識別信息、對應于該識別信息的中間值1的數(shù)據(jù)、和根據(jù)中間值1及作為解密部分處理2的輸出數(shù)據(jù)的中間值2來生成的對應關系證書。數(shù)據(jù)1300c對于應用110-114的全部應用,包含各應用的識別信息、對應于該識別信息的中間值2的數(shù)據(jù)、和根據(jù)中間值2及作為解密部分處理3的輸出數(shù)據(jù)的解密后的應用的數(shù)據(jù)來生成的對應關系證書。另外,中間值1、中間值2、和解密后的應用的數(shù)據(jù)通過由更新用軟件執(zhí)行部1220 執(zhí)行應用的解密處理來取得。另外,各對應關系證書對于保護控制模塊120c正常動作時的各個解密部分處理的輸入數(shù)據(jù)和輸出數(shù)據(jù),使用更新服務器200b的簽名秘密密鑰來生成。解密部分處理1的對應關系證書是對于將加密后的各應用的數(shù)據(jù)分別設為輸入數(shù)據(jù)時的輸入數(shù)據(jù)和保護控制模塊120c正常動作時的輸出數(shù)據(jù)、使用更新服務器200b的簽名秘密密鑰來生成的簽名。解密部分處理2的對應關系證書是對于將各應用的中間值1分別設為輸入數(shù)據(jù)時的輸入數(shù)據(jù)和保護控制模塊120c正常動作時的輸出數(shù)據(jù)、使用更新服務器200b的簽名秘密密鑰來生成的簽名。解密部分處理3的對應關系證書是對于將各應用的中間值2分別設為輸入數(shù)據(jù)時的輸入數(shù)據(jù)和保護控制模塊120c正常動作時的輸出數(shù)據(jù)、使用更新服務器200b的簽名秘密密鑰來生成的簽名。3.動作(1)初始設計處理的動作實施方式6中的初始設計處理的動作與實施方式5(圖68和圖69) —樣。在實施方式6中,步驟S501中從更新服務器200b發(fā)送給設備IOOb的保護控制模塊120c如圖77 所示,包含通過3個解密部分處理將加密應用進行解密的解密程序。另外,關于步驟S513的驗證基數(shù)據(jù)生成處理的細節(jié),在后面敘述。(2)驗證基數(shù)據(jù)生成處理
圖79是表示實施方式6的驗證基數(shù)據(jù)生成處理的動作的流程圖。驗證基數(shù)據(jù)生成部1222利用保護控制模塊120c的加解密密鑰來將應用保持部 1221中保持的多個應用進行加密(步驟S601)。接著,更新用軟件執(zhí)行部1220執(zhí)行保護控制模塊120c的解密處理,將多個加密應用進行解密而取得作為各解密部分處理的輸出數(shù)據(jù)的中間值和解密后的應用(步驟 S602)。接著,證書生成部1208對加密應用的數(shù)據(jù)與中間值1的組、中間值1與中間值2 的組、以及中間值2與解密后的應用的數(shù)據(jù)的組,使用簽名秘密密鑰保持部1209中保持的簽名秘密密鑰,生成證書(對應關系證書)(步驟S603)。最后,驗證基數(shù)據(jù)生成部1222生成由應用的識別信息、對各解密部分處理的輸入數(shù)據(jù)、以及對應關系證書構成的驗證基數(shù)據(jù)(步驟S604)。(3)檢測處理的動作圖80和圖81是表示實施方式6的檢測處理的動作的時序圖。這里,作為具體例,說明設備IOOb執(zhí)行應用110時、進行保護控制模塊120c的檢測處理的情況。保護控制模塊120c若接收執(zhí)行應用110的指令,則根據(jù)驗證基數(shù)據(jù)保持部913中保持的驗證基數(shù)據(jù)(圖78),生成驗證數(shù)據(jù)(步驟S611)。驗證數(shù)據(jù)生成部912生成圖82所示的解密部分處理1的驗證數(shù)據(jù)1301、圖83所示的解密部分處理2的驗證數(shù)據(jù)1302、以及圖84所示的解密部分處理3的驗證數(shù)據(jù)1303。驗證數(shù)據(jù)生成之后,保護控制模塊120c將被加密的應用110進行解密(步驟
5612)。保護控制模塊120c選擇一個更新模塊(這里設為更新模塊141c),向選擇的更新模塊141c發(fā)送應用110的識別信息、中間值1以及解密部分處理1的驗證數(shù)據(jù)(步驟
5613)。保護控制模塊120c選擇與在先選擇的更新模塊不同的更新模塊(這里設為更新模塊142c),向選擇的更新模塊142c發(fā)送應用110的識別信息、中間值2以及解密部分處理 2的驗證數(shù)據(jù)(步驟S614)。并且,保護控制模塊120c選擇與在先選擇的兩個更新模塊不同的更新模塊(這里設為更新模塊143c),向選擇的更新模塊143c發(fā)送應用110的識別信息、解密的應用的數(shù)據(jù)以及解密部分處理3的驗證數(shù)據(jù)(步驟S615)。并且,各更新模塊使用接收到的驗證數(shù)據(jù),驗證解密部分處理的輸入輸出對應是否正確(步驟S616、617、618)。各更新模塊在判定為解密部分處理的輸入輸出不正確的情況下,判定為保護控制模塊120c被篡改(步驟S619、S620、S621中是),將驗證結果通知給判斷部210b和其他更新模塊(步驟S622)。圖81中,記載為僅有更新模塊141c通知驗證結果,但更新模塊142c 和143c也同樣通知驗證結果。各更新模塊在判定為解密部分處理的輸入輸出正確、保護控制模塊120c未被篡改的情況下(步驟S619、620、621中否),不通知判斷部210b或其他更新模塊,在下一應用執(zhí)行時再次進行保護控制模塊120c的驗證。
(4)下一輪準備處理的動作實施方式6中的下一輪準備處理的動作與實施方式5(圖75) —樣。但是,在實施方式6中,更新服務器200b生成的驗證基數(shù)據(jù)是圖78所示的驗證基數(shù)據(jù)1300。(5)驗證基數(shù)據(jù)更新處理的動作實施方式6中的驗證基數(shù)據(jù)更新處理的動作是與實施方式5 (圖76) —樣的動作。 但是,在實施方式6中的驗證基數(shù)據(jù)更新處理的驗證基數(shù)據(jù)生成處理中,更新用軟件執(zhí)行部1220從加密應用中取得中間值1、中間值2、和解密后的應用的數(shù)據(jù)。并且,驗證基數(shù)據(jù)生成部1222根據(jù)取得的數(shù)據(jù),生成圖78所示的驗證基數(shù)據(jù)1300。4.實施方式6的效果在實施方式6中,將保護控制模塊120c執(zhí)行的解密處理分割為部分處理,按每個部分處理來驗證輸入輸出數(shù)據(jù)的對應關系。因此,即便假設更新模塊進行非法動作,也能夠防止保護控制模塊120c執(zhí)行的解密處理整體泄漏。并且,能夠知道保護控制模塊120c執(zhí)行的解密處理整體中哪個部分被篡改。<實施方式7>下面,說明本發(fā)明的實施方式7。這里,使用與實施方式5相同的符號來說明。1.結構實施方式7中驗證基數(shù)據(jù)生成部1222生成的驗證基數(shù)據(jù)的結構與實施方式5不同。圖85是表示實施方式7中的驗證基數(shù)據(jù)的數(shù)據(jù)結構的圖。驗證基數(shù)據(jù)1400由對各應用的應用識別信息、與該識別信息對應的加密應用的數(shù)據(jù)及驗證值、以及解密處理證書構成。加密應用的數(shù)據(jù)通過由更新用軟件執(zhí)行部1220執(zhí)行保護控制模塊120c、并使用加解密密鑰將應用保持部1221中保持的各應用進行加密來生成。驗證值是將以加密后的應用的數(shù)據(jù)為輸入數(shù)據(jù)時的輸入數(shù)據(jù)和保護控制模塊 120c正常動作時的解密結果即輸出數(shù)據(jù)進行結合而得到的數(shù)據(jù)的哈希值。另外,作為驗證值,也可以代替哈希值而使用簽名。另外,計算哈希值的對象數(shù)據(jù)不僅是輸入數(shù)據(jù)和輸出數(shù)據(jù),也可以包含應用的識別信息或表示應用的內容的信息(DVD或BD的再現(xiàn)應用、網絡銀行的應用等)。并且,也可包含保護控制模塊120c的識別信息。解密處理證書如下生成。首先,將應用110的驗證值、應用111的驗證值、應用112 的驗證值、應用113的驗證值、和應用114的驗證值全部結合,根據(jù)結合后的值,計算哈希值。接著,對計算出的哈希值,使用更新服務器200b的簽名秘密密鑰來生成簽名。生成的簽名成為解密處理證書。另外,實施方式7中保護控制模塊120c的驗證數(shù)據(jù)生成部912生成的驗證數(shù)據(jù)與實施方式5不同。驗證數(shù)據(jù)生成部912根據(jù)驗證基數(shù)據(jù)保持部913中保持的驗證基數(shù)據(jù) (圖85的驗證基數(shù)據(jù)1400),生成驗證數(shù)據(jù),并發(fā)送給各更新模塊。這里,作為具體例,說明執(zhí)行應用110時、驗證數(shù)據(jù)生成部912生成的驗證數(shù)據(jù)。圖86是表示執(zhí)行應用110時、驗證數(shù)據(jù)生成部912生成的驗證數(shù)據(jù)1401的數(shù)據(jù)結構的圖。驗證數(shù)據(jù)生成部912從驗證基數(shù)據(jù)1400中刪除應用110以外的應用111、112、113,114的識別信息及加密應用的數(shù)據(jù)、以及應用110的驗證值,由此生成驗證數(shù)據(jù)1401。另外,驗證數(shù)據(jù)生成部912對其他應用也通過同樣的方法生成驗證數(shù)據(jù)。S卩,驗證數(shù)據(jù)生成部912從驗證基數(shù)據(jù)1400中刪除執(zhí)行的應用以外的應用的識別信息、加密應用的數(shù)據(jù)、以及執(zhí)行的應用的驗證值,由此生成驗證數(shù)據(jù)。2.動作(檢測處理)實施方式7中的檢測處理的動作基本上與實施方式5(圖73) —樣。在實施方式7中,步驟S542的驗證方法不同。在步驟S542中,更新模塊141c根據(jù)驗證數(shù)據(jù)中包含的加密應用的數(shù)據(jù)和接收到的解密應用的數(shù)據(jù),計算哈希值。并且,根據(jù)將計算出的哈希值與在驗證數(shù)據(jù)中包含的其他應用的驗證值進行結合而得到的數(shù)據(jù),進一步計算哈希值。最后,更新模塊141c使用驗證數(shù)據(jù)中包含的解密處理證書和計算出的哈希值,驗證應用的解密處理的輸入輸出是否正確。3.實施方式7的效果實施方式7的驗證數(shù)據(jù)僅公開了與保護控制模塊120c所解密的應用有關的信息。 由此,即便更新模塊進行非法動作,也不會從驗證數(shù)據(jù)泄漏有關其他應用的信息。另外,在實施方式7中,通過使驗證數(shù)據(jù)由加密應用的數(shù)據(jù)、驗證值(哈希值)和解密處理證書(對根據(jù)結合哈希值來生成的哈希值的簽名)構成,能夠驗證保護控制模塊 120c正確進行解密處理。<實施方式8>下面,說明本發(fā)明的實施方式8。這里,使用與實施方式5相同的符號來說明。1.概要實施方式8的特征在于將各更新模塊在檢測處理中使用的驗證數(shù)據(jù)在驗證后消除。并且,實施方式8的特征在于各更新模塊相互進行篡改檢測處理,相互確認消除了驗證數(shù)據(jù)。另外,各裝置的結構與實施方式5—樣。2.動作(檢測處理)圖87和圖88是表示實施方式8的檢測處理的動作的時序圖。圖87的步驟S651 步驟S657與實施方式5 (圖7 —樣。這里,從圖88的步驟 S661開始說明。各更新模塊消除在驗證數(shù)據(jù)保持部811中存儲的驗證數(shù)據(jù)(步驟S661)。接著,各更新模塊為了確認是否消除了驗證數(shù)據(jù),相互進行篡改檢測處理。更新模塊141c進行更新模塊142c的篡改檢測處理(步驟S66》,更新模塊142c 進行更新模塊143c的篡改檢測處理(步驟S663),更新模塊143c執(zhí)行更新模塊141c的篡改檢測處理(步驟S664)。另外,篡改檢測處理通過使用驗證密鑰計算各更新模塊的MAC值、并比較MAC值表中保持的MAC值與計算的MAC值來進行。另外,也可以代替MAC值而計算各更新模塊的哈希值,比較預先附加于各更新模塊的證書中記述的哈希值與算出的哈希值來進行。各更新模塊將篡改檢測結果發(fā)送給判斷部210b (步驟S665)。
判斷部210b從各更新模塊接收篡改檢測結果(步驟S667),判定進行了保護控制模塊120c的檢測處理的更新模塊是否被篡改(步驟S668)。在判定為更新模塊被篡改的情況下(步驟S668中是),判斷部210b判斷為保護控制模塊120c的檢測處理未正確執(zhí)行,并執(zhí)行被篡改的更新模塊的無效化處理(步驟S669)。 之后,判斷部210b通知保護控制模塊120c再次執(zhí)行檢測處理(步驟S670)。在判定為更新模塊未被篡改的情況下(步驟S668中否),可視為步驟S661中正確進行了驗證數(shù)據(jù)的消除。3.實施方式8的效果在實施方式8中,各更新模塊相互確認消除了檢測處理中使用的驗證數(shù)據(jù)的情況,由此能夠防止更新模塊中累積驗證數(shù)據(jù)。由此,即便一個更新模塊進行非法動作,也僅泄漏一個應用的驗證數(shù)據(jù),能夠防止其以上的驗證數(shù)據(jù)泄漏。<實施方式9>下面,說明本發(fā)明的實施方式9。這里,使用與實施方式5相同的符號來說明。1.概要實施方式9的特征在于在保護控制模塊的檢測處理中不使用應用的數(shù)據(jù)而使用從更新服務器200b預先接收到的驗證數(shù)據(jù)。2.結構用圖89來說明實施方式9中的驗證數(shù)據(jù)。驗證數(shù)據(jù)1500對于更新服務器200b生成的5個數(shù)據(jù)中的每個數(shù)據(jù),包括識別各數(shù)據(jù)的識別信息、該識別信息所表示的加密數(shù)據(jù)、以及對加密數(shù)據(jù)和解密數(shù)據(jù)生成的證書 (對應關系證書)。另外,對應關系證書是對于將加密數(shù)據(jù)設為輸入數(shù)據(jù)時的輸入數(shù)據(jù)與保護控制模塊120c正常動作時的輸出數(shù)據(jù),使用更新服務器200b的簽名秘密密鑰生成的簽名。3.動作(1)初始設計處理的動作圖90和圖91是表示實施方式9的初始設計處理的動作的時序圖。實施方式9的初始設計處理的動作與實施方式5(圖68) —樣。步驟S713中更新服務器200b執(zhí)行的驗證數(shù)據(jù)生成處理與實施方式5不同。(2)驗證數(shù)據(jù)生成處理圖92是表示實施方式9的驗證數(shù)據(jù)生成處理的動作的流程圖。更新服務器200b生成任意多個數(shù)據(jù),分別用保護控制模塊120c的加解密密鑰將生成的數(shù)據(jù)進行加密(步驟S721)。并且,更新服務器200b對生成的所述多個數(shù)據(jù)中的每個數(shù)據(jù),對將純文本數(shù)據(jù)和加密數(shù)據(jù)建立對應的數(shù)據(jù),生成對應關系證書(步驟S722)。最后,更新服務器200b生成由各數(shù)據(jù)的識別信息、加密數(shù)據(jù)以及對應關系證書構成的驗證數(shù)據(jù)(步驟S723)。(3)檢測處理的動作圖93和圖94是表示實施方式9的檢測處理的動作的時序圖。更新模塊141c從已保持的驗證數(shù)據(jù)中選擇一個加密數(shù)據(jù),發(fā)送給保護控制模塊120c (步驟 S731)。保護控制模塊120b使用加解密密鑰將接收到的加密數(shù)據(jù)進行解密(步驟S732)。 保護控制模塊120c將解密后的數(shù)據(jù)發(fā)送給更新模塊141c (步驟S733)。另外,圖93和圖94中,僅有更新模塊141c進行保護控制模塊120c的檢測處理, 但更新模塊142c和143c也進行同樣的處理。更新模塊141c使用驗證數(shù)據(jù)和接收到的解密數(shù)據(jù),驗證保護控制模塊120c的解密處理的輸入輸出的對應是否正確(步驟S734)。在解密處理的輸入輸出不正確的情況下(步驟S734中“不正確”),更新模塊141c 判定為保護控制模塊120c被篡改,向判斷部210b、更新模塊142c和更新模塊143c通知驗證結果(步驟S735)。在解密處理的輸入輸出正確的情況下(步驟S734中“正確”),更新模塊141c不向判斷部210b或其他更新模塊通知驗證結果。之后,更新模塊141c在任意定時進行保護控制模塊120c的驗證。更新模塊141c 可以定期進行保護控制模塊120b的驗證,也可以在保護控制模塊120c執(zhí)行應用時執(zhí)行。另外,也可以將記載了進行驗證的定時的信息預先從更新服務器200b提供給更新模塊141c。更新模塊141c和143c若接受保護控制模塊120c被篡改的驗證結果,則從已保持的驗證數(shù)據(jù)中選擇一個加密數(shù)據(jù),發(fā)送給保護控制模塊120c (步驟S736和步驟S737)。保護控制模塊120c分別使用加解密密鑰將接收到的加密數(shù)據(jù)進行解密(步驟 S738),將解密后的數(shù)據(jù)發(fā)送給對應的更新模塊142c和143c (步驟S739和步驟S740)。更新模塊142c和143c使用驗證數(shù)據(jù)和接收到的驗證數(shù)據(jù),驗證保護控制模塊 120c的解密處理的輸入輸出的對應是否正確(步驟S741和步驟S742)。更新模塊142c和143c將驗證結果發(fā)送給判斷部210b (步驟S743和步驟S744), 判斷部210b接收驗證結果。(4)下一輪準備處理的動作
圖95是表示實施方式9的下一輪準備處理的動作的時序圖。步驟S801 步驟S814的處理與實施方式5(圖7 —樣。這里,說明步驟S802 以后的步驟。各更新模塊在保持分散信息之后,向更新服務器200b發(fā)送驗證數(shù)據(jù)的發(fā)送委托 (步驟S805、步驟S806和步驟S807)。更新服務器200b進行驗證數(shù)據(jù)生成處理(步驟S808)。在下一輪準備處理的驗證數(shù)據(jù)生成處理中,與初始設計處理的驗證數(shù)據(jù)生成處理稍有不同。更新服務器200b使用在更新處理中生成的新加解密密鑰,將任意數(shù)據(jù)進行加密。并且,對將純文本數(shù)據(jù)和加密數(shù)據(jù)建立對應后的數(shù)據(jù)。生成對應關系證書。此外,驗證數(shù)據(jù)的結構與圖89所示的驗證數(shù)據(jù) 1500 一樣。更新服務器200b將生成的驗證數(shù)據(jù)發(fā)送給各更新模塊(步驟S809)。各更新模塊接收并存儲驗證數(shù)據(jù)(步驟S810)。(5)驗證數(shù)據(jù)更新處理的動作在實施方式9中,更新服務器200b使用由任意數(shù)據(jù)生成的驗證數(shù)據(jù),進行保護控制模塊120c的檢測處理。
50
因此,在重復進行檢測處理的情況下,保護控制模塊120c有可能進行將解密處理的輸入輸出數(shù)據(jù)進行存儲,并將之發(fā)送給更新模塊的非法處理。如果這樣,各更新模塊不能正確進行保護控制模塊120c的檢測處理。因此,在實施方式9中,通過更新驗證數(shù)據(jù),能夠增加驗證中使用的加密數(shù)據(jù)的種類,構筑安全性更高的系統(tǒng)。另外,驗證數(shù)據(jù)更新處理既可以定期進行,也可以不定期進行。圖96是表示驗證數(shù)據(jù)更新處理的動作的時序圖。這里,作為具體例,說明更新模塊141c,但更新模塊142c和143c也一樣。更新模塊141c為了更新驗證數(shù)據(jù),將驗證數(shù)據(jù)的發(fā)送委托發(fā)送給更新服務器 200b (步驟 S831)。更新服務器200b執(zhí)行驗證數(shù)據(jù)生成處理(步驟S832)。驗證數(shù)據(jù)更新處理的驗證基數(shù)據(jù)生成處理與下一輪準備處理的驗證數(shù)據(jù)生成處理一樣。更新服務器200b將生成的驗證數(shù)據(jù)發(fā)送給更新模塊141c (步驟S833)。更新模塊141c接收并存儲驗證數(shù)據(jù)(步驟S834)。4.實施方式9的效果在實施方式9中,更新模塊從驗證數(shù)據(jù)中任意選擇驗證中使用的加密數(shù)據(jù)。因此, 保護控制模塊120c難以進行非法動作。由此,能夠提高系統(tǒng)的安全性。<實施方式10>最后說明本發(fā)明的實施方式10。這里,使用與實施方式5相同的符號來說明。1.概要在實施方式10中,與實施方式6 —樣,將保護控制模塊120c執(zhí)行的應用的解密處理分割為多個解密部分處理而進行檢測處理。實施方式10的特征在于還對執(zhí)行了解密部分處理的順序進行驗證。2.結構在實施方式10中,使用表示解密部分處理的順序的順序信息。順序信息是表示解密部分處理的順序、以及若部分處理不是最后的處理則進行下一順序的解密部分處理的驗證的更新模塊的信息。例如,在將更新模塊141c、142c、143c的識別信息分別設為ID1、ID2、ID3,按更新模塊141c、142c、143c的順序進行解密部分處理的情況下,將順序信息記載為(ID1、ID2、 ID3)。3.動作(檢測處理的動作)圖97至圖99是表示實施方式10的檢測處理的動作的時序圖。步驟S901 步驟S902與實施方式6 (圖80)的處理一樣。從步驟S903開始說明。保護控制模塊120c選擇一個更新模塊(這里設為更新模塊141c),向選擇的更新模塊141c發(fā)送應用110的識別信息、中間值1、解密部分處理1的驗證數(shù)據(jù)以及順序信息 (步驟 S903)。保護控制模塊120c選擇與在先選擇的更新模塊不同的更新模塊(這里設為更新模塊142c),向選擇的更新模塊142c發(fā)送應用110的識別信息、中間值2、解密部分處理2 的驗證數(shù)據(jù)以及順序信息(步驟S904)。
進而,保護控制模塊120c選擇與在先選擇的兩個更新模塊不同的更新模塊(這里設為更新模塊143c),向選擇的更新模塊143c發(fā)送應用110的識別信息、解密的應用的數(shù)據(jù)、解密部分處理3的驗證數(shù)據(jù)以及順序信息(步驟S905)。更新模塊141c使用接收到的驗證數(shù)據(jù),驗證解密部分處理1的輸入輸出對應是否正確(步驟S906)。在判定為解密部分處理的輸入輸出對應不正確的情況下,判定為保護控制模塊120c被篡改(步驟S907中是),通知給判斷部210b (步驟S908)。在判定為保護控制模塊120c未被篡改的情況下(步驟S907中否),更新模塊141c 不通知判斷部210b,而按照順序信息中包含的更新模塊識別信息,向下一更新模塊142c發(fā)送中間值1(步驟S909)。更新模塊142c驗證從更新模塊141c接收到的中間值1是否與從保護控制模塊 120c接收到的驗證數(shù)據(jù)中包含的中間值1 一致(步驟S910)。接著,更新模塊142c使用從保護控制模塊120c接收到的中間值2和驗證數(shù)據(jù),驗證解密部分處理2的輸入輸出對應是否正確(步驟S911)。在步驟S901中中間值1不一致的情況下,或步驟S911中解密部分處理2的輸入輸出不正確的情況下,更新模塊142c判定為保護控制模塊120c被篡改。在保護控制模塊I20c被篡改的情況下(步驟S912中是),更新模塊142c通知判斷部210b (步驟S913)。在保護控制模塊120c未被篡改的情況下(步驟S912中否),更新模塊142c不通知判斷部210b,而按照順序信息中包含的更新模塊識別信息,向下一更新模塊143c發(fā)送中間值2 (步驟S914)。更新模塊143c驗證從更新模塊142c接收到的中間值2是否與從保護控制模塊 120c接收到的驗證數(shù)據(jù)中包含的中間值2 —致(步驟S915)。接著,更新模塊142c使用從保護控制模塊120c接收到的中間值2和驗證數(shù)據(jù),驗證解密部分處理3的輸入輸出對應是否正確(步驟S916)。在步驟S915中中間值2不一致的情況下,或步驟S916中解密部分處理3的輸入輸出不正確的情況下,更新模塊143c判定為保護控制模塊120c被篡改。在保護控制模塊120c被篡改的情況下(步驟S917中是),更新模塊143c通知判斷部210b (步驟S918)。在保護控制模塊120c未被篡改的情況下(步驟S917中否),不通知判斷部210b,結束檢測處理。3.實施方式10的效果在實施方式10中,能夠使用順序信息來驗證解密部分處理是否按照正確的順序執(zhí)行。另外,各更新模塊通過驗證解密部分處理的輸出數(shù)據(jù)與驗證數(shù)據(jù)中包含的數(shù)據(jù)是否一致,可知保護控制模塊120c或其他更新模塊執(zhí)行非法動作。<其他變形例>另外,根據(jù)上述實施方式說明了本發(fā)明,但本發(fā)明當然不限于上述實施方式。以下的情況也包含于本發(fā)明中。(1)在上述實施方式中,在基于檢測模塊組和更新模塊組的相互監(jiān)視處理中判定為存在被篡改的檢測模塊或更新模塊的情況下,判斷部立即向檢測模塊通知檢測處理的停止。
但是,本發(fā)明不限于此,也可以將被篡改的檢測模塊或更新模塊無效化,或在以后的保護控制模塊檢測處理中不使用被篡改的檢測模塊或更新模塊。(2)在上述實施方式的檢測處理中,在應用執(zhí)行時驗證保護控制模塊的解密處理。 但是,本發(fā)明不限于此,也可以在將應用進行加密的處理中驗證。此時,代替圖16的檢測處理時序圖中步驟S41和步驟S42,由應用分割部分割加密前的應用,由解密加載部加密分割后的應用。步驟S43以后的處理一樣。由此,能夠確認保護控制模塊正確進行加密處理、保護著應用。另外,也可以在追加應用時進行的應用加密處理或應用的再加密時進行的加密處理中驗證保護控制模塊。(3)在上述實施方式的檢測處理中,檢測模塊向其他檢測模塊發(fā)送分割信息,確認是否驗證了全部的分割數(shù)據(jù)。但是,本發(fā)明不限于此,檢測模塊也可以預先保持全部的分割 fn息ο也可以是,檢測模塊選擇分割信息,由檢測模塊向保護控制模塊委托發(fā)送對應于選擇的分割信息的分割數(shù)據(jù)。另外,也可以是,各檢測模塊共享分別選擇了哪個分割信息,確認是否從保護控制模塊發(fā)送了與其他檢測模塊所選擇的分割信息對應的分割數(shù)據(jù)。(4)在上述實施方式的檢測處理中,每當執(zhí)行應用時,從保護控制模塊向檢測模塊發(fā)送分割數(shù)據(jù)和對應的驗證數(shù)據(jù),檢測模塊進行驗證。但是,本發(fā)明不限于此。也可以是, 保護控制模塊在步驟S42之后,累積分割數(shù)據(jù),在從檢測模塊接受委托的時刻,發(fā)送所累積的分割數(shù)據(jù)和對應的驗證數(shù)據(jù)。根據(jù)該結構,能夠減少檢測模塊執(zhí)行的檢測處理的執(zhí)行次數(shù)。另外,通過在檢測處理之前在檢測模塊組中執(zhí)行相互監(jiān)視處理,能夠使用判斷為合法的檢測模塊的檢測模塊來執(zhí)行保護控制模塊的檢測處理。另外,也可以是,在保護控制模塊內累積分割數(shù)據(jù)時,保護控制模塊與各檢測模塊共享密鑰,使用各檢測模塊的公共密鑰,將分割數(shù)據(jù)進行加密并保持。另外,也可以使用保護控制模塊的認證部所保持的公開密鑰,來將分割數(shù)據(jù)進行加密。另外,也可以使用多個檢測模塊的密鑰對一個分割數(shù)據(jù)進行加密。另外,可以由保護控制模塊選擇使用哪個檢測模塊的密鑰,也可以由管理裝置選擇并指示給保護控制模塊。并且,也可以附加用于證明管理裝置進行了選擇的證書。(5)在上述實施方式的解析判斷處理中,使用檢測模塊的檢測結果來判斷保護控制模塊有無篡改。但是,本發(fā)明不限于此。也可以是,檢測模塊組執(zhí)行相互監(jiān)視處理,僅使用合法的檢測模塊的檢測結果來判斷有無保護控制模塊的篡改。另外,也可以是,在相互監(jiān)視處理中檢測到非法的檢測模塊的情況下,僅使合法的檢測模塊再次執(zhí)行檢測處理。(6)在上述實施方式中,保護控制模塊和檢測模塊安裝在同一設備中,但也可以分別安裝在不同設備中。此時,例如可以將保護控制模塊安裝在發(fā)行證書的認證站的裝置中, 將檢測模塊安裝在監(jiān)查裝置中。監(jiān)查裝置也可以由檢測證書的發(fā)行是否正確的系統(tǒng)使用。(7)在上述實施方式中,作為具體例,將解密后的純文本應用的數(shù)據(jù)分割為3個, 檢測模塊驗證各個分割數(shù)據(jù)之一。
但是,本發(fā)明不限于此,也可以將應用的數(shù)據(jù)分割為k個,向各檢測模塊發(fā)送k_l 個以下的分割數(shù)據(jù),使其進行驗證。只要不取得k個分割數(shù)據(jù),則不能復原應用的數(shù)據(jù),所以即便從一個檢測模塊泄漏分割數(shù)據(jù),也不會泄漏應用的數(shù)據(jù)。(8)在上述實施方式中,將解密后的純文本應用的數(shù)據(jù)分割為3個,能夠由3個分割數(shù)據(jù)復原應用的數(shù)據(jù)。但是,本發(fā)明不限于此,也可以設為將應用的數(shù)據(jù)分割為m個,能夠由m個中的k 個分割數(shù)據(jù)復原應用的數(shù)據(jù)。此時,保護控制模塊選擇發(fā)送分割數(shù)據(jù)的檢測模塊,向選擇的各檢測模塊發(fā)送k_l 個以下的分割數(shù)據(jù)和對應的驗證數(shù)據(jù)。檢測模塊使用接收到的k-Ι個以下的分割數(shù)據(jù)和驗證數(shù)據(jù)進行驗證。具體用實例來說明。作為分割方法,可以使用(k、m)閾值法將應用的數(shù)據(jù)分割為 m個,能夠由k個復原。(k、m)閾值法記載于非專利文獻1的214頁至216頁中。在(k、m)閾值法中,y軸切片使用成為應用的數(shù)據(jù)的k_l次多項式f(x)。在多項 Sf(X)中,x=l、…、m時的m個信息成為分割數(shù)據(jù)。根據(jù)m個分割數(shù)據(jù)中的k個分割數(shù)據(jù),唯一地確定多項式f(x),所以y軸切片的應用的數(shù)據(jù)也唯一地確定。此時的判定信息為 k。另外,在將RSA加密中的公開密鑰n( = pq)設為1189( = 29X41)的情況下,判定信息變?yōu)?189。此時,在將應用的數(shù)據(jù)分割為以7、11、13、17、19取約數(shù)的5個時,若使用中國剩余定理則能夠復原應用的數(shù)據(jù),以超過1189、例如(7,11,17)或(7,13,19)。在將應用的數(shù)據(jù)按每規(guī)定尺寸(例如5字節(jié))進行分割的情況下,也可以分割為如圖100所示。分割數(shù)據(jù)1為從第0字節(jié)起5字節(jié)量,分割數(shù)據(jù)2為從第5字節(jié)起5字節(jié)量,分割數(shù)據(jù)3為從第10字節(jié)起5字節(jié)量,分割數(shù)據(jù)4為從第3字節(jié)起5字節(jié)量,分割數(shù)據(jù) 5為從第8字節(jié)起5字節(jié)量。此時的判定信息的結構為((1,2,3), (1,3,4,5)).保護控制模塊根據(jù)判定信息來決定向檢測模塊發(fā)送哪個分割數(shù)據(jù)。例如,在保護控制模塊決定為使用判定信息(1,3,4,5)來驗證的情況下,選擇由應用分割部分割的分割數(shù)據(jù)中的分割數(shù)據(jù)1、3、4、5,將各個分割數(shù)據(jù)與對應的驗證數(shù)據(jù)發(fā)送給任一檢測模塊。檢測模塊利用接收到的分割數(shù)據(jù)和驗證數(shù)據(jù)進行驗證。進而,檢測模塊根據(jù)判定信息,使用其他檢測模塊的分割信息來確認分割數(shù)據(jù)1、2、3或分割數(shù)據(jù)1、3、4、5被驗證。(9)在上述實施方式的檢測處理中,也可以是,管理裝置預先決定向哪個檢測模塊發(fā)送哪個分割數(shù)據(jù),并生成為控制信息,從管理裝置向保護控制模塊發(fā)送生成的控制信息。另外,檢測模塊也可以使用規(guī)定的決定算法來決定。決定算法例如產生隨機數(shù),根據(jù)該隨機數(shù)來決定進行檢測處理的檢測模塊。此時,設為在全部的檢測模塊中共享同一的決定算法,以相同的定時生成相同值的隨機數(shù)。決定的檢測模塊委托保護控制模塊發(fā)送分割數(shù)據(jù)和驗證數(shù)據(jù)。(10)在上述實施方式中,也可以不驗證保護控制模塊的應用解密處理或應用加密處理,而驗證簽名生成處理、簽名驗證處理、實現(xiàn)著作權保護功能的處理(內容的權利更新等權利管理)、實現(xiàn)網絡銀行的處理(以電子貨幣為主的電子價值的管理)等。此時,管理裝置預先生成對這些處理的驗證基數(shù)據(jù),發(fā)送給保護控制模塊。
(11)在上述實施方式中,驗證數(shù)據(jù)中包含對全部的應用的解密處理證書,但不限于此,在驗證數(shù)據(jù)中也可以僅包含對要驗證的應用的解密處理證書。(12)在上述實施方式2中,在通過相互監(jiān)視處理未檢測到篡改的情況下,視為分割數(shù)據(jù)被消除。但是,確認分割數(shù)據(jù)的消除的方法不限于此。例如,也可以通過確認在驗證數(shù)據(jù)保持部中是否存儲有數(shù)據(jù)來確認分割數(shù)據(jù)被消除。另外,檢測模塊也可以保持在消除分割數(shù)據(jù)的程序在檢測模塊內動作時出現(xiàn)的標志,通過確認該標志,確認分割數(shù)據(jù)被消除。(13)在上述實施方式的驗證基數(shù)據(jù)更新處理中,也可以是,在生成驗證基數(shù)據(jù)時, 從保持有追加應用的管理裝置向保護控制模塊發(fā)送追加應用,在保護控制模塊中生成加密應用。另外,也可以是,保護控制模塊向管理裝置送回加密應用,管理裝置生成驗證基數(shù)據(jù)。另外,也可以是,設備從記錄媒體安裝追加應用,用加解密密鑰將安裝的應用進行加密,將加密應用發(fā)送給管理裝置。(14)在上述實施方式中,在向設備追加應用時,執(zhí)行驗證基數(shù)據(jù)的更新處理,但本發(fā)明不限于此,也可以定期或不定期地更新驗證基數(shù)據(jù)。例如,也可以在向下載應用的服務器追加應用時,在該追加應用安裝到設備之前進行驗證基數(shù)據(jù)更新處理。由此,在將追加應用安裝到設備時,不需要將設備連接于管理裝置。(15)在上述實施方式中,作為驗證基數(shù)據(jù)的更新處理動作,在向設備追加應用時進行,但不限于此,也可以預先生成追加到設備的能取得的應用的數(shù)據(jù)的驗證基數(shù)據(jù)。(16)在上述實施方式中的驗證基數(shù)據(jù)更新處理中,管理裝置也可以認證保護控制模塊。作為認證方法,既可以驗證保護控制模塊的解密處理,也可以使用詢問-響應。(17)在上述實施方式中,也可以將程序的混淆(obfuscate)技術組合而對解密處理或解密部分處理實施混淆。由此,即使檢測模塊進行了非法動作,保護控制模塊的信息也難以進一步泄漏。(18)在上述實施方式的初始設計處理中,在將保護控制模塊安裝在設備中后,由管理裝置生成驗證基數(shù)據(jù),發(fā)送給保護控制模塊。但是,本發(fā)明不限于此,也可以在將保護控制模塊安裝于設備時,在保護控制模塊的驗證基數(shù)據(jù)保持部中預先埋入驗證基數(shù)據(jù)的狀態(tài)下安裝。另外,在更新處理中,在將更新后的新的保護控制模塊發(fā)送給設備時,也可以同樣在新的保護控制模塊的驗證基數(shù)據(jù)保持部中預先埋入驗證基數(shù)據(jù)的狀態(tài)下發(fā)送。(19)在上述實施方式的檢測處理中,在執(zhí)行應用時,從保護控制模塊向檢測模塊發(fā)送驗證數(shù)據(jù)、應用的識別信息、以及解密后的應用的數(shù)據(jù),但本發(fā)明不限于此。例如,也可以將對用戶執(zhí)行應用時的執(zhí)行指令進行管理的管理模塊安裝于設備, 在管理模塊檢測執(zhí)行指令時,從管理模塊向檢測模塊通知執(zhí)行應用,接收到通知的檢測模塊委托保護控制模塊發(fā)送驗證數(shù)據(jù)和解密后的應用的數(shù)據(jù)。另外,也可以在檢測模塊側監(jiān)視應用的執(zhí)行,當執(zhí)行應用時委托保護控制模塊發(fā)送驗證數(shù)據(jù)和解密后的應用的數(shù)據(jù)。(20)在上述實施方式的檢測處理中,也可以是,在未從保護控制模塊向檢測模塊發(fā)送應用的識別信息、分割數(shù)據(jù)和驗證數(shù)據(jù)的情況下,檢測模塊判定為保護控制模塊被篡改。(21)在上述實施方式中,保護控制模塊也可以將能夠復原應用的數(shù)據(jù)的最小分割數(shù)據(jù)中的、削減了 1位以上信息量的分割數(shù)據(jù)作為被驗證數(shù)據(jù),發(fā)送給檢測模塊。此時,保護控制模塊也可以將被驗證數(shù)據(jù)發(fā)送給一個檢測模塊。另外,也可以是, 保護控制模塊向各檢測模塊發(fā)送被驗證數(shù)據(jù),以使如果使用發(fā)送到所有檢測模塊的被驗證數(shù)據(jù),則能夠復原應用的數(shù)據(jù)。(22)在上述實施方式中,檢測模塊也可以是僅具有驗證保護控制模塊的功能的程序。(23)在上述實施方式中,將保護控制模塊進行更新,但本發(fā)明也可以更新保護控制模塊以外的模塊。這里,以更新檢測模塊133的情況為例,說明檢測模塊的更新處理。更新用軟件分發(fā)部使用多個密鑰對更新用的新的更新模塊進行多重加密,并發(fā)送給檢測模塊組中包含的其他檢測模塊。接收到更新用的新的檢測模塊的檢測模塊更新檢測模塊133。(24)上述實施方式中的更新模塊可以僅由監(jiān)視處理所需的結構要素(控制部和驗證部)構成,也可以僅由更新處理所需的結構要素(控制部和更新部)構成,也可以僅由無效化處理所需的結構要素(控制部303和更新部304)構成。(25)在上述實施方式中,在更新模塊進行其他更新模塊或保護控制模塊的篡改檢測時,也可以不執(zhí)行模塊整體的篡改檢測,而執(zhí)行模塊內的一部分、例如指定的功能或函數(shù)、密鑰等的篡改檢測。另外,可以按將篡改檢測對象的數(shù)據(jù)以規(guī)定尺寸分割而得到的每個分割數(shù)據(jù)來進行篡改檢測,也可以按以功能或函數(shù)單位分割而得到的每個分割數(shù)據(jù)來進行篡改檢測。并且,對于篡改檢測對象的分割數(shù)據(jù),可以從數(shù)據(jù)的開頭起依次檢查,也可以按隨機的順序檢查。(26)在上述實施方式中,也可以將更新模塊和保護控制模塊保存在防篡改的區(qū)域中,并在受到保護以不被攻擊者攻擊的區(qū)域中動作。也可以是,在僅由監(jiān)視處理所需的結構要素構成的更新模塊保存在防篡改的區(qū)域中的情況下,其他模塊無條件地接受從該更新模塊接收的通知,實施更新處理或無效化處理?;蛘?,也可以將從該更新模塊接收的通知作為重要度比來自其他模塊的通知高的通知來處理,進行更新處理或無效化處理的判斷。另外,也可以在保護模式(防篡改的區(qū)域)下執(zhí)行保護控制模塊,在通常模式(非防篡改的區(qū)域)下執(zhí)行更新模塊。07)在上述實施方式中,模塊無效化部存在于更新服務器內,訪問控制模塊存在于設備內。但本發(fā)明不限于此,模塊無效化部和訪問控制模塊也可以均存在于設備內,也可以均存在于更新服務器內。在存在于設備內的情況下,可以保存在防篡改的區(qū)域中。 (28)在上述實施方式中,也可以在工場出廠后進行設備的初始設計處理。另外,設備的初始設計處理不僅可以進行1次,也可以進行2次以上。 (29)在上述實施方式中,驗證用證書、認證密鑰證書和對應關系證書均是使用更新用軟件分發(fā)部所保持的簽名秘密密鑰來生成的。但本發(fā)明不限于此,各個證書也可以分別使用不同的密鑰來生成。另外,各個證書也可以是由更新用軟件分發(fā)部以外的證書發(fā)行裝置發(fā)行的證書。(30)在上述實施方式的初始設計處理或下一輪準備處理中,構成為由更新模塊保持分散信息。但也可以構成為分散信息由應用保持,也可以構成為由更新模塊和應用保持。(31)在上述實施方式的檢測處理中,在更新模塊檢測到保護控制模塊的篡改的情況下,向判斷部和其他全部的更新模塊通知該情況。但本發(fā)明不限于此,也可以僅通知判斷部,也可以僅通知其他更新模塊中的某一個更新模塊。另外,在上述實施方式中,在更新模塊未檢測到保護控制模塊的篡改的情況下,不通知判斷部,但也可以向判斷部通知未檢測到篡改的情況。(32)在上述實施方式的檢測處理中,各更新模塊也可以與其他更新模塊共享檢測結果。另外,在存在不共享檢測結果的更新模塊的情況下,也可以將該更新模塊判斷為非法的更新模塊,并進行無效化。(33)在上述實施方式中,作為解析判斷處理的動作,根據(jù)篡改信息來判定是否更新保護控制模塊120,但不限于此,也可以利用發(fā)出了被篡改的通知的更新模塊的數(shù)量來判定是否更新。另外,作為解析判斷時的動作,判斷了是否更新保護控制模塊120及是否將保護控制模塊120無效化,但不限于此,也可判斷是否停止設備100。(34)在上述實施方式的相互認證處理中,更新模塊對更新用軟件分發(fā)部進行認證,之后,更新用軟件分發(fā)部對各個更新模塊進行認證。但認證順序也可相反。也可以是,更新用軟件分發(fā)部對各個更新模塊進行認證,之后,更新模塊對更新用軟件分發(fā)部進行認證。另外,相互認證處理中使用的詢問數(shù)據(jù)也可以在全部的更新模塊中為相同值,也可以將更新模塊分為多個組,使詢問數(shù)據(jù)在各個組中為不同的值。(35)在上述實施方式的相互認證處理中,各更新模塊分別具有單獨對更新用軟件分發(fā)部進行認證的結構。但是,本發(fā)明不限于此,也可以將各更新模塊進行了簽名驗證的結果通知給其他更新模塊,在更新模塊間共享驗證結果。也可以使用本更新模塊的認證結果和從其他更新模塊接收到的認證結果,例如在過半數(shù)等的更新模塊認證成功的情況下,判定為更新用軟件分發(fā)部合法,在不成功的情況下,判定為非法。(36)在上述實施方式的相互認證處理中,根據(jù)合法的更新模塊的數(shù)量是否為恢復處理所需的數(shù)量以上,來判斷是否進行恢復處理。也可以代替它而根據(jù)非法的更新模塊的數(shù)量是否小于預先設定的允許數(shù)量,來判斷是否進行恢復處理。另外,在判定為合法的更新模塊的數(shù)量小于恢復處理所需的數(shù)量的情況下,也可以代替停止設備,而將非法的更新模塊進行無效化。(37)在上述實施方式的相互認證處理中,各更新模塊將認證公開密鑰及認證密鑰證書與響應數(shù)據(jù)一起發(fā)送給更新用軟件分發(fā)部。但也可以是,響應數(shù)據(jù)與認證公開密鑰及認證密鑰證書分別以不同的定時發(fā)送。另外,也可以是,認證公開密鑰及認證密鑰證書在由更新用軟件分發(fā)部進行請求的情況下發(fā)送。更新用軟件分發(fā)部也可以從全部的更新模塊接收認證公開密鑰及認證密鑰證書, 也可以從恢復處理所需的數(shù)量的更新模塊接收認證公開密鑰及認證密鑰證書。
(38)在上述實施方式中,在1次解密處理中執(zhí)行2次監(jiān)視處理(監(jiān)視3_1、3_2、 5-1、5-2)。但是,監(jiān)視處理不限于2次,根據(jù)解密處理所需的時間,執(zhí)行多少次均可。另外,不限于在解密處理中進行監(jiān)視處理的情況,也可以在密鑰或更新用保護控制模塊的接收處理時或檢測處理時、相互認證處理時進行。另外,監(jiān)視處理也可以以規(guī)定時間間隔定期實施,也可以以隨機時間間隔實施,也可以以由更新服務器指定的時間間隔實施。另外,各更新模塊也可以從外部服務器取得表示執(zhí)行監(jiān)視處理的定時的同步信息,并按照所取得的同步信息來執(zhí)行監(jiān)視處理。由此,由于各更新模塊能夠以與其他更新模塊相同定時執(zhí)行監(jiān)視處理,所以能夠提高非法更新模塊的檢測精度。(39)在上述實施方式6中,將解密處理分割為多個解密部分處理,但本發(fā)明不限于此,也可以將應用進行多重加密,并將被多重加密的應用進行解密。以將應用進行了三重加密的情況為例進行說明。解密部分處理1是將三重加密應用解密為二重加密應用的處理。解密部分處理2是將二重加密應用解密為加密應用的處理。解密部分處理3是將加密應用解密為純文本應用的處理。(40)在上述實施方式6的檢測處理中,由一個更新模塊進行了各解密部分處理的驗證,但不限于此,也可以由多個更新模塊進行各解密部分處理的驗證。(41)上述實施方式5和實施方式6中的驗證基數(shù)據(jù)為包含各應用的對應關系證書的結構。但是,驗證基數(shù)據(jù)的結構不限于此。例如,實施方式5和實施方式6中使用的驗證基數(shù)據(jù)也可以是圖101所示的結構。驗證基數(shù)據(jù)1600由對各應用的應用識別信息、與該識別信息對應的加密應用的數(shù)據(jù)和證書構成。多個加密應用的數(shù)據(jù)通過由更新用軟件執(zhí)行部執(zhí)行保護控制模塊并將各應用進行加密來生成。證書是將各加密應用的數(shù)據(jù)作為輸入數(shù)據(jù)、結合保持控制模塊正常動作時輸出的各輸出數(shù)據(jù)、并對結合后的數(shù)據(jù)使用更新服務器簽名秘密密鑰來生成的簽名。(42)在上述實施方式8的檢測處理中,也可以將保護控制模塊視為一個程序數(shù)據(jù),對規(guī)定的一部分數(shù)據(jù)進行篡改檢測。此時,各更新模塊也可以對保護控制模塊的不同部分的數(shù)據(jù)進行篡改檢測。另外,也可以將保護控制模塊的數(shù)據(jù)進行分割,分割后的全部數(shù)據(jù)必由一個以上的更新模塊進行篡改檢測。另外,也可以在篡改檢測后,在各更新模塊中消除篡改檢測對象的數(shù)據(jù),各更新模塊相互進行篡改檢測,從而確認篡改檢測對象的數(shù)據(jù)被消除。(43)在上述實施方式4-10中,,、更新模塊也可以是僅具有驗證保護控制模塊的功能的檢測模塊。(44)在上述實施方式中,將解密處理分割為3個解密部分處理。但本發(fā)明不限于此,也可以將解密處理分割為2個,也可以分割為4個以上。另外,分割解密處理的單位可以是任何單位。既可以按解密處理中包含的每個函數(shù)分割,也可以按每個運算命令分割。也可以按函數(shù)或命令的每個塊分割。(45)在上述實施方式6的檢測處理中,也可以代替由更新模塊保持驗證數(shù)據(jù),而由保護控制模塊保持驗證數(shù)據(jù)。也可以是,保護控制模塊解密從更新模塊發(fā)送的加密數(shù)據(jù), 將與解密后的數(shù)據(jù)一起保持的所述驗證數(shù)據(jù)發(fā)送給更新模塊。(46)也可以通過分別組合上述實施方式,對于保護控制模塊的檢測處理,將(a) 對應用的解密處理的驗證、和(b)使用更新服務器生成的任意數(shù)據(jù)的驗證組合。(47)具體而言,上述各模塊分別既可以是單獨的計算機程序,也可以是組入操作系統(tǒng)的模塊,也可以是從操作系統(tǒng)調用的驅動程序,也可以是應用程序。(48)上述各裝置具體而言是包括微處理器、ROM、RAM、硬盤單元、顯示器單元、鍵盤、鼠標等的計算機系統(tǒng)。在所述RAM或硬盤單元中存儲計算機程序。通過由所述微處理器按照所述計算機程序動作,各裝置實現(xiàn)其功能。這里,計算機程序為了實現(xiàn)規(guī)定功能,將多個表示對計算機的指令的命令代碼來構成。(49)構成上述各裝置的結構要素的一部分或全部可以由一個系統(tǒng)LSI (Large Scale htegration:大規(guī)模集成電路)構成。系統(tǒng)LSI是將多個構成部集成在一個芯片上來制造的超多功能LSI,具體而言,是包含微處理器、ROM、RAM等來構成的計算機系統(tǒng)。所述RAM中存儲了計算機程序。通過由所述微處理器按照所述計算機程序動作,系統(tǒng)LSI實現(xiàn)其功能。另外,構成上述各裝置的結構要素的各部既可以單獨集成在一個芯片上,也可以以包含部分或全部的方式集成在一個芯片上。另外,這里設為系統(tǒng)LSI,但根據(jù)集成度的不同,有時稱為IC、LSI、超(super)LSI、 超級(ultra)LSI。另外,集成電路化的方法不限于LSI,也可以用專用電路或通用處理器來實現(xiàn)。另外,也可以在LSI制造之后,利用可以編程的FPGA(Field Programmable Gate Array 現(xiàn)場可編程門陣列)、或可以將LSI內部的電路單元的連接或設定重構的可重構處理器。并且,若通過半導體技術的進步或派生的其他技術出現(xiàn)置換LSI的集成電路化技術,則當然也可以使用該技術來進行功能塊的集成化。可以適用生物技術等。(50)構成上述各裝置的結構要素的一部分或全部也可以由可拆裝于各裝置上的 IC卡或單體模塊構成。所述IC卡或所述模塊是由微處理器、ROM、RAM等構成的計算機系統(tǒng)。所述IC卡或所述模塊也可以包含上述超多功能LSI。微處理器按照計算機程序動作, 從而所述IC卡或所述模塊實現(xiàn)其功能。該IC卡或該模塊也可以具有防篡改性。(51)本發(fā)明也可以是如上所述的方法。另外,也可以是由計算機實現(xiàn)這些方法的計算機程序。另外,本發(fā)明也可以是將所述計算機程序記錄在計算機可讀取的記錄媒體、例如軟盤、硬盤、0)_1 011、]\ )、0¥0、0¥0-1 011、0¥0-1^11、80(8111-儀7 Disc)、半導體存儲器等中而成的。另外,本發(fā)明也可以經由電通信線路、無線或有線通信線路、以因特網為代表的網絡、數(shù)據(jù)廣播等來傳送所述計算機程序。另外,本發(fā)明也可以是具備微處理器和存儲器的計算機系統(tǒng),所述存儲器存儲上述計算機程序,所述微處理器按照所述計算機程序動作。另外,也可以通過將所述程序記錄在所述記錄媒體中移送,或通過將所述程序經由所述網絡等移送,由獨立的其他計算機系統(tǒng)來實施。
(52)將上述實施方式和上述變形例分別組合的情況也包含于本發(fā)明中?!纯偨Y〉如上所述,本發(fā)明是一種信息處理裝置,包括驗證規(guī)定的應用是否被篡改的保護控制模塊和多個檢測模塊,其特征在于,所述保護控制模塊具備解密單元,將所述應用進行解密;以及發(fā)送單元,發(fā)送作為所述解密部分的輸出數(shù)據(jù)的被驗證數(shù)據(jù),所述多個檢測模塊中的至少兩個檢測模塊分別具備接收單元,從所述保護控制模塊接收所述被驗證數(shù)據(jù); 驗證數(shù)據(jù)保持單元,保持驗證數(shù)據(jù);以及第1驗證單元,根據(jù)所述被驗證數(shù)據(jù)和所述驗證數(shù)據(jù)來驗證所述保護控制模塊,所述驗證數(shù)據(jù)是表示所述解密單元進行了正常動作時的輸入數(shù)據(jù)與輸出數(shù)據(jù)的對應關系的數(shù)據(jù),所述至少兩個檢測模塊根據(jù)同一被驗證數(shù)據(jù)來驗證所述保護控制模塊。另外,本發(fā)明是一種信息處理裝置,包括驗證至少包含第1應用和第2應用的多個應用是否被篡改的保護控制模塊和檢測模塊,其特征在于,所述保護控制模塊具備保持單元,保持驗證基數(shù)據(jù);解密單元,將加密的所述第1應用和加密的所述第2應用進行解密; 驗證數(shù)據(jù)生成單元,生成驗證數(shù)據(jù);以及發(fā)送單元,發(fā)送所述驗證數(shù)據(jù)和作為所述解密單元的輸出數(shù)據(jù)的被驗證數(shù)據(jù),所述檢測模塊具備接收單元,從所述保護控制模塊接收所述被驗證數(shù)據(jù)和所述驗證數(shù)據(jù);以及第1驗證單元,根據(jù)所述被驗證數(shù)據(jù)和所述驗證數(shù)據(jù)來驗證所述保護控制模塊,所述驗證基數(shù)據(jù)包含加密所述第1應用和所述第2應用各自而得到的數(shù)據(jù);將加密所述第1應用和所述第2應用各自而得到的數(shù)據(jù)作為輸入數(shù)據(jù)時的、表示所述解密單元進行了正常動作時的輸入數(shù)據(jù)與輸出數(shù)據(jù)的對應關系的第1驗證值和第2驗證值;以及由結合至少包含所述第1驗證值和所述第2驗證值的多個驗證值全部的結合數(shù)據(jù)生成的結合數(shù)據(jù)驗證值,在由所述保護控制模塊解密所述第1應用的情況下,所述驗證數(shù)據(jù)由從所述驗證基數(shù)據(jù)中刪除所述第1驗證值及所述第1應用以外的加密后的應用的數(shù)據(jù)的數(shù)據(jù)構成,在由所述保護控制模塊解密所述第2應用的情況下,由從所述驗證基數(shù)據(jù)中刪除所述第2驗證值及所述第2應用以外的加密后的應用的數(shù)據(jù)的數(shù)據(jù)構成。工業(yè)實用性本發(fā)明能夠在制造和銷售信息處理裝置及對所述信息處理裝置提供軟件的管理裝置或更新服務器的產業(yè)中,利用為檢測在信息處理裝置上動作的非法軟件的技術和安全地更新非法軟件的技術。符號說明1非法模塊檢測系統(tǒng)2非法模塊檢測系統(tǒng)100、100b 設備120、120a、120b、120c 保護控制模塊130檢測模塊組130b更新模塊組131、131a、132、132a、133、133a 檢測模塊140訪問控制模塊141、141c、142、142c、143、143c 更新模塊200管理裝置
200b更新服務器
210,210b判斷部
220,220a驗證基數(shù)據(jù)分發(fā)部
230通信部
240,240c更新軟件分發(fā)部
250模塊無效化部
301接收部
302發(fā)送部
303控制部
304更新部
304解密加載部
305篡改檢測部
306解析工具檢測部
307加解密密鑰保持部
308驗證基數(shù)據(jù)保持部
309驗證數(shù)據(jù)生成部[1000]310應用分割部[1001]321加解密密鑰分散部[1002]322證書生成部[1003]323加解密密鑰復原部[1004]401接收部[1005]402發(fā)送部[1006]403控制部[1007]404驗證部[1008]405MAC值生成部[1009]406MAC值表更新部[1010]407驗證數(shù)據(jù)保持部[1011]410更新部[1012]411分散信息保持部[1013]412認證部[1014]420驗證基數(shù)據(jù)保持部[1015]501接收部[1016]502發(fā)送部[1017]503指示生成部[1018]504模塊確定部[1019]601接收部[1020]602發(fā)送部[1021]603控制部[1022]604認證部
61[1023]605證書生成部[1024]606簽名秘密密鑰保持部[1025]607加密密鑰保持部[1026]608數(shù)據(jù)分割部[1027]609應用保持部[1028]610驗證基數(shù)據(jù)生成部[1029]611保護控制模塊保持部[1030]620加密密鑰生成部[1031]621加密處理部[1032]622檢測模塊選擇部[1033]801接收部[1034]802發(fā)送部[1035]803控制部[1036]804更新部[1037]805驗證部[1038]806MAC值生成部[1039]807MAC值表更新部[1040]808分散信息保持部[1041]810檢測部[1042]811驗證數(shù)據(jù)保持部[1043]901接收部[1044]902發(fā)送部[1045]903控制部[1046]904解密加載部[1047]905檢測部[1048]906解析工具檢測部[1049]907加解密密鑰保持部[1050]908加解密密鑰生成部[1051]909加解密密鑰分散部[1052]910證書生成部[1053]911加解密密鑰復原部[1054]912驗證數(shù)據(jù)生成部[1055]913驗證基數(shù)據(jù)保持部[1056]1001接收部[1057]1002發(fā)送部[1058]1003訪問信息保持部[1059]1101接收部[1060]1102發(fā)送部[1061]1103指示生成部[1062]1104模塊確定部[1063]1201接收部[1064]1202發(fā)送部[1065]1203加密密鑰生成部[1066]1204加密處理部[1067]1205認證部[1068]1206更新模塊選擇部[1069]1207控制部[1070]1208證書生成部[1071]1209簽名秘密密鑰保持部[1072]1210更新用軟件保持部[1073]1211加密密鑰保持部[1074]1220更新用軟件執(zhí)行部[1075]1221應用保持部[1076]1222驗證基數(shù)據(jù)生成部[1077]1301接收部[1078]1302發(fā)送部[1079]1303訪問信息取得密鑰保持部[1080]1304更新模塊選擇部
權利要求
1.一種信息處理裝置,包括具有保護應用的功能的保護控制模塊和多個檢測模塊,其特征在于,所述保護控制模塊具備解密單元,加密后的所述應用作為輸入數(shù)據(jù)而被輸入,對所述輸入數(shù)據(jù)進行解密,并將解密結果作為輸出數(shù)據(jù)來輸出;分割單元,將所述輸出數(shù)據(jù)分割為至少k個分割數(shù)據(jù),其中k > 2 ;以及分配單元,將分割后的k個分割數(shù)據(jù)分配給任一檢測模塊,所述多個檢測模塊分別具備驗證單元,該驗證單元使用被分配的分割數(shù)據(jù)、根據(jù)所述輸入數(shù)據(jù)和所述解密單元進行了正常動作時所期望的分割數(shù)據(jù)的值來生成的驗證數(shù)據(jù)、以及輸入數(shù)據(jù),判斷被分配的分割數(shù)據(jù)是否正確。
2.根據(jù)權利要求1所述的信息處理裝置,其特征在于,所述保護控制模塊保持記述了所述輸出數(shù)據(jù)的分割方法的分割信息, 所述分割單元使用所述分割信息對所述輸出數(shù)據(jù)進行分割,所述分配單元還將與分配給各檢測模塊的各個分割數(shù)據(jù)對應的驗證數(shù)據(jù)和所述輸入數(shù)據(jù)發(fā)送給各檢測模塊。
3.根據(jù)權利要求2所述的信息處理裝置,其特征在于,所述各檢測模塊還具備驗證確認單元,該驗證確認單元從其他檢測模塊取得分配給該其他檢測模塊的分割信息,并根據(jù)預先提供的判定信息,確認是否由其他檢測模塊的驗證單元進行了驗證處理。
4.根據(jù)權利要求3所述的信息處理裝置,其特征在于,所述各檢測模塊在由所述驗證單元進行驗證之后,消除被分配的分割數(shù)據(jù),確認其他檢測模塊是否消除了被分配的分割數(shù)據(jù)。
5.根據(jù)權利要求4所述的信息處理裝置,其特征在于,所述各檢測模塊具備進行其他檢測模塊的篡改驗證的相互監(jiān)視單元,在由所述相互監(jiān)視單元檢測到篡改的情況下,判斷為所述其他檢測模塊未消除分割數(shù)據(jù),在未檢測到篡改的情況下,判斷為所述其他檢測模塊消除了分割數(shù)據(jù)。
6.根據(jù)權利要求3所述的信息處理裝置,其特征在于,所述分割單元通過取所述輸出數(shù)據(jù)的互為素數(shù)的k個約數(shù),分割為k個分割數(shù)據(jù), 所述分割信息表示分割數(shù)k和k個約數(shù)的值, 所述判定信息表示將k個約數(shù)的值相乘而得到的值。
7.根據(jù)權利要求1所述的信息處理裝置,其特征在于,所述各檢測模塊具備將驗證結果發(fā)送給外部的管理裝置的發(fā)送單元, 所述多個檢測模塊中的至少一個檢測模塊具備更新單元,該更新單元在由所述外部的管理裝置判斷為所述保護控制模塊被篡改的情況下,更新所述保護控制模塊。
8.根據(jù)權利要求1所述的信息處理裝置,包括具有保護應用的功能的保護控制模塊和多個檢測模塊,其特征在于,所述保護控制模塊具備解密單元,對加密后的所述應用程序,執(zhí)行由k個處理工序構成的解密處理;以及分配單元,將作為所述k個處理工序各自的輸出數(shù)據(jù)的k個被驗證數(shù)據(jù)分配給所述多個檢測模塊,所述多個檢測模塊分別具備驗證單元,該驗證單元使用被分配的被驗證數(shù)據(jù)、向與所述被驗證數(shù)據(jù)對應的處理工序的輸入數(shù)據(jù)、以及根據(jù)所述輸入數(shù)據(jù)和所述解密單元進行了正常動作時所期望的輸出數(shù)據(jù)來生成的驗證數(shù)據(jù),判斷所述被驗證數(shù)據(jù)是否正確。
9.根據(jù)權利要求8所述的信息處理裝置,其特征在于,所述保護控制模塊具備多個應用;驗證基數(shù)據(jù)保持單元,保持k個驗證基數(shù)據(jù);以及驗證數(shù)據(jù)生成單元,根據(jù)所述k個驗證基數(shù)據(jù),生成分發(fā)給各檢測模塊的k個驗證數(shù)據(jù),所述k個驗證基數(shù)據(jù)對應于所述k個處理工序中的各個處理工序,對于所述多個應用中的各個應用包含加密后的應用;驗證值,表示所述解密單元進行了正常動作時所期望的各處理工序的輸入數(shù)據(jù)與輸出數(shù)據(jù)的對應關系;以及結合數(shù)據(jù)驗證值,根據(jù)將多個所述驗證值結合而得到的數(shù)據(jù)來生成,所述驗證數(shù)據(jù)生成單元從所述k個驗證基數(shù)據(jù)中刪除與所述解密單元所解密的應用對應的驗證值、以及該應用以外的加密后的應用的數(shù)據(jù),從而生成k個驗證數(shù)據(jù)。
10.根據(jù)權利要求9所述的信息處理裝置,其特征在于,各檢測模塊的驗證單元,根據(jù)所述被驗證數(shù)據(jù)和在接收到的所述驗證數(shù)據(jù)中包含的加密后的應用的數(shù)據(jù),生成驗證值,將生成的所述驗證值與在接收到的所述驗證數(shù)據(jù)中包含的多個驗證值結合而生成結合數(shù)據(jù),根據(jù)所述結合數(shù)據(jù),生成結合數(shù)據(jù)驗證值,驗證所生成的結合數(shù)據(jù)驗證值與在接收到的所述驗證數(shù)據(jù)中包含的所述結合數(shù)據(jù)驗證值是否一致。
11.根據(jù)權利要求10所述的信息處理裝置,其特征在于,所述各檢測模塊在由所述驗證單元進行驗證之后,消除接收到的驗證數(shù)據(jù),確認其他檢測模塊是否消除了接收到的驗證數(shù)據(jù)。
12.根據(jù)權利要求11所述的信息處理裝置,其特征在于,所述各檢測模塊具備進行其他檢測模塊的篡改驗證的相互監(jiān)視單元,在由所述相互監(jiān)視單元檢測到篡改的情況下,判斷為所述其他檢測模塊未消除驗證數(shù)據(jù),在未檢測到篡改的情況下,判斷為所述其他檢測模塊消除了所述驗證數(shù)據(jù)。
13.根據(jù)權利要求8所述的信息處理裝置,包括具有保護應用的功能的保護控制模塊和多個檢測模塊,其特征在于,所述保護控制模塊具備處理單元,對輸入數(shù)據(jù)實施規(guī)定的處理,輸出輸出數(shù)據(jù);詢問數(shù)據(jù)接收單元,從所述多個檢測模塊中的各個檢測模塊接收詢問數(shù)據(jù);以及發(fā)送單元,將對所述處理單元輸入了詢問數(shù)據(jù)時的輸出數(shù)據(jù)即響應數(shù)據(jù)發(fā)送給各檢測模塊,所述多個檢測模塊分別具備保持單元,對于多個詢問數(shù)據(jù),保持表示在將各詢問數(shù)據(jù)作為輸入數(shù)據(jù)時所述處理單元進行了正常動作的情況下所期望的輸出數(shù)據(jù)與所述詢問數(shù)據(jù)的對應關系的驗證數(shù)據(jù); 詢問數(shù)據(jù)發(fā)送單元,將一個詢問數(shù)據(jù)發(fā)送給所述保護控制模塊; 響應數(shù)據(jù)接收單元,從所述保護控制模塊接收所述響應數(shù)據(jù);以及驗證單元,使用所述驗證數(shù)據(jù),驗證接收到的所述響應數(shù)據(jù), 至少兩個檢測模塊根據(jù)同一響應數(shù)據(jù)來驗證所述保護控制模塊。
14.根據(jù)權利要求13所述的信息處理裝置,其特征在于, 所述驗證數(shù)據(jù)包含多個詢問數(shù)據(jù),所述詢問數(shù)據(jù)發(fā)送單元從所述驗證數(shù)據(jù)所包含的所述多個詢問數(shù)據(jù)中選擇一個詢問數(shù)據(jù),并發(fā)送給所述保護控制模塊。
15.根據(jù)權利要求8所述的信息處理裝置,其特征在于,所述保護控制模塊生成表示所述k個處理工序的處理順序的順序信息,并向各檢測模塊發(fā)送所生成的所述順序信息,各檢測模塊的驗證單元按照接收到的所述順序信息表示的處理順序,驗證所述被驗證數(shù)據(jù)。
16.根據(jù)權利要求15所述的信息處理裝置,其特征在于, 各檢測模塊具備被驗證數(shù)據(jù)接收單元,從進行了與該檢測模塊所驗證的處理工序的緊前的處理工序有關的驗證處理的檢測模塊,接收所述被驗證數(shù)據(jù);以及被驗證數(shù)據(jù)發(fā)送單元,若所述驗證單元進行的驗證成功,則參照所述順序信息,確定進行與下一處理工序有關的驗證處理的檢測模塊,向確定的所述檢測模塊發(fā)送被驗證數(shù)據(jù), 所述驗證單元使用所述被驗證數(shù)據(jù)接收單元接收到的所述被驗證數(shù)據(jù),進行驗證處理。
17.根據(jù)權利要求16所述的信息處理裝置,其特征在于, 各檢測模塊還具備輸入數(shù)據(jù)驗證單元,驗證所述接收單元接收到的所述被驗證數(shù)據(jù)與所述輸入數(shù)據(jù)是否一致;以及通知單元,在所述被驗證數(shù)據(jù)與所述輸入數(shù)據(jù)不一致的情況下,將該情況通知給外部。
18.根據(jù)權利要求8所述的信息處理裝置,其特征在于, 所述驗證數(shù)據(jù)包含外部的管理裝置的數(shù)字簽名。
19.根據(jù)權利要求8所述的信息處理裝置,其特征在于,所述驗證數(shù)據(jù)是對所述輸入數(shù)據(jù)和所述解密單元進行了正常動作時所期望的輸出數(shù)據(jù)的、外部的管理裝置的數(shù)字簽名。
20.根據(jù)權利要求8所述的信息處理裝置,其特征在于,所述各檢測模塊具備將驗證結果發(fā)送給外部的管理裝置的發(fā)送單元, 所述多個檢測模塊中的至少一個檢測模塊具備更新單元,該更新單元在由所述管理裝置判斷為所述保護控制模塊被篡改的情況下,更新所述保護控制模塊。
21.—種管理裝置,具備對輸入的加密數(shù)據(jù)進行解密并將解密結果作為輸出數(shù)據(jù)來輸出的解密單元、以及將所述輸出數(shù)據(jù)分割為多個分割數(shù)據(jù)的分割單元,所述管理裝置與驗證各分割數(shù)據(jù)的信息處理裝置連接,其特征在于,具備驗證基數(shù)據(jù)生成單元,根據(jù)所述輸入數(shù)據(jù)和所述解密單元進行了正常動作時所期望的各分割數(shù)據(jù),生成驗證基數(shù)據(jù);以及發(fā)送單元,將所述驗證基數(shù)據(jù)發(fā)送給所述信息處理裝置。
22.根據(jù)權利要求21所述的管理裝置,其特征在于, 所述管理裝置還具備接收單元,從所述信息處理裝置接收各分割數(shù)據(jù)的驗證結果; 判斷單元,根據(jù)接收到的多個所述驗證結果,判斷所述解密單元是否被篡改;以及更新指示單元,在由所述判斷單元判斷為被篡改的情況下,向所述信息處理裝置指示更新所述解密單元。
23.根據(jù)權利要求21所述的管理裝置,具備經多個處理工序對輸入的加密數(shù)據(jù)進行解密的解密單元,所述管理裝置與驗證各處理工序的信息處理裝置連接,其特征在于,具備驗證基數(shù)據(jù)生成單元,根據(jù)向所述多個處理工序的輸入數(shù)據(jù)和所述解密單元進行了正常動作時所期望的來自各處理工序的輸出數(shù)據(jù),生成驗證基數(shù)據(jù);以及發(fā)送單元,將生成的所述驗證基數(shù)據(jù)發(fā)送給所述信息處理裝置。
24.根據(jù)權利要求23所述的管理裝置,其特征在于,所述信息處理裝置的所述解密單元對加密后的多個應用進行解密, 所述驗證基數(shù)據(jù)生成單元生成多個所述驗證基數(shù)據(jù),該多個所述驗證基數(shù)據(jù)對應于所述多個處理工序中的各個處理工序,對于所述多個應用中的各個應用包含加密后的應用; 驗證值,表示所述解密單元進行了正常動作時所期望的各處理工序的輸入數(shù)據(jù)與輸出數(shù)據(jù)的對應關系;以及結合數(shù)據(jù)驗證值,根據(jù)將多個所述驗證值結合而得到的數(shù)據(jù)來生成。
25.根據(jù)權利要求23所述的管理裝置,其特征在于,具備 詢問數(shù)據(jù)生成單元,生成多個詢問數(shù)據(jù);驗證數(shù)據(jù)生成單元,將各詢問數(shù)據(jù)作為輸入數(shù)據(jù),生成表示該輸入數(shù)據(jù)與規(guī)定的處理正常動作時所期望的輸出數(shù)據(jù)的對應關系的驗證數(shù)據(jù);以及發(fā)送單元,向信息處理裝置發(fā)送所述詢問數(shù)據(jù)和所述驗證數(shù)據(jù)。
26.一種非法模塊檢測系統(tǒng),由信息處理裝置和管理裝置構成,其特征在于, 所述信息處理裝置包括具有保護應用的功能的保護控制模塊和多個檢測模塊, 所述保護控制模塊具備解密單元,加密后的所述應用作為輸入數(shù)據(jù)而被輸入,對所述輸入數(shù)據(jù)進行解密,并將解密結果作為輸出數(shù)據(jù)來輸出;分割單元,將所述輸出數(shù)據(jù)分割為至少k個分割數(shù)據(jù),其中k > 2 ;以及分配單元,將分割后的k個分割數(shù)據(jù)分配給任一檢測模塊,所述多個檢測模塊分別具備驗證單元,該驗證單元使用被分配的分割數(shù)據(jù)、根據(jù)所述輸入數(shù)據(jù)和所述解密單元進行了正常動作時所期望的分割數(shù)據(jù)的值來生成的驗證數(shù)據(jù)、以及輸入數(shù)據(jù),判斷被分配的分割數(shù)據(jù)是否正確, 所述管理裝置具備驗證基數(shù)據(jù)生成單元,根據(jù)所述輸入數(shù)據(jù)和所述解密單元進行了正常動作時所期望的各分割數(shù)據(jù),生成包含所述驗證數(shù)據(jù)的驗證基數(shù)據(jù);以及發(fā)送單元,將所述驗證基數(shù)據(jù)發(fā)送給所述信息處理裝置。
27.一種非法模塊檢測系統(tǒng),由信息處理裝置和管理裝置構成,其特征在于, 所述信息處理裝置包括具有保護應用的功能的保護控制模塊和多個檢測模塊, 所述保護控制模塊具備解密單元,對加密后的所述應用程序,執(zhí)行由k個處理工序構成的解密處理;以及分配單元,將作為所述k個處理工序各自的輸出數(shù)據(jù)的k個被驗證數(shù)據(jù)分配給所述多個檢測模塊,所述多個檢測模塊分別具備驗證單元,該驗證單元使用被分配的被驗證數(shù)據(jù)、向與所述被驗證數(shù)據(jù)對應的處理工序的輸入數(shù)據(jù)、以及根據(jù)所述輸入數(shù)據(jù)和所述解密單元進行了正常動作時所期望的輸出數(shù)據(jù)來生成的驗證數(shù)據(jù),判斷所述被驗證數(shù)據(jù)是否正確, 所述管理裝置具備驗證基數(shù)據(jù)生成單元,根據(jù)向所述多個處理工序的輸入數(shù)據(jù)和所述解密單元進行了正常動作時所期望的來自各處理工序的輸出數(shù)據(jù),生成包含所述驗證數(shù)據(jù)的驗證基數(shù)據(jù);以及發(fā)送單元,將生成的所述驗證基數(shù)據(jù)發(fā)送給所述信息處理裝置。
28.一種非法模塊檢測方法,在包括具有保護應用的功能的保護控制模塊和多個檢測模塊的信息處理裝置中使用,其特征在于,由所述保護控制模塊執(zhí)行解密步驟,加密后的所述應用作為輸入數(shù)據(jù)而被輸入,對所述輸入數(shù)據(jù)進行解密,并將解密結果作為輸出數(shù)據(jù)來輸出;分割步驟,將所述輸出數(shù)據(jù)分割為至少k個分割數(shù)據(jù),其中k > 2 ;以及分配步驟,將分割后的k個分割數(shù)據(jù)分配給任一檢測模塊,由所述多個檢測模塊分別執(zhí)行如下步驟使用被分配的分割數(shù)據(jù)、根據(jù)所述輸入數(shù)據(jù)和所述解密步驟進行了正常動作時所期望的分割數(shù)據(jù)的值來生成的驗證數(shù)據(jù)、以及輸入數(shù)據(jù),判斷被分配的分割數(shù)據(jù)是否正確。
29.一種計算機可讀取的記錄媒體,記錄了信息處理裝置中使用的非法模塊檢測程序, 所述信息處理裝置包括具有保護應用的功能的保護控制模塊和多個檢測模塊,所述記錄媒體的特征在于,所述非法模塊檢測程序使所述保護控制模塊執(zhí)行解密步驟,加密后的所述應用作為輸入數(shù)據(jù)而被輸入,對所述輸入數(shù)據(jù)進行解密,并將解密結果作為輸出數(shù)據(jù)來輸出;分割步驟,將所述輸出數(shù)據(jù)分割為至少k個分割數(shù)據(jù),其中k > 2 ;以及分配步驟,將分割后的k個分割數(shù)據(jù)分配給任一檢測模塊,所述非法模塊檢測程序使所述多個檢測模塊分別執(zhí)行驗證步驟,該驗證步驟使用被分配的分割數(shù)據(jù)、根據(jù)所述輸入數(shù)據(jù)和所述解密步驟進行了正常動作時所期望的分割數(shù)據(jù)的值來生成的驗證數(shù)據(jù)、以及輸入數(shù)據(jù),判斷被分配的分割數(shù)據(jù)是否正確。
30.一種集成電路,在包括具有保護應用的功能的保護控制模塊和多個檢測模塊的信息處理裝置中使用,其特征在于,所述保護控制模塊具備解密單元,對加密后的所述應用程序,執(zhí)行由k個處理工序構成的解密處理;以及分配單元,將作為所述k個處理工序各自的輸出數(shù)據(jù)的k個被驗證數(shù)據(jù)分配給所述多個檢測模塊,所述多個檢測模塊分別具備驗證單元,該驗證單元使用被分配的被驗證數(shù)據(jù)、向與所述被驗證數(shù)據(jù)對應的處理工序的輸入數(shù)據(jù)、以及根據(jù)所述輸入數(shù)據(jù)和所述解密單元進行了正常動作時所期望的輸出數(shù)據(jù)來生成的驗證數(shù)據(jù),判斷所述被驗證數(shù)據(jù)是否正確。
31.一種非法模塊檢測方法,在包括具有保護應用的功能的保護控制模塊和多個檢測模塊的信息處理裝置中使用,其特征在于,由所述保護控制模塊執(zhí)行解密步驟,對加密后的所述應用程序,執(zhí)行由k個處理工序構成的解密處理;以及分配步驟,將作為所述k個處理工序各自的輸出數(shù)據(jù)的k個被驗證數(shù)據(jù)分配給所述多個檢測模塊,由所述多個檢測模塊分別執(zhí)行如下步驟使用被分配的被驗證數(shù)據(jù)、向與所述被驗證數(shù)據(jù)對應的處理工序的輸入數(shù)據(jù)、以及根據(jù)所述輸入數(shù)據(jù)和所述解密單元進行了正常動作時所期望的輸出數(shù)據(jù)來生成的驗證數(shù)據(jù),判斷所述被驗證數(shù)據(jù)是否正確。
32.—種計算機可讀取的記錄媒體,記錄了信息處理裝置中使用的非法模塊檢測程序, 所述信息處理裝置包括具有保護應用的功能的保護控制模塊和多個檢測模塊,所述記錄媒體的特征在于,所述非法模塊檢測程序使所述保護控制模塊執(zhí)行解密步驟,對加密后的所述應用程序,執(zhí)行由k個處理工序構成的解密處理;以及分配步驟,將作為所述k個處理工序各自的輸出數(shù)據(jù)的k個被驗證數(shù)據(jù)分配給所述多個檢測模塊,所述非法模塊檢測程序使所述多個檢測模塊分別執(zhí)行驗證步驟,該驗證步驟使用被分配的被驗證數(shù)據(jù)、向與所述被驗證數(shù)據(jù)對應的處理工序的輸入數(shù)據(jù)、以及根據(jù)所述輸入數(shù)據(jù)和所述解密單元進行了正常動作時所期望的輸出數(shù)據(jù)來生成的驗證數(shù)據(jù),判斷所述被驗證數(shù)據(jù)是否正確。
33.一種集成電路,在包括具有保護應用的功能的保護控制模塊和多個檢測模塊的信息處理裝置中使用,其特征在于,所述保護控制模塊具備解密單元,對加密后的所述應用程序,執(zhí)行由k個處理工序構成的解密處理;以及分配單元,將作為所述k個處理工序各自的輸出數(shù)據(jù)的k個被驗證數(shù)據(jù)分配給所述多個檢測模塊,所述多個檢測模塊分別具備驗證單元,該驗證單元使用被分配的被驗證數(shù)據(jù)、向與所述被驗證數(shù)據(jù)對應的處理工序的輸入數(shù)據(jù)、以及根據(jù)所述輸入數(shù)據(jù)和所述解密單元進行了正常動作時所期望的輸出數(shù)據(jù)來生成的驗證數(shù)據(jù),判斷所述被驗證數(shù)據(jù)是否正確。
34.一種管理方法,在與信息處理裝置連接的管理裝置中使用,所述信息處理裝置具備對被輸入的加密數(shù)據(jù)進行解密并將解密結果作為輸出數(shù)據(jù)來輸出的解密單元、以及將所述輸出數(shù)據(jù)分割為多個分割數(shù)據(jù)的分割單元,對各分割數(shù)據(jù)進行驗證,所述管理方法的特征在于,包括根據(jù)所述輸入數(shù)據(jù)和所述解密單元進行了正常動作時所期望的各分割數(shù)據(jù),生成驗證基數(shù)據(jù)的步驟;以及將所述驗證基數(shù)據(jù)發(fā)送給所述信息處理裝置的步驟。
35.一種計算機可讀取的記錄媒體,記錄了與信息處理裝置連接的管理裝置中使用的管理程序,所述信息處理裝置具備對被輸入的加密數(shù)據(jù)進行解密并將解密結果作為輸出數(shù)據(jù)來輸出的解密單元、以及將所述輸出數(shù)據(jù)分割為多個分割數(shù)據(jù)的分割單元,對各分割數(shù)據(jù)進行驗證,所述記錄媒體的特征在于,所述管理程序使所述管理裝置執(zhí)行根據(jù)所述輸入數(shù)據(jù)和所述解密單元進行了正常動作時所期望的各分割數(shù)據(jù),生成驗證基數(shù)據(jù)的步驟;以及將所述驗證基數(shù)據(jù)發(fā)送給所述信息處理裝置的步驟。
36.一種集成電路,在與信息處理裝置連接的管理裝置中使用,所述信息處理裝置具備對被輸入的加密數(shù)據(jù)進行解密并將解密結果作為輸出數(shù)據(jù)來輸出的解密單元、以及將所述輸出數(shù)據(jù)分割為多個分割數(shù)據(jù)的分割單元,對各分割數(shù)據(jù)進行驗證,所述集成電路的特征在于,具備驗證基數(shù)據(jù)生成單元,根據(jù)所述輸入數(shù)據(jù)和所述解密單元進行了正常動作時所期望的各分割數(shù)據(jù),生成驗證基數(shù)據(jù);以及發(fā)送單元,將所述驗證基數(shù)據(jù)發(fā)送給所述信息處理裝置。
37.一種管理方法,在與信息處理裝置連接的管理裝置中使用,所述信息處理裝置具備經多個處理工序對被輸入的加密數(shù)據(jù)進行解密的解密單元,對各處理工序進行驗證,所述管理方法的特征在于,包括根據(jù)向所述多個處理工序的輸入數(shù)據(jù)和所述解密單元進行了正常動作時所期望的來自各處理工序的輸出數(shù)據(jù),生成驗證基數(shù)據(jù)的步驟;以及將生成的所述驗證基數(shù)據(jù)發(fā)送給所述信息處理裝置的步驟。
38.一種計算機可讀取的記錄媒體,記錄了與信息處理裝置連接的管理裝置中使用的管理程序,所述信息處理裝置具備經多個處理工序對被輸入的加密數(shù)據(jù)進行解密的解密單元,對各處理工序進行驗證,所述記錄媒體的特征在于,所述管理程序使所述管理裝置執(zhí)行根據(jù)向所述多個處理工序的輸入數(shù)據(jù)和所述解密單元進行了正常動作時所期望的來自各處理工序的輸出數(shù)據(jù),生成驗證基數(shù)據(jù)的步驟;以及將生成的所述驗證基數(shù)據(jù)發(fā)送給所述信息處理裝置的步驟。
39.一種集成電路,在與信息處理裝置連接的管理裝置中使用,所述信息處理裝置具備經多個處理工序對被輸入的加密數(shù)據(jù)進行解密的解密單元,對各處理工序進行驗證,所述集成電路的特征在于,具備驗證基數(shù)據(jù)生成單元,根據(jù)向所述多個處理工序的輸入數(shù)據(jù)和所述解密單元進行了正常動作時所期望的來自各處理工序的輸出數(shù)據(jù),生成驗證基數(shù)據(jù);以及發(fā)送單元,將生成的所述驗證基數(shù)據(jù)發(fā)送給所述信息處理裝置。
全文摘要
本發(fā)明的目的在于不向檢測模塊通知保護控制模塊的密鑰數(shù)據(jù)或功能,而進行保護控制模塊的篡改檢測,本發(fā)明的檢測模塊通過驗證保護控制模塊進行的應用的解密處理的輸入數(shù)據(jù)與輸出數(shù)據(jù)的對應是否正確,進行保護控制模塊的篡改檢測。進而,本發(fā)明通過由多個檢測模塊分別驗證不同的分割數(shù)據(jù),能夠防止應用的輸出數(shù)據(jù)泄漏到檢測模塊。
文檔編號G06F21/55GK102265285SQ20108000318
公開日2011年11月30日 申請日期2010年9月16日 優(yōu)先權日2009年9月17日
發(fā)明者小泉英介, 巖崎淳也, 布田裕一, 松崎棗, 海上勇二, 磯邊秀司, 酒井正夫, 長谷川真吾, 靜谷啟樹 申請人:松下電器產業(yè)株式會社
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
长子县| 张家港市| 乐山市| 漾濞| 潼南县| 武宁县| 石狮市| 荃湾区| 宁晋县| 哈尔滨市| 渝北区| 仙游县| 新兴县| 南丹县| 宝兴县| 沁水县| 鲜城| 合阳县| 茌平县| 防城港市| 万年县| 黄浦区| 天门市| 新平| 兴国县| 安西县| 广饶县| 稻城县| 武鸣县| 祁阳县| 巩留县| 夏邑县| 丹巴县| 电白县| 清丰县| 高邮市| 邢台县| 上饶县| 合山市| 白银市| 社旗县|