Результаты исследования, посвященные банковской активности в Internet, указывают на высокий уровень конкурентной борьбы между банками, воспринимающими Internet как новую возможность для предоставления широкого спектра банковских услуг. Причем банковские услуги в интернете - это не только информационно-справочные системы на базе Web-технологии. Предполагается, что 50% всех работающих в интернете банков предоставят своим клиентам доступ к счетам в реальном масштабе времени, обеспечат возможность электронных сделок и платежей. В настоящее время подобные услуги предоставляются большинством банков США и Западной Европы.
Представим теперь себе следующую ситуацию. Имеются два абонента А и В сети связи, скажем, компьютерной сети. В — это банк, в котором у А имеется счет и А хочет переслать В по сети в электронной форме платежное поручение, перевести, например, 10 монет со своего счета на счет другого клиента С. (Чтобы не привязываться к конкретной валюте, будем пользоваться абстрактной денежной единицей, которую будем называть монетой.) Нужна ли в данном случае криптографическая защита? Защита и в самом деле необходима. Для банка важно убедиться в том, что данное сообщение действительно исходит от А, а последнему, в свою очередь, необходимо, чтобы никто не мог изменить сумму, указанную в платежном поручении, или просто послать поддельное поручение от его имени.
|
|
Но здесь следует отметить следующий очень важный момент: у A и В нет никакой конфиденциальной информации. Требуется лишь гарантия поступления сообщений из достоверного источника и в неискаженном виде. Такая гарантия называется обеспечением целостности информации и составляет вторую задачу криптографии после обеспечения конфиденциальности.
Нетрудно видеть, что при пересылке платежных поручений в электронной форме возникает еще и совершенно иной тип угроз безопасности клиентов: всякий, кто перехватит сообщение от А к В, узнает, что С получил от А 10 монет. На самом деле клиентам необходимо нечто, аналогичное свойству анонимности обычных бумажных денег. Хотя каждая бумажная купюра имеет уникальный номер, определить, кто ее использовал и в каких платежах, практически невозможно. Аналог этого свойства в криптографии называется неотслеживаемостью. Обеспечение неотслеживаемости — третья задача криптографии.
Если задача обеспечения конфиденциальности решается с помощью криптосистем, то для обеспечения целостности и неотслеживаемости разрабатываются криптографические протоколы.
Задача ужинающих криптографов
Требование анонимности платежей приводит к постановке криптографической задачи, известной как «задача ужинающих криптографов». Предположим, что двое друзей-криптографов приглашают третьего в ресторан на ужин. После ужина официант подходит к столу и заявляет, что за ужин уже заплачено, но при этом не говорит, кто конкретно из сидящих за столом это сделал.
|
|
Возникает следующая задача: если за ужин заплатил приглашенный, то его друзья хотели бы знать об этом, так как они его пригласили. Однако, если заплатил кто-то их них, то они хотели бы знать, кто именно, но при этом не хотели бы, чтобы он узнал об этом. Очевидно, что обсуждение возможно только за столом и при общем участии.
Шаум предложил простое решение задачи. Друзья отгораживаются от приглашенного меню и подбрасывают монету так, чтобы он не мог видеть результат. Затем они объявляют результат - «орел» или «решка», предварительно договорившись, что тот, кто заплатил, называет противоположное событие («решку», если выпал «орел», и наоборот), а тот, кто не платил, всегда объявляет истинное событие.
Очевидно, что если оба друга называют одно и то же, то всем ясно, что заплатил приглашенный. Однако если друзья объявляют разные события, то приглашенный знает, что заплатил кто-то из них, но не знает, кто именно. И, поскольку оба друга знают истинный результат бросания, они также знают, кто из них заплатил за ужин.
На практике решение задачи просто реализуется при помощи арифметики по модулю два. Предположим, что возможные исходы бросания монеты - «орел» и «решка» соответствуют двоичным нулю и единице. При этом единица также означает положительный ответ на вопрос об оплате, а ноль – отрицательный. Обозначим результат бросания монеты как k. Тогда после бросания монеты тот, кто заплатил, объявляет k Å1, а тот, кто не платил, просто k.
Очевидно, что приглашенный всегда может выяснить, что за него заплатили, выполнив суммирование объявленных результатов:
1 = (k Å1)Å k.
Если заплатил приглашенный, об этом также станет известно, так как
0 = (k Å 0) Å k.
Электронные деньги
С наличными деньгами существует множество проблем практического характера. Альтернативой служат электронные деньги. Кредитные карточки и чеки представляют собой разновидность отслеживаемых электронных денег, так как всегда можно проследить, где и что по ним покупалось. Однако электронные платежи не должны быть дополнительным способом контроля за движением денег. Человек должен иметь возможность охранять свои личные тайны; по этой причине электронные платежные системы должны гарантировать анонимность платежей.
Известный протокол на основе анонимных кредитных карточек для защиты личности клиента использует несколько различных банков. Каждый клиент имеет счет в двух различных банках. Первый банк, которому известна личность человека, может зачислять деньги на его счет. Второй банк знает клиента только под псевдонимом (подобно номерному счету в швейцарском банке).
Клиент может брать деньги из второго банка, доказывая, что он является владельцем счета. Но этот банк не знает личности человека и не может зачислять деньги на его счет. Первый банк знает клиента и перечисляет деньги во второй банк, не зная псевдонима. Затем клиент анонимно тратит эти деньги. В конце месяца второй банк выставляет счет первому банку, веря, что тот его оплатит. Первый банк передаст счет клиенту, веря, что тот его оплатит. Когда клиент оплачивает счет, первый банк перечисляет дополнительные деньги во второй банк.
Все транзакции проводятся через посредника, который действует подобно электронному Федеральному Резерву: оплачивает банковские счета, регистрирует сообщения и создаст контрольный след. Если все они не сговорятся против клиента, его анонимность гарантирована. Протокол позволяет клиентам пользоваться преимуществами кредитных карточек, не раскрывая своей личности. Однако это не электронные наличные: банк слишком легко может мошенничать.