Замацаванне TLS і допуск праз VPN адказваюць на розныя пытанні
Замацаванне абмяжоўвае, якому серверу давярае праграма; палітыка VPN вырашае, хто трапляе ў сетку. Ні тое, ні другое не закрывае аўтарызацыю або страчаную прыладу.
Пастаўце прыватную мабільную праграму за VPN, і разважлівы чалавек спытае, ці патрэбна ёй яшчэ замацаванне сертыфіката. Пытанне гучыць як выбар паміж двума раўназначнымі сродкамі кантролю, а насамрэч гэта пытанне пра дзве розныя брамы. VPN вырашае, ці можа гэтая прылада наогул карыстацца шляхам; праграма вырашае, ці той сервер яна дасягнула, які чакала. Адказвайце на абодва асобна, і праект стане прасцейшым.
Дзве брамы, два пытанні
Допуск у сетку датычыць кліента: ці гэтая прылада зарэгістравана, ці сапраўдныя яе ўліковыя даныя і ці дазваляе палітыка пускаць яе на гэты шлях? Давер праграмы датычыць сервера: ці злучэнне дасягнула сэрвісу з тоеснасцю, якую праграма прымае? Гэтыя адказы прыходзяць з розных сістэм, зрываюцца з розных прычын і выпраўляюцца рознымі камандамі. Рукапоціск VPN можа прайсці, пакуль праграма размаўляе з пратэрмінаваным сертыфікатам за партнёрам. Ідэальна замацаваная праграма можа застацца недасяжнай ні для кога, бо прылада так і не трапіла ў сетку.
Абодва дапаўняюць адно аднаго. Калі прыбраць любое, знікае сродак кантролю; даданне аднаго не замяняе другое.
Што замацаванне насамрэч абмяжоўвае
Замацаванне звужае набор тоеснасцей сервера, якія праграма прыме, звычайна называючы публічны ключ або хэш сертыфіката замест даверу да кожнага ланцужка, за які ручаецца сховішча. Гэта абмежаванне, накладзенае на звычайную праверку, а не замена ёй. Звычайная праверка адказвае, ці ланцужок наогул надзейны; замацаванне адказвае, ці гэта той ланцужок, які чакае праграма. Рэалізацыя, якая прапускае першы крок, набывае не бяспеку, а толькі навізну.
Аб’ект замацавання розны на розных платформах, таму само слова мала што кажа. Скапіяваць хэш са сховішча даверу аднаго прадукту і лічыць яго тым жа ў мабільнай праграме — распаўсюджаная і ціхая памылка.
Замацаванне на платформе — гэта канфігурацыя, а не палітыка
Android паказвае замацаванне праз канфігурацыю бяспекі сеткі, дзе набор замацаванняў утрымлівае здымкі публічнага ключа, і ланцужок мусіць змяшчаць хаця б адзін з іх. Гэты файл асобны для кожнай праграмы і патрабуе свядомай змены зборкі. У iOS няма эквівалентнага механізму маніфеста, таму замацаванне там жыве ў кодзе ацэнкі даверу самой праграмы.
Паколькі механізм розны, патрабаванне трэба пісаць для кожнай платформы. Палітыка, якая кажа «замацуйце сертыфікат», не называючы платформу, невыканальная.
Ратацыя вырашае, ці выжыве замацаванне
Складаная частка — не першы выпуск, а абнаўленне сертыфіката пасля яго. Строгая палітыка даверу адхіляе законны новы ключ гэтак жа цвёрда, як і ключ зламысніка.
Два механізмы робяць ратацыю вытрывальнай: рэзервовае замацаванне, якому давяраюць яшчэ да таго, як яно спатрэбіцца, і дата заканчэння дзеяння набору замацаванняў, каб прымус спыніўся, а не заблакаваў праграму. Абодва — палітычныя рашэнні, і менавіта тэрмін — гэта свядомае зніжэнне бяспекі, а не бясшкодны таймер. Назавіце, хто кантралюе зборку праграмы, канчатковы пункт TLS і абнаўленне сертыфіката, і звядзіце іх у адзіны працэс змен. Калі гэта тры розныя каманды, замацаванне неўзабаве выкліча збой, якога ніхто не планаваў.
Страчаная прылада — трэцяя праблема
Адкліканне ўліковых даных VPN не абавязкова спыняе сеанс праграмы, а замацаванне сервера наогул нічога не робіць з тэлефонам у чужой руцэ. Блакіроўка прылады, захоўванне ўліковых даных, тэрмін сеансу і дыстанцыйнае адкліканне — асобныя рашэнні з асобнымі ўладальнікамі. Калі ўплясці іх у размову пра замацаванне, гарантавана не будзе спраектавана ні адно з іх.
Праверце чатыры суадносіны замест адной бачнай: меркаваны сервер і аперацыю, уліковы запіс, які павінен быць адхілены, тоеснасць сервера, якая павінна быць адпрэчана, і запланаваную ратацыю. Працоўны VPN правярае толькі першую. Запішыце, што даказаў кожны тэст, бо наступны чалавек будзе меркаваць, што зялёны тунель азначае, што ўсе чатыры прайшлі.