-
HINTERGRUND DER ERFINDUNG
-
Die vorliegende Erfindung betrifft allgemein das Gebiet der Sicherheit und insbesondere ein Verwalten von gemeinsam genutzten Authentifizierungsnachweisen.
-
Secure Shell (SSH) ist ein verschlüsseltes Netzprotokoll, um Netzservices sicher über ein nicht gesichertes Netzwerk zu betreiben. Zu typischen Anwendungen gehören Fernbefehlszeile, Anmelden und Fernbefehl-Ausführung, jedoch kann ein beliebiger Netzservice mit SSH gesichert werden. SSH stellt einen sicheren Kanal über ein nicht gesichertes Netzwerk bereit, indem eine Client-Server-Architektur verwendet wird, die eine SSH-Clientanwendung mit einem SSH-Server verbindet. SSH wird üblicherweise zur Anmeldung an einer fernen Maschine und zum Ausführen von Befehlen verwendet, jedoch unterstützt SSH auch Tunneling, ein Weiterleiten von Transmission-Control-Protocol-(TCP)Ports und Xll-Verbindungen. Ferner kann SSH Dateien unter Verwendung des zugehörigen SSH File Transfer (SFTP) Protocol oder des Secure Copy (SCP) Protocol übertragen. SSH ist ein Protokoll, das für viele verschiedene Arten von Anwendungen über verschiedene Plattformen (z.B. verschiedene Betriebssysteme) hinweg verwendet werden kann.
-
Eine Medienzugriffssteuerungsadresse (MAC-Adresse) ist eine einem Netzschnittstellencontroller (NIC) zugewiesene eindeutige Kennung zur Verwendung als Netzadresse in Übertragungen innerhalb eines Netzsegments. Diese Verwendung ist bei den meisten IEEE-802-Netztechnologien üblich, darunter Ethernet, Wi-Fi und Bluetooth. Innerhalb des Open Systems Interconnection-(OSI-)Netzmodells werden MAC-Adressen in der MAC-Protokoll-Unterschicht der Datenübertragungsschicht verwendet. Wie üblicherweise dargestellt, sind MAC-Adressen als sechs Gruppen von zwei Hexadezimalziffern, getrennt durch Bindestriche, Doppelpunkte oder ohne Trennzeichen, erkennbar. MAC-Adressen werden hauptsächlich von Geräteherstellern zugewiesen und daher oftmals als die eingravierte Adresse oder als eine Ethernet-Hardwareadresse, Hardwareadresse oder physische Adresse bezeichnet. Jede Adresse kann in Hardware, wie beispielsweise dem Nur-Lese-Speicher der Karte, oder durch einen Firmware-Mechanismus gespeichert werden.
-
KURZDARSTELLUNG
-
Aspekte der vorliegenden Erfindung offenbaren ein Verfahren, ein Computerprogrammprodukt und ein System zur Verwaltung und Nutzung von gemeinsam genutzten Authentifizierungsnachweisen. Das Verfahren umfasst ein Aktualisieren, durch einen oder mehrere Prozessoren, von zu einem Authentifizierungsnachweis gehörenden Nutzungsinformationen mit einer Medienzugriffssteuerungsadresse (MAC-Adresse), die einer Datenverarbeitungseinheit entspricht, welche einem Verwenden des Authentifizierungsnachweises entspricht. Das Verfahren umfasst des Weiteren ein Empfangen, durch einen oder mehrere Prozessoren, einer Anmeldeanforderung, die den Authentifizierungsnachweis umfasst, von einer Datenverarbeitungseinheit. Das Verfahren umfasst des Weiteren ein Abrufen, durch einen oder mehrere Prozessoren, einer MAC-Adresse der Datenverarbeitungseinheit, die die Anmeldeanforderung gesendet hat. Das Verfahren umfasst des Weiteren ein Überprüfen, durch einen oder mehrere Prozessoren, der Authentifizierungsnachweise und der MAC-Adresse.
-
Figurenliste
-
- 1 ist eine Funktionsübersicht einer Datenverarbeitungsumgebung gemäß einer Ausführungsform der vorliegenden Erfindung.
- 2 ist ein Ablaufplan, der Prozessschritte eines Programms zum Verwalten und Überwachen der Nutzung von gemeinsam genutzten Authentifizierungsnachweisen gemäß Ausführungsformen der vorliegenden Erfindung darstellt.
- 3 ist ein Ablaufplan, der Prozessschritte eines Programms zum Überprüfen von Authentifizierungsnachweisen gemäß Ausführungsformen der vorliegenden Erfindung darstellt.
- 4 stellt ein Blockschaubild von Komponenten eines Datenverarbeitungssystems gemäß einer Ausführungsform der vorliegenden Erfindung dar, die stellvertretend für die Client-Einheiten, ein System zur Verwaltung von gemeinsam genutzten IDs und das Authentifizierungssystem von 1 stehen.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Ausführungsformen der vorliegenden Erfindung ermöglichen einen Prozess, der die Funktionalität der Nutzung von gemeinsam genutzten Authentifizierungsnachweisen (z.B. gemeinsam genutzten Identifikations-(ID-)Berechtigungsnachweisen und Kennwörtern), insbesondere in einer Informationstechnologie-(IT-)Infrastrukturumgebung erweitert. Folglich werden Ausführungsformen der vorliegenden Erfindung betrieben, um die Funktionalität von vorhandenen Tools und Systemen zu erweitern, indem eine Technologielösung geschaffen wird, um zu vermeiden, dass Kennwörter gemeinsam genutzt werden, um ein vollständiger ausgeführtes System für gemeinsam genutzte Authentifizierungsnachweise zu umgehen. Ausführungsformen der vorliegenden Erfindung werden betrieben, um die Medienzugriffssteuerungsadresse (MAC-Adresse) einer Einheit eines anfordernden Benutzers in den Prozess des Auscheckens und Eincheckens von Authentifizierungsnachweisen einzubinden.
-
Einige Ausführungsformen der vorliegenden Erfindung erkennen, dass gemeinsam genutzte Authentifizierungsnachweise ein Standardmerkmal von IT-Infrastruktur sind und verwendet werden, um eine gemeinsame Identität für eine Gruppe von Benutzern bereitzustellen, die eine bestimmte Gruppe von Aufgaben durchführt. Ausführungsformen der vorliegenden Erfindung erkennen, dass aktuelle Ausführungen von gemeinsam genutzten Authentifizierungsnachweisen einige Probleme aufweisen, wie beispielsweise: Überwachen der Nachvollziehbarkeit, welcher Benutzer einen gemeinsam genutzten Authentifizierungsnachweis für eine bestimmte Operation verwendet hat, Compliance-Verstöße aus der gemeinsamen Nutzung von Kennwörtern für gemeinsam genutzte IDs, möglicher Missbrauch von gemeinsam genutzten Authentifizierungsnachweisen (z.B. Sicherheitsverstöße usw.), Überprüfungsrisiko und -komplexität usw.
-
Ferner erkennen Ausführungsformen der vorliegenden Erfindung, dass vorhandene Konzepte für Services für gemeinsam genutzte Authentifizierungsnachweise Check-out- und Check-in-Prozesse verwenden, um eine individuelle Nachvollziehbarkeit aufrechtzuerhalten, und dass die Benutzer, die den gemeinsam genutzten Authentifizierungsnachweisen entsprechen, die Check-out- und Check-in-Prozesse strikt befolgen sollten, um die Sicherheit und Nachvollziehbarkeit des Nutzungsprotokolls der gemeinsam genutzten Authentifizierungsnachweise aufrechtzuerhalten. Folglich erkennen Ausführungsformen der vorliegenden Erfindung, dass die vorhandenen Konzepte für das Tool für gemeinsam genutzte Authentifizierungsnachweise viele Bereiche für mögliche Lecks aufweisen. Zum Beispiel kann ein Kennwort nach dem Check-out von einem Benutzer an eine andere Einzelperson freigegeben werden, wobei der ganze Check-out- und Check-in-Prozess umgangen wird.
-
Auch erkennen Ausführungsformen der vorliegenden Erfindung, dass, wenn ein Benutzer einen Berechtigungsnachweis nach der Verwendung nicht richtig eincheckt (und z.B. ein entsprechendes Kennwort ändert), die gemeinsam genutzten Authentifizierungsnachweise für einen möglichen Missbrauch verfügbar bleiben können. Des Weiteren erkennen Ausführungsformen der vorliegenden Erfindung, dass aktuelle Ausführungen manuelle Prozesse für Compliance verwenden (z.B. über Compliance-Teams), um eine Nutzung von gemeinsam genutzten Authentifizierungsnachweisen in dem Bestreben zu kontrollieren, sicherzustellen, dass der ordnungsgemäße Prozess befolgt wird.
-
Verschiedene Ausführungsformen der vorliegenden Erfindung werden betrieben, um die durch vorhandene Tools für gemeinsam genutzte Authentifizierungsnachweise bereitgestellte Funktionalität zu erweitern, um eine Technologielösung zum Ausführen von gemeinsam genutzten Authentifizierungsnachweisen zu schaffen, während vermieden wird, dass Kennwörter gemeinsam genutzt werden, indem das System für gemeinsam genutzte Authentifizierungsnachweise umgangen wird. Ausführungsformen der vorliegenden Erfindung stellen einen Check-out-Prozess bereit, der ein Empfangen eines neuen Kennworts umfasst. Der Vorgang des Empfangens des neuen Kennworts verlinkt (bindet) die MAC-Adresse des Systems, das die Anforderung für Authentifizierungsnachweise bereitstellt, und aktualisiert einen entsprechenden Datensatz eines Servers oder einer Datenbank mit einer Angabe der verlinkten MAC-Adresse für die Berechtigungsnachweise. Des Weiteren ändern Ausführungsformen der vorliegenden Erfindung das Anmeldescript oder das entsprechende Secure-Shell-(SSH-)Protokoll so, dass es eine Einstellung für ein Abgleichen der MAR-Adresse umfasst, bevor der gemeinsam genutzte Authentifizierungsnachweis als eine gültige Anmeldung genehmigt wird.
-
Folglich verwenden Ausführungsformen der vorliegenden Erfindung die MAC-Adresse des entsprechenden Systems als einen weiteren Authentifizierungsfaktor in Kombination mit den Authentifizierungsnachweisen. Daher ist eine Anmeldung erfolgreich, wenn die MAC-Adresse der Einheit, welche die Anmeldung durchführt, mit der MAC-Adresse übereinstimmt, die mit den Authentifizierungsnachweisen verlinkt ist (d.h. der MAC-Adresse des Systems/der Einheit, das bzw. die die Authentifizierungsnachweise ausgecheckt hat). Nach der Nutzung checkt der Benutzer den gemeinsam genutzten Authentifizierungsnachweis ein, und Ausführungsformen der vorliegenden Erfindung können so betrieben werden, dass sie das Kennwort des gemeinsam genutzten Authentifizierungsnachweises aktualisieren, was die Möglichkeit einer Nutzung durch andere Einzelpersonen (ohne auszuchecken) verringert. Ferner können Ausführungsformen der vorliegenden Erfindung die zu den gemeinsam genutzten Authentifizierungsnachweisen gehörende MAC-Adresse aufrechterhalten, bis ein(e) weitere(r) Benutzer (und Einheit) einen Check-out abschließt.
-
Eine Ausführung von Ausführungsformen der Erfindung kann eine Vielfalt an Formen annehmen und beispielhafte Ausführungsdetails werden anschließend unter Bezugnahme auf die Figuren erläutert.
-
Die vorliegende Erfindung wird nun unter Bezugnahme auf die Figuren ausführlich beschrieben. 1 ist eine Funktionsübersicht, die eine mit 100 allgemein bezeichnete verteilte Datenverarbeitungsumgebung gemäß einer einzelnen Ausführungsform der vorliegenden Erfindung veranschaulicht. 1 veranschaulicht lediglich eine einzelne Ausführung und bedeutet keine Einschränkungen in Bezug auf die Umgebungen, in denen verschiedene Ausführungsformen ausgeführt werden können. Viele Änderungen an der dargestellten Umgebung können vom Fachmann vorgenommen werden, ohne vom Umfang der Erfindung, wie von den Ansprüchen angegeben, abzuweichen.
-
Eine Ausführungsform der Datenverarbeitungsumgebung 100 umfasst eine Client-Einheit 110, eine Client-Einheit 120, ein System 130 zur Verwaltung von gemeinsam genutzten IDs und ein Authentifizierungssystem 140, die alle über ein Netzwerk 105 verbunden sind. In einer beispielhaften Ausführungsform steht das System 130 zur Verwaltung von gemeinsam genutzten IDs stellvertretend für ein Datenverarbeitungssystem (z.B. einen oder mehrere Verwaltungsserver), das gemeinsam genutzte Authentifizierungsnachweise für eine Gruppe von Benutzern (z.B. eine Gruppe von Benutzern, die zu einem Unternehmen gehören), wie beispielsweise zu der Client-Einheit 110 und der Client-Einheit 120 gehörende Benutzer, verwaltet. In einer weiteren beispielhaften Ausführungsform steht das Authentifizierungssystem 140 stellvertretend für ein Datenverarbeitungssystem (z.B. einen oder mehrere Verwaltungsserver), das einer geschützten Ressource und/oder einem geschützten Asset, Benutzern, die gemeinsam genutzte Authentifizierungsnachweise von dem System 130 zur Verwaltung von gemeinsam genutzten IDs verwenden (z.B. Benutzern, die zu der Client-Einheit 110 und der Client-Einheit 120 gehören), Authentifizierungsservices bereitstellt. In weiteren Ausführungsformen kann die Datenverarbeitungsumgebung 100 zusätzliche Instanzen von Datenverarbeitungseinheiten (nicht gezeigt) umfassen, die gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung mit dem System 130 zur Verwaltung von gemeinsam genutzten IDs und dem Authentifizierungssystem 140 über eine Schnittstelle verbunden sein können.
-
Das Netzwerk 105 kann zum Beispiel ein lokales Netz (LAN, local area network), ein Telekommunikationsnetz, ein Weitverkehrsnetz (WAN, wide area network), wie beispielsweise das Internet, oder eine beliebige Kombination der drei sein und drahtgebundene, drahtlose oder Lichtwellenleiterverbindungen umfassen. Im Allgemeinen kann es sich bei dem Netzwerk 105 um eine beliebige Kombination aus Verbindungen und Protokollen handeln, die Übertragungen zwischen der Client-Einheit 110, der Client-Einheit 120, dem System 130 zur Verwaltung von gemeinsam genutzten IDs und dem Authentifizierungssystem 140 gemäß Ausführungsformen der vorliegenden Erfindung unterstützt. In verschiedenen Ausführungsformen vereinfacht das Netzwerk 105 eine Übertragung unter einer Mehrzahl von vernetzten Datenverarbeitungseinheiten (z.B. der Client-Einheit 110, der Client-Einheit 120, dem System 130 zur Verwaltung von gemeinsam genutzten IDs, dem Authentifizierungssystem 140 und weiteren, nicht gezeigten Einheiten), entsprechenden Benutzern (z.B. Benutzern der Client-Einheit 110, der Client-Einheit 120 usw.) und entsprechenden Verwaltungsservices (z.B. dem System 130 zur Verwaltung von gemeinsam genutzten IDs und dem Authentifizierungssystem 140 usw.).
-
In verschiedenen Ausführungsformen der vorliegenden Erfindung kann es sich bei der Client-Einheit 110 und der Client-Einheit 120 gemäß Ausführungsformen der vorliegenden Erfindung um eine Workstation, einen Personal Computer, einen elektronischen Assistenten (PDA, personal digital assistant), ein Mobiltelefon oder eine beliebige andere Einheit handeln, die durch einen Computer lesbare Programmanweisungen ausführen kann. Im Allgemeinen stehen die Client-Einheit 110 und die Client-Einheit 120 stellvertretend für ein beliebiges elektronisches Gerät oder eine Kombination aus elektronischen Geräten, die durch einen Computer lesbare Programmanweisungen ausführen können. Die Client-Einheit 110 und die Client-Einheit 120 können gemäß Ausführungsformen der vorliegenden Erfindung Komponenten umfassen, wie unter Bezugnahme auf 4 dargestellt und ausführlicher beschrieben ist.
-
In einer beispielhaften Ausführungsform handelt es sich bei der Client-Einheit 110 und der Client-Einheit 120 um eine jeweilige persönliche Workstation oder eine mobile Einheit, die zu einem jeweiligen Benutzer gehört (die z.B. auf einen jeweiligen Benutzer eingetragen ist und/oder durch einen jeweiligen Benutzer verwendet wird), der einen oder mehrere gemeinsam genutzte Authentifizierungsnachweise verwendet, die durch das System 130 zur Verwaltung von gemeinsam genutzten IDs verwaltet werden. In einem Beispiel fordert ein Benutzer der Client-Einheit 110 eine Verwendung (d.h. Check-out) eines gemeinsam genutzten Authentifizierungsnachweises von dem System 130 zur Verwaltung von gemeinsam genutzten IDs an. Des Weiteren verwendet der Benutzer der Client-Einheit 110 in diesem Beispiel den ausgecheckten Authentifizierungsnachweis, um zu versuchen, auf ein geschütztes Asset oder eine geschützte Ressource zuzugreifen, das bzw. die durch das Authentifizierungssystem 140 verwaltet wird. Folglich kann der Benutzer der Client-Einheit 120 gemäß Ausführungsformen der vorliegenden Erfindung den ausgecheckten Authentifizierungsnachweis erst verwenden, wenn der Benutzer der Client-Einheit 110 den Berechtigungsnachweis an das System 130 zur Verwaltung von gemeinsam genutzten IDs zurückgibt.
-
Die Client-Einheit 110 und die Client-Einheit 120 umfassen jeweilige Instanzen einer Benutzerschnittstelle 112, einer Benutzerschnittstelle 122, einer Anwendung 114 und einer Anwendung 124. Bei der Benutzerschnittstelle 112 und der Benutzerschnittstelle 122 handelt es sich um Programme, die eine Schnittstelle zwischen einem jeweiligen Benutzer der Client-Einheit 110 und der Client-Einheit 120 und einer Mehrzahl von Anwendungen, die sich auf der Einheit befinden (z.B. der Anwendung 114 und der Anwendung 124), bereitstellen. Eine Benutzerschnittstelle wie beispielsweise die Benutzerschnittstelle 112 oder die Benutzerschnittstelle 122 bezieht sich auf die Informationen (wie beispielsweise Grafik, Text und Ton), die ein Programm einem Benutzer übergibt, und auf die Steuersequenzen, die der Benutzer zur Steuerung des Programms nutzt. Es gibt eine Vielfalt an Arten von Benutzerschnittstellen. In einer einzelnen Ausführungsform ist die Benutzerschnittstelle 112 und/oder die Benutzerschnittstelle 122 eine grafische Benutzeroberfläche. Bei einer grafischen Benutzeroberfläche (GUI) handelt es sich um eine Art von Benutzerschnittstelle, die es Benutzern ermöglicht, mit elektronischen Geräten, wie beispielsweise einer Computertastatur und -maus, durch grafische Symbole und visuelle Indikatoren, wie beispielsweise sekundäre Notation, im Gegensatz zu textbasierten Schnittstellen, über eine Tastatur eingegebenen Befehlsbezeichnungen oder Textnavigation, zu interagieren. In der Datenverarbeitung wurden GUIs als Reaktion auf die wahrgenommene steile Lernkurve von Befehlszeilenschnittstellen eingeführt, bei denen Befehle auf der Tastatur eingegeben werden müssen. Die Aktionen in GUIs werden oftmals durch direkte Manipulation der Grafikelemente durchgeführt. In einer weiteren Ausführungsform handelt es sich bei der Benutzerschnittstelle 112 und/oder der Benutzerschnittstelle 122 um ein Script oder eine Anwendungsprogrammierschnittstelle (API).
-
Die Anwendung 114 und die Anwendung 124 können stellvertretend für eine oder mehrere Anwendungen (z.B. ein Anwendungspaket) stehen, die Operationen auf jeweiligen Instanzen der Client-Einheit 110 und der Client-Einheit 120 durchführen. In verschiedenen beispielhaften Ausführungsformen kann es sich bei der Anwendung 114 und der Anwendung 124 um eine Anwendung handeln, die ein Benutzer der Client-Einheit 110 oder der Client-Einheit 120 verwendet, um Daten von dem System 130 zur Verwaltung von gemeinsam genutzten IDs und dem Authentifizierungssystem 140 zu senden und/oder zu empfangen. Zum Beispiel kann es sich bei der Anwendung 114 und der Anwendung 124 um einen Webbrowser handeln, auf den der Benutzer der Client-Einheit 110 oder der Client-Einheit 120 zugreifen und den er verwenden kann.
-
In einem weiteren Beispiel sind die Anwendung 114 und die Anwendung 124 unternehmensspezifische Anwendungen, die zu dem System 130 zur Verwaltung von gemeinsam genutzten IDs, dem Authentifizierungssystem 140 und/oder der entsprechenden Organisation gehören. In einem zusätzlichen Beispiel sind die Anwendung 114 und die Anwendung 124 Anwendungen, die einem Zugreifen auf ein(e) bestimmte(s) geschützte(s) Ressource oder Asset entsprechen, die bzw. das durch das Authentifizierungssystem 140 (eine bestimmte Anwendung für ein gesichertes Asset) geschützt ist. In zusätzlichen Ausführungsformen können die Anwendung 114 und die Anwendung 124 Daten an ein Verwaltungsprogramm 200 auf dem System 130 zur Verwaltung von gemeinsam genutzten IDs (z.B. als eine clientseitige Anwendung zum Testen des Programms 200) und an ein Authentifizierungsprogramm 300 auf dem Authentifizierungssystem 140 (z.B. als eine clientseitige Anwendung des Authentifizierungsprogramms 300) gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung senden bzw. von diesen empfangen.
-
In beispielhaften Ausführungsformen kann es sich bei dem System 130 zur Verwaltung von gemeinsam genutzten IDs um einen Desktop-Computer, einen Computerserver oder um beliebige andere, in der Technik bekannte Computersysteme handeln. In bestimmten Ausführungsformen stellt das System 130 zur Verwaltung von gemeinsam genutzten IDs Computersysteme dar, die Clustercomputer und -komponenten (z.B. Datenbankserver-Computer, Anwendungsserver-Computer usw.) verwenden, welche als ein einzelner Pool von nahtlosen Ressourcen dienen, wenn durch Elemente der Datenverarbeitungsumgebung 100 (z.B. die Client-Einheit 110, die Client-Einheit 120, das Authentifizierungssystem 140 und weitere, nicht gezeigte Einheiten) darauf zugegriffen wird. Im Allgemeinen steht das System 130 zur Verwaltung von gemeinsam genutzten IDs stellvertretend für ein beliebiges elektronisches Gerät oder eine Kombination aus elektronischen Geräten, die durch einen Computer lesbare Programmanweisungen ausführen können. Das System 130 zur Verwaltung von gemeinsam genutzten IDs kann gemäß Ausführungsformen der vorliegenden Erfindung Komponenten umfassen, wie unter Bezugnahme auf 4 dargestellt und ausführlicher beschrieben ist.
-
Das System 130 zur Verwaltung von gemeinsam genutzten IDs umfasst einen Vault 132 für gemeinsam genutzte Berechtigungsnachweise und das Verwaltungsprogramm 200. In verschiedenen Ausführungsformen wird das System 130 zur Verwaltung von gemeinsam genutzten IDs gemäß verschiedenen Aspekten der vorliegenden Erfindung als ein Datenverarbeitungssystem betrieben, das gemeinsam genutzte Authentifizierungsnachweise für eine Gruppe von Benutzern (z.B. eine Gruppe von Benutzern, die zu einem Unternehmen gehören), wie beispielsweise zu der Client-Einheit 110 und der Client-Einheit 120 gehörende Benutzer, verwaltet. In einer einzelnen Ausführungsform stellt das System 130 zur Verwaltung von gemeinsam genutzten IDs gemäß Ausführungsformen der vorliegenden Erfindung einen verbesserten Prozess zum Auschecken und Einchecken von gemeinsam genutzten Authentifizierungsnachweisen bereit.
-
In verschiedenen Ausführungsformen speichert das System 130 zur Verwaltung von gemeinsam genutzten IDs eine Mehrzahl von gemeinsam genutzten Authentifizierungsnachweisen in dem Vault 132 für gemeinsam genutzte Berechtigungsnachweise. In zusätzlichen Ausführungsformen speichert der Vault 132 für gemeinsam genutzte Berechtigungsnachweise auch Nutzungsinformationen, die gemeinsam genutzten Authentifizierungsnachweisen entsprechen (z.B. Check-out- und Check-in-Verlauf usw.). Zum Beispiel speichert der Vault 132 für gemeinsam genutzte Berechtigungsnachweise einen Verlauf, welche Benutzer bestimmte gemeinsam genutzte Authentifizierungsnachweise, entsprechende MAC-Adressen usw. verwendet haben. In zusätzlichen beispielhaften Ausführungsformen verwendet das Verwaltungsprogramm 200 den Vault 132 für gemeinsam genutzte Berechtigungsnachweise, um laufende (und abgeschlossene) Zuordnungen und Zuweisungen (d.h. Auschecken) von gemeinsam genutzten Authentifizierungsnachweisen zu überwachen.
-
Der Vault 132 für gemeinsam genutzte Berechtigungsnachweise kann mit einer beliebigen Art von Speichereinheit, zum Beispiel einem persistenten Speicher 405, ausgeführt sein, die Daten speichern kann, auf die durch das System 130 zur Verwaltung von gemeinsam genutzten IDs zugegriffen werden kann und die von diesem System verwendet werden können, wie beispielsweise einem Datenbankserver, einem Festplattenlaufwerk oder einem Flashspeicher. In weiteren Ausführungsformen kann der Vault 132 für gemeinsam genutzte Berechtigungsnachweise mehrere Speichereinheiten und Datensammlungen innerhalb des Systems 130 zur Verwaltung von gemeinsam genutzten IDs darstellen.
-
In beispielhaften Ausführungsformen verwaltet und überwacht das Verwaltungsprogramm 200 die Nutzung von gemeinsam genutzten Authentifizierungsnachweisen gemäß Ausführungsformen der vorliegenden Erfindung. In verschiedenen Ausführungsformen verwaltet das Verwaltungsprogramm 200 gemäß Ausführungsformen der vorliegenden Erfindung ein Auschecken und Einchecken von gemeinsam genutzten Authentifizierungsnachweisen für Benutzer und ein Überwachen einer MAC-Adresse, die einer anfordernden Einheit der Benutzer entspricht. Des Weiteren tauscht das Verwaltungsprogramm 200 mit dem Authentifizierungssystem 140 Daten aus, um eine Authentifizierung der gemeinsam genutzten Authentifizierungsnachweise zu verwalten.
-
In beispielhaften Ausführungsformen kann es sich bei dem Authentifizierungssystem 140 um einen Desktop-Computer, einen Computerserver oder um beliebige andere, in der Technik bekannte Computersysteme handeln. In bestimmten Ausführungsformen stellt das Authentifizierungssystem 140 Computersysteme dar, die Clustercomputer und -komponenten (z.B. Datenbankserver-Computer, Anwendungsserver-Computer usw.) verwenden, welche als ein einzelner Pool von nahtlosen Ressourcen dienen, wenn durch Elemente der Datenverarbeitungsumgebung 100 (z.B. die Client-Einheit 110, die Client-Einheit 120, das System 130 zur Verwaltung von gemeinsam genutzten IDs und weitere, nicht gezeigte Einheiten) darauf zugegriffen wird. Im Allgemeinen steht das Authentifizierungssystem 140 stellvertretend für ein beliebiges elektronisches Gerät oder eine Kombination aus elektronischen Geräten, die durch einen Computer lesbare Programmanweisungen ausführen können. Das Authentifizierungssystem 140 kann gemäß Ausführungsformen der vorliegenden Erfindung Komponenten umfassen, wie unter Bezugnahme auf 4 dargestellt und ausführlicher beschrieben ist.
-
Das Authentifizierungssystem 140 umfasst eine Überwachungsdatenbank 142 und ein Authentifizierungsprogramm 300. In verschiedenen Ausführungsform wird das Authentifizierungssystem 140 als ein Datenverarbeitungssystem betrieben, das einer geschützten Ressource und/oder einem geschützten Asset, Benutzern, die gemeinsam genutzte Authentifizierungsnachweise von dem System 130 zur Verwaltung von gemeinsam genutzten IDs verwenden (z.B. Benutzern, die zu der Client-Einheit 110 und der Client-Einheit 120 gehören), Authentifizierungsservices bereitstellt. In zusätzlichen Ausführungsformen handelt es sich bei dem Authentifizierungssystem 140 um ein Datenverarbeitungssystem, das SSH-Protokolle verwendet, um gemäß Ausführungsformen der vorliegenden Erfindung eine sichere Übertragung und einen sicheren Zugriff auf sichere Ressourcen und Assets zu vereinfachen.
-
In verschiedenen Ausführungsformen der vorliegenden Erfindung ist der Benutzer der Client-Einheit 110 (oder der Client-Einheit 120) bei dem System 130 zur Verwaltung von gemeinsam genutzten IDs und dem Authentifizierungssystem 140 registriert (z.B. über eine entsprechende Anwendung). Zum Beispiel schließt der Benutzer einen Registrierungsprozess ab, stellt Informationen bereit und genehmigt die Erfassung und Analyse (d.h. er willigt ein) von relevanten Daten, die mindestens durch die Client-Einheit 110, das System 130 zur Verwaltung von gemeinsam genutzten IDs und das Authentifizierungssystem 140 bereitgestellt werden (z.B. MAC-Adresse, Benutzerprofilinformationen, Benutzerkontaktinformationen, Authentifizierungsinformationen, Benutzervorgaben oder Arten von Informationen, die das System 130 zur Verwaltung von gemeinsam genutzten IDs mit dem Verwaltungsprogramm 200 und die das Authentifizierungssystem 140 mit dem Authentifizierungsprogramm 300 verwenden soll).
-
In verschiedenen Ausführungsformen speichert die Überwachungsdatenbank 142 zur Nutzung von gemeinsam genutzten Authentifizierungsnachweisen gehörende Informationen, wie beispielsweise eine MAC-Adresse einer Einheit, der ein gemeinsam genutzter Berechtigungsnachweis zugewiesen wurde (z.B. ein Benutzer, der einen Berechtigungsnachweis ausgecheckt hat). In zusätzlichen Aspekten verschlüsselt das Authentifizierungssystem 140 in der Überwachungsdatenbank 142 gespeicherte Informationen. In beispielhaften Ausführungsformen kann es sich bei der Überwachungsdatenbank 142 um eine organisierte Datensammlung handeln, die auf dem Authentifizierungssystem 140 gehostet werden.
-
Die Überwachungsdatenbank 142 kann mit einer beliebigen Art von Speichereinheit, zum Beispiel dem persistenten Speicher 405, ausgeführt sein, die Daten speichern kann, auf die durch das Authentifizierungssystem 140 zugegriffen werden kann und die von diesem System verwendet werden können, wie beispielsweise einem Datenbankserver, einem Festplattenlaufwerk oder einem Flashspeicher. In weiteren Ausführungsformen kann die Überwachungsdatenbank 142 mehrere Speichereinheiten und Datensammlungen innerhalb des Authentifizierungssystems 140 darstellen.
-
In beispielhaften Ausführungsformen überprüft das Authentifizierungsprogramm 300 Authentifizierungsnachweise, darunter eine MAC-Adresse, gemäß Ausführungsformen der vorliegenden Erfindung. In verschiedenen Ausführungsformen empfängt das Authentifizierungsprogramm 300 eine Anmeldeanforderung von einem Benutzer und ruft eine MAC-Adresse der anfordernden Einheit des Benutzers an. Das Authentifizierungsprogramm 300 kann dann betrieben werden, um gemäß Ausführungsformen der vorliegenden Erfindung Authentifizierungsnachweise der Anmeldeanforderung und der abgerufenen MAC-Adresse zu überprüfen, um festzustellen, ob der Zugriff auf eine geschützte Ressource genehmigt oder eingeschränkt werden soll.
-
In verschiedenen Ausführungsformen kann das Authentifizierungssystem 140 ein geschütztes/gesichertes Asset hosten oder als ein Gateway (d.h. als Vermittler) betrieben werden, um Benutzer vor dem Zugriff auf das und/oder der Verwendung des geschützte(n)/gesicherte(n) Asset(s) zu authentifizieren. In einer weiteren Ausführungsform können das System 130 zur Verwaltung von gemeinsam genutzten IDs und das Authentifizierungssystem 140 gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung innerhalb eines einzelnen, mit Benutzern der Client-Einheit 110 und der Client-Einheit 120 über eine Schnittstelle verbundenen Systems enthalten sein, das die zuvor erläuterten jeweiligen Funktionalitäten kombiniert.
-
2 ist ein Ablaufplan, der Prozessschritte des Verwaltungsprogramms 200, eines Programms zum Verwalten und Überwachen der Nutzung von gemeinsam genutzten Authentifizierungsnachweisen, gemäß Ausführungsformen der vorliegenden Erfindung darstellt. In verschiedenen Ausführungsformen führt das Verwaltungsprogramm 200 Operationen auf dem System 130 zur Verwaltung von gemeinsam genutzten IDs aus, um den Check-out- und Check-in-Prozess von gemeinsam genutzten Authentifizierungsnachweisen in dem Vault 132 für gemeinsam genutzte Berechtigungsnachweise zu verwalten. In beispielhaften Ausführungsformen wird das Verwaltungsprogramm 200 als ein Hintergrundprozess betrieben, der darauf wartet, Anforderungen von Benutzern zu empfangen. In zusätzlichen Ausführungsformen stellt das Verwaltungsprogramm 200 fest, ob es sich bei einem Benutzer, der Authentifizierungsnachweise anfordert, um einen berechtigten Benutzer handelt (d.h. einen Benutzer, der registriert ist und über eine Genehmigung zur Verwendung eines gemeinsam genutzten Authentifizierungsnachweises verfügt), bevor die Anforderung für Berechtigungsnachweise verarbeitet wird.
-
Im Schritt 202 empfängt das Verwaltungsprogramm 200 eine Anforderung, Authentifizierungsnachweise auszuchecken. In einer einzelnen Ausführungsform empfängt das Verwaltungsprogramm 200 eine Anforderung, Authentifizierungsnachweise von einem Benutzer der Client-Einheit 110 auszuchecken. In einigen Ausführungsformen kann der Benutzer der Client-Einheit 110 einen bestimmten Satz von Authentifizierungsnachweisen von dem Vault 132 für gemeinsam genutzte Berechtigungsnachweise anfordern. In zusätzlichen Ausführungsformen kann der Benutzer der Client-Einheit 110 den Zugriff auf ein(e) bestimmte(s) gesicherte(s) Ressource/Asset anfordern (z.B. unter Verwendung des SSH-Protokolls), und das Verwaltungsprogramm 200 kann die entsprechenden Authentifizierungsnachweise von dem Vault 132 für gemeinsam genutzte Berechtigungsnachweise identifizieren. In verschiedenen Ausführungsformen kann es sich bei den Authentifizierungsnachweisen um eine Kombination aus Benutzername und Kennwort oder um eine beliebige andere Form von gemeinsam genutzten Authentifizierungsnachweisen handeln, die gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung fungieren können.
-
Im Schritt 204 ruft das Verwaltungsprogramm 200 die MAC-Adresse ab. In einer einzelnen Ausführungsform ruft das Verwaltungsprogramm 200 die MAC-Adresse der anfordernden Datenverarbeitungseinheit von der Datenverarbeitungseinheit über das Netzwerk 105 (d.h. der Client-Einheit 110) ab. Eine Medienzugriffssteuerungsadresse (MAC-Adresse) ist eine einem Netzschnittstellencontroller (NIC) zugewiesene eindeutige Kennung zur Verwendung als Netzadresse in Übertragungen innerhalb eines Netzsegments. In beispielhaften Ausführungsformen ruft das Verwaltungsprogramm 200 die MAC-Einheit der Client-Einheit 110 (unter Verwendung einer SSH-Übertragung) ab, um sie als einen Identifikationsfaktor/Berechtigungsnachweis für den Benutzer zu verwenden, der die bestimmte Einheit verwendet.
-
In verschiedenen Ausführungsformen kann das System 130 zur Verwaltung von gemeinsam genutzten IDs (und das Verwaltungsprogramm 200) einen oder mehrere Befehle (oder Dienstprogramme) über das Netzwerk 105 an die anfordernde Datenverarbeitungseinheit senden, um die entsprechende MAC-Adresse abzurufen (oder anzufordern) (z.B. beruhend auf einem Betriebssystem der anfordernden Einheit). In beispielhaften Szenarien kann das Verwaltungsprogramm 200 Dienstprogramme und Befehle wie beispielsweise „getmac“ und „ifconfig“ oder andere Befehle verwenden, die Eigenschaften der bestimmten anfordernden Einheit entsprechen. In einer weiteren Ausführungsform kann das Verwaltungsprogramm 200 anfordern, dass der anfordernde Benutzer die MAC-Adresse bereitstellt. Dann kann das Verwaltungsprogramm 200 überprüfen, dass die von dem Benutzer bereitgestellte MAC-Adresse die richtige MAC-Adresse für die anfordernde Datenverarbeitungseinheit ist.
-
Im Schritt 206 sendet das Verwaltungsprogramm 200 die MAC-Adresse an das Authentifizierungssystem. In einer einzelnen Ausführungsform sendet das Verwaltungsprogramm 200 die abgerufene MAC-Adresse (aus dem Schritt 204) an das Authentifizierungssystem 140. In verschiedenen Ausführungsformen sendet das Verwaltungsprogramm 200 die MAC-Adresse an das Authentifizierungssystem 140, um die erforderlichen Überwachungsinformationen für den Fall zu aktualisieren, dass sich in der Überwachungsdatenbank 142 gemeinsam genutzte Berechtigungsnachweise befinden. In einem weiteren Aspekt kann das Verwaltungsprogramm 200 die MAC-Adresse verschlüsseln und die verschlüsselte MAC-Adresse dann an das Authentifizierungssystem 140 senden. In einer alternativen Ausführungsform kann das Verwaltungsprogramm 200 eine unverschlüsselte MAC-Adresse an das Authentifizierungssystem 140 zur vor der Speicherung erfolgenden Verschlüsselung durch das Authentifizierungssystem senden.
-
In verschiedenen Ausführungsformen bindet der Prozess des Abrufens und Speicherns der MAC-Adresse der anfordernden Einheit den gemeinsam genutzten Authentifizierungsnachweis an die Verwendung durch die anfordernde Einheit (d.h., die Client-Einheit 110), bis die anfordernde Einheit die Authentifizierungsnachweise eincheckt. Folglich führen Ausführungsformen der vorliegenden Erfindung einen zusätzlichen Sicherheitsfaktor in dem Prozess der Verwendung von gemeinsam genutzten Authentifizierungsnachweisen aus.
-
In einer beispielhaften Ausführungsform können das System 130 zur Verwaltung von gemeinsam genutzten IDs und das Authentifizierungssystem 140 gemäß verschiedenen Aspekten der vorliegenden Erfindung das iptables-Dienstprogramm verwenden, um eine Verwendung der abgerufenen MAC-Adressen zu verwalten. IPTables ist ein Front-End-Userspace-Tool zur Verwaltung von Netfilter im Linux-Kernel. IPTables funktioniert hauptsächlich in der Transportschicht (Schicht 4) und Vermittlungsschicht (Schicht 3), während iptables auch in der Datenübertragungsschicht funktionieren kann. Ausführungsformen der vorliegenden Erfindung können das iptables-Dienstprogramm verwenden, um die Anmeldeanforderung auf der Grundlage der MAC-Adresse der Einheit des Benutzers (in Bezug auf 3 ausführlicher beschrieben) zuzulassen oder abzuweisen. In einem beispielhaften Szenario sendet das Verwaltungsprogramm 200 einen Befehl „iptables -A INPUT -p tcp --dport #port No.# -m mac --mac-source #MAC Add.# -j ACCEPT“ zur Ausführung auf dem Authentifizierungssystem 140 (d.h. dem Endserver), um iptables zu ändern, um die Verwendung der gemeinsam genutzten Authentifizierungsnachweise mit Ausnahme einer Datenverarbeitungseinheit zu blockieren, die eine bestimmte MAC-Adresse hat (d.h. die im Schritt 204 abgerufene MAC-Adresse).
-
Im Schritt 208 sendet das Verwaltungsprogramm 200 die Authentifizierungsnachweise an den anfordernden Benutzer. In einer einzelnen Ausführungsform sendet das Verwaltungsprogramm 200 die (im Schritt 202 angeforderten) Authentifizierungsnachweise an den Benutzer auf der Client-Einheit 110 (d.h. der anfordernden Datenverarbeitungseinheit, die der abgerufenen MAC-Adresse entspricht). In zusätzlichen Ausführungsformen kann das Verwaltungsprogramm 200 die Authentifizierungsnachweise gleichzeitig mit dem Senden der MAC-Adresse an das Authentifizierungssystem (Schritt 206) an den anfordernden Benutzer senden (Schritt 208). In einer weiteren Ausführungsform kann das Verwaltungsprogramm 200 die Authentifizierungsnachweise nach dem Empfang einer Bestätigung von dem Authentifizierungssystem 140, dass die MAC-Adresse empfangen und ordnungsgemäß aufgezeichnet wurde (d.h. verwendet, um einen Datensatz zu aktualisieren, der der bestimmten Instanz von gemeinsam genutzten Authentifizierungsnachweisen in der Überwachungsdatenbank 142 entspricht), an den anfordernden Benutzer senden.
-
Im Schritt 210 empfängt das Verwaltungsprogramm 200 zurückgegebene Authentifizierungsnachweise. In einer einzelnen Ausführungsform empfängt das Verwaltungsprogramm 200 eine Rückgabe (Check-in) von Authentifizierungsnachweisen von dem Benutzer der Client-Einheit 110. In verschiedenen Ausführungsformen wartet das Verwaltungsprogramm 200 bis zum Empfang der gesendeten Authentifizierungsnachweise (vom Schritt 208). In einem weiteren Aspekt kann das Verwaltungsprogramm 200 überprüfen, dass die Authentifizierungsnachweise von derselben Einheit empfangen werden, die die Berechtigungsnachweise angefordert hat (über einen Vergleich der MAC-Adressen). In weiteren Ausführungsformen kann das Verwaltungsprogramm 200 die Bindung des Authentifizierungsnachweises an die MAC-Adresse der Client-Einheit 110 aufrechterhalten, bis eine weitere Einheit (z.B. die Client-Einheit 120) die Authentifizierungsnachweise auscheckt.
-
In einer weiteren Ausführungsform ändert das Verwaltungsprogramm 200 mindestens einen der Authentifizierungsnachweise als Reaktion auf den Empfang eines Check-ins der Berechtigungsnachweise. Zum Beispiel ändert das Verwaltungsprogramm 200 das Kennwort der Authentifizierungsnachweise und speichert die aktualisierten Authentifizierungsnachweise dann in dem Vault 132 für gemeinsam genutzte Berechtigungsnachweise. In einem weiteren Beispiel kann der Benutzer der Client-Einheit 110 das Kennwort als Teil des Check-in-Prozesses der Authentifizierungsnachweise ändern. In zusätzlichen Ausführungsformen kann das Verwaltungsprogramm 200 die aktualisierten Authentifizierungsnachweise an das Authentifizierungssystem 140 senden, um Datensätze zur Verwendung in dem Authentifizierungsprozess zu aktualisieren.
-
3 ist ein Ablaufplan, der Prozessschritte des Authentifizierungsprogramms 300, eines Programms zum Überprüfen von Authentifizierungsnachweisen, gemäß Ausführungsformen der vorliegenden Erfindung darstellt. In verschiedenen Ausführungsformen wird das Authentifizierungsprogramm 300 als ein Prozess betrieben, um Benutzer zu authentifizieren, die versuchen, auf ein geschütztes Asset oder eine geschützte Ressource zuzugreifen (z.B. für ein Unternehmen unter Verwendung von SSH). In einer beispielhaften Ausführungsform wird das Authentifizierungsprogramm 300 gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung als ein Hintergrundprozess betrieben, der auf den Empfang von MAC-Adressinformationen (z.B. von dem System 130 zur Verwaltung von gemeinsam genutzten IDs) und/oder eine Anmeldeanforderung (z.B. von einem Benutzer, der eine Client-Einheit 110 verwendet) wartet.
-
Im Schritt 302 empfängt das Authentifizierungsprogramm 300 eine MAC-Adresse, die einem Satz von Authentifizierungsnachweisen entspricht. In einer einzelnen Ausführungsform empfängt das Authentifizierungsprogramm 300 die MAC-Adresse der Client-Einheit 110 von dem System 130 zur Verwaltung von gemeinsam genutzten IDs (im Schritt 206 des Verwaltungsprogramms 200). In einer beispielhaften Ausführungsform empfängt das Authentifizierungsprogramm 300 von dem System 130 zur Verwaltung von gemeinsam genutzten IDs eine MAC-Adresse und eine Angabe eines entsprechenden Satzes von Authentifizierungsnachweisen , die an die MAC-Adresse gebunden sind. In zusätzlichen Ausführungsformen kann das Authentifizierungsprogramm 200 eine Angabe der geschützten Ressource oder des geschützten Assets empfangen. In verschiedenen Ausführungsformen empfängt das Authentifizierungsprogramm 300 eine verschlüsselte MAC-Adresse. In einer weiteren Ausführungsform kann das Authentifizierungsprogramm 300 empfangene MAC-Adressen vor der Speicherung verschlüsseln.
-
In einigen Ausführungsformen kann das Authentifizierungsprogramm 200 (und das Authentifizierungssystem 140) gemäß verschiedenen Aspekten der vorliegenden Erfindung das iptables-Dienstprogramm verwenden, um die Verwendung der abgerufenen MAC-Adressen zu verwalten (was zuvor in Bezug auf den Schritt 206 des Verwaltungsprogramms 200 erläutert wurde). In einer beispielhaften Ausführungsform empfängt das Authentifizierungsprogramm 300 die MAC-Adresse (der Client-Einheit 110) und aktualisiert die Überwachungsdatenbank 142 mit Informationen, die angeben, dass die MAC-Adresse an den entsprechenden Satz von Authentifizierungsnachweisen gebunden ist. Zum Beispiel aktualisiert das Authentifizierungsprogramm 300 die Überwachungsdatenbank 142, um zu überwachen, dass die MAC-Adresse der Client-Einheit 110 an einen bestimmten Satz von Authentifizierungsnachweisen gebunden ist. Daher verwendet das Authentifizierungsprogramm 300 gemäß weiteren Ausführungsformen der vorliegenden Erfindung dann die MAC-Adresse als einen zusätzlichen Authentifizierungsfaktor, wenn es den bestimmten Satz von Authentifizierungsnachweisen überprüft.
-
Im Schritt 304 empfängt das Authentifizierungsprogramm 300 eine Anmeldeanforderung. In einer einzelnen Ausführungsform empfängt das Authentifizierungsprogramm 300 eine Anforderung für einen Zugriff auf eine geschützte/gesicherte Ressource von einem Benutzer, der die Client-Einheit 110 verwendet. In verschiedenen Ausführungsformen das Authentifizierungsprogramm 300 bis zum Empfang einer Anmeldeanforderung oder einer anderen Form von Anforderung, um unter Verwendung von Authentifizierungsnachweisen auf eine geschützte Ressource oder ein geschütztes Asset zuzugreifen. In zusätzlichen Ausführungsformen kann das Authentifizierungsprogramm 300 im Schritt 204 starten, um eine Authentifizierung für einen Anmeldeprozess zu starten. In einem beispielhaften Szenario empfängt das Authentifizierungsprogramm 300 eine Anmeldeanforderung und entsprechende Authentifizierungsnachweise unter Verwendung von SSH-Protokollen (z.B. eine Anforderung für eine sichere Anmeldung an einer fernen Maschine von der Client-Einheit 110).
-
Im Schritt 306 ruft es eine MAC-Adresse ab. In einer einzelnen Ausführungsform ruft das Authentifizierungsprogramm 300 die MAC-Adresse der anfordernden Datenverarbeitungseinheit von der Datenverarbeitungseinheit über das Netzwerk 105 (d.h. der Client-Einheit 110) ab. In beispielhaften Ausführungsformen ruft das Authentifizierungsprogramm 300 die MAC-Einheit der Client-Einheit 110 (unter Verwendung einer SSH-Übertragung) ab, um sie als einen Identifikationsfaktor/Berechtigungsnachweis für den Benutzer zu verwenden, der die bestimmte Einheit verwendet. In verschiedenen Ausführungsformen kann das Authentifizierungssystem 140 (und das Authentifizierungsprogramm 300) einen oder mehrere Befehle (oder Dienstprogramme) über das Netzwerk 105 an die anfordernde Datenverarbeitungseinheit senden, um die entsprechende MAC-Adresse abzurufen (oder anzufordern) (z.B. beruhend auf einem Betriebssystem der anfordernden Einheit).
-
In beispielhaften Szenarien kann das Authentifizierungsprogramm 300 Dienstprogramme und Befehle wie beispielsweise „getmac“ und „ifconfig“ oder andere Befehle verwenden, die Eigenschaften der bestimmten anfordernden Einheit entsprechen. In einer weiteren Ausführungsform kann das Authentifizierungsprogramm 300 anfordern, dass der anfordernde Benutzer die MAC-Adresse bereitstellt. Dann kann das Authentifizierungsprogramm 300 überprüfen, dass die von dem Benutzer bereitgestellte MAC-Adresse die richtige MAC-Adresse für die anfordernde Datenverarbeitungseinheit ist. In zusätzlichen Ausführungsformen kann das Authentifizierungsprogramm 300 die MAC-Adresse der anfordernden Einheit (Client-Einheit 110) als Teil der Anmeldeanforderung (vom Schritt 304) empfangen (die z.B. in der SSH-Anmeldeanforderung enthalten ist).
-
Im Schritt 308 überprüft das Authentifizierungsprogramm 300 Authentifizierungsnachweise und eine MAC-Adresse. In einer einzelnen Ausführungsform überprüft das Authentifizierungsprogramm 300 die empfangenen Authentifizierungsnachweise (für die Anmeldeanforderung vom Schritt 304) und überprüft die MAC-Adresse der anfordernden Einheit (im Schritt 306 abgerufen). In einer beispielhaften Ausführungsform vergleicht das Authentifizierungsprogramm 300 die empfangenen Authentifizierungsnachweise mit einer Datenbank von gültigen Authentifizierungsnachweisen, um festzustellen, ob die empfangenen Authentifizierungsnachweise mit einem Eintrag in der Datenbank übereinstimmen. Ferner vergleicht das Authentifizierungsprogramm 300 die abgerufene MAC-Adresse (der Client-Einheit 110) mit einer gespeicherten (und verschlüsselten) MAC-Adresse, die zu den empfangenen Authentifizierungsnachweisen (in der Überwachungsdatenbank 142 gespeichert) gehört, um die anfordernde Client-Einheit, die die MAC-Adresse verwendet, zu überprüfen. In verschiedenen Ausführungsformen überprüft das Authentifizierungsprogramm 300 die Kombination aus Benutzername und Kennwort und auch die MAC-Adresse der Einheit, die den Benutzernamen und das Kennwort gesendet hat.
-
Im Entscheidungsschritt 310 stellt das Authentifizierungsprogramm 300 fest, ob die Überprüfung erfolgreich ist. In einer einzelnen Ausführungsform stellt das Authentifizierungsprogramm 300 fest, ob die empfangenen Authentifizierungsnachweise (für die Anmeldeanforderung vom Schritt 304) und die MAC-Adresse der anfordernden Einheit (im Schritt 306 abgerufen) mit den entsprechenden gespeicherten, gültigen Daten übereinstimmen. Als Reaktion auf die Feststellung, dass der Benutzer (der die Client-Einheit 110 verwendet) richtige Authentifizierungsnachweise bereitstellt, stellt das Authentifizierungsprogramm 300 fest, dass die Überprüfung erfolgreich ist (Entscheidungsschritt 310, JA-Verzweigung). Als Reaktion auf die Feststellung, dass der Benutzer (der die Client-Einheit 110 verwendet) falsche Authentifizierungsnachweise bereitstellt, stellt das Authentifizierungsprogramm 300 fest, dass die Überprüfung nicht erfolgreich ist (Entscheidungsschritt 310, NEIN-Verzweigung).
-
Im Schritt 312 genehmigt das Authentifizierungsprogramm 300 einen Zugriff. Genauer gesagt, das Authentifizierungsprogramm 300 genehmigt als Reaktion auf die Feststellung, dass die Überprüfung erfolgreich ist (Entscheidungsschritt 310, JA-Verzweigung), einen Zugriff auf das angeforderte Asset/die angeforderte Ressource (Schritt 312). In einigen Ausführungsformen kann das Authentifizierungsprogramm 300 die berechtigten Benutzer und Einheiten in der Überwachungsdatenbank 142 überwachen. In zusätzlichen Ausführungsformen kann das Authentifizierungsprogramm 300 die MAC-Adresse einer angeschlossenen Client-Einheit in regelmäßigen Abständen abrufen, um die Identität des zugreifenden Benutzers und der zugreifenden Einheit zu überprüfen. In einer weiteren Ausführungsform kann das Authentifizierungsprogramm 300 als Reaktion darauf beendet werden, dass sich der Benutzer abmeldet.
-
Im Schritt 314 beschränkt das Authentifizierungsprogramm 300 den Zugriff. Genauer gesagt, das Authentifizierungsprogramm 300 beschränkt als Reaktion auf die Feststellung, dass die Überprüfung nicht erfolgreich ist (Entscheidungsschritt 314, NEIN-Verzweigung), den Zugriff auf den Benutzer, der versucht hat, auf das Asset/die Ressource zuzugreifen. In einer einzelnen Ausführungsform kann das Authentifizierungsprogramm 300 einen Benutzer (und eine Einheit) sperren, bei dem bzw. der die Überprüfung der Authentifizierung der MAC-Adresse fehlschlägt, woraufhin es endet.
-
In einer weiteren Ausführungsform kann das Authentifizierungsprogramm 300 als Reaktion auf die Feststellung, dass die Überprüfung nicht erfolgreich ist (Entscheidungsschritt 314, NEIN-Verzweigung), zum Schritt 304 zurückkehren, um einen nachfolgenden Authentifizierungsversuch zu erlauben. Zum Beispiel kann ein System eine begrenzte Anzahl (z.B. drei) von fehlgeschlagenen Anmeldeversuchen eines Benutzernamens und Kennworts der gemeinsam genutzten Authentifizierungsnachweise (oder möglicherweise auch für eine Überprüfung einer MAC-Adresse) gestatten, bevor eine zugriffsbeschränkende Handlung an dem Benutzer und/oder der Einheit durchgeführt wird. In verschiedenen Ausführungsformen kann das Authentifizierungsprogramm 300 gemäß Client-Vorgaben (z.B. Richtlinien eines Unternehmens, das mit dem Benutzer und/oder der/dem geschützten Ressource/Asset in Verbindung steht) eine Maßnahme an dem Benutzer und/oder der Einheit ergreifen, bei dem bzw. bei der die Überprüfung fehlschlägt.
-
4 stellt ein Computersystem 400 dar, das stellvertretend für die Client-Einheit 110, die Client-Einheit 120, das System 130 zur Verwaltung von gemeinsam genutzten IDs und das Authentifizierungssystem 140 gemäß einer veranschaulichenden Ausführungsform der vorliegenden Erfindung steht. Es ist darauf hinzuweisen, dass 4 lediglich eine einzelne Ausführung veranschaulicht und keine Einschränkungen in Bezug auf die Umgebungen bedeutet, in denen verschiedene Ausführungsformen ausgeführt werden können. An der dargestellten Umgebung können viele Änderungen vorgenommen werden. Das Computersystem 400 umfasst (einen) Prozessor(en) 401, einen Cache 403, einen Hauptspeicher 402, einen persistenten Speicher 405, eine Übertragungseinheit 407, (eine) Eingabe-/Ausgabe-(E/A-)Schnittstelle(n) 406 und eine Übertragungsstruktur 404. Die Übertragungsstruktur 404 stellt Übertragungen zwischen dem Cache 403, dem Hauptspeicher 402, dem persistenten Speicher 405, der Übertragungseinheit 407 und (einer) Eingabe-/Ausgabe-(E/A-)Schnittstelle(n) 406 bereit. Die Übertragungsstruktur 404 kann mit einer beliebigen Architektur ausgeführt sein, die dafür ausgelegt ist, Daten und/oder Steuerinformationen zwischen Prozessoren (wie beispielsweise Mikroprozessoren, Übertragungs- und Netzwerkprozessoren usw.), einem Systemspeicher, peripheren Einheiten und beliebigen anderen Hardware-Komponenten innerhalb eines Systems zu übergeben. Zum Beispiel kann die Übertragungsstruktur 404 mit einem oder mehreren Bussen oder einem Kreuzschienenschalter ausgeführt sein.
-
Bei dem Hauptspeicher 402 und dem persistenten Speicher 405 handelt es sich um durch einen Computer lesbare Speichermedien. In dieser Ausführungsform umfasst der Hauptspeicher 402 einen Direktzugriffsspeicher (RAM). Im Allgemeinen kann der Hauptspeicher 402 beliebige geeignete flüchtige oder nicht flüchtige, durch einen Computer lesbare Speichermedien umfassen. Der Cache 403 ist ein Schnellspeicher, der die Leistung des Prozessors/der Prozessoren 401 verbessert, indem er Daten, auf die vor Kurzem zugegriffen wurde, sowie Daten, auf die nahezu vor Kurzem zugegriffen wurde, aus dem Hauptspeicher 402 hält.
-
Programmanweisungen und Daten (z.B. Software und Daten 410), die verwendet werden, um Ausführungsformen der vorliegenden Erfindung in die Praxis umzusetzen, können im persistenten Speicher 405 und im Hauptspeicher 402 zur Ausführung durch einen oder mehrere der jeweiligen Prozessoren 401 über den Cache 403 gespeichert werden. In einer Ausführungsform umfasst der persistente Speicher 405 ein Magnetfestplattenlaufwerk. Alternativ oder zusätzlich zu einem Magnetfestplattenlaufwerk kann der persistente Speicher 405 ein Solid-State-Festplattenlaufwerk, eine Halbleiterspeichereinheit, einen Nur-Lese-Speicher (ROM), einen löschbaren programmierbaren Nur-Lese-Speicher (EPROM), einen Flashspeicher oder ein beliebiges anderes durch einen Computer lesbares Speichermedium umfassen, das Programmanweisungen oder digitale Informationen speichern kann.
-
Die durch den persistenten Speicher 405 verwendeten Datenträger können auch austauschbar sein. Zum Beispiel kann ein austauschbares Festplattenlaufwerk für den persistenten Speicher 405 verwendet werden. Zu weiteren Beispielen gehören optische und Magnetplatten, Thumb-Drives und Smartcards, die in ein Laufwerk zur Übertragung auf ein weiteres durch einen Computer lesbares Speichermedium, das ebenfalls Teil des persistenten Speichers 405 ist, eingelegt werden. Software und Daten 410 können im persistenten Speicher 405 zum Zugriff und/oder zur Ausführung durch einen oder mehrere der jeweiligen Prozessoren 401 über den Cache 403 gespeichert sein. Mit Bezug auf die Client-Einheit 110 umfassen Software und Daten 410 die Benutzerschnittstelle 112 und die Anwendung 114. Mit Bezug auf die Client-Einheit 120 umfassen Software und Daten 410 die Benutzerschnittstelle 122 und die Anwendung 124. Mit Bezug auf das System 130 zur Verwaltung von gemeinsam genutzten IDs umfassen Software und Daten 410 den Vault 132 für gemeinsam genutzte Berechtigungsnachweise und das Verwaltungsprogramm 200. Mit Bezug auf das Authentifizierungssystem 140 umfassen Software und Daten 410 die Überwachungsdatenbank 142 und das Authentifizierungsprogramm 300.
-
Die Übertragungseinheit 407 in diesen Beispielen sieht Übertragungen mit anderen Datenverarbeitungssystemen oder -einheiten vor. In diesen Beispielen umfasst die Übertragungseinheit 407 eine oder mehrere Netzschnittstellenkarten. Die Übertragungseinheit 407 kann durch die Verwendung von physischen oder drahtlosen oder aber von sowohl physischen als auch drahtlosen Datenübertragungsverbindungen Übertragungen bereitstellen. Programmanweisungen und Daten (z.B. Software und Daten 410), die verwendet werden, um Ausführungsformen der vorliegenden Erfindung in die Praxis umzusetzen, können durch die Übertragungseinheit 407 in den persistenten Speicher 405 heruntergeladen werden.
-
Die E/A-Schnittstelle(n) 406 ermöglicht/ermöglichen eine Ein- und Ausgabe von Daten mit anderen Einheiten, die mit jedem Datenverarbeitungssystem verbunden sein können. Zum Beispiel kann/können die E/A-Schnittstelle(n) 406 eine Verbindung zu (einer) externen Einheit(en) 408 wie beispielsweise einer Tastatur, einem Tastenblock, einem berührungsempfindlichen Bildschirm und/oder einer anderen geeigneten Eingabeeinheit bereitstellen. Zu der/den externen Einheit(en) 408 können auch auswechselbare, durch einen Computer lesbare Speichermedien wie zum Beispiel Thumb-Drives, auswechselbare optische oder Magnetplatten und Speicherkarten gehören. Programmanweisungen und Daten (z.B. Software und Daten 410), die verwendet werden, um Ausführungsformen der vorliegenden Erfindung in die Praxis umzusetzen, können auf solchen auswechselbaren, durch einen Computer lesbaren Speichermedien gespeichert und über (eine) E/A-Schnittstelle(n) 406 in den persistenten Speicher 405 geladen werden. Die E/A-Schnittstelle(n) 406 lässt/lassen sich auch mit einem Bildschirm 409 verbinden.
-
Der Bildschirm 409 stellt einen Mechanismus bereit, um einem Benutzer Daten anzuzeigen, und kann zum Beispiel ein Computer-Monitor sein.
-
Die hierin beschriebenen Programme werden auf der Grundlage der Anwendung angegeben, für die sie in einer bestimmten Ausführungsform der Erfindung ausgeführt werden. Es ist jedoch darauf hinzuweisen, dass jedwede bestimmte Programm-Nomenklatur hierin lediglich aus Gründen der Zweckmäßigkeit verwendet wird, und somit sollte die Erfindung nicht auf eine ausschließliche Verwendung in einer bestimmten Anwendung, die von dieser Nomenklatur angegeben und/oder durch diese Nomenklatur stillschweigend vorausgesetzt wird, beschränkt werden.
-
Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt auf jeder möglichen Integrationsstufe technischer Details handeln. Das Computerprogrammprodukt kann ein durch einen Computer lesbares Speichermedium (oder -medien) mit durch einen Computer lesbaren Programmanweisungen darauf umfassen, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
-
Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine greifbare Einheit handeln, die Anweisungen zur Verwendung durch ein System zur Ausführung von Anweisungen behalten und speichern kann. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die folgenden: eine auswechselbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein auswechselbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch kodierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein durch einen Computer lesbares Speichermedium soll in der Verwendung hierin nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. Lichtwellenleiterkabel durchlaufende Lichtimpulse) oder durch einen Draht übermittelte elektrische Signale.
-
Hierin beschriebene, durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetz und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
-
Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmwareanweisungen, zustandssetzende Daten, Konfigurationsdaten für eine integrierte Schaltung oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem fernen Computer oder vollständig auf dem fernen Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, vor Ort programmierbare Gatter-Anordnungen (FPGA, field-programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
-
Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder bzw. Schaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaltbildern bzw. Schaubildern mittels durch einen Computer lesbare Programmanweisungen ausgeführt werden können.
-
Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, so dass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaltbilder bzw. Schaubilder angegebenen Funktion/Schritts umsetzen.
-
Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen auf einem Computer ausgeführten Prozess zu erzeugen, so dass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte umsetzen.
-
Die Ablaufpläne und die Blockschaltbilder bzw. Schaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in dem Ablaufplan oder in den Blockschaltbildern bzw. Schaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, das bzw. der eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion(en) aufweist. In einigen alternativen Ausführungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit als ein Schritt durchgeführt, gleichzeitig ausgeführt, im Wesentlichen gleichzeitig ausgeführt, in einer sich teilweise oder ganz zeitlich überlappenden Weise ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaltbilder bzw. Schaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaltbildern bzw. Schaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
-
Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung erfolgten zum Zweck der Veranschaulichung, sollen jedoch nicht erschöpfend oder auf die offenbarten Ausführungsformen beschränkt sein. Viele Änderungen und Varianten sind für den Fachmann erkennbar, ohne vom Umfang und Wesen der Erfindung abzuweichen. Die hierin verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsform, die praktische Anwendung oder technische Verbesserung gegenüber auf dem Markt befindlichen Technologien am besten zu erklären bzw. um anderen Fachleuten das Verständnis der hierin offenbarten Ausführungsformen zu ermöglichen.