แรมที่หลงลืมคืออะไรและทำงานอย่างไร


9

ใครช่วยอธิบายให้ฉันทราบว่าแรมที่หลงลืมคืออะไร?

ฉันพบคำอธิบายต่อไปนี้ซึ่งทำให้ชัดเจนสำหรับฉัน แต่ฉันต้องการทราบแง่มุมทางเทคนิค:

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


มีเทคนิคอะไรบ้าง? มันทำบนชิปได้อย่างไร?
ราฟาเอล

ฉันได้อ่านแล้วว่าไคลเอนต์ต้องการขนาดหน่วยความจำที่เจาะจงขอให้บอกว่า O (n ^ 1 / r) ด้วย r> 1 โดยที่เซิร์ฟเวอร์มีหน่วยความจำขนาด n คำถามของฉันคือสิ่งที่เกิดขึ้นฝั่งไคลเอ็นต์ที่ลูกค้าต้องการหน่วยความจำของตัวเอง
Merlijn

ไม่จำเป็นในโปรโตคอล ORAM ที่ใช้ทรีและเลื่อนดาต้าพอยน์ลงคุณสามารถใช้แนวคิดเช่นการแคช L1 / L2 / L3 เพื่อถ่ายหน่วยความจำเพิ่มเติมลงบนเซิร์ฟเวอร์เพื่อให้ไคลเอ็นต์ต้องการเก็บหน่วยความจำ O (1) เท่านั้น แต่หากไม่มีส่วนขยายนี้ไคลเอ็นต์จะเก็บรายการดัชนี
วอนตัมตอร์

คำตอบ:


10

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

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.