Câștiguri:
- Abilitatea de a solicita permisiuni cu justificare, context și scenariu de respingere, folosind principiul cel mai mic privilegiu
- Abilitatea de a stoca date sensibile criptate cu Keychain/Keystore, de a aplica minimizarea datelor și de a controla tendința inteligenței artificiale de a adăuga prea multe permisiuni
- Abilitatea de a gestiona fluxul de date ale utilizatorilor către cloud sau serviciul de inteligență artificială ca o decizie de confidențialitate, de a obține consimțământul utilizatorului și de a utiliza tehnici de securitate numai în scopuri autorizate, defensive
Aplicația mobilă funcționează pe cel mai privat dispozitiv al utilizatorului: îi cunoaște locația, contactele, fotografiile, datele de sănătate, microfonul. Acest acces este o mare putere, iar puterea înseamnă responsabilitate. Confidențialitatea și securitatea nu sunt o „funcție suplimentară” în dezvoltarea mobilă, ci un principiu țesut în arhitectură de la început; Acest lucru se numește confidențialitate prin design. Mai mult, aceasta nu este doar o alegere etică, este o obligație legală (KVKK, GDPR) și de magazin (App Store, Google Play). În această unitate, vom învăța cum să solicităm permisiuni corect, să procesăm datele în siguranță, să folosim AI ca asistent în acest domeniu și să ne protejăm de capcanele sale. Există o problemă critică suplimentară în contextul AI: datele utilizatorilor care merg către modelele AI (în special cloud) sunt o decizie de confidențialitate în sine.
Arta de a cere permisiunea: cel mai mic privilegiu
Principiul de bază al securității este cel mai mic privilegiu (a nu cere mai multe privilegii decât necesită un loc de muncă). Aplicația dvs. ar trebui să solicite doar permisiunea de care are nevoie, în momentul în care are nevoie. Dacă nu există nicio funcție de cameră, permisiunea camerei nu va fi solicitată; Dacă locația este necesară numai când harta este deschisă, permisiunea „în timpul utilizării” este suficientă, nu „intotdeauna”. Permisiunile excesive cauzează daune triple: subminează încrederea utilizatorilor, duce la respingerea stocării și mărește riscul de scurgere de date.
Momentul adecvat și explicația solicitării permisiunii sunt esențiale. Cereți utilizatorului permisiunea în context și cu o justificare, cum ar fi „Este necesar accesul la cameră pentru a vă scana chitanța”. iOS necesită această descriere în Info.plist; Descrierea goală sau înșelătoare este respingerea magazinului.
Tipul permisiunii
abordare proastă
buna abordare
sincronizare
Solicitați totul la lansare
prompt atunci când utilizați caracteristica
Domeniul de aplicare
„Întotdeauna locația”
„locație în timpul utilizării”
Descriere
Blank sau generic
Justificare concretă, specifică
starea de respingere
Aplicația se blochează/se blochează
Vă rugăm să vă oferim alternative
Sfat: aplicația dvs. ar trebui să poată continua să ruleze atunci când permisiunea este refuzată. Dacă utilizatorul respinge camera, oferiți o opțiune de „conectare manuală”. Impunerea lui „permiteți sau aplicația nu va funcționa” este atât o experiență proastă, cât și o problemă a magazinului. Solicitați întotdeauna scenariul de respingere când imprimați un cod de permisiune către AI.
Consimțământ și cod de confidențialitate cu AI: considerații
AI generează rapid cod de solicitare a permisiunii, dar are două capcane tipice. În primul rând, adăugând mai multe permisiuni decât este necesar: locație, contactele pot pune în vrac permisiunile de stocare „pentru orice eventualitate”. În al doilea rând, săriți peste scenariul de respingere: scrieți doar starea „permis” și ignorați respingerea. Pentru fiecare permis generat, veți fi întrebat „Este cu adevărat necesar?” și „ce se întâmplă dacă este respins?” Pune-ți întrebările.
Atenție: Exemplul de cod generat de AI poate stoca datele utilizatorului fără criptare sau le poate transmite în mod nesigur. Datele sensibile (parolă, sănătate, finanțe) trebuie păstrate în spațiu de stocare securizat pe dispozitiv (Keychain — iOS, Keystore — Android; zona de seif criptată a sistemului de operare) și transmise în rețea printr-o conexiune criptată (HTTPS/TLS). AI nu face întotdeauna acest lucru spontan; Întrebați clar și verificați.
Minimizarea datelor și trimiterea datelor către AI
Datele pe care nu le colectați nu pot fi scurse. Minimizarea datelor (colectarea doar a datelor care sunt de fapt necesare) este cel mai puternic instrument de confidențialitate. În funcțiile AI, acest principiu este de două ori important: atunci când trimiteți date către un LLM în cloud sau către un serviciu AI extern, acele date sunt în afara controlului dumneavoastră. Înainte de a trimite în cloud nota de sănătate, conținutul conversației sau informațiile personale ale unui utilizator, puneți trei întrebări: (1) Sunt aceste date cu adevărat necesare? (2) Poate fi procesat pe dispozitiv? (3) Dacă urmează să fie trimis, utilizatorul îl știe și îl aprobă? Este atât o cerință legală, cât și etică să informeze în mod clar utilizatorul că datele sale vor fi direcționate către un serviciu AI.
Utilizare în siguranță și concentrare asupra apărării
Un avertisment din perspectiva IT și de securitate: tehnicile învățate în acest modul sunt doar pentru uz autorizat și defensiv. Este legitim să testați securitatea propriei aplicații, să protejați datele utilizatorilor și să închideți vulnerabilitățile. Realizarea de inginerie inversă a aplicației altcuiva fără permisiune, colectarea datelor utilizatorului fără consimțământ sau utilizarea AI pentru a crea malware este ilegală și lipsită de etică. Când cereți ajutor de securitate AI, rămâneți întotdeauna în cadrul apărării propriului sistem.
trei mini cutii
Cazul 1 – Refuzarea concediului în exces. O aplicație notă a solicitat permisiuni pentru cameră, microfon, locație și contact la pornire cu codul produs de AI. Google Play a respins lansarea, invocând „permisiuni irelevante pentru funcție”. Eliberarea a fost aprobată atunci când echipa a eliberat doar permisiunea de stocare care a fost folosită efectiv. Lecție: fiecare concediu suplimentar este un risc.
Cazul 2 — Stocare fără parolă. O aplicație de sănătate a stocat măsurătorile utilizatorului într-un fișier text simplu, ca în exemplul AI. Un audit de securitate a constatat că oricine a obținut dispozitivul putea citi toate datele de sănătate. Datele au fost mutate în stocarea criptată cu Keystore/Keychain. Lecție: datele sensibile rămân întotdeauna criptate.
Cazul 3 — Împingeți neanunțat în cloud. O aplicație trimitea notele zilnice ale utilizatorilor către un cloud LLM pentru a le rezuma, dar nu i-a spus utilizatorului. Când a fost raportat în presă, a existat o pierdere a încrederii și a controlului juridic. Echipa a adăugat o notificare și o confirmare clară, precum și o opțiune pe dispozitiv. Lecție: utilizatorul trebuie să știe și să confirme că datele merg către AI.
Prompt slab / Prompt puternic
Solicitare slabă: „Solicitați permisiunea de locație”.
Solicitare puternică: „Solicitați permisiunea de locație pe iOS/Swift cu principiul celui mai mic privilegiu. - Numai permisiunea „când este în uz”, nu „întotdeauna” - Descrierea Info.plist: „Pentru a afișa magazinele din apropiere” - Dacă permisiunea este refuzată: oferiți opțiunea de selectare manuală a orașului, blocare - Dacă permisiunea a fost refuzată înainte, redirecționați la setări. Nu este necesar să adăugați mai multe permisiuni.
Șabloane copiabile
Șablon pentru solicitarea permisiunii: „Solicitați permisiunea [tipul de permisiune] pentru [platformă].- Domeniu minim de aplicare (atunci când se utilizează/după nevoie)- În context, cu explicații motivate- Alternativă politicoasă în caz de respingere, nu se blochează niciodată- Dați și Info.plist / Manifest intrare Nu adăugați permisiuni suplimentare; justificați fiecare permisiune."
Șablon de audit de permisiuni: „Verificați permisiunile pe care aplicația mea le solicită: [lista de permisiuni + proprietăți]. Pentru fiecare permisiune: este cu adevărat necesară? Ar fi suficient un domeniu mai restrâns? Ar duce la respingerea magazinului? Semnalarea inutilă."
Șablon de stocare securizată a datelor: „Stochează în siguranță datele sensibile ([tip]) pentru [platformă]:- Criptat cu Keychain/Keystore- Nu păstrați în memorie pentru un timp inutil de mult timp- Nu scurgeți în jurnale și copii de rezervă Furnizați cod și pași de verificare.”
Șablon pentru trimiterea datelor către AI: „Mă gândesc să trimit următoarele date către un serviciu cloud AI: [date]. Evaluați: este cu adevărat necesar? Poate fi procesat pe dispozitiv? Dacă este trimis, ce câmpuri ar trebui mascate? Cum ar trebui obținut consimțământul utilizatorului? Recomand cel mai sigur design în ceea ce privește confidențialitatea."
Greșeli comune
- Cereți mai multă permisiune decât este necesar. Pericol triplu al încrederii, aprobării magazinului și securității.
- Solicitarea de permisiuni în bloc la pornire. O cerere de permisiune fără context este respinsă; solicitați funcția instantaneu.
- Nu scrieți scenariul de respingere. Aplicația care se prăbușește atunci când permisiunea este refuzată este atât proastă, cât și respinsă.
- Stocarea datelor sensibile fără parolă. Sănătatea, finanțele și parolele trebuie păstrate într-un depozit securizat.
- Trimiterea datelor către cloud/AI fără a informa utilizatorul. Încălcare legală și etică; Sunt necesare notificarea și aprobarea.
- Utilizarea neautorizată a tehnicilor de securitate. Este legitim doar în scopuri defensive pe propriul sistem.
Pe scurt
Confidențialitatea și securitatea sunt concepute de la început, nu sunt adăugate mai târziu. Principiul de bază este cel mai mic privilegiu: cere doar permisiunea necesară, atunci când este necesar, cu justificare și oferă o alternativă politicoasă în caz de refuz. Datele sensibile sunt stocate în stocare criptată și transmise prin conexiune criptată. Minimizarea datelor este cea mai puternică protecție: datele pe care nu le colectați nu pot scurge. Trimiterea datelor către AI, în special către cloud, este o decizie de confidențialitate în sine; Necesitatea acestuia este pusă la îndoială, dacă este posibil, se preferă pe dispozitiv, utilizatorul este informat și se obține aprobarea acestuia. Fiecare cod produs este verificat în raport cu tendințele AI de a adăuga permisiuni excesive și de a stoca în mod nesigur. Tehnicile de securitate sunt utilizate numai în scopuri autorizate și defensive.
Sarcina de aplicare
Faceți o listă cu permisiunile pe care o aplicație (propriul dvs. proiect sau imaginar) le solicită și cereți AI să verifice care sunt inutile sau care depășesc cu „Șablonul de audit de permisiuni”. Rafinați sau eliminați cel puțin o permisiune și scrieți scenariul de refuz pentru acea caracteristică. În plus, dacă trimiteți date utilizator în cloud, determinați cel mai sigur design cu „Șablonul de decizie privind trimiterea datelor către AI” și scrieți textul de aprobare a utilizatorului.
lista de verificare
- [ ] Am cerut fiecare permis cu justificare, cu principiul cel mai mic privilegiu.
- [ ] Am cerut permisiuni în context, la momentul caracteristicii, nu în bloc la lansare
- [ ] Am scris un script de respingere pentru fiecare permisiune, fără blocări
- [ ] Am stocat date sensibile criptate cu Keychain/Keystore
- [ ] Am redus la minimum datele care ajung în cloud/AI și am adăugat aprobarea utilizatorului
- [ ] Am folosit tehnici de securitate numai pe propriul meu sistem în scopuri defensive