ช่วงทดลองใช้ของ Origin: ข้อมูลเข้าสู่ระบบเซสชันที่ผูกกับอุปกรณ์ใน Chrome

ข้อมูลเข้าสู่ระบบเซสชันที่ผูกกับอุปกรณ์ (DBSC) เป็นความสามารถใหม่ของเว็บที่ออกแบบมาเพื่อปกป้องเซสชันของผู้ใช้จากการโจรกรรมคุกกี้และการลักลอบใช้เซสชัน ฟีเจอร์นี้พร้อมให้ทดสอบแล้วใน Chrome 135 ในฐานะเวอร์ชันทดลองของ Origin

ฉากหลัง

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

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

ข้อมูลเข้าสู่ระบบเซสชันที่ผูกกับอุปกรณ์ (DBSC) มีจุดประสงค์เพื่อขัดขวางการโจรกรรมคุกกี้ด้วยการสร้างเซสชันที่ตรวจสอบสิทธิ์ซึ่งเชื่อมโยงกับอุปกรณ์ วิธีนี้ช่วยลดโอกาสที่คุกกี้ที่รั่วไหลจะเข้าถึงบัญชีจากอุปกรณ์เครื่องอื่นได้

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

DBSC เปิดตัว API ใหม่ที่ช่วยให้เซิร์ฟเวอร์สร้างเซสชันที่ตรวจสอบสิทธิ์ซึ่งเชื่อมโยงกับอุปกรณ์ได้ เมื่อเริ่มเซสชันเบราว์เซอร์จะสร้างคู่คีย์สาธารณะและส่วนตัว โดยจัดเก็บคีย์ส่วนตัวอย่างปลอดภัยโดยใช้พื้นที่เก็บข้อมูลที่ได้รับการสนับสนุนจากฮาร์ดแวร์ เช่น Trusted Platform Module (TPM) หากมี

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

องค์ประกอบหลัก

  • การลงทะเบียนเซสชัน

    • เมื่อผู้ใช้เข้าสู่ระบบ เซิร์ฟเวอร์จะขอเซสชันที่เชื่อมโยงกับอุปกรณ์โดยใช้ส่วนหัว HTTP Sec-Session-Registration
    • เบราว์เซอร์จะสร้างคู่คีย์ใหม่โดยจัดเก็บคีย์ส่วนตัวอย่างปลอดภัย
    • ระบบจะสร้างคุกกี้การตรวจสอบสิทธิ์ที่มีอายุสั้นและเชื่อมโยงกับคู่คีย์นี้ด้วย
    • เซิร์ฟเวอร์จะเชื่อมโยงเซสชันกับคีย์สาธารณะที่เกี่ยวข้อง เพื่อให้มั่นใจว่าเซสชันจะใช้ได้บนอุปกรณ์เดิมเท่านั้น
  • การรีเฟรชเซสชันและหลักฐานการครอบครอง

    • เมื่อคุกกี้ที่มีอายุสั้นหมดอายุ Chrome จะทริกเกอร์การรีเฟรชเซสชัน
    • จากนั้นเบราว์เซอร์จะส่งคําขอไปยังปลายทางการรีเฟรชที่เซิร์ฟเวอร์กําหนด (ระบุไว้ระหว่างการลงทะเบียนเซสชัน) และหากเซิร์ฟเวอร์ระบุไว้ ก็จะส่งคําท้าที่ลงชื่อโดยใช้ส่วนหัว Sec-Session-Challenge
    • เซิร์ฟเวอร์จะยืนยันหลักฐานการครอบครองโดยการตรวจสอบการตอบกลับที่ลงนามด้วยคีย์ส่วนตัวของเซสชัน
    • หากถูกต้อง เซิร์ฟเวอร์จะออกคุกกี้ใหม่ที่มีอายุสั้น ซึ่งจะช่วยให้เซสชันดำเนินต่อไปได้

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

ตัวอย่างการใช้งาน

เซิร์ฟเวอร์สามารถขอเซสชันที่เชื่อมโยงกับอุปกรณ์ได้ดังนี้

HTTP/1.1 200 OK
Sec-Session-Registration: (ES256);path="/refresh";challenge="12345"

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

HTTP/1.1 401 Unauthorized
Sec-Session-Challenge: "verify-session"

เบราว์เซอร์จะตอบกลับด้วย

POST /refresh
Sec-Session-Response: "signed-proof"

ข้อดี

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

ข้อควรพิจารณาด้านความเป็นส่วนตัวและความปลอดภัย

DBSC ออกแบบมาเพื่อเพิ่มความปลอดภัยไปพร้อมกับรักษาความเป็นส่วนตัวของผู้ใช้

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

ลองเลย

ช่วงทดลองใช้ข้อมูลเข้าสู่ระบบเซสชันที่ผูกกับอุปกรณ์ใน Origin พร้อมใช้งานใน Chrome เวอร์ชัน 135

สำหรับการทดสอบในเครื่อง

วิธีทดสอบ DBSC ในเครื่อง

  • ไปที่ chrome://flags#device-bound-session-credentials แล้วเปิดใช้ฟีเจอร์

สำหรับการทดสอบแบบสาธารณะ

วิธีทดสอบ DBSC กับการทดลองใช้จากต้นทางในสภาพแวดล้อมสาธารณะ

  1. ไปที่หน้าการทดลองใช้ Chrome Origin และลงชื่อสมัครใช้
  2. เพิ่มโทเค็นที่ระบุลงในส่วนหัว HTTP ของเว็บไซต์

    Origin-Trial: <your-trial-token>
    

แหล่งข้อมูล

มีส่วนร่วมและกำหนดอนาคตของความปลอดภัยบนเว็บ

มาร่วมทำให้การตรวจสอบสิทธิ์บนเว็บปลอดภัยยิ่งขึ้น เราขอแนะนำให้นักพัฒนาเว็บทดสอบ DBSC ผสานรวมเข้ากับแอปพลิเคชัน และแชร์ความคิดเห็น คุณสามารถมีส่วนร่วมกับเราได้ใน GitHub หรือเข้าร่วมการสนทนากับกลุ่มทํางานด้านความปลอดภัยของเว็บแอป

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