Set in privee mobile app efter in VPN en in ridlik minske sil freegje oft it noch sertifikaatfêstpinning nedich hat. De fraach klinkt as in kar tusken twa gelykweardige kontrôles, en it is eins in fraach oer twa ferskillende poarten. De VPN beslút oft dit apparaat it paad hielendal brûke mei; de app beslút oft de tsjinner dy't it berikt hat, dejinge is dy't it ferwachte. Beäntwurdzje beide apart en it ûntwerp wurdt ienfâldiger.

Twa poarten, twa fragen

Tagong ta it netwurk giet oer de kliïnt: is dit apparaat registrearre, is syn bewiis jildich, en lit it belied it ta op dit paad? Fertrouwen fan de app giet oer de tsjinner: hat de ferbining in tsjinst berikt mei in identiteit dy't de app akseptearret? Dy antwurden komme fan ferskillende systemen, mislearje om ferskillende redenen, en wurde troch ferskillende teams reparearre. In VPN-hânskodding kin slagje wylst de app praat mei in ferfallen sertifikaat efter de partner. In perfekt fêstpinde app kin noch altyd ûnberikber wêze foar elkenien, om't it apparaat nea op it netwurk kaam.

De twa wurde opteld. Ien weilitte nimt in kontrôle fuort; de oare tafoegje ferfangt dy net.

Wat in pin eins beheint

In pin fernauwet de set tsjinneridentiteiten dy't de app akseptearret, meast troch in iepenbiere kaai of in sertifikaat-hash te neamen ynstee fan elke keatling te fertrouwen dêr't in opslach foar ynstiet. It is in beheining oanbrocht op gewoane falidaasje, gjin ferfanging dêrfan. Gewoane falidaasje beäntwurdet oft in keatling hielendal betrouber is; de pin beäntwurdet oft it de keatling is dy't dizze app ferwachtet. In ymplemintaasje dy't de earste stap oerslacht, hat gjin feiligens wûn, allinnich nijichheid.

It objekt dat fêstpind wurdt ferskilt per platfoarm, dus it wurd allinnich seit jo hiel lyts. In hash kopiearje út de fertrouwensopslach fan ien produkt en dy yn in mobile app as itselde ding behannelje is in gewoane en stille flater.

Pinning op it platfoarm is in konfiguraasje, gjin belied

Android eksposearret pinning fia syn netwurkfeiligenskonfiguraasje, wêr't in pinset digests fan in iepenbiere kaai hâldt en de keatling moat op syn minst ien dêrfan befetsje. Dat bestân is per app en freget in bewuste build-wiziging. iOS hat gjin lykweardich manifestmeganisme, dus pinning dêr wennet yn de eigen fertrouwensbeoardielingskoade fan de app.

Om't it meganisme ferskilt, moat de eask per platfoarm skreaun wurde. In belied dat seit pin it sertifikaat sûnder it platfoarm te neamen, is net ymplementearber.

Rotaasje beslút oft de pin oerlibbet

It hurde part is net de earste útjefte, it is de sertifikaatfernijing dêrnei. In lakonyk fertrouwensbelied wiist in legitime nije kaai like fêst ôf as dy fan in oanfaller.

Twa meganismen meitsje rotaasje oerlibjeber: in reservepin dy't al fertroud is foar't er nedich is, en in ferfaldatum op it pinset sadat twang ferfalt ynstee fan de app te blokkearjen. Beide binne beliedsbesluten, en benammen it ferfal is in bewuste ferleging fan feiligens, gjin ûnskuldige timer. Neam wa't de build fan de app, it TLS-einpunt en de sertifikaatfernijing beheart, en set se yn ien wizigingsproses. As dat trije ferskillende teams binne, sil de pin úteinlik in steuring feroarsaakje dy't nimmen pland hie.

In ferlern apparaat is in tredde probleem

It ynlûken fan in VPN-bewiis einiget net needsaaklik in appsessy, en in tsjinnerpin docht hielendal neat oan in tillefoan yn in oarmans hân. Apparaatsslút, bewiisopslach, sessyduer en opôfstân ynlûken binne aparte besluten mei aparte eigners. Se yn de pinningdiskúsje opnimme garandearret dat gjin fan harren ûntwurpen wurdt.

Test fjouwer relaasjes ynstee fan dejinge dy't jo sjogge: de bedoelde tsjinner en operaasje, in akkount dat wegere wurde moat, in tsjinneridentiteit dy't ferwurpen wurde moat, en de plande rotaasje. In wurkjende VPN oefenet allinnich de earste. Skriuw op wat elke test bewiisde, want de folgjende persoan sil oannimme dat in griene tunnel betsjut dat alle fjouwer slagge binne.

Relatearre artikelen