|
| ||||||||||||
| ||||||||||||
|
Next: 49783156431138-я попытка
Up: 6.2. Немного теории
Previous: Какой алгоритм выбрать?
Contents: Содержание
Удобно ли носить большую с вязку ключей?Перед вами программа для шифрования. Что является секретным в этой программе? Сама программа? Исходный текст? Описание алгоритма? Ответ, безусловно, зависит от условий ее применения. Конечно, лучше всего сделать так, чтобы ваш конкурент не имел ни того, ни другого, ни третьего. Поэтому обычно подобные программы защищают и от копирования, и от дизассемблирования, и от работы под отладчиком и т.д. Если она защищена грамотным специалистом, то пройдет не один месяц, пока защита будет снята. Тем не менее, программа, как правило, используется длительное время, а хакеров сейчас великое множество. Поэтому лучше сразу исходить из того, что все связанное с программой секрета на представляет. Что еще представляет интерес для вашего конкурента? Закрытая программой информация? От нее никто не откажется, но она мало что дает. Если алгоритм шифрования выбран надежный, то закрытая информация не представляет секрета, так как она непосредственно предназначена для хранения и передачи в открытом виде. Поэтому при отсутствии следов не уничтоженной открытой информации можно быть спокойным. Остаются ключи. Имея ключи, ваши конкуренты откроют все закрытые двери. Это главный секрет во всем процессе шифрования, и, можете не сомневаться, что основные усилия вашего конкурента будут направлены именно на подкуп персонала, имеющего доступ к ключам. Но как вводить ключ в программу и где хранить ключи? Если программу использовать интенсивно, то ключей нужно очень много. Где их брать и как заменять один на другой? Скупой рыцарь хранил свои сокровища в сундуках, которые были закрыты с помощью замков, ключи от которых он постоянно носил с собой. Он правильно делал, что никогда не расставался с ключами. Но поскольку он был очень богат, то ключей у него было очень много, и носить такую связку ему, наверно, было очень неудобно. Вообще-то, он мог завести еще один сундук, куда можно было бы сложить все ключи. Тогда бы ему потребовалось носить всего один ключ. Именно эта идея используется в ключевых системах с главным ключом, когда все ключи, кроме главного, хранятся в компьютере на винчестере в зашифрованном виде. Хотя такой способ хранения ключей несколько усложняет процедуру доступа к зашифрованной информации, преимущества здесь неоспоримы. Действительно, можете ли вы представить себе человека, который помнит несколько сотен ключей? Таким образом, задача сводится к обеспечению надежного хранения всего одного ключа. Правда, при этом ценность этого ключа резко возрастает и носить его в кармане становится очень опасным. Не только потому, что наверняка найдутся люди, которые будут испытывать непреодолимое желание взять у вас его, хотя бы на время; но еще и потому, что если он потеряется или испортится, получив механическое повреждение, то вы уже никогда не сможете ничего восстановить из той информации, которую вы хранили в своем компьютере. С ключами надо быть очень осторожным. В 1976 году американские математики Диффи и Хеллман предложили перейти к системам с открытым ключом. Давайте издадим книгу-справочник с открытыми ключами всех корреспондентов и поместим ее на общедоступном сервере. Это полностью снимет проблему с хранением большого числа ключей. Нетрудно догадаться, сколь неоднозначный и шокирующий эффект это предложение произвело на криптографическую общественность. Но уж больно заманчивы были те возможности, которые предоставляла такая система. Как показали авторы идеи, такая система дает возможность подписывать сообщения электронной цифровой подписью, которая выполняет роль обычной подписи под документом. Таким образом, сразу снимался тяжкий груз по производству, запоминанию, хранению, распределению и уничтожению огромного количества секретных ключей, да к тому же открывались новые возможности и сферы применения. Более того, плодотворность идеи выразилась в проявлении большого интереса к ней у значительной части крупных математиков. Ведь для реализации такой системы нужны были труднорешаемые математические задачи. А кто, кроме самих математиков, может придумать такие задачи!
Посмотрим, например, как организуется выработка ключей в широко
распространенном протоколе SSH (Secure Shell).
Данный протокол
обеспечивает аутентификацию и закрытие коммуникаций при взаимодействии
UNIX машин. Для выработки ключей в нем используется протокол,
являющийся модификацией хорошо известного протокола обмена ключами,
предложенного Диффи и Хеллманом. Пусть
В этом протоколе
простое число и равно
Его шестнадцатиричная запись имеет ``менее случайный'' вид
Данное число построено Ричардом Шреппелем из университета штата Аризона, а его свойства описаны в работе [7].
В качестве образующего элемента для этого простого числа взято число
Next: 49783156431138-я попытка
Up: 6.2. Немного теории
Previous: Какой алгоритм выбрать?
Contents: Содержание
|
|
CITForum © 1997–2025