Dalawang dialog sa Android ang laging pinagsasama-sama: ang hiling ng pahintulot sa VPN at ang mga hiling ng pahintulot na ginagawa ng isang app para sa iyong data. Ang una ay nagbibigay ng posisyon sa network, ang lugar kung saan mababasa at maisusulat muli ang mga packet. Ang pangalawa ay nagbibigay ng naka-imbak na nilalaman na pinoprotektahan ng Android app bawat app. Ang ituring silang isang bagay ay maaaring magpamalabis sa nakikita ng isang tunnel, o lubhang maliitin ang hihilingin ng isang determinado app sa susunod.

Ano ang talagang ibinibigay ng dialog ng pahintulot

Ang isang app na nagpapatupad ng VpnService at nagdedeklara ng BIND_VPN_SERVICE ay humihiling sa system na maging VPN ng device. Kapag naaprubahan, ang framework ay gumagawa ng interface ng tun at binibigyan ang app ng file descriptor para dito. Lahat ng ginagawa ng app pagkatapos ay dumadaloy sa descriptor na iyon: nagbabasa ito ng mga IP packet palabas, nagpapasya kung ano ang gagawin sa mga ito, at nagsusulat ng mga packet pabalik sa loob.

Ang saklaw ng interface na iyon ay tahasan. Ang mga ruta ang nagpapasya kung aling mga destinasyon ang nahuhuli, at ang addAllowedApplication o addDisallowedApplication ang nagpapasya kung aling mga app ang nagpapakain dito. Ang isang VPN bawat app na naglilista ng dalawang app ay hindi nakikita ang natitirang bahagi ng device.

Iyon ay isang pagbibigay sa antas ng packet, hindi sa antas ng data. Nakikita ng serbisyo ang mga byte na ibinibigay ng app sa stack ng network, na nakadirihiko sa isang destinasyon. Hindi ito nakakakuha ng hawak sa pribadong imbakan ng app na nagpapadala, sa mga file ng database nito o sa na-decrypt na memorya nito. Ang mga file na inimbak ng app sa sarili nitong sandbox ay nananatiling kasingsalimuot basahin tulad ng dati.

Kung saan tumitigil ang tanawin ng packet

Ginagawa pa rin ng TLS ang trabaho nito sa loob ng tunnel, dahil ang handshake ay nagaganap sa pagitan ng app at ng server, hindi sa pagitan ng app at ng VPN. Ipinapasa ng VPN ang naka-encrypt na teksto na hindi nito kayang i-decrypt nang walang mga susi ng session. Iyon ang dahilan kung bakit ang tunnel lamang ay hindi nagbubunyag ng nilalaman ng isang pahina ng HTTPS o ng isang protektadong session ng mail.

Ang metadata sa paligid ng naka-encrypt na teksto ay ibang kuwento, at dito bumagsak ang karamihan sa mga tiwalaang pahayag. Nakikita ang IP ng destinasyon, port, laki ng packet at timing, kasama pa ang pangalan ng server sa TLS ClientHello, na karaniwang ipinapadala nang lantad kahit sa ilalim ng TLS 1.3. Binabago ito ng Encrypted Client Hello, ngunit hindi ito pangkalahatan. Ang simpleng DNS ay naglalabas din ng mga pangalan nang kasingdali kapag lumalabas ang mga query nang walang encryption.

Ang mas lumang o maling naka-configure na mga protocol ay nagbibigay ng higit pa. Ang simpleng HTTP, IMAP na walang TLS at ilang protocol ng laro at IoT ay inilalantad ang kanilang payload sa anumang may hawak ng descriptor ng tun.

Ang mga pahintulot na hindi kailanman kasama

Ang pag-apruba ng VPN ay hindi pag-apruba sa mga contact, SMS, larawan o sa imbakan ng media. Iyon ay magkakahiwalay na pagbibigay sa oras ng pagtakbo, bawat isa ay may sariling dialog at sariling landas ng pagpapawalang-bisa sa pahina ng mga setting ng app. Ang isang kliyente ng VPN na gustong makita ang talaan ng iyong mga tawag ay kailangang humiling nito tulad ng anumang ibang app, at maaari kang tumanggi habang pinapanatili ang tunnel.

Ang pag-install ng certificate ang dapat bantayan, dahil mukha itong bahagi ng pag-setup ng VPN at hindi naman. Ang pag-install ng CA ng user sa imbakan ng mga kredensyal ay nagbabago kung aling mga certificate ang tatanggapin ng Android, at mula sa Android 7.0 ang isang app na nagta-target sa API 24 o mas bago ay binabalewala ang mga CA na idinagdag ng user maliban kung pinili ito ng configuration ng seguridad ng network nito gamit ang isang anchor ng pagtitiwala ng user. Ang isang kliyenteng nangungulit sa isang CA ay maaaring gumagawa ng lehitimong interbensyon ng enterprise, o maaaring humihingi ng isang bagay na hindi kailanman binanggit ng dialog ng VPN.

Ang access sa accessibility ay mas malayo pa. Ang isang serbisyong may naka-enable na accessibility ay makakabasa ng nilalaman ng screen ng ibang mga app, na hindi ibinibigay ng anumang posisyon sa antas ng packet.

Lokal na filter o malayong gateway

Sinasakop ng parehong API ang dalawang produkto na karapat-dapat sa magkaibang antas ng pagtitiwala. Ang isang firewall o blocker ng patalastas sa device ay kumukuha ng descriptor ng tun at sinasagot ang trapik nang lokal, nang hindi kailanman ipinapadala ito sa isang server na pinapatakbo nito mismo. Ang isang tunay na tunnel ay ipinapasa ang mga packet na iyon sa isang gateway sa ibang lugar, at nakikita ng operator na iyon ang parehong metadata mula sa kabilang dulo at nagpapasya rin kung ano ang babalik.

Ang isang praktikal na paraan upang makilala sila ay suriin ang iyong pampublikong address kapag naka-on at naka-off ang VPN, at tingnan kung ang notification ay nagbabanggit ng isang malayong endpoint. Kung hindi kailanman nagbabago ang address, malamang na umiikot ang trapik sa device mismo.

Parehong kaso ay posisyon pa rin sa packet. Ang kaibahan ay kung sino pa ang nakatayo sa labasan.

Suriin ang iyong inaprubahan

Buksan ang Settings, pagkatapos Network and internet, pagkatapos VPN, at basahin ang entry sa halip na ang icon sa status bar. Ang Always-on VPN at Block connections without VPN ay mga setting ng device na nagpapanatili sa interface na buhay at pumuputol ng mga tagas; wala silang pinalalawak. Mula sa parehong screen maaari mong kalimutan ang profile at bawiin ang pagbibigay.

Pagkatapos ay talakayin ang iba pang mga pahintulot. Ipinapakita ng App info kung aling mga pagbibigay sa oras ng pagtakbo ang hawak ng kliyente, at ipinapakita ng mga setting ng Security kung may na-install na certificate ng user sa parehong oras. Alinman sa dalawa ay maaaring alisin nang hiwalay.

Ang tanong na karapat-dapat sagutin ay makitid: aling mga packet ang pumapasok sa serbisyong ito, saan sila pumupunta, at ano ang pinapanatili ng implementasyon. Lahat ng iba pa sa dialog ay ingay. Ang sanggunian ng VpnService ang awtoritatibong listahan ng inilalantad ng interface.

Kaugnay na mga artikulo