Глава 8. Безопасный канал общения
установки некоторого уникального ключа
K
и перезапускать этот протокол
при каждой новой инициализации безопасного канала общения. Ключ
K
, ис-
пользуемый на протяжении только одного сеанса общения, называется
клю-
чом сеанса (session key)
. Как генерировать ключи сеанса, описано в главе 15,
“Протокол согласования ключей”.
Безопасный канал общения проектируется таким образом, чтобы достичь
128-битового уровня безопасности. Следуя правилу проектирования 3 (см.
раздел 4.5.8), мы будем использовать 256-битовый ключ. Таким образом, дли-
на значения
K
составляет 256 бит.
8.1.3
Сообщения или поток
Теперь нужно решить, как будут передаваться данные между пользова-
телями А и Б: в виде дискретной последовательности сообщений (например,
писем электронной почты) или же непрерывного потока байтов (например,
потока мультимедийных данных). Мы будем рассматривать только те систе-
мы, которые обрабатывают дискретную последовательность сообщений. При
необходимости такие системы можно легко приспособить к обработке потока
данных, “нарезая” поток данных на отдельные сообщения и собирая их в еди-
ное целое на стороне получателя. В реальной жизни большинство систем на
криптографическом уровне работают с дискретными сообщениями.
Мы также предполагаем, что транспортная система, которая занимает-
ся доставкой сообщений от пользователя А к пользователю Б и наоборот,
не является надежной. С криптографической точки зрения, даже надежный
коммуникационный протокол наподобие TCP/IP не в состоянии сформиро-
вать надежный канал общения. В конце концов, злоумышленник может легко
менять, удалять или вставлять данные в TCP-поток, не прерывая процесс пе-
редачи данных. Протокол TCP устойчив по отношению только к случайным
событиям наподобие потери пакета. Он не защищен от активных атак. С на-
шей, “злодейской”, точки зрения, надежного коммуникационного протокола
нет и быть не может. (Это хороший пример того, насколько разнятся взгляды
криптографов на окружающий мир.)
8.1.4
Свойства безопасности
Теперь можно сформулировать свойства безопасности канала общения.
Пользователь А отсылает последовательность сообщений
m
1
, m
2
, . . .
, которые
обрабатываются алгоритмами безопасного канала общения и затем переда-
ются пользователю Б. Пользователь Б обрабатывает полученные сообщения
с помощью алгоритмов безопасного канала общения, в результате чего полу-
чает последовательность сообщений
m
0
1
, m
0
2
, . . .
.
8.1. Формулировка проблемы
135
Безопасный канал общения должен обладать следующими свойствами:
•
злоумышленник Е ничего не знает о сообщениях
m
i
кроме времени их
отправки и размера;
•
даже если злоумышленник Е атакует канал общения, манипулируя дан-
ными, отправленными пользователем А пользователю Б, последова-
тельность сообщений
m
0
1
, m
0
2
, . . .
, полученная пользователем Б, являет-
ся подпоследовательностью последовательности сообщений
m
1
, m
2
, . . .
,
причем пользователь Б точно знает, какую подпоследовательность со-
общений он получил. (Подпоследовательность может быть получена из
исходной последовательности путем отбрасывания нуля или более эле-
ментов.)
Первое свойство можно также назвать секретностью. В идеале злоумыш-
ленник Е не должен знать о сообщениях
ничего
. В реальной жизни, однако,
это практически недостижимо. Скрыть информацию о времени отправки или
размере сообщения крайне сложно. Существующие решения этой проблемы
предполагают отправку пользователем А непрерывного потока сообщений
с максимально возможной пропускной способностью. Даже если пользова-
телю А нечего отослать в данный момент, он должен составить несколько
искусственных сообщений и отправить хотя бы их. Подобное решение может
быть приемлемо для военных систем, но никак не для простых граждан. Если
же злоумышленник Е видит размер и время отправки сообщений, он может
узнать, кто с кем, когда и в каком объеме обменивается данными. Это на-
зывается
анализом потока данных (traffic analysis)
. Такой анализ снабжает
злоумышленника многочисленной информацией, а помешать его проведению
очень трудно. Мы не будем решать эту проблему, поэтому предположим, что
злоумышленник Е может проводить анализ потока данных, передаваемых по
каналу общения.
Второе свойство гарантирует, что пользователь Б будет получать только
корректные сообщения и только в правильном порядке. В идеале пользова-
тель Б должен получать в точности ту же последовательность сообщений,
которая была отправлена пользователем А. К сожалению, ни один из суще-
ствующих коммуникационных протоколов не является надежным в крипто-
графическом смысле. Злоумышленник Е всегда может удалить передаваемое
сообщение. Поскольку мы не в состоянии предотвратить потерю сообщений,
пользователю Б нужно смириться с тем, что он получит только подпоследова-
тельность сообщений. Обратите внимание, что оставшиеся сообщения, кото-
рые получит пользователь Б, будут находиться в правильном порядке. Среди
них не будет дубликатов, измененных сообщений или же поддельных сооб-
щений, посланных кем-то, отличным от пользователя А. Более того, поль-
зователь Б будет точно знать, каких сообщений он не получил. Это может
136
Достарыңызбен бөлісу: |