IP Library Granted Patent US 10,776,494
Granted Patent B2
US 10,776,494 · App. 16/230,817 · Granted Sep 15, 2020

Method for verifying forgery and falsification of executable file in image forming apparatus and image forming apparatus using same

Inventors: Hyun-sook Rhee (Suwon-si, KR); Kang-hee Lim (Suwon-si, KR)
Assignee: Hewlett-Packard Development Company, L.P.
G06F21/575G06F21/51G06F21/572G06F21/608G06F21/64H04L9/0643H04L9/0877H04L9/0891H04L9/0897H04L9/3247H04N1/00244H04N1/00928H04N1/00938G06F9/4401G06F2221/033H04L9/0894H04L2209/38H04N2201/0094
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,776,494
App. No.
16/230,817
Granted
Sep 15, 2020
Kind
B2
Abstract

An image forming apparatus and method for verifying forgery or falsification of an execution file by using a trusted platform module configured to generate an encryption key are provided. The method includes generating the encryption key by using a hash value for an operating system (OS) kernel image, the generating being performed by the trusted platform module, and verifying forgery or falsification of the execution file based on the generated encryption key.

Claims (48)

1. An image forming apparatus comprising:

a memory to store an operating system (OS) kernel image and to store a computer-executable instruction;

at least one processor to read the OS kernel image from the memory and to generate a hash value for the OS kernel image; and

a trusted platform module (TPM) to store the hash value for the OS kernel image, to generate an encryption key by using the hash value for the OS kernel image, and to store the encryption key,

wherein the at least one processor is further to execute the computer-executable instruction to:

verify forgery or falsification of an execution file based on the encryption key;

during a booting time of the image forming apparatus, receive and store the encryption key from the TPM and set a hash value for the execution file by using the received encryption key;

when the execution file is requested to be executed, determine whether the hash value set during the booting time is changed, by newly obtaining a hash value for the execution file by using the stored encryption key; and

according to an integrity measurement architecture (IMA) function provided by a Linux kernel, during the booting time of the image forming apparatus, generate the hash value for the execution file by using the received encryption key and store the generated hash value in a header of the execution file.

2. The image forming apparatus of claim 1 , wherein the at least one processor further executes the computer-executable instruction to, according to the IMA function provided by the Linux kernel, determine whether the hash value stored in the header of the execution file during the booting time is identical to that obtained when the execution file is requested to be executed.

3. The image forming apparatus of claim 2 , wherein the at least one processor further executes the computer-executable instruction to, when it is determined that the hash value stored in the header of the execution file is not identical to that obtained when the execution file is requested to be executed, stop execution of the execution file and notify that the execution file is forged or falsified.

4. The image forming apparatus of claim 1 , wherein, during a booting time of the image forming apparatus, the TPM generates the encryption key by using the hash value for the OS kernel image and a random value generated by the TPM and stores the generated encryption key in a predetermined area of the TPM.

5. The image forming apparatus of claim 4 , wherein the TPM generates the encryption key by further using at least one of an electronic signature value generated by the TPM or unique device information.

6. The image forming apparatus of claim 1 , wherein the at least one processor further executes the computer-executable instruction to, upon a request by an external apparatus, obtain an encryption key to be transmitted from the TPM to the external apparatus, and

the image forming apparatus further comprises a communicator to transmit the obtained encryption key to the external apparatus so that the external apparatus may verify forgery or falsification of the execution file according to an IMA function provided by a Linux kernel of the external apparatus.

7. A method of an image forming apparatus for verifying forgery or falsification of an execution file, the method comprising:

storing an operating system (OS) kernel image in a memory of the image forming apparatus;

reading the OS kernel image from the memory;

generating a hash value for the OS kernel image;

storing the hash value by a trusted platform module (TPM);

generating an encryption key by using the hash value for the OS kernel image, the generating being performed by the TPM;

storing the generated encryption key; and

verifying forgery or falsification of an execution file based on the generated encryption key,

wherein the verifying of the forgery or falsification comprises:

during a booting time of the image forming apparatus, receiving and storing the encryption key from the TPM and setting a hash value for the execution file by using the received encryption key; and

when the execution file is requested to be executed, determining whether the hash value set during the booting time is changed by newly obtaining a hash value for the execution file by using the stored encryption key, and

wherein the setting of the hash value for the execution file comprises:

according to an integrity measurement architecture (IMA) function provided by a Linux kernel, during the booting time of the image forming apparatus, generating the hash value for the execution file by using the received encryption key; and

storing the generated hash value in a header of the execution file.

8. The method of claim 7 , wherein the determining of whether the hash value set during the booting time is changed comprises, according to the IMA function provided by the Linux kernel, determining whether the hash value stored in the header of the execution file during the booting time is identical to that obtained when the execution file is requested to be executed.

9. The method of claim 7 , wherein the generating of the encryption key comprises:

during a booting time of the image forming apparatus, generating the encryption key by using the hash value for the OS kernel image and a random value generated by the TPM; and

storing the generated encryption key in a predetermined area of the TPM.

10. The method of claim 9 , wherein the generating of the encryption key comprises generating the encryption key by further using at least one of an electronic signature value generated by the TPM or unique device information.

11. A non-transitory computer-readable recording medium having instructions recorded thereon for performing a method of verifying forgery or falsification of an execution file, the non-transitory computer-readable recording medium comprising:

instructions to store an operating system (OS) kernel image in a memory;

instructions to read the OS kernel image from the memory;

instructions to generate a hash value for the OS kernel image;

instructions to store the hash value by a trusted platform module (TPM);

instructions to generate an encryption key by using the hash value for the OS kernel image, the generating being performed by the TPM;

instructions to store the generated encryption key; and

instructions to verify forgery or falsification of an execution file based on the generated encryption key,

wherein the instructions to verify the forgery or falsification comprise:

instructions to, during a booting time of the image forming apparatus, receive and store the encryption key from the TPM and set a hash value for the execution file by using the received encryption key; and

instructions to, when the execution file is requested to be executed, determine whether the hash value set during the booting time is changed by newly obtaining a hash value for the execution file by using the stored encryption key, and

wherein the instructions to set the hash value for the execution file comprise:

instructions to, according to an integrity measurement architecture (IMA) function provided by a Linux kernel, during the booting time of the image forming apparatus, generate the hash value for the execution file by using the received encryption key; and

instructions to store the generated hash value in a header of the execution file.

Assignments (3)
CONFIRMATORY ASSIGNMENT EFFECTIVE NOVEMBER 1, 2018 Recorded Oct 17, 2019
From: HP PRINTING KOREA CO., LTD.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 050747/0080 →
CHANGE OF LEGAL ENTITY EFFECTIVE AUG. 31, 2018 Recorded Oct 16, 2019
From: HP PRINTING KOREA CO., LTD.
To: HP PRINTING KOREA CO., LTD.
Reel/Frame 050938/0139 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 4, 2019
From: RHEE, HYUN-SOOK; LIM, KANG-HEE
To: HP PRINTING KOREA CO. LTD.
Reel/Frame 047903/0589 →
Priority Claims (1)
KR 10-2016-0081762 · Jun 29, 2016 · national
Continuity (2)
Continuation PCTKR2017006810 · Jun 28, 2017
Related Publication 20190121984A1 · Apr 25, 2019