Sigstore ประกาศระบบการตรวจสอบด้วยการเข้ารหัสลับ

Google ประกาศการก่อตัวของส่วนประกอบที่เสถียรรุ่นแรกที่สร้างโครงการ Sigstore ซึ่งได้รับการประกาศว่าเหมาะสำหรับการสร้างการใช้งาน Sigstore พัฒนาเครื่องมือและบริการสำหรับการตรวจสอบซอฟต์แวร์โดยใช้ลายเซ็นดิจิทัลและการรักษาบันทึกสาธารณะเพื่อยืนยันความถูกต้องของการเปลี่ยนแปลง (บันทึกความโปร่งใส) โครงการนี้ได้รับการพัฒนาภายใต้การอุปถัมภ์ขององค์กรที่ไม่แสวงหาผลกำไร Linux Foundation โดย Google, Red Hat, Cisco, vmWare, GitHub และ HP Enterprise โดยการมีส่วนร่วมขององค์กร OpenSSF (Open Source Security Foundation) และมหาวิทยาลัย Purdue

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

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

ความพร้อมในการใช้งานของ Sigstore เกิดจากการเผยแพร่องค์ประกอบหลักสองประการ ได้แก่ Rekor 1.0 และ Fulcio 1.0 ซึ่งเป็นอินเทอร์เฟซซอฟต์แวร์ที่ได้รับการประกาศว่ามีเสถียรภาพและจะยังคงสามารถใช้งานร่วมกันแบบย้อนหลังได้ ส่วนประกอบบริการเขียนด้วยภาษา Go และเผยแพร่ภายใต้ลิขสิทธิ์ Apache 2.0

ส่วนประกอบ Rekor มีการใช้งานบันทึกสำหรับการจัดเก็บข้อมูลเมตาที่เซ็นชื่อแบบดิจิทัลซึ่งสะท้อนถึงข้อมูลเกี่ยวกับโครงการ เพื่อให้มั่นใจในความสมบูรณ์และป้องกันข้อมูลเสียหายภายหลังเหตุการณ์ดังกล่าว จึงมีการใช้โครงสร้างต้นไม้ Merkle Tree ซึ่งแต่ละสาขาจะตรวจสอบสาขาและโหนดพื้นฐานทั้งหมดผ่านการแฮชร่วม (ต้นไม้) เมื่อมีแฮชสุดท้าย ผู้ใช้สามารถตรวจสอบความถูกต้องของประวัติการดำเนินการทั้งหมด รวมถึงความถูกต้องของสถานะที่ผ่านมาของฐานข้อมูล (แฮชการตรวจสอบรูทของสถานะใหม่ของฐานข้อมูลจะถูกคำนวณโดยคำนึงถึงสถานะที่ผ่านมา ). RESTful API มีไว้สำหรับการตรวจสอบและเพิ่มบันทึกใหม่ รวมถึงอินเทอร์เฟซบรรทัดคำสั่ง

ส่วนประกอบ Fulcio (SigStore WebPKI) มีระบบสำหรับการสร้างหน่วยงานออกใบรับรอง (CA รูท) ที่ออกใบรับรองอายุสั้นตามอีเมลที่ได้รับการตรวจสอบสิทธิ์ผ่าน OpenID Connect อายุการใช้งานของใบรับรองคือ 20 นาที ในระหว่างนี้นักพัฒนาจะต้องมีเวลาในการสร้างลายเซ็นดิจิทัล (หากใบรับรองตกไปอยู่ในมือของผู้โจมตีในภายหลัง ใบรับรองนั้นจะหมดอายุไปแล้ว) นอกจากนี้ โปรเจ็กต์กำลังพัฒนาชุดเครื่องมือ Cosign (Container Signing) ที่ออกแบบมาเพื่อสร้างลายเซ็นสำหรับคอนเทนเนอร์ ตรวจสอบลายเซ็น และวางคอนเทนเนอร์ที่ลงนามแล้วในพื้นที่เก็บข้อมูลที่เข้ากันได้กับ OCI (Open Container Initiative)

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

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

ที่มา: opennet.ru

เพิ่มความคิดเห็น