DE69731069T2 - Verschlüsselungskommunikationsystem mit einem Agent und einem Speichermedium zur Speicherung dieses Agents - Google Patents

Verschlüsselungskommunikationsystem mit einem Agent und einem Speichermedium zur Speicherung dieses Agents Download PDF

Info

Publication number
DE69731069T2
DE69731069T2 DE69731069T DE69731069T DE69731069T2 DE 69731069 T2 DE69731069 T2 DE 69731069T2 DE 69731069 T DE69731069 T DE 69731069T DE 69731069 T DE69731069 T DE 69731069T DE 69731069 T2 DE69731069 T2 DE 69731069T2
Authority
DE
Germany
Prior art keywords
agent
encrypted
encryption
agents
cryptographic processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69731069T
Other languages
English (en)
Other versions
DE69731069D1 (de
Inventor
Tamio Nakahara-ku Saito
Masanaga Nakahara-ku Tokuyo
Ichiro Nakahara-ku Iida
Yuji Nakahara-ku Takada
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Application granted granted Critical
Publication of DE69731069D1 publication Critical patent/DE69731069D1/de
Publication of DE69731069T2 publication Critical patent/DE69731069T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/068Network architectures or network communication protocols for network security for supporting key management in a packet data network using time-dependent keys, e.g. periodically changing keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Description

  • Diese Erfindung bezieht sich auf ein Verschlüsselungskommunikationsverfahren, um den Diebstahl und das Abfangen sowie Verfälschen von Informationen in einer Kommunikation zwischen Computern zu verhindern; insbesondere bezieht sie sich auf ein Verfahren zur Verschlüsselung unter Verwendung eines Agenten.
  • In den letzten Jahren hat mit der explosionsartigen Verbreitung von Internet und Intranets die Bedeutung der Informationssicherheit ständig zugenommen. Bekannte Sicherheitsverfahren in der Informationskommunikation enthalten das Verfahren zur Verschlüsselung von Informationen unter Verwendung von Chiffrierschlüsseln, die Terminals gemeinsam besitzen, wie der DES (Data Encryption Standard), und ein Verschlüsselungsverfahren wie RSA, bei dem Terminals öffentliche Schlüssel austauschen, und Informationen unter Verwendung ihrer privaten Schlüssel verschlüsselt werden. Zusätzlich gibt es zur Erhöhung der Verschlüsselungssicherheit bekannte Verfahren, wie die Änderung des Chiffrierschlüssels und des Verschlüsselungsverfahrens mit der Zeit, wie beispielsweise in Tokkaihei (Japanische Patentveröffentlichung) 1-212041 beschrieben.
  • In einem herkömmlichen gewöhnlichen Verschlüsselungskommunikationssystem ist das Verschlüsselungsverfahren öffentlich bekannt. Um ein starkes Kryptosystem zu erhalten, muss aus diesem Grund der bei der Verschlüsselung verwendete Schlüssel eine große Anzahl von Bits aufweisen. Wenn jedoch der bei der Verschlüsselung verwendete Schlüssel eine große Anzahl von Bits aufweist, wird die für die Verschlüsselungs- und Entschlüsselungsverarbeitung erforderliche Zeit unweigerlich lang. Insbesondere wenn die Verschlüsselung in Echtzeitanwendungen erfolgt (wie Sprache und Bilder), ist die Langsamkeit der Verarbeitung bei herkömmlichen Verfahren wie DES und RSA ein Problem.
  • Wenn die Verschlüsselung durch ein Verfahren erfolgt, das die Änderung der Kombination des Chiffrierschlüssels und des Verschlüsselungsverfahrens mit der Zeit involviert, ist es notwendig, den Chiffrierschlüssel vorher zu registrieren und das Verschlüsselungsprogramm in den Terminals vorher zu installieren, die für eine solche Verschlüsselungskommunikation verwendet werden. Jedesmal wenn neue Terminaleinrichtungen in einem Netz hinzugefügt werden, ist es demgemäß notwendig, den Chiffrierschlüssel zu registrieren und das Verschlüsselungsprogramm in diesem Terminals zu installieren.
  • Die US-4 984 271-A offenbart ein Verschlüsselungskommunikationsverfahren. Bei diesem Verfahren wird ein Chiffrierprozessprogramm von einem Host an ein Terminal gesendet, wenn das Terminal eingeschaltet wird, und wird gelöscht, wenn das Terminal ausgeschaltet wird.
  • Ein Zweck dieser Erfindung ist, ein starkes Verschlüsselungsverfahren vorzusehen, das eine adäquate Verarbeitungsgeschwindigkeit aufweist, so dass in der Praxis kein Problem beim Echtzeittransfer von Daten auftritt.
  • Ein weiterer Zweck dieser Erfindung ist zu ermöglichen, eine verschlüsselte Kommunikation zwischen Terminals durchzuführen, ohne dass dasselbe Verschlüsselungsprogramm in diesen vorinstalliert werden muss.
  • Die Erfindung wird mittels der Verfahren von Anspruch 1 und 2, der Speichermedien von Anspruch 12 und 13, des Systems von Anspruch 15 und der Vorrichtungen von Anspruch 16 und 17 durchgeführt.
  • Weitere Aspekte der Erfindung sind wie in den anderen unabhängigen Ansprüchen definiert.
  • Nun wird anhand bloßer Beispiele auf die beigeschlossenen Zeichnungen Bezug genommen, in denen: –
  • 1 eine Darstellung ist, welche eine Übersicht über diese Erfindung erläutert;
  • 2 eine Konfigurationsdarstellung des Servers und des Clients ist;
  • 3 eine Konfigurationsdarstellung eines vertrauenswürdigen Agenten ist, der in mobilem (übertragbarem oder maschinenunabhängigem) Code beschrieben ist;
  • 4A und 4B Sequenzdiagramme sind, welche die Verarbeitung erläutern, die beim Senden eines vertrauenswürdigen Agenten und Herstellen eines verschlüsselten Kommunikationswegs involviert ist;
  • 5 eine Konfigurationsdarstellung des verschlüsselten Kommunikationssystems einer Ausführungsform dieser Erfindung ist;
  • 6 eine Konfigurationsdarstellung des verschlüsselten Kommunikationssystems einer weiteren Ausführungsform dieser Erfindung ist;
  • 7A und 7B Darstellungen sind, die ein Beispiel der Konfiguration der kryptographischen Verarbeitungseinheit zeigen;
  • 8 eine Darstellung ist, welche die Hardware-Schaltung einer Ausführungsform eines Pseudozufallszahlengenerators zeigt;
  • 9 eine Darstellung ist, welche die Konfiguration eines 3-stufigen Pseudozufallszahlengenerators zeigt, der die M-Serie generiert;
  • 10A bis 10C Figuren sind, die ein Beispiel eines Pseudozufallszahlen-Generierverfahrens zeigen;
  • 11 ein Flussdiagramm ist, das die Aktion der Verschlüsselungsverfahrensauswahl-Steuereinheit erläutert;
  • 12A ein Sequenzdiagramm ist, das die Verarbeitung auf der Sendeseite zeigt, wenn Daten zwischen Anwendungen gesendet und empfangen werden;
  • 12B eine Konfigurationsdarstellung eines Datenpakets ist, das chiffrierten Text sendet;
  • 13 ein Sequenzdiagramm ist, das die Verarbeitung auf der Empfangsseite zeigt, wenn Daten zwischen Anwendungen gesendet und empfangen werden;
  • 14A und 14B Darstellungen sind, die ein Verfahren zur Herstellung einer kryptographischen Synchronisation erläutern;
  • 15 eine Darstellung ist, die ein Beispiel der Konfiguration eines verschlüsselten Kommunikationssystems zeigt, das den Startparameter zum Zweck der Generierung von Pseudozufallszahlen ändert;
  • 16 eine Konfigurationsdarstellung eines verschlüsselten Kommunikationssystems einer weiteren Ausführungsform dieser Erfindung ist;
  • 17 eine Konfigurationsdarstellung eines verschlüsselten Kommunikationssystems noch einer weiteren Ausführungsform dieser Erfindung ist;
  • 18 ein Flussdiagramm ist, das die Aktion der Startparametergeneriersektion erläutert;
  • 19 eine Konfigurationsdarstellung für den Fall ist, in dem das verschlüsselte Kommunikationssystem dieser Ausführungsform an das WWW angepasst ist;
  • 20 eine Konfigurationsdarstellung für den Fall ist, in dem die verschlüsselte Kommunikation dieser Erfindung bei einem Bildtransmissions/Sprachtransmissionssystem angewendet wird;
  • 21 eine Konfigurationsdarstellung für den Fall ist, in dem die verschlüsselte Kommunikation dieser Erfindung bei einem elektronischen Konferenzsystem angewendet wird;
  • 22 eine Darstellung ist, welche die Verarbeitung zur Änderung des Kommunikationsobjekts eines Anwendungspro gramms erläutert, wenn ein vertrauenswürdiger Agent verwendet wird;
  • 23 bis 29 Figuren sind, die ein Beispiel eines Agentenprogramms zeigen, das zum Senden in mobilem Code beschriebener verschlüsselter Bilder verwendet wird.
  • In dem verschlüsselten Kommunikationssystem einer Ausführungsform dieser Erfindung wird zuerst ein Agent zum Zweck der Verschlüsselungsverarbeitung in dem Sendeterminal installiert. Vor dem Transferieren von Daten sendet das Sendeterminal einen Agenten mit derselben Funktion wie der installierte Agent an das Empfangsterminal. Der Agent, der an das Empfangsterminal gesendet wird, ist in mobilem Code beschrieben. Wenn Daten transferiert werden, werden die Daten unter Verwendung dieses Agenten in dem Sendeterminal verschlüsselt, und in dem Empfangsterminal unter Verwendung des Agenten entschlüsselt, der vom Sendeterminal gesendet wurde.
  • Somit ist es in dieser Konfiguration möglich, eine verschlüsselte Kommunikation auch mit einem Terminal durchzuführen, das kein Programm für eine Verschlüsselungsverarbeitung hat. Zu dieser Zeit werden die Verschlüsselungs- und Entschlüsselungsverarbeitung von dem Agenten ausgeführt, daher ist es nicht notwendig, dass sich der Benutzer mit dem für diese verschlüsselte Kommunikation verwendeten Verschlüsselungsverfahren beschäftigt. Außerdem werden die Verschlüsselungs- und Entschlüsselungsverarbeitung von Agenten mit denselben Funktionen sowohl im Sendeterminal als auch im Empfangsterminal vorgenommen, so dass der chiffrierte Text zuverlässig im Empfangsterminal entschlüsselt werden kann. Das Verschlüsselungsverfahren kann, wenn gewünscht, geheim sein. Die Sicherheit der Verschlüsselung kann durch die Änderung des für die Verschlüsselung benötigten Schlüssels synchron in Übereinstimmung mit im Voraus zwischen den Agen ten vereinbarten Regeln erhöht werden. Daher kann ein Verschlüsselungsverfahren mit einem geringen Gesamtaufwand ausgewählt werden, um die Verarbeitungszeit zu reduzieren.
  • Im Nachstehenden werden Ausführungsformen dieser Erfindung mit Bezugnahme auf die Zeichnungen beschrieben. 1 ist eine Darstellung, die eine Übersicht über diese Erfindung erläutert. Diese Darstellung zeigt ein Beispiel, bei dem Informationen in verschlüsselter Form zwischen einem Server 10 und einem Client 15 transferiert werden. Der Server 10 und der Client 15 sind beide Computer.
  • Der vertrauenswürdige Agent 11 hat ein Programm zum Zweck der Verschlüsselung von Daten und ist in mobilem Code beschrieben. Die Sendeeinheit 12 des vertrauenswürdigen Agenten sendet den vertrauenswürdigen Agenten 11 an den Client 15. Das Anwendungsprogramm 13 nimmt eine Verarbeitung vor, die das Senden von Daten an den Client 15 und das Empfangen von Daten von diesem begleitet. Anwendungen, die in dieser Ausführungsform vorgesehen sind, enthalten Telefon, Fernsehkonferenzen, Videotransmission, etc., von denen alle eine Echtzeitverarbeitung erfordern, die möglichen Anwendungen sind jedoch nicht auf diese beschränkt. Der vertrauenswürdige Agent 14 ist ein verschlüsseltes Programm, das dieselbe Funktion hat wie der vertrauenswürdige Agent 11; es ist in dem Server 10 permanent resident.
  • Das Anwendungsprogramm 16 ist grundsätzlich gleich wie die Anwendung 13. Der vertrauenswürdige Agent 17 ist der vertrauenswürdige Agent 11, der von dem Server 10 transferiert wurde. Der verschlüsselte Kommunikationsweg 18 ist ein Weg, der zwischen dem vertrauenswürdigen Agenten 14 und dem vertrauenswürdigen Agenten 17 hergestellt wird.
  • 2 ist eine Konfigurationsdarstellung des Servers 10 und des Clients 15. Die Speicheranordnung 501 besteht aus einem Halbleiterspeicher, einem magnetischen Aufzeichnungs medium oder einem optischen Aufzeichnungsmedium, usw., und speichert Programme, Daten, etc. Die Speicheranordnung 501 kann permanent in dem Server 10 oder dem Client 15 installiert sein, oder sie kann entfernbar sein.
  • Der Speichermediumtreiber 502 ist eine Anordnung, welche Daten ausliest, die in dem tragbaren Speichermedium 503 (einschließlich Halbleiterspeicher, Magnetplatte, optische Platte, magnetooptische Platte, etc.) gespeichert sind, oder Daten in das tragbare Speichermedium 503 schreibt. Die Kommunikationssteuereinheit 504 ist eine Einheit, die das Senden von Daten an ein Netz und das Empfangen von Daten von diesem steuert.
  • Die CPU 505 lädt Programme aus der Speicheranordnung 501 oder dem tragbaren Speichermedium 503 in den Speicher 506 und führt diese aus. Es ist zu beachten, dass Programme und Daten, die in dem Speichermedium 501 gespeichert sind, aus dem tragbaren Speichermedium 503 eingeschrieben worden sein können, oder von einem anderen Gerät an einem Netz über eine Kommunikationsleitung empfangen werden können. Die Konfiguration kann auch so sein, dass die CPU 505 Programme und Daten, die in einer anderen Speicheranordnung gespeichert sind, über eine Kommunikationsleitung verwenden kann.
  • Die vertrauenswürdigen Agenten 11 und 14 werden vorher in der Speicheranordnung 501 in dem Server 10 gespeichert. Die vertrauenswürdigen Agenten 11 und 14 können aus dem tragbaren Speichermedium 503 in die Speicheranordnung 501 installiert werden, oder können aus einer anderen Anordnung an einem Netz in die Speicheranordnung 501 installiert werden. Der vertrauenswürdige Agent 14 wird in den Speicher 506 geladen, wenn eine verschlüsselte Kommunikation gestartet wird.
  • In dem Client 15 wird der vertrauenswürdige Agent 17 über die Kommunikationssteuersektion 504 empfangen und in den Speicher 506 geladen.
  • Die Aktion des in 1 gezeigten Kryptosystems ist wie folgt. Zuerst, vor der Datenkommunikation, wird die Sendeeinheit 12 des vertrauenswürdigen Agenten hochgefahren, und der vertrauenswürdige Agent 11 wird von dem Server 10 an den Client 15 gesendet. Zu dieser Zeit wird der vertrauenswürdige Agent 11 durch ein Verfahren wie RSA oder RSA + DES verschlüsselt und transferiert.
  • Die Verarbeitungsgeschwindigkeiten von RSA, DES, etc., sind langsam, daher sind sie nicht die besten Verschlüsselungsverfahren, welche für die Verschlüsselung von Daten zu verwenden sind, die eine Echtzeitverarbeitung erfordern, wie Audiodaten und Videodaten, wenn jedoch ein vertrauenswürdiger Agent verschlüsselt wird, müssen die Verschlüsselungsverarbeitung und die Entschlüsselungsverarbeitung jeweils nur einmal durchgeführt werden, und die Datenmenge ist viel geringer als in den Fällen von Audiodaten und Videodaten, so dass sogar in den Fällen von RSA und DES die Verarbeitungsgeschwindigkeit kein Problem wird.
  • Als Nächstes stellen der vertrauenswürdige Agent 14 des Servers 10 und der vertrauenswürdige Agent 17 des Clients 15 den verschlüsselten Kommunikationsweg 18 her. Die Verarbeitung, durch die der vertrauenswürdige Agent 11 von dem Server 10 zum Client 15 transferiert wird, und die Verarbeitung, durch die der verschlüsselte Kommunikationsweg 18 zwischen dem vertrauenswürdigen Agenten 14 und dem vertrauenswürdigen Agenten 17 hergestellt wird, werden im Nachstehenden erläutert.
  • Die vertrauenswürdigen Agenten 14 und 17 sind mit den Anwendungsprogrammen 13 bzw. 16 verknüpft; sie verschlüsseln Daten so, dass die Daten nicht gestohlen oder verfälscht werden können, dann senden und empfangen sie die Daten an/voneinander. Die Verschlüsselung zwischen dem vertrauenswür digen Agenten 14 und dem vertrauenswürdigen Agent 17 folgt dem Verfahren, das in den in den vertrauenswürdigen Agenten 14 und 17 enthaltenen Programmen beschrieben ist. Die vertrauenswürdigen Agenten 14 und 17 können synchron den für die Verschlüsselung notwendigen Schlüssel (einen geheimen Schlüssel) in Übereinstimmung mit einer vorherbestimmten Regel ändern. Dies erhöht die Stärke der Verschlüsselung.
  • 3 ist eine Konfigurationsdarstellung des vertrauenswürdigen Agenten 11, der in mobilem Code beschrieben ist. Der vertrauenswürdige Agent 11, wie in 3A gezeigt, besteht aus einer Anwendungsschnittstellensektion 11-1 und einer kryptographischen Verarbeitungssektion 11-2. Die Anwendungsschnittstellensektion 11-1 hat die Rolle des Austauschs von Signalen zwischen einem gewöhnlichen Anwendungsprogramm (hier Anwendung 16) und der kryptographischen Verarbeitungssektion 11-2; die kryptographische Verarbeitungssektion 11-2 verschlüsselt und entschlüsselt Signale an die/von der Anwendungsschnittstellensektion 11-1. Eine weitere Funktion, die die Anwendungsschnittstellensektion 11-1 hat, ist die Absorption von Differenzen aufgrund verschiedener Betriebssysteme, wenn die API von dem Betriebssystem abhängig ist.
  • In 3B hat der vertrauenswürdige Agent 11 eine Anwendungsprogrammsektion 11-3. In diesem Fall ist das in dem vertrauenswürdigen Agenten 11 gespeicherte Anwendungsprogramm in mobilem Code beschrieben, und die Anwendungsprogrammsektion 11-3 wird zusammen mit der Anwendungsschnittstellensektion 11-1 und der kryptographischen-Verarbeitungssektion 11-2 gesendet.
  • 4A ist ein Sequenzdiagramm, das die Verarbeitung erläutert, durch die ein vertrauenswürdiger Agent gesendet wird und ein verschlüsselter Kommunikationsweg hergestellt wird. Hier wird angenommen, dass der Server 10 das Terminal ist, das den vertrauenswürdigen Agenten sendet, und der Client 15 ist das Terminal, das den vertrauenswürdigen Agenten empfängt. Ferner wird angenommen, dass das Verschlüsselungsverfahren Pseudozufallszahlen verwendet. Die Pseudozufallszahlen werden auf der Basis eines "Initialstartparameters" generiert, wie detailliert im Nachstehenden erläutert wird.
  • Wenn die verschlüsselte Kommunikation gestartet wird, wird zuerst ein Initialstartparameter in dem Server 10 generiert. Der Initialstartparameter wird beispielsweise auf der Basis der Zeit generiert. Als Nächstes wird dieser Initialstartparameter in den vertrauenswürdigen Agenten 11 und 14 eingestellt. Dann wird der vertrauenswürdige Agent 11, in dem der Initialstartparameter eingestellt wurde, an den Client 15 gesendet. Der vertrauenswürdige Agent 11 wird, wie oben diskutiert, transferiert, nachdem er durch das RSA- oder DES-Verfahren verschlüsselt wurde. Dann startet der Server 10 den vertrauenswürdigen Agenten 14.
  • Es wird angenommen, dass in dem Client 15 ein Programm zum Empfangen des Agenten hochgefahren wurde. Wenn der Client 15 den vertrauenswürdigen Agenten 11 empfängt, wird dieser vertrauenswürdige Agent 11 in den Speicher geladen und als vertrauenswürdiger Agent 17 hochgefahren.
  • Die vertrauenswürdigen Agenten 14 und 17 stellen einen verschlüsselten Kommunikationsweg her; danach wird chiffrierter Text über diesen verschlüsselten Kommunikationsweg gesendet und empfangen.
  • 4B ist eine Darstellung, die den Vorgang erläutert, durch den ein verschlüsselter Kommunikationsweg zwischen vertrauenswürdigen Agenten hergestellt wird. Hier wird angenommen, dass der vertrauenswürdige Agent 14 bereits hochgefahren wurde. Die kryptographischen Verarbeitungssektionen der vertrauenswürdigen Agenten 14 und 17 bestehen je weils aus einer Sendesektion und einer Empfangssektion. Die Sendesektion verschlüsselt Daten von einem Anwendungsprogramm und nimmt eine Sendeverarbeitung vor; die Empfangssektion konvertiert verschlüsselte Daten in Klartext oder geeignete Anwendungsdaten und nimmt eine Verarbeitung vor, um die Daten zu einem Anwendungsprogramm zu transferieren. Die Sendesektion und die Empfangssektion werden beispielsweise durch Threads realisiert.
  • Zuerst sendet die Sendesektion des vertrauenswürdigen Agenten 14 eine Verbindungsanforderung an die Empfangssektion des vertrauenswürdigen Agenten 17. Wenn der Transmissionsweg beispielsweise ein Ethernet ist, wird diese Verbindungsanforderung durch ein TCP-Paket transferiert. Da zu dieser Zeit die Verbindungsanforderung abgelehnt wird, wenn der vertrauenswürdige Agent 17 nicht hochgefahren wurde, erteilt in diesem Fall die Sendesektion des vertrauenswürdigen Agenten 14 wiederholt die Verbindungsanforderung, bis eine Antwort von der Empfangssektion des vertrauenswürdigen Agenten 17 empfangen wird.
  • Wenn die Empfangssektion des vertrauenswürdigen Agenten 17 eine Antwortnachricht ansprechend auf die Verbindungsanforderung sendet, und die Empfangssektion des vertrauenswürdigen Agenten 14 diese Nachricht empfängt, wird ein Weg zwischen der Sendesektion des vertrauenswürdigen Agenten 14 und der Empfangssektion des vertrauenswürdigen Agenten 17 hergestellt. Der Vorgang zur Herstellung eines Wegs zwischen der Sendesektion des vertrauenswürdigen Agenten 17 und der Empfangssektion des vertrauenswürdigen Agenten 14 ist ähnlich.
  • Danach verschlüsselt die Sendesektion des vertrauenswürdigen Agenten 14 Daten von dem Anwendungsprogramm 13 und sendet dann die verschlüsselten Daten an den vertrauenswürdigen Agenten 17 über den Weg, der hergestellt wurde. Die Empfangssektion des vertrauenswürdigen Agenten 17 entschlüs selt den empfangenen chiffrierten Text oder verschlüsselte Daten und transferiert den erhaltenen Klartext oder geeignete Anwendungsdaten zum Anwendungsprogramm 16. Der Vorgang zum Senden verschlüsselter Daten in der umgekehrten Richtung ist ähnlich. Die verschlüsselten Daten werden beispielsweise in einem UDP-Paket gespeichert und dann transferiert.
  • 5 ist eine Konfigurationsdarstellung des verschlüsselten Kommunikationssystems einer Ausführungsform dieser Erfindung. Die Arbeitsstationen 20 und 30 entsprechen dem Server 10 bzw. dem Client 15 in 1. Die Anwendungsprogramme 21 und 31 entsprechen den Anwendungsprogrammen 13 bzw. 16 in 1. Die vertrauenswürdigen Agenten 22 und 32 entsprechen den vertrauenswürdigen Agenten 14 bzw. 17 in 1. Die Arbeitsstation 20 und die Arbeitsstation 30 sind über das Internet 19 miteinander verbunden.
  • Der vertrauenswürdige Agent 22 hat die kryptographischen Verarbeitungseinheiten 26 bis 29. Jede der kryptographischen Verarbeitungseinheiten 26 bis 29 verschlüsselt Daten durch ein von den anderen verschiedenes Verfahren. Die Verschlüsselungsverfahrensauswahl-Einheit 24 wählt eine der kryptographischen Verarbeitungseinheiten 26 bis 29 in Übereinstimmung mit einer Instruktion von der Verschlüsselungsverfahrensauswahl-Steuereinheit 25 aus, und transferiert über die Anwendungsschnittstellensektion 23 empfangene Daten zur ausgewählten kryptographischen Verarbeitungseinheit. Die Verschlüsselungsverfahrensauswahl-Steuereinheit 25 generiert ein Instruktionssignal und gibt dieses aus zum Zweck der Auswahl einer unter den kryptographischen Verarbeitungseinheiten 26 bis 29 in Übereinstimmung mit einem spezifizierten Algorithmus. Das Verfahren, durch das dieses Instruktionssignal generiert wird, wird im Nachstehenden beschrieben. Die Anwendungsschnittstellensektion 23 ist grundsätzlich gleich wie die in 3A und 3B gezeigte Anwendungs schnittstellensektion 11-1.
  • Der vertrauenswürdige Agent 32 wurde von der Arbeitsstation 20 transferiert. Die Anwendungsschnittstelleneinheit 33, die Verschlüsselungsverfahrensauswahl-Einheit 34 und die kryptographischen Verarbeitungseinheiten 35 bis 38 sind grundsätzlich jeweils gleich wie die Anwendungsschnittstelleneinheit 23, die Verschlüsselungsverfahrensauswahl-Einheit 24 und die kryptographischen Verarbeitungseinheiten 26 bis 29, die den vertrauenswürdigen Agenten 22 bilden. Der vertrauenswürdige Agent 32 hat keine Einheit, die der Verschlüsselungsverfahrensauswahl-Steuereinheit 25 entspricht; die Verschlüsselungsverfahrensauswahl-Einheit 34 wählt eine der kryptographischen Verarbeitungseinheiten 35 bis 38 in Übereinstimmung mit einem Instruktionssignal aus, das von der Verschlüsselungsverfahrensauswahl-Steuereinheit 25 generiert wird.
  • Die Aktion des in 5 gezeigten Verschlüsselungskommunikationssystems ist wie folgt. Zuerst wird der vertrauenswürdige Agent 32, der in mobilem Code beschrieben ist, verschlüsselt und von der Arbeitsstation 20 zur Arbeitsstation 30 transferiert.
  • Als Nächstes wird das Verschlüsselungsverfahren, das für die verschlüsselte Kommunikation notwendig ist, in der Verschlüsselungsverfahrensauswahl-Steuereinheit 25 bestimmt. Die Verschlüsselungsverfahrensauswahl-Steuereinheit 25 transferiert Informationen, die anweisen, welches Verschlüsselungsverfahren zu verwenden ist, zur Verschlüsselungsverfahrensauswahl-Einheit 24 und zur Verschlüsselungsverfahrensauswahl-Einheit 34 der Arbeitsstation 30. Dies sichert den verschlüsselten Kommunikationsweg.
  • Wenn die Verschlüsselungsverfahrensauswahl-Steuereinheit 25 beispielsweise das erste Verschlüsselungsverfahren auswählt, dann werden, wie in 5 gezeigt, in der Ar beitsstation 20 Daten unter Verwendung der 1. kryptographischen Verarbeitungseinheit 26 verschlüsselt, und in der Arbeitsstation 30 werden der chiffrierte Text oder verschlüsselte Daten unter Verwendung der 1. kryptographischen Verarbeitungseinheit 35 entschlüsselt.
  • Kommunikationsdaten von dem Anwendungsprogramm 21 werden in der kryptographischen Verarbeitungseinheit verschlüsselt, die von der Verschlüsselungsverfahrensauswahl-Einheit 24 über die Anwendungsschnittstelleneinheit 23 ausgewählt wird. Das in 5 gezeigte Beispiel zeigt den Fall, in dem die 1. kryptographische Verarbeitungseinheit 26 ausgewählt wurde.
  • Die verschlüsselten Daten werden über das Internet 19 an die Arbeitsstation 30 gesendet. Daten (chiffrierter Text oder verschlüsselte Daten), die von der Arbeitsstation 30 empfangen werden, werden in der kryptographischen Verarbeitungseinheit entschlüsselt, die von der Verschlüsselungsverfahrensauswahl-Einheit 34 ausgewählt wird (in diesem Beispiel die 1. kryptographische Verarbeitungseinheit 35), und zum Anwendungsprogramm 31 in der Arbeitsstation 30 über die Anwendungsschnittstelleneinheit 33 transferiert.
  • Die Datentransmission von dem Anwendungsprogramm 31 in der Arbeitsstation 30 zum Anwendungsprogramm 21 in der Arbeitsstation 20 wird durch einen ähnlichen Verschlüsselungsvorgang durchgeführt.
  • Die Verschlüsselungsverfahrensauswahl-Steuereinheit 25 wählt neue Verschlüsselungsverfahren in regelmäßigen oder unregelmäßigen Intervallen aus, und übermittelt der Verschlüsselungsverfahrensauswahl-Einheit 24 der Arbeitsstation 20 und der Verschlüsselungsverfahrensauswahl-Einheit 34 der Arbeitsstation 30 die Auswahlergebnisse. Bei dieser Konfigurationsart ändert sich das Verschlüsselungsverfahren mit der Zeit, wodurch es schwierig wird, die verschlüsselten Daten zu entschlüsseln.
  • In der oben beschriebenen Ausführungsform ist die Verschlüsselungsverfahrensauswahl-Steuereinheit 25 in der Arbeitsstation 20 vorgesehen, es ist jedoch beispielsweise auch möglich, einen Verschlüsselungsverfahrensinstruktions-Server am Netz zu installieren, und zu bewirken, dass die vertrauenswürdigen Agenten ihre Verschlüsselungsverfahren auf der Basis von Instruktionen von dem Verschlüsselungsverfahrensinstruktions-Server umschalten.
  • Auch sind in der oben beschriebenen Ausführungsform die kryptographischen Verarbeitungseinheiten innerhalb der vertrauenswürdigen Agenten, es ist jedoch auch möglich, einen Verteilungsserver für die kryptographischen Verarbeitungseinheiten zu installieren, der Programme zum Zweck der kryptographischen Verarbeitung, die in mobilem Code beschrieben sind, am Netz verteilt, und Programme zum Zweck der kryptographischen Verarbeitung zu haben, die von dem Verteilungsserver für die kryptographischen Verarbeitungseinheiten an die vertrauenswürdigen Agenten verteilt werden.
  • 6 ist eine Konfigurationsdarstellung des verschlüsselten Kommunikationssystems einer weiteren Ausführungsform dieser Erfindung. In 6 gelten die vorhergehenden Erläuterungen ohne Änderung für Komponenten mit denselben Symbolen, die in 5 verwendet wurden.
  • In dem in 6 gezeigten System ist die Verschlüsselungsverfahrensauswahl-Steuereinheit 39 in dem vertrauenswürdigen Agenten 32 vorgesehen. Die Verschlüsselungsverfahrensauswahl-Steuereinheit 39 ist gleich wie die Verschlüsselungsverfahrensauswahl-Steuereinheit 25 innerhalb des vertrauenswürdigen Agenten 22. Demgemäß kann der vertrauenswürdige Agent 32 dasselbe Verschlüsselungsverfahren selbst auswählen wie das vom vertrauenswürdigen Agenten 22 ausgewählte Verschlüsselungsverfahren, ohne eine Instruktion zum Zweck der Verschlüsselungsverfahrensauswahl von dem vertrauenswürdigen Agenten 22 zu empfangen.
  • Nun wird die Aktion des in 6 gezeigten verschlüsselten Kommunikationssystems erläutert. Zuerst wird der vertrauenswürdige Agent 32 von der Arbeitsstation 20 zur Arbeitsstation 30 transferiert. Diese Verarbeitung ist wie mit Bezugnahme auf 5 erläutert.
  • Die Verschlüsselungsverfahrensauswahl-Steuereinheit 25 in der Arbeitsstation 20 und die Verschlüsselungsverfahrensauswahl-Steuereinheit 39 in der Arbeitsstation 30 bestimmen ihre jeweiligen Verschlüsselungsverfahren unabhängig voneinander, und übermitteln der Verschlüsselungsverfahrensauswahl-Einheit 24 der Arbeitsstation 20 bzw. der Verschlüsselungsverfahrensauswahl-Einheit 34 der Arbeitsstation 30 diese jeweiligen Verschlüsselungsverfahren, die bestimmt wurden. Hier haben die Verschlüsselungsverfahrensauswahl-Steuereinheiten 25 und 39 Synchronisationsfunktion bei der Verschlüsselungsverfahrensauswahl, so dass dasselbe Verschlüsselungsverfahren von den Verschlüsselungsverfahrensauswahl-Steuereinheiten 25 und 34 ausgewählt wird.
  • Nun wird einfach erläutert, was mit "Synchronisationsfunktionen bei der Verschlüsselungsverfahrensauswahl" gemeint ist. Die Verschlüsselungsverfahrensauswahl-Steuereinheiten 25 und 39 geben jeweils Ergebnisse aus, die in Übereinstimmung mit gegebenen Initialbedingungen erhalten wurden. Die der Verschlüsselungsverfahrensauswahl-Steuereinheit 39 gegebenen Initialbedingungen werden in der Arbeitsstation 20 eingestellt. Diese Initialbedingungen sind gleich wie jene, die der Verschlüsselungsverfahrensauswahl-Steuereinheit 25 gegeben werden. In 4, die oben diskutiert wurde, wurden dieselben Initialstartparameter in 2 vertrauenswürdigen Agenten als Initialbedingungen eingestellt. Hier haben die Verschlüsselungsverfahrensauswahl- Steuereinheiten 25 und 39 einander gleiche Funktionen, so dass, wenn den Verschlüsselungsverfahrensauswahl-Steuereinheiten 25 und 39 dieselben Initialbedingungen gegeben werden, sie dieselben Ergebnisse generieren. Demgemäß arbeiten die Verschlüsselungsverfahrensauswahl-Steuereinheiten 25 und 39 unabhängig voneinander, geben jedoch dieselben Werte als Signale aus, die das zu verwendende Verschlüsselungsverfahren anzeigen. Dies wird als Synchronisation bei der Auswahl des Verschlüsselungsverfahrens bezeichnet.
  • Mittels der Synchronisationsfunktion wird immer dasselbe Verschlüsselungsverfahren in der Arbeitsstation 20 und der Arbeitsstation 30 ausgewählt, ohne dass Informationen zwischen ihnen gesendet und empfangen werden. Dies sichert einen verschlüsselten Kommunikationsweg.
  • Die Aktion, durch die Daten verschlüsselt und zwischen den Anwendungsprogrammen 21 und 31 gesendet und empfangen werden, ist wie in 5 erläutert. Das heißt, Kommunikationsdaten von dem Anwendungsprogramm 21 werden in der kryptographischen Verarbeitungseinheit verschlüsselt, die von der Verschlüsselungsverfahrensauswahl-Einheit 24 ausgewählt wird. Die verschlüsselten Daten werden über das Internet 19 zur Arbeitsstation 30 gesendet. Die Daten (chiffrierter Text oder chiffrierte Daten), die von der Arbeitsstation 30 empfangen werden, werden in der kryptographischen Verarbeitungseinheit entschlüsselt, die von der Verschlüsselungsverfahrensauswahl-Einheit 34 ausgewählt wird, und zum Anwendungsprogramm 31 in der Arbeitsstation 30 transferiert.
  • Somit unterscheidet sich das in 6 gezeigte System von dem in 5 gezeigten System dadurch, dass die Verschlüsselungsverfahrensauswahl-Steuereinheiten 25 und 39 voneinander unabhängig sind, und die Verschlüsselungsverfahren sequentiell ausgewählt werden. Die Verschlüsselungsverfahrensauswahl-Steuereinheiten 25 und 39 wählen in regel mäßigen oder unregelmäßigen Intervallen neue Verschlüsse lungsverfahren aus, und senden diese Auswahlergebnisse an die Verschlüsselungsverfahrensauswahl-Einheit 24 bzw. die Verschlüsselungsverfahrensauswahl-Einheit 34. In dieser Konfiguration ändert sich das Verschlüsselungsverfahren mit der Zeit, wodurch es schwierig wird, die verschlüsselten Daten zu entschlüsseln.
  • 7 zeigt ein Konfigurationsbeispiel einer kryptographischen Verarbeitungseinheit. Die folgende Diskussion nimmt an, dass Pseudozufallszahlen in dem Verschlüsselungsverfahren verwendet werden.
  • Theoretisch, wie beispielsweise in 7A gezeigt, besteht die kryptographische Verarbeitungseinheit aus einem Exklusiv-ODER-Generator 40 und einem Pseudozufallszahlengenerator 41. Der Pseudozufallszahlengenerator 41 kann ein variabler Periodentyp sein. Die verschlüsselten Daten (chiffrierter Text) werden durch das Eingeben der zu verschlüsselnden Daten (Klartext) und Pseudozufallszahlen, die von dem Pseudozufallszahlengenerator 41 generiert werden, in den Exklusiv-ODER-Generator 40 erhalten. Die Konfiguration ist grundsätzlich gleich, wenn der chiffrierte Text in Klartext entschlüsselt wird.
  • 7B zeigt ein weiteres Beispiel einer kryptographischen Verarbeitungseinheit. In diesem Beispiel hat die kryptographische Verarbeitungseinheit, zusätzlich zu dem Exklusiv-ODER-Generator 40 und dem Pseudozufallszahlengenerator 41, eine Startparametersektion 42, die Startparameter zum Zweck des Generierens von Pseudozufallszahlen generiert, und eine Startparameteränderungssektion 43, die Instruktionen ausgibt, um die Startparameter, die in der Startparametersektion 42 generiert werden, in unregelmäßigen Intervallen zu ändern.
  • In der in 7B gezeigten kryptographischen Verarbei tungseinheit kann die Periode der Pseudozufallszahlen geändert werden, indem die Startparametersektion 42 und die Startparameteränderungssektion 43 vorgesehen werden, wodurch es schwierig wird, die verschlüsselten Daten zu entschlüsseln. Die Aktion, durch die Klartext unter Verwendung des Exklusiv-ODER-Generators 40 und des Pseudozufallszahlengenerators 41 verschlüsselt wird, ist gleich wie in dem in 7A gezeigten Fall.
  • Nun wird das Verfahren zur Änderung der Periode der Pseudozufallszahlen erläutert. In einem Fall, in dem der Pseudozufallszahlengenerator durch eine Hardware-Schaltung realisiert ist, wird die Periode des Pseudozufallszahlengenerators beispielsweise durch die Änderung der Anzahl von Stufen und der Verdrahtung in dem linearen rückgekoppelten Schieberegistersystem bestimmt, das die Pseudozufallszahlen generiert.
  • Ein Beispiel davon ist in 8 gezeigt. 8 zeigt einen Fall, in dem eine Ausführungsform eines Pseudozufallszahlengenerators durch eine Hardware-Schaltung realisiert ist. In 8 ist 44 ein Schieberegister, 45 ist eine Wegsteuersektion, s0 bis s12 und sa bis sl sind Schalter zur Wegverbindung, x1 bis x12 sind Exklusiv-ODER-Schaltungen, und r1 bis r13 sind Bitelemente des Schieberegisters 44. In der in 8 gezeigten Schaltung wird das von der Wegsteuersektion 45 generierte Signal verwendet, und die Periode der Pseudozufallszahlen wird durch die Steuerung der Rückkopplung von r1 bis r13 in dem Schieberegister 44 geändert, indem die Verbindung und Trennung der Wege mittels der Schalter s0 bis s12 und der Schalter sa bis sl gesteuert werden.
  • Nun wird die Realisierung eines Pseudozufallszahlengenerators behandelt, der eine 3-stufige M-Serie generiert. Ein primitives Polynom, das eine 3-stufige M-Serie gene riert, ist x3 + x + 1; die Hardware-Konfiguration ist wie in 9 gezeigt. In 9 ist 44 ein Schieberegister, und 46 ist eine Exklusiv-ODER-Schaltung. Demgemäß werden in dem in 8 gezeigten Pseudozufallszahlengenerator, um die in 9 gezeigte Konfiguration zu realisieren, der Schalter s2 und der Schalter sb EIN geschaltet, und die anderen Schalter werden AUS geschaltet.
  • Primitive Polynome, die eine n-stufige M-Serie generieren, und ihre Perioden werden nachstehenden angegeben
    Figure 00200001
  • Um beispielsweise einen 6-stufigen Pseudozufallszahlengenerator zu realisieren, ist es ausreichend, die in 8 gezeigte Summe von r6 und r1 zu r6 zurückzuführen, somit ist es ausreichend, den Schalter s5 und den Schalter se EIN zu schalten.
  • In 10 sind einige Beispiele von Pseudozufallszahlengeneratoren gezeigt, die als Kombinationen von Pseudozufallszahlengeneratoren erhalten werden.
  • In der in 10A gezeigten Konfiguration wird der Ausgang des in 8 gezeigten Pseudozufallszahlengenerators wie er ist als Pseudozufallszahlen verwendet. In der in 10B gezeigten Konfiguration werden die 2 Ausgänge des Pseudozufallszahlengenerators 41a und des Pseudozufallszahlengenerators 41b in die Exklusiv-ODER-Schaltung 47 eingegeben, und der Ausgang dieser Exklusiv-ODER-Schaltung 47 wird als Pseudozufallszahlen verwendet. In diesem Fall wird beispielsweise davon ausgegangen, dass die in dem Pseudozufallszahlengenerator 41a und dem Pseudozufallszahlengenerator 41b eingestellten Initialstartparameter voneinander verschieden sind. In der in 10C gezeigten Konfiguration werden die 3 Pseudozufallszahlengeneratoren 41c, 41d und 41e und der Schalter 48 verwendet; die Ausgänge aus den 2 Pseudozufallszahlengeneratoren 41c und 41d werden in den Schalter 48 eingegeben. Der Ausgang des Pseudozufallszahlengenerators 41e wird verwendet, um den Schalter 48 zu steuern und den Ausgang entweder des Pseudozufallszahlengenerators 41c oder des Pseudozufallszahlengenerators 41d auszuwählen. Dann wird der Ausgang des Schalters 48 als Pseudozufallszahlen verwendet.
  • In dem vertrauenswürdigen Agenten dieser Ausführungsform gibt es ein Software-Programm, um die oben beschriebene Aktion zu realisieren, und Pseudozufallszahlen werden durch das Ausführen dieses Programms generiert.
  • Die in 5 und 6 gezeigten vertrauenswürdigen Agenten haben eine Vielzahl kryptographischer Verarbeitungseinheiten; es ist beispielsweise möglich, die in 10A bis 10C gezeigten Zufallszahlen-Generiersysteme als Pseudozufallszahlen-Generierquellen in der ersten, zweiten bzw. dritten kryptographischen Verarbeitungseinheit zu verwenden.
  • 11 ist ein Flussdiagramm, das die Aktion einer Verschlüsselungsverfahrensauswahl-Steuereinheit zeigt. Hier wird die Aktion der Verschlüsselungsverfahrensauswahl-Steuereinheit 25 in 5 erläutert.
  • In Schritt S1 wird ein Initialstartparameter auf der Basis der Zeit, des Datums, des Wochentags, etc., geschaffen, die durch die interne Uhr in der Arbeitsstation 20 angezeigt werden. Dieser Initialstartparameter wird innerhalb der Verschlüsselungsverfahrensauswahl-Steuereinheit 25 eingestellt. In Schritt S2 wird ein Pseudozufallszahlengenerator verwendet, um Pseudozufallszahlen aus dem in Schritt S1 geschaffenen Initialstartparameter zu generieren. In Schritt S3 wird das Verschlüsselungsverfahren auf der Basis der in Schritt S2 generierten Pseudozufallszahlen ausgewählt. In Schritt S4 werden Informationen, die das in Schritt S3 ausgewählte Verschlüsselungsverfahren identifizieren, zu den Verschlüsselungsverfahrensauswahl-Steuereinheiten 24 und 34 transferiert.
  • In Schritt S5 wird die Zeiteinstellung bestimmt, zu der das Verschlüsselungsverfahren umgeschaltet wird. Diese Schaltzeiteinstellung wird im Nachstehenden detaillierter erläutert; sie wird hinsichtlich eines Parameters wie der Anzahl von Paketen oder der Zeit ausgedrückt. In Schritt S6 wird überwacht, ob die kryptographische Verarbeitungssequenz die Zeit zur Änderung des Verschlüsselungsverfahrens erreicht hat oder nicht. Wenn die kryptographische Verarbeitungssequenz die Zeit zum Umschalten des Verschlüsselungsverfahrens erreicht, wird die Pseudozufallszahl, die unmittelbar vor dieser Zeit generiert wurde, als Startparameter in Schritt S7 eingestellt, und dann kehrt die Prozedur zu Schritt S2 zurück. Danach werden die Schritte S2 bis S7 wiederholt.
  • Mittels der oben beschriebenen Verarbeitung wird das Verschlüsselungsverfahren gemäß der Pseudozufallszahl ausgewählt; das Verschlüsselungsverfahren wird dann wiederholt gemäß der durch die Pseudozufallszahlen bestimmten Zeiteinstellung umgeschaltet.
  • Das Verfahren zur Auswahl des Verschlüsselungsverfahrens in Schritt S3 und das Verfahren zur Bestimmung der Schaltzeiteinstellung in Schritt S5 sind beispielsweise wie folgt. Wenn Pseudozufallszahlen des 64 Bit langen Typs verwendet werden, ist der Bereich der Werte, die durch die Abtastung der Pseudozufallszahlen erhalten werden, –9,223372035 × 1018 bis +9,223372035 × 1018. Demgemäß werden beispielsweise in einem Fall, in dem 10 Verschlüsselungsverfahren bestehen, Werte von 1 bis 10 aus den Pseudozufallszahlen erhalten, indem herangezogen wird:
    ausgewählte Zahl = random/1018 + 1
  • Hier ist "random" eine durch den Pseudozufallszahlengenerator generierte Pseudozufallszahl. Wenn es 5 Verschlüsselungsverfahren gibt, dann werden Werte von 1 bis 5 aus den Pseudozufallszahlen erhalten, indem herangezogen wird:
    ausgewählte Zahl = (random/1018)/2 + 1
  • Wenn beispielsweise die Anzahl von Paketen zur Bestimmung der Schaltzeiteinstellung verwendet wird, dann wird, in einer Prozedur ähnlich der zur Auswahl der Nummer des Verschlüsselungsverfahrens verwendeten, herangezogen:
    Anzahl von Paketen = random/1017 + 1
  • Dies ergibt einen Wert von 1 bis 92 auf der Basis der Pseudozufallszahl.
  • Beispielsweise wird davon ausgegangen, dass "3" als ausgewählte Nummer des Verschlüsselungsvorgangs in Schritt S3 erhalten wurde, und dass "13" als Anzahl von Paketen in Schritt S5 erhalten wurde. Wenn in diesem Fall auf der Sendeseite 13 Pakete gesendet wurden, in denen Daten gespeichert sind, die unter Verwendung der dritten kryptographischen Verarbeitungseinheit verschlüsselt wurden, wird eine andere kryptographische Verarbeitungseinheitennummer ausgewählt. Wenn dann "2" als ausgewählte Nummer in Schritt 3 erhalten wird, werden unter Verwendung der zweiten kryptographischen Verarbeitungseinheit verschlüsselte Daten bis zur nächsten Schaltzeit ausgegeben. Wenn ähnlich auf der Empfangsseite 13 Pakete, in denen verschlüsselte Daten gespeichert sind, unter Verwendung der dritten kryptographischen Verarbeitungseinheit entschlüsselt wurden, wird eine andere kryptographische Verarbeitungseinheitennummer (hier "2") ausgewählt. Dann werden empfangene Pakete unter Verwendung der zweiten kryptographischen Verarbeitungseinheit bis zur nächsten Schaltzeit entschlüsselt.
  • In dem Fall von Pseudozufallszahlen, im Gegensatz zu echten Zufallszahlen, werden, sobald der Initialstartparameter und der Generieralgorithmus bestimmt werden, die Pseudozufallszahlen, die aus diesem Generieralgorithmus erhalten werden, einzigartig bestimmt. In der in 6 gezeigten Konfiguration wird diese Eigenschaft von Pseudozufallszahlen verwendet. Das heißt, da die vertrauenswürdigen Agenten 22 und 32 Pseudozufallszahlengeneratoren mit demselben Algorithmus haben, wie oben beschrieben, wenn dieselben Werte als Initialstartparameter eingestellt werden, wird danach das Verschlüsselungsverfahren mit derselben Zeiteinstellung in den vertrauenswürdigen Agenten 22 und 32 umgeschaltet.
  • Als Verfahren zur Einstellung des Initialstartparame ters, nachdem derselbe Wert in den vertrauenswürdigen Agenten 22 und 32 in der Arbeitsstation 20 eingestellt ist, wird der vertrauenswürdige Agent 32 zur Arbeitsstation 30 transferiert. Oder, alternativ dazu, kann die Konfiguration so sein, dass ein Befehl zum Generieren des Initialstartparameters in die vertrauenswürdigen Agenten 22 und 32 eingeführt wird, und die vertrauenswürdigen Agenten 22 und 32 dann ihre Initialstartparameter unabhängig generieren. Wenn in diesem Fall der Befehl beispielsweise einer ist, der den Initial startparameter in Übereinstimmung mit "heutiges Datum" und "aktuelle Zeit" generiert, dann werden, solange die Uhren in den Arbeitsstationen 20 und 30 korrekt funktionieren, identische Zufallszahlen in den vertrauenswürdigen Agenten 22 und 32 generiert, und dieselben Verschlüsselungsverfahren werden ausgewählt.
  • Als Nächstes wird mit Bezugnahme auf 12 und 13 die Sequenz erläutert, wenn Daten zwischen Anwendungsprogrammen gesendet und empfangen werden. Hier wird der Fall behandelt, in dem Daten von dem Anwendungsprogramm 21 in der Arbeitsstation 20 zum Anwendungsprogramm 31 in der Arbeitsstation 30 gesendet werden.
  • Die Daten von dem Anwendungsprogramm 21 werden, wie in 12A gezeigt, zum Zweck des Speicherns in Pakete segmentiert. Hier wird als Beispiel angenommen, dass UDP (User Datagram Protocol) als Datentransferprotokoll verwendet wird. Als Nächstes werden Daten durch das spezifizierte Verfahren verschlüsselt, ein Segment zu einem Zeitpunkt. Eine Sequenznummer wird jedem Datensegment zugeordnet. Die Sequenznummern werden so verwendet, dass eine kryptographische Synchronisation zwischen der Sendeseite und der Empfangsseite hergestellt werden kann, auch wenn ein Paket verloren gehen sollte. Das heißt, das UDP-Protokoll ist geeignet, wenn eine Echtzeitverarbeitung erfordernde Daten wie Audiodaten und Videodaten gesendet werden, da es jedoch keine Funktion zum erneuten Senden hat, wenn ein Paket bei der Transmission verloren geht, wird es unmöglich, die Daten auf der Empfangsseite zu reproduzieren. Aus diesem Grund wird eine Sequenznummer jedem Datensegment zugeordnet, so dass die Empfangsseite den Verlust von Paketen detektieren und die Daten korrekt reproduzieren kann.
  • Danach wird ein Kopf hinzugefügt und zur Arbeitsstation 30 gesendet. Ein Beispiel einer Paketkonfiguration ist in 12B gezeigt. Die Sequenznummern und der Kopf werden nicht verschlüsselt.
  • In der oben beschriebenen Verarbeitung führt der vertrauenswürdige Agent 22 die Verschlüsselungsverarbeitung und die Verarbeitung zur Zuordnung von Sequenznummern durch. Es ist möglich, die Funktionen des vertrauenswürdigen Agenten 22 zu expandieren, so dass die gesamte in 12A gezeigte Verarbeitung von dem vertrauenswürdigen Agenten 22 ausgeführt wird.
  • Wenn die Arbeitsstation 30 ein Paket empfängt, wird aus seiner Sequenznummer beurteilt, ob ein Paket bei der Transmission verloren gegangen ist oder nicht. Wenn kein Verlust detektiert wird, wird die verschlüsselte Datensektion extrahiert, und die Daten werden entschlüsselt. Dann werden die entschlüsselten Daten assembliert und zum Anwendungsprogramm 31 transferiert.
  • In der oben beschriebenen Verarbeitung nimmt der vertrauenswürdige Agent 32 die Verarbeitung zur Prüfung der Sequenznummern und die Entschlüsselungsverarbeitung vor. Es ist möglich, die Funktionen des vertrauenswürdigen Agenten 32 zu expandieren, so dass der vertrauenswürdige Agent 32 die gesamte in 13 gezeigte Verarbeitung ausführt.
  • 14A ist eine Darstellung zur Erläuterung des Verfahrens zur Herstellung einer kryptographischen Synchronisation. Wenn bei der verschlüsselten Kommunikation unter Verwendung von Pseudozufallszahlen Pakete unter Verwendung von Pseudozufallszahlen auf der Sendeseite (der Verschlüsselungsseite) verschlüsselt werden, ist es notwendig, dieselben Pseudozufallszahlen wie die Pseudozufallszahlen zu verwenden, die auf der Sendeseite verwendet werden, wenn diese Pakete auf der Empfangsseite (der Entschlüsselungsseite) entschlüsselt werden. Die vertrauenswürdigen Agenten 22 und 32 generieren dieselben Pseudozufallszahlen in derselben Se quenz mit derselben Zeiteinstellung, und führen eine Verschlüsselungs- und Entschlüsselungsverarbeitung in ihren jeweiligen Sequenzen aus. Dies stellt eine kryptographische Synchronisation her.
  • Wenn ein Paket bei der Transmission verloren gegangen ist, dann wird, wie in 14A gezeigt, auf der Entschlüsselungsseite detektiert, welches Paket verloren gegangen ist, und die Entschlüsselungsverarbeitung unter Verwendung der Pseudozufallszahl, die dem Paket entspricht, das verloren gegangen ist, wird übersprungen. In dem in 14A gezeigten Beispiel ist das Paket 3 verloren gegangen; auf der Entschlüsselungsseite wird random(3) nicht verwendet, sondern statt dessen wird eine Entschlüsselungsverarbeitung unter Verwendung von random(4) in Bezug auf das Paket 4 vorgenommen.
  • Wenn die Reihenfolge von Paketen während der Transmission vertauscht wird, dann wird, wie in 14B gezeigt, nachdem das Paket 1 entschlüsselt wird, wenn das Paket 3 empfangen wird, wenn das Paket 2 empfangen werden sollte, die Entschlüsselungsverarbeitung unter Verwendung von random(2) übersprungen. Als Nächstes wird das Paket 2 empfangen, wenn normalerweise das Paket 3 empfangen worden wäre, somit wird die Entschlüsselungsverarbeitung unter Verwendung von random(3) übersprungen. Wenn danach das Paket 4 empfangen wird, wenn das Paket 4 empfangen werden sollte, wird ab dieser Zeit die Entschlüsselungsverarbeitung unter Verwendung von random(4) normal durchgeführt.
  • Somit wird die Reihenfolge empfangener Pakete auf der Entschlüsselungsseite überwacht; wenn ein Verlust oder Vertauschen der Reihenfolge auftritt, wird die Synchronisation der Verschlüsselungsverarbeitung und Entschlüsselungsverarbeitung durch das Überspringen der Entschlüsselungsverarbeitung aufrechterhalten. Diese Synchronisationsverarbeitung wird auch in dem Fall durchgeführt, wenn das erste Paket verloren geht.
  • Um es in dem in 5 oder 6 gezeigten System schwierig zu machen, die verschlüsselten Daten zu entschlüsseln, wurde das Verschlüsselungsverfahren in regelmäßigen oder unregelmäßigen Intervallen geändert. In einem Verschlüsselungsverfahren, bei dem die Verwendung von Pseudozufallszahlen eingesetzt wird, ist es möglich zu bewirken, dass die verschlüsselten Daten schwer zu entschlüsseln sind, indem der zum Generieren dieser Pseudozufallszahlen verwendete Startparameter in regelmäßigen oder unregelmäßige Intervallen geändert wird.
  • 15 zeigt ein Beispiel der Konfiguration eines verschlüsselten Kommunikationssystems mit der Fähigkeit, den zum Generieren von Pseudozufallszahlen verwendeten Startparameter zu ändern. In 15 entsprechen die Arbeitsstationen 50 und 54 dem Server 10 bzw. dem Client 15 in 1. Die Anwendungsprogramme 51 und 55 entsprechen den Anwendungsprogrammen 13 bzw. 16 in 1. Die vertrauenswürdigen Agenten 52 und 56 entsprechen den vertrauenswürdigen Agenten 14 bzw. 17 in 1.
  • Der vertrauenswürdige Agent 52 hat eine Anwendungsschnittstelleneinheit 53, und, wie mit Bezugnahme auf 7B erläutert wurde, einen Exklusiv-ODER-Generator 40, einen Pseudozufallszahlengenerator 41, eine Startparametersektion 42 und eine Startparametergeneriersektion (Startparameteränderungssektion) 43. Der vertrauenswürdige Agent 56 hat eine Anwendungsschnittstelleneinheit 57, und einen Exklusiv-ODER-Generator 40', einen Pseudozufallszahlengenerator 41' und eine Startparametersektion 42'. Der Exklusiv-ODER-Generator 40, der Pseudozufallszahlengenerator 41 und die Startparametersektion 42, und der Exklusiv-ODER-Generator 40' und die Startparametersektion 42' sind jeweils der selbe Typ von Einheiten.
  • Die Aktion des in 15 gezeigten verschlüsselten Kommunikationssystems ist wie folgt. Zuerst wird der vertrauenswürdige Agent 56, der in mobilem Code beschrieben ist, von der Arbeitsstation 50 zur Arbeitsstation 54 transferiert. Als Nächstes schafft die Startparametergeneriersektion 43 1 Startparameter und transferiert diesen Startparameter zu den Startparametersektionen 42 bzw. 42'. Zu dieser Zeit wird ein verschlüsselter Kommunikationsweg zwischen den vertrauenswürdigen Agenten 52 und 56 hergestellt.
  • Die Startparametersektionen 42 und 42' geben die Startparameter, die sie empfangen haben, in die Pseudozufallszahlengeneratoren 41 bzw. 41' ein. Das heißt, die in die Pseudozufallszahlengeneratoren 41 und 41' eingegebenen Startparameter gleichen einander. Die Pseudozufallszahlengeneratoren 41 und 41' generieren Pseudozufallszahlen in Übereinstimmung mit den jeweiligen empfangenen Startparametern und geben sie in die Exklusiv-ODER-Generatoren 40 und 40' ein. Die in den beiden Einheiten zu dieser Zeit generierten Pseudozufallszahlen gleichen einander. Danach generiert die Startparametergeneriersektion 43 neue Startparameter in regelmäßigen oder unregelmäßigen Intervallen in Übereinstimmung mit dem spezifizierten Algorithmus und transferiert sie zu den Startparametersektionen 42 und 42'. Demgemäß werden dieselben Pseudozufallszahlen in den vertrauenswürdigen Agenten 52 und 56 generiert.
  • Daten von dem Anwendungsprogramm 51 werden zum Exklusiv-ODER-Generator 40 über die Anwendungsschnittstelleneinheit 53 gesendet. Dort werden die Daten unter Verwendung der vom Pseudozufallszahlengenerator 41 generierten Pseudozufallszahlen verschlüsselt. Die verschlüsselten Daten werden über das Internet 58 zur Arbeitsstation 54 gesendet. Die von der Arbeitsstation 54 empfangenen Daten werden in Überein stimmung mit den vom Pseudozufallszahlengenerator 41' generierten Pseudozufallszahlen im Exklusiv-ODER-Generator 40' entschlüsselt. Dann werden diese entschlüsselten Daten über die Anwendungsschnittstelleneinheit 57 zum Anwendungsprogramm 55 transferiert.
  • In der oben beschriebenen Verschlüsselungs/Entschlüsselungsverarbeitung ist die Aktion des Generierens der Pseudozufallszahlen gegenseitig in den vertrauenswürdigen Agenten 52 und 56 synchronisiert, so dass in dem vertrauenswürdigen Agenten 52 verschlüsselte Daten in dem vertrauenswürdigen Agenten 56 entschlüsselt werden.
  • 16 zeigt ein Konfigurationsbeispiel einer weiteren Ausführungsform dieser Erfindung. In dem in 16 gezeigten System hat der vertrauenswürdige Agent 52 keine Startparametergeneriersektion 43; Startparameter werden in einem Startparameter-Server 59 generiert, der mit dem Internet 58 verbunden ist. Der Startparameter-Server 59 hat Funktionen, die zu jenen der Startparametergeneriersektion 43 in 15 äquivalent sind; neue Startparameter werden in regelmäßigen oder unregelmäßigen Intervallen generiert und zu den Startparametersektionen 42 und 42' transferiert.
  • Die Aktion dieses Systems ist wie folgt. Zuerst wird der vertrauenswürdige Agent 56, der in mobilem Code beschrieben ist, von der Arbeitsstation 50 zur Arbeitsstation 54 transferiert. Als Nächstes fordert die Startparametersektion 42 der Arbeitsstation 50 vom Startparameter-Server 59 einen Startparameter an, der für eine verschlüsselte Kommunikation notwendig ist. Zu dieser Zeit benachrichtigt der vertrauenswürdige Agent 52 den Startparameter-Server 59 über das entsprechende Terminal der verschlüsselten Kommunikation (hier die Arbeitsstation 54). Der Startparameter-Server 59 generiert einen Startparameter in Übereinstimmung mit dieser Anforderung, und transferiert den generierten Startparameter zu den Startparametersektionen 42 und 42'. Dies sichert einen verschlüsselten Kommunikationsweg. Der Startparameter-Server 59 generiert anschließend neue Startparameter in regelmäßigen oder unregelmäßigen Intervallen und transferiert sie zu den Startparametersektionen 42 und 42'. Die übrige Aktion ist gleich wie die in 15 beschriebene.
  • 17 zeigt ein Beispiel der Konfiguration einer weiteren Ausführungsform dieser Erfindung. In dem in 17 gezeigten System haben die vertrauenswürdigen Agenten 52 und 56 die Startparametergeneriersektionen 43 bzw. 43'.
  • Die Startparametergeneriersektionen 43 und 43' haben einander gleiche Funktionen. Zusätzlich sind die Aktionen der Startparametergeneriersektionen 43 und 43' miteinander synchronisiert. Das heißt, dieselben Initialwerte werden in den Startparametergeneriersektionen 43 und 43' eingestellt, und anschließend geben sie dieselben Startparameter sequentiell aus. Die Synchronisation zwischen den Startparametergeneriersektionen 43 und 43' ist grundsätzlich gleich wie die Synchronisation zwischen den in 6 gezeigten Verschlüsselungsverfahrensauswahl-Steuereinheiten 25 und 39.
  • Die Aktion des in 17 gezeigten Systems ist wie folgt. Zuerst wird der vertrauenswürdige Agent 56, der in mobilem Code beschrieben ist, von der Arbeitsstation 50 zur Arbeitsstation 54 transferiert. Als Nächstes werden die von den Startparametergeneriersektionen 43 und 43' generierten Startparameter zu den Startparametersektionen 42 bzw. 42' transferiert, wodurch ein verschlüsselter Kommunikationsweg gesichert wird. Zu dieser Zeit geben die Startparametergeneriersektionen 43 und 43' dieselben Startparameter in derselben Reihenfolge aus. Andere Aktionen sind gleich wie mit Bezugnahme auf 15 erläutert.
  • 18 ist ein Flussdiagramm, das die Aktion einer Startparametergeneriersektion oder eines Startparameter-Ser vers erläutert. Diese Verarbeitung ist grundsätzlich gleich wie jene in dem Flussdiagramm in 11, wo das Verschlüsselungsverfahren ausgewählt wird.
  • Der Initialstartparameter wird in Schritt S11 eingestellt. Das Verfahren zur Einstellung des Initialstartparameters ist wie mit Bezugnahme auf 11 erläutert wurde. In Schritt S12 werden Pseudozufallszahlen unter Verwendung des Pseudozufallszahlengenerators auf der Basis dieses Initialstartparameters generiert. In Schritt S13 und S14 werden die generierten Zufallszahlen zur Startparametersektion als geeignete Startparameter gesendet. In Schritt S15 wird die Zeiteinstellung bestimmt, zu welcher der Startparameter geändert wird. Diese Änderungszeiteinstellung wird beispielsweise durch einen Parameter wie die Anzahl von Paketen oder die Zeit angezeigt. In Schritt S16 wird überwacht, ob die Zeit die Startparameteränderungszeiteinstellung erreicht hat oder nicht. Wenn die Zeiteinstellung zur Änderung des Startparameters erreicht ist, wird in Schritt S17 die unmittelbar vorhergehende generierte Pseudozufallszahl als neuer Startparameter eingestellt, und die Prozedur kehrt zu Schritt S12 zurück. Danach werden die Schritte S12 bis S17 wiederholt. Der Startparameter wird gemäß der oben beschriebenen Verarbeitung in unregelmäßigen Intervallen geändert.
  • In dem in 15 gezeigten System führt die Startparametergeneriersektion 43 die oben beschriebene Verarbeitung durch. In dem in 16 gezeigten System führt der Startparameter-Server 59 die oben beschriebene Verarbeitung durch. In dem in 17 gezeigten System führen die Startparametergeneriersektionen 43 bzw. 43' die oben beschriebene Verarbeitung durch. In dem in 17 gezeigten System haben der Exklusiv-ODER-Generator 40, der Pseudozufallszahlengenerator 41, die Startparametersektion 42 und die Startparametergeneriersektion 43; und der Exklusiv-ODER-Generator 40', der Pseudozufallszahlengenerator 41', die Startparametersektion 42' und die Startparametergeneriersektion 43' jeweils einander gleiche Funktionen, so dass durch das Einstellen desselben Initialstartparameters in den Startparametergeneriersektionen 43 und 43' dieselben Pseudozufallszahlen anschließend in derselben Reihenfolge generiert werden.
  • 19 ist eine Konfigurationsdarstellung für den Fall, in dem das verschlüsselte Kommunikationssystem dieser Ausführungsform an das WWW (World Wide Web) angepasst wird.
  • Die Software auf der Serverseite besteht aus dem WWW-Server 60, dem permanent residenten vertrauenswürdigen Agenten 61 und dem Applet 62, in das kryptographische Verarbeitungseinheiten eingebaut wurden. Das Applet 62 ist ein Agent mit kryptographischer Verarbeitung. Demgegenüber ist die Software auf der Clientseite der WWW-Browser 63. Der vertrauenswürdige Agent 61 entspricht dem vertrauenswürdigen Agenten 14 in 1. Das Applet 62 ist in mobilem Code beschrieben und entspricht dem vertrauenswürdigen Agenten 11 in 1.
  • Die Aktion dieses Systems ist wie folgt. Zuerst wird, in dem WWW-Browser 63 auf der Clientseite, ein Zugriff auf den WWW-Server 60 vorgenommen; dann wird das Applet 62, in dem die kryptographischen Verarbeitungseinheiten eingebaut sind, von der Serverseite zur Clientseite transferiert, und dieses Applet 62 wird in den WWW-Browser 63 eingebaut. Der Vorgang, durch den ein verschlüsselter Kommunikationsweg zwischen dem vertrauenswürdigen Agenten 61 und dem Applet 62 hergestellt wird, ist beispielsweise wie in 4 gezeigt.
  • Wenn der WWW-Browser 63 die gewünschten Daten vom WWW-Server 60 anfordert, werden die von dem WWW-Server 60 ansprechend auf diese Anforderung gesendeten Daten vom vertrauenswürdigen Agenten 61 verschlüsselt, und zur Clientseite gesendet. Auf der Clientseite wird der chiffrierte Text, der über den verschlüsselten Kommunikationsweg 64 transferiert wurde, von dem Applet 62 empfangen. Das Applet 62 kennt ein Verfahren zur Entschlüsselung der Daten, die von dem vertrauenswürdigen Agenten 61 verschlüsselt wurden. Das Applet 62 entschlüsselt den vom WWW-Server 60 empfangenen chiffrierten Text, und transferiert diese entschlüsselten Daten zur Browser-Software des WWW-Browsers 63.
  • Somit werden vom WWW-Server 60 zum WWW-Browser 63 gesendete Daten von dem vertrauenswürdigen Agenten 61 verschlüsselt, bevor sie gesendet werden, und werden dann von dem Applet 62 entschlüsselt und reproduziert.
  • 20 zeigt ein Beispiel der Konfiguration in dem Fall, in dem die verschlüsselte Kommunikation dieser Erfindung einem Videotransmissionssystem oder einem Audiotransmissionssystem entspricht. In diesem Beispiel wird ein vertrauenswürdiger Agent, in den die kryptographischen Verarbeitungseinheiten eingebaut sind (ein vertrauenswürdiger Agent mit kryptographischer Verarbeitung), in Kombination mit Anwendungen für eine Videotransmission und Audiotransmission verwendet.
  • Die Arbeitsstation 70, von der Audiodaten und Videodaten gesendet werden, besteht aus der Kamera 71, dem Analog/Digital(A/D)-Wandler 72, dem Rahmenpuffer 73, dem Mikrophon 74, dem Analog/Digital(A/D)-Wandler 75, dem Puffer 76 und dem vertrauenswürdigen Agenten 77 des permanent residenten Typs, der eine Videodaten/Audiodaten-Verschlüsselungsfunktion aufweist. Zusätzlich hat sie den vertrauenswürdigen Agenten 78, in dem die Entschlüsselungsfunktion, die der Verschlüsselungsverarbeitung in dem vertrauenswürdigen Agenten 77 entspricht, in mobilem Code beschrieben ist.
  • Die Arbeitsstation 80, welche die Videodaten/Audiodaten empfängt, besteht aus dem vertrauenswürdigen Agenten 78, in den kryptographische Verarbeitungseinheiten eingebaut sind, und der von der sendeseitigen Arbeitsstation 70 gesendet wird; dem Rahmenpuffer 82; dem Digital/Analog(D/A)-Wandler 83; der Anzeige 84; dem Audiodaten-Empfangspuffer 85; dem Digital/Analog(D/A)-Wandler 86 und dem Lautsprecher 87.
  • Die Aktion in diesem System, wenn Videodaten gesendet und empfangen werden, ist wie folgt. Zuerst wird eine Anforderung, den vertrauenswürdigen Agenten 78 zu senden, von der Arbeitsstation 80, welche die Videodaten empfangen will, an die sendeseitige Arbeitsstation 70 gesendet. Wenn die sendeseitige Arbeitsstation 70 diese Sendeanforderung empfängt, sendet sie den vertrauenswürdigen Agenten 78, der benötigt wird, wenn Bilddaten entschlüsselt werden, an die empfangsseitige Arbeitsstation 80. Dies vollendet die Vorbereitung für einen Datentransfer.
  • Die sendeseitige Arbeitsstation 70 konvertiert die von der Kamera 71 aufgenommenen Bilddaten mittels des Analog/Digital(A/D)-Wandlers 72 in ein Digitalsignal und sendet es zu dem Rahmenpuffer 73. Der Rahmenpuffer 73 speichert die Daten aus dem Analog/Digital(A/D)-Wandler 72, um die Differenzen zwischen der Rate, bei der Daten von der Kamera 71 eingegeben werden, und der Verschlüsselungsverarbeitungsrate in dem vertrauenswürdigen Agenten 77 zu absorbieren.
  • Als Nächstes werden die Ausgangsdaten vom Rahmenpuffer 73 durch den vertrauenswürdigen Agenten 77 verschlüsselt und in das Netz ausgesendet. In der empfangsseitigen Arbeitsstation 80 werden die verschlüsselten Bilddaten, die gesendet wurden, empfangen und durch den vertrauenswürdigen Agenten 78 entschlüsselt. Die entschlüsselten Bilddaten werden durch den Digital/Analog(D/A)-Wandler 83 über den empfangsseitigen Rahmenpuffer 82 in ein Analogsignal rückkonvertiert und auf der Anzeige 84 angezeigt.
  • In dem in 20 gezeigten System ist die Aktion in dem Fall der Transmission von Audiodaten nahezu gleich wie die oben beschriebene. Das heißt, die Echtzeitdaten, die transferiert werden, sind Audiodaten anstelle von Videodaten, das Mikrophon 74 ersetzt die Kamera 71 als Eingabesektion für die zu transferierenden Daten, und der Lautsprecher 87 ersetzt die Anzeige 84 als Ausgabesektion. Ansonsten ist die Aktion grundsätzlich gleich.
  • 21 ist eine Konfigurationsdarstellung für den Fall, in dem die verschlüsselte Kommunikation dieser Erfindung in einem elektronischen Konferenzsystem verwendet wird. In dem elektronischen Konferenzsystem dieser Ausführungsform sind eine Agentenverteilungsstation 90 und eine Vielzahl von Hosts 91 bis 94 über ein Netz 95 miteinander verbunden. Die Agentenverteilungsstation 90 hat eine Benutzererkennungsfunktion und verteilt Agenten ansprechend auf Anforderungen offizieller Benutzer. Das Netz 95 ist beispielsweise ein LAN. Der Multicast-Kommunikationsweg 96 ist ein Transmissionsweg zum Senden und Empfangen von Daten unter den Hosts 91 bis 94 während einer elektronischen Konferenz. Der Multicast-Kommunikationsweg 96 kann innerhalb des Netzes 95 hergestellt werden, oder er kann auf anderen physischen Leitungen getrennt vom Netz 95 hergestellt werden.
  • Ein Host, der an einer elektronischen Konferenz teilnimmt, fordert von der Agentenverteilungsstation 90 an, einen Agenten zu senden, der für eine verschlüsselte Kommunikation benötigt wird, um einen verschlüsselten Kommunikationsweg herzustellen. Das heißt, wenn beispielsweise die Hosts 91 bis 94 an einer elektronischen Konferenz teilnehmen, übermittelt einer unter diesen Hosts ein Mitglied, das an der elektronischen Konferenz teilnimmt, an die Agentenverteilungsstation 90. Die Agentenverteilungsstation 90 sendet dann einen vertrauenswürdigen Agenten, in dem kryptographische Verarbeitungseinheiten eingebaut sind, an den Host, der die Anforderung gestellt hat. Die vertrauenswürdigen Agenten 97, die an die jeweiligen Hosts 91 bis 94 verteilt werden, sichern verschlüsselte Kommunikationswege unter diesen Hosts unter Verwendung des Multicast-Kommunikationswegs 96. Anschließend werden Daten, die sich auf die elektronische Konferenz beziehen, in verschlüsselter Form gesendet und empfangen.
  • Die Agentenverteilungsstation 90 kann so konfiguriert sein, dass sie auch die Funktion(en) des Verschlüsselungsverfahrensinstruktions-Servers und/oder des Verschlüsselungsverarbeitungseinheiten-Verteilungsservers erfüllt, die mit Bezugnahme auf 9 beschrieben sind, oder beispielsweise des Startparameter-Servers 59, der in 16 gezeigt ist.
  • Als Nächstes wird die Schnittstelle zwischen dem vertrauenswürdigen Agenten und der Anwendung erläutert. Hier wird, wie in 22A gezeigt, ein Fall behandelt, in dem Daten zwischen der Informationsverarbeitungseinheit 10 (dem Server in 1) und der Informationsverarbeitungseinheit 15 (dem Client in 1) gesendet und empfangen werden. In diesem Fall wird, unter den Einstellungen des Anwendungsprogramms 13 in der Informationsverarbeitungseinheit 10, die Informationsverarbeitungseinheit 15 als Kommunikationspartner spezifiziert, und ein Port, durch den das Anwendungsprogramm 16 Daten empfängt, wird als Kommunikationsport spezifiziert. Ähnlich wird, in den Einstellungen des Anwendungsprogramms 16 der Informationsverarbeitungseinheit 15, die Informationsverarbeitungseinheit 10 als Kommunikationspartner spezifiziert, und ein Port, durch den das Anwendungsprogramm 13 Daten empfängt, wird als Kommunikationsport spezifiziert.
  • Um eine verschlüsselte Kommunikation vorzunehmen, wie in 22B gezeigt, wenn die vertrauenswürdigen Agenten 14 und 17 verwendet werden, wird in den Einstellungen des An wendungsprogramms 13 dieselbe Einheit (die Informationsverarbeitungseinheit 10) als Kommunikationspartner spezifiziert, und ein Port, durch den der vertrauenswürdige Agent 14 Daten empfängt, wird als Kommunikationsport spezifiziert. Ähnlich wird, in den Einstellungen des Anwendungsprogramms 17, dieselbe Einheit (die Informationsverarbeitungseinheit 15) als Kommunikationspartner spezifiziert, und ein Port, durch den der vertrauenswürdige Agent 17 Daten empfängt, wird als Kommunikationsport spezifiziert.
  • Somit werden durch das Ändern der Einstellungen beispielsweise der Kommunikationsports Daten, die zwischen den Anwendungsprogrammen 13 und 16 gesendet und empfangen werden, über die vertrauenswürdigen Agenten 14 und 17 gesendet. Das heißt, die von den Anwendungsprogrammen 13 und 14 gesendeten und empfangenen Daten können verschlüsselt werden, indem nur Einstellungen wie die Kommunikationsports geändert werden, ohne die Anwendungsprogramme 13 und 16 selbst zu ändern.
  • Die Proxy (Kommunikationsleitwegport)-Einstellung wird grundsätzlich auf dieselbe Weise geändert wie der oben beschriebene Kommunikationspartner und Kommunikationsport. Das heißt, wenn es eine Funktion zum Einstellen des Proxy in einem Anwendungsprogramm gibt, werden die Informationsverarbeitungseinheit, in der das Anwendungsprogramm installiert ist, und ein Port, durch den der in dieser Informationsverarbeitungseinheit installierte vertrauenswürdige Agent Daten empfängt, als Proxy eingestellt.
  • Die vom vertrauenswürdigen Agenten vorgesehene API (Application Interface – Anwendungsschnittstelle) wird anstelle der vom System vorgesehenen API verwendet. In diesem Fall ist es normalerweise notwendig zu rekompilieren, nachdem das Quellprogramm geändert wird. Wenn es beispielsweise keinen vertrauenswürdigen Agenten gibt, wird die Sektion geändert, in der "open( );" auftritt, wohingegen, wenn es einen vertrauenswürdigen Agenten gibt, die Sektion "openTrusted( );" geändert werden sollte, und dann wird das Quellprogramm rekompiliert.
  • Es ist auch möglich, einen vertrauenswürdigen Agenten dieser Ausführungsform als Kernmodul des Betriebssystems (OS) zu realisieren, und in das OS, wie notwendig, einzubauen. In 22B ist es beispielsweise auch möglich, dass der vertrauenswürdige Agent 14 auf der Kernebene des OS eingebaut wird, das in der Informationsverarbeitungseinheit 10 installiert ist.
  • Ein vertrauenswürdiger Agent, wie in 3 gezeigt, hat eine Anwendungsschnittstellensektion und eine kryptographische Verarbeitungssektion. Die kryptographische Verarbeitungssektion besteht, wie in 4 gezeigt, aus einer Sendesektion und einer Empfangssektion. Die Sendesektion hat eine Datenverschlüsselungsfunktion, wohingegen die Empfangssektion eine Funktion zum Entschlüsseln eines chiffrierten Texts aufweist. Wenn in dieser Ausführungsform ein vertrauenswürdiger Agent, der in mobilem Code beschrieben ist, von dem Server an den Client gesendet wird, ist es möglich, nur die Anwendungsschnittstellensektion und die Sendesektion zu senden, oder nur die Anwendungsschnittstellensektion und die Empfangssektion.
  • Eine Anwendung zum Verschlüsseln und Senden von Daten ist die Fernsehkommunikation, wie VOD (Video on Demand – Videoabruf). Bei der Fernsehkommunikation muss die empfangsseitige Einheit keine Funktion zur Verschlüsselung von Daten als Codeverarbeitungsfunktion haben; sie muss nur eine Funktion zur Entschlüsselung des chiffrierten Texts haben, der gesendet wird. Wenn in diesem Fall ein vertrauenswürdiger Agent zur Fernsehkommunikations-Empfangseinheit gesendet wird, werden demgemäß nur die Anwendungsschnittstellensek tion und die Empfangssektion gesendet.
  • Ein Beispiel eines Programms eines vertrauenswürdigen Agenten, der in mobilem Code beschrieben ist, ist in 23 bis 29 gezeigt. Dieses Programm entspricht dem vertrauenswürdigen Agenten 11 in 1, und wird zum Client transferiert. Dieses Programm enthält eine Funktion zur Ausführung der kryptographischen Verarbeitung von Bilddaten ein.
  • Dieses Programm dient dem Zweck des Einlesens von Dateien von einem WWW (World Wide Web)-Server und Anzeigens animierter Bilder. Es ist in Java beschrieben (einer objektorientierten Sprache für die Verwendung im Internet, entwickelt von Sun Microsystems). Dieses Programm hat auch eine Funktion zum Einlesen von Bildinformationen im Bitmap-Format (T0 bis T9.ppm) von einem Server, 2.048 Bytes (b[ ]) zu einem Zeitpunkt, und Vornehmen von Applet-Anzeigen. Dieses Programm zeigt 10 Bilddateien eine nach der anderen an und wiederholt dann die Aktion. Ein Überblick über das Anzeigeverfahren ist wie folgt. Zuerst wird ein Kommunikationsweg zu und von dem Server hergestellt, und die notwendigen Bilddateien werden angefordert. Als Nächstes wird dieser Kommunikationsweg verwendet, um Bilddateien zu empfangen, und Bilder werden angezeigt.
  • Nun erfolgt eine detailliertere Erläuterung des Programms mit Bezugnahme auf die Zeichnungen.
    • (A) Zuerst wird der Klassenweg definiert.
    • (B) Die zu verwendenden Variablen werden bestimmt.
    • (C) Die init-Funktion ist eine Funktion, die Initialeinstellungen für den Zweck der Initiation der Kommunikation mit dem Server vornimmt. Der Name des Servers, mit dem eine Verbindung erfolgt, die Serverportnummer und notwendige Dateinamen werden spezifiziert. Zusätzlich werden die Pseudozufallszahlen-Generierspezifikationen bestimmt.
    • (D) Die makesocket-Funktion wird verwendet, um eine Verbindungsanforderung zum Server zu senden und einen Kommunikationsweg zu schaffen.
    • (E) Der Kommunikationsweg, der geschaffen wurde, wird verwendet, um Informationen bezüglich der Bildbreite und -höhe von dem Server zu erhalten. Diese Informationen sind notwendig, wenn Bilder auf der Clientseite reproduziert werden.
    • (F) Als makesocket-Funktionsverarbeitung wird eine Verbindungsanforderung an den Server gesendet, und die Verarbeitung zur Herstellung eines Kommunikationswegs wird beschrieben.
    • (G) Die sendimagefile-Funktion ist eine Funktion, die den Kommunikationsweg verwendet, um die notwendigen Bilddateinamen an den Server zu senden.
    • (H) Die getimage-Funktion ist eine Funktion, die den Kommunikationsweg verwendet, um Bilddateien vom Server zu empfangen und Bilder zu schaffen.
    • (I) Wenn es in den Bilddateien keine Daten mehr gibt, endet die Verarbeitung.
    • (J) Bilddaten werden entschlüsselt, 1 Byte zu einem Zeitpunkt.
    • (K) Ein Pixel wird jedes 4. Byte geschaffen. Ein Pixel hat 4 Komponenten: Helligkeit, rot, grün und blau.
    • (L) Bilder werden aus Pixeln aufgebaut.
    • (M) Die Verschlüsselung wird vorgeschrieben.
    • (N) Wenn das Programm hochfährt, wird dieses Programm als Thread ausgeführt. Durch das Ausführen als Thread wird es möglich, eine Vielzahl von Verarbeitungen parallel innerhalb eines Programms auszuführen.
    • (O) Die Thread-Aktion wird vorgeschrieben. Nachdem ein Kommunikationsweg durch die init-Funktion geschaffen wird, wird die folgende substantive Verarbeitung tatsächlich ausgeführt.
    • (P) Die Verarbeitung zur Anzeige von 10 Bilddateien wird vorgenommen; dann wird dies wiederholt.
    • (Q) Der Kommunikationsweg wird verwendet, um die notwendigen Bilddateinamen an den Server zu senden. Die sendimagefile-Funktion wird für diese Verarbeitung verwendet.
    • (R) Der Kommunikationsweg wird verwendet, um Bilddateien vom Server zu empfangen und Bilder zu schaffen. Die getimage-Funktion wird verwendet.
    • (S) Die geschaffenen Bilder werden angezeigt.
  • Diese Erfindung macht eine verschlüsselte Kommunikation möglich, wie oben erläutert, indem ein Agent, der kryptographische Verarbeitungseinheiten enthält, an den Kommunikationspartner gesendet wird, mit dem eine verschlüsselte Kommunikation durchzuführen ist, oder indem ein Agent, der kryptographische Verarbeitungseinheiten enthält, von diesem Partner empfangen wird. Aus diesem Grund ist es möglich, eine Veröffentlichung des Verschlüsselungsverfahrens zu vermeiden; und durch die Verwendung von Agenten kann das Verschlüsselungsverfahren in regelmäßigen oder unregelmäßigen Intervallen geändert werden, und die bei der Verschlüsselung notwendigen Parameter können geändert werden, um es schwierig zu machen, die verschlüsselten Daten zu dechiffrieren. Demgemäß wird ein starkes Verschlüsselungsverfahren erhalten mit einem geringen Gesamtaufwand, das für eine Echtzeitkommunikation geeignet ist.
  • Diese Erfindung ist nicht auf ein Kryptosystem beschränkt, sondern kann verbreitet angewendet werden, um Systeme zu codieren/decodieren (Modulation/Demodulation). In diesem Fall wird ein Agent, der ein in mobilem Code beschriebenes Programm für eine Codier/Decodier(Modulations/ Demodulations)-Verarbeitung enthält, vor der Datentransmission gesendet.

Claims (17)

  1. Verschlüsselungskommunikationsverfahren zum Senden verschlüsselter Daten zwischen einem ersten Terminal und einem zweiten Terminal, welches die Schritte umfasst: Senden, in einer verschlüsselten Weise, von dem ersten Terminal, in dem ein erster Agent installiert ist, der ein Programm zur kryptographischen Verarbeitung enthält, eines zweiten Agenten mit derselben Funktion wie der erste Agent an das zweite Terminal; und Vornehmen einer verschlüsselten Kommunikation zwischen dem ersten Agenten und dem zweiten Agenten; wobei das Verfahren ferner den Schritt umfasst: unabhängiges und synchrones Ändern eines Parameters, der für die verschlüsselte Kommunikation notwendig ist, wenn die kryptographische Verarbeitungssequenz die Zeit zum Umschalten des Verschlüsselungsverfahrens erreicht.
  2. Verschlüsselungskommunikationsverfahren zum Senden verschlüsselter Daten zwischen einem ersten Terminal und einem zweiten Terminal, welches die Schritte umfasst: Senden, in einer verschlüsselten Weise, von dem ersten Terminal, in dem ein erster Agent installiert ist, der ein Programm zur kryptographischen Verarbeitung enthält, eines zweiten Agenten mit derselben Funktion wie der erste Agent an das zweite Terminal; und Vornehmen einer verschlüsselten Kommunikation zwischen dem ersten Agenten und dem zweiten Agenten; wobei der erste und der zweite Agent jeweils eine Vielzahl kryptographischer Verarbeitungseinheiten vorsehen, und den weiteren Schritt: Ändern der kryptographischen Verarbeitungseinheiten, die zu verwenden sind, während eine Synchronisation zwischen dem ersten und dem zweiten Agenten aufrechterhalten wird.
  3. Verschlüsselungskommunikationsverfahren nach Anspruch 2, bei welchem ein Verschlüsselungsverfahrensauswahl-Server, der jeden von dem ersten und dem zweiten Agenten anweist, welche kryptographische Verarbeitungseinheit zu verwenden ist, vorgesehen wird, wobei das Verfahren ferner die Schritte umfasst: Anweisen, welche kryptographische Verarbeitungseinheit zu verwenden ist, von dem Verschlüsselungsverfahrensauswahl-Server an jeden von dem ersten und dem zweiten Agenten; und Ändern, an jedem von dem ersten und dem zweiten Agenten, der zu verwendenden kryptographischen Verarbeitungseinheiten in Übereinstimmung mit der von dem Verschlüsselungsverfahrensauswahl-Server empfangenen Instruktion.
  4. Verschlüsselungskommunikationsverfahren nach Anspruch 2, bei welchem jeder von dem ersten und dem zweiten Agenten eine Funktion zur Bestimmung der zu verwendenden kryptographischen Verarbeitungseinheit hat, und die Funktionen gleich sind, wobei das Verfahren ferner die Schritte umfasst: Einstellen desselben Initialwerts in jedem von dem ersten und dem zweiten Agenten; Bestimmen einer zu verwendenden kryptographischen Verarbeitungseinheit in Übereinstimmung mit dem Initialwert in jedem von dem ersten und dem zweiten Agenten; und Ändern kryptographischer Verarbeitungseinheiten gemäß der Bestimmung in jedem von dem ersten und dem zweiten Agenten.
  5. Verschlüsselungskommunikationsverfahren nach einem der vorhergehenden Ansprüche, bei welchem durch den ersten und den zweiten Agenten vorgesehene Verschlüsselungsverfahren eine Pseudozufallszahl verwenden.
  6. Verschlüsselungskommunikationsverfahren nach Anspruch 5, welches ferner die Schritte umfasst: Schaffen eines Startparameters einer Pseudozufallszahl in dem ersten Terminal; Einstellen des geschaffenen Startparameters in dem ersten und dem zweiten Agenten; und Generieren von Pseudozufallszahlen in Übereinstimmung mit dem eingestellten Startparameter und Ausführen einer kryptographischen Verarbeitung unter Verwendung der Pseudozufallszahlen in dem ersten bzw. dem zweiten Agenten.
  7. Verschlüsselungskommunikationsverfahren nach Anspruch 6, welches ferner den Schritt umfasst: Ändern der kryptographischen Verarbeitungen in regelmäßigen oder unregelmäßigen Intervallen.
  8. Verschlüsselungskommunikationsverfahren nach Anspruch 5, bei welchem ein Startparameter-Server, der einen Startparameter für eine Pseudozufallszahl generiert, vorgesehen wird, wobei das Verfahren ferner die Schritte umfasst: Generieren eines Startparameters für eine Pseudozufallszahl in dem Startparameter-Server; Einstellen des generierten Startparameters in dem ersten und dem zweiten Agenten; und Generieren einer Pseudozufallszahl in Übereinstimmung mit dem eingestellten Startparameter und Ausführen einer kryptographischen Verarbeitung unter Verwendung der Pseudozufallszahl in dem ersten bzw. dem zweiten Agenten.
  9. Verschlüsselungskommunikationsverfahren nach Anspruch 2, 3 oder 4, bei welchem jeder von dem ersten und dem zweiten Agenten eine Funktion zur Schaffung eines Startparameters für eine Pseudozufallszahl hat, wobei die Funktionen gleich sind, wobei das Verfahren ferner die Schritte umfasst: Einstellen desselben Initialwerts in jedem von dem ersten und dem zweiten Agenten; Schaffen eines Startparameters für eine Pseudozufallszahl gemäß dem Initialwert in jedem von dem ersten und dem zweiten Agenten; und Generieren einer Pseudozufallszahl in Übereinstimmung mit dem Startparameter und Ausführen einer kryptographischen Verarbeitung unter Verwendung des Startparameters in dem ersten bzw. dem zweiten Agenten.
  10. Verschlüsselungskommunikationsverfahren nach einem der vorhergehenden Ansprüche, bei welchem eine Vielzahl zweiter Terminals vorgesehen wird, und der Sendeschritt das Verteilen des zweiten Agenten an jedes der zweiten Terminals umfasst.
  11. Verschlüsselungskommunikationsverfahren nach einem der vorhergehenden Ansprüche, bei welchem der zweite Agent in einem mobilen Code beschrieben wird.
  12. Speichermedium, welches ein Programm speichert, das die folgenden Funktionen vorsieht, wenn es von einem Computer verwendet wird: (a) Vornehmen einer kryptographischen Verarbeitung in einem Transferziel-Terminal, (b) Senden, in einer verschlüsselten Weise, eines Agenten, der ein Programm enthält, das der Funktion (a) entspricht, an das Transferziel-Terminal, und (c) Vornehmen einer verschlüsselten Kommunikation mit dem gesendeten Agenten; mit der weiteren Funktion: (d) Ändern eines Parameters, der für die verschlüsselte Kommunikation mit dem gesendeten Agenten notwendig ist, synchron mit und unabhängig von dem gesendeten Agenten, wenn die kryptographische Verarbeitungssequenz die Zeit zum Umschalten des Verschlüsselungsverfahrens erreicht.
  13. Speichermedium, welches ein Programm speichert, das die folgenden Funktionen vorsieht, wenn es von einem Computer verwendet wird: (a) Vornehmen einer kryptographischen Verarbeitung in einem Transferziel-Terminal, (b) Senden, in einer verschlüsselten Weise, eines Agenten, der ein Programm enthält, das der Funktion (a) entspricht, an das Transferziel-Terminal, und (c) Vornehmen einer verschlüsselten Kommunikation mit dem gesendeten Agenten; mit den weiteren Funktionen: (d) Versehen des Agenten mit einer Vielzahl kryptographischer Verarbeitungseinheiten, und (e) Ändern der zu verwendenden kryptographischen Verarbeitungseinheiten, während eine Synchronisation zwischen dem Computer und dem Transferziel-Terminal aufrechterhalten wird.
  14. Speichermedium, welches ein Programm speichert, nach Anspruch 12 oder 13, bei welchem die Funktion (b) angepasst ist, den Agenten an eine Vielzahl von Terminals zu senden, um so eine verschlüsselte Kommunikation zwischen der die Agenten verwendenden Vielzahl von Terminals vorzunehmen.
  15. Verschlüsseltes Kommunikationssystem, welches zumindest einen Computer mit einem Speichermedium nach Anspruch 12, 13 oder 14 enthält.
  16. Informationsverarbeitungseinheit (10) zur Verwendung bei einer verschlüsselten Kommunikation, welche enthält: einen ersten Agenten (14), der in der Informationsverarbeitungseinheit (10) permanent resident ist, und der eine Einrichtung zur kryptographischen Verarbeitung von Informationen enthält; einen zweiten Agenten (11), der dieselbe Funktion wie der erste Agent hat, zur Verwendung an einem Ziel der verschlüsselten Kommunikation; und eine Sendeeinrichtung (12) zum Senden, in einer verschlüsselten Weise, des zweiten Agenten (11) an das Ziel; wodurch, nach der Transmission des zweiten Agenten durch die Sendeeinrichtung, der erste Agent (14) in der Informationsverarbeitungseinheit (10) und der zweite Agent (11) am Ziel eine verschlüsselte Kommunikation vornehmen können; wobei der erste Agent und der zweite Agent unabhängig und synchron einen Parameter ändern, der für die verschlüsselte Kommunikation notwendig ist, wenn die kryptographische Verarbeitungssequenz die Zeit zum Umschalten des Verschlüsselungsverfahrens erreicht.
  17. Informationsverarbeitungseinheit (10) zur Verwendung bei einer verschlüsselten Kommunikation, welche enthält: einen ersten Agenten (14), der in der Informationsverarbeitungseinheit (10) permanent resident ist, und der eine Einrichtung zur kryptographischen Verarbeitung von Informationen enthält; einen zweiten Agenten (11), der im Wesentlichen dieselbe Funktion wie der erste Agent hat, zur Verwendung an einem Ziel der verschlüsselten Kommunikation; und eine Sendeeinrichtung (12) zum Senden, in einer verschlüsselten Weise, des zweiten Agenten (11) an das Ziel; wodurch, nach der Transmission des zweiten Agenten durch die Sendeeinrichtung, der erste Agent (14) in der Informationsverarbeitungseinheit (10) und der zweite Agent (11) am Ziel eine verschlüsselte Kommunikation vornehmen können; wobei der erste Agent (14) und der zweite Agent (11) jeweils eine Vielzahl kryptographischer Verarbeitungseinheiten vorsehen, und der erste und der zweite Agent eingerichtet sind, die zu verwendenden kryptographischen Verarbeitungseinheiten zu ändern, während eine Synchronisation zwischen dem ersten und dem zweiten Agenten aufrechterhalten wird.
DE69731069T 1996-11-28 1997-07-10 Verschlüsselungskommunikationsystem mit einem Agent und einem Speichermedium zur Speicherung dieses Agents Expired - Lifetime DE69731069T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP31750596 1996-11-28
JP31750596 1996-11-28

Publications (2)

Publication Number Publication Date
DE69731069D1 DE69731069D1 (de) 2004-11-11
DE69731069T2 true DE69731069T2 (de) 2005-02-17

Family

ID=18088990

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69731069T Expired - Lifetime DE69731069T2 (de) 1996-11-28 1997-07-10 Verschlüsselungskommunikationsystem mit einem Agent und einem Speichermedium zur Speicherung dieses Agents

Country Status (3)

Country Link
US (1) US6125186A (de)
EP (1) EP0862301B1 (de)
DE (1) DE69731069T2 (de)

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4027482B2 (ja) * 1997-12-24 2007-12-26 富士通株式会社 暗号復元を行う翻訳装置およびその方法
US6871220B1 (en) 1998-10-28 2005-03-22 Yodlee, Inc. System and method for distributed storage and retrieval of personal information
US6405245B1 (en) 1998-10-28 2002-06-11 Verticalone Corporation System and method for automated access to personal information
US8069407B1 (en) 1998-12-08 2011-11-29 Yodlee.Com, Inc. Method and apparatus for detecting changes in websites and reporting results to web developers for navigation template repair purposes
US7085997B1 (en) 1998-12-08 2006-08-01 Yodlee.Com Network-based bookmark management and web-summary system
US7672879B1 (en) 1998-12-08 2010-03-02 Yodlee.Com, Inc. Interactive activity interface for managing personal data and performing transactions over a data packet network
US7000106B2 (en) * 1999-03-26 2006-02-14 Siemens Communications, Inc. Methods and apparatus for kernel mode encryption of computer telephony
JP2000305453A (ja) * 1999-04-21 2000-11-02 Nec Corp 暗号化装置,復号装置,および暗号化・復号装置
US7752535B2 (en) 1999-06-01 2010-07-06 Yodlec.com, Inc. Categorization of summarized information
JP3437498B2 (ja) * 1999-07-22 2003-08-18 パナソニック コミュニケーションズ株式会社 画像入出力装置およびステータス情報通知方法
EP1075108A1 (de) * 1999-07-23 2001-02-07 BRITISH TELECOMMUNICATIONS public limited company Kryptographische Datenverteilung
JP2001051917A (ja) 1999-08-06 2001-02-23 Matsushita Graphic Communication Systems Inc 通信装置および受信通知方法
US6823456B1 (en) * 1999-08-25 2004-11-23 International Business Machines Corporation System and method for providing trusted services via trusted server agents
US7380015B1 (en) * 1999-09-10 2008-05-27 Kdd Corporation Apparatus and method for compression-transmitting and decoding picture information and storage medium stored its control programs
AU7705200A (en) 1999-09-20 2001-04-24 Ethentica, Inc. Context sensitive dynamic authentication in a cryptographic system
US7260724B1 (en) 1999-09-20 2007-08-21 Security First Corporation Context sensitive dynamic authentication in a cryptographic system
US6853988B1 (en) * 1999-09-20 2005-02-08 Security First Corporation Cryptographic server with provisions for interoperability between cryptographic systems
US7391865B2 (en) 1999-09-20 2008-06-24 Security First Corporation Secure data parser method and system
WO2001047205A2 (en) * 1999-12-22 2001-06-28 Tashilon Ltd. Enhanced computer network encryption using downloaded software objects
US20010037450A1 (en) * 2000-03-02 2001-11-01 Metlitski Evgueny A. System and method for process protection
ATE524031T1 (de) * 2000-03-03 2011-09-15 Qualcomm Inc Verfahren und einrichtung zur beteiligung an gruppenkommunikationsdiensten in einem bestehenden kommunikationssystem
AU7182701A (en) 2000-07-06 2002-01-21 David Paul Felsher Information record infrastructure, system and method
US7353380B2 (en) * 2001-02-12 2008-04-01 Aventail, Llc, A Subsidiary Of Sonicwall, Inc. Method and apparatus for providing secure streaming data transmission facilities using unreliable protocols
US7383329B2 (en) 2001-02-13 2008-06-03 Aventail, Llc Distributed cache for state transfer operations
US7360075B2 (en) 2001-02-12 2008-04-15 Aventail Corporation, A Wholly Owned Subsidiary Of Sonicwall, Inc. Method and apparatus for providing secure streaming data transmission facilities using unreliable protocols
DE10110049A1 (de) * 2001-03-02 2002-09-05 Bosch Gmbh Robert Verfahren und Vorrichtung zur Datenverschlüsselung bei der Programmierung von Steuergeräten
US7181017B1 (en) 2001-03-23 2007-02-20 David Felsher System and method for secure three-party communications
US20020166051A1 (en) * 2001-05-03 2002-11-07 Marvin Moser Method, system, and apparatus for encrypting a web browser script
FR2825212B1 (fr) * 2001-05-23 2003-10-31 Unlog Dispositif de communication electronique securise
US7210034B2 (en) * 2003-01-30 2007-04-24 Intel Corporation Distributed control of integrity measurement using a trusted fixed token
US9818136B1 (en) 2003-02-05 2017-11-14 Steven M. Hoffberg System and method for determining contingent relevance
US7979707B2 (en) * 2003-07-10 2011-07-12 Emc Corporation Secure seed generation protocol
US7548620B2 (en) * 2004-02-23 2009-06-16 Verisign, Inc. Token provisioning
US20050235063A1 (en) * 2004-04-15 2005-10-20 Wilson Christopher S Automatic discovery of a networked device
US20050231849A1 (en) * 2004-04-15 2005-10-20 Viresh Rustagi Graphical user interface for hard disk drive management in a data storage system
US20050235283A1 (en) * 2004-04-15 2005-10-20 Wilson Christopher S Automatic setup of parameters in networked devices
US7681007B2 (en) * 2004-04-15 2010-03-16 Broadcom Corporation Automatic expansion of hard disk drive capacity in a storage device
US20050235364A1 (en) * 2004-04-15 2005-10-20 Wilson Christopher S Authentication mechanism permitting access to data stored in a data processing device
US20050259458A1 (en) * 2004-05-21 2005-11-24 Viresh Rustagi Method and system of encrypting/decrypting data stored in one or more storage devices
AU2005299317A1 (en) 2004-10-25 2006-05-04 Security First Corp. Secure data parser method and system
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
CA2629015A1 (en) 2005-11-18 2008-05-08 Rick L. Orsini Secure data parser method and system
KR100670832B1 (ko) * 2005-12-12 2007-01-19 한국전자통신연구원 에이전트를 이용한 사용자 개인정보 송수신 방법 및 장치
US20080016248A1 (en) * 2006-07-14 2008-01-17 George Tsirtsis Method and apparatus for time synchronization of parameters
JP4983165B2 (ja) * 2006-09-05 2012-07-25 ソニー株式会社 通信システムおよび通信方法、情報処理装置および方法、デバイス、プログラム、並びに記録媒体
US7606752B2 (en) 2006-09-07 2009-10-20 Yodlee Inc. Host exchange in bill paying services
EP3010174A1 (de) 2006-11-07 2016-04-20 Security First Corp. System und verfahren zur datenverteilung und -sicherung
WO2008070167A1 (en) 2006-12-05 2008-06-12 Security First Corporation Improved tape backup method
CN101075847A (zh) * 2007-06-25 2007-11-21 北京创毅视讯科技有限公司 一种移动多媒体系统中的同步信号发送方法
CN102932136B (zh) 2007-09-14 2017-05-17 安全第一公司 用于管理加密密钥的系统和方法
CA2710868A1 (en) 2008-01-07 2009-07-16 Security First Corp. Systems and methods for securing data using multi-factor or keyed dispersal
EP2163067B1 (de) 2008-02-22 2013-12-25 Security First Corp. Systeme und Verfahren für sichere Arbeitsgruppenverwaltung und Kommunikation
DE102008019620A1 (de) * 2008-04-14 2009-10-15 Sia Syncrosoft Verfahren zur Verarbeitung von Daten in verschiedenen verschlüsselten Domänen
US8261334B2 (en) 2008-04-25 2012-09-04 Yodlee Inc. System for performing web authentication of a user by proxy
US8555359B2 (en) 2009-02-26 2013-10-08 Yodlee, Inc. System and methods for automatically accessing a web site on behalf of a client
EP2433409A2 (de) 2009-05-19 2012-03-28 Security First Corporation Systeme und verfahren zum sichern von daten in der cloud
CN102473214B (zh) 2009-07-31 2016-05-25 国际商业机器公司 用于协作代理加密和解密的方法和设备
CN104917780A (zh) 2009-11-25 2015-09-16 安全第一公司 对移动中数据进行保护的系统和方法
CA2795206C (en) 2010-03-31 2014-12-23 Rick L. Orsini Systems and methods for securing data in motion
EP2577936A2 (de) 2010-05-28 2013-04-10 Lawrence A. Laurich Beschleunigersystem zur verwendung mit sicherer datenspeicherung
US8718278B2 (en) * 2011-01-20 2014-05-06 International Business Machines Corporation Method and system for encryption of a datastream
GB2488753A (en) * 2011-02-24 2012-09-12 Carlos Eduardo Bevilacqua Leal Encrypted communication
US8700991B1 (en) * 2011-07-19 2014-04-15 Amazon Technologies, Inc. Protecting content presented in a web browser
US20140237239A1 (en) * 2012-12-31 2014-08-21 Safelylocked, Llc Techniques for validating cryptographic applications
CA2900504A1 (en) 2013-02-13 2014-08-21 Security First Corp. Systems and methods for a cryptographic file system layer
JP2014192612A (ja) * 2013-03-26 2014-10-06 Toshiba Corp 生成装置、暗号化装置、復号装置、生成方法、暗号化方法、復号方法およびプログラム
WO2015142765A1 (en) * 2014-03-17 2015-09-24 Coinbase, Inc Bitcoin host computer system
SE538279C2 (sv) 2014-09-23 2016-04-19 Kelisec Ab Förfarande och system för att fastställa förekomst av
SE542460C2 (en) 2014-10-09 2020-05-12 Kelisec Ab Improved security through authenticaton tokens
SE539271C2 (en) 2014-10-09 2017-06-07 Kelisec Ab Mutual authentication
SE538304C2 (sv) * 2014-10-09 2016-05-03 Kelisec Ab Improved installation of a terminal in a secure system
SE540133C2 (en) 2014-10-09 2018-04-10 Kelisec Ab Improved system for establishing a secure communication channel
US9733849B2 (en) 2014-11-21 2017-08-15 Security First Corp. Gateway for cloud-based secure storage
US9735958B2 (en) * 2015-05-19 2017-08-15 Coinbase, Inc. Key ceremony of a security system forming part of a host computer for cryptographic transactions
US10341087B2 (en) * 2016-12-29 2019-07-02 Intel Corporation Techniques for cipher system conversion
SG11202010090RA (en) 2018-04-17 2020-11-27 Coinbase Inc Offline storage system and method of use
US11394543B2 (en) 2018-12-13 2022-07-19 Coinbase, Inc. System and method for secure sensitive data storage and recovery
US10903991B1 (en) 2019-08-01 2021-01-26 Coinbase, Inc. Systems and methods for generating signatures
WO2021076868A1 (en) * 2019-10-16 2021-04-22 Coinbase, Inc. Systems and methods for re-using cold storage keys

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3003998A1 (de) * 1980-02-04 1981-09-24 Licentia Patent-Verwaltungs-Gmbh, 6000 Frankfurt System zur ver- und entschluesselung von daten
US4885778A (en) * 1984-11-30 1989-12-05 Weiss Kenneth P Method and apparatus for synchronizing generation of separate, free running, time dependent equipment
US4677670A (en) * 1985-07-01 1987-06-30 Henderson Jr Paul B Paired-secure message identification controller for computers and the like
JPS63278438A (ja) * 1987-05-11 1988-11-16 Hitachi Ltd 暗号手順非公開による暗号システム
JPH0294836A (ja) * 1988-09-30 1990-04-05 Aisin Seiki Co Ltd 秘匿通信制御装置
JP2821306B2 (ja) * 1992-03-06 1998-11-05 三菱電機株式会社 Icカードと端末機との間の認証方法およびそのシステム
US5349643A (en) * 1993-05-10 1994-09-20 International Business Machines Corporation System and method for secure initial program load for diskless workstations
US6075863A (en) * 1996-02-28 2000-06-13 Encanto Networks Intelligent communication device

Also Published As

Publication number Publication date
EP0862301B1 (de) 2004-10-06
US6125186A (en) 2000-09-26
EP0862301A3 (de) 1999-12-29
DE69731069D1 (de) 2004-11-11
EP0862301A2 (de) 1998-09-02

Similar Documents

Publication Publication Date Title
DE69731069T2 (de) Verschlüsselungskommunikationsystem mit einem Agent und einem Speichermedium zur Speicherung dieses Agents
DE60027046T2 (de) Synchronisierung von sitzungsschlüsseln
DE60026253T2 (de) Verfahren und Vorrichtung zur Verschlüsselung eines Dateninhalts
DE60303018T2 (de) Mehrbenutzerschlüsselerzeugung auf polynombasis und Authentisierungsverfahren uns System
DE69320924T2 (de) Verfahren zur Verwaltung eines Geheimübertragungsschlüssels
DE69133502T2 (de) Geheimübertragungsverfahren und -gerät
DE60026451T2 (de) Informationsverteilungsvorrichtung, Informationsempfangsgerät und Informationsverteilungsverfahren
DE69126801T2 (de) Multimedianetzwerksystem
DE69233365T2 (de) Authentifizierungsvorrichtung für zellulare Telefone
CA2165874C (en) Method for secure session key generation
DE69633590T2 (de) Verfahren zur Unterschrift und zur Sitzungsschlüsselerzeugung
DE69329111T2 (de) Kontinuierliche synchrone ver- und entschlüsselung in einem drahtlosen kommunikationssystem während des weiterreichens einer verbindung
DE69029877T2 (de) Telekonferenzverfahren für Verwaltungssystem mit Sicherheitstaste
DE69733262T2 (de) Verfahren und Vorrichtung zur Verschlüsselung des Funkverkehrs in einem Tele- kommuniationsnetzwerk
DE69230741T2 (de) Verfahren und Anordnung zur Verschlüsselung von Informationssignalen
DE60312659T2 (de) Leichtgewicht identifizierung von informationen
DE69416809T2 (de) Verbesserungen der Sicherheit in Datenverarbeitungssystemen
DE69929251T2 (de) Verschlüsselungssystem mit einem schlüssel veränderlicher länge
DE69833821T2 (de) Übertragungsverfahren und -vorrichtung zum kombinierten Multiplexen und Verschlüsseln
DE60124765T2 (de) Verfahren und vorrichtung zur verwaltung von sicherheitssensiblen kollaborativen transaktionen
DE60028900T2 (de) Automatische Neusynchronisation einer Geiheimsynchronisationsinformation
DE69230423T2 (de) Geheimübertragungssystem für zellulare Telefonie
DE10148415C2 (de) Verfahren und Vorrichtung zum Verschlüsseln und Entschlüsseln von Daten
EP1793525B1 (de) Verfahren zum Ändern eines Gruppenschlüssels in einer Gruppe von Netzelementen in einem Netz
EP0903027B1 (de) Verfahren zum gruppenbasierten kryptographischen schlüsselmanagement zwischen einer ersten computereinheit und gruppencomputereinheiten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: SEEGER SEEGER LINDNER PARTNERSCHAFT PATENTANWAELTE