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

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

คริส พาล์มเมอร์
คริส พาล์มเมอร์

สรุป

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

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

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

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

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

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

คำขอลงชื่อใบรับรองคืออะไร

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