Jednotka 9 / 11

Ochrana osobních údajů, oprávnění a bezpečné použití

zisky:

  • Schopnost žádat o oprávnění s odůvodněním, kontextem a scénářem odmítnutí s využitím principu nejmenšího privilegia
  • Schopnost ukládat citlivá data zašifrovaná pomocí Keychain/Keystore, aplikovat minimalizaci dat a kontrolovat tendenci umělé inteligence přidávat příliš mnoho oprávnění
  • Schopnost řídit tok uživatelských dat do cloudu nebo služby umělé inteligence jako rozhodnutí o ochraně soukromí, získat souhlas uživatele a používat bezpečnostní techniky pouze pro autorizované obranné účely

Mobilní aplikace funguje na nejsoukromějším zařízení uživatele: zná jeho polohu, kontakty, fotografie, zdravotní údaje, mikrofon. Tento přístup je velkou silou a moc znamená zodpovědnost. Soukromí a bezpečnost nejsou „doplňkovou funkcí“ v mobilním vývoji, ale principem vetkaným do architektury od začátku; Tomu se říká soukromí coby design. Navíc to není jen etická volba, je to zákonná (KVKK, GDPR) a obchodová povinnost (App Store, Google Play). V této jednotce se naučíme, jak správně žádat o oprávnění, bezpečně zpracovávat data, používat AI jako asistenta v této oblasti a chránit se před jejími nástrahami. V kontextu umělé inteligence existuje další kritický problém: uživatelská data odesílaná do modelů umělé inteligence (zejména do cloudu) jsou sama o sobě rozhodnutím o ochraně soukromí.

Umění požádat o povolení: nejmenší privilegium

Základním principem zabezpečení je nejmenší privilegia (nežádání o více oprávnění, než vyžaduje práce). Vaše aplikace by měla žádat pouze o povolení, které skutečně potřebuje, v době, kdy je potřebuje. Pokud není k dispozici žádná funkce fotoaparátu, nebude vyžadováno povolení fotoaparátu; Pokud je poloha vyžadována pouze při otevřené mapě, stačí oprávnění „při používání“, nikoli „vždy“. Nadměrná oprávnění způsobují trojí škody: podkopávají důvěru uživatelů, vedou k odmítnutí úložiště a zvyšují riziko úniku dat.

Správné načasování a vysvětlení žádosti o povolení je zásadní. Požádejte uživatele o povolení v kontextu a s odůvodněním, například „K naskenování účtenky je vyžadován přístup k fotoaparátu“. iOS vyžaduje tento popis v Info.plist; Prázdný nebo zavádějící popis je odmítnutí obchodu.

Typ oprávnění

špatný přístup

dobrý přístup

načasování

Vyžádejte si vše při spuštění

výzva při použití funkce

Rozsah

"Vždy umístění"

"poloha při používání"

Popis

Prázdné nebo obecné

Konkrétní, konkrétní zdůvodnění

stav odmítnutí

Aplikace padá/selhá

Laskavě nabízí alternativy

Tip: Vaše aplikace by měla být schopna pokračovat v běhu, když je oprávnění odepřeno. Pokud uživatel kameru odmítne, nabídněte možnost „ručního přihlášení“. Vnucování „povolte, nebo aplikace nebude fungovat“ je jak špatná zkušenost, tak problém obchodu. Při tisku kódu oprávnění pro AI vždy požádejte o scénář odmítnutí.

Souhlas a kód ochrany soukromí s AI: úvahy

Umělá inteligence rychle generuje kód vyžadující povolení, ale má dvě typická úskalí. Za prvé, přidání více oprávnění, než je nutné: ​​umístění, kontakty mohou hromadně ukládat oprávnění k úložišti "pro každý případ". Za druhé, přeskočení scénáře odmítnutí: stačí napsat stav „povoleno“ a ignorovat odmítnutí. U každého vygenerovaného povolení budete dotázáni "je to opravdu nutné?" a "co se stane, když bude odmítnut?" Ptejte se.

Upozornění: Ukázkový kód generovaný AI může ukládat uživatelská data bez šifrování nebo je přenášet nezabezpečeně. Citlivá data (heslo, zdraví, finance) by měla být uchovávána v zabezpečeném úložišti v zařízení (Keychain — iOS, Keystore — Android; šifrovaná oblast trezoru operačního systému) a přenášena v síti prostřednictvím šifrovaného připojení (HTTPS/TLS). AI to ne vždy dělá spontánně; Jasně se ptejte a ověřujte.

Minimalizace dat a odesílání dat do AI

Data, která neshromažďujete, nemohou uniknout. Minimalizace dat (shromažďování pouze skutečně potřebných dat) je nejmocnějším nástrojem ochrany soukromí. Ve funkcích AI je tento princip dvojnásob důležitý: při odesílání dat do cloudové LLM nebo externí služby AI jsou tato data mimo vaši kontrolu. Před odesláním zdravotní poznámky, obsahu konverzace nebo osobních údajů uživatele do cloudu si položte tři otázky: (1) Jsou tato data skutečně nezbytná? (2) Lze jej zpracovat na zařízení? (3) Má-li být odesláno, zná ho uživatel a schvaluje jej? Je zákonným i etickým požadavkem jasně informovat uživatele o tom, že jeho data putují do služby AI.

Bezpečné použití a obranné zaměření

Upozornění z hlediska IT a bezpečnosti: techniky získané v tomto modulu jsou určeny pouze pro autorizované a obranné použití. Je legitimní testovat zabezpečení vlastní aplikace, chránit uživatelská data a zavřít zranitelná místa. Zpětné inženýrství cizí aplikace bez povolení, shromažďování uživatelských dat bez souhlasu nebo používání umělé inteligence k vytváření malwaru je nezákonné a neetické. Když žádáte AI o bezpečnostní pomoc, vždy zůstaňte v rámci obrany vlastního systému.

tři mini pouzdra

Případ 1 – Odepření nadměrné dovolené. Aplikace Note požadovala při spuštění pomocí kódu vytvořeného AI oprávnění ke kameře, mikrofonu, poloze a kontaktu. Google Play vydání odmítlo s odkazem na „funkce irelevantní oprávnění“. Vydání bylo schváleno, když tým uvolnil pouze oprávnění úložiště, které bylo skutečně použito. Poučení: každá dovolená navíc je riziko.

Případ 2 — Ukládání bez hesla. Zdravotní aplikace uložila uživatelská měření do prostého textového souboru jako v příkladu AI. Bezpečnostní audit zjistil, že každý, kdo získal zařízení, mohl číst všechna zdravotní data. Data byla přesunuta do šifrovaného úložiště pomocí úložiště klíčů/přívěsků klíčů. Poučení: citlivá data zůstávají vždy zašifrována.

Případ 3 – Neohlášené push to cloud. Aplikace posílala denní poznámky uživatelů do cloudového LLM, aby je shrnula, ale uživateli to neřekla. Když se to objevilo v tisku, došlo ke ztrátě důvěry a právního dohledu. Tým přidal jasné upozornění a potvrzení, stejně jako možnost na zařízení. Ponaučení: uživatel musí vědět a potvrdit, že data jdou do AI.

Slabá výzva / Silná výzva

Slabá výzva: "Požádat o povolení k poloze."

Výkonná výzva: "Požadujte oprávnění k poloze v systému iOS/Swift s principem nejmenšího oprávnění. - Pouze oprávnění 'když se používá', nikoli 'vždy' - Popis Info.plist: 'Zobrazení obchodů v okolí' - Pokud je povolení odepřeno: nabídněte možnost ručního výběru města, havárie - Pokud bylo oprávnění dříve odepřeno, přesměrujte se na nastavení Nepřidávejte více oprávnění, než je nutné. Napište odmítací postup."

Kopírovatelné šablony

Šablona pro žádost o povolení: "Požádat o oprávnění [typ oprávnění] pro [platformu].- Minimální rozsah (při použití/podle potřeby)- V kontextu, s odůvodněným vysvětlením- Zdvořilá alternativa v případě odmítnutí, nikdy nepadat- Uveďte také záznam Info.plist / Manifest Nepřidávejte další oprávnění; každé oprávnění zdůvodněte."

Šablona auditu oprávnění: "Zkontrolujte oprávnění, která moje aplikace požaduje: [seznam oprávnění + vlastnosti]. Pro každé oprávnění: Je to skutečně potřeba? Stačil by užší rozsah? Vedlo by to k odmítnutí obchodu? Označení je zbytečné."

Šablona bezpečného ukládání dat: "Bezpečně ukládejte citlivá data ([typ]) pro [platformu]:- Šifrováno pomocí Keychain/Keystore- Neuchovávejte v paměti zbytečně dlouho- Neunikejte do protokolů a záloh Poskytněte kód a ověřovací kroky.“

Šablona pro odesílání dat do AI: "Uvažuji o odeslání následujících dat do cloudové AI služby: [data]. Vyhodnoťte: je to opravdu nutné? Lze je zpracovat na zařízení? Pokud jsou odeslána, která pole by měla být maskována? Jak získat souhlas uživatele? Doporučte co nejbezpečnější design z hlediska ochrany soukromí."

Časté chyby

  • Žádat o více povolení, než je nutné. Trojité ohrožení důvěry, schválení obchodu a bezpečnosti.
  • Hromadné vyžádání oprávnění při spuštění. Žádost o povolení bez kontextu je zamítnuta; vyžádejte si funkci okamžitě.
  • Nepíšem scénář odmítnutí. Selhání aplikace, když je povolení odepřeno, je jak špatné, tak zamítnuté.
  • Ukládání citlivých dat bez hesla. Zdraví, finance a hesla musí být uchovávány v bezpečném úložišti.
  • Odesílání dat do cloudu/AI bez informování uživatele. Právní a etické porušení; Vyžaduje se oznámení a schválení.
  • Neoprávněné použití bezpečnostních technik. Je legitimní pouze pro obranné účely na vašem vlastním systému.

V souhrnu

Soukromí a zabezpečení jsou navrženy od začátku, nepřidávají se později. Základní zásadou je nejmenší privilegium: požádat pouze o nezbytné povolení, je-li to nutné, s odůvodněním a nabídnout zdvořilou alternativu v případě odmítnutí. Citlivá data jsou uložena v šifrovaném úložišti a přenášena prostřednictvím šifrovaného připojení. Nejsilnější ochranou je minimalizace dat: data, která neshromažďujete, nemohou uniknout. Odesílání dat do AI, zejména do cloudu, je samo o sobě rozhodnutím o ochraně soukromí; Jeho nezbytnost je zpochybněna, pokud je to možné, upřednostňuje se on-device, uživatel je informován a získává se jeho souhlas. Každý vytvořený kód je kontrolován s ohledem na tendence AI přidávat nadměrná oprávnění a ukládat nejistě. Bezpečnostní techniky se používají pouze pro autorizované a obranné účely.

Aplikační úkol

Udělejte si seznam oprávnění, která aplikace (váš vlastní projekt nebo imaginární) požaduje, a nechte AI zkontrolovat, která z nich jsou zbytečná nebo překračující pomocí „šablony auditu oprávnění“. Upřesněte nebo odeberte alespoň jedno oprávnění a napište scénář zamítnutí pro danou funkci. Pokud navíc odesíláte uživatelská data do cloudu, určete nejbezpečnější návrh pomocí „šablony rozhodnutí o odeslání dat do AI“ a napište text schválení uživatele.

kontrolní seznam

  • [ ] O každé povolení jsem požádal s odůvodněním, se zásadou nejmenšího privilegia.
  • [ ] Požádal jsem o oprávnění v kontextu, v době funkce, ne hromadně při spuštění
  • [ ] Napsal jsem pro každé povolení skript pro odmítnutí, žádné pády
  • [ ] Uložil jsem citlivá data zašifrovaná pomocí Keychain/Keystore
  • [ ] Minimalizoval jsem data jdoucí do cloudu/AI a přidal jsem souhlas uživatele
  • [ ] Bezpečnostní techniky jsem používal pouze na svém vlastním systému pro obranné účely