# Sicherheit und Verschlüsselung

Der native Push von Mailwake verschlüsselt Benachrichtigungen auf Ihrem Außenposten und entschlüsselt sie auf dem gekoppelten iPhone. In diesem Artikel werden die Schlüssel, der Verschlüsselungsfluss und die Datengrenzen in Mailwake 1.0 beschrieben, damit Sie verstehen, was Sie kontrollieren und was über offizielle Dienste läuft. Die Datenverarbeitung und -speicherung wird durch [Datenschutzrichtlinie](../../privacy/) abgedeckt.

## Drei Datenpfade

Benachrichtigungen, Lesen von E-Mail-Inhalten und Dienstidentität verwenden separate Pfade:

| Funktion                         | Datenpfad                                                         | Inhaltsverarbeitung                                                                                                                     |
| -------------------------------- | ----------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| Native E-Mail-Benachrichtigungen | Postfach → Außenposten → Push-Zustelldienst → Apple APNs → iPhone | Der Außenposten liest E-Mails und verschlüsselt Benachrichtigungen; Das iPhone verifiziert, entschlüsselt und zeigt sie an              |
| E-Mail-Inhalte auf Abruf lesen   | iPhone → Ihr Außenposten → Postfach, zurück auf dem gleichen Weg  | Der Außenposten analysiert den E-Mail-Inhalt. Die App zeigt ihn in der aktuellen Lesesitzung an                                         |
| Geräte und Einkäufe              | App ↔ Geräte- und Kaufdienst                                     | Registriert Geräte und überprüft Käufe; Der Push-Zustelldienst prüft vor der Zustellung die Autorisierung und Berechtigungen des Geräts |

Ihr Außenposten kann die E-Mails lesen, auf die er zugreifen darf. Die Ende-zu-Ende-Verschlüsselung umfasst hier **native Benachrichtigungsinhalte zwischen dem Außenposten und dem gekoppelten Gerät**. Der Postfachanbieter, der Außenposten-Host und das Entschlüsselungsgerät bleiben jeweils innerhalb einer Grenze, in der Klartext zugänglich ist.

## Wer verwahrt die Schlüssel?

**Der Identitätsschlüssel des Außenpostens** signiert Inhalte. Der Außenposten generiert lokal einen P-256-Signaturschlüssel und verschlüsselt ihn mit seinem lokalen Konfigurationsschlüssel. Gekoppelte Geräte und der Push-Zustelldienst erhalten dessen öffentlichen Schlüssel, um die Quelle zu überprüfen. Die Identität bleibt über Neustarts hinweg im Datenverzeichnis.

**Das Gerät verwendet zwei separate P-256-Schlüssel**: Ein Signaturschlüssel beweist die Geräteidentität und die Zustimmung zur Kopplung, während ein privater Schlüssel für die Schlüsselvereinbarung Benachrichtigungen entschlüsselt. Die App erstellt Schlüssel in Secure Enclave, sofern verfügbar, und verwendet Softwareschlüssel in anderen Laufzeitumgebungen. Der freigegebene Schlüsselbund stellt der App und ihren Erweiterungen Schlüsseldatensätze zur Verfügung, wobei der `AfterFirstUnlockThisDeviceOnly`-Schutz bei deaktivierter iCloud-Schlüsselbundsynchronisierung verwendet wird. Der Hintergrundschlüsselzugriff erfordert die erste Entsperrung des Geräts nach einem Neustart.

Der Außenposten und der Push-Zustelldienst speichern die öffentlichen Schlüssel des Geräts. Das Gerät verfügt über seinen privaten Entschlüsselungsschlüssel. Offizielle Dienste und APNs verfügen nicht über diesen privaten Schlüssel.

Der Außenposten verwendet außerdem `secret.key` in seinem Datenverzeichnis, um vertrauliche Konfigurationen, einschließlich Postfach-Anmeldeinformationen, mit AES-256-GCM zu verschlüsseln. Die Datenbank und der lokale Schlüssel bilden zusammen wiederherstellbare Daten: [Sichern Sie beide gemeinsam](backup.md) und schützen Sie den Zugriff auf den Host und die Backups. Jemand, der sowohl über die Datenbank als auch über den lokalen Schlüssel verfügt, kann diese Konfiguration entschlüsseln.

## Wie die Kopplung Vertrauen herstellt

Ein Push-Pairing-QR-Code enthält den öffentlichen Schlüssel des Außenpostens, die Adresse und Umgebung des Push-Zustelldienstes, die Pairing-ID und einen einmalig gültigen Berechtigungsnachweis, der fünf Minuten lang gültig ist. Die App zeigt zum Vergleich den kryptografischen Fingerabdruck des Außenpostens an. Verwenden Sie eine vertrauenswürdige Einladung des Außenpostenbesitzers und überprüfen Sie vor der Bestätigung dessen Verbindungsinformationen.

Das Gerät unterzeichnet seine Zustimmung und bindet sie an den Außenposten, den Geräteverschlüsselungsschlüssel, die einmaligen Anmeldeinformationen und den Ablauf. Der Außenposten überprüft diesen Nachweis und sperrt die Geräteidentität und die öffentlichen Schlüssel, bevor die Registrierung beim Push-Zustelldienst abgeschlossen wird. Spätere Benachrichtigungen verwenden diese bestätigte Beziehung, um Verschlüsselungs- und Überprüfungsschlüssel auszuwählen.

Eine Verwaltungseinladung kann Push-Pairing beinhalten, die Autorisierung bleibt jedoch getrennt: Native Push, Konfigurationsverwaltung und das Lesen von E-Mail-Inhalten haben jeweils ihren eigenen Berechtigungsbereich. Informationen zur Einrichtung finden Sie unter [Verbinden Sie die App](connect-app.md).

## So wird eine Benachrichtigung verschlüsselt

Für jeden Verschlüsselungsvorgang generiert der Außenposten ein ephemeres P-256-Schlüsselpaar, einen zufälligen 32-Byte-Salt und eine zufällige 12-Byte-Nonce. Anschließend führt er diese Schritte aus:

1. Führt die P-256 ECDH-Schlüsselvereinbarung unter Verwendung des ephemeren privaten Schlüssels und des öffentlichen Schlüssels des Zielgeräts durch, um ein gemeinsames Geheimnis zu erhalten.
2. Leitet einen 256-Bit-Inhaltsschlüssel mit HKDF-SHA256 ab. Der Ableitungskontext bindet die Push-Zustelldienst-Zielgruppe, die Paarungs-ID und die Ereignis-ID.
3. Verschlüsselt JSON-Benachrichtigungen mit AES-256-GCM, verwendet denselben Kontext wie zusätzliche authentifizierte Daten und erzeugt Chiffretext mit einem 128-Bit-Authentifizierungs-Tag.
4. Signiert den verschlüsselten Umschlag und Kontext mit dem Außenposten-Signaturschlüssel P-256 mit SHA-256 und übermittelt ihn dann über HTTPS an den Push-Zustelldienst.
5. Der Push-Zustelldienst überprüft das Signatur- und Umschlagformat und übergibt Chiffretext an APNs. Das Gerät überprüft zunächst die Signatur mithilfe des beim Pairing bestätigten öffentlichen Schlüssels des Außenpostens, leitet dann den Inhaltsschlüssel mit seinem eigenen privaten Schlüssel ab, überprüft das Authentifizierungs-Tag und entschlüsselt.

Die Algorithmus-ID lautet `P256-HKDF-SHA256-A256GCM`. Bei Wiederholungsversuchen derselben Zustellung werden der gespeicherte Umschlag und die Ereigniskennung erneut verwendet. Neue Verschlüsselungsoperationen generieren neue kurzlebige Schlüssel und Zufallswerte. Die Benachrichtigungsdiensterweiterung verarbeitet normale Benachrichtigungen. Die Widget-Erweiterung verarbeitet Live-Aktivitäten mit Bestätigungscode, die auch signierten Chiffretext übertragen und Aktivitätsidentitäts- und Lebenszyklusfelder in den Verschlüsselungskontext einbinden.

Verschlüsselte Benachrichtigungen enthalten die Postfachbezeichnung, den Ordner, den Absender, den Betreff und die Empfangszeit sowie optional einen Bestätigungscode und eine Nachrichtenreferenz. Der vollständige Nachrichteninhalt wird über den unten beschriebenen separaten Pfad abgerufen. Wenn die Signaturüberprüfung oder -entschlüsselung fehlschlägt, behält das Gerät einen sicheren Platzhalter; Der Klartext der E-Mail wird erst nach erfolgreicher Überprüfung angezeigt.

## Nachrichteninhalte werden direkt über HTTPS abgerufen

Beim Öffnen des E-Mail-Inhalts wird eine Anfrage an die bestätigte HTTPS-Adresse des Außenpostens gesendet. Der Außenposten überprüft die Geräteanmeldeinformationen, die explizite Inhaltsberechtigung des Besitzers und den Ressourcenbereich in der signierten Nachrichtenreferenz, bevor er den E-Mail-Inhalt und die referenzierten Inline-Bilder aus dem Postfach abruft. Das Lesen von E-Mail-Inhalten ist kostenlos; Push-Pairing allein gewährt keinen Zugriff auf den Nachrichteninhalt.

Der Außenposten bereinigt HTML und bietet ein lesbares Text-Fallback. Die App steuert über ihre Bildladeoptionen das Remote-Laden von Bildern, das den Server des Absenders kontaktieren kann. Gewöhnliche Anhänge liegen außerhalb dieses Leseflusses für E-Mail-Inhalte.

Der Außenposten verarbeitet Nachrichtentexte im Arbeitsspeicher der Anfrage. Antworten verwenden `Cache-Control: no-store`; die App deaktiviert den HTTP-Cache und lehnt Weiterleitungen ab. Nach erfolgreichem Lesen speichert die App den Nachrichtentext und die Bildfreigabe separat auf diesem iPhone, auch zum Lesen offline und nach einem App-Neustart. Die Dateien nutzen den iOS-Dateischutz und sind von Backups ausgeschlossen. Beim Löschen oder Ablauf einer Benachrichtigung werden auch Text und Bildfreigabe gelöscht. Beim Entfernen eines Außenpostens werden dessen gespeicherte Texte gelöscht, die Benachrichtigungsübersichten bleiben erhalten. Externe Bilder werden nur vorübergehend geladen und können erneut eine Netzwerkverbindung benötigen. Nachrichtentexte gelangen direkt vom Außenposten zur App, ohne offizielle Dienste zu durchlaufen, und bleiben aus Diagnosen und Protokollen ausgeschlossen.

## Welche offiziellen Dienste sehen können

| Teilnehmer             | Daten, die es für seine Rolle verarbeiten kann                                                                                                   |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| Ihr Außenposten        | Mailbox-Anmeldeinformationen, Klartext-Mail, Benachrichtigungseinstellungen, Paarung öffentlicher Schlüssel und lokale Zustellungsaufzeichnungen |
| Push-Zustelldienst     | Die Außenposten-, Geräte- und Kopplungskennungen; öffentliche Schlüssel; APNs-Token; verschlüsselte Umschläge; Lieferzeiten und Status           |
| Geräte- und Kaufdienst | Dienstidentität, Geräte- und Sitzungsinformationen, Käufe und Berechtigungen sowie Metadaten zur Bereitstellungsdiagnose                         |
| Apple APNs             | Push-Tokens, Routing- und Zustellungsinformationen, allgemeine Warnungen und verschlüsselte Nutzlasten                                           |
| Ihr iPhone             | Geräteschlüssel, entschlüsselte Benachrichtigungen und lokaler Verlauf sowie autorisierte E-Mail-Inhalte                                         |

Absender, Betreff und Bestätigungscode befinden sich im nativen Chiffretext der Benachrichtigung. Vermittler, die Chiffretext verarbeiten, können weiterhin Lieferbeziehungen, Timing und Nutzlastgrößen beobachten. Bei der Betriebsdiagnose werden Kennungen, Status, Fehlercodes und Zeitstempel verwendet. Der E-Mail-Inhalt behält die oben genannte Verschlüsselungsgrenze bei. Dienste verarbeiten auch Netzwerkinformationen, die für ihre Rollen erforderlich sind, wie in der Datenschutzrichtlinie beschrieben.

## Lokale Aufzeichnungen, Widerruf und Sicherheitsbeschränkungen

Für ausstehende Lieferungen und den Administratorverlauf im Außenposten gelten separate Speicherregeln. Der lokale Verlauf kann Postfach- und Betreffzusammenfassungen enthalten. Die App speichert den entschlüsselten Benachrichtigungsverlauf in ihrer lokalen App-Gruppe mit Systemdateidatenschutz, konfigurierbarer Aufbewahrung und einer Aktion zum Löschen des Verlaufs. Nachrichtentexte nutzen den oben beschriebenen separaten, geschützten Cache.

Durch das Aufheben der Paarung wird die weitere Lieferung über diese Beziehung gestoppt. Durch den Widerruf einer Inhalts- oder Verwaltungsanmeldeinformation wird der entsprechende Zugriff beendet. Bereits übermittelte und entschlüsselte Inhalte müssen auf dem Gerät gelöscht werden; Der Widerruf kann keine Inhalte zurückrufen, die jemand bereits gesehen hat.

Dieses Design hängt von der Sicherheit des Außenposten-Hosts, der Kopplungseinladung und dem Gerät ab. Es schützt Benachrichtigungsinhalte während der Übertragung, während ein kompromittierter Außenposten oder ein entsperrtes Gerät Klartext preisgeben kann. Das Protokoll verwendet einen langfristigen privaten Schlüssel des Geräts für den Schlüsselaustausch: Wenn dieser Schlüssel kompromittiert wird, kann jemand, der über historischen Chiffretext verfügt, alte Benachrichtigungen entschlüsseln. Dieses Design erhebt daher keinen Anspruch auf Vorwärtsgeheimhaltung gegen die Kompromittierung des langfristigen privaten Schlüssels des Empfängers.

Bark-, Pushover- und Webhook-Kanäle senden ihre jeweiligen Nutzlasten an den von Ihnen konfigurierten Dienst. Das obige native Verschlüsselungsprotokoll gilt für den nativen Kanal Mailwake. Informationen zu Datenfeldern und Vorschauoptionen von Drittanbietern finden Sie unter [Benachrichtigungskanäle](notifications.md).
