Jednotka 9 / 11

Ochrana osobných údajov, povolenia a bezpečné používanie

zisky:

  • Schopnosť požiadať o povolenia s odôvodnením, kontextom a scenárom odmietnutia s použitím princípu najmenšieho privilégia
  • Schopnosť ukladať citlivé dáta zašifrované pomocou Keychain/Keystore, aplikovať minimalizáciu dát a kontrolovať tendenciu umelej inteligencie pridávať príliš veľa povolení
  • Schopnosť riadiť tok používateľských údajov do cloudu alebo služby umelej inteligencie ako rozhodnutie o ochrane osobných údajov, získať súhlas používateľa a používať bezpečnostné techniky iba na autorizované obranné účely

Mobilná aplikácia funguje na najsúkromnejšom zariadení používateľa: pozná jeho polohu, kontakty, fotografie, zdravotné údaje, mikrofón. Tento prístup je veľká sila a moc znamená zodpovednosť. Súkromie a bezpečnosť nie sú „doplnkovou funkciou“ pri vývoji mobilných zariadení, ale princípom, ktorý je od začiatku votknutý do architektúry; Toto sa nazýva súkromie už od návrhu. Navyše to nie je len etická voľba, je to zákonná (KVKK, GDPR) a obchodná povinnosť (App Store, Google Play). V tejto lekcii sa naučíme, ako správne žiadať o povolenia, bezpečne spracovávať dáta, používať AI ako asistenta v tejto oblasti a chrániť sa pred jej nástrahami. V kontexte AI existuje ďalší kritický problém: používateľské údaje smerujúce do modelov AI (najmä do cloudu) sú samo osebe rozhodnutím o ochrane osobných údajov.

Umenie požiadať o povolenie: najmenšie privilégium

Základným princípom bezpečnosti je najmenšie privilégium (nežiadanie o viac privilégií, ako vyžaduje práca). Vaša aplikácia by mala požiadať o povolenie, ktoré skutočne potrebuje, v čase, keď to potrebuje. Ak nie je k dispozícii žiadna funkcia fotoaparátu, povolenie fotoaparátu sa nebude vyžadovať; Ak sa poloha vyžaduje len vtedy, keď je mapa otvorená, stačí povolenie „pri používaní“, nie „vždy“. Nadmerné povolenia spôsobujú trojitú škodu: podkopávajú dôveru používateľov, vedú k odmietnutiu obchodu a zväčšujú riziko úniku údajov.

Dôležité je správne načasovanie a vysvetlenie žiadosti o povolenie. Požiadajte používateľa o povolenie v kontexte a s odôvodnením, napríklad „Na naskenovanie potvrdenky je potrebný prístup k fotoaparátu“. iOS vyžaduje tento popis v Info.plist; Prázdny alebo zavádzajúci popis je odmietnutie obchodu.

Typ povolenia

zlý prístup

dobrý prístup

načasovanie

Vyžiadajte si všetko pri spustení

pri používaní funkcie

Rozsah

"Vždy umiestnenie"

"poloha pri používaní"

Popis

Prázdne alebo všeobecné

Konkrétne, konkrétne odôvodnenie

stav odmietnutia

Aplikácia padá/zlyhá

Láskavo ponúka alternatívy

Tip: Vaša aplikácia by mala byť schopná pokračovať v prevádzke, keď bude zamietnuté povolenie. Ak používateľ odmietne kameru, ponúknite možnosť „manuálneho prihlásenia“. Nariadenie „povoľte, inak aplikácia nebude fungovať“ je zlá skúsenosť aj problém obchodu. Pri tlači kódu povolenia pre AI vždy požiadajte o scenár odmietnutia.

Kód súhlasu a ochrany osobných údajov s AI: úvahy

AI rýchlo generuje kód vyžadujúci povolenie, má však dve typické úskalia. Po prvé, pridanie viac povolení, ako je potrebné: ​​umiestnenie, kontakty môžu hromadne ukladať povolenia na ukladanie „pre každý prípad“. Po druhé, preskočenie scenára odmietnutia: stačí napísať stav „povolené“ a ignorovať odmietnutie. Pri každom vygenerovanom povolení sa vás opýta: „Je to naozaj potrebné?“ a "Čo sa stane, ak bude odmietnutý?" Opýtajte sa na svoje otázky.

Upozornenie: Vzorový kód vygenerovaný AI môže uchovávať používateľské údaje bez šifrovania alebo ich prenášať nezabezpečene. Citlivé údaje (heslo, zdravie, financie) by sa mali uchovávať v zabezpečenom úložisku v zariadení (Kľúčenka — iOS, Keystore — Android; šifrovaná oblasť trezoru operačného systému) a prenášané v sieti prostredníctvom šifrovaného pripojenia (HTTPS/TLS). AI to nie vždy robí spontánne; Jasne sa pýtajte a overujte.

Minimalizácia údajov a odosielanie údajov do AI

Údaje, ktoré nezhromažďujete, nemôžu uniknúť. Minimalizácia údajov (zhromažďovanie iba skutočne potrebných údajov) je najsilnejším nástrojom na ochranu súkromia. Vo funkciách AI je tento princíp dvojnásobne dôležitý: pri odosielaní údajov do cloudovej LLM alebo externej služby AI sú tieto údaje mimo vašej kontroly. Pred odoslaním zdravotného záznamu používateľa, obsahu konverzácie alebo osobných informácií do cloudu si položte tri otázky: (1) Sú tieto údaje skutočne potrebné? (2) Dá sa spracovať na zariadení? (3) Ak sa má odoslať, pozná ho používateľ a schvaľuje ho? Je to zákonná aj etická požiadavka jasne informovať používateľa, že jeho údaje smerujú do služby AI.

Bezpečné používanie a obranné zameranie

Upozornenie z hľadiska IT a bezpečnosti: techniky získané v tomto module sú určené len na autorizované a obranné použitie. Je legitímne testovať bezpečnosť vlastnej aplikácie, chrániť používateľské údaje a zatvárať zraniteľné miesta. Spätné inžinierstvo cudzej aplikácie bez povolenia, zhromažďovanie používateľských údajov bez súhlasu alebo používanie AI na vytváranie škodlivého softvéru je nezákonné a neetické. Keď žiadate AI o bezpečnostnú pomoc, vždy zostaňte v rámci obrany vlastného systému.

tri mini prípady

Prípad 1 – odmietnutie nadmernej dovolenky. Aplikácia s poznámkami si pri spustení vyžiadala povolenia pre kameru, mikrofón, polohu a kontakt s kódom vytvoreným AI. Google Play vydanie zamietlo s odvolaním sa na „funkcie irelevantné povolenia“. Vydanie bolo schválené, keď tím uvoľnil iba povolenie na ukladanie, ktoré bolo skutočne použité. Ponaučenie: každá dovolenka navyše je riziko.

Prípad 2 – Ukladanie bez hesla. Zdravotná aplikácia uložila používateľské merania do obyčajného textového súboru ako v príklade AI. Bezpečnostný audit zistil, že každý, kto získal zariadenie, mohol čítať všetky zdravotné údaje. Údaje boli presunuté do šifrovaného úložiska pomocou úložiska kľúčov/kľúče. Poučenie: citlivé údaje ostávajú vždy zašifrované.

Prípad 3 – Neohlásené push to cloud. Aplikácia odosielala denné poznámky používateľov do cloudového LLM, aby ich zhrnula, ale používateľovi to nepovedala. Keď sa to objavilo v tlači, došlo k strate dôvery a právnej kontroly. Tím pridal jasné upozornenie a potvrdenie, ako aj možnosť na zariadení. Poučenie: Používateľ musí vedieť a potvrdiť, že údaje idú do AI.

Slabá výzva / Silná výzva

Slabá výzva: „Požiadajte o povolenie na umiestnenie.“

Výkonná výzva: "Požiadajte o povolenie na umiestnenie v systéme iOS/Swift s princípom najmenších privilégií. - Iba povolenie "keď sa používa", nie "vždy" - Popis Info.plist: "Zobraziť obchody v okolí" - Ak je povolenie odmietnuté: ponúknite možnosť manuálneho výberu mesta, zlyhajte - Ak bolo povolenie predtým zamietnuté, presmerovajte na nastavenia Nepridávajte viac povolení, ako je potrebné. Napíšte postup odmietnutia."

Kopírovateľné šablóny

Šablóna na vyžiadanie povolenia: "Požiadať o povolenie [typ povolenia] pre [platformu].- Minimálny rozsah (pri používaní/podľa potreby)- V kontexte, s odôvodneným vysvetlením- Zdvorilá alternatíva v prípade odmietnutia, nikdy nezlyháva- Uveďte tiež položku Info.plist / Manifest Nepridávajte ďalšie povolenia; zdôvodnite každé povolenie."

Šablóna auditu povolení: „Skontrolujte povolenia, ktoré moja aplikácia požaduje: [zoznam povolení + vlastnosti]. Pre každé povolenie: je naozaj potrebné? Stačil by užší rozsah? Viedlo by to k odmietnutiu obchodu? Označenie je zbytočné.“

Šablóna bezpečného ukladania údajov: „Bezpečne uložte citlivé údaje ([typ]) pre [platformu]:- Šifrované pomocou Keychain/Keystore- Neuchovávajte v pamäti zbytočne dlho- Neunikajte do protokolov a záloh Poskytnite kód a overovacie kroky.“

Šablóna na odosielanie údajov do AI: "Uvažujem o odoslaní nasledujúcich údajov do cloudovej služby AI: [údaje]. Vyhodnotiť: je to naozaj potrebné? Dá sa to spracovať na zariadení? Ak sa odošle, ktoré polia by mali byť maskované? Ako treba získať súhlas používateľa? Odporučiť čo najbezpečnejší dizajn z hľadiska ochrany osobných údajov."

Časté chyby

  • Žiadosť o viac povolení, ako je potrebné. Trojité ohrozenie dôvery, schválenia obchodu a bezpečnosti.
  • Hromadné vyžiadanie povolení pri spustení. Žiadosť o povolenie bez kontextu je zamietnutá; požiadajte o funkciu okamžite.
  • Nepíšem scenár odmietnutia. Zlyhanie aplikácie pri zamietnutí povolenia je zlé aj odmietnuté.
  • Ukladanie citlivých údajov bez hesla. Zdravie, financie a heslá musia byť uložené v bezpečnom úložisku.
  • Odosielanie údajov do cloudu/AI bez informovania používateľa. Právne a etické porušenie; Vyžaduje sa oznámenie a schválenie.
  • Neoprávnené použitie bezpečnostných techník. Je to legitímne len na obranné účely vášho vlastného systému.

V súhrne

Súkromie a bezpečnosť sú navrhnuté od začiatku, nepridávajú sa neskôr. Základným princípom je najmenšie privilégium: v prípade potreby žiadajte len o nevyhnutné povolenie s odôvodnením a v prípade odmietnutia ponúknite zdvorilú alternatívu. Citlivé údaje sú uložené v šifrovanom úložisku a prenášané prostredníctvom šifrovaného spojenia. Najsilnejšou ochranou je minimalizácia údajov: údaje, ktoré nezhromažďujete, nemôžu uniknúť. Odosielanie údajov do AI, najmä do cloudu, je samo osebe rozhodnutím o ochrane osobných údajov; Jeho nevyhnutnosť je spochybnená, ak je to možné, uprednostňuje sa na zariadení, používateľ je informovaný a získa sa jeho súhlas. Každý vytvorený kód je kontrolovaný proti tendenciám AI pridávať nadmerné povolenia a ukladať ich neisto. Bezpečnostné techniky sa používajú len na autorizované a obranné účely.

Aplikačná úloha

Urobte si zoznam povolení, ktoré aplikácia (váš vlastný projekt alebo imaginárny projekt) požaduje, a nechajte AI skontrolovať, ktoré z nich sú zbytočné alebo presahujúce pomocou „Šablóny auditu povolení“. Upravte alebo odstráňte aspoň jedno povolenie a napíšte scenár odmietnutia pre túto funkciu. Okrem toho, ak odosielate používateľské údaje do cloudu, určte najbezpečnejší dizajn pomocou „šablóny rozhodnutia o odosielaní údajov do AI“ a napíšte text schválenia používateľa.

kontrolný zoznam

  • [ ] O každé povolenie som požiadal s odôvodnením, so zásadou najmenšieho privilégia.
  • [ ] Požiadal som o povolenia v kontexte, v čase funkcie, nie hromadne pri spustení
  • [ ] Napísal som skript odmietnutia pre každé povolenie, žiadne pády
  • [ ] Uložil som citlivé údaje zašifrované pomocou Keychain/Keystore
  • [ ] Minimalizoval som údaje smerujúce do cloudu/AI a pridal som súhlas používateľov
  • [ ] Bezpečnostné techniky som používal iba na svojom vlastnom systéme na obranné účely