-
Fachgebiet
-
Die vorliegende Erfindung betrifft die Ortung. Im Einzelnen betrifft die vorliegende Erfindung Systeme und Verfahren zur Standortüberprüfung mittels passiver Rechentags.
-
Hintergrund
-
In vielen Fällen ist es nützlich, mit einiger Sicherheit zu wissen, dass bestimmte Orte z.B. von Wartungspersonal, Kontrolleuren, Lieferern und anderen dienstlich reisenden Personen besucht worden sind. Diese Personen wollen u.U. so tun, als ob sie die Orte besucht hätten, um sich Zeit und Mühe zu sparen; andererseits kann es sein, dass sie den Verdacht ausräumen möchten, dass sie die Standorte besucht haben, indem sie entsprechende Nachweise vorlegen. Ein kostengünstiges Verfahren zum zweifelsfreien Nachweis, dass Personen usw. tatsächlich einen oder mehrere Orte besucht haben, fände in der Dienstleistungsbranche als auch in behördlich kontrollierten Umfelden breite Anwendung.
-
Es gibt zahlreiche Anwendungsgebiete, auf denen ein Nachweis, dass ein physischer Standort, ob von einem Lkw-Fahrer, Kontrolleur, Wartungspersonal, Pflegepersonal, Arzt oder sonstigen Beamten und Personen oder automatisierten Geräten besucht worden ist, nützlich wäre. Da das physische Besuchen eines Ortes mühsam sein kann, besteht ein Anreiz dafür, so zu tun, dass man einen Ort physisch besucht habe, den man in Wirklichkeit nicht besucht hat; diese Art von Schwänzerei ist eine allgemein bekannte kulturelle Erscheinung, die für Organisationen wie für die Gesamtgesellschaft mit Kosten und Verschwendung verbunden ist.
-
Herkömmliche Ansätze, bei denen ein GPS (Global Positioning System) zum Einsatz kommt, sind mit zahlreichen Nachteilen verbunden. Beispielsweise ist GPS nicht überall zugänglich, und zwar vor allem in mehrstöckigen Gebäuden sowie unter der Erde und in einbetonierten Räumen. Außerdem ist es leicht, als Begründung für den mangelnden Besuchsnachweis auf den Verlust des GPS-Empfangs zu verweisen. Dies wird z.B. von Lkw-Fahren, die von ihrer Strecke abweisen, mithilfe von Produkten wie z.B. GPS-Jammern ausgelöst. Außerdem weist das GPS eine eingeschränkte Präzision auf und liefert an sich keinen Nachweis für den Zeitpunkt des Besuchs. Derzeit gibt es keine Möglichkeit, dafür zu garantieren, dass GPS-Koordinaten nicht einfach frei erfunden oder sonst verfälscht sind. Überprüfungsversuche z.B. mittels magnetischer Peilungen, die den Koordinaten zugeordnet sind, unterliegen der Einschränkung, dass die Koordinaten grundsätzlich allgemein bekannt sind und derart manipuliert werden können, dass sie mit den angegebenen Koordinaten übereinstimmen. Aufgrund der oben aufgeführten Nachteile der aktuellen Ansätze besthet ein Bedarf nach einem verbesserten Verfahren und System zur Ortung und Standortüberprüfung.
-
Zusammenfassung
-
In einigen Ausführungen betrifft die Erfindung einen nicht flüchtigen computerlesbaren Datenträger, umfassend Befehle, die die Ausführung eines Verfahrens durch einen oder mehrere Prozessoren veranlassen, wobei das Verfahren den Empfang eines elektronischen Tokens von einem Server durch eine auf einem tragbaren Rechner ausgeführte Anwendung umfasst, wobei das elektronische Token eine mittels eines kryptographischen Zeichnungsalgorithmus unterzeichnete Zeitstempel umfasst; wobei die Anwendung das elektronische Token einem passiven Rechentag zuführt, wobei das elektronische Token vom passiven Rechentag gegengezeichnet wird; die Anwendung das vom passiven Rechentag gegengezeichnete elektronische Token empfängt und das gegengezeichnete elektronische Token dem Server zuführt.
-
In einigen Ausfürhungsformen wird ein nicht flüchtiger computerlesbarer Datenträger beschrieben, der Befehle umfasst, die die Ausführung eines Verfahrens durch einen oder mehrere Prozessoren umfasst, umfassend: Empfangen einer Anforderung eines Rechners nach einem elektronischen Token durch einen Prozessor eines Servers; Erzeugen des elektronischen Tokens aufgrund der eingegangenen Anforderung, wobei das elektronische Token Informationen über eine Kennung des Servers und über einen Zeitpunkt, zu dem die Anforderung einging, umfasst; Unterzeichnen des elektronischen Tokens mittels eines kryptographischen Zeichnungsalgorithmus; Zuführen des unterzeichneten elektronischen Tokens zum Rechner; Empfangen des gegengezeichneten elektronischen Tokens durch ein passives Rechentag; und Ermitteln eines zeitlichen Abstandes zwischen dem Eingang der Anforderung und dem Eingang des gegengezeichneten elektronischen Tokens, um eine Aufenthaltsdauer des Rechners bezüglich des passiven Rechentags zu ermitteln.
-
In einigen Ausfürhungsformen wird eine Vorrichtung, die einen oder mehrere Prozessoren umfasst; sowie ein nicht flüchtiger computerlesbarer Datenträger beschrieben, der Befehle umfasst, die die Ausführung eines Verfahrens durch einen oder mehrere Prozessoren umfasst, umfassend: Empfangen einer Anforderung eines Rechners nach einem elektronischen Token durch einen Prozessor eines Servers; Erzeugen des elektronischen Tokens aufgrund der eingegangenen Anforderung, wobei das elektronische Token Informationen über eine Kennung des Servers und über einen Zeitpunkt, zu dem die Anforderung einging, umfasst; Unterzeichnen des elektronischen Tokens mittels eines kryptographischen Zeichnungsalgorithmus; Zuführen des unterzeichneten elektronischen Tokens zum Rechner; Empfangen des gegengezeichneten elektronischen Tokens durch ein passives Rechentag; und Ermitteln eines zeitlichen Abstandes zwischen dem Eingang der Anforderung und dem Eingang des gegengezeichneten elektronischen Tokens, um eine Aufenthaltsdauer des Rechners bezüglich des passiven Rechentags zu ermitteln.
-
In einigen Ausführungsformen wird ein computergestütztes Standortüberprüfungsverfahren beschrieben. Das Verfahren kann den Empfang eines elektronischen Tokens von einem Server durch eine auf einem tragbaren Rechner ausgeführte Anwendung umfassen, wobei das elektronische Token eine mittels eines kryptographischen Zeichnungsalgorithmus unterzeichnete Zeitstempel umfasst; wobei die Anwendung das elektronische Token einem passiven Rechentag zuführt, wobei das elektronische Token vom passiven Rechentag gegengezeichnet wird; die Anwendung das vom passiven Rechentag gegengezeichnete elektronische Token empfängt und das gegengezeichnete elektronische Token dem Server zuführt.
-
In einigen Ausführungsformen kann die Zeitstempel Zeitangaben in koordinierter Universalzeit umfassen.
-
In einigen Ausführungsformen kann der kryptographische Zeichnungsalgorithmus ein asymmetrisches Verschlüsselungsschema umfassen, wobei die Zeitstempel mit einem privaten Schlüssel des Servers unterzeichnet wird.
-
In einigen Ausführungsformen kann der kryptographische Zeichnungsalgorithmus ein symmetrisches Verschlüsselungsschema umfassen, wobei die Zeitstempel mit einem geteilten privaten Schlüssel unterzeichnet wird.
-
In einigen Ausführungsformen wird das gegengezeichnete elektronische Token mittels eines privaten Schlüssels des passiven Rechentags gegengezeichnet.
-
In einigen Ausführungsformen umfasst das gegengezeichnete elektronische Token eine erste Zeitstempel des Zeitpunktes der Gegenzeichnung durch das passive Rechentag sowie eine zweite Zeitstempel des Zeitpunktes des Empfangs des elektronischen Tokens vom passiven Rechentag.
-
In einigen Ausführungsformen kann das Zuführung des elektronischen Tokens zu einem passiven Rechentag durch die Anwendung das Koppeln des tragbaren Rechners mit dem passiven Rechentag umfassen.
-
In einigen Ausführungsformen kann das elektronische Token Daten über eine nach dem Zufallsprinzip zugewiesene Kennung, ein kryptographisches Salz und die Serverkennung, oder eine Kombination davon, umfassen.
-
In einigen Ausführungsformen kann das vom passiven Rechentag gegengezeichnete elektronische Token eine Zeitstempel in einer Gegenzeichnung umfassen.
-
In einigen Ausführungsformen kann das vom Server empfangene elektronische Token mittels eines privaten Schlüssels des Servers kryptographisch unterzeichnet werden, indem der kryptographische Zeichnungsalgorithmus auf ein kryptographisches Hash des Inhaltes des elektronischen Tokens und der Zeitstempel anwendet.
-
In einigen Ausführungsformen kann das vom Server empfangene elektronische Token mittels eines privaten Schlüssels des passiven Rechentags kryptographisch unterzeichnet werden, indem der kryptographische Zeichnungsalgorithmus auf ein kryptographisches Hash des Inhaltes des elektronischen Tokens, der Zeitstempel und des vom Server gegengezeichneten elektronischen Tokens anwendet.
-
In einigen Ausführungsformen kann das Verfahren ferner das Ermitteln eines kontinuierlichen Aufenthalts zwischen dem tragbaren Rechner und einer dem passiven Rechentag zugeordneten Quittierstation sowie das Empfangen eines Tokenstroms vom Server aufgrund des ermittelten kontinuierlichen Aufenthalts umfassen.
-
In einigen Ausführungsformen kann das dem Server gegenüber gegengezeichnete elektronische Token den Nachweis liefern, dass der tragbare Rechner einen innerhalb eines vorbestimmten Bereichs des passiven Rechentags liegenden Standort aufweist.
-
In einigen Ausfürhungsformen wird eine Vorrichtung, die einen oder mehrere Prozessoren; sowie einen nicht flüchtigen computerlesbaren Datenträger umfassen kann, beschrieben, der Befehle umfasst, die die Ausführung eines Verfahrens durch einen oder mehrere Prozessoren umfasst, umfassend: Empfangen eines elektronischen Tokens von einem Server, wobei das elektronische Token eine mittels eines kryptographischen Zeichnungsalgorithmus unterzeichnete Zeitstempel umfasst; Zuführen des elektronischen Tokens zu einem passiven Rechentag, wobei das elektronische Token vom passiven Rechentag gegengezeichnet wird; Empfangen des vom passiven Rechentag gegengezeichneten elektronischen Tokens; und Zuführen des gegengezeichneten elektronischen Tokens zum Server.
-
In einigen Ausführungsformen kann das vom Server empfangene elektronische Token mittels eines privaten Schlüssels des passiven Rechentags kryptographisch unterzeichnet werden, indem der kryptographische Zeichnungsalgorithmus auf ein kryptographisches Hash des Inhaltes des elektronischen Tokens, der Zeitstempel und des vom Server gegengezeichneten elektronischen Tokens anwendet.
-
In einigen Ausführungsformen kann das Verfahren ferner Befehle umfassen, die das Ermitteln eines kontinuierlichen Aufenthalts zwischen dem tragbaren Rechner und einer dem passiven Rechentag zugeordneten Quittierstation sowie das Empfangen eines Tokenstroms vom Server aufgrund des ermittelten kontinuierlichen Aufenthalts durch einen oder mehrere Prozessoren veranlassen.
-
In einigen Ausführungsformen kann das dem Server gegenüber gegengezeichnete elektronische Token den Nachweis liefern, dass der tragbare Rechner einen innerhalb eines vorbestimmten Bereichs des passiven Rechentags liegenden Standort aufweist.
-
In einigen Ausführungsformen wird ein computergestütztes Verfahren zur Standortüberprüfen beschrieben, der das Empfangen einer Anforderung eines Rechners nach einem elektronischen Token durch einen Prozessor eines Servers; Erzeugen des elektronischen Tokens aufgrund der eingegangenen Anforderung, wobei das elektronische Token Informationen über eine Kennung des Servers und über einen Zeitpunkt, zu dem die Anforderung einging, umfasst; Unterzeichnen des elektronischen Tokens mittels eines kryptographischen Zeichnungsalgorithmus; Zuführen des unterzeichneten elektronischen Tokens zum Rechner; Empfangen des gegengezeichneten elektronischen Tokens durch ein passives Rechentag; und Ermitteln eines zeitlichen Abstandes zwischen dem Eingang der Anforderung und dem Eingang des gegengezeichneten elektronischen Tokens, um eine Aufenthaltsdauer des Rechners bezüglich des passiven Rechentags zu ermitteln, umfassen kann.
-
In einigen Ausführungsformen kann das computergestützte Verfahren ferner das Zuführen eines Tokenstroms zum Rechner aufgrund eines kontinuierlichen Aufenthalts zwischen dem Rechner und einer einem passiven Rechentag zugeordneten Quittierstation umfassen.
-
Kurze Beschreibung der Zeichnungen
-
Die beigefügten Zeichnungen, die Bestandteil dieser Patentschrift sind, veranschaulichen in Verbindung mit der Beschreibung verschiedene Ausführungsformen und beispielhafte Aspekte der beschriebenen Ausführungsformen. Es zeigen:
-
1 ist ein Diagramm einer beispielhaften erfindungsgemäßen Netzwerkanordnung;
-
2 ist ein Diagramm einer beispielhaften Hardware-Konfiguration des Rechners 200, z.B. des Rechners 110 oder des Tokenservers 130, die zur Ausführung eines oder mehrerer der vorliegend beschriebenen Prozesse verwendet werden kann;
-
3 ist ein Diagramm einer beispielhaften Hardware-Konfiguration des Tokenservers 300, z.B. des Tokenservers 130, die zur Ausführung eines oder mehrerer der vorliegend beschriebenen Prozesse verwendet werden kann;
-
4 zeigt ein Verfahrensbeispiel, wodurch der Rechner 110 mit dem Tokenserver 130 und dem Tag 120 erfindungsgemäß in Interaktion tritt; und
-
5 zeigt ein Verfahrensbeispiel, wodurch der Tokenserver 130 mit dem Rechner 110 erfindungsgemäß in Interaktion tritt.
-
Ausführliche Beschreibung
-
Nachfolgend werden beispielhafte Ausführungsformen der vorliegenden Erfindung anhand der beigefügten Zeichnungen ausführlich beschrieben. Zur Kennzeichnung derselben oder gleichartiger Komponenten werden dieselben Bezugszeichen in allen Zeichnungen verwendet.
-
Zur Vereinfachung und Veranschaulichung werden die erfindungsgemäßen Prinzipien hauptsächlich unter Bezugnahme auf Ausführungsbeispiele beschrieben. Der Fachmann erkennt jedoch ohne weiteres, dass dieselben Prinzipien gleichermaßen auf alle Arten von Informationen und Systemen anwendbar und in diesen umsetzbar sind, und dass auch derartige Abwandlungen dem Schutzumfang der vorliegenden Erfindung unterfallen. In der nachfolgenden ausführlichen Beschreibung wird außerdem auf die beigefügten Zeichnungen, die konkrete Ausführungsbeispiele darstellen, Bezug genommen. Elektrische, mechanische, logische und strukturelle Änderungen können den Ausführungsbeispielen zugeführt werden, ohne den Schutzumfang der vorliegenden Erfindung zu verlassen. Die nachfolgende ausführliche Beschreibung ist folglich nicht als Einschränkung der vorliegenden Erfindung aufzufassen; der Umfang der vorliegenden Erfindung wird von den beigefügten Patentansprüchen und deren Äquivalenten festgelegt.
-
Generell werden unter erfindungsgemäßen Aspekten ein Verfahren, eine Vorrichtung und ein nicht flüchtiger computerlesbarer Datenträger bereitgestellt, die die Überprüfung eines Aufenthalts an einem physischen Standort innerhalb eines Zeitfensters mittels Rechnern und passiver rechengestützter RFID- und/oder NFC-Tags (Near FIeld Communication) ermöglichen, die im umgekehrten Sinne auch dem Besucher den Nachweis des Aufenthalts am jeweiligen Standort innerhalb des Zeitfensters ermöglichen. Die RFID-/NFC-Tags können an Storte befestigt werden und benötigen keine Speisequelle oder sonstige Systemintegration. Die Tags können z.B. auf MFD (Multifunktionsgeräte) gelegt und als Nachweis verwendet werden, dass das Gerät vom Wartungspersonal physisch besucht worden ist. Wird das Tag besucht, wird ein unterzeichnetes zeitgestempeltes Token von einem Server, z.B. einem Cloud-Server, durch eine auf dem Rechner ausgeführte Anwendung, z.B. eine auf einem tragbaren Rechner ausgeführte mobile Anwendung empfangen. Die Anwendung verwendet dann ein an einen bestimmten Standort befestigtes passives Rechentag, um das ausgestellte Token ein zweites Mal zu unterzeichnen. Der Sever oder eine sonstige Stelle kann die Unterschrift dann einsehen und überprüfen, dass das Token vom Tag unterzeichnet wurde und dass das vom Tag unterzeichnete Token tatsächlich vom Server ausgestellt wurde. Damit wird nachgewiesen, dass das Tag physisch besucht wurde, da nur das Tag den eigenen Geheimschlüssel kennt.
-
1 ist ein Diagramm einer beispielhaften Netzwerkanordnung 100, in der ein Standort eines Benutzers mit einem Rechner 110 relativ zu einem passiven Rechentag ("Tag") 120 durch Kommunikation mit einem Tokenserver 130 erfindungsgemäß ermittelt werden kann. Wie in 1 gezeigt, kann der Rechner 110 ein Gerät einer beliebigen Art sein, die mit einem Tag 120 und einem Tokenserver 130 kommunizieren kann. Der Rechner kann insbesondere ein persönlicher Rechner wie z.B. Smartphone, Handy, tragbarer Rechner, Desktop-Rechner, Notebook-Rechner und dgl. sein, der maßgeschneiderte Anwendungen ausführen kann.
-
Der Rechner 110 kann mit einem Tag 120 und dem Tokenserver 130 im Laufe der Ausführung der Tokenverwaltungsanwendung ("Anwendung") 115 kommunizieren. Die Anwendung 115 kann ein beliebiges Programm oder Anwendung sein, die auf dem Rechner 110 ausführbar ist, etwa um Funktionen zur Interaktion mit einem Benutzer oder auch Hintergrunddienste bereitzustellen, die vom Rechner 110 oder einem darauf ausgeführten Betriebssystem verwendet werden. Beispielsweise wird in der gesamten Anmeldung lediglich zur Erläuterung bestimmter Operationsbeispiele auf eine oder mehrere Anwendungen 115 Bezug genommen, die die Funktion der Ermöglichung der Ermittlung des Standorts des Rechners 110 und damit auch des Benutzers der Vorrichtung relativ zu einem passiven Rechentag 120 durch Interaktion mit dem Tokenserver 130 bereitstellt.
-
Der Rechner 110 kann mit dem Tokenserver 130 über das Kommunikationsnetzwerk 140 kommunizieren. Die auf dem Rechner 110 ausgeführte Anwendung 115 kann dem Rechner 110 den Befehl erteilen, einen Kommunikationskanal mit dem Tokenserver 130 über das Kommunikationsnetzwerk 140 zu eröffnen, und kann die Kommunikationen mit dem Tag 120 einleiten.
-
Der Tokenserver 130 kann ein zentraler Server in der Nähe des Rechners 110 und/oder Tags 120, ein verteilter Server an zahlreichen dezentralen Orten oder ein Cloud-Server sein. Der Tokenserver 130 kann eine beliebige Vorrichtung sein, die mit dem Rechner 110 kommunizieren kann, um den Standort des Rechners 110 relativ zum Tag 120 zu überprüfen. Der Tokenserver 130 kann auf Anforderung des Rechners 110 zeitgestempelte Tokens ausstellen und überprüfbar unterzeichnen. Der Tokenserver kann kryptographische Funktionen umfassen, insbesondere Tokenerzeugung, Speicherung kryptographischer Schlüssel, kryptographische oder digitale Unterzeichnungsfunktionen sowie sonstige Funktionen wie z.B. Tokenspeicherung oder Protokollierung.
-
Das Kommunikationsnetzwerk 140 kann ein oder mehrere verkabelte Netzwerke, z.B. das Internet, ein WAN, ein LAN, usw., und kann auch drahtlose Kommunikationen mittels drahtloser Protokolle, z.B. Wireless Ethernet, GSM, EDGE, UMTS, WiMAX, LTE, usw. ermöglichen.
-
Tag 120 ("Smart Tag" oder "Infotag") ist eine passive Vorrichtung, die einen computerlesbaren Datenträger und ein an eine Antenne angeschlossenes Radiochip umfasst, das mittels NFC-Technologie oder Radiofrequenzen kommunizieren kann. Da das Tag 120 keine Speisequelle umfasst und sich mittels magnetischer Induktion von anderen Geräten, z.B. dem Rechner 110, mit Strom versorgen lässt, werden diese Tags als "passiv" bezeichnet. Insbesondere kann das Tag 120 ein NFC-Tag der Typen 1–4 sein. Der computerlesbare Datenträger des Tags 120 kann Daten, z.B. Kennungsdaten und einen kryptographischen Schlüssel zur Verwendung bei der erfindungsgemäßen Ortung des Rechners 110 enthalten.
-
Das Tag 120 kann an einen festen physischen Standort, z.B. eine Wand, oder an ein Gerät, z.B. ein MFD 125, wie z.B. ein Textverarbeitungsgerät oder einen Verkaufsautomaten, angebracht werden. Sonstige geeignete Standorte und Geräte, an die das Tag 120 anbringbar ist, sind ohne weiteres erkennbar. Das Tag 120 kann auch ins physische Gehäuse eines Geräts eingebaut, hinter einer transparenten Platte geschützt oder sonst auf bequeme Art mehr oder weniger bemerkbar in eine physische Umgebung eingegliedert werden. Ein Tag 120 kann auch in die Objekte, auf die sie befestigt werden, z.B. mittels eines NFC-Hotspots integriert werden. Das Tag 120 kann eine vor Manipulation geschützte Privatschlüsselkomponente (z.B. nach einem asymmetrischen Verschlüsselungsschema wie z.B. dem bekannten RSA-Verfahren) enthalten und kann digitale Informationen passiv mittels des vom Anfordernden (RFID/NFC oder ähnlichem Lesegerät) zugeführten Stroms unterzeichnen. Diese Unterschrift kann mithilfe eines vertrauten öffentlichen Schlüssels nach allgemein bekannten Prinzipien überprüft werden.
-
Beispielsweise trägt ein Wartungsmitarbeiter, Beamter oder sonstiger Benutzer ein tragbares Gerät, z.B. den Rechner 110, der Hardware aufweist, die das Tag 120 abrufen kann, und die Anwendung 115 ausführen kann, um die vom Tag 120 zu unterzeichnenden Daten einzuholen. Der Rechner 110 über das Kommunikationsnetzwerk 140 kann eine Verbindung zu einem Netzwerk herstellen, das den Tokenserver 130 enthält. Die auf dem Rechner 110 ausgeführte Anwendung kann sich über das Kommunikationsnetzwerk 140 mit dem Tokenserver 130 in Verbindung setzen, um ein Token anzufordern und zu erhalten. Das Token wird vom Tokenserver 130 z.B. mittels eines asymmetrischen Verschlüsselungsprotokolls unterzeichnet und enthält eine aktuelle Zeitstempel, z.B. in Universalzeit. Die Unterschrift kann von jedem überprüft werden, der über den dem Geheimschlüssel des Tokenservers 130 entsprechenden vertrauten öffentlichen Schlüssel verfügt. Dieser öffentliche Schlüssel kann nach bekannten Verfahren veröffentlicht oder verteilt werden. Alternativ kann der Tokenserver 130 das Token stattdessen mittels eines symmetrischen Schlüssels unterzeichnen; dann kann nur der Tokenserver 130 ermitteln, ob er das Token ausgestellt hat. Durch das Unterzeichnen des Tokens kann die Herstellung gefälschter Tokens mit falschen Zeitstempeln im Voraus bei einem einmaligen physischen Besuch des Tags 120 verhindert werden.
-
Die auf dem Rechner 110 ausgeführte Anwendung 115 ruft das Tag 120 ab und sendet das ausgestellte Token zur Gegenzeichnung durch das Tag 120. Das Tag 120 verwendet den eigenen privaten Schlüssel, um das (bereits) unterzeichnete Token gegenzuzeichnen. Diese Gegenzeichnung kann jeder mittels des vertrauten öffentlichen Schlüssels des Tags überprüfen; z.B. kann der Tokenserver 130 die Überprüfung vornehmen. Die Anwendung 115 kann das gegengezeichnete Token dann dem Tokenserver 130 zurücksenden, der nun weiß, dass das genaue Zeitfenster des Besuchs zwischen der Zeitstempel des Tokens und dem Zeitpunkt des Empfangs des gegengezeichneten Tokens vom Rechner 110 liegt.
-
Dieser Vorgang kann für jeden vom Mitarbeiter oder Beamten besuchten Standort wiederholt werden, wodurch eine Folge zeitgestempelter Tokens 120 entsteht, die vom Tag 120 der jeweiligen Standorte unterzeichnet sind. Für die Zuverlässigkeit der von den Token eingeholten Informationen kann garantiert werden, da es praktisch gesehen keine Möglichkeit gibt, die erforderlichen Unterschriften und Tokens zu erraten oder zu fälschen, denn die zu ihrer Erzeugung erforderlichen Schlüssel werden geheimgehalten und sind sicher in jedem Tag 120 eingebettet. Um die Unterschriften zu erhalten, muss man die Standorte tatsächlich besuchen. Die Tags, die die Unterschriften erteilen, benötigen jedoch keine Speisequelle und brauchen auch sonst nicht mit dem Objekten, an die sie befestigt sind, z.B. MFDs, integriert zu werden.
-
In einigen Ausführungsformen könnte das Wissen, dass ein Benutzer sich über einen bestimmten Zeitraum kontinuierlich in der Nähe eines Tags 120 aufhält, wie z.B. im Falle eines Benutzers, der auf ein MFD 125 zugreift, dessen Zugangsrechte aufgrund der Nähe des Benutzers zum MFD 125 vergeben werden, nützlich sein. Der Benutzer könnte den Rechner 110 auf oder in die Nähe des Tags 120, z.B. auf einen bequem positionierten Träger oder Quittierstation (nicht dargestellt) legen, wo der Benutzer den Rechner 110 weiterhin benutzen kann. In diesem Fall könnte der Tokenserver 130 dem Tag 120 kontinuierlich Tokens zur Gegenzeichnung ausstellen. Wird der Zyklus dadurch gebrochen, dass der Rechner 110 vom Tag 120 entfernt wird, kann der Tokenserver 120 daraufhin sofort die Zugangsrechte widerrufen, die Aufenthaltsdauer des Benutzers aufzeichnen oder sonstige Aktionen vornehmen, die sich für den jeweiligen Prozess eignen.
-
2 ist ein Diagramm einer beispielhaften Hardware-Konfiguration des Rechners 200, z.B. des Rechners 110 oder des Tokenservers 130, die zur Ausführung eines oder mehrerer der vorliegend beschriebenen Prozesse verwendet werden kann. Obwohl 2 verschiedene im Rechner 200 enthaltene Komponenten zeigt, ist dem Fachmann klar, dass 2 ein Beispiel eines Rechners darstellt, und dass zusätzliche Komponenten hinzugefügt und vorhandene Komponenten fortgelassen werden können.
-
Wie in 2 gezeigt, kann der Rechner 200 einen oder mehrere Prozessoren 202 mit unterschiedlichen Kernkonfigurationen und Taktfrequenzen umfassen. Der Rechner 200 kann ferner ein oder mehrere Speichergeräte 204 umfassen, die als Hauptspeicher fungieren, wenn der Rechner 200 betrieben wird. Der Rechner 200 kann auch ein oder mehrere Peripheriegeräte 206, z.B. Tastaturen, Mäuse, Touchpads, Bildschirme, Touchscreens, usw. umfassen, um Interaktionen mit und Manipulation des Rechner 200 durch einen Benutzer zu ermöglichen.
-
Das Kommunikationsnetzwerk 200 kann eine oder mehrere Netzwerkschnittstellen 208 zum Kommunizieren über ein oder mehrere Netzwerk, z.b. Ethernet-Adapter, drahtlose Sendeempfänger oder serielle Netzwerkkomponenten zum Kommunizieren über verkabelte oder drahtlose Medien über Protokolle wie z.B. Ethernet, Wireless Ethernet, GSM, EDGE, UMTS, WiMAX, LTE, umfassen. Der Rechner 200 kann ferner ein oder mehrere Speichergeräte 210 mit verschiedenen physischen Abmessungen und Speicherkapazitäten, z.B. Flash-Speicher, Festplatten, RAM, usw. zum Speichern von Daten wie z.B. Bildern, Dateien und Programmbefehlen zur Ausführung durch die einen oder mehrere Prozessoren 202 umfassen. Ein oder mehrere Softwareprogramme 212 können in dem einen oder mehreren Speichergeräten 404 und/oder in dem einen oder mehreren Speichergeräten 210 gespeichert sein. Beispielsweise können das ein oder mehrere Softwareprogramme das Betriebssystem 208, den Datennutzungsdienst 202 und ein sonstiges vom Rechner 200 verwendetes Softwareprogramm umfassen.
-
In einigen Ausführungsformen brauchen die Komponenten des Rechners 200 in einem einzigen Gehäuse enthalten zu sein oder sich auch in der Nähe voneinander zu befinden. Dem Fachmann ist dabei klar, dass die oben beschriebenen Komponenten nur Beispiele sind, da der Rechner 200 Hardware-Komponenten einer beliebigen Art, insbesondere zur Ausführung der beschriebenen Ausführungsformen erforderliche Firmware oder Software, umfassen kann. Der Rechner 200 kann auch ganz oder teilweise mittels elektronischer Schaltungskomponenten oder Prozessoren, z.B. ASICs oder FPGAs ausgeführt werden.
-
3 ist ein Diagramm einer beispielhaften Hardware-Konfiguration des Tokenservers 300, z.B. des Tokenservers 130, die zur Ausführung eines oder mehrerer der vorliegend beschriebenen Prozesse verwendet werden kann. Obwohl 3 verschiedene im Tokenserver 300 enthaltene Komponenten zeigt, ist dem Fachmann klar, dass 3 ein Beispiel eines Tokenservers darstellt, und dass zusätzliche Komponenten hinzugefügt und vorhandene Komponenten fortgelassen werden können.
-
Wie in 3 gezeigt, kann der Tokenserver 300 einen kryptographischen Schlüsselspeicher 305 in Speichergeräten 204 oder 210 umfassen, in dem ein oder mehrere kryptographische Schlüssel gespeichert werden können. Der Tokenserver 300 umfasst ferner einen Tokengenerator 310, der ein oder mehrere Tokens erzeugen kann. Wenn z.B. ein Token vom Rechner 110 angefordert wird, können dem kryptographischen oder digitalen Zeichnungsalgorithmus 325 der kryptographische Schlüssel 315 aus dem Speicher 305 und das vom Tokengenerator 310 erzeugte Token 320 zugeführt werden, die in den Speichergeräten 204 oder 210 gespeichert werden können. Der kryptographische Zeichnungsalgorithmus 325 kann einen Algorithmus wie z.B. SHA1 verwenden. Auch weitere ähnliche Zeichnungsalgorithmen können verwendet werden. Der kryptographische Zeichnungsalgorithmus 325 kann ein unterzeichnetes Token 330 dadurch erzeugen, dass ein kryptographischer Schlüssel 315 auf das Token 320 angewendet werden, welches dann dem Rechner 110 zugeführt werden kann. Der Tokenserver 130 kann auch nach Bedarf ein oder mehrere Hashalgorithmen, z.B. ein Message-Digest-Hashalgorithmus wie z.B. MD5 oder MD6, ein sicherer Hashalgorithmus wie z.B. SHA-2 oder SHA3 oder einen weiteren Hashalgorithmus umfassen.
-
4 zeigt ein Verfahrensbeispiel, wodurch der Rechner 110 mit dem Tokenserver 130 und dem Tag 120 erfindungsgemäß in Interaktion tritt. Der Prozess beginnt bei 405. Bei 410 wird die Anwendung 115 auf dem Rechner 110 vom Benutzer aktiviert. Wenn sich der Benutzer dem Tag 120 nähert oder sich in dessen Nähe aufhält, kann der Benutzer die Anwendung 115 auf dem Rechner aktivieren, indem er eine Ikone oder einen Knopf auf dem Rechner 110 auswählt. Bei 415 kann die Anwendung 115 den Rechner 110 veranlassen, eine Anforderung nach einem Token an den Tokenserver 130 zu senden. Bei 420 kann der Rechner 110 eine Nachricht vom Tokenserver 130 empfangen, die das von einem kryptographischen Schlüssel, entweder einen asymmetrischen privaten Schlüssel oder symmetrischen Geheimschlüssel, mittels eines kryptographischen Zeichnungsalgorithmus kryptographisch unterzeichnete Token enthält. Das Token kann Daten, insbesondere Kennungsdaten und eine zeitliche Kennung, z.B. eine Zeitstempel, bei der entweder das Token erzeugt oder die Anforderung nach dem Token vom Rechner 110 empfangen wurde, enthalten. Bei 425 veranlasst die Anwendung 115 den Rechner 110, dem Tag 120 das kryptographisch unterzeichnete Token zu senden. Bei 430 empfängt der Rechner 110 ein gegengezeichnetes Token vom Tag 120. Das gegengezeichnete Token ist das dem Tag 120 zugeführte Token, wobei das Token mit einem kryptographischen Schlüssel des Tags 120 mittels eines kryptographischen Zeichnungsalgorithmus unterzeichnet worden ist. Beispielsweise kann der kryptographische Schlüssel des Tags 120 ein asymmetrischer privater Schlüssel oder ein im computerlesbaren Datenträger des Tags 120 gespeicherter symmetrischer Geheimschlüssel sein. Bei 435 veranlasst die Anwendung 115 den Rechner 110, dem Tokenserver 130 das gegengezeichnete Token zu senden. Der Tokenserver 130 kann dann den Zeitpunkt aufzeichnen, zu dem das gegengezeichnete Token vom Rechner 110 empfangen wurde und wahlweise das gegengezeichnete Token in einem Speicher speichern. Der Prozess kann bei 440 enden oder zu einem der früheren Prozesspunkten zurückkehren.
-
5 zeigt ein Verfahrensbeispiel, wodurch der Tokenserver 130 mit dem Rechner 110 erfindungsgemäß in Interaktion tritt. Der Prozess beginnt bei 505. Bei 510 empfängt der Tokenserver 130 eine Anforderung nach einem Token vom Rechner 110. Bei 515 kann das Token, sofern es bereits erzeugt worden ist, zugewiesen werden, oder aber es kann vom Tokengenerator 305 erzeugt werden. Insbesondere kann das Token eines oder mehrere der nachfolgend aufgeführten Elemente umfassen: Kennungsdaten, z.B. eine nach dem Zufallsprinzip zugewiesene Kennung, ein kryptographisches Salz und eine Tokenserverkennung. Das kryptographische Salz kann nach dem Zufallsprinzip erzeugte Daten umfassen, die dem Token zur Vermeidung eines Brute Force-Angriffs zur Entdeckung des privaten Schlüssels hinzugefügt werden können. Das Token kann auch Zeitangaben in Form einer Zeitstempel über den Zeitpunkt der Erzeugung des Tokens oder des Eingangs der Anforderung vom Rechner 110 enthalten. Die Zeitangaben können mit einem UTC-Standard codiert werden. Bei 520 kann das Token von einem kryptographischen Schlüssel, entweder einen asymmetrischen privaten Schlüssel oder symmetrischen Geheimschlüssel, mittels eines kryptographischen Zeichnungsalgorithmus kryptographisch unterzeichnet werden. Insbesondere kann die kryptographische Unterzeichnung mittels eines privaten Schlüssels des Tokenservers 130 auf einem Hash des Tokens und der vom Tokenserver 130 verwendeten Zeitstempel erfolgen. Bei 525 kann das kryptographisch unterzeichnete Token dem Rechner 110 zugeführt werden. In diesem Beispiel sieht das Token nun wie folgt aus: (a) Token, umfassend Daten wie z.B. Zufallskennung, kryptographisches Salz, Kennung des Tokenservers 130 und (b) ausgestellte Zeitstempel (z.B. UTC). Eine Unterschrift (c) wird vom Tokenserver 130 mittels des privaten Schlüssels des Tokenservers 130 ausgestellt und auf einem Hash von (a) und (b) berechnet. Bei 530 kann der Tokenserver 130 das gegengezeichnete Token vom Rechner 110 empfangen. Das gegengezeichnete Token kann mit dem privaten Schlüssel des Tags 120 auf einem berechneten Hash des Tokens, der ausgestellten Zeitstempel des Tokenservers 130 und der Unterschrift des Tokenservers 130 unterzeichnet werden. In diesem Beispiel sieht das gegengezeichnete Token nun wie folgt aus: Hash aus (a), (b) und (c). Bei 535 kann der Tokenserver 130 den Zeitpunkt des Empfangs des gegengezeichneten Tokens vom Rechner 110 aufzeichnen. Bei 540 kann der Tokenserver 130 wahlweise das gegengezeichnete Token in einem Speicher speichern.
-
Bei 545 kann der Tokenserver 130 wahlweise eine Version des Tokens unterzeichnen, das um die aktuelle Empfangszeitstempel ergänzt ist, was ein alternatives Mittel zur späteren Übertragung des Tokens und Überprüfung des Zeitfensters des Aufenthalts durch Dritte darstellt, ohne dass der Tokenserver 130 das Token speichern muss. In diesem Beispiel sieht das Token nun wie folgt aus: (a) Token, umfassend Daten wie z.B. Zufallskennung, kryptographisches Salz, Kennung des Tokenservers 130 und (b) ausgestellte Zeitstempel (z.B. UTC). Eine Unterschrift (c) wird vom Tokenserver 130 mittels des privaten Schlüssels des Tokenservers 130 ausgestellt und auf einem Hash von (a) und (b) berechnet. Eine mittels des privaten Schlüssels des Tags 120 vom Tag 120 ausgestellte Gegenzeichnung (d) wird auf einem Hash von (a), (b) und (c) berechnet. Eine empfangene Zeitstempel (e) (z.B. UTC) wird vom Tokenserver 130 nachgewiesen und eine Unterschrift wird vom Tokenserver 130 aus (a), (b), (c), (d) und (e) erzeugt. Der Prozess kann bei 550 enden oder zu einem der früheren Prozesspunkten zurückkehren.
-
In einigen Ausführungsformen können Aspekte der vorliegenden Erfindung auch mit GPS kombiniert werden, um die physische Nähe um geographische Koordinaten zu ergänzen. Dies kann auf bequeme Art über den GPS-Empfänger des Rechners 110 erfolgen.