CN112114842A - 信息处理装置及其控制方法和储存介质 - Google Patents

信息处理装置及其控制方法和储存介质 Download PDF

Info

Publication number
CN112114842A
CN112114842A CN202010551214.3A CN202010551214A CN112114842A CN 112114842 A CN112114842 A CN 112114842A CN 202010551214 A CN202010551214 A CN 202010551214A CN 112114842 A CN112114842 A CN 112114842A
Authority
CN
China
Prior art keywords
program
function
processing apparatus
information processing
verification
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.)
Pending
Application number
CN202010551214.3A
Other languages
English (en)
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Publication of CN112114842A publication Critical patent/CN112114842A/zh
Pending legal-status Critical Current

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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • 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
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot

Landscapes

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

Abstract

本发明提供信息处理装置及其控制方法和储存介质。本发明涉及的信息处理装置包括:在接受到程序更新时,基于与用于验证程序有效性的验证功能有关的设置信息,将包括在验证功能中的预定验证功能切换为启用状态或者禁用状态;以及更新程序,其中,控制方法进一步包括:在更新所述程序之前将所述预定验证功能切换为所述禁用状态,并且在更新所述程序完成之后将所述预定验证功能切换为所述启用状态。

Description

信息处理装置及其控制方法和储存介质
技术领域
本发明涉及信息处理装置、信息处理装置的控制方法和储存介质。
背景技术
在某些情况下,安装在诸如图像形成装置的信息处理装置中的诸如应用和固件的程序通常在被发布到市场上之后在发布目的地被更新以更正问题或增加功能。当分发固件时,通常在要分发的固件上进行签名加密以防止篡改和未经授权的更新。如果在压缩固件并进行签名加密之后分发固件,则可以减小要传输的数据的大小,并且可以通过在实际安装固件之前对下载的加密固件进行签名验证来防止篡改。
在对固件的文件进行压缩之后分发固件的情况下,当安装固件时,提取分发的固件的压缩文件并将其布置在信息处理装置的储存装置中。因此,在分发固件时,不能通过进行签名加密的方法来防止提取文件的篡改和老化恶化(以下统称为“篡改”)。作为验证更新文件的有效性的方法,日本特开2019-75000号公报提出了一种当接通电源时用于初始开启储存在不能进行重写的区域中的启动程序、并在开启程序时验证除启动程序以外的其他程序的有效性的方法。在该有效性验证中,计算各个程序的正确答案值,确定计算值是否与预先储存的程序的正确答案值匹配,如果计算值与正确答案值匹配,则开启程序以防止开启未经授权的程序。
此外,作为在操作图像形成装置的同时验证运行中的程序的有效性的方法(篡改检测方法),已知一种通过使用白名单方法检测篡改的方法。在白名单方法中,预先储存可以使用的固件的单个文件的验证数据,并且当要使用固件时,使用验证数据来验证对固件的篡改,以仅允许使用正确的固件。在此,通常将哈希值用作验证数据以确认固件的唯一性,所述哈希值是使用哈希函数从储存了固件的各个文件的二进制数据创建的。哈希值的特征在于,如果从某个值创建哈希值,则不改变哈希值就无法更改该原始值,因此哈希值可用于篡改验证以检查固件是否正确。通过在要执行固件或要打开文件时计算整个文件的哈希值并检查哈希值是否与储存在白名单中的文件的验证数据相匹配,来检查篡改。如果哈希值与验证数据不匹配,则认为该文件已被篡改,并且向用户发出诸如警告的通知。
在使用白名单的检查方法中,即使稍后对在更新时提取的文件进行篡改,也可以在执行使用白名单管理的文件时检测到该篡改。通常通过禁止使用程序进行的写入处理来管理白名单,但是当更新包括使用白名单管理的文件的固件时,需要适当地更新固件和白名单。日本特开2016-139322号公报提出了当安装不包括在白名单中的软件时禁用白名单,并将已安装的软件注册在白名单中。
作为避免在操作图像处理装置的同时执行未经授权程序的威胁的措施,仅对启动时进行上述传统技术的系统验证被认为是不够的,因为启动处理完成后的运行中没有验证程序的有效性。另一方面,在更新程序的同时禁用白名单然后更新白名单的方法中,可以根据更新的程序更新白名单。然而,使用被禁用的白名单进行有效性验证的结果是可能会执行未经授权的恶意程序。
还可以通过适当地管理白名单来考虑在执行有效性验证的同时更新固件。然而,如果单位时间内要更新的文件数量大或者安装了储存有多个储存设备和多个磁盘的文件的区域,则需要花费时间来搜索文件路径并执行伴随的检测处理。因此,取决于存储程序的目录的配置或系统的复杂性,会大大增加程序更新处理。
发明内容
本发明提供了在更新软件时验证程序的有效性的同时防止处理时间的增加,从而能够实现减少停机时间并同时确保安全功能的机制。
本发明的一个方面提供了信息处理装置,其包括:储存指令集的至少一个存储设备;以及至少一个处理器,其执行指令集以:在接受到程序更新时,基于与用于验证程序有效性的验证功能有关的设置信息,将验证功能中包括的预定验证功能切换为启用状态或禁用状态;以及更新程序,其中至少一个处理器进一步执行存储设备中的指令,以在更新程序之前将预定验证功能切换为禁用状态,以及在更新程序结束后将预定验证功能切换为启用状态。
本发明的另一方面提供了信息处理装置的控制方法,其包括:在接受程序更新时,基于与用于验证程序有效性的验证功能有关的设置信息,将包括在验证功能中的预定验证功能切换为启用状态或禁用状态;以及更新程序,其中,该控制方法还包括在程序更新之前将预定验证功能切换到禁用状态,以及在程序更新结束之后将预定验证功能切换到启用状态。
本发明的又一方面还提供了非暂时性计算机可读储存介质,其存储用于使计算机执行信息处理装置的控制方法中的各个步骤的计算机程序,该控制方法包括:在接受程序更新时,基于与用于验证程序有效性的验证功能有关的设置信息,将包括在验证功能中的预定验证功能切换为启用状态或禁用状态;以及更新程序,其中,该控制方法还包括在程序更新之前将预定验证功能切换到禁用状态,以及在程序更新结束之后将预定验证功能切换到启用状态。
通过以下对示例性实施例的描述(参考附图),本发明的其他特征将变得显而易见。
附图说明
图1是示出根据一个实施例的图像形成装置的构造的硬件框图。
图2是示出根据一个实施例的图像形成装置的构造的软件框图。
图3是示出根据一个实施例的切换验证功能有效性的一个示例的图。
图4是根据一个实施例的当更新固件时进行的处理的流程图。
图5是示出根据一个实施例的在操作面板120中显示的用于系统验证的设置画面的一个示例的图。
具体实施方式
在下文中,将参照附图详细描述实施例。应当注意,以下实施例并不旨在限制要求保护的发明的范围。在实施例中描述了多个特征,但并非所有这些特征对于本发明而言都是限制,而是可以将多个这些特征适当地组合。此外,在附图中,相同的附图标记表示相同或类似的构造,并且将省略其重复描述。
应当注意,作为图像形成装置的多功能外围设备(数字多功能外围设备/MFP)被描述为根据本发明的实施例的信息处理装置的示例。然而,本发明不仅可以应用于多功能外围设备而且仅需要应用于信息处理装置。
硬件构造
下面描述本发明的一个实施例。首先,将参考图1描述根据一个实施例的作为多功能外围设备的图像形成装置100的硬件构造。应当注意,作为在图像形成装置100中包括的软件的更新处理的示例,在本实施例中将主要描述固件的更新处理。然而,本发明不仅可以应用于这种更新处理,而且可以应用于其他软件的更新处理。
图像形成装置100包括主控制器110、嵌入式控制器103、操作面板120、打印机单元130和扫描仪单元140。嵌入式控制器103配设有不能进行重写的ROM并包括检查启动程序是否没有被无意地改变的验证单元。假定为此使用了广泛使用的公钥加密方法应用于其中的电子签名技术。当图像形成装置100接通时,嵌入式控制器103首先验证启动程序,并在验证有效性之后开启启动程序。因此省略详细描述。应当注意,没有安装嵌入式控制器103,而由主控制器110进行类似处理的构造也是可能的。
主控制器110包括CPU 111、ROM 112、RAM 113、HDD 114、操作单元I/F 115、打印机I/F 116、扫描仪I/F 117、USB主机I/F 118和网络I/F 119。CPU 111将储存在ROM 112中用于主控制器110的固件读取到RAM 113中并执行固件。另外,除了执行程序之外,在ROM 112中还储存有指示用于有效性验证的正确答案值数据和可信程序的白名单。用于启用主控制器110的功能的许可信息也储存在ROM 112中。
经由网络I/F 119从PC 180接收的打印数据储存在硬盘驱动程序(HDD)114中。应当注意,从ROM 112读取并由CPU 111执行的程序包括用于打印的应用程序。将储存在HDD114中的打印数据转换成可以通过打印机单元130使用用于打印的应用程序进行打印的图像数据。可以由打印机单元130打印的图像数据也储存在HDD 114中。而且,从ROM 112读取并由CPU 111执行的固件包括用于扫描的应用程序。执行用于扫描的应用程序的结果是,扫描仪单元140从文档读取图像并输出图像数据,并且将输出的图像数据传输到HDD 114。输出的图像数据被储存在HDD 114中。
操作单元I/F 115是发送指令的接口,该指令由图像形成装置100的用户经由操作面板120输入到CPU 111。同样,操作单元I/F 115从CPU 111接收用于切换在操作面板120中显示的内容的处理的内容,并且控制操作面板120的显示。应当注意,操作面板120包括具有触摸面板功能的液晶显示部分、键盘等,并且可以接受用户的指令。
打印机I/F 116是用于将主控制器110连接到打印机单元130的接口。这里,打印机单元130基于经由打印机I/F 116从HDD 114传输的图像数据进行在记录介质(纸张等)上的打印。
扫描仪I/F 117是用于将主控制器110连接到扫描仪单元140的接口。在此,扫描仪单元140使用由CCD(电荷耦合设备)等构成的线传感器从文档读取图像并输出图像数据。扫描仪单元140经由扫描仪I/F 117将图像数据传输到HDD 114。可以通过上述打印机单元130来打印传输到HDD 114并储存在HDD 114中的图像数据。因此,作为由扫描仪单元140读取被打印机单元130打印的图像数据的结果,可以进行复印处理。
USB主机I/F 118是用于将主控制器110连接到外部USB设备160的接口。这里,外部USB设备160的示例包括FAX单元。在FAX单元的情况下,FAX单元基于经由USB主机I/F 118从HDD 114传输的图像数据进行FAX发送。此外,FAX单元基于接收到的数据生成图像数据并经由USB主机I/F 118将图像数据传输到HDD 114。应当注意,如上所述,通过打印机单元130将储存在HDD 114中的图像数据打印在记录介质上。外部USB设备160的示例还包括USB存储器、USB键盘等。可以从USB存储器传输更新固件所需的更新文件。
网络I/F 119将主控制器110连接到LAN 150并与LAN上的PC 180通信。例如,PC180经由LAN 150连接至图像形成装置100,并且可以将打印数据发送至图像形成装置100,可以经由WEB浏览器操作与图像形成装置100相关的设备,并且可以将固件文件传输至图像形成装置100。
此外,图像形成装置100经由LAN 150连接到服务器装置170,并且可以下载更新固件等所需的软件的更新文件。这里,根据诸如HTTP、FTP等的通信协议下载更新文件,但也可以使用其他通信协议。
需要更新所运送的产品的最新固件等总是被上载到服务器装置170,并且可以通过从图像形成装置100进行查询来获取必要的固件。然而,取决于图像形成装置100的安装环境,可能存在图像形成装置100未连接到服务器装置170的情况。
软件构造
接下来,将参照图2描述根据本实施例的由主控制器110的CPU 111执行的软件的构造的示例。应当注意,图2中所示的程序储存在图1所示的ROM 112中。
主控制器110包括作为软件构造的主系统210,和在主系统210中布置有用于实现根据本实施例的图像形成装置100的各种功能的程序。主系统210包括启动控制单元211、操作单元控制单元212、打印机控制单元213、扫描仪控制单元214、USB控制单元215、通信处理单元216、更新处理单元217、白名单管理单元218、检测控制单元219、控制切换单元220和验证单元221。
启动控制单元211是用于在启动主系统210时控制处理的程序,并开启主系统210的OS(操作系统)以开启用于运行各种程序的基本系统。操作单元控制单元212是用于经由操作单元I/F 116来控制操作面板120的程序。打印机控制单元213是用于经由打印机I/F116来控制打印机单元130的程序。扫描仪控制单元214是用于经由扫描仪I/F 117控制扫描仪单元140的程序。
USB控制单元215是用于控制经由USB主机I/F 118连接到USB主机I/F 118的USB设备的程序。如果USB存储器连接到外部USB设备160,则USB控制单元215进行与传输更新文件和更新信息的处理相关的控制,所述更新文件和更新信息对于USB存储器的更新固件是必需的。所传输文件储存在HDD 114中。通信处理单元216经由网络I/F 119与PC 180或服务器装置170进行通信,并且进行用于经由LAN 150来传输更新固件所需的更新文件和更新信息的处理。传输的文件储存在HDD 114中。
在用户经由操作面板120给出了更新固件等的指令时或者在预先设置的时间,更新处理单元217进行用于更新构成主系统210的程序的处理。具体地,由更新处理单元217进行的程序更新处理被分类为以下三种类型的处理:(1)用于从外部USB设备160或服务器装置170传输固件(要更新的程序)的处理;(2)用于备份储存在ROM 112中的旧固件的处理;(3)用于更新储存在ROM 112中的程序的处理。
如果由于在更新处理期间发生电源故障或在写入储存区域时发生错误而导致程序更新处理无法正常执行,则执行旧程序的备份处理以在更新之前回退到旧程序。在某些情况下,取决于备份处理或主控制器110的构造或更新处理的设置,不执行旧程序的备份处理。
白名单管理单元218管理在主系统210上运行的与程序相关的白名单。白名单作为主系统210的程序的验证数据而创建,并防止操作中的图像形成装置100在运行时执行未经授权的程序。如果发生诸如白名单中包括的固件的更新等的重写处理,则对执行更新的程序赋予特殊权限以执行重写处理。
检测控制单元219用作第二验证单元,并在要执行固件或要打开文件时验证有效性(篡改或由于老化恶化而引起的改变)。应当注意,在下面的描述中,进行程序的有效性验证以检测程序的篡改或由于老化恶化而导致的程序改变被简单地称为篡改检测。也就是说,以下描述中使用的术语“篡改检测”除了包括对程序的篡改的检测之外,还包括对由于老化恶化而导致的程序改变的检测。在篡改检测中,计算整个文件的哈希值,检查哈希值是否与由白名单管理单元218管理的白名单中包括的文件的验证数据相匹配,如果哈希值与验证数据不匹配,则确定文件已被篡改。检测控制单元219进行以下操作以保护文件访问:(1)控制对储存在ROM 112和HDD 114中的文件的重写;(2)控制对储存在ROM 112和HDD 114中的文件的读取;(3)控制ROM 112和HDD 114中的二进制执行;(4)控制ROM 112和HDD 114中的脚本执行。稍后将使用图3描述这些操作的细节。
控制切换单元220执行对由检测控制单元219执行的篡改检测功能的切换控制。通常根据系统默认规定的内容或预先由管理用户设置的内容来管理篡改检测的安全级别,但是在本实施例中,在进行固件的更新处理时动态地进行切换。
检测控制单元219将特殊权限临时赋予更新处理单元217的结果是进行对包括在白名单中的程序的更新处理。在此,如果在用篡改保护处理防止对文件进行重写的同时执行程序的更新处理,则通过挂接用于写入文件的系统调用并使用白名单检查哈希值来进行检测处理。同时,如果单位时间内要更新的文件数量大或者安装了储存有多个储存设备和多个磁盘的文件的区域,则需要花费时间来搜索正确的文件路径信息并执行伴随的检测处理。因此,产生的问题是,取决于存储程序的目录的构造或系统的复杂性,程序更新处理的执行时间增加。为了解决该问题,如果在执行程序更新处理时启用了使用白名单的安全设置,则由控制切换单元220执行对篡改检测功能的切换控制。因此,防止了更新时间的增加,该更新时间的增加导致用户的图像形成装置100的停机。
当由主控制器110进行系统启动时,验证单元221用作第一验证单元并且验证储存在ROM 112中的程序。具体地,将签名和用于验证接下来要开启的程序的签名的公钥赋予预先存储在ROM 112中的各个程序,并且在程序开启之前就进行签名验证,并且仅当验证成功时才开启程序。当启动系统时逐步进行固件的这种验证,并且依次开启固件。应当注意,如上所述,可以由嵌入式控制器103或主控制器110来验证图像形成装置100的启动程序。
篡改检测控制
接下来,将参照图3描述本实施例中的篡改检测功能的切换控制。在图像形成装置100操作时由检测控制单元(第二验证单元)219执行的篡改检测功能至少包括重写控制、读取控制、二进制执行控制和脚本执行控制。将描述各个功能。应当注意,图3中所示的信息优选地作为表格储存在诸如图像形成装置100的RAM 113或HDD 114的储存单元中。
重写控制
利用重写控制功能来监控储存在ROM 112和HDD 114中的指定区域中的文件的重写,以防止文件被未经授权的程序或恶意用户编辑。假设储存在ROM 112中的程序被应用程序用于只读目的,因此在本实施例中,默认情况下将该功能设置为启用状态(ON)。
阅读控制
利用读取控制功能来禁止读取ROM 112和HDD 114中的指定区域中储存的文件,以防止来自未经授权的程序或恶意用户的访问。假定储存在ROM 112中的程序被应用程序读取,因此在本实施例中,默认情况下将该功能设置为禁用状态(OFF)。
二进制执行控制、脚本执行控制
利用二进制执行控制功能和脚本执行控制功能,相对于储存在ROM 112和HDD 114中的文件,限制白名单中包括的二进制文件和脚本文件的执行。因此,防止了以未经授权的方式添加或编辑恶意程序的执行。在本实施例中,这些功能默认设置为ON。
图3示出了在正常操作301、固件传输操作302、旧固件备份操作303和程序更新操作304期间的各功能的设置条件。如图3所示,根据本实施例,篡改检测功能在正常操作301和其他操作(更新操作)302至304之间动态切换。
在正常操作301期间,启用重写控制、二进制执行控制和脚本执行控制,并且将读取控制设置为OFF。在本实施例中,由于系统的特性,默认情况下将读取控制设置为OFF,但是对于指定了允许读取的程序,也可以将读取控制设置为ON。
此外,根据本实施例,在开启程序更新处理的时间点将重写控制动态地设置为禁用状态,并且在固件传输操作302、旧固件备份操作303和程序更新操作304期间重写控制被保持为禁用。另一方面,二进制执行控制和脚本执行控制在这些操作302至304期间处于启用状态。作为禁用重写控制的结果,安全级别临时降低,但是由于总是进行二进制执行控制和脚本执行控制,因此可以防止在更新处理期间执行恶意软件。另外,在固件更新之后,总是执行系统重启(图像形成装置100的重启)。之后,验证单元221在启动时进行系统验证,因此,即使进行了未经授权的重写处理,也可以正常地检测到文件的篡改。
已经使用图3描述了在更新处理从开启到结束的时间段期间禁用篡改检测控制的重写控制的示例。然而,本发明不限于该示例,并且可以根据用于布置系统的程序或特性的方法来改变切换时间和要切换的功能。例如,如果要从外部储存装置传输的文件数量少并且由重写控制引起的更新处理时间的增加可以忽略不计,则可以在固件传输处理之后切换篡改检测控制。此外,在例如根据用户进行的设置不进行旧固件备份处理的更新序列的情况下,可以在用于更新程序的处理之前立即切换篡改检测控制。
处理过程
下面参考图4进行描述当更新本实施例中的图像形成装置100的固件时进行的处理过程。例如,将实现该流程图所示的操作的程序储存在ROM 112中,并且CPU 111将程序读入ROM 113并执行该程序。
首先,在步骤S401中,CPU 111接受用于更新固件的指令。该步骤接受的指令可以由用户经由操作面板120输入或者从PC 180或服务器装置170经由通信输入。随后,在步骤S402中,CPU 111确定主控制器110的系统正在运行时要进行的篡改检测功能是否被设置为启用状态。本实施例中的篡改检测的设置包括指示启动时是否进行系统验证的设置以及指示是否启用系统运行时要进行的篡改检测功能的设置,并且稍后将使用图5描述详细设置。如果未将系统运行时要进行的篡改检测功能设置为启用状态,则例程行进至步骤S404及后续步骤中的处理,然后执行常规固件更新处理。另一方面,如果启用了篡改检测功能,则例程进入步骤S403。
在步骤S403中,在启用的篡改检测功能中,即在重写控制、二进制执行控制和脚本执行控制中,通过控制切换单元220将重写控制从启用状态更改为禁用状态。此后,例程行进到步骤S404及后续步骤中的处理,并且CPU 111使用切换后的篡改检测功能执行固件更新处理。
在步骤S404中,CPU 111从外部储存装置传输要更新的固件文件,并将该固件文件储存在HDD 114中。这里,从其传送固件文件的外部储存装置可以是经由USB主机I/F 118连接的外部USB设备160或者经由网络I/F 119连接的PC 180或服务器装置170。
随后,在步骤S405中,CPU 111执行旧固件的备份处理。具体地,CPU 111执行将储存在ROM 112中的程序中确定为需要进行备份处理的程序复制到HDD 114的处理。如果由于在一系列更新处理期间发生电源故障或在写入储存区域时发生错误而导致更新处理无法正常执行,则使用在该步骤中备份的程序,将ROM 112中储存的程序回退到更新之前的版本。此外,在步骤S406中,更新处理单元217通过使用在步骤S404中传输到HDD 114的固件的数据来执行储存在ROM 112中的一组程序的更新处理。如果程序的更新处理正常结束,则例程行进至步骤S407。
在步骤S407中,CPU 111确定在步骤S403中的篡改检测的重写控制是否已改变为禁用状态,如果重写控制已被禁用,则例程行进到步骤S408,并将重写控制从禁用状态改变到启用状态,然后例程行进到步骤S409。另一方面,如果重写控制保持为启用,则例程直接行进到步骤S409。在步骤S409中,CPU 111重启系统。
接下来,在步骤S410中,CPU 111确定主控制器110启动时的系统验证功能是否被设置为启用状态。稍后将使用图5描述该设置。如果在步骤S410中确定启动时的系统验证功能被禁用,则例程行进到步骤S413,并且执行图像形成装置100的开启处理,并且处理流程结束。另一方面,如果在步骤S410中确定启动时的系统验证功能被启用,则例程行进到步骤S411,并且当进行主控制器110的系统启动时,验证单元221逐步执行对储存在ROM 112中的程序的验证处理。
此后,在步骤S412中,CPU 111确定系统验证是否正常完成。如果在系统验证中发现未经授权的事项,则例程行进到步骤S414并且在操作面板120中显示画面以给出错误通知,并且结束处理流程。另一方面,如果在步骤S412中确定验证结果是正常的,则例程行进到步骤S413并且CPU 111执行图像形成装置100的开启处理,并且结束处理流程。
画面示例
接下来,将参照图5描述在根据本实施例的操作面板120中显示的用于系统验证的设置画面500的示例。设置画面500是如下的设置画面,该设置画面用于通过接受用户输入而对主控制器110进行与启动时的系统验证有关以及是否启用与运行系统时进行的篡改检测有关的功能的设置。
启动时的系统验证和系统运行时进行的篡改检测被默认设置为OFF。如果进行启动时的系统验证,则可以确保安全性,但是取决于待验证程序的大小,启动时间会变长。在这种情况下,从接通主电源之后直到允许用户使用图像形成装置100的普通功能为止要花费很长时间,因此可以根据使用环境或者用户需求来设置是否在启动时执行系统验证。
ON按钮501和OFF按钮502是与启动时的系统验证的执行有关的选择按钮,ON按钮503和OFF按钮504是与系统运行时的篡改检测的执行有关的选择按钮。这里,可以在初始状态下选择ON按钮501和OFF按钮502,并且如果在启动时选择了ON按钮501以启用系统验证,则可以选择ON按钮503和OFF按钮504。可以同时启用启动时的系统验证和系统运行时进行的篡改检测,但是无法仅启用系统运行时进行的篡改检测。启用启动时的系统验证是启用系统运行时进行的篡改检测的前提。
由于上述前提,当启用由检测控制单元(第二验证单元)219进行的控制时,始终启用验证单元(第一验证单元)221。因此,即使在固件被更新时禁用重写控制,在步骤S409重启系统之后,步骤S411总是执行启动时的系统验证,因此在更新处理期间可以适当地执行抵抗重写的保护。
可以通过选择ON按钮501或OFF按钮502将各个功能设置为启用状态或禁用状态,并且如果选择了ON按钮501,再选择ON按钮503或OFF按钮504,然后按下OK按钮506。选择取消按钮505以取消设置改变并关闭画面。
如上所述,根据本实施例的信息处理装置在接受程序的更新时,基于与用于验证程序有效性的验证功能有关的设置信息,将包括在验证功能中的预定验证功能切换为启用状态或禁用状态。更具体地,信息处理装置在程序更新之前将预定验证功能切换为禁用状态,并在程序更新结束后将预定验证功能切换为启用状态。利用这种构造,本发明防止了在更新软件时验证程序的有效性的同时增加处理时间,以减少停机时间并同时确保安全功能。
注意,本发明不限于上述实施例,并且可以进行各种改变。例如,在上述实施例中,在固件的传输(获取)、备份处理和程序更新处理(步骤S404至S406)期间禁用重写控制,但是本发明不限于该构造,并且验证功能也可以在其他时间在启用状态和禁用状态之间切换。此外,还可以根据图像形成装置的规格、安装环境等来改变在启用状态和禁用状态之间切换的功能。例如,当在固件的传输、备份处理和程序更新处理期间启用重写控制的同时,可以禁用读取控制、二进制执行控制和脚本执行控制中的至少一类控制。
其他实施例
本发明的实施例还可以由系统或者装置的计算机来实现,该系统或装置的计算机读出并执行记录在储存介质(全称为“非暂时性计算机可读储存介质”)上的计算机可执行指令(例如,一个或多个程序)以进行上述一个或多个实施例的功能,和/或包括一个或多个电路(例如,应用专用集成电路(ASIC))用于进行上述一个或多个实施例中的功能,以及由该系统或装置的计算机进行的方法来实现,例如,从储存介质中读取并执行计算机可执行指令以进行上述一个或多个实施例的功能和/或控制一个或多个电路以进行上述一个或多个实施例的功能。计算机可以包括一个或多个处理器(例如,中央处理单元(CPU)、微处理单元(MPU))并且可以包括由单独的计算机或单独的处理器组成的网络,以读取和执行计算机可执行指令。例如,可以从网络或存储介质向计算机提供计算机可执行指令。储存介质可以包括例如硬盘、随机存取存储器(RAM)、只读存储器(ROM)、分布式计算系统的存储器、光盘(例如光盘(CD)、数字多功能光盘(DVD)或蓝光光盘(BD)TM),闪存设备、存储卡等中的一个或多个。
其它实施例
本发明的实施例还可以通过如下的方法来实现,即,通过网络或者各种存储介质将执行上述实施例的功能的软件(程序)提供给系统或装置,该系统或装置的计算机或是中央处理单元(CPU)、微处理单元(MPU)读出并执行程序的方法。
虽然参照示例性实施例对本发明进行了描述,但是应当理解,本发明并不限于所公开的示例性实施例。应当对所附权利要求的范围给予最宽的解释,以使其涵盖所有这些变型例以及等同的结构和功能。

Claims (9)

1.一种信息处理装置,其包括:
储存指令集的至少一个存储设备;以及
至少一个处理器,其执行所述指令集以:
在接受到程序更新时,基于与用于验证程序有效性的验证功能有关的设置信息,将验证功能中包括的预定验证功能切换为启用状态或者禁用状态;以及
更新所述程序,
其中,所述至少一个处理器进一步执行所述存储设备中的指令,以在更新所述程序之前将所述预定验证功能切换为所述禁用状态,并且在更新所述程序完成之后将所述预定验证功能切换为所述启用状态。
2.根据权利要求1所述的信息处理装置,其中,
所述至少一个处理器执行存储设备中的指令以:
在启动所述信息处理装置的系统期间,通过使用采用哈希函数创建的哈希值来执行验证程序有效性的第一验证处理;以及
在所述信息处理装置的所述系统运行期间,通过使用白名单执行验证程序有效性的第二验证处理;以及
所述预定验证功能是在所述第二验证处理中执行的验证功能。
3.根据权利要求2所述的信息处理装置,其中,
在所述第二验证处理中执行的验证功能至少包括通过使用白名单监控程序执行的功能、监控重写储存在指定区域中的文件的功能以及监控读取储存在指定区域中的文件的功能;以及
所述预定验证功能是用于监控重写存储在指定区域中的文件的功能。
4.根据权利要求2所述的信息处理装置,其中,
所述至少一个处理器执行所述存储设备中的指令以:
在显示单元中显示设置画面,在所述第一验证处理中执行的验证功能和在所述第二验证处理中执行的验证功能经由所述设置画面能够被分别设置成启用状态或者禁用状态,并且根据经由所述设置画面从用户接受的输入将各个验证功能设置为所述启用状态或者所述禁用状态。
5.根据权利要求1所述的信息处理装置,其中,
所述至少一个处理器执行所述存储设备中的指令以:
从外部获取要被更新的程序;
备份旧程序;
通过使用所获取的程序更新所述旧程序;以及
从获取要更新的程序到更新所述旧程序的期间禁用所述预定验证功能。
6.根据权利要求5所述的信息处理装置,其中,
所述至少一个处理器执行所述存储设备中的指令以:
在更新所述程序结束之后重启所述信息处理装置;以及
在重启所述信息处理装置之后启用所述预定验证功能。
7.根据权利要求1所述的信息处理装置,其中,
所述程序是所述信息处理装置的固件。
8.一种信息处理装置的控制方法,所述控制方法包括:
在接受到程序的更新时,基于与用于验证程序有效性的验证功能有关的设置信息,将所述验证功能中包括的预定验证功能切换为启用状态或者禁用状态;以及
更新所述程序,
其中,所述控制方法进一步包括:在更新所述程序之前将所述预定验证功能切换为所述禁用状态,并且在更新所述程序完成之后将所述预定验证功能切换为所述启用状态。
9.一种非暂时性计算机可读储存介质,其储存使计算机执行信息处理装置的控制方法中的各个步骤的计算机程序,所述控制方法包括:
在接受到程序的更新时,基于与用于验证程序有效性的验证功能有关的设置信息,将所述验证功能中包括的预定验证功能切换为启用状态或者禁用状态;以及
更新所述程序,
其中,所述控制方法进一步包括:在更新所述程序之前将所述预定验证功能切换为所述禁用状态,并且在更新所述程序完成之后将所述预定验证功能切换为所述启用状态。
CN202010551214.3A 2019-06-19 2020-06-17 信息处理装置及其控制方法和储存介质 Pending CN112114842A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-113923 2019-06-19
JP2019113923A JP2021002081A (ja) 2019-06-19 2019-06-19 情報処理装置、その制御方法、及びプログラム

Publications (1)

Publication Number Publication Date
CN112114842A true CN112114842A (zh) 2020-12-22

Family

ID=73799371

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010551214.3A Pending CN112114842A (zh) 2019-06-19 2020-06-17 信息处理装置及其控制方法和储存介质

Country Status (3)

Country Link
US (1) US11669609B2 (zh)
JP (1) JP2021002081A (zh)
CN (1) CN112114842A (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200089939A (ko) * 2019-01-18 2020-07-28 에스케이하이닉스 주식회사 메모리 시스템 및 그 동작 방법
JP7408593B2 (ja) * 2021-03-23 2024-01-05 株式会社東芝 制御装置、情報処理装置、および情報処理システム
JP7292328B2 (ja) * 2021-05-28 2023-06-16 キヤノン株式会社 情報処理装置及びその制御方法
US20230132214A1 (en) * 2021-10-25 2023-04-27 Canon Kabushiki Kaisha Information processing apparatus and method of the same

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003271420A (ja) * 2002-03-18 2003-09-26 Matsushita Electric Ind Co Ltd 電子制御装置
US20050278518A1 (en) * 2004-06-10 2005-12-15 Ming-Chih Ko Electronic system capable of using universal plug and play (upnp) protocol to update software program and method thereof
US20130268924A1 (en) * 2012-04-09 2013-10-10 Canon Kabushiki Kaisha Information processing apparatus, program update method for information processing apparatus, and storage medium
US8560823B1 (en) * 2007-04-24 2013-10-15 Marvell International Ltd. Trusted modular firmware update using digital certificate
US20170315793A1 (en) * 2015-01-28 2017-11-02 Shoichiro KANEMATSU Image processing device and electronic whiteboard
US20180375891A1 (en) * 2017-02-27 2018-12-27 Crimson Corporation Systems and methods for context-based mitigation of computer security risks
JP2019057217A (ja) * 2017-09-22 2019-04-11 コニカミノルタ株式会社 情報処理装置、ファームウェア更新プログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3726726B2 (ja) * 2001-08-20 2005-12-14 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置および管理ユニット
JP4189570B2 (ja) * 2001-12-28 2008-12-03 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置、ファームウェアの送信方法、及び画像処理装置の管理システム
JP4078554B2 (ja) * 2004-01-21 2008-04-23 日本電気株式会社 改ざん検知制御装置、改ざん検知制御システム、改ざん検知制御方法、プログラムおよび記録媒体
CN100437502C (zh) * 2005-12-30 2008-11-26 联想(北京)有限公司 基于安全芯片的防病毒方法
US9349009B2 (en) * 2013-07-15 2016-05-24 Paul A. Rivera Method and apparatus for firmware based system security, integrity, and restoration
JP6942601B2 (ja) 2017-10-18 2021-09-29 キヤノン株式会社 情報処理装置、その制御方法、及びプログラム
JP2020160747A (ja) 2019-03-26 2020-10-01 キヤノン株式会社 情報処理装置、その制御方法、及びプログラム
US10776102B1 (en) * 2019-05-10 2020-09-15 Microsoft Technology Licensing, Llc Securing firmware installation on USB input device

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003271420A (ja) * 2002-03-18 2003-09-26 Matsushita Electric Ind Co Ltd 電子制御装置
US20050278518A1 (en) * 2004-06-10 2005-12-15 Ming-Chih Ko Electronic system capable of using universal plug and play (upnp) protocol to update software program and method thereof
US8560823B1 (en) * 2007-04-24 2013-10-15 Marvell International Ltd. Trusted modular firmware update using digital certificate
US20130268924A1 (en) * 2012-04-09 2013-10-10 Canon Kabushiki Kaisha Information processing apparatus, program update method for information processing apparatus, and storage medium
US20170315793A1 (en) * 2015-01-28 2017-11-02 Shoichiro KANEMATSU Image processing device and electronic whiteboard
US20180375891A1 (en) * 2017-02-27 2018-12-27 Crimson Corporation Systems and methods for context-based mitigation of computer security risks
JP2019057217A (ja) * 2017-09-22 2019-04-11 コニカミノルタ株式会社 情報処理装置、ファームウェア更新プログラム

Also Published As

Publication number Publication date
US11669609B2 (en) 2023-06-06
US20200401688A1 (en) 2020-12-24
JP2021002081A (ja) 2021-01-07

Similar Documents

Publication Publication Date Title
CN112114842A (zh) 信息处理装置及其控制方法和储存介质
US9576132B2 (en) Information processing apparatus and information processing method
US20160234396A1 (en) Image forming apparatus having firmware update function, method of controlling the same, program for executing the method, and storage medium
US9665720B2 (en) Image forming apparatus that performs update of firmware, and control method therefor
US11010153B2 (en) Information processing apparatus that detects falsification of a program, method of controlling the same, and storage medium
JP2019212114A (ja) 情報処理装置、その制御方法およびプログラム
US11681809B2 (en) Information processing apparatus, control method, and storage medium
JP2023129643A (ja) 情報処理装置、情報処理方法およびプログラム
JP2008171306A (ja) 電子装置およびプログラム
US11526597B2 (en) Information processing apparatus, method of controlling the same, and storage medium
JP2022135443A (ja) 情報処理装置、情報処理方法及びプログラム
KR102538458B1 (ko) 화상 처리 장치, 그 제어 방법, 및 기억 매체
JP2023101738A (ja) 情報処理装置、情報処理方法およびプログラム
US11947948B2 (en) Information processing apparatus, information processing method, and storage medium
KR102467636B1 (ko) 정보 처리장치, 정보 처리장치의 제어방법, 및 기억매체
US20210234983A1 (en) Image forming system, image forming apparatus, and storing medium storing application control program
US11429721B2 (en) Information processing apparatus, information processing method, and storage medium
US11971991B2 (en) Information processing apparatus, control method for controlling the same and storage medium
US20220113990A1 (en) Information processing apparatus, information processing method, and storage medium
US11928217B2 (en) Information processing apparatus, control method of information processing apparatus, and storage medium
JP2021117523A (ja) 情報処理装置、情報処理装置の処理方法およびプログラム
JP2021117589A (ja) 情報処理装置、情報処理装置の処理方法およびプログラム
JP2023132172A (ja) 情報処理装置及びその制御方法並びにプログラム
JP2023172570A (ja) 情報処理装置及び情報処理装置の制御方法
JP2020049700A (ja) 画像処理装置、アプリケーション内包ライブラリの処理方法及びプログラム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination