Inhaltsverzeichnis:
- Nahtlose Updates
- Netzwerksicherheitskonfiguration
- Media Server-Härtung
- Schlüsselbestätigung
- Verschlüsselung auf Dateiebene
- Direktes Booten
- Verzeichniszugriff mit Gültigkeitsbereich
Aktualisiert am 13. August 2016 mit Informationen zu den endgültigen Funktionen und APIs von Android Nougat.
In Android N gibt es viele Codeänderungen. Einige davon können wir sehen - wie die neuen Benachrichtigungen - und andere können wir nicht (sind aber immer noch eine große Sache). Wir sehen bei jedem Update dasselbe. Es gibt Verbesserungen und Änderungen in der Benutzeroberfläche, aber unter der Haube werden Anpassungen und Änderungen vorgenommen, um Android besser und sicherer laufen zu lassen.
Google hat die Sicherheit in Android Nougat in einigen Bereichen verbessert. Einige sind so konzipiert, dass Android selbst gehärtet wird, während andere Tools für Entwickler sind, damit dies auch bei der Installation von Apps so bleibt. Werfen wir einen Blick auf die Änderungen selbst.
Nahtlose Updates
Google führt bereits "nahtlose Updates" für Chrome OS durch und es funktioniert wirklich gut. In Android werden die Dinge sehr ähnlich sein.
Bei nahtlosen Updates werden zwei separate Systempartitionen verwendet. Eines davon ist das System, auf dem Sie täglich Ihr Telefon benutzen. Wenn es Zeit für ein Update ist, wird die andere Systempartition geändert und aktualisiert, und beim nächsten Neustart wird automatisch umgeschaltet. Beim nächsten Update wird die andere Systempartition geändert und Sie wechseln zurück.
: Android 7.0: Was sind nahtlose Updates und wie funktionieren sie?
Das bedeutet, dass Dinge erledigt werden können, während Sie arbeiten oder spielen. Wenn dies abgeschlossen ist, müssen Sie nur noch einen normalen Neustart durchführen. Sie wären überrascht (ich war, als ich es hörte), aber ein ziemlich großer Teil der Leute aktualisiert ihr Telefon nicht, weil es eine Weile dauert. Sie hätten es vielleicht einmal getan, dann dort gewartet und beschlossen, es nicht noch einmal zu tun. Es ist einfach, die Benachrichtigung zu verwerfen. Indem Sie das Verfahren ändern, Aktualisierungen vereinfachen und die schreckliche Wartezeit beim Anzeigen des Dialogfelds "Aktualisieren von Apps" eliminieren, werden mehr Benutzer dies tun.
Netzwerksicherheitskonfiguration
Mit der Netzwerksicherheitskonfiguration können App-Entwickler eine benutzerdefinierte Konfigurationsdatei für Netzwerksicherheitseinstellungen erstellen und verwenden, anstatt Änderungen auf Systemebene anzufordern. Die Konfigurationsdatei kann geändert werden, ohne die App selbst zu ändern, und kann so eingestellt werden, dass anstelle des Geräts eine benutzerdefinierte Zertifizierungsstelle verwendet wird Standardeinstellung und kann auch so eingestellt werden, dass einige oder alle vom System als vertrauenswürdig eingestuften Zertifizierungsstellen ignoriert werden. Dies ist wichtig, um eine Verbindung zu einem Host herzustellen, der über eine selbstsignierte Zertifizierungsstelle verfügt (z. B. für Unternehmensanwendungen) oder für eine Anwendung, die nur einer bestimmten Zertifizierungsstelle vertrauen soll.
Darüber hinaus kann die Konfiguration so eingestellt werden, dass der Datenverkehr im Nur-Text-Netzwerk deaktiviert und die verschlüsselte Kommunikation mithilfe des HTTPS-Protokolls erzwungen wird. Wenn Sie ein Netzwerkadministrator sind oder Netzwerk-Apps entwickeln, wissen Sie, wie wichtig diese Änderungen sind. Der Rest von uns kann froh sein, dass wir in Apps, die einfacher zu entwickeln sind, einen sichereren Netzwerkverkehr haben können.
Media Server-Härtung
Erinnerst du dich an Stagefright? Während es von vielen Medien überproportional aufgenommen wurde, gab es ein echtes Problem, das hinter der Übertreibung verborgen war. Das Abspielen einer Mediendatei und die Möglichkeit, einen Neustart zu erzwingen oder alle Audiodaten zu verlieren, ist ein unangenehmes Problem, und die Tatsache, dass dies (theoretisch) verwendet werden könnte, um heimlich Root-Berechtigungen zu erlangen, ist noch erschreckender. Google nimmt das sehr ernst und wir sehen jeden Monat Patches für die Medienserver-Bibliothek, um den damit verbundenen Fehlern und Sicherheitsbedenken einen Schritt voraus zu sein.
In Android N wird der Medienserver grundlegend überarbeitet. Google hat den Medienserver in kleinere Komponenten aufgeteilt, die außerhalb eines vollständigen Systemupdates aktualisiert werden können - genau wie bei der WebView-Komponente. Das heißt, wenn sie einen neuen Patch haben, können Sie das Update von Google Play herunterladen, anstatt sechs Monate oder länger auf die Personen zu warten, die Ihr Telefon veranlasst haben, den Patch an Sie zu senden.
Sie haben auch das Berechtigungsmodell für den Medienserver geändert und ihm nicht mehr die vollständigen Systemberechtigungen erteilt. Das Ausführen mit geringen Berechtigungen macht es für jeden noch schwieriger, in das System einzudringen, wenn er in den Medienserver gelangt. Dies ist eine große Änderung und wird das Hacken eines Android-Handys (die schlechte Art des Hackens) noch schwieriger machen als früher.
Schlüsselbestätigung
Mit der Schlüsselbestätigung können Entwickler sicherstellen, dass die Schlüssel, die sie in ihren Apps verwenden, gültig sind und im hardwaregestützten Keystore des Telefons und nicht in der Software gespeichert sind. Wenn dem Attestation Tool ein generierter Alias für einen Schlüssel zugewiesen wird (der eigentliche Schlüssel sollte niemals freigegeben werden), wird eine Zertifikatskette generiert, mit der der Schlüssel überprüft werden kann. Entwickler können sowohl den Schlüssel als auch den überprüften Startstatus überprüfen, um sicherzustellen, dass alles gültig ist.
Handys, die mit Android N geliefert werden und Google-Dienste verwenden, verfügen über ein Zertifikat, das von Google als Stamm- (oder Primär-) Autorität ausgestellt wurde, während andere Handys, die aktualisiert wurden, ein Zertifikat benötigen, das von dem Unternehmen ausgestellt wurde, das sie hergestellt hat.
Nicht alle Telefone, auf denen Android N ausgeführt werden kann, verfügen über eine vertrauenswürdige Hardwareumgebung zum Speichern von Verschlüsselungsschlüsseln. In diesen Fällen wird stattdessen die Schlüsselbestätigung auf Softwareebene verwendet. Der verifizierte Startstatus kann weiterhin überprüft werden, um sicherzustellen, dass die Systemsoftware nicht manipuliert wurde. Ja, dies bedeutet, dass ein Entwickler nach root suchen kann. Das ist eine gute Sache, vorausgesetzt, es werden keine ungerechtfertigten Strafen für Benutzer verhängt, die ihr Telefon gerootet haben.
Verschlüsselung auf Dateiebene
Bisher hat Android die Verschlüsselung auf Blockebene verwendet, um die gesamte Partition oder das gesamte Speichergerät gleichzeitig zu verschlüsseln. Dies war eine sehr sichere Verschlüsselungsmethode, und das Speichern der eigentlichen Token außerhalb des Speichers und in der Hardware bedeutete im Wesentlichen, dass nur das richtige Kennwort oder die richtige PIN verwendet werden konnte. Mit Android N wurde die Verschlüsselung auf Dateiebene geändert.
Direct Boot wurde für die Verschlüsselung auf Dateiebene entwickelt, um sowohl Sicherheit als auch Vertraulichkeit zu gewährleisten.
Wenn Ihr verschlüsseltes Android-Gerät startet (oder in Ihrer Tasche neu startet), wird das Gerät verschlüsselt und gesperrt. Es können nur bestimmte Anwendungen ausgeführt werden. Dies wird als Direktstartmodus bezeichnet. Es bedeutet, dass Sie weiterhin Anrufe erhalten oder einen Alarm auslösen können (oder sogar einige Nachrichtenbenachrichtigungen sehen können). Um jedoch weitere Maßnahmen zu ergreifen, müssen Sie das Gerät entsperren und entschlüsseln. Nach dem Entsperren verwendet N die Verschlüsselung auf Dateiebene, damit wir (der Benutzer) und die Anwendungen etwas mehr Kontrolle darüber haben, wie Daten gesperrt werden.
Hier gibt es zwei Vorteile: Durch FDE (Block-Layer-Festplattenverschlüsselung) laufen Low-End-Geräte ziemlich schlecht. Google brauchte einige Versuche, um das Nexus 6 richtig zu machen, und jedes Gerät mit einer Lese- und Schreibgeschwindigkeit von weniger als 50 MB / s hat immer noch Probleme mit der Flash-Speicherhardware. Der zweite (und wichtigere) Vorteil ist die Verwendung der Verschlüsselung auf Dateiebene für eine authentifizierte Verschlüsselung mit assoziierten Daten (AEAD). AEAD bedeutet, dass es für einen nicht autorisierten Benutzer oder eine nicht autorisierte Anwendung schwieriger ist, auf Daten zuzugreifen. Für AEAD-Interessierte ist hier eine wirklich gute Lektüre von UC Davis-Professor Phillip Rogaway (.pdf-Datei).
Mit diesem mehrstufigen Ansatz für die Verschlüsselung können Unternehmen, die Androids zu einem sehr günstigen Preis herstellen, Verschlüsselung ohne Leistungseinbußen anbieten.
Direktes Booten
Die Verschlüsselung auf Dateiebene funktioniert auch mit der Direktstartfunktion besser. Direct Boot bringt einen neuen Modus, den Entwickler nutzen können, damit ihre App ausgeführt werden kann, sobald das System eingeschaltet ist, anstatt darauf zu warten, dass ein Benutzer das Telefon entsperrt oder entschlüsselt.
Dies geschieht in Verbindung mit einem neuen Gerätespeicherbereich, und die Apps, die Direct Boot verwenden, haben keine Interaktion mit dem normalen Dateisystem, das durch Anmeldeinformationen geschützt ist, und mit individuell verschlüsselten Dateien oder Verzeichnissen.
: Android 7.0: Was ist Direct Boot und wie wird es Ihre Erfahrung verbessern?
Verzeichniszugriff mit Gültigkeitsbereich
Mithilfe des Bereichsverzeichniszugriffs kann eine App die Berechtigung zum Zugriff auf ein bestimmtes Verzeichnis im externen Speicher erhalten (externer Speicher ist eine Partition außerhalb des Systems und umfasst sowohl den Speicher Ihres Telefons als auch eine SD-Karte oder ein anderes angeschlossenes Speichergerät), ohne danach zu fragen Erlaubnis für das gesamte Volume oder Verwendung eines Popup-Fensters, um nach Ordnerberechtigungen zu fragen.
Der sichere Zugriff auf gespeicherte Daten ist wichtig. Eine Anwendung, die nur Zugriff auf den Speicherordner für Musik oder Fotos benötigt, sollte nichts anderes sehen. Das Eingrenzen von Code mithilfe des vorhandenen Storage Access Framework hat sich als etwas erwiesen, das viele Entwickler ablehnen. Mit der neuen Scoped Directory Access-API können Entwickler einfacher Apps erstellen, die sicher sind und Ihre Daten schützen.
Diese entscheidenden Sicherheitsfunktionen machen einen großen Teil von Android N aus. Einige Telefone (insbesondere die, die nicht mit Nougat ausgeliefert werden) verwenden möglicherweise nicht alle, aber alle schützen unsere Daten, wenn sie ordnungsgemäß verwendet werden. Android ist ausgereift und die Liebe zum Detail, die Google mit 7.0 zeigt, ist vielleicht nicht so auffällig wie neue Emojis oder ein neues Farbschema, aber es ist viel wichtiger.