Gmail만 해당: 클라이언트 측 암호화에 필요한 암호화 키 업로드하기

이 기능은 Enterprise Plus, Education Standard, Education Plus 버전에서 사용할 수 있습니다.  사용 중인 버전 비교하기

Gmail용 Google Workspace 클라이언트 측 암호화(CSE)를 사용하려면 Gmail API를 사용 설정하고 해당 API에 전체 조직에 대한 액세스 권한을 부여해야 합니다. 그런 다음 각 사용자에 대해 Gmail API를 사용하여 S/MIME(Secure/Multipurpose Internet Mail Extensions) 인증서(공개 키) 및 비공개 키 메타데이터를 Gmail에 업로드해야 합니다. 또한 암호화 키 관리 서비스를 사용하는 경우 키 관리 서비스를 사용하여 사용자의 비공개 키 메타데이터를 암호화(또는 '래핑')해야 합니다.

언제든지 새 서비스로 암호화된 새 S/MIME 인증서 및 비공개 키 메타데이터를 업로드하여 다른 키 관리 서비스로 전환할 수 있습니다.

S/MIME에 대한 정보

S/MIME는 이메일 디지털 서명 및 암호화를 위해 널리 사용되는 업계 표준 프로토콜로, 메일의 무결성과 보안을 보장합니다. Gmail CSE는 S/MIME 3.2 IETF 표준에 따라 보안 MIME 데이터를 주고받습니다. S/MIME를 사용하려면 이메일 발신자와 수신자에게 Gmail이 신뢰하는 X.509 인증서가 있어야 합니다.

참고: 또는 CSE에서 제공하는 추가 암호화 레이어 및 개인 정보 보호 기능 없이 S/MIME를 사용할 수 있습니다. Google 서버에서 CSE를 사용하여 데이터를 복호화하지 못하도록 할 필요가 없는 경우에만 이 방법을 사용하세요. 자세한 내용은 메일 암호화에 호스팅된 S/MIME 사용 설정하기를 참고하세요.

시작하기 전에

다음 단계를 완료했는지 확인하세요.

  1. 키 관리 서비스를 선택합니다.
  2. ID 공급업체(IdP)에 연결합니다.
  3. 외부 키 관리 서비스 또는 하드웨어 키 암호화를 설정합니다.
  4. 조직 단위 또는 그룹에 키 관리 서비스 또는 하드웨어 키 암호화를 할당합니다.

    여러 개의 키 관리 서비스를 사용하는 경우 적절한 조직 단위 또는 구성 적용 그룹에 할당되었는지 확인하세요. 

Gmail API 설정하기

참고: API를 사용하려면 프로그래밍 관련 지식이 있어야 합니다.

섹션 열기  |  모두 접기

1단계: Gmail API 사용 설정하기
  1. 새 GCP 프로젝트를 만듭니다. 자세한 내용은 프로젝트 만들기 및 관리하기를 참고하세요.

    프로젝트 ID를 메모해 두세요. API에 도메인 전체 액세스 권한을 부여할 때 프로젝트 ID가 필요합니다.

  2. Google API 콘솔로 이동하여 새 프로젝트에 Gmail API를 사용 설정합니다. 자세한 내용은 Google Cloud 프로젝트에서 API 사용 설정하기를 참고하세요.
2단계: 도메인 전체 서비스 계정 만들기
  1. Google Cloud 콘솔에서 서비스 계정 페이지로 이동하여 도메인 전체 서비스 계정을 만듭니다. 자세한 내용은 서비스 계정 만들기 및 관리하기를 참고하세요.
  2. 서비스 계정 비공개 키를 만들고 키를 로컬 시스템에 JSON 파일(예: svc_acct_creds.json)로 저장합니다. 이 파일에는 사용자의 Gmail을 설정할 때 사용할 사용자 인증 정보가 포함되어 있습니다. 자세한 내용은 서비스 계정 키 만들기 및 관리하기를 참고하세요.
3단계: Gmail API 도메인 전체 액세스 권한 부여하기

이 단계에서는 만든 서비스 계정을 사용하여 모든 사용자에게 Gmail API 수정 액세스 권한을 부여합니다. 

  1. 도메인 전체 위임으로 API 액세스 제어하기 안내를 따릅니다.
  2. 메시지가 표시되면 다음을 입력합니다.

    클라이언트 ID: 위의 2단계에서 만든 서비스 계정의 클라이언트 ID입니다.

    OAuth 범위: gmail.settings.basic

사용자의 Gmail CSE 사용 설정하기

조직 단위 또는 그룹에 Gmail용 CSE를 사용 설정합니다. 자세한 내용은 클라이언트 측 암호화 사용 또는 사용 중지하기를 참고하세요.

참고: 조직 단위의 경우 기본적으로 모든 이메일(작성, 답장, 전달)을 암호화하도록 설정할 수 있으며, 사용자는 필요한 경우 암호화를 사용 중지할 수 있습니다. Requires having the Assured Controls add-on. 

사용자의 CSE S/MIME 인증서 설정하기

관리 콘솔에서 사용자의 Gmail API를 설정하고 Gmail CSE를 사용 설정한 후 사용자에게 CSE S/MIME 인증서 및 비공개 키 메타데이터를 설정할 수 있습니다. 

섹션 열기  |  모두 접기

1단계: S/MIME 인증서 및 비공개 키 메타데이터 준비하기

Gmail CSE를 사용하여 이메일을 보내거나 받을 각 사용자에 대해 다음을 수행합니다.

인증 기관(CA)을 사용하여 인증서 체인이 포함된 S/MIME 공개/비공개 키 쌍을 생성합니다. S/MIME 리프 인증서에는 사용자의 기본 Gmail 주소가 주체 이름 또는 SAN 확장 주체로 포함되어야 합니다.

다음 방법 중 하나를 사용할 수 있습니다.

  • Google에서 신뢰하는 CA 루트 인증서 사용: 루트 인증서 목록은 S/MIME용 Gmail에서 신뢰할 수 있는 CA 인증서를 참고하세요.
  • Google에서 신뢰하지 않는 CA 사용: 예를 들어 자체 CA를 사용하려는 경우 관리 콘솔에서 루트 인증서를 추가하면 됩니다. 자세한 내용은 S/MIME용 신뢰할 수 있는 인증서 관리하기를 참고하세요.

    참고: Google에서 신뢰하지 않는 CA를 사용하고 사용자가 조직 외부에서 클라이언트 측 암호화 이메일을 보내는 경우에는 수신자도 해당 CA를 신뢰해야 합니다.

2단계: 인증서 및 비공개 키 메타데이터 래핑하기

키 관리 서비스를 사용하여 S/MIME 비공개 키 메타데이터를 암호화하거나 '래핑'합니다. 이를 수행하려면 키 관리 서비스에 문의하거나 해당 서비스에서 제공하는 안내를 따르세요.

하드웨어 키 암호화를 사용하는 경우: 이 단계를 건너뛰고 하드웨어 키 암호화를 사용할 모든 사용자에 대해 비공개 키 메타데이터를 래핑하지 마세요. 이 경우 Gmail에 대한 사용자의 비공개 키가 스마트 카드에 있기 때문에 메타데이터를 래핑할 필요가 없습니다.   Requires having the Assured Controls add-on.

3단계: 사용자의 S/MIME 인증서 및 비공개 키 메타데이터를 Gmail에 업로드하기

Gmail API를 사용하여 각 사용자의 공개 키 S/MIME 인증서 체인 및 비공개 키 메타데이터를 Gmail에 업로드한 후 ID를 만들어 사용자의 기본 키로 설정합니다.

인증을 위해 도메인 전체 서비스 계정을 만드는 경우 다운로드한 비공개 키 파일을 사용하여 각 사용자에 대해 다음 단계를 완료하세요.

  1. Gmail API 호출 keypairs.create를 사용하여 인증서 체인 및 비공개 키 메타데이터를 업로드합니다.
  2. Gmail API 호출 identities.create를 사용하여 사용자의 기본 이메일 주소에 키 쌍을 사용 설정합니다.

    identities.create 호출에는 keypairs.create 호출의 응답 본문에 반환되는 키 쌍 ID가 필요합니다.

    참고: 사용자의 이메일 주소에 키 쌍을 사용 설정하려면 다음 안내를 따르세요.

    • 사용자 계정에서 이메일을 보내도록 승인된 CSE ID를 만듭니다.
    • 발신 CSE 메일에 서명할 수 있는 비공개 키 메타데이터를 사용하도록 Gmail을 구성합니다.
    • 조직의 다른 CSE 사용자가 해당 사용자에게 보낸 메시지를 암호화할 수 있도록 도메인 전체 공유 저장소에 인증서를 게시합니다.

이 단계를 완료하려면 Gmail API와 상호작용하는 스크립트를 사용합니다. 다음 방법 중 하나를 사용할 수 있습니다.

  • 직접 스크립트를 작성합니다.
  • Google에서 제공하는 Python 샘플 스크립트를 사용합니다. 자세한 내용은 아래의 Google의 Python 스크립트를 사용하여 Gmail에 사용자 인증서 및 래핑된 키 업로드하기를 참고하세요.

    참고: 이 스크립트는 Gmail 콘텐츠를 암호화하기 위해 키 관리 서비스를 사용하는 사용자에만 적용됩니다. 하드웨어 키 암호화를 사용할 사용자의 경우 다른 스크립트를 만들어 래핑 해제된 비공개 키 메타데이터를 업로드해야 합니다.

인증서를 업로드한 후 Gmail에서 인증서를 사용할 수 있게 되는 데 최대 24시간이 걸릴 수 있지만, 일반적으로 더 빨리 적용됩니다. 

(선택사항) Google의 Python 샘플 스크립트를 사용하여 사용자의 인증서 및 래핑된 비공개 키를 Gmail에 업로드하기

위의 3단계를 완료하기 위해 직접 스크립트를 작성하는 대신 Google에서 제공하는 Python 스크립트를 사용할 수 있습니다. 

스크립트 다운로드하기

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',
      'wrapped_private_key': '래핑된 비공개 키 바이트'
    }

  2단계: 모든 인증서를 저장할 디렉터리 만들기

  • 인증서는 P7 PEM 형식이어야 하므로 $root/p7pem_certs 디렉터리를 만들 수 있습니다.
  • 인증서 파일에 루트 인증 기관(CA)의 전체 체인이 포함되어 있는지 확인합니다. 
  • 각 인증서의 파일 이름은 .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단계: 사용자의 키 쌍 및 ID 업로드하기

이 단계에서는 위의 2단계: 서비스 계정 만들기에서 컴퓨터에 저장한 서비스 계정의 사용자 인증 정보가 포함된 JSON 파일이 필요합니다. 

사용자의 키 쌍과 ID를 업로드하는 가장 쉬운 방법은 insert 명령어를 실행하는 것입니다. 각 명령어에는 인수가 있어야 합니다. 예를 들면 다음과 같습니다.

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

또는 각 사용자에 대해 다음을 수행할 수 있습니다.

  1. insert_keypair를 실행하고 키 쌍 ID를 기록합니다.
  2. 해당 키 쌍 ID를 사용하여 insert_identity를 실행합니다.

list_keypair 명령어를 실행하여 키 쌍 ID를 가져올 수도 있습니다.

4단계: 사용자에게 CSE 키 쌍 및 ID가 있는지 확인하기

각 사용자에 대해 다음 명령어를 실행하여 Gmail에 유효한 키 쌍과 ID가 있는지 확인합니다.

list_keypair

list_identity

Gmail CSE의 다른 키 관리 서비스로 전환하는 방법

Gmail CSE의 다른 키 관리 서비스로 전환하려면 위의 사용자에게 Gmail CSE 설정하기에서 2단계와 3단계를 반복하여 새 키 관리 서비스를 사용하여 비공개 키를 래핑합니다.

참고: 사용자의 새 인증서를 업로드해도 콘텐츠가 새 키 관리 서비스로 이전되지 않습니다. 그러나 사용자는 이전 인증서로 암호화된 이메일 및 이전 키 관리 서비스로 래핑된 비공개 키 메타데이터에 계속 액세스할 수 있습니다.

메일을 클라이언트 측에서 암호화된 이메일로 Gmail에 이전하기

이제 Gmail CSE가 설정되었으므로 원하는 경우 메일을 가져올 수 있습니다. 자세한 내용은 메일을 클라이언트 측에서 암호화된 이메일로 Gmail에 이전하기를 참고하세요.

도움이 되었나요?

어떻게 하면 개선할 수 있을까요?
true
지금 14일 무료 평가판 사용

업무용 이메일, 온라인 저장용량, 공유 캘린더, 화상 회의 등 다양한 기능을 제공합니다. 지금 무료로 G Suite 평가판을 사용해 보세요.

검색
검색어 지우기
검색 닫기
기본 메뉴
380919023151002244
true
도움말 센터 검색
true
true
true
true
true
73010
false
false