CN102224509A - 监视系统、程序执行装置、监视程序、记录介质及集成电路 - Google Patents

监视系统、程序执行装置、监视程序、记录介质及集成电路 Download PDF

Info

Publication number
CN102224509A
CN102224509A CN2009801464335A CN200980146433A CN102224509A CN 102224509 A CN102224509 A CN 102224509A CN 2009801464335 A CN2009801464335 A CN 2009801464335A CN 200980146433 A CN200980146433 A CN 200980146433A CN 102224509 A CN102224509 A CN 102224509A
Authority
CN
China
Prior art keywords
update module
module
mentioned
update
monitored object
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2009801464335A
Other languages
English (en)
Other versions
CN102224509B (zh
Inventor
前田学
海上勇二
布田裕一
松崎枣
野仲真佐男
静谷启树
酒井正夫
矶边秀司
小泉英介
长谷川真吾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of CN102224509A publication Critical patent/CN102224509A/zh
Application granted granted Critical
Publication of CN102224509B publication Critical patent/CN102224509B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种即使在将不正当的更新模块无效化的情况下也能够维持安全强度的监视系统、程序执行装置。在设备(100)中,更新模块(131~133)监视在各自具有的监视模式所表示的监视目标的模块中是否进行了不正当动作。将进行了不正当动作的更新模块通过来自更新服务器(200)的指示无效化,通过更新服务器(200)重构监视模式,以使得除了被无效化的更新模块以外的其余模块分别被至少1个更新模块监视,并对各更新模块发布。

Description

监视系统、程序执行装置、监视程序、记录介质及集成电路
技术领域
本发明涉及监视在设备内部中动作的程序的不正当动作的监视系统、程序执行装置。
背景技术
近年来,对在个人计算机、数字广播接收机等的设备上执行的程序的攻击增加,通过程序的篡改等进行的不正当动作成为较大的问题。
对于该问题,在专利文献1中,公开了许多程序进行篡改的相互监视,提高对1个程序的篡改检测的可靠性的技术。具体而言,如图61所示,监视模块A、B分别由应保护不受攻击者篡改的程序(本体程序A、B)、用来检测其他模块是否被篡改的程序(检查程序A、B)、以及篡改检测对象程序的散列(hash)值等各个检查程序为了进行篡改检测而需要的信息(检查信息A、B)构成。
在上述结构中,检查程序A使用检查信息A进行监视模块B的本体程序B和检查程序B的篡改检测。另一方面,检查程序B使用检查信息B进行监视模块A的本体程序A和检查程序A的篡改检测。根据该结构,只要检查程序A、B没有同时被篡改,就能够检测到对本体程序A、B、或检查程序A、B进行的篡改。
现有技术文献
专利文献
专利文献1:日本专利第3056732号公报(第4-6页,图2)
专利文献2:WO2008/099682
非专利文献1:岡本龍明、山本博資,「現代暗号」(现代加密),産業図書(1997年)
非专利文献2:ITU-T Recommendation X.509(1997E):Information Technology-Open Systems Interconnection-The Directory:Authentication Framework,1997
发明概要
发明要解决的问题
但是,在上述以往的结构中,在有被篡改的监视模块的情况下,通过使该监视模块无效化,能够防止被篡改的监视模块的不正当动作,但对于由该无效化的更新模块所监视的更新模块,不能被其他模块监视,作为系统的安全强度下降。
即使做成多个(例如10个)监视模块监视1个监视模块的结构,在使多个监视模块中的某个无效化的情况下,监视1个监视模块的监视模块减少为9个,作为系统的安全强度下降的情况没有改变,以后,每当被无效化的监视模块的数量增加,安全强度就急剧地下降。
此外,在使监视模块无效化的情况下,有即使新增加单独的监视模块,也不存在监视追加的更新模块的更新模块,有不能维持安全强度的问题。
发明内容
鉴于该问题,本发明的目的是提供一种即使将不正当的更新模块无效化、或追加新的更新模块的情况下也能够维持安全强度的监视系统、程序执行装置、监视程序、记录介质及集成电路。
用于解决问题的手段
为了解决上述以往的问题,作为本发明的一技术方案的监视系统,由程序执行装置和服务器装置构成,其特征在于,上述程序执行装置具备多个模块;上述多个模块中的至少两个是监视其他模块的不正当动作的监视模块;上述监视模块分别具备:保持机构,保持表示作为不正当动作的监视对象的1个以上的模块的监视目标信息;监视机构,监视由上述监视目标信息表示的模块的不正当动作;发送机构,将上述监视的结果发送给服务器装置;以及更新机构,在从上述服务器装置取得了更新用的新监视目标信息的情况下,将由上述保持机构保持的监视目标信息更新为该新监视目标信息;上述服务器装置具备:收集机构,收集上述监视模块各自进行的上述监视的结果;确定机构,基于上述收集到的全部监视结果,确定全部模块之中的进行不正当动作的模块;以及发送机构,保持有与上述监视模块分别保持的监视目标信息相同的监视目标信息,对监视目标信息进行重构,以使得从全部模块中除去上述确定的模块以外的其余模块分别被至少1个监视模块监视,对通过该重构而在监视目标信息中发生变更的监视模块发送相应的变更后的新监视目标信息。
发明效果
作为本发明的一技术方案的监视系统通过具备上述结构,在作为监视对象的模块或监视其他模块的模块进行了不正当动作的情况下,即使将不正当动作的模块无效化等,通过将监视目标信息重构并更新,也能够防止存在没有被其他模块监视的模块,防止作为系统而安全强度下降。
附图说明
图1是本发明的实施方式1的软件更新系统10的整体结构图。
图2是本发明的实施方式1的设备100的结构图。
图3是本发明的实施方式1的更新模块组130的结构图。
图4是本发明的实施方式1的硬件结构图。
图5是本发明的实施方式1的更新服务器200的结构图。
图6是本发明的实施方式1的更新模块的结构图。
图7是本发明的实施方式1的监视模式信息的结构图。
图8是本发明的实施方式1的更新模块主体的结构图。
图9是本发明的实施方式1的保护控制模块120的结构图。
图10是本发明的实施方式1的访问控制模块140的结构图。
图11是本发明的实施方式1的判断部210的结构图。
图12是本发明的实施方式1的更新用软件发布部220的结构图。
图13是本发明的实施方式1的模块无效化部230的结构图。
图14是本发明的实施方式1的模块追加部240的结构图。
图15是本发明的实施方式1的监视模式更新部250的结构图。
图16是本发明的实施方式1的软件更新系统10的流程图。
图17是本发明的实施方式1的软件更新系统10的初始设计时的动作概要图。
图18是本发明的实施方式1的初始设计处理的序列图。
图19是本发明的实施方式1的初始设计处理(更新模块初始化处理)的流程图。
图20是本发明的实施方式1的检测处理的序列图。
图21是本发明的实施方式1的分析/判断处理的序列图。
图22是本发明的实施方式1的分析/判断处理(通常时判断处理)的序列图。
图23是本发明的实施方式1的分析/判断处理(相互监视处理)的序列图。
图24是本发明的实施方式1的分析/判断处理(通常时无效化判断处理)的流程图。
图25是本发明的实施方式1的无效化处理的序列图。
图26是本发明的实施方式1的分析/判断处理(追加判断处理)的流程图。
图27是本发明的实施方式1的追加处理的序列图。
图28是本发明的实施方式1的分析/判断处理(监视模式更新判断处理)的流程图。
图29是本发明的实施方式1的相互认证处理的序列图。
图30是本发明的实施方式1的相互认证处理的序列图。
图31是本发明的实施方式1的恢复处理的流程图。
图32是本发明的实施方式1的恢复处理的序列图。
图33是本发明的实施方式1的恢复处理(更新处理)的序列图。
图34是本发明的实施方式1的恢复处理(更新处理)的序列图。
图35是本发明的实施方式1的恢复处理(恢复时相互监视处理)的序列图。
图36是本发明的实施方式1的恢复处理(恢复时判断处理)的流程图。
图37是本发明的实施方式1的恢复处理(再加密处理)的序列图。
图38是本发明的实施方式1的恢复处理(恢复时无效化判断处理)的流程图。
图39是本发明的实施方式1的下一轮准备处理的序列图。
图40是本发明的实施方式1的监视模式的更新例的图。
图41是本发明的实施方式1的通常时的处理的优先顺位的图。
图42是本发明的实施方式1的恢复时的处理的优先顺位的图。
图43是本发明的实施方式2的更新模块的结构图。
图44是本发明的实施方式2的监视模式更新验证例的图。
图45是本发明的实施方式2的监视模式更新部250的结构图。
图46是本发明的实施方式2的监视模式更新处理的序列图。
图47是本发明的实施方式2的向新监视模式的更新处理的序列图。
图48是本发明的实施方式3的更新模块组130的结构图。
图49是本发明的实施方式3的更新模块保持的共享信息的结构例的图。
图50是本发明的实施方式3的分析/判断处理(通常时无效化判断处理)的流程图。
图51是本发明的实施方式3的更新模块半数以上有危险的例子的图。
图52是本发明的实施方式3的更新模块的3个有危险的例子的图。
图53是本发明的实施方式3的更新模块131的两相邻的更新模块有危险的例子的图。
图54是本发明的实施方式3的恢复处理(恢复时判断处理)的流程图。
图55是本发明的变形例1的恢复处理(更新处理)的序列图。
图56是本发明的变形例1的恢复处理(更新处理)的序列图。
图57是本发明的变形例47的追加用更新模块的分割例的图。
图58是本发明的变形例69的分析/判断处理(追加判断处理)的流程图。
图59是本发明的变形例71的更新模块保持的共享信息的结构例的图。
图60是本发明的变形例72的更新模块保持的共享信息的结构例的图。
图61是专利文献1中记载的检测模块的结构图。
图62是表示在本发明的实施方式2的相互监视中各模块的监视目标、监视源的示意图。
具体实施方式
作为本发明的一技术方案的程序执行装置,具备监视其他模块的多个监视模块,其特征在于,第1监视模块具备:保持机构,保持表示作为监视对象的1个以上的监视模块的监视目标信息;以及更新机构,在从服务器装置取得了更新用的新监视目标信息的情况下,将由上述保持机构保持的监视目标信息更新为该新监视目标信息;第2监视模块具备:确认机构,在由上述第1监视模块进行了监视目标信息的更新的情况下,确认是否正常地进行了该更新;以及发送机构,将上述确认的结果发送给上述服务器装置。
根据该结构,在第1监视模块将自身保持的监视目标信息更新的情况下,第2监视模块确认是否正常地进行了该更新,所以在第1监视模块被篡改等、故意地不将监视目标信息正常更新那样的情况下等,能够可靠地掌握监视目标信息没有被正常更新的状况。此外,由于对服务器装置发送确认结果,所以在服务器装置侧也能够得知在程序执行装置侧监视目标信息没有被正常更新。在监视目标信息没有被更新的情况下,服务器装置通过将监视目标信息再发送而再次尝试监视目标信息的更新,或将故意不将监视目标信息更新的第1监视模块无效化等,由此,能够防止第1监视模块按照非正常状态的监视目标信息动作,能够防止作为系统而安全强度下降。
此外,也可以是,上述确认机构预先保持有应根据上述第1监视模块所保持的监视目标信息而生成的摘要值的期待值,根据保持在上述第1监视模块的保持机构中的监视目标信息来生成摘要值,通过将所生成的摘要值与上述期待值比较来进行上述确认。
根据该结构,通过不将监视目标信息彼此比较、而用摘要值彼此比较,能够减小比较所需要的处理负荷。
此外,也可以是,上述第1监视模块在取得了上述新监视目标信息的情况下,将由更新前的监视目标信息表示的模块的监视中止,在从上述服务器装置接受到基于上述确认结果的发送的执行指示的情况下,监视由上述新监视目标信息表示的模块。
根据该结构,能够中止第1监视模块的监视动作,直到从上述服务器装置接受到执行指示。能够在通过服务器装置确认了监视目标信息已正常更新后开始上述监视动作。
此外,也可以是,上述第1监视模块还在上述更新之前将监视目标信息备份,在接受到上述执行指示的情况下将上述备份丢弃。
此外,也可以是,上述第1监视模块在没有接受到上述执行指示的情况下,使用上述备份进行回滚(rollback)处理。
根据该结构,在不能由服务器装置确认监视目标信息被正常更新的情况下,在程序执行装置中,能够代替没有被正常更新的新监视目标信息而使用更新前的监视目标信息进行上述不正当动作的监视。
此外,也可以是,上述第2监视模块还具备:保持机构,保持表示作为监视对象的1个以上的模块的监视目标信息;以及更新机构,在从上述服务器装置取得了更新用的新监视目标信息的情况下,将上述第2监视模块的保持机构所保持的监视目标信息更新为该新监视目标信息;上述第1监视模块还具备:确认机构,在由上述第2监视模块的更新机构进行了监视目标信息的更新的情况下,确认是否正常地进行了该更新;以及发送机构,将上述确认的结果发送给上述服务器装置。
根据该结构,能够在第1及第2监视模块中分别相互监视是否正常地进行了监视目标信息的更新,能够增加系统的安全强度。
此外,也可以是,上述新监视目标信息构成为,使各监视模块被至少1个其他监视模块监视。
根据该结构,在作为监视对象的模块或监视其他模块的模块进行了不正当动作的情况下,即使将进行了不正当动作的模块无效化等,通过将监视目标信息重构并更新,也能够防止存在没有被其他模块监视的模块的状况,能够防止作为系统而安全强度下降。
此外,也可以是,上述更新机构取得综合监视目标信息,该综合监视目标信息包括关于1个以上的监视模块中的各个监视模块的更新用的监视目标信息,从上述综合监视目标信息中提取本监视模块应保持的更新用的监视目标信息来取得该信息。
根据该结构,能够减轻将综合监视目标信息分割为有关各监视模块的监视目标信息的服务器装置侧的处理负荷。
作为本发明的一技术方案的监视程序,具备监视其他模块的多个监视模块,其特征在于,第1监视模块具备:保持步骤,保持表示作为监视对象的1个以上的监视模块的监视目标信息;以及更新步骤,在从服务器装置取得了更新用的新监视目标信息的情况下,将由上述保持机构所保持的监视目标信息更新为该新监视目标信息;第2监视模块具备:确认步骤,在由上述第1监视模块进行了监视目标信息的更新的情况下,确认是否正常地进行了该更新;以及发送步骤,将上述确认的结果发送给上述服务器装置。
作为本发明的一技术方案的记录介质,是存储监视程序的计算机可读取的记录介质,其特征在于,上述监视程序具备监视其他模块的多个监视模块;第1监视模块具备:保持步骤,保持表示作为监视对象的1个以上的监视模块的监视目标信息;以及更新步骤,在从服务器装置取得了更新用的新监视目标信息的情况下,将由上述保持机构所保持的监视目标信息更新为该新监视目标信息;第2监视模块具备:确认步骤,在由上述第1监视模块进行了监视目标信息的更新的情况下,确认是否正常地进行了该更新;以及发送步骤,将上述确认的结果发送给上述服务器装置。
作为本发明的一技术方案的集成电路,具备监视其他模块的多个监视模块,其特征在于,第1监视模块具备:保持机构,保持表示作为监视对象的1个以上的监视模块的监视目标信息;以及更新机构,在从服务器装置取得了更新用的新监视目标信息的情况下,将由上述保持机构保持的监视目标信息更新为该新监视目标信息;第2监视模块具备:确认机构,在由上述第1监视模块进行了监视目标信息的更新的情况下,确认是否正常地进行了该更新;以及发送机构,将上述确认的结果发送给上述服务器装置。
根据该结构,在第1监视模块将自身保持的监视目标信息更新的情况下,第2监视模块确认该更新是否被正常地进行,所以在第1监视模块被篡改等、故意不将监视目标信息正常更新那样的情况下等,能够可靠地掌握监视目标信息没有被正常更新的状况。此外,由于将确认结果发送给服务器装置,所以在服务器装置侧也能够得知在程序执行装置侧是否监视目标信息没有被正常地更新。在监视目标信息没有被更新的情况下,服务器装置通过将监视目标信息再发送而尝试再次监视目标信息的更新、或者通过将故意不将监视目标信息更新的第1监视模块无效化等,能够防止第1监视模块按照非正常状态的监视目标信息动作,能够防止作为系统而安全强度下降。
以下,参照附图对作为有关本发明的一个实施方式的软件更新系统进行说明。
(实施方式1)
1.软件更新系统10的结构
图1是本发明的实施方式1的软件更新系统10的整体结构图。
软件更新系统10如图1所示,由作为本发明的信息处理装置的设备100、和作为本发明的管理装置的更新服务器200构成,设备100和更新服务器200经由网络连接。
设备100是对用户提供利用网络的各种功能的信息处理装置。具体而言,设备100经由网络购买音乐内容(content)或影像内容等并再现。此外,设备100经由网络利用网络银行服务(余额查询或汇款(振り込み)等)。
2.设备100的结构
这里,利用图2到图4对设备100的结构进行说明。
设备100如图2所示,由应用110、应用111、保护控制模块120、更新模块组130及访问控制模块140构成。
应用110及应用111是用来经由网络对使用设备100的用户提供各种功能的软件。例如,是从内容分发服务器(未图示)购买音乐内容或影像内容,并将该购买的内容再现的软件,或用来对金融机构的系统(未图示)进行访问,并进行余额查询或汇款等的网络银行业务的软件。
应用110及应用111具有用来与内容分发服务器或金融机构的系统进行认证的认证密钥等秘密数据。秘密数据是需要进行保护、以使其不被有恶意的第三者(攻击者)从应用中提取并不正当地利用的数据。
保护控制模块120是控制用来保护应用(110、111)、以使得攻击者不会将应用(110、111)分析并将认证密钥等的秘密数据提取的功能的模块。作为用来保护应用的功能,有在不利用应用时进行加密而保存、仅在利用应用时解密并向存储器装载的解密装载功能,或检查应用是否没有被篡改的篡改检测功能、检查调试器(debugger)等的分析工具是否没有动作的分析工具检测功能等。
保护控制模块120控制这些功能的动作,检查应用(110、111)是否没有被攻击者分析等。保护控制模块120当检测到对应用(110、111)的攻击时,将应用(110、111)的动作停止,进行应用(110、111)所利用的存储器、特别是记录有秘密数据的存储器区域的清空等的处理,防止秘密数据的泄漏。
图3是有关实施方式1的更新模块组130的结构图。更新模块组130由更新模块131、更新模块132及更新模块133构成。
更新模块131、更新模块132及更新模块133具备从处于设备100的外部的更新服务器200接收更新用的软件、使用接收到的更新用的软件将设备100的内部的软件(应用110、应用111、保护控制模块120等)更新的功能。
进而,更新模块组130为了防止由攻击者将各更新模块篡改、不正当地利用各更新模块,更新模块彼此相互实施篡改检测。由此,即使在更新模块组130的一部分被攻击、被篡改的情况下,也能够检测到这一情况而应对攻击。另外,对各更新模块(131、132、133)的结构在后面叙述。
访问控制模块140保持有更新模块(131、132、133)为了将其他模块删除而需要的访问信息。访问信息是作为删除对象的模块的删除所需要的信息(配置有模块的地址或写入有删除所需要的步骤的程序文件(手順書)等)。访问控制模块140按照作为删除对象的每个模块,保持有分别用独立的访问信息取得密钥加密的状态的访问信息。
这里,回到图2,对设备100的软件层级进行说明。如图2所示,访问控制模块140及更新模块组130装入在OS150之中。应用110及应用111在OS150上动作,保护控制模块120及引导装载器160处在OS150的管理之外。
在设备100的起动时,首先在起动保护控制模块120及更新模块组130后执行应用。
接着,使用图4对设备100的硬件结构进行说明。如图4所示,设备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上动作的更新模块为保护控制模块120所进行的篡改检查及无效化的对象。
NIC174是用来连接到网络的扩展卡。
3.更新服务器200的结构
接着,对更新服务器200的结构进行说明。更新服务器200是为了将设备100内部的软件更新而发布需要的更新用的软件的装置。
图5是实施方式1的更新服务器200的结构图。更新服务器200由判断部210、更新用软件发布部220、模块无效化部230、模块追加部240、监视模式更新部250及通信部260构成。
判断部210根据设备100内部的软件(应用110、111、保护控制模块120、更新模块组130)的状态,使用预先给出的判断基准决定设备100接着应执行的处理。并且,对更新服务器200内部的各模块(更新用软件发布部220、模块无效化部230、模块追加部240、监视模式更新部250)进行指示。
更新用软件发布部220在将设备100内部的软件(应用110、111、保护控制模块120)更新时,根据判断部210的更新处理开始指示而与更新模块组130协同动作,将更新用的软件向设备100安全地发送。
模块无效化部230在将设备100的更新模块组130的更新模块无效化时,根据判断部210的模块无效化的指示,与更新模块组130协同动作,将访问信息取得密钥向进行作为无效化对象的更新模块的无效化处理的更新模块发布。
模块追加部240当对设备100的更新模块组130追加更新模块时,根据判断部210的模块追加的指示,与更新模块组130协同,将追加用的更新模块向设备100安全地发送。
监视模式更新部250在将设备100的更新模块组130的监视模式更新时,根据判断部210的监视模式更新的指示,与更新模块组130协同,发送为了将更新模块组130内的各更新模块的监视模式更新而需要的数据。
通信部260在与设备100之间进行信息的收发。通信部260将从设备100接收到的信息对应于信息的种类向更新服务器200的各部输出。此外,通信部260从更新服务器200的各部受理指示及信息,对设备100发送。
具体而言,通信部260在更新处理时将从更新用软件发布部220接受到的指示及通知等发送给设备100、或将从设备100接收到的篡改检测的结果发送给判断部210。
此外,通信部260在无效化处理中在模块无效化部230与设备100之间收发指示及信息。此外,通信部260在追加处理中在模块追加部240与设备100之间收发指示及信息,在监视模式更新处理中,在监视模式更新部250与设备100之间收发指示及信息。
设备100和更新服务器200经由网络连接,在将设备100内部的软件(应用110、111、保护控制模块120)更新的情况下,更新模块组130与更新用软件发布部220协同动作,为了将设备100内部的软件更新而安装更新用的软件。
此外,在设备100内部的软件(应用110、111、保护控制模块120、更新模块131、132、133)被攻击而被篡改的情况下,没有被篡改的更新模块和访问控制模块140与模块无效化部230协同动作,将被篡改的软件删除。
此外,在更新模块组130的更新模块的数量因删除而减少的情况下,未被篡改的更新模块与模块追加部240协同动作,追加更新模块。
此外,在通过更新模块的删除或追加而在更新模块间的相互监视的监视模式中需要变更的情况下,监视模式更新部250与更新模块组130协同动作,将监视模式更新。
另外,设备100与更新服务器200之间的通信也可以通过将数据加密等而使用确保了安全的通信路径。
4.更新模块131、132、133的结构
接着,对包含在更新模块组130中的更新模块的结构进行说明。这里,对更新模块131的结构进行说明,但其他更新模块也基本上具有相同的结构。
图6是更新模块131的结构图。更新模块131由更新模块主体、更新模块验证用证书、MAC(Message Authentication Code:消息验证码)值表及监视模式信息构成。
更新模块主体是进行软件的更新处理的程序。更新模块主体的详细情况在后面叙述。
更新模块验证用证书是用来验证更新模块主体是否没有被篡改的证书。验证更新模块主体的模块取得更新模块主体和该验证用证书,进行更新模块主体是否没有被篡改的验证。
MAC值表是在模块的篡改的有无的验证中利用MAC值的情况下所使用的表。在本表中,将用来识别模块的模块识别符和对应于该模块的MAC值成对地保存。模块的篡改检测通过取得对象模块、计算MAC值、将计算出的MAC值与保存在MAC值表中的对象模块的MAC值比较来进行。
监视模式信息是关于更新模块进行相互监视时的监视对象的信息。图7是监视模式信息的结构图。监视模式信息由监视模式主体、监视频度及验证值列表构成。
在监视模式主体中,记述有关于作为监视对象的模块的信息(例如模块识别符、存储器上的位置、大小、地址、文件名等)。在监视模式主体中能够记述多个监视模式,在记述多个监视模式的情况下,分别用监视模式识别符加以区别。监视模式主体的数据结构在开头作为标题(header)信息而记述有监视模式的数量和监视模式各自的大小,在其以后记述有监视模式识别符和监视模式的组。
监视频度是关于监视记述在监视模式主体中的监视对象的定时的信息。通过在监视模式信息中包含监视频度,能够任意地调节监视的频度,能够适当地验证更新模块的篡改。
作为关于定时的信息,是进行监视的时刻,或在进行反复监视的情况下是其时间间隔等。此外,在监视模式主体中记述有多个监视模式的情况下,也可以按照每个监视模式来记述监视频度。在此情况下,记述有监视频度、和利用该监视频度的监视模式的监视模式识别符。此外,也可以记述有选择多个监视模式之中的、所使用的监视模式的定时。更新模块131、132、133对应于定时信息而监视记述在监视模式中的模块。
验证值列表记述有用来验证是否从更新服务器200正确地取得监视模式主体及监视频度并已更新的验证值。
接着,使用图8对更新模块主体进行说明。图8是更新模块131的更新模块主体的结构图。如该图所示,更新模块主体由接收部301、发送部302、控制部303、更新部304、验证部305、MAC值生成部306、MAC值表更新部307、监视模式取得部308、监视模式更新部309及共享信息保持部310构成。
接收部301从更新服务器200接收各种指示、通知、更新用软件。此外,接收部301接收为了进行相互监视而需要的、其他更新模块的更新模块主体及更新用模块验证用证书。进而,接收部301接收向其他模块委托的处理的结果,或接收其他更新模块所进行的保护控制模块120的监视结果。
发送部302向更新服务器200、保护控制模块120、其他更新模块、访问控制模块140发送各种处理结果或证书等的数据。
控制部303基于接收部301接收到的各种指示及通知,控制更新部304、验证部305及监视模式更新部309,进行保护控制模块120、更新模块132及更新模块133的更新处理及验证处理、监视模式的更新处理。
更新部304与更新服务器200协同,更新设备100内部的软件(应用110、111、保护控制模块120、更新模块132、133)。
验证部305进行保护控制模块120、更新模块132、133是否正当的验证。作为验证方法,有使用对各模块所附加的验证用的证书的方法、或使用在事前计算的消息验证码(MAC)值的方法。
验证部305在哪个定时验证哪个模块是记述在监视模式信息中的。验证部305从监视模式信息中取得监视模式主体及监视频度,根据这些信息进行验证。在监视模式有多个的情况下,根据来自更新服务器200的指示变更所利用的监视模式及监视频度。例如,既可以从更新服务器200每次指示所利用的监视模式及监视频度,也可以使用记述有在哪个时刻以哪个监视模式、哪个监视频度进行监视的时序图来进行指示。此外,也可以使用将设备100的状态与监视模式及监视频度建立了对应的表来指示。
作为设备100的状态的具体例,有“保护控制模块更新状态”、“保护控制模块非更新状态”、“验证处理中”、“分析/判断处理中”、“恢复处理中”等。并且,也可以是,在设备100的状态是“保护控制模块非更新状态”的情况下,用较粗的监视模式降低监视频度,在设备100的状态是“保护控制模块更新状态”的情况下、用较细的监视模式提高监视频度。
这样,通过在保护控制模块120的恢复时更严格地进行更新模块的验证,能够更有效地防止更新模块被篡改、更新模块的正常的动作受到妨碍。
MAC值生成部306生成验证部305所使用的MAC值。MAC值生成部306使用预先保持的验证密钥生成MAC值。
MAC值表更新部307将保存有各模块的MAC值的MAC值表更新。
监视模式取得部308取得记述有验证部305进行验证处理时的监视对象的模块的监视模式。在有多个监视模式的情况下,从验证部305指示要取得的监视模式的识别符,监视模式取得部308从监视模式信息取得被指示的监视模式。
监视模式更新部309如果从更新服务器200接受到监视模式更新的指示,进行将本模块(更新模块131)保持的监视模式向从更新服务器200接收到的新的监视模式进行更新的处理。
共享信息保持部310保持根据保护控制模块120在进行应用(110、111)的加密解密处理时使用的加密解密密钥生成的共享信息(share,分散信息)、和保护控制模块120发布共享信息时的配置信息。配置信息是记述有将哪个共享信息对哪个更新模块发布的信息。
关于签名方式,在非专利文献1中已详细地说明,关于证书,在非专利文献2中已详细地说明。此外,关于共享信息,在专利文献2中已详细地说明。
5.保护控制模块120的结构
图9是设备100的保护控制模块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当执行加密保持在设备100内部中的应用(110、111)时,进行使用加密解密密钥进行解密、并装载到存储器上的处理。此外,在应用(110、111)的执行中发生了向其他应用的上下文切换(context switch)的情况下,将存储器上的数据使用加密解密密钥进行加密。并且,在再次向应用(110、111)进行了上下文切换时,将已加密的数据解密。
进而,解密装载部404在后述的再加密处理中,使用被从加密解密密钥复原部411输入的复原的加密解密密钥将应用(110、111)解密,使用加密解密密钥保持部407保持的新的加密解密密钥将应用(100、111)加密。
篡改检测部405执行检测应用(110、111)的篡改的有无的篡改检测处理。篡改检测部405既可以使用对应用(110、111)附加的篡改检测用的证书进行篡改检测处理,也可以使用比较MAC值的方法。
分析工具检测部406安装有调试器(debugger)等的分析工具,当动作时检测该动作。这是因为,设想了不正当的攻击者为了攻击应用(110、111)而安装分析工具或使其动作。作为检测方法,例如使用检索文件名的方法、调查调试器所使用的特殊的寄存器是否正被使用的方法、检测调试器所设定的中断的方法等。
加密解密密钥保持部407保持用来将应用(110、111)加密解密的加密解密密钥。
加密解密密钥生成部408生成用来将应用(110、111)加密解密的加密解密密钥。
加密解密密钥共享部409在初始设计时及下一轮准备时使用秘密共享法从加密解密密钥生成共享信息。
证书生成部410在将从加密解密密钥生成的共享信息复原时,生成为了验证是否正确地复原而使用的证书。
加密解密密钥复原部411基于更新模块的结构从各更新模块取得共享信息,从所取得的共享信息复原加密解密密钥。另外,所谓更新模块的结构,是更新模块组130内的共享信息的配置信息。加密解密密钥复原部411将复原后的加密解密密钥向解密装载部404输出。
6.访问控制模块140的结构
图10是设备100的访问控制模块140的结构图。如该图所示,访问控制模块140由接收部501、发送部502及访问信息保持部503构成。
接收部501从更新模块(131、132、133)接收访问信息的取得委托,该访问信息为为了将篡改后的更新模块删除而需要的信息。
发送部502根据访问信息取得委托,向委托了访问信息取得的更新模块发送访问信息。
访问信息保持部503按照每个更新模块131、132、133,保持用来将该模块删除的访问信息。
各访问信息带有作为删除对象的更新模块的识别符(更新模块识别符),由识别符与更新模块建立了对应。各访问信息被用访问信息取得密钥加密。
如果有来自更新模块131、132、133的访问信息取得委托,则访问信息保持部503将带有删除对象的更新模块的识别符的访问信息经由发送部502向更新模块发送。
7.判断部210的结构
图11是更新服务器200的判断部210的结构图。如该图所示,判断部210由受理部601、指示部602、指示生成部603、不正当模块确定部604、判断基准读入部605及判断基准保存部606构成。
受理部601从更新模块131、132、133接收共享信息、各种委托等,向指示生成部603输出。进而,受理部601如果从更新服务器200内的各部(更新用软件发布部220、模块无效化部230、模块追加部240、监视模式更新部250)受理了处理已完成的通知,则向指示生成部603输出。
指示部602将由指示生成部603生成的指示向更新服务器200内的各部输出。
指示生成部603基于从判断基准读入部605受理的判断基准决定设备100的处理的优先顺位,生成应向更新服务器200内的各部输出的指示。
具体而言,在保护控制模块120没有被篡改的情况下,指示生成部603向模块无效化部230指示更新模块的无效化处理,然后向模块追加部240指示更新模块的追加处理,再然后向监视模式更新部250指示监视模式的更新处理。
另一方面,在保护控制模块120被篡改的情况下,指示生成部603向更新用软件发布部220指示保护控制模块120的恢复处理,然后向模块无效化部230指示更新模块的无效化处理。再然后,向模块追加部240指示更新模块的追加处理,向监视模式更新部250指示监视模式的更新处理。
不正当模块确定部604使用从更新模块131、132、133接收到的相互监视结果(篡改检测结果),判断更新模块是否被篡改,在判断为更新模块被篡改的情况下,确定哪个更新模块被篡改了。进而,不正当模块确定部604根据关于从更新模块131、132、133接收到的保护控制模块120的篡改检测结果,判断保护控制模块120是否被篡改。
判断基准读入部605将保存在判断基准保存部606中的判断基准读入,向指示生成部603输出。
判断基准保存部606保存有预先给出的判断基准。判断基准是将设备100的状态与处理的优先顺位建立了对应的基准。
8.更新用软件发布部220的结构
图12是更新服务器200的更新用软件发布部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生成的加密密钥将更新用软件加密。此外,使用各更新模块所固有的密钥,将加密密钥加密。
认证部705与更新模块131、132、133、以及保护控制模块120进行相互认证。
更新模块选择部706当将保护控制模块120更新时,选择在更新处理中使用哪个更新模块。并且,更新模块选择部706将在更新用的保护控制模块的加密中使用的加密密钥使用所选择的更新模块中固有的密钥进行加密,向所选择的更新模块发送。
控制部707控制更新用软件发布部220内的各构成单元。具体而言,控制部707控制使用多个加密密钥的更新用软件的多重加密、在多重加密中使用的多个加密密钥的加密、以及加密后的更新用软件和加密密钥的向更新模块的发送。
这里,加密密钥及更新用软件不是一次向更新模块131、132、133发送的,而是在更新处理之中,在需要各个数据的定时向各个更新模块131、132、133发送。
证书生成部708使用签名私钥生成对于更新模块131、132、133的认证公钥的认证证书。此外,证书生成部708生成对于更新用的新保护控制模块的更新验证证书。更新验证证书为了验证保护控制模块是否被正确地更新而使用。
签名私钥保持部709保持在证书生成部708的证书的生成中使用的签名私钥。
更新用软件保持部710保持用来在保护控制模块120被攻击时进行更新的更新用的保护控制模块。
加密密钥保持部711保持由加密密钥生成部703生成的加密密钥及由加密处理部704加密的加密密钥。
9.模块无效化部230的结构
图13是更新服务器200的模块无效化部230的结构图。如该图所示,模块无效化部230由接收部801、发送部802、访问信息取得密钥保持部803及更新模块选择部804构成。
接收部801受理从判断部210删除被不正当地篡改的更新模块的指示。此外,接收部801从设备100的更新模块131、132、133接收访问信息取得密钥的取得委托。
发送部802根据访问信息取得密钥的取得委托,将访问信息取得密钥向进行了委托的更新模块发送。
访问信息取得密钥保持部803保持用来将访问控制模块140保持的访问信息解密的访问信息取得密钥。
更新模块选择部804选择进行将无效化对象的更新模块(判断为被篡改的更新模块)删除的无效化处理的更新模块,对所选择的更新模块指示无效化处理。更新模块选择部804在有来自于所选择的更新模块(进行无效化处理的更新模块)的访问信息取得密钥的取得委托的情况下,将附加了作为删除对象的更新模块的识别符的访问信息取得密钥向进行无效化处理的更新模块发送。
10.模块追加部240的结构
图14是更新服务器200的模块追加部240的结构图。如该图所示,模块追加部240由接收部901、发送部902、更新模块选择部903、更新模块保持部904、更新模块分割部905及控制部906构成。
接收部901从判断部210接收更新模块追加的指示、和在该时点包含在更新模块组130中的更新模块的列表。
发送部902向设备100发送追加用的更新模块及用来验证更新模块是否被正确地追加的验证值。此外,发送部902向判断部210通知更新模块的追加处理的结束。
更新模块选择部903从由判断部210接收到的更新模块的列表中选择进行更新模块的追加处理的更新模块。
更新模块保持部904保持追加用的更新模块。
更新模块分割部905从更新模块保持部904取得1个追加用的更新模块,根据更新模块选择部903选择的数量,将追加用的更新模块分割。更新模块分割部905将分割后的更新模块向更新模块选择部903所选择的各更新模块发送。
控制部906与判断部210及更新模块131、132、133协同,控制更新模块的追加处理。
11.监视模式更新部250的结构
图15是更新服务器200的监视模式更新部250的结构图。如该图所示,监视模式更新部250由接收部1001、发送部1002、监视模式生成部1003、监视模式分割部1004及控制部1005构成。
接收部1001从判断部210接收监视模式更新的指示、和在该时点包含在更新模块组130中的更新模块的列表。
发送部1002向设备100发送更新用的监视模式。此外,发送部1002向判断部210通知监视模式的更新处理的结束。
监视模式生成部1003根据从判断部210接收到的更新模块的列表,决定哪个更新模块监视哪个更新模块,生成监视模式(pattern)。作为监视模式的一例,也可以是各更新模块监视其他全部更新模块。
监视模式分割部1004将由监视模式生成部1003生成的监视模式分割为各个更新模块的监视模式。并且,监视模式分割部1004将分割后的监视模式作为更新用的监视模式,发送给各个更新模块。
控制部1005控制监视模式生成部1003和监视模式分割部1004,进行监视模式的更新处理。
12.软件更新系统10的动作
接着,使用图16对软件更新系统10的动作进行说明。
首先,说明软件更新系统10的安装处理。在安装处理中,大体包括以下的9个处理。
第1个是初始设定处理。在初始设定处理中,将根据软件更新所需要的各种密钥数据及在软件更新后需要的数据、使用秘密共享法而生成的共享信息,嵌入到各更新模块131、132、133中。
第2个是检测处理。在检测处理中,检测设备100内部的软件(应用110及111、保护控制模块120)是否没有被篡改。
第3个是分析/判断处理。在分析/判断处理中,在检测到篡改的情况下,进行哪个模块被篡改的判断、以及被篡改的原因的分析,判断是否将包括被篡改的模块的软件更新。并且,在将软件更新的情况下,生成修正了被篡改的部位的更新用的软件,向更新模块131、132、133通知更新处理的实施。
第4个是相互认证处理。在相互认证处理中,更新模块131、132、133和更新用软件发布部220为了相互确认是否是正确的软件而相互进行认证处理。
第5个是恢复处理。在恢复处理中,将更新用的软件向设备100进行安装,进而,从向更新模块131、132、133嵌入的共享信息复原原来的数据。
第6个是下一轮准备处理。在下一轮准备处理中,生成用于下个软件更新的共享信息,嵌入到各更新模块中。
第7个是无效化处理。在无效化处理中,在检测处理、相互认证处理、恢复处理中,在检测到更新模块131、132、133或保护控制模块120被不正当地篡改的情况下,将被篡改的模块删除。
第8个是追加处理。在追加处理中,在通过无效化处理使得更新模块减少的情况下,为了可靠地进行安装处理,在想要增加更新模块的情况下等,追加更新模块。
第9个是监视模式更新处理。在监视模式更新处理中,在通过无效化处理及追加处理而变更了更新模块组130的结构的情况下,如果需要监视模式的更新,则将监视模式更新。
上述9个处理中的初始设定处理、检测处理、分析/判断处理、相互认证处理、恢复处理及下一轮处理以图16所示的顺序进行。无效化处理、追加处理及监视模式更新处理在图16中记载的各个处理之中根据需要而进行调用。
图16是表示软件更新系统10的整体性的动作的流程的流程图。
软件更新系统10在设备100的工厂制造时进行初始设计处理,向各更新模块131、132、133嵌入共享信息。然后,设备100被从工厂出货,由用户使用。
当由用户使用设备100时,设备100进行检测处理。具体而言,保护控制模块120保护应用(110、111)不受攻击者的攻击。与此同时,更新模块131、132、133实施保护控制模块120的篡改检测,检查保护控制模块120是否没有被攻击。
在更新服务器200从进行了检测处理的更新模块接收到保护控制模块已被篡改的通知的情况下,更新服务器200进行分析/判断处理。在判明保护控制模块120被篡改的情况下,在进行相互认证处理、恢复处理、下一轮准备处理后,再次向检测处理返回。另外,在本发明的软件更新系统中,上述全部的处理不是必须的。软件更新系统只要有从外部被赋予更新的触发事件后进行更新的处理(恢复处理)就可以。
以下,对上述9个处理说明各自的详细情况。
13.初始设计处理的动作
这里,使用图17~图19,对初始设计处理进行说明。
图18是表示由软件更新系统10进行的初始设计处理的动作的序列图。
在设备100的工厂制造时,向设备100的非易失性存储器安装应用(110、111)、保护控制模块120、更新模块(131、132、133)等(S1000)。
对这些软件附加了用来验证软件是否被篡改的篡改检测用证书。该篡改检测用证书被通过更新服务器200的更新用软件发布部220所保持的签名私钥实施了签名。另外,在S1000中,除了上述软件以外,还安装设备100的动作所需要的软件。
这里,使用图17,对在初始设计处理时嵌入到设备100中的密钥进行说明。图17是示意地表示嵌入在设备100中的密钥的图。这里,仅表示了更新模块131,对更新模块132及133省略。
如图17所示,在保护控制模块120中嵌入了加密解密密钥,在更新模块131、132、133中嵌入了签名公钥、验证密钥及认证密钥对(在该时点,在更新模块中还没有嵌入共享信息的组)。进而,在更新模块131、132、133中,分别被嵌入用来识别更新模块的更新模块识别符,在该状态下安装。
加密解密密钥是用来将应用(110、111)加密及解密的密钥。应用(110、111)在使用加密解密密钥而被加密的状态下被向非易失性存储器存储,在执行时,被保护控制模块120使用加密解密密钥进行解密后被加以执行。在设备100一边切换上下文一边执行多个应用的情况下,通过在上下文切换的定时使用加密解密密钥进行应用(110、111)正在使用的数据的加密及解密,防止在应用(110、111)执行时通过调试器等的分析工具而造成数据被提取。
嵌入在更新模块131、132、133中的密钥中的签名公钥是在全部的更新模块中共通的密钥。验证密钥和认证密钥对是在各个更新模块中不同的密钥。
回到图18继续说明。在S1000中安装了各软件后,执行进行初始设定的软件、用来测试是否正常地动作的软件等,将设备100初始化(S1001)。
在S1001的初始化处理中,在保护控制模块120、更新模块131、132、133中也分别进行初始化处理。
保护控制模块120从加密解密密钥,使用秘密共享法生成共享信息(S1002)。进而,保护控制模块120使用签名私钥,在加密解密密钥的复原时,生成用来确认是否能够将加密解密密钥正确地复原的证书(加密解密密钥证书)(S1003)。
保护控制模块120将所生成的共享信息和加密解密密钥证书向更新模块131、132、133发送(S1004)。这里,保护控制模块120生成与具备共享信息保持部310的更新模块相同数量的共享信息。并且,各个更新模块131、132、133以保持不同的共享信息的组的方式进行发送。进而,保护控制模块120发送表示向哪个更新模块发送哪个共享信息的共享信息的配置信息。加密解密密钥证书和配置信息是向全部的更新模块131、132、133发送相同的信息。
关于从加密解密密钥使用秘密共享法生成共享信息的方法、以及将共享信息向更新模块发送的方法,在专利文献2的47页到49页中详细地说明。通过使专利文献2中的私钥(秘密鍵)d对应于本实施方式的加密解密密钥、使认证站装置(認証局装置)对应于保护控制模块120、使共享信息保持装置(分散情報保持装置)对应于更新模块131、132、133,能够使用与专利文献2相同的方法。
从保护控制模块120接收到共享信息、配置信息及加密解密密钥证书的更新模块组130向更新模块初始化处理转移。
13.1.更新模块初始化处理
图19是表示更新模块初始化处理的流程图。这里,对更新模块13进行说明,但其他更新模块132、133的动作也基本上相同。
更新模块131从保护控制模块120接收共享信息、配置信息及加密解密密钥证书,将接收到的各信息保持在共享信息保持部310中(S1005)。
进而,更新模块131进行作为篡改检测对象的其他更新模块132、133及保护控制模块120的篡改检测用证书的验证(S1006)。该验证通过从各模块生成散列值、将生成的散列值与记述在各个篡改检测用证书中的散列值相比较来进行。
判断所生成的各散列值是否与记述在各个篡改检测用证书中的散列值一致,如果一致,则对其他更新模块132、133、保护控制模块120分别生成MAC值。并且,保持所生成的MAC值作为MAC值表(S1007)。
如果至少1个散列值与记述在篡改检测用证书中的散列值不一致,则更新模块131输出错误而停止(S1008)。
14.检测处理的动作
设备100如果结束初始设计处理,则被从工厂出货,向用户的场所发送。在用户的场所,设备100被使用。
当使用应用(110、111)时,在设备100内部中,保护控制模块120控制解密装载功能、篡改检测功能、分析工具检测功能等的功能,保护应用(110、111)不受攻击者的攻击。
这里,使用图20的序列图对检测处理的动作进行说明。更新模块131、132、133实施保护控制模块120的篡改检测(S2000)。
篡改检测通过使用验证密钥计算保护控制模块120的MAC值、将计算出的MAC值与保持在MAC值表中的MAC值比较来进行。如果MAC值一致,则保护控制模块120判断为没有被篡改,如果MAC值不一致,则判断为保护控制模块120被篡改。
另外,在图20中将记载简略化,记载为,使得仅更新模块131进行保护控制模块的篡改检测,但当然在更新模块132、133中也进行同样的处理。
关于之后的处理,也以更新模块131检测到保护控制模块120的篡改的情况为中心进行记载,但在更新模块132、133检测到保护控制模块120的篡改的情况下也基本上进行同样的处理。
判断保护控制模块120是否被篡改、即MAC值是否一致,在判断为保护控制模块120被篡改的情况下,更新模块131将该消息向更新服务器200的判断部210及其他更新模块通知(S2001)。
在判断为保护控制模块120没有被篡改的情况下,更新模块131不向判断部210或其他更新模块进行通知,向S2000的篡改检测处理返回。
从其他更新模块接收到表示保护控制模块120被篡改之意的通知的更新模块,使用验证密钥及MAC值实施保护控制模块120的篡改检测(S2002)。并且,将篡改检测结果向判断部210及其他更新模块通知(S2003)。
判断部210从更新模块131、132、133接收篡改检测结果。
15.分析/判断处理的动作
接着,使用图21对分析/判断处理的动作进行说明。图21是表示分析/判断处理的动作的流程的序列图。在图21中,将各更新模块131、132、133分别进行的处理作为更新模块组130进行的处理汇总记载。
在检测处理中,在从更新模块向判断部210通知了表示检测到保护控制模块120的篡改之意的通知(S2001或S2003)的情况下,判断部210基于从更新模块通知的篡改检测结果,判断保护控制模块120是不正当的还是正当的(是否被篡改)(S3000)。
作为判断方法的一例,例如在规定数的更新模块检测到篡改的情况下,判断为保护控制模块120是不正当的(被篡改),此外,在不到规定数量的更新模块检测到篡改的情况下,判断为保护控制模块120是正当的(没有被篡改)。上述规定数量也可以为包含在更新模块组130中的更新模块的过半数。
在判断为保护控制模块120是不正当的(被篡改)的情况下,判断部210为了判断是否需要将保护控制模块120恢复,对更新模块委托保护控制模块120的哪个部分被篡改等的篡改信息的通知(S3001)。判断部210基于篡改信息判断是否需要将保护控制模块120恢复(S3002)。
也可以代替S3002的“是否需要恢复”的判断而判断“是否废除”(revoke)。
在S3002的判断的结果是需要恢复的情况下,准备更新用的保护控制模块(S3003),对更新模块指示更新处理的开始(S3004)。此外,在废除的情况下,对向应用(110、111)提供服务的服务器进行委托,以使其将设备100废除(S3005)。
在判断为保护控制模块120是正当(没有被篡改)的情况下,为了判断是否需要将更新模块组130更新,转移到通常时判断处理(S3006)。
15.1.通常时判断处理
图22是分析/判断处理的通常时判断处理(S3006)的序列图。
更新服务器200的判断部210对更新模块组130发送相互监视处理的指示,更新模块组130进行相互监视处理(S3100)。更新模块组130将相互监视处理得到的检测结果通知给判断部210。
判断部210如果接受到检测结果的通知,则进行通常时无效化判断处理(S3200),进行追加判断处理(S3300)、监视模式更新判断处理(S3400)。
15.2.相互监视处理
图23是相互监视处理(S3100)的详细的序列图。
更新模块组130内的更新模块131、132、133分别对其他更新模块实施篡改检测的处理,在由攻击者篡改的情况下检测到该情况。
具体而言,更新模块131进行更新模块132的篡改检测(S3101),更新模块132进行更新模块133的篡改检测(S3102),更新模块133进行更新模块131的篡改检测(S3103)。
篡改检测通过使用验证密钥计算各更新模块的MAC值、将计算出的MAC值与保持在MAC值表中的MAC值比较来进行。并且,各更新模块将篡改检测处理的结果向判断部210及其他更新模块通知。
如果各更新模块的篡改检测处理完成,则回到通常时判断处理。
15.3.通常时无效化判断处理
图24是通常时判断处理的通常时无效化判断处理(S3200)的详细的流程图。
使用图24对通常时无效化判断处理进行说明。
在判断部210的不正当模块确定部604中被判断为是不正当的更新模块为更新模块组130的半数以上的情况下(S3201),判断部210的指示生成部603生成将更新模块组130的全体更新的指示,将更新模块组130全体更新(S3202)。
通过将更新模块组130的全体更新,能够防止更新模块的正常的动作受到妨碍。
在判断部210的不正当模块确定部604中被判断为不正当的更新模块是不到更新模块组130的半数的情况下(S3201),不正当模块确定部604判断是否更新模块组130的某个更新模块有危险(S3203),实施被判断为有危险的更新模块的无效化处理(S3204)。关于无效化处理的详细情况在后面叙述。
在通常时无效化判断处理中,在确认了保护控制模块120没有被篡改后,在更新模块有危险的情况下进行无效化处理,所以在更新模块的无效化处理的期间中能够防止经由不正当的保护控制模块攻击应用(110、111)。
在判断为哪个更新模块都没有危险的情况下、或者如果无效化处理完成,则回到通常时判断处理。
15.4.追加判断处理
接着,对追加判断处理进行说明。图26是通常时判断处理的追加判断处理(S3300)的详细的流程图。
判断部210判断更新模块组130的更新模块的数量是否是规定值以下(S3301),在是规定值以下的情况下进行追加处理(S3302)。关于追加处理的详细情况在后面叙述。在更新模块的数量是规定值以上的情况下、或者如果追加处理结束,则回到通常时判断处理。
通过由追加处理追加更新模块,能够将进行相互监视处理的更新模块的数量保持为一定数量,所以能够在更新模块组130的内部中稳定地自我验证更新模块的篡改。
此外,在确认了保护控制模块120没有被篡改后进行追加处理,所以在更新模块的追加处理期间中能够防止经由不正当的保护控制模块攻击应用(110、111)。
另外,也可以是,在虽然更新模块的数量不是规定值以下、但判断部210判断为需要进行更新模块的追加的情况下,进行追加处理。
具体而言,在虽然更新模块的数量是规定值以上、但一些更新模块在较短的期间中连续有危险的情况下,有可能立即成为规定值以下。在这样的情况下,为了使更新模块整体的安全性提高,也可以即使更新模块的数量是规定值以上也追加更新模块。
这里,所谓“规定值”,是在系统设计时决定的值,例如可以考虑“系统设计时的更新模块的数量的过半数”、或“4个”等的具体的数值。
此外,也可以代替将新的更新模块追加到更新模块组中的处理而将更新模块组自身更新。例如,也可以进行在更新模块的数量比规定值大的情况下将更新模块追加到更新模块组中,在数量为规定值以下的情况下将更新模块组自身更新那样的处理。通过将更新模块组刷新,能够防止各更新模块的正常的动作受到妨碍。
15.5.监视模式更新判断处理
接着,使用图28说明监视模式更新判断处理。图28是通常时判断处理的监视模式更新判断处理(S3400)的详细的流程图。
在通过无效化处理或追加处理而使得更新模块组130的结构中有变更的情况下,判断部210判断是否需要进行监视模式的更新(S3401)。在判断为需要进行监视模式的更新的情况下,向监视模式更新部250指示更新,监视模式更新部250进行监视模式更新处理(S3402)。
在判断为不需要更新监视模式的情况下,或者如果监视模式更新处理完成,则向通常时判断处理返回。
在监视模式更新处理(S3402)中,更新监视模式,以使得不存在没有被监视的更新模块。以下,具体地进行说明。
当更新模块A在监视更新模块B时,在更新模块A被无效化的情况下,更新模块B有可能没有被任何更新模块监视。因此,生成更新模块B也由某个更新模块监视的新的监视模式,将除了更新模块A以外的更新模块的监视模式更新。
此外,在更新模块C被新追加到更新模块组中的情况下,在以往的监视模式中没有监视更新模块C的更新模块,所以生成包括更新模块C在内的更新模块组中的新的监视模式,将包括更新模块C的全部更新模块的监视模式更新。
由此,即使是更新模块的无效化后、此外即使是新的更新模块的追加后,也维持相互监视,能够防止更新模块的正常的动作受到妨碍。
16.相互认证处理的动作
这里,使用图29及图30,对软件更新系统10进行的相互认证处理的动作仅说明。
在更新服务器200的判断部210在分析/判断处理中判断为需要将保护控制模块120恢复的情况下,判断部210向更新用软件发布部220指示保护控制模块120的恢复。
更新用软件发布部220在向更新模块131、132、133指示更新处理的开始后,在与各更新模块之间分别进行1对1的相互认证处理。由此,防止设备100与不正当的服务器连接、或更新服务器200与不正当的设备连接。另外,在相互认证处理中,更新服务器200使用签名私钥及签名公钥,各更新模块使用认证密钥对(认证私钥及认证公钥)。
图29是更新模块131认证更新用软件发布部220时的序列图。另外,更新模块132、133也与图29同样地动作,认证更新用软件发布部220。
更新模块131使用随机数生成器生成随机数(S4000),将生成的随机数作为询问数据(challenge data)向更新用软件发布部220发送(S4001)。此时,将用来识别更新模块131的更新模块识别符与询问数据一起发送。
更新用软件发布部220对接收到的询问数据使用签名私钥而生成签名数据(S4002),将所生成的签名数据作为应答数据向更新模块131返送(S4003)。
更新模块131如果从更新用软件发布部220接收到应答数据(S4004),则使用签名公钥,验证接收到的应答数据是否为询问数据的签名数据(S4005)。
在验证的结果为应答数据正确、更新用软件发布部220是正当的模块的情况下,更新模块131继续处理。在应答数据不正确、更新用软件发布部220不是正当的模块的情况下,更新模块131输出错误,停止处理(S4006)。
接着,更新用软件发布部220认证更新模块131、132、133。
图30是更新用软件发布部220认证各更新模块时的序列图。
更新用软件发布部220对发送来询问数据的各更新模块使用随机数生成器生成分别不同的随机数(S4100),作为询问数据向各更新模块分别发送(S4101)。
各更新模块对接收到的询问数据使用认证私钥生成签名数据(S4102),将生成的签名数据作为应答数据向更新用软件发布部220返送(S4103)。
此时,各更新模块将认证公钥和认证密钥证书与应答数据一起向更新用软件发布部220发送。
更新用软件发布部220从各个更新模块接收应答数据、认证公钥及认证密钥证书(S4104)。更新用软件发布部220验证认证密钥证书是否是自身发行的证书,再使用认证密钥证书验证认证公钥的正当性(S4105)。
如果认证密钥证书及认证公钥是不正当的,则更新用软件发布部220停止处理(S4106)。
如果认证密钥证书及认证公钥是正当的,则更新用软件发布部220使用认证公钥验证接收到的应答数据是否为询问数据的签名数据(S4107)。
接着,更新用软件发布部220判断返回了正确的应答数据的更新模块(正当的更新模块)的数量是否是预先设定的恢复处理所需要的数量以上。在正当的更新模块的数量不到恢复处理所需要的数量的情况下,不能执行恢复处理,所以更新用软件发布部220停止处理(S4106)。在正当的更新模块的数量达到恢复处理所需要的数量的情况下,结束相互认证处理,转移到恢复处理。
此外,更新用软件发布部220制作记载有在相互认证处理中确认了正当性的全部的更新模块的更新模块识别符的认证列表。并且,在此后的恢复处理中,仅利用在认证列表中记载有识别符的更新模块。
17.恢复处理的动作
这里,使用图31到图38,对由软件更新系统10进行的恢复处理的动作进行说明。
在相互认证处理中相互认证成功的情况下,实施将被篡改的保护控制模块120更新为新保护控制模块的恢复处理。
首先,使用图31说明恢复处理的大体的流程。图31是表示恢复处理的整体的流程的流程图。如该图所示,恢复处理大体由6个处理构成。
第1个处理是使用新保护控制模块将被篡改的保护控制模块120更新的更新处理(S5000)。
第2个处理是更新模块131、132、133相互实施篡改检测处理的恢复时相互监视处理(S5100)。
第3个处理是将加密的应用(110、111)再加密的再加密处理(S5300)。
第4个处理是在更新模块组130内的更新模块有危险的情况下判断是否进行无效化处理的恢复时无效化判断处理(S5400)。
第5个处理是通过无效化后的更新模块组130内的更新模块的数量判断是否进行更新模块的追加处理的追加判断处理(S5500)。
第6个处理是在进行了更新模块的无效化或/及追加的情况下判断是否将监视模式更新的监视模式更新判断处理(S5600)。
另外,在本发明的软件更新系统中,上述全部的处理并不都是必须的。软件更新系统只要有从外部给出更新的触发事件后、使用新保护控制模块将被篡改的保护控制模块120更新的更新处理(S5000)、以及更新模块相互实施篡改检测的恢复时相互监视处理(S5100)就可以。
对上述6个处理依次说明其详细情况。
17.1.更新处理
这里,使用图33及图34说明更新处理(S5000)的一例。
首先,更新用软件发布部220的证书生成部708使用签名私钥生成更新验证证书(S5001)。更新验证证书是用于各更新模块131、132、133确认新保护控制模块是否已正确地安装的证书。更新用软件发布部220将所生成的证书向各更新模块发送(S5002)。
接着,更新用软件发布部220的加密密钥生成部703生成两个用来将新保护控制模块多重加密的加密密钥(第1密钥及第2密钥)(S5003)。解密装载部404使用第2密钥将新保护控制模块加密,生成加密新保护控制模块(S5004)。解密装载部404对加密新保护控制模块使用第1密钥进一步加密,生成多重加密新保护控制模块(S5005)。
更新用软件发布部220从更新模块组130中选择一个正当的更新模块(S5006),将所选择的更新模块的识别符对判断部210通知。在S5006中,选择存储在判断部210内的不正当模块确定部604中的有危险的更新模块以外的更新模块。这里,假设作为一例而选择更新模块131。
更新用软件发布部220向所选择的更新模块131发送多重加密新保护控制模块(S5007),再发送第1密钥(S5008)。
更新模块131接收多重加密新保护控制模块和第1密钥(S5009)。更新模块131使用第1密钥将多重加密新保护控制模块解密,取得加密新保护控制模块(S5010)。并且,如果解密结束,则将该消息向更新用软件发布部220通知(S5011)。
更新用软件发布部220如果接收到解密结束通知,则从更新模块组130选择一个正当的、并且与在S5006中选择的更新模块不同的更新模块(S5012)。这里,作为一例,选择更新模块132。
更新模块的选择与上述同样,选择存储在判断部210内的不正当模块确定部604中的有危险的更新模块以外的更新模块。
更新用软件发布部220对所选择的更新模块132发送第2密钥(S5013)。进而,更新用软件发布部220对更新模块131委托,以使其将在S5010中取得的加密新保护控制模块向更新模块132发送(S5014)。
更新模块131接受来自更新用软件发布部220的委托,将加密新保护控制模块向更新模块132发送(S5015)。
更新模块132从更新用软件发布部220接收第2密钥,从更新模块131接收加密新保护控制模块(S5016)。并且,使用第2密钥将加密新保护控制模块解密,取得新保护控制模块(S5017)。
更新模块132将在S5017中取得的新保护控制模块覆盖到保护控制模块120并更新(S5018)。并且,更新模块132将更新的结束向其他更新模块通知(S5019)。
接着,各更新模块131、132、133分别使用事前接收到的更新验证证书,验证保护控制模块是否被正确地更新(S5020),将验证结果向更新用软件发布部220通知(S5021)。
更新用软件发布部220如果接收到从各更新模块发送的验证结果,则判断保护控制模块是否被正确地更新(S5022)。在判断为没有被正确地更新的情况下,更新用软件发布部220使设备100停止(S5023)。
在被正确地更新的情况下,更新用软件发布部220将更新处理的结束向各更新模块通知(S5024)。
各更新模块如果接收到更新处理结束通知,则生成新保护控制模块的MAC值,将所生成的MAC值和保护控制模块的识别符的组写入到MAC值表中(S5025)。
如以上说明,在更新处理中,更新用软件发布部220将更新用的新保护控制模块使用多个密钥多重地加密,向更新模块组130发送。更新模块组130用接收到的新保护控制模块来更新保护控制模块120。
此时,更新用软件发布部220通过控制将用来将多重加密的新保护控制模块解密的多个密钥向更新模块组130发送的定时,从而,攻击者难以得到没有被加密的新保护控制模块。
17.2.恢复时相互监视处理
这里,使用图35及图36说明恢复时相互监视处理(S5100)的一例。
判断部210向更新模块组130发送相互监视处理的指示,更新模块组130进行相互监视处理(S5101)。S5101的详细情况与图23的相互监视处理(S3100)是同样的,所以这里省略说明。
各更新模块进行篡改检测,将篡改检测结果向判断部210发送(S5102)。另外,在相互监视处理的结果是没有检测到被篡改的更新模块的情况下,也可以不进行向判断部210的通知。判断部210使用检测结果进行恢复时判断处理(S5103)。
这样,在恢复时相互监视处理中,由于更新模块组130进行相互监视处理,所以即使是在恢复处理中一部分的更新模块被篡改的情况,也能够进行篡改检测。进而,通过定期地实施恢复时相互监视处理,能够在新保护控制模块的全部完全泄漏之前检测到篡改,防止新保护控制模块的全部泄漏。
17.3.恢复时判断处理
这里,使用图36对恢复时判断处理(S5103)的详细情况进行说明。
首先,在判断部210中,判断是否某个更新模块已有危险(S5110)。在哪个更新模块都没有危险的情况下,结束恢复时判断处理,在图35的恢复时向相互监视处理返回。
在某个更新模块有危险的情况下,判断部210判断是否包含在更新模块组中的更新模块中的半数以上已有危险(S5111)。在半数以上有危险的情况下,将设备100停止(S5112)。
通过将设备100停止,能够防止设备100被篡改而不正当地动作、对经由网络连接的其他设备影响。此外,在保护控制模块120也有危险的情况下,应用(110、111)被攻击的可能性较高,也能够防止向应用(110、111)的攻击影响到其他设备。
在更新模块的不到半数有危险的情况下,不正当模块确定部604确定哪个更新模块有危险,将所确定的更新模块的识别符存储到不正当模块确定部604的内部中(S5113)。
接着,不正当模块确定部604判断由更新处理选择的更新模块是否有危险(S5114)。在由更新处理选择的更新模块有危险的情况下,在更新处理时有可能使不正当起作用,所以对更新用软件发布部220及更新模块组130通知更新处理的中止(S5115)。在向更新用软件发布部220及更新模块组130通知后,回到恢复处理开始。
通过回到恢复处理开始,处理不向恢复时无效化判断处理(S5300)或追加判断处理(S5400)转移,所以能够比有危险的更新模块的无效化处理及追加处理更优先地进行保护控制模块的更新处理。通过优先地进行保护控制模块的更新处理,能够防止经由不正当的保护控制模块攻击应用(110、111)。
在判断为在更新处理中选择的更新模块没有危险的情况下,结束恢复时相互监视处理。
17.4.更新处理与恢复时相互监视处理的关系
这里,使用图32,对更新处理与恢复时相互监视处理的协同动作的详细情况进行说明。恢复时相互监视处理不仅与更新处理协同,还在从更新处理的开始到结束定期地反复进行。恢复时相互监视处理需要以比新保护控制模块经由网络被完全输出到外部所需要的时间更短的时间间隔,来反复地实施。例如,如果到新保护控制模块被完全输出到外部为止花费1秒,则以比其更短的500毫秒间隔的定时执行恢复时相互监视处理。以下详细地进行说明。
首先,设备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的判断部210进行恢复时判断处理(S5103)。由此,更新服务器200能够中止第1密钥或第2密钥的发送,攻击者不能得到用来将多重加密新保护控制模块解密的密钥。
17.5.再加密处理
接着,使用图37对恢复处理的再加密处理(S5200)的一例进行说明。
首先,更新后的保护控制模块(以下记作“保护控制模块121”)对各更新模块131、132、133委托分别保持的共享信息及加密解密密钥证书的发送(S5201)。
各更新模块131、132、133接受来自保护控制模块121的委托,发送共享信息及加密解密密钥证书(S5202)。
保护控制模块121从各更新模块131、132、133接收共享信息及加密解密密钥证书(S5203),从接收到的共享信息复原更新前的保护控制模块120所使用的加密解密密钥(旧加密解密密钥)(S5204)。进而,保护控制模块121使用加密解密密钥证书验证旧加密解密密钥是否被正确地复原(S5205)。
在旧加密解密密钥没有被正确地复原的情况下,保护控制模块121找出不正当的更新模块(确定哪个更新模块发送了不正当的共享信息)(S5206)。将所确定的不正当的更新模块向更新服务器200通知。
在旧加密解密密钥被正确地复原的情况下,保护控制模块121的加密解密密钥生成部408生成新的加密解密密钥(新加密解密密钥)(S5207)。并且,解密装载部404使用旧加密解密密钥将加密的应用(110、111)解密,使用新加密解密密钥将应用(110、111)再加密(S5208)。
这里,对在S5206中用来确定不正当的更新模块的方法进行说明。首先,保护控制模块121从各更新模块集中共享信息的组,对集中的共享信息附加用来识别各更新模块的识别信息。
然后,将在初始设计时被设定为相同的值而发布的共享信息彼此汇集为组。并且,将包含在各组中的共享信息彼此的值进行比较,将为相同的值的共享信息彼此再汇集为1个子组。并且,生成从全部的组之中1个1个地选出子组的全部组合。
对生成的组合分别生成旧加密解密密钥,验证是否生成正确的旧加密解密密钥。在验证OK的情况下,对包含在该组合中的子组附加表示验证OK的验证通过识别信息。
在对全部的组合进行旧加密解密密钥的生成、验证后,将包含在带有验证通过识别信息的子组中的共享信息去除。
没有被去除而留下的共享信息为不正当的值。所以,通过对该共享信息附加的识别信息,能够确定发送来作为不正当的值的共享信息的更新模块。将由识别信息确定的更新模块确定为是不正当的更新模块。
关于从共享信息复原旧加密解密密钥的方法及不正当的更新模块的确定方法,在专利文献2的50页到52页中详细地说明。通过使专利文献2中的私钥d对应于本实施方式的加密解密密钥、使认证站装置对应于本实施方式的保护控制模块121、使共享信息保持装置对应于更新模块131、132、133,能够利用与专利文献2相同的方法。
17.6.恢复时无效化判断处理
接着,利用图38对恢复处理的恢复时无效化判断处理(S5300)进行说明。
恢复时无效化判断处理(S5300)在恢复时相互监视处理(S5100)中检测到篡改、在图36的S5113中存储了有危险的更新模块的情况下,判断哪个更新模块有危险(S5301),对判断为有危险的更新模块进行无效化处理(S5302)。无效化处理的详细情况在后面叙述。
17.7.追加判断处理
追加判断处理(S5400)与在通常时判断处理(图21的S3006)中进行的追加判断处理(图22的S3300)是同样的。这里省略说明。
17.8.监视模式更新判断处理
监视模式更新判断处理(S5500)与由通常时判断处理(图21的S3006)进行的监视模式更新判断处理(图22的S3400)是同样的。这里省略说明。
18.下一轮准备处理的动作
这里,使用图39的流程图对下一轮准备处理的动作进行说明。在下一轮准备处理中,在恢复处理结束后进行用于下个恢复处理的准备。以下,具体地进行说明。
首先,保护控制模块121由新的加密解密密钥,使用秘密共享法生成共享信息(S6000),再使用签名私钥生成新加密解密密钥证书(S6001)。并且,保护控制模块121将所生成的共享信息和加密解密密钥证书向各更新模块131、132、133发送(S6002)。
这里,与初始设计处理时同样,将共享信息生成与更新模块的数量相同数量,进行发送,以使各个更新模块保持不同的共享信息的对。新加密解密密钥证书是向各更新模块131、132、133发送相同的证书。
各更新模块131、132、133从保护控制模块121接收共享信息和新加密解密密钥证书,将接收到的共享信息和新加密解密密钥证书保持在共享信息保持部310中(S6003)。
19.无效化处理的动作
这里,使用图25的流程图,对软件更新系统10中的无效化处理的动作进行说明。
无效化处理是在相互认证时存在认证失败的更新模块的情况下、在通常时判断处理时检测到被篡改的更新模块的情况下、检测到保护控制模块120的篡改的情况下等、将存在于设备100内部的不正当的(被篡改的)模块无效化的处理。
这里,作为具体例,对在通常时判断处理时更新模块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)的访问信息取得密钥的取得委托的情况下,停止无效化处理(S7007)。如果确认的结果是没有问题,则向进行了委托的更新模块131送出用来将更新模块133无效化的访问信息取得密钥(S7008)。
更新模块131从模块无效化部230接收访问信息取得密钥,再从访问控制模块140接收加密的访问信息(S7009)。更新模块131从访问信息取得密钥和加密的访问信息中取得访问信息(S7010)。取得的访问信息是用来将更新模块133删除的专用驱动程序(driver)。更新模块131利用专用驱动程序将被篡改的不正当的更新模块133删除(S7011)。
更新模块131如果无效化处理结束,则将访问信息取得密钥、加密的访问信息、以及访问信息等删除,向模块无效化部230发送完成通知(S7012)。模块无效化部230如果从更新模块131接收到完成通知,则向判断部210发送无效化的完成通知(S7013)。
另外,在通过无效化处理将具备共享信息保持部310的更新模块无效化的情况下,将该更新模块所保持的共享信息也删除。所以,在将具备共享信息保持部310的更新模块无效化的情况下,需要进行考虑到共享信息的删除的无效化处理。
对考虑到共享信息的删除的无效化处理,在专利文献2的56页到64页中已作为“退出处理”(脱退処理)详细地说明。通过使专利文献2中的私钥d对应于本实施方式的加密解密密钥、使共享信息保持装置对应于本实施方式的更新模块131、132、133,能够利用与专利文献2相同的方法。另外,为了进行考虑到共享信息的删除的无效化处理,在要无效化的不正当的更新模块以外最低需要3个正当的更新模块。在无效化处理中使用保护控制模块120的情况下,只要用与初始设计时相同的方法再次生成共享信息并发布就可以。
如以上说明,在本实施方式中,由于更新模块组130内的多个更新模块进行相互监视处理,所以能够检测到被篡改的更新模块,能够提高软件更新系统的可靠性。此外,由于将被篡改的更新模块无效化,所以能够防止由被篡改的更新模块进行的不正当动作。
20.追加处理的动作
接着,使用图27的流程图,对软件更新系统10中的追加处理的动作进行说明。追加处理是图26的S3302的详细情况,是为了增加设备100内部的更新模块的数量而追加更新模块的处理。
这里,使用更新模块131、132,举例说明追加新的更新模块的处理。
判断部210如果判断为在更新模块组130中需要更新模块的追加,则向模块追加部240指示更新模块的追加。此时,与追加的指示同时地,通知当前的设备100内部的正当的更新模块的一览(列表)。
如果接受到来自判断部210的指示,则首先,更新模块选择部903从由判断部210接收到的正当的更新模块的列表中选择实施追加处理的更新模块(S3310)。
作为选择的方法,例如,既可以随机地选择,也可以从列表的上面起依次选择,也可以从最多的更新模块中选择被监视的更新模块。更新模块选择部903选择的更新模块的数量既可以是1个,也可以选择半数的更新模块,也可以选择全部的更新模块。选择的方法及选择的数量既可以在系统设计时决定,也可以每次由判断部210指示。
接着,更新模块分割部905从更新模块保持部904取得追加用更新模块,将追加用更新模块分割为与实施追加处理的更新模块的数量相同数量(S3311)。
然后,更新模块分割部905将分割后的追加用更新模块向更新模块选择部903所选择的更新模块中的每个更新模块发送(S3312)。此时,更新模块分割部905也发送表示写入分割后的追加用更新模块的区域的信息。此外,对于从更新模块保持部904取得的追加用更新模块附加了用来验证该模块的验证用证书。
这样,通过不是使一个更新模块独占追加的权限、而是分散到多个更新模块中,从而能够使因具有追加的权限的更新模块被篡改而使得追加不正当的更新模块的危险性降低。
接收到分割后的追加用更新模块的各更新模块在各自指定的区域中写入分割后的追加用更新模块(S3313)。写入结束的更新模块向模块追加部240通知追加处理的结束(S3314)。
模块追加部240的控制部906如果从发送了分割后的追加用更新模块的全部的更新模块接受到追加处理的结束通知,则对更新模块组130的全部的更新模块送出已追加的更新模块的验证信息,委托验证(S3315)。验证信息是写入了已追加的更新模块的区域的开头地址及大小。
接收到验证信息的更新模块基于验证信息读入更新模块,使用对更新模块附加的验证用证书实施验证(S3316)。验证结束的更新模块将验证结果向模块追加部240通知(S3317)。
控制部906根据被从更新模块通知的验证结果判断是否正确地追加了更新模块(S3318)。并且,将判断结果和追加处理的结束向判断部210通知(S3319)。
另外,在追加具备共享信息保持部310的更新模块的情况下,需要对追加的更新模块发布共享信息。关于对追加的更新模块发布共享信息的方法,在专利文献2的64页到79页中已详细地说明。这里,通过使专利文献2中的私钥d对应于本实施方式的加密解密密钥、使共享信息保持装置对应于本实施方式的更新模块131、132、133,能够利用与专利文献2相同的方法。另外,在对追加的更新模块发布共享信息的情况下,在追加的追加用更新模块以外最低需要3个正当的更新模块。在使用保护控制模块120的情况下,只要通过与初始设计时相同的方法再次生成共享信息并发布就可以。
如以上说明,根据本实施方式,通过追加更新模块,能够将设备100内的更新模块的数量保持为一定数量,能够在更新模块组130内稳定地验证更新模块的篡改。由此,能够提高软件更新系统的可靠性。
21.监视模式更新处理
这里,对软件更新系统10中的监视模式更新处理进行说明。监视模式更新处理是在进行更新模块的无效化处理或追加处理后、在判断为需要将监视模式更新的情况下,将设备100内部的更新模块组130的监视模式更新的处理。
作为具体例,对在图40中将更新模块A无效化、追加了更新模块D的情况下,将监视模式更新的处理进行说明。
如图40A所示,假设更新模块A监视更新模块B、更新模块B监视更新模块C、更新模块C监视更新模块A。
在此状态下,考虑将更新模块A无效化、追加了更新模块D的情况。由于更新模块A被无效化,所以更新模块B没有被任何更新模块监视。此外,更新模块D由于是新追加的,所以也没有被任何更新模块监视。所以,需要进行监视模式的更新处理。
作为要更新的监视模式,例如,如图40B所示,更新为更新模块B监视更新模块C、更新模块C监视更新模块D、更新模块D监视更新模块B的监视模式。
通过这样在无效化处理或追加处理之后更新监视模式,能够消除没有被任何更新模块监视的更新模块,保持全部的更新模块被监视的状态。
此外,由于能够从更新服务器200依次变更监视模式,所以能够防止监视模式被看破、更新模块被篡改。结果,能够防止经由不正当的更新模块将保护控制模块120篡改、防止通过不正当的保护控制模块攻击应用(110、111)。
22.更新服务器200保持的判断基准
在实施方式1中,根据设备100的状态,设备100进行的处理的处理顺序不同。管理服务器200的判断部210使用判断基准判断使设备100优先进行哪个处理。
具体而言,判断部210保持有将当保护控制模块120被篡改时设备100进行的处理的优先顺位、和当保护控制模块120没有被篡改时设备100进行的处理的优先顺位建立对应的判断基准。
图41是表示保护控制模块120没有被篡改的情况下的处理顺序的图。在保护控制模块120没有被篡改的情况下,设备100通过更新模块的无效化处理、追加处理、监视模式更新处理的顺序进行。
例如,在通常时判断处理中,在判断为更新模块133被篡改的情况下,设备100进行更新模块133的无效化处理,通过使更新模块133无效化,在更新模块的数量为规定值以下的情况下,进行更新模块的追加处理。此外,为了监视被无效化的更新模块133进行监视的更新模块、及监视新追加的更新模块,对监视模式的更新进行更新。
图42是表示在保护控制模块被篡改的情况下的处理顺序的图。在保护控制模块120被篡改的情况下,即使在恢复时相互监视处理中检测到更新模块133被篡改,也优先于更新模块133的无效化处理而进行保护控制模块120的恢复处理。
通过优先于更新模块133的无效化处理而进行保护控制模块120的恢复处理,能够防止在更新模块133的无效化处理中经由被篡改的保护控制模块120攻击本来应被保护的应用(110、111)。
设备100在保护控制模块120的恢复处理完成之后进行更新模块133的无效化处理。进而,根据需要而进行更新模块的追加处理及监视模式更新处理。
(实施方式2)
在实施方式1中,进行监视模式的更新处理,以使得不会发生因某个更新模块被无效化而存在没有被其他更新模块监视的更新模块的情况(S3402)。在本实施方式中,其他更新模块还验证在监视模块中是否可靠地进行了监视模式的更新处理,保证总是使用更新后的监视模式。由此,能够避免基于较旧的监视模式、完全没有被其他更新模块监视等有可能进行不正当的动作的更新模块发生动作的情况。进而,在本实施方式中,更新服务器200的监视模式更新部250生成对应于更新模块131~133的结构的适当的监视模式。以下,对各自的详细情况进行说明。另外,关于与实施方式1相同的构成单元使用相同的标号,省略关于在实施方式1中已经说明的处理的说明。
23.各部的结构
首先,对更新模块131~133的结构进行说明,接着,对监视模式更新部250的结构进行说明。
图43是表示本发明的实施方式2的更新模块131~133的结构的图。
更新模块主体除了图8所示的实施方式1的更新模块主体的构成单元以外,还具备监视模式更新验证部311、模块功能通知部312、功能信息保持部313。
监视模式更新验证部311取得其他模块的监视模式主体,使用所取得的监视模式,验证其他模块是否已更新为了正确的监视模式。这里,作为验证对象的是记述在自身的监视模式主体中的监视目标的更新模块。此外,在验证中,使用包含在从更新服务器200接收到的监视模式信息中的验证值列表。在实施方式2的验证值列表中,保存有验证自身的监视模式主体的验证值、用来验证有关记述在监视模式主体中的监视目标的监视模式主体的验证值。作为验证值,有散列值、MAC值等,这里,作为一例而使用散列值。
当使用散列值验证监视目标的监视模式时,首先取得监视目标的监视模式主体而计算散列值,通过将计算出的散列值与包含在自身的监视模式信息中的监视目标的验证值比较来进行。在比较的结果一致的情况下,判断为已更新为了正确的监视模式。
功能信息保持部313保持有表示各更新模块具有验证(监视)功能、更新功能、共享信息保持功能的3个功能中的哪个的功能信息。更新模块主体只要具有3个功能中的至少1个就可以。
模块功能通知部312将功能信息保持部313保持的功能信息向更新服务器200通知。
图44示意地表示关于监视模式更新验证的更新模块相互的对应关系的图。图44具体而言表示3个更新模块(更新模块1、更新模块2、更新模块3)存在于设备100内的情况。
各个更新模块首先将自身的监视模式更新为从更新服务器200通知的监视模式。接着,各监视模块验证其他更新模块是否已正确地更新为监视模式。监视对象是哪个更新模块记述在自身的监视模式主体中。在图44的例子中,有关更新模块1的更新后的监视模式表示更新模块1应监视更新模块2和更新模块3。此外,有关更新模块2的更新后的监视模式表示更新模块2应监视更新模块1,有关更新模块3的更新后的监视模式表示更新模块3应监视更新模块2。
在监视模式的验证中,使用与监视模式主体一起从更新服务器200发送来的验证值列表。在验证值列表中,保存有用于监视模式的验证的验证值。
在图44的例子中,在更新模块1的验证值列表中,保存有用来验证更新模块2和更新模块3的监视模式的更新的验证值。此外,在更新模块2的验证值列表中,保存有用来验证更新模块1的监视模式的更新的验证值,在更新模块3的验证值列表中,保存有用来验证更新模块2的监视模式的更新的验证值。
接着,对监视模式更新部250进行说明。
图45是表示监视模式更新部250的结构的框图。
如图45所示,有关本实施方式的监视模式更新部250除了使用图15说明的有关实施方式1的监视模式更新部250的构成单元以外,还具备功能信息取得部1006、更新完成判断部1007。
功能信息取得部1006从各个更新模块取得表示设备100内的更新模块131~133分别具有怎样的功能的信息(功能信息)。功能信息具体而言表示作为更新模块可能具备的功能的验证(监视)功能、更新功能、共享信息保持功能中的1个以上。
监视模式生成部1003基于功能信息取得部1006取得的功能信息,首先生成监视模块组整体的新的监视模式。监视模式生成部1003生成监视模式,以使各监视模块被至少1个其他监视模块监视。关于监视模式的一例,使用图62进行说明。
图62示意地表示按照新的监视模式、各更新模块监视其他哪个更新模块。另外,到此为止以更新模块为3个(更新模块131~133)的例子进行了说明,但在图62中,为了增加更新模块的变形,以更新模块为7个(更新模块131~137)的例子进行说明。这里,在图中的更新模块中,对于具有验证(监视)功能的结构,在图中记载了实现该功能的监视部,对于具有更新功能的结构,记载了实现该功能的更新部。此外,关于既具有验证(监视)功能、又具有更新功能的更新模块,记载了监视部、更新部双方。另外,在上述的更新模块的说明中,以各更新模块具有监视部、更新部双方的结构进行了说明,但也可以混合存在仅具有监视部、更新部的某一方的更新模块。
此外,图62的监视模式按照以下所示的规则构成。
首先,仅具有监视部的更新模块131、132、135、137被具有监视部的最低1个以上的其他更新模块监视。此外,仅具有更新部的更新模块133、136被具有监视部的两个以上的更新模块监视。并且,既具有监视部又具有更新部的更新模块134被本模块以外的全部的监视部监视。该规则基于如下情况,即:进行其他模块的更新的更新部需要比监视其他模块的不正当动作的监视部更严格地被管理,而具有监视部、更新部双方的监视模块应比仅具有更新部的监视模块更严格地被管理。
另外,进行监视的模块越增加,则被监视的模块的安全性越增加,但各模块的处理变得复杂,处理器等硬件的处理负担也增加。由此,监视模式只要根据系统的处理性能等生成适当的模式就可以。
此外,在恢复处理时,需要更新功能正确地动作,所以作为在恢复处理时使用的监视模式,也可以生成具有更新功能的更新模块被许多更新模块监视、具有验证(监视)功能和更新功能的更新模块不监视其他更新模块这样的监视模式。这样,监视模式并不限于1个模式,也可以保持多个模式,区分使用对应于各处理、状况等的监视模式。
接着,监视模式分割部1004将监视模式生成部1003生成的新监视模式(整体)分割为按照各个更新模块的监视模式,生成按照更新模块的新监视模式。
在图62所示的例子的情况下,更新模块131监视更新模块133、134,所以在有关更新模块131的新监视模式中记载识别更新模块133及134的识别符。此外,关于更新模块134,由于监视更新模块133、136、137,所以在有关更新模块134的新监视模式中记载分别识别更新模块133、136、137的识别符。
更新完成判断部1007接收更新模块131~133的相互监视结果(监视模式更新验证结果等),在全部的更新模块中判断是否正确地更新了监视模式。在判断为正确地更新的情况下,结束监视模式更新处理。在未正确地更新的情况下,再次实施监视模式更新处理。这里,也可以是,更新模块13x中的各个更新模块,在监视模式更新处理中将更新前的更新模式备份。并且,在确认了在全部的更新模块中已正确地更新监视模式的情况下,将备份的更新模式删除。
24.监视模式更新处理的动作
使用图46的流程图对软件更新系统10中的监视模式更新处理的动作进行说明。
在由更新服务器200的判断部210判断为需要监视模式的更新的情况下(S3401),在更新服务器200的监视模式更新部250和设备100内部的更新模块131~133中开始监视模式的更新处理。
首先,更新服务器200的监视模式更新部250的功能信息取得部1006为了取得为了生成监视模式而需要的更新模块的功能信息,对设备100内的全部的更新模块进行功能信息通知委托(S8001)。
在接受到功能信息通知委托的更新模块131~133中,模块功能通知部311取得保持在功能信息保持部312中的功能信息,向监视模式更新部250通知(S8002)。
接受到功能信息的通知的监视模式更新部250基于该功能信息,由监视模式生成部1003生成新监视模式(整体)。
接着,监视模式分割部1004将监视模式生成部1003生成的新监视模式(整体)分割为按照各个更新模块的监视模式,生成按照各个更新模块的新监视模式(S8004)。生成的新监视模式向各个更新模块送出(S8005)。
接收到新监视模式的各个更新模块将各自的监视模式更新,再验证其他更新模块是否正确地更新了监视模式(S8006),将其结果(相互监视结果)向监视模式更新部250通知(S8007)。各更新模块中的监视模式的更新处理(S8006)的详细情况在后面叙述。
接受到相互监视结果的通知的监视模式更新部250通过更新结束判断部1007,根据相互监视结果判断监视模式的更新处理是否正确地结束。结果,在存在未正确地更新监视模式的不正当的更新模块的情况下,生成将该不正当的更新模块以外的更新模块作为监视对象的新监视模式(整体)(S8003)。在没有不正当的更新模块的情况下,向更新模块131~133通知监视模式的更新处理的结束(S8009)。
接受到监视模式的更新处理的结束通知的更新模块131~133由于其他更新模块的监视模式被更新,所以再计算与其分别对应的MAC值,将MAC值表更新(S8010)。
接着,对各更新模块中的监视模式的更新处理(S8006)的详细情况使用图47的流程图进行说明。这里,以下与图44的情况同样对有3个更新模块的情况下的处理进行说明。另外,在更新模块的数量、被更新的监视模式与本说明不同的情况下也能够使用与以下的说明同样的方法。
首先,从监视模式更新部250向各个更新模块通知新监视模式。接收到新监视模式的各个更新模块使用监视模式更新部309将自身的监视模式信息向接收到的新监视模式进行更新(S8101)。如果更新结束,则使用验证列表验证自身的监视模式是否被正确地更新,将监视模式的反映结束向更新服务器200通知(S8102)。
在更新服务器200中,监视模式更新部250接受来自更新模块的监视模式的反映结束的通知,向各更新模块委托更新验证(S8103)。
接受到更新验证委托的更新模块验证记述在已更新的新监视模式主体中的更新模块的监视模式主体(S8104)。例如,如果如图44所示那样更新了监视模式,则更新模块1验证更新模块2和更新模块3的监视模式的更新,更新模块2验证更新模块1的监视模式的更新,更新模块3验证更新模块2的监视模式的更新。在监视模式主体的验证中,使用从更新服务器200接收到的监视模式信息的验证值列表内的验证值而进行验证。如果验证结束,则各个更新模块将其验证结果向更新服务器200通知。
监视模式的更新的验证已结束的更新模块接着验证记述在已更新的新监视模式主体中的更新模块的更新模块主体(S8105)。在更新模块主体的验证中使用更新模块验证用证书。如果验证结束,则各个更新模块将其验证结果向更新服务器200通知。
以上,各更新模块的监视模式的更新处理结束。然后,如上所述,监视模式更新部250作为相互监视结果而接收监视模式的更新验证结果和更新模块主体的验证结果,更新完成判断部1007进行判断更新的完成的处理。
(实施方式3)
在上述的实施方式1中,对加密解密密钥使用秘密共享法生成共享信息,保持对各更新模块自身分配的共享信息。在本实施方式中,对于各更新模块,追加了不仅保持对各更新模块自身分配的共享信息、还保持其他更新模块的共享信息的功能。通过该功能,即使一部分的更新模块被无效化,也能够从其余的更新模块复原加密解密密钥。由此,即使因将加密解密密钥复原而篡改了更新模块,也能够不使被篡改的更新模块无效化而仅通过正常的更新模块继续动作。以下,对实施方式3的处理的详细情况进行说明。
图48是更新模块组130的结构图。
图49是用来说明不仅是自身的共享信息、还保持相邻接的更新模块的共享信息的情况下的、共享信息的相互保持的图。
在实施方式3中,更新模块如图48、图49所示,作为一例是7个。
在本实施方式中,也进行在实施方式1中说明的初始设计处理(图18),但在初始设计处理中,保护控制模块120从加密解密密钥使用秘密共享法生成共享信息(S1002)这一点与实施方式1不同。此时,如图49所示,将各更新模块的共享信息和相邻接的更新模块的共享信息向各更新模块发送。例如,在更新模块131中,保持作为更新模块131的共享信息的共享信息1、相邻接的更新模块2的共享信息2、和更新模块7的共享信息7。通过该处理,即使在更新模块132被篡改的情况下,也由于更新模块131保持有共享信息2,所以能够进行加密解密密钥的复原。
接着,使用附图对保持有相邻接的更新模块的共享信息的情况下的各判断处理进行说明。在以下的说明中,对于与实施方式1相同的处理使用相同的标号而省略说明。
25.通常时无效化判断处理
首先,对通常时无效化判断处理进行说明。
图50是通常时判断处理的通常时无效化判断处理的流程图。
在图50中,对与实施方式1的通常时无效化判断处理(图24)相同的处理使用相同的标号而省略详细的说明。
图51是表示更新模块组130中的半数以上有危险的例子的图。
在通常时无效化判断处理中,如图51所示,判断部210判断更新模块是否半数以上有危险(S3201),在半数以上有危险的情况下,由判断部210内的指示生成部603生成将更新模块组130全体更新的指示,将更新模块全体更新(S3202)。
此外,判断部210判断是否更新模块的连续3个有危险(S320A),在连续3个有危险的情况下,由判断部210内的指示生成部603生成将更新模块组130全体更新的指示,将更新模块全体更新。
图52是表示更新模块组130中的更新模块131、132、137的3个有危险的例子的图。这里,所谓连续3个,表示如更新模块131、更新模块132、更新模块137具有相同的共享信息1的关系那样,在保持共享信息的更新模块的结构中,保持相同的共享信息的更新模块的关系。在更新模块131、更新模块132和更新模块137被篡改而有危险的情况下,不能取得更新模块131的共享信息1,不能进行加密解密密钥的复原。因此,保护控制模块120需要将更新模块全体更新、将加密解密密钥再共享。具体而言,在与S3202同样将更新模块全体更新后,判断部210对保护控制模块120进行加密解密密钥的更新和再共享的通知。并且,保护控制模块120用当前的加密解密密钥将应用(110、111)解密,将加密解密密钥更新,用新的加密解密密钥将应用加密。进而,保护控制模块120从加密解密密钥使用秘密共享法生成共享信息,再使用签名私钥生成用来确认在加密解密密钥的复原时是否已正确地复原的证书(加密解密密钥证书)。将生成的共享信息、加密解密密钥证书、相邻接的更新模块的共享信息和加密解密密钥证书分别向更新模块131~137发送。
另外,关于从加密解密密钥使用秘密共享法生成共享信息的方式及将共享信息向更新模块发送的方法,已在专利文献2的47页到49页中详细地说明,所以省略说明。此外,通过使专利文献2中的私钥d对应于加密解密密钥、使认证站装置对应于保护控制模块120、使共享信息保持装置对应于更新模块131~133,能够利用与专利文献2相同的方法。
此外,在判断为没有连续3个有危险的情况下,在判断为相邻接的更新模块有危险的情况下,进行更新模块全体的更新(S320B)。
图53是表示更新模块组130中的、更新模块131的相邻接的更新模块132、137有危险的例子的图。
在相邻接的更新模块有危险的情况下,不能进行专利文献2的退出处理。在此情况下,在进行有危险的更新模块的无效化处理后,将更新模块全体的共享信息更新。将共享信息更新的方法与上述的更新模块全体的共享信息的更新是同样的,所以省略。
26.恢复时判断处理
对恢复时判断处理(S5103)的详细情况使用图54进行说明。
图54是表示恢复时相互监视处理的恢复时判断处理的流程图。在图54中,对于与实施方式1的恢复时判断处理(图36)相同的处理使用相同的标号,对重复的说明省略。
判断部210判断更新模块是否半数以上有危险(S5111),在更新模块中有危险的不到半数的情况下,判断更新模块的连续3个有危险(S511A)。在更新模块的连续3个有危险的情况下,不能进行加密解密密钥的复原,所以将设备100停止。
通过如上述那样使更新模块A的共享信息保持在两相邻接的更新模块中,即使在保护控制模块120的更新处理中更新模块A被篡改,也能够通过从两相邻的更新模块取得更新模块A的共享信息而将保护控制模块的加密解密密钥复原。此外,通过判断是否连续3个更新模块有危险、在有危险的情况下将更新模块全体的共享信息更新,能够事前防止保护控制模块120的加密解密密钥不能复原的状况。由此,能够正确地进行保护控制模块的更新处理。
(其他变形例)
另外,基于上述实施方式说明了本发明,但本发明当然并不限定于上述实施方式。以下这样的情况也包含在本发明中。
(1)在上述实施方式中,将保护控制模块120更新,但并不限定于此,也可以将更新模块或应用等保护控制模块120以外的模块更新。以下,以将更新模块133更新的情况为例说明更新模块的更新处理。
在更新模块的更新处理中,与将保护控制模块更新的情况同样,更新用软件发布模块210将新更新模块133使用多个密钥多重加密,将包含在更新模块组130中的更新模块(除了更新模块133以外)作为发送目的地发送。包含在更新模块组130中的更新模块将更新模块133更新为新更新模块133。此时,通过更新用软件发布部220控制用来将被多重加密的新更新模块133解密的多个密钥向包含在更新模块组130中的更新模块发送的定时,攻击者不能得到没有被加密的更新用更新模块133。
图55~56是表示更新模块的更新处理的一例的流程图。这里,如上述那样将更新模块133更新。图55~56基本上与图33~34是同样的。不同点是对作为更新对象的更新模块133不发送更新验证证书、解密结束通知、更新结束通知。
以下,以更新模块131、132将更新模块133更新的处理为例,对更新模块的更新的处理详细地说明。
首先,更新用软件发布部220使用证书生成部408生成新更新模块133的证书(更新验证证书)(S9001),向各更新模块131~132发送(S9002)。使用该证书,更新模块131~132能够确认新更新模块133是否已正确地安装。在更新验证证书的生成中使用签名私钥。各更新模块接收更新验证证书。
接着,更新用软件发布部220使用加密密钥生成部403生成两个用来将新更新模块133多重加密的加密密钥(第1密钥、第2密钥)(S9003)。并且,利用加密部404使用第2密钥将新更新模块133加密,生成加密新更新模块133(S9004)。进而,对加密新更新模块133使用第1密钥再加密,生成多重加密新更新模块133(S9005)。
更新用软件发布部220从更新模块组130中选择一个更新模块(这里是更新模块131)(S9006)。在更新模块的选择中,选择存储在判断部210内的不正当模块确定部604中的有危险的更新模块以外的更新模块。此外,将所选择的更新模块的识别符发送给判断部210。更新用软件发布部220对所选择的更新模块发送多重加密新更新模块133(S9007)。进而,向更新模块131发送第1密钥(S9008)。
更新模块131接收多重加密新更新模块133和第1密钥(S9009),使用第1密钥将多重加密新更新模块133解密,取得加密新更新模块133(S9010)。如果解密结束,则将该消息向更新用软件发布部220通知(S9011)。
更新用软件发布部220如果接收到解密结束通知,则从更新模块组130中选择1个与上述不同的更新模块(这里是更新模块132)(S9012)。更新模块的选择与上述同样,选择存储在判断部210内的不正当模块确定部604中的有危险的更新模块以外的更新模块。更新用软件发布部220对所选择的更新模块发送第2密钥(S9013)。进而,对更新模块131委托,以使其将加密新更新模块133向更新模块132发送(S9014)。
更新模块131接受来自更新用软件发布部220的委托,将加密新更新模块133向更新模块132发送(S9015)。
更新模块132从更新用软件发布部220接收第2密钥,从更新模块131接收加密新更新模块133(S9016)。并且,使用第2密钥将加密新更新模块133解密,取得新更新模块133(S9017)。
更新模块132将所取得的新更新模块133覆盖到更新模块133上,更新为新的更新模块133(S9018)。并且,将更新的结束向更新模块133以外的其他更新模块通知(S9019)。
更新模块131~132分别使用事前接收到的更新验证证书,验证更新模块133是否被正确地更新(S9020),将验证结果向更新用软件发布部220通知(S9021)。
更新用软件发布部220如果接收到从各更新模块发送的通知,则根据验证结果判断更新模块133是否被正确地更新(S9022),在没有被正确地更新的情况下,将设备100停止(S9023)。
在没有被正确地更新的情况下,将更新处理的结束向更新模块133以外的各更新模块通知(S9024)。
更新模块131~132分别接受更新处理的结束的通知,生成更新模块133的MAC值,向MAC值表保存更新模块133的识别符和MAC值的组(S9025)。
此外,设为将更新模块覆盖,但并不限定于此,也可以将被篡改的更新模块无效化后进行覆盖。
另外,设为将更新模块覆盖,但并不限定于此,也可以将保护控制模块120或应用等、更新模块以外的模块覆盖。应用100、110也可以是提供上述功能以外的功能的软件。
此外,也可以在即使一个更新模块被篡改的情况下、没有被篡改的更新模块将全部更新模块及保护控制模块120更新或覆盖。
此外,也可以是,更新用软件发布部220如果接收到从各更新模块发送的通知,则根据验证结果判断更新模块133是否被正确地更新(S9022),在没有被正确地更新的情况下,将设备100停止(S9023),但并不限定于此,也可以再次进行更新模块更新处理。
(2)在上述实施方式中,更新模块13x(x是1~7)包括接收部301、发送部302、控制部303、更新部304、验证部305、MAC值生成部306、MAC值表更新部307、监视模式取得部308、监视模式更新部309、共享信息保持部310而构成,但并不限定于此。例如,也可以仅由监视处理所需要的构成单元(控制部303、验证部305、监视模式取得部308、监视模式更新部309)构成。此外,也可以仅由更新处理所需要的构成单元(控制部303、更新部304)构成。此外,也可以仅由无效化处理所需要的构成单元(控制部303、更新部304)构成。进而,也可以由上述的组合构成。
此时,作为包含在更新模块组130中的更新模块全体,只要包括监视处理和更新处理所需要的构成单元而构成就可以。
(3)在上述实施方式中,在更新模块13x中由验证部305执行其他更新模块及保护控制模块120的篡改检查,但篡改检查对象并不限定于模块全体,也可以是模块内的一部分、例如特定的功能或函数、密钥等的数据。此外,也可以不是一次对全部篡改对象进行篡改检查,而是仅对篡改对象的一部分进行篡改检查。在此情况下,既可以按照将篡改对象分割为一定的大小后的每个部分进行篡改检查,也可以按照用功能或函数单位分割后的每个部分进行篡改检查。进而,既可以将篡改对象的一部分每当篡改检查时依次进行篡改检查,也可以每当篡改检查时随机地决定篡改检查的部分,也可以从其他模块或设备100外部等指定将哪个部分篡改检查。
(4)在上述实施方式中,虽然没有特别明示,但也可以对重要度较高的模块,使其在耐篡改化的区域等、被保护免于攻击者攻击的区域中动作。例如,也可以使更新模块13x或保护控制模块120在如上述那样的被保护的区域中动作。在仅由监视处理所需要的构成单元构成的更新模块在被保护免于攻击者攻击的区域中动作的情况下,其他更新模块及判断部210也可以仅在从处于该被保护的区域中的更新模块接受到检测出其他更新模块或保护控制模块120被攻击的通知时,无条件地接受该通知而实施更新处理或无效化处理。此外,也可以将该通知作为比来自其他模块的通知更重要的通知处理,进行更新处理或无效化处理的判断。
此外,也可以是,保护控制模块在保护模式(耐篡改化的区域等)下动作,更新模块在通常模式(没有被耐篡改化的区域等)下动作。
(5)在上述实施方式中,设为模块无效化部230处于更新服务器200中、访问控制模块140处于设备100,但并不限定于此。例如,模块无效化部230和访问控制模块140也可以分别处于设备100中,也可以处于更新服务器200中,也可以处于各更新模块内。此外,访问信息取得密钥发布模块220和访问控制模块140可以不是不同的模块,而是1个模块。在模块无效化部230和访问控制模块140是1个模块的情况下,也可以不是向更新模块发送访问信息取得密钥和加密访问信息,而直接发送访问信息。进而,模块无效化部230或访问控制模块140在处于设备100内时,也可以处于通过耐篡改化等而被保护免于攻击的区域中。
(6)在上述实施方式中,更新服务器200由判断部210和更新用软件发布部220、模块无效化部230、模块追加部240、监视模式更新部250、通信部260构成,但并不限定于此,判断部210和更新用软件发布部220、模块无效化部230、模块追加部240、监视模式更新部250、通信部260也可以是1个模块,也可以是仅由某1个模块构成,也可以由上述的组合构成。
(7)在上述实施方式中,软件更新系统10在设备100的工厂制造时进行初始设计处理,但并不限定于此,也可以在销售后等工厂出货后的某处实施初始化处理。此外,初始化处理也可以不仅是1次,而实施两次以上。
(8)在上述实施方式中,作为初始设计处理的动作,设验证用证书及认证密钥证书是使用更新用软件发布部220所保持的签名私钥而生成的证书,但并不限定于此,也可以分别使用不同的密钥生成,也可以是由更新用软件发布部220以外的证书发行装置发行的证书。
(9)在上述实施方式中,作为初始设计处理及下一轮准备处理的动作,设为将从加密解密密钥生成的共享信息向更新模块13x发送、更新模块13x保持共享信息,但并不限定于此,也可以代替更新模块而由应用保持,也可以由更新模块13x和应用保持。
(10)在上述实施方式中,作为检测处理的动作,设为当更新模块13x进行保护控制模块120的篡改检测时,利用使用验证密钥计算出的MAC值进行篡改检测处理,但并不限定于此,也可以使用保护控制模块120的篡改检测用证书进行验证。此外,也可以不是如MAC值或证书那样进行利用散列值的篡改验证,而是通过检查日志(log)来进行篡改验证。
(11)在上述实施方式中,作为检测处理的动作,设为在更新模块13x检测到保护控制模块120的篡改的情况下向判断部210和其他更新模块进行通知,但并不限定于此,也可以对判断部210和其他更新模块中的某1个以上的模块通知。此外,也可以在检测到保护控制模块120的篡改的情况下将更新模块停止,也可以将设备100或保护控制模块120停止。进而,也可以将被篡改的保护控制模块删除。进而,设为在更新模块131~133没有检测到保护控制模块120的篡改的情况下不向更新用软件发布模块210进行通知,但并不限定于此,作为实施篡改检测处理的结果,也可以通知没有检测到篡改的消息。
(12)在上述实施方式中,作为检测处理的动作,更新模块13x不对其他更新模块发送保护控制模块的篡改检测结果,但也可以由各个更新模块共用检测结果。此外,也可以在存在不共用检测结果的更新模块的情况下将该更新模块判断为不正当的更新模块而无效化。
(13)在上述实施方式中,作为分析/判断处理的动作,基于篡改信息判断是否将保护控制模块120更新,但并不限定于此,也可以根据通知为被篡改的更新模块的数量判断是否进行更新。此外,作为分析/判断时的动作,判断是否将保护控制模块120更新、以及是否将保护控制模块120无效化,但并不限定于此,也可以判断是否将设备100停止。
(14)在上述实施方式中,作为相互认证处理的动作,更新模块131~133认证更新用软件发布部220,然后更新用软件发布部220认证各个更新模块131~133,但并不限定于此,也可以是更新用软件发布部220认证各个更新模块131~133,然后更新模块131~133认证更新用软件发布部220,也可以是各个更新模块131~133和更新用软件发布部220单独进行认证处理。
(15)在上述实施方式中,作为相互认证处理的动作,在更新用软件发布部220认证各个更新模块13x的处理中,将询问数据在各个更新模块中设为不同的值,但并不限定于此,也可以将询问数据在所有更新模块中设为相同的值,也可以在将更新模块13x分为多个组的情况下的各个组中设为不同的值。
(16)在上述实施方式中,作为相互认证处理的动作,在各个更新模块13x认证更新用软件发布部220的处理中,各个更新模块13x单独认证更新用软件发布部220,但并不限定于此,也可以将签名验证的结果向其他更新模块通知,在更新模块间共享验证结果,根据本更新模块的认证结果和从其他更新模块接收到的认证结果判断更新用软件发布部220是否是正当的。作为判断方法,例如有在一定数量(例如过半数等)的更新模块认证成功的情况下判断为正当、在认证不成功的情况下判断为不正当的方法。
(17)在上述实施方式中,作为相互认证处理的动作,更新服务器200使用签名私钥和签名公钥实施相互认证处理,但并不限定于此,也可以在签名私钥和签名公钥之外另外地使用用于相互认证的认证密钥对。此时,更新服务器200的认证密钥对中的认证公钥,既可以预先由更新模块13x保持,也可以在相互认证处理时从更新服务器200向更新模块13x发送。
(18)在上述实施方式中,作为相互认证处理的动作,通过已验证为是正当模块的更新模块是否是恢复处理所需要的数量以上,来判断是否实施此后的恢复处理,但并不限定于此,也可以通过不正当的更新模块的数量是否不到预先设定的容许数来判断是否实施恢复处理。此外,在相互认证处理中,在判断为不到恢复处理所需要的数量的情况下将设备停止,但也可以将更新模块。
(19)在上述实施方式中,作为相互认证处理的动作,当更新用软件发布模块210认证各个更新模块131~133时,更新模块131~133与应答数据一起将认证公钥和认证密钥证书向更新用软件发布部220发送,但并不限定于此,也可以分别以不同的定时发送。此外,认证公钥及认证密钥证书也可以仅在从更新用软件发布部220有请求时分别发送。此时,更新用软件发布部220既可以接收全部的更新模块的认证公钥及认证密钥证书,也可以接收预先设定的、恢复处理所需要的数量以上、或不到预先设定的不正当的更新模块的容许数的更新模块的认证公钥和认证密钥证书。
(20)在上述实施方式中,作为恢复处理的动作,将监视处理在1次的解密中(监视3-1、3-2、5-1、5-2)实施2次,但并不限定于此,也可以按照解密处理的时间而将监视处理进行3次以上,也可以在解密处理以外也在密钥或更新用保护控制模块的接收处理时或检测处理时、相互认证处理时进行监视处理。此外,将监视处理以一定时间间隔定期地实施,但并不限定于此,也可以将更新处理分割为多个块,每当该处理块的处理结束时实施,也可以以随机的时间间隔实施,也可以以从更新服务器200指定的时间间隔实施。
此外,各更新模块也可以从外部的服务器取得表示执行监视处理的定时的同步信息,按照所取得的同步信息执行监视处理。由此,各更新模块能够以与其他更新模块相同的定时执行监视处理,所以能够使不正当的更新模块的检测精度提高。
进而,也可以变更通常时和恢复处理时的检测频度。例如,通过与通常时相比,提高恢复处理时的检测频度,能够在恢复处理中的保护控制模块的保护方面期待周全。检测频度的变更也可以是恢复处理中。
(21)在上述实施方式1及实施方式2中,作为恢复处理的动作,监视处理的模式是更新模块131进行更新模块132的篡改检测、更新模块132进行更新模块133的篡改检测、更新模块133进行更新模块131的篡改检测,但并不限定于此。例如,也可以通过更新模块131进行更新模块133的篡改检测、更新模块132进行更新模块131的篡改检测、更新模块133进行更新模块132的篡改检测等、预先决定的模式进行篡改检测,也可以随机地决定进行哪个更新模块的篡改检测,也可以从其他模块或设备100外部给出进行哪个更新模块的篡改检测。此外,各更新模块也可以验证该更新模块(本更新模块)是否没有被篡改。进而,也可以在检测到本更新模块的篡改的情况下将本更新模块自身无效化。进而,在保持有多个监视模式的情况下,不需要全部的更新模块被其他更新模块监视,在某个监视模式中,也可以存在没有被其他更新模块监视的更新模块。此外,也可以是全部的更新模块被多个更新模块监视。此外,在变更监视处理的模式的情况下,既可以每当篡改检测的处理等、以一定的间隔变更,也可以以随机的定时变更,也可以以从其他模块或设备100外部给出的定时变更。此外,多个更新模块也可以将篡改检测的结果以由更新服务器200指定的顺序对更新服务器200发送。
(22)在上述实施方式1及实施方式2中,作为恢复处理的动作,在监视处理时,如更新模块131进行更新模块132的篡改检测、更新模块132进行更新模块133的篡改检测、更新模块133进行更新模块131的篡改检测这样,全部的更新模块进行监视处理,但并不限定于此,也可以是一个更新模块实施更新处理、其他更新模块实施监视处理。作为此时的监视模式,既可以由1个更新模块监视正进行更新处理的更新模块,也可以由多个或全部更新模块来进行监视。例如,更新模块131进行更新模块132的篡改检测,更新模块132进行更新模块133的篡改检测,更新模块133进行更新处理。由此,能够不中断更新处理而也实施监视处理。
此外,在上述实施方式1及实施方式2中,如更新模块131进行更新模块132的篡改检测、更新模块132进行更新模块133的篡改检测、更新模块133进行更新模块131的篡改检测那样,作为监视结构而使用循环方式,但也可以是多个更新模块的分别相互监视的结构,也可以将它们组合。通过做成多个更新模块分别相互监视的结构,能够进一步提高篡改验证精度。
(23)在上述实施方式中,作为恢复处理的动作,更新模块132将所取得的更新用保护控制模块121覆盖到保护控制模块120上,将保护控制模块120更新,但并不限定于此,也可以是从更新用软件发布模块210取得保护控制模块120与更新用保护控制模块121之间的差分、仅将差分进行更新,也可以将更新用保护控制模块121向与保护控制模块120不同的区域写入、代替保护控制模块120而执行更新用保护控制模块121。
(24)在上述实施方式中,作为恢复处理的动作,在通过监视处理检测到更新模块13x的篡改的情况下,接受到篡改检测的通知的判断部210直接停止恢复处理,但并不限于此,也可以在从更新用软件发布部220向更新模块下次发送密钥等数据的定时将恢复处理停止。此外,也可以不是将恢复处理停止,而是不使用篡改的更新模块使用正常的更新模块进行恢复处理。此外,也可以是,不仅是通过监视处理检测到篡改的情况、对于在检测处理时由保护控制模块120检测到篡改的更新模块、在相互认证处理时认证失败的更新模块也同样,不使用该更新模块而进行恢复处理。进而,也可以在存在被篡改的更新模块的情况下不进行保护控制模块的更新。
(25)在上述实施方式中,作为恢复处理的动作,更新用软件发布部220从更新模块组130中选择一个在更新处理中用于解密的更新模块,但其选择方法既可以选择预先决定的更新模块,也可以随机地决定,也可以基于从设备100通知的信息来决定,也可以根据在相互认证时认证的顺序来选择。
(26)在上述实施方式中,作为恢复处理的动作,在更新处理中更新用软件发布部220将更新用保护控制模块121使用多个密钥多重地加密,但并不限定于此,也可以是,生成将更新用保护控制模块121分割为多个部分的分割模块,将分割模块分别单独加密,以与更新模块一对一对应的形态向更新模块发送。在此情况下,作为更新处理,在将加密的分割模块和在加密中使用的密钥发送时,也可以不是1次全部发送,而是控制向更新模块的发送、以使得在1个加密的分割模块的解密处理结束之前不发送其他加密的分割模块和密钥。作为别的方法,也可以将加密的分割模块1次向更新模块发送,仅控制用来将它们解密的密钥的发送的定时,也可以将密钥1次向更新模块发送,仅控制加密的分割模块的发送的定时,也可以将全部的密钥和加密的分割模块1次发送。此外,分割模块也可以不是用1个密钥加密的,而是使用多个密钥多重加密的。在此情况下,密钥及多重加密的分割模块的发送控制与将更新用保护控制模块121使用多个密钥多重加密时是同样的。进而,加密的分割模块和将其解密的密钥既可以向1个更新模块发送,也可以分别向不同的更新模块发送,也可以在设备100内部中使更新模块彼此协调动作。此时,也可以在接收分割模块的前后实施监视处理。此外,在通过监视处理检测到被篡改的不正当的更新模块的情况下,也可以在发送下个分割模块的定时将更新处理停止。进而,也可以是,多个更新模块在存在被篡改的更新模块的情况下将其向更新服务器通知,更新服务器对篡改的更新模块不发送解密密钥。分割模块也可以用分别不同的加密密钥加密。
(27)在上述实施方式中,作为恢复处理的动作,将用加密解密密钥(旧加密解密密钥)加密的应用110、111使用新的加密解密密钥(新加密解密密钥)再加密,但并不限定于此,也可以不进行再加密处理。此时,也可以不生成新加密解密密钥而继续使用旧加密解密密钥,也可以做成保持旧加密解密密钥和新加密解密密钥、改变由应用使用的密钥的结构,也可以当需要旧加密解密密钥时从共享信息再次生成。在继续使用旧加密解密密钥的情况下,每当更新保护控制模块120时旧加密解密密钥增加。此外,需要由各更新模块保持新加密解密密钥和旧加密解密密钥的共享信息。
(28)在上述实施方式中,在保护控制模块121没有被正确地更新的情况下将设备100停止,但并不限定于此,也可以再次实施相互认证处理及恢复处理。
(29)在上述实施方式中,作为无效化处理的动作,访问信息是用来将更新模块删除的专用驱动程序,但并不限定于此,也可以是用来将更新模块删除的专用程序,也可以是记述有用来将更新模块删除的步骤的程序文件,也可以是删除的更新模块的地址,也可以是将更新模块删除的程序的地址,也可以是用于使用来将更新模块删除的功能动作的寄存器或存储器的地址、或设定在寄存器或存储器中的值。此外,访问信息也可以是记述有将代码部分删除的信息。在此情况下,也可以是,代码位置保存在标题中,参照标题来判断应删除的代码部分。进而,也可以将访问控制模块自身用加密密钥加密。在此情况下,也可以是,没有被篡改的更新模块从更新服务器取得与将访问控制模块加密了的加密密钥相对应的解密密钥,使用所取得的解密密钥将访问控制模块解密,从访问控制模块取得对应于被篡改的更新模块的访问信息,基于所取得的访问信息将被篡改的更新模块无效化。
(30)在上述实施方式中,作为无效化处理的动作,将被篡改的更新模块整体删除,但并不限定于此,也可以将被篡改的不正当的更新模块的一部分、例如用来读入其他模块的读入功能等特定的功能或函数、密钥或用来访问其他模块的信息(标签(ticket)、令牌(token)、套接字(socket))等的数据删除,也可以使其不能从其他程序访问,也可以进行非活性化,也可以进行更新。此外,也可以是,在将被篡改的更新模块无效化后,进行了无效化处理的更新模块将保存在访问控制模块中的、对应于已无效化的更新模块的访问信息删除。
(31)在上述实施方式中,将被篡改的不正当的更新模块无效化,但并不限定于此,也可以不将被篡改的不正当的更新模块无效化。此时,既可以根据多少部分被篡改、哪个部分被篡改等而判断是否无效化,也可以通过被篡改的不正当的更新模块的数量决定无效化的更新模块数。
(32)在上述实施方式1及实施方式2中,设更新模块的数量为3而进行了说明,但并不限定于此,更新模块只要有多个就可以。
(33)在上述实施方式中,访问控制模块140及更新模块组130装入在OS150之中,但也可以在更新模块具备将OS更新的功能的情况下等将更新模块在OS的管理外作为程序保存。此外,保护控制模块也可以装入在OS中。
(34)设备100具体而言是便携电话等的便携终端或数字电视机等,只要是能够进行双向的数据通信的设备就可以。
(35)在上述实施方式中,访问信息被按照每个更新模块分别用单独的访问信息取得密钥加密,但也可以用相同的访问信息取得密钥加密。在此情况下,也可以是,正常的更新模块对更新服务器访问,取得对应于访问信息取得密钥的解密密钥,使用所取得的解密密钥将访问控制模块解密,从访问控制模块取得对应于被篡改的更新模块的访问信息,基于所取得的访问信息将被篡改的更新模块无效化。
(36)在上述实施方式中,在保护控制模块被篡改的情况下,将该保护控制模块更新,此时,包含在更新模块组中的多个更新模块分别进行其他更新模块的篡改验证,但也可以是,不论篡改的有无,都例如在使保护控制模块的版本升级的情况下等进行篡改验证。
(37)在上述实施方式中,将更新用的保护控制模块用多个加密密钥加密,但也可以用一个加密密钥加密。在此情况下,也可以是,将对应于该加密密钥的解密密钥分割为多个,将分割后的解密密钥的全部以没有被篡改的更新模块为发送目的地发送,使用分割后的全部的解密密钥,没有被篡改的更新模块将更新用的保护控制模块解密。
(38)在上述实施方式中,更新模块131、132、133实施保护控制模块120的篡改检测,但还可以是保护控制模块120实施各更新模块的篡改检测。
以下,说明保护控制模块120进行各更新模块的篡改检测的处理。
保护控制模块120使用篡改检测用证书验证更新模块131、132、133的篡改的有无。在检测到更新模块131、132、133中的某个更新模块的篡改的情况下,保护控制模块120将该消息通知给判断部210。在没有检测到篡改的情况下,不进行向判断部210的通知。
在从保护控制模块120有篡改检测的通知的情况下,判断部210为了确认保护控制模块120自身是否没有被篡改,向更新模块131、132、133委托保护控制模块120的篡改检测处理。
从判断部210接受到委托的各更新模块实施保护控制模块120的篡改检测,将篡改检测结果向判断部210通知。另外,在保护控制模块120被篡改的情况下也不向其他更新模块通知。以后的处理与实施方式1的检测处理是同样的,所以省略。
接着,对为了判断保护控制模块120是否被篡改而使用保护控制模块120进行的各更新模块的篡改检测结果的例子进行说明。
如上所述,在检测处理时,保护控制模块120实施各更新模块131、132、133的篡改检测。保护控制模块120在检测到更新模块的篡改的情况下,将该消息通知给判断部210。
接受到通知的判断部210向各更新模块131、132、133委托相互监视,各更新模块相互实施篡改检测。
判断部210如果从各更新模块接受到相互监视的结果,则根据相互监视的结果,判断保护控制模块120检测到篡改的更新模块是否被篡改。
在根据相互监视的结果判断为上述更新模块被篡改的情况下,判断部210判断保护控制模块120是正当的。另一方面,在根据相互监视的结果判断为上述更新模块没有被篡改的情况下,判断部210判断保护控制模块120是不正当的。
例如,在保护控制模块120检测到更新模块132的篡改的情况下,在通过相互监视也同样判断为更新模块132被篡改的情况下,证明保护控制模块120的检测结果是正确的,所以可知保护控制模块120没有被篡改。另一方面,在相互监视的结果判断为更新模块132没有被篡改的情况下,证明保护控制模块120的检测结果不正确,所以可知保护控制模块被篡改。
(39)在上述实施方式中,使各更新模块预先保持用来将保护控制模块120更新的功能,但并不限定于此,也可以将检测保护控制模块的篡改、当发生了更新保护控制模块120的需要时通过取得用来将保护控制模块120更新的访问信息、将保护控制模块120更新的功能附加在更新模块中。此时,除了访问信息取得密钥保持部803以外,模块无效化部230也保持有用来将保护控制模块120更新的访问信息取得密钥。此外,访问控制模块140除了各更新模块的访问信息以外还保持有保护控制模块120的加密访问信息。
说明对更新模块附加将保护控制模块更新的功能的处理。对于与实施方式1相同的处理使用相同的标号。在更新处理中,更新用软件发布部220将更新用保护控制模块121使用多个密钥进行多重加密,将多重加密更新用保护控制模块和第1密钥发送给包含在更新模块组130中的更新模块131(S5001到S5009)。包含在更新模块组130中的更新模块从更新用软件发布部220接收第2密钥,将多重加密的更新用保护控制模块解密,取得更新用保护控制模块(S5012到S5016)。
在取得更新用保护控制模块后,更新模块132为了将保护控制模块120向更新用保护控制模块121进行更新而对模块无效化部230进行委托,以使其将用来更新保护控制模块120的访问信息取得密钥送出。进而,对访问控制模块140进行委托,以使其发送用来将保护控制模块120更新的访问信息。
模块无效化部230如果接受到访问信息取得密钥的送出委托,则对更新用软件发布部220询问委托源的更新模块是否是将保护控制模块120更新的更新模块,在是将保护控制模块120更新的更新模块的情况下,向委托源的更新模块132送出用来将保护控制模块120更新的访问信息取得密钥。
访问信息模块140如果从更新模块132受理了访问信息的发送委托,则将对应于保护控制模块120的加密访问信息向更新模块132发送。
更新模块132如果从模块无效化部230接收到访问信息取得密钥、从访问控制模块140接收到加密访问信息,则使用接收到的访问信息取得密钥,将加密访问信息解密,取得访问信息。所取得的访问信息是用来将保护控制模块120更新的专用驱动程序。更新模块132利用该驱动程序将保护控制模块120向更新用保护控制模块121进行更新。并且,将更新的结束向其他更新模块通知。
包含在更新模块组130中的各更新模块验证保护控制模块120是否被正确地更新为更新用保护控制模块121,在被正确地更新的情况下,生成保护控制模块121的MAC值。
(40)在上述实施方式中,判断基准保存在判断部210内的判断基准保存部606中,但并不限定于此,判断基准也可以保存在更新服务器200的外部的装置或服务器中,在将判断基准读入的情况下,也可以每次从外部取得。
(41)在上述实施方式中,判断基准预先保存在判断部210内的判断基准保存部606中,但并不限定于此,也可以将预先保存的判断基准在更新服务器200内部中变更,也可以从外部的装置或服务器取得判断基准而变更。
(42)在上述实施方式中,更新模块具有1个监视模式信息,但也可以具有多个监视模式信息。此外,在具有多个监视模式信息的情况下,既可以由更新模块组130一齐切换监视模式,也可以是各更新模块单独判断并切换。切换的定时既可以在设备100内判断,也可以从更新服务器200通知,也可以将判断切换定时的算法从更新服务器200事前通知,使用该算法在设备100中判断切换定时。此外,也可以与多个监视模式信息一起具有切换监视模式的定时及何时使用哪个监视模式的信息。由此,在设备100和更新服务器200为不能通信的状况下,也能够由设备100单独实施组合了各种监视模式的监视。此外,在需要监视模式的更新时,只要从更新服务器200仅进行切换的指示就可以,所以能够减少设备100与更新服务器200的通信量。
(43)在上述实施方式中,作为监视模式信息的监视频度,由关于对监视对象进行监视的定时的信息构成,但并不限定于此,也可以包括使用多个监视模式中的哪个监视模式的定时、及监视模式的选择算法。由此,即使是相同的监视频度也能够选择不同的监视模式,攻击者进行的被监视的更新模块的预测变得困难。
(44)在上述实施方式中,监视模式主体的构造为在开头作为标题信息记述有监视模式的数量和监视模式各自的大小、在其以后分别排列有监视模式识别符和监视模式的组的构造,但并不限定于此,也可以单单仅记述1个监视模式,也可以将监视模式的大小设为固定长的大小、在监视模式主体中不记述大小。此外,也可以为作为标题信息而记述监视模式的数量、在其以后分别排列大小和监视模式识别符、监视模式的组的构造。进而,多个监视模式的排列顺序既可以以对应于关于作为监视对象的模块的信息(模块识别符、存储器上的位置、大小、地址、文件名等)的顺序排列,也可以以对应于监视模式的大小的顺序排列,也可以以对应于监视模式识别符的顺序排列,也可以与这些信息无关地排列。但是,在作为标题信息而记述大小的情况下,大小的顺序、及与其对应的监视模式识别符和监视模式的组的顺序需要一致。
(45)在上述实施方式中,作为追加处理的动作,更新模块分割部905以与实施追加处理的更新模块的数量相同的数量进行分割,但并不限定于此,也可以比实施更新处理的更新模块的数量更少地进行分割、也可以更多地进行分割。例如,在更少的情况下,也可以将分割后的追加用更新模块(追加用更新模块部分)的一部分发送给两个以上的多个更新模块,在较多的情况下,也可以是一部分的更新模块接收多个追加用更新模块部分。由此,能够使实施追加处理的更新模块的数量与将追加用更新模块分割的数量成为不同的数量。此外,通过将1个追加用更新模块部分发送给多个更新模块,即使在某一个更新模块被攻击而变为不正当的情况下,也能够通过接收到相同的追加用更新模块部分的更新模块进行追加处理,而继续更新模块的追加处理。进而,由于1个更新模块能够接收多个追加用更新模块部分,所以通过将追加用更新模块细密地分割、将不连续的多个追加用更新模块部分向各个更新模块发送,能够使攻击者的解析变得困难。
进而,也可以在更新模块保持部904中保持预先分割的追加用更新模块。如果这样保持,模块追加部也不论设备100内部的更新模块的数量如何都能够进行追加处理。此外,在预先决定了分割方法、分割数量的情况下,也能够不论实施追加处理的更新模块的数量如何都实施追加处理。
(46)在上述实施方式中,接收到分割后的追加用更新模块的各更新模块分别独立地实施追加处理,但并不限定于此,也可以是各个更新模块协同依次实施追加处理。在此情况下,在图27的追加处理的序列图中,当在各更新模块中追加处理结束时,将“追加处理结束通知”仅向模块追加部通知,但需要通过将该“追加处理结束通知”也向其他更新模块通知、使得其他更新模块能够识别出结束到第几个的追加处理,或者通过将“追加处理结束通知”向下个更新模块通知、使得能够依次进行处理。
关于执行追加处理的顺序,例如,也可以对各个更新模块附加进行追加处理的优先顺位、根据该优先顺位由更新服务器200选择的更新模块依次执行追加处理。此时,优先顺位既可以在系统设计时决定,也可以从服务器事前通知优先顺位,也可以在设备内每次随机地决定。此外,也可以不是优先顺位,而是当将分割后的追加用更新模块向各更新模块发送时将处理顺序一起发送。作为处理顺序的决定方法,例如,也可以是更新模块选择部903根据选择时的顺序决定追加处理的顺序,也可以为随机的顺序,也可以决定顺序、以使得被许多模块监视的更新模块的处理顺序靠后。此外,也可以是,在更新模块分割部905将追加用更新模块分割时,决定顺序,以使得包含安全方面重要的信息的部分的处理顺序靠后,也可以决定顺序,以使得从大小较大的部分起依次实施追加处理。
进而,也可以是,不是在设备100的内部中识别追加处理的顺序,而是更新服务器200识别追加处理的顺序,在更新服务器200中控制对设备100送出的顺序及定时。
(47)在上述实施方式中,说明了追加1个更新模块的处理,但并不限定于此,也可以将多个更新模块同时追加。图57是表示将多个更新模块同时追加时的分割方法的一例的图。在图57中,当使用3个更新模块实施追加处理时,首先,将各个追加用更新模块分割为与要追加处理的更新模块相同数量的3个,对其分别附加写入顺序。并且,将追加用更新模块1的部分1和追加用更新模块2的部分1向更新模块131发送、将追加用更新模块1的部分2和追加用更新模块2的部分2向更新模块132发送、将追加用更新模块1的部分3和追加用更新模块2的部分3向更新模块133发送。在各个更新模块中,对应于对接收到的追加用更新模块部分附加的写入顺序实施追加处理。这里,将多个追加用更新模块分别分割为相同的数量,但并不限定于此,也可以在全部的追加用更新模块中分割为规定的数量。此外,将多个更新模块同时追加,但并不限定于此,也可以追加更新模块和伪模块。由此,能够一次追加多个更新模块,能够使设备100的安全强度提高。此外,由于在多个追加用更新模块的部分为一起的状态下从更新服务器200向设备100发送、实施追加处理,所以攻击者的解析变得困难。进而,通过也包括伪模块,能够使解析变得更困难。
(48)在上述实施方式中,设备100从更新服务器200接收追加用更新模块,但并不限定于此,也可以在初始设计处理时向各更新模块预先保存追加用更新模块部分。此外,也可以不是追加用更新模块部分、而是预先保存生成追加用更新模块部分的程序,在需要追加处理时各更新模块生成追加用更新模块部分。在此情况下,在模块追加部240中不需要更新模块保持部904和更新模块分割部905,可以选择进行追加处理的更新模块,仅向所选择的更新模块发送处理开始的指示。
(49)在上述实施方式中,当设备100接收到追加用更新模块时进行追加处理,但并不限定于此,也可以是,设备100预先从更新服务器200接收分割后的追加用更新模块和更新模块验证信息,根据更新模块组130进行的相互监视的结果、及保护控制模块120进行的更新模块的检查结果,当检测到正常的更新模块的数量为过半数等的规定的值以下时不与更新服务器200通信,而使用预先接收到的追加用更新模块实施追加处理。由此,即使在设备100被从网络切断的情况下,也能够进行更新模块的追加处理,能够保持安全强度。
(50)在上述实施方式中,在监视模式更新部250中生成监视模式,但并不限定于此,也可以预先保存监视模式。此外,监视模式也可以从更新服务器200的外部的装置或服务器给出。由此,能够减少监视模式更新部250的处理,能够迅速地进行监视模式的更新处理。
(51)在上述实施方式中,在监视模式更新部250中,将生成的新监视模式向设备100送出,但并不限定于此,也可以将监视模式生成程序向设备100送出。此时,接收到监视模式生成程序的设备100执行监视模式生成程序而生成监视模式,按照所生成的监视模式进行监视。由此,能够根据设备100的内部状态而生成优化的监视模式,容易检测到不正当的更新模块。
(52)在上述实施方式中,作为初始设计处理的动作,也可以在设备100的工厂制造时预先安装监视模式,也可以从更新服务器200得到。此外,在没有安装监视模式的情况下,也可以使用默认的监视模式。默认的监视模式例如也可以是监视全部的其他更新模块的监视模式,或者如实施方式1那样更新模块是3个的情况下、如更新模块131监视更新模块132、更新模块132监视更新模块133、更新模块133监视更新模块131那样的环状的监视模式。
(53)在上述实施方式中,作为初始化设计处理的动作,也可以是用户设定安全级别。也可以是能够按照所设定的安全级别而设定更新模块的数量及监视的频度。此外,也可以在用户设定的安全级别下更新模块的数量不足的情况下从更新服务器200得到更新模块。此外,也可以按照安全级别而得到监视模式。由此,能够适当地设定安全级别、保持安全强度。
(54)在上述实施方式中,作为更新模块初始化处理的动作,也可以验证是否有自身的监视模式。此外,也可以在不存在监视模式的情况下对更新服务器200进行询问、得到监视模式。
(55)在上述实施方式中,作为分析/判断处理的动作,基于检测处理的结果判断为保护控制模块120被篡改,进行是否恢复的判断,但并不限定于此,也可以基于与设备100同样的第三设备的保护控制模块被篡改的信息来判断是否将保护控制模块120恢复,也可以从外部取得保护控制模块危险信息。作为保护控制模块危险信息,例如有相同的安装方法的保护控制模块被篡改等的信息。
(56)在上述实施方式3中,作为通常时无效化判断处理的动作,在判断为更新模块半数以上有危险的情况下将更新模块全体更新,但并不限定于此,也可以将设备停止。
(57)在上述实施方式中,作为通常时无效化判断处理的动作,在判断为更新模块半数以上有危险的情况下将更新模块组130全体更新,但并不限定于此,也可以对有危险的更新模块的全部进行无效化处理,在无效化处理完成后进行更新模块的追加处理。
(58)在上述实施方式中,作为追加判断处理的动作,在更新模块是规定值以下的情况下进行追加处理,但并不限定于此,也可以判断是否进行了无效化处理,在进行了无效化处理的情况下进行追加处理。此外,追加处理并不限于1次,也可以进行多次。进而,也可以将规定值增加,使其比初始的更新模块的数量多。此外,也可以不是实施追加处理而是将更新模块全体更新。由此,能够将更新模块数维持为一定数量,能够保持设备100内的安全强度。
(59)在上述实施方式中,作为监视模式更新判断处理的动作,通过由无效化处理或追加处理变更更新模块的结构,判断是否需要进行监视模式的更新,但并不限定于此,也可以通过经过了某一定时间而进行监视模式的更新的判断,也可以根据通常时和恢复时那样的设备100内部的状态来进行监视模式的更新的判断。此外,也可以得到第三设备的监视模式被更新的信息、进行监视模式的更新的判断,也可以从更新服务器200的外部的装置或服务器得到信息、判断监视模式的更新。进而,也可以在相互监视的结果判明了不正当的更新模块的情况下判断为将监视模式更新。由此,在进行攻击者的攻击前、或刚刚攻击之后能够进行监视模式的更新,所以能够使攻击变得困难。
(60)在上述实施方式中,作为追加处理的动作,接收到更新模块的验证信息的更新模块实施追加用更新模块的验证(S3316),模块追加部240的控制部960根据验证结果判断追加用更新模块是否被正确地追加(S3318),但并不限定于此,也可以是,模块追加部240的控制部960将与追加的更新模块的验证信息不同的验证信息发送给更新模块,通过用不同的验证信息验证,确认从更新模块通知的验证结果不正确,由此来验证追加用更新模块的验证是否被正确地实施。此外,也可以是,更新模块分割部905将错误的更新模块分割,向更新模块发送,通过控制部960发送正确的更新模块的验证信息,确认从更新模块通知的验证结果不正确,由此验证追加用更新模块的验证是否被正确地实施。由此,能够进行追加用更新模块的验证(S3316)是否正确地动作确认,通过验证功能正确地动作,能够防止对设备100内追加不正当的更新模块。
(61)在上述实施方式中,作为通常时无效化判断处理的动作,在判断为更新模块半数以上有危险的情况下,将更新模块全体更新,但并不限定于此,也可以判断是否超过监视功能的极限,在超过的情况下将更新模块全体更新。作为超过监视功能的极限的情况,例如也可以在超过半数以上的规定的阈值的情况下判断为超过监视功能的极限。此外,在存在不具有监视功能的更新模块的情况下,在虽然在更新模块整体的数量中是半数以下、但具有监视功能的更新模块半数以上有危险的情况下判断为超过监视功能的极限。
(62)在上述实施方式中,作为监视模式更新判断处理的动作,通过变更无效化处理或追加处理带来的更新模块的结构,判断是否需要监视模式的更新,但并不限定于此,也可以在相互监视处理中、在检测到任一个的不正当的情况下判断为将监视模式更新。由此,能够对哪个更新模块为不正当、以及是怎样的不正当等进行详细的不正当的确认。
(63)在上述实施方式中,作为相互监视处理的动作,更新模块组130内的更新模块131~133分别对其他更新模块实施篡改检测的处理,在由攻击者篡改的情况下检测该情况,但并不限定于此,也可以根据被篡改的位置及量的程度来检测不正当,也可以检查更新模块的日志来检测不正当。
(64)在上述实施方式中,作为相互认证处理的动作,判断返回正确的应答数据的更新模块的数量,如果不到恢复处理所需要的更新模块的数量则转移到恢复处理,但此时也可以追加将没有返回正确的应答数据的更新模块存储的功能。没有返回正确的应答数据的更新模块有可能被篡改,通过存储,选择用于更新处理的更新模块(S5006),但不选择没有返回正确的应答数据的更新模块,由此能够防止没有返回正确的应答数据的更新模块被篡改、而不能正当地进行更新处理。此外,也可以更新为将没有返回正确的应答数据的更新模块排除的监视模式。由此,在恢复时相互监视处理的相互监视处理(S5101)的动作中,能够仅由返回了正确的应答数据的更新模块组进行相互监视。
(65)在本发明的实施方式2中,作为监视模式的更新处理的动作,监视模式分割部1004将新监视模式(整体)分割,发送给各个更新模块,但并不限定于此,也可以将新监视模式(整体)发送给设备100,更新模块从新监视模式(整体)取得自身的监视模式并更新。
(66)在本发明的实施方式2中,作为监视模式的更新处理的动作,验证记述在更新后的新监视模式主体中的更新模块的监视模式主体,但也可以验证全部的更新模块,也可以验证在设备100内预先决定的更新模块,也可以是更新服务器200通知验证哪个更新模块,如果是验证全部的更新模块,则也可以随机地决定。
(67)在本发明的实施方式2中,作为监视模式的更新处理的动作,监视模式分割部1004将新监视模式(整体)分割而发送给各个更新模块,但并不限定于此。例如,也可以如以下这样取得监视模式。首先,更新服务器200对某个更新模块发送新监视模式(整体),接收到新监视模式(整体)的更新模块仅取得新监视模式(整体)中的自身的监视模式,转送给其他更新模块。进而,接收到新监视模式(整体)的其他更新模块仅取得新监视模式(整体)中的自身的监视模式,向没有取得新监视模式的其他更新模块发送。通过将该动作对全部的更新模块重复,各更新模块能够取得自身的监视模式。
此外,也可以是,更新服务器以仅各个更新模块能够进行解密的方式,将有关相应的更新模块的新监视模式加密,将加密新监视模式(整体)向某个更新模块发送。接收到新监视模式(整体)的更新模块通过仅将自身的新监视模式解密而得到自身的监视模式,将变旧的监视模式更新。
(68)在本发明的实施方式3中,作为初始设计处理的动作,保持相邻接的更新模块的共享信息,但并不限定于此,也可以不仅是保持相邻接的更新模块的共享信息、还保持相邻接的更新模块所邻接的自身以外的更新模块的共享信息。具体而言,在更新模块A的一侧相邻接的更新模块B所邻接的更新模块C的共享信息也由更新模块A保持。在此情况下,更新模块A包括自身的共享信息而保持4个共享信息。此外,作为通常时无效化判断处理的动作,即使判断为相邻接的两相邻的更新模块有危险,也不需要将更新模块全体更新,而通过对有危险的更新模块进行无效化处理、进行专利文献2的退出处理,来进行共享信息的相互保持。但是,在再加密处理中,在加密解密密钥的复原的动作中,进行没有危险的更新模块具有的共享信息是否正确的专利文献2的共享信息的验证处理。共享信息的验证处理的详细的方法在专利文献2的57页中已详细地说明,所以这里的说明省略。通过上述的处理,即使邻接于更新模块C的更新模块有危险,也由于更新模块A保持着更新模块C的共享信息,所以能够进行专利文献2的共享信息的验证处理,验证更新模块C的共享信息的正当性,能够防止在加密解密密钥的复原处理(S5204)中不能正确地复原。
(69)在本发明的实施方式3中,作为通常时无效化判断处理的动作,在判断为相邻接的更新模块有危险的情况下(S320B)将更新模块全体更新,但并不限定于此,也可以进行有危险的更新模块的无效化处理、而不将更新模块全体更新。但是,如图58所示,由于其他更新模块不保持更新模块131所保持的共享信息1,所以需要追加处理。使用图58说明该情况下的追加判断处理。相邻接的更新模块有危险,判断是否仅进行了无效化处理(S330A),在无效化的情况下进行追加处理。在将邻接于更新模块131的更新模块132和更新模块137无效化的情况下,保持共享信息1的更新模块仅为更新模块131,接着在更新模块131被攻击的情况下,不再能够进行加密解密密钥的复原。在此情况下,通过追加更新模块、使追加的更新模块保持共享信息1,即使更新模块131被攻击,也能够避免不能将加密解密密钥复原的情况。这里,也可以不是使追加的更新模块保持共享信息1,而是保护控制模块120将更新模块全体的共享信息更新。将更新模块全体的共享信息更新的方法与通常时无效化判断处理中的更新模块全体的共享信息的更新方法是同样的,所以这里省略。通过如上述那样,能够将共享信息1由多个更新模块保持,所以即使在更新模块131被篡改的情况下,也能够防止不能进行加密解密密钥的复原。
(70)在本发明的实施方式3中,作为通常时无效化判断处理的动作,也可以是,在邻接于某个更新模块13A的更新模块的某一个(这里是更新模块13)有危险的情况下,不进行专利文献2的退出处理而进行更新模块13B的无效化处理。由此,由于更新模块13A的共享信息A由某一方保持,所以不需要追加处理,通过不进行追加处理,能够进行多个更新模块继续是否不进行不正当动作的验证等其他处理。
此外,也可以是,保护控制模块120在验证应用(110、111)是否没有被篡改后,进行更新模块的追加处理,以使其邻接于更新模块13A。由此,在结束验证本来应保护的应用是否没有被篡改的处理后,进行邻接于更新模块13A的更新模块的追加,所以使邻接于上述一侧的更新模块的追加作业优先,以使得即使不追加相邻接的更新模块也能够将上述规定的解密密钥复原,能够防止在上述追加作业的期间中上述规定的应用被攻击。
(71)在本发明的实施方式3中,作为初始设计处理的动作,全部的更新模块保持相邻接的更新模块的共享信息,但并不限定于此,也可以是,某个更新模块的共享信息由相邻接的更新模块和另外的其他更新模块保持。以下,使用图59具体地说明。在实施方式3中,由于保持相邻接的更新模块的共享信息,所以共享信息1由更新模块131、132、137保持。因此,作为通常时无效化判断处理及恢复时判断处理的动作,在更新模块131、132、137的连续3个有危险的情况下,不再能够将共享信息1复原,所以进行将设备停止等的处理。如图59那样,通过更新模块131、132、133、137保持共享信息1,即使在通常时无效化判断处理及恢复时判断处理中更新模块131、132、137的连续3个有危险的情况下,也不能将共享信息1复原,所以关于共享信息1,作为通常时无效化判断处理及恢复时判断处理的动作,为是否连续4个有危险的判断。但是,关于从共享信息2到共享信息7,由于仅由相邻接的更新模块保持,所以为是否连续3个有危险的判断。这样,在相互保持各共享信息的数量不同的情况下,需要按照每个共享信息考虑相互保持的数量来判断。在实施方式3中,由于共享信息的相互保持的数量都是3,所以不需要考虑按照每个共享信息的判断。
(72)在本发明的实施方式3中,作为初始设计处理的动作,全部的更新模块同样地保持保护控制模块120的加密解密密钥,但并不限定于此,也可以是,将加密解密密钥分割,对分割后的加密解密密钥的1个使用秘密共享法生成共享信息。作为具体的例子,使用图60进行说明。保护控制模块120将加密解密密钥分割为分割密钥1和分割密钥2的两个。对于各个分割密钥,与初始设计处理同样使用秘密共享法生成共享信息,以使分割密钥1为共享信息1到共享信息5、分割密钥2为共享信息6到共享信息10。将分割密钥1的共享信息发送给更新模块1301到1305,将分割密钥2的共享信息发送给更新模块1306到1310。在加密解密密钥的复原中,从各更新模块接收共享信息,将分割密钥复原,从复原的分割密钥复原加密解密密钥。此外,在通常时无效化判断处理及恢复时判断处理的动作中,在具有对于分割密钥的共享信息的更新模块的结构中,进行是否连续3个更新模块有危险的判断。此外,在无效化处理及追加处理中使用的专利文献2的退出处理及追加处理,通过具有分割密钥的共享信息的更新模块的结构进行。
(73)在本发明的实施方式3中,保护控制模块120生成加密解密密钥的共享信息的配置信息,但并不限定于此,也可以是更新服务器200生成配置信息而发送给保护控制模块120,也可以从外部的装置或服务器得到。此外,也可以从更新服务器200输入共享信息的相互保持的数量。此时,通过相互保持的数量,决定在更新服务器200内判断在通常时无效化判断处理及恢复时判断处理的更新模块中的更新模块的结构中连续几个有危险的数量。
(74)在本发明的实施方式3中,保护控制模块120存储有加密解密密钥的共享信息的配置信息,但并不限定于此,也可以是,保护控制模块120将共享信息的配置信息发送给更新服务器200、由更新服务器200存储,也可以是更新服务器200对更新模块组130发送通知委托、从更新模块组130接收,也可以从更新服务器200的外部的装置或服务器得到。
(75)在实施方式2中,在S8101中接收到新监视模式的各个更新模块使用监视模式更新部309将自身的监视模式信息向接收到的新监视模式进行更新,但也可以保持更新前的监视模式。并且,在S8102中,在监视模式更新部250从全部更新模块接受到监视模式的反映结束的通知的情况下,即在全部的更新模式的更新完成的情况下,监视模式更新部250对各更新模块发送更新前的监视模式丢弃的指示。并且,各更新模块在接受到监视模式丢弃的指示的情况下,将更新前的监视模式丢弃。在全部的更新模式的更新没有完成的情况下,将新监视模式丢弃。
这里,全部的监视模式的更新是否完成也可以在监视模式更新部250侧进行,也可以在更新模块侧进行。如果是由监视模式更新部250进行的情况,则在监视模式更新部250将新监视模式发送给各更新模块后一定时间内没有从全部更新模块接受到反映结束的通知的情况下,判断为全部的更新模式的更新没有完成。在此情况下,监视模式更新部250对各更新模块指示,以使其将更新前的监视模式丢弃。
此外,在更新模块侧进行全部的监视模式的更新是否完成的情况下,监视模式更新部250在从全部更新模块接受到反映结束的通知时,对各更新模块通知全部的更新模式的更新完成的消息。各更新模块在接受到新监视模式后一定时间内接受到全部的监视模式的更新完成的通知的情况下将更新前的监视模式丢弃,在没有接受到全部的监视模式的更新完成的通知的情况下将新监视模式丢弃。
(76)在上述实施方式1中,各更新模块使用保存在MAC值表中的MAC值检测其他更新模块的篡改的有无。这里,在MAC值表自身被篡改的情况下,有可能不能正确地实施更新模块的篡改检测。例如,即使是更新模块被篡改的情况,在保存在MAC值表中的MAC值也被相同的攻击者篡改的情况下,即使更新模块被篡改,也检测为没有篡改。
此外,在上述实施方式1中,各更新模块使用保存在验证值列表中的验证值来验证是否已将监视模式及监视频度正确地更新。这里,在验证值列表自身被篡改的情况下,有可能不能正确地实施监视模式及监视频度的验证。
所以,为了应对这些问题,也可以是,在实施方式1中,各更新模块安装用来保护MAC值表及验证值列表的保护程序,保护MAC值表及验证值列表。
在此情况下,也可以是,在相互监视中,各更新模块相互进行安装在各更新模块中的保护程序的篡改检测。
并且,在没有检测到保护程序的篡改的情况下,在该更新模块中,视为MAC值表及验证值列表没有被篡改,在检测到保护程序的篡改的情况下,在该更新模块中,可视为MAC值表及验证值列表被篡改。
此外,用来保护MAC值表及验证值列表的保护程序既可以是例如将MAC值表及验证值列表加密/解密的程序,也可以是签名生成程序。此时,也可以对MAC值表及验证值列表附加填充数据(padding)。由此,通过在解密时或签名验证时判断填充数据是否正确,能够检测MAC值表及验证值列表的篡改。
此外,也可以是,通过预先生成MAC值表自身的MAC值来检测MAC值表的篡改。此时,也可以对用来验证MAC值的密钥实施难破解化。同样,也可以通过预先生成验证值列表的MAC值来对验证值列表的篡改进行验证。
MAC值表及验证值列表的验证既可以定期地进行,也可以不定期地进行。在不定期地进行的情况下,例如也可以在更新模块组130进行的相互监视处理之前进行。
(77)上述的各模块具体而言,既可以是分别单独的计算机程序,也可以是装入在操作系统中的模块,也可以是被操作系统调用的驱动程序,也可以是应用程序。
(78)上述的各装置具体而言是由微处理器、ROM、RAM、硬盘单元、显示器单元、键盘、鼠标等构成的计算机系统。在上述RAM或硬盘单元中存储有计算机程序。通过上述微处理器按照上述计算机程序动作,各装置实现其功能。这里,计算机程序是为了达到规定的功能、将表示对计算机的指令的命令代码组合多个而构成的。
(79)构成上述各装置的构成要素的一部分或全部也可以由1个系统LSI(Large Scale Integration:大规模集成电路)构成。系统LSI是将多个构成部分集成在1个芯片上而制造的超多功能LSI,具体而言,是包括微处理器、ROM、RAM等而构成的计算机系统。在上述RAM中存储有计算机程序。通过上述微处理器按照上述计算机程序动作,系统LSI实现其功能。
此外,构成上述各装置的构成单元的各部分既可以单独单芯片化,也可以包括一部分或全部而单芯片化。
此外,这里设为系统LSI,但根据集成度的差异,也有称作IC、LSI、超级(super)LSI、特级(ultra)LSI的情况。此外,集成电路化的方法并不限定于LSI,也可以由专用电路或通用处理器实现。也可以利用在LSI制造后能够编程的FPGA(Field Programmable Gate Array:现场可编程门阵列)、或能够再构成LSI内部的电路单元的连接及设定的可重构处理器。
进而,如果通过半导体技术的进步或派生的其他技术出现代替LSI的集成电路化的技术,则当然也可以使用该技术进行功能块的集成化。有可能是生物技术的应用等。
(80)构成上述各装置的构成要素的一部分或全部也可以由相对于各装置可拆装的IC卡或单体的模块构成。上述IC卡或上述模块是由微处理器、ROM、RAM等构成的计算机系统。上述IC卡或上述模块也可以包括上述超多功能LSI。通过微处理器按照计算机程序动作,上述IC卡或上述模块实现其功能。该IC卡或该模块也可以具有耐篡改性。
(81)本发明也可以是上述所示的方法。此外,也可以是通过计算机实现这些方法的计算机程序,也可以是由上述计算机程序构成的数字信号。
此外,本发明也可以是将上述计算机程序或上述数字信号记录到计算机可读取的记录介质——例如软盘、硬盘、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray Disc:蓝光光盘)、半导体存储器等中的形态。此外,也可以是记录在这些记录介质中的上述数字信号。
此外,本发明也可以是将上述计算机程序或上述数字信号经由电通信线路、无线或有线通信线路、以因特网为代表的网络、数据广播等传送的形态。
此外,本发明也可以是具备微处理器和存储器的计算机系统,上述存储器存储有上述计算机程序,上述微处理器按照上述计算机程序动作。
此外,也可以通过将上述程序或上述数字信号记录到上述记录介质中并移送、或通过将上述程序或上述数字信号经由上述网络等移送,由独立的其他计算机系统实施。
(82)也可以将上述实施方式及上述变形例分别组合。
产业上的可利用性
有关本发明的更新系统、程序执行装置等由于能够相互监视所执行的各模块的不正当动作、将系统的安全强度维持得较高,所以对于利用安全的应用的网络家电等的民生设备是适用的。有关本发明的监视系统、程序执行装置等由经营民生设备的业者进行制造、销售等。
标号说明
10 软件更新系统
100 设备
110、111 应用
120 保护控制模块
121 新保护控制模块
130 更新模块组
131、132、133、134、135、136、137 更新模块
140 访问控制模块
150 OS
160 引导装载器
171 CPU
172 EEPROM
173 RAM
174 NIC
200 更新服务器
210 判断部
220 更新用软件发布部
230 模块无效化部
240 模块追加部
250 监视模式更新部
301 接收部
302 发送部
303 控制部
304 更新部
305 验证部
306 MAC值生成部
307 MAC值表更新部
308 监视模式取得部
309 监视模式更新部
310 共享信息保持部
311 监视模式验证部
312 模块功能通知部
313 功能信息保持部
401 接收部
402 发送部
403 控制部
404 解密装载部
405 篡改检测部
406 分析工具检测部
407 加密解密密钥保持部
408 加密解密密钥生成部
409 加密解密密钥共享部
410 证书生成部
411 加密解密密钥复原部
501 接收部
502 发送部
503 访问信息保持部
601 受理部
602 指示部
603 指示生成部
604 不正当模块确定部
605 判断基准读入部
606 判断基准保存部
701 接收部
702 发送部
703 加密密钥生成部
704 加密处理部
705 认证部
706 更新模块选择部
707 控制部
708 证书生成部
709 签名私钥保持部
710 更新用软件保持部
711 加密密钥保持部
801 接收部
802 发送部
803 访问信息取得密钥保持部
804 更新模块选择部
901 接收部
902 发送部
903 更新模块选择部
904 更新模块保持部
905 更新模块分割部
906 控制部
1001 接收部
1002 发送部
1003 监视模式生成部
1004 监视模式分割部
1005 控制部
1006 功能信息取得部
1007 更新完成判断部
1301、1302、1303、1304、1305、1306、1307、1308、1309、1310 更新模块

Claims (12)

1.一种监视系统,由程序执行装置和服务器装置构成,其特征在于,
上述程序执行装置具备多个模块;
上述多个模块中的至少两个是监视其他模块的不正当动作的监视模块;
上述监视模块分别具备:
保持机构,保持表示作为不正当动作的监视对象的1个以上的模块的监视目标信息;
监视机构,监视由上述监视目标信息表示的模块的不正当动作;
发送机构,将上述监视的结果发送给服务器装置;以及
更新机构,在从上述服务器装置取得了更新用的新监视目标信息的情况下,将由上述保持机构保持的监视目标信息更新为该新监视目标信息;
上述服务器装置具备:
收集机构,收集上述监视模块各自进行的上述监视的结果;
确定机构,基于上述收集到的全部监视结果,确定全部模块之中的进行不正当动作的模块;以及
发送机构,保持有与上述监视模块分别保持的监视目标信息相同的监视目标信息,对监视目标信息进行重构,以使得从全部模块中除去上述确定的模块以外的其余模块分别被至少1个监视模块监视,对通过该重构而在监视目标信息中发生变更的监视模块发送相应的变更后的新监视目标信息。
2.一种程序执行装置,具备监视其他模块的多个监视模块,其特征在于,
第1监视模块具备:
保持机构,保持表示作为监视对象的1个以上的监视模块的监视目标信息;以及
更新机构,在从服务器装置取得了更新用的新监视目标信息的情况下,将由上述保持机构保持的监视目标信息更新为该新监视目标信息;
第2监视模块具备:
确认机构,在由上述第1监视模块进行了监视目标信息的更新的情况下,确认是否正常地进行了该更新;以及
发送机构,将上述确认的结果发送给上述服务器装置。
3.如权利要求2所述的程序执行装置,其特征在于,
上述确认机构预先保持有应根据上述第1监视模块所保持的监视目标信息而生成的摘要值的期待值,根据保持在上述第1监视模块的保持机构中的监视目标信息来生成摘要值,通过将所生成的摘要值与上述期待值比较来进行上述确认。
4.如权利要求3所述的程序执行装置,其特征在于,
上述第1监视模块在取得了上述新监视目标信息的情况下,将由更新前的监视目标信息表示的模块的监视中止,在从上述服务器装置接受到基于上述确认结果的发送的执行指示的情况下,监视由上述新监视目标信息表示的模块。
5.如权利要求4所述的程序执行装置,其特征在于,
上述第1监视模块还在上述更新之前将监视目标信息备份,在接受到上述执行指示的情况下将上述备份丢弃。
6.如权利要求5所述的程序执行装置,其特征在于,
上述第1监视模块在没有接受到上述执行指示的情况下,使用上述备份进行回滚处理。
7.如权利要求2所述的程序执行装置,其特征在于,
上述第2监视模块还具备:
保持机构,保持表示作为监视对象的1个以上的模块的监视目标信息;以及
更新机构,在从上述服务器装置取得了更新用的新监视目标信息的情况下,将上述第2监视模块的保持机构所保持的监视目标信息更新为该新监视目标信息;
上述第1监视模块还具备:
确认机构,在由上述第2监视模块的更新机构进行了监视目标信息的更新的情况下,确认是否正常地进行了该更新;以及
发送机构,将上述确认的结果发送给上述服务器装置。
8.如权利要求7所述的程序执行装置,其特征在于,
上述新监视目标信息构成为,使各监视模块被至少1个其他监视模块监视。
9.如权利要求2所述的程序执行装置,其特征在于,
上述更新机构取得综合监视目标信息,该综合监视目标信息包括关于1个以上的监视模块中的各个监视模块的更新用的监视目标信息,从上述综合监视目标信息中提取本监视模块应保持的更新用的监视目标信息来取得该信息。
10.一种监视程序,具备监视其他模块的多个监视模块,其特征在于,
第1监视模块具备:
保持步骤,保持表示作为监视对象的1个以上的监视模块的监视目标信息;以及
更新步骤,在从服务器装置取得了更新用的新监视目标信息的情况下,将由上述保持机构所保持的监视目标信息更新为该新监视目标信息;
第2监视模块具备:
确认步骤,在由上述第1监视模块进行了监视目标信息的更新的情况下,确认是否正常地进行了该更新;以及
发送步骤,将上述确认的结果发送给上述服务器装置。
11.一种记录介质,是存储监视程序的计算机可读取的记录介质,其特征在于,
上述监视程序具备监视其他模块的多个监视模块;
第1监视模块具备:
保持步骤,保持表示作为监视对象的1个以上的监视模块的监视目标信息;以及
更新步骤,在从服务器装置取得了更新用的新监视目标信息的情况下,将由上述保持机构所保持的监视目标信息更新为该新监视目标信息;
第2监视模块具备:
确认步骤,在由上述第1监视模块进行了监视目标信息的更新的情况下,确认是否正常地进行了该更新;以及
发送步骤,将上述确认的结果发送给上述服务器装置。
12.一种集成电路,具备监视其他模块的多个监视模块,其特征在于,
第1监视模块具备:
保持机构,保持表示作为监视对象的1个以上的监视模块的监视目标信息;以及
更新机构,在从服务器装置取得了更新用的新监视目标信息的情况下,将由上述保持机构保持的监视目标信息更新为该新监视目标信息;
第2监视模块具备:
确认机构,在由上述第1监视模块进行了监视目标信息的更新的情况下,确认是否正常地进行了该更新;以及
发送机构,将上述确认的结果发送给上述服务器装置。
CN200980146433.5A 2008-11-26 2009-11-20 监视系统、程序执行装置、监视程序、记录介质及集成电路 Active CN102224509B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008301308 2008-11-26
JP2008-301308 2008-11-26
PCT/JP2009/006260 WO2010061561A1 (ja) 2008-11-26 2009-11-20 監視システム、プログラム実行装置、監視プログラム、記録媒体及び集積回路

Publications (2)

Publication Number Publication Date
CN102224509A true CN102224509A (zh) 2011-10-19
CN102224509B CN102224509B (zh) 2014-07-30

Family

ID=42225449

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980146433.5A Active CN102224509B (zh) 2008-11-26 2009-11-20 监视系统、程序执行装置、监视程序、记录介质及集成电路

Country Status (5)

Country Link
US (1) US8745735B2 (zh)
EP (1) EP2352109B1 (zh)
JP (1) JP5390532B2 (zh)
CN (1) CN102224509B (zh)
WO (1) WO2010061561A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106257905A (zh) * 2015-06-18 2016-12-28 京瓷办公信息系统株式会社 管理系统、管理装置和图像形成装置
CN110506240A (zh) * 2017-03-28 2019-11-26 横河电机株式会社 工程辅助系统、工程辅助方法、服务器设备、存储介质、客户端设备及客户端程序
CN112567334A (zh) * 2018-08-10 2021-03-26 株式会社电装 车辆用主装置、安装的指示判定方法以及安装的指示判定程序

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101888311B (zh) * 2009-05-11 2013-02-06 北京神州绿盟信息安全科技股份有限公司 一种防止网络内容被篡改的设备、方法和系统
US20110225649A1 (en) * 2010-03-11 2011-09-15 International Business Machines Corporation Protecting Computer Systems From Malicious Software
US9450928B2 (en) * 2010-06-10 2016-09-20 Gemalto Sa Secure registration of group of clients using single registration procedure
US10027686B2 (en) * 2012-05-30 2018-07-17 Entit Software Llc Parameter adjustment for pattern discovery
US10013553B2 (en) 2013-03-27 2018-07-03 Irdeto B.V. Protecting software application
CN104679530B (zh) * 2013-11-26 2017-12-29 英业达科技有限公司 服务器系统与固件更新方法
US9383989B1 (en) 2014-06-16 2016-07-05 Symantec Corporation Systems and methods for updating applications
JP7378980B2 (ja) * 2019-06-27 2023-11-14 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6539266B1 (en) * 1999-04-09 2003-03-25 Konami Co., Ltd. Computer system, method of executing computer program, and computer program storage medium
JP2008123262A (ja) * 2006-11-13 2008-05-29 Hitachi Software Eng Co Ltd 情報処理装置、及びシステム監視方法、並びにシステム監視方法をコンピュータに実行させるためのプログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2837446B2 (ja) 1989-07-21 1998-12-16 カヤバ工業株式会社 二段作動ステーダンパ
SE504827C2 (sv) 1995-09-05 1997-05-12 Daniel Danielsson Sätt för övervakning av ett datorsystem
DE19740136A1 (de) 1997-09-12 1999-03-18 Alsthom Cge Alcatel Verfahren zur Isolation eines defekten Rechners in einem fehlertoleranten Mehrrechnersystem
JP3748708B2 (ja) * 1998-03-17 2006-02-22 富士通株式会社 クライアント/サーバシステム、クライアントコンピュータ及び記録媒体
US6510992B2 (en) * 2000-02-02 2003-01-28 Thomas R. Wells In-line verification, reporting and tracking apparatus and method for mail pieces
WO2002103960A2 (en) * 2001-06-14 2002-12-27 Okena, Inc. Stateful distributed event processing and adaptive security
US7974234B2 (en) * 2004-10-22 2011-07-05 Alcatel Lucent Method of authenticating a mobile network node in establishing a peer-to-peer secure context between a pair of communicating mobile network nodes
US7966485B2 (en) 2004-12-01 2011-06-21 Igt Universal operating system to hardware platform interface for gaming machines
US20100180321A1 (en) 2005-06-29 2010-07-15 Nxp B.V. Security system and method for securing the integrity of at least one arrangement comprising multiple devices
US8291093B2 (en) * 2005-12-08 2012-10-16 Microsoft Corporation Peer-to-peer remediation
WO2008099682A1 (ja) 2007-02-16 2008-08-21 Panasonic Corporation 分散情報配布装置、保持装置、認証局装置及びシステム
US8230415B1 (en) 2007-03-13 2012-07-24 Juniper Networks, Inc. On-demand advertising of software packages
US8316445B2 (en) 2008-04-23 2012-11-20 Trusted Knight Corporation System and method for protecting against malware utilizing key loggers
US8381298B2 (en) * 2008-06-30 2013-02-19 Microsoft Corporation Malware detention for suspected malware

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6539266B1 (en) * 1999-04-09 2003-03-25 Konami Co., Ltd. Computer system, method of executing computer program, and computer program storage medium
JP2008123262A (ja) * 2006-11-13 2008-05-29 Hitachi Software Eng Co Ltd 情報処理装置、及びシステム監視方法、並びにシステム監視方法をコンピュータに実行させるためのプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
易平: "移动Ad Hoc网络入侵检测与主动响应机制研究", 《中国博士学位论文全文数据库》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106257905A (zh) * 2015-06-18 2016-12-28 京瓷办公信息系统株式会社 管理系统、管理装置和图像形成装置
CN106257905B (zh) * 2015-06-18 2018-10-12 京瓷办公信息系统株式会社 管理系统、管理装置和图像形成装置
CN110506240A (zh) * 2017-03-28 2019-11-26 横河电机株式会社 工程辅助系统、工程辅助方法、服务器设备、存储介质、客户端设备及客户端程序
CN110506240B (zh) * 2017-03-28 2022-10-11 横河电机株式会社 工程辅助系统、工程辅助方法、服务器设备、存储介质、客户端设备及客户端程序
CN112567334A (zh) * 2018-08-10 2021-03-26 株式会社电装 车辆用主装置、安装的指示判定方法以及安装的指示判定程序
CN112567334B (zh) * 2018-08-10 2024-04-09 株式会社电装 车辆用主装置、安装的指示判定方法以及安装的指示判定程序

Also Published As

Publication number Publication date
EP2352109A4 (en) 2014-01-01
US8745735B2 (en) 2014-06-03
CN102224509B (zh) 2014-07-30
EP2352109B1 (en) 2018-06-20
EP2352109A1 (en) 2011-08-03
US20110225653A1 (en) 2011-09-15
WO2010061561A1 (ja) 2010-06-03
JPWO2010061561A1 (ja) 2012-04-26
JP5390532B2 (ja) 2014-01-15

Similar Documents

Publication Publication Date Title
CN102224509B (zh) 监视系统、程序执行装置、监视程序、记录介质及集成电路
CN102301374B (zh) 非法模块确定装置、信息处理装置、非法模块确定方法、非法模块无效化系统及非法模块无效化方法
JP5405986B2 (ja) ソフトウェア更新システム、管理装置、記録媒体及び集積回路
CN102473222B (zh) 篡改监视系统、管理装置及篡改管理方法
JP6719079B2 (ja) 情報機器、データ処理システム、データ処理方法およびコンピュータプログラム
JP5681028B2 (ja) 改ざん監視システム、管理装置及び管理方法
CN102272770B (zh) 篡改监视系统、管理装置及篡改管理方法
AU755577B2 (en) Method for securing safety of electronic information
JP5772031B2 (ja) 通信装置およびセキュアモジュール
CN103714633A (zh) 一种安全生成传输密钥的方法及pos终端
EP3136356A1 (en) Automatic transaction device and automatic transaction system
CN103108323A (zh) 安全性操作执行系统及执行方法
CN102202057B (zh) 一种移动存储器安全转储数据系统及其方法
KR20090041473A (ko) 오티피 전자태그를 이용하여 상품의 정품 여부를 인증하는정품인증서버 및 그 방법
JP6737424B1 (ja) データ処理システム、データ処理装置およびアプリケーションプログラムの検証方法
CN112910886A (zh) 一种对锁具的身份进行校验的方法及系统
CN106415565A (zh) 保护软件项目
CN115471952B (zh) 充电桩刷卡认证方法、充电桩及充电管理系统
KR102378989B1 (ko) 산업제어시스템 운영 환경을 고려한 취약점 시험 결과 확인 시스템 및 방법
KR102367756B1 (ko) 폐쇄형 내부망으로의 입력 소프트웨어 보안시스템과 보안방법
CN115189876A (zh) 证书的展期方法、装置和服务器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant