คำศัพท์ด้านความปลอดภัยที่สำคัญ

อุปสรรค 2 ข้อที่นักพัฒนาแอปต้องพบเมื่อย้ายข้อมูลไปยัง HTTPS คือแนวคิดและคำศัพท์ คู่มือนี้จะอธิบายภาพรวมคร่าวๆ ของทั้ง 2 รายการ

Chris Palmer
Chris Palmer

สรุป

  • ใช้คีย์สาธารณะ/ส่วนตัวเพื่อลงนามและถอดรหัสข้อความระหว่างเบราว์เซอร์กับเซิร์ฟเวอร์
  • ผู้ออกใบรับรอง (Certificate Authority หรือ CA) คือองค์กรที่รับรองการแมประหว่างคีย์สาธารณะกับชื่อ DNS สาธารณะ (เช่น "www.foobar.com")
  • คำขอลงชื่อใบรับรอง (CSR) คือรูปแบบข้อมูลที่รวมคีย์สาธารณะไว้ด้วยกันพร้อมกับข้อมูลเมตาบางอย่างเกี่ยวกับนิติบุคคลที่เป็นเจ้าของคีย์

คู่คีย์สาธารณะและส่วนตัวคืออะไร

คู่คีย์สาธารณะ/ส่วนตัวคือคู่ตัวเลขขนาดใหญ่มากซึ่งใช้เป็นคีย์การเข้ารหัสและถอดรหัส และมีความสัมพันธ์ทางคณิตศาสตร์เป็นพิเศษ ระบบทั่วไปสำหรับคู่คีย์คือการเข้ารหัส RSA คีย์สาธารณะใช้เพื่อเข้ารหัสข้อความ และข้อความจะถอดรหัสได้ก็ต่อเมื่อมีคีย์ส่วนตัวที่ตรงกัน เว็บเซิร์ฟเวอร์จะแสดงคีย์สาธารณะต่อโลก และไคลเอ็นต์ (เช่น เว็บเบราว์เซอร์) จะใช้คีย์ดังกล่าวเพื่อเริ่มต้นใช้งานแชแนลที่ปลอดภัยไปยังเซิร์ฟเวอร์ของคุณ

ผู้ออกใบรับรองคืออะไร

ผู้ออกใบรับรอง (CA) คือองค์กรที่รับรองการแมประหว่างคีย์สาธารณะกับชื่อ DNS สาธารณะ (เช่น "www.foobar.com") ตัวอย่างเช่น ลูกค้าจะรู้ได้อย่างไรว่าคีย์สาธารณะหนึ่งๆ เป็นคีย์สาธารณะจริงสำหรับ www.foobar.com เบื้องต้นเราไม่มีทางรู้ CA รับรองว่าคีย์หนึ่งๆ เป็นคีย์จริงของเว็บไซต์หนึ่งๆ โดยใช้คีย์ส่วนตัวของตนเองเพื่อเข้ารหัสเพื่อลงชื่อคีย์สาธารณะของเว็บไซต์ ลายเซ็นนี้ไม่สามารถปลอมแปลงได้ เบราว์เซอร์ (และไคลเอ็นต์อื่นๆ) จะดูแลที่เก็บ Anchor ที่น่าเชื่อถือซึ่งมีคีย์สาธารณะที่เป็นของ CA ที่มีชื่อเสียง และจะใช้คีย์สาธารณะเหล่านั้นเพื่อตรวจสอบลายเซ็นของ CA ด้วยวิทยาการเข้ารหัส

ใบรับรอง X.509 คือรูปแบบข้อมูลที่รวมคีย์สาธารณะไว้ด้วยกันพร้อมกับข้อมูลเมตาบางอย่างเกี่ยวกับนิติบุคคลที่เป็นเจ้าของคีย์ ในกรณีของเว็บ เจ้าของคีย์คือผู้ดำเนินการเว็บไซต์ และข้อมูลเมตาที่สําคัญคือชื่อ DNS ของเว็บเซิร์ฟเวอร์ เมื่อไคลเอ็นต์เชื่อมต่อกับเว็บเซิร์ฟเวอร์ HTTPS เว็บเซิร์ฟเวอร์จะแสดงใบรับรองเพื่อให้ไคลเอ็นต์ตรวจสอบ ไคลเอ็นต์จะยืนยันว่าใบรับรองยังไม่หมดอายุ ชื่อ DNS ตรงกับชื่อเซิร์ฟเวอร์ที่ไคลเอ็นต์พยายามเชื่อมต่อ และ CA ของ Anchor ที่น่าเชื่อถือได้ลงนามในใบรับรอง ในกรณีส่วนใหญ่ CA ไม่ได้ลงนามในใบรับรองของเว็บเซิร์ฟเวอร์โดยตรง โดยปกติจะมีเชนใบรับรองที่ลิงก์จุดยึดความน่าเชื่อถือกับผู้ลงนามระดับกลางหรือผู้ลงนาม และสุดท้ายไปยังใบรับรองของเว็บเซิร์ฟเวอร์เอง (เอนทิตีปลายทาง)

คำขอลงนามใบรับรองคืออะไร

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