Секреты и ложь. Безопасность данных в цифровом мире
Добавить в закладки К обложке
- Предисловие - Страница 1
- Как читать эту книгу - Страница 2
- Благодарности - Страница 3
- От издательства - Страница 4
- Глава 1Введение - Страница 5
- Часть IЛандшафт - Страница 9
- Глава 2Опасности цифрового мира - Страница 10
- Глава 3Атаки - Страница 15
- Глава 4Противники - Страница 25
- Глава 5Потребность в секретности - Страница 34
- Часть IIТехнологии - Страница 46
- Глава 6Криптография - Страница 47
- Глава 7Криптография в контексте - Страница 57
- Глава 8Компьютерная безопасность - Страница 67
- Глава 9Идентификация и аутентификация - Страница 76
- Глава 10Безопасность компьютеров в сети - Страница 85
- Глава 11Сетевая безопасность - Страница 99
- Глава 12Сетевые защиты - Страница 106
- Глава 13Надежность программного обеспечения - Страница 114
- Глава 14Аппаратные средства безопасности - Страница 119
- Глава 15Сертификаты и удостоверения - Страница 127
- Глава 16Уловки безопасности - Страница 136
- Глава 17Человеческий фактор - Страница 145
- Часть IIIСтратегии - Страница 154
- Глава 18Уязвимости и их ландшафт - Страница 155
- Глава 19Моделирование угроз и оценки риска - Страница 163
- Глава 20Политика безопасности и меры противодействия - Страница 173
- Глава 21Схемы нападений - Страница 179
- Глава 22Испытание и верификация программных продуктов - Страница 185
- Глава 23Будущее программных продуктов - Страница 196
- Глава 24Процессы безопасности - Страница 204
- Принципы - Страница 205
- Глава 25Заключение - Страница 216
- Источники - Страница 221
- Об авторе - Страница 222
Это – интересная атака. В одних обстоятельствах полагают, что хост достоин доверия и этой проблемы нет. В других случаях проблема налицо. Нам легко представить себе, что злонамеренные хосты во Всемирной паутине есть. Если бы банк, работающий через Интернет, использовал этот протокол (насколько мне известно, такого не было), то преступники смогли бы создать ложный банковский вебсайт, у которого немного отличался бы URL. Не подозревающие ни о чем пользователи аутентифицировали бы себя на этом ложном сайте, а он затем представлялся бы реальному банку пользователем.
Множество подобных вещей формализовано. Существуют автоматические инструменты (сервисные программы) для анализа протоколов: формальные логики, компьютерные программы, которые анализируют детали протоколов, и другие. Эти инструменты полезны, они регулярно обнаруживают проблемы в существующих протоколах, но с их помощью нельзя «доказать» надежность протокола.
Выбор алгоритма или протоколаВыбрать криптографический алгоритм или протокол трудно, поскольку нет абсолютных критериев. Мы не можем сравнивать алгоритмы шифрования по тому же принципу, по которому сравниваем алгоритмы сжатия. Со сжатием все просто: вы можете наглядно доказать, что один алгоритм сжимает лучше другого – быстрее, до меньшего размера, по любым другим параметрам. С безопасностью сложнее: хоть вы и можете показать, что определенный алгоритм ненадежен, нельзя доказать, что один алгоритм, который вы не сумели сломать, безопаснее другого. За неимением абсолютных критериев мы используем то доказательство, которое у нас есть: оценку экспертов.
Эту проблему лучше всего проиллюстрировать примером. Допустим, врач говорит вам: «Я знаю, что есть антибиотик, который хорошо помогает при лечении вашей инфекции; у него нет вредных побочных эффектов и десятилетия исследований говорят в пользу такого лечения. Но я собираюсь назначить вам вместо этого толченые сухари, потому что мне кажется, что они тоже помогут». Вы пошли бы к другому врачу.
Врачебная практика непроста. Представители этой профессии не рвутся применять новые лекарства; проходят годы испытаний, прежде чем будет доказана их действенность, установлена дозировка и составлен список побочных эффектов. Хороший врач не будет лечить бактериальную инфекцию лекарством, которое он только что придумал, если в наличии имеются испытанные антибиотики. А умный пациент захочет те же таблетки, которые помогли его приятелю, а не какие-то там другие.
Криптография также сложна. Она соединяет различные разделы математики и вычислительную технику. Она требует многих лет практики. Даже умные, знающие, опытные люди изобретают плохую криптографию. В криптографическом сообществе создатели даже не слишком расстраиваются, когда их алгоритмы и протоколы ломают. Вот насколько все трудно.
Проблема вот в чем: любой человек, сколь угодно неопытный, может разработать элемент криптографии, который сам взломать не может. Это – существенно. Это значит, что кто угодно может сесть и создать криптографический элемент, попытаться его взломать, потерпеть неудачу, а затем сказать: «Я изобрел безопасный алгоритм, протокол или что-то еще». Реально он говорит этим: «Я не могу его взломать, поэтому он безопасен». Первый вопрос, который надо задать в ответ: «Да кто ты такой?» Или более пространно: «Почему я должен верить в надежность чего-то, если ты не смог это взломать? Чем подтверждается то, что если у тебя это не вышло, то и никто другой не сможет этого сделать?»
Криптографическое сообщество обнаружило, что ни один человек не готов предоставить такие доказательства. (Может быть, и есть кто-нибудь в Агентстве национальной безопасности, но эти люди не болтливы.) Нет никакого способа доказать надежность элемента – можно либо продемонстрировать ненадежность, либо признать попытку неудавшейся. Это называется проверкой гипотезы с нулевым разглашением. Лучшее, что могут сказать люди, занимающиеся безопасностью: «Мы не знаем, как взломать этот алгоритм, протокол или что-то другое, и никто другой тоже не знает». Экспертная оценка программы, длительный период испытаний – вот единственное доказательство безопасности, которое у нас есть.
Более того, нет никакого смысла нанимать группу случайных людей, оценивающих элемент; единственный способ отличить хорошую криптографию от плохой – это получить оценку специалистов. Анализировать криптографию трудно, и немногим по плечу делать это грамотно. Прежде чем элемент можно будет действительно считать безопасным, его должны проверять многие эксперты на протяжении ряда лет.
- 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
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222