Все о геологии :: на главную страницу! Геовикипедия 
wiki.web.ru 
Поиск  
  Rambler's Top100 Service
 Главная страница  Конференции: Календарь / Материалы  Каталог ссылок    Словарь       Форумы        В помощь студенту     Последние поступления
   Геология | Курсы лекций
 Обсудить в форуме  Добавить новое сообщение
Вперед Вверх Назад Содержание Предметный указатель
Вперед: 4.3.4 Групповая подпись Вверх: 4.3 Разновидности схем электронной подписи Назад: 4.3.2 Схемы конфиденциальной (неотвергаемой) подписи   Содержание   Предметный указатель

4.3.3 Схемы, в которых подделка подписи может быть доказана

Пусть $ k$ обозначает параметр безопасности, $ x$ и $ y$ -- соответственно секретный и открытый ключи подписывающего, а $ S$ и $ V$ -- алгоритмы генерации и проверки подписей соответственно (см. подраздел 4.6.1). Предположим, что некоторая одноразовая схема электронной подписи удовлетворяет следующим условиям (см. [HP]):     1. Для любых $ x$, $ y$ и сообщения $ m$ мощность множества $ X$ всех секретных ключей $ x'$, соответствующих $ y$ и таких, что $ S(m,x')=S(m,x)$, экспоненциальна от $ k$. Кроме того, для любого сообщения $ m'\ne m$ при $ x'\in_{\mbox{\tiny\rm R}}
X$     $ \Pr\{S(m',x)=S(m',x')\}$ пренебрежимо мала.

    2. Существует полиномиальный алгоритм, вычисляющий по $ x$, $ y$, сообщению $ m$ и допустимой подписи $ s'\ne S(m,x)$ для сообщения $ m$ некоторую информацию, доказывающую, что подпись $ s'$ поддельная.

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

Неформально эти условия означают следующее. Если противник, имея открытый ключ $ y$ законного подписывающего и его подпись $ S(m,x)$ для некоторого сообщения $ m$, каким-либо образом подделал подпись для другого сообщения $ m'$ (например, нашел некоторый секретный ключ $ x'$, соответствующий $ y$, и вычислил $ S(m',x')$), то ввиду условия 1 эта поддельная подпись $ s'$ с большой вероятностью будет отличаться от подписи $ S(m',x)$ законного подписывающего. В этом случае законный подписывающий может доказать поддельность $ s'$, воспользовавшись алгоритмом из условия 2. В поддельности $ s'$ могут убедиться также проверяющий или арбитр, получив от подписывающего его секретный ключ. Таким образом, условия 1 и 2 обеспечивают безопасность подписывающего, защищая его от действий противника (даже обладающего неограниченными вычислительными возможностями). Условие же 3 обеспечивает безопасность проверяющего, защищая его от действий нечестного подписывающего, который ввиду этого условия не может отказаться от своей подписи, сославшись на ее поддельность. Отметим, что безопасность подписывающего (доказуемость подделки) носит безусловный (теоретико-информационный) характер, а безопасность проверяющего -- теоретико-сложностной.

Схема электронной подписи, удовлетворяющая условиям 1-3, названа в работе ван Хейста и Педерсена [HP] схемой, останавливаемой при сбоях (fail-stop signature scheme). Название связано с тем, что подписывающий, обнаружив и доказав подделку подписи, может остановить использование схемы. Однако первая такая схема была предложена Вайднером и Пфитцман [WP], в более поздней работе которых вместе с Блоймером [BPW] она была названа схемой, в которой подделка подписи может быть доказана (scheme where forgery can be proved). Нам представляется, что второе название более точно отражает сущность этих схем.

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

Как уже отмечалось, первая схема электронной подписи, в которой подделка может быть доказана, предложена Вайднером и Пфитцман в [WP]. А именно, в этой работе было замечено, что схема Лампорта (см. п. 4.6.2.2) является таковой, если в ней функция $ f$ удовлетворяет следующим условиям:     1) для некоторой (достаточно большой) константы $ c$ и для любого $ u\in U$ $ f(u)$ имеет не менее $ 2^c$ прообразов;

    2) нахождение коллизий функции $ f$ (т. е. таких пар $ (u_1,u_2)\in U\times U$, что $ u_1\ne u_2$ и $ f(u_1)=f(u_2)$) является вычислительно трудной задачей для подписывающего. Действительно, в этом случае легко проверить истинность условий 1-3 (в качестве информации, доказывающей поддельность подписи, выступает коллизия функции $ f$). Авторы [WP] при некотором криптографическом предположении строят односторонние функции, удовлетворяющие условиям 1) и 2). Дальнейшее развитие этого подхода предлагается в работе Блоймера, Пфитцман и Вайднера [BPW].

Однако в вышеописанной схеме сообщения подписываются побитово, поэтому длина подписи очень велика. В работе ван Хейста и Педерсена [HP] предлагается более эффективная схема электронной подписи, в которой подделка может быть доказана. Приведем ее описание. Пусть $ p$ и $ q$ -- большие простые числа такие, что $ q$ делит $ p-1$, а $ g$ и $ h$ -- элементы порядка $ q$ в группе $ \mathbb{Z}_p*$. Предполагается, что $ p$, $ q$, $ g$ и $ h$ известны как подписывающему, так и проверяющему, но ни тому, ни другому не известен дискретный логарифм $ h$ по основанию $ g$ (т. е. такое $ a\in\mathbb{Z}_q$, что $ g^a\equiv h\mkern5mu({\rm mod}\,\,p)$). Секретный ключ подписывающего имеет вид

$\displaystyle x=(u_1,u_2,v_1,v_2)\in\mathbb{Z}_q\times\mathbb{Z}_q\times\mathbb{Z}_q\times\mathbb{Z}_q,
$

а соответствующий открытый ключ вычисляется по формуле

$\displaystyle y=(y_1,y_2)=((g^{u_1}h^{u_2})\bmod p,\,(g^{v_1}h^{v_2})\bmod p).
$

Чтобы подписать сообщение $ m\in\mathbb{Z}_q$, подписывающий вычисляет

$\displaystyle S(m,x)=(s_1,s_2)=((u_1+mv_1)\bmod q,\,(u_2+mv_2)\bmod q).
$

Подпись $ (s_1',s_2')\in\mathbb{Z}_q\times\mathbb{Z}_q$ признается допустимой, если и только если

$\displaystyle y_1y_2^m\equiv g^{s_1'}h^{s_2'}\mkern5mu({\rm mod}\,\,p).
$

Далее авторы [HP] доказывают, что при данных $ x$, $ y$, $ m$      а) существует в точности $ q$ секретных ключей $ x'$, соответствующих $ y$ и таких, что $ S(m,x')=S(m,x)$;

     б) для любого сообщения $ m'\ne m$ и любой допустимой подписи $ s'$ для $ m'$ существует единственный секретный ключ $ x'$, удовлетворяющий условию п. а) и такой, что $ S(m',x')=s'$;

     в) если известны $ x$, $ m$ и некоторая допустимая подпись $ s''\ne S(m,x)$ для сообщения $ m$, то можно эффективно вычислить дискретный логарифм $ h$ по основанию $ g$. Из этих утверждений легко вытекает истинность условий 1 и 2 (если $ m'\ne m$ и $ x'$ -- случайный элемент, удовлетворяющий условию п. а), то $ \Pr\{S(m',x)=S(m',x')\}=1/q$ ввиду а) и б), а в качестве информации, доказывающей поддельность подписи, выступает дискретный логарифм $ h$ по основанию $ g$). Условие же 3 будет истинным, если дискретные логарифмы в (единственной) подгруппе порядка $ q$ группы $ \mathbb{Z}_p*$ вычисляются сложно.

Вышеописанная схема является одноразовой, так как если известны $ S(m,x)$ и $ S(m',x)$ при $ m\ne m'$, то можно вычислить $ x$. В работе [HP] предложены также некоторые модификации этой схемы, позволяющие подписывать несколько сообщений без смены ключей. Кроме того, в этой работе приведена схема конфиденциальной (undeniable -- см. подраздел 4.3.2) подписи, безусловно стойкая для подписывающего и позволяющая ему конвертировать конфиденциальные подписи в подписи, подделка которых может быть доказана. За подробностями мы отсылаем читателя к оригинальной работе [HP].


Вперед Вверх Назад Содержание Предметный указатель
Вперед: 4.3.4 Групповая подпись Вверх: 4.3 Разновидности схем электронной подписи Назад: 4.3.2 Схемы конфиденциальной (неотвергаемой) подписи   Содержание   Предметный указатель


Проект осуществляется при поддержке:
Геологического факультета МГУ,
РФФИ
   

TopList Rambler's Top100