12
осуществляющие обмен данными, должны обмениваться ключами k тайно и
хранить ключи k в абсолютной секретности . Может быть им следует хранить в
секрете и алгоритм расшифровки Dec ? Исходя из тех же соображений, не луч-
ше было бы им хранить в тайне все сведения о схеме шифрования?
В конце 19 столетия Огюст Керкгоффс утверждал противоположное в своей
статье, в которой он разъяснял некоторые принципы разработки криптосистем
военного назначения. В одном из наиболее важных пунктов этого письма, ныне
известного как
принцип Керкгоффса, утверждалось следующее:
Не нужно, хранить метод шифрования в тайне , а попадание шиф-
ра в руки врага не должно создавать проблем.
То есть, система шифрования должна разрабатываться так, чтобы оставаться
надежной,
даже если противник знает все о системе, до тех пор, пока ему оста-
ется неизвестным используемый ключ. Переформулировав, можно сказать, что
надежность не должна зависеть от секретности системы шифрования; а наобо-
рот , принцип Керкгоффса требует, чтобы
надежность основывалась исключи-
тельно на секретности ключа.
Существует три основных довода в пользу принципа Керкгоффса. Первый до-
вод состоит в том, что гораздо проще сторонам обеспечить секретность корот-
кого ключа, нежели хранить в секрете весь алгоритм, которым они пользуются
. В особенности это справедливо, когда шифрование, допустим, используется
для защиты обмена информацией между всеми парами сотрудников в какой-то
организации. Если каждая пара не использует свой собственный, уникальный
алгоритм, то тогда некоторые пары смогут узнать алгоритм, используемый дру-
гими. Утечку информации об алгоритме шифрования может допустить один
из сотрудников (после его увольнения, например) либо она может быть полу-
чена нападающей стороной с помощью обратного проектирования. В общем
предположение о том, что алгоритм шифрования останется секретным, просто
нереалистично.
Второй довод состоит в том, что в случае если засекреченная информация,
которой обмениваются честные участники, будет все-таки раскрыта, сторонам
гораздо легче сменить ключ, чем менять всю систему шифрования. (Сравните
о бновление файла с установкой новой программы.) Более того, относитель-
но проще сгенерировать новый секретный ключ,
чем организовывать мас-
штабную разработку новой криптосистемы. И, наконец, в случае масштабного
____________________________________________________________
¹Знак “:=” используется для обозначения детерминированного присвоения, и предположим
пока, что алгоритм шифрования Enc детерминированный. Перечень принятых обозначений на-
ходится в конце книги.
13
развертывания значительно проще всем пользователям задействовать один и тот
же алгоритм/ПО шифрования, чем каждому пользоваться своим собственным
алгоритмом. (Справедливо даже для одного пользователя, обменивающегося ин-
формацией с несколькими различными сторонами.) По сути, желательно иметь
стандартизированные системы шифрования, чтобы (1) обеспечивать совмести-
мость по умолчанию и (2) использовать систему, которая испытана в условиях от-
крытого наблюдения, в результате которого не обнаружено никаких слабых мест.
Сегодня принцип Керкгоффса понимают в том смысле , что разработку крип-
тосистем надо вести полностью на открытой платформе, что полностью про-
тиворечит понятию «секретность в незаметности»
которое предполагает, что
хранение алгоритмов в тайне повышает защиту. Весьма опасно использовать
«сделанные на коленке» алгоритмы (т.е. не стандартизированные алгоритмы,
разрабатываемые в тайне какой-то частной компанией). Наоборот, общедоступ-
ные разработки проходят открытый контроль и поэтому вероятно устойчивее.
Многолетний опыт показывает, что создание
хороших криптографических
систем - задача не из легких. Именно поэтому уверенность в защите системы
повышается при условии ее всестороннего изучения (со стороны экспертного
сообщества, а не разработчиков криптосистемы), в результате которого под-
тверждается отсутствие уязвимостей. Несмотря на всю простоту и очевид-
ность, принцип открытого шифрования (т. е. принцип Керкгоффса) неодно-
кратно игнорировался с катастрофическими результатами. К счастью, сегодня
достаточно надежных, стандартных и широко применяемых криптосистем, что
просто незачем использовать что-то еще.
Достарыңызбен бөлісу: