Авторизация. Наиболее распространенные EFTPOS-протоколы
Для обеспечения информационного обмена между EFTPOS-терминалом и хост-компьютером процессингового центра разработан ряд стандартов, называемых POS-протоколами. Стандарты POS-протоколов могут содержать список разрешенных типов транзакций, форматы запросов на авторизацию, ответов процессингового центра, требования по аутентификации терминала, центрального компьютера, требования по верификации карточек, алгоритмы защиты передаваемой информации. В иерархии протоколов POS-протокол занимает наивысший уровень. Для передачи информации POS-протокол может использовать один из коммуникационных протоколов, занимающих более низкие уровни в иерархии передачи информации. Вместе с тем, POS-протокол не содержит описание коммуникационного протокола и обычно не зависит от него.
В настоящее время существует значительное количество протоколов для передачи сообщений от EFTPOS-терминалов центральному компьютеру. Наибольшее распространение среди них получили ISO8583 и его варианты (например, AS2805, используемый в Австралии и Германии), Visa II, Visa MDC, APACS 30, APACS 40, APACS 50, SPDH.
Протоколы Visa II, Visa MDC первоначально были разработаны для использования на американском рынке. Протокол Visa II обладает рядом ограничений и не определяет функции приложений. Протокол Visa MDC создан на основе протокола Visa II, дополненного функцией загрузки стоп-листа. Протокол APACS 30 был создан в конце 1970 г. Организацией межбанковских исследований в Великобритании с целью эффективного проведения «он-лайн» авторизации. Этот протокол стал основой для протокола Visa «В».
В середине 1980 г. стандарт APACS 30 был дополнен функцией электронного сбора проведенных транзакций (Data Capture), а также функциями защиты, сверки проведенных транзакций и
требованиями к коммуникационному протоколу. Так появился протокол APACS 40. В конце 1980 г. на базе протокола APACS 40 был создан протокол APACS 50, который отличается от APACS 40 наличием средств передачи пакетов проведенных транзакций и загрузки стоп-листов.
Стандарт ISO8583 был разработан специально для передачи сообщений финансовой транзакции по пластиковой карточке. Он содержит определения форматов сообщений, правила передачи сообщений и не акцентирует внимание на определении каких-либо дополнительных функций (типов коммуникаций, интерфейса с оператором) и использовании конкретного способа защиты информации. В разных странах были разработаны собственные модификации этого протокола, поэтому в настоящее время существует множество его вариантов.
Протокол SPDH (Stondart POS Device Handler) - спецификация, разработанная компанией ACI Ltd. SPDH не является национальным или международным стандартом, однако, в силу широкого распространения в мире системы ACI BASE24 SPDH стал промышленным стандартом de facto. Основное назначение протокола SPDH - обеспечить гибкое подключение POS-систем к центру авторизации (хост-компьютеру процессингового центра). Спецификация включает только форматы сообщений и коммуникационный протокол.
Способ проведения авторизации и передачи списка проведенных транзакций
По способам проведения авторизации и передачи списка транзакций стандарты можно условно разделить на три группы.
Стандарты первой группы предусматривают разделение во времени электронной авторизации и передачи списка транзакций. Авторизация проводится в режиме реального времени. Информация о проведенных транзакциях поступает при сборе и учете торговых чеков (слипов). К этой группе относятся стандарты Visa «A», Visa «В», APACS 30. Остальные стандарты также могут быть использованы для передачи транзакций типа «только авторизация», но это не является их основным назначением.
Стандарты второй группы также предусматривают разделение во времени электронной авторизации и передачи списка транзакций. Но, в отличие от первой группы, авторизация проходит либо в режиме реального времени путем обмена информацией с хост-компьютером системы, либо в «оф-лайн» режиме, путем сверки номера карточки со стоп-листом, размещенном непосредственно в терминале. Информация о проведенных транзакциях в конце дня поступает в процессинговый центр в электронном виде. К этой группе относятся стандарты Visa MDC, Visa II, APACS 30, APACS 50 и некоторые варианты SPDH.
Стандарты третьей группы предусматривают электронную авторизацию в режиме реального времени с одновременной передачей информации о проведенных транзакциях. К данной группе относятся протоколы ISO8583, APACS 40 и некоторые варианты SPDH.
Факторы, влияющие на величину коммуникационных расходов
Коммуникационные расходы зависят от типа и объема передаваемых данных, скорости передачи информации, способа передачи информации о проведенных транзакциях (одновременно с авторизацией или нет).
Одно из простейших отличий типов передаваемых данных - возможность их передачи с использованием простого коммуникационного протокола. Если данные двоичные, то коммуникационный протокол является более сложным, а метод коррекции ошибок - более интеллектуальным. В случае, если передаются данные типа ASCII, может быть использован более простой коммуникационный протокол.
Другим фактором является длина сообщений.
Формат сообщений, используемый в стандарте ISO8583, описывает более длинные (в среднем в два раза длиннее) сообщения, чем в протоколе APACS 40, что косвенно влияет и на скорость проведения транзакции.
В случаях с разделенными во времени авторизацией и передачей информации о транзакции коммуникационные расходы увеличиваются, так как фактически каждая транзакция передается дважды.
Гибкость в использовании протокола для новых приложений
Протоколы ISO8583 и SPDH содержат определения всех полей в пределах сообщений для всех принимаемых запросов. Однако сообщения ISO8583, помимо основной информации, содержат «национальные» или «частные» поля, которые требуют заполнения в зависимости от особенностей использования в конкретной стране. Это приводит не только к избыточности передавемых данных, но и к появлению национальных вариантов протоколов.
Защита сообщений
Протоколы Visa II, Visa MDC и APACS 30 не включают каких-либо эффективных средств защиты от имитации (фальсификации) терминала или хост-компьютера, от удаления из потока или добавления в поток дополнительных транзакций. Протокол APACS 50 содержит защищенные алгоритмы вхождения в связь (handshake) и защиту с использованием паролей.
Стандарты ISO8583 и SPDH имеют возможность передачи защищенной информации, но не описывают какой-либо конкретной системы защиты. Некоторые варианты этих протоколов используют шифрование транзакций с использованием систем главных-сессионных ключей, другие применяют уникальный ключ для шифрования каждой отдельной транзакции (DUKPT1). Следует отметить, что система защиты, основанная на использовании сессионных ключей, требует значительного объема памяти для хранения мастер-ключа в POS-терминале или PIN-клавиатуре. В том случае, если главный ключ будет извлечен из одного POS-терминала, нарушится защита всех остальных терминалов, использующих тот же главный ключ, и придется заменять ключи во всех терминалах сети.
В протоколе APACS 40 предусмотрено использование уникального ключа для каждой транзакции, при этом ключ для новой транзакции вырабатывается на основе ключа, использованного в предыдущей транзакции, и части содержимого предыдущей и новой транзакций. Коды аутентификации сообщений, добавляемые к каждой транзакции, обеспечивают хорошую защиту от ошибок.
PIN-верификация
Протоколы Visa MDC и APACS 30 не содержат спецификации для работы с PIN-клавиатурой, то есть не предусматривают передачи PIN-кода для верификации ни в открытом, ни в зашифрованном виде. При необходимости эти протоколы могут быть модифицированы.
Протоколы ISO8583 и SPDH поддерживают верификацию PIN-кода в режиме реального времени, но не включают спецификаций защиты PIN-кода. Протокол Visa II обеспечивает верификацию PIN-кода с использованием метода отдельно извлекаемых из памяти ключей.
Протокол APACS 40 использует систему уникальных ключей, аналогичную применяемой при защите сообщений (с использованием кодов аутентификации сообщений), но ключи шифрования PIN-кода криптографически независимы от ключей шифрования транзакций. Это обеспечивает максимальную криптографическую защиту на уровне протокола.
1 DUKPT - Derived Unique Key Per Transaction.