Как загрузить ключи для шифрования на стороне клиента (только Gmail)

Эта функция доступна в версиях Enterprise Plus, Education Standard и Education Plus.  Сравнение версий

Чтобы использовать шифрование на стороне клиента для Gmail в Google Workspace, предоставьте Gmail API доступ ко всей организации. Затем с помощью этого API загрузите в Gmail сертификат S/MIME (открытый ключ) и метаданные закрытого ключа. Если вы используете сервис управления ключами, зашифруйте с его помощью метаданные закрытых ключей пользователей.

Вы можете в любое время сменить сервис управления ключами. Для этого достаточно загрузить сертификаты S/MIME и метаданные закрытых ключей, зашифрованные новым сервисом.

О протоколе S/MIME

S/MIME – это стандартный протокол цифровой подписи и шифрования электронных писем, обеспечивающий их целостность и безопасность. Шифрование на стороне клиента в Gmail работает на базе стандарта S/MIME 3.2 IETF, который позволяет защищать данные MIME при отправке и получении. Стандарт S/MIME требует, чтобы у отправителя и получателя был свой сертификат X.509, которому доверяет Gmail.

Примечание. Протокол S/MIME можно использовать и без шифрования на стороне клиента, однако это снизит уровень защиты конфиденциальности. В этом случае серверы Google смогут расшифровать ваши данные. Подробнее о том, как включить размещаемые сертификаты S/MIME для шифрования писем

Подготовка

Вам потребуется выполнить следующие действия:

  1. Выберите сервис управления ключами.
  2. Установите подключение к поставщику идентификационной информации.
  3. Настройте внешний сервис управления ключами или аппаратные ключи шифрования.
  4. Назначьте сервис управления ключами или аппаратные ключи шифрования организационным подразделениям или группам.

    Если вы используете несколько сервисов управления ключами, назначьте их соответствующим организационным подразделениям или группам конфигурации.

Как настроить Gmail API

Примечание. Для использования API необходимы навыки программирования.

Развернуть раздел  |  Свернуть все

Шаг 1. Включите Gmail API
  1. Создайте новый проект GCP. Подробнее о создании проектов и управлении ими

    Сохраните идентификатор проекта. Он понадобится позже, чтобы предоставить API доступ к домену.

  2. Перейдите в Google API Console и включите Gmail API в новом проекте. Подробнее о том, как включить API в проекте Google Cloud
Шаг 2. Создайте сервисный аккаунт для домена
  1. В консоли Google Cloud перейдите на страницу Сервисные аккаунты и создайте сервисный аккаунт для всего домена. Подробнее о том, как создавать сервисные аккаунты и управлять ими
  2. Создайте для сервисного аккаунта закрытый ключ и сохраните его в файле JSON в локальной системе, например svc_acct_creds.json. Этот файл содержит учетные данные, которые вы будете использовать при настройке Gmail для пользователей. Подробнее о том, как создавать ключи сервисных аккаунтов и управлять ими
Шаг 3. Предоставьте Gmail API доступ к домену

На этом шаге вам нужно с помощью сервисного аккаунта предоставить Gmail API разрешение изменять всех пользователей в домене.

  1. Следуйте инструкциям в статье Как управлять доступом к API, используя делегирование доступа к данным в домене.
  2. Когда появится запрос, укажите следующие данные:

    Идентификатор клиента: идентификатор клиента сервисного аккаунта, который вы создали на шаге 2.

    Области действия OAuth: gmail.settings.readonly и gmail.settings.basic или gmail.settings.sharing

Как включить в Gmail шифрование на стороне клиента для пользователей

Включите в Gmail шифрование на стороне клиента для организационных подразделений или групп. Подробные сведения приведены в статье Как включить или отключить шифрование на стороне клиента.

Примечание. Для организационных подразделений можно включить шифрование по умолчанию для всех писем (написанных и пересланных). Пользователи при необходимости смогут отключить шифрование. Requires having the Assured Controls or Assured Controls Plus add-on. 

Как настроить для пользователей сертификаты S/MIME шифрования на стороне клиента

После того как вы настроите Gmail API и включите в Gmail шифрование на стороне клиента для пользователей через консоль администратора, вы можете настроить сертификаты S/MIME шифрования на стороне клиента и метаданные закрытых ключей для пользователей.

Развернуть раздел  |  Свернуть все

Шаг 1. Подготовьте сертификаты S/MIME и метаданные закрытых ключей

У каждого из пользователей, для которых вы хотите включить шифрование на стороне клиента для отправки и получения писем в Gmail:

Используя центр сертификации, создайте пару из открытого и закрытого ключа S/MIME с цепочкой сертификатов. Сертификат конечного субъекта S/MIME должен включать основной адрес Gmail пользователя в качестве имени субъекта или субъекта расширения SAN.

Это можно сделать одним из следующих способов:

  • Используйте корневой сертификат ЦС, которому доверяет Google. Их список приведен в статье Доверенные сертификаты ЦС для S/MIME в Gmail.
  • Используйте ЦС, которого нет в списке доверенных Google. Например, чтобы использовать собственный ЦС, добавьте его корневой сертификат в консоль администратора. Подробнее о том, как управлять доверенными сертификатами для S/MIME

    Примечание. Если вы используете ЦС, которому не доверяет Google, а вашим пользователям нужно отправлять зашифрованные на стороне клиента сообщения за пределы организации, то получатели также должны доверять этому ЦС.

Шаг 2. Зашифруйте сертификаты и метаданные закрытых ключей

Зашифруйте метаданные закрытых ключей S/MIME с помощью сервиса управления ключами. Для этого обратитесь в сервис управления ключами или следуйте инструкциям.

Если вы используете аппаратные ключи шифрования: пропустите этот шаг и не шифруйте метаданные закрытых ключей для пользователей, которые будут использовать аппаратные ключи шифрования. В этом случае шифрование метаданных не требуется, потому что пользователи хранят закрытые ключи для Gmail на смарт-картах.   Requires having the Assured Controls or Assured Controls Plus add-on.

Шаг 3. Загрузите сертификаты S/MIME и метаданные закрытых ключей пользователей в Gmail

С помощью Gmail API загрузите в Gmail цепочку сертификатов S/MIME с открытым ключом и метаданные закрытого ключа каждого пользователя и установите их в качестве предпочтительных ключей для пользователей, создав идентификационные данные.

Выполните следующие действия для каждого пользователя, используя файл закрытого ключа, который вы скачали при создании сервисного аккаунта для всего домена, для аутентификации:

  1. Загрузите цепочку сертификатов и метаданные закрытых ключей, используя вызов Gmail API keypairs.create.
  2. Включите пару ключей для основного адреса электронной почты пользователя, используя вызов Gmail API identities.create.

    Для вызова identities.create необходим идентификатор пары ключей, который возвращается в тексте ответа на вызов keypairs.create.

    Примечание. При включении пары ключей для адреса электронной почты пользователя:

    • Создаются идентификационные данные с шифрованием на стороне клиента с правом на отправку электронной почты из аккаунта пользователя.
    • Gmail настраивается на использование метаданных закрытого ключа, чтобы подписывать исходящую почту с шифрованием на стороне клиента.
    • Публикуется сертификат в общий репозиторий домена, чтобы другие пользователи шифрования на стороне клиента в организации могли шифровать письма, отправляемые этому пользователю.

Чтобы выполнить эти шаги, используйте скрипт, который взаимодействует с Gmail API. Это можно сделать одним из следующих способов:

  • Напишите свой скрипт.
  • Используйте пример скрипта Python, предоставленный Google. Инструкции приведены в разделе Как загружать в Gmail сертификаты и упакованные закрытые ключи пользователей с помощью скрипта Python от Google.

    Примечание. Этот скрипт подходит только для пользователей, которые будут использовать сервис управления ключами для шифрования контента Gmail. Для сотрудников, которые будут использовать аппаратные ключи шифрования, вам нужно будет создать другой скрипт для загрузки незашифрованных метаданных закрытых ключей.

Обычно загруженные сертификаты добавляются в Gmail достаточно быстро, но иногда это может занять до 24 часов.

Как загружать в Gmail сертификаты и упакованные закрытые ключи пользователей с помощью скрипта Python от Google (необязательно)

Для выполнения шага 3 можно использовать скрипт Python, предоставленный Google, а не писать собственный.

Примечание. Этот скрипт запрашивает три области действия, которые можно использовать для предоставления Gmail API доступа к домену (указаны выше на этой странице): gmail.settings.readonly, gmail.settings.basic и gmail.settings.sharing. Чтобы использовать скрипт, вы можете включить все три области действия или удалить из него неиспользуемую область.

Как скачать скрипт

Скачайте пакет скрипта Python (.zip) на компьютер (Mac, Linux или Windows) и извлеките файлы в рабочий каталог.

Как создать виртуальную среду и установить модули

С помощью командной строки из рабочего каталога введите следующие команды:

python3 -m venv cli_env
source cli_env/bin/activate
pip install -r requirements.txt

Как вызвать скрипт

python cse_cmd.py -h

Как загрузить сертификаты и ключи пользователя

Шаг 1. Создайте каталог для хранения всех упакованных закрытых ключей

  • Это может быть, например, каталог $root/wrapped_keys.
  • Имя файла для каждого упакованного закрытого ключа должно представлять собой полный адрес электронной почты пользователя с расширением .wrap. Пример: $root/wrapped_keys/user1@example.com.wrap
  • Убедитесь, что файл упакованного закрытого ключа содержит объект JSON с двумя обязательными полями:
{
      'kacls_url': 'url of the key service configured in the Admin console',
      'wrapped_private_key': 'wrapped private key bytes'
    }

Шаг 2. Создайте каталог для хранения всех сертификатов

  • Сертификаты должны быть в формате P7 PEM, поэтому вы можете создать каталог $root/p7pem_certs.
  • Убедитесь, что файл сертификата содержит полную цепочку к корневому центру сертификации.
  • Имя файла для каждого сертификата должно представлять собой полный адрес электронной почты пользователя с расширением .p7pem. Пример: $root/p7pem_certs/user1@example.com.p7pem

Если у вас есть файл P7B, вы можете использовать следующий комментарий OpenSSL для преобразования его в формат P7 PEM:

openssl pkcs7 -inform DER -in {old_name.p7b} -outform PEM -out {new_name.p7pem}

Шаг 3. Загрузите пары ключей и идентификационные данные пользователей

Для этого шага вам понадобится JSON-файл, содержащий учетные данные для сервисного аккаунта, который вы сохранили на своем компьютере в разделе Шаг 2. Создайте сервисный аккаунт.

Самый простой способ загрузить пары ключей и идентификационные данные пользователей – выполнить команду insert. Обратите внимание, что каждая команда должна содержать аргумент, например:

python cse_cmd.py insert
      --creds $root/svc_acct_creds.json
      --inkeydir $root/wrapped_keys
      --incertdir $root/p7pem_certs

Как вариант, вы можете сделать следующее для каждого пользователя:

  1. Выполните команду insert_keypair и запишите идентификатор пары ключей.
  2. Выполните команду insert_identity, используя этот идентификатор.

Вы также можете получить идентификатор пары ключей с помощью команды list_keypair.

Шаг 4. Убедитесь, что у пользователей есть пары ключей и идентификационные данные с шифрованием на стороне клиента

Чтобы проверить это в Gmail, выполните следующие команды для каждого пользователя:

list_keypair

list_identity

Как перейти на другой сервис управления ключами для шифрования на стороне клиента в Gmail

Если вы решили использовать другой сервис управления ключами, выполните шаги 2 и 3 в разделе Как настроить шифрование на стороне клиента в Gmail для пользователей и зашифруйте закрытые ключи с помощью нового сервиса.

Примечание. Загрузка новых сертификатов для пользователей не приведет к переносу данных в другой сервис управления ключами. У пользователей по-прежнему будет доступ к сообщениям, зашифрованным с помощью прежних сертификатов и закрытых ключей из старого сервиса.

Как перенести в Gmail письма в виде зашифрованных на стороне клиента объектов

После настройки шифрования на стороне клиента в Gmail можно импортировать письма. Подробнее о том, как перенести в Gmail письма в виде зашифрованных на стороне клиента объектов

Эта информация оказалась полезной?

Как можно улучшить эту статью?
true
Начните пользоваться 14-дневной бесплатной пробной версией уже сегодня

Корпоративная почта, хранение файлов онлайн, общие календари, видеоконференции и многое другое. Начните пользоваться бесплатной пробной версией G Suite уже сегодня.

Поиск
Очистить поле поиска
Закрыть поиск
Приложения Google
Главное меню