Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[49]

Боба. Позже, он повторяет эту операцию еще раз. С помощью своего компьютера он проверяет записанные с о-общения, разыскивая пару идентичных сообщений . Этими сообщениями являются те сообщения, которыми он переводит $100 на свой счет. Если он находит несколько пар одинаковых сообщений (что больше похоже на реальную жизнь), он делает еще один денежный перевод и записывает результат. В конце концов он сможет выделить сообщение, которым был проведен именно его перевод .

Теперь он может отправить это сообщение по каналу связи, когда захочет . Каждое сообщение приведет к зачислению на его счет в банке Боба еще $100. Когда оба банка сверят свои переводы (возможно в конце дня), они обнаружат переводы-призраки, но если Мэллори достаточно умен, он уже сбежит в какую-нибудь банан о-вую республику без договора об экстрадиции, прихватив с собой деньги . И скорее всего он использует суммы несколько больше $100 и провернет операцию сразу для нескольких банков .

На первый взгляд банки могут легко пресечь это, добавляя метки времени к своим сообщениям .

Метка даты/времени1 блок

Банк 1: Передача1.5 блока

Банк 2: Прием1.5 блока

Имя вкладчика6 блоков

Счет вкладчика2 блока

Сумма вклада1 блок

В такой системе два идентичных сообщения будут легко обнаружены . Тем не менее, с помощью метода, называемого повтором блока, Мэллори все же сможет обогатиться. На 7-й показано, что Мэллори может собрать восемь блоков шифротекста, соответствующих его имени и номеру счета : блоки с 5 по 12. В этот момент уместно дьявольски рассмеяться, ведь Мэллори уже в полной готовности .

Номер блока

Метка времени

Банк отправитель

Банк получатель

Имя вкладчика

Счет вкладчика

Рис. 9-2. Блоки шифрования в записи приведенного примера.

Он перехватывает сообщения из банка Алисы в банк Боба и заменяет блоки с 5 по 12 сообщения байтами , соответствующими его имени и номеру счета. Затем он посылает измененные сообщения в банк Боба. Ему не нужно знать, кто был отправителем денег, ему даже не нужно знать переводимую сумму (хотя он может связать подправленное сообщение с соответствующим увеличением своего счета и определить блоки, соответствующие определенным денежным суммам). Он просто изменяет имя и номер счета на свои собственные и следит за ро с-том своих доходов. (Я помню, что Мэллори надо быть осторожным, чтобы не модифицировать сообщение о снятии денег, но предположим на минутку, что у этих сообщений другая длина или иной отличительный пр и-знак.)

Для обнаружения такого способа банкам одного дня не хватит. Когда они сверят свои переводы в конце дня, все суммы совпадут. Возможно, пока настоящий вкладчик не заметит, что его вклады не зачисляются на счет , или пока кто-нибудь не обратит внимание на неожиданную активизацию работы со счетом Мэллори, банки не смогут заметить никаких следов . Мэллори не глуп и к этому времени закроет свой счет, изменит имя и купит виллу в Аргентине.

Банки могут минимизировать эту проблему, часто меняя свои ключи, но это означает только, что Мэллори придется действовать побыстрее. Однако, добавление MAC также решит проблему. Несмотря на это рассматриваемая проблема фундаментальна для режима ECB. Мэллори удалять, повторять или заменять блоки по своему усмотрению. Решением является способ, называемый сцеплением.

9.3 Режим сцепления блоков шифра

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

В режиме сцепления блоков шифра (cipher block chaining, CBC) перед шифрованием над открытым текстом и предыдущим блоком шифротекста выполняется операция XOR. На 6-й (а) показано шифрование CBC в действии. ,Когда блок открытого текста зашифрован, полученный шифротекст сохраняется в регистре обратной связи. Прежде чем будет зашифрован следующий блок открытого текста, он подвергается операции XOR вместе


с содержимым регистра обратной связи. Таким образом создаются входные данные для следующего этапа пр о-цедуры шифрования. Полученный шифротекст снова сохраняется в регистре обратной связи, чтобы подвер гнуться операции XOR вместе со следующим блоком открытого текста, и так до конца сообщения . Шифрование каждого блока зависит от всех предыдущих блоков .

Дешифрирование является обратной операцией (см. Figure 9.3 (б) ). Блок шифротекста расшифровывается как обычно, но сохраняется в регистре обратной связи . Затем следующий блок дешифрируется и подвергается операции XOR вместе с содержимым регистра обратной связи . Теперь следующий блок шифротекста сохран я-ется в регистре обратной связи, и так далее, до конца сообщения .

Математически это выглядит следующим о бразом: Ci = EK(P, © Ct-t) Pi = d-, © DK(Ct)

(а) Шифрование CBC

(б) Дешифрирование CBC

Рис. 9-3. Режим сцепления блоков шифра.

Вектор инициализации

В режиме CBC одинаковые блоки открытого текста при шифровании переходят в различные блоки шифр о-текста только, если отличались какие-то из предшествующих блоков открытого текста . Два идентичных сообщения, однако, будут шифроваться как один и тот же шифротекст . Что еще хуже, два одинаково начинающихся сообщения будут шифроваться одинаково, пока не появится первое различие .

У ряда сообщений может быть одинаковый заголовок - тема письма, строка "From или еще что-нибудь. Хотя повтор блока будет невозможен, такое одинаковое начало может предоставить криптоаналитику какую-нибудь полезную информацию.

Избежать этого можно, шифруя в качестве первого блока какие-то случайные данные . Этот блок случайных данных называется вектором инициализации (initialization vecto r, IV), инициализирующей переменной или начальным значением сцепления. IV не имеет никакого смыслового значения, он используется только для того, чтобы сделать каждое сообщение уникальным. Когда получатель расшифровывает этот блок, он испольтзует его только для заполнения регистра обратной связи . Хорошим IV служит метка времени. Или используйте какие-нибудь случайные биты.

С использованием IV сообщения с идентичным открытым текстом при шифровании переходят в сообщения с различным шифротекстом. Следовательно, злоумышленник не сможет предпринять повтор блока, и затру д-нится создание шифровальной книги. Хотя рекомендуется для каждого сообщения, шифруемого одним и тем же ключом, выбирать уникальный IV, это требование не является обязательным .

IV не должен храниться в секрете, он может передаваться открыто вместе с шифротекстом . Если вы не понимаете почему, рассмотрите следующий довод. Пусть наше сообщение состоит из нескольких блоков: Bi, B2,

B,. Bi шифруется вместе с IV. B2 шифруется с использованием шифротекста Bi в роли IV. B3 шифруется с использованием шифротекста B2 в роли IV, и так далее. Итак, если количество блоков - n, то n-i "векторов инициализации" открыты, даже если первоначальный IV хранится в секрете. Поэтому причин хранить в секрете IV нет, IV - это просто блок-заглушка, можно считать его нулевым блоком сцепления B0.


Набивка

Набивка используется также, как и в режиме ECB, но в некоторых приложениях размер шифротекст должен в точности совпадать с размером открытого текста . Может быть, зашифрованный файл должен занять в точн ости тот же объем памяти, что и файл открытого текста . В этом случае последний короткий блок придется ши ф-ровать иначе. Пусть последний блок состоит из / битов. Зашифровав последний полный блок, снова зашифруйте шифротекст, выберите старшие / битов и выполните для них и короткого блока операцию XOR, создавая шиф-ротекст. Эта процедура показана на 5-й.

P n (j битов длиной)

Выбрать левые jбитов

Cn (j битов длиной)

Рис. 9-4. Шифрование короткого последнего блока в режиме CBC.

Слабость этого способа в том, что хотя Мэллори не сможет раскрыть последний блок шифротекста, он м о-жет систематически изменять его, меняя отдельные биты шифротекста . Если последние несколько битов шиф-ротекста содержат важную информацию, это опасно. Если последние биты просто содержат совет по домово д-ству, то ничего страшного.

Лучшим способом является похищение щифротекста (см. 4th) [402]. Pn-1 - последний полный блок открытого текста, Pn - заключительный, короткий блок открытого текста. Сп-1 - последний полный блок шифротекста, Сп -заключительный, короткий блок шифротекста. C - это просто промежуточный результат, не являющийся ч а-стью переданного шифротекста. Преимуществом этого метода является то, что все биты открытого текста соо б-щения проходят через алгоритм шифрования.

Рис. 9-5. Похищение шифротекста в режиме CBC.

Распространение ошибки

Режим CBC характеризуется прямой обратной связью шифротекста при шифровании и инверсной обратной связью шифротекста при дешифрировании. При этом приложения должны уметь бороться с ошибками. Единственная битовая ошибка в блоке открытого текста повлияет на данный блок шифротекста и все посл е-дующие блоки шифротекста. Это не важно, потому что дешифрирование инвертирует этот эффект, и восстано в-



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18] [стр.19] [стр.20] [стр.21] [стр.22] [стр.23] [стр.24] [стр.25] [стр.26] [стр.27] [стр.28] [стр.29] [стр.30] [стр.31] [стр.32] [стр.33] [стр.34] [стр.35] [стр.36] [стр.37] [стр.38] [стр.39] [стр.40] [стр.41] [стр.42] [стр.43] [стр.44] [стр.45] [стр.46] [стр.47] [стр.48] [стр.49] [стр.50] [стр.51] [стр.52] [стр.53] [стр.54] [стр.55] [стр.56] [стр.57] [стр.58] [стр.59] [стр.60] [стр.61] [стр.62] [стр.63] [стр.64] [стр.65] [стр.66] [стр.67] [стр.68] [стр.69] [стр.70] [стр.71] [стр.72] [стр.73] [стр.74] [стр.75] [стр.76] [стр.77] [стр.78] [стр.79] [стр.80] [стр.81] [стр.82] [стр.83] [стр.84] [стр.85] [стр.86] [стр.87] [стр.88] [стр.89] [стр.90] [стр.91] [стр.92] [стр.93] [стр.94] [стр.95] [стр.96] [стр.97] [стр.98] [стр.99] [стр.100] [стр.101] [стр.102] [стр.103] [стр.104] [стр.105] [стр.106] [стр.107] [стр.108] [стр.109] [стр.110] [стр.111] [стр.112] [стр.113] [стр.114] [стр.115] [стр.116] [стр.117] [стр.118] [стр.119] [стр.120] [стр.121] [стр.122] [стр.123] [стр.124] [стр.125] [стр.126] [стр.127] [стр.128] [стр.129] [стр.130] [стр.131] [стр.132] [стр.133] [стр.134] [стр.135] [стр.136] [стр.137] [стр.138] [стр.139] [стр.140] [стр.141] [стр.142] [стр.143] [стр.144] [стр.145] [стр.146] [стр.147] [стр.148] [стр.149] [стр.150] [стр.151] [стр.152] [стр.153] [стр.154] [стр.155] [стр.156] [стр.157] [стр.158] [стр.159] [стр.160] [стр.161] [стр.162] [стр.163] [стр.164] [стр.165] [стр.166] [стр.167] [стр.168] [стр.169] [стр.170] [стр.171] [стр.172] [стр.173] [стр.174] [стр.175] [стр.176] [стр.177] [стр.178] [стр.179] [стр.180] [стр.181] [стр.182] [стр.183] [стр.184] [стр.185] [стр.186] [стр.187] [стр.188] [стр.189] [стр.190] [стр.191] [стр.192] [стр.193] [стр.194] [стр.195] [стр.196] [стр.197] [стр.198] [стр.199] [стр.200] [стр.201] [стр.202] [стр.203]