Невялікае разгортванне цягнецца да адбіткаў пальцаў, бо ўстанова сертыфікатаў выглядае як інфраструктура, на якую ні ў кога няма часу. Інстынкт разумны, а кароткі шлях, які людзі замест гэтага выбіраюць—капіраванне аднаго сакрэту канала даных на абодва канцы—не такі. Наладка peer-fingerprint захоўвае структуру TLS цэлай: кожны бок па-ранейшаму трымае свой прыватны ключ і сертыфікат, і кожны бок па-ранейшаму правярае іншага. Змяняецца тое, дзе замацавана праверка: ад даверанай установы да кароткага спіса замацаваных дайджэстаў. Паколькі дайджэст ахоплівае ўвесь сертыфікат, а не імя, абнаўленне ператвараецца ў аперацыю, якая сапраўды забірае час.

Да чаго насамрэч абавязвае адбітак

Адбітак сертыфіката — гэта дайджэст усяго сертыфіката ў кадаванні DER, а не яго публічнага ключа і не імя яго суб’екта. Таму два сертыфікаты з аднолькавымі імёнамі і адным і тым жа ключом, але рознымі датамі дзейнасці маюць розныя адбіткі. Менавіта гэта робіць замацаванне дакладным, і гэта ж робіць абнаўленне перарывістым. Замацаванне не можа азначаць давер да ключа наогул, бо яно называе адзін артэфакт у адзін момант яго жыцця. Дайджэст можа ведаць любы, і само веданне яго нічога не даказвае.

openssl x509 -in server.crt -noout -fingerprint -sha256
openssl x509 -in client-07.crt -noout -fingerprint -sha256

Валоданне адпаведным прыватным ключом — гэта тое, што даказвае, што партнёр трымае гэты сертыфікат, а дайджэст — гэта тое, як іншы бок вырашае, ці чакаў ён гэты сертыфікат наогул. Гэтае размежаванне — прычына, чаму гэты дызайн не стары парадак з агульным сакрэтам: агульны ключ аўтэнтыфікуе любога, хто ведае тыя ж байты, а замацаванне аўтэнтыфікуе адзін сертыфікат. Іншая прылада атрымлівае свой уласны запіс, а не копію таго ж сакрэту, што ёсць невялікай розніцай у файлах і вялікай — у маштабе шкоды.

Карта ўзаемная, а не сіметрычная

Кожнаму канцу патрэбныя дзве рэчы: свой прыватны ключ разам з сертыфікатам і заява пра тое, якія сертыфікаты партнёраў ён прыме. На кліенце гэтая заява — дайджэст сертыфіката сервера; на серверы — спіс дайджэстаў зарэгістраваных кліентаў. Афіцыйны прыклад для маленькай наладкі для Community 2.6 паказвае ўстройства з peer-fingerprint, і яго варта прачытаць перад выбарам гэтай мадэлі даверу для рэальнага разгортвання. Два напрамкі — не адзін перавернуты спіс, і яны не адмаўляюць адначасова.

Verification directionWhat is pinnedWhat never leaves that endpointHow a wrong pin shows up
Client checks the serverOne digest, for the server certificateThe server private keyThe client aborts during the TLS handshake
Server checks the clientA digest per enrolled clientEach client private keyThe server rejects the peer before a tunnel exists

Даданне прылады рэдагуе спіс дазволаў на серверы, без капіравання прыватнага матэрыялу існуючага кліента і без перамяшчэння ключа сервера куды-небудзь. Два напрамкі таксама адмаўляюць незалежна, што карысна пры дыягностыцы: той бок, які зачыняе рукапоціск, і ёсць бок, чыё чаканне не апраўдалася. Калі кліент адхіляе сервер, дайджэст не супадае з прадстаўленым сертыфікатам. Калі сервер адхіляе кліента, дайджэст гэтага кліента адсутнічае ў спісе альбо кліент прадстаўляе іншы сертыфікат, чым зарэгістраваны.

Рэгістрацыя: як далучаецца новая прылада

Стварыце ключ і сертыфікат новай прылады там, дзе будзе жыць прыватны ключ, затым перанясіце толькі публічны артэфакт таму боку, якому трэба яго замацаваць. Перадайце чаканы дайджэст праз канал, якому вы ўжо давяраеце, і параўнайце поўны сертыфікат, а не знаёмае імя. Дайджэст, скапіяваны з таго ж неправеранага спампоўвання, што і сертыфікат, даказвае толькі тое, што два файлы ўзгадняюцца адзін з адным. Гэта праверка ўзгодненасці, а не праверка асобы, і гэта самы ціхі спосаб, якім гэты дызайн слабее.

На серверы даданне дайджэста — змена канфігурацыі, якая ідзе праз звычайны мэнэджар і суправаджаецца перападлучэннем. Пацвердзіце, што новая прылада падключаецца, а прылада, чый дайджэст выдалены, ужо не. Тэст, які пакрывае толькі станоўчы выпадак, пакідае спіс дазволаў неправераным, і гэта менавіта той стан, у якім вы будзеце праз шэсць месяцаў.

Абнаўленне — дарагі момант

Кожны сертыфікат сканчаецца, і новы сертыфікат мае новы дайджэст, нават калі ключ і імёны застаюцца тымі ж. Пад установай абнаўленне празрыстае для партнёраў, якія давяраюць гэтай установе; пад замацаваннем яно — падзея рэгістрацыі для кожнага партнёра, які замацоўвае сертыфікат.

Плануйце парадак да даты заканчэння, а не пасля яе. Размеркаваць новы дайджэст бакам, якія яго правяраюць, ужыць змену і толькі потым замяніць сертыфікат на канцы. Такі парадак не пакідае акна, у якім два бакі не згодныя наконт таго, які сертыфікат актуальны. Трымайце сам спіс пад пераглядам, бо замацаваны спіс назапашвае запісы прылад, выведзеных месяцы таму. Кожны састарэлы запіс — гэта асоба, якая ўсё яшчэ аўтэнтыфікуецца, калі яе ключ выжыве, таму выдаленне — гэта бяспекавая дзея, а не прыборка.

Што карта даверу не вырашае

Аўтэнтыфікацыя — гэта адзін слой, і замацаваная карта нічога не кажа пра пул адрасоў, прасоўваемыя маршруты, MTU шляху або палітыку фаеруола. Яны застаюцца асобнай канфігурацыяй з асобнымі рэжымамі збою. Тунель, які аўтэнтыфікуецца і не прапускае трафік, — гэта іншае расследаванне, чым той, што ніколі не ўзнімаецца.

Карта таксама не масштабуецца бясконца, і PKI на аснове ўстановы — гэта тое, да чаго прыходзяць большыя разгортванні. Гэтая перавага пра аперацыі, а не пра крыптаграфію, бо дадаваць і выводзіць асобы праз адну ўстанову танней, чым рэдагаваць спіс на кожным партнёры па меры росту флоту. Там, дзе рэалізацыя кліента не падтрымлівае опцыю, адказ — сумяшчальная мадэль даверу, якую дакументуе гэты кліент, або падтрыманая замена. Заглушэнне папярэджання пра праверку не дадае гэтай падтрымкі, і ўся каштоўнасць дызайну ў тым, што праверка ўсё яшчэ адбываецца.

Падобныя артыкулы