首页> 中国专利> 非法模块确定装置、信息处理装置、非法模块确定方法、非法模块确定程序、集成电路、非法模块无效化系统及非法模块无效化方法

非法模块确定装置、信息处理装置、非法模块确定方法、非法模块确定程序、集成电路、非法模块无效化系统及非法模块无效化方法

摘要

本发明提供一种非法模块确定装置(200a),确定在经由网络连接的信息处理装置(100a)中动作的非法模块并使该非法模块无效化,其特征在于,具备:接收单元(2310),从进行篡改检测的多个模块,接收篡改检测结果;判断单元(210a),将所述多个模块中的一个假定为正常模块,根据所述假定,判断接收到的多个篡改检测结果中有无矛盾,在有矛盾的情况下,将假定为正常模块的所述模块确定为非法模块;和无效化单元(2320),输出被确定的非法模块的无效化指示。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2014-06-25

    授权

    授权

  • 2012-02-22

    实质审查的生效 IPC(主分类):G06F21/22 申请日:20100215

    实质审查的生效

  • 2011-12-28

    公开

    公开

说明书

技术领域

本发明涉及一种确定有可能进行非法动作的模块的技术。

背景技术

以往,为了使具有认证密钥等机密数据的应用程序不被有恶意的第三 人(下面称为“攻击者”)解析,已知基于耐篡改模块进行保护。耐篡改模块 通常作为硬件安装在设备上,保护应用程序。但是,根据攻击方法层出不 穷的过往现状,也为了灵活应对新的攻击方法,期望利用容易更新的计算 机程序即软件来保护应用程序。

作为由软件来保护应用程序的技术,例如存在使用哈希值的篡改验证、 或在未利用应用程序时将其加密并保存而仅在利用时解密并加载到存储器 的解密加载功能等。

但是,即便利用这种技术,保护应用程序的软件(下面称为“保护控制 模块”自身也可能被攻击者攻击。若保护控制模块被篡改,则应用程序暴 露于攻击者的攻击之下。

专利文献1公开了一种用于防止程序改变的技术,即便在检查程序有 无改变的检查程序自身被改变的情况下,也能够可靠阻止被改变的程序的 执行。根据该技术,准备多个用于监视程序有无改变的检查程序,各检查 程序监视其他检查程序之中的某一个检查程序。下面,简单说明该技术。

设两个监视模块A、B相互监视。监视模块A、B分别由应保护不被 攻击者篡改的程序(主体程序A、B)、用于检测其他模块是否被篡改的程序 (检查程序A、B)、以及各个检查程序进行篡改检测所需的信息(检查信息A、 B)构成。检查程序A使用检查信息A进行监视模块B的主体程序B和检 查程序B的篡改检测。并且,检查程序B使用检查信息B进行监视模块A 的主体程序A和检查程序A的篡改检测。这样,各个监视模块进行对方的 监视模块的主体程序和检查程序的篡改检测。

先行技术文献

专利文献

专利文献1:日本特许第3056732号公报

专利文献2:WO2008/099682

非专利文献

非专利文献1:冈本龙明、山本博资,“现代加密”,产业图书(1997年)

非专利文献2:ITU-T Recommendation X.509(1997E):Information  Technology-Open Systems Interconnection-The Directory:Authentication  Framework,1997

非专利文献3:F.Preparata,G.Metze and R.T.Chien,“On The  Connection Assignment Problem of Diagnosable Systems,”IEEE Trans. Electronic Computers,vol.16,pp.848-854,1968.

发明要解决的课题

如此进行篡改检测,在检测到篡改的情况下,例如只要经由网络从外 部的服务器装置取得正常的保护控制模块,并将被篡改的保护控制模块更 新为正常的保护控制模块即可。但是,承担更新保护控制模块的功能的模 块(下面称为“更新模块”)也可能被攻击者攻击。

若更新模块被篡改,则有可能保护控制模块未被正确更新,应用程序 具有的机密数据泄漏。通过进一步具备进行更新模块的篡改检测的模块, 可检测更新模块的篡改,但由于该模块自身也仍有可能被篡改,所以无法 从根本上解决。

上述使用保护控制模块的更新例进行了说明,但除保护控制模块的更 新外,即便在对应用程序或更新模块自身进行更新的情况下,也由于它们 未被正确更新,从而产生同样的问题。

发明内容

为了解决上述问题,本发明的目的在于,提供一种非法模块确定装置、 信息处理装置、非法模块确定方法、非法模块确定程序、集成电路、软件 更新系统及软件更新方法,能够比以往高的概率确定被篡改的非法模块。

用于解决课题的手段

为了实现上述目的,本发明是一种非法模块确定装置,确定在经由网 络连接的信息处理装置上动作的非法模块并使该非法模块无效化,其特 征在于,具备:接收单元,从进行篡改检测的多个模块,接收篡改检测 结果;判断单元,将所述多个模块之中的一个假定为正常模块,根据所 述假定,判断接收到的多个篡改检测结果中有无矛盾,在有矛盾的情况 下,将假定为正常模块的所述模块确定为非法模块;以及无效化单元, 输出被确定的非法模块的无效化指示。

发明效果

根据本发明,通过检测模块相互进行篡改检测处理的结果的矛盾来确 定非法模块,所以可使用逻辑验证方法来有效地确定伪造并通知篡改检测 结果的非法模块。这样,通过输出被确定的非法模块的无效化指示,可适 当地排除非法模块。

附图说明

图1是实施方式1中的软件更新系统10的整体构成图。

图2是实施方式1中的更新模块131的框图。

图3是实施方式1中的保护控制模块120的框图。

图4是实施方式1中的访问控制模块140的框图。

图5是实施方式1中的设备100的硬件构成图。

图6是实施方式1中的设备100的软件构成图。

图7是实施方式1中的判断部210的框图。

图8是实施方式1中的更新用软件分发部220的框图。

图9是实施方式1中的模块无效化部230的框图。

图10是表示实施方式1中的软件更新系统10整体的动作的流程图。

图11是用于说明实施方式1中的初始设定处理的动作的图。

图12是实施方式1中的初始设定处理的时序图。

图13是实施方式1中的更新模块初始化处理的流程图。

图14是实施方式1中的检测处理的时序图。

图15是实施方式1中的解析判断处理的时序图。

图16是实施方式1中的相互认证处理的时序图。

图17是实施方式1中的相互认证处理的时序图。

图18是实施方式1中的恢复处理的流程图。

图19是实施方式1中的相互监视处理的时序图。

图20是实施方式1中的更新处理的时序图。

图21是实施方式1中的更新处理的时序图。

图22是用于说明实施方式1中的相互监视处理与更新处理的联动动作 的图。

图23是实施方式1中的再加密处理的时序图。

图24是实施方式1中的下一轮准备处理的时序图。

图25是实施方式1中的无效化处理的时序图。

图26是用于说明实施方式2中的更新模块群130b的构成的图。

图27是实施方式2中的判断部210b的框图。

图28是实施方式2中的非法模块确定部605的框图。

图29是实施方式2中的循环检测部606的框图。

图30是用于说明实施方式2中的监视模式的图。

图31是用于说明实施方式2中的相互监视结果的图。

图32是用于说明实施方式2中的相互监视结果的矛盾的图。

图33是实施方式2中的非法模块确定处理的流程图。

图34是用于说明实施方式2中的非法模块确定处理的图。

图35是用于说明实施方式2中的循环监视模式的图。

图36是用于说明实施方式2中的循环监视模式的矛盾的图。

图37是用于说明实施方式2中的循环监视模式的矛盾的图。

图38是实施方式2中考虑了循环监视模式的非法模块确定处理的流程 图。

图39是表示实施方式2中的循环监视模式列表2100的数据结构的图。

图40是表示实施方式2中的循环监视模式列表2200的数据结构的图。

图41是实施方式2中考虑了循环监视模式的非法模块确定处理的流程 图。

图42是实施方式2中考虑了循环监视模式的非法模块确定处理的流程 图。

图43是用于说明考虑循环监视模式来分发分散信息的具体例的图。

图44是用于说明考虑循环监视模式来分发分散信息的具体例的图。

图45是表示软件更新系统10cb中的判断部210cb的构成的构成图。

图46是表示软件更新系统10cb中的正常模块确定部607的构成的构 成图。

图47是用于说明软件更新系统10cb中的验证结果判定部674的判定 方法的监视模式及监视结果的一例。

图48表示软件更新系统10cb中的各更新模块的篡改检测监视结果的 一例。

图49表示软件更新系统10cb中的各更新模块的篡改检测监视结果的 另一例。

图50是表示软件更新系统10cb中的正常更新模块的确定处理的动作 的流程图。后接图51。

图51是表示软件更新系统10cb中的正常更新模块的确定处理的动作 的流程图。后接图52。

图52是表示软件更新系统10cb中的正常更新模块的确定处理的动作 的流程图。上接图51。

图53是表示软件更新系统10db的构成的构成图。

图54是表示软件更新系统10db中的监视模式更新部250的构成的构 成图。

图55是表示软件更新系统10db中的判断部210cb的构成的构成图。

图56是表示软件更新系统10db中的干扰模块确定部608的构成的构 成图。

图57表示监视结果的一例。

图58是表示软件更新系统10db中的动作的动作图。尤其表示干扰模 块确定处理与正常模块确定处理的关系。

图59是表示软件更新系统10db中的干扰模块确定处理与正常模块确 定处理的动作的时序图。下接图60。

图60是表示软件更新系统10db中的干扰模块确定处理与正常模块确 定处理的动作的时序图。上接图59。

图61是表示软件更新系统10db中的干扰模块确定处理的流程图。下 接图62。

图62是表示软件更新系统10db中的干扰模块确定处理的流程图。下 接图63。

图63是表示软件更新系统10db中的干扰模块确定处理的流程图。上 接图62。

图64表示软件更新系统10db的变形例中的监视结果的一例。

图65表示软件更新系统10db中的监视模式的一例。

图66表示软件更新系统10db中的相互监视结果的一例。

图67表示软件更新系统10db中的相互监视结果的另一例。

图68表示软件更新系统10db中的相互监视结果的再一例。

图69表示软件更新系统10db中的相互监视结果的又一例。

图70表示变形例(22)中的监视结果的一例。

图71表示变形例(25)中的监视结果的一例。

图72表示变形例(25)中的监视结果的一例。

图73表示变形例(26)中的监视结果的一例。

图74表示变形例(26)中的监视结果的一例。

图75是表示内容再生系统10e的构成的构成图。

图76是表示移动银行业务系统10f的构成的构成图。

图77是表示本发明实施方式3中的篡改监视系统10ca的构成的框图。

图78是表示本发明实施方式4中的篡改监视系统10da的构成的框图。

图79是根据实施方式2的软件更新系统10a的整体构成图。

图80是根据实施方式2的软件更新系统10b的整体构成图。

具体实施方式

作为技术方案1所述方式的非法模块确定装置确定在经由网络连接 的信息处理装置上动作的非法模块并使该非法模块无效化,其特征在于, 具备:接收单元,从进行篡改检测的多个模块,接收篡改检测结果;判 断单元,将所述多个模块中的一个假定为正常模块,根据所述假定,判 断接收到的多个篡改检测结果中有无矛盾,在有矛盾的情况下,将假定 为正常模块的所述模块确定为非法模块;和无效化单元,输出被确定的 非法模块的无效化指示。

在作为技术方案2所述方式的非法模块确定装置中,其特征在于,所 述判断单元具备:假定正常模块群存储单元,存储假定为正常模块的模块 的识别信息;假定单元,从所述多个模块中选择一个,假定为正常模块, 将识别信息记录在所述假定正常模块群存储单元中;假定正常模块群生成 单元,重复如下步骤:将由所述假定单元假定为正常模块的所述模块作为 起点,将作为篡改检测处理的结果未检测到篡改的模块假定为正常模块, 并将识别信息记录在所述假定正常模块群存储单元中;矛盾检测单元,判 断与存储在所述假定正常模块群存储单元中的识别信息对应的模块的篡改 检测结果中是否有矛盾;和确定单元,在检测到矛盾的情况下,将所述假 定单元假定为正常模块的所述模块确定为非法模块。

根据该构成,基于正常模块不输出错误的篡改检测结果这样的前提, 生成假定正常模块群,由此可使用逻辑验证方法来有效地确定伪造篡改检 测结果并发来通知的非法模块。

在作为技术方案3所述方式的非法模块确定装置中,其特征在于,所 述假定单元将第1模块假定为所述正常模块,所述矛盾检测单元对所述第1 模块和由所述第1模块进行的篡改检测结果为正常的第2模块进行了篡改 检测的第3模块,判断所述第1模块的篡改检测结果与所述第2模块的篡 改检测结果是否矛盾,在所述第1模块的篡改检测结果与所述第2模块的 篡改检测结果矛盾的情况下,所述确定单元将所述第1模块确定为非法模 块。

根据该构成,在三个模块相互进行篡改检测处理的情况下,通过所述 矛盾检测单元的简单验证,能够可靠确定非法模块。

在作为技术方案4所述方式的非法模块确定装置中,其特征在于,所 述判断单元具备:循环存储单元,存储有作为单向循环进行篡改检测的模 块群的循环模式中包含的多个模块的识别信息;假定单元,在所述循环模 式中包含的多个模块单向循环进行篡改检测的结果全部正常的情况下,将 所述循环模式中包含的多个模块假定为正常模块;矛盾检测单元,判断所 述循环模式中包含的两个以上的模块对其他模块的篡改检测结果中是否有 矛盾;和确定单元,在有矛盾的情况下,将所述循环模式中包含的全部模 块确定为非法模块。

根据该构成,通过将单向循环进行篡改检测的多个模块作为一群处理, 与对各个更新模块逐个判断是否非法的情况相比,可使处理效率格外提高。

在作为技术方案5所述方式的非法模块确定装置中,其特征在于,所 述矛盾检测单元对所述循环模式中包含的第1模块和第2模块进行了篡改 检测的未包含在所述循环模式中的第3模块,判断所述第1模块的篡改检 测结果与所述第2模块的篡改检测结果是否矛盾,在所述第1模块的篡改 检测结果与所述第2模块的篡改检测结果矛盾的情况下,所述确定单元将 所述循环模式中包含的全部模块确定为非法模块。

在作为技术方案6所述方式的非法模块确定装置中,其特征在于,所 述矛盾检测单元对所述循环模式中包含的第1模块和第2模块进行篡改检 测的包含在所述循环模式中的第3模块,判断所述第1模块的篡改检测结 果与所述第2模块的篡改检测结果是否矛盾,在所述第1模块的篡改检测 结果与所述第2模块的篡改检测结果矛盾的情况下,所述确定单元将所述 循环模式中包含的全部模块确定为非法模块。

在作为技术方案7所述方式的非法模块确定装置中,其特征在于,所 述矛盾检测单元判断所述循环模式中包含的第1模块和第2模块相互进行 篡改检测的结果是否矛盾,在相互进行篡改检测的结果矛盾的情况下,所 述确定单元将所述循环模式中包含的全部模块确定为非法模块。

根据该构成,在存在单向循环进行篡改检测处理的循环模式的情况下, 在各种验证模式中,能够使非法模块确定处理的效率提高。

在作为技术方案8所述方式的非法模块确定装置中,其特征在于,具 备监视模式存储单元,存储有作为验证源的模块与验证对象的模块的组合 的监视模式,所述循环存储单元从所述监视模式存储单元中存储的监视模 式中,检测作为单向循环进行篡改检测的模块群的循环模式,并存储检测 到的所述循环模式中包含的多个模块的识别信息。

根据该构成,通过非法模块确定装置事先检测循环模式并存储,可使 非法模块确定处理的效率提高。

在作为技术方案9所述方式的非法模块确定装置中,其特征在于,所 述判断单元在所述循环存储单元中存储了多个循环模式的情况下,从循环 模式中包含的模块数少的循环模式开始,依次进行所述假定单元、所述矛 盾检测单元和所述确定单元的处理。

在循环模式中包含的模块数多的情况下,认为循环模式中包含的全部 模块同时被篡改的可能性低。另外,循环模式中包含的模块数越多,则全 部的验证结果为正常的可能性就越低。

因此,在存在多个循环模式的情况下,通过从模块数少的循环模式开 始优先进行非法模块确定处理,可有效地发现非法的更新模块并使其无效 化。

在作为技术方案10所述方式的非法模块确定装置中,其特征在于,在 所述循环存储单元中存储有多个循环模式、且各循环模式中包含的模块数 相同的情况下,所述判断单元从针对各循环模式中包含的模块进行篡改检 测处理的未包含在该循环模式中的模块的数量多的循环模式开始,依次进 行所述假定单元、所述矛盾检测单元和所述确定单元的处理。

在将循环模式内的更新模块全部判断为非法模块之后,循环模式外的 更新模块将循环模式中包含的任一更新模块判定为正常的情况下,可判断 为该循环模式外的更新模块是非法模块。

因此,在存在循环模式中包含的模块数相同的多个循环模式的情况下, 通过从对循环模式内的更新模块进行篡改检测处理的循环模式外的模块的 数量多的循环模式开始,优先进行非法模块确定处理,可有效地进行整体 的非法模块确定处理。

在作为技术方案11所述方式的非法模块确定装置中,其特征在于,所 述循环存储单元还按每个循环模式存储有循环模式列表,所述循环模式列 表包含各循环模式中包含的模块的数量、以及针对该循环模式中包含的模 块进行篡改检测处理的未包含在该循环模式中的模块的数量,所述判断单 元参照所述循环模式列表,决定由所述假定单元、所述矛盾检测单元和所 述确定单元进行处理的循环模式的顺序。

根据该构成,通过事先保持所述循环模式列表,可有效地进行非法模 块确定处理。

在作为技术方案12所述方式的非法模块确定装置中,其特征在于,所 述循环存储单元中存储的所述循环模式列表按各循环模式中包含的模块的 数量从少到多的顺序,配置各循环模式中包含的模块的数量、以及针对该 循环模式中包含的模块进行篡改检测处理的未包含在该循环模式中的模块 的数量。

根据该构成,若从所述循环模式列表的上位依次读出信息进行处理, 则可按模块的数量从少到多的顺序来进行非法模块确定处理。

在作为技术方案13所述方式的非法模块确定装置中,其特征在于,具 备:监视模式生成单元,对在所述信息处理装置中动作并相互进行篡改检 测处理的多个模块,生成作为验证源的模块与验证对象的模块的组合的监 视模式;和监视模式发送单元,将生成的所述监视模式发送到所述信息处 理装置,所述监视模式生成单元生成包含多个模块单向循环进行篡改检测 的循环模式的所述监视模式。

根据该构成,在从单向循环进行篡改检测的多个模块接收到篡改检测 结果的情况下,通过将所述多个模块作为一群处理,与对各个更新模块逐 个判断是否非法的情况相比,可格外提高处理效率。

作为技术方案14所述方式的信息处理装置具备:应用程序,包含机密 数据且该应用程序被加密;保护控制模块,具有保护所述机密数据的功能; 和多个模块,具有更新软件的功能,相互验证有无篡改,保持按照规定的 密钥分散法从用于解密所述加密的应用程序的解密密钥中生成的多个分散 密钥之中的、分配给自身的分散密钥,其特征在于,在所述多个模块包含 作为单向循环进行篡改检测的模块群的循环模式的情况下,分配给所述循 环模式中包含的模块的分散信息也重复地分配给所述循环模式中未包含的 模块。

在循环模式的情况下,若将一个模块确定为非法模块,则将循环模式 中包含的全部模块确定为非法模块并使其无效化。

因此,通过将分配给循环模式中包含的模块的分散信息也重复地分配 给所述循环模式中未包含的模块,可防止不能复原所述解密密钥的事态发 生。

1.实施方式1

这里,作为根据本发明的非法模块无效化系统的实施方式,参照附图 来说明软件更新系统10。

1.1软件更新系统10的构成

(1)整体构成

图1是软件更新系统10的整体构成图。

如图1所示,软件更新系统10由作为根据本发明的信息处理装置的设 备100与作为根据本发明的非法模块确定装置的更新服务器200构成。设 备100与更新服务器200经由网络连接。

(2)设备100的构成

下面,说明设备100。

设备100是向用户提供经由网络的各种服务的设备。例如,设备100 访问内容配送服务器,购买并再生音乐或映像等内容,或访问金融机构的 系统,利用网上银行业务(存款的余额查询或户头存入等)。

(a)设备100的软件构成

如图1所示,设备100包含应用软件(下面称为“应用”。)110、应用 111、保护控制模块120、用于更新模块群130和访问控制模块140。

应用110和应用111是用于经由网络向使用设备100的用户提供各种 功能的软件。例如,是从内容配送服务器(未图示)购买音乐内容或映像内容 并再生该购买的内容的软件、或用于访问金融机构的系统(未图示)并利用余 额确认或存入等网上银行业务的软件。

应用110和应用111具有用于与内容配送服务器或金融机构的系统进 行认证的认证密钥等机密数据。机密数据是有必要保护以不被有恶意的第 三人(下面称为“攻击者”)从应用中抽取而被非法利用的数据。

保护控制模块120是控制用于保护应用110和应用111的功能的模块, 以便应用110和应用111不被攻击者解析且不被抽取认证密钥等机密数据。 作为用于保护应用的功能,有在未利用应用时加密并保存而仅在利用应用 时解密并加载到存储器的解密加载功能、检查应用是否未被篡改的篡改检 测功能、或检查调试工具等解析工具是否未动作的解析工具检测功能等。

保护控制模块120控制这些功能的动作,并检查应用110和应用111 是否未被攻击者解析等。当检测到攻击者的攻击时,保护控制模块120停 止应用110和应用111的动作,进行应用110和应用111利用的存储器、 尤其是记录机密数据的存储器区域的清除等处理,防止机密数据的泄漏。

更新模块群130由多个更新模块构成。在实施方式1中,更新模块群 130如图1所示,由更新模块131、更新模块132和更新模块133这3个更 新模块构成。

更新模块131、132、133分别检测保护控制模块120有无篡改。各更 新模块具有如下功能,即在保护控制模块120被篡改的情况下,从更新服 务器200下载更新用的保护控制模块,更新被篡改的保护控制模块。

另外,更新模块131、132、133也可具有更新应用110和应用111的 功能。

另外,更新模块群130为了防止攻击者篡改各更新模块并非法利用各 更新模块,更新模块彼此相互实施篡改检测。之后,将篡改检测结果发送 到更新服务器200。在更新服务器200判断为某个更新模块被篡改的情况 下,其他正常的更新模块接收来自更新服务器200的无效化指示,使被篡 改的更新模块无效化。

由此,即便在更新模块群130中包含的部分更新模块被攻击并被篡改 的情况下,也可检测出该情况并应对攻击。

访问控制模块140保持各更新模块删除其他模块所需的访问信息。访 问信息例如是配置有作为删除对象的模块的地址、或写有删除所需步骤的 步骤书等。对作为删除对象的每个模块,分别由单独的访问信息取得密钥 来加密访问信息。

(b)更新模块的构成

下面,说明更新模块131、132、133的细节。

图2是表示更新模块131的功能构成的功能框图。更新模块132和133 也具有同样的构成。更新模块131包含更新模块主体、验证用证书与MAC 值表。

更新模块主体由接收部301、发送部302、控制部303、更新部304、 验证部305、MAC值生成部306、MAC值表更新部307和分散信息保持部 308构成。

接收部301从更新服务器200接收各种指示或更新用软件。另外,接 收部301从其他更新模块接收进行相互监视所需的更新模块主体或更新模 块验证用证书等。并且,接收部301还从其他更新模块接收委托的处理的 结果、或该其他更新模块对保护控制模块120的监视结果等。

发送部302向更新服务器200、保护控制模块120、其他更新模块和访 问控制模块140发送各种处理结果和证书等数据。

控制部303根据接收部301接收到的各种指示或通知,通过控制更新 部304或验证部305,进行各种处理。

具体地,控制部303进行保护控制模块120、更新模块132和更新模 块133的篡改验证处理、保护控制模块120、更新模块132和更新模块133 的更新处理、监视模式的更新处理等。

更新部304根据控制部303的控制,与更新服务器200联动,更新设 备100内部的软件,具体是应用110和111、保护控制模块120、更新模块 131、132和133。

验证部305根据控制部303的控制,进行保护控制模块120、更新模 块132和更新模块133的篡改检测处理。

验证部305也可使用附加于各模块的验证用证书来进行篡改检测处 理。或者,也可使用事先计算出的消息认证代码(Message Authentication  Code)(下面称为“MAC值”。)。

事先从更新服务器200提供验证部305在怎样的时间进行哪个模块的 篡改检测处理。验证部305在从更新服务器200接收了篡改检测对象的模 块变更或进行篡改检测的时间变更的指示的情况下,根据指示变更。

MAC值生成部306保持验证值。MAC值生成部306在验证部305于 篡改检测处理中使用MAC值的情况下,使用验证密钥,生成MAC值。

MAC值表更新部307对存储有各模块的MAC值的MAC值表进行更 新。在MAC值表中成对存储有用于识别模块的模块识别符与对应于该模 块的MAC值。

MAC值生成部306取得作为篡改检测处理对象的模块,计算MAC值。 验证部305通过比较计算的MAC值与MAC值表中存储的对象模块的MAC 值,进行篡改检测。

分散信息保持部308保持分散信息和配置信息。分散信息是保护控制 模块120基于秘密分散法根据应用110和111的加解密处理中使用的加解 密密钥生成的信息。配置信息是记述将哪个分散信息分发给哪个更新模块 的信息。

另外,就署名方式而言,在非专利文献1中有详细说明。就证书而言, 在非专利文献2中有详细说明。另外,就分散信息而言,在专利文献2中 有详细说明。

(c)保护控制模块120的构成

这里,说明保护控制模块120的细节。

图3是表示保护控制模块120的功能构成的功能框图。

如图3所示,保护控制模块120由接收部401、发送部402、控制部 403、解密加载部404、篡改检测部405、解析工具检测部406、加解密密钥 保持部407、加解密密钥生成部408、加解密密钥分散部409、证书生成部 410和加解密密钥复原部411构成。

接收部401从更新模块131、132、133接收分散信息或各种委托等。

发送部402向更新模块131、132、133发送各种委托等。

控制部403通过控制解密加载部404、篡改检测部405和解析工具检 测部406,在应用110、111被攻击者攻击的情况下,检测该攻击。

当执行被加密的应用110、111时,解密加载部404进行使用加解密密 钥来解密并加载到存储器上的处理。另外,在应用110、111的执行中,若 发生向其他应用的上下文切换,则解密加载部404使用加密钥密钥来加密 存储器上的数据。之后,当再次上下文切换到应用110、111时,进行对加 密的数据进行解密的处理。

并且,在后述的再加密处理中,解密加载部404使用从加解密密钥复 原部411输入的复原后的旧加解密密钥,解密应用110、111之后,使用加 解密密钥保持部407中保持的新的加解密密钥,再加密应用110、111。

篡改检测部405进行应用110、111的篡改检测处理。篡改检测处理有 使用附加于应用110、111的验证用证书的方法与比较MAC值的方法。

解析工具检测部406在安装调试工具等解析工具或该解析工具动作 时,检测出该情况。这是因为假设非法攻击者为了攻击应用110、111,安 装解析工具或使之动作。作为检测方法,例如使用检索文件名的方法、或 调查是否调试工具所使用的特殊寄存器被使用的方法、或检测调试工具设 定的中断的方法等。

加解密密钥保持部407保持用于加解密应用110、111的加解密密钥。

加解密密钥生成部408生成用于加解密应用110、111的加解密密钥。

加解密密钥分散部409在初始设定时或下一轮准备时,使用秘密分散 法根据加解密密钥生成分散信息。

证书生成部410当复原根据加解密密钥生成的分散信息时,生成用于 验证是否已正确复原的证书。

加解密密钥复原部411根据配置信息,从各更新模块取得分发给各更 新模块的分散信息。之后,加解密密钥复原部411根据取得的分散信息, 复原加解密密钥,将复原后的加解密密钥发送给解密加载部404。

(d)访问控制模块140的构成

图4是功能性表示访问控制模块140的构成的功能框图。如图4所示, 访问控制模块140由接收部501、发送部502和访问信息保持部503构成。

接收部501从更新模块131、132、133接收删除被篡改的更新模块所 需的信息、即访问信息的取得委托。

发送部502对应于访问信息取得委托,向委托了访问信息取得的更新 模块发送访问信息。

访问信息保持部503对每个更新模块131、132、133保持用于删除该 模块的访问信息。

各访问信息被附加了用于识别作为删除对象的更新模块的更新模块识 别符。另外,各访问信息由访问信息取得密钥加密。

从更新模块131、132、133受理访问信息取得委托。访问信息保持部 503将附加了删除对象的更新模块的识别符的访问信息发送给委托源的更 新模块。

(e)设备100的硬件构成

接着,用图5来说明设备100的硬件构成。

如图5所示,设备100包含CPU(Central Processing Unit)171、作为非 易失性存储器的EEPROM(Electrically Erasable and Programmable Read Only  Memory)172、RAM(Random Access Memory)173和NIC(Network Interface Card:网络接口卡)174等构成。另外,它们经总线相互可通信地连接。

EEPROM172中存储有保护控制模块120、更新模块131、132、133 和应用110、111等。

通过CPU171执行EEPROM172中存储的各种模块,实现各种模块的 各功能部。各功能部具体地由计算机程序来记述。

RAM173用作CPU171的工作区域。向RAM173加载更新模块131、 132、133和应用110、111。作为篡改检测处理和无效化处理的对象的更新 模块是在RAM173上动作的更新模块。

NIC174是用于连接于网络上的扩展卡。

(f)软件阶层

接着,用图6来说明设备100的软件阶层。

如图6所示,将访问控制模块140及更新模块群130组入OS150中。 应用110及应用111在OS150上动作,保护控制模块120及引导(boot)加载 器160位于OS150的管理之外。

当设备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向判断部210发送从设备100接收到的篡改 检测结果。在设备100与更新服务器200之间的通信中,也可使用对数据 进行加密等确保安全性的通信路径。

接着,说明更新服务器200的各构成要素。

(b)判断部210的构成

图7是功能地表示判断部210的构成的功能框图。

如图7所示,判断部210由接收部601、发送部602、指示生成部603 和模块确定部604构成。

接收部601从更新模块131、132、133接收修改检测结果、分散信息、 各种委托等,将其输出到指示生成部603。另外,接收部601从更新服务器 200内的各部接收表示处理完成的通知,将其输出到指示生成部603。

发送部602向更新服务器200内的各部输出由指示生成部603生成的 指示。

指示生成部603将从更新模块131、132、133接收到的篡改检测结果(下 面称为“相互监视结果”。)输出到模块确定部604。另外,指示生成部603 从模块确定部604取得识别被篡改的非法更新模块的信息,根据取得的信 息,生成对更新服务器200内各部的指示。

模块确定部604使用从更新模块131、132、133接收到的相互监视结 果,判断各更新模块是否被篡改,确定被篡改的非法更新模块。模块确定 部604将识别非法更新模块的信息输出到指示生成部603。

实施方式1的模块确定部604例如使用从各更新模块接收到的多个篡 改检测结果,将判断为过半数的更新模块“被篡改”的更新模块确定为非 法更新模块。具体地,因为当前更新模块群130中包含3个更新模块131、 132、133,所以将判断为2个更新模块“被篡改”的更新模块确定为非法 更新模块。

(c)更新用软件分发部220

图8是表示更新用软件分发部220的功能构成的功能框图。

如图8所示,更新用软件分发部220由接收部701、发送部702、加密 密钥生成部703、加密处理部704、认证部705、更新模块选择部706、控 制部707、证书生成部708、署名秘密密钥保持部709、更新用软件保持部 710和加密密钥保持部711构成。

接收部701从更新模块131、132、133接收针对保护控制模块120的 篡改检测结果和更新模块间的相互监视结果。

发送部702在需要更新设备100的应用110、111、保护控制模块120 的情况下,向更新模块131、132、133发送更新处理的委托、更新用软件、 解密所需的密钥等数据。

加密密钥生成部703生成当将更新用软件发送到更新模块131、132、 133时使用的加密密钥。

加密处理部704使用加密密钥生成部703生成的加密密钥,加密更新 用软件。另外,加密处理部704使用各更新模块固有的密钥,对加密密钥 进行加密。

加密密钥和更新用软件不是一次全部发送到更新模块131、132、133, 而是在更新处理中,在需要各个数据的时间,分别发送到各更新模块。

认证部705与更新模块131、132、133和保护控制模块120进行相互 认证。

更新模块选择部706在更新保护控制模块120的情况下,选择更新处 理中使用的更新模块。加密处理部704使用更新模块选择部706选择的更 新模块固有的密钥,对更新用保护控制模块的加密中使用的加密密钥进行 加密。之后,发送部702向更新模块选择部706选择的更新模块送达加密 密钥和更新用保护控制模块。

控制部707控制更新用软件分发部220的各构成要素。

证书生成部708对更新模块131、132、133的认证公开密钥,使用署 名秘密密钥,生成认证证书。另外,证书生成部708对更新用保护控制模 块,使用署名秘密密钥,生成用于验证在设备100中保护控制模块是否被 正确更新用的更新验证证书。

署名秘密密钥保持部709保持证书生成部708生成证书时使用的署名 秘密密钥。

更新用软件保持部710保持用于在保护控制模块120被攻击的情况下 进行更新的更新用保护控制模块。

加密密钥保持部711保持加密密钥生成部703生成的加密密钥和由加 密处理部704加密的加密密钥。

(d)模块无效化部230

图9是表示模块无效化部230的功能构成的功能框图。

如图9所示,模块无效化部230由接收部801、发送部802、访问信息 取得密钥保持部803和更新模块选择部804构成。

接收部801从判断部210接收使被篡改的非法更新模块无效化的指示。 另外,接收部801从更新模块131、132、133接收访问信息取得密钥的取 得委托。

发送部802对应于访问信息取得密钥的取得委托,将访问信息取得密 钥发送给委托源的更新模块。

访问信息取得密钥保持部803保持用于对访问控制模块140保持的访 问信息进行解密的密钥,即访问信息取得密钥。

更新模块选择部804选择进行被篡改的非法更新模块的无效化处理的 更新模块,向选择出的更新模块指示非法更新模块的无效化。

另外,在从模块选择部804选择出的更新模块发出访问信息取得密钥 的取得委托的情况下,发送部802向访问信息取得密钥附加作为删除对象 的更新模块的识别符,发送到所述更新模块。

1.2软件更新系统10的动作

接着,说明软件更新系统10的动作。

(1)整体动作

图10是表示软件更新系统10整体的处理流程的流程图。

软件更新系统10首先进行初始设定处理(S100)。

所谓初始设定处理是如下处理,即将更新保护控制模块120所需的各 种密钥数据、或软件更新后所需的数据(使用秘密分散法分散的分散信息) 等埋入更新模块131、132、133各自中。初始设定处理在设备100在工场 中制造时进行。之后,设备100从工场出厂,供用户利用。

当用户利用设备100时,在设备100内部,保护控制模块120保护应 用110、111不被攻击者攻击。

与此同时,更新模块131、132、133执行保护控制模块120的篡改检 测处理,并进行检查保护控制模块120是否被攻击的检测处理(S200)。

接着,软件更新系统10在步骤S200中检测到保护控制模块120的篡 改的情况下,解析保护控制模块120,进行判断是否需要更新的解析判断处 理(S300)。

接着,软件更新系统10进行用于确认更新模块131、132、133与更新 用软件分发部220彼此是否是正确的软件的相互认证处理(S400)。

接着,软件更新系统10进行恢复处理(S500)。

所谓恢复处理是如下处理,即在更新模块群130中包含的更新模块之 间相互进行篡改检测处理之后,将更新用保护控制模块安装到设备100。之 后,设备100使用向更新模块131、132、133埋入的分散信息,更新保护 控制模块。

之后,软件更新系统10进行下一轮准备处理,即在以备下次需要更新 保护控制模块的情况,生成更新所需的密钥数据或分散信息,并埋入各更 新模块(S600)。之后,软件更新系统10返回步骤S200的检测处理,继续 处理。

这里,软件更新系统10在步骤S400的相互认证处理和步骤S400的 恢复处理中,在检测到更新模块131、132、133的篡改的情况下,进行删 除被篡改的非法更新模块的无效化处理。

本发明的软件更新系统不必须进行上述全部处理。软件更新系统只要 有从外部提供更新的触发并进行更新的处理(恢复处理)即可。

(2)初始设定处理的动作

这里,用图11~图13,说明软件更新系统10的初始设定处理(图10 的S100)的细节。

图12是初始设定处理的时序图。

软件更新系统10在设备100在工场制造时,向设备100的非易失性存 储器安装应用110、111、保护控制模块120、更新模块131、132、133等 (S1000)。

向这些软件附加用于验证软件是否被篡改的篡改检测用证书。该篡改 检测用证书利用更新服务器200的更新用软件分发部220保持的署名秘密 密钥来实施署名。S1000中,除上述软件外,还安装设备100的动作所需 的软件。

这里,用图11来说明初始设定处理时埋入设备100中的密钥。图11 是示意表示埋入设备100中的密钥的图。这里,更新模块群130的内部仅 包含更新模块131。实际上还包含更新模块132和133,但这里省略。

如图11所示,在保护控制模块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使用秘密分散法,从加解密密钥中生成分散信息 (S1002)。保护控制模块120生成与具备分散信息保持部308的更新模块的 数量相同数量的分散信息。在更新模块131、132、133全部具备分散信息 保持部308的情况下,保护控制模块120生成3个分散信息。

并且,保护控制模块120使用署名秘密密钥,生成加解密密钥证书 (S1003)。加解密密钥证书是在复原加解密密钥时、用于确认加解密密钥是 否正确复原的证书。

保护控制模块120将生成的分散信息与加解密密钥证书发送到更新模 块131、132、133(S1004)。

保护控制模块120向各更新模块发送分散信息的组,以便更新模块 131、132、133分别保持不同的分散信息的组。并且,保护控制模块120 向各更新模块发送表示向哪个更新模块发送哪个分散信息的配置信息。发 送到各更新模块的配置信息是相同的信息。

使用秘密分散法根据加解密密钥生成分散信息的方法、或向更新模块 发送分散信息的方法在专利文献2的47页~49页中详细说明。通过使专利 文献2中的秘密密钥d对应于本实施方式的加解密密钥,使认证站装置对 应于保护控制模块120,使分散信息保持装置对应于更新模块131、132、 133,可使用与专利文献2相同的方法。

从保护控制模块120接收到分散信息、配置信息和加解密密钥证书的 各更新模块进行更新模块初始化处理(S1005)。

(3)更新模块初始化处理

图13是表示更新模块初始化处理(图12的S1005)的动作的流程图。

这里,仅说明更新模块131,但更新模块132和133的动作也基本相 同。

更新模块131从保护控制模块120接收分散信息、配置信息和加解密 密钥证书,将接收到的各信息保持在分散信息保持部308中(S1006)。

并且,更新模块131对作为篡改检测对象的更新模块132、133及保护 控制模块120的篡改检测用证书进行验证(S1007)。该验证通过由各模块生 成哈希值并比较生成的哈希值与各个篡改检测用证书中记述的哈希值来进 行。

若生成的哈希值与各个篡改检测用证书中记述的哈希值一致(S1008为 是),则对更新模块132、133、保护控制模块120分别生成MAC值。之后, 保持生成的MAC值,作为MAC值表(S1009)。

若至少1个哈希值与篡改检测用证书中记述的哈希值不一致(S1008为 否),则更新模块131输出错误并停止(S1010)。

(4)检测处理的动作

接着,用图14的时序图,说明软件更新系统10的检测处理(图10的 S200)的细节。

设备100若结束初始设定处理,则从工场出厂,发送到用户处,在用 户处使用设备100。

当设备100中应用110、111动作时,在设备100内部,保护控制模块 120控制解密加载功能、篡改检测功能、解析工具检测功能等功能,保护应 用110、111不被攻击者攻击。

在检测处理中,首先,更新模块131、132、133实施保护控制模块120 的篡改检测。篡改检测通过使用验证密钥计算保护控制模块120的MAC 值、并比较计算出的MAC值与MAC值表中保持的MAC值来进行。

若MAC值一致,则判定为保护控制模块120未被篡改,若MAC值不 一致,则判定为保护控制模块120被篡改。

另外,图14中简化记载,记载为仅更新模块131进行保护控制模块 120的篡改检测,但当然更新模块132、133也进行同样的处理。

之后的处理也以更新模块131检测到保护控制模块120的篡改的情况 为主记载,但更新模块132、133检测到保护控制模块120的篡改的情况也 基本上进行同样的处理。

判定保护控制模块120是否被篡改、即MAC值是否一致,在判定为 保护控制模块120被篡改的情况下(S2000为是),更新模块131将该情况通 知给更新服务器200的判断部210及其他更新模块(S2001)。

在判定为保护控制模块120未被篡改的情况下(S2000为否),更新模块 131不向判断部210或其他更新模块进行通知,返回到篡改检测处理。

从其他更新模块接收到表示保护控制模块120被篡改的通知的更新模 块使用验证密钥和MAC值,实施保护控制模块120的篡改检测(S2002)。 之后,将篡改检测结果发送到判断部210和其他更新模块(S2003)。

判断部210从更新模块131、132、133接收篡改检测结果。

另外,在步骤S2000的检测处理时,更新模块群130也可相互进行篡 改检测处理,进行确定非法更新模块的相互监视处理。另外,在确定了非 法更新模块的情况下,也可进行使确定的更新模块无效化的无效化处理。

相互监视处理和无效化处理的细节如后所述。在相互监视处理中,也 可使用根据本发明的实施方式2中说明的方法,进行非法模块确定处理。

(5)解析判断处理的动作

接着,用图15的时序图来说明解析判断处理(图10的S300)的细节。 图15中,将更新模块131、132、133各自单独进行的处理统一记载为更新 模块群130进行的处理。

在图14的S2001和S2003中,判断部210若从各更新模块接收到保 护控制模块120的篡改检测结果,则判断部210根据接收到的篡改检测结 果,判定保护控制模块120正常还是非法(是否被篡改)。

作为判定方法的一例,例如在规定数量的更新模块检测到篡改的情况 下,判定为保护控制模块120非法(被篡改),另外,在不足规定数量的更新 模块检测到篡改的情况下,判定为保护控制模块120正常(未被篡改)。所述 规定数量也可是更新模块群130中包含的更新模块的过半数。

在判定为保护控制模块120被篡改的情况下(S3000为是),判断部210 为了判断是否需要恢复保护控制模块120,对更新模块群130委托保护控制 模块120的哪个部分被篡改等篡改信息的通知(S3001)。

更新模块群130若被委托篡改信息的通知,则收集篡改信息(S3002), 通知给判断部210(S3003)。

判断部210根据篡改信息,判断恢复保护控制模块120、或取消(revoke) 设备100、或什么都不进行(S3004)。

在恢复保护控制模块120的情况下(S3004为是),判断部210准备更新 用保护控制模块(S3006),向更新模块群130指示更新处理的开始(S3007)。 另外,在取消设备100的情况下,对于向应用110、111提供服务的服务器 委托取消设备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使用随机数生成器来生成随机数(挑战(challenge)数据 (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)。

另外,本发明的软件更新系统不必须进行上述全部处理。只要软件更 新系统具有从外部提供更新触发并使用新的保护控制模块来更新被篡改的 保护控制模块102的更新处理(S5000)和更新模块相互实施篡改检测的恢复 时相互监视处理(S5100)即可。

(8)相互监视处理

这里,用图19的时序图来说明相互监视处理(图18的S5000)的细节。

在相互监视处理中,更新模块131、132、133对更新模块群130内的 其他更新模块进行篡改检测处理。在相互监视处理中,对哪个更新模块进 行篡改检测处理记载在更新模块保持的监视模式中。在监视模式中记述了 与作为篡改检测对象的模块有关的信息(模块识别符、存储器上的位置、尺 寸、地址、文件名等)。

首先,更新模块131进行更新模块132的篡改检测处理(S5001a),更 新模块132进行更新模块133的篡改检测处理(S5001b),更新模块133进行 更新模块131的篡改检测处理(S5001c)。

各更新模块通过使用验证密钥,算出各更新模块131、132、133的 MAC值,并与保存在MAC值表中的、初始设定时算出的MAC值相比, 由此进行篡改检测处理。

另外,各更新模块也可通过算出更新模块131、132、133的哈希值, 比较算出的哈希值与事先对各更新模块附加的证书中记述的哈希值,由此 进行篡改检测处理。

各更新模块将篡改检测结果通知给判断部210(S5002)。

判断部210从各更新模块接收篡改检测结果(S5003),判定是否有被篡 改的更新模块(S5004)。

在判定为有被篡改的更新模块的情况下(S5004为是),判断部210立即 停止恢复处理(S5005)。

在判定为无被篡改的更新模块的情况下(S5004为否),继续处理。

(9)更新处理

接着,用图20和图21的时序图来说明更新处理(图18的S5100)的细 节。

首先,更新用软件分发部220的证书生成部708使用署名秘密密钥, 生成更新验证证书(S5101)。更新验证证书是用于各更新模块131、132、133 确认新的保护控制模块是否已正确安装的证书。更新用软件分发部220将 生成的证书发送到各更新模块(S5102)。

接着,更新用软件分发部220的加密密钥生成部703生成两个用于多 重加密新的保护控制模块的加密密钥(第1密钥和第2密钥)(S5103)。加密 处理部704使用第2密钥来加密新的保护控制模块,并生成加密新保护控 制模块(S5104)。加密处理部704对加密新保护控制模块使用第1密钥进一 步加密,生成多重加密新保护控制模块(S5105)。

更新用软件分发部220从更新模块群130中选择一个合法更新模块 (S5106),将选择出的更新模块的识别符通知给判断部210。在S5106中, 选择判断部210内的非法模块确定部604中存储的非法更新模块以外的更 新模块。这里,作为一例,设选择更新模块131。

更新用软件分发部220向选择出的更新模块131发送多重加密新保护 控制模块(S5107),再发送第1密钥(S5108)。

更新模块131接收多重加密新保护控制模块与第1密钥。更新模块131 使用第1密钥,解密多重加密新保护控制模块,取得加密新保护控制模块 (S5109)。之后,若解密结束,则将此情况通知给更新用软件分发部 220(S5110)。

更新用软件分发部220若接收到解密结束通知,则从更新模块群130 中选择一个是合法模块、且与S5106中选择的更新模块不同的更新模块 (S5112)。这里,作为一例,设选择更新模块132。

更新模块的选择与上述一样,选择判断部210内的非法模块确定部604 中存储的非法更新模块以外的更新模块。

更新用软件分发部220向选择出的更新模块132发送第2密钥(S5113)。 更新用软件分发部220再委托更新模块131向更新模块132发送S5109中 取得的加密新保护控制模块(S5114)。

更新模块131接受来自更新用软件分发部220的委托,向更新模块132 发送加密新保护控制模块(S5115)。

更新模块132从更新用软件分发部220接收第2密钥,从更新模块131 接收加密新保护控制模块。之后,使用第2密钥,解密加密新保护控制模 块,并取得新的保护控制模块(S5117)。

更新模块132将S5117中取得的新的保护控制模块覆盖至保护控制模 块120,进行更新(S5118)。之后,更新模块132将更新结束通知给其他更 新模块(S5119)。接着,各更新模块131、132、133分别使用事先接收到的 更新验证证书,验证保护控制模块是否正确更新(S5120),并将验证结果通 知给更新用软件分发部220(S5121)。

更新用软件分发部220若接收到从各更新模块发送的验证结果通知, 则判定保护控制模块是否正确更新(S5122)。在判定为未正确更新的情况下 (S5121为否),更新用软件分发部220使设备100停止(S5123)。

在正确更新的情况下(S5121为是),更新用软件分发部220将更新处理 结束通知给各更新模块(S5124)。

各更新模块若接收到更新处理结束通知,则生成新的保护控制模块的 MAC值,并将生成的MAC值与保护控制模块的识别符所成的组写入MAC 值表中(S5125)。

如上所述,在更新处理中,更新用软件分发部220使用多个密钥来多 重加密更新用新保护控制模块,并将其发送到更新模块群130。更新模块群 130用接收到的新保护控制模块来更新保护控制模块120。

此时,更新用软件分发部220通过控制向更新模块群130发送用于解 密被多重加密的新保护控制模块的多个密钥的时间,使攻击者难以获得未 加密的新保护控制模块。

(10)相互监视处理与更新处理的关系

上述相互监视处理与更新处理边相互联动边执行。

相互监视处理在将更新模块群130中包含的更新模块作为发送目的 地、从更新用软件分发部220发送多个密钥时、以及加密的更新用保护控 制模块在更新模块群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被攻击,也可在加密新保护控制模块全部泄漏之前检测出更新模块被攻 击的情况,防止泄漏。

之后的处理与上述一样。即,设备100在更新模块132接收由更新服 务器200发送的第2密钥之前,实施监视处理(相互监视4),确认在设备100 接收密钥时,在更新处理中不选择非法更新模块。

并且,更新模块132在接收第2密钥、并使用第2密钥解密加密新保 护控制模块期间,定期中断更新模块132的解密处理,实施相互监视处理(相 互监视5-1、5-2)。最后,实施相互监视处理(相互监视6)。

由此,可在新保护控制模块全部泄漏之前检测出更新模块被攻击的情 况,防止泄漏。

这里,在相互监视处理中,在更新模块中检测到篡改的情况下,停止 恢复处理。由此,更新服务器200可中止第1密钥或第2密钥的发送,攻 击者不能获得用于解密多重加密新保护控制模块的密钥。

(11)再加密处理

接着,用图23的时序图来说明再加密处理(图18的S5200)的细节。

首先,更新后的保护控制模块(在图23和图24的说明中,为了与更新 前的保护控制模块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)进行解密,并使用新加解密密钥来再加密应用(110、111)(S5208)。

这里,说明S5206中用于确定非法更新模块的方法。首先,保护控制 模块121从各更新模块收集分散信息的组,向收集到的分散信息附加用于 识别各更新模块的识别信息。

之后,将初始设计时设定为相同值并分发的分散信息彼此汇总成分组。 之后,比较各分组中包含的分散信息彼此的值,将为相同值的分散信息彼 此再汇总成一个子分组。之后,生成从所有分组中各选出一个子分组而成 的全部组合。

对生成的组合分别生成旧加解密密钥,验证是否已生成正确的旧加解 密密钥。在验证OK(成功)的情况下,向该组合中包含的子分组附加表示 验证OK的验证通过识别信息。

在对全部组合进行旧加解密密钥的生成验证之后,去除附加了验证通 过识别信息的子分组中包含的分散信息。

未被去除而残留的分散信息为非法值。因此,可利用附加于该分散信 息的识别信息,确定发送来非法值的分散信息的更新模块。确定为由识别 信息确定的更新模块是非法更新模块。

根据分散信息复原旧加解密密钥的方法或非法更新模块的确定方法在 专利文献2的50页~52页中详细说明。通过使专利文献2中的秘密密钥d 对应于本实施方式的加解密密钥,使认证站装置对应于本实施方式的保护 控制模块121,使分散信息保持装置对应于更新模块131、132、133,可利 用与专利文献2相同的方法。

另外,在S5206中,作为用于确定非法更新模块的方法,也可使用后 述的实施方式2中详细说明的非法模块确定方法。

(12)下一轮准备处理的动作

接着,用图24的时序图来说明下一轮准备处理(图10的S600)的细节。 在下一轮准备处理中,在恢复处理结束之后,进行用于下一恢复处理的准 备。下面具体说明。

首先,保护控制模块121根据新加解密密钥,使用秘密分散法,生成 分散信息(S6000),再使用署名秘密密钥,生成新加解密密钥证书(S6001)。 之后,保护控制模块121将生成的分散信息与加解密密钥证书发送给各更 新模块131、132、133(S6002)。

这里,与初始设计处理时一样,生成与更新模块的数量相同的数量的 分散信息,并将其发送以使各个更新模块保持不同的分散信息的对。关于 新加解密密钥证书,向各更新模块131、132、133发送相同证书。

各更新模块131、132、133从保护控制模块121接收分散信息和新加 解密密钥证书,并将接收到的分散信息与新加解密密钥证书保持在分散信 息保持部308中(S6003)。

(13)无效化处理的动作

接着,用图25的时序图来说明无效化处理的细节。

无效化处理是在存在相互认证时认证失败的更新模块的情况、恢复处 理内的监视处理中检测到被篡改的更新模块的情况、恢复处理内的再加密 处理中抽出非法更新模块的情况等下,使设备100内部存在的非法(被篡改) 模块无效化的处理。

这里,以更新模块133被篡改、更新模块131和132检测到更新模块 133被篡改的情况下的处理为例,说明无效化处理的动作细节。

判断部210根据从更新模块131、132、133接收到的相互监视结果, 判定哪个更新模块被篡改(S7001)。作为判定方法,例如将判断为过半数的 更新模块“被篡改”的更新模块判定为是非法更新模块。

判断部210将无效化的指示与被篡改的更新模块的识别信息一起输出 到模块无效化部230(S7002)。

模块无效化部230向判定为未被篡改的更新模块131和132中的某一 个(这里设为更新模块131。)委托被篡改的更新模块133的无效化(S7003)。

更新模块131若从模块无效化部230接收更新模块133的无效化委托, 则委托模块无效化部230送达用于无效化更新模块133的访问信息取得密 钥(S7004)。并且,更新模块131委托访问控制模块140取得用于无效化更 新模块133的访问信息(S7005)。

模块无效化部230若接收到访问信息取得密钥的送达委托,则确认更 新模块131是否为合法(未被篡改)的更新模块、以及被委托的访问信息取得 密钥是否为用于无效化非法(被篡改)的更新模块133的访问信息取得密钥 (S7006)。该确认利用从判断部210通知给模块无效化部230的更新模块的 信息来进行。

在确认的结果是来自被篡改的更新模块133的委托、或是对未被篡改 的更新模块131、132的访问信息取得密钥的取得委托的情况下(S7006为 否),停止无效化处理。

若确认的结果没有问题(S7006为是),则向发来委托的更新模块131送 达用于无效化更新模块133的访问信息取得密钥(S7008)。

更新模块131从模块无效化部230接收访问信息取得密钥,并从访问 控制模块140接收被加密的访问信息(S7009)。更新模块131根据访问信息 取得密钥与被加密的访问信息,取得访问信息(S7010)。取得的访问信息是 用于删除更新模块133的专用驱动。更新模块131利用专用驱动程序,删 除被篡改的非法更新模块133(S7011)。

更新模块131当无效化处理结束时,删除访问信息取得密钥、被加密 的访问信息、以及访问信息等,向模块无效化部230发送完成通知(S7012)。 模块无效化部230一旦从更新模块131接收完成通知,则向判断部210发 送无效化的完成通知(S7013)。

这里,在步骤S7003中,对更新模块131委托被篡改更新模块133的 无效化处理,但作为选择一个合法更新模块的方法,也可使用根据本发明 的非法模块确定处理的结果来选择一个合法模块。

另外,在利用无效化处理使得具备分散信息保持部308的更新模块无 效化的情况下,也删除该更新模块保持的分散信息。因此,在使具备分散 信息保持部308的更新模块无效化的情况下,需要进行考虑了分散信息删 除的无效化处理。

考虑了分散信息删除的无效化处理在专利文献2的56页~64页作为 “脱离处理”详细说明。通过使专利文献2中的秘密密钥d对应于本实施 方式的加解密密钥,使分散信息保持装置对应于本实施方式的更新模块 131、132、133,可利用与专利文献2相同的方法。为了进行考虑了分散信 息删除的无效化处理,除无效化的非法更新模块以外,还需要最少3个合 法更新模块。在无效化处理中使用保护控制模块120的情况下,只要以与 初始设计时相同的方法再次生成分散信息并分发即可。

如上所述,因为更新模块群130内的多个更新模块进行相互监视处理, 所以可检测被篡改的更新模块,可提高软件更新系统的可靠性。另外,因 为使被篡改的更新模块无效化,所以可防止由被篡改更新模块进行非法动 作。

2.实施方式2

这里,参照附图说明根据本发明的非法模块无效化系统的实施方式2。

在上述实施方式1中,作为确定被篡改的非法更新模块的方法,例如 在过半数等规定数量的更新模块判定为“被篡改”的情况下,将该被判定 的更新模块判断为非法更新模块。

但是,在更新模块被篡改的情况下,有可能将实际上未被篡改的模块 误判断为“被篡改”,或将实际上被篡改的模块误判断为“未被篡改”。

此时,假定不能使应无效化的更新模块无效化的情况、或使不应无效 化的模块无效化的事态。在非专利文献3中,记载用于利用模块的相互监 视来进行故障诊断的技术。但是,在该技术中,由于限制系统内的故障数, 所以有可能与实施方式1的情况一样进行误判断。

因此,在实施方式2中,根据篡改检测结果的矛盾来确定非法更新模 块。

2.1软件更新系统10a的构成

用图79来说明根据实施方式2的软件更新系统10a的构成。

如图79所示,软件更新系统10a经由网络连接信息处理装置100a与 非法模块确定装置200a来构成。

信息处理装置100a包含模块131、模块132、模块133。这些模块相 互进行篡改检测处理,将篡改检测结果经由网络发送到非法模块确定装置 200a。信息处理装置100a也可构成为包含更多模块。

非法模块确定装置200a由接收单元2310、判断单元210a和无效化单 元2320构成。

接收单元2310从信息处理装置100a的模块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软件更新系统10b的构成

这里,进一步具体说明根据本发明的实施方式2。

(1)整体构成

图80是表示作为用于进一步具体说明实施方式2的实施例的软件更新 系统10b的构成框图。

如图80所示,软件更新系统10b由作为根据本发明的信息处理装置的 设备100b、与作为根据本发明的非法模块确定装置的更新服务器200b构 成。另外,设备100b和更新服务器200b经由网络连接。

设备100b由应用110、应用111、保护控制模块120、更新模块群130b 和访问控制模块140构成。

更新服务器200b由判断部210b、更新用软件分发部220、模块无效化 部230和通信部240构成。

图80中,向具有与实施方式1一样功能的构成要素附加与图1相同的 符号,省略详细说明。下面,详细说明实施方式2的特征构成要素和处理。

(2)更新模块群130b的构成

图26是表示实施方式2的更新模块群130b的构成的图。

如图26所示,实施方式2的更新模块群130b包含更新模块131、132、 133、134、135、136和137这7个更新模块。各更新模块的构成与实施方 式1一样(参照图2)。

(3)判断部210b的构成

图27是功能表示根据实施方式2的判断部210b的构成的功能框图。

如图27所示,判断部210b由接收部601、发送部602、指示生成部 603、模块确定部604b和循环检测部606构成。另外,模块确定部604的 内部具备非法模块确定部605。

与实施方式1的判断部210的差异在于在模块确定部604的内部具备 非法模块确定部60这一点和具备循环检测部606这一点。

(a)非法模块确定部605的构成

这里,说明作为实施方式2的特征构成要素的非法模块确定部605的 详细构成。

图28是表示非法模块确定部605的功能构成的功能框图。如图28所 示,非法模块确定部605由确定指示接收部651、确定结果发送部652、正 常模块假定部653、验证结果判定部654、假定正常更新模块群抽取部655、 矛盾检测部656和循环监视模式取得部657构成。

若确定指示接收部651从指示生成部603受理非法更新模块的确定指 示和更新模块群130b的相互监视结果(篡改检测结果),则确定指示接收部 651向正常模块假定部653输出所述指示。

确定结果发送部652若从矛盾检测部656受理非法更新模块的确定结 果,则将确定结果输出到指示生成部603。

正常模块假定部653若从确定指示接收部651受理指示,则选择更新 模块群130内的一个更新模块,将选择出的更新模块假定为正常的更新模 块。之后,将选择出的更新模块设为假定正常更新模块群。

假定正常更新模块群是由正常模块假定部653假定为正常模块的更新 模块所构成的概念上的分组。具体地,正常模块假定部653生成包含假定 为正常的全部更新模块的识别信息的假定正常更新模块群构成信息。

正常模块假定部653将选择出的更新模块的识别序号输出到矛盾检测 部656。另外,将假定正常更新模块群构成信息输出到验证结果判定部654。

正常模块假定部653将取得循环监视模式的指示输出到循环监视模式 取得部657。若从循环监视模式取得部657受理确定结果,则正常模块假定 部653将循环监视模式内的更新模块以外的更新模块假定为正常的更新模 块。另外,循环监视模式的细节如后所述。

若从矛盾检测部656受理表示无矛盾的通知,则正常模块假定部653 将选择出的更新模块之外的更新模块假定为正常的更新模块,包含于假定 正常更新模块群中。之后,更新假定正常更新模块群构成信息。正常模块 假定部653将更新后的假定正常更新模块群构成信息输出到验证结果判定 部654。

验证结果判定部654若从正常模块假定部653受理了假定正常更新模 块群构成信息,则判定假定正常更新模块群内的更新模块对其他更新模块 的篡改检测结果。

验证结果判定部654在假定正常更新模块群内的更新模块对其他更新 模块的篡改检测结果为正常的情况下,将被验证的更新模块视为正常的更 新模块。即,可将正常的更新模块判断为“正常”的更新模块视为正常的 更新模块。

之后,验证结果判定部654将视为正常的更新模块的识别信息和与从 正常模块假定部653受理的假定正常更新模块群构成信息输出到假定正常 更新模块群抽取部655。

在不存在可视为正常的更新模块的情况下,验证结果判定部654将该 情况输出到假定正常更新模块群抽取部655。

另外,验证结果判定部654在从假定正常更新模块群抽取部655接收 到假定正常更新模块群构成信息的情况下,也进行同样的处理。

假定正常更新模块群抽取部655受理可视为正常的更新模块的识别序 号和假定正常更新模块群构成信息。之后,将受理到的识别序号追加到受 理的假定正常更新模块群构成信息,更新构成信息。假定正常更新模块群 抽取部655将更新后的假定正常更新模块群构成信息输出到验证结果判定 部654。

若从验证结果判定部654受理表示不存在可视为正常的更新模块的通 知,则假定正常更新模块群抽取部655向矛盾检测部656输出假定正常更 新模块群构成信息。

矛盾检测部656若从假定正常更新模块群抽取部655受理了假定正常 更新模块群构成信息,则进行矛盾检测处理。细节如后所述。

在检测到矛盾的情况下,在正常模块假定部653中可确定为假定为正 常的更新模块是非法更新模块。因此,矛盾检测部656将确定了非法更新 模块的情况通知给确定结果发送部652。在未检测到矛盾的情况下,矛盾检 测部656将无矛盾的情况通知给正常模块假定部653。

另外,矛盾检测部656在从循环监视模式取得部657受理循环监视模 式的情况下,判断循环监视模式内的更新模块对循环监视模式内的其他更 新模块进行篡改检测处理的结果是否存在被判定为非法的更新模块。在存 在非法更新模块的情况下,确定为循环监视模式中包含的全部更新模块是 非法模块。

并且,矛盾检测部656验证循环监视模式内的更新模块对循环监视模 式外的同一更新模块进行了篡改检测处理所得到的检测结果中是否有矛 盾。在有矛盾的情况下,确定为循环监视模式中包含的全部更新模块是非 法模块。

之后,若确定为循环监视模式中包含的全部更新模块是非法模块,则 矛盾检测部656将该情况输出到确定结果发送部652和正常模块假定部 653。

循环监视模式取得部657若从正常模块假定部653受理了取得指示, 则向循环检测部606输出循环监视模式的取得指示。另外,若从循环检测 部606受理了循环监视模式,则向矛盾检测部656输出循环监视模式。

(b)循环检测部606的构成

这里,说明作为实施方式2的特征构成要素的循环检测部606的详细 构成。

图29是表示循环检测部606的功能构成的功能框图。如图29所示, 循环检测部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的篡改检测处 理的结果,判定为“未被篡改”。

另外,×标记2013表示更新模块134进行更新模块136的篡改检测处 理的结果,判定为“被篡改”。

另外,×标记2014表示更新模块133进行更新模块136的篡改检测处 理的结果,判定为“被篡改”。

另外,图31中,对应于全部箭头记载了检测结果。这表示判断部210b 完成了全部篡改检测结果的接收。

下面,用图32来说明矛盾。首先,将更新模块132假定为正常更新模 块。之后,更新模块133和135如○标记2015和○标记2016所示,均由 更新模块132判定为“未被篡改”。由正常的更新模块132判定为“未被篡 改”的更新模块133和135可假定为均是正常模块。

但是,如×标记2017所示,假定为正常模块的更新模块133将更新模 块135判定为“被篡改”,作为正常模块的更新模块132的篡改检测结果与 作为正常模块的更新模块133的篡改检测结果不一致。将这种情况称为篡 改检测结果矛盾。

(4)非法模块确定处理的动作

这里,用图33和图42,说明软件更新系统10b中的非法更新模块的 确定处理的动作。

(a)通常的监视模式的情况

图33是表示非法模块确定处理的动作的流程图。

非法模块确定部605对全部更新模块重复步骤S8001~步骤S8006的 处理(S8000)。

下面,使用图34所示的篡改检测结果作为具体例,说明对更新模块 131的非法模块确定处理的动作。

首先,正常模块假定部653将更新模块131假定为正常更新模块,生 成仅包含更新模块131的假定正常更新模块群(S8001)。

接着,验证结果判定部654判断假定正常更新模块群中包含的更新模 块131所进行的篡改检测处理中是否存在判定为“未被篡改(正常)”的更新 模块(S8002)。

根据图34,如○标记2021和○标记2022所示,更新模块132和更新 模块134被判定为正常。

在存在被判定为正常的更新模块的情况下(S8002为是),验证结果判定 部654将被判定为正常的更新模块132和更新模块134的识别信息输出到 假定正常更新模块群抽取部655。

假定正常更新模块群抽取部655将受理的识别信息追加到假定正常更 新模块群。由此,将被判定为正常的更新模块132和更新模块134追加到 假定正常更新模块群(S8003)。

同样地,验证结果判定部654判断假定正常更新模块群中包含的更新 模块132和更新模块134所进行的篡改检测处理中是否存在被判定为正常 的更新模块(S8002)。如○标记2023所示,更新模块133被判定为正常,所 以将更新模块133追加到假定正常更新模块群(S8003)。

同样地,验证结果判定部654判断假定正常更新模块群中包含的更新 模块133所进行的篡改检测处理中是否存在被判定为正常的更新模块 (S8002)。如○标记2024和○标记2025所示,更新模块131和更新模块136 被判定为正常,所以将更新模块136追加到假定正常更新模块群(S8003)。

在不存在假定正常更新模块群中包含的更新模块判定为正常的更新模 块的情况下(S8002为否),矛盾检测部656判断假定正常更新模块群中包含 的更新模块的验证结果中是否有矛盾(S8004)。

此时,形成了图34所示的假定正常更新模块群2031。若观察假定正 常更新模块群2031中包含的更新模块的验证结果,则更新模块133对更新 模块136的验证结果为○标记2025,相反,更新模块134对更新模块136 的验证结果为×标记2026,所以验证结果存在矛盾。

在假定正常更新模块内存在矛盾的情况下(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也是不能 正确进行篡改检测的非法更新模块的可能性高。

即,在全部篡改检测结果为正常的循环监视模式中,在确定为其中的 一个更新模块非法的情况下,可视为循环监视模式内的全部更新模块非法。

下面,用图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的篡改检测结果(×标记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的数据结构的图。

如图39所示,循环监视模式列表2100对各循环监视模式,将循环的 尺寸、构成该循环监视模式的更新模块的识别信息、以及对该循环监视模 式内的更新模块进行篡改检测处理的循环监视模式外的更新模块的数量 (这里称为“向循环的输入”。)对应存储。

例如,No.1的循环监视模式的循环尺寸为3,由更新模块131、132、 133构成。另外,存在1个对该循环监视模式内的更新模块进行篡改检测处 理的循环监视模式外的更新模块。

图40是表示循环监视模式列表2200的数据结构的图。

循环监视模式列表2200若与图39的循环监视模式列表2100相比,则 各循环监视模式的信息按循环尺寸从小到大的顺序排列。并且,在有循环 尺寸相同的多个循环监视模式的情况下,按对循环监视模式内的更新模块 进行验证的外部更新模块的数量(向循环的输入)从大到小的顺序排列。

因此,若使用图40的列表2200,则容易判断最好从多个循环监视模 式中的哪个循环监视模式开始优先进行处理,与使用图39的列表2100的 情况相比,可更有效地发现非法的更新模块并使其无效化。

下面,用图41和图42的流程图来说明存在多个循环监视模式的情况 下的非法模块确定处理的动作。

首先,循环监视模式取得部663通过参照循环监视模式存储部666, 判断更新模块群130b的监视模式中是否存在循环监视模式(S8111)。在不存 在循环监视模式的情况下(S8111为否),结束非法模块确定处理。

在存在循环监视模式的情况下(S8111为是),循环监视模式取得部663 从循环监视模式存储部666中存储的循环监视模式列表中,搜索循环尺寸 最小的循环监视模式(S8112)。并且,在存在多个循环尺寸相同的循环监视 模式的情况下,循环监视模式取得部663选择对循环监视模式内的更新模 块进行验证的外部更新模块的数量多的循环监视模式(S8113)。

接着,循环监视模式取得部663判断选择出的循环监视模式的监视结 果是否全部正常(S8114)。

在不是全部正常的情况下(S8114为否),前进到步骤S8118。

在全部正常的情况下(S8114为是),矛盾检测部656确认循环监视模式 内的更新模块对循环监视模式内的其他更新模块进行篡改检测处理的结果 是否存在被判定为非法的更新模块(S8115)。

在存在被判定为非法的更新模块的情况下(S8115为是),确定为循环监 视模式内的更新模块全部是非法更新模块(S8116),前进到步骤S8118。

在不存在被判定为非法的更新模块的情况下(S8115为否),矛盾检测部 656判断循环监视模式内的更新模块对循环监视模式外的相同更新模块进 行的篡改检测结果中是否有矛盾(S8117)。

在验证结果矛盾的情况下(S8117为否),确定为循环监视模式内的更新 模块全部是非法更新模块(S8116),前进到步骤S8118。

在验证结果一致的情况下(S8117为是),循环监视模式取得部663参照 循环监视模式存储部666中存储的循环监视模式列表,判断是否另外存在 循环监视模式(S8118)。

在存在循环监视模式的情况下(S8118为是),循环监视模式取得部663 选择循环尺寸为上次对象的循环监视模式的循环尺寸以上且最小的循环监 视模式(S8119)。之后,返回到步骤S8113,继续处理。

在不另外存在循环监视模式的情况下(S8118为否),结束非法模块确定 处理。

(5)关于分散信息

这里,说明循环监视模式与更新模块所保持的分散信息之间的关系。

在上述初始设定处理中,保护控制模块120使用秘密分散法、根据加 解密密钥制作分散信息,并将生成的分散信息发送到各更新模块。

在使用专利文献2中记载的方法的情况下,将相同分散信息发送到多 个更新模块。由此,即便在某个更新模块被无效化、不能从该更新模块取 得分散信息的情况下,也可通过从保持相同分散信息的其他更新模块取得 分散信息,从而复原加解密密钥。

在循环监视模式中,若一个更新模块被确定为非法模块,则循环监视 模式中包含的全部更新模块被确定为非法模块并被无效化。

因此,实施方式2的保护控制模块120为了防止不能复原加解密密钥 的事态发生,在存在循环监视模式的情况下,根据循环监视模式的构成, 向各更新模块发送分散信息。

下面,用图43和图44来具体说明。

图43是表示监视模式的一例的图。根据图43,更新模块131、132、 133和更新模块133、136、137是循环监视模式。

此时,在存在仅由循环监视模式内的更新模块131、132、133保持而 未由其他更新模块保持的分散信息的情况下,若使更新模块131、132、133 全部无效化,则保护控制模块120不能复原加解密密钥。

同样,在存在仅由更新模块133、136、137保持而未由其他更新模块 保持的分散信息的情况下,若使更新模块133、136、137全部无效化,则 保护控制模块120不能复原加解密密钥。

因此,保护控制模块120如图44所示,向各更新模块发送各分散信息, 以使对于分散信息1、分散信息2、分散信息3、分散信息4、分散信息5、 分散信息6和分散信息7的全部,仅由更新模块131、132、133保持的分 散信息、以及仅由更新模块133、136、137保持的分散信息不存在。

由此,即便在使更新模块131、132、133全部无效化的情况下,或即 便在使更新模块133、136、137全部无效化的情况下,保护控制模块120 也可复原加解密密钥。

3.实施方式3

这里,说明其他实施方式。

3.1篡改监视系统10ca

用图77所示的构成图来说明作为其他实施方式的篡改监视系统10ca。

篡改监视系统10ca如图77所示,由信息安全装置100ca和管理装置 200ca构成。

信息安全装置100ca具有监视篡改的多个监视模块131ca、132ca、 133ca、134ca。

管理装置200ca由如下单元构成:接收部240ca,从信息安全装置100ca 接收各监视模块对其他监视模块的监视结果;检测部678ca,使用接收到的 所述监视结果,检测未被篡改的正常监视模块的存在;第一假定部673ca, 在进行所述检测的情况下,对从所述监视模块中选择的一个监视模块假定 为被篡改;第二假定部679ca,以假定为被篡改的所述监视模块为起点,使 用接收到的所述监视结果,对未处理的监视模块,连锁适用对将被假定为 被篡改的监视模块判定为正常的监视模块假定为被篡改的步骤;和判断部 676ca,判断所述第二假定部679ca适用步骤的结果是否假定为全部监视模 块被篡改,在进行所述判断的情况下,将最初假定为被篡改的所述监视模 块确定为正常监视模块。

根据管理装置200ca,检测部678ca由于检测未被篡改的正常监视模块 的存在,所以至少1个监视模块正常。

相反,在由判断部678ca判断为对全部监视模块假定为被篡改的情况 下,该判断结果与检测部678ca的检测结果矛盾。这是因为第1假定部673ca 的假定中存在错误。

因此,覆盖第一假定部673ca的假定,由第一假定部673ca将假定为 被篡改的监视模块确定为正常监视模块。

如上所述,由于可决定正常监视模块,所以正常监视模块的监视结果 可信赖,可有效利用。

另外,如上所述,在已决定正常监视模块的情况下,全部取消上述为 非法的假定。

3.2软件更新系统10cb

说明作为其他实施方式的软件更新系统10cb(未图示)。

在软件更新系统10cb中,在更新处理中的更新模块选择(图20的步骤 S5106和图21的步骤S5112)中,使用确定未被篡改、即正常的更新模块的 方式。若使用该方式,则由于可从多个更新模块中逻辑地确定正常的更新 模块,所以可使用确定的正常更新模块来安全地更新保护控制模块。

在软件更新系统10cb中,与实施方式2一样,说明更新模块为7个的 情况。但是,更新模块也可以是8个以上,或是6个以下。

(1)软件更新系统10cb的构成

软件更新系统10cb由更新服务器200cb(未图示)和设备100构成。设 备100具有与实施方式1的设备100相同的构成。更新服务器200cb具有 与实施方式1的更新服务器200类似的构成,具有图45所示的判断部 210cb,代替更新服务器200的判断部210。其他构成与更新服务器200相 同。下面,主要说明与更新服务器200的差异。

(2)判断部210cb的构成

判断部210cb具有与图27所示的判断部210b类似的构成。判断部 210cb如图45所示,具有模块确定部604cb,代替判断部210b的模块确定 部604b。模块确定部604cb如图45所示,具有非法模块确定部605和正常 模块确定部607。非法模块确定部605与图27所示的非法模块确定部605 相同。下面说明正常模块确定部607。

(3)正常模块确定部607

正常模块确定部607如下所示,使用设备100中的各更新模块的相互 监视结果,确定未被篡改的正常更新模块。

正常模块确定部607如图46所示,由确定指示接收部671、确定结果 发送部672、非法模块假定部(也称为第一假定部。)673、验证结果判定部 674、假定非法更新模块群抽取部675、抽取结果判断部676、循环监视模 式判定部677以及异常检测部678构成。另外,验证结果判定部674和假 定非法更新模块群抽取部675构成第二假定部679。

第二假定部679以由非法模块假定部673假定为被篡改的更新模块为 起点,使用接收到的监视结果,对未处理的更新模块,连锁适用对将被假 定为被篡改的更新模块判定为正常的更新模块假定为被篡改的步骤。

(a)确定指示接收部671

确定指示接收部671从指示生成部603接收表示确定正常更新模块的 指示的正常模块确定指示。若接收到正常模块确定指示,则将正常模块确 定指示输出到异常检测部678。

另外,确定指示接收部671从指示生成部603接收更新模块列表。更 新模块列表包含识别构成设备100中的更新模块群130的全部更新模块的 识别序号。接着,确定指示接收部671将接收到的更新模块列表输出到非 法模块假定部673和抽取结果判断部676。

另外,确定指示接收部671从设备100经由网络5、通信部240、接收 部601和指示生成部603,接收设备100中的更新模块群130的监视结果。 另外,将接收到的更新模块群130的监视结果输出到异常检测部678、非法 模块假定部673、循环监视模式判定部677和验证结果判定部674。

(b)异常检测部678

异常检测部678如下所示,使用接收到的所述监视结果,检测未被篡 改的正常监视模块的存在。简单地说,异常检测部678使用上次接收到的 监视结果与这次接收到的监视结果,在利用上次接收到的监视结果判定为 全部更新模块正常、且利用这次接收到的监视结果未判定为全部更新模块 正常的情况下,检测未被篡改的正常更新模块的存在。这里,设上次监视 与这次监视的时间间隔比规定阈值小。

下面,进一步详细说明异常检测部678。

异常检测部678从确定指示接收部671接收正常模块确定指示。

若接收到正常模块确定指示,则异常检测部678从确定指示接收部671 接收设备100中更新模块群130的监视结果(最新的监视结果)。另外,从确 定指示接收部671接收设备100中更新模块群130的上次的监视结果。

所谓上次的监视,表示进行最新的监视之前一次的监视。设备100定 期或不定期地以密的间隔(例如1月10~20次、1周5~6次、1日2~3次、 1小时1次等)重复监视。上次监视与这次监视的时间间隔比规定阈值小。 这里,规定阈值的实例为5日、3日、1日、12小时、6小时、3小时、1 小时等。

更新服务器200cb累积存储各监视的监视结果。

如上所述,因为设备100定期或不定期地以密的间隔重复监视,所以 可假定为避免从第1监视时刻至其后的第2监视时刻之间全部更新模块被 篡改的事态。

即,可假定为在第1监视时刻全部更新模块未被篡改的情况下,在第 1监视时刻的下一个的第2监视时刻,至少1个更新模块未被篡改。

异常检测部678使用接收到的最新监视结果,判断最新的监视结果是 否全部正常。在最新的监视结果全部正常的情况下,经确定结果发送部672, 将表示最新的监视结果全部正常的正常结果输出到指示生成部603,模块确 定部604cb结束处理。此时,因为全部更新模块正常,所以不必进行正常 更新模块的确定处理。

异常检测部678在未判断为最新的监视结果全部正常的情况下,接着 使用接收到的上次监视结果,判断上次监视结果是否全部正常。在未判断 为上次监视结果全部正常的情况下,将表示该情况的结果经确定结果发送 部672输出到指示生成部603,模块确定部604cb结束处理。此时,因为全 部更新模块有可能不正常,所以不进行正常更新模块的确定处理。

在上次监视结果全部正常的情况下,异常检测部678对构成正常模块 确定部607的其他构成部进行控制,以进行正常模块的确定处理。另外, 对循环监视模式判定部677输出表示确定非法更新模块的非法模块确定指 示。

(c)循环监视模式判定部677

循环监视模式判定部677从异常检测部678接收非法模块确定指示, 从确定指示接收部671接收更新模块群130的监视结果。若接收了非法模 块确定指示,则循环监视模式判定部677向循环检测部606发送循环监视 模式的取得指示。若存在1个以上的循环监视模式,则循环检测部606将 其发送到循环监视模式判定部677。接着,循环监视模式判定部677从循环 检测部606接收循环监视模式。

接着,循环监视模式判定部677使用接收到的监视结果,验证由接收 到的循环监视模式所示的多个更新模块的监视结果中是否有矛盾。在有矛 盾的情况下,确定为接收到的循环监视模式内包含的更新模块全部是非法 更新模块,将分别识别确定为非法的全部更新模块的非法识别序号发送到 非法模块假定部673。

另外,循环监视模式简单地说如下所述。

利用循环监视模式对更新模块设定监视对象的更新模块。循环监视模 式表示作为第1更新模块的监视对象的第2更新模块监视所述第1更新模 块、或经(隔着)1个以上的更新模块监视所述第1更新模块。

总之,循环监视模式判定部677在根据循环监视模式的多个更新模块 对其他1个更新模块的多个监视结果不一致的情况下,将根据该循环监视 模式的多个更新模块确定为非法更新模块。

另外,也可如下所示确定非法更新模块。即,非法模块确定部在假定 1个更新模块正常的情况下,使用接收的监视结果,判断多个监视结果中是 否存在不一致,在存在不一致的情况下,将假定为正常的所述更新模块确 定为非法更新模块。

(d)非法模块假定部673

非法模块假定部673如下所示,假定为对从更新模块中选择出的1个 更新模块进行了篡改。

非法模块假定部673从确定指示接收部671接收更新模块列表,接收 设备100中更新模块群130的监视结果。另外,从循环监视模式判定部677 接收分别识别确定为非法的全部更新模块的非法识别序号。

接着,非法模块假定部673选择更新模块列表中包含的更新模块识别 序号之中的、接收到的非法识别序号以外的更新模块的一个识别序号,并 将由选择出的识别序号表示的更新模块假定为非法更新模块。将该选择出 的识别序号称为假定识别序号。非法模块假定部673确定空集合的假定非 法更新模块群,接着将假定识别序号包含于假定非法更新模块群中。此时, 假定非法更新模块群中仅包含识别选择出的更新模块的假定识别序号。另 外,假定非法更新模块群也可称为假定非法分组。这样,非法模块假定部 673生成包含假定识别序号的假定非法分组。

接着,非法模块假定部673将选择出的更新模块的假定识别序号发送 给抽取结果判断部676,将假定非法更新模块群的假定非法构成信息发送到 验证结果判定部674。假定非法更新模块群的假定非法构成信息由假定非法 更新模块群中包含的全部识别序号构成。

另外,非法模块假定部673从抽取结果判断部676接收不能确定正常 更新模块的不可确定通知。在接收到不可确定通知的情况下,非法模块假 定部673新选择更新模块列表中包含的更新模块的识别序号之中的、接收 到的非法识别序号以外的更新模块且与选择出的更新模块不同的更新模块 的识别序号,将选择出的更新模块假定为非法的正常模块,仅将识别选择 出的该更新模块的假定识别序号包含于假定非法更新模块群中,将假定非 法更新模块群的假定非法构成信息发送到验证结果判定部674。

(e)第二假定部679

第二假定部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的监视结果是正常(3003)。另外,设更新模块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来说明软件更新系统10cb中的正常更 新模块的确定处理的动作。

另外,图48和图49分别表示各更新模块的篡改检测的监视结果的一 例,图50~图52是表示正常模块确定处理的动作的流程图。

下面,用图50~图52所示的流程图来说明正常模块确定处理的动作。

异常检测部678判断是否至少1个更新模块正常。换言之,检测未被 篡改的正常更新模块的存在(步骤S9000)。步骤S9000的细节如下(步骤 S9001~S9004)。

异常检测部678通过接收来取得最新的全部监视结果(步骤S9001),判 定最新的全部监视结果是否正常(步骤S9002)。在全部监视结果正常的情况 下(步骤S9002为是),确定为全部更新模块正常,模块确定部604cb结束正 常模块确定处理。在未判断为全部监视结果正常的情况下(步骤S9002为 否),通过接收来取得之前、即上次的全部监视结果(步骤S9003),判定之 前的监视结果是否全部正常(步骤S9004)。在未判断为之前的监视结果全部 正常的情况下(步骤S9004为否),模块确定部604cb结束正常模块确定处理。 在之前的监视结果全部正常的情况下(步骤S9004为是),判断为更新模块群 130的至少一个更新模块正常。这是因为在之前的相互监视中全部更新模块 正常的情况下,由于相互监视的间隔短,所以判断为在该间隔中不会发生 全部更新模块被篡改为非法更新模块的情况。

这样,通过确认更新模块群130的至少一个更新模块正常,如后所述, 可逻辑地确定正常模块。

接着,在之前的相互监视处理的监视结果全部正常的情况下(步骤 S9004为是),循环监视模式判定部677判断是否存在循环监视模式(步骤 S9005)。该判断通过确认循环检测部606内的循环监视模式存储部666中 是否存储循环监视模式来进行。在不存在循环监视模式的情况下(步骤 S9005为否),移动到步骤S9014。

在存在循环监视模式的情况下(步骤S9005为是),循环监视模式判定 部677使用循环监视模式确定非法更新模块(步骤S9006)。步骤S9006的细 节如下(步骤S9007~S9013)。也可不进行使用循环监视模式的非法更新模 块的确定。即,也可由其他方法来进行非法更新模块的确定。另外,也可 不进行非法更新模块的确定。

循环监视模式判定部677选择循环检测部606内的循环监视模式存储 部666中存储的1个循环监视模式(步骤S9007),判断选择出的循环监视模 式内的监视结果是否全部正常(步骤S9008)。在循环监视模式的监视结果全 部正常的情况下(步骤S9008为是),验证循环监视模式内的多个更新模块针 对作为监视对象的相同模块的多个监视结果是否一致(步骤S9009)。在不一 致的情况下(步骤S9009为否),确定为循环监视模式内的更新模块全部是非 法更新模块(步骤S9010)。并且,判断是否存在将步骤S9010中确定为非法 更新模块的更新模块判定为正常的更新模块(步骤S9011)。在存在的情况下 (步骤S9011为是),将判定为正常的更新模块确定为非法更新模块(步骤 S9012)。由此,可减少未被进行是否是非法更新模块的判断而残留的更新 模块的数量。结果,可更有效确定更新保护控制模块的正常更新模块。接 着,将控制移动到步骤S9013。

循环监视模式判定部677在循环监视模式的监视结果不是全部正常的 情况下(步骤S9008为否),在循环监视模式内的多个更新模块针对作为监视 对象的相同模块的多个监视结果一致的情况下(步骤S9009为是),或不存在 将确定为非法更新模块的更新模块判定为正常的更新模块的情况下(步骤 S9011为否),还判断循环检测部606内的循环监视模式存储部666中是否 另外存在循环监视模式(步骤S9013)。在另外存在循环监视模式的情况下(步 骤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,其监视结果分别是正常(3022) 及非法,更新模块132监视更新模块131、133和135,其监视结果分别是 非法(3021)、正常(3023)及非法,更新模块133监视更新模块131、135和 136,其监视结果分别是正常(3024)、非法及非法,更新模块134监视更新 模块136,其监视结果是正常(3027),更新模块135监视更新模块137,其 监视结果是正常(3025),更新模块136监视更新模块137,其监视结果是正 常(3026),更新模块137监视更新模块133,其监视结果是非法。

另外,设为更新模块131监视更新模块132(3028),更新模块132监视 更新模块133(3029),更新模块133监视更新模块131(3030)。因此,存在 循环监视模式3014。

这样,对更新模块利用循环监视模式设定监视对象的更新模块。循环 监视模式表示作为第1更新模块的监视对象的第2更新模块监视所述第1 更新模块、或经(隔着)1个以上的更新模块监视所述第1更新模块。

首先,循环监视模式判定部677判断是否存在循环监视模式(步骤 S9005),确定为循环监视模式的全部更新模块131、132和133全部是非法 更新模块(步骤S9010)。这是因为根据图48,存在循环监视模式3014,循 环监视模式3014中的监视结果全部正常(3022、3023、3024),更新模块132 对更新模块131的监视结果(3021)与更新模块133对更新模块131的监视结 果(3024)不同。

接着,非法模块假定部673选择更新模块137,并将更新模块137假 定为非法更新模块,将识别更新模块137的识别序号包含于假定非法更新 模块群3011中(步骤S9014)。接着,根据图48,因为被判定为非法的更新 模块131~133以外的更新模块135和136将更新模块137判定为正常 (3025、3026)(步骤S9015),所以把将假定非法更新模块群3011内的更新模 块137判定为正常的更新模块135、更新模块136包含于假定非法更新模块 群中(步骤S9016)。结果,生成新的假定非法更新模块群3012。另外,根据 图48,因为被判定为非法的更新模块131~133以外的更新模块134将更新 模块136(包含于假定非法更新模块群3012中)判定为正常(3027)(步骤 S9015),所以把将假定非法更新模块群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,其监视结果分别是正常(3054)、正常(3059)及正常(3055),更新模块 134监视更新模块136,其监视结果是正常(3056),更新模块135监视更新 模块137,其监视结果是正常(3058),更新模块136监视更新模块137,其 监视结果是正常(3057),更新模块137监视更新模块133,其监视结果是正 常。

另外,设为更新模块131监视更新模块132(3061),更新模块132监视 更新模块133(3062),更新模块133监视更新模块131(3063)。因此,存在 循环监视模式3041。

首先,循环监视模式判定部677判断是否存在循环监视模式(步骤 S9005),因为监视的相同模块的监视结果一致(步骤S9009为是),所以将控 制移动到步骤S9014。这是因为根据图49,存在循环监视模式3041,循环 监视模式3041中的监视结果全部正常(3052、3053、3054),更新模块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),所以把将假定非法更新模块群3043内的 更新模块136及135分别判定为正常的更新模块134及132包含于假定非 法更新模块群中(步骤S9016)。结果,生成新的假定非法更新模块群3044。 并且,由于未被判定为非法的更新模块131将更新模块132(包含于假定非 法更新模块群3044中)判定为正常(3052)(步骤S9015),所以把将假定非法 更新模块群3044内的更新模块132判定为正常的更新模块131包含于假定 非法更新模块群中(步骤S9016)。结果,生成新的假定非法更新模块群3045。

这样,更新模块131~137全部包含于假定非法更新模块群3045中。 因此,因为不存在假定非法更新模块群以外的更新模块(步骤S9017为否), 所以抽取结果判断部676确定为更新模块137是正常的更新模块(步骤 S9018)。

这样,由于可使用逻辑验证方法来从多个更新模块中有效地确定正常 的更新模块137,所以可使用确定的正常更新模块137来安全地更新保护控 制模块。

4.实施方式4

这里,说明其他实施方式。

4.1关于实施方式3

在上述实施方式3的软件更新系统10cb中,在更新处理的更新模块选 择中,确定未被篡改的正常更新模块。

但是,在确定软件更新系统10cb中的正常模块的方法中,若存在干扰 正常模块确定的更新模块,则有时不能确定正常的更新模块。

这里,干扰正常模块确定的更新模块的一例是将该更新模块的监视结 果全部判定为非法的更新模块。图57中示出其一例。

图57表示更新模块群130中包含的更新模块131~137的监视结果。

在该图中,更新模块132监视更新模块131、133及135,更新模块132 对更新模块131、133及135的监视结果全部是非法(4001、4003、4004)。

另外,更新模块131监视更新模块134,其监视结果为正常(4006),更 新模块133监视更新模块131、135及136,其监视结果分别是正常(4005、 4012和4008),更新模块134监视更新模块136,其监视结果为正常(4007), 更新模块135监视更新模块137,其监视结果为正常(4011),更新模块136 监视更新模块137,其监视结果为正常(4010),更新模块137监视更新模块 133,其监视结果是正常(4009)。

在该情况下,即便利用上述各实施方式中说明的方法来确定非法模块, 也因为各更新模块的监视结果中不产生矛盾,所以任一更新模块均未被确 定为非法的更新模块。

另外,在该情况下,即便使用实施方式3的软件更新系统10cb中说明 的正常模块的确定处理,适用图50的步骤S9001~S9013的步骤,任一更 新模块也未被判定为非法的更新模块。

接着,适用步骤S9014的步骤,选择1个更新模块,适用步骤S9015~ S9016的步骤,将假定为非法的更新模块追加到假定非法更新模块群。此 时,根据图57所示的监视结果,更新模块132未包含于假定非法更新模块 群中。这是因为更新模块132将对更新模块131、133、135的监视全部判 定为非法(4001、4003、4004)。结果,不能将图57所示的更新模块131~ 137仅分为假定非法更新模块群及非法的更新模块群。因此,不能适用实施 方式3的软件更新系统10cb中说明的正常模块的确定处理,任一更新模块 也不能确定为正常的更新模块。

这样,即便使用确定软件更新系统10cb中的正常模块的方法,更新模 块132也未被判定为非法更新模块,或也未分类到非法假定更新模块群。 因此,对该情况不能适用确定软件更新系统10cb中的正常模块的方式来确 定正常模块。

为了确定正常的更新模块,可能变更监视模式,新受理监视结果,再 次进行正常模块确定处理即可。但是,即便变更监视模式后再次进行监视, 在更新模块132对对象更新模块的监视中全部判定为非法的情况下,也同 样不能确定正常的更新模块。

这样,即便更新监视模式并再次进行监视,始终将针对对象更新模块 的监视结果全部设为非法的更新模块是被篡改而干扰正常模块确定的更新 模块(下面称为干扰模块。)。

4.2篡改监视系统10da

在篡改监视系统10da中,为了解决上述问题,对全部监视对象的监视 模块抽取判定为非法的监视模块(下面称为干扰候选模块。),从抽取到的干 扰候选模块中,确定真的干扰模块,事先排除确定的干扰模块。这样,通 过事先排除被篡改而进行非法动作的干扰模块,可从剩余的多个监视模块 中有效地确定正常的监视模块,可有效地使用确定的正常监视模块。

用图78所示的构成图,说明作为其他实施方式的篡改监视系统10da。

篡改监视系统10da如图78所示,由信息安全装置100da和管理装置 200da构成。

信息安全装置100da具有监视篡改的多个监视模块131da、132da、 133da、134da。

管理装置200da由如下单元构成:接收部240da,从信息安全装置100da 接收各监视模块对其他监视模块的监视结果;判定部683da,使用接收到的 所述监视结果,从所述监视模块中抽取对全部监视对象的监视模块判定为 篡改的干扰候选模块;和更新部250da,在检测到多个干扰候选模块的情况 下,为了在多个干扰候选模块之间相互监视对方,生成新的监视模式,对 所述信息安全装置发送生成的新的监视模式,使其置换为新的监视模式。 接收部240da还从信息安全装置100da接收基于新的监视模式的新的监视 结果。判定部683da还使用接收到的新的监视结果,将从所述干扰候选模 块中除了相互判定为正常而对其他干扰候选模块判定为非法的2个干扰候 选模块以外的其他干扰候选模块确定为干扰模块。

这样,由于可确定干扰模块,所以只要使被确定的干扰模块无效化即 可。

这里,判定部683da也可还使用接收到的新的监视结果,在2个干扰 候选模块中第1干扰候选模块对第2干扰候选模块判定为正常、第2干扰 候选模块对第1干扰候选模块判定为非法的情况下,将第1干扰候选模块 确定为被篡改的非法更新模块。

4.3软件更新系统10db

说明作为其他实施方式的软件更新系统10db。

在软件更新系统10db中,为了解决实施方式3中的问题,抽取针对全 部监视对象的更新模块判定为非法的更新模块(下面称为干扰候选模块。), 从抽取到的干扰候选模块中,确定真的干扰模块,事先排除确定的干扰模 块。这样,通过事先排除被篡改而进行非法动作的干扰模块,可从剩余的 多个监视模块中有效地确定正常的更新模块,可使用确定的正常更新模块 来安全地更新保护控制模块。

在软件更新系统10db中,与实施方式2及实施方式3一样,说明更新 模块为7个的情况。但是,更新模块也可以是8个以上,或是6个以下。

(1)软件更新系统10db的构成

软件更新系统10db如图53所示,由更新服务器200db和设备100db 构成。设备100db具有与实施方式1的设备100相同的构成。另外,更新 服务器200db具有与实施方式1的更新服务器200类似的构成,由判断部 210db、更新用软件分发部220、模块无效化部230、通信部240和监视模 式更新部250构成。

更新用软件分发部220、模块无效化部230及通信部240与更新服务 器200具有的更新用软件分发部220、模块无效化部230及通信部240相同。 判断部210db具有与软件更新系统10cb的更新服务器200cb具有的判断部 210cb类似的构成。

这里,主要说明判断部210db及监视模式更新部250。

(2)监视模式更新部250的构成

监视模式更新部250在更新设备100db内部的更新模块群130的监视 模式的情况下,为了对应于判断部210db所发出的监视模式更新的指示, 更新更新模块群130内的各更新模块的监视模式,而生成更新用监视模式, 将生成的监视模式发送到各更新模块。

监视模式更新部250如图54所示,由接收部901、发送部902、监视 模式生成部903、监视模式分割部904及控制部905构成。

(a)接收部901

接收部901从判断部210db接收表示监视模式生成的生成指示及在指 示的时刻的更新模块列表。更新模块列表包含分别识别设备100db具有的 更新模块群130中包含的全部更新模块的识别序号。另外,在存在干扰候 选模块的情况下,接收识别全部干扰候选模块的识别序号。

接收部901向控制部905输出接收到的监视模式的生成指示。另外, 将接收到的更新模块列表经控制部905输出到监视模式生成部903。另外, 在接收到识别干扰候选模块的识别序号的情况下,将接收到的识别序号经 控制部905输出到监视模式生成部903。

(b)监视模式生成部903

监视模式生成部903从接收部901经控制部905接收更新模块列表。 另外,在存在干扰候选模块的情况下,接收识别全部干扰候选模块的识别 序号。

若接收更新模块列表,则监视模式生成部903使用接收到的更新模块 列表,决定哪个更新模块监视哪个更新模块,并生成设备100db具有的更 新模块群130中的整体的监视模式。

具体地,监视模式生成部903使用接收到的识别干扰候选模块的识别 序号,生成整体的监视模式,以便多个干扰候选模块分别监视其他全部干 扰候选模块,即进行多个干扰候选模块间的相互监视。

另外,多个干扰候选模块间的相互监视的监视模式的具体例如后所述。

另外,监视模式生成部903也可决定为例如全部更新模块监视其他全 部更新模块,作为整体的监视模式。

监视模式生成部903将生成的整体的监视模式输出到监视模式分割部 904。

(c)监视模式分割部904

监视模式分割部904从监视模式生成部903接收整体的监视模式。

若接收到整体的监视模式,则监视模式分割部904将接收到的整体的 监视模式分割成各个更新模块的监视模式。接着,将分割得到的各个更新 模块的监视模式作为更新用监视模式,经控制部905、发送部902、通信部 240及网络5,发送到设备100db的各个更新模块。

(d)发送部902

发送部902经通信部240和网络5,向设备100db发送更新用的各个 更新模块的监视模式。另外,向判断部210db通知更新用监视模式的生成 及发送的结束。

(e)控制部905

控制部905从接收部901接收监视模式的生成指示。

若接收到监视模式的生成指示,则控制部905针对监视模式生成部903 及监视模式分割部904,控制为:生成设备100db具有的更新模块群130 中的整体监视模式,并生成更新用的各个更新模块的监视模式,向设备 100db发送更新用的各个更新模块的监视模式,使设备100db进行监视模式 的更新处理。

(3)判断部210db的构成

判断部210db如图55所示,由接收部601、发送部602、指示生成部 603、模块确定部604db及循环检测部606构成。另外,模块确定部604db 由非法模块确定部605、正常模块确定部607及干扰模块确定部608构成。

接收部601、发送部602、指示生成部603及循环检测部606分别与软 件更新系统10cb的更新服务器200cb的判断部210cb具有的接收部601、 发送部602、指示生成部603及循环检测部606相同。

指示生成部603经发送部601将表示监视模式生成的生成指示发送到 监视模式更新部250。

另外,非法模块确定部605及正常模块确定部607分别与软件更新系 统10cb的更新服务器200cb的判断部210cb的模块确定部604cb具有的非 法模块确定部605及正常模块确定部607相同。

下面,说明干扰模块确定部608。

(4)干扰模块确定部608的构成

干扰模块确定部608判断是否存在有可能被篡改而进行非法动作的更 新模块。

干扰模块确定部608如图56所示,由确定指示接收部681、确定结果 发送部682、验证结果判定部683、监视模式更新指示生成部684及验证结 果接收部685构成。

(a)确定指示接收部681

确定指示接收部681从指示生成部603接收表示对干扰正常模块确定 的更新模块进行确定的指示的干扰确定指示、及设备100db中的更新模块 的监视结果,并将接收到的监视结果发送到验证结果判定部683。

(b)验证结果接收部685

验证结果接收部685从指示生成部603接收设备100db中更新模块群 130的监视模式被更新后的监视结果,并将接收到的更新后的监视结果发送 到验证结果判定部683。

(c)验证结果判定部683

验证结果判定部683从确定指示接收部681接收监视结果,使用接收 到的监视结果,判断是否有可能存在干扰正常模块确定的更新模块。即, 判断是否存在干扰候选模块。干扰候选模块是针对全部监视对象的更新模 块判断为非法的更新模块。是否存在干扰候选模块的判断细节如后所述。

在判断为不存在干扰候选模块的情况下,验证结果判定部683将不存 在干扰候选模块的情况发送到确定结果发送部682。

在判断为存在干扰候选模块的情况下,验证结果判定部683为了判断 干扰候选模块是否真是干扰模块,向监视模式更新指示生成部684发送全 部候选干扰模块的识别序号,委托监视模式的更新。这是为了判断干扰候 选模块是被非法篡改而干扰正常模块的确定、还是正常的更新模块对非法 更新模块正常监视。细节如后所述。

设备100db中,在更新模块群130的监视模式被更新之后,验证结果 判定部683从验证结果接收部685接收监视模式更新后的监视结果,判断 设为有可能非法的更新模块是否是非法更新模块。将判断结果发送到确定 结果发送部682,为了更新更新模块群130的监视模式,委托监视模式更新 指示生成部684更新监视模式。

(d)监视模式更新指示生成部684

监视模式更新指示生成部684从验证结果判定部683接收设为有可能 非法的更新模块的识别信息与监视模式的更新委托,向指示生成部603发 送监视模式的更新指示,以成为由接收到的识别信息识别的各更新模块监 视本更新模块以外的全部更新模块的监视模式。另外,在仅接收了监视模 式的更新委托的情况下,向指示生成部603发送监视模式的更新指示。

(e)确定结果发送部682

确定结果发送部682从验证结果判定部683接收干扰正常模块确定的 更新模块的确定结果,将确定结果发送给指示生成部603。

(4)软件更新系统10db中的动作

这里,用图58所示的动作图来说明软件更新系统10db中的动作。具 体说明从干扰模块确定处理至正常模块确定处理为止的处理迁移。

为了确定正常的更新模块,更新模块群130内的多个更新模块相互进 行监视,设备100db向更新服务器200db发送监视结果。更新服务器200db 接收监视结果,判断是否存在将针对监视对象的全部更新模块的监视结果 全部设为非法的更新模块(如上所述,将这种更新模块称为干扰候选模 块。)(步骤S10001)。在存在干扰候选模块的情况下,更新服务器200db从 更新模块群130中抽取全部干扰候选模块(步骤S10002)。接着,更新服务 器200db为了判断抽取到的干扰候选模块是否是干扰模块,生成新的监视 模式,以便各干扰候选模块监视其他全部干扰候选模块。之后,向设备100db 的各更新模块发送新的监视模式,控制设备100db,以更新为新的监视模式 (步骤S10003)。

设备100db的各更新模块使用新的监视模式,相互进行监视。具体地, 各干扰候选模块进行其他全部干扰候选模块的监视。更新服务器200db从 设备100db接收基于新的监视模式的监视结果,使用接收到的监视结果, 判断干扰候选模块是否为干扰模块。干扰模块对于监视对象的全部更新模 块始终判定为非法,但正常的更新模块对于正常的更新模块判定为正常。 因此,在干扰候选模块群内存在多个正常更新模块的情况下,正常的干扰 候选模块间的相互监视结果为正常。另一方面,干扰候选模块对正常的干 扰候选模块以外的干扰候选模块的监视结果全部为非法。由此,在干扰候 选模块是否为干扰模块的判断中,利用(i)2个干扰候选模块间的相互监视结 果正常,且(ii)相互判定为正常的该2个干扰候选模块在对该2个干扰候选 模块以外的干扰候选模块的监视中,判定为非法的情况下,决定为该2个 干扰候选模块不是干扰模块。不满足该条件的干扰候选模块对本干扰候选 模块以外的干扰候选模块始终判定为非法,所以确定为干扰模块(步骤 S10004)。

更新服务器200db在存在满足上述条件的干扰候选模块的情况下,抽 取不满足条件的干扰候选模块,确定为干扰模块(步骤S10005),模块无效 化部230对设备100db输出指示,以使确定的干扰模块无效化(步骤 S10006)。

另外,更新服务器200db的模块无效化部230在不存在满足上述条件 的干扰候选模块的情况下,全部干扰候选模块是干扰模块,所以向设备 100db输出指示,以使确定的干扰模块无效化(步骤S10006)。

接着,更新服务器200db更新全部更新模块的监视模式(步骤S10007), 更新模块整体进行相互监视(步骤S10001)。更新服务器200db接收更新模 块群130的监视结果,在不存在干扰候选模块的情况下,执行正常模块确 定处理(步骤S10008),确定正常的更新模块(步骤S10009)。

如上所述,通过使干扰正常模块确定的干扰模块无效化将其排除,从 而在正常模块确定处理中、用于确定正常更新模块的效率提高。

上述步骤S10001~步骤S10006是干扰模块确定处理。

(5)干扰模块确定处理及正常模块确定处理的时序

这里,用图59~图60所示的时序图来说明干扰模块确定处理及正常 模块确定处理的时序。

判断部210db的指示生成部603向监视模式更新部250发送监视模式 的生成指示,监视模式更新部250接收监视模式生成指示(步骤S11001)。 监视模式更新部250的监视模式生成部903生成整体的新监视模式,监视 模式分割部904将整体的新监视模式分割成每个更新模块的监视模式(步骤 S11002)。监视模式更新部250经通信部240和网络5向设备100db的各更 新模块发送每个更新模块的监视模式,设备100db的更新模块群130内的 各更新模块接收每个更新模块的监视模式(步骤S11003)。

更新模块群130内的各更新模块通过将旧的监视模式置换为接收到的 新的监视模式,更新监视模式(步骤S11004)。在更新为新的监视模式之后, 更新模块群130内的各更新模块利用新的监视模式,执行监视处理,与实 施方式1的相互监视处理一样,根据监视模式,进行篡改检测处理(步骤 S11005)。另外,不进行实施方式1的是否有被篡改的更新模块的判断(图 19的步骤S5004)。接着,设备100db将监视的结果经由网络5和通信部240 发送到判断部210db,判断部210db接收监视结果(步骤S11006)。

判断部210db进行干扰模块的确定处理(步骤S11007)。干扰模块确定 处理的细节如后所述。在干扰模块处理的确定中,在确定了干扰模块的情 况下,判断部210db将无效化指示与识别确定的干扰模块的识别序号一起 发送到模块无效化部230(步骤S11008)。模块无效化部230将无效化的委托 与识别确定的干扰模块的识别序号一起发送到更新模块群130内的更新模 块(步骤S11009)。接收到无效化委托的更新模块与访问控制模块140联动, 利用接收到的识别干扰模块的识别序号,使干扰模块无效化(步骤S11010)。 另外,无效化处理的细节与实施方式1的无效化处理一样,所以省略。在 干扰模块的确定处理中,判断部210db发送监视模式的生成指示,监视模 式更新部250接收监视模式的生成指示(步骤S11011)。

监视模式更新部250的监视模式生成部903根据接收到的监视模式的 生成指示,生成整体的新监视模式,监视模式分割部904将整体的新监视 模式分割成每个更新模块的监视模式(步骤S11012)。监视模式更新部250 经通信部240和网络5向设备100db的各更新模块发送每个更新模块的监 视模式,设备100db的更新模块群130内的各更新模块接收每个更新模块 的监视模式(步骤S11013)。

设备100db的更新模块群130内的各更新模块更新为新的监视模式(步 骤S11014)。在更新为新的监视模式之后,各更新模块进行相互监视处理(步 骤S11015)。设备100db发送监视结果,判断部210db接收监视结果(步骤 S11016)。

判断部210db进行正常模块的确定处理(步骤S11017)。另外,正常模 块的确定处理的细节与实施方式3一样,所以省略。

(6)相互监视的监视模式的一例

用图65所示的相互监视的监视模式实例来说明相互监视的监视模式 的一例。

图65中示出由4个干扰候选模块相互进行监视的情况实例。如图65 所示,设更新模块131、132、136和137分别作为干扰候选模块被抽取。

另外,因为更新模块131、132、136和137分别作为干扰候选模块被 抽取,所以利用监视模式更新部250,生成每个更新模块的监视模式,以便 更新模块131及132相互监视,更新模块132及137相互监视,更新模块 137及136相互监视,更新模块136及131相互监视,更新模块137及131 相互监视。另外,设利用监视模式更新部250,将每个更新模块的监视模式 发送到更新模块131、132、136及137,更新模块131、132、136及137 利用新接收到的监视模式,变更旧的监视模式,利用新的监视模式,进行 相互监视。

(7)基于相互监视的监视模式的相互监视结果的实例

用图66~图69来说明使用图65所示相互监视的监视模式实例时的相 互监视结果的实例。

另外,如图65中所述,作为一例,作为干扰候选模块的更新模块131、 132、136及137分别相互监视。

(a)相互监视结果的第1例

图66中示出使用图65所示相互监视的监视模式实例时的相互监视结 果的第1例。

在图66所示的第1例中,全部监视结果为非法。即,更新模块131、 132、136及137分别将监视对象的更新模块全部判定为非法。

(b)相互监视结果的第2例

图67中示出使用图65所示相互监视的监视模式实例时的相互监视结 果的第2例。

在图67所示的第2例中,除了更新模块131对更新模块132的监视结 果(4051)之外,其他全部监视结果为非法。

即,更新模块131对更新模块132判定为正常(4051),更新模块132 对更新模块131判定为非法。另外,更新模块131及137之间的相互监视、 更新模块132及137之间的相互监视、更新模块132及136之间的相互监 视、更新模块131及136之间的相互监视和更新模块136及137之间的相 互监视判定为非法。

(c)相互监视结果的第3例

图68中示出使用图65所示相互监视的监视模式实例时的相互监视结 果的第3例。

在图68所示的第3例中,除了更新模块131对更新模块132的监视结 果(4061)、更新模块131对更新模块137的监视结果(4063)及更新模块137 对更新模块131的监视结果(4062)之外,其他全部监视结果为非法。

即,更新模块131对更新模块132判定为正常(4061),更新模块132 对更新模块131判定为非法。另外,更新模块131对更新模块137判定为 正常(4063),更新模块137对更新模块131判定为正常(4062)。并且,更新 模块132及137之间的相互监视、更新模块132及136之间的相互监视、 更新模块131及136之间的相互监视和更新模块136及137之间的相互监 视判定为非法。

(d)相互监视结果的第4例

图69中示出使用图65所示相互监视的监视模式实例时的相互监视结 果的第4例。

在图69所示的第4例中,除了更新模块131对更新模块137的监视结 果(4072)及更新模块137对更新模块131的监视结果(4072)之外,其他全部 监视结果为非法。

即,更新模块131对更新模块137判定为正常(4072),更新模块137 对更新模块131判定为正常(4071)。另外,更新模块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示出此时的监视模式。

接着,为了使设备100db具有的更新模块执行相互监视,将生成的监 视模式发送到设备100db,让设备100db具有的更新模块执行相互监视。设 备100db接收监视模式。更新模块群130的各更新模块利用接收到的监视 模式,更新旧的监视模式,使用新更新的监视模式,相互进行监视(步骤 S12003)。设备100db将该监视结果发送到更新服务器200db。更新服务器 200db的判断部210db的干扰模块确定部608的验证结果判定部683接收相 互监视的结果(步骤S12004)。

接着,验证结果判定部683判断干扰候选模块间的监视结果中是否至 少存在1个正常。(步骤S12005)。

验证结果判定部683在干扰候选模块间的全部相互监视结果全部非 法、相互监视结果中完全不存在正常的情况下(步骤S12005为否),将全部 干扰候选模块确定为干扰模块(步骤S12006)。在图66所示实例的情况下, 在作为干扰候选模块的更新模块131、132、136和137中,因为全部相互 监视结果全部非法(图66中“×”),相互监视结果中不存在正常(“○”), 所以验证结果判定部683将更新模块131、132、136和137确定为干扰模 块。接着,将控制移动到步骤S12011。

在干扰候选模块的监视结果中至少存在1个正常的情况下(步骤 S12005为是),验证结果判定部683还判断是否存在相互判定为正常的2 个干扰候选模块(步骤S12007)。

在图67、图68和图69所示实例的情况下,干扰候选模块的监视结果 中分别至少存在1个正常。另外,在图67所示实例的情况下,不存在相互 判定为正常的2个干扰候选模块。并且,在图68所示实例的情况下,更新 模块131和137是相互将对方判定为正常的干扰候选模块。另外,在图69 所示实例的情况下,更新模块131和137是相互将对方判定为正常的干扰 候选模块。

因此,在图67所示实例的情况下,不满足步骤S12007的条件。另一 方面,在图68和图69所示实例的情况下,满足步骤S12007的条件。

在判断为不存在相互判定为正常的2个干扰候选模块的情况下(步骤 S12007为否),如图67实例中所示的更新模块131所示,若存在将监视结 果判定为正常(4051“○”)的干扰候选模块,则更新模块131对更新模块 132的判定结果为正常,但更新模块132对更新模块131的判定结果为非法。 这样,监视结果中发生矛盾。从而,验证结果判定部683将更新模块131 确定为非法更新模块。这里说明的情况是相互进行监视的2个干扰候选模 块中第1干扰候选模块对第2干扰候选模块判定为正常、但第2干扰候选 模块对第1干扰候选模块判定为非法的情况。在这种情况下,将把对方的 干扰候选模块判定为正常的干扰候选模块确定为非法更新模块(步骤 S12008a)。

接着,判断部210db为了使确定为非法更新模块的更新模块无效化, 发送无效化指示(步骤S12008b)。

之后,在图67的实例所示的情况下,因为更新模块132、136和137 将针对干扰候选模块的全部监视结果判定为非法(“×”),所以验证结果判 定部683将更新模块132、136和137确定为干扰模块。即,验证结果判定 部683将把针对全部监视对象的干扰候选模块的全部监视结果判定为非法 的干扰候选模块确定为干扰模块(步骤S12008c)。

之后,将控制移动到步骤S12011。

在存在相互判定为正常的2个干扰候选模块的情况下(步骤S12007为 是),验证结果判定部683还判断相互判定为正常(“○”)的干扰候选模块 群是否对将监视结果全部设为非法的干扰候选模块群中、相互判定为正常 (“○”)的干扰候选模块群以外的干扰候选模块判定为非法(“×”)(步骤 S12009)。在相互判定为正常(“○”)的更新模块群对将监视结果全部设为 非法的更新模块群中、更新模块群以外的更新模块判定为非法(“×”)的情 况下(步骤S12009为是),如图68所示的实例情况所示,更新模块131与更 新模块137相互判定为正常(“○”),但根据更新模块131与更新模块132 的相互监视结果,在更新模块131的监视结果中发生矛盾(更新模块132将 更新模块131判定为非法,更新模块137将更新模块131判定为正常)。并 且,更新模块137的监视结果中也发生矛盾。由此,将更新模块131与更 新模块137确定为非法更新模块(步骤S12010a)。

接着,判断部210db为了使确定为非法更新模块的更新模块131与更 新模块137无效化,发送无效化指示(步骤S12010b)。

接着,验证结果判定部683因为更新模块131及136始终将全部监视 结果判定为非法(“×”),所以将更新模块131及136确定为干扰模块(步 骤S12010c)。

之后,验证结果判定部683判断是否存在干扰候选模块相互判定为正 常(“○”)的干扰候选模块群以外的更新模块。即,判断是否存在干扰模块 (步骤S12011)。

如图69所示的实例情况所示,更新模块131与更新模块137是相互判 定为正常(“○”)的干扰候选模块群,此外存在更新模块132与更新模块 136。此时,更新模块132与更新模块136由于始终将全部监视结果判定为 非法(“×”),所以验证结果判定部683确定为是干扰模块。在存在干扰模 块的情况下(步骤S12011为是),判断部210db发送使干扰模块无效化的指 示(步骤S12012)。在不存在干扰模块的情况下(步骤S12011为否)或发送无 效化指示之后(步骤S12012),判断部210db指示监视模式更新部250生成 更新模块130整体的新的监视模式,监视模式更新部250生成更新模块群 130整体的新监视模式,向设备100db发送新监视模式(步骤S12013)。判断 部210db向设备100db的更新模块群130发送基于新监视模式的相互监视 的指示(步骤S12014)。

如上所述,在干扰模块的确定处理中,即便变更监视模式,也可通过 使始终将监视对象的更新模块判定为非法(“×”)的更新模块无效化,积极 地排除干扰正常更新模块的确定的更新模块(即干扰模块)。在排除干扰模块 之后,确定正常的更新模块,使用确定的正常更新模块,进行保护控制模 块的更新,由此可更有效地救济保护控制模块,可进一步提高系统的安全 性。

另外,通过积极地排除干扰正常更新模块的确定的更新模块,不能确 定正常的更新模块的可能性减少,可确定正常的更新模块并使用确定的正 常更新模块来尽可能更新保护控制模块。

上述中,更新模块也可以是监视模块。

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也可不是单独的模块, 而在设备内部或更新服务器内部为一个模块。

在模块无效化部230与访问控制模块140为一个模块的情况下,也可 不向更新模块发送访问信息取得密钥与加密访问信息,而向执行无效化的 更新模块直接发送访问信息。

并且,在模块无效化部230或访问控制模块140存在于设备内的情况 下,也可存在于利用耐篡改化等受保护不受攻击的区域中。

(6)在各实施方式中,更新服务器由判断部、更新用软件分发部、模块 无效化部、通信部及监视模式更新部等构成,但不限于此。判断部、更新 用软件分发部、模块无效化部、通信部及监视模式更新部等也可由1个模 块构成。或者,也可由上述各部的组合构成。

(7)在上述各实施方式中,软件更新系统在设备的工场制造时进行初始 设定处理,但不限于此。也可在出售后等工场出厂后的某处实施初始化处 理。另外,初始化处理不仅实施1次,也可实施2次以上。

(8)在上述各实施方式中,在初始设定处理中,验证用证书及认证密钥 证书是使用更新用软件分发部220保持的署名秘密密钥生成的证书,但不 限于此,也可分别使用不同密钥来生成,也可是由更新用软件分发部220 以外的证书发行装置发行的证书。

(9)在上述各实施方式中,作为初始设定处理或下一轮准备处理的动 作,将根据加解密密钥生成的分散信息发送到更新模块13x,更新模块13x 保持分散信息,但不限于此。

也可代替更新模块,由应用程序来保持分散信息,或由更新模块13x 和应用程序来保持分散信息。

(10)在上述各实施方式中,作为检测处理的动作,当更新模块13x进 行保护控制模块120的篡改检测时,利用使用验证密钥计算出的MAC值, 进行篡改检测处理,但不限于此。

也可使用保护控制模块120的篡改检测用证书来验证。另外,也可不 进行像MAC值或证书那样利用哈希值的篡改验证,而通过检查日志来进 行篡改验证。

(11)在上述各实施方式中,作为检测处理的动作,在各更新模块检测 到保护控制模块120的篡改的情况下,通知给判断部210与其他更新模块, 但不限于此。

也可通知给判断部210与其他更新模块中任一个以上模块。另外,在 检测到保护控制模块120的篡改的情况下,也可停止更新模块,或停止设 备100或保护控制模块120。并且,也可删除被篡改的保护控制模块。

并且,在各更新模块未检测到保护控制模块120的篡改的情况下,不 通知判断部210,但不限于此。作为实施了篡改检测处理的结果,也可通知 未检测到篡改。

(12)在上述各实施方式中,作为检测处理的动作,各更新模块不向其 他更新模块发送保护控制模块的篡改检测结果,但也可由各个更新模块共 享检测结果。

另外,在存在不共享检测结果的更新模块的情况下,也可将该更新模 块判断为非法更新模块并进行无效化。

(13)在上述各实施方式中,作为解析判断处理的动作,根据篡改信息 来判定是否更新保护控制模块120,但不限于此。

也可利用通知为被篡改的更新模块的数量来判定是否更新。例如,在 通知为被篡改的更新模块的数量比规定数多或相等的情况下,判定为更新, 在少的情况下,判定为不更新。这里,规定数是更新模块群中包含的全部 更新模块的数量。

另外,作为解析判断时的动作,判断是否更新保护控制模块120及是 否无效化保护控制模块120,但不限于此,也可判断是否停止设备100。

(14)在上述各实施方式中,作为相互认证处理的动作,各更新模块认 证更新用软件分发部220,之后,更新用软件分发部220认证各更新模块, 但不限于此。

也可更新用软件分发部220认证各更新模块,之后,各更新模块认证 更新用软件分发部220。另外,各更新模块与更新用软件分发部220也可单 独进行认证处理。

(15)在上述各实施方式中,作为相互认证处理的动作,在更新用软件 分发部220认证各更新模块的处理中,设挑战数据在各个更新模块中为不 同的值,但不限于此。作为挑战数据,也可在全部更新模块中为相同值, 或将全部更新模块分成多个分组,挑战数据在各个分组为不同值。

(16)在上述各实施方式中,作为相互认证处理的动作,在各更新模块 认证更新用软件分发部220的处理中,各更新模块单独认证更新用软件分 发部220,但不限于此。

也可将署名验证的结果通知给其他更新模块,在更新模块间共享验证 结果,根据本更新模块的认证结果与从其他更新模块接收到的认证结果, 分别判定更新用软件分发部220是否合法。

作为判定方法,例如有如下方法,即,在规定数(例如过半数等)的更 新模块认证成功的情况下,判定为合法,在不成功的情况下,判定为不合 法。

(17)在上述各实施方式中,作为相互认证处理的动作,更新服务器200 使用署名秘密密钥与署名公开密钥来实施相互认证处理,但不限于此。也 可除了署名秘密密钥与署名公开密钥之外,使用在相互认证中使用的认证 密钥对。

此时,更新服务器的认证密钥对中的认证公开密钥既可事先由1个更 新模块保持,也可在相互认证处理时从更新服务器发送到该更新模块。

(18)在上述各实施方式中,作为相互认证处理的动作,通过已验证为 是合法模块的更新模块的数量是否为恢复处理所需的数量以上,判定是否 实施之后的恢复处理,但不限于此。

也可通过非法更新模块的数量是否不足事先设定的允许数,判定是否 实施恢复处理。

另外,在相互认证处理中,设为在判定为不足恢复处理所需的数量的 情况下,停止设备,但此时也可使更新模块无效化。

(19)在上述各实施方式中,作为相互认证处理的动作,在更新用软件 分发部220认证各更新模块之时,各更新模块将认证公开密钥和认证密钥 证书与响应数据一起发送给更新用软件分发部220,但不限于此。

各更新模块也可分别以不同时间将认证公开密钥和认证密钥证书与响 应数据一起发送。

另外,认证公开密钥或认证密钥证书也可仅在从更新用软件分发部 220有请求时才分别发送。此时,更新用软件分发部220既可接收全部更新 模的认证公开密钥或认证密钥证书,也可接收事先设定的恢复处理所需的 数量以上数量的更新模块的认证公开密钥或认证密钥证书,或也可接收不 足事先设定的非法更新模块允许数的更新模块的认证公开密钥与认证密钥 证书。

(20)在上述各实施方式中,作为恢复处理的动作,使监视处理时在1 次解密中(监视3-1、3-2、5-1、5-2)实施2次,但不限于此。既可与解密处 理的时间匹配来进行几次监视处理,或即便在解密处理之外,也可在密钥 或更新用保护控制模块的接收处理时或检测处理时、相互认证处理时进行 监视处理。

另外,设为以规定时间间隔定期实施监视处理,但不限于此。也可将 更新处理分割成多个块,每当该块的处理结束时实施,或以随机的时间间 隔实施,或以从更新服务器指定的时间间隔实施。

另外,各更新模块也可从外部服务器取得表示执行监视处理的时间的 同步信息,根据取得的同步信息,执行监视处理。由此,各更新模块可以 与其他更新模块相同的时间执行监视处理,所以可使非法更新模块的检测 精度提高。

并且,也可变更通常时与恢复处理时的检测频度。检测频度的变更也 可在恢复处理中。

(21)在上述实施方式2或实施方式3中,说明为循环监视模式内的更 新模块的数量为3个,但不限于此。也可是4个以上的更新模块单向循环 验证。

(22)在上述实施方式2或实施方式3中,在单向循环验证的结果全部 正常的情况下,将循环监视模式内的多个更新模块作为一群处理,但不限 于此。也可在一组更新模块相互监视,验证结果均正常的情况下,将一组 更新模块作为一群处理。此时,在相互监视的更新模块对同一更新模块的 验证结果不一致的情况下,将一组更新模块全部确定为非法更新模块。

用图70所示的监视结果实例来说明。更新模块131与更新模块132 这一组更新模块相互监视,验证结果均正常(3101、3102)。此时,因为更新 模块131对更新模块132的验证结果(3103)与更新模块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所示的监视结果实例来具体说明。

设更新服务器200bb在相互监视处理中接收图71的监视结果,且在下 一次相互监视处理中接收图72的监视结果。

在图71所示的实例中,更新模块137对更新模块136的监视结果为非 法(3112),更新模块136对更新模块137的监视结果也为非法(3111)。其他 监视结果为正常。

另外,在图72所示的实例中,更新模块132对更新模块135的监视结 果为非法(3115),更新模块133对更新模块135的监视结果也为非法(3114)。 另外,更新模块137对更新模块133的监视结果为非法(3113)。且更新模块 137对更新模块136的监视结果为非法(3112),更新模块136对更新模块137 的监视结果也为非法(3111)。其他监视结果为正常。

在图71中作为一例示出的监视结果中,若执行非法模块的确定处理, 则可确定更新模块137是非法更新模块。非法更新模块只要未在无效化处 理中从设备100内删除,则作为非法更新模块继续存在。因此,在下面的 相互监视处理中,将一次被确定为非法更新模块的更新模块判定为正常更 新模块的更新模块是非法更新模块。由此,可确定图72所示的更新模块135 也为非法更新模块。这是因为更新模块135将确定为非法的更新模块137 判定为正常。

(26)在上述实施方式2中,在一次相互监视处理的监视结果中,确定 非法更新模块,但不限于此。

也可根据多次相互监视处理的监视结果,确定非法更新模块。用图73 和图74所示监视结果的实例来具体说明。

设更新服务器200bb在相互监视处理中接收图73所示的监视结果,且 在下一次相互监视处理中接收图74所示的监视结果。

在图73所示的实例中,更新模块137对更新模块136的监视结果为非 法(3121),更新模块136对更新模块137的监视结果也为非法(3122)。另外, 更新模块135对更新模块137的监视结果为非法(3126),更新模块137对更 新模块133的监视结果也为非法(3123)。其他监视结果为正常。

在图74所示的实例中,更新模块137对更新模块136的监视结果为非 法(3121),更新模块136对更新模块137的监视结果也为非法(3122)。另外, 更新模块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的正常 模块确定处理,但不限于此,也可进行变形例(29)中记载的正常模块确定处 理。

(35)在上述实施方式4中,在存在将针对对象更新模块的监视结果全 部判定为非法的更新模块(即干扰候选模块)的情况下,在步骤S12002中, 更新监视模式。在更新监视模式之后,根据监视结果判断是否有干扰模块, 但不限于此。在存在多个将针对对象更新模块的监视结果全部判定为非法 的更新模块(即干扰候选模块)的情况下,若将针对对象更新模块的监视结果 全部判定为非法的更新模块相互判定为非法,则也可发送相互判定为非法 的更新模块的无效化指示。

另外,在上述实施方式4中,在仅存在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。

内容再生系统10e如图75所示,由BD再生装置100e、监视器20e 及家庭服务器装置200e构成,BD再生装置100e、监视器20e及家庭服务 器装置200e经家庭网络30e相互连接。

家庭服务器装置200e经互联网40e,从连接于互联网40e的内容服务 器装置(未图示)取得内容。内容作为一例,压缩映像数据和声音数据再加密 来构成。家庭服务器装置200e经家庭网络30e将取得的内容发送到BD再 生装置100e。

BD再生装置100e从家庭服务器装置200e接收内容,将接收到的内容 记录在BD(Blu-ray Disc)中。另外,BD再生装置100e扩展BD中记录的内 容的被加密、压缩后的映像数据及声音数据,生成映像信号及声音信号, 将生成的映像信号及声音信号经家庭网络30e输出到监视器20e。监视器 20e接收映像信号及声音信号,利用接收到的映像信号及声音信号,显示映 像,输出声音。

BD再生装置100e相当于上述各实施方式的各软件更新系统的设备, 或相当于各篡改监视系统的信息安全装置,具有与该设备或该信息安全装 置一样的构成。BD再生装置100e具有的应用程序一例是用于解密被加密 的数据的计算机程序,另外,另一例是用于解压被压缩的映像数据及声音 数据的计算机程序。

另外,家庭服务器装置200e相当于各软件更新系统的更新服务器,或 相当于各篡改监视系统的管理装置,具有与更新服务器或管理装置一样的 构成。

(41)各系统的适用例(2)

上述各实施方式的各系统如图76所示,也可以是移动银行业务系统 10f。

移动银行业务系统10f如图76所示,由便携电话100f、无线基站50f、 银行服务器装置40f及更新服务器装置200f构成。便携电话100f经无线基 站50f、便携电话网20f及互联网30f连接于更新服务器装置200f及银行服 务器装置40f。

银行服务器装置40f存储相当于银行利用者的户头的户头文件。户头 文件包含交易数据。交易数据包含交易的种类、金额、日期、对方的识别 信息等。

便携电话100f作为一例,利用操作者的指示,经无线基站50f、便携 电话网20f及互联网30f,对银行服务器装置40f请求从操作者的户头到交 易对象的户头的转帐。银行服务器装置40f根据转帐的请求,进行从操作 者的户头到交易对象的户头的转帐。

便携电话100f在与银行服务器装置40f之间收发数据时,进行使用数 字署名的相互设备认证。另外,请求数据的加密。银行服务器装置40f根 据转帐的请求,执行从操作者的户头到交易对象的户头的转帐。

在便携电话100f与银行服务器装置40f之间通信时,便携电话100f 及银行服务器装置40f分别进行使用数字署名的相互设备认证。另外,在 当便携电话100f与银行服务器装置40f之间进行数据的收发时,便携电话 100f及银行服务器装置40进行数据的加密及加密数据的解密。

便携电话100f相当于各实施方式的各软件更新系统的设备,或相当于 各篡改监视系统的信息安全装置,具有与设备或信息安全装置一样的构成。 便携电话100f具有的应用程序一例是用于加密数据的计算机程序或用于解 密被加密数据的计算机程序,另外,另一例是用于与通信对方的装置之间 使用数字署名进行设备认证的计算机程序。

更新服务器装置200f相当于各实施方式的各软件更新系统的更新服务 器,或相当于各篡改监视系统的管理装置。

(42)上述实施方式1和实施方式2中说明的更新服务器200、200a、200b 也可分别构成为具有生成设备100、100a、100b的更新模块群进行相互监 视处理时的监视模式的监视模式生成部。另外,更新服务器200、200a、200b 将生成的监视模式发送到设备100、100a、100b,设备100、100a、100b 接收监视模式。设备100、100a、100b根据接收到的监视模式进行相互监 视处理。

具体地,实施方式2的更新服务器200a和200b生成包含循环监视模 式的监视模式即可。设备100a和100b通过使用包含循环监视模式的监视 模式,进行相互监视处理,可使在后进行的更新服务器200a和200b的非 法模块确定处理的处理效率提高。

(43)上述各装置具体而言是由微处理器、ROM、RAM、硬盘单元、显 示器单元、键盘、鼠标等构成的计算机系统。在所述RAM或硬盘单元中 存储有计算机程序。通过所述微处理器根据所述计算机程序动作,各装置 实现其功能。这里,计算机程序为了实现规定功能,组合多个表示对计算 机的指令的命令代码来构成。

(44)构成上述各装置的构成要素的一部分或全部也可由一个系统 LSI(Large Scale Integration:大规模集成电路)构成。系统LSI是将多个构成 部集成在一个芯片上来制造的超多功能LSI,具体而言,是包含微处理器、 ROM、RAM等来构成的计算机系统。所述RAM中存储有计算机程序。通 过所述微处理器根据所述计算机程序动作,系统LSI实现其功能。

另外,构成上述各装置的构成要素的各部既可单独单芯片化,也可以 包含一部分或全部的方式单芯片化。

另外,这里设为系统LSI,但也可根据集成度的不同,称为IC、LSI、 超(super)LSI、超级(ultra)LSI。另外,集成电路化的方法不限于LSI,也可 由专用电路或通用处理器来实现。另外,也可在LSI制造之后,利用可编 程的FPGA(Field Programmalbe Gate Array)、或可重构LSI内部的电路单元 的连接或设定的可重构处理器。

并且,若因半导体技术的进步或派生的其他技术出现置换LSI的集成 电路化技术,则当然也可使用该技术来进行功能块的集成化。可适用生命 技术等。

(45)构成上述各装置的构成要素的一部分或全部也可由可拆装于各装 置上的IC卡或单体模块构成。所述IC卡或所述模块是由微处理器、ROM、 RAM等构成的计算机系统。所述IC卡或所述模块也可包含上述超多功能 LSI。微处理器根据计算机程序动作,从而所述IC卡或所述模块实现其功 能。该IC卡或该模块也可具有耐篡改性。

(46)本发明也可是上述所示的方法。另外,也可是由计算机实现这些 方法的计算机程序,或由所述计算机程序构成的数字信号。

另外,本发明也可将所述计算机程序或所述数字信号记录在计算机可 读取记录媒体、例如软盘、硬盘、CD-ROM、MO、DVD、DVD-ROM、 DVD-RAM、BD(Blu-ray Disc)、半导体存储器等中。另外,也可是记录在 这些记录媒体中的所述数字信号。

另外,本发明也可经由电气通信线路、无线或有线通信线路、以互联 网为代表的网络、数据广播等来传送所述计算机程序或所述数字信号。

另外,本发明也可以是具备微处理器与存储器的计算机系统,所述存 储器存储上述计算机程序,所述微处理器根据所述计算机程序动作。

另外,也可通过将所述程序或所述数字信号记录在所述记录媒体中移 送,或通过将所述程序或所述数字信号经由所述网络等移送,由独立的其 他计算机系统来实施。

(47)也可使上述实施方式和上述变形例分别组合。

<汇总>

作为本发明一实施方式的软件更新系统包含存储规定应用的软件更新 装置、以及与该软件更新装置连接的管理装置,所述软件更新装置包含验 证所述规定应用是否未被篡改的保护控制模块、以及更新所述保护控制模 块的多个更新模块,所述多个更新模块进行其他更新模块是否未进行非法 动作的验证,将所述验证结果发送到所述管理装置,所述管理装置包含从 所述多个更新模块接收所述验证结果的通信部、以及控制部,所述控制部 根据所述接收到的验证结果,判断有可能进行非法动作的更新模块,将使 判断为有可能进行所述非法动作的更新模块无效化的指示发送到所述软件 更新装置,所述控制部以所述多个更新模块中的第1更新模块为判断对象, 假定所述第1更新模块正常,并以该假定为前提,在所述第1更新模块和 所述第1更新模块验证为正常的第2更新模块验证共同的第3更新模块的 情况下,且所述第1更新模块的验证结果与所述第2更新模块的验证结果 不一致的情况下,将所述假定作为误判断,判断为所述第1更新模块有可 能进行非法动作。

根据该构成,将用于更新保护控制模块的更新模块作为包含多个更新 模块的更新模块群,多个更新模块相互验证是否未进行非法动作,由此所 述更新模块群的内部自验证所述更新模块的篡改,所以可防止所述更新模 块的篡改或干扰所述更新模块的正常动作。结果,可防止经进行非法动作 的更新模块将保护控制模块更新为非法的保护控制模块,防止通过所述非 法的保护控制模块攻击所述规定的应用。

另外,所述管理装置使用从所述多个更新模块的各个更新模块接收到 的验证结果,通过将判断对象的更新模块假定为正常更新模块,在该假定 中存在矛盾的情况下,判断所述判断对象的更新模块有可能进行非法动作。 因此,即便在被篡改的更新模块将未被篡改的其他更新模块伪装成“被篡 改”后通知管理装置的情况下,也可适当确定有可能进行非法动作的更新 模块。

另外,所述管理装置通过进行使判断为有可能进行所述非法动作的更 新模块无效化的指示,可防止无效化未被篡改的更新模块,另外,可防止 被篡改的更新模块未被无效化而原样残留于更新模块群内。

另外,作为本发明一实施方式的软件更新系统包含存储规定应用的软 件更新装置、以及与该软件更新装置连接的管理装置,所述软件更新装置 包含验证所述规定应用是否未被篡改的保护控制模块、以及更新所述保护 控制模块的多个更新模块,所述多个更新模块分别进行其他更新模块是否 未进行非法动作的验证,将所述验证结果发送到所述管理装置,所述管理 装置包含从所述多个更新模块接收所述验证结果的通信部、以及控制部, 所述控制部根据所述接收到的验证结果,判断有可能进行非法动作的更新 模块,将使判断为有可能进行所述非法动作的更新模块无效化的指示发送 到所述软件更新装置,所述控制部决定在所述多个更新模块间对于哪个更 新模块进行验证的组合,将表示该组合的组合信息发送到所述软件更新装 置,所述组合中包含所述多个更新模块中的一部分的多个更新模块单向循 环依次验证的规定关系,根据所述验证结果,在单向循环验证所述规定关 系中包含的多个更新模块的结果是判断为所述规定关系中包含的多个更新 模块全部正常,且所述规定关系中包含的多个更新模块的判断之中的某一 个存在矛盾的情况下,判断为所述规定关系中包含的多个更新模块全部有 可能进行非法动作。

即,所述管理装置在决定在多个更新模块间进行哪个更新模块的验证 处理的组合时,设为包含多个更新模块中的一部分更新模块单向循环依次 验证的规定关系。

然后,所述规定关系中包含的多个更新模块单向循环验证的结果是判 断为所述规定关系中包含的多个更新模块全部正常,且所述规定关系中包 含的多个更新模块的判断之中的某一个存在矛盾的情况下,可将处于所述 规定关系中的多个更新模块作为一群处理,判断为所述规定关系中包含的 多个更新模块全部有可能进行非法动作。

由此,与对一个个更新模块判断是否有可能进行非法动作的情况相比, 可格外提高处理效率。

这里,所述控制部在单向循环验证所述规定关系中包含的多个更新模 块的结果是判断为某更新模块有可能进行非法动作的情况下,不对所述规 定关系中包含的多个更新模块进行是否有可能进行非法动作的判断。

此时,不能将所述规定关系中包含的多个更新模块作为一群处理。然 后,若另外存在处于所述规定关系中的多个更新模块,则只要移动到将该 多个更新模块作为一群判断的处理即可。

这里,所述控制部在单向循环验证所述规定关系中包含的多个更新模 块的结果是判断为所述规定关系中包含的多个更新模块全部正常,且所述 规定关系中包含的多个更新模块的判断之中的某一个没有矛盾的情况下, 不对所述规定关系中包含的多个更新模块进行是否有可能进行非法动作的 判断。

此时也可处理为:不能将处于所述规定关系的多个更新模块作为一群 处理来进行是否有可能进行非法动作的判断。之后,若另外存在处于所述 规定关系中的多个更新模块,则只要移动到将该多个更新模块作为一群判 断的处理即可。

这里,所谓所述规定关系是如下关系,即在存在第1更新模块、第2 更新模块及第3更新模块3个更新模块的情况下,第1更新模块进行第2 更新模块的篡改检测,第2更新模块进行第3更新模块的篡改检测,第3 更新模块进行第1更新模块的篡改检测。即,指第1更新模块、第2更新 模块及第3更新模块单向循环依次进行篡改检测处理的关系。

这里,所述规定关系中包含的多个更新模块中至少两个更新模块验证 共同的其他更新模块,所述控制部在所述两个更新模块对所述共同的其他 更新模块的验证结果矛盾的情况下,判断为所述规定关系中包含的多个更 新模块的判断之中的某一个存在矛盾。

在这种情况下,可发现所述规定关系中包含的多个更新模块所进行的 判断的矛盾。

这里,所述共同的其他更新模块也可是所述规定关系中包含的更新模 块。

由此,即便在所述规定关系中包含的多个更新模块之外不存在更新模 块的情况下,也可发现所述规定关系中包含的多个更新模块所进行的判断 的矛盾。

这里,所述共同的其他更新模块也可是所述规定关系中未包含的更新 模块。

由此,也可使用所述规定关系中包含的多个更新模块以外的更新模块, 发现所述规定关系中包含的多个更新模块所进行的判断的矛盾。

这里,所述规定关系中包含的多个更新模块中至少一组更新模块相互 验证,所述控制部在所述一组更新模块的验证结果相互矛盾的情况下,判 断为所述规定关系中包含的多个更新模块的判断之中的某一个存在矛盾。

这样,也可在检测多个更新模块所进行的判断的矛盾中使用一组更新 模块相互进行验证的关系。因此,在不存在所述规定关系中包含的多个更 新模块以外的更新模块的情况下,也可发现所述规定关系中包含的多个更 新模块所进行的判断的矛盾。

这里,所述管理装置的所述控制部从所述规定关系中包含的更新模块 的数量最小的开始,依次判断是否有可能所述规定关系中包含的多个更新 模块全部进行非法动作。

规定关系中包含的更新模块的数量少的被判断为其中包含的全部更新 模块正常的可能性高。因此,通过从所述规定关系中包含的更新模块的数 量最小的开始优先进行处理,可有效地排除有可能进行非法动作的更新模 块。

这里,所述管理装置的所述控制部在存在所述规定关系中包含的多个 更新模块的数量相同的多个规定关系的情况下,从包含更多由所述规定关 系中未包含的其他更新模块监视的更新模块的规定关系开始,依次判断是 否有可能所述规定关系中包含的多个更新模块全部进行非法动作。

根据该构成,在判断为有可能规定关系中包含的多个更新模块全部进 行非法动作之后,可在对所述规定关系中未包含的更新模块判断是否有可 能进行非法动作时,对更多的更新模块进行判断。

这里,所述管理装置具备存储部,存储表示所述规定关系中包含的多 个更新模块的关系列表,所述控制部根据所述存储部中存储的关系列表, 确定所述规定关系中包含的更新模块的数量最小的规定关系。另外,所述 关系列表也可按所述规定关系中包含的多个更新模块的数量从少到多的顺 序来配置所述规定关系中包含的多个更新模块。

由此,所述判断部可迅速确定所述规定关系中包含的更新模块的数量 最小的规定关系。

这里,在所述软件更新装置中,所述规定应用被使用规定加密密钥来 加密,对应于所述规定加密密钥的解密密钥根据规定分散法分散为多个分 解密钥,将所述多个分散密钥分别分配给所述更新模块,将所述多个更新 模块分别配置成为虚拟多边形的端点,保有分配给本更新模块的分散密钥, 并且保有分配给相邻的其他两个更新模块的分散密钥,所述保护控制模块 从所述更新模块取得所述分散密钥中的至少3个,复原所述解密密钥,所 述规定关系中包含的多个更新模块由3个更新模块构成,所述规定关系中 包含的3个更新模块是由一个更新模块和与所述一个更新模块保有的分散 密钥对应的相邻的其他两个更新模块构成的3个更新模块之外的3个更新 模块。

根据该构成,由于将根据所述解密密钥生成的多个分散密钥分配给所 述更新模块,所以即便非法解析者解析所述保护控制模块,也不能取得所 述解密密钥。因此,可保证所述规定应用的机密性。

另外,所述多个更新模块分别配置成为虚拟多边形的端点,各更新模 块保有分配给本更新模块的分散密钥,并且保有分配给相邻的其他两个更 新模块的分散密钥,所以即便在使部分更新模块无效化的情况下,也可再 生解密密钥。

另外,即便在判断为所述规定关系中包含的3个更新模块全部有可能 进行非法动作而被无效化的情况下,也因为能够可靠保留保有各分散密钥 的更新模块,所以所述保护控制模块可复原解密密钥。

另外,作为本发明一实施方式的管理装置可与软件更新装置连接,所 述软件更新装置存储验证规定应用是否未被篡改的保护控制模块和更新所 述保护控制模块的多个更新模块,所述多个更新模块进行其他更新模块是 否未进行非法动作的验证,所述管理装置包含从所述软件更新装置接收所 述验证结果的通信部、以及控制部,所述控制部根据所述接收到的验证结 果,判断有可能进行非法动作的更新模块,将使判断为有可能进行所述非 法动作的更新模块无效化的指示发送到所述软件更新装置,所述控制部决 定在所述多个更新模块间对哪个更新模块进行验证的组合,将表示该组合 的组合信息发送到所述软件更新装置,所述组合中包含所述多个更新模块 中的一部分的多个更新模块单向循环依次验证的规定关系,根据所述验证 结果,在单向循环验证所述规定关系中包含的多个更新模块的结果是判断 为所述规定关系中包含的多个更新模块全部正常,且所述规定关系中包含 的多个更新模块的判断之中的某一个存在矛盾的情况下,判断为所述规定 关系中包含的多个更新模块全部有可能进行非法动作。

另外,作为本发明一实施方式的非法模块确定方法是在软件更新系统 中,管理装置从多个更新模块中判断有可能进行非法动作的更新模块的方 法,所述软件更新系统包含软件更新装置与所述管理装置,所述软件更新 装置具有存储单元,存储规定应用、验证所述规定应用是否未被篡改的保 护控制模块、以及更新所述保护控制模块的所述多个更新模块;和控制单 元,进行控制,使所述多个更新模块进行其他更新模块是否未进行非法动 作的验证,将所述验证结果发送到所述管理装置,所述管理装置具有从所 述多个更新模块接收所述验证结果的通信部、以及控制部,所述控制部根 据所述接收到的验证结果,判断有可能进行非法动作的更新模块,将使判 断为有可能进行所述非法动作的更新模块无效化的指示发送到所述软件更 新装置,其中,决定在所述多个更新模块间对哪个更新模块进行验证的组 合,将表示该组合的组合信息发送到所述软件更新装置,所述组合中包含 所述多个更新模块中的一部分的多个更新模块单向循环依次验证的规定关 系,根据所述验证结果,在单向循环验证所述规定关系中包含的多个更新 模块的结果是判断为所述规定关系中包含的多个更新模块全部正常,且所 述规定关系中包含的多个更新模块的判断之中的某一个存在矛盾的情况 下,判断为所述规定关系中包含的多个更新模块全部有可能进行非法动作。

另外,本发明是确定在经由网络连接的信息处理装置上动作的非法 模块并使该非法模块无效化的非法模块确定装置,其特征在于,具备: 接收单元,从进行篡改检测的多个模块,接收篡改检测结果;判断单元, 将所述多个模块中的一个假定为正常模块,根据所述假定,判断接收到 的多个篡改检测结果中有无矛盾,在有矛盾的情况下,将假定为正常模 块的所述模块确定为非法模块;和无效化单元,输出被确定的非法模块 的无效化指示。

这里,其特征在于,所述判断单元具备:假定单元,从所述多个模块 中选择一个,假定为正常模块;重复单元,将由所述假定单元最初假定为 正常模块的模块作为起点,将该模块所进行的篡改检测处理的结果中未检 测到篡改的检测对象模块假定为正常模块,接着将该新假定为正常的模块 所进行的篡改检测处理的结果中未检测到篡改的更加新的检测对象模块假 定为正常模块,下面,以将新的检测对象模块判定为非正常的模块为终点, 在到达终点之前,重复依次使进行篡改检测处理侧的模块、检测对象模块 转移并假定为正常模块的处理;假定正常模块存储单元,存储所述假定单 元和所述重复单元假定为正常模块的模块所进行的识别信息;矛盾检测单 元,参照假定正常模块存储单元中存储的识别信息,对照从起点至终点的 模块的篡改检测结果,检测是否有矛盾;和确定单元,在检测到矛盾的情 况下,将所述假定单元假定的模块确定为非法模块。

这里,其特征在于,还具备:置换单元,在所述判断单元在所述重复 单元的处理中,在利用到达终点模块之前的任一检测对象模块与起点模块 一致来认定在一圈模块间单向进行篡改检测处理的情况下,进行将一圈模 块全部置换为一个正常模块的处理。

产业上的可利用性

本发明可在制造和销售对信息处理装置提供软件的更新服务器的产业 中,用作所述更新服务器确定在信息处理装置上动作的非法软件且安全地 更新软件的技术。

符号说明

10、10a、10b 软件更新系统

100、100b 设备

100a 信息处理装置

110、111 应用

120 保护控制模块

130、130b 更新模块群

131~137 更新模块

140 访问控制模块

200、200b 更新服务器

200a 非法模块确定装置

210、210b 判断部

210a 判断单元

220 更新用软件分发部

230 模块无效化部

240 通信部

301 接收部

302 发送部

303 控制部

304 更新部

305 验证部

306 值生成部

307 MAC值表更新部

308 分散信息保持部

401 接收部

402 发送部

403 控制部

404 解密加载部

405 检测部

406 解析工具检测部

407 加解密密钥保持部

408 加解密密钥生成部

409 加解密密钥分散部

410 证书生成部

411 加解密密钥复原部

501 接收部

502 发送部

503 访问信息保持部

561 确定指示接收部

601 接收部

602 发送部

603 指示生成部

604、604b 模块确定部

605 非法模块确定部

606 循环检测部

651 确定指示接收部

652 确定结果发送部

653 正常模块假定部

654 验证结果判定部

654 证结果判定部

655 假定正常更新模块群抽取部

656 矛盾检测部

657 循环监视模式取得部

661 取得指示接收部

662 循环监视模式发送部

663 循环监视模式取得部

664 已取得循环监视模式存储部

665 监视模式存储部

666 循环监视模式存储部

701 接收部

702 发送部

703 加密密钥生成部

704 加密处理部

705 认证部

706 更新模块选择部

707 控制部

708 证书生成部

709 署名秘密密钥保持部

710 更新用软件保持部

711 加密密钥保持部

801 接收部

802 发送部

803 访问信息取得密钥保持部

804 模块选择部

804 更新模块选择部

2320 无效化单元

2330 假定正常模块群存储单元

2340 假定单元

2350 假定正常模块群生成单元

2360 矛盾检测单元

2370 确定单元

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号