-
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft ein Verfahren zur Erhöhung der Sicherheit eines Terminals. Genauer betrifft die vorliegende Erfindung ein Verfahren zur Sicherheitsverbesserung eines Softwarecodes, der in einem Terminal unter Verwendung eines automatisierten Ablaufsteuerungsrahmens (Flow Control Framework) läuft.
-
Hintergrund der Erfindung
-
Zur Erhöhung der Sicherheit in einem Terminal wie einem Computer, einem Mobiltelefon oder einer Smartcard (nämlich SIM-Karte, Debitkarte, Kreditkarte oder jegliche Art von Zahlungs-/Identifikationskarten) muss der Programmierer derzeit die Ablaufsteuerungslogik manuell in die Software einfügen. Auch im Betriebssystem (OS) eines Computers, Laptops oder einer Smartcard wird die Ablaufsteuerungslogik manuell in die Software eingefügt, wo immer um Sicherheit betroffen ist. Dieser Prozess ist sehr umständlich. Er erfordert, dass der Programmierer die Inkremente und Dekremente des Kontrollflusses im Auge behält. Da es sich um einen manuellen Prozess handelt, ist er daher fehleranfällig. Dieser Prozess macht die Software langwierig und schwierig für einen Programmierer zu warten.
-
Darüber hinaus kann es zu Sicherheitsverletzungen im Terminal kommen, und die Hacker brechen den Sicherheitspin (Pin = persönliche Identifikationsnummer), der zum Schutz des Terminals vor unbefugten Aktivitäten vorgesehen ist. Die Sicherheitspin-Funktion wird durch einen Pin-Fehlbedienungszähler (Pin retry counter, PIN-Eingabewiederholungszähler) gesichert. Dieser Zähler für die Pin-Wiederholung begrenzt die Anzahl der falschen Versuche einer Person, auf die Karte oder Daten von Geräten zuzugreifen. Wenn die Person in der Lage ist, den Pin-Fehlbedienungszähler zu manipulieren, wie z.B. das Überspringen des Dekrements des Pin-Fehlbedienungszählerschritts und das Abziehen des Terminals vor dem Dekretieren des Pin-Fehlbedienungszählers, kann sie unbegrenzte Pin-Wiederholungen durchführen, wodurch Hacker in die Lage versetzt werden, die im Terminal gespeicherten Daten zu hacken.
-
Es besteht also Bedarf an einem Verfahren zur Erhöhung der Sicherheit eines Terminals, das die bisherigen Nachteile überwinden kann.
-
Gegenstand der Erfindung
-
Ein Ziel der vorliegenden Erfindung ist es, ein Verfahren zur Sicherheitsverbesserung eines Softwarecodes bereitzustellen, der in einem Terminal unter Verwendung eines automatisierten Ablaufsteuerungslogikrahmens ausgeführt wird.
-
Insbesondere ist es ein Ziel der vorliegenden Erfindung, ein Verfahren zur Sicherheitsverbesserung eines in einem Terminal laufenden Softwarecodes bereitzustellen, der mit einem Funktionsaufruf zur Automatisierung des Sicherheitsprozesses versehen ist.
-
Insbesondere ist es ein Ziel der vorliegenden Erfindung, ein Verfahren zur Sicherheitsverbesserung eines in einem Terminal laufenden Softwarecodes bereitzustellen, bei dem die Reihenfolge der Anweisungen leicht wartbar und lesbar ist.
-
Insbesondere ist es ein Ziel der vorliegenden Erfindung, ein Verfahren zur Sicherheitsverbesserung eines in einem Terminal laufenden Softwarecodes bereitzustellen, das fehlerfrei ist, und bei dem nicht die Anforderung an den Programmierer besteht, in der Software Prüfungen zum Inkrementieren und Dekrementieren der Ablaufkontrollzähler durchzuführen.
-
Insbesondere ist es ein Ziel der vorliegenden Erfindung, ein Verfahren zur Sicherheitsverbesserung eines in einem Terminal laufenden Softwarecodes bereitzustellen, das Hacking und Spoofing von im Terminal gespeicherten Daten verhindert.
-
Zusammenfassung der Erfindung
-
Der Gegenstand wird durch eine Erfindung erreicht, wie sie in den unabhängigen Ansprüchen beschrieben ist. Ausführungsformen der Erfindung werden in abhängigen Ansprüchen beschrieben. Gemäß der vorliegenden Erfindung wird ein Verfahren zur Sicherheitsverbesserung eines Softwarecodes, der in einem Terminal ausgeführt wird, unter Verwendung eines automatisierten Ablaufsteuerungslogikrahmens bereitgestellt. Sicherheitskritische Codeabschnitte werden durch einen Ablaufkontrollzähler geschützt, dessen Anzahl vor der Ausführung des sicherheitskritischen Codeabschnitts erhöht (durch ein Prologmodul) und nach der Ausführung des sicherheitskritischen Codeabschnitts verringert (durch ein Epilogmodul) wird, vorzugsweise jedoch nur, wenn der sicherheitskritische Codeabschnitt ausgeführt und nicht übersprungen wird. Die erhöhte Anzahl wird mit einer erwarteten erhöhten Anzahl verglichen. Wenn der sicherheitskritische Codeabschnitt übersprungen wird, wird auch der Epilog übersprungen. Infolgedessen entspricht bei einem nächsten sicherheitskritischen Codeabschnitt, wenn der Prolog die Anzahl der Ablaufkontrollzähler erhöht, die erhöhte Anzahl nicht der erwarteten Anzahl, da der vorherige Epilog und damit die Verringerung des Ablaufkontrollzählers übersprungen wurde. Als Folge dieser Diskrepanz wird ein Sicherheitsalarm ausgelöst. Optional kann die Warnung mit der Unterbrechung der Ausführung der Software einhergehen, so dass die Softwareausführung nur dann bis zum Ende des Softwarecodes fortgesetzt wird, wenn keine kritischen relevanten Codeabschnitte übersprungen werden. Zu Gunsten des oben beschriebenen Szenarios, vorzugsweise, impliziert der Softwarecode mindestens zwei sicherheitskritische Codeabschnitte, die jeweils durch den Ablaufzähler geschützt sind, in Serie. Insbesondere kann als sicherheitskritischer Software-Codeabschnitt ein, mehrere oder alle von folgenden vorgesehen werden: eine Pin-Fehlbedienungszähler-Dekrement-Routine; eine PIN-Vergleichs-Routine; eine Pin-Fehlbedienungszähler-Inkrement-Routine.
-
Das Terminal kann ein Computer, ein Laptop, ein Mobiltelefon oder eine Smartcard sein, die für Finanz-/Identifikationszwecke und dergleichen verwendet wird. Diese Terminals können nach Eingabe einer autorisierten Sicherheits-PIN bedient werden. Die Authentifizierung wird durch den Ablaufsteuerungslogikrahmen (Flow Control Logic Framework) entweder durch Software oder Hardware vor- und nachverarbeitet. Die Rahmenoperation der Ablaufsteuerungslogik ist mit einer Folge von Anweisungen im Prolog und Epilog programmiert, wobei die Prolog- und Epilogfunktionalität automatisch für Funktionen aufgerufen wird, die eine sichere Ablaufsteuerungslogik im Terminal erfordern. Insbesondere wird der Ablaufsteuerungslogikrahmen auf das Terminal angewendet, wenn eine sichere Operation wie eine Benutzerauthentifizierung am Terminal durchgeführt wird.
-
In einem ersten Schritt wird ein Softwarecode teilweise ausgeführt und initialisiert den Rahmen der Ablaufsteuerungslogik mit Zufallswerten. Der Softwarecode umfasst unkritische und sicherheitskritische Codeabschnitte. In der vorliegenden Ausführungsform können die sicherheitskritischen Codeabschnitte eine PIN-Vergleichsroutine oder eine PIN-Erhöhung vor dem PIN-Vergleich oder eine PIN-Erhöhung nach dem PIN-Vergleich sein.
-
Weiterhin wird der Prolog vor der Ausführung der sicherheitskritischen Software-Codeabschnitte ausgeführt. In der vorliegenden Ausführungsform kann der sicherheitskritische Software-Codeabschnitt verschachtelte sicherheitskritische Softwareabschnitte enthalten. Als nicht einschränkendes Beispiel ist das Verfahren mit einem verschachtelten sicherheitskritischen Software-Codeabschnitt 1 und einem verschachtelten sicherheitskritischen Codeabschnitt 2 versehen. Für einen Fachmann kann es selbstverständlich sein, endlose verschachtelte sicherheitskritische Abschnitte in der Methode bereitzustellen. Weiterhin wird der sicherheitskritische Software-Codeabschnitt ausgeführt. Der Softwarecode kann ein Authentifizierungsmodul umfassen, das eine PIN-Fehlbedienungsroutine umfasst. Die PIN-Fehlbedienungsroutine kann einen sicherheitsrelevanten Software-Codeabschnitt, eine PIN-Erhöhungsroutine, eine PIN-Vergleichsroutine und eine PIN-Erniedrigungsroutine umfassen.
-
Weiterhin wird der Prolog vor der Ausführung des verschachtelten sicherheitskritischen Software-Anschnitts 1 ausgeführt. Anschließend wird der verschachtelte sicherheitskritische Software-Codeabschnitt 1 ausgeführt. Im nächsten Schritt wird die Epilogfunktion automatisch ausgeführt, bevor sie den verschachtelten sicherheitskritischen Software-Codeabschnitt 1 verlässt. Der Prolog wird vor der Ausführung des verschachtelten sicherheitskritischen Software-Codeabschnitts 2 weiter ausgeführt. Anschließend wird der verschachtelte sicherheitskritische Softwareabschnitt 2 ausgeführt. Auch hier wird der Epilog ausgeführt, bevor der verschachtelte sicherheitskritische Softwareabschnitt 2 verlassen wird. Schließlich wird der Epilog vor dem Verlassen des sicherheitskritischen Softwarebereichs ausgeführt.
-
Der Prolog ist ein Modul mit Schritten, bei denen die Ablaufkontrollzähler jedes Mal, wenn eine sichere Funktionalität ausgeführt wird, um einen Zählerschrittbetrag (Zählerschritt) erhöht werden und eine Warnung ausgelöst wird, wenn die Ablaufkontrollzähler nicht mit den erwarteten Werten übereinstimmen. Der Epilog ist ein Modul mit den Schritten, die Ablaufkontrollzähler jedes Mal, wenn eine sichere Funktionalität ausgeführt wird, um einen Zähler zu dekrementieren und einen Alarm auszulösen, wenn die Ablaufkontrollzähler nicht mit den erwarteten Werten übereinstimmen. Die Prolog- und die Epilog-Funktionalität können in Hard- oder Software implementiert sein. Der Prologzählerschritt und der Epilogzählerschritt können die gleiche Schrittzahl von Erhöhungen bzw. Verringerungen sein.
-
Figurenliste
-
Die Vorteile und Merkmale der vorliegenden Erfindung werden durch die folgende detaillierte Beschreibung und die Ansprüche in Verbindung mit den beigefügten Zeichnungen besser verständlich, wobei gleichartige Elemente mit gleichen Symbolen bezeichnet sind und in denen:
- 1 eine Ausführungsform veranschaulicht, die ein Verfahren zur Sicherheitsverbesserung eines Terminals unter Verwendung eines automatisierten Ablaufsteuerungslogikrahmens gemäß der vorliegenden Erfindung darstellt;
- 2 ein Flussdiagramm ist, das den Funktionsteil eines Prologs gemäß der vorliegenden Erfindung darstellt;
- 3 ein Flussdiagramm ist, das den Funktionsteil eines Nachwortes gemäß der vorliegenden Erfindung veranschaulicht; und
- 4 ein Flussdiagramm ist, das ein Beispiel für die Benutzerauthentifizierung an einem Terminal zur Demonstration der vorliegenden Erfindung darstellt.
-
Detailbeschreibung der Erfindung
-
Die vorliegende Erfindung soll ein Verfahren zur Erhöhung der Sicherheit eines Terminals unter Verwendung eines automatisierten Ablaufsteuerungslogikrahmens bereitstellen. Die Erfindung ist mit einem Funktionsaufruf zur Automatisierung des Sicherheitsprozesses ausgestattet. Darüber hinaus ist die Reihenfolge der Anweisungen und Funktionen leicht zu warten und zu lesen. Darüber hinaus ist die vorliegende Erfindung fehlerfrei und es besteht keine Erfordernis für den Programmierer, manuell auf Inkrement und Dekrement der Ablaufzähler zu prüfen. Außerdem verhindert die vorliegende Erfindung das Hacken und Spoofing von im Terminal gespeicherten Daten.
-
Die offenbarten Ausführungsformen sind nur exemplarisch für die Erfindung, die in verschiedenen Formen dargestellt werden kann.
-
Unter Bezugnahme auf 1 wird nun ein Flussdiagramm eines Verfahrens 100 zur Sicherheitsverbesserung eines Softwarecodes, der in einem Terminal unter Verwendung eines automatisierten Ablaufsteuerungslogikrahmens gemäß der vorliegenden Erfindung ausgeführt wird, dargestellt. Die Sicherheitsverbesserung wird durch den Framework-Betrieb der Ablaufsteuerungslogik entweder durch Software oder Hardware verarbeitet. Das Endgerät kann ein Computer, ein Laptop, ein Mobiltelefon, eine Zahlungskarte oder eine Smartcard sein, die für Finanz-/Authentifizierungszwecke und dergleichen verwendet wird.
-
Weiterhin sind die Terminals in dieser Ausführungsform nach Eingabe einer autorisierten Sicherheits-PIN betriebsbereit. So kann beispielsweise über eine Pin-Eingabe auf die Terminals zugegriffen werden, um die Identität eines Benutzers zu überprüfen und so die Authentizität des Benutzers zu unterscheiden, und das Terminal kann mit einem Eingabe-Fehlbedienungszähler (input retry counter) gesichert sein, um den unbefugten Zugriff durch einen Dritten einzuschränken. Der Eingabe-Fehlbedienungszähler kann ein Pin-Fehlbedienungszähler (pin retry counter) sein. Darüber hinaus kann das Verfahren 100 in jede Logik implementiert werden, die eine verbesserte Sicherheitsimplementierung erfordert und ist nicht nur auf die PIN-basierte Authentifizierung beschränkt.
-
Der Ablaufsteuerungslogikrahmen ist mit einer Folge von Anweisungen in einem Prolog und einem Epilog programmiert, wobei die Prolog- und Epilogfunktionalität automatisch für Funktionen aufgerufen wird, die einen gesichertes Ablaufsteuerungslogikrahmen im Terminal erfordern. Insbesondere wird der Rahmen (das Framework) der Ablaufsteuerungslogik auf das Terminal angewendet, wenn eine Sitzung am Terminal authentifiziert wird. Zum Beispiel: Wenn ein Benutzer versucht, einen Benutzer mit einer sicheren PIN zu authentifizieren.
-
Unter erneuter Bezugnahme auf 1 beginnt das Verfahren 100 bei Schritt 110.
-
Bei Schritt 120 wird ein Softwarecode zumindest teilweise ausgeführt und initialisiert den Ablaufsteuerungslogikrahmen mit Zufallswerten. Der Softwarecode umfasst unkritische und sicherheitskritische Codeabschnitte. In der vorliegenden Ausführungsform können die sicherheitskritischen Codeabschnitte eine PIN-Vergleichsroutine oder eine PIN-Erhöhung vor dem PIN-Vergleich oder eine PIN-Erhöhung nach dem PIN-Vergleich sein.
-
Bei Schritt 130 wird der Prolog vor der Ausführung des sicherheitskritischen Softwareabschnitts ausgeführt. In der vorliegenden Ausführungsform enthält der sicherheitskritische Software-Codeabschnitt einen verschachtelten sicherheitskritischen Softwareabschnitt. Als nicht einschränkendes Beispiel ist das Verfahren 100 mit einem verschachtelten sicherheitskritischen Software-Codeabschnitt 1 und einem verschachtelten sicherheitskritischen Codeabschnitt 2 versehen. Für einen Fachmann kann es naheliegend sein, im Verfahren 100 endlose verschachtelte sicherheitskritische Abschnitte bereitzustellen.
-
Bei Schritt 140 wird der sicherheitskritische Software-Codeabschnitt ausgeführt. So kann beispielsweise der Softwarecode ein Authentifizierungsmodul umfassen, das eine PIN-Wiederholungsroutine umfasst. Die Pin-Wiederholungsroutine umfasst einen sicherheitsrelevanten Software-Codeabschnitt, eine Pin-Erhöhungsroutine, eine PIN-Vergleichsroutine und eine PIN-Abnahmeroutine.
-
Bei Schritt 142 wird der Prolog vor der Ausführung des verschachtelten sicherheitskritischen Softwareteils 1 ausgeführt.
-
Bei Schritt 144 wird der verschachtelte sicherheitskritische Softwarecode Teil 1 ausgeführt.
-
Bei Schritt 146 wird die Epilogfunktion automatisch ausgeführt, bevor die verschachtelte sicherheitskritische Software Teil 1 verlassen wird.
-
Weiterhin wird bei Schritt 148 der Prolog vor der Ausführung der verschachtelten sicherheitskritischen Software Abschnitt 2 weiter ausgeführt.
-
Bei Schritt 150 wird die verschachtelte sicherheitskritische Software Teil 2 ausgeführt.
-
Auch bei Schritt 152 wird der Epilog ausgeführt, bevor der verschachtelte sicherheitskritische Softwareteil 2 verlassen wird.
-
Weiterhin wird bei Schritt 160 der Epilog vor dem Verlassen des sicherheitskritischen Softwareteils ausgeführt. Weiterhin erhöht der Prolog den Ablaufzähler um eine vordefinierte Anzahl auf eine erhöhte Anzahl.
-
Der Prolog vergleicht die erhöhte Anzahl mit einer erwarteten Anzahl des Ablaufzählers. Weiterhin verringert der Epilog den Ablaufzähler um den gleichen Wert, wenn der erhöhte Wert dem erwarteten Wert entspricht. Wenn ein sicherheitsrelevanter Software-Codeabschnitt übersprungen wird, wird auch der nachfolgende Epilog übersprungen. Infolgedessen erkennt der nächste Prolog eine erhöhte Anzahl des Ablaufkontrollzählers, die nicht mit der erwarteten Anzahl übereinstimmt, und es wird ein Sicherheitsalarm ausgelöst, wenn die erhöhte Anzahl nicht mit der erwarteten Anzahl übereinstimmt.
-
Das Verfahren 100 endet bei Schritt 170.
-
Weiterführend zu 2 wird ein Beispiel für den Funktionsteil eines Prologs 200 erläutert.
-
Die Rahmenarbeit der Ablaufsteuerungslogik wird eingeleitet und ruft den Prolog bei Schritt 210 auf.
-
Bei Schritt 220 wird die Verschachtelungsebene um eins erhöht.
-
Bei Schritt 230 wird die aktuelle Ablaufsteuerungslogik um einen Wert erhöht, der dem Volumenstrom-Inkrementwert von Schritt 210 entspricht.
-
Weiterhin wird bei Schritt 240 der tatsächliche Ablaufkontrollzählerstand gegen einen erwarteten Ablaufkontrollzählerstand verifiziert. Wenn der tatsächliche Ablaufkontrollzählerstand mit dem erwarteten Ablaufkontrollzählerstand übereinstimmt (anfänglicher Ablaufkontrollzählerstand + (Ablauf-Inkrementwert *Schachtelungsebene)), endet die Prolog-Funktionalität normalerweise. Wenn bei Schritt 240 die tatsächliche Ablaufkontrolle nicht mit dem erwarteten Wert übereinstimmt (anfänglicher Ablaufzähler + (Ablaufinkrementwert *Verschachtelungsebene)), wird bei Schritt 250 innerhalb des Terminals ein Sicherheitsalarm ausgelöst. Der Prolog endet bei Schritt 360.
-
Weiterhin ist in ein Beispiel für den Funktionsteil eines Epilog erläutert.
-
Die Epilogfunktion 300 beginnt bei Schritt 310.
-
Bei Schritt 320 wird die Verschachtelungsebene um eins erhöht.
-
Bei Schritt 330 wird die aktuelle Ablaufregelung um den Wert gleich dem Ainkrementwert dekrementiert.
-
Weiterhin wird bei Schritt 340 der aktuelle Ablaufregelwert mit dem erwarteten Ablaufzählerwert verglichen. Wenn der tatsächliche Ablaufzählerwert mit dem erwarteten Ablaufzählerwert übereinstimmt (anfänglicher Ablaufzähler + (Ablaufdekrementwert *Schachtelungsebene)), endet die Prolog-Funktionalität normalerweise. Weiterhin bei Schritt 340, wenn die tatsächliche Ablaufkontrolle nicht übereinstimmt (anfänglicher Ablaufzähler + (Ablaufzuwachswert *Schachtelungsebene)), löst die Epilogfunktionalität bei Schritt 350 einen Sicherheitsalarm aus. Der Epilog endet bei Schritt 360.
-
zeigt ein Beispiel, das das Verfahren 100 veranschaulicht. Insbesondere wird ein Authentifizierungsverfahren basierend auf einem Pin-Fehlbedienungszähler dargestellt.
-
Das Verfahren beginnt bei Schritt 400.
-
Bei Schritt 410 wird der Softwarecode zur Ausführung gestartet und initialisiert den Rahmen der Ablaufsteuerungslogik mit Zufallswerten.
-
Weiterhin wird bei Schritt 420 im Terminal eine Eingabe zur Authentifizierung eines Benutzers oder einer Sitzung empfangen. Schritt 420 ist der Schritt, der durch den Ablaufzähler gemäß der Erfindung geschützt ist.
-
Der Authentifizierungsprozess 420 kann die Überprüfung einer Eingabe oder einer komplexeren Challenge-Response-Authentifizierung umfassen. In dieser Ausführungsform ist für die Authentifizierung des Terminals eine Eingabe, wie beispielsweise eine PIN-Verifizierung, erforderlich. Das Terminal ist bereits mit einer vordefinierten Referenzdaten wie einer PIN gespeichert. Der PIN-basierte Benutzer/Session-Authentifizierungsprozess 420 umfasst einen kleineren sicheren Prozess, d.h. die Verringerung des PIN-Wiederholungszählers, den PIN-Vergleich und bei erfolgreichem Vergleich einen Reset/Erhöhung des PIN-Wiederholungszählers auf den maximal zulässigen Wiederholungswert.
-
Bei Schritt 420 wird die Eingabe mit den vom Benutzer im Terminal vordefinierten gespeicherten Referenzdaten abgeglichen und bei Schritt 430 wird ein Ergebnis des Abgleichs erzeugt (Ergebnis: Authentication Success YES oder NO). Gleichzeitig ruft das logische Framework der Ablaufsteuerung Prolog und Epilog auf, um den Authentifizierungsprozess in einer vordefinierten Reihenfolge (Boxen, die Box 420 umfassen) sicherzustellen. Wenn die Eingabe mit den gespeicherten Referenzdaten der vom Benutzer im Terminal vordefinierten PIN übereinstimmt (Box 420), ruft das Flow Control Logic Framework Prolog und Epilog auf, um den Authentifizierungsprozess in einer vordefinierten Reihenfolge sicherzustellen. Die Benutzer/Session-Authentifizierung ist ein sicherer Prozess, der auf einem sicherheitskritischen Codeabschnitt kodiert ist. Um die Sicherheit der Benutzer/Session-Authentifizierung zu erhöhen, wird der Prolog beim Eintritt in die Benutzer/Session-Authentifizierung und der Epilog beim Austritt aus der Benutzer/Session-Authentifizierungsfunktion automatisch aufgerufen. Eine Fehlanpassung der Ablaufzähler in den Funktionen Prolog und Epilog führt zu einer Sicherheitsmeldung. Dadurch wird sichergestellt, dass während des Authentifizierungsprozesses eine korrekte und erwartete Codefolge ausgeführt wird. In dieser Ausführungsform wird der empfangene Eingang, der zur Authentifizierung des Terminals eingegeben wird, einer Verifizierung unterzogen, wobei er mit gespeicherten Referenzdaten abgeglichen wird, die vom Benutzer innerhalb des Terminals vordefiniert sind. Da dies eine sichere Funktionalität ist und erhöhte Sicherheit erfordert, ruft das Framework für die automatisierte Ablaufsteuerung Prolog und Epilog auf, die den korrekten Ablauf der Ausführung während des Authentifizierungsprozesses sicherstellen. Insbesondere in diesem Schritt, wenn die Authentifizierung fehlschlägt, verringert sich der Eingabewiederholungszähler im Terminal um einen Zähler aus einer vordefinierten Anzahl und der Benutzer erhält keinen Zugriff auf eine der Terminalressourcen. Schritt 420 Benutzer/Sitzung authentifizieren, umfasst die drei Routinen (1) PIN-Wiederholungszähler-Dekrement, (2) PIN-Vergleich und (3) PIN-Wiederholungszähler-Inkrement, für jede der drei Routinen wird ein eigener Prolog und Epilog in dieser Reihenfolge (1), (2), (3) aufgerufen. Falls (1) das Dekrement des PIN-Wiederholungszählers übersprungen wird, wird auch der Epilog der (1) PIN-Wiederholungszählungsroutine übersprungen, und der Flusskontrollzähler überspringt einen Zähler. Somit erhält der Prolog der (2) PIN-Vergleichsroutine einen Flusskontrollzähler, der einen Zähler übersprungen hat. Nachdem der Prolog von (2) den Ablaufkontrollzähler erhöht hat, fehlt dem Ablaufkontrollzähler also noch ein Zähler. So liefert der Vergleich der erhöhten mit der erwarteten Anzahl eine Diskrepanz.
-
Der Prolog ist ein Modul mit Schritten, bei denen die Ablaufzähler jedes Mal, wenn eine sicherer Operation durchgeführt wird, um einen Zählerschritt erhöht werden und ein Alarm ausgelöst wird, wenn die Ablaufzähler nicht mit dem erwarteten Wert übereinstimmen. Der Epilog ist ein Modul mit den Schritten, den Ablaufzähler bei jeder sicheren Operation um einen Zähler zu verringern und einen Alarm auszulösen, wenn die Ablaufzähler nicht mit dem erwarteten Wert übereinstimmen. Die Prolog- und die Epilogfunktionalität können in Hard- oder Software implementiert werden.
-
Weiterhin wird bei Schritt 450 die Eingabe authentifiziert, um eine Sitzung zu aktivieren, indem das erfolgreiche Ergebnis der Authentifizierung überprüft wird. Nach erfolgreicher Authentifizierung erhält der Benutzer in Schritt 460 den Zugriff. Insbesondere, wenn das Ergebnis der Authentifizierung erfolgreich ist, basierend auf dem vom Benutzer bereitgestellten Eingabepin, erhält der Benutzer Zugriff auf das Terminal und der Benutzer kann 460 fortfahren und die Ressourcen auf dem Terminal nutzen. Bei fehlendem Authentifizierungserfolg 440 wird der Benutzer abgelehnt.
-
Das Verfahren ist ein typischer Benutzer / Session-Authentifizierungsprozess. Bei einem sicherheits-PIN-basierten Authentifizierungsprozess wird die Anzahl der fehlerhaften oder fehlgeschlagenen Authentifizierung an einem Terminal durch den Fehlbedienungszähler (PIN retry counter) begrenzt. Wenn die Anzahl der fehlgeschlagenen Authentifizierungen die maximal zulässige Eingabewiederholung überschreitet, wird das Terminal blockiert und benötigt Administratorrechte, um den PIN- Fehlbedienungszähler wieder auf den Standardwert zurückzusetzen. Wie zu sehen ist, sind Operationen auf dem PIN-Fehlbedienungszähler, d.h. Dekrement oder Reset, sichere Operationen und erfordern erhöhte Sicherheit. Wenn es Hackern gelingt, PIN-Fehlbedienungszähler-Operationen zu überspringen, ist der Ablaufzählerrahmen, d.h. der Prolog und der Epilog, in der Lage, diese zu erkennen und den Sicherheitsalarm auszulösen.
-
Da der Sicherheitsschlüssel nach jedem Zugriffsversuch auf das Terminal ausgewertet wird, stellt der Kontrollablauf sicher, dass die Manipulation von Anweisungen zu Sicherheitsschlüsseln im Fehlbedienungszäher des Terminals verhindert wird.
-
Das Verfahren endet bei Schritt 470.
-
Die Vorteile der vorliegenden Erfindung liegen darin, ein Verfahren 100 zur Sicherheitsverbesserung eines Terminals unter Verwendung eines automatisierten Ablaufsteuerungslogikrahmens bereitzustellen. Die Erfindung ist mit einem Funktionsaufruf zur Automatisierung des Sicherheitsprozesses ausgestattet. Darüber hinaus ist die Reihenfolge der Anweisungen zur Überprüfung der Authentizität des Sicherheitspins leicht wartbar und lesbar. Darüber hinaus ist die vorliegende Erfindung fehlerfrei und es besteht keine Erfordernis für den Programmierer, den Schlüssel auf Inkrement und Dekrement des Kontrollablaufs zu überprüfen. Außerdem verhindert die vorliegende Erfindung das Hacken und Spoofing von im Terminal gespeicherten Daten.