หน้าแรก Proton

การนำเข้าคีย์ส่วนตัว OpenPGP ไปยัง Proton Mail

เวลาอ่าน
4 นาที
หมวดหมู่
กุญแจต่าง ๆและการเข้ารหัส

Proton Mail ช่วยให้นำเข้าคีย์ส่วนตัว (หรือคีย์ลับ) OpenPGP ที่มีอยู่เข้าสู่ระบบนิเวศที่เข้ารหัสได้ ซึ่งจะช่วยให้สามารถใช้คีย์เหล่านั้นเพื่อลงนามและถอดรหัสอีเมลต่อไปได้

คีย์ที่นำเข้าจะต้องเป็นไปตามข้อกำหนดคีย์ขั้นต่ำของ Proton ด้วยเหตุผลด้านความปลอดภัยและความเข้ากันได้

หากคีย์เป็นไปตามข้อกำหนดขั้นต่ำ จะสามารถนำเข้าคีย์ได้โดยตรง
หากคีย์ไม่เป็นไปตามข้อกำหนดขั้นต่ำ จะปรากฏหน้าจอข้อผิดพลาดหลังจากพยายามอัปโหลด หน้าจอข้อผิดพลาดนี้จะอธิบายสาเหตุที่คีย์ถูกปฏิเสธ และมีคู่มือในการแก้ไขคีย์เพื่อให้สามารถนำเข้าได้

  1. วิธีนำเข้าคีย์ OpenPGP ไปยัง Proton Mail
  2. วิธีแก้ไขคีย์ OpenPGP

วิธีนำเข้าคีย์ OpenPGP ไปยัง Proton Mail

  1. เข้าสู่ระบบบัญชี Proton บนแอปเว็บ Proton Mail
  2. คลิก การตั้งค่า → การตั้งค่าทั้งหมด → กุญแจต่าง ๆและการเข้ารหัสอีเมลกุญแจเข้ารหัส.
  3. เลือกที่อยู่อีเมลที่เกี่ยวข้องกับคีย์ดังกล่าว คลิกเมนูแบบดรอปดาวน์ที่ระบุว่า สร้างคีย์ และคลิก นำเข้าคีย์

เสร็จสมบูรณ์! ตอนนี้สามารถใช้คีย์ส่วนตัว OpenPGP บน Proton Mail ได้แล้ว

วิธีแก้ไขคีย์ OpenPGP

หากคีย์ไม่เป็นไปตามข้อกำหนด จะไม่สามารถนำเข้าคีย์ได้

บทความนี้จะครอบคลุมถึงสถานการณ์ทั่วไปที่คีย์อาจถูกปฏิเสธ และอธิบายวิธีแก้ไขสถานการณ์ดังกล่าว

ก่อนเริ่มต้น

หากจำเป็นต้องแก้ไขคีย์ส่วนตัว OpenPGP เพื่ออัปโหลดไปยัง Proton Mail มีสองขั้นตอนที่ต้องดำเนินการก่อนเริ่มต้น:

  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 จะปฏิเสธคีย์ดังกล่าว

เพื่อให้แน่ใจว่าจะสามารถรับอีเมลบน Proton Mail โดยใช้คีย์ OpenPGP นี้ได้เสมอ จึงกำหนดให้คีย์ที่นำเข้าทั้งหมดต้องไม่มีการตั้งวันหมดอายุ

หากพยายามนำเข้าคีย์ที่มีวันหมดอายุ คีย์นั้นจะถูกปฏิเสธ

วิธีแก้ไขปัญหานี้

  1. เปิด GnuPG และตรวจสอบว่าคีย์มีการตั้งวันหมดอายุไว้หรือไม่ โดยเรียกใช้คำสั่ง:
gpg --list-keys 

โดย “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 จะเข้าสู่โหมดโต้ตอบ จำเป็นต้องตรวจสอบคีย์ย่อยแต่ละคีย์และแก้ไขวันหมดอายุของคีย์เหล่านั้น สามารถเลือกคีย์ย่อยได้โดยใช้คำสั่ง:

คีย์ 

แล้วตั้งค่าวันที่หมดอายุเป็น ไม่มีกำหนด โดยใช้คำสั่ง:

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 กำหนดให้คีย์ที่นำเข้าทั้งหมดต้องมี ID ผู้ใช้เพียงรายการเดียวที่ใช้ที่อยู่อีเมลเดียวกับบัญชี Proton ที่กำลังนำเข้าคีย์

หากมีที่อยู่อีเมล Proton Mail หลายที่อยู่ โปรดตรวจสอบให้แน่ใจว่าได้นำเข้าคีย์ที่ถูกต้องไปยังที่อยู่ที่เหมาะสม

ข้อผิดพลาดนี้อาจเกิดขึ้นได้เช่นกันหากที่อยู่มีข้อมูลระบุตัวตนของผู้ใช้หลายรายการ (ซึ่งหนึ่งในนั้นอาจเชื่อมโยงกับที่อยู่ Proton Mail ที่กำลังนำเข้าคีย์ไป) ในกรณีนี้ Proton กำหนดให้ลบข้อมูลระบุตัวตนอื่นๆ ออก เนื่องจาก Proton ไม่สามารถยืนยันได้ว่าคีย์นั้นถูกสร้างขึ้นโดยเจ้าของ ที่อยู่จริง หากเป็นที่อยู่ภายนอก (ที่อยู่ที่ไม่ใช่ Proton Mail)

วิธีแก้ไขปัญหานี้

  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:

  • RSA ที่มีคีย์ขนาดเล็กกว่า 2048 บิต
  • ElGamal
  • คีย์ ECC ที่มีส่วนโค้ง (curves) อื่นนอกเหนือจาก x25519 และ P-256, P-384 หรือ P-521 ของ NIST
  • DSA

นอกจากนี้ยังกำหนดให้คีย์ที่นำเข้าต้องแสดงการรองรับ AES-256 ในฐานะรหัสสมมาตร (symmetric cipher), 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 ได้แล้ว

ไม่พบสิ่งที่คุณกำลังค้นหาใช่หรือไม่?

ติดต่อทั่วไปcontact@proton.me
ติดต่อสื่อมวลชนmedia@proton.me
ติดต่อฝ่ายกฎหมายlegal@proton.me
ติดต่อฝ่ายพันธมิตรpartners@proton.me