Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СПРСИРО.pdf
Скачиваний:
272
Добавлен:
16.03.2016
Размер:
2.99 Mб
Скачать

При необходимости осуществить секретную связь МС посылает запрос на шифрование. ЦКМС генерирует случайное число RAND (random number), которое передается на МС и используется на обеих сторонах для вычисления единого сеансового ключа KS по алгоритму А8. Из-за помех в радиоканале возможно искажение RAND, и ключ на МС будет отличаться от вычисленного ЦКМС. Для проверки идентичности ключей служит числовая последовательность ключа (ЧПК), являющаяся кодом его хэш-функции. Любые изменения ключа KS с большой вероятностью приводят к изменению ЧПК, но по ЧПК трудно определить значение KS. Поэтому перехват ЧПК в радиоканале не снижает стойкости шифра. После подтверждения правильности установки ключей производится поточное шифрование данных по алгоритму А5.

Рис. 4.3. Протокол шифрования

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

4.3.АСИММЕТРИЧНЫЕ СИСТЕМЫ ШИФРОВАНИЯ

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

63

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

Любой абонент может послать шифрованное сообщение другому абоненту, используя его открытый ключ. Вскрыть такое сообщение может только адресат по своему секретному ключу. Таким образом, отпадает необходимость в распределении ключей шифрования между абонентами. Предложено много асимметричных систем шифрования (RSA, ранцевая система, Эль-Гамаля, Мак-Элиса и др.), основанных на использовании односторонних или однонаправленных функций.

Функция Y = f(X) называется односторонней, если для вычисления У по X существует алгоритм полиномиальной сложности, а для определения X по У известны только алгоритмы экспоненциальной сложности. Иначе, найти У по X легко, аХпоУтрудно.

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

Ярким представителем этого множества является показательная функция в кольце вычетов по некоторому модулю

Y = ax modn,

(4.1)

где а, п - известные натуральные числа. Поясним ее однонаправленность на числовом примере.

Пример 4.1. Пусть для простоты п = 10000 , X = 4101. Число X

представим в двоичной позиционной системе счисления

4101 = 212+22+20

Тогда Y = (((...(a2 modn)2...)2 mod n)((а2 modn)2 modn)a)modn = У3У2У1У0,

(4.2)

где У3У2У1У- остаток от деления а4101 на 10000.

Видно, что для вычисления У потребовалось всего 16 умножений и делений, которые при выбранном модуле сводятся просто к удержанию 4 младших разрядов результатов возведения в квадрат.

Обратная задача - вычисление дискретного логарифма - практически неразрешима. Действительно, если, например, У = 5678, то сравнение (8.2) иначе записывается как равенство ах =**...* 5678 , где символ * обозначает неизвестную десятичную цифру. Значения этих неизвестных цифр можно восстановить лишь одновременно со значением X, перебрав все варианты последнего, количество которых зависит от используемой разрядности чисел. При разрядности в 100 - 300 десятичных цифр подобный перебор на самых мощных ЭВМ занял бы время, не выражаемое даже геологическими эпохами.

Однако функция (4.1) "в одиночку" для целей шифрования непригодна, так как законный получатель, определяя исходный текст X по шифрограмме Y,

64

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

Односторонней функцией с лазейкой называется функция У = fz(X), обладающая следующими свойствами:

для вычисления У по X существует алгоритм полиномиальной сложности;

для вычисления X по У при известном Z также существует алгоритм полиномиальной сложности;

для вычисления X по У при неизвестном Z существует только алгоритм экспоненциальной сложности.

Из определения видно, что Z играет роль секретного ключа, находящегося

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

В качестве примера рассмотрим асимметричную систему шифрования RSA (Ривест, Шамир, Адлеман). В ее основу положена трудноразрешимая задача разложения (факторизации) большого числа на простые множители. Сложность факторизации числа иллюстрирует следующий факт. Для разложения числа, содержащего около 130 десятичных цифр, потребовалась работа 1600 ЭВМ в течение 8 месяцев.

Пусть п = pq , где р и q - простые числа, т.е. не имеющие делителей, кроме 1 и самих себя. Каждый пользователь, выбрав р и q и случайное d, находит соответствующее как решение сравнения ed = 1mod[(p-1)(q-1)], т.е. получает свои открытый (е, п) и секретный (d, п) ключи. Для криптоаналитика определение d по известному (открытому) означает факторизацию п, сложность которой уже обсуждалась.

Шифрованию открытого текста X предшествует преобразование его по определенному правилу в целое число X (в простейшем виде оно поясняется в

примере 4.2). Вычисление криптограммы в адрес данного пользователя производится по формуле У = Xemodn, что согласно сказанному ранее не

позволяет аналитику получить Х по известному У. Адресат же по своему секретному ключу легко находит сначала целое X, т.е. X = Ydmodn, а затем по нему восстанавливает исходный текст X, т.е. d является той лазейкой, которой пользуется законный абонент при расшифровке У.

Авторы системы RSA рекомендуют для обеспечения высокой стойкости использовать числа, содержащие около 200 десятичных цифр. Хотя разработаны специальные вычислители, позволяющие быстро возводить числа в большие степени, быстродействие RSA считается низким.

Асимметричные системы шифрования характеризуются высокой теоретической стойкостью. Однако их внедрение сдерживается недоверием со стороны практиков. Как уже указывалось, всегда существует опасность, что успехи математиков приведут к приемлемому по сложности решению задачи, ранее считавшейся трудной. И история шифрования знает такие примеры. Так,

65

для ранцевой системы шифрования, основанной на одностороннем преобразовании У = ХТN, где X, N - столбцы целых чисел, был найден алгоритм определения X по У с числом операций меньшим, чем при прямом переборе значений X.

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

Абоненты случайно и независимо выбирают числа dA и dB и держат их в секрете. По (4.1) каждый вычисляет свой открытый ключ (еА или еБ) и посылает его другому абоненту.

Таблица 4.1. Протокол распределения ключей шифрования

Параметр

Абонент А

Абонент Б

 

 

 

Секрет

0 < dA < р

0 < dБ < p

Открытый ключ

еА =adA modp

еБ = amodp

 

 

 

Сеансовый ключ

ZАБ = еБdA modp = adAdБ modp

ZАБ =eAds modp = adAdБ modp

Из-за односторонности (4.1) по открытым ключам трудно определить секретные. При установлении режима шифрования каждый из абонентов вычисляет сеансовый ключ. Для этого открытый ключ другого абонента возводится в степень, равную своему секретному ключу. Из табл. 4.1 видно, что такие вычисления дают одинаковый результат Z= ZБA, который можно использовать как сеансовый ключ в симметричной системе шифрования. Важно отметить, что распределение ключей произошло без передачи секретных параметров по каналу связи.

4.4. ИДЕНТИФИКАЦИЯ И АУТЕНТИФИКАЦИЯ В СИСТЕМАХ МОБИЛЬНОЙ СВЯЗИ

Процедуры идентификации и аутентификации предназначены для защиты законных абонентов от попыток обмана со стороны злоумышленников.

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

66