ID บทความ: 000058511 ประเภทข้อมูล: การบำรุงรักษาและประสิทธิภาพ การตรวจสอบครั้งล่าสุด: 10/08/2021

การส่งผ่านขนาดใหญ่ไปยังการเข้าใช้งานไม่ได้เป็นเหตุให้เกิดการแบ่งหน้าใน Enclave Page Cache (EPC)

BUILT IN - ARTICLE INTRO SECOND COMPONENT
สรุปข้อมูล

วิธีการคัดลอกข้อมูลทั้งหมดจากโดเมนที่ไม่น่าเชื่อถือไปยังโดเมนที่เชื่อถือได้ของการเข้าใช้งานIntel® Software Guard Extensions (Intel® SGX)

คำอธิบาย

ประกาศ ecall ในไฟล์ Enclave Definition Language (EDL) เป็น:

โครงสร้างpair_t {
คีย์uint32_t;
คุณค่าuint32_t;
};

โครงสร้างtable_t {
สร้างคู่pair_t*
uint32_t num_pairs;
};

public sgx_status_t ecall_sort_table([in] struct table_t * rel);

ความจุ table_t อยู่ที่ 1.1 GB ซึ่งมีขนาดใหญ่กว่า EPC ขนาด 128 MB มาก หน่วยความจําที่ใช้ในการปิดล้อมนั้นน้อยกว่าหน่วยความจําที่จัดสรรไว้ของหน่วยความจําที่ใช้ในแอพพลิเคชั่นที่ไม่น่าเชื่อถือมากนัก และไม่มีการแบ่งหน้าใน EPC

ความละเอียด

คําจํากัดความของคําจํากัดความของฟังก์ชันดังกล่าวข้างต้นส่งผลให้เกิดสําเนาของคําจํากัดความอันตื้นเขิน การคัดลอกตื้นจะคัดลอกเฉพาะที่อยู่ของตัวชี้เท่านั้น ไม่ใช่ข้อมูลจริงที่อ้างอิงโดยตัวชี้ ในกรณีนี้ ที่อยู่ของตัวชี้จะถูกคัดลอกไปยังพื้นที่หน่วยความจําของ Enclave ใน EPC หรือโดเมนที่เชื่อถือได้ แต่ข้อมูลจะยังคงอยู่ในโดเมนที่ไม่น่าเชื่อถือ EPC ไม่ได้มีการแบ่งหน้า เนื่องจากข้อมูลส่วนใหญ่จะยังคงอยู่ในโดเมนที่ไม่น่าเชื่อถือ

ด้านล่างเป็นคําจํากัดความและคําประกาศที่ละเอียดซึ่งประกอบด้วยสําเนาแบบตื้นและแบบลึก ในการคัดลอกข้อมูลขนาดลึกไปยัง EPC ให้ประกาศส่วนต่างๆ ในไฟล์ EDL โดยใช้จํานวนและขนาดที่นักพัฒนาตั้งไว้

โครงสร้างpair_t {
คีย์uint32_t;
คุณค่าuint32_t;
};

การรายงานภาษีสิ่งเหล่านี้ส่งผลให้เกิดสําเนาคู่ที่มีตื้นๆ

โครงสร้างtable_t {
สร้างคู่pair_t*
uint32_t num_pairs;
};

การรายงานภาษีสินค้านี้ส่งผลให้เกิดสําเนาลึกของคู่นั้นๆ

โครงสร้างdeep_table_t {
[จํานวน = 1, ขนาด = 12] ทําลายคู่ pair_t*
uint32_t num_pairs;
};

 

เชื่อถือ {

ประกาศฟังก์ชันนี้ส่งผลให้เกิดสําเนาของ Rel ที่ตื้นๆ

sgx_status_t ecall_sort_tableสาธารณะ ([in] สร้างtable_t * rel);

ประกาศฟังก์ชันนี้ส่งผลให้เกิดสําเนาแบบลึกของฟังก์ชัน Rel

sgx_status_t ecall_deep_sort_tableสาธารณะ([in, count = 1] โครงสร้างdeep_table_t * rel);
};

หลังการคอมไพล์ให้ตรวจสอบenclave_t.c เพื่อดูฟังก์ชันพร็อกซีที่สร้างขึ้น ฟังก์ชันsgx_ecall_deep_sort_tableแสดงสําเนาลึกซ้ําจากหน่วยความจําที่ไม่น่าเชื่อถือไปจนถึงหน่วยความจําที่เชื่อถือได้

ข้อมูลเพิ่มเติม

ดูคําอธิบายอย่างละเอียดของชุดประกอบ Enums และ Unionsใน คู่มืออ้างอิงนักพัฒนาIntel® SGXสําหรับ Linux*เพื่อดูคําอธิบายอย่างละเอียดเกี่ยวกับวิธีทําสําเนาลึกขององค์ประกอบองค์ประกอบต่างๆ ขององค์ประกอบต่างๆ ไว้ในโดเมนที่เชื่อถือได้

หมาย เหตุคู่มืออ้างอิงนักพัฒนา Intel® Software Guard Extensions (Intel® SGX) ล่าสุดสําหรับ Linux* จะอยู่ในส่วน เอกสาร ของ Intel® Software Guard Extensions Linux Release*รุ่นล่าสุด

เครื่องมือ Edger8 จะสร้างฟังก์ชันพร็อกซีที่รวมข้อมูลระหว่างโดเมนที่ไม่น่าเชื่อถือและเชื่อถือได้โดยอัตโนมัติก่อนที่จะรวบรวมรหัส พารามิเตอร์ จํานวน และ ขนาด ในไฟล์ EDL จะบอกเครื่องมือ Edger8 ว่าต้องคัดลอกหน่วยความจําในฟังก์ชันพร็อกซีเท่าใด

ผลิตภัณฑ์ที่เกี่ยวข้อง

บทความนี้จะนำไปใช้กับ 1 ผลิตภัณฑ์

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