วิธีการทำงาน

ปรับปรุงครั้งสุดท้าย:

หมายเหตุ: เวอร์ชั่นภาษาอังกฤษถูกปรับปรุงหลังจากการแปลภาษา () แสดงเป็นภาษาอังกฤษ

เป้าหมายของเล็ท’ส เอ็นคริปต์ และ โปรโตคอล ACME นั้นเพื่อให้การติดตั้ง HTTPS เซิร์ฟเวอร์เป็นไปได้ และสามารถรับหนังสือรับรองที่เว็บบราวเซอร์เชื่อถือได้อย่างอัตโนมัติ โดยไม่ต้องมีคนมาดำเนินการ ซึ่งทำได้โดยการทำงานของเอเจนท์ที่ใช้จัดการหนังสือรับรองบนเว็บเซิร์ฟเวอร์

เพื่อให้เข้าใจในการทำงานของเทคโนโลยี เรามาดูขั้นตอนของการติดตั้ง https://example.com/ ด้วยเอเจนท์สำหรับจัดการหนังสือรับรอง ที่รองรับการทำงานของเล็ท’ส เอ็นคริปต์

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

การตรวจสอบโดเมน

เล็ท’ส เอ็นคริปต์ชี้ตัวผู้ดูแลระบบเซิร์ฟเวอร์โดยใช้กุญแจสาธารณะ ในครั้งแรกที่ซอฟต์แวร์เอเจนท์ทำการติดต่อกับเล็ท’ส เอ็นคริปต์ มันจะสร้างคู่กุญแจใหม่ขึ้น และพิสูจน์ให้ CA ของเล็ท’ส เอ็นคริปต์เห็นว่าเครื่องเซิร์ฟเวอร์นี้เป็นผู้ควบคุมโดเมน กระบวนการนี้เหมือนกับกระบวนการของ CA แบบดั้งเดิมในการสร้างบัญชีผู้ใช้ และเพิ่มโดเมนให้แก่บัญชีผู้ใช้

ในการเริ่มกระบวนการ เอเจนต์จะถามมาที่ CA ของเล็ท’ส เอ็นคริปต์ถึงสิ่งที่ต้องทำในการพิสูจน์ว่ามันเป็นผู้ควบคุม example.com CA ของเล็ท’ส เอ็นคริปต์จะดูที่โดเมนเนมที่ถูกเรียกและจ่ายบททดสอบอย่างน้อยหนึ่งบททดสอบ นี่เป็นหนึ่งในหลายวิธีที่เอเจนต์สามารถพิสูจน์ว่าเป็นผู้ควบคุมโดเมน ตัวอย่างเช่น CA อาจจะให้เอเจนท์เลือกว่า:

นอกจากบททดสอบแล้ว CA ของเล็ท’ส เอ็นคริปต์ ยังให้ nonce ซึ่งเอเจนท์ต้องลงนามด้วยคู่กุญแจส่วนตัว ในการพิสูจน์ว่ามันเป็นผู้ควบคุมคู่กุญแจ

Requesting challenges to validate example.com

ซอฟต์แวร์เอเจนท์ทำบททดสอบหนึ่งจากหลายๆบททดสอบสำเร็จ อย่างเช่นมันสามารถทำบททดสอบที่สองด้านบนได้เรียบร้อย: มีการสร้างไฟล์ในพาธที่กำหนดไว้บนเว็บไซต์​ http://example.com เอเจนท์ลงนาม nonce ที่ได้รับมาด้วยกุญแจส่วนตัวของมัน หลังจากที่เอเจนท์ดำเนินการเรียบร้อยแล้ว มันจะแจ้ง CA ว่ามันพร้อมที่จะจบการตรวจสอบความถูกต้อง

จากนั้นเป็นหน้าที่ของ CA ที่จะตรวจสอบว่าบททดสอบเป็นไปตามที่กำหนด จากนั้น CA จะตรวจสอบลายเซ็นบน nonce และทดสอบดาวน์โหลดไฟล์จากเว็บเซิร์ฟเวอร์และดูว่าเนื้อหาไฟล์เป็นไปตามที่คาดหวัง

Requesting authorization to act for example.com

ถ้าลายเซ็นบน nonce ถูกต้อง และบททดสอบถูกต้อง จากนั้นเอเจนท์ที่ผูกกับคีย์สาธารณะนั้นจะได้รับมอบอำนาจให้จัดการหนังสือรับรองสำหรับ example.com เราเรียกคู่กุญแจที่เอเจนท์ใช้ว่า “คู่กุญแจที่ได้รับอำนาจ” สำหรับ example.com

การขอรับและเรียกคืนหนังสือรับรอง

เมื่อเอเจนท์ได้รับคู่กุญแจที่ได้รับอำนาจแล้ว การร้องขอ การต่ออายุ และการเลิกใช้หนังสือรับรองก็ทำได้ง่าย—แค่ส่งข้อความจัดการหนังสือรับรอง และลงนามด้วยคู่กุญแจที่ได้รับอำนาจ

ในการรับหนังสือรับรองสำหรับโดเมน เอเจนท์จะสร้าง คำร้องขอลงนามหนังสือรับรอง (CSR) PKCS#10 ที่ถาม CA ของเล็ท’ส เอ็นคริปต์ให้ออกหนังสือรับรองโดเมน example.com ด้วยคีย์สาธารณะ โดยปกติแล้ว CSR จะมีลายเซ็นจากคีย์ส่วนบุคคลคู่กับคีย์สาธารณะใน CSR เอเจนท์ลงนาม CSR ทั้งหมดด้วยคีย์ที่ได้รับอำนาจสำหรับโดเมน example.com เพื่อให้เล็ท’ส เอ็ทคริปต์ทราบว่าได้รับอนุญาตแล้ว

เมื่อ CA ของเล็ท’ส เอ็นคริปต์รับคำร้องขอ มันจะตรวจสอบลายเซ็นทั้งสองตัว ถ้าทุกอย่างเป็นไปด้วยดี มันจะออกหนังสือรับรองสำหรับโดเมน example.com ด้วยคีย์สาธารณะจาก CSR แล้วส่งคืนให้เอเจนท์

Requesting a certificate for example.com

การเรียกคืนหนังสือรับรอง ทำงานในลักษณะเดียวกัน เอเจนท์จะลงนามคำร้องขอเรียกคืนด้วยคู่กุญแจที่ได้รับอำนาจสำหรับ example.com, และ CA ของเล็ท’ส เอ็นคริปต์ทำการตรวจสอบว่าคำร้องขอได้รับอนุญาตแล้ว ถ้าเป็นไปตามนั้น มันจะประกาศข้อมูลการเรียกคืนหนังสือรับรอง เข้าสู่ช่องทางการเรียกคืนปกติ (เช่น OCSP) เพื่อให้ผู้ที่เกี่ยวข้องเช่น บราวเซอร์สามารถทราบได้ว่ามันไม่ควรยอมรับหนังสือรับรองที่ถูกยกเลิกไปแล้ว

Requesting revocation of a certificate for example.com