ORAM ในพื้นที่จัดเก็บบนคลาวด์และตัวประมวลผลที่ปลอดภัย
สำรวจการประยุกต์ใช้ ORAM ในสภาพแวดล้อมการประมวลผลที่เชื่อถือได้ (SGX, TrustZone) และฐานข้อมูลคลาวด์ที่เข้ารหัส
ORAM ในพื้นที่จัดเก็บบนคลาวด์และตัวประมวลผลที่ปลอดภัย เป็นบทเรียน Cryptology Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cryptology Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cryptology Academy มีบทเรียนทั้งหมด 4 บทเรียน
Intel SGX และการรั่วไหลของรูปแบบการเข้าถึง
Intel SGX (ส่วนขยายการปกป้องซอฟต์แวร์) จัดเตรียมพื้นที่ประมวลผลแยกที่ได้รับการปกป้องด้วยฮาร์ดแวร์ ซึ่งรหัสและข้อมูลถูกเข้ารหัสและตรวจสอบความถูกต้อง อย่างไรก็ตาม ระบบปฏิบัติการยังสามารถสังเกตได้ว่าพื้นที่ประมวลผลแยกเข้าถึงหน้าหน่วยความจำใด โดยตรวจสอบรายการในตารางหน้า รูปแบบการเข้าถึงระดับหน้านี้สามารถนำไปใช้ในการโจมตีช่องทางข้างเคียงได้ การโจมตีแบบคลาสสิกคือ "การโจมตีช่องทางควบคุม" โดย Xu, Cui และ Peinado (2015) ซึ่งกู้คืนกุญแจ RSA จากรูปแบบการเข้าถึงหน่วยความจำของ SGX
ช่องทางข้างเคียงจากเวลาแคชใน SGX
นอกเหนือจากรูปแบบการเข้าถึงระดับหน้าแล้ว SGX ยังเสี่ยงต่อช่องทางข้างเคียงจากเวลาแคช ผู้โจมตีที่ใช้ตัวประมวลผลร่วมกันสามารถสังเกตการพบข้อมูลในแคชและการไม่พบข้อมูลในแคชที่เกิดจากพื้นที่ประมวลผลแยก แล้วอนุมานรูปแบบการเข้าถึงในระดับละเอียด เช่น ระดับบรรทัดแคช การโจมตีเหล่านี้เกิดขึ้นได้เพราะแคชของตัวประมวลผลถูกใช้ร่วมกันระหว่างพื้นที่ประมวลผลแยกกับรหัสที่ไม่ไว้วางใจ มาตรการลดความเสี่ยงประกอบด้วยการเขียนโปรแกรมแบบเวลาเสมอต้นเสมอปลายและการใช้ ORAM เพื่อสุ่มรูปแบบการเข้าถึงหน่วยความจำ
ZeroTrace: ORAM ภายใน SGX
ZeroTrace (Sasy, Jha, Kerschbaum, 2018) นำ ORAM แบบเส้นทางมาใช้งานภายในพื้นที่ประมวลผลแยกของ Intel SGX เพื่อจัดให้มีการเข้าถึงหน่วยความจำแบบปกปิดการเข้าถึง ระบบปฏิบัติการแม่ข่ายที่ไม่ไว้วางใจทำหน้าที่จัดเตรียมแม่ข่าย ORAM (ต้นไม้ทวิภาคของถัง) ขณะที่พื้นที่ประมวลผลแยกของ SGX ทำหน้าที่เป็นลูกข่าย ORAM ZeroTrace เพิ่มการปรับปรุงเฉพาะสำหรับ SGX โดยเก็บแผนผังตำแหน่งไว้ภายในพื้นที่ประมวลผลแยก (หน่วยความจำที่เชื่อถือได้) จึงไม่ต้องใช้ ORAM แบบเรียกซ้ำสำหรับแผนผังตำแหน่ง
การผสาน ORAM ของ Graphene-SGX และ SCONE
Graphene-SGX (ปัจจุบันคือ Gramine) และ SCONE เป็นกรอบงานคอนเทนเนอร์ SGX ที่ช่วยให้สามารถเรียกใช้แอปพลิเคชัน Linux ที่ไม่ได้แก้ไขภายในพื้นที่ประมวลผลแยกได้ กรอบงานทั้งสองได้รับการขยายให้รองรับ ORAM เพื่อปกปิดรูปแบบการเข้าถึงจากระบบปฏิบัติการ การผสาน ORAM เข้ากับ SCONE ช่วยให้สามารถเรียกใช้โปรแกรม Python, Go และ Java ใน SGX แบบปกปิดการเข้าถึงได้โดยไม่ต้องแก้ไขรหัส ทำให้แอปพลิเคชันต่าง ๆ ใช้ ORAM ได้โดยไม่ต้องผสานระบบด้วยตนเอง
Shroud: โครงสร้างข้อมูลแบบปกปิดการเข้าถึงสำหรับ SGX
Shroud (Volos, Jaleel, Emer, Burtscher, Forlin, 2018) นำโครงสร้างข้อมูลพื้นฐานแบบปกปิดการเข้าถึง เช่น แถวลำดับ กองซ้อน คิว และแผนที่ มาใช้งานภายในพื้นที่ประมวลผลแยกของ SGX Shroud ใช้การผสมผสานระหว่าง ORAM กับอัลกอริทึมที่ไม่ขึ้นกับข้อมูล เพื่อให้แน่ใจว่ารูปแบบการเข้าถึงหน่วยความจำของพื้นที่ประมวลผลแยกจะไม่ขึ้นอยู่กับค่าข้อมูล วิธีนี้มีประสิทธิภาพมากกว่าการใช้ ORAM กับหน่วยความจำของแอปพลิเคชันทั้งหมด เพราะมุ่งปกป้องเฉพาะโครงสร้างข้อมูลที่อ่อนไหว
AWS Nitro Enclaves และการรักษาความลับของหน่วยความจำ
AWS Nitro Enclaves จัดเตรียมสภาพแวดล้อมการคำนวณที่แยกออกมาสำหรับประมวลผลข้อมูลที่อ่อนไหวอย่างยิ่ง เช่น หมายเลขบัตรชำระเงินและเวชระเบียน ต่างจาก SGX ตรงที่ Nitro Enclaves แยกการทำงานในระดับเครื่องเสมือนแทนระดับกระบวนการ AWS ไม่ได้จัดเตรียม ORAM มาให้โดยค่าเริ่มต้นใน Nitro Enclaves แต่การรับรองความลับครอบคลุมเนื้อหาหน่วยความจำ หากต้องการรักษาความเป็นส่วนตัวของรูปแบบการเข้าถึง แอปพลิเคชันที่ทำงานใน Nitro Enclaves ต้องนำ ORAM มาใช้งานเอง
การประยุกต์ใช้ ORAM บน ARM TrustZone
ARM TrustZone จัดเตรียมสภาพแวดล้อมการทำงานที่เชื่อถือได้ (โลกปลอดภัย) ซึ่งแยกออกจากระบบปฏิบัติการปกติ เช่นเดียวกับ SGX ตรงที่ TrustZone ไม่ได้ปกปิดรูปแบบการเข้าถึงหน่วยความจำโดยธรรมชาติ ระบบวิจัย เช่น TrustORAM (Brasser, Dmitrienko, Sadeghi, Crane, Larsen, Franz) นำ ORAM มาใช้งานภายใน TrustZone เพื่อปกป้องการเข้าถึงข้อมูลที่อ่อนไหวบนอุปกรณ์เคลื่อนที่และอุปกรณ์อินเทอร์เน็ตของสรรพสิ่ง TrustZone มีอยู่ในตัวประมวลผล ARM สมัยใหม่ทั้งหมด จึงทำให้ TrustZone ที่รองรับ ORAM สามารถนำไปใช้งานได้อย่างกว้างขวาง
ObliDB และ Opaque: ฐานข้อมูลแบบปกปิดการเข้าถึง
ObliDB (Eskandarian และ Boneh, 2017) เป็นฐานข้อมูลแบบปกปิดการเข้าถึงที่ซ่อนรูปแบบการเข้าถึงสำหรับคำสั่ง SQL มาตรฐาน ระบบใช้ ORAM สำหรับคำค้นแบบเจาะจงและใช้การเรียงลำดับแบบปกปิดสำหรับคำค้นแบบช่วง Opaque (Zheng, Dave, Beekman, Popa, Hellerstein, Stoica, 2017) เรียกใช้คำสั่ง SQL แบบปกปิดการเข้าถึงบน Apache Spark โดยใช้ Intel SGX และ ORAM Opaque แสดงให้เห็นว่าการวิเคราะห์ข้อมูลระดับใช้งานจริง ซึ่งมีระเบียนหลายล้านรายการ สามารถทำได้แม้มีค่าใช้จ่ายส่วนเกินจาก ORAM
การดึงข้อมูลโดยรักษาความเป็นส่วนตัว
การดึงข้อมูลโดยรักษาความเป็นส่วนตัว (PIR) เป็นกลไกพื้นฐานที่เกี่ยวข้องสำหรับการอ่านอย่างเดียวและการปกปิดรูปแบบการเข้าถึง PIR ช่วยให้ลูกข่ายดึงองค์ประกอบจากฐานข้อมูลได้โดยที่แม่ข่ายไม่ทราบว่าดึงองค์ประกอบใด การดึงข้อมูลโดยใช้การคำนวณ (cPIR) ทำได้โดยมีค่าใช้จ่ายด้านพื้นที่เก็บข้อมูลของแม่ข่าย O(1) และการสื่อสาร O(sqrt(n)) หรือ O(polylog n) PIR มีประสิทธิภาพมากกว่า ORAM สำหรับงานที่อ่านอย่างเดียว แต่ไม่รองรับการเขียนแบบปกปิดการเข้าถึง
ข้อแลกเปลี่ยนระหว่าง ORAM กับ PIR
สำหรับการเข้าถึงแบบอ่านอย่างเดียว PIR ใช้การสื่อสารได้มีประสิทธิภาพกว่า ORAM โดย cPIR ที่ใช้แม่ข่ายเดียวต้องการการสื่อสาร O(n^epsilon) ขณะที่ ORAM ต้องใช้บล็อก O(log n) ต่อการเข้าถึง อย่างไรก็ตาม PIR ต้องใช้การคำนวณฝั่งแม่ข่าย ซึ่งแปรผันเชิงเส้นตามขนาดฐานข้อมูลสำหรับ PIR ที่ใช้แม่ข่ายเดียว ขณะที่ ORAM ให้การคำนวณทั้งหมดเกิดขึ้นที่ลูกข่าย PIR หลายแม่ข่าย ซึ่งปลอดภัยในเชิงสารสนเทศเมื่อใช้แม่ข่าย 2 แห่งที่ไม่ร่วมมือกัน มีประสิทธิภาพสูงมากและเหมาะสำหรับการนำไปใช้งานบน CDN
แนวทางการพัฒนา ORAM ในอนาคต
แนวทางการวิจัยด้าน ORAM ประกอบด้วยการลดค่าใช้จ่ายด้านการสื่อสารให้เข้าใกล้ขอบเขตล่างเชิงทฤษฎี O(log n) โดย OptORAMa บรรลุขอบเขตนี้ในเชิงลำดับการเติบโต การพัฒนา ORAM สำหรับ RAM ควอนตัม (QRAM) การพัฒนา ORAM ที่รักษาความเป็นส่วนตัวเชิงอนุพันธ์ (ปกปิดว่ามีการเข้าถึงบล็อกเดิมซ้ำหรือไม่) และการใช้ ORAM ร่วมกับการเข้ารหัสที่คำนวณบนข้อมูลที่เข้ารหัสได้ (FHE-ORAM สำหรับการคำนวณที่ว่าจ้างภายนอก) การผสาน ORAM เข้ากับสภาพแวดล้อมการทำงานที่เชื่อถือได้บนฮาร์ดแวร์ยังคงเป็นแนวทางการวิจัยที่ส่งผลต่อการใช้งานจริงมากที่สุด
แบบทดสอบรูปแบบการเข้าถึงของ SGX
เหตุใด Intel SGX เพียงอย่างเดียวจึงไม่สามารถป้องกันการรั่วไหลของรูปแบบการเข้าถึงได้อย่างสมบูรณ์
สรุป ORAM ในที่เก็บข้อมูลบนคลาวด์และตัวประมวลผลที่ปลอดภัย
Intel SGX เปิดเผยรูปแบบการเข้าถึงระดับหน้าและระดับแคช ทำให้เกิดการโจมตีช่องทางควบคุมและการโจมตีจากเวลาแคช ZeroTrace นำ ORAM แบบเส้นทางมาใช้งานภายใน SGX เพื่อกำจัดการรั่วไหลเหล่านี้ Graphene-SGX และ SCONE จัดเตรียมการผสาน ORAM ในระดับคอนเทนเนอร์ ObliDB และ Opaque แสดงให้เห็นการใช้ SQL แบบปกปิดการเข้าถึงบน ORAM ในระดับใช้งานจริง PIR เป็นทางเลือกที่มีประสิทธิภาพสำหรับการเข้าถึงแบบอ่านอย่างเดียว การวิจัย ORAM ยังคงมุ่งสู่ขอบเขตล่างของการสื่อสาร log n และการผสานเข้ากับการเข้ารหัสแบบคำนวณบนข้อมูลที่เข้ารหัสได้
เรียนรู้ Cryptology Academy ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 67
- บทเรียน
- 261
คำถามที่พบบ่อย
บทเรียน “ORAM ในพื้นที่จัดเก็บบนคลาวด์และตัวประมวลผลที่ปลอดภัย” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ORAM ในพื้นที่จัดเก็บบนคลาวด์และตัวประมวลผลที่ปลอดภัย” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cryptology Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cryptology Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ORAM ในพื้นที่จัดเก็บบนคลาวด์และตัวประมวลผลที่ปลอดภัย”
สำรวจการประยุกต์ใช้ ORAM ในสภาพแวดล้อมการประมวลผลที่เชื่อถือได้ (SGX, TrustZone) และฐานข้อมูลคลาวด์ที่เข้ารหัส คุณปฏิบัติ Cryptology Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cryptology Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cryptology Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “ORAM ในพื้นที่จัดเก็บบนคลาวด์และตัวประมวลผลที่ปลอดภัย” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Cryptology Academy นี้ได้ไหม
ได้ บทเรียน Cryptology Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ภัยคุกคามจากการรั่วไหลของรูปแบบการเข้าถึง
- Path ORAM: การซ่อนการเข้าถึงหน่วยความจำ
- Circuit ORAM และประสิทธิภาพในการใช้งานจริง
- ORAM ในพื้นที่จัดเก็บบนคลาวด์และตัวประมวลผลที่ปลอดภัย