JP7171339B2 - 情報処理装置、情報処理装置の制御方法、及び、プログラム - Google Patents
情報処理装置、情報処理装置の制御方法、及び、プログラム Download PDFInfo
- Publication number
- JP7171339B2 JP7171339B2 JP2018179774A JP2018179774A JP7171339B2 JP 7171339 B2 JP7171339 B2 JP 7171339B2 JP 2018179774 A JP2018179774 A JP 2018179774A JP 2018179774 A JP2018179774 A JP 2018179774A JP 7171339 B2 JP7171339 B2 JP 7171339B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- information processing
- installation
- java program
- verification data
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00002—Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for
- H04N1/00026—Methods therefor
- H04N1/00037—Detecting, i.e. determining the occurrence of a predetermined state
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/51—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00002—Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for
- H04N1/00071—Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for characterised by the action taken
- H04N1/00074—Indicating or reporting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00912—Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
- H04N1/00938—Software related arrangements, e.g. loading applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Facsimiles In General (AREA)
Description
特許文献1では、第1のフラッシュメモリと第1のCPUとを有する耐タンパ性を有するモジュールと、第2のフラッシュメモリと第2のCPUとを有する本体部と、を備えた端末装置が開示されている。第1のフラッシュメモリは、予め設定されたブートプログラムを含むブート部のハッシュ値を記憶する。第1のCPUは、入力されるブート部のハッシュ値を算出し、当該算出したブート部のハッシュ値と、前記記憶されたブート部のハッシュ値と、が一致するか否かを判別し、その判別結果を出力する。第2のフラッシュメモリは、ブート部を記憶する。第2のCPUは、ブート部に記憶されたプログラムの実行により、ブート部を第1のCPUに入力してその判別結果を取得し、当該判別結果においてハッシュ値が一致する場合に、ブート部の使用を伴う端末装置の動作を許可に設定する。
一方、プログラムの一部は、外部ソフトウェアとして情報処理装置にインストールされて動作する。このようなプログラムは第三者が作ったものもあり、過去のプログラムも互換性を維持して動作させたいという要求がある。
図1を参照して、複合機100のハードウェア構成について説明する。図1は、複合機100のハードウェア構成の一例を示す図である。複合機100は、情報処理装置の一例である。
CPU101は、複合機100のプログラム(ソフトウェア)を実行し、複合機100の制御を行う。
ROM102は、リードオンリーメモリであり、複合機100のBIOS、固定パラメータ等を格納している。
RAM103は、ランダムアクセスメモリである。RAM103には、CPU101が複合機100を制御する際に実行するプログラムが展開される。また、RAM103は一時的なデータ等を格納する。
フラッシュメモリ114は、ローダー211、カーネル212、Nativeプログラム213等を格納する。ROM102、HDD104、及び、フラッシュメモリ114は、それぞれ、記憶媒体の一例である。
Embedded Controller113は、CPU115とRAM116とを有する。CPU115は、Embedded Controller113のプログラムを実行し、複合機100の中で一部の制御を行う。RAM116は、ランダムアクセスメモリである。RAM116には、CPU115が複合機100を制御する際に実行するプログラムが展開される。また、RAM116は、一時的なデータ等を格納する。
スキャナI/F制御部106は、スキャナ111が原稿の読み取り等を行うようにスキャナ111を制御する。
プリンタI/F制御部107は、プリンタ112が印刷処理等を行うようにプリンタ112を制御する。
パネル制御部108は、各種情報の表示をしたり、使用者からの指示を受け付けたりするようタッチパネル式の操作パネル110を制御する。
バス109は、CPU101、ROM102、RAM103、HDD104、ネットワークI/F制御部105、スキャナI/F制御部106、プリンタI/F制御部107を相互に接続する。バス109は、更に、パネル制御部108、Embedded Controller113、フラッシュメモリ114、LED117を相互に接続する。バス109を介して、CPU101からの制御信号、及び、各装置間のデータ信号が送受信される。
LED117は、CPU101の制御に基づいて点灯し、プログラム及びハードウェアの異常を外部に伝えるために利用される。
通信管理部207は、ネットワーク120に接続されるネットワークI/F制御部105を制御して、ネットワーク120を介して外部装置とデータの送受信を行う。
UI制御部203は、パネル制御部108を介して操作パネル110への入力を受け取ったり、入力に応じた処理及び操作パネル110への画面出力を行ったりする。
ブートプログラム209は、複合機100の電源を入れるとEmbedded Controller113のCPU115で実行されるプログラムである。ブートプログラム209は、複合機100の起動に関わる処理を行う。また、ブートプログラム209は、BIOSの改ざん検知を行うBIOS改ざん検知処理部201を有する。
ローダー211は、BIOS210の処理が終わった後にCPU101で実行されるプログラムである。ローダー211は、複合機100の起動に関わる処理を行う。また、ローダー211は、カーネルの改ざん検知を行うカーネル改ざん検知処理部204を有する。
カーネル212は、ローダー211の処理が終わった後にCPU101で実行されるプログラムである。カーネル212は、複合機100の起動に関わる処理を行う。また、カーネル212は、Nativeプログラム213の改ざん検知を行うプログラム改ざん検知処理部205を有する。
ハッシュリスト保管部216は、HDD104等の不揮発メモリ上に生成されるリストであり、Javaプログラム214のハッシュ値を保存するファイルである。ハッシュリスト保管部216には、後述のハッシュリスト310が記憶されている。
図3(a)に示すように、複合機100が起動すると、ブートプログラム209が起動する。そして、ブートプログラム209がBIOS210を起動し、BIOS210がローダー211を起動し、ローダー211がカーネル212を起動し、カーネル212がNativeプログラム213に含まれる起動プログラムを起動する。そして、起動プログラムの中でJavaプログラム214が起動され、以降は、Nativeプログラム213とJavaプログラム214とが連携して複合機100の機能を提供する。
複合機の電源を入れると、ROM102からRAM116にブートプログラム209が読み込まれてCPU115によって実行される。ブートプログラム209に含まれるBIOS改ざん検知処理部201は、フラッシュメモリ114からBIOS210とローダー検証用公開鍵303とBIOS署名302とをRAM116に読み込む。そして、S401の処理が行われる。
CPU101は、通電されると、S402にてROM102からBIOS210とローダー検証用公開鍵303とをRAM103に読み込み、BIOS210を起動する。以降説明する図4の処理は全てCPU101によって処理される。
S404において、ローダー改ざん検知処理部202は、ローダー検証用公開鍵303を用いてローダー署名304の検証を行い、ローダー署名304の検証に成功したか否かを判定する。ローダー署名304の検証に失敗したと判定した場合、ローダー改ざん検知処理部202は、S412において、操作パネル110にエラーメッセージを表示することでローダー211の改ざんを検知した旨を通知して、図4の処理を終了する。ローダー署名304の検証に成功したと判定した場合、ローダー改ざん検知処理部202は、処理をS405に進めて、ローダー改ざん検知処理部204は処理を終了する。ローダー署名304の検証に成功した場合が、ローダー211の改ざんがなかった場合に対応する。
S406において、カーネル改ざん検知処理部204は、カーネル検証用公開鍵305を用いて、カーネル署名306の検証を行い、カーネル署名306の検証に成功したか否かを判定する。カーネル署名306の検証に失敗したと判定した場合、カーネル改ざん検知処理部204は、S412において、操作パネル110にエラーメッセージを表示することでカーネル212の改ざんを検知した旨を通知して、図4の処理を終了する。カーネル署名306の検証に成功したと判定した場合、カーネル改ざん検知処理部204は、処理をS407に進めて、カーネル改ざん検知処理部204は処理を終了する。カーネル署名306の検証に成功した場合が、カーネル212の改ざんがなかった場合に対応する。
S408において、プログラム改ざん検知処理部205は、Nativeプログラム検証用公開鍵307を用いて、Nativeプログラム署名309の検証を行い、Nativeプログラム署名309の検証に成功したか否かを判定する。Nativeプログラム署名309の検証に失敗したと判定した場合、プログラム改ざん検知処理部205は、S412において、次の処理を行う。すなわち、プログラム改ざん検知処理部205は、操作パネル110にエラーメッセージを表示することでNativeプログラム213の改ざんを検知した旨を通知して、図4の処理を終了する。Nativeプログラム署名309の検証に成功したと判定した場合、プログラム改ざん検知処理部205は、処理をS409に進めて、プログラム改ざん検知処理部205は処理を終了する。Nativeプログラム署名309の検証に成功した場合が、Nativeプログラム213の改ざんが検知されなかった場合に対応する。
S411において、Nativeプログラム213は、Javaプログラム214を起動する。
図5の処理は、操作パネル110によってJavaプログラム214のインストールが指示された場合に開始する。
S502において、Javaプログラムインストール部215は、Javaプログラム検証用公開鍵308とJavaプログラム214のパッケージの署名とに基づいて、Javaプログラム214のパッケージの署名の検証を実施する。Javaプログラム検証用公開鍵308は、Javaプログラム214のパッケージの署名の生成時に使用された秘密鍵に対応する。Javaプログラム214のパッケージの署名は、正規なパッケージであることを検証するための検証データである。
パッケージの書き換えについて、より詳しく説明する。複合機100の動作環境が、インストールするJavaプログラム214が元々想定する動作環境とは異なる場合がある。この場合、Javaプログラムインストール部215は、複合機100でのJavaプログラム214の実行環境に適合するように、S504で展開したパッケージを書き換える。この書き換えにより、Javaプログラム214が複合機100で正常に動作するようになる。より具体的には、Javaプログラムインストール部215は、S504で展開したパッケージに含まれるライブラリを書き換える。この書き換えによって、Javaプログラム214を動作させるJVM(Java Virtual Machine:Java動作環境)の非互換性や、操作パネル110に表示を行うグラフィックライブラリの違いが吸収される。また、Javaプログラムインストール部215は、互換性を維持するために、インストールするJavaプログラム214のコードを書き換えてもよい。S505において、パッケージの書き換えを行うことで、過去のアプリケーション資産を有効に活用することができる。S505ではインストールされるJavaプログラム214に対応するパッケージが書き換えられる。このため、S505ではJavaプログラム214が書き換えられることになる。
S507において、Javaプログラムインストール部215は、操作パネル110にエラーメッセージを表示することで、Javaプログラム214のパッケージが改ざんされている旨を通知して、図5の処理を終了する。
ハッシュリスト310も改ざんされる可能性がある。そこで、Javaプログラムインストール部215は、ハッシュリスト310の保護のために、ハッシュリスト310自体に署名をつける。ハッシュリスト310に署名をつける際、複合機100内で秘密鍵を保持する必要がある。複合機100は、例えば、TPM(Trusted Platform Module)のようなハードウェアを用いて、秘密鍵を保管する。これにより、秘密鍵を安全に保持できる。ハッシュリスト310は、複合機100外の安全なサーバに保管してもよい。ハッシュリスト310は改ざんされなければよく、ハッシュリスト310の管理方法の詳細は割愛する。
また、ハッシュリスト310は、表1に示す構成を持つファイルに限定されるものではなく、一般的なデータベース管理システムで管理されるデータの集合(データベース)であってもよい。
また、複合機100は、BIOS210、ローダー211、カーネル212、Nativeプログラム213、Javaプログラム214の何れかが改ざんされた場合、耐タンパ性を有するモジュールを使用することなく、改ざんを検知することができる。
次に、第2の実施形態について説明する。第2の実施形態の説明では、第1の実施形態と共通する事項について説明を省略し、第1の実施形態と異なる事項についての説明を行う。また、第1の実施形態と同じ要素については同じ符号を付しており、その詳細な説明は省略する。
第1の実施形態において、Javaプログラム214の改ざんを検知するための検証データとしてハッシュ値を用い、ハッシュリスト310に登録された正規なハッシュ値と一致しかた否かによって改ざん検知を可能としていた。しかし、改ざんを検知する方法はハッシュ値ではなく、署名によってでも実現することも可能である。第2の実施形態ではその方法を説明する。
図7における図3(b)と異なる点は、図7では、ハッシュリスト310のかわりに、鍵ペア710が使われる点である。鍵ペア710には、公開鍵暗号方式を用いた暗号方式における秘密鍵と公開鍵とが含まれる。鍵ペア710は、Javaプログラムの書き換え後の署名作成及び検証のために用いられる。また、鍵ペア710は、複合機100ごとに異なる。鍵ペア710の公開鍵は、鍵ペア710の秘密鍵に対応する。
S601からS605までの処理は、図5のS501からS505までの処理と同様である。S607の処理は、図5のS507の処理と同様である。
S606において、Javaプログラムインストール部215は、鍵ペア710の秘密鍵を使用して、S605で書き換えられたパッケージの署名を生成し、パッケージに添付する。
鍵ペア710の秘密鍵が漏洩すると不正に署名を作成することが可能となる。複合機100は、例えば、TPMのようなハードウェアを用いて、秘密鍵を保管する。これにより、秘密鍵を安全に保持できる。
第2の実施形態のS410において、Javaプログラム改ざん検知処理部206は、鍵ペア710の公開鍵を用いて、S606でJavaプログラム214のパッケージに添付された署名の検証を行う。そして、Javaプログラム改ざん検知処理部206は、Javaプログラム214の検証に成功したか否かを判定する。Javaプログラム改ざん検知処理部206は、Javaプログラム214の検証に失敗したと判定した場合、S412において、操作パネル110にエラーメッセージを表示し、図4の処理を終了する。Javaプログラム改ざん検知処理部206は、Javaプログラム214の検証に成功したと判定した場合、処理をS411に進めて、Javaプログラム改ざん検知処理部205は処理を終了する。
上記の実施形態では使用される公開鍵が全て異なるものであるとして説明したが、同じものがあってもよい。また、各プログラムの保存場所としてROM102、フラッシュメモリ114、HDD104があるものとして説明したが、保存場所を限定するものではなく、別の記憶媒体であってもよい。また、プログラムの保存場所が説明した箇所になくてもよく、例えば、ROM102上にローダー211を記憶する構成であってもよい。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
例えば、複合機100のハードウェア構成として、CPUは複数存在してもよく、複数のCPUが各装置のHDD等に記憶されているプログラムに基づき処理を実行するようにしてもよい。また、複合機100のハードウェア構成として、CPUに替えてGPU(Graphics Processing Unit)を用いることとしてもよい。ソフトウェア構成の一部は、複合機100のハードウェアとして実装されてもよい。また、上記の実施形態を任意に組み合わせてもよい。
201 BIOS改ざん検知処理部
202 ローダー改ざん検知処理部
204 カーネル改ざん検知処理部
205 プログラム改ざん検知処理部
206 Javaプログラム改ざん検知処理部
215 Javaプログラムインストール部
Claims (11)
- 情報処理装置であって、
第1のプログラムを取得する取得手段と、
前記第1のプログラムに基づいて生成された第2の検証データに基づいて、前記取得手段によって取得された前記第1のプログラムの改ざんを検知する第2の検知手段と、
前記第2の検知手段によって前記第1のプログラムの改ざんが検知されなかった場合、前記第1のプログラムを、前記情報処理装置での動作環境に適合するように書き換えてインストールするインストール手段と、
前記インストール手段によって書き換えられた前記第1のプログラムに基づいて、第1の検証データを生成する生成手段と、
前記生成手段によって生成された前記第1の検証データに基づいて、インストール後の前記第1のプログラムの改ざんを検知する第1の検知手段と、
を有する情報処理装置。 - 前記第1の検知手段によってインストール後の前記第1のプログラムの改ざんが検知されなかった場合、前記第1のプログラムを起動するよう制御する第1の制御手段を更に有する請求項1記載の情報処理装置。
- 前記第1の検知手段によってインストール後の前記第1のプログラムの改ざんが検知された場合、前記第1のプログラムを起動しないよう制御する第2の制御手段を更に有する請求項1又は2記載の情報処理装置。
- 前記第1の検知手段によってインストール後の前記第1のプログラムの改ざんが検知された場合、改ざんされた旨を通知する通知手段を更に有する請求項1乃至3何れか1項記載の情報処理装置。
- 前記生成手段は、前記インストール手段によって書き換えられた前記第1のプログラムに基づいて、前記第1の検証データとしてハッシュ値を生成し、
前記第1の検知手段は、前記インストール手段によってインストールされた前記第1のプログラムに基づいて生成されたハッシュ値と、前記生成手段によって生成されたハッシュ値と、に基づいて、インストール後の前記第1のプログラムの改ざんを検知する請求項1乃至4何れか1項記載の情報処理装置。 - 前記生成手段は、前記インストール手段によって書き換えられた前記第1のプログラムと、第1の秘密鍵と、に基づいて、前記第1の検証データとしてデジタル署名を生成し、
前記第1の検知手段は、前記生成手段によって生成されたデジタル署名と、前記第1の秘密鍵に対応する第1の公開鍵と、に基づいて、インストール後の前記第1のプログラムの改ざんを検知する請求項1乃至4何れか1項記載の情報処理装置。 - 前記第2の検知手段によって前記第1のプログラムの改ざんが検知された場合、前記インストール手段は、前記第1のプログラムをインストールしない請求項1乃至6何れか1項記載の情報処理装置。
- 前記第2の検証データは、第2の秘密鍵に基づいて生成されたデジタル署名であり、
前記第2の検知手段は、前記第2の検証データであるデジタル署名と、前記第2の秘密鍵に対応する第2の公開鍵と、に基づいて、前記取得手段によって取得された前記第1のプログラムの改ざんを検知する請求項1乃至7何れか1項記載の情報処理装置。 - 前記情報処理装置は、複合機である請求項1乃至8何れか1項記載の情報処理装置。
- 情報処理装置により実行される制御方法であって、
第1のプログラムを取得する取得ステップと、
前記第1のプログラムに基づいて生成された第2の検証データに基づいて、前記取得ステップによって取得された前記第1のプログラムの改ざんを検知する第2の検知ステップと、
前記第2の検知ステップによって前記第1のプログラムの改ざんが検知されなかった場合、前記第1のプログラムを、前記情報処理装置での動作環境に適合するように書き換えてインストールするインストールステップと、
前記インストールステップによって書き換えられた前記第1のプログラムに基づいて、第1の検証データを生成する生成ステップと、
前記生成ステップによって生成された前記第1の検証データに基づいて、インストール後の前記第1のプログラムの改ざんを検知する第1の検知ステップと、
を含む情報処理装置の制御方法。 - コンピュータを、請求項1乃至9何れか1項記載の情報処理装置の各手段として機能させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018179774A JP7171339B2 (ja) | 2018-09-26 | 2018-09-26 | 情報処理装置、情報処理装置の制御方法、及び、プログラム |
US16/579,094 US11295005B2 (en) | 2018-09-26 | 2019-09-23 | Information processing apparatus capable of detecting alteration, method for controlling information processing apparatus, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018179774A JP7171339B2 (ja) | 2018-09-26 | 2018-09-26 | 情報処理装置、情報処理装置の制御方法、及び、プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020052597A JP2020052597A (ja) | 2020-04-02 |
JP7171339B2 true JP7171339B2 (ja) | 2022-11-15 |
Family
ID=69884883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018179774A Active JP7171339B2 (ja) | 2018-09-26 | 2018-09-26 | 情報処理装置、情報処理装置の制御方法、及び、プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US11295005B2 (ja) |
JP (1) | JP7171339B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7289641B2 (ja) * | 2018-11-30 | 2023-06-12 | キヤノン株式会社 | 情報処理装置、およびその制御方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008537224A (ja) | 2005-04-15 | 2008-09-11 | マイクロソフト コーポレーション | 安全な起動方法およびシステム |
US20150235028A1 (en) | 2014-02-19 | 2015-08-20 | Canon Kabushiki Kaisha | Information processing apparatus and information processing method |
US20170220426A1 (en) | 2014-04-29 | 2017-08-03 | Hewlett Packard Enterprise Development Lp | Maintaining files in a retained file system |
US20170262656A1 (en) | 2014-11-28 | 2017-09-14 | Thomson Licensing | Method and device for providing verifying application integrity |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5944821A (en) * | 1996-07-11 | 1999-08-31 | Compaq Computer Corporation | Secure software registration and integrity assessment in a computer system |
US6976163B1 (en) * | 2000-07-12 | 2005-12-13 | International Business Machines Corporation | Methods, systems and computer program products for rule based firmware updates utilizing certificate extensions and certificates for use therein |
US20060143600A1 (en) * | 2004-12-29 | 2006-06-29 | Andrew Cottrell | Secure firmware update |
JP4893411B2 (ja) | 2007-03-28 | 2012-03-07 | カシオ計算機株式会社 | 端末装置及びプログラム |
US8898477B2 (en) * | 2007-11-12 | 2014-11-25 | Gemalto Inc. | System and method for secure firmware update of a secure token having a flash memory controller and a smart card |
WO2009118801A1 (ja) * | 2008-03-28 | 2009-10-01 | パナソニック株式会社 | ソフトウェア更新装置、ソフトウェア更新システム、無効化方法、及び無効化プログラム |
JP5744004B2 (ja) * | 2010-07-23 | 2015-07-01 | パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America | Nfc通信装置およびその制御方法 |
US8819827B1 (en) * | 2010-11-10 | 2014-08-26 | Open Invention Network, Llc | Method and apparatus of performing data executable integrity verification |
US8856771B2 (en) * | 2011-08-19 | 2014-10-07 | International Business Machines Corporation | Protection for unauthorized firmware and software upgrades to consumer electronic devices |
US8776040B2 (en) * | 2011-08-19 | 2014-07-08 | International Business Machines Corporation | Protection for unauthorized firmware and software upgrades to consumer electronic devices |
JP6061632B2 (ja) * | 2012-11-13 | 2017-01-18 | キヤノン株式会社 | 情報処理装置 |
JP6317099B2 (ja) * | 2013-01-08 | 2018-04-25 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | プログラムの正当性を確認するための確認方法及び、確認システム |
US9201642B2 (en) * | 2013-03-15 | 2015-12-01 | International Business Machines Corporation | Extending platform trust during program updates |
JP6226709B2 (ja) * | 2013-11-15 | 2017-11-08 | キヤノン株式会社 | 画像形成装置及びその制御方法、並びにプログラム |
CN104683409B (zh) * | 2013-11-29 | 2019-03-01 | 华为终端(东莞)有限公司 | 终端间应用共享的方法和终端 |
WO2015109332A1 (en) * | 2014-01-20 | 2015-07-23 | Ian Kaiser | Rolled material dispenser |
JP6595822B2 (ja) * | 2015-07-07 | 2019-10-23 | キヤノン株式会社 | 情報処理装置及びその制御方法 |
US9904535B2 (en) * | 2015-09-14 | 2018-02-27 | At&T Intellectual Property I, L.P. | Method and apparatus for distributing software |
US10664262B2 (en) * | 2017-08-29 | 2020-05-26 | Crowdstrike, Inc. | Binary suppression and modification for software upgrades |
-
2018
- 2018-09-26 JP JP2018179774A patent/JP7171339B2/ja active Active
-
2019
- 2019-09-23 US US16/579,094 patent/US11295005B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008537224A (ja) | 2005-04-15 | 2008-09-11 | マイクロソフト コーポレーション | 安全な起動方法およびシステム |
US20150235028A1 (en) | 2014-02-19 | 2015-08-20 | Canon Kabushiki Kaisha | Information processing apparatus and information processing method |
JP2015156055A (ja) | 2014-02-19 | 2015-08-27 | キヤノン株式会社 | 情報処理装置、情報処理方法 |
US20170220426A1 (en) | 2014-04-29 | 2017-08-03 | Hewlett Packard Enterprise Development Lp | Maintaining files in a retained file system |
US20170262656A1 (en) | 2014-11-28 | 2017-09-14 | Thomson Licensing | Method and device for providing verifying application integrity |
JP2018503153A (ja) | 2014-11-28 | 2018-02-01 | トムソン ライセンシングThomson Licensing | アプリケーションのインテグリティを確かめることを提供する方法及びデバイス |
Also Published As
Publication number | Publication date |
---|---|
US20200097647A1 (en) | 2020-03-26 |
JP2020052597A (ja) | 2020-04-02 |
US11295005B2 (en) | 2022-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10931451B2 (en) | Securely recovering a computing device | |
US10417427B2 (en) | Method for authenticating firmware volume and system therefor | |
US8438377B2 (en) | Information processing apparatus, method and computer-readable storage medium that encrypts and decrypts data using a value calculated from operating-state data | |
JP4652702B2 (ja) | ハードウェア変更の許容度を有するコンピュータシステムにソフトウェアパッケージを結び付けるための詳細ハードウェア識別 | |
US8254568B2 (en) | Secure booting a computing device | |
US8341423B2 (en) | Machine, machine management apparatus, system, and method, and recording medium | |
JP2004265422A (ja) | ハードウェア変更の許容度を有するコンピュータシステムにソフトウェアパッケージを結び付けるためのコンパクトハードウェア識別 | |
US8887288B2 (en) | Method of detecting software falsification, apparatus configured to detect software falsification, and computer-readable storage medium | |
JP2006216048A (ja) | ファームウェアの必要なメモリ容量を減らすと共に、ファームウェアに安全なアップデート及びストレージ領域を提供するシステム及び方法 | |
WO2008085367A1 (en) | Trusting an unverified code image in a computing device | |
US20170255775A1 (en) | Software verification systems with multiple verification paths | |
JP2019212114A (ja) | 情報処理装置、その制御方法およびプログラム | |
CN112835628A (zh) | 一种服务器操作系统引导方法、装置、设备及介质 | |
JP2023129643A (ja) | 情報処理装置、情報処理方法およびプログラム | |
JP7171339B2 (ja) | 情報処理装置、情報処理装置の制御方法、及び、プログラム | |
JP2009301429A (ja) | ソフトウェア改ざん検知方法、機器及び画像処理装置 | |
JP2008112297A (ja) | 電子機器,プログラム,および記録媒体 | |
EP3547194B1 (en) | Apparatus and method for secure boot | |
CN108595981B (zh) | 加密安卓系统的方法 | |
JP7182966B2 (ja) | 情報処理装置、情報処理装置の起動方法、及びプログラム | |
JP2008102678A (ja) | 電子機器 | |
JP2021114173A (ja) | 情報処理装置、情報処理装置の処理方法およびプログラム | |
US20220253521A1 (en) | Image forming apparatus capable of executing application programs, control method therefor, and storage medium | |
US20220309145A1 (en) | Information processing apparatus, verification method of program, computer readable medium and image processing apparatus | |
JP7341376B2 (ja) | 情報処理装置、情報処理方法、及び、情報処理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210915 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220413 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220510 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220707 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20221004 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221102 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7171339 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |