-
Technisches Gebiet
-
Die vorliegende Erfindung bezieht sich auf ein Verfahren, System, einen Vermittlungsserver, einen Client und ein Computerprogramm zum Löschen von Daten, während gleichzeitig eine bestimmte Sicherheitsstufe aufrechterhalten wird, ohne dafür Benutzerkomfort zu opfern.
-
Hintergrund
-
Verfahren zum Verschlüsseln und Nutzen von Daten, um unter Geheimhaltung fallende Daten zu schützen, sind weithin verfügbar. Normalerweise werden Daten unter Verwendung eines Verschlüsselungsschlüssels verschlüsselt oder entschlüsselt. Beispielsweise offenbart die Patentliteratur 1 ein System zum Verwalten einer Dokumentennutzung. Wenn in diesem System ein auf einem Dokumentenverwaltungsserver gespeichertes elektronisches Dokument an einem Client-Endgerät bearbeitet wird, werden zum Aktualisieren des Dokuments nur die Differenzdaten an den Dokumentenverwaltungsserver übertragen. Die Patentliteratur 2 offenbart ein Dateiaktualisierungssystem für die Teamarbeit zum Verschlüsseln einer Differenzdatei und Übertragen dieser Datei an einen Zugriffsserver.
-
Das System in der Patentliteratur 2 bewahrt die Sicherheit, indem es eine Differenzdatei unter Verwendung eines Verschlüsselungsschlüssels verschlüsselt. In den meisten Fällen ist ein Verschlüsselungsschlüssel normalerweise mit einem Anmeldekennwort geschützt. Wenn das Kennwort bekannt wird, erraten wird oder dergleichen, kann der Verschlüsselungsschlüssel sogar in den Fällen wiedererlangt werden, bei denen eine starke Verschlüsselung durchgeführt wurde. Somit ist ein Herunterladen von als geheim eingestuften Daten unter der Bedingung zulässig, dass die Datenübertragung mit einer Zeitgrenze oder in festgelegten Zeitabständen mit einem Server ausgeführt wird; wenn die Bedingung nicht erfüllt wird, werden die als geheim eingestuften Daten automatisch gelöscht.
-
Die Patentliteratur 3 offenbart beispielsweise ein Inhalteverwaltungssystem (content management system) zum Löschen einer als Duplikat vorhandenen kopierten Datei, wenn eine Löschanforderung von einer Client-Seite empfangen wird oder wenn der Verfügbarkeitszeitraum der kopierten Datei des duplizierten Inhalts abgelaufen ist.
-
Liste der Entgegenhaltungen
-
Patentliteratur
-
- Ungeprüfte japanische Patentanmeldung, Veröffentlichungsnummer 2008-003847
- Ungeprüfte japanische Patentanmeldung, Veröffentlichung (Übersetzung der PCT-Anmeldung) Nummer 2007-531071
- Ungeprüfte japanische Patentanmeldung, Veröffentlichungsnummer 2006-252312
-
Zusammenfassung der Erfindung
-
Technisches Problem
-
Selbst wenn ein Verschlüsselungsschlüssel gelesen wird, kann ein Löschen einer als Duplikat vorhandenen, kopierten Datei die Möglichkeit verhindern, dass als geheim eingestufte Daten bekanntwerden. Ein Problem kann jedoch darin bestehen, dass dann, wenn die Bedingung zum Löschen der als Duplikat vorhandenen, kopierten Datei weniger streng ist, Verlust, Diebstahl oder dergleichen von als geheim eingestuften Daten möglicherweise nicht erkennbar sind; wenn die Bedingung streng ist, kann es sein, dass die Bedingung selbst bei einem berechtigten Nutzer nicht erfüllt wird und die als geheim eingestuften Daten somit abhängig von der jeweiligen Umgebung, beispielsweise dem Zustand von Funkwellen oder der verbleibenden Batterieleistung, gelöscht werden können.
-
Im Licht dieser Umstände besteht eine Aufgabe der vorliegenden Erfindung darin, ein Verfahren, ein System, einen Vermittlungsserver, einen Client und ein Computerprogramm zum Löschen einer kopierten Datei bereitzustellen, wobei eine Masterdatei dupliziert wird, während gleichzeitig eine bestimmte Sicherheitsstufe aufrechterhalten wird.
-
Lösung des Problems
-
Ein Verfahren gemäß einem ersten Aspekt der Erfindung zum Erfüllen der obigen Aufgabe ist in einem System ausführbar, zu dem ein Server, ein Client und ein Vermittlungsserver gehört. Der Server speichert eine Masterdatei. Der Client ist mit dem Server so verbunden, dass er in der Lage ist, damit eine Datenübertragung durchzuführen. Der Vermittlungsserver ist mit dem Server und dem Client so verbunden, dass er in der Lage ist, damit eine Datenübertragung durchzuführen. Das System aktualisiert eine Datei unter Verwendung einer kopierten Datei, in der die Masterdatei dupliziert ist. Der Vermittlungsserver empfängt und speichert die kopierte Datei, in der die auf dem Server gespeicherte Masterdatei dupliziert ist, und erzeugt Daten eines privaten Schlüssels und zu den Daten des privaten Schlüssels gehörende Daten eines öffentlichen Schlüssels und überträgt die erzeugten Daten des öffentlichen Schlüssels und die kopierte Datei an den Client. Der Client empfängt und speichert die kopierte Datei und die Daten des öffentlichen Schlüssels. In einem Fall, in dem die kopierte Datei aktualisiert wird, verschlüsselt der Client Differenzdaten zu einer beim Aktualisieren entstehenden Differenz unter Verwendung der Daten des öffentlichen Schlüssels und überträgt die Differenzdaten an den Vermittlungsserver. Der Client ermittelt, ob eine Bedingung für einen sicheren Zustand erfüllt ist, wenn ein Prozess zum Aktualisieren der kopierten Datei möglich wird, und löscht die kopierte Datei, wenn festgestellt wird, dass die Bedingung nicht erfüllt ist.
-
Für ein Verfahren gemäß einem zweiten Aspekt der Erfindung kann es sich bei der Bedingung des ersten Aspekts um Daten zu einem physischen Standort handeln, an dem der Client genutzt wird.
-
Für ein Verfahren gemäß einem dritten Aspekt der Erfindung kann der Client in dem ersten Aspekt eine Zeit messen, die seit dem Empfang der Daten des öffentlichen Schlüssels und der kopierten Datei von dem Vermittlungsserver verstrichen ist, und ermitteln, ob die Bedingung erfüllt ist, und dabei eine Zeit verwenden, die seit einem vordefinierten Zeitpunkt verstrichen ist.
-
Für ein Verfahren gemäß einem vierten Aspekt der Erfindung kann der Client in einem beliebigen des ersten bis dritten Aspekts der Erfindung in einem Fall, in dem eine Eincheck-Anforderung für die kopierte Datei angenommen wird, die Daten des öffentlichen Schlüssels und die kopierte Datei löschen, und in einem Fall, in dem die Eincheck-Anforderung für die kopierte Datei vom Client angenommen wird, kann der Vermittlungsserver die Masterdatei auf dem Server durch die gespeicherte kopierte Datei ersetzen und die Daten des öffentlichen Schlüssels, die zu den Daten des öffentlichen Schlüssels gehörenden Daten des privaten Schlüssels und die kopierte Datei löschen.
-
Zu einem System gemäß einem fünften Aspekt der Erfindung zum Erfüllen der obigen Aufgabe gehört ein Server, der eine Masterdatei speichert, ein Client, der mit dem Server so verbunden ist, dass er in der Lage ist, damit eine Datenübertragung durchzuführen, und ein Vermittlungsserver, der mit dem Server und dem Client so verbunden ist, dass er in der Lage ist, damit eine Datenübertragung durchzuführen. Das System aktualisiert eine Datei unter Verwendung einer kopierten Datei, in der die Masterdatei dupliziert ist. Zu dem Vermittlungsserver gehört ein Erfassungsmittel für kopierte Dateien zum Erfassen und Speichern der kopierten Datei, in der die auf dem Server gespeicherte Masterdatei dupliziert ist, und ein Übertragungsmittel zum Erzeugen von Daten eines privaten Schlüssels und von zu den Daten des privaten Schlüssels gehörenden Daten eines öffentlichen Schlüssels sowie zum Übertragen der erzeugten Daten des öffentlichen Schlüssels und der kopierten Datei an den Client. Der Client enthält ein Empfangsmittel zum Empfangen und Speichern der kopierten Datei und der Daten des öffentlichen Schlüssels, ein Übertragungsmittel für Differenzdaten, um in einem Fall, in dem die kopierte Datei aktualisiert wird, Differenzdaten zu einer beim Aktualisieren entstehenden Differenz unter Verwendung der Daten des öffentlichen Schlüssels zu verschlüsseln und die Differenzdaten an den Vermittlungsserver zu übertragen, ein Bedingungsermittlungsmittel zum Ermitteln, ob eine Bedingung für einen sicheren Zustand erfüllt ist, wenn ein Prozess zum Aktualisieren der kopierten Datei möglich wird, und ein Löschmittel für kopierte Dateien zum Löschen der kopierten Datei, wenn festgestellt wird, dass die Bedingung nicht erfüllt wird.
-
Bei einem System gemäß einem sechsten Aspekt der Erfindung kann es sich bei der Bedingung des fünften Aspekts um Daten zu einem physischen Standort handeln, an dem der Client genutzt wird.
-
Bei einem System gemäß einem siebten Aspekt der Erfindung kann der Client in dem fünften Aspekt weiterhin ein Zeitmessmittel zum Messen einer Zeit enthalten, die seit dem Empfang der Daten des öffentlichen Schlüssels und der kopierten Datei von dem Vermittlungsserver verstrichen ist, und das Bedingungsermittlungsmittel kann ermitteln, ob die Bedingung erfüllt ist, und dabei eine Zeit verwenden, die seit einem vordefinierten Zeitpunkt verstrichen ist.
-
Bei einem System gemäß einem achten Aspekt der Erfindung kann der Client in einem beliebigen des fünften bis siebten Aspekts der Erfindung weiterhin ein Löschmittel enthalten, um für den Fall, dass eine Eincheck-Anforderung für die kopierte Datei angenommen wird, die Daten des öffentlichen Schlüssels und die kopierte Datei zu löschen, und der Vermittlungsserver kann weiterhin ein Löschmittel für Schlüsseldaten/kopierte Dateien enthalten, um in einem Fall, in dem die Eincheck-Anforderung für die kopierte Datei vom Client angenommen wird, die Masterdatei auf dem Server durch die gespeicherte kopierte Datei zu ersetzen und die Daten des öffentlichen Schlüssels, die zu den Daten des öffentlichen Schlüssels gehörenden Daten des privaten Schlüssels und die kopierte Datei zu löschen.
-
Ein Vermittlungsserver gemäß einem neunten Aspekt der Erfindung zum Erfüllen der obigen Aufgabe ist mit einem Server und einem Client so verbunden, dass er in der Lage ist, damit einen Datenaustausch durchzuführen. Der Server speichert eine Masterdatei. Der Client ist mit dem Server so verbunden, dass er in der Lage ist, damit eine Datenübertragung durchzuführen. Der Vermittlungsserver enthält ein Erfassungsmittel für kopierte Dateien zum Erfassen und Speichern der kopierten Datei, in der die auf dem Server gespeicherte Masterdatei dupliziert ist, ein Übertragungsmittel zum Erzeugen von Daten eines privaten Schlüssels und zu den Daten des privaten Schlüssels gehörende Daten eines öffentlichen Schlüssels sowie zum Übertragen der erzeugten Daten des öffentlichen Schlüssels und der kopierten Datei an den Client und ein Löschmittel für Schlüsseldaten/kopierte Dateien, um in einem Fall, in dem die Eincheck-Anforderung für die kopierte Datei vom Client angenommen wird, die Masterdatei auf dem Server durch die gespeicherte kopierte Datei zu ersetzen und die Daten des öffentlichen Schlüssels, die zu den Daten des öffentlichen Schlüssels gehörenden Daten des privaten Schlüssels und die kopierte Datei zu löschen.
-
Ein Computerprogramm gemäß einem zehnten Aspekt der Erfindung zum Erfüllen der obigen Aufgabe ist auf einem Vermittlungsserver ausführbar. Der Vermittlungsserver ist mit einem Server und einem Client so verbunden, dass er in der Lage ist, damit eine Datenübertragung durchzuführen. Der Server speichert eine Masterdatei. Der Client ist mit dem Server so verbunden, dass er in der Lage ist, damit eine Datenübertragung durchzuführen. Das Computerprogramm veranlasst den Vermittlungsserver, als Erfassungsmittel für kopierte Dateien zum Erfassen und Speichern der kopierten Datei, in der die auf dem Server gespeicherte Masterdatei dupliziert ist, zu arbeiten, als Übertragungsmittel zum Erzeugen von Daten eines privaten Schlüssels und Daten eines zu dem privaten Schlüssel gehörenden öffentlichen Schlüssels und zum Übertragen der erzeugten Daten des öffentlichen Schlüssels und der kopierten Datei an den Client sowie als Löschmittel für Schlüsseldaten/kopierte Dateien, um in einem Fall, in dem die Eincheck-Anforderung für die kopierte Datei vom Client angenommen wird, die Masterdatei auf dem Server durch die gespeicherte kopierte Datei zu ersetzen und die Daten des öffentlichen Schlüssels, die zu den Daten des öffentlichen Schlüssels gehörenden Daten des privaten Schlüssels und die kopierte Datei zu löschen.
-
Ein Client gemäß einem elften Aspekt der Erfindung zum Erfüllen der obigen Aufgabe ist mit einem Server und einem Vermittlungsserver so verbunden, dass er in der Lage ist, damit einen Datenaustausch durchzuführen. Der Server speichert eine Masterdatei. Der Vermittlungsserver speichert eine kopierte Datei, in welcher der auf dem Server gespeicherte Vermittlungsserver dupliziert ist. Der Client enthält ein Empfangsmittel zum Empfangen und Speichern der kopierten Datei und der Daten des öffentlichen Schlüssels, ein Übertragungsmittel für Differenzdaten, um in einem Fall, in dem die kopierte Datei aktualisiert wird, Differenzdaten zu einer beim Aktualisieren entstehenden Differenz unter Verwendung der Daten des öffentlichen Schlüssels zu verschlüsseln und die Differenzdaten an den Vermittlungsserver zu übertragen, ein Bedingungsermittlungsmittel zum Ermitteln, ob eine Bedingung für einen sicheren Zustand erfüllt ist, wenn ein Prozess zum Aktualisieren der kopierten Datei möglich wird, und ein Löschmittel für kopierte Dateien zum Löschen der kopierten Datei, wenn festgestellt wird, dass die Bedingung nicht erfüllt wird.
-
Bei einem Client gemäß einem zwölften Aspekt der Erfindung kann es sich bei der Bedingung des elften Aspekts der Erfindung um Daten zu einem physischen Standort handeln, an dem der Client genutzt wird.
-
Bei einem Client gemäß einem dreizehnten Aspekt der Erfindung kann der Client im elften Aspekt der Erfindung weiterhin ein Zeitmessmittel zum Messen einer Zeit enthalten, die seit dem Empfang der Daten des öffentlichen Schlüssels und der kopierten Datei von dem Vermittlungsserver verstrichen ist, und das Bedingungsermittlungsmittel kann ermitteln, ob die Bedingung erfüllt ist, und dabei eine Zeit verwenden, die seit einem vordefinierten Zeitpunkt verstrichen ist.
-
Bei einem Client gemäß einem vierzehnten Aspekt der Erfindung kann der Client in einem beliebigen des elften bis dreizehnten Aspekts der Erfindung weiterhin ein Löschmittel enthalten, um für einen Fall, dass eine Eincheck-Anforderung für die kopierte Datei angenommen wird, die Daten des öffentlichen Schlüssels und die kopierte Datei zu löschen.
-
Ein Computerprogramm gemäß einem fünfzehnten Aspekt der Erfindung zum Erfüllen der obigen Aufgabe ist auf einem Client ausführbar. Der Client ist mit einem Server und einem Vermittlungsserver so verbunden, dass er in der Lage ist, damit eine Datenübertragung durchzuführen. Der Server speichert eine Masterdatei. Der Vermittlungsserver speichert eine kopierte Datei, in der die auf dem Server gespeicherte Masterdatei dupliziert ist. Das Computerprogramm veranlasst den Client, als Empfangsmittel zum Empfangen und Speichern der kopierten Datei und der Daten eines öffentlichen Schlüssels zu arbeiten, als Übertragungsmittel für Differenzdaten, um in einem Fall, in dem die kopierte Datei aktualisiert wird, Differenzdaten zu einer beim Aktualisieren entstehenden Differenz unter Verwendung der Daten des öffentlichen Schlüssels zu verschlüsseln und die Differenzdaten an den Vermittlungsserver zu übertragen, als Bedingungsermittlungsmittel zum Ermitteln, ob eine Bedingung für einen sicheren Zustand erfüllt ist, wenn ein Prozess zum Aktualisieren der kopierten Datei möglich wird, und als Löschmittel für kopierte Dateien zum Löschen der kopierten Datei, wenn festgestellt wird, dass die Bedingung nicht erfüllt wird.
-
Vorteile
-
Gemäß der vorliegenden Erfindung wird ein Aktualisierungsprozess an einer auf einem Vermittlungsserver gespeicherten Datei durchgeführt, und außerdem werden auf dem Vermittlungsserver Daten von Verschlüsselungsschlüsseln zum Verwenden beim Verschlüsseln und Entschlüsseln von Differenzdaten erzeugt. Wenn ein Client, der den Aktualisierungsprozess durchführt, abhanden kommt, gestohlen wird oder dergleichen, kann daher verhindert werden, dass die Masterdatei auf dem Server direkt manipuliert wird oder dergleichen. Wenn die Bedingung für einen sicheren Zustand nicht erfüllt ist, beispielsweise wenn während einer bestimmten Zeitspanne kein Zugriff auf eine kopierte Datei erfolgt ist oder wenn eine bestimmte Zeitspanne seit der Trennung vom Netzwerk verstrichen ist, kann die kopierte Datei zuverlässig gelöscht werden, und die Sicherheit der Masterdatei, die als geheim eingestufte Daten enthält, kann auf einer hohen Stufe aufrechterhalten werden.
-
Kurzbeschreibung der Zeichnungen
-
1 ist ein Blockschaltbild, das schematisch die Konfiguration eines Dateiaktualisierungssystem gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht.
-
2 ist ein Blockschaltbild, das schematisch die Konfiguration eines Client gemäß der Ausführungsform der vorliegenden Erfindung veranschaulicht.
-
3 ist ein Funktionsschaubild des Dateiaktualisierungssystems gemäß der Ausführungsform der vorliegenden Erfindung.
-
4 ist ein Ablaufplan, der eine Prozedur veranschaulicht, die von einer Zentraleinheit (CPU) des Client in dem Dateiaktualisierungssystem gemäß der Ausführungsform der vorliegenden Erfindung ausgeführt wird.
-
5 ist eine schematische Darstellung, die einen Aktualisierungsprozess in dem Dateiaktualisierungssystem gemäß der Ausführungsform der vorliegenden Erfindung veranschaulicht.
-
6 ist eine schematische Darstellung, die einen Prozess veranschaulicht, der stattfindet, wenn der Client in dem Dateiaktualisierungssystem gemäß der Ausführungsform der vorliegenden Erfindung gestohlen wird.
-
7 ist ein Ablaufplan, der eine Prozedur veranschaulicht, die von einer CPU eines Vermittlungsservers in dem Dateiaktualisierungssystem gemäß der Ausführungsform der vorliegenden Erfindung ausgeführt wird.
-
8 ist eine schematische Darstellung, die einen Prozess veranschaulicht, der bei einem Anfordern des Auscheckens in dem Dateiaktualisierungssystem gemäß der Ausführungsform der vorliegenden Erfindung stattfindet.
-
9 ist eine schematische Darstellung, die einen Prozess veranschaulicht, der bei einem Anfordern des Eincheckens in dem Dateiaktualisierungssystem gemäß der Ausführungsform der vorliegenden Erfindung stattfindet.
-
10 ist eine schematische Darstellung, die einen Prozess veranschaulicht, der beim Wiederherstellen einer Datei in dem Dateiaktualisierungssystem gemäß der Ausführungsform der vorliegenden Erfindung stattfindet.
-
Beschreibung von Ausführungsformen
-
Ein System gemäß einer Ausführungsform der vorliegenden Erfindung zum Löschen von Daten, während gleichzeitig eine bestimmte Sicherheitsstufe aufrechterhalten wird, ohne dafür Benutzerkomfort zu opfern, wird nachfolgend im Einzelnen auf der Grundlage der Zeichnungen beschrieben. Die weiter unten beschriebene Ausführungsform soll die in den Ansprüchen beschriebene Erfindung nicht einschränken, und es erübrigt sich zu sagen, dass nicht alle der in der Ausführungsform beschriebenen Merkmalkombinationen für das Mittel zur Problemlösung erforderlich sind. In der vorliegenden Beschreibung bezeichnet „Auschecken” ein Abrufen einer schreibfähigen Kopie einer Masterdatei, die ein Aktualisierungsziel ist, und „Einchecken” bezeichnet ein Aktualisieren einer Masterdatei mit einem aktualisierten Inhalt.
-
Die vorliegende Erfindung kann in vielen unterschiedlichen Formen ausgeführt werden und sollte nicht als auf den in der Ausführungsform beschriebenen Inhalt beschränkt ausgelegt werden. In der Ausführungsform bezieht sich die gleiche Zahl jeweils auf das gleiche Element.
-
Eine Vorrichtung, die ein Computerprogramm in einem Computersystem installiert, wird in der nachfolgenden Ausführungsform beschrieben. Wie für den Fachmann ersichtlich ist, kann die vorliegende Erfindung teilweise als ein von einem Computer ausführbares Computerprogramm verwirklicht werden. Dementsprechend kann die vorliegende Erfindung eine Ausführungsform als Hardware eines Systems zum Löschen von Daten annehmen, während gleichzeitig eine bestimmte Sicherheitsstufe aufrechterhalten wird, ohne dafür Benutzerkomfort zu opfern, eine Ausführungsform als Software oder eine Ausführungsform als Kombination von Software und Hardware. Das Computerprogramm kann auf einem von einem beliebigen Computer lesbaren Aufzeichnungsmedium aufgezeichnet sein, beispielsweise einer Festplatte, einer DVD, einer Compactdisc (CD) und einer magnetischen Speichereinheit.
-
Gemäß der Ausführungsform der vorliegenden Erfindung wird ein Aktualisierungsprozess an einer auf einem Vermittlungsserver gespeicherten Datei durchgeführt, und außerdem werden auf dem Vermittlungsserver auch Daten von Verschlüsselungsschlüsseln zum Verwenden beim Verschlüsseln und Entschlüsseln von Differenzdaten erzeugt. Wenn ein Client, der den Aktualisierungsprozess durchführt, abhanden kommt, gestohlen wird oder dergleichen, kann daher verhindert werden, dass die Masterdatei auf dem Server direkt manipuliert wird oder dergleichen. Wenn die Bedingung für einen sicheren Zustand nicht erfüllt ist, beispielsweise wenn während einer bestimmten Zeitspanne kein Zugriff auf eine kopierte Datei erfolgt ist oder wenn eine bestimmte Zeitspanne seit der Trennung vom Netzwerk verstrichen ist, kann die kopierte Datei zuverlässig gelöscht werden, und die Sicherheit der Masterdatei, welche als geheim eingestufte Daten enthält, kann auf einer hohen Stufe aufrechterhalten werden.
-
1 ist ein Blockschaltbild, das schematisch die Konfiguration eines Dateiaktualisierungssystem gemäß der Ausführungsform der vorliegenden Erfindung veranschaulicht. Bei dem Dateiaktualisierungssystem gemäß der vorliegenden Ausführungsform sind ein Server 1, der eine Masterdatei speichert, welche ein Aktualisierungsziel ist, und ein Client 2, der eine Datei aktualisiert, miteinander so verbunden, dass sie in der Lage sind, eine Datenübertragung miteinander über ein Netzwerk 3 durchzuführen. Zusätzlich ist ein Vermittlungsserver 4 mit dem Server 1 und dem Client 2 über das Netzwerk 3 so verbunden, dass er in der Lage ist, damit eine Datenübertragung durchzuführen.
-
Der Vermittlungsserver 4 enthält mindestens eine Zentraleinheit (CPU) 41, einen Arbeitsspeicher 42, eine Speichereinheit 43, eine E/A-Schnittstelle 44, eine Videoschnittstelle 45, ein Wechselplattenlaufwerk 46, eine Datenübertragungsschnittstelle 47 und einen interner Bus 48, der die oben beschriebenen Hardwareelemente verbindet.
-
Die CPU 41 ist mit den oben beschriebenen Hardwareelementen in dem Vermittlungsserver 4 über den internen Bus 48 verbunden, sie steuert den Betrieb der oben beschriebenen Hardwareelemente und führt verschiedene Softwarefunktionen in Übereinstimmung mit einem Computerprogramm 100 aus, das in der Speichereinheit 43 gespeichert ist. Der Arbeitsspeicher 42 enthält einen flüchtigen Speicher, beispielsweise einen statischen Speicher mit wahlfreiem Zugriff (SRAM) oder einen synchronen dynamischen Speicher mit wahlfreiem Zugriff (SDRAM). Beim Ausführen des Computerprogramms 100 wird ein Lademodul in den Arbeitsspeicher 42 geladen, und der Arbeitsspeicher 42 speichert temporäre Daten und dergleichen, die beim Ausführen des Computerprogramms 100 auftreten.
-
Zu der Speichereinheit 43 gehört ein interner ortsfester Speicher (Festplatte), ein Nur-Lese-Speicher (ROM) oder dergleichen. Bei dem in der Speichereinheit 43 gespeicherten Computerprogramm 100 handelt es sich um dasjenige, das durch das Wechselplattenlaufwerk 46 von einem Wechselaufzeichnungsmedium 90, beispielsweise einer DVD oder einer CD-ROM, heruntergeladen wurde, auf dem Daten, beispielsweise ein Programm und Daten, aufgezeichnet sind. Das Computerprogramm 100 wird von der Speichereinheit 43 in den Arbeitsspeicher 42 geladen und ausgeführt. Bei dem Computerprogramm 100 kann es sich um ein Computerprogramm handeln, das von einem externen Computer heruntergeladen wurde, der über die Datenübertragungsschnittstelle 47 verbunden ist.
-
Zu der Speichereinheit 43 gehört eine Speichereinheit 431 für kopierte Dateien, die eine kopierte Datei speichert, in der die Masterdatei auf dem Server 1 dupliziert ist, und eine Speichereinheit 432 für Bedingungsdaten, die Bedingungsdaten bezüglich des sicheren Zustands einer Bedingung speichert, wenn ein Aktualisierungsprozess möglich wird. Die kopierte Datei wird in der Speichereinheit 431 für kopierte Dateien zu dem Zeitpunkt gespeichert, an dem ein Auschecken für die Masterdatei angefordert wird, und sie wird aus der Speichereinheit 431 für kopierte Dateien zu dem Zeitpunkt gelöscht, an dem ein Einchecken angefordert wird. Für jede kopierte Datei erzeugte Daten eines privaten Schlüssels und Daten eines öffentlichen Schlüssels werden ebenfalls gespeichert.
-
Beispiele der Bedingungsdaten zu einer Bedingung für einen sicheren Zustand, die in der Speichereinheit 432 für Bedingungsdaten gespeichert werden, können unter anderem die Zeit sein, die seit der letzten Unterbrechung der Datenübertragung mit dem Client 2 verstrichen ist, die Zeit, die seit dem Empfang einer Auscheck-Anforderung verstrichen ist, und ein Bereich des physischen Standorts (Daten zum Standort) des Client 2 auf der Grundlage eines GPS-(Global-Positioning-System-)Signals oder dergleichen. Die Bedingungsdaten werden an den Client 2 zum Zeitpunkt der Übertragung der kopierten Datei übertragen.
-
Die Datenübertragungsschnittstelle 47 ist mit dem internen Bus 48 verbunden, und sie ist mit einem externen Netzwerk, beispielsweise dem Internet, einem Nahbereichsnetzwerk (LAN) und einem Weitbereichsnetzwerk (WAN) verbunden, und somit ist es ihr gestattet, Daten zu und von einem externen Computer und dergleichen zu übertragen bzw. von ihm zu empfangen.
-
Die E/A-Schnittstelle 44 ist mit einer Eingabeeinheit, beispielsweise einer Tastatur 61 und einer Maus 62, verbunden, und eingegebene Daten werden darüber angenommen. Die Videoschnittstelle 45 ist mit einer Anzeigeeinheit 63, beispielsweise einer Katodenstrahlröhren-(CRT-)Anzeige oder einer Flüssigkristallanzeige verbunden, und darauf wird ein vordefiniertes Bild angezeigt.
-
2 ist ein Blockschaltbild, das schematisch die Konfiguration des Client 2 gemäß der Ausführungsform der vorliegenden Erfindung veranschaulicht. Der Client 2 gemäß der vorliegenden Ausführungsform enthält beispielsweise eine CPU 21, ein Arbeitsspeicher 22, ein Speichereinheit 23, eine E/A-Schnittstelle 24, eine Videoschnittstelle 25, ein Wechselplattenlaufwerk 26, eine Datenübertragungsschnittstelle 27 und ein interner Bus 28, der die oben beschriebenen Hardwareelemente verbindet. Das Wechselplattenlaufwerk 26 ist wahlfrei.
-
Die CPU 21 ist mit den oben beschriebenen Hardwareelementen im Client 2 über den internen Bus 28 verbunden, sie steuert den Betrieb der oben beschriebenen Hardwareelemente und führt verschiedene Softwarefunktionen in Übereinstimmung mit einem Computerprogramm 101 aus, das in der Speichereinheit 23 gespeichert ist. Der Arbeitsspeicher 22 enthält einen flüchtigen Speicher, beispielsweise einen SRAM oder SDRAM. Beim Ausführen des Computerprogramms 101 wird ein Lademodul in den Arbeitsspeicher 22 geladen, und der Arbeitsspeicher 22 speichert temporäre Daten und dergleichen, die beim Ausführen des Computerprogramms 101 auftreten.
-
Zu der Speichereinheit 23 gehört ein interner ortsfester Speicher (Festplatte), ein ROM oder dergleichen. Bei dem in der Speichereinheit 23 gespeicherten Computerprogramm 101 handelt es sich um dasjenige, das durch das Wechselplattenlaufwerk 26 von einem Wechselaufzeichnungsmedium 91, beispielsweise einer DVD oder einer CD-ROM, heruntergeladen wurde, auf dem Daten, beispielsweise ein Programm und Daten, aufgezeichnet sind. Das Computerprogramm 101 wird von der Speichereinheit 23 in den Arbeitsspeicher 22 geladen und ausgeführt. Bei dem Computerprogramm 101 kann es sich um ein Computerprogramm handeln, das von einem externen Computer heruntergeladen wurde, der über die Datenübertragungsschnittstelle 27 verbunden ist.
-
Zu der Speichereinheit 23 gehört eine Speichereinheit 231 für Aktualisierungszieldateien, die eine kopierte Datei speichert, bei der es sich um ein Aktualisierungsziel handelt, und eine Speichereinheit 232 für Differenzdaten, die Differenzdaten für den Fall speichert, dass die kopierte Datei aktualisiert wird. Die kopierte Datei wird vom Vermittlungsserver 4 empfangen und in der Speichereinheit 231 für Aktualisierungszieldateien gespeichert. Die Differenzdaten werden in der Speichereinheit 232 für Differenzdaten als Daten zu der Differenz gespeichert, die bei einem Aktualisieren entstehen, welches nach dem Abschluss des vorherigen Aktualisierungsprozesses durchgeführt wird. Die Speichereinheit 231 für Aktualisierungszieldateien kann vorzugsweise die kopierte Datei speichern, die verschlüsselt wird.
-
Die Datenübertragungsschnittstelle 27 ist mit dem internen Bus 28 verbunden, und sie ist mit einem externen Netzwerk, beispielsweise dem Internet, einem LAN und einem WAN verbunden, und somit ist es ihr gestattet, Daten zu und von einem externen Computer und dergleichen zu übertragen bzw. von ihm zu empfangen.
-
Die E/A-Schnittstelle 24 ist mit einer Eingabeeinheit, beispielsweise einer Tastatur 61 und einer Maus 62, verbunden, und eingegebene Daten werden darüber angenommen. Die Videoschnittstelle 25 ist mit einer Anzeigeeinheit 63, beispielsweise einer CRT-Anzeige oder einer Flüssigkristallanzeige, verbunden, und darauf wird ein vordefiniertes Bild angezeigt. Die Eingabeeinheit und die Anzeigeeinheit können als berührungsempfindliche Anzeige integriert sein.
-
3 ist ein Funktionsschaubild des Dateiaktualisierungssystems gemäß der Ausführungsform der vorliegenden Erfindung. Eine Übertragungseinheit 201 für Auscheck-Anforderungen im Client 2 überträgt eine Auscheck-Anforderung, die durch den Client 2 von einem Benutzer über die Tastatur 61, die Maus 62 oder dergleichen angenommen wurde, an den Vermittlungsserver 4. Die Auscheck-Anforderung enthält Daten zur Verwendung beim Überprüfen der Identität des Benutzers, der einen Auscheck-Versuch über den Server 1 unternimmt, beispielsweise eine Kombination der Benutzerkennung und des Kennworts, und Daten zur Verwendung beim Kennzeichnen der Datei, welche das Aktualisierungsziel ist, beispielsweise einen Dateinamen oder dergleichen.
-
Die gesamte Datenübertragung zwischen dem Client 2 und dem Vermittlungsserver 4 wird in dem Zustand durchgeführt, in dem die Daten verschlüsselt sind. Der Client 2 und der Vermittlungsserver 4 führen jeder eine Identitätsprüfung durch, um die Echtheit der Datenübertragungspartner auf Gültigkeit zu prüfen, bevor sie die Datenübertragung ausführen. Als Identitätsprüfungsverfahren kann vorzugsweise ein Zertifikat verwendet werden. Dadurch kann eine Bedienung durch einen Benutzer des Client 2 entfallen, beispielsweise ein Eingeben einer Benutzerkennung, wenn der Client 2 versucht, die Datenübertragung mit dem Vermittlungsserver 4 zu starten, und es ermöglicht dem Client 2, die Datenübertragung automatisch ohne zusätzliche Aktion des Benutzers zu starten.
-
Wenn eine Erfassungseinheit 401 für kopierte Dateien im Vermittlungsserver 4 die Auscheck-Anforderung von dem Client 2 empfängt, überträgt sie die Auscheck-Anforderung für eine gekennzeichnete Masterdatei 111 an den Server 1, empfängt und erfasst von dem Server 1 eine kopierte Datei, in der die Masterdatei 111, bei der es sich um die gekennzeichnete Datei in einer Masterdatenbank 11 handelt, dupliziert wird, und speichert die kopierte Datei in der Speichereinheit 431 für kopierte Dateien in der Speichereinheit 43. Eine Erzeugungseinheit 402 für Schlüsseldaten erzeugt Daten eines privaten Schlüssels und Daten eines öffentlichen Schlüssels im Zusammenhang mit der erfassten kopierten Datei und speichert sie in der Speichereinheit 43 zusammen mit Daten zur Kennzeichnung der kopierten Datei, beispielsweise dem Dateinamen. Eine Übertragungseinheit 403 für kopierte Dateien/Daten öffentlicher Schlüssel überträgt die erzeugten Daten des öffentlichen Schlüssels und die kopierte Datei an den Client 2, der die Auscheck-Anforderung übertragen hat.
-
Eine Empfangseinheit 202 für kopierte Dateien/Daten öffentlicher Schlüssel im Client 2 empfängt die kopierte Datei und die Daten des öffentlichen Schlüssels vom Vermittlungsserver 4 und speichert sie in der Speichereinheit 231 für Aktualisierungszieldateien in der Speichereinheit 23.
-
Eine Erkennungseinheit 203 für Aktualisierungen im Client 2 erkennt, dass die in der Speichereinheit 231 für Aktualisierungszieldateien gespeicherte Datei aktualisiert wurde. Wenn die Erkennungseinheit 203 für Aktualisierungen erkennt, dass die gespeicherte Datei aktualisiert wurde, extrahiert eine Verschlüsselungseinheit 204 für Differenzdaten die Differenzdaten zu der beim Aktualisieren entstehenden Differenz und verschlüsselt die Differenzdaten unter Verwendung der Daten des öffentlichen Schlüssels. Eine Übertragungseinheit 205 für Differenzdaten versucht automatisch, Daten mit dem Vermittlungsserver 4 auszutauschen, sobald die Differenzdaten verschlüsselt sind. Sobald die Datenübertragung möglich wird, überträgt die Übertragungseinheit 205 für Differenzdaten die verschlüsselten Differenzdaten an den Vermittlungsserver 4. Da die Differenzdaten verschlüsselt sind, kann ein böswilliger Dritter, wenn er die Differenzdaten unrechtmäßig erwirbt, den aktualisierten Inhalt nicht lesen. In der bevorzugten Ausführungsform hat die Erkennungseinheit 203 für Aktualisierungen die Aufgaben, einen Dateivorgang im Betriebssystem zu überwachen und zu unterbinden, dass eine kopierte Datei auf dem Client 2 an einen anderen Ort als die Speichereinheit 231 für Aktualisierungszieldateien verschoben und unter einem anderen Namen gespeichert wird.
-
Eine Empfangseinheit 404 für Differenzdaten im Vermittlungsserver 4 empfängt die verschlüsselten Differenzdaten. Eine Entschlüsselungseinheit 405 für Differenzdaten entschlüsselt die Differenzdaten unter Verwendung der gespeicherten Daten des privaten Schlüssels. Eine Anwendungseinheit 406 für Differenzdaten wendet die entschlüsselten Differenzdaten auf eine auf dem Vermittlungsserver 4 gespeicherte kopierte Datei 54 an, um die kopierte Datei 54 auf den neuesten Aktualisierungsstand zu aktualisieren und das Aktualisieren der Masterdatei 111 in der Masterdatenbank 11 auf dem Server 1 vorzubereiten. Die auf dem Vermittlungsserver 4 gespeicherte neueste kopierte Datei 54 wird so lange nicht auf die Masterdatei 111 auf dem Server 1 angewendet, bis eine Eincheck-Anforderung vom Client 2 empfangen wird.
-
Eine Bedingungsermittlungseinheit 206 im Client 2 ermittelt, ob die Bedingung für einen sicheren Zustand erfüllt ist, wenn ein Prozess zum Aktualisieren der kopierten Datei möglich wird. „Wenn ein Prozess zum Aktualisieren der kopierten Datei möglich wird” bezeichnet eine weit gefasste Idee, die den Zeitpunkt der Inbetriebnahme des Client 2 (einschließlich des Zeitpunkts, an dem der Betrieb nach einer längeren Pause wieder aufgenommen wird), den Zeitpunkt des Aufhebens einer Bildschirmsperre und dergleichen beinhaltet und der sich auf den Zeitpunkt bezieht, wenn eine Funktion irgendeiner Art an der kopierten Datei vorgenommen werden kann.
-
Die Bedingung für einen sicheren Zustand ist beispielsweise nicht auf eine Bedingung beschränkt, die durch den Zeitraum festgelegt ist, beispielsweise die Zeit, die seit der letzten Datenübertragung mit dem Vermittlungsserver verstrichen ist oder die Zeit, die seit der letzten Übertragung einer Auscheck-Anforderung verstrichen ist. Weitere Beispiele der Bedingung für einen sicheren Zustand können unter anderem eine Bedingung sein, die auf Daten beruht, die zum Einschätzen eines unberechtigten Zugriffsversuchs ausreichen, beispielsweise eine Situation, in der die in den Client 2 eingebaute Uhr die Zeit vor dem Zeitpunkt der letzten Datenübertragung mit dem Vermittlungsserver 4 angibt, oder eine Situation, in der die Anzahl der Eingabeversuche eines falschen Kennworts eine vorgegebene Anzahl von Versuchen überschreitet, sowie eine Bedingung auf der Grundlage von Daten zu dem Standort, beispielsweise zu einem physischer Standortbereich des Client 2, der unter Verwendung eines GPS-Signals oder dergleichen erkannt wird, oder zu einem physischen Standortbereich des Client 2, der auf der Grundlage der Daten von der nächstgelegenen Basisstation in einem drahtlosen LAN geschätzt wird.
-
Wenn die Bedingungsermittlungseinheit 206 feststellt, dass die Bedingung für einen sicheren Zustand nicht erfüllt ist, wenn ein Prozess zum Aktualisieren der kopierten Datei möglich wird, löscht eine Löscheinheit 207 für kopierte Dateien im Client 2 die kopierte Datei, die in der Speichereinheit 231 für Aktualisierungszieldateien im Client 2 gespeichert ist, in einem Verfahren, das ein Wiederherstellen der kopierten Datei unmöglich macht. Bei einem Beispiel des Verfahrens, mit dem ein Wiederherstellen der kopierten Datei unmöglich gemacht wird, kann es sich um ein Verfahren zum Speichern der kopierten Datei, die mit einer allgemein üblichen Verschlüsselung mittels eines Schlüssels verschlüsselt wird, und zum Löschen der verschlüsselten Schlüsseldaten handeln. Da die kopierte Datei gelöscht wird, kann, wenn noch nicht an den Vermittlungsserver 4 übertragene Differenzdaten verbleiben, die kopierte Datei nicht gespeichert werden.
-
Eine Übertragungseinheit 208 für Eincheck-Anforderungen im Client 2 nimmt eine Eincheck-Anforderung zum Aktualisieren der Masterdatei 111 auf dem Server 1 mit der neuesten aktualisierten kopierten Datei an. Die Eincheck-Anforderung enthält üblicherweise Daten zur Verwendung bei der Identitätsprüfung eines Benutzers, der versucht, ein Einchecken über den Server 1 durchzuführen, beispielsweise eine Kombination aus einer Benutzerkennung und einem Kennwort, oder andernfalls, wenn ein Benutzer ein Auschecken bei einer Vielzahl von Dateien durchgeführt hat, enthält sie Daten zur Verwendung beim Kennzeichnen einer Datei zum Einchecken, beispielsweise einen Dateinamen oder dergleichen. Eine Löscheinheit 209 für Schlüsseldaten/kopierte Dateien löscht die Daten des öffentlichen Schlüssels und die gespeicherte kopierte Datei.
-
Beim Empfangen der Eincheck-Anforderung vom Client 2 dupliziert eine Übertragungseinheit 407 für kopierte Dateien im Vermittlungsserver 4 die zu diesem Zeitpunkt gespeicherte kopierte Datei 54 und überträgt sie als die aktualisierte Datei an den Server 1, um die Masterdatei 111 zu aktualisieren. Eine Löscheinheit 408 für Schlüsseldaten/kopierte Dateien löscht die Daten des öffentlichen Schlüssels, die zu den Daten des öffentlichen Schlüssels gehörenden Daten des privaten Schlüssels und die kopierte Datei 54.
-
4 ist ein Ablaufplan, der eine Prozedur veranschaulicht, die von einer CPU 21 des Client 2 in dem Dateiaktualisierungssystem gemäß der Ausführungsform der vorliegenden Erfindung ausgeführt wird. Die CPU 21 des Client 2 nimmt eine Auscheck-Anforderung an (Schritt S401) und überträgt die angenommene Auscheck-Anforderung an den Vermittlungsserver 4 (Schritt S402). Die Auscheck-Anforderung enthält Daten zur Verwendung beim Kennzeichnen einer Datei, die das Aktualisierungsziel ist, beispielsweise einen Dateinamen oder dergleichen.
-
Die CPU 21 empfängt eine kopierte Datei, die der übertragenen Auscheck-Anforderung entspricht, und Daten eines öffentlichen Schlüssels zur Verwendung beim Verschlüsseln von Differenzdaten vom Vermittlungsserver 4 (Schritt S403) und speichert sie in der Speichereinheit 231 für Aktualisierungszieldateien der Speichereinheit 23 (Schritt S404).
-
Die CPU 21 ermittelt, ob die Bedingung für einen sicheren Zustand erfüllt ist, wenn ein Prozess zum Aktualisieren der kopierten Datei möglich wird (Schritt S405). Wenn festgestellt wird, dass die Bedingung für einen sicheren Zustand erfüllt ist (JA in Schritt S405), erkennt die CPU 21 ein Aktualisieren der gespeicherten kopierten Datei (Schritt S406) und extrahiert die Differenzdaten zu der Differenz, die beim Aktualisieren entsteht (Schritt S407). Um die Differenz zwischen der gespeicherten kopierten Datei und der aktualisierten kopierten Datei nach dem Abschluss des Aktualisierungsprozesses als Differenzdaten zu extrahieren, wird ein Duplikat der kopierten Datei vor dem Aktualisieren gespeichert, und dieses Duplikat wird mit der kopierten Datei nach dem Aktualisieren verglichen. Die CPU 21 verschlüsselt die extrahierten Differenzdaten unter Verwendung der Daten eines öffentlichen Schlüssels (Schritt S408) und überträgt die verschlüsselten Differenzdaten an den Vermittlungsserver 4 (Schritt S409).
-
5 ist eine schematische Darstellung, die einen Aktualisierungsprozess in dem Dateiaktualisierungssystem gemäß der Ausführungsform der vorliegenden Erfindung veranschaulicht. Wie in 5 veranschaulicht, extrahiert die CPU 21, wenn sie ein Aktualisieren einer kopierten Datei 52 erkennt, die Differenzdaten 51 als die Differenz gegenüber der kopierten Datei vor dem Aktualisieren und verschlüsselt die Differenzdaten 51 unter Verwendung der Daten 30 eines öffentlichen Schlüssels unter Verwendung des auf dem Client 2 ausgeführten Computerprogramms 101.
-
Die CPU 21 überträgt die verschlüsselten Differenzdaten an den Vermittlungsserver 4. Wenn die CPU 41 die Differenzdaten empfängt, entschlüsselt sie die Differenzdaten 51 unter Verwendung der Daten 31 eines privaten Schlüssels und wendet die entschlüsselten Differenzdaten 51 auf die gespeicherte kopierte Datei 54 an, um sie unter Verwendung des auf dem Vermittlungsserver 4 ausgeführten Computerprogramms 100 zu aktualisieren. Zu diesem Zeitpunkt werden keine Differenzdaten auf die Masterdatei 111 angewendet.
-
Unter erneuter Bezugnahme auf 4 löscht die CPU 21 des Client 2 die gespeicherte kopierte Datei (Schritt S410), wenn sie feststellt, dass die Bedingung für einen sicheren Zustand nicht erfüllt ist (NEIN in Schritt S405). In diesem Fall wird das gespeicherte Duplikat der kopierten Datei vor dem Aktualisieren ebenfalls nach dem oben beschriebenen Verfahren gelöscht, wodurch ein Wiederherstellen der Datei unmöglich gemacht wird. Da die kopierte Datei gelöscht ist, verbleiben, wenn der Client 2 beispielsweise gestohlen wird und ein böswilliger Dritter versucht, die Daten auf dem Client 2 auszunutzen, nur die verschlüsselten Differenzdaten, die noch nicht an den Vermittlungsserver 4 übertragen wurden, die kopierte Datei kann nicht wiederhergestellt werden, und da die Daten des privaten Schlüssels nicht auf dem Client 2 vorhanden sind, können die Differenzdaten ebenfalls nicht entschlüsselt werden.
-
6 ist eine schematische Darstellung, die einen Prozess veranschaulicht, der stattfindet, wenn der Client in dem Dateiaktualisierungssystem gemäß der Ausführungsform der vorliegenden Erfindung gestohlen wird. Wie in 6 veranschaulicht, ermittelt die CPU 21 unter Verwendung des auf dem Client 2 ausgeführten Computerprogramms 101, ob die Bedingung für einen sicheren Zustand erfüllt ist. Beispielsweise wird insbesondere, wenn eine bestimmte Zeitspanne seit dem letzten Zugriff auf die kopierte Datei verstrichen ist, festgestellt, dass die bestimmte Zeitspanne für ein vorübergehendes Verlassen während des Aktualisierungsprozesses zu lang ist, und es wird festgestellt, dass die Einheit möglicherweise gestohlen wurde.
-
Wenn die CPU 21 feststellt, dass die Bedingung für einen sicheren Zustand nicht erfüllt ist, weil Differenzdaten 51 des n-ten Mals und die kopierte Datei 52, die bereits n-mal aktualisiert wurde, auf dem Client 2 gespeichert werden, löscht die CPU 21 die kopierte Datei 52, die bereits n-mal aktualisiert wurde. Somit kann der Dritte, der den Client 2 gestohlen hat, nur die verschlüsselten Differenzdaten 51 lesen. Der Client 2 besitzt keine Daten eines privaten Schlüssels zur Verwendung beim Entschlüsseln der Differenzdaten, und der Dritte kann kein Mittel zum Wiederherstellen der Differenzdaten erlangen.
-
In diesem Fall werden die Differenzdaten 51 des n-ten Mals nicht auf die kopierte Datei auf dem Vermittlungsserver 4 angewendet, und der Vermittlungsserver 4 speichert die kopierte Datei 54, auf welche die Differenzdaten 51 vom ersten bis zum (n-1)-ten Mal angewendet sind.
-
Unter erneuter Bezugnahme auf 4 ermittelt die CPU 21 des Client 2, ob eine Eincheck-Anforderung zum Aktualisieren der Masterdatei mit der aktualisierten kopierten Datei angenommen wurde (Schritt S411). Wenn festgestellt wird, dass die Eincheck-Anforderung angenommen wurde (JA in Schritt S411), überträgt die CPU 21 die Eincheck-Anforderung an den Vermittlungsserver 4 (Schritt S412) und ermittelt, ob die Benachrichtigung über den Abschluss des Eincheck-Prozesses empfangen wurde (Schritt S413).
-
Wenn die CPU 21 feststellt, dass die Benachrichtigung über den Abschluss nicht empfangen wurde (NEIN in Schritt S413), wartet sie auf die Benachrichtigung über den Abschluss. Wenn sie feststellt, dass die Benachrichtigung über den Abschluss empfangen wurde (JA in Schritt S413), löscht die CPU 21 die Daten des öffentlichen Schlüssels und die gespeicherte kopierte Datei (Schritt S414). Wenn sie feststellt, dass die Eincheck-Anforderung nicht angenommen wurde (NEIN in Schritt S411), kehrt die CPU 21 mit dem Prozess zu Schritt S405 zurück, und die oben beschriebenen Schritte werden wiederholt.
-
7 ist ein Ablaufplan, der eine Prozedur veranschaulicht, die von der CPU 41 des Vermittlungsservers 4 in dem Dateiaktualisierungssystem gemäß der Ausführungsform der vorliegenden Erfindung ausgeführt wird. Die CPU 41 des Vermittlungsservers 4 empfängt eine Auscheck-Anforderung vom Client 2 (Schritt S701). Die CPU 41 empfängt die kopierte Datei, in der die Masterdatei 111, bei der es sich um die durch die Auscheck-Anforderung gekennzeichnete Datei handelt, von dem Server 1 dupliziert wird, und speichert sie in der Speichereinheit 431 für kopierte Dateien in der Speichereinheit 43 (Schritt S702).
-
8 ist eine schematische Darstellung, die einen Prozess veranschaulicht, der bei einem Anfordern des Auscheckens in dem Dateiaktualisierungssystem gemäß der Ausführungsform der vorliegenden Erfindung stattfindet. Wie in 8 veranschaulicht, erfasst die CPU 41 des Vermittlungsservers 4, wenn sie eine Auscheck-Anforderung vom Client 2 empfängt, die kopierte Datei 54 der Masterdatei 111 vom Server 1 und speichert sie unter Verwendung des ausgeführten Computerprogramms 100.
-
Die CPU 41 erzeugt die Daten 30 eines öffentlichen Schlüssels und die Daten 31 eines privaten Schlüssels und überträgt die Daten 30 des öffentlichen Schlüssels und die kopierte Datei an den Client 2. Der Client 2 speichert die Daten 30 des öffentlichen Schlüssels und die kopierte Datei 52, bei der es sich um das Aktualisierungsziel handelt. Der Client 2 führt einen Aktualisierungsprozess an der gespeicherten kopierten Datei aus.
-
Unter erneuter Bezugnahme auf 7 erzeugt die CPU 41 des Vermittlungsservers 4 Daten eines privaten Schlüssels und Daten eines öffentlichen Schlüssels im Zusammenhang mit der gespeicherten kopierten Datei (Schritt S703) und speichert sie in der Speichereinheit 43 in Verbindung mit Daten zur Verwendung beim Kennzeichnen der kopierten Datei, beispielsweise einem Dateinamen (Schritt S704). Die CPU 41 überträgt die erzeugten Daten des öffentlichen Schlüssels und die kopierte Datei an den Client 2, der die Auscheck-Anforderung übertragen hat (Schritt S705).
-
Die CPU 41 empfängt die verschlüsselten Differenzdaten (Schritt S706) und entschlüsselt die Differenzdaten unter Verwendung der gespeicherten Daten des privaten Schlüssels (Schritt S707). Die CPU 41 wendet die entschlüsselten Differenzdaten auf die gespeicherte kopierte Datei 54 an und aktualisiert die kopierte Datei 54 auf den neuesten Aktualisierungsstand (Schritt S708).
-
Die CPU 41 ermittelt, ob eine Eincheck-Anforderung vom Client 2 empfangen wurde (Schritt S709). Wenn sie feststellt, dass keine Eincheck-Anforderung empfangen wurde (NEIN in Schritt S709), kehrt die CPU 41 mit dem Prozess zu Schritt S706 zurück, und die oben beschriebenen Schritte werden wiederholt. Wenn sie feststellt, dass die Eincheck-Anforderung empfangen wurde (JA in Schritt S709), dupliziert die CPU 41 die gespeicherte kopierte Datei und überträgt sie als die aktualisierte Datei an den Server 1 (Schritt S710) und ermittelt, ob eine Benachrichtigung über den Abschluss des Aktualisierens der Masterdatei 111 vom Server 1 empfangen wurde (Schritt S711).
-
Wenn die CPU 41 feststellt, dass die Benachrichtigung über den Abschluss noch nicht empfangen wurde (NEIN in Schritt S711), wartet sie auf die Benachrichtigung über den Abschluss. Wenn sie feststellt, dass die Benachrichtigung über den Abschluss empfangen wurde (JA in Schritt S711), überträgt die CPU 41 die Benachrichtigung über den Abschluss an den Client 2 (Schritt S712) und löscht die Daten des öffentlichen Schlüssels, die zu den Daten des öffentlichen Schlüssels gehörenden Daten des privaten Schlüssels und die kopierte Datei 54 (Schritt S713).
-
9 ist eine schematische Darstellung, die einen Prozess veranschaulicht, der bei einem Anfordern des Eincheckens in dem Dateiaktualisierungssystem gemäß der Ausführungsform der vorliegenden Erfindung stattfindet. Wie in 9 veranschaulicht, dupliziert die CPU 41 des Vermittlungsservers 4, wenn sie eine Eincheck-Anforderung vom Client 2 empfängt, die gespeicherte kopierte Datei und überträgt sie als aktualisierte Datei an den Server 1 unter Verwendung des ausgeführten Computerprogramms 100. Dies ermöglicht, dass die Masterdatei 111 auf den neuesten Aktualisierungsstand aktualisiert wird.
-
Die CPU 41 löscht die Daten 30 des öffentlichen Schlüssels, die Daten 31 des privaten Schlüssels und die kopierte Datei 54. Somit gibt es keine anderen auf den neuesten Stand aktualisierten Dateien als die Masterdatei 111, und die Sicherheit der Datei kann auf einer hohen Stufe aufrechterhalten werden. Zum Zeitpunkt des Anforderns des Eincheckens werden die Daten 30 des öffentlichen Schlüssels und die auf dem Client 2 gespeicherte kopierte Datei 52 ebenfalls gelöscht.
-
Wenn der gestohlene Client 2 gefunden wird oder dergleichen, kann die kopierte Datei wiederhergestellt werden. 10 ist eine schematische Darstellung, die einen Prozess veranschaulicht, der beim Wiederherstellen einer Datei in dem Dateiaktualisierungssystem gemäß der Ausführungsform der vorliegenden Erfindung stattfindet.
-
Wie in 10 veranschaulicht, sind auf dem gefundenen Client 2 nur die Differenzdaten 51 gespeichert, bei denen es sich um die verschlüsselte Differenz des n-ten Mals handelt. Der Grund hierfür ist, dass die kopierte Datei bereits gelöscht wurde. Wenn der Client 2 wieder verbunden ist, überträgt die CPU 21 des Client 2 die Differenzdaten 51 des n-ten Mals an den Vermittlungsserver 4 unter der Bedingung, dass der Benutzer als rechtmäßiger Benutzer identifiziert wurde.
-
Die CPU 41 des Vermittlungsservers 4, der die Differenzdaten 51 des n-ten Mals empfängt, kann die kopierte Datei 54 wieder im Zustand der aktualisierten n Male herstellen, indem sie die Differenzdaten 51 unter Verwendung der Daten 31 des privaten Schlüssels entschlüsselt und sie auf die kopierte Datei anwendet.
-
Da ein Aktualisierungsprozess an einer auf dem Vermittlungsserver 4 gespeicherten kopierten Datei durchgeführt wird und Daten eines Verschlüsselungsschlüssels zur Verwendung beim Verschlüsseln und Entschlüsseln der Differenzdaten ebenfalls auf dem Vermittlungsserver 4 erzeugt werden, kann gemäß der oben beschriebenen Ausführungsform, wenn der den Aktualisierungsprozess ausführende Client 2 abhanden kommt, gestohlen wird oder dergleichen, verhindert werden, dass die Masterdatei 111 auf dem Server 1 direkt manipuliert wird oder dergleichen. Wenn die Bedingung für einen sicheren Zustand nicht erfüllt ist, beispielsweise wenn während einer bestimmten Zeitspanne kein Zugriff auf eine kopierte Datei erfolgt ist oder wenn eine bestimmte Zeitspanne nach der Trennung vom Netzwerk verstrichen ist, kann die kopierte Datei gelöscht werden, und die Sicherheit der Masterdatei, welche als geheim eingestufte Daten enthält, kann auf einer hohen Stufe aufrechterhalten werden.
-
Da die Differenzdaten unter Verwendung von Daten eines öffentlichen Schlüssels verschlüsselt und an den Vermittlungsserver 4 übertragen werden, kann, wenn der Client 2 abhanden kommt oder der Client 2 gestohlen wird, eine kopierte Datei, auf die alle vom Vermittlungsserver 4 vor dem Verlust oder Diebstahl empfangenen Differenzdaten angewendet werden, wiederhergestellt werden. Wenn der Client 2 später gefunden wird, kann die kopierte Datei durch die Anwendung der auf dem Client 2 verbliebenen Differenzdaten auf den neuesten Aktualisierungsstand aktualisiert werden.
-
Die vorliegende Erfindung wird durch die obige Ausführungsform nicht eingeschränkt, und verschiedene Änderungen und Verbesserungen können innerhalb des Geltungsbereichs der vorliegenden Erfindung vorgenommen werden.
-
Wenn beispielsweise der Vermittlungsserver 4 logisch von dem Server 1 unabhängig ist, können sie physisch auf einem einzigen Computer betrieben werden. Wenn die Bedingung für einen sicheren Zustand nicht erfüllt ist, können die Daten 30 des öffentlichen Schlüssels gleichzeitig mit dem Löschen der n-mal aktualisierten kopierten Datei 52 gelöscht werden.
-
Bezugszeichenliste
-
- 1
- Server
- 2
- Client
- 3
- Netzwerk
- 4
- Vermittlungsserver
- 21, 41
- CPU
- 22, 42
- Arbeitsspeicher
- 23, 43
- Speichereinheit
- 24, 44
- E/A-Schnittstelle
- 25, 45
- Videoschnittstelle
- 26, 46
- Wechselplattenlaufwerk
- 27, 47
- Datenübertragungsschnittstelle
- 28, 48
- Interner Bus
- 90, 91
- Wechselaufzeichnungsmedium
- 100, 101
- Computerprogramm