Контроль целостности сообщений

Контрольная сумма

Контрольная сумма—некоторое значение, рассчитанное изПоследовательностиданных путм применения определнногоалгоритма, используемое для проверки правильности передачиданных (для исключения влияния каких-либо помех припередаче).

kX=F(X)

F:Сообщения n,n+1,n+2…бит->контрольная сумма nбит.

Добавляется к блоку данных: {X|kX}. Получатель вычисляетконтрольную сумму от полученного сообщения и проверяетсоответствие переданному значению.

Продольный контроль четности (XOR )

Общий принцип постоения:

Входное сообщение рассматривается как

последовательность n-битных блоков.Сообщение обрабатываетсяпоследовательно блок за блоком, исоздается m-битное значение кода.

(продольный избыточный контроль).

побитный XOR всех блоков:

M= bi1| bi2| . . .| bik

Сi = bi1 +bi2+. . .+bik

ЗдесьСi -i-ыйбитхэш-кода, 1 i n.k -число n-битных блоков входа.bij -i-ый бит в j-омблоке.-операция XOR.В результатеполучается хэш-код длины n, известныйкак продольный избыточный контроль. Этоэффективно при случайных сбоях дляпроверки целостности данных.Деление сообщения на 32-или 16-битные слова и ихсуммирование, что применяется, например, в TCP/IP.

Ротационный контроль четности

(RXOR ):

однобитный циклический сдвиг послевычисления кода:

1. Установить n-битный код в ноль.

2. Для каждого n-битного блокаданных выполнить следующиеоперации:

– сдвинуть циклически текущийкод влево на один бит;

– выполнить операцию XOR дляочередного блока и кода.

Циклический избыточный код

(CRCангл.Cyclicredundancycode)

Алгоритм CRC базируется на свойствах деления состатком двоичных многочленов:

При «правильном» выборе порождающегомногочлена G(x), остатки от деления на него будутобладать нужными свойствами—хорошейперемешиваемостью и быстрым алгоритмомвычисления. Второе обеспечивается тем, что степеньпорождающего многочлена обычно пропорциональнадлине байта или машинного слова (например 8, 16или 32).

19. Контроль целостности. Защита от намеренных изменений. Недостатки XOR и RXOR в режиме ECB. Недостатки XOR в режиме CBC. Шифрование, хэш-функция, код аутентичности.

Контроль целостности

Способы контроля целостности.

1.Шифрование (симметричное,

асимметричное)

Шифрование может быть использовано для контроляцелостности сообщения при условии структурированностисообщения. Пример: структурированность протокола пакетаIPv4 позволяет использовать шифрование для контроляцелостности.

2.Хеш-функция.

Хэш-функцией называется односторонняяфункция, предназначенная для получения хэш-кода (дайджеста,"отпечатков пальцев«) файла,сообщения или некоторого блока данных.

Хэш-код создается функцией Н:

hM= H (M), где М является сообщениемпроизвольной длины и hMявляется хэш-кодомфиксированной длины.

3.Код аутентичности сообщения

(MAC).

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

Другим способом является выработка имитовставки (MAC) с помощьюспециализированного алгоритма имитозащиты на основе симметричногоалгоритма шифрования.

CBC-MAC: Простейшим способом создать зависящую от ключаимитовставку—шифрование сообщения блочным алгоритмом в режимахCBC или CFB. Имитовставкой является последний шифрованный блок,зашифрованный в этих режимах. Потенциальная проблема, связанная сбезопасностью этого метода, состоит в том, что получатель должен знатьключ, и этот ключ позволяет ему генерировать сообщения с тем жезначением имитовставки, что и у присланного сообщения, таким образом,имитовставка на основе симметричного шифра не дает знания—отправитель или получатель сформировал эту имитовставку. Отсюда следует,что имитовставка на основе симметричного шифра не может заменять собойэлектронную подпись.