Proton 홈페이지

Proton Mail로 OpenPGP 비밀 키 불러오기

읽기
4분
카테고리
암호화 및 키

Proton Mail을 사용하면 기존 OpenPGP 비밀 키(또는 시크릿 키)를 암호화된 에코시스템으로 불러올 수 있습니다. 이를 통해 해당 키를 계속 사용하여 이메일에 서명하고 이메일을 복호화할 수 있습니다.

불러오는 키는 보안 및 호환성 유지를 위해 Proton의 최소 키 요구 사항을 충족해야 합니다.

키가 최소 요구 사항을 충족하면 직접 불러올 수 있습니다.
키가 최소 요구 사항을 충족하지 않는 경우, 업로드를 시도한 후 오류 화면이 표시됩니다. 이 오류 화면에서는 키가 거절된 이유를 설명합니다. 키를 불러올 수 있도록 수정하는 가이드를 제공합니다.

  1. OpenPGP 키를 Proton Mail로 불러오는 방법
  2. OpenPGP 키를 수정하는 방법

OpenPGP 키를 Proton Mail로 불러오는 방법

  1. Proton Mail 웹 앱에서 Proton 계정에 로그인합니다
  2. 설정 → 전체 설정 → 암호화 및 키이메일 암호화 키를 클릭합니다.
  3. 해당 키와 연결된 이메일 주소를 선택하고, 키 생성이라고 표시된 드롭다운 메뉴를 클릭한 다음 키 가져오기를 클릭합니다.

완료되었습니다! 이제 Proton Mail에서 OpenPGP 비밀 키를 사용할 수 있습니다.

OpenPGP 키를 수정하는 방법

키가 요구 사항을 충족하지 않으면 키를 불러올 수 없습니다.

여기서는 키가 거절될 수 있는 가장 일반적인 시나리오를 다루고 이 상황을 해결하는 방법을 설명합니다.

시작하기 전에

Proton Mail에 업로드하기 위해 OpenPGP 비밀 키를 수정해야 하는 경우, 시작하기 전에 다음 두 단계를 수행해야 합니다.

  1. GnuPG를 다운로드 및 설정하고 키를 불러옵니다
  2. OpenPGP 키를 수정하기 전에 백업 버전을 만들어 둡니다

GnuPG 설정 및 키 불러오기

이 가이드 전체에서 불러오려는 비밀 키를 수정하기 위해 GnuPG(GNU Privacy Guard) 도구를 사용합니다.
GnuPG가 설치되어 있지 않은 경우, https://gnupg.org/download/(새 창) 사이트로 이동하여 기기에 맞는 앱을 찾으십시오.

Proton Mail로 불러오려는 키가 GnuPG로 불러와지지 않은 경우, 다음 명령어로 불러와야 합니다.

gpg --import 

다음 작업의 대부분은 아래 명령어를 기반으로 하는 대화형 명령에 의존합니다.

gpg --edit-key

GnuPG 설명서 읽기(새 창).

중요: 키를 수정하기 전에 백업해 두십시오.

불러오려는 비밀 키가 Proton 이외의 다른 애플리케이션에서도 사용되는 경우, 수정하기 전에 반드시 해당 키의 백업 복사본을 만들어 두십시오.

이미 비밀 키를 GnuPG로 불러왔다면 다음 명령어로 백업할 수 있습니다.

gpg --armor --export-secret-keys  > backup-key.asc

나중에 다음 명령어로 원본 키를 다시 불러올 수 있습니다.

gpg --import backup-key.asc

비밀 키가 거절된 이유

  1. 귀하의 키에 유효기간이 설정되어 있습니다 
  2. 귀하의 키에 잘못된 신원이 지정되어 있습니다
  3. 귀하의 키에 암호화 하위 키가 없습니다
  4. 귀하의 키가 지원되지 않는 알고리즘을 사용합니다

귀하의 키에 유효기간이 설정되어 있습니다

이것이 의미하는 것

OpenPGP 키(및 하위 키)에는 유효기간이 있을 수 있으며, 이 기간이 지나면 모든 OpenPGP 준수 라이브러리에서 이를 거절합니다.

귀하가 이 OpenPGP 키를 사용하여 Proton Mail에서 언제든지 이메일을 수신할 수 있도록 하려면, 불러오는 모든 키에 유효기간이 설정되어 있지 않아야 합니다.

유효기간이 설정된 키를 불러오려고 하면 거절됩니다.

해결 방법

  1. GnuPG를 열고 다음 명령을 실행하여 키에 유효기간이 설정되어 있는지 확인합니다:
gpg --list-keys 

여기서 “사용자 ID(user id)”는 키와 연결된 이메일 주소입니다.

표시되는 출력은 다음과 같습니다:

$ gpg --list-keys key.import.test@example.proton.me
sec rsa3072 2022-09-21 [SC] [expires: 2024-09-20]
C931E2A00A01EE4604049A4EA9C08446B1B88861
uid Import key guide
ssb rsa3072 2022-09-21 [E] [expires: 2024-09-20]

여기에서 기본 키와 암호화 하위 키 모두 유효기간이 2024-09-20으로 설정되어 있는 것을 확인할 수 있습니다.
Proton Mail로 불러오려면 유효기간이 없도록 키를 편집해야 합니다.

2. 키를 편집하려면 다음 명령을 실행합니다:

gpg --edit-key 

GnuPG가 대화형 모드로 진입합니다. 각 하위 키를 검토하고 유효기간을 편집해야 합니다. 다음 명령을 사용하여 하위 키를 선택할 수 있습니다:

key 

그런 다음 다음 명령어를 사용하여 유효기간 날짜를 절대 로 설정하십시오:

expire 0

3. 다음 명령어를 사용하여 저장하십시오:

save

위 예시의 키의 경우, 전체 기록은 다음과 같이 표시됩니다:

$ gpg --edit-key key.import.test@example.proton.megpg> key 0gpg> expire 0gpg> key 1gpg> expire 0gpg> save

4. 다음 명령어를 사용하여 키의 유효기간 날짜를 확인하십시오:

gpg --list-keys 

표시되는 출력은 다음과 비슷합니다:

$ gpg --list-keys key.import.test@example.proton.me
pub rsa3072 2022-09-21 [SC]
C931E2A00A01EE4604049A4EA9C08446B1B88861
uid [ultimate] Import key guide
sub rsa3072 2022-09-21 [E]

보시다시피 유효기간 날짜가 목록에 표시되었던 섹션이 이제 빈칸으로 표시됩니다.

5. 이제 다음 명령어를 사용하여 GnuPG에서 키를 내보낼 수 있습니다:

gpg --armor --export-secret-keys  > exported-key.asc

6. 이제 새로 내보낸 키를 Proton Mail로 불러올 수 있습니다

키에 잘못된 신원이 있거나 여러 신원이 있습니다

이것이 의미하는 것

OpenPGP 키는 지정된 이메일 주소를 가진 하나 이상의 사용자 신원과 연결될 수 있습니다.
일부 Proton 서비스에서는 이 신원을 사용하여 지정된 주소의 키를 찾습니다.
귀하의 키가 의도한 주소와 연결되고 잘못된 주소와 연결되지 않도록 하기 위해, Proton은 불러오는 모든 키에 키를 불러오는 Proton 계정과 동일한 이메일 주소를 사용하는 단일 사용자 ID가 포함되도록 요구합니다.

귀하가 여러 개의 Proton Mail 주소를 보유하고 있다면, 올바른 주소로 올바른 키를 불러오고 있는지 확인하십시오.

이 오류는 주소에 여러 사용자 신원이 있는 경우에도 발생할 수 있습니다(그중 하나는 귀하가 키를 불러오려는 Proton Mail 주소와 연결되어 있을 수 있습니다). 이 시나리오에서 외부 주소(Proton Mail 주소가 아닌 주소)인 경우 Proton은 주소 소유자가 키를 생성했는지 확인할 수 없으므로, Proton은 다른 신원을 삭제할 것을 요구합니다.

해결 방법

  1. GnuPG를 열고 귀하의 키와 어떤 신원이 연결되어 있는지 확인하십시오. 불러오기 대화 상자에서 찾을 수 있는 지문을 사용하여 귀하의 키를 선택할 수 있습니다. 다음 명령어를 실행하여 여기에 접근할 수 있습니다:
gpg --list-keys 

표시되는 출력은 다음과 비슷합니다:

$ gpg --list-keys 5980f1c63aeb7534f36c3c669b838c4a93779a09
pub rsa3072 2022-10-11 [SC]
5980F1C63AEB7534F36C3C669B838C4A93779A09
uid [ultimate] Some identity
sub rsa3072 2022-10-11 [E]

여기서 키에 Proton에서 처리하지 않는 이메일 주소와 연결된 사용자 신원이 있음을 확인할 수 있습니다.

2. 다음 명령어를 실행하여 키를 편집하십시오:

gpg --edit-key 

그런 다음 다음 명령어로 새로운 사용자 신원을 생성하십시오:

adduid

이름과 이메일 주소를 지정하십시오(이메일 주소는 귀하가 키를 불러오려는 Proton Mail 주소여야 합니다).

이제 귀하의 키에 여러 신원이 있을 것입니다. 계속 진행하려면 Proton Mail 주소와 연결되지 않은 신원을 삭제해야 합니다.

3. 다음 명령어로 삭제하려는 다른 사용자 신원을 선택하십시오:

uid 

다음 명령어로 삭제하십시오:

deluid

4. 다음 명령어로 변경 사항을 저장하십시오:

save

위 예시의 키의 경우, 전체 기록은 다음과 같이 표시됩니다:

$ gpg --edit-key 5980f1c63aeb7534f36c3c669b838c4a93779a09...
gpg> adduid
Real name: Import test
Email address: key.import.test@example.proton.me
Comment:...
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O

sec rsa3072/9B838C4A93779A09
created: 2022-10-11 expires: never usage: SC
trust: ultimate validity: ultimate
ssb rsa3072/07FE974BC493DC08
created: 2022-10-11 expires: never usage: E
[ultimate] (1) Some identity
[ unknown] (2). Import test
gpg> uid 1
...
gpg> deluid
Really remove this user ID? (y/N) y
...
gpg> save

5. 다음 명령어로 귀하의 키 사용자 신원을 확인하십시오:

gpg --list-keys 

표시되는 출력은 다음과 비슷합니다:

$gpg --list-keys 5980f1c63aeb7534f36c3c669b838c4a93779a09
...
pub rsa3072 2022-10-11 [SC]
5980F1C63AEB7534F36C3C669B838C4A93779A09
uid [ultimate] Import test
sub rsa3072 2022-10-11 [E]

보시다시피, 키에는 단일 사용자 신원만 연결되어 있으며, 해당 신원은 단일 Proton Mail 주소에 연결되어 있습니다.

6. 다음 명령어로 GnuPG에서 키를 내보내십시오:

gpg --armor --export-secret-keys  > exported-key.asc

7. 이제 새로 내보낸 키를 Proton Mail로 불러올 수 있습니다

귀하의 키에 암호화 하위 키가 없습니다

이것이 의미하는 것

Proton Mail 사용자가 암호화된 이메일을 받을 수 있도록 하기 위해, Proton 서비스는 모든 주소 키가 데이터를 암호화할 수 있을 것으로 기대합니다. 그렇기 때문에 불러온 키에 암호화를 수행할 수 있는 하위 키가 하나 이상 포함되어야 합니다(일부 하위 키는 서명용으로만 사용할 수 있음).

해결 방법

  1. GnuPG를 열고 다음 명령어를 실행하여 불러오려는 키의 하위 키를 확인하십시오:
gpg --list-keys 

표시되는 출력은 다음과 비슷합니다:

$ gpg --list-keys key.import.test@example.proton.me
pub rsa3072 2022-09-21 [SC]
C931E2A00A01EE4604049A4EA9C08446B1B88861
uid [ultimate] Import key guide

이 예시에서 키에는 서명 및 인증 기능이 있는 하나의 하위 키만 있습니다([SC] 표시). 암호화 기능이 있는 하위 키([E]로 표시됨)는 없습니다.

2. 다음 명령어로 편집할 키를 선택하십시오:

gpg --edit-key 

다음 명령어로 새 하위 키를 추가하십시오:

addkey

암호화 알고리즘을 선택하세요. Proton은 RSA(암호화 전용) 또는 ECC(암호화 전용)만 지원합니다.

RSA 하위 키의 경우, 크기를 선택하세요. Proton은 최소 2048비트 이상이어야 합니다.

유효기간을 선택하세요. Proton은 0(만료일 없음)으로 설정할 것을 요구합니다.

3. 새로운 하위 키를 확인한 후 다음 명령어로 변경 사항을 저장하세요:

save

전체 기록은 다음과 비슷하게 표시되어야 합니다:

$ gpg --edit-key key.import.test@example.proton.me
gpg> addkey
Please select what kind of key you want:
(3) DSA (sign only)
(4) RSA (sign only)
(5) Elgamal (encrypt only)
(6) RSA (encrypt only)
(14) Existing key from card
Your selection? 6
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (3072)
Requested keysize is 3072 bits
Please specify how long the key should be valid.
0 = key does not expire
= key expires in n days
w = key expires in n weeks
m = key expires in n months
y = key expires in n years
Key is valid for? (0) 0
Key does not expire at all
Is this correct? (y/N) y
Really create? (y/N) y
gpg> save

4. 다음 명령어로 귀하의 키 사용자 신원을 확인하세요:

gpg --list-keys 
gpg --list-keys key.import.test@example.proton.me
pub rsa3072 2022-09-21 [SC]
C931E2A00A01EE4604049A4EA9C08446B1B88861
uid [ultimate] Import key guide
sub rsa3072 2022-10-11 [E]

보시다시피 이제 키에 암호화 기능이 있는 하위 키가 포함되어 있습니다.

5. 다음 명령어로 GnuPG에서 키를 내보내세요:

gpg --armor --export-secret-keys  > exported-key.asc

6. 이제 새로 내보낸 키를 Proton Mail로 불러올 수 있습니다

귀하의 키가 지원되지 않는 알고리즘을 사용합니다

이것이 의미하는 것

OpenPGP 키는 다양한 암호화 알고리즘을 지원할 수 있지만, 이 중 일부는 Proton에서 귀하의 이메일을 보호하기에 충분히 안전하지 않다고 판단합니다.

Proton은 다른 사용자의 보안 수준이 저하되는 것을 방지하고 수신된 메시지를 Proton Mail 사용자가 복호화할 수 있도록 하기 위해, 취약하거나 오래된 알고리즘을 사용하는 키를 거부합니다.

다음 비대칭 알고리즘은 Proton에서 지원하지 않습니다 :

  • 2048비트 미만의 키를 사용하는 RSA
  • ElGamal
  • x25519 및 NIST의 P-256, P-384 또는 P-521 이외의 곡선을 사용하는 ECC 키
  • DSA

또한 불러온 키가 대칭 암호로서 AES-256, 해시 함수로서 SHA-256, 압축 함수로서 ZLIB 지원을 표시할 것을 요구합니다.

해결 방법

  1. 다음 명령어로 각 키에 사용되는 알고리즘을 확인하세요.
gpg --list-keys 

다음과 같이 출력됩니다:

$ gpg --list-keys key.import.test@example.proton.me
sec dsa2048 2022-09-21 [SC] [expires: 2024-09-20]
C931E2A00A01EE4604049A4EA9C08446B1B88861
uid Import key guide
ssb elg2048 2022-09-21 [E] [expires: 2024-09-20]

여기서 기본 키 (SC(새 창) 기능으로 표시됨)는 DSA 키이며, 암호화 하위 키는 ElGamal 키입니다.

귀하의 기본 키(인증 기능이 있는 키)가 오래되었거나 취약한 알고리즘을 사용하는 경우, 키를 불러올 수 없습니다.

2a. Proton Mail 웹 앱의 계정 설정에서 직접 새 키를 생성하거나, 다음 명령어로 GnuPG를 사용하여 새 키를 생성할 수 있습니다:

gpg --generate-key

2b. 귀하의 기본 키가 지원되는 알고리즘을 사용하지만 하위 키 중 하나가 오래되었거나 취약한 알고리즘을 사용하는 경우, 다음 명령어로 해당 하위 키를 제거하고(필요한 경우 새 하위 키 생성) 변경할 수 있습니다:

gpg --edit-key 

다음 명령어로 지원되지 않는 알고리즘을 사용하는 하위 키를 선택하세요:

key 

여기서 n은 하위 키의 인덱스(프롬프트에 표시됨)입니다.

그런 다음 다음 명령어로 삭제하세요:

delkey

더 이상 암호화 하위 키가 없는 경우, 다음 명령어로 새 키를 생성할 수 있습니다:

addkey

3. 다음 명령어로 변경 사항을 확인하세요:

save

전체 기록은 다음과 비슷하게 표시되어야 합니다:

$ gpg --edit-key test@gpg.example.proton.me
...
sec rsa3072/BC93CFA50EFCDAF0
created: 2022-11-04 expires: never usage: SC
trust: ultimate validity: ultimate
ssb elg2048/CEB2A2B7DB363D99
created: 2022-11-04 expires: never usage: E
[ultimate] (1). teststes
gpg> key 1
gpg> delkey
...
gpg> addkey
...
sec rsa3072/BC93CFA50EFCDAF0
created: 2022-11-04 expires: never usage: SC
trust: ultimate validity: ultimate
ssb rsa2048/E910A70D5E1E5FC8
created: 2022-11-04 expires: never usage: E
[ultimate] (1). teststes
gpg> save



4. 다음 명령어로 GnuPG에서 키를 내보내세요:

gpg --armor --export-secret-keys  > exported-key.asc

5. 이제 새로 내보낸 키를 Proton Mail로 불러올 수 있습니다