Einheit 9 / 11

Datenschutz, Berechtigungen und sichere Nutzung

Gewinne:

  • Möglichkeit, Berechtigungen mit Begründung, Kontext und Ablehnungsszenario anzufordern, wobei das Prinzip der geringsten Berechtigung zum Einsatz kommt
  • Möglichkeit, sensible Daten verschlüsselt mit Schlüsselbund/Keystore zu speichern, Datenminimierung anzuwenden und die Tendenz künstlicher Intelligenz zu kontrollieren, zu viele Berechtigungen hinzuzufügen
  • Fähigkeit, den Fluss von Benutzerdaten zur Cloud oder zum Dienst der künstlichen Intelligenz als Datenschutzentscheidung zu verwalten, die Zustimmung des Benutzers einzuholen und Sicherheitstechniken nur für autorisierte, defensive Zwecke zu verwenden

Die mobile Anwendung funktioniert auf dem privatesten Gerät des Benutzers: Sie kennt seinen Standort, seine Kontakte, Fotos, Gesundheitsdaten und sein Mikrofon. Dieser Zugang ist große Macht, und Macht bedeutet Verantwortung. Datenschutz und Sicherheit sind keine „Zusatzfunktionen“ in der mobilen Entwicklung, sondern ein Prinzip, das von Anfang an in die Architektur integriert ist. Dies nennt man Privacy by Design. Darüber hinaus handelt es sich hierbei nicht nur um eine ethische Entscheidung, sondern um eine gesetzliche (KVKK, DSGVO) und Store-Pflicht (App Store, Google Play). In dieser Einheit lernen wir, wie wir Berechtigungen richtig anfordern, Daten sicher verarbeiten, KI als Assistent in diesem Bereich einsetzen und uns vor ihren Fallen schützen. Im KI-Kontext gibt es noch ein weiteres kritisches Problem: Benutzerdaten, die an KI-Modelle (insbesondere die Cloud) gesendet werden, sind eine Datenschutzentscheidung für sich.

Die Kunst, um Erlaubnis zu bitten: das geringste Privileg

Das Grundprinzip der Sicherheit ist die geringste Berechtigung (nicht mehr Berechtigungen verlangen, als für einen Job erforderlich sind). Ihre App sollte nur dann um die Erlaubnis bitten, die sie wirklich benötigt, und zwar zu dem Zeitpunkt, zu dem sie sie benötigt. Wenn keine Kamerafunktion vorhanden ist, wird keine Kameraerlaubnis angefordert. Wenn der Standort nur erforderlich ist, wenn die Karte geöffnet ist, reicht die Berechtigung „Während der Verwendung“ aus, nicht „immer“. Übermäßige Berechtigungen verursachen dreifachen Schaden: Sie untergraben das Vertrauen der Benutzer, führen zur Ablehnung des Speichers und erhöhen das Risiko von Datenlecks.

Der richtige Zeitpunkt und die richtige Erklärung für die Bitte um Erlaubnis sind von entscheidender Bedeutung. Bitten Sie den Benutzer im Kontext und mit einer Begründung um Erlaubnis, z. B. „Zum Scannen Ihrer Quittung ist Kamerazugriff erforderlich.“ iOS erfordert diese Beschreibung in Info.plist; Eine leere oder irreführende Beschreibung wird vom Shop abgelehnt.

Berechtigungstyp

schlechter Ansatz

guter Ansatz

Timing

Fordern Sie alles beim Start an

Eingabeaufforderung, wenn Sie die Funktion verwenden

Umfang

„Immer Standort“

„Standort während der Nutzung“

Beschreibung

Leer oder generisch

Konkrete, konkrete Begründung

Ablehnungsstatus

App stürzt ab/stürzt ab

Bietet freundlicherweise Alternativen an

Tipp: Ihre App sollte weiterhin ausgeführt werden können, wenn die Berechtigung verweigert wird. Wenn der Benutzer die Kamera ablehnt, bieten Sie eine Option zur „manuellen Anmeldung“ an. Die Aufforderung „Erlauben Sie es, sonst funktioniert die App nicht“ ist sowohl eine schlechte Erfahrung als auch ein Store-Problem. Fragen Sie immer nach dem Ablehnungsszenario, wenn Sie einen Berechtigungscode an die KI drucken.

Einwilligung und Datenschutzkodex mit KI: Überlegungen

KI generiert schnell Code, der Berechtigungen anfordert, weist jedoch zwei typische Fallstricke auf. Fügen Sie zunächst mehr Berechtigungen als nötig hinzu: Standort, Kontakte können Massenspeicherberechtigungen „nur für den Fall“ festlegen. Zweitens: Überspringen Sie das Ablehnungsszenario: Schreiben Sie einfach den Status „erlaubt“ und ignorieren Sie die Ablehnung. Bei jeder generierten Genehmigung werden Sie gefragt: „Ist das wirklich notwendig?“ und „Was passiert, wenn abgelehnt wird?“ Stellen Sie Ihre Fragen.

Achtung: Der von der KI generierte Beispielcode kann Benutzerdaten unverschlüsselt speichern oder unsicher übertragen. Sensible Daten (Passwort, Gesundheit, Finanzen) sollten in einem sicheren Speicher auf dem Gerät (Schlüsselbund – iOS, Keystore – Android; verschlüsselter Tresorbereich des Betriebssystems) aufbewahrt und über eine verschlüsselte Verbindung (HTTPS/TLS) im Netzwerk übertragen werden. KI tut dies nicht immer spontan; Fragen Sie klar und überprüfen Sie.

Datenminimierung und Senden von Daten an KI

Daten, die Sie nicht sammeln, können nicht durchsickern. Die Datenminimierung (das Sammeln nur der Daten, die tatsächlich benötigt werden) ist das wirksamste Instrument für den Datenschutz. Bei KI-Funktionen ist dieses Prinzip doppelt wichtig: Wenn Sie Daten an ein Cloud-LLM oder einen externen KI-Dienst senden, liegen diese Daten außerhalb Ihrer Kontrolle. Bevor Sie Gesundheitsnotizen, Gesprächsinhalte oder persönliche Informationen eines Benutzers an die Cloud senden, stellen Sie drei Fragen: (1) Sind diese Daten wirklich notwendig? (2) Kann es auf dem Gerät verarbeitet werden? (3) Wenn es gesendet werden soll, weiß der Benutzer davon und stimmt es zu? Es ist sowohl eine rechtliche als auch eine ethische Anforderung, den Benutzer klar darüber zu informieren, dass seine Daten an einen KI-Dienst gehen.

Sicherer Einsatz und Verteidigungsfokus

Eine Warnung aus IT- und Sicherheitssicht: Die in diesem Modul erlernten Techniken sind nur für den autorisierten und defensiven Gebrauch bestimmt. Es ist legitim, die Sicherheit der eigenen Anwendung zu testen, Benutzerdaten zu schützen und Schwachstellen zu schließen. Das Reverse Engineering der Anwendung einer anderen Person ohne Erlaubnis, das Sammeln von Benutzerdaten ohne Zustimmung oder die Verwendung von KI zur Erstellung von Malware ist illegal und unethisch. Wenn Sie KI um Sicherheitshilfe bitten, bleiben Sie immer im Rahmen der Verteidigung Ihres eigenen Systems.

drei Mini-Koffer

Fall 1 – Verweigerung von Überurlaub. Eine Notizanwendung forderte beim Start mit dem von KI erstellten Code Kamera-, Mikrofon-, Standort- und Kontaktberechtigungen an. Google Play lehnte die Freigabe mit der Begründung „funktionsirrelevante Berechtigungen“ ab. Die Freigabe wurde genehmigt, als das Team nur die tatsächlich genutzte Speicherberechtigung freigab. Lektion: Jeder zusätzliche Urlaub ist ein Risiko.

Fall 2 – Speicherung ohne Passwort. Eine Gesundheits-App speicherte Benutzermessungen in einer Nur-Text-Datei wie im KI-Beispiel. Eine Sicherheitsüberprüfung ergab, dass jeder, der das Gerät erhielt, alle Gesundheitsdaten lesen konnte. Daten werden mit Keystore/Keychain in einen verschlüsselten Speicher verschoben. Lektion: Sensible Daten bleiben immer verschlüsselt.

Fall 3 – Unangekündigter Push-to-Cloud. Eine App sendete die täglichen Notizen der Benutzer an ein Cloud-LLM, um sie zusammenzufassen, teilte dem Benutzer dies jedoch nicht mit. Als die Presse darüber berichtete, kam es zu einem Vertrauensverlust und zu einem Verlust der rechtlichen Kontrolle. Das Team fügte eine klare Benachrichtigung und Bestätigung sowie eine Option auf dem Gerät hinzu. Lektion: Der Benutzer muss wissen und bestätigen, dass die Daten an die KI gesendet werden.

Schwache Eingabeaufforderung / Starke Eingabeaufforderung

Schwache Aufforderung: „Standorterlaubnis anfordern.“

Leistungsstarke Eingabeaufforderung: „Standortberechtigung auf iOS/Swift nach dem Prinzip der geringsten Berechtigung anfordern. – Berechtigung nur ‚bei Verwendung‘, nicht ‚immer‘ – Info.plist-Beschreibung: ‚Zum Anzeigen von Geschäften in der Nähe‘ – Wenn die Berechtigung verweigert wird: Option zur manuellen Auswahl einer Stadt anbieten, Absturz – Wenn die Berechtigung zuvor verweigert wurde, leiten Sie zu den Einstellungen weiter. Fügen Sie nicht mehr Berechtigungen als nötig hinzu. Schreiben Sie auch den Verweigerungsablauf.“

Kopierbare Vorlagen

Vorlage zum Anfordern einer Berechtigung: „Berechtigung [Berechtigungstyp] für [Plattform] anfordern. – Minimaler Umfang (bei Verwendung/nach Bedarf) – Im Kontext, mit begründeter Erklärung – Höfliche Alternative im Falle einer Ablehnung, niemals abstürzen – Geben Sie auch den Info.plist-/Manifest-Eintrag an. Fügen Sie keine zusätzlichen Berechtigungen hinzu; begründen Sie jede Berechtigung.“

Berechtigungsprüfungsvorlage: „Überprüfen Sie die von meiner App angeforderten Berechtigungen: [Berechtigungsliste + Eigenschaften]. Wird für jede Berechtigung diese wirklich benötigt? Wäre ein engerer Bereich ausreichend? Würde dies zur Ablehnung des Speichers führen? Als unnötig markieren.“

Vorlage für sichere Datenspeicherung: „Sensible Daten ([Typ]) für [Plattform] sicher speichern: – Mit Schlüsselbund/Keystore verschlüsselt – Nicht unnötig lange im Speicher aufbewahren – Nicht in Protokolle und Backups eindringen. Code und Überprüfungsschritte bereitstellen.“

Vorlage zum Senden von Daten an AI: „Ich denke darüber nach, die folgenden Daten an einen Cloud-KI-Dienst zu senden: [Daten]. Bewerten Sie: Ist das wirklich notwendig?

Häufige Fehler

  • Ich bitte um mehr Erlaubnis als nötig. Dreifache Gefährdung von Vertrauen, Store-Zulassung und Sicherheit.
  • Beim Start werden Berechtigungen in großen Mengen angefordert. Eine Erlaubnisanfrage ohne Kontext wird abgelehnt; Fordern Sie die Funktion sofort an.
  • Das Ablehnungsskript wird nicht geschrieben. Dass die App abstürzt, wenn die Berechtigung verweigert wird, ist sowohl schlecht als auch abgelehnt.
  • Speicherung sensibler Daten ohne Passwort. Gesundheit, Finanzen und Passwörter müssen in einem sicheren Speicher aufbewahrt werden.
  • Senden von Daten an die Cloud/KI, ohne den Benutzer zu informieren. Rechts- und Ethikverstöße; Es besteht eine Anzeige- und Genehmigungspflicht.
  • Unbefugter Einsatz von Sicherheitstechniken. Es ist nur zu Verteidigungszwecken auf Ihrem eigenen System legitim.

Zusammenfassend

Datenschutz und Sicherheit werden von Anfang an entworfen und nicht später hinzugefügt. Das Grundprinzip ist das Prinzip der geringsten Privilegierung: Bitten Sie nur dann um die erforderliche Erlaubnis, wenn nötig, mit Begründung, und bieten Sie im Falle einer Ablehnung eine höfliche Alternative an. Sensible Daten werden verschlüsselt gespeichert und über eine verschlüsselte Verbindung übertragen. Datenminimierung ist der stärkste Schutz: Daten, die Sie nicht sammeln, können nicht verloren gehen. Das Senden von Daten an KI, insbesondere an die Cloud, ist eine Datenschutzentscheidung für sich; Die Notwendigkeit wird hinterfragt, möglichst on-device bevorzugt, der Nutzer informiert und sein Einverständnis eingeholt. Jeder erzeugte Code wird auf die Tendenz der KI überprüft, übermäßig viele Berechtigungen hinzuzufügen und unsicher zu speichern. Sicherheitstechniken werden nur für autorisierte und defensive Zwecke eingesetzt.

Anwendungsaufgabe

Erstellen Sie eine Liste der Berechtigungen, die eine Anwendung (Ihr eigenes oder imaginäres Projekt) anfordert, und lassen Sie die KI mithilfe der „Berechtigungsprüfungsvorlage“ prüfen, welche Berechtigungen unnötig oder übertrieben sind. Verfeinern oder entfernen Sie mindestens eine Berechtigung und schreiben Sie das Ablehnungsszenario für diese Funktion. Wenn Sie Benutzerdaten an die Cloud senden, ermitteln Sie außerdem das sicherste Design mit der „Entscheidungsvorlage für das Senden von Daten an AI“ und schreiben Sie den Benutzergenehmigungstext.

Checkliste

  • [ ] Ich habe jede Erlaubnis mit Begründung beantragt, mit dem Prinzip der geringsten Privilegien.
  • [ ] Ich habe um Berechtigungen im Kontext gebeten, zum Zeitpunkt der Veröffentlichung, nicht in großen Mengen beim Start
  • [ ] Ich habe für jede Berechtigung ein Ablehnungsskript geschrieben, keine Abstürze
  • [ ] Ich habe sensible Daten verschlüsselt mit Schlüsselbund/Keystore gespeichert
  • [ ] Ich habe die Daten, die in die Cloud/KI gehen, minimiert und die Benutzergenehmigung hinzugefügt
  • [ ] Ich habe Sicherheitstechniken auf meinem eigenen System nur zu Verteidigungszwecken eingesetzt