Android zawsze obsługuje akcesoria pamięci zewnętrznej (takie jak karty SD), ale akcesoria te były kiedyś ograniczone do prostego przechowywania plików, ich spodziewaną nietrwałość oraz minimalną ochronę danych tradycyjnej pamięci zewnętrznej. W Androidzie 6.0 wprowadzono możliwość zastosować zewnętrzny nośnik pamięci masowej, aby działał jak wewnętrzna pamięci masowej.
Przy użyciu zewnętrznych nośników danych są one formatowane i szyfrowane tylko w celu jednocześnie z jednym urządzeniem z Androidem. Ponieważ media są silnie powiązane na urządzeniu z Androidem, na którym został zaakceptowany, może bezpiecznie przechowywać zarówno aplikacje, prywatnych danych wszystkich użytkowników.
Gdy użytkownik podłącza nowy nośnik pamięci (np. kartę SD) do modułu
Android pyta ich, jak chcą korzystać z multimediów. Mogą zdecydować,
samodzielnie zastosować multimedia, określić ich format i szyfrować je, czy nadal może z nich korzystać.
w takiej postaci, w jakiej jest, aby przechowywać pliki. Jeśli zdecydują się na wdrożenie, platforma oferuje
migruj zawartość podstawowej pamięci współdzielonej (zwykle jest instalowana
/sdcard
) w nowych mediach, co pozwala zwolnić cenne miejsce
pamięci wewnętrznej. W przeciwieństwie do tradycyjnego miejsca na dane, którego rozmiar jest ograniczony do 2 TB ze względu na
użycie
MBR
zastosowania pamięci dostosowywanej
GPT
Limit miejsca na pliki wynosi ok. 9 ZB.
Aplikacje można umieścić na przyjętym nośniku pamięci tylko wtedy, gdy deweloper ma
wskazano wsparcie za pomocą atrybutu android:installLocation
.
Nowe instalacje obsługiwanych aplikacji są automatycznie umieszczane na
z urządzenia pamięci masowej o największej ilości wolnego miejsca, a użytkownicy mogą przenieść obsługiwane aplikacje
między urządzeniami pamięci masowej w aplikacji Ustawienia. Aplikacje przeniesione do przyjęcia
gdy multimedia są zapamiętywane,
i wróć, gdy nośnik zostanie włożony z powrotem.
Bezpieczeństwo
Platforma losowo generuje klucze szyfrowania dla każdego wdrożonego urządzenia i zapisuje je w pamięci wewnętrznej urządzenia z Androidem. Ten sprawia, że wdrożone nośniki są tak samo bezpieczne jak pamięć wewnętrzna. Klucze są powiązane z przyjętymi urządzeniami na podstawie przyjętych identyfikatorów GUID partycji.
Jeśli urządzenie jest skonfigurowane do szyfrowania opartego na plikach (FBE), w pamięci wewnętrznej, w pamięci uniwersalnej używa się zarówno FBE, jak i szyfrowania metadanych. W przeciwnym razie pamięć uniwersalna korzysta z pełnego dysku szyfrowaniem (FDE).
Układ dysku na nowym urządzeniu dokładnie odzwierciedla dane wewnętrzne. łącznie z etykietami SELinux itp. Jeśli tryb wielu użytkowników jest obsługiwany Android, nowe urządzenie pamięci masowej obsługuje również wielu użytkowników ten sam poziom izolacji co pamięć wewnętrzna.
Ponieważ zawartość używanego urządzenia pamięci masowej jest silnie powiązana z na urządzeniu z Androidem, na którym został zastosowany, klucze szyfrowania nie powinny być możliwe do wyodrębnienia. z urządzenia nadrzędnego, dlatego nie można podłączyć urządzenia pamięci masowej w innym miejscu.
Jeśli Twoje urządzenie korzysta z funkcji FBE, zapoznaj się z FBE dokumentacji i metadanych, dokumentacja dotycząca szyfrowania, która zawiera informacje na temat konfigurowania FBE i szyfrowania metadanych pamięci uniwersalnej.
Wydajność i stabilność
Tylko zewnętrzne nośniki pamięci masowej w stabilnych lokalizacjach, np. w gniazdku w komory na baterię lub za osłoną ochronną, należy uważać wdrożenia, aby zapobiec przypadkowej utracie lub uszkodzeniu danych. Przede wszystkim urządzeń połączonych z telefonem lub tabletem nigdy nie należy brać pod uwagę. Częstym wyjątkiem jest zewnętrzny dysk USB podłączony do telewizora. ponieważ cały telewizor jest zainstalowany w stabilnej lokalizacji.
Gdy użytkownik wdraża nowe urządzenie pamięci masowej, platforma przeprowadza test porównawczy porównuje jego wydajność z pamięcią wewnętrzną. Jeśli administrowane urządzenie to znacznie wolniej niż pamięć wewnętrzna, platforma ostrzega użytkownika gorsze wrażenia użytkownika. Ten test porównawczy pochodzi z rzeczywistego wejścia/wyjścia działania popularnych aplikacji na Androida. Obecnie implementacja AOSP obejmuje tylko ostrzegać użytkowników o przekroczeniu jednego progu, ale producenci urządzeń mogą to dostosować na przykład odrzucić rozpowszechnienie, jeśli karta działa bardzo wolno.
Zastosowane urządzenia muszą być sformatowane w systemie plików obsługującym POSIX.
uprawnień i atrybutów rozszerzonych, takich jak ext4
czy
f2fs
Aby zapewnić optymalną wydajność, system plików f2fs
jest
zalecane w przypadku urządzeń pamięci flash.
Podczas okresowej konserwacji bezczynnej platformy występują problemy
FI_TRIM
do korzystania z multimediów, tak samo jak w przypadku pamięci wewnętrznej.
Obecna specyfikacja karty SD nie obsługuje: DISCARD
Command; ale jądro wraca do polecenia ERASE
,
które oprogramowanie karty SD może wykorzystać do optymalizacji.
Testowanie
Aby sprawdzić, czy pamięć adaptacyjna działa, uruchom ten test CTS:
cts-tradefed run commandAndExit cts-dev \ -m CtsAppSecurityHostTestCases \ -t android.appsecurity.cts.AdoptableHostTest
Aby zweryfikować działanie dysków USB i kart SD, gdy urządzenie nie ma lub gdy złącze USB jest używane do obsługi aktywnego narzędzia adb użyj kodu:
adb shell sm set-virtual-disk true