Ich kann die Kritik absolut nachvollziehen. Absolut verständlich.
Die Frage, die ich mir aber stelle, welche Lösungen gibt es, das Passwort nicht in irgendwelcher Form abspeichern zu müssen? Mir fallen keine ein.
Teilweise gibt es keine. Gerade dann, wenn man wirklich Richtung IMAP gehen möchte.
Aber bei einigen Anbietern gibt es da Alternativen. Ich kenne die Google Suite relativ gut, da ich diese einsetze. Da läuft es halt so, dass Du Deine Applikation für die API registrierst. Da gibst Du dann u.a. an, worauf zu Zugriff haben willst. Das wäre dann bei Dir Zugriff auf Emails. Aber das kann da auch deutlich mehr sein und teilweise auch deutlich detaillierter. Damit hast Du Daten für Deine App, die Du nutzen musst.
Wenn jetzt jemand sich autorisieren will, dann erstellst Du nur den Autorisierungs-Request. Das läuft dann bei einer Webanwendung in einem eigenen Tab, einem Popup oder was auch immer. Das ist aber dann eine Seite von Google. Ich melde mich da dann an - wie auch immer. Bei mir ist dies in der Regel durch Angabe meines Logins / Passworts + 2FA Bestätigung auf einem meines Handies. nachdem ich mit Authentifiziert habe bei Google fragt Google mich: Die App bla bla bla möchte Zugriff auf: x, y, z ... Stimme ich dem zu? Wenn ich dem zustimme, dann bekommt Deine App von Google einen Token. Diese App darf dann mit diesem Token auf bestimmte Dinge meines Accounts zugreifen.
Das kennst Du evtl. auch von Facebook. Das findet man doch bei fast allen Handy spielen. Da kannst Du dann auch eine Facebook Authentifizierung machen. Läuft ebenso ab: Anmeldung von Facebook (wäre bei mir ähnlich wie oben - Bestätigung auf Handy oder Code muss eingegeben werden) und dann kommt die Frage: Soll die App das und das dürfen. Oft mit der Erläuterung, dass die App nichts in meinem Namen posten kann und so.
Das wäre ein übliches verfahren. Und das gibt mir auch an zentraler Stelle die Möglichkeit, Token zu löschen. Ich will nicht mehr, dass die App bei mir zugreifen kann? Kein Thema: Ich gehe einfach hin und lösche es. Nicht bei Deiner App, deren Webfrontend das ggf. nicht bietet, gerade nicht geht oder oder oder. Nein - das geht zentral in der Verwaltung meines Accounts.
Das wäre eine klare Alternative, die aber nicht alle Anbieter bieten. Nur wenn Anbieter sowas haben (Office 365 hat das ebenso. Die Office 365 Anmeldung vom Konzern Account läuft über die Identity Verwaltung des Konzerns. Wenn ich also bei Microsoft mich anmelde mit Firmen-Email und ich sage: Firmenkonto, dann fragt mich Microsoft nicht nach einem Passwort sondern ich lande auf der Login-Seite vom Identity System des Konzerns. Und da kann ich dann Smartcard (Ist dann eigentlich eine Client Certificate Anmeldung), 2FA mit Code-Generierung, eigens generiertem OTP, ... wählen.
Das ist, was im Business Bereich immer verbreiteter wird. Zu der Firma gehört dann ein identity management - in welcher Form auch immer. Und da werden dann User mit Rollen und so definiert und an der zentralen Stelle erfolgt die Autorisierung. Dienste wollen dann nur noch eine solche und dann gibt es Single Sign On und solche Dinge. Ich muss mich also nicht ständig neu anmelden.
Auch im privaten Bereich findet sich das immer mehr. Anbieter unterstützen andere Identity Provider. Das kann alles mögliche sein:
- Google findet sich sehr oft. Bestes Beispiel ist das Forum hier. Ich habe meinen Google Account verknüpft und damit melde ich mich mit Knopfdruck an (Im Browser bin ich halt auch angemeldet und habe da mein Profil). Microsoft bietet das wohl jetzt auch, aber ist nicht so sehr verbreitet.
- Facebook findet sich sehr stark im privaten Bereich, wo Sicherheit wenig Relevanz hat.
- In Entwickler Bereichen habe ich öfters Github als Identity Provider gesehen. Dann konnte man sich mit Github Account anmelden.
- Bei Blogs ist wordpress.com teilweise ein Identity Provider. Sie hosten viele Blogs direkt und WordPress ist auch weit verbreitet als Tool für Blogs auf eigenem Server. Da bietet sich das an (Aber evtl. braucht man ein kostenpflichtiges AddOn) ...
- ...
Nur zu dem konkreten Problem stellt sich dann die Frage:
- Was für Anbieter müssen unterstützt werden? Bieten die entsprechendes an? IMAP mag im privaten Bereich (noch) funktionieren, aber im gewerblichen Bereich scheitert es bei allen, die etwas mehr auf Sicherheit achten. Ich bin da mit Kleingewerbe schon ein gutes Beispiel...
- Wie aufwändig wird es, dies zu unterstützen? Nicht nur die einmalige Implementierung ist hier wichtig, sondern auch die Unterstützung. Das sind ja lebendige Verfahren - Google ändert da ja auch durchaus mit der Zeit etwas daran. Die APIs werden so in der Form nicht ewig existieren.
Aber man kann technisch diese IMAP Lösung anbieten. Man kann dann andere Verfahren nach und nach dazu nehmen. Rein technisch gesehen ist dies eine valide Herangehensweise. Im Kleinen wird dies ja so gemacht (Mail Programm auf dem Desktop um nur ein Beispiel zu nennen). Nur wenn mein Client gehackt ist, dann bin ich da erst einmal nur betroffen (so ich IMAP nutzen würde). Mein Risiko. Ich gebe das Passwort aber nicht an andere, die es dann kennen, weil sie das Passwort verwenden wollen.
Bezüglich dieser verfahren kann man sich auch mal Anschauen, was z.B. Clients so anbieten. Evolution / KMail fallen mir da ein. Beide unterstützen Google API und es gibt Erweiterungen für Exchange / Office365 und so (Meine ich - habe ich noch nicht benutzt).
Ich selbst hätte aber auf jeden Fall gewisse bedenken und würde diese entsprechend kommunizieren. Ich habe keine Ahnung, wo du arbeitest - bei kleinen Klitschen wäre evtl. nur der Chef da. Bei größeren Firmen gibt es dafür Ansprechpartner für Security und auch Datenschutz, die ich mit ins Boot nehmen würde. Ansonsten bist du der Kleine Depp, der verhauen wird, wenn da sowas raus kommt - meine Reaktion a.la. "Wo arbeitest du - damit ich sicher sein kann, da keine Geschäftsbeziehung zu haben" zeigt, was da für ein Risiko besteht: Wenn da sowas raus kommt, dann gibt es einen gewissen Shitstorm, d.h. das Ansehen der Firma leidet extrem. Bei einem Konzern an der Börse ist das fatal. (Beispiel hier Siemens: Kleiner, dummer Vertrag als Zulieferer für irgendwas, was manchen nicht passt aus Umweltsicht. Auftragsvolumen 100.000€ oder so, also aus Sicht von Siemens Peanuts! ... und dann gibt es einen riesen Shitstorm und Siemens Aufsichtsrat bietet sogar an, eine der Haupt-Aktivistinnen anzuhören und so ... Das der Aufsichtsrat so einen kleinen Deal behandelt kommt auch eigentlich nie vor ... Und bei sowas stellt sich die Frage: Wenn Du in einem solchen Konzern bist: Willst Du als Personalie vom Aufsichtsrat behandelt werden?
Naja - wenn alle aus dem Aufsichtsrat Deinen Namen kennen muss das nicht zwangsläufig was schlechtes sein ...
Aber ich fürchte Du bist nicht bekannt, weil Du den Umsatz mit einer einfachen Idee verdoppelt hast oder Kosten halbiert hast oder so ...)