АУТЕНТИФИКАЦИЯ В МНОГОУРОВНЕВОЙ СИСТЕМЕ НА ОСНОВЕ КОММУТАТИВНОГО ШИФРОВАНИЯ И ДОВЕРЕННЫХ ПОДПИСЕЙ | Вестник Томского государственного университета. Управление, вычислительная техника и информатика. 2010. № 4(13).

АУТЕНТИФИКАЦИЯ В МНОГОУРОВНЕВОЙ СИСТЕМЕ НА ОСНОВЕ КОММУТАТИВНОГО ШИФРОВАНИЯ И ДОВЕРЕННЫХ ПОДПИСЕЙ

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

Authentication in multi tier system using commutative encryption and proxysignatures.pdf Рассмотрим систему, состоящую из трёх взаимодействующих подсистем: кли-ент, внешний сервер, внутренний сервер. Клиент взаимодействует только с внеш-ним сервером, внешний сервер взаимодействует как с клиентом, так и с внутрен-ним сервером (внешний сервер является клиентом внутреннего сервера). Внеш-ний сервер взаимодействует с внутренним только для обработки запросов своих клиентов. Например, по такому принципу организованы многие веб-приложения. В веб-приложениях в качестве клиента выступает браузер, в качестве внешнего сервера - веб-сервер и в качестве внутреннего сервера - сервер СУБД.В таких многоуровневых системах обычно используется одна из следующих двух моделей организации аутентификации [1], представленных на рис. 1:1))модель делегирования;2))модель доверенной подсистемы.1)оо ооо о12Рис. 1. Схематичное изображение моделей организации аутентификации: 1 - модель делегирования; 2 - модель доверенной подсистемыАутентификация в многоуровневой системе на основе коммутативного шифрования 117В модели делегирования внешний сервер взаимодействует с внутренним от имени клиента, т. е. внутренний сервер содержит учётную запись для каждого клиента внешнего сервера. В модели доверенной подсистемы внешний сервер взаимодействует с внутренним от имени фиксированного набора учётных запи-сей, т. е. одна учётная запись внутреннего сервера соответствует нескольким кли-ентам внешнего сервера. В данной работе будет рассматриваться модель доверен-ной подсистемы.В работе автора [2] предложено несколько схем аутентификации для случая, когда между клиентом и внешним сервером и между внешним сервером и внут-ренним используется парольная аутентификация. В них внешний сервер применя-ет пароль учётной записи внутреннего сервера для того, чтобы пройти аутенти-фикацию от имени данной учётной записи. В этом случае, если злоумышленник скомпрометирует внешний сервер так, что получит доступ на чтение к памяти внешнего сервера, то он получит пароль учётной записи внутреннего сервера, со-ответствующей привилегиям клиента, когда тот выполнит протокол аутентифика-ции. После одного сеанса связи клиента со скомпрометированным внешним сер-вером злоумышленник получает возможность использовать внутренний сервер без помощи клиента. В данной работе предлагается несколько схем, позволяющих преодолеть этот недостаток.1. Постановка задачиВ модели доверенной подсистемы для взаимодействия с внутренним сервером используется учётная запись, соответствующая привилегиям клиента внешнего сервера. Например, на внешнем сервере клиенты делятся на группы по привиле-гиям: «гости», «операторы», «администраторы». Тогда для взаимодействия с внутренним сервером можно использовать три учётные записи, соответствующие группам клиентов. Если внешний сервер сам выбирает учётную запись для взаи-модействия с внутренним сервером, то в случае компрометации первого зло-умышленник сможет использовать учётную запись с максимальными привиле-гиями. Возникает задача разработки такой схемы аутентификации, при которой внешний сервер смог бы использовать для взаимодействия с внутренним серве-ром только ту учётную запись, которая соответствует клиенту, и только тогда, ко-гда клиент взаимодействует с внешним сервером. Например, если клиент, обра-щающийся к внешнему серверу, относится к группе «гости», то внешний сервер должен иметь возможность пройти аутентификацию перед внутренним сервером только от имени учётной записи «гость». Кроме того, внешний сервер не должен иметь возможности пройти аутентификацию перед внутренним сервером от име-ни учётной записи «гость» без помощи клиента, относящегося к группе «гости».Иначе говоря, искомая схема аутентификации должна удовлетворять следую-щим двум условиям:C1. При взаимодействии с клиентом внешний сервер может пройти аутенти-фикацию перед внутренним сервером только от имени учётной записи, соответст-вующей данному клиенту.C2. Внешний сервер не может пройти аутентификацию перед внутренним сервером от имени какой-либо учётной записи без помощи соответствующего клиента.118П.А. Паутов2. Схема аутентификации на основе коммутативного шифрованияДля построения предлагаемой схемы необходимы следующие криптографиче-ские примитивы:1))E - коммутативный алгоритм шифрования, D - соответствующий алгоритм расшифрования;2))H - хэш-функция.Каждой учётной записи внутреннего сервера ставится в соответствие некото-рый секрет S. Каждому клиенту внешнего сервера ставится в соответствие ключ K алгоритма E. На внешнем сервере для каждого клиента хранится результат шиф-рования EK(S), где S соответствует учётной записи внутреннего сервера для дан-ного клиента. Алгоритм аутентификации клиента выглядит следующим образом.1..Клиент посылает внешнему серверу своё имя.2..Внешний сервер посылает внутреннему серверу имя учётной записи, соот-ветствующей клиенту.3..Внутренний сервер генерирует случайный ключ шифрования Kr алгоритма E и передаёт его внешнему серверу.4.Внешний сервер находит запись EK(S), соответствующую данному клиенту, вычисляет EKr(EK(S)) и передаёт полученный результат клиенту.5..Клиент вычисляет H(DK(EKr(EK(S)))) ≡ H(EKr(S)) и передаёт данное значение внешнему серверу.6..Внешний сервер передаёт полученное значение внутреннему серверу.7..Внутренний сервер вычисляет H(EKr(S)) и сравнивает результат со значе-нием, полученным от внешнего сервера. Если значения совпадают, то клиент прошёл аутентификацию перед внешним сервером, а внешний сервер перед внутренним.Для поддержки нескольких параллельных сеансов в сообщения протокола можно добавить идентификаторы сеансов либо использовать какой-либо сущест-вующий коммуникационный протокол (обеспечивающий несколько параллель-ных сеансов) в качестве нижележащего протокола.Как видно из описания, данный протокол обеспечивает выполнение условий С1, С2. Если внешний сервер попытается использовать запись EK'(S'), не соот-ветствующую данному клиенту, то проверка, осуществляемая на шаге 7, не вы-полнится, так как H(DK(EKr(EK' (S')))) ≠ H(EKr(S')). Для того чтобы пройти аутен-тификацию перед внутренним сервером без помощи клиента, внешнему серверу понадобится знание S, но это значение недоступно внешнему серверу в откры-том виде.Хэш-функция используется здесь для того, чтобы предотвратить атаку, в кото-рой внешний сервер генерирует собственное значение Kr' и, получив от клиента EKr'(S), раскрывает значение S.Используемый коммутативный алгоритм шифрования может быть как сим-метричным, так и асимметричным. В асимметричном варианте каждому клиенту ставится в соответствие пара ключей: открытый Ke и закрытый Kd. На внешнем сервере для каждого клиента хранятся значение EKe(S) и открытый ключ клиента Ke. Наличие открытых ключей клиентов позволяет администратору системы, при смене секрета S некоторой учётной записи внутреннего сервера, обновить значе-ния EKe(S) для соответствующих клиентов. Алгоритм аутентификации аналогичен симметричному варианту (но на шаге 3 внутреннему серверу достаточно сгенери-ровать только открытый ключ).Аутентификация в многоуровневой системе на основе коммутативного шифрования 1193. Применимые коммутативные алгоритмы шифрования3.1. Сложение по модулю 2Сложение по модулю 2 можно рассматривать как симметричный коммутативный алгоритм шифрования. Функции шифрования и расшифрования в данном случае будут совпадать и иметь вид EK(X) = DK(X) = X® K, где © - побитовое сложение чисел по модулю 2 (X и K рассматриваются как булевы векторы одинаковой длины n). Злоумышленник, скомпрометировавший внешний сервер, получит доступ к значениям вида EK(S) для всех клиентов и для всех учётных записей внутреннего сервера. Пусть внешний сервер имеет m клиентов и использует одну учётную запись внутреннего сервера. Тогда для получения доступа к внутреннему серверу злоумышленник должен будет решить следующую систему уравнений:'K1®S = e1, K2®S = e2,Km®S = em,где K 1, K 2, ..., Km (ключи клиентов) и S (секрет внутреннего сервера) являются неизвестными, а e 1, e2, ..., em - известные значения, хранимые на внешнем сервере. В данной системе S является свободной переменной и, следовательно, система будет иметь 2n решений, так как S - булев вектор длины n. Таким образом, злоумышленнику придётся произвести полный перебор всех возможных значений S.3.2. Возведение в степень по модулю простого числаВ качестве симметричного коммутативного алгоритма шифрования можно выбрать функцию возведения в степень по модулю большого простого числа. Пусть p - большое простое число; p является общеизвестным параметром системы. В качестве ключа выбирается число K (1 < K

Ключевые слова

многоуровневые системы, аутентификация в многоуровневых системах, коммутативное шифрование, доверенные подписи, multi-tier systems, authentication in multi-tier systems, commutative encryption, proxy signatures

Авторы

ФИООрганизацияДополнительноE-mail
Паутов Павел АлександровичТомский государственный университетаспирант кафедры защиты информации и криптографии__Pavel__@mail.ru
Всего: 1

Ссылки

Mambo M.M., Usuda K., Okmamoto E. Proxy signatures: delegation of the power to sign message // IEICE Transaction Functional E79-A. 1996. V. 9. P. 1338-1354.
Weis S. New foundations for efficient authentication, commutative cryptography, and private disjointness testing. MIT, 2006.
Weiliang Zhao, Vijay Varadharajan, Yi Mu. A secure mental poker protocol over the Internet // ACSW Frontiers. 2003. P. 105-109.
Feng Bao, Robert H. Deng, Peirong Feng. An efficient and practical scheme for privacy protection in the e-commerce of digital goods // ICISC 2000, LNCS 2015. 2001. P. 162-170.
Schneier B. Applied cryptography: protocols, algorithms, and source code in C, Second Edition. Wiley, 1996. 785 p.
Chong F. Trusted subsystem design // MSDN. 2006. URL: <http://msdn.microsoft.com/en-us/>library/aa905320.aspx
Паутов П.А. Проблема аутентификации в многоуровневых приложениях // Прикладная дискретная математика. 2008. № 2. С. 87-90.
 АУТЕНТИФИКАЦИЯ В МНОГОУРОВНЕВОЙ СИСТЕМЕ НА ОСНОВЕ КОММУТАТИВНОГО ШИФРОВАНИЯ И ДОВЕРЕННЫХ ПОДПИСЕЙ | Вестник Томского государственного университета. Управление, вычислительная техника и информатика. 2010. № 4(13).

АУТЕНТИФИКАЦИЯ В МНОГОУРОВНЕВОЙ СИСТЕМЕ НА ОСНОВЕ КОММУТАТИВНОГО ШИФРОВАНИЯ И ДОВЕРЕННЫХ ПОДПИСЕЙ | Вестник Томского государственного университета. Управление, вычислительная техника и информатика. 2010. № 4(13).

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