Google is committed to advancing racial equity for Black communities. See how.
หน้านี้ได้รับการแปลโดย Cloud Translation API
Switch to English

ที่เก็บข้อมูลที่นำมาใช้

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

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

เมื่อผู้ใช้ใส่สื่อบันทึกข้อมูลใหม่ (เช่นการ์ด SD) ในตำแหน่งที่นำมาใช้ได้ Android จะถามพวกเขาว่าต้องการใช้สื่ออย่างไร พวกเขาสามารถเลือกที่จะใช้สื่อรูปแบบและเข้ารหัสหรือสามารถใช้งานต่อไปได้ตามที่เป็นอยู่สำหรับการจัดเก็บไฟล์อย่างง่าย หากพวกเขาเลือกที่จะนำมาใช้แพลตฟอร์มจะเสนอให้ย้ายเนื้อหาหน่วยเก็บข้อมูลหลักที่ใช้ร่วมกัน (โดยทั่วไปจะติดตั้งที่ /sdcard ) ไปยังสื่อที่นำมาใช้ใหม่ซึ่งจะเพิ่มพื้นที่อันมีค่าในที่จัดเก็บข้อมูลภายใน ซึ่งแตกต่างจากพื้นที่จัดเก็บข้อมูลแบบดั้งเดิมซึ่ง จำกัด ไว้ที่ 2TB เนื่องจากการใช้ MBR พื้นที่เก็บข้อมูลที่นำมาใช้จะใช้ GPT ดังนั้นจึงมีขีด จำกัด การจัดเก็บไฟล์ที่ ~ 9ZB

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

ความปลอดภัย

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

หากอุปกรณ์ได้รับการกำหนดค่าให้ใช้ การเข้ารหัสตามไฟล์ (FBE) ในที่จัดเก็บข้อมูลภายในพื้นที่จัดเก็บข้อมูลที่นำมาใช้จะใช้ทั้ง การเข้ารหัส FBE และ ข้อมูลเมตา มิฉะนั้นพื้นที่เก็บข้อมูลที่นำมาใช้จะใช้ การเข้ารหัสแบบเต็มดิสก์ (FDE)

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

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

หากอุปกรณ์ของคุณใช้ FBE โปรดดู เอกสาร FBE และ เอกสาร การ เข้ารหัสข้อมูลเมตา สำหรับวิธีกำหนดค่าการเข้ารหัส FBE และข้อมูลเมตาบนที่เก็บข้อมูลที่นำมาใช้ได้

ประสิทธิภาพและเสถียรภาพ

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

เมื่อผู้ใช้ใช้อุปกรณ์จัดเก็บข้อมูลใหม่แพลตฟอร์มจะเรียกใช้เกณฑ์มาตรฐานและเปรียบเทียบประสิทธิภาพกับที่จัดเก็บข้อมูลภายใน หากอุปกรณ์ที่นำมาใช้ช้ากว่าที่จัดเก็บข้อมูลภายในอย่างมากแพลตฟอร์มจะเตือนผู้ใช้เกี่ยวกับประสบการณ์ที่อาจลดลง เกณฑ์มาตรฐานนี้ได้มาจากพฤติกรรม I / O จริงของแอป Android ยอดนิยม ในปัจจุบันการใช้งาน AOSP จะเตือนผู้ใช้ที่เกินเกณฑ์เดียวเท่านั้น แต่ผู้ผลิตอุปกรณ์อาจปรับเปลี่ยนเพิ่มเติมได้เช่นการปฏิเสธการนำไปใช้โดยสิ้นเชิงหากการ์ดทำงานช้ามาก

อุปกรณ์ที่นำมาใช้ต้องได้รับการจัดรูปแบบด้วยระบบไฟล์ที่รองรับสิทธิ์ POSIX และแอตทริบิวต์เพิ่มเติมเช่น ext4 หรือ f2fs เพื่อประสิทธิภาพสูงสุดระบบไฟล์ f2fs ขอแนะนำสำหรับอุปกรณ์จัดเก็บข้อมูลที่ใช้แฟลช

เมื่อดำเนินการบำรุงรักษาไม่ได้ใช้งานเป็นระยะแพลตฟอร์มจะออก FI_TRIM ไปยังสื่อที่นำมาใช้เช่นเดียวกับที่จัดเก็บข้อมูลภายใน ข้อมูลจำเพาะของการ์ด SD ปัจจุบันไม่รองรับคำสั่ง DISCARD ; แต่เคอร์เนลกลับไปใช้คำสั่ง ERASE แทนซึ่งเฟิร์มแวร์การ์ด SD อาจเลือกใช้เพื่อวัตถุประสงค์ในการเพิ่มประสิทธิภาพ

การทดสอบ

ในการทดสอบว่าพื้นที่เก็บข้อมูลที่นำมาใช้ได้ทำงานให้เรียกใช้การทดสอบ CTS นี้:

cts-tradefed run commandAndExit cts-dev \
    -m CtsAppSecurityHostTestCases \
    -t android.appsecurity.cts.AdoptableHostTest

ในการตรวจสอบพฤติกรรมของไดรฟ์ USB และการ์ด SD เมื่ออุปกรณ์ไม่มีสล็อตในตัวหรือเมื่อใช้ขั้วต่อ USB สำหรับการเชื่อมต่อ adb ที่ใช้งานอยู่ให้ใช้:

adb shell sm set-virtual-disk true