篡改监视系统、管理装置及篡改管理方法

文档序号:6348099阅读:150来源:国知局
专利名称:篡改监视系统、管理装置及篡改管理方法
技术领域
本发明涉及监视并管理在设备内部中动作的模组等的篡改的技术。
背景技术
以往,为了使具有认证密钥等的隐秘数据的应用程序不被有恶意的第三者(以下称作“攻击者”)解析,已知有通过防篡改模组进行的保护。防篡改模组通常作为硬件安装在设备上,保护应用程序。但是,如果沿着考虑到日益更新的攻击手法的近来的现状,则为了灵活地对应于新的攻击手法,希望通过容易更新的作为计算机程序的软件来保护应用程序。作为通过软件保护应用程序的技术,例如有使用哈希值的篡改验证、和在不使用应用程序时将程序加密保存、仅在使用时将加密的程序解密并向存储器装载的解密装载功能等。但是,即使使用这样的技术,保护应用程序的软件(以下称作“保护控制模组”)自身也有可能被攻击者攻击。如果保护控制模组被篡改,则应用程序被暴露在攻击者的攻击下。专利文献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年)非专利文献 2:ITU-T Recommendation X. 509(1997E) Jnformation Technology Open Systems Interconnection—The Directory !Authentication Framework,1997非专利文献 3 :F. Pr印arata,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个监视模组假定为被篡改;第2假定机构,以假定为被篡改的上述监视模组为起点,对未处理的监视模组连锁地采用以下次序使用接收到的上述监视结果对将假定为被篡改的监视模组判断为正常的监视模组假定为被篡改;判断机构,判断由上述第2假定机构进行的时序的采用的结果是否是全部的监视模组被假定为被篡改,在进行了上述判断的情况下,将最初被假定为被篡改的上述监视模组决定为正常的监视模组。发明效果根据该结构,由于检测机构检测到没有被篡改的正常的监视模组的存在,所以至少1个监视模组是正常的。相对于此,在由判断机构判断为对全部的监视模组假定为被篡改的情况下,该判断结果与检测机构的检测的结果矛盾。这是因为在第1假定机构的假定中存在错误。因而,将第1假定机构的假定推翻,将由第1假定机构假定为被篡改的监视模组决定为正常的监视模组。如以上这样,能够决定正常的监视模组,所以正常的监视模组的监视结果是能够信赖的,能够有效地利用。


图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的再加密处理的时序图。图M是实施方式1的下一轮准备处理的时序图。图25是实施方式1的无效化处理的时序图。图沈是用来说明实施方式2的更新模组群130b的结构的图。图27是实施方式2的判断部210b的框图。图28是实施方式2的非法模组确定部605的框图。图四是实施方式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表示变形例02)的监视结果的一例。图71表示变形例05)的监视结果的一例。图72表示变形例05)的监视结果的一例。图73表示变形例06)的监视结果的一例。图74表示变形例06)的监视结果的一例。
图75是表示内容再现系统IOe的结构的结构图。图76是表示移动银行系统IOf的结构的结构图。图77是表示本发明的实施方式3的篡改监视系统IOca的结构的框图。图78是表示本发明的实施方式4的篡改监视系统IOda的结构的框图。图79是有关实施方式2的软件更新系统IOa的整体结构图。图80是有关实施方式2的软件更新系统IOb的整体结构图。
具体实施例方式在作为技术方案1所述的形态的管理具有监视篡改的多个监视模组的信息安全装置的管理装置中,其特征在于,具备接收机构,从上述信息安全装置接收各监视模组对其他监视模组的监视结果;检测机构,使用接收到的上述监视结果,检测没有被篡改的正常的监视模组的存在;第1假定机构,在做出了上述检测的情况下,对从上述监视模组选择的 1个监视模组假定为被篡改;第2假定机构,以假定为被篡改的上述监视模组为起点,对未处理的监视模组连锁地采用使用接收到的上述监视结果、对将假定为被篡改的监视模组判断为正常的监视模组假定为被篡改的时序;判断机构,判断由上述第2假定机构进行的时序的采用的结果是否是全部的监视模组被假定为被篡改,在进行了上述判断的情况下,将最初被假定为被篡改的上述监视模组决定为正常的监视模组。这里,也可以是,上述检测机构使用上次接收到的监视结果、和此次接收到的监视结果,在通过上次接收到的监视结果,判断全部的监视模组是正常的,通过此次接收到的监视结果没有判断为全部的监视模组是正常的情况下,检测没有被篡改的正常的监视模组的存在;上次的监视与此次的监视的时间间隔比规定的阈值小。根据该结构,由于上次的监视与此次的监视的时间间隔比规定的阈值小,所以可以认为在上次的监视与此次的监视之间不会有全部的监视模组被篡改的情况。因此,在此次的监视之后存在正常的监视模组的可能性较高。这里,也可以是,上述第1假定机构生成包括识别所选择的上述监视模组的识别号码的假定非法组;上述第2假定机构使用上述监视结果判断是否存在将由包含在上述假定非法组中的识别号码识别的监视模组判断为正常的监视模组,在判断为存在的情况下, 将识别该监视模组的识别号码追加到上述假定非法组中,对未处理的监视模组进行控制, 以使其反复进行上述判断和上述追加;上述判断机构判断在上述假定非法组中是否包含识别全部的监视模组的识别号码,在判断为在上述假定非法组中包含识别全部的监视模组的识别号码的情况下,决定正常的监视模组。根据该结构,能够使用识别号码识别监视模组。这里,也可以是,上述管理装置还具备从上述监视模组之中确定被篡改的非法的监视模组的非法模组确定机构;上述第1假定机构将非法的监视模组去除,选择上述监视模组;上述第2假定机构对去除了非法的监视模组的未处理的监视模组采用上述时序;上述判断机构判断是否除了非法的监视模组以外、其他全部的监视模组被假定为被篡改,在进行了上述判断的情况下,确定正常的监视模组。根据该结构,确定非法的监视模组,将所确定的非法的监视模组去除,确定正常的监视模组,所以正常的监视模组的确定变得更容易。
这里,也可以是,上述非法模组确定机构在假定为1个监视模组是正常的情况下, 使用接收的监视结果判断在多个监视结果中是否有不一致,在有不一致的情况下,将上述监视模组确定为非法的监视模组。此外,也可以是,对上述监视模组通过循环监视模式决定监视对象的监视模组,上述循环监视模式表示作为第1监视模组的监视对象的第2监视模组监视上述第1监视模组、或者经由1个以上的监视模组监视上述第1监视模组;上述非法模组确定机构在由有关上述循环监视模式的多个监视模组进行的对其他1个监视模组的多个监视结果不一致的情况下,将有关该循环监视模式的多个监视模组确定为非法的监视模组。根据这些结构,能够可靠地确定非法的监视模组。这里,也可以是,上述信息安全装置具有的至少1个监视模组是具备将其他模组更新的功能的更新模组;上述管理装置还具备在被决定为正常的监视模组的监视模组是具有将其他模组更新的功能的上述更新模组的情况下、对作为更新模组的该监视模组进行控制、以使其将其他模组更新的控制机构。根据该结构,能够通过被确定为正常的更新模组将其他模组可靠地更新。这里,也可以是,上述信息安全装置还具备应用程序及保护该应用程序的保护控制模组;上述他的模组是上述监视模组、上述应用程序、或上述保护控制模组。在作为技术方案9所述的形态的管理具有监视篡改的多个监视模组的信息安全装置的管理装置中,其特征在于,具备接收机构,从上述信息安全装置接收各监视模组对其他监视模组的监视结果;判断机构,使用接收到的上述监视结果,从上述监视模组中,提取对全部的监视对象的监视模组判断为被篡改的妨碍候补模组;更新机构,在检测到多个妨碍候补模组的情况下,生成新的监视模式,以在多个妨碍候补模组间相互监视对方,将所生成的新的监视模式对上述信息安全装置发送,使其替换为新的监视模式;上述接收机构还从上述信息安全装置接收新的监视模式的新的监视结果;上述判断机构还使用接收到的新的监视结果,将从上述妨碍候补模组中去除了相互判断为正常、对其他妨碍候补模组判断为非法的两个妨碍候补模组以外的其他妨碍候补模组确定为妨碍模组。根据该结构,由于能够确定妨碍模组,所以只要将所确定的妨碍模组无效化就可以。这里,也可以是,上述判断机构还使用接收到的新的监视结果,在两个妨碍候补模组中的第1妨碍候补模组对第2妨碍候补模组判断为正常、第2妨碍候补模组对第1妨碍候补模组判断为非法的情况下,将第1妨碍候补模组确定为被篡改的非法的监视模组。根据该结构,能够可靠地确定非法的监视模组。这里,也可以是,上述更新机构在全部的监视模组间生成新的上述监视模式,以使其相互监视对方。这里,也可以是,上述管理装置还包括控制上述信息安全装置、以使其将所确定的上述妨碍模组无效化的无效化机构。这里,也可以是,上述更新机构还生成新的监视模式,以使其通过除了被无效化的上述妨碍模组以外的上述监视模组监视对方,将所生成的新的监视模式对上述信息安全装置发送,使其替换为新的监视模式;上述接收机构还从上述信息安全装置接收由除了无效化的上述妨碍模组以外的各监视模组对其他监视模组的监视结果;上述管理装置还包括使CN 102272770 A
说明书
7/70 页
用接收到的监视结果确定正常的监视模组的正常模组确定机构。根据该结构,将妨碍模组去除,确定正常的监视模组,所以正常的监视模组的确定变得容易。这里,也可以是,是管理具有监视篡改的多个监视模组的信息安全装置的管理装置,具备接收机构,从上述信息安全装置接收各监视模组对其他监视模组的监视结果;判断机构,使用接收到的上述监视结果,从上述监视模组中,提取对全部的监视对象的监视模组判断为被篡改的妨碍候补模组;无效化机构,在仅提取了 1个妨碍候补模组的情况下,控制上述信息安全装置,以使其将所提取的上述妨碍候补模组无效化;更新机构,在仅检测到 1个妨碍候补模组的情况下,去除该妨碍候补模组而新制作监视模式,将制作出的监视模式向上述信息安全装置发送,使其替换为新的监视模式;上述接收机构还从上述信息安全装置接收新的监视模式的新的监视结果;上述判断机构还使用接收到的新的监视结果确定正常的监视模组。根据该结构,由于仅将1个妨碍候补模组去除,所以确定正常的监视模组变得容
易ο此外,技术方案15所述的形态,是由具有监视篡改的多个监视模组的信息安全装置、和管理该信息安全装置的管理装置构成的篡改监视系统,其特征在于,上述管理装置具备接收机构,从上述信息安全装置接收各监视模组对其他监视模组的监视结果;检测机构,使用接收到的上述监视结果,检测没有被篡改的正常的监视模组的存在;第1假定机构,在做出了上述检测的情况下,对从上述监视模组选择的1个监视模组假定为被篡改;第 2假定机构,以假定为被篡改的上述监视模组为起点,对未处理的监视模组连锁地采用使用接收到的上述监视结果、对将假定为被篡改的监视模组判断为正常的监视模组假定为被篡改的时序;判断机构,判断由上述第2假定机构进行的时序的采用的结果是否是全部的监视模组被假定为被篡改,在进行了上述判断的情况下,将最初被假定为被篡改的上述监视模组决定为正常的监视模组。这里,也可以是,上述信息安全装置具有的至少1个监视模组是具备将其他模组更新的功能的更新模组;上述管理装置还具备在被决定为正常的监视模组的监视模组是具有将其他模组更新的功能的上述更新模组的情况下、对作为更新模组的该监视模组进行控制、以使其将其他模组更新的控制机构。这里,也可以是,是由具有监视篡改的多个监视模组的信息安全装置、和管理该信息安全装置的管理装置构成的篡改监视系统,上述管理装置具备接收机构,从上述信息安全装置接收各监视模组对其他监视模组的监视结果;判断机构,使用接收到的上述监视结果,从上述监视模组中,提取对全部的监视对象的监视模组判断为被篡改的妨碍候补模组; 更新机构,在检测到多个妨碍候补模组的情况下,生成新的监视模式,以在多个妨碍候补模组间相互监视对方,将所生成的新的监视模式对上述信息安全装置发送,使其替换为新的监视模式;上述接收机构还从上述信息安全装置接收新的监视模式的新的监视结果;上述判断机构还使用接收到的新的监视结果,将从上述妨碍候补模组中去除了相互判断为正常、对其他妨碍候补模组判断为非法的两个妨碍候补模组以外的其他妨碍候补模组确定为妨碍模组。这里,也可以是,上述信息安全装置具有的至少1个监视模组是具备将其他模组更新的功能的更新模组;上述管理装置还具备在被决定为正常的监视模组的监视模组是具有将其他模组更新的功能的上述更新模组的情况下、对作为更新模组的该监视模组进行控制、以使其将其他模组更新的控制机构。1.实施方式1这里,作为有关本发明的非法模组无效化系统的实施方式,对软件更新系统10参照附图进行说明。1. 1软件更新系统10的结构(1)整体结构图1是软件更新系统10的整体结构图。如该图所示,软件更新系统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 值”)。验证部305以哪个定时进行哪个模组的篡改检测处理,是预先被从更新服务器 200给出。验证部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的功能性的结构的功能框图。如该图所示,保护控制模组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被攻击者攻击的情况下检测到该情况。解密装载部404当执行被加密的应用110、111时,进行使用加解密密钥解密、装载到存储器上的处理。此外,如果在应用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的结构的功能框图。如该图所示,访问控制模组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 Interface Card) 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及引导装载器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内部的各部之间进行信息的收发。例如, 通信部240将从设备100接收到的篡改检测结果向判断部210发送。另外,在设备100与更新服务器200之间的通信中,也可以使用将数据加密等、确保了安全的通信路径。接着,对更新服务器200的各构成单元说明。(b)判断部210的结构图7是功能性地表示判断部210的结构的功能框图。如该图所示,判断部210由接收部601、发送部602、指示生成部603、及模组确定部 604构成。接收部601从更新模组131、132、133接收篡改检测结果、分散信息、各种委托等、 将它们向指示生成部603输出。此外,接收部601从更新服务器200内的各部接受处理完成的通知,将其向指示生成部603输出。发送部602将由指示生成部603生成的指示向更新服务器200内的各部输出。指示生成部603将从更新模组131、132、133接收到的篡改检测结果(以下有称作 “相互监视结果”的情况)向模组确定部604输出。此外,指示生成部603从模组确定部604 取得识别被篡改的非法的更新模组的信息,基于所取得的信息生成对更新服务器200内的各部的指示。模组确定部604使用从更新模组131、132、133接收到的相互监视结果,判断各更新模组是否被篡改,确定被篡改的非法的更新模组。模组确定部604将识别非法的更新模组的信息向指示生成部603输出。实施方式1的模组确定部604使用例如从各更新模组接收到的多个篡改检测结果,将判断为过半数的更新模组“被篡改”的更新模组确定为是非法的更新模组。具体而言, 目前在更新模组群130中包含有3个更新模组131、132、133,所以将判断为两个更新模组 “被篡改”的更新模组确定为非法的更新模组。(c)更新用软件分配部220
图8是表示更新用软件分配部220的功能性结构的功能框图。如该图所示,更新用软件分配部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的功能性的结构的功能框图。如该图所示,模组无效化部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所示,在保护控制模组120中植入了加解密密钥,在更新模组131、132、133 中植入了签名公开密钥、验证密钥及认证密钥对(在该时点,在更新模组中还没有植入分散信息的组)。进而,在更新模组131、132、133中,植入了用来识别各个更新模组的更新模组识别符,在该状态下安装到设备100中。加解密密钥是用来将应用110、111加密及解密的密钥。应用110、111在被使用加解密密钥加密的状态下被向非易失性存储器存储,在执行时被保护控制模组120使用加解密密钥解密后执行。设备100在一边切换上下文一边执行多个应用的情况下,以上下文切换的定时, 通过使用加解密密钥进行应用110、111使用的数据的加密及解密,在应用110、111的执行时,通过调试器等的解析工具防止数据被抽取。植入在更新模组131、132、133中的密钥中的、签名公开密钥是在全部更新模组中共通的密钥。验证密钥和认证密钥对是在各个更新模组中不同的密钥。回到图12继续说明。在S1000中将各软件安装后,设备100执行进行初始设定的软件、以及用来测试是否正常动作的软件等,进行初始化(S1001)。此外,设备100对保护控制模组120、以及更新模组
131、132、133输出初始化指示。保护控制模组120根据加解密密钥使用秘密分散法生成分散信息(SlOO》。另外, 保护控制模组120生成与具备分散信息保持部308的更新模组的数量相同数量的分散信息。在更新模组131、132、133都具备分散信息保持部308的情况下,保护控制模组120生成3个分散信息。进而,保护控制模组120使用签名秘密密钥生成加解密密钥证书(S1003)。加解密密钥证书是用来在加解密密钥的复原时确认加解密密钥是否能够被正确地复原的证书。保护控制模组120将所生成的分散信息和加解密密钥证书向更新模组131、132、 133 发送(S1004)。另外,保护控制模组120对各更新模组发送分散信息的组,以使更新模组131、
132、133分别保持不同的分散信息的组。进而,保护控制模组120将表示向哪个更新模组发送了哪个分散信息的配置信息向各更新模组发送。对各更新模组发送的配置信息是相同的 fn息ο关于根据加解密密钥使用秘密分散法生成分散信息的方法、以及将分散信息向更新模组发送的方法,已在专利文献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恢复、还是将设备100吊销、还是什么都不做(S3004)。在将保护控制模组120恢复的情况下(S3004中“是”),判断部210准备更新用的保护控制模组(S3006),对更新模组群130指示更新处理的开始(S3007)。此外,在将设备100吊销的情况下,对于向应用110、111提供服务的服务器委托,以使其将设备100吊销 (S3005)。在什么都不做的情况下(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使用随机数生成器生成随机数(挑战数据)(S4000),将所生成的挑战数据向更新用软件分配部220发送(S4001)。此时,将用来识别更新模组131的更新模组识别符与挑战数据一起发送。更新用软件分配部220对接收到的挑战数据使用签名秘密密钥生成签名数据(S4002),将所生成的签名数据作为应答数据,向更新模组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)。另外,本发明的软件更新系统并不是上述的全部处理都是必须的。软件更新系统只要有被从外部给予更新的触发事件、使用新的保护控制模组将被篡改的保护控制模组120更新的更新处理(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密钥(S5113)。进而,更新用软件分配部220对更新模组131委托,以使其将在S5109中取得的加密新保护控制模组向更新模组132发送(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)相互监视处理与更新处理的关系将上述的相互监视处理和更新处理一边相互协同一边执行。相互监视处理在从更新用软件分配部220以包含在更新模组群130中的更新模组为发送目标发送多个密钥时、和包含在加密的更新用保护控制模组的更新模组群130中的更新模组中的解密处理中被定期地实施。定期实施时的时间间隔例如是比更新用保护控制模组被通过通信路径完全输出到外部的时间短的间隔。如果被完全输出到外部花费1秒, 则例如以比其短的500毫秒间隔的定时执行监视处理,这里,使用图22,对相互监视处理和更新处理的协同动作进行说明。首先,设备100在被从更新服务器200发送多重加密新保护控制模组之前,实施相互监视处理(相互监视1)。这是为了使得不会选择非法的更新模组而进行更新处理。然后,设备100在更新模组131接收由更新服务器200发送的第1密钥之前实施相互监视处理(相互监视2、,当设备100接收第1密钥时确认没有选择非法的更新模组。进而,更新模组131接收第1密钥,在使用第1密钥将多重加密新保护控制模组解密的期间中,定期地将更新模组131的解密处理中断,实施相互监视处理(相互监视3-1、 3-2)。由此,即使在解密处理中更新模组131、132、133被攻击,也能够在加密新保护控制模组全部泄漏之前检测到更新模组被攻击而防止泄漏。其以后的处理与上述是同样的。S卩,设备100在更新模组132接收由更新服务器 200发送的第2密钥之前,实施监视处理(相互监视4),当设备100接收密钥时,确认在更新处理中没有选择非法的更新模组。进而,更新模组132接收第2密钥,在使用第2密钥将加密新保护控制模组解密的期间中,定期地将更新模组132的解密处理中断,实施相互监视处理(相互监视5-1、5-2)。 最后,实施相互监视处理(相互监视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)。进而,保护控制模组121使用加解密密钥证书,验证旧加解密密钥是否被正确地复原(S5205)。在旧加解密密钥没有被正确地复原的情况下(S5205中“否”),保护控制模组121 找出非法的更新模组(确定哪个更新模组发送了非法的分散信息)(S5206)。将所确定的非法的更新模组向更新服务器200通知。在旧加解密密钥没有被正确地复原的情况下(S5205中“是”),保护控制模组121 的加解密密钥生成部408生成新的加解密密钥(这里称作“新加解密密钥”)(S5207)。并且,解密装载部404将使用旧加解密密钥加密的应用(110、111)解密,使用新加解密密钥将应用(IlOUll)再加密(S5208)。这里,对在S5206中用来确定非法的更新模组的方法进行说明。首先,保护控制模组121从各更新模组收集分散信息的组,对收集的分散信息附加用来识别各更新模组的识别信息。然后,将在初始设计时被设定为相同的值而分配的分散信息彼此汇集为组。并且, 将包含在各组中的分散信息彼此的值比较,将为相同的值的分散信息彼此再汇集为1个子组。并且,生成所有的从全部的组中将子组各选出1个的组合。对所生成的组合分别生成旧加解密密钥,验证是否能够生成正确的旧加解密密钥。在验证OK的情况下,对包含在该组合中的子组附加表示验证OK的验证通过识别信息。对所有的组合进行旧加解密密钥的生成、验证后,将包含在带有验证通过识别信息的子组中的分散信息去除。没有被去除而留下的分散信息为非法的值。所以,通过对该分散信息附加的识别信息,能够确定发送来为非法的值的分散信息的更新模组。确定由识别信息确定的更新模组是非法的更新模组。关于根据分散信息复原旧加解密密钥的方法及非法的更新模组的确定方法,已在专利文献2的50页到52页详细地说明。通过使专利文献2中的秘密密钥d对应于本实施方式的加解密密钥、使认证局装置对应于本实施方式的保护控制模组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检测到该状况的情况下的处理为例,说明无效化处理的动作的详细情况。判断部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的无效化处理,但作为选择1个合法的更新模组的方法,也可以使用有关本发明的非法模组确定处理的结果选择1个合法的模组。另外,在通过无效化处理将具备分散信息保持部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的结构进行说明。如该图所示,软件更新系统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的结构的框图。如该图所示,软件更新系统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的结构的功能框图。如该图所示,判断部210b由接收部601、发送部602、指示生成部603、模组确定部 604b、以及循环检测部606构成。并且,在模组确定部604的内部中具备非法模组确定部 605。与实施方式1的判断部210的不同点是在模组确定部604的内部中具备非法模组确定部605这一点、以及具备循环检测部606这一点。(a)非法模组确定部605的结构
这里,对作为实施方式2的特征性的构成单元的非法模组确定部605的详细的结构进行说明。图观是表示非法模组确定部605的功能性的结构的功能框图。如该图所示,非法模组确定部605由确定指示接收部651、确定结果发送部652、正常模组假定部653、验证结果判断部654、假定正常更新模组群提取部655、矛盾检测部656、以及循环监视模式取得部 657构成。确定指示接收部651如果从指示生成部603接受到非法的更新模组的确定的指示和更新模组群130b的相互监视结果(篡改检测结果),则确定指示接收部561对正常模组假定部653输出上述指示。确定结果发送部652如果从矛盾检测部656接受到非法的更新模组的确定结果, 则将确定结果向指示生成部603输出。正常模组假定部653如果从确定指示接收部651接受到指示,则选择一个更新模组群130内的更新模组,将所选择的更新模组假定为正常的更新模组。并且,将所选择的更新模组作为假定正常更新模组群。假定正常更新模组群是由被正常模组假定部653假定为正常的模组的更新模组构成的概念上的组。具体而言,正常模组假定部653生成包括假定是正常的全部的更新模组的识别信息的假定正常更新模组群构成信息。正常模组假定部653将所选择的更新模组的识别号码向矛盾检测部656输出。此外,将假定正常更新模组群构成信息向验证结果判断部6M输出。正常模组假定部653将循环监视模式取得的指示向循环监视模式取得部657输出。如果从循环监视模式取得部657接受到确定结果,则正常模组假定部653将循环监视模式内的更新模组以外的更新模组假定为正常的更新模组。另外,对循环监视模式的详细情况在后面叙述。如果从矛盾检测部656接受到没有矛盾的通知,则正常模组假定部653将与所选择的更新模组不同的更新模组假定为正常的更新模组,包含到假定正常更新模组群中。并且,将假定正常更新模组群构成信息更新。正常模组假定部653将更新后的假定正常更新模组群构成信息向验证结果判断部6M输出。验证结果判断部6M如果从正常模组假定部653接受到假定正常更新模组群构成信息,则判断由假定正常更新模组群内的更新模组进行的对其他更新模组的篡改检测结
果ο验证结果判断部6M在由假定正常更新模组群内的更新模组进行的对其他更新模组的篡改检测结果是正常的情况下,将验证后的更新模组看作是正常的更新模组。即,能够将判断正常的更新模组为“正常”的更新模组看作正常的更新模组。并且,验证结果判断部6M将看作正常的更新模组的识别信息、与从正常模组假定部653接受到的假定正常更新模组群构成信息向假定正常更新模组群提取部655输出。在不存在能够看作正常的更新模组的情况下,验证结果判断部肪4将该消息向假定正常更新模组群提取部655输出。此外,验证结果判断部6M在从假定正常更新模组群提取部655接收到假定正常更新模组群构成信息的情况下也进行同样的处理。
假定正常更新模组群提取部655接受能够看作正常的更新模组的识别号码和假定正常更新模组群构成信息。并且,将接受到的识别号码向接受到的假定正常更新模组群构成信息追加,将构成信息更新。假定正常更新模组群提取部655将更新后的假定正常更新模组群构成信息向验证结果判断部6M输出。如果从验证结果判断部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中,将“没有被篡改”的检测结果用与箭头对应而记载的〇记号表示,将“被篡改”的检测结果用与箭头对应而记载的χ记号表示。例如,〇记号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)。接着,验证结果判断部肪4判断是否存在在由包含在假定正常更新模组群中的更新模组131进行的篡改检测处理中被判断为“没有被篡改(正常)”的更新模组(S8002)。根据图;34,如〇记号2021及〇记号2022所示,更新模组132及更新模组1;34被判断为正常。在存在被判断为正常的更新模组的情况下(S8002中“是”),验证结果判断部6M 将被判断为正常的更新模组132及更新模组134识别信息向假定正常更新模组群提取部 655输出。假定正常更新模组群提取部655将接受到的识别信息追加到假定正常更新模组群中。由此,将被判断为正常的更新模组132及更新模组134追加到假定正常更新模组群中(S8003)。同样,验证结果判断部肪4判断是否存在在由包含在假定正常更新模组群中的更新模组132及更新模组134进行的篡改检测处理中被判断为正常的更新模组(SSOO》。如 〇记号2023表示那样,更新模组133被判断为正常,所以将更新模组133追加到假定正常更新模组群中(S8003)。同样,验证结果判断部肪4判断是否存在在由包含在假定正常更新模组群中的更新模组133进行的篡改检测处理中被判断为正常的更新模组(SSOO》。如〇记号20M及〇 记号2025表示那样,更新模组131及更新模组136被判断为正常,所以将更新模组136追加到假定正常更新模组群中(S8003)。在包含在假定正常更新模组群中的更新模组不再存在判断为正常的更新模组的情况下(S8002中“否”),矛盾检测部656判断在包含在假定正常更新模组群中的更新模组的验证结果中是否有矛盾(S8004)。此时,形成了图34所示的假定正常更新模组群2031。如果观察包含在假定正常更新模组群2031中的更新模组的验证结果,则由更新模组133进行的对更新模组136的验证结果是〇记号2025,相对于此,由更新模组134进行的对更新模组136的验证结果是X记号2(^6,所以在验证结果中有矛盾。在假定正常更新模组内有矛盾的情况下(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记号2062)中有矛盾。这样,在对循环监视模式外的更新模组的篡改检测结果矛盾的情况下,也能够将更新模组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的数据结构的图。如该图所示,循环监视模式列表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中的循环监视模式列表中搜索循环的尺寸为最小的循环监视模式(S8112)。进而,在存在多个循环的尺寸相同的循环监视模式的情况下,循环监视模式取得部663选择验证循环监视模式内的更新模组的外部的更新模组的数量较多的循环监视模式(S8113)。接着,循环监视模式取得部663判断所选择的循环监视模式的监视结果是否都是正常的(S8114)。在不是都正常的情况下(S8114中“否”),向步骤S8118前进。在都是正常的情况下(S8114中“是”),矛盾检测部656确认是否存在循环监视模式内的更新模组进行循环监视模式内的其他更新模组的篡改检测处理的结果为判断是非法的更新模组(S8115)。在存在被判断为非法的更新模组的情况下(S8115中“是”),将循环监视模式内的更新模组都确定为非法的更新模组(S8116),向步骤S8118前进。在不存在判断为非法的更新模组的情况下(S8115中“否”),矛盾检测部656判断在循环监视模式内的更新模组对循环监视模式外的同一更新模组进行的篡改检测结果中是否有矛盾(S8117)。在验证结果矛盾的情况下(S8117中“否”),将循环监视模式内的更新模组都确定为非法的更新模组(S8116),向步骤S8118前进。在验证结果一致的情况下(S8117中“是”),循环监视模式取得部663参照存储在循环监视模式存储部666中的循环监视模式列表,判断除此以外是否存在循环监视模式
(58118)。在存在循环监视模式的情况下(S8118中“是”),循环监视模式取得部663选择循环的尺寸是上次作为对象的循环监视模式的循环的尺寸以上、并且是最小的循环监视模式
(58119)。并且,向步骤S8113返回而继续处理。在除此以外不存在循环监视模式的情况下(S8118中“否”),结束非法模组确定处理。(5)关于分散信息这里,对循环监视模式与更新模组保持的分散信息的关系进行说明。在上述的初始设定处理中,保护控制模组120根据加解密密钥使用秘密分散法制作分散信息,将所生成的分散信息向各更新模组发送。在使用记载在专利文献2中的方法的情况下,将同一个分散信息向多个更新模组发送。由此,即使是某个更新模组被无效化、不能从该更新模组取得分散信息的情况下,通过从保持相同的分散信息的其他更新模组取得分散信息,也能够将加解密密钥复原。
在循环监视模式中,如果将一个更新模组确定为非法模组,则将包含在循环监视模式中的全部的更新模组确定为非法模组并无效化。所以,实施方式2的保护控制模组120为了防止不能进行加解密密钥的复原的状况,在存在循环监视模式的情况下,基于循环监视模式的结构对各更新模组发送分散信息。以下,使用图43及图44具体地说明。图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对于作为另一实施方式的篡改监视系统10ca,使用图77所示的结构图进行说明。篡改监视系统IOca如图77所示,由信息安全装置IOOca及管理装置200ca构成。信息安全装置IOOca具有监视篡改的多个监视模组131ca、132ca、133ca、134ca0管理装置200ca由以下单元构成接收部MOca,从信息安全装置IOOca接收各监视模组的对其他监视模组的监视结果的;检测部678ca,使用接收到的上述监视结果检测没有被篡改的正常的监视模组的存在;第一假定部673ca,在做出了上述检测的情况下对从上述监视模组选择的1个监视模组假定为被篡改;第二假定部679ca,将假定为被篡改的上述监视模组作为起点,对未处理的监视模组,连锁地采用使用接收到的上述监视结果、对于将假定为被篡改的监视模组判断为正常的监视模组假定为被篡改的时序;判断部 676ca,判断上述第二假定部679ca的时序的采用的结果是否是假定了全部的监视模组被篡改,在做出了上述判断的情况下,将最初假定为被篡改的上述监视模组决定为正常的监视模组。根据管理装置200ca,由于检测部678ca检测到没有被篡改的正常的监视模组的存在,所以至少1个监视模组是正常的。相对于此,在由判断部676ca判断为对全部的监视模组假定为被篡改的情况下, 该判断结果与检测部678ca的检测的结果矛盾。这是因为在第一假定部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类似的结构,代替更新服务器200的判断部210而具有图45所示的判断部210cb。 其他结构与更新服务器200相同。以下,以与更新服务器200的不同点为中心进行说明。(2)判断部210cb的结构判断部210cb具有与图27所示的判断部210b类似的结构。判断部210cb如图45 所示,代替判断部210b的模组确定部604b而具有模组确定部6(Mcb。模组确定部604cb如该图所示,具有非法模组确定部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的上次的监视的结果。所谓上次的监视,表示进行最新的监视的1次前的监视。设备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发送循环监视模式的取得指示。循环检测部606如果存在则将1个以上的循环监视模式向循环监视模式判断部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判断为正常(3003)。所以,验证结果判断部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中“否”),模组确定部604cb将正常模组确定处理结束。在之前的监视结果全部是正常的情况下(步骤 S9004中“是”),判断更新模组群130的至少一个更新模组是正常的。这是因为,在之前的相互监视中全部的更新模组是正常的情况下,由于相互监视的间隔较窄,所以判断不会在该间隔中将全部的更新模组向非法的更新模组篡改。通过这样确认更新模组群130的至少一个更新模组是正常的,如后面说明那样, 能够在逻辑上确定正常模组。接着,在之前的相互监视处理的监视结果全部是正常的情况下(步骤S9004中 “是”),循环监视模式判断部677判断是否存在循环监视模式(步骤S9005)。该判断通过确认在循环检测部606内的循环监视模式存储部666中是否存储有循环监视模式来进行。 在不存在循环监视模式的情况下(步骤S9005中“否”),向步骤S9014转移。在存在循环监视模式的情况下(步骤S9005中“是”),循环监视模式判断部677 进行使用循环监视模式的非法的更新模组的确定(步骤S9006)。步骤S9006的详细情况如下(步骤S9007 S90i;3)。另外,也可以不进行使用循环监视模式的非法的更新模组的确定。即,也可以通过别的方法进行非法的更新模组的确定。此外,也可以不进行非法的更新模组的确定。循环监视模式判断部677选择存储在循环检测部606内的循环监视模式存储部 666中的1个循环监视模式(步骤S9007),判断所选择的循环监视模式内的监视结果是否全部正常(步骤S9008)。在循环监视模式的监视结果全部是正常的情况下(步骤S9008中 “是”),验证对作为循环监视模式内的多个更新模组的监视对象的同一模组的多个监视结果是否一致(步骤S9009)。在不一致的情况下(步骤S9009中“否”),循环监视模式内的更新模组确定全部是非法的更新模组(步骤S9010)。进而,判断是否存在将在步骤S9010中被确定是非法的更新模组的更新模组判断为正常的更新模组(步骤S9011)。在存在的情况下(步骤S9011中“是”),将判断为正常的更新模组确定为非法的更新模组(步骤S9012)。 由此,能够不进行是否是非法的更新模组的判断而减少剩余的更新模组的数量。结果,能够更有效地确定将保护控制模组更新的正常的更新模组。接着,向步骤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(30 )、更新模组132监视更新模组 133(3029)、更新模组133监视更新模组131 (3030)。因而,存在循环监视模式3014。这样,对于更新模组,通过循环监视模式设定监视对象的更新模组。循环监视模式表示作为第1更新模组的监视对象的第2更新模组监视上述第1更新模组、或者经由1个以上的更新模组监视上述第1更新模组。首先,循环监视模式判断部677判断是否存在循环监视模式(步骤S9005),确定循环监视模式的全部的更新模组131、132及133全部是非法的更新模组(步骤S9010)。根据图48,存在循环监视模式3014,循环监视模式3014中的监视结果全部是正常(3022、3023、 30M),更新模组132对更新模组131的监视结果(3021)、与更新模组133对更新模组131 的监视结果(3024)不同。接着,非法模组假定部673选择更新模组137,将更新模组137假定为非法的更新模组,将识别更新模组137的识别号码包含在假定非法更新模组群3011中(步骤S9014)。 接着,根据图48,由于被判断为非法的更新模组131 133以外的更新模组135及136将更新模组137判断为正常(3025、3026)(步骤S9015),所以将判断假定非法更新模组群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,其监视结果分别是正常(3052)及非法,更新模组132监视更新模组131、133及135,其监视结果分别是正常(3051)、正常 (3053)及正常(3060),更新模组133监视更新模组131、135及136,其监视结果分别是正常(30M)、正常(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、3053、 30M),这是因为,由更新模组132进行的更新模组131的监视结果(3051)、与由更新模组 133进行的更新模组131的监视结果(3054) —致。此外,这是因为除此以外不存在矛盾的监视结果。接着,非法模组假定部673选择更新模组137,将更新模组137假定为非法的更新模组,将识别更新模组137的识别号码包含在假定非法更新模组群3042中(步骤S9014)。接着,根据图49,由于被判断为非法的更新模组135及136将更新模组137判断为正常(3058、3057)(步骤S9015),所以将判断假定非法更新模组群3042内的更新模组137 为正常的更新模组135、更新模组136包含在假定非法更新模组群中(步骤S9016)。结果, 生成新的假定非法更新模组群3043。此外,根据图49,由于没有被判断为非法的更新模组 134将更新模组136(包含在假定非法更新模组群3043中)判断为正常(3056),此外由于没有被判断为非法的更新模组132将更新模组135(包含在假定非法更新模组群3043中) 判断为正常(3060)(步骤S9015),所以将分别判断假定非法更新模组群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进行的监视的结果。在该图中,更新模组132监视更新模组131、133及135,更新模组132对更新模组 131、133及135的监视结果全部是非法(4001,4003,4004)的。 此外,更新模组131监视更新模组134,该监视的结果是正常0006),更新模组133 监视更新模组131、135及136,其监视的结果分别是正常0005、4012及4008),更新模组 134监视更新模组136,其监视的结果是正常0007),更新模组135监视更新模组137,其监视的结果是正常(4011),更新模组136监视更新模组137,其监视的结果是正常(4010),更新模组137监视更新模组133,其监视的结果是正常0009)。在此情况下,即使想要通过在上述各实施方式中说明的方法确定非法模组,也由于在各更新模组的监视结果中不发生矛盾,所以哪个更新模组都不能确定为非法的更新模组。此外,在此情况下,即使使用在实施方式3的软件更新系统IOcb中说明的正常模组的确定处理采用了图50的步骤S9001到S9013的时序,也是哪个更新模组也不能判断为非法的更新模组。接着,采用步骤S9014的时序,选择1个更新模组,采用步骤S9015到S9016的时序,将假定为非法的更新模组追加到假定非法更新模组群中。在此情况下,根据图57所示的监视的结果,更新模组132不包含在假定非法更新模组群中。这是因为,更新模组132将向更新模组131、133、135的监视全部判断为非法(4001,4003,4004)。结果,不能将图57所示的更新模组131 137仅分为假定非法更新模组群及非法的更新模组群。因此,不能采用在实施方式3的软件更新系统IOcb中说明的正常模组的确定处理,哪个更新模组都不能确定为正常的更新模组。这样,即使使用软件更新系统IOcb中的确定正常模组的方法,更新模组132也不能被判断为非法的更新模组,此外也不能被分类到假定非法更新模组群中。因此,对于该情况,不能采用软件更新系统IOcb的确定正常模组的方式来确定正常模组。为了确定正常的更新模组,也许只要变更监视模式、新接受监视的结果、再次进行正常模组确定处理就可以。但是,即使变更监视模式而再次进行监视,在更新模组132在向对象的更新模组的监视中全部判断为非法的情况下,也同样不能确定正常的更新模组。这样即使将监视模式更新而再次进行监视、也总是使向对象的更新模组的监视结果都为非法的更新模组被篡改,是妨碍正常模组的确定的更新模组(以下称作妨碍模组)。4. 2篡改监视系统IOda在篡改监视系统IOda中,为了解决上述问题,对全部的监视对象的监视模组提取判断为非法的监视模组(以下称作妨碍候补模组),从所提取的妨碍候补模组之中确定真的妨碍模组,将所确定的妨碍模组预先排除。通过这样将被篡改而进行非法动作的妨碍模组预先排除,能够从剩余的多个监视模组之中有效地确定是正常的监视模组,能够有效地用于确定的正常的监视模组。
对作为另一实施方式的篡改监视系统10da,使用图78所示的结构图进行说明。篡改监视系统IOda如该图所示,由信息安全装置IOOda及管理装置200da构成。信息安全装置IOOda具有监视篡改的多个监视模组131da、132da、133da、134da。管理装置200da由以下单元构成接收部MOda,从信息安全装置IOOda接收各监视模组对其他监视模组的监视结果;判断部683da,使用接收到的上述监视结果,从上述监视模组之中,提取对全部的监视对象的监视模组判断为被篡改的妨碍候补模组;更新部 250da,在检测到多个妨碍候补模组的情况下,生成新的监视模式,以在多个妨碍候补模组间相互监视对方,将所生成的新的监视模式对上述信息安全装置发送,使其替换为新的监视模式。接收部MOda还从信息安全装置IOOda接收新的监视模式的新的监视结果。判断部683da还使用接收到的新的监视结果,将从上述妨碍候补模组中去除了将相互判断为正常、对其他妨碍候补模组判断为非法的两个妨碍候补模组的另一妨碍候补模组确定为妨碍模组。这样,能够确定妨碍模组,所以只要使确定的妨碍模组无效化就可以。这里,判断部683da还可以使用接收到的新的监视结果、在两个妨碍候补模组中的第1妨碍候补模组对第2妨碍候补模组判断为正常、第2妨碍候补模组对第1妨碍候补模组判断为非法的情况下,将第1妨碍候补模组确定为被篡改的非法的更新模组。4. 3软件更新系统IOdb对作为另一实施方式的软件更新系统IOdb进行说明。在软件更新系统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使用接收到的更新模组列表, 决定哪个更新模组监视哪个更新模组,生成设备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将表示监视模式的生成的生成指示经由发送部602向监视模式更新部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的动作这里,对软件更新系统IOdb的动作,使用图58所示的动作图进行说明。特别是, 对从妨碍模组确定处理到正常模组确定处理的处理的转移进行说明。为了确定正常的更新模组,更新模组群130内的多个更新模组相互进行监视,设备IOOdb将监视的结果向更新服务器200db发送。更新服务器200db接收监视的结果,判断是否存在使向监视对象的全部的更新模组的监视结果全部为非法的更新模组(如上述那样,将这样的更新模组称作妨碍候补模组)(步骤S10001)。在存在妨碍候补模组的情况下,更新服务器200db从更新模组群130中提取全部的妨碍候补模组(步骤31000 。接着,更新服务器200db为了判断所提取的妨碍候补模组是否是妨碍模组,生成新的监视模式,以使各妨碍候补模组监视其他全部的妨碍候补模组。接着,对设备IOOdb的各更新模组发送新的监视模式,控制设备lOOdb,以使其更新为新的监视模式(步骤S10003)。设备IOOdb的各更新模组使用新的监视模式相互进行监视。特别是,各妨碍候补模组进行其他全部的妨碍候补模组的监视。更新服务器200db从设备IOOdb接收新的监视模式的监视的结果,使用接收到的监视的结果,判断妨碍候补模组是否是妨碍模组。妨碍模组总是对监视对象的全部的更新模组判断为非法,但正常的更新模组对正常的更新模组判断为正常。因此,在妨碍候补模组群内存在多个正常的更新模组的情况下,正常的妨碍候补模组间的相互监视的结果为正常。另一方面,由妨碍候补模组进行的、向正常的妨碍候补模组以外的妨碍候补模组的监视结果全部为非法。由此,在妨碍候补模组是否是妨碍模组的判断中,在(i)两个的妨碍候补模组间的相互监视的结果是正常、而且(ii)通过相互判断为正常的该两个妨碍候补模组在向该两个妨碍候补模组以外的妨碍候补模组的监视中判断为非法的情况下,将该两个妨碍候补模组决定为不是妨碍模组。不满足该条件的妨碍候补模组对于自妨碍候补模组以外的妨碍候补模组总是判断为非法,所以确定为妨碍模组 (步骤 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将整体的新的监视模式分割为按照更新模组的监视模式(步骤S110(^)。监视模式更新部250经由通信部240及网络5向设备IOOdb的各更新模组发送按照更新模组的监视模式,设备IOOdb的更新模组群130内的各更新模组接收按照更新模组的监视模式(步骤Sl 1003)。更新模组群130内的各更新模组通过将旧的监视模式替换为接收到的新的监视模式,将监视模式更新(步骤S11004)。在向新的监视模式更新后,更新模组群130内的各更新模组通过新的监视模式执行监视处理,与实施方式1的相互监视处理同样,按照监视模式进行篡改检测处理(步骤Sl 1005)。另外,不进行是否有实施方式1的被篡改的更新模组的判断(图19的步骤S5004)。接着,设备IOOdb将监视的结果经由网络5及通信部MO 向判断部210db发送,判断部210db接收监视的结果(步骤S11006)。判断部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个妨碍候补模组相互进行监视的情况下的例子。如该图所示,更新模组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)由相互监视的监视模式进行的相互监视的结果的例子对使用图65所示的相互监视的监视模式的例子的情况下的相互监视的结果的例子,使用图66 图69进行说明。另外,如图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) 以外,其他全部的监视的结果是非法的。S卩,更新模组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 以外,其他全部的监视的结果是非法的。S卩,更新模组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发送,以使设备IOOdb具有的更新模组执行相互监视,使设备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再判断相互判断为正常的两个妨碍候补模组(步骤S12007)。在图67、图68及图69所示的例子的情况下,分别在妨碍候补模组的监视的结果中存在至少1个正常。此外,在图67所示的例子的情况下,不存在相互判断为正常的两个的妨碍候补模组。进而,在图68所示的例子的情况下,更新模组131及137是相互将对方判断为正常的妨碍候补模组。此外,在图69所示的例子的情况下,更新模组131及137也是相互将对方判断为正常的妨碍候补模组。因而,在图67所示的例子的情况下,不满足步骤S12007的条件。另一方面,在图 68及图69所示的例子的情况下,满足步骤S12007的条件。在判断为不存在相互判断为正常的两个妨碍候补模组的情况下(步骤S12007 中“否”),如果如图67的例子所示的更新模组131那样、存在将监视结果判断为正常 (4051 “〇”)的妨碍候补模组,则更新模组131对更新模组132的判断结果是正常,但更新模组132对更新模组131的判断结果是非法。这样,在监视结果中发生矛盾。由此,验证结果判断部683将更新模组131确定为非法的更新模组。这里说明的情况是相互进行监视的两个妨碍候补模组中的第1妨碍候补模组对第2妨碍候补模组判断为正常、而第2妨碍候补模组对第1妨碍候补模组判断为非法的情况。在这样的情况下,将判断对方的妨碍候补模组为正常的妨碍候补模组确定为非法的更新模组(步骤S12008a)。接着,判断部210db为了使确定为非法的更新模组的更新模组无效化而发送无效化指示(步骤S 12008b)。接着,在图67的例子所示的情况下,更新模组132、136及137将对妨碍候补模组的全部的监视结果判断为非法(“X”),所以验证结果判断部683将更新模组132、136及 137确定为妨碍模组。即,验证结果判断部683将判断对全部的监视对象的妨碍候补模组的全部的监视结果为非法的妨碍候补模组确定为妨碍模组(步骤S12008C)。接着,向步骤S12011转移控制。在存在相互判断为正常的两个妨碍候补模组的情况下(步骤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由于更新模组132及136总是将全部的监视结果判断为非法(“ X ”),所以将更新模组132及136确定为妨碍模组(步骤S12010C)。接着,验证结果判断部683判断是否存在妨碍候补模组相互判断为正常(“〇”) 的妨碍候补模组群以外的更新模组。即,判断是否存在妨碍模组(步骤S12011)。在如图69所示的例子的情况那样,更新模组131和更新模组137是相互判断为正常(“〇”)的妨碍候补模组群,在其以外存在更新模组132和更新模组136。此时,更新模组132和更新模组136总是将全部的监视结果判断为非法(“ X ”),所以验证结果判断部 683确认为妨碍模组。在存在妨碍模组的情况下(步骤S12011中“是”),判断部210db发送将妨碍模组无效化的指示(步骤S12012)。在不存在妨碍模组的情况下(步骤S12011中 “否”)或无效化指示的发送后(步骤S12012),判断部210db对监视模式更新部250指示, 以生成更新模组群130整体为新的监视模式,监视模式更新部250生成更新模组群130整体的新的监视模式,将新的监视模式对设备IOOdb发送(步骤S12013)。判断部210db对设备IOOdb的更新模组群130发送通过新的监视模式的相互监视的指示(步骤S12014)。如以上说明,在妨碍模组的确定处理中,即使变更监视模式,也通过将监视对象的更新模组总是判断为非法(“X”)的更新模组无效化,将妨碍正常的更新模组的确定的更新模组(即妨碍模组)积极地排除。在将妨碍模组排除后,确定正常的更新模组,通过使用确定的正常的更新模组进行保护控制模组的更新,能够更有效地救济保护控制模组,能够进一步提高系统的安全性。此外,通过将妨碍正常的更新模组的确定的更新模组积极地排除,不能实现正常的更新模组的确定的可能性变小,能够确定正常的更新模组、使用所确定的正常的更新模组将保护控制模组尽可能地更新。另外,在上述中,更新模组也可以是监视模组。5.其他变形例另外,将本发明基于上述各实施方式进行了说明,但本发明当然并不限定于上述各实施方式。以下那样的情况也包含在本发明中。(1)在上述各实施方式中,将保护控制模组120更新,但并不限定于此。也可以将更新模组及应用程序等、保护控制模组120以外的模组更新。以下,举将更新模组133更新的情况为例,对更新模组的更新处理进行说明。在更新模组的更新处理中,与将保护控制模组更新的情况同样,更新用软件分配部220将用来将更新模组133更新的更新用更新模组使用多个密钥多重加密,将包含在更新模组群130中的更新模组(除了更新模组133以外)作为发送目标发送。包含在更新模组群130中的更新模组(除了更新模组133以外)将更新模组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也可以不是不同的模组,而在设备内部中、或在更新服务器内部中是1个模组。在模组无效化部230和访问控制模组140是1个模组的情况下,也可以不是向更新模组发送访问信息取得密钥和加密访问信息,而将访问信息向执行无效化的更新模组直接发送。进而,在模组无效化部230及访问控制模组140存在于设备内的情况下,也可以存在于通过防篡改化等而被从攻击保护的区域中。(6)在各实施方式中,更新服务器由判断部、更新用软件分配部、模组无效化部、通信部及监视模式更新部等构成,但并不限定于此。判断部、更新用软件分配部、模组无效化部、通信部及监视模式更新部等也可以由1个模组构成。此外,也可以由上述各部的组合构成。(7)在上述各实施方式中,软件更新系统在设备的工厂制造时进行初始设定处理, 但并不限定于此。也可以在销售后等工厂出货后的某处实施初始化处理。此外,初始化处理不仅是1次,也可以实施两次以上。(8)在上述各实施方式中,在初始设定处理中,验证用证书及认证密钥证书为使用更新用软件分配部220保持的签名秘密密钥生成的证书,但并不限定于此,也可以分别使用不同的密钥生成,也可以是由更新用软件分配部220以外的证书发行装置发行的证书。(9)在上述各实施方式中,作为初始设定处理及下一轮准备处理的动作,将根据加解密密钥生成的分散信息向更新模组13x发送,更新模组13x保持分散信息,但并不限定于此。也可以代替更新模组而由应用程序保持分散信息,也可以由更新模组13x和应用程序保持分散信息。(10)在上述各实施方式中,作为检测处理的动作,更新模组13x在进行保护控制模组120的篡改检测时,利用使用验证密钥计算的MAC值进行篡改检测处理,但并不限定于此。也可以使用保护控制模组120的篡改检测用证书进行验证。此外,也可以不是进行如MAC值或证书那样利用哈希值的篡改验证,而通过检查日志来进行篡改验证。(11)在上述各实施方式中,作为检测处理的动作,在各更新模组检测到保护控制模组120的篡改的情况下,向判断部210和其他更新模组通知,但并不限定于此。也可以对判断部210和其他更新模组中的某1个以上的模组通知。此外,在检测到保护控制模组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对更新模组133的验证结果(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向更新模组135的监视结果是非法(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中,在步骤S11017中进行实施方式3的正常模组确定处理,但并不限定于此,也可以进行变形例09)所述的正常模组确定处理。(35)在上述实施方式4中,在存在将向对象的更新模组的监视结果全部判断为非法的更新模组(即妨碍候补模组)的情况下,在步骤S12002中将监视模式更新。在将监视模式更新后,根据监视结果判断是否存在妨碍模组,但并不限定于此。也可以是,在存在多个将向对象的更新模组的监视结果全部判断为非法的更新模组(即妨碍候补模组)的情况下,只要将向对象的更新模组的监视结果全部判断为非法的更新模组相互判断为非法,就发送相互判断为非法的更新模组的无效化指示。此外,在上述实施方式4中,在将向对象的更新模组的监视结果全部判断为非法的更新模组(即妨碍候补模组)仅存在1个的情况下,也可以发送该妨碍候补模组的无效化指示。然后,也可以在将该妨碍候补模组排除后进行正常模组确定处理。此外,也可以是管理具有监视篡改的多个监视模组的信息安全装置的管理装置。 上述管理装置具备接收部,从上述信息安全装置接收各监视模组对其他监视模组的监视结果;判断部,使用接收到的上述监视结果,从上述监视模组中,提取对全部的监视对象的监视模组判断为被篡改的妨碍候补模组;无效化部,在仅提取了 1个妨碍候补模组的情况下,控制上述信息安全装置,以使其将所提取的上述妨碍候补模组无效化;更新部,在仅检测到1个妨碍候补模组的情况下,将该妨碍候补模组去除,新制作监视模式,将制作出的监视模式向上述信息安全装置发送,替换为新的监视模式。上述接收部还从上述信息安全装置接收新的监视模式的新的监视结果,上述判断部还使用接收到的新的监视结果,确定正常的监视模组。(36)在上述实施方式4中,在步骤S12007中,判断是否存在作为妨碍候补模组的更新模组相互判断为正常(“〇”)的妨碍候补模组群。也可以是,在存在相互判断为正常的妨碍候补模组群的情况下,在相互判断为正常的妨碍候补模组群的步骤S12001的监视结果中相互判断为非法的情况下,将该妨碍候补模组确定为非法的更新模组,发送无效化指示。这在从一个更新模组对另一个更新模组的监视结果中,在步骤S12001中将监视对象的更新模组判断为非法、在步骤S12007中将相同的监视对象的更新模组判断为正常的情况下,在各个步骤的监视结果中发生矛盾,所以能够将判断出的更新模组确定为非法的更新模组。(37)在上述实施方式4中,确定妨碍正常模组的确定的更新模组,但并不限定于此。也可以确定妨碍非法模组的确定的更新模组。此时,在图58所示的动作图的步骤S10008中,代替正常模组确定处理而进行非法模组确定处理。此外,在图64所示的例子的情况下,当进行非法模组确定处理时,更新模组 131、132、136及137不能被确定是非法的更新模组。即,更新模组131、132、136及137的各更新模组妨碍了自身的非法模组确定。在此情况下,通过进行妨碍模组确定处理,将在非法模组确定处理中不能确定的非法模组确定为妨碍模组,将所确定的妨碍模组预先排除,然后,通过执行非法模组确定处理,能够将非法的更新模组高效率且迅速地排除。(38)在上述实施方式4中,在步骤S12002中,生成了在将向监视对象的更新模组的监视结果全部判断为非法的妨碍候补模组群内监视全部的妨碍候补模组的监视模式,但并不限定于此。也可以生成监视更新模组群130的全部更新模组的监视模式。在此情况下,在将监视模式更新后,在妨碍候补模组对全部的更新模组判断为非法的情况下,将该妨碍模组确定为妨碍模组。(39)上述各模组具体而言,也可以是分别独立的计算机程序,也可以是装入在操作系统中的计算机程序,也可以是被从操作系统调用的驱动器程序,也可以是应用程序。(40)各系统的应用例(1)上述各实施方式的各系统也可以如图75所示那样是内容再现系统10e。内容再现系统IOe如该图所示,由BD再现装置100e、监视器20e及家庭服务器装置200e构成,BD再现装置100e、监视器20e及家庭服务器装置200e经由家庭网络30e相互连接。家庭服务器装置200e经由因特网40e从连接在因特网40e上的内容服务器装置 (未图示)取得内容。内容作为一例是将影像数据及声音数据压缩、再加密而构成的。家庭服务器装置200e经由家庭网络30e,将所取得的内容向BD再现装置IOOe发送。BD再现装置IOOe从家庭服务器装置200e接收内容,将所接收到的内容记录到 BD(Blu-ray Disc)中。此外,BD再现装置IOOe将记录在BD中的内容的被加密、压缩的影像数据及声音数据展开,生成影像信号及声音信号,将所生成的影像信号及声音信号经由家庭网络30e向监视器20e输出。监视器20e接收影像信号及声音信号,通过接收到的影像信号及声音信号显示影像、输出声音。BD再现装置IOOe相当于上述各实施方式的各软件更新系统的设备、或者相当于各篡改监视系统的信息安全装置,具有与该设备或该信息安全装置同样的结构。BD再现装置IOOe具有的应用程序的一例是用来将加密的数据解密的计算机程序,此外,另一例是用来将压缩的影像数据及声音数据展开的计算机程序。此外,家庭服务器装置200e相当于各软件更新系统的更新服务器、或者相当于各篡改监视系统的管理装置,具有与更新服务器或管理装置同样的结构。(41)各系统的应用例O)上述各实施方式的各系统也可以如图76所示那样是移动银行系统IOf。移动银行系统IOf如该图所示,由便携电话100f、无线基站50f、银行服务器装置 40f及更新服务器装置200f构成。便携电话IOOf经由无线基站50f、便携电话网20f及因特网30f连接在更新服务器装置200f及银行服务器装置40f上。银行服务器装置40f存储有相当于银行的使用者的账户的账户文件。账户文件包括交易数据。交易数据包括交易的种类、金额、日期、对方的识别信息等。便携电话IOOf作为一例,通过操作者的指示,经由无线基站50f、便携电话网20f 及因特网30f,对银行服务器装置40f请求从操作者的账户向交易目标的账户的转账。银行服务器装置40f按照转账的请求,执行从操作者的账户向交易目标的账户的转账。便携电话IOOf当在与银行服务器装置40f之间收发数据时,进行使用数字签名的相互的设备认证。此外,请求数据的加密。银行服务器装置40f按照转账的请求,执行从操作者的账户向交易目标的账户的转账。当在便携电话IOOf与银行服务器装置40f之间通信时,便携电话IOOf及银行服务器装置40f分别进行使用数字签名的相互的设备认证。此外,当在便携电话IOOf与银行服务器装置40f之间进行数据的收发时,便携电话IOOf及银行服务器装置40f进行数据的加密及加密的数据的解密。便携电话IOOf相当于各实施方式的各软件更新系统的设备、或者相当于各篡改监视系统的信息安全装置,具有与设备或信息安全装置同样的结构。便携电话IOOf具有的应用程序的一例,是用来将数据加密的计算机程序或用来将加密的数据解密的计算机程序,此外,另一例是用来在与通信对方的装置之间使用数字签名进行设备认证的计算机程序。更新服务器装置200f相当于各实施方式的各软件更新系统的更新服务器、或者相当于各篡改监视系统的管理装置。(42)在上述实施方式1及实施方式2中说明的更新服务器200、200a、200b也可以是分别具有生成设备100、100a、IOOb的更新模组群进行相互监视处理时的监视模式的监视模式生成部的结构。并且,更新服务器200、200a、200b将所生成的监视模式向设备100、 100a、IOOb发送,设备100、100a、IOOb接收监视模式。设备100、100a、IOOb基于接收到的监视模式进行相互监视处理。特别是,实施方式2的更新服务器200a及200b也可以生成包括循环监视模式的监视模式。设备IOOa及IOOb通过使用包括循环监视模式的监视模式进行相互监视处理, 能够提高之后进行的更新服务器200a及200b的非法模组确定处理的处理效率。(43)上述各装置具体而言是由微处理器、ROM、RAM、硬盘单元、显示单元、键盘、鼠标等构成的计算机系统。在上述RAM或硬盘单元中存储有计算机程序。通过上述微处理器按照上述计算机程序动作,各装置实现其功能。这里,计算机程序是为了实现规定的功能、 将表示对计算机的指令的命令代码组合多个而构成的。(44)构成上述各装置的构成单元的一部分或全部也可以由1个系统LSI (Large Scale htegration:大规模集成电路)构成。系统LSI是将多个结构部集成在1个芯片上而制造的超多功能LSI,具体而言是包括微处理器、ROM、RAM等而构成的计算机系统。在上述RAM中,存储有计算机程序。通过上述微处理器按照上述计算机程序动作,系统LSI实现其功能。此外,构成上述各装置的构成单元的各部既可以单独1芯片化,也可以包含一部分或全部而1芯片化。此外,这里设为系统LSI,但根据集成度的差异,也有称作IC、LSI、超级LSI、超大规模LSI的情况。此外,集成电路化的方法并不限定于LSI,也可以由专用电路或通用处理器实现。也可以使用在LSI制造后能够编程的FPGA (Field Programmable Gate Array)、或能够再构成LSI内部的电路单元的连接或设定的可重构处理器。进而,如果因半导体技术的进步或派生的其他技术而出现代替LSI的集成电路化的技术,则当然也可以使用该技术进行功能块的集成化。有可能是生物技术的应用等。(45)构成上述各装置的构成单元的一部分或全部也可以由相对于各装置能够拆装的IC卡或单体的模组构成。上述IC卡或上述模组是由微处理器、ROM、RAM等构成的计算机系统。上述IC卡或上述模组也可以包括上述超多功能LSI。微处理器通过按照计算机程序动作,上述IC卡或上述模组实现其功能。该IC卡或该模组也可以具有防篡改性。(46)本发明也可以是上述所示的方法。此外,也可以是将这些方法通过计算机实现的计算机程序,也可以是由上述计算机程序构成的数字信号。此外,本发明也可以是将上述计算机程序或上述数字信号记录到计算机可读取的记录介质、例如软盘、硬盘、CD-ROM、M0、DVD、DVD-ROM、DVD-RAM、BD (Blu-ray Disc),半导体存储器等中的产品。此外,也可以是记录在这些记录介质中的上述数字信号。
此外,本发明也可以将上述计算机程序或上述数字信号经由电通信线路、无线或有线通信线路、以因特网为代表的网络、数据广播等传送的系统。此外,本发明也可以是具备微处理器和存储器的计算机系统,上述存储器存储有上述计算机程序,上述微处理器按照上述计算机程序动作。此外,也可以通过将上述程序或上述数字信号记录到上述记录介质中并移送,或将上述程序或上述数字信号经由上述网络等移送,由独立的其他计算机系统实施。(47)也可以将上述实施方式及上述变形例分别组合。(48)作为本发明的一技术方案的软件更新系统,是包括保存规定的应用的软件更新装置、和与该软件更新装置连接的管理装置的系统。上述软件更新装置从上述管理装置接收包括验证上述规定的应用是否没有被篡改的保护控制模组、和将上述保护控制模组更新的更新用的保护控制模组、和包括多个将上述保护控制模组更新的更新模组的更新模组群,包含在上述更新模组群中的多个更新模组分别相互验证其他更新模组是否没有进行非法动作,上述管理装置从上述多个更新模组分别接收验证结果,基于上述接收到的验证结果判断有可能进行非法动作的更新模组,对上述软件更新装置发送将上述判断为有可能进行非法动作的更新模组无效化的指示。根据该结构,将用来将上述保护控制模组更新的更新模组作为包括多个更新模组的更新模组群,通过多个更新模组相互验证是否没有进行非法动作,在上述更新模组群的内部中自我验证上述更新模组的篡改,所以能够防止上述更新模组的篡改及上述更新模组的正常的动作被妨碍。结果,能够防止经由进行非法动作的更新模组将保护控制模组更新为非法的保护控制模组,能够防止通过上述非法的保护控制模组攻击上述规定的应用。此外,上述管理装置基于分别来自上述多个更新模组的验证结果,判断有可能进行非法动作的更新模组,通过进行将上述判断为有可能进行非法动作的更新模组无效化的指示,即使在被篡改的更新模组将没有被篡改的其他更新模组谎称作被篡改而向管理装置通知的情况下,在管理装置侧也考虑来自其他更新模组的验证结果进行判断,所以能够适当地判断哪个更新模组是有可能进行非法动作的更新模组。进而,通过从管理装置对更新软件装置进行将判断为上述有可能进行非法动作的更新模组无效化的指示,将适当判断为上述有可能进行非法动作的更新模组无效化,所以即使在被篡改的更新模组将没有被篡改的更新模组谎称作被篡改而验证的情况下,也能够防止将没有被篡改的更新模组无效化,此外,能够防止将被篡改的更新模组在没有无效化的状态下保留在更新模组群内。此外,作为本发明的一形态的软件更新系统是包括保存规定的应用的软件更新装置、和与该软件更新装置连接的管理装置的软件更新系统。上述软件更新装置包括验证上述规定的应用是否没有被篡改的保护控制模组、和将上述保护控制模组更新的多个更新模组,上述多个更新模组分别进行上述保护控制模组是否没有进行非法动作的第1验证,此外,上述多个更新模组分别进行其他更新模组是否没有进行非法动作的第2验证,将上述第1验证结果及上述第2验证结果向上述管理装置发送。上述管理装置包括从上述多个更新模组分别接收上述第1验证结果及上述第2验证结果的通信部、和在基于上述第1验证结果判断为上述保护控制模组有可能进行非法动作的情况下、基于上述第2验证结果从上述多个更新模组之中确定更新上述保护控制模组的更新模组来更新上述保护控制模组的控制部。上述控制部决定在上述多个更新模组之间对哪个更新模组进行第2验证的组合, 将表示该组合的组合信息向上述软件更新装置发送,在上述组合之中,包括上述多个更新模组中的一部分的多个更新模组向一方向循环而依次验证的规定的关系,首先,定期地确认上述第2验证结果,在上次的第2验证结果表示不存在有可能进行非法动作的更新模组、 并且在此次的第2验证结果中表示出现了有可能进行非法动作的某个更新模组的情况下, 判断为在上述多个更新模组之中至少存在1个正常的更新模组,接着,基于上述第2验证结果将包含在上述规定的关系中的多个更新模组向一方向循环验证的结果是判断为包含在上述规定的关系中的多个更新模组全部是正常、并且在包含于上述规定的关系中的多个更新模组的判断的某个中有矛盾的情况下,判断为包含在上述规定的关系中的多个更新模组的全部都有可能进行非法动作,从将上述保护控制模组更新的更新模组中排除,接着,假定剩余的更新模组中的某一个第1更新模组有可能进行非法动作,将上述第1更新模组包含在非法更新模组群中,在存在以上述非法更新模组群中的某个更新模组为判断对象的第2 更新模组的情况下,判断上述第2更新模组是否将上述非法更新模组群中的某个更新模组判断为正常,在上述第2更新模组将上述非法更新模组群中的某个更新模组判断为正常的情况下,将上述第2更新模组也判断为有可能进行非法动作而包含到上述非法更新模组群中,另一方面,在除了上述非法更新模组群以外不存在其他没有判断的更新模组的情况下, 将上述假定认定为错误,将上述第1更新模组判断为正常的更新模组,将上述第1更新模组确定为将上述保护控制模组更新的更新模组。由此,首先,进行上述多个更新模组中的某一个更新模组是正常的确认。接着,将判断对象的第1更新模组假定为有可能进行非法动作,基于该假定,如果存在将判断对象的第1更新模组判断为合法的第2更新模组,则判断为上述第2更新模组有可能进行非法动作,在除此以外不存在没有判断的更新模组的情况下,将上述假定认定为错误,将上述第 1更新模组判断为正常的更新模组,对将上述保护控制模组更新的更新模组确定上述第1 更新模组。由此,能够从多个更新模组之中使用逻辑性的验证方法有效地确认真正为正常的更新模组,所以能够适当地选择没有进行非法动作的可能性的更新模组而将上述保护控制模组安全地更新。这里,在上述软件更新系统中,规定的关系,在是包含在上述规定的关系中的第1 更新模组、第2更新模组及第3更新模组的3个更新模组的情况下,是上述第1更新模组验证上述第2更新模组、上述第2更新模组验证上述第3更新模组、上述3更新模组验证上述第1更新模组、在上述第1更新模组、上述第2更新模组及上述第3更新模组之间向一方向循环依次验证的关系。由此,规定的关系在是包含在上述规定的关系中的第1更新模组、第2更新模组及第3更新模组的3个更新模组的情况下,可以设为上述第1更新模组验证上述第2更新模组、上述第2更新模组验证上述第3更新模组、上述3更新模组验证上述第1更新模组、在上述第1更新模组、上述第2更新模组及上述第3更新模组之间向一方向循环依次验证的关系。这里,在上述软件更新系统中,上述控制部定期地确定上述第2验证结果,在上次的第2验证结果表示存在有可能进行非法动作的更新模组的情况下,不判断在上述多个更新模组之中是否存在至少1个正常的更新模组,不进行确定将上述保护控制模组更新的更新模组的判断。由此,定期地确认上述第2验证结果,在上次的第2验证结果表示存在有可能进行非法动作的更新模组的情况下,不判断在上述多个更新模组之中是否存在至少1个正常的更新模组。在此情况下,不进行确定将上述保护控制模组更新的更新模组的判断。即,在不能确立上述第1更新模组有可能进行非法动作的假定的情况下,不进行确定将上述保护控制模组更新的更新模组的判断。由此,能够防止将有可能进行非法动作的更新模组误判断为正常的更新模组。结果,能够防止经由进行非法动作的更新模组将保护控制模组更新为非法的保护控制模组,能够防止由上述非法的保护控制模组攻击上述规定的应用。这里,在上述软件更新系统中,上述控制部在除了上述非法更新模组群以外还存在没有判断的更新模组、上述没有判断的更新模组将包含在上述非法更新模组群中的某个更新模组判断为有可能进行非法动作的情况下,不进行确定将上述保护控制模组更新的更新模组的判断。由此,在上述非法更新模组群以外还存在没有判断的更新模组、上述没有判断的更新模组将包含在上述非法更新模组群中的某个更新模组判断为有可能进行非法动作的情况下,不进行确定将上述保护控制模组更新的更新模组的判断。即,在不能将上述第1更新模组有可能进行非法动作的假定认定为误判断的情况下,不进行确定将上述保护控制模组更新的更新模组的判断。由此,能够防止将有可能进行非法动作的更新模组误判断为正常的更新模组。结果,能够防止经由进行非法动作的更新模组将保护控制模组更新为非法的保护控制模组,能够防止由上述非法的保护控制模组攻击上述规定的应用。这里,在上述软件更新系统中,上述控制部在除了上述非法更新模组群以外还存在没有判断的更新模组、上述没有判断的更新模组对于包含在上述非法更新模组群中的某个更新模组也没有做出是否正常的判断的情况下,不进行确定将上述保护控制模组更新的更新模组的判断。由此,在除了上述非法更新模组群以外还存在没有判断的更新模组、上述没有判断的更新模组对于包含在上述非法更新模组群中的某个更新模组也没有做出是否正常的判断的情况下,不进行确定将上述保护控制模组更新的更新模组的判断。即,在不能将上述第1更新模组有可能进行非法动作的假定认定为误判断的情况下,不进行确定将上述保护控制模组更新的更新模组的判断。由此,能够防止将有可能进行非法动作的更新模组误判断为正常的更新模组。结果,能够防止经由进行非法动作的更新模组将保护控制模组更新为非法的保护控制模组,能够防止由上述非法的保护控制模组攻击上述规定的应用。这里,在上述软件更新系统中,上述控制部在判断为包含在上述规定的关系中的多个更新模组全部有可能进行非法动作的情况下,将包含在上述规定的关系中的多个更新模组的全部包含在第2非法更新模组群中,在不包含在上述第2非法更新模组群中的规定的更新模组将上述第2非法更新模组群内的某个判断为正常的情况下,将上述规定的更新模组判断为有可能进行非法动作的更新模组,包含到上述第2非法更新模组群中,在不存在将上述第2非法更新模组群的某个判断为正常的上述第2非法更新模组群以外的更新模组的情况下,将包含在上述第2非法更新模组群中的全部更新模组从将上述保护控制模组更新的更新模组中排除。由此,在判断为包含在上述规定的关系中的多个更新模组全部有可能进行非法动作的情况下,将包含在上述规定的关系中的多个更新模组的全部包含在第2非法更新模组群中,在不包含在上述第2非法更新模组群中的规定的更新模组将上述第2非法更新模组群内的某个判断为正常的情况下,将上述规定的更新模组判断为有可能进行非法动作的更新模组,包含到上述第2非法更新模组群中,在不存在将上述第2非法更新模组群的某个判断为正常的上述第2非法更新模组群以外的更新模组的情况下,将包含在上述第2非法更新模组群中的全部更新模组从将上述保护控制模组更新的更新模组中排除。由此,对于不包含在上述规定的关系中的规定的更新模组也能够进行是否有可能进行非法动作的判断。 因此,能够不进行是否有可能进行非法动作的判断而减少剩余的更新模组的数量。结果,能够更有效地确定将上述保护控制模组更新的正常的更新模组。此外,作为本发明的一形态的软件更新装置包括通信部,与包括验证上述规定的应用是否没有被篡改的保护控制模组、和将上述保护控制模组更新的多个更新模组、上述多个更新模组分别进行上述保护控制模组是否没有进行非法动作的第1验证、此外上述多个更新模组分别进行其他更新模组是否没有进行非法动作的第2验证的软件更新装置连接,从上述软件更新装置接收上述第1验证结果及上述第2验证结果;控制部,在基于上述第1验证结果判断为上述保护控制模组有可能进行非法动作的情况下,基于上述第2验证结果从上述多个更新模组之中确定将上述保护控制模组更新的更新模组,使上述保护控制模组更新;上述控制部决定在上述多个更新模组之间对哪个更新模组进行第2验证的组合,将表示该组合的组合信息向上述软件更新装置发送,在上述组合之中,包括上述多个更新模组中的一部分的多个更新模组向一方向循环而依次验证的规定的关系,首先,定期地确认上述第2验证结果,在上次的第2验证结果表示不存在有可能进行非法动作更新模组、 并且在此次的第2验证结果中表示出现了有可能进行非法动作的更新模组的情况下,判断为在上述多个更新模组之中至少存在一个正常的更新模组,接着,基于上述第2验证结果, 在将包含在上述规定的关系中的多个更新模组向一方向循环而验证的结果是判断为包含在上述规定的关系中的多个更新模组的全部是正常、并且在包含在上述规定的关系中的多个更新模组的判断的某个中有矛盾的情况下,判断为包含在上述规定的关系中的多个更新模组的全部有可能进行非法动作,从将上述保护控制模组更新的更新模组排除,接着,假定剩余的更新模组中的某一个第1更新模组有可能进行非法动作,将上述第1更新模组包含在非法更新模组群中,在存在将上述非法更新模组群内的某个更新模组作为判断对象的第 2更新模组的情况下,判断是否上述第2更新模组将上述非法更新模组群内的某个更新模组判断为正常,在上述第2更新模组将上述非法更新模组群内的某个更新模组判断为正常的情况下,判断为上述第2更新模组也有可能进行非法动作,包含到上述非法更新模组群中,另一方面,在除了上述非法更新模组群以外不存在没有判断的更新模组的情况下,将上述假定认定为错误,将上述第1更新模组判断为正常的更新模组,将上述第1更新模组确定为将上述保护控制模组更新的更新模组。此外,作为本发明的一形态的软件更新方法是在包括软件更新装置和管理装置的软件更新系统中、由上述管理装置从上述多个更新模组之中确定有可能进行非法动作的更新模组的方法,所述软件更新装置具有存储机构,保存规定的应用、验证上述规定的应用是否没有被篡改的保护控制模组、以及将上述保护控制模组更新的多个更新模组;控制机构,进行上述多个更新模组分别进行上述保护控制模组是否不进行非法动作的第1验证、此外上述多个更新模组分别进行其他更新模组是否不进行非法动作的第2验证、将上述第 1验证结果及上述第2验证结果向上述管理装置发送的控制;所述管理装置具有通信部, 从上述多个更新模组分别接收上述第1验证结果及上述第2验证结果;控制部,在基于上述第1验证结果判断为上述保护控制模组有可能进行非法动作的情况下,基于上述第2验证结果从上述多个更新模组之中确定将上述保护控制模组更新的更新模组,使上述保护控制模组更新;决定在上述多个更新模组之间对哪个更新模组进行第2验证的组合,将表示该组合的组合信息向上述软件更新装置发送,在上述组合之中,包括上述多个更新模组中的一部分的多个更新模组向一方向循环而依次验证的规定的关系,首先,定期地确认上述第2验证结果,在上次的第2验证结果表示不存在有可能进行非法动作更新模组、并且在此次的第2验证结果中表示出现了有可能进行非法动作的更新模组的情况下,判断为在上述多个更新模组之中至少存在一个正常的更新模组,接着,基于上述第2验证结果,在将包含在上述规定的关系中的多个更新模组向一方向循环而验证的结果是判断为包含在上述规定的关系中的多个更新模组的全部是正常、并且在包含在上述规定的关系中的多个更新模组的判断的某个中有矛盾的情况下,判断为包含在上述规定的关系中的多个更新模组的全部有可能进行非法动作,从将上述保护控制模组更新的更新模组排除,接着,假定剩余的更新模组中的某一个第1更新模组有可能进行非法动作,将上述第1更新模组包含在非法更新模组群中,在存在将上述非法更新模组群内的某个更新模组作为判断对象的第2更新模组的情况下,判断是否上述第2更新模组将上述非法更新模组群内的某个更新模组判断为正常,在上述第2更新模组将上述非法更新模组群内的某个更新模组判断为正常的情况下,判断为上述第2更新模组也有可能进行非法动作,包含到上述非法更新模组群中,另一方面,在除了上述非法更新模组群以外不存在没有判断的更新模组的情况下,将上述假定认定为错误,将上述第1更新模组判断为正常的更新模组,将上述第1更新模组确定为将上述保护控制模组更新的更新模组。此外,作为本发明的一形态的软件更新系统,是包括保存规定的应用的软件更新装置、和与该软件更新装置连接的管理装置的系统。上述软件更新装置包括验证上述规定的应用是否没有被篡改的保护控制模组、和从上述管理装置接收将上述保护控制模组更新的更新用的保护控制模组、包括多个将上述保护控制模组更新的更新模组的更新模组群; 包含在上述更新模组群中的多个更新模组分别相互验证其他更新模组是否不进行非法动作,上述管理装置从上述多个更新模组分别接收验证结果,基于上述接收到的验证结果判断有可能进行非法动作的更新模组,对上述软件更新装置发送将上述判断为有可能进行非法动作的更新模组无效化的指示。根据该结构,将用来将上述保护控制模组更新的更新模组设为包括多个更新模组的更新模组群,通过多个更新模组相互验证是否没有进行非法动作,在上述更新模组群的内部中自我验证上述更新模组的篡改,所以能够防止上述更新模组的篡改或妨碍上述更新模组的正常的动作。结果,能够防止经由进行非法动作的更新模组将保护控制模组更新为非法的保护控制模组、防止由上述非法的保护控制模组攻击上述规定的应用。此外,上述管理装置基于分别来自上述多个更新模组的验证结果,判断有可能进行非法动作的更新模组,通过进行将上述判断为有可能进行非法动作的更新模组无效化的指示,即使在被篡改的更新模组将没有被篡改的其他更新模组谎称作被篡改而向管理装置通知的情况下,在管理装置侧也考虑来自其他更新模组的验证结果进行判断,所以能够适当地判断哪个更新模组是有可能进行非法动作的更新模组。进而,通过从管理装置对更新软件装置进行将判断为上述有可能进行非法动作的更新模组无效化的指示,将适当判断为上述有可能进行非法动作的更新模组无效化,所以即使在被篡改的更新模组将没有被篡改的更新模组谎称作被篡改而验证的情况下,也能够防止将没有被篡改的更新模组无效化,此外,能够防止将被篡改的更新模组在没有无效化的状态下保留在更新模组群内。此外,作为本发明的一形态的软件更新系统是包括保存规定的应用的软件更新装置、和与该软件更新装置连接的管理装置的软件更新系统。上述软件更新装置包括验证上述规定的应用是否没有被篡改的保护控制模组、和将上述保护控制模组更新的多个更新模组,上述多个更新模组分别进行上述保护控制模组是否没有进行非法动作的第1验证,将上述第1验证结果向上述管理装置发送。上述管理装置包括从上述多个更新模组分别接收上述第1验证结果的通信部、和在基于上述第1验证结果判断为上述保护控制模组有可能进行非法动作的情况下、从上述多个更新模组之中确定上述保护控制模组更新的更新模组来更新上述保护控制模组的控制部。上述管理装置在由上述多个更新模组的全部构成的第 1组之中,生成表示各更新模组对其他的哪个更新模组判断是否有可能进行非法动作的组合的第1监视模式,向上述软件更新装置发送。上述软件更新装置基于上述第1监视模式, 进行各更新模组是否没有进行非法动作的第2验证,将该第2验证结果向上述管理装置发送。上述管理装置基于上述第2验证结果,将判断作为自己判断的对象的更新模组的全部都有可能进行非法动作的更新模组作为有可能被篡改的更新模组包含到第2组中,从上述第1组中抽取上述第2组,接着,在该抽取的第2组内,生成第2监视模式,以使各更新模组将自更新模组以外的其他更新模组的全部相互监视,接着,将上述生成的第2监视模式向上述软件更新装置发送。上述软件更新装置基于上述第2监视模式,对包含在上述第2监视模式中的更新模组的相互进行是否没有进行非法动作的第3验证,将该第3验证结果向上述管理装置发送。上述管理装置基于上述第3验证结果,在属于上述第2组的更新模组之中,将由相互判断为不会进行非法动作的更新模组构成的第3组、即属于该第3组的更新模组分别将上述第3组以外的更新模组判断为有可能进行非法动作的第3组送回到上述第 1组中,将在上述第2组之中不包含在上述第3组中的更新模组删除。由此,通过将没有被送回到上述第1组中的更新模组删除,在没有被送回到上述第1组中的更新模组之中包含进行非法动作的可能性较高的更新模组,将其从更新模组之中积极地排除,所以能够更有效地挽救上述保护控制模组,能够进一步提高系统的安全性。这里,在上述软件更新系统中,上述管理装置基于上述第3验证结果,在属于上述第2组的更新模组之中,将由相互判断为不会进行非法动作的更新模组构成的第3组、即属于该第3组的更新模组分别将上述第3组以外的更新模组判断为有可能进行非法动作的第3组送回到上述第1组中,接着,将被送回了上述第3组后的第1组作为第4组,生成表示属于该第4组的各更新模组对其他的哪个更新模组判断是否有可能进行非法动作的组合的第3监视模式,接着,将上述生成的第3监视模式向上述软件更新装置发送。上述软件更新装置基于上述第3监视模式,对包含在上述第3监视模式中的更新模组的相互进行是否没有进行非法动作的第4验证,将该第4验证结果向上述管理装置发送。上述管理装置基于上述第4验证结果,从上述多个更新模组之中确定将上述保护控制模组更新的更新模组,使上述保护控制模组更新,在上述第3监视模式之中包括属于上述第4组的多个更新模组中的一部分的多个更新模组向一方向循环而依次验证的规定的关系,首先,定期地确认上述第4验证结果,在上次的第4验证结果表示不存在有可能进行非法动作的更新模组、 并且在此次的第4验证结果中表示出现了有可能进行非法动作的更新模组的情况下,判断为在上述多个更新模组之中至少存在1个正常的更新模组,接着,基于上述第4验证结果, 在将包含在上述规定的关系中的多个更新模组向一方向循环而验证的结果是判断为包含在上述规定的关系中的多个更新模组的全部是正常、并且在包含于上述规定的关系中的多个更新模组的判断某个中有矛盾的情况下,判断为包含在上述规定的关系中的多个更新模组的全部有可能进行非法动作,从将上述保护控制模组更新的更新模组中排除,接着,假定剩余的更新模组中的某一个第1更新模组有可能进行非法动作,将上述第1更新模组包含到非法更新模组群中,在存在以上述非法更新模组群内的某个更新模组为判断对象的第2 更新模组的情况下,判断是否上述第2更新模组将上述非法更新模组群内的某个更新模组判断为正常,在上述第2更新模组将上述非法更新模组群内的某个更新模组判断为正常的情况下,将上述第2更新模组也判断为有可能进行非法动作而包含到上述非法更新模组群中,另一方面,在除了上述非法更新模组群以外不存在没有判断的更新模组的情况下,将上述假定认定为错误,将上述第1更新模组判断为正常的更新模组,将上述第1更新模组确定为将上述保护控制模组更新更新模组。由此,首先,进行上述多个更新模组中的某一个更新模组是正常的确认。接着,将判断对象的第1更新模组假定为有可能进行非法动作,基于该假定,如果存在将判断对象的第1更新模组判断为合法的第2更新模组,则判断为上述第2更新模组有可能进行非法动作,在除此以外不存在没有判断的更新模组的情况下,将上述假定认定为错误,将上述第 1更新模组判断为正常的更新模组,将上述第1更新模组确定为将上述保护控制模组更新的更新模组。由此,由此,能够从多个更新模组之中使用逻辑性的验证方法有效地确定真正是正常的更新模组,所以能够适当选择不会进行非法动作的更新模组而将上述保护控制模组安全地更新。此外,在进行上述判断的情况下,如果在多个更新模组之中、存在将作为自己判断的对象的更新模组的全部判断为有可能进行非法动作的类型的更新模组,则存在不能确定不会进行非法动作的更新模组的情况。所以,根据本形态,首先,从上述多个更新模组之中抽取将作为自己判断的对象的更新模组的全部判断为有可能进行非法动作的类型的更新模组,仅将该类型的更新模组集中,使其相互判断是否有可能进行非法动作。结果,在上述类型的更新模组中,对于由相互判断为不会进行非法动作的更新模组构成的组、即属于该组的更新模组分别将上述组以外的更新模组判断为有可能进行非法动作那样的更新模组的组,判断为没有被篡改,送回到原来的多个更新模组中。并且,在被送回后的多个更新模组之中进行上述判断。由此,不能进行上述判断的可能性变少,所以能够确定不会进行非法动作的更新模组而尽可能地挽救上述保护控制模组。工业实用性本发明能够广泛地用在即使是多个监视模组中的一部分的监视模组被篡改的情况、也能够以较高的概率确定没有被篡改的正常的监视模组的篡改监视系统及管理装置
中。
符号说明
IOcaUOda篡改监视系统
IOcbUOdb软件更新系统
IOe内容再现系统
IOf移动银行系统
40f银行服务器装置
IOOUOOdb 设备
lOOca、IOOda信息安全装置
IOOe BD再现装置
IOOf便携电话
200、200bb、200cb、200db 更新服务器
200ca、200da管理装置
200e家庭服务器装置
200f更新服务器装置
权利要求
1.一种管理装置,对信息安全装置进行管理,该信息安全装置具有对篡改进行监视的多个监视模组,该管理装置的特征在于,具备接收机构,从上述信息安全装置接收各监视模组对其他监视模组的监视结果;检测机构,使用接收到的上述监视结果,对没有被篡改的正常的监视模组的存在进行检测;第1假定机构,在进行了上述检测的情况下,对从上述监视模组选择的1个监视模组假定为被篡改;第2假定机构,以假定为被篡改的上述监视模组为起点,对未处理的监视模组连锁地采用以下次序使用接收到的上述监视结果对将假定为被篡改的监视模组判断为正常的监视模组假定为被篡改;以及判断机构,判断由上述第2假定机构进行的时序的采用结果是否是全部的监视模组被假定为被篡改,在进行了上述判断的情况下,将最初被假定为被篡改的上述监视模组决定为正常的监视模组。
2.如权利要求1所述的管理装置,其特征在于,上述检测机构使用上次接收到的监视结果、和此次接收到的监视结果,在通过上次接收到的监视结果,判断全部的监视模组是正常的,通过此次接收到的监视结果没有判断为全部的监视模组是正常的情况下,对没有被篡改的正常的监视模组的存在进行检测;上次的监视与此次的监视的时间间隔比规定的阈值小。
3.如权利要求1所述的管理装置,其特征在于,上述第1假定机构生成包括识别所选择的上述监视模组的识别号码在内的假定非法组;上述第2假定机构使用上述监视结果判断是否存在将由包含在上述假定非法组中的识别号码识别的监视模组判断为正常的监视模组,在判断为存在的情况下,将识别该监视模组的识别号码追加到上述假定非法组中,对未处理的监视模组进行控制,以反复进行上述判断和上述追加;上述判断机构判断在上述假定非法组中是否包含识别全部的监视模组的识别号码,在判断为在上述假定非法组中包含识别全部的监视模组的识别号码的情况下,决定正常的监视模组。
4.如权利要求1所述的管理装置,其特征在于,上述管理装置还具备从上述监视模组之中确定被篡改的非法的监视模组的非法模组确定机构;上述第1假定机构将非法的监视模组去除,选择上述监视模组;上述第2假定机构对去除了非法的监视模组的未处理的监视模组采用上述时序;上述判断机构判断是否除了非法的监视模组以外、其他全部的监视模组被假定为被篡改,在做出了上述判断的情况下,确定正常的监视模组。
5.如权利要求4所述的管理装置,其特征在于,上述非法模组确定机构在假定为1个监视模组是正常的情况下,使用接收的监视结果判断在多个监视结果中是否有不一致,在有不一致的情况下,将上述监视模组确定为非法的监视模组。
6.如权利要求4所述的管理装置,其特征在于,对上述监视模组通过循环监视模式决定监视对象的监视模组,上述循环监视模式表示作为第1监视模组的监视对象的第2监视模组监视上述第1监视模组、或者经由1个以上的监视模组监视上述第1监视模组;上述非法模组确定机构在由有关上述循环监视模式的多个监视模组进行的对其他1 个监视模组的多个监视结果不一致的情况下,将有关该循环监视模式的多个监视模组确定为非法的监视模组。
7.如权利要求1所述的管理装置,其特征在于,上述信息安全装置具有的至少1个监视模组是具备将其他模组更新的功能的更新模组;上述管理装置还具备控制机构,该控制机构在被决定为正常的监视模组的监视模组是具有将其他模组更新的功能的上述更新模组的情况下,对作为更新模组的该监视模组进行控制、以将其他模组更新。
8.如权利要求7所述的管理装置,其特征在于,上述信息安全装置还具备应用程序及保护该应用程序的保护控制模组;上述其他模组是上述监视模组、上述应用程序、或上述保护控制模组。
9.如权利要求1所述的管理装置,对信息安全装置进行管理,该信息安全装置具有对篡改进行监视的多个监视模组,其特征在于,具备接收机构,从上述信息安全装置接收各监视模组对其他监视模组的监视结果;判断机构,使用接收到的上述监视结果,从上述监视模组中,提取对全部的监视对象的监视模组判断为被篡改的妨碍候补模组;以及更新机构,在检测到多个妨碍候补模组的情况下,生成新的监视模式,以在多个妨碍候补模组间相互监视对方,将所生成的新的监视模式对上述信息安全装置发送,使其替换为新的监视模式;上述接收机构还从上述信息安全装置接收新的监视模式的新的监视结果;上述判断机构还使用接收到的新的监视结果,将从上述妨碍候补模组中去除了相互判断为正常、对其他妨碍候补模组判断为非法的两个妨碍候补模组以外的其妨碍候补模组确定为妨碍模组。
10.如权利要求9所述的管理装置,其特征在于,上述判断机构还使用接收到的新的监视结果,在两个妨碍候补模组中的第1妨碍候补模组对第2妨碍候补模组判断为正常、第2妨碍候补模组对第1妨碍候补模组判断为非法的情况下,将第1妨碍候补模组确定为被篡改的非法的监视模组。
11.如权利要求9所述的管理装置,其特征在于,上述更新机构在全部的监视模组间生成新的上述监视模式,以便于相互监视对方。
12.如权利要求9所述的管理装置,其特征在于,上述管理装置还包括控制上述信息安全装置、以便于将所确定的上述妨碍模组无效化的无效化机构。
13.如权利要求12所述的管理装置,其特征在于,上述更新机构还生成新的监视模式,以便于通过除了被无效化的上述妨碍模组以外的上述监视模组监视对方,将所生成的新的监视模式对上述信息安全装置发送,使其替换为新的监视模式;上述接收机构还从上述信息安全装置接收由除了被无效化的上述妨碍模组以外的各监视模组对其他监视模组的监视结果;上述管理装置还包括使用接收到的监视结果确定正常的监视模组的正常模组确定机构。
14.如权利要求1所述的管理装置,对信息安全装置进行管理,该信息安全装置具有对篡改进行监视的多个监视模组,其特征在于,具备接收机构,从上述信息安全装置接收各监视模组对其他监视模组的监视结果; 判断机构,使用接收到的上述监视结果,从上述监视模组中,提取对全部的监视对象的监视模组判断为被篡改的妨碍候补模组;无效化机构,在仅提取了 1个妨碍候补模组的情况下,控制上述信息安全装置,以便于将所提取的上述妨碍候补模组无效化;以及更新机构,在仅检测到1个妨碍候补模组的情况下,去除该妨碍候补模组而新制作监视模式,将制作出的监视模式向上述信息安全装置发送,使其替换为新的监视模式; 上述接收机构还从上述信息安全装置接收新的监视模式的新的监视结果; 上述判断机构还使用接收到的新的监视结果确定正常的监视模组。
15.一种篡改监视系统,由具有对篡改进行监视的多个监视模组的信息安全装置、和管理该信息安全装置的管理装置构成,其特征在于,上述管理装置具备接收机构,从上述信息安全装置接收各监视模组对其他监视模组的监视结果; 检测机构,使用接收到的上述监视结果,对没有被篡改的正常的监视模组的存在进行检测;第1假定机构,在进行了上述检测的情况下,对从上述监视模组选择的1个监视模组假定为被篡改;第2假定机构,以假定为被篡改的上述监视模组为起点,对未处理的监视模组连锁地采用以下次序使用接收到的上述监视结果对将假定为被篡改的监视模组判断为正常的监视模组假定为被篡改;以及判断机构,判断由上述第2假定机构进行的时序的采用的结果是否是全部的监视模组被假定为被篡改,在进行了上述判断的情况下,将最初被假定为被篡改的上述监视模组决定为正常的监视模组。
16.如权利要求15所述的篡改监视系统,其特征在于,上述信息安全装置具有的至少1个监视模组是具备将其他模组更新的功能的更新模组;上述管理装置还具备控制机构,该控制机构在被决定为正常的监视模组的监视模组是具有将其他模组更新的功能的上述更新模组的情况下,对作为更新模组的该监视模组进行控制、以将其他模组更新。
17.如权利要求15所述的篡改监视系统,由具有对篡改进行监视的多个监视模组的信息安全装置、和上述信息安全装置构成,其特征在于,上述管理装置具备接收机构,从上述信息安全装置接收各监视模组对其他监视模组的监视结果;判断机构,使用接收到的上述监视结果,从上述监视模组中,提取对全部的监视对象的监视模组判断为被篡改的妨碍候补模组;以及更新机构,在检测到多个妨碍候补模组的情况下,生成新的监视模式,以在多个妨碍候补模组间相互监视对方,将所生成的新的监视模式对上述信息安全装置发送,使其替换为新的监视模式;上述接收机构还从上述信息安全装置接收新的监视模式的新的监视结果;上述判断机构还使用接收到的新的监视结果,将从上述妨碍候补模组中去除了相互判断为正常、对其他妨碍候补模组判断为非法的两个妨碍候补模组以外的其他妨碍候补模组确定为妨碍模组。
18.如权利要求17所述的篡改监视系统,其特征在于,上述信息安全装置具有的至少1个监视模组是具备将其他模组更新的功能的更新模组;上述管理装置还具备控制机构,该控制机构在被决定为正常的监视模组的监视模组是具有将其他模组更新的功能的更新模组的情况下,对作为更新模组的该监视模组进行控制、以将其他模组更新。
19.一种集成电路,具有管理信息安全装置的功能,该信息安全装置具有对篡改进行监视的多个监视模组,该集成电路的特征在于,具备检测机构,使用从上述信息安全装置接收到的、各监视模组对其他监视模组的监视结果,对没有被篡改的正常的监视模组的存在进行检测;第1假定机构,在进行了上述检测的情况下,对从上述监视模组选择的1个监视模组假定为被篡改;第2假定机构,以假定为被篡改的上述监视模组为起点,对未处理的监视模组连锁地采用以下次序使用接收到的上述监视结果对将假定为被篡改的监视模组判断为正常的监视模组假定为被篡改;以及判断机构,判断由上述第2假定机构进行的时序的采用结果是否是全部的监视模组被假定为被篡改,在进行了上述判断的情况下,将最初被假定为被篡改的上述监视模组决定为正常的监视模组。
20.如权利要求19所述的集成电路,具有管理信息安全装置的功能,该信息安全装置具有对篡改进行监视的多个监视模组,其特征在于,具备判断机构,使用从上述信息安全装置接收到的、各监视模组对其他监视模组的监视结果,从上述监视模组中,提取对全部的监视对象的监视模组判断为被篡改的妨碍候补模组; 以及更新机构,在检测到多个妨碍候补模组的情况下,生成新的监视模式,以在多个妨碍候补模组间相互监视对方,将所生成的新的监视模式对上述信息安全装置发送,使其替换为新的监视模式;上述接收机构还从上述信息安全装置接收新的监视模式的新的监视结果;上述判断机构还使用接收到的新的监视结果,将从上述妨碍候补模组中去除了相互判断为正常、对其他妨碍候补模组判断为非法的两个妨碍候补模组以外的其他妨碍候补模组确定为妨碍模组。
21.—种管理方法,对信息安全装置进行管理,该信息安全装置具有对篡改进行监视的多个监视模组,该管理方法的特征在于,包括接收步骤,从上述信息安全装置接收各监视模组对其他监视模组的监视结果;检测步骤,使用接收到的上述监视结果,对没有被篡改的正常的监视模组的存在进行检测;第1假定步骤,在进行了上述检测的情况下,对从上述监视模组选择的1个监视模组假定为被篡改;第2假定步骤,以假定为被篡改的上述监视模组为起点,对未处理的监视模组连锁地采用以下次序使用接收到的上述监视结果对将假定为被篡改的监视模组判断为正常的监视模组假定为被篡改;以及判断步骤,判断由上述第2假定步骤进行的时序的采用结果是否是全部的监视模组被假定为被篡改,在进行了上述判断的情况下,将最初被假定为被篡改的上述监视模组决定为正常的监视模组。
22.如权利要求21所述的管理方法,对信息安全装置进行管理,该信息安全装置具有对篡改进行监视的多个监视模组,其特征在于,包括判断步骤,使用从上述信息安全装置接收到的、各监视模组对其他监视模组的监视结果,从上述监视模组中,提取对全部的监视对象的监视模组判断为被篡改的妨碍候补模组; 以及更新步骤,在检测到多个妨碍候补模组的情况下,生成新的监视模式,以在多个妨碍候补模组间相互监视对方,将所生成的新的监视模式对上述信息安全装置发送,使其替换为新的监视模式;在上述接收步骤,还从上述信息安全装置接收新的监视模式的新的监视结果;在上述判断步骤,还使用接收到的新的监视结果,将从上述妨碍候补模组中去除了相互判断为正常、对其他妨碍候补模组判断为非法的两个妨碍候补模组以外的其他妨碍候补模组确定为妨碍模组。
23.—种记录介质,是记录有管理具有对篡改进行监视的多个监视模组的信息安全装置的管理用的计算机程序的计算机可读取的记录介质,其特征在于,记录有用来使计算机执行以下的步骤的程序接收步骤,从上述信息安全装置接收各监视模组对其他监视模组的监视结果;检测步骤,使用接收到的上述监视结果,对没有被篡改的正常的监视模组的存在进行检测;第1假定步骤,在进行了上述检测的情况下,对从上述监视模组选择的1个监视模组假定为被篡改;第2假定步骤,以假定为被篡改的上述监视模组为起点,对未处理的监视模组连锁地采用以下次序使用接收到的上述监视结果对将假定为被篡改的监视模组判断为正常的监视模组假定为被篡改;以及判断步骤,判断由上述第2假定步骤进行的时序的采用的结果是否是全部的监视模组被假定为被篡改,在进行了上述判断的情况下,将最初被假定为被篡改的上述监视模组决定为正常的监视模组。
24.如权利要求23所述的记录介质,是记录有管理具有对篡改进行监视的多个监视模组的信息安全装置的管理用的计算机程序的计算机可读取的记录介质,其特征在于,记录有计算机程序,上述计算机程序使计算机执行判断步骤,使用从上述信息安全装置接收到的、各监视模组对其他监视模组的监视结果,从上述监视模组中,提取对全部的监视对象的监视模组判断为被篡改的妨碍候补模组; 以及更新步骤,在检测到多个妨碍候补模组的情况下,生成新的监视模式,以在多个妨碍候补模组间相互监视对方,将所生成的新的监视模式对上述信息安全装置发送,使其替换为新的监视模式;在上述接收步骤,还从上述信息安全装置接收新的监视模式的新的监视结果;在上述判断步骤,还使用接收到的新的监视结果,将从上述妨碍候补模组中去除了相互判断为正常、对其他妨碍候补模组判断为非法的两个妨碍候补模组以外的其他妨碍候补模组确定为妨碍模组。
25.一种计算机程序,是管理具有对篡改进行监视的多个监视模组的信息安全装置的管理用的计算机程序,其特征在于,使计算机执行接收步骤,从上述信息安全装置接收各监视模组对其他监视模组的监视结果;检测步骤,使用接收到的上述监视结果,对没有被篡改的正常的监视模组的存在进行检测;第1假定步骤,在进行了上述检测的情况下,对从上述监视模组选择的1个监视模组假定为被篡改;第2假定步骤,以假定为被篡改的上述监视模组为起点,对未处理的监视模组连锁地采用以下次序使用接收到的上述监视结果对将假定为被篡改的监视模组判断为正常的监视模组假定为被篡改;以及判断步骤,判断由上述第2假定步骤进行的时序的采用结果是否是全部的监视模组被假定为被篡改,在进行了上述判断的情况下,将最初被假定为被篡改的上述监视模组决定为正常的监视模组。
26.如权利要求25所述的计算机程序,是管理具有监视篡改的多个监视模组的信息安全装置的管理用的计算机程序,其特征在于,使计算机执行判断步骤,使用从上述信息安全装置接收到的、各监视模组对其他监视模组的监视结果,从上述监视模组中,提取对全部的监视对象的监视模组判断为被篡改的妨碍候补模组; 以及更新步骤,在检测到多个妨碍候补模组的情况下,生成新的监视模式,以在多个妨碍候补模组间相互监视对方,将所生成的新的监视模式对上述信息安全装置发送,使其替换为新的监视模式;在上述接收步骤,还从上述信息安全装置接收新的监视模式的新的监视结果; 在上述判断步骤,还使用接收到的新的监视结果,将从上述妨碍候补模组中去除了相互判断为正常、对其他妨碍候补模组判断为非法的两个妨碍候补模组以外的其他妨碍候补模组确定为妨碍模组。
全文摘要
管理装置使用从信息安全装置接收到的监视结果,检测没有被篡改的正常的监视模组的存在,在进行了上述检测的情况下,对从上述监视模组选择的1个监视模组假定为被篡改,以被假定为被篡改的上述监视模组为起点,对未处理的监视模组连锁地采用使用接收到的上述监视结果、对将假定为被篡改的监视模组判断为正常的监视模组假定为被篡改的时序,判断时序的采用的结果是否是全部的监视模组被假定为被篡改,在进行了上述判断的情况下,将最初被假定为被篡改的上述监视模组决定为正常的监视模组。
文档编号G06F11/00GK102272770SQ20108000387
公开日2011年12月7日 申请日期2010年2月15日 优先权日2009年2月16日
发明者前田学, 宫内诚卡洛斯, 小泉英介, 布田裕一, 松崎枣, 海上勇二, 矶边秀司, 酒井正夫, 野仲真佐男, 长谷川真吾, 静谷启树 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1