Ich möchte den Tresor in dem die Passwörter liegen nur bei Bedarf öffnen. Ic hdachte, das ist exakt die Aufgabe eines Passwortmanagers??
Und genau das ist doch das Verhalten bei Dir.
Nein. Auf eine gewünschte Abfrage kommen 50 unerwünschte.
Unerwünscht sind z.B. alle Abfrogen bei denen mir danach kein Passwort angezeigt wird.
Ja, das stimmt. Das ist nicht das von Dir gewünschte Verhalten. Das Problem ist, dass die Aussage "Ich möchte den Tresor in dem die Passwörter liegen nur bei Bedarf öffnen." nicht wirklich das ist, was Du mit dem Schlüsselbund erreichen willst, bzw. wie der Schlüsselbund funktioniert.
Unter dem Reiter "Zugriff" kannst Du definieren, wie darauf zugegriffen werden kann und welches Programm zugriffsberechtigt ist.
Ok, verstanden. D. h. ich muss jetzt alle 500 Schlüssel einzeln durchforsten?
Jein, es ist eher die Frage, bei welchen Einträgen möchtest Du, dass das Programm, welches diesen Eintrag angelegt hat, nicht jederzeit ungefragt darauf zugreifen kann. Nur bei diesen musst Du etwas anderes einstellen.
Schön. Die Frage ist doch, ob sie könnten? Ich gebe also mir Unbekannten einen Generallschlüssel für alle Schließfacher in die Hand, vertraue aber darauf, dass sie nur ihr Schließfach aufmachen?
Nein, das hast Du falsch verstanden. Du gibst keinem(!) Programm den Generalschlüssel. Solange es keine Sicherheitslücke in der Implementierung gibt, kann kein Programm auf fremde Einträge zugreifen.
Es funktioniert so:
Es gibt einen Systemdienst "Schlüsselbundverwaltung". Dieser liest und schreibt Einträge in Schlüsselbünde und nur dieser(!) fragt bei einem abgeschlossenen Schlüsselbund nach dem Generalschlüssel.
Ein Programm, welches Einträge schreiben oder lesen will, geht zum Systemdienst "Schlüsselbundverwaltung" und trägt sein Anliegen vor. Ob der Schlüsselbund momentan auf oder zu ist, weiß er nicht, erfährt er auch nicht. Der Systemdienst geht dann an den Schlüsselbund, schaut nach, ob das Programm berechtigt ist, Daten zu lesen, fragt evtl. bei Dir nach dem Generalschlüssel nach und präsentiert dem Programm dann das Ergebnis.
Also quasi der Tresor=Schlüsselbund ist unzugänglich im Keller. Kein Kunde kann selber in diesen Tresor, sondern muss immer einen Bankangestellten um Hilfe bitten. Nur dieser Bankangestellte geht dann in den Keller, öffnet evtl. den Tresor und übergibt nur Daten, auf die der Kunde Zugriff haben darf. Der Kunde kommt nie an den Tresor heran und erfährt weder Generalschlüssel noch Zustand des Tresors.
Was ist denn das für ein "Darf nicht" Mechanismus?
Im Prinzip genau das gleiche wie Benutzerrechte bei Dateien. Auch hier prüft ein Systemdienst, ob Du als Nutzer eine Datei lesen darfst und Du bekommst die nur ausgeliefert, wenn Du es darfst.
Aber warum nutzt das System nicht einen eigenen Tresor? Dann würde es mich auch nicht behelligen wenn ich die von mir individuell eingetragenen Sachen schützen möche.
Das System nutzt einen eigenen Tresor. Da sind alle systemweiten Dinge gespeichert, z.B. WLAN-Kennwort. Zusätzlich gibt es pro Benutzer einen anwenderbezogenen Tresor "Anmeldung". In diesen kommt alles, was den jeweiligen Nutzer betrifft. Klar könnte Apple hier noch zwei Tresore anlegen. Einen für Einträge von Programmen, die zum Betriebssystem gehören und einen für alle anderen Einträge. Das haben sie aber nicht gemacht, sondern es wird alles in einen geworfen.
Du könntest aber einen zweiten (oder noch mehr) Schlüsselbund anlegen, der anders verwaltet wird und dort Einträge machen. Ich weiß nicht, ob ein Programm nur im Schlüsselbund "Anmeldung" suchen lässt oder in allen. Das müsste man mal ausprobieren.
Aber prinzipiell finde ich es einfacher, den Schlüsselbund immer offen zu haben, d.h. der Tresor im Keller ist immer für den Bankangestellten offen, und nur bei den wenigen Fällen, bei denen die Daten an die berechtigten Kunden nicht ohne zusätzliche(!) Prüfung herausgegeben werden sollen, ändere ich den Zugriff.
Das ganze funktioniert, solange es keinen Fehler in der Implementierung gibt, d.h. dass sich z.B. der Bankangestellte durch den Kunden täuschen lässt und dieser ihm eine andere Identität vorgaukelt.