it-swarm.com.de

Authentifizierung vs Autorisierung

Ich habe auf diesen Link verwiesen und das weiß ich

Authentifizierung = Login + Passwort (wer du bist)

Autorisierung = Berechtigungen (was Sie tun dürfen)

Meine Frage lautet: Angenommen, [~ # ~] a [~ # ~] erhält die Login-ID und das Passwort von [~ # ~] b [~ # ~] , das eine höhere Berechtigung als A hat, würde die Autorisierung gefährden, da A alle Zugriffsrechte von B erhält, sobald A fälschlicherweise als B authentifiziert wird.

Worum geht es also bei der Autorisierung?

Ist es abhängig oder unabhängig von der Authentifizierung?

18
Sachin Yadav

sobald A fälschlicherweise als B authentifiziert wird ...

Auf einem minimal sicheren System ist dies nicht der Fall. Aus Sicht des Systems authentifiziert sich Benutzer B selbst, nicht Benutzer A. Es wurde nicht falsch authentifiziert, es wurde das echte Login und Passwort verwendet. Es ist ein einfacher Fall von Diebstahl von Anmeldeinformationen. Sie können das System mit jeder Form von 2FA härten, aber das System funktioniert wie vorgesehen.

Es würde fälschlicherweise authentifiziert, wie Sie sagten, wenn Benutzer A seine eigenen Anmeldeinformationen verwendet und irgendwie das Profil von Benutzer B erhält. In diesem Fall könnte der Angriff ein Authentifizierungs-Bypass oder eine Berechtigungseskalation sein, und das System müsste gepatcht werden.

Worum geht es also bei der Autorisierung?

Berechtigungen trennen, je nachdem, wer Sie sind. Wenn jemand Ihre Anmeldeinformationen verwenden kann, sind es im Wesentlichen Sie, sodass die Autorisierung weiterhin besteht.

Es ist abhängig oder unabhängig von der Authentifizierung?

Es ist unabhängig (obwohl viele Autorisierungssysteme sich dafür entscheiden, von Authentifizierungsinformationen abhängig zu sein). Bei Authentifizierungen geht es darum, wer Sie sind. Autorisierung ist, welche Privilegien Sie haben. Single Sign-On-Systeme werden beispielsweise zum Erzwingen der Identität verwendet, und ein anderes System muss zum Erzwingen von Berechtigungen verwendet werden.

42
ThoriumBR

Autorisierung und Authentifizierung sind zwei Seiten derselben Medaille, bei denen die Autorisierung manchmal von der Authentifizierung abhängt, jedoch nicht immer. Wie?

  1. Auch ohne Login kann ein Besucher von Stack Exchange Fragen und Antworten anzeigen. Hier hat der Besucher die Berechtigung, Antworten anzuzeigen, benötigt dafür aber sicherlich keine Authentifizierung, daher ist die Autorisierung hier unabhängig von der Authentifizierung.

  2. Ein angemeldeter Benutzer hat die Berechtigung, Fragen zu stellen oder eine Frage zu beantworten. Dafür muss er jedoch eine ordnungsgemäße Anmeldung bereitstellen. Daher hängt die Autorisierung hier von der Authentifizierung ab.

Kurz gesagt, wenn die Authentifizierung beeinträchtigt ist, wird natürlich auch die Autorisierung behindert.

8
amit thakur

Im Allgemeinen ist es eine gute Idee, alle vier As (Authentifizierung, Autorisierung/Zugriffskontrolle, Buchhaltung, Prüfung) und nicht nur zwei zu berücksichtigen.

Es gibt keine Authentifizierungsmethode, die der 5-Dollar-Schlüsselmethode zuverlässig entgegenwirken kann (wie von der Webcomic-XKCD beschrieben, bei der Sie jemanden mit einem 5-Dollar-Schlüssel schlagen, bis er sich für Sie anmeldet), obwohl es Methoden gibt (z. B. Passcode + 1) kann das System darauf hinweisen, dass der 5-Dollar-Schlüssel verwendet wird. Es ist eine böse Welt.

Die Authentifizierung ist der einzige Schritt, der nicht von den anderen abhängig ist. Das heißt, es muss zuerst kommen. Die Authentifizierung kann explizit (sagen Sie mir, wer Sie sind) oder implizit (ich sehe anhand Ihrer Hardware-Zertifikate, dass Sie sich im Bunker angemeldet haben) sein. Sie können sich als Einzelperson (Berater Rin) oder als "Rolle" (jeder Mordbot) authentifizieren. Gesetzlich regulierte Unternehmen müssen fast immer eine explizite individuelle Authentifizierung verwenden, damit die Prüfung eine Chance hat. Wenn ein Gruppen- oder Rollenkonto erforderlich erscheint, stimmt wahrscheinlich etwas nicht mit Ihrem Verständnis des Problems, da es eine andere Lösung gibt, die Sie einfach nicht sehen.

Die Autorisierung (die oft als Zugriffssteuerung bezeichnet wird, weil es sehr einfach ist, Authentifizierung und Autorisierung beim Sprechen zu verwechseln) ist die Gewährung von Rechten an einen Prozess (angemeldete Benutzer sind aus Sicht des Prozessors nur ein weiterer Prozess) basierend auf ihrer Authentifizierung. Wenn Sie beispielsweise J. Random Lusr sind, haben Sie möglicherweise nur das Recht, Dateien in Ihrem Home-Ordner zu erstellen. Wenn Sie jedoch Biff Snidely, ein Unternehmensaristokrat, sind, haben Sie möglicherweise auch das Recht, Dateien in einem freigegebenen Abteilungsordner zu erstellen. Möglicherweise unterliegen Sie Einschränkungen hinsichtlich des Speicherplatzes oder anderer Ressourcen oder nicht.

Das Rechnungswesen ist im Grunde die Aufzeichnung der Ressourcen, die ein angemeldeter Prozess verwendet hat - es kann sehr einfach (Joe hat heute 1000 Prozessorzyklen verwendet und 1 G Speicher verwendet) oder sehr aufwendig (Biff hat diese Befehle in genau dieser Zeit in dieser Reihenfolge ausgegeben) sein ). Es ist die Grundlage der Prüfung. Eine extrem gute Buchhaltung sendet Daten vom System, so dass sie nicht aus dem lokalen System gelöscht werden können, wenn sie gehackt werden.

Auditing ist lockerer definiert; Dies kann ein automatischer Prozess sein, der nach Versuchen Ausschau hält, Aktionen auszuführen, die der Benutzer nicht ausführen darf, oder es kann sich um ein Team von Gnomen handeln, die im Keller angekettet sind und über die Befehlsprotokolle des Tages blättern, oder was auch immer Sie sich sonst vorstellen können. Der Punkt der Prüfung ist, dass die Authentifizierung mit einem 5-Dollar-Schlüssel besiegt werden kann. Sie können also nicht einfach davon ausgehen, dass niemand Ihre Sicherheit verletzt hat, weil Ihre Benutzer über harte Passwörter verfügen. Sie können nicht einmal davon ausgehen, dass Ihre Benutzer nicht versehentlich einen Weg finden, die Zugriffskontrolle zu unterbrechen. Das passiert wirklich die ganze Zeit.

6
Medievalist

Eine andere zu berücksichtigende Sache ist auch die Annahme, die das OP macht: "Sobald A fälschlicherweise als B authentifiziert wird, erhält A alle Zugriffsrechte von B." ist nicht unbedingt in allen Systemen und Anwendungsfällen korrekt.

In einem System mit einem Workflow mit doppelter Steuerung muss ich mich beispielsweise zuerst authentifizieren, dann aber auch eine Berechtigung für eine bestimmte Ressource von ihrem Eigentümer erhalten. Der Eigentümer kann mir diese Autorisierung nach vielen anderen Faktoren gewähren oder nicht, außer dass ich authentifiziert bin. Beispielsweise sollte auf einige Ressourcen nur zu bestimmten Tageszeiten zugegriffen werden.

Eine gute Analogie, mit der ich über das Thema nachdenke, ist folgende:

  1. Authentifizierung ist wie eine Schlüsselkarte für ein Gebäude.

  2. Die Autorisierung gibt an, auf welche Räume im Gebäude ich zugreifen kann, wenn ich einmal drin bin, insbesondere wenn meine Gebäudekarte gestohlen wurde und ich mich einem Raum nähere, der von jemandem bewacht wird, der mich nicht erkennt. Ich darf möglicherweise nicht hinein :)

2
Amit

Ihre Frage unterstreicht die Notwendigkeit robuster Authentifizierungsmechanismen und den Grund, warum viele das Passwort seit einiger Zeit als "tot" betrachten. Dies ist auch der Grund, warum die Multi-Faktor-Authentifizierung zunehmend Akzeptanz findet.

Lassen Sie uns Ihre Frage jedoch umdrehen: Angenommen, eine Organisation verfügt über ein System, das finanzielle HR-, Verwaltungs- und andere Informationen enthält. Jetzt ist Person A authentifiziert (korrekt) und berechtigt, nur administrative Informationen anzuzeigen. Wenn wir Ihr Argument aufgreifen und sagen würden: "Nun, wir können unserer Authentifizierung nicht vertrauen, also kümmern wir uns nicht um die Autorisierung." Sie würden der Person A Zugriff auf finanzielle HR-Daten gewähren, auch wenn sie nicht berechtigt sein sollte, diese zu sehen.

1
Sean E. M.

Die Authentifizierung beantwortet diese Frage: Sind Sie der, von dem Sie sagen, dass Sie es sind? Zahlreiche Möglichkeiten dazu, aber wie ist irrelevant. Einige Wege sind offensichtlich effektiver oder zuverlässiger als andere. Sie können es auch als zwei Fragen betrachten: Wer sind Sie? Wie kann ich sicher sein?

Die Autorisierung beantwortet eine der folgenden Fragen: Was dürfen Sie tun? Darfst du X machen? Sie können dies ohne Authentifizierung tun, aber warum sollten Sie? Was ist der Punkt?

1
Rob F

Für mich ist die einfachste Erklärung wie folgt:

Die Authentifizierung teilt dem System mit, wer Sie sind. Die Autorisierung teilt dem System mit, was Sie tun können.

Wenn Client A den Login und das Passwort von B hat und es geschafft hat authentifiziere als B , in jeder Hinsicht gegenüber dem "getäuschten" Server, - A ist jetzt B und ist autorisiert um alles zu tun, was B kann.

Obwohl die Autorisierung unabhängig von der Authentifizierung funktioniert, würde ich argumentieren, dass die Authentifizierung eine Voraussetzung für die Autorisierung ist. Wie kann das System wissen, was Sie tun können, wenn es nicht weiß, wer Sie sind?

1
Bahrom

Ihre Hypothese macht nicht wirklich Sinn. Sie sagen, dass etwas kompromittiert ist, weil jemand die Anmeldeinformationen eines anderen hat, die mehr Autorität haben als seine eigenen. Es ist nur deshalb kompromittiert, weil jemand allein die Anmeldeinformationen eines anderen hat. Ob sie höhere, gleiche oder weniger Autorität haben, sollte keine Rolle spielen.

Stellen Sie sich eine Situation vor, in der ein Administrator die Anmeldeinformationen eines regulären Benutzers erhält. Jetzt können sie sich als dieser Benutzer ausgeben. Früher konnten sie vielleicht Dinge "als" dieser Benutzer tun, aber vermutlich gibt es irgendwo Protokolle, die jemand prüfen konnte, um festzustellen, dass es sich um den Administrator handelte, der als Benutzer fungierte. Wenn jemand über die Anmeldeinformationen dieses Benutzers verfügt, wird in den Protokollen angezeigt, dass es sich um den Benutzer handelt.

Der Autorisierungspunkt bleibt weiterhin bestehen. Unterschiedliche Benutzer müssen in der Lage sein, unterschiedliche Aufgaben und ohne Berechtigung auszuführen, die nicht ausgeführt werden können.

Wie amit thakur in seiner Antwort sagt, haben selbst nicht authentifizierte Benutzer die Berechtigung, einige Aufgaben wie das Anzeigen von Fragen und Antworten auf dieser Website auszuführen, wenn Sie nicht angemeldet sind. Autorisierung und Authentifizierung sind also getrennte Konzepte, aber eng miteinander verbunden.

0
Captain Man

Stellen Sie sich vor, Sie wohnen in einem Gebäude mit vielen Wohnungen. Der Sicherheitsmann am Gate weiß, dass Sie tatsächlich dort wohnen, weiß aber nicht genau, in welcher Wohnung Sie wohnen. Die Authentifizierung erfolgt an dem Punkt, an dem der Sicherheitsmann Sie als jemanden identifiziert, der im Gebäude lebt und erlauben Sie, hineinzugehen.

Wenn Sie jedoch Zutritt zum Gebäude erhalten, bedeutet dies nicht, dass Sie eine Wohnung betreten können, die Sie sehen. Daher erfolgt die Autorisierung, wenn Sie auf Ihre eigene Wohnung zugreifen, da Sie für diesen Zugriff zugelassen wurden.

0
codein

Die Autorisierung/Autorisierung hängt von der Authentifizierung ab, es handelt sich jedoch immer noch um völlig unterschiedliche Konzepte, da die Authentifizierungsmethoden je nach Autorisierungsstufe variieren.

Möglicherweise können Sie die Authentifizierung umgehen und sich als normaler Benutzer autorisieren. Um jedoch den Root-Zugriff zu erreichen, müssen Sie möglicherweise die Multi-Faktor-Authentifizierung durchführen.

0
s h a a n

Meine Frage lautet: Angenommen, A erhält die Anmelde-ID und das Kennwort von B, die eine höhere Berechtigung als A haben. Dies würde die Autorisierung gefährden, da A nach der falschen Authentifizierung als B alle Zugriffsrechte von B erhält.

Nicht unbedingt. Die Autorisierung kann an eine beliebige Anzahl von Dingen gebunden werden. Beispielsweise kann Benutzer B je nach Gerätetyp (Computer oder Mobilgerät) unterschiedliche Berechtigungsprofile erhalten. Oder sie haben unterschiedliche Profile, je nachdem, wie sie mit dem Netzwerk verbunden sind (verkabelt vs. drahtlos vs. VPN, Unternehmenszentrale vs. Zweigstelle usw.). Als letztes Beispiel kann das Datum/die Uhrzeit bestimmen, welches Berechtigungsprofil auf den Benutzer angewendet wird.

Nur weil Benutzer A die Anmeldeinformationen von Benutzer B verwenden kann, bedeutet dies nicht unbedingt, dass sie dieselben Berechtigungen erhalten.

Worum geht es also bei der Autorisierung?

Sie können zentral verwalten, was ein Benutzer/Gerät in Abhängigkeit von einer Vielzahl von Faktoren tun kann. Damit können Sie Berechtigungen konsistent und zuverlässiger auf Benutzer anwenden.

Angenommen, die Aufgaben eines Mitarbeiters ändern sich (er wird befördert, die Position wird geändert usw.), und Sie müssen die Berechtigungen anpassen. Sie können dies tun, indem Sie jede Ressource "berühren", deren Berechtigungen geändert werden müssen. Wenn alle diese Ressourcen einen zentralen AAA-Server verwenden, erhalten sie durch einfaches zentrales Ändern der Berechtigungen diese Berechtigungen schnell und einfach (und sind weniger anfällig für fehlende Ressourcen oder menschliches Versagen bei sich wiederholenden Änderungen). Oft ist dies so einfach wie das Ändern/Hinzufügen einer Gruppenmitgliedschaft zu ihrem Benutzerkonto.

Oder sagen Sie, Sie haben mehrere Mitarbeiter, die dieselben Berechtigungen haben sollten. Sie können alle dasselbe Berechtigungsprofil verwenden. Wieder einfacher zu verwalten und sicherzustellen, dass ihre Erfahrungen alle konsistent sind.

Ist es abhängig oder unabhängig von der Authentifizierung?

In gewisser Hinsicht beides. Die Autorisierung erfolgt nach der Authentifizierung, so dass sie einerseits erst nach der Authentifizierung erfolgt (auch wenn es sich um eine "offene Authentifizierung" handelt).

Andererseits ist die Autorisierung ein völlig separater Prozess als die Authentifizierung. Die Authentifizierung kann bestimmen, welches Berechtigungsprofil angewendet wird oder nicht.

0
YLearn