Alleen voor Gmail: Configureer S/MIME voor client-side versleuteling

Ondersteunde edities voor deze functie: Frontline Plus; Enterprise Plus; Education Standard en Education Plus. Vergelijk uw editie.

Om S/MIME te gebruiken met Google Workspace Client-side Encryption (CSE) voor Gmail, moet u de Gmail API inschakelen en deze toegang geven aan uw hele organisatie. Vervolgens moet u voor elke gebruiker de Gmail API gebruiken om een ​​S/MIME-certificaat (Secure/Multipurpose Internet Mail Extensions) (publieke sleutel) en metadata van de privésleutel naar Gmail te uploaden. Als u een encryptiesleutelservice gebruikt, moet u ook de metadata van de privésleutel van gebruikers versleutelen (of 'verpakken') met behulp van uw sleutelservice.

U kunt op elk gewenst moment overschakelen naar een andere sleutelservice door nieuwe S/MIME-certificaten en metadata van de privésleutel te uploaden die door uw nieuwe service zijn versleuteld.

Vereisten

Om de stappen voor het configureren van S/MIME voor gebruikers te voltooien, hebt u het volgende nodig:

  • Superbeheerdersrechten voor het Google-account van uw organisatie zijn vereist om domeinbrede toegang tot de Gmail API te verlenen.
  • Toegang tot de tools voor de encryptiesleutelservice van uw organisatie of tot hun ondersteunend personeel.
  • Ervaring met het werken met API's en Python-scripts.

Over S/MIME

S/MIME is a widely accepted, industry standard protocol for digitally signing and encrypting email messages to ensure message integrity and security. Gmail CSE relies on the S/MIME 3.2 IETF standard to send and receive secure MIME data. S/MIME requires email senders and recipients to have their X.509 certificates trusted by Gmail.

Note: Alternatively, you can use S/MIME without the additional layer of encryption and privacy that CSE provides. Use this alternative only if don't need to prevent Google servers from decrypting your data with CSE. For details, go to Turn on hosted S/MIME for message encryption .

Voordat je begint

Zorg ervoor dat u de volgende stappen hebt voltooid:

  1. Kies een belangrijke dienst .
  2. Maak verbinding met uw identiteitsprovider (IdP) .
  3. Stel uw externe sleutelservice of hardwarematige sleutelversleuteling in .
  4. Wijs een sleutelservice of hardwarematige sleutelversleuteling toe aan organisatie-eenheden of -groepen.

    Als u meerdere belangrijke services gebruikt, zorg er dan voor dat deze zijn toegewezen aan de juiste organisatie-eenheden of configuratiegroepen.

De Gmail API instellen

Let op: voor het gebruik van de API's is programmeerkennis vereist.

Stap 1: Schakel de Gmail API in.

  1. Maak een nieuw GCP-project aan. Zie ' Projecten maken en beheren' voor meer informatie.

    Noteer de project-ID: deze gebruikt u om de API domeinbrede toegang te verlenen.

  2. Ga naar de Google API-console en schakel de Gmail-API in voor het nieuwe project. Zie Een API inschakelen in uw Google Cloud-project voor meer informatie.

Stap 2: Maak een domeinbreed serviceaccount aan.

  1. Ga in de Google Cloud-console naar de pagina Serviceaccounts en maak een domeinbreed serviceaccount aan. Zie Serviceaccounts maken en beheren voor meer informatie.
  2. Create a service account private key, and save the key to a JSON file on to your local system, such as svc_acct_creds.json . This file contains the credentials you'll use when setting up Gmail for users. For details, go to Create and manage service account keys .

Stap 3: Geef de Gmail API domeinbrede toegang.

Voor deze stap gebruikt u het serviceaccount dat u hebt aangemaakt om al uw gebruikers bewerkingsrechten te geven voor de Gmail API.

  1. Volg de instructies voor het beheren van API-toegang met domeinbrede delegatie .
  2. Voer de volgende gegevens in wanneer daarom wordt gevraagd:

    Client-ID: De client-ID van het serviceaccount dat in stap 2 hierboven is aangemaakt.

    OAuth-scopes: gmail.settings.readonly en ofwel gmail.settings.basic of gmail.settings.sharing

Schakel Gmail CSE in voor gebruikers.

Schakel CSE voor Gmail in voor de organisatie-eenheden of -groepen. Ga naar Client-side versleuteling in- of uitschakelen voor meer informatie.

Note: For organizational units, you can set all email (compose, reply, and forward) to be encrypted by default. User can still turn off encryption if needed. Requires having the Assured Controls or Assured Controls Plus add-on .

CSE S/MIME-certificaten instellen voor gebruikers

Nadat je de Gmail API hebt ingesteld en Gmail CSE voor gebruikers hebt ingeschakeld in de beheerdersconsole, kun je CSE S/MIME-certificaten en metagegevens van privésleutels voor je gebruikers instellen.

Stap 1: S/MIME-certificaten en metadata van de privésleutel voorbereiden

Voor elke gebruiker die Gmail CSE gebruikt om e-mails te verzenden of te ontvangen:

Using a certificate authority (CA), generate an S/MIME public/private key pair with a certificate chain. The S/MIME leaf certificate must include the user's primary Gmail address as a subject name or SAN extension subject.

Je kunt een van de volgende opties kiezen:

  • Gebruik een door Google vertrouwd CA-rootcertificaat: voor een lijst met rootcertificaten ga je naar CA-certificaten die door Gmail worden vertrouwd voor S/MIME .
  • Gebruik een CA die niet door Google wordt vertrouwd: U kunt bijvoorbeeld uw eigen CA gebruiken door het rootcertificaat ervan toe te voegen in de beheerdersconsole. Zie ' Vertrouwde certificaten voor S/MIME beheren' voor meer informatie.

    Let op: als u een certificeringsinstantie (CA) gebruikt die niet door Google wordt vertrouwd en gebruikers client-side versleutelde e-mails buiten uw organisatie verzenden, moet de ontvanger de CA ook vertrouwen.

Stap 2: Certificaten en metadata van privésleutels inpakken

Gebruik uw sleutelversleutelingsservice om de metadata van de S/MIME-privésleutels te versleutelen, ofwel te "verpakken". Neem hiervoor contact op met uw sleutelservice of volg de instructies die zij verstrekken.

If you're using hardware key encryption —Make sure you skip this step and don't wrap private key metadata for any users who will use hardware key encryption. In this case, wrapping the metadata isn't needed because users' private keys for Gmail reside on their smart cards. Requires having the Assured Controls or Assured Controls Plus add-on .

Stap 3: Upload de S/MIME-certificaten en metadata van de privésleutels van de gebruikers naar Gmail.

Gebruik de Gmail API om de openbare sleutel (S/MIME-certificaatketen) en de metadata van de privésleutel van elke gebruiker naar Gmail te uploaden en deze als voorkeurssleutels voor de gebruikers in te stellen door een identiteit aan te maken.

Note: You need to use the Gmail API to upload certificates, not the Gmail client. Also, note that the ability to upload certificates from Gmail client is disabled when you turn on CSE for Gmail.

Voer de volgende stappen uit voor elke gebruiker, met behulp van het privésleutelbestand dat u hebt gedownload bij het aanmaken van een domeinbreed serviceaccount voor authenticatie:

  1. Upload de certificaatketen en de metadata van de privésleutel met behulp van de Gmail API-aanroep keypairs.create .
  2. Activeer het sleutelpaar voor het primaire e-mailadres van de gebruiker met behulp van de Gmail API-aanroep identities.create .

    De aanroep identities.create vereist de sleutelpaar-ID die wordt geretourneerd in de responsbody van de aanroep keypairs.create .

    Opmerking: Het sleutelpaar inschakelen voor het e-mailadres van een gebruiker:

    • Hiermee wordt een CSE-identiteit aangemaakt die gemachtigd is om e-mails te verzenden vanuit het account van de gebruiker.
    • Hiermee wordt Gmail geconfigureerd om de metadata van de privésleutel te gebruiken voor het ondertekenen van uitgaande CSE-e-mails.
    • Hiermee wordt het certificaat gepubliceerd in een gedeelde, domeinbrede opslagplaats, zodat andere CSE-gebruikers binnen uw organisatie berichten die naar deze gebruiker worden verzonden, kunnen versleutelen.

Om deze stappen te voltooien, gebruikt u een script dat communiceert met de Gmail API. U kunt een van de volgende opties kiezen:

Nadat je de certificaten hebt geüpload, kan het tot 24 uur duren voordat ze beschikbaar zijn in Gmail, hoewel dit meestal veel sneller gebeurt.

(Optioneel) Gebruik het voorbeeldscript van Google voor Python om gebruikerscertificaten en versleutelde privésleutels naar Gmail te uploaden.

Om stap 3 hierboven te voltooien, kunt u het Python-script gebruiken dat Google aanbiedt in plaats van uw eigen script te schrijven.

Note: This script asks for the 3 scopes you can use to grant the Gmail API domain-wide accesss ( listed earlier on this page ): gmail.settings.readonly , gmail.settings.basic , and gmail.settings.sharing . To use the script, you can either enable all three scopes or remove the scope you're not using from the script.

Download het script

Download het Python-scriptpakket (.zip) naar uw computer (Mac, Linux of Windows) en pak de bestanden uit in uw werkmap.

Maak een virtuele omgeving aan en installeer modules.

Gebruik de opdrachtregel in uw werkmap en voer de volgende opdrachten in:

Roep het script aan.

Upload de certificaten en sleutels van de gebruiker.

Stap 1: Maak een map aan voor het opslaan van alle versleutelde privésleutels.

  • Je zou bijvoorbeeld de map $root/wrapped_keys kunnen aanmaken.
  • De bestandsnaam voor elke ingekapselde privésleutel moet het volledige e-mailadres van de gebruiker zijn, met de extensie .wrap . Bijvoorbeeld: $root/wrapped_keys/user1@example.com.wrap
  • Zorg ervoor dat het ingepakte privésleutelbestand een JSON-object bevat met twee verplichte velden:

Stap 2: Maak een map aan voor het opslaan van alle certificaten.

  • Certificaten moeten in het P7 PEM-formaat zijn, dus je kunt de map $root/p7pem_certs aanmaken.
  • Zorg ervoor dat het certificaatbestand de volledige certificaatketen tot aan de hoofdcertificaatinstantie (CA) bevat.
  • De bestandsnaam voor elk certificaat moet het volledige e-mailadres van de gebruiker zijn, met de extensie .p7pem . Bijvoorbeeld: $root/p7pem_certs/user1@example.com.p7pem

Als je een P7B-bestand hebt: Je kunt de volgende openssl-opdracht gebruiken om het naar het P7 PEM-formaat te converteren:

Stap 3: Upload de sleutelparen en identiteiten van de gebruikers.

Voor deze stap hebt u het JSON-bestand nodig met de inloggegevens voor het serviceaccount, dat u in stap 2: Een serviceaccount aanmaken hierboven op uw computer hebt opgeslagen.

De eenvoudigste manier om de sleutelparen en identiteiten van gebruikers te uploaden, is door het commando insert uit te voeren. Houd er rekening mee dat elk commando een argument moet hebben, bijvoorbeeld:

Als alternatief kunt u voor elke gebruiker het volgende doen:

  1. Voer de insert_keypair uit en noteer de sleutelpaar-ID.
  2. Voer de insert_identity uit met behulp van die sleutelpaar-ID.

Je kunt de sleutelpaar-ID ook verkrijgen door het commando list_keypair uit te voeren.

Stap 4: Controleer of gebruikers CSE-sleutelparen en -identiteiten hebben.

Zorg ervoor dat gebruikers geldige sleutelparen en identiteiten in Gmail hebben door voor elke gebruiker de volgende opdrachten uit te voeren:

list_keypair

list_identity

Om over te schakelen naar een andere belangrijke service voor Gmail CSE

Als u wilt overschakelen naar een andere sleutelservice voor Gmail CSE, herhaalt u stap 2 en 3 onder 'CSE S/MIME-certificaten instellen voor gebruikers' hierboven, waarbij u uw nieuwe sleutelservice gebruikt om de privésleutels te versleutelen.

Note: Uploading new certificates for users doesn't migrate content to the new key service. However, users can continue to access email encrypted with the previous certificates and private key metadata wrapped by the old key service.

Migreer berichten naar Gmail als client-side versleutelde e-mail.

Nu Gmail CSE is ingesteld, kunt u optioneel berichten importeren. Zie Berichten migreren naar Gmail als client-side versleutelde e-mail voor meer informatie.