Yunit 9 / 11

Privacy, Mga Pahintulot at Ligtas na Paggamit

Mga nadagdag:

  • Kakayahang humiling ng mga pahintulot na may katwiran, konteksto at senaryo ng pagtanggi, gamit ang prinsipyo ng hindi bababa sa pribilehiyo
  • Kakayahang mag-imbak ng sensitibong data na naka-encrypt gamit ang Keychain/Keystore, ilapat ang pagliit ng data at kontrolin ang tendensya ng artificial intelligence na magdagdag ng napakaraming pahintulot
  • Kakayahang pamahalaan ang daloy ng data ng user sa cloud o serbisyo ng artificial intelligence bilang isang desisyon sa privacy, kumuha ng pahintulot ng user, at gumamit ng mga diskarte sa seguridad para lamang sa mga awtorisadong layunin ng pagtatanggol.

Gumagana ang mobile application sa pinakapribadong device ng user: alam nito ang kanyang lokasyon, mga contact, larawan, data ng kalusugan, mikropono. Ang pag-access na ito ay mahusay na kapangyarihan, at ang kapangyarihan ay nangangahulugan ng responsibilidad. Ang privacy at seguridad ay hindi isang "add-on na tampok" sa mobile development, ngunit isang prinsipyo na hinabi sa arkitektura mula sa simula; Ito ay tinatawag na privacy sa pamamagitan ng disenyo. Bukod dito, ito ay hindi lamang isang etikal na pagpipilian, ito ay isang legal (KVKK, GDPR) at tindahan (App Store, Google Play) na obligasyon. Sa unit na ito, matututunan natin kung paano humiling ng mga pahintulot nang tama, magproseso ng data nang secure, gumamit ng AI bilang katulong sa larangang ito at protektahan ang ating sarili mula sa mga bitag nito. Mayroong karagdagang kritikal na isyu sa konteksto ng AI: ang data ng user na napupunta sa mga modelo ng AI (lalo na ang cloud) ay isang desisyon sa privacy mismo.

Ang sining ng paghingi ng pahintulot: pinakamababang pribilehiyo

Ang pangunahing prinsipyo ng seguridad ay hindi bababa sa pribilehiyo (hindi humihingi ng higit pang mga pribilehiyo kaysa sa kinakailangan ng trabaho). Ang iyong app ay dapat lamang humingi ng pahintulot na talagang kailangan nito, sa oras na kailangan nito. Kung walang feature ng camera, hindi hihilingin ang pahintulot ng camera; Kung kailangan lang ang lokasyon kapag bukas ang mapa, sapat na ang pahintulot na "habang ginagamit", hindi "palagi". Ang labis na mga pahintulot ay nagdudulot ng triple na pinsala: sinisira nito ang tiwala ng user, humahantong sa pagtanggi sa tindahan, at pinalalaki ang panganib ng pagtagas ng data.

Ang tamang oras at pagpapaliwanag ng paghingi ng pahintulot ay kritikal. Humingi ng pahintulot sa user sa konteksto at may katwiran, gaya ng "Kinakailangan ang access sa camera upang i-scan ang iyong resibo." Kinakailangan ng iOS ang paglalarawang ito sa Info.plist; Ang walang laman o mapanlinlang na paglalarawan ay pagtanggi sa tindahan.

Uri ng pahintulot

masamang diskarte

magandang diskarte

timing

Hilingin ang lahat sa paglulunsad

prompt kapag ginagamit ang tampok

Saklaw

"Laging lokasyon"

"lokasyon habang ginagamit"

Paglalarawan

Blangko o generic

Konkreto, tiyak na katwiran

katayuan sa pagtanggi

Mga pag-crash/pag-crash ng app

Mangyaring mag-alok ng mga alternatibo

Tip: Dapat na magpatuloy sa paggana ang iyong app kapag tinanggihan ang pahintulot. Kung tinanggihan ng user ang camera, mag-alok ng opsyong "manual na pag-log in." Ang pagpapataw ng "payagan ito o hindi gagana ang app" ay parehong masamang karanasan at problema sa tindahan. Palaging tanungin ang senaryo ng pagtanggi kapag nagpi-print ng code ng pahintulot sa AI.

Pahintulot at code sa privacy na may AI: mga pagsasaalang-alang

Mabilis na bumubuo ang AI ng code na humihiling ng pahintulot, ngunit mayroon itong dalawang tipikal na pitfalls. Una, ang pagdaragdag ng higit pang mga pahintulot kaysa sa kinakailangan: lokasyon, ang mga contact ay maaaring maramihang maglagay ng mga pahintulot sa imbakan "kung sakali." Pangalawa, laktawan ang senaryo ng pagtanggi: isulat lang ang status na "allowed" at huwag pansinin ang pagtanggi. Para sa bawat permit na nabuo ay tatanungin ka "kailangan ba talaga ito?" at "ano ang mangyayari kung tinanggihan?" Tanungin ang iyong mga katanungan.

Babala: Ang sample na code na nabuo ng AI ay maaaring mag-imbak ng data ng user nang walang pag-encrypt o ipadala ito nang hindi secure. Ang sensitibong data (password, kalusugan, pananalapi) ay dapat itago sa ligtas na imbakan sa device (Keychain — iOS, Keystore — Android; naka-encrypt na vault area ng operating system) at ipinadala sa network sa pamamagitan ng naka-encrypt na koneksyon (HTTPS/TLS). Hindi ito palaging ginagawa ng AI nang kusang; Magtanong nang malinaw at i-verify.

Pag-minimize ng data at pagpapadala ng data sa AI

Hindi maaaring tumagas ang data na hindi mo kinokolekta. Ang pagliit ng data (pagkolekta lamang ng data na talagang kinakailangan) ay ang pinakamakapangyarihang tool para sa privacy. Sa mga feature ng AI, doble ang kahalagahan ng prinsipyong ito: kapag nagpapadala ng data sa cloud LLM o external na serbisyo ng AI, wala sa iyong kontrol ang data na iyon. Bago ipadala ang tala sa kalusugan, nilalaman ng pag-uusap, o personal na impormasyon ng user sa cloud, magtanong ng tatlong tanong: (1) Kailangan ba talaga ang data na ito? (2) Maaari ba itong iproseso sa device? (3) Kung ito ay ipapadala, alam ba ng gumagamit at aprubahan ito? Ito ay parehong legal at etikal na kinakailangan upang malinaw na ipaalam sa user na ang kanilang data ay papunta sa isang serbisyo ng AI.

Ligtas na paggamit at pagtutok sa pagtatanggol

Isang babala mula sa pananaw ng IT at seguridad: ang mga diskarteng natutunan sa modyul na ito ay para sa awtorisado at depensibong paggamit lamang. Lehitimong subukan ang seguridad ng iyong sariling application, protektahan ang data ng user, at isara ang mga kahinaan. I-reverse engineering ang application ng ibang tao nang walang pahintulot, pagkolekta ng data ng user nang walang pahintulot, o paggamit ng AI upang lumikha ng malware ay ilegal at hindi etikal. Kapag humihingi ng tulong sa seguridad sa AI, palaging manatili sa loob ng balangkas ng pagtatanggol sa sarili mong system.

tatlong mini case

Kaso 1 — Labis na pagtanggi sa leave. Ang isang application ng tala ay humiling ng mga pahintulot sa camera, mikropono, lokasyon at contact sa pagsisimula gamit ang code na ginawa ng AI. Tinanggihan ng Google Play ang release, na binanggit ang "function-irrelevant permissions". Naaprubahan ang paglabas noong inilabas lang ng team ang pahintulot sa pag-imbak na aktwal na ginamit. Aral: bawat dagdag na bakasyon ay isang panganib.

Case 2 — Storage na walang password. Ang isang app ng kalusugan ay nag-imbak ng mga sukat ng user sa isang plain text file tulad ng sa halimbawa ng AI. Nalaman ng isang pag-audit sa seguridad na mababasa ng sinumang kumuha ng device ang lahat ng data ng kalusugan. Inilipat ang data sa naka-encrypt na storage gamit ang Keystore/Keychain. Aralin: palaging nananatiling naka-encrypt ang sensitibong data.

Kaso 3 — Hindi ipinaalam na push to cloud. Ang isang app ay nagpapadala ng mga pang-araw-araw na tala ng mga user sa isang cloud LLM upang ibuod ang mga ito, ngunit hindi nito sinabi sa user. Nang maibalita ito sa press, nawalan ng tiwala at legal na pagsusuri. Nagdagdag ang team ng malinaw na notification at kumpirmasyon, pati na rin ang opsyon sa device. Aralin: dapat malaman at kumpirmahin ng user na ang data ay papunta sa AI.

Mahinang prompt / Malakas na prompt

Mahinang prompt: "Humiling ng pahintulot sa lokasyon."

Napakahusay na prompt: "Humiling ng pahintulot sa lokasyon sa iOS/Swift na may prinsipyong hindi bababa sa pribilehiyo. - Tanging 'kapag ginagamit' ang pahintulot, hindi 'palaging' - Paglalarawan ng Info.plist: 'Upang ipakita ang mga kalapit na tindahan' - Kung tinanggihan ang pahintulot: mag-alok ng opsyon na manu-manong piliin ang lungsod, pag-crash - Kung tinanggihan ang pahintulot noon, i-redirect din ang mga setting kaysa sa kinakailangan, magdagdag ng pahintulot."

Mga nakopyang template

Template para sa paghiling ng pahintulot: "Humiling ng pahintulot sa [uri ng pahintulot] para sa [platform].- Minimal na saklaw (kapag ginagamit/kung kinakailangan)- Sa konteksto, na may makatwirang paliwanag- Magalang na alternatibo sa kaso ng pagtanggi, hindi kailanman mag-crash- Magbigay din ng Info.plist / Manifest entry Huwag magdagdag ng mga karagdagang pahintulot; bigyang-katwiran ang bawat pahintulot."

Template ng pag-audit ng pahintulot: "Suriin ang mga pahintulot na hinihiling ng aking app: [listahan ng pahintulot + mga pag-aari]. Para sa bawat pahintulot: kailangan ba talaga ito? Sapat ba ang mas makitid na saklaw? Ito ba ay hahantong sa pagtanggi sa tindahan? Hindi kailangan ang pag-flag."

Secure na template ng imbakan ng data: "Ligtas na mag-imbak ng sensitibong data ([uri]) para sa [platform]:- Naka-encrypt gamit ang Keychain/Keystore- Huwag itago sa memorya sa hindi kinakailangang mahabang panahon- Huwag tumagas sa mga log at backup Magbigay ng code at mga hakbang sa pag-verify."

Template para sa pagpapadala ng data sa AI: "Isinasaalang-alang kong ipadala ang sumusunod na data sa isang serbisyo ng cloud AI: [data]. Suriin: kailangan ba talaga ito? Maaari ba itong iproseso sa device? Kung ipapadala, aling mga field ang dapat na naka-mask? Paano dapat makuha ang pahintulot ng user? Irekomenda ang pinaka-secure na disenyo sa mga tuntunin ng privacy."

Mga karaniwang pagkakamali

  • Humihingi ng higit na pahintulot kaysa sa kinakailangan. Triple jeopardy ng tiwala, pag-apruba ng tindahan at seguridad.
  • Paghiling ng mga pahintulot nang maramihan sa pagsisimula. Ang isang kahilingan para sa pahintulot na walang konteksto ay tinanggihan; hilingin agad ang feature.
  • Hindi sumusulat ng script ng pagtanggi. Ang pag-crash ng app kapag tinanggihan ang pahintulot ay parehong masama at tinanggihan.
  • Pag-iimbak ng sensitibong data nang walang password. Ang kalusugan, pananalapi at mga password ay dapat na itago sa isang ligtas na imbakan.
  • Nagpapadala ng data sa cloud/AI nang hindi ipinapaalam sa user. Legal at etikal na paglabag; Kinakailangan ang abiso at pag-apruba.
  • Hindi awtorisadong paggamit ng mga diskarte sa seguridad. Ito ay lehitimo lamang para sa mga layunin ng pagtatanggol sa iyong sariling sistema.

Sa buod

Ang privacy at seguridad ay idinisenyo mula sa simula, hindi idinagdag sa ibang pagkakataon. Ang pangunahing prinsipyo ay hindi bababa sa pribilehiyo: humingi lamang ng kinakailangang pahintulot, kung kinakailangan, nang may katwiran, at mag-alok ng magalang na alternatibo kung sakaling tumanggi. Ang sensitibong data ay iniimbak sa naka-encrypt na imbakan at ipinadala sa pamamagitan ng naka-encrypt na koneksyon. Ang pag-minimize ng data ay ang pinakamatibay na proteksyon: ang data na hindi mo kinokolekta ay hindi maaaring tumagas. Ang pagpapadala ng data sa AI, lalo na sa cloud, ay isang desisyon sa privacy sa sarili nito; Ang pangangailangan nito ay kinukuwestiyon, kung maaari, ang on-device ay mas gusto, ang user ay alam at ang kanyang pag-apruba ay nakuha. Ang bawat code na ginawa ay sinusuri laban sa mga tendensya ng AI na magdagdag ng labis na mga pahintulot at mag-imbak nang hindi secure. Ginagamit ang mga diskarte sa seguridad para sa mga awtorisado at depensibong layunin lamang.

Gawain ng aplikasyon

Gumawa ng listahan ng mga pahintulot na hinihiling ng isang application (iyong sariling proyekto o haka-haka) at ipasuri sa AI kung alin ang mga hindi kailangan o labis na umabot sa "Template ng pag-audit ng pahintulot." Pinuhin o alisin ang kahit isang pahintulot at isulat ang senaryo ng pagtanggi para sa feature na iyon. Bukod pa rito, kung nagpapadala ka ng data ng user sa cloud, tukuyin ang pinakasecure na disenyo gamit ang "Template ng desisyon sa pagpapadala ng data sa AI" at isulat ang text ng pag-apruba ng user.

checklist

  • [ ] Hiniling ko ang bawat pahintulot na may katwiran, na may prinsipyo ng hindi bababa sa pribilehiyo.
  • [ ] Humingi ako ng mga pahintulot sa konteksto, sa oras ng tampok, hindi maramihan sa paglulunsad
  • [ ] Sumulat ako ng script ng pagtanggi para sa bawat pahintulot, walang mga pag-crash
  • [ ] Nag-imbak ako ng sensitibong data na naka-encrypt gamit ang Keychain/Keystore
  • [ ] Pinaliit ko ang data na napupunta sa cloud/AI at nagdagdag ng pag-apruba ng user
  • [ ] Gumamit lang ako ng mga diskarte sa seguridad sa sarili kong sistema para sa mga layuning pandepensa