48. pepsi-stage-autocrypt-learn¶
Die Schlüssel von Korrespondenten aus der Mail lernen, die sie uns senden.
48.1. Rolle¶
pepsi-stage-autocrypt-learn ist die Stelle, an der eine eingehende Nachricht Pepsi einen öffentlichen Schlüssel beibringt: der Autocrypt:-Header des Absenders, ein angehängter application/pgp-keys-Teil, die Zertifikate, die eine S/MIME-Signatur trägt, und — bei einer verschlüsselt angekommenen Nachricht — die Autocrypt-Gossip:-Felder, die die anderen Empfänger einführen (Autocrypt Level 1 §5.3). Die Stage lernt und schaltet weiter; sie verwirft, pausiert und schreibt eine Nachricht nie um und erzeugt nie einen Bounce, sodass NEXT_STAGE verpflichtend ist. Referenz: pepsi-stage-autocrypt-learn(1).
48.2. Funktionen¶
Platzierung. Sie läuft nach den Spam-Prüfungen und vor der Zustellung, denn Level 1 §5.3 sagt, dass der Peer-Zustand für eine als Spam vermutete Nachricht ignoriert werden SOLLTE, und das lässt sich erst einhalten, sobald ein Spam-Urteil vorliegt. pepsi-stage-decrypt läuft auf dem eingehenden Pfad zuerst, damit alles Nachgelagerte Klartext sieht, also bevor irgendeine Stage eine Meinung darüber hat, ob die Nachricht Müll ist.
Beachtet das Spam-Urteil: Eine Nachricht mit
state.spam = truelehrt nichts, sofernLEARN_FROM_SPAMnichts anderes sagt.Nur der eigene Schlüssel des Absenders aus den Headern und Anhängen einer Nachricht; einen Dritten einzuführen ist Aufgabe des Gossip, und Gossip landet auf einer niedrigeren Sprosse.
Gossip nur aus Chiffrat: nur geglaubt, wenn pepsi-stage-decrypt festgehalten hat, dass die Nachricht verschlüsselt ankam, und dass ihr ankommender Header-Block kein eigenes
Autocrypt-Gossip:-Feld trug. Beides ist aus dem festgeschriebenen Klartext nicht ersichtlich, daher werden beide ausstate.crypto.ingelesen.Nie ein Schlüssel für eine Adresse, die dieser Host bedient: Ein Peer-Schlüssel für eine lokale Adresse ist der, mit dem unsere eigene ausgehende Mail an diesen Benutzer verschlüsselt würde, sodass ein Gossip-Feld, das eine solche benennt, eher eine Schlüsselersetzung als eine Einführung ist.
Hält fest, dass ein Korrespondent unseren Schlüssel besitzt: Wurde eine Nachricht mit einem unserer MTA-Schlüssel entschlüsselt und trägt sie eine gültige, den Klartext abdeckende Signatur ihrer
From:-Adresse, wird einpepsi.peer_has_own_key-Datensatz geschrieben, sodass pepsi-stage-encrypt diesen Schlüssel nicht mehr als Datei anhängt (ATTACH_KEYS_AS_FILES). Dies geschieht unabhängig davon, wasLEARN_KEYSund das Spam-Urteil sagen, da es um unseren Schlüssel geht, nicht um deren.Unprivilegiert: Sie schreibt nur öffentliches Schlüsselmaterial, sodass sie anders als die Krypto-Stages kein setuid-Bit braucht und in das Multi-Call-
pepsi-Binärprogramm eingefaltet ist.
48.3. Konfiguration¶
LEARN_KEYS (Standardwert yes; ausgeschaltet lernt die Stage überhaupt keinen Schlüssel), LEARN_GOSSIP (Standardwert yes, und nur sinnvoll, solange LEARN_KEYS eingeschaltet ist), LEARN_FROM_SPAM (Standardwert no — das ist das SOLLTE aus Autocrypt Level 1 §5.3), die Lokalitätsoptionen (nur verwendet, um Gossip über lokale Benutzer abzulehnen) LOCAL_DOMAINS (mit [pepsi-ingress] ACCEPTED_DOMAINS als Standardwert) / TARGETS / RECIPIENT_DELIMITER sowie ein verpflichtendes NEXT_STAGE. Die gesamte Nachricht wird geladen, da das Schlüsselmaterial in ihr steckt. Siehe Konfiguration.
[stage-autocrypt-learn]
PROGRAM = pepsi-stage-autocrypt-learn
NEXT_STAGE = local
48.4. Was ein gelernter Schlüssel wert ist¶
Wenig, mit Absicht. Geerntete Schlüssel sitzen auf dem Rang inbound und per Gossip gelernte auf gossip — den beiden untersten Sprossen der Vertrauensleiter. Ein solcher Schlüssel kann nie einen aus der Entdeckung oder von einem Operator verdrängen; eine gegen ihn geprüfte Signatur wird bestenfalls als valid-untrusted gemeldet, sodass sie nie state.signature_verified setzt; und ein peer_key-Datensatz wird für eine Adresse, für die dieser Host eine Identität hält, gänzlich ignoriert. Innerhalb dieser beiden Sprossen gilt das Neueste gewinnt nach dem Autocrypt-Wirksamkeitsdatum der Nachricht, sodass ein Korrespondent, der seinen Client neu installiert, keine Mail mehr erhält, die an einen Schlüssel verschlüsselt ist, den er nicht mehr besitzt — Schutz gegen einen passiven Gegner, und mehr beansprucht Autocrypt nicht.