-
HINTERGRUND
-
Ein Betriebssystem (allgemein mit OS und O/S abgekürzt) ist die Software-Komponente eines Computersystems, die für die Verwaltung und Koordination von Aktivitäten und die gemeinschaftliche Verwendung der Ressourcen des Computers zuständig ist. Das Betriebssystem fungiert als Host für Anwendungsprogramme, die auf dem Gerät betrieben werden. Eine der Zweckbestimmungen eines Betriebssystems als Host ist die Handhabung der Details des Hardwarebetriebes. Dies entlastet Anwendungsprogramme davon, diese Details verwalten zu müssen, und vereinfacht das Schreiben von Anwendungen. Nahezu alle Computer, einschließlich Handcomputern, Tischcomputern, Supercomputern und sogar moderner Videospielkonsolen, benutzen ein Betriebssystem irgendeiner Art. Ein Thin-Client ist ein Beispiel für einen Tischcomputer oder ein lokales System, der bzw. das möglicherweise eine Version eines Betriebssystems betreibt, die nicht so leistungsfähig ist wie das Standard-Tischcomputer-Betriebssystem, das zum Verbinden mit anderen Computern benutzt wird. Auf dem lokalen System kann eine Fernzugriffsklienten-Software zum Verbinden mit einem entfernten System initialisiert werden.
-
KURZE BESCHREIBUNG
-
Viele Aspekte der Offenbarung sind unter Bezugnahme auf die folgenden Zeichnungen besser verständlich. Die Komponenten in den Zeichnungen sind nicht unbedingt maßstabsgetreu, da der Schwerpunkt stattdessen auf einer klaren Illustration der Prinzipien der vorliegenden Offenbarung liegt. In den Zeichnungen bezeichnen außerdem gleiche Bezugsziffern durchgängig in den verschiedenen Ansichten einander entsprechende Teile. In Verbindung mit diesen Zeichnungen sind zwar verschiedene Ausführungsbeispiele beschrieben, jedoch besteht nicht die Absicht, die Offenbarung auf das Ausführungsbeispiel oder die Ausführungsbeispiele zu begrenzen, die hier offenbart werden. Im Gegenteil ist beabsichtigt, alle Alternativen, Modifikationen und Äquivalente abzudecken.
-
1 illustriert eine Netzwerkumgebung gemäß einem Ausführungsbeispiel der Offenbarung.
-
2 ist ein Blockdiagramm eines lokalen Systems aus 1 aus der Netzwerkumgebung aus 1 gemäß einem Ausführungsbeispiel der Offenbarung.
-
3 ist ein Blockdiagramm eines lokalen Systems aus 1 in Kommunikation mit einem entfernten System aus 1 gemäß einem Ausführungsbeispiel der Offenbarung.
-
4 ist ein Flussdiagramm eines exemplarischen Ausführungsbeispiels eines Verfahrens zur dynamischen Fernperipherieanbindung unter Verwendung eines lokalen Systems aus 1 und eines entfernten Systems aus 1.
-
5 ist ein Flussdiagramm eines alternativen exemplarischen Ausführungsbeispiels eines Verfahrens zur dynamischen Fernperipherieanbindung unter Verwendung eines lokalen Systems aus 1 und eines entfernten Systems aus 1.
-
6 ist ein Flussdiagramm eines alternativen exemplarischen Ausführungsbeispiels eines Verfahrens zur dynamischen Fernperipherieanbindung unter Verwendung eines lokalen Systems aus 1 und eines entfernten Systems aus 1.
-
7 ist ein Flussdiagramm eines exemplarischen Ausführungsbeispiels eines Verhaltens eines lokalen Systems aus 1 und/oder entfernten Systems aus 1 ansprechend auf das Entfernen einer Smartcard.
-
DETAILLIERTE BESCHREIBUNG
-
Einmalanmeldung (SSO = single sign-on) ist ein von entfernten Systemen benutztes Zugriffsteuerungsverfahren, das es einem Benutzer ermöglicht, sich einmal einzuloggen und Zugriff auf die Ressourcen mehrerer Softwaresysteme oder Dienste zu erhalten, ohne noch einmal zum Einloggen aufgefordert zu werden. Einmalabmeldung ist der umgekehrte Prozess, durch den eine einzige Abmeldeaktion einen Zugriff auf mehrere Softwaresysteme beendet. Da verschiedene Anwendungen und Ressourcen verschiedene Authentifizierungsmechanismen unterstützen, übersetzt und speichert die Einmalanmeldung intern unterschiedliche Berechtigungsnachweise im Vergleich mit dem, was möglicherweise zur anfänglichen Authentifizierung benutzt wird.
-
Exemplarische Ausführungsbeispiele von SSO können zentralisierte Authentifizierungsserver implementieren, die von allen anderen Anwendungen und Systemen zu Authentifizierungszwecken genutzt werden, und können dies mit Techniken zur Sicherstellung dessen kombinieren, dass Benutzer ihre Berechtigungsnachweise nicht mehr als einmal aktiv eingeben müssen.
-
Unternehmens-Einmalanmeldungssysteme (E-SSO systems = enterprise single sign-on systems) können zum Minimieren dessen entworfen sein, wie oft ein Benutzer eine Kennung und ein Passwort eintippt, um sich bei mehreren Anwendungen anzumelden. Die E-SSO-Lösung loggt Benutzer automatisch ein und fungiert als eine Passwortausfülleinrichtung, wo ein automatisches Einloggen nicht möglich ist. Jeder Klient kann ein Token erhalten, das die Authentifizierung handhabt. Bei einem alternativen Ausführungsbeispiel einer E-SSO-Lösung weist jeder Klient auf dem Computer gespeicherte E-SSO-Software zur Handhabung der Authentifizierung auf. Auf der Serverseite kann ein E-SSO-Authentifizierungsserver in das Unternehmensnetzwerk integriert sein.
-
Zusätzlich kann eine Smartcard-Authentifizierung verwendet werden, um ein Sicherheitselement auf Hardware-Ebene in SSO- und/oder E-SSO-Systemen bereitzustellen. Bei einem Fernvisualisierungssystem, einem System, bei dem beispielsweise ein lokales System auf eine entfernte Bildschirmarbeitsfläche (remote desktop) oder eine andere entfernt betriebene Anwendung zugreifen kann, die auf dem lokalen System angezeigt wird, können Ausführungsbeispiele der Offenbarung Smartcard-Authentifizierung für einen Zugriff auf das lokale System sowie das entfernte System verwenden. Diese Offenbarung legt auch Systeme und Verfahren vor, bei denen Peripheriegeräte wie etwa ein Smartcard-Lesegerät dynamisch an lokale Systeme und/oder entfernte Systeme anbinden können.
-
In dem Zusammenhang dieser Offenbarung kann bei einigen Ausführungsbeispielen, wenn ein Peripheriegerät an ein lokales System und/oder ein entferntes System anbindet, das System, an welches das Peripheriegerät anbindet, exklusiven Zugriff auf das Peripheriegerät haben. Bei anderen Ausführungsbeispielen kann, wenn ein Peripheriegerät an ein lokales System und/oder entferntes System anbindet, das System, an welches das Peripheriegerät anbindet, nicht-exklusiven Zugriff auf das Gerät haben. Es sei darauf hingewiesen, dass ein Peripheriegerät an ein lokales System über eine lokale Verbindung wie etwa eine USB-Verbindung, serielle Verbindung oder dergleichen anbinden kann. Alternativ kann ein Peripheriegerät an ein entferntes System über ein lokales System anbinden, das über ein Netzwerk mit dem entfernten System in Kommunikation steht. Bei einigen Ausführungsbeispielen können sowohl lokale als auch entfernte Systeme Peripheriegeräte zur Benutzerauthentifizierung benutzen. Beispielsweise können Smartcard-Lesegeräte lokal durch ein lokales System zu Benutzerauthentifizierungszwecken sowie durch entfernte Systeme zur Authentifizierung durch einen Fernzugriffsserver benutzt werden.
-
Entsprechend ist mit Bezug auf 1 ein Beispiel für eine Netzwerkumgebung 100 gemäß einem Ausführungsbeispiel der Offenbarung gezeigt. Bei einem Ausführungsbeispiel ist ein lokales System 102 dazu konfiguriert, mit einem entfernten System 104 zu kommunizieren. Bei dem dargestellten Ausführungsbeispiel ist das lokale System 102 ferner dazu konfiguriert, mit einem Netzwerk 106 zu kommunizieren. Ebenso kann das entfernte System 104 dazu konfiguriert sein, mit dem Netzwerk 106 zu kommunizieren, wodurch eine Kommunikation zwischen dem lokalen System 102 und dem entfernten System 104 ermöglicht wird. Das Netzwerk 106 kann beispielsweise jede Art von Netzwerkumgebung umfassen wie etwa das Internet, Intranets, lokale Netze, weite Netze (WANs = wide area networks), drahtlose Netze, zellulare Netze, Telefonnetze oder andere geeignete Netzwerke oder Kombinationen aus Netzwerken.
-
Das dargestellte lokale System 102 kann, wie erkennbar ist, einen Personal-Computer, eine Thin-Client-Rechenvorrichtung oder ein anderes Rechensystem umfassen. Das entfernte System 104 kann, wie erkennbar ist, einen Personal-Computer, einen Server, eine Authentifizierungsvorrichtung oder ein anderes Rechensystem umfassen. Bei einem Ausführungsbeispiel kann das lokale System 102 eine Thin-Client-Rechenvorrichtung umfassen, die dazu konfiguriert ist, auf Rechenressourcen, Speicherressourcen, Softwareressourcen und andere Ressourcen zuzugreifen, die in dem entfernten System 104 untergebracht oder für dasselbe verfügbar sind. Entsprechend können Benutzer der Netzwerkumgebung 100 von verschiedenen Standorten auf Ressourcen des entfernten Systems 104 zugreifen, und das entfernte System 104 kann Profilinformationen. Einstellungen und andere den Benutzer betreffende Daten führen, um einem Benutzer einen Zugriff auf Software-Anwendungen zu erlauben, die in dem entfernten System 104 untergebracht oder für dasselbe verfügbar sind. Auf diese Weise kann das entfernte System 104 verschiedenen Benutzern eine virtuelle Bildschirmarbeitsfläche (virtual desktop) zuweisen, die unabhängig von dem Standort des Benutzers übereinstimmend sein kann. Zusätzlich ermöglicht ein solches System Verwendung, Wartung und Austausch eines oder mehrerer lokaler Systeme 102, da Thin-Client-Vorrichtungen als lokale Systeme 102 mit von Benutzern erforderten erheblichen Rechenressourcen verwendet werden können, die auf dem entfernten System 104 residieren oder für dasselbe zugänglich sind. Eine solche Architektur kann abhängig von den Bedürfnissen eines Benutzers erhebliche Rechenressourcen für die lokalen Systeme 102 verfügbar machen, während sie gleichzeitig die Benutzung kostengünstiger Thin-Client-Vorrichtungen als lokaler Systeme 102 in der Netzwerkumgebung 100 ermöglicht.
-
Das lokale System 102 kann ferner ein Peripheriegerät umfassen, das, wie erkennbar, über universellen seriellen Bus (USB = universal serial bus), Ethernet, IEEE-1394, serielle und/oder parallele Anschlüsse oder andere Verbindungsstandards mit demselben verbunden sein kann. Bei einem Ausführungsbeispiel umfasst das Peripheriegerät ein Smartcard-Lesegerät 110, das dazu konfiguriert ist, auf eine Smartcard 112 zuzugreifen, dieselbe zu lesen und/oder auf dieselbe zu schreiben. Entsprechend kann das lokale System 102 bei einem Ausführungsbeispiel eine Smartcard 112 eines Benutzers über das Smartcard-Lesegerät 110 akzeptieren und auf dieselbe zugreifen, wobei die Smartcard 112 mit verschiedenen Informationen über den Benutzer codiert ist. Solche Informationen können umfassen, sind jedoch nicht begrenzt auf: einen Benutzerberechtigungsnachweis, einen Autorisierungs-Token, einen öffentlichen Schlüssel, einen privaten Schlüssel oder andere Authentifizierungs- oder Benutzerdaten, wie erkennbar ist. Datenverschlüsselung und/oder -entschlüsselung kann ebenfalls zum Speichern und/oder Extrahieren bestimmter Daten von der Smartcard 112 verwendet werden. Bei einem Ausführungsbeispiel kann die Smartcard 112 unverschlüsselte Daten sowie verschlüsselte Daten umfassen. Die unverschlüsselten Daten können weniger sensible Daten umfassen, etwa einen Benutzernamen, einen öffentlichen Schlüssel usw., während die verschlüsselten Daten sensiblere Daten umfassen können, etwa ein Passwort, einen Benutzerberechtigungsnachweis, einen privaten Schlüssel usw.
-
Entsprechend kann das Smartcard-Lesegerät 110 an das lokale System 102 anbinden und die Benutzung einer Smartcard 112 ermöglichen, um einen Benutzer für das lokale System 102 zu authentifizieren. Zusätzlich kann das Smartcard-Lesegerät 110 über das lokale System 102 und das Netzwerk 106 an das entfernte System 104 anbinden. Daher kann gemäß einem Ausführungsbeispiel der Offenbarung ein Smartcard-Lesegerät 110, auf das durch ein lokales System 102 zugegriffen wird, an das entfernte System 104 anbinden, um die Authentifizierung des Benutzers für das entfernte System 104 zu ermöglichen. Die oben genannte Funktionalität ist nur ein Beispiel für ein Ausführungsbeispiel gemäß der Offenbarung, da darauf hinzuweisen ist, dass jedes Peripheriegerät an das lokale System 102 sowie an das entfernte System 104 anbinden kann. Entsprechend können das lokale System 102 und das entfernte System 104 auf jede Art von Peripheriegerät zugreifen, das an das lokale System 102 gekoppelt ist.
-
Unter Bezugnahme auf 2 ist ein Beispiel für ein lokales System 102 gemäß einem Ausführungsbeispiel der Offenbarung gezeigt. 2 stellt ein lokales System 102 mit einem Speicher 124 und einem Prozessor 142 dar, der dazu konfiguriert ist, verschiedene Software-Komponenten auszuführen, um die Authentifizierung eines Benutzers zu ermöglichen, der eine Smartcard 112 verwendet, auf die durch ein Smartcard-Lesegerät 110 zugegriffen wird. Beispielsweise können der Speicher 124 und der Prozessor 142 mit einem Datenbus 125 kommunizieren, mit dem das Smartcard-Lesegerät 110 ebenfalls kommunizieren kann. Dementsprechend kann beim Einführen einer Smartcard 112 in das Smartcard-Lesegerät 110 durch das Smartcard-Lesegerät 110 ein Peripheriegerät-Ereignis generiert werden, das durch eine lokale Authentifizierungsmaschine 120 gehandhabt werden kann, die bei einem Ausführungsbeispiel in Speicher 124 gespeichert und durch den Prozessor 142 ausführbar ist. Das lokale System 102 führt die lokale Authentifizierungsmaschine 120 aus, um verschiedene Benutzerdaten von einer Smartcard 112 zu extrahieren, um einen Benutzer zu authentifizieren und/oder zu identifizieren, dem die Smartcard 112 gehört und/oder dem sie zugewiesen ist.
-
Bei einem Ausführungsbeispiel kann die lokale Authentifizierungsmaschine 120 des lokalen Systems 102 beim Einführen einer Smartcard 112 in das Smartcard-Lesegerät 110 den Benutzer authentifizieren und Zugriff auf das lokale System 102 bereitstellen. Mit anderen Worten, die lokale Authentifizierungsmaschine 120 kann Zugriff auf das lokale System 102 für einen Benutzer gewähren, wenn der Benutzer eine Smartcard besitzt, die darauf gespeicherte, korrekte Benutzerberechtigungsnachweise aufweist. Bei einem anderen Ausführungsbeispiel kann die lokale Authentifizierungsmaschine 120 einen Benutzer zur Eingabe zusätzlicher Authentifizierungsinformationen wie etwa eines Passwortes, einer persönlichen Identifikationsnummer oder anderer vom Benutzer bereitgestellter Authentifizierungsinformationen auffordern. Mit anderen Worten, die lokale Authentifizierungsmaschine 120 kann eine zusätzliche Sicherheitsschicht bereitstellen, indem ein Benutzer zur Eingabe von durch den Benutzer bereitgestellten Berechtigungsnachweisen aufgefordert wird, die mit den auf der Smartcard 112 gespeicherten Daten verifiziert werden können. Um das oben Genannte zu ermöglichen, bindet das Smartcard-Lesegerät 110 insofern an das lokale System 102 an, als es entweder exklusiv oder nicht-exklusiv für die lokale Authentifizierungsmaschine 120 des lokalen Systems 102 verfügbar ist.
-
Das lokale System 102 kann ferner einen Fernzugriffsklienten 116 ausführen, um eine Kommunikation zwischen dem lokalen System 102 und einem entfernten System 104 zu ermöglichen. Dementsprechend wird nun auf 3 Bezug genommen, die ein lokales System 102 in Kommunikation mit einem entfernten System 104 darstellt. Um die Kommunikation zwischen dem lokalen System 102 und dem entfernten System 104 zu ermöglichen, kann das lokale System 102 einen Fernzugriffsklienten 116 ausführen.
-
Ebenso kann das entfernte System 104 einen Fernzugriffsserver 132 ausführen, der dazu konfiguriert ist, mit dem Fernzugriffsklienten 116 zu kommunizieren, um eine solche Funktionalität zu ermöglichen. Das lokale System 102 und/oder entfernte System 104 kann eine Fernsitzung 121 für einen Benutzer einrichten, der über das lokale System 102 Zugriff auf das entfernte System 104 erhalten möchte. Die Fernsitzung 121 kann verschiedene Benutzerprofilinformationen, Einstellungen und andere Daten umfassen, die eine virtuelle Bildschirmarbeitsflächen- und/oder Fernzugriffsfunktionalität für verschiedene Benutzer bereitstellt, wie oben mit Bezug auf 1 angegeben.
-
Bei einem Ausführungsbeispiel kann beim Einführen einer Smartcard 112 in das Smartcard-Lesegerät 110 des lokalen Systems 102 das Smartcard-Lesegerät 110 ein Ereignis auslösen, das durch den Fernzugriffsklienten 116 gehandhabt werden kann. Dementsprechend kann der Fernzugriffsklient 116 eine Fernperipheriesitzung 128 einrichten, die einer für einen Benutzer eingerichteten Fernsitzung 121 entspricht, was es dem Fernzugriffsklienten 116 erlaubt, über das Smartcard-Lesegerät 110 Informationen von der Smartcard 112 zu extrahieren und/oder auf dieselben zuzugreifen, wie oben angegeben. Der Fernzugriffsklient 116 kann Daten bezüglich der Smartcard 112 und des Smartcard-Lesegerätes 110 in der Fernperipheriesitzung 128 und der Fernsitzung 121 an den Fernzugriffsserver 132 kommunizieren, der in einem Speicher 130 gespeichert ist und von einem Prozessor 143 ausgeführt wird.
-
Der Fernzugriffsserver 132 kann dementsprechend einen Server auf Basis einer Fernperipheriesitzung 133 in dem entfernten System 104 einrichten. Bei einem Ausführungsbeispiel kann die serverbasierte Fernperipheriesitzung 133 dem entfernten System 104 exklusiven Zugriff auf die Smartcard 112 und das Smartcard-Lesegerät 110 geben, wodurch das Smartcard-Lesegerät 110 von dem lokalen System 102 gelöst (entbunden) wird und das Smartcard-Lesegerät 110 an das entfernte System 104 angebunden (angeschlossen) wird. Beim Anbinden des Smartcard-Lesegerätes 110 an das entfernte System 104 kann eine Fernauthentifizierungsmaschine 134 auf der Smartcard 112 codierte Daten bezüglich eines Benutzers extrahieren, um den Benutzer zu authentifizieren. Bei einem Ausführungsbeispiel kann ein Benutzer eine Smartcard 112 dem lokalen System 102 vorlegen, das eine Fernsitzung 121 einrichten kann, die eine Fernperipheriesitzung 128 aufweist, um eine physikalische Sicherheitsschicht zu ermöglichen, die auf ein Software-Passwortauthentifizierungsschema aufgesetzt sein kann.
-
Entsprechend kann eine serverbasierte Fernperipheriesitzung 133 dem entfernten System 104 exklusiven Zugriff auf das Smartcard-Lesegerät 110 geben, und die Fernauthentifizierungsmaschine 134 kann die Berechtigungsnachweise eines Benutzers authentifizieren, die auf der Smartcard 112 gespeichert sein und von derselben extrahiert werden können. Die Fernauthentifizierungsmaschine 134 kann einen Benutzer auch über die Fernsitzung 121 und das lokale System 102 zur Eingabe zusätzlicher Authentifizierungsinformationen auffordern. Als nicht-begrenzendes Beispiel kann die Fernauthentifizierungsmaschine 134 von einem Benutzer eine persönliche Identifikationsnummer, ein Passwort und/oder andere Authentifizierungsdaten anfordern, die durch das lokale System 102 über eine Eingabevorrichtung empfangen und über das Netzwerk 106 an das entfernte System 104 gesendet werden können. Ein Benutzer kann die Fernsitzung 121 und/oder die Konnektivität zu dem entfernten System 104 beenden, wodurch nachfolgend das Smartcard-Lesegerät 110 von dem entfernten System 104 gelöst wird. Dementsprechend können die Smartcard 112 und das Smartcard-Lesegerät 110 bei Beendigung einer Fernsitzung 121 wieder an das lokale System 102 anbinden.
-
Bei einem anderen Ausführungsbeispiel kann das lokale System 102 einen Benutzer vor dem Einrichten einer Fernsitzung 121 und/oder einer Kommunikation mit dem entfernten System 104 lokal über die lokale Authentifizierungsmaschine 120 authentifizieren. Beim Einrichten einer Fernsitzung 121 kann das Smartcard-Lesegerät 110 sich von dem lokalen System 102 lösen und an das entfernte System 104 anbinden. Dementsprechend kann das entfernte System 104 dann Daten von der Smartcard 112 und dem Smartcard-Lesegerät 110 extrahieren und/oder auf dieselben zugreifen.
-
Es wird nun auf 4 Bezug genommen, die ein Beispiel für einen Prozess gemäß einem Ausführungsbeispiel der Offenbarung darstellt. Das Flussdiagramm aus 2 kann auch als ein Verfahren zur Fernperipherieanbindung angesehen werden. In Block 205 kann ein Benutzer einen Fernzugriffsklienten 116 (3) in einem lokalen System 102 (1) initiieren. In Block 210 schiebt der Benutzer eine Smartcard 112 (1) in ein Smartcard-Lesegerät 110 (1), führt dieselbe dort ein oder verschafft demselben anderweitig Zugriff darauf. In Block 215 wird das Smartcard-Lesegerät 110 als ein lokales Peripheriegerät des lokalen Systems 102 angeschlossen. In Block 220 empfängt die lokale Authentifizierungsmaschine 120 (3) eine Benachrichtigung über das Smartcard-Ereignis und kommuniziert mit dem lokal angeschlossenen Peripheriegerät, um Benutzerberechtigungsnachweise von der Smartcard 112 zu extrahieren. In Block 225 ermöglicht der Fernzugriffsklient 116 (3) eine Bestimmung eines Fernzugriffsservers 132 (3), mit dem sich der Benutzer verbinden kann, auf Basis der durch die Smartcard 112 zurückgegebenen Benutzerberechtigungsnachweise, einer durch den Benutzer eingegebenen Internetprotokolladresse oder anderer Daten, wie erkennbar ist.
-
In Block 235 richtet der Fernzugriffsklient 116 eine Verbindung zu dem Fernzugriffsserver ein. Die Verbindung kann eine anonyme Verbindung sein. In Block 240 löst der Fernzugriffsklient 116 das Smartcard-Lesegerät 110 von dem lokalen System 102. Zu diesem Zeitpunkt ist das Smartcard-Lesegerät nicht mehr zur Benutzung durch Software auf dem lokalen System 102 verfügbar, mit Ausnahme des Fernzugriffsklienten 116. Beispielsweise kann die lokale Authentifizierungsmaschine 120 nicht mehr auf das Smartcard-Lesegerät 110 zugreifen. In Block 245 bindet der Fernzugriffsklient 116 das lokal angeschlossene Smartcard-Lesegerät an den Fernzugriffsserver 132 an.
-
In Block 250 richtet der Fernzugriffsserver 132 eine serverbasierte Fernperipheriesitzung 133 (3) auf Basis einer für einen Benutzer erzeugten Fernsitzung 121 ein. Das Smartcard-Lesegerät 110 ist nun für den Fernzugriffsserver 132 und eine Fernauthentifizierungsmaschine 134 (3) verfügbar. Der Benutzer kann sich dann für den Fernzugriffsserver 132 authentifizieren. Wenn der Fernzugriffsserver 132 dazu konfiguriert ist, Smartcard-Authentifizierung zu benutzen, kann auf die Smartcard unter Benutzung der serverbasierten Fernperipheriesitzung 133 zugegriffen werden.
-
Wenn die Fernsitzung 121 beendet wird, wird das Smartcard-Lesegerät 110 von dem entfernten System 104 gelöst und an das lokale System 102 angebunden. Dementsprechend kann das Smartcard-Lesegerät 110 für nachfolgende erneute Verbindungen mit dem entfernten System 104 verfügbar sein. Entsprechend ist das Smartcard-Lesegerät 110 zur Benutzung durch das lokale System 102 verfügbar, da das entfernte System 104 seine Benutzung desselben freigegeben hat. Das obige Verfahren behandelt zwar als Beispiele die Benutzung von Smartcards, es sei jedoch darauf hingewiesen, dass die hier offenbarten Systeme und Verfahren für jedes Peripheriegerät gelten können, auf das ein lokales System 102 und ein entferntes System 104 Zugriff und/oder exklusiven Zugriff erfordern können.
-
Unter Bezugnahme auf 5 bietet das Flussdiagramm 300 ein Beispiel für ein Ausführungsbeispiel eines Verfahrens zur Fernperipherieanbindung gemäß der Offenbarung. In Block 310 empfängt das lokale System 102 (1) eine Smartcard 112 (1) in einem Smartcard-Lesegerät 110 (1). Bei Fehlen einer durch einen Fernzugriffsklienten 116 (1) eingerichteten Fernsitzung 121 in dem lokalen System 102 wird das Smartcard-Lesegerät 110 an das lokale System 102 angebunden. In Block 330 kann der Benutzer zur Eingabe einer persönlichen Identifikationsnummer (PIN) oder anderer Authentifizierungsinformationen aufgefordert werden. Ein Benutzer kann solche Authentifizierungsinformationen in dem lokalen System 102 über eine Eingabevorrichtung wie etwa eine Tastatur, Maus usw. eingeben. In Block 340 empfängt das lokale System 102 die PIN, und eine Fernsitzung 121 (3) wird eingerichtet. In Block 350 wird das Smartcard-Lesegerät von dem lokalen System gelöst, nachdem eine Verbindung zwischen einem Fernzugriffsklienten 116 (3) in dem lokalen System 102 und einem Fernzugriffsserver 132 (3) in dem entfernten System 104 (1) eingerichtet ist. In Block 360 wird das Smartcard-Lesegerät von dem lokalen System 102 gelöst und über den Fernzugriffsklienten 116 und den Fernzugriffsserver 132 an das entfernte System 104 angebunden, wodurch die Erzeugung einer serverbasierten Fernperipheriesitzung 133 in dem entfernten System 104 ermöglicht wird.
-
Exemplarische Ausführungsbeispiele von Verfahren der dynamischen Peripherieanbindung, wie sie hier offenbart sind, ermöglichen eine dynamische Anbindung von nicht-begrenzenden exemplarischen Smartcard-Lesegeräten 110 (1) an das lokale System 102 (1) und das entfernte System 104 (1), nachdem eine Verbindung zwischen dem lokalen System 102 und dem entfernten System 104 eingerichtet ist. Dies ermöglicht sowohl eine lokale als auch entfernte Benutzung von Peripheriegeräten wie etwa einem Smartcard-Lesegerät 110. Nunmehr unter Bezugnahme auf ein alternatives exemplarisches Ausführungsbeispiel einer Fernperipherieanbindung in 6 kann ein Benutzer auf ein lokales System 102 zugreifen und über das lokale System 102 weiteren Zugriff auf ein entferntes System 104 anfordern, indem er eine Smartcard 112 (1) in ein an das lokale System 102 angebundenes Smartcard-Lesegerät 110 einführt. In Block 410 empfängt das lokale System 102 die Smartcard.
-
In Block 430 extrahiert das lokale System 102 Benutzerberechtigungsnachweise von der Smartcard 112. Bei einem Ausführungsbeispiel kann ein Benutzername von der Smartcard 112 von einem unverschlüsselten Abschnitt der Smartcard-112-Daten extrahiert werden. Bei einem anderen Ausführungsbeispiel kann das lokale System 102 Benutzerberechtigungsnachweisdaten von der Smartcard 112 extrahieren und entschlüsseln. In Block 440 fragt der Fernzugriffsklient 116 (3) eine Datenbank ab, um ein entferntes System 104 (3) zu bestimmen, mit dem verbunden werden soll. Bei Bestimmung eines entfernten Systems 104, mit dem verbunden werden soll, kann das lokale System 102 eine Benutzerschnittstelle anzeigen, die einem Authentifizierungsbildschirm, einer virtuellen Bildschirmarbeitsfläche, Benutzerprofildaten, Benutzereinstellungen oder anderen Daten, wie erkennbar ist, aus dem entfernten System 104 entspricht.
-
Entsprechend kann der Fernzugriffsklient 116 eine Fernsitzung 121 (3) sowie eine Fernperipheriesitzung 128 erzeugen, wodurch das Smartcard-Lesegerät 110 von dem lokalen System 102 gelöst und das Smartcard-Lesegerät 110 an eine serverbasierte Fernperipheriesitzung 133 (3) in einem Fernzugriffsserver 132 (1) angebunden wird. Entsprechend kann die Fernauthentifizierungsmaschine 134 (3) Benutzerberechtigungsnachweisinformationen von der Smartcard 112 extrahieren. Die Fernauthentifizierungsmaschine 134 kann dann bewirken, dass der Fernzugriffsklient 116 ein oder mehrere Benutzerschnittstellenelemente generiert, die auf Basis von Benutzerberechtigungsnachweisinformationen, die von der Smartcard 112 extrahiert werden, Authentifizierungsinformationen (z. B. eine PIN, ein Passwort, eine Passphrase usw.) von einem Benutzer anfordern. In Block 450 kann der Benutzer Authentifizierungsinformationen wie etwa eine PIN eingeben, die durch das lokale System 102 empfangen werden. In Block 460 kann die Fernauthentifizierungsmaschine 134 bestimmen, ob die empfangene PIN mit Benutzerberechtigungsnachweisinformationen übereinstimmend ist, die zu Verifikationszwecken von der Smartcard 112 extrahiert werden.
-
In Block 470 greift die Fernauthentifizierungsmaschine 134 auf das Smartcard-Lesegerät 110 zu und entsperrt unter Benutzung der eingegebenen PIN die Smartcard 112, um auf ein auf der Smartcard 112 gespeichertes Sicherheitszertifikat zuzugreifen und/oder dasselbe zu extrahieren. Bei einem Ausführungsbeispiel kann das Entsperren kryptografisch auf Basis der eingegebenen PIN oder anderer Daten, wie erkennbar, durchgeführt werden. In Block 480 kann das lokale System 102 den Benutzer mit dem extrahierten Sicherheitszertifikat authentifizieren. Bei einem Ausführungsbeispiel kann die lokale Authentifizierungsmaschine den Benutzer beispielsweise durch Abfragen einer Aktives-Verzeichnis-Domänesteuerung (Active Directory Domain Controller) authentifizieren. Bei einem anderen Ausführungsbeispiel kann die lokale Authentifizierungsmaschine das Sicherheitszertifikat an das entfernte System 104 senden, das die Fernauthentifizierungsmaschine zur Benutzerauthentifizierung verwenden kann.
-
In Block 490 wird das Smartcard-Lesegerät 110 bei Authentifizierung eines Benutzers, wie oben angegeben, von dem entfernten System 104 gelöst, da das entfernte System 104 die serverbasierte Fernperipheriesitzung 133 beenden kann, und der Fernzugriffsklient kann die Fernperipheriesitzung 128 beenden, wodurch das Smartcard-Lesegerät 110 aus der exklusiven Benutzung freigegeben wird. In Block 495 bindet das Smartcard-Lesegerät 110 bei der Freigabe durch den Fernzugriffsklienten 116 und den Fernzugriffsserver 132 an das lokale System 102 an. Der Benutzer ist dann authentifiziert, um auf das lokale System 102 sowie auf Rechenressourcen des entfernten Systems 104 zuzugreifen.
-
Unter Bezugnahme auf 7 ist nun ein Beispiel für ein Verfahren gemäß einem Ausführungsbeispiel der Offenbarung gezeigt. Das Verfahren 500 illustriert ein Verhalten des lokalen Systems 102 und des entfernten Systems 104 beim Entfernen einer Smartcard 112 aus einem Smartcard-Lesegerät 110. Bei einem Ausführungsbeispiel kann ein Benutzer zum Beenden und/oder Aussetzen einer Fernsitzung 121 eine Smartcard 112 einfach aus einem Smartcard-Lesegerät 110 entfernen. Beim Erfassen des Entfernens der Smartcard in Block 510 kann das lokale System 102 dazu konfiguriert sein, als nicht-begrenzende Beispiele eines von Folgendem zu tun: 1) Sperren der Bildschirmarbeitsfläche des lokalen Systems 102 in Block 520; 2) Ausloggen des Benutzers aus der Bildschirmarbeitsfläche in Block 530 und 3) nichts tun. In Block 520 kann eine Fernsitzung 121, die einem Benutzer entspricht, in dem lokalen System 102 und/oder entfernten System 104 aufrechterhalten werden, jedoch kann das lokale System 102 und/oder das entfernte System 104 eine Authentifizierung erfordern, um einem Benutzer das Wiederaufnehmen der Fernsitzung 121 zu erlauben. In Block 530 kann eine Fernsitzung 121, die einem Benutzer entspricht, durch das lokale System 102 und/oder das entfernte System 104 beendet werden. Wenn die Fernsitzung 121 beendet wird, muss ein Benutzer eine neue Fernsitzung 121 einrichten, wie oben beschrieben.
-
Wenn das System dazu konfiguriert wurde, die Bildschirmarbeitsfläche eines lokalen Systems 102 ansprechend auf das Entfernen einer Smartcard 112 in Block 520 zu sperren, kann ein Benutzer dasselbe lokale System 102 benutzen oder auf ein anderes lokales System 102 zugreifen und seine Smartcard einführen. Ein Benutzer muss sich dann in Block 540 erneut authentifizieren. Dementsprechend kann das lokale System 102 die Bildschirmarbeitsfläche entsperren und die ausgesetzte Fernsitzung 121 wieder aufgenommen werden. Eine solche Funktionalität erlaubt es einem Benutzer, eine Bildschirmarbeitsfläche auf einem lokalen System 102 zu sperren, sich auf ein anderes lokales System 102 zu begeben, eine Smartcard 112 und/oder andere Authentifizierungsinformationen vorzulegen und dieselbe Fernsitzung 121 wieder aufzunehmen.
-
Wenn das System dazu konfiguriert wurde, sich in Block aus dem lokalen System 102 auszuloggen und die Fernsitzung 121 zu beenden, kann der Benutzer dasselbe lokale System 102 oder ein anderes lokales System 102 benutzen und seine Smartcard 112 und/oder andere Authentifizierungsinformationen vorlegen. Es kann demselben Prozess gefolgt werden wie zuvor beschrieben. Der Benutzer muss erneut authentifiziert werden und eine neue Fernsitzung 121 generiert werden.
-
Wenn das System dazu konfiguriert wurde, ansprechend auf das Entfernen einer Smartcard 112 nichts zu tun, kann der Benutzer zu einem anderen lokalen System 102 gehen und seine Smartcard 112 und/oder andere Authentifizierungsinformationen vorlegen. Auf einem anderen lokalen System 102 muss der Benutzer jedoch in Block 540 eine neue Fernsitzung 121 einrichten und sich für das lokale System 102 und/oder entfernte System 104 authentifizieren.
-
Die hier offenbarten Systeme und Verfahren zur dynamischen Peripherieanbindung beim Verbinden/Trennen erlauben ein dynamisches Anbinden von Peripheriegeräten wie etwa einem Smartcard-Lesegerät 110 (1) und anderen Plug-and-Play-Vorrichtungen von einem lokalen System 102 an ein entferntes System 104, nachdem eine Fernsitzung 121 (1) durch einen Benutzer eingerichtet wird. Dies erlaubt es, Peripheriegeräte sowohl lokal als auch dann entfernt zu benutzen, falls gewünscht.
-
Die hier offenbarten Ausführungsbeispiele können in Hardware, Software, Firmware oder einer Kombination daraus implementiert sein. Zumindest ein hier offenbartes Ausführungsbeispiel kann in Software und/oder Firmware implementiert sein, die in einem Speicher gespeichert ist und die durch ein geeignetes Anweisungsausführungssystem ausgeführt wird. Bei Implementierung in Hardware können eines oder mehrere der hier offenbarten Ausführungsbeispiele mit jeder der folgenden Technologien oder einer Kombination derselben implementiert sein: eine diskrete Logikschaltung(en) mit Logikgattern zum Implementieren von Logikfunktionen auf Datensignale hin, eine anwendungsspezifische integrierte Schaltung (ASIC = application specific integrated circuit) mit geeigneten kombinatorischen Logikgattern, ein programmierbare(s) Gatter-Array(s) (PGA = programmable gate array(s)), ein feldprogrammierbares Gatter-Array (FPGA = field programmable gate array) usw.
-
Die Peripheriegerätelogik kann in Speicher als Anweisungen residieren, die bei Ausführung durch eine Prozessoreinrichtung dynamische Fernperipherieanbindung beim Verbinden/Trennen implementieren. Die Prozessoreinrichtung kann beispielsweise, als nicht-begrenzende Beispiele, ein Mikroprozessor, ein Mikrocontroller, ein Netzwerkprozessor, ein Digitalsignalprozessor, ein rekonfigurierbarer Prozessor oder ein erweiterbarer Prozessor sein.
-
Alternativ kann die Peripheriegerätelogik in Hardware implementiert sein, einschließlich, jedoch nicht begrenzt auf eine programmierbare Logikvorrichtung (PLD = programmable logic device), ein programmierbares Gatter-Array (PGA), ein feldprogrammierbares Gatter-Array (FPGA), eine anwendungsspezifische integrierte Schaltung (ASIC), ein System auf Chip (SoC = system on chip) und ein System im Gehäuse (SiP = system in package). Außerdem kann die Peripheriegerätelogik als eine Kombination aus Prozessorausfürbarer Software und Hardwarelogik implementiert sein.
-
Die hier enthaltenen Flussdiagramme zeigen die Architektur, Funktionalität und den Betrieb einer möglichen Implementierung von Software. In dieser Hinsicht ist jeder Block als repräsentativ für ein Softwaremodul, -segment oder einen Teil von Code interpretierbar, der bzw. das eine oder mehrere ausführbare Anweisungen zum Implementieren der spezifizierten logischen Funktion(en) aufweist. Außerdem sei darauf hingewiesen, dass in einigen alternativen Implementierungen die in den Blöcken angegebenen Funktionen außerhalb der Reihenfolge und/oder gar nicht auftreten können. Beispielsweise können zwei aufeinanderfolgend gezeigte Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal in umgekehrter Reihenfolge ausgeführt werden, abhängig von der damit verbundenen Funktionalität.
-
Jedes der hier aufgelisteten Programme, die eine geordnete Auflistung ausführbarer Anweisungen zum Implementieren logischer Funktionen umfassen können, kann in jedem computerlesbaren Medium zur Benutzung durch oder in Verbindung mit einem Anweisungsausführungssystem, einer Vorrichtung oder Einrichtung wie etwa einem computerbasierten System, einem Prozessoren enthaltenden System oder einem anderen System ausgeführt sein, das die Anweisungen von dem Anweisungsausführungssystem, der Vorrichtung oder Einrichtung abrufen kann und die Anweisungen ausführen kann. In dem Zusammenhang dieses Dokumentes kann ein ”computerlesbares Medium” jede Einrichtung sein, die das Programm zur Benutzung durch oder in Verbindung mit dem Anweisungsausführungssystem, der Vorrichtung oder Einrichtung enthalten oder speichern kann. Das computerlesbare Medium kann beispielsweise ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleiterspeichersystem, eine solche Vorrichtung oder Einrichtung sein, ist jedoch nicht darauf begrenzt. Spezifischere Beispiele (eine unvollständige Liste) des computerlesbaren Mediums könnten, wie erkennbar ist, eine tragbare Computerdiskette (magnetisch), ein Direktzugriffspeicher (RAM = random access memory) (elektronisch), ein Nur-Lese-Speicher (ROM = read-only memory) (elektronisch), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM = erasable read-only memory oder Flash-Speicher) (elektronisch), ein tragbarer CD-Nur-Lese-Speicher (CDROM = compact disc read-only memory) (optisch), ein DVD-Nur-Lese-Speicher (DVD-ROM = digital versatile disc read-only memory) und andere Speichermedien sein. Zusätzlich kann der Umfang der besonderen Ausführungsbeispiele dieser Offenbarung eine Ausführung der beschriebenen Funktionalität in Logik umfassen, die in Hardware- oder Software-konfigurierten Medien ausgeführt ist.
-
Außerdem sei darauf hingewiesen, dass konditionelle Sprache wie etwa, unter anderem, ”kann/können” oder ”könnte/könnten”, sofern nicht ausdrücklich anders angegeben oder innerhalb des Kontextes, wie benutzt, anders verstanden, generell vermitteln soll, dass bestimmte Ausführungsbeispiele bestimmte Merkmale, Elemente und/oder Schritte umfassen, während andere Ausführungsbeispiele dieselben nicht umfassen. Somit soll solche konditionelle Sprache generell nicht implizieren, dass Merkmale, Elemente und/oder Schritte für ein oder mehrere besondere Ausführungsbeispiele in irgendeiner Weise erforderlich sind oder dass ein oder mehrere besondere Ausführungsbeispiele notwendigerweise Logik umfassen, um mit oder ohne Benutzereingaben oder -eingabeaufforderung zu entscheiden, ob diese Merkmale, Elemente und/oder Schritte bei einem besonderen Ausführungsbeispiel enthalten sind oder auszuführen sind.
-
Es ist zu betonen, dass die oben beschriebenen Ausführungsbeispiele lediglich mögliche Beispiele für Implementierungen sind, die lediglich zum klaren Verständnis der Prinzipien dieser Offenbarung dargelegt werden. Viele Variationen und Modifikationen können an dem bzw. den oben beschriebenen Ausführungsbeispiel(en) vorgenommen werden, ohne wesentlich von dem Gedanken und den Prinzipien der Offenbarung abzuweichen. Es ist beabsichtigt, dass hierin alle solchen Modifikationen und Variationen innerhalb des Umfangs dieser Offenbarung enthalten sind.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-