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

วิธีบังคับให้ Google Chrome แสดง URL แบบเต็มเสมอ

วิธีบังคับให้ Google Chrome แสดง URL แบบเต็มเสมอ

ตามค่าเริ่มต้น Chrome จะไม่แสดง URL แบบเต็มให้คุณเห็น คุณอาจไม่สนใจรายละเอียดนี้มากเกินไป แต่ถ้าคุณต้องการแสดง URL แบบเต็มด้วยเหตุผลบางประการ คำแนะนำโดยละเอียดเกี่ยวกับวิธีทำให้ Google Chrome แสดง URL แบบเต็มในแถบที่อยู่

วิธีรับ Reddit เก่ากลับมา

วิธีรับ Reddit เก่ากลับมา

Reddit เปลี่ยนการออกแบบอีกครั้งในเดือนมกราคม 2024 ผู้ใช้เบราว์เซอร์เดสก์ท็อปสามารถเห็นการออกแบบใหม่และทำให้ฟีดหลักแคบลงในขณะที่ให้ลิงก์

วิธีคัดลอกเนื้อหาจากหนังสือเรียนด้วย Google Lens

วิธีคัดลอกเนื้อหาจากหนังสือเรียนด้วย Google Lens

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

แก้ไขที่อยู่ DNS ของเซิร์ฟเวอร์ไม่พบใน Chrome

แก้ไขที่อยู่ DNS ของเซิร์ฟเวอร์ไม่พบใน Chrome

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

คำแนะนำฉบับย่อเกี่ยวกับวิธีสร้างการเตือนความจำบนหน้าแรกของ Google

คำแนะนำฉบับย่อเกี่ยวกับวิธีสร้างการเตือนความจำบนหน้าแรกของ Google

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

Netflix: เปลี่ยนรหัสผ่าน

Netflix: เปลี่ยนรหัสผ่าน

วิธีเปลี่ยนรหัสผ่านของคุณในบริการวิดีโอสตรีมมิ่งของ Netflix โดยใช้เบราว์เซอร์หรือแอป Android ที่คุณต้องการ

Apple Music กับ YouTube Music: ไหนดีกว่ากัน?

Apple Music กับ YouTube Music: ไหนดีกว่ากัน?

YouTube Music เป็นผู้สืบทอดต่อจาก Google Play Music มาตั้งแต่ปี 2560 เช่นเดียวกับ Apple Music และ Spotify YouTube Music ได้กลายเป็นหนึ่งในบริการสตรีมเพลงที่ได้รับความนิยมมากที่สุด

เหตุใด PlayStation 5 (PS5) ของคุณจึงล่าช้าและ 10 วิธีในการแก้ไขปัญหา

เหตุใด PlayStation 5 (PS5) ของคุณจึงล่าช้าและ 10 วิธีในการแก้ไขปัญหา

คุณมีปัญหาในการเพลิดเพลินกับประสบการณ์การเล่นเกม PlayStation 5 (PS5) เนื่องจากความล่าช้ามากเกินไปหรือไม่ ถ้าเป็นเช่นนั้นคุณไม่ได้อยู่คนเดียว

8 วิธียอดนิยมในการแก้ไขข้อผิดพลาด “DNS ไม่สามารถแก้ไขชื่อเซิร์ฟเวอร์ Xbox”

8 วิธียอดนิยมในการแก้ไขข้อผิดพลาด “DNS ไม่สามารถแก้ไขชื่อเซิร์ฟเวอร์ Xbox”

ในฐานะเกมเมอร์ ไม่มีอะไรน่าหงุดหงิดไปกว่าการเตรียมพร้อมเล่นเกม Xbox ออนไลน์ที่คุณชื่นชอบ แต่กลับถูกหยุดโดยข้อผิดพลาด “DNS ไม่แก้ไขชื่อเซิร์ฟเวอร์ Xbox” ที่น่าสะพรึงกลัว นั่นหมายถึงอะไร

Snapchat “My Eyes Only”: ความหมายและวิธีตั้งค่า

Snapchat “My Eyes Only”: ความหมายและวิธีตั้งค่า

เราทุกคนมี Snaps ที่ต้องการเก็บไว้เป็นส่วนตัว ไม่ว่าจะเป็นรูปภาพส่วนตัว หรือสิ่งที่คุณไม่อยากให้ใครใช้โทรศัพท์ของคุณเห็น คุณสามารถสร้างเรื่องราวส่วนตัวบน Snapchat ได้แล้ว และตอนนี้สำหรับ Snaps ส่วนตัวพิเศษเหล่านั้น คุณสามารถปกป้องความเป็นส่วนตัว Snapchat ของคุณด้วยฟีเจอร์ My Eyes Only Snapchat