CN111191223B - 能够检测软件篡改的信息处理装置及其控制方法 - Google Patents

能够检测软件篡改的信息处理装置及其控制方法 Download PDF

Info

Publication number
CN111191223B
CN111191223B CN201911094683.0A CN201911094683A CN111191223B CN 111191223 B CN111191223 B CN 111191223B CN 201911094683 A CN201911094683 A CN 201911094683A CN 111191223 B CN111191223 B CN 111191223B
Authority
CN
China
Prior art keywords
clock signal
frequency
controller
information processing
processing apparatus
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
CN201911094683.0A
Other languages
English (en)
Other versions
CN111191223A (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 CN111191223A publication Critical patent/CN111191223A/zh
Application granted granted Critical
Publication of CN111191223B publication Critical patent/CN111191223B/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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • 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
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/06Clock generators producing several clock signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • 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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/81Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer by operating on the power supply, e.g. enabling or disabling power-on, sleep or resume operations
    • 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/1237Print job management
    • G06F3/1238Secure printing, e.g. user identification, user rights for device usage, unallowed content, blanking portions or fields of a page, releasing held jobs
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00244Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server with a server, e.g. an internet server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00838Preventing unauthorised reproduction
    • H04N1/0088Detecting or preventing tampering attacks on the reproduction system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00938Software related arrangements, e.g. loading applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)
  • Facsimiles In General (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

本发明公开了一种能够检测软件篡改的信息处理装置及其控制方法。所述信息处理装置包括对执行单元执行的软件进行验证的验证单元、保持表示应当施加到执行单元的电压的信息的保持单元、基于该信息向执行单元施加预定电压的电源单元、以及输出具有多个频率的时钟信号的时钟信号输出单元。在执行软件的验证时,时钟信号输出单元向验证单元输出具有第一频率的时钟信号;在向执行单元施加预定电压之前,向执行单元输出具有比所述第一频率更低的第二频率的时钟信号;以及,在向执行单元施加了预定电压之后,向执行单元输出具有比所述第二频率更高的第三频率的时钟信号。

Description

能够检测软件篡改的信息处理装置及其控制方法
技术领域
本发明涉及能够检测软件篡改的信息处理装置等。
背景技术
已知信息处理装置,其检测软件篡改(在下文中称之为篡改检测)并禁止执行被检测到篡改的软件。例如,子中央处理单元(CPU)对要被主CPU执行的软件进行验证,且主CPU执行已被成功验证的软件。在软件未被成功验证时,禁止执行软件。
此外,有些信息处理装置配设有被称之为自适应电源电压(ASV)的技术,在该技术中,根据设备之间(例如,CPU之间)的变化来改变电源电压(日本专利特开第2005-322860号)。对于快速(fast)设备(即便使用比预定电压更低的电压也能以预定频率操作的设备),通过施加比预定电压更低的电压来实现以预定频率的操作。因此,可以减少电力消耗。另外,对于慢速(slow)设备(只有在使用比预定电压更高的电压的情况下才能以预定频率操作的设备),通过施加比预定电压更高的电压来实现以预定频率的操作。在下文中,基于设备之间的变化的电压设置将被称为ASV处理。
在设备是慢速设备的情况下,除非输入设备所必须的电压然后输入具有预定频率的时钟信号,否则设备的操作可能是不稳定的。因此,输入具有比预定频率更低频率的时钟信号,直到输入设备所必须的电压为止。在输入设备所必须的电压之后,使用例如锁相环电路(在下文中称之为PLL电路),将具有预定频率的时钟信号输入到设备。
如上所述,由于ASV处理,为了可靠地操作设备,需要输入低速时钟信号,直到输入设备所必须的电压为止。从而使用低速时钟信号来执行篡改检测处理,所述篡改检测处理是在设备操作之前执行的处理并且针对的是将由设备执行的软件。因此,篡改检测处理花费了较长的时间。
发明内容
本发明提供了一种能够缩短篡改检测处理所需时间的信息处理装置。
根据本发明的第一方面,提供了一种信息处理装置,包括:执行单元,其被构造为执行预定的软件;验证单元,其被构造为对所述预定的软件进行验证;电源单元,其被构造为向所述执行单元输出电压;保持单元,其被构造为保持与应当施加到所述执行单元的电压对应的信息,其中,所述执行单元基于所述保持单元所保持的信息,设置将由所述电源单元输出的电压;以及,时钟信号输出单元,其被构造为至少在所述预定的软件的验证处理期间,向所述验证单元输出具有第一频率的时钟信号,所述验证处理由所述验证单元执行,以及,至少在对所述电源单元要输出的电压的设置处理期间,向所述执行单元输出具有比所述第一频率更低的第二频率的时钟信号,所述设置处理由所述执行单元执行。
根据下面参照附图对实施例的描述,本发明的其他特征将变得清楚。
附图说明
图1是图像形成装置的整体配置的示图。
图2是专用集成电路(ASIC)的框图。
图3是例示了由子中央处理单元(CPU)执行的处理的流程图。
图4是例示了由主CPU执行的处理的流程图。
图5是例示了与启动程序的验证有关的框图的详细示图。
图6是例示了启动程序验证方法的流程的示图。
图7是例示了与ASV处理有关的框图的详细的示图。
图8是例示了在处理信息存储单元中存储的信息的详细示图。
图9是例示了ASV处理的详细流程图。
具体实施方式
下面将参照附图详细地描述本发明的实施例。
在本实施例中,信息处理装置、具有打印功能和扫描功能的图像形成装置将作为例子来描述。
图1是图像形成装置的整体配置的示图。
图像形成装置1和个人计算机(PC)800被连接到网络700,从而可以在他们之间进行通信。另外,PC 800上安装有网络浏览器。网络浏览器接收统一资源定位地址(URL)作为输入、从网络服务器(未示出)接收网页、以及能够在PC 800的操作单元(未示出)上显示网页。
图像形成装置1配置有网络服务器,用于使用户通过PC 800的网络浏览器设置图像形成装置1的各种设定。在网络浏览器的地址输入区域中输入图像形成装置1的IP地址或主机名时,PC 800的网络浏览器从图像形成装置1接收用于设置各种设定的网页,并将网页显示在显示单元上。用户能够通过用于设置各种设定的网页来设置图像形成装置1的设定。
接下来,将描述图像形成装置1的配置。图像形成装置1有多个功能单元、控制单元5、操作单元2、打印机单元3、扫描仪单元4以及电源单元113。
电源单元113向控制单元5、操作单元2、打印机单元3和扫描仪单元4供电。操作单元2有包括触摸面板和键盘的液晶显示单元。此外,操作单元2有省电按键,用于使图像形成装置1的电力状态切换到睡眠状态。当在待机状态按下省电按键时,图像形成装置1的电力状态被切换到电力消耗比待机状态更少的睡眠状态。另外,当在睡眠状态按下省电按键时,图像形成装置1的电力状态被切换到待机状态。睡眠状态可以是停止向控制单元5供电的深度睡眠状态,只要上述睡眠状态是停止向打印机单元3或扫描仪单元4供电的睡眠状态即可。另外,睡眠状态也可以是不停止向控制单元5供电的睡眠状态。
根据从用户接收的打印命令,打印机单元3利用控制单元5接收的图像数据在片材上打印图像。作为针对打印机单元3的打印***,可以采用通过在片材上定影调色剂来打印图像的电子照相***,或者,也可以采用通过在片材上排墨来打印图像的喷墨***。根据从用户接收的扫描命令,扫描仪单元4扫描原稿图像并将扫描图像的图像数据发送给控制单元5。
控制单元5具有专用集成电路(ASIC)100。另外,控制单元5具有只读存储器(ROM)600和随机存储器(RAM)500。控制单元5具有硬盘驱动器(HDD)300、电可擦编程只读存储器(EEPROM)400和网络接口(I/F)200。另外,控制单元5具有电源控制电路112。
控制单元5执行图像形成装置1的各种功能。ASIC 100读出在ROM 600或HDD 300中存储的控制程序并执行各种类型的控制,例如打印控制和扫描控制。RAM 500是易失性存储器,并且是在执行控制程序时所使用的工作存储器。HDD 300是诸如磁盘等的存储介质,存储诸如控制程序和图像数据等。EEPROM 400是非易失性存储器,存储诸如在执行控制程序时所参照的设定值。
网络接口I/F 200经由网络700从PC 800接收打印数据和各种数据。
当从例如省电按键处接收到向睡眠状态的切换请求时,电源控制电路112停止从电源单元(电源单元)113向打印机单元3和扫描仪单元4的供电。从而,图像形成装置1切换到睡眠状态。另外,当从例如省电按键处接收到从睡眠状态返回的请求时,电源控制电路112执行控制,以使从电源单元113向打印机单元3和扫描仪单元4供电。
ASIC 100的配置
图2是ASIC 100的框图。
ASIC 100具有主CPU(执行单元)101、用于存储主CPU 101的启动数据的存储单元102、子CPU(验证单元)103和用于存储子CPU 103的启动数据的存储单元104。另外,ASIC100具有输入接口105、输出接口106、数据处理单元107、锁相环(PLL)109和时钟选择单元(信号选择单元)110。另外,ASIC 100具有处理信息存储单元(保持单元)111、复位控制器114和电源终端115。根据本发明的时钟信号输出单元包括振荡器108、PLL 109和时钟选择单元110。
主CPU 101控制ASIC 100内的设备。总的来说,在向主CPU 101施加1.0V的电源电压的情况下,主CPU 101能够利用具有1200MHz频率的时钟信号进行操作。然而,根据设备的变化,可能有这样的情况:即使在电源电压低于1.0V时,主CPU 101也能以1200MHz进行操作;也可能有这样的情况:除非向主CPU 101施加了高于1.0V的电源电压,否则主CPU 101不以1200MHz进行操作。
存储单元102存储在主CPU启动时所执行的程序以及在主CPU 101启动时所使用的各种类型的数据(在下文中,程序和各种类型的数据统称为启动数据)。存储单元102是只读存储器(ROM)。
子CPU 103为主CPU 101执行辅助控制。
存储单元104存储在子CPU 103启动时所执行的程序以及在子CPU 103启动时所使用的各种类型的数据。存储单元104是ROM。
在本实施例中,当图像形成装置1被开启时(当ASIC 100复位时),子CPU 103比主CPU 101更早地启动。也就是说,当图像形成装置1被开启时(当ASIC 100被复位时),子CPU103利用在存储单元104中存储的启动数据进行启动,并对存储单元102中存储的启动数据执行验证。作为子CPU 103的启动数据的验证结果,在确定将要被主CPU 101执行的启动数据未被篡改的情况下,主CPU 101执行在存储单元102中存储的启动程序。
输入接口(在下文中称之为I/F)105是通过其从ASIC 100外部输入数据的接口。输出接口106是通过其向外部输出数据的接口。
数据处理单元107是对从输入I/F 105输入的数据执行预定处理的模块。例如,数据处理单元107接收图像数据并对接收到的图像数据执行图像处理(放大、缩小、校正等)。
振荡器108向ASIC 100提供时钟信号。振荡器108提供例如10MHz的时钟信号。PLL109是将振荡器108提供的时钟信号的频率转换为期望频率并输出所产生的时钟信号的电路。PLL 109将输入的时钟信号的频率(10MHz)转换为例如1200MHz的时钟信号(高120倍的频率)并输出该1200MHz的时钟信号。
时钟选择单元(多路转换器(MUX))110接收振荡器108提供的时钟信号和PLL 109提供的时钟信号。时钟选择单元110输出振荡器108提供的时钟信号和PLL 109提供的时钟信号中的一个。在本实施例中,时钟选择单元110根据子CPU 103的命令输出振荡器108提供的时钟信号和PLL 109提供的时钟信号中的一个。ASIC 100内的各模块(主CPU 101、子CPU103、数据处理单元107以及其他电路)执行他们之间与同步有关的数据的接收和发送,因而输入到各模块的时钟信号需要相互同步。在本实施例中,向各模块提供的时钟信号是从时钟选择单元110输出的时钟信号分支出来的。时钟信号可以具有不同的频率,只要输入到各模块的时钟信号的相位是相互同步的即可。
处理信息存储单元111存储与主CPU 101有关的处理信息(3比特信息)。处理信息存储单元111是ROM。
电源控制电路112改变将由电源单元113输出的电压。根据在处理信息存储单元111中存储的处理信息,电源控制电路112改变将要从电源单元113输出的电压。电源单元113经由电源终端115向ASIC 100施加电压。电源单元113基于从电源控制电路112输出的电压控制信号向ASIC 100施加预定电压。
复位控制器114向ASIC 100内的模块输出复位信号。当图像形成装置1被开启时(当ASIC 100被复位时),复位控制器114取消子CPU 103和存储单元104的复位。接着,根据来自子CPU 103的命令,复位控制器114取消主CPU 101的复位。
ASIC 100可在两种操作模式下进行操作:低速操作模式和高速操作模式。在低速操作模式中,时钟选择单元110根据来自子CPU 103的命令,选择并输出从振荡器108输入的时钟信号。如图2所示,输出的时钟信号被用作为用于操作主CPU 101、子CPU 103和数据处理单元107的时钟信号。另外,尽管图2中未示出,时钟信号被输入到上述电路以外的其他电路中。
图2中,从时钟选择单元110输出的时钟信号被直接提供给各模块;然而,通过使用例如频率驱动器电路而使频率降低的时钟信号也可以被提供给各模块。
在高速操作模式中,时钟选择单元110根据来自子CPU 103的命令,选择并输出从PLL 109输入的时钟信号。如图2所示,输出的时钟信号被用作为用于操作主CPU 101、子CPU103和数据处理单元107的时钟信号。此外,尽管图2中未示出,时钟信号被输入到上述电路以外的其他电路中。
子CPU操作流程
图3是例示由子CPU 103执行的处理的流程图。
当图像形成装置被用户开启时(S301),复位信号被输入到ASIC 100。当ASIC 100被复位时,ASIC 100基于初始设定进入低速操作模式。从振荡器108输出的时钟信号(10MHz)被输入到子CPU 103(S302)。复位控制器114利用硬件序列来取消子CPU 103和存储器104的复位。因此,子CPU 103执行存储在存储单元104中的启动数据(S303)。
启动的子CPU 103设置使PLL 109输出1200MHz时钟信号的设定。因此,PLL 109使1200MHz的时钟信号振荡。
之后,子CPU 103设置各种参数以使数据处理单元107执行预定的处理(S305)。然后,子CPU 103确定是否经过了PLL 109的锁定时间(S306)。锁定时间是PLL 109使具有预定频率(在该情况下,1200MHz)的信号稳定振荡所需的时间。
在确定经过了锁定时间的情况下(S306中为“是”),子CPU 103将时钟选择单元110的输出从振荡器108输出的时钟信号切换到从PLL 109输出的时钟信号(S307)。因而,ASIC100进入高速操作模式。
然后,在本实施例中,子CPU 103执行主CPU 101的启动数据的验证(S308)。例如,子CPU 103将预先存储在存储单元104中的正确值与存储在存储单元102中的启动数据的哈希值进行比较。在正确值与启动数据的哈希值匹配的情况下,子CPU 103确定启动数据未被篡改,在正确值与启动数据的哈希值不匹配的情况下,子CPU 103确定启动数据已被篡改。注意,将参照图4和图5来详细描述启动数据篡改检测方法。
在确定启动数据已被篡改的情况下(S309中为“是”),主CPU 101不执行启动数据,并且子CPU 103通知用户和管理员发生了篡改(S310)。作为通知方法,例如,可以点亮无光的发光二极管(LED)(光输出单元)或可使用声音通知。
在确定启动数据未被篡改的情况下(S309中为“否”),子CPU 103将时钟选择单元110的输出从PLL 109输出的时钟信号切换为从振荡器108输出的时钟信号(S311)。因而,ASIC 100进入低速操作模式。
然后,子CPU 103取消主CPU 101和其他电路的复位(S312)。因此,主CPU 101开始启动。
主CPU操作流程
图4是例示了由主CPU 101执行的处理的流程图。
在取消了主CPU 101的复位时(S401),主CPU 101利用从振荡器108输出的时钟信号开始操作。主CPU 101执行存储在存储单元102中的启动数据(S403)。启动数据已被验证,并确定启动数据未被篡改。在本实施例中,主CPU 101执行ASV处理(S404)。将参照图6、图7和图8来描述ASV处理的详情。
当ASV处理结束时,主CPU 101设置使PLL 109输出1200MHz的时钟信号的设定(S405)。之后,主CPU 101确定是否经过了PLL 109的锁定时间(S406)。在确定经过了PLL109的锁定时间的情况下(S406中为“是”),主CPU 101将时钟选择单元110的输出从振荡器108输出的时钟信号切换为从PLL 109输出的时钟信号(S407)。因此,ASIC 100进入高速操作模式。之后,主CPU 101控制数据处理单元107执行的数据处理。
在ASIC 100进入高度操作模式时,针对数据处理单元107将要执行的各种类型的数据处理的设定被设置成针对ASIC 100的各种设定。此外,主CPU 101的电源电压被改变成适应于要由主CPU 101执行的处理的电压,从而,主CPU 101能够执行各种类型的数据处理。
根据上述流程,在主CPU 101执行ASV处理之前,子CPU 103能够利用从PLL 109输出的高频率的时钟信号来执行篡改检测,因此,可以在短时间内完成篡改检测处理。另外,在子CPU 103结束篡改检测处理后,提供给主CPU 101的时钟信号被切换成来自振荡器108的低频率的时钟信号,因此,主CPU 101能够执行ASV处理。
篡改检测处理
接着,将描述图3的S308中的针对启动程序的篡改检测处理的详情。
图5是例示了与启动程序的验证有关的详细框图的示图。
存储单元102存储主CPU 101的启动数据401。在取消了主CPU 101的复位时,主CPU101读取并执行在存储单元102中存储的主CPU 101的启动数据401。因此,主CPU 101开始启动。存储单元104存储子CPU 103的启动数据402。在取消子CPU 103的复位时,子CPU 103读取并执行存储在存储单元104中的子CPU 103的启动数据402。因此,子CPU 103开始启动。
此外,存储单元104存储要与主CPU 101执行的启动数据401进行比较的比较数据(正确值)。
图6是例示启动程序验证方法流程的示图。
子CPU 103从存储单元102中存储的主CPU 101的启动数据401的第一数据中读取预定量的数据(例如,100kB)(S601)。读取的数据被存储在子CPU 103的缓存存储器中。子CPU 103读取与从存储单元102中读取的数据一样多的比较数据403(S602)。然后,子CPU103将在缓存存储器中存储的主CPU 101的启动数据401与比较数据403进行比较(S603)。作为比较结果,在启动数据401与比较数据403不同的情况下(S604中为“否”),子CPU 103确定启动数据401已被篡改(S605)。
与此相反,作为比较结果,在启动数据401与比较数据403匹配的情况下(S604中为“是”),子CPU 103确定启动数据401未被篡改(S606)。
在本实施例中,将主CPU 101的启动数据401本身与比较数据403进行比较。然而,计算主CPU 101的启动数据401的哈希值,通过将所述哈希值与预先存储的正确值进行比较也可以执行启动数据401的验证。
另外,在本实施例中,对启动数据401(100kB)的一部分进行验证;然而,也可以对启动数据401的全部进行验证。
ASV处理
接着,将描述图4的S404中的ASV处理。图7是例示了与ASV处理相关的详细框图的示图。
处理信息存储单元111存储与主CPU 101相关的处理信息。处理信息存储单元111是ROM。在本实施例中,主CPU 101的处理从慢到快被划分为八个阶段,存储3比特数据作为与处理信息存储单元111中的处理有关的信息。
图8是例示了在处理信息存储单元111中存储的详细信息的示图。如图8所示,典型的处理被设置为“4”,并以3比特数据“100”表示。最慢的处理被设置为“0”,并以3比特数据“000”表示。此外,最快的处理被设置为“7”,并以3比特数据“111”表示。
返回到图7,电源控制电路112从主CPU 101接收在处理信息存储单元111中存储的处理信息。基于接收到的处理信息,电源控制电路112输出控制信号以改变将要从电源单元113输出的电压。主CPU 101向电源控制电路112输出3比特数据。ASIC 100和电源控制电路112通过串行总线相连。ASIC 100的I2C(内部集成电路)I/F单元601和电源控制电路112的I2C I/F单元602利用I2C协议进行通信。
电源控制电路112的数据处理单元603将经由I2C I/F单元602输入的3比特处理信息作为3比特控制信号输出给电源单元113。当图像形成装置1被开启时,电源单元113输出典型的电压,在本实施例中即1.0V的电压。此后,电源单元113基于从电源控制电路112输入的控制信号,向电源终端115施加预定的电压。例如,如图8所示,在主CPU 101是典型芯片的情况下,从处理信息存储单元111输出的3比特数据是“100”。施加到主CPU 101的电源电压是1.0V。另外,在主CPU 101执行最慢处理的情况下,从处理信息存储单元111输出的3比特数据是“000”。施加到主CPU 101的电源电压是1.12V(参见图8)。此外,在主CPU 101执行最快处理的情况下,从处理信息存储单元111输出的3比特数据是“111”。施加到主CPU 101的电源电压是0.91V(参见图8)。
图9是例示ASV处理的详细流程图。
主CPU 101从处理信息存储单元111中读取在3比特中记录的处理信息(S901)。在本实施例中,通过在处理信息存储单元111的特定地址读出数据来读取与主CPU 101有关的、在3比特中记录的处理信息。主CPU 101向电源控制电路112输出3比特的处理信息(S902)。在本实施例中,主CPU 101根据I2C协议发送处理信息。
电源控制电路112接收从ASIC 100输入的3比特的处理信息。数据处理单元603向电源单元113输出控制信号以改变电源单元113的电压(S903)。电源单元113被配设有用于控制输出电压的3比特输入终端。电源单元113基于向输入终端输入的控制信号,调整要施加到主CPU 101的电源电压(S904)。
图8例示了3比特控制信号和从电源单元113输出的电源电压之间的关系。在3比特数据是“100”的情况下,电源单元113向主CPU 101输出1.0V。另外,在3比特数据是“110”的情况下,电源单元113向主CPU 101输出0.94V。
其他实施例
在上述实施例中,时钟选择单元110输出振荡器108提供的时钟信号或PLL 109提供的时钟信号。时钟选择单元110可以接收三个或更多的具有不同频率的时钟信号,并可以输出任一时钟信号。
例如,时钟选择单元110在子CPU 103执行启动数据验证时,向子CPU 103输出1200MHz的时钟信号,在主CPU 101执行ASV处理时,向主CPU 101输出10MHz的时钟信号。然后,时钟选择单元110在ASV处理完成时向主CPU 101输出1200MHz的时钟信号。频率并不限于10MHz和1200MHz,只要从时钟选择单元110输出的时钟信号的频率为高、然后低、再然后高即可。在执行启动数据验证时的时钟信号的频率与完成ASV处理之后的时钟信号的频率不相同。
本发明提供了一种能够缩短篡改检测处理所需时间的信息处理装置。
也可以通过读出并执行记录在存储介质(例如,非临时性计算机可读存储介质)上的计算机可执行指令以执行本发明的上述实施例中的一个或更多个的功能的***或装置的计算机,来实现本发明的实施例,并且,可以利用通过由所述***或装置的所述计算机例如读出并执行来自所述存储介质的所述计算机可执行指令以执行上述实施例中的一个或更多个的功能而执行的方法,来实现本发明的实施例。计算机可以包括中央处理单元(CPU)、微处理单元(MPU)或其他电路中的一个或多个,并且可以包括分离的计算机或分离的计算机处理器的网络。所述计算机可执行指令可以例如从网络或存储介质被提供给计算机。例如,存储介质可以包括如下中的一个或多个:硬盘,随机存取存储器(RAM),只读存储器(ROM),分布式计算***的存储器,光盘(例如,压缩盘(CD),数字多功能光盘(DVD),或蓝光光盘(BD)TM),闪速存储器装置,存储卡,等等。
本发明的实施例还可以通过如下的方法来实现,即,通过网络或者各种存储介质将执行上述实施例的功能的软件(程序)提供给***或装置,该***或装置的计算机或是中央处理单元(CPU)、微处理单元(MPU)读出并执行程序的方法。
虽然针对实施例描述了本发明,但是,应该理解,本发明不限于公开的实施例。下述权利要求的范围应当被赋予最宽的解释,以便涵盖所有这类修改以及等同的结构和功能。

Claims (20)

1.一种信息处理装置,所述信息处理装置包括:
第一控制器,其被构造为执行预定的软件;
第二控制器,其被构造为验证所述预定的软件是否被篡改,其中,通过接收时钟信号来操作所述第二控制器;
电源电压电路,其被构造为向所述第一控制器供给电压;以及
时钟信号输出单元,其被构造为向所述第二控制器输出具有第一频率的时钟信号或具有高于所述第一频率的第二频率的时钟信号;
其中,所述第二控制器基于所述时钟信号输出单元输出的时钟信号从具有第一频率的时钟信号到具有第二频率的时钟信号的切换,来验证所述预定的软件是否被篡改,并且,在所述预定的软件未被篡改的情况下,所述第二控制器使所述时钟信号输出单元从具有第二频率的时钟信号切换到具有第一频率的时钟信号,以及
其中,在所述时钟信号输出单元已将具有第二频率的时钟信号切换到具有第一频率的时钟信号之后,所述第一控制器执行所述预定的软件。
2.根据权利要求1所述的信息处理装置,其中,
在所述第一控制器设置了所述电源电压电路要供给的电压之后,所述时钟信号输出单元输出具有比所述第一频率更高的第三频率的时钟信号。
3.根据权利要求2所述的信息处理装置,其中,
所述第二频率与所述第三频率相同。
4.根据权利要求1所述的信息处理装置,其中,
所述时钟信号输出单元接收具有所述第一频率的时钟信号和具有所述第二频率的时钟信号,并输出具有所述第一频率的时钟信号和具有所述第二频率的时钟信号中的一个。
5.根据权利要求4所述的信息处理装置,所述信息处理装置还包括:
信号输出单元,其被构造为输出具有所述第一频率的时钟信号。
6.根据权利要求5所述的信息处理装置,所述信息处理装置还包括:
频率改变单元,其被构造为接收具有所述第一频率的时钟信号并输出具有所述第二频率的时钟信号。
7.根据权利要求1所述的信息处理装置,其中,
在所述第二控制器执行验证之前,所述时钟信号输出单元向所述第二控制器输出具有比第二频率更低的第四频率的时钟信号。
8.根据权利要求1所述的信息处理装置,其中,
所述第二控制器设置要由所述时钟信号输出单元输出的频率。
9.根据权利要求1所述的信息处理装置,其中,在所述第二控制器验证所述预定的软件未被篡改的情况下,所述时钟信号输出单元输出具有第一频率的时钟信号。
10.根据权利要求1所述的信息处理装置,所述信息处理装置还包括:
通知单元,其被构造为发送表示所述第二控制器验证所述预定的软件被篡改的信息。
11.根据权利要求10所述的信息处理装置,其中,
所述通知单元是用于输出光的光输出单元。
12.根据权利要求1所述的信息处理装置,其中,
所述第二控制器通过将要被所述第一控制器执行的预定的软件的一部分与预先存储的正确值进行比较来执行对所述预定的软件的验证。
13.根据权利要求1所述的信息处理装置,其中,
所述时钟信号输出单元向所述第一控制器和所述第二控制器输出具有所述第一频率的时钟信号和具有所述第二频率的时钟信号。
14.根据权利要求1所述的信息处理装置,其中,所述预定的软件的验证处理是以下处理中的至少一个:
用于读取所述预定的软件的处理、用于读取要与所述预定的软件对应的值进行比较的比较数据的处理、用于将与所述预定的软件对应的值与所述比较数据进行比较的处理、以及用于确定与所述预定的软件对应的值是否与所述比较数据匹配的处理,
由所述第二控制器执行所述验证处理。
15.根据权利要求1所述的信息处理装置,其中,所述信息处理装置还包括:
保持单元,其被构造为保持与应当施加到所述第一控制器的电压对应的信息,其中,所述第一控制器基于所述保持单元所保持的信息,设置将由所述电源电压电路供给的电压;
对所述电源电压电路要供给的电压的设置处理是以下处理中的至少一个:
用于从所述保持单元读取与所述电压对应的信息的处理,以及用于向所述电源电压电路输出从所述保持单元读取的信息的处理,
由所述第一控制器执行所述设置处理。
16.根据权利要求1所述的信息处理装置,其中,
所述第一控制器和所述第二控制器具有同步关系。
17.根据权利要求1所述的信息处理装置,其中,
所述预定的软件是所述第一控制器的启动数据。
18.根据权利要求1所述的信息处理装置,所述信息处理装置还包括:
打印单元,其被构造为在片材上打印图像。
19.根据权利要求1所述的信息处理装置,所述信息处理装置还包括:
扫描单元,其被构造为扫描原稿的图像。
20.一种信息处理装置的控制方法,所述控制方法包括:
向第一控制器供给电压;
由第二控制器验证要由所述第一控制器执行的预定的软件是否被篡改,其中,通过接收时钟信号来操作所述第二控制器;
向第二控制器输出具有第一频率的时钟信号或具有高于所述第一频率的第二频率的时钟信号;
其中,所述第二控制器基于时钟信号从具有第一频率的时钟信号到具有第二频率的时钟信号的切换,来验证所述预定的软件是否被篡改,并且,在所述预定的软件未被篡改的情况下,所述第二控制器使从具有第二频率的时钟信号切换到具有第一频率的时钟信号,以及
其中,在具有第二频率的时钟信号到具有第一频率的时钟信号的切换之后,所述第一控制器执行所述预定的软件。
CN201911094683.0A 2018-11-14 2019-11-11 能够检测软件篡改的信息处理装置及其控制方法 Active CN111191223B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018213732A JP7166884B2 (ja) 2018-11-14 2018-11-14 ソフトウェアの改ざんを検知することが可能な情報処理装置
JP2018-213732 2018-11-14

Publications (2)

Publication Number Publication Date
CN111191223A CN111191223A (zh) 2020-05-22
CN111191223B true CN111191223B (zh) 2024-04-02

Family

ID=68502905

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911094683.0A Active CN111191223B (zh) 2018-11-14 2019-11-11 能够检测软件篡改的信息处理装置及其控制方法

Country Status (4)

Country Link
US (1) US11403399B2 (zh)
EP (1) EP3654134A1 (zh)
JP (1) JP7166884B2 (zh)
CN (1) CN111191223B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7011373B2 (ja) * 2018-07-11 2022-01-26 キヤノン株式会社 複合機及びその制御方法、並びにプログラム
JP7278753B2 (ja) * 2018-11-19 2023-05-22 キヤノン株式会社 ソフトウェアの改ざんを検知することが可能な情報処理装置
JP7316902B2 (ja) * 2019-10-16 2023-07-28 キヤノン株式会社 情報処理装置、その制御方法、及びプログラム

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1612088A (zh) * 2003-10-27 2005-05-04 松下电器产业株式会社 处理器***、指令序列优化装置和指令序列优化程序
EP2259204A1 (en) * 2008-03-28 2010-12-08 Panasonic Corporation Software updating apparatus, software updating system, invalidation method, and invalidation program
CN202205287U (zh) * 2011-09-07 2012-04-25 福建鑫诺通讯技术有限公司 一种无线手持pos机
CN102640078A (zh) * 2009-11-13 2012-08-15 马维尔国际贸易有限公司 针对电源管理的时钟开启策略
JP2014151720A (ja) * 2013-02-06 2014-08-25 Toyota Motor Corp 改竄検知システム、電子制御ユニット
CN105320244A (zh) * 2014-06-16 2016-02-10 马维尔国际贸易有限公司 使用动态时钟频率的输入-输出设备管理
JP2016206765A (ja) * 2015-04-17 2016-12-08 ルネサスエレクトロニクス株式会社 半導体集積回路
US9818004B1 (en) * 2016-08-31 2017-11-14 Square, Inc. Anti-tamper circuit with internal local oscillator

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050138409A1 (en) * 2003-12-22 2005-06-23 Tayib Sheriff Securing an electronic device
JP4367225B2 (ja) 2004-05-11 2009-11-18 ソニー株式会社 半導体集積回路
US7370189B2 (en) 2004-09-30 2008-05-06 Intel Corporation Method and apparatus for establishing safe processor operating points in connection with a secure boot
US8050657B2 (en) * 2006-03-28 2011-11-01 Texas Instruments Incorporated Tamper resistant circuitry and portable electronic devices
JP2012078952A (ja) * 2010-09-30 2012-04-19 Kyocera Mita Corp 改ざん検知装置及び改ざん検知方法
US9348407B2 (en) * 2013-06-27 2016-05-24 Intel Corporation Method and apparatus for atomic frequency and voltage changes
US9684348B2 (en) * 2015-04-28 2017-06-20 Quanta Computer, Inc. Method and system for boosting power supply
US10621351B2 (en) * 2016-11-01 2020-04-14 Raptor Engineering, LLC. Systems and methods for tamper-resistant verification of firmware with a trusted platform module
CN107241688A (zh) * 2017-06-14 2017-10-10 北京小米移动软件有限公司 应用安装包的签名、验证方法、装置及存储介质
US20190097785A1 (en) * 2017-09-27 2019-03-28 Silicon Laboratories Inc. Apparatus for Clock-Frequency Variation in Electronic Circuitry and Associated Methods

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1612088A (zh) * 2003-10-27 2005-05-04 松下电器产业株式会社 处理器***、指令序列优化装置和指令序列优化程序
EP2259204A1 (en) * 2008-03-28 2010-12-08 Panasonic Corporation Software updating apparatus, software updating system, invalidation method, and invalidation program
CN102640078A (zh) * 2009-11-13 2012-08-15 马维尔国际贸易有限公司 针对电源管理的时钟开启策略
CN202205287U (zh) * 2011-09-07 2012-04-25 福建鑫诺通讯技术有限公司 一种无线手持pos机
JP2014151720A (ja) * 2013-02-06 2014-08-25 Toyota Motor Corp 改竄検知システム、電子制御ユニット
CN105320244A (zh) * 2014-06-16 2016-02-10 马维尔国际贸易有限公司 使用动态时钟频率的输入-输出设备管理
JP2016206765A (ja) * 2015-04-17 2016-12-08 ルネサスエレクトロニクス株式会社 半導体集積回路
US9818004B1 (en) * 2016-08-31 2017-11-14 Square, Inc. Anti-tamper circuit with internal local oscillator

Also Published As

Publication number Publication date
CN111191223A (zh) 2020-05-22
EP3654134A1 (en) 2020-05-20
JP7166884B2 (ja) 2022-11-08
JP2020080097A (ja) 2020-05-28
US11403399B2 (en) 2022-08-02
US20200151334A1 (en) 2020-05-14

Similar Documents

Publication Publication Date Title
CN111191223B (zh) 能够检测软件篡改的信息处理装置及其控制方法
US8322609B2 (en) Image forming apparatus and control method of image forming apparatus
US9357093B2 (en) Information processing apparatus, method for controlling information processing apparatus, and recording medium for controlling power supply to a device of the information processing apparatus
US9513853B2 (en) Data processing apparatus capable of controlling power supply, control method therefor, and storage medium
KR102481686B1 (ko) 화상 처리 장치, 그 제어 방법 및 저장 매체
EP2725773A1 (en) Image forming apparatus, method and program capable shutting down a print engine such that the time required for subsequent start-up is shortened
JP6004883B2 (ja) 画像形成装置及びその制御方法、並びにプログラム
US9906661B2 (en) Apparatus having power-saving mode, control method of the apparatus, and storage medium
KR20210020978A (ko) 화상형성장치 및 그 제어 방법
JP2019159892A (ja) 情報処理装置及び情報処理方法
US10999464B2 (en) Image forming apparatus that installs applications, control method therefor, and storage medium
US20160155093A1 (en) Image-forming-apparatus control system, control method, and computer program product
US11443111B2 (en) Information processing apparatus capable of detecting alteration in software
US11388304B2 (en) Information processing apparatus and method of notifying verification result of program
JP5967945B2 (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
KR20150076094A (ko) 인쇄장치, 인쇄장치의 제어방법 및 기억매체
US8139235B2 (en) Data processing method, image processing apparatus and recording medium
JP2015114882A (ja) 画像形成装置、その制御方法及びプログラム
JP2015223761A (ja) 画像形成装置、その制御方法及びプログラム
US20190213317A1 (en) Information processing apparatus, method of controlling the same, and storage medium
CN110895609A (zh) 信息处理设备及其控制方法以及存储介质
EP3712745B1 (en) Image forming apparatus and power supply control method
JP2007241615A (ja) 電子機器
JP2015000499A (ja) 画像形成装置、画像形成装置の制御方法、及びプログラム
JP6269419B2 (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