Анимация
JavaScript
|
Главная Библионтека 6.4 Электронные наличные Наличные деньги - это проблема. Раздражает их носить, они способствуют распространению микробов, л ю-ди могут красть их у Вас. Чеки и кредитные карточки уменьшили количество наличных денег, оборачивающи х-ся в обществе, но полное удаление наличных денег фактически невозможно. Этого никогда не произойдет; то р-говцы наркотиками и политические деятели никогда этого не допустят. Чеки и кредитные карточки можно пр о-следить, вы не можете скрыться от того, кому дали деньги. С другой стороны, чеки и кредитные карточки позволяют людям вторгаться в вашу личную жизнь как ник о-гда прежде. Вы никогда не допустили бы, чтобы полиция всю жизнь ходила за вами по пятам, но полицейские могут проследить ваши финансовые операции. Они могут видеть, где вы покупаете газ, где вы покупаете еду, кому вы звоните ио телефону, и все это не отрываясь от своих компьютерных терминалов. Люди должны уметь защитить свою анонимность, чтобы защитить свои личные тайны. К счастью, существует сложный протокол, который разрешает использование заверенных, но неотслежива е-мых сообщений. Лоббист Алиса может передать электронные деньги конгрессмену Бобу так, чтобы газетный репортер Ева ничего не узнала бы об Алисе. Боб может затем вносить эти электронные деньги на свой банко в-ский счет, даже если банк не имеет об Алисе никакого представления. Но если Алиса пробует покупать кокаин на ту же самую порцию электронных денег, которую она использовала для подкупа Боба, она будет обнаружена банком. И если Боб пробует вносить порцию электронных денег на два различных счета, это будет обнаружено, но Боб, как и Алиса, останется он анонимным. Иногда это называется анонимными электронными деньгами, чтобы можно было отличить их от отслеживаемых электронных денег, типа креди тных карточек. В подобных вещах существует большая общественная необходимость. С ростом использования Internet для коммерческих операций растет и потребность в секретности передаваемой по сети информации и анонимности при ведении дел. (Имеется немало причин для того, чтобы люди отказывались посылать номер их кредитной карточки по Internet.) С другой стороны, банки и правительства, по видимому, не пожелают уступить контроль над современными банковскими системами. Хотя им придется это сделать. Все, что потребуется, чтобы эле к-тронные деньги вошли в моду, - это появление некоторого заслуживающего доверия учреждения, желающего преобразовывать цифры в реальные деньги. Протоколы электронных денег очень сложны . Дальше мы шаг за шагом построим один из них . Более подробно об этом протоколе можно прочитать в [318, 339, 325, 335, 340]. Но помните, это только один из иротоко-лов электронных денег, существуют и другие . Протокол №1 Первые несколько протоколов представляют собой физические аналоги криптографических протоколов . Следующий протокол является упрощенным физическим протоколом для анонимных денежных чеков : (1) Алиса готовит 100 анонимных денежных чеков ио $1000 каждый. (2) Алиса вкладывает каждый из них и листок копировальной бумаги в 100 различных конвертов и относит все конверты в банк. (3) Банк открывает 99 конвертов и убеждается, что каждый чек выписан на $1000. (4) Банк подписывает единственный оставшийся нераспечатанным конверт . С помощью копировальной бумаги подпись переводится на чек. Банк возвращает нераспечатанный конверт Алисе и списывает $1000 с ее счета. (5) Алиса вскрывает конверт и отдает денежный чек продавцу . (6) Продавец проверяет банковскую подпись, убеждаясь в законности денежного чека . (7) Продавец относит денежный чек в банк. (8) Банк проверяет свою подпись и начисляет $1000 на счет продавца. Этот протокол работает. Банк не видит денежный чек, который он подписывает, поэтому, когда продавец принесет чек в банк, банк никогда не узнает, что это чек Алисы. Благодаря подписи банк убежден в законности чека. А из-за протокола "разрезать и выбрать" (см. раздел 5.1) банк уверен, что нераспечатанный денежный чек - на сумму $1000 (а не $100000 или $100000000). Он проверяет остальные 99 конвертов, поэтому вероятность обмана банка Алисой составляет только 1 процент. Конечно, банк назначит за обман достаточно большой штраф, такой, чтобы не стоило мошенничать. Ведь если банк просто откажется подписать последний чек (если Алиса поймана на обмане), не штрафуя Алису, она продолжит свои попытки, пока ей не повезет. Лучшее сре д-ство устрашения - это тюремное заключение. Протокол №2 Предыдущий протокол не дает Алисе написать чек на сумму, отличную от заявленной, но он не мешает ей отксерокопировать чек и использовать его дважды. Это называется проблемой повторной оплаты; для ее решение придется усложнить протокол: (1) Алиса готовит 100 анонимных денежных чеков по $1000 каждый. К каждому денежному чеку она добавляет уникальную строку, выбранную случайным образом и достаточно длинную, чтобы вероятность и с-пользования этой строки другим человеком была пренебрежимо мала. (2) Алиса вкладывает каждый из них и листок копировальной бумаги в 100 различных конвертов и относит все конверты в банк. (3) Банк открывает 99 конвертов и убеждается, что каждый чек выписан на $1000. (4) Банк подписывает единственный оставшийся нераспечатанным конверт . С помощью копировальной бумаги подпись переводится на чек. Банк возвращает нераспечатанный конверт Алисе и списывает $1000 с ее счета. (5) Алиса вскрывает конверт и отдает денежный чек продавцу. (6) Продавец проверяет банковскую подпись, убеждаясь в законности денежного чека . (7) Продавец относит денежный чек в банк. (8) Банк проверяет свою подпись и по своей базе данных убеждается, что денежный чек с такой уникальной строкой ранее не депонировался. Если это так, банк начисляет $1000 на счет продавца и записывает уникальную строку в базу данных. (9) Если денежный чек уже был депонирован ранее, банк отказывается принять его. Теперь, если Алиса попытается расплатиться ксерокопией денежного чека или продавец попытается депон и-ровать денежный чек повторно, используя ксерокопию , банк узнает об этом. Протокол №«3 Предыдущий протокол защищает банк от мошенников, но не устанавливает их личность . Банк не знает, попытался ли человек, который получил чек (банк ничего не знает об Алисе ), обмануть продавца, или продавец пытается обмануть банк. Эта неоднозначность исправляется следующим протоколом : (1) Алиса готовит 100 анонимных денежных чеков по $1000 каждый. К каждому денежному чеку она добавляет уникальную строку, выбранную случайным образом и достаточно длинную, чтобы вероятность и с-пользования этой строки другим человеком была пренебрежимо мала. (2) Алиса вкладывает каждый из них и листок копировальной бумаги в 100 различных конвертов и относит все конверты в банк. (3) Банк открывает 99 конвертов и убеждается, что каждый чек выписан на $1000, и что все случайные строки различны. (4) Банк подписывает единственный оставшийся нераспечатанным конверт . С помощью копировальной бумаги подпись переводится на чек. Банк возвращает нераспечатанный конверт Алисе и списывает $1000 с ее счета. (5) Алиса вскрывает конверт и отдает денежный чек продавцу. (6) Продавец проверяет банковскую подпись, убеждаясь в законности денежного чека . (7) Продавец просит Алису написать случайную идентификационную строку на денежном чеке. (8) Алиса выполняет это. (9) Продавец относит денежный чек в банк. (10) Банк проверяет свою подпись и по своей базе данных убеждается, что денежный чек с такой уникальной строкой ранее не депонировался. Если это так, банк начисляет $1000 на счет продавца и записывает уникальную строку в базу данных. (11) Если уникальная строка уже есть в базе данных, банк отказывается принять денежный чек и сравнивает идентификационную строку на денежном чеке с хранимой в базе данных. Если они совпадают, то банк убеждается, что копия была снята с чека продавцом. Если идентификационные строки различны, то банк знает, что чек был скопирован человеком, который его готовил. В этом протоколе предполагается, что продавец не может изменить идентификационную строку после того, как Алиса напишет ее на денежном чеке. На денежном чеке мог бы находиться ряд небольших квадратов, кот о-рые по требованию торговца Алиса должна заполнить крестиками или ноликами. Денежный чек мог бы быть сделан из бумаги, которая рвется при исправлениях. Так как продавец и банк взаимодействуют после того, как Алиса потратит деньги, продавцу могут всучить плохой денежный чек. Практические реализации этого протокола могли бы потребовать от Алисы подождать у кассового аппарата, пока продавец будет разбираться с банком, точно также, как это происходит сегодня при обработке платежей с использованием кредитных карточек. Алиса также может приспособиться и к этому. Она может потратить копию денежного чека второй раз, н а-писав ту же самую идентификационную строку на этапе (7). Если продавец не ведет базу данных уже получе н-ных денежных чеков, он будет введен в заблуждение. Эту проблему устраняет следующий протокол. Протокол №»4 Если окажется, что человек, выписавший банковский чек, попытался обмануть продавца, то банк может захотеть личность этого человека. Чтобы сделать это, придется вернуться от физических аналогий в мир крипт о-графии. Чтобы спрятать имя Алисы в электронном чеке, можно воспользоваться методикой разделения секрета . (1) Алиса готовит n анонимных денежных чеков на заданную сумму. Каждый из чеков содержит уникальную строку, X, полученную случайным образом и достаточно длинную, чтобы вероятность появления двух одинаковых строк была пренебрежимо мала . На каждом чеке есть также n пар битовых строк идентификации, /2, /„. (Именно так, n различных пар на каждом чеке.) Каждая из этих пар генерируется следующим образом: Алиса создает строку, содержащую ее имя, адрес и прочие сведения, требуемые банком . Затем она делит эту строку на две части, исиользуя протокол деления секрета (см. раздел 3.6) и вручает каждую часть, используя протокол вручения битов. Наиример, I37 состоит из двух частей: /37l и /37r . Каждая часть представляет собой пакет врученных битов, который Алису могут попросить открыть, и чье открытое содержание может быть мгновенно пров е-рено. Любая пара (например, I37l и I37r , но не I37l и I38r ), раскрывает личность Алисы. Каждый из чеков выглядит следующим образом: Сумма Уникальная строка: X Строки идентификации: I1 = (I1 , I1 ) 12 = (12 L , 12 R ) In = (In, , In, ) (2) Алиса маскирует все n чеков с помощью протокола слепой подписи и относит чеки в банк. (3) Банк просит Алису снять маскировку с n-1 денежных чеков и убеждается, что все они правильно офор м-лены. Банк проверяет сумму, уникальную строку и просит Алису раскрыть все строки идентификации. (4) Если банк удовлетворен, не обнаружив попыток мошенничества, он подписывает оставшийся замаскир о-ванный денежный чек. Банк возвращает замаскированный чек Алисе и списывает сумму с ее счета. (5) Алиса снимает маскировку с чека и тратит его у продавца. (6) Продавец проверяет банковскую подпись, убеждаясь в законности денежного чека . (7) Продавец случайным образом просит Алису раскрыть либо левые, либо правые половины всех строк идентификации на чеке. По сути, продавец выдает Алисе случайную n-битовую строку-селектор, b1, b2, bn. Левую или правую половину I, откроет Алиса, зависит от значения bi, 0 или 1. (8) Алиса выполняет это. (9) Продавец относит денежный чек в банк. (10) Банк проверяет свою подпись и по своей базе данных убеждается, что денежный чек с такой уникальной строкой ранее не депонировался. Если это так, банк начисляет указанную сумму на счет продавца и запи- 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 [ 34 ] 35 |