HPKP คืออะไร?

HPKP เป็นส่วนหัวตอบกลับความปลอดภัยบนเว็บที่เลิกใช้แล้ว ตัวย่อย่อมาจาก HTTP Public Key Pins มีจุดประสงค์เพื่อป้องกันผู้ออกใบรับรองที่ถูกบุกรุกหรือหลอกลวงไม่ให้ออกใบรับรอง HTTPS ที่น่าเชื่อถือต่อสาธารณะ แต่ควบคุมโดยแฮ็กเกอร์สำหรับเว็บไซต์ ในสถานการณ์นี้ แฮกเกอร์จะสามารถถอดรหัสการรับส่งข้อมูล HTTPS ที่สกัดกั้นไปยังเว็บไซต์ที่ได้รับผลกระทบ

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

โครงสร้างพื้นฐานใบรับรอง HTTPS

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

เคล็ดลับ: CA สามารถมีใบรับรองระดับกลางที่ลงนามโดยใบรับรองหลักได้ ใบรับรองระดับกลางเหล่านี้ยังสามารถใช้เพื่อลงนามใบรับรอง HTTPS สำหรับเว็บไซต์

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

HPKP ทำอะไร?

ระบบใบรับรองทั้งหมดขึ้นอยู่กับความน่าเชื่อถือของผู้ออกใบรับรอง อย่างไรก็ตาม ในขั้นต้น ไม่มีการป้องกัน CA ที่ถูกแฮ็กเกอร์บุกรุกหรือหลอกลวงและเลือกออกใบรับรองอย่างไม่ถูกต้อง

HPKP ได้รับการออกแบบมาเพื่อป้องกันความเป็นไปได้นี้ อนุญาตให้เว็บไซต์ระบุรายการใบรับรองเฉพาะที่สามารถเชื่อถือได้สำหรับเว็บไซต์ในกระบวนการที่เรียกว่าการปักหมุด เป็นไปได้ที่จะตรึงใบรับรองหลักหรือใบรับรองระดับกลาง โดยพื้นฐานแล้วอนุญาตให้ CA เดียวออกใบรับรองสำหรับเว็บไซต์ได้ นอกจากนี้ยังสามารถปักหมุดใบรับรองของเว็บไซต์ได้เอง ป้องกันไม่ให้ CA ที่ถูกต้องออกใบรับรองอื่นที่ถูกต้อง

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

HPKP กำหนดให้มีการตรึงคีย์อย่างน้อยสองคีย์ อย่างน้อยหนึ่งคีย์ต้องเป็นข้อมูลสำรองและไม่ได้อยู่ในสายใบรับรองปัจจุบัน ข้อมูลสำรองนี้ช่วยให้คุณสามารถกำหนดค่าการส่งมอบที่ราบรื่นให้กับใบรับรองใหม่ซึ่งไม่ได้ป้องกันผู้ใช้จากการเชื่อมต่อ

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

โครงสร้างของ HPKP

ส่วนหัว HPKP มีส่วนบังคับสามส่วนและส่วนเสริมสองส่วน ส่วนหัวต้องมีชื่อว่า "Public-Key-Pins" ใบรับรองสองใบถัดไปจะต้องมีแฮช SHA256 ที่เข้ารหัส base64 ในรูปแบบ 'pin-sha256=""' ส่วนบังคับสุดท้ายคือ "อายุสูงสุด" ซึ่งนับเป็นวินาทีสำหรับระยะเวลาที่เบราว์เซอร์ควรใช้ข้อจำกัด

เคล็ดลับ: SHA256 คืออัลกอริธึมการแฮชที่ใช้โดย HPKP Base64 คือชุดอักขระที่มีอักขระ 64 ตัว: 0-9, az, AZ และอักขระพิเศษ “+” และ “/” “=” ใช้เพื่อขยายอักขระสองตัวสุดท้ายหากจำเป็น 

การตั้งค่าทางเลือกคือ “includeSubDomains” และ “report-uri” “includeSubDomains สั่งให้เบราว์เซอร์ใช้การป้องกัน HPKP กับโดเมนย่อยใดๆ ของเว็บไซต์ปัจจุบันในช่วงระยะเวลาของตัวจับเวลา “max-age” “report-uri” เป็นคุณสมบัติที่ช่วยให้สามารถระบุเว็บไซต์ที่สามารถส่งรายงานข้อผิดพลาดได้ และได้รับการออกแบบมาเพื่อช่วยระบุและแก้ไขปัญหา

มีรูปแบบที่สองของส่วนหัวที่ชื่อว่า "Public-Key-Pins-Report-Only" อย่างไรก็ตาม ทุกอย่างจะเหมือนเดิม อย่างไรก็ตาม หากพบข้อผิดพลาด จะไม่มีการดำเนินการใดนอกจากการส่งคืนข้อความแสดงข้อผิดพลาดไปยังเบราว์เซอร์และไปที่ "report-uri" หากมีการกำหนดค่าไว้ ตัวแปรเฉพาะของรายงานนี้ได้รับการออกแบบมาเพื่อให้สามารถทดสอบส่วนหัวได้เต็มรูปแบบก่อนนำไปใช้งาน โดยที่ข้อผิดพลาดจะไม่ทำให้เกิดปัญหากับผู้ใช้

ปัญหาเกี่ยวกับ HPKP

HPKP เลิกใช้ด้วยเหตุผลหลักสองประการ มีสองวิธีที่ส่วนหัวอาจทำให้เกิดปัญหาร้ายแรงสำหรับเว็บไซต์ที่ใช้ สิ่งเหล่านี้เรียกว่า HPKP Suicide และ Ransom PKP

HPKP Suicide เป็นปัญหาที่เจ้าของเว็บไซต์ที่ถูกกฎหมายไม่สามารถเข้าถึงคีย์ที่ตรึงไว้ทั้งหมดได้ สิ่งนี้อาจเกิดขึ้นจากการลบโดยไม่ตั้งใจ การแฮ็ก ไวรัส ข้อมูลเสียหาย หรือด้วยเหตุผลอื่นๆ มากมาย เนื่องจากความซับซ้อนของการนำ HPKP ไปใช้อย่างถูกต้อง และโดยเฉพาะอย่างยิ่งการปรับปรุงในระหว่างการหมุนเวียนใบรับรอง ข้อผิดพลาดในการกำหนดค่าจึงค่อนข้างง่าย อย่างไรก็ตาม ด้วย HPKP หากคุณทำผิดพลาด ผู้เยี่ยมชมเว็บไซต์ของคุณล่าสุดทั้งหมดจะถูกป้องกันไม่ให้เข้าถึงเว็บไซต์ของคุณตามระยะเวลาของตัวจับเวลา "อายุสูงสุด" เว็บไซต์ smashingmagazine.com ได้โพสต์บทความที่ให้รายละเอียดประสบการณ์กับปัญหานี้ ซึ่งทำให้เว็บไซต์ออฟไลน์สำหรับผู้เยี่ยมชมส่วนใหญ่เป็นเวลาสี่วันก่อนที่จะมีการแก้ไข

PKP ของค่าไถ่เป็นการโจมตีเชิงทฤษฎีที่แฮ็กเกอร์เข้าถึงเว็บเซิร์ฟเวอร์ จากนั้นขโมยใบรับรองและคีย์ที่เชื่อถือได้ทั้งหมด จากนั้นจึงเรียกค่าไถ่เพื่อส่งคืน ในการตั้งค่าปกติ คุณสามารถสร้างคีย์และใบรับรองใหม่ และให้เว็บไซต์สำรองและทำงานภายในเวลาไม่ถึงหนึ่งชั่วโมง อย่างไรก็ตาม เมื่อเปิดใช้งาน HPKP คีย์เหล่านั้นจะถูกตรึงไว้ หากคุณไม่สามารถให้บริการใบรับรองที่ตรึงไว้กับผู้ใช้ พวกเขาจะเข้าถึงเว็บไซต์ไม่ได้ในช่วงระยะเวลาของตัวจับเวลา "อายุสูงสุด" ขึ้นอยู่กับการกำหนดค่าและหากมีการสำรองข้อมูลอยู่ อาจไม่สามารถแก้ไขปัญหานี้ได้

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

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



Leave a Comment

แก้ไข: แอพที่ไม่ได้ปักหมุดกลับมาอีกครั้งใน Windows 11

แก้ไข: แอพที่ไม่ได้ปักหมุดกลับมาอีกครั้งใน Windows 11

หากแอพและโปรแกรมที่ไม่ได้ปักหมุดกลับมาที่แถบงาน คุณสามารถแก้ไขไฟล์ Layout XML และนำบรรทัดกำหนดเองออกไปได้

วิธีลบข้อมูลที่บันทึกจากการเติมข้อมูลอัตโนมัติของ Firefox

วิธีลบข้อมูลที่บันทึกจากการเติมข้อมูลอัตโนมัติของ Firefox

ลบข้อมูลที่บันทึกจากการเติมข้อมูลอัตโนมัติของ Firefox โดยทำตามขั้นตอนง่าย ๆ และรวดเร็วสำหรับอุปกรณ์ Windows และ Android.

วิธีการรีเซ็ต iPod Shuffle แบบซอฟต์และฮาร์ด

วิธีการรีเซ็ต iPod Shuffle แบบซอฟต์และฮาร์ด

ในบทเรียนนี้ เราจะแสดงวิธีการรีเซ็ตแบบซอฟต์หรือฮาร์ดบน Apple iPod Shuffle.

วิธีจัดการการสมัครสมาชิก Google Play ของคุณบน Android

วิธีจัดการการสมัครสมาชิก Google Play ของคุณบน Android

มีแอปที่ยอดเยี่ยมมากมายบน Google Play ที่คุณไม่สามารถช่วยได้แต่ต้องสมัครสมาชิก หลังจากนั้นรายการนั้นจะเพิ่มขึ้น และคุณจะต้องจัดการการสมัครสมาชิก Google Play ของคุณ

วิธีการใช้ Samsung Pay กับ Galaxy Z Fold 5

วิธีการใช้ Samsung Pay กับ Galaxy Z Fold 5

การค้นหาไพ่ที่ถูกต้องเพื่อชำระเงินในกระเป๋าของคุณอาจเป็นเรื่องยุ่งยาก ในช่วงไม่กี่ปีที่ผ่านมา บริษัทต่างๆ ได้พัฒนาและเปิดตัวโซลูชันการชำระเงินแบบไม่สัมผัส

วิธีลบประวัติการดาวน์โหลด Android

วิธีลบประวัติการดาวน์โหลด Android

การลบประวัติการดาวน์โหลด Android ช่วยเพิ่มพื้นที่จัดเก็บและยังมีประโยชน์อื่น ๆ อีกมากมาย นี่คือขั้นตอนที่ต้องทำตาม.

วิธีลบภาพถ่ายและวิดีโอจาก Facebook

วิธีลบภาพถ่ายและวิดีโอจาก Facebook

คู่มือนี้จะแสดงวิธีลบภาพถ่ายและวิดีโอจาก Facebook โดยใช้ PC, อุปกรณ์ Android หรือ iOS.

วิธีการคืนค่ากระดาน Galaxy Tab S9

วิธีการคืนค่ากระดาน Galaxy Tab S9

เราใช้เวลาสั้นๆ กับ Galaxy Tab S9 Ultra และมันเป็นแท็บเล็ตที่สมบูรณ์แบบสำหรับการจับคู่กับคอมพิวเตอร์Windows ของคุณหรือ Galaxy S23

วิธีปิดเสียงข้อความกลุ่มใน Android 11

วิธีปิดเสียงข้อความกลุ่มใน Android 11

ปิดเสียงข้อความกลุ่มใน Android 11 เพื่อควบคุมการแจ้งเตือนสำหรับแอพ Messages, WhatsApp และ Telegram.

Firefox: ล้างประวัติ URL บนแถบที่อยู่

Firefox: ล้างประวัติ URL บนแถบที่อยู่

ล้างประวัติ URL บนแถบที่อยู่ใน Firefox และเก็บเซสชันของคุณให้เป็นส่วนตัวโดยทำตามขั้นตอนที่เร็วและง่ายเหล่านี้.