DE112021007690T5 - Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren und Informationsverarbeitungsprogramm - Google Patents

Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren und Informationsverarbeitungsprogramm Download PDF

Info

Publication number
DE112021007690T5
DE112021007690T5 DE112021007690.6T DE112021007690T DE112021007690T5 DE 112021007690 T5 DE112021007690 T5 DE 112021007690T5 DE 112021007690 T DE112021007690 T DE 112021007690T DE 112021007690 T5 DE112021007690 T5 DE 112021007690T5
Authority
DE
Germany
Prior art keywords
data
software
information processing
verification
processing device
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.)
Pending
Application number
DE112021007690.6T
Other languages
English (en)
Inventor
Takahiro Yamamoto
Yoshiaki Katayama
Yosuke Yokoyama
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE112021007690T5 publication Critical patent/DE112021007690T5/de
Pending legal-status Critical Current

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
    • 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/51Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)

Abstract

Eine Informationsverarbeitungsvorrichtung (100) enthält eine Gültigkeitsverifizierungseinheit (101). Die Gültigkeitsverifizierungseinheit (101) verifiziert die Gültigkeit von Startsoftware durch Vergleichen von Verifizierungsgegenstandsdaten, die Daten zur Verifizierung sind, die auf der Grundlage von Daten berechnet werden, die an einem Speicherplatz gespeichert sind, der in Startaufzeichnungsdaten angegeben ist, die den Speicherplatz angeben, an dem die beim Start der Informationsverarbeitungsvorrichtung (100) ausgeführte Startsoftware zu speichern ist, und die Daten zur Verifizierung sind, die beim Start der Informationsverarbeitungsvorrichtung (100) berechnet werden, mit Vergleichsdaten, die Daten zur Verifizierung sind, die vor dem Start der Informationsverarbeitungsvorrichtung (100) auf der Grundlage der Startsoftware berechnet werden, und die Daten zur Verifizierung sind, die als ein Vergleichsgegenstand der Verifizierungsgegenstandsdaten verwendet werden.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung bezieht sich auf eine Informationsverarbeitungsvorrichtung, ein Informationsverarbeitungsverfahren und ein Informationsverarbeitungsprogramm.
  • HINTERGRUND ZUM STAND DER TECHNIK
  • Die Patentliteratur 1 offenbart eine Technik zur Verifizierung der Gültigkeit von Software beim Start einer Informationsverarbeitungsvorrichtung. Bei dieser Technik wird zunächst ein zu prüfender Bereich im Voraus festgelegt, ein Hash-Wert oder ähnliches in dem zu prüfenden Bereich berechnet und der berechnete Hash-Wert oder ähnliches als Vergleichsgegenstand gespeichert. Dann wird beim Start der Informationsverarbeitungsvorrichtung ein Hash-Wert oder ähnliches in dem zu überprüfenden Bereich neu berechnet, und der neu berechnete Hash-Wert oder ähnliches wird mit dem als Vergleichsgegenstand gespeicherten Hash-Wert oder ähnlichem verglichen. Wenn diese miteinander übereinstimmen, wird festgestellt, dass die Beschreibung in dem zu überprüfenden Bereich nicht geändert wurde.
  • REFERENZLISTE
  • PATENTLITERATUR
  • Patentliteratur 1: JP 2013-084078 A
  • KURZFASSUNG DER ERFINDUNG
  • TECHNISCHES PROBLEM
  • Nach der in der Patentliteratur 1 offenbarten Technik wird die Gültigkeit der gesamten Software in der Informationsverarbeitungsvorrichtung beim Start der Informationsverarbeitungsvorrichtung verifiziert. Das Problem besteht also darin, dass es Zeit braucht, um die Gültigkeit zu verifizieren. Da die Informationsverarbeitungsvorrichtung häufig eine Beschränkung bezüglich der Startzeit aufweist, kann die Beschränkung bezüglich der Startzeit nicht erfüllt werden, wenn die Verifizierung der Gültigkeit Zeit in Anspruch nimmt.
  • Die vorliegende Offenbarung zielt darauf ab, den Zeitaufwand für die Verifizierung der Gültigkeit von Software zu reduzieren, indem nur Software, die zum Zeitpunkt des Starts ausgeführt wird, als Gegenstand der Verifizierung der Gültigkeit behandelt wird.
  • LÖSUNG DES PROBLEMS
  • Eine Informationsverarbeitungsvorrichtung gemäß der vorliegenden Offenbarung, die Software verifiziert, umfasst
    eine Gültigkeitsverifizierungseinheit zum Verifizieren der Gültigkeit von Startsoftware durch Vergleichen von Verifizierungsgegenstandsdaten, die Daten zur Verifizierung sind, die auf der Grundlage von Daten berechnet werden,
    die an einem Speicherplatz gespeichert sind, der in Startaufzeichnungsdaten angegeben ist, die den Speicherplatz angeben, an dem die beim Start der Informationsverarbeitungsvorrichtung ausgeführte Startsoftware zu speichern ist, und die Daten zur Verifizierung sind, die beim Start der Informationsverarbeitungsvorrichtung berechnet werden, mit Vergleichsdaten, die Daten zur Verifizierung sind, die vor dem Start der Informationsverarbeitungsvorrichtung auf der Grundlage der Startsoftware berechnet werden, und die Daten zur Verifizierung sind, die als ein Vergleichsgegenstand der Verifizierungsgegenstandsdaten verwendet werden.
  • VORTEILHAFTE WIRKUNGEN DER ERFINDUNG
  • Gemäß der vorliegenden Offenbarung wird nur Software, die an einem in den Startaufzeichnungsdaten angegebenen Speicherplatz gespeichert ist, als Gegenstand der Verifizierung der Gültigkeit behandelt. Daher kann gemäß der vorliegenden Offenbarung die für die Verifizierung der Gültigkeit von Software erforderliche Zeit reduziert werden, indem nur die beim Start ausgeführte Software als Gegenstand der Verifizierung der Gültigkeit behandelt wird.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
    • 1 ist eine Darstellung, die ein Konfigurationsbeispiel einer Informationsverarbeitungsvorrichtung 100 gemäß Ausführungsform 1 zeigt.
    • 2 ist eine Darstellung, die ein spezifisches Beispiel für Startaufzeichnungsdaten 102 gemäß Ausführungsform 1 zeigt.
    • 3 ist eine Darstellung, die ein spezifisches Beispiel für Vergleichsdaten 104 gemäß Ausführungsform 1 zeigt.
    • 4 ist eine Darstellung, die ein Beispiel für die Hardwarekonfiguration der Informationsverarbeitungsvorrichtung 100 gemäß Ausführungsform 1 zeigt.
    • 5 ist ein Flussdiagramm, das den Betrieb der Informationsverarbeitungsvorrichtung 100 gemäß Ausführungsform 1 zeigt.
    • 6 ist eine Darstellung, die ein Beispiel für die Hardwarekonfiguration der Informationsverarbeitungsvorrichtung 100 gemäß einer Modifikation von Ausführungsform 1 zeigt.
    • 7 ist eine Darstellung, die ein Konfigurationsbeispiel der Informationsverarbeitungsvorrichtung 100 gemäß Ausführungsform 2 zeigt.
    • 8 ist ein Flussdiagramm, das den Betrieb einer Startabschlussbenachrichtigungseinheit 105 gemäß Ausführungsform 2 zeigt.
    • 9 ist ein Flussdiagramm, das den Betrieb einer Startaufzeichnungserfassungseinheit 106 gemäß Ausführungsform 2 zeigt.
    • 10 ist eine Darstellung, die ein Konfigurationsbeispiel der Informationsverarbeitungsvorrichtung 100 gemäß Ausführungsform 3 zeigt.
    • 11 ist ein Flussdiagramm, das den Betrieb der Informationsverarbeitungsvorrichtung 100 gemäß Ausführungsform 3 zeigt.
  • BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
  • In der Beschreibung und den Zeichnungen der Ausführungsformen sind die gleichen Elemente und entsprechende Elemente mit dem gleichen Bezugszeichen benannt. Die Beschreibung von Elementen, die mit dem gleichen Bezugszeichen benannt sind, wird gegebenenfalls weggelassen oder vereinfacht. Pfeile in den Zeichnungen geben hauptsächlich den Fluss von Daten oder den Fluss von Verarbeitung an. Darüber hinaus kann „Einheit“ auch als „Schaltkreis“, „Schritt“, „Verfahren“, „Prozess“ oder „Schaltkreis“ interpretiert werden.
  • Ausführungsform 1.
  • Die vorliegende Ausführungsform wird nachstehend unter Bezugnahme auf die Zeichnungen im Einzelnen beschrieben.
  • *** Beschreibung der Konfiguration ***
  • 1 zeigt ein Konfigurationsbeispiel einer Informationsverarbeitungsvorrichtung 100 gemäß Ausführungsform 1. Wie in 1 dargestellt, umfasst die Informationsverarbeitungsvorrichtung 100 eine Gültigkeitsverifizierungseinheit 101 und einen Software-Speicher 103 und zeichnet Startaufzeichnungsdaten 102 und Vergleichsdaten 104 auf.
  • (Gültigkeitsverifizierungseinheit 101)
  • Die Gültigkeitsverifizierungseinheit 101 überprüft die Gültigkeit jeder Startsoftware, indem sie Daten zur Verifizierungsgegenstandsdaten mit den Vergleichsdaten 104 vergleicht. Bei der Startsoftware handelt es sich um eine Software, die beim Start der Informationsverarbeitungsvorrichtung 100 ausgeführt wird. Die Anzahl der Teile der Startsoftware kann eine Mehrzahl sein. Bei den Verifizierungsgegenstandsdaten handelt es sich um Daten zur Verifizierung, die auf der Grundlage von Daten berechnet werden, die an einem in den Startaufzeichnungsdaten 102 angegebenen Speicherplatz gespeichert sind, und um Daten zur Verifizierung, die beim Start der Informationsverarbeitungsvorrichtung 100 berechnet werden.
  • Die von der Gültigkeitsverifizierungseinheit 101 beim Start der Informationsverarbeitungsvorrichtung 100 ausgeführten Vorgänge werden beschrieben. Zunächst liest die Gültigkeitsverifizierungseinheit 101 die Startaufzeichnungsdaten 102 aus, um über die zu verifizierende Software zu entscheiden. Als nächstes bestimmt die Gültigkeitsverifizierungseinheit 101 einen Adressbereich des Software-Speichers 103, der der Verifizierung unterliegt, basierend auf einer Startadresse und einer Softwaregröße, die in den ausgelesenen Startaufzeichnungsdaten 102 aufgezeichnet sind, und berechnet Daten zur Verifizierung in jedem Adressbereich des bestimmten Software-Speichers 103. Die Startadresse ist eine führende Adresse eines Bereichs, in dem jede Startsoftware gespeichert wird. Die Softwaregröße ist eine Datengröße der Software. Bei den Daten zur Verifizierung handelt es sich um Daten zur Überprüfung der Gültigkeit von Software, beispielsweise um einen Hash oder einen Message Authentication Code (MAC) in einem Bereich, in dem Software gespeichert ist. Bei den Daten zur Verifizierung handelt es sich also um Daten, die einen Hash-Wert oder einen MAC der Software angeben, der den Daten zur Verifizierung entspricht. Ferner werden die hier berechneten Daten zur Verifizierung auch als Verifizierungsgegenstandsdaten bezeichnet. Anschließend bestimmt die Gültigkeitsverifizierungseinheit 101, ob die berechneten Daten zur Verifizierung mit den Vergleichsdaten übereinstimmen, die für jede Software in den Vergleichsdaten 104 gespeichert sind. Wenn alle berechneten Daten zur Verifizierung mit den Vergleichsdaten übereinstimmen, die in den Vergleichsdaten 104 gespeichert sind und den einzelnen Daten zur Verifizierung entsprechen, geht die Gültigkeitsverifizierungseinheit 101 davon aus, dass die Verifizierung der Gültigkeit der Startsoftware abgeschlossen ist.
  • (Startaufzeichnungsdaten 102)
  • 2 zeigt ein konkretes Beispiel für die Startaufzeichnungsdaten 102. Wie in 2 dargestellt, handelt es sich bei den Startaufzeichnungsdaten 102 um Daten, die einen Speicherplatz angeben, an dem die Startsoftware zu speichern ist, und um Daten, die die Startadresse und die Softwaregröße der beim Start der Informationsverarbeitungsvorrichtung 100 ausgeführten Software aufzeichnen. Die Startaufzeichnungsdaten 102 werden in der Informationsverarbeitungsvorrichtung 100 im Voraus bei der Auslieferung der Informationsverarbeitungsvorrichtung 100 im Werk oder dergleichen gespeichert. Wenn Software in einem Speicherbereich, dessen Adresse nicht fortlaufend ist, geteilt gespeichert wird, zeichnen die Startaufzeichnungsdaten 102 die Startadresse und die Softwaregröße jedes Fragments der geteilten Software auf.
  • (Software-Speicher 103)
  • Der Software-Speicher 103 ist ein Speicher, der jede von der Informationsverarbeitungsvorrichtung 100 ausgeführte Software speichert. Jede im Software-Speicher 103 gespeicherte Software wird in zwei Typen unterteilt, nämlich in Software, die beim Start der Informationsverarbeitungsvorrichtung 100 ausgeführt wird, und in Software, die beim Start der Informationsverarbeitungsvorrichtung 100 nicht ausgeführt wird.
  • (Vergleichsdaten 104)
  • Bei den Vergleichsdaten 104 handelt es sich um Daten zur Verifizierung, die vor dem Start der Informationsverarbeitungsvorrichtung 100 im Voraus berechnet werden und die Daten zur Verifizierung angeben, die in jeder Startsoftware enthalten sein müssen. Ferner handelt es sich bei den Vergleichsdaten 104 um Daten zur Verifizierung, die bei der Verifizierung der Gültigkeit von Software als Vergleichsgegenstand zu den Daten des Verifizierungsgegenstands verwendet werden. Alle in den Vergleichsdaten 104 enthaltenen Daten sind Daten zum Vergleichen. Die Vergleichsdaten 104 werden vorab in der Informationsverarbeitungsvorrichtung 100 bei der Auslieferung der Informationsverarbeitungsvorrichtung 100 im Werk oder dergleichen gespeichert. Bei den Vergleichsdaten 104 und den Daten des Verifizierungsgegenstands kann es sich um Daten handeln, die einer beim Start der Informationsverarbeitungsvorrichtung 100 nicht ausgeführten Software entsprechen.
  • 3 zeigt ein konkretes Beispiel für die Vergleichsdaten 104. Wie in 3 dargestellt, enthalten die Vergleichsdaten 104 Informationen zu den Daten zur Verifizierung sowie die Startadresse und die Softwaregröße der Startsoftware, die den Daten zur Verifizierung entsprechen. Die Startadresse und die Softwaregröße sind Informationen zur Angabe eines Bereichs, in dem jede Startsoftware gespeichert wird.
  • 4 zeigt ein Beispiel für ein Hardware-Konfigurationsbeispiel für die Informationsverarbeitungsvorrichtung 100. Wie in 4 dargestellt, ist die Informationsverarbeitungsvorrichtung 100 mit einem Computer konfiguriert, der ein Hardware-Sicherheitsmodul (Hardware Security Model, HSM) 10, eine Speichervorrichtung 20, eine Haupt-CPU (Central Processing Unit, zentrale Verarbeitungseinheit) 30 und einen RAM 40 umfasst. Die Informationsverarbeitungsvorrichtung 100 kann mit einer Vielzahl von Computern eingerichtet sein.
  • (Beschreibung von HSM 10)
  • Das HSM 10 ist ein Modul, in dem eine Schaltung für die Sicherheitsverarbeitung untergebracht ist. Das HSM 10 ist, als spezifisches Beispiel, ein Modul, das die Funktion hat, kryptografische Berechnungen unter Verwendung einer kryptografischen Rechenmaschine 12 durch eine sichere CPU 11 auszuführen, und die Funktion, einen manipulationssicheren Speicherbereich durch einen sicheren Speicher 13 bereitzustellen.
  • (Sichere CPU 11)
  • Bei der sicheren CPU 11 handelt es sich um eine CPU, die die Verarbeitung des HSM 10 durchführt. Die sichere CPU 11 führt eine Verarbeitung oder ähnliches durch, wobei die Verarbeitung einem Rechenbefehl an die kryptografische Rechenmaschine 12, einem Befehl an den sicheren Speicher 13 zur Speicherung von Daten und Befehl Auftrag an das HSM 10 von der Haupt-CPU 30 außerhalb des HSM 10 entspricht. Außerdem arbeitet die Gültigkeitsverifizierungseinheit 101 in der sicheren CPU 11.
  • (Kryptografische Rechenmaschine 12)
  • Die kryptografische Rechenmaschine 12 ist ein Schaltkreis, der die kryptografische Verarbeitung innerhalb des HSM 10 mit hoher Geschwindigkeit durchführt.
  • (Sicherer Speicher 13)
  • Der sichere Speicher 13 ist ein manipulationssicherer Speicher zur Speicherung von Daten, die vor Manipulationen geschützt werden sollen. Spezifische Beispiele für Daten, die im sicheren Speicher 13 gespeichert sind, werden im Folgenden beschrieben. Ein geheimer Schlüssel ist hier ein Verschlüsselungsschlüssel, der bei der Berechnung des in den Vergleichsdaten 104 angegebenen MAC verwendet wird.
  • Ein Programm, das die Gültigkeitsverifizierungseinheit 101 funktionell implementiert
  • Die Startaufzeichnungsdaten 102
  • Die Vergleichsdaten 104
  • Der geheime Schlüssel
  • (Speichervorrichtung 20)
  • Die Speichervorrichtung 20 spielt die Rolle des Software-Speicher 103 und ist, als spezifisches Beispiel, ein Speicher wie ein Flash-Speicher.
  • (Haupt-CPU 30)
  • Die Haupt-CPU 30 ist eine arithmetische Schaltung, die die Verarbeitung der Informationsverarbeitungsvorrichtung 100 übernimmt und die Verarbeitung der im Software-Speicher 103 gespeicherten Software durchführt.
  • (RAM 40)
  • Der RAM 40 ist ein flüchtiger Speicher, der vorübergehend Daten zum Zeitpunkt der Ausführung von Software durch die Haupt-CPU 30 und dergleichen aufzeichnet.
  • Jedes in der vorliegenden Beschreibung beschriebene Programm kann auf einem computerlesbaren nichtflüchtigen Aufzeichnungsmedium gespeichert werden. Das nicht-flüchtige Aufzeichnungsmedium ist, als ein konkretes Beispiel, eine optische Scheibe oder ein Flash-Speicher. Jedes in der vorliegenden Beschreibung beschriebene Programm kann als Programmprodukt bereitgestellt werden.
  • *** Beschreibung einer Funktionsweise ***
  • Ein Betriebsverfahren der Informationsverarbeitungsvorrichtung 100 entspricht einem Informationsverarbeitungsverfahren. Außerdem ist ein Programm, das den Betrieb der Informationsverarbeitungsvorrichtung 100 implementiert, gleichbedeutend mit einem Informationsverarbeitungsprogramm.
  • 5 ist ein Flussdiagramm, das ein Beispiel für die Verarbeitung beim Start der Informationsverarbeitungsvorrichtung 100 gemäß Ausführungsform 1 zeigt. Die Verarbeitung beim Start der Informationsverarbeitungsvorrichtung 100 wird unter Bezugnahme auf 5 beschrieben.
  • (Schritt S101)
  • Wenn eine Leistungsquelle der Informationsverarbeitungsvorrichtung 100 durch einen Benutzer der Informationsverarbeitungsvorrichtung 100 eingeschaltet wird, beginnt die Gültigkeitsverifizierungseinheit 101 mit der Ausführung der Verarbeitung.
  • Die Gültigkeitsverifizierungseinheit 101 bestimmt auf der Grundlage der Startadresse und der in den Startaufzeichnungsdaten 102 angegebenen Softwaregröße einen Adressbereich des Software-Speichers 103, der der Verifizierung unterliegt, und berechnet Daten zur Verifizierung unter Verwendung von Daten, die in dem bestimmten Adressbereich des Software-Speichers 103 gespeichert sind.
  • (Schritt S102)
  • Die Gültigkeitsverifizierungseinheit 101 vergleicht die in Schritt S101 berechneten Daten zur Verifizierung mit den Vergleichsdaten 104.
  • Wenn mindestens ein Teil der Daten zur Verifizierung nicht mit den in den Vergleichsdaten 104 angegebenen Daten in den berechneten Daten zur Verifizierung übereinstimmt, geht die Gültigkeitsverifizierungseinheit 101 zu Schritt S104 über. Andernfalls fährt die Gültigkeitsverifizierungseinheit 101 mit Schritt S103 fort.
  • (Schritt S103)
  • Die Gültigkeitsverifizierungseinheit 101 veranlasst die Haupt-CPU 30, die Ausführung jeder im Software-Speicher 103 gespeicherten Startsoftware zu starten.
  • Nach Abschluss dieses Schritts geht die Gültigkeitsverifizierungseinheit 101 zu Schritt S105 über.
  • (Schritt S104)
  • Die Gültigkeitsverifizierungseinheit 101 führt eine Gegenmaßnahme durch. Als spezifisches Beispiel wird die Gegenmaßnahme betrachtet, die die Informationsverarbeitungsvorrichtung 100 veranlasst, keine Software auszuführen, die Daten zur Verifizierung entspricht, die nicht mit den in den Vergleichsdaten 104 angegebenen Daten übereinstimmen, sondern nur Software auszuführen, die den Daten zur Verifizierung entspricht, die mit den in den Vergleichsdaten 104 angegebenen Daten übereinstimmen.
  • (Schritt S105)
  • Die Gültigkeitsverifizierungseinheit 101 verifiziert die Gültigkeit der beim Start der Informationsverarbeitungsvorrichtung 100 nicht ausgeführten Software.
  • *** Beschreibung der Wirkungen von Ausführungsform 1***
  • Durch den obigen Vorgang überprüft die Informationsverarbeitungsvorrichtung 100 gemäß Ausführungsform 1 beim Start der Informationsverarbeitungsvorrichtung 100 nur die Software, die beim Start der Informationsverarbeitungsvorrichtung 100 ausgeführt wird, anstelle der gesamten Software in der Informationsverarbeitungsvorrichtung 100. Daher kann gemäß der Informationsverarbeitungsvorrichtung 100 nach Ausführungsform 1 die Anzahl der Software, deren Gültigkeit überprüft wird, reduziert werden. Dadurch kann der Umfang der Software, die auf ihre Gültigkeit überprüft wird, verringert werden. Im Allgemeinen ist der Zeitaufwand für die Verifizierung der Gültigkeit proportional zum Umfang der Software. Daher kann die Zeit, die für die Verifizierung der Gültigkeit aufgewendet wird, durch eine Verringerung des Umfangs der Software, mit der die Gültigkeit überprüft wird, reduziert werden.
  • Darüber hinaus wird die gesamte Software, die der Verifizierung unterliegt, durch die Berechnung eines Hash-Wertes und dergleichen in einem Bereich verifiziert, in dem die zu verifizierende Software gespeichert ist. Selbst wenn also nur ein Teil der Software in einem manipulierten Bereich liegt, kann eine Manipulation der zu verifizierenden Software erkannt werden.
  • Ferner eignet sich die Informationsverarbeitungsvorrichtung 100 gemäß der vorliegenden Ausführungsform zur Verwendung in einer Fahrzeugsteuereinrichtung, als ein spezifisches Beispiel. Ein Einrichtung, die als Fahrzeugsteuereinrichtung verwendet wird, hat eine Beschränkung bezüglich der Startzeit. Wenn der Umfang der Software im Fahrzeugsteuereinrichtung groß ist, besteht die Gefahr, dass die Beschränkung in Bezug auf die Startzeit nicht eingehalten wird, wenn beim Start der Fahrzeugsteuereinrichtung eine Verifizierung der Gültigkeit für die gesamte Software in der Fahrzeugsteuereinrichtung durchgeführt wird.
  • Wenn jedoch die Informationsverarbeitungsvorrichtung 100 gemäß Ausführungsform 1 als Fahrzeugsteuereinrichtung verwendet wird, ist das Risiko, dass die Beschränkung bezüglich der Startzeit nicht eingehalten wird, geringer.
  • *** Andere Konfigurationen ***
  • <Modifikation 1>
  • 6 zeigt ein Beispiel für die Hardwarekonfiguration der Informationsverarbeitungsvorrichtung 100 gemäß der vorliegenden Änderung.
  • Die Informationsverarbeitungsvorrichtung 100 enthält eine Verarbeitungsschaltung 50 anstelle der Haupt-CPU 30, der Haupt-CPU 30 und des RAM 40, der Haupt-CPU 30 und der Speichervorrichtung 20, oder der Haupt-CPU 30, des RAM 40 und der Speichervorrichtung 20.
  • Die Verarbeitungsschaltung 50 ist eine Hardware, die zumindest einen Teil jeder in der Informationsverarbeitungsvorrichtung 100 enthaltenen Einheit implementiert. Die Verarbeitungsschaltung 50 kann die Funktion des HSM 10 übernehmen.
  • Bei der Verarbeitungsschaltung 50 kann es sich um dedizierte Hardware oder um einen Prozessor handeln, der die im RAM 40 gespeicherten Programme ausführt.
  • Wenn es sich bei der Verarbeitungsschaltung 50 um dedizierte Hardware handelt, ist ein konkretes Beispiel für die Verarbeitungsschaltung 50 eine einzelne Schaltung, eine zusammengesetzte Schaltung, ein programmierter Prozessor, ein parallel-programmierter Prozessor, eine anwendungsspezifische integrierte Schaltung (ASIC), ein feldprogrammierbares Gate Array (FPGA) oder eine Kombination davon.
  • Die Informationsverarbeitungsvorrichtung 100 kann alternativ zur Verarbeitungsschaltung 50 eine Vielzahl von Verarbeitungsschaltungen enthalten. Die Vielzahl von Verarbeitungsschaltungen teilen sich die Rolle der Verarbeitungsschaltung 50.
  • In der Informationsverarbeitungsvorrichtung 100 können einige Funktionen durch spezielle Hardware und die übrigen Funktionen durch Software oder Firmware implementiert werden.
  • In einem konkreten Beispiel wird die Verarbeitungsschaltung 50 durch Hardware, Software, Firmware oder eine Kombination daraus implementiert.
  • Die Haupt-CPU 30, der RAM 40, die Speichervorrichtung 20 und die Verarbeitungsschaltung 50 werden gemeinsam als „Verarbeitungsschaltungen“ bezeichnet. Das heißt, die Funktionen der einzelnen Funktionskomponenten der Informationsverarbeitungsvorrichtung 100 werden durch die Verarbeitungsschaltungen realisiert.
  • Die Informationsverarbeitungsvorrichtung 100 nach anderen Ausführungsformen kann auch die gleiche Konfiguration wie die der vorliegenden Änderung haben.
  • Ausführungsform 2.
  • Die Unterschiede zu der oben beschriebenen Ausführungsform werden im Folgenden hauptsächlich unter Bezugnahme auf die Zeichnungen beschrieben.
  • *** Beschreibung der Konfiguration ***
  • In Ausführungsform 1 wird davon ausgegangen, dass die Startaufzeichnungsdaten 102 im Voraus in der Informationsverarbeitungsvorrichtung 100 bei der Auslieferung der Informationsverarbeitungsvorrichtung 100 im Werk oder dergleichen gespeichert werden. Wenn sich jedoch die Konfiguration der Startsoftware ändert, z. B. durch die Installation oder Aktualisierung der Startsoftware nach der Auslieferung im Werk oder ähnliches, beginnt die installierte oder aktualisierte Startsoftware ebenfalls mit der Ausführung beim Start der Informationsverarbeitungsvorrichtung 100, aber die im Voraus gespeicherten Startaufzeichnungsdaten 102 können nicht mit der installierten oder aktualisierten Startsoftware übereinstimmen. Software, die sich auf eine Konfigurationsänderung in der Startsoftware nach der Auslieferung ab Werk oder dergleichen bezieht, wie z.B. Startsoftware, die nach der Auslieferung ab Werk oder dergleichen installiert wurde, oder Startsoftware, die nach der Auslieferung ab Werk oder dergleichen aktualisiert wurde, wird zusammenfassend als geänderte Startsoftware bezeichnet.
  • Dann reagiert die Informationsverarbeitungsvorrichtung 100 gemäß Ausführungsform 2 auf die geänderte Startsoftware, indem sie die Startaufzeichnungsdaten 102 beim Start der Informationsverarbeitungsvorrichtung 100 erfasst.
  • Wenn die Konfiguration der Startsoftware geändert wird, ist es erforderlich, Daten zur Verifizierung der geänderten Startsoftware zu berechnen und die Vergleichsdaten 104 anhand der berechneten Daten zur Verifizierung zu aktualisieren. Was die Aktualisierung der Vergleichsdaten 104 betrifft, so kann die Informationsverarbeitungsvorrichtung 100 die Daten zur Verifizierung berechnen, wenn die geänderte Startsoftware installiert, aktualisiert oder ähnliches wird, und die berechneten Daten zur Verifizierung zu den Vergleichsdaten 104 hinzufügen. Alternativ werden die Daten zur Verifizierung der geänderten Startsoftware im Voraus hinzugefügt, und die Informationsverarbeitungsvorrichtung 100 kann die hinzugefügten Daten zur Verifizierung zu den Vergleichsdaten 104 hinzufügen, wenn die geänderte Startsoftware installiert, aktualisiert oder dergleichen wird.
  • [Beschreibung von zusätzlichen Konfigurationskomponenten in Ausführungsform 2]
  • 7 zeigt ein Konfigurationsbeispiel der Informationsverarbeitungsvorrichtung 100 gemäß Ausführungsform 2. Die in Ausführungsform 2 hinzugefügten Funktionen werden im Folgenden hauptsächlich beschrieben.
  • (Startabschlussbenachrichtigungseinheit 105)
  • Eine Startabschlussbenachrichtigungseinheit 105 wird nach Abschluss der Verifizierung der Gültigkeit der Startsoftware ausgeführt. Wenn die Startabschlussbenachrichtigungseinheit 105 feststellt, dass die Startsoftware, deren Ausführung als letzte unter den Teilen jeder Startsoftware gestartet werden soll, ausgeführt wurde, überträgt die Startabschlussbenachrichtigungseinheit 105 eine Startabschlussbenachrichtigung an eine Startaufzeichnungserfassungseinheit 106, die anzeigt, dass der Start der Startsoftware abgeschlossen ist.
  • (Startaufzeichnungserfassungseinheit 106)
  • Die Startaufzeichnungserfassungseinheit 106 wird nach Abschluss der Verifizierung der Gültigkeit der Startsoftware ausgeführt. Die Startaufzeichnungserfassungseinheit 106 zeichnet die Startadresse und die Softwaregröße der Software auf, deren Ausführung unmittelbar nach Abschluss der Verifizierung der Gültigkeit der Startsoftware durch die Gültigkeitsverifizierungseinheit 101 begonnen wurde, bis die Startaufzeichnungserfassungseinheit 106 von der Startabschlussbenachrichtigungseinheit 105 eine Benachrichtigung über den Abschluss des Starts erhält. Das heißt, die Startaufzeichnungserfassungseinheit 106 erfasst Speicherplatzdaten, die einen Speicherplatz für jede Software angeben, die ab dem Start der Informationsverarbeitungsvorrichtung 100 gestartet wird, bis festgestellt wird, dass die Software, deren Ausführung als letzte der Startsoftware gestartet werden soll, ausgeführt wurde.
  • Wenn die Startabschlussbenachrichtigungseinheit 105 die Startaufzeichnungserfassungseinheit 106 über den Abschluss des Starts benachrichtigt, beendet die Startaufzeichnungserfassungseinheit 106 die Aufzeichnung der Startsoftware. Danach aktualisiert die Startaufzeichnungserfassungseinheit 106 die aktuellen Startaufzeichnungsdaten 102 unter Verwendung der Speicherplatzdaten, die eine Aufzeichnung der aktuell erworbenen Startsoftware sind.
  • [Konfigurationsbeispiel für Hardware]
  • Ein Programm, das die Startabschlussbenachrichtigungseinheit 105 und die Startaufzeichnungserfassungseinheit 106 funktionell implementiert, ist in der Speichervorrichtung 20 gespeichert und wird von der Haupt-CPU 30 in der in 4 dargestellten Hardwarekonfiguration ausgeführt, als ein spezifisches Beispiel.
  • *** Beschreibung einer Funktionsweise ***
  • 8 ist ein Flussdiagramm, das ein Beispiel für die Verarbeitung der Startabschlussbenachrichtigungseinheit 105 gemäß Ausführungsform 2 zeigt. 9 ist ein Flussdiagramm, das ein Beispiel für die Startaufzeichnungserfassungseinheit 106 gemäß Ausführungsform 2 zeigt. Unter Bezugnahme auf 8 und 9 wird die Verarbeitung der Startabschlussbenachrichtigungseinheit 105 und die Verarbeitung der Startaufzeichnungserfassungseinheit 106 beschrieben.
  • Die Startabschlussbenachrichtigungseinheit 105 und die Startaufzeichnungserfassungseinheit 106 arbeiten grundsätzlich parallel.
  • [Funktionsweise der Startabschlussbenachrichtigungseinheit 105]
  • (Schritt S201)
  • Schritt S201 beginnt in einem Zustand, in dem die Verifizierung der Gültigkeit abgeschlossen ist, d. h. in einem Zustand nach Schritt S103 in Ausführungsform 1. Die Haupt-CPU 30 startet die Startabschlussbenachrichtigungseinheit 105.
  • (Schritt S202)
  • Die Startabschlussbenachrichtigungseinheit 105 stellt fest, ob die Startsoftware, deren Ausführung von der Haupt-CPU 30 gestartet wurde, die Startsoftware ist, deren Ausführung unter den Teilen jeder Startsoftware als letzte gestartet werden soll oder nicht.
  • Wenn die Startsoftware, deren Ausführung gestartet wurde, die Startsoftware ist, deren Ausführung zuletzt gestartet werden soll, geht die Startabschlussbenachrichtigungseinheit 105 zu Schritt S203 über. Andernfalls wiederholt die Startabschlussbenachrichtigungseinheit 105 die Verarbeitung von Schritt S202, bis die Ausführung der Startsoftware, deren Ausführung zuletzt gestartet werden soll, begonnen wird.
  • (Schritt S203)
  • Die Startabschlussbenachrichtigungseinheit 105 überträgt die Startabschlussbenachrichtigung an die Startaufzeichnungserfassungseinheit 106.
  • [Funktionsweise der Startaufzeichnungserfassungseinheit 106]
  • (Schritt S301)
  • Schritt S301 beginnt in einem Zustand, in dem die Verifizierung der Gültigkeit abgeschlossen ist, d. h. in einem Zustand nach Schritt S103 in Ausführungsform 1. Die Haupt-CPU 30 setzt die Startaufzeichnungserfassungseinheit 106 in Betrieb.
  • (Schritt S302)
  • Die Startaufzeichnungserfassungseinheit 106 zeichnet die Startadresse und die Softwaregröße jeder Startsoftware auf, deren Ausführung von der Haupt-CPU 30 beim Starten der Informationsverarbeitungsvorrichtung 100 gestartet werden soll.
  • (Schritt S303)
  • Die Startaufzeichnungserfassungseinheit 106 prüft, ob die Startabschlussbenachrichtigung von der Startabschlussbenachrichtigungseinheit 105 empfangen wurde oder nicht.
  • Wenn die Startabschlussbenachrichtigung empfangen wurde, geht die Startaufzeichnungserfassungseinheit 106 zu Schritt S304 über. Andernfalls kehrt die Startaufzeichnungserfassungseinheit 106 zu Schritt S302 zurück und fährt fort, die Startadresse und die Softwaregröße der Startsoftware aufzuzeichnen.
  • (Schritt S304)
  • Die Startaufzeichnungserfassungseinheit 106 beendet die Aufzeichnung der Startadresse und der Softwaregröße jeder Startsoftware.
  • (Schritt S305)
  • Die Startaufzeichnungserfassungseinheit 106 aktualisiert die Startaufzeichnungsdaten 102 unter Verwendung der Startadresse und der Softwaregröße jeder Startsoftware, die bis zum Schritt S304 neu codiert wurde.
  • *** Beschreibung der Wirkungen von Ausführungsform 2 ***
  • In einem solchen Fall, in dem neue Software als Startsoftware installiert wird oder in dem im Software-Speicher 103 gespeicherte Software aktualisiert wird, ist die Informationsverarbeitungsvorrichtung 100 gemäß Ausführungsform 2 in der Lage, dynamisch über die zu verifizierende Software zu entscheiden, indem sie die Startadresse und die Softwaregröße der Software aufzeichnet, deren Ausführung beim Start der Informationsverarbeitungsvorrichtung 100 gestartet werden soll.
  • Die Informationsverarbeitungsvorrichtung 100 gemäß der vorliegenden Ausführungsform eignet sich beispielsweise zur Verwendung in einer Fahrzeugsteuereinrichtung. In einer Einrichtung, die als Fahrzeugsteuereinrichtung verwendet wird, wird eine Technik angewandt, die es einem Benutzer ermöglicht, die Installation einer Software oder die Aktualisierung der Software in der Fahrzeugsteuereinrichtung über das Internet durchzuführen. Wenn die Technik auf die Fahrzeugsteuereinrichtung angewendet wird, darf ein Entwickler der Fahrzeugsteuereinrichtug die Konfiguration der Software in der Fahrzeugsteuereinrichtung nicht verwalten. Dementsprechend kann beim herkömmlichen Gültigkeitsprüfungsverfahren, bei dem ein Verifizierungsgegenstand und eine Verifizierungsreihenfolge statisch festgelegt werden, die vom Benutzer installierte Software nicht als Gegenstand der Gültigkeit gelten, wenn der Benutzer eine Software installiert, die vom Entwickler nicht anerkannt wird.
  • In der Informationsverarbeitungsvorrichtung 100 gemäß Ausführungsform 2 zeichnet die Startaufzeichnungserfassungseinheit 106 Startsoftware auf. Dementsprechend ist auch jede vom Benutzer installierte Software Gegenstand der Verifizierung der Gültigkeit, wenn sie beim Start der Informationsverarbeitungsvorrichtung 100 ausgeführt wird.
  • Ausführungsform 3.
  • Die Unterschiede zu der oben beschriebenen Ausführungsform werden im Folgenden hauptsächlich unter Bezugnahme auf die Zeichnungen beschrieben.
  • *** Beschreibung der Konfiguration ***
  • Wenn eine Konfigurationsänderung in der Software ausgeführt wird, während die Informationsverarbeitungsvorrichtung 100 in Betrieb ist, zeichnet die Informationsverarbeitungsvorrichtung 100 gemäß den Ausführungsformen 1 und 2 die Software, deren Konfiguration geändert wurde, nicht in den Startaufzeichnungsdaten 102 auf. In diesem Fall bedeutet die Konfigurationsänderung der Software, dass die Konfiguration der in der Informationsverarbeitungsvorrichtung gespeicherten Software geändert wird, z. B. durch die Installation neuer Software in der Informationsverarbeitungsvorrichtung 100 oder durch die Aktualisierung der in der Informationsverarbeitungsvorrichtung 100 gespeicherten Software. Dementsprechend ist die Software, in der die Konfigurationsänderung implementiert wurde, nicht Gegenstand der Verifizierung der Gültigkeit beim nächsten Start der Informationsverarbeitungsvorrichtung 100. Eine neue Software oder eine aktualisierte Software, in der die Konfigurationsänderung implementiert wurde, kann jedoch auch die geänderte Startsoftware sein. Wenn folglich die geänderte Startsoftware, bei der es sich um Software handelt, in der die Konfigurationsänderung implementiert wurde, manipuliert wird und die Informationsverarbeitungsvorrichtung 100 startet, während die manipulierte geänderte Startsoftware von der Verifizierung der Gültigkeit beim Start der Informationsverarbeitungsvorrichtung 100 ausgeschlossen wird, arbeitet die Informationsverarbeitungsvorrichtung 100 ohne Verifizierung der Gültigkeit der manipulierten geänderten Startsoftware.
  • Um eine Situation wie oben zu verhindern, wenn die Konfigurationsänderung in der Software ausgeführt wird, während die Informationsverarbeitungsvorrichtung 100 in Betrieb ist, hat die Informationsverarbeitungsvorrichtung 100 gemäß Ausführungsform 3 eine Funktion, um die Verifizierung der Gültigkeit der Software, in der die Konfigurationsänderung implementiert wurde, beim Start der Informationsverarbeitungsvorrichtung 100 durchzuführen.
  • [Beschreibung der zusätzlichen Konfigurationskomponenten in Ausführungsform 3]
  • 10 zeigt ein Beispiel für die Konfiguration der Informationsverarbeitungsvorrichtung 100 gemäß der vorliegenden Ausführungsform. 10 veranschaulicht eine Konfiguration, in der eine Softwareverwaltungseinheit 107 zu der Informationsverarbeitungsvorrichtung 100 gemäß Ausführungsform 2 hinzugefügt wird. Die Konfiguration der Informationsverarbeitungsvorrichtung 100 kann jedoch eine Konfiguration sein, bei der die Softwareverwaltungseinheit 107 der Informationsverarbeitungsvorrichtung 100 gemäß Ausführungsform 1 hinzugefügt wird. Zusätzlich zu der Funktion, die Daten zur Verifizierung zu berechnen, hat die Gültigkeitsverifizierungseinheit 101 gemäß Ausführungsform 3 die Funktion, die berechneten Daten zur Verifizierung in dem sicheren Speicher 13 zu speichern.
  • Die in Ausführungsform 3 hinzugefügten Funktionen werden im Folgenden hauptsächlich beschrieben.
  • (Softwareverwaltungseinheit 107)
  • Wenn die Konfigurationsänderung in der in der Informationsverarbeitungsvorrichtung 100 gespeicherten Software implementiert wurde, während die Informationsverarbeitungsvorrichtung 100 in Betrieb ist, erkennt die Softwareverwaltungseinheit 107 die Software, in der die Konfigurationsänderung implementiert wurde. Auf der Grundlage eines erkannten Ergebnisses aktualisiert die Softwareverwaltungseinheit 107 die Startaufzeichnungsdaten 102 und gibt einen Befehl an die Gültigkeitsverifizierungseinheit 101.
  • Bei der Aktualisierung der Startaufzeichnungsdaten 102 fügt die Softwareverwaltungseinheit 107 den Startaufzeichnungsdaten 102 die Startadresse und die Softwaregröße der Software hinzu, in der die Konfigurationsänderung implementiert wurde, so dass die Software, in der die Konfigurationsänderung implementiert wurde, beim nächsten Start der Informationsverarbeitungsvorrichtung 100 der Verifizierungsgegenstand der Gültigkeit ist.
  • Da bei der Befehlserteilung an die Gültigkeitsverifizierungseinheit 101 die Daten zur Verifizierung der Software, in der die Konfigurationsänderung durchgeführt wurde, nicht als Vergleichsdaten 104 gespeichert sind, erteilt die Softwareverwaltungseinheit 107 der Gültigkeitsverifizierungseinheit 101 den Befehl, die Daten zur Verifizierung zu berechnen.
  • [Konfigurationsbeispiel für Hardware]
  • Ein Programm, das die Softwareverwaltungseinheit 107 funktionell implementiert, ist in der Speichervorrichtung 20 in der in 4 dargestellten Hardwarekonfiguration gespeichert und wird von der Haupt-CPU 30 in der in 4 dargestellten Hardwarekonfiguration ausgeführt, als ein spezifisches Beispiel.
  • *** Beschreibung einer Funktionsweise ***
  • Im Folgenden wird die Funktionsweise der Informationsverarbeitungsvorrichtung 100 beschrieben.
  • 11 ist ein Flussdiagramm, das ein Beispiel für die Verarbeitung der Informationsverarbeitungsvorrichtung 100 gemäß Ausführungsform 3 zeigt. Die Verarbeitung in einem Fall, in dem die Konfigurationsänderung in Software implementiert wurde, während die Informationsverarbeitungsvorrichtung 100 in Betrieb ist, wird unter Bezugnahme auf 11 beschrieben.
  • (Schritt S401)
  • Wenn die Konfigurationsänderung in der Software implementiert wurde, erkennt die Softwareverwaltungseinheit 107 die implementierte Konfigurationsänderung.
  • (Schritt S402)
  • Die Softwareverwaltungseinheit 107 fügt zu den Startaufzeichnungsdaten 102 Daten hinzu, die jeweils die Startadresse und die Softwaregröße der Software angeben, in der die Konfigurationsänderung durchgeführt wurde.
  • Durch die Ausführung dieses Schritts wird die Software, in der die Konfigurationsänderung implementiert wurde, beim nächsten Start der Informationsverarbeitungsvorrichtung 100 zwangsweise verifiziert.
  • (Schritt S403)
  • Die Softwareverwaltungseinheit 107 erteilt der Gültigkeitsverifizierungseinheit 101 den Befehl, Daten zur Verifizierung zu berechnen, die der Software entsprechen, in der die Konfigurationsänderung durchgeführt wurde.
  • Die Gültigkeitsverifizierungseinheit 101 berechnet die Daten zur Verifizierung und aktualisiert die Vergleichsdaten 104 unter Verwendung der berechneten Daten zur Verifizierung. Das heißt, wenn die Softwareverwaltungseinheit 107 die Software erkennt, in der die Konfigurationsänderung durchgeführt wurde, berechnet die Gültigkeitsverifizierungseinheit 101 die Vergleichsdaten 104, die der Software entsprechen, in der die Konfigurationsänderung durchgeführt wurde.
  • *** Beschreibung der Wirkungen von Ausführungsform 3 ***
  • Die Informationsverarbeitungsvorrichtung 100 gemäß Ausführungsform 3 aktualisiert die Startaufzeichnungsdaten 102 und die Vergleichsdaten 104 in Reaktion auf eine Software, in der eine Konfigurationsänderung vorgenommen wurde. Daher kann die Software, in der die Konfigurationsänderung während des Betriebs der Informationsverarbeitungsvorrichtung 100 implementiert wurde, bei der nächsten Inbetriebnahme der Informationsverarbeitungsvorrichtung 100 als Gegenstand der Verifizierung der Gültigkeit dienen.
  • Andererseits wird die Software, in der die Konfigurationsänderung implementiert wurde und die keine Startsoftware ist, beim nächsten Start der Informationsverarbeitungsvorrichtung 100 durch den Betrieb der Startabschlussbenachrichtigungseinheit 105 und der Startaufzeichnungserfassungseinheit 106, wie in Ausführungsform 2 angegeben, aus den Startaufzeichnungsdaten 102 ausgeschlossen. Dementsprechend ist die Software beim nächsten Start der Informationsverarbeitungsvorrichtung 100 nicht mehr Gegenstand der Verifizierung der Gültigkeit.
  • Ferner eignet sich die Informationsverarbeitungsvorrichtung 100 gemäß Ausführungsform 3 für eine Fahrzeugsteuereinrichtung wie die Informationsverarbeitungsvorrichtung 100 gemäß Ausführungsform 2.
  • *** Weitere Ausführungsformen ***
  • Die obigen Ausführungsformen können frei kombiniert werden oder beliebige Komponenten jeder der Ausführungsformen können modifiziert oder weggelassen werden. Alternativ kann in jeder der Ausführungsformen ein beliebiger Bestandteil weggelassen sein.
  • Alternativ dazu sind die Ausführungsformen nicht auf die in den Ausführungsformen 1 und 3 dargestellten beschränkt, und es können je nach Bedarf verschiedene Änderungen vorgenommen werden. Die in den Flussdiagrammen oder ähnlichem beschriebenen Abläufe können in geeigneter Weise modifiziert werden.
  • BEZUGSZEICHENLISTE
  • 10: HSM; 11: sichere CPU; 12: kryptografische Rechenmaschine; 13: sicherer Speicher; 20: Speichervorrichtung; 30: Haupt-CPU; 40: RAM; 50: Verarbeitungsschaltung; 100: Informationsverarbeitungsvorrichtung; 101: Gültigkeitsverifizierungseinheit; 102: Startaufzeichnungsdaten; 103: Software-Speicher; 104: Vergleichsdaten; 105: Startabschlussbenachrichtigungseinheit; 106: Startaufzeichnungserfassungseinheit; 107: Softwareverwaltungseinheit.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 2013084078 A [0003]

Claims (7)

  1. Informationsverarbeitungsvorrichtung, die Software verifiziert, umfassend: eine Gültigkeitsverifizierungseinheit zum Verifizieren der Gültigkeit von Startsoftware durch Vergleichen von Verifizierungsgegenstandsdaten, die Daten zur Verifizierung sind, die auf der Grundlage von Daten berechnet werden, die an einem Speicherplatz gespeichert sind, der in Startaufzeichnungsdaten angegeben ist, die den Speicherplatz angeben, an dem die beim Start der Informationsverarbeitungsvorrichtung ausgeführte Startsoftware zu speichern ist, und die Daten zur Verifizierung sind, die beim Start der Informationsverarbeitungsvorrichtung berechnet werden, mit Vergleichsdaten, die Daten zur Verifizierung sind, die vor dem Start der Informationsverarbeitungsvorrichtung auf der Grundlage der Startsoftware berechnet werden, und die Daten zur Verifizierung sind, die als ein Vergleichsgegenstand der Verifizierungsgegenstandsdaten verwendet werden.
  2. Informationsverarbeitungsvorrichtung nach Anspruch 1, wobei die Startaufzeichnungsdaten aus Daten bestehen, die eine führende Adresse des Speicherplatzes angeben, und Daten, die eine Datengröße der Startsoftware angeben.
  3. Informationsverarbeitungsvorrichtung nach Anspruch 1 oder Anspruch 2, wobei die Daten zur Verifizierung Daten sind, die einen Hash-Wert oder einen Message Authentication Code (MAC) einer Software angeben, die den Daten zur Verifizierung entspricht.
  4. Informationsverarbeitungsvorrichtung nach einem der Ansprüche 1 bis 3, ferner umfassend: eine Startabschlussbenachrichtigungseinheit zum Feststellen, dass Software, deren Ausführung als letzte der Teile der Startsoftware gestartet werden soll, ausgeführt wurde; und eine Startaufzeichnungserfassungseinheit zum Erfassen von Speicherplatzdaten, die einen Speicherplatz jeder Software angeben, die vom Start der Informationsverarbeitungsvorrichtung an gestartet wird, bis festgestellt wird, dass die unter den Teilen der Startsoftware zuletzt ausgeführte Software ausgeführt wurde, und zum Aktualisieren der Startaufzeichnungsdaten unter Verwendung der erfassten Speicherplatzdaten.
  5. Informationsverarbeitungsvorrichtung nach einem der Ansprüche 1 bis 4, ferner umfassend: eine Softwareverwaltungseinheit zum Erkennen von Software, in der eine Konfigurationsänderung implementiert wurde, wenn die Konfigurationsänderung an der in der Informationsverarbeitungsvorrichtung gespeicherten Software implementiert wurde, während die Informationsverarbeitungsvorrichtung in Betrieb ist, wobei wenn die Software, in der die Konfigurationsänderung implementiert wurde, erkannt wird, die Gültigkeitsverifizierungseinheit Vergleichsdaten berechnet, die der Software, in der die Konfigurationsänderung implementiert wurde, entsprechen.
  6. Informationsverarbeitungsverfahren, das von einer Informationsverarbeitungsvorrichtung ausgeführt wird, die Software verifiziert, umfassend: Verifizieren der Gültigkeit von Startsoftware durch Vergleichen von Verifizierungsgegenstandsdaten, die Daten zur Verifizierung sind, die auf der Grundlage von Daten berechnet werden, die an einem Speicherplatz gespeichert sind, der in Startaufzeichnungsdaten angegeben ist, die den Speicherplatz angeben, an dem die beim Start der Informationsverarbeitungsvorrichtung ausgeführte Startsoftware zu speichern ist, und die Daten zur Verifizierung sind, die beim Start der Informationsverarbeitungsvorrichtung berechnet werden, mit Vergleichsdaten, die Daten zur Verifizierung sind, die vor dem Start der Informationsverarbeitungsvorrichtung auf der Grundlage der Startsoftware berechnet werden, und die Daten zur Verifizierung sind, die als ein Vergleichsgegenstand der Verifizierungsgegenstandsdaten verwendet werden.
  7. Informationsverarbeitungsprogramm zum Veranlassen einer Informationsverarbeitungsvorrichtung, die ein Computer ist, der Software verifiziert, zum Ausführen: eines Gültigkeitsverifizierungsprozesses der Verifizierung der Gültigkeit von Startsoftware durch Vergleichen von Verifizierungsgegenstandsdaten, die Daten zur Verifizierung sind, die auf der Grundlage von Daten berechnet werden, die an einem Speicherplatz gespeichert sind, der in Startaufzeichnungsdaten angegeben ist, die den Speicherplatz angeben, an dem die beim Start der Informationsverarbeitungsvorrichtung ausgeführte Startsoftware zu speichern ist, und die Daten zur Verifizierung sind, die beim Start der Informationsverarbeitungsvorrichtung berechnet werden, mit Vergleichsdaten, die Daten zur Verifizierung sind, die vor dem Start der Informationsverarbeitungsvorrichtung auf der Grundlage der Startsoftware berechnet werden, und die Daten zur Verifizierung sind, die als ein Vergleichsgegenstand der Verifizierungsgegenstandsdaten verwendet werden.
DE112021007690.6T 2021-07-21 2021-07-21 Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren und Informationsverarbeitungsprogramm Pending DE112021007690T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/027424 WO2023002635A1 (ja) 2021-07-21 2021-07-21 情報処理装置、情報処理方法、及び、情報処理プログラム

Publications (1)

Publication Number Publication Date
DE112021007690T5 true DE112021007690T5 (de) 2024-03-07

Family

ID=84979047

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021007690.6T Pending DE112021007690T5 (de) 2021-07-21 2021-07-21 Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren und Informationsverarbeitungsprogramm

Country Status (5)

Country Link
US (1) US20240104219A1 (de)
JP (1) JP7341376B2 (de)
CN (1) CN117651947A (de)
DE (1) DE112021007690T5 (de)
WO (1) WO2023002635A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013084078A (ja) 2011-10-07 2013-05-09 Ricoh Co Ltd 情報処理装置、正当性検証方法、正当性検証プログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014021953A (ja) * 2012-07-24 2014-02-03 Ricoh Co Ltd 情報処理装置、画像処理装置、起動制御方法及び起動制御プログラム
JP6440334B2 (ja) * 2017-08-18 2018-12-19 Kddi株式会社 システム、車両及びソフトウェア配布処理方法
WO2020075303A1 (ja) * 2018-10-12 2020-04-16 三菱電機株式会社 ソフトウェア検証装置、ソフトウェア検証方法およびソフトウェア検証プログラム
JP7393226B2 (ja) * 2020-01-29 2023-12-06 キヤノン株式会社 情報処理装置とその起動方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013084078A (ja) 2011-10-07 2013-05-09 Ricoh Co Ltd 情報処理装置、正当性検証方法、正当性検証プログラム

Also Published As

Publication number Publication date
CN117651947A (zh) 2024-03-05
WO2023002635A1 (ja) 2023-01-26
US20240104219A1 (en) 2024-03-28
JPWO2023002635A1 (de) 2023-01-26
JP7341376B2 (ja) 2023-09-08

Similar Documents

Publication Publication Date Title
DE112011103829B4 (de) Verfahren und System zum Erzeugen einer virtuellen Maschine auf der Grundlage von Vorlagen
DE69724862T2 (de) Verfahren und Anordnung für die Zugangs- und Informationsverfälschungskontrolle in Rechnersystemen
EP2400387B1 (de) Verfahren zur Performanceverbesserung von Computern
DE112009002207B4 (de) Aktualisieren einer Firmware mit mehreren Prozessoren
DE112017007515T5 (de) Fahrzeuginternes Authentifikationssystem, fahrzeuginternes Authentifikationsverfahren und fahrzeuginternes Authentifikationsprogramm
DE112012000512T5 (de) Aktualisieren von Software
DE19747396A1 (de) Verfahren und Anordnung zur Schaffung einer Ferndiagnose für ein elektronisches System über ein Netz
DE102014002021A1 (de) Informationsverarbeitungsvorrichtung und Verfahren dafür
DE102016010277A1 (de) Verfahren und systeme zum verbessern von speicher-journaling
DE112007003231T5 (de) Programmierbare Anzeigevorrichtung, Steuersystem und Backup-/Wiederherstellungsprozessverfahren
DE112012004793T5 (de) Verfahren und System zum Erzeugen einer virtuellen Anwendung
DE112006003504T5 (de) Detektion von Cachespeicher-Disassoziierung
DE112018002954T5 (de) Bereitstellen eines konfigurationsabhängigen arbeitsablaufs
EP3924847A2 (de) Verfahren zur lizenzierung einer toolkette
DE112018007428T5 (de) Vorrichtung zur informationsverarbeitung, tuningverfahren undtuningprogramm
DE112021007690T5 (de) Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren und Informationsverarbeitungsprogramm
DE102019135079A1 (de) Installation von firmware-bundles abbrechen
DE102012210482A1 (de) Verfahren und System zum Migrieren von Geschäftsprozessinstanzen
DE102018113637A1 (de) Informationsverarbeitsverfahren, Informationsverarbeitungsvorrichtung und Aufzeichnungsmedium
DE102022106659A1 (de) Ota-master, aktualisierungssteuerungsverfahren und nicht-transitorisches speichermedium
DE112020007393T5 (de) Vorrichtungs-Firmware-Beschreiber
DE112016007465T5 (de) Programmentwicklungsunterstützungsvorrichtung und Verfahren zur Verwaltung von Programmkomponenten
DE102021207046A1 (de) Upgraden oder Updaten einer Software-Anwendung
DE102020004756A1 (de) Informationsverarbeitungsvorrichtung und programm
WO2008068250A1 (de) Verfahren und vorrichtung zum aktualisieren einer datenbank und computerprogrammprodukt

Legal Events

Date Code Title Description
R012 Request for examination validly filed