A TLS rögzítés és a VPN-belépés más-más kérdésre válaszol
A rögzítés korlátozza, melyik kiszolgálóban bízik az alkalmazás; a VPN-szabályzat dönti el, ki ér el a hálózatra. Egyik sem fedi le a jogosultságot vagy egy elveszett eszközt.
Tegyen egy privát mobilalkalmazást VPN mögé, és egy értelmes ember megkérdezi, hogy kell-e még neki tanúsítvány-rögzítés. A kérdés úgy hangzik, mint választás két egyenértékű ellenőrzés között, valójában pedig két különböző kapu kérdése. A VPN dönti el, hogy ez az eszköz egyáltalán használhatja-e az útvonalat; az alkalmazás dönti el, hogy az elért kiszolgáló az-e, amelyet várt. Válaszoljon mindkettőre külön, és a tervezés egyszerűbb lesz.
Két kapu, két kérdés
A hálózati belépés az ügyfélről szól: regisztrált-e ez az eszköz, érvényes-e a hitelesítő adata, és engedi-e a szabályzat ezen az útvonalon? Az alkalmazás bizalma a kiszolgálóról szól: elérte-e a kapcsolat olyan szolgáltatást, amelynek identitását az alkalmazás elfogadja? Ezek a válaszok különböző rendszerektől jönnek, különböző okokból hibáznak, és különböző csapatok javítják őket. Egy VPN-kézfogás sikerülhet, miközben az alkalmazás egy lejárt tanúsítvánnyal beszél a partner mögött. Egy tökéletesen rögzített alkalmazás mégis elérhetetlen lehet mindenki számára, mert az eszköz soha nem került fel a hálózatra.
A kettő összeadódik. Az egyik elhagyása eltávolít egy ellenőrzést; a másik hozzáadása nem pótolja.
Mit korlátoz valójában egy rögzítés
A rögzítés szűkíti a kiszolgáló-identitások halmazát, amelyet az alkalmazás elfogad, rendszerint egy nyilvános kulcs vagy egy tanúsítvány-kivonat megnevezésével, ahelyett hogy minden láncban bízna, amelyért valamely tároló kezeskedne. Ez a szokásos ellenőrzésre rakott korlátozás, nem annak helyettesítője. A szokásos ellenőrzés arra válaszol, hogy egy lánc egyáltalán megbízható-e; a rögzítés arra, hogy az a lánc-e, amelyet ez az alkalmazás vár. Az a megvalósítás, amely kihagyja az első lépést, nem biztonságot nyert, csak újdonságot.
A rögzített objektum platformonként eltér, ezért a szó önmagában keveset mond. Egy termék bizalmi tárolójából kivonatot másolni és azt egy mobilalkalmazásban ugyanannak tekinteni gyakori és csendes hiba.
A platformon a rögzítés konfiguráció, nem szabályzat
Az Android a hálózati biztonsági konfigurációján keresztül teszi elérhetővé a rögzítést, ahol egy rögzítéskészlet egy nyilvános kulcs lenyomatait tartalmazza, és a láncnak legalább egyet tartalmaznia kell közülük. Ez a fájl alkalmazásonként külön van, és szándékos build-változtatást igényel. Az iOS-nek nincs egyenértékű jegyzékmechanizmusa, ezért ott a rögzítés az alkalmazás saját bizalomértékelő kódjában él.
Mivel a mechanizmus eltér, a követelményt platformonként kell megírni. Az a szabályzat, amely azt mondja, hogy rögzítse a tanúsítványt a platform megnevezése nélkül, nem végrehajtható.
A rotáció dönti el, hogy túléli-e a rögzítés
A nehéz rész nem az első kiadás, hanem az utána következő tanúsítvány-megújítás. Egy szigorú bizalmi szabályzat egy jogos új kulcsot éppoly határozottan utasít el, mint egy támadóét.
Két mechanizmus teszi túlélhetővé a rotációt: egy tartalék rögzítés, amelyben már a szükségessége előtt bíznak, és egy lejárati dátum a rögzítéskészleten, hogy a kényszerítés elmúljon, ne pedig megbénítsa az alkalmazást. Mindkettő szabályzati döntés, és a lejárat különösen a biztonság szándékos csökkentése, nem ártalmatlan időzítő. Nevezze meg, ki irányítja az alkalmazás buildjét, a TLS-végpontot és a tanúsítvány-megújítást, és vonja össze őket egyetlen változási folyamatba. Ha ez három különböző csapat, a rögzítés előbb-utóbb olyan kimaradást okoz, amelyet senki nem tervezett.
Az elveszett eszköz harmadik probléma
Egy VPN-hitelesítő adat visszavonása nem feltétlenül zárja le az alkalmazás munkamenetét, és a kiszolgáló rögzítése semmit sem tesz egy más kezében lévő telefonnal. Az eszközzár, a hitelesítő adatok tárolása, a munkamenet élettartama és a táveltávolítás külön döntések külön tulajdonosokkal. Ha ezeket a rögzítési vitába hajtja, az garantálja, hogy egyiket sem fogják megtervezni.
Teszteljen négy viszonyt a látható egy helyett: a szándékolt kiszolgálót és műveletet, egy elutasítandó fiókot, egy elvetendő kiszolgáló-identitást és a tervezett rotációt. Egy működő VPN csak az elsőt gyakorolja. Írja le, mit bizonyított az egyes tesztek, mert a következő ember azt fogja feltételezni, hogy a zöld alagút azt jelenti, mind a négy átment.