Кратко

  • В CyberCash 0.8 программа покупателя подписывала и шифровала карточные данные, продавец пересылал сообщение серверу, а банк-эквайер выполнял авторизацию.
  • Банк выбирал, получит ли продавец фрагмент номера или все цифры. При споре действовал отдельный запрос к серверу с паролем и записью обращения.

Сообщение проходило сквозь магазин

Для продажи в сети магазину нужен ответ банка. Сам номер карты можно было вести иным маршрутом. В RFC 1898 покупатель выбирал зарегистрированную карту; программа шифровала реквизиты, подписывала их и привязывала к хешу счета. Продавец добавлял сведения об авторизации и пересылал пакет CyberCash. Сервер проверял подписи, обращался к банку-эквайеру, затем возвращал результат. Магазин участвовал в передаче, а не обязательно становился хранителем всей карточной информации.

Первый открытый проект документа датирован 8 июля 1995 года, информационный RFC вышел в феврале 1996-го. Описанная версия 0.8 уже обслуживала кредитные карты; электронные наличные были обозначены как будущая возможность. Связь с банковской системой была основой конструкции: именно банк принимал решение по операции.

Правило доступа хорошо видно в ответе CM6. Поле card-prefix показывало первые две и последние четыре цифры. Вместо него мог прийти полный card-number, если банк продавца разрешал такой режим. Для сопоставления покупок одной картой существовал хеш с солью — полезная метка без выдачи номера. Сопоставлять операции и владеть платежным реквизитом означало разные права.

Спор открывал запасной ход

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

Система не обещала сделать номер недоступным навсегда. Она переносила право доступа из кассы к банку и серверу. Покупатель видел кнопку оплаты; судьбу его реквизитов решали настройки ответа и процедура исключения.

Источники