-
QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
-
Die vorliegende Anmeldung beruht auf und beansprucht die Priorität basierend auf United States Provisional Application 61/899,407, eingereicht am 4. November 2013, die durch Bezugnahme hierin vollständig aufgenommen ist.
-
TECHNISCHES GEBIET
-
Die vorliegende Offenbarung betrifft im Allgemeinen CAPTCHA-Systeme. Genauer gesagt, betrifft die vorliegende Offenbarung computergestützte CAPTCHA-Systeme, um einen Benutzer auf Basis von Reputationsinformationen zu überprüfen. Unter Schutz gestellt werden und Gegenstand des Gebrauchsmusters sind dabei, entsprechend den Vorschriften des Gebrauchsmustergesetzes, lediglich Vorrichtungen wie in den beigefügten Schutzansprüchen definiert, jedoch keine Verfahren. Soweit nachfolgend in der Beschreibung gegebenenfalls auf Verfahren Bezug genommen wird, dienen diese Bezugnahmen lediglich der beispielhaften Erläuterung der in den beigefügten Schutzansprüchen unter Schutz gestellten Vorrichtung oder Vorrichtungen.
-
HINTERGRUND
-
Vertrauen ist ein wertvolles Gut bei web-basierten Interaktionen. Ein Benutzer muss beispielsweise darauf vertrauen, dass eine Einheit ausreichende Mechanismen bereitstellt, um seine Identität oder sonstige vertrauliche Informationen zu bestätigen und zu schützen, damit der Benutzer sich bei der Interaktion mit dieser Einheit sicher fühlt. Ferner muss eine Einheit, die eine Web-Ressource bereitstellt, in der Lage sein, automatisierte Angriffe abzuwehren, die zu böswilligen Zwecken versuchen, Zugang zur Web-Ressource zu erhalten. Aus diesem Grund sind hochentwickelte Authentifizierungsmechanismen, die in der Lage sind, zwischen einer von einem menschlichen Wesen stammenden und einer von einer automatisierten Maschine generierten Anfrage von Ressourcen zu unterscheiden, ein entscheidendes Instrument um sicherzustellen, dass Web-Ressourcen von automatisierten Angriffen geschützt sind und das erforderliche Vertrauensverhältnis zwischen einem Ressourcenanbieter und einem Benutzer aufgebaut wird.
-
CAPTCHA-Systeme („completely automated public Turing test to tell computers and humans apart” wörtlich übersetzt „vollautomatischer öffentlicher Turing Test, um Computer und Menschen voneinander zu unterscheiden”) sind in der Lage einen derartigen Authentifizierungsmechanismus bereitzustellen. Ein Ziel des CAPTCHA-Systems besteht darin, Situationen auszunutzen, in den Menschen bekanntermaßen in der Lage sind, Aufgaben besser als automatisierte Maschinen zu bewältigen. Deshalb können CAPTCHA-Systeme als Teil eines Überprüfungsprozesses eine Herausforderung bereitstellen, die von einem Menschen lösbar, aber von einer Maschine im Allgemeinen nicht lösbar ist.
-
In bestimmten bereits existierenden CAPTCHA-Systemkonfigurationen ist der Ressourcenanbieter in äußerst hohem Maße am Überprüfungsprozess beteiligt und fungiert als Schnittstelle zwischen der Recheneinrichtung des Benutzers und dem CAPTCHA-System. Als Beispiel kann die Recheneinrichtung des Benutzers den Zugang zu einer Ressource des Ressourcenanbieters anfordern. Dies kann z. B. über eine Webseite des Ressourcenanbieters erfolgen. Infolgedessen kann der Ressourcenanbieter bei derartigen bestehenden Konfigurationen eine Webseite oder einen sonstigen computerlesbaren Code zurücksenden, die der Recheneinrichtung des Benutzers die Anweisung erteilt, eine einfache CAPTCHA-Herausforderung von einem CAPTCHA-System abzurufen, zum Beispiel durch das Abrufen eines Bildes vom CAPTCHA-System, auf das sich ein verzerrt dargestellter Text befindet. Alternativ dazu kann der Ressourcenanbieter das Bild vom CAPTCHA-System abrufen und dann das Bild der Recheneinrichtung des Benutzers bereitstellen.
-
Nach Erhalt der Herausforderung kann die Recheneinrichtung des Benutzers eine Lösung vom Benutzer erhalten und diese an den Ressourcenanbieter zurücksenden, beispielsweise mittels eines Formulars auf der Webseite des Ressourcenanbieters. Im Gegenzug kann der Ressourcenanbieter mit dem CAPTCHA-System kommunizieren, um zu bestätigen, ob die vom Benutzer bereitgestellte Lösung richtig ist. Daher ist der Ressourcenanbieter im Falle derartiger Konfigurationen für die Beaufsichtigung des Überprüfungsprozesses verantwortlich und muss mehrere Datensätze handhaben und weiterleiten.
-
Es werden jedoch unterschiedliche Probleme mit derartigen bereits bestehenden Konfigurationen in Verbindung gebracht. Im Falle derartiger bereits bestehender Konfigurationen beruht der Authentifizierungsprozess zum Beispiel ausschließlich auf die passive Komplexität der CAPTCHA-Herausforderung. Im Falle von Konfigurationen, im Rahmen derer eine bildbezogene Herausforderung einfach vom CAPTCHA-System abgerufen wird, beruht der Überprüfungsprozess beispielsweise ausschließlich auf der Schwierigkeit, die bildbezogene Herausforderung erfolgreich zu meistern. Der Überprüfungsprozess wird somit nicht auf dynamische Weise abgestimmt oder anderweitig auf intelligente Art vor dem Hintergrund zusätzlicher zur Verfügung stehender Informationen beliebiger Art individualisiert. Insbesondere versäumen derartige bereits bestehende Prozesse, vorliegende, verfügbare und mit dem Benutzer oder der Recheneinrichtung des Benutzers in Verbindung stehende Reputationsinformationen in Betracht zu ziehen oder miteinzubeziehen.
-
Da der Ressourcenanbieter dazu verpflichtet ist, als Schnittstelle zwischen der Recheneinrichtung des Benutzers und dem CAPTCHA-System zu agieren, kann jede Instanz der Kommunikation als weiteres Beispiel unter einer erhöhten Latenz leiden, wodurch die Verzögerung zwischen der Anfrage und dem Zugriff auf die Ressource erhöht wird und die Zufriedenheit des Benutzers verringert wird.
-
Ein weiteres mit bereits vorliegenden Konfigurationen in Verbindung stehendes Problem besteht darin, dass der Ressourcenanbieter eine ausreichende Menge an computergesteuerten Ressourcen und Sicherheitsmaßnahmen aufrechterhalten muss, um den Überprüfungsprozess implementieren und überwachen zu können. Insbesondere kann der Ressourcenanbieter im Falle derartiger bereits bestehender Konfigurationen dazu verpflichtet werden, sein System oder seine Rechenfähigkeiten zu aktualisieren und auf den neuesten Stand zu bringen, um neuen Herausforderungsformaten, wie etwa Audio-CAPTCHA-Herausforderungen für Menschen mit einer Sehschwäche, gerecht zu werden.
-
Jede Verbesserung oder Aktualisierung des Überprüfungsprozesses kann somit entsprechende Aktualisierungen oder verbesserte Rechenressourcen erfordern, die vom Ressourcenanbieter umgesetzt werden müssen. In dem Maße, in dem automatisierte Angriffe im Laufe der Zeit im Allgemeinen immer komplexer und intelligenter werden, werden neue Überprüfungsverfahren erfordert, die dem Ressourcenanbieter die Last auferlegen, sein System immer wieder aufs Neue zu aktualisieren und sicherzustellen, dass er sich nicht als das schwache Glied des Überprüfungsprozesses herausstellt. Für viele Ressourcenanbieter können derartige kontinuierliche Aktualisierungen eine Ausschöpfung ihrer IT- und computertechnischen Ressourcen und eine Ablenkung von ihrer Arbeit zur Verbesserung von Aspekten ihres Kernprodukts oder ihrer Kerndienstleistung darstellen.
-
Schließlich besteht aus der Perspektive des Benutzers ein weiteres mit bereits bestehenden Konfigurationen in Verbindung stehendes Problem, aufgrund dessen der Benutzer eine Interaktion mit dem Ressourcenanbieter als Aufsichtsinstanz des Überprüfungsprozesses eingehen muss. Bestimmte Überprüfungsprozesse können neben dem Bestehen einer CAPTCHA-Herausforderung, beispielsweise das Übermitteln von identifizierenden Informationen, wie etwa einem Benutzerkonto, beinhalten. In gewissen Situationen kann es der Benutzer vorziehen, direkt mit einem CAPTCHA-System zu interagieren, das von einer bekannten und vertrauenswürdigen Einheit bereitgestellt wird, anstatt einem noch unbekannten oder nicht vertrauenswürdigen Ressourcenanbieter identifizierende Informationen zu übermitteln.
-
ZUSAMMENFASSUNG
-
Aspekte und Vorteile der Ausführungsformen der vorliegenden Offenbarung sind zum Teil in der folgenden Beschreibung angegeben oder können aus der Beschreibung offenkundig sein, oder sie können durch Umsetzung der Ausführungsformen in der Praxis erfahren werden.
-
Ein Aspekt der vorliegenden Offenbarung richtet sich an ein computergestütztes CAPTCHA-System, das konfiguriert ist, um Operationen durchzuführen. Die Operationen beinhalten das Empfangen einer Anfrage von einer oder mehreren Recheneinrichtungen, zur Beteiligung an einem Überprüfungsprozess einer Recheneinrichtung des Benutzers. Die Operationen beinhalten den Erhalt eines oder mehrerer Reputationssignale von einer oder mehreren Recheneinrichtungen, welche mit der Recheneinrichtung des Benutzers in Verbindung gebracht werden. Basierend auf ein oder mehrere Reputationssignale, beinhalten die Operationen das Bestimmen einer Vertrauenswürdigkeit der Recheneinrichtung des Benutzers von einem oder mehreren Recheneinrichtungen. Die Operationen beinhalten das Auswählen einer Herausforderung von einer oder mehreren Recheneinrichtungen, die zumindest teilweise basierend auf der ermittelten Vertrauenswürdigkeit der Recheneinrichtung des Benutzers bereitgestellt werden soll. Die Operationen beinhalten das Empfangen einer Antwort auf die Herausforderung von einer oder mehreren Recheneinrichtungen, die von der Recheneinrichtung des Benutzers stammt. Die Operationen beinhalten das Bestimmen von Seiten einer oder mehrerer Recheneinrichtungen, und zwar unabhängig davon, ob die Recheneinrichtung des Benutzers auf Basis einer oder mehrerer Vertrauenswürdigkeitsergebnisse und der Antwort überprüft werden soll.
-
Diese und andere Merkmale, Aspekte und Vorteile der vorliegenden Offenbarung werden mit Bezug auf die folgende Beschreibung und beigefügten Ansprüche besser verständlich. Die beiliegenden Zeichnungen, die in diese Spezifikation integriert wurden und einen Teil dieser Spezifikation ausmachen, veranschaulichen die Ausführungsformen der vorliegenden Offenbarung und dienen zusammen mit der Beschreibung dazu, um die damit verbundenen Prinzipien zu erklären.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Eine ausführliche Erörterung der Ausführungsformen der vorliegenden Offenbarung, welche sich an den Durchschnittsfachmann richtet, wird in der Spezifikation dargelegt, die auf die angehängten Figuren Bezug nimmt, in denen:
-
1 ein exemplarisches System zum Überprüfen einer Recheneinrichtung des Benutzers gemäß einer exemplarischen Ausführungsform der vorliegenden Offenbarung abbildet;
-
2 ein Flussdiagramm eines exemplarischen zum Überprüfen einer Recheneinrichtung des Benutzers gemäß einer exemplarischen Ausführungsform der vorliegenden Offenbarung abbildet;
-
3 eine exemplarische Benutzeroberfläche gemäß einer exemplarischen Ausführungsform der vorliegenden Offenbarung abbildet;
-
4 ein Flussdiagramm eines exemplarischen Verfahrens zum Betreiben eines computergestützten CAPTCHA-Systems gemäß einer exemplarischen Ausführungsform der vorliegenden Offenbarung abbildet; und
-
5 ein Flussdiagramm eines exemplarischen Verfahrens zum Betreiben eines computergestützten CAPTCHA-Systems gemäß einer exemplarischen Ausführungsform der vorliegenden Offenbarung abbildet;
-
AUSFÜHRLICHE BESCHREIBUNG
-
Es wird nun im Einzelnen auf die Ausführungsformen der vorliegenden Offenbarung Bezug genommen, wobei ein oder mehrere Beispiele davon in den Zeichnungen veranschaulicht werden. Jedes Beispiel wird im Rahmen einer Erläuterung der Ausführungsformen und nicht einer Einschränkung der vorliegenden Offenbarung bereitgestellt. Tatsächlich wird es für den Fachmann ersichtlich sein, dass verschiedene Änderungen und Abwandlungen an den Ausführungsformen vorgenommen werden können, ohne vom Schutzumfang oder Erfindungsgeist der vorliegenden Offenbarung abzuweichen. Zum Beispiel können Merkmale, die als ein Teil einer Ausführungsform veranschaulicht oder beschrieben sind, bei einer anderen Ausführungsform verwendet werden, um eine noch weitere Ausführungsform zu ergeben.
-
Im Allgemeinen ist die vorliegende Offenbarung auf Systeme und Verfahren ausgerichtet, in denen ein computergestütztes CAPTCHA-System bestimmt, ob es eine Recheneinrichtung des Benutzers basierend auf einer Vielzahl von Reputationssignalen, die mit der Recheneinrichtung des Benutzers in Verbindung stehen, überprüfen soll. Insbesondere kann das computergestützte CAPTCHA-System auf Basis von Reputationssignalen eine Vertrauenswürdigkeitsbeurteilung („Trust Score”) erstellen, eine Herausforderung auswählen, um diese der Recheneinrichtung des Benutzers auf Basis der Vertrauenswürdigkeitsbeurteilung bereitzustellen und um zu bestimmen, ob es die Recheneinrichtung des Benutzers auf Basis einer empfangenen Antwort auf die Herausforderung und/oder der Vertrauenswürdigkeitsbeurteilung überprüfen soll.
-
Als ein Beispiel kann ein Benutzer unter Verwendung seines Smartphones versuchen, ein Gebot im Rahmen einer Online-Versteigerung abzugeben. Um auf die Bidding-Schnittstelle (Schnittstelle zur Gebotsabgabe) zuzugreifen und das Gebot abzugeben, muss der Benutzer als erstes möglicherweise direkt mit einem computergestützten CAPTCHA-System interagieren und seinen Status als Mensch überprüfen lassen, damit dadurch verhindert wird, dass „bots” das Gebotsverfahren negativ beeinträchtigen.
-
Um die Vorteile der hierin beschriebenen Verfahren in Anspruch zu nehmen, kann der Benutzer in einigen Ausführungsformen dazu aufgefordert werden, die Nutzung von Reputationssignalen, die mit dem Benutzer oder seinem Gerät in Verbindung stehen, zuzulassen. Wenn der Benutzer die Nutzung derartiger Signale nicht erlaubt, ist der Benutzer möglicherweise auch nicht in der Lage, die hierin beschriebenen Vorteile für sich in Anspruch zu nehmen.
-
In unterschiedlichen Ausführungsformen können Reputationssignale ein oder mehrere der im Folgenden Aufgeführten beinhalten: beispielsweise eine Geräteart, ein oder mehrere Gerätefunktionalitäten, eine Internetprotokolladresse, einen aktuellen Standort, ein Webprotokoll des Benutzers, eine Standorthistorie des Benutzers, ob der Benutzer verschiedene andere Webdienstleistungen in Anspruch nimmt, oder sonstige zusätzliche Informationen.
-
In einigen Ausführungsformen, worin die hierin erörterten Systeme und Verfahren Informationen über Benutzer oder Benutzergeräte, wie etwa Geräteart, Gerätestandort, die Teilnahme des Benutzers an Webdienstleistungen, oder sonstige Informationen verwenden, kann den Benutzern die Gelegenheit geboten werden, zu kontrollieren, ob Programme oder Funktionen derartige Informationen einsammeln oder verwenden dürfen. Darüber hinaus können in unterschiedlichen Ausführungsformen bestimmte Informationen oder Daten, bevor sie gespeichert oder verwendet werden, auf verschiedene Weisen verarbeitet werden, sodass Informationen zur Identifizierung von Personen entfernt werden.
-
Ausgehend von den erhaltenen Reputationssignalen kann das computergestützte CAPTCHA-System eine Vertrauenswürdigkeitsbeurteilung für die Recheneinrichtung des Benutzers ermitteln. Als ein Beispiel kann es sich bei der Vertrauenswürdigkeitsbeurteilung um eine Summe einer Vielzahl von zuvor festgelegten Vertrauenswürdigkeitswerten handeln, die jeweils mit einer Vielzahl von Reputationssignalkategorien in Verbindung gebracht werden. Auf diese Weise kann eine Recheneinrichtung des Benutzers, die in der Lage ist, zusätzliche Reputationssignale nachzuweisen oder bereitzustellen, eine bessere Vertrauenswürdigkeitsbeurteilung erhalten. Als anderes Beispiele kann es sich bei der Vertrauenswürdigkeitsbeurteilung um einen gewichteten Durchschnitt der Vertrauenswürdigkeitswerte oder eine Ausgabe einer Beurteilungsformel handeln, die entwickelt wurde, um das Ergebnis der Vertrauenswürdigkeitsbeurteilung auf Basis der Reputationssignale zu berechnen.
-
Das computergestützte CAPTCHA-System kann unterschiedliche Eigenschaften des Überprüfungsprozesses auf Basis der für die Recheneinrichtung des Benutzers ermittelten Vertrauenswürdigkeitsbeurteilung abstimmen oder einstellen. Als ein Beispiel kann das computergestützte CAPTCHA-System auf Basis der Vertrauenswürdigkeitsbeurteilung einen Herausforderungstyp, eine Herausforderungsschwierigkeit oder ein Herausforderungsformat auswählen. Als weiteres Beispiel kann das computergestützte CAPTCHA-System eine Ratenbegrenzung durchführen oder andere Parameter des Überprüfungsprozesses auf Basis der Vertrauenswürdigkeitsbeurteilung einstellen.
-
Somit kann ein Benutzer als ein Beispiel eine bessere Vertrauenswürdigkeitsbeurteilung erhalten, falls das computergestützte CAPTCHA-System eine Vielzahl von Reputationssignalen erhält, die jeweils angeben, dass der Benutzer, der Zugang zur Bidding-Schnittstelle der Versteigerung anfordert, eine Reihe von Webdienstleistungen in Anspruch nimmt, eine relativ teure Verbraucherrecheneinrichtung (z. B. sein Smartphone) verwendet, oder sonstige Reputationssignale aussendet, die angeben, dass es sich bei dem Benutzer um einen Menschen und nicht um ein „bot” handelt, kann ein derartiger Benutzer eine bessere Vertrauenswürdigkeitsbeurteilung erhalten.
-
Da der Benutzer eine bessere Vertrauenswürdigkeitsbeurteilung erhalten hat, kann das computergestützte CAPTCHA-System ferner eine einfachere Herausforderung auswählen, die dem Benutzer bereitgestellt werden soll, eine größere Anzahl von Versuchen zur Bewältigung der Herausforderungen zulassen, oder den Benutzer in einigen Implementierungen als Mensch identifizieren, ohne vom Benutzer zu verlangen, irgendeine Herausforderung bewältigen.
-
Das computergestützte CAPTCHA-System kann von der Recheneinrichtung des Benutzers eine Antwort auf die ausgewählte Herausforderung erhalten. Das computergestützte CAPTCHA-System kann bestimmen, ob es die Recheneinrichtung des Benutzers auf Basis einer derartigen Antwort und/oder der Vertrauenswürdigkeitsbeurteilung überprüft. Als ein Beispiel kann das computergestützte CAPTCHA-System ermitteln, ob es die Recheneinrichtung des Benutzers ausschließlich auf Basis der empfangenen Antwort auf die Herausforderung überprüft. Somit kann das computergestützte CAPTCHA-System die Recheneinrichtung des Benutzers unabhängig von der Vertrauenswürdigkeitsbeurteilung überprüfen, falls die ausgewählte Herausforderung anhand der Antwort auf zufriedenstellende Weise bewältigt oder gelöst werden kann. Gleichermaßen kann eine falsche Antwort eine Verweigerung der Überprüfung über eine bestimmte Sperrfrist zur Folge haben.
-
Als ein weiteres Beispiel kann das computergestützte CAPTCHA-System die Vertrauenswürdigkeitsbeurteilung auf Basis der erhaltenen Antwort auf die Herausforderung aktualisieren oder neu auslegen. Zum Beispiel kann die Vertrauenswürdigkeitsbeurteilung verbessert werden, falls die Herausforderung anhand der richtigen Antwort bewältigt werden kann. Gleichermaßen kann eine falsche Antwort eine schlechtere Vertrauenswürdigkeitsbeurteilung zur Folge haben. Die aktualisierte Vertrauenswürdigkeitsbeurteilung kann mit einem Schwellenwert verglichen werden, um zu bestimmen, ob die Recheneinrichtung des Benutzers überprüft werden soll. Auf diese Weise kann eine Herausforderung und die Antwort, die vom Benutzer als Teil des Überprüfungsprozesses abgegeben wird, als ein zusätzliches Reputationssignal verwendet werden, obwohl dies an sich in einigen Implementierungen nicht maßgeblich für den Überprüfungsprozess ist.
-
Ferner kann das computergestützte CAPTCHA-System in einigen Implementierungen der Recheneinrichtung des Benutzers einen Überprüfungscode oder ein Zertifikat bereitstellen, sobald das computergestützte CAPTCHA-System in ausreichendem Maße davon überzeugt werden konnte, dass die Recheneinrichtung des Benutzers von einem Menschen betrieben wird. Die Recheneinrichtung des Benutzers kann dem Ressourcenanbieter dann einen Überprüfungscode bereitstellen. Im Gegenzug kann der Ressourcenanbieter seinerseits, die Gültigkeit des Überprüfungscodes im Rahmen des computergestützten CAPTCHA-Systems bestätigen. Nach der Bestätigung der Gültigkeit des Codes kann der Ressourcenanbieter die Ressource der Recheneinrichtung des Benutzers bereitstellen.
-
Auf diese Weise können Probleme, die mit der Implementierung des Überprüfungsprozesses in Verbindung gebracht werden, vom Ressourcenanbieter reduziert oder eliminiert werden. Es ist für die Versteigerungswebseite beispielsweise nicht erforderlich, mehrere Herausforderungsformate zu unterstützen oder ihr System jedes Mal zu aktualisieren, wenn der Überprüfungsprozess aktualisiert oder verbessert wird. Stattdessen kann die Versteigerungswebseite sich einfach auf das computergestützte CAPTCHA-System verlassen, das in der Lage ist, sein bestehendes Wissen hinsichtlich der Reputation des Benutzers einzusetzen, um den Überprüfungsprozess in seiner Gesamtheit durchzuführen. Da der Benutzer direkt mit dem computergestützten CAPTCHA-System interagiert, kann der Benutzer des Weiteren darauf vertrauen, dass seine Informationen auf eine noch sicherere Weise gehandhabt werden und nicht zwischen dem Ressourcenanbieter und einen unsichtbaren computergestützten CAPTCHA-System hin und her gereicht werden.
-
Unter Bezugnahme auf die FIGs. werden exemplarische Ausführungsformen der vorliegenden Offenbarung nun in weiteren Einzelheiten erörtert. 1 bildet ein exemplarisches System 100 zum Überprüfen einer Recheneinrichtung des Benutzers 104 gemäß einer exemplarischen Ausführungsform der vorliegenden Offenbarung ab; Insbesondere kann System 100 ein computergestütztes CAPTCHA-System 102, eine Recheneinrichtung des Benutzers 104, und einen Ressourcenanbieter 106, beinhalten, die sich über ein Netzwerk 108 in Kommunikation miteinander befinden.
-
Das computergestützte CAPTCHA-System 102 kann unter Verwendung einer oder mehrere Recheneinrichtungen, wie etwa einem oder mehreren Servern implementiert werden. Insbesondere können jegliche Aufgaben, die vom computergestützten CAPTCHA-System 102 durchgeführt werden, von jeder Kombination von einer oder mehreren Recheneinrichtungen, die in einem parallelen oder verteilten Computersystem verbunden sind, durchgeführt werden. Das computergestützte CAPTCHA-System 102 kann ein oder mehrere Prozessoren 110 und einen Speicher 112 beinhalten. Bei Prozessor 110 kann es sich um jedes geeignete Verarbeitungsgerät und einen oder eine Vielzahl von Prozessoren handeln, die funktionell miteinander verbunden sind. Speicher 112 kann Anweisungen 114 speichern, die Prozessor 110 dazu veranlassen, Operationen durchzuführen, um die vorliegende Offenbarung zu implementieren.
-
Speicher 112 kann auch eine Anzahl von Modulen einschließlich beispielsweise einem Überprüfungsprozess-Modul 116, einem Beurteilungsmodul 117, und einem Überprüfungscode-Modul 118 beinhalten. Es versteht sich von selbst, dass der Begriff „Modul” sich auf eine Computerlogik bezieht, die verwendet wird, um die erwünschte Funktionalität bereitzustellen. Somit kann ein Modul in Hardware, Firmware und/oder Software implementiert werden, mittels denen ein Allzweckprozessor gesteuert wird. In einer Ausführungsform sind Module Programmcodedateien, die auf einer Speichervorrichtung gespeichert, auf einen Speicher geladen und von einem Prozessor ausgeführt werden, oder die von Computerprogrammprodukten wie etwa computerausführbaren Anweisungen bereitgestellt werden können, die auf einem physisch greifbaren rechnerlesbaren Speichermedium, wie etwa RAM, einer Festplatte, oder einem optischen oder magnetischen Datenträger gespeichert werden können. Wenn Software verwendet wird, kann eine beliebige geeignete Programmiersprache oder Plattform verwendet werden, um das Modul zu implementieren.
-
Computergesteuertes CAPTCHA-System 102 kann Überprüfungsprozess-Modul 116 implementieren, um verschiedene Aspekte eines Überprüfungsprozesses durchzuführen. Zum Beispiel kann Überprüfungsprozessmodul 116 implementiert werden, um eine Anfrage von einer Recheneinrichtung des Benutzers 104 zur Beteiligung am Überprüfungsprozess zu empfangen, um eine CAPTCHA-Herausforderung für Recheneinrichtung des Benutzers 104 auszuwählen und diesem bereitzustellen, und um zu bestimmen, ob die empfangene Antwort, die bereitgestellte Herausforderung auf zufriedenstellende Weise bewältigt. In einigen Implementierungen kann Überprüfungsprozessmodul 116 implementiert werden, um Aspekte des Verfahrens (400) von 4 und/oder Verfahren (500) von 5 durchzuführen.
-
Computergestütztes CAPTCHA-System 102 kann Beurteilungsmodul 117 implementieren, um verschiedene Aspekte eines Überprüfungsprozesses durchzuführen. Beurteilungsmodul 117 kann zum Beispiel implementiert werden, um ein oder mehrere Reputationssignale zu erhalten, die mit einer Recheneinrichtung des Benutzers 104 in Verbindung stehen und um eine Vertrauenswürdigkeitsbeurteilung auf Basis des einen oder der mehreren Reputationssignale zu erstellen. Als ein Beispiel kann Beurteilungsmodul 117 die Vertrauenswürdigkeitsbeurteilung erstellen, indem es von Speicher 112 eine Vielzahl von Vertrauenswürdigkeitswerten, die mit verschiedenen Reputationssignalen oder Signalkategorien in Verbindung stehen, erhält. Beurteilungsmodul 117 kann zum Bespiel die Vielzahl von Vertrauenswürdigkeitswerten zusammenfassen, um die Vertrauenswürdigkeitsbeurteilung zu erstellen. Als weiteres Beispiel kann Beurteilungsmodul 117 die Vertrauenswürdigkeitsbeurteilung erstellen, indem es einen gewichteten Durchschnitt verschiedener Vertrauenswürdigkeitswerte berechnet oder die Reputationssignale in eine Beurteilungserstellungsfunktion oder eine Beurteilungserstellungsformel eingibt. In einigen Implementierungen kann Beurteilungsmodul 117 implementiert werden, um Aspekte des Verfahrens (400) von 4 und/oder Verfahren (500) von 5 durchzuführen.
-
Computergesteuertes CAPTCHA-System 102 kann Überprüfungscode-Modul 118 implementieren, um Überprüfungscodes für jede Anzahl von Recheneinrichtungen des Benutzers 104 und Ressourcenanbieter 106 zu generieren und zu validieren. Überprüfungscode-Modul 118 kann zum Beispiel implementiert werden, um ein Überprüfungscode für Recheneinrichtung des Benutzers 104 zu generieren und bereitzustellen und um ein Überprüfungscode für Ressourcenanbieter 106 zu empfangen und zu validieren. In einigen Implementierungen kann Überprüfungscode-Modul 118 implementiert werden, um Aspekte des Verfahrens (400) von 4 und/oder Verfahren (500) von 5 durchzuführen.
-
Des Weiteren, während Überprüfungsprozessmodul 116, Beurteilungsmodul 117 und Überprüfungscode-Modul 118 als separate Module oder Komponenten des computergestützten CAPTCHA-Systems 102 in 1 abgebildet werden, können derartige Module in einigen Implementierungen kombiniert werden, um ein einzelnes Modul zu auszubilden oder verteilt werden, um mehrere zusätzliche Module auszubilden.
-
Computergesteuertes CAPTCHA-System 102 kann auch eine Netzwerkschnittstelle 120 für das Kommunizieren über Netzwerk 108 beinhalten. Netzwerkschnittstelle 120 kann beliebige geeignete Komponenten zur Verflechtung mit einem oder mehreren Netzwerken beinhalten, die zum Beispiel Sender, Empfänger, Anschlüsse, Controller, Antennen oder sonstige geeignete Komponenten beinhalten.
-
Computergestütztes CAPTCHA-System 102 kann eine beliebige Anzahl von Datenbanken beinhalten oder sich andernfalls mit Datenbanken in Kommunikation befinden. Hierzu gehören beispielsweise eine Benutzerkontodatenbank 122, eine Datenbank mit dem Webprotokoll des Benutzers 124, und eine CAPTCHA-Herausforderungen-Datenbank 126. Es ist selbstverständlich, dass jede beliebige Datenbank oder sonstige Datenspeicherfunktionalität unter Verwendung einer einzelnen Datenbank implementiert werden kann oder über eine Vielzahl von Speichereinrichtungen verteilt werden kann. Ferner kann jede dieser Datenbanken 122, 124, und 126 lokal oder in der Ferne untergebracht sein und über ein Netzwerk abgerufen werden.
-
Benutzerkontodatenbank 122 kann Daten, die mit einer Vielzahl von Benutzerkonten in Verbindung stehen, speichern oder bereitstellen. Bei einem Benutzerkonto kann es sich beispielsweise um jedes Konto oder jede Art von Identifikation handeln, die mit einem Benutzer einer Dienstleistung in Verbindung steht. Exemplarische Benutzerkonten beinhalten ein Betriebssystemkonto; ein Konto, das für den Erwerb und die Inhaberschaft von Inhalten einer Inhaltsverteilungsplattform verwendet wird; ein webbasiertes E-Mail-Konto; ein Social-Media-Konto; ein Spielkonto; ein anwendungsspezifisches Konto; oder jedes andere geeignete Benutzerkonto.
-
Computergestütztes CAPTCHA-System 102 kann Benutzerkontodatenbank 122 abrufen, um zu bestimmen, ob die Recheneinrichtung des Benutzers 104 mit einem bekannten Benutzerkonto in Verbindung steht. Als ein Beispiel wird computergestütztes CAPTCHA-System 102 in einigen Implementierungen mit einem Dienstleistungsanbieter in Verbindung gebracht, der verschiedene der oben besprochenen Leistungen anbietet (z. B. web-basierte E-Mail, Social Media, Gaming, und Inhaltsverteilung) und ein einzelnes Benutzerkonto kann verwendet werden, um an Aspekten jeder dieser Dienstleistungen teilzunehmen, diese zu empfangen oder auf sonstige Weise zu kontrollieren.
-
In einigen Implementierungen kann der Überprüfungsprozess, mittels dem das computergesteuerte CAPTCHA-System 102 Recheneinrichtung des Benutzers 104 überprüft, daher das Empfangen oder das anderweitige Identifizieren von Benutzerkontoinformationen beinhalten, die mit der Recheneinrichtung des Benutzers 104 in Verbindung stehen und Querverweise auf derartige Informationen gegenüber Benutzerkontoinformationen 122 beinhalten. Insbesondere kann die Inhaberschaft und Instandhaltung eines gültigen, reputablen Benutzerkontos von Seiten eines Benutzers eine deutliche Zeit- und Rechenressourceninvestition darstellen und kann daher ein wichtiges Reputationssignal dafür sein, dass die Recheneinrichtung des Benutzers 104 von einem Menschen und nicht einem automatisierten „bot” betrieben wird. Auf diese Weise können bereits vorliegende Reputationsinformationen, die mit der Recheneinrichtung des Benutzers in Verbindung stehen, wie etwa benutzerkontenbezogene Informationen, verwendet werden, um eine verbesserte Überprüfung der Recheneinrichtung des Benutzers 104 bereitzustellen.
-
In einigen Ausführungsformen, in denen die hierin besprochenen Systeme und Verfahren Informationen über Benutzer oder Recheneinrichtungen des Benutzers verwenden, wie etwa Benutzerkontoinformationen, kann den Benutzern die Gelegenheit gegeben werden, zu kontrollieren, ob Programme oder Funktionen derartige Informationen einsammeln oder verwenden. Darüber hinaus können bestimmte Informationen oder Daten in unterschiedlichen Ausführungsformen auf ein oder mehrere Weisen verarbeitet werden, bevor sie gespeichert oder verwendet werden, sodass sie nicht persönlich identifizierbar sind.
-
Datenbank zum Webprotokoll des Benutzers 124 kann Daten speichern und bereitstellen, die vorhergehende Aktivitäten oder Webinteraktionen beschreiben, die von einem oder mehreren Recheneinrichtungen, die mit einem Benutzerkonto in Verbindung stehen, durchgeführt werden. Datenbank zum Webprotokoll des Benutzers 124 kann beispielsweise angeben, ob ein Benutzerkonto über eine normale oder reputable Webnutzung verfügt, oder ob das Benutzerkonto mit Webverhalten von missbräuchlichem oder böswilligem Charakter in Verbindung gebracht worden ist. Daher kann der Überprüfungsprozess in einigen Implementierungen den Abruf und das Analysieren eines Webprotokolls des Benutzers beinhalten, das mit der Recheneinrichtung des Benutzers 104 von Datenbank 124 in Verbindung steht, und das Behandeln eines derartigen Webprotokolls als ein Reputationssignal beinhalten.
-
Wie oben bemerkt kann Benutzern in einigen Ausführungsformen, in denen die hierin besprochenen Systeme und Verfahren, Informationen über Benutzer oder Recheneinrichtungen des Benutzers wie etwa ein Webprotokoll des Benutzers verwenden, eine Gelegenheit bereitgestellt werden, um zu kontrollieren, ob Programme oder Funktionen, derartige Informationen einsammeln oder verwenden dürfen. Darüber hinaus können bestimmte Informationen oder Daten in unterschiedlichen Ausführungsformen auf ein oder mehrere Weisen verarbeitet werden, bevor sie gespeichert oder verwendet werden, sodass sie nicht persönlich identifizierbar sind.
-
CAPTCHA-Herausforderungen-Datenbank 126 kann eine Vielzahl von verschiedenen CAPTCHA-Herausforderungen bereitstellen, aus denen computergesteuertes CAPTCHA-System 102 eine Auswahl treffen kann. Die in Datenbank 126 miteinbezogenen Herausforderungen können beispielsweise unterschiedlicher Größe, Art, Format, Schwierigkeit, Programmiersprache sein oder sonstige variable Parameter beinhalten. Verfügbare Herausforderungsformate können beispielsweise eine Bildherausforderung, die einen durcheinandergebrachten, verschwommenen oder auf sonstige Weise verzerrten Text, der interpretiert oder dekodiert werden muss, anzeigt, eine akustische Herausforderung, die eine verzerrte Tonaufnahme, die interpretiert werden muss, präsentiert, eine visuelle Angleichungsherausforderung, eine visuelle Auswahlherausforderung, oder sonstige geeignete Herausforderungsformate beinhalten. Im Allgemeinen können ein oder mehrere Lösungen jeder Herausforderung auch in der Herausforderungsdatenbank 126 gespeichert werden.
-
Als ein Beispiel können verfügbare Herausforderungsformate in einigen Implementierungen einen Meinungsfragebogen oder eine Werbeanzeige beinhalten. Wenn zum Beispiel eine Herausforderung von geringer Geschwindigkeit ausgewählt oder erwünscht wird, kann die Herausforderung das Befragen des Benutzers nach einer Meinung bezüglich verschiedener Themen beinhalten, zu denen beispielsweise unter anderem auch gehört, dass vom Benutzer erfordert wird, ein persönlich bevorzugtes Kleidungsstück aus unterschiedlichen Optionen auszuwählen. In anderen Formularen kann die Herausforderung vom Benutzer lediglich erfordern, dass er sich durch eine Werbeanzeige klickt oder sonstige Formen von werbeanzeigebezogenen Herausforderungen bewältigt.
-
Als weiteres Beispiel können CAPTCHA-Herausforderungen in einigen Implementierungen, die in Datenbank 126 integriert sind, Herausforderungen beinhalten, die für viele Recheneinrichtungen des Benutzers, wie etwa Smartphones, optimiert wurden. Zum Beispiel können Herausforderungen für mobile Geräte vom Benutzer verlangen, dass er einen berührungsempfindlichen Bildschirm des mobilen Geräts verwendet, um eine Form zu zeichnen, einer Kontur zu folgen, eine von mehreren der bereitgestellten Optionen zu drücken oder auszuwählen, ein Labyrinth zu lösen, oder sonstige Herausforderungen zu bewältigen, die das Verwenden eines berührungsempfindlichen Bildschirms erfordern. Auf diese Weise kann Benutzern einer mobilen Recheneinrichtung des Benutzers 104 eine optimierte Herausforderung bereitgestellt werden, die beispielsweise nicht das Verwenden einer Tastatur erfordert.
-
Bei der Recheneinrichtung des Benutzers 104 kann es sich um eine Recheneinrichtung handeln, die über einen Prozessor 130 und einen Speicher 132 verfügt. Als Beispiel kann es sich bei Recheneinrichtung des Benutzers 104 um ein drahtloses mobiles Gerät, einen persönlichen digitalen Assistenten (PDA), ein Smartphone, ein Tablett, in Laptop-Computer, ein Desktop-Computer, eine rechenfähige Uhr, eine rechenfähige Brille, ein tragbares Computergerät, ein eingebettetes Computersystem, Haushaltsgeräte, oder eine sonstige Recheneinrichtung dieser Art handeln.
-
Bei Prozessor 130 der Recheneinrichtung des Benutzers 104 kann es sich um jede beliebige geeignete Verarbeitungseinrichtung, um einen Prozessor oder eine Vielzahl von Prozessoren handeln, die funktionell miteinander verbunden sind. Speicher 132 kann eine beliebige Anzahl von rechnerlesbaren Anweisungen 134 oder sonstigen gespeicherten Daten beinhalten. Speicher 132 kann zum Beispiel ein Browsermodul 136 beinhalten, speichern oder bereitstellen. Wenn von Prozessor 130 implementiert, ist Browsermodul 136 in der Lage, Prozessor 130 die Anweisung zu erteilen, eine Webbrowser-Anwendung auszuführen.
-
Es ist selbstverständlich, dass der Recheneinrichtung des Benutzers 104 ferner eine beliebige Anzahl an anderen Anwendung beinhalten kann, um eine beliebige Anzahl von Anwendungen durchzuführen, um zusätzliche Funktionalitäten bereitzustellen. Darüber hinaus können Anweisungen 134 Funktionalitäten für das Durchführen von Operationen gemäß verschiedenen Programmiersprachen, Plattformen, Schichten, oder Kommunikationsmethoden bereitstellen. Recheneinrichtung des Benutzers 104 kann zum Beispiel ein oder mehrere Maschinen für das Interpretieren und Ausführen verschiedener Programmiersprachen, wie etwa eine JavaScript Engine beinhalten.
-
Recheneinrichtung des Benutzers 104 kann ein Display 138 für das Anzeigen von Informationen für den Benutzer beinhalten oder sich damit in Kommunikation befinden. Ferner kann Recheneinrichtung des Benutzers 104 eine beliebige Anzahl von Benutzereingabegeräten 140, wie etwa eine Tastatur, eine Maus, ein Mikrofon, einen berührungsempfindlichen Bildschirm, Bewegungssensoren, ein Touchpad, einen Tastatur-Stick, Knöpfe, oder sonstige geeignete Kontrolleinrichtungen beinhalten.
-
Recheneinrichtung des Benutzers 104 kann ferner eine Netzwerkschnittstelle 142 beinhalten. Netzwerkschnittstelle 142 kann beliebige geeignete Komponenten zur Verflechtung mit einem oder mehreren Netzwerken beinhalten, die zum Beispiel Sender, Empfänger, Anschlüsse, Controller, Antennen oder sonstige geeignete Komponenten beinhalten.
-
Im Allgemeinen kann Ressourcenanbieter 106 unter Verwendung eines Servers oder einer sonstigen Recheneinrichtung implementiert werden. Ressourcenanbieter 106 kann einen oder mehrere Prozessoren 150 und sonstige geeignete Komponenten wie etwa einen Speicher 152 und eine Netzwerkschnittstelle 156 beinhalten. Prozessor 150 kann Computer ausführbare Anweisungen, die in Speicher 152 gespeichert sind, implementieren, um die erwünschten Operationen durchzuführen.
-
Ressourcenanbieter 106 kann über das Netzwerk 108 Zugang zu einer Ressource für 154 bereitstellen. Nicht einschränkende Beispiele von Ressourcen 154 beinhalten einen Cloud-basierten E-Mail-Client, ein Social Media-Konto oder Social Media-Inhalte, Software als eine Dienstleistung, eine Online-Versteigerungsschnittstelle, ein Finanzdienstleistungskonto, ein Onlinespiel, eine Datenbibliothek, eine Codebibliothek, einen beliebigen Webservice oder jede andere geeignete Ressource.
-
Des Weiteren kann Speicher 152 des Ressourcenanbieters 106, gemäß einem Aspekt der vorliegenden Offenbarung, ein oder mehrere Plug-ins 153 beinhalten. Insbesondere kann Ressourcenanbieter 106 Plug-in 153 vom computergesteuerten CAPTCHA-System 102 oder einer Einheit erhalten, die System 102 bereitstellt.
-
Als ein Beispiel kann Plug-in 153 computerlesbare Anweisungen und eine Bibliothek beinhalten, sodass Ressourcenanbieter 106 mit dem computergesteuerten CAPTCHA-System 102 unter Verwendung einer Anwendungsprogrammierschnittstelle, die mit dem computergesteuerten CAPTCHA-System 102 in Verbindung steht, kommunizieren kann. Als Beispiel kann Plug-in 153 gemäß einer beliebigen geeigneten Programmierumgebung formatiert werden, zu der unter anderem auch PHP, ASP.NET, Classic ASP, Java/JSP, Perl, Python, Ruby, Ruby/Rack, ColdFusion, WebDNA, VBScript, oder sonstige Programmierumgebungen gehören.
-
Als weiteres Beispiel kann Plug-in 153 rechnerlesbare Anweisungen beinhalten, die erstellt wurden, um innerhalb der Webseite des Ressourcenanbieters 106, die vom Ressourcenanbieter 106 an die Recheneinrichtung des Benutzers 104 bereitgestellt und dann von der Recheneinrichtung des Benutzers 104 ausgeführt wird, eingebettet zu werden. Zum Beispiel kann Plug-in 153 Anweisungen beinhalten, die erstellt wurden, um innerhalb einer beliebigen geeigneten Webseite oder Anwendung eingebettet zu werden, zu denen unter anderem beispielsweise auch WordPress, MediaWiki, phpBB, FormMail, Movable Type, Drupal, Symfony, TYPA3, NucleusCMS, vBulletin, Joomla, bbPress, ExpressionEngine, F1atPress, PHPKIT oder sonstige Anwendungen gehören.
-
Genauer gesagt kann Plug-in 153 ein clientseitiges Script bereitstellen, das in ein Inlineframe, ein eingebettetes Objekt, ein Portlet, oder eine sonstige eingebettete Anwendung oder ein Widget, das Teil der Webseite des Ressourcenanbieters 106 ist, integriert werden soll. Das clientseitige Script kann gemäß jeder beliebigen geeigneten Programmiersprache formatiert werden, zu der unter anderem beispielsweise auch Javascript, Ajax, jQuery, ActionScript oder sonstige Programmiersprachen gehören.
-
Recheneinrichtung des Benutzers 104 kann das eingebettete clientseitige Script ausführen, um im direkten Kontakt mit dem computergesteuerten CAPTCHA-System 102 zu stehen. Insbesondere kann die Verwendung eines derartigen clientseitigen Scripts sicherstellen, dass Kommunikationen, von der Recheneinrichtung des Benutzers 104 zum computergestützten CAPTCHA-System 102 gemäß der Anwendungsprogrammierschnittstelle, die mit dem computergesteuerten CAPTCHA-System 102 in Verbindung steht, formatiert sind. Auf diese Art kann Ressourcenanbieter 106 der Recheneinrichtung des Benutzers 104 die Anweisung erteilen, direkt mit dem computergestützten CAPTCHA-System 102 zu kommunizieren.
-
Des Weiteren kann Ressourcenanbieter 106 in einigen Implementierungen ein oder mehrere öffentliche und/oder private Schlüssel in Speicher 152 speichern. Die öffentlichen und privaten Schlüssel können vom computergesteuerten CAPTCHA-System 102 an den Ressourcenanbieter 106 bereitgestellt worden sein und können verwendet werden, damit das computergesteuerte CAPTCHA-System 102 in der Lage ist, den Ressourcenanbieter 106 zu identifizieren.
-
Als ein Beispiel kann Ressourcenanbieter 106 einer Recheneinrichtung des Benutzers 104, die gerade versucht Ressource 154 abzurufen, den öffentlichen Schlüssel bereitstellen. Die Recheneinrichtung des Benutzers 104 kann dem computergesteuerten CAPTCHA-System 102 den öffentlichen Schlüssel bereitstellen, damit das computergesteuerte CAPTCHA-System 102 weiß, zu welchem Ressourcenanbieter 106 des Benutzers 104 die Recheneinrichtung versucht sich Zugang zu verschaffen. Als weiteres Beispiel kann Ressourcenanbieter 106 dem computergesteuerten CAPTCHA-System 102 bei seiner Kommunikation mit dem computergesteuerten CAPTCHA-System 102, den privaten Schlüssel bereitstellen, damit das computergesteuerte CAPTCHA-System 102 Ressourcenanbieter 106 als einen bekannten Ressourcenanbieter, mit dem es kommunizieren kann, erkennt und identifiziert.
-
Des Weiteren ist es selbstverständlich, dass eine derartige Architektur als ein Beispiel bereitgestellt wird, obwohl das computergesteuerte CAPTCHA-System 102 und der Ressourcenanbieter 106 innerhalb des Kontexts des Systems 100 aus 1 als separate Einheiten veranschaulicht und erörtert sind. Genauer gesagt können das computergesteuerte CAPTCHA-System 102 und der Ressourcenanbieter 106 in einigen Ausführungsformen der vorliegenden Offenbarung ein einzelnes, einheitliches Rechensystem einschließlich eines oder mehrerer Computergeräte sein. In einigen Ausführungsformen kann ein bestimmter Ressourcenanbieter 106 das computergesteuerte CAPTCHA-System 102 als ein Aspekt des Ressourcenanbieters 106 z. B. zum Zwecke des Schutzes einer bestimmten Ressource 154 kontrollieren oder auf sonstige Weise versorgen.
-
2 bildet ein Flussdiagramm eines exemplarischen Verfahrens (200) zum Überprüfen einer Recheneinrichtung des Benutzers gemäß einer exemplarischen Ausführungsform der vorliegenden Offenbarung ab; Verfahren (200) kann unter Verwendung eines beliebigen geeigneten Rechensystems, zu dem z. B. auch das exemplarische System 100 aus 1 gehört, implementiert werden.
-
Obwohl 2 darüber hinaus Schritte abbildet, die zum Zweck der Veranschaulichung und Erörterung in einer bestimmten Reihenfolge durchgeführt werden, sind die Verfahren der vorliegenden Offenbarung nicht auf eine derartige Reihenfolge oder Anordnung beschränkt. Ein Fachmann auf dem Gebiet, der die hierin bereitgestellten Offenbarungen verwendet, wird erkennen, dass die verschiedenen Schritte des Verfahrens (200) ohne Abweichung vom Schutzumfang der vorliegenden Offenbarung auf unterschiedliche Art und Weise unterlassen, umgeordnet, kombiniert und/oder auf verschiedene Weise angepasst werden können.
-
In (202) kann eine Recheneinrichtung des Benutzers eine Ressource von einem Ressourcenanbieter anfordern. In (204) kann der Ressourcenanbieter die Anfrage für die Ressource von der Recheneinrichtung des Benutzers empfangen.
-
In (206) kann der Ressourcenanbieter der Recheneinrichtung des Benutzers die Anweisung erteilen, sich direkt an einem Überprüfungsprozess mit einem computergesteuerten CAPTCHA-System zu beteiligen. In (208) kann die Recheneinrichtung des Benutzers die Anweisung vom Ressourcenanbieter erhalten, im direkten Austausch mit dem computergestützten CAPTCHA-System zusammenzuarbeiten. Als ein Beispiel kann der Ressourcenanbieter der Recheneinrichtung des Benutzers bei (206) durch das Umlenken eines Browsers der Rechnerrichtung des Benutzers, die Anweisung erteilen, eine direkte Verbindung mit dem computergesteuerten CAPTCHA-System einzugehen und den Überprüfungsprozess zu beginnen.
-
Als weiteres Beispiel kann der Ressourcenanbieter bei (206) der Recheneinrichtung des Benutzers ein clientseitiges Skript bereitstellen, das wenn es von einer Rechenerrichtung des Benutzers durchgeführt wird, die Recheneinrichtung des Benutzers veranlasst, direkt mit dem computergestützten CAPTCHA-System in Verbindung zu treten. Das clientseitige Skript kann beispielsweise in ein Inlineframe, ein eingebettetes Objekt, ein Portlet oder eine sonstige eingebettete Anwendung oder ein Widget integriert werden. In einigen Implementierungen kann der clientseitige Skript in ein Plug-in, das dem Ressourcenanbieter vom computergestützten CAPTCHA-System bereitgestellt wird, integriert werden. Des Weiteren kann der Ressourcenanbieter in einigen Implementierungen bei (206) der Recheneinrichtung des Benutzers einen öffentlichen Schlüssel bereitstellen, der den Ressourcenanbieter für das computergestützte CAPTCHA-System identifiziert.
-
In (210) kann die Recheneinrichtung des Benutzers eine Anfrage direkt an das computergestützte CAPTCHA-System übermitteln, um sich an einen Überprüfungsprozess zu beteiligen. In (212) kann das computergestützte CAPTCHA-System eine Anfrage von der Rechnereinrichtung des Benutzers erhalten.
-
Als ein Beispiel kann die bei (210) übermittelte Anfrage gemäß einer Anwendungsprogrammierschnittstelle, die mit dem computergestützten CAPTCHA-System in Verbindung steht, formatiert werden. Die Anforderung kann zum Beispiel infolge der Ausführung eines clientseitigen Scripts übermittelt werden, das der Recheneinrichtung des Benutzers bei (206) bereitgestellt wird. Des Weiteren kann die bei (210) übermittelte Anfrage in manchen Implementierungen einen öffentlichen Schlüssel beinhalten, der mit dem Ressourcenanbieter Verbindung steht.
-
In (214) kann das computergestützte CAPTCHA-System ein oder mehrere Reputationssignale einholen, die mit der Recheneinrichtung des Benutzers in Verbindung stehen und basierend auf ein oder mehrere Reputationssignale, das Ergebnis der Vertrauenswürdigkeitsbeurteilung berechnen oder auf sonstige Weise ermitteln oder einholen. Als Beispiele können ein oder mehrere Reputationssignale eine Geräteart, einen Geräteidentifikator, ein oder mehrere Gerätefunktionalitäten, eine Internetprotokolladresse, einen aktuellen Standort, ein Webprotokoll des Benutzers, eine Standorthistorie des Benutzers, ob der Benutzer verschiedene andere Webdienstleistungen in Anspruch nimmt, oder sonstige zusätzliche Informationen beinhalten.
-
Gemäß einem Aspekt der vorliegenden Offenbarung kann das computergestützte CAPTCHA-System, als ein Beispiel, bei (214) die Vertrauenswürdigkeitsbeurteilung durch das Zusammenfassen einer Vielzahl von Vertrauenswürdigkeitswerten ermitteln, die jeweils mit einer Vielzahl von Reputationssignalen, die für die Recheneinrichtung des Benutzers eingeholt werden, in Verbindung stehen. Zum Beispiel kann der Vertrauenswürdigkeitswert für jedes Reputationssignal in einigen Implementierungen proportional oder auf sonstige Weise auf ein Maß an Vertrauen schließen lassen, das von einem derartigen Reputationssignal zumutbarer Weise gerechtfertigt werden kann.
-
Als ein Beispiel kann bei (214) ein Reputationssignal eingeholt werden, das eine Geräteart der Recheneinrichtung des Benutzers angibt, wie etwa, ob es sich bei der Recheneinrichtung des Benutzers um einen Personal Computer, einen Laptop, ein Smartphone oder eine sonstige Geräteart handelt. Die mit jeder Geräteart in Verbindung stehenden Vertrauenswürdigkeitswerte können auf den relativen Kosten jedes Gerätetyps basieren. Falls das computergestützte CAPTCHA-System bei (214) ein Reputationssignal erhält, das angibt, dass es sich bei der Recheneinrichtung des Benutzers um ein komplexes und teures Verbrauchersmartphone handelt, dann kann das computergestützte CAPTCHA-System der Vertrauenswürdigkeitsbeurteilung infolgedessen somit einen Vertrauenswürdigkeitswert von relativ hohem Wert hinzufügen. Auf diese Weise kann die Vertrauenswürdigkeitsbeurteilung sich aus der Summe der verfügbaren Reputationssignale zusammensetzen. Gleichermaßen kann die Vertrauenswürdigkeitsbeurteilung relativ schlecht ausfallen, bei null liegen oder als negativ eingestuft werden, falls das Reputationssignal angibt, dass es sich bei der Recheneinrichtung des Benutzers um ein kostengünstiges Gerät handelt, das historisch gesehen von Einheiten benutzt wurde, die arglistiges Verhalten an den Tag gelegt haben.
-
Als weiteres Beispiel kann ein Reputationssignal bei (214) eingeholt werden, das angibt, ob die Recheneinrichtung des Benutzers auf einem Android-Betriebssystem oder auf einer anderen Art von Betriebssystem betrieben wird. Betriebssysteme, die traditioneller Weise mit Verbrauchergeräten in Verbindung gebracht werden, können zum Beispiel einen höheren Vertrauenswürdigkeitswert erhalten, während Betriebssysteme, die mit der Verwendung und Kontrolle durch automatisierte „bots” in Verbindung gebracht werden, zu einem niedrigeren oder negativen Vertrauenswürdigkeitswert führen können.
-
Als noch ein weiteres Beispiel kann ein Reputationssignal bei (214) erhalten werden, das einen Geräteidentifikator für die Recheneinrichtung des Benutzers bereitstellt. Beim Geräteidentifikator kann es sich zum Beispiel um eine Geräte-Seriennummer handeln, die mit der Rechenleistung des Benutzers in Verbindung gebracht wird. Das computergestützte CAPTCHA-System kann auf eine Datenbank oder ein Register zugreifen, um zu bestimmen, ob Reputationsinformationen mit der Seriennummer des Geräts in Verbindung stehen. Derartige Reputationsinformationen können die Vertrauenswürdigkeitsbeurteilung bei (214) beeinträchtigen oder darin integriert werden.
-
Als weiteres Beispiel kann ein Reputationssignal bei (214) erhalten werden, dass ein oder mehrere Gerätefähigkeiten angibt. Falls das Reputationssignal z. B. angibt, dass die Recheneinrichtung des Benutzers komplex ist und über ein breites Spektrum an Rechenfähigkeiten verfügt, kann der Vertrauenswürdigkeitsbeurteilung ein höherer Vertrauenswürdigkeitswert beigemessen werden. Gleichermaßen kann der Vertrauenswürdigkeitsbeurteilung ein niedrigerer oder negativer Vertrauenswürdigkeitswert beigemessen werden, falls das Reputationssignal angibt, dass die Recheneinrichtung des Benutzers eindimensional ist, oder auf sonstige Weise auf einen spezifischen Satz an Rechenfähigkeiten begrenzt ist.
-
Als weiteres Beispiel kann ein Reputationssignal bei (214) erhalten werden, das eine Internetprotokolladresse angibt, von der aus, die Rechnereinrichtung des Benutzers kommuniziert. Falls das Reputationssignale angibt, dass die Recheneinrichtung des Benutzers sich an einem Ort auf der Welt befindet, mit dem normalerweise keine automatisierten Angriffe in Verbindung gebracht werden und es sich bei der Internetprotokolladresse um eine gültige Adresse mit gutem Ruf handelt, kann der Vertrauenswürdigkeitsbeurteilung ein höherer Vertrauenswürdigkeitswert hinzugefügt werden. Gleichermaßen kann der Vertrauenswürdigkeitsbeurteilung ein niedrigerer oder negativer Vertrauenswürdigkeitswert beigemessen werden, falls das Reputationssignal angibt, dass die Recheneinrichtung des Benutzers sich an einem Ort auf der Welt befindet, mit dem normalerweise automatisierte Angriffe in Verbindung gebracht werden oder der eine Internetprotokolladresse angibt, die über keinen guten Ruf verfügt oder auf sonstige Art und Weise schon mit arglistigem Verhalten in Verbindung gebracht worden ist. In einigen Implementierungen kann ein aktueller Standort der Recheneinrichtung des Benutzers sowohl erhalten als auch analysiert werden, zum Beispiel auf der Basis von Daten, die von einem Positionierungssystem (z. B. GPS-System) der Recheneinrichtung des Benutzers generiert worden sind.
-
Als noch ein weiteres Beispiel können Benutzerkontoinformationen oder Informationen zum Webprotokoll des Benutzers als ein Reputationssignal bei (214) erhalten werden. Zum Beispiel kann der Vertrauenswürdigkeitsbeurteilung bei (214) ein höherer Vertrauenswürdigkeitswert beigemessen werden, falls die Recheneinrichtung des Benutzers Benutzerkontoinformationen bereitstellt, die mit einem Konto in Verbindung gebracht werden, das sich an verschiedenen Webdienstleistungen beteiligt und über eine Webnutzungsvorgeschichte ohne missbräuchlichen Charakter verfügt. Gleichermaßen kann der Vertrauenswürdigkeitsbeurteilung bei (214) ein geringerer oder negativer Vertrauenswürdigkeitswert beigemessen werden, falls die Recheneinrichtung des Benutzers ein Benutzerkonto identifiziert, das über ein spärliches Webprotokoll oder über eine Webnutzungsvorgeschichte von arglistigem oder missbräuchlichem Charakter verfügt. In einigen Implementierungen kann das Webprotokoll des Benutzers auch historische Standortdaten beinhalten und derartige historische Standortdaten können als ein Reputationssignal behandelt werden. Darüber hinaus kann der Benutzer, wie oben besprochen, Zugang zu derartigen Daten bereitstellen, um die Vorteile der hierin beschriebenen Verfahren für sich in Anspruch zu nehmen.
-
Wie oben bemerkt, kann der Vertrauenswürdigkeitswert für jedes Reputationssignal im Allgemeinen proportional oder auf sonstige Weise auf das Maß an Vertrauen schließen lassen, das von einem derartigen Reputationssignal zumutbarer Weise gerechtfertigt werden kann. Somit kann der Vertrauenswürdigkeitswert, der mit einer derartigen Qualität oder einer derartigen guten Eigenschaft in Verbindung gebracht wird, größer ausfallen, falls das Reputationssignal angibt, dass die Recheneinrichtung des Benutzers über eine Qualität oder eine gute Eigenschaft verfügt, die nur anhand einer signifikanten zeitlichen oder monetären Investition, erlangt oder in die Tat umgesetzt werden kann.
-
Das Aufrechterhalten eines Benutzerkontos, das täglich verschiedene Webdienstleistungen auf eine nicht missbräuchliche Art und Weise in Anspruch nimmt, kann zum Beispiel einen signifikanten Zeit- und Energieaufwand repräsentieren. Demzufolge ist es für automatisierte Angreifer im Allgemeinen sehr kostspielig einen derartigen Zeit- und Energieaufwand zu betreiben. Als solche kann eine Recheneinrichtung des Benutzers, die ein derartig reputables Benutzerkonto bereitstellt, eine relativ gute Vertrauenswürdigkeitsbeurteilung erhalten. Auf diese Weise können bereits vorliegende Reputationsinformationen, die mit der Recheneinrichtung des Benutzers in Verbindung stehen, dazu verwendet werden, um ein überragendes und intelligentes CAPTCHA-System bereitzustellen.
-
In einigen Ausführungsformen können die Vertrauenswürdigkeitswerte, die mit den entsprechenden Reputationssignalen oder Kategorien in Verbindung gebracht werden, darüber hinaus optimiert werden, oder auf sonstige Art und Weise mittels des Durchführens eines oder mehrerer Maschinenlernverfahren über Daten, die über eine bereits bekannte Charakterisierung oder Kategorisierung verfügen, ermittelt werden.
-
Wie oben bemerkt kann den Benutzern in einigen Ausführungsformen, im Rahmen derer die hierin erörterten Systeme und Verfahren Informationen über Benutzer oder Benutzergeräte, wie etwa Geräteart, Gerätestandort, Benutzerkontoinformationen, die Teilnahme des Benutzers an Webdienstleistungen, oder sonstige Informationen verwenden, des Weiteren die Gelegenheit geboten werden, zu kontrollieren, ob Programme oder Funktionen derartige Informationen einsammeln oder verwenden dürfen. Darüber hinaus können in unterschiedlichen Ausführungsformen bestimmte Informationen oder Daten bevor sie gespeichert oder verwendet werden, auf verschiedene Weise verarbeitet werden, sodass Informationen zur Identifizierung von Personen entfernt werden.
-
Darüber hinaus kann eine Vertrauenswürdigkeitsbeurteilung bei (214) auf jede Art und Weise und unter Ausschluss des Zusammenfassendes einer Vielzahl von aus dem Speicher eingeholten Vertrauenswürdigkeitswerten, erstellt werden. Als anderes Beispiele kann es sich bei der Vertrauenswürdigkeitsbeurteilung um einen gewichteten Durchschnitt der Vertrauenswürdigkeitswerte oder eine Ausgabe einer Beurteilungsformel oder einer Beurteilungsfunktion handeln, die entwickelt wurde, um das Ergebnis der Vertrauenswürdigkeitsbeurteilung auf Basis der Reputationssignale zu berechnen.
-
In (216) kann das computergestützte CAPTCHA-System eine CAPTCHA-Herausforderung auf Basis der erstellten Vertrauenswürdigkeitsbeurteilung bei (214) auswählen und die ausgewählte Herausforderung der Recheneinrichtung des Benutzers bereitstellen. Zum Beispiel kann das computergestützte CAPTCHA-System eine Datenbank von CAPTCHA-Herausforderungen unterschiedlicher Formate, Schwierigkeitsgrade, Formen, Größen, Dateiformate, Programmiersprachen und sonstiger variabler Parameter beinhalten In (216) kann das computergestützte CAPTCHA-System eine CAPTCHA-Herausforderung aus der Datenbank auswählen, basierend auf der bei (214) erstellten Vertrauenswürdigkeitsbeurteilung.
-
Als ein Beispiel kann in der Instanz, in der die bei (214) erhaltenen Vertrauenswürdigkeitsbeurteilung ein relativ hohes Maß an Vertrauen angibt, bei (216) ein geringerer Schwierigkeitsgrad ausgewählt werden. Zum Beispiel kann anhand einer Herausforderung, die über einen einfacheren Schwierigkeitsgrad verfügt, einfach versucht werden, eine Meinung vom Benutzer zu erhalten oder es kann erfordert werden, dass sich der Benutzer durch eine Werbeanzeige klickt. Gleichermaßen kann bei (216) eine Herausforderung, die über einen höheren Schwierigkeitsgrad verfügt, ausgewählt werden, falls die Vertrauenswürdigkeitsbeurteilung ein relativ geringes Maß an Vertrauen angibt.
-
Als anderes Beispiel können auf Basis der Vertrauenswürdigkeitsbeurteilung bei (216) ein Herausforderungsformat, ein Herausforderungstyp oder sonstige Herausforderungsmerkmale ausgewählt werden. In der Instanz, in der die bei (214) erhaltenen Daten angeben, dass es sich bei der Recheneinrichtung des Benutzers um ein mobiles Gerät, wie etwa ein Smartphone, handelt, kann das computergestützte CAPTCHA-System zum Beispiel bei (216) eine für ein mobiles Gerät erstellte CAPTCHA-Herausforderung auswählen.
-
In (218) kann die Recheneinheit des Benutzers eine CAPTCHA-Herausforderung vom computergestützten CAPTCHA-System erhalten und diese zum Beispiel auf einem Display der Recheneinrichtung des Benutzers präsentieren. Als ein Beispiel bildet 3 bildet eine exemplarische Benutzeroberfläche 300 gemäß einer exemplarischen Ausführungsform der vorliegenden Offenbarung ab. Insbesondere kann Benutzeroberfläche 300 innerhalb eines Browserfensters 302 der Recheneinrichtung des Benutzers bereitgestellt werden.
-
Benutzeroberfläche 300 kann Inhalt 304, das vom Ressourcenanbieter bereitgestellt wird, beinhalten. Darüber hinaus kann Benutzeroberfläche 300 ein Inlineframe 306 beinhalten. Inlineframe 306 kann als ein Portal für die Recheneinrichtung des Benutzers dienen, damit diese sich in direkter Kommunikation mit einem computergestützten CAPTCHA-System befindet.
-
Inlineframe 306 kann einen Herausforderungsaufforderungsbereich 308, ein Herausforderungsantwortfeld 312, und ein Bedienfeld 314 umfassen. Innerhalb des Herausforderungsaufforderungsbereichs 308 kann eine CAPTCHA-Herausforderungsaufforderung 310 angezeigt werden.
-
Herausforderungsantwortfeld 312 kann dem Benutzer die Gelegenheit bieten, Text als Antwort auf die Herausforderung einzugeben. Bedienfeld 314 kann unterschiedliche Steuerungen für das Interagieren mit dem computergestützten CAPTCHA-Herausforderungssystem beinhalten, zu denen unter anderem beispielsweise auch eine Steuerung zum Empfang einer neuen Herausforderung, eine Steuerung zum Empfang einer akustischen Herausforderung und ein Hilfe- oder Informationsknopf gehören.
-
Rückkehrend zu 2 kann die Recheneinrichtung des Benutzers die Antwort vom Ressourcenanbieter bei (220) erhalten, und sie dem computergestützten CAPTCHA-System übermitteln. In (222) kann das computergestützte CAPTCHA-System eine Antwort von der Rechnereinrichtung des Benutzers erhalten.
-
In (224) kann das computergestützte CAPTCHA-System einen Überprüfungscode generieren und ihn der Recheneinrichtung des Benutzers bereitstellen, falls eine oder mehrere der Überprüfungsbedingungen erfüllt sind. In (226) kann die Recheneinrichtung des Benutzers den Überprüfungscode vom computergestützten CAPTCHA-System erhalten.
-
Als ein Beispiel kann das computergestützte CAPTCHA-System den Überprüfungscode generieren und ihn der Recheneinrichtung des Benutzers bei (224) bereitstellen, sofern die bei (222) erhaltene Antwort, die bei (216) bereitgestellte Herausforderung richtig löst oder auf sonstige zufriedenstellende Weise bewältigt. Als weiteres Beispiel kann das computergestützte CAPTCHA-System den Überprüfungscode bei (224) nur dann generieren und bereitstellen, falls die Antwort auf die Herausforderung zufriedenstellend ist und die bei (214) erstellte Vertrauenswürdigkeitsbeurteilung darüber hinaus auch größer als ein Schwellenwert ausfällt.
-
Als noch ein weiteres Beispiel kann der Überprüfungscode bei (224) generiert und bereitgestellt werden, falls das Ergebnis der bei (214) erstellten Vertrauenswürdigkeitsbeurteilung höher als ein Schwellenwert ausfällt, und zwar unabhängig davon, ob die Antwort auf die Herausforderung zufriedenstellend ist. Als weiteres Beispiel kann die Vertrauenswürdigkeitsbeurteilung auf Basis der bei (222) erhaltenen Antwort, bei (224) aktualisiert oder revidiert werden, und der Überprüfungscode kann generiert und bereitgestellt werden, falls das Ergebnis der aktualisierten Vertrauenswürdigkeitsbeurteilung höher als ein Schwellenwert ausfällt. Zum Beispiel kann das Ergebnis der Vertrauenswürdigkeitsbeurteilung bei einer richtigen Antwort nach oben revidiert und bei einer falschen Antwort nach unten revidiert werden.
-
Beim Überprüfungscode kann es sich um ein Authentifizierungszertifikat oder ein anderes Sicherheits- oder Authentifizierungsgerät oder -mechanismus handeln. Zum Beispiel kann der Überprüfungscode in einigen Implementierungen einen Hashwert eines Identifikators der Recheneinrichtung des Benutzers oder sonstige Informationen beinhalten oder kann den öffentlichen Schlüssel des Ressourcenanbieters integrieren.
-
Es ist selbstverständlich, dass Schritte (210)–(226) in einigen Implementierungen als Überprüfungsprozess betrachtet werden können. Ferner können Schritte (210)–(226) in einigen Implementierungen über ein Inlineframe, ein eingebettetes Objekt, ein Portlet oder ein sonstiges eingebettetes Widget oder eine Anwendung, die Teil der Webseite des Ressourcenanbieters ist, erfolgen.
-
In (228) kann die Recheneinrichtung des Benutzers dem Ressourcenanbieter einen Überprüfungscode bereitstellen. In (230) kann der Ressourcenanbieter den Überprüfungscode von der Recheneinrichtung des Benutzers empfangen.
-
In (232) kann der Ressourcenanbieter dem computergestützten CAPTCHA-System den Überprüfungscode übermitteln. In einigen Implementierungen, kann der Ressourcenanbieter dem computergestützten CAPTCHA-System bei (232) auch seinen privaten Schlüssel zusammen mit dem Überprüfungscode übermitteln.
-
In (234) kann das computergestützte CAPTCHA-System dem Ressourcenanbieter eine Validierung des Überprüfungscodes bereitstellen, sofern der Überprüfungscode auch gültig ist. Falls der Überprüfungscode ungültig ist oder verfälscht wurde, kann das computergestützte CAPTCHA-System den Ressourcenanbieter darüber informieren, dass der Überprüfungscode ungültig ist.
-
In (236) kann der Ressourcenanbieter die Validierung des Überprüfungscodes vom computergestützten CAPTCHA-System erhalten. Als Antwort auf das Erhalten der Validierung bei (236) kann der Ressourcenanbieter der Recheneinrichtung des Benutzers Zugang zur Ressource bei (238) bereitstellen. In (240) kann die Recheneinrichtung des Benutzers auf die Ressource zugreifen.
-
Auf diese Weise kann der Benutzer oder die Recheneinrichtung des Benutzers mittels des direkten Beteiligen am Prüfungsprozess mit dem computergestützten CAPTCHA-System überprüft werden. Demzufolge können Probleme, die mit der Implementierung des Überprüfungsprozesses in Verbindung gebracht werden, vom Ressourcenanbieter reduziert oder eliminiert werden. Es ist für den Ressourcenanbieter beispielsweise nicht erforderlich, mehrere Herausforderungsformate zu unterstützen oder sein System jedes Mal zu aktualisieren, wenn der Überprüfungsprozess aktualisiert oder verbessert wird. Stattdessen kann der Ressourcenanbieter sich einfach auf das computergestützte CAPTCHA-System verlassen, das in der Lage ist, den Überprüfungsprozess in seiner Gesamtheit durchzuführen und den sich daraus ergebenden und von der Recheneinrichtung des Benutzers bereitgestellten Überprüfungscode zu validieren.
-
4 bildet ein Flussdiagramm eines exemplarischen Verfahrens (400) zum Betreiben eines computergestützten CAPTCHA-Systems gemäß einer exemplarischen Ausführungsform der vorliegenden Offenbarung ab. Verfahren (400) kann von jedem geeigneten computergestützten CAPTCHA-System, zu dem auch das computergestützte CAPTCHA-System 102 aus 1 gehört, implementiert werden.
-
Obwohl 4 darüber hinaus Schritte abbildet, die zum Zweck der Veranschaulichung und Erörterung in einer bestimmten Reihenfolge durchgeführt werden, sind die Verfahren der vorliegenden Offenbarung nicht auf eine derartige Reihenfolge oder Anordnung beschränkt. Ein Fachmann auf dem Gebiet, der die hierin bereitgestellten Offenbarungen verwendet, wird erkennen, dass die verschiedenen Schritte des Verfahrens (400) ohne Abweichung vom Schutzumfang der vorliegenden Offenbarung auf unterschiedliche Art und Weise unterlassen, umgeordnet, kombiniert und/oder auf verschiedene Weise angepasst werden können.
-
In (402) kann das computergestützte CAPTCHA-System eine Anfrage von der Rechnereinrichtung des Benutzers erhalten, sich am Überprüfungsprozess zu beteiligen. Zum Beispiel kann ein Benutzer, der versucht, sich unter Verwendung seines Smartphones Zugang zu einer Bidding-Schnittstelle einer Online-Versteigerung zu verschaffen, von der Versteigerungswebseite so umgeleitet werden, dass sein Smartphone eine direkte Verbindung zum computergestützten CAPTCHA-System aufbaut und das Teilnehmen Überprüfungsprozess erforderlich macht.
-
In (404) kann das computergestützte CAPTCHA-System ein oder mehrere Reputationssignale, die mit der Recheneinrichtung des Benutzers in Verbindung stehen, abrufen. Das computergestützte CAPTCHA-System kann beispielsweise Reputationssignale erhalten, die angeben, dass es sich bei der Recheneinrichtung des Benutzers um ein relativ teures Verbrauchermobilgerät handelt, dass der Benutzer über ein Benutzerkonto mit gutem Ruf verfügt, dass das Smartphone von einer Internetprotokolladresse mit gutem Ruf kommuniziert, dass der Benutzer über eine Webnutzungsvorgeschichte ohne missbräuchlichen Charakter verfügt oder sonstige Reputationssignale erhalten.
-
In (406) kann das computergestützte CAPTCHA-System auf Basis eines oder mehrerer Reputationssignale eine Vertrauenswürdigkeitsbeurteilung erstellen. Zum Beispiel kann das computergestützte CAPTCHA-System vom Speicher einen Vertrauenswürdigkeitswert erhalten, der mit jedem bei (404) erhaltenen Reputationssignal in Verbindung gebracht wird. In einigen Implementierungen kann ein höherer Vertrauenswürdigkeitswert für jedes derartige Signal erhalten werden, da der Benutzer und sein Smartphone mehrere starke Signale bereitgestellt haben, die ergeben, dass er ein legitimer menschlicher Benutzer und kein automatisierter „bot” ist. Zum Beispiel können die Vertrauenswürdigkeitswerte zusammengefasst werden, um das Ergebnis der Vertrauenswürdigkeitsbeurteilung ermitteln zu können.
-
In (408) kann das computergestützte CAPTCHA-System eine Herausforderung auswählen, die der Recheneinrichtung des Benutzers auf Basis der Vertrauenswürdigkeitsbeurteilung bereitgestellt werden soll. Da das bei (406) ermittelte Ergebnis der Vertrauenswürdigkeitsbeurteilung zum Beispiel relativ hoch ausgefallen ist, kann das computergestützte CAPTCHA-System bei (408) eine Herausforderung auswählen, die im Verhältnis dazu weniger schwer ist. Als ein Beispiel kann die Herausforderung die Äußerung einer Meinung erfordern, eine Werbeanzeige bereitstellen oder anderweitig erfordern, dass der Benutzer an einer Informationsgewinnung mittels Crowd-Sourcing teilnimmt. Ferner, da es sich bei der Recheneinrichtung des Benutzers um ein Smartphone handelt, kann dann bei (408) eine für ein mobiles Gerät vorgesehene Herausforderung ausgewählt werden.
-
In (410) kann das computergestützte CAPTCHA-System die ausgewählte Herausforderung der Rechnereinrichtung des Benutzers übermitteln. In (412) kann das computergestützte CAPTCHA-System eine Antwort auf die Herausforderung von der Rechnereinrichtung des Benutzers erhalten.
-
In (414) kann das computergestützte CAPTCHA-System ermitteln, ob die bei (412) erhaltene Antwort eine zufriedenstellende Bewältigung der Herausforderung darstellt. Falls ermittelt wird, dass die Antwort eine zufriedenstellende Bewältigung der Herausforderung darstellt, kann das computergestützte CAPTCHA-System die Recheneinrichtung des Benutzers bei (416) überprüfen. Zum Beispiel kann das Überprüfen der Recheneinrichtung des Benutzers bei (416) das Generieren eines Überprüfungscodes und dessen Bereitstellen an die Recheneinrichtung des Benutzers beinhalten.
-
Falls jedoch ermittelt wird, dass bei (414) die Antwort keine zufriedenstellende Bewältigung der Herausforderung darstellt, kann das computergestützte CAPTCHA-System das Überprüfen der Recheneinrichtung des Benutzers bei (418) verweigern. Zum Beispiel kann das computergestützte CAPTCHA-System das Bereitstellen eines Überprüfungscodes verweigern, die Recheneinrichtung des Benutzers dem Ressourcenanbieter berichten, die Recheneinrichtung des Benutzers eine Zeit lang sperren, oder sonstige Maßnahmen ergreifen.
-
5 bildet ein Flussdiagramm eines exemplarischen Verfahrens (500) zum Betreiben eines computergestützten CAPTCHA-Systems gemäß einer exemplarischen Ausführungsform der vorliegenden Offenbarung ab. Verfahren (500) kann von jedem geeigneten computergestützten CAPTCHA-System, zu dem auch das computergestützte CAPTCHA-System 102 aus 1 gehört, implementiert werden.
-
Obwohl 5 darüber hinaus Schritte abbildet, die zum Zweck der Veranschaulichung und Erörterung in einer bestimmten Reihenfolge durchgeführt werden, sind die Verfahren der vorliegenden Offenbarung nicht auf eine derartige Reihenfolge oder Anordnung beschränkt. Ein Fachmann auf dem Gebiet, der die hierin bereitgestellten Offenbarungen verwendet, wird erkennen, dass die verschiedenen Schritte des Verfahrens (500) ohne Abweichung vom Schutzumfang der vorliegenden Offenbarung auf unterschiedliche Art und Weise unterlassen, umgeordnet, kombiniert und/oder auf verschiedene Weise angepasst werden können.
-
In (502) kann das computergestützte CAPTCHA-System eine Anfrage von der Rechnereinrichtung des Benutzers erhalten, sich am Überprüfungsprozess zu beteiligen. Zum Beispiel kann ein Benutzer, der versucht, sich unter Verwendung seines Smartphones Zugang zu einer Bidding-Schnittstelle einer Online-Versteigerung zu verschaffen, von der Versteigerungswebseite so umgeleitet werden, dass sein Smartphone eine direkte Verbindung zum computergestützten CAPTCHA-System aufbaut und das Teilnehmen Überprüfungsprozess erforderlich macht.
-
In (504) kann das computergestützte CAPTCHA-System ein oder mehrere Reputationssignale, die mit der Recheneinrichtung des Benutzers in Verbindung stehen, abrufen. Das computergestützte CAPTCHA-System kann beispielsweise Reputationssignale erhalten, die angeben, dass es sich bei der Recheneinrichtung des Benutzers um ein relativ teures Verbrauchermobilgerät handelt, dass der Benutzer über ein Benutzerkonto mit gutem Ruf verfügt, dass das Smartphone von einer Internetprotokolladresse mit gutem Ruf kommuniziert, dass der Benutzer über eine Webnutzungsvorgeschichte ohne missbräuchlichen Charakter verfügt oder sonstige Reputationssignale erhalten.
-
In (506) kann das computergestützte CAPTCHA-System auf Basis eines oder mehrerer Reputationssignale eine Vertrauenswürdigkeitsbeurteilung erstellen. Zum Beispiel kann das computergestützte CAPTCHA-System vom Speicher einen Vertrauenswürdigkeitswert erhalten, der mit jedem bei (504) erhaltenen Reputationssignal in Verbindung gebracht wird. Da der Benutzer und sein Smartphone mehrere starke Signale bereitgestellt haben, die ergeben, dass er ein legitimer menschlicher Nutzer und kein automatisierter „bot” ist, kann daher ein höherer Vertrauenswürdigkeitswert für jedes derartige Signal erhalten werden. Zum Beispiel können die Vertrauenswürdigkeitswerte zusammengefasst werden, um das Ergebnis der Vertrauenswürdigkeitsbeurteilung ermitteln zu können.
-
In (508) kann das computergestützte CAPTCHA-System eine Herausforderung auswählen, die der Recheneinrichtung des Benutzers auf Basis der Vertrauenswürdigkeitsbeurteilung bereitgestellt werden soll. Da das bei (506) ermittelte Ergebnis der Vertrauenswürdigkeitsbeurteilung zum Beispiel relativ hoch ausgefallen ist, kann das computergestützte CAPTCHA-System bei (508) eine Herausforderung auswählen, die im Verhältnis dazu weniger schwierig ist. Als ein Beispiel kann die Herausforderung die Äußerung einer Meinung erfordern, eine Werbeanzeige bereitstellen oder anderweitig erfordern, dass der Benutzer an einer Informationsgewinnung mittels Crowd-Sourcing teilnimmt. Ferner, da es sich bei der Recheneinrichtung des Benutzers um ein Smartphone handelt, kann dann bei (508) eine für ein mobiles Gerät vorgesehene Herausforderung ausgewählt werden.
-
In (510) kann das computergestützte CAPTCHA-System die ausgewählte Herausforderung der Rechnereinrichtung des Benutzers übermitteln. In (512) kann das computergestützte CAPTCHA-System eine Antwort auf die Herausforderung von der Rechnereinrichtung des Benutzers erhalten.
-
In (514) kann die Vertrauenswürdigkeitsbeurteilung auf Basis der Antwort aktualisiert oder auf sonstige Weise revidiert werden. Als ein Beispiel kann das Ergebnis der Vertrauenswürdigkeitsbeurteilung nach oben revidiert oder verbessert werden, falls die Antwort die Herausforderung auf zufriedenstellende Weise bewältigt. Gleichermaßen kann das Ergebnis der Vertrauenswürdigkeitsbeurteilung nach unten revidiert oder verschlechtert werden, falls die Antwort die Herausforderung auf unzufriedenstellende Weise bewältigt.
-
In (516) kann das computergestützte CAPTCHA-System bestimmen, ob die aktualisierte Vertrauenswürdigkeitsbeurteilung größer als ein Schwellenwert ausfällt. Falls die aktualisierte Vertrauenswürdigkeitsbeurteilung größer als ein Schwellenwert ausfällt, kann das computergestützte CAPTCHA-System die Recheneinrichtung des Benutzers bei (518) überprüfen.
-
Auf diese Weise kann die Antwort auf die Herausforderung als zusätzliches Reputationssignal behandelt werden, obwohl sie an sich nicht maßgeblich für den Überprüfungsprozess ist. Zum Beispiel kann ein Benutzer, der versucht auf die Bidding-Schnittstelle zuzugreifen, eine falsche Antwort auf die Herausforderung bei (512) bereitgestellt haben. Demzufolge kann die Vertrauenswürdigkeitsbeurteilung bei (514) nach unten revidiert werden. Da der Benutzer jedoch in der Lage war, eine erhebliche Menge an Reputationssignalen bereitzustellen, aus denen sich ergibt, dass er ein legitimer Benutzer ist, kann die bei (514) nach unten durchgeführte Revision unzureichend sein, um das Ergebnis der Vertrauenswürdigkeitsbeurteilung unterhalb des Schwellenwerts zu reduzieren.
-
Falls bei (516) jedoch ermittelt wird, dass das aktualisierte Ergebnis der Vertrauenswürdigkeitsbeurteilung geringer als der Schwellenwert ausfällt, kann Verfahren (500) zu (520) übergehen und die Recheneinrichtung des Benutzers eine Zeit lang sperren. Insbesondere kann das computergestützte CAPTCHA-System gemäß einem Aspekt der vorliegenden Offenbarung eine Ratenbegrenzung auf Basis der Vertrauenswürdigkeitsbeurteilung oder infolge einer falschen Antwort durchführen.
-
Demzufolge kann die Recheneinrichtung des Benutzers eine Zeit lang, wie mittels der Schritte (520) und (522) angegeben, gesperrt werden. In einigen Implementierungen kann die Dauer der Sperrfrist auf Basis der Vertrauenswürdigkeitsbeurteilung ermittelt werden. Zum Beispiel kann eine Recheneinrichtung des Benutzers, die eine sehr schlechte Vertrauenswürdigkeitsbeurteilung erhalten hat, für eine längere Dauer gesperrt werden. Auf diese Weise kann die Ratenbegrenzung, wie vom entsprechenden Ergebnis der Vertrauenswürdigkeitsbeurteilung ausgehend, auf Basis der relativen Bedrohung, die von einer Recheneinrichtung des Benutzers ausgeht, geregelt werden.
-
Des Weiteren können weitere Arten der Ratenbegrenzung verwendet werden, obwohl 5 zeigt, dass eine Ratenbegrenzung als Sperrfrist zwischen den Gelegenheiten eine CAPTCHA-Herausforderung zu erhalten und zu lösen, durchgeführt wird. Zum Beispiel kann eine Ratenbegrenzung im Stil eines Code-Speicherbereichs durchgeführt werden, wobei es sich bei der Codeaktualisierungsrate z. B. um eine aktualisierte Vertrauenswürdigkeitsbeurteilung handelt.
-
Unter erneuter Bezugnahme auf 5 kann Verfahren (500) nach Ablauf der Sperrfrist zu (508) zurückkehren und eine zusätzliche Herausforderung auswählen, um diese der Recheneinrichtung des Benutzers anzubieten. Auf diese Weise kann die mit der Recheneinrichtung des Benutzers in Verbindung gebrachte Vertrauenswürdigkeitsbeurteilung über eine Reihe von Herausforderungen und Antworten geregelt oder revidiert werden. Somit kann ein Benutzer, der anfänglich ein sehr niedriges Ergebnis der Vertrauenswürdigkeitsbeurteilung erhält, eine Reihe von Herausforderungen bewältigen, um seine Vertrauenswürdigkeitsbeurteilung zu verbessern und um das Vertrauen des Systems zu gewinnen.
-
Obwohl der vorliegende Erfindungsgegenstand im Detail unter Bezugnahme auf seine spezifischen exemplarischen Ausführungsformen und Verfahren beschrieben wurde, ist erkennbar, dass der Fachmann mit dem Verständnis des Vorstehenden leicht Änderungen an den, Varianten von den und Äquivalente zu solchen Ausführungsformen erzeugen kann. Demgemäß ist der Umfang der vorliegenden Offenlegung nur beispielhaft und nicht begrenzend, und die betroffene Offenbarung schließt die Einbeziehung solcher Modifizierungen, Varianten und/oder Hinzufügungen des vorliegenden Gegenstands nicht aus, die für den Fachmann problemlos offensichtlich sind.