IP Library › Granted Patent US 12,579,273
Granted Patent B2
US 12,579,273 · App. 18/525,386 · Granted Mar 17, 2026

Information processing apparatus, information processing method, and non-transitory computer readable medium for verifying software

Inventors: Takahiro Yamamoto (Tokyo, JP); Yoshiaki Katayama (Tokyo, JP); Yosuke Yokoyama (Tokyo, JP)
Assignee: Mitsubishi Electric Corporation
G06F21/575G06F21/51G06F21/64
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 12,579,273
App. No.
18/525,386
Granted
Mar 17, 2026
Kind
B2
Abstract

An information processing apparatus ( 100 ) includes a validity verification unit ( 101 ). The validity verification unit ( 101 ) verifies validity of startup software by comparing verification subject data which is data for verification calculated based on data stored in a storage place indicated in startup record data indicating the storage place where the startup software executed at startup of the information processing apparatus ( 100 ) is to be stored, and which is data for verification calculated at the startup of the information processing apparatus ( 100 ), with comparison data which is data for verification calculated before the startup of the information processing apparatus ( 100 ) based on the startup software, and which is data for verification used as a comparison subject of the verification subject data.

Claims (31)

1 . An information processing apparatus that verifies software comprising:

processing circuitry:

to verify validity of startup software by comparing verification subject data with comparison data, the verification subject data being data for verification calculated based on data stored in a storage place in a memory indicated in startup record data indicating the storage place where the startup software is to be stored, the startup software being executed at startup of the information processing apparatus, and the verification subject data being data for verification calculated at the startup of the information processing apparatus, the comparison data being data for verification calculated before the startup of the information processing apparatus based on the startup software, and the comparison data being data for verification used as a comparison subject of the verification subject data;

to detect that software whose execution is to be started last among pieces of the startup software has been executed; and

to acquire storage place data indicating the storage place of each software started up from the startup of the information processing apparatus until it is detected that the software whose execution is to be started last among pieces of the startup software, and to update the startup record data using the acquired storage place data.

2 . The information processing apparatus according to claim 1 , wherein

the startup record data consists of data indicating a start address of the storage place and data indicating a data size of the startup software.

3 . The information processing apparatus according to claim 1 , wherein

the data for verification is data indicating a hash value or a Message Authentication Code (MAC) of software corresponding to the data for verification.

4 . The information processing apparatus according to claim 2 , wherein

the data for verification is data indicating a hash value or a Message Authentication Code (MAC) of software corresponding to the data for verification.

5 . The information processing apparatus according to claim 1 , wherein

the processing circuitry detects software in which a configuration change has been implemented when the configuration change has been implemented to the software stored in the information processing apparatus while the information processing apparatus is in operation, and

when the software in which the configuration change has been implemented is detected, the processing circuitry calculates comparison data corresponding to the software in which the configuration change has been implemented.

6 . The information processing apparatus according to claim 2 , wherein

the processing circuitry detects software in which a configuration change has been implemented when the configuration change has been implemented to the software stored in the information processing apparatus while the information processing apparatus is in operation, and

when the software in which the configuration change has been implemented is detected, the processing circuitry calculates comparison data corresponding to the software in which the configuration change has been implemented.

7 . The information processing apparatus according to claim 3 , wherein

the processing circuitry detects software in which a configuration change has been implemented when the configuration change has been implemented to the software stored in the information processing apparatus while the information processing apparatus is in operation, and

when the software in which the configuration change has been implemented is detected, the processing circuitry calculates comparison data corresponding to the software in which the configuration change has been implemented.

8 . The information processing apparatus according to claim 4 , wherein

the processing circuitry detects software in which a configuration change has been implemented when the configuration change has been implemented to the software stored in the information processing apparatus while the information processing apparatus is in operation, and

when the software in which the configuration change has been implemented is detected, the processing circuitry calculates comparison data corresponding to the software in which the configuration change has been implemented.

9 . An information processing method executed by an information processing apparatus which is a computer that verifies software comprising:

verifying validity of startup software by comparing verification subject data with comparison data, the verification subject data being data for verification calculated based on data stored in a storage place in a memory indicated in startup record data indicating the storage place where the startup software is to be stored, the startup software being executed at startup of the information processing apparatus, and the verification subject data being data for verification calculated at the startup of the information processing apparatus, the comparison data being data for verification calculated before the startup of the information processing apparatus based on the startup software, and the comparison data being data for verification used as a comparison subject of the verification subject data;

detecting that software whose execution is to be started last among pieces of the startup software has been executed; and

acquiring storage place data indicating the storage place of each software started up from the startup of the information processing apparatus until it is detected that the software whose execution is to be started last among pieces of the startup software, and updating the startup record data using the acquired storage place data.

10 . A non-transitory computer readable medium storing an information processing program for causing an information processing apparatus which is a computer that verifies software to execute:

a validity verification process to verify validity of startup software by comparing verification subject data with comparison data, the verification subject data being data for verification calculated based on data stored in a storage place in a memory indicated in startup record data indicating the storage place where the startup software is to be stored, the startup software being executed at startup of the information processing apparatus, and the verification subject data being data for verification calculated at the startup of the information processing apparatus, the comparison data being data for verification calculated before the startup of the information processing apparatus based on the startup software, and the comparison data being data for verification used as a comparison subject of the verification subject data;

a startup completion notification process to detect that software whose execution is to be started last among pieces of the startup software has been executed; and

a startup record acquisition process to acquire storage place data indicating the storage place of each software started up from the startup of the information processing apparatus until it is detected that the software whose execution is to be started last among pieces of the startup software, and to update the startup record data using the acquired storage place data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2023
From: YAMAMOTO, TAKAHIRO; KATAYAMA, YOSHIAKI; YOKOYAMA, YOSUKE
To: MITSUBISHI ELECTRIC CORPORATION
Reel/Frame 065724/0881 →
Continuity (2)
Continuation PCTJP2021027424 · Jul 21, 2021
Related Publication 20240104219A1 · Mar 28, 2024
References Cited (31)
US 9904806B2 · Ju · 2018 [cited by applicant]
US 10878096B2 · Fu · 2020 [cited by examiner]
US 20070226518A1 · Yasaki · 2007 [cited by examiner]
US 20100268967A1 · Senda · 2010 [cited by examiner]
US 20130091324A1 · Kato · 2013 [cited by examiner]
US 20130091394A1 · Kato · 2013 [cited by applicant]
US 20160306976A1 · Gantman · 2016 [cited by examiner]
US 20170255384A1 · Hashimoto et al. · 2017 [cited by applicant]
US 20190114429A1 · Shimizu · 2019 [cited by applicant]
US 20190325138A1 · Ishikawa · 2019 [cited by examiner]
US 20190392149A1 · Yamashita · 2019 [cited by examiner]
US 20200401688A1 · Michishita · 2020 [cited by examiner]
US 20210192014A1 · Yamaguchi · 2021 [cited by examiner]
US 20210232690A1 · Nomura · 2021 [cited by examiner]
US 20220113990A1 · Tagashira · 2022 [cited by examiner]
DE 112018007934T5 · 2021 [cited by applicant]
EP 3474179A1 · 2019 [cited by applicant]
JP 201384078A · 2013 [cited by applicant]
JP 201421953A · 2014 [cited by applicant]
JP 201522521A · 2015 [cited by applicant]
JP 201733248A · 2017 [cited by applicant]
JP 2017156945A · 2017 [cited by applicant]
JP 2017208859A · 2017 [cited by applicant]
JP 2018195329A · 2018 [cited by applicant]
JP 201975000A · 2019 [cited by applicant]
JP 202072431A · 2020 [cited by applicant]
JP 2020173597A · 2020 [cited by applicant]
JP 2020187504A · 2020 [cited by applicant]
WO WO2020075303A1 · 2020 [cited by applicant]
International Search Report for PCT/JP2021/027424 (PCT/ISA/210) mailed on Sep. 14, 2021. [cited by applicant]
German Office Action for German Application No. 112021007690.6, dated Sep. 19, 2024, with an English translation. [cited by applicant]