KR20200030448A - 정보 처리장치, 정보 처리장치의 제어방법, 및 기억매체 - Google Patents

정보 처리장치, 정보 처리장치의 제어방법, 및 기억매체 Download PDF

Info

Publication number
KR20200030448A
KR20200030448A KR1020190106265A KR20190106265A KR20200030448A KR 20200030448 A KR20200030448 A KR 20200030448A KR 1020190106265 A KR1020190106265 A KR 1020190106265A KR 20190106265 A KR20190106265 A KR 20190106265A KR 20200030448 A KR20200030448 A KR 20200030448A
Authority
KR
South Korea
Prior art keywords
program
setting
area
alteration detection
detection processing
Prior art date
Application number
KR1020190106265A
Other languages
English (en)
Other versions
KR102467636B1 (ko
Inventor
쇼타 시미즈
Original Assignee
캐논 가부시끼가이샤
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 캐논 가부시끼가이샤 filed Critical 캐논 가부시끼가이샤
Publication of KR20200030448A publication Critical patent/KR20200030448A/ko
Application granted granted Critical
Publication of KR102467636B1 publication Critical patent/KR102467636B1/ko

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/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

프로그램의 기동시마다 개찬 검지 처리를 행하는 정보 처리장치로서, 개찬 검지 처리를 행할 것인지 아닌지를 나타내는 설정을, 다른 프로그램에 대한 개찬 검지 처리를 최초로 행하는 제1 프로그램이 참조가능한 제1영역과, 상기 제1 프로그램이 기동된 시점에서 상기 제1 프로그램이 참조할 수 없는 제2영역에 기록 가능한 기록부를 구비한 정보 처리장치가 제공된다. 상기 제1 프로그램은, 상기 제1영역에 기록된 상기 설정에 따라 상기 개찬 검지 처리를 행하고, 상기 제2영역을 참조가능한 제2 프로그램은, 상기 제2영역에 기록된 상기 설정에 따라 상기 개찬 검지 처리를 행한다.

Description

정보 처리장치, 정보 처리장치의 제어방법, 및 기억매체{INFORMATION PROCESSING APPARATUS, METHOD OF CONTROLLING INFORMATION PROCESSING APPARATUS, AND STORAGE MEDIUM}
본 발명은, 개찬 검지를 행하는 것이 가능한 정보처리의 기술에 관한 것이다.
프로그램의 취약성을 통해 프로그램을 개찬하여, 컴퓨터를 악용하는 공격이 문제가 되고 있다. 국제공개 제2009/044533호(이하, 문헌 1이라고 한다)에는, 프로그램의 개찬 검지를 행하는 기술이 기재되어 있다. 구체적으로는, 특허문헌 1에는, 내탬퍼(anti-tamper) 모듈을 사용해서, 프로그램의 해시값을 계산하여, 보존해 두고, 프로그램이 기동할 때마다, 프로그램의 해시값을 재계산해서 검증을 행함으로써, 프로그램의 개찬 검지를 행하는 기술이 기재되어 있다.
이때, 문헌 1의 기술에서는, 개찬 검지 처리가 예외없이 실행된다. 이 때문에, 예를 들면, 개찬 검지보다도 기동 속도를 우선하는 유저는, 기동 처리에 시간이 걸리는 상황을 거쳐야만 한다.
본 발명의 일면에 따른 정보 처리장치는, 프로그램의 기동시마다 개찬 검지 처리를 행하는 정보 처리장치로서, 개찬 검지 처리를 행할 것인지 아닌지를 나타내는 설정을, 다른 프로그램에 대한 개찬 검지 처리를 최초로 행하는 제1 프로그램이 참조가능한 제1영역과, 상기 제1 프로그램이 기동된 시점에서 상기 제1 프로그램이 참조할 수 없는 제2영역에 기록 가능한 기록부를 구비한다. 상기 제1 프로그램은, 상기 제1영역에 기록된 상기 설정에 따라 상기 개찬 검지 처리를 행하고, 상기 제2영역을 참조가능한 제2 프로그램은, 상기 제2영역에 기록된 상기 설정에 따라 상기 개찬 검지 처리를 행한다.
본 발명의 또 다른 특징은 첨부도면을 참조하는 이하의 실시형태의 설명으로부터 명백해질 것이다.
도 1은, 복합기의 하드웨어 구성도이다.
도 2는, 복합기의 소프트웨어 구성도이다.
도 3a 및 도 3b는, 기동시의 일련의 동작을 나타내는 모식도이다.
도 4는, 설정 화면을 나타내는 모식도이다.
도 5는, 설정 변경시에 행해지는 처리를 나타내는 흐름도이다.
도6a 및 도 6b는, 개찬 검지 처리를 나타내는 흐름도이다.
이하, 첨부도면을 참조해서 본 발명의 실시형태를 상세히 설명한다. 이때, 이하의 실시형태는 청구범위에 관한 본 발명을 한정하는 것은 아니며, 또한 본 실시형태에서 설명되고 있는 특징의 조합의 전체가 본 발명의 해결수단에 필수적인 것이라고는 할 수 없다. 이때, 이하의 실시형태에서는, 정보 처리장치의 일례로서 복합기(MFP)를 예로 들어서 설명한다. 그렇지만, 본 실시형태가 복합기에 한정되는 것은 아니고, 임의의 타입의 정보 처리장치를 사용할 수 있다.
<실시형태1>
본 실시형태의 정보 처리장치의 구성의 설명에 앞서, 개찬 검지 처리의 개요를 설명한다. 정보 처리장치의 기동은, 일반적으로, 복수의 프로그램이 순차 기동하는 것을 포함한다. 예를 들면, 부트 프로그램, BIOS, 로더, 커널 및 어플리케이션 등의 프로그램이 이 순서로 단계적으로 기동된다. 부트 프로그램, BIOS, 로더, 커널, 및 어플리케이션은 별개의 프로그램이다. 다른 프로그램에 의해 기동되는 각 프로그램에는 서명이 격납되어 있다. 각 프로그램을 기동할 때에, 서명 검증을 행하고, 서명의 검증에 성공했을 경우만, 프로그램을 기동함으로써, 개찬 검지 처리가 행해진다.
이렇게, 개찬 검지 처리가 실행될 경우에는, 통상의 기동 처리 이외에 검증 처리가 행해지게 된다. 이 때문에, 정보 처리장치가 기동 완료할 때까지 걸리는 시간이 길어진다. 이것을 해소하기 위해, 개찬 검지 처리를 생략하여, 정보 처리장치의 기동을 빠르게 하고 싶은 유저도 있기 때문에, 개찬 검지 처리의 실행의 유효(ON) 또는 무효(OFF)를 어플리케이션에 의해 설정해서 제어하는 구성이 생각된다.
여기에서, 어플리케이션(이하, "앱(app)"이라고 한다)이 일반적으로 이용하는 기억 영역(예를 들면, HDD의 기억 영역)에, 개찬 검지 처리의 유효 또는 무효의 설정 정보를 격납하는 구성을 상정한다. 이 경우, 앱이 기동되는 단계보다도 이전의 단계에서 기동되는 프로그램은, 상기한 정보를 참조할 수 없다. 예를 들면, BIOS 및 로더의 기동 처리가, 필요 최저한의 하드웨어를 이용할 수 있는 상태에서 행해진다. 이 때문에, 앱이 일반적으로 이용하는 기억 영역(예를 들면, HDD의 기억 영역)에 개찬 검지 처리의 유효 또는 무효의 설정 정보가 격납되는 경우, BIOS 및 로더는, 이 설정 정보를 참조할 수 없다. 그 결과, 시큐리티를 담보하기 위해서, 항상 BIOS, 로더, 및 커널에 대해 검증을 행해야만 하여, 설정 정보가 무효(OFF) 상태로 설정되어 있었다고 하더라도, 기동이 늦어진다.
한편, BIOS 등으로부터 이용할 수 있는 기억 영역에 개찬 검지의 유효 또는 무효의 설정 정보를 격납하는 방법도 생각된다. 그렇지만, BIOS 등으로부터 이용할 수 있는 기억 영역에 설정 정보를 격납하는 경우, 앱에 의해 관리되는 원래의 설정 정보의 관리와는 별개로 설정 정보를 관리할 필요가 있다. 예를 들면, 백업 및 리스토어에 있어서, 별개의 절차가 필요하게 되어, 관리가 번잡해진다.
이하에서 설명하는 실시형태에서는, 개찬 검지 처리가 유효한지 또는 무효한지를 적절히 설정하여, 개찬 검지 처리를 실행할 것인지와 실행하지 않을 것인지를 전환할 수 있는 구성을 설명한다. 또한, 개찬 검지 처리의 실행의 유효 또는 무효의 설정 정보를 다른 기억 영역에 중복해서 격납함으로써, 이 설정 정보가 무효 상태로 설정되어 있을 경우에, 검증 처리를 행하지 않고 기동을 빠르게 할 수 있는 구성을 설명한다. 또한, 설정 정보를 다른 기억 영역에 중복해서 격납함으로써, 관리를 쉽게 하는 구성을 설명한다.
<하드웨어 구성>
도 1은, 복합기(100)의 하드웨어 구성을 설명하는 블럭도다. 복합기(100)는, CPU(101), 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)은, 랜덤 액세스 메모리다. RAM(103)은, CPU(101)이 복합기(100)를 제어할 때에, 프로그램과 일시적인 데이터의 격납 등에 사용된다. 특별한 언급이 없는 한, 본 명세서에서는, 각 프로그램이 RAM(103)에 로드되고 CPU(101)에 의해 프로그램이 실행되는 것을, 프로그램을 "기동"하는 것으로 표현한다.
플래시 메모리(114)는, 불휘발성의 메모리다. 플래시 메모리(114)에는, 부트 프로그램에 의해 기동되는 프로그램인 BIOS와, BIOS에 의해 참조되는 설정 정보인 BIOS 설정이 격납되어 있다. HDD(104)에는, 프로그램인 로더, 커널, 및 어플리케이션(앱)이 기억되어 있다.
네트워크 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), 앱(213), 및 통신 관리부(208)를 구비하고 있다. 부트 프로그램(209)은, ROM(102)에 격납되어 있다. BIOS(210)은, 플래시 메모리(114)에 격납되어 있다. 로더(211), 커널(212), 앱(213), 및 통신 관리부(208)는, HDD(104)에 격납되어 있다.
부트 프로그램(209)은, BIOS 개찬 검지 처리부(201)를 가진다. BIOS(210)은, BIOS 설정부(202)와 로더 개찬 검지 처리부(203)를 가진다. 로더(211)는, 커널 개찬 검지 처리부(204)를 가진다. 커널(212)은, 앱 개찬 검지 처리부(205)를 가진다. 앱(213)은, UI 제어부(206)를 가진다. 각 프로그램이 기동되면, CPU(101)이, 각 프로그램에 격납되어 있는 각 검지 처리부로서 기능한다.
통신 관리부(208)는, 네트워크(113)에 접속되는 네트워크 I/F 제어부(105)를 제어해서 외부장치와 데이터의 송수신을 행한다. UI 제어부(206)는, 패널 제어부(108)를 거쳐 조작 패널(110)을 향하는 입력을 받고, 입력에 대응하는 처리와 조작 패널(110)에의 화면 출력을 행한다.
부트 프로그램(209)은, 복합기(100)의 전원이 투입되면 CPU(101)에 의해 실행되는 프로그램이다. 부트 프로그램(209)에 따라, CPU(101)은, 기동에 관계되는 처리를 행한다. 또한, 부트 프로그램(209)은, BIOS(210)의 개찬 검지 처리를 행하는 BIOS 개찬 검지 처리부(201)를 가진다.
BIOS(210)은, 부트 프로그램(209)에 의해 기동되는 프로그램이다. BIOS(210)은, 하드웨어의 초기화 등의 기동에 관한 처리를 행하는 프로그램이다. BIOS(210)은, 이 기동 처리에 관한 설정을 행하는 BIOS 설정부(202)와, 로더(211)의 개찬 검지 처리를 행하는 로더 개찬 검지 처리부(203)를 가진다. 이때, BIOS(210)이 기동하고 있는 시점에서는, 커널(212)이 아직 기동하고 있지 않으므로, HDD(104)에 액세스하기 위한 드라이버(후술한다)가 존재하지 않고 있다. 이 때문에, BIOS(210)은, HDD(104)의 영역 중 로더(211)를 격납하고 있는 소정의 영역만 액세스할 수 있다.
로더(211)는, BIOS(210)에 의해 기동되는 프로그램이다. 로더(211)는, 커널(212)을 선택해서 기동하는 처리를 행하는 프로그램이다. 로더(211)는, 커널(212)의 개찬 검지 처리를 행하는 커널 개찬 검지 처리부(204)를 가진다.
커널(212)은, 로더(211)에 의해 기동되는 프로그램이다. 커널(212)은, 각종 드라이버를 로드하고, 앱(213)의 동작을 보조한다. 각 드라이버는, 앱(213)이, 하드웨어인 CPU(101), RAM(103), 또는 HDD(104)에 액세스하여 이용하는 것을 가능하게 하는 기능을 가진다. 더구나, 커널(212)은, 앱(213)의 개찬 검지 처리를 행하는 앱 개찬 검지 처리부(205)를 가진다.
앱(213)은, 커널(212)에 의해 기동되는 프로그램이다. 예를 들면, 앱(213)의 예로서, 패널 제어부(108) 및 조작 패널(110)을 제어하여, 복합기(100)에 대한 유저 조작을 받아들이는 UI 제어부(206)가 있다. 이때, 앱(213)은 이 예에 한정되는 것은 아니다. 예를 들면, 앱(213)은, 네트워크(113)로부터 네트워크 I/F 제어부(105)가 수신한 인쇄 데이터를 프린터 I/F 제어부(107) 및 프린터(112)를 이용해서 인쇄하는 인쇄 기능을 갖는 앱도 포함한다. 복합기의 기능을 실행하는 다른 앱들도 존재할 수 있지만, 여기에서는 이들 앱의 설명은 생략한다.
<기동 동작의 흐름>
도 3a 및 도 3b는, 복합기(100)의 기동시에 있어서의 각 프로그램의 동작 처리를 설명하는 모식도다. 도3a는, 비교예를 나타내는 도면으로, 개찬 검지 처리의 실행의 유효 및 무효를 전환하는 설정값(설정 정보)을 HDD(104)가 격납하고 있는 케이스를 나타낸 도면이다. 우선, 도3a를 사용하여, 프로그램, 즉 부트 프로그램(209), BIOS(210), 로더(211), 커널(212) 및 앱(213)을 이 순서로 기동하는 처리를 설명한다. 또한, 각 프로그램이 다음 단계에서 기동되는 프로그램에 대하여 개찬 검지 처리를 행하면서 단계적으로 프로그램을 기동하는 처리의 흐름을 설명한다. 이때, 도 3a에는, 각 프로그램, 디지털 서명(이하 "서명"이라고 부른다), 공개 키, 및 설정값을 격납하는 하드웨어도 도시되어 있다.
부트 프로그램(209)에는, BIOS 검증용 공개 키(300)가 포함되어 있다. BIOS(210)에는, BIOS 서명(302)과 로더 검증용 공개 키(303)가 포함되어 있다. 플래시 메모리(114)는, BIOS(210)에 대한 영역과는 다른 영역에, BIOS(210)의 동작 설정을 나타내는 정보인 BIOS 설정(310)을 격납하고 있다. BIOS 설정의 예로서는, 복수의 기억장치가 접속되어 있을 경우, 우선해서 판독하여 기동 처리를 행할 기억장치를 나타내는 설정 등이 있다. 본 실시형태에서는, HDD(104)를 우선하여 판독하여 기동하도록 BIOS 설정(310)이 정의된다는 가정하에서 설명을 행한다.
로더(211)에는, 로더 서명(304)과 커널 검증용 공개 키(305)가 포함되어 있다. 커널(212)에는, 커널 서명(306)과 앱 검증용 공개 키(307)가 포함되어 있다. 앱(213)에는 앱 서명(308)이 포함되어 있다. HDD(104)는, 앱(213)으로부터 이용되는 설정값(309)을 더 격납하고 있다. 이때, 각 프로그램에 있어서의 공개 키 및 서명은, 미리 복합기(100)의 출하전에 각 프로그램에 대하여 부여된다.
도 2 및 도3a에 나타낸 것과 같이, BIOS 개찬 검지 처리부(201), 로더 개찬 검지 처리부(203), 커널 개찬 검지 처리부(204), 및 앱 개찬 검지 처리부(205)의 각 검지 처리부가, 다음에 기동할 프로그램의 서명을 검증한다. 검증을 통과한 경우, 다음 프로그램을 기동한다. 이러한 처리를 행함으로써, 단계적으로 개찬 검지 처리를 행하면서 복합기(100)의 기동이 행해진다. 이렇게 개찬 검지 처리를 행하면서 기동을 행하도록 구성된 복합기(100)는, 개찬 검지 처리를 행하지 않는 복합기보다 더 큰 양의 처리를 취급하므로 기동하는데 더 긴 시간이 걸린다.
복합기(100)의 일부 유저는, 개찬 검지 처리에서 얻어지는 시큐리티의 향상보다도 짧은 기동 시간을 선호한다. 이 때문에, 유저에 의해 선택된 설정에 의해, 개찬 검지 기능의 유효 및 무효를 전환할 수 있는 것이 바람직하다.
도 4는, UI 제어부(206)에 의해 조작 패널(110)에 표시되는 복합기(100)의 설정 화면(401)의 모식도다. 버튼 402 및 버튼 403은, 유치 인쇄 기능을 유효로 할 것인지 무효로 할 것인지를 선택하는 버튼이다. 유치 인쇄 기능은, 복합기의 인쇄 기능 중에서, 네트워크 I/F 제어부(105)에 의해 수신한 인쇄 데이터를 곧바로 프린터(112)로 인쇄하는 것이 아니고, UI 제어부(206)에 의해 인쇄 데이터의 인쇄가 지시된 경우에만 인쇄하는 기능이다.
버튼 404 및 버튼 405는, 복합기(100)의 개찬 검지 기능을 유효로 할 것인지 무효로 할 것인지를 선택하는 버튼이다. 버튼 406이 선택되면, 설정 화면(401)의 설정 내용이 HDD(104)에 기억된다. 버튼 407이 선택되면, 설정 화면(401)에서 선택된 내용은 캔슬된다.
설정 화면(401) 상에서 선택된 내용은, 도3a에 나타내는 설정값(309)으로서 HDD(104)에 격납된다. 설정값(309)은, 앱(213)의 각 기능에 의해 이용된다. 앱(213)에 대해, 설정값(309)이 앱(213)과 같은 기억장치(HDD(104))에 격납되어 있으면, 설정값(309)의 관리가 더 용이하다. 이것은, 예를 들어, 앱(213)이 동일한 액세스 인터페이스로 설정값(309)을 조작할 수 있기 때문이다. 또한, 백업 및 리스토어 처리를 할 경우에 설정값(309)의 관리가 더 용이해진다. 이 때문에, 설정값(309)은, 앱(213)과 같은 기억장치인 HDD(104)에 격납되어 있다.
UI 제어부(206)는, HDD(104)의 설정값(309)을 판독하여 현재의 설정 내용을 표시함으로써 설정 화면(401)을 표시한다. 도 4의 예는, 버튼 402 및 버튼 404가 선택된 상태에서 설정 화면(401)이 표시되어 있는 경우를 나타내고 있다. 즉, 도 4의 예는, 버튼 402 및 버튼 404의 선택 내용이 설정값(309)으로서 설정되어 있는 현재의 설정 내용인 것을 나타내고 있다. 도4에서는, 유치 프린트의 이용에 관한 설정값과 개찬 검지의 이용에 관한 설정값을 같은 설정 화면(401) 위에 설정하는 구성을 설명한다. 그러나, 각각의 설정값이 다른 화면 위에서 설정되는 구성이어도 된다. 또한, 다른 설정값을 동일 화면에서 설정하는 구성이어도 된다.
이렇게, 개찬 검지 처리의 이용에 관한 설정 정보(설정값(309))가 HDD(104)에 격납되고, 유저가 설정 정보를 변경 가능하면, 개찬 검지 처리의 실행의 유효 또는 무효를 유저가 전환하는 것이 가능하다. 그렇지만, BIOS(210) 및 로더(211)가 기동하고 있는 시점에서는, HDD(104)의 설정값(309)에 액세스하기 위한 드라이버가 로드되지 않고 있다. HDD(104)에 액세스하기 위한 드라이버는 커널(212)의 기동에 의해 로드된다. 따라서, BIOS(210) 및 로더(211)는 설정값(309)을 취득할 수 없다. 이 때문에, 개찬 검지 처리의 유효 및 무효를 전환할 수 없다. 도 3a에서는, 설정값(309)을 참조해서 개찬 검지 처리의 유효 및 무효를 전환하는 것은, 드라이버를 유효화하도록 구성된 커널(212)로부터 가능하다.
즉, 도3a와 같이 개찬 검지 기능을 갖는 복합기(100)가 개찬 검지 기능을 무효로 했다고 하더라도, 개찬 검지 기능이 없는 복합기의 기동 시간과 대략 동등한 기동 시간을 달성할 수는 없다. 한편, 플래시 메모리(114)가 개찬 검지 처리의 설정을 격납하면, 전술한 바와 같이, 앱(213)이 다른 설정값과 동일한 액세스 인터페이스로 설정을 취급할 수 없다. 이 때문에, 백업과 리스토어를 행할 경우에 특별한 처리를 행할 필요가 있다. 이 때문에, 설정값의 관리가 번잡하게 된다.
도 3b는, 본 실시형태에 있어서, 복합기(100)의 기동시에 있어서의 각 프로그램의 동작 처리를 설명하는 모식도다. 도 3b에서는, 플래시 메모리(114)가, BIOS(210) 및 BIOS 설정(310)에 대한 영역과는 다른 영역에, 개찬 검지 설정(311)(설정 정보)을 격납하고 있다. 개찬 검지 설정(311)은, 개찬 검지 처리의 유효 또는 무효를 나타내는 설정 정보이며, 설정값(309)과 동기가 취해진다. 개찬 검지 설정(311)의 내용에 따라, BIOS(210) 및 로더(211) 각각에 의한 개찬 검지 처리(도3a에 있어서의 (3) 검증 및 (5) 검증)의 실행의 유무를 전환할 수 있다. 도 3b의 기타 내용은 도3a에서 설명한 내용과 동일하다. 본실시형태에서는, 복수의 기억 영역에 개찬 검지 처리의 실행의 유무를 나타내는 설정이 서로 동기되어 격납된다. 이에 따라, 관리가 번잡하게 되지 않고 개찬 검지 처리의 실행의 유무를 전환할 수 있다. 또한, 개찬 검지 기능을 무효로 했을 경우, 개찬 검지 처리를 행할 경우에 비교해서 기동 시간을 짧게 할 수 있다.
<개찬 검지의 설정 변경의 흐름도>
도 5는, UI 제어부(206)에 의해 설정 변경이 행해질 때의 행하는 처리를 설명하는 흐름도다. 도 5의 흐름도에서 도시되는 일련의 처리는, 복합기(100)의 CPU(101)이, HDD(104)에 기억되어 있는 앱(213)의 프로그램 코드를 RAM에 전개하여 실행하는 것에 의해 행해진다. 한편, 각 처리의 설명에 있어서의 기호 "S"는 해당 흐름도에 있어서의 스텝을 의미한다.
UI 제어부(206)는, 조작 패널(110)로부터 설정 변경 지시를 받으면, S501에서 변경 지시를 받은 설정이 개찬 검지의 설정인지 아닌지를 판정한다. 이 설정이 개찬 검지 설정이 아닌 경우, 처리는 S503으로 진행한다. 이어서 S503에 있어서, UI 제어부(206)는, HDD(104)의 설정값(309)에 변경 내용을 격납하고 처리를 종료한다.
한편, S501에서 설정이 개찬 검지의 설정이라고 판정했을 경우, UI 제어부(206)는 S502로 처리를 진행한다. S502에서, UI 제어부(206)는, 플래시 메모리(114)에, 개찬 검지 설정의 변경 내용을 개찬 검지 설정(311)으로서 격납한다. 그후, UI 제어부(206)는, S503으로 진행하여, 마찬가지로, 개찬 검지 설정의 변경 내용을 HDD(104)에 설정값(309)의 일부로서 격납하고, 처리를 종료한다. 즉, 개찬 검지 설정의 변경 내용은, 플래시 메모리(114)와 HDD(104)의 양쪽에 기록되어 격납된다.
즉, 앱(213)인 UI 제어부(206)는, 개찬 검지의 설정 변경이 있었을 경우에는, 플래시 메모리(114)의 기억 영역에 개찬 검지 설정(311)으로서 설정 변경의 내용을 격납하는 처리를 추가적으로 행한다. 개찬 검지 설정에 관한 처리의 다른 부분에 대해서는, 앱(213)인 UI 제어부(206)는, 비교예와 유사한 처리를 행하게 된다. 즉, UI 제어부(206)는, HDD(104)의 기억 영역에 설정값(309)의 일부로서 개찬 검지 설정을 격납하고, HDD(104)의 설정값(309)을 참조한 표시 처리를 행한다. 따라서, 앱(213)은, 개찬 검지에 관한 설정을, 다른 설정값과 동일한 액세스 인터페이스로 조작할 수 있다. 또한, 백업과 리스토어를 행할 경우에는 특별한 처리를 행하지 않아도 된다.
<개찬 검지의 흐름도>
도6a 및 도 6b는, 개찬 검지 설정(311) 및 설정값(309)의 내용을 참조하면서 행해지는 처리를 설명하는 흐름도다. 도 6a 및 도 6b의 흐름도에서 표시되는 일련의 처리는, 복합기(100)의 CPU(101)이, 플래시 메모리(114) 및 HDD(104)에 기억되어 있는 프로그램 코드를 RAM에 전개하여, 실행하는 것에 의해 행해진다. 즉, CPU(101)이, BIOS(210), 로더(211), 커널(212), 및 앱(213)의 각 프로그램 코드를 실행하는 것에 의해 일련의 처리를 행한다. 또한, 도 6a 및 도 6b에 나타내는 일부의 처리는, CPU(101)이, ROM(102)에 기억되어 있는 부트 프로그램(209)의 프로그램 코드를 실행하는 것에 의해 행해진다.
복합기(100)의 전원이 투입되면, CPU(101)은, ROM(102)으로부터 직접 부트 프로그램(209)을 판독하여, 부트 프로그램(209)을 실행한다. 부트 프로그램(209)이 실행되면, S601에 있어서, BIOS 개찬 검지 처리부(201)는, BIOS(210), 로더 검증용 공개 키(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)을 기동하도록 구성되어 있다. 이 때문에, 로더(211)가 "개찬 검지 처리 있음"으로 기동되는 경우, S606에 있어서 로더(211)에 포함되는 커널 개찬 검지 처리부(204)는, 커널(212), 앱 검증용 공개 키(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에서 커널을 기동하는 2가지의 패턴이 존재한다. 2가지의 패턴 사이에서 개찬 검지 설정(311)에 근거해서 커널의 기동이 전환된다. 즉, 개찬 검지 설정(311)이 무효 상태를 나타내는 설정인 경우에는, 로더(211) 및 커널(212)은, 개찬 검지 처리를 행하지 않고 기동된다. 개찬 검지 설정(311)이 유효 상태를 나타내는 설정인 경우에는, 로더(211) 및 커널(212)은, 개찬 검지 처리 후에 기동된다. 본 실시형태에서는 개찬 검지 설정(311)은 BIOS(210)이 참조가능한 기억 영역에 기억되어 있다. 이 때문에, BIOS(210)과 로더(211)는, HDD(104)에 격납되어 있는 설정값(309)을 참조하지 않고, 개찬 검지를 실행할 것인지 아닌지를 전환할 수 있다.
도 6b의 처리를 계속해서 설명한다. 커널(212)이 기동된 후, 커널(212)은, 각종 드라이버의 로드 등의 초기화처리를 행한다. 각종 드라이버의 로드에 의해, HDD(104)의 설정값(309)이 참조 가능하게 된다. S609에 있어서, 커널(212)에 포함되는 앱 개찬 검지 처리부(205)가 기동한다. 그리고, 앱 개찬 검지 처리부(205)는, HDD(104)의 설정값(309)으로부터 개찬 검지의 설정을 취득하고, 또한, 플래시 메모리(114)로부터 개찬 검지 설정(311)을 취득한다. 그리고, 앱 개찬 검지 처리부(205)는, HDD(104) 및 플래시 메모리(114)로부터 각각 취득한 개찬 검지의 설정을 비교한다. 도 5에서 설명한 바와 같이, 플래시 메모리(114)의 개찬 검지 설정(311)과, HDD(104)의 설정값은, 동기가 취해져 있다. 따라서, 기본적으로는, 플래시 메모리(114)의 개찬 검지 설정(311)과, HDD(104)의 설정값은 같은 설정을 나타내는 값이다. 그렇지만, 디바이스(HDD(104) 및 플래시 메모리(114))가 고장 등에 의해 교체되었을 경우에는, 개찬 검지 설정(311)과 설정값이 동기가 취해지지 않는 경우가 있다. S609의 비교 처리는, 이러한 동기가 취해지지 않는 것을 고려하여 행해지는 처리다. 상세한 것은 후술한다.
S609에서, HDD(104) 및 플래시 메모리(114)로부터 각각 취득한 개찬 검지의 설정이 일치하는 것으로 판정되었을 경우, S610으로 처리가 진행된다. S610에 있어서, 앱 개찬 검지 처리부(205)는, 개찬 검지의 설정이 유효 상태를 나타내는 설정인지 판정한다.
S610에서 개찬 검지의 설정이 무효 상태를 나타내는 설정이 다고 판정되었을 경우, S612로 처리가 진행된다. S612에 있어서, 앱 개찬 검지 처리부(205)의 처리는 종료하고, 커널(212)은 앱(213)을 기동한다. 즉, 커널(212)은, 개찬 검지 처리를 행하지 않고, HDD(104)로부터 앱(213)을 RAM(103)에 로드하여, 앱(213)을 기동한다. 그리고, 일련의 처리가 종료한다.
한편, S610에서 개찬 검지의 설정이 유효 상태를 나타내는 설정인 것으로 판정되었을 경우, S611로 처리가 진행된다. S611에 있어서, 앱 개찬 검지 처리부(205)는, HDD(104)로부터 앱(213) 및 앱 서명(308)을 RAM(103)에 로드한다. 다음에, 앱 개찬 검지 처리부(205)는, 앱 검증용 공개 키(307)를 사용하여, 앱 서명(308)의 검증을 행하고, 앱 서명(308)의 검증이 성공했는지를 판정한다.
앱 서명(308)의 검증에 실패했을 경우, S613으로 처리가 진행된다. S613에 있어서, 앱 개찬 검지 처리부(205)는, 조작 패널(110)에 에러 메시지를 표시하고, 처리를 종료한다.
한편, S610에서 앱 서명(308)의 검증에 성공했을 경우, S612로 처리가 진행된다. S612에 있어서, 커널(212)은, 전술한 바와 같이, 앱(213)을 기동한다. 그리고, 일련의 처리가 종료한다.
다음에, S609에서, HDD(104) 및 플래시 메모리(114)로부터 취득한 개찬 검지의 설정이 일치하고 있지 않다고 판정되었을 경우의 처리를 설명한다. S609에서 개찬 검지의 설정이 일치하고 있지 않다고 판정되었을 경우, S614로 처리가 진행된다. S614에 있어서, 앱 개찬 검지 처리부(205)는, 플래시 메모리(114)의 개찬 검지 설정(311)이 유효 상태를 나타내는 설정이고, 또한 HDD(104)의 설정값(309)이 무효 상태를 나타내는 설정인지를 판정한다.
플래시 메모리(114)의 개찬 검지 설정(311)이 유효 상태를 나타내는 설정이고, 또한 HDD(104)의 설정값(309)이 무효 상태를 나타내는 설정일 경우, S615로 처리가 진행된다. S615에 있어서, 앱 개찬 검지 처리부(205)는, HDD(104)의 설정값(309)을 유효 상태를 나타내는 설정으로 갱신한다. 그리고, S611로 처리가 진행된다. S611에서는, 상기한 바와 같이, 앱 개찬 검지 처리부(205)가 앱 서명(308)의 검증을 행하는 처리를 행한다.
이 S614 및 S615의 일련의 처리는, 플래시 메모리(114)의 개찬 검지 설정(311)과 HDD(104)의 설정값(309)이 유효 상태를 나타내는 설정으로서 동기가 취해지고 있는 상태에서, HDD(104)이 고장 등에 의해 교체되었을 경우에 행해지는 처리이다. 즉, S614 및 S615의 일련의 처리는, HDD(104)의 교체로 인해 설정값(309)이 개찬 검지 설정이 무효인 것을 나타내는 설정으로 되어 버렸을 경우에 필요한 처리다. 이 처리를 행해하지 않으면, BIOS(210)로부터 커널(212)까지만 개찬 검지 처리를 행한다. 즉, 앱(213)의 검증이 행해지지 않는다. 이 때문에, HDD(104)의 교체전의 설정과 다른 설정에서 동작해 버려, 시큐리티가 저하한다. 더구나, 유저가 조작 패널(110)에서 개찬 검지 설정을 참조하는 경우에, 설정값(309)이, 개찬 검지가 무효인 것을 나타내는 설정이지만, 실제로는 일부의 개찬 검지 처리가 행해지게 된다. 즉, BIOS(210)로부터 커널(212)까지가 개찬 검지 처리를 행한다. 이 때문에, 조작 패널(110)에서 참조되는 개찬 검지의 설정과, 실제 동작 사이에 부정합이 생긴다. 이 때문에, 유저는 올바른 복합기(100)의 동작 정보를 받지 못한다. S614 및 S615의 일련의 처리를 행함으로써 이러한 사태를 방지할 수 있다.
S614에서, 플래시 메모리(114)의 개찬 검지 설정(311)이 무효 상태를 나타내는 설정이고, 또한 HDD(104)의 설정값(309)이 유효 상태를 나타내는 설정일 경우, S616으로 처리가 진행된다. S616에 있어서, 앱 개찬 검지 처리부(205)는, 플래시 메모리(114)의 개찬 검지 설정(311)을, 유효 상태를 나타내는 설정으로 갱신한다. 그리고, S617로 처리가 진행된다. S617에 있어서, 앱 개찬 검지 처리부(205)는, 복합기(100)의 재기동을 행한다. 그리고, 일련의 처리가 종료한다.
즉, S614, S616 및 S617의 일련의 처리는, 플래시 메모리(114)가 고장 등에 의해 교체된 결과, 개찬 검지 설정(311)이 무효 상태를 나타내는 설정으로 되어 버렸을 경우에 필요한 처리다. 이 처리를 행하지 않으면, 유저가 조작 패널(110)에서 개찬 검지 설정을 참조했을 경우에, 개찬 검지 설정이 유효로 표시되지만, 앱(213)만 개찬 검지 처리를 행한다. 따라서, 시큐리티가 저하한다. 또한, 조작 패널(110)에서 참조되는 개찬 검지의 설정과, 실제 동작 사이에도 부정합이 존재한다. 이 때문에, 유저가 올바른 복합기(100)의 동작 정보를 받지 못한다. S614, S616 및 S617의 일련의 처리를 행함으로써, 복합기9100)는 개찬 검지 설정(311)이 유효 상태를 나타내는 설정으로서 재기동된다. 이때, S616으로 처리가 진행한 경우는, 플래시 메모리(114)의 개찬 검지 설정(311)이 무효 상태인 것을 나타내는 설정으로서 처리가 행해지고 있는 상태를 나타낸다. 이것은, 개찬 검지 처리 없음으로 로더(211) 및 커널(212)이 기동한 것을 의미한다. S616 및 S617은, 플래시 메모리(114)의 개찬 검지 설정(311)을 유효 상태를 나타내는 설정으로 변경한 후, 그후, 재차 도 6a 및 도 6b의 흐름도의 처리가 행해지게 된다. 따라서, 로더(211) 및 커널(212)이 개찬 검지 처리 있음으로 기동된다.
이상에서 설명한 바와 같이, 본 실시형태에 있어서는, 개찬 검지 처리에 관한 설정이, BIOS(210)이 기동시에 참조가능한 제1영역과, BIOS(210)이 기동시에 참조불가능한 제2영역에 격납한다. 제1영역 및 제2영역은, 앱(213)으로부터 참조가능한 영역이다. 또한, 이 제1영역의 설정과 제2영역의 설정은 앱(213)에 의해 동기된다. 이렇게 하여 개찬 검지에 관한 설정을 격납함으로써, 개찬 검지 처리를 실행할 것인지 아닌지를 전환할 수 있다. 또한, 개찬 검지 기능을 무효로 함으로써, 개찬 검지 기능을 갖는 정보 처리장치의 기동 시간을 단축할 수 있다.
또한, 앱(213)은, 개찬 검지 처리의 설정이 동기해서 격납되는 경우를 제외하고, 개찬 검지 처리의 설정을 다른 설정값과 동일하게 취급할 수 있다. 이에 따라, 관리가 용이해진다. 또한, 본 실시형태에서는, 개찬 검지 처리의 설정을 2개소, 즉 HDD(104)과 플래시 메모리(114)에 격납하고, 또한 동기하면서 처리가 행해진다. 이 때문에, 공격자가 부정하게 설정을 고쳐 써서 개찬 검지 설정을 오프로 하려고 시도할 경우, 공격자가 2개소에 있는 설정을 동시에 고쳐써야 한다. 이 때문에, 공격 난이도가 상승하는 효과도 얻어진다.
<<기타 실시형태>>
이상에서 설명한 실시형태에서는, 개찬 검지의 방법으로서 공개 키와 서명을 사용하는 방식을 예로 들어서 설명했지만, 다른 방식을 사용해도 된다. 또한, 기억장치로서, HDD(104)과 플래시 메모리(114)가 존재하는 것을 가장하여 상기한 실시형태를 설명했지만, 다른 기억장치를 사용해도 된다. 정보 처리장치의 기동시에 동작하는 부트 프로그램이 참조가능한 기억장치, 및, 부트 프로그램이 참조 불가능한 기억장치가 될 수 있는 복수의 기억장치를 포함하는 구성이면, 어떤 기억장치를 사용해도 된다.
본 발명의 실시형태는, 본 발명의 전술한 실시형태(들)의 1개 이상의 기능을 수행하기 위해 기억매체('비일시적인 컴퓨터 판독가능한 기억매체'로서 더 상세히 언급해도 된다)에 기록된 컴퓨터 실행가능한 명령(예를 들어, 1개 이상의 프로그램)을 판독하여 실행하거나 및/또는 전술한 실시예(들)의 1개 이상의 기능을 수행하는 1개 이상의 회로(예를 들어, 주문형 반도체 회로(ASIC)를 포함하는 시스템 또는 장치의 컴퓨터나, 예를 들면, 전술한 실시형태(들)의 1개 이상의 기능을 수행하기 위해 기억매체로부터 컴퓨터 실행가능한 명령을 판독하여 실행함으로써, 시스템 또는 장치의 컴퓨터에 의해 수행되는 방법에 의해 구현될 수도 있다. 컴퓨터는, 1개 이상의 중앙처리장치(CPU), 마이크로 처리장치(MPU) 또는 기타 회로를 구비하고, 별개의 컴퓨터들의 네트워크 또는 별개의 컴퓨터 프로세서들을 구비해도 된다. 컴퓨터 실행가능한 명령은, 예를 들어, 기억매체의 네트워크로부터 컴퓨터로 주어져도 된다. 기록매체는, 예를 들면, 1개 이상의 하드디스크, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 분산 컴퓨팅 시스템의 스토리지, 광 디스크(콤팩트 디스크(CD), 디지털 다기능 디스크(DVD), 또는 블루레이 디스크(BD)TM 등), 플래시 메모리소자, 메모리 카드 등을 구비해도 된다.
본 발명은, 상기한 실시형태의 1개 이상의 기능을 실현하는 프로그램을, 네트워크 또는 기억매체를 개입하여 시스템 혹은 장치에 공급하고, 그 시스템 혹은 장치의 컴퓨터에 있어서 1개 이상의 프로세서가 프로그램을 읽어 실행하는 처리에서도 실행가능하다. 또한, 1개 이상의 기능을 실현하는 회로(예를 들어, ASIC)에 의해서도 실행가능하다.
예시적인 실시형태들을 참조하여 본 발명을 설명하였지만, 본 발명이 이러한 실시형태에 한정되지 않는다는 것은 자명하다. 이하의 청구범위의 보호범위는 가장 넓게 해석되어 모든 변형, 동등물 구조 및 기능을 포괄하여야 한다.

Claims (12)

  1. 프로그램의 기동시마다 개찬 검지 처리를 행하는 정보 처리장치로서,
    개찬 검지 처리를 행할 것인지 아닌지를 나타내는 설정을, 다른 프로그램에 대한 개찬 검지 처리를 최초로 행하는 제1 프로그램이 참조가능한 제1영역과, 상기 제1 프로그램이 기동된 시점에서 상기 제1 프로그램이 참조할 수 없는 제2영역에 기록 가능한 기록부를 구비하고,
    상기 제1 프로그램은, 상기 제1영역에 기록된 상기 설정에 따라 상기 개찬 검지 처리를 행하고,
    상기 제2영역을 참조가능한 제2 프로그램은, 상기 제2영역에 기록된 상기 설정에 따라 상기 개찬 검지 처리를 행하는 정보 처리장치.
  2. 제 1항에 있어서,
    상기 제1영역과 상기 제2영역은 서로 다른 기억장치들의 기억 영역들인 정보 처리장치.
  3. 제 1항 또는 제 2항에 있어서,
    상기 제1영역은, 상기 제1 프로그램을 격납하고 있는 기억장치의 영역이고,
    상기 제2영역은, 상기 제2 프로그램을 격납하고 있는 기억장치의 영역인 정보 처리장치.
  4. 제 1항 또는 제 2항에 있어서,
    상기 제1 프로그램은, BIOS이고,
    상기 제2 프로그램은, 상기 제2영역을 참조가능한 드라이버를 유효하게 하는 처리를 포함하는 프로그램인 정보 처리장치.
  5. 제 1항 또는 제 2항에 있어서,
    상기 개찬 검지 처리를 행할 것인지 아닌지를 나타내는 설정을 유저가 선택할 수 있도록 구성된 선택부를 더 구비한 정보 처리장치.
  6. 제 5항에 있어서,
    상기 기록부는, 상기 유저에 의해 선택된 설정을, 상기 제1영역 및 상기 제2영역의 양쪽에 기록하는 정보 처리장치.
  7. 제 5항에 있어서,
    상기 기록부 및 상기 선택부는, 상기 제2 프로그램에 의해 기동되는 제3 프로그램에 의해 기능하도록 구현되는 정보 처리장치.
  8. 제 1항 또는 제 2항에 있어서,
    상기 제2 프로그램은, 상기 제1영역의 설정과 상기 제2영역의 설정이 일치하지 않는 경우, 이들 설정이 상기 개찬 검지 처리를 행하는 설정이 되도록 상기 제1영역의 설정과 상기 제2영역의 설정을 일치시키는 처리를 행하는 정보 처리장치.
  9. 제 8항에 있어서,
    상기 제1영역의 설정이 상기 개찬 검지 처리를 행하는 설정이고, 또한 상기 제2영역의 설정이 상기 개찬 검지 처리를 행하지 않는 설정일 경우,
    상기 제2 프로그램은, 상기 제2영역의 설정을 상기 개찬 검지 처리를 행하는 설정으로 변경하고, 그후, 상기 제2영역에 기록된 설정에 따라 상기 개찬 검지 처리를 행하는 정보 처리장치.
  10. 제 8항에 있어서,
    상기 제1영역의 설정이 상기 개찬 검지 처리를 행하지 않는 설정이고, 또한 상기 제2영역의 설정이 상기 개찬 검지 처리를 행하는 설정일 경우,
    상기 제2 프로그램은, 상기 제1영역의 설정을 상기 개찬 검지 처리를 행하는 설정으로 변경하고, 그후, 상기 정보 처리장치를 재기동하는 처리를 행하는 정보 처리장치.
  11. 프로그램의 기동시마다 개찬 검지 처리를 행하는 정보 처리장치의 제어방법으로서,
    개찬 검지 처리를 행할 것인지 아닌지를 나타내는 설정을, 다른 프로그램에 대한 개찬 검지 처리를 최초로 행하는 제1 프로그램이 참조가능한 제1영역과, 상기 제1 프로그램이 기동된 시점에서 상기 제1 프로그램이 참조할 수 없는 제2영역에 기록하는 단계를 포함하고,
    상기 제1 프로그램은, 상기 제1영역에 기록된 상기 설정에 따라 상기 개찬 검지 처리를 행하고,
    상기 제2영역을 참조가능한 제2 프로그램은, 상기 제2영역에 기록된 상기 설정에 따라 상기 개찬 검지 처리를 행하는 정보 처리장치의 제어방법.
  12. 컴퓨터에,
    개찬 검지 처리를 행할 것인지 아닌지를 나타내는 설정을, 다른 프로그램에 대한 개찬 검지 처리를 최초로 행하는 제1 프로그램이 참조가능한 제1영역과, 상기 제1 프로그램이 기동된 시점에서 상기 제1 프로그램이 참조할 수 없는 제2영역에 기록하는 단계를 실행시키고,
    상기 제1 프로그램이 상기 제1영역에 기록된 상기 설정에 따라 상기 개찬 검지 처리를 행하고,
    상기 제2영역을 참조가능한 제2 프로그램이 상기 제2영역에 기록된 상기 설정에 따라 상기 개찬 검지 처리를 행하는 제어 프로그램을 기억하는 컴퓨터 판독가능한 기억매체.
KR1020190106265A 2018-09-12 2019-08-29 정보 처리장치, 정보 처리장치의 제어방법, 및 기억매체 KR102467636B1 (ko)

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
KR20200030448A true KR20200030448A (ko) 2020-03-20
KR102467636B1 KR102467636B1 (ko) 2022-11-16

Family

ID=69719200

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190106265A KR102467636B1 (ko) 2018-09-12 2019-08-29 정보 처리장치, 정보 처리장치의 제어방법, 및 기억매체

Country Status (4)

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

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104335220B (zh) * 2012-03-30 2018-04-20 爱迪德技术有限公司 用于防止和检测安全威胁的方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140040636A1 (en) * 2011-04-29 2014-02-06 Jeff Jeansonne Embedded controller to verify crtm
JP2014032595A (ja) * 2012-08-06 2014-02-20 Canon Inc 情報処理システム及びその制御方法、並びにプログラム
KR20140068867A (ko) * 2011-07-08 2014-06-09 오픈픽 아이엔씨. 부팅 프로세스 동안 구성요소들을 인증하기 위한 시스템 및 방법
JP6066751B2 (ja) * 2013-01-31 2017-01-25 キヤノン株式会社 情報処理システム及びその制御方法、並びにプログラム
JP2017138883A (ja) * 2016-02-05 2017-08-10 キヤノン株式会社 装置及びその制御方法、並びにプログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0666751B2 (ja) 1986-07-25 1994-08-24 日本電信電話株式会社 シグナリング信号伝送装置
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
JP2009009372A (ja) * 2007-06-28 2009-01-15 Panasonic Corp 情報端末、クライアントサーバシステムおよびプログラム
JP2009037467A (ja) * 2007-08-02 2009-02-19 Konica Minolta Business Technologies Inc 起動制御方法及び起動制御プログラム並びに画像形成装置
EP2196936A4 (en) 2007-10-05 2012-05-02 Panasonic Corp SAFE START-UP END UNIT, SAFE START-UP PROCEDURE, SAFE STARTER PROGRAM, RECORDING MEDIA AND INTEGRATED CIRCUIT
JP5309709B2 (ja) * 2008-06-16 2013-10-09 株式会社リコー ソフトウェア改ざん検知方法及び機器
JP5673045B2 (ja) * 2010-12-03 2015-02-18 株式会社リコー 組み込み機器、暗号化・復号方法、プログラム
JP5519712B2 (ja) * 2012-01-20 2014-06-11 レノボ・シンガポール・プライベート・リミテッド コンピュータをブートする方法およびコンピュータ
CN103810430B (zh) * 2012-11-13 2018-02-27 联想(北京)有限公司 一种控制电子设备的方法及电子设备
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
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 (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140040636A1 (en) * 2011-04-29 2014-02-06 Jeff Jeansonne Embedded controller to verify crtm
KR20140068867A (ko) * 2011-07-08 2014-06-09 오픈픽 아이엔씨. 부팅 프로세스 동안 구성요소들을 인증하기 위한 시스템 및 방법
JP2014032595A (ja) * 2012-08-06 2014-02-20 Canon Inc 情報処理システム及びその制御方法、並びにプログラム
JP6066751B2 (ja) * 2013-01-31 2017-01-25 キヤノン株式会社 情報処理システム及びその制御方法、並びにプログラム
JP2017138883A (ja) * 2016-02-05 2017-08-10 キヤノン株式会社 装置及びその制御方法、並びにプログラム

Also Published As

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

Similar Documents

Publication Publication Date Title
CN109684849B (zh) 信息处理装置、其控制方法和存储介质
JP6399763B2 (ja) 情報処理装置、情報処理方法
US11010153B2 (en) Information processing apparatus that detects falsification of a program, method of controlling the same, and storage medium
US11669609B2 (en) Information processing apparatus, control method of the same, and storage medium
JP2020160747A (ja) 情報処理装置、その制御方法、及びプログラム
US11681809B2 (en) Information processing apparatus, control method, and storage medium
KR102467636B1 (ko) 정보 처리장치, 정보 처리장치의 제어방법, 및 기억매체
JP7321795B2 (ja) 情報処理装置、情報処理方法およびプログラム
KR102402373B1 (ko) 정보 처리 장치 및 정보 처리 방법
JP7374780B2 (ja) 情報処理装置および情報処理装置の制御方法
JP2020082441A (ja) 画像形成装置、その制御方法、及びプログラム
EP3654183B1 (en) Information processing apparatus and method of controlling information processing apparatus
US20200110616A1 (en) Information processing apparatus, method of controlling same, storage medium, and image forming apparatus
JP2021140601A (ja) 情報処理装置、その制御方法、及びプログラム
JP2020154601A (ja) 情報処理装置とその制御方法、及びプログラム
US20230351029A1 (en) Information processing apparatus, control method for the same, and storage medium
US20230103698A1 (en) Information processing apparatus and control method therefor
JP7206769B2 (ja) 電子デバイスおよび動作方法
JP2020135645A (ja) 情報処理装置、その制御方法およびプログラム
JP2021111916A (ja) 情報処理装置及びプログラム復旧方法
JP2019128775A (ja) 情報処理装置及びその制御方法、並びにプログラム
JP2020088746A (ja) 情報処理装置、情報処理方法及びプログラム
JP2004355067A (ja) 情報処理装置

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right