-
[Technisches Gebiet]
-
Die vorliegende Erfindung bezieht sich auf eine Informationsverarbeitungsvorrichtung, ein Informationsverarbeitungsverfahren und ein Programm.
-
[Stand der Technik]
-
Virtualisierungstechnologie zur Steuerung, um eine einzelne Vorrichtung zu veranlassen, einen oder mehrere virtuelle Computer zu betreiben, ist in Gebrauch. Software, die eine Virtualisierungsbasis ist, die bewirkt, dass ein oder mehrere virtuelle Computer betrieben werden, wird auch als Hypervisor bezeichnet, und der eine oder die mehreren Computer, die virtuell betrieben werden, werden auch als virtuelle Maschinen bezeichnet.
-
Es gibt eine Technologie zum Bereitstellen mehrerer virtueller Maschinen, die Überwachungsziele sind, und einer virtuelle Maschine zur Überwachung auf einer Virtualisierungssoftware, zum Bestimmen, ob eines der Überwachungsziele eine Anomalie aufweist, und zum Ausgeben des Bestimmungsergebnisses nach außen (siehe Patentliteratur (PTL) 1).
-
[Zitierliste]
-
[Patentliteratur]
-
[PTL 1]
-
Ungeprüfte japanische Patentanmeldung Veröffentlichungsnummer
2019-144785
-
[Kurzfassung der Erfindung]
-
[Technisches Problem]
-
Es besteht jedoch das Problem, dass das Ergebnis der Bestimmung, ob beispielsweise eine virtuelle Maschine eine Anomalie aufweist, aufgrund einer Sicherheitslücke und/oder Fehlfunktion der Virtualisierungssoftware im Hypervisor oder eines Gerätetreibers nicht nach außen ausgegeben werden kann.
-
Es gibt beispielsweise eine Entwicklung, dass durch die Integration einer Vielzahl von Funktionen einer elektronischen Steuereinheit (ECU) in einem Automobil ein hochwertiger Fahrzeugservice für einen Benutzer bereitgestellt werden soll. Wenn in einer solchen Entwicklung ein Infotainment-System (IVI-System) im Fahrzeug, mit dem eine Anwendung (auch als App bezeichnet) eines Drittanbieters installierbar ist, und ein fortschrittliches Fahrerassistenzsystem (ADAS) zur Unterstützung des automatisierten Fahrens eines Fahrzeugs integriert sind, kann vereitelt werden, dass das Ergebnis der Bestimmung, ob eine Anomalie auftritt, nach außen ausgegeben wird, indem eine bösartige Anwendung des Drittanbieters die Virtualisierungssoftware im Hypervisor oder den an der Kommunikation beteiligten Gerätetreiber angreift.
-
Wenn vereitelt wird, dass das Ergebnis der Bestimmung, ob beispielsweise eine virtuelle Maschine eine Anomalie aufweist, nach außen ausgegeben wird, kann die ECU keine Verarbeitung zur Behebung einer Anomalie gemäß einer Anweisung von einer externen Vorrichtung ausführen, was zu einem Problem beim Fahren des Fahrzeugs führt.
-
In Anbetracht dessen schafft die vorliegende Erfindung eine Informationsverarbeitungsvorrichtung, die die Vereitelung der Ausgabe eines Überwachungsergebnisses nach außen verhindert.
-
[Lösung des Problems]
-
Eine Informationsverarbeitungsvorrichtung gemäß einem Aspekt der vorliegenden Erfindung umfasst: eine Vorrichtung, die mit einer externen Vorrichtung außerhalb der Informationsverarbeitungsvorrichtung kommuniziert; einen Speicher, der einen geschützten Bereich und einen ungeschützten Bereich enthält; einen Prozessor, der in einem ersten Modus und einem zweiten Modus arbeitet, wobei der erste Modus ein Modus ist, in dem der Zugriff auf den geschützten Bereich des Speichers und der Zugriff auf den ungeschützten Bereich des Speichers erlaubt sind, und der zweite Modus ein Modus ist, in dem der Zugriff auf den geschützten Bereich des Speichers verboten ist und der Zugriff auf den ungeschützten Bereich des Speichers erlaubt ist; eine erste Steuereinrichtung, die die Vorrichtung durch den im ersten Modus arbeitenden Prozessor steuert; einen Virtuelle-Maschine-Verwalter, der bewirkt, dass eine oder mehrere virtuelle Maschinen durch den im zweiten Modus arbeitenden Prozessor betrieben werden; und eine zweite Steuereinrichtung, die die Vorrichtung durch den im zweiten Modus arbeitenden Prozessor steuert.
-
Es ist zu beachten, dass diese allgemeinen und spezifischen Aspekte mit einem System, einem Verfahren, einem integrierten Schaltkreis, einem Computerprogramm, einem computerlesbaren Aufzeichnungsmedium wie beispielsweise einer CD-ROM, oder mit einer beliebigen Kombination von Systemen, Verfahren, integrierten Schaltkreisen, Computerprogrammen oder Aufzeichnungsmedien implementiert werden können.
-
[Vorteilhafte Wirkungen der Erfindung]
-
Eine Informationsverarbeitungsvorrichtung gemäß der vorliegenden Erfindung kann die Vereitelung der Ausgabe eines Überwachungsergebnisses nach außen verhindern.
-
Figurenliste
-
- 1 ist ein schematisches Schaubild, das konzeptartig eine Konfiguration einer Informationsverarbeitungsvorrichtung gemäß dem verwandten Stand der Technik zeigt.
- 2 ist ein schematisches Schaubild, das konzeptartig eine Konfiguration einer Informationsverarbeitungsvorrichtung gemäß Ausführungsform 1 zeigt.
- 3 ist ein schematisches Schaubild, das eine funktionale Konfiguration der Informationsverarbeitungsvorrichtung gemäß Ausführungsform 1 zeigt.
- 4 zeigt Flussdiagramme, die die von der Informationsverarbeitungsvorrichtung gemäß Ausführungsform 1 durchgeführte Verarbeitung zeigen.
- 5 ist ein schematisches Schaubild, das eine funktionale Konfiguration einer Informationsverarbeitungsvorrichtung gemäß Ausführungsform 2 zeigt.
- 6 ist eine erläuternde Zeichnung, die ein Beispiel für Verwaltungsinformationen in Ausführungsform 2 zeigt.
- 7 ist eine erläuternde Zeichnung, die Stellen von Vorrichtungsbereichen in einem Speicher in Ausführungsform 2 zeigt.
- 8 ist ein Flussdiagramm, das die von der Informationsverarbeitungsvorrichtung gemäß Ausführungsform 2 durchgeführte Verarbeitung zeigt.
- 9 ist ein schematisches Schaubild, das eine funktionale Konfiguration einer Informationsverarbeitungsvorrichtung gemäß Ausführungsform 3 zeigt.
- 10 ist eine erläuternde Zeichnung, die ein Beispiel für Verwaltungsinformationen in Ausführungsform 3 zeigt.
- 11 ist eine erläuternde Zeichnung, die Stellen von Vorrichtungsbereichen in einem Speicher in Ausführungsform 3 zeigt.
- 12 ist ein Flussdiagramm, das die von der Informationsverarbeitungsvorrichtung gemäß Ausführungsform 3 durchgeführte Verarbeitung zeigt.
- 13 ist ein schematisches Schaubild, das konzeptartig eine Konfiguration einer Informationsverarbeitungsvorrichtung gemäß Ausführungsform 4 zeigt.
- 14 ist ein schematisches Schaubild, das ein erstes Beispiel für eine funktionale Konfiguration der Informationsverarbeitungsvorrichtung gemäß Ausführungsform 4 zeigt.
- 15 ist ein schematisches Schaubild, das ein zweites Beispiel für eine funktionale Konfiguration der Informationsverarbeitungsvorrichtung gemäß Ausführungsform 4 zeigt.
- 16 ist ein schematisches Schaubild, das eine funktionale Konfiguration einer Informationsverarbeitungsvorrichtung gemäß Ausführungsform 5 zeigt.
-
[Beschreibung von Ausführungsformen]
-
(Der vorliegenden Erfindung zugrundeliegendes Wissen)
-
Die Erfinder haben festgestellt, dass die im Abschnitt „Stand der Technik“ genannte Virtualisierungstechnologie die folgenden Probleme aufweist. Die Technologie, die solche Probleme wie die folgenden aufweist, wird hier auch als „verwandter Stand der Technik“ bezeichnet.
-
1 ist ein schematisches Schaubild, das konzeptartig eine Konfiguration einer Informationsverarbeitungsvorrichtung 90 gemäß dem verwandten Stand der Technik zeigt.
-
Wie in 1 gezeigt, enthält die Informationsverarbeitungsvorrichtung 90 einen Prozessor 12 und eine Kommunikationsvorrichtung 13.
-
Der Prozessor 12 ist eine Verarbeitungsvorrichtung, die in Ausführungsmodi arbeiten kann, die einen gesicherten Modus und einen normalen Modus enthalten. Eine Ausführungsumgebung, in der der Prozessor im gesicherten Modus arbeitet, wird auch als gesicherte Welt bezeichnet, und eine Ausführungsumgebung, in der der Prozessor im normalen Modus arbeitet, wird auch als normale Welt bezeichnet.
-
Die Kommunikationsvorrichtung 13 kommuniziert mit einer externen Vorrichtung außerhalb der Informationsverarbeitungsvorrichtung (auch einfach als externe Vorrichtung bezeichnet). Die Kommunikationsvorrichtung 13 enthält einen Verbinder, der mit einem vorbestimmten Format kompatibel ist, und kommuniziert mit der externen Vorrichtung durch Senden und Empfangen von elektrischen Signalen in dem vorbestimmten Format über den Verbinder.
-
Außerdem enthält die Informationsverarbeitungsvorrichtung 90 einen Sicherheitsüberwacher 20, der eine Funktion ist, die vom Prozessor ausgeführt wird.
-
Der Sicherheitsüberwacher 20 steuert die Ausführungsmodi des Prozessors 12. Genauer bestimmt der Sicherheitsüberwacher 20, ob der Prozessor 12 im gesicherten Modus oder im normalen Modus arbeitet, und steuert die Ausführungsmodi des Prozessors 12 basierend auf dieser Bestimmung.
-
In der Informationsverarbeitungsvorrichtung 90 wird der Hypervisor HV im normalen Modus ausgeführt, und die virtuellen Maschinen VM1, VM2 und VM3 werden auf dem Hypervisor HV betrieben.
-
Die virtuelle Maschine VM1 ist eine allgemeine virtuelle Maschine (VM1 ist in 1 mit „Allgemein“ gekennzeichnet). Die virtuelle Maschine VM1 stellt Funktionen zur Verfügung, die allgemein in der Informationsverarbeitungsvorrichtung 90 verwendet werden. Die virtuelle Maschine VM1 bewirkt, dass die Vorrichtungssteuereinrichtung 32, die die Kommunikationsvorrichtung 13 steuert, arbeitet.
-
Die virtuelle Maschine VM2 ist eine virtuelle Maschine als Anwendungsplattform (VM2 ist in 1 mit „App PF“ gekennzeichnet). Die virtuelle Maschine VM2 bewirkt, dass eine Anwendung 34 (beispielsweise eine MaaS-Anwendung (MaaS = Mobility-as-a-Service)) eines Drittanbieters betrieben wird, und enthält eine Kommunikationssteuereinrichtung 33, die beispielsweise die Protokollverarbeitung im Zusammenhang mit der Kommunikation mit der externen Vorrichtung steuert.
-
Die virtuelle Maschine VM3 ist eine virtuelle Maschine zur Fahrzeugsteuerung (VM3 ist in 1 mit „Fahrzeugsteuerung“ gekennzeichnet). Die virtuelle Maschine VM3 bewirkt, dass eine Steueranwendung 36 zur Unterstützung des Fahrens eines Fahrzeugs (beispielsweise eine ADAS-Anwendung (ADAS = Advanced Driver-Assistance Systems)) betrieben wird, und enthält eine Kommunikationssteuereinrichtung 35, die die Protokollverarbeitung im Zusammenhang mit der Kommunikation mit der externen Vorrichtung steuert.
-
Der Hypervisor HV enthält eine Zugriffsteuereinrichtung 31. Die Zugriffsteuereinrichtung 31 ist eine Funktionseinheit, die mit jeweils der Kommunikationssteuereinrichtung 33 der virtuellen Maschine VM2 und der Kommunikationssteuereinrichtung 35 der virtuellen Maschine VM3 verbunden ist, mit der Vorrichtungssteuereinrichtung 32 der virtuellen Maschine VM1 verbunden ist, und den Zugriff für die Kommunikation steuert.
-
In der Informationsverarbeitungsvorrichtung 90 arbeitet ein Überwacher 91 (Überwachungseinrichtung) im gesicherten Modus. Der Überwacher 91 überwacht Speicherbereiche, die den virtuellen Maschinen und dem Hypervisor HV zugeordnet sind, die im normalen Modus arbeiten, und benachrichtigt die externe Vorrichtung mit dem Ergebnis der Bestimmung, ob einer der Speicherbereiche eine Anomalie aufweist. Wenn das Bestimmungsergebnis zeigt, dass eine Anomalie vorliegt, gibt die externe Vorrichtung durch Kommunikation eine Anweisung zur Verarbeitung zur Behebung der Anomalie (beispielsweise eine Verarbeitung zur Änderung des anomalen Wertes in einen normalen Wert oder eine Verarbeitung zum sicheren Anhalten eines Fahrzeugs), und veranlasst die Informationsverarbeitungsvorrichtung 90, die Anweisung auszuführen.
-
Der Überwacher 91 verwendet die in der virtuellen Maschine VM1 enthaltene Vorrichtungssteuereinrichtung 32, um mit der externen Vorrichtung zu kommunizieren. Genauer kommuniziert der Überwacher 91 mit der externen Vorrichtung über einen Kommunikationspfad, der über die Kommunikationssteuereinrichtung 35 der virtuellen Maschine VM3, die Zugriffsteuereinrichtung 31 des Hypervisors HV, die Vorrichtungssteuereinrichtung 32 der virtuellen Maschine VM1 und die Kommunikationsvorrichtung 13 läuft.
-
In diesem Fall besteht das Problem, dass dann, wenn eine Vorrichtung auf dem Kommunikationspfad (beispielsweise die Zugriffsteuereinrichtung 31 des Hypervisors HV oder die Vorrichtungssteuereinrichtung 32 der virtuellen Maschine VM1) beginnt, einen anomalen Betrieb durchzuführen, weil sie von einer bösartigen Anwendung angegriffen wird, der Überwacher 91 möglicherweise daran gehindert wird, das Ergebnis der Bestimmung, ob ein Speicherbereich eine Anomalie aufweist, auszugeben. Der Überwacher 91 kann keine Verarbeitung zur Behebung der Anomalie in dem Speicherbereich gemäß einer Anweisung von außen durchführen, was zu einem Problem beim Fahren eines Fahrzeugs führt.
-
In Anbetracht dessen schafft die vorliegende Erfindung beispielsweise eine Informationsverarbeitungsvorrichtung, die die Vereitelung der Ausgabe eines Überwachungsergebnisses nach außen verhindert.
-
Eine Informationsverarbeitungsvorrichtung gemäß einem Aspekt der vorliegenden Erfindung umfasst: eine Vorrichtung, die mit einer externen Vorrichtung außerhalb der Informationsverarbeitungsvorrichtung kommuniziert; einen Speicher, der einen geschützten Bereich und einen ungeschützten Bereich enthält; einen Prozessor, der in einem ersten Modus und einem zweiten Modus arbeitet, wobei der erste Modus ein Modus ist, in dem der Zugriff auf den geschützten Bereich des Speichers und der Zugriff auf den ungeschützten Bereich des Speichers erlaubt sind, und der zweite Modus ein Modus ist, in dem der Zugriff auf den geschützten Bereich des Speichers verboten ist und der Zugriff auf den ungeschützten Bereich des Speichers erlaubt ist; eine erste Steuereinrichtung, die die Vorrichtung durch den im ersten Modus arbeitenden Prozessor steuert; einen Virtuelle-Maschine-Verwalter, der bewirkt, dass eine oder mehrere virtuelle Maschinen durch den im zweiten Modus arbeitenden Prozessor betrieben werden; und eine zweite Steuereinrichtung, die die Vorrichtung durch den im zweiten Modus arbeitenden Prozessor steuert.
-
Gemäß dem obigen Aspekt kann die Informationsverarbeitungsvorrichtung die Vorrichtung durch den im ersten Modus arbeitenden Prozessor steuern, um mit der externen Vorrichtung zu kommunizieren. Wenn der Prozessor die Vorrichtung nur steuern kann, indem er im zweiten Modus arbeitet, und mit der externen Vorrichtung kommuniziert, wird die Kommunikation mit der externen Vorrichtung vereitelt (verhindert), wenn die Vorrichtung oder eine Funktion, die zur Kommunikation mit der Vorrichtung verwendet wird, von einer bösartigen Anwendung angegriffen wird. Es wird angenommen, dass eine solche bösartige Anwendung im zweiten Modus arbeitet. Im Gegensatz dazu arbeitet der Prozessor bei der Informationsverarbeitungsvorrichtung gemäß dem obigen Aspekt im ersten Modus, um die Vorrichtung so zu steuern, dass sie mit der externen Vorrichtung kommuniziert, und somit kann die Vereitelung der Kommunikation durch eine bösartige Anwendung, die im zweiten Modus arbeitet, verhindert werden. Dementsprechend kann die Informationsverarbeitungsvorrichtung gemäß dem obigen Aspekt die Vereitelung der Ausgabe eines Überwachungsergebnisses nach außen verhindern.
-
Die Informationsverarbeitungsvorrichtung kann beispielsweise ferner umfassen: einen Schalter, der durch den im ersten Modus arbeitenden Prozessor die Steuerung der Vorrichtung von der Steuerung durch die zweite Steuereinrichtung auf die Steuerung durch die erste Steuereinrichtung umschaltet.
-
Gemäß dem obigen Aspekt kann die Informationsverarbeitungsvorrichtung von einem Zustand der Steuerung der Vorrichtung im zweiten Modus in einen Zustand der Steuerung der Vorrichtung im ersten Modus umschalten, und kann somit den Betrieb für die Kommunikation im zweiten Modus zu einer allgemeinen Zeit durchführen und die Steuerung der Vorrichtung im ersten Modus dann durchführen, wenn es notwendig ist, die Vorrichtung im ersten Modus zu steuern. Dementsprechend ergibt sich die vorteilhafte Wirkung, dass die Verarbeitung der Steuerung der Vorrichtung im ersten Modus mit weniger Computerressourcen durchgeführt wird und/oder weniger Energie verbraucht wird. Somit kann die Informationsverarbeitungsvorrichtung die Vereitelung der Ausgabe eines Überwachungsergebnisses nach außen verhindern, während sie weniger Computerressourcen verwendet und/oder weniger Energie verbraucht.
-
Die Informationsverarbeitungsvorrichtung kann beispielsweise ferner umfassen: einen Überwacher, der durch den im ersten Modus arbeitenden Prozessor einen Bereich des Speichers als Überwachungsziel überwacht und bestimmt, ob das Überwachungsziel eine Anomalie aufweist, wobei der Bereich dem Virtuelle-Maschine-Verwalter zugeordnet ist. Wenn der Überwacher bestimmt, dass das Überwachungsziel eine Anomalie aufweist, kann der Schalter die Steuerung der Vorrichtung, wenn der Überwacher mit der externen Vorrichtung kommuniziert, von der Steuerung durch die zweite Steuereinrichtung auf die Steuerung durch die erste Steuereinrichtung umschalten.
-
Wenn ein Bereich des Speichers, der ein Überwachungsziel ist, eine Anomalie aufweist, schaltet gemäß dem obigen Aspekt die Informationsverarbeitungsvorrichtung den Zustand in einen Zustand der Steuerung der Vorrichtung im ersten Modus, und kann so Informationen, die anzeigen, dass eine Anomalie auftritt, sicherer an die externe Vorrichtung übertragen. Dementsprechend kann die Informationsverarbeitungsvorrichtung die Vereitelung der Ausgabe eines Überwachungsergebnisses nach außen sicherer verhindern.
-
Beispielsweise kann der Schalter ferner eine Steuerung durchführen, um die Steuerung der Vorrichtung durch die zweiten Steuereinrichtung zu verhindern, wenn der Schalter von der Steuerung durch die zweite Steuereinrichtung auf die Steuerung durch die erste Steuereinrichtung umschaltet.
-
Gemäß dem obigen Aspekt verhindert die Informationsverarbeitungsvorrichtung beim Umschalten des Zustands in einen Zustand der Steuerung der Vorrichtung im ersten Modus die Steuerung der Vorrichtung im zweiten Modus, und kann somit verhindern, dass eine durch die Steuerung der Vorrichtung im ersten Modus ausgeführte Kommunikation durch eine durch die Steuerung der Vorrichtung im zweiten Modus ausgeführte Kommunikation vereitelt (verhindert) wird. Dementsprechend kann die Informationsverarbeitungsvorrichtung die Vereitelung der Ausgabe eines Überwachungsergebnisses nach außen sicherer verhindern.
-
Beispielsweise kann die erste Steuereinrichtung die Vorrichtung unter Verwendung eines ersten Vorrichtungsbereichs steuern, der in dem geschützten Bereich des Speichers enthalten ist, und die zweite Steuereinrichtung kann die Vorrichtung unter Verwendung eines zweiten Vorrichtungsbereichs steuern, der in dem ungeschützten Bereich des Speichers enthalten ist.
-
Gemäß dem obigen Aspekt steuert die Informationsverarbeitungsvorrichtung die Vorrichtung im ersten Modus unter Verwendung des geschützten Bereichs des Speichers, und steuert die Vorrichtung im zweiten Modus unter Verwendung des ungeschützten Bereichs des Speichers. Dementsprechend kann die Informationsverarbeitungsvorrichtung die Vereitelung der Ausgabe eines Überwachungsergebnisses nach außen verhindern.
-
Beispielsweise kann die erste Steuereinrichtung die Vorrichtung unter Verwendung eines zweiten Vorrichtungsbereichs steuern, der in dem ungeschützten Bereich des Speichers enthalten ist, und die zweite Steuereinrichtung kann die Vorrichtung unter Verwendung des zweiten Vorrichtungsbereichs des Speichers steuern.
-
Gemäß dem obigen Aspekt steuert die Informationsverarbeitungsvorrichtung die Vorrichtung im ersten Modus oder im zweiten Modus unter Verwendung des ungeschützten Bereichs des Speichers. Dementsprechend kann die Informationsverarbeitungsvorrichtung die Vereitelung der Ausgabe eines Überwachungsergebnisses nach außen verhindern.
-
Die Informationsverarbeitungsvorrichtung kann beispielsweise ferner umfassen: eine Anwendung, die durch den im zweiten Modus arbeitenden Prozessor eine vorbestimmte Verarbeitung durchführt und eine digitale Signatur zu Daten hinzufügt, die die Anwendung an die externe Vorrichtung übertragen soll; und eine Signaturprüfeinrichtung, die durch den im ersten Modus arbeitenden Prozessor die Daten empfängt, zu denen die Anwendung die digitale Signatur hinzugefügt hat, und die Daten an die externe Vorrichtung überträgt, wenn die digitale Signatur erfolgreich überprüft wurde.
-
Gemäß dem obigen Aspekt überprüft die Informationsverarbeitungsvorrichtung im ersten Modus eine digitale Signatur, die von der im zweiten Modus arbeitenden Anwendung zu den Daten hinzugefügt wurde, und überträgt erfolgreich überprüfte Daten, und kann somit Daten übertragen, die eine authentifizierte Anwendung übertragen soll, indem sie die Vorrichtung im zweiten Modus steuert. So kann die Informationsverarbeitungsvorrichtung sowohl die Vereitelung der Ausgabe eines Überwachungsergebnisses nach außen als auch die Vereitelung der Kommunikation durch eine authentifizierte Anwendung verhindern.
-
Beispielsweise kann die Informationsverarbeitungsvorrichtung ferner umfassen: eine Anwendung, die durch den im zweiten Modus arbeitenden Prozessor eine vorbestimmte Verarbeitung durchführt und ein oder mehrere Datenelemente erzeugt, die die Anwendung an die externe Vorrichtung übertragen soll; und eine Verhaltensprüfeinrichtung, die durch den im ersten Modus arbeitenden Prozessor das eine oder die mehreren von der Anwendung erzeugten Datenelemente empfängt, aus dem geschützten Bereich des Speichers eine geeignete Verhaltensbedingung erhält, die ein geeignetes Verhalten der Anwendung bezüglich der Kommunikation definiert, und dann, wenn die Verhaltensprüfeinrichtung bestimmt, dass wenigstens ein Datenelement aus dem einen oder den mehreren Datenelementen die geeignete Verhaltensbedingung erfüllt, das wenigstens eine Datenelement an die externe Vorrichtung überträgt.
-
Gemäß dem obigen Aspekt überprüft die Informationsverarbeitungsvorrichtung im ersten Modus das Verhalten der Anwendung, die im zweiten Modus arbeitet und Daten überträgt, für die die Überprüfung erfolgreich war, und kann somit Daten übertragen, die eine authentifizierte Anwendung übertragen soll, indem sie die Vorrichtung im ersten Modus steuert. Somit kann die Informationsverarbeitungsvorrichtung sowohl die Vereitelung der Ausgabe eines Überwachungsergebnisses nach außen als auch die Kommunikation durch eine authentifizierte Anwendung verhindern.
-
Die Informationsverarbeitungsvorrichtung kann beispielsweise ferner umfassen: eine Fahrzeugsteuereinrichtung, die ein Fahrzeug steuert. Wenn der Schalter von der Steuerung durch die zweite Steuereinrichtung auf die Steuerung durch die erste Steuereinrichtung umschaltet, kann die Fahrzeugsteuereinrichtung aus dem geschützten Bereich des Speichers Steuerinformationen für die Rückfallsteuerung des Fahrzeugs erhalten und das Fahrzeug entsprechend den erhaltenen Steuerinformationen steuern.
-
Gemäß dem obigen Aspekt kann die Informationsverarbeitungsvorrichtung ferner eine Rückfallsteuerung für ein Fahrzeug durchführen, wenn die Steuerung der Vorrichtung vom ersten Modus in den zweiten Modus umgeschaltet wird. Dementsprechend kann das Fahrzeug so gesteuert werden, dass das Fahrzeug sicher angehalten wird. Dementsprechend kann die Informationsverarbeitungsvorrichtung die Vereitelung der Ausgabe eines Überwachungsergebnisses nach außen verhindern, während das Fahrzeug sicher angehalten wird.
-
Beispielsweise kann der Prozessor zwischen dem Betrieb im ersten Modus und dem Betrieb im zweiten Modus einer Zeitmultiplexmethode umschalten.
-
Gemäß dem obigen Aspekt kann die Informationsverarbeitungsvorrichtung die Vereitelung der Ausgabe eines Überwachungsergebnisses nach außen verhindern, indem sie den Prozessor verwendet, der zwischen dem Betrieb im ersten Modus und dem Betrieb im zweiten Modus in einer Zeitmultiplexmethode umschaltet.
-
Beispielsweise kann der Prozessor mehrere Kerne enthalten, wobei wenigstens einer der mehreren Kerne im ersten Modus arbeiten kann und wenigstens einer der mehreren Kerne, der nicht im ersten Modus arbeitet, im zweiten Modus arbeiten kann.
-
Gemäß dem obigen Aspekt kann die Informationsverarbeitungsvorrichtung die Vereitelung der Ausgabe eines Überwachungsergebnisses nach außen unter Verwendung des Prozessors verhindern, der mehrere Kerne enthält, die einen im ersten Modus arbeitenden Kern und einen im zweiten Modus arbeitenden Kern enthält.
-
Die Informationsverarbeitungsvorrichtung kann beispielsweise eine elektronisches Steuereinheit (ECU = Electronic Control Unit) sein, die in einem Fahrzeug vorgesehen ist.
-
Gemäß dem obigen Aspekt kann eine ECU, die die Informationsverarbeitungsvorrichtung ist, die Vereitelung der Ausgabe eines Überwachungsergebnisses nach außen verhindern.
-
Ein Informationsverarbeitungsverfahren gemäß einem Aspekt der vorliegenden Erfindung ist ein Informationsverarbeitungsverfahren, das von einer Informationsverarbeitungsvorrichtung ausgeführt wird, die umfasst: eine Vorrichtung, die mit einer externen Vorrichtung außerhalb der Informationsverarbeitungsvorrichtung kommuniziert; einen Speicher, der einen geschützten Bereich und einen ungeschützten Bereich enthält; und einen Prozessor, der in einem ersten Modus und einem zweiten Modus arbeitet, wobei der erste Modus ein Modus ist, in dem der Zugriff auf den geschützten Bereich des Speichers und der Zugriff auf den ungeschützten Bereich des Speichers erlaubt sind, und der zweite Modus ein Modus ist, in dem der Zugriff auf den geschützten Bereich des Speichers verboten ist und der Zugriff auf den ungeschützten Bereich des Speichers erlaubt ist. Das Informationsverarbeitungsverfahren umfasst: Steuern der Vorrichtung durch den im ersten Modus arbeitenden Prozessor; Bewirken, dass eine oder mehrere virtuelle Maschinen durch den im zweiten Modus arbeitenden Prozessor betrieben werden; und Steuern der Vorrichtung durch den im zweiten Modus arbeitenden Prozessor.
-
Gemäß dem obigen Aspekt können ähnlich vorteilhafte Wirkungen wie mit der Informationsverarbeitungsvorrichtung erzielt werden.
-
Ein Programm gemäß einem Aspekt der vorliegenden Erfindung ist ein Programm, das einen Computer veranlasst, das Informationsverarbeitungsverfahren auszuführen.
-
Gemäß dem obigen Aspekt können ähnlich vorteilhafte Wirkungen wie mit der Informationsverarbeitungsvorrichtung erzielt werden.
-
Es ist zu beachten, dass diese allgemeinen und spezifischen Aspekte mit einem System, einem Verfahren, einem integrierten Schaltkreis, einem Computerprogramm, einem computerlesbaren Aufzeichnungsmedium wie einer CD-ROM, oder mit einer beliebigen Kombination von Systemen, Verfahren, integrierten Schaltkreisen, Computerprogrammen oder Aufzeichnungsmedien implementiert werden können.
-
Mit Bezug auf die Zeichnungen werden im Folgenden Ausführungsformen beschrieben.
-
Es ist zu beachten, dass die im Folgenden beschriebenen Ausführungsformen jeweils ein allgemeines oder spezifisches Beispiel zeigen. Die in den folgenden Ausführungsformen beschriebenen Zahlenwerte, Formen, Materialien, Elemente, die Anordnung und Verbindung der Elemente, Schritte und die Verarbeitungsreihenfolge der Schritte sind Beispiele und sollen die vorliegende Erfindung daher nicht einschränken. Unter den Elementen in den folgenden Ausführungsformen werden Elemente, die in keinem der unabhängigen Ansprüche aufgeführt sind, die das breiteste Konzept definieren, als frei wählbare Elemente beschrieben.
-
[Ausführungsform 1]
-
Die vorliegende Ausführungsform beschreibt beispielsweise eine Informationsverarbeitungsvorrichtung, die die Vereitelung der Ausgabe eines Überwachungsergebnisses nach außen verhindert.
-
2 ist ein schematisches Schaubild, das konzeptartig eine Konfiguration der Informationsverarbeitungsvorrichtung 10 gemäß der vorliegenden Ausführungsform zeigt.
-
Wie in 2 gezeigt, umfasst die Informationsverarbeitungsvorrichtung 10 einen Prozessor 12 und eine Kommunikationsvorrichtung 13, ähnlich wie die Informationsverarbeitungsvorrichtung 90 gemäß dem verwandten Stand der Technik.
-
Der Prozessor 12 ist eine Verarbeitungsvorrichtung, die in Ausführungsmodi arbeiten kann, die einen gesicherten Modus und einen normalen Modus enthalten. Der Prozessor 12 kann im gesicherten Modus und im normalen Modus in einer Zeitmultiplexmethode arbeiten, oder wenn der Prozessor 12 mehrere Kerne enthält, können ein oder mehrere der Kerne im gesicherten Modus arbeiten und ein oder mehrere verbleibende Kerne der mehreren Kerne können im normalen Modus arbeiten. Es ist zu beachten, dass die Informationsverarbeitungsvorrichtung 10 beispielsweise eine ECU ist, die in einem Fahrzeug vorgesehen und mit einem Fahrzeugnetzwerk verbunden ist, um das Fahrzeug zu steuern, jedoch ist die vorliegende Ausführungsform nicht hierauf beschränkt.
-
Es ist zu beachten, dass die Steuerung der Ausführungsumgebungen des gesicherten Modus und des normalen Modus typischerweise als vertrauenswürdige Ausführungsumgebung (TEE = Trusted Execution Environment) bezeichnet wird. TEE wird beispielsweise durch die TrustZone-Technologie implementiert, die eine Standardfunktion in einer Cortex-A-Familie in einer ARM-Zentraleinheit (CPU) ist. Ferner kann TEE beispielsweise auch durch den Secure Enclave Processor (SEP) von Apple oder TitanM von Google implementiert werden.
-
Die Kommunikationsvorrichtung 13 kommuniziert mit einer externen Vorrichtung außerhalb der Informationsverarbeitungsvorrichtung (auch einfach als externe Vorrichtung bezeichnet). Die Kommunikationsvorrichtung 13 enthält einen Verbinder, der mit einem vorbestimmten Format kompatibel ist, und kommuniziert mit der externen Vorrichtung durch Senden und Empfangen von elektrischen Signalen in dem vorbestimmten Format über den Verbinder. Genauer, die Kommunikationsvorrichtung 13 kann eine Vorrichtung sein, die zur Kommunikation mit der externen Vorrichtung verwendet wird, wie beispielsweise Control Area Network (CAN), Diagnostic Communication (Diag), Universal Asynchronous Receiver/Transmitter (UART), Ethernet, Cellular, Bluetooth oder Universal Serial Bus (USB).
-
Ferner enthält die Informationsverarbeitungsvorrichtung 10 einen Sicherheitsüberwacher 20, der eine Funktion ist, die vom Prozessor 12 ausgeführt wird.
-
Der Sicherheitsüberwacher 20 steuert die Ausführungsmodi des Prozessors 12. Insbesondere bestimmt der Sicherheitsüberwacher 20, ob der Prozessor 12 im gesicherten Modus oder im normalen Modus arbeitet, und steuert die Ausführungsmodi des Prozessors 12 basierend auf dieser Bestimmung.
-
Der Prozessor 12 führt den Hypervisor HV im normalen Modus aus und bewirkt, dass die virtuellen Maschinen VM1, VM2 und VM3, auf dem Hypervisor HV betrieben werden. Die virtuelle Maschine VM1 bewirkt den Betrieb der zweiten Vorrichtungssteuereinrichtung 32A (auch als zweite Steuereinrichtung bezeichnet), die virtuelle Maschine VM2 bewirkt den Betrieb der Kommunikationssteuereinrichtung 33 und der Anwendung 34, und die virtuelle Maschine VM3 bewirkt den Betrieb der Kommunikationssteuereinrichtung 35 und der Steueranwendung 36. Es ist zu beachten, dass die zweite Vorrichtungssteuereinrichtung 32A beispielsweise auf dem Hypervisor HV, der im normalen Modus ausgeführt wird, betrieben werden kann, wobei die vorliegende Ausführungsform nicht genau hierauf beschränkt ist.
-
Der Prozessor 12 veranlasst die erste Vorrichtungssteuereinrichtung 41, die Kommunikationssteuereinrichtung 42 und den Überwacher 43, im gesicherten Modus zu arbeiten.
-
Die erste Vorrichtungssteuereinrichtung 41 ist eine Funktionseinheit, die im gesicherten Modus arbeitet und die Kommunikationsvorrichtung 13 steuert. Die erste Vorrichtungssteuereinrichtung 41 kann auch als erste Steuereinrichtung bezeichnet werden.
-
Die Kommunikationssteuereinrichtung 42 ist eine Funktionseinheit, die die Kommunikation der Informationsverarbeitungsvorrichtung 10, die die Kommunikationsvorrichtung 13 steuert, mit der externen Vorrichtung steuert.
-
Überwacher 43 ist eine Funktionseinheit, die Speicherbereiche überwacht, die den virtuellen Maschinen und dem Hypervisor HV, die in der normalen Welt arbeiten, zugewiesen sind, und die externe Vorrichtung mit dem Ergebnis der Bestimmung, ob eine Anomalie auftritt, benachrichtigt, ähnlich wie der Überwacher 91 gemäß dem verwandten Stand der Technik.
-
Der Überwacher 43 kommuniziert mit der externen Vorrichtung, indem er die erste Vorrichtungssteuereinrichtung 41 verwendet, die im gesicherten Modus arbeitet. Der Überwacher 43 kommuniziert somit mit der externen Vorrichtung über einen Kommunikationspfad, der über die Kommunikationssteuereinrichtung 42 und die erste Vorrichtungssteuereinrichtung 41, die im gesicherten Modus arbeiten, und die Kommunikationsvorrichtung 13 verläuft.
-
Dementsprechend kommuniziert der Überwacher 43 mit der externen Vorrichtung, ohne die Zugriffsteuereinrichtung 31 und die zweite Vorrichtungssteuereinrichtung 32A zu verwenden, die in der normalen Welt arbeiten, und somit wird die Vereitelung der Ausgabe eines Ergebnisses der Bestimmung, ob eine Anomalie vorliegt, nach außen verhindert.
-
Im Folgenden wird eine funktionale Konfiguration der Informationsverarbeitungsvorrichtung 10 genauer beschrieben.
-
3 ist ein schematisches Schaubild, das eine funktionale Konfiguration der Informationsverarbeitungsvorrichtung 10 gemäß der vorliegenden Ausführungsform zeigt.
-
Wie in 3 gezeigt, umfasst die Informationsverarbeitungsvorrichtung 10 einen Speicher 11, einen Prozessor 12 und eine Kommunikationsvorrichtung 13.
-
Der Speicher 11 enthält einen geschützten Bereich 21 und einen ungeschützten Bereich 22. Auf den geschützten Bereich 21 kann nur zugegriffen werden, wenn der Prozessor 12 im gesicherten Modus arbeitet. Auf den ungeschützten Bereich 22 kann zugegriffen werden, wenn der Prozessor 12 im gesicherten Modus arbeitet und wenn der Prozessor 12 im normalen Modus arbeitet. Der Speicher 11 speichert beispielsweise Einstellungen für die Kommunikationssteuerung (beispielsweise eine Kommunikationsgeschwindigkeit), Steuernachrichten, Befehle, Eingangs- und Ausgangsparameter und Daten.
-
Es ist zu beachten, dass hier als Beispiel ein Zustand beschrieben wird, in dem n virtuelle Maschinen auf dem Hypervisor HV betrieben werden. Es ist ausreichend, wenn n gleich 1 oder größer ist.
-
Der geschützte Bereich 21 enthält Überwachungsinformationen 211.
-
Die Überwachungsinformationen 211 zeigen einen Speicherbereich an, der ein Überwachungsziel ist, und eine Bedingung, die zeigt, dass ein im Speicherbereich gespeicherter Wert angemessen ist (auch als Angemessenheitsbedingung bezeichnet).
-
Der ungeschützte Bereich 22 umfasst den HV-Bereich 220, der vom Hypervisor HV verwaltet wird, Bereiche, die von den n virtuellen Maschinen verwaltet werden, oder genauer, den VM1-Bereich 221, der von der virtuellen Maschine VM1 verwaltet wird, den VM2-Bereich 222, der von der virtuellen Maschine VM2 verwaltet wird, ..., und den VMn-Bereich 22n, der von der virtuellen Maschine VMn verwaltet wird.
-
Außerdem umfasst der ungeschützte Bereich 22 den Vorrichtungsbereich 231. Der Vorrichtungsbereich 231 ist ein Speicherbereich, der vom Prozessor 12 zum Steuern der Kommunikationsvorrichtung 13 verwendet wird.
-
Der Prozessor 12 ist eine Verarbeitungsvorrichtung, die in einem der Ausführungsmodi arbeitet, die den gesicherten Modus und den normalen Modus enthalten. Genauer, der Prozessor 12 arbeitet in einem der Ausführungsmodi, die den gesicherten Modus (d.h. einen ersten Modus), in dem der Zugriff auf den geschützten Bereich 21 des Speichers 11 und der Zugriff auf den ungeschützten Bereich 22 desselben erlaubt sind, und den normalen Modus (d.h. einen zweiten Modus), in dem der Zugriff auf den geschützten Bereich 21 des Speichers 11 verboten ist und der Zugriff auf den ungeschützten Bereich 22 desselben erlaubt ist, enthalten.
-
Der Prozessor 12 kann zwischen dem Betrieb im gesicherten Modus und dem Betrieb im normalen Modus in einer Zeitmultiplexmethode umschalten. Der Prozessor 12 kann mehrere Kerne enthalten, wobei wenigstens einer der Kerne im gesicherten Modus arbeiten kann und wenigstens einer der Kerne, die nicht im gesicherten Modus arbeiten, im normalen Modus arbeiten kann.
-
Der Prozessor 12 führt unter Verwendung des Speichers 11 ein Programm aus, um Funktionseinheiten wie den Überwacher 43, den Schalter 44, die erste Vorrichtungssteuereinrichtung 41, die Anwendung 51, die Virtuelle-Maschine-Verwalter 52 und die zweite Vorrichtungssteuereinrichtung 32A zu implementieren.
-
Hierbei sind der Überwacher 43, der Schalter 44 und die erste Vorrichtungssteuereinrichtung 41 Funktionseinheiten, die vom Prozessor 12 implementiert werden und im gesicherten Modus arbeiten. Die Anwendung 51, der Virtuelle-Maschine-Verwalter 52 und die zweite Vorrichtungssteuereinrichtung 32A sind Funktionseinheiten, die von dem im normalen Modus arbeitenden Prozessor 12 implementiert werden.
-
Der Überwacher 43 ist eine Funktionseinheit, die als Überwachungsziel eine virtuelle Maschine aus einer oder mehreren virtuellen Maschinen oder einen Bereich des Speichers 11, der dem Virtuelle-Maschine-Verwalter 52 zugeordnet ist, überwacht. Der Überwacher 43 erhält Überwachungsinformationen 211 und überwacht einen Wert, der in einem Speicherbereich gespeichert ist, der ein durch die erhaltenen Überwachungsinformationen 211 angegebenes Überwachungsziel ist. Der Überwacher 43 bestimmt, ob der Wert, der in dem Speicherbereich gespeichert ist, ein Überwachungsziel ist, das die durch die Überwachungsinformationen 211 angegebene Angemessenheitsbedingung erfüllt, und bestimmt, dass das Überwachungsziel eine Anomalie aufweist, wenn der Wert die Bedingung nicht erfüllt.
-
Der Schalter 44 ist eine Funktionseinheit, die die Steuerung der Kommunikationsvorrichtung 13, wenn der Überwacher 43 mit der externen Vorrichtung kommuniziert, zwischen der Steuerung durch die erste Vorrichtungssteuereinrichtung 41 und der Steuerung durch die zweite Vorrichtungssteuereinrichtung 32A umschaltet. Genauer, der Schalter 44 schaltet die Steuerung der Kommunikationsvorrichtung 13 von der Steuerung durch die zweite Vorrichtungssteuereinrichtung 32A auf die Steuerung durch die erste Vorrichtungssteuereinrichtung 41 um. Noch genauer, wenn der Überwacher 43 bestimmt, dass ein Überwachungsziel eine Anomalie aufweist, schaltet der Schalter 44 die Steuerung der Kommunikationsvorrichtung 13, wenn der Überwacher 43 mit der externen Vorrichtung kommuniziert, von der Steuerung durch die zweite Vorrichtungssteuereinrichtung 32A auf die Steuerung durch die erste Vorrichtungssteuereinrichtung 41 um.
-
Die erste Vorrichtungssteuereinrichtung 41 ist eine Funktionseinheit, die die Kommunikationsvorrichtung 13 steuert. Die erste Vorrichtungssteuereinrichtung 41 steuert die Kommunikationsvorrichtung 13 unter Verwendung des Vorrichtungsbereichs 231, wenn die erste Vorrichtungssteuereinrichtung 41 die Kommunikationsvorrichtung 13 steuern soll.
-
Die Anwendung 51 ist eine Anwendungssoftware, die eine vorbestimmte Funktion ausführt. Die Anwendung 51 entspricht der Anwendung 34 und der Steueranwendung 36, wie in 2 gezeigt ist.
-
Der Virtuelle-Maschine-Verwalter 52 ist eine Funktionseinheit, die den Betrieb einer oder mehrerer virtueller Maschinen bewirkt, und entspricht dem Hypervisor HV. Der Virtuelle-Maschine-Verwalter 52 wird unter Verwendung eines Speicherbereichs des HV-Bereichs 220 implementiert. Der Virtuelle-Maschine-Verwalter 52 veranlasst eine oder mehrere virtuelle Maschinen, den VM1-Bereich 221, den VM2-Bereich 222, ..., und den VMn-Bereich 22n als Speicherbereiche der einen oder der mehreren virtuellen Maschinen zu verwenden.
-
Die zweite Vorrichtungssteuereinrichtung 32A ist eine Funktionseinheit, die die Kommunikationsvorrichtung 13 steuert. Die zweite Vorrichtungssteuereinrichtung 32A steuert die Kommunikationsvorrichtung 13 unter Verwendung des Vorrichtungsbereichs 231, wenn die erste Vorrichtungssteuereinrichtung 41 die Kommunikationsvorrichtung 13 steuern soll.
-
Somit steuern die erste Vorrichtungssteuereinrichtung 41 und die zweite Vorrichtungssteuereinrichtung 32A die Kommunikationsvorrichtung 13, indem beide den Vorrichtungsbereich 231 (entsprechend einem zweiten Vorrichtungsbereich) verwenden, der im ungeschützten Bereich 22 enthalten ist.
-
4 zeigt Flussdiagramme, die die von der Informationsverarbeitungsvorrichtung 10 gemäß der vorliegenden Ausführungsform durchgeführte Verarbeitung veranschaulichen. In 4 ist (a) ein Flussdiagramm, das die Verarbeitung im gesicherten Modus zeigt, während (b) ein Flussdiagramm ist, das die Verarbeitung im normalen Modus zeigt.
-
Wenn der Prozessor 12 zwischen dem gesicherten Modus und dem normalen Modus in einer Zeitmultiplexmethode umschaltet, laufen die Verarbeitung in (a) von 4 und die Verarbeitung in (b) von 4 abwechselnd ab. Wenn ein oder mehrere der mehreren Kerne des Prozessors 12 im gesicherten Modus arbeiten und ein oder mehrere verbleibende Kerne im normalen Modus arbeiten, führen der eine oder die mehreren der mehreren Kerne, die im gesicherten Modus arbeiten, die Verarbeitung in (a) aus, und parallel dazu führen der eine oder die mehreren verbleibenden Kerne, die im normalen Modus arbeiten, die Verarbeitung in (b) aus.
-
Im Folgenden wird die Verarbeitung beschrieben, die der Prozessor 12 im gesicherten Modus ausführt.
-
Wie in (a) von 4 gezeigt, überwacht der Überwacher 43 in Schritt S101 einen Speicherbereich, der ein Überwachungsziel ist.
-
In Schritt S102 steuert die erste Vorrichtungssteuereinrichtung 41 die Kommunikationsvorrichtung 13, um mit der externen Vorrichtung zu kommunizieren. Diese Kommunikation umfasst beispielsweise die Übertragung von Informationen, die ein in Schritt S101 erhaltenes Überwachungsergebnis anzeigen, an die externe Vorrichtung und/oder den Empfang von Anweisungsinformationen, die die externe Vorrichtung in Reaktion auf die übertragenen Informationen überträgt.
-
Mit dem Ende von Schritt S102 endet eine Reihe der Prozesse in (a) von 4. Der Prozess in Schritt S101 kann erneut ausgeführt werden.
-
Als nächstes soll die Verarbeitung beschrieben werden, die der Prozessor 12 im normalen Modus ausführt.
-
Wie in (b) von 4 gezeigt, bewirkt der Virtuelle-Maschine-Verwalter 52 in Schritt S111 den Betrieb einer virtuellen Maschine.
-
In Schritt S112 steuert die zweite Vorrichtungssteuereinrichtung 32A die Kommunikationsvorrichtung 13, um mit der externen Vorrichtung zu kommunizieren. Diese Kommunikation umfasst beispielsweise, dass die Anwendung 51 Informationen an die externe Vorrichtung überträgt und/oder die Anwendung 51 Informationen empfängt, die von der externen Vorrichtung übertragen werden.
-
Mit dem Ende von Schritt S112 endet eine Reihe der Prozesse in (b) von 4. Der Prozess in Schritt S111 kann erneut ausgeführt werden.
-
Die Informationsverarbeitungsvorrichtung 10 kann die Vereitelung der Ausgabe eines Überwachungsergebnisses nach außen verhindern, indem sie die in (a) und (b) von 4 gezeigte Verarbeitung ausführt.
-
[Ausführungsform 2]
-
Die vorliegende Ausführungsform beschreibt einen weiteren Aspekt von beispielsweise einer Informationsverarbeitungsvorrichtung, die die Vereitelung der Ausgabe eines Überwachungsergebnisses nach außen verhindert.
-
Die Informationsverarbeitungsvorrichtung 10A gemäß der vorliegenden Ausführungsform führt eine Steuerung durch, um die Kommunikation mit einer Vorrichtungssteuereinrichtung (einer zweiten Vorrichtungssteuereinrichtung) in einem normalen Modus zu verbieten, wenn bestimmt wird, dass ein Überwachungsziel eine Anomalie aufweist.
-
Die Informationsverarbeitungsvorrichtung 10A gemäß der vorliegenden Ausführungsform hat eine ähnliche Konfiguration wie die Informationsverarbeitungsvorrichtung 10 gemäß Ausführungsform 1. Im Folgenden werden hauptsächlich die Teile beschrieben, die sich von der Informationsverarbeitungsvorrichtung 10 gemäß Ausführungsform 1 unterscheiden.
-
5 ist ein schematisches Schaubild, das eine funktionale Konfiguration der Informationsverarbeitungsvorrichtung 10A gemäß der vorliegenden Ausführungsform zeigt. 6 ist eine erläuternde Zeichnung, die ein Beispiel für Verwaltungsinformationen 212 in der vorliegenden Ausführungsform zeigt.
-
Wie in 5 gezeigt, umfasst die Informationsverarbeitungsvorrichtung 10A einen Speicher 11, einen Prozessor 12 und eine Kommunikationsvorrichtung 13.
-
Der Speicher 11 enthält einen geschützten Bereich 21 und einen ungeschützten Bereich 22.
-
Der geschützte Bereich 21 enthält Überwachungsinformationen 211 und Verwaltungsinformationen 212. Der geschützte Bereich 21 kann durch die Steuerung des Schalters 44A den ersten Vorrichtungsbereich 213 enthalten (siehe (b) in 7).
-
Die Verwaltungsinformationen 212 dienen zur Verwaltung der Zustände von Vorrichtungsbereichen. Der Zustand eines Vorrichtungsbereichs kann dynamisch und selektiv in einen von „sicher“ (gesichert) und „nicht-sicher“ (nicht-gesichert) geändert werden. Die Verwaltungsinformationen 212 werden beispielsweise durch den Schalter 44A geändert.
-
Der Zustand eines Vorrichtungsbereichs soll mit Bezug auf 6 beschrieben werden.
-
Wenn der Zustand eines Vorrichtungsbereichs sicher ist, ist der Zugriff von dem im gesicherten Modus arbeitenden Prozessor 12 auf den Vorrichtungsbereich erlaubt, während der Zugriff von dem im normalen Modus arbeitenden Prozessor 12 auf den Vorrichtungsbereich verboten ist. Wenn somit der Zustand des Vorrichtungsbereichs sicher ist, entspricht der Vorrichtungsbereich einem Bereich, der im geschützten Bereich 21 angeordnet ist.
-
Wenn der Zustand eines Vorrichtungsbereichs nicht-sicher ist, ist der Zugriff von dem Prozessor 12, der im gesicherten Modus und im normalen Modus arbeitet, auf den Vorrichtungsbereich erlaubt. Wenn somit der Zustand des Vorrichtungsbereichs nicht-sicher ist, entspricht der Vorrichtungsbereich einem Bereich, der im ungeschützten Bereich 22 angeordnet ist.
-
Der ungeschützte Bereich 22 umfasst den HV-Bereich 220, den VM1-Bereich 221, den VM2-Bereich 222, ..., und den VMn-Bereich 22n.
-
Ferner umfasst der ungeschützte Bereich 22 den zweiten Vorrichtungsbereich 232. Der zweite Vorrichtungsbereich 232 entspricht dem Vorrichtungsbereich 231 in Ausführungsform 1 und ist ein Speicherbereich, der vom Prozessor 12 zum Steuern der Kommunikationsvorrichtung 13 verwendet wird.
-
Der Schalter 44A in der vorliegenden Ausführungsform ist eine Funktionseinheit, die durch Ändern des Zustands eines Vorrichtungsbereichs die Steuerung der Kommunikationsvorrichtung 13, wenn der Überwacher 43 mit der externen Vorrichtung kommuniziert, zwischen der Steuerung durch die erste Vorrichtungssteuereinrichtung 41 und der Steuerung durch die zweite Vorrichtungssteuereinrichtung 32A umschaltet (siehe 2). Dementsprechend ist die Steuerung der Kommunikationsvorrichtung 13 verboten, wenn der Prozessor 12 im normalen Modus arbeitet, und die Steuerung der Kommunikationsvorrichtung 13 ist erlaubt, wenn der Prozessor 12 im gesicherten Modus arbeitet.
-
7 ist eine erläuternde Zeichnung, die die Stellen der Vorrichtungsbereiche im Speicher 11 in der vorliegenden Ausführungsform zeigt.
-
Teil (a) von 7 zeigt eine erste Stelle eines Vorrichtungsbereichs im Speicher 11. Die in (a) von 7 gezeigte Stelle ist eine Stelle eines Vorrichtungsbereichs im Speicher 11, wenn der Überwacher 43 bestimmt, dass ein Überwachungsziel keine Anomalie aufweist. Mit anderen Worten, die in (a) von 7 gezeigte Stelle ist eine Stelle im Speicher 11, bevor der Schalter 44A den Zustand umschaltet.
-
Teil (a) von 7 zeigt den gleichen Zustand wie bei dem in 5 gezeigte Speicher 11, wobei sich ein Vorrichtungsbereich im ungeschützten Bereich 22 als zweiter Vorrichtungsbereich 232 befindet.
-
Teil (b) von 7 zeigt eine zweite Stelle eines Vorrichtungsbereichs im Speicher 11. Die in (b) von 7 gezeigte Stelle ist eine Stelle eines Vorrichtungsbereichs im Speicher 11, wenn der Überwacher 43 bestimmt, dass ein Überwachungsziel eine Anomalie aufweist. Mit anderen Worten, die in (b) von 7 gezeigte Stelle ist eine Stelle im Speicher 11, nachdem der Schalter 44A den Zustand umschaltet.
-
Wie in (b) von 7 gezeigt, befindet sich nach dem Umschalten des Zustands durch den Schalter 44A ein Vorrichtungsbereich im geschützten Bereich 21 als erster Vorrichtungsbereich 213. Der erste Vorrichtungsbereich 213 entspricht dem Vorrichtungsbereich 231 in Ausführungsform 1 und ist ein Speicherbereich, der vom Prozessor 12 zum Steuern der Kommunikationsvorrichtung 13 verwendet wird. Der erste Vorrichtungsbereich 213 wird erzeugt, indem der Zustand des zweiten Vorrichtungsbereichs 232 in (a) von 7 von nicht-sicher auf sicher geändert wird.
-
Auf diese Weise kann die Steuerung der Kommunikationsvorrichtung 13 verboten werden, wenn der Prozessor 12 im normalen Modus arbeitet.
-
Es soll die Verarbeitung beschrieben werden, die von der Informationsverarbeitungsvorrichtung 10A, die eine Konfiguration wie oben aufweist, durchgeführt wird.
-
8 ist ein Flussdiagramm, das die von der Informationsverarbeitungsvorrichtung 10A gemäß der vorliegenden Ausführungsform durchgeführte Verarbeitung zeigt.
-
Wie in 8 gezeigt, überwacht der Überwacher 43 in Schritt S211 einen Speicherbereich, der ein Überwachungsziel ist.
-
In Schritt S212 bestimmt der Überwacher 43, ob der Speicherbereich, der ein Überwachungsziel bei der Überwachung in Schritt S211 ist, eine Anomalie aufweist. Wenn der Überwacher 43 bestimmt, dass eine Anomalie vorliegt (Ja in Schritt S212), fährt die Verarbeitung mit Schritt S213 fort, andernfalls (Nein in Schritt S212) endet eine Reihe der in 8 gezeigten Prozesse.
-
In Schritt S213 schaltet der Schalter 44A die Steuerung der Vorrichtung von der Steuerung durch die zweite Vorrichtungssteuereinrichtung 32A auf die Steuerung durch die erste Vorrichtungssteuereinrichtung 41 um. Mit dem Ende von Schritt S213 beendet die Informationsverarbeitungsvorrichtung 10A die Reihe der in 8 gezeigten Prozesse.
-
Wenn die Informationsverarbeitungsvorrichtung 10A bestimmt, dass ein Überwachungsziel eine Anomalie aufweist, indem sie die Reihe der in 8 gezeigten Prozesse durchführt, führt die Informationsverarbeitungsvorrichtung 10A eine Steuerung durch, um die Steuerung der Kommunikationsvorrichtung 13 durch die Vorrichtungssteuereinrichtung, die im normalen Modus arbeitet, zu verbieten und die Kommunikation durch die Vorrichtungssteuereinrichtung, die im gesicherten Modus arbeitet und die Kommunikationsvorrichtung 13 steuert, zu erlauben. Dementsprechend wird dadurch vermieden, dass die Kommunikation durch die Vorrichtungssteuereinrichtung, die im gesicherten Modus arbeitet, durch die Kommunikation durch die Vorrichtungssteuereinrichtung, die im normalen Modus arbeitet, vereitelt wird, wobei ferner die Vereitelung der Ausgabe eines Überwachungsergebnisses nach außen verhindert wird.
-
[Ausführungsform 3]
-
Die vorliegende Ausführungsform beschreibt einen weiteren Aspekt von beispielsweise einer Informationsverarbeitungsvorrichtung, die die Vereitelung der Ausgabe eines Überwachungsergebnisses nach außen verhindert.
-
Die Informationsverarbeitungsvorrichtung 10B gemäß der vorliegenden Ausführungsform führt eine Steuerung durch, um die Kommunikation unter Verwendung einer Vorrichtungssteuereinrichtung (der zweiten Vorrichtungssteuereinrichtung) in einem normalen Modus zu verbieten, wenn bestimmt wird, dass ein Überwachungsziel eine Anomalie aufweist.
-
9 ist ein schematisches Schaubild, das eine funktionale Konfiguration der Informationsverarbeitungsvorrichtung 10B gemäß der vorliegenden Ausführungsform zeigt. 10 ist eine erläuternde Zeichnung, die ein Beispiel für Verwaltungsinformationen 233 in der vorliegenden Ausführungsform zeigt.
-
Wie in 9 gezeigt, umfasst die Informationsverarbeitungsvorrichtung 10B einen Speicher 11, einen Prozessor 12 und eine Kommunikationsvorrichtung 13.
-
Der Speicher 11 enthält einen geschützten Bereich 21 und einen ungeschützten Bereich 22.
-
Der geschützte Bereich 21 enthält Überwachungsinformationen 211 und den ersten Vorrichtungsbereich 213.
-
Der erste Vorrichtungsbereich 213 entspricht dem Vorrichtungsbereich 231 in Ausführungsform 1 und ist ein Speicherbereich, der vom Prozessor 12 zum Steuern der Kommunikationsvorrichtung 13 verwendet wird.
-
Der ungeschützte Bereich 22 umfasst den HV-Bereich 220, den VM1-Bereich 221, den VM2-Bereich 222, ..., den VMn-Bereich 22n, die Verwaltungsinformationen 233 und den zweiten Vorrichtungsbereich 232.
-
Die Verwaltungsinformationen 233 zeigen eine Korrespondenz zwischen virtuellen Adressen und physikalischen Adressen an. Hierbei wird eine virtuelle Adresse verwendet, wenn beispielsweise die virtuelle Maschine VM1 auf den Speicher zugreift, während eine physikalische Adresse eine tatsächliche Adresse im Speicher 11 ist. Die Verwaltungsinformationen 233 werden verwendet, um beispielsweise eine virtuelle Adresse in eine physikalische Adresse umzuwandeln.
-
Der zweite Vorrichtungsbereich 232 entspricht dem Vorrichtungsbereich 231 in Ausführungsform 1 und ist ein Speicherbereich, der vom Prozessor 12 zum Steuern der Kommunikationsvorrichtung 13 verwendet wird.
-
Der Schalter 44B ist eine Funktionseinheit, die die Steuerung der Kommunikationsvorrichtung 13, wenn der Überwacher 43 mit einer externen Vorrichtung kommuniziert, zwischen der Steuerung durch die erste Vorrichtungssteuereinrichtung 41 und der Steuerung durch die zweite Vorrichtungssteuereinrichtung 32A umschaltet (siehe 2). Ferner ändert der Schalter 44B die Verwaltungsinformationen 233, um die Steuerung der Kommunikationsvorrichtung 13 zu verbieten, wenn der Prozessor 12 im normalen Modus arbeitet, und um die Kommunikationsvorrichtung 13 zu steuern, wenn der Prozessor 12 im gesicherten Modus arbeitet.
-
Die Verwaltungsinformationen 233 werden mit Bezug auf 10 beschrieben.
-
Wie in (a) von 10 gezeigt, verknüpfen die Verwaltungsinformationen 233 eine virtuelle Adresse und eine physikalische Adresse. Hierbei bedeutet eine virtuelle Adresse eine Adresse in einem Speicherbereich, der von einer virtuellen Maschine verwendet wird, während eine physikalische Adresse eine Adresse im Speicher 11 bedeutet.
-
In den Verwaltungsinformationen 233 ist die virtuelle Adresse VA1 eine virtuelle Adresse des ersten Vorrichtungsbereichs 213, die virtuelle Adresse VA2 ist eine virtuelle Adresse des zweiten Vorrichtungsbereichs 232, und die physikalische Adresse PA1 ist eine physikalische Adresse der Kommunikationsvorrichtung 13.
-
Gemäß den in (a) von 10 gezeigten Verwaltungsinformationen 233 können sowohl der erste Vorrichtungsbereich 213 als auch der zweite Vorrichtungsbereich 232 zum Steuern der Kommunikationsvorrichtung 13 verwendet werden.
-
Wenn hierbei der Schalter 44B eine Änderung vornimmt, um die Verknüpfung zwischen der virtuellen Adresse VA2 und der physikalischen Adresse PA1 zu eliminieren, ändert sich der Zustand in den in (b) von 10 gezeigten Zustand, so dass die Steuerung der Kommunikationsvorrichtung 13 unter Verwendung des ersten Vorrichtungsbereichs 213 erlaubt ist, wobei ferner die Steuerung der Kommunikationsvorrichtung 13 unter Verwendung des zweiten Vorrichtungsbereichs 232 verboten ist.
-
11 ist eine erläuternde Zeichnung, die die Stellen der Vorrichtungsbereiche im Speicher 11 in der vorliegenden Ausführungsform zeigt.
-
Teil (a) von 11 zeigt erste Stellen von Vorrichtungsbereichen im Speicher 11. Die in (a) von 11 gezeigten Stellen sind Stellen von Vorrichtungsbereichen im Speicher 11, wenn der Überwacher 43 bestimmt, dass ein Überwachungsziel keine Anomalie aufweist. Mit anderen Worten, die in (a) von 11 gezeigten Stellen befinden sich im Speicher 11, bevor der Schalter 44B den Zustand umschaltet.
-
Teil (a) von 11 zeigt den gleichen Zustand wie denjenigen des in 9 gezeigten Speichers 11, wobei der erste Vorrichtungsbereich 213 im geschützten Bereich 21 angeordnet ist, während der zweite Vorrichtungsbereich 232 im ungeschützten Bereich 22 angeordnet ist.
-
Teil (b) von 11 zeigt eine zweite Stelle eines Vorrichtungsbereichs im Speicher 11. Die in (b) von 11 gezeigte Stelle ist eine Stelle eines Vorrichtungsbereichs im Speicher 11, wenn der Überwacher 43 bestimmt, dass ein Überwachungsziel eine Anomalie aufweist. Mit anderen Worten, die in (b) von 11 gezeigte Stelle ist diejenige im Speicher 11, nachdem der Schalter 44B den Zustand umschaltet.
-
Wie in (b) von 11 gezeigt, ist nach dem Umschalten des Zustands durch den Schalter 44B der erste Vorrichtungsbereich 213 bereit, während der zweite Vorrichtungsbereich 232 eliminiert ist.
-
Wenn der Prozessor 12 im normalen Modus arbeitet, kann auf diese Weise die Kommunikation unter Verwendung der Kommunikationsvorrichtung 13 verboten werden, oder mit anderen Worten, die zweite Vorrichtungssteuereinrichtung 32A kann deaktiviert werden.
-
Es soll die Verarbeitung beschrieben werden, die von der Informationsverarbeitungsvorrichtung 10B durchgeführt wird, die eine Konfiguration wie oben aufweist.
-
12 ist ein Flussdiagramm, das die von der Informationsverarbeitungsvorrichtung 10B gemäß der vorliegenden Ausführungsform durchgeführte Verarbeitung zeigt.
-
Wie in 12 gezeigt, überwacht der Überwacher 43 in Schritt S311 einen Speicherbereich, der ein Überwachungsziel ist.
-
In Schritt S312 bestimmt der Überwacher 43, ob der Speicherbereich, der ein Überwachungsziel bei der Überwachung in Schritt S311 ist, eine Anomalie aufweist. Wenn der Überwacher 43 bestimmt, dass eine Anomalie vorliegt (Ja in Schritt S312), wird die Verarbeitung mit Schritt S313 fortgesetzt, andernfalls (Nein in Schritt S312) endet eine Reihe der in 12 gezeigten Prozesse.
-
In Schritt S313 ändert der Schalter 44B die Verwaltungsinformationen 233, um die zweite Vorrichtungssteuereinrichtung 32A zu deaktivieren. Nach dem Ende von Schritt S313 beendet die Informationsverarbeitungsvorrichtung 10B die Reihe der in 12 gezeigten Prozesse.
-
Wenn die Informationsverarbeitungsvorrichtung 10B bestimmt, dass ein Überwachungsziel eine Anomalie aufweist, indem sie die Reihe der in 12 gezeigten Prozesse durchführt, führt die Informationsverarbeitungsvorrichtung 10B eine Steuerung durch, um die Kommunikation durch die Vorrichtungssteuereinrichtung (d.h. die zweite Vorrichtungssteuereinrichtung 32A), die im normalen Modus arbeitet, zu verbieten und die Kommunikation durch die Vorrichtungssteuereinrichtung (d.h. die erste Vorrichtungssteuereinrichtung 41), die im gesicherten Modus arbeitet, zu erlauben. Dementsprechend wird dadurch vermieden, dass die Kommunikation durch die Vorrichtungssteuereinrichtung, die im gesicherten Modus arbeitet, durch die Kommunikation durch die Vorrichtungssteuereinrichtung, die im normalen Modus arbeitet, vereitelt wird, wobei ferner die Vereitelung der Ausgabe eines Überwachungsergebnisses nach außen verhindert wird.
-
[Ausführungsform 4]
-
Die vorliegende Ausführungsform beschreibt einen weiteren Aspekt von beispielsweise einer Informationsverarbeitungsvorrichtung, die die Vereitelung der Ausgabe eines Überwachungsergebnisses nach außen verhindert.
-
Die Informationsverarbeitungsvorrichtung 10C gemäß der vorliegenden Ausführungsform kann mit einer externen Vorrichtung kommunizieren, indem außerhalb von Anwendungen, die im normalen Modus arbeiten, eine spezifische Anwendung die Kommunikationsvorrichtung 13 unter Verwendung der in einem gesicherten Modus arbeitenden ersten Vorrichtungssteuereinrichtung 41 steuert.
-
13 ist ein schematisches Schaubild, das konzeptartig eine Konfiguration der Informationsverarbeitungsvorrichtung 10C gemäß der vorliegenden Ausführungsform zeigt.
-
Die Informationsverarbeitungsvorrichtung 10C ist ähnlich zu der Informationsverarbeitungsvorrichtung 10 gemäß Ausführungsform 1, enthält jedoch eine Prüfeinrichtung 45, die im gesicherten Modus arbeitet.
-
Die Prüfeinrichtung 45 ist eine Funktionseinheit, die eine Überprüfung in Bezug auf die Steueranwendung 36A durchführt. Genauer, wenn die Prüfeinrichtung 45 überprüft, dass eine digitale Signatur, die zu den von der Steueranwendung 36A ausgegebenen Daten hinzugefügt wurde, oder das Verhalten der Steueranwendung 36A angemessen ist, erlaubt die Steueranwendung 36A die Steuerung der Kommunikationsvorrichtung 13 unter Verwendung der ersten Vorrichtungssteuereinrichtung 41. Dementsprechend kann die Steueranwendung 36A mit der externen Vorrichtung unter Verwendung der ersten Vorrichtungssteuereinrichtung 41, die im gesicherten Modus arbeitet, kommunizieren.
-
Im Folgenden wird (1) der Fall beschrieben, in dem die Prüfeinrichtung 45 eine digitale Signatur überprüft, und (2) der Fall, in dem die Prüfeinrichtung 45 das Verhalten der Steueranwendung 36A überprüft.
-
(1) Der Fall, in dem die Prüfeinrichtung 45 die digitale Signatur überprüft
-
14 ist ein schematisches Schaubild, das ein erstes Beispiel für eine funktionale Konfiguration der Informationsverarbeitungsvorrichtung 10C gemäß der vorliegenden Ausführungsform zeigt.
-
Wie in 14 gezeigt, umfasst die Informationsverarbeitungsvorrichtung 10C einen Speicher 11, einen Prozessor 12 und eine Kommunikationsvorrichtung 13.
-
Der Speicher 11 enthält einen geschützten Bereich 21 und einen ungeschützten Bereich 22.
-
Der geschützte Bereich 21 enthält Überwachungsinformationen 211.
-
Der ungeschützte Bereich 22 umfasst den HV-Bereich 220, den VM1-Bereich 221, den VM2-Bereich 222, ..., und den VMn-Bereich 22n.
-
Der Prozessor 12 führt ein Programm unter Verwendung des Speichers 11 aus, um die Signaturprüfeinrichtung 46 und den Signaturanbieter 54 zu implementieren. Die Signaturprüfeinrichtung 46 ist eine Funktionseinheit, die von dem im gesicherten Modus arbeitenden Prozessor 12 implementiert wird, und ist ein Beispiel für die Prüfeinrichtung 45.
-
Der Signaturanbieter 54 ist eine Funktionseinheit, die von dem im normalen Modus arbeitenden Prozessor 12 implementiert wird.
-
Der Signaturanbieter 54 ist eine Funktionseinheit, die die Anwendung 51 enthält, und fügt den Daten, die die Anwendung 51A an die externe Vorrichtung ausgeben soll, eine digitale Signatur hinzu. Der Signaturanbieter 54 erhält Daten, die die Anwendung 51A an die externe Vorrichtung ausgeben soll, erzeugt eine digitale Signatur unter Verwendung eines geheimen Schlüssels der Anwendung 51A basierend auf den erhaltenen Daten und fügt die erstellte digitale Signatur zu den Daten hinzu. Die Anwendung 51A stellt der Signaturprüfeinrichtung 46 die Daten zur Verfügung, zu denen vom Signaturanbieter 54 die digitale Signatur hinzugefügt wurde.
-
Die Signaturprüfeinrichtung 46 ist eine Funktionseinheit, die die von der Anwendung 51A bereitgestellten Daten mit einer hinzugefügten digitalen Signatur erhält und die erhaltene digitale Signatur unter Verwendung eines öffentlichen Schlüssels der Anwendung 51A überprüft. Die Signaturprüfeinrichtung 46 überträgt Daten, deren digitale Signatur erfolgreich überprüft wurde, indem sie die Kommunikationsvorrichtung 13 unter Verwendung der ersten Vorrichtungssteuereinrichtung 41 steuert. Es ist zu beachten, dass die Signaturprüfeinrichtung 46 die Kommunikationsvorrichtung 13 so steuert, dass sie keine Daten überträgt, deren digitale Signatur nicht erfolgreich überprüft wurde.
-
Auf diese Weise kann die Anwendung 51A mit der externen Vorrichtung unter Verwendung der ersten Vorrichtungssteuereinrichtung 41, die im gesicherten Modus arbeitet, nur dann kommunizieren, wenn die Daten durch eine Überprüfung, die eine digitale Signatur verwendet, als authentifiziert bestimmt werden.
-
(2) Der Fall, in dem die Prüfeinrichtung 45 das Verhalten der Steueranwendung 36A überprüft
-
15 ist ein schematisches Schaubild, das ein zweites Beispiel für eine funktionale Konfiguration der Informationsverarbeitungsvorrichtung 10D gemäß der vorliegenden Ausführungsform zeigt.
-
Wie in 15 gezeigt, umfasst die Informationsverarbeitungsvorrichtung 10D einen Speicher 11, einen Prozessor 12 und eine Kommunikationsvorrichtung 13.
-
Der Speicher 11 enthält einen geschützten Bereich 21 und einen ungeschützten Bereich 22.
-
Der geschützte Bereich 21 enthält Überwachungsinformationen 211 und Verhaltensinformationen 214.
-
Verhaltensinformationen 214 sind Informationen, die einen Zustand angeben, der zeigt, dass das Verhalten angemessen ist (ein angemessener Verhaltenszustand). Zu den Verhaltensinformationen 214 gehören beispielsweise Informationen, die Zeitintervalle angeben, in denen die Anwendung 51 vorbestimmte Informationen überträgt, und/oder Informationen, die die Größe eines Kommunikationspakets angeben, das die Anwendung 51 überträgt.
-
Der ungeschützte Bereich 22 umfasst den HV-Bereich 220, den VM1-Bereich 221, den VM2-Bereich 222, ..., den VMn-Bereich 22n und den Vorrichtungsbereich 231.
-
Der Prozessor 12 führt ein Programm unter Verwendung des Speichers 11 aus, um eine Verhaltensprüfeinrichtung 47 und eine Anwendung 51B zu implementieren. Die Verhaltensprüfeinrichtung 47 ist eine Funktionseinheit, die von dem im gesicherten Modus arbeitenden Prozessor 12 implementiert wird, und ist ein Beispiel für die Prüfeinrichtung 45. Die Anwendung 51B ist eine Funktionseinheit, die von dem im normalen Modus arbeitenden Prozessor 12 implementiert wird.
-
Die Anwendung 51B stellt der Verhaltensprüfeinrichtung 47 Kommunikationsdaten bereit, die an die externe Vorrichtung übertragen werden sollen.
-
Die Verhaltensprüfeinrichtung 47 ist eine Funktionseinheit, die das Verhalten der Anwendung 51B überprüft. Die Verhaltensprüfeinrichtung 47 erhält die Verhaltensinformationen 214, dass der geschützte Bereich 21 über Daten, die an die externe Vorrichtung übertragen werden sollen, verfügt oder diese von der Anwendung 51B erhält. Wenn die erhaltenen Daten die entsprechende Verhaltensbedingung erfüllen, die durch die Verhaltensinformationen 214 angegeben werden, überträgt die Verhaltensprüfeinrichtung 47 die Daten, indem sie die Kommunikationsvorrichtung 13 unter Verwendung der ersten Vorrichtungssteuereinrichtung 41 steuert. Es ist zu beachten, dass die Verhaltensprüfeinrichtung 47 die Kommunikationsvorrichtung 13 so steuert, dass keine Daten übertragen werden, die die entsprechende Verhaltensbedingung nicht erfüllen.
-
Auf diese Weise kann die Anwendung 51B mit der externen Vorrichtung unter Verwendung der ersten Vorrichtungssteuereinrichtung 41, die im gesicherten Modus arbeitet, nur dann kommunizieren, wenn anhand des Verhaltens der Anwendung 51B bestimmt wurde, dass die Daten die entsprechende Verhaltensbedingung erfüllen.
-
[Ausführungsform 5]
-
Die vorliegende Ausführungsform beschreibt einen weiteren Aspekt von beispielsweise einer Informationsverarbeitungsvorrichtung, die die Vereitelung der Ausgabe eines Überwachungsergebnisses nach außen verhindert.
-
Wenn für ein Überwachungsziel eine Anomalie bestimmt wird, steuert die Informationsverarbeitungsvorrichtung 10E gemäß der vorliegenden Ausführungsform den Betrieb eines Fahrzeugs, oder genauer, sie steuert ein Fahrzeug so, dass das Fahrzeug einen Rückfallbetrieb durchführt.
-
Wie in 16 gezeigt, umfasst die Informationsverarbeitungsvorrichtung 10E einen Speicher 11, einen Prozessor 12 und eine Kommunikationsvorrichtung 13.
-
Der Speicher 11 enthält einen geschützten Bereich 21 und einen ungeschützten Bereich 22.
-
Der geschützte Bereich 21 enthält Überwachungsinformationen 211 und Steuerinformationen 215.
-
Die Steuerinformationen 215 dienen zum Steuern eines Fahrzeugs, um das Fahrzeug zu veranlassen, einen Rückfallbetrieb durchzuführen (auch als Rückfallsteuerung bezeichnet). Die Rückfallsteuerung umfasst beispielsweise die Steuerung, nur minimale Funktionen für das Fahren eines Fahrzeugs zu aktivieren und andere Funktionen zu deaktivieren, die Steuerung, die Geschwindigkeit eines Fahrzeugs zu verringern, und/oder die Steuerung, ein Fahrzeug zum Anhalten an einer sicheren Stelle auf einer Straße zu veranlassen.
-
Der Prozessor 12 führt ein Programm unter Verwendung des Speichers 11 aus, um eine Fahrzeugsteuereinrichtung 48 zu implementieren. Die Fahrzeugsteuereinrichtung 48 ist eine Funktionseinheit, die von dem im gesicherten Modus arbeiten den Prozessor 12 implementiert wird.
-
Wenn der Schalter 44 von der Steuerung durch die zweite Vorrichtungssteuereinrichtung 32A auf die Steuerung durch die erste Vorrichtungssteuereinrichtung 41 umschaltet, erhält die Fahrzeugsteuereinrichtung 48 Steuerinformationen 215 für die Rückfallsteuerung eines Fahrzeugs und steuert das Fahrzeug entsprechend den erhaltenen Steuerinformation 215.
-
Auf diese Weise kann die Informationsverarbeitungsvorrichtung 10E eine Rückfallsteuerung für ein Fahrzeug durchführen, wenn eine Anomalie eines Speichers erfasst wird.
-
Wie oben beschrieben worden ist, kann jede der Informationsverarbeitungsvorrichtungen gemäß den obigen Ausführungsformen die Kommunikationsvorrichtung durch den im ersten Modus arbeitenden Prozessor steuern, um mit der externen Vorrichtung zu kommunizieren. Wenn der Prozessor die Vorrichtung nur durch den Betrieb im zweiten Modus steuern und mit der externen Vorrichtung kommunizieren kann, wird die Kommunikation mit der externen Vorrichtung vereitelt, wenn die Vorrichtung oder eine Funktion, die zur Kommunikation mit der Vorrichtung verwendet wird, von einer bösartigen Anwendung angegriffen wird. Es wird angenommen, dass eine solche bösartige Anwendung im zweiten Modus arbeitet. Im Gegensatz dazu arbeitet der Prozessor gemäß der Informationsverarbeitungsvorrichtung nach einem derobigen Aspekte im ersten Modus, um die Vorrichtung so zu steuern, dass sie mit der externen Vorrichtung kommuniziert, und somit kann die Vereitelung der Kommunikation durch eine bösartige Anwendung, die im zweiten Modus arbeitet, verhindert werden. Dementsprechend kann die Informationsverarbeitungsvorrichtung gemäß dem Aspekt die Vereitelung der Ausgabe eines Überwachungsergebnisses nach außen verhindern.
-
Ferner kann die Informationsverarbeitungsvorrichtung von einem Zustand der Steuerung der Vorrichtung im zweiten Modus in einen Zustand der Steuerung der Vorrichtung im ersten Modus umschalten, und kann somit den Betrieb für die Kommunikation im zweiten Modus zu einer allgemeinen Zeit durchführen und die Steuerung der Vorrichtung im ersten Modus dann durchführen, wenn es notwendig ist, die Vorrichtung im ersten Modus zu steuern. Dementsprechend ergeben sich die vorteilhaften Wirkungen, dass die Verarbeitung der Steuerung der Vorrichtung im ersten Modus mit weniger Computerressourcen durchgeführt wird und/oder weniger Energie verbraucht wird. Somit kann die Informationsverarbeitungsvorrichtung die Vereitelung der Ausgabe eines Überwachungsergebnisses nach außen verhindern, während sie weniger Computerressourcen verwendet und/oder weniger Energie verbraucht.
-
Wenn ein Bereich des Speichers, der ein Überwachungsziel ist, eine Anomalie aufweist, schaltet die Informationsverarbeitungsvorrichtung den Zustand in einen Zustand der Steuerung der Vorrichtung im ersten Modus um und kann so Informationen, die anzeigen, dass eine Anomalie auftritt, an die externe Vorrichtung sicherer übertragen. Dementsprechend kann die Informationsverarbeitungsvorrichtung die Vereitelung der Ausgabe eines Überwachungsergebnisses nach außen sicherer verhindern.
-
Wenn ferner der Zustand in einen Zustand der Steuerung der Vorrichtung im ersten Modus umgeschaltet wird, verhindert die Informationsverarbeitungsvorrichtung die Steuerung der Vorrichtung im zweiten Modus und kann somit die Vereitelung der Kommunikation, die durch die Steuerung der Vorrichtung im ersten Modus ausgeführt wird, durch die Kommunikation, die durch die Steuerung der Vorrichtung im zweiten Modus ausgeführt wird, verhindern. Dementsprechend kann die Informationsverarbeitungsvorrichtung die Vereitelung der Ausgabe eines Überwachungsergebnisses nach außen sicherer verhindern.
-
Ferner steuert die Informationsverarbeitungsvorrichtung die Vorrichtung im ersten Modus unter Verwendung des geschützten Bereichs des Speichers, und steuert die Vorrichtung im zweiten Modus unter Verwendung des ungeschützten Bereichs des Speichers. Dementsprechend kann die Informationsverarbeitungsvorrichtung die Vereitelung der Ausgabe eines Überwachungsergebnisses nach außen verhindern.
-
Ferner steuert die Informationsverarbeitungsvorrichtung die Vorrichtung im ersten Modus oder im zweiten Modus unter Verwendung des ungeschützten Bereichs des Speichers. Dementsprechend kann die Informationsverarbeitungsvorrichtung die Vereitelung der Ausgabe eines Überwachungsergebnisses nach außen leichter verhindern.
-
Ferner überprüft die Informationsverarbeitungsvorrichtung im ersten Modus eine digitale Signatur, die von einer Anwendung, die im zweiten Modus arbeitet, zu den Daten hinzugefügt wurde, und überträgt erfolgreich überprüfte Daten, und kann somit Daten übertragen, die eine authentifizierte Anwendung übertragen soll, indem sie die Vorrichtung im ersten Modus steuert. Somit kann die Informationsverarbeitungsvorrichtung sowohl die Vereitelung der Ausgabe eines Überwachungsergebnisses nach außen als auch die Vereitelung der Kommunikation durch eine authentifizierte Anwendung verhindern.
-
Ferner überprüft die Informationsverarbeitungsvorrichtung im ersten Modus das Verhalten einer Anwendung, die im zweiten Modus arbeitet und erfolgreich überprüfte Daten überträgt, und kann somit Daten übertragen, die eine authentifizierte Anwendung übertragen soll, indem sie die Vorrichtung im ersten Modus steuert. Somit kann die Informationsverarbeitungsvorrichtung sowohl die Vereitelung der Ausgabe eines Überwachungsergebnisses nach außen als auch die Vereitelung der Kommunikation durch eine authentifizierte Anwendung verhindern.
-
Außerdem kann die Informationsverarbeitungsvorrichtung eine Rückfallsteuerung für ein Fahrzeug durchführen, wenn die Steuerung der Vorrichtung vom ersten Modus in den zweiten Modus umgeschaltet wird. Dementsprechend kann die Informationsverarbeitungsvorrichtung das Fahrzeug so steuern, dass das Fahrzeug veranlasst wird, sicher anzuhalten. Somit kann die Informationsverarbeitungsvorrichtung die Vereitelung der Ausgabe eines Überwachungsergebnisses nach außen verhindern, während sie das Fahrzeug zum sicheren Anhalten veranlasst.
-
Außerdem kann die Informationsverarbeitungsvorrichtung die Vereitelung der Ausgabe eines Überwachungsergebnisses nach außen verhindern, indem sie den Prozessor verwendet, der zwischen dem Betrieb im ersten Modus und dem Betrieb im zweiten Modus in einer Zeitmultiplexmethode umschaltet.
-
Ferner kann die Informationsverarbeitungsvorrichtung die Vereitelung der Ausgabe eines Überwachungsergebnisses nach außen verhindern, indem sie den Prozessor verwendet, der mehrere Kerne enthält, die einen Kern, der im ersten Modus arbeitet, und einen Kern, der im zweiten Modus arbeitet, enthalten.
-
Eine ECU, die als Informationsverarbeitungsvorrichtung dient, kann die Vereitelung der Ausgabe eines Überwachungsergebnisses nach außen verhindern.
-
Es ist zu beachten, dass jedes der Elemente in den Ausführungsformen aus exklusiver Hardware konfiguriert sein kann, oder durch die Ausführung eines für das Element geeigneten Softwareprogramms implementiert werden kann. Jedes der Elemente kann durch einen Programmausführer wie beispielsweise eine CPU oder einen Prozessor implementiert werden, der ein Softwareprogramm liest und ausführt, das auf einem Aufzeichnungsmedium wie einer Festplatte oder einem Halbleiterspeicher aufgezeichnet ist. Hierbei ist das Softwareprogramm, das die Vorrichtungen gemäß den obigen Ausführungsformen implementiert, ein Programm wie folgt.
-
Genauer, dieses Programm veranlasst einen Computer, ein Informationsverarbeitungsverfahren auszuführen, das von einer Informationsverarbeitungsvorrichtung ausgeführt wird, die umfasst: eine Vorrichtung, die mit einer externen Vorrichtung außerhalb der Informationsverarbeitungsvorrichtung kommuniziert; einen Speicher, der einen geschützten Bereich und einen ungeschützten Bereich enthält; und einen Prozessor, der in einem ersten Modus und einem zweiten Modus arbeitet, wobei der erste Modus ein Modus ist, in dem der Zugriff auf den geschützten Bereich des Speichers und der Zugriff auf den ungeschützten Bereich des Speichers erlaubt sind, und der zweite Modus ein Modus ist, in dem der Zugriff auf den geschützten Bereich des Speichers verboten ist und der Zugriff auf den ungeschützten Bereich des Speichers erlaubt ist, wobei das Informationsverarbeitungsverfahren umfasst: Steuern der Vorrichtung durch den im ersten Modus arbeitenden Prozessor; Bewirken, dass eine oder mehrere virtuelle Maschinen durch den im zweiten Modus arbeitenden Prozessor betrieben werden; und Steuern der Vorrichtung durch den im zweiten Modus arbeitenden Prozessor.
-
Das Vorstehende bietet eine Beschreibung der Informationsverarbeitungsvorrichtungen gemäß einem oder mehreren Aspekten, basierend auf den Ausführungsformen, dennoch ist die vorliegende Erfindung nicht auf diese Ausführungsformen beschränkt. Verschiedene Modifikationen der Ausführungsformen, die vom Fachmann erdacht werden können, und Kombinationen von Elementen in verschiedenen Ausführungsformen können in den Anwendungsbereich des einen oder der mehreren Aspekte enthalten sein, solange die Modifikationen und die Kombinationen nicht vom Erfindungsgedanken abweichen.
-
[Gewerbliche Anwendbarkeit]
-
Die vorliegende Erfindung ist auf eine Vorrichtung zur Anomalieerfassung in einer Virtuelle-Maschine-Umgebung anwendbar.
-
Bezugszeichenliste
-
- 10, 10A, 10B, 10C, 10D, 10E, 90
- Informationsverarbeitungsvorrichtung
- 11
- Speicher
- 12
- Prozessor
- 13
- Kommunikationsvorrichtung
- 20
- Sicherheitsüberwacher
- 21
- geschützter Bereich
- 22
- ungeschützter Bereich
- 31
- Zugriffssteuereinrichtung
- 32
- Vorrichtungssteuereinrichtung
- 32A
- zweite Vorrichtungssteuereinrichtung
- 33, 35, 42
- Kommunikationssteuereinrichtung
- 34, 51, 51A, 51B
- Anwendung
- 36, 36A
- Steueranwendung
- 41
- erste Vorrichtungssteuereinrichtung
- 43, 91
- Überwacher (Überwachungseinrichtung)
- 44, 44A, 44B
- Schalter
- 45
- Prüfeinrichtung
- 46
- Signaturprüfeinrichtung
- 47
- Verhaltensprüfeinrichtung
- 48
- Fahrzeugsteuereinrichtung
- 52
- Virtuelle-Maschine-Verwalter
- 54
- Signatur-Anbieter
- 211
- Überwachungsinformationen
- 212, 233
- Verwaltungsinformationen
- 213
- erster Vorrichtungsbereich
- 214
- Verhaltensinformationen
- 215
- Steuerinformationen
- 220
- HV-Bereich
- 221
- VM1-Bereich
- 222
- VM2-Bereich
- 22n
- VMn-Bereich
- 231
- Vorrichtungsbereich
- 232
- zweiter Vorrichtungsbereich
- HV
- Hypervisor
- VM1, VM2, VM3, VMn
- virtuelle Maschine
-
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
-