Vienetas 9 / 11

Privatumas, leidimai ir saugus naudojimas

Pelnas:

  • Galimybė prašyti leidimų su pagrindimu, kontekstu ir atmetimo scenarijumi, naudojant mažiausios privilegijos principą
  • Galimybė saugoti slaptus duomenis, užšifruotus naudojant raktų pakabuką / raktų saugyklą, taikyti duomenų sumažinimą ir valdyti dirbtinio intelekto tendenciją pridėti per daug leidimų
  • Galimybė valdyti naudotojo duomenų srautą į debesį ar dirbtinio intelekto paslaugą kaip privatumo sprendimą, gauti vartotojo sutikimą ir naudoti saugos metodus tik įgaliotais, gynybiniais tikslais.

Mobilioji aplikacija veikia pačiame privačiame vartotojo įrenginyje: žino jo vietą, kontaktus, nuotraukas, sveikatos duomenis, mikrofoną. Ši prieiga yra didžiulė galia, o valdžia reiškia atsakomybę. Privatumas ir saugumas nėra „papildoma funkcija“ kuriant mobilųjį telefoną, o principas, įaustas į architektūrą nuo pat pradžių; Tai vadinama privatumu pagal dizainą. Be to, tai ne tik etiškas pasirinkimas, tai teisinis (KVKK, GDPR) ir parduotuvės (App Store, Google Play) įsipareigojimas. Šiame skyriuje išmoksime teisingai prašyti leidimų, saugiai apdoroti duomenis, naudoti dirbtinį intelektą kaip asistentą šioje srityje ir apsisaugoti nuo jo spąstų. AI kontekste yra dar viena svarbi problema: naudotojo duomenys, nukreipti į AI modelius (ypač debesį), yra pats privatumo sprendimas.

Menas prašyti leidimo: mažiausia privilegija

Pagrindinis saugumo principas – mažiausia privilegija (neprašyti daugiau privilegijų, nei reikalauja darbas). Jūsų programa turėtų prašyti tik leidimo, kurio jai tikrai reikia, tuo metu, kai jai jo reikia. Jei kameros funkcijos nėra, fotoaparato leidimo neprašoma; Jei vieta reikalinga tik atidarius žemėlapį, užtenka leidimo „naudojant“, o ne „visada“. Pertekliniai leidimai sukelia trigubą žalą: kenkia vartotojų pasitikėjimui, atmetama parduotuvė ir padidėja duomenų nutekėjimo rizika.

Tinkamas prašymo leidimo laikas ir paaiškinimas yra labai svarbūs. Paprašykite naudotojo leidimo atsižvelgiant į kontekstą ir pateisinimą, pvz., „Kameros prieiga reikalinga norint nuskaityti kvitą“. iOS reikalauja šio aprašymo Info.plist; Tuščias arba klaidinantis aprašymas yra parduotuvės atmetimas.

Leidimo tipas

blogas požiūris

geras požiūris

laiko nustatymas

Prašyti visko paleidimo metu

raginimas naudojant funkciją

Taikymo sritis

„Visada vieta“

„vieta naudojimo metu“

Aprašymas

Tuščia arba bendra

Konkretus, konkretus pagrindimas

atmetimo būsena

Programos strigčių / strigčių

Maloniai siūlo alternatyvas

Patarimas: jūsų programa turėtų veikti toliau, kai leidimas atmetamas. Jei vartotojas atmeta fotoaparatą, pasiūlykite „rankinio prisijungimo“ parinktį. Primetimas „leisk arba programa neveiks“ yra ir bloga patirtis, ir parduotuvės problema. Kai spausdinate leidimo kodą dirbtiniam intelektui, visada paprašykite atmetimo scenarijaus.

Sutikimas ir privatumo kodas naudojant AI: svarstymai

AI greitai sugeneruoja leidimo reikalaujantį kodą, tačiau jis turi du tipiškus spąstus. Pirma, pridedant daugiau leidimų nei būtina: vieta, kontaktai gali masiškai suteikti saugyklos leidimus „tik tuo atveju“. Antra, atmetimo scenarijaus praleidimas: tiesiog parašykite būseną „leidžiama“ ir nekreipkite dėmesio į atmetimą. Už kiekvieną sugeneruotą leidimą būsite paklausti "ar tai tikrai būtina?" ir "kas atsitiks, jei bus atmestas?" Užduokite klausimus.

Įspėjimas: AI sugeneruotas pavyzdinis kodas gali saugoti vartotojo duomenis be šifravimo arba perduoti juos nesaugiai. Jautrūs duomenys (slaptažodis, sveikata, finansai) turėtų būti saugomi saugioje įrenginio saugykloje (Keychain – iOS, Keystore – Android; šifruota operacinės sistemos saugyklos sritis) ir perduodami tinkle šifruotu ryšiu (HTTPS/TLS). AI ne visada tai daro spontaniškai; Klauskite aiškiai ir patikrinkite.

Duomenų sumažinimas ir duomenų siuntimas į AI

Duomenys, kurių nerenkate, negali nutekėti. Duomenų mažinimas (rinkti tik tuos duomenis, kurių iš tikrųjų reikia) yra galingiausias privatumo užtikrinimo įrankis. Dirbant dirbtinio intelekto funkcijose šis principas yra dvigubai svarbus: siunčiant duomenis į debesies LLM arba išorinę AI paslaugą, tų duomenų jūs negalite valdyti. Prieš siųsdami vartotojo sveikatos pastabą, pokalbio turinį ar asmeninę informaciją į debesį, užduokite tris klausimus: (1) Ar šie duomenys tikrai reikalingi? (2) Ar jį galima apdoroti įrenginyje? (3) Jei jis turi būti išsiųstas, ar vartotojas tai žino ir patvirtina? Teisinis ir etinis reikalavimas yra aiškiai informuoti vartotoją, kad jo duomenys perduodami dirbtinio intelekto paslaugai.

Saugus naudojimas ir gynybinis dėmesys

Įspėjimas iš IT ir saugumo perspektyvos: šiame modulyje išmoktos technikos yra skirtos tik autorizuotam ir gynybiniam naudojimui. Teisėta išbandyti savo programos saugumą, apsaugoti naudotojo duomenis ir pašalinti pažeidžiamumus. Kieno nors kito taikomųjų programų atvirkštinė inžinerija be leidimo, naudotojo duomenų rinkimas be sutikimo arba AI naudojimas kenkėjiškoms programoms kurti yra neteisėta ir neetiška. Prašydami dirbtinio intelekto pagalbos saugumo klausimais, visada laikykitės savo sistemos gynybos rėmų.

trys mini dėklai

1 atvejis – atsisakymas suteikti perteklines atostogas. Paleidžiant užrašų programa paprašė fotoaparato, mikrofono, vietos ir kontakto leidimo su AI sukurtu kodu. „Google Play“ atmetė leidimą, nurodydama „funkcijoms nereikšmingus leidimus“. Išleidimas buvo patvirtintas, kai komanda išleido tik faktiškai naudotą saugyklos leidimą. Pamoka: kiekviena papildoma atostoga yra rizika.

2 atvejis – saugykla be slaptažodžio. Sveikatos programa saugojo vartotojo matavimus paprasto teksto faile, kaip AI pavyzdyje. Saugumo auditas parodė, kad kiekvienas, gavęs įrenginį, gali perskaityti visus sveikatos duomenis. Duomenys perkelti į šifruotą saugyklą naudojant „Keystore“ / „Keychain“. Pamoka: neskelbtini duomenys visada lieka užšifruoti.

3 atvejis – iš anksto nepraneštas perkėlimas į debesį. Programėlė siųsdavo naudotojų kasdienes pastabas į debesies LLM, kad jas apibendrintų, bet vartotojui to nepranešė. Kai apie tai buvo pranešta spaudoje, buvo prarastas pasitikėjimas ir teisinė priežiūra. Komanda pridėjo aiškų pranešimą ir patvirtinimą, taip pat parinktį įrenginyje. Pamoka: vartotojas turi žinoti ir patvirtinti, kad duomenys patenka į AI.

Silpnas raginimas / Stiprus raginimas

Silpnas raginimas: „Prašyti vietos leidimo“.

Galingas raginimas: „Prašyti vietos leidimo „iOS“ / „Swift“ taikydami mažiausią privilegiją. – Leidimas tik „kai naudojamas“, o ne „visada“ – Info.plist aprašymas: „Rodyti netoliese esančias parduotuves“ – Jei leidimas uždraustas: pasiūlykite galimybę rankiniu būdu pasirinkti miestą, strigti – Jei leidimas buvo atmestas anksčiau, peradresuokite daugiau leidimų. Dovanokite srautą.

Kopijuojami šablonai

Leidimo prašymo šablonas: „Prašyti [leidimo tipas] leidimo [platformai].- Minimali apimtis (kai naudojama/kaip reikia)- Kontekste, su argumentuotu paaiškinimu- Mandagi alternatyva atmetimo atveju, niekada nesudužti- Suteikite Info.plist / Manifesto įrašą taip pat Nepridėkite papildomų leidimų; pagrįskite kiekvieną leidimą.

Leidimų audito šablonas: "Patikrinkite leidimus, kurių prašo mano programa: [leidimų sąrašas + ypatybės]. Kiekvienam leidimui: ar jis tikrai reikalingas? Ar pakaktų siauresnės apimties? Ar tai lemtų parduotuvės atmetimą? Žymėti nebūtina."

Saugus duomenų saugojimo šablonas: „Saugiai saugokite neskelbtinus duomenis ([tipas]), skirtą [platformai]: – užšifruota naudojant raktų pakabuką / raktų saugyklą – nelaikyti atmintyje be reikalo ilgai – nepatekti į žurnalus ir atsargines kopijas. Pateikite kodą ir patvirtinimo veiksmus.

Duomenų siuntimo į AI šablonas: "Svarstau siųsti šiuos duomenis į debesies AI paslaugą: [duomenys]. Įvertinkite: ar tai tikrai būtina? Ar galima apdoroti įrenginyje? Jei siunčiami, kuriuos laukus reikia užmaskuoti? Kaip gauti vartotojo sutikimą? Rekomenduokite saugiausią dizainą privatumo požiūriu."

Dažnos klaidos

  • Prašo daugiau leidimo nei reikia. Trigubas pasitikėjimo, parduotuvės patvirtinimo ir saugumo pavojus.
  • Masinės leidimų užklausos paleidžiant. Prašymas leisti be konteksto atmetamas; nedelsdami paprašykite funkcijos.
  • Nerašo atmetimo scenarijaus. Programa užstringa, kai atmetamas leidimas, yra bloga ir atmesta.
  • Skelbti neskelbtinus duomenis be slaptažodžio. Sveikatos, finansų ir slaptažodžiai turi būti laikomi saugioje saugykloje.
  • Duomenų siuntimas į debesį / AI neinformuojant vartotojo. Teisės ir etikos pažeidimas; Reikalingas pranešimas ir patvirtinimas.
  • Neteisėtas apsaugos technikų naudojimas. Tai teisėta tik jūsų sistemos gynybos tikslais.

Apibendrinant

Privatumas ir saugumas kuriami nuo pat pradžių, o ne vėliau. Pagrindinis principas yra mažiausia privilegija: paprašykite tik būtino leidimo, kai reikia, pateisindami, o atsisakymo atveju pasiūlykite mandagią alternatyvą. Jautrūs duomenys saugomi šifruotoje saugykloje ir perduodami šifruotu ryšiu. Duomenų sumažinimas yra stipriausia apsauga: jūsų nerenkami duomenys negali nutekėti. Duomenų siuntimas į AI, ypač į debesį, yra pats privatumo sprendimas; Suabejojama jo reikalingumu, jei įmanoma, pirmenybė teikiama įrenginyje, informuojamas vartotojas ir gaunamas jo sutikimas. Kiekvienas sukurtas kodas tikrinamas pagal AI tendencijas pridėti perteklinius leidimus ir nesaugiai saugoti. Apsaugos metodai naudojami tik įgaliotiems ir gynybiniams tikslams.

Taikymo užduotis

Sudarykite leidimų, kurių prašo programa (savo projekto ar įsivaizduojamo), sąrašą ir paprašykite AI patikrinti, kurie iš jų yra nereikalingi arba peržengiami naudojant „Leidimų audito šabloną“. Patikslinkite arba pašalinkite bent vieną leidimą ir parašykite tos funkcijos atsisakymo scenarijų. Be to, jei siunčiate vartotojo duomenis į debesį, nustatykite saugiausią dizainą naudodami „Duomenų siuntimo sprendimo šabloną AI“ ir parašykite vartotojo patvirtinimo tekstą.

kontrolinis sąrašas

  • [ ] Kiekvieno leidimo prašiau pagrįstai, remdamasis mažiausios privilegijos principu.
  • [ ] Prašiau leidimų kontekste, funkcijos metu, o ne masinio paleidimo metu
  • [ ] Kiekvienam leidimui parašiau atmetimo scenarijų, jokių strigčių
  • [ ] Saugiau slaptus duomenis, užšifruotus naudojant raktų pakabuką / raktų saugyklą
  • [ ] Sumažinau duomenų srautą į debesį / AI ir pridėjau naudotojo patvirtinimą
  • [ ] Saugumo metodus naudojau tik savo sistemoje gynybos tikslais