IP Library Granted Patent US 11,914,682
Granted Patent B2
US 11,914,682 · App. 17/191,369 · Granted Feb 27, 2024

Software verification device

Inventors: Teruyoshi Yamaguchi (Tokyo, JP); Nobuhiro Kobayashi (Tokyo, JP)
Assignee: MITSUBISHI ELECTRIC CORPORATION
G06F21/105G06F21/44H04L9/3236H04L9/3247
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 11,914,682
App. No.
17/191,369
Granted
Feb 27, 2024
Kind
B2
Abstract

When a hash expected value, which is an expected value of a hash value of activation software, is stored in a storing unit ( 111 ), a security calculation unit ( 110 ) compares the hash value of the activation software with the hash expected value. A main calculation unit ( 109 ) activates the activation software when the hash value and the hash expected value match, and stops a process when both do not match. The main calculation unit ( 109 ) performs signature verification for the activation software when the hash expected value is not stored in the storing unit ( 111 ), and stores in the storing unit ( 111 ) as the hash value expected value, the hash value of the activation software as well as activates the activation software when the signature verification is successful. The main calculation unit ( 109 ) stops a process when the signature verification is not successful.

Claims (20)

1. A software verification device comprising:

processing circuitry to determine the presence/absence of a MAC (Message Authentication Code) of an activation software, and output a hash value of the activation software and the MAC of the activation software when the MAC is present,

to comprise a non-volatile memory, which before an update is performed will, compute a MAC expected value by: activating a plurality of pieces of the activation software, generating the configuration verification key and using it with the hash value temporarily stored in the non-volatile memory to calculate the MAC of each piece of activation software; combining the MAC of each piece of activation software, and compare with the MAC expected value, the MAC output from the processing circuitry, and

to activate the activation software when the MAC output from the processing circuitry and the MAC expected value match, and stop the update when the MAC output from the processing circuitry and the MAC expected value do not match.

2. The software verification device according to claim 1 ,

wherein the processing circuitry

performs signature verification for the activation software when the MAC is absent in the activation software, outputs the hash value of the activation software, and stops a process when the signature verification is not successful, and

determines presence/absence of the configuration verification key when the hash value of the activation software is acquired, stops a process when the configuration verification key is present, and temporally stores in the non-volatile memory, the hash value of the activation software when the configuration verification key is absent.

3. The software verification device according to claim 1 ,

wherein the software verification device activates a plurality of pieces of activation software, and

wherein the processing circuitry

generates the configuration verification key when activation of all pieces of activation software is completed, and calculates MAC of each piece of activation software of the plurality of pieces of activation software based on the configuration verification key and the hash value which is temporally stored in the non-volatile memory, and

stores in a non-volatile storage, the MAC of each piece of activation software of the plurality of pieces of activation software.

4. The software verification device according to claim 3 ,

wherein the processing circuitry

acquires update software and signature of the update software, computes a hash value of activation software before update when signature verification and version check for the update software are successful, and outputs the hash value of the activation software before the update and the MAC of the activation software, which is stored in the storage, before the update,

computes the MAC of the activation software before the update based on the hash value, which is output from the processing circuitry, and the configuration verification key, and compares with the MAC output from the processing circuitry, MAC computed,

writes the update software and signature when the MAC computed and the MAC output from the processing circuitry all match, computes the hash value of the update software, and outputs the hash value,

regenerates the configuration verification key, and computes the MAC of the update software using a regenerated configuration verification key and the hash value of the update software, and

stores in the storage, the MAC of the update software.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2021
From: YAMAGUCHI, TERUYOSHI; KOBAYASHI, NOBUHIRO
To: MITSUBISHI ELECTRIC CORPORATION
Reel/Frame 056645/0851 →
Continuity (2)
Continuation PCTJP2018038210 · Oct 12, 2018
Related Publication 20210192014A1 · Jun 24, 2021