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

8.3.3 Схема Брандса

Схема Брандса [Brand] выделяется из всех автономных систем электронных платежей благодаря, во-первых, своей высокой эффективности, а во-вторых, попыткой обосновать ее стойкость. В работе [Brand] сформулирован ряд результатов, утверждающих стойкость этой системы. Мы оцениваем их осторожно, как попытку обоснования стойкости, поскольку в работе нет достаточно формальных определений, а за доказательствами автор отсылает к своему техническому отчету.

Всюду ниже мы будем обозначать покупателя через U, а продавца -- через S.


Инициализация системы. Банк выбирает тройку порождающих $ (g,g_1,g_2)$ группы $ G_q$ простого порядка и число $ x\in_{\mbox{\tiny\rm R}}\mathbb{Z}_q*$. Кроме того, он выбирает две хэш-функции (в работе они названы хэш-функциями с трудно обнаружимыми коллизиями) $ H$ и $ H_0$. $ H$ отображает пятерки элементов группы $ G_q$ в $ \mathbb{Z}_q*$, а $ H_0$ -- пары элементов $ G_q$ -- в $ \mathbb{Z}_q$. Кроме того, $ H_0$ зависит, например, от некоторого значения $ ID$, идентифицирующего S, а также -- от времени и даты $ t$ выполнения транзакции. Отмечается, что этот формат функции $ H_0$ выбран лишь для примера. Банк публикует описание группы $ G_q$ (простые числа $ p$ и $ q$, если $ G_q\subset\mathbb{Z}_p*$), тройку $ (g,g_1,g_2)$ и функции $ H$, $ H_0$ в качестве своего открытого ключа. Секретным ключом банка является число $ x$. В описаниях протоколов появляется также еще некоторое значение $ h$, которое в работе нигде не определяется, но из анализа протоколов можно понять, что $ h=g^x$ и это значение должно публиковаться как часть открытого ключа.

Подпись $ \qopname\relax o{sign}(A,B)$ банка для пары $ (A,B)$, $ A,B\in G_q$ есть четверка $ (z,a,b,r)$, где $ z,a,b\in G_q$, $ r\in\mathbb{Z}_q$, такая, что

$\displaystyle g^r=h^{H(A,B,z,a,b)}a,A^r=z^{H(A,B,z,a,b)}b.
$

Открытие счета. U выбирает число $ u_1\in_{\mbox{\tiny\rm R}}\mathbb{Z}_q$ и вычисляет $ I=g_1^{u_1}$. Если $ Ig_2\ne1$, то U передает значение $ I$ банку, а $ u_1$ хранит в секрете. Для безопасности банка существенно, чтобы значения $ I$ были различными для разных клиентов. Банк вычисляет $ z=(Ig_2)^x$ и передает это значение U.

Снятие со счета. Прежде чем снять электронную монету со счета, U должен пройти аутентификацию, т. е. доказать банку, что он является владельцем данного счета. Затем выполняется следующий протокол.     1. Банк выбирает число $ w\in_{\mbox{\tiny\rm R}}\mathbb{Z}_q$ и посылает $ a=g^w$ и $ b=(Ig_2)^w$ клиенту U.

    2. U выбирает три числа $ s\in_{\mbox{\tiny\rm R}}\mathbb{Z}_q*$, $ x_1,x_2\in_{\mbox{\tiny\rm R}}\mathbb{Z}_q$ и вычисляет $ A=(Ig_2)^s$, $ B=g_1^{x_1}g_2^{x_2}$ и $ z'=z^s$. Кроме того, U выбирает числа $ u,v\in_{\mbox{\tiny\rm R}}\mathbb{Z}_q$ и вычисляет $ a'=a^ug^v$ и $ b'=b^{su}A^v$. Затем он вычисляет $ c'=H(A,B,z',a',b')$ и посылает запрос $ c=c'/u \bmod q$ банку.

    3. Банк посылает ответ $ r=(cx+w)\bmod q$ и снимает со счета U соответствующую сумму. U принимает ответ тогда и только тогда, когда $ g^r=h^ca$ и $ (Ig_2)^r=z^cb$. Если эти условия выполнены, U вычисляет $ r'=(ru+v)\bmod q$. Пара $ (A,B)$ и подпись банка $ (z',a',b',r')$ для нее образуют электронную монету.

Платеж. В транзакции платежа U и S выполняют следующий протокол.     1. U посылает S электронную монету: $ A$, $ B$, $ \qopname\relax o{sign}(A,B)$.

    2. Если $ A\ne1$, то S вычисляет запрос $ d=H_0(A,B,ID,t)$, где $ ID$ -- идентификатор S, а $ t$ -- дата и время транзакции. S посылает U значение $ d$.

    3. U вычисляет ответы $ r_1=(d(u_1s)+x_1)\bmod q$ и $ r_2=(ds+x_2)\bmod q$ и посылает их S. S принимает монету тогда и только тогда, когда $ \qopname\relax o{sign}(A,B)$ является подписью для $ (A,B)$ и $ g_1^{r_1}g_2^{r_2}=A^dB$.

Депозит. S посылает банку $ A,B,\qopname\relax o{sign}(A,B),(r_1,r_2)$, а также дату и время транзакции платежа $ t$. Если $ A=1$, то банк не принимает монету. В противном случае он вычисляет $ d$, используя полученные данные и идентификатор $ ID$ продавца S. Затем банк проверяет, что $ g_1^{r_1}g_2^{r_2}=A^dB$ и что $ \qopname\relax o{sign}(A,B)$ является подписью для $ (A,B)$. Если все корректно, то банк проверяет, не была ли монета потрачена ранее. Если нет, то банк запоминает $ (A,t,r_1,r_2)$ и кладет монету на счет S.

Если данная электронная монета уже была потрачена ранее, то банк имеет в своем распоряжении две несовпадающие тройки $ (d,r_1,r_2)$ и $ (d',r_1',r_2')$ и может вычислить идентификатор нарушителя $ g_1^{(r_1-r_1')/(r_2-r_2')}$.

Из утверждений, сформулированных в работе [Brand], вытекает, в предположении трудности задачи дискретного логарифмирования и стойкости протокола аутентификации Шнорра, безопасность вышеприведенных протоколов для всех участников. Это означает, что:

клиенты не могут создавать электронные монеты без участия банка;

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

если покупатель действует согласно протоколам, то банк не может ложно обвинить его, предоставив в арбитраж сфабрикованное доказательство повторной траты одной и той же электронной монеты;

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

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

Поскольку, как уже отмечалось выше, все эти результаты сформулированы недостаточно строго, мы не воспроизводим их здесь.


Вперед Вверх Назад Содержание Предметный указатель
Вперед: 8.3.4 Переводимая электронная монета Вверх: 8.3 Электронная монета Назад: 8.3.2 Схема Якоби   Содержание   Предметный указатель


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

TopList Rambler's Top100