Nur Gmail: S/MIME für die clientseitige Verschlüsselung konfigurieren

Unterstützte Versionen für diese Funktion: Frontline Plus; Enterprise Plus; Education Standard und Education Plus. Versionen vergleichen

Wenn Sie S/MIME mit der clientseitigen Verschlüsselung von Google Workspace (Client-side Encryption, CSE) für Gmail verwenden möchten, müssen Sie die Gmail API aktivieren und ihr Zugriff auf Ihre gesamte Organisation gewähren. Anschließend müssen Sie für jeden Nutzer die Gmail API verwenden, um ein S/MIME-Zertifikat (Secure/Multipurpose Internet Mail Extensions) (öffentlicher Schlüssel) und Metadaten für den privaten Schlüssel in Gmail hochzuladen. Wenn Sie einen Schlüsseldienst für die Verschlüsselung verwenden, müssen Sie auch die Metadaten des privaten Schlüssels der Nutzer mit diesem Schlüsseldienst verschlüsseln (oder „verpacken“).

Sie können jederzeit zu einem anderen Schlüsseldienst wechseln. Sie müssen dafür nur neue S/MIME-Zertifikate und die Metadaten des privaten Schlüssels hochladen, die mit dem neuen Dienst verschlüsselt wurden.

Voraussetzungen

Für die Konfiguration von S/MIME für Nutzer benötigen Sie Folgendes:

  • Super Admin-Berechtigungen für das Google-Konto Ihrer Organisation, die Sie benötigen, um domainweiten Zugriff auf die Gmail API zu gewähren.
  • Zugriff auf die Tools des Schlüsseldienstes Ihrer Organisation oder auf die Supportmitarbeiter.
  • Erfahrung mit APIs und Python-Scripts

S/MIME

S/MIME ist ein für die digitale Signatur und Verschlüsselung von E‑Mail-Nachrichten weit verbreitetes Protokoll nach Branchenstandard und sorgt für die Integrität und Sicherheit von Nachrichten. Die clientseitige Verschlüsselung in Gmail basiert auf dem S/MIME 3.2-IETF-Standard, um sichere MIME-Daten zu senden und zu empfangen. Für S/MIME müssen die X.509‑Zertifikate der E‑Mail‑Absender und ‑Empfänger von Gmail als vertrauenswürdig eingestuft werden.

Hinweis:Alternativ können Sie S/MIME ohne die zusätzlichen Verschlüsselungs- und Datenschutzoptionen der clientseitigen Verschlüsselung verwenden. Verwenden Sie diese Alternative nur, wenn Sie nicht verhindern müssen, dass die Google-Server Ihre Daten mit der clientseitigen Verschlüsselung entschlüsseln. Weitere Informationen finden Sie im Hilfeartikel Gehostetes S/MIME für die Nachrichtenverschlüsselung aktivieren.

Hinweis

Gehen Sie so vor:

  1. Wählen Sie einen Schlüsseldienst aus.
  2. Stellen Sie eine Verbindung zu Ihrem Identitätsanbieter (Identity Provider, IdP) her.
  3. Richten Sie Ihren externen Schlüsseldienst oder die Verschlüsselung mit Hardwareschlüsseln ein.
  4. Weisen Sie Organisationseinheiten oder Gruppen einen Schlüsseldienst oder die Verschlüsselung mit Hardwareschlüsseln zu.

    Wenn Sie mehrere Schlüsseldienste verwenden, achten Sie darauf, dass sie den entsprechenden Organisationseinheiten oder Konfigurationsgruppen zugewiesen sind.

Gmail API einrichten

Hinweis:Für die Verwendung der APIs sind Programmierkenntnisse erforderlich.

Schritt 1: Gmail API aktivieren

  1. Erstellen Sie ein neues GCP-Projekt. Weitere Informationen finden Sie unter Projekte erstellen und verwalten.

    Notieren Sie sich die Projekt-ID:Mit dieser gewähren Sie der API den domainweiten Zugriff.

  2. Aktivieren Sie über die Google API Console im neuen Projekt die Gmail API. Weitere Informationen finden Sie unter API im Google Cloud-Projekt aktivieren.

Schritt 2: Dienstkonto für die gesamte Domain erstellen

  1. Rufen Sie in der Google Cloud Console die Seite Dienstkonten auf und erstellen Sie ein dienstkontoübergreifendes Dienstkonto. Weitere Informationen finden Sie unter Dienstkonten erstellen und verwalten.
  2. Erstellen Sie einen privaten Dienstkontoschlüssel und speichern Sie ihn in einer JSON-Datei in Ihrem lokalen System, z. B. svc_acct_creds.json. Diese Datei enthält die Anmeldedaten, die Sie beim Einrichten von Gmail für Nutzer verwenden. Weitere Informationen finden Sie unter Dienstkontoschlüssel erstellen und verwalten.

Schritt 3: Domainzugriff für die Gmail API gewähren

In diesem Schritt verwenden Sie das von Ihnen erstellte Dienstkonto, um allen Nutzern Bearbeitungszugriff auf die Gmail API zu gewähren.

  1. Folgen Sie der Anleitung unter Zugriff auf die API mit domainweiter Delegierung verwalten.
  2. Wenn Sie dazu aufgefordert werden, geben Sie Folgendes ein:

    Client-ID des Dienstkontos aus Schritt 2

    OAuth-Bereiche:gmail.settings.readonly und entweder gmail.settings.basic oder gmail.settings.sharing

Gmail-CSE für Nutzer aktivieren

Aktivieren Sie die clientseitige Verschlüsselung in Gmail für die Organisationseinheiten oder Gruppen. Weitere Informationen finden Sie im Hilfeartikel Clientseitige Verschlüsselung aktivieren oder deaktivieren.

Hinweis:Für Organisationseinheiten können Sie festlegen, dass alle E‑Mails (Verfassen, Antworten und Weiterleiten) standardmäßig verschlüsselt werden. Nutzer können die Verschlüsselung bei Bedarf weiterhin deaktivieren. Erfordert das Assured Controls- oder Assured Controls Plus-Add-on.

CSE-S/MIME-Zertifikate für Nutzer einrichten

Nachdem Sie die Gmail API eingerichtet und die clientseitige Verschlüsselung für Nutzer in der Admin-Konsole aktiviert haben, können Sie für Ihre Nutzer CSE-S/MIME-Zertifikate und Metadaten für private Schlüssel einrichten.

Schritt 1: S/MIME-Zertifikate und Metadaten des privaten Schlüssels vorbereiten

Für jeden Nutzer, der die clientseitige Verschlüsselung in Gmail zum Senden oder Empfangen von E-Mails verwenden soll:

Generieren Sie mithilfe einer Zertifizierungsstelle ein Schlüsselpaar aus einem öffentlichen und privaten S/MIME-Schlüssel mit einer Zertifikatskette. Das untergeordnete S/MIME-Zertifikat muss die primäre Gmail-Adresse des Nutzers als Subjektnamen oder SAN-Erweiterungssubjekt enthalten.

Sie haben folgende Möglichkeiten:

  • Ein Root-Zertifikat einer von Google als vertrauenswürdig eingestuften Zertifizierungsstelle verwenden:Eine Liste mit vertrauenswürdigen CA-Zertifikaten für S/MIME in Gmail finden Sie hier.
  • Eine Zertifizierungsstelle verwenden, die von Google nicht als vertrauenswürdig eingestuft wurde:Wenn Sie beispielsweise eine eigene Zertifizierungsstelle verwenden möchten, können Sie das Root-Zertifikat in der Admin-Konsole hinzufügen. Weitere Informationen finden Sie im Hilfeartikel Vertrauenswürdige Zertifikate für S/MIME verwalten.

    Hinweis:Wenn Sie eine Zertifizierungsstelle verwenden, die von Google nicht als vertrauenswürdig eingestuft wurde, und Nutzer clientseitig verschlüsselte E‑Mails außerhalb Ihrer Organisation senden, muss auch der Empfänger dieser Zertifizierungsstelle vertrauen.

Schritt 2: Zertifikate und Metadaten des privaten Schlüssels verpacken

Verwenden Sie Ihren Schlüsseldienst zum Verschlüsseln oder „Verpacken“ der Metadaten des privaten S/MIME-Schlüssels. Wenden Sie sich dafür an Ihren Schlüsseldienst oder folgen Sie der bereitgestellten Anleitung.

Wenn Sie die Hardwareschlüsselverschlüsselung verwenden: Überspringen Sie diesen Schritt und verpacken Sie die Metadaten des privaten Schlüssels nicht für Nutzer, die die Hardwareschlüsselverschlüsselung verwenden. In diesem Fall ist das Verpacken der Metadaten nicht erforderlich, da sich die privaten Schlüssel für Gmail auf den Smartcards der Nutzer befinden. Erfordert das Assured Controls- oder Assured Controls Plus-Add-on.

Schritt 3: S/MIME-Zertifikate des Nutzers und Metadaten des privaten Schlüssels in Gmail hochladen

Verwenden Sie die Gmail API, um die S/MIME-Zertifikatskette des öffentlichen Schlüssels und die Metadaten des privaten Schlüssels für jeden Nutzer in Gmail hochzuladen und sie als bevorzugte Schlüssel für die Nutzer festzulegen. Dazu erstellen Sie eine Identität.

Hinweis:Sie müssen die Gmail API verwenden, nicht den Gmail-Client, um Zertifikate hochzuladen. Außerdem ist das Hochladen von Zertifikaten über den Gmail-Client deaktiviert, wenn Sie die clientseitige Verschlüsselung für Gmail aktivieren.

Führen Sie die folgenden Schritte für jeden Nutzer aus. Verwenden Sie dazu die private Schlüsseldatei, die Sie beim Erstellen eines dienstkontobezogenen Dienstkontos zur Authentifizierung heruntergeladen haben:

  1. Laden Sie die Metadaten der Zertifikatskette und des privaten Schlüssels über den Gmail-API-Aufruf keypairs.create hoch.
  2. Aktivieren Sie das Schlüsselpaar für die primäre E-Mail-Adresse des Nutzers über den Gmail API-Aufruf identities.create.

    Für den Aufruf identities.create ist die Schlüsselpaar-ID erforderlich, die im Antworttext des Aufrufs keypairs.create zurückgegeben wird.

    Hinweis:So aktivieren Sie das Schlüsselpaar für die E-Mail-Adresse eines Nutzers:

    • Erstellt eine CSE-Identität, die berechtigt ist, E-Mails über das Konto des Nutzers zu senden.
    • Konfiguriert Gmail so, dass die Metadaten des privaten Schlüssels zum Signieren ausgehender E‑Mails mit clientseitiger Verschlüsselung verwendet werden.
    • Das Zertifikat wird in einem gemeinsamen domainweiten Repository veröffentlicht, damit andere Nutzer in Ihrer Organisation, die die clientseitige Verschlüsselung verwenden, Nachrichten verschlüsseln können, die an diesen Nutzer gesendet werden.

Verwenden Sie für diese Schritte ein Script, das mit der Gmail API interagiert. Sie haben folgende Möglichkeiten:

  • Schreiben Sie Ihr eigenes Script.
  • Verwenden Sie das von Google bereitgestellte Python-Beispielskript. Eine Anleitung dazu finden Sie weiter unten auf dieser Seite im Abschnitt Python-Script von Google verwenden, um Zertifikate und verpackte Schlüssel von Nutzern in Gmail hochzuladen.

    Hinweis:Dieses Script gilt nur für Nutzer, die einen Schlüsseldienst verwenden, um Gmail-Inhalte zu verschlüsseln. Für alle Nutzer, die die Hardwareschlüsselverschlüsselung verwenden, müssen Sie ein anderes Script erstellen, um die Metadaten des entpackten privaten Schlüssels hochzuladen.

Nachdem Sie die Zertifikate hochgeladen haben, kann es bis zu 24 Stunden dauern, bis sie in Gmail verfügbar sind. In der Regel geht es aber schneller.

Optional: Python-Beispielskript von Google verwenden, um Zertifikate von Nutzern und verpackte private Schlüssel in Gmail hochzuladen

Um Schritt 3 oben abzuschließen, können Sie das von Google bereitgestellte Python-Script verwenden, anstatt Ihr eigenes Script zu schreiben.

Hinweis:In diesem Script werden Sie aufgefordert, die drei Bereiche anzugeben, mit denen Sie der Gmail API domainweite Zugriffe gewähren können (weiter oben auf dieser Seite aufgeführt): gmail.settings.readonly, gmail.settings.basic und gmail.settings.sharing. Wenn Sie das Script verwenden möchten, können Sie entweder alle drei Bereiche aktivieren oder den nicht verwendeten Bereich aus dem Script entfernen.

Laden Sie das Skript herunter

Laden Sie das Python-Skriptpaket (.zip) auf Ihren Computer (Mac, Linux oder Windows) herunter und extrahieren Sie die Dateien in Ihr Arbeitsverzeichnis.

Virtuelle Umgebung erstellen und Module installieren

Geben Sie in der Befehlszeile Ihres Arbeitsverzeichnisses die folgenden Befehle ein:

Skript aufrufen

Zertifikate und Schlüssel des Nutzers hochladen

Schritt 1: Verzeichnis zum Speichern aller verpackten privaten Schlüssel erstellen

  • Sie können beispielsweise das Verzeichnis $root/wrapped_keys erstellen.
  • Der Dateiname für jeden verpackten privaten Schlüssel muss die vollständige E-Mail-Adresse des Nutzers mit der Erweiterung .wrap sein. Beispiel: $root/wrapped_keys/user1@example.com.wrap
  • Die Datei mit dem umschlossenen privaten Schlüssel muss ein JSON-Objekt mit zwei erforderlichen Feldern enthalten:

Schritt 2: Verzeichnis zum Speichern aller Zertifikate erstellen

  • Zertifikate müssen im P7-PEM-Format vorliegen. Erstellen Sie daher das Verzeichnis $root/p7pem_certs.
  • Die Zertifikatsdatei muss die vollständige Kette zur Stammzertifizierungsstelle enthalten.
  • Der Dateiname für jedes Zertifikat muss die vollständige E-Mail-Adresse des Nutzers mit der Erweiterung .p7pem sein. Beispiel: $root/p7pem_certs/user1@example.com.p7pem

Wenn Sie eine P7B-Datei haben, können Sie sie mit dem folgenden openssl-Kommentar in das P7-PEM-Format konvertieren:

Schritt 3: Schlüsselpaare und Identitäten des Nutzers hochladen

Für diesen Schritt benötigen Sie die JSON-Datei mit den Anmeldedaten für das Dienstkonto, das Sie oben in Schritt 2: Dienstkonto erstellen auf Ihrem Computer gespeichert haben.

Am einfachsten lassen sich die Schlüsselpaare und Identitäten der Nutzer mit dem Befehl insert hochladen. Beachten Sie, dass jeder Befehl ein Argument haben muss, z. B.:

Alternativ können Sie für jeden Nutzer Folgendes tun:

  1. Führen Sie insert_keypair aus und notieren Sie sich die Schlüsselpaar-ID.
  2. Führen Sie insert_identity mit dieser Schlüsselpaar-ID aus.

Sie können die ID des Schlüsselpaars auch mit dem Befehl list_keypair abrufen.

Schritt 4: Prüfen, ob Nutzer CSE-Schlüsselpaare und Identitäten haben

Prüfen Sie, ob Nutzer in Gmail gültige Schlüsselpaare und Identitäten haben. Führen Sie dazu für jeden Nutzer die folgenden Befehle aus:

list_keypair

list_identity

Zu einem anderen Schlüsseldienst für die clientseitige Verschlüsselung in Gmail wechseln

Wenn Sie zu einem anderen Schlüsseldienst für die clientseitige Verschlüsselung in Gmail wechseln möchten, wiederholen Sie die Schritte 2 und 3 unter CSE-S/MIME-Zertifikate für Nutzer einrichten. Verwenden Sie dabei den neuen Schlüsseldienst zum Verpacken der privaten Schlüssel.

Hinweis:Durch den Upload neuer Zertifikate für Nutzer werden die Inhalte nicht zum neuen Schlüsseldienst migriert. Nutzer können jedoch weiterhin auf E‑Mails zugreifen, die mit den vorherigen Zertifikaten verschlüsselt und deren Metadaten der privaten Schlüssel mit dem alten Schlüsseldienst verpackt wurden.

Nachrichten als clientseitig verschlüsselte E‑Mails zu Gmail migrieren

Nachdem die clientseitige Verschlüsselung für Gmail eingerichtet wurde, können Sie optional Nachrichten importieren. Weitere Informationen finden Sie unter Nachrichten als clientseitig verschlüsselte E‑Mails zu Gmail migrieren.