Sicherheit auf Android-GerätenAdobe AIR 2.5 und höher
Wie bei allen Computergeräten erfüllt AIR auch unter Android die Regeln des nativen Sicherheitsmodells. Gleichzeitig gelten in AIR jedoch auch eigene Sicherheitsregeln, die Entwicklern dabei helfen, sichere Anwendungen mit Internetzugang zu erstellen.
Da AIR-Anwendungen unter Android das Android-Paketformat verwenden, fällt die Installation unter das Android-Sicherheitsmodell. Das AIR-Anwendungsinstallationsprogramm wird nicht verwendet.
Das Android-Sicherheitsmodell umfasst drei Hauptaspekte:
Android-BerechtigungenZahlreiche Android-Funktionen werden vom Berechtigungsmechanismus des Betriebssystems geschützt. Zur Verwendung einer geschützten Funktion muss der AIR-Anwendungsdeskriptor deklarieren, dass die Anwendung die entsprechenden Berechtigungen benötigt. Wenn ein Benutzer versucht, die Anwendung zu installieren, zeigt das Android-Betriebssystem alle erforderlichen Berechtigungen an, bevor die Installation fortgesetzt wird.
Bei den meisten AIR-Anwendungen müssen die Android-Berechtigungen im Anwendungsdeskriptor angegeben werden. Standardmäßig sind keine Berechtigungen enthalten. Die folgenden Berechtigungen sind für geschützte Android-Funktionen erforderlich, die über die AIR-Laufzeitumgebung verfügbar sind:
- ACCESS_COARSE_LOCATION
- Ermöglicht der Anwendung den Zugriff auf WLAN- und Mobilfunk-Standortdaten über die Geolocation-Klasse.
- ACCESS_FINE_LOCATION
- Ermöglicht der Anwendung den Zugriff auf GPS-Daten über die Geolocation-Klasse.
- ACCESS_NETWORK_STATE und ACCESS_WIFI_STATE
- Ermöglicht der Anwendung den Zugriff auf Netzwerkinformationen über die NetworkInfo-Klasse.
- CAMERA
- Ermöglicht der Anwendung den Zugriff auf die Kamera.
- INTERNET
- Ermöglicht der Anwendung, Netzwerkanfragen zu senden. Ermöglicht auch das Remote-Debugging.
- READ_PHONE_STATE
- Ermöglicht der AIR-Laufzeitumgebung, den Ton stummzuschalten, wenn ein Anruf eingeht.
- RECORD_AUDIO
- Ermöglicht der Anwendung den Zugriff auf das Mikrofon.
- WAKE_LOCK und DISABLE_KEYGUARD
- Ermöglicht der Anwendung, zu verhindern, dass das Gerät in den Standbymodus wechselt, indem die Einstellungen der SystemIdleMode-Klasse verwendet werden.
- WRITE_EXTERNAL_STORAGE
- Ermöglicht der Anwendung, auf die externe Speicherkarte des Geräts zu schreiben.
AnwendungssignaturenAlle Anwendungspakete, die für die Android-Plattform erstellt werden, müssen signiert sein. Da AIR-Anwendungspakete unter Android im nativen APK-Format von Android erstellt werden, entsprechen die Signaturen den Android-Konventionen und nicht den AIR-Konventionen. Das Signieren von Code unter Android und AIR weist zwar Ähnlichkeiten, aber auch deutliche Unterschiede auf:
Unter Android überprüft die Signatur, dass der private Schlüssel sich im Besitz des Entwicklers befindet, er überprüft jedoch nicht die Identität des Entwicklers.
Bei Anwendungen, die über Android Market angeboten werden sollen, muss das Zertifikat mindestens 25 Jahre gültig sein.
Das Migrieren der Paketsignatur zu einem anderen Zertifikat wird unter Android nicht unterstützt. Wenn ein Update mit einem anderen Zertifikat signiert ist, muss die ursprüngliche Anwendung deinstalliert werden, bevor die aktualisierte Anwendung installiert werden kann.
Zwei Anwendungen, die mit demselben Zertifikat signiert sind, können eine gemeinsame ID angeben, sodass sie auf den Cache und die Datendateien der jeweils anderen Anwendung zugreifen können. (Eine solche gemeinsame Nutzung ist in AIR nicht möglich. )
Benutzer-IDs für AnwendungenAndroid nutzt einen Linux-Kernel. Jeder installierten Anwendung wird eine Benutzer-ID in Linux-Form zugewiesen, die ihre Berechtigungen für verschiedene Vorgänge festlegt, beispielsweise für den Zugriff auf Dateien. Dateien in der Anwendung, im Anwendungsspeicher und in temporären Verzeichnissen sind durch Dateisystemberechtigungen vor dem Zugriff geschützt. Dateien, die auf ein externes Speichermedium (also die SD-Karte) geschrieben werden, können von anderen Anwendungen oder vom Benutzer gelesen, geändert und gelöscht werden, wenn die SD-Karte als Massenspeichergerät auf einem Computer gemountet wird.
Bei Internetanforderungen erhaltene Cookies werden von AIR-Anwendungen nicht gemeinsam genutzt.
Verschlüsselte Daten unter AndroidAIR-Anwendungen unter Android können die Verschlüsselungsoptionen der integrierten SQL-Datenbank verwenden, um verschlüsselte Daten zu speichern. Die EncryptedLocalStore-Klasse wird auf Mobilgeräten nicht unterstützt.
|
|