Контроль целостности сообщений
Контрольная сумма
Контрольная сумма—некоторое значение, рассчитанное изПоследовательностиданных путѐм применения определѐнногоалгоритма, используемое для проверки правильности передачиданных (для исключения влияния каких-либо помех припередаче).
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. Имитовставкой является последний шифрованный блок,зашифрованный в этих режимах. Потенциальная проблема, связанная сбезопасностью этого метода, состоит в том, что получатель должен знатьключ, и этот ключ позволяет ему генерировать сообщения с тем жезначением имитовставки, что и у присланного сообщения, таким образом,имитовставка на основе симметричного шифра не дает знания—отправитель или получатель сформировал эту имитовставку. Отсюда следует,что имитовставка на основе симметричного шифра не может заменять собойэлектронную подпись.