專利名稱:監(jiān)視系統(tǒng)、程序執(zhí)行裝置、監(jiān)視程序、記錄介質(zhì)及集成電路的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及監(jiān)視在設(shè)備內(nèi)部中動作的程序的不正當(dāng)動作的監(jiān)視系統(tǒng)、程序執(zhí)行裝置。
背景技術(shù):
近年來,對在個人計算機(jī)、數(shù)字廣播接收機(jī)等的設(shè)備上執(zhí)行的程序的攻擊增加,通過程序的篡改等進(jìn)行的不正當(dāng)動作成為較大的問題。對于該問題,在專利文獻(xiàn)1中,公開了許多程序進(jìn)行篡改的相互監(jiān)視,提高對1個程序的篡改檢測的可靠性的技術(shù)。具體而言,如圖61所示,監(jiān)視模塊A、B分別由應(yīng)保護(hù)不受攻擊者篡改的程序(本體程序A、B)、用來檢測其他模塊是否被篡改的程序(檢查程序A、 B)、以及篡改檢測對象程序的散列(hash)值等各個檢查程序為了進(jìn)行篡改檢測而需要的信息(檢查信息A、B)構(gòu)成。在上述結(jié)構(gòu)中,檢查程序A使用檢查信息A進(jìn)行監(jiān)視模塊B的本體程序B和檢查程序B的篡改檢測。另一方面,檢查程序B使用檢查信息B進(jìn)行監(jiān)視模塊A的本體程序A 和檢查程序A的篡改檢測。根據(jù)該結(jié)構(gòu),只要檢查程序A、B沒有同時被篡改,就能夠檢測到對本體程序A、B、或檢查程序A、B進(jìn)行的篡改?,F(xiàn)有技術(shù)文獻(xiàn)專利文獻(xiàn)專利文獻(xiàn)1 日本專利第3056732號公報(第4_6頁,圖2)專利文獻(xiàn)2 :W02008/099682非專利文獻(xiàn)1 岡本龍明、山本博資,「現(xiàn)代暗號」(現(xiàn)代加密),産業(yè)図書(1997年)# 專禾I」文 K 2 :ITU-T Recommendation X. 509(1997E) =Information Technology-Open Systems Interconnection—The Directory Authentication Framework,1997發(fā)明概要發(fā)明要解決的問題但是,在上述以往的結(jié)構(gòu)中,在有被篡改的監(jiān)視模塊的情況下,通過使該監(jiān)視模塊無效化,能夠防止被篡改的監(jiān)視模塊的不正當(dāng)動作,但對于由該無效化的更新模塊所監(jiān)視的更新模塊,不能被其他模塊監(jiān)視,作為系統(tǒng)的安全強度下降。即使做成多個(例如10個)監(jiān)視模塊監(jiān)視1個監(jiān)視模塊的結(jié)構(gòu),在使多個監(jiān)視模塊中的某個無效化的情況下,監(jiān)視1個監(jiān)視模塊的監(jiān)視模塊減少為9個,作為系統(tǒng)的安全強度下降的情況沒有改變,以后,每當(dāng)被無效化的監(jiān)視模塊的數(shù)量增加,安全強度就急劇地下降。此外,在使監(jiān)視模塊無效化的情況下,有即使新增加單獨的監(jiān)視模塊,也不存在監(jiān)視追加的更新模塊的更新模塊,有不能維持安全強度的問題。
發(fā)明內(nèi)容
鑒于該問題,本發(fā)明的目的是提供一種即使將不正當(dāng)?shù)母履K無效化、或追加 新的更新模塊的情況下也能夠維持安全強度的監(jiān)視系統(tǒng)、程序執(zhí)行裝置、監(jiān)視程序、記錄介 質(zhì)及集成電路。用于解決問題的手段為了解決上述以往的問題,作為本發(fā)明的一技術(shù)方案的監(jiān)視系統(tǒng),由程序執(zhí)行裝 置和服務(wù)器裝置構(gòu)成,其特征在干,上述程序執(zhí)行裝置具備多個模塊;上述多個模塊中的至 少兩個是監(jiān)視其他模塊的不正當(dāng)動作的監(jiān)視模塊;上述監(jiān)視模塊分別具備保持機(jī)構(gòu),保 持表示作為不正當(dāng)動作的監(jiān)視對象的1個以上的模塊的監(jiān)視目標(biāo)信息;監(jiān)視機(jī)構(gòu),監(jiān)視由 上述監(jiān)視目標(biāo)信息表示的模塊的不正當(dāng)動作;發(fā)送機(jī)構(gòu),將上述監(jiān)視的結(jié)果發(fā)送給服務(wù)器 裝置;以及更新機(jī)構(gòu),在從上述服務(wù)器裝置取得了更新用的新監(jiān)視目標(biāo)信息的情況下,將由 上述保持機(jī)構(gòu)保持的監(jiān)視目標(biāo)信息更新為該新監(jiān)視目標(biāo)信息;上述服務(wù)器裝置具備收集 機(jī)構(gòu),收集上述監(jiān)視模塊各自進(jìn)行的上述監(jiān)視的結(jié)果;確定機(jī)構(gòu),基于上述收集到的全部監(jiān) 視結(jié)果,確定全部模塊之中的進(jìn)行不正當(dāng)動作的模塊;以及發(fā)送機(jī)構(gòu),保持有與上述監(jiān)視模 塊分別保持的監(jiān)視目標(biāo)信息相同的監(jiān)視目標(biāo)信息,對監(jiān)視目標(biāo)信息進(jìn)行重構(gòu),以使得從全 部模塊中除去上述確定的模塊以外的其余模塊分別被至少1個監(jiān)視模塊監(jiān)視,對通過該重 構(gòu)而在監(jiān)視目標(biāo)信息中發(fā)生變更的監(jiān)視模塊發(fā)送相應(yīng)的變更后的新監(jiān)視目標(biāo)信息。發(fā)明效果作為本發(fā)明的一技術(shù)方案的監(jiān)視系統(tǒng)通過具備上述結(jié)構(gòu),在作為監(jiān)視對象的模塊 或監(jiān)視其他模塊的模塊進(jìn)行了不正當(dāng)動作的情況下,即使將不正當(dāng)動作的模塊無效化等, 通過將監(jiān)視目標(biāo)信息重構(gòu)并更新,也能夠防止存在沒有被其他模塊監(jiān)視的模塊,防止作為 系統(tǒng)而安全強度下降。
圖1是本發(fā)明的實施方式1的軟件更新系統(tǒng)10的整體結(jié)構(gòu)圖。圖2是本發(fā)明的實施方式1的設(shè)備100的結(jié)構(gòu)圖。圖3是本發(fā)明的實施方式1的更新模塊組130的結(jié)構(gòu)圖。圖4是本發(fā)明的實施方式1的硬件結(jié)構(gòu)圖。圖5是本發(fā)明的實施方式1的更新服務(wù)器200的結(jié)構(gòu)圖。圖6是本發(fā)明的實施方式1的更新模塊的結(jié)構(gòu)圖。圖7是本發(fā)明的實施方式1的監(jiān)視模式信息的結(jié)構(gòu)圖。圖8是本發(fā)明的實施方式1的更新模塊主體的結(jié)構(gòu)圖。圖9是本發(fā)明的實施方式1的保護(hù)控制模塊120的結(jié)構(gòu)圖。圖10是本發(fā)明的實施方式1的訪問控制模塊140的結(jié)構(gòu)圖。圖11是本發(fā)明的實施方式1的判斷部210的結(jié)構(gòu)圖。圖12是本發(fā)明的實施方式1的更新用軟件發(fā)布部220的結(jié)構(gòu)圖。圖13是本發(fā)明的實施方式1的模塊無效化部230的結(jié)構(gòu)圖。圖14是本發(fā)明的實施方式1的模塊追加部240的結(jié)構(gòu)圖。圖15是本發(fā)明的實施方式1的監(jiān)視模式更新部250的結(jié)構(gòu)圖。
圖16是本發(fā)明的實施方式1的軟件更新系統(tǒng)10的流程圖。
圖17是本發(fā)明的實施方式1的軟件更新系統(tǒng)10的初始設(shè)計時的動作概要圖。
圖18是本發(fā)明的實施方式1的初始設(shè)計處理的序列圖。
圖19是本發(fā)明的實施方式1的初始設(shè)計處理(更新模塊初始化處理)的流程圖。
圖20是本發(fā)明的實施方式1的檢測處理的序列圖。
圖21是本發(fā)明的實施方式1的分析/判斷處理的序列圖。
圖22是本發(fā)明的實施方式1的分析/判斷處理(通常時判斷處理)的序列圖。
圖23是本發(fā)明的實施方式1的分析/判斷處理(相互監(jiān)視處理)的序列圖。
in閱圖24是本發(fā)明的實施方式1的分析/判斷處理(通常時無效化判斷處理)的流
圖25是本發(fā)明的實施方式1的無效化處理的序列圖。
圖26是本發(fā)明的實施方式1的分析/判斷處理(追加判斷處理)的流程圖。
圖27是本發(fā)明的實施方式1的追加處理的序列圖。
in閱圖28是本發(fā)明的實施方式1的分析/判斷處理(監(jiān)視模式更新判斷處理)的流
圖29是本發(fā)明的實施方式1的相互認(rèn)證處理的序列圖。
圖30是本發(fā)明的實施方式1的相互認(rèn)證處理的序列圖。
圖31是本發(fā)明的實施方式1的恢復(fù)處理的流程圖。
圖32是本發(fā)明的實施方式1的恢復(fù)處理的序列圖。
圖33是本發(fā)明的實施方式1的恢復(fù)處理(更新處理)的序列圖。
圖34是本發(fā)明的實施方式1的恢復(fù)處理(更新處理)的序列圖。
圖35是本發(fā)明的實施方式1的恢復(fù)處理(恢復(fù)時相互監(jiān)視處理)的序列圖。
圖36是本發(fā)明的實施方式1的恢復(fù)處理(恢復(fù)時判斷處理)的流程圖。
圖37是本發(fā)明的實施方式1的恢復(fù)處理(再加密處理)的序列圖。
圖38是本發(fā)明的實施方式1的恢復(fù)處理(恢復(fù)時無效化判斷處理)的流程圖。
圖39是本發(fā)明的實施方式1的下一輪準(zhǔn)備處理的序列圖。
圖40是本發(fā)明的實施方式1的監(jiān)視模式的更新例的圖。
圖41是本發(fā)明的實施方式1的通常時的處理的優(yōu)先順位的圖。
圖42是本發(fā)明的實施方式1的恢復(fù)時的處理的優(yōu)先順位的圖。
圖43是本發(fā)明的實施方式2的更新模塊的結(jié)構(gòu)圖。
圖44是本發(fā)明的實施方式2的監(jiān)視模式更新驗證例的圖。
圖45是本發(fā)明的實施方式2的監(jiān)視模式更新部250的結(jié)構(gòu)圖。
圖46是本發(fā)明的實施方式2的監(jiān)視模式更新處理的序列圖。
圖47是本發(fā)明的實施方式2的向新監(jiān)視模式的更新處理的序列圖。
圖48是本發(fā)明的實施方式3的更新模塊組130的結(jié)構(gòu)圖。
圖49是本發(fā)明的實施方式3的更新模塊保持的共享信息的結(jié)構(gòu)例的圖。
圖50是本發(fā)明的實施方式3的分析/判斷處理(通常時無效化判斷處理)的流程圖。 圖51是本發(fā)明的實施方式3的更新模塊半數(shù)以上有危險的例子的圖。
圖52是本發(fā)明的實施方式3的更新模塊的3個有危險的例子的圖。圖53是本發(fā)明的實施方式3的更新模塊131的兩相鄰的更新模塊有危險的例子的圖。圖M是本發(fā)明的實施方式3的恢復(fù)處理(恢復(fù)時判斷處理)的流程圖。圖55是本發(fā)明的變形例1的恢復(fù)處理(更新處理)的序列圖。圖56是本發(fā)明的變形例1的恢復(fù)處理(更新處理)的序列圖。圖57是本發(fā)明的變形例47的追加用更新模塊的分割例的圖。圖58是本發(fā)明的變形例69的分析/判斷處理(追加判斷處理)的流程圖。圖59是本發(fā)明的變形例71的更新模塊保持的共享信息的結(jié)構(gòu)例的圖。圖60是本發(fā)明的變形例72的更新模塊保持的共享信息的結(jié)構(gòu)例的圖。圖61是專利文獻(xiàn)1中記載的檢測模塊的結(jié)構(gòu)圖。圖62是表示在本發(fā)明的實施方式2的相互監(jiān)視中各模塊的監(jiān)視目標(biāo)、監(jiān)視源的示意圖。
具體實施例方式作為本發(fā)明的一技術(shù)方案的程序執(zhí)行裝置,具備監(jiān)視其他模塊的多個監(jiān)視模塊, 其特征在于,第1監(jiān)視模塊具備保持機(jī)構(gòu),保持表示作為監(jiān)視對象的1個以上的監(jiān)視模塊的監(jiān)視目標(biāo)信息;以及更新機(jī)構(gòu),在從服務(wù)器裝置取得了更新用的新監(jiān)視目標(biāo)信息的情況下,將由上述保持機(jī)構(gòu)保持的監(jiān)視目標(biāo)信息更新為該新監(jiān)視目標(biāo)信息;第2監(jiān)視模塊具備 確認(rèn)機(jī)構(gòu),在由上述第1監(jiān)視模塊進(jìn)行了監(jiān)視目標(biāo)信息的更新的情況下,確認(rèn)是否正常地進(jìn)行了該更新;以及發(fā)送機(jī)構(gòu),將上述確認(rèn)的結(jié)果發(fā)送給上述服務(wù)器裝置。根據(jù)該結(jié)構(gòu),在第1監(jiān)視模塊將自身保持的監(jiān)視目標(biāo)信息更新的情況下,第2監(jiān)視模塊確認(rèn)是否正常地進(jìn)行了該更新,所以在第1監(jiān)視模塊被篡改等、故意地不將監(jiān)視目標(biāo)信息正常更新那樣的情況下等,能夠可靠地掌握監(jiān)視目標(biāo)信息沒有被正常更新的狀況。此外,由于對服務(wù)器裝置發(fā)送確認(rèn)結(jié)果,所以在服務(wù)器裝置側(cè)也能夠得知在程序執(zhí)行裝置側(cè)監(jiān)視目標(biāo)信息沒有被正常更新。在監(jiān)視目標(biāo)信息沒有被更新的情況下,服務(wù)器裝置通過將監(jiān)視目標(biāo)信息再發(fā)送而再次嘗試監(jiān)視目標(biāo)信息的更新,或?qū)⒐室獠粚⒈O(jiān)視目標(biāo)信息更新的第1監(jiān)視模塊無效化等,由此,能夠防止第1監(jiān)視模塊按照非正常狀態(tài)的監(jiān)視目標(biāo)信息動作,能夠防止作為系統(tǒng)而安全強度下降。此外,也可以是,上述確認(rèn)機(jī)構(gòu)預(yù)先保持有應(yīng)根據(jù)上述第1監(jiān)視模塊所保持的監(jiān)視目標(biāo)信息而生成的摘要值的期待值,根據(jù)保持在上述第1監(jiān)視模塊的保持機(jī)構(gòu)中的監(jiān)視目標(biāo)信息來生成摘要值,通過將所生成的摘要值與上述期待值比較來進(jìn)行上述確認(rèn)。根據(jù)該結(jié)構(gòu),通過不將監(jiān)視目標(biāo)信息彼此比較、而用摘要值彼此比較,能夠減小比較所需要的處理負(fù)荷。此外,也可以是,上述第1監(jiān)視模塊在取得了上述新監(jiān)視目標(biāo)信息的情況下,將由更新前的監(jiān)視目標(biāo)信息表示的模塊的監(jiān)視中止,在從上述服務(wù)器裝置接受到基于上述確認(rèn)結(jié)果的發(fā)送的執(zhí)行指示的情況下,監(jiān)視由上述新監(jiān)視目標(biāo)信息表示的模塊。根據(jù)該結(jié)構(gòu),能夠中止第1監(jiān)視模塊的監(jiān)視動作,直到從上述服務(wù)器裝置接受到執(zhí)行指示。能夠在通過服務(wù)器裝置確認(rèn)了監(jiān)視目標(biāo)信息已正常更新后開始上述監(jiān)視動作。
此外,也可以是,上述第1監(jiān)視模塊還在上述更新之前將監(jiān)視目標(biāo)信息備份,在接受到上述執(zhí)行指示的情況下將上述備份丟棄。此外,也可以是,上述第1監(jiān)視模塊在沒有接受到上述執(zhí)行指示的情況下,使用上述備份進(jìn)行回滾(rollback)處理。根據(jù)該結(jié)構(gòu),在不能由服務(wù)器裝置確認(rèn)監(jiān)視目標(biāo)信息被正常更新的情況下,在程序執(zhí)行裝置中,能夠代替沒有被正常更新的新監(jiān)視目標(biāo)信息而使用更新前的監(jiān)視目標(biāo)信息進(jìn)行上述不正當(dāng)動作的監(jiān)視。此外,也可以是,上述第2監(jiān)視模塊還具備保持機(jī)構(gòu),保持表示作為監(jiān)視對象的1 個以上的模塊的監(jiān)視目標(biāo)信息;以及更新機(jī)構(gòu),在從上述服務(wù)器裝置取得了更新用的新監(jiān)視目標(biāo)信息的情況下,將上述第2監(jiān)視模塊的保持機(jī)構(gòu)所保持的監(jiān)視目標(biāo)信息更新為該新監(jiān)視目標(biāo)信息;上述第1監(jiān)視模塊還具備確認(rèn)機(jī)構(gòu),在由上述第2監(jiān)視模塊的更新機(jī)構(gòu)進(jìn)行了監(jiān)視目標(biāo)信息的更新的情況下,確認(rèn)是否正常地進(jìn)行了該更新;以及發(fā)送機(jī)構(gòu),將上述確認(rèn)的結(jié)果發(fā)送給上述服務(wù)器裝置。根據(jù)該結(jié)構(gòu),能夠在第1及第2監(jiān)視模塊中分別相互監(jiān)視是否正常地進(jìn)行了監(jiān)視目標(biāo)信息的更新,能夠增加系統(tǒng)的安全強度。此外,也可以是,上述新監(jiān)視目標(biāo)信息構(gòu)成為,使各監(jiān)視模塊被至少1個其他監(jiān)視模塊監(jiān)視。根據(jù)該結(jié)構(gòu),在作為監(jiān)視對象的模塊或監(jiān)視其他模塊的模塊進(jìn)行了不正當(dāng)動作的情況下,即使將進(jìn)行了不正當(dāng)動作的模塊無效化等,通過將監(jiān)視目標(biāo)信息重構(gòu)并更新,也能夠防止存在沒有被其他模塊監(jiān)視的模塊的狀況,能夠防止作為系統(tǒng)而安全強度下降。此外,也可以是,上述更新機(jī)構(gòu)取得綜合監(jiān)視目標(biāo)信息,該綜合監(jiān)視目標(biāo)信息包括關(guān)于1個以上的監(jiān)視模塊中的各個監(jiān)視模塊的更新用的監(jiān)視目標(biāo)信息,從上述綜合監(jiān)視目標(biāo)信息中提取本監(jiān)視模塊應(yīng)保持的更新用的監(jiān)視目標(biāo)信息來取得該信息。根據(jù)該結(jié)構(gòu),能夠減輕將綜合監(jiān)視目標(biāo)信息分割為有關(guān)各監(jiān)視模塊的監(jiān)視目標(biāo)信息的服務(wù)器裝置側(cè)的處理負(fù)荷。作為本發(fā)明的一技術(shù)方案的監(jiān)視程序,具備監(jiān)視其他模塊的多個監(jiān)視模塊,其特征在于,第1監(jiān)視模塊具備保持步驟,保持表示作為監(jiān)視對象的1個以上的監(jiān)視模塊的監(jiān)視目標(biāo)信息;以及更新步驟,在從服務(wù)器裝置取得了更新用的新監(jiān)視目標(biāo)信息的情況下,將由上述保持機(jī)構(gòu)所保持的監(jiān)視目標(biāo)信息更新為該新監(jiān)視目標(biāo)信息;第2監(jiān)視模塊具備確認(rèn)步驟,在由上述第1監(jiān)視模塊進(jìn)行了監(jiān)視目標(biāo)信息的更新的情況下,確認(rèn)是否正常地進(jìn)行了該更新;以及發(fā)送步驟,將上述確認(rèn)的結(jié)果發(fā)送給上述服務(wù)器裝置。作為本發(fā)明的一技術(shù)方案的記錄介質(zhì),是存儲監(jiān)視程序的計算機(jī)可讀取的記錄介質(zhì),其特征在于,上述監(jiān)視程序具備監(jiān)視其他模塊的多個監(jiān)視模塊;第1監(jiān)視模塊具備保持步驟,保持表示作為監(jiān)視對象的1個以上的監(jiān)視模塊的監(jiān)視目標(biāo)信息;以及更新步驟,在從服務(wù)器裝置取得了更新用的新監(jiān)視目標(biāo)信息的情況下,將由上述保持機(jī)構(gòu)所保持的監(jiān)視目標(biāo)信息更新為該新監(jiān)視目標(biāo)信息;第2監(jiān)視模塊具備確認(rèn)步驟,在由上述第1監(jiān)視模塊進(jìn)行了監(jiān)視目標(biāo)信息的更新的情況下,確認(rèn)是否正常地進(jìn)行了該更新;以及發(fā)送步驟,將上述確認(rèn)的結(jié)果發(fā)送給上述服務(wù)器裝置。作為本發(fā)明的一技術(shù)方案的集成電路,具備監(jiān)視其他模塊的多個監(jiān)視模塊,其特
9征在于,第1監(jiān)視模塊具備保持機(jī)構(gòu),保持表示作為監(jiān)視對象的1個以上的監(jiān)視模塊的監(jiān)視目標(biāo)信息;以及更新機(jī)構(gòu),在從服務(wù)器裝置取得了更新用的新監(jiān)視目標(biāo)信息的情況下,將由上述保持機(jī)構(gòu)保持的監(jiān)視目標(biāo)信息更新為該新監(jiān)視目標(biāo)信息;第2監(jiān)視模塊具備確認(rèn)機(jī)構(gòu),在由上述第1監(jiān)視模塊進(jìn)行了監(jiān)視目標(biāo)信息的更新的情況下,確認(rèn)是否正常地進(jìn)行了該更新;以及發(fā)送機(jī)構(gòu),將上述確認(rèn)的結(jié)果發(fā)送給上述服務(wù)器裝置。根據(jù)該結(jié)構(gòu),在第1監(jiān)視模塊將自身保持的監(jiān)視目標(biāo)信息更新的情況下,第2監(jiān)視模塊確認(rèn)該更新是否被正常地進(jìn)行,所以在第1監(jiān)視模塊被篡改等、故意不將監(jiān)視目標(biāo)信息正常更新那樣的情況下等,能夠可靠地掌握監(jiān)視目標(biāo)信息沒有被正常更新的狀況。此外, 由于將確認(rèn)結(jié)果發(fā)送給服務(wù)器裝置,所以在服務(wù)器裝置側(cè)也能夠得知在程序執(zhí)行裝置側(cè)是否監(jiān)視目標(biāo)信息沒有被正常地更新。在監(jiān)視目標(biāo)信息沒有被更新的情況下,服務(wù)器裝置通過將監(jiān)視目標(biāo)信息再發(fā)送而嘗試再次監(jiān)視目標(biāo)信息的更新、或者通過將故意不將監(jiān)視目標(biāo)信息更新的第1監(jiān)視模塊無效化等,能夠防止第1監(jiān)視模塊按照非正常狀態(tài)的監(jiān)視目標(biāo)信息動作,能夠防止作為系統(tǒng)而安全強度下降。以下,參照附圖對作為有關(guān)本發(fā)明的一個實施方式的軟件更新系統(tǒng)進(jìn)行說明。(實施方式1)1.軟件更新系統(tǒng)10的結(jié)構(gòu)圖1是本發(fā)明的實施方式1的軟件更新系統(tǒng)10的整體結(jié)構(gòu)圖。軟件更新系統(tǒng)10如圖1所示,由作為本發(fā)明的信息處理裝置的設(shè)備100、和作為本發(fā)明的管理裝置的更新服務(wù)器200構(gòu)成,設(shè)備100和更新服務(wù)器200經(jīng)由網(wǎng)絡(luò)連接。設(shè)備100是對用戶提供利用網(wǎng)絡(luò)的各種功能的信息處理裝置。具體而言,設(shè)備100 經(jīng)由網(wǎng)絡(luò)購買音樂內(nèi)容(content)或影像內(nèi)容等并再現(xiàn)。此外,設(shè)備100經(jīng)由網(wǎng)絡(luò)利用網(wǎng)絡(luò)銀行服務(wù)(余額查詢或匯款(振込 )等)。2.設(shè)備100的結(jié)構(gòu)這里,利用圖2到圖4對設(shè)備100的結(jié)構(gòu)進(jìn)行說明。設(shè)備100如圖2所示,由應(yīng)用110、應(yīng)用111、保護(hù)控制模塊120、更新模塊組130及訪問控制模塊140構(gòu)成。應(yīng)用110及應(yīng)用111是用來經(jīng)由網(wǎng)絡(luò)對使用設(shè)備100的用戶提供各種功能的軟件。例如,是從內(nèi)容分發(fā)服務(wù)器(未圖示)購買音樂內(nèi)容或影像內(nèi)容,并將該購買的內(nèi)容再現(xiàn)的軟件,或用來對金融機(jī)構(gòu)的系統(tǒng)(未圖示)進(jìn)行訪問,并進(jìn)行余額查詢或匯款等的網(wǎng)絡(luò)銀行業(yè)務(wù)的軟件。應(yīng)用110及應(yīng)用111具有用來與內(nèi)容分發(fā)服務(wù)器或金融機(jī)構(gòu)的系統(tǒng)進(jìn)行認(rèn)證的認(rèn)證密鑰等秘密數(shù)據(jù)。秘密數(shù)據(jù)是需要進(jìn)行保護(hù)、以使其不被有惡意的第三者(攻擊者)從應(yīng)用中提取并不正當(dāng)?shù)乩玫臄?shù)據(jù)。保護(hù)控制模塊120是控制用來保護(hù)應(yīng)用(110、111)、以使得攻擊者不會將應(yīng)用 (IlOUll)分析并將認(rèn)證密鑰等的秘密數(shù)據(jù)提取的功能的模塊。作為用來保護(hù)應(yīng)用的功能,有在不利用應(yīng)用時進(jìn)行加密而保存、僅在利用應(yīng)用時解密并向存儲器裝載的解密裝載功能,或檢查應(yīng)用是否沒有被篡改的篡改檢測功能、檢查調(diào)試器(debugger)等的分析工具是否沒有動作的分析工具檢測功能等。保護(hù)控制模塊120控制這些功能的動作,檢查應(yīng)用(110、111)是否沒有被攻擊者分析等。保護(hù)控制模塊120當(dāng)檢測到對應(yīng)用(110、111)的攻擊時,將應(yīng)用(110、111)的動作停止,進(jìn)行應(yīng)用(110、111)所利用的存儲器、特別是記錄有秘密數(shù)據(jù)的存儲器區(qū)域的清空等的處理,防止秘密數(shù)據(jù)的泄漏。圖3是有關(guān)實施方式1的更新模塊組130的結(jié)構(gòu)圖。更新模塊組130由更新模塊 131、更新模塊132及更新模塊133構(gòu)成。更新模塊131、更新模塊132及更新模塊133具備從處于設(shè)備100的外部的更新服務(wù)器200接收更新用的軟件、使用接收到的更新用的軟件將設(shè)備100的內(nèi)部的軟件(應(yīng)用 110、應(yīng)用111、保護(hù)控制模塊120等)更新的功能。進(jìn)而,更新模塊組130為了防止由攻擊者將各更新模塊篡改、不正當(dāng)?shù)乩酶鞲履K,更新模塊彼此相互實施篡改檢測。由此,即使在更新模塊組130的一部分被攻擊、 被篡改的情況下,也能夠檢測到這一情況而應(yīng)對攻擊。另外,對各更新模塊(131、132、133) 的結(jié)構(gòu)在后面敘述。訪問控制模塊140保持有更新模塊(131、132、13;3)為了將其他模塊刪除而需要的訪問信息。訪問信息是作為刪除對象的模塊的刪除所需要的信息(配置有模塊的地址或?qū)懭胗袆h除所需要的步驟的程序文件(手順書)等)。訪問控制模塊140按照作為刪除對象的每個模塊,保持有分別用獨立的訪問信息取得密鑰加密的狀態(tài)的訪問信息。這里,回到圖2,對設(shè)備100的軟件層級進(jìn)行說明。如圖2所示,訪問控制模塊140 及更新模塊組130裝入在0S150之中。應(yīng)用110及應(yīng)用111在0S150上動作,保護(hù)控制模塊120及引導(dǎo)裝載器160處在0S150的管理之外。在設(shè)備100的起動時,首先在起動保護(hù)控制模塊120及更新模塊組130后執(zhí)行應(yīng)用。接著,使用圖4對設(shè)備100的硬件結(jié)構(gòu)進(jìn)行說明。如圖4所示,設(shè)備100包括CPU (Central Processing Unit :中央處理單元)171、非易失性存儲器(例如 EEPROM (ElectricalIy Erasable and Programmable Read Only Memory :電可擦除可編程只讀存儲器))172、RAM (Random Access Memory 隨機(jī)存取存儲器)173、以及 NIC (Network Interface Card :網(wǎng)絡(luò)接口卡)174等而構(gòu)成,它們經(jīng)由總線可相互通信地連接。在EEPR0M172中,保存有保護(hù)控制模塊120、更新模塊(131、132、133)、及應(yīng)用 (IlOUll)等。通過CPU171執(zhí)行保存在EEPR0M172中的各種模塊,實現(xiàn)各種模塊的各功能部。各功能部具體而言通過計算機(jī)程序記述。RAM173被作為CPU171的工作區(qū)使用。在RAM173中裝載有更新模塊(131、132、 133)及應(yīng)用(110、111)。在RAM173上動作的更新模塊為保護(hù)控制模塊120所進(jìn)行的篡改檢查及無效化的對象。NIC174是用來連接到網(wǎng)絡(luò)的擴(kuò)展卡。3.更新服務(wù)器200的結(jié)構(gòu)接著,對更新服務(wù)器200的結(jié)構(gòu)進(jìn)行說明。更新服務(wù)器200是為了將設(shè)備100內(nèi)部的軟件更新而發(fā)布需要的更新用的軟件的裝置。圖5是實施方式1的更新服務(wù)器200的結(jié)構(gòu)圖。更新服務(wù)器200由判斷部210、 更新用軟件發(fā)布部220、模塊無效化部230、模塊追加部M0、監(jiān)視模式更新部250及通信部260構(gòu)成。判斷部210根據(jù)設(shè)備100內(nèi)部的軟件(應(yīng)用110、111、保護(hù)控制模塊120、更新模塊組130)的狀態(tài),使用預(yù)先給出的判斷基準(zhǔn)決定設(shè)備100接著應(yīng)執(zhí)行的處理。并且,對更新服務(wù)器200內(nèi)部的各模塊(更新用軟件發(fā)布部220、模塊無效化部230、模塊追加部M0、 監(jiān)視模式更新部250)進(jìn)行指示。更新用軟件發(fā)布部220在將設(shè)備100內(nèi)部的軟件(應(yīng)用110、111、保護(hù)控制模塊 120)更新時,根據(jù)判斷部210的更新處理開始指示而與更新模塊組130協(xié)同動作,將更新用的軟件向設(shè)備100安全地發(fā)送。模塊無效化部230在將設(shè)備100的更新模塊組130的更新模塊無效化時,根據(jù)判斷部210的模塊無效化的指示,與更新模塊組130協(xié)同動作,將訪問信息取得密鑰向進(jìn)行作為無效化對象的更新模塊的無效化處理的更新模塊發(fā)布。模塊追加部240當(dāng)對設(shè)備100的更新模塊組130追加更新模塊時,根據(jù)判斷部210 的模塊追加的指示,與更新模塊組130協(xié)同,將追加用的更新模塊向設(shè)備100安全地發(fā)送。監(jiān)視模式更新部250在將設(shè)備100的更新模塊組130的監(jiān)視模式更新時,根據(jù)判斷部210的監(jiān)視模式更新的指示,與更新模塊組130協(xié)同,發(fā)送為了將更新模塊組130內(nèi)的各更新模塊的監(jiān)視模式更新而需要的數(shù)據(jù)。通信部260在與設(shè)備100之間進(jìn)行信息的收發(fā)。通信部260將從設(shè)備100接收到的信息對應(yīng)于信息的種類向更新服務(wù)器200的各部輸出。此外,通信部260從更新服務(wù)器 200的各部受理指示及信息,對設(shè)備100發(fā)送。具體而言,通信部260在更新處理時將從更新用軟件發(fā)布部220接受到的指示及通知等發(fā)送給設(shè)備100、或?qū)脑O(shè)備100接收到的篡改檢測的結(jié)果發(fā)送給判斷部210。此外,通信部260在無效化處理中在模塊無效化部230與設(shè)備100之間收發(fā)指示及信息。此外,通信部260在追加處理中在模塊追加部240與設(shè)備100之間收發(fā)指示及信息,在監(jiān)視模式更新處理中,在監(jiān)視模式更新部250與設(shè)備100之間收發(fā)指示及信息。設(shè)備100和更新服務(wù)器200經(jīng)由網(wǎng)絡(luò)連接,在將設(shè)備100內(nèi)部的軟件(應(yīng)用110、 111、保護(hù)控制模塊120)更新的情況下,更新模塊組130與更新用軟件發(fā)布部220協(xié)同動作,為了將設(shè)備100內(nèi)部的軟件更新而安裝更新用的軟件。此外,在設(shè)備100內(nèi)部的軟件(應(yīng)用110、111、保護(hù)控制模塊120、更新模塊131、 132,133)被攻擊而被篡改的情況下,沒有被篡改的更新模塊和訪問控制模塊140與模塊無效化部230協(xié)同動作,將被篡改的軟件刪除。此外,在更新模塊組130的更新模塊的數(shù)量因刪除而減少的情況下,未被篡改的更新模塊與模塊追加部240協(xié)同動作,追加更新模塊。此外,在通過更新模塊的刪除或追加而在更新模塊間的相互監(jiān)視的監(jiān)視模式中需要變更的情況下,監(jiān)視模式更新部250與更新模塊組130協(xié)同動作,將監(jiān)視模式更新。另外,設(shè)備100與更新服務(wù)器200之間的通信也可以通過將數(shù)據(jù)加密等而使用確保了安全的通信路徑。4.更新模塊131、132、133的結(jié)構(gòu)接著,對包含在更新模塊組130中的更新模塊的結(jié)構(gòu)進(jìn)行說明。這里,對更新模塊 131的結(jié)構(gòu)進(jìn)行說明,但其他更新模塊也基本上具有相同的結(jié)構(gòu)。
圖6是更新模塊131的結(jié)構(gòu)圖。更新模塊131由更新模塊主體、更新模塊驗證用證書、MAC (Message Authentication Code:消息驗證碼)值表及監(jiān)視模式信息構(gòu)成。更新模塊主體是進(jìn)行軟件的更新處理的程序。更新模塊主體的詳細(xì)情況在后面敘述。更新模塊驗證用證書是用來驗證更新模塊主體是否沒有被篡改的證書。驗證更新模塊主體的模塊取得更新模塊主體和該驗證用證書,進(jìn)行更新模塊主體是否沒有被篡改的驗證。MAC值表是在模塊的篡改的有無的驗證中利用MAC值的情況下所使用的表。在本表中,將用來識別模塊的模塊識別符和對應(yīng)于該模塊的MAC值成對地保存。模塊的篡改檢測通過取得對象模塊、計算MAC值、將計算出的MAC值與保存在MAC值表中的對象模塊的 MAC值比較來進(jìn)行。監(jiān)視模式信息是關(guān)于更新模塊進(jìn)行相互監(jiān)視時的監(jiān)視對象的信息。圖7是監(jiān)視模式信息的結(jié)構(gòu)圖。監(jiān)視模式信息由監(jiān)視模式主體、監(jiān)視頻度及驗證值列表構(gòu)成。在監(jiān)視模式主體中,記述有關(guān)于作為監(jiān)視對象的模塊的信息(例如模塊識別符、 存儲器上的位置、大小、地址、文件名等)。在監(jiān)視模式主體中能夠記述多個監(jiān)視模式,在記述多個監(jiān)視模式的情況下,分別用監(jiān)視模式識別符加以區(qū)別。監(jiān)視模式主體的數(shù)據(jù)結(jié)構(gòu)在開頭作為標(biāo)題(header)信息而記述有監(jiān)視模式的數(shù)量和監(jiān)視模式各自的大小,在其以后記述有監(jiān)視模式識別符和監(jiān)視模式的組。監(jiān)視頻度是關(guān)于監(jiān)視記述在監(jiān)視模式主體中的監(jiān)視對象的定時的信息。通過在監(jiān)視模式信息中包含監(jiān)視頻度,能夠任意地調(diào)節(jié)監(jiān)視的頻度,能夠適當(dāng)?shù)仳炞C更新模塊的篡改。作為關(guān)于定時的信息,是進(jìn)行監(jiān)視的時刻,或在進(jìn)行反復(fù)監(jiān)視的情況下是其時間間隔等。此外,在監(jiān)視模式主體中記述有多個監(jiān)視模式的情況下,也可以按照每個監(jiān)視模式來記述監(jiān)視頻度。在此情況下,記述有監(jiān)視頻度、和利用該監(jiān)視頻度的監(jiān)視模式的監(jiān)視模式識別符。此外,也可以記述有選擇多個監(jiān)視模式之中的、所使用的監(jiān)視模式的定時。更新模塊131、132、133對應(yīng)于定時信息而監(jiān)視記述在監(jiān)視模式中的模塊。驗證值列表記述有用來驗證是否從更新服務(wù)器200正確地取得監(jiān)視模式主體及監(jiān)視頻度并已更新的驗證值。接著,使用圖8對更新模塊主體進(jìn)行說明。圖8是更新模塊131的更新模塊主體的結(jié)構(gòu)圖。如該圖所示,更新模塊主體由接收部301、發(fā)送部302、控制部303、更新部304、 驗證部305、MAC值生成部306、MAC值表更新部307、監(jiān)視模式取得部308、監(jiān)視模式更新部 309及共享信息保持部310構(gòu)成。接收部301從更新服務(wù)器200接收各種指示、通知、更新用軟件。此外,接收部301 接收為了進(jìn)行相互監(jiān)視而需要的、其他更新模塊的更新模塊主體及更新用模塊驗證用證書。進(jìn)而,接收部301接收向其他模塊委托的處理的結(jié)果,或接收其他更新模塊所進(jìn)行的保護(hù)控制模塊120的監(jiān)視結(jié)果。發(fā)送部302向更新服務(wù)器200、保護(hù)控制模塊120、其他更新模塊、訪問控制模塊 140發(fā)送各種處理結(jié)果或證書等的數(shù)據(jù)??刂撇?03基于接收部301接收到的各種指示及通知,控制更新部304、驗證部305及監(jiān)視模式更新部309,進(jìn)行保護(hù)控制模塊120、更新模塊132及更新模塊133的更新處理及驗證處理、監(jiān)視模式的更新處理。更新部304與更新服務(wù)器200協(xié)同,更新設(shè)備100內(nèi)部的軟件(應(yīng)用110、111、保護(hù)控制模塊120、更新模塊132、133)。驗證部305進(jìn)行保護(hù)控制模塊120、更新模塊132、133是否正當(dāng)?shù)尿炞C。作為驗證方法,有使用對各模塊所附加的驗證用的證書的方法、或使用在事前計算的消息驗證碼 (MAC)值的方法。驗證部305在哪個定時驗證哪個模塊是記述在監(jiān)視模式信息中的。驗證部305從監(jiān)視模式信息中取得監(jiān)視模式主體及監(jiān)視頻度,根據(jù)這些信息進(jìn)行驗證。在監(jiān)視模式有多個的情況下,根據(jù)來自更新服務(wù)器200的指示變更所利用的監(jiān)視模式及監(jiān)視頻度。例如,既可以從更新服務(wù)器200每次指示所利用的監(jiān)視模式及監(jiān)視頻度,也可以使用記述有在哪個時刻以哪個監(jiān)視模式、哪個監(jiān)視頻度進(jìn)行監(jiān)視的時序圖來進(jìn)行指示。此外,也可以使用將設(shè)備100的狀態(tài)與監(jiān)視模式及監(jiān)視頻度建立了對應(yīng)的表來指示。作為設(shè)備100的狀態(tài)的具體例,有“保護(hù)控制模塊更新狀態(tài)”、“保護(hù)控制模塊非更新狀態(tài)”、“驗證處理中”、“分析/判斷處理中”、“恢復(fù)處理中”等。并且,也可以是,在設(shè)備 100的狀態(tài)是“保護(hù)控制模塊非更新狀態(tài)”的情況下,用較粗的監(jiān)視模式降低監(jiān)視頻度,在設(shè)備100的狀態(tài)是“保護(hù)控制模塊更新狀態(tài)”的情況下、用較細(xì)的監(jiān)視模式提高監(jiān)視頻度。這樣,通過在保護(hù)控制模塊120的恢復(fù)時更嚴(yán)格地進(jìn)行更新模塊的驗證,能夠更有效地防止更新模塊被篡改、更新模塊的正常的動作受到妨礙。MAC值生成部306生成驗證部305所使用的MAC值。MAC值生成部306使用預(yù)先保持的驗證密鑰生成MAC值。MAC值表更新部307將保存有各模塊的MAC值的MAC值表更新。監(jiān)視模式取得部308取得記述有驗證部305進(jìn)行驗證處理時的監(jiān)視對象的模塊的監(jiān)視模式。在有多個監(jiān)視模式的情況下,從驗證部305指示要取得的監(jiān)視模式的識別符,監(jiān)視模式取得部308從監(jiān)視模式信息取得被指示的監(jiān)視模式。監(jiān)視模式更新部309如果從更新服務(wù)器200接受到監(jiān)視模式更新的指示,進(jìn)行將本模塊(更新模塊131)保持的監(jiān)視模式向從更新服務(wù)器200接收到的新的監(jiān)視模式進(jìn)行更新的處理。共享信息保持部310保持根據(jù)保護(hù)控制模塊120在進(jìn)行應(yīng)用(110、111)的加密解密處理時使用的加密解密密鑰生成的共享信息(share,分散信息)、和保護(hù)控制模塊120 發(fā)布共享信息時的配置信息。配置信息是記述有將哪個共享信息對哪個更新模塊發(fā)布的信肩、ο關(guān)于簽名方式,在非專利文獻(xiàn)1中已詳細(xì)地說明,關(guān)于證書,在非專利文獻(xiàn)2中已詳細(xì)地說明。此外,關(guān)于共享信息,在專利文獻(xiàn)2中已詳細(xì)地說明。5.保護(hù)控制模塊120的結(jié)構(gòu)圖9是設(shè)備100的保護(hù)控制模塊120的結(jié)構(gòu)圖。如該圖所示,保護(hù)控制模塊120 由接收部401、發(fā)送部402、控制部403、解密裝載部404、篡改檢測部405、分析工具檢測部 406、加密解密密鑰保持部407、加密解密密鑰生成部408、加密解密密鑰共享部409、證書生成部410及加密解密密鑰復(fù)原部411構(gòu)成。
接收部401從更新模塊131、132、133接收共享信息及各種委托等。發(fā)送部402向更新模塊131、132、133發(fā)送各種委托等??刂撇?03控制解密裝載部404、篡改檢測部405及分析工具檢測部406,在應(yīng)用 (IlOUll)被攻擊者攻擊的情況下檢測該攻擊。解密裝載部404當(dāng)執(zhí)行加密保持在設(shè)備100內(nèi)部中的應(yīng)用(110、111)時,進(jìn)行使用加密解密密鑰進(jìn)行解密、并裝載到存儲器上的處理。此外,在應(yīng)用(110、111)的執(zhí)行中發(fā)生了向其他應(yīng)用的上下文切換(context switch)的情況下,將存儲器上的數(shù)據(jù)使用加密解密密鑰進(jìn)行加密。并且,在再次向應(yīng)用(110、111)進(jìn)行了上下文切換時,將已加密的數(shù)據(jù)解密。進(jìn)而,解密裝載部404在后述的再加密處理中,使用被從加密解密密鑰復(fù)原部411 輸入的復(fù)原的加密解密密鑰將應(yīng)用(110、111)解密,使用加密解密密鑰保持部407保持的新的加密解密密鑰將應(yīng)用(100、111)加密。篡改檢測部405執(zhí)行檢測應(yīng)用(110、111)的篡改的有無的篡改檢測處理。篡改檢測部405既可以使用對應(yīng)用(110、111)附加的篡改檢測用的證書進(jìn)行篡改檢測處理,也可以使用比較MAC值的方法。分析工具檢測部406安裝有調(diào)試器(debugger)等的分析工具,當(dāng)動作時檢測該動作。這是因為,設(shè)想了不正當(dāng)?shù)墓粽邽榱斯魬?yīng)用(110、111)而安裝分析工具或使其動作。作為檢測方法,例如使用檢索文件名的方法、調(diào)查調(diào)試器所使用的特殊的寄存器是否正被使用的方法、檢測調(diào)試器所設(shè)定的中斷的方法等。加密解密密鑰保持部407保持用來將應(yīng)用(110、111)加密解密的加密解密密鑰。加密解密密鑰生成部408生成用來將應(yīng)用(110、111)加密解密的加密解密密鑰。加密解密密鑰共享部409在初始設(shè)計時及下一輪準(zhǔn)備時使用秘密共享法從加密解密密鑰生成共享信息。證書生成部410在將從加密解密密鑰生成的共享信息復(fù)原時,生成為了驗證是否正確地復(fù)原而使用的證書。加密解密密鑰復(fù)原部411基于更新模塊的結(jié)構(gòu)從各更新模塊取得共享信息,從所取得的共享信息復(fù)原加密解密密鑰。另外,所謂更新模塊的結(jié)構(gòu),是更新模塊組130內(nèi)的共享信息的配置信息。加密解密密鑰復(fù)原部411將復(fù)原后的加密解密密鑰向解密裝載部404 輸出。6.訪問控制模塊140的結(jié)構(gòu)圖10是設(shè)備100的訪問控制模塊140的結(jié)構(gòu)圖。如該圖所示,訪問控制模塊140 由接收部501、發(fā)送部502及訪問信息保持部503構(gòu)成。接收部501從更新模塊(131、132、133)接收訪問信息的取得委托,該訪問信息為為了將篡改后的更新模塊刪除而需要的信息。發(fā)送部502根據(jù)訪問信息取得委托,向委托了訪問信息取得的更新模塊發(fā)送訪問 fn息ο訪問信息保持部503按照每個更新模塊131、132、133,保持用來將該模塊刪除的訪問信息。各訪問信息帶有作為刪除對象的更新模塊的識別符(更新模塊識別符),由識別符與更新模塊建立了對應(yīng)。各訪問信息被用訪問信息取得密鑰加密。如果有來自更新模塊131、132、133的訪問信息取得委托,則訪問信息保持部503 將帶有刪除對象的更新模塊的識別符的訪問信息經(jīng)由發(fā)送部502向更新模塊發(fā)送。7.判斷部210的結(jié)構(gòu)圖11是更新服務(wù)器200的判斷部210的結(jié)構(gòu)圖。如該圖所示,判斷部210由受理部601、指示部602、指示生成部603、不正當(dāng)模塊確定部604、判斷基準(zhǔn)讀入部605及判斷基準(zhǔn)保存部606構(gòu)成。受理部601從更新模塊131、132、133接收共享信息、各種委托等,向指示生成部 603輸出。進(jìn)而,受理部601如果從更新服務(wù)器200內(nèi)的各部(更新用軟件發(fā)布部220、模塊無效化部230、模塊追加部M0、監(jiān)視模式更新部250)受理了處理已完成的通知,則向指示生成部603輸出。指示部602將由指示生成部603生成的指示向更新服務(wù)器200內(nèi)的各部輸出。指示生成部603基于從判斷基準(zhǔn)讀入部605受理的判斷基準(zhǔn)決定設(shè)備100的處理的優(yōu)先順位,生成應(yīng)向更新服務(wù)器200內(nèi)的各部輸出的指示。具體而言,在保護(hù)控制模塊120沒有被篡改的情況下,指示生成部603向模塊無效化部230指示更新模塊的無效化處理,然后向模塊追加部240指示更新模塊的追加處理,再然后向監(jiān)視模式更新部250指示監(jiān)視模式的更新處理。另一方面,在保護(hù)控制模塊120被篡改的情況下,指示生成部603向更新用軟件發(fā)布部220指示保護(hù)控制模塊120的恢復(fù)處理,然后向模塊無效化部230指示更新模塊的無效化處理。再然后,向模塊追加部240指示更新模塊的追加處理,向監(jiān)視模式更新部250指示監(jiān)視模式的更新處理。不正當(dāng)模塊確定部604使用從更新模塊131、132、133接收到的相互監(jiān)視結(jié)果(篡改檢測結(jié)果),判斷更新模塊是否被篡改,在判斷為更新模塊被篡改的情況下,確定哪個更新模塊被篡改了。進(jìn)而,不正當(dāng)模塊確定部604根據(jù)關(guān)于從更新模塊131、132、133接收到的保護(hù)控制模塊120的篡改檢測結(jié)果,判斷保護(hù)控制模塊120是否被篡改。判斷基準(zhǔn)讀入部605將保存在判斷基準(zhǔn)保存部606中的判斷基準(zhǔn)讀入,向指示生成部603輸出。判斷基準(zhǔn)保存部606保存有預(yù)先給出的判斷基準(zhǔn)。判斷基準(zhǔn)是將設(shè)備100的狀態(tài)與處理的優(yōu)先順位建立了對應(yīng)的基準(zhǔn)。8.更新用軟件發(fā)布部220的結(jié)構(gòu)圖12是更新服務(wù)器200的更新用軟件發(fā)布部220的結(jié)構(gòu)圖。如該圖所示,更新用軟件發(fā)布部220由接收部701、發(fā)送部702、加密密鑰生成部703、加密處理部704、認(rèn)證部 705、更新模塊選擇部706、控制部707、證書生成部708、簽名私鑰保持部709、更新用軟件保持部710及加密密鑰保持部711構(gòu)成。接收部701從更新模塊131、132、133接收保護(hù)控制模塊120的篡改檢測結(jié)果、及其他更新模塊的相互監(jiān)視結(jié)果(篡改檢測結(jié)果)。發(fā)送部702當(dāng)需要將設(shè)備100內(nèi)部的軟件(應(yīng)用110、111、保護(hù)控制模塊120)更新時,向更新模塊131、132、133發(fā)送更新處理開始的委托、更新用軟件、解密所需要的密鑰等的數(shù)據(jù)。
加密密鑰生成部703生成在將更新用軟件向更新模塊131、132、133發(fā)送時使用的加密密鑰。加密處理部704使用加密密鑰生成部703生成的加密密鑰將更新用軟件加密。此外,使用各更新模塊所固有的密鑰,將加密密鑰加密。認(rèn)證部705與 更新模塊131、132、133、以及保護(hù)控制模塊120進(jìn)行相互認(rèn)證。更新模塊選擇部706當(dāng)將保護(hù)控制模塊120更新時,選擇在更新處理中使用哪個更新模塊。并且,更新模塊選擇部706將在更新用的保護(hù)控制模塊的加密中使用的加密密鑰使用所選擇的更新模塊中固有的密鑰進(jìn)行加密,向所選擇的更新模塊發(fā)送??刂撇?07控制更新用軟件發(fā)布部220內(nèi)的各構(gòu)成單元。具體而言,控制部707 控制使用多個加密密鑰的更新用軟件的多重加密、在多重加密中使用的多個加密密鑰的加密、以及加密后的更新用軟件和加密密鑰的向更新模塊的發(fā)送。這里,加密密鑰及更新用軟件不是一次向更新模塊131、132、133發(fā)送的,而是在更新處理之中,在需要各個數(shù)據(jù)的定時向各個更新模塊131、132、133發(fā)送。證書生成部708使用簽名私鑰生成對于更新模塊131、132、133的認(rèn)證公鑰的認(rèn)證證書。此外,證書生成部708生成對于更新用的新保護(hù)控制模塊的更新驗證證書。更新驗證證書為了驗證保護(hù)控制模塊是否被正確地更新而使用。簽名私鑰保持部709保持在證書生成部708的證書的生成中使用的簽名私鑰。更新用軟件保持部710保持用來在保護(hù)控制模塊120被攻擊時進(jìn)行更新的更新用的保護(hù)控制模塊。加密密鑰保持部711保持由加密密鑰生成部703生成的加密密鑰及由加密處理部 704加密的加密密鑰。9.模塊無效化部230的結(jié)構(gòu)圖13是更新服務(wù)器200的模塊無效化部230的結(jié)構(gòu)圖。如該圖所示,模塊無效化部230由接收部801、發(fā)送部802、訪問信息取得密鑰保持部803及更新模塊選擇部804構(gòu)成。接收部801受理從判斷部210刪除被不正當(dāng)?shù)卮鄹牡母履K的指示。此外,接收部801從設(shè)備100的更新模塊131、132、133接收訪問信息取得密鑰的取得委托。發(fā)送部802根據(jù)訪問信息取得密鑰的取得委托,將訪問信息取得密鑰向進(jìn)行了委托的更新模塊發(fā)送。訪問信息取得密鑰保持部803保持用來將訪問控制模塊140保持的訪問信息解密的訪問信息取得密鑰。更新模塊選擇部804選擇進(jìn)行將無效化對象的更新模塊(判斷為被篡改的更新模塊)刪除的無效化處理的更新模塊,對所選擇的更新模塊指示無效化處理。更新模塊選擇部804在有來自于所選擇的更新模塊(進(jìn)行無效化處理的更新模塊)的訪問信息取得密鑰的取得委托的情況下,將附加了作為刪除對象的更新模塊的識別符的訪問信息取得密鑰向進(jìn)行無效化處理的更新模塊發(fā)送。10.模塊追加部MO的結(jié)構(gòu)圖14是更新服務(wù)器200的模塊追加部MO的結(jié)構(gòu)圖。如該圖所示,模塊追加部 240由接收部901、發(fā)送部902、更新模塊選擇部903、更新模塊保持部904、更新模塊分割部905及控制部906構(gòu)成。接收部901從判斷部210接收更新模塊追加的指示、和在該時點包含在更新模塊組130中的更新模塊的列表。發(fā)送部902向設(shè)備100發(fā)送追加用的更新模塊及用來驗證更新模塊是否被正確地追加的驗證值。此外,發(fā)送部902向判斷部210通知更新模塊的追加處理的結(jié)束。更新模塊選擇部903從由判斷部210接收到的更新模塊的列表中選擇進(jìn)行更新模塊的追加處理的更新模塊。更新模塊保持部904保持追加用的更新模塊。更新模塊分割部905從更新模塊保持部904取得1個追加用的更新模塊,根據(jù)更新模塊選擇部903選擇的數(shù)量,將追加用的更新模塊分割。更新模塊分割部905將分割后的更新模塊向更新模塊選擇部903所選擇的各更新模塊發(fā)送??刂撇?06與判斷部210及更新模塊131、132、133協(xié)同,控制更新模塊的追加處理。11.監(jiān)視模式更新部250的結(jié)構(gòu)圖15是更新服務(wù)器200的監(jiān)視模式更新部250的結(jié)構(gòu)圖。如該圖所示,監(jiān)視模式更新部250由接收部1001、發(fā)送部1002、監(jiān)視模式生成部1003、監(jiān)視模式分割部1004及控制部1005構(gòu)成。接收部1001從判斷部210接收監(jiān)視模式更新的指示、和在該時點包含在更新模塊組130中的更新模塊的列表。發(fā)送部1002向設(shè)備100發(fā)送更新用的監(jiān)視模式。此外,發(fā)送部1002向判斷部210 通知監(jiān)視模式的更新處理的結(jié)束。監(jiān)視模式生成部1003根據(jù)從判斷部210接收到的更新模塊的列表,決定哪個更新模塊監(jiān)視哪個更新模塊,生成監(jiān)視模式(pattern)。作為監(jiān)視模式的一例,也可以是各更新模塊監(jiān)視其他全部更新模塊。監(jiān)視模式分割部1004將由監(jiān)視模式生成部1003生成的監(jiān)視模式分割為各個更新模塊的監(jiān)視模式。并且,監(jiān)視模式分割部1004將分割后的監(jiān)視模式作為更新用的監(jiān)視模式,發(fā)送給各個更新模塊??刂撇?005控制監(jiān)視模式生成部1003和監(jiān)視模式分割部1004,進(jìn)行監(jiān)視模式的
更新處理。12.軟件更新系統(tǒng)10的動作接著,使用圖16對軟件更新系統(tǒng)10的動作進(jìn)行說明。首先,說明軟件更新系統(tǒng)10的安裝處理。在安裝處理中,大體包括以下的9個處理。第1個是初始設(shè)定處理。在初始設(shè)定處理中,將根據(jù)軟件更新所需要的各種密鑰數(shù)據(jù)及在軟件更新后需要的數(shù)據(jù)、使用秘密共享法而生成的共享信息,嵌入到各更新模塊 131、132、133 中。第2個是檢測處理。在檢測處理中,檢測設(shè)備100內(nèi)部的軟件(應(yīng)用110及111、 保護(hù)控制模塊120)是否沒有被篡改。第3個是分析/判斷處理。在分析/判斷處理中,在檢測到篡改的情況下,進(jìn)行哪個模塊被篡改的判斷、以及被篡改的原因的分析,判斷是否將包括被篡改的模塊的軟件更新。并且,在將軟件更新的情況下,生成修正了被篡改的部位的更新用的軟件,向更新模塊
131、132、133通知更新處理的實施。第4個是相互認(rèn)證處理。在相互認(rèn)證處理中,更新模塊131、132、133和更新用軟件發(fā)布部220為了相互確認(rèn)是否是正確的軟件而相互進(jìn)行認(rèn)證處理。第5個是恢復(fù)處理。在恢復(fù)處理中,將更新用的軟件向設(shè)備100進(jìn)行安裝,進(jìn)而, 從向更新模塊131、132、133嵌入的共享信息復(fù)原原來的數(shù)據(jù)。第6個是下一輪準(zhǔn)備處理。在下一輪準(zhǔn)備處理中,生成用于下個軟件更新的共享信息,嵌入到各更新模塊中。第7個是無效化處理。在無效化處理中,在檢測處理、相互認(rèn)證處理、恢復(fù)處理中, 在檢測到更新模塊131、132、133或保護(hù)控制模塊120被不正當(dāng)?shù)卮鄹牡那闆r下,將被篡改的模塊刪除。第8個是追加處理。在追加處理中,在通過無效化處理使得更新模塊減少的情況下,為了可靠地進(jìn)行安裝處理,在想要增加更新模塊的情況下等,追加更新模塊。第9個是監(jiān)視模式更新處理。在監(jiān)視模式更新處理中,在通過無效化處理及追加處理而變更了更新模塊組130的結(jié)構(gòu)的情況下,如果需要監(jiān)視模式的更新,則將監(jiān)視模式更新。上述9個處理中的初始設(shè)定處理、檢測處理、分析/判斷處理、相互認(rèn)證處理、恢復(fù)處理及下一輪處理以圖16所示的順序進(jìn)行。無效化處理、追加處理及監(jiān)視模式更新處理在圖16中記載的各個處理之中根據(jù)需要而進(jìn)行調(diào)用。圖16是表示軟件更新系統(tǒng)10的整體性的動作的流程的流程圖。軟件更新系統(tǒng)10在設(shè)備100的工廠制造時進(jìn)行初始設(shè)計處理,向各更新模塊131、
132、133嵌入共享信息。然后,設(shè)備100被從工廠出貨,由用戶使用。當(dāng)由用戶使用設(shè)備100時,設(shè)備100進(jìn)行檢測處理。具體而言,保護(hù)控制模塊120 保護(hù)應(yīng)用(110、111)不受攻擊者的攻擊。與此同時,更新模塊131、132、133實施保護(hù)控制模塊120的篡改檢測,檢查保護(hù)控制模塊120是否沒有被攻擊。在更新服務(wù)器200從進(jìn)行了檢測處理的更新模塊接收到保護(hù)控制模塊已被篡改的通知的情況下,更新服務(wù)器200進(jìn)行分析/判斷處理。在判明保護(hù)控制模塊120被篡改的情況下,在進(jìn)行相互認(rèn)證處理、恢復(fù)處理、下一輪準(zhǔn)備處理后,再次向檢測處理返回。另外, 在本發(fā)明的軟件更新系統(tǒng)中,上述全部的處理不是必須的。軟件更新系統(tǒng)只要有從外部被賦予更新的觸發(fā)事件后進(jìn)行更新的處理(恢復(fù)處理)就可以。以下,對上述9個處理說明各自的詳細(xì)情況。13.初始設(shè)計處理的動作這里,使用圖17 圖19,對初始設(shè)計處理進(jìn)行說明。圖18是表示由軟件更新系統(tǒng)10進(jìn)行的初始設(shè)計處理的動作的序列圖。在設(shè)備100的工廠制造時,向設(shè)備100的非易失性存儲器安裝應(yīng)用(110、111)、保護(hù)控制模塊120、更新模塊(131、132、133)等(S1000)。對這些軟件附加了用來驗證軟件是否被篡改的篡改檢測用證書。該篡改檢測用證書被通過更新服務(wù)器200的更新用軟件發(fā)布部220所保持的簽名私鑰實施了簽名。另外,在S1000中,除了上述軟件以外,還安裝設(shè)備100的動作所需要的軟件。這里,使用圖17,對在初始設(shè)計處理時嵌入到設(shè)備100中的密鑰進(jìn)行說明。圖17 是示意地表示嵌入在設(shè)備100中的密鑰的圖。這里,僅表示了更新模塊131,對更新模塊132 及133省略。如圖17所示,在保護(hù)控制模塊120中嵌入了加密解密密鑰,在更新模塊131、132、 133中嵌入了簽名公鑰、驗證密鑰及認(rèn)證密鑰對(在該時點,在更新模塊中還沒有嵌入共享信息的組)。進(jìn)而,在更新模塊131、132、133中,分別被嵌入用來識別更新模塊的更新模塊識別符,在該狀態(tài)下安裝。加密解密密鑰是用來將應(yīng)用(110、111)加密及解密的密鑰。應(yīng)用(110、111)在使用加密解密密鑰而被加密的狀態(tài)下被向非易失性存儲器存儲,在執(zhí)行時,被保護(hù)控制模塊 120使用加密解密密鑰進(jìn)行解密后被加以執(zhí)行。在設(shè)備100 —邊切換上下文一邊執(zhí)行多個應(yīng)用的情況下,通過在上下文切換的定時使用加密解密密鑰進(jìn)行應(yīng)用(110、111)正在使用的數(shù)據(jù)的加密及解密,防止在應(yīng)用(110、111)執(zhí)行時通過調(diào)試器等的分析工具而造成數(shù)據(jù)被提取。嵌入在更新模塊131、132、133中的密鑰中的簽名公鑰是在全部的更新模塊中共通的密鑰。驗證密鑰和認(rèn)證密鑰對是在各個更新模塊中不同的密鑰。回到圖18繼續(xù)說明。在S1000中安裝了各軟件后,執(zhí)行進(jìn)行初始設(shè)定的軟件、用來測試是否正常地動作的軟件等,將設(shè)備100初始化(SlOOl)。在S1001的初始化處理中,在保護(hù)控制模塊120、更新模塊131、132、133中也分別進(jìn)行初始化處理。保護(hù)控制模塊120從加密解密密鑰,使用秘密共享法生成共享信息6100 。進(jìn)而,保護(hù)控制模塊120使用簽名私鑰,在加密解密密鑰的復(fù)原時,生成用來確認(rèn)是否能夠?qū)⒓用芙饷苊荑€正確地復(fù)原的證書(加密解密密鑰證書)(S1003)。保護(hù)控制模塊120將所生成的共享信息和加密解密密鑰證書向更新模塊131、 132、133發(fā)送(S1004)。這里,保護(hù)控制模塊120生成與具備共享信息保持部310的更新模塊相同數(shù)量的共享信息。并且,各個更新模塊131、132、133以保持不同的共享信息的組的方式進(jìn)行發(fā)送。進(jìn)而,保護(hù)控制模塊120發(fā)送表示向哪個更新模塊發(fā)送哪個共享信息的共享信息的配置信息。加密解密密鑰證書和配置信息是向全部的更新模塊131、132、133發(fā)送相同的信息。關(guān)于從加密解密密鑰使用秘密共享法生成共享信息的方法、以及將共享信息向更新模塊發(fā)送的方法,在專利文獻(xiàn)2的47頁到49頁中詳細(xì)地說明。通過使專利文獻(xiàn)2中的私鑰(秘密鍵)d對應(yīng)于本實施方式的加密解密密鑰、使認(rèn)證站裝置(認(rèn)証局裝置)對應(yīng)于保護(hù)控制模塊120、使共享信息保持裝置(分散情報保持裝置)對應(yīng)于更新模塊131、132、 133,能夠使用與專利文獻(xiàn)2相同的方法。從保護(hù)控制模塊120接收到共享信息、配置信息及加密解密密鑰證書的更新模塊組130向更新模塊初始化處理轉(zhuǎn)移。13. 1.更新模塊初始化處理圖19是表示更新模塊初始化處理的流程圖。這里,對更新模塊13進(jìn)行說明,但其他更新模塊132、133的動作也基本上相同。
更新模塊131從保護(hù)控制模塊120接收共享信息、配置信息及加密解密密鑰證書, 將接收到的各信息保持在共享信息保持部310中(S1005)。進(jìn)而,更新模塊131進(jìn)行作為篡改檢測對象的其他更新模塊132、133及保護(hù)控制模塊120的篡改檢測用證書的驗證(S1006)。該驗證通過從各模塊生成散列值、將生成的散列值與記述在各個篡改檢測用證書中的散列值相比較來進(jìn)行。判斷所生成的各散列值是否與記述在各個篡改檢測用證書中的散列值一致,如果一致,則對其他更新模塊132、133、保護(hù)控制模塊120分別生成MAC值。并且,保持所生成的 MAC值作為MAC值表(S1007)。如果至少1個散列值與記述在篡改檢測用證書中的散列值不一致,則更新模塊 131輸出錯誤而停止(S1008)。14.檢測處理的動作設(shè)備100如果結(jié)束初始設(shè)計處理,則被從工廠出貨,向用戶的場所發(fā)送。在用戶的場所,設(shè)備100被使用。當(dāng)使用應(yīng)用(110、111)時,在設(shè)備100內(nèi)部中,保護(hù)控制模塊120控制解密裝載功能、篡改檢測功能、分析工具檢測功能等的功能,保護(hù)應(yīng)用(110、111)不受攻擊者的攻擊。這里,使用圖20的序列圖對檢測處理的動作進(jìn)行說明。更新模塊131、132、133實施保護(hù)控制模塊120的篡改檢測(S2000)。篡改檢測通過使用驗證密鑰計算保護(hù)控制模塊120的MAC值、將計算出的MAC值與保持在MAC值表中的MAC值比較來進(jìn)行。如果MAC值一致,則保護(hù)控制模塊120判斷為沒有被篡改,如果MAC值不一致,則判斷為保護(hù)控制模塊120被篡改。另外,在圖20中將記載簡略化,記載為,使得僅更新模塊131進(jìn)行保護(hù)控制模塊的篡改檢測,但當(dāng)然在更新模塊132、133中也進(jìn)行同樣的處理。關(guān)于之后的處理,也以更新模塊131檢測到保護(hù)控制模塊120的篡改的情況為中心進(jìn)行記載,但在更新模塊132、133檢測到保護(hù)控制模塊120的篡改的情況下也基本上進(jìn)行同樣的處理。判斷保護(hù)控制模塊120是否被篡改、即MAC值是否一致,在判斷為保護(hù)控制模塊 120被篡改的情況下,更新模塊131將該消息向更新服務(wù)器200的判斷部210及其他更新模塊通知(S2001)。在判斷為保護(hù)控制模塊120沒有被篡改的情況下,更新模塊131不向判斷部210 或其他更新模塊進(jìn)行通知,向S2000的篡改檢測處理返回。從其他更新模塊接收到表示保護(hù)控制模塊120被篡改之意的通知的更新模塊,使用驗證密鑰及MAC值實施保護(hù)控制模塊120的篡改檢測(S2002)。并且,將篡改檢測結(jié)果向判斷部210及其他更新模塊通知(S2003)。判斷部210從更新模塊131、132、133接收篡改檢測結(jié)果。15.分析/判斷處理的動作接著,使用圖21對分析/判斷處理的動作進(jìn)行說明。圖21是表示分析/判斷處理的動作的流程的序列圖。在圖21中,將各更新模塊131、132、133分別進(jìn)行的處理作為更新模塊組130進(jìn)行的處理匯總記載。在檢測處理中,在從更新模塊向判斷部210通知了表示檢測到保護(hù)控制模塊120的篡改之意的通知(S2001或S2003)的情況下,判斷部210基于從更新模塊通知的篡改檢測結(jié)果,判斷保護(hù)控制模塊120是不正當(dāng)?shù)倪€是正當(dāng)?shù)?是否被篡改)(S3000)。作為判斷方法的一例,例如在規(guī)定數(shù)的更新模塊檢測到篡改的情況下,判斷為保護(hù)控制模塊120是不正當(dāng)?shù)?被篡改),此外,在不到規(guī)定數(shù)量的更新模塊檢測到篡改的情況下,判斷為保護(hù)控制模塊120是正當(dāng)?shù)?沒有被篡改)。上述規(guī)定數(shù)量也可以為包含在更新模塊組130中的更新模塊的過半數(shù)。在判斷為保護(hù)控制模塊120是不正當(dāng)?shù)?被篡改)的情況下,判斷部210為了判斷是否需要將保護(hù)控制模塊120恢復(fù),對更新模塊委托保護(hù)控制模塊120的哪個部分被篡改等的篡改信息的通知(S3001)。判斷部210基于篡改信息判斷是否需要將保護(hù)控制模塊 120 恢復(fù)(S3002)。也可以代替S3002的“是否需要恢復(fù)”的判斷而判斷“是否廢除”(revoke)。在S3002的判斷的結(jié)果是需要恢復(fù)的情況下,準(zhǔn)備更新用的保護(hù)控制模塊 (S3003),對更新模塊指示更新處理的開始(S3004)。此外,在廢除的情況下,對向應(yīng)用 (IlOUll)提供服務(wù)的服務(wù)器進(jìn)行委托,以使其將設(shè)備100廢除(S3005)。在判斷為保護(hù)控制模塊120是正當(dāng)(沒有被篡改)的情況下,為了判斷是否需要將更新模塊組130更新,轉(zhuǎn)移到通常時判斷處理(S3006)。15. 1.通常時判斷處理圖22是分析/判斷處理的通常時判斷處理(S3006)的序列圖。更新服務(wù)器200的判斷部210對更新模塊組130發(fā)送相互監(jiān)視處理的指示,更新模塊組130進(jìn)行相互監(jiān)視處理(S3100)。更新模塊組130將相互監(jiān)視處理得到的檢測結(jié)果通知給判斷部210。判斷部210如果接受到檢測結(jié)果的通知,則進(jìn)行通常時無效化判斷處理(S3200), 進(jìn)行追加判斷處理(S3300)、監(jiān)視模式更新判斷處理(S3400)。15. 2.相互監(jiān)視處理圖23是相互監(jiān)視處理(S3100)的詳細(xì)的序列圖。更新模塊組130內(nèi)的更新模塊131、132、133分別對其他更新模塊實施篡改檢測的處理,在由攻擊者篡改的情況下檢測到該情況。具體而言,更新模塊131進(jìn)行更新模塊132的篡改檢測(S3101),更新模塊132進(jìn)行更新模塊133的篡改檢測(S3102),更新模塊133進(jìn)行更新模塊131的篡改檢測(S3103)。篡改檢測通過使用驗證密鑰計算各更新模塊的MAC值、將計算出的MAC值與保持在MAC值表中的MAC值比較來進(jìn)行。并且,各更新模塊將篡改檢測處理的結(jié)果向判斷部210 及其他更新模塊通知。如果各更新模塊的篡改檢測處理完成,則回到通常時判斷處理。15. 3.通常時無效化判斷處理圖M是通常時判斷處理的通常時無效化判斷處理(S3200)的詳細(xì)的流程圖。使用圖M對通常時無效化判斷處理進(jìn)行說明。在判斷部210的不正當(dāng)模塊確定部604中被判斷為是不正當(dāng)?shù)母履K為更新模塊組130的半數(shù)以上的情況下(S3201),判斷部210的指示生成部603生成將更新模塊組 130的全體更新的指示,將更新模塊組130全體更新(S3202)。
通過將更新模塊組130的全體更新,能夠防止更新模塊的正常的動作受到妨礙。在判斷部210的不正當(dāng)模塊確定部604中被判斷為不正當(dāng)?shù)母履K是不到更新模塊組130的半數(shù)的情況下(S3201),不正當(dāng)模塊確定部604判斷是否更新模塊組130的某個更新模塊有危險(S3203),實施被判斷為有危險的更新模塊的無效化處理(S3204)。關(guān)于無效化處理的詳細(xì)情況在后面敘述。在通常時無效化判斷處理中,在確認(rèn)了保護(hù)控制模塊120沒有被篡改后,在更新模塊有危險的情況下進(jìn)行無效化處理,所以在更新模塊的無效化處理的期間中能夠防止經(jīng)由不正當(dāng)?shù)谋Wo(hù)控制模塊攻擊應(yīng)用(110、111)。在判斷為哪個更新模塊都沒有危險的情況下、或者如果無效化處理完成,則回到通常時判斷處理。15.4.追加判斷處理接著,對追加判斷處理進(jìn)行說明。圖沈是通常時判斷處理的追加判斷處理 (S3300)的詳細(xì)的流程圖。判斷部210判斷更新模塊組130的更新模塊的數(shù)量是否是規(guī)定值以下(S3301),在是規(guī)定值以下的情況下進(jìn)行追加處理(S3302)。關(guān)于追加處理的詳細(xì)情況在后面敘述。在更新模塊的數(shù)量是規(guī)定值以上的情況下、或者如果追加處理結(jié)束,則回到通常時判斷處理。通過由追加處理追加更新模塊,能夠?qū)⑦M(jìn)行相互監(jiān)視處理的更新模塊的數(shù)量保持為一定數(shù)量,所以能夠在更新模塊組130的內(nèi)部中穩(wěn)定地自我驗證更新模塊的篡改。此外,在確認(rèn)了保護(hù)控制模塊120沒有被篡改后進(jìn)行追加處理,所以在更新模塊的追加處理期間中能夠防止經(jīng)由不正當(dāng)?shù)谋Wo(hù)控制模塊攻擊應(yīng)用(110、111)。另外,也可以是,在雖然更新模塊的數(shù)量不是規(guī)定值以下、但判斷部210判斷為需要進(jìn)行更新模塊的追加的情況下,進(jìn)行追加處理。具體而言,在雖然更新模塊的數(shù)量是規(guī)定值以上、但一些更新模塊在較短的期間中連續(xù)有危險的情況下,有可能立即成為規(guī)定值以下。在這樣的情況下,為了使更新模塊整體的安全性提高,也可以即使更新模塊的數(shù)量是規(guī)定值以上也追加更新模塊。這里,所謂“規(guī)定值”,是在系統(tǒng)設(shè)計時決定的值,例如可以考慮“系統(tǒng)設(shè)計時的更新模塊的數(shù)量的過半數(shù)”、或“4個”等的具體的數(shù)值。此外,也可以代替將新的更新模塊追加到更新模塊組中的處理而將更新模塊組自身更新。例如,也可以進(jìn)行在更新模塊的數(shù)量比規(guī)定值大的情況下將更新模塊追加到更新模塊組中,在數(shù)量為規(guī)定值以下的情況下將更新模塊組自身更新那樣的處理。通過將更新模塊組刷新,能夠防止各更新模塊的正常的動作受到妨礙。15. 5.監(jiān)視模式更新判斷處理接著,使用圖觀說明監(jiān)視模式更新判斷處理。圖28是通常時判斷處理的監(jiān)視模式更新判斷處理(S3400)的詳細(xì)的流程圖。在通過無效化處理或追加處理而使得更新模塊組130的結(jié)構(gòu)中有變更的情況下, 判斷部210判斷是否需要進(jìn)行監(jiān)視模式的更新(S3401)。在判斷為需要進(jìn)行監(jiān)視模式的更新的情況下,向監(jiān)視模式更新部250指示更新,監(jiān)視模式更新部250進(jìn)行監(jiān)視模式更新處理 (S3402)。在判斷為不需要更新監(jiān)視模式的情況下,或者如果監(jiān)視模式更新處理完成,則向
23通常時判斷處理返回。在監(jiān)視模式更新處理(S3402)中,更新監(jiān)視模式,以使得不存在沒有被監(jiān)視的更新模塊。以下,具體地進(jìn)行說明。當(dāng)更新模塊A在監(jiān)視更新模塊B時,在更新模塊A被無效化的情況下,更新模塊B 有可能沒有被任何更新模塊監(jiān)視。因此,生成更新模塊B也由某個更新模塊監(jiān)視的新的監(jiān)視模式,將除了更新模塊A以外的更新模塊的監(jiān)視模式更新。此外,在更新模塊C被新追加到更新模塊組中的情況下,在以往的監(jiān)視模式中沒有監(jiān)視更新模塊C的更新模塊,所以生成包括更新模塊C在內(nèi)的更新模塊組中的新的監(jiān)視模式,將包括更新模塊C的全部更新模塊的監(jiān)視模式更新。由此,即使是更新模塊的無效化后、此外即使是新的更新模塊的追加后,也維持相互監(jiān)視,能夠防止更新模塊的正常的動作受到妨礙。16.相互認(rèn)證處理的動作這里,使用圖四及圖30,對軟件更新系統(tǒng)10進(jìn)行的相互認(rèn)證處理的動作僅說明。在更新服務(wù)器200的判斷部210在分析/判斷處理中判斷為需要將保護(hù)控制模塊 120恢復(fù)的情況下,判斷部210向更新用軟件發(fā)布部220指示保護(hù)控制模塊120的恢復(fù)。更新用軟件發(fā)布部220在向更新模塊131、132、133指示更新處理的開始后,在與各更新模塊之間分別進(jìn)行1對1的相互認(rèn)證處理。由此,防止設(shè)備100與不正當(dāng)?shù)姆?wù)器連接、或更新服務(wù)器200與不正當(dāng)?shù)脑O(shè)備連接。另外,在相互認(rèn)證處理中,更新服務(wù)器200 使用簽名私鑰及簽名公鑰,各更新模塊使用認(rèn)證密鑰對(認(rèn)證私鑰及認(rèn)證公鑰)。圖四是更新模塊131認(rèn)證更新用軟件發(fā)布部220時的序列圖。另外,更新模塊 132、133也與圖四同樣地動作,認(rèn)證更新用軟件發(fā)布部220。更新模塊131使用隨機(jī)數(shù)生成器生成隨機(jī)數(shù)(S4000),將生成的隨機(jī)數(shù)作為詢問數(shù)據(jù)(challenge data)向更新用軟件發(fā)布部220發(fā)送(S4001)。此時,將用來識別更新模塊131的更新模塊識別符與詢問數(shù)據(jù)一起發(fā)送。更新用軟件發(fā)布部220對接收到的詢問數(shù)據(jù)使用簽名私鑰而生成簽名數(shù)據(jù) (S4002),將所生成的簽名數(shù)據(jù)作為應(yīng)答數(shù)據(jù)向更新模塊131返送(S4003)。更新模塊131如果從更新用軟件發(fā)布部220接收到應(yīng)答數(shù)據(jù)(S4004),則使用簽名公鑰,驗證接收到的應(yīng)答數(shù)據(jù)是否為詢問數(shù)據(jù)的簽名數(shù)據(jù)(S4005)。在驗證的結(jié)果為應(yīng)答數(shù)據(jù)正確、更新用軟件發(fā)布部220是正當(dāng)?shù)哪K的情況下, 更新模塊131繼續(xù)處理。在應(yīng)答數(shù)據(jù)不正確、更新用軟件發(fā)布部220不是正當(dāng)?shù)哪K的情況下,更新模塊131輸出錯誤,停止處理(S4006)。接著,更新用軟件發(fā)布部220認(rèn)證更新模塊131、132、133。圖30是更新用軟件發(fā)布部220認(rèn)證各更新模塊時的序列圖。更新用軟件發(fā)布部220對發(fā)送來詢問數(shù)據(jù)的各更新模塊使用隨機(jī)數(shù)生成器生成分別不同的隨機(jī)數(shù)(S4100),作為詢問數(shù)據(jù)向各更新模塊分別發(fā)送(S4101)。各更新模塊對接收到的詢問數(shù)據(jù)使用認(rèn)證私鑰生成簽名數(shù)據(jù)(S4102),將生成的簽名數(shù)據(jù)作為應(yīng)答數(shù)據(jù)向更新用軟件發(fā)布部220返送(S4103)。此時,各更新模塊將認(rèn)證公鑰和認(rèn)證密鑰證書與應(yīng)答數(shù)據(jù)一起向更新用軟件發(fā)布部220發(fā)送。
更新用軟件發(fā)布部220從各個更新模塊接收應(yīng)答數(shù)據(jù)、認(rèn)證公鑰及認(rèn)證密鑰證書 (S4104)。更新用軟件發(fā)布部220驗證認(rèn)證密鑰證書是否是自身發(fā)行的證書,再使用認(rèn)證密鑰證書驗證認(rèn)證公鑰的正當(dāng)性(S4105)。如果認(rèn)證密鑰證書及認(rèn)證公鑰是不正當(dāng)?shù)?,則更新用軟件發(fā)布部220停止處理 (S4106)。如果認(rèn)證密鑰證書及認(rèn)證公鑰是正當(dāng)?shù)?,則更新用軟件發(fā)布部220使用認(rèn)證公鑰驗證接收到的應(yīng)答數(shù)據(jù)是否為詢問數(shù)據(jù)的簽名數(shù)據(jù)(S4107)。接著,更新用軟件發(fā)布部220判斷返回了正確的應(yīng)答數(shù)據(jù)的更新模塊(正當(dāng)?shù)母履K)的數(shù)量是否是預(yù)先設(shè)定的恢復(fù)處理所需要的數(shù)量以上。在正當(dāng)?shù)母履K的數(shù)量不到恢復(fù)處理所需要的數(shù)量的情況下,不能執(zhí)行恢復(fù)處理,所以更新用軟件發(fā)布部220停止處理(S4106)。在正當(dāng)?shù)母履K的數(shù)量達(dá)到恢復(fù)處理所需要的數(shù)量的情況下,結(jié)束相互認(rèn)證處理,轉(zhuǎn)移到恢復(fù)處理。此外,更新用軟件發(fā)布部220制作記載有在相互認(rèn)證處理中確認(rèn)了正當(dāng)性的全部的更新模塊的更新模塊識別符的認(rèn)證列表。并且,在此后的恢復(fù)處理中,僅利用在認(rèn)證列表中記載有識別符的更新模塊。17.恢復(fù)處理的動作這里,使用圖31到圖38,對由軟件更新系統(tǒng)10進(jìn)行的恢復(fù)處理的動作進(jìn)行說明。在相互認(rèn)證處理中相互認(rèn)證成功的情況下,實施將被篡改的保護(hù)控制模塊120更新為新保護(hù)控制模塊的恢復(fù)處理。首先,使用圖31說明恢復(fù)處理的大體的流程。圖31是表示恢復(fù)處理的整體的流程的流程圖。如該圖所示,恢復(fù)處理大體由6個處理構(gòu)成。第1個處理是使用新保護(hù)控制模塊將被篡改的保護(hù)控制模塊120更新的更新處理 (S5000)。第2個處理是更新模塊131、132、133相互實施篡改檢測處理的恢復(fù)時相互監(jiān)視處理(S5100)。第3個處理是將加密的應(yīng)用(110、111)再加密的再加密處理(S5300)。第4個處理是在更新模塊組130內(nèi)的更新模塊有危險的情況下判斷是否進(jìn)行無效化處理的恢復(fù)時無效化判斷處理(S5400)。第5個處理是通過無效化后的更新模塊組130內(nèi)的更新模塊的數(shù)量判斷是否進(jìn)行更新模塊的追加處理的追加判斷處理(S5500)。第6個處理是在進(jìn)行了更新模塊的無效化或/及追加的情況下判斷是否將監(jiān)視模式更新的監(jiān)視模式更新判斷處理(S5600)。另外,在本發(fā)明的軟件更新系統(tǒng)中,上述全部的處理并不都是必須的。軟件更新系統(tǒng)只要有從外部給出更新的觸發(fā)事件后、使用新保護(hù)控制模塊將被篡改的保護(hù)控制模塊120更新的更新處理(S5000)、以及更新模塊相互實施篡改檢測的恢復(fù)時相互監(jiān)視處理 (S5100)就可以。對上述6個處理依次說明其詳細(xì)情況。17. 1.更新處理這里,使用圖33及圖34說明更新處理(S5000)的一例。
首先,更新用軟件發(fā)布部220的證書生成部708使用簽名私鑰生成更新驗證證書 (S5001)。更新驗證證書是用于各更新模塊131、132、133確認(rèn)新保護(hù)控制模塊是否已正確地安裝的證書。更新用軟件發(fā)布部220將所生成的證書向各更新模塊發(fā)送(S5002)。接著,更新用軟件發(fā)布部220的加密密鑰生成部703生成兩個用來將新保護(hù)控制模塊多重加密的加密密鑰(第1密鑰及第2密鑰)(S5003)。解密裝載部404使用第2密鑰將新保護(hù)控制模塊加密,生成加密新保護(hù)控制模塊(S5004)。解密裝載部404對加密新保護(hù)控制模塊使用第1密鑰進(jìn)一步加密,生成多重加密新保護(hù)控制模塊(S5005)。更新用軟件發(fā)布部220從更新模塊組130中選擇一個正當(dāng)?shù)母履K(S5006),將所選擇的更新模塊的識別符對判斷部210通知。在S5006中,選擇存儲在判斷部210內(nèi)的不正當(dāng)模塊確定部604中的有危險的更新模塊以外的更新模塊。這里,假設(shè)作為一例而選擇更新模塊131。更新用軟件發(fā)布部220向所選擇的更新模塊131發(fā)送多重加密新保護(hù)控制模塊 (S5007),再發(fā)送第1密鑰(S5008)。更新模塊131接收多重加密新保護(hù)控制模塊和第1密鑰(S5009)。更新模塊131 使用第1密鑰將多重加密新保護(hù)控制模塊解密,取得加密新保護(hù)控制模塊(S5010)。并且, 如果解密結(jié)束,則將該消息向更新用軟件發(fā)布部220通知(S5011)。更新用軟件發(fā)布部220如果接收到解密結(jié)束通知,則從更新模塊組130選擇一個正當(dāng)?shù)?、并且與在S5006中選擇的更新模塊不同的更新模塊(S5012)。這里,作為一例,選擇更新模塊132。更新模塊的選擇與上述同樣,選擇存儲在判斷部210內(nèi)的不正當(dāng)模塊確定部604 中的有危險的更新模塊以外的更新模塊。更新用軟件發(fā)布部220對所選擇的更新模塊132發(fā)送第2密鑰(S50i;3)。進(jìn)而,更新用軟件發(fā)布部220對更新模塊131委托,以使其將在S5010中取得的加密新保護(hù)控制模塊向更新模塊132發(fā)送(S5014)。更新模塊131接受來自更新用軟件發(fā)布部220的委托,將加密新保護(hù)控制模塊向更新模塊132發(fā)送(S5015)。更新模塊132從更新用軟件發(fā)布部220接收第2密鑰,從更新模塊131接收加密新保護(hù)控制模塊(S5016)。并且,使用第2密鑰將加密新保護(hù)控制模塊解密,取得新保護(hù)控制模塊(S5017)。更新模塊132將在S5017中取得的新保護(hù)控制模塊覆蓋到保護(hù)控制模塊120并更新(S5018)。并且,更新模塊132將更新的結(jié)束向其他更新模塊通知(S5019)。接著,各更新模塊131、132、133分別使用事前接收到的更新驗證證書,驗證保護(hù)控制模塊是否被正確地更新(S5020),將驗證結(jié)果向更新用軟件發(fā)布部220通知(S5021)。更新用軟件發(fā)布部220如果接收到從各更新模塊發(fā)送的驗證結(jié)果,則判斷保護(hù)控制模塊是否被正確地更新(S5022)。在判斷為沒有被正確地更新的情況下,更新用軟件發(fā)布部220使設(shè)備100停止(S5023)。在被正確地更新的情況下,更新用軟件發(fā)布部220將更新處理的結(jié)束向各更新模塊通知(S5024)。各更新模塊如果接收到更新處理結(jié)束通知,則生成新保護(hù)控制模塊的MAC值,將所生成的MAC值和保護(hù)控制模塊的識別符的組寫入到MAC值表中(S5025)。如以上說明,在更新處理中,更新用軟件發(fā)布部220將更新用的新保護(hù)控制模塊使用多個密鑰多重地加密,向更新模塊組130發(fā)送。更新模塊組130用接收到的新保護(hù)控制模塊來更新保護(hù)控制模塊120。此時,更新用軟件發(fā)布部220通過控制將用來將多重加密的新保護(hù)控制模塊解密的多個密鑰向更新模塊組130發(fā)送的定時,從而,攻擊者難以得到?jīng)]有被加密的新保護(hù)控制模塊。17. 2.恢復(fù)時相互監(jiān)視處理這里,使用圖35及圖36說明恢復(fù)時相互監(jiān)視處理(S5100)的一例。判斷部210向更新模塊組130發(fā)送相互監(jiān)視處理的指示,更新模塊組130進(jìn)行相互監(jiān)視處理(S5101)。S5101的詳細(xì)情況與圖23的相互監(jiān)視處理(S3100)是同樣的,所以這里省略說明。各更新模塊進(jìn)行篡改檢測,將篡改檢測結(jié)果向判斷部210發(fā)送(S5102)。另外, 在相互監(jiān)視處理的結(jié)果是沒有檢測到被篡改的更新模塊的情況下,也可以不進(jìn)行向判斷部 210的通知。判斷部210使用檢測結(jié)果進(jìn)行恢復(fù)時判斷處理(S5103)。這樣,在恢復(fù)時相互監(jiān)視處理中,由于更新模塊組130進(jìn)行相互監(jiān)視處理,所以即使是在恢復(fù)處理中一部分的更新模塊被篡改的情況,也能夠進(jìn)行篡改檢測。進(jìn)而,通過定期地實施恢復(fù)時相互監(jiān)視處理,能夠在新保護(hù)控制模塊的全部完全泄漏之前檢測到篡改,防止新保護(hù)控制模塊的全部泄漏。17. 3.恢復(fù)時判斷處理這里,使用圖36對恢復(fù)時判斷處理(S5103)的詳細(xì)情況進(jìn)行說明。首先,在判斷部210中,判斷是否某個更新模塊已有危險(S5110)。在哪個更新模塊都沒有危險的情況下,結(jié)束恢復(fù)時判斷處理,在圖35的恢復(fù)時向相互監(jiān)視處理返回。在某個更新模塊有危險的情況下,判斷部210判斷是否包含在更新模塊組中的更新模塊中的半數(shù)以上已有危險(S5111)。在半數(shù)以上有危險的情況下,將設(shè)備100停止 (S5112)。通過將設(shè)備100停止,能夠防止設(shè)備100被篡改而不正當(dāng)?shù)貏幼鳌?jīng)由網(wǎng)絡(luò)連接的其他設(shè)備影響。此外,在保護(hù)控制模塊120也有危險的情況下,應(yīng)用(110、111)被攻擊的可能性較高,也能夠防止向應(yīng)用(110、111)的攻擊影響到其他設(shè)備。在更新模塊的不到半數(shù)有危險的情況下,不正當(dāng)模塊確定部604確定哪個更新模塊有危險,將所確定的更新模塊的識別符存儲到不正當(dāng)模塊確定部604的內(nèi)部中(S5113)。接著,不正當(dāng)模塊確定部604判斷由更新處理選擇的更新模塊是否有危險 (S5114)。在由更新處理選擇的更新模塊有危險的情況下,在更新處理時有可能使不正當(dāng)起作用,所以對更新用軟件發(fā)布部220及更新模塊組130通知更新處理的中止(S5115)。在向更新用軟件發(fā)布部220及更新模塊組130通知后,回到恢復(fù)處理開始。通過回到恢復(fù)處理開始,處理不向恢復(fù)時無效化判斷處理(S5300)或追加判斷處理(S5400)轉(zhuǎn)移,所以能夠比有危險的更新模塊的無效化處理及追加處理更優(yōu)先地進(jìn)行保護(hù)控制模塊的更新處理。通過優(yōu)先地進(jìn)行保護(hù)控制模塊的更新處理,能夠防止經(jīng)由不正當(dāng)?shù)谋Wo(hù)控制模塊攻擊應(yīng)用(110、111)。
在判斷為在更新處理中選擇的更新模塊沒有危險的情況下,結(jié)束恢復(fù)時相互監(jiān)視處理。17.4.更新處理與恢復(fù)時相互監(jiān)視處理的關(guān)系這里,使用圖32,對更新處理與恢復(fù)時相互監(jiān)視處理的協(xié)同動作的詳細(xì)情況進(jìn)行說明?;謴?fù)時相互監(jiān)視處理不僅與更新處理協(xié)同,還在從更新處理的開始到結(jié)束定期地反復(fù)進(jìn)行。恢復(fù)時相互監(jiān)視處理需要以比新保護(hù)控制模塊經(jīng)由網(wǎng)絡(luò)被完全輸出到外部所需要的時間更短的時間間隔,來反復(fù)地實施。例如,如果到新保護(hù)控制模塊被完全輸出到外部為止花費1秒,則以比其更短的500毫秒間隔的定時執(zhí)行恢復(fù)時相互監(jiān)視處理。以下詳細(xì)地進(jìn)行說明。首先,設(shè)備100在被從更新服務(wù)器200發(fā)送多重加密新保護(hù)控制模塊之前實施恢復(fù)時相互監(jiān)視處理(相互監(jiān)視1)。這是為了使得不會選擇不正當(dāng)?shù)母履K而進(jìn)行更新處理。然后,設(shè)備100在更新模塊131接收到由更新服務(wù)器200發(fā)送的第1密鑰之前實施恢復(fù)時相互監(jiān)視處理(相互監(jiān)視幻,確認(rèn)當(dāng)設(shè)備100接收第1密鑰時不會選擇不正當(dāng)?shù)母履K。進(jìn)而,更新模塊131接收第1密鑰,在使用第1密鑰將多重加密新保護(hù)控制模塊解密的期間中,定期地將更新模塊131的解密處理中斷而實施恢復(fù)時相互監(jiān)視處理(相互監(jiān)視3-1、3-幻。由此,即使在解密處理中更新模塊131、132、133被攻擊,也能夠在加密新保護(hù)控制模塊全部泄漏之前檢測到更新模塊被攻擊、防止泄漏。此后的處理與上述是同樣的。即,設(shè)備100在更新模塊132接收由更新服務(wù)器200 發(fā)送的第2密鑰之前實施恢復(fù)時相互監(jiān)視處理(相互監(jiān)視4),確認(rèn)在設(shè)備100接收密鑰時、 在更新處理中不會選擇不正當(dāng)?shù)母履K。進(jìn)而,更新模塊132接收第2密鑰,在使用第2密鑰將加密新保護(hù)控制模塊解密的期間中,定期地將更新模塊132進(jìn)行的解密處理中斷,實施恢復(fù)時相互監(jiān)視處理(相互監(jiān)視 5-1、5- 。最后,實施恢復(fù)時相互監(jiān)視處理(相互監(jiān)視6)。由此,能夠在新保護(hù)控制模塊全部泄漏之前檢測到更新模塊被攻擊而防止泄漏。這里,在各恢復(fù)時相互監(jiān)視處理中在更新模塊中檢測到篡改的情況下,由更新服務(wù)器200的判斷部210進(jìn)行恢復(fù)時判斷處理(S510;3)。由此,更新服務(wù)器200能夠中止第1 密鑰或第2密鑰的發(fā)送,攻擊者不能得到用來將多重加密新保護(hù)控制模塊解密的密鑰。17. 5.再加密處理接著,使用圖37對恢復(fù)處理的再加密處理(S5200)的一例進(jìn)行說明。首先,更新后的保護(hù)控制模塊(以下記作“保護(hù)控制模塊121”)對各更新模塊131、 132、133委托分別保持的共享信息及加密解密密鑰證書的發(fā)送(S5201)。各更新模塊131、132、133接受來自保護(hù)控制模塊121的委托,發(fā)送共享信息及加密解密密鑰證書(S5202)。保護(hù)控制模塊121從各更新模塊131、132、133接收共享信息及加密解密密鑰證書 (S5203),從接收到的共享信息復(fù)原更新前的保護(hù)控制模塊120所使用的加密解密密鑰(舊加密解密密鑰)(S5204)。進(jìn)而,保護(hù)控制模塊121使用加密解密密鑰證書驗證舊加密解密密鑰是否被正確地復(fù)原(S5205)。
在舊加密解密密鑰沒有被正確地復(fù)原的情況下,保護(hù)控制模塊121找出不正當(dāng)?shù)母履K(確定哪個更新模塊發(fā)送了不正當(dāng)?shù)墓蚕硇畔?(S5206)。將所確定的不正當(dāng)?shù)母履K向更新服務(wù)器200通知。在舊加密解密密鑰被正確地復(fù)原的情況下,保護(hù)控制模塊121的加密解密密鑰生成部408生成新的加密解密密鑰(新加密解密密鑰)(S5207)。并且,解密裝載部404使用舊加密解密密鑰將加密的應(yīng)用(110、111)解密,使用新加密解密密鑰將應(yīng)用(110、111)再加密(S5208)。這里,對在S5206中用來確定不正當(dāng)?shù)母履K的方法進(jìn)行說明。首先,保護(hù)控制模塊121從各更新模塊集中共享信息的組,對集中的共享信息附加用來識別各更新模塊的識別信息。然后,將在初始設(shè)計時被設(shè)定為相同的值而發(fā)布的共享信息彼此匯集為組。并且, 將包含在各組中的共享信息彼此的值進(jìn)行比較,將為相同的值的共享信息彼此再匯集為1 個子組。并且,生成從全部的組之中1個1個地選出子組的全部組合。對生成的組合分別生成舊加密解密密鑰,驗證是否生成正確的舊加密解密密鑰。 在驗證OK的情況下,對包含在該組合中的子組附加表示驗證OK的驗證通過識別信息。在對全部的組合進(jìn)行舊加密解密密鑰的生成、驗證后,將包含在帶有驗證通過識別信息的子組中的共享信息去除。沒有被去除而留下的共享信息為不正當(dāng)?shù)闹?。所以,通過對該共享信息附加的識別信息,能夠確定發(fā)送來作為不正當(dāng)?shù)闹档墓蚕硇畔⒌母履K。將由識別信息確定的更新模塊確定為是不正當(dāng)?shù)母履K。關(guān)于從共享信息復(fù)原舊加密解密密鑰的方法及不正當(dāng)?shù)母履K的確定方法,在專利文獻(xiàn)2的50頁到52頁中詳細(xì)地說明。通過使專利文獻(xiàn)2中的私鑰d對應(yīng)于本實施方式的加密解密密鑰、使認(rèn)證站裝置對應(yīng)于本實施方式的保護(hù)控制模塊121、使共享信息保持裝置對應(yīng)于更新模塊131、132、133,能夠利用與專利文獻(xiàn)2相同的方法。17. 6.恢復(fù)時無效化判斷處理接著,利用圖38對恢復(fù)處理的恢復(fù)時無效化判斷處理(S5300)進(jìn)行說明?;謴?fù)時無效化判斷處理(S5300)在恢復(fù)時相互監(jiān)視處理(S5100)中檢測到篡改、 在圖36的S5113中存儲了有危險的更新模塊的情況下,判斷哪個更新模塊有危險(S5301), 對判斷為有危險的更新模塊進(jìn)行無效化處理(S5302)。無效化處理的詳細(xì)情況在后面敘述。17. 7.追加判斷處理追加判斷處理(S5400)與在通常時判斷處理(圖21的S3006)中進(jìn)行的追加判斷處理(圖22的S3300)是同樣的。這里省略說明。17. 8.監(jiān)視模式更新判斷處理監(jiān)視模式更新判斷處理(S5500)與由通常時判斷處理(圖21的S3006)進(jìn)行的監(jiān)視模式更新判斷處理(圖22的S3400)是同樣的。這里省略說明。18.下一輪準(zhǔn)備處理的動作這里,使用圖39的流程圖對下一輪準(zhǔn)備處理的動作進(jìn)行說明。在下一輪準(zhǔn)備處理中,在恢復(fù)處理結(jié)束后進(jìn)行用于下個恢復(fù)處理的準(zhǔn)備。以下,具體地進(jìn)行說明。首先,保護(hù)控制模塊121由新的加密解密密鑰,使用秘密共享法生成共享信息(S6000),再使用簽名私鑰生成新加密解密密鑰證書(S6001)。并且,保護(hù)控制模塊121將所生成的共享信息和加密解密密鑰證書向各更新模塊131、132、133發(fā)送(S6002)。這里,與初始設(shè)計處理時同樣,將共享信息生成與更新模塊的數(shù)量相同數(shù)量,進(jìn)行發(fā)送,以使各個更新模塊保持不同的共享信息的對。新加密解密密鑰證書是向各更新模塊 131、132、133發(fā)送相同的證書。各更新模塊131、132、133從保護(hù)控制模塊121接收共享信息和新加密解密密鑰證書,將接收到的共享信息和新加密解密密鑰證書保持在共享信息保持部310中(S6003)。19.無效化處理的動作這里,使用圖25的流程圖,對軟件更新系統(tǒng)10中的無效化處理的動作進(jìn)行說明。無效化處理是在相互認(rèn)證時存在認(rèn)證失敗的更新模塊的情況下、在通常時判斷處理時檢測到被篡改的更新模塊的情況下、檢測到保護(hù)控制模塊120的篡改的情況下等、將存在于設(shè)備100內(nèi)部的不正當(dāng)?shù)?被篡改的)模塊無效化的處理。這里,作為具體例,對在通常時判斷處理時更新模塊131、132檢測到更新模塊133 的篡改的情況下的無效化處理進(jìn)行說明。判斷部210基于從更新模塊131、132、133接收到的相互監(jiān)視結(jié)果,判斷哪個更新模塊被篡改(S7001)。作為判斷方法,例如在判斷為規(guī)定數(shù)量的更新模塊被篡改的情況下, 判斷為該更新模塊被篡改。判斷部210與被篡改的更新模塊的識別信息一起,向模塊無效化部230輸出無效化的指示(S7002)。模塊無效化部230向判斷為沒有被篡改的更新模塊131及132的某個(這里設(shè)為更新模塊131)委托被篡改的更新模塊133的無效化(S7003)。更新模塊131如果從模塊無效化部230接收到更新模塊133的無效化委托,則對模塊無效化部230委托用來將更新模塊133無效化的訪問信息取得密鑰的送出(S7004)。 進(jìn)而,更新模塊131向訪問控制模塊140委托用來將更新模塊133無效化的訪問信息的取得(S7005)。模塊無效化部230如果接收到訪問信息取得密鑰的送出委托,則確認(rèn)更新模塊 131是否是正當(dāng)?shù)?沒有被篡改的)更新模塊、以及是否有用來將被委托的訪問信息取得密鑰是不正當(dāng)?shù)?被篡改的)更新模塊133無效化的訪問信息取得密鑰(S7006)。該確認(rèn)利用從判斷部210向模塊無效化部230通知的更新模塊的信息進(jìn)行。在確認(rèn)后的結(jié)果是來自被篡改的更新模塊133的委托、或者是對沒有被篡改的更新模塊(131、132)的訪問信息取得密鑰的取得委托的情況下,停止無效化處理(S7007)。如果確認(rèn)的結(jié)果是沒有問題,則向進(jìn)行了委托的更新模塊131送出用來將更新模塊133無效化的訪問信息取得密鑰(S7008)。更新模塊131從模塊無效化部230接收訪問信息取得密鑰,再從訪問控制模塊 140接收加密的訪問信息(S7009)。更新模塊131從訪問信息取得密鑰和加密的訪問信息中取得訪問信息(S7010)。取得的訪問信息是用來將更新模塊133刪除的專用驅(qū)動程序(driver)。更新模塊131利用專用驅(qū)動程序?qū)⒈淮鄹牡牟徽?dāng)?shù)母履K133刪除 (S7011)。更新模塊131如果無效化處理結(jié)束,則將訪問信息取得密鑰、加密的訪問信息、以及訪問信息等刪除,向模塊無效化部230發(fā)送完成通知(S7012)。模塊無效化部230如果從更新模塊131接收到完成通知,則向判斷部210發(fā)送無效化的完成通知(S7013)。另外,在通過無效化處理將具備共享信息保持部310的更新模塊無效化的情況下,將該更新模塊所保持的共享信息也刪除。所以,在將具備共享信息保持部310的更新模塊無效化的情況下,需要進(jìn)行考慮到共享信息的刪除的無效化處理。對考慮到共享信息的刪除的無效化處理,在專利文獻(xiàn)2的56頁到64頁中已作為 “退出處理”(脫退処理)詳細(xì)地說明。通過使專利文獻(xiàn)2中的私鑰d對應(yīng)于本實施方式的加密解密密鑰、使共享信息保持裝置對應(yīng)于本實施方式的更新模塊131、132、133,能夠利用與專利文獻(xiàn)2相同的方法。另外,為了進(jìn)行考慮到共享信息的刪除的無效化處理,在要無效化的不正當(dāng)?shù)母履K以外最低需要3個正當(dāng)?shù)母履K。在無效化處理中使用保護(hù)控制模塊120的情況下,只要用與初始設(shè)計時相同的方法再次生成共享信息并發(fā)布就可以。如以上說明,在本實施方式中,由于更新模塊組130內(nèi)的多個更新模塊進(jìn)行相互監(jiān)視處理,所以能夠檢測到被篡改的更新模塊,能夠提高軟件更新系統(tǒng)的可靠性。此外,由于將被篡改的更新模塊無效化,所以能夠防止由被篡改的更新模塊進(jìn)行的不正當(dāng)動作。20.追加處理的動作接著,使用圖27的流程圖,對軟件更新系統(tǒng)10中的追加處理的動作進(jìn)行說明。追加處理是圖沈的S3302的詳細(xì)情況,是為了增加設(shè)備100內(nèi)部的更新模塊的數(shù)量而追加更新模塊的處理。這里,使用更新模塊131、132,舉例說明追加新的更新模塊的處理。判斷部210如果判斷為在更新模塊組130中需要更新模塊的追加,則向模塊追加部240指示更新模塊的追加。此時,與追加的指示同時地,通知當(dāng)前的設(shè)備100內(nèi)部的正當(dāng)?shù)母履K的一覽(列表)。如果接受到來自判斷部210的指示,則首先,更新模塊選擇部903從由判斷部210 接收到的正當(dāng)?shù)母履K的列表中選擇實施追加處理的更新模塊(S3310)。作為選擇的方法,例如,既可以隨機(jī)地選擇,也可以從列表的上面起依次選擇,也可以從最多的更新模塊中選擇被監(jiān)視的更新模塊。更新模塊選擇部903選擇的更新模塊的數(shù)量既可以是1個,也可以選擇半數(shù)的更新模塊,也可以選擇全部的更新模塊。選擇的方法及選擇的數(shù)量既可以在系統(tǒng)設(shè)計時決定,也可以每次由判斷部210指示。接著,更新模塊分割部905從更新模塊保持部904取得追加用更新模塊,將追加用更新模塊分割為與實施追加處理的更新模塊的數(shù)量相同數(shù)量(S3311)。然后,更新模塊分割部905將分割后的追加用更新模塊向更新模塊選擇部903所選擇的更新模塊中的每個更新模塊發(fā)送(S33U)。此時,更新模塊分割部905也發(fā)送表示寫入分割后的追加用更新模塊的區(qū)域的信息。此外,對于從更新模塊保持部904取得的追加用更新模塊附加了用來驗證該模塊的驗證用證書。這樣,通過不是使一個更新模塊獨占追加的權(quán)限、而是分散到多個更新模塊中,從而能夠使因具有追加的權(quán)限的更新模塊被篡改而使得追加不正當(dāng)?shù)母履K的危險性降低。接收到分割后的追加用更新模塊的各更新模塊在各自指定的區(qū)域中寫入分割后的追加用更新模塊(S3313)。寫入結(jié)束的更新模塊向模塊追加部240通知追加處理的結(jié)束(S3314)。模塊追加部240的控制部906如果從發(fā)送了分割后的追加用更新模塊的全部的更新模塊接受到追加處理的結(jié)束通知,則對更新模塊組130的全部的更新模塊送出已追加的更新模塊的驗證信息,委托驗證(S3315)。驗證信息是寫入了已追加的更新模塊的區(qū)域的開頭地址及大小。接收到驗證信息的更新模塊基于驗證信息讀入更新模塊,使用對更新模塊附加的驗證用證書實施驗證(S3316)。驗證結(jié)束的更新模塊將驗證結(jié)果向模塊追加部240通知
(53317)??刂撇?06根據(jù)被從更新模塊通知的驗證結(jié)果判斷是否正確地追加了更新模塊
(53318)。并且,將判斷結(jié)果和追加處理的結(jié)束向判斷部210通知(S3319)。另外,在追加具備共享信息保持部310的更新模塊的情況下,需要對追加的更新模塊發(fā)布共享信息。關(guān)于對追加的更新模塊發(fā)布共享信息的方法,在專利文獻(xiàn)2的64頁到 79頁中已詳細(xì)地說明。這里,通過使專利文獻(xiàn)2中的私鑰d對應(yīng)于本實施方式的加密解密密鑰、使共享信息保持裝置對應(yīng)于本實施方式的更新模塊131、132、133,能夠利用與專利文獻(xiàn)2相同的方法。另外,在對追加的更新模塊發(fā)布共享信息的情況下,在追加的追加用更新模塊以外最低需要3個正當(dāng)?shù)母履K。在使用保護(hù)控制模塊120的情況下,只要通過與初始設(shè)計時相同的方法再次生成共享信息并發(fā)布就可以。如以上說明,根據(jù)本實施方式,通過追加更新模塊,能夠?qū)⒃O(shè)備100內(nèi)的更新模塊的數(shù)量保持為一定數(shù)量,能夠在更新模塊組130內(nèi)穩(wěn)定地驗證更新模塊的篡改。由此,能夠提高軟件更新系統(tǒng)的可靠性。21.監(jiān)視模式更新處理這里,對軟件更新系統(tǒng)10中的監(jiān)視模式更新處理進(jìn)行說明。監(jiān)視模式更新處理是在進(jìn)行更新模塊的無效化處理或追加處理后、在判斷為需要將監(jiān)視模式更新的情況下,將設(shè)備100內(nèi)部的更新模塊組130的監(jiān)視模式更新的處理。作為具體例,對在圖40中將更新模塊A無效化、追加了更新模塊D的情況下,將監(jiān)視模式更新的處理進(jìn)行說明。如圖40A所示,假設(shè)更新模塊A監(jiān)視更新模塊B、更新模塊B監(jiān)視更新模塊C、更新模塊C監(jiān)視更新模塊A。在此狀態(tài)下,考慮將更新模塊A無效化、追加了更新模塊D的情況。由于更新模塊 A被無效化,所以更新模塊B沒有被任何更新模塊監(jiān)視。此外,更新模塊D由于是新追加的, 所以也沒有被任何更新模塊監(jiān)視。所以,需要進(jìn)行監(jiān)視模式的更新處理。作為要更新的監(jiān)視模式,例如,如圖40B所示,更新為更新模塊B監(jiān)視更新模塊C、 更新模塊C監(jiān)視更新模塊D、更新模塊D監(jiān)視更新模塊B的監(jiān)視模式。通過這樣在無效化處理或追加處理之后更新監(jiān)視模式,能夠消除沒有被任何更新模塊監(jiān)視的更新模塊,保持全部的更新模塊被監(jiān)視的狀態(tài)。此外,由于能夠從更新服務(wù)器200依次變更監(jiān)視模式,所以能夠防止監(jiān)視模式被看破、更新模塊被篡改。結(jié)果,能夠防止經(jīng)由不正當(dāng)?shù)母履K將保護(hù)控制模塊120篡改、 防止通過不正當(dāng)?shù)谋Wo(hù)控制模塊攻擊應(yīng)用(110、111)。22.更新服務(wù)器200保持的判斷基準(zhǔn)
在實施方式1中,根據(jù)設(shè)備100的狀態(tài),設(shè)備100進(jìn)行的處理的處理順序不同。管理服務(wù)器200的判斷部210使用判斷基準(zhǔn)判斷使設(shè)備100優(yōu)先進(jìn)行哪個處理。具體而言,判斷部210保持有將當(dāng)保護(hù)控制模塊120被篡改時設(shè)備100進(jìn)行的處理的優(yōu)先順位、和當(dāng)保護(hù)控制模塊120沒有被篡改時設(shè)備100進(jìn)行的處理的優(yōu)先順位建立對應(yīng)的判斷基準(zhǔn)。圖41是表示保護(hù)控制模塊120沒有被篡改的情況下的處理順序的圖。在保護(hù)控制模塊120沒有被篡改的情況下,設(shè)備100通過更新模塊的無效化處理、追加處理、監(jiān)視模式更新處理的順序進(jìn)行。例如,在通常時判斷處理中,在判斷為更新模塊133被篡改的情況下,設(shè)備100進(jìn)行更新模塊133的無效化處理,通過使更新模塊133無效化,在更新模塊的數(shù)量為規(guī)定值以下的情況下,進(jìn)行更新模塊的追加處理。此外,為了監(jiān)視被無效化的更新模塊133進(jìn)行監(jiān)視的更新模塊、及監(jiān)視新追加的更新模塊,對監(jiān)視模式的更新進(jìn)行更新。圖42是表示在保護(hù)控制模塊被篡改的情況下的處理順序的圖。在保護(hù)控制模塊 120被篡改的情況下,即使在恢復(fù)時相互監(jiān)視處理中檢測到更新模塊133被篡改,也優(yōu)先于更新模塊133的無效化處理而進(jìn)行保護(hù)控制模塊120的恢復(fù)處理。通過優(yōu)先于更新模塊133的無效化處理而進(jìn)行保護(hù)控制模塊120的恢復(fù)處理,能夠防止在更新模塊133的無效化處理中經(jīng)由被篡改的保護(hù)控制模塊120攻擊本來應(yīng)被保護(hù)的應(yīng)用(llOUll)o設(shè)備100在保護(hù)控制模塊120的恢復(fù)處理完成之后進(jìn)行更新模塊133的無效化處理。進(jìn)而,根據(jù)需要而進(jìn)行更新模塊的追加處理及監(jiān)視模式更新處理。(實施方式2)在實施方式1中,進(jìn)行監(jiān)視模式的更新處理,以使得不會發(fā)生因某個更新模塊被無效化而存在沒有被其他更新模塊監(jiān)視的更新模塊的情況(S3402)。在本實施方式中,其他更新模塊還驗證在監(jiān)視模塊中是否可靠地進(jìn)行了監(jiān)視模式的更新處理,保證總是使用更新后的監(jiān)視模式。由此,能夠避免基于較舊的監(jiān)視模式、完全沒有被其他更新模塊監(jiān)視等有可能進(jìn)行不正當(dāng)?shù)膭幼鞯母履K發(fā)生動作的情況。進(jìn)而,在本實施方式中,更新服務(wù)器200 的監(jiān)視模式更新部250生成對應(yīng)于更新模塊131 133的結(jié)構(gòu)的適當(dāng)?shù)谋O(jiān)視模式。以下, 對各自的詳細(xì)情況進(jìn)行說明。另外,關(guān)于與實施方式1相同的構(gòu)成單元使用相同的標(biāo)號,省略關(guān)于在實施方式1中已經(jīng)說明的處理的說明。23.各部的結(jié)構(gòu)首先,對更新模塊131 133的結(jié)構(gòu)進(jìn)行說明,接著,對監(jiān)視模式更新部250的結(jié)構(gòu)進(jìn)行說明。圖43是表示本發(fā)明的實施方式2的更新模塊131 133的結(jié)構(gòu)的圖。更新模塊主體除了圖8所示的實施方式1的更新模塊主體的構(gòu)成單元以外,還具備監(jiān)視模式更新驗證部311、模塊功能通知部312、功能信息保持部313。監(jiān)視模式更新驗證部311取得其他模塊的監(jiān)視模式主體,使用所取得的監(jiān)視模式,驗證其他模塊是否已更新為了正確的監(jiān)視模式。這里,作為驗證對象的是記述在自身的監(jiān)視模式主體中的監(jiān)視目標(biāo)的更新模塊。此外,在驗證中,使用包含在從更新服務(wù)器200接收到的監(jiān)視模式信息中的驗證值列表。在實施方式2的驗證值列表中,保存有驗證自身的
33監(jiān)視模式主體的驗證值、用來驗證有關(guān)記述在監(jiān)視模式主體中的監(jiān)視目標(biāo)的監(jiān)視模式主體的驗證值。作為驗證值,有散列值、MAC值等,這里,作為一例而使用散列值。當(dāng)使用散列值驗證監(jiān)視目標(biāo)的監(jiān)視模式時,首先取得監(jiān)視目標(biāo)的監(jiān)視模式主體而計算散列值,通過將計算出的散列值與包含在自身的監(jiān)視模式信息中的監(jiān)視目標(biāo)的驗證值比較來進(jìn)行。在比較的結(jié)果一致的情況下,判斷為已更新為了正確的監(jiān)視模式。功能信息保持部313保持有表示各更新模塊具有驗證(監(jiān)視)功能、更新功能、共享信息保持功能的3個功能中的哪個的功能信息。更新模塊主體只要具有3個功能中的至少1個就可以。模塊功能通知部312將功能信息保持部313保持的功能信息向更新服務(wù)器200通知。圖44示意地表示關(guān)于監(jiān)視模式更新驗證的更新模塊相互的對應(yīng)關(guān)系的圖。圖44 具體而言表示3個更新模塊(更新模塊1、更新模塊2、更新模塊幻存在于設(shè)備100內(nèi)的情況。各個更新模塊首先將自身的監(jiān)視模式更新為從更新服務(wù)器200通知的監(jiān)視模式。 接著,各監(jiān)視模塊驗證其他更新模塊是否已正確地更新為監(jiān)視模式。監(jiān)視對象是哪個更新模塊記述在自身的監(jiān)視模式主體中。在圖44的例子中,有關(guān)更新模塊1的更新后的監(jiān)視模式表示更新模塊1應(yīng)監(jiān)視更新模塊2和更新模塊3。此外,有關(guān)更新模塊2的更新后的監(jiān)視模式表示更新模塊2應(yīng)監(jiān)視更新模塊1,有關(guān)更新模塊3的更新后的監(jiān)視模式表示更新模塊 3應(yīng)監(jiān)視更新模塊2。在監(jiān)視模式的驗證中,使用與監(jiān)視模式主體一起從更新服務(wù)器200發(fā)送來的驗證值列表。在驗證值列表中,保存有用于監(jiān)視模式的驗證的驗證值。在圖44的例子中,在更新模塊1的驗證值列表中,保存有用來驗證更新模塊2和更新模塊3的監(jiān)視模式的更新的驗證值。此外,在更新模塊2的驗證值列表中,保存有用來驗證更新模塊1的監(jiān)視模式的更新的驗證值,在更新模塊3的驗證值列表中,保存有用來驗證更新模塊2的監(jiān)視模式的更新的驗證值。接著,對監(jiān)視模式更新部250進(jìn)行說明。圖45是表示監(jiān)視模式更新部250的結(jié)構(gòu)的框圖。如圖45所示,有關(guān)本實施方式的監(jiān)視模式更新部250除了使用圖15說明的有關(guān)實施方式1的監(jiān)視模式更新部250的構(gòu)成單元以外,還具備功能信息取得部1006、更新完成判斷部1007。功能信息取得部1006從各個更新模塊取得表示設(shè)備100內(nèi)的更新模塊131 133 分別具有怎樣的功能的信息(功能信息)。功能信息具體而言表示作為更新模塊可能具備的功能的驗證(監(jiān)視)功能、更新功能、共享信息保持功能中的1個以上。監(jiān)視模式生成部1003基于功能信息取得部1006取得的功能信息,首先生成監(jiān)視模塊組整體的新的監(jiān)視模式。監(jiān)視模式生成部1003生成監(jiān)視模式,以使各監(jiān)視模塊被至少 1個其他監(jiān)視模塊監(jiān)視。關(guān)于監(jiān)視模式的一例,使用圖62進(jìn)行說明。圖62示意地表示按照新的監(jiān)視模式、各更新模塊監(jiān)視其他哪個更新模塊。另外, 到此為止以更新模塊為3個(更新模塊131 133)的例子進(jìn)行了說明,但在圖62中,為了增加更新模塊的變形,以更新模塊為7個(更新模塊131 137)的例子進(jìn)行說明。這里,在圖中的更新模塊中,對于具有驗證(監(jiān)視)功能的結(jié)構(gòu),在圖中記載了實現(xiàn)該功能的監(jiān)視部,對于具有更新功能的結(jié)構(gòu),記載了實現(xiàn)該功能的更新部。此外,關(guān)于既具有驗證(監(jiān)視) 功能、又具有更新功能的更新模塊,記載了監(jiān)視部、更新部雙方。另外,在上述的更新模塊的說明中,以各更新模塊具有監(jiān)視部、更新部雙方的結(jié)構(gòu)進(jìn)行了說明,但也可以混合存在僅具有監(jiān)視部、更新部的某一方的更新模塊。此外,圖62的監(jiān)視模式按照以下所示的規(guī)則構(gòu)成。首先,僅具有監(jiān)視部的更新模塊131、132、135、137被具有監(jiān)視部的最低1個以上的其他更新模塊監(jiān)視。此外,僅具有更新部的更新模塊133、136被具有監(jiān)視部的兩個以上的更新模塊監(jiān)視。并且,既具有監(jiān)視部又具有更新部的更新模塊134被本模塊以外的全部的監(jiān)視部監(jiān)視。該規(guī)則基于如下情況,即進(jìn)行其他模塊的更新的更新部需要比監(jiān)視其他模塊的不正當(dāng)動作的監(jiān)視部更嚴(yán)格地被管理,而具有監(jiān)視部、更新部雙方的監(jiān)視模塊應(yīng)比僅具有更新部的監(jiān)視模塊更嚴(yán)格地被管理。另外,進(jìn)行監(jiān)視的模塊越增加,則被監(jiān)視的模塊的安全性越增加,但各模塊的處理變得復(fù)雜,處理器等硬件的處理負(fù)擔(dān)也增加。由此,監(jiān)視模式只要根據(jù)系統(tǒng)的處理性能等生成適當(dāng)?shù)哪J骄涂梢?。此外,在恢?fù)處理時,需要更新功能正確地動作,所以作為在恢復(fù)處理時使用的監(jiān)視模式,也可以生成具有更新功能的更新模塊被許多更新模塊監(jiān)視、具有驗證(監(jiān)視)功能和更新功能的更新模塊不監(jiān)視其他更新模塊這樣的監(jiān)視模式。這樣,監(jiān)視模式并不限于1 個模式,也可以保持多個模式,區(qū)分使用對應(yīng)于各處理、狀況等的監(jiān)視模式。接著,監(jiān)視模式分割部1004將監(jiān)視模式生成部1003生成的新監(jiān)視模式(整體) 分割為按照各個更新模塊的監(jiān)視模式,生成按照更新模塊的新監(jiān)視模式。在圖62所示的例子的情況下,更新模塊131監(jiān)視更新模塊133、134,所以在有關(guān)更新模塊131的新監(jiān)視模式中記載識別更新模塊133及134的識別符。此外,關(guān)于更新模塊134,由于監(jiān)視更新模塊133、136、137,所以在有關(guān)更新模塊134的新監(jiān)視模式中記載分別識別更新模塊133、136、137的識別符。更新完成判斷部1007接收更新模塊131 133的相互監(jiān)視結(jié)果(監(jiān)視模式更新驗證結(jié)果等),在全部的更新模塊中判斷是否正確地更新了監(jiān)視模式。在判斷為正確地更新的情況下,結(jié)束監(jiān)視模式更新處理。在未正確地更新的情況下,再次實施監(jiān)視模式更新處理。這里,也可以是,更新模塊13x中的各個更新模塊,在監(jiān)視模式更新處理中將更新前的更新模式備份。并且,在確認(rèn)了在全部的更新模塊中已正確地更新監(jiān)視模式的情況下,將備份的更新模式刪除。24.監(jiān)視模式更新處理的動作使用圖46的流程圖對軟件更新系統(tǒng)10中的監(jiān)視模式更新處理的動作進(jìn)行說明。在由更新服務(wù)器200的判斷部210判斷為需要監(jiān)視模式的更新的情況下(S3401), 在更新服務(wù)器200的監(jiān)視模式更新部250和設(shè)備100內(nèi)部的更新模塊131 133中開始監(jiān)視模式的更新處理。首先,更新服務(wù)器200的監(jiān)視模式更新部250的功能信息取得部1006為了取得為了生成監(jiān)視模式而需要的更新模塊的功能信息,對設(shè)備100內(nèi)的全部的更新模塊進(jìn)行功能信息通知委托(S8001)。
在接受到功能信息通知委托的更新模塊131 133中,模塊功能通知部311取得保持在功能信息保持部312中的功能信息,向監(jiān)視模式更新部250通知(S8002)。接受到功能信息的通知的監(jiān)視模式更新部250基于該功能信息,由監(jiān)視模式生成部1003生成新監(jiān)視模式(整體)。接著,監(jiān)視模式分割部1004將監(jiān)視模式生成部1003生成的新監(jiān)視模式(整體) 分割為按照各個更新模塊的監(jiān)視模式,生成按照各個更新模塊的新監(jiān)視模式(S8004)。生成的新監(jiān)視模式向各個更新模塊送出(S8005)。接收到新監(jiān)視模式的各個更新模塊將各自的監(jiān)視模式更新,再驗證其他更新模塊是否正確地更新了監(jiān)視模式(S8006),將其結(jié)果(相互監(jiān)視結(jié)果)向監(jiān)視模式更新部250通知(S8007)。各更新模塊中的監(jiān)視模式的更新處理(S8006)的詳細(xì)情況在后面敘述。接受到相互監(jiān)視結(jié)果的通知的監(jiān)視模式更新部250通過更新結(jié)束判斷部1007,根據(jù)相互監(jiān)視結(jié)果判斷監(jiān)視模式的更新處理是否正確地結(jié)束。結(jié)果,在存在未正確地更新監(jiān)視模式的不正當(dāng)?shù)母履K的情況下,生成將該不正當(dāng)?shù)母履K以外的更新模塊作為監(jiān)視對象的新監(jiān)視模式(整體)(S8003)。在沒有不正當(dāng)?shù)母履K的情況下,向更新模塊 131 133通知監(jiān)視模式的更新處理的結(jié)束(S8009)。接受到監(jiān)視模式的更新處理的結(jié)束通知的更新模塊131 133由于其他更新模塊的監(jiān)視模式被更新,所以再計算與其分別對應(yīng)的MAC值,將MAC值表更新(S8010)。接著,對各更新模塊中的監(jiān)視模式的更新處理(S8006)的詳細(xì)情況使用圖47的流程圖進(jìn)行說明。這里,以下與圖44的情況同樣對有3個更新模塊的情況下的處理進(jìn)行說明。另外,在更新模塊的數(shù)量、被更新的監(jiān)視模式與本說明不同的情況下也能夠使用與以下的說明同樣的方法。首先,從監(jiān)視模式更新部250向各個更新模塊通知新監(jiān)視模式。接收到新監(jiān)視模式的各個更新模塊使用監(jiān)視模式更新部309將自身的監(jiān)視模式信息向接收到的新監(jiān)視模式進(jìn)行更新(S8101)。如果更新結(jié)束,則使用驗證列表驗證自身的監(jiān)視模式是否被正確地更新,將監(jiān)視模式的反映結(jié)束向更新服務(wù)器200通知(S8102)。在更新服務(wù)器200中,監(jiān)視模式更新部250接受來自更新模塊的監(jiān)視模式的反映結(jié)束的通知,向各更新模塊委托更新驗證(S8103)。接受到更新驗證委托的更新模塊驗證記述在已更新的新監(jiān)視模式主體中的更新模塊的監(jiān)視模式主體(S8104)。例如,如果如圖44所示那樣更新了監(jiān)視模式,則更新模塊1 驗證更新模塊2和更新模塊3的監(jiān)視模式的更新,更新模塊2驗證更新模塊1的監(jiān)視模式的更新,更新模塊3驗證更新模塊2的監(jiān)視模式的更新。在監(jiān)視模式主體的驗證中,使用從更新服務(wù)器200接收到的監(jiān)視模式信息的驗證值列表內(nèi)的驗證值而進(jìn)行驗證。如果驗證結(jié)束,則各個更新模塊將其驗證結(jié)果向更新服務(wù)器200通知。監(jiān)視模式的更新的驗證已結(jié)束的更新模塊接著驗證記述在已更新的新監(jiān)視模式主體中的更新模塊的更新模塊主體(S8105)。在更新模塊主體的驗證中使用更新模塊驗證用證書。如果驗證結(jié)束,則各個更新模塊將其驗證結(jié)果向更新服務(wù)器200通知。以上,各更新模塊的監(jiān)視模式的更新處理結(jié)束。然后,如上所述,監(jiān)視模式更新部 250作為相互監(jiān)視結(jié)果而接收監(jiān)視模式的更新驗證結(jié)果和更新模塊主體的驗證結(jié)果,更新完成判斷部1007進(jìn)行判斷更新的完成的處理。
36
(實施方式3)在上述的實施方式1中,對加密解密密鑰使用秘密共享法生成共享信息,保持對各更新模塊自身分配的共享信息。在本實施方式中,對于各更新模塊,追加了不僅保持對各更新模塊自身分配的共享信息、還保持其他更新模塊的共享信息的功能。通過該功能,即使一部分的更新模塊被無效化,也能夠從其余的更新模塊復(fù)原加密解密密鑰。由此,即使因?qū)⒓用芙饷苊荑€復(fù)原而篡改了更新模塊,也能夠不使被篡改的更新模塊無效化而僅通過正常的更新模塊繼續(xù)動作。以下,對實施方式3的處理的詳細(xì)情況進(jìn)行說明。圖48是更新模塊組130的結(jié)構(gòu)圖。圖49是用來說明不僅是自身的共享信息、還保持相鄰接的更新模塊的共享信息的情況下的、共享信息的相互保持的圖。在實施方式3中,更新模塊如圖48、圖49所示,作為一例是7個。在本實施方式中,也進(jìn)行在實施方式1中說明的初始設(shè)計處理(圖18),但在初始設(shè)計處理中,保護(hù)控制模塊120從加密解密密鑰使用秘密共享法生成共享信息(S1002)這一點與實施方式1不同。此時,如圖49所示,將各更新模塊的共享信息和相鄰接的更新模塊的共享信息向各更新模塊發(fā)送。例如,在更新模塊131中,保持作為更新模塊131的共享信息的共享信息1、相鄰接的更新模塊2的共享信息2、和更新模塊7的共享信息7。通過該處理,即使在更新模塊132被篡改的情況下,也由于更新模塊131保持有共享信息2,所以能夠進(jìn)行加密解密密鑰的復(fù)原。接著,使用附圖對保持有相鄰接的更新模塊的共享信息的情況下的各判斷處理進(jìn)行說明。在以下的說明中,對于與實施方式1相同的處理使用相同的標(biāo)號而省略說明。25.通常時無效化判斷處理首先,對通常時無效化判斷處理進(jìn)行說明。圖50是通常時判斷處理的通常時無效化判斷處理的流程圖。在圖50中,對與實施方式1的通常時無效化判斷處理(圖24)相同的處理使用相同的標(biāo)號而省略詳細(xì)的說明。圖51是表示更新模塊組130中的半數(shù)以上有危險的例子的圖。在通常時無效化判斷處理中,如圖51所示,判斷部210判斷更新模塊是否半數(shù)以上有危險(S3201),在半數(shù)以上有危險的情況下,由判斷部210內(nèi)的指示生成部603生成將更新模塊組130全體更新的指示,將更新模塊全體更新(S3202)。此外,判斷部210判斷是否更新模塊的連續(xù)3個有危險(S320A),在連續(xù)3個有危險的情況下,由判斷部210內(nèi)的指示生成部603生成將更新模塊組130全體更新的指示,將更新模塊全體更新。圖52是表示更新模塊組130中的更新模塊131、132、137的3個有危險的例子的圖。這里,所謂連續(xù)3個,表示如更新模塊131、更新模塊132、更新模塊137具有相同的共享信息1的關(guān)系那樣,在保持共享信息的更新模塊的結(jié)構(gòu)中,保持相同的共享信息的更新模塊的關(guān)系。在更新模塊131、更新模塊132和更新模塊137被篡改而有危險的情況下,不能取得更新模塊131的共享信息1,不能進(jìn)行加密解密密鑰的復(fù)原。因此,保護(hù)控制模塊120 需要將更新模塊全體更新、將加密解密密鑰再共享。具體而言,在與S3202同樣將更新模塊全體更新后,判斷部210對保護(hù)控制模塊120進(jìn)行加密解密密鑰的更新和再共享的通知。并且,保護(hù)控制模塊120用當(dāng)前的加密解密密鑰將應(yīng)用(110、111)解密,將加密解密密鑰更新,用新的加密解密密鑰將應(yīng)用加密。進(jìn)而,保護(hù)控制模塊120從加密解密密鑰使用秘密共享法生成共享信息,再使用簽名私鑰生成用來確認(rèn)在加密解密密鑰的復(fù)原時是否已正確地復(fù)原的證書(加密解密密鑰證書)。將生成的共享信息、加密解密密鑰證書、相鄰接的更新模塊的共享信息和加密解密密鑰證書分別向更新模塊131 137發(fā)送。另外,關(guān)于從加密解密密鑰使用秘密共享法生成共享信息的方式及將共享信息向更新模塊發(fā)送的方法,已在專利文獻(xiàn)2的47頁到49頁中詳細(xì)地說明,所以省略說明。此外,通過使專利文獻(xiàn)2中的私鑰d對應(yīng)于加密解密密鑰、使認(rèn)證站裝置對應(yīng)于保護(hù)控制模塊 120、使共享信息保持裝置對應(yīng)于更新模塊131 133,能夠利用與專利文獻(xiàn)2相同的方法。此外,在判斷為沒有連續(xù)3個有危險的情況下,在判斷為相鄰接的更新模塊有危險的情況下,進(jìn)行更新模塊全體的更新(S320B)。圖53是表示更新模塊組130中的、更新模塊131的相鄰接的更新模塊132、137有危險的例子的圖。在相鄰接的更新模塊有危險的情況下,不能進(jìn)行專利文獻(xiàn)2的退出處理。在此情況下,在進(jìn)行有危險的更新模塊的無效化處理后,將更新模塊全體的共享信息更新。將共享信息更新的方法與上述的更新模塊全體的共享信息的更新是同樣的,所以省略。26.恢復(fù)時判斷處理對恢復(fù)時判斷處理(S5103)的詳細(xì)情況使用圖M進(jìn)行說明。圖M是表示恢復(fù)時相互監(jiān)視處理的恢復(fù)時判斷處理的流程圖。在圖M中,對于與實施方式1的恢復(fù)時判斷處理(圖36)相同的處理使用相同的標(biāo)號,對重復(fù)的說明省略。判斷部210判斷更新模塊是否半數(shù)以上有危險(S5111),在更新模塊中有危險的不到半數(shù)的情況下,判斷更新模塊的連續(xù)3個有危險(S511A)。在更新模塊的連續(xù)3個有危險的情況下,不能進(jìn)行加密解密密鑰的復(fù)原,所以將設(shè)備100停止。通過如上述那樣使更新模塊A的共享信息保持在兩相鄰接的更新模塊中,即使在保護(hù)控制模塊120的更新處理中更新模塊A被篡改,也能夠通過從兩相鄰的更新模塊取得更新模塊A的共享信息而將保護(hù)控制模塊的加密解密密鑰復(fù)原。此外,通過判斷是否連續(xù) 3個更新模塊有危險、在有危險的情況下將更新模塊全體的共享信息更新,能夠事前防止保護(hù)控制模塊120的加密解密密鑰不能復(fù)原的狀況。由此,能夠正確地進(jìn)行保護(hù)控制模塊的更新處理。(其他變形例)另外,基于上述實施方式說明了本發(fā)明,但本發(fā)明當(dāng)然并不限定于上述實施方式。 以下這樣的情況也包含在本發(fā)明中。(1)在上述實施方式中,將保護(hù)控制模塊120更新,但并不限定于此,也可以將更新模塊或應(yīng)用等保護(hù)控制模塊120以外的模塊更新。以下,以將更新模塊133更新的情況為例說明更新模塊的更新處理。在更新模塊的更新處理中,與將保護(hù)控制模塊更新的情況同樣,更新用軟件發(fā)布模塊210將新更新模塊133使用多個密鑰多重加密,將包含在更新模塊組130中的更新模塊(除了更新模塊133以外)作為發(fā)送目的地發(fā)送。包含在更新模塊組130中的更新模塊將更新模塊133更新為新更新模塊133。此時,通過更新用軟件發(fā)布部220控制用來將被多重加密的新更新模塊133解密的多個密鑰向包含在更新模塊組130中的更新模塊發(fā)送的定時,攻擊者不能得到?jīng)]有被加密的更新用更新模塊133。圖55 56是表示更新模塊的更新處理的一例的流程圖。這里,如上述那樣將更新模塊133更新。圖55 56基本上與圖33 34是同樣的。不同點是對作為更新對象的更新模塊133不發(fā)送更新驗證證書、解密結(jié)束通知、更新結(jié)束通知。以下,以更新模塊131、132將更新模塊133更新的處理為例,對更新模塊的更新的處理詳細(xì)地說明。首先,更新用軟件發(fā)布部220使用證書生成部408生成新更新模塊133的證書 (更新驗證證書)(S9001),向各更新模塊131 132發(fā)送6900 。使用該證書,更新模塊 131 132能夠確認(rèn)新更新模塊133是否已正確地安裝。在更新驗證證書的生成中使用簽名私鑰。各更新模塊接收更新驗證證書。接著,更新用軟件發(fā)布部220使用加密密鑰生成部403生成兩個用來將新更新模塊133多重加密的加密密鑰(第1密鑰、第2密鑰)(S9003)。并且,利用加密部404使用第 2密鑰將新更新模塊133加密,生成加密新更新模塊133 (S9004)。進(jìn)而,對加密新更新模塊 133使用第1密鑰再加密,生成多重加密新更新模塊133(S9005)。更新用軟件發(fā)布部220從更新模塊組130中選擇一個更新模塊(這里是更新模塊 131) (S9006)。在更新模塊的選擇中,選擇存儲在判斷部210內(nèi)的不正當(dāng)模塊確定部604中的有危險的更新模塊以外的更新模塊。此外,將所選擇的更新模塊的識別符發(fā)送給判斷部 210。更新用軟件發(fā)布部220對所選擇的更新模塊發(fā)送多重加密新更新模塊133 (S9007)。 進(jìn)而,向更新模塊131發(fā)送第1密鑰(S9008)。更新模塊131接收多重加密新更新模塊133和第1密鑰(S9009),使用第1密鑰將多重加密新更新模塊133解密,取得加密新更新模塊133 (S9010)。如果解密結(jié)束,則將該消息向更新用軟件發(fā)布部220通知(S9011)。更新用軟件發(fā)布部220如果接收到解密結(jié)束通知,則從更新模塊組130中選擇1 個與上述不同的更新模塊(這里是更新模塊13 (S9012)。更新模塊的選擇與上述同樣,選擇存儲在判斷部210內(nèi)的不正當(dāng)模塊確定部604中的有危險的更新模塊以外的更新模塊。 更新用軟件發(fā)布部220對所選擇的更新模塊發(fā)送第2密鑰(S9013)。進(jìn)而,對更新模塊131 委托,以使其將加密新更新模塊133向更新模塊132發(fā)送(S9014)。更新模塊131接受來自更新用軟件發(fā)布部220的委托,將加密新更新模塊133向更新模塊132發(fā)送(S9015)。更新模塊132從更新用軟件發(fā)布部220接收第2密鑰,從更新模塊131接收加密新更新模塊133 (S9016)。并且,使用第2密鑰將加密新更新模塊133解密,取得新更新模塊 133(S9017)。更新模塊132將所取得的新更新模塊133覆蓋到更新模塊133上,更新為新的更新模塊133(S9018)。并且,將更新的結(jié)束向更新模塊133以外的其他更新模塊通知 (S9019)。更新模塊131 132分別使用事前接收到的更新驗證證書,驗證更新模塊133是否被正確地更新(S9020),將驗證結(jié)果向更新用軟件發(fā)布部220通知(S9021)。更新用軟件發(fā)布部220如果接收到從各更新模塊發(fā)送的通知,則根據(jù)驗證結(jié)果判
39斷更新模塊133是否被正確地更新(S9022),在沒有被正確地更新的情況下,將設(shè)備100停止(S9023)。在沒有被正確地更新的情況下,將更新處理的結(jié)束向更新模塊133以外的各更新模塊通知(S9024)。更新模塊131 132分別接受更新處理的結(jié)束的通知,生成更新模塊133的MAC 值,向MAC值表保存更新模塊133的識別符和MAC值的組(S9025)。此外,設(shè)為將更新模塊覆蓋,但并不限定于此,也可以將被篡改的更新模塊無效化后進(jìn)行覆蓋。另外,設(shè)為將更新模塊覆蓋,但并不限定于此,也可以將保護(hù)控制模塊120或應(yīng)用等、更新模塊以外的模塊覆蓋。應(yīng)用100、110也可以是提供上述功能以外的功能的軟件。此外,也可以在即使一個更新模塊被篡改的情況下、沒有被篡改的更新模塊將全部更新模塊及保護(hù)控制模塊120更新或覆蓋。此外,也可以是,更新用軟件發(fā)布部220如果接收到從各更新模塊發(fā)送的通知,則根據(jù)驗證結(jié)果判斷更新模塊133是否被正確地更新(S9022),在沒有被正確地更新的情況下,將設(shè)備100停止(S9023),但并不限定于此,也可以再次進(jìn)行更新模塊更新處理。(2)在上述實施方式中,更新模塊13χ (χ是1 7)包括接收部301、發(fā)送部302、控制部303、更新部304、驗證部305、MAC值生成部306、MAC值表更新部307、監(jiān)視模式取得部 308、監(jiān)視模式更新部309、共享信息保持部310而構(gòu)成,但并不限定于此。例如,也可以僅由監(jiān)視處理所需要的構(gòu)成單元(控制部303、驗證部305、監(jiān)視模式取得部308、監(jiān)視模式更新部309)構(gòu)成。此外,也可以僅由更新處理所需要的構(gòu)成單元(控制部303、更新部304)構(gòu)成。此外,也可以僅由無效化處理所需要的構(gòu)成單元(控制部303、更新部304)構(gòu)成。進(jìn)而,也可以由上述的組合構(gòu)成。此時,作為包含在更新模塊組130中的更新模塊全體,只要包括監(jiān)視處理和更新處理所需要的構(gòu)成單元而構(gòu)成就可以。(3)在上述實施方式中,在更新模塊13x中由驗證部305執(zhí)行其他更新模塊及保護(hù)控制模塊120的篡改檢查,但篡改檢查對象并不限定于模塊全體,也可以是模塊內(nèi)的一部分、例如特定的功能或函數(shù)、密鑰等的數(shù)據(jù)。此外,也可以不是一次對全部篡改對象進(jìn)行篡改檢查,而是僅對篡改對象的一部分進(jìn)行篡改檢查。在此情況下,既可以按照將篡改對象分割為一定的大小后的每個部分進(jìn)行篡改檢查,也可以按照用功能或函數(shù)單位分割后的每個部分進(jìn)行篡改檢查。進(jìn)而,既可以將篡改對象的一部分每當(dāng)篡改檢查時依次進(jìn)行篡改檢查, 也可以每當(dāng)篡改檢查時隨機(jī)地決定篡改檢查的部分,也可以從其他模塊或設(shè)備100外部等指定將哪個部分篡改檢查。(4)在上述實施方式中,雖然沒有特別明示,但也可以對重要度較高的模塊,使其在耐篡改化的區(qū)域等、被保護(hù)免于攻擊者攻擊的區(qū)域中動作。例如,也可以使更新模塊13x 或保護(hù)控制模塊120在如上述那樣的被保護(hù)的區(qū)域中動作。在僅由監(jiān)視處理所需要的構(gòu)成單元構(gòu)成的更新模塊在被保護(hù)免于攻擊者攻擊的區(qū)域中動作的情況下,其他更新模塊及判斷部210也可以僅在從處于該被保護(hù)的區(qū)域中的更新模塊接受到檢測出其他更新模塊或保護(hù)控制模塊120被攻擊的通知時,無條件地接受該通知而實施更新處理或無效化處理。 此外,也可以將該通知作為比來自其他模塊的通知更重要的通知處理,進(jìn)行更新處理或無效化處理的判斷。此外,也可以是,保護(hù)控制模塊在保護(hù)模式(耐篡改化的區(qū)域等)下動作,更新模塊在通常模式(沒有被耐篡改化的區(qū)域等)下動作。(5)在上述實施方式中,設(shè)為模塊無效化部230處于更新服務(wù)器200中、訪問控制模塊140處于設(shè)備100,但并不限定于此。例如,模塊無效化部230和訪問控制模塊140也可以分別處于設(shè)備100中,也可以處于更新服務(wù)器200中,也可以處于各更新模塊內(nèi)。此外, 訪問信息取得密鑰發(fā)布模塊220和訪問控制模塊140可以不是不同的模塊,而是1個模塊。 在模塊無效化部230和訪問控制模塊140是1個模塊的情況下,也可以不是向更新模塊發(fā)送訪問信息取得密鑰和加密訪問信息,而直接發(fā)送訪問信息。進(jìn)而,模塊無效化部230或訪問控制模塊140在處于設(shè)備100內(nèi)時,也可以處于通過耐篡改化等而被保護(hù)免于攻擊的區(qū)域中。(6)在上述實施方式中,更新服務(wù)器200由判斷部210和更新用軟件發(fā)布部220、 模塊無效化部230、模塊追加部M0、監(jiān)視模式更新部250、通信部260構(gòu)成,但并不限定于此,判斷部210和更新用軟件發(fā)布部220、模塊無效化部230、模塊追加部M0、監(jiān)視模式更新部250、通信部260也可以是1個模塊,也可以是僅由某1個模塊構(gòu)成,也可以由上述的組合構(gòu)成。(7)在上述實施方式中,軟件更新系統(tǒng)10在設(shè)備100的工廠制造時進(jìn)行初始設(shè)計處理,但并不限定于此,也可以在銷售后等工廠出貨后的某處實施初始化處理。此外,初始化處理也可以不僅是1次,而實施兩次以上。(8)在上述實施方式中,作為初始設(shè)計處理的動作,設(shè)驗證用證書及認(rèn)證密鑰證書是使用更新用軟件發(fā)布部220所保持的簽名私鑰而生成的證書,但并不限定于此,也可以分別使用不同的密鑰生成,也可以是由更新用軟件發(fā)布部220以外的證書發(fā)行裝置發(fā)行的證書。(9)在上述實施方式中,作為初始設(shè)計處理及下一輪準(zhǔn)備處理的動作,設(shè)為將從加密解密密鑰生成的共享信息向更新模塊13x發(fā)送、更新模塊13x保持共享信息,但并不限定于此,也可以代替更新模塊而由應(yīng)用保持,也可以由更新模塊13x和應(yīng)用保持。(10)在上述實施方式中,作為檢測處理的動作,設(shè)為當(dāng)更新模塊13x進(jìn)行保護(hù)控制模塊120的篡改檢測時,利用使用驗證密鑰計算出的MAC值進(jìn)行篡改檢測處理,但并不限定于此,也可以使用保護(hù)控制模塊120的篡改檢測用證書進(jìn)行驗證。此外,也可以不是如 MAC值或證書那樣進(jìn)行利用散列值的篡改驗證,而是通過檢查日志(log)來進(jìn)行篡改驗證。(11)在上述實施方式中,作為檢測處理的動作,設(shè)為在更新模塊13x檢測到保護(hù)控制模塊120的篡改的情況下向判斷部210和其他更新模塊進(jìn)行通知,但并不限定于此,也可以對判斷部210和其他更新模塊中的某1個以上的模塊通知。此外,也可以在檢測到保護(hù)控制模塊120的篡改的情況下將更新模塊停止,也可以將設(shè)備100或保護(hù)控制模塊120 停止。進(jìn)而,也可以將被篡改的保護(hù)控制模塊刪除。進(jìn)而,設(shè)為在更新模塊131 133沒有檢測到保護(hù)控制模塊120的篡改的情況下不向更新用軟件發(fā)布模塊210進(jìn)行通知,但并不限定于此,作為實施篡改檢測處理的結(jié)果,也可以通知沒有檢測到篡改的消息。(12)在上述實施方式中,作為檢測處理的動作,更新模塊13x不對其他更新模塊發(fā)送保護(hù)控制模塊的篡改檢測結(jié)果,但也可以由各個更新模塊共用檢測結(jié)果。此外,也可以在存在不共用檢測結(jié)果的更新模塊的情況下將該更新模塊判斷為不正當(dāng)?shù)母履K而無效化。(13)在上述實施方式中,作為分析/判斷處理的動作,基于篡改信息判斷是否將保護(hù)控制模塊120更新,但并不限定于此,也可以根據(jù)通知為被篡改的更新模塊的數(shù)量判斷是否進(jìn)行更新。此外,作為分析/判斷時的動作,判斷是否將保護(hù)控制模塊120更新、以及是否將保護(hù)控制模塊120無效化,但并不限定于此,也可以判斷是否將設(shè)備100停止。(14)在上述實施方式中,作為相互認(rèn)證處理的動作,更新模塊131 133認(rèn)證更新用軟件發(fā)布部220,然后更新用軟件發(fā)布部220認(rèn)證各個更新模塊131 133,但并不限定于此,也可以是更新用軟件發(fā)布部220認(rèn)證各個更新模塊131 133,然后更新模塊131 133認(rèn)證更新用軟件發(fā)布部220,也可以是各個更新模塊131 133和更新用軟件發(fā)布部 220單獨進(jìn)行認(rèn)證處理。(15)在上述實施方式中,作為相互認(rèn)證處理的動作,在更新用軟件發(fā)布部220認(rèn)證各個更新模塊13x的處理中,將詢問數(shù)據(jù)在各個更新模塊中設(shè)為不同的值,但并不限定于此,也可以將詢問數(shù)據(jù)在所有更新模塊中設(shè)為相同的值,也可以在將更新模塊13x分為多個組的情況下的各個組中設(shè)為不同的值。(16)在上述實施方式中,作為相互認(rèn)證處理的動作,在各個更新模塊13x認(rèn)證更新用軟件發(fā)布部220的處理中,各個更新模塊13x單獨認(rèn)證更新用軟件發(fā)布部220,但并不限定于此,也可以將簽名驗證的結(jié)果向其他更新模塊通知,在更新模塊間共享驗證結(jié)果,根據(jù)本更新模塊的認(rèn)證結(jié)果和從其他更新模塊接收到的認(rèn)證結(jié)果判斷更新用軟件發(fā)布部220 是否是正當(dāng)?shù)?。作為判斷方法,例如有在一定?shù)量(例如過半數(shù)等)的更新模塊認(rèn)證成功的情況下判斷為正當(dāng)、在認(rèn)證不成功的情況下判斷為不正當(dāng)?shù)姆椒ā?17)在上述實施方式中,作為相互認(rèn)證處理的動作,更新服務(wù)器200使用簽名私鑰和簽名公鑰實施相互認(rèn)證處理,但并不限定于此,也可以在簽名私鑰和簽名公鑰之外另外地使用用于相互認(rèn)證的認(rèn)證密鑰對。此時,更新服務(wù)器200的認(rèn)證密鑰對中的認(rèn)證公鑰, 既可以預(yù)先由更新模塊13x保持,也可以在相互認(rèn)證處理時從更新服務(wù)器200向更新模塊 13x發(fā)送。(18)在上述實施方式中,作為相互認(rèn)證處理的動作,通過已驗證為是正當(dāng)模塊的更新模塊是否是恢復(fù)處理所需要的數(shù)量以上,來判斷是否實施此后的恢復(fù)處理,但并不限定于此,也可以通過不正當(dāng)?shù)母履K的數(shù)量是否不到預(yù)先設(shè)定的容許數(shù)來判斷是否實施恢復(fù)處理。此外,在相互認(rèn)證處理中,在判斷為不到恢復(fù)處理所需要的數(shù)量的情況下將設(shè)備停止,但也可以將更新模塊。(19)在上述實施方式中,作為相互認(rèn)證處理的動作,當(dāng)更新用軟件發(fā)布模塊210 認(rèn)證各個更新模塊131 133時,更新模塊131 133與應(yīng)答數(shù)據(jù)一起將認(rèn)證公鑰和認(rèn)證密鑰證書向更新用軟件發(fā)布部220發(fā)送,但并不限定于此,也可以分別以不同的定時發(fā)送。此外,認(rèn)證公鑰及認(rèn)證密鑰證書也可以僅在從更新用軟件發(fā)布部220有請求時分別發(fā)送。此時,更新用軟件發(fā)布部220既可以接收全部的更新模塊的認(rèn)證公鑰及認(rèn)證密鑰證書,也可以接收預(yù)先設(shè)定的、恢復(fù)處理所需要的數(shù)量以上、或不到預(yù)先設(shè)定的不正當(dāng)?shù)母履K的容許數(shù)的更新模塊的認(rèn)證公鑰和認(rèn)證密鑰證書。(20)在上述實施方式中,作為恢復(fù)處理的動作,將監(jiān)視處理在1次的解密中(監(jiān)視
423-1、3-2、5-1、5-2)實施2次,但并不限定于此,也可以按照解密處理的時間而將監(jiān)視處理進(jìn)行3次以上,也可以在解密處理以外也在密鑰或更新用保護(hù)控制模塊的接收處理時或檢測處理時、相互認(rèn)證處理時進(jìn)行監(jiān)視處理。此外,將監(jiān)視處理以一定時間間隔定期地實施, 但并不限定于此,也可以將更新處理分割為多個塊,每當(dāng)該處理塊的處理結(jié)束時實施,也可以以隨機(jī)的時間間隔實施,也可以以從更新服務(wù)器200指定的時間間隔實施。
此外,各更新模塊也可以從外部的服務(wù)器取得表示執(zhí)行監(jiān)視處理的定時的同步信息,按照所取得的同步信息執(zhí)行監(jiān)視處理。由此,各更新模塊能夠以與其他更新模塊相同的定時執(zhí)行監(jiān)視處理,所以能夠使不正當(dāng)?shù)母履K的檢測精度提高。進(jìn)而,也可以變更通常時和恢復(fù)處理時的檢測頻度。例如,通過與通常時相比,提高恢復(fù)處理時的檢測頻度,能夠在恢復(fù)處理中的保護(hù)控制模塊的保護(hù)方面期待周全。檢測頻度的變更也可以是恢復(fù)處理中。(21)在上述實施方式1及實施方式2中,作為恢復(fù)處理的動作,監(jiān)視處理的模式是更新模塊131進(jìn)行更新模塊132的篡改檢測、更新模塊132進(jìn)行更新模塊133的篡改檢測、 更新模塊133進(jìn)行更新模塊131的篡改檢測,但并不限定于此。例如,也可以通過更新模塊 131進(jìn)行更新模塊133的篡改檢測、更新模塊132進(jìn)行更新模塊131的篡改檢測、更新模塊 133進(jìn)行更新模塊132的篡改檢測等、預(yù)先決定的模式進(jìn)行篡改檢測,也可以隨機(jī)地決定進(jìn)行哪個更新模塊的篡改檢測,也可以從其他模塊或設(shè)備100外部給出進(jìn)行哪個更新模塊的篡改檢測。此外,各更新模塊也可以驗證該更新模塊(本更新模塊)是否沒有被篡改。進(jìn)而,也可以在檢測到本更新模塊的篡改的情況下將本更新模塊自身無效化。進(jìn)而,在保持有多個監(jiān)視模式的情況下,不需要全部的更新模塊被其他更新模塊監(jiān)視,在某個監(jiān)視模式中, 也可以存在沒有被其他更新模塊監(jiān)視的更新模塊。此外,也可以是全部的更新模塊被多個更新模塊監(jiān)視。此外,在變更監(jiān)視處理的模式的情況下,既可以每當(dāng)篡改檢測的處理等、以一定的間隔變更,也可以以隨機(jī)的定時變更,也可以以從其他模塊或設(shè)備100外部給出的定時變更。此外,多個更新模塊也可以將篡改檢測的結(jié)果以由更新服務(wù)器200指定的順序?qū)Ω路?wù)器200發(fā)送。(22)在上述實施方式1及實施方式2中,作為恢復(fù)處理的動作,在監(jiān)視處理時,如更新模塊131進(jìn)行更新模塊132的篡改檢測、更新模塊132進(jìn)行更新模塊133的篡改檢測、 更新模塊133進(jìn)行更新模塊131的篡改檢測這樣,全部的更新模塊進(jìn)行監(jiān)視處理,但并不限定于此,也可以是一個更新模塊實施更新處理、其他更新模塊實施監(jiān)視處理。作為此時的監(jiān)視模式,既可以由1個更新模塊監(jiān)視正進(jìn)行更新處理的更新模塊,也可以由多個或全部更新模塊來進(jìn)行監(jiān)視。例如,更新模塊131進(jìn)行更新模塊132的篡改檢測,更新模塊132進(jìn)行更新模塊133的篡改檢測,更新模塊133進(jìn)行更新處理。由此,能夠不中斷更新處理而也實施監(jiān)視處理。此外,在上述實施方式1及實施方式2中,如更新模塊131進(jìn)行更新模塊132的篡改檢測、更新模塊132進(jìn)行更新模塊133的篡改檢測、更新模塊133進(jìn)行更新模塊131的篡改檢測那樣,作為監(jiān)視結(jié)構(gòu)而使用循環(huán)方式,但也可以是多個更新模塊的分別相互監(jiān)視的結(jié)構(gòu),也可以將它們組合。通過做成多個更新模塊分別相互監(jiān)視的結(jié)構(gòu),能夠進(jìn)一步提高篡改驗證精度。(23)在上述實施方式中,作為恢復(fù)處理的動作,更新模塊132將所取得的更新用保護(hù)控制模塊121覆蓋到保護(hù)控制模塊120上,將保護(hù)控制模塊120更新,但并不限定于此,也可以是從更新用軟件發(fā)布模塊210取得保護(hù)控制模塊120與更新用保護(hù)控制模塊121 之間的差分、僅將差分進(jìn)行更新,也可以將更新用保護(hù)控制模塊121向與保護(hù)控制模塊120 不同的區(qū)域?qū)懭搿⒋姹Wo(hù)控制模塊120而執(zhí)行更新用保護(hù)控制模塊121。(24)在上述實施方式中,作為恢復(fù)處理的動作,在通過監(jiān)視處理檢測到更新模塊 13x的篡改的情況下,接受到篡改檢測的通知的判斷部210直接停止恢復(fù)處理,但并不限于此,也可以在從更新用軟件發(fā)布部220向更新模塊下次發(fā)送密鑰等數(shù)據(jù)的定時將恢復(fù)處理停止。此外,也可以不是將恢復(fù)處理停止,而是不使用篡改的更新模塊使用正常的更新模塊進(jìn)行恢復(fù)處理。此外,也可以是,不僅是通過監(jiān)視處理檢測到篡改的情況、對于在檢測處理時由保護(hù)控制模塊120檢測到篡改的更新模塊、在相互認(rèn)證處理時認(rèn)證失敗的更新模塊也同樣,不使用該更新模塊而進(jìn)行恢復(fù)處理。進(jìn)而,也可以在存在被篡改的更新模塊的情況下不進(jìn)行保護(hù)控制模塊的更新。(25)在上述實施方式中,作為恢復(fù)處理的動作,更新用軟件發(fā)布部220從更新模塊組130中選擇一個在更新處理中用于解密的更新模塊,但其選擇方法既可以選擇預(yù)先決定的更新模塊,也可以隨機(jī)地決定,也可以基于從設(shè)備100通知的信息來決定,也可以根據(jù)在相互認(rèn)證時認(rèn)證的順序來選擇。(26)在上述實施方式中,作為恢復(fù)處理的動作,在更新處理中更新用軟件發(fā)布部 220將更新用保護(hù)控制模塊121使用多個密鑰多重地加密,但并不限定于此,也可以是,生成將更新用保護(hù)控制模塊121分割為多個部分的分割模塊,將分割模塊分別單獨加密,以與更新模塊一對一對應(yīng)的形態(tài)向更新模塊發(fā)送。在此情況下,作為更新處理,在將加密的分割模塊和在加密中使用的密鑰發(fā)送時,也可以不是1次全部發(fā)送,而是控制向更新模塊的發(fā)送、以使得在1個加密的分割模塊的解密處理結(jié)束之前不發(fā)送其他加密的分割模塊和密鑰。作為別的方法,也可以將加密的分割模塊1次向更新模塊發(fā)送,僅控制用來將它們解密的密鑰的發(fā)送的定時,也可以將密鑰1次向更新模塊發(fā)送,僅控制加密的分割模塊的發(fā)送的定時,也可以將全部的密鑰和加密的分割模塊1次發(fā)送。此外,分割模塊也可以不是用1 個密鑰加密的,而是使用多個密鑰多重加密的。在此情況下,密鑰及多重加密的分割模塊的發(fā)送控制與將更新用保護(hù)控制模塊121使用多個密鑰多重加密時是同樣的。進(jìn)而,加密的分割模塊和將其解密的密鑰既可以向1個更新模塊發(fā)送,也可以分別向不同的更新模塊發(fā)送,也可以在設(shè)備100內(nèi)部中使更新模塊彼此協(xié)調(diào)動作。此時,也可以在接收分割模塊的前后實施監(jiān)視處理。此外,在通過監(jiān)視處理檢測到被篡改的不正當(dāng)?shù)母履K的情況下,也可以在發(fā)送下個分割模塊的定時將更新處理停止。進(jìn)而,也可以是,多個更新模塊在存在被篡改的更新模塊的情況下將其向更新服務(wù)器通知,更新服務(wù)器對篡改的更新模塊不發(fā)送解密密鑰。分割模塊也可以用分別不同的加密密鑰加密。(27)在上述實施方式中,作為恢復(fù)處理的動作,將用加密解密密鑰(舊加密解密密鑰)加密的應(yīng)用110、111使用新的加密解密密鑰(新加密解密密鑰)再加密,但并不限定于此,也可以不進(jìn)行再加密處理。此時,也可以不生成新加密解密密鑰而繼續(xù)使用舊加密解密密鑰,也可以做成保持舊加密解密密鑰和新加密解密密鑰、改變由應(yīng)用使用的密鑰的結(jié)構(gòu),也可以當(dāng)需要舊加密解密密鑰時從共享信息再次生成。在繼續(xù)使用舊加密解密密鑰的情況下,每當(dāng)更新保護(hù)控制模塊120時舊加密解密密鑰增加。此外,需要由各更新模塊保
44持新加密解密密鑰和舊加密解密密鑰的共享信息。(28)在上述實施方式中,在保護(hù)控制模塊121沒有被正確地更新的情況下將設(shè)備 100停止,但并不限定于此,也可以再次實施相互認(rèn)證處理及恢復(fù)處理。(29)在上述實施方式中,作為無效化處理的動作,訪問信息是用來將更新模塊刪除的專用驅(qū)動程序,但并不限定于此,也可以是用來將更新模塊刪除的專用程序,也可以是記述有用來將更新模塊刪除的步驟的程序文件,也可以是刪除的更新模塊的地址,也可以是將更新模塊刪除的程序的地址,也可以是用于使用來將更新模塊刪除的功能動作的寄存器或存儲器的地址、或設(shè)定在寄存器或存儲器中的值。此外,訪問信息也可以是記述有將代碼部分刪除的信息。在此情況下,也可以是,代碼位置保存在標(biāo)題中,參照標(biāo)題來判斷應(yīng)刪除的代碼部分。進(jìn)而,也可以將訪問控制模塊自身用加密密鑰加密。在此情況下,也可以是,沒有被篡改的更新模塊從更新服務(wù)器取得與將訪問控制模塊加密了的加密密鑰相對應(yīng)的解密密鑰,使用所取得的解密密鑰將訪問控制模塊解密,從訪問控制模塊取得對應(yīng)于被篡改的更新模塊的訪問信息,基于所取得的訪問信息將被篡改的更新模塊無效化。(30)在上述實施方式中,作為無效化處理的動作,將被篡改的更新模塊整體刪除, 但并不限定于此,也可以將被篡改的不正當(dāng)?shù)母履K的一部分、例如用來讀入其他模塊的讀入功能等特定的功能或函數(shù)、密鑰或用來訪問其他模塊的信息(標(biāo)簽(ticket)、令牌 (token)、套接字(socket))等的數(shù)據(jù)刪除,也可以使其不能從其他程序訪問,也可以進(jìn)行非活性化,也可以進(jìn)行更新。此外,也可以是,在將被篡改的更新模塊無效化后,進(jìn)行了無效化處理的更新模塊將保存在訪問控制模塊中的、對應(yīng)于已無效化的更新模塊的訪問信息刪除。(31)在上述實施方式中,將被篡改的不正當(dāng)?shù)母履K無效化,但并不限定于此, 也可以不將被篡改的不正當(dāng)?shù)母履K無效化。此時,既可以根據(jù)多少部分被篡改、哪個部分被篡改等而判斷是否無效化,也可以通過被篡改的不正當(dāng)?shù)母履K的數(shù)量決定無效化的更新模塊數(shù)。(32)在上述實施方式1及實施方式2中,設(shè)更新模塊的數(shù)量為3而進(jìn)行了說明,但并不限定于此,更新模塊只要有多個就可以。(33)在上述實施方式中,訪問控制模塊140及更新模塊組130裝入在0S150之中, 但也可以在更新模塊具備將OS更新的功能的情況下等將更新模塊在OS的管理外作為程序保存。此外,保護(hù)控制模塊也可以裝入在OS中。(34)設(shè)備100具體而言是便攜電話等的便攜終端或數(shù)字電視機(jī)等,只要是能夠進(jìn)行雙向的數(shù)據(jù)通信的設(shè)備就可以。(35)在上述實施方式中,訪問信息被按照每個更新模塊分別用單獨的訪問信息取得密鑰加密,但也可以用相同的訪問信息取得密鑰加密。在此情況下,也可以是,正常的更新模塊對更新服務(wù)器訪問,取得對應(yīng)于訪問信息取得密鑰的解密密鑰,使用所取得的解密密鑰將訪問控制模塊解密,從訪問控制模塊取得對應(yīng)于被篡改的更新模塊的訪問信息,基于所取得的訪問信息將被篡改的更新模塊無效化。(36)在上述實施方式中,在保護(hù)控制模塊被篡改的情況下,將該保護(hù)控制模塊更新,此時,包含在更新模塊組中的多個更新模塊分別進(jìn)行其他更新模塊的篡改驗證,但也可以是,不論篡改的有無,都例如在使保護(hù)控制模塊的版本升級的情況下等進(jìn)行篡改驗證。
(37)在上述實施方式中,將更新用的保護(hù)控制模塊用多個加密密鑰加密,但也可以用一個加密密鑰加密。在此情況下,也可以是,將對應(yīng)于該加密密鑰的解密密鑰分割為多個,將分割后的解密密鑰的全部以沒有被篡改的更新模塊為發(fā)送目的地發(fā)送,使用分割后的全部的解密密鑰,沒有被篡改的更新模塊將更新用的保護(hù)控制模塊解密。(38)在上述實施方式中,更新模塊131、132、133實施保護(hù)控制模塊120的篡改檢測,但還可以是保護(hù)控制模塊120實施各更新模塊的篡改檢測。以下,說明保護(hù)控制模塊120進(jìn)行各更新模塊的篡改檢測的處理。保護(hù)控制模塊120使用篡改檢測用證書驗證更新模塊131、132、133的篡改的有無。在檢測到更新模塊131、132、133中的某個更新模塊的篡改的情況下,保護(hù)控制模塊120 將該消息通知給判斷部210。在沒有檢測到篡改的情況下,不進(jìn)行向判斷部210的通知。在從保護(hù)控制模塊I20有篡改檢測的通知的情況下,判斷部210為了確認(rèn)保護(hù)控制模塊120自身是否沒有被篡改,向更新模塊131、132、133委托保護(hù)控制模塊120的篡改檢測處理。從判斷部210接受到委托的各更新模塊實施保護(hù)控制模塊120的篡改檢測,將篡改檢測結(jié)果向判斷部210通知。另外,在保護(hù)控制模塊120被篡改的情況下也不向其他更新模塊通知。以后的處理與實施方式1的檢測處理是同樣的,所以省略。接著,對為了判斷保護(hù)控制模塊120是否被篡改而使用保護(hù)控制模塊120進(jìn)行的各更新模塊的篡改檢測結(jié)果的例子進(jìn)行說明。如上所述,在檢測處理時,保護(hù)控制模塊120實施各更新模塊131、132、133的篡改檢測。保護(hù)控制模塊120在檢測到更新模塊的篡改的情況下,將該消息通知給判斷部210。接受到通知的判斷部210向各更新模塊131、132、133委托相互監(jiān)視,各更新模塊相互實施篡改檢測。判斷部210如果從各更新模塊接受到相互監(jiān)視的結(jié)果,則根據(jù)相互監(jiān)視的結(jié)果, 判斷保護(hù)控制模塊120檢測到篡改的更新模塊是否被篡改。在根據(jù)相互監(jiān)視的結(jié)果判斷為上述更新模塊被篡改的情況下,判斷部210判斷保護(hù)控制模塊120是正當(dāng)?shù)摹A硪环矫?,在根?jù)相互監(jiān)視的結(jié)果判斷為上述更新模塊沒有被篡改的情況下,判斷部210判斷保護(hù)控制模塊120是不正當(dāng)?shù)摹@?,在保護(hù)控制模塊120檢測到更新模塊132的篡改的情況下,在通過相互監(jiān)視也同樣判斷為更新模塊132被篡改的情況下,證明保護(hù)控制模塊120的檢測結(jié)果是正確的,所以可知保護(hù)控制模塊120沒有被篡改。另一方面,在相互監(jiān)視的結(jié)果判斷為更新模塊 132沒有被篡改的情況下,證明保護(hù)控制模塊120的檢測結(jié)果不正確,所以可知保護(hù)控制模塊被篡改。(39)在上述實施方式中,使各更新模塊預(yù)先保持用來將保護(hù)控制模塊120更新的功能,但并不限定于此,也可以將檢測保護(hù)控制模塊的篡改、當(dāng)發(fā)生了更新保護(hù)控制模塊 120的需要時通過取得用來將保護(hù)控制模塊120更新的訪問信息、將保護(hù)控制模塊120更新的功能附加在更新模塊中。此時,除了訪問信息取得密鑰保持部803以外,模塊無效化部 230也保持有用來將保護(hù)控制模塊120更新的訪問信息取得密鑰。此外,訪問控制模塊140 除了各更新模塊的訪問信息以外還保持有保護(hù)控制模塊120的加密訪問信息。說明對更新模塊附加將保護(hù)控制模塊更新的功能的處理。對于與實施方式1相同的處理使用相同的標(biāo)號。在更新處理中,更新用軟件發(fā)布部220將更新用保護(hù)控制模塊121 使用多個密鑰進(jìn)行多重加密,將多重加密更新用保護(hù)控制模塊和第1密鑰發(fā)送給包含在更新模塊組130中的更新模塊131 (S5001到S5009)。包含在更新模塊組130中的更新模塊從更新用軟件發(fā)布部220接收第2密鑰,將多重加密的更新用保護(hù)控制模塊解密,取得更新用保護(hù)控制模塊(S5012到S5016)。在取得更新用保護(hù)控制模塊后,更新模塊132為了將保護(hù)控制模塊120向更新用保護(hù)控制模塊121進(jìn)行更新而對模塊無效化部230進(jìn)行委托,以使其將用來更新保護(hù)控制模塊120的訪問信息取得密鑰送出。進(jìn)而,對訪問控制模塊140進(jìn)行委托,以使其發(fā)送用來將保護(hù)控制模塊120更新的訪問信息。模塊無效化部230如果接受到訪問信息取得密鑰的送出委托,則對更新用軟件發(fā)布部220詢問委托源的更新模塊是否是將保護(hù)控制模塊120更新的更新模塊,在是將保護(hù)控制模塊120更新的更新模塊的情況下,向委托源的更新模塊132送出用來將保護(hù)控制模塊120更新的訪問信息取得密鑰。訪問信息模塊140如果從更新模塊132受理了訪問信息的發(fā)送委托,則將對應(yīng)于保護(hù)控制模塊120的加密訪問信息向更新模塊132發(fā)送。更新模塊132如果從模塊無效化部230接收到訪問信息取得密鑰、從訪問控制模塊140接收到加密訪問信息,則使用接收到的訪問信息取得密鑰,將加密訪問信息解密,取得訪問信息。所取得的訪問信息是用來將保護(hù)控制模塊120更新的專用驅(qū)動程序。更新模塊132利用該驅(qū)動程序?qū)⒈Wo(hù)控制模塊120向更新用保護(hù)控制模塊121進(jìn)行更新。并且, 將更新的結(jié)束向其他更新模塊通知。包含在更新模塊組130中的各更新模塊驗證保護(hù)控制模塊120是否被正確地更新為更新用保護(hù)控制模塊121,在被正確地更新的情況下,生成保護(hù)控制模塊121的MAC值。(40)在上述實施方式中,判斷基準(zhǔn)保存在判斷部210內(nèi)的判斷基準(zhǔn)保存部606中, 但并不限定于此,判斷基準(zhǔn)也可以保存在更新服務(wù)器200的外部的裝置或服務(wù)器中,在將判斷基準(zhǔn)讀入的情況下,也可以每次從外部取得。(41)在上述實施方式中,判斷基準(zhǔn)預(yù)先保存在判斷部210內(nèi)的判斷基準(zhǔn)保存部 606中,但并不限定于此,也可以將預(yù)先保存的判斷基準(zhǔn)在更新服務(wù)器200內(nèi)部中變更,也可以從外部的裝置或服務(wù)器取得判斷基準(zhǔn)而變更。(42)在上述實施方式中,更新模塊具有1個監(jiān)視模式信息,但也可以具有多個監(jiān)視模式信息。此外,在具有多個監(jiān)視模式信息的情況下,既可以由更新模塊組130 —齊切換監(jiān)視模式,也可以是各更新模塊單獨判斷并切換。切換的定時既可以在設(shè)備100內(nèi)判斷,也可以從更新服務(wù)器200通知,也可以將判斷切換定時的算法從更新服務(wù)器200事前通知,使用該算法在設(shè)備100中判斷切換定時。此外,也可以與多個監(jiān)視模式信息一起具有切換監(jiān)視模式的定時及何時使用哪個監(jiān)視模式的信息。由此,在設(shè)備100和更新服務(wù)器200為不能通信的狀況下,也能夠由設(shè)備100單獨實施組合了各種監(jiān)視模式的監(jiān)視。此外,在需要監(jiān)視模式的更新時,只要從更新服務(wù)器200僅進(jìn)行切換的指示就可以,所以能夠減少設(shè)備100 與更新服務(wù)器200的通信量。(43)在上述實施方式中,作為監(jiān)視模式信息的監(jiān)視頻度,由關(guān)于對監(jiān)視對象進(jìn)行監(jiān)視的定時的信息構(gòu)成,但并不限定于此,也可以包括使用多個監(jiān)視模式中的哪個監(jiān)視模
47式的定時、及監(jiān)視模式的選擇算法。由此,即使是相同的監(jiān)視頻度也能夠選擇不同的監(jiān)視模式,攻擊者進(jìn)行的被監(jiān)視的更新模塊的預(yù)測變得困難。(44)在上述實施方式中,監(jiān)視模式主體的構(gòu)造為在開頭作為標(biāo)題信息記述有監(jiān)視模式的數(shù)量和監(jiān)視模式各自的大小、在其以后分別排列有監(jiān)視模式識別符和監(jiān)視模式的組的構(gòu)造,但并不限定于此,也可以單單僅記述1個監(jiān)視模式,也可以將監(jiān)視模式的大小設(shè)為固定長的大小、在監(jiān)視模式主體中不記述大小。此外,也可以為作為標(biāo)題信息而記述監(jiān)視模式的數(shù)量、在其以后分別排列大小和監(jiān)視模式識別符、監(jiān)視模式的組的構(gòu)造。進(jìn)而,多個監(jiān)視模式的排列順序既可以以對應(yīng)于關(guān)于作為監(jiān)視對象的模塊的信息(模塊識別符、存儲器上的位置、大小、地址、文件名等)的順序排列,也可以以對應(yīng)于監(jiān)視模式的大小的順序排列,也可以以對應(yīng)于監(jiān)視模式識別符的順序排列,也可以與這些信息無關(guān)地排列。但是,在作為標(biāo)題信息而記述大小的情況下,大小的順序、及與其對應(yīng)的監(jiān)視模式識別符和監(jiān)視模式的組的順序需要一致。(45)在上述實施方式中,作為追加處理的動作,更新模塊分割部905以與實施追加處理的更新模塊的數(shù)量相同的數(shù)量進(jìn)行分割,但并不限定于此,也可以比實施更新處理的更新模塊的數(shù)量更少地進(jìn)行分割、也可以更多地進(jìn)行分割。例如,在更少的情況下,也可以將分割后的追加用更新模塊(追加用更新模塊部分)的一部分發(fā)送給兩個以上的多個更新模塊,在較多的情況下,也可以是一部分的更新模塊接收多個追加用更新模塊部分。由此,能夠使實施追加處理的更新模塊的數(shù)量與將追加用更新模塊分割的數(shù)量成為不同的數(shù)量。此外,通過將1個追加用更新模塊部分發(fā)送給多個更新模塊,即使在某一個更新模塊被攻擊而變?yōu)椴徽?dāng)?shù)那闆r下,也能夠通過接收到相同的追加用更新模塊部分的更新模塊進(jìn)行追加處理,而繼續(xù)更新模塊的追加處理。進(jìn)而,由于1個更新模塊能夠接收多個追加用更新模塊部分,所以通過將追加用更新模塊細(xì)密地分割、將不連續(xù)的多個追加用更新模塊部分向各個更新模塊發(fā)送,能夠使攻擊者的解析變得困難。進(jìn)而,也可以在更新模塊保持部904中保持預(yù)先分割的追加用更新模塊。如果這樣保持,模塊追加部也不論設(shè)備100內(nèi)部的更新模塊的數(shù)量如何都能夠進(jìn)行追加處理。此外,在預(yù)先決定了分割方法、分割數(shù)量的情況下,也能夠不論實施追加處理的更新模塊的數(shù)量如何都實施追加處理。(46)在上述實施方式中,接收到分割后的追加用更新模塊的各更新模塊分別獨立地實施追加處理,但并不限定于此,也可以是各個更新模塊協(xié)同依次實施追加處理。在此情況下,在圖27的追加處理的序列圖中,當(dāng)在各更新模塊中追加處理結(jié)束時,將“追加處理結(jié)束通知,,僅向模塊追加部通知,但需要通過將該“追加處理結(jié)束通知,,也向其他更新模塊通知、使得其他更新模塊能夠識別出結(jié)束到第幾個的追加處理,或者通過將“追加處理結(jié)束通知”向下個更新模塊通知、使得能夠依次進(jìn)行處理。關(guān)于執(zhí)行追加處理的順序,例如,也可以對各個更新模塊附加進(jìn)行追加處理的優(yōu)先順位、根據(jù)該優(yōu)先順位由更新服務(wù)器200選擇的更新模塊依次執(zhí)行追加處理。此時,優(yōu)先順位既可以在系統(tǒng)設(shè)計時決定,也可以從服務(wù)器事前通知優(yōu)先順位,也可以在設(shè)備內(nèi)每次隨機(jī)地決定。此外,也可以不是優(yōu)先順位,而是當(dāng)將分割后的追加用更新模塊向各更新模塊發(fā)送時將處理順序一起發(fā)送。作為處理順序的決定方法,例如,也可以是更新模塊選擇部 903根據(jù)選擇時的順序決定追加處理的順序,也可以為隨機(jī)的順序,也可以決定順序、以使得被許多模塊監(jiān)視的更新模塊的處理順序靠后。此外,也可以是,在更新模塊分割部905將追加用更新模塊分割時,決定順序,以使得包含安全方面重要的信息的部分的處理順序靠后,也可以決定順序,以使得從大小較大的部分起依次實施追加處理。進(jìn)而,也可以是,不是在設(shè)備100的內(nèi)部中識別追加處理的順序,而是更新服務(wù)器 200識別追加處理的順序,在更新服務(wù)器200中控制對設(shè)備100送出的順序及定時。(47)在上述實施方式中,說明了追加1個更新模塊的處理,但并不限定于此,也可以將多個更新模塊同時追加。圖57是表示將多個更新模塊同時追加時的分割方法的一例的圖。在圖57中,當(dāng)使用3個更新模塊實施追加處理時,首先,將各個追加用更新模塊分割為與要追加處理的更新模塊相同數(shù)量的3個,對其分別附加寫入順序。并且,將追加用更新模塊1的部分1和追加用更新模塊2的部分1向更新模塊131發(fā)送、將追加用更新模塊1 的部分2和追加用更新模塊2的部分2向更新模塊132發(fā)送、將追加用更新模塊1的部分3 和追加用更新模塊2的部分3向更新模塊133發(fā)送。在各個更新模塊中,對應(yīng)于對接收到的追加用更新模塊部分附加的寫入順序?qū)嵤┳芳犹幚怼_@里,將多個追加用更新模塊分別分割為相同的數(shù)量,但并不限定于此,也可以在全部的追加用更新模塊中分割為規(guī)定的數(shù)量。 此外,將多個更新模塊同時追加,但并不限定于此,也可以追加更新模塊和偽模塊。由此,能夠一次追加多個更新模塊,能夠使設(shè)備100的安全強度提高。此外,由于在多個追加用更新模塊的部分為一起的狀態(tài)下從更新服務(wù)器200向設(shè)備100發(fā)送、實施追加處理,所以攻擊者的解析變得困難。進(jìn)而,通過也包括偽模塊,能夠使解析變得更困難。(48)在上述實施方式中,設(shè)備100從更新服務(wù)器200接收追加用更新模塊,但并不限定于此,也可以在初始設(shè)計處理時向各更新模塊預(yù)先保存追加用更新模塊部分。此外,也可以不是追加用更新模塊部分、而是預(yù)先保存生成追加用更新模塊部分的程序,在需要追加處理時各更新模塊生成追加用更新模塊部分。在此情況下,在模塊追加部MO中不需要更新模塊保持部904和更新模塊分割部905,可以選擇進(jìn)行追加處理的更新模塊,僅向所選擇的更新模塊發(fā)送處理開始的指示。(49)在上述實施方式中,當(dāng)設(shè)備100接收到追加用更新模塊時進(jìn)行追加處理,但并不限定于此,也可以是,設(shè)備100預(yù)先從更新服務(wù)器200接收分割后的追加用更新模塊和更新模塊驗證信息,根據(jù)更新模塊組130進(jìn)行的相互監(jiān)視的結(jié)果、及保護(hù)控制模塊120進(jìn)行的更新模塊的檢查結(jié)果,當(dāng)檢測到正常的更新模塊的數(shù)量為過半數(shù)等的規(guī)定的值以下時不與更新服務(wù)器200通信,而使用預(yù)先接收到的追加用更新模塊實施追加處理。由此,即使在設(shè)備100被從網(wǎng)絡(luò)切斷的情況下,也能夠進(jìn)行更新模塊的追加處理,能夠保持安全強度。(50)在上述實施方式中,在監(jiān)視模式更新部250中生成監(jiān)視模式,但并不限定于此,也可以預(yù)先保存監(jiān)視模式。此外,監(jiān)視模式也可以從更新服務(wù)器200的外部的裝置或服務(wù)器給出。由此,能夠減少監(jiān)視模式更新部250的處理,能夠迅速地進(jìn)行監(jiān)視模式的更新處理。(51)在上述實施方式中,在監(jiān)視模式更新部250中,將生成的新監(jiān)視模式向設(shè)備 100送出,但并不限定于此,也可以將監(jiān)視模式生成程序向設(shè)備100送出。此時,接收到監(jiān)視模式生成程序的設(shè)備100執(zhí)行監(jiān)視模式生成程序而生成監(jiān)視模式,按照所生成的監(jiān)視模式進(jìn)行監(jiān)視。由此,能夠根據(jù)設(shè)備100的內(nèi)部狀態(tài)而生成優(yōu)化的監(jiān)視模式,容易檢測到不正當(dāng)?shù)母履K。
(52)在上述實施方式中,作為初始設(shè)計處理的動作,也可以在設(shè)備100的工廠制造時預(yù)先安裝監(jiān)視模式,也可以從更新服務(wù)器200得到。此外,在沒有安裝監(jiān)視模式的情況下,也可以使用默認(rèn)的監(jiān)視模式。默認(rèn)的監(jiān)視模式例如也可以是監(jiān)視全部的其他更新模塊的監(jiān)視模式,或者如實施方式1那樣更新模塊是3個的情況下、如更新模塊131監(jiān)視更新模塊132、更新模塊132監(jiān)視更新模塊133、更新模塊133監(jiān)視更新模塊131那樣的環(huán)狀的監(jiān)視模式。(53)在上述實施方式中,作為初始化設(shè)計處理的動作,也可以是用戶設(shè)定安全級別。也可以是能夠按照所設(shè)定的安全級別而設(shè)定更新模塊的數(shù)量及監(jiān)視的頻度。此外,也可以在用戶設(shè)定的安全級別下更新模塊的數(shù)量不足的情況下從更新服務(wù)器200得到更新模塊。此外,也可以按照安全級別而得到監(jiān)視模式。由此,能夠適當(dāng)?shù)卦O(shè)定安全級別、保持安全強度。(54)在上述實施方式中,作為更新模塊初始化處理的動作,也可以驗證是否有自身的監(jiān)視模式。此外,也可以在不存在監(jiān)視模式的情況下對更新服務(wù)器200進(jìn)行詢問、得到監(jiān)視模式。(55)在上述實施方式中,作為分析/判斷處理的動作,基于檢測處理的結(jié)果判斷為保護(hù)控制模塊120被篡改,進(jìn)行是否恢復(fù)的判斷,但并不限定于此,也可以基于與設(shè)備 100同樣的第三設(shè)備的保護(hù)控制模塊被篡改的信息來判斷是否將保護(hù)控制模塊120恢復(fù), 也可以從外部取得保護(hù)控制模塊危險信息。作為保護(hù)控制模塊危險信息,例如有相同的安裝方法的保護(hù)控制模塊被篡改等的信息。(56)在上述實施方式3中,作為通常時無效化判斷處理的動作,在判斷為更新模塊半數(shù)以上有危險的情況下將更新模塊全體更新,但并不限定于此,也可以將設(shè)備停止。(57)在上述實施方式中,作為通常時無效化判斷處理的動作,在判斷為更新模塊半數(shù)以上有危險的情況下將更新模塊組130全體更新,但并不限定于此,也可以對有危險的更新模塊的全部進(jìn)行無效化處理,在無效化處理完成后進(jìn)行更新模塊的追加處理。(58)在上述實施方式中,作為追加判斷處理的動作,在更新模塊是規(guī)定值以下的情況下進(jìn)行追加處理,但并不限定于此,也可以判斷是否進(jìn)行了無效化處理,在進(jìn)行了無效化處理的情況下進(jìn)行追加處理。此外,追加處理并不限于1次,也可以進(jìn)行多次。進(jìn)而,也可以將規(guī)定值增加,使其比初始的更新模塊的數(shù)量多。此外,也可以不是實施追加處理而是將更新模塊全體更新。由此,能夠?qū)⒏履K數(shù)維持為一定數(shù)量,能夠保持設(shè)備100內(nèi)的安全強度。(59)在上述實施方式中,作為監(jiān)視模式更新判斷處理的動作,通過由無效化處理或追加處理變更更新模塊的結(jié)構(gòu),判斷是否需要進(jìn)行監(jiān)視模式的更新,但并不限定于此,也可以通過經(jīng)過了某一定時間而進(jìn)行監(jiān)視模式的更新的判斷,也可以根據(jù)通常時和恢復(fù)時那樣的設(shè)備100內(nèi)部的狀態(tài)來進(jìn)行監(jiān)視模式的更新的判斷。此外,也可以得到第三設(shè)備的監(jiān)視模式被更新的信息、進(jìn)行監(jiān)視模式的更新的判斷,也可以從更新服務(wù)器200的外部的裝置或服務(wù)器得到信息、判斷監(jiān)視模式的更新。進(jìn)而,也可以在相互監(jiān)視的結(jié)果判明了不正當(dāng)?shù)母履K的情況下判斷為將監(jiān)視模式更新。由此,在進(jìn)行攻擊者的攻擊前、或剛剛攻擊之后能夠進(jìn)行監(jiān)視模式的更新,所以能夠使攻擊變得困難。(60)在上述實施方式中,作為追加處理的動作,接收到更新模塊的驗證信息的更新模塊實施追加用更新模塊的驗證(S3316),模塊追加部MO的控制部960根據(jù)驗證結(jié)果判斷追加用更新模塊是否被正確地追加(S3318),但并不限定于此,也可以是,模塊追加部 240的控制部960將與追加的更新模塊的驗證信息不同的驗證信息發(fā)送給更新模塊,通過用不同的驗證信息驗證,確認(rèn)從更新模塊通知的驗證結(jié)果不正確,由此來驗證追加用更新模塊的驗證是否被正確地實施。此外,也可以是,更新模塊分割部905將錯誤的更新模塊分割,向更新模塊發(fā)送,通過控制部960發(fā)送正確的更新模塊的驗證信息,確認(rèn)從更新模塊通知的驗證結(jié)果不正確,由此驗證追加用更新模塊的驗證是否被正確地實施。由此,能夠進(jìn)行追加用更新模塊的驗證(S3316)是否正確地動作確認(rèn),通過驗證功能正確地動作,能夠防止對設(shè)備100內(nèi)追加不正當(dāng)?shù)母履K。(61)在上述實施方式中,作為通常時無效化判斷處理的動作,在判斷為更新模塊半數(shù)以上有危險的情況下,將更新模塊全體更新,但并不限定于此,也可以判斷是否超過監(jiān)視功能的極限,在超過的情況下將更新模塊全體更新。作為超過監(jiān)視功能的極限的情況,例如也可以在超過半數(shù)以上的規(guī)定的閾值的情況下判斷為超過監(jiān)視功能的極限。此外,在存在不具有監(jiān)視功能的更新模塊的情況下,在雖然在更新模塊整體的數(shù)量中是半數(shù)以下、但具有監(jiān)視功能的更新模塊半數(shù)以上有危險的情況下判斷為超過監(jiān)視功能的極限。(62)在上述實施方式中,作為監(jiān)視模式更新判斷處理的動作,通過變更無效化處理或追加處理帶來的更新模塊的結(jié)構(gòu),判斷是否需要監(jiān)視模式的更新,但并不限定于此,也可以在相互監(jiān)視處理中、在檢測到任一個的不正當(dāng)?shù)那闆r下判斷為將監(jiān)視模式更新。由此, 能夠?qū)δ膫€更新模塊為不正當(dāng)、以及是怎樣的不正當(dāng)?shù)冗M(jìn)行詳細(xì)的不正當(dāng)?shù)拇_認(rèn)。(63)在上述實施方式中,作為相互監(jiān)視處理的動作,更新模塊組130內(nèi)的更新模塊131 133分別對其他更新模塊實施篡改檢測的處理,在由攻擊者篡改的情況下檢測該情況,但并不限定于此,也可以根據(jù)被篡改的位置及量的程度來檢測不正當(dāng),也可以檢查更新模塊的日志來檢測不正當(dāng)。(64)在上述實施方式中,作為相互認(rèn)證處理的動作,判斷返回正確的應(yīng)答數(shù)據(jù)的更新模塊的數(shù)量,如果不到恢復(fù)處理所需要的更新模塊的數(shù)量則轉(zhuǎn)移到恢復(fù)處理,但此時也可以追加將沒有返回正確的應(yīng)答數(shù)據(jù)的更新模塊存儲的功能。沒有返回正確的應(yīng)答數(shù)據(jù)的更新模塊有可能被篡改,通過存儲,選擇用于更新處理的更新模塊(S5006),但不選擇沒有返回正確的應(yīng)答數(shù)據(jù)的更新模塊,由此能夠防止沒有返回正確的應(yīng)答數(shù)據(jù)的更新模塊被篡改、而不能正當(dāng)?shù)剡M(jìn)行更新處理。此外,也可以更新為將沒有返回正確的應(yīng)答數(shù)據(jù)的更新模塊排除的監(jiān)視模式。由此,在恢復(fù)時相互監(jiān)視處理的相互監(jiān)視處理(S5101)的動作中,能夠僅由返回了正確的應(yīng)答數(shù)據(jù)的更新模塊組進(jìn)行相互監(jiān)視。(65)在本發(fā)明的實施方式2中,作為監(jiān)視模式的更新處理的動作,監(jiān)視模式分割部1004將新監(jiān)視模式(整體)分割,發(fā)送給各個更新模塊,但并不限定于此,也可以將新監(jiān)視模式(整體)發(fā)送給設(shè)備100,更新模塊從新監(jiān)視模式(整體)取得自身的監(jiān)視模式并更新。(66)在本發(fā)明的實施方式2中,作為監(jiān)視模式的更新處理的動作,驗證記述在更新后的新監(jiān)視模式主體中的更新模塊的監(jiān)視模式主體,但也可以驗證全部的更新模塊,也可以驗證在設(shè)備100內(nèi)預(yù)先決定的更新模塊,也可以是更新服務(wù)器200通知驗證哪個更新模塊,如果是驗證全部的更新模塊,則也可以隨機(jī)地決定。
(67)在本發(fā)明的實施方式2中,作為監(jiān)視模式的更新處理的動作,監(jiān)視模式分割部1004將新監(jiān)視模式(整體)分割而發(fā)送給各個更新模塊,但并不限定于此。例如,也可以如以下這樣取得監(jiān)視模式。首先,更新服務(wù)器200對某個更新模塊發(fā)送新監(jiān)視模式(整體),接收到新監(jiān)視模式(整體)的更新模塊僅取得新監(jiān)視模式(整體)中的自身的監(jiān)視模式,轉(zhuǎn)送給其他更新模塊。進(jìn)而,接收到新監(jiān)視模式(整體)的其他更新模塊僅取得新監(jiān)視模式(整體)中的自身的監(jiān)視模式,向沒有取得新監(jiān)視模式的其他更新模塊發(fā)送。通過將該動作對全部的更新模塊重復(fù),各更新模塊能夠取得自身的監(jiān)視模式。此外,也可以是,更新服務(wù)器以僅各個更新模塊能夠進(jìn)行解密的方式,將有關(guān)相應(yīng)的更新模塊的新監(jiān)視模式加密,將加密新監(jiān)視模式(整體)向某個更新模塊發(fā)送。接收到新監(jiān)視模式(整體)的更新模塊通過僅將自身的新監(jiān)視模式解密而得到自身的監(jiān)視模式, 將變舊的監(jiān)視模式更新。(68)在本發(fā)明的實施方式3中,作為初始設(shè)計處理的動作,保持相鄰接的更新模塊的共享信息,但并不限定于此,也可以不僅是保持相鄰接的更新模塊的共享信息、還保持相鄰接的更新模塊所鄰接的自身以外的更新模塊的共享信息。具體而言,在更新模塊A的一側(cè)相鄰接的更新模塊B所鄰接的更新模塊C的共享信息也由更新模塊A保持。在此情況下,更新模塊A包括自身的共享信息而保持4個共享信息。此外,作為通常時無效化判斷處理的動作,即使判斷為相鄰接的兩相鄰的更新模塊有危險,也不需要將更新模塊全體更新, 而通過對有危險的更新模塊進(jìn)行無效化處理、進(jìn)行專利文獻(xiàn)2的退出處理,來進(jìn)行共享信息的相互保持。但是,在再加密處理中,在加密解密密鑰的復(fù)原的動作中,進(jìn)行沒有危險的更新模塊具有的共享信息是否正確的專利文獻(xiàn)2的共享信息的驗證處理。共享信息的驗證處理的詳細(xì)的方法在專利文獻(xiàn)2的57頁中已詳細(xì)地說明,所以這里的說明省略。通過上述的處理,即使鄰接于更新模塊C的更新模塊有危險,也由于更新模塊A保持著更新模塊C的共享信息,所以能夠進(jìn)行專利文獻(xiàn)2的共享信息的驗證處理,驗證更新模塊C的共享信息的正當(dāng)性,能夠防止在加密解密密鑰的復(fù)原處理(S5204)中不能正確地復(fù)原。(69)在本發(fā)明的實施方式3中,作為通常時無效化判斷處理的動作,在判斷為相鄰接的更新模塊有危險的情況下(S320B)將更新模塊全體更新,但并不限定于此,也可以進(jìn)行有危險的更新模塊的無效化處理、而不將更新模塊全體更新。但是,如圖58所示,由于其他更新模塊不保持更新模塊131所保持的共享信息1,所以需要追加處理。使用圖58 說明該情況下的追加判斷處理。相鄰接的更新模塊有危險,判斷是否僅進(jìn)行了無效化處理 (S330A),在無效化的情況下進(jìn)行追加處理。在將鄰接于更新模塊131的更新模塊132和更新模塊137無效化的情況下,保持共享信息1的更新模塊僅為更新模塊131,接著在更新模塊131被攻擊的情況下,不再能夠進(jìn)行加密解密密鑰的復(fù)原。在此情況下,通過追加更新模塊、使追加的更新模塊保持共享信息1,即使更新模塊131被攻擊,也能夠避免不能將加密解密密鑰復(fù)原的情況。這里,也可以不是使追加的更新模塊保持共享信息1,而是保護(hù)控制模塊120將更新模塊全體的共享信息更新。將更新模塊全體的共享信息更新的方法與通常時無效化判斷處理中的更新模塊全體的共享信息的更新方法是同樣的,所以這里省略。通過如上述那樣,能夠?qū)⒐蚕硇畔?由多個更新模塊保持,所以即使在更新模塊131被篡改的情況下,也能夠防止不能進(jìn)行加密解密密鑰的復(fù)原。(70)在本發(fā)明的實施方式3中,作為通常時無效化判斷處理的動作,也可以是,在鄰接于某個更新模塊13A的更新模塊的某一個(這里是更新模塊1 有危險的情況下,不進(jìn)行專利文獻(xiàn)2的退出處理而進(jìn)行更新模塊13B的無效化處理。由此,由于更新模塊13A 的共享信息A由某一方保持,所以不需要追加處理,通過不進(jìn)行追加處理,能夠進(jìn)行多個更新模塊繼續(xù)是否不進(jìn)行不正當(dāng)動作的驗證等其他處理。此外,也可以是,保護(hù)控制模塊120在驗證應(yīng)用(110、111)是否沒有被篡改后,進(jìn)行更新模塊的追加處理,以使其鄰接于更新模塊13A。由此,在結(jié)束驗證本來應(yīng)保護(hù)的應(yīng)用是否沒有被篡改的處理后,進(jìn)行鄰接于更新模塊13A的更新模塊的追加,所以使鄰接于上述一側(cè)的更新模塊的追加作業(yè)優(yōu)先,以使得即使不追加相鄰接的更新模塊也能夠?qū)⑸鲜鲆?guī)定的解密密鑰復(fù)原,能夠防止在上述追加作業(yè)的期間中上述規(guī)定的應(yīng)用被攻擊。(71)在本發(fā)明的實施方式3中,作為初始設(shè)計處理的動作,全部的更新模塊保持相鄰接的更新模塊的共享信息,但并不限定于此,也可以是,某個更新模塊的共享信息由相鄰接的更新模塊和另外的其他更新模塊保持。以下,使用圖59具體地說明。在實施方式3 中,由于保持相鄰接的更新模塊的共享信息,所以共享信息1由更新模塊131、132、137保持。因此,作為通常時無效化判斷處理及恢復(fù)時判斷處理的動作,在更新模塊131、132、137 的連續(xù)3個有危險的情況下,不再能夠?qū)⒐蚕硇畔?復(fù)原,所以進(jìn)行將設(shè)備停止等的處理。 如圖59那樣,通過更新模塊131、132、133、137保持共享信息1,即使在通常時無效化判斷處理及恢復(fù)時判斷處理中更新模塊131、132、137的連續(xù)3個有危險的情況下,也不能將共享信息1復(fù)原,所以關(guān)于共享信息1,作為通常時無效化判斷處理及恢復(fù)時判斷處理的動作, 為是否連續(xù)4個有危險的判斷。但是,關(guān)于從共享信息2到共享信息7,由于僅由相鄰接的更新模塊保持,所以為是否連續(xù)3個有危險的判斷。這樣,在相互保持各共享信息的數(shù)量不同的情況下,需要按照每個共享信息考慮相互保持的數(shù)量來判斷。在實施方式3中,由于共享信息的相互保持的數(shù)量都是3,所以不需要考慮按照每個共享信息的判斷。(72)在本發(fā)明的實施方式3中,作為初始設(shè)計處理的動作,全部的更新模塊同樣地保持保護(hù)控制模塊120的加密解密密鑰,但并不限定于此,也可以是,將加密解密密鑰分割,對分割后的加密解密密鑰的1個使用秘密共享法生成共享信息。作為具體的例子,使用圖60進(jìn)行說明。保護(hù)控制模塊120將加密解密密鑰分割為分割密鑰1和分割密鑰2的兩個。對于各個分割密鑰,與初始設(shè)計處理同樣使用秘密共享法生成共享信息,以使分割密鑰 1為共享信息1到共享信息5、分割密鑰2為共享信息6到共享信息10。將分割密鑰1的共享信息發(fā)送給更新模塊1301到1305,將分割密鑰2的共享信息發(fā)送給更新模塊1306到 1310。在加密解密密鑰的復(fù)原中,從各更新模塊接收共享信息,將分割密鑰復(fù)原,從復(fù)原的分割密鑰復(fù)原加密解密密鑰。此外,在通常時無效化判斷處理及恢復(fù)時判斷處理的動作中, 在具有對于分割密鑰的共享信息的更新模塊的結(jié)構(gòu)中,進(jìn)行是否連續(xù)3個更新模塊有危險的判斷。此外,在無效化處理及追加處理中使用的專利文獻(xiàn)2的退出處理及追加處理,通過具有分割密鑰的共享信息的更新模塊的結(jié)構(gòu)進(jìn)行。(73)在本發(fā)明的實施方式3中,保護(hù)控制模塊120生成加密解密密鑰的共享信息的配置信息,但并不限定于此,也可以是更新服務(wù)器200生成配置信息而發(fā)送給保護(hù)控制模塊120,也可以從外部的裝置或服務(wù)器得到。此外,也可以從更新服務(wù)器200輸入共享信息的相互保持的數(shù)量。此時,通過相互保持的數(shù)量,決定在更新服務(wù)器200內(nèi)判斷在通常時無效化判斷處理及恢復(fù)時判斷處理的更新模塊中的更新模塊的結(jié)構(gòu)中連續(xù)幾個有危險的數(shù)量。(74)在本發(fā)明的實施方式3中,保護(hù)控制模塊120存儲有加密解密密鑰的共享信息的配置信息,但并不限定于此,也可以是,保護(hù)控制模塊120將共享信息的配置信息發(fā)送給更新服務(wù)器200、由更新服務(wù)器200存儲,也可以是更新服務(wù)器200對更新模塊組130發(fā)送通知委托、從更新模塊組130接收,也可以從更新服務(wù)器200的外部的裝置或服務(wù)器得到。(75)在實施方式2中,在S8101中接收到新監(jiān)視模式的各個更新模塊使用監(jiān)視模式更新部309將自身的監(jiān)視模式信息向接收到的新監(jiān)視模式進(jìn)行更新,但也可以保持更新前的監(jiān)視模式。并且,在S8102中,在監(jiān)視模式更新部250從全部更新模塊接受到監(jiān)視模式的反映結(jié)束的通知的情況下,即在全部的更新模式的更新完成的情況下,監(jiān)視模式更新部 250對各更新模塊發(fā)送更新前的監(jiān)視模式丟棄的指示。并且,各更新模塊在接受到監(jiān)視模式丟棄的指示的情況下,將更新前的監(jiān)視模式丟棄。在全部的更新模式的更新沒有完成的情況下,將新監(jiān)視模式丟棄。這里,全部的監(jiān)視模式的更新是否完成也可以在監(jiān)視模式更新部250側(cè)進(jìn)行,也可以在更新模塊側(cè)進(jìn)行。如果是由監(jiān)視模式更新部250進(jìn)行的情況,則在監(jiān)視模式更新部 250將新監(jiān)視模式發(fā)送給各更新模塊后一定時間內(nèi)沒有從全部更新模塊接受到反映結(jié)束的通知的情況下,判斷為全部的更新模式的更新沒有完成。在此情況下,監(jiān)視模式更新部250 對各更新模塊指示,以使其將更新前的監(jiān)視模式丟棄。此外,在更新模塊側(cè)進(jìn)行全部的監(jiān)視模式的更新是否完成的情況下,監(jiān)視模式更新部250在從全部更新模塊接受到反映結(jié)束的通知時,對各更新模塊通知全部的更新模式的更新完成的消息。各更新模塊在接受到新監(jiān)視模式后一定時間內(nèi)接受到全部的監(jiān)視模式的更新完成的通知的情況下將更新前的監(jiān)視模式丟棄,在沒有接受到全部的監(jiān)視模式的更新完成的通知的情況下將新監(jiān)視模式丟棄。(76)在上述實施方式1中,各更新模塊使用保存在MAC值表中的MAC值檢測其他更新模塊的篡改的有無。這里,在MAC值表自身被篡改的情況下,有可能不能正確地實施更新模塊的篡改檢測。例如,即使是更新模塊被篡改的情況,在保存在MAC值表中的MAC值也被相同的攻擊者篡改的情況下,即使更新模塊被篡改,也檢測為沒有篡改。此外,在上述實施方式1中,各更新模塊使用保存在驗證值列表中的驗證值來驗證是否已將監(jiān)視模式及監(jiān)視頻度正確地更新。這里,在驗證值列表自身被篡改的情況下,有可能不能正確地實施監(jiān)視模式及監(jiān)視頻度的驗證。所以,為了應(yīng)對這些問題,也可以是,在實施方式1中,各更新模塊安裝用來保護(hù) MAC值表及驗證值列表的保護(hù)程序,保護(hù)MAC值表及驗證值列表。在此情況下,也可以是,在相互監(jiān)視中,各更新模塊相互進(jìn)行安裝在各更新模塊中的保護(hù)程序的篡改檢測。并且,在沒有檢測到保護(hù)程序的篡改的情況下,在該更新模塊中,視為MAC值表及驗證值列表沒有被篡改,在檢測到保護(hù)程序的篡改的情況下,在該更新模塊中,可視為MAC 值表及驗證值列表被篡改。此外,用來保護(hù)MAC值表及驗證值列表的保護(hù)程序既可以是例如將MAC值表及驗證值列表加密/解密的程序,也可以是簽名生成程序。此時,也可以對MAC值表及驗證值列表附加填充數(shù)據(jù)(padding)。由此,通過在解密時或簽名驗證時判斷填充數(shù)據(jù)是否正確,能夠檢測MAC值表及驗證值列表的篡改。此外,也可以是,通過預(yù)先生成MAC值表自身的MAC值來檢測MAC值表的篡改。此時,也可以對用來驗證MAC值的密鑰實施難破解化。同樣,也可以通過預(yù)先生成驗證值列表的MAC值來對驗證值列表的篡改進(jìn)行驗證。MAC值表及驗證值列表的驗證既可以定期地進(jìn)行,也可以不定期地進(jìn)行。在不定期地進(jìn)行的情況下,例如也可以在更新模塊組130進(jìn)行的相互監(jiān)視處理之前進(jìn)行。(77)上述的各模塊具體而言,既可以是分別單獨的計算機(jī)程序,也可以是裝入在操作系統(tǒng)中的模塊,也可以是被操作系統(tǒng)調(diào)用的驅(qū)動程序,也可以是應(yīng)用程序。(78)上述的各裝置具體而言是由微處理器、ROM、RAM、硬盤單元、顯示器單元、鍵盤、鼠標(biāo)等構(gòu)成的計算機(jī)系統(tǒng)。在上述RAM或硬盤單元中存儲有計算機(jī)程序。通過上述微處理器按照上述計算機(jī)程序動作,各裝置實現(xiàn)其功能。這里,計算機(jī)程序是為了達(dá)到規(guī)定的功能、將表示對計算機(jī)的指令的命令代碼組合多個而構(gòu)成的。(79)構(gòu)成上述各裝置的構(gòu)成要素的一部分或全部也可以由1個系統(tǒng)LSI (Large Scale htegration:大規(guī)模集成電路)構(gòu)成。系統(tǒng)LSI是將多個構(gòu)成部分集成在1個芯片上而制造的超多功能LSI,具體而言,是包括微處理器、R0M、RAM等而構(gòu)成的計算機(jī)系統(tǒng)。在上述RAM中存儲有計算機(jī)程序。通過上述微處理器按照上述計算機(jī)程序動作,系統(tǒng)LSI實現(xiàn)其功能。此外,構(gòu)成上述各裝置的構(gòu)成單元的各部分既可以單獨單芯片化,也可以包括一部分或全部而單芯片化。此外,這里設(shè)為系統(tǒng)LSI,但根據(jù)集成度的差異,也有稱作IC、LSI、超級(super) LSI、特級(ultra)LSI的情況。此外,集成電路化的方法并不限定于LSI,也可以由專用電路或通用處理器實現(xiàn)。也可以利用在LSI制造后能夠編程的FPGA(Field Programmable Gate Array 現(xiàn)場可編程門陣列)、或能夠再構(gòu)成LSI內(nèi)部的電路單元的連接及設(shè)定的可重構(gòu)處理器。進(jìn)而,如果通過半導(dǎo)體技術(shù)的進(jìn)步或派生的其他技術(shù)出現(xiàn)代替LSI的集成電路化的技術(shù),則當(dāng)然也可以使用該技術(shù)進(jìn)行功能塊的集成化。有可能是生物技術(shù)的應(yīng)用等。(80)構(gòu)成上述各裝置的構(gòu)成要素的一部分或全部也可以由相對于各裝置可拆裝的IC卡或單體的模塊構(gòu)成。上述IC卡或上述模塊是由微處理器、ROM、RAM等構(gòu)成的計算機(jī)系統(tǒng)。上述IC卡或上述模塊也可以包括上述超多功能LSI。通過微處理器按照計算機(jī)程序動作,上述IC卡或上述模塊實現(xiàn)其功能。該IC卡或該模塊也可以具有耐篡改性。(81)本發(fā)明也可以是上述所示的方法。此外,也可以是通過計算機(jī)實現(xiàn)這些方法的計算機(jī)程序,也可以是由上述計算機(jī)程序構(gòu)成的數(shù)字信號。此外,本發(fā)明也可以是將上述計算機(jī)程序或上述數(shù)字信號記錄到計算機(jī)可讀取的記錄介質(zhì)——例如軟盤、硬盤、CD-ROM、M0、DVD、DVD-ROM、DVD-RAM、BD (Blu-ray Disc 藍(lán)光光盤)、半導(dǎo)體存儲器等中的形態(tài)。此外,也可以是記錄在這些記錄介質(zhì)中的上述數(shù)字信號。此外,本發(fā)明也可以是將上述計算機(jī)程序或上述數(shù)字信號經(jīng)由電通信線路、無線或有線通信線路、以因特網(wǎng)為代表的網(wǎng)絡(luò)、數(shù)據(jù)廣播等傳送的形態(tài)。此外,本發(fā)明也可以是具備微處理器和存儲器的計算機(jī)系統(tǒng),上述存儲器存儲有上述計算機(jī)程序,上述微處理器按照上述計算機(jī)程序動作。此外,也可以通過將上述程序或上述數(shù)字信號記錄到上述記錄介質(zhì)中并移送、或通過將上述程序或上述數(shù)字信號經(jīng)由上述網(wǎng)絡(luò)等移送,由獨立的其他計算機(jī)系統(tǒng)實施。(82)也可以將上述實施方式及上述變形例分別組合。產(chǎn)業(yè)上的可利用性有關(guān)本發(fā)明的更新系統(tǒng)、程序執(zhí)行裝置等由于能夠相互監(jiān)視所執(zhí)行的各模塊的不正當(dāng)動作、將系統(tǒng)的安全強度維持得較高,所以對于利用安全的應(yīng)用的網(wǎng)絡(luò)家電等的民生設(shè)備是適用的。有關(guān)本發(fā)明的監(jiān)視系統(tǒng)、程序執(zhí)行裝置等由經(jīng)營民生設(shè)備的業(yè)者進(jìn)行制造、 銷售等。標(biāo)號說明10軟件更新系統(tǒng)100 設(shè)備110、111 應(yīng)用120保護(hù)控制模塊121新保護(hù)控制模塊130更新模塊組131、132、133、134、135、136、137 更新模塊
0693]140訪問控制模塊0694]150OS0695]160引導(dǎo)裝載器0696]171CPU0697]172EEPROM0698]173RAM0699]174NIC0700]200更新服務(wù)器0701]210判斷部0702]220更新用軟件發(fā)布部0703]230模塊無效化部0704]240模塊追加部0705]250監(jiān)視模式更新部0706]301接收部0707]302發(fā)送部0708]303控制部0709]304更新部0710]305驗證部0711]306MAC值生成部0712]307MAC值表更新部0713]308監(jiān)視模式取得部0714]309監(jiān)視模式更新部
310共享信息保持部311監(jiān)視模式驗證部312模塊功能通知部313功能信息保持部401接收部402發(fā)送部403控制部404解密裝載部405篡改檢測部406分析工具檢測部407加密解密密鑰保持部408加密解密密鑰生成部409加密解密密鑰共享部410證書生成部411加密解密密鑰復(fù)原部501接收部502發(fā)送部503訪問信息保持部601受理部602指示部603指示生成部604不正當(dāng)模塊確定部605判斷基準(zhǔn)讀入部606判斷基準(zhǔn)保存部701接收部702發(fā)送部703加密密鑰生成部704加密處理部705認(rèn)證部706更新模塊選擇部707控制部708證書生成部709簽名私鑰保持部710更新用軟件保持部711加密密鑰保持部801接收部802發(fā)送部803訪問信息取得密鑰保持部804更新模塊選擇部
57
901接收部902發(fā)送部903更新模塊選擇部904更新模塊保持部905更新模塊分割部906控制部1001 接收部1002 發(fā)送部1003監(jiān)視模式生成部1004監(jiān)視模式分割部1005 控制部1006功能信息取得部1007更新完成判斷部1301、1302、1303、1304、1305、1306、1307、1308、1309、1310 更新模塊
權(quán)利要求
1.一種監(jiān)視系統(tǒng),由程序執(zhí)行裝置和服務(wù)器裝置構(gòu)成,其特征在于, 上述程序執(zhí)行裝置具備多個模塊;上述多個模塊中的至少兩個是監(jiān)視其他模塊的不正當(dāng)動作的監(jiān)視模塊; 上述監(jiān)視模塊分別具備保持機(jī)構(gòu),保持表示作為不正當(dāng)動作的監(jiān)視對象的1個以上的模塊的監(jiān)視目標(biāo)信息; 監(jiān)視機(jī)構(gòu),監(jiān)視由上述監(jiān)視目標(biāo)信息表示的模塊的不正當(dāng)動作; 發(fā)送機(jī)構(gòu),將上述監(jiān)視的結(jié)果發(fā)送給服務(wù)器裝置;以及更新機(jī)構(gòu),在從上述服務(wù)器裝置取得了更新用的新監(jiān)視目標(biāo)信息的情況下,將由上述保持機(jī)構(gòu)保持的監(jiān)視目標(biāo)信息更新為該新監(jiān)視目標(biāo)信息; 上述服務(wù)器裝置具備收集機(jī)構(gòu),收集上述監(jiān)視模塊各自進(jìn)行的上述監(jiān)視的結(jié)果;確定機(jī)構(gòu),基于上述收集到的全部監(jiān)視結(jié)果,確定全部模塊之中的進(jìn)行不正當(dāng)動作的模塊;以及發(fā)送機(jī)構(gòu),保持有與上述監(jiān)視模塊分別保持的監(jiān)視目標(biāo)信息相同的監(jiān)視目標(biāo)信息,對監(jiān)視目標(biāo)信息進(jìn)行重構(gòu),以使得從全部模塊中除去上述確定的模塊以外的其余模塊分別被至少1個監(jiān)視模塊監(jiān)視,對通過該重構(gòu)而在監(jiān)視目標(biāo)信息中發(fā)生變更的監(jiān)視模塊發(fā)送相應(yīng)的變更后的新監(jiān)視目標(biāo)信息。
2.一種程序執(zhí)行裝置,具備監(jiān)視其他模塊的多個監(jiān)視模塊,其特征在于, 第1監(jiān)視模塊具備保持機(jī)構(gòu),保持表示作為監(jiān)視對象的1個以上的監(jiān)視模塊的監(jiān)視目標(biāo)信息;以及更新機(jī)構(gòu),在從服務(wù)器裝置取得了更新用的新監(jiān)視目標(biāo)信息的情況下,將由上述保持機(jī)構(gòu)保持的監(jiān)視目標(biāo)信息更新為該新監(jiān)視目標(biāo)信息; 第2監(jiān)視模塊具備確認(rèn)機(jī)構(gòu),在由上述第1監(jiān)視模塊進(jìn)行了監(jiān)視目標(biāo)信息的更新的情況下,確認(rèn)是否正常地進(jìn)行了該更新;以及發(fā)送機(jī)構(gòu),將上述確認(rèn)的結(jié)果發(fā)送給上述服務(wù)器裝置。
3.如權(quán)利要求2所述的程序執(zhí)行裝置,其特征在于,上述確認(rèn)機(jī)構(gòu)預(yù)先保持有應(yīng)根據(jù)上述第1監(jiān)視模塊所保持的監(jiān)視目標(biāo)信息而生成的摘要值的期待值,根據(jù)保持在上述第1監(jiān)視模塊的保持機(jī)構(gòu)中的監(jiān)視目標(biāo)信息來生成摘要值,通過將所生成的摘要值與上述期待值比較來進(jìn)行上述確認(rèn)。
4.如權(quán)利要求3所述的程序執(zhí)行裝置,其特征在于,上述第1監(jiān)視模塊在取得了上述新監(jiān)視目標(biāo)信息的情況下,將由更新前的監(jiān)視目標(biāo)信息表示的模塊的監(jiān)視中止,在從上述服務(wù)器裝置接受到基于上述確認(rèn)結(jié)果的發(fā)送的執(zhí)行指示的情況下,監(jiān)視由上述新監(jiān)視目標(biāo)信息表示的模塊。
5.如權(quán)利要求4所述的程序執(zhí)行裝置,其特征在于,上述第1監(jiān)視模塊還在上述更新之前將監(jiān)視目標(biāo)信息備份,在接受到上述執(zhí)行指示的情況下將上述備份丟棄。
6.如權(quán)利要求5所述的程序執(zhí)行裝置,其特征在于,上述第1監(jiān)視模塊在沒有接受到上述執(zhí)行指示的情況下,使用上述備份進(jìn)行回滾處理。
7.如權(quán)利要求2所述的程序執(zhí)行裝置,其特征在于, 上述第2監(jiān)視模塊還具備保持機(jī)構(gòu),保持表示作為監(jiān)視對象的1個以上的模塊的監(jiān)視目標(biāo)信息;以及更新機(jī)構(gòu),在從上述服務(wù)器裝置取得了更新用的新監(jiān)視目標(biāo)信息的情況下,將上述第2 監(jiān)視模塊的保持機(jī)構(gòu)所保持的監(jiān)視目標(biāo)信息更新為該新監(jiān)視目標(biāo)信息; 上述第1監(jiān)視模塊還具備確認(rèn)機(jī)構(gòu),在由上述第2監(jiān)視模塊的更新機(jī)構(gòu)進(jìn)行了監(jiān)視目標(biāo)信息的更新的情況下, 確認(rèn)是否正常地進(jìn)行了該更新;以及發(fā)送機(jī)構(gòu),將上述確認(rèn)的結(jié)果發(fā)送給上述服務(wù)器裝置。
8.如權(quán)利要求7所述的程序執(zhí)行裝置,其特征在于,上述新監(jiān)視目標(biāo)信息構(gòu)成為,使各監(jiān)視模塊被至少1個其他監(jiān)視模塊監(jiān)視。
9.如權(quán)利要求2所述的程序執(zhí)行裝置,其特征在于,上述更新機(jī)構(gòu)取得綜合監(jiān)視目標(biāo)信息,該綜合監(jiān)視目標(biāo)信息包括關(guān)于1個以上的監(jiān)視模塊中的各個監(jiān)視模塊的更新用的監(jiān)視目標(biāo)信息,從上述綜合監(jiān)視目標(biāo)信息中提取本監(jiān)視模塊應(yīng)保持的更新用的監(jiān)視目標(biāo)信息來取得該信息。
10.一種監(jiān)視程序,具備監(jiān)視其他模塊的多個監(jiān)視模塊,其特征在于, 第1監(jiān)視模塊具備保持步驟,保持表示作為監(jiān)視對象的1個以上的監(jiān)視模塊的監(jiān)視目標(biāo)信息;以及更新步驟,在從服務(wù)器裝置取得了更新用的新監(jiān)視目標(biāo)信息的情況下,將由上述保持機(jī)構(gòu)所保持的監(jiān)視目標(biāo)信息更新為該新監(jiān)視目標(biāo)信息; 第2監(jiān)視模塊具備確認(rèn)步驟,在由上述第1監(jiān)視模塊進(jìn)行了監(jiān)視目標(biāo)信息的更新的情況下,確認(rèn)是否正常地進(jìn)行了該更新;以及發(fā)送步驟,將上述確認(rèn)的結(jié)果發(fā)送給上述服務(wù)器裝置。
11.一種記錄介質(zhì),是存儲監(jiān)視程序的計算機(jī)可讀取的記錄介質(zhì),其特征在于, 上述監(jiān)視程序具備監(jiān)視其他模塊的多個監(jiān)視模塊;第1監(jiān)視模塊具備保持步驟,保持表示作為監(jiān)視對象的1個以上的監(jiān)視模塊的監(jiān)視目標(biāo)信息;以及更新步驟,在從服務(wù)器裝置取得了更新用的新監(jiān)視目標(biāo)信息的情況下,將由上述保持機(jī)構(gòu)所保持的監(jiān)視目標(biāo)信息更新為該新監(jiān)視目標(biāo)信息; 第2監(jiān)視模塊具備確認(rèn)步驟,在由上述第1監(jiān)視模塊進(jìn)行了監(jiān)視目標(biāo)信息的更新的情況下,確認(rèn)是否正常地進(jìn)行了該更新;以及發(fā)送步驟,將上述確認(rèn)的結(jié)果發(fā)送給上述服務(wù)器裝置。
12.—種集成電路,具備監(jiān)視其他模塊的多個監(jiān)視模塊,其特征在于, 第1監(jiān)視模塊具備保持機(jī)構(gòu),保持表示作為監(jiān)視對象的1個以上的監(jiān)視模塊的監(jiān)視目標(biāo)信息;以及更新機(jī)構(gòu),在從服務(wù)器裝置取得了更新用的新監(jiān)視目標(biāo)信息的情況下,將由上述保持機(jī)構(gòu)保持的監(jiān)視目標(biāo)信息更新為該新監(jiān)視目標(biāo)信息; 第2監(jiān)視模塊具備確認(rèn)機(jī)構(gòu),在由上述第1監(jiān)視模塊進(jìn)行了監(jiān)視目標(biāo)信息的更新的情況下,確認(rèn)是否正常地進(jìn)行了該更新;以及發(fā)送機(jī)構(gòu),將上述確認(rèn)的結(jié)果發(fā)送給上述服務(wù)器裝置。
全文摘要
本發(fā)明提供一種即使在將不正當(dāng)?shù)母履K無效化的情況下也能夠維持安全強度的監(jiān)視系統(tǒng)、程序執(zhí)行裝置。在設(shè)備(100)中,更新模塊(131~133)監(jiān)視在各自具有的監(jiān)視模式所表示的監(jiān)視目標(biāo)的模塊中是否進(jìn)行了不正當(dāng)動作。將進(jìn)行了不正當(dāng)動作的更新模塊通過來自更新服務(wù)器(200)的指示無效化,通過更新服務(wù)器(200)重構(gòu)監(jiān)視模式,以使得除了被無效化的更新模塊以外的其余模塊分別被至少1個更新模塊監(jiān)視,并對各更新模塊發(fā)布。
文檔編號G06F11/00GK102224509SQ20098014643
公開日2011年10月19日 申請日期2009年11月20日 優(yōu)先權(quán)日2008年11月26日
發(fā)明者前田學(xué), 小泉英介, 布田裕一, 松崎棗, 海上勇二, 磯邊秀司, 酒井正夫, 野仲真佐男, 長谷川真吾, 靜谷啟樹 申請人:松下電器產(chǎn)業(yè)株式會社