Уже достаточно давно банки и другие коммерческие структуры используют при проведении деловых операций электронный обмен данными EDI (Electronic Data Interchange) и электронный перевод денежных средств EFT (Electronic Funds Transfer). В современных платежных системах весь процесс от начала до конца происходит в электронной (цифровой) форме. При этом для обеспечения безопасности и признания законности (конфиденциальности пересылаемых электронных документов, аутентификации участников информационного обмена) повсеместно используются криптосистемы с открытым ключом для шифрования и формирования электронной подписи.
Учитывая, что традиционные денежные купюры суть не что иное как защищенный от подделки документ, логичным представляется переход к использованию цифровых денег. Защиту от подделки при этом может обеспечить электронная подпись банка, которая безусловно имеет большую надежность, чем традиционные водяные знаки, металлические полосы и т.п.
При осуществлении платежей с помощью популярной на западе кредитной карточки всегда, когда владелец карточки с ее помощью делает покупки, оплачивает налоги и т.д., где-то в базе данных делается отметка об этом событии. Соединив эти в отдельности малозначимые данные, можно собрать большое количество информации об отдельном человеке. При этом последний не в состоянии выяснить, кому и что известно о его частной жизни; не в состоянии управлять точностью этой информации или определять, кто может ее получать. Необходимо реализовать такую систему доступа к ресурсам и услугам, в которой одновременно с решением задач идентификации, аутентификации и авторизации клиента, обеспечивалась бы и анонимность последнего.
Обычные бумажные деньги отвечают всем этим свойствам. Если запрашиваемым ресурсом является какой-либо товар, то наличие у покупателя достаточного количества купюр является доказательством его права на доступ к ресурсу. Хотя каждая из купюр имеет уникальный номер, отслеживать купюры по номерам практически невозможно. Итак, проблема состоит в том, чтобы сделать электронные платежи в такой же степени анонимными, как и расчет с помощью обычных денег. Иначе говоря, возникает задача обеспечения неотслеживаемостиэлектронных документов и, в частности, электронных денег.
В этой главе представлено наиболее рациональное на сегодня решение для централизованных (online) платежных систем - технология цифровых денег или цифровой наличности, которая использует скорость и повсеместное распространение компьютерных сетей, при этом цифровые деньги сохраняют все свойства классических денег, основанных на общественном доверии (конфиденциальность и анонимность платежей, трудность подделки). Отличие цифровых денег от "обычных" заключается в том, что средства поддержки этой технологии являются "виртуальными", "ценности" хранятся в памяти компьютера (на жестком диске пользователя) или в микропроцессорной карте в форме алгоритмов.
Банк обменивает цифровые деньги на обычные после их проверки, используя информацию из специальной базы данных, которая может быть централизованной или распределенной. Обмен цифровыми деньгами между участниками осуществляется в реальном времени через сеть, финансовые расчеты с банком могут осуществляться не только в реальном времени.
Одна из особенностей системы цифровых денег по сравнению с другими (например, основанными на использовании кредитных карт) заключается в полной анонимности транзакций, не требующих от владельца купюры предъявления удостоверения личности, как это происходит в случае операций с физическими деньгами.[3GPP TR 21.905: Vocabulary for 3GPP Specifications.]
Рассмотрим основные криптографические алгоритмы, используемые при создании ЭПС на основе цифровых денег. Полная информация об используемых алгоритмах и протоколах содержится в главе 3.
В протоколе слепой ЭЦП, представленной на рис 8.1, принимают участие две стороны: абоненты А и C. Задачей абонента А является получить подпись абонента C на документе М, не раскрывая при этом содержимого документа М.
(рис 8.1) Протокол слепой ЭЦП RSA
Можно выделить следующие свойства, которыми должна обладать система цифровых наличных:
В системе цифровых наличных обычно можно выделить три протокола:
В информационном взаимодействии принимают участие трое:
Предположим, вышеупомянутые протоколы могут иметь следующий вид:
Протокол снятия со счета:
| где | $$SK_b$$ | - | секретный ключ банка. |
Платежный протокол:
Депозитный протокол:
Описанные протоколы не решают проблемы, так как имеют следующие уязвимости:
Анонимность покупателя обеспечивает применение слепой подписи в протоколе снятия со счета. Для предотвращения повторной траты банк должен поддерживать список номеров ранее потраченных купюр.
Деньги в форме бумажных купюр или металлических монет не требуют идентификации их владельца (покупателя или продавца), проверки его банковских реквизитов. Анонимность при выполнении удаленных транзакций зависит от двух факторов: возможности обмениваться анонимными сообщениями и возможности осуществлять анонимные платежи.
В системах цифровых денег предпринимаются действия для усиления конфиденциальности транзакций за счет анонимности и неотслеживаемости электронных платежей. Анонимность защищает личность участников (покупателя и продавца) после завершения транзакции. Неотслеживаемость означает, что два платежа одного индивидуума никаким образом не могут быть соотнесены друг с другом. Как следствие, банк (системный оператор) должен быть в состоянии модернизировать баланс счета для каждого участника без идентификации этого участника или соотнесения друг с другом различных транзакций, осуществляемых одним участником с любыми другими. Тем не менее каждый участник может разрешить системному оператору следить за денежными расчетами, чтобы гарантировать, например, платежи или доставку товара или выносить решения в случае возникновения разногласий.
Работа системы основывается на механизме слепой подписи, принципы которой были рассмотрены ранее. Подобный механизм позволяет плательщику самому "чеканить цифровые монеты", а банку "ставить печать" без получения информации о серийном номере монеты. При этом обмен сообщениями происходит с использованием обычных механизмов обеспечения конфиденциальности (шифрование с открытым ключом) и аутентичности (схема классической ЭЦП) информации. Эти механизмы были рассмотрены ранее, поэтому для простоты изложения в последующих разделах главы им не будет уделяться внимания.
Процесс обеспечения неотслеживаемости платежа дебитора в виде схемы представлен на рис 8.2.
(рис 8.2) Цифровые деньги: а - простейшая схема обеспечения неотслеживаемости покупателя; б - цифровая купюра
Рассмотрим действия участника, желающего, чтобы банк подписал цифровую купюру вслепую. Банк имеет открытый ключ проверки подписи e, секретный ключ формирования подписи d, а также модуль N (N = pq, где p и q - различные простые числа) разрядностью 1024 или 2048 бит.
Шаг 1. Для получения цифровой купюры без разглашения ее серийного номера s, клиент А (дебитор) выбирает случайное число r, равномерно распределенное между 1 и (N – 1):
1
r
(N – 1).
Только дебитор знает это число r, которое называется затемняющим множителем. Его роль заключается в том, чтобы скрыть серийный номер s купюры. Операция скрытия осуществляется путем умножения номера s на множитель r, зашифрованный на открытом ключе банка:
$$s * r^e$$.
Здесь и далее подразумевается, что все операции выполняются по модулю N.
Этот запрос пересылается банку (рис 8.2а).
В общем случае сообщение, посылаемое банку, состоит из нескольких полей, включая серийный номер s. Эти поля содержат, в частности, тип банковской операции, номер счета дебитора. Все эти поля подписываются с использованием секретного ключа дебитора, например:
$$(withdrawal, an_A, s * r^e)a,$$
| где | withdrawal | - | операция снятия денег со счета; |
| $$an_A$$ (account number A) | - | номер счета клиента; | |
| a | - | секретный ключ клиента. |
Соответствующий открытый ключ включается в сертификат, подписанный центром сертификации ключей.
Шаг 2. Банк заверяет купюру, подписывая полученное сообщение с использованием своего секретного ключа
$$(s * r^e)^d = s^d * r$$
и возвращает ее абоненту А (дебитору). Затем банк снимает со счета дебитора сумму, соответствующую номиналу купюры.
Купюра анонимна, так как включает в себя только серийный номер, зашифрованный банковским секретным ключом. Банк знает только номер счета и, так как номер s затемнен, не в состоянии соотнести запрос продавца на перевод денежных средств после совершения факта покупки с конкретной цифровой купюрой, ранее вслепую им подписанной.
Абонент А получает полноценную цифровую купюру (рис 8.2б) путем деления числа, полученного от банка, на известный ему затемняющий множитель:
$$(s^d * r) / r = s^d$$.
Используя банковский открытый ключ, дебитор проверяет соответствие полученной купюры, той, которая была послана на шаге 1, вычисляя
$$(s^d)^e = s.$$
Шаг 3. Покупатель посылает подписанную купюру продавцу (абоненту В).
Шаг 4. Для перевода соответствующей суммы на свой счет (осуществления операции депозита) абонент В (продавец) посылает в банк следующее сообщение:
$$(deposit, an_B, s^d)^b,$$
| где | deposit | - | операция перевода денег на счет; |
| $$an_B$$ (account number B) | - | номер счета продавца; | |
| b | - | секретный ключ продавца. |
После проверки серийного номера купюры банк переводит эквивалентную сумму на счет продавца, изымает данную купюру из обращения, занося ее номер в список номеров купюр, изъятых из обращения. Банк может также послать расписку своему клиенту В в следующей форме:
$$(deposit, an_B, s^d)^d.$$
Банк поддерживает список номеров купюр, изъятых из обращения, для защиты от повторного предъявления одной и той же купюры при выполнении операции депозита.
В некоторых случаях клиент может быть заинтересован в потере неотслеживаемости для защиты своих прав (например, в случае спора с продавцом или кражи купюр). Формирование случайного числа r происходит путем применения хеш-функции к числу r`, который клиент держит в секрете. Предъявляя r` арбитру, дебитор может доказать, если это необходимо, что именно он владелец купюры, которую банк подписал вслепую. В отличие от продавца, который отказывается выполнять свои обязательства, или мошенника, укравшего купюру, которые не в состоянии сделать то же самое.
Подобным же образом может быть сформирован серийный номер s. Если s` есть случайное число, номер купюры s может быть получен так:
$$s = h (s`),$$
| где | h (x) | - | хеш-функция. |
Дебитор должен предоставить прекурсор s` арбитру, чтобы доказать аутентичность купюры, которую продавец депонировал (положил в банк).
Использование прекурсора позволяет клиенту подтвердить банку, что он действительно является владельцем купюры. На рис 8.3 приведена схема подобного подтверждения.
(рис 8.3) Использование прекурсора s` для защиты покупателя
Шаг 5. Банк проверяет, что серийный номер купюры не содержится в списке ранее использованных купюр, и посылает продавцу заверение в законности сделки. Продавец пересылает это сообщение абоненту В (покупателю). Заверение о законности сделки включает в себя дату истечения срока действия купюры и может быть подписано с использованием секретного ключа банка, в результате и покупатель, и продавец могут удостовериться в целостности и подлинности этого сообщения.
Шаг 6. Абонент В пересылает полученное на предыдущем шаге заверение абоненту А.
Шаг 7. Если абонент А убедился в аутентичности заверения, он посылает прекурсор s` для банка абоненту В.
Шаг 8. Абонент В (продавец) проверяет прекурсор и посылает его в банк, который также убеждается в том, что именно s` использовался для получения s. В этом случае банк дает окончательное заключение о законности сделки, записывает купюру как депонированную, сохраняет копию прекурсора и переводит соответствующую сумму на счет продавца.
Процедура, необходимая для обеспечения неотслеживаемости кредитора, представлена на рис 8.4.
(рис 8.4) Обеспечение неотслеживаемости кредитора
Шаг 1. Для обеспечения собственной неотслеживаемости абонент В формирует "полуфабрикат" цифровой купюры $$s * r^e$$, затем посылает его абоненту А.
Шаг 2. Абонент А пересылает ее банку, чтобы тот поставил свою слепую подпись и снял соответствующую сумму со счета абонента В (кредитора).
Шаг 3. Подписав вслепую купюру, банк возвращает ее абоненту А.
Шаг 4. Абонент А пересылает ее абоненту В.
Шаг 5. Когда кредитор получает подписанную купюру, он использует открытый ключ банка, чтобы проверить, что данная купюра получена именно из того полуфабриката, который был ранее послан в банк:
$$(s^d * r)^e = s * r^e$$.
После удаления затемняющего множителя абонент В посылает купюру в банк. Банк переводит на счет В соответствующую сумму.
В результате банк не в состоянии выяснить, кто из участников - А или В - является инициатором информационного обмена.
Технология, основанная на двойном затемнении, и соответствующие обмены показаны на рис 8.5.
(рис 8.5) Обеспечение взаимной неотслеживаемости дебитора и кредитора
Взаимная неотслеживаемость обеспечивается за счет слияния двух предыдущих схем.
Шаг 1. Абонент В формирует "полуфабрикат" цифровой купюры, затем посылает его абоненту А.
Шаг 2. Абонент А после получения купюры, произведенной клиентом В, добавляет другой затемняющий множитель, выбирая случайное число x, равномерно распределенное между 1 и (N – 1). Купюра посылается в банк для постановки слепой подписи в виде:
$$s * (r * x)^e$$.
Шаг 3. Банк подписывает вслепую полученную купюру и возвращает ее абоненту А.
Шаг 4. Абонент А снимает свой затемняющий множитель и отправляет полученное сообщение абоненту В.
Шаг 5. Абонент В снимает свой затемняющий множитель и получает полноценную цифровую купюру, которую предъявляет банку.
Другой путь обеспечения взаимной неотслеживаемости - это комбинация двух простейших случаев неотслеживаемости дебитора и кредитора и приглашения доверенной третьей стороны, которая включается между участниками. Клиент общается с третьей стороной, используя протокол, обеспечивающий его неотслеживаемость. Доверенная третья сторона ретранслирует платеж продавцу в соответствии с правилом неотслеживаемости кредитора. Банк может быть этой третьей стороной, даже несмотря на то, что в этой роли он не может отследить ни покупателя, ни продавца.
Рассмотрим двоичное представление стоимости купюры, показанное на рис 8.6.
(рис 8.6) Двоичное представление номинала цифровой купюры
В этом случае номинал купюры может принимать любое значение от 1 до $$2^j – 1$$. Каждому разряду соответствует одно из простых чисел, делителей банковской открытой экспоненты криптосистемы RSA.
Таким образом, для представления стоимости, равной 1, используется экспонента, равная 3. Аналогично стоимость, равная 2 в десятичном представлении (или 10 в двоичном), соотносится с открытой экспонентой, равной 5; стоимость, равная 4 в десятичном представлении (или 100 в двоичном), соотносится с открытой экспонентой, равной 7 и т.д. В результате при использовании открытой экспоненты 11 #215; 7 #215; 5 #215; 3 купюра с 4-разрядным кодом стоимости может иметь номинал, принимающий любое значение от 1 до 15 условных единиц (между 0001 и 1111 в двоичном представлении). Следующий пример, схематично отраженный на рис 8.7, показывает, как при вышеописанной схеме представления достоинства купюры решается проблема обмена.
(рис 8.7) Обмен с использованием купюр различного достоинства и получением сдачи
Предположим, стоимость представлена 4-разрядным двоичным кодом. Допустим, клиент хочет приобрести две цифровые купюры, каждая достоинством 15 условных единиц. Каждая купюра имеет свой собственный серийный номер, соответственно $$s_1$$ и $$s_2$$. Соответствующие затемняющие множители равны $$r_1$$ и $$r_2$$.
Банковская открытая экспонента для представления купюры максимального достоинства равна
$$h = 11 \times 7 \times 5 \times 3.$$
Шаг 1. Абонент А производит две купюры, скрывая их номера с использованием затемняющих множителей, и посылает их в банк для простановки слепой подписи. Сообщение, посылаемое в банк, суть конкатенация двух запросов:
Шаг 2. Банк снимает со счета абонента А соответствующую сумму (30 условных единиц), подписывает вслепую купюры и затем возвращает составное сообщение
Инверсия 1 / h суть банковская секретная экспонента, которая вычисляется по формуле
$$h \times (1 / h) = 1 mod [ (p – 1) (q – 1) ].$$
Эта экспонента, также как и открытая, определяет общую стоимость купюры.
Шаг 3. При выполнении платежа первой купюрой за товар (или услугу) стоимостью 10 единиц (двоичное представление 1010) абонент А использует экспоненту $$7 \times 3$$ в своем запросе. Он составляет сообщение для отправки абоненту В (продавцу) в следующем виде:
Для получения "сдачи" абонент А становится неотслеживаемым кредитором для банка в соответствии с вышеописанным протоколом. Абоненту А необходимо удержать остаток в 5 условных единиц. Для этого он формирует число t (по сути вторую цифровую купюру) и скрывает его с помощью затемняющего множителя $$r_{a1}$$, зашифрованного с использованием экспоненты $$7 \times 3$$, соответствующей сумме в 5 условных единиц:
Покупатель (абонент А) желает заплатить продавцу (абоненту В) 10 условных единиц. Для этого абонент А формирует составное сообщение
и посылает его абоненту В.
Шаг 4. Абонент В пересылает это сообщение банку.
Шаг 5. Банк возвращает абоненту В купюру t, подписанную с использованием экспоненты $$1 / (7 \times 3)$$:
$$t^{1/ (7 \times 3)} \times r_{a1}$$.
Шаг 6. Абонент В пересылает это сообщение (по сути, сдачу) абоненту А. Абонент А снимает действие затемняющего множителя и получает подписанную банком купюру достоинством 5 условных единиц:
$$t^{1/ (7 \times 3)} \times r_{a1} : r_{a1} = t^{1/ (7 \times 3)}$$.
Рассмотрим еще один возможный вид платежа.
Шаг 1. Допустим, второй платеж осуществляется на сумму в 12 условных единиц (двоичное представление 1100), открытая экспонента в этом случае равна 11 #215; 7. Составное сообщение от А к В с использованием затемняющего множителя $$r_{a2}$$ в этом случае будет иметь вид:
Шаг 2. Абонент В пересылает это сообщение банку.
Шаг 3. Банк возвращает абоненту В купюру t, подписанную с использованием экспоненты $$1 / (5 \times 3)$$:
$$t^{1/ (7 \times 3) (5 \times 3)} \times r_{a2}$$.
Шаг 4. Абонент В пересылает это сообщение абоненту А. Абонент А снимает действие затемняющего множителя и получает подписанную банком купюру с "накопленным" достоинством (5 + 3) условных единиц:
$$t^{1/ (7 \times 3) (5 \times 3)} \times r_{a2} : r_{a2} = t^{1/ (7 \times 3) (5 \times 3)}.$$
Шаг 5. В транзакции депозита абонент А может положить накопленную сумму на свой счет. Для этого он посылает в банк сообщение:
$$t^{1/ (7 \times 3) (5 \times 3)}$$,
указывая при этом значение накопленной суммы.
Шаг 6. Банк проверяет, не использовалась ли ранее купюра-накопитель, вычисляет накопленную сумму и переводит ее на счет абонента А.
Изготовление фальшивых банкнот - основной способ подделки обычных бумажных денег. Для предотвращения этого принимаются специальные меры (применение бумаги высокого качества, вставка магнитных полос, водяных знаков и пр.), существенно затрудняющие изготовление фальшивок. В случае цифровых денег их копирование осуществить очень легко, для этого достаточно скопировать файл с соответствующей информацией. Иначе говоря, появляется проблема повторного использования. Даже если банк сможет отличить подлинную купюру от фальшивой по серийным номерам, он не в состоянии идентифицировать нарушителя.
Следующий алгоритм, предложенный Д. Чаумом, определяет мошенника без идентификации подлинного дебитора.
Формирование цифровой купюры. Рассмотрим дебитора (В), который имеет в банке счет u, с которым связан счетчик v.
Шаг 1. Дебитор формирует k затемненных сообщений:
При этом $$s_i = f (x_i, y_i)$$,
| где | $$x_i$$ | = | $$g (a_i, c_i)$$; |
| $$y_i$$ | = | $$g\{a_i$$ $$[u || (v + i)], w_i\}$$. |
Независимые переменные $$a_i$$, $$c_i$$ и $$w_i$$ равномерно распределены в интервале $$[1, (N – 1)]$$. Эти k сообщений отправляются банку в качестве кандидатов на получение на их основе цифровых купюр. Функции f ( ) и g ( ) - функции двух аргументов, не имеющие коллизий, иначе говоря, каждой паре входных значений соответствует определенное значение результата.
Шаг 2. Банк случайным образом выбирает k / 2 кандидатов для проверки и просит дебитора предъявить соответствующие переменные $$a_i$$, $$c_i$$, $$r_i$$ и $$w_i$$. Пусть R - набор этих k / 2 кандидатов.
Шаг 3. Если банк завершил все проверки и не обнаружил никаких нарушений, он отправляет обратно произведение k / 2 кандидатов, подписанных своим секретным ключом d:
Шаг 4. Банк снимает со счета дебитора соответствующую сумму.
Шаг 5. Как и в предыдущих схемах, дебитор удаляет затемняющие множители и получает цифровую купюру в виде:
Вероятность обнаружения мошенничества, очевидно, будет зависеть от числа k (по сути, параметра безопасности) и частоты фактов обмана.
Покупка. Когда дебитор посылает продавцу цифровую купюру, последний начинает проверочную процедуру для предотвращения мошенничества. Эта процедура состоит из последовательных действий.
Шаг 1. Продавец выбирает случайную двоичную строку:
$$Z = \{z_1, z_2, \ldots, z_{k/2}\},$$
| где | $$z_i$$ $$\{0, 1\}, 1$$ $$i$$ $$k/2$$. |
Шаг 2. Для всех элементов $$z_i$$ строки Z,
если $$z_i = 1$$, продавец просит клиента послать сообщение:
$$a_i, c_i и y_i = g\{a_i$$
$$[u || (v + i)], w_i\}$$;
если $$z_i = 0$$, продавец просит клиента послать сообщение:
$$x_i = g (a_i, c_i), a_i$$
$$[u || (v + i)]$$ и $$w_i$$.
Шаг 3. Продавец проверяет, имеет ли полученная цифровая купюра требуемый формат, а затем посылает купюру, строку Z и ответы клиента банку с запросом финансового расчета.
Примером платежной системы, использующей цифровые наличные, является DigiCash.
В 1990 г. Д. Чаум организовал в Нидерландах и США коммерческую фирму DigiCash. Mark Twain Bank Сент-Луиса согласился поддерживать конвертацию цифровой наличности в доллары США. Он поддерживал специальный счет для принятия сумм, циркулирующих в цифровом виде до операций депонирования на обычные банковские счета кредиторов.
Одноименная платежная система DigiCash создавалась в рамках европейского проекта Esprit. При этом целью являлось обеспечение цифрового денежного обращения с использованием идей Д. Чаума и его команды. DigiCash использует цифровую наличность, называемую eCash, заменяющую обычные монеты и купюры и обеспечивающую анонимность платежей и неотслеживаемость.
ECash - это виртуальная валюта, предназначенная для оплаты товаров и услуг через компьютерные сети. В рамках системы DigiCash пользователь формирует eCash и посылает их в банк на подпись. Цифровые деньги, полученные из банка, в дальнейшем хранятся на жестком диске клиента, куда с помощью клиентского программного обеспечения "закачиваются" со счета клиента в некоем виртуальном банке (digital bank), созданном компанией DigiCash в сети Интернет. Для пересылки eCash необходимо соединение между продавцом и покупателем в режиме он-лайн, предполагался также выпуск ПО, позволяющего проводить платежи по электронной почте. Цифровые деньги могут быть истрачены в любом торговом предприятии, принимающем их к оплате, причем никаких сведений о клиенте продавцу не требуется. Таким образом, eCash представляет собой полный аналог наличных для "электронного рынка". Банк к своей роли посредника в финансовых расчетах может добавить роль доверенной третьей стороны. На рис 8.8 показаны отношения, которые DigiCash устанавливает между участниками транзакций.
(рис 8.8) DigiCash: участники информационного взаимодействия
Сумма, пересылаемая от покупателя к продавцу, защищается криптографическими методами, а для загрузки цифровых денег на компьютер клиента нужно ввести пароль, известный только владельцу счета в виртуальном банке, с которого происходит загрузка.
Пользователь (клиент А) загружает ПО, которое позволяет браузеру сохранять деньги клиента, следить за расходами и проверять временные отметки. Во время регистрации клиент получает все открытые ключи, которые будут использоваться при создании цифровых купюр различного достоинства. Аналогично клиент В (продавец) загружает и регистрирует свое ПО для приема электронных платежей, для взаимодействия с покупателями и банком. Оба абонента должны иметь счета в банке.
С целью обеспечения аутентичности обменов участники взаимодействия используют свои секретные ключи для подписывания сообщений. Для обеспечения конфиденциальности участники взаимодействия используют секретные сеансовые ключи, которые в свою очередь будут зашифрованы банковским открытым ключом.
Для защиты от сбоев (терминальных или сетевых) банк может хранить копии n последних запросов каждого клиента (например, n = 16). Это создает условия для восстановления информации в случае неполадок в работе.
Клиент eCash. Клиент eCash может быть установлен на любом компьютере, имеющем полномасштабный доступ к Интернету. Установка клиента не требует никаких особых навыков. Пользовательский интерфейс клиента eCash представляет собой окно (в терминах интерфейса MS Windows), постоянно находящееся "наверху" рабочего пространства (desktop). В "свернутом" виде это окно содержит лишь указание на количество находящейся "на руках" у пользователя цифровой наличности, а также может содержать пиктограмму и (или) окно микроанимации для указания на осуществляемые клиентом в настоящий момент действия. В "развернутом" виде окно содержит пять кнопок.
Можно выделить три группы обсуждаемых последствий широкого принятия цифровой наличности в качестве платежного инструмента.
Уже достаточно давно банки и другие коммерческие структуры используют при проведении деловых операций электронный обмен данными EDI (Electronic Data Interchange) и электронный перевод денежных средств EFT (Electronic Funds Transfer). В современных платежных системах весь процесс от начала до конца происходит в электронной (цифровой) форме. При этом для обеспечения безопасности и признания законности (конфиденциальности пересылаемых электронных документов, аутентификации участников информационного обмена) повсеместно используются криптосистемы с открытым ключом для шифрования и формирования электронной подписи.
Учитывая, что традиционные денежные купюры суть не что иное как защищенный от подделки документ, логичным представляется переход к использованию цифровых денег. Защиту от подделки при этом может обеспечить электронная подпись банка, которая безусловно имеет большую надежность, чем традиционные водяные знаки, металлические полосы и т.п.
При осуществлении платежей с помощью популярной на западе кредитной карточки всегда, когда владелец карточки с ее помощью делает покупки, оплачивает налоги и т.д., где-то в базе данных делается отметка об этом событии. Соединив эти в отдельности малозначимые данные, можно собрать большое количество информации об отдельном человеке. При этом последний не в состоянии выяснить, кому и что известно о его частной жизни; не в состоянии управлять точностью этой информации или определять, кто может ее получать. Необходимо реализовать такую систему доступа к ресурсам и услугам, в которой одновременно с решением задач идентификации, аутентификации и авторизации клиента, обеспечивалась бы и анонимность последнего.
Обычные бумажные деньги отвечают всем этим свойствам. Если запрашиваемым ресурсом является какой-либо товар, то наличие у покупателя достаточного количества купюр является доказательством его права на доступ к ресурсу. Хотя каждая из купюр имеет уникальный номер, отслеживать купюры по номерам практически невозможно. Итак, проблема состоит в том, чтобы сделать электронные платежи в такой же степени анонимными, как и расчет с помощью обычных денег. Иначе говоря, возникает задача обеспечения неотслеживаемостиэлектронных документов и, в частности, электронных денег.
В этой главе представлено наиболее рациональное на сегодня решение для централизованных (online) платежных систем - технология цифровых денег или цифровой наличности, которая использует скорость и повсеместное распространение компьютерных сетей, при этом цифровые деньги сохраняют все свойства классических денег, основанных на общественном доверии (конфиденциальность и анонимность платежей, трудность подделки). Отличие цифровых денег от "обычных" заключается в том, что средства поддержки этой технологии являются "виртуальными", "ценности" хранятся в памяти компьютера (на жестком диске пользователя) или в микропроцессорной карте в форме алгоритмов.
Банк обменивает цифровые деньги на обычные после их проверки, используя информацию из специальной базы данных, которая может быть централизованной или распределенной. Обмен цифровыми деньгами между участниками осуществляется в реальном времени через сеть, финансовые расчеты с банком могут осуществляться не только в реальном времени.
Одна из особенностей системы цифровых денег по сравнению с другими (например, основанными на использовании кредитных карт) заключается в полной анонимности транзакций, не требующих от владельца купюры предъявления удостоверения личности, как это происходит в случае операций с физическими деньгами.[3GPP TR 21.905: Vocabulary for 3GPP Specifications.]
Рассмотрим основные криптографические алгоритмы, используемые при создании ЭПС на основе цифровых денег. Полная информация об используемых алгоритмах и протоколах содержится в главе 3.
В протоколе слепой ЭЦП, представленной на рис 8.1, принимают участие две стороны: абоненты А и C. Задачей абонента А является получить подпись абонента C на документе М, не раскрывая при этом содержимого документа М.
(рис 8.1) Протокол слепой ЭЦП RSA
Можно выделить следующие свойства, которыми должна обладать система цифровых наличных:
В системе цифровых наличных обычно можно выделить три протокола:
В информационном взаимодействии принимают участие трое:
Предположим, вышеупомянутые протоколы могут иметь следующий вид:
Протокол снятия со счета:
| где | $$SK_b$$ | - | секретный ключ банка. |
Платежный протокол:
Депозитный протокол:
Описанные протоколы не решают проблемы, так как имеют следующие уязвимости:
Анонимность покупателя обеспечивает применение слепой подписи в протоколе снятия со счета. Для предотвращения повторной траты банк должен поддерживать список номеров ранее потраченных купюр.
Деньги в форме бумажных купюр или металлических монет не требуют идентификации их владельца (покупателя или продавца), проверки его банковских реквизитов. Анонимность при выполнении удаленных транзакций зависит от двух факторов: возможности обмениваться анонимными сообщениями и возможности осуществлять анонимные платежи.
В системах цифровых денег предпринимаются действия для усиления конфиденциальности транзакций за счет анонимности и неотслеживаемости электронных платежей. Анонимность защищает личность участников (покупателя и продавца) после завершения транзакции. Неотслеживаемость означает, что два платежа одного индивидуума никаким образом не могут быть соотнесены друг с другом. Как следствие, банк (системный оператор) должен быть в состоянии модернизировать баланс счета для каждого участника без идентификации этого участника или соотнесения друг с другом различных транзакций, осуществляемых одним участником с любыми другими. Тем не менее каждый участник может разрешить системному оператору следить за денежными расчетами, чтобы гарантировать, например, платежи или доставку товара или выносить решения в случае возникновения разногласий.
Работа системы основывается на механизме слепой подписи, принципы которой были рассмотрены ранее. Подобный механизм позволяет плательщику самому "чеканить цифровые монеты", а банку "ставить печать" без получения информации о серийном номере монеты. При этом обмен сообщениями происходит с использованием обычных механизмов обеспечения конфиденциальности (шифрование с открытым ключом) и аутентичности (схема классической ЭЦП) информации. Эти механизмы были рассмотрены ранее, поэтому для простоты изложения в последующих разделах главы им не будет уделяться внимания.
Процесс обеспечения неотслеживаемости платежа дебитора в виде схемы представлен на рис 8.2.
(рис 8.2) Цифровые деньги: а - простейшая схема обеспечения неотслеживаемости покупателя; б - цифровая купюра
Рассмотрим действия участника, желающего, чтобы банк подписал цифровую купюру вслепую. Банк имеет открытый ключ проверки подписи e, секретный ключ формирования подписи d, а также модуль N (N = pq, где p и q - различные простые числа) разрядностью 1024 или 2048 бит.
Шаг 1. Для получения цифровой купюры без разглашения ее серийного номера s, клиент А (дебитор) выбирает случайное число r, равномерно распределенное между 1 и (N – 1):
1
r
(N – 1).
Только дебитор знает это число r, которое называется затемняющим множителем. Его роль заключается в том, чтобы скрыть серийный номер s купюры. Операция скрытия осуществляется путем умножения номера s на множитель r, зашифрованный на открытом ключе банка:
$$s * r^e$$.
Здесь и далее подразумевается, что все операции выполняются по модулю N.
Этот запрос пересылается банку (рис 8.2а).
В общем случае сообщение, посылаемое банку, состоит из нескольких полей, включая серийный номер s. Эти поля содержат, в частности, тип банковской операции, номер счета дебитора. Все эти поля подписываются с использованием секретного ключа дебитора, например:
$$(withdrawal, an_A, s * r^e)a,$$
| где | withdrawal | - | операция снятия денег со счета; |
| $$an_A$$ (account number A) | - | номер счета клиента; | |
| a | - | секретный ключ клиента. |
Соответствующий открытый ключ включается в сертификат, подписанный центром сертификации ключей.
Шаг 2. Банк заверяет купюру, подписывая полученное сообщение с использованием своего секретного ключа
$$(s * r^e)^d = s^d * r$$
и возвращает ее абоненту А (дебитору). Затем банк снимает со счета дебитора сумму, соответствующую номиналу купюры.
Купюра анонимна, так как включает в себя только серийный номер, зашифрованный банковским секретным ключом. Банк знает только номер счета и, так как номер s затемнен, не в состоянии соотнести запрос продавца на перевод денежных средств после совершения факта покупки с конкретной цифровой купюрой, ранее вслепую им подписанной.
Абонент А получает полноценную цифровую купюру (рис 8.2б) путем деления числа, полученного от банка, на известный ему затемняющий множитель:
$$(s^d * r) / r = s^d$$.
Используя банковский открытый ключ, дебитор проверяет соответствие полученной купюры, той, которая была послана на шаге 1, вычисляя
$$(s^d)^e = s.$$
Шаг 3. Покупатель посылает подписанную купюру продавцу (абоненту В).
Шаг 4. Для перевода соответствующей суммы на свой счет (осуществления операции депозита) абонент В (продавец) посылает в банк следующее сообщение:
$$(deposit, an_B, s^d)^b,$$
| где | deposit | - | операция перевода денег на счет; |
| $$an_B$$ (account number B) | - | номер счета продавца; | |
| b | - | секретный ключ продавца. |
После проверки серийного номера купюры банк переводит эквивалентную сумму на счет продавца, изымает данную купюру из обращения, занося ее номер в список номеров купюр, изъятых из обращения. Банк может также послать расписку своему клиенту В в следующей форме:
$$(deposit, an_B, s^d)^d.$$
Банк поддерживает список номеров купюр, изъятых из обращения, для защиты от повторного предъявления одной и той же купюры при выполнении операции депозита.
В некоторых случаях клиент может быть заинтересован в потере неотслеживаемости для защиты своих прав (например, в случае спора с продавцом или кражи купюр). Формирование случайного числа r происходит путем применения хеш-функции к числу r`, который клиент держит в секрете. Предъявляя r` арбитру, дебитор может доказать, если это необходимо, что именно он владелец купюры, которую банк подписал вслепую. В отличие от продавца, который отказывается выполнять свои обязательства, или мошенника, укравшего купюру, которые не в состоянии сделать то же самое.
Подобным же образом может быть сформирован серийный номер s. Если s` есть случайное число, номер купюры s может быть получен так:
$$s = h (s`),$$
| где | h (x) | - | хеш-функция. |
Дебитор должен предоставить прекурсор s` арбитру, чтобы доказать аутентичность купюры, которую продавец депонировал (положил в банк).
Использование прекурсора позволяет клиенту подтвердить банку, что он действительно является владельцем купюры. На рис 8.3 приведена схема подобного подтверждения.
(рис 8.3) Использование прекурсора s` для защиты покупателя
Шаг 5. Банк проверяет, что серийный номер купюры не содержится в списке ранее использованных купюр, и посылает продавцу заверение в законности сделки. Продавец пересылает это сообщение абоненту В (покупателю). Заверение о законности сделки включает в себя дату истечения срока действия купюры и может быть подписано с использованием секретного ключа банка, в результате и покупатель, и продавец могут удостовериться в целостности и подлинности этого сообщения.
Шаг 6. Абонент В пересылает полученное на предыдущем шаге заверение абоненту А.
Шаг 7. Если абонент А убедился в аутентичности заверения, он посылает прекурсор s` для банка абоненту В.
Шаг 8. Абонент В (продавец) проверяет прекурсор и посылает его в банк, который также убеждается в том, что именно s` использовался для получения s. В этом случае банк дает окончательное заключение о законности сделки, записывает купюру как депонированную, сохраняет копию прекурсора и переводит соответствующую сумму на счет продавца.
Процедура, необходимая для обеспечения неотслеживаемости кредитора, представлена на рис 8.4.
(рис 8.4) Обеспечение неотслеживаемости кредитора
Шаг 1. Для обеспечения собственной неотслеживаемости абонент В формирует "полуфабрикат" цифровой купюры $$s * r^e$$, затем посылает его абоненту А.
Шаг 2. Абонент А пересылает ее банку, чтобы тот поставил свою слепую подпись и снял соответствующую сумму со счета абонента В (кредитора).
Шаг 3. Подписав вслепую купюру, банк возвращает ее абоненту А.
Шаг 4. Абонент А пересылает ее абоненту В.
Шаг 5. Когда кредитор получает подписанную купюру, он использует открытый ключ банка, чтобы проверить, что данная купюра получена именно из того полуфабриката, который был ранее послан в банк:
$$(s^d * r)^e = s * r^e$$.
После удаления затемняющего множителя абонент В посылает купюру в банк. Банк переводит на счет В соответствующую сумму.
В результате банк не в состоянии выяснить, кто из участников - А или В - является инициатором информационного обмена.
Технология, основанная на двойном затемнении, и соответствующие обмены показаны на рис 8.5.
(рис 8.5) Обеспечение взаимной неотслеживаемости дебитора и кредитора
Взаимная неотслеживаемость обеспечивается за счет слияния двух предыдущих схем.
Шаг 1. Абонент В формирует "полуфабрикат" цифровой купюры, затем посылает его абоненту А.
Шаг 2. Абонент А после получения купюры, произведенной клиентом В, добавляет другой затемняющий множитель, выбирая случайное число x, равномерно распределенное между 1 и (N – 1). Купюра посылается в банк для постановки слепой подписи в виде:
$$s * (r * x)^e$$.
Шаг 3. Банк подписывает вслепую полученную купюру и возвращает ее абоненту А.
Шаг 4. Абонент А снимает свой затемняющий множитель и отправляет полученное сообщение абоненту В.
Шаг 5. Абонент В снимает свой затемняющий множитель и получает полноценную цифровую купюру, которую предъявляет банку.
Другой путь обеспечения взаимной неотслеживаемости - это комбинация двух простейших случаев неотслеживаемости дебитора и кредитора и приглашения доверенной третьей стороны, которая включается между участниками. Клиент общается с третьей стороной, используя протокол, обеспечивающий его неотслеживаемость. Доверенная третья сторона ретранслирует платеж продавцу в соответствии с правилом неотслеживаемости кредитора. Банк может быть этой третьей стороной, даже несмотря на то, что в этой роли он не может отследить ни покупателя, ни продавца.
Рассмотрим двоичное представление стоимости купюры, показанное на рис 8.6.
(рис 8.6) Двоичное представление номинала цифровой купюры
В этом случае номинал купюры может принимать любое значение от 1 до $$2^j – 1$$. Каждому разряду соответствует одно из простых чисел, делителей банковской открытой экспоненты криптосистемы RSA.
Таким образом, для представления стоимости, равной 1, используется экспонента, равная 3. Аналогично стоимость, равная 2 в десятичном представлении (или 10 в двоичном), соотносится с открытой экспонентой, равной 5; стоимость, равная 4 в десятичном представлении (или 100 в двоичном), соотносится с открытой экспонентой, равной 7 и т.д. В результате при использовании открытой экспоненты 11 #215; 7 #215; 5 #215; 3 купюра с 4-разрядным кодом стоимости может иметь номинал, принимающий любое значение от 1 до 15 условных единиц (между 0001 и 1111 в двоичном представлении). Следующий пример, схематично отраженный на рис 8.7, показывает, как при вышеописанной схеме представления достоинства купюры решается проблема обмена.
(рис 8.7) Обмен с использованием купюр различного достоинства и получением сдачи
Предположим, стоимость представлена 4-разрядным двоичным кодом. Допустим, клиент хочет приобрести две цифровые купюры, каждая достоинством 15 условных единиц. Каждая купюра имеет свой собственный серийный номер, соответственно $$s_1$$ и $$s_2$$. Соответствующие затемняющие множители равны $$r_1$$ и $$r_2$$.
Банковская открытая экспонента для представления купюры максимального достоинства равна
$$h = 11 \times 7 \times 5 \times 3.$$
Шаг 1. Абонент А производит две купюры, скрывая их номера с использованием затемняющих множителей, и посылает их в банк для простановки слепой подписи. Сообщение, посылаемое в банк, суть конкатенация двух запросов:
Шаг 2. Банк снимает со счета абонента А соответствующую сумму (30 условных единиц), подписывает вслепую купюры и затем возвращает составное сообщение
Инверсия 1 / h суть банковская секретная экспонента, которая вычисляется по формуле
$$h \times (1 / h) = 1 mod [ (p – 1) (q – 1) ].$$
Эта экспонента, также как и открытая, определяет общую стоимость купюры.
Шаг 3. При выполнении платежа первой купюрой за товар (или услугу) стоимостью 10 единиц (двоичное представление 1010) абонент А использует экспоненту $$7 \times 3$$ в своем запросе. Он составляет сообщение для отправки абоненту В (продавцу) в следующем виде:
Для получения "сдачи" абонент А становится неотслеживаемым кредитором для банка в соответствии с вышеописанным протоколом. Абоненту А необходимо удержать остаток в 5 условных единиц. Для этого он формирует число t (по сути вторую цифровую купюру) и скрывает его с помощью затемняющего множителя $$r_{a1}$$, зашифрованного с использованием экспоненты $$7 \times 3$$, соответствующей сумме в 5 условных единиц:
Покупатель (абонент А) желает заплатить продавцу (абоненту В) 10 условных единиц. Для этого абонент А формирует составное сообщение
и посылает его абоненту В.
Шаг 4. Абонент В пересылает это сообщение банку.
Шаг 5. Банк возвращает абоненту В купюру t, подписанную с использованием экспоненты $$1 / (7 \times 3)$$:
$$t^{1/ (7 \times 3)} \times r_{a1}$$.
Шаг 6. Абонент В пересылает это сообщение (по сути, сдачу) абоненту А. Абонент А снимает действие затемняющего множителя и получает подписанную банком купюру достоинством 5 условных единиц:
$$t^{1/ (7 \times 3)} \times r_{a1} : r_{a1} = t^{1/ (7 \times 3)}$$.
Рассмотрим еще один возможный вид платежа.
Шаг 1. Допустим, второй платеж осуществляется на сумму в 12 условных единиц (двоичное представление 1100), открытая экспонента в этом случае равна 11 #215; 7. Составное сообщение от А к В с использованием затемняющего множителя $$r_{a2}$$ в этом случае будет иметь вид:
Шаг 2. Абонент В пересылает это сообщение банку.
Шаг 3. Банк возвращает абоненту В купюру t, подписанную с использованием экспоненты $$1 / (5 \times 3)$$:
$$t^{1/ (7 \times 3) (5 \times 3)} \times r_{a2}$$.
Шаг 4. Абонент В пересылает это сообщение абоненту А. Абонент А снимает действие затемняющего множителя и получает подписанную банком купюру с "накопленным" достоинством (5 + 3) условных единиц:
$$t^{1/ (7 \times 3) (5 \times 3)} \times r_{a2} : r_{a2} = t^{1/ (7 \times 3) (5 \times 3)}.$$
Шаг 5. В транзакции депозита абонент А может положить накопленную сумму на свой счет. Для этого он посылает в банк сообщение:
$$t^{1/ (7 \times 3) (5 \times 3)}$$,
указывая при этом значение накопленной суммы.
Шаг 6. Банк проверяет, не использовалась ли ранее купюра-накопитель, вычисляет накопленную сумму и переводит ее на счет абонента А.
Изготовление фальшивых банкнот - основной способ подделки обычных бумажных денег. Для предотвращения этого принимаются специальные меры (применение бумаги высокого качества, вставка магнитных полос, водяных знаков и пр.), существенно затрудняющие изготовление фальшивок. В случае цифровых денег их копирование осуществить очень легко, для этого достаточно скопировать файл с соответствующей информацией. Иначе говоря, появляется проблема повторного использования. Даже если банк сможет отличить подлинную купюру от фальшивой по серийным номерам, он не в состоянии идентифицировать нарушителя.
Следующий алгоритм, предложенный Д. Чаумом, определяет мошенника без идентификации подлинного дебитора.
Формирование цифровой купюры. Рассмотрим дебитора (В), который имеет в банке счет u, с которым связан счетчик v.
Шаг 1. Дебитор формирует k затемненных сообщений:
При этом $$s_i = f (x_i, y_i)$$,
| где | $$x_i$$ | = | $$g (a_i, c_i)$$; |
| $$y_i$$ | = | $$g\{a_i$$ $$[u || (v + i)], w_i\}$$. |
Независимые переменные $$a_i$$, $$c_i$$ и $$w_i$$ равномерно распределены в интервале $$[1, (N – 1)]$$. Эти k сообщений отправляются банку в качестве кандидатов на получение на их основе цифровых купюр. Функции f ( ) и g ( ) - функции двух аргументов, не имеющие коллизий, иначе говоря, каждой паре входных значений соответствует определенное значение результата.
Шаг 2. Банк случайным образом выбирает k / 2 кандидатов для проверки и просит дебитора предъявить соответствующие переменные $$a_i$$, $$c_i$$, $$r_i$$ и $$w_i$$. Пусть R - набор этих k / 2 кандидатов.
Шаг 3. Если банк завершил все проверки и не обнаружил никаких нарушений, он отправляет обратно произведение k / 2 кандидатов, подписанных своим секретным ключом d:
Шаг 4. Банк снимает со счета дебитора соответствующую сумму.
Шаг 5. Как и в предыдущих схемах, дебитор удаляет затемняющие множители и получает цифровую купюру в виде:
Вероятность обнаружения мошенничества, очевидно, будет зависеть от числа k (по сути, параметра безопасности) и частоты фактов обмана.
Покупка. Когда дебитор посылает продавцу цифровую купюру, последний начинает проверочную процедуру для предотвращения мошенничества. Эта процедура состоит из последовательных действий.
Шаг 1. Продавец выбирает случайную двоичную строку:
$$Z = \{z_1, z_2, \ldots, z_{k/2}\},$$
| где | $$z_i$$ $$\{0, 1\}, 1$$ $$i$$ $$k/2$$. |
Шаг 2. Для всех элементов $$z_i$$ строки Z,
если $$z_i = 1$$, продавец просит клиента послать сообщение:
$$a_i, c_i и y_i = g\{a_i$$
$$[u || (v + i)], w_i\}$$;
если $$z_i = 0$$, продавец просит клиента послать сообщение:
$$x_i = g (a_i, c_i), a_i$$
$$[u || (v + i)]$$ и $$w_i$$.
Шаг 3. Продавец проверяет, имеет ли полученная цифровая купюра требуемый формат, а затем посылает купюру, строку Z и ответы клиента банку с запросом финансового расчета.
Примером платежной системы, использующей цифровые наличные, является DigiCash.
В 1990 г. Д. Чаум организовал в Нидерландах и США коммерческую фирму DigiCash. Mark Twain Bank Сент-Луиса согласился поддерживать конвертацию цифровой наличности в доллары США. Он поддерживал специальный счет для принятия сумм, циркулирующих в цифровом виде до операций депонирования на обычные банковские счета кредиторов.
Одноименная платежная система DigiCash создавалась в рамках европейского проекта Esprit. При этом целью являлось обеспечение цифрового денежного обращения с использованием идей Д. Чаума и его команды. DigiCash использует цифровую наличность, называемую eCash, заменяющую обычные монеты и купюры и обеспечивающую анонимность платежей и неотслеживаемость.
ECash - это виртуальная валюта, предназначенная для оплаты товаров и услуг через компьютерные сети. В рамках системы DigiCash пользователь формирует eCash и посылает их в банк на подпись. Цифровые деньги, полученные из банка, в дальнейшем хранятся на жестком диске клиента, куда с помощью клиентского программного обеспечения "закачиваются" со счета клиента в некоем виртуальном банке (digital bank), созданном компанией DigiCash в сети Интернет. Для пересылки eCash необходимо соединение между продавцом и покупателем в режиме он-лайн, предполагался также выпуск ПО, позволяющего проводить платежи по электронной почте. Цифровые деньги могут быть истрачены в любом торговом предприятии, принимающем их к оплате, причем никаких сведений о клиенте продавцу не требуется. Таким образом, eCash представляет собой полный аналог наличных для "электронного рынка". Банк к своей роли посредника в финансовых расчетах может добавить роль доверенной третьей стороны. На рис 8.8 показаны отношения, которые DigiCash устанавливает между участниками транзакций.
(рис 8.8) DigiCash: участники информационного взаимодействия
Сумма, пересылаемая от покупателя к продавцу, защищается криптографическими методами, а для загрузки цифровых денег на компьютер клиента нужно ввести пароль, известный только владельцу счета в виртуальном банке, с которого происходит загрузка.
Пользователь (клиент А) загружает ПО, которое позволяет браузеру сохранять деньги клиента, следить за расходами и проверять временные отметки. Во время регистрации клиент получает все открытые ключи, которые будут использоваться при создании цифровых купюр различного достоинства. Аналогично клиент В (продавец) загружает и регистрирует свое ПО для приема электронных платежей, для взаимодействия с покупателями и банком. Оба абонента должны иметь счета в банке.
С целью обеспечения аутентичности обменов участники взаимодействия используют свои секретные ключи для подписывания сообщений. Для обеспечения конфиденциальности участники взаимодействия используют секретные сеансовые ключи, которые в свою очередь будут зашифрованы банковским открытым ключом.
Для защиты от сбоев (терминальных или сетевых) банк может хранить копии n последних запросов каждого клиента (например, n = 16). Это создает условия для восстановления информации в случае неполадок в работе.
Клиент eCash. Клиент eCash может быть установлен на любом компьютере, имеющем полномасштабный доступ к Интернету. Установка клиента не требует никаких особых навыков. Пользовательский интерфейс клиента eCash представляет собой окно (в терминах интерфейса MS Windows), постоянно находящееся "наверху" рабочего пространства (desktop). В "свернутом" виде это окно содержит лишь указание на количество находящейся "на руках" у пользователя цифровой наличности, а также может содержать пиктограмму и (или) окно микроанимации для указания на осуществляемые клиентом в настоящий момент действия. В "развернутом" виде окно содержит пять кнопок.
Можно выделить три группы обсуждаемых последствий широкого принятия цифровой наличности в качестве платежного инструмента.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.