Beveiliging op Android-apparaten
Adobe AIR 2.5 of hoger
AIR past zich op Android net als op alle andere apparaten aan het native beveiligingsmodel aan. Tegelijkertijd houdt AIR zich aan de eigen beveiligingsregels die zijn ontworpen om het ontwikkelaars gemakkelijk te maken om veilige internettoepassingen te schrijven.
Aangezien AIR-toepassingen op Android gebruikmaken van de Android-pakketindeling, valt de installatie onder het Android-beveiligingsmodel. Het installatieprogramma van de AIR-toepassing wordt niet gebruikt.
Het Android-beveiligingsmodel bestaat uit drie primaire aspecten:
Android-bevoegdheden
Vele Android-functies worden beschermd door het bevoegdhedenmechanisme van het besturingssysteem. Om een beschermde functie te gebruiken, moet de descriptor van de AIR-toepassing declareren dat de toepassing de vereiste bevoegdheid nodig heeft. Wanneer een gebruiker probeert de toepassing te installeren, geeft het Android-besturingssysteem alle gewenste bevoegdheden weer voordat de installatie wordt uitgevoerd.
De meeste AIR-toepassingen moeten Android-bevoegdheden opgeven in het descriptorbestand van de toepassing. Standaard zijn geen bevoegdheden opgenomen. De volgende bevoegdheden zijn vereist voor beveiligde Android-functies die via de AIR-runtime worden getoond:
- ACCESS_COARSE_LOCATION
- Hiermee geeft u de toepassing via de klasse Geolocation toegang tot locatiegevens van het WiFi- en mobiele-telefoonnetwerk.
- ACCESS_FINE_LOCATION
- Hiermee krijgt de toepassing via de klasse Geolocation toegang tot GPS-gegevens.
- ACCESS_NETWORK_STATE and ACCESS_WIFI_STATE
- Hiermee geeft u de toepassing via de klasse NetworkInfo toegang tot netwerkgegevens.
- CAMERA
- Hiermee krijgt de toepassing toegang tot de camera.
- INTERNET
- Hiermee kan de toepassing netwerkverzoeken indienen en wordt externe foutopsporing mogelijk gemaakt.
- READ_PHONE_STATE
- Hiermee kan de AIR-runtime het geluid dempen in geval van een binnenkomende oproep.
- RECORD_AUDIO
- Hiermee krijgt de toepassing toegang tot de microfoon.
- WAKE_LOCK en DISABLE_KEYGUARD
- Hiermee voorkomt de toepassing via de instellingen voor de klasse SystemIdleMode dat het apparaat inactief wordt.
- WRITE_EXTERNAL_STORAGE
- Hiermee kan de toepassing naar de externe geheugenkaart op het apparaat schrijven.
Handtekeningen van toepassingen
Alle toepassingspakketten die voor het Android-platform worden gemaakt, moeten worden ondertekend. Aangezien AIR-toepassingen voor Android in de native APK-indeling van Android worden opgenomen, worden ze ondertekend in overeenkomst met de Android-regels in plaats van met de AIR-regels. Android en AIR maken vergelijkbaar gebruik van codeondertekeningen, maar er zijn enkele belangrijke verschillen:
Op Android controleert de ondertekening of de privésleutel in bezit is van de ontwikkelaar. De identiteit van de ontwikkelaar wordt echter niet geverifieerd.
Het certificaat van Android-toepassingen dient minstens 25 jaar geldig te zijn.
Android biedt geen ondersteuning voor het migreren van de pakketondertekening naar een ander certificaat. Wanneer een update door een ander certificaat wordt ondertekend, dienen gebruikers de oorspronkelijke toepassing te verwijderen voordat ze de bijgewerkte toepassing kunnen installeren.
Twee toepassingen die met hetzelfde certificaat zijn ondertekend, kunnen een gedeelde id opgeven die ze toestemming geeft elkaars cache- en gegevensbestanden te openen. (Het delen van deze bestanden is niet mogelijk op AIR. )
Gebruiker-id's van toepassingen
Android maakt gebruik van een Linux-kernel. Aan elke geïnstalleerde toepassing wordt een gebruikers-id van het Linux-type toegewezen die de bevoegdheden voor bewerkingen als het openen van bestanden bepaalt. Bestanden in de toepassingsmap, tijdelijke mappen en de opslagmap zijn beveiligd tegen benadering door bestandssysteembevoegdheden. Naar externe opslag (met andere woorden: naar een SD-kaart) geschreven bestanden kunnen worden gelezen, gewijzigd en verwijderd door andere toepassingen of door de gebruiker wanneer de SD-kaart als een apparaat voor massaopslag wordt aangesloten op een computer.
Met internetverzoeken ontvangen cookies worden niet uitgewisseld door AIR-toepassingen.
Gecodeerde gegevens op Android
AIR-toepassingen op Android kunnen de beschikbare coderingsopties in de geïntegreerde SQL-database gebruiken om gecodeerde gegevens op te slaan. De EncryptedLocalStore-klasse wordt niet ondersteund op mobiele apparatuur.