Sicurezza su dispositivi Android

Adobe AIR 2.5 e versioni successive

In Android, come in tutti i dispositivi di calcolo, AIR è conforme al modello di sicurezza nativo. Allo stesso tempo, AIR conserva le proprie regole di sicurezza, che consentono di semplificare la scrittura di applicazioni dotate di connessione a Internet, protette.

Poiché le applicazioni AIR su Android utilizzano il formato pacchetto Android, l'installazione rientra nel modello di sicurezza di Android. Il programma di installazione dell'applicazione AIR non è utilizzato.

I tre aspetti primari del modello di sicurezza di Android sono:

  • Autorizzazioni

  • Firme applicazione

  • ID utenti applicazione

Autorizzazioni Android

Numerose funzioni di Android sono protette dal meccanismo di protezione del sistema operativo. Per utilizzare una funzione protetta, il descrittore dell'applicazione AIR deve dichiarare che l'applicazione richiede l'autorizzazione necessaria. Quando un utente cerca di installare l'applicazione, il sistema operativo Android visualizza tutte le autorizzazioni richieste all'utente prima che il processo di installazione continui.

La maggior parte delle applicazioni AIR deve specificare autorizzazioni Android nel descrittore dell'applicazione. Per impostazione predefinita, non è inclusa nessuna autorizzazione. Le autorizzazioni seguenti sono richieste per funzioni Android protette esposte tramite il runtime AIR:

ACCESS_COARSE_LOCATION
Consente all'applicazione di accedere ai dati di posizione della rete WiFi e cellulare tramite la classe Geolocation.

ACCESS_FINE_LOCATION
Consente all'applicazione di accedere ai dati GPS tramite la classe Geolocation.

ACCESS_NETWORK_STATE e ACCESS_WIFI_STATE
Consente all'applicazione di accedere alle informazioni di rete tramite la classe NetworkInfo.

CAMERA
Consente all'applicazione di accedere alla fotocamera.

INTERNET
Consente all'applicazione di effettuare richieste di rete e di eseguire il debug remoto.

READ_PHONE_STATE
Consente al runtime AIR di disattivare l'audio nel caso di una chiamata in entrata.

RECORD_AUDIO
Consente all'applicazione di accedere al microfono.

WAKE_LOCK e DISABLE_KEYGUARD
Consente all'applicazione di impedire che il dispositivo entri in modalità sleep utilizzando le impostazioni della classe SystemIdleMode.

WRITE_EXTERNAL_STORAGE
Consente all'applicazione di scrivere sulla scheda di memoria esterna del dispositivo.

Firme applicazione

Tutti i pacchetti applicazione creati per la piattaforma Android devono essere firmati. Poiché le applicazioni AIR su Android sono inserite in un formato APK Android nativo, vengono firmate in base alle convenzioni Android anziché quelle AIR. Sebbene Android e AIR utilizzino la firma del codice in maniera simile, esistono differenze significative:

  • Su Android, la firma verifica che la chiave privata sia posseduta dallo sviluppatore, ma non venga utilizzata per verificare l'identità dello stesso.

  • Per applicazioni inviate al mercato Android, il certificato deve essere valido per almeno 25 anni.

  • Android non supporta la migrazione della firma del pacchetto a un altro certificato Se un aggiornamento viene firmato da un certificato diverso, gli utenti devono disinstallare l'applicazione originale prima di poter installare l'applicazione aggiornata.

  • Due applicazioni formate con lo stesso certificato possono specificare un ID condiviso che consente a una delle due di accedere alla cache e ai file di dati dell'altra. (Tale condivisione non è supportata da AIR. )

ID utenti applicazione

Android utilizza un kernel Linux. A tutte le applicazioni installate viene assegnato un ID utente di tipo Linux che determina le autorizzazioni per operazioni quali l'accesso ai file. I file nell'applicazione, nella directory di memorizzazione e nelle directory temporanee sono protetti in accesso dalle autorizzazioni del file system. I file scritti su memoria esterna (in altre parole, la scheda SD) possono essere letti, modificati e cancellati da altre applicazioni, o dall'utente, quando la scheda SD viene montata come dispositivo di archiviazione di massa su un computer.

I cookie ricevuti con richieste internet non vengono condivisi tra applicazioni AIR.

Dati crittografati su Android

Le applicazioni AIR su Android possono utilizzare le opzioni di crittografia disponibili nel database SQL integrato per salvare dati crittografati. La classe EncryptedLocalStore non è supportata nei dispositivi mobili.