Verwendbarer Speicher

Externes Speicherzubehör wie SD-Karten wird von Android schon immer unterstützt. Früher war dieses Zubehör nur auf einen einfachen Dateispeicher beschränkt, die erwartete Unendlichkeit und den minimalen Datenschutz, der herkömmlichen externen Speicher. Mit Android 6.0 ist es nun möglich, Externe Speichermedien als internes Speichermedium verwenden Speicherplatz.

Externe Speichermedien werden so formatiert und verschlüsselt, nicht mit jeweils einem Android-Gerät funktionieren. Da die Medien eng miteinander verbunden sind, auf dem Android-Gerät, auf dem sie installiert ist, für alle Nutzenden.

Wenn Nutzer neue Speichermedien (z. B. eine SD-Karte) in ein geeignetes wird sie von Android gefragt, wie sie die Medien nutzen möchten. Sie können die Medien übernehmen, sie formatieren und verschlüsseln, oder sie weiterhin nutzen können für eine einfache Dateispeicherung. Wenn sie sich für eine Lösung entscheiden, bietet die Plattform Inhalte des primären freigegebenen Speichers (normalerweise bereitgestellt unter /sdcard) auf die neu eingeführten Medien übertragen und so wertvollen Platz internen Speicher. Im Gegensatz zu einem herkömmlichen Speicher, der aufgrund seiner Nutzung von MBR nutzungsfreundliche Speichernutzung Google Publisher-Tag (GPT) und hat daher ein Speicherlimit von ~9 ZB.

Apps können nur dann auf übernommenen Speichermedien platziert werden, wenn der Entwickler wurde dies durch das Attribut android:installLocation unterstützt. Neuinstallationen unterstützter Apps werden automatisch auf dem Speichergerät mit dem meisten freien Speicherplatz und Nutzer können unterstützte Apps verschieben zwischen Speichergeräten in der App Einstellungen. Apps wurden auf „Akzeptanz“ umgestellt werden Medien gespeichert, während sie ausgeworfen werden. und kehren zurück, wenn das Medium wieder eingesetzt wird.

Sicherheit

Die Plattform generiert nach dem Zufallsprinzip Verschlüsselungsschlüssel für jedes übernommene Gerät. und speichert sie im internen Speicher des Android-Geräts. Dieses macht die Medien so sicher wie der interne Speicher. Schlüssel sind die mit übernommenen Geräten verknüpft sind, basierend auf der übernommenen Partitions-GUID.

Wenn das Gerät für die Verwendung der dateibasierten Verschlüsselung (File-based Encryption, FBE) konfiguriert ist internen Speicher, dann nutzt der akzeptable Speicher sowohl FBE als auch die Metadatenverschlüsselung. Andernfalls Verwendbarer Speicher nutzt vollen Festplattenspeicher Encryption (FDE) verfügbar.

Das On-Disk-Layout des neuen Geräts spiegelt die internen Daten weitgehend wider. einschließlich SELinux-Labels usw. Android-Gerät unterstützt das neue Speichergerät auch die Nutzung durch mehrere Nutzer mit der wie der interne Speicher.

Da der Inhalt eines verwendeten Speichergeräts eng mit dem Android-Gerät, auf dem dies möglich ist, sollten die Verschlüsselungsschlüssel nicht extrahiert werden können. vom übergeordneten Gerät, sodass das Speichergerät nicht bereitgestellt werden kann. woanders hin.

Wenn dein Gerät „FBE“ verwendet, siehe FBE Dokumentation und den Metadaten Verschlüsselungsdokumentation für die Konfiguration von FBE- und Metadatenverschlüsselung auf akzeptablen Speicher.

Leistung und Stabilität

Externe Speichermedien dürfen sich nur an stabilen Orten befinden, wie z. B. einem Steckplatz in einem Batteriefach oder hinter einer Schutzabdeckung ist, sollte für um versehentlichen Datenverlust oder Beschädigung zu vermeiden. USB-Kabel Geräte, die mit einem Smartphone oder Tablet verbunden sind, sollten niemals für eine Akzeptanz in Betracht gezogen werden. Ausnahmen sind externe USB-Speicher, die mit einem Fernseher verbunden sind. Gerät, da der gesamte Fernseher normalerweise an einem stabilen Standort installiert wird.

Wenn ein Nutzer ein neues Speichergerät annimmt, führt die Plattform eine Benchmark aus und vergleicht seine Leistung mit der des internen Speichers. Wenn das übernommene Gerät langsamer als der interne Speicher ist, warnt die Plattform den Nutzer die Nutzerfreundlichkeit möglicherweise beeinträchtigt. Diese Benchmark wurde aus den tatsächlichen E/A-Vorgängen abgeleitet. beliebten Android-Apps. Derzeit kann die AOSP-Implementierung nur Nutzer über einen einzelnen Grenzwert hinaus warnen, aber Gerätehersteller können diese Einstellung und die Einführung komplett ablehnen, wenn die Karte extrem langsam ist.

Die verwendeten Geräte müssen mit einem Dateisystem formatiert sein, das POSIX unterstützt Berechtigungen und erweiterte Attribute wie ext4 oder f2fs. Für eine optimale Leistung ist das f2fs-Dateisystem empfohlen für Flash-basierte Speichergeräte.

Bei regelmäßigen Wartungsarbeiten bei Inaktivität treten Probleme mit der Plattform auf. FI_TRIM auf die Nutzung von Medien, genau wie für den internen Speicher. DISCARD wird von der aktuellen SD-Kartenspezifikation nicht unterstützt. Command; Der Kernel greift stattdessen auf den Befehl ERASE zurück, welche SD-Karten-Firmware zur Optimierung verwendet werden kann.

Testen

Führen Sie diesen CTS-Test aus, um zu testen, ob geeigneter Speicher funktioniert:

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

Um das Verhalten von USB-Laufwerken und SD-Karten zu überprüfen, wenn ein Gerät keinen Integrierter Steckplatz oder wenn der USB-Anschluss für ein aktives ADB verwendet wird verwenden, verwenden Sie:

adb shell sm set-virtual-disk true