DE112012003293T5 - Vorrichtung und Verfahren zur Verbesserung der Datensicherheit in einer Host-Computer-Vorrichtung und einer Peripherie-Vorrichtung - Google Patents

Vorrichtung und Verfahren zur Verbesserung der Datensicherheit in einer Host-Computer-Vorrichtung und einer Peripherie-Vorrichtung Download PDF

Info

Publication number
DE112012003293T5
DE112012003293T5 DE112012003293.4T DE112012003293T DE112012003293T5 DE 112012003293 T5 DE112012003293 T5 DE 112012003293T5 DE 112012003293 T DE112012003293 T DE 112012003293T DE 112012003293 T5 DE112012003293 T5 DE 112012003293T5
Authority
DE
Germany
Prior art keywords
data
peripheral device
host
downstream
interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112012003293.4T
Other languages
English (en)
Inventor
Gita Srivastava
Piyush B. Srivastava
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.)
GIGAVATION INC., DALLAS, US
GIGAVATION INC., US
Original Assignee
Gita Srivastava
Piyush B. Srivastava
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 Gita Srivastava, Piyush B. Srivastava filed Critical Gita Srivastava
Publication of DE112012003293T5 publication Critical patent/DE112012003293T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices

Abstract

Verfahren zur Verbesserung der Datensicherheit von mindestens einer aus einer Host-Computer-Vorrichtung und einer Peripherie-Vorrichtung, die über eine Kommunikationsschnittstelle mit der Host-Computer-Vorrichtung gekoppelt ist. Daten werden von der Peripherie-Vorrichtung oder der Host-Computer-Vorrichtung transparent empfangen, und die empfangenen Daten werden gespeichert. Die gespeicherten Daten werden analysiert, um einen Sachverhalt zu erkennen, der mit einem Sicherheitsrisiko verbunden ist. Wenn kein solcher Sachverhalt erkannt wird, werden die Daten transparent zur anderen von Peripherie-Vorrichtung oder Host weitergeleitet. Wenn jedoch ein Sachverhalt, der mit einem Sicherheitsrisiko verbunden ist, erkannt wird, wird ein durch eine Regel definierter Sicherheitsprozess ausgeführt. Es werden eine zugehörige Vorrichtung vorgesehen sowie weitere Verfahren und weitere Vorrichtungen.

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft eine Vorrichtung und ein Verfahren zur Verbesserung der Datensicherheit in mindestens einer aus einer Host-Computer-Vorrichtung und einer Peripherie-Vorrichtung, und insbesondere wenn solche Vorrichtungen an einer Kommunikation über eine Kommunikationsschnittstelle beteiligt sind.
  • Technischer Hintergrund
  • Eine Bus-Netzwerk-Topologie ist eine Computernetzwerk-Architektur, bei der zwei oder mehrere Clients über eine gemeinsam genutzte Kommunikationsleitung, Bus genannt, miteinander verbunden sind. Auf dem Bus können serielle oder parallele Signalisierung und Adress- und Datenübertragung benutzt werden. Beispiele für Busse sind Universal Serial Bus (USB) und IEEE 1394 (im Allgemeinen als ”FireWire” bezeichnet). In manchen Fällen werden ”Hubs” dazu benutzt, einen gegebenen Bus über einzelne Schnittstellen an mehrere Clients ”aufzufächern”. Solche Hubs werden im Allgemeinen eingesetzt, es Benutzern von Computersystemen zu ermöglichen, mehrere Vorrichtungen, wie etwa Tastaturen, Mäuse und rotierende oder Halbleiter-Massenspeicher-Vorrichtungen (magnetische und Halbleiter-”Plattenlaufwerke”) an ein einzelnes Computersystem anzuschließen. In manchen Fällen können die Hubs extern zum Computersystem sein, und in anderen Fällen können die Hubs intern sein, wie etwa auf einer Hauptplatine des Computersystems.
  • In einer Bus-Netzwerk-Topologie nutzen mehr als ein Client, die mit einem Bus verbunden sind, wie etwa über einen Hub, die Bandbreite des Busses gemeinsam. Außerdem haben mehr als ein Client Zugriff auf die Befehle, Adressen und Daten, die über den Bus gesendet werden. Jedem Client wird eine Adresse zugeordnet, und für diese Busse definierte Protokolle bestimmen, dass Clients Befehle und Daten ignorieren müssen, die nicht an die Clients adressiert sind.
  • In Bus-Netzwerk-Topologien nach dem Stand der Technik kann ein schädlicher Client jedoch Befehle, Adressen und Daten lesen, die über den Bus übertragen werden, aber nicht für den Client gedacht sind. Ein solcher schädlicher Client kann zum Beispiel eine Kopie solcher ”ausgespähter” Daten in einem Speicher abspeichern und die gespeicherten Daten später einem Dritten zugänglich machen, ohne dass der Besitzer des Systems, in dem sich der Bus befindet, etwas davon weiß. Ein solcher schädlicher Client stellt daher ein mögliches Sicherheitsproblem für den Besitzer des Systems dar.
  • Zum Beispiel kann ein hypothetischer Angreifer eine USB-Vorrichtung vorsehen, die einem typischen Benutzer wie eine allgemein übliche Massenspeicher-Vorrichtung vorkommt (USB-Speicherstick). Wenn sie erstmals mit einem Computersystem verbunden wird, kann die Vorrichtung automatisch einen Gerätetreiber installieren, um die Vorrichtung zu handhaben. Viele solche Vorrichtungen installieren automatisch Gerätetreiber, ohne bei ihren Benutzern Verdacht zu erregen. Die schädliche Vorrichtung kann Funktionen ausführen, die mit herkömmlichen USB-Massenspeicher-Vorrichtungen im Einklang stehen, wodurch sie für den Benutzer scheinbar wie erwartet arbeiten.
  • Die Vorrichtung kann jedoch zusätzlichen Speicher und Schaltkreise oder Programme enthalten, die dem Benutzer nicht offenbart werden. Während die Vorrichtung mit einer USB-Schnittstelle verbunden ist, kann die Vorrichtung in dem zusätzlichen Speicher Kopien ausgewählter Daten speichern, die vom USB übertragen werden, aber nicht an die Vorrichtung adressiert sind. Einige dieser Daten können sensible Daten sein, wie firmeneigene Informationen oder personenbezogene Informationen über den Benutzer, z. B. Name, Geburtsdatum, Kontonummer oder Passwort. Später, wenn der Gerätetreiber erkennt, dass das Computersystem mit dem Internet verbunden ist, können die Vorrichtung oder der Gerätetreiber die erschlichenen Daten über das Internet an den Angreifer senden. Eine andere solche schädliche Vorrichtung kann einen Hochfrequenz-(HF)-Sender enthalten, und die Vorrichtung kann die Daten über ein HF-Signal an den Angreifer senden.
  • Somit sind Bus-Netzwerk-Topologien nach dem Stand der Technik gegen Angriffe ungeschützt, bei denen Daten durch Dritte erschlichen werden können.
  • Zusammenfassung der Ausführungsformen
  • In einer ersten Ausführungsform der Erfindung wird ein Verfahren vorgesehen, die Sicherheit mindestens einer von einer Host-Computer-Vorrichtung und einer Peripherie-Vorrichtung zu verbessern. Die Host-Computer-Vorrichtung ist mit der Peripherie-Vorrichtung über eine Kommunikations-Schnittstelle gekoppelt. Das Verfahren umfasst das transparente Empfangen von Daten von der Peripherie-Vorrichtung oder der Host-Computer-Vorrichtung, das automatische Speichern der empfangenen Daten und das automatische Analysieren der gespeicherten Daten, um einen Sachverhalt zu erkennen, der ein Sicherheitsrisiko darstellt. Das Verfahren umfasst ferner, wenn die Analyse einen solchen Sachverhalt nicht erkennt, das automatische transparente Weiterleiten der Daten an die andere von Peripherie-Vorrichtung und Host. Das Verfahren umfasst ferner, wenn die Analyse einen solchen Sachverhalt nicht erkennt, das automatische Ausführen eines durch eine Regel definierten Sicherheitsprozesses. Das Verfahren kann ferner optional das Durchführen eines Erhaltungs-Prozesses umfassen, der automatisch das Beenden der Kommunikation zwischen den Vorrichtungen verhindert.
  • Die Host-Computer-Vorrichtung kann abnehmbar mit der Peripherie-Vorrichtung über die Kommunikations-Schnittstelle gekoppelt sein.
  • In einer anderen Ausführungsform der Erfindung wird ein Verfahren vorgesehen, die Sicherheit mindestens einer von einer Host-Computer-Vorrichtung und einer Peripherie-Vorrichtung zu verbessern. Die Host-Computer-Vorrichtung ist mit der Peripherie-Vorrichtung über eine Kommunikations-Schnittstelle gekoppelt. Das Verfahren umfasst das Empfangen von Daten von der Peripherie-Vorrichtung oder der Host-Computer-Vorrichtung, das automatische Speichern der empfangenen Daten, das Durchführen eines Erhaltungs-Prozesses, der automatisch das Beenden der Kommunikation zwischen den Vorrichtungen verhindert, und das automatische Analysieren der gespeicherten Daten, um einen Sachverhalt zu erkennen, der ein Sicherheitsrisiko darstellt. Das Verfahren umfasst ferner, wenn die Analyse einen solchen Sachverhalt nicht erkennt, das automatische Weiterleiten der Daten an die andere von Peripherie-Vorrichtung und Host. Das Verfahren umfasst ferner, wenn die Analyse einen solchen Sachverhalt nicht erkennt, das automatische Ausführen eines durch eine Regel definierten Sicherheitsprozesses. Alternativ oder zusätzlich umfasst der Erhaltungs-Prozess das automatische Senden eines anderen Signals als eine Daten-Weiterleitung. In einer anderen ähnlichen Ausführungsform kann das Signal ein (im Allgemeinen als ”NAK” oder ”NACK” bezeichnetes) Signal umfassen.
  • Bezogen auf die Ausführungsformen in den vorangehenden Abschnitten umfasst das Analysieren optional das Durchführen eines Analyseprozesses, der die empfangenen Daten gegen eine Datenbank testet, um einen Sachverhalt zu erkennen, der ein Sicherheitsrisiko darstellt. Ebenfalls optional umfasst eine weitere Ausführungsform ferner das Verursachen, dass die Datenbank aktualisiert wird, um zusätzliche Sachverhalte zu enthalten, die ein Sicherheitsrisiko darstellen. Alternativ oder zusätzlich umfasst der Analyseprozess das Zugreifen auf die Datenbank mit einem Hash-Algorithmus. Die Host-Computer-Vorrichtung kann abnehmbar mit der Peripherie-Vorrichtung über die Kommunikations-Schnittstelle gekoppelt sein.
  • In ähnlichen Ausführungsformen umfasst der Sicherheitsprozess das automatische Verschlüsseln von Daten, die an die Peripherie-Vorrichtung gesendet werden. Der Sicherheitsprozess umfasst optional eines oder mehreres von: Automatisches Einschränken der Kommunikation zwischen dem Host und der Peripherie entsprechend der Regel, automatisches Modifizieren von Daten entsprechend der Regel, und automatisches Verzögern der Übertragung von Daten zwischen dem Host und der Peripherie entsprechend der Regel. Ebenfalls optional führt der Sicherheitsprozess einen sekundären Prozess aus, der das Speichern einer Protokoll-Kopie von mindestens einem Teil der Daten umfasst. Der Sicherheitsprozess führt optional einen sekundären Prozess aus, der es umfasst, den Benutzer über eine zweite Kommunikationsschnittstelle zu benachrichtigen. Die Regel wird optional auf der Grundlage der Art der Peripherie-Vorrichtung ausgewählt. In einer weiteren ähnlichen Ausführungsform ist die Regel außerdem dynamisch und auf der Grundlage einer von der Host-Vorrichtung vorgesehenen Eingabe ausgewählt. In einer anderen ähnlichen Ausführungsform ist die Regel dynamisch und auf der Grundlage einer von einem Benutzer vorgesehenen Eingabe ausgewählt. In einer anderen ähnlichen Ausführungsform ist die Regel dynamisch und auf der Grundlage eines Zustandes ausgewählt, der mindestens eines von Host, Peripherie und Kommunikations-Schnittstelle beschreibt. In einer anderen ähnlichen Ausführungsform ist die Regel dynamisch und aus einer Vielzahl von Regeln ausgewählt, und die Vielzahl von Regeln ist in der Host-Vorrichtung gespeichert. In einer anderen ähnlichen Ausführungsform ist die Regel dynamisch und aus einer Vielzahl von Regeln ausgewählt, und die Vielzahl von Regeln ist in der Peripherie-Vorrichtung gespeichert. In einer anderen ähnlichen Ausführungsform ist die Regel dynamisch und aus einer Vielzahl von Regeln ausgewählt, und die Vielzahl von Regeln ist in einem Modul gespeichert, das die Prozesse zum Verbessern der Sicherheit ausführt. Die Host-Computer-Vorrichtung kann abnehmbar mit der Peripherie-Vorrichtung über die Kommunikations-Schnittstelle gekoppelt sein.
  • Optional ist die Regel abhängig von einer Eigenschaft der Daten. Ebenfalls optional wird die Regel auf der Grundlage einer Konfiguration der Host-Computer-Vorrichtung ausgewählt. Alternativ wird die Regel auf der Grundlage eines Protokolls der Kommunikations-Schnittstelle ausgewählt. Alternativ umfasst der Sicherheitsprozess einen Isolations-Prozess, mit dem die Peripherie-Vorrichtung elektrisch von der Host-Computer-Vorrichtung getrennt wird.
  • In einer weiteren Ausführungsform wird ein Verfahren zur Verbesserung der Sicherheit mindestens einer aus einer Host-Computer-Vorrichtung und einer Peripherie-Vorrichtung, die eine Benutzeroberfläche aufweist, vorgesehen, wobei die Host-Computer-Vorrichtung über eine Kommunikations-Schnittstelle mit der Peripherie-Vorrichtung gekoppelt ist. Das Verfahren dieser Ausführungsform umfasst das Empfangen von Daten von der Peripherie-Vorrichtung, die ihre Art kennzeichnen und das Realisieren eines Authentifizierungsprozesses auf der Grundlage der empfangenen Daten; ein solcher Prozess umfasst das Ausgeben einer Aufforderung, die es erfordert, dass auf der Peripherie-Vorrichtung eine Antwort des Benutzers eingegeben wird. Das Verfahren umfasst auch das Analysieren von Daten, die von der Peripherie-Vorrichtung empfangen wurden und vorgeben, dass sie der Benutzerantwort zuzuordnen sind, um zu bestimmen, ob sich die Peripherie-Vorrichtung auf eine Weise verhält, wie sie auf der Grundlage ihrer Art erwartet wird.
  • In ähnlichen Ausführungsformen wird die Aufforderung über eine Anzeige oder alternativ durch einen Ton ausgegeben. Das Verfahren umfasst ferner optional, wenn die Peripherie-Vorrichtung für eine vorgegebene Zeitdauer untätig bleibt, das Wiederholen der Prozesse zum Realisieren des Authentifizierungsprozesses und der Analyse der Daten.
  • In einer weiteren Ausführungsform wird ein Verfahren zur individuellen Anpassung von Benutzer-Eingabemöglichkeiten von einer Peripherie-Vorrichtung zu einer Host-Computer-Vorrichtung vorgesehen, wobei die Host-Computer-Vorrichtung über eine Kommunikationsschnittstelle mit der Peripherie-Vorrichtung gekoppelt ist. Das Verfahren dieser Ausführungsform umfasst (a) Empfangen von Daten von der Peripherie-Vorrichtung, die ihre Art kennzeichnen, (b) Empfangen von Daten von der Peripherie-Vorrichtung, die vorgeben, dass sie der Benutzereingabe zuzuordnen sind, (c) Speichern der in den Schritten (a) und (b) empfangenen Daten und Analysieren der in Schritt (c) gespeicherten Daten, um einen Sachverhalt zu erkennen, der durch eine Identifizierungs-Regel definiert ist. Das Verfahren umfasst ferner, wenn die Analyse einen solchen Sachverhalt nicht erkennt, das Weiterleiten dieser oder zukünftiger Daten an die Host-Computer-Vorrichtung. Das Verfahren umfasst ferner, wenn die Analyse einen solchen Sachverhalt nicht erkennt, das Ausführen eines durch eine Anpassungs-Regel definierten Prozesses zur individuellen Anpassung. Die Host-Computer-Vorrichtung kann abnehmbar mit der Peripherie-Vorrichtung über die Kommunikations-Schnittstelle gekoppelt sein.
  • In einer ähnlichen Ausführungsform erkennt die Identifizierungs-Regel einen Sachverhalt, der mit einem Risiko für eine böswillige Aktivität verbunden ist. In einer anderen ähnlichen Ausführungsform erkennt die Identifizierungs-Regel einen vom Benutzer festgelegten Notfall, und die Anpassungs-Regel umfasst das Auslösen einer Reaktion auf den Notfall. Optional umfasst der Prozess der individuellen Anpassung das Ändern der Daten, die vorgeben, dass sie der Benutzereingabe zuzuordnen sind. Optional verhindert der Prozess der individuellen Anpassung die Kommunikation mindestens eines Teils der Daten, die vorgeben, dass sie der Benutzereingabe zuzuordnen sind, zur Host-Computer-Vorrichtung. In einer ähnlichen Ausführungsform stellt der Sachverhalt ein Sicherheitsrisiko dar, und der Prozess der individuellen Anpassung umfasst das Realisieren von durch die Regel festgelegten Gegenmaßnahmen, um das Sicherheitsrisiko zu verringern. In einer anderen ähnlichen Ausführungsform umfasst das Realisieren von Gegenmaßnahmen, sie auf der Host-Computer-Vorrichtung auszuführen.
  • In einer weiteren Ausführungsform wird ein Verfahren zum Verbessern der Sicherheit von Daten vorgesehen, die zwischen einer Host-Computer-Vorrichtung und einer über eine Kommunikationsschnittstelle gekoppelten Peripherie-Vorrichtung ausgetauscht werden. Das Verfahren dieser Ausführungsform umfasst das Erkennen, auf Dateiebene, von Daten, die einem Schreibbefehl zur Peripherie-Vorrichtung ausgesetzt sind, das Verschlüsseln der Daten auf Dateiebene entsprechend einer Regel mit einem Verschlüsselungsprozess, und das Bewirken, das die verschlüsselten Daten auf Dateiebene auf der Peripherie-Vorrichtung gespeichert werden. In einer ähnlichen Ausführungsform wird der Verschlüsselungsprozess unabhängig für jede Datei ausgewählt, die verschlüsselt wird. Die Host-Computer-Vorrichtung kann abnehmbar mit der Peripherie-Vorrichtung über die Kommunikations-Schnittstelle gekoppelt sein.
  • In einer weiteren Ausführungsform wird ein Verfahren zum Verbessern der Sicherheit von Daten vorgesehen, die zwischen einer Host-Computer-Vorrichtung und einer über eine Kommunikationsschnittstelle gekoppelten Peripherie-Vorrichtung ausgetauscht werden. Das Verfahren dieser Ausführungsform umfasst das Erkennen, auf Dateiebene, von Daten, die einem Lesebefehl von der Peripherie-Vorrichtung ausgesetzt sind, das Entschlüsseln der Daten auf Dateiebene entsprechend einer Regel mit einem Entschlüsselungsprozess, und das Bewirken, das die entschlüsselten Daten auf Dateiebene auf der Host-Computer-Vorrichtung gespeichert werden. Die Host-Computer-Vorrichtung kann abnehmbar mit der Peripherie-Vorrichtung über die Kommunikations-Schnittstelle gekoppelt sein.
  • In einer ähnlichen Ausführungsform wird der Entschlüsselungsprozess unabhängig für jede Datei ausgewählt, die entschlüsselt wird. In einer ähnlichen Ausführungsform wird die Regel auf der Grundlage einer Eigenschaft der zu sendenden Daten ausgewählt. In einer weiteren ähnlichen Ausführungsform wird die Regel auf der Grundlage von mindestens eines aus der Art der Peripherie und eines die Peripherie beschreibenden Zustands ausgewählt. In einer weiteren ähnlichen Ausführungsform wird die Regel auf der Grundlage von mindestens eines aus einer Konfiguration der Host-Computer-Vorrichtung und eines die Host-Computer-Vorrichtung beschreibenden Zustands ausgewählt. In einer weiteren ähnlichen Ausführungsform wird die Regel auf der Grundlage einer Identität eines Benutzers ausgewählt, die in einem Authentifizierungsprozess bestimmt wird.
  • In einer weiteren Ausführungsform wird ein Verfahren zum Verbessern der Sicherheit von Daten vorgesehen, die zwischen einer Host-Computer-Vorrichtung und einer über eine Kommunikationsschnittstelle gekoppelten Peripherie-Vorrichtung ausgetauscht werden. Das Verfahren dieser Ausführungsform umfasst das Empfangen von Daten von der Host-Computer-Vorrichtung, Speichern der empfangenen Daten, Realisieren eines Erhaltungs-Prozesses, der das Beenden der Kommunikation zwischen den Vorrichtungen verhindert, Analysieren der gespeicherten Daten, um eine Analyse darüber zu erhalten, welcher Teil davon, wenn überhaupt, zu verschlüsseln ist, Verschlüsseln der gespeicherten Daten entsprechend der Analyse, und Bewirken, dass die verschlüsselten Daten zur Peripherie-Vorrichtung übertragen werden.
  • In einer weiteren Ausführungsform wird ein Verfahren zum Verbessern der Sicherheit von Daten vorgesehen, die zwischen einer Host-Computer-Vorrichtung und einer über eine Kommunikationsschnittstelle gekoppelten Peripherie-Vorrichtung ausgetauscht werden. Das Verfahren dieser Ausführungsform umfasst das Empfangen von Daten von der Peripherie-Vorrichtung, Speichern der empfangenen Daten, Realisieren eines Erhaltungs-Prozesses, der das Beenden der Kommunikation zwischen den Vorrichtungen verhindert, Analysieren der gespeicherten Daten, um eine Analyse darüber zu erhalten, welcher Teil davon, wenn überhaupt, zu entschlüsseln ist, Entschlüsseln der gespeicherten Daten entsprechend der Analyse, und Bewirken, dass die entschlüsselten Daten zur Host-Computer-Vorrichtung übertragen werden. Die Host-Computer-Vorrichtung kann abnehmbar mit der Peripherie-Vorrichtung über die Kommunikations-Schnittstelle gekoppelt sein.
  • In einer ähnlichen Ausführungsform wird die Analyse auf der Grundlage einer Eigenschaft der zu sendenden Daten durchgeführt. In einer weiteren ähnlichen Ausführungsform wird die Analyse auf der Grundlage von mindestens eines aus der Art der Peripherie und eines die Peripherie beschreibenden Zustands durchgeführt. In einer weiteren ähnlichen Ausführungsform wird die Analyse auf der Grundlage von mindestens eines aus einer Konfiguration der Host-Computer-Vorrichtung und eines die Host-Computer-Vorrichtung beschreibenden Zustands durchgeführt. In einer weiteren ähnlichen Ausführungsform wird die Analyse auf der Grundlage einer Identität eines Benutzers durchgeführt, die in einem Authentifizierungsprozess bestimmt wird.
  • In weiteren Ausführungsformen wird eine Sicherheitsvorrichtung vorgesehen, die eine Hardwareanordnung umfasst, die gestaltet ist, die Realisierung des Verfahrens gemäß einer beliebigen der oben beschrieben Ausführungsformen zu bewirken.
  • In einer weiteren Ausführungsform wird eine Sicherheitsvorrichtung zur Verbesserung der Sicherheit mindestens einer aus einer Host-Computer-Vorrichtung und einer Peripherie-Vorrichtung vorgesehen, wobei die Host-Computer-Vorrichtung über eine Kommunikations-Schnittstelle mit der Peripherie-Vorrichtung gekoppelt ist. Die Sicherheitsvorrichtung dieser Ausführungsform umfasst eine Vorrichtung, auf der Prozesse laufen, die das transparente Empfangen von Daten von der Peripherie-Vorrichtung oder der Host-Computer-Vorrichtung, das Speichern der empfangenen Daten und das Analysieren der gespeicherten Daten umfassen, um einen Sachverhalt zu erkennen, der ein Sicherheitsrisiko darstellt. Das Verfahren umfasst ferner, wenn die Analyse einen solchen Sachverhalt nicht erkennt, das transparente Weiterleiten der Daten an die andere von Peripherie-Vorrichtung und Host. Das Verfahren umfasst ferner, wenn die Analyse einen solchen Sachverhalt nicht erkennt, das Ausführen eines durch eine Regel definierten Sicherheitsprozesses. Die Host-Computer-Vorrichtung kann abnehmbar mit der Peripherie-Vorrichtung über die Kommunikations-Schnittstelle gekoppelt sein.
  • In einer weiteren Ausführungsform wird eine Sicherheitsvorrichtung zur Verbesserung der Sicherheit mindestens einer aus einer Host-Computer-Vorrichtung und einer Peripherie-Vorrichtung vorgesehen, wobei die Host-Computer-Vorrichtung über eine Kommunikations-Schnittstelle mit der Peripherie-Vorrichtung gekoppelt ist. Die Sicherheitsvorrichtung umfasst eine Vorrichtung, auf der Prozesse laufen, die das Empfangen von Daten von der Peripherie-Vorrichtung oder der Host-Computer-Vorrichtung, das Speichern der empfangenen Daten, das Durchführen eines Erhaltungs-Prozesses, der das Beenden der Kommunikation zwischen den Vorrichtungen verhindert, und das Analysieren der gespeicherten Daten umfasst, um einen Sachverhalt zu erkennen, der ein Sicherheitsrisiko darstellt. Die von der Vorrichtung ausgeführten Prozesse umfassen ferner, wenn die Analyse einen solchen Sachverhalt nicht erkennt, das Weiterleiten der Daten an die andere von Peripherie-Vorrichtung und Host, und wenn die Analyse einen solchen Sachverhalt erkennt, das Ausführen eines durch eine Regel definierten Sicherheitsprozesses. Die Host-Computer-Vorrichtung kann abnehmbar mit der Peripherie-Vorrichtung über die Kommunikations-Schnittstelle gekoppelt sein.
  • Bei vielen Busarchitekturen nach dem Stand der Technik werden Daten vom Host an alle oder einige der Peripheriegeräte am Bus rundgesendet. In solchen Fällen sollte das Peripheriegerät nur auf Daten reagieren, die an es adressiert sind. Wie bereits erwähnt können jedoch schädliche Peripheriegeräte reagieren, wie etwa durch Kopieren von Daten, die nicht an die Peripheriegeräte adressiert sind. Diese Sachverhalte können Sicherheitsrisiken darstellen, so dass es vorteilhaft sein kann, Daten nur zu dem Peripheriegerät oder den Peripheriegeräten weiterzuleiten, für die die Daten gedacht sind, oder andernfalls den Datenfluss zwischen dem Host und allen Peripheriegeräten zu steuern oder zu überwachen. Ausführungsformen der vorliegenden Erfindung führen eine solche Weiterleitung, Steuerung und/oder Überwachung durch. Somit lösen Ausführungsformen der vorliegenden Erfindung das Problem des Standes der Technik, indem verhindert wird, dass Daten nicht beabsichtigten Bus-Peripheriegeräten verfügbar gemacht werden.
  • In einer weiteren Ausführungsform der Erfindung wird ein Verfahren zum Verwalten der Kommunikation auf einem Netzwerk vorgesehen. Das Verfahren umfasst das Empfangen von Daten von dem Netzwerk, das automatische Speichern der empfangenen Daten und das automatische Analysieren der gespeicherten Daten, um zu erkennen oder nachzuprüfen, ob ein Sachverhalt vorliegt, der ein Sicherheitsrisiko darstellt. Wenn die Analyse feststellt, dass ein solcher Sachverhalt vorliegt, wird automatisch ein durch eine Regel definierter Prozess ausgeführt. Das Verfahren kann es optional ferner umfassen, die Kommunikation zu einem oder mehreren Knoten im Netzwerk automatisch zu verhindern. Das Verfahren kann es optional ferner umfassen, die Kommunikation zu einem oder mehreren Peripheriegeräten zu verhindern.
  • In einer weiteren Ausführungsform der Erfindung wird ein Verfahren zum Verwalten der Kommunikation auf einem Netzwerk vorgesehen. Das Verfahren umfasst das Empfangen von Daten von dem Netzwerk, Speichern der empfangenen Daten und Analysieren der gespeicherten Daten, um zu ermitteln, ob ein Sachverhalt vorliegt, der ein Sicherheitsrisiko darstellt. Wenn die Analyse feststellt, dass ein solcher Sachverhalt vorliegt, wird ein durch eine Regel definierter Prozess ausgeführt. Der Prozess kann optional weiter das Empfangen eines Steuersignals umfassen.
  • In einer weiteren Ausführungsform der Erfindung wird ein Verfahren zum Verwalten der Kommunikation auf einem Netzwerk vorgesehen. Das Verfahren umfasst das Empfangen von Daten von dem Netzwerk, Speichern der empfangenen Daten und Analysieren der gespeicherten Daten, um zu ermitteln, ob ein Sachverhalt vorliegt, der ein Sicherheitsrisiko darstellt. Wenn die Analyse feststellt, dass ein solcher Sachverhalt vorliegt, wird ein durch eine Regel definierter Prozess ausgeführt. Der Prozess kann optional weiter das Abschließen der Übertragungsleitung umfassen
  • In einer weiteren Ausführungsform der Erfindung wird ein Verfahren zum Verwalten der Kommunikation auf einem Netzwerk vorgesehen. Das Verfahren umfasst das Abschalten der Kommunikation zu jedem Endpunkt, was das Deaktivieren von Downstream-Hubs umfassen kann. Das Verfahren kann optional das Abschalten der Kommunikation zu allen Peripheriegeräten oder zum Host umfassen.
  • Das Verfahren wird zum Verwalten der Kommunikation auf einem Netzwerk vorgesehen. Das Verfahren umfasst das Empfangen von Daten vom Netzwerk und das Speichern der empfangenen Daten. Das Verfahren umfasst ferner das Analysieren der gespeicherten Daten, um zu ermitteln, ob ein Sachverhalt vorliegt, der ein Sicherheitsrisiko darstellt. Wenn die Analyse feststellt, dass die Daten mit einem solchen Sachverhalt übereinstimmen, umfasst das Verfahren das Ausführen eines durch eine Regel definierten Prozesses. Es werden eine zugehörige Vorrichtung vorgesehen sowie weitere Verfahren und weitere Vorrichtungen.
  • Es wird ein Verfahren zum Verwalten des Datenflusses in einem Netzwerk vorgesehen. Das Verfahren umfasst das Empfangen von Daten vom Netzwerk und das Speichern der empfangenen Daten. Das Verfahren umfasst ferner das Analysieren der gespeicherten Daten, um zu ermitteln, ob ein Sachverhalt vorliegt, der ein Sicherheitsrisiko darstellt. Wenn die Analyse feststellt, dass die Daten mit einem solchen Sachverhalt übereinstimmen, umfasst das Verfahren das Steuern der Empfänger der Daten. Es werden eine zugehörige Vorrichtung vorgesehen sowie weitere Verfahren und weitere Vorrichtungen.
  • Es wird ein Verfahren zum Steuern des Datenflusses entlang einer Leitung zwischen einem Host und (einem) Peripheriegerät(en) vorgesehen. In einer Ausführungsform der Erfindung umfasst das Verfahren das Stummschalten der Leitung während bestimmte Daten vorbeilaufen, aber das Aufrechterhalten der Verbindung durch schnelles Wiedereinschalten, um eine andere Kommunikation, wie etwa Rahmenstart-Pakete, durchgehen zu lassen. Auf eine Weise ist dies ein Erhaltungs-Prozess. Er umfasst ein strategisches Stummschalten, so dass Daten, die nicht an ein spezielles Peripheriegerät adressiert sind, von diesem speziellen Peripheriegerät nicht empfangen werden. Das heißt, Daten werden nur von dem Peripheriegerät empfangen, für das sie gedacht sind. Es werden eine zugehörige Vorrichtung vorgesehen sowie weitere Verfahren und weitere Vorrichtungen.
  • In einer anderen Ausführungsform der Erfindung wird ein Verfahren vorgesehen, unkenntlich gemachte oder verschlüsselte Daten an die Peripheriegeräte zu senden, die nicht adressiert sind. Verschlüsselte Daten können zum Beispiel ein Datenpaket umfassen, dass in Länge, Begrenzern für Start oder Ende des Pakets, Paket-Kennungen oder anderen Charakteristiken mit der Spezifikation übereinstimmt. Unkenntlich gemachte Daten können zum Beispiel ein Datenpaket umfassen, das auf eine oder mehrere Arten nicht eine Spezifikation einhält. In jedem Fall verhindert die Ausführungsform, dass Daten nicht beabsichtigten Bus-Peripheriegeräten zur Verfügung gestellt werden.
  • In noch einer anderen Ausführungsform der Erfindung wird ein Verfahren vorgesehen, die Sicherheit mindestens einer von einer Host-Computer-Vorrichtung und einer Peripherie-Vorrichtung zu verbessern. Die Host-Computer-Vorrichtung ist mit der Peripherie-Vorrichtung über eine Kommunikations-Schnittstelle gekoppelt. Das Verfahren umfasst das Empfangen von Daten von der Peripherie-Vorrichtung oder der Host-Computer-Vorrichtung. Die empfangenen Daten werden automatisch gespeichert, und die gespeicherten Daten werden automatisch analysiert. Ein von Host-Computer-Vorrichtung und Peripherie-Vorrichtung wird automatisch auf die andere von Host-Computer-Vorrichtung und Peripherie-Vorrichtung emuliert.
  • Die Host-Computer-Vorrichtung kann abnehmbar mit der Peripherie-Vorrichtung über die Kommunikations-Schnittstelle gekoppelt sein.
  • Eine andere Ausführungsform der vorliegenden Erfindung sieht eine Vorrichtung vor. Die Vorrichtung umfasst eine Vorrichtung, auf der Prozesse laufen. Die Prozesse umfassen einen Prozess, der gestaltet ist, Daten von einem Netzwerk zu empfangen und einen Prozess, der gestaltet ist, die empfangenen Daten zu speichern. Ein weiterer Prozess ist gestaltet, die gespeicherten Daten zu analysieren, um einen Sachverhalt zu erkennen, der mit einem Sicherheitsrisiko verbunden ist. Noch ein weiterer Prozess ist gestaltet, einen durch eine Regel definierten Prozess auszuführen, wenn der mit einem Sicherheitsrisiko verbundene Sachverhalt erkannt wird.
  • In jedem oben beschriebenen Verfahren kann die Kommunikations-Schnittstelle von einem Typ sein, der die Kommunikation zwischen der Peripherie-Vorrichtung und dem Host und umgekehrt unterstützt, aber keine Kommunikation zwischen der Peripherie-Vorrichtung und jeder anderen Peripherie-Vorrichtung, die über dieselbe Kommunikations-Schnittstelle mit der Host-Computer-Vorrichtung gekoppelt ist. Das Netzwerk kann ein Master/Slave-Netzwerk umfassen. Der Sicherheitsprozess kann es umfassen, die Kommunikation mit einem oder mehreren der Knoten in dem Netzwerk entsprechend der Regel automatisch zu verhindern. Der Sicherheitsprozess kann es umfassen, die Übertragungsleitung entsprechend der Regel automatisch abzuschließen. Der Sicherheitsprozess kann es umfassen, automatisch einen Filterprozess auszuführen, der die Empfänger der Daten steuert. Die Host-Computer-Vorrichtung kann abnehmbar mit einer oder mehreren Peripherie-Vorrichtungen gekoppelt sein. Der Sicherheitsprozess kann es umfassen, die Kommunikation zwischen dem Host und einer oder mehreren Peripherie-Vorrichtungen automatisch einzuschränken. Das Analysieren der gespeicherten Daten kann es umfassen, ein adressiertes Peripheriegerät automatisch zu ermitteln. Das Ausführen des Sicherheitsprozesses kann es umfassen, die Kommunikation zwischen dem Host und Peripheriegeräten, die nicht adressiert sind, automatisch einzuschränken. Das Ausführen des Sicherheitsprozesses kann es umfassen, die Kommunikation zwischen dem Host und den Peripheriegeräten entsprechend der Regel transparent automatisch einzuschränken. Der Prozess kann das Empfangen eines Steuersignals umfassen. Das Ausführen des Sicherheitsprozesses kann es umfassen, die Datenübertragung automatisch zu beenden. Das Ausführen des Sicherheitsprozesses kann es umfassen, eine Leitung automatisch stummzuschalten, wenn bestimmte Daten übertragen werden, es aber zuzulassen, sie für andere zu übertragende Daten oder eine Kommunikation wieder einzuschalten, basierend auf einer Charakteristik eines beliebigen aus Host, Peripheriegerät und übertragenen Daten.
  • Das Verfahren kann die Verwendung einer Sicherheitsvorrichtung zur Kopplung zwischen einer Host-Computer-Vorrichtung (”Host”) und mindestens einer Peripherie-Vorrichtung (”Peripheriegerät”) umfassen. Jedem Peripheriegerät kann eine Adresse zugeordnet sein. Die Sicherheitsvorrichtung kann eine Upstream-Schnittstelle umfassen, die gestaltet ist, über eine Upstream-Verbindung mit dem Host gekoppelt zu sein und automatisch Befehle und Daten über die Upstream-Verbindung vom Host zu empfangen. Die Upstream-Schnittstelle kann gestaltet sein, automatisch über die Upstream-Verbindung Daten zum Host zu senden. Jeder der mindestens einigen der Befehle kann eine Adresse eines des mindestens einen Peripheriegerätes umfassen. Die Sicherheitsvorrichtung kann auch mindestens eine Downstream-Schnittstelle umfassen. Jede Downstream-Schnittstelle kann gestaltet sein, über eine entsprechende Downstream-Verbindung mit einem des mindestens einen Peripheriegeräts gekoppelt zu sein und über die entsprechende Downstream-Verbindung automatisch Daten von dem einen Peripheriegerät zu empfangen. Jede Downstream-Schnittstelle kann gestaltet sein, automatisch über die entsprechende Downstream-Verbindung Befehle und Daten an das eine Peripheriegerät zu senden. Die Sicherheitsvorrichtung kann auch eine Steuereinheit umfassen, die mit den Upstream- und Downstream-Schnittstellen gekoppelt und gestaltet ist, über die Upstream-Schnittstelle empfangene Befehle und Daten auf der Grundlage einer empfangenen Adresse an eine ausgewählte mindestens eine der mindestens einen Downstream-Schnittstellen weiterzuleiten. Die Steuereinheit kann gestaltet sein, über die Downstream-Schnittstelle empfangene Daten zur Upstream-Schnittstelle weiterzuleiten.
  • Optional kann die Steuereinheit gestaltet sein, zu verhindern, dass über eine der mindestens einen Downstream-Schnittstellen empfangene Daten an eine andere der mindestens einen Downstream-Schnittstellen weitergeleitet wird.
  • Noch eine weitere Ausführungsform der vorliegenden Erfindung sieht eine Sicherheitsvorrichtung zur Kopplung zwischen einer Host-Computer-Vorrichtung (”Host”) und mindestens einer Peripherie-Vorrichtung (”Peripheriegerät”) vor. Jedem Peripheriegerät kann eine Adresse zugeordnet sein. Die Sicherheitsvorrichtung umfasst eine Upstream-Schnittstelle, die gestaltet ist, über eine Upstream-Verbindung mit dem Host gekoppelt zu sein und Befehle und Daten über die Upstream-Verbindung vom Host zu empfangen. Die Upstream-Schnittstelle ist gestaltet, über die Upstream-Verbindung Daten zum Host zu senden. Jeder der mindestens einigen der Befehle kann eine Adresse eines des mindestens einen Peripheriegerätes umfassen. Die Sicherheitsvorrichtung umfasst auch mindestens eine Downstream-Schnittstelle. Jede Downstream-Schnittstelle ist gestaltet, über eine entsprechende Downstream-Verbindung mit einem des mindestens einen Peripheriegeräts gekoppelt zu sein und über die entsprechende Downstream-Verbindung Daten von dem einen Peripheriegerät zu empfangen. Jede Downstream-Schnittstelle ist gestaltet, über die entsprechende Downstream-Verbindung Befehle und Daten an das eine Peripheriegerät zu senden. Die Sicherheitsvorrichtung umfasst auch eine Steuereinheit, die mit den Upstream- und Downstream-Schnittstellen gekoppelt ist. Die Steuereinheit ist gestaltet zum: Empfangen von Befehlen und Daten über die Upstream-Schnittstelle; Auswählen mindestens einer aus den mindestens einen Downstream-Schnittstellen auf der Grundlage einer Adresse in den empfangenen Befehlen und Daten; Auswählen mindestens einer aus den mindestens einen Downstream-Schnittstellen auf der Grundlage einer Adresse in den empfangenen Befehlen und Daten; und Weiterleiten der empfangenen Befehle und Daten an eine ausgewählte der mindestens einen aus den mindestens einen Downstream-Schnittstellen.
  • Optional ist die Steuereinheit so gestaltet, dass sie die empfangenen Befehle und Daten unkenntlich macht und die unkenntlich gemachten Befehle und Daten an mindestens eine aus den mindestens einen Downstream-Schnittstellen weiterleitet, die sich von der ausgewählten mindestens einen aus den mindestens einen Downstream-Schnittstellen unterscheidet.
  • Durch eine weitere Ausführungsform der vorliegenden Erfindung wird eine Sicherheitsvorrichtung vorgesehen, die eine Hardware-Anordnung umfasst, die gestaltet ist, die Realisierung eines beliebigen der oben beschriebenen Verfahren zu bewirken.
  • Eine Ausführungsform der vorliegenden Erfindung sieht eine Sicherheitsvorrichtung zur Kopplung zwischen einer Host-Computer-Vorrichtung (”Host”) und mindestens einer Peripherie-Vorrichtung (”Peripheriegerät”) vor. Jedem Peripheriegerät ist eine Adresse zugeordnet. Die Sicherheitsvorrichtung umfasst eine Upstream-Schnittstelle und mindestens eine Downstream-Schnittstelle. Die Upstream-Schnittstelle ist gestaltet, über eine Upstream-Verbindung mit dem Host gekoppelt zu sein. Die Upstream-Schnittstelle ist gestaltet, über die Upstream-Verbindung Befehle und Daten vom Host zu empfangen. Die Upstream-Schnittstelle ist gestaltet, über die Upstream-Verbindung Daten zum Host zu senden. Jeder der mindestens einigen der Befehle enthält eine Adresse eines des mindestens einen Peripheriegerätes. Jede Downstream-Schnittstelle ist gestaltet, über eine entsprechende Downstream-Verbindung mit einem der mindestens einen Peripheriegeräte gekoppelt zu sein. Jede Downstream-Schnittstelle ist gestaltet, von dem einen Peripheriegerät über die entsprechende Downstream-Verbindung Daten zu empfangen und Befehle und Daten über die entsprechende Downstream-Verbindung zu dem einen Peripheriegerät zu senden. Die Sicherheitsvorrichtung umfasst auch eine Steuereinheit, die mit den Upstream- und Downstream-Schnittstellen gekoppelt ist. Die Steuereinheit ist gestaltet, Befehle und Daten über die Upstream-Schnittstelle zu empfangen. Die Steuereinheit ist gestaltet, auf der Grundlage einer Adresse in den empfangenen Befehlen und Daten mindestens eine von den mindestens einen Downstream-Schnittstellen auszuwählen. Die Steuereinheit ist gestaltet, die empfangenen Befehle und Daten an die mindestens eine von den mindestens einen Downstream-Schnittstellen weiterzuleiten.
  • Die Steuereinheit kann gestaltet sein, zu verhindern, dass die empfangenen Befehle und Daten an die mindestens eine aus den mindestens einen Downstream-Schnittstellen weitergeleitet werden, die sich von der ausgewählten mindestens einen aus den mindestens einen Downstream-Schnittstellen unterscheidet.
  • Die Steuereinheit kann gestaltet sein, die direkte Kommunikation zwischen beliebigen zwei der mindestens einen Peripheriegeräte über eine entsprechende Downstream-Verbindung zu verhindern.
  • Die Steuereinheit kann so gestaltet sein, dass sie die empfangenen Befehle und Daten unkenntlich macht und die unkenntlich gemachten Befehle und Daten an mindestens eine aus den mindestens einen Downstream-Schnittstellen weiterleitet, die sich von der ausgewählten mindestens einen aus den mindestens einen Downstream-Schnittstellen unterscheidet.
  • Jede Downstream-Schnittstelle kann gestaltet sein, über eine entsprechende Downstream-Verbindung mit einem der mindestens einen Peripheriegeräte gekoppelt zu sein.
  • Die Steuereinheit kann so gestaltet sein, dass sie die mindestens eine aus den mindestens einen Downstream-Schnittstellen auswählt, indem sie die empfangenen Daten während eines Analyse-Intervalls analysiert. Die Steuereinheit kann gestaltet sein, mindestens während eines Teils des Analyse-Intervalls den Host oder das Peripheriegerät für den anderen aus Host und Peripheriegerät zu emulieren.
  • Die Steuereinheit kann gestaltet sein, den Host oder das Peripheriegerät mindestens teilweise zu emulieren, indem sie ein Quittungs-Paket (im Allgemeinen als ”ACK” bezeichnet) oder ein Negativ-Quittungs-Paket erzeugt und das erzeugte Quittungs-Paket oder Negativ-Quittungs-Paket an den anderen aus Host und Peripheriegerät sendet.
  • Vorrichtung nach Anspruch 6, wobei die Steuereinheit gestaltet ist, den Host oder das Peripheriegerät mindestens teilweise zu emulieren, indem ein Abschlusswiderstand an die Upstream-Verbindung angeschlossen wird.
  • Die Steuereinheit kann gestaltet sein, die empfangenen Daten zu analysieren, um festzustellen, ob die empfangenen Daten ein Sicherheitsrisiko darstellen. Wenn festgestellt wird, dass die empfangenen Daten kein Sicherheitsrisiko darstellen, kann die Steuereinheit gestaltet sein, die empfangenen Daten an die ausgewählte mindestens eine der mindestens einen Downstream-Schnittstellen weiterzuleiten. Wenn festgestellt wird, dass die empfangenen Daten ein Sicherheitsrisiko darstellen, kann die Steuereinheit gestaltet sein, zu verhindern, dass die empfangenen Daten an eine der mindestens einen Downstream-Schnittstellen weitergeleitet werden.
  • Die Steuereinheit kann gestaltet sein, das Weiterleiten der empfangenen Daten zu verhindern, indem die Upstream-Verbindung aus einem verbundenen Zustand in einen elektrisch abgeschlossenen Zustand geändert wird und indem mindestens eine der entsprechenden Downstream-Verbindungen von einem verbundenen Zustand in einen elektrisch abgeschlossenen Zustand geändert wird.
  • Die Steuereinheit kann gestaltet sein, die Upstream-Verbindung aus einem verbundenen Zustand in einen elektrisch abgeschlossenen Zustand zu ändern, indem ein Abschlusswiderstand an die Upstream-Verbindung angeschlossen wird.
  • Eine weitere Ausführungsform der vorliegenden Erfindung sieht eine Sicherheitsvorrichtung zur Kopplung zwischen einer Host-Computer-Vorrichtung (”Host”) und mindestens einer Peripherie-Vorrichtung (”Peripheriegerät”) vor. Die Sicherheitsvorrichtung umfasst eine Upstream-Schnittstelle und mindestens eine Downstream-Schnittstelle. Die Upstream-Schnittstelle ist gestaltet, über eine Upstream-Verbindung mit dem Most verbunden zu sein und Daten vom Most über die Upstream-Verbindung zu empfangen und Daten über die Upstream-Verbindung zum Most zu senden. Jede Downstream-Schnittstelle ist gestaltet, über eine entsprechende Downstream-Verbindung mit einem des mindestens einen Peripheriegeräts gekoppelt zu sein und über die entsprechende Downstream-Verbindung Daten von dem einen Peripheriegerät zu empfangen und über die entsprechende Downstream-Verbindung Daten zu dem einen Peripheriegerät zu senden. Die Sicherheitsvorrichtung umfasst auch eine Steuereinheit, die mit den Upstream- und Downstream-Schnittstellen gekoppelt ist. Die Steuereinheit ist gestaltet, über die Upstream-Schnittstelle Daten zu empfangen und die empfangenen Daten zu analysieren, um festzustellen, ob die empfangenen Daten ein Sicherheitsrisiko darstellen. Wenn festgestellt wird, dass die empfangenen Daten kein Sicherheitsrisiko darstellen, ist die Steuereinheit gestaltet, die empfangenen Daten an mindestens eine der mindestens einen Downstream-Schnittstellen weiterzuleiten. Wenn festgestellt wird, dass die empfangenen Daten ein Sicherheitsrisiko darstellen, ist die Steuereinheit gestaltet, zu verhindern, dass die empfangenen Daten an eine der mindestens einen Downstream-Schnittstellen weitergeleitet werden.
  • Die Steuereinheit kann gestaltet sein, das Weiterleiten der empfangenen Daten zu verhindern, indem die Upstream-Verbindung aus einem verbundenen Zustand in einen elektrisch abgeschlossenen Zustand geändert wird und indem mindestens eine der entsprechenden Downstream-Verbindungen von einem verbundenen Zustand in einen elektrisch abgeschlossenen Zustand geändert wird.
  • Die Steuereinheit kann gestaltet sein, die Upstream-Verbindung aus einem verbundenen Zustand in einen elektrisch abgeschlossenen Zustand zu ändern, indem ein Abschlusswiderstand an die Upstream-Verbindung angeschlossen wird.
  • Noch eine weitere Ausführungsform der vorliegenden Erfindung sieht ein durch eine Sicherheitsvorrichtung realisiertes Verfahren zur Verbesserung der Sicherheit einer Host-Computer-Vorrichtung (”Host”) oder mindestens einer Peripherie-Vorrichtung (”Peripheriegerät”) vor. Die Sicherheitsvorrichtung umfasst eine Upstream-Schnittstelle und mindestens eine Downstream-Schnittstelle. Die Upstream-Schnittstelle ist gestaltet, über eine Upstream-Verbindung mit dem Host verbunden zu sein und Befehle vom Host über die Upstream-Verbindung zu empfangen und Daten über die Upstream-Verbindung zum Host zu senden. Jeder der mindestens einigen der Befehle enthält eine Adresse eines des mindestens einen Peripheriegerätes. Jede Downstream-Schnittstelle ist gestaltet, über eine entsprechende Downstream-Verbindung mit einem des mindestens einen Peripheriegeräts gekoppelt zu sein und über die entsprechende Downstream-Verbindung Daten von dem einen Peripheriegerät zu empfangen und über die entsprechende Downstream-Verbindung Befehle und Daten zu dem einen Peripheriegerät zu senden. Jedem Peripheriegerät ist eine Adresse zugeordnet. Das Verfahren umfasst das Empfangen von Befehlen und Daten über eine Upstream-Schnittstelle und Auswählen mindestens einer der mindestens einen Downstream-Schnittstellen auf der Grundlage einer Adresse in den empfangenen Befehlen und Daten. Das Verfahren umfasst auch das Weiterleiten der empfangenen Befehle und Daten an die ausgewählte mindestens eine von den mindestens einen Downstream-Schnittstellen.
  • Das Verfahren kann es umfassen, zu verhindern, dass die empfangenen Befehle und Daten an die mindestens eine aus den mindestens einen Downstream-Schnittstellen weitergeleitet werden, die sich von der ausgewählten mindestens einen aus den mindestens einen Downstream-Schnittstellen unterscheidet.
  • Das Verfahren kann es umfassen, die direkte Kommunikation zwischen beliebigen zwei der mindestens einen Peripheriegeräte über eine entsprechende Downstream-Verbindung zu verhindern.
  • Das Verfahren kann es umfassen, dass es die empfangenen Befehle und Daten unkenntlich macht und die unkenntlich gemachten Befehle und Daten an mindestens eine aus den mindestens einen Downstream-Schnittstellen weiterleitet, die sich von der ausgewählten mindestens einen aus den mindestens einen Downstream-Schnittstellen unterscheidet.
  • Das Verfahren kann es umfassen, dass es die mindestens eine von den mindestens einen Downstream-Schnittstellen auswählt, indem es die empfangenen Daten während eines Analyse-Intervalls analysiert. Während mindestens eines Teils des Analyse-Intervalls können der Host oder das Peripheriegerät für den anderen aus Host und Peripheriegerät emuliert werden.
  • Emulieren von Host oder Peripheriegerät kann mindestens teilweise umfassen, dass ein Quittungs-Paket oder ein Negativ-Quittungs-Paket erzeugt und das erzeugte Quittungs-Paket oder Negativ-Quittungs-Paket an den anderen aus Host und Peripheriegerät gesendet wird.
  • Das Verfahren kann es umfassen, den Host oder das Peripheriegerät mindestens teilweise zu emulieren, indem ein Abschlusswiderstand an die Upstream-Verbindung angeschlossen wird.
  • Das Verfahren kann es umfassen, die empfangenen Daten zu analysieren, um festzustellen, ob die empfangenen Daten ein Sicherheitsrisiko darstellen. Wenn festgestellt wird, dass die empfangenen Daten kein Sicherheitsrisiko darstellen, kann das Verfahren es umfassen, die empfangenen Daten an die ausgewählte mindestens eine der mindestens einen Downstream-Schnittstellen weiterzuleiten. Wenn festgestellt wird, dass die empfangenen Daten ein Sicherheitsrisiko darstellen, kann das Verfahren es umfassen, zu verhindern, dass die empfangenen Daten an eine der mindestens einen Downstream-Schnittstellen weitergeleitet werden.
  • Das Verhindern des Weiterleitens der empfangenen Daten kann es umfassen, die Upstream-Verbindung aus einem verbundenen Zustand in einen elektrisch abgeschlossenen Zustand zu ändern und mindestens eine der entsprechenden Downstream-Verbindungen von einem verbundenen Zustand in einen elektrisch abgeschlossenen Zustand zu ändern.
  • Das Ändern der Upstream-Verbindung aus einem verbundenen Zustand in einen elektrisch abgeschlossenen Zustand kann es umfassen, einen Abschlusswiderstand an die Upstream-Verbindung anzuschließen.
  • Eine Ausführungsform der vorliegenden Erfindung sieht ein durch eine Sicherheitsvorrichtung realisiertes Verfahren zur Verbesserung der Sicherheit einer Host-Computer-Vorrichtung (”Host”) oder mindestens einer Peripherie-Vorrichtung (”Peripheriegerät”) vor. Die Sicherheitsvorrichtung umfasst eine Upstream-Schnittstelle und mindestens eine Downstream-Schnittstelle. Die Upstream-Schnittstelle ist gestaltet, über eine Upstream-Verbindung mit dem Host verbunden zu sein und Daten vom Host über die Upstream-Verbindung zu empfangen und Daten über die Upstream-Verbindung zum Host zu senden. Jede Downstream-Schnittstelle ist gestaltet, über eine entsprechende Downstream-Verbindung mit einem des mindestens einen Peripheriegeräts gekoppelt zu sein und über die entsprechende Downstream-Verbindung Daten von dem einen Peripheriegerät zu empfangen und über die entsprechende Downstream-Verbindung Daten zu dem einen Peripheriegerät zu senden. Das Verfahren umfasst das Empfangen von Daten über die Upstream-Schnittstelle und das Analysieren der empfangenen Daten, um festzustellen, ob die empfangenen Daten ein Sicherheitsrisiko darstellen. Wenn festgestellt wird, dass die empfangenen Daten kein Sicherheitsrisiko darstellen, umfasst das Verfahren, die empfangenen Daten an. die mindestens eine der mindestens einen Downstream-Schnittstellen weiterzuleiten. Wenn festgestellt wird, dass die empfangenen Daten ein Sicherheitsrisiko darstellen, umfasst das Verfahren, zu verhindern, dass die empfangenen Daten an eine der mindestens einen Downstream-Schnittstellen weitergeleitet werden.
  • Das Verhindern des Weiterleitens der empfangenen Daten kann es umfassen, die Upstream-Verbindung aus einem verbundenen Zustand in einen elektrisch abgeschlossenen Zustand zu ändern und mindestens eine der entsprechenden Downstream-Verbindungen von einem verbundenen Zustand in einen elektrisch abgeschlossenen Zustand zu ändern.
  • Das Ändern der Upstream-Verbindung aus einem verbundenen Zustand in einen elektrisch abgeschlossenen Zustand kann es umfassen, einen Abschlusswiderstand an die Upstream-Verbindung anzuschließen.
  • Noch eine weitere Ausführungsform der vorliegenden Erfindung sieht ein Computerprogrammprodukt zum Vorsehen einer verbesserten Sicherheit einer Host-Computer-Vorrichtung (”Host”) oder mindestens einer Peripherie-Vorrichtung (”Peripheriegerät”) vor. Die Sicherheitsvorrichtung umfasst eine Upstream-Schnittstelle und mindestens eine Downstream-Schnittstelle. Die Upstream-Schnittstelle ist gestaltet, über eine Upstream-Verbindung mit dem Host verbunden zu sein und Befehle und Daten vom Host über die Upstream-Verbindung zu empfangen und Daten über die Upstream-Verbindung zum Host zu senden. Jeder der mindestens einigen der Befehle enthält eine Adresse eines des mindestens einen Peripheriegerätes. Jede Downstream-Schnittstelle ist gestaltet, über eine entsprechende Downstream-Verbindung mit einem des mindestens einen Peripheriegeräts gekoppelt zu sein und über die entsprechende Downstream-Verbindung Daten von dem einen Peripheriegerät zu empfangen und über die entsprechende Downstream-Verbindung Befehle und Daten zu dem einen Peripheriegerät zu senden. Jedem Peripheriegerät ist eine Adresse zugeordnet. Das Computerprogrammprodukt umfasst ein nichtflüchtiges computerlesbares Medium, auf dem computerlesbarer Programmcode gespeichert ist. Das computerlesbare Programm ist gestaltet, über die Upstream-Schnittstelle Befehle und Daten zu empfangen und mindestens eine der mindestens einen Downstream-Schnittstellen auf der Grundlage einer Adresse in den empfangenen Befehlen und Daten auszuwählen. Das computerlesbare Programm ist gestaltet, die empfangenen Befehlen und Daten an die ausgewählte mindestens eine von den mindestens einen Downstream-Schnittstellen weiterzuleiten.
  • Eine weitere Ausführungsform der vorliegenden Erfindung sieht ein Computerprogrammprodukt zum Verbessern der Sicherheit einer Host-Computer-Vorrichtung (”Host”) oder mindestens einer Peripherie-Vorrichtung (”Peripheriegerät”) vor. Die Sicherheitsvorrichtung umfasst eine Upstream-Schnittstelle und mindestens eine Downstream-Schnittstelle. Die Upstream-Schnittstelle ist gestaltet, über eine Upstream-Verbindung mit dem Host verbunden zu sein und Daten vom Host über die Upstream-Verbindung zu empfangen und Daten über die Upstream-Verbindung zum Host zu senden. Jede Downstream-Schnittstelle ist gestaltet, über eine entsprechende Downstream-Verbindung mit einem des mindestens einen Peripheriegeräts gekoppelt zu sein und über die entsprechende Downstream-Verbindung Daten von dem einen Peripheriegerät zu empfangen und über die entsprechende Downstream-Verbindung Daten zu dem einen Peripheriegerät zu senden. Das computerlesbare Programm ist gestaltet, über die Upstream-Schnittstelle Daten zu empfangen und die empfangenen Daten zu analysieren, um festzustellen, ob die empfangenen Daten ein Sicherheitsrisiko darstellen. Wenn festgestellt wird, dass die empfangenen Daten kein Sicherheitsrisiko darstellen, ist das computerlesbare Programm gestaltet, die empfangenen Daten an mindestens eine der mindestens einen Downstream-Schnittstellen weiterzuleiten. Wenn festgestellt wird, dass die empfangenen Daten ein Sicherheitsrisiko darstellen, ist das computerlesbare Programm gestaltet, zu verhindern, dass die empfangenen Daten an eine der mindestens einen Downstream-Schnittstellen weitergeleitet werden.
  • Kurze Beschreibung der Zeichnung
  • Die vorangehenden Eigenschaften von Ausführungsformen werden besser verstanden durch Bezug auf die folgende genaue Beschreibung, die mit Bezug auf die begleitende Zeichnung erfolgt.
  • 1 ist ein Blockdiagramm logischer Prozesse, die gemäß einer Ausführungsform der vorliegenden Erfindung ausgeführt werden;
  • 2 ist ein Blockdiagramm einer weiteren Ausführungsform der vorliegenden Erfindung mit Einzelheiten der Realisierung des Erhaltungs-Prozesses 104 in 1 in Kommunikationsprozessen von einer Host-Computer-Vorrichtung zu einer Peripherie-Vorrichtung;
  • 3 ist ein Blockdiagramm der Ausführungsform von 2 mit Einzelheiten der Realisierung des Erhaltungs-Prozesses 104 in 1 in Kommunikationsprozessen von der Peripherie-Vorrichtung zur Host-Computer-Vorrichtung;
  • 4 ist ein Blockdiagramm der Architektur einer Hardware-Ausführungsform der vorliegenden Erfindung;
  • 5 ist ein Blockdiagramm einer Hardware-Ausführungsform der vorliegenden Erfindung, das weitere Einzelheiten zur Realisierung der Ausführungsform von 4 vorsieht;
  • 6 ist ein Blockdiagramm, das Einzelheiten des Datenmoduls der Ausführungsform von 5 vorsieht;
  • 7 ist ein Blockdiagramm, das Einzelheiten des Stromversorgungs-Moduls der Ausführungsform von 5 vorsieht;
  • 8 ist ein Blockdiagramm, das den logischen Fluss von Peripherie-Authentifizierungs-Prozessen gemäß einer Ausführungsform der vorliegenden Erfindung zeigt;
  • 9 ist ein Blockdiagramm, das weitere Einzelheiten der in 8 gezeigten Prozesse vorsieht;
  • 10 ist ein Blockdiagramm, das den logischen Fluss in Zusammenhang mit individueller Anpassung des Eingangs gemäß einer Ausführungsform der vorliegenden Erfindung zeigt;
  • 11 ist ein Blockdiagramm, das den logischen Fluss in Zusammenhang mit Verschlüsselung auf Dateiebene gemäß einer Ausführungsform der vorliegenden Erfindung zeigt;
  • 12 ist ein Blockdiagramm, das den logischen Fluss in Zusammenhang mit Entschlüsselung auf Dateiebene gemäß einer Ausführungsform der vorliegenden Erfindung zeigt;
  • 13 ist ein Blockdiagramm, das den logischen Fluss in Zusammenhang mit Übertragungs-Verschlüsselung gemäß einer Ausführungsform der vorliegenden Erfindung zeigt;
  • 14 ist ein Blockdiagramm, das den logischen Fluss in Zusammenhang mit Übertragungs-Entschlüsselung gemäß einer Ausführungsform der vorliegenden Erfindung zeigt;
  • 15 ist ein Blockdiagramm, das den logischen Fluss in Zusammenhang mit Angriffs-Erkennung über eine Datenbank gemäß einer Ausführungsform der vorliegenden Erfindung zeigt;
  • 16 ist ein Blockdiagramm logischer Prozesse, die gemäß einer Ausführungsform der vorliegenden Erfindung ausgeführt werden;
  • 17 ist ein Blockdiagramm, das den logischen Fluss gemäß einer Ausführungsform der vorliegenden Erfindung zeigt;
  • 18 ist ein Blockdiagramm der Architektur einer Hardware-Ausführungsform der vorliegenden Erfindung;
  • 19 ist ein Blockdiagramm einer Hardware-Ausführungsform der vorliegenden Erfindung, das weitere Einzelheiten zur Realisierung der Ausführungsform von 18 vorsieht;
  • 20 ist ein Reihenfolge-Diagramm logischer Prozesse, die in einem Host und einer oder mehreren Peripherie-Vorrichtungen gemäß dem Stand der Technik ausgeführt werden;
  • 21 ist ein Reihenfolge-Diagramm logischer Prozesse, die in dem Host und Peripherie-Vorrichtungen von 20 ausgeführt werden;
  • 22 ist ein Reihenfolge-Diagramm logischer Prozesse, die gemäß einer Ausführungsform der vorliegenden Erfindung ausgeführt werden;
  • 23 ist ein schematisches Blockdiagramm einer Sicherheitsvorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung; und
  • 24 ist ein schematisches Blockdiagramm einer Sicherheitsvorrichtung gemäß einer weiteren Ausführungsform der vorliegenden Erfindung.
  • 25 ist ein Reihenfolge-Diagramm logischer Prozesse, die in einem Host und einer oder mehreren Peripherie-Vorrichtungen gemäß dem Stand der Technik ausgeführt werden.
  • 26 ist ein Reihenfolge-Diagramm logischer Prozesse, die in einem Host und einer oder mehreren Peripherie-Vorrichtungen gemäß dem Stand der Technik ausgeführt werden.
  • 27 ist ein Reihenfolge-Diagramm der logischen Prozesse, die in einem Host und einer oder mehreren Peripherie-Vorrichtungen gemäß dem Stand der Technik ausgeführt werden.
  • 28 ist ein Reihenfolge-Diagramm logischer Prozesse, die gemäß einer Ausführungsform der vorliegenden Erfindung ausgeführt werden.
  • 29 ist ein Reihenfolge-Diagramm logischer Prozesse, die gemäß einer alternativen Ausführungsform der vorliegenden Erfindung ausgeführt werden.
  • 30 ist ein Reihenfolge-Diagramm logischer Prozesse, die gemäß einer alternativen Ausführungsform der vorliegenden Erfindung ausgeführt werden.
  • Genaue Beschreibung spezieller Ausführungsformen
  • Definitionen. Wie in dieser Beschreibung und der begleitenden Zeichnung benutzt, haben die folgenden Begriffe die angegebene Bedeutung, es sei denn der Kontext erfordert etwas anderes:
    Eine ”Host-Computer-Vorrichtung” ist eine Vorrichtung mit einem Prozessor, der gestaltet ist, einen Host-Computer-Prozess auszuführen. Die Host-Computer-Vorrichtung kann ein vollständiges oder ein Teil eines Computersystems sein.
  • Eine ”Peripherie-Vorrichtung” ist eine Komponente, die abnehmbar oder nicht abnehmbar anschließbar und physikalisch benachbart zu einer Host-Computer-Vorrichtung ist und die gestaltet ist, über eine Kommunikationsschnittstelle eine bidirektionale Kommunikation mit der Host-Computer-Vorrichtung aufzuweisen. Die Peripherie-Vorrichtung kann mindestens eines von Folgendem sein: enthalten in der Host-Computer-Vorrichtung, eingesteckt in die Host-Computer-Vorrichtung und physikalisch verschieden von der Host-Computer-Vorrichtung. Ein Peripheriegerät ist ”physikalisch benachbart” zur Host-Computer-Vorrichtung, wenn es sich ausreichend nahe an der Vorrichtung befindet, um die Kommunikation zwischen dem Peripheriegerät und der Host-Computer-Vorrichtung über die Kommunikationsschnittstelle zu erlauben. Zum Beispiel kann eine Peripherie-Vorrichtung eine USB-Vorrichtung sein, die abnehmbar über eine USB-Schnittstelle an eine Host-Computer-Vorrichtung angeschlossen werden kann. Als weiteres Beispiel kann eine Peripherie-Vorrichtung ein Video-, Tastatur-, Maus-, Touchpad- oder anderer Controller sein, der als integrierter Schaltkreis zum Löten auf eine Hauptplatine eines Laptops oder Tischcomputers vorliegt und durch das Löten mit einem geeigneten Bus oder einer anderen Schnittstelle auf der Hauptplatine verbunden werden kann. Die Peripherie-Vorrichtung kann auch mit einer drahtlosen USB-Verbindung arbeiten. Die Peripherie-Vorrichtung kann auch ein Hub sein. Die Peripherie-Vorrichtung kann auch physikalisch mit der Host-Vorrichtung gekoppelt sein, wie etwa ein Empfänger, der direkt in einen USB-Steckverbinder eingebaut ist, so dass wenn der Steckverbinder eingesteckt wird, der Empfänger über den USB-Steckverbinder an der Host-Computer-Vorrichtung angebracht ist. Alternativ kann die Peripherie-Vorrichtung physikalisch im Host enthalten sein und über einen Steckverbinder, über gelötete elektrische Verbindungen oder eine andere geeignete Schnittstelle mit ihm verbunden sein.
  • Ein ”Knoten im Netzwerk” kann eine Host-Computer-Vorrichtung oder eine Peripherie-Vorrichtung sein.
  • ”Analyse” ist eine Funktionalität, die von einem Computer durchgeführt wird.
  • ”Empfangen von einer von zwei Quellen” umfasst Empfangen von beiden.
  • Ein ”Sachverhalt, der ein Sicherheitsrisiko darstellt” ist ein Sachverhalt, der sich vom Unkenntlichmachen von Daten in einer physikalischen Schicht oder einer Übertragungsschicht unterscheidet, von dem angenommen wird, dass er für Daten ein Risiko für unberechtigten Zugriff, Zerstörung oder eine Unterbrechung der Verfügbarkeit darstellt.
  • ”Realisierung eines Erhaltungs-Prozesses, der das Beenden der Kommunikation zwischen den Vorrichtungen verhindert” umfasst, ist aber nicht beschränkt auf (i) schnell genug handeln, dass der Abschluss zwischen Vorrichtungen nicht auftritt, (ii) Ausgeben von Signalen, die den Empfang von Daten anzeigen, (iii) Ausgeben von periodischen Signalen wie etwa Rahmenstart-Paketen, (iv) Senden oder Empfangen von Daten auf eine Weise, durch die eine Zeitüberschreitungs-Bedingung verhindert wird, (v) Ausgeben einer Übertragung, so dass die Transaktion erneut versucht wird, (vi) Hinzufügen elektrischer Abschlüsse, wie die, die eine erfolgreiche Verbindung anzeigen, (vii) Senden einer Negativ-Quittung, (viii) Verursachen, dass das Peripheriegerät einen Sperr- oder Leerlauf-Zustand einnimmt, (ix) Aufrechterhalten des Bus-Protokolls, um dass das System in einem bekannten und gewünschten Zustand zu halten, (x) Senden von Signalen im Namen einer anderen Vorrichtung, (xi) Senden von Signalen, die eine andere Vorrichtung imitieren, sowie (xii) Ausgeben von Signalen, die anzeigen, dass Signale erneut übertragen werden müssen, wie etwa unkenntlich gemachte Daten. ”Beendigung der Kommunikation zwischen Vorrichtungen” bedeutet in diesem Kontext die Beendigung der normalen Kommunikation zwischen Vorrichtungen.
  • Mindestens ein Vorteil des Erhaltungs-Prozesses umfasst das Aufrechterhalten der Kommunikation. In vielen Bus-Architekturen müssen Daten durch mehr als eine Transaktion übertragen werden. Wenn zum Beispiel Daten durch zwei Transaktionen übertragen werden müssen, muss der in der zweiten Transaktion ausgeführte Analyseprozess auf eine Weise durchgeführt werden, dass das System nicht den Zustand verliert, der durch die erste Transaktion erreicht wurde. Wenn zum Beispiel die Kommunikationsleitungen nicht entsprechend einer Spezifikation elektrisch abgeschlossen sind, kann der Host diesen fehlenden elektrischen Abschluss entsprechend einer Spezifikation so interpretieren, als sei das Peripheriegerät nicht angeschlossen, und damit eine zukünftige Kommunikation auftreten kann, muss der Nummerierungs-Prozess des Peripheriegerätes erneut durchgeführt werden.
  • Bestimmte Transaktionen weisen keine Fehlerüberprüfung auf und erfordern keine Übertragung einer Negativ-Quittung oder eines Quittungs-Signals. Dieses umfasst isochrone Übertragungen wie Übertragungen von Audiodaten, bei denen der Schwerpunkt auf dem Aufrechterhalten des Datenflusses und nicht auf der Fehlerüberprüfung liegt. Es ist beabsichtigt, dass solche Transaktionen innerhalb des Schutzbereiches der vorliegenden Erfindung liegen. Zur Veranschaulichung wurden Quittungs- und Negativ-Quittungs-Signale in die Beschreibungen bestimmter Ausführungsformen der Erfindung aufgenommen.
  • Die ”Art” einer Peripherie-Vorrichtung umfasst ihre Funktionalität (zum Beispiel Tastatur, Hub oder Drucker) und optional ihre Identität (Hersteller-Kennung, Produkt-Kennung, MAC-Adresse).
  • Die ”Konfiguration” eines Host umfasst mindestens eines aus seiner Hardware-Konfiguration, seiner Software-Konfiguration (einschließlich seines Betriebssystems), seiner Computernetzwerk-Konfiguration (zum Beispiel Größe/Art des Computernetzwerks, Anschlussmöglichkeiten des Computernetzwerks) und seine Identität (Hersteller-Kennung, Produkt-Kennung, MAC-Adresse).
  • Eine ”Charakteristik” von Daten umfasst mindestens eines aus ihrer Art (zum Beispiel Metadaten, ausführbar oder Textdatei), Größe, zum Senden der Daten benutztes Protokoll, Wert der Daten und jede andere Eigenschaft, de aus den Daten abgeleitet werden kann.
  • Der ”Zustand” eines Hosts oder Peripheriegerätes oder einer Kommunikations-Schnittstelle ist ein Satz logischer Werte, die den Zustand eines denen entsprechenden Zustandsautomaten kennzeichnen.
  • Eine ”Regel” kann von der Art oder dem Zustand eines Knotens am Netzwerk, einer Charakteristik von Daten am Netzwerk oder der Konfiguration des Netzwerks abhängen.
  • ”Gekoppelt” umfasst auch die indirekte Kopplung über eine zwischengeschaltete Vorrichtung.
  • ”Transparent” bedeutet das Ausführen der Kommunikation auf eine Weise, dass der Empfänger der Kommunikation keinen zusätzlichen Knoten im Verlauf der Kommunikation erkennt. Wenn eine Vorrichtung mit einem Peripheriegerät oder einer Host-Computer-Vorrichtung kommuniziert und dem Peripheriegerät oder der Host-Computer-Vorrichtung nicht als zusätzlicher Knoten erscheint, wie das der Fall sein könnte, wird die Kommunikation somit ”transparent” durchgeführt. Es ist für eine Vorrichtung möglich, sich an der Kommunikation mit einem Peripheriegerät oder einem Host bei einer Gelegenheit, zum Beispiel beim ersten Anschluss an dem Host, auf eine Weise zu beteiligen, dass sie dem Host als Knoten erscheint, auch wenn dieselbe Vorrichtung sich später an einer Kommunikation mit dem Host und mit einem Peripheriegerät beteiligen könnte und dem Host und dem Peripheriegerät nicht als Knoten erscheint. Im letztgenannten Fall wird die Kommunikation immer noch als ”transparent” durchgeführt angesehen.
  • Ein beschriebener ”Prozess” ist das Ausführen einer beschriebenen Funktion in einem Computer unter Verwendung von Software, Firmware, Hardware (wie etwa einem Prozessor oder kombinatorischer Logik) oder einer beliebigen Kombination von diesen. Die gesamte oder ein Teil der beschriebenen Funktion kann durch aktive oder passive elektronische Komponenten ausgeführt werden, wie etwa Transistoren oder Widerstände. Bei Verwendung des Begriffs ”Prozess” ist nicht notwendigerweise eine planbare Einheit erforderlich, obwohl in manchen Ausführungsformen ein Prozess durch eine solche planbare Einheit realisiert sein kann. Ferner kann, wenn der Kontext es nicht anders erfordert, ein ”Prozess” unter Verwendung von mehr als einem Prozessor oder von mehr als einem (Ein- oder Mehrprozessor-) Computer realisiert sein.
  • 1 ist ein Blockdiagramm logischer Prozesse, die gemäß einer Ausführungsform der vorliegenden Erfindung ausgeführt werden. In dieser Ausführungsform werden im Prozess 101 Daten ”transparent” von einer der Peripherie-Vorrichtungen und der Host-Computer-Vorrichtung empfangen. Die Verwendung des Begriffs ”transparent” wie oben definiert bedeutet, dass die Kommunikation von Daten auf eine Weise erzielt wird, dass der Host und das Peripheriegerät keinen zusätzlichen Knoten sehen, der die Daten empfängt. In Prozess 102 werden die empfangenen Daten gespeichert. Außerdem umfasst diese Ausführungsform optional die Realisierung eines Erhaltungs-Prozesses 104, der das Beenden der Kommunikation zwischen den Vorrichtungen verhindert – insbesondere verhindert der Erhaltungs-Prozess 104 das Beenden der Kommunikation zwischen dem Peripheriegerät und dem Host. Außerdem analysiert Prozess 103 die gespeicherten Daten, während der Prozess 104 andauert. In Entscheidungsprozess 105 wird festgestellt, ob ein Sicherheitsrisiko vorliegt. Wenn kein Risiko vorliegt, werden in Prozess 107 die Daten transparent zum anderen von Peripheriegerät und Host weitergeleitet. Mit anderen Worten sind die Prozesse hierin der Kommunikation zwischen dem Host und dem Peripheriegerät zwischengeschaltet. Wenn kein Risiko vorliegt, wird die Datenkommunikation zwischen dem Host und dem Peripheriegerät freigegeben. Andererseits wird, wenn Prozess 105 feststellt, dass ein Sicherheitsrisiko vorliegt, ein Sicherheitsprozess 106 ausgeführt.
  • Die in 1 gezeigten Prozesse können optional in einer Vorrichtung ausgeführt werden, die physikalisch vom Host und vom Peripheriegerät getrennt ist. In einer anderen Ausführungsform können die Prozesse jedoch in einer Hardware ausgeführt werden, die in die Host-Computer-Vorrichtung integriert ist. Zum Beispiel können Software oder Firmware zum Ausführen der Prozesse in den Host auf der Ebene des Betriebssystemkerns oder des BIOS integriert sein. Alternativ können die Prozesse in mindestens einen von USB-Root-Hub und Southbridge integriert sein. In noch weiteren Ausführungsformen können die Prozesse in der Peripherie-Vorrichtung selbst ausgeführt werden, indem sie direkt in das Peripheriegerät oder in eine Komponente integriert werden, die physikalisch mit dem Peripheriegerät gekoppelt ist, um eine zusammengesetzte Vorrichtung auszubilden. Insbesondere kann unter anderem der Sicherheitsprozess in Hardware oder in Software an jedem der oben angegebenen Orte ausgeführt werden.
  • In einer Ausführungsform werden mindestens eines aus den zu analysierenden Daten und aus der Analyse der Daten abgeleiteten Ergebnissen in einer Datenbank gespeichert. Der Benutzer kann optional auch über stattfindende Prozesse benachrichtigt werden. Zum Beispiel können LED-Anzeigen benutzt werden, einen Zustand der Host-Computer-Vorrichtung und/oder der Peripherie-Vorrichtung anzuzeigen. Wenn die Prozesse von 1 in einer Vorrichtung ausgeführt werden, die physikalisch vom Host und vom Peripheriegerät getrennt ist, können optional die LED-Anzeigen mit der Vorrichtung gekoppelt sein, und in einer weiteren Ausführungsform können sie an der Vorrichtung angebracht sein.
  • Die Regeln, die den Betrieb des Sicherheitsprozesses 106 leiten, können auch durch einen Benutzer konfigurierbar sein. Zum Beispiel kann der Benutzer spezifizieren, welche Arten von Peripheriegeräten (z. B. Kameras, Drucker) an den Host angeschlossen werden können. Weitere Parameter können auch konfiguriert werden, wie die Spezifikation alternativer Regeln entsprechend einer Zeitdauer, die eine Datenübertragung bis zur Beendigung benötigt. Eine Regel kann alle Downstream-Hubs ausschalten. Mindestens ein Vorteil des Ausschaltens aller Downstream-Hubs ist das Verhindern möglicher Datenverluste durch missbräuchlichen oder bösartigen Hub-Betrieb. Die Regeln können lokal oder global gespeichert werden und können dynamisch sein. Die Regeln können vom Betriebssystem oder von Treibern in der Host-Computer-Vorrichtung oder der Peripherie-Vorrichtung abhängig sein. Regeln können auch zwischen Arten von Peripheriegeräten (z. B. Tastatur, Festplattenlaufwerk, Kamera, Telefon, usw.), Arten von Datendateien (z. B. ausführbar, Textdatei, .xls, usw.), Arten von Hosts (z. B. Computer mit dem Namen A, Computer in Gruppe A, Windows-Gerät, usw.), Art der abhörenden Vorrichtung/des Moduls (z. B. nach Modell-Nummer oder Gruppen-Nummer) und jeder anderen gewünschten Unterscheidungsgrundlage unterschieden werden. Es soll darauf hingewiesen werden, dass ein Host ein Computer, Smartphone, Tablet-Computer, Personal Digital Assistant (PDA) oder ähnliches sein kann. Somit können manche Vorrichtungen, wie etwa Smartphones, die typischerweise als Peripheriegeräte betrachtet werden können, Hosts sein.
  • 2 ist ein Blockdiagramm einer weiteren Ausführungsform der vorliegenden Erfindung mit Einzelheiten der Realisierung des Erhaltungs-Prozesses 104 in 1 in Kommunikationsprozessen von einer Host-Computer-Vorrichtung zu einer Peripherie-Vorrichtung. In 2 sendet in Prozess 201 die Host-Computer-Vorrichtung Daten über einen Universal Serial Bus (USB) an eine Vorrichtung, die wir hier ”USB-Repeater” nennen, die die Prozesse von 1 realisiert. In Prozess 202 empfängt der USB-Repeater die Daten. In Prozess 203 speichert der Repeater die empfangenen Daten in seinem lokalen Speicher. In Prozess 204 werden die Daten in ein Testprogramm eingegeben, das in Prozess 205 die Daten entsprechend der Prozesse 103, 105 und 106 von 1 analysiert. Wie in Verbindung mit 1 erläutert, werden in Prozess 107 die Daten weitergeleitet, wenn in Prozess 105 nachfolgend auf die Analyse in Prozess 103 kein Sicherheitsrisiko festgestellt wurde. Wenn ein Sicherheitsrisiko festgestellt wurde, werden in Prozess 205 entweder keine Daten oder ein geändertes Paket ausgegeben.
  • Außerdem umfasst die Ausführungsform von 2 einen Erhaltungs-Prozess. Spezieller können es die Prozesse 103 und 105 von 1 erfordern, dass eine Zeit vergangen ist, und ein Erhaltungs-Prozess 104 wird in der Ausführungsform von 2 realisiert, um diese Zeit vorzusehen. In Entscheidungsprozess 206 wird festgestellt, ob Daten von Prozess 205 vor einer Zeitüberschreitung zur Verfügung gestellt wurden, und wenn Daten somit verfügbar sind, werden in Prozess 209 die Daten dann zu dem Peripheriegerät gesendet. Wenn keine Daten von Prozess 205 zu senden sind, bewirkt die Programmlogik in Prozess 207, dass eine Negativ-Quittung an den Host gesendet wird, und dass in Prozess 208 auf einen wiederholten Versuch gewartet wird, das Paket durch den Host zu senden. Dieser beispielhafte Erhaltungs-Prozess verhindert das Beenden der Kommunikation zwischen der Host-Computer-Vorrichtung und der Peripherie-Vorrichtung.
  • 3 ist ein Blockdiagramm der Ausführungsform von 2 mit Einzelheiten der Realisierung des Erhaltungs-Prozesses 104 in 1 in Kommunikationsprozessen von der Peripherie-Vorrichtung zur Host-Computer-Vorrichtung. Die dargestellten Prozesse sind symmetrisch zu denen in 2. Die Daten werden von der Peripherie-Vorrichtung empfangen anstatt von der Host-Computer-Vorrichtung. Somit sendet in 3 in Prozess 301 die Peripherie-Vorrichtung Daten über einen Universal Serial Bus (USB) zum USB-Repeater, der (wie oben angegeben) die Prozesse von 1 realisiert. In Prozess 302 empfängt der USB-Repeater die Daten. In Prozess 303 speichert der Repeater die empfangenen Daten in seinem lokalen Speicher. In Prozess 304 werden die Daten in ein Testprogramm eingegeben, das in Prozess 305 die Daten entsprechend der Prozesse 103, 105 und 106 von 1 analysiert. Wie in Verbindung mit 1 erläutert, werden in Prozess 107 die Daten weitergeleitet, wenn in Prozess 105 nachfolgend auf die Analyse in Prozess 103 kein Sicherheitsrisiko festgestellt wurde. Wenn ein Sicherheitsrisiko festgestellt wurde, werden auf eine zu 2 analoge Weise in Prozess 305 entweder keine Daten oder ein geändertes Paket ausgegeben.
  • Wie in Verbindung mit der Ausführungsform in 2 angegeben, umfasst die Ausführungsform von 3 auf ähnliche Weise einen Erhaltungs-Prozess. Spezieller können es die Prozesse 103 und 105 von 1 erfordern, dass eine Zeit vergangen ist, und ein Erhaltungs-Prozess 104 wird in der Ausführungsform von 3 realisiert, um diese Zeit vorzusehen. In Entscheidungsprozess 306 wird festgestellt, ob Daten von Prozess 305 vor einer Zeitüberschreitung zur Verfügung gestellt wurden, und wenn Daten somit verfügbar sind, werden in Prozess 309 die Daten dann zur Host-Computer-Vorrichtung gesendet. Wenn keine Daten von Prozess 305 zu senden sind, bewirkt die Programmlogik in Prozess 307, dass eine Negativ-Quittung an das Peripheriegerät gesendet wird, und dass in Prozess 308 auf einen wiederholten Versuch gewartet wird, das Paket durch das Peripheriegerät zu senden. Wie in 2 verhindert dieser beispielhafte Erhaltungs-Prozess das Beenden der Kommunikation zwischen der Host-Computer-Vorrichtung und der Peripherie-Vorrichtung.
  • 4 ist ein Blockdiagramm der Architektur einer Hardware-Ausführungsform der vorliegenden Erfindung. Die Hardware kann als Hardware-USB-Repeater 407 angesehen werden, der zwischen der Host-Computer-Vorrichtung 401 und der Peripherie-Vorrichtung 405 angeordnet ist. Die in 4 gezeigte Ausführungsform umfasst drei Module. Die Schnittstelle der Host-Computer-Vorrichtung ist über die physikalische Schicht 402. Die Schnittstelle der Peripherie-Vorrichtung ist über die physikalische Schicht 404. Die physikalischen Schichten 402 und 404 stehen in Kommunikation mit einem Hauptmodul 406, das eine CPU-Schnittstelle 408 und einen Repeater 403 umfasst. Das Modul 406, das in einem Field Programmable Gate Array (FPGA) verkörpert sein kann, realisiert die oben in Verbindung mit den 1 bis 3 beschriebenen und im Folgenden weiter beschriebenen Prozesse. In einer alternativen Ausführungsform können die Elemente 402, 406 und 404 in einem einzigen Modul integriert sein.
  • 5 ist ein Blockdiagramm einer Hardware-Ausführungsform der vorliegenden Erfindung, das weitere Einzelheiten zur Realisierung der Ausführungsform von 4 vorsieht. Die Ausführungsform von 5 umfasst drei Module: ein Stromversorgungsmodul, ein Datenmodul und einen gesicherten Hub, die miteinander und mit der Host-Computer-Vorrichtung 401 und den Peripherie-Vorrichtungen 405, 506 und 507 in Kommunikation stehen. Eine Ausführungsform des Stromversorgungsmoduls ist das Stromversorgungssystem 502. Eine Ausführungsform des Datenmoduls ist die Sicherungsschicht 503. Eine Ausführungsform des Hub-Moduls ist der gesicherte Hub 504. Die Sicherungsschicht 503 kann optional eine Isolationsanordnung umfassen, die die Datenleitungen elektrisch isoliert. Die Isolationsanordnung kann durch eines oder mehrere von optischer Trennung, mechanischen Relais und elektrischer Pufferung realisiert werden, um ein Verfahren der Trennung in den Datenleitungen hinzuzufügen.
  • 6 ist ein Blockdiagramm, das Einzelheiten des Datenmoduls der Ausführungsform von 5 vorsieht. In der in 6 gezeigten Ausführungsform ist das Datenmodul eine Sicherungsschicht 503, die mit den physikalischen USB-Schichten 402 und 404 in Kommunikation mit einem Hauptmodul FPGA 406 realisiert ist. Ein nichtflüchtiger Speicher 607 und ein Schreib-Lese-Speicher (RAM) 608 sind ebenfalls mit dem FPGA 406 gekoppelt, zusammen mit dem Taktoszillator-Modul 603.
  • 7 ist ein Blockdiagramm, das Einzelheiten des Stromversorgungs-Moduls der Ausführungsform von 5 vorsieht. Das Stromversorgungs-Modul ist mit der Host-Computer-Vorrichtung 401 und der Peripherie-Vorrichtung 405 gekoppelt. Ein Schalter 704, der typischerweise elektronisch betätigt wird, dient selektiv zur Versorgung mit Strom, der entweder aus einer Netzspannung über Gleichrichter 702 oder von der mit einer Sicherung 703 geschützten Stromversorgung der Host-Computer-Vorrichtung kommt. Die Netzspannung kann zum Beispiel 120 V Wechselspannung betragen. Diese Stromversorgung versorgt das FPGA 406 und eine unterbrechungsfreie Stromversorgung 705, die über Sperrwandler 706 und Schutzschaltung 707 das Peripheriegerät 405 mit Strom versorgt.
  • In weiteren ähnlichen Ausführungsformen enthält das Stromversorgungs-Modul eine interne aktive Klemmschaltung, die einen speziellen Stromversorgungssystem-Schutz vorsieht, um die Host-Computer-Vorrichtung und die Peripherie-Vorrichtung gegen Stromausfälle zu schützen. Der Stromversorgungssystem-Schutz dient zur elektrischen Isolation der 5 V- und Masseleitungen. Die elektrische Isolation schützt die Host-Computer-Vorrichtung und die Peripherie-Vorrichtung gegen Bedingungen, wie Überspannung oder Überstrom. In dieser Ausführungsform wird durch einen Versuch der Host-Computer-Vorrichtung oder der Peripherie-Vorrichtung, mehr Strom als zulässig aufzunehmen, ein Schutzprozess ausgelöst, durch den mindestens eine der folgenden Gegenmaßnahmen ausgeführt wird: Sperren des betreffenden Anschlusses, Benachrichtigen des Benutzers über eine Verletzung der Spezifikation, Anfordern, dass der Benutzer die die Spezifikation verletzende Vorrichtung abtrennt und erneute Freigabe der Verbindung. In manchen Ausführungsformen kann ein Superkondensator oder eine Batterie-Technologie benutzt werden, um eine Stromversorgungs-Isolation im Fall einer Überspannung vorzusehen.
  • 8 ist ein Blockdiagramm, das den logischen Fluss von Peripherie-Authentifizierungs-Prozessen gemäß einer Ausführungsform der vorliegenden Erfindung zeigt. Der gezeigte Prozess beginnt in Block 801. In Block 802 ist das Peripheriegerät angeschlossen und Daten, die eine Art des Peripheriegerätes kennzeichnen, werden von der Peripherie-Vorrichtung empfangen. In Entscheidungsprozess 803 wird, wenn es die Art des Peripheriegeräts umfasst, eine Benutzeroberfläche aufzuweisen, durch einen Authentifizierungsprozess eine Aufforderung an den Benutzer ausgegeben 804. Gemäß einigen Ausführungsformen kann die Aufforderung über eine Anzeige ausgegeben werden, die sich auf einem von Host-Computer-Vorrichtung, Sicherheitsmodul, Peripherie-Vorrichtung und externem Modul befindet. Alternativ oder zusätzlich kann die Aufforderung eine hörbare oder haptische Aufforderung sein. Außerdem kann verhindert sein, dass die Host-Computer-Vorrichtung und die Peripherie-Vorrichtung Zugang zu der Aufforderung haben, um Sicherheit hinzuzufügen. Eine Ausführungsform, dem Benutzer eine Aufforderung auf eine Weise zu präsentieren, dass verhindert ist, dass die Host-Computer-Vorrichtung und die Peripherie-Vorrichtung Zugang haben, ist durch einen externen Bildschirm oder Lautsprecher, der durch zusätzliche Rechenfähigkeiten des Sicherheitsmoduls gesteuert ist. Solche Rechenfähigkeiten können nicht notwendigerweise auf andere Weise mit entweder dem Host oder dem Peripheriegerät interagieren. In Entscheidungsprozess 805 werden die von der Peripherie-Vorrichtung empfangenen Daten analysiert. In der gezeigten Ausführungsform wird abhängig von der Antwort des Benutzers ein Fehler-Prozess 806 oder ein Erfolgs-Prozess 807 realisiert.
  • 9 ist ein Blockdiagramm, das weitere Einzelheiten der in 8 gezeigten Prozesse vorsieht. Der gezeigte Prozess beginnt in Block 901. In Block 902 werden Daten, die die Art der Peripherie-Vorrichtung kennzeichnen, von der Peripherie-Vorrichtung empfangen. In Prozess 903 wird getestet, ob die Vorrichtung auf der Grundlage der Daten genehmigt wird. Wenn die Vorrichtung in Prozess 903 genehmigt wird, werden Daten in Prozess 904 von der Peripherie-Vorrichtung zur Host-Vorrichtung gesendet. Wenn die Vorrichtung in Prozess 903 nicht genehmigt wird, wird ein Aufforderungs-Prozess 905 ausgeführt, der es erfordert, dass auf der Peripherie-Vorrichtung eine Benutzer-Antwort eingegeben werden muss. Die von der Peripherie-Vorrichtung empfangenen Daten, die vorgeben, dass sie der Benutzerantwort zuzuordnen sind, werden analysiert. Wenn die Daten den Aufforderungs-Prozess 905 nicht erfüllen, wird Fehlerprozess 909 ausgelöst, gefolgt von einer Negativ-Quittung, die in Prozess 913 an den Host gesendet wird. Wenn die von der Peripherie-Vorrichtung empfangenen Daten den Aufforderungs-Prozess 905 erfüllen, wird in Prozess 906 eine weitere Aufforderung ausgegeben. In Prozess 908 wird ein Test durchgeführt um festzustellen, ob der Aufforderungs-Prozess beendet ist, und falls er nicht beendet ist, wird in Prozess 910 eine Negativ-Quittung zum Host gesendet. Wenn in Prozess 908 festgestellt wird, dass die Aufforderungs-Prozesse beendet sind, wird in Prozess 911 die Genehmigung der Vorrichtung ausgegeben, und es wird in Prozess 912 eine Negativ-Quittung zum Host gesendet.
  • 10 ist ein Blockdiagramm, das den logischen Fluss in Zusammenhang mit individueller Anpassung des Eingangs gemäß einer Ausführungsform der vorliegenden Erfindung zeigt. Der Prozess beginnt in Block 1001. In Prozess 1002 ist das Peripheriegerät angeschlossen und von der Peripherie-Vorrichtung werden Daten empfangen, die ihre Art kennzeichnen. Wenn festgestellt wird, dass die Art der Vorrichtung es umfasst, einen Benutzeroberflächen-Prozess aufzuweisen 1003, wartet die Programmlogik in Prozess 1004 auf die Benutzereingabe. In Prozess 1005 werden Benutzer-Eingabedaten, die vorgeben, dass sie der Benutzerantwort zuzuordnen sind, von der Peripherie-Vorrichtung empfangen und gespeichert. Dann werden in Prozess 1006 die gespeicherten Daten analysiert, um einen Sachverhalt zu erkennen, der durch eine Erkennungs-Regel definiert ist. In Prozess 1007 wird festgestellt, ob die Daten mit einem Sachverhalt übereinstimmen, der durch die Regel definiert ist. Wenn festgestellt wird, dass eine Übereinstimmung vorliegt, dann wird ein Prozess der individuellen Anpassung 1009 realisiert, der durch eine Anpassungsregel realisiert ist, und der Programmfluss endet in Prozess 1011. Wenn in Prozess 1007 festgestellt wird, dass keine Übereinstimmung vorliegt, dann werden in Prozess 1008 die Daten zur Host-Computer-Vorrichtung weitergeleitet, und der Programmfluss endet. In einer Ausführungsform kann der Sachverhalt sein, bestimmte Tastatur-Funktionen zurückweisen oder zu verbieten, wie etwa Bildschirmdruck, Kopieren/Einfügen, Klick mit rechter Maustaste oder Taste Einfügen. Außerdem kann der Sachverhalt auf eine solche Weise an Software gebunden sein, dass bestimmte Funktionen nicht erlaubt sind, wenn eine bestimmte Software auf der Host-Computer-Vorrichtung, Peripherie-Vorrichtung oder Netzwerken von beiden läuft. In noch einer anderen Ausführungsform werden Daten wie Tastendrücke protokolliert, um bestimmte Kombinationen von Tastendrücken zu erkennen. Wenn eine schädliche Kombination von Tastendrücken empfangen wird, kann ein Schutzprozess realisiert sein, der zum Beispiel die schädliche Kommunikation blockieren und/oder den Benutzer benachrichtigen könnte. Ein Notfall-Prozess könnte realisiert sein, wenn eine spezielle Kombination von Tastendrücken oder ein ”Panik-Tastendruck” empfangen wird. In dem Notfall-Prozess kann zum Beispiel das normale Echo der Tastendrücke gesperrt sein, und es können Prozesse entweder auf dem Sicherheitsmodul selbst oder auf der Host-Computer-Vorrichtung oder der Peripherie-Vorrichtung oder auf den Netzwerken aus ihnen realisiert sein. Einige Ausführungsformen umfassen Auslösen eines stillen Alarms, Anzeigen eines ”blauen Bildschirms”, Zugriff auf das Internet, Selbstzerstörung oder Löschen von Daten auf einem von Sicherheitsmodul, Host-Computer-Vorrichtung, Peripherie-Vorrichtung oder Netzwerken aus ihnen.
  • 11 ist ein Blockdiagramm, das den logischen Fluss in Zusammenhang mit Verschlüsselung auf Dateiebene gemäß einer Ausführungsform der vorliegenden Erfindung zeigt. Zuerst werden Daten in Prozess 1101 von der Host-Computer-Vorrichtung empfangen. In Prozess 1102 ist dann das Erkennen von Daten, die einem Schreibbefehl zur Peripherie-Vorrichtung ausgesetzt sind, auf einer Dateiebene realisiert. In Prozess 1103 wird festgestellt, ob die Daten entsprechend einer Regel zu verschlüsseln sind. Wenn Prozess 1103 zu der Feststellung führt, die Daten zu verschlüsseln, wird in Prozess 1104 dann ein Verschlüsselungsprozess festgelegt. In Prozess 1105 werden die Daten auf Dateiebene dem Verschlüsselungsprozess unterzogen, der für jede Datei unterschiedlich sein kann. Wenn in Prozess 1103 festgestellt wird, dass die Daten nicht zu verschlüsseln sind, erfolgen keine Verschlüsselungs-Schritte. Schließlich werden in Prozess 1106 die Daten in der Peripherie-Vorrichtung gespeichert, entweder verschlüsselt oder nicht verschlüsselt. Da in einer Ausführungsform die Peripherie-Vorrichtung Teil der Host-Computer-Vorrichtung sein kann, können die verschlüsselten Daten auf einem Festplattenlaufwerk der Host-Computer-Vorrichtung gespeichert werden. In einer Ausführungsform hängt der Verschlüsselungsprozess auch vom Ort oder der Adresse ab, wo die Daten nach der Verschlüsselung gespeichert sind. Der Verschlüsselungsprozess kann auch in Relation zu einem Schlüssel gestaltet sein, der aus einem Benutzer-Passwort sowie aus einer Pseudozufallszahl abgeleitet ist, auf eine Weise, dass der Schlüssel sich mit jeder Datei, die verschlüsselt wird, ändert. In einer Ausführungsform sind hochentwickelte Hash-Suchalgorithmen realisiert, um die Timing-Anforderungen zu erfüllen.
  • 12 ist ein Blockdiagramm, das den logischen Fluss in Zusammenhang mit Entschlüsselung auf Dateiebene gemäß einer Ausführungsform der vorliegenden Erfindung zeigt. Zuerst werden Daten in Prozess 1201 von der Peripherie-Vorrichtung empfangen. Als Nächstes ist in Prozess 1202 dann das Erkennen von Daten, die einem Lesebefehl zur Host-Computer-Vorrichtung ausgesetzt sind, auf einer Dateiebene realisiert. In Prozess 1203 wird festgestellt, ob die Daten entsprechend einer Regel zu entschlüsseln sind. Wenn festgestellt wird, dass die Daten zu entschlüsseln sind, wird in Prozess 1204 der Entschlüsselungsprozess festgelegt. Als Nächstes werden in Prozess 1205 die Daten auf Dateiebene dem Entschlüsselungsprozess unterzogen, der für jede Datei unterschiedlich sein kann. Wenn in Prozess 1203 festgestellt wird, dass die Daten nicht zu entschlüsseln sind, erfolgen keine Entschlüsselungs-Schritte. Schließlich werden in Prozess 1206 die Daten in der Host-Computer-Vorrichtung gespeichert, entweder verschlüsselt oder nicht verschlüsselt. In einer Ausführungsform definiert eine Regel, welche Host-Computer-Vorrichtungen die Erlaubnis haben, bestimmte Dateien oder Arten von Dateien zu entschlüsseln.
  • 13 ist ein Blockdiagramm, das den logischen Fluss in Zusammenhang mit Übertragungs-Verschlüsselung gemäß einer Ausführungsform der vorliegenden Erfindung zeigt. In Prozess 1301 werden Daten zunächst von der Host-Computer-Vorrichtung empfangen und anschließend in Prozess 1302 gespeichert. Anschließend laufen zwei Unter-Prozesse parallel. In Unter-Prozess 1303 werden die gespeicherten Daten analysiert, um eine Analyse zu bestimmen, welcher Teil von ihnen, wenn überhaupt, zu verschlüsseln ist. In Prozess 1304 wird auf der Grundlage der Analyse festgestellt, ob die Daten zu verschlüsseln sind. Wenn in Prozess 1304 festgestellt wird, dass die Daten zu verschlüsseln sind, wird ein Verschlüsselungsprozess 1305 entsprechend der Analyse realisiert, um die Daten in Prozess 1308 zur Peripherie-Vorrichtung weiterzuleiten (nach einem noch zu beschreibenden Test, ob die Daten fertig sind). Wenn in Prozess 1304 festgestellt wird, dass die Daten nicht zu verschlüsseln sind, werden die unverschlüsselten Daten in Prozess 1308 zur Peripherie-Vorrichtung übertragen (wieder nach dem noch zu beschreibenden Test, ob die Daten fertig sind). In Unter-Prozess 1306 wird getestet, ob die Daten von den Blöcken 1304 und 1305 fertig sind. Wenn festgestellt wird, dass die Daten fertig sind, werden die Daten in Prozess 1308 entweder verschlüsselt oder unverschlüsselt zur Peripherie-Vorrichtung übertragen. Wenn festgestellt wird, dass die Daten nicht fertig sind, wird ein Erhaltungs-Prozess 1307 (wie zuvor in Verbindung mit den 2 und 3 beschrieben) realisiert, der die Beendigung der Kommunikation zwischen den Vorrichtungen verhindert.
  • 14 ist ein Blockdiagramm, das den logischen Fluss in Zusammenhang mit Übertragungs-Entschlüsselung gemäß einer Ausführungsform der vorliegenden Erfindung zeigt. Die Daten werden zuerst in Prozess 1401 von der Peripherie-Vorrichtung empfangen und anschließend in Prozess 1402 gespeichert. Anschließend laufen zwei Unter-Prozesse parallel. In Unter-Prozess 1403 werden die gespeicherten Daten analysiert, um eine Analyse zu bestimmen, welcher Teil von ihnen, wenn überhaupt, zu entschlüsseln ist. Wenn in Prozess 1403 festgestellt wird, dass die Daten zu entschlüsseln sind, wird entsprechend der Analyse ein Entschlüsselungs-Prozess 1405 realisiert, und entschlüsselte Daten werden in Prozess 1408 zur Host-Computer-Vorrichtung übertragen. Wenn in Prozess 1404 festgestellt wird, dass die Daten nicht zu entschlüsseln sind, werden die verschlüsselten Daten in Prozess 1408 zur Host-Computer-Vorrichtung übertragen. In Unter-Prozess 1406 wird getestet, ob die Daten von den Blöcken 1404 und 1405 fertig sind. Wenn festgestellt wird, dass die Daten fertig sind, werden die Daten in Prozess 1408 entweder entschlüsselt oder verschlüsselt zur Host-Computer-Vorrichtung übertragen. Wenn festgestellt wird, dass die Daten nicht fertig sind, wird ein Erhaltungs-Prozess 1407 realisiert, der die Beendigung der Kommunikation zwischen den Vorrichtungen verhindert.
  • 15 ist ein Blockdiagramm, das den logischen Fluss in Zusammenhang mit Angriffs-Erkennung gemäß einer Ausführungsform der vorliegenden Erfindung zeigt. In Prozess 1501 werden Daten von der Peripherie-Vorrichtung oder der Host-Computer-Vorrichtung empfangen. In Prozess 1502 werden die empfangenen Daten gespeichert. Außerdem realisiert Prozess 1503 einen Analyse-Prozess, der die empfangenen Daten gegen eine Datenbank testet, um einen Sachverhalt zu erkennen, der ein Sicherheitsrisiko darstellt. In einer Ausführungsform wird ein Hash-Suchalgorithmus benutzt, die Datenbank abzufragen. In einer Ausführungsform enthält die Datenbank Angriffsmuster und/oder Fingerabdrücke bekannter und/oder erwarteter Angriffe. Die Datenbank kann aktualisiert werden, zum Beispiel direkt oder durch die Host-Computer-Vorrichtung oder die Peripherie-Vorrichtung. In Prozess 1504 wird festgestellt, ob der Analyse-Prozess einen Sachverhalt erkannt hat, der ein Sicherheitsrisiko darstellt. Wenn in Prozess 1504 kein Sicherheitsrisiko festgestellt wird, werden in Prozess 1506 die Daten zur anderen von Peripherie-Vorrichtung und Host-Computer-Vorrichtung weitergeleitet. Wenn jedoch in Prozess 1504 ein Sachverhalt festgestellt wird, der ein Sicherheitsrisiko darstellt, wird ein durch eine Regel definierter Sicherheitsprozess 1505 ausgeführt. In einer Ausführungsform kann der Sicherheitsprozess modifizierte Daten zur anderen von Peripherie-Vorrichtung und Host-Computer-Vorrichtung senden. In einer anderen Ausführungsform kann der Sicherheitsprozess mindestens eines von Blockieren der Daten, Protokollieren des Angriffs und Benachrichtigen des Benutzers umfassen. Der Sicherheitsprozess kann auch das Übertragen von Informationen bezüglich des Angriffs an eine zentralisierte Stelle umfassen. Der Sicherheitsprozess kann auch Informationen bezüglich des Angriffs benutzen, um die Datenbank zu aktualisieren und zukünftige Angriffe vorherzusagen.
  • 26 ist ein Reihenfolge-Diagramm logischer Prozesse, die in einem Host und einer oder mehreren Peripherie-Vorrichtungen gemäß dem Stand der Technik ausgeführt werden. Die Zeit schreitet von oben nach unten fort, wie durch den Pfeil gezeigt. In dieser Sequenz ist das Peripheriegerät 1, 2602, mit dem Host 2601 über USB gekoppelt. In Prozess 2603 sendet der Host 2601 ein OUT-Token-Paket an das Peripheriegerät. Das Peripheriegerät 2602 empfängt das Paket in Prozess 2604. Der Host sendet dann in Prozess 2605 ein DATA-Paket, das in Prozess 2606 vom Peripheriegerät empfangen wird. Das Peripheriegerät kann optional eine Negativ-Quittung senden, wie in Prozess 2607 gezeigt. Wenn dies auftritt, wird der Host zuerst in 2608 diese Negativ-Quittung empfangen und dann die Übertragung der Pakete OUT und DATA einige Zeit später erneut versuchen. Der Host sendet dann in Prozess 2609 das OUT-Paket erneut, das in Prozess 2610 vom Peripheriegerät empfangen wird. Der Host wird dann in Prozess 2611 das DATA-Paket erneut senden, das in Prozess 2612 vom Peripheriegerät empfangen wird. An diesem Punkt kann das Peripheriegerät ein weiteres Negativ-Quittungs-Paket ausgeben, um eine weitere erneute Übertragung anzufordern, und die Schleife wiederholt sich. Das Peripheriegerät wird jedoch an irgendeinem Punkt mit einer Quittung antworten, wie in Prozess 2613 gezeigt, die in Prozess 2614 vom Host empfangen wird, der die Transaktion beendet.
  • 27 ist ein Reihenfolge-Diagramm logischer Prozesse, die in einem Host und einer oder mehreren Peripherie-Vorrichtungen gemäß dem Stand der Technik ausgeführt werden. Die Zeit schreitet von oben nach unten fort, wie durch den Pfeil gezeigt. In dieser Sequenz kann das Peripheriegerät 1, 2702, ein Hub sein und ist mit dem Host 2701 gekoppelt. Peripheriegerät 2, 2703, ist mit Peripheriegerät 1, 2702, gekoppelt. In dem ersten Prozess, 2704, sendet der Host 2701 ein OUT-Paket, das an Peripheriegerät 2 adressiert ist. Dieses Signal wird von Peripheriegerät 1, 2702, empfangen und in Prozess 2705 erneut an Peripheriegerät 2, 2703, gesendet. Das Peripheriegerät empfängt dann dieses Signal in Prozess 2706. Als Nächstes sendet der Host ein DATA-Paket in Prozess 2707. Peripheriegerät 1 empfängt und sendet dieses Paket erneut in Prozess 2708. Das Paket wird in Prozess 2709 vom Peripheriegerät empfangen. An diesem Punkt kann das Peripheriegerät optional in Prozess 2710 mit einer Negativ-Quittung antworten. Gründe dafür, dass ein Peripheriegerät eine Negativ-Quittung sendet, können es umfassen, dass das Peripheriegerät nicht bereit zum Empfangen von Daten ist, sowie dass die gesendeten Daten beschädigt sind oder aus anderen Gründen erneut gesendet werden müssen. Wenn dies auftritt, wird Peripheriegerät 1 in Prozess 2711 diese Negativ-Quittung empfangen und sie zum Host senden. Der Host wird diese Negativ-Quittung in Prozess 2712 empfangen. Bei Empfang der Negativ-Quittung wird der Host das anfängliche OUT-Paket in Prozess 2713 etwas später erneut senden. Das Peripheriegerät 1 wird dieses Signal in Prozess 2714 empfangen und erneut senden, und das Peripheriegerät wird das OUT-Paket in Prozess 2715 empfangen. Der Host wird dann in Prozess 2716 ein DATA-Paket erneut senden, das in Prozess 2717 vom Peripheriegerät 1 empfangen und erneut gesendet wird. Das Peripheriegerät empfängt diese Daten in Prozess 2718. An diesem Punkt kann das Peripheriegerät sich entscheiden, mit einer weiteren Negativ-Quittung zu antworten. Wenn dies auftritt, wiederholt sich die Schleife. Das Peripheriegerät wird jedoch an einem bestimmten Punkt mit einer Quittung antworten, wie in 2719 gezeigt. Peripheriegerät 1 wird dieses Signal empfangen und erneut senden, wie in Prozess 2720 gezeigt. Schließlich wird der Host diese Daten in Prozess 2721 empfangen. Diese Sequenz beschreibt eine Transaktion, die im USB-Protokoll auftritt, wenn ein Hub zwischen dem Host und einem Peripheriegerät angeordnet wird.
  • 28 ist ein Reihenfolge-Diagramm logischer Prozesse, die gemäß einer Ausführungsform der vorliegenden Erfindung ausgeführt werden. Die Zeit schreitet von oben nach unten fort, wie durch den Pfeil gezeigt. Es werden Prozesse gezeigt, die in jeder von drei Vorrichtungen ausgeführt werden. Eine Ausführungsform einer Vorrichtung der vorliegenden Erfindung ist in 28 als 2802 gezeigt. Die Ausführungsform, 2802, ist mit dem Host, 2801, gekoppelt, und das Peripheriegerät 2803 ist mit der Ausführungsform 2802 gekoppelt. Der Host, 2801, sendet in Prozess 2804 ein OUT-Paket, das an das Peripheriegerät, 2803, adressiert ist. Die Ausführungsform empfängt dieses OUT-Paket in Prozess 2805. Der Host sendet dann in Prozess 2806 ein DATA-Paket, das in Prozess 2807 von der Ausführungsform empfangen wird. Die Ausführungsform sendet dann in Prozess 2808 ein Quittungs-Paket an den Host, das in Prozess 2809 vom Host empfangen wird. Obwohl das Quittungs-Paket von der Ausführungsform und nicht vom Peripheriegerät gesendet wird, interpretiert der Host das Quittungs-Paket so, als sei es vom Peripheriegerät gesendet worden, weil die Ausführungsform das Peripheriegerät emuliert, wenn es das Quittungs-Paket sendet. Man beachte, dass das Quittungs-Paket nur zur Erklärung gewählt wird, und für andere Ausführungsformen können andere Antworten geeignet sein, wie noch nicht, Fehler, Paket zerstört, Paket beschädigt, oder keine Antwort, wie im Fall isochroner Übertragungen. 29 zeigt ein Beispiel unter Verwendung einer Negativ-Quittung. Kehrt man zurück zu 28, ist ein Vorteil des Sendens eines Quittungs-Pakets, dass die Transaktion mit dem Host beendet wird. Dies gibt der Ausführungsform Zeit, die Daten zu verarbeiten, die sie vom Host empfangen hat. In Prozess 2810 verarbeitet die Ausführungsform die Daten, was Analysieren, Ändern, Verschlüsseln, Unkenntlichmachen oder eine andere Verarbeitung der Daten umfassen kann. Das verarbeitete DATA-Paket kann zum Beispiel dasselbe sein, wie das vom Host empfangene DATA-Paket, aber mit bestimmten Teilen verschlüsselt. Als Nächstes emuliert die Ausführungsform den Host und löst in Prozess 2811 die Übertragung eines OUT-Pakets aus, das in Prozess 2812 vom Peripheriegerät empfangen wird. Die Ausführungsform fährt damit fort, den Host zu emulieren und sendet in Prozess 2813 das verarbeitete DATA-Paket, das in Prozess 2814 vom Peripheriegerät empfangen wird. An diesem Punkt kann das Peripheriegerät optional mit einem Negativ-Quittungs-Signal antworten, wie in Prozess 2815 gezeigt. Diese Negativ-Quittung wird durch die Ausführungsform in Prozess 2816 empfangen. Einige Zeit später wird die Ausführungsform in Prozess 2817 das OUT-Paket erneut senden, das in Prozess 2818 empfangen wird. Die Ausführungsform wird dann das verarbeitete DATA-Paket senden, wie in Prozess 2819 gezeigt, das vom Peripheriegerät empfangen wird, wie in Prozess 2820 gezeigt. Das Peripheriegerät kann sich erneut entscheiden, ein Negativ-Quittungs-Paket zu senden, wobei sich an diesem Punkt die Schleife wiederholen würde. Andernfalls wird das Peripheriegerät ein Quittungs-Paket senden, wie in Prozess 2821 gezeigt, das in Prozess 2822 von der Ausführungsform empfangen wird. Dies beendet die Transaktion.
  • 28 beschreibt eine Situation, in der die Ausführungsform zu bestimmten Zeiten den Host oder das Peripheriegerät emulieren kann. Mindestens ein Vorteil der Emulation ist, dass sie es der Ausführungsform erlaubt, die Pakete abzuhören, die gesendet werden, um sie zu verarbeiten. Dieses Verfahren der Verwendung von Emulation zum Abhören der Pakete hilft dabei, die Kommunikation zu erhalten. Zum Beispiel, wenn stattdessen die Ausführungsform das OUT-Paket empfängt, es zum Peripheriegerät weitersendet, das DATA-Paket empfängt, versucht, die Daten zu verarbeiten, und dann die verarbeiteten Daten an das Peripheriegerät sendet, ohne eine Emulation durchzuführen, kann die Kommunikations-Schnittstelle oder der Bus eine Zeitüberschreitungs-Bedingung oder eine andere Fehlerbedingung einnehmen. Bei einer solchen Bedingungen besteht das Risiko der Beendigung oder Unterbrechung der Kommunikation.
  • Die Ausführungsform, wie in 28 gezeigt, kann zusätzliche Funktionalität vorsehen, die folgendes umfassen kann, aber nicht darauf beschränkt ist. Wenn die Vorrichtung keine Kommunikationen zum Host sendet, kann die Vorrichtung die Kommunikation auf eine solche Weise aufrecht erhalten, die einem Peripheriegerät ähnelt, wie etwa dass sie die Leitung D+/D– mit einem Widerstand von 45 Ohm elektrisch abschließt. Wenn die Vorrichtung darüber hinaus keine Kommunikationen zum Peripheriegerät sendet, kann die Vorrichtung die Kommunikation auf eine solche Weise aufrecht erhalten, die einem Host ähnelt, wie etwa dass sie die Leitung D+/D– mit einem Widerstand von 45 Ohm elektrisch abschließt und Rahmenstart- oder Keepalive-Pakete und IN-Pakete sendet.
  • Ein bemerkenswerter zusätzlicher Vorteil wird im Folgenden beschrieben. In dem in den 26 und 27 beschriebenen Stand der Technik muss, wenn das Peripheriegerät eine Negativ-Quittung sendet, der Host weiter die Pakete OUT und DATA in einer Schleife senden. Diese Schleife wird wiederholt, wenn das Peripheriegerät weiter eine Negativ-Quittung sendet, was tausende Male auftreten kann. Dieser Prozess belegt Bandbreite auf dem Bus. Wie in 28 gezeigt, kann in einer Ausführungsform der Vorrichtung dieser Prozess isoliert werden, nur zwischen der Vorrichtung und dem Peripheriegerät aufzutreten. Hierdurch werden die Bandbreitenanforderungen auf dem Bus zwischen dem Host und anderen Peripheriegeräten verringert. Auf diese Weise kann eine Ausführungsform der Erfindung ein oder mehrere von Host und Bus schützen, indem sie sie von dieser Kommunikation trennt.
  • In bestimmten Ausführungsformen kann eine Situation vorliegen, in der die Vorrichtung den Empfang von Daten vom Host quittiert hat, indem sie das Peripheriegerät emuliert hat, jedoch verhindert eine Bedingung, dass die Vorrichtung diese Daten zum Peripheriegerät sendet. Eine solche Bedingung kann es umfassen, dass das Peripheriegerät nicht funktioniert oder abgetrennt ist. Die Vorrichtung kann einen Abschnitt umfassen, der sich selbst als getrenntes Peripheriegerät beim Host ausweist. In einer Ausführungsform kann ein solcher Abschnitt mit dem Benutzer in Verbindung stehen, zum Beispiel um den Benutzer über eine Bedingung wie oben beschrieben zu benachrichtigen. In einer anderen Ausführungsform kann die Vorrichtung andere Mittel benutzen, um den Benutzer über eine solche Bedingung zu informieren, zum Beispiel durch Einschalten einer LED.
  • 29 ist ein Reihenfolge-Diagramm logischer Prozesse, die gemäß einer alternativen Ausführungsform der vorliegenden Erfindung ausgeführt werden. Die Zeit schreitet von oben nach unten fort, wie durch den Pfeil gezeigt. Es werden Prozesse gezeigt, die in jeder von drei Vorrichtungen ausgeführt werden. Eine Ausführungsform einer Vorrichtung der vorliegenden Erfindung ist in 29 als 2902 gezeigt. Die Ausführungsform, 2902, ist mit dem Host, 2901, gekoppelt, und das Peripheriegerät 2903 ist mit der Ausführungsform 2902 gekoppelt. Der Host, 2901, sendet in Prozess 2904 ein OUT-Paket, das an das Peripheriegerät, 2903, adressiert ist. Die Ausführungsform, 2902, empfängt dieses Paket in Prozess 2905. Der Host sendet dann ein DATA-Paket, wie in Prozess 2906 gezeigt, und die Ausführungsform empfängt dieses Paket in Prozess 2907. Die Ausführungsform sendet in Prozess 2908, wobei sie das Peripheriegerät emuliert, ein Negativ-Quittung-Paket, das in Prozess 2909 vom Host empfangen wird. Da das Negativ-Quittungs-Paket dem Host anzeigt, die Daten zu einem späteren Zeitpunkt erneut zu senden, werden die vom Host gesendeten nachfolgenden Pakete OUT und DATA identisch zu dem in den Prozessen 2904, bzw. 2906 gesendeten Paketen OUT und DATA sein. Daher müssen die in den Prozessen 2914 und 2923 gesendeten DATA-Pakete nicht verarbeitet werden. An diesem Punkt verarbeitet die Ausführungsform die Daten, die sie vom Host empfangen hat, wie in Prozess 2910 gezeigt. Man beachte, dass obwohl nicht gezeigt, der Host ein OUT-Paket senden kann, bevor Prozess 2910 beendet wurde. In diesem Fall wird die Ausführungsform das OUT-Paket empfangen, der Host wird ein DATA-Paket senden, die Ausführungsform wird das DATA-Paket empfangen, die Ausführungsform wird ein Negativ-Quittungs-Paket senden, wobei sie das Peripheriegerät emuliert, und der Host wird das Negativ-Quittungs-Paket empfangen, ähnlich wie in den Prozessen 2904 bis 2909. Sobald Prozess 2910 beendet ist, wird der Host einige Zeit später in Prozess 2911 ein OUT-Paket senden. Die Ausführungsform wird dieses Paket in Prozess 2912 empfangen und senden, wobei sie den Host emuliert. Das Peripheriegerät wird dann dieses Paket in Prozess 2913 empfangen. Der Host wird dann das DATA-Paket in Prozess 2914 senden. Die Ausführungsform wird dieses DATA-Paket in Prozess 2915 empfangen und das verarbeitete DATA-Paket senden, wobei sie den Host emuliert. Dies ist das verarbeitete DATA-Paket, das von Prozess 2910 erzeugt wird. Dieses Paket wird dann in Prozess 2916 vom Peripheriegerät empfangen. An diesem Punkt kann das Peripheriegerät optional mit einer Negativ-Quittung antworten, wie in Prozess 2917 gezeigt. Wenn dies auftritt, wird die Ausführungsform das Negativ-Quittungs-Paket empfangen und senden, wobei es das Peripheriegerät emuliert, wie in Prozess 2918 gezeigt. Der Host wird dann die Negativ-Quittung in Prozess 2919 empfangen. Einige Zeit später wird der Host das OUT-Paket senden, wie in Prozess 2920 gezeigt. Die Ausführungsform wird dieses OUT-Paket in Prozess 2921 empfangen und senden, wobei sie den Host emuliert. Das Peripheriegerät wird das OUT-Paket in Prozess 2922 empfangen. Der Host wird dann ein DATA-Paket senden, wie in Prozess 2923 gezeigt. Die Ausführungsform wird dieses Paket in Prozess 2924 empfangen und das verarbeitete DATA-Paket senden, wobei sie den Host emuliert. Dies ist immer noch das verarbeitete DATA-Paket, das von Prozess 2910 erzeugt wurde. Das Peripheriegerät empfängt dieses DATA-Paket in Prozess 2925. Das Peripheriegerät kann sich erneut entscheiden, mit einer Negativ-Quittung zu antworten, wobei sich in diesem Fall die Schleife wiederholt. Das Peripheriegerät wird jedoch an einem bestimmten Punkt mit einem Quittungs-Paket antworten, wie in Prozess 2926 gezeigt. Die Ausführungsform wird das Quittungs-Paket empfangen und senden, wie in Prozess 2927 gezeigt, wobei es das Peripheriegerät emuliert. Der Host wird dieses Quittungs-Paket in Prozess 2928 empfangen, was die Transaktion beendet.
  • Ähnlich wie 28 beschreibt auch 29 eine Ausführungsform, in der Emulation benutzt wird, Daten abzuhören und zu verarbeiten, wobei die Kommunikation aufrecht erhalten wird. In Prozess 2908 antwortet die Ausführungsform mit einer Negativ-Quittung, und die Ausführungsform muss dem Host nicht mit einem Quittungs-Paket antworten, wie in 28 Prozess 2808. Eine Negativ-Quittung beendet die Transaktion nicht, sondern sie sieht noch zusätzliche Zeit für die Ausführungsform vor, um die Daten zu verarbeiten. Mindestens ein Vorteil der in 29 beschriebenen Prozesse ist, dass das in Prozess 2908 gesendete Negativ-Quittungs-Paket das einzige Paket ist, das die Ausführungsform während der Emulation erzeugen muss, das sich von dem verarbeiteten DATA-Paket unterscheidet. In anderen Prozessen, in denen die Ausführungsform eine Emulation ausführt, einschließlich 2912, 2915, 2918, 2921 und 2927, kann die Ausführungsform die Übertragung, die sie vom Host und vom Peripheriegerät empfangen hat, an den anderen von Host und Peripheriegerät weiterleiten. Mindestens ein Vorteil hiervon ist, dass Erwägungen zur Buszeit-Bereitstellung vom Host verwaltet werden können, statt von der Ausführungsform.
  • 30 ist ein Reihenfolge-Diagramm logischer Prozesse, die gemäß einer alternativen Ausführungsform der vorliegenden Erfindung ausgeführt werden. Die Zeit schreitet von oben nach unten fort, wie durch den Pfeil gezeigt. Es werden Prozesse gezeigt, die in jeder von drei Vorrichtungen ausgeführt werden. Eine Ausführungsform einer Vorrichtung der vorliegenden Erfindung ist in 30 als 3002 gezeigt. Die Ausführungsform, 3002, ist mit dem Host, 3001, gekoppelt, und das Peripheriegerät 3003 ist mit der Ausführungsform 3002 gekoppelt. Der Host, 3001, sendet in Prozess 3004 ein IN-Paket, das an das Peripheriegerät, 3003, adressiert ist. Die Ausführungsform. 3002, empfängt das IN-Paket in Prozess 3005 und sendet es, wobei es den Host emuliert. Das Peripheriegerät empfängt dann das IN-Paket in Prozess 3006. Man beachte, dass obwohl nicht gezeigt, das Peripheriegerät an diesem Punkt mit einer Negativ-Quittung antworten kann. In diesem Fall wird die Ausführungsform diese Negativ-Quittung empfangen und senden, der Host wird die Negativ-Quittung empfangen, an einem späteren Punkt wird der Host das IN-Paket erneut senden, die Ausführungsform wird das IN-Paket empfangen und senden, und das Peripheriegerät wird das IN-Paket empfangen. Das Peripheriegerät wird jedoch an einem bestimmten Punkt mit einem DATA-Paket antworten, wie in Prozess 3007 gezeigt. Dieses DATA-Paket wird dann in Prozess 3008 von der Vorrichtung empfangen. Die Ausführungsform sendet dann in Prozess 3009, wobei sie das Peripheriegerät emuliert, ein Negativ-Quittung-Paket, das in Prozess 3010 vom Host empfangen wird. Mindestens ein Vorteil von Prozess 3009 ist, dass die Ausführungsform zusätzliche Zeit zum Verarbeiten der Daten benötigen kann, ohne dass eine Bedingung verursacht wird, die die Kommunikation unterbrechen oder beenden könnte. Die Ausführungsform sendet dann ein Quittungs-Paket an das Peripheriegerät, wobei sie den Host emuliert, wie in Prozess 3011 gezeigt, das in Prozess 3012 vom Peripheriegerät empfangen wird. Man beachte, dass Quittungs- und Negativ-Quittungs-Pakete zur Erläuterung gewählt werden. Für andere Ausführungsformen der Erfindung können andere Pakete geeignet sein. Die Ausführungsform verarbeitet dann die Daten, wie in Prozess 3013 gezeigt. Man beachte, dass der Host ein IN-Paket senden kann, bevor Prozess 3013 beendet ist. Wenn dies auftritt, wird die Ausführungsform das IN-Paket empfangen und dann ein Negativ-Quittungs-Paket senden, und dann wird der Host das Negativ-Quittungs-Paket empfangen. An einem bestimmten Punkt wird Prozess 3013 beendet sein, und einige Zeit später wird der Host ein IN-Paket senden, wie in Prozess 3014 gezeigt. Die Ausführungsform wird dann dieses Paket in Prozess 3015 empfangen. Die Ausführungsform wird in Prozess 3016, wobei sie das Peripheriegerät emuliert, das verarbeitete DATA-Paket senden, das in Prozess 3017 vom Host empfangen wird. Der Host kann dann optional mit einem Negativ-Quittungs-Paket antworten, wie in Prozess 3020 gezeigt. In diesem Fall wird die Ausführungsform das Negativ-Quittungs-Paket in Prozess 3019 empfangen. Der Host wird dann einige Zeit später in Prozess 3020 ein weiteres IN-Paket senden, das in Prozess 3021 von der Ausführungsform empfangen wird. Die Ausführungsform wird in Prozess 3022, wobei sie das Peripheriegerät emuliert, das verarbeitete DATA-Paket senden, das in Prozess 3023 vom Host empfangen wird. Das Peripheriegerät kann wieder mit einer Negativ-Quittung antworten, wobei sich in diesem Fall die Schleife wiederholt. Der Host wird jedoch an einem bestimmten Punkt mit einem Quittungs-Paket antworten, wie in Prozess 3024 gezeigt. Dieses Paket wird in Prozess 3025 von der Ausführungsform empfangen, was die Transaktion beendet.
  • Wie bereits erwähnt, werden Daten in vielen Busarchitekturen nach dem Stand der Technik von einem Host an mehr als ein mit dem Bus gekoppeltes Peripheriegerät gesendet. In solchen Fällen sollten die Peripheriegeräte nur auf Daten reagieren, die an sie adressiert sind. Ein schädliches Peripheriegerät kann jedoch reagieren, wie etwa durch Kopieren von Daten, die nicht an das Peripheriegerät adressiert sind. Ein solches schädliches Peripheriegerät kann ein Sicherheitsrisiko darstellen. Solch ein Sachverhalt wird nun mit Bezug auf 20 beschrieben.
  • 20 ist ein Reihenfolge-Diagramm logischer Prozesse, die in einem Host und einer oder mehreren Peripherie-Vorrichtungen gemäß dem Stand der Technik ausgeführt werden. Die Zeit schreitet von oben nach unten fort, wie durch den Pfeil gezeigt. Der erste Prozess 2004 tritt im Peripheriegerät 1, 2002, auf. In diesem Prozess wird Peripheriegerät 1 in den Anschluss eingesteckt und zieht eine der Leitungen D+ und D– auf High-Pegel (unter der Annahme, dass die Anschlüsse über USB gekoppelt sind), um die Datenrate des Peripheriegeräts anzuzeigen. Der Host 2001 empfängt diese Meldung und beginnt mit dem Nummerieren der Peripherie-Vorrichtung, wie in Prozess 2005 gezeigt. Vor dem Teil des Einstellens der Adresse bei der Nummerierung werden Peripherie-Vorrichtungen auf die voreingestellte Adresse 0 eingestellt. Als Nächstes sendet in Prozess 2006 der Host einen Befehl, damit die Peripherie-Vorrichtung ihre Adresse auf 1 einstellt. In Prozess 2007 empfängt Peripheriegerät 1 diesen Befehl und setzt seine Adresse auf 1, wie in Prozess 2008 gezeigt. In Prozess 2009 beendet der Host das Nummerieren der Peripherie-Vorrichtung an der Adresse 1. Als Nächstes wird in Prozess 2010 Peripheriegerät 2, 2003, in den Anschluss eingesteckt und zieht eine der Leitungen D+ und D– auf High-Pegel, um die Datenrate des Peripheriegeräts anzuzeigen. Der Host empfängt diese Meldung und beginnt mit dem Nummerieren der Peripherie-Vorrichtung, wie in Prozess 2011 gezeigt. Als Nächstes sendet in Prozess 2012 der Host einen Befehl, damit die Peripherie-Vorrichtung ihre Adresse auf 2 einstellt. In der in 20 gezeigten Bus-Architektur werden die Daten vom Host an alle Peripheriegeräte rundgesendet. Daher empfangen sowohl Peripheriegerät 1 als auch Peripheriegerät 2 den Befehl zum Einstellen der Adresse, auch wenn er nur an Peripheriegerät 2 adressiert ist. Diese beiden Prozesse sind 2013 und 2014. Gemäß der Bus-Spezifikation hat Peripheriegerät 1 die Daten zu verwerfen, die nicht an es adressiert sind. Nach dem bisherigen Stand der Technik wird jedoch kein Verfahren vorgesehen, festzustellen ob Peripheriegerät 1 die Daten verwirft. Daher ist kein Prozess gezeigt, um anzuzeigen, ob die Daten ignoriert werden oder nicht. Die Tatsache, dass es sein kann, dass die Daten nicht ignoriert werden, ist ein Sicherheitsrisiko, das durch die hier gezeigte Rundsende-Architektur dargestellt wird. Der nächste Prozess, 2015, wird in Peripheriegerät 2 ausgeführt. Die Peripherie-Vorrichtung setzt ihre Adresse auf 2. Schließlich beendet in Prozess 2016 der Host das Nummerieren der Peripherie-Vorrichtung an der Adresse 2.
  • 21 ist ein Reihenfolge-Diagramm logischer Prozesse, die in dem Host und einer oder mehreren Peripherie-Vorrichtungen gemäß dem Stand der Technik ausgeführt werden. Die Zeit schreitet von oben nach unten fort, wie durch den Pfeil gezeigt. Der Host, 2101, sendet in Prozess 2104 Daten, die an 1 adressiert sind. In der in 21 gezeigten Bus-Architektur werden die Daten vom Host an alle Peripheriegeräte rundgesendet. Daher empfangen sowohl Peripheriegerät 1, 2102, als auch Peripheriegerät 2, 2103, die Daten, auch wenn sie nur an Peripheriegerät 1 adressiert sind. Das Empfangen von Daten durch die Peripherie-Vorrichtungen ist in den Prozessen 2105 und 2106 gezeigt. Gemäß der Bus-Spezifikation hat Peripheriegerät 2 die Daten zu verwerfen, die nicht an es adressiert sind. Nach dem bisherigen Stand der Technik wird jedoch kein Verfahren vorgesehen, festzustellen ob Peripheriegerät 2 die Daten verwirft. Daher ist kein Prozess gezeigt, um anzuzeigen, ob die Daten ignoriert werden oder nicht. Die Tatsache, dass es sein kann, dass die Daten nicht ignoriert werden, ist ein Sicherheitsrisiko, das durch die hier gezeigte Rundsende-Architektur dargestellt wird. Der nächste Prozess, 2017, wird in Peripheriegerät 1 ausgeführt. Die Peripherie-Vorrichtung sendet dem Host eine Quittung über den Empfang von Daten. In Prozess 2108 empfängt der Host die Quittung über den Empfang von Daten.
  • 25 ist 21 darin ähnlich, dass sie ein Sicherheitsrisiko aufzeigt, das durch die Rundsende-Architektur nach dem Stand der Technik dargestellt wird. 25 enthält einen Hub 2502 in der Kommunikation, um zu zeigen, dass durch die Aufnahme eines Hub ein Sicherheitsrisiko besteht. 25 ist ein Reihenfolge-Diagramm logischer Prozesse, die in einem Host 2501 und einem oder mehreren Peripherie-Vorrichtungen, veranschaulicht durch die Peripherie-Vorrichtungen 2502, 2503 und 2504, gemäß dem Stand der Technik ausgeführt werden. Die Zeit schreitet von oben nach unten fort, wie durch den Pfeil gezeigt.
  • In dieser Sequenz kann das Peripheriegerät 1 2502 ein Hub sein und ist mit dem Host 2501 gekoppelt. Die Peripheriegeräte 2 und 3 2503 und 2504 sind mit Peripheriegerät 1 2502 gekoppelt. Prozess 2505 tritt in dem Host 2501 auf. In Prozess 2505 sendet der Host 2501 Daten, die an das Peripheriegerät 2 2504 adressiert sind. In Prozess 2506 empfängt Peripheriegerät 1 2502 diese Information. In Prozess 2507 sendet Peripheriegerät 1 2502 diese Daten, die an die Peripheriegeräte 2 2503 adressiert sind, erneut. Diese Daten werden von Peripheriegerät 2 in Prozess 2508 empfangen. Was jedoch problematisch ist, diese Daten werden auch von Peripheriegerät 3 2504 in Prozess 2509 empfangen. Es wird darauf hingewiesen, dass Peripheriegerät 3 2504 nicht der beabsichtigte Empfänger der Daten ist, und dass Peripheriegerät 3 2504 die Daten verwerfen sollte. Ein schädliches Peripheriegerät 3 2504 kann jedoch die empfangenen Daten missbräuchlich verwenden.
  • In Prozess 2510 antwortet Peripheriegerät 2 durch Senden einer Quittung über den Empfang von Daten. In Prozess 2511 empfängt Peripheriegerät 1 dieses Quittungs-Signal, und in Prozess 2512 sendet Peripheriegerät 1 2502 diese Quittung erneut an den Host 2501. Schließlich empfängt in Prozess 2513 der Host 2501 die Quittung über den Empfang von Daten.
  • Ausführungsformen der vorliegenden Erfindung lösen das Problem des Standes der Technik, indem verhindert wird, dass Daten nicht beabsichtigten Bus-Peripheriegeräten verfügbar gemacht werden. Solch eine Ausführungsform wird nun mit Bezug auf 16 beschrieben. 16 ist ein Blockdiagramm logischer Prozesse, die gemäß einer Ausführungsform der vorliegenden Erfindung ausgeführt werden. In dieser Ausführungsform werden in Prozess 1601 Daten vom Netzwerk oder einer anderen Datenquelle empfangen. In Prozess 1602 werden die empfangenen Daten gespeichert. Außerdem analysiert Prozess 1603 die gespeicherten Daten. In Entscheidungsprozess 1604 wird festgestellt, ob die Daten einen Sachverhalt erfüllen. Wenn in Prozess 1604 festgestellt wird, dass die Daten einen Sachverhalt erfüllen, wird ein Prozess 1605 ausgeführt, der durch eine Regel definiert ist.
  • Die in 16 gezeigten Prozesse können optional in einer Vorrichtung ausgeführt werden, die physikalisch von Knoten im Netzwerk getrennt ist. In einer anderen Ausführungsform können die Prozesse jedoch in einer Hardware ausgeführt werden, die in die Host-Computer-Vorrichtung integriert ist. Zum Beispiel kann Software zum Ausführen der Prozesse in den Host auf der Ebene des Betriebssystemkerns oder des BIOS integriert sein. Alternativ können die Prozesse in mindestens einen von USB-Root-Hub und Southbridge integriert sein. In noch weiteren Ausführungsformen können die Prozesse in der Peripherie-Vorrichtung selbst ausgeführt werden, indem sie direkt in das Peripheriegerät oder in eine Komponente integriert werden, die physikalisch mit dem Peripheriegerät gekoppelt ist, um eine zusammengesetzte Vorrichtung auszubilden. Insbesondere kann unter anderem der Prozess in Hardware oder in Software an jedem der oben angegebenen Orte ausgeführt werden. In einer weiteren Ausführungsform können die Prozesse in einer Komponente ausgeführt werden, die physikalisch mit dem Peripheriegerät gekoppelt ist, um es zu einer zusammengesetzten Vorrichtung zu machen. In noch einer weiteren Ausführungsform können die Prozesse in einer Komponente ausgeführt werden, die physikalisch mit dem Peripheriegerät gekoppelt ist, um es zu einer verbundenen Vorrichtung zu machen.
  • 23 ist ein schematisches Blockdiagramm einer Sicherheitsvorrichtung 2304 gemäß einer weiteren Ausführungsform der vorliegenden Erfindung. Ein Host-Computer 2301 umfasst einen USB-Host-Controller 2302 und eine USB-Downstream-Schnittstelle 2303. USB-Peripheriegeräte 2311, 2313 und 2315 sind mit dem Host-Computer 2301 über die Sicherheitsvorrichtung 2304 gekoppelt. Die Sicherheitsvorrichtung 2304 umfasst eine Upstream-USB-Schnittstelle 2305 und mindestens eine Downstream-USB-Schnittstelle 2308, 2309, 2310. Die Begriffe ”Upstream” und ”Downstream” sind nicht gedacht, einen bestimmten Abstand zwischen dem Host 2301 und Upstream-Schnittstelle 2305 oder zwischen den Downstream-Schnittstellen 2308, 2309 und 2310 und den Peripheriegeräten 2311, 2313 und 2315 zu implizieren. Der Host 2301 kann mit der Upstream-Schnittstelle 2305 über ein Kabel, über gedruckte Leiterbahnen einer Leiterplatte, mit denen sowohl der Host 2301 als auch die Upstream-Schnittstelle 2305 verbunden sind, oder über jede andere Verbindung verbunden sein. Insbesondere kann die Upstream-Schnittstelle 2305 im selben integrierten Schaltkreis realisiert sein wie der Host 2301 oder Teile des Hosts 2301. Auf ähnliche Weise können die Downstream-Schnittstellen 2308, 2309 und 2310 mit den Peripheriegeräten 2311, 2313 und 2315 durch jede geeignete Verbindung verbunden sein, und zwei oder mehr dieser Komponenten können in einem einzigen integrierten Schaltkreis realisiert sein.
  • Es können andere Anzahlen von Downstream-USB-Schnittstellen benutzt werden. Die Upstream-USB-Schnittstelle 2305 ist mit den Downstream-USB-Schnittstellen 2308 bis 2310 über einen Schalter 2306 verbunden, der durch eine Steuereinheit 2307 gesteuert wird. Die Steuereinheit 2307 kann zum Beispiel ein Mikroprozessor sein, der Instruktionen ausführt, die in einem Speicher (nicht gezeigt) gespeichert sind.
  • Um mit einem Peripheriegerät 2311, 2313, 2315 zu kommunizieren, sendet der Host-Computer 2301 einen Befehl, der eines der Peripheriegeräte 2311, 2313, 2315 adressiert, sowie Daten, die das adressierte Peripheriegerät empfangen soll. Die Steuereinheit 2307 analysiert den Befehl, insbesondere die Adresse, um festzustellen, welches Peripheriegerät 2311, 2313, 2315 den Befehl und die Daten empfangen soll. Die Steuereinheit 2307 steuert den Schalter 2306, so dass der empfangene Befehl und die Daten nur an die Downstream-USB-Schnittstelle 2308 bis 2310 gesendet werden, an die das adressierte Peripheriegerät gekoppelt ist. Wenn erforderlich, kann die Steuereinheit 2307 den Befehl und die Daten im Speicher zwischenspeichern, während die Steuereinheit den Befehl analysiert, und dann den zwischengespeicherten Befehl und die Daten an das adressierte Peripheriegerät senden. Schließlich empfängt das adressierte Peripheriegerät die Daten an seiner Upstream-Schnittstelle 2312, 2314, 2316.
  • Wenn eines der Peripheriegeräte 2311, 2313, 2315 Daten sendet, steuert die Steuereinheit 2307 den Schalter 2306, so dass die Daten über die Upstream-USB-Schnittstelle an den Host-Computer 2301 weitergeleitet werden. Die Steuereinheit 2307 steuert den Schalter 2306, um zu verhindern, dass ein Peripheriegerät 2311, 2313, 2315 direkt mit einem anderen Peripheriegerät kommuniziert.
  • Es wird darauf hingewiesen, dass die offenbarte Sicherheitsvorrichtung sich von einem herkömmlichen Switch oder Router eines Computernetzes unterscheidet, mindestens weil Computer, die mit Netzwerk-Switches und Routern gekoppelt sind, über die Switches und Router miteinander kommunizieren können, während Peripheriegeräte, die mit der offenbarten Sicherheitsvorrichtung gekoppelt sind, nicht über die Sicherheitsvorrichtung miteinander kommunizieren können. Zum Beispiel können im Fall eines Computernetzwerk-Switches ein oder mehrere Computer mit jedem Anschluss des Switch gekoppelt sein, und ein mit einem Anschluss gekoppelter Computer kann mit einem Computer kommunizieren, der mit einen beliebigen anderen Anschluss verbunden ist. Computernetzwerk-Switches, Router, usw. enthalten keine Upstream- und Downstream-Schnittstellen, wie mit Bezug auf 23 beschrieben, mindestens darin, dass Befehle und Daten, die über die offenbarte Upstream-Schnittstelle (zum Beispiel Upstream-USB-Schnittstelle 2305) empfangen werden, immer an eine der Downstream-Schnittstellen (2308 bis 2310) weitergeleitet werden, und Daten, die über eine der Downstream-Schnittstellen empfangen werden, nur an die Upstream-Schnittstelle (2305) weitergeleitet werden. Die Upstream-Schnittstelle kann nicht mit einer der Downstream-Schnittstellen ausgetauscht werden, weil die Upstream-Schnittstelle mit dem Host-Computer gekoppelt ist, und die Downstream-Schnittstellen mit Peripheriegeräten gekoppelt sind. Im Gegensatz dazu sind Anschlüsse an einem Computernetzwerk alle austauschbar.
  • Die offenbarte Sicherheitsvorrichtung unterscheidet sich auch von Schicht-3-Switches, mindestens weil die Schnittstellen-Fähigkeiten automatisch vorhanden sind, während Schicht-3-Switches mit Routing-Tabellen programmiert werden müssen. Die Eigenschaften von Upstream- und Downstream-Schnittstellen sind inhärent und können auch automatisch wechseln. Wenn sie wechseln, tun sie dies, ohne dass es erforderlich ist, eine vorkonfigurierte Routing-Tabelle zu aktualisieren.
  • 24 ist ein schematisches Blockdiagramm einer Sicherheitsvorrichtung 2403 gemäß einer weiteren Ausführungsform der vorliegenden Erfindung. Die Sicherheitsvorrichtung 2403 von 24 ist ähnlich der Sicherheitsvorrichtung 2304 von 23 mit der Ausnahme, dass die Sicherheitsvorrichtung 2403 in dem Host-Computer 2401 enthalten ist. Ein USB-Host-Controller 2402, auch in dem Host-Computer 2401, ist mit der Sicherheitsvorrichtung 2403 gekoppelt. Die Downstream-Schnittstellen 2404 bis 2406 der Sicherheitsvorrichtung 2403 sind mit USB-Peripheriegeräten 2407, 2409, 2411 über ihre Upstream-Schnittstellen 2408, 2410, 2412 gekoppelt. Man beachte, dass die Sicherheitsvorrichtung 2403 in den Host-Controller 2402 integriert sein kann.
  • 17 ist ein Blockdiagramm, das den logischen Fluss gemäß einer Ausführungsform der vorliegenden Erfindung zeigt. Der gezeigte Prozess beginnt in Block 1701. In Block 1702 ist das Peripheriegerät angeschlossen und Daten, die eine Art des Peripheriegerätes kennzeichnen, werden von der Peripherie-Vorrichtung empfangen. In Block 1703 weist die Host-Computer-Vorrichtung der Peripherie-Vorrichtung eine Adresse zu. In Block 1704 sendet die Host-Computer-Vorrichtung den Befehl zum Einstellen der Adresse an die Peripherie-Vorrichtung und gibt ihm die Anweisung, die Adresse zu benutzen, die die Host-Computer-Vorrichtung der Peripherie-Vorrichtung zugewiesen hat. Diese Adresse wird durch den Prozess zum Speichern von Daten 1705 gespeichert. Nach diesem Punkt in Block 1706, wenn Daten von der Host-Computer-Vorrichtung zur Peripherie-Vorrichtung gesendet werden, überprüft der Entscheidungsprozess 1707 die Adresse der Daten, um festzustellen, ob die Daten für die Peripherie-Vorrichtung gedacht sind. Wenn die Daten nicht für die Peripherie-Vorrichtung gedacht sind, weil die Adresse der Daten den durch die gespeicherte Adresse definierten Sachverhalt nicht erfüllen, wird der Fehler-Prozess 1708 ausgeführt. Gemäß einigen Ausführungsformen kann der Fehler-Prozess die Kommunikation mit einem oder mehreren Knoten im Netzwerk verhindern. Alternativ oder zusätzlich kann es der Fehler-Prozess umfassen, die Kommunikation zu beenden. Wenn das Ergebnis des Entscheidungsprozesses 1707 positiv ist, wird ein Erfolgs-Prozess 1709 ausgeführt. In einer Ausführungsform können die Schritte ab 1706 mehrfach wiederholt werden, nachdem die Schritte 1701 bis 1705 stattgefunden haben.
  • 18 ist ein Blockdiagramm der Architektur einer Hardware-Ausführungsform der vorliegenden Erfindung. Die Hardware kann als Hardware-Vorrichtung 1802 angesehen werden, die zwischen der Host-Computer-Vorrichtung 1801 und den Peripherie-Vorrichtungen 1804, 1805 und 1806 angeordnet ist. Die in 18 gezeigte Ausführungsform umfasst ein Schalter-Modul 1803. Die Vorrichtung 1802 realisiert die Prozesse, die oben in Verbindung mit den 16 bis 17 beschrieben wurden und die nachfolgend weiter beschrieben werden. In einer alternativen Ausführungsform können die Vorrichtung und ein oder mehrere Peripheriegeräte in ein einziges Modul integriert sein.
  • 19 ist ein Blockdiagramm einer Hardware-Ausführungsform der vorliegenden Erfindung, das weitere Einzelheiten zur Realisierung der Ausführungsform von 18 vorsieht. Die Hardware kann als Hardware-Vorrichtung 1903 angesehen werden, die zwischen jeder der Leitungen D+ und D– der Host-Computer-Vorrichtung 1901 und der Peripherie-Vorrichtungen angeordnet ist, die hier durch eine einzige Peripherie-Vorrichtung 1902 dargestellt ist. Die in 19 gezeigte Ausführungsform umfasst ein Schalter-Modul 1905, das die Übertragungsleitung von einem verbundenen Zustand, in dem Host und Peripheriegerät miteinander verbunden sind, in einen elektrisch abgeschlossenen Zustand, in dem die Leitungen in dieser Ausführungsform mit Widerständen verbunden sind, umschaltet. Die Vorrichtung 1905 kann optional ein Steuersignal 1904 enthalten. Im verbundenen Zustand wird die Kommunikation vom Host direkt zum Peripheriegerät weitergeleitet und umgekehrt. Der Zustand des elektrischen Abschlusses bewirkt, dass die Kommunikation in der Vorrichtung angehalten wird und nicht direkt weitergeleitet wird. Der Zustand des elektrischen Abschlusses könnte zum Beispiel den Leerlaufzustand eines Hosts oder eines Peripheriegerätes emulieren. Der in 19 gezeigte 45-Ohm-Widerstand ist ein Beispiel einer Ausführungsform.
  • Ein Beispiel eines Vorteils der Ausführungsform ist wie folgt. Es kann sein, dass der Host Kommunikationen zum Peripheriegerät sendet, wobei sich der Schalter im verbundenen Zustand befindet. Es kann sein, dass ein Steuersignal ausgegeben wird, um anzuzeigen, dass Daten kommen, die ein Sicherheitsrisiko darstellen. Die Übertragungsleitung wird in den elektrisch abgeschlossenen Zustand geschaltet. Der Host erkennt den elektrischen Abschluss in der Vorrichtung nicht als unterschiedlich zu dem Peripheriegerät, mit dem er kommunizierte. Der Host sendet weiter Daten, die ein Sicherheitsrisiko darstellen. Die Daten werden nicht zum Peripheriegerät gesendet, weil sich der Schalter nicht im verbundenen Zustand befindet, wodurch das Sicherheitsrisiko behandelt wird. Anschließend zeigt das Steuersignal, dass der nächste ankommende Satz von Daten kein Sicherheitsrisiko darstellt. Die Übertragungsleitung wird in den verbundenen Zustand geschaltet. Der Host kommuniziert weiter mit dem Peripheriegerät.
  • Ein Vorteil des elektrischen Abschlusses der Übertragungsleitung ist es, die Kommunikation auf eine Weise beizubehalten, dass das Peripheriegerät und der Host die Kommunikation nicht neu starten müssen, wenn sie wieder verbunden sind, wodurch vermieden wird, dass Aktionen wie der Nummerierungs-Prozess oder Handshake durchgeführt werden müssen.
  • 22 ist ein Reihenfolge-Diagramm logischer Prozesse, die gemäß einer Ausführungsform der vorliegenden Erfindung ausgeführt werden. Eine Ausführungsform einer Vorrichtung der vorliegenden Erfindung ist in 22 als Vorrichtung 2202 gezeigt. Es sind Prozesse gezeigt, die in jeder der vier Vorrichtungen 2201, 2202, 2203 und 2204 ausgeführt werden. Die Zeit schreitet von oben nach unten fort, wie durch den Pfeil gezeigt.
  • In Prozess 2205 sendet der Host 2201 Daten, die an das Peripheriegerät 1 2203 adressiert sind. In Prozess 2206 werden die an das Peripheriegerät 1 2203 adressierten Daten empfangen. In Prozess 2207 leitet die Vorrichtung die an Peripheriegerät 1 2203 adressierten Daten an das zugehörige Peripheriegerät weiter. Als Nächstes empfängt in Prozess 2208 das Peripheriegerät 1 2203 die Daten. Peripheriegerät 2 2204 empfängt die Daten nicht. In Prozess 2209 sendet Peripheriegerät 1 2203 eine Quittung über den Empfang von Daten. In Prozess 2210 empfängt die Vorrichtung 2202 die Quittung, und in Prozess 2211 sendet die Vorrichtung 2202 eine Quittung zum Host 2201. In Prozess 2212 empfängt der Host 2201 diese Quittung.
  • Obwohl einige Beispiele im Zusammenhang mit USB-Hosts und USB-Peripheriegeräten beschrieben wurden, können andere Arten von Verbindungen benutzt werden. Einige Ausführungsformen der vorliegenden Erfindung können in einem Root-Hub realisiert sein. Außerdem können Ausführungsformen der vorliegenden Erfindung mit Hosts, Teilen von Hosts, Peripheriegeräten und/oder Teilen von Peripheriegeräten integriert sein. Wie bereits erwähnt, können zum Beispiel Ausführungsformen der vorliegenden Erfindung, wie etwa Ausführungsformen, die Schalter enthalten, um das Weiterleiten von Daten an nicht adressierte Peripheriegeräte zu verhindern, oder Ausführungsformen, die eine logische oder physikalische Verbindung zwischen einem Host und einem Peripheriegerät stummschalten, wenn ungeeignete Daten oder andere Sachverhalte erkannt werden, in etwas realisiert sein, das herkömmlich als ein ”Host” betrachtet werden könnte oder was herkömmlich als ein ”Peripheriegerät” betrachtet werden könnte. In einem Beispiel kann eine Ausführungsform der vorliegenden Erfindung in einem Prozessor, Motherboard oder einer anderen Komponente eines Computers enthalten sein, wie etwa eines Tischcomputers, eines Laptop-Computers, eines Tablet-Computers, eines Smartphones oder einer anderen Vorrichtung, die herkömmlich als Host angesehen werden kann.
  • In einem anderen Beispiel ist eine Ausführungsform der vorliegenden Erfindung in einem ”Peripheriegerät”, wie etwa in einer Festplatte oder einem Halbleiterlaufwerk, zwischen der externen Schnittstelle des Festplattenlaufwerks und Datenspeicherkomponenten in dem Festplattenlaufwerk enthalten. Ein Prozessor im Festplattenlaufwerk, der das Festplattenlaufwerk steuert, wie durch Interpretieren von zum Festplattenlaufwerk gesendeten Befehlen und Platten-Adressen, kann auch alle oder einen Teil der Funktionalitäten der enthaltenen Ausführungsform realisieren. Alternativ können ein getrennter Prozessor oder andere Schaltungen die Funktionalität der enthaltenen Ausführungsform realisieren. Auf ähnliche Weise kann eine Ausführungsform der vorliegenden Erfindung in etwas enthalten sein, das herkömmlich als ”USB-Speicherstick” bezeichnet wird.
  • Verschiedene Ausführungsformen der vorliegenden Erfindung können durch mögliche Ansprüche gekennzeichnet sein, die in auf diesen Abschnitt folgenden Abschnitten aufgelistet sind (und vor den tatsächlichen Ansprüchen, die am Ende dieser Patentanmeldung vorgesehen sind). Diese möglichen Ansprüche bilden einen Teil der schriftlichen Beschreibung dieser Patentanmeldung. Folglich können Gegenstände der möglichen Ansprüche als tatsächliche Ansprüche in späteren Veröffentlichungen in Verbindung mit dieser Patentanmeldung oder in einer Patentanmeldung, die auf der Grundlage dieser Patentanmeldung Priorität beansprucht, präsentiert werden. Das Einbeziehen solcher möglicher Ansprüche darf nicht so interpretiert werden, dass gemeint ist, dass die tatsächlichen Ansprüche die Gegenstände der möglichen Ansprüche nicht abdecken. Somit darf eine Entscheidung, diese möglichen Ansprüche nicht in späteren Veröffentlichungen zu präsentieren, nicht so ausgelegt werden, dass der Gegenstand der Allgemeinheit übergeben wird.
  • Ohne Einschränkung umfassen mögliche Gegenstände der Erfindung, die beansprucht werden können (mit vorangestelltem Buchstaben P, um eine Verwechselung mit den unten präsentierten tatsächlichen Ansprüchen zu vermeiden):
    (P13) Sicherheitsvorrichtung zur Kopplung zwischen einer Host-Computer-Vorrichtung (”Host”) und mindestens einer Peripherie-Vorrichtung (”Peripheriegerät”), wobei die Sicherheitsvorrichtung umfasst:
    eine Upstream-Schnittstelle, gestaltet, über eine Upstream-Verbindung mit dem Host verbunden zu sein und Daten vom Host über die Upstream-Verbindung zu empfangen und Daten über die Upstream-Verbindung zum Host zu senden;
    mindestens eine Downstream-Schnittstelle, wobei jede Downstream-Schnittstelle gestaltet ist, über eine entsprechende Downstream-Verbindung mit einem der mindestens einen Peripheriegeräte gekoppelt zu sein und über die entsprechende Downstream-Verbindung Daten von dem einen Peripheriegerät zu empfangen und über die entsprechende Downstream-Verbindung Daten zu dem einen Peripheriegerät zu senden; und
    eine Steuereinheit, die mit den Upstream- und Downstream-Schnittstellen gekoppelt ist und gestaltet ist zum:
    Empfangen von Daten über die Upstream-Schnittstelle;
    Analysieren der empfangenen Daten, um festzustellen, ob die empfangenen Daten ein Sicherheitsrisiko darstellen;
    wenn festgestellt wird, dass die empfangenen Daten kein Sicherheitsrisiko darstellen, Weiterleiten der empfangenen Daten an die mindestens eine der mindestens einen Downstream-Schnittstellen; und
    wenn festgestellt wird, dass die empfangenen Daten ein Sicherheitsrisiko darstellen, Verhindern, dass die empfangenen Daten an eine der mindestens einen Downstream-Schnittstellen weitergeleitet werden.
  • (P14) Vorrichtung nach Anspruch P13, wobei die Steuereinheit gestaltet ist, das Weiterleiten der empfangenen Daten zu verhindern durch:
    Ändern der Upstream-Verbindung aus einem verbundenen Zustand in einen elektrisch abgeschlossenen Zustand; und
    Ändern der mindestens einen der entsprechenden Downstream-Verbindung aus einem verbundenen Zustand in einen elektrisch abgeschlossenen Zustand.
  • (P15) Vorrichtung nach Anspruch P14, wobei die Steuereinheit gestaltet ist, die Upstream-Verbindung aus einem verbundenen Zustand in einen elektrisch abgeschlossenen Zustand zu ändern, indem ein Abschlusswiderstand an die Upstream-Verbindung angeschlossen wird.
  • (P24) Durch eine Sicherheitsvorrichtung realisiertes Verfahren zur Verbesserung der Sicherheit mindestens einer aus einer Host-Computer-Vorrichtung (”Host”) und mindestens einer Peripherie-Vorrichtung (”Peripheriegerät”), wobei die Sicherheitsvorrichtung eine Upstream-Schnittstelle umfasst, die gestaltet ist, über eine Upstream-Verbindung mit dem Host gekoppelt zu sein und über die Upsteam-Verbindung Daten vom Host zu empfangen und über die Upstream-Verbindung Daten zum Host zu senden, wobei die Sicherheitsvorrichtung ferner mindestens eine Downstream-Schnittstelle umfasst, wobei jede Downstream-Schnittstelle gestaltet ist, über eine entsprechende Downstream-Verbindung mit einem der mindestens einen Peripheriegeräte gekoppelt zu sein und über die entsprechende Downsteam-Verbindung Daten von dem einen Peripheriegerät zu empfangen und über die entsprechende Downstream-Verbindung Daten zu dem einen Peripheriegerät zu senden, wobei das Verfahren umfasst:
    Empfangen von Daten über die Upstream-Schnittstelle;
    Analysieren der empfangenen Daten, um festzustellen, ob die empfangenen Daten ein Sicherheitsrisiko darstellen;
    wenn festgestellt wird, dass die empfangenen Daten kein Sicherheitsrisiko darstellen, Weiterleiten der empfangenen Daten an mindestens eine der mindestens einen Downstream-Schnittstellen; und
    wenn festgestellt wird, dass die empfangenen Daten ein Sicherheitsrisiko darstellen, Verhindern, dass die empfangenen Daten an eine der mindestens einen Downstream-Schnittstellen weitergeleitet werden.
  • (P25) Verfahren nach Anspruch P24, wobei Verhindern des Weiterleitens der empfangenen Daten umfasst:
    Ändern der Upstream-Verbindung aus einem verbundenen Zustand in einen elektrisch abgeschlossenen Zustand; und
    Ändern der mindestens einen der entsprechenden Downstream-Verbindung aus einem verbundenen Zustand in einen elektrisch abgeschlossenen Zustand.
  • (P26) Verfahren nach Anspruch P25, wobei Ändern der Upstream-Verbindung aus einem verbundenen Zustand in einen elektrisch abgeschlossenen Zustand umfasst, einen Abschlusswiderstand mit der Upstream-Verbindung zu koppeln.
  • (P27) Computerprogrammprodukt zur Verbesserung der Sicherheit mindestens einer aus einer Host-Computer-Vorrichtung (”Host”) und mindestens einer Peripherie-Vorrichtung (”Peripheriegerät”), wobei die Sicherheitsvorrichtung eine Upstream-Schnittstelle umfasst, die gestaltet ist, über eine Upstream-Verbindung mit dem Host gekoppelt zu sein und über die Upsteam-Verbindung Daten vom Host zu empfangen und über die Upstream-Verbindung Daten zum Host zu senden, wobei die Sicherheitsvorrichtung ferner mindestens eine Downstream-Schnittstelle umfasst, wobei jede Downstream-Schnittstelle gestaltet ist, über eine entsprechende Downstream-Verbindung mit einem der mindestens einen Peripheriegeräte gekoppelt zu sein und über die entsprechende Downsteam-Verbindung Daten von dem einen Peripheriegerät zu empfangen und über die entsprechende Downstream-Verbindung Daten zu dem einen Peripheriegerät zu senden, wobei das computerlesbare Programm gestaltet ist zum:
    Empfangen von Daten über die Upstream-Schnittstelle;
    Analysieren der empfangenen Daten, um festzustellen, ob die empfangenen Daten ein Sicherheitsrisiko darstellen;
    wenn festgestellt wird, dass die empfangenen Daten kein Sicherheitsrisiko darstellen, Weiterleiten der empfangenen Daten an die mindestens eine der mindestens einen Downstream-Schnittstellen; und
    wenn festgestellt wird, dass die empfangenen Daten ein Sicherheitsrisiko darstellen, Verhindern, dass die empfangenen Daten an eine der mindestens einen Downstream-Schnittstellen weitergeleitet werden.
  • Die hier beschriebenen Prozesse und Verfahren können durch einen Prozessor durchgeführt werden, der Instruktionen ausführt, die in einem Speicher gespeichert sind. Der Speicher kann ein Arbeitsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein Flash-Speicher oder jeder andere Speicher oder eine Kombination daraus sein, die geeignet ist, Steuersoftware oder andere Instruktionen und Daten zu speichern. Einige der Funktionen, die von den beschriebenen Prozessen, Verfahren und Vorrichtungen ausgeführt werden, wurden mit Bezug auf Flussdiagramme und/oder Blockdiagramme beschrieben. Fachleute werden leicht einsehen, dass Funktionen, Abläufe, Entscheidungen, usw. von allen Blöcken oder einem Teil jedes Blocks oder einer Kombination von Blöcken der Flussdiagramme oder Blockdiagramme als Computerprogrammbefehle, Software, Hardware, Firmware oder Kombinationen daraus realisiert sein können. Fachleute werden auch leicht einsehen dass Instruktionen oder Programme, die die Funktionen der vorliegenden Erfindung definieren, einem Prozessor in vielen Formen zugeführt werden können, einschließlich aber nicht beschränkt auf Informationen, die permanent auf nicht beschreibbaren materiellen Speichermedien gespeichert sind (z. B. Nur-Lese-Speicher in einem Computer, wie etwa ROM, oder Vorrichtungen, die durch einen Computer-E/A-Anschluss lesbar sind, wie etwa CD-ROM oder DVD-Platten), Informationen, die änderbar auf schreibbaren materiellen Speichermedien gespeichert sind (z. B. Disketten, abnehmbarer Flash-Speicher und Festplattenlaufwerke), oder Informationen, die an einen Computer über Kommunikationsmedien, einschließlich drahtgebundener und drahtloser Netzwerke, übermittelt werden. Außerdem können, obwohl die Erfindung in Software verkörpert sein kann, die zur Realisierung der Erfindung erforderlichen Funktionen optional oder alternativ teilweise oder ganz unter Verwendung von Firmware und/oder Hardware-Komponenten, wie etwa kombinatorischer Logik, anwendungsspezifischen integrierten Schaltkreisen (ASICs), Field Programmable Gate Arrays (FPGAs) oder anderer Hardware oder Kombinationen von Hardware, Software und/oder Firmware verkörpert sein.
  • Obwohl die Erfindung durch die oben beschriebenen beispielhaften Ausführungsformen beschrieben wird, werden Fachleute leicht verstehen, dass Änderungen und Abwandlungen der veranschaulichten Ausführungsformen vorgenommen werden können, ohne von den hier offenbarten Konzepten der Erfindung abzuweichen. Obwohl zum Beispiel einige Aspekte von Prozessen, Verfahren und Systemen mit Bezug auf Flussdiagramme beschrieben wurden, werden Fachleute leicht verstehen, dass Funktionen, Abläufe, Entscheidungen, usw. eines ganzen Blocks oder eines Teils jedes Blocks oder einer Kombination von Blöcken des Flussdiagramms kombiniert, in getrennte Abläufe aufgeteilt oder in anderen Reihenfolgen ausgeführt werden können. Außerdem können offenbarte Aspekte oder Teile dieser Aspekte auf Arten kombiniert werden, die oben nicht aufgelistet sind. Folglich darf die Erfindung nicht als auf die offenbarten Ausführungsformen begrenzt angesehen werden.
  • Die Ausführungsformen der oben beschriebenen Erfindung sind nur als Beispiele gedacht; Fachleuten werden zahlreiche Änderungen und Abwandlungen offensichtlich sein. Es ist beabsichtigt, dass alle solchen Änderungen und Abwandlungen im Umfang der vorliegenden Erfindung liegen, wie durch die angehängten Ansprüche definiert.

Claims (24)

  1. Sicherheitsvorrichtung zur Kopplung zwischen einer Host-Computer-Vorrichtung (”Host”) und mindestens einer Peripherie-Vorrichtung (”Peripheriegerät”), wobei jedem Peripheriegerät eine Adresse zugeordnet ist, wobei die Sicherheitsvorrichtung umfasst: eine Upstream-Schnittstelle, gestaltet über eine Upstream-Verbindung mit dem Host gekoppelt zu sein, und Befehle und Daten vom Host über die Upstream-Verbindung zu empfangen und Daten über die Upstream-Verbindung zum Host zu senden, wobei jeder der mindestens einigen Befehle eine Adresse eines der mindestens einen Peripheriegeräte enthält; mindestens eine Downstream-Schnittstelle, wobei jede Downstream-Schnittstelle gestaltet ist, über eine entsprechende Downstream-Verbindung mit einem der mindestens einen Peripheriegeräte gekoppelt zu sein und über die entsprechende Downstream-Verbindung Daten von dem einen Peripheriegerät zu empfangen und über die entsprechende Downstream-Verbindung Befehle und Daten zu dem einen Peripheriegerät zu senden; und eine Steuereinheit, die mit den Upstream- und Downstream-Schnittstellen gekoppelt ist und gestaltet ist zum: Empfangen von Befehlen und Daten über die Upstream-Schnittstelle; Auswählen mindestens einer von den mindestens einen Downstream-Schnittstellen auf der Grundlage einer Adresse in den empfangenen Befehlen und Daten; Weiterleiten der empfangenen Befehle und Daten an die ausgewählte mindestens eine von den mindestens einen Downstream-Schnittstellen.
  2. Vorrichtung nach Anspruch 1, wobei die Steuereinheit gestaltet ist, zu verhindern, dass die empfangenen Befehle und Daten an die mindestens eine aus den mindestens einen Downstream-Schnittstellen weitergeleitet werden, die sich von der ausgewählten mindestens einen aus den mindestens einen Downstream-Schnittstellen unterscheidet.
  3. Vorrichtung nach Anspruch 1, wobei die Steuereinheit gestaltet ist, die direkte Kommunikation zwischen beliebigen zwei der mindestens einen Peripheriegeräte über eine entsprechende Downstream-Verbindung zu verhindern.
  4. Vorrichtung nach Anspruch 1, wobei die Steuereinheit gestaltet ist zum: Unkenntlichmachen der empfangenen Befehle und Daten; und Weiterleiten der unkenntlich gemachten Befehle und Daten an mindestens eine aus den mindestens einen Downstream-Schnittstellen, die sich von der ausgewählten mindestens einen aus den mindestens einen Downstream-Schnittstellen unterscheidet.
  5. Vorrichtung nach Anspruch 1, wobei jede Downstream-Schnittstelle gestaltet ist, über die entsprechende Downstream-Verbindung abnehmbar mit dem einem der mindestens einen Peripheriegeräte gekoppelt zu sein.
  6. Vorrichtung nach Anspruch 1, wobei die Steuereinheit gestaltet ist zum: Auswählen der mindestens einen von den mindestens einen Downstream-Schnittstellen durch Analysieren der empfangenen Daten während eines Analyse-Intervalls; und mindestens während eines Teils des Analyse-Intervalls Emulieren des Hosts oder des Peripheriegeräts für den anderen aus Host und Peripheriegerät.
  7. Vorrichtung nach Anspruch 6, wobei die Steuereinheit gestaltet ist, den einen von Host oder Peripheriegerät mindestens teilweise durch Erzeugen eines ACK-Paketes und Senden des erzeugten ACK-Paketes an den anderen aus Host oder Peripheriegerät zu emulieren.
  8. Vorrichtung nach Anspruch 6, wobei die Steuereinheit gestaltet ist, den einen von Host oder Peripheriegerät mindestens teilweise durch Erzeugen eines NAK-Paketes und Senden des erzeugten NAK-Paketes an den anderen aus Host oder Peripheriegerät zu emulieren.
  9. Vorrichtung nach Anspruch 6, wobei die Steuereinheit gestaltet ist, den Host oder das Peripheriegerät mindestens teilweise zu emulieren, indem ein Abschlusswiderstand an die Upstream-Verbindung angeschlossen wird.
  10. Vorrichtung nach Anspruch 1, wobei die Steuereinheit gestaltet ist zum: Analysieren der empfangenen Daten, um festzustellen, ob die empfangenen Daten ein Sicherheitsrisiko darstellen; wenn festgestellt wird, dass die empfangenen Daten kein Sicherheitsrisiko darstellen, Weiterleiten der empfangenen Daten an die ausgewählte mindestens eine der mindestens einen Downstream-Schnittstellen; wenn festgestellt wird, dass die empfangenen Daten ein Sicherheitsrisiko darstellen, Verhindern, dass die empfangenen Daten an eine der mindestens einen Downstream-Schnittstellen weitergeleitet werden.
  11. Vorrichtung nach Anspruch 10, wobei die Steuereinheit gestaltet ist, das Weiterleiten der empfangenen Daten zu verhindern durch: Ändern der Upstream-Verbindung aus einem verbundenen Zustand in einen elektrisch abgeschlossenen Zustand; und Ändern mindestens einer der entsprechenden Downstream-Verbindungen von einem verbundenen Zustand in einen elektrisch abgeschlossenen Zustand.
  12. Vorrichtung nach Anspruch 11, wobei die Steuereinheit gestaltet ist, die Upstream-Verbindung aus einem verbundenen Zustand in einen elektrisch abgeschlossenen Zustand zu ändern, indem ein Abschlusswiderstand an die Upstream-Verbindung angeschlossen wird.
  13. Durch eine Sicherheitsvorrichtung realisiertes Verfahren zur Verbesserung der Sicherheit mindestens einer aus einer Host-Computer-Vorrichtung (”Host”) und mindestens einer Peripherie-Vorrichtung (”Peripheriegerät”), wobei die Sicherheitsvorrichtung eine Upstream-Schnittstelle umfasst, die gestaltet ist, über eine Upstream-Verbindung mit dem Host gekoppelt zu sein und über die Upsteam-Verbindung Befehle und Daten vom Host zu empfangen und über die Upstream-Verbindung Daten zum Host zu senden, wobei jeder der mindestens einigen der Befehle eine Adresse eines der mindestens einen Peripheriegeräte enthält, wobei die Sicherheitsvorrichtung ferner mindestens eine Downstream-Schnittstelle umfasst, wobei jede Downstream-Schnittstelle gestaltet ist, über eine entsprechende Downstream-Verbindung mit einem der mindestens einen Peripheriegeräte gekoppelt zu sein und über die entsprechende Downsteam-Verbindung Daten von dem einen Peripheriegerät zu empfangen und über die entsprechende Downstream-Verbindung Befehle und Daten zu dem einen Peripheriegerät zu senden, wobei jedem Peripheriegerät eine Adresse zugeordnet ist, wobei das Verfahren umfasst: Empfangen von Befehlen und Daten über die Upstream-Schnittstelle; Auswählen mindestens einer von den mindestens einen Downstream-Schnittstellen auf der Grundlage einer Adresse in den empfangenen Befehlen und Daten; Weiterleiten der empfangenen Befehle und Daten an die ausgewählte mindestens eine von den mindestens einen Downstream-Schnittstellen.
  14. Verfahren nach Anspruch 13, ferner umfassend das Verhindern, dass die empfangenen Befehle und Daten an die mindestens eine aus den mindestens einen Downstream-Schnittstellen weitergeleitet werden, die sich von der ausgewählten mindestens einen aus den mindestens einen Downstream-Schnittstellen unterscheidet.
  15. Verfahren nach Anspruch 13, ferner umfassend das Verhindern der direkten Kommunikation zwischen beliebigen zwei der mindestens einen Peripheriegeräte über eine entsprechende Downstream-Verbindung.
  16. Verfahren nach Anspruch 13, ferner umfassend: Unkenntlichmachen der empfangenen Befehle und Daten; und Weiterleiten der unkenntlich gemachten Befehle und Daten an mindestens eine aus den mindestens einen Downstream-Schnittstellen, die sich von der ausgewählten mindestens einen aus den mindestens einen Downstream-Schnittstellen unterscheidet.
  17. Verfahren nach Anspruch 13, ferner umfassend: Auswählen der mindestens einen von den mindestens einen Downstream-Schnittstellen durch Analysieren der empfangenen Daten während eines Analyse-Intervalls; und mindestens während eines Teils des Analyse-Intervalls Emulieren des Hosts oder des Peripheriegeräts für den anderen aus Host und Peripheriegerät.
  18. Verfahren nach Anspruch 17, wobei Emulieren des einen von Host oder Peripheriegerät mindestens teilweise das Erzeugen eines ACK-Paketes und Senden des erzeugten ACK-Paketes an den anderen aus Host oder Peripheriegerät umfasst.
  19. Verfahren nach Anspruch 17, wobei Emulieren des einen von Host oder Peripheriegerät mindestens teilweise das Erzeugen eines NAK-Paketes und Senden des erzeugten NAK-Paketes an den anderen aus Host oder Peripheriegerät umfasst.
  20. Verfahren nach Anspruch 17, wobei Emulieren des Hosts oder des Peripheriegeräts mindestens teilweise das Koppeln eines Abschlusswiderstands an die Upstream-Verbindung umfasst.
  21. Verfahren nach Anspruch 13, ferner umfassend: Analysieren der empfangenen Daten, um festzustellen, ob die empfangenen Daten ein Sicherheitsrisiko darstellen; wenn festgestellt wird, dass die empfangenen Daten kein Sicherheitsrisiko darstellen, Weiterleiten der empfangenen Daten an die ausgewählte mindestens eine der mindestens einen Downstream-Schnittstellen; wenn festgestellt wird, dass die empfangenen Daten ein Sicherheitsrisiko darstellen, Verhindern, dass die empfangenen Daten an eine der mindestens einen Downstream-Schnittstellen weitergeleitet werden.
  22. Verfahren nach Anspruch 21, wobei Verhindern des Weiterleitens der empfangenen Daten umfasst: Ändern der Upstream-Verbindung aus einem verbundenen Zustand in einen elektrisch abgeschlossenen Zustand; und Ändern der mindestens einen der entsprechenden Downstream-Verbindung aus einem verbundenen Zustand in einen elektrisch abgeschlossenen Zustand.
  23. Verfahren nach Anspruch 22, wobei Ändern der Upstream-Verbindung aus einem verbundenen Zustand in einen elektrisch abgeschlossenen Zustand es umfasst, einen Abschlusswiderstand an die Upstream-Verbindung anzuschließen.
  24. Computerprogrammprodukt zum Vorsehen einer Verbesserung der Sicherheit mindestens einer aus einer Host-Computer-Vorrichtung (”Host”) und mindestens einer Peripherie-Vorrichtung (”Peripheriegerät”), wobei die Sicherheitsvorrichtung eine Upstream-Schnittstelle umfasst, die gestaltet ist, über eine Upstream-Verbindung mit dem Host gekoppelt zu sein und über die Upsteam-Verbindung Befehle und Daten vom Host zu empfangen und über die Upstream-Verbindung Daten zum Host zu senden, wobei jeder der mindestens einigen der Befehle eine Adresse eines der mindestens einen Peripheriegeräte enthält, wobei die Sicherheitsvorrichtung ferner mindestens eine Downstream-Schnittstelle umfasst, wobei jede Downstream-Schnittstelle gestaltet ist, über eine entsprechende Downstream-Verbindung mit einem der mindestens einen Peripheriegeräte gekoppelt zu sein und über die entsprechende Downsteam-Verbindung Daten von dem einen Peripheriegerät zu empfangen und über die entsprechende Downstream-Verbindung Befehle und Daten zu dem einen Peripheriegerät zu senden, wobei jedem Peripheriegerät eine Adresse zugeordnet ist, wobei das Computerprogrammprodukt ein nichtflüchtiges computerlesbares Medium umfasst, auf dem computerlesbarer Programmcode gespeichert ist, wobei das computerlesbare Programm gestaltet ist zum: Empfangen von Befehlen und Daten über die Upstream-Schnittstelle; Auswählen mindestens einer von den mindestens einen Downstream-Schnittstellen auf der Grundlage einer Adresse in den empfangenen Befehlen und Daten; Weiterleiten der empfangenen Befehle und Daten an die ausgewählte mindestens eine von den mindestens einen Downstream-Schnittstellen.
DE112012003293.4T 2011-08-10 2012-08-09 Vorrichtung und Verfahren zur Verbesserung der Datensicherheit in einer Host-Computer-Vorrichtung und einer Peripherie-Vorrichtung Pending DE112012003293T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161522138P 2011-08-10 2011-08-10
USUS-61/522,138 2011-08-10
PCT/US2012/050213 WO2013023105A1 (en) 2011-08-10 2012-08-09 Apparatus and method for enhancing security of data on a host computing device and a peripheral device

Publications (1)

Publication Number Publication Date
DE112012003293T5 true DE112012003293T5 (de) 2014-05-08

Family

ID=47668977

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112012003293.4T Pending DE112012003293T5 (de) 2011-08-10 2012-08-09 Vorrichtung und Verfahren zur Verbesserung der Datensicherheit in einer Host-Computer-Vorrichtung und einer Peripherie-Vorrichtung

Country Status (5)

Country Link
US (3) US8869273B2 (de)
KR (2) KR102195788B1 (de)
DE (1) DE112012003293T5 (de)
GB (1) GB2506803B (de)
WO (1) WO2013023105A1 (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102195788B1 (ko) 2011-08-10 2020-12-28 기타 스리바스타바 호스트 컴퓨팅 디바이스와 주변기기의 데이터의 보안을 강화하기 위한 장치 및 방법
DE102012219940A1 (de) * 2012-10-31 2014-04-30 Trumpf Werkzeugmaschinen Gmbh + Co. Kg Repeater, CAN-Kommunikationssystem und Verfahren zur Übertragung eines Datentelegramms innerhalb eines CAN-Kommunikationssystems
US9141820B2 (en) * 2013-07-25 2015-09-22 Adobe Systems Incorporated Network-based service content protection
US9860216B2 (en) * 2013-09-16 2018-01-02 Axis Ab Anonymous decisions in an access control system
CN106295381B (zh) * 2015-05-19 2019-05-07 澜起科技股份有限公司 用于监控对内部存储器的数据访问的装置以及内部存储器
US10990708B2 (en) * 2015-06-09 2021-04-27 Datex Inc. Peripheral bus security interface and method
IL244557A0 (en) * 2016-03-13 2016-07-31 Cyber Sepio Systems Ltd A system and method for protecting a computer system from USB-related weaknesses such as cyber attacks
US10715501B2 (en) * 2016-10-26 2020-07-14 Intel Corporation Providing secure data transmission over a universal serial bus (USB) interface
WO2018157124A1 (en) * 2017-02-27 2018-08-30 Ivanti, Inc. Systems and methods for context-based mitigation of computer security risks
IL272204B2 (en) 2017-08-03 2024-02-01 Cyber Sepio Systems Ltd A system and method for securing a computerized system against threats introduced by USB devices
IL254573A0 (en) 2017-09-18 2017-11-30 Cyber Sepio Systems Ltd Install a method and computer software product for securing a local network from threats posed by foreign or hostile accessories
CN109543475B (zh) * 2018-10-29 2020-07-07 北京博衍思创信息科技有限公司 一种外接式终端防护设备及防护系统
US11132441B2 (en) * 2019-05-06 2021-09-28 The Florida International University Board Of Trustees Systems and methods for inhibiting threats to a computing environment
IL289845A (en) * 2022-01-13 2023-08-01 Chaim Yifrach Amichai A system for detecting and preventing cyber attacks

Family Cites Families (150)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW386215B (en) 1997-03-24 2000-04-01 Seiko Epson Corp Emulation system and information processor
JPH10293641A (ja) 1997-04-17 1998-11-04 Toshiba Corp コンピュータシステムおよびusbデバイス制御方法
US5968176A (en) * 1997-05-29 1999-10-19 3Com Corporation Multilayer firewall system
US6088802A (en) 1997-06-04 2000-07-11 Spyrus, Inc. Peripheral device with integrated security functionality
US6886055B2 (en) 1997-12-15 2005-04-26 Clearcube Technology, Inc. Computer on a card with a remote human interface
KR100290729B1 (ko) 1998-01-07 2001-05-15 클라크 3세 존 엠. 유에스비 등시 데이타를 전송 및 수신하는 장치 및 방법
US6625790B1 (en) * 1998-07-08 2003-09-23 Microsoft Corporation Method and apparatus for detecting the type of interface to which a peripheral device is connected
US6311294B1 (en) 1998-10-20 2001-10-30 Cypress Semiconductor Corp. Device and method for efficient bulk data retrieval using a universal serial bus
US6321335B1 (en) 1998-10-30 2001-11-20 Acqis Technology, Inc. Password protected modular computer method and device
US6389029B1 (en) 1998-11-10 2002-05-14 Nortel Networks Limited Local area network incorporating universal serial bus protocol
US6216183B1 (en) 1998-11-20 2001-04-10 Compaq Computer Corporation Apparatus and method for securing information entered upon an input device coupled to a universal serial bus
US6584519B1 (en) 1998-12-22 2003-06-24 Canon Kabushiki Kaisha Extender for universal serial bus
TW420796B (en) 1999-01-13 2001-02-01 Primax Electronics Ltd Computer system equipped with portable electronic key
US6389495B1 (en) 1999-01-16 2002-05-14 Cypress Semiconductor Corp. Dedicated circuit and method for enumerating and operating a peripheral device on a universal serial bus
US6389560B1 (en) 1999-01-19 2002-05-14 Sun Microsystems, Inc. Universal serial bus interpreter
US6343260B1 (en) 1999-01-19 2002-01-29 Sun Microsystems, Inc. Universal serial bus test system
US7003613B1 (en) 1999-01-26 2006-02-21 Transdimension Inc. System for transferring data using a USB host system with a dedicated processor
US6601109B1 (en) 1999-03-31 2003-07-29 International Business Machines Corporation USB-based networking and I/O hub
JP4371466B2 (ja) 1999-04-15 2009-11-25 株式会社東芝 コンピュータシステム及びそのi/o装置の制御方法
US6708247B1 (en) 1999-07-21 2004-03-16 Clearcube Technology, Inc. Extending universal serial bus to allow communication with USB devices at a remote location
US7447037B2 (en) 1999-08-04 2008-11-04 Super Talent Electronics, Inc. Single chip USB packages by various assembly methods
US7704147B2 (en) 1999-10-06 2010-04-27 Igt Download procedures for peripheral devices
US6251014B1 (en) 1999-10-06 2001-06-26 International Game Technology Standard peripheral communication
CN1088218C (zh) 1999-11-14 2002-07-24 邓国顺 用于数据处理系统的快闪电子式外存储方法及其装置
US6671765B1 (en) 1999-11-22 2003-12-30 Texas Instruments Incorporated Architecture enabling code overlay using a dedicated endpoint
US6523081B1 (en) 1999-11-22 2003-02-18 Texas Instruments Incorporated Architecture using dedicated endpoints and protocol for creating a multi-application interface and improving bandwidth over universal serial bus
US6804243B1 (en) 1999-11-22 2004-10-12 Texas Instruments Incorporated Hardware acceleration for segmentation of message packets in a universal serial bus peripheral device
US6684402B1 (en) 1999-12-01 2004-01-27 Cognex Technology And Investment Corporation Control methods and apparatus for coupling multiple image acquisition devices to a digital data processor
US6526468B1 (en) * 1999-12-15 2003-02-25 Robotel Electronique Inc. Peripheral bus extender
US6934774B1 (en) 1999-12-20 2005-08-23 Fujitsu Limited Method and system for reliable device configuration in a computer system
FR2804816B1 (fr) 2000-02-03 2003-10-31 Gemplus Card Int Transport d'unites de protocole d'objet electronique portable par protocole pour peripheriques de micro- ordinateur
KR100380250B1 (ko) 2000-02-21 2003-04-18 트렉 2000 인터네셔널 엘티디. 휴대용 데이터 저장장치
FR2806505A1 (fr) 2000-03-15 2001-09-21 Schlumberger Systems & Service Procede de communication entre une carte a puce et une station hote
US6839771B1 (en) 2000-04-13 2005-01-04 Hewlett-Packard Development Company, L.P. Method and system for using a universal serial bus (USB) as a peer-to-peer network
US6754811B1 (en) 2000-06-16 2004-06-22 International Business Machines Corporation Operating system device centric agent
US7870599B2 (en) 2000-09-05 2011-01-11 Netlabs.Com, Inc. Multichannel device utilizing a centralized out-of-band authentication system (COBAS)
US6959257B1 (en) 2000-09-11 2005-10-25 Cypress Semiconductor Corp. Apparatus and method to test high speed devices with a low speed tester
US6571305B1 (en) * 2000-09-27 2003-05-27 Lantronix, Inc. System for extending length of a connection to a USB peripheral
JP2002124966A (ja) * 2000-10-13 2002-04-26 Hitachi Cable Ltd スイッチングハブ及びそれを用いたlanシステム
US6968462B2 (en) 2000-12-11 2005-11-22 International Business Machines Corporation Verifying physical universal serial bus keystrokes
US6718412B2 (en) 2000-12-14 2004-04-06 Agilent Technologies, Inc. Apparatus and method for universal serial bus communications
US6839793B2 (en) 2001-03-28 2005-01-04 Intel Corporation Method and apparatus to maximize bandwidth availability to USB devices
US6678761B2 (en) 2001-03-30 2004-01-13 Intel Corporation Method and apparatus for budget development under universal serial bus protocol in a multiple speed transmission environment
US7272831B2 (en) 2001-03-30 2007-09-18 Intel Corporation Method and apparatus for constructing host processor soft devices independent of the host processor operating system
US6931465B1 (en) 2001-03-31 2005-08-16 Cypress Semiconductor Corp. Intelligent, extensible SIE peripheral device
EP1248179A1 (de) * 2001-04-03 2002-10-09 Hewlett-Packard Company Selektive Aktivierung und Inaktivierung von an ein USB-System angeschlossenen Peripheriegeräten
CA2345596C (en) 2001-04-27 2007-12-04 Icron Systems Inc. Method and apparatus for extending the range of the universal serial bus protocol
JP3680762B2 (ja) 2001-05-14 2005-08-10 セイコーエプソン株式会社 データ転送制御装置及び電子機器
US6435904B1 (en) * 2001-06-01 2002-08-20 Fellowes, Inc. Multiple peripheral connection device for connecting multiple peripheral devices to a host device
WO2003003295A1 (en) 2001-06-28 2003-01-09 Trek 2000 International Ltd. A portable device having biometrics-based authentication capabilities
US7228366B2 (en) 2001-06-29 2007-06-05 Intel Corporation Method and apparatus for deterministic removal and reclamation of work items from an expansion bus schedule
US6904489B2 (en) 2001-10-23 2005-06-07 Digi International Inc. Methods and systems for remotely accessing universal serial bus devices
US6889265B2 (en) 2001-11-05 2005-05-03 Intel Corporation Apparatus and method to allow and synchronize schedule changes in a USB enhanced host controller
US6996705B2 (en) 2001-11-21 2006-02-07 Lenovo (Singapore) Pte. Ltd. Method and system for configuring the language of the BIOS in a computer system
US6744634B2 (en) 2001-11-23 2004-06-01 Power Quotient International Co., Ltd. Low height USB interface connecting device and a memory storage apparatus thereof
US7162407B2 (en) 2001-12-03 2007-01-09 Ms1-Microsoft Corporation Testing a host's support for peripheral devices
KR20040073523A (ko) 2001-12-29 2004-08-19 타이구엔 엔터프라이즈 코퍼레이션 리미티드 표준 데이터 인터페이스를 구비한 휴대용 데이터 전환처리장치
CN2517012Y (zh) 2002-01-23 2002-10-16 台均实业有限公司 可随意升级扩容更换存储介质的usb移动存储器
US6792501B2 (en) 2002-01-31 2004-09-14 Phision Electronic Corp Universal serial bus flash memory integrated circuit device
TW569013B (en) 2002-02-21 2004-01-01 Via Tech Inc Chip test method for testing host controller of universal serial bus
US20030184960A1 (en) 2002-03-28 2003-10-02 Compaq Information Technologies Group, L.P. Enumeration, manageability, and security of a KVM extension device
EP1454240B1 (de) 2002-05-13 2006-02-08 Trek 2000 International Ltd System und vorrichtung zum komprimieren und dekomprimieren von in einem tragbaren datenspeichergerät gespeicherten daten
EP1509846B1 (de) 2002-06-03 2011-07-13 Thomson Licensing Dsl-modem und verfahren zum herstellen eines datentransfermodus dafür
US6904493B2 (en) 2002-07-11 2005-06-07 Animeta Systems, Inc. Secure flash memory device and method of operation
US6745264B1 (en) 2002-07-15 2004-06-01 Cypress Semiconductor Corp. Method and apparatus for configuring an interface controller wherein ping pong FIFO segments stores isochronous data and a single circular FIFO stores non-isochronous data
US6757776B1 (en) 2002-07-17 2004-06-29 Cypress Semiconductor Corp. Control transaction handling in a device controller
TW588243B (en) 2002-07-31 2004-05-21 Trek 2000 Int Ltd System and method for authentication
AU2003301696A1 (en) * 2002-11-01 2004-05-25 Shinya Kobayashi Detachable device, control circuit, control circuit firmware program, information processing method and circuit design pattern in control circuit, and log-in method
US7069373B2 (en) 2002-11-07 2006-06-27 Nec Electronics America, Inc. USB endpoint controller flexible memory management
JP4050135B2 (ja) 2002-11-25 2008-02-20 富士通株式会社 通信デバイス、ホスト装置、及び通信方法
US7114105B2 (en) 2002-12-05 2006-09-26 Qualcomm, Inc. System and method for software download to wireless communication device
US7460535B2 (en) 2002-12-18 2008-12-02 Synopsys, Inc. Device and method that allows single data recovery circuit to support multiple USB ports
US7222201B2 (en) 2003-01-06 2007-05-22 Plx Technology, Inc. Virtual endpoint for USB devices
US7069370B2 (en) 2003-01-31 2006-06-27 Toshiba Corporation USB memory storage apparatus with integrated circuit in a connector
US6959355B2 (en) * 2003-02-24 2005-10-25 Standard Microsystems Corporation Universal serial bus hub with shared high speed handler
WO2004086363A2 (en) 2003-03-27 2004-10-07 M-Systems Flash Disk Pioneers Ltd. Data storage device with full access by all users
US7469343B2 (en) 2003-05-02 2008-12-23 Microsoft Corporation Dynamic substitution of USB data for on-the-fly encryption/decryption
US7243237B2 (en) 2003-05-02 2007-07-10 Microsoft Corporation Secure communication with a keyboard or related device
US7181649B2 (en) 2003-05-09 2007-02-20 Stmicroelectronics, Inc. Universal serial bus (USB) smart card having enhanced testing features and related system, integrated circuit, and methods
US6783078B1 (en) 2003-05-09 2004-08-31 Stmicroelectronics, Inc. Universal serial bus (USB) smart card having read back testing features and related system, integrated circuit, and methods
US7143224B2 (en) 2003-05-09 2006-11-28 Stmicroelectronics, Inc. Smart card for performing advance operations to enhance performance and related system, integrated circuit, and methods
US7080789B2 (en) 2003-05-09 2006-07-25 Stmicroelectronics, Inc. Smart card including a JTAG test controller and related methods
US7373522B2 (en) 2003-05-09 2008-05-13 Stmicroelectronics, Inc. Smart card with enhanced security features and related system, integrated circuit, and methods
US7044390B2 (en) 2003-06-02 2006-05-16 Stmicroelectronics, Inc. Smart card emulator and related methods using buffering interface
US7369982B2 (en) 2003-06-04 2008-05-06 Stmicroelectronics, Inc. Multi-mode smart card emulator and related methods
JP3649227B2 (ja) 2003-06-06 2005-05-18 セイコーエプソン株式会社 データ転送制御装置、電子機器及びデータ転送制御方法
US7127649B2 (en) 2003-06-09 2006-10-24 Stmicroelectronics, Inc. Smartcard test system and related methods
US7493431B2 (en) 2003-08-06 2009-02-17 Icron Technologies Corporation Method and apparatus for extending the range of the universal serial bus protocol
US7454783B2 (en) 2003-08-08 2008-11-18 Metapass, Inc. System, method, and apparatus for automatic login
USD494969S1 (en) 2003-08-11 2004-08-24 Benq Corporation USB flash memory drive
KR100557215B1 (ko) 2003-08-19 2006-03-10 삼성전자주식회사 유에스비 디바이스의 엔드포인트 제어 장치 및 그 방법
TWI296083B (en) 2003-09-29 2008-04-21 Sharp Kk Communication controller, host-side controller, communication system, usb system, communication equipment, communication method, packet-based communication method, packet-based communication program, and storage medium
US7489417B2 (en) 2003-09-30 2009-02-10 Toshiba Corporation USB print
US7145481B2 (en) 2003-09-30 2006-12-05 Intel Corporation Method and apparatus for trusted keyboard scanning
TWI238320B (en) 2003-10-07 2005-08-21 Sunplus Technology Co Ltd USB composite device using hub connection layer and UTMI interface
US7597250B2 (en) 2003-11-17 2009-10-06 Dpd Patent Trust Ltd. RFID reader with multiple interfaces
US7636844B2 (en) 2003-11-17 2009-12-22 Intel Corporation Method and system to provide a trusted channel within a computer system for a SIM device
US7321951B2 (en) 2003-11-17 2008-01-22 Micron Technology, Inc. Method for testing flash memory power loss recovery
US7213766B2 (en) 2003-11-17 2007-05-08 Dpd Patent Trust Ltd Multi-interface compact personal token apparatus and methods of use
US7762470B2 (en) 2003-11-17 2010-07-27 Dpd Patent Trust Ltd. RFID token with multiple interface controller
US7318101B2 (en) * 2003-11-24 2008-01-08 Cisco Technology, Inc. Methods and apparatus supporting configuration in a network
US7073010B2 (en) 2003-12-02 2006-07-04 Super Talent Electronics, Inc. USB smart switch with packet re-ordering for interleaving among multiple flash-memory endpoints aggregated as a single virtual USB endpoint
US7213096B2 (en) 2004-03-31 2007-05-01 Intel Corporation Operating a remote USB host controller
US7328849B2 (en) 2004-04-21 2008-02-12 Stmicroelectronics, Inc. Smart card providing data mapping for multiple applications and related methods
JP2005328280A (ja) 2004-05-13 2005-11-24 Canon Inc データ処理装置
US7480931B2 (en) 2004-07-24 2009-01-20 Bbs Technologies, Inc. Volume mount authentication
US7831748B2 (en) * 2004-08-10 2010-11-09 Microsoft Corporation Extended USB protocol with selective broadcast mechanism
US20060059293A1 (en) * 2004-09-14 2006-03-16 Henry Wurzburg Universal serial bus switching hub
US7747797B2 (en) 2004-09-28 2010-06-29 Microsoft Corporation Mass storage device with near field communications
US7493487B2 (en) 2004-10-15 2009-02-17 Microsoft Corporation Portable computing environment
US7188206B2 (en) 2004-10-22 2007-03-06 Conwise Technology Corporation Ltd. USB compound device without embedded hub and implement method in USB system
US7496493B1 (en) 2004-11-09 2009-02-24 Western Digital Technologies, Inc. External memory device to provide disk device and optical functionality
US7478424B2 (en) 2004-11-30 2009-01-13 Cymtec Systems, Inc. Propagation protection within a network
US7644211B2 (en) 2004-12-07 2010-01-05 Cisco Technology, Inc. Method and system for controlling transmission of USB messages over a data network between a USB device and a plurality of host computers
US7823214B2 (en) 2005-01-07 2010-10-26 Apple Inc. Accessory authentication for electronic devices
EP1920304A1 (de) * 2005-02-23 2008-05-14 Stonewood Electronics Ltd Benutzerauthentifikation für ein computersystem
US7640378B2 (en) 2005-03-11 2009-12-29 Icron Technologies Corporation Method and apparatus for improving the performance of USB mass storage devices in the presence of long transmission delays
JP4502389B2 (ja) 2005-03-15 2010-07-14 キヤノン株式会社 通信装置及びその制御方法
US7711874B1 (en) 2005-03-23 2010-05-04 American Megatrends, Inc. Usage of EHCI companion USB controllers for generating periodic events
US7396257B2 (en) 2005-05-26 2008-07-08 Itt Manufacturing Enterprises, Inc. Computer input/output (I/O) connector assembly having a security circuit disposed therein
US7702825B2 (en) 2005-06-29 2010-04-20 Intel Corporation Enhancements to universal serial bus (USB) suspend and resume operations
US7743409B2 (en) 2005-07-08 2010-06-22 Sandisk Corporation Methods used in a mass storage device with automated credentials loading
US7788704B2 (en) * 2005-09-15 2010-08-31 Cisco Technology, Inc. Method and system for secure connection of peripheral device to processing device
US7664960B1 (en) 2005-09-23 2010-02-16 Kenneth Wayne Clubb Password enhancing device
US7246189B2 (en) * 2005-11-18 2007-07-17 Vetra Systems Corporation Method and apparatus for enhancing universal serial bus
US20080276302A1 (en) * 2005-12-13 2008-11-06 Yoggie Security Systems Ltd. System and Method for Providing Data and Device Security Between External and Host Devices
US7877788B1 (en) 2006-02-27 2011-01-25 Teradici Corporation Method and apparatus for securing a peripheral data interface
US7516261B2 (en) 2006-04-21 2009-04-07 Sandisk Corporation Method for U3 adapter
US7447821B2 (en) 2006-04-21 2008-11-04 Sandisk Corporation U3 adapter
DE102006018871A1 (de) * 2006-04-24 2007-10-25 OCé PRINTING SYSTEMS GMBH Verfahren zum Betreiben eines Datenbusses und Datenbussystem
US7480753B2 (en) * 2006-04-27 2009-01-20 Standard Microsystems Corporation Switching upstream and downstream logic between ports in a universal serial bus hub
US7975304B2 (en) 2006-04-28 2011-07-05 Trend Micro Incorporated Portable storage device with stand-alone antivirus capability
US7734841B2 (en) 2006-06-30 2010-06-08 Palm, Inc. System and method for providing serial bus connectivity
US7490255B2 (en) 2006-06-30 2009-02-10 Intel Corporation Power efficient flow control model for USB asynchronous transfers
US7587536B2 (en) 2006-07-28 2009-09-08 Icron Technologies Corporation Method and apparatus for distributing USB hub functions across a network
US7647446B2 (en) 2006-10-03 2010-01-12 Silex Technology, Inc. Networked isochronous USB communication
EP2092452A2 (de) 2006-12-14 2009-08-26 SAGEM Sécurité Peripherie-sicherheitsvorrichtung
US7908501B2 (en) * 2007-03-23 2011-03-15 Silicon Image, Inc. Progressive power control of a multi-port memory device
US20090064273A1 (en) 2007-08-31 2009-03-05 Broadcom Corporation Methods and systems for secure data entry and maintenance
TW200939022A (en) 2008-03-13 2009-09-16 Powerflash Technology Corp Data access system
US8560864B2 (en) * 2008-03-26 2013-10-15 Fego Precision Industrial Co., Ltd. Firewall for removable mass storage devices
US8176216B1 (en) * 2008-03-31 2012-05-08 Total Phase, Inc. Methods for analyzing USB data traffic using a single USB host controller
US8484736B2 (en) 2008-06-06 2013-07-09 Sandisk Il Ltd. Storage device having an anti-malware protection
US8091115B2 (en) 2008-10-03 2012-01-03 Microsoft Corporation Device-side inline pattern matching and policy enforcement
USD610156S1 (en) 2009-01-01 2010-02-16 Orion Photo Industries, Inc. USB flash drive
US20110289548A1 (en) 2010-05-18 2011-11-24 Georg Heidenreich Guard Computer and a System for Connecting an External Device to a Physical Computer Network
US8140733B2 (en) 2010-08-12 2012-03-20 Emcon Emanation Control Ltd. Secure external computer hub
US8667303B2 (en) * 2010-11-22 2014-03-04 Motorola Mobility Llc Peripheral authentication
US8566934B2 (en) 2011-01-21 2013-10-22 Gigavation, Inc. Apparatus and method for enhancing security of data on a host computing device and a peripheral device
KR102195788B1 (ko) 2011-08-10 2020-12-28 기타 스리바스타바 호스트 컴퓨팅 디바이스와 주변기기의 데이터의 보안을 강화하기 위한 장치 및 방법

Also Published As

Publication number Publication date
GB2506803B (en) 2020-07-01
US10678913B2 (en) 2020-06-09
KR102039113B1 (ko) 2019-10-31
US8869273B2 (en) 2014-10-21
KR20140048238A (ko) 2014-04-23
WO2013023105A1 (en) 2013-02-14
US20180137278A1 (en) 2018-05-17
KR102195788B1 (ko) 2020-12-28
US20130031629A1 (en) 2013-01-31
US9875354B1 (en) 2018-01-23
KR20190124807A (ko) 2019-11-05
GB201401140D0 (en) 2014-03-12
GB2506803A (en) 2014-04-09

Similar Documents

Publication Publication Date Title
DE112012003293T5 (de) Vorrichtung und Verfahren zur Verbesserung der Datensicherheit in einer Host-Computer-Vorrichtung und einer Peripherie-Vorrichtung
DE112012000531T5 (de) Verfahren und Vorrichtung zum Verbessern der Sicherheit von Daten auf einer Hostcomputereinrichtung und einer Peripherieeinrichtung
DE60205289T2 (de) System und Verfahren zur gesicherte Funkübertragung von Konfigurationsdaten
WO2014085952A1 (zh) 一种策略处理的方法及网络设备
DE202015009800U1 (de) Sicherheits-Plug-In für eine System-on-a-Chip-Plattform
DE102015001054A1 (de) Verfahren und systeme zum erkennen von extrusion und intrusion in einer cloud-computer-umgebung
DE102015001024A1 (de) Verfahren und Systeme zum Erkennen von Extrusion und Intrusion in einer Cloud-Computer-Umgebung, welche Netzwerkkommunikationsgeräte verwendet
DE102011008403B4 (de) Verfahren und Kommunikationssystem zum Aufbau einer Verbindung zwischen zwei Geräten
EP3192226B1 (de) Vorrichtung und verfahren zur steuerung eines kommunikationsnetzwerks
DE112018004465T5 (de) Systeme und Verfahren zum Überwachen eines Köders für den Schutz von Benutzern vor Sicherheitsbedrohungen
CN103237036A (zh) 一种实现内外网物理隔断的装置
DE60315284T2 (de) Verfahren und Arrangement zum automatischen Steuern eines Zugriffs zwischen einem Computer und einem Kommunikationsnetzwerk
CN103209191A (zh) 一种实现内外网物理隔断的方法
WO2023151354A2 (zh) 数据传输方法、系统、第一端、中间网络设备及控制设备
EP3152874B1 (de) Routing-verfahren zur weiterleitung von task-anweisungen zwischen computersystemen, computernetz-infrastruktur sowie computerporgamm-produkt
CA2965513A1 (en) Tunneled monitoring service and methods
DE102022100111A1 (de) Netzwerkschnittstelle mit Datenschutz
EP3105898B1 (de) Verfahren zur kommunikation zwischen abgesicherten computersystemen sowie computernetz-infrastruktur
DE112020003731B4 (de) Gleichzeitige aktivierung von verschlüsselung auf einem betriebspfad an einem host-speicheranschluss
DE102021108971A1 (de) Steuerung des zugriffs auf periphere anschlüsse eines host-rechnersystems
EP3648430B1 (de) Hardware-sicherheitsmodul
EP3152880B1 (de) Verfahren zur kommunikation zwischen abgesicherten computersystemen, computernetz-infrastruktur sowie computerprogramm-produkt
CN105939220A (zh) 远程端口镜像的实现方法及装置
CN111801921A (zh) 用于增强的网络安全性的安全模式
DE112021006405T5 (de) System und Verfahren zur Eindringungserkennung von Malware-Datenverkehr

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: GRUENECKER, KINKELDEY, STOCKMAIR & SCHWANHAEUS, DE

R081 Change of applicant/patentee

Owner name: GIGAVATION INC., DALLAS, US

Free format text: FORMER OWNER: GITA SRIVASTAVA,PIYUSH B. SRIVASTAVA, , US

Effective date: 20140505

Owner name: GIGAVATION INC., DALLAS, US

Free format text: FORMER OWNERS: SRIVASTAVA, GITA, DALLAS, TEX., US; SRIVASTAVA, PIYUSH B., DALLAS, TEX., US

Effective date: 20140505

Owner name: GIGAVATION INC., US

Free format text: FORMER OWNER: GITA SRIVASTAVA,PIYUSH B. SRIVASTAVA, , US

Effective date: 20140505

R082 Change of representative

Representative=s name: GRUENECKER PATENT- UND RECHTSANWAELTE PARTG MB, DE

Effective date: 20140505

Representative=s name: GRUENECKER, KINKELDEY, STOCKMAIR & SCHWANHAEUS, DE

Effective date: 20140505

R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012220000

Ipc: G06F0021850000