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 een algemeen aanvaard, industriestandaard protocol voor het digitaal ondertekenen en versleutelen van e-mailberichten om de integriteit en veiligheid van berichten te waarborgen. Gmail CSE gebruikt de S/MIME 3.2 IETF-standaard voor het verzenden en ontvangen van beveiligde MIME-gegevens. S/MIME vereist dat e-mailverzenders en -ontvangers beschikken over X.509-certificaten die door Gmail worden vertrouwd.

Opmerking: U kunt ook S/MIME gebruiken zonder de extra versleutelings- en privacylaag die CSE biedt. Gebruik dit alternatief alleen als u niet hoeft te voorkomen dat Google-servers uw gegevens met CSE decoderen. Ga naar S/MIME inschakelen voor berichtversleuteling (hosted S/MIME) .

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. Maak een privésleutel voor een serviceaccount aan en sla deze op in een JSON-bestand op uw lokale systeem, bijvoorbeeld svc_acct_creds.json . Dit bestand bevat de inloggegevens die u gebruikt bij het instellen van Gmail voor gebruikers. Zie ' Serviceaccountsleutels maken en beheren' voor meer informatie.

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.

Opmerking: Voor organisatie-eenheden kunt u alle e-mails (opstellen, beantwoorden en doorsturen) standaard versleuteld instellen. Gebruikers kunnen de versleuteling indien nodig nog steeds uitschakelen. Hiervoor is de add-on Assured Controls of Assured Controls Plus vereist.

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:

Genereer met behulp van een certificeringsinstantie (CA) een S/MIME-sleutelpaar (publieke/private sleutel) met een certificaatketen. Het S/MIME-bladcertificaat moet het primaire Gmail-adres van de gebruiker als onderwerpnaam of SAN-extensieonderwerp bevatten.

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.

Als u hardwarematige sleutelversleuteling gebruikt , sla deze stap dan over en verpak de metagegevens van de privésleutel niet voor gebruikers die hardwarematige sleutelversleuteling gebruiken. In dit geval is het verpakken van de metagegevens niet nodig, omdat de privésleutels van gebruikers voor Gmail op hun smartcards staan. Vereist de add-on Assured Controls of Assured Controls Plus .

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.

Let op: je moet de Gmail API gebruiken om certificaten te uploaden, niet de Gmail-client. Houd er ook rekening mee dat de mogelijkheid om certificaten te uploaden vanuit de Gmail-client is uitgeschakeld wanneer je CSE voor Gmail inschakelt.

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.

Opmerking: Dit script vraagt ​​om de 3 scopes die je kunt gebruiken om de Gmail API domeinbrede toegang te verlenen ( eerder op deze pagina vermeld ): gmail.settings.readonly , gmail.settings.basic en gmail.settings.sharing . Om het script te gebruiken, kun je alle drie de scopes inschakelen of de scope die je niet gebruikt uit het script verwijderen.

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.

Let op: het uploaden van nieuwe certificaten voor gebruikers migreert de inhoud niet naar de nieuwe sleutelservice. Gebruikers kunnen echter wel toegang blijven houden tot e-mail die is versleuteld met de vorige certificaten en privé-sleutelmetadata die door de oude sleutelservice zijn ingepakt.

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.