Enigmail vergisst Passphrase nicht... :-( [erl.]

  • Thunderbird-Version: 17.0.8
    Betriebssystem + Version: Ubuntu 13.04
    Kontenart (POP / IMAP): POP3
    Postfachanbieter (z.B. GMX): Anderer :-)
    SMIME oder PGP: GnuPG v1.4.12


    Erstmal "Hallo" in die Runde! Hab mich hier angemeldet weil ich ein Problem habe, dass scheinbar viele haben... Ich hab einiges in Foren gefunden - nur keine Lösung.


    Ich hab meinen Rechner neu aufgesetzt und alles funktioniert wunderbar. Bis auf eins: Wenn ich einmal meine PGP-Passphrase eingegeben habe, wird sie so lange gespeichert bis ich den Rechner neustarte. Das möchte ich aber nicht. Ich will, dass die Passphrase nur ein paar Minuten im Speicher bleibt. So war es auch bis zu meiner Neuinstallation...


    Ich benutze Thunderbird mit Enigmail. Der berühmt-berüchtigte gnupg-agent ist NICHT installiert, trotzdem werde ich immer drauf verwiesen. Unter Passwörter und Verschlüsselung finde ich mein gespeichertes PGP-Passwort nicht.


    Bevor ich meinen Rechner neu aufgesetzt habe, hatte ich im Passwort-Eingabefeld von Thunderbird/Enigmail immer eine Option, in der ich einstellen konnte, wie lange mein Passwort gespeichert werden soll. Die ist nach der Neuinstallation weg.


    Hat irgendjemand eine Idee?


    Danke!

  • Hallo,


    das liegt meines Wissens daran, dass Canonical GnuPG insoweit in Ubuntu integriert hat, dass der keyring-daemon die Passphrasen verwaltet. Du kannst das daran erkennen, dass die Variable $GPG_AGENT_INFO auf den keyring gesetzt ist. Siehe auch diesen Faden.


    Ich kenne keine Möglichkeit, den keyring-daemon bzgl. einer Vorhaltezeit zu konfigurieren. In diesem Fall stört mich das aber nicht. Mir ist es im Gegenteil sehr recht, dass die Passphrase während der gesamten Session gültig ist.


    Um das zu ändern, sind mir zwei Wege mögliche Wege denkbar:


    • Du benutzt die Version 1.4.x. und verzichtest komplett auf einen Agenten. Dann sollte Enigmail die Kontrolle über die Cachedauer übernehmen können. Siehe den oben verlinkten Beitrag von muzel.
      Wenn Du Glück hast, genügt es, $GPG_AGENT_INFO zu löschen und in gpg.conf den Eintrag "use-agent" auszukommentieren. Möglicherweise musst Du aber auch das offizielle GnuPG (also nicht das leicht angepasste, das mit Ubuntu kommt) verwenden.
    • Du verwendest den gpg-agenten und nicht den keyring-daemon. Der gpg-agent hat eine Konfigurationsdatei, in der Du die Zeitdauer einstellen kannst. Auch dazu kann es u.U. nötig sein, das originale GPG zu verwenden. Ich habe das nie ausprobiert.



    Gruß


    Susanne

  • Erstmal danke für die Antwort. Das ist ja besch...eiden.


    Ich frag jetzt trotzdem nochmal nach. Ich hatte vor dem Neuaufsetzen auch Ubuntu 13.04 mit den aktuellen Thunderbird/Enigmail/Gnupg-Versionen. Und da ging es eben. Gnupg-Agent war definitv nicht installiert.


    Allerdings hatte ich eben im Passphrasen-Eingabefenster noch einen Punkt "Optionen" - der ist jetzt weg?! Hat vielleicht noch jemand eine Idee...???

  • Hallo nixwisser00,


    Ubuntu verwende ich nicht (mehr) - sondern LMDE.
    (Daher kann ich nicht nachvollziehen was bei Dir an Daemon's läuft bzw. im Hintergrund installiert ist ...)
    Darf ich annehmen, daß Dir diese Option (siehe Bild) nicht zur Verfügung steht.


    [IMG:http://s1.directupload.net/images/130819/temp/3bq8naez.png]
    [klick mich]


    Versuche evtl. mal ein paar Shortcuts aus um die Passphrase zu löschen.
    [Strg + L; Strg + Shift + Del; ... (betriebssystemabhängig)]


    Eines sollte auf alle Fälle klappen: Strg + Alt + L = Bildschirm sperren; nach der (ja unproblematischen) Wiederanmeldung sollte die PP gelöscht sein.


    Das hast Du ja sicher schon als Konsolenbefehl probiert: sudo gpg-agent --max-cache-ttl 60


    Evtl. probierst du auch mal Deine gpg.conf derart auszukommentieren.
    ...
    # Passphrase agent
    #
    # We support the old experimental passphrase agent protocol as well as
    # the new Assuan based one (currently available in the "newpg" package
    # at ftp.gnupg.org/gcrypt/alpha/aegypten/). To make use of the agent,
    # you have to run an agent as daemon and use the option
    #
    use-agent
    default-cache-ttl 60
    # ...


    bzw. in der gpg-agent.conf die Zeile hinzufügen "default-cache-ttl 60".


    In diesem Fall sollte nach 60 sek. wieder alles paletti sein.


    Eine weitere Möglichkeit ist:
    echo 1 > /proc/sys/vm/drop_caches
    echo 2 > /proc/sys/vm/drop_caches
    echo 3 > /proc/sys/vm/drop_caches
    - das löscht den primary und secondary Cache und das Clipboard.


    Hoffe es klappt! - Viel Erfolg! ;)


    MfG ... Vic

  • Hallo Vic~,


    ich bin zwar nicht der Themenersteller, aber ...


    "Vic~" schrieb:

    Darf ich annehmen, daß Dir diese Option (siehe Bild) nicht zur Verfügung steht.


    Darfst Du :-) Zumindest gibt es dieses Menu Item bei mir unter Ubuntu 12.04/EnigMail 1.4.6 (ohne gpg-agenten) nicht.


    "Vic~" schrieb:

    Eines sollte auf alle Fälle klappen: Strg + Alt + L = Bildschirm sperren


    Nein, das Sperren des Bildschirms genügt nicht. Die Passphrase überlebt das, so wie im Übrigen auch ein passwortgeschüzter mount auf Netzlaufwerke, TrueCrypt-Container usw. . Und ich finde das auch gut so.


    "Vic~" schrieb:

    Das hast Du ja sicher schon als Konsolenbefehl probiert: sudo gpg-agent --max-cache-ttl 60


    Egal ob nun per Konsole oder gpg-agent.conf, würde das voraussetzen, dass nixwisser00, wie vorgeschlagen (!= empfohlen), den gpg-agenten verwenden müsste. Das findet er aber


    "nixwisser00" schrieb:

    besch...eiden



    Gruß


    Susanne

  • "SusiTux" schrieb:

    ...


    Nein, das Sperren des Bildschirms genügt nicht. Die Passphrase überlebt das, so wie im Übrigen auch ein passwortgeschüzter mount auf Netzlaufwerke, TrueCrypt-Container usw. . Und ich finde das auch gut so.


    Hallo Susanne,


    vielen Dank für Deine Rückmeldung!


    Interessant ist, daß bei mir ein einmal gesperrter Bildschirm alles löscht [Clipboard und eben auch die Passphrase]. Habe es natürlich ausprobiert.
    {evtl. hängt das mit harden zusammen (?)}
    Mir ist dieses Verhalten eigentlich angenehm.


    Daran sieht man, daß Linux-Systeme eben noch unterschiedlicher sind als WIN-Systeme. :) 
    (was für mich eigentlich logisch ist, man will ja sein Linux haben! ;) )


    MfG ... Vic

  • Hallo Vic~,


    unter Windows mit GnuPG 2 erscheint bei mir der Menüpunkt zum Löschen der Passphrase ebenfalls. Der ist allerdings funktionslos, weil Enigmail zur Einstellung lediglich auf den in Version 2 obligatorischen gpg-agenten verweist. Dessen Konfiguration kann man unter Windows mittels Kleopatra vornehmen.


    Ganz ehrlich, dieser ganze Agentenschmarrn ist m.E. schlecht implementiert (oder ich habe ihn noch immer nicht vollständig überblickt). Da kochen je nach Version und OS zu viele Köche (Enigmail, gpg-agent, keyring, Kleopatra, ..).


    Eigentlich kann es mir ja wurscht sein, weil ich eh ganz zufrieden bin, dass die Passphrase unter Ubuntu bis zum Abmelden im Cache bleibt. Aber gleichzeitig wurmt mich das doch.


    "Vic~" schrieb:

    Interessant ist, daß bei mir ein einmal gesperrter Bildschirm alles löscht [Clipboard und eben auch die Passphrase]. Habe es natürlich ausprobiert.
    {evtl. hängt das mit harden zusammen (?)}


    Möglich, dazu kann ich aber nichts sagen. Ich habe meinen Desktop nicht gehärtet. Hast Du über das reine Paket hinaus noch weitere Maßnahmen zum Härten getroffen?


    Btw, falls Du etwas Zeit hast, schau doch mal in diesen Faden. Auch so ein Rätsel ... . Vielleicht hast Du eine Idee dazu. Dort geht es um das Speichern von entschlüsselten E-Mails. Das funktioniert bei mir einwandfrei, bei anderen aus bisher unbekannten Gründen nicht.


    Gruß


    Susanne

  • Hi,


    sorry das ich mich jetzt erst zurückmelde... Deine Tipps werde ich ausprobieren.


    Was die Option angeht - nein, Du hast Unrecht. Die Funktion im Bild habe ich. Sie funktioniert allerdings nicht.


    Was ich meine: Wenn ich eine verschlüsselte E-Mail erhalte klicke ich auf "Entschlüsseln". Dann erscheint ein Fenster in dem ich - wenn es die erste verschlüsselte Mail der Sitzung ist - mein Passwort eingeben muss.


    VOR der Neuinstallation meines Betriebssystems gab es in diesem Fenster den Punkt Optionen. Da konnte ich einstellen, wie lange die Passphrase gespeichert werden soll. NACH meiner Neuinstallation ist die Option einfach weg. Jetzt wird das PW so lange gespeichert, bis ich neustarte.


    Naja werde mich nachher nochmal ransetzen und mich wieder melden.


    Danke!

  • Hallo,


    "nixwisser00" schrieb:

    Die Funktion im Bild habe ich.


    Noch so ein Rätsel. Welche Versionen von GnuPG und Enigmail ist denn bei Dir installiert? Ubuntu 12.04. bringt standardmäßig GPG: 1.4.11-3-ubuntu2.3 mit. Zu dieser Version bietet das Repository Enigmail 2:1.4.6-ubuntu0.12 an. Ich vermute mal, Du hast unter 13.04 neuere Versionen, vielleicht gar GnuPG 2.x.


    "nixwisser00" schrieb:

    Sie funktioniert allerdings nicht.


    Das ist nun wiederum keine Überraschung, s.o. . Die Einstellung, die Du meinst, ist die von EnigMail. Sobald Du aber einen Agenten verwendest (egal ob den keyring oder den gpg-agent) ist dieser Agent zuständig. EnigMail meldet das auch.
    Welchen Wert hat denn bei Dir $GPG_AGENT_INFO? Schau auch mal in die gpg.conf. Dort ist sicher der Eintrag "use-agent" gesetzt.


    Ich habe interessehalber heute in einer Testinstallation unter Windows 7 und gpp4win 2 den gpg-agenten gestartet und über Kleopatra konfiguriert. Wie oben erwähnt ist der Menupunkt unter Enigmail aus den genannten Gründen wirkungslos. Mit dem gpg-agenten und der schönen Dame funktioniert das Einstellen der Cachezeit aber erwartungsgemäß.
    Ich werde es unter Ubuntu nicht ausprobieren, aber ich bin mir ziemlich sicher, dass dies dort auch funktioniert, wenn Du den gpg-agenten benutzt und die Cachezeit über die gpg-agent.conf einstellst.


    Gruß


    Susanne

  • GnuPG-Version ist 1.4.12, Enigmail 1.4.6


    Ich habe beides ausprobiert:


    Als erstes habe ich in der gpg.conf use-agent auskomentiert. Ergebnis: Nix hat sich geändert.


    Dann habe ich gnupg-agent installiert (und damit dann auch automatisch pinentry-gtk2). Habe - wie u.a. hier beschrieben http://wiki.ubuntuusers.de/GPG-Agent - folgendes in die gpg-agent.conf eingefügt:


    default-cache-ttl 180
    max-cache-ttl 1000
    ignore-cache-for-signing


    Ergebnis: Nix. Er übernimmt nicht mal die Anweisung, bei signieren der Mail immer nach dem Passwort zu fragen... Echt frustrierend :-(

  • Hallo,


    "nixwisser00" schrieb:

    Als erstes habe ich in der gpg.conf use-agent auskomentiert.


    Das ist natürlich nicht Sinn der Sache, wenn Du den Agenten doch benutzen willst :gruebel: .


    Die Frage nach $GPG_AGENT_INFO hast Du bisher nicht beantwortet. Kontrolliere also, ob die Umgebungsvariable $GPG_AGENT_INFO gesetzt ist und auf den gpg-agentverweist. Schau auch per ps nach, ob der agent überhaupt läuft.


    Wie ich oben schon schrieb, bin ich mir nicht sicher, ob die von Ubuntu stammenden Versionen von GnuPG und Enigmail überhaupt gscheid mit dem gpg-agenten oder Seahorse zusammenarbeiten. Es kann sein, dass Du beides aus den Originalquellen benötigst. Das weiß ich aber nicht und habe auch keine Lust, das alles selbst auszuprobieren. Mir taugt es ja so, wie es läuft. Und in meiner Windows Testinstallation läuft es mit dem gpg-agenten auch so, wie Du es gern möchtest.


    Wenn also tatsächlich alles korrekt eingestellt sein sollte, das Caching aber dennoch auch mit dem gpg-agenten nicht funktioniert, bliebe noch die ebenfalls bereits oben erwähnte Option, gar keinen Agenten zu verwenden. Das geht, weil Du ja noch auf 1.4 bist. Dann kannst Du die Cachedauer wieder über den Dialog in Enigmail einstellen. Wie das geht, hat muzel vor Jahren bereits hier beschrieben.
    Zum Hintergrund: Eingmail versucht automatisch einen Agenten zu benutzen, wenn GnuPG Version 2 installiert ist oder die Umgebungsvariable $GPG_AGENT_INFO gesetzt ist oder wenn in der gpg.conf der Eintrag use-agent aktiv ist. Willst Du also ganz ohne einen Agenten arbeiten, dann musst Du dafür sorgen, dass keines der drei Kriterien erfüllt ist.


    Wenn das bei Dir ebenfalls nicht funktioniert, weiß ich auch nicht weiter. Vic~ hat mal geschrieben, dass der gpg-agent beim ihm (oder ihr?) brav seine Dienste tut. Vielleicht findet ihr ja Unterschiede zwischen beiden Installationen.
    Vielleicht lesen auch muzel und Peter mit und haben noch einen Hinweis, wobei ich weiß, dass Peter bereits vor Jahren zu S/MIME gewechselt hat.


    Gruß


    Susanne

  • Hallo Susanne,


    da hast Du mich falsch verstanden (und ich mich vielleicht umständlich ausgedrückt). Beide Vorgänge waren getrennt.


    ERST habe ich den agent aus der conf rausgenommen und ausprobiert, ob Enigmail etwas anders macht. Das hat nicht geklappt.


    Dann habe ich den agent in der conf wieder aktiviert, gnupg-agent und das dazugehörige pinentry Paket installiert. Die Konsole gibt mir auch aus, dass gpg-agent läuft. Verändert am Verhalten hat sich aber nix. Wie beschrieben wird nicht mal bei der Signierung von Mails jedes Mal eine neue Eingabe des Schlüssels verlangt. Obwohl das ja ausdrücklich in der gpg-agent.conf steht.


    Nicht verstanden habe ich aber, wie ich überprüfen kann ob die Umgebungsvariable $GPG_AGENT_INFO richtig gesetzt ist. Wie mache ich das?


    Grüße!

  • Hallo,


    sorry, ich habe gerade nur wenig Zeit.


    "nixwisser00" schrieb:

    wie ich überprüfen kann ob die Umgebungsvariable $GPG_AGENT_INFO richtig gesetzt ist


    Der Befehl dazu lautet "echo". Aber wenn Du Dir die Mühe machst, den oben verlinkten Faden von muzel zu lesen, findest Du eine Reihe Information dazu.


    Gruß


    Susanne

  • "SusiTux" schrieb:

    ... Hast Du über das reine Paket hinaus noch weitere Maßnahmen zum Härten getroffen?


    Hallo Susanne,


    ja etliche - an die meisten Aktionen erinnere ich mich schon gar nicht mehr. :D 
    ((Ich bin eben in manchen Dingen fast schon paranoid ... ))


    MfG ... Vic

  • Hallo nixwisser00,


    mir ist noch etwas ganz Banales eingefallen ...


    Hast Du in Enigmail die Einstellung "Zur Passphrasenverwalten den GPG-Agenten verwenden" angehakelt, nachdem Du den gpg-agent installiert hattest?


    Da Enigmail sich letztendlich offenbar eh nach der Variablen $GPG_AGENT_INFO richtet, ist mir der Sinn dieser Einstellung zwar etwas schleierhaft, aber schließlich gibt es sie ja.


    Gruß


    Susanne

  • Getestet mit


    Thunderbird-Version: 24
    Betriebssystem + Version: Ubuntu 12.04
    Kontenart (POP / IMAP): IMAP
    Postfachanbieter (z.B. GMX): diverse
    S/MIME oder PGP: Enigmail 1.5.2, GnuPG 1.4.11-3



    Hallo,


    in diesem inzwischen geschlossenen Faden ging es darum, dass Enigmail unter Ubuntu die Passphrase während der gesamten Session im Cache behält. Oder anders ausgedrückt: Die Zeitdauer, für welche die Passphrase im Cache gespeichert werden soll, ließ sich scheinbar nicht einstellen.


    Der dortige Hilfesuchende, "nixwisser00", hat seinen Account hier zwar inzwischen löschen lassen, aber ich hatte heute etwas Zeit zum Spielen und fiel mir diese "Baustelle" wieder ein. Die Lösung ist so naheliegend, dass ich mich fast gar nicht traue, sie hier zu posten ;-)


    Vielleicht kann ja einer der Moderatoren den alten Thread noch um einen Link hierher erweitern oder auch diesen Beitrag nach dort rüberschieben?


    Die einfachste Variante:


    In dem Fenster, in das die Passphrase einzugeben ist, gibt es den unscheinbaren Punkt "Details". Darauf achtet man kaum. Klickt man diesen an, gibt es vier Auswahlmöglichkeiten (bei mir in einem schönen Gemisch aus Deutsch und Englisch;-). Sie sollten etwa so lauten :


    • Diesen Schlüsselbund beim Anmelden automatisch entsperren
    • Dieses Passwort beim Abmelden vergessen
    • Dieses Passwort vergessen nach n Minuten
    • Dieses Passwort bei Untätigkeit vergessen nach n Minuten


    und natürlich die Möglichkeit, die Anzahl der Minuten einzustellen. Das war's :-)



    Die Variante über den Konfigurationseditor (gconf-editor):


    Die oben genannte Methode ändert zwei Variablen des Seahorse/keyring. Diese lassen sich natürlich auch direkt ändern. Dazu im gconf-editor unter Seahorse -> agent die Werte für die Cache-Methode und die Zeit einstellen:


    Code
    1. cache_method timeout
    2. cache_ttl 5


    wobei der Wert 5 hier die Cachezeit auf 5 Minuten setzt. Der Standardwert der cache-method ist "session".


    Diese Einstellungen gelten dann natürlich für alle Passwörter, die über den Schlüsselbund gecached werden.


    Gruß


    Susanne