СПОСОБ УПЛОТНЕНИЯ СООБЩЕНИЙ, СООТВЕТСТВУЮЩЕЕ УСТРОЙСТВО И ПРОГРАММА
METHOD OF COMPRESSING MESSAGES, CORRESPONDING DEVICE AND PROGRAM

Область техники
Настоящее изобретение относится к области электронных платежных устройств. В частности, настоящее изобретение касается нового типа электронного платежного устройства, которое может быть сдвоенным. Изобретение относится к передаче данных между двумя терминалами, образующими электронное платежное устройство.
Уровень техники
В настоящее время для оплаты покупок товаров или услуг внутри торговых точек в основном применяют платежные терминалы. Как правило, эти терминалы содержат устройство считывания электронной карточки и устройство считывания магнитной карточки. Они содержат также экран, позволяющий, в частности, просматривать информацию, такую как суммы транзакций, и клавиатуру для введения этих сумм, а также секретных кодов, вводимых клиентами, или сенсорный экран.
Наиболее современные терминалы соединены с автоматическими кассами и/или с компьютерами через сеть связи. Такие соединения могут быть проводными, например, типа Ethernet, или беспроводными. Эти соединения позволяют, например, подключаться к серверу аутентификации или к банковскому серверу с целью получения разрешения на списание денег.
Для установления связи с внешними устройствами, в частности, с банковскими серверами платежный терминал использует одно или несколько средств соединения. Одно из этих средств состоит в использовании сети беспроводной связи, например, GPRS (от английского "General Packet Radio Service"). В этом случае платежный терминал работает автономно. При этом платежный терминал оснащен SIM-картой (от английского "Subscriber Identification Module"). Речь идет о микросхеме, содержащей микроконтроллер и память. Как правило, эта SIM-карта соответствует телефонному абонементу (типа передачи данных), на который должен быть подписан коммерсант. Кроме того, что абонемент этого типа является относительно дорогим, осуществление функции связи должен обеспечивать терминал. Таким образом, в дополнение к платежным функциям терминал должен управлять функциями связи, которые, естественно, не являются функциями, свойственными платежному терминалу.
Чтобы решить проблему стоимости абонемента, связанного, в частности, со связью GPRS, новые типы терминалов сообщаются, например, через сеть типа "WiFi" (от английского "Wireless Fidelity"), При этом коммерсант не обязан подписываться на специальный абонемент. Платежный терминал может подключаться к сети WiFi коммерсанта и получать доступ, как при проводной связи, к банковским серверам. Однако в этом случае использование терминала ограничено зоной охвата сети WiFi, что не совместимо с мобильным использованием (например, для врача, посещающего пациентов на дому, или для шофера такси).
На фиг.1 представлена общая материальная архитектура, в которой участвует платежный терминал для обеспечения осуществления банковской транзакции, когда терминал не является автономным (CAS 1) и когда он является автономным (CAS 2).
Таким образом, существует потребность в платежном терминале, который можно использовать для мобильных приложений, то есть с применением беспроводной связи, и одновременно минимизировать стоимость применения такого платежного терминала. Для этого предлагается объединить платежный терминал с существующим терминалом связи (например, iPhone™ или iPod™), чтобы получить сдвоенный терминал. Естественно, сдвоенный терминал имеет множество функций, которые отсутствуют в платежном терминале, если он не сдвоен.
Проблема заключается в том, что любой новый платежный терминал должен пройти серию сертификационных тестов. Эти сертификационные тесты называются тестами "PCI/PED"). Они являются исключительно дорогими. Поэтому конструкторы платежных терминалов стараются проходить эти тесты с достаточным основанием.
Таким образом, существует потребность в платежном терминале, который можно объединить с терминалом связи для получения сдвоенного терминала и для которого не обязательно проводить новые сертификационные тесты каждый раз, когда необходимо объединить в пару новую версию или новый тип терминала связи (например, новый iPhone™ или новый iPod™).
Раскрытие изобретения
Изобретение не имеет этих недостатков известных решений. В частности, объектом изобретения является способ уплотнения сообщений, передаваемых между платежным терминалом и терминалом связи через соединение между указанным платежным терминалом и указанным терминалом связи с использованием протокола iAP. Согласно изобретению, такой способ содержит:
- этап инициализации внешнего интерфейса связи с указанным терминалом связи;
- первый этап передачи указанным платежным терминалом в указанный терминал связи запроса на создание удаленных виртуальных каналов через указанный внешний интерфейс связи;
- этап создания внутри указанного платежного терминала локальных виртуальных каналов, соответствующих указанным удаленным виртуальным каналам;
- второй этап передачи фреймов данных, связанных с указанными локальными виртуальными каналами, через указанный внешний интерфейс связи.
Таким образом, изобретение позволяет осуществлять передачу данных через множество каналов, используя последовательный интерфейс связи.
Согласно частному отличительному признаку, указанный внешний интерфейс связи является интерфейсом RS232.
Согласно частному варианту осуществления, указанный способ дополнительно содержит перед указанным этапом инициализации интерфейса связи этап аутентификации указанного платежного терминала в указанном терминале связи, включающий в себя:
- этап получения сертификата аутентификации; и
- этап проверки разрешения для платежного терминала на его объединение с указанным терминалом связи при помощи указанного сертификата аутентификации.
Согласно частному варианту осуществления, указанный второй этап передачи фреймов данных, связанных с указанными локальными виртуальными каналами, включает в себя:
- этап проверки внутри указанных виртуальных каналов наличия фрейма TLV, предназначенного для терминала связи;
и, если один из каналов содержит такой фрейм:
- этап инкапсуляции этого фрейма TLV в сообщение iAP.
Согласно частному отличительному признаку, указанные виртуальные каналы принадлежат к группе, в которую входят:
- виртуальный канал «транзакция» для обмена данными, связанными с банковскими транзакциями;
- виртуальный канал «конфигурация» для обмена служебной информацией;
- виртуальный канал "SSL" для шифрования передачи данных между указанным платежным терминалом и указанным терминалом связи;
- виртуальный канал «Принтер» для передачи данных печати;
- виртуальный канал «Штрихкод» для управления считыванием штрихкодов.
Согласно частному отличительному признаку, виртуальный канал создают в виде очереди, при этом указанная очередь выполнена с возможностью обеспечения приема, записи и стирания фреймов TLV, предназначенных для указанного виртуального канала.
Объектом изобретения является также устройство уплотнения сообщений, передаваемых между платежным терминалом и терминалом связи посредством соединения между указанным платежным терминалом и указанным терминалом связи с использованием протокола iAP.
Согласно изобретению, такое устройство содержит:
- средства инициализации внешнего интерфейса связи с указанным терминалом связи;
- средства передачи указанным платежным терминалом в указанный терминал связи запроса на создание удаленных виртуальных каналов через указанный внешний интерфейс связи;
- средства создания внутри указанного платежного терминала локальных виртуальных каналов, соответствующих указанным удаленным виртуальным каналам;
- средства передачи фреймов данных, связанных с указанными локальными виртуальными каналами, через указанный внешний интерфейс связи.
Согласно предпочтительному варианту осуществления, различные этапы заявленного способа осуществляет компьютерная программа, причем эта программа содержит программные команды, предназначенные для исполнения процессором обработки данных платежного терминала в соответствии с изобретением, и разработана для управления исполнением различных этапов этого способа.
Следовательно, объектом изобретения является также программа, выполненная с возможностью исполнения компьютером или процессором обработки данных, причем эта программа содержит команды для управления исполнением этапов вышеупомянутого способа.
Эта программа может использовать любой язык программирования и иметь вид исходного кода, объектного кода или промежуточного кода между исходным кодом и объектным кодом, как в частично компилированном виде, так и в любом другом требуемом виде.
Объектом изобретения является также носитель информации, считываемый процессором данных и содержащий команды вышеупомянутой программы.
Носитель информации может быть любым устройством, на котором можно записать программу. Например, носитель может содержать средство хранения, такое как ROM, например, CD ROM или ROM микроэлектронной схемы, или магнитное средство записи, например, дискета (floppy disc) или жесткий диск.
С другой стороны, носитель информации может быть передаваемым носителем, таким как электрический или оптический сигнал, который может быть передан через электрический или оптический кабель, по радио или при помощи других средств. В частности, программу в соответствии с изобретением можно загружать дистанционно через сеть типа Интернет.
Альтернативно носитель информации может быть интегральной схемой, в которую включена программа, причем эта схема выполнена с возможностью исполнения или участия в исполнении рассматриваемого способа.
Согласно варианту выполнения, изобретение осуществляют при помощи программных и/или аппаратных компонентов. В связи с этим термин «модуль» может соответствовать в этом документе как программному компоненту, так и аппаратному компоненту или совокупности аппаратных и программных компонентов.
Программный компонент соответствует одной или нескольким компьютерным программам, одной или нескольким подпрограммам программы или, в целом, любому элементу программы, который может исполнять функцию или набор функций согласно нижеследующему описанию. Такой программный компонент выполнен с возможностью исполнения процессором данных физического объекта (платежный терминал) и с возможностью получения доступа к аппаратным ресурсам этого физического объекта (запоминающие устройства, носители записи, шины связи, электронные карты ввода/вывода, интерфейсы пользователя и т.д.).
Аналогично, аппаратный компонент соответствует любому элементу аппаратного средства (или hardware), который может исполнять функцию или набор функций согласно нижеследующему описанию для соответствующего модуля. Речь может идти о программируемом аппаратном компоненте или о компоненте с встроенным процессором для исполнения программы, например, об интегральной схеме, смарт-карте, карте памяти, электронной карточке для исполнения микропрограммы (firmware) и т.д.
Список чертежей
Другие отличительные признаки и преимущества изобретения будут более очевидны из нижеследующего описания предпочтительного варианта выполнения, представленного в качестве иллюстративного и не ограничительного примера, со ссылками на прилагаемые чертежи, на которых, на которых изображено следующее.
Фиг.1 (уже описана) - материальная архитектура платежной системы, в которой участвует платежный терминал.
Фиг.2 - - блок-схема различных программных уровней, применяемых внутри платежного терминала.
Фиг.3 - способ уплотнения согласно варианту выполнения.
Фиг.4 - формат сообщения iAP.
Фиг.5 - очереди, соответствующие виртуальным каналам, созданным во время уплотнения.
Фиг.6 - общий вид материальной архитектуры устройства уплотнения.
Осуществление изобретения
1.1. Принцип изобретения
Изобретение преследует цель использования уже существующего платежного терминала для его объединения с терминалом связи (например, iPhone™ или iPod™) без прохождения обязательной сертификации (в рамках сертификации PCI/PED) комплекса, образованного терминалом связи и платежным терминалом.
Для этого изобретением предлагается использовать устройство уплотнения, которое осуществляет двунаправленное уплотнение сообщений, передаваемых между платежным терминалом и терминалом связи. Предложенная программная архитектура позволяет использовать существующие приложения, уже утвержденные для решений, работающих, когда терминал связи и платежный терминал обмениваются данными в протоколе IP (называемом также "stack IP"), с мобильными объектами, не поддерживающими использование "stack IP" напрямую (типа iPhone™).
В частности, уплотнение осуществляют при помощи протокола iAP, являющегося причиной проблемы, которую призвано решить изобретение (сужение, образуемое протоколом iAP). Так, платежный терминал можно рассматривать как аксессуар терминала связи. По сути дела, терминал связи, содержащий множество функций, которые не могут присутствовать в платежном терминале, предпочтительно может дополнять работу последнего.
Устройство уплотнения осуществляет последовательность этапов, приводящих к передаче и/или приему платежным терминалом данных в направлении терминала связи и от него. Согласно частному варианту выполнения, способ уплотнения сообщения при помощи соединения, использующего протокол iAP, включает в себя: "iPod Accessory Protocol/iAP" (известный также под названием Apple Accessory Protocol/AAP) используют для связи между iPod™/iPhone™ и аксессуарами, такими как приемные станции и адаптеры для автомобиля. Протокол iAP в основном используют для контроля считывания iPod/iPhone и для передачи данных, таких как метаданные на текущей считываемой дорожке, или альбомные обложки. При помощи недавних версий iAP аксессуары могут также сообщаться с приложениями, работающими на iPhone OS.
Однако iAP и его применение на терминалах Apple страдают от главной проблемы: пропускной способности. Действительно, iAP имеет небольшую пропускную способность, которая составляет примерно от 19200 до 57600 бод в зависимости от используемых версий и от передаваемых данных. Действительно, связь между терминалами и аксессуарами осуществляют при помощи интерфейса RS232 (последовательный интерфейс), применяемого в протоколе iAP.
Однако этот интерфейс не приспособлен для передачи данных между платежным терминалом и терминалом связи. Эту передачу данных лучше осуществлять через интерфейс USB. Этот интерфейс USB позволяет передавать с высокой скоростью большие объемы информации. В частности, сообщение между терминалом связи и платежным терминалом осуществляют при помощи интерфейса USB и передачу данных осуществляют посредством эмуляции последовательного соединения с применением протокола РРР ("Point-to-Point Protocol"), который, в свою очередь, использует протокол IP ("Internet Protocol"), позволяющий платежному терминалу и терминалу связи иметь свой адрес IP. Что касается данных разной длины, то их передают при помощи так называемой технологии "TLV" ("Type-length-value", "Тип-длина-значение").
Иначе говоря, связь USB между двумя терминалами, конечно, является более быстрой, но при этом осуществляют многочисленные инкапсуляции данных. В результате происходит значительное снижение эффективности соединения USB: многочисленные инкапсуляции (IP, РРР, USB) не позволяют использовать эти же технологии для передачи через интерфейс RS232.
Кроме того, чтобы устанавливать связь с терминалами Apple, необходимо применять сетевые «жаргоны». Протокол iAP определяет четыре «жаргона», которые являются каналами обмена данных между терминалом связи Apple™ (iPhone™, iPod™ и т.д.) и аксессуаром (приемная станция, шлем и т.д.), подключенным к терминалу связи. Четырьмя «жаргонами» являются: General Lingo (общий), Display Remote Lingo (переход дисплея), Extended Interface Lingo (расширенный интерфейс), Digital Audio Lingo (передача данных аудио). С терминалом связи невозможно использовать другие средства связи. Таким образом, изобретателям пришлось применить технологию для обеспечения передачи данных, адаптированную к платежному терминалу. Действительно, средства передачи («жаргоны»), имеющиеся в терминале связи, использующем протокол iAP, не приспособлены для применения платежных приложений.
Таким образом, изобретение предлагает использовать уровень соединения, который позволяет осуществлять передачу данных между платежным терминалом и терминалом связи. Этот уровень соединения позволяет управлять потоком данных (в виде фреймов TLV), проходящим между терминалами.
На фиг. 2 показана блок-схема, иллюстрирующая программные уровни, применяемые внутри платежного терминала согласно варианту выполнения.
Программные уровни включают в себя так называемый «нижний» уровень, содержащий программные модули, напрямую взаимодействующие с аппаратными компонентами терминала. Этот «нижний» уровень позволяет управлять аппаратными устройствами платежного терминала и содержит драйверы ("drivers" на английском языке). Этот «нижний» программный уровень используют при помощи операционной системы ("OS: Operating System" на английском языке). Операционная система содержит, в частности, библиотеки ("libraries" на английском языке). Саму операционную систему использует администратор приложения ("Manager"), который управляет различными приложениями платежного терминала. Среди возможных приложений можно указать приложения для осуществления платежа (простого, отложенного, многократного), управление бонусными карточками, электронный кошелек и т.д.
1.2 Описание варианта выполнения
Для обеспечения передачи данных при помощи связи типа «последовательной», не адаптированной для применения в рамках связи между платежным терминалом и терминалом связи типа iPhone™ или iPod™, изобретение предлагает в данном варианте осуществления применять уплотнение сообщений.
В частности, учитывая поставленную задачу использования уже существующего платежного терминала для его объединения с терминалом связи (iPhone™ или iPod™) без обязательной сертификации (в рамках сертификации PCI/PED) комплекса, образованного терминалом связи и платежным терминалом, изобретатели предложили простое решение, которое можно обновлять. Для этого изобретатели применили устройство уплотнения, которое выполняет роль интерфейса между платежным терминалом и iPhone™ или iPod™.
В частности, в варианте выполнения этот интерфейс является программным или аппаратным интерфейсным модулем, который позволяет, с одной стороны, передавать или принимать сообщения от мобильного терминала. Согласно первому частному варианту выполнения, устройство уплотнения применяют внутри платежного терминала. За счет этого оно использует средства защиты, применяемые внутри платежного терминала (средства, применяемые для обеспечения сертификации PCI-PED). Согласно второму частному варианту выполнения, интерфейсное устройство уплотнения применяют внутри электронной карточки соединения между платежным терминалом и мобильным терминалом. В этом втором варианте выполнения электронная карточка соединения содержит печатную схему, на которой закреплены:
- первый соединитель, позволяющий соединить карточку с платежным устройством,
- второй соединитель, позволяющий соединить карточку с терминалом связи, и
- третий соединитель, позволяющий соединить карточку с внешним устройством (например, устройством ввода).
Согласно изобретению, интерфейсное устройство уплотнения конфигурировано для осуществления способа уплотнения сообщений между платежным терминалом и мобильным терминалом. Этот способ уплотнения, представленный на фиг.3, с точки зрения платежного терминала содержит следующие этапы:
- этап инициализации (311) внешнего интерфейса связи с указанным терминалом связи;
- первый этап передачи (312) указанным платежным терминалом в указанный терминал связи запроса на создание удаленных виртуальных каналов через указанный внешний интерфейс связи;
- этап создания (313) внутри указанного платежного терминала локальных виртуальных каналов, соответствующих указанным удаленным виртуальным каналам;
- второй этап передачи (32) фреймов данных, связанных с указанными локальными виртуальными каналами, через указанный внешний интерфейс связи.
Таким образом, платежный терминал может передавать данные в терминал связи через виртуальные каналы.
Этими виртуальными каналами являются:
- виртуальный канал «транзакция» для обмена данными, связанными с банковскими транзакциями;
- виртуальный канал «конфигурация» для обмена служебной информацией (синхронизация, установка времени и т.д.);
- канал "SSL", названный по соответствующему протоколу, для защиты передачи данных между платежным терминалом и терминалом связи;
- канал «Принтер» для передачи так называемых данных печати, таких как данные, получаемые в результате транзакции (обычно называемые «чеком»);
- виртуальный канал «Штрихкод» для управления считыванием штрихкодов, если платежный терминал имеет устройство считывания штрихкода.
Перед использованием внешнего интерфейса связи с терминалом связи заявленный способ дополнительно содержит первый этап аутентификации (30) указанного платежного терминала перед указанным терминалом связи. Этот этап позволяет убедиться, что платежный терминал санкционирован для соединения с терминалом связи.
С точки зрения платежного терминала этот первый этап аутентификации (30) включает в себя этап получения (301) сертификата (например, от соответствующего  процессора, находящегося внутри платежного терминала) и этап проверки (302) типа «вызов/ответ», в ходе которого терминал связи проверяет санкционирование платежного терминала на соединение. Предназначенный для этого процессор, установленный внутри платежного терминала, может быть процессором, поставляемым изготовителем терминала связи (например, Apple™).
Предпочтительно в не показанном варианте выполнения изобретения этот первый этап аутентификации может сопровождаться вторым этапом аутентификации, на котором доказательство должен предъявлять не платежный терминал, а терминал связи. Таким образом, задачей этого второго этапа является проверка того, что терминал связи санкционирован для объединения с платежным терминалом, с которым его объединяют. Этот этап аутентификации тоже может быть этапом типа «вызов/ответ» или любого другого соответствующего типа. Предпочтительно на этом втором этапе аутентификации можно использовать криптографическое устройство, включенное в SIM-карту терминала связи. Таким образом, это использование с целью взаимной аутентификации позволяет избежать размещения чувствительных данных в терминале связи (который для этого не предусмотрен) и избежать разработки для этой цели дорогого решения.
Согласно варианту выполнения изобретения, после этапа создания (313) внутри указанного платежного терминала виртуальных каналов, соответствующих указанным виртуальным каналам, созданным терминалом связи, способ уплотнения содержит этап проверки (321) внутри указанных виртуальных каналов присутствия фрейма FLV, предназначенного для терминала связи, и, если один из каналов содержит такой фрейм, - этап инкапсуляции (322) этого фрейма FLV в сообщение iAP (3221).
Согласно частному варианту выполнения изобретения, передаваемое сообщение iAP (3221), как показано на фиг.4, имеет следующий формат:
- идентификатор «жаргона» (401) длиной 1 байт;
- идентификатор фрейма (402) длиной 1 байт;
- идентификатор транзакции (403) длиной 2 байта;
- идентификатор сеанса (соответствующий номеру виртуального канала (404)) длиной 2 байта;
- данные разной длины TLV (405);
- код контроля целостности CRC (406).
Таким образом, получают возможность существенно минимизировать данные инкапсуляции и передавать больше полезных данных при помощи ограниченного физического канала.
Согласно варианту выполнения изобретения, способ уплотнения содержит также, со стороны терминала связи, - этап проверки (323) внутри виртуальных каналов терминала связи присутствия фрейма FLV, предназначенного для платежного терминала, и, если один из каналов содержит такой фрейм, - этап инкапсуляции (324) этого фрейма FLV в сообщение iAP.
Таким образом, интерфейс связи можно использовать в двух направлениях.
В частности, в варианте выполнения виртуальные каналы, представленные на фиг.5, созданы в виде множества очередей типа "FIFO" (F1-F5 со стороны платежного терминала и F1-F5 со стороны терминала связи). Далее следует описание принципа работы этих очередей.
С точки зрения приложений (АРРх, АРРу, APPz) платежного терминала очереди являются невидимыми. Это позволяет не изменять приложения, которые уже были сертифицированы. Действительно, приложения платежного терминала используют каналы передачи данных. Таким образом, для приложений платежного терминала принцип работы остается таким же, как и в известных решениях: приложения используют каналы, необходимые для их исполнения.
Отличие заключается в «материальном выражении» канала. Действительно, там, где канал представлял собой реальный путь передачи данных между двумя устройствами, изобретение материализует канал в виде очереди типа FIFO. Например, имеется пять очередей (то есть по числу виртуальных каналов), в которые вставляют фреймы FLV (при помощи приложений платежного терминала) или из которых их получают (при поступлении от терминала связи). Очередями управляет устройство уплотнения (МР). Оно проверяет содержимое очередей (F1-F5) и инкапсулирует фреймы FLV в виде сообщений, описанных ранее со ссылками на фиг.4, и передает эти сообщения в терминал связи. Оно также принимает сообщения iAP от терминала связи и идентифицирует очередь (F1-F5), в которую необходимо поместить фрейм FLV, содержащийся в этом сообщении. Оно разбирает сообщение iAP (то есть убирает данные заголовка FLV) и на основании номера виртуального канала, содержащегося в сообщении, помещает фрейм FLV в очередь. Приложение, для которого предназначен этот фрейм FLV, извлекает его для обработки, и устройство уплотнения стирает фрейм FLV из очереди. Устройство уплотнения можно применять в виде аппаратного компонента или программного компонента.
1.3 Другие факультативные признаки и преимущества
На фиг.6 представлен вариант выполнения устройства уплотнения сообщения в соответствии с изобретением.
Например, устройство уплотнения содержит память 61, представляющую собой буферную память, блок обработки 62, оборудованный, например, микропроцессором и оперативной памятью и управляемый компьютерной программой 63, осуществляющей способ уплотнения в соответствии с изобретением.
В момент инициализации компьютерная программа 63 загружает командные коды в память для их последующего исполнения процессором блока обработки 62.
На входе блок обработки 62 получает фрейм FLV, переданный приложением платежного терминала. Этот фрейм FLV изначально предназначен для передачи через канал связи. Устройство перехватывает этот фрейм FLV и помещает его в очередь, соответствующую виртуальному каналу, который эмулирует канал связи.
Параллельно блок 62 обработки осуществляет инкапсуляцию, в виде сообщения iAP, фрейма FLV, который был вставлен в очередь, и производит передачу этого сообщения iAP в терминал связи. Согласно варианту выполнения изобретения, эту передачу осуществляют при помощи жаргона «общий» протокола iAP.
Микропроцессор блока обработки 62 осуществляет этапы способа уплотнения для обеспечения передачи сообщений iAP в соответствии с командами компьютерной программы 63.
Для этого, кроме буферной памяти 61, устройство уплотнения содержит средства инициализации внешнего интерфейса связи с указанным терминалом связи, средства передачи в указанный терминал связи запроса на создание удаленных виртуальных каналов через указанный внешний интерфейс связи, средства создания внутри указанного платежного терминала локальных виртуальных каналов, соответствующих указанным удаленным виртуальным каналам, средства передачи фреймов данных, связанных с указанными локальными виртуальными каналами, через указанный внешний интерфейс связи. Этими средствами управляет микропроцессор блока обработки 62.