非法模块确定装置、信息处理装置、非法模块确定方法、非法模块确定程序、集成电路、非...的制作方法

文档序号:6348242阅读:187来源:国知局
专利名称:非法模块确定装置、信息处理装置、非法模块确定方法、非法模块确定程序、集成电路、非 ...的制作方法
技术领域
本发明涉及一种确定有可能进行非法动作的模块的技术。
背景技术
以往,为了使具有认证密钥等机密数据的应用程序不被有恶意的第三人(下面称为“攻击者”)解析,已知基于耐篡改模块进行保护。耐篡改模块通常作为硬件安装在设备上,保护应用程序。但是,根据攻击方法层出不穷的过往现状,也为了灵活应对新的攻击方法,期望利用容易更新的计算机程序即软件来保护应用程序。作为由软件来保护应用程序的技术,例如存在使用哈希值的篡改验证、或在未利用应用程序时将其加密并保存而仅在利用时解密并加载到存储器的解密加载功能等。但是,即便利用这种技术,保护应用程序的软件(下面称为“保护控制模块”自身也可能被攻击者攻击。若保护控制模块被篡改,则应用程序暴露于攻击者的攻击之下。专利文献1公开了一种用于防止程序改变的技术,即便在检查程序有无改变的检查程序自身被改变的情况下,也能够可靠阻止被改变的程序的执行。根据该技术,准备多个用于监视程序有无改变的检查程序,各检查程序监视其他检查程序之中的某一个检查程序。下面,简单说明该技术。设两个监视模块A、B相互监视。监视模块A、B分别由应保护不被攻击者篡改的程序(主体程序A、B)、用于检测其他模块是否被篡改的程序(检查程序A、B)、以及各个检查程序进行篡改检测所需的信息(检查信息A、B)构成。检查程序A使用检查信息A进行监视模块B的主体程序B和检查程序B的篡改检测。并且,检查程序B使用检查信息B进行监视模块A的主体程序A和检查程序A的篡改检测。这样,各个监视模块进行对方的监视模块的主体程序和检查程序的篡改检测。先行技术文献专利文献专利文献1 日本特许第3056732号公报专利文献2 :W02008/099682非专利文献非专利文献1 本龙明、山本博资,“现代加密”,产业图书(1997年)# 专禾I」文 ^ 2 =ITU-T Recommendation X. 509(1997E) =Information Technology-Open Systems Interconnection—The Directory Authentication Framework,1997非专禾O 文献 3 :F. Preparata, G. Metze and R. T. Chien, "On The Connection Assignment Problem of Diagnosable Systems,” IEEE Trans. Electronic Computers, vol. 16,pp.848-854,1968.
发明要解决的课题如此进行篡改检测,在检测到篡改的情况下,例如只要经由网络从外部的服务器装置取得正常的保护控制模块,并将被篡改的保护控制模块更新为正常的保护控制模块即可。但是,承担更新保护控制模块的功能的模块(下面称为“更新模块”)也可能被攻击者攻击。若更新模块被篡改,则有可能保护控制模块未被正确更新,应用程序具有的机密数据泄漏。通过进一步具备进行更新模块的篡改检测的模块,可检测更新模块的篡改,但由于该模块自身也仍有可能被篡改,所以无法从根本上解决。上述使用保护控制模块的更新例进行了说明,但除保护控制模块的更新外,即便在对应用程序或更新模块自身进行更新的情况下,也由于它们未被正确更新,从而产生同样的问题。

发明内容
为了解决上述问题,本发明的目的在于,提供一种非法模块确定装置、信息处理装置、非法模块确定方法、非法模块确定程序、集成电路、软件更新系统及软件更新方法,能够比以往高的概率确定被篡改的非法模块。用于解决课题的手段为了实现上述目的,本发明是一种非法模块确定装置,确定在经由网络连接的信息处理装置上动作的非法模块并使该非法模块无效化,其特征在于,具备接收单元,从进行篡改检测的多个模块,接收篡改检测结果;判断单元,将所述多个模块之中的一个假定为正常模块,根据所述假定,判断接收到的多个篡改检测结果中有无矛盾,在有矛盾的情况下,将假定为正常模块的所述模块确定为非法模块;以及无效化单元,输出被确定的非法模块的无效化指示。发明效果根据本发明,通过检测模块相互进行篡改检测处理的结果的矛盾来确定非法模块,所以可使用逻辑验证方法来有效地确定伪造并通知篡改检测结果的非法模块。这样,通过输出被确定的非法模块的无效化指示,可适当地排除非法模块。


图1是实施方式1中的软件更新系统10的整体构成图。图2是实施方式1中的更新模块131的框图。图3是实施方式1中的保护控制模块120的框图。图4是实施方式1中的访问控制模块140的框图。图5是实施方式1中的设备100的硬件构成图。图6是实施方式1中的设备100的软件构成图。图7是实施方式1中的判断部210的框图。图8是实施方式1中的更新用软件分发部220的框图。图9是实施方式1中的模块无效化部230的框图。图10是表示实施方式1中的软件更新系统10整体的动作的流程图。
图11是用于说明实施方式1中的初始设定处理的动作的图。
图12是实施方式1中的初始设定处理的时序图。
图13是实施方式1中的更新模块初始化处理的流程图。
图14是实施方式1中的检测处理的时序图。
图15是实施方式1中的解析判断处理的时序图。
图16是实施方式1中的相互认证处理的时序图。
图17是实施方式1中的相互认证处理的时序图。
图18是实施方式1中的恢复处理的流程图。
图19是实施方式1中的相互监视处理的时序图。
图20是实施方式1中的更新处理的时序图。
图21是实施方式1中的更新处理的时序图。
图22是用于说明实施方式1中的相互监视处理与更新处理的联动动作的图。
图23是实施方式1中的再加密处理的时序图。
图24是实施方式1中的下一轮准备处理的时序图。
图25是实施方式1中的无效化处理的时序图。
图26是用于说明实施方式2中的更新模块群130b的构成的图。
图27是实施方式2中的判断部210b的框图。
图28是实施方式2中的非法模块确定部605的框图。
图29是实施方式2中的循环检测部606的框图。
图30是用于说明实施方式2中的监视模式的图。
图31是用于说明实施方式2中的相互监视结果的图。
图32是用于说明实施方式2中的相互监视结果的矛盾的图。
图33是实施方式2中的非法模块确定处理的流程图。
图34是用于说明实施方式2中的非法模块确定处理的图。
图35是用于说明实施方式2中的循环监视模式的图。
图36是用于说明实施方式2中的循环监视模式的矛盾的图。
图37是用于说明实施方式2中的循环监视模式的矛盾的图。
图38是实施方式2中考虑了循环监视模式的非法模块确定处理的流程图。
图39是表示实施方式2中的循环监视模式列表2100的数据结构的图。
图40是表示实施方式2中的循环监视模式列表2200的数据结构的图。
图41是实施方式2中考虑了循环监视模式的非法模块确定处理的流程图。
图42是实施方式2中考虑了循环监视模式的非法模块确定处理的流程图。
图43是用于说明考虑循环监视模式来分发分散信息的具体例的图。
图44是用于说明考虑循环监视模式来分发分散信息的具体例的图。
图45是表示软件更新系统IOcb中的判断部210cb的构成的构成图。
图46是表示软件更新系统IOcb中的正常模块确定部607的构成的构成图。
图47是用于说明软件更新系统IOcb中的验证结果判定部674的判定方法的监视模式及监视结果的一例。
图48表示软件更新系统IOcb中的各更新模块的篡改检测监视结果的一例。
图49表示软件更新系统IOcb中的各更新模块的篡改检测监视结果的另一例。图50是表示软件更新系统IOcb中的正常更新模块的确定处理的动作的流程图。 后接图51。图51是表示软件更新系统IOcb中的正常更新模块的确定处理的动作的流程图。 后接图52。图52是表示软件更新系统IOcb中的正常更新模块的确定处理的动作的流程图。 上接图51。图53是表示软件更新系统IOdb的构成的构成图。图M是表示软件更新系统IOdb中的监视模式更新部250的构成的构成图。图55是表示软件更新系统IOdb中的判断部210cb的构成的构成图。图56是表示软件更新系统IOdb中的干扰模块确定部608的构成的构成图。图57表示监视结果的一例。图58是表示软件更新系统IOdb中的动作的动作图。尤其表示干扰模块确定处理与正常模块确定处理的关系。图59是表示软件更新系统IOdb中的干扰模块确定处理与正常模块确定处理的动作的时序图。下接图60。图60是表示软件更新系统IOdb中的干扰模块确定处理与正常模块确定处理的动作的时序图。上接图59。图61是表示软件更新系统IOdb中的干扰模块确定处理的流程图。下接图62。
图62是表示软件更新系统IOdb中的干扰模块确定处理的流程图。下接图63。
图63是表示软件更新系统IOdb中的干扰模块确定处理的流程图。上接图62。
图64表示软件更新系统IOdb的变形例中的监视结果的一例。
图65表示软件更新系统IOdb中的监视模式的一例。
图66表示软件更新系统IOdb中的相互监视结果的一例。
图67表示软件更新系统IOdb中的相互监视结果的另一例。
图68表示软件更新系统IOdb中的相互监视结果的再一例。
图69表示软件更新系统IOdb中的相互监视结果的又一例。
图70表示变形例0 中的监视结果的一例。
图71表示变形例0 中的监视结果的一例。
图72表示变形例0 中的监视结果的一例。
图73表示变形例06)中的监视结果的一例。
图74表示变形例06)中的监视结果的一例。
图75是表示内容再生系统IOe的构成的构成图。
图76是表示移动银行业务系统IOf的构成的构成图。
图77是表示本发明实施方式3中的篡改监视系统IOca的构成的框图。
图78是表示本发明实施方式4中的篡改监视系统IOda的构成的框图。
图79是根据实施方式2的软件更新系统IOa的整体构成图。
图80是根据实施方式2的软件更新系统IOb的整体构成图。
具体实施例方式作为技术方案1所述方式的非法模块确定装置确定在经由网络连接的信息处理装置上动作的非法模块并使该非法模块无效化,其特征在于,具备接收单元,从进行篡改检测的多个模块,接收篡改检测结果;判断单元,将所述多个模块中的一个假定为正常模块,根据所述假定,判断接收到的多个篡改检测结果中有无矛盾,在有矛盾的情况下,将假定为正常模块的所述模块确定为非法模块;和无效化单元,输出被确定的非法模块的无效化指示。在作为技术方案2所述方式的非法模块确定装置中,其特征在于,所述判断单元具备假定正常模块群存储单元,存储假定为正常模块的模块的识别信息;假定单元,从所述多个模块中选择一个,假定为正常模块,将识别信息记录在所述假定正常模块群存储单元中;假定正常模块群生成单元,重复如下步骤将由所述假定单元假定为正常模块的所述模块作为起点,将作为篡改检测处理的结果未检测到篡改的模块假定为正常模块,并将识别信息记录在所述假定正常模块群存储单元中;矛盾检测单元,判断与存储在所述假定正常模块群存储单元中的识别信息对应的模块的篡改检测结果中是否有矛盾;和确定单元,在检测到矛盾的情况下,将所述假定单元假定为正常模块的所述模块确定为非法模块。根据该构成,基于正常模块不输出错误的篡改检测结果这样的前提,生成假定正常模块群,由此可使用逻辑验证方法来有效地确定伪造篡改检测结果并发来通知的非法模块。在作为技术方案3所述方式的非法模块确定装置中,其特征在于,所述假定单元将第1模块假定为所述正常模块,所述矛盾检测单元对所述第1模块和由所述第1模块进行的篡改检测结果为正常的第2模块进行了篡改检测的第3模块,判断所述第1模块的篡改检测结果与所述第2模块的篡改检测结果是否矛盾,在所述第1模块的篡改检测结果与所述第2模块的篡改检测结果矛盾的情况下,所述确定单元将所述第1模块确定为非法模块。根据该构成,在三个模块相互进行篡改检测处理的情况下,通过所述矛盾检测单元的简单验证,能够可靠确定非法模块。在作为技术方案4所述方式的非法模块确定装置中,其特征在于,所述判断单元具备循环存储单元,存储有作为单向循环进行篡改检测的模块群的循环模式中包含的多个模块的识别信息;假定单元,在所述循环模式中包含的多个模块单向循环进行篡改检测的结果全部正常的情况下,将所述循环模式中包含的多个模块假定为正常模块;矛盾检测单元,判断所述循环模式中包含的两个以上的模块对其他模块的篡改检测结果中是否有矛盾;和确定单元,在有矛盾的情况下,将所述循环模式中包含的全部模块确定为非法模块。根据该构成,通过将单向循环进行篡改检测的多个模块作为一群处理,与对各个更新模块逐个判断是否非法的情况相比,可使处理效率格外提高。在作为技术方案5所述方式的非法模块确定装置中,其特征在于,所述矛盾检测单元对所述循环模式中包含的第1模块和第2模块进行了篡改检测的未包含在所述循环模式中的第3模块,判断所述第1模块的篡改检测结果与所述第2模块的篡改检测结果是否矛盾,在所述第1模块的篡改检测结果与所述第2模块的篡改检测结果矛盾的情况下,所述确定单元将所述循环模式中包含的全部模块确定为非法模块。
在作为技术方案6所述方式的非法模块确定装置中,其特征在于,所述矛盾检测单元对所述循环模式中包含的第1模块和第2模块进行篡改检测的包含在所述循环模式中的第3模块,判断所述第1模块的篡改检测结果与所述第2模块的篡改检测结果是否矛盾, 在所述第1模块的篡改检测结果与所述第2模块的篡改检测结果矛盾的情况下,所述确定单元将所述循环模式中包含的全部模块确定为非法模块。在作为技术方案7所述方式的非法模块确定装置中,其特征在于,所述矛盾检测单元判断所述循环模式中包含的第1模块和第2模块相互进行篡改检测的结果是否矛盾, 在相互进行篡改检测的结果矛盾的情况下,所述确定单元将所述循环模式中包含的全部模块确定为非法模块。根据该构成,在存在单向循环进行篡改检测处理的循环模式的情况下,在各种验证模式中,能够使非法模块确定处理的效率提高。在作为技术方案8所述方式的非法模块确定装置中,其特征在于,具备监视模式存储单元,存储有作为验证源的模块与验证对象的模块的组合的监视模式,所述循环存储单元从所述监视模式存储单元中存储的监视模式中,检测作为单向循环进行篡改检测的模块群的循环模式,并存储检测到的所述循环模式中包含的多个模块的识别信息。根据该构成,通过非法模块确定装置事先检测循环模式并存储,可使非法模块确定处理的效率提高。在作为技术方案9所述方式的非法模块确定装置中,其特征在于,所述判断单元在所述循环存储单元中存储了多个循环模式的情况下,从循环模式中包含的模块数少的循环模式开始,依次进行所述假定单元、所述矛盾检测单元和所述确定单元的处理。在循环模式中包含的模块数多的情况下,认为循环模式中包含的全部模块同时被篡改的可能性低。另外,循环模式中包含的模块数越多,则全部的验证结果为正常的可能性就越低。因此,在存在多个循环模式的情况下,通过从模块数少的循环模式开始优先进行非法模块确定处理,可有效地发现非法的更新模块并使其无效化。在作为技术方案10所述方式的非法模块确定装置中,其特征在于,在所述循环存储单元中存储有多个循环模式、且各循环模式中包含的模块数相同的情况下,所述判断单元从针对各循环模式中包含的模块进行篡改检测处理的未包含在该循环模式中的模块的数量多的循环模式开始,依次进行所述假定单元、所述矛盾检测单元和所述确定单元的处理。在将循环模式内的更新模块全部判断为非法模块之后,循环模式外的更新模块将循环模式中包含的任一更新模块判定为正常的情况下,可判断为该循环模式外的更新模块是非法模块。因此,在存在循环模式中包含的模块数相同的多个循环模式的情况下,通过从对循环模式内的更新模块进行篡改检测处理的循环模式外的模块的数量多的循环模式开始, 优先进行非法模块确定处理,可有效地进行整体的非法模块确定处理。在作为技术方案11所述方式的非法模块确定装置中,其特征在于,所述循环存储单元还按每个循环模式存储有循环模式列表,所述循环模式列表包含各循环模式中包含的模块的数量、以及针对该循环模式中包含的模块进行篡改检测处理的未包含在该循环模式中的模块的数量,所述判断单元参照所述循环模式列表,决定由所述假定单元、所述矛盾检测单元和所述确定单元进行处理的循环模式的顺序。根据该构成,通过事先保持所述循环模式列表,可有效地进行非法模块确定处理。在作为技术方案12所述方式的非法模块确定装置中,其特征在于,所述循环存储单元中存储的所述循环模式列表按各循环模式中包含的模块的数量从少到多的顺序,配置各循环模式中包含的模块的数量、以及针对该循环模式中包含的模块进行篡改检测处理的未包含在该循环模式中的模块的数量。根据该构成,若从所述循环模式列表的上位依次读出信息进行处理,则可按模块的数量从少到多的顺序来进行非法模块确定处理。在作为技术方案13所述方式的非法模块确定装置中,其特征在于,具备监视模式生成单元,对在所述信息处理装置中动作并相互进行篡改检测处理的多个模块,生成作为验证源的模块与验证对象的模块的组合的监视模式;和监视模式发送单元,将生成的所述监视模式发送到所述信息处理装置,所述监视模式生成单元生成包含多个模块单向循环进行篡改检测的循环模式的所述监视模式。根据该构成,在从单向循环进行篡改检测的多个模块接收到篡改检测结果的情况下,通过将所述多个模块作为一群处理,与对各个更新模块逐个判断是否非法的情况相比, 可格外提高处理效率。作为技术方案14所述方式的信息处理装置具备应用程序,包含机密数据且该应用程序被加密;保护控制模块,具有保护所述机密数据的功能;和多个模块,具有更新软件的功能,相互验证有无篡改,保持按照规定的密钥分散法从用于解密所述加密的应用程序的解密密钥中生成的多个分散密钥之中的、分配给自身的分散密钥,其特征在于,在所述多个模块包含作为单向循环进行篡改检测的模块群的循环模式的情况下,分配给所述循环模式中包含的模块的分散信息也重复地分配给所述循环模式中未包含的模块。在循环模式的情况下,若将一个模块确定为非法模块,则将循环模式中包含的全部模块确定为非法模块并使其无效化。因此,通过将分配给循环模式中包含的模块的分散信息也重复地分配给所述循环模式中未包含的模块,可防止不能复原所述解密密钥的事态发生。1.实施方式1这里,作为根据本发明的非法模块无效化系统的实施方式,参照附图来说明软件更新系统10。1. 1软件更新系统10的构成(1)整体构成图1是软件更新系统10的整体构成图。如图1所示,软件更新系统10由作为根据本发明的信息处理装置的设备100与作为根据本发明的非法模块确定装置的更新服务器200构成。设备100与更新服务器200经由网络连接。(2)设备100的构成下面,说明设备100。设备100是向用户提供经由网络的各种服务的设备。例如,设备100访问内容配送服务器,购买并再生音乐或映像等内容,或访问金融机构的系统,利用网上银行业务(存款的余额查询或户头存入等)。(a)设备100的软件构成如图1所示,设备100包含应用软件(下面称为“应用”。)110、应用111、保护控制模块120、用于更新模块群130和访问控制模块140。应用110和应用111是用于经由网络向使用设备100的用户提供各种功能的软件。例如,是从内容配送服务器(未图示)购买音乐内容或映像内容并再生该购买的内容的软件、或用于访问金融机构的系统(未图示)并利用余额确认或存入等网上银行业务的软件。应用110和应用111具有用于与内容配送服务器或金融机构的系统进行认证的认证密钥等机密数据。机密数据是有必要保护以不被有恶意的第三人(下面称为“攻击者”) 从应用中抽取而被非法利用的数据。保护控制模块120是控制用于保护应用110和应用111的功能的模块,以便应用 110和应用111不被攻击者解析且不被抽取认证密钥等机密数据。作为用于保护应用的功能,有在未利用应用时加密并保存而仅在利用应用时解密并加载到存储器的解密加载功能、检查应用是否未被篡改的篡改检测功能、或检查调试工具等解析工具是否未动作的解析工具检测功能等。保护控制模块120控制这些功能的动作,并检查应用110和应用111是否未被攻击者解析等。当检测到攻击者的攻击时,保护控制模块120停止应用110和应用111的动作,进行应用110和应用111利用的存储器、尤其是记录机密数据的存储器区域的清除等处理,防止机密数据的泄漏。更新模块群130由多个更新模块构成。在实施方式1中,更新模块群130如图1 所示,由更新模块131、更新模块132和更新模块133这3个更新模块构成。更新模块131、132、133分别检测保护控制模块120有无篡改。各更新模块具有如下功能,即在保护控制模块120被篡改的情况下,从更新服务器200下载更新用的保护控制模块,更新被篡改的保护控制模块。另外,更新模块131、132、133也可具有更新应用110和应用111的功能。另外,更新模块群130为了防止攻击者篡改各更新模块并非法利用各更新模块, 更新模块彼此相互实施篡改检测。之后,将篡改检测结果发送到更新服务器200。在更新服务器200判断为某个更新模块被篡改的情况下,其他正常的更新模块接收来自更新服务器 200的无效化指示,使被篡改的更新模块无效化。由此,即便在更新模块群130中包含的部分更新模块被攻击并被篡改的情况下, 也可检测出该情况并应对攻击。访问控制模块140保持各更新模块删除其他模块所需的访问信息。访问信息例如是配置有作为删除对象的模块的地址、或写有删除所需步骤的步骤书等。对作为删除对象的每个模块,分别由单独的访问信息取得密钥来加密访问信息。(b)更新模块的构成下面,说明更新模块131、132、133的细节。图2是表示更新模块131的功能构成的功能框图。更新模块132和133也具有同样的构成。更新模块131包含更新模块主体、验证用证书与MAC值表。更新模块主体由接收部301、发送部302、控制部303、更新部304、验证部305、MAC 值生成部306、MAC值表更新部307和分散信息保持部308构成。接收部301从更新服务器200接收各种指示或更新用软件。另外,接收部301从其他更新模块接收进行相互监视所需的更新模块主体或更新模块验证用证书等。并且,接收部301还从其他更新模块接收委托的处理的结果、或该其他更新模块对保护控制模块120 的监视结果等。发送部302向更新服务器200、保护控制模块120、其他更新模块和访问控制模块 140发送各种处理结果和证书等数据。控制部303根据接收部301接收到的各种指示或通知,通过控制更新部304或验证部305,进行各种处理。具体地,控制部303进行保护控制模块120、更新模块132和更新模块133的篡改验证处理、保护控制模块120、更新模块132和更新模块133的更新处理、监视模式的更新处理等。更新部304根据控制部303的控制,与更新服务器200联动,更新设备100内部的软件,具体是应用110和111、保护控制模块120、更新模块131、132和133。验证部305根据控制部303的控制,进行保护控制模块120、更新模块132和更新模块133的篡改检测处理。验证部305也可使用附加于各模块的验证用证书来进行篡改检测处理。或者, 也可使用事先计算出的消息认证代码(Message Authentication Code)(下面称为“MAC 值”。)。事先从更新服务器200提供验证部305在怎样的时间进行哪个模块的篡改检测处理。验证部305在从更新服务器200接收了篡改检测对象的模块变更或进行篡改检测的时间变更的指示的情况下,根据指示变更。MAC值生成部306保持验证值。MAC值生成部306在验证部305于篡改检测处理中使用MAC值的情况下,使用验证密钥,生成MAC值。MAC值表更新部307对存储有各模块的MAC值的MAC值表进行更新。在MAC值表中成对存储有用于识别模块的模块识别符与对应于该模块的MAC值。MAC值生成部306取得作为篡改检测处理对象的模块,计算MAC值。验证部305通过比较计算的MAC值与MAC值表中存储的对象模块的MAC值,进行篡改检测。分散信息保持部308保持分散信息和配置信息。分散信息是保护控制模块120基于秘密分散法根据应用110和111的加解密处理中使用的加解密密钥生成的信息。配置信息是记述将哪个分散信息分发给哪个更新模块的信息。另外,就署名方式而言,在非专利文献1中有详细说明。就证书而言,在非专利文献2中有详细说明。另外,就分散信息而言,在专利文献2中有详细说明。(c)保护控制模块120的构成这里,说明保护控制模块120的细节。图3是表示保护控制模块120的功能构成的功能框图。如图3所示,保护控制模块120由接收部401、发送部402、控制部403、解密加载部404、篡改检测部405、解析工具检测部406、加解密密钥保持部407、加解密密钥生成部408、 加解密密钥分散部409、证书生成部410和加解密密钥复原部411构成。接收部401从更新模块131、132、133接收分散信息或各种委托等。发送部402向更新模块131、132、133发送各种委托等。控制部403通过控制解密加载部404、篡改检测部405和解析工具检测部406,在应用110、111被攻击者攻击的情况下,检测该攻击。当执行被加密的应用110、111时,解密加载部404进行使用加解密密钥来解密并加载到存储器上的处理。另外,在应用110、111的执行中,若发生向其他应用的上下文切换,则解密加载部404使用加密钥密钥来加密存储器上的数据。之后,当再次上下文切换到应用110、111时,进行对加密的数据进行解密的处理。并且,在后述的再加密处理中,解密加载部404使用从加解密密钥复原部411输入的复原后的旧加解密密钥,解密应用110、111之后,使用加解密密钥保持部407中保持的新的加解密密钥,再加密应用110、111。篡改检测部405进行应用110、111的篡改检测处理。篡改检测处理有使用附加于应用110、111的验证用证书的方法与比较MAC值的方法。解析工具检测部406在安装调试工具等解析工具或该解析工具动作时,检测出该情况。这是因为假设非法攻击者为了攻击应用110、111,安装解析工具或使之动作。作为检测方法,例如使用检索文件名的方法、或调查是否调试工具所使用的特殊寄存器被使用的方法、或检测调试工具设定的中断的方法等。加解密密钥保持部407保持用于加解密应用110、111的加解密密钥。加解密密钥生成部408生成用于加解密应用110、111的加解密密钥。加解密密钥分散部409在初始设定时或下一轮准备时,使用秘密分散法根据加解密密钥生成分散信息。证书生成部410当复原根据加解密密钥生成的分散信息时,生成用于验证是否已正确复原的证书。加解密密钥复原部411根据配置信息,从各更新模块取得分发给各更新模块的分散信息。之后,加解密密钥复原部411根据取得的分散信息,复原加解密密钥,将复原后的加解密密钥发送给解密加载部404。(d)访问控制模块140的构成图4是功能性表示访问控制模块140的构成的功能框图。如图4所示,访问控制模块140由接收部501、发送部502和访问信息保持部503构成。接收部501从更新模块131、132、133接收删除被篡改的更新模块所需的信息、即访问信息的取得委托。发送部502对应于访问信息取得委托,向委托了访问信息取得的更新模块发送访问信息。访问信息保持部503对每个更新模块131、132、133保持用于删除该模块的访问信
息ο各访问信息被附加了用于识别作为删除对象的更新模块的更新模块识别符。另外,各访问信息由访问信息取得密钥加密。
从更新模块131、132、133受理访问信息取得委托。访问信息保持部503将附加了删除对象的更新模块的识别符的访问信息发送给委托源的更新模块。(e)设备100的硬件构成接着,用图5来说明设备100的硬件构成。如图5所示,设备100包含CPU (Central Processing Unit) 171、作为非易失性存储器的 EEPROM(Electrically Erasable and Programmable Read Only Memory) 172、 RAM (Random Access Memory) 173 和 NIC (Network hterfaceCard :网络接口卡)174 等构成。另外,它们经总线相互可通信地连接。EEPR0M172中存储有保护控制模块120、更新模块131、132、133和应用110、111寸。通过CPU171执行EEPR0M172中存储的各种模块,实现各种模块的各功能部。各功能部具体地由计算机程序来记述。RAM173用作CPU171的工作区域。向RAM173加载更新模块131、132、133和应用 110,111.作为篡改检测处理和无效化处理的对象的更新模块是在RAM173上动作的更新模块。NIC174是用于连接于网络上的扩展卡。(f)软件阶层接着,用图6来说明设备100的软件阶层。如图6所示,将访问控制模块140及更新模块群130组入0S150中。应用110及应用111在0S150上动作,保护控制模块120及引导(boot)加载器160位于0S150的管理之外。当设备100启动时,首先启动保护控制模块120和更新模块群130,然后执行应用软件。(3)更新服务器200的构成下面,说明更新服务器200的构成。更新服务器200用作非法模块确定装置,从设备100的更新模块群130接收篡改检测结果,根据接收到的篡改检测结果,确定应无效化的非法更新模块。并且,更新服务器 200用作软件分发装置,将更新在设备100上动作的软件(例如保护控制模块120)所需的更新用软件分发给设备100。(a)整体构成如图1所示,更新服务器200由判断部210、更新用软件分发部220、模块无效化部 230和通信部240构成。更新服务器200具体地是具备CPU、ROM、RAM、硬盘单元等的计算机系统。通过CPU根据存储在ROM或硬盘单元中的计算机程序动作,更新服务器200发挥上述功能。判断部210从设备100的更新模块群130接收篡改检测结果,根据接收到的篡改检测结果,确定应无效化的非法更新模块。更新用软件分发部220当更新保护控制模块120时,与更新模块131、132、133联动动作,将更新用软件安全地发送到设备100。模块无效化部230若从更新模块131、132、133受理访问信息取得密钥取得请求,则向请求源的更新模块发送访问信息取得密钥。通信部240在设备100与更新服务器200内部的各部之间进行信息的发送接收。 例如,通信部MO向判断部210发送从设备100接收到的篡改检测结果。在设备100与更新服务器200之间的通信中,也可使用对数据进行加密等确保安全性的通信路径。接着,说明更新服务器200的各构成要素。(b)判断部210的构成图7是功能地表示判断部210的构成的功能框图。如图7所示,判断部210由接收部601、发送部602、指示生成部603和模块确定部 604构成。接收部601从更新模块131、132、133接收修改检测结果、分散信息、各种委托等, 将其输出到指示生成部603。另外,接收部601从更新服务器200内的各部接收表示处理完成的通知,将其输出到指示生成部603。发送部602向更新服务器200内的各部输出由指示生成部603生成的指示。指示生成部603将从更新模块131、132、133接收到的篡改检测结果(下面称为 “相互监视结果”。)输出到模块确定部604。另外,指示生成部603从模块确定部604取得识别被篡改的非法更新模块的信息,根据取得的信息,生成对更新服务器200内各部的指
7J\ ο模块确定部604使用从更新模块131、132、133接收到的相互监视结果,判断各更新模块是否被篡改,确定被篡改的非法更新模块。模块确定部604将识别非法更新模块的信息输出到指示生成部603。实施方式1的模块确定部604例如使用从各更新模块接收到的多个篡改检测结果,将判断为过半数的更新模块“被篡改”的更新模块确定为非法更新模块。具体地,因为当前更新模块群130中包含3个更新模块131、132、133,所以将判断为2个更新模块“被篡改”的更新模块确定为非法更新模块。(c)更新用软件分发部220图8是表示更新用软件分发部220的功能构成的功能框图。如图8所示,更新用软件分发部220由接收部701、发送部702、加密密钥生成部 703、加密处理部704、认证部705、更新模块选择部706、控制部707、证书生成部708、署名秘密密钥保持部709、更新用软件保持部710和加密密钥保持部711构成。接收部701从更新模块131、132、133接收针对保护控制模块120的篡改检测结果和更新模块间的相互监视结果。发送部702在需要更新设备100的应用110、111、保护控制模块120的情况下,向更新模块131、132、133发送更新处理的委托、更新用软件、解密所需的密钥等数据。加密密钥生成部703生成当将更新用软件发送到更新模块131、132、133时使用的加密密钥。加密处理部704使用加密密钥生成部703生成的加密密钥,加密更新用软件。另外,加密处理部704使用各更新模块固有的密钥,对加密密钥进行加密。加密密钥和更新用软件不是一次全部发送到更新模块131、132、133,而是在更新处理中,在需要各个数据的时间,分别发送到各更新模块。
认证部705与更新模块131、132、133和保护控制模块120进行相互认证。更新模块选择部706在更新保护控制模块120的情况下,选择更新处理中使用的更新模块。加密处理部704使用更新模块选择部706选择的更新模块固有的密钥,对更新用保护控制模块的加密中使用的加密密钥进行加密。之后,发送部702向更新模块选择部 706选择的更新模块送达加密密钥和更新用保护控制模块。控制部707控制更新用软件分发部220的各构成要素。证书生成部708对更新模块131、132、133的认证公开密钥,使用署名秘密密钥,生成认证证书。另外,证书生成部708对更新用保护控制模块,使用署名秘密密钥,生成用于验证在设备100中保护控制模块是否被正确更新用的更新验证证书。署名秘密密钥保持部709保持证书生成部708生成证书时使用的署名秘密密钥。更新用软件保持部710保持用于在保护控制模块120被攻击的情况下进行更新的更新用保护控制模块。加密密钥保持部711保持加密密钥生成部703生成的加密密钥和由加密处理部 704加密的加密密钥。(d)模块无效化部230图9是表示模块无效化部230的功能构成的功能框图。如图9所示,模块无效化部230由接收部801、发送部802、访问信息取得密钥保持部803和更新模块选择部804构成。接收部801从判断部210接收使被篡改的非法更新模块无效化的指示。另外,接收部801从更新模块131、132、133接收访问信息取得密钥的取得委托。发送部802对应于访问信息取得密钥的取得委托,将访问信息取得密钥发送给委托源的更新模块。访问信息取得密钥保持部803保持用于对访问控制模块140保持的访问信息进行解密的密钥,即访问信息取得密钥。更新模块选择部804选择进行被篡改的非法更新模块的无效化处理的更新模块, 向选择出的更新模块指示非法更新模块的无效化。另外,在从模块选择部804选择出的更新模块发出访问信息取得密钥的取得委托的情况下,发送部802向访问信息取得密钥附加作为删除对象的更新模块的识别符,发送到所述更新模块。1. 2软件更新系统10的动作接着,说明软件更新系统10的动作。(1)整体动作图10是表示软件更新系统10整体的处理流程的流程图。软件更新系统10首先进行初始设定处理(S100)。所谓初始设定处理是如下处理,即将更新保护控制模块120所需的各种密钥数据、或软件更新后所需的数据(使用秘密分散法分散的分散信息)等埋入更新模块131、 132、133各自中。初始设定处理在设备100在工场中制造时进行。之后,设备100从工场出厂,供用户利用。当用户利用设备100时,在设备100内部,保护控制模块120保护应用110、111不被攻击者攻击。与此同时,更新模块131、132、133执行保护控制模块120的篡改检测处理,并进行检查保护控制模块120是否被攻击的检测处理(S200)。接着,软件更新系统10在步骤S200中检测到保护控制模块120的篡改的情况下, 解析保护控制模块120,进行判断是否需要更新的解析判断处理(S300)。接着,软件更新系统10进行用于确认更新模块131、132、133与更新用软件分发部 220彼此是否是正确的软件的相互认证处理(S400)。接着,软件更新系统10进行恢复处理(S500)。所谓恢复处理是如下处理,即在更新模块群130中包含的更新模块之间相互进行篡改检测处理之后,将更新用保护控制模块安装到设备100。之后,设备100使用向更新模块131、132、133埋入的分散信息,更新保护控制模块。之后,软件更新系统10进行下一轮准备处理,即在以备下次需要更新保护控制模块的情况,生成更新所需的密钥数据或分散信息,并埋入各更新模块(S600)。之后,软件更新系统10返回步骤S200的检测处理,继续处理。这里,软件更新系统10在步骤S400的相互认证处理和步骤S400的恢复处理中, 在检测到更新模块131、132、133的篡改的情况下,进行删除被篡改的非法更新模块的无效化处理。本发明的软件更新系统不必须进行上述全部处理。软件更新系统只要有从外部提供更新的触发并进行更新的处理(恢复处理)即可。(2)初始设定处理的动作这里,用图11 图13,说明软件更新系统10的初始设定处理(图10的S100)的细节。图12是初始设定处理的时序图。
软件更新系统10在设备100在工场制造时,向设备100的非易失性存储器安装应用110、111、保护控制模块120、更新模块131、132、133等(S1000)。向这些软件附加用于验证软件是否被篡改的篡改检测用证书。该篡改检测用证书利用更新服务器200的更新用软件分发部220保持的署名秘密密钥来实施署名。S1000中, 除上述软件外,还安装设备100的动作所需的软件。这里,用图11来说明初始设定处理时埋入设备100中的密钥。图11是示意表示埋入设备100中的密钥的图。这里,更新模块群130的内部仅包含更新模块131。实际上还包含更新模块132和133,但这里省略。如图11所示,在保护控制模块I20中埋入加解密密钥,在更新模块131、132、133 中埋入署名公开密钥、验证密钥和认证密钥对(此刻,分散信息的组还未埋入更新模块中)。还在更新模块131、132、133中埋入用于识别各个更新模块的更新模块识别符,在该状态下安装于设备100中。加解密密钥是用于加密和解密应用110、111的密钥。应用110、111在使用加解密密钥加密的状态下,存储在非易失性存储器中,在执行时,由保护控制模块120使用加解密密钥解密后执行。设备100在边切换上下文边执行多个应用的情况下,在上下文切换的时间,使用
19加解密密钥,进行应用110、111使用的数据的加密和解密,从而防止在应用110、111执行时
由调试工具等解析工具提取数据。被埋入至更新模块131、132、133的密钥中的署名公开密钥是全部更新模块共同的密钥。验证密钥与认证密钥对是各个更新模块中不同的密钥。返回图12继续说明。在 S1000中安装各软件之后,设备100执行进行初始设定的软件、以及用于测试是否正常动作的软件等,并初始化(S1001)。另外,设备100对保护控制模块120和更新模块131、132、133 输出初始化指示。保护控制模块120使用秘密分散法,从加解密密钥中生成分散信息(S1002)。保护控制模块120生成与具备分散信息保持部308的更新模块的数量相同数量的分散信息。 在更新模块131、132、133全部具备分散信息保持部308的情况下,保护控制模块120生成 3个分散信息。并且,保护控制模块120使用署名秘密密钥,生成加解密密钥证书(S1003)。加解密密钥证书是在复原加解密密钥时、用于确认加解密密钥是否正确复原的证书。保护控制模块120将生成的分散信息与加解密密钥证书发送到更新模块131、 132,133(S1004)。保护控制模块120向各更新模块发送分散信息的组,以便更新模块131、132、133 分别保持不同的分散信息的组。并且,保护控制模块120向各更新模块发送表示向哪个更新模块发送哪个分散信息的配置信息。发送到各更新模块的配置信息是相同的信息。使用秘密分散法根据加解密密钥生成分散信息的方法、或向更新模块发送分散信息的方法在专利文献2的47页 49页中详细说明。通过使专利文献2中的秘密密钥d对应于本实施方式的加解密密钥,使认证站装置对应于保护控制模块120,使分散信息保持装置对应于更新模块131、132、133,可使用与专利文献2相同的方法。从保护控制模块120接收到分散信息、配置信息和加解密密钥证书的各更新模块进行更新模块初始化处理(S1005)。(3)更新模块初始化处理图13是表示更新模块初始化处理(图12的S1005)的动作的流程图。这里,仅说明更新模块131,但更新模块132和133的动作也基本相同。更新模块131从保护控制模块120接收分散信息、配置信息和加解密密钥证书,将接收到的各信息保持在分散信息保持部308中(S1006)。并且,更新模块131对作为篡改检测对象的更新模块132、133及保护控制模块120 的篡改检测用证书进行验证(S1007)。该验证通过由各模块生成哈希值并比较生成的哈希值与各个篡改检测用证书中记述的哈希值来进行。若生成的哈希值与各个篡改检测用证书中记述的哈希值一致(S1008为是),则对更新模块132、133、保护控制模块120分别生成MAC值。之后,保持生成的MAC值,作为MAC 值表(S1009)。若至少1个哈希值与篡改检测用证书中记述的哈希值不一致(S1008为否),则更新模块131输出错误并停止(S1010)。(4)检测处理的动作接着,用图14的时序图,说明软件更新系统10的检测处理(图10的S200)的细节。设备100若结束初始设定处理,则从工场出厂,发送到用户处,在用户处使用设备 100。当设备100中应用110、111动作时,在设备100内部,保护控制模块120控制解密加载功能、篡改检测功能、解析工具检测功能等功能,保护应用110、111不被攻击者攻击。在检测处理中,首先,更新模块131、132、133实施保护控制模块120的篡改检测。 篡改检测通过使用验证密钥计算保护控制模块120的MAC值、并比较计算出的MAC值与MAC 值表中保持的MAC值来进行。若MAC值一致,则判定为保护控制模块120未被篡改,若MAC值不一致,则判定为保护控制模块120被篡改。另外,图14中简化记载,记载为仅更新模块131进行保护控制模块120的篡改检测,但当然更新模块132、133也进行同样的处理。之后的处理也以更新模块131检测到保护控制模块120的篡改的情况为主记载, 但更新模块132、133检测到保护控制模块120的篡改的情况也基本上进行同样的处理。判定保护控制模块120是否被篡改、即MAC值是否一致,在判定为保护控制模块 120被篡改的情况下(S2000为是),更新模块131将该情况通知给更新服务器200的判断部210及其他更新模块(S2001)。在判定为保护控制模块120未被篡改的情况下(S2000为否),更新模块131不向判断部210或其他更新模块进行通知,返回到篡改检测处理。从其他更新模块接收到表示保护控制模块120被篡改的通知的更新模块使用验证密钥和MAC值,实施保护控制模块120的篡改检测(S2002)。之后,将篡改检测结果发送到判断部210和其他更新模块(S2003)。判断部210从更新模块131、132、133接收篡改检测结果。另外,在步骤S2000的检测处理时,更新模块群130也可相互进行篡改检测处理, 进行确定非法更新模块的相互监视处理。另外,在确定了非法更新模块的情况下,也可进行使确定的更新模块无效化的无效化处理。相互监视处理和无效化处理的细节如后所述。在相互监视处理中,也可使用根据本发明的实施方式2中说明的方法,进行非法模块确定处理。(5)解析判断处理的动作接着,用图15的时序图来说明解析判断处理(图10的S300)的细节。图15中, 将更新模块131、132、133各自单独进行的处理统一记载为更新模块群130进行的处理。在图14的S2001和S2003中,判断部210若从各更新模块接收到保护控制模块 120的篡改检测结果,则判断部210根据接收到的篡改检测结果,判定保护控制模块120正常还是非法(是否被篡改)。作为判定方法的一例,例如在规定数量的更新模块检测到篡改的情况下,判定为保护控制模块120非法(被篡改),另外,在不足规定数量的更新模块检测到篡改的情况下, 判定为保护控制模块120正常(未被篡改)。所述规定数量也可是更新模块群130中包含的更新模块的过半数。在判定为保护控制模块120被篡改的情况下(S3000为是),判断部210为了判断是否需要恢复保护控制模块120,对更新模块群130委托保护控制模块120的哪个部分被篡改等篡改信息的通知(S3001)。更新模块群130若被委托篡改信息的通知,则收集篡改信息(S3002),通知给判断部 210(S3003)。判断部210根据篡改信息,判断恢复保护控制模块120、或取消(revoke)设备 100、或什么都不进行(S3004)。在恢复保护控制模块120的情况下(S3004为是),判断部210准备更新用保护控制模块(S3006),向更新模块群130指示更新处理的开始(S3007)。另外,在取消设备100 的情况下,对于向应用110、111提供服务的服务器委托取消设备1006300 。在什么都不进行的情况下(S3004为否),返回到检测处理。在判定为保护控制模块120合法(未被篡改)的情况下(S3000为否),返回到检测处理。(6)相互认证处理的动作接着,用图16和图17的时序图,说明软件更新系统10的相互认证处理(图10的 S400)的细节。更新服务器200的判断部210在解析判断处理中判断为需要恢复保护控制模块 120的情况下,判断部210向更新用软件分发部220指示保护控制模块120的恢复。更新用软件分发部220在向更新模块131、132、133指示更新处理的开始之后,与各更新模块之间,分别进行1对1的相互认证处理。由此,防止设备100与非法服务器连接, 或更新服务器200与非法设备连接。另外,在相互认证处理中,更新用软件分发部220使用署名秘密密钥和署名公开密钥,各更新模块使用认证密钥对(认证秘密密钥及认证公开密钥)。图16是更新模块131认证更新用软件分发部220时的时序图。另外,更新模块 132,133也与图16的更新模块131 —样动作,认证更新用软件分发部220。更新模块131使用随机数生成器来生成随机数(挑战(challenge)数据(S4000), 将生成的挑战数据发送到更新用软件分发部220(S4001)。此时,与挑战数据一起发送用于识别更新模块131的更新模块识别符。更新用软件分发部220对接收到的挑战数据使用署名秘密密钥,生成署名数据(S400》,将生成的署名数据作为响应数据,返回到更新模块 131(S4003)。更新模块131若从更新用软件分发部220接收响应数据,则使用署名公开密钥,验证响应数据是否与挑战数据的署名数据一致(S4004)。验证的结果,在响应数据正确、更新用软件分发部220是合法模块的情况下 (S4005为是),则更新模块131继续处理。在响应数据不正确、更新用软件分发部220是非法模块的情况下(S4005为否),则更新模块131输出错误,停止处理(S4006)。接着,更新用软件分发部220认证更新模块131、132、133。图17是更新用软件分发部220认证各更新模块时的时序图。更新用软件分发部220对发送来挑战数据的各更新模块,使用随机数生成器, 分别生成不同的随机数(挑战数据)(S4100),将生成的挑战数据单独发送到各更新模块 (S4101)。
各更新模块对接收到的挑战数据使用认证秘密密钥,生成署名数据(S4102),将生成的署名数据作为响应数据,返回到更新用软件分发部220。此时,各更新模块将认证公开密钥和认证密钥证书同响应数据一起发送到更新用软件分发部220。更新用软件分发部220从各个更新模块接收响应数据、认证公开密钥及认证密钥证书(S4104)。更新用软件分发部220验证认证密钥证书是否为自身发行的证书,再使用认证密钥证书,验证认证公开密钥的合法性(S4105)。若认证密钥证书和认证公开密钥非法,则更新用软件分发部220停止处理 (S4106)。若认证密钥证书和认证公开密钥合法,则更新用软件分发部220使用认证公开密钥,验证接收到的响应数据与挑战数据的署名数据是否一致(S4107)。接着,更新用软件分发部220判断返回了正确响应数据的更新模块(合法的更新模块)的数量是否为事先设定的恢复处理所需的数量以上(S4108)。在合法的更新模块的数量不足恢复处理所需的数量的情况下,由于不能执行恢复处理,所以更新用软件分发部220停止处理(S4106)。在合法的更新模块的数量满足恢复处理所需的数量的情况下,结束相互认证处理,移动到恢复处理。另外,更新用软件分发部220在相互认证处理中,制作记载了合法性得到确认的全部更新模块的更新模块识别符的认证列表。然后,在之后的恢复处理中,仅利用认证列表中记载了识别符的更新模块。(7)恢复处理的动作接着,用图18 23来说明恢复处理(图10的S500)的细节。恢复处理是在上述相互认证处理中相互认证成功的情况下、将被篡改的保护控制模块120更新为新的更新用保护控制模块的处理。图18是表示恢复处理时的动作的流程图。首先,各更新模块131、132、133进行相互监视处理(S5000)。在相互监视处理中, 各更新模块执行其他更新模块的篡改检测处理。再使用更新用保护控制模块,进行更新保护控制模块120的更新处理(S5100)。之后,进行对已加密的应用110、111再加密的再加密处理(S5200)。另外,本发明的软件更新系统不必须进行上述全部处理。只要软件更新系统具有从外部提供更新触发并使用新的保护控制模块来更新被篡改的保护控制模块102的更新处理(S5000)和更新模块相互实施篡改检测的恢复时相互监视处理(S5100)即可。(8)相互监视处理这里,用图19的时序图来说明相互监视处理(图18的S5000)的细节。在相互监视处理中,更新模块131、132、133对更新模块群130内的其他更新模块进行篡改检测处理。在相互监视处理中,对哪个更新模块进行篡改检测处理记载在更新模块保持的监视模式中。在监视模式中记述了与作为篡改检测对象的模块有关的信息(模块识别符、存储器上的位置、尺寸、地址、文件名等)。首先,更新模块131进行更新模块132的篡改检测处理(S5001a),更新模块132进行更新模块133的篡改检测处理(S5001b),更新模块133进行更新模块131的篡改检测处理(S5001c)。各更新模块通过使用验证密钥,算出各更新模块131、132、133的MAC值,并与保存在MAC值表中的、初始设定时算出的MAC值相比,由此进行篡改检测处理。另外,各更新模块也可通过算出更新模块131、132、133的哈希值,比较算出的哈希值与事先对各更新模块附加的证书中记述的哈希值,由此进行篡改检测处理。各更新模块将篡改检测结果通知给判断部210 (S5002)。判断部210从各更新模块接收篡改检测结果(S5003),判定是否有被篡改的更新模块(S5004)。在判定为有被篡改的更新模块的情况下(S5004为是),判断部210立即停止恢复处理(S5005)。在判定为无被篡改的更新模块的情况下(S5004为否),继续处理。(9)更新处理接着,用图20和图21的时序图来说明更新处理(图18的S5100)的细节。首先,更新用软件分发部220的证书生成部708使用署名秘密密钥,生成更新验证证书(S5101)。更新验证证书是用于各更新模块131、132、133确认新的保护控制模块是否已正确安装的证书。更新用软件分发部220将生成的证书发送到各更新模块(S5102)。接着,更新用软件分发部220的加密密钥生成部703生成两个用于多重加密新的保护控制模块的加密密钥(第1密钥和第2密钥)(S5103)。加密处理部704使用第2密钥来加密新的保护控制模块,并生成加密新保护控制模块(S5104)。加密处理部704对加密新保护控制模块使用第1密钥进一步加密,生成多重加密新保护控制模块(S5105)。更新用软件分发部220从更新模块群130中选择一个合法更新模块(S5106),将选择出的更新模块的识别符通知给判断部210。在S5106中,选择判断部210内的非法模块确定部604中存储的非法更新模块以外的更新模块。这里,作为一例,设选择更新模块131。更新用软件分发部220向选择出的更新模块131发送多重加密新保护控制模块 (S5107),再发送第1密钥(S5108)。更新模块131接收多重加密新保护控制模块与第1密钥。更新模块131使用第1 密钥,解密多重加密新保护控制模块,取得加密新保护控制模块(S5109)。之后,若解密结束,则将此情况通知给更新用软件分发部220(S5110)。更新用软件分发部220若接收到解密结束通知,则从更新模块群130中选择一个是合法模块、且与S5106中选择的更新模块不同的更新模块(S5112)。这里,作为一例,设选择更新模块132。更新模块的选择与上述一样,选择判断部210内的非法模块确定部604中存储的非法更新模块以外的更新模块。更新用软件分发部220向选择出的更新模块132发送第2密钥(S511!3)。更新用软件分发部220再委托更新模块131向更新模块132发送S5109中取得的加密新保护控制模块(S5114)。更新模块131接受来自更新用软件分发部220的委托,向更新模块132发送加密新保护控制模块(S5115)。更新模块132从更新用软件分发部220接收第2密钥,从更新模块131接收加密新保护控制模块。之后,使用第2密钥,解密加密新保护控制模块,并取得新的保护控制模块(S5117)。更新模块132将S5117中取得的新的保护控制模块覆盖至保护控制模块120,进行更新(S5118)。之后,更新模块132将更新结束通知给其他更新模块(S5119)。接着,各更新模块131、132、133分别使用事先接收到的更新验证证书,验证保护控制模块是否正确更新(S5120),并将验证结果通知给更新用软件分发部220 (S5121)。更新用软件分发部220若接收到从各更新模块发送的验证结果通知,则判定保护控制模块是否正确更新(S5122)。在判定为未正确更新的情况下(S5121为否),更新用软件分发部220使设备100停止(S5123)。在正确更新的情况下(S5121为是),更新用软件分发部220将更新处理结束通知给各更新模块(S51M)。各更新模块若接收到更新处理结束通知,则生成新的保护控制模块的MAC值,并将生成的MAC值与保护控制模块的识别符所成的组写入MAC值表中(S5125)。如上所述,在更新处理中,更新用软件分发部220使用多个密钥来多重加密更新用新保护控制模块,并将其发送到更新模块群130。更新模块群130用接收到的新保护控制模块来更新保护控制模块120。此时,更新用软件分发部220通过控制向更新模块群130发送用于解密被多重加密的新保护控制模块的多个密钥的时间,使攻击者难以获得未加密的新保护控制模块。(10)相互监视处理与更新处理的关系上述相互监视处理与更新处理边相互联动边执行。相互监视处理在将更新模块群130中包含的更新模块作为发送目的地、从更新用软件分发部220发送多个密钥时、以及加密的更新用保护控制模块在更新模块群130中包含的更新模块的解密处理中定期实施。定时实施时的时间间隔例如是比到更新用保护控制模块通过通信路径完全输出到外部为止的时间短的间隔。若到完全输出到外部为止花费1 秒,则例如以比其短的500毫秒间隔的时间来进行监视处理。这里,用图22来说明相互监视处理与更新处理的联动动作。首先,设备100在从更新服务器200送达多重加密新保护控制模块之前,实施相互监视处理(相互监视1)。这是为了使得不选择非法更新模块来进行更新处理。之后,设备100在更新模块131接收由更新服务器200发送的第1密钥之前,实施相互监视处理(相互监视幻,确认在设备100接收第1密钥时,不选择非法更新模块。并且,更新模块131在接收第1密钥、并使用第1密钥解密多重加密新保护控制模块期间,定期中断更新模块131的解密处理,实施相互监视处理(相互监视3-1、3-幻。由此, 即便在解密处理中更新模块131、132、133被攻击,也可在加密新保护控制模块全部泄漏之前检测出更新模块被攻击的情况,防止泄漏。之后的处理与上述一样。S卩,设备100在更新模块132接收由更新服务器200发送的第2密钥之前,实施监视处理(相互监视4),确认在设备100接收密钥时,在更新处理中不选择非法更新模块。并且,更新模块132在接收第2密钥、并使用第2密钥解密加密新保护控制模块期间,定期中断更新模块132的解密处理,实施相互监视处理(相互监视5-1、5-幻。最后,实施相互监视处理(相互监视6)。由此,可在新保护控制模块全部泄漏之前检测出更新模块被攻击的情况,防止泄漏。这里,在相互监视处理中,在更新模块中检测到篡改的情况下,停止恢复处理。由此,更新服务器200可中止第1密钥或第2密钥的发送,攻击者不能获得用于解密多重加密新保护控制模块的密钥。(11)再加密处理接着,用图23的时序图来说明再加密处理(图18的S5200)的细节。首先,更新后的保护控制模块(在图23和图M的说明中,为了与更新前的保护控制模块120相区别,称为“保护控制模块121”。)对各更新模块131、132、133委托各自保持的分散信息和加解密密钥证书的发送(S5201)。各更新模块131、132、133接受来自保护控制模块121的委托,发送分散信息和加解密密钥证书(S5202)。保护控制模块121从各更新模块131、132、133接收分散信息和加解密密钥证书 (S5203),根据接收到的分散信息,复原更新前的保护控制模块120使用的加解密密钥(这里称为“旧加解密密钥”。)(S5204) 0进而,保护控制模块121再使用加解密密钥证书,验证旧加解密密钥是否正确复原(S5205)。在旧加解密密钥未正确复原的情况下(S5205为否),保护控制模块121抽出非法更新模块(确定哪个更新模块发送非法分散信息)(S5206)。将确定的非法更新模块通知给更新服务器200。在旧加解密密钥正确复原的情况下(S5205为是),保护控制模块121的加解密密钥生成部408生成新的加解密密钥(这里称为“新加解密密钥”。)(S5207) 0之后,解密加载部404对使用旧加解密密钥加密的应用(110、111)进行解密,并使用新加解密密钥来再加密应用(IlOUll) (S5208)。
这里,说明S5206中用于确定非法更新模块的方法。首先,保护控制模块121从各更新模块收集分散信息的组,向收集到的分散信息附加用于识别各更新模块的识别信息。之后,将初始设计时设定为相同值并分发的分散信息彼此汇总成分组。之后,比较各分组中包含的分散信息彼此的值,将为相同值的分散信息彼此再汇总成一个子分组。之后,生成从所有分组中各选出一个子分组而成的全部组合。对生成的组合分别生成旧加解密密钥,验证是否已生成正确的旧加解密密钥。在验证OK(成功)的情况下,向该组合中包含的子分组附加表示验证OK的验证通过识别信肩、O在对全部组合进行旧加解密密钥的生成验证之后,去除附加了验证通过识别信息的子分组中包含的分散信息。未被去除而残留的分散信息为非法值。因此,可利用附加于该分散信息的识别信息,确定发送来非法值的分散信息的更新模块。确定为由识别信息确定的更新模块是非法更新模块。根据分散信息复原旧加解密密钥的方法或非法更新模块的确定方法在专利文献2 的50页 52页中详细说明。通过使专利文献2中的秘密密钥d对应于本实施方式的加解
26密密钥,使认证站装置对应于本实施方式的保护控制模块121,使分散信息保持装置对应于更新模块131、132、133,可利用与专利文献2相同的方法。另外,在S5206中,作为用于确定非法更新模块的方法,也可使用后述的实施方式 2中详细说明的非法模块确定方法。(12)下一轮准备处理的动作接着,用图M的时序图来说明下一轮准备处理(图10的S600)的细节。在下一轮准备处理中,在恢复处理结束之后,进行用于下一恢复处理的准备。下面具体说明。首先,保护控制模块121根据新加解密密钥,使用秘密分散法,生成分散信息 (S6000),再使用署名秘密密钥,生成新加解密密钥证书(S6001)。之后,保护控制模块121 将生成的分散信息与加解密密钥证书发送给各更新模块131、132、133(S6002)。这里,与初始设计处理时一样,生成与更新模块的数量相同的数量的分散信息,并将其发送以使各个更新模块保持不同的分散信息的对。关于新加解密密钥证书,向各更新模块131、132、133发送相同证书。各更新模块131、132、133从保护控制模块121接收分散信息和新加解密密钥证书,并将接收到的分散信息与新加解密密钥证书保持在分散信息保持部308中(S6003)。(13)无效化处理的动作接着,用图25的时序图来说明无效化处理的细节。无效化处理是在存在相互认证时认证失败的更新模块的情况、恢复处理内的监视处理中检测到被篡改的更新模块的情况、恢复处理内的再加密处理中抽出非法更新模块的情况等下,使设备100内部存在的非法(被篡改)模块无效化的处理。这里,以更新模块133被篡改、更新模块131和132检测到更新模块133被篡改的情况下的处理为例,说明无效化处理的动作细节。判断部210根据从更新模块131、132、133接收到的相互监视结果,判定哪个更新模块被篡改(S7001)。作为判定方法,例如将判断为过半数的更新模块“被篡改”的更新模块判定为是非法更新模块。判断部210将无效化的指示与被篡改的更新模块的识别信息一起输出到模块无效化部 230 (S7002)。模块无效化部230向判定为未被篡改的更新模块131和132中的某一个(这里设为更新模块131。)委托被篡改的更新模块133的无效化(S7003)。更新模块131若从模块无效化部230接收更新模块133的无效化委托,则委托模块无效化部230送达用于无效化更新模块133的访问信息取得密钥(S7004)。并且,更新模块131委托访问控制模块140取得用于无效化更新模块133的访问信息(S7005)。模块无效化部230若接收到访问信息取得密钥的送达委托,则确认更新模块131 是否为合法(未被篡改)的更新模块、以及被委托的访问信息取得密钥是否为用于无效化非法(被篡改)的更新模块133的访问信息取得密钥(S7006)。该确认利用从判断部210 通知给模块无效化部230的更新模块的信息来进行。在确认的结果是来自被篡改的更新模块133的委托、或是对未被篡改的更新模块 131,132的访问信息取得密钥的取得委托的情况下(S7006为否),停止无效化处理。若确认的结果没有问题(S7006为是),则向发来委托的更新模块131送达用于无效化更新模块133的访问信息取得密钥(S7008)。更新模块131从模块无效化部230接收访问信息取得密钥,并从访问控制模块140 接收被加密的访问信息(S7009)。更新模块131根据访问信息取得密钥与被加密的访问信息,取得访问信息(S7010)。取得的访问信息是用于删除更新模块133的专用驱动。更新模块131利用专用驱动程序,删除被篡改的非法更新模块133(S7011)。更新模块131当无效化处理结束时,删除访问信息取得密钥、被加密的访问信息、 以及访问信息等,向模块无效化部230发送完成通知(S7012)。模块无效化部230 —旦从更新模块131接收完成通知,则向判断部210发送无效化的完成通知(S7013)。这里,在步骤S7003中,对更新模块131委托被篡改更新模块133的无效化处理, 但作为选择一个合法更新模块的方法,也可使用根据本发明的非法模块确定处理的结果来选择一个合法模块。另外,在利用无效化处理使得具备分散信息保持部308的更新模块无效化的情况下,也删除该更新模块保持的分散信息。因此,在使具备分散信息保持部308的更新模块无效化的情况下,需要进行考虑了分散信息删除的无效化处理。考虑了分散信息删除的无效化处理在专利文献2的56页 64页作为“脱离处理” 详细说明。通过使专利文献2中的秘密密钥d对应于本实施方式的加解密密钥,使分散信息保持装置对应于本实施方式的更新模块131、132、133,可利用与专利文献2相同的方法。 为了进行考虑了分散信息删除的无效化处理,除无效化的非法更新模块以外,还需要最少3 个合法更新模块。在无效化处理中使用保护控制模块120的情况下,只要以与初始设计时相同的方法再次生成分散信息并分发即可。如上所述,因为更新模块群130内的多个更新模块进行相互监视处理,所以可检测被篡改的更新模块,可提高软件更新系统的可靠性。另外,因为使被篡改的更新模块无效化,所以可防止由被篡改更新模块进行非法动作。2.实施方式2这里,参照

根据本发明的非法模块无效化系统的实施方式2。在上述实施方式1中,作为确定被篡改的非法更新模块的方法,例如在过半数等规定数量的更新模块判定为“被篡改”的情况下,将该被判定的更新模块判断为非法更新模块。但是,在更新模块被篡改的情况下,有可能将实际上未被篡改的模块误判断为“被篡改”,或将实际上被篡改的模块误判断为“未被篡改”。此时,假定不能使应无效化的更新模块无效化的情况、或使不应无效化的模块无效化的事态。在非专利文献3中,记载用于利用模块的相互监视来进行故障诊断的技术。但是,在该技术中,由于限制系统内的故障数,所以有可能与实施方式1的情况一样进行误判断。因此,在实施方式2中,根据篡改检测结果的矛盾来确定非法更新模块。2. 1软件更新系统IOa的构成用图79来说明根据实施方式2的软件更新系统IOa的构成。如图79所示,软件更新系统IOa经由网络连接信息处理装置IOOa与非法模块确定装置200a来构成。
信息处理装置IOOa包含模块131、模块132、模块133。这些模块相互进行篡改检测处理,将篡改检测结果经由网络发送到非法模块确定装置200a。信息处理装置IOOa也可构成为包含更多模块。非法模块确定装置200a由接收单元2310、判断单元210a和无效化单元2320构成。接收单元2310从信息处理装置IOOa的模块131、132、133接收篡改检测结果。判断单元210a将所述多个模块中的一个假定为正常模块,根据所述假定,判断接收到的多个篡改检测结果中有无矛盾,在有矛盾的情况下,将假定为正常模块的所述模块确定为非法模块。判断单元210a如图79所示,由假定正常模块群存储单元2330、假定单元2340、假定正常模块群生成单元2350、矛盾检测单元2360和确定单元2370构成。假定正常模块群存储单元2330存储假定为正常模块的模块的识别信息。假定单元2340从模块131、132、133中选择一个,假定为正常模块,将识别信息记录在假定正常模块群存储单元2330中。假定正常模块群生成单元2350重复如下步骤以由假定单元2340假定为正常模块的所述模块为起点,将作为篡改检测处理得结果未被检测到篡改的模块假定为正常模块,将识别信息记录在假定正常模块群存储单元2330中。矛盾检测单元2360判断与存储在假定正常模块群存储单元2330中的识别信息对应的模块所进行的篡改检测结果中是否有矛盾。确定单元2370在由矛盾检测单元2360检测到矛盾的情况下,将假定单元2340中假定为正常模块的所述模块确定为非法模块。无效化单元2320输出被确定的非法模块的无效化指示。2. 2软件更新系统IOb的构成这里,进一步具体说明根据本发明的实施方式2。(1)整体构成图80是表示作为用于进一步具体说明实施方式2的实施例的软件更新系统IOb 的构成框图。如图80所示,软件更新系统IOb由作为根据本发明的信息处理装置的设备100b、 与作为根据本发明的非法模块确定装置的更新服务器200b构成。另外,设备IOOb和更新服务器200b经由网络连接。设备IOOb由应用110、应用111、保护控制模块120、更新模块群130b和访问控制模块140构成。更新服务器200b由判断部210b、更新用软件分发部220、模块无效化部230和通信部240构成。图80中,向具有与实施方式1 一样功能的构成要素附加与图1相同的符号,省略详细说明。下面,详细说明实施方式2的特征构成要素和处理。(2)更新模块群130b的构成图沈是表示实施方式2的更新模块群130b的构成的图。如图沈所示,实施方式2的更新模块群130b包含更新模块131、132、133、134、135,136和137这7个更新模块。各更新模块的构成与实施方式1 一样(参照图2)。(3)判断部210b的构成图27是功能表示根据实施方式2的判断部210b的构成的功能框图。如图27所示,判断部210b由接收部601、发送部602、指示生成部603、模块确定部 604b和循环检测部606构成。另外,模块确定部604的内部具备非法模块确定部605。与实施方式1的判断部210的差异在于在模块确定部604的内部具备非法模块确定部60这一点和具备循环检测部606这一点。(a)非法模块确定部605的构成这里,说明作为实施方式2的特征构成要素的非法模块确定部605的详细构成。图观是表示非法模块确定部605的功能构成的功能框图。如图观所示,非法模块确定部605由确定指示接收部651、确定结果发送部652、正常模块假定部653、验证结果判定部654、假定正常更新模块群抽取部655、矛盾检测部656和循环监视模式取得部657 构成。若确定指示接收部651从指示生成部603受理非法更新模块的确定指示和更新模块群130b的相互监视结果(篡改检测结果),则确定指示接收部651向正常模块假定部653 输出所述指示。确定结果发送部652若从矛盾检测部656受理非法更新模块的确定结果,则将确定结果输出到指示生成部603。正常模块假定部653若从确定指示接收部651受理指示,则选择更新模块群130 内的一个更新模块,将选择出的更新模块假定为正常的更新模块。之后,将选择出的更新模块设为假定正常更新模块群。假定正常更新模块群是由正常模块假定部653假定为正常模块的更新模块所构成的概念上的分组。具体地,正常模块假定部653生成包含假定为正常的全部更新模块的识别信息的假定正常更新模块群构成信息。正常模块假定部653将选择出的更新模块的识别序号输出到矛盾检测部656。另外,将假定正常更新模块群构成信息输出到验证结果判定部654。正常模块假定部653将取得循环监视模式的指示输出到循环监视模式取得部 657。若从循环监视模式取得部657受理确定结果,则正常模块假定部653将循环监视模式内的更新模块以外的更新模块假定为正常的更新模块。另外,循环监视模式的细节如后所述。若从矛盾检测部656受理表示无矛盾的通知,则正常模块假定部653将选择出的更新模块之外的更新模块假定为正常的更新模块,包含于假定正常更新模块群中。之后,更新假定正常更新模块群构成信息。正常模块假定部653将更新后的假定正常更新模块群构成信息输出到验证结果判定部654。验证结果判定部6M若从正常模块假定部653受理了假定正常更新模块群构成信息,则判定假定正常更新模块群内的更新模块对其他更新模块的篡改检测结果。验证结果判定部6M在假定正常更新模块群内的更新模块对其他更新模块的篡改检测结果为正常的情况下,将被验证的更新模块视为正常的更新模块。即,可将正常的更新模块判断为“正常”的更新模块视为正常的更新模块。
之后,验证结果判定部6M将视为正常的更新模块的识别信息和与从正常模块假定部653受理的假定正常更新模块群构成信息输出到假定正常更新模块群抽取部655。在不存在可视为正常的更新模块的情况下,验证结果判定部6M将该情况输出到假定正常更新模块群抽取部655。另外,验证结果判定部6M在从假定正常更新模块群抽取部655接收到假定正常更新模块群构成信息的情况下,也进行同样的处理。假定正常更新模块群抽取部655受理可视为正常的更新模块的识别序号和假定正常更新模块群构成信息。之后,将受理到的识别序号追加到受理的假定正常更新模块群构成信息,更新构成信息。假定正常更新模块群抽取部655将更新后的假定正常更新模块群构成信息输出到验证结果判定部654。若从验证结果判定部6M受理表示不存在可视为正常的更新模块的通知,则假定正常更新模块群抽取部655向矛盾检测部656输出假定正常更新模块群构成信息。矛盾检测部656若从假定正常更新模块群抽取部655受理了假定正常更新模块群构成信息,则进行矛盾检测处理。细节如后所述。在检测到矛盾的情况下,在正常模块假定部653中可确定为假定为正常的更新模块是非法更新模块。因此,矛盾检测部656将确定了非法更新模块的情况通知给确定结果发送部652。在未检测到矛盾的情况下,矛盾检测部656将无矛盾的情况通知给正常模块假定部653。另外,矛盾检测部656在从循环监视模式取得部657受理循环监视模式的情况下, 判断循环监视模式内的更新模块对循环监视模式内的其他更新模块进行篡改检测处理的结果是否存在被判定为非法的更新模块。在存在非法更新模块的情况下,确定为循环监视模式中包含的全部更新模块是非法模块。并且,矛盾检测部656验证循环监视模式内的更新模块对循环监视模式外的同一更新模块进行了篡改检测处理所得到的检测结果中是否有矛盾。在有矛盾的情况下,确定为循环监视模式中包含的全部更新模块是非法模块。之后,若确定为循环监视模式中包含的全部更新模块是非法模块,则矛盾检测部 656将该情况输出到确定结果发送部652和正常模块假定部653。循环监视模式取得部657若从正常模块假定部653受理了取得指示,则向循环检测部606输出循环监视模式的取得指示。另外,若从循环检测部606受理了循环监视模式, 则向矛盾检测部656输出循环监视模式。(b)循环检测部606的构成这里,说明作为实施方式2的特征构成要素的循环检测部606的详细构成。图四是表示循环检测部606的功能构成的功能框图。如图四所示,循环检测部 606由取得指示接收部661、循环监视模式发送部662、循环监视模式取得部663、已取得循环监视模式存储部664、监视模式存储部665和循环监视模式存储部666构成。取得指示接收部661若从非法模块确定部605受理了循环监视模式的取得指示, 则向循环监视模式取得部663输出指示。循环监视模式发送部662若从循环监视模式取得部663取得循环监视模式,则将取得的循环监视模式输出到非法模块确定部605。
循环监视模式取得部663从循环监视模式存储部666中读出循环监视模式,判断读出的循环监视模式中包含的一群更新模块单向循环进行的篡改检测处理的结果是否全部正常。在全部正常的情况下,循环监视模式取得部663将从循环监视模式存储部666读出的该循环监视模式输出到循环监视模式发送部662。另外,将该循环监视模式输出到已取得循环监视模式存储部664。 已取得循环监视模式存储部664存储从循环监视模式取得部663取得的循环监视模式。监视模式存储部665存储更新模块群130b中包含的更新模块间的监视模式。所谓监视模式是指记述更新模块群130b中包含的更新模块131 137相互进行篡改检测处理时的、与监视对象(验证对象)的模块有关的信息的模式。具体地,监视模式中记述有模块识别符、存储器上的位置、尺寸、地址、文件名等。用图30所示的具体例来进行说明。图30中,为了容易说明监视模式,用有向图表来表示监视模式。箭头从监视源(验证源)的更新模块指向监视对象(验证对象)的更新模块。例如,箭头2000从更新模块131指向更新模块132,所以更新模块131进行更新模块132的篡改验证处理。箭头2001从更新模块131指向更新模块134,所以更新模块131 还进行更新模块134的篡改验证处理。箭头2003从更新模块133指向更新模块131,所以更新模块133进行更新模块131的篡改检测处理。循环监视模式存储部666取得监视模式存储部665中存储的监视模式,从全体监视模式中检测单向循环进行篡改检测处理的一群更新模块,并生成循环监视模式。之后,循环监视模式存储部666对生成的循环监视模式进行存储。所谓循环监视模式是对于单向循环进行篡改检测处理的多个更新模块记述与监视对象(验证对象)的模块有关的信息的模式。具体地,循环监视模式中记述有模块识别符、存储器上的位置、尺寸、地址、文件名等。用图30所示的具体例来进行说明。所谓单向循环进行篡改检测处理的一群更新模块例如是更新模块131、更新模块 132和更新模块133。如图30的箭头所示,具有如下关系,即更新模块131验证更新模块 132,更新模块132验证更新模块133,更新模块133验证更新模块131。记述这些更新模块131、132和133的信息的模式就是循环监视模式。另外,图30中,更新模块131、更新模块132、更新模块135、更新模块137、更新模块133也单向循环进行篡改检测处理,更新模块133、更新模块136、更新模块137也单向循环进行篡改检测处理。 这样,循环监视模式存储部666可根据图30的监视模式,生成多个循环监视模式。(b)相互监视结果(篡改检测结果)的矛盾这里,说明篡改检测结果的矛盾。在更新模块群130b以图30所示的监视模式相互进行篡改检测处理的情况下,更新模块131 137将各个篡改检测结果发送到更新服务器200b的判断部210b。图31是表示判断部210b接收到的检测结果的图。图31中,用与箭头对应记载的 〇标记表示“未被篡改”的检测结果,用与箭头对应记载的X标记表示“被篡改”的检测结果。例如,〇标记2010表示更新模块131进行更新模块132的篡改检测处理的结果, 判定为“未被篡改”。另外,〇标记2011表示更新模块131进行更新模块134的篡改检测处理的结果, 判定为“未被篡改”。另外,〇标记2012表示更新模块133进行更新模块131的篡改检测处理的结果, 判定为“未被篡改”。另外,X标记2013表示更新模块134进行更新模块136的篡改检测处理的结果, 判定为“被篡改”。另外,X标记2014表示更新模块133进行更新模块136的篡改检测处理的结果, 判定为“被篡改”。另外,图31中,对应于全部箭头记载了检测结果。这表示判断部210b完成了全部篡改检测结果的接收。下面,用图32来说明矛盾。首先,将更新模块132假定为正常更新模块。之后,更新模块133和135如〇标记2015和〇标记2016所示,均由更新模块132判定为“未被篡改”。由正常的更新模块132判定为“未被篡改”的更新模块133和135可假定为均是正常模块。但是,如X标记2017所示,假定为正常模块的更新模块133将更新模块135判定为“被篡改”,作为正常模块的更新模块132的篡改检测结果与作为正常模块的更新模块 133的篡改检测结果不一致。将这种情况称为篡改检测结果矛盾。(4)非法模块确定处理的动作这里,用图33和图42,说明软件更新系统IOb中的非法更新模块的确定处理的动作。(a)通常的监视模式的情况图33是表示非法模块确定处理的动作的流程图。非法模块确定部605对全部更新模块重复步骤S8001 步骤S8006的处理 (S8000)。下面,使用图34所示的篡改检测结果作为具体例,说明对更新模块131的非法模块确定处理的动作。首先,正常模块假定部653将更新模块131假定为正常更新模块,生成仅包含更新模块131的假定正常更新模块群(S8001)。接着,验证结果判定部6M判断假定正常更新模块群中包含的更新模块131所进行的篡改检测处理中是否存在判定为“未被篡改(正常)”的更新模块(S8002)。根据图34,如〇标记2021和〇标记2022所示,更新模块132和更新模块134被判定为正常。在存在被判定为正常的更新模块的情况下(S8002为是),验证结果判定部6M将被判定为正常的更新模块132和更新模块134的识别信息输出到假定正常更新模块群抽取部 655。假定正常更新模块群抽取部655将受理的识别信息追加到假定正常更新模块群。由此,将被判定为正常的更新模块132和更新模块134追加到假定正常更新模块群 (S8003)。同样地,验证结果判定部6M判断假定正常更新模块群中包含的更新模块132和更新模块134所进行的篡改检测处理中是否存在被判定为正常的更新模块(S8002)。如〇 标记2023所示,更新模块133被判定为正常,所以将更新模块133追加到假定正常更新模块群(S8003)。同样地,验证结果判定部6M判断假定正常更新模块群中包含的更新模块133所进行的篡改检测处理中是否存在被判定为正常的更新模块(S800》。如〇标记20对和〇标记2025所示,更新模块131和更新模块136被判定为正常,所以将更新模块136追加到假定正常更新模块群(S8003)。在不存在假定正常更新模块群中包含的更新模块判定为正常的更新模块的情况下(S8002为否),矛盾检测部656判断假定正常更新模块群中包含的更新模块的验证结果中是否有矛盾(S8004)。此时,形成了图34所示的假定正常更新模块群2031。若观察假定正常更新模块群2031中包含的更新模块的验证结果,则更新模块133对更新模块136的验证结果为〇标记2025,相反,更新模块134对更新模块136的验证结果为X标记20 ,所以验证结果存
在矛盾。在假定正常更新模块内存在矛盾的情况下(S8004为是),则在步骤S8001中,假定为正常的更新模块131为假定错误。即,确定为更新模块131是非法更新模块(S8005)。在假定正常更新模块内无矛盾的情况下(S8004为否),则在步骤S8001中,不对假定为正常的更新模块131进行确定(S8006)。接着,返回步骤S8000,将其他更新模块假定为正常,进行步骤S8001 步骤S8006 的处理。对更新模块群130b中包含的全部更新模块重复进行,直到步骤S8001 步骤 S8006的处理结束(S8007)。这样,实施方式2中的非法模块确定处理通过着眼于一个更新模块来作为判断对象,将该更新模块假定为正常模块,然后根据该假定来验证各更新模块的篡改检测结果中是否有矛盾。另外,在有矛盾的情况下,将判断对象的更新模块确定为非法模块。由此,判断部210b可使用逻辑验证方法来有效地确定伪造并通知篡改检测结果的非法更新模块。另外,判断部210b通过输出被确定的非法更新模块的无效化指示,可适当排除非法更新模块。(b)循环监视模式的情况下面,说明更新模块群130b中包含的更新模块间的监视模式中包含循环监视模式时的非法模块确定处理。例如,图35中,更新模块133、更新模块136、更新模块137如箭头2041、2042、2043 所示,单向循环进行篡改检测处理。另外,如〇标记2045、2046、2047所示,篡改检测结果全部正常。在这种情况下,可在非法模块确定处理中将更新模块133、更新模块136、更新模块137作为一群处理。
例如,在确定为更新模块133是非法更新模块的情况下,更新模块137对更新模块 133的篡改检测结果(图35的〇标记2047)为错误。此时,更新模块137是不能正确进行篡改检测的非法更新模块的可能性高。并且,在更新模块137是非法更新模块的情况下,更新模块136对更新模块137的篡改检测结果(图35的〇标记2046)为错误。此时,更新模块136也是不能正确进行篡改检测的非法更新模块的可能性高。S卩,在全部篡改检测结果为正常的循环监视模式中,在确定为其中的一个更新模块非法的情况下,可视为循环监视模式内的全部更新模块非法。下面,用图36和图37进一步具体说明。图36中,由更新模块133、136、137构成的循环监视模式的篡改检测结果全部正常。因此,可将更新模块133、136、137作为一群处理。这里,更新模块133对更新模块136的篡改检测结果与更新模块137对更新模块 136的篡改检测结果存在矛盾。因此,可将更新模块133、136、137作为一群全部确定为非法更新模块。另外,在图36的实例中,更新模块136和更新模块137相互进行篡改检测处理。更新模块136将更新模块137判断为“被篡改”,更新模块137将更新模块136判断为“未被篡改”。这样,在循环监视模式内的一组更新模块的相互监视结果中有矛盾的情况下,也可将更新模块133、136、137作为一群,全部确定为非法更新模块。图37中,由更新模块131、132、133构成的循环监视模式的篡改检测结果全部正常。因此,可将更新模块131、132、133作为一群处理。这里,更新模块132对更新模块135的篡改检测结果(〇标记2061)与更新模块 133对更新模块135的篡改检测结果(X标记206 存在矛盾。这样,在对循环监视模式外的更新模块的篡改检测结果矛盾的情况下,也可将更新模块131、132、133作为一群,全部确定为非法更新模块。这样,通过将循环监视模式中包含的更新模块作为一群处理,与对各个更新模块逐个判断是否非法的情况相比,可格外提高处理效率。接着,用图38的流程图来说明考虑了循环监视模式的非法模块确定处理的动作。首先,循环监视模式取得部663通过参照循环监视模式存储部666,判断更新模块群130b的监视模式中是否存在循环监视模式(S8101)。在不存在循环监视模式的情况下 (S8101为否),结束非法模块确定处理。在存在循环监视模式的情况下(S8101为是),判断该循环监视模式的篡改检测结果是否全部正常(S8102)。在不是全部正常的情况下(S8102为否),不能将该循环监视模式内的更新模块作为一群处理。因此,前进到步骤S8105。在该循环监视模式的篡改检测结果全部正常的情况下(S8102为是),对于循环监视模式内的更新模块进行篡改检测处理的相同更新模块,判断验证结果是否一致(S8103)。在不一致的情况下(S8103为否),确定为循环监视模式内的更新模块全部是非法更新模块(S8104)。在循环监视模式的监视结果不是全部正常的情况下(S8102为否)、以及对循环监视模式内的更新模块进行篡改检测处理的相同更新模块验证结果一致的情况下(S8103为是),判断更新模块群130b的监视模式中是否存在其他循环监视模式(S8105)。在存在其他循环监视模式的情况下(S8105为是),返回到步骤S8102,继续处理。 在不存在其他循环监视模式的情况下(S8105为否),结束非法模块确定处理。(c)循环监视模式选择方法下面,说明循环监视模式选择方法。如上所述,在非法模块确定处理中,循环监视模式的篡改检测结果全部正常的情况下,可将循环监视模式中包含的全部更新模块作为一群处理。这里,在循环监视模式中包含的更新模块的数量(下面表现为“循环尺寸”。)大的情况下,认为循环监视模式中包含的全部更新模块同时被篡改的可能性低。另外,循环尺寸越大,则全部验证结果正常的可能性越低。由此,在实施方式2中,在存在多个循环监视模式的情况下,通过从循环尺寸小的循环监视模式开始优先进行非法模块确定处理,有效发现非法的更新模块并使其无效化。另外,在存在多个循环尺寸相同的循环监视模式的情况下,根据对循环监视模式内的更新模块进行篡改检测处理的循环监视模式外的更新模块的数量,确定进行非法模块确定处理时的优先顺序。在循环监视模式内的更新模块被判断为全部是非法模块之后,循环监视模式外的更新模块在将循环监视模式中包含的任一更新模块判定为正常的情况下,可判断为该循环监视模式外的更新模块是非法更新模块。因此,在存在多个循环尺寸相同的循环监视模式的情况下,从对循环监视模式内的更新模块进行篡改检测处理的循环监视模式外的更新模块的数量多的循环监视模式开始,优先进行非法模块确定处理。为了实现上述处理,循环监视模式存储部666若从监视模式存储部665检测到多个循环监视模式,则加入上述循环监视模式中,生成并存储图39或图40所示的循环监视模式列表。循环监视模式列表是对监视模式中包含的多个循环监视模式按每个循环监视模式记述与该循环监视模式有关的信息的列表。图39是表示循环监视模式列表2100的数据结构的图。如图39所示,循环监视模式列表2100对各循环监视模式,将循环的尺寸、构成该循环监视模式的更新模块的识别信息、以及对该循环监视模式内的更新模块进行篡改检测处理的循环监视模式外的更新模块的数量(这里称为“向循环的输入”。)对应存储。例如,No. 1的循环监视模式的循环尺寸为3,由更新模块131、132、133构成。另外,存在1个对该循环监视模式内的更新模块进行篡改检测处理的循环监视模式外的更新模块。图40是表示循环监视模式列表2200的数据结构的图。循环监视模式列表2200若与图39的循环监视模式列表2100相比,则各循环监视模式的信息按循环尺寸从小到大的顺序排列。并且,在有循环尺寸相同的多个循环监视模式的情况下,按对循环监视模式内的更新模块进行验证的外部更新模块的数量(向循环的输入)从大到小的顺序排列。因此,若使用图40的列表2200,则容易判断最好从多个循环监视模式中的哪个循环监视模式开始优先进行处理,与使用图39的列表2100的情况相比,可更有效地发现非法的更新模块并使其无效化。下面,用图41和图42的流程图来说明存在多个循环监视模式的情况下的非法模块确定处理的动作。首先,循环监视模式取得部663通过参照循环监视模式存储部666,判断更新模块群130b的监视模式中是否存在循环监视模式(S8111)。在不存在循环监视模式的情况下 (S8111为否),结束非法模块确定处理。在存在循环监视模式的情况下(S8111为是),循环监视模式取得部663从循环监视模式存储部666中存储的循环监视模式列表中,搜索循环尺寸最小的循环监视模式
(58112)。并且,在存在多个循环尺寸相同的循环监视模式的情况下,循环监视模式取得部 663选择对循环监视模式内的更新模块进行验证的外部更新模块的数量多的循环监视模式
(58113)。接着,循环监视模式取得部663判断选择出的循环监视模式的监视结果是否全部正常(S8114)。在不是全部正常的情况下(S8114为否),前进到步骤S8118。在全部正常的情况下(S8114为是),矛盾检测部656确认循环监视模式内的更新模块对循环监视模式内的其他更新模块进行篡改检测处理的结果是否存在被判定为非法的更新模块(S8115)。在存在被判定为非法的更新模块的情况下(S8115为是),确定为循环监视模式内的更新模块全部是非法更新模块(S8116),前进到步骤S8118。在不存在被判定为非法的更新模块的情况下(S8115为否),矛盾检测部656判断循环监视模式内的更新模块对循环监视模式外的相同更新模块进行的篡改检测结果中是否有矛盾(S8117)。在验证结果矛盾的情况下(S8117为否),确定为循环监视模式内的更新模块全部是非法更新模块(S8116),前进到步骤S8118。在验证结果一致的情况下(S8117为是),循环监视模式取得部663参照循环监视模式存储部666中存储的循环监视模式列表,判断是否另外存在循环监视模式(S8118)。在存在循环监视模式的情况下(S8118为是),循环监视模式取得部663选择循环尺寸为上次对象的循环监视模式的循环尺寸以上且最小的循环监视模式(S8119)。之后,返回到步骤S8113,继续处理。在不另外存在循环监视模式的情况下(S8118为否),结束非法模块确定处理。(5)关于分散信息这里,说明循环监视模式与更新模块所保持的分散信息之间的关系。在上述初始设定处理中,保护控制模块120使用秘密分散法、根据加解密密钥制作分散信息,并将生成的分散信息发送到各更新模块。在使用专利文献2中记载的方法的情况下,将相同分散信息发送到多个更新模块。由此,即便在某个更新模块被无效化、不能从该更新模块取得分散信息的情况下,也可通过从保持相同分散信息的其他更新模块取得分散信息,从而复原加解密密钥。在循环监视模式中,若一个更新模块被确定为非法模块,则循环监视模式中包含的全部更新模块被确定为非法模块并被无效化。
因此,实施方式2的保护控制模块120为了防止不能复原加解密密钥的事态发生, 在存在循环监视模式的情况下,根据循环监视模式的构成,向各更新模块发送分散信息。下面,用图43和图44来具体说明。图43是表示监视模式的一例的图。根据图43,更新模块131、132、133和更新模块 133、136、137是循环监视模式。此时,在存在仅由循环监视模式内的更新模块131、132、133保持而未由其他更新模块保持的分散信息的情况下,若使更新模块131、132、133全部无效化,则保护控制模块 120不能复原加解密密钥。同样,在存在仅由更新模块133、136、137保持而未由其他更新模块保持的分散信息的情况下,若使更新模块133、136、137全部无效化,则保护控制模块120不能复原加解密密钥。因此,保护控制模块120如图44所示,向各更新模块发送各分散信息,以使对于分散信息1、分散信息2、分散信息3、分散信息4、分散信息5、分散信息6和分散信息7的全部,仅由更新模块131、132、133保持的分散信息、以及仅由更新模块133、136、137保持的分散信息不存在。由此,即便在使更新模块131、132、133全部无效化的情况下,或即便在使更新模块133、136、137全部无效化的情况下,保护控制模块120也可复原加解密密钥。3.实施方式3这里,说明其他实施方式。3. 1篡改监视系统IOca用图77所示的构成图来说明作为其他实施方式的篡改监视系统10ca。篡改监视系统IOca如图77所示,由信息安全装置IOOca和管理装置200ca构成。信息安全装置IOOca具有监视篡改的多个监视模块131ca、132ca、133ca、134ca0管理装置200ca由如下单元构成接收部MOca,从信息安全装置IOOca接收各监视模块对其他监视模块的监视结果;检测部678ca,使用接收到的所述监视结果,检测未被篡改的正常监视模块的存在;第一假定部673ca,在进行所述检测的情况下,对从所述监视模块中选择的一个监视模块假定为被篡改;第二假定部679ca,以假定为被篡改的所述监视模块为起点,使用接收到的所述监视结果,对未处理的监视模块,连锁适用对将被假定为被篡改的监视模块判定为正常的监视模块假定为被篡改的步骤;和判断部676ca,判断所述第二假定部679ca适用步骤的结果是否假定为全部监视模块被篡改,在进行所述判断的情况下,将最初假定为被篡改的所述监视模块确定为正常监视模块。根据管理装置200ca,检测部678ca由于检测未被篡改的正常监视模块的存在,所以至少1个监视模块正常。相反,在由判断部678ca判断为对全部监视模块假定为被篡改的情况下,该判断结果与检测部678ca的检测结果矛盾。这是因为第1假定部673ca的假定中存在错误。因此,覆盖第一假定部673ca的假定,由第一假定部673ca将假定为被篡改的监视模块确定为正常监视模块。如上所述,由于可决定正常监视模块,所以正常监视模块的监视结果可信赖,可有效利用。
另外,如上所述,在已决定正常监视模块的情况下,全部取消上述为非法的假定。3. 2软件更新系统IOcb说明作为其他实施方式的软件更新系统IOcb (未图示)。在软件更新系统IOcb中,在更新处理中的更新模块选择(图20的步骤S5106和图21的步骤S5112)中,使用确定未被篡改、即正常的更新模块的方式。若使用该方式,则由于可从多个更新模块中逻辑地确定正常的更新模块,所以可使用确定的正常更新模块来安全地更新保护控制模块。在软件更新系统IOcb中,与实施方式2 —样,说明更新模块为7个的情况。但是, 更新模块也可以是8个以上,或是6个以下。(1)软件更新系统IOcb的构成软件更新系统IOcb由更新服务器200cb (未图示)和设备100构成。设备100具有与实施方式1的设备100相同的构成。更新服务器200cb具有与实施方式1的更新服务器200类似的构成,具有图45所示的判断部210cb,代替更新服务器200的判断部210。其他构成与更新服务器200相同。下面,主要说明与更新服务器200的差异。(2)判断部210cb的构成判断部210cb具有与图27所示的判断部210b类似的构成。判断部210cb如图45 所示,具有模块确定部6(Mcb,代替判断部210b的模块确定部604b。模块确定部604cb如图45所示,具有非法模块确定部605和正常模块确定部607。非法模块确定部605与图27 所示的非法模块确定部605相同。下面说明正常模块确定部607。(3)正常模块确定部607正常模块确定部607如下所示,使用设备100中的各更新模块的相互监视结果,确定未被篡改的正常更新模块。正常模块确定部607如图46所示,由确定指示接收部671、确定结果发送部672、 非法模块假定部(也称为第一假定部。)673、验证结果判定部674、假定非法更新模块群抽取部675、抽取结果判断部676、循环监视模式判定部677以及异常检测部678构成。另外, 验证结果判定部674和假定非法更新模块群抽取部675构成第二假定部679。第二假定部679以由非法模块假定部673假定为被篡改的更新模块为起点,使用接收到的监视结果,对未处理的更新模块,连锁适用对将被假定为被篡改的更新模块判定为正常的更新模块假定为被篡改的步骤。(a)确定指示接收部671确定指示接收部671从指示生成部603接收表示确定正常更新模块的指示的正常模块确定指示。若接收到正常模块确定指示,则将正常模块确定指示输出到异常检测部 678。另外,确定指示接收部671从指示生成部603接收更新模块列表。更新模块列表包含识别构成设备100中的更新模块群130的全部更新模块的识别序号。接着,确定指示接收部671将接收到的更新模块列表输出到非法模块假定部673和抽取结果判断部676。另外,确定指示接收部671从设备100经由网络5、通信部M0、接收部601和指示生成部603,接收设备100中的更新模块群130的监视结果。另外,将接收到的更新模块群 130的监视结果输出到异常检测部678、非法模块假定部673、循环监视模式判定部677和验证结果判定部674。(b)异常检测部678异常检测部678如下所示,使用接收到的所述监视结果,检测未被篡改的正常监视模块的存在。简单地说,异常检测部678使用上次接收到的监视结果与这次接收到的监视结果,在利用上次接收到的监视结果判定为全部更新模块正常、且利用这次接收到的监视结果未判定为全部更新模块正常的情况下,检测未被篡改的正常更新模块的存在。这里, 设上次监视与这次监视的时间间隔比规定阈值小。下面,进一步详细说明异常检测部678。异常检测部678从确定指示接收部671接收正常模块确定指示。若接收到正常模块确定指示,则异常检测部678从确定指示接收部671接收设备 100中更新模块群130的监视结果(最新的监视结果)。另外,从确定指示接收部671接收设备100中更新模块群130的上次的监视结果。所谓上次的监视,表示进行最新的监视之前一次的监视。设备100定期或不定期地以密的间隔(例如1月10 20次、1周5 6次、1日2 3次、1小时1次等)重复监视。上次监视与这次监视的时间间隔比规定阈值小。这里,规定阈值的实例为5日、3日、1 日、12小时、6小时、3小时、1小时等。更新服务器200cb累积存储各监视的监视结果。如上所述,因为设备100定期或不定期地以密的间隔重复监视,所以可假定为避免从第1监视时刻至其后的第2监视时刻之间全部更新模块被篡改的事态。S卩,可假定为在第1监视时刻全部更新模块未被篡改的情况下,在第1监视时刻的下一个的第2监视时刻,至少1个更新模块未被篡改。异常检测部678使用接收到的最新监视结果,判断最新的监视结果是否全部正常。在最新的监视结果全部正常的情况下,经确定结果发送部672,将表示最新的监视结果全部正常的正常结果输出到指示生成部603,模块确定部604cb结束处理。此时,因为全部更新模块正常,所以不必进行正常更新模块的确定处理。异常检测部678在未判断为最新的监视结果全部正常的情况下,接着使用接收到的上次监视结果,判断上次监视结果是否全部正常。在未判断为上次监视结果全部正常的情况下,将表示该情况的结果经确定结果发送部672输出到指示生成部603,模块确定部 604cb结束处理。此时,因为全部更新模块有可能不正常,所以不进行正常更新模块的确定处理。在上次监视结果全部正常的情况下,异常检测部678对构成正常模块确定部607 的其他构成部进行控制,以进行正常模块的确定处理。另外,对循环监视模式判定部677输出表示确定非法更新模块的非法模块确定指示。(c)循环监视模式判定部677循环监视模式判定部677从异常检测部678接收非法模块确定指示,从确定指示接收部671接收更新模块群130的监视结果。若接收了非法模块确定指示,则循环监视模式判定部677向循环检测部606发送循环监视模式的取得指示。若存在1个以上的循环监视模式,则循环检测部606将其发送到循环监视模式判定部677。接着,循环监视模式判定部677从循环检测部606接收循环监视模式。
接着,循环监视模式判定部677使用接收到的监视结果,验证由接收到的循环监视模式所示的多个更新模块的监视结果中是否有矛盾。在有矛盾的情况下,确定为接收到的循环监视模式内包含的更新模块全部是非法更新模块,将分别识别确定为非法的全部更新模块的非法识别序号发送到非法模块假定部673。另外,循环监视模式简单地说如下所述。利用循环监视模式对更新模块设定监视对象的更新模块。循环监视模式表示作为第1更新模块的监视对象的第2更新模块监视所述第1更新模块、或经(隔着)1个以上的更新模块监视所述第1更新模块。总之,循环监视模式判定部677在根据循环监视模式的多个更新模块对其他1个更新模块的多个监视结果不一致的情况下,将根据该循环监视模式的多个更新模块确定为非法更新模块。另外,也可如下所示确定非法更新模块。即,非法模块确定部在假定1个更新模块正常的情况下,使用接收的监视结果,判断多个监视结果中是否存在不一致,在存在不一致的情况下,将假定为正常的所述更新模块确定为非法更新模块。(d)非法模块假定部673非法模块假定部673如下所示,假定为对从更新模块中选择出的1个更新模块进行了篡改。非法模块假定部673从确定指示接收部671接收更新模块列表,接收设备100中更新模块群130的监视结果。另外,从循环监视模式判定部677接收分别识别确定为非法的全部更新模块的非法识别序号。接着,非法模块假定部673选择更新模块列表中包含的更新模块识别序号之中的、接收到的非法识别序号以外的更新模块的一个识别序号,并将由选择出的识别序号表示的更新模块假定为非法更新模块。将该选择出的识别序号称为假定识别序号。非法模块假定部673确定空集合的假定非法更新模块群,接着将假定识别序号包含于假定非法更新模块群中。此时,假定非法更新模块群中仅包含识别选择出的更新模块的假定识别序号。另外,假定非法更新模块群也可称为假定非法分组。这样,非法模块假定部673生成包含假定识别序号的假定非法分组。接着,非法模块假定部673将选择出的更新模块的假定识别序号发送给抽取结果判断部676,将假定非法更新模块群的假定非法构成信息发送到验证结果判定部674。假定非法更新模块群的假定非法构成信息由假定非法更新模块群中包含的全部识别序号构成。另外,非法模块假定部673从抽取结果判断部676接收不能确定正常更新模块的不可确定通知。在接收到不可确定通知的情况下,非法模块假定部673新选择更新模块列表中包含的更新模块的识别序号之中的、接收到的非法识别序号以外的更新模块且与选择出的更新模块不同的更新模块的识别序号,将选择出的更新模块假定为非法的正常模块, 仅将识别选择出的该更新模块的假定识别序号包含于假定非法更新模块群中,将假定非法更新模块群的假定非法构成信息发送到验证结果判定部674。(e)第二假定部价9第二假定部679如上所述,由验证结果判定部674和假定非法更新模块群抽取部 675构成。
第二假定部679如下所述,以由非法模块假定部673假定为被篡改的更新模块为起点,使用接收到的监视结果,对未处理的更新模块,连锁适用对将被假定为被篡改的更新模块判定为正常的更新模块假定为被篡改的步骤。第二假定部679简单地说,进行控制,以使用监视结果,判定是否存在将由所述假定非法分组中包含的识别序号识别的更新模块判断为正常的更新模块,在判定为存在的情况下,将识别该更新模块的识别序号追加到所述假定非法分组中,对未处理的更新模块重复所述判定与所述追加。(i)验证结果判定部674验证结果判定部674从确定指示接收部671接收设备100中更新模块群130的监视结果。另外,从非法模块假定部673接收假定非法构成信息。验证结果判定部674使用从确定指示接收部671接收到的设备100中的更新模块群130的监视结果、以及从非法模块假定部673接收的假定非法更新模块群的假定非法构成信息,判定对假定非法更新模块群内的更新模块的验证结果。这里,用图47所示的实例,说明验证结果判定部674的判定方法。如图47所示,设更新模块131监视更新模块132 (3004),更新模块131对更新模块 132的监视结果是正常(300 。另外,设更新模块132是假定非法更新模块群3002内包含的更新模块。此时,验证结果判定部674使用接收到的监视结果,搜索将假定非法更新模块群 3002内包含的更新模块132判定为正常的更新模块。在图47所示实例中,更新模块131判定更新模块132为正常(300 。因此,验证结果判定部674将把更新模块132判定为正常的更新模块131视为假定非法更新模块。如后所述,将更新模块131作为假定非法更新模块,追加包含于假定非法更新模块群中。结果,更新模块132和131包含于新的假定非法更新模块群3001中。验证结果判定部674将识别判定为正常的更新模块的识别序号(下面称为假定非法识别序号。)和接收到的假定非法更新模块群的构成信息作为对假定非法更新模块群内的更新模块的监视结果,发送到假定非法更新模块群抽取部675。作为对假定非法更新模块群内的更新模块的监视结果,在不存在设为正常的更新模块的情况下,将该情况发送到假定非法更新模块群抽取部675。从假定非法更新模块群抽取部675接收到假定非法更新模块群的构成信息的情况也进行同样的动作。(ii)假定非法更新模块群抽取部675假定非法更新模块群抽取部675从验证结果判定部674接收判定为正常的更新模块的识别序号(假定非法识别序号)和假定非法更新模块群的构成信息,作为对假定非法更新模块群内的更新模块的监视结果。接着,将接收到的更新模块的识别序号(假定非法识别序号)追加到接收到的假定非法更新模块群。在图47所示实例的情况下,更新模块131作为假定非法更新模块,追加包含于假定非法更新模块群中。结果,更新模块132和131包含于新的假定非法更新模块群3001中。接着,假定非法更新模块群抽取部675将追加了识别序号的新的假定非法更新模块群的构成信息发送到验证结果判定部674。在从验证结果判定部674接收到表示更新模块不存在的通知的情况下,向抽取结果判断部676发送假定非法更新模块群的构成信息。
(f)抽取结果判断部676抽取结果判断部676从确定指示接收部671接收更新模块列表。另外,从假定非法更新模块群抽取部675接收假定非法更新模块群的假定非法构成信息和假定识别序号。 并且,从循环监视模式判定部677接收识别非法更新模块的非法识别序号。接着,抽取结果判断部676使用假定非法更新模块群的假定非法构成信息和识别非法更新模块的非法识别序号,判断由循环监视模式判定部677确定的非法更新模块以外的全部更新模块是否包含于假定非法更新模块群中。另外,在不存在非法更新模块的情况下,抽取结果判断部676判断全部更新模块是否包含于假定非法更新模块群中。并且,在未检测到存在非法更新模块的情况下,也判断全部更新模块是否包含于假定非法更新模块群中。换言之,对全部更新模块判断是否被假定为被篡改。再换言之,抽取结果判断部676判断假定非法分组中是否包含识别全部更新模块的识别序号。换言之,抽取结果判断部676判断从更新模块列表中包含的识别序号中去除非法识别序号、再去除假定非法构成信息中包含的识别序号之后,结果更新模块列表是空集合, 或者不是空集合而包含识别序号。另外,在不存在非法更新模块的情况下,抽取结果判断部676判断从更新模块列表中包含的识别序号中去除假定非法构成信息中包含的识别序号之后,结果更新模块列表是空集合,或者不是空集合而包含识别序号。并且,在未检测存在非法更新模块的情况下, 也判断从更新模块列表中包含的识别序号中去除假定非法构成信息中包含的识别序号之后,结果更新模块列表是空集合,或者不是空集合而包含识别序号。在由循环监视模式判定部677确定的非法更新模块以外的全部更新模块包含于假定非法更新模块群中的情况下,抽取结果判断部676将由非法模块假定部673假定的更新模块确定为正常的更新模块,设接收到的假定识别序号为表示正常模块的识别序号,将正常模块识别序号作为确定结果,输出到确定结果发送部672。在全部更新模块未包含于假定非法更新模块群中的情况下,抽取结果判断部676 向非法模块假定部673发送指示(表示不能确定正常更新模块的不可确定通知),以假定由非法模块假定部673假定的更新模块以外的更新模块。(g)确定结果发送部672确定结果发送部672从抽取结果判断部676接收正常更新模块的确定结果,将接收到的确定结果发送到指示生成部603。另外,确定结果发送部672将表示最新的监视结果全部正常的正常结果发送到指示生成部603。另外,将表示最新的监视结果不是全部正常(即至少部分非法)、或上次监视结果不是全部正常(即至少部分非法)的结果发送到指示生成部603。(4)正常模块确定处理的动作用图48、图49和图50 图52来说明软件更新系统IOcb中的正常更新模块的确定处理的动作。另外,图48和图49分别表示各更新模块的篡改检测的监视结果的一例,图50 图52是表示正常模块确定处理的动作的流程图。下面,用图50 图52所示的流程图来说明正常模块确定处理的动作。
异常检测部678判断是否至少1个更新模块正常。换言之,检测未被篡改的正常更新模块的存在(步骤S9000)。步骤S9000的细节如下(步骤S9001 S9004)。异常检测部678通过接收来取得最新的全部监视结果(步骤S9001),判定最新的全部监视结果是否正常(步骤S9002)。在全部监视结果正常的情况下(步骤S9002为是),确定为全部更新模块正常,模块确定部6(Mcb结束正常模块确定处理。在未判断为全部监视结果正常的情况下(步骤S9002为否),通过接收来取得之前、即上次的全部监视结果(步骤S9003),判定之前的监视结果是否全部正常(步骤S9004)。在未判断为之前的监视结果全部正常的情况下(步骤S9004为否),模块确定部6(Mcb结束正常模块确定处理。 在之前的监视结果全部正常的情况下(步骤S9004为是),判断为更新模块群130的至少一个更新模块正常。这是因为在之前的相互监视中全部更新模块正常的情况下,由于相互监视的间隔短,所以判断为在该间隔中不会发生全部更新模块被篡改为非法更新模块的情况。这样,通过确认更新模块群130的至少一个更新模块正常,如后所述,可逻辑地确定正常模块。接着,在之前的相互监视处理的监视结果全部正常的情况下(步骤S9004为是), 循环监视模式判定部677判断是否存在循环监视模式(步骤S90(^)。该判断通过确认循环检测部606内的循环监视模式存储部666中是否存储循环监视模式来进行。在不存在循环监视模式的情况下(步骤S9005为否),移动到步骤S9014。在存在循环监视模式的情况下(步骤S9005为是),循环监视模式判定部677使用循环监视模式确定非法更新模块(步骤S9006)。步骤S9006的细节如下(步骤S9007 S90i;3)。也可不进行使用循环监视模式的非法更新模块的确定。即,也可由其他方法来进行非法更新模块的确定。另外,也可不进行非法更新模块的确定。循环监视模式判定部677选择循环检测部606内的循环监视模式存储部666中存储的1个循环监视模式(步骤S9007),判断选择出的循环监视模式内的监视结果是否全部正常(步骤S9008)。在循环监视模式的监视结果全部正常的情况下(步骤S9008为是),验证循环监视模式内的多个更新模块针对作为监视对象的相同模块的多个监视结果是否一致(步骤S9009)。在不一致的情况下(步骤S9009为否),确定为循环监视模式内的更新模块全部是非法更新模块(步骤S9010)。并且,判断是否存在将步骤S9010中确定为非法更新模块的更新模块判定为正常的更新模块(步骤S9011)。在存在的情况下(步骤S9011 为是),将判定为正常的更新模块确定为非法更新模块(步骤S90U)。由此,可减少未被进行是否是非法更新模块的判断而残留的更新模块的数量。结果,可更有效确定更新保护控制模块的正常更新模块。接着,将控制移动到步骤S9013。循环监视模式判定部677在循环监视模式的监视结果不是全部正常的情况下(步骤S9008为否),在循环监视模式内的多个更新模块针对作为监视对象的相同模块的多个监视结果一致的情况下(步骤S9009为是),或不存在将确定为非法更新模块的更新模块判定为正常的更新模块的情况下(步骤S9011为否),还判断循环检测部606内的循环监视模式存储部666中是否另外存在循环监视模式(步骤S90i;3)。在另外存在循环监视模式的情况下(步骤S9013为是),则将控制移动到步骤S9007。在不另外存在循环监视模式的情况下(步骤S9013为否),循环监视模式判定部677结束使用循环监视模式的非法更新模块的确定处理。接着,非法模块假定部673选择步骤S9010或步骤S9012中确定为非法更新模块的更新模块以外的更新模块,并将选择出的更新模块假定为非法更新模块,设假定非法更新模块群仅包含该假定为非法的更新模块的识别序号(步骤S9014)。验证结果判定部674判定将由假定非法更新模块群内包含的识别序号识别的更新模块判定为正常的更新模块在假定非法更新模块群以外是否至少存在一个(步骤 S9015)。在将假定非法更新模块群内的模块判定为正常的假定非法更新模块群以外的更新模块至少存在一个的情况下(步骤S9015为是),假定非法更新模块群抽取部675将识别该更新模块的识别序号包含于假定非法更新模块群中(步骤S9016)。接着,将控制移动到步骤S9015。在将假定非法更新模块群内的更新模块判定为正常的假定非法更新模块群以外的更新模块一个都不存在的情况下(步骤S9015为否),判断是否存在除了步骤S9010或步骤S9012中确定为非法更新模块的非法更新模块和假定非法更新模块群以外的更新模块(步骤S9017)。在不存在的情况下(步骤S9017为否),将步骤S9014中假定的更新模块确定为正常的更新模块(步骤S9018)。这样,在已确定正常的更新模块的情况下,之后全部取消上述设为非法的假定,删除假定非法更新模块群中包含的识别序号。另外,在存在的情况下(步骤S9017为是),不将步骤S9014中假定的更新模块确定为正常的更新模块(步骤S9019)。在步骤S9014中,在未选择步骤S9010或步骤S9012 中被确定为非法更新模块的更新模块以外的全部更新模块的情况下(步骤S9020为否),将控制移动到步骤S9014。在假定了全部更新模块的情况下(步骤S9020为是),结束正常模块确定处理。如上所述,在步骤S9019中,通过不将假定的更新模块确定为正常的更新模块,可防止将非法的更新模块误判断为正常的更新模块。由此,可防止经非法的更新模块将保护控制模块更新为非法的保护控制模块。在上述正常模块确定处理中,首先,假定多个更新模块中的任一更新模块为非法更新模块。由此,由于可使用逻辑验证方法来从更新模块中有效地确定正常的更新模块,所以可使用确定的正常更新模块来安全地更新保护控制模块。另外,在上述中,更新模块也可以是监视模块。(5)正常模块确定的实例(a)正常模块确定的第1例下面,用图48所示的实例来说明正常模块确定处理的一例。如图48所示,设备100具有的更新模块群130包含更新模块131 137。设更新模块131监视更新模块132和134,其监视结果分别是正常(302 及非法, 更新模块132监视更新模块131、133和135,其监视结果分别是非法(3021)、正常(3023) 及非法,更新模块133监视更新模块131、135和136,其监视结果分别是正常(30M)、非法及非法,更新模块134监视更新模块136,其监视结果是正常(3027),更新模块135监视更新模块137,其监视结果是正常(3025),更新模块136监视更新模块137,其监视结果是正常 (30 ),更新模块137监视更新模块133,其监视结果是非法。另外,设为更新模块131监视更新模块132 (3028),更新模块132监视更新模块 133 (3029),更新模块133监视更新模块131 (3030)。因此,存在循环监视模式3014。
这样,对更新模块利用循环监视模式设定监视对象的更新模块。循环监视模式表示作为第1更新模块的监视对象的第2更新模块监视所述第1更新模块、或经(隔着)1个以上的更新模块监视所述第1更新模块。首先,循环监视模式判定部677判断是否存在循环监视模式(步骤S90(^),确定为循环监视模式的全部更新模块131、132和133全部是非法更新模块(步骤S9010)。这是因为根据图48,存在循环监视模式3014,循环监视模式3014中的监视结果全部正常(3022、 3023、3024),更新模块132对更新模块131的监视结果(3021)与更新模块133对更新模块 131的监视结果(3024)不同。接着,非法模块假定部673选择更新模块137,并将更新模块137假定为非法更新模块,将识别更新模块137的识别序号包含于假定非法更新模块群3011中(步骤S9014)。 接着,根据图48,因为被判定为非法的更新模块131 133以外的更新模块135和136将更新模块137判定为正常(3025、3026)(步骤S90M),所以把将假定非法更新模块群3011内的更新模块137判定为正常的更新模块135、更新模块136包含于假定非法更新模块群中 (步骤S9016)。结果,生成新的假定非法更新模块群3012。另外,根据图48,因为被判定为非法的更新模块131 133以外的更新模块134将更新模块136 (包含于假定非法更新模块群3012中)判定为正常(3027)(步骤S90M),所以把将假定非法更新模块群3012内的更新模块136判定为正常的更新模块134包含于假定非法更新模块群中(步骤S9016)。结果,生成新的假定非法更新模块群3013。接着,抽取结果判断部676判断是否存在除了步骤S9010中确定为非法更新模块的非法更新模块131 133和假定非法更新模块群(更新模块134 137)以外的更新模块(步骤S9017)。根据图48,因为全部更新模块是非法更新模块或假定非法更新模块(步骤S9017为否),所以抽取结果判断部676确定为更新模块137是正常的更新模块(步骤 S9018)。这样,由于可使用逻辑验证方法来从更新模块中有效地确定正常的更新模块137, 所以可使用确定的正常更新模块137来安全地更新保护控制模块。(b)正常模块确定的第2例 下面,用图49所示的实例来说明正常模块确定处理的一例。如图49所示,设备100具有的更新模块群130包含更新模块131 137。设更新模块131监视更新模块132和134,其监视结果分别是正常(305 及非法, 更新模块132监视更新模块131、133和135,其监视结果分别是正常(3051)、正常(3053)及正常(3060),更新模块133监视更新模块131、135和136,其监视结果分别是正常(3054)、 正常(3059)及正常(3055),更新模块134监视更新模块136,其监视结果是正常(3056),更新模块135监视更新模块137,其监视结果是正常(3058),更新模块136监视更新模块137, 其监视结果是正常(3057),更新模块137监视更新模块133,其监视结果是正常。另外,设为更新模块131监视更新模块132 (3061),更新模块132监视更新模块 133(3062),更新模块133监视更新模块131 (3063)。因此,存在循环监视模式3041。首先,循环监视模式判定部677判断是否存在循环监视模式(步骤S9005),因为监视的相同模块的监视结果一致(步骤S9009为是),所以将控制移动到步骤S9014。这是因为根据图49,存在循环监视模式3041,循环监视模式3041中的监视结果全部正常(3052、
463053、3054),更新模块132对更新模块131的监视结果(3051)与更新模块133对更新模块 131的监视结果(3054) —致。另外,还因为此外不存在矛盾的监视结果。接着,非法模块假定部673选择更新模块137,并将更新模块137假定为非法更新模块,将识别更新模块137的识别序号包含于假定非法更新模块群3042中(步骤S9014)。接着,根据图49,因为未被判定为非法的更新模块135及136将更新模块137判定为正常(3058、3057)(步骤S90M),所以把将假定非法更新模块群3042内的更新模块137 判定为正常的更新模块135、更新模块136包含于假定非法更新模块群中(步骤S9016)。结果,生成新的假定非法更新模块群3043。另外,根据图49,因为未被判定为非法的更新模块 134将更新模块136(包含于假定非法更新模块群3043中)判定为正常(3056),另外,因为未被判定为非法的更新模块132将更新模块135 (包含于假定非法更新模块群3043中)判定为正常(3060),所以把将假定非法更新模块群3043内的更新模块136及135分别判定为正常的更新模块134及132包含于假定非法更新模块群中(步骤S9016)。结果,生成新的假定非法更新模块群3044。并且,由于未被判定为非法的更新模块131将更新模块132(包含于假定非法更新模块群3044中)判定为正常(305 (步骤S90M),所以把将假定非法更新模块群3044内的更新模块132判定为正常的更新模块131包含于假定非法更新模块群中(步骤S9016)。结果,生成新的假定非法更新模块群3045。这样,更新模块131 137全部包含于假定非法更新模块群3045中。因此,因为不存在假定非法更新模块群以外的更新模块(步骤S9017为否),所以抽取结果判断部676 确定为更新模块137是正常的更新模块(步骤S9018)。这样,由于可使用逻辑验证方法来从多个更新模块中有效地确定正常的更新模块 137,所以可使用确定的正常更新模块137来安全地更新保护控制模块。4.实施方式4这里,说明其他实施方式。4. 1关于实施方式3在上述实施方式3的软件更新系统IOcb中,在更新处理的更新模块选择中,确定未被篡改的正常更新模块。但是,在确定软件更新系统IOcb中的正常模块的方法中,若存在干扰正常模块确定的更新模块,则有时不能确定正常的更新模块。这里,干扰正常模块确定的更新模块的一例是将该更新模块的监视结果全部判定为非法的更新模块。图57中示出其一例。图57表示更新模块群130中包含的更新模块131 137的监视结果。在该图中,更新模块I32监视更新模块131、133及135,更新模块132对更新模块 131、133及135的监视结果全部是非法(4001,4003,4004)。另外,更新模块131监视更新模块134,其监视结果为正常(4006),更新模块133 监视更新模块131、135及136,其监视结果分别是正常0005、4012和4008),更新模块134 监视更新模块136,其监视结果为正常(4007),更新模块135监视更新模块137,其监视结果为正常(4011),更新模块136监视更新模块137,其监视结果为正常(4010),更新模块137 监视更新模块133,其监视结果是正常0009)。在该情况下,即便利用上述各实施方式中说明的方法来确定非法模块,也因为各更新模块的监视结果中不产生矛盾,所以任一更新模块均未被确定为非法的更新模块。另外,在该情况下,即便使用实施方式3的软件更新系统IOcb中说明的正常模块的确定处理,适用图50的步骤S9001 S9013的步骤,任一更新模块也未被判定为非法的更新模块。接着,适用步骤S9014的步骤,选择1个更新模块,适用步骤S9015 S9016的步骤,将假定为非法的更新模块追加到假定非法更新模块群。此时,根据图57所示的监视结果,更新模块132未包含于假定非法更新模块群中。这是因为更新模块132将对更新模块 131、133、135的监视全部判定为非法0001、4003、4004)。结果,不能将图57所示的更新模块131 137仅分为假定非法更新模块群及非法的更新模块群。因此,不能适用实施方式 3的软件更新系统IOcb中说明的正常模块的确定处理,任一更新模块也不能确定为正常的更新模块。这样,即便使用确定软件更新系统IOcb中的正常模块的方法,更新模块132也未被判定为非法更新模块,或也未分类到非法假定更新模块群。因此,对该情况不能适用确定软件更新系统IOcb中的正常模块的方式来确定正常模块。为了确定正常的更新模块,可能变更监视模式,新受理监视结果,再次进行正常模块确定处理即可。但是,即便变更监视模式后再次进行监视,在更新模块132对对象更新模块的监视中全部判定为非法的情况下,也同样不能确定正常的更新模块。这样,即便更新监视模式并再次进行监视,始终将针对对象更新模块的监视结果全部设为非法的更新模块是被篡改而干扰正常模块确定的更新模块(下面称为干扰模块。)。4. 2篡改监视系统IOda在篡改监视系统IOda中,为了解决上述问题,对全部监视对象的监视模块抽取判定为非法的监视模块(下面称为干扰候选模块。),从抽取到的干扰候选模块中,确定真的干扰模块,事先排除确定的干扰模块。这样,通过事先排除被篡改而进行非法动作的干扰模块,可从剩余的多个监视模块中有效地确定正常的监视模块,可有效地使用确定的正常监视模块。用图78所示的构成图,说明作为其他实施方式的篡改监视系统10da。篡改监视系统IOda如图78所示,由信息安全装置IOOda和管理装置200da构成。信息安全装置IOOda具有监视篡改的多个监视模块131da、132da、133da、134da。管理装置200da由如下单元构成接收部MOda,从信息安全装置IOOda接收各监视模块对其他监视模块的监视结果;判定部683da,使用接收到的所述监视结果,从所述监视模块中抽取对全部监视对象的监视模块判定为篡改的干扰候选模块;和更新部250da, 在检测到多个干扰候选模块的情况下,为了在多个干扰候选模块之间相互监视对方,生成新的监视模式,对所述信息安全装置发送生成的新的监视模式,使其置换为新的监视模式。 接收部240da还从信息安全装置IOOda接收基于新的监视模式的新的监视结果。判定部 683da还使用接收到的新的监视结果,将从所述干扰候选模块中除了相互判定为正常而对其他干扰候选模块判定为非法的2个干扰候选模块以外的其他干扰候选模块确定为干扰模块。这样,由于可确定干扰模块,所以只要使被确定的干扰模块无效化即可。
这里,判定部683da也可还使用接收到的新的监视结果,在2个干扰候选模块中第 1干扰候选模块对第2干扰候选模块判定为正常、第2干扰候选模块对第1干扰候选模块判定为非法的情况下,将第1干扰候选模块确定为被篡改的非法更新模块。4. 3软件更新系统IOdb说明作为其他实施方式的软件更新系统10db。在软件更新系统IOdb中,为了解决实施方式3中的问题,抽取针对全部监视对象的更新模块判定为非法的更新模块(下面称为干扰候选模块。),从抽取到的干扰候选模块中,确定真的干扰模块,事先排除确定的干扰模块。这样,通过事先排除被篡改而进行非法动作的干扰模块,可从剩余的多个监视模块中有效地确定正常的更新模块,可使用确定的正常更新模块来安全地更新保护控制模块。在软件更新系统IOdb中,与实施方式2及实施方式3 —样,说明更新模块为7个的情况。但是,更新模块也可以是8个以上,或是6个以下。(1)软件更新系统IOdb的构成软件更新系统IOdb如图53所示,由更新服务器200db和设备IOOdb构成。设备 IOOdb具有与实施方式1的设备100相同的构成。另外,更新服务器200db具有与实施方式1的更新服务器200类似的构成,由判断部210db、更新用软件分发部220、模块无效化部 230、通信部240和监视模式更新部250构成。更新用软件分发部220、模块无效化部230及通信部240与更新服务器200具有的更新用软件分发部220、模块无效化部230及通信部240相同。判断部210db具有与软件更新系统IOcb的更新服务器200cb具有的判断部210cb类似的构成。这里,主要说明判断部210db及监视模式更新部250。(2)监视模式更新部250的构成监视模式更新部250在更新设备IOOdb内部的更新模块群130的监视模式的情况下,为了对应于判断部210db所发出的监视模式更新的指示,更新更新模块群130内的各更新模块的监视模式,而生成更新用监视模式,将生成的监视模式发送到各更新模块。监视模式更新部250如图M所示,由接收部901、发送部902、监视模式生成部 903、监视模式分割部904及控制部905构成。(a)接收部 901接收部901从判断部210db接收表示监视模式生成的生成指示及在指示的时刻的更新模块列表。更新模块列表包含分别识别设备IOOdb具有的更新模块群130中包含的全部更新模块的识别序号。另外,在存在干扰候选模块的情况下,接收识别全部干扰候选模块的识别序号。接收部901向控制部905输出接收到的监视模式的生成指示。另外,将接收到的更新模块列表经控制部905输出到监视模式生成部903。另外,在接收到识别干扰候选模块的识别序号的情况下,将接收到的识别序号经控制部905输出到监视模式生成部903。(b)监视模式生成部903监视模式生成部903从接收部901经控制部905接收更新模块列表。另外,在存在干扰候选模块的情况下,接收识别全部干扰候选模块的识别序号。若接收更新模块列表,则监视模式生成部903使用接收到的更新模块列表,决定
49哪个更新模块监视哪个更新模块,并生成设备IOOdb具有的更新模块群130中的整体的监视模式。具体地,监视模式生成部903使用接收到的识别干扰候选模块的识别序号,生成整体的监视模式,以便多个干扰候选模块分别监视其他全部干扰候选模块,即进行多个干扰候选模块间的相互监视。另外,多个干扰候选模块间的相互监视的监视模式的具体例如后所述。另外,监视模式生成部903也可决定为例如全部更新模块监视其他全部更新模块,作为整体的监视模式。监视模式生成部903将生成的整体的监视模式输出到监视模式分割部904。(c)监视模式分割部904监视模式分割部904从监视模式生成部903接收整体的监视模式。若接收到整体的监视模式,则监视模式分割部904将接收到的整体的监视模式分割成各个更新模块的监视模式。接着,将分割得到的各个更新模块的监视模式作为更新用监视模式,经控制部905、发送部902、通信部240及网络5,发送到设备IOOdb的各个更新模块。(d)发送部 902发送部902经通信部240和网络5,向设备IOOdb发送更新用的各个更新模块的监视模式。另外,向判断部210db通知更新用监视模式的生成及发送的结束。(e)控制部 905控制部905从接收部901接收监视模式的生成指示。若接收到监视模式的生成指示,则控制部905针对监视模式生成部903及监视模式分割部904,控制为生成设备IOOdb具有的更新模块群130中的整体监视模式,并生成更新用的各个更新模块的监视模式,向设备IOOdb发送更新用的各个更新模块的监视模式,使设备IOOdb进行监视模式的更新处理。(3)判断部210db的构成判断部210db如图55所示,由接收部601、发送部602、指示生成部603、模块确定部604db及循环检测部606构成。另外,模块确定部604db由非法模块确定部605、正常模块确定部607及干扰模块确定部608构成。接收部601、发送部602、指示生成部603及循环检测部606分别与软件更新系统 IOcb的更新服务器200cb的判断部210cb具有的接收部601、发送部602、指示生成部603 及循环检测部606相同。指示生成部603经发送部601将表示监视模式生成的生成指示发送到监视模式更新部250。另外,非法模块确定部605及正常模块确定部607分别与软件更新系统IOcb的更新服务器200cb的判断部210cb的模块确定部604cb具有的非法模块确定部605及正常模块确定部607相同。下面,说明干扰模块确定部608。
(4)干扰模块确定部608的构成 干扰模块确定部608判断是否存在有可能被篡改而进行非法动作的更新模块。
干扰模块确定部608如图56所示,由确定指示接收部681、确定结果发送部682、 验证结果判定部683、监视模式更新指示生成部684及验证结果接收部685构成。(a)确定指示接收部681确定指示接收部681从指示生成部603接收表示对干扰正常模块确定的更新模块进行确定的指示的干扰确定指示、及设备IOOdb中的更新模块的监视结果,并将接收到的监视结果发送到验证结果判定部683。(b)验证结果接收部685验证结果接收部685从指示生成部603接收设备IOOdb中更新模块群130的监视模式被更新后的监视结果,并将接收到的更新后的监视结果发送到验证结果判定部683。(c)验证结果判定部683验证结果判定部683从确定指示接收部681接收监视结果,使用接收到的监视结果,判断是否有可能存在干扰正常模块确定的更新模块。即,判断是否存在干扰候选模块。 干扰候选模块是针对全部监视对象的更新模块判断为非法的更新模块。是否存在干扰候选模块的判断细节如后所述。在判断为不存在干扰候选模块的情况下,验证结果判定部683将不存在干扰候选模块的情况发送到确定结果发送部682。在判断为存在干扰候选模块的情况下,验证结果判定部683为了判断干扰候选模块是否真是干扰模块,向监视模式更新指示生成部684发送全部候选干扰模块的识别序号,委托监视模式的更新。这是为了判断干扰候选模块是被非法篡改而干扰正常模块的确定、还是正常的更新模块对非法更新模块正常监视。细节如后所述。设备IOOdb中,在更新模块群130的监视模式被更新之后,验证结果判定部683从验证结果接收部685接收监视模式更新后的监视结果,判断设为有可能非法的更新模块是否是非法更新模块。将判断结果发送到确定结果发送部682,为了更新更新模块群130的监视模式,委托监视模式更新指示生成部684更新监视模式。(d)监视模式更新指示生成部684监视模式更新指示生成部684从验证结果判定部683接收设为有可能非法的更新模块的识别信息与监视模式的更新委托,向指示生成部603发送监视模式的更新指示,以成为由接收到的识别信息识别的各更新模块监视本更新模块以外的全部更新模块的监视模式。另外,在仅接收了监视模式的更新委托的情况下,向指示生成部603发送监视模式的更新指示。(e)确定结果发送部682确定结果发送部682从验证结果判定部683接收干扰正常模块确定的更新模块的确定结果,将确定结果发送给指示生成部603。(4)软件更新系统IOdb中的动作这里,用图58所示的动作图来说明软件更新系统IOdb中的动作。具体说明从干扰模块确定处理至正常模块确定处理为止的处理迁移。为了确定正常的更新模块,更新模块群130内的多个更新模块相互进行监视,设备IOOdb向更新服务器200db发送监视结果。更新服务器200db接收监视结果,判断是否存在将针对监视对象的全部更新模块的监视结果全部设为非法的更新模块(如上所述,将这种更新模块称为干扰候选模块。)(步骤S10001)。在存在干扰候选模块的情况下,更新服务器200db从更新模块群130中抽取全部干扰候选模块(步骤S10002)。接着,更新服务器 200db为了判断抽取到的干扰候选模块是否是干扰模块,生成新的监视模式,以便各干扰候选模块监视其他全部干扰候选模块。之后,向设备IOOdb的各更新模块发送新的监视模式, 控制设备lOOdb,以更新为新的监视模式(步骤S10003)。设备IOOdb的各更新模块使用新的监视模式,相互进行监视。具体地,各干扰候选模块进行其他全部干扰候选模块的监视。更新服务器200db从设备IOOdb接收基于新的监视模式的监视结果,使用接收到的监视结果,判断干扰候选模块是否为干扰模块。干扰模块对于监视对象的全部更新模块始终判定为非法,但正常的更新模块对于正常的更新模块判定为正常。因此,在干扰候选模块群内存在多个正常更新模块的情况下,正常的干扰候选模块间的相互监视结果为正常。另一方面,干扰候选模块对正常的干扰候选模块以外的干扰候选模块的监视结果全部为非法。由此,在干扰候选模块是否为干扰模块的判断中,利用 (i)2个干扰候选模块间的相互监视结果正常,且(ii)相互判定为正常的该2个干扰候选模块在对该2个干扰候选模块以外的干扰候选模块的监视中,判定为非法的情况下,决定为该2个干扰候选模块不是干扰模块。不满足该条件的干扰候选模块对本干扰候选模块以外的干扰候选模块始终判定为非法,所以确定为干扰模块(步骤S10004)。更新服务器200db在存在满足上述条件的干扰候选模块的情况下,抽取不满足条件的干扰候选模块,确定为干扰模块(步骤S10005),模块无效化部230对设备IOOdb输出指示,以使确定的干扰模块无效化(步骤S10006)。另外,更新服务器200db的模块无效化部230在不存在满足上述条件的干扰候选模块的情况下,全部干扰候选模块是干扰模块,所以向设备IOOdb输出指示,以使确定的干扰模块无效化(步骤S10006)。接着,更新服务器200db更新全部更新模块的监视模式(步骤S10007),更新模块整体进行相互监视(步骤S10001)。更新服务器200db接收更新模块群130的监视结果,在不存在干扰候选模块的情况下,执行正常模块确定处理(步骤S10008),确定正常的更新模块(步骤S10009)。如上所述,通过使干扰正常模块确定的干扰模块无效化将其排除,从而在正常模块确定处理中、用于确定正常更新模块的效率提高。上述步骤S10001 步骤S10006是干扰模块确定处理。(5)干扰模块确定处理及正常模块确定处理的时序这里,用图59 图60所示的时序图来说明干扰模块确定处理及正常模块确定处理的时序。判断部210db的指示生成部603向监视模式更新部250发送监视模式的生成指示,监视模式更新部250接收监视模式生成指示(步骤S11001)。监视模式更新部250的监视模式生成部903生成整体的新监视模式,监视模式分割部904将整体的新监视模式分割成每个更新模块的监视模式(步骤Sl 100 。监视模式更新部250经通信部240和网络 5向设备IOOdb的各更新模块发送每个更新模块的监视模式,设备IOOdb的更新模块群130 内的各更新模块接收每个更新模块的监视模式(步骤Sl 1003)。更新模块群130内的各更新模块通过将旧的监视模式置换为接收到的新的监视模式,更新监视模式(步骤S11004)。在更新为新的监视模式之后,更新模块群130内的各更新模块利用新的监视模式,执行监视处理,与实施方式1的相互监视处理一样,根据监视模式,进行篡改检测处理(步骤S110(^)。另外,不进行实施方式1的是否有被篡改的更新模块的判断(图19的步骤S5004)。接着,设备IOOdb将监视的结果经由网络5和通信部 240发送到判断部210db,判断部210db接收监视结果(步骤Sl 1006)。判断部210db进行干扰模块的确定处理(步骤S11007)。干扰模块确定处理的细节如后所述。在干扰模块处理的确定中,在确定了干扰模块的情况下,判断部210db将无效化指示与识别确定的干扰模块的识别序号一起发送到模块无效化部230 (步骤S11008)。模块无效化部230将无效化的委托与识别确定的干扰模块的识别序号一起发送到更新模块群130内的更新模块(步骤S11009)。接收到无效化委托的更新模块与访问控制模块140 联动,利用接收到的识别干扰模块的识别序号,使干扰模块无效化(步骤S11010)。另外,无效化处理的细节与实施方式1的无效化处理一样,所以省略。在干扰模块的确定处理中,判断部210db发送监视模式的生成指示,监视模式更新部250接收监视模式的生成指示(步骤 S11011)。监视模式更新部250的监视模式生成部903根据接收到的监视模式的生成指示, 生成整体的新监视模式,监视模式分割部904将整体的新监视模式分割成每个更新模块的监视模式(步骤S110U)。监视模式更新部250经通信部240和网络5向设备IOOdb的各更新模块发送每个更新模块的监视模式,设备IOOdb的更新模块群130内的各更新模块接收每个更新模块的监视模式(步骤S11013)。设备IOOdb的更新模块群130内的各更新模块更新为新的监视模式(步骤 S11014)。在更新为新的监视模式之后,各更新模块进行相互监视处理(步骤S11015)。设备IOOdb发送监视结果,判断部210db接收监视结果(步骤S11016)。判断部210db进行正常模块的确定处理(步骤S11017)。另外,正常模块的确定处理的细节与实施方式3 —样,所以省略。(6)相互监视的监视模式的一例用图65所示的相互监视的监视模式实例来说明相互监视的监视模式的一例。图65中示出由4个干扰候选模块相互进行监视的情况实例。如图65所示,设更新模块131、132、136和137分别作为干扰候选模块被抽取。另外,因为更新模块131、132、136和137分别作为干扰候选模块被抽取,所以利用监视模式更新部250,生成每个更新模块的监视模式,以便更新模块131及132相互监视, 更新模块132及137相互监视,更新模块137及136相互监视,更新模块136及131相互监视,更新模块137及131相互监视。另外,设利用监视模式更新部250,将每个更新模块的监视模式发送到更新模块131、132、136及137,更新模块131、132、136及137利用新接收到的监视模式,变更旧的监视模式,利用新的监视模式,进行相互监视。(7)基于相互监视的监视模式的相互监视结果的实例用图66 图69来说明使用图65所示相互监视的监视模式实例时的相互监视结果的实例。另外,如图65中所述,作为一例,作为干扰候选模块的更新模块131、132、136及 137分别相互监视。
(a)相互监视结果的第1例图66中示出使用图65所示相互监视的监视模式实例时的相互监视结果的第1 例。在图66所示的第1例中,全部监视结果为非法。S卩,更新模块131、132、136及137 分别将监视对象的更新模块全部判定为非法。(b)相互监视结果的第2例图67中示出使用图65所示相互监视的监视模式实例时的相互监视结果的第2 例。在图67所示的第2例中,除了更新模块131对更新模块132的监视结果0051) 之外,其他全部监视结果为非法。即,更新模块131对更新模块132判定为正常0051),更新模块132对更新模块 131判定为非法。另外,更新模块131及137之间的相互监视、更新模块132及137之间的相互监视、更新模块132及136之间的相互监视、更新模块131及136之间的相互监视和更新模块136及137之间的相互监视判定为非法。(c)相互监视结果的第3例图68中示出使用图65所示相互监视的监视模式实例时的相互监视结果的第3 例。在图68所示的第3例中,除了更新模块131对更新模块132的监视结果0061)、 更新模块131对更新模块137的监视结果及更新模块137对更新模块131的监视结果G062)之外,其他全部监视结果为非法。S卩,更新模块131对更新模块132判定为正常(4061),更新模块132对更新模块 131判定为非法。另外,更新模块131对更新模块137判定为正常(4063),更新模块137对更新模块131判定为正常006 。并且,更新模块132及137之间的相互监视、更新模块 132及136之间的相互监视、更新模块131及136之间的相互监视和更新模块136及137之间的相互监视判定为非法。(d)相互监视结果的第4例图69中示出使用图65所示相互监视的监视模式实例时的相互监视结果的第4 例。在图69所示的第4例中,除了更新模块131对更新模块137的监视结果0072) 及更新模块137对更新模块131的监视结果007 之外,其他全部监视结果为非法。即,更新模块131对更新模块137判定为正常007 ,更新模块137对更新模块 131判定为正常0071)。另外,更新模块131及132之间的相互监视、更新模块132及137 之间的相互监视、更新模块132及136之间的相互监视、更新模块131及136之间的相互监视和更新模块136及137之间的相互监视判定为非法。(8)干扰模块确定处理的详细动作下面,用图61 图63所示的流程图来说明干扰模块的确定处理的动作。判断部210db如下所示,根据更新模块群130的各更新模块的监视结果,进行干扰模块的确定处理。验证结果判定部683判断是否存在将针对全部监视对象的更新模块的监视结果全部判定为非法的更新模块,换言之,判断是否存在干扰候选模块(步骤S12001)。在不存在干扰候选模块的情况下(步骤S12001为否),验证结果判定部683结束干扰模块的确定处理。在存在干扰候选模块的情况下(步骤S12001为是),验证结果判定部683将分别识别全部干扰候选模块的识别序号输出到监视模式更新部250。监视模式更新部250使用接收到的分别识别全部干扰候选模块的识别序号,生成每个更新模块的监视模式,以便全部干扰候选模块相互监视(步骤S12002)。作为一例,若更新模块群130中的更新模块131、132、136及137分别对作为全部监视对象的更新模块判定为非法,则更新模块131、132、136及137分别是干扰候选模块,生成监视模式,以便更新模块131、132、136及137相互监视。图65示出此时的监视模式。接着,为了使设备IOOdb具有的更新模块执行相互监视,将生成的监视模式发送到设备lOOdb,让设备IOOdb具有的更新模块执行相互监视。设备IOOdb接收监视模式。更新模块群130的各更新模块利用接收到的监视模式,更新旧的监视模式,使用新更新的监视模式,相互进行监视(步骤S12003)。设备IOOdb将该监视结果发送到更新服务器200db。 更新服务器200db的判断部210db的干扰模块确定部608的验证结果判定部683接收相互监视的结果(步骤S12004)。接着,验证结果判定部683判断干扰候选模块间的监视结果中是否至少存在1个正常。(步骤S12005)。验证结果判定部683在干扰候选模块间的全部相互监视结果全部非法、相互监视结果中完全不存在正常的情况下(步骤S12005为否),将全部干扰候选模块确定为干扰模块(步骤S12006)。在图66所示实例的情况下,在作为干扰候选模块的更新模块131、132、 136和137中,因为全部相互监视结果全部非法(图66中“X”),相互监视结果中不存在正常(“〇”),所以验证结果判定部683将更新模块131、132、136和137确定为干扰模块。 接着,将控制移动到步骤S12011。在干扰候选模块的监视结果中至少存在1个正常的情况下(步骤S12005为是), 验证结果判定部683还判断是否存在相互判定为正常的2个干扰候选模块(步骤S12007)。在图67、图68和图69所示实例的情况下,干扰候选模块的监视结果中分别至少存在1个正常。另外,在图67所示实例的情况下,不存在相互判定为正常的2个干扰候选模块。并且,在图68所示实例的情况下,更新模块131和137是相互将对方判定为正常的干扰候选模块。另外,在图69所示实例的情况下,更新模块131和137是相互将对方判定为正常的干扰候选模块。因此,在图67所示实例的情况下,不满足步骤S12007的条件。另一方面,在图68 和图69所示实例的情况下,满足步骤S12007的条件。在判断为不存在相互判定为正常的2个干扰候选模块的情况下(步骤S12007为否),如图67实例中所示的更新模块131所示,若存在将监视结果判定为正常(4051 “〇”) 的干扰候选模块,则更新模块131对更新模块132的判定结果为正常,但更新模块132对更新模块131的判定结果为非法。这样,监视结果中发生矛盾。从而,验证结果判定部683将更新模块131确定为非法更新模块。这里说明的情况是相互进行监视的2个干扰候选模块中第1干扰候选模块对第2干扰候选模块判定为正常、但第2干扰候选模块对第1干扰候
55选模块判定为非法的情况。在这种情况下,将把对方的干扰候选模块判定为正常的干扰候选模块确定为非法更新模块(步骤S12008a)。接着,判断部210db为了使确定为非法更新模块的更新模块无效化,发送无效化指示(步骤S 12008b)。之后,在图67的实例所示的情况下,因为更新模块132、136和137将针对干扰候选模块的全部监视结果判定为非法(“ X ”),所以验证结果判定部683将更新模块132、136 和137确定为干扰模块。即,验证结果判定部683将把针对全部监视对象的干扰候选模块的全部监视结果判定为非法的干扰候选模块确定为干扰模块(步骤S12008C)。之后,将控制移动到步骤S12011。在存在相互判定为正常的2个干扰候选模块的情况下(步骤S12007为是),验证结果判定部683还判断相互判定为正常(“〇”)的干扰候选模块群是否对将监视结果全部设为非法的干扰候选模块群中、相互判定为正常(“〇”)的干扰候选模块群以外的干扰候选模块判定为非法(“X”)(步骤S12009)。在相互判定为正常(“〇”)的更新模块群对将监视结果全部设为非法的更新模块群中、更新模块群以外的更新模块判定为非法(“ X ”) 的情况下(步骤S12009为是),如图68所示的实例情况所示,更新模块131与更新模块137 相互判定为正常(“〇”),但根据更新模块131与更新模块132的相互监视结果,在更新模块131的监视结果中发生矛盾(更新模块132将更新模块131判定为非法,更新模块137 将更新模块131判定为正常)。并且,更新模块137的监视结果中也发生矛盾。由此,将更新模块131与更新模块137确定为非法更新模块(步骤S12010a)。接着,判断部210db为了使确定为非法更新模块的更新模块131与更新模块137 无效化,发送无效化指示(步骤S12010b)。接着,验证结果判定部683因为更新模块131及136始终将全部监视结果判定为非法(“ X ”),所以将更新模块131及136确定为干扰模块(步骤S12010C)。之后,验证结果判定部683判断是否存在干扰候选模块相互判定为正常(“〇”) 的干扰候选模块群以外的更新模块。即,判断是否存在干扰模块(步骤S12011)。如图69所示的实例情况所示,更新模块131与更新模块137是相互判定为正常 (“〇”)的干扰候选模块群,此外存在更新模块132与更新模块136。此时,更新模块132 与更新模块136由于始终将全部监视结果判定为非法(“ X ”),所以验证结果判定部683 确定为是干扰模块。在存在干扰模块的情况下(步骤S12011为是),判断部210db发送使干扰模块无效化的指示(步骤S120U)。在不存在干扰模块的情况下(步骤S12011为否) 或发送无效化指示之后(步骤S12012),判断部210db指示监视模式更新部250生成更新模块130整体的新的监视模式,监视模式更新部250生成更新模块群130整体的新监视模式, 向设备IOOdb发送新监视模式(步骤S120i;3)。判断部210db向设备IOOdb的更新模块群 130发送基于新监视模式的相互监视的指示(步骤S12014)。如上所述,在干扰模块的确定处理中,即便变更监视模式,也可通过使始终将监视对象的更新模块判定为非法(“X”)的更新模块无效化,积极地排除干扰正常更新模块的确定的更新模块(即干扰模块)。在排除干扰模块之后,确定正常的更新模块,使用确定的正常更新模块,进行保护控制模块的更新,由此可更有效地救济保护控制模块,可进一步提高系统的安全性。
另外,通过积极地排除干扰正常更新模块的确定的更新模块,不能确定正常的更新模块的可能性减少,可确定正常的更新模块并使用确定的正常更新模块来尽可能更新保护控制模块。上述中,更新模块也可以是监视模块。5.其他变形例根据上述各实施方式说明了本发明,但本发明当然不限于上述各实施方式。以下的情况也包含于本发明中。(1)在上述各实施方式中,更新保护控制模块120,但不限于此。也可更新更新模块或应用程序等保护控制模块120以外的模块。下面,以更新更新模块133的情况为例,说明更新模块的更新处理。在更新模块的更新处理中,与更新保护控制模块的情况一样,更新用软件分发部 220使用多个密钥,多重加密用于更新更新模块133的更新用更新模块,并将更新模块群 130中包含的更新模块(除了更新模块13 作为发送目的地发送。更新模块群130中包含的更新模块(除了更新模块13 将更新模块133更新为更新用更新模块。此时,通过更新用软件分发部220控制向更新模块群130中包含的更新模块发送用于对多重加密的更新用更新模块的多个密钥进行解密的时间,攻击者不可能获得未加密的更新用更新模块。(2)上述各实施方式中,各更新模块包含接收部301、发送部302、控制部303、更新部304、验证部305、MAC值生成部306、MAC值表更新部307和分散信息保持部308来构成。 但是,不限于此。各更新模块也可仅由监视处理所需的构成要素(控制部303、验证部305)构成。 另外,各更新模块也可仅由更新处理所需的构成要素(控制部303、更新部304)构成。另外,各更新模块也可仅由无效化处理所需的构成要素(控制部303、更新部304)构成。并且,各更新模块也可由上述的组合来构成。此时,只要构成为更新模块群130中包含的多个更新模块作为整体包含监视处理与更新处理所需的构成要素即可。(3)在上述各实施方式中,各更新模块的验证部305执行其他更新模块或保护控制模块120的篡改检查,但篡改检查的对象不限于该模块整体。篡改检查的对象也可以是更新模块内的一部分,例如更新模块中包含的特定的功能或函数、密钥等数据。另外,也可不一次对篡改对象全部进行篡改检查,而仅对篡改对象的一部分进行篡改检查。此时,也可对将篡改对象分割成规定尺寸得到的每个部分进行篡改检查,或对以功能或函数单位分割得到的每个部分进行篡改检查。并且,每当篡改检查时,也可从篡改对象的多个部分中依次选择一个部分,对选择出的部分进行篡改检查。另外,也可在每次篡改检查时随机决定篡改检查的部分。另外,也可从其他模块或设备100的外部的装置提供对哪个部分进行篡改检查的指示,对由该指示所示的部分进行篡改检查。(4)在上述各实施方式中,各更新模块或保护控制模块120也可在实施了耐篡改化的区域等受保护不受攻击者攻击的区域中动作。仅由监视处理所需的构成要素构成的更新模块在受保护不受攻击者攻击的区域中动作的情况下,也可当其他更新模块或判断部210从该受保护的区域中存在的更新模块接收到检测其他更新模块或保护控制模块120被攻击的情况的通知时,无条件接受该通知,实施更新处理或无效化处理,或将该通知作为比来自其他模块的通知更重要的通知处理,进行更新处理或无效化处理的判断。另外,保护控制模块以保护模式动作,即存在于实施了耐篡改化的区域等中动作。 另外,更新模块也可以通常模式动作,即,存在于未实施耐篡改化的区域等中动作。(5)在上述各实施方式中,模块无效化部230存在于更新服务器内,访问控制模块 140存在于设备内,但不限于此。模块无效化部230和访问控制模块140分别既可存在于设备内部,也可存在于更新服务器中。另外,也可存在于各更新模块内。另外,模块无效化部230与访问控制模块140也可不是单独的模块,而在设备内部或更新服务器内部为一个模块。在模块无效化部230与访问控制模块140为一个模块的情况下,也可不向更新模块发送访问信息取得密钥与加密访问信息,而向执行无效化的更新模块直接发送访问信肩、ο并且,在模块无效化部230或访问控制模块140存在于设备内的情况下,也可存在于利用耐篡改化等受保护不受攻击的区域中。(6)在各实施方式中,更新服务器由判断部、更新用软件分发部、模块无效化部、通信部及监视模式更新部等构成,但不限于此。判断部、更新用软件分发部、模块无效化部、通信部及监视模式更新部等也可由1个模块构成。或者,也可由上述各部的组合构成。(7)在上述各实施方式中,软件更新系统在设备的工场制造时进行初始设定处理, 但不限于此。也可在出售后等工场出厂后的某处实施初始化处理。另外,初始化处理不仅实施1次,也可实施2次以上。(8)在上述各实施方式中,在初始设定处理中,验证用证书及认证密钥证书是使用更新用软件分发部220保持的署名秘密密钥生成的证书,但不限于此,也可分别使用不同密钥来生成,也可是由更新用软件分发部220以外的证书发行装置发行的证书。(9)在上述各实施方式中,作为初始设定处理或下一轮准备处理的动作,将根据加解密密钥生成的分散信息发送到更新模块13x,更新模块13x保持分散信息,但不限于此。也可代替更新模块,由应用程序来保持分散信息,或由更新模块13x和应用程序来保持分散信息。(10)在上述各实施方式中,作为检测处理的动作,当更新模块13x进行保护控制模块120的篡改检测时,利用使用验证密钥计算出的MAC值,进行篡改检测处理,但不限于此。也可使用保护控制模块120的篡改检测用证书来验证。另外,也可不进行像MAC 值或证书那样利用哈希值的篡改验证,而通过检查日志来进行篡改验证。(11)在上述各实施方式中,作为检测处理的动作,在各更新模块检测到保护控制模块120的篡改的情况下,通知给判断部210与其他更新模块,但不限于此。也可通知给判断部210与其他更新模块中任一个以上模块。另外,在检测到保护控制模块120的篡改的情况下,也可停止更新模块,或停止设备100或保护控制模块120。 并且,也可删除被篡改的保护控制模块。
并且,在各更新模块未检测到保护控制模块120的篡改的情况下,不通知判断部 210,但不限于此。作为实施了篡改检测处理的结果,也可通知未检测到篡改。(12)在上述各实施方式中,作为检测处理的动作,各更新模块不向其他更新模块发送保护控制模块的篡改检测结果,但也可由各个更新模块共享检测结果。另外,在存在不共享检测结果的更新模块的情况下,也可将该更新模块判断为非法更新模块并进行无效化。(13)在上述各实施方式中,作为解析判断处理的动作,根据篡改信息来判定是否更新保护控制模块120,但不限于此。也可利用通知为被篡改的更新模块的数量来判定是否更新。例如,在通知为被篡改的更新模块的数量比规定数多或相等的情况下,判定为更新,在少的情况下,判定为不更新。这里,规定数是更新模块群中包含的全部更新模块的数量。另外,作为解析判断时的动作,判断是否更新保护控制模块120及是否无效化保护控制模块120,但不限于此,也可判断是否停止设备100。(14)在上述各实施方式中,作为相互认证处理的动作,各更新模块认证更新用软件分发部220,之后,更新用软件分发部220认证各更新模块,但不限于此。也可更新用软件分发部220认证各更新模块,之后,各更新模块认证更新用软件分发部220。另外,各更新模块与更新用软件分发部220也可单独进行认证处理。(15)在上述各实施方式中,作为相互认证处理的动作,在更新用软件分发部220 认证各更新模块的处理中,设挑战数据在各个更新模块中为不同的值,但不限于此。作为挑战数据,也可在全部更新模块中为相同值,或将全部更新模块分成多个分组,挑战数据在各个分组为不同值。(16)在上述各实施方式中,作为相互认证处理的动作,在各更新模块认证更新用软件分发部220的处理中,各更新模块单独认证更新用软件分发部220,但不限于此。也可将署名验证的结果通知给其他更新模块,在更新模块间共享验证结果,根据本更新模块的认证结果与从其他更新模块接收到的认证结果,分别判定更新用软件分发部 220是否合法。作为判定方法,例如有如下方法,即,在规定数(例如过半数等)的更新模块认证成功的情况下,判定为合法,在不成功的情况下,判定为不合法。(17)在上述各实施方式中,作为相互认证处理的动作,更新服务器200使用署名秘密密钥与署名公开密钥来实施相互认证处理,但不限于此。也可除了署名秘密密钥与署名公开密钥之外,使用在相互认证中使用的认证密钥对。此时,更新服务器的认证密钥对中的认证公开密钥既可事先由1个更新模块保持,也可在相互认证处理时从更新服务器发送到该更新模块。(18)在上述各实施方式中,作为相互认证处理的动作,通过已验证为是合法模块的更新模块的数量是否为恢复处理所需的数量以上,判定是否实施之后的恢复处理,但不限于此。也可通过非法更新模块的数量是否不足事先设定的允许数,判定是否实施恢复处理。另外,在相互认证处理中,设为在判定为不足恢复处理所需的数量的情况下,停止设备,但此时也可使更新模块无效化。(19)在上述各实施方式中,作为相互认证处理的动作,在更新用软件分发部220 认证各更新模块之时,各更新模块将认证公开密钥和认证密钥证书与响应数据一起发送给更新用软件分发部220,但不限于此。各更新模块也可分别以不同时间将认证公开密钥和认证密钥证书与响应数据一起发送。另外,认证公开密钥或认证密钥证书也可仅在从更新用软件分发部220有请求时才分别发送。此时,更新用软件分发部220既可接收全部更新模的认证公开密钥或认证密钥证书,也可接收事先设定的恢复处理所需的数量以上数量的更新模块的认证公开密钥或认证密钥证书,或也可接收不足事先设定的非法更新模块允许数的更新模块的认证公开密钥与认证密钥证书。(20)在上述各实施方式中,作为恢复处理的动作,使监视处理时在1次解密中(监视3-1、3-2、5-1、5-幻实施2次,但不限于此。既可与解密处理的时间匹配来进行几次监视处理,或即便在解密处理之外,也可在密钥或更新用保护控制模块的接收处理时或检测处理时、相互认证处理时进行监视处理。另外,设为以规定时间间隔定期实施监视处理,但不限于此。也可将更新处理分割成多个块,每当该块的处理结束时实施,或以随机的时间间隔实施,或以从更新服务器指定的时间间隔实施。另外,各更新模块也可从外部服务器取得表示执行监视处理的时间的同步信息, 根据取得的同步信息,执行监视处理。由此,各更新模块可以与其他更新模块相同的时间执行监视处理,所以可使非法更新模块的检测精度提高。并且,也可变更通常时与恢复处理时的检测频度。检测频度的变更也可在恢复处理中。(21)在上述实施方式2或实施方式3中,说明为循环监视模式内的更新模块的数量为3个,但不限于此。也可是4个以上的更新模块单向循环验证。(22)在上述实施方式2或实施方式3中,在单向循环验证的结果全部正常的情况下,将循环监视模式内的多个更新模块作为一群处理,但不限于此。也可在一组更新模块相互监视,验证结果均正常的情况下,将一组更新模块作为一群处理。此时,在相互监视的更新模块对同一更新模块的验证结果不一致的情况下,将一组更新模块全部确定为非法更新模块。用图70所示的监视结果实例来说明。更新模块131与更新模块132这一组更新模块相互监视,验证结果均正常(3101、3102)。此时,因为更新模块131对更新模块132的验证结果(310 与更新模块132对更新模块133的验证结果(3104)不一致,所以将更新模块131与更新模块132确定为非法更新模块。(23)在上述实施方式2或实施方式3中,在循环监视模式的选择中,根据循环的尺寸进行选择,但不限于此。也可按循环监视模式内的更新模块验证同一更新模块的数量从多到少的顺序选择。例如,设存在第1、第2和第3循环监视模式,在第1循环监视模式中,利用20个更新模块来进行对第1更新模块的监视,第2循环监视模式中,利用10个更新模块来进行对第2更新模块的监视,第3循环监视模式中,利用5个更新模块来进行对第3更新模块的监视。 此时,按第1、第2和第3循环监视模式的顺序,选择循环监视模式。由此,由于验证同一更新模块的数量越多,能越多地进行是否有矛盾的验证,所以在存在矛盾的情况下,容易快速发现矛盾。结果,可快速地确定非法更新模块,可有效且迅速地排除非法更新模块。(24)在上述实施方式2或实施方式3中,在存在多个循环尺寸相同的循环监视模式的情况下,根据循环监视模式外的更新模块验证循环监视模式内的更新模块的数量,从多个循环监视模式中选择循环监视模式,但不限于此。也可按循环监视模式内的更新模块验证同一更新模块的数量从多到少的顺序选择。由此,由于验证同一更新模块的数量越多,能越多地进行是否有矛盾的验证,所以在存在矛盾的情况下,容易快速发现矛盾。结果,可快速地确定非法更新模块,可有效且迅速地排除非法更新模块。(25)在上述实施方式2中,在一次相互监视处理的监视结果中,确定非法更新模块,但不限于此。也可根据多次相互监视处理的监视结果,确定非法更新模块。用图71及图72所示的监视结果实例来具体说明。设更新服务器2001Λ在相互监视处理中接收图71的监视结果,且在下一次相互监视处理中接收图72的监视结果。在图71所示的实例中,更新模块137对更新模块136的监视结果为非法(3112), 更新模块136对更新模块137的监视结果也为非法(3111)。其他监视结果为正常。另外,在图72所示的实例中,更新模块132对更新模块135的监视结果为非法 (3115),更新模块133对更新模块135的监视结果也为非法(3114)。另外,更新模块137对更新模块133的监视结果为非法(311 。且更新模块137对更新模块136的监视结果为非法(3112),更新模块136对更新模块137的监视结果也为非法(3111)。其他监视结果为正

巾ο在图71中作为一例示出的监视结果中,若执行非法模块的确定处理,则可确定更新模块137是非法更新模块。非法更新模块只要未在无效化处理中从设备100内删除,则作为非法更新模块继续存在。因此,在下面的相互监视处理中,将一次被确定为非法更新模块的更新模块判定为正常更新模块的更新模块是非法更新模块。由此,可确定图72所示的更新模块135也为非法更新模块。这是因为更新模块135将确定为非法的更新模块137判定为正常。(26)在上述实施方式2中,在一次相互监视处理的监视结果中,确定非法更新模块,但不限于此。也可根据多次相互监视处理的监视结果,确定非法更新模块。用图73和图74所示监视结果的实例来具体说明。设更新服务器2001Λ在相互监视处理中接收图73所示的监视结果,且在下一次相互监视处理中接收图74所示的监视结果。在图73所示的实例中,更新模块137对更新模块136的监视结果为非法(3121), 更新模块136对更新模块137的监视结果也为非法(312 。另外,更新模块135对更新模块 137的监视结果为非法(31 ),更新模块137对更新模块133的监视结果也为非法(3123)。其他监视结果为正常。在图74所示的实例中,更新模块137对更新模块136的监视结果为非法(3121), 更新模块136对更新模块137的监视结果也为非法(312 。另外,更新模块133对更新模块135的监视结果为非法(3124),更新模块132对更新模块135的监视结果为非法(3125), 更新模块137对更新模块133的监视结果也为非法(3123)。其他监视结果为正常。根据图73所示实例,更新模块135将更新模块137判定为非法(3126)的更新模块。之后,根据图74所示实例,更新模块135将更新模块137判定为正常(3127)的更新模块。这样,在图73所示的实例与图74所示的实例中,更新模块135对更新模块137的判定结果不一致。因此,可确定更新模块135为非法更新模块。(27)在上述实施方式2中,正常模块假定部653随机选择更新模块群130内的一个更新模块,但不限于此。正常模块假定部653也可选择将多个其他更新模块判定为正常的更新模块。由此,通过将其他更新模块判定为正常,假定正常更新模块群中包含的更新模块变多,可更多地进行是否有矛盾的验证,所以容易快速发现矛盾。结果,可快速地确定非法更新模块,可有效且迅速地排除非法更新模块。(28)在上述实施方式2中,在图33所示的步骤S8006中结束非法模块确定处理, 将其他更新模块假定为正常,再次进行非法模块确定处理。此时,在非法模块确定处理中, 正常模块假定部653随机选择更新模块群130内的一个更新模块,但不限于此。也可选择上次非法模块确定处理的步骤S8003的假定正常更新模块群内的更新模块以外的更新模块。在上次非法模块确定处理中,因为知道假定正常更新模块群内的更新模块中没有矛盾,所以即便在步骤S8001中选择假定正常更新模块群内的更新模块,也不能确定为非法更新模块。由此,通过不选择不能确定为非法更新模块的更新模块,可提高处理效率。(29)在上述实施方式3中,在正常模块的确定处理中,判断是否存在循环监视模式,并判断循环监视模式中是否有矛盾,但不限于此。也可代替判定循环监视模式中是否有矛盾、以及与判定循环监视模式中是否有矛盾一起,执行非法模块确定处理。也可通过执行非法模块确定处理,确定非法更新模块。(30)在上述实施方式3中,非法模块假定部673随机选择更新模块群130内的一个更新模块,但不限于此。非法模块假定部673也可选择由多个其他更新模块判定为正常的更新模块。通过从其他更新模块判定为正常,由此假定非法更新模块群中包含的更新模块变多。由此,在步骤S9014中,选择的更新模块的数量变少,可提高处理效率。(31)在上述实施方式3中,在步骤S9020中未选择全部更新模块的情况下,在步骤 S9014中随机选择一个其他更新模块,但不限于此。也可选择上次正常模块确定处理的步骤 S9016的假定非法更新模块群内的更新模块以外的更新模块。在上次正常模块确定处理中, 由于知道假定非法更新模块群内的更新模块中没有矛盾,所以即便在步骤S9014中选择假定非法更新模块群内的更新模块,也不能确定为正常更新模块。由此,通过不选择不能确定为正常更新模块的更新模块,可提高处理效率。(32)在上述实施方式3中,在步骤S9005 步骤S9013中,判断是否存在循环监视模式,确定非法更新模块,之后,在步骤S9014 步骤S9016中,选择更新模块,设为假定非法更新模块群,但不限于此,也可在步骤S9004之后,进行步骤S9014 步骤S9016的处理, 之后,进行步骤S9005 步骤S9013的处理,之后进行步骤S9017的判断。另外,此时,在不能确定正常的更新模块的情况下,返回步骤S9014,在步骤S9005 步骤S9013,选择被确定为非法更新模块的更新模块以外的更新模块。(33)在上述实施方式2及实施方式3中,在相互监视处理中,从各模块接收监视结果,但在更新模块不发送监视结果的情况下,也可将不发送监视结果的更新模块确定为非法更新模块。另外,也可将把不发送监视结果的更新模块判定为正常的更新模块确定为非法更新模块。由此,在进行非法模块确定处理之前,可确定非法更新模块,可有效且迅速地排除非法更新模块。(34)在上述实施方式4中,在步骤Sl 1017中,进行实施方式3的正常模块确定处理,但不限于此,也可进行变形例09)中记载的正常模块确定处理。(35)在上述实施方式4中,在存在将针对对象更新模块的监视结果全部判定为非法的更新模块(即干扰候选模块)的情况下,在步骤S12002中,更新监视模式。在更新监视模式之后,根据监视结果判断是否有干扰模块,但不限于此。在存在多个将针对对象更新模块的监视结果全部判定为非法的更新模块(即干扰候选模块)的情况下,若将针对对象更新模块的监视结果全部判定为非法的更新模块相互判定为非法,则也可发送相互判定为非法的更新模块的无效化指示。另外,在上述实施方式4中,在仅存在1个将针对对象更新模块的监视结果全部判定为非法的更新模块(即干扰候选模块)的情况下,也可发送该干扰候选模块的无效化指示。之后,也可在排除该干扰候选模块之后,进行正常模块确定处理。另外,也可是对具有监视篡改的多个监视模块的信息安全装置进行管理的管理装置。所述管理装置具备接收部,从所述信息安全装置接收各监视模块对其他监视模块的监视结果;判定部,使用接收到的所述监视结果,从所述监视模块中,抽取对全部监视对象的监视模块判定为篡改的干扰候选模块;无效化部,在仅抽取一个干扰候选模块的情况下,控制所述信息安全装置,以使抽取到的所述干扰候选模块无效化;和更新部,在仅检测到1个干扰候选模块的情况下,去除该干扰候选模块,新制作监视模式,将制作的监视模式发送到所述信息安全装置,并使其置换为新的监视模式。所述接收部还从所述信息安全装置接收基于新的监视模式的新的监视结果,所述判定部还使用接收到的新的监视结果,确定正常监视模块。(36)在上述实施方式4中,在步骤S12007中,判断是否存在作为干扰候选模块的更新模块相互判定为正常(“〇”)的干扰候选模块群。也可在存在相互判定为正常的干扰候选模块群的情况下,在相互判定为正常的干扰候选模块群的步骤S12001的监视结果中, 在相互判断为非法的情况下,将该干扰候选模块确定为非法更新模块,发送无效化指示。这是因为在由一个更新模块对另一个更新模块的监视结果中,在步骤S12001中将监视对象的更新模块判定为非法,在步骤S12007将相同监视对象的更新模块判定为正常的情况下,在各个步骤的监视结果中发生矛盾,所以可将判定的更新模块确定为非法更新模块。(37)在上述实施方式4中,确定干扰正常模块确定的更新模块,但不限于此。也可确定干扰非法模块确定的更新模块。
此时,在图58所示动作图的步骤S10008中,代替正常模块确定处理,进行非法模块确定处理。另外,在图64所示实例的情况下,当进行非法模块确定处理时,更新模块131、 132、136及137不被确定为非法更新模块。S卩,更新模块131、132、136及137的各更新模块干扰自身的非法模块确定。此时,通过进行干扰模块确定处理,在非法模块确定处理中,将不能确定的非法模块确定为干扰模块,事先排除确定的干扰模块,之后,执行非法模块确定处理,由此可有效且迅速地排除非法更新模块。(38)在上述实施方式4中,在步骤S12002中,生成监视模式,该监视模式为在针对监视对象的更新模块的监视结果全部判定为非法的干扰候选模块群内,监视全部干扰候选模块,但不限于此。也可生成监视更新模块群130的全部更新模块的监视模式。此时,在更新监视模式之后,在干扰候选模块对全部更新模块判定为非法的情况下,将该干扰模块确定为干扰模块。(39)上述各模块具体地既可分别是单独的计算机程序,也可是组入操作系统的计算机程序,或是从操作系统调用的驱动程序,或是应用程序。(40)各系统的适用例(1)上述各实施方式的各系统如图75所示,也可是内容再生系统10e。内容再生系统IOe如图75所示,由BD再生装置100e、监视器20e及家庭服务器装置200e构成,BD再生装置100e、监视器20e及家庭服务器装置200e经家庭网络30e相互连接。家庭服务器装置200e经互联网40e,从连接于互联网40e的内容服务器装置(未图示)取得内容。内容作为一例,压缩映像数据和声音数据再加密来构成。家庭服务器装置200e经家庭网络30e将取得的内容发送到BD再生装置100e。BD再生装置IOOe从家庭服务器装置200e接收内容,将接收到的内容记录在 BD(Blu-ray Disc)中。另外,BD再生装置IOOe扩展BD中记录的内容的被加密、压缩后的映像数据及声音数据,生成映像信号及声音信号,将生成的映像信号及声音信号经家庭网络30e输出到监视器20e。监视器20e接收映像信号及声音信号,利用接收到的映像信号及声音信号,显示映像,输出声音。BD再生装置IOOe相当于上述各实施方式的各软件更新系统的设备,或相当于各篡改监视系统的信息安全装置,具有与该设备或该信息安全装置一样的构成。BD再生装置 IOOe具有的应用程序一例是用于解密被加密的数据的计算机程序,另外,另一例是用于解压被压缩的映像数据及声音数据的计算机程序。另外,家庭服务器装置200e相当于各软件更新系统的更新服务器,或相当于各篡改监视系统的管理装置,具有与更新服务器或管理装置一样的构成。(41)各系统的适用例O)上述各实施方式的各系统如图76所示,也可以是移动银行业务系统IOf。移动银行业务系统IOf如图76所示,由便携电话IOOf、无线基站50f、银行服务器装置40f及更新服务器装置200f构成。便携电话IOOf经无线基站50f、便携电话网20f及互联网30f连接于更新服务器装置200f及银行服务器装置40f。银行服务器装置40f存储相当于银行利用者的户头的户头文件。户头文件包含交易数据。交易数据包含交易的种类、金额、日期、对方的识别信息等。
64
便携电话IOOf作为一例,利用操作者的指示,经无线基站50f、便携电话网20f及互联网30f,对银行服务器装置40f请求从操作者的户头到交易对象的户头的转帐。银行服务器装置40f根据转帐的请求,进行从操作者的户头到交易对象的户头的转帐。便携电话IOOf在与银行服务器装置40f之间收发数据时,进行使用数字署名的相互设备认证。另外,请求数据的加密。银行服务器装置40f根据转帐的请求,执行从操作者的户头到交易对象的户头的转帐。在便携电话IOOf与银行服务器装置40f之间通信时,便携电话IOOf及银行服务器装置40f分别进行使用数字署名的相互设备认证。另外,在当便携电话IOOf与银行服务器装置40f之间进行数据的收发时,便携电话IOOf及银行服务器装置40进行数据的加密及加密数据的解密。便携电话IOOf相当于各实施方式的各软件更新系统的设备,或相当于各篡改监视系统的信息安全装置,具有与设备或信息安全装置一样的构成。便携电话IOOf具有的应用程序一例是用于加密数据的计算机程序或用于解密被加密数据的计算机程序,另外,另一例是用于与通信对方的装置之间使用数字署名进行设备认证的计算机程序。更新服务器装置200f相当于各实施方式的各软件更新系统的更新服务器,或相当于各篡改监视系统的管理装置。(42)上述实施方式1和实施方式2中说明的更新服务器200、200a、200b也可分别构成为具有生成设备100、100a、IOOb的更新模块群进行相互监视处理时的监视模式的监视模式生成部。另外,更新服务器200、200a、200b将生成的监视模式发送到设备100、100a、 100b,设备100、100a、IOOb接收监视模式。设备100、100a、IOOb根据接收到的监视模式进
行相互监视处理。具体地,实施方式2的更新服务器200a和200b生成包含循环监视模式的监视模式即可。设备IOOa和IOOb通过使用包含循环监视模式的监视模式,进行相互监视处理,可使在后进行的更新服务器200a和200b的非法模块确定处理的处理效率提高。(43)上述各装置具体而言是由微处理器、ROM、RAM、硬盘单元、显示器单元、键盘、 鼠标等构成的计算机系统。在所述RAM或硬盘单元中存储有计算机程序。通过所述微处理器根据所述计算机程序动作,各装置实现其功能。这里,计算机程序为了实现规定功能,组合多个表示对计算机的指令的命令代码来构成。(44)构成上述各装置的构成要素的一部分或全部也可由一个系统LSI (Large Scale htegration:大规模集成电路)构成。系统LSI是将多个构成部集成在一个芯片上来制造的超多功能LSI,具体而言,是包含微处理器、ROM、RAM等来构成的计算机系统。所述RAM中存储有计算机程序。通过所述微处理器根据所述计算机程序动作,系统LSI实现其功能。另外,构成上述各装置的构成要素的各部既可单独单芯片化,也可以包含一部分或全部的方式单芯片化。另外,这里设为系统LSI,但也可根据集成度的不同,称为IC、LSI、超(super)LSI、 超级(ultra)LSI。另外,集成电路化的方法不限于LSI,也可由专用电路或通用处理器来实现。另外,也可在LSI制造之后,利用可编程的FPGA (Field Programmalbe Gate Array)、或可重构LSI内部的电路单元的连接或设定的可重构处理器。
并且,若因半导体技术的进步或派生的其他技术出现置换LSI的集成电路化技术,则当然也可使用该技术来进行功能块的集成化。可适用生命技术等。(45)构成上述各装置的构成要素的一部分或全部也可由可拆装于各装置上的IC 卡或单体模块构成。所述IC卡或所述模块是由微处理器、ROM、RAM等构成的计算机系统。 所述IC卡或所述模块也可包含上述超多功能LSI。微处理器根据计算机程序动作,从而所述IC卡或所述模块实现其功能。该IC卡或该模块也可具有耐篡改性。(46)本发明也可是上述所示的方法。另外,也可是由计算机实现这些方法的计算机程序,或由所述计算机程序构成的数字信号。另外,本发明也可将所述计算机程序或所述数字信号记录在计算机可读取记录媒体、例如软盘、硬盘、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD (Blu-ray Disc)、半导体存储器等中。另外,也可是记录在这些记录媒体中的所述数字信号。另外,本发明也可经由电气通信线路、无线或有线通信线路、以互联网为代表的网络、数据广播等来传送所述计算机程序或所述数字信号。另外,本发明也可以是具备微处理器与存储器的计算机系统,所述存储器存储上述计算机程序,所述微处理器根据所述计算机程序动作。另外,也可通过将所述程序或所述数字信号记录在所述记录媒体中移送,或通过将所述程序或所述数字信号经由所述网络等移送,由独立的其他计算机系统来实施。(47)也可使上述实施方式和上述变形例分别组合。< 汇总 >作为本发明一实施方式的软件更新系统包含存储规定应用的软件更新装置、以及与该软件更新装置连接的管理装置,所述软件更新装置包含验证所述规定应用是否未被篡改的保护控制模块、以及更新所述保护控制模块的多个更新模块,所述多个更新模块进行其他更新模块是否未进行非法动作的验证,将所述验证结果发送到所述管理装置,所述管理装置包含从所述多个更新模块接收所述验证结果的通信部、以及控制部,所述控制部根据所述接收到的验证结果,判断有可能进行非法动作的更新模块,将使判断为有可能进行所述非法动作的更新模块无效化的指示发送到所述软件更新装置,所述控制部以所述多个更新模块中的第1更新模块为判断对象,假定所述第1更新模块正常,并以该假定为前提, 在所述第1更新模块和所述第1更新模块验证为正常的第2更新模块验证共同的第3更新模块的情况下,且所述第1更新模块的验证结果与所述第2更新模块的验证结果不一致的情况下,将所述假定作为误判断,判断为所述第1更新模块有可能进行非法动作。根据该构成,将用于更新保护控制模块的更新模块作为包含多个更新模块的更新模块群,多个更新模块相互验证是否未进行非法动作,由此所述更新模块群的内部自验证所述更新模块的篡改,所以可防止所述更新模块的篡改或干扰所述更新模块的正常动作。 结果,可防止经进行非法动作的更新模块将保护控制模块更新为非法的保护控制模块,防止通过所述非法的保护控制模块攻击所述规定的应用。另外,所述管理装置使用从所述多个更新模块的各个更新模块接收到的验证结果,通过将判断对象的更新模块假定为正常更新模块,在该假定中存在矛盾的情况下,判断所述判断对象的更新模块有可能进行非法动作。因此,即便在被篡改的更新模块将未被篡改的其他更新模块伪装成“被篡改”后通知管理装置的情况下,也可适当确定有可能进行非法动作的更新模块。另外,所述管理装置通过进行使判断为有可能进行所述非法动作的更新模块无效化的指示,可防止无效化未被篡改的更新模块,另外,可防止被篡改的更新模块未被无效化而原样残留于更新模块群内。另外,作为本发明一实施方式的软件更新系统包含存储规定应用的软件更新装置、以及与该软件更新装置连接的管理装置,所述软件更新装置包含验证所述规定应用是否未被篡改的保护控制模块、以及更新所述保护控制模块的多个更新模块,所述多个更新模块分别进行其他更新模块是否未进行非法动作的验证,将所述验证结果发送到所述管理装置,所述管理装置包含从所述多个更新模块接收所述验证结果的通信部、以及控制部,所述控制部根据所述接收到的验证结果,判断有可能进行非法动作的更新模块,将使判断为有可能进行所述非法动作的更新模块无效化的指示发送到所述软件更新装置,所述控制部决定在所述多个更新模块间对于哪个更新模块进行验证的组合,将表示该组合的组合信息发送到所述软件更新装置,所述组合中包含所述多个更新模块中的一部分的多个更新模块单向循环依次验证的规定关系,根据所述验证结果,在单向循环验证所述规定关系中包含的多个更新模块的结果是判断为所述规定关系中包含的多个更新模块全部正常,且所述规定关系中包含的多个更新模块的判断之中的某一个存在矛盾的情况下,判断为所述规定关系中包含的多个更新模块全部有可能进行非法动作。S卩,所述管理装置在决定在多个更新模块间进行哪个更新模块的验证处理的组合时,设为包含多个更新模块中的一部分更新模块单向循环依次验证的规定关系。然后,所述规定关系中包含的多个更新模块单向循环验证的结果是判断为所述规定关系中包含的多个更新模块全部正常,且所述规定关系中包含的多个更新模块的判断之中的某一个存在矛盾的情况下,可将处于所述规定关系中的多个更新模块作为一群处理, 判断为所述规定关系中包含的多个更新模块全部有可能进行非法动作。由此,与对一个个更新模块判断是否有可能进行非法动作的情况相比,可格外提高处理效率。这里,所述控制部在单向循环验证所述规定关系中包含的多个更新模块的结果是判断为某更新模块有可能进行非法动作的情况下,不对所述规定关系中包含的多个更新模块进行是否有可能进行非法动作的判断。此时,不能将所述规定关系中包含的多个更新模块作为一群处理。然后,若另外存在处于所述规定关系中的多个更新模块,则只要移动到将该多个更新模块作为一群判断的处理即可。这里,所述控制部在单向循环验证所述规定关系中包含的多个更新模块的结果是判断为所述规定关系中包含的多个更新模块全部正常,且所述规定关系中包含的多个更新模块的判断之中的某一个没有矛盾的情况下,不对所述规定关系中包含的多个更新模块进行是否有可能进行非法动作的判断。此时也可处理为不能将处于所述规定关系的多个更新模块作为一群处理来进行是否有可能进行非法动作的判断。之后,若另外存在处于所述规定关系中的多个更新模块, 则只要移动到将该多个更新模块作为一群判断的处理即可。这里,所谓所述规定关系是如下关系,即在存在第1更新模块、第2更新模块及第3更新模块3个更新模块的情况下,第1更新模块进行第2更新模块的篡改检测,第2更新模块进行第3更新模块的篡改检测,第3更新模块进行第1更新模块的篡改检测。即,指第 1更新模块、第2更新模块及第3更新模块单向循环依次进行篡改检测处理的关系。这里,所述规定关系中包含的多个更新模块中至少两个更新模块验证共同的其他更新模块,所述控制部在所述两个更新模块对所述共同的其他更新模块的验证结果矛盾的情况下,判断为所述规定关系中包含的多个更新模块的判断之中的某一个存在矛盾。在这种情况下,可发现所述规定关系中包含的多个更新模块所进行的判断的矛盾。这里,所述共同的其他更新模块也可是所述规定关系中包含的更新模块。由此,即便在所述规定关系中包含的多个更新模块之外不存在更新模块的情况下,也可发现所述规定关系中包含的多个更新模块所进行的判断的矛盾。这里,所述共同的其他更新模块也可是所述规定关系中未包含的更新模块。由此,也可使用所述规定关系中包含的多个更新模块以外的更新模块,发现所述规定关系中包含的多个更新模块所进行的判断的矛盾。这里,所述规定关系中包含的多个更新模块中至少一组更新模块相互验证,所述控制部在所述一组更新模块的验证结果相互矛盾的情况下,判断为所述规定关系中包含的多个更新模块的判断之中的某一个存在矛盾。这样,也可在检测多个更新模块所进行的判断的矛盾中使用一组更新模块相互进行验证的关系。因此,在不存在所述规定关系中包含的多个更新模块以外的更新模块的情况下,也可发现所述规定关系中包含的多个更新模块所进行的判断的矛盾。这里,所述管理装置的所述控制部从所述规定关系中包含的更新模块的数量最小的开始,依次判断是否有可能所述规定关系中包含的多个更新模块全部进行非法动作。规定关系中包含的更新模块的数量少的被判断为其中包含的全部更新模块正常的可能性高。因此,通过从所述规定关系中包含的更新模块的数量最小的开始优先进行处理,可有效地排除有可能进行非法动作的更新模块。这里,所述管理装置的所述控制部在存在所述规定关系中包含的多个更新模块的数量相同的多个规定关系的情况下,从包含更多由所述规定关系中未包含的其他更新模块监视的更新模块的规定关系开始,依次判断是否有可能所述规定关系中包含的多个更新模块全部进行非法动作。根据该构成,在判断为有可能规定关系中包含的多个更新模块全部进行非法动作之后,可在对所述规定关系中未包含的更新模块判断是否有可能进行非法动作时,对更多的更新模块进行判断。这里,所述管理装置具备存储部,存储表示所述规定关系中包含的多个更新模块的关系列表,所述控制部根据所述存储部中存储的关系列表,确定所述规定关系中包含的更新模块的数量最小的规定关系。另外,所述关系列表也可按所述规定关系中包含的多个更新模块的数量从少到多的顺序来配置所述规定关系中包含的多个更新模块。由此,所述判断部可迅速确定所述规定关系中包含的更新模块的数量最小的规定关系。这里,在所述软件更新装置中,所述规定应用被使用规定加密密钥来加密,对应于所述规定加密密钥的解密密钥根据规定分散法分散为多个分解密钥,将所述多个分散密钥分别分配给所述更新模块,将所述多个更新模块分别配置成为虚拟多边形的端点,保有分配给本更新模块的分散密钥,并且保有分配给相邻的其他两个更新模块的分散密钥,所述保护控制模块从所述更新模块取得所述分散密钥中的至少3个,复原所述解密密钥,所述规定关系中包含的多个更新模块由3个更新模块构成,所述规定关系中包含的3个更新模块是由一个更新模块和与所述一个更新模块保有的分散密钥对应的相邻的其他两个更新模块构成的3个更新模块之外的3个更新模块。根据该构成,由于将根据所述解密密钥生成的多个分散密钥分配给所述更新模块,所以即便非法解析者解析所述保护控制模块,也不能取得所述解密密钥。因此,可保证所述规定应用的机密性。另外,所述多个更新模块分别配置成为虚拟多边形的端点,各更新模块保有分配给本更新模块的分散密钥,并且保有分配给相邻的其他两个更新模块的分散密钥,所以即便在使部分更新模块无效化的情况下,也可再生解密密钥。另外,即便在判断为所述规定关系中包含的3个更新模块全部有可能进行非法动作而被无效化的情况下,也因为能够可靠保留保有各分散密钥的更新模块,所以所述保护控制模块可复原解密密钥。另外,作为本发明一实施方式的管理装置可与软件更新装置连接,所述软件更新装置存储验证规定应用是否未被篡改的保护控制模块和更新所述保护控制模块的多个更新模块,所述多个更新模块进行其他更新模块是否未进行非法动作的验证,所述管理装置包含从所述软件更新装置接收所述验证结果的通信部、以及控制部,所述控制部根据所述接收到的验证结果,判断有可能进行非法动作的更新模块,将使判断为有可能进行所述非法动作的更新模块无效化的指示发送到所述软件更新装置,所述控制部决定在所述多个更新模块间对哪个更新模块进行验证的组合,将表示该组合的组合信息发送到所述软件更新装置,所述组合中包含所述多个更新模块中的一部分的多个更新模块单向循环依次验证的规定关系,根据所述验证结果,在单向循环验证所述规定关系中包含的多个更新模块的结果是判断为所述规定关系中包含的多个更新模块全部正常,且所述规定关系中包含的多个更新模块的判断之中的某一个存在矛盾的情况下,判断为所述规定关系中包含的多个更新模块全部有可能进行非法动作。另外,作为本发明一实施方式的非法模块确定方法是在软件更新系统中,管理装置从多个更新模块中判断有可能进行非法动作的更新模块的方法,所述软件更新系统包含软件更新装置与所述管理装置,所述软件更新装置具有存储单元,存储规定应用、验证所述规定应用是否未被篡改的保护控制模块、以及更新所述保护控制模块的所述多个更新模块;和控制单元,进行控制,使所述多个更新模块进行其他更新模块是否未进行非法动作的验证,将所述验证结果发送到所述管理装置,所述管理装置具有从所述多个更新模块接收所述验证结果的通信部、以及控制部,所述控制部根据所述接收到的验证结果,判断有可能进行非法动作的更新模块,将使判断为有可能进行所述非法动作的更新模块无效化的指示发送到所述软件更新装置,其中,决定在所述多个更新模块间对哪个更新模块进行验证的组合,将表示该组合的组合信息发送到所述软件更新装置,所述组合中包含所述多个更新模块中的一部分的多个更新模块单向循环依次验证的规定关系,根据所述验证结果,在单向循环验证所述规定关系中包含的多个更新模块的结果是判断为所述规定关系中包含的多个更新模块全部正常,且所述规定关系中包含的多个更新模块的判断之中的某一个存在矛盾的情况下,判断为所述规定关系中包含的多个更新模块全部有可能进行非法动作。另外,本发明是确定在经由网络连接的信息处理装置上动作的非法模块并使该非法模块无效化的非法模块确定装置,其特征在于,具备接收单元,从进行篡改检测的多个模块,接收篡改检测结果;判断单元,将所述多个模块中的一个假定为正常模块,根据所述假定,判断接收到的多个篡改检测结果中有无矛盾,在有矛盾的情况下,将假定为正常模块的所述模块确定为非法模块;和无效化单元,输出被确定的非法模块的无效化指示。这里,其特征在于,所述判断单元具备假定单元,从所述多个模块中选择一个,假定为正常模块;重复单元,将由所述假定单元最初假定为正常模块的模块作为起点,将该模块所进行的篡改检测处理的结果中未检测到篡改的检测对象模块假定为正常模块,接着将该新假定为正常的模块所进行的篡改检测处理的结果中未检测到篡改的更加新的检测对象模块假定为正常模块,下面,以将新的检测对象模块判定为非正常的模块为终点,在到达终点之前,重复依次使进行篡改检测处理侧的模块、检测对象模块转移并假定为正常模块的处理;假定正常模块存储单元,存储所述假定单元和所述重复单元假定为正常模块的模块所进行的识别信息;矛盾检测单元,参照假定正常模块存储单元中存储的识别信息,对照从起点至终点的模块的篡改检测结果,检测是否有矛盾;和确定单元,在检测到矛盾的情况下,将所述假定单元假定的模块确定为非法模块。这里,其特征在于,还具备置换单元,在所述判断单元在所述重复单元的处理中, 在利用到达终点模块之前的任一检测对象模块与起点模块一致来认定在一圈模块间单向进行篡改检测处理的情况下,进行将一圈模块全部置换为一个正常模块的处理。产业上的可利用性本发明可在制造和销售对信息处理装置提供软件的更新服务器的产业中,用作所述更新服务器确定在信息处理装置上动作的非法软件且安全地更新软件的技术。符号说明10、10a、IOb软件更新系统IOOUOOb 设备IOOa信息处理装置110、111 应用120保护控制模块130、130b更新模块群131 137更新模块140访问控制模块200,200b更新服务器200a非法模块确定装置210,210b 判断部210a判断单元220更新用软件分发部230模块无效化部[1007]240通信部301接收部302发送部303控制部304更新部305验证部306值生成部307 MAC值表更新部308分散信息保持部401接收部402发送部403控制部404解密加载部405检测部406解析工具检测部407加解密密钥保持部408加解密密钥生成部409加解密密钥分散部410证书生成部411加解密密钥复原部501接收部502发送部503访问信息保持部561确定指示接收部601接收部602发送部603指示生成部604.604b模块确定部605非法模块确定部606循环检测部651确定指示接收部652确定结果发送部653正常模块假定部654验证结果判定部654证结果判定部655假定正常更新模块群抽取部656矛盾检测部657循环监视模式取得部661取得指示接收部1046]662循环监视模式发送部1047]663循环监视模式取得部1048]664已取得循环监视模式存储部1049]665监视模式存储部1050]666循环监视模式存储部1051]701接收部1052]702发送部1053]703加密密钥生成部1054]704加密处理部1055]705认证部1056]706更新模块选择部1057]707控制部1058]708证书生成部1059]709署名秘密密钥保持部1060]710更新用软件保持部1061]711加密密钥保持部1062]801接收部1063]802发送部1064]803访问信息取得密钥保持部1065]804模块选择部1066]804更新模块选择部1067]2320无效化单元1068]2330假定正常模块群存储单元1069]2340假定单元1070]2350假定正常模块群生成单元1071]2360矛盾检测单元1072]2370确定单元
7权利要求
1.一种非法模块确定装置,确定在经由网络连接的信息处理装置上动作的非法模块并使该非法模块无效化,其特征在于,具备接收单元,从进行篡改检测的多个模块,接收篡改检测结果;判断单元,将所述多个模块之中的一个假定为正常模块,根据所述假定,判断接收到的多个篡改检测结果中有无矛盾,在有矛盾的情况下,将假定为正常模块的所述模块确定为非法模块;以及无效化单元,输出被确定的非法模块的无效化指示。
2.根据权利要求1所述的非法模块确定装置,其特征在于, 所述判断单元具备假定正常模块群存储单元,对假定为正常模块的模块的识别信息进行存储; 假定单元,从所述多个模块中选择一个,假定为正常模块,将识别信息记录在所述假定正常模块群存储单元中;假定正常模块群生成单元,重复如下步骤将由所述假定单元假定为正常模块的所述模块作为起点,将作为篡改检测处理的结果未被检测到篡改的模块假定为正常模块,并将识别信息记录在所述假定正常模块群存储单元中;矛盾检测单元,判断与存储在所述假定正常模块群存储单元中的识别信息对应的模块的篡改检测结果中是否有矛盾;以及确定单元,在检测到矛盾的情况下,将所述假定单元中假定为正常模块的所述模块确定为非法模块。
3.根据权利要求2所述的非法模块确定装置,其特征在于, 所述假定单元将第1模块假定为所述正常模块,所述矛盾检测单元对于由所述第1模块和第2模块进行了篡改检测的第3模块,判断所述第1模块的篡改检测结果与所述第2模块的篡改检测结果是否矛盾,所述第1模块针对该第2模块的篡改检测结果为正常,在所述第1模块的篡改检测结果与所述第2模块的篡改检测结果矛盾的情况下,所述确定单元将所述第1模块确定为非法模块。
4.根据权利要求1所述的非法模块确定装置,其特征在于, 所述判断单元具备循环存储单元,存储有循环模式中包含的多个模块的识别信息,该循环模式是单向循环进行篡改检测的模块群;假定单元,在所述循环模式中包含的多个模块单向循环进行篡改检测的结果全部正常的情况下,将所述循环模式中包含的多个模块假定为正常模块;矛盾检测单元,判断所述循环模式中包含的两个以上的模块针对其他模块的篡改检测结果中是否有矛盾;以及确定单元,在有矛盾的情况下,将所述循环模式中包含的全部模块确定为非法模块。
5.根据权利要求4所述的非法模块确定装置,其特征在于,所述矛盾检测单元对于由所述循环模式中包含的第1模块和第2模块进行了篡改检测的第3模块,判断所述第1模块的篡改检测结果与所述第2模块的篡改检测结果是否矛盾, 该第3模块是所述循环模式中未包含的模块,在所述第1模块的篡改检测结果与所述第2模块的篡改检测结果矛盾的情况下,所述确定单元将所述循环模式中包含的全部模块确定为非法模块。
6.根据权利要求4所述的非法模块确定装置,其特征在于,所述矛盾检测单元对于由所述循环模式中包含的第1模块和第2模块进行了篡改检测的第3模块,判断所述第1模块的篡改检测结果与所述第2模块的篡改检测结果是否矛盾, 该第3模块是所述循环模式中包含的模块,在所述第1模块的篡改检测结果与所述第2模块的篡改检测结果矛盾的情况下,所述确定单元将所述循环模式中包含的全部模块确定为非法模块。
7.根据权利要求4所述的非法模块确定装置,其特征在于,所述矛盾检测单元判断所述循环模式中包含的第1模块和第2模块相互进行篡改检测的结果是否矛盾,在相互进行篡改检测的结果矛盾的情况下,所述确定单元将所述循环模式中包含的全部模块确定为非法模块。
8.根据权利要求4所述的非法模块确定装置,其特征在于,所述非法模块确定装置还具备监视模式存储单元,该监视模式存储单元存储有监视模式,该监视模式是验证源的模块与验证对象的模块的组合,所述循环存储单元从所述监视模式存储单元中存储的监视模式中,检测作为单向循环进行篡改检测的模块群的循环模式,并对检测出的所述循环模式中包含的多个模块的识别信息进行存储。
9.根据权利要求4所述的非法模块确定装置,其特征在于,在所述循环存储单元中存储有多个循环模式的情况下,所述判断单元从循环模式中包含的模块数少的循环模式开始,依次进行所述假定单元、所述矛盾检测单元和所述确定单元的处理。
10.根据权利要求9所述的非法模块确定装置,其特征在于,在所述循环存储单元中存储有多个循环模式、且各循环模式中包含的模块数相同的情况下,所述判断单元从针对各循环模式中包含的模块进行篡改检测处理的未包含在该循环模式中的模块的数量多的循环模式开始,依次进行所述假定单元、所述矛盾检测单元和所述确定单元的处理。
11.根据权利要求10所述的非法模块确定装置,其特征在于,所述循环存储单元还按每个循环模式存储有循环模式列表,所述循环模式列表包含各循环模式中包含的模块数、以及针对该循环模式中包含的模块进行篡改检测处理的未包含在该循环模式中的模块的数量,所述判断单元参照所述循环模式列表,决定由所述假定单元、所述矛盾检测单元和所述确定单元进行处理的循环模式的顺序。
12.根据权利要求11所述的非法模块确定装置,其特征在于,所述循环存储单元中存储的所述循环模式列表按各循环模式中包含的模块数从少到多的顺序,配置各循环模式中包含的模块数、以及针对该循环模式中包含的模块进行篡改检测处理的未包含在该循环模式中的模块的数量。
13.根据权利要求1所述的非法模块确定装置,其特征在于,所述非法模块确定装置还具备监视模式生成单元,对于在所述信息处理装置中动作并相互进行篡改检测处理的多个模块生成监视模式,该监视模式是验证源的模块与验证对象的模块的组合;以及监视模式发送单元,将生成的所述监视模式发送到所述信息处理装置; 所述监视模式生成单元生成包含多个模块单向循环进行篡改检测的循环模式的所述监视模式。
14.一种信息处理装置,其特征在于,具备 应用程序,包含机密数据,且该应用程序被加密; 保护控制模块,具有保护所述机密数据的功能;以及多个模块,具有更新软件的功能,相互验证有无篡改,保持多个分散密钥之中的被分配给自身的分散密钥,该多个分散密钥从解密密钥中按照规定的密钥分散法来生成,该解密密钥用于对所述被加密的应用程序进行解密;在所述多个模块包含作为单向循环进行篡改检测的模块群的循环模式的情况下,被分配给所述循环模式中包含的模块的分散信息也被重复地分配给所述循环模式中未包含的模块。
15.一种非法模块确定装置,在非法模块确定装置中使用,该非法模块确定装置确定在经由网络连接的信息处理装置上动作的非法模块并使该非法模块无效化,该非法模块确定方法的特征在于,包括接收步骤,从进行篡改检测的多个模块,接收篡改检测结果;判断步骤,将所述多个模块之中的一个假定为正常模块,根据所述假定,判断接收到的多个篡改检测结果中有无矛盾,在有矛盾的情况下,将假定为正常模块的所述模块确定为非法模块;以及无效化步骤,输出被确定的非法模块的无效化指示。
16.一种非法模块确定程序,确定在经由网络连接的信息处理装置上动作的非法模块并使该非法模块无效化,其特征在于,使非法模块确定装置执行接收步骤,从进行篡改检测的多个模块,接收篡改检测结果;判断步骤,将所述多个模块之中的一个假定为正常模块,根据所述假定,判断接收到的多个篡改检测结果中有无矛盾,在有矛盾的情况下,将假定为正常模块的所述模块确定为非法模块;以及无效化步骤,输出被确定的非法模块的无效化指示。
17.一种集成电路,在非法模块确定装置中使用,该非法模块确定装置确定在经由网络连接的信息处理装置上动作的非法模块并使该非法模块无效化,该集成电路的特征在于, 具备接收单元,从进行篡改检测的多个模块,接收篡改检测结果;判断单元,将所述多个模块之中的一个假定为正常模块,根据所述假定,判断接收到的多个篡改检测结果中有无矛盾,在有矛盾的情况下,将假定为正常模块的所述模块确定为非法模块;以及无效化单元,输出被确定的非法模块的无效化指示。
18.一种非法模块无效化系统,由信息处理装置以及确定在所述信息处理装置上动作的非法模块并使该非法模块无效化的非法模块确定装置构成,其特征在于, 所述信息处理装置具备 应用程序,包含机密数据,且该应用程序被加密; 保护控制模块,具有保护所述机密数据的功能;以及多个更新模块,具有更新软件的功能,相互验证有无篡改; 所述非法模块确定装置具备 接收单元,从所述多个更新模块,接收篡改检测结果;判断单元,将所述多个更新模块之中的一个假定为正常模块,根据所述假定,判断接收到的多个篡改检测结果中有无矛盾,在有矛盾的情况下,将假定为正常模块的所述更新模块确定为非法模块;以及无效化单元,将被确定的非法模块的无效化指示输出到所述信息处理装置。
19. 一种非法模块无效化方法,在非法模块无效化系统中使用,该非法模块无效化系统由信息处理装置以及确定在所述信息处理装置上动作的非法模块并使该非法模块无效化的非法模块确定装置构成,该非法模块无效化方法的特征在于, 所述信息处理装置具备 应用程序,包含机密数据,且该应用程序被加密; 保护控制模块,具有保护所述机密数据的功能;以及多个更新模块,具有更新软件的功能,相互验证有无篡改; 所述非法模块无效化方法包括 篡改检测步骤,由所述多个更新模块相互进行篡改检测; 接收步骤,从所述多个更新模块,接收篡改检测结果;判断步骤,将所述多个更新模块之中的一个假定为正常模块,根据所述假定,判断接收到的多个篡改检测结果中有无矛盾,在有矛盾的情况下,将假定为正常模块的所述更新模块确定为非法模块;以及无效化步骤,输出被确定的非法模块的无效化指示。
全文摘要
本发明提供一种非法模块确定装置(200a),确定在经由网络连接的信息处理装置(100a)中动作的非法模块并使该非法模块无效化,其特征在于,具备接收单元(2310),从进行篡改检测的多个模块,接收篡改检测结果;判断单元(210a),将所述多个模块中的一个假定为正常模块,根据所述假定,判断接收到的多个篡改检测结果中有无矛盾,在有矛盾的情况下,将假定为正常模块的所述模块确定为非法模块;和无效化单元(2320),输出被确定的非法模块的无效化指示。
文档编号G06F11/00GK102301374SQ20108000621
公开日2011年12月28日 申请日期2010年2月15日 优先权日2009年2月16日
发明者前田学, 宫内诚卡洛斯, 小泉英介, 布田裕一, 松崎枣, 海上勇二, 矶边秀司, 酒井正夫, 野仲真佐男, 长谷川真吾, 静谷启树 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1