Полная версия

Главная arrow Информатика arrow Безопасность и управление доступом в информационных системах

  • Увеличить шрифт
  • Уменьшить шрифт


<<   СОДЕРЖАНИЕ ПОСМОТРЕТЬ ОРИГИНАЛ   >>

Абонентское шифрование

При абонентском шифровании схема подготовки, передачи и приема информации в классическом варианте (применение одного общего секретного ключа шифрования-дешифрования) выглядит согласно рис. 1.

В такой системе центр изготовления и рассылки ключей не только снабжает пользователей ключами, но и несет ответственность за их сохранение в секрете при изготовлении и доставке. А поскольку в случае утечки информации в результате компрометации ключей в такой системе практически невозможно доказать, где произошла компрометация (у одного из пользователей или в центре), то обычно принимается, что центр в этом смысле надежнее, и потому на него возлагается контроль за всеми ключами на протяжении всего цикла от изготовления до их уничтожения у пользователя. Таким образом, вопрос о том, кто является истинным хозяином информации, получает однозначный ответ. По этой причине функции центра должны принадлежать информационной системе и/или автоматизированной системе управления, а не сети передачи данных.

Схема рассылки и использования ключей при симметричном

Рис. 1. Схема рассылки и использования ключей при симметричном

шифровании

Центр выступает также и как гарант подлинности передаваемых сообщений, так как если пользователю В (см. рис. 1) удается с помощью секретного ключа К, доставленного из центра, расшифровать сообщение М, полученное им от пользователя А, то он уверен, что зашифровать и отправить его мог только обладатель того же ключа К, а это мог быть только пользователь А (или другой пользователь, получивший такой же ключ из центра).

Здесь мы подходим к следующей проблеме. Если в сети обмениваются информацией по принципу «каждый с каждым», например, 100 пользователей, то потенциально возможных связей между ними будет (99 х 98)/2 = 4851, т. е. для обеспечения независимого обмена информацией между каждой парой пользователей центр С должен изготовить и разослать 100 комплектов по 99 ключей в каждом, сформированных надлежащим образом из исходного набора 4851 ключей. Если ключи сменяются хотя бы 1 раз в месяц, то в течение года необходимо изготовить 58 212 исходных ключей, сформировать из них 1200 комплектов по 99 ключей в каждом и развезти всем пользователям системы. И это для сети, состоящей только из 100 пользователей.

Этот «генетический дефект» традиционных систем обмена шифрованной информацией сразу же был остро прочувствован разработчиками коммерческих телекоммуникационных сетей при первых попытках использовать шифрование как средство подтверждения подлинности и авторства электронных документов при передаче их по каналам электросвязи 70-х годов. Даже такие мощные организации в области межбанковских расчетов, как

S.W.I.F.T. (Международная межбанковская организация по финансовым расчетам), вынуждены были идти на риск и прибегать при рассылке части секретных ключей к услугам обычной почты. Это дает возможность несколько снизить расходы, но применение дополнительных мер защиты секретных ключей, пересылаемых в конвертах, делает удешевление не столь ощутимым.

Размышления о том, как избавиться от недостатков традиционных систем криптографической защиты, связанных с необходимостью содержать мощную и дорогую службу изготовления секретных ключей и снабжения ими пользователей, привели двух американских исследователей У. Диффи и М. Хеллмана в 1976 г. к следующим принципиально новым идеям.

Предполагая, что пользователи имеют некоторую общеизвестную надежную процедуру (программу) шифрования и общеизвестные процедуры преобразования исходных ключей, можно изобразить схему формирования парой пользователей А и В общего секретного ключа К для шифрования/расшифрования (рис. 2).

Схема формирования общего секретного ключа

Рис. 2. Схема формирования общего секретного ключа

Главным пунктом, принципиально отличающим данную схему получения пользователями общего секретного ключа от традиционной, является то, что обмен открытыми ключами /(х) и Ау) производится по любому доступному каналу связи в открытом виде.

При этом должна быть гарантия, что по перехваченным в канале открытым ключам Дх) и Ду) практически невозможно получить общий ключ К, не зная хотя бы один из исходных секретных ключей х, у. В качестве такой гарантии в данном случае выступает сложность известной математической проблемы, которую приходится решать в ходе вычисления К по/(х) и Ду).

Если в качестве ключей х и у выбираются случайные целые числа из 512 бит каждое, то для вычисления К по

и

с целыми а и р (также по 512 бит каждое) необходимо проделать работу не менее чем из 1024 операций.

Таким образом, вычисление общего секретного ключа К только по открытым ключам f{x) и Ду) является практически невыполнимой задачей, что позволяет применять ключ К для надежного зашифрования информации.

Другой принцип, предложенный У. Диффи и М. Хеллманом для решения проблемы снабжения пользователей сети ключами шифрования/расшифрования, получил название открытое шифрование.

Для зашифрования и расшифрования информации используются различные ключи, которые хотя и связаны между собой, но устроены так, что вычислить по одному из них (открытому ключу) второй (секретный ключ) практически невозможно (в том же смысле, что и выше).

Теперь обмен зашифрованной информацией между пользователями можно изобразить так, как показано на рис. 3.

Схема открытого шифрования

Рис. 3. Схема открытого шифрования

Первое практическое воплощение принцип открытого шифрования получил в системе RSA, разработанной в 1977 г. в Массачусетсом Технологическом институте (США).

Идея авторов состояла в том, что взяв целое число п в виде произведения двух больших простых чисел п=ру, можно легко подобрать пару чисел end, таких, что 1 < е, d < п, чтобы для любого целого числа т, меньшего п, было справедливо соотношение (md)e = т mod п.

В качестве открытого ключа шифрования в системе RSA выступает пара Y = (п, ё), а секретным ключом для расшифрования сообщений является число d.

Процедура шифрования сообщения М, рассматриваемого как целое число, меньшее п (при необходимости длинное сообщение разбивается на отрезки, шифруемые независимо), состоит в вычислении значения

Расшифрование осуществляется аналогично с помощью секретного ключа d

Математически строго можно доказать, что определение по паре чисел п, е секретного ключа d не проще разложения на множители числа п, т. е. нахождения р и q. Задача же разложения на множители целого числа изучается в математике с древнейших времен и известна как очень сложная вычислительная задача. На современных компьютерах разложение числа, состоящего из нескольких сотен десятичных знаков, потребует тысячи лет непрерывной работы.

Кроме системы RSA, известен целый ряд систем открытого шифрования, основанных на других сложных математических задачах («укладка ранца», декодирование линейных кодов и т. д.). Некоторые из них так и остались теоретическими разработками, другие получили ту или иную реализацию.

С идейной точки зрения различие между системами открытого распределения ключей и открытого шифрования не столь принципиально: каждая из них при небольшой модификации может использоваться как для шифрования, так и для распространения секретных ключей по открытым каналам связи.

Переход от открытого шифрования к открытому распределению ключей достаточно прозрачен: отправитель шифрует и передает с помощью системы открытого шифрования секретный ключ, на котором потом будет традиционным способом шифроваться информация. Общий секретный ключ, получаемый при открытом распределении ключей, можно использовать непосредственно для шифрования, побитно складывая его с передаваемым сообщением, в результате этого получается система открытого шифрования. Поэтому для именования обеих систем часто употребляют единый термин «системы с открытым ключом» без уточнения, какой тип обмена сообщений или ключей имеется в виду.

Дополнительным соображением в пользу единого именования систем является то, что с практической точки зрения их эффективнее использовать лишь для распределения секретных ключей, осуществляя шифрование информации традиционным способом. Дело в том, что основной операцией в этих системах является возведение в степень по модулю 500—1000-битовых чисел, что при программной реализации в несколько десятков раз медленнее, чем шифрование того же размера данных стандартным алгоритмом (например, DES). В связи с этим для быстрой обработки большого потока сообщений применяют специализированные процессоры, выполняющие данную операцию, или же используют системы с открытым ключом только для получения секретного ключа шифрования.

 
<<   СОДЕРЖАНИЕ ПОСМОТРЕТЬ ОРИГИНАЛ   >>