Jednostka 9 / 11

Prywatność, uprawnienia i bezpieczne użytkowanie

Zyski:

  • Możliwość żądania uprawnień z uzasadnieniem, kontekstem i scenariuszem odrzucenia, przy zastosowaniu zasady najmniejszych uprawnień
  • Możliwość przechowywania wrażliwych danych zaszyfrowanych za pomocą pęku kluczy/magazynu kluczy, stosowania minimalizacji danych i kontrolowania tendencji sztucznej inteligencji do dodawania zbyt wielu uprawnień
  • Możliwość zarządzania przepływem danych użytkownika do chmury lub usługi sztucznej inteligencji w ramach decyzji dotyczącej prywatności, uzyskiwania zgody użytkownika i stosowania technik bezpieczeństwa wyłącznie w autoryzowanych celach obronnych

Aplikacja mobilna działa na najbardziej prywatnym urządzeniu użytkownika: zna jego lokalizację, kontakty, zdjęcia, dane o stanie zdrowia, mikrofon. Dostęp ten to wielka moc, a władza oznacza odpowiedzialność. Prywatność i bezpieczeństwo nie są „dodatkową funkcją” w rozwoju urządzeń mobilnych, ale zasadą wplecioną w architekturę od początku; Nazywa się to prywatnością w fazie projektowania. Co więcej, jest to nie tylko wybór etyczny, ale obowiązek prawny (KVKK, RODO) i sklepowy (App Store, Google Play). W tym module dowiemy się, jak prawidłowo prosić o uprawnienia, bezpiecznie przetwarzać dane, wykorzystywać AI jako asystenta w tym zakresie i chronić się przed jej pułapkami. W kontekście sztucznej inteligencji pojawia się jeszcze jedna kluczowa kwestia: dane użytkownika trafiające do modeli sztucznej inteligencji (zwłaszcza do chmury) same w sobie stanowią decyzję dotyczącą prywatności.

Sztuka proszenia o pozwolenie: najmniejszy przywilej

Podstawową zasadą bezpieczeństwa jest najmniejsze przywileje (nie proszenie o więcej przywilejów, niż wymaga tego praca). Twoja aplikacja powinna pytać o pozwolenie, którego naprawdę potrzebuje, wtedy, gdy tego potrzebuje. Jeśli nie ma funkcji aparatu, prośba o pozwolenie na korzystanie z aparatu nie zostanie wyświetlona; Jeśli lokalizacja jest wymagana tylko wtedy, gdy mapa jest otwarta, wystarczy uprawnienie „podczas korzystania”, a nie „zawsze”. Nadmierne uprawnienia powodują potrójną szkodę: podważają zaufanie użytkowników, prowadzą do odrzucenia przez sklep i zwiększają ryzyko wycieku danych.

Właściwy moment i wyjaśnienie prośby o pozwolenie ma kluczowe znaczenie. Zapytaj użytkownika o pozwolenie w kontekście i z uzasadnieniem, np. „Aby zeskanować paragon, wymagany jest dostęp do aparatu”. iOS wymaga tego opisu w pliku Info.plist; Pusty lub wprowadzający w błąd opis oznacza odrzucenie sklepu.

Typ pozwolenia

złe podejście

dobre podejście

czas

Poproś o wszystko przy starcie

monit podczas korzystania z tej funkcji

Zakres

„Zawsze lokalizacja”

„lokalizacja podczas używania”

Opis

Puste lub ogólne

Konkretne, konkretne uzasadnienie

stan odrzucenia

Aplikacja ulega awarii/awariom

Uprzejmie oferuje alternatywy

Wskazówka: Twoja aplikacja powinna móc kontynuować działanie w przypadku odmowy pozwolenia. Jeśli użytkownik odrzuci kamerę, zaoferuj opcję „logowania ręcznego”. Narzucenie „zezwól, bo inaczej aplikacja nie będzie działać” jest zarówno złym doświadczeniem, jak i problemem sklepu. Zawsze pytaj o scenariusz odrzucenia podczas drukowania kodu pozwolenia do AI.

Zgoda i kodeks prywatności z AI: rozważania

Sztuczna inteligencja szybko generuje kod żądający pozwolenia, ale ma dwie typowe pułapki. Po pierwsze, dodanie większej liczby uprawnień niż to konieczne: lokalizacja, kontakty mogą zbiorczo umieścić uprawnienia do przechowywania „na wszelki wypadek”. Po drugie, pomiń scenariusz odrzucenia: po prostu wpisz status „dozwolony” i zignoruj ​​​​odrzucenie. Przy każdym wygenerowanym pozwoleniu zostaniesz zapytany: „Czy to naprawdę konieczne?” i „co się stanie, jeśli zostanie odrzucony?” Zadawaj pytania.

Uwaga: przykładowy kod wygenerowany przez sztuczną inteligencję może przechowywać dane użytkownika bez szyfrowania lub przesyłać je w sposób niepewny. Wrażliwe dane (hasło, zdrowie, finanse) powinny być przechowywane w bezpiecznym miejscu na urządzeniu (Keychain — iOS, Keystore — Android; zaszyfrowany obszar skarbca systemu operacyjnego) i przesyłane w sieci za pośrednictwem szyfrowanego połączenia (HTTPS/TLS). Sztuczna inteligencja nie zawsze robi to spontanicznie; Zapytaj wyraźnie i zweryfikuj.

Minimalizacja danych i przesyłanie danych do AI

Dane, których nie zbierzesz, nie mogą wyciekać. Minimalizacja danych (gromadzenie tylko tych danych, które są rzeczywiście potrzebne) to najpotężniejsze narzędzie zapewniające prywatność. W przypadku funkcji AI zasada ta jest podwójnie ważna: podczas wysyłania danych do chmury LLM lub zewnętrznej usługi AI, dane te są poza Twoją kontrolą. Zanim wyślesz do chmury informację o stanie zdrowia użytkownika, treść rozmowy lub dane osobowe, zadaj trzy pytania: (1) Czy te dane są naprawdę potrzebne? (2) Czy można go przetwarzać na urządzeniu? (3) Jeśli ma zostać wysłany, czy użytkownik o tym wie i zatwierdza? Wyraźne poinformowanie użytkownika, że ​​jego dane trafiają do usługi AI, jest wymogiem zarówno prawnym, jak i etycznym.

Bezpieczne użytkowanie i koncentracja na obronie

Ostrzeżenie z punktu widzenia IT i bezpieczeństwa: techniki poznane w tym module są przeznaczone wyłącznie do autoryzowanego i defensywnego użytku. Uzasadnione jest testowanie bezpieczeństwa własnej aplikacji, ochrona danych użytkownika i eliminowanie luk. Inżynieria wsteczna cudzej aplikacji bez pozwolenia, zbieranie danych użytkownika bez zgody lub wykorzystywanie sztucznej inteligencji do tworzenia złośliwego oprogramowania jest nielegalne i nieetyczne. Prosząc sztuczną inteligencję o pomoc w zakresie bezpieczeństwa, zawsze pozostawaj w ramach obrony własnego systemu.

trzy mini etui

Przypadek 1 – Odmowa nadmiernego urlopu. Aplikacja do notatek przy uruchomieniu żądała uprawnień do kamery, mikrofonu, lokalizacji i kontaktu za pomocą kodu wygenerowanego przez sztuczną inteligencję. Google Play odrzucił tę wersję, powołując się na „uprawnienia nieistotne dla funkcji”. Wydanie zostało zatwierdzone, gdy zespół udostępnił tylko faktycznie wykorzystane pozwolenie na przechowywanie. Lekcja: każdy dodatkowy urlop to ryzyko.

Przypadek 2 — Przechowywanie bez hasła. Aplikacja zdrowotna przechowywała pomiary użytkownika w zwykłym pliku tekstowym, jak w przykładzie AI. Audyt bezpieczeństwa wykazał, że każdy, kto zdobył urządzenie, mógł odczytać wszystkie dane dotyczące jego stanu zdrowia. Dane zostały przeniesione do zaszyfrowanego magazynu za pomocą magazynu kluczy/pęku kluczy. Lekcja: wrażliwe dane zawsze pozostają zaszyfrowane.

Przypadek 3 — Niezapowiedziane przesyłanie danych do chmury. Aplikacja wysyłała codzienne notatki użytkowników do chmury LLM w celu ich podsumowania, ale nie informowała o tym użytkownika. Kiedy ogłoszono to w prasie, doszło do utraty zaufania i kontroli prawnej. Zespół dodał jasne powiadomienie i potwierdzenie, a także opcję na urządzeniu. Lekcja: użytkownik musi wiedzieć i potwierdzić, że dane trafiają do AI.

Słaba zachęta/silna zachęta

Słaby monit: „Poproś o pozwolenie na lokalizację”.

Potężny monit: „Poproś o pozwolenie na lokalizację w systemie iOS/Swift, stosując zasadę najmniejszych uprawnień. - Tylko pozwolenie „podczas używania”, a nie „zawsze” – Opis pliku Info.plist: „Aby wyświetlić sklepy w pobliżu” – W przypadku odmowy pozwolenia: zaoferuj opcję ręcznego wyboru miasta, awaria – Jeśli wcześniej odmówiono pozwolenia, przekieruj do ustawień Nie dodawaj więcej uprawnień, niż to konieczne. Zapisz także przepływ odmowy.

Szablony do kopiowania

Szablon prośby o pozwolenie: „Poproś o pozwolenie [rodzaj zezwolenia] dla [platformy]. – Minimalny zakres (podczas używania/w razie potrzeby) – W kontekście, z uzasadnionym wyjaśnieniem – Uprzejma alternatywa w przypadku odrzucenia, nigdy się nie zawiesza – Podaj też wpis Info.plist / Manifest Nie dodawaj dodatkowych uprawnień; uzasadnij każde pozwolenie.

Szablon audytu uprawnień: „Sprawdź, o jakie uprawnienia prosi moja aplikacja: [lista uprawnień + właściwości]. Dla każdego uprawnienia: czy jest ono naprawdę potrzebne? Czy wystarczy węższy zakres? Czy doprowadzi to do odrzucenia przez sklep? Oznacz niepotrzebne.”

Szablon bezpiecznego przechowywania danych: „Bezpiecznie przechowuj wrażliwe dane ([typ]) dla [platforma]: – Zaszyfrowane za pomocą pęku kluczy/magazynu kluczy – Nie przechowuj w pamięci niepotrzebnie długo – Nie wyciekaj do dzienników i kopii zapasowych. Podaj kod i kroki weryfikacyjne.

Szablon przesyłania danych do AI: „Rozważam przesłanie do usługi AI w chmurze następujących danych: [dane]. Oceń: czy jest to naprawdę konieczne? Czy można je przetwarzać na urządzeniu? Jeśli zostaną wysłane, które pola należy zamaskować? W jaki sposób należy uzyskać zgodę użytkownika? Zaproponuj najbezpieczniejszy projekt pod względem prywatności.

Typowe błędy

  • Prośba o więcej uprawnień niż to konieczne. Potrójne zagrożenie dla zaufania, akceptacji sklepu i bezpieczeństwa.
  • Zbiorcze żądanie uprawnień przy uruchomieniu. Prośba o pozwolenie bez kontekstu zostaje odrzucona; natychmiast zażądaj tej funkcji.
  • Nie pisanie skryptu odrzucenia. Awaria aplikacji w przypadku odmowy pozwolenia jest zarówno zła, jak i odrzucona.
  • Przechowywanie wrażliwych danych bez hasła. Zdrowie, finanse i hasła muszą być przechowywane w bezpiecznym miejscu.
  • Wysyłanie danych do chmury/AI bez informowania użytkownika. Naruszenie prawa i etyki; Wymagane jest powiadomienie i zatwierdzenie.
  • Nieuprawnione użycie technik bezpieczeństwa. Jest to uzasadnione wyłącznie w celach obronnych w twoim własnym systemie.

Podsumowując

Prywatność i bezpieczeństwo są projektowane od początku, a nie dodawane później. Podstawową zasadą jest najmniejszy przywilej: proś tylko o niezbędne pozwolenie, jeśli to konieczne, z uzasadnieniem i zaoferuj uprzejmą alternatywę w przypadku odmowy. Wrażliwe dane są przechowywane w zaszyfrowanym magazynie i przesyłane za pośrednictwem szyfrowanego połączenia. Minimalizacja danych to najsilniejsza ochrona: dane, których nie zbierzesz, nie mogą wyciekać. Wysyłanie danych do sztucznej inteligencji, zwłaszcza do chmury, samo w sobie stanowi decyzję dotyczącą prywatności; Kwestionuje się jego konieczność, jeśli to możliwe, preferuje się korzystanie z urządzenia, użytkownik jest informowany i uzyskuje się jego zgodę. Każdy wygenerowany kod jest sprawdzany pod kątem tendencji sztucznej inteligencji do dodawania nadmiernych uprawnień i niepewnego przechowywania. Techniki zabezpieczeń są stosowane wyłącznie w celach autoryzowanych i obronnych.

Zadanie aplikacji

Zrób listę uprawnień, o które prosi aplikacja (własny projekt lub wyimaginowany), i poproś sztuczną inteligencję, aby sprawdziła, które z nich są niepotrzebne lub wykraczają poza zakres, korzystając z „szablonu audytu uprawnień”. Popraw lub usuń co najmniej jedno uprawnienie i napisz scenariusz odmowy dla tej funkcji. Dodatkowo, jeśli wysyłasz dane użytkownika do chmury, ustal najbezpieczniejszy projekt za pomocą „Wzoru decyzji o wysłaniu danych do AI” i napisz tekst akceptacji użytkownika.

lista kontrolna

  • [ ] O każde pozwolenie prosiłem z uzasadnieniem, zachowując zasadę najmniejszego uprzywilejowania.
  • [ ] Poprosiłem o uprawnienia kontekstowe, w czasie działania, a nie zbiorcze podczas uruchamiania
  • [ ] Napisałem skrypt odrzucający dla każdego pozwolenia, bez awarii
  • [ ] Przechowuję poufne dane zaszyfrowane za pomocą pęku kluczy/magazynu kluczy
  • [ ] Zminimalizowałem dane przesyłane do chmury/AI i dodałem zgodę użytkownika
  • [ ] Technik bezpieczeństwa użyłem tylko w moim własnym systemie w celach obronnych