Tags:
Node Thumbnail

Docker ร่วมกับ BastionZero สร้างโครงการ OpenPubkey ที่เปิดโอกาสให้ผู้ใช้ที่ล็อกอินผ่านทาง OpenID Connect (OIDC) อยู่แล้ว สามารถสร้างกุญแจ public/private ของตัวเองเพื่อนำไปเซ็นเอกสารหรือไฟล์อื่นๆ ได้

OpenPubkey นับเป็นหนึ่งในความพยายามสร้างระบบการพัฒนาซอฟต์แวร์ที่ปลอดภัย โดยแต่ละชิ้นส่วนของซอฟต์แวร์สามารถยืนยันได้ว่าใครเป็นผู้พัฒนาขึ้นมาผ่านทางการเซ็นลายเซ็นดิจิทัล ก่อนหน้านี้โครงการคล้ายกันคือ Sigstore ที่สร้าง certification authority ขึ้นมาและยืนยันตัวคนผู้ใช้ผ่านทางการล็อกอิน OIDC เพื่อออกกุญแจไปเซ็นเอกสารเหมือนกัน แต่ OpenPubkey นั้นตัดการสร้าง certification authority ออกไปเลย และใช้ลายเซ็นดิจิทัลของ IdP (ผู้ให้บริการล็อกอิน เช่น Google, Azure AD, Facebook) เป็นตัวยืนยันความถูกต้อง

ในการล็อกอิน OIDC นั้นเปิดให้ผู้ใช้สามารถส่งข้อมูลใดๆ เข้าไปในฟิลด์ nonce แนวทางของ OpenPubkey คือใส่ค่าแฮช SHA-3 ของกุญแจสาธารณะเข้าไปในฟิลด์นี้เลย เมื่อกระบวนการล็อกอิน ทำให้ผุ้ที่ต้องการยืนยันว่ากุญแจสาธารณะเป็นผู้ใช้คนหนึ่งๆ จริงหรือไม่ ก็ยืนยันกระบวนการแบบเดียวกับการตรวจสอบ ID token  ที่ใช้สำหรับล็อกอินเว็บต่างๆ

ฟาก Sigstore ที่เป็นคู่แข่งโดยตรงออกมายอมรับว่า OpenPubkey นั้นเรียบง่ายกว่าจริง แต่ก็แลกมาด้วยข้อจำกัดบางอย่าง เช่น หาก IdP เปลี่ยนกุญแจที่ใช้เซ็น ID token ไปจะไม่มีหลักฐานเชื่อมโยงไปถึงกุญแจเก่าๆ ว่าเป็นกุญแจของผู้ใช้จริงๆ ไหม อีกประเด็นคือการใส่ ID token เพื่อแจกเป็นเหมือนกุญแจสาธารณะนั้นนับเป็นเรื่องอันตราย แม้ผู้ใช้สามารถสร้าง ID token สำหรับการออกกุญแจสาธารณะเท่านั้นแบบเดียวกับที่เราล็อกอินบริการต่างๆ ผ่าน Facebook/Google แล้วแต่ละบริการสามารถขอเข้าถึงข้อมูลได้ต่างกัน แต่ก็มีเหตุที่บริการบางตัวไม่ได้เช็คค่า claim ที่เป็นตัวกำหนดว่า ID token นั้นใช้ทำอะไรได้บ้าง ส่งผลให้คนที่ได้ ID token ไปอาจจะเข้าถึงข้อมูลได้มากกว่าที่คิด

ทาง Docker ระบุว่าจะนำ OpenPubkey มาใช้เซ็น container ในอนาคตเพื่อเพิ่มความปลอดภัยซอฟต์แวร์ และตอนนี้โครงการดูแลโดย Linux Foundation

ที่มา - The Linux Foundation, BationZero

No Description

Get latest news from Blognone

Comments

By: VirtualPrivateUser on 7 October 2023 - 00:09 #1296080

ย่อหน้าที่ 3 บรรทัดที่ 4
ผุ้ที่ต้องการยืนยัย => ผู้ที่ต้องการยืนยัน