8.1. Формулировка проблемы
135
Безопасный канал общения должен обладать следующими свойствами:
•
злоумышленник Е ничего не знает о сообщениях
m
i
кроме времени их
отправки и размера;
•
даже если злоумышленник Е атакует канал общения, манипулируя дан-
ными, отправленными пользователем А пользователю Б, последова-
тельность сообщений
m
0
1
, m
0
2
, . . .
, полученная пользователем Б, являет-
ся подпоследовательностью последовательности сообщений
m
1
, m
2
, . . .
,
причем пользователь Б точно знает, какую подпоследовательность со-
общений он получил. (Подпоследовательность может быть получена из
исходной последовательности путем отбрасывания нуля или более эле-
ментов.)
Первое свойство можно также назвать секретностью. В идеале злоумыш-
ленник Е не должен знать о сообщениях
ничего
. В реальной жизни, однако,
это практически недостижимо. Скрыть информацию о времени отправки или
размере сообщения крайне сложно. Существующие решения этой проблемы
предполагают отправку пользователем А непрерывного потока сообщений
с максимально возможной пропускной способностью. Даже если пользова-
телю А нечего отослать в данный момент, он должен составить несколько
искусственных сообщений и отправить хотя бы их. Подобное решение может
быть приемлемо для военных систем, но никак не для простых граждан. Если
же злоумышленник Е видит размер и время отправки сообщений, он может
узнать, кто с кем, когда и в каком объеме обменивается данными. Это на-
зывается
анализом потока данных (traffic analysis)
. Такой
анализ снабжает
злоумышленника многочисленной информацией, а помешать его проведению
очень трудно. Мы не будем решать эту проблему, поэтому предположим, что
злоумышленник Е может проводить
анализ потока данных, передаваемых по
каналу общения.
Второе свойство гарантирует, что пользователь Б будет получать только
корректные сообщения и только в правильном порядке. В идеале пользова-
тель Б должен получать в точности ту же последовательность сообщений,
которая была отправлена пользователем А. К сожалению, ни один из суще-
ствующих коммуникационных протоколов не является надежным в крипто-
графическом смысле. Злоумышленник Е всегда может удалить передаваемое
сообщение. Поскольку мы не в состоянии предотвратить потерю сообщений,
пользователю Б нужно смириться с тем, что он получит только подпоследова-
тельность сообщений. Обратите внимание, что оставшиеся сообщения, кото-
рые получит пользователь Б, будут находиться в правильном порядке. Среди
них не будет дубликатов, измененных сообщений или же поддельных сооб-
щений, посланных кем-то, отличным от пользователя А. Более того, поль-
зователь Б будет точно знать, каких сообщений он не получил. Это может