فقط جیمیل: پیکربندی S/MIME برای رمزگذاری سمت کلاینت

نسخه‌های پشتیبانی‌شده برای این ویژگی: Frontline Plus؛ Enterprise Plus؛ Education Standard و Education Plus. نسخه خود را مقایسه کنید

برای استفاده از S/MIME با رمزگذاری سمت کلاینت (CSE) گوگل ورک‌اسپیس برای جیمیل، باید API جیمیل را فعال کنید و به آن اجازه دسترسی به کل سازمان خود را بدهید. سپس، برای هر کاربر، باید از API جیمیل برای آپلود گواهی S/MIME (افزونه‌های ایمیل اینترنتی امن/چندمنظوره) (کلید عمومی) و فراداده کلید خصوصی به جیمیل استفاده کنید. اگر از یک سرویس کلید رمزگذاری استفاده می‌کنید، باید فراداده کلید خصوصی کاربران را نیز با استفاده از سرویس کلید خود رمزگذاری (یا "بسته‌بندی") کنید.

در هر زمانی، می‌توانید با آپلود گواهی‌های S/MIME جدید و فراداده‌های کلید خصوصی رمزگذاری شده توسط سرویس جدید خود، به یک سرویس کلید متفاوت تغییر دهید.

الزامات

برای تکمیل مراحل پیکربندی S/MIME برای کاربران، به موارد زیر نیاز دارید:

  • امتیازات فوق مدیریتی برای حساب گوگل سازمان شما، که برای دسترسی در سطح دامنه به API جیمیل به آن نیاز دارید.
  • دسترسی به ابزارهای سرویس کلید رمزگذاری سازمان شما یا کارکنان پشتیبانی آنها.
  • Experience working with APIs and Python scripts.

About S/MIME

S/MIME یک پروتکل استاندارد صنعتی و پذیرفته‌شده برای امضای دیجیتالی و رمزگذاری پیام‌های ایمیل است تا یکپارچگی و امنیت پیام تضمین شود. Gmail CSE برای ارسال و دریافت داده‌های MIME امن به استاندارد S/MIME 3.2 IETF متکی است. S/MIME از فرستندگان و گیرندگان ایمیل می‌خواهد که گواهی‌های X.509 خود را که توسط Gmail قابل اعتماد هستند، داشته باشند.

توجه: به عنوان یک روش جایگزین، می‌توانید از S/MIME بدون لایه اضافی رمزگذاری و حریم خصوصی که CSE ارائه می‌دهد، استفاده کنید. فقط در صورتی از این جایگزین استفاده کنید که نیازی به جلوگیری از رمزگشایی داده‌های خود توسط سرورهای گوگل با CSE نداشته باشید. برای جزئیات بیشتر، به «فعال کردن S/MIME میزبانی شده برای رمزگذاری پیام» مراجعه کنید.

قبل از اینکه شروع کنی

Make sure you've completed the following steps:

  1. Choose a key service .
  2. Connect to your identity provider (IdP) .
  3. سرویس کلید خارجی یا رمزگذاری کلید سخت‌افزاری خود را تنظیم کنید .
  4. یک سرویس کلید یا رمزگذاری کلید سخت‌افزاری را به واحدها یا گروه‌های سازمانی اختصاص دهید .

    اگر از چندین سرویس کلیدی استفاده می‌کنید، مطمئن شوید که آنها به واحدهای سازمانی یا گروه‌های پیکربندی مناسب اختصاص داده شده‌اند.

Set up the Gmail API

توجه: استفاده از APIها نیاز به دانش برنامه‌نویسی دارد.

Step 1: Enable the Gmail API

  1. یک پروژه GCP جدید ایجاد کنید. برای جزئیات بیشتر، به ایجاد و مدیریت پروژه‌ها بروید.

    به شناسه پروژه توجه کنید: از آن برای اعطای دسترسی در سطح دامنه به API استفاده خواهید کرد.

  2. به کنسول API گوگل بروید و Gmail API را برای پروژه جدید فعال کنید. برای جزئیات بیشتر، به فعال کردن API در پروژه Google Cloud خود بروید.

Step 2: Create a domain-wide service account

  1. در کنسول گوگل کلود، به صفحه حساب‌های سرویس بروید و یک حساب سرویس در سطح دامنه ایجاد کنید. برای جزئیات بیشتر، به بخش ایجاد و مدیریت حساب‌های سرویس بروید.
  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 .

Step 3: Grant the Gmail API domain-wide access

برای این مرحله، از حساب سرویسی که ایجاد کرده‌اید برای دادن دسترسی ویرایش Gmail API به همه کاربرانتان استفاده خواهید کرد.

  1. دستورالعمل‌های مربوط به کنترل دسترسی API با واگذاری اختیار در سطح دامنه را دنبال کنید.
  2. Enter the following when prompted:

    شناسه کلاینت: شناسه کلاینت حساب سرویس ایجاد شده در مرحله 2 بالا.

    دامنه‌های OAuth: gmail.settings.readonly و gmail.settings.basic یا gmail.settings.sharing

Turn on Gmail CSE for users

CSE را برای واحدها یا گروه‌های سازمانی Gmail فعال کنید. برای جزئیات بیشتر، به روشن یا خاموش کردن رمزگذاری سمت کلاینت بروید.

توجه: برای واحدهای سازمانی، می‌توانید تمام ایمیل‌ها (نوشتن، پاسخ دادن و ارسال) را به صورت پیش‌فرض رمزگذاری کنید. کاربر همچنان می‌تواند در صورت نیاز رمزگذاری را غیرفعال کند. این کار مستلزم داشتن افزونه Assured Controls یا Assured Controls Plus است .

Set up CSE S/MIME certificates for users

پس از تنظیم Gmail API و فعال کردن Gmail CSE برای کاربران در کنسول مدیریت، می‌توانید گواهی‌های CSE S/MIME و فراداده‌های کلید خصوصی را برای کاربران خود تنظیم کنید.

مرحله ۱: آماده‌سازی گواهی‌های S/MIME و فراداده‌های کلید خصوصی

برای هر کاربری که از Gmail CSE برای ارسال یا دریافت ایمیل استفاده می‌کند:

با استفاده از یک مرجع صدور گواهینامه (CA)، یک جفت کلید عمومی/خصوصی S/MIME با یک زنجیره گواهینامه ایجاد کنید. گواهی برگ S/MIME باید شامل آدرس Gmail اصلی کاربر به عنوان نام موضوع یا موضوع افزونه SAN باشد.

You can do either of the following:

  • از یک گواهی ریشه CA مورد اعتماد گوگل استفاده کنید: برای مشاهده فهرستی از گواهی‌های ریشه، به گواهی‌های CA مورد اعتماد Gmail برای S/MIME مراجعه کنید.
  • از یک CA که مورد اعتماد گوگل نیست استفاده کنید: برای مثال، برای استفاده از CA خودتان، می‌توانید گواهی ریشه آن را در کنسول مدیریت اضافه کنید. برای جزئیات بیشتر، به مدیریت گواهی‌های معتبر برای S/MIME بروید.

    توجه: اگر از یک CA استفاده می‌کنید که مورد اعتماد گوگل نیست و کاربران ایمیل‌های رمزگذاری شده سمت کلاینت را به خارج از سازمان شما ارسال می‌کنند، گیرنده نیز باید به CA اعتماد کند.

مرحله ۲: بسته‌بندی گواهی‌ها و فراداده‌های کلید خصوصی

از سرویس رمزگذاری کلید خود برای رمزگذاری یا "بسته‌بندی" فراداده‌های کلیدهای خصوصی S/MIME استفاده کنید. برای انجام این کار با سرویس کلید خود تماس بگیرید یا دستورالعمل‌های ارائه شده توسط آنها را دنبال کنید.

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 .

مرحله ۳: گواهی‌های S/MIME و فراداده‌های کلید خصوصی کاربران را در Gmail بارگذاری کنید

از API جیمیل برای آپلود زنجیره گواهی S/MIME کلید عمومی هر کاربر و فراداده کلید خصوصی در جیمیل استفاده کنید و با ایجاد یک هویت، آنها را به عنوان کلیدهای ترجیحی برای کاربران تنظیم کنید.

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.

Compete the following steps for each user, using the private key file you downloaded when creating a domain-wide service account for authentication:

  1. زنجیره گواهی و فراداده کلید خصوصی را با استفاده از فراخوانی keypairs.create از API جیمیل آپلود کنید.
  2. با استفاده از فراخوانی identities.create از API جیمیل، جفت‌کلید را برای آدرس ایمیل اصلی کاربر فعال کنید .

    فراخوانی identities.create به شناسه جفت کلید که در بدنه پاسخ فراخوانی keypairs.create برگردانده شده است، نیاز دارد.

    نکته: فعال کردن جفت کلید برای آدرس ایمیل کاربر:

    • یک هویت CSE ایجاد می‌کند که مجاز به ارسال ایمیل از حساب کاربر است.
    • جیمیل را طوری پیکربندی می‌کند که از فراداده کلید خصوصی برای امضای ایمیل‌های خروجی CSE استفاده کند.
    • گواهی را در یک مخزن مشترک در سطح دامنه منتشر می‌کند تا سایر کاربران CSE در سازمان شما بتوانند پیام‌های ارسالی به این کاربر را رمزگذاری کنند.

برای انجام این مراحل، از اسکریپتی استفاده کنید که با Gmail API رابط کاربری دارد. می‌توانید یکی از موارد زیر را انجام دهید:

بعد از آپلود گواهینامه‌ها، ممکن است تا ۲۴ ساعت طول بکشد تا در جیمیل در دسترس قرار گیرند، هرچند معمولاً این اتفاق خیلی سریع‌تر رخ می‌دهد.

(اختیاری) از اسکریپت نمونه پایتون گوگل برای آپلود گواهی‌نامه‌های کاربران و کلیدهای خصوصی فشرده‌شده به جیمیل استفاده کنید.

برای تکمیل مرحله ۳ در بالا، می‌توانید به جای نوشتن اسکریپت خودتان، از اسکریپت پایتونی که گوگل ارائه می‌دهد استفاده کنید.

توجه: این اسکریپت از شما ۳ محدوده دسترسی درخواست می‌کند که می‌توانید برای اعطای دسترسی‌های دامنه‌ای به API جیمیل ( که قبلاً در این صفحه ذکر شده‌اند ) از آنها استفاده کنید: gmail.settings.readonly ، gmail.settings.basic و gmail.settings.sharing . برای استفاده از اسکریپت، می‌توانید هر سه محدوده را فعال کنید یا محدوده‌ای را که استفاده نمی‌کنید از اسکریپت حذف کنید.

Download the script

بسته اسکریپت پایتون (.zip) را روی رایانه خود (مک، لینوکس یا ویندوز) دانلود کنید و فایل‌ها را در دایرکتوری کاری خود استخراج کنید.

Create a virtual environment and install modules

با استفاده از خط فرمان از دایرکتوری کاری خود، دستورات زیر را وارد کنید:

Invoke the script

Upload user's certificates and keys

مرحله ۱: ایجاد یک دایرکتوری برای ذخیره تمام کلیدهای خصوصی رمزگذاری شده

  • برای مثال، ممکن است دایرکتوری $root/wrapped_keys ایجاد کنید.
  • نام فایل هر کلید خصوصیِ فشرده‌شده باید آدرس ایمیل کامل کاربر با پسوند .wrap باشد. برای مثال: $root/wrapped_keys/user1@example.com.wrap
  • مطمئن شوید که فایل کلید خصوصیِ فشرده‌شده دارای یک شیء JSON با دو فیلد الزامی است:

مرحله ۲: ایجاد یک دایرکتوری برای ذخیره همه گواهینامه‌ها

  • گواهینامه‌ها باید در قالب PEM P7 باشند، بنابراین، می‌توانید دایرکتوری $root/p7pem_certs را ایجاد کنید.
  • مطمئن شوید که فایل گواهی شامل زنجیره کامل مرجع صدور گواهی ریشه (CA) است.
  • نام فایل هر گواهی باید آدرس ایمیل کامل کاربر با پسوند .p7pem باشد. برای مثال: $root/p7pem_certs/user1@example.com.p7pem

اگر فایل P7B دارید: می‌توانید از کامنت openssl زیر برای تبدیل آن به فرمت PEM P7 استفاده کنید:

Step 3: Upload users' key pairs and identities

برای این مرحله، به فایل JSON حاوی اطلاعات احراز هویت حساب سرویس نیاز دارید که در مرحله ۲: ایجاد حساب سرویس در بالا، در رایانه خود ذخیره کرده‌اید.

ساده‌ترین راه برای آپلود جفت کلیدها و هویت‌های کاربران، اجرای دستور insert است. توجه داشته باشید که هر دستور باید یک آرگومان داشته باشد - برای مثال:

به عنوان یک راه حل جایگزین، می‌توانید برای هر کاربر مراحل زیر را انجام دهید:

  1. Run insert_keypair , and note the keypair ID.
  2. Run insert_identity using that keypair ID.

همچنین می‌توانید با اجرای دستور list_keypair شناسه جفت کلید را دریافت کنید.

مرحله ۴: تأیید کنید که کاربران دارای جفت کلید CSE و هویت هستند

با اجرای دستورات زیر برای هر کاربر، مطمئن شوید که جفت کلیدها و هویت‌های معتبری در Gmail دارند:

list_keypair

list_identity

To switch to another key service for Gmail CSE

If you want to switch to a different key service for Gmail CSE, repeat steps 2 and 3 under Set up CSE S/MIME certificates for users above, using your new key service to wrap the private keys.

توجه: آپلود گواهینامه‌های جدید برای کاربران، محتوا را به سرویس کلید جدید منتقل نمی‌کند. با این حال، کاربران می‌توانند همچنان به ایمیل‌های رمزگذاری شده با گواهینامه‌های قبلی و فراداده‌های کلید خصوصی که توسط سرویس کلید قدیمی رمزگذاری شده‌اند، دسترسی داشته باشند.

انتقال پیام‌ها به Gmail به عنوان ایمیل رمزگذاری شده سمت کلاینت

اکنون که Gmail CSE تنظیم شده است، می‌توانید پیام‌ها را به صورت اختیاری وارد کنید. برای جزئیات بیشتر، به «انتقال پیام‌ها به Gmail به عنوان ایمیل رمزگذاری شده سمت کلاینت» مراجعه کنید.