CN110895609B - 信息处理设备及其控制方法以及存储介质 - Google Patents

信息处理设备及其控制方法以及存储介质 Download PDF

Info

Publication number
CN110895609B
CN110895609B CN201910859663.1A CN201910859663A CN110895609B CN 110895609 B CN110895609 B CN 110895609B CN 201910859663 A CN201910859663 A CN 201910859663A CN 110895609 B CN110895609 B CN 110895609B
Authority
CN
China
Prior art keywords
change detection
setting
area
program
detection process
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.)
Active
Application number
CN201910859663.1A
Other languages
English (en)
Other versions
CN110895609A (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.)
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 CN110895609A publication Critical patent/CN110895609A/zh
Application granted granted Critical
Publication of CN110895609B publication Critical patent/CN110895609B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • G06F3/1212Improving printing performance achieving reduced delay between job submission and print start
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1222Increasing security of the print job
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/123Software or firmware update, e.g. device firmware management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • G06F3/1254Automatic configuration, e.g. by driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • G06F9/441Multiboot arrangements, i.e. selecting an operating system to be loaded
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Abstract

提供一种信息处理设备及其控制方法以及存储介质。所述信息处理设备在每次启动程序时进行改变检测处理,所述信息处理设备包括:写入组件,其能够将表示是否进行所述改变检测处理的设置写入首先对其它程序进行所述改变检测处理的第一程序能够参照的第一区域、以及在所述第一程序启动时所述第一程序不能参照的第二区域。所述第一程序根据所述第一区域中所写入的设置进行所述改变检测处理,以及能够参照所述第二区域的第二程序根据所述第二区域中所写入的设置进行所述改变检测处理。

Description

信息处理设备及其控制方法以及存储介质
技术领域
本发明涉及能够检测改变的信息处理技术。
背景技术
存在通过程序的漏洞改变程序滥用计算机来攻击的问题。国际公开2009/044533(以下称为文献1)公开了一种检测程序改变的技术。具体地,文献1公开了通过使用防篡改模块使得计算并存储程序的散列值,并且每次启动程序时重新计算程序的散列值并进行验证来检测程序改变的技术。
这里,在文献1的技术中,没有例外地执行改变检测处理。因此,例如,优先考虑启动速度而非改变检测的用户必须经历启动处理花费时间的情况。
发明内容
根据本发明的方面的信息处理设备是如下的信息处理设备,其用于在每次启动程序时进行改变检测处理,所述信息处理设备包括:写入组件,其能够将表示是否进行所述改变检测处理的设置写入首先对其它程序进行所述改变检测处理的第一程序能够参照的第一区域、以及在所述第一程序启动时所述第一程序不能参照的第二区域,其中,所述第一程序根据所述第一区域中所写入的设置进行所述改变检测处理,以及能够参照所述第二区域的第二程序根据所述第二区域中所写入的设置进行所述改变检测处理。
根据本发明的方面的信息处理设备的控制方法,所述信息处理设备在每次启动程序时进行改变检测处理,所述方法包括:将表示是否进行所述改变检测处理的设置写入首先对其它程序进行所述改变检测处理的第一程序能够参照的第一区域、以及在所述第一程序启动时所述第一程序不能参照的第二区域,其中,所述第一程序根据所述第一区域中所写入的设置进行所述改变检测处理,以及能够参照所述第二区域的第二程序根据所述第二区域中所写入的设置进行所述改变检测处理。
根据本发明的方面的存储控制程序的非暂时性计算机可读存储介质,所述控制程序使计算机进行:将表示是否进行改变检测处理的设置写入首先对其它程序进行所述改变检测处理的第一程序能够参照的第一区域、以及在所述第一程序启动时所述第一程序不能参照的第二区域,其中,所述第一程序根据所述第一区域中所写入的设置进行所述改变检测处理,以及能够参照所述第二区域的第二程序根据所述第二区域中所写入的设置进行所述改变检测处理。
根据以下参照附图对典型实施例的描述本发明的其它方面将变得明显。
附图说明
图1是多功能外围设备的硬件结构图;
图2是多功能外围设备的软件结构图;
图3A和3B是各自示出启动时的一系列操作的示意图;
图4是示出设置画面的示意图;
图5是示出改变设置时进行的处理的流程图;以及
图6A和6B是示出改变检测处理的流程图。
具体实施方式
下面将参照附图具体描述本发明的实施例。注意,以下实施例不限制根据权利要求的本发明,并且实施例中描述的特征的所有组合不一定对于解决本发明要解决的问题是必要的。注意,将通过将多功能外围设备(MFP)作为信息处理设备的示例来描述以下实施例。然而,实施例不限于多功能外围设备,而是可以使用任何类型的信息处理设备。
实施例1
在描述本实施例中的信息处理设备的结构之前,将描述改变检测处理的概要。启动信息处理设备通常涉及依次启动多个程序。例如,诸如引导程序、BIOS、加载器、内核和应用等的程序按此顺序逐级启动。引导程序、BIOS、加载器、内核和应用是单独的程序。由其它程序启动的各个程序都存储签名。在启动各个程序时,通过进行签名验证来进行改变检测处理,并且仅在成功验证签名的情况下才启动程序。
因此,在执行改变检测处理的情况下,除了通常的启动处理之外,还进行验证处理。这增加了完成信息处理设备启动所花费的时间。为了解决这个问题,由于还存在希望跳过改变检测处理并快速启动信息处理设备的用户,存在可想到的用于通过应用来设置和控制是否启用(ON)或禁用(OFF)改变检测处理的执行的配置。
这里,假设将与是否启用或禁用改变检测处理有关的设置信息存储在应用(以下称为“app”)通常使用的存储区域(例如,HDD中的存储区域)中的结构。在这种情况下,在启动应用的阶段之前的阶段启动的程序不能参照上述信息。例如,BIOS和加载器的启动处理是在最小必要硬件可用的状态下进行的。因此,在将设置信息存储在app通常使用的存储区域(例如,HDD中的存储区域)的情况下,BIOS和加载器不能参照与是否启用或禁用改变检测处理有关的设置信息。因此,必须始终对各个BIOS、加载器和内核进行验证以确保安全性,这样即使将设置信息设置为禁用(OFF)状态也会降低启动速度。
另一方面,还存在可想到的将与是否启用或禁用改变检测有关的设置信息存储在从BIOS等可以使用的存储区域中的方法。然而,在将设置信息存储在从BIOS等可以使用的存储区域中的情况下,需要与由app管理的原始设置信息分开地管理该设置信息。例如,在备份和恢复中,需要单独的过程,因此使管理变得复杂。
在下面要描述的实施例中,将给出能够通过适当地设置是否启用或禁用改变检测处理来在执行和不执行改变检测处理之间切换的结构的描述。此外,将给出如下结构的描述:该结构通过将设置信息冗余地存储在不同的存储区域,能够在将与是否启用或禁用改变检测处理有关的设置信息设置为禁用状态的情况下跳过验证处理并由此实现快速启动。此外,将给出通过将设置信息冗余地存储在不同存储区域中使管理更容易的结构的描述。
硬件结构
图1是描述多功能外围设备100的硬件结构的框图。多功能外围设备100包括CPU101、ROM 102、RAM 103、HDD 104、网络I/F控制单元105、扫描器I/F控制单元106、打印机I/F控制单元107和面板控制单元108。多功能外围设备100还包括控制台面板110、扫描器111、打印机112和闪存114。
CPU 101执行各种软件程序以控制整个设备。ROM 102是只读存储器。ROM 102存储作为在多功能外围设备100通电时由CPU 101直接加载和执行的第一程序的引导程序。
RAM 103是随机存取存储器。在多功能外围设备100的控制期间,CPU 101使用RAM103来存储程序和临时数据等。在本说明书中,除非另有说明,否则将CPU 101加载程序到RAM 103中并执行程序描述为“启动”程序。
闪存114是非易失性存储器。闪存114存储作为要由引导程序启动的程序的BIOS,以及作为要由BIOS参照的设置信息的BIOS设置。HDD 104存储作为程序的加载器、内核和应用(app)。
网络I/F控制单元105控制通过网络113相对于外部设备的数据的发送和接收。扫描器I/F控制单元106控制扫描器111对文档的扫描。打印机I/F控制单元107控制打印机112的打印处理等。面板控制单元108控制触摸屏型控制台面板110以控制各种信息的显示和来自用户的指令输入。
总线109将CPU 101、ROM 102、RAM 103、HDD 104、网络I/F控制单元105、扫描器I/F控制单元106、打印机I/F控制单元107、面板控制单元108和闪存114彼此连接。通过总线109发送和接收来自CPU 101的控制信号和装置之间的数据信号。
软件模块
图2是说明多功能外围设备100中包括的软件模块的框图。还示出了存储软件模块的各硬件。多功能外围设备100包括引导程序209、BIOS 210、加载器211、内核212、app 213和通信管理单元208。引导程序209存储在ROM 102中。BIOS 210存储在闪存114中。加载器211、内核212、app 213和通信管理单元208存储在HDD 104中。
引导程序209具有BIOS改变检测处理组件201。BIOS 210具有BIOS设置组件202和加载器改变检测处理组件203。加载器211具有内核改变检测处理组件204。内核212具有app改变检测处理组件205。app 213具有UI控制组件206。在启动各个程序时,CPU 101用作程序中所存储的检测处理组件。
通信管理单元208控制连接到网络113的网络I/F控制单元105,以相对于外部设备发送和接收数据。UI控制组件206接收通过面板控制单元108定向至控制台面板110的输入,以及进行与输入相对应的处理并将画面输出到控制台面板110。
引导程序209是在多功能外围设备100通电时由CPU 101执行的程序。CPU 101根据引导程序209进行与启动相关的处理。此外,引导程序209具有进行BIOS 210的改变检测处理的BIOS改变检测处理组件201。
BIOS 210是由引导程序209启动的程序。BIOS 210是进行诸如硬件初始化等的与启动相关的处理的程序。BIOS 210具有BIOS设置组件202和加载器改变检测处理组件203,该BIOS设置组件202处理与该启动处理相关的设置,该加载器改变检测处理组件203进行加载器211的改变检测处理。注意,在BIOS 210启动时,内核212尚未启动,因此尚未存在用于访问HDD 104的驱动程序(稍后描述)。因此,BIOS 210只能访问HDD 104中的区域中的存储加载器211的预定区域。
加载器211是由BIOS 210启动的程序。加载器211是进行选择和启动内核212的处理的程序。加载器211具有进行内核212的改变检测处理的内核改变检测处理组件204。
内核212是由加载器211启动的程序。内核212加载各种驱动程序并辅助app 213的操作。各个驱动程序具有使app 213能够访问和使用CPU 101、RAM 103或作为硬件的HDD104的功能。此外,内核212具有进行app 213的改变检测处理的app改变检测处理组件205。
app 213是由内核212启动的程序。例如,控制面板控制单元108和控制台面板110以接收对多功能外围设备100的用户操作的UI控制组件206是app 213的示例。注意,app213不限于该示例。例如,app 213还包括具有用于通过使用打印机I/F控制单元107和打印机112打印通过网络I/F控制单元105从网络113接收的打印数据的打印功能的app。可以存在用于执行多功能外围设备的功能的其它app,但这里省略对这些app的描述。
启动操作的流程
图3A和3B是各自描述在启动多功能外围设备100时各个程序的操作处理的示意图。图3A是示出表示HDD 104存储用于在启用和禁用改变检测处理的执行之间切换的设置值(设置信息)的情况的比较示例的图。首先,将给出按参考图3A的顺序启动程序(即引导程序209、BIOS 210、加载器211、内核212和app 213)的处理的描述。此外,将给出以各个程序对要在下一阶段启动的程序进行改变检测处理来逐级启动程序的处理流程的描述。注意,图3A还示出了存储程序、数字签名(以下称为“签名”)、公钥和设置值的各硬件。
引导程序209包含BIOS验证公钥300。BIOS 210包含BIOS签名302和加载器验证公钥303。闪存114在BIOS 210所用的区域以外的区域中存储作为表示针对BIOS 210的操作设置的信息的BIOS设置310。BIOS设置的示例包括在连接多个存储装置的情况下表示要优先读取和启动的存储装置等的设置。在本实施例中,将给出假设BIOS设置310被定义为优先读取和启动HDD 104的描述。
加载器211包含加载器签名304和内核验证公钥305。内核212包含内核签名306和app验证公钥307。app 213包含app签名308。HDD 104还存储从app 213起使用的设置值309。注意,在多功能外围设备100出厂之前,预先将程序中的公钥和签名提供给程序。
如图2和3A所示,BIOS改变检测处理组件201、加载器改变检测处理组件203、内核改变检测处理组件204和app改变检测处理组件205的各个检测处理组件对下个要启动的程序的签名进行验证。在验证通过的情况下启动下个程序。通过进行这样的处理,以逐级进行改变检测处理来启动多功能外围设备100。被配置为以上述方式进行的改变检测处理启动的多功能外围设备100处理更大量的处理,因此与不进行改变检测处理的多功能外围设备相比花费更长的时间启动。
多功能外围设备100的一些用户更喜欢较短的启动时间而不是通过改变检测处理实现的改进的安全性。为此,期望可以通过用户选择的设置来切换启用和禁用改变检测功能。
图4是利用UI控制组件206显示在控制台面板110上的多功能外围设备100的设置画面401的示意图。按钮402和按钮403是用于选择是否启用或禁用保持打印功能的按钮。保持打印功能是多功能外围设备的打印功能中的、仅在UI控制组件206指示打印打印数据时使用打印机112打印通过网络I/F控制单元105接收到的打印数据、而不是立即打印打印数据的功能。
按钮404和按钮405是用于选择是否启用或禁用多功能外围设备100的改变检测功能的按钮。选择按钮406将所设置的设置画面401上的的设置内容存储到HDD 104中。选择按钮407取消在设置画面401上选择的内容。
在设置画面401上选择的内容作为图3A中所示的设置值309存储在HDD 104中。设置值309由app 213的功能使用。对于app 213,如果设置值309存储在与app 213所用的存储装置相同的存储装置(HDD 104)中,则设置值309的管理将更容易。这是因为例如,app 213可以使用相同的访问接口来处理设置值309。此外,在进行备份处理和恢复处理的情况下,设置值309的管理将更容易。因此,设置值309存储在作为与app 213所用的存储装置相同的存储装置的HDD 104中。
UI控制组件206通过读取HDD 104中的设置值309并显示当前设置内容来显示设置画面401。图4的示例示出了在选择了按钮402和按钮404的情况下显示设置画面401的情况。具体地,图4的示例示出了用按钮402和按钮404选择的内容是被设置为设置值309的当前设置内容。图4描述了在同一设置画面401上设置与保持打印的使用有关的设置值和与改变检测的使用有关的设置值的结构。然而,结构可以是在不同的设置画面上设置各个设置值。此外,结构可以是在同一画面上设置其它设置值。
如上所述,如果与改变检测处理的使用有关的设置信息(设置值309)存储在HDD104中并且用户可以改变设置信息,则用户可以在启用和禁用执行改变检测处理之间切换。然而,用于访问HDD 104中的设置值309的驱动程序在BIOS 210和加载器211启动的时点尚未加载。通过启动内核212来加载用于访问HDD 104的驱动程序。因此,BIOS 210和加载器211不能获得设置值309。因此,不可能在启用和禁用改变检测处理之间切换。在图3A中,从被配置为启用驱动程序的内核212起可以通过参照设置值309在启用和禁用改变检测处理之间进行切换。
总之,即使具有如图3A所示的改变检测功能的多功能外围设备100禁用改变检测功能,多功能外围设备100也不能实现与没有改变检测功能的多功能外围设备的启动时间基本相等的启动时间。另一方面,如前所述,如果闪存114存储用于改变检测处理的设置,则app 213不能使用与其它设置值所用的访问接口相同的访问接口来处理设置。因此,在进行备份和恢复的情况下,将需要进行特定处理。因此,设置值的管理将是复杂的。
图3B是描述在本实施例中启动多功能外围设备100时各个程序的操作的处理的示意图。在图3B中,闪存114在除了用于BIOS 210和BIOS设置310的区域之外的区域中存储改变检测设置311(设置信息)。改变检测设置311是表示是否启用或禁用改变检测处理的设置信息,并且与设置值309同步。是否利用BIOS 210和加载器211各自执行改变检测处理(图3A中的(3)验证和(5)验证)根据改变检测设置311的内容而切换。图3B中的其它内容与使用图3A所描述的内容相同。在本实施例中,将表示是否执行改变检测处理的设置彼此同步地存储在多个存储区域中。以这种方式,可以在不使管理复杂的情况下切换是否执行改变检测处理。此外,禁用改变检测功能使得启动时间比进行改变检测处理的情况下的启动时间短。
变更改变检测设置的流程图
图5是描述在变更设置时由UI控制组件206进行的处理的流程图。多功能外围设备100的CPU 101通过将HDD 104中所存储的app 213的程序代码展开到RAM中并执行该程序代码来进行图5中的流程图所示的一系列处理。另一方面,各个处理的描述中的符号“S”表示流程图中的步骤。
在从控制台面板110接收到设置变更指示时,UI控制组件206在S501中判断接收到变更指示的设置是否是改变检测的设置。如果设置不是用于改变检测的,则处理进入S503。然后在S503中,UI控制组件206将设置值309中的变更内容存储在HDD 104中,并且结束处理。
另一方面,如果在S501中判断为设置是用于改变检测的,则UI控制组件206使处理进入S502。在S502中,UI控制组件206将改变检测设置中的变更内容作为改变检测设置311存储在闪存114中。然后,UI控制组件206进入S503以同样地将改变检测设置中的变更内容作为设置值309的一部分存储在HDD 104中,并结束处理。简而言之,将改变检测设置的变更内容写入并存储在闪存114和HDD 104二者中。
具体地,在变更改变检测设置的情况下,作为app 213的UI控制组件206另外进行将设置变更的内容作为改变检测设置311存储在闪存114中的存储区域中的处理。对于与改变检测设置相关的处理的其它部分,作为app 213的UI控制组件206进行与比较示例中的处理相类似的处理。具体地,UI控制组件206将改变检测设置作为设置值309的一部分存储在HDD 104中的存储区域中,并且参照HDD 104中的设置值309进行显示处理。因此,app 213能够通过与其它设置值所用的访问接口相同的访问接口处理与改变检测相关的设置。此外,在进行备份和恢复的情况下,不必进行特定处理。
改变检测的流程图
图6A和6B是描述在参照改变检测设置311和设置值309的内容时进行的处理的流程图。多功能外围设备100的CPU 101通过将闪存114和HDD 104中所存储的各程序代码展开到RAM中并执行该程序代码来进行图6A和6B中的流程图所示的一系列处理。具体地,CPU101通过执行BIOS 210、加载器211、内核212和app 213各自的程序代码来进行一系列处理。此外,CPU 101通过执行ROM 102中所存储的引导程序209的程序代码来进行图6A和6B中所示的一些处理。
在接通多功能外围设备100的电源时,CPU 101直接从ROM 102读出引导程序209并执行引导程序209。在执行引导程序209时,在S601中,BIOS改变检测处理组件201将BIOS210、加载器验证公钥303和BIOS签名302从闪存114加载到CPU 101中。然后,BIOS改变检测处理组件201通过使用BIOS验证公钥300对BIOS签名302进行验证,并判断是否成功验证了BIOS签名302。
如果签名验证失败,则处理进入S613。然后在S613中,BIOS改变检测处理组件201在控制台面板110上显示错误消息,并结束处理。另一方面,如果签名验证成功,则BIOS改变检测处理组件201结束其改变检测处理,并且处理进入S602。然后,在S602中,引导程序209启动BIOS 210。
在BIOS 210启动之后,BIOS 210根据BIOS设置310进行诸如硬件初始化等的启动处理。然后,在S603中,包括在BIOS 210中的加载器改变检测处理组件203获得闪存114中的改变检测设置311并判断改变检测设置311是否是表示启用状态的设置。
如果判断为改变检测设置311是表示禁用状态的设置,则加载器改变检测处理组件203结束其改变检测处理,并且处理进入S605。在S605中,BIOS 210在“不具有改变检测处理”、即不对加载器211进行验证的情况下启动加载器211。具体地,BIOS 210将加载器211从HDD 104加载到RAM 103中并启动加载器211。加载器211被配置为在以“不具有改变检测处理”启动加载器211的情况下不进行改变检测处理地启动内核212。在S605之后,处理进入S608。在S608中,加载器211在不进行改变检测处理的情况下启动内核212。具体地,加载器211将内核212从HDD 104加载到RAM 103中并启动内核212。
另一方面,如果在S603中判断为改变检测设置311是表示启用状态的设置,则处理进入S604。在S604中,包括在BIOS 210中的加载器改变检测处理组件203将加载器211、内核验证公钥305和加载器签名304从HDD 104加载到RAM 103中。然后,加载器改变检测处理组件203通过使用加载器验证公钥303对加载器签名304进行验证,并判断加载器签名304是否验证成功。
如果在S604中加载器签名304验证失败,则处理进入S613。在S613中,加载器改变检测处理组件203在控制台面板110上显示错误消息,并结束处理。
另一方面,如果在S604中加载器签名304验证成功,则处理进入S606。在S606中,加载器改变检测处理组件203的处理结束,并且BIOS 210以“具有改变检测处理”启动加载器211。加载器211被配置为在以“具有改变检测处理”启动加载器211的情况下在进行改变检测处理之后启动内核212。因此,在S606中,在已经以“具有改变检测处理”启动加载器211的情况下,包括在加载器211中的内核改变检测处理组件204将内核212、app验证公钥307和内核签名306从HDD 104加载到RAM 103中。在S607中,内核改变检测处理组件204通过使用内核验证公钥305对内核签名306进行验证,并判断是否成功验证了内核签名306。
如果在S607中内核签名306验证失败,则处理进入S613。在S613中,内核改变检测处理组件204在控制台面板110上显示错误消息,并结束处理。
另一方面,如果在S607中内核签名306验证成功,则处理进入S608。在S608中,内核改变检测处理组件204的处理结束,并且加载器211启动内核212。
如上所述,在S608中有两种启动内核的模式。基于改变检测设置311在两个模式之间切换内核的启动。具体地,在改变检测设置311是表示禁用状态的设置的情况下,以不具有改变检测处理启动加载器211和内核212。在改变检测设置311是表示启用状态的设置的情况下,在改变检测处理之后启动加载器211和内核212。在本实施例中,改变检测设置311存储在BIOS 210可参照的存储区域中。因此,BIOS 210和加载器211可以在不参照存储在HDD 104中的设置值309的情况下在执行和不执行改变检测之间切换。
将继续图6B中的处理。在内核212启动之后,内核212进行诸如加载各种驱动程序等的初始化处理。通过加载各种驱动程序,HDD 104中的设置值309变得可参照。在S609中,启动包括在内核212中的app改变检测处理组件205。然后,app改变检测处理组件205从HDD104中的设置值309获得改变检测设置,并且还从闪存114获得改变检测设置311。然后,app改变检测处理组件205将从HDD 104和闪存114获得的改变检测设置彼此进行比较。如图5所描述的,闪存114中的改变检测设置311和HDD 104中的设置值彼此同步。因此,通常,闪存114中的改变检测设置311和HDD 104中的设置值是表示相同设置的值。然而,如果由于故障等而更换任何装置(HDD 104和闪存114),则存在改变检测设置311和设置值彼此不同步的情况。S609中的比较处理是考虑到可能不存在同步而进行的处理。后面将描述细节。
如果在S609中判断为从HDD 104和闪存114获得的改变检测设置彼此一致,则处理进入S610。在S610中,app改变检测处理组件205判断各个改变检测设置是否是表示启用状态的设置。
如果在S610中判断为改变检测设置是表示禁用状态的设置,则处理进入S612。在S612中,app改变检测处理组件205的处理结束,并且内核212启动app 213。具体地,内核212在不进行改变检测处理的情况下将app 213从HDD 104加载到RAM 103中并启动app 213。然后,一系列处理结束。
另一方面,如果在S610中判断为各个改变检测设置是表示启用状态的设置,则处理进入S611。在S611中,app改变检测处理组件205将app 213和app签名308从HDD 104加载到RAM 103中。然后,app改变检测处理组件205通过使用app验证公钥307对app签名308进行验证,并判断是否成功验证了app签名308。
如果app签名308验证失败,则处理进行到S613。在S613中,app改变检测处理组件205在控制台面板110上显示错误消息,并结束处理。
另一方面,如果在S610中app签名308验证成功,则处理进入S612。在S612中,内核212以上述方式启动app 213。然后,一系列处理结束。
接着,将给出在S609中判断为从HDD 104和闪存114获得的改变检测设置彼此不一致的情况下的处理的描述。如果在S609中判断为改变检测设置彼此不一致,则处理进入S614。在S614中,app改变检测处理组件205判断闪存114中的改变检测设置311是否是表示启用状态的设置,以及HDD 104中的设置值309是否是表示禁用状态的设置。
如果闪存114中的改变检测设置311是表示启用状态的设置并且HDD 104中的设置值309是表示禁用状态的设置,则处理进入S615。在S615中,app改变检测处理组件205将HDD104中的设置值309更新为表示启用状态的设置。然后,处理进入S611。在S611中,app改变检测处理组件205以上述方式进行对app签名308进行验证的处理。
S614和S615中的一系列处理是在闪存114中的改变检测设置311和HDD 104中的设置值309彼此同步作为表示启用状态的设置的状态下在由于故障等已经更换HDD 104的情况下进行的处理。具体地,S614和S615中的一系列处理是在由于HDD 104的更换而设置值309已经变为表示禁用改变检测设置的设置的情况下所需的处理。在不进行这些处理的情况下,仅BIOS 210到内核212进行改变检测处理。换句话说,不对app 213进行验证。这导致在与更换HDD 104之前的设置不同的设置下的操作并降低安全性。此外,在用户参照控制台面板110上的改变检测设置的情况下,设置值309是表示禁用改变检测的设置,但是实际上在某些部分中进行改变检测处理。具体地,BIOS 210到内核212进行改变检测处理。这导致控制台面板110上参照的改变检测设置与实际操作之间的不一致。因此,用户没有接收到关于多功能外围设备100的操作的正确信息。进行S614和S615中的一系列处理防止了这种情况。
如果在S614中闪存114中的改变检测设置311是表示禁用状态的设置并且HDD 104中的设置值309是表示启用状态的设置,则处理进入S616。在S616中,app改变检测处理组件205将闪存114中的改变检测设置311更新为表示启用状态的设置。然后,处理进入S617。在S617中,app改变检测处理组件205重启多功能外围设备100。然后,一系列处理结束。
具体地,S614、S616和S617中的一系列处理是在由于故障等而更换闪存104所导致的改变检测设置311已经变为表示禁用状态的设置的情况下所需的处理。在没有这些处理的情况下,在用户参照控制台面板110上的改变检测设置的情况下,改变检测设置显示为启用,但仅app 213进行改变检测处理。因此,降低了安全性。在控制台面板110上的参照的改变检测设置与实际操作之间也存在不一致。因此,用户没有接收到关于多功能外围设备100的操作的正确信息。通过进行S614、S616和S617中的一系列处理,在改变检测设置311作为表示启用状态的设置的情况下重启多功能外围设备100。注意,处理已经进入S616的情况表示在闪存114中的改变检测设置311作为表示禁用状态的设置的情况下进行处理的状态。这意味着加载器211和内核212已经以不具有改变检测处理而启动。S616和S617将闪存114中的改变检测设置311改变为表示启用状态的设置,然后再次进行图6A和6B的流程图中的处理。因此,加载器211和内核212以具有改变检测处理而启动。
如上所述,在本实施例中,将与改变检测处理相关的设置存储在BIOS 210在其启动时可参照的第一区域中以及存储在BIOS 210在其启动时不可参照的第二区域中。第一区域和第二区域是从app 213可参照的区域。此外,第一区域中的设置和第二区域中的设置通过app 213彼此同步。通过以这种方式存储与改变检测相关的设置,可以在执行和不执行改变检测处理之间切换。而且,可以通过禁用改变检测功能而缩短具有改变检测功能的信息处理设备的启动时间。
此外,除了以同步方式存储用于改变检测处理的设置的情况之外,app 213还能够以与其它设置值相同的方式处理用于改变检测处理的设置。这使管理更容易。此外,在本实施例中,在将用于改变检测处理的设置存储在两个位置(即HDD 104和闪存114)中并且彼此同步的同时进行处理。因此,在攻击者试图欺骗性地重写设置以关闭改变检测设置的情况下,攻击者必须同时在两个位置重写设置。因此,也实现了提高攻击难度的效果。
其它实施例
已经通过采用使用公钥和签名的方法作为改变检测方法的示例描述了上述实施例,但是可以使用其它方法。此外,已经在假设HDD 104和闪存114作为存储装置存在的情况下描述了上述实施例,但是可以使用不同的存储装置。可以使用任何存储装置,只要结构包括可以是在启动信息处理设备时操作的引导程序可参照的存储装置和引导程序不可参照的存储装置的多个存储装置即可。
本发明的实施例还可以通过如下的方法来实现,即,通过网络或者各种存储介质将执行上述实施例的功能的软件(程序)提供给系统或装置,该系统或装置的计算机或是中央处理单元(CPU)、微处理单元(MPU)读出并执行程序的方法。
虽然已经参考典型实施例描述了本发明,但应理解,本发明不限于所公开的典型实施例。以下权利要求的范围符合最宽的解释,以包含所有这类修改以及等同结构和功能。

Claims (9)

1.一种信息处理设备,用于在每次启动程序时进行改变检测处理,所述信息处理设备包括:
写入组件,其能够将表示是否进行所述改变检测处理的设置写入第一区域和第二区域,其中,所述第一区域能够被在第二程序对其它程序进行所述改变检测处理之前对其它程序进行所述改变检测处理的第一程序参照,所述第二区域在所述第一程序启动时不能被所述第一程序参照而能够被进行所述改变检测处理的第二程序参照;以及
选择组件,其被配置为使得用户能够选择表示是否执行所述改变检测处理的设置,
其中,所述写入组件将所述用户所选择的表示是否进行所述改变检测处理的设置写入所述第一区域和所述第二区域这两者中,
其中,将所述设置存储在所述第一区域和所述第二区域中,
其中,所述第一区域和所述第二区域是不同存储装置中的存储区域,
其中,所述第一程序根据所述第一区域中所写入的表示是否进行所述改变检测处理的设置来进行所述改变检测处理,以及
所述第二程序根据所述第二区域中所写入的表示是否进行所述改变检测处理的设置来进行所述改变检测处理。
2.根据权利要求1所述的信息处理设备,其中,
所述第一区域是存储所述第一程序的存储装置中的区域,以及
所述第二区域是存储所述第二程序的存储装置中的区域。
3.根据权利要求1所述的信息处理设备,其中,
所述第一程序是BIOS,以及
所述第二程序是涉及启用能够参照所述第二区域的驱动程序的处理的程序。
4.根据权利要求1所述的信息处理设备,其中,所述写入组件和所述选择组件被实现为通过所述第二程序所启动的第三程序而起作用。
5.根据权利要求1所述的信息处理设备,其中,在所述第一区域中的设置和所述第二区域中的设置彼此不一致的情况下,所述第二程序进行使所述第一区域中的设置与所述第二区域中的设置彼此一致使得设置都是用于进行所述改变检测处理的设置的处理。
6.根据权利要求5所述的信息处理设备,其中,
在所述第一区域中的设置是用于进行所述改变检测处理的设置并且所述第二区域中的设置是用于不进行所述改变检测处理的设置的情况下,
所述第二程序将所述第二区域中的设置改变为用于进行所述改变检测处理的设置,然后根据写入所述第二区域中的设置进行所述改变检测处理。
7.根据权利要求5所述的信息处理设备,其中,
在所述第一区域中的设置是用于不进行所述改变检测处理的设置并且所述第二区域中的设置是用于进行所述改变检测处理的设置的情况下,
所述第二程序将所述第一区域中的设置改变为用于进行所述改变检测处理的设置,然后进行重启所述信息处理设备的处理。
8.一种信息处理设备的控制方法,所述信息处理设备在每次启动程序时进行改变检测处理,所述方法包括:
将表示是否进行所述改变检测处理的设置写入第一区域和第二区域,其中,所述第一区域能够被在第二程序对其它程序进行所述改变检测处理之前对其它程序进行所述改变检测处理的第一程序参照,所述第二区域在所述第一程序启动时不能被所述第一程序参照而能够被进行所述改变检测处理的第二程序参照;
由用户选择表示是否执行所述改变检测处理的设置;
将所述用户所选择的表示是否进行所述改变检测处理的设置写入所述第一区域和所述第二区域这两者中;以及
将所述设置存储在所述第一区域和所述第二区域中,
其中,所述第一区域和所述第二区域是不同存储装置中的存储区域,
其中,所述第一程序根据所述第一区域中所写入的表示是否进行所述改变检测处理的设置来进行所述改变检测处理,以及
所述第二程序根据所述第二区域中所写入的表示是否进行所述改变检测处理的设置来进行所述改变检测处理。
9.一种存储控制程序的非暂时性计算机可读存储介质,所述控制程序使计算机进行:
将表示是否进行改变检测处理的设置写入第一区域和第二区域,其中,所述第一区域能够被在第二程序对其它程序进行所述改变检测处理之前对其它程序进行所述改变检测处理的第一程序参照,所述第二区域在所述第一程序启动时不能被所述第一程序参照而能够被进行所述改变检测处理的第二程序参照;
由用户选择表示是否执行所述改变检测处理的设置;
将所述用户所选择的表示是否进行所述改变检测处理的设置写入所述第一区域和所述第二区域这两者中;以及
将所述设置存储在所述第一区域和所述第二区域中,
其中,所述第一区域和所述第二区域是不同存储装置中的存储区域,
其中,所述第一程序根据所述第一区域中所写入的表示是否进行所述改变检测处理的设置来进行所述改变检测处理,以及
所述第二程序根据所述第二区域中所写入的表示是否进行所述改变检测处理的设置来进行所述改变检测处理。
CN201910859663.1A 2018-09-12 2019-09-11 信息处理设备及其控制方法以及存储介质 Active CN110895609B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-170613 2018-09-12
JP2018170613A JP7182966B2 (ja) 2018-09-12 2018-09-12 情報処理装置、情報処理装置の起動方法、及びプログラム

Publications (2)

Publication Number Publication Date
CN110895609A CN110895609A (zh) 2020-03-20
CN110895609B true CN110895609B (zh) 2023-11-14

Family

ID=69719200

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910859663.1A Active CN110895609B (zh) 2018-09-12 2019-09-11 信息处理设备及其控制方法以及存储介质

Country Status (4)

Country Link
US (1) US11514169B2 (zh)
JP (1) JP7182966B2 (zh)
KR (1) KR102467636B1 (zh)
CN (1) CN110895609B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2831787B1 (en) * 2012-03-30 2020-07-08 Irdeto B.V. Method and system for preventing and detecting security threats

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7334157B1 (en) * 2004-02-26 2008-02-19 Symantec Operating Corporation Restore of data to a computer system having different hardware
JP2009037467A (ja) * 2007-08-02 2009-02-19 Konica Minolta Business Technologies Inc 起動制御方法及び起動制御プログラム並びに画像形成装置
US7765393B1 (en) * 2006-07-11 2010-07-27 Network Appliance, Inc. Method and system of embedding a boot loader as system firmware
CN103810430A (zh) * 2012-11-13 2014-05-21 联想(北京)有限公司 一种控制电子设备的方法及电子设备

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0666751B2 (ja) 1986-07-25 1994-08-24 日本電信電話株式会社 シグナリング信号伝送装置
JP2009009372A (ja) 2007-06-28 2009-01-15 Panasonic Corp 情報端末、クライアントサーバシステムおよびプログラム
WO2009044533A1 (ja) 2007-10-05 2009-04-09 Panasonic Corporation セキュアブート端末、セキュアブート方法、セキュアブートプログラム、記録媒体及び集積回路
JP5309709B2 (ja) 2008-06-16 2013-10-09 株式会社リコー ソフトウェア改ざん検知方法及び機器
JP5673045B2 (ja) 2010-12-03 2015-02-18 株式会社リコー 組み込み機器、暗号化・復号方法、プログラム
US20140040636A1 (en) * 2011-04-29 2014-02-06 Jeff Jeansonne Embedded controller to verify crtm
WO2013009619A2 (en) 2011-07-08 2013-01-17 Openkeak Inc. System and method for validating components during a booting process
JP5519712B2 (ja) 2012-01-20 2014-06-11 レノボ・シンガポール・プライベート・リミテッド コンピュータをブートする方法およびコンピュータ
JP6124531B2 (ja) 2012-08-06 2017-05-10 キヤノン株式会社 情報処理システム、画像処理装置及びその制御方法、並びにプログラム
JP6066751B2 (ja) * 2013-01-31 2017-01-25 キヤノン株式会社 情報処理システム及びその制御方法、並びにプログラム
EP2775421B1 (en) 2013-03-05 2019-07-03 Wincor Nixdorf International GmbH Trusted terminal platform
US11194586B2 (en) * 2013-05-01 2021-12-07 Insyde Software Corp. Secure boot override in a computing device equipped with unified-extensible firmware interface (UEFI)-compliant firmware
JP6659150B2 (ja) * 2016-02-05 2020-03-04 キヤノン株式会社 装置及びその制御方法、並びにプログラム
JP6373888B2 (ja) * 2016-03-01 2018-08-15 株式会社東芝 情報処理装置及び制御方法
JP6942601B2 (ja) 2017-10-18 2021-09-29 キヤノン株式会社 情報処理装置、その制御方法、及びプログラム
US11861011B2 (en) * 2019-06-25 2024-01-02 ZPE Systems, Inc. Secure boot process

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7334157B1 (en) * 2004-02-26 2008-02-19 Symantec Operating Corporation Restore of data to a computer system having different hardware
US7765393B1 (en) * 2006-07-11 2010-07-27 Network Appliance, Inc. Method and system of embedding a boot loader as system firmware
JP2009037467A (ja) * 2007-08-02 2009-02-19 Konica Minolta Business Technologies Inc 起動制御方法及び起動制御プログラム並びに画像形成装置
CN103810430A (zh) * 2012-11-13 2014-05-21 联想(北京)有限公司 一种控制电子设备的方法及电子设备

Also Published As

Publication number Publication date
CN110895609A (zh) 2020-03-20
US11514169B2 (en) 2022-11-29
US20200082093A1 (en) 2020-03-12
KR20200030448A (ko) 2020-03-20
KR102467636B1 (ko) 2022-11-16
JP7182966B2 (ja) 2022-12-05
JP2020042632A (ja) 2020-03-19

Similar Documents

Publication Publication Date Title
CN109684849B (zh) 信息处理装置、其控制方法和存储介质
WO2016145679A1 (zh) 一种终端升级方法及装置
US20170163835A1 (en) Information processing apparatus that installs module, method of controlling the same, and storage medium
US10534905B2 (en) Image processing apparatus, method of controlling the same, and storage medium
US20080002236A1 (en) Image forming apparatus
CN110895609B (zh) 信息处理设备及其控制方法以及存储介质
JP6147240B2 (ja) 情報処理装置、該装置の制御方法、並びにプログラム
US11681809B2 (en) Information processing apparatus, control method, and storage medium
US20150317103A1 (en) Printing apparatus that updates software installed therein, method of controlling the same, and storage medium
JP7374780B2 (ja) 情報処理装置および情報処理装置の制御方法
EP3674888A1 (en) Information processing apparatus and method
JP7134670B2 (ja) 画像形成装置、及び、画像形成装置の制御方法
JP2020082441A (ja) 画像形成装置、その制御方法、及びプログラム
KR102402373B1 (ko) 정보 처리 장치 및 정보 처리 방법
CN113721959A (zh) 一种信息处理方法、装置及电子设备
CN114237722A (zh) 一种系统的启动方法、装置、设备及工程车辆
JP2021140601A (ja) 情報処理装置、その制御方法、及びプログラム
US10476890B2 (en) Information processing apparatus, method of controlling the same, and storage medium
JP2021131794A (ja) パスワード認証装置、画像処理装置、パスワード認証方法
US20230132214A1 (en) Information processing apparatus and method of the same
JP7129296B2 (ja) 画像処理装置、画像処理装置の制御方法
JP2021128469A (ja) 情報処理装置と、情報処理装置における起動方法
US20220156378A1 (en) Information processing apparatus, control method of information processing apparatus, and storage medium
JP2022157063A (ja) 情報処理装置、情報処理方法およびプログラム
JP6953828B2 (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
GR01 Patent grant
GR01 Patent grant