AEAD дадае цэласнасць, а не лагін і не працоўны маршрут
Аўтэнтыфікаваны шыфр хавае змест і адначасова выяўляе падмену. Ідэнтычнасць, свежасць і маршрутызацыя — асобныя механізмы са сваімі доказамі.
Аўтэнтыфікаваны шыфр вяртае адразу дзве рэчы: шыфртэкст, які хавае змест, і тэг, які дазваляе атрымальніку выявіць падмену. Раней гэтыя функцыі збіралі з асобных частак, і дрэннае іх спалучэнне давала незаўважныя збоі. Сучасныя канструкцыі вызначаюць спалучэнне і ўмовы, пры якіх яно выконваецца. Слова «аўтэнтыфікаваны» ў гэтым сказе адносіцца да тэга, а не да чалавека.
Абедзве гарантыі датычацца абароненага пакета, і ні адна з іх не распаўсюджваецца на што-небудзь па-за ім.
Дзве гарантыі ў адной канструкцыі
Адно шыфраванне адказвае на адно пытанне: ці можа назіральнік гэта прачытаць? Цэласнасць паведамлення адказвае на іншае: ці было гэта зменена? Тунелю патрэбны абодва, бо зменены змест горш за нечытэльны. AEAD вызначае, як спалучыць іх пад адным ключом, разам з асацыяванымі данымі, якія аўтэнтыфікуюцца, але не шыфруюцца. Атрымальнік адхіляе ўвод, які не праходзіць праверку, а не лічыць зменены адкрыты тэкст дапушчальным.
Асацыяваныя даныя — гэта спосаб, якім пратакол прывязвае бачныя палі да праверкі. Якія палі атрымліваюць такую апрацоўку, залежыць ад пратакола, і гэты выбар не абяцае, што кожны знешні адрас стаў сакрэтным. Поле можа быць накрыта тэгам, застаючыся чытэльным у сетцы.
Nonce — не дробязь
Гэтыя канструкцыі патрабуюць правільнай працы з ключом і nonce, і збой пры паўторным выкарыстанні nonce не бывае мяккім. Паўтор nonce пад адным ключом можа выкрыць сувязі паміж паведамленнямі і цалкам падарваць гарантыю цэласнасці. Менавіта таму nonce звычайна генеруе і ўпарадкоўвае пратакол, а не праграма. Ручная зборка канструкцыі вакол тунеля — гэта спосаб, якім такая адказнасць губляецца.
Патрабаванне — гэта ўмова гарантыі, а не парада па рэалізацыі. Сістэма, якая неахайна генеруе nonce, не дае ўласцівасці, якую рэкламуе.
Ахова ад паўтораў — асобны стан
Сапраўдны стары пакет можна паўтарыць, нават калі яго тэг цэлы, бо тэг даказвае сапраўднасць, а не свежасць. Апрацоўка паўтораў патрабуе ўласнага стану: нумароў паслядоўнасці, акна і правіла, што прымаць. Гэты стан жыве ў рэалізацыі пратакола і не звязаны з выбарам шыфра. Тунель з моцным шыфраваннем і без аховы ад паўтораў усё роўна прымае ўчорашні трафік.
Два механізмы супрацоўнічаюць, не будучы адным механізмам, і адзін можа быць правільным, пакуль другі адсутнічае.
Што тэг вам не скажа
Ідэнтычнасць партнёра ўсталёўваецца сертыфікатамі або папярэдне агульнымі ключамі, а не тым, што шыфр аўтэнтыфікаваны. Маршрутызацыя, развязанне імёнаў і палітыка журналавання аператара знаходзяцца цалкам па-за крыптаграфічнай мяжой тунеля. Паспяховыя перамовы аб алгарытме кажуць, што бакі дамовіліся аб набары, і больш нічога. Гэта сцвярджэнне пра сумяшчальнасць, а не пра якасць рэалізацыі з любога боку. Кожнае з гэтых пытанняў — асобнае і мае свае доказы.
Для карыстальнікаў практычная інструкцыя — выбіраць пратакольную канфігурацыю, якая падтрымліваецца і абслугоўваецца. AEAD — уласцівасць такой канфігурацыі, а не запрашэнне будаваць шыфраванне ўручную вакол тунеля.
Запішыце, які набор быў абраны, ці ўключана ахова ад паўтораў і як вызначаюцца партнёры. Тры факты — тры розныя гарантыі.