Ставете приватна мобилна апликација зад VPN и разумен човек ќе праша дали уште ѝ треба закачување на сертификатот. Прашањето звучи како избор меѓу две еднакви контроли, а всушност е прашање за две различни порти. VPN-от одлучува дали овој уред воопшто смее да го користи патот; апликацијата одлучува дали стигнатиот сервер е оној што го очекувала. Одговорете на двете одделно и дизајнот станува поедноставен.

Две порти, две прашања

Пристапот во мрежата се однесува на клиентот: дали овој уред е регистриран, дали неговите акредитиви се валидни и дали политиката му дозволува на овој пат? Довербата на апликацијата се однесува на серверот: дали врската стигна до услуга со идентитет што апликацијата го прифаќа? Овие одговори доаѓаат од различни системи, пропаѓаат од различни причини и ги поправаат различни тимови. VPN-ракувањето може да успее додека апликацијата зборува со истечен сертификат зад партнерот. Совршено закачена апликација сепак може да остане недостапна за сите, зашто уредот никогаш не стигнал во мрежата.

Двете се собираат. Испуштањето на едното отстранува контрола; додавањето на другото не го заменува.

Што всушност ограничува закачувањето

Закачувањето го стеснува множеството идентитети на серверот што апликацијата ќе ги прифати, обично именувајќи јавен клуч или хаш на сертификат наместо да верува на секој синџир за кој би гарантирало некое складиште. Тоа е ограничување наредено врз обичната проверка, не нејзин заменик. Обичната проверка одговара дали синџирот воопшто е доверлив; закачувањето одговара дали тоа е синџирот што оваа апликација го очекува. Имплементација што го прескокнува првиот чекор не добила безбедност, туку само новина.

Објектот што се закачува се разликува меѓу платформите, па самиот збор кажува многу малку. Копирање хаш од складиштето на доверба на еден производ и негово третирање како исто нешто во мобилна апликација е честа и тивка грешка.

Закачувањето на платформата е конфигурација, не политика

Android го изложува закачувањето преку својата конфигурација за безбедност на мрежата, каде множеството закачувања држи отпечатоци од јавен клуч и синџирот мора да содржи барем еден од нив. Таа датотека е по апликација и бара намерна промена на изградбата. iOS нема еквивалентен механизам на манифест, па закачувањето таму живее во сопствениот код за оценување доверба на апликацијата.

Бидејќи механизмот се разликува, барањето мора да се пишува по платформа. Политиката што вели закачи го сертификатот без да ја именува платформата не е остварлива.

Ротацијата одлучува дали закачувањето ќе преживее

Тешкиот дел не е првото издание, туку обновата на сертификатот по него. Строга политика на доверба одбива легитимен нов клуч исто толку цврсто како и клуч на напаѓач.

Два механизми ја прават ротацијата преживлива: резервно закачување на кое му се верува веќе пред да биде потребно, и датум на истекување на множеството закачувања за да престане спроведувањето наместо да ја блокира апликацијата. Двете се политички одлуки, а истекот особено е намерно намалување на безбедноста, не безопасен тајмер. Именувајте кој го контролира изградбата на апликацијата, крајната точка на TLS и обновата на сертификатот, и ставете ги во еден процес на промена. Ако тоа се три различни тима, закачувањето на крајот ќе предизвика прекин што никој не го планирал.

Изгубениот уред е трет проблем

Отповикувањето на VPN-акредитив не мора да заврши сесија на апликацијата, а закачувањето на серверот воопшто не прави ништо за телефон во туѓа рака. Заклучувањето на уредот, чувањето акредитиви, траењето на сесијата и далечинското отповикување се одделни одлуки со одделни сопственици. Нивното преклопување во расправата за закачување гарантира дека ниту една од нив нема да биде дизајнирана.

Тестирајте четири односи наместо онаа една што ја гледате: предвидениот сервер и операција, сметка што треба да биде одбиена, идентитет на сервер што треба да биде отфрлен и планираната ротација. Работен VPN вежба само првата. Запишете што докажал секој тест, зашто следниот човек ќе претпостави дека зелена тунел значи дека сите четири поминале.

Поврзани статии