RU2252451C2 - Method for performing transactions, computerized method for network server protection, transaction system, electronic wallet server, computerized online shopping method (variants) and computerized access control method - Google Patents
Method for performing transactions, computerized method for network server protection, transaction system, electronic wallet server, computerized online shopping method (variants) and computerized access control method Download PDFInfo
- Publication number
- RU2252451C2 RU2252451C2 RU2002105505/09A RU2002105505A RU2252451C2 RU 2252451 C2 RU2252451 C2 RU 2252451C2 RU 2002105505/09 A RU2002105505/09 A RU 2002105505/09A RU 2002105505 A RU2002105505 A RU 2002105505A RU 2252451 C2 RU2252451 C2 RU 2252451C2
- Authority
- RU
- Russia
- Prior art keywords
- user
- server
- transaction
- electronic wallet
- network
- Prior art date
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
Область техники, к которой относится изобретениеFIELD OF THE INVENTION
Данное изобретение в основном относится к способам и устройствам для проведения сетевых трансакций. В частности, данное изобретение относится к системам для авторизации и ведения бизнеса в сетях, таких как Интернет.This invention mainly relates to methods and devices for conducting network transactions. In particular, this invention relates to systems for authorization and doing business in networks such as the Internet.
Уровень техникиState of the art
За последние годы многие потребители осознали удобство и практичность приобретения товаров и услуг электронным способом. Доступно много способов осуществления электронной покупки (обычно называемых "е-коммерцией"), таких как телепрограммы "магазин на диване", звонок в ответ на телевизионную рекламу и им подобные. Но в последнее время прямые покупки по Интернет стали особенно популярны.In recent years, many consumers have realized the convenience and practicality of purchasing goods and services electronically. There are many ways to make electronic purchases (commonly called "e-commerce"), such as TV programs "shop on the couch", a call in response to television advertisements and the like. But recently, direct purchases over the Internet have become especially popular.
Начиная Интернет-трансакцию, покупатель обычно находит товары и/или услуги, просматривая онлайновые объявления, например такие как HTML-страницы, через браузер (средство навигации и просмотра) Всемирной Паутины (WWW). Платеж обычно осуществляется с помощью номера платежной карточки, который передается по безопасному каналу, такому как соединение с помощью слоя защищенных сокетов (SSL - Secure Sockets Layer), устанавливаемому между покупателем и продавцом. Номер платежной карточки - это обычно шестнадцатизначный номер кредитной карточки. Номера кредитных карточек обычно соответствуют стандартному формату, когда имеется четыре числа, разделяемые пробелами "0000 0000 0000 0000". Первые пять - семь цифр зарезервированы для целей обработки и идентифицируют банк-эмитент, тип карточки и т.д. Последняя, шестнадцатая, цифра используется как контрольная сумма этого шестнадцатиразрядного числа. Средние восемь - десять цифр используются для однозначной идентификации заказчика. Продавец затем обрабатывает номер платежной карточки, например, получая прямую авторизацию от эмитента карточки, после чего продавец совершает трансакцию (деловые операции, коммерческие сделки и т.п.). Стандарт SSL описан в документе "SSL протокол версии 3.0", от 18 ноября 1996 г., доступном в Интернет по адресу https://home.netscape.com/eng/ssl3/draft302.txt, ссылка на который приводится здесь для справок.Starting an online transaction, the buyer usually finds goods and / or services by viewing online ads, such as HTML pages, through a browser (navigation and viewing tool) of the World Wide Web (WWW). Payment is usually made using a payment card number that is transmitted through a secure channel, such as a connection using a Secure Sockets Layer (SSL), which is established between the buyer and the seller. A payment card number is usually a sixteen-digit credit card number. Credit card numbers usually follow the standard format when there are four numbers separated by spaces "0000 0000 0000 0000". The first five to seven digits are reserved for processing purposes and identify the issuing bank, card type, etc. The last sixteenth digit is used as the checksum of this sixteen-digit number. The average eight to ten digits are used to uniquely identify the customer. The seller then processes the payment card number, for example, receiving direct authorization from the card issuer, after which the seller makes a transaction (business operations, commercial transactions, etc.). The SSL standard is described in the document "SSL Protocol version 3.0", dated November 18, 1996, available on the Internet at https://home.netscape.com/eng/ssl3/draft302.txt, the link to which is given here for reference.
Хотя в Интернет ежедневно совершаются миллионы трансакций, обычная SSL трансакция часто обнаруживает некоторые уже выявленные недостатки. Несмотря на то что протокол SSL обычно обеспечивает безопасное соединение типа "от точки к точке" и оно не дает недобросовестным третьим лицам подслушивать и выманивать или добывать другими способами номера чужих карточек, этот протокол не дает полной уверенности в том, что номер платежной карточки сам по себе правильный или что личность, предоставившая данный номер, имеет на это законное право. Из-за большой вероятности подделки при проведении трансакций через сеть Интернет (Интернет-трансакции) большинство эмитентов платежных карточек взимают за Интернет-трансакции типа "(сама) карточка отсутствует" повышенные комиссионные. Иначе говоря, из-за повышенного риска трансакции типа "карточка отсутствует" облагаются почти всеми эмитентами карточек повышенными комиссионными для авторизации, чем если бы в руках продавца оказалась сама карточка.Although millions of transactions are made daily on the Internet, a regular SSL transaction often reveals some of the shortcomings that have already been identified. Despite the fact that SSL usually provides a secure point-to-point connection and does not allow unscrupulous third parties to eavesdrop on, trick or otherwise obtain numbers of other people's cards, this protocol does not give full confidence that the payment card number itself by is correct or that the person who provided this number has a legal right to do so. Due to the high likelihood of counterfeiting during transactions through the Internet (Internet transactions), most issuers of payment cards charge for Internet transactions such as "(card itself) no" increased fees. In other words, because of the increased risk of a “no card” transaction, almost all card issuers are subject to higher authorization fees than if the card itself were in the hands of the seller.
Для того чтобы повысить безопасность, сниженную как следствие передачи номера платежной карточки по небезопасным сетям, многие предлагали использовать смарт-карточки (чип-карточки). Смарт-карточка обычно имеет встроенный микропроцессор и память для хранения данных прямо в карточке. Эти данные могут быть, например, криптографическим ключом или электронным бумажником (кошельком), в котором записано количество имеющейся валюты. Предлагалось множество очень искусных схем, но они обычно имели один бросающийся в глаза недостаток, тот, что они все нестандартные. Другими словами, продавцы для обслуживания смарт-карточек в своих web-магазинах обычно должны были бы приобретать дополнительное, заказное программное обеспечение. Более того, и по сей день стоимость администрирования смарт-карточек, включающая запись и поддержку криптографической информации, чрезмерна.In order to increase security, which was reduced as a result of the transfer of a payment card number over insecure networks, many suggested using smart cards (chip cards). A smart card usually has a built-in microprocessor and memory for storing data directly in the card. This data can be, for example, a cryptographic key or an electronic wallet (wallet), in which the amount of available currency is recorded. Many very clever schemes were proposed, but they usually had one conspicuous flaw, one that they were all non-standard. In other words, smart card merchants in their web stores would usually have to purchase additional, custom software. Moreover, to this day the cost of administering smart cards, including the recording and support of cryptographic information, is excessive.
Предполагалось, что стандарт Безопасных Электронных Трансакций (SET - Secure Electronic Transaction) улучшит ситуацию с безопасностью Интернет-трансакций посредством различных криптографических технологий. И хотя стандарт SET действительно улучшал безопасность по сравнению с трансакциями по стандарту SSL, сложность администрирования, включающая работу со множеством открытых и закрытых ключей, что требовалось для проведения трансакции, ограничила широкое применение SET. Стандарт SET также требовал приобретения продавцами, желающими работать по SET, специального программного обеспечения.It was assumed that the Secure Electronic Transaction (SET) standard would improve the security situation of Internet transactions through various cryptographic technologies. Although the SET standard did improve security over SSL transactions, the administrative complexity of working with the many public and private keys required for the transaction limited the widespread use of SET. The SET standard also required the acquisition by sellers who wish to work on SET of special software.
Существующая технология цифрового электронного бумажника, такая как цифровой электронный бумажник, предоставляемый, например, фирмой GlobeSet Inc. (1250 Capital of Texas Highway South, Building One, Suite 300, Austin, TX, 78746 (США)), дает возможность покупателям использовать разные изделия для карточных трансакций (такие как кредитные, платежные, дебитовые, смарт-карточки, номера расчетных счетов и им подобные) для того, чтобы платить за товары и онлайновые услуги (т.е. в режиме реального масштаба времени). В основном цифровой электронный бумажник - это инструмент, с помощью которого запоминается персональная информация (имя, адрес, номер платежной карточки, номер кредитной карточки и т.д.) для того, чтобы осуществлять электронную коммерцию или другое сетевое взаимодействие. Персональная информация может запоминаться на основном сервере или на стороне заказчика/пользователя (персональном компьютере или смарт-карточке) или сразу на и основном и пользовательском серверах. Основной сервер электронного бумажника состоит из web-сервера и сервера базы данных, который централизованно хранит персональную информацию о покупателе и информацию о кредитной карточке, его покупательских преференциях и профиле его онлайновых покупок (совершаемых в реальном масштабе времени).Existing digital electronic wallet technology, such as a digital electronic wallet, provided, for example, by GlobeSet Inc. (1250 Capital of Texas Highway South, Building One, Suite 300, Austin, TX, 78746 (USA)), enables customers to use various products for card transactions (such as credit, payment, debit, smart cards, account numbers and similar to them) in order to pay for goods and online services (i.e. in real time). Basically, a digital electronic wallet is a tool with which personal information (name, address, payment card number, credit card number, etc.) is stored in order to carry out electronic commerce or other network interaction. Personal information can be stored on the main server or on the side of the customer / user (personal computer or smart card) or immediately on both the main and user servers. The main electronic wallet server consists of a web server and a database server, which centrally stores personal information about the buyer and information about the credit card, its customer preferences and the profile of its online purchases (made in real time).
Цифровой электронный бумажник главным образом осуществляет такие функции, как обслуживание однократного ввода логина и пароля, автозаполнения форм списка покупаемых товаров, одно- или двухкликовую покупку, персонализацию web-сайтов, отслеживание онлайнового заказа и доставки, подробный электронный чек, а также специальные предложения и акции, основанные на предыдущих покупках и выборе данного покупателя. Чаще всего используемая однокликовая покупка и активирует электронный бумажник, и подтверждает факт покупки сразу. Двухкликовая покупка сначала активирует электронный бумажник, затем вторым кликом подтверждается покупка.A digital electronic wallet mainly performs functions such as servicing a one-time login and password, autocomplete forms of a list of purchased goods, one- or two-click purchases, personalizing websites, tracking online ordering and delivery, a detailed electronic check, as well as special offers and promotions based on previous purchases and the choice of this buyer. The most commonly used one-click purchase also activates an electronic wallet, and confirms the purchase immediately. A two-click purchase first activates the electronic wallet, then a second click confirms the purchase.
Практически покупатель щелкает по ссылке на электронный бумажник и устанавливается SSL сессия с сервером электронного бумажника. Исполняется некий плагин браузера и покупатель таким образом дает свой логин-пароль или смарт-карточку для авторизации и получает доступ к содержимому электронного бумажника. При осуществлении покупки в онлайновом магазине соответствующая информация передается от сервера электронного бумажника web-серверу продавца.In practice, the buyer clicks on the link to the electronic wallet and an SSL session is established with the electronic wallet server. A certain browser plug-in is being executed, and the buyer thus gives his login password or smart card for authorization and gets access to the contents of the electronic wallet. When making a purchase in an online store, the relevant information is transmitted from the electronic wallet server to the seller’s web server.
Таким образом, понятно, что нужна новая система проведения электронных трансакций. Эта система должна улучшить ситуацию с безопасностью, одновременно не доставляя больших хлопот покупателям и продавцам. Кроме того, такая система должна хорошо интегрироваться с разными существующими системами электронных бумажников и другими услугами от различных поставщиков.Thus, it is clear that a new system of electronic transactions is needed. This system should improve the security situation, while at the same time not causing much trouble to buyers and sellers. In addition, such a system should integrate well with various existing electronic wallet systems and other services from various suppliers.
Сущность изобретенияSUMMARY OF THE INVENTION
В представленных примерах реализации данного изобретения пользователю предоставляют средство идентификации, такое как смарт-карточка, которое может быть использовано при проведении электронных трансакций. Это средство идентификации содержит цифровой сертификат и соответствующим образом авторизуется сетевым сервером, который осуществляет полностью или частично запрошенную пользователем трансакцию. Здесь пользователем является покупатель (заказчик), который инициирует трансакцию покупки, а сервер является сервером электронного бумажника, который в свою очередь взаимодействует с сервером безопасности для того, чтобы и придать новое качество надежности и приватности этой трансакции.In the presented examples of the implementation of the present invention, the user is provided with an identification tool, such as a smart card, which can be used in electronic transactions. This identification tool contains a digital certificate and is accordingly authorized by the network server, which carries out the transaction fully or partially requested by the user. Here, the user is the buyer (customer), who initiates the purchase transaction, and the server is an electronic wallet server, which in turn interacts with the security server in order to give a new quality to the reliability and privacy of this transaction.
Электронные трансакции, такие как трансакции электронных покупок, осуществляются как получение на сервере запроса на трансакцию от пользователя, выдача отклика пользователю, получение от пользователя соответствующего ответа именно на этот отклик, обработка ответа для проверки инструмента трансакции, получение соответствующих удостоверений, включающих хотя бы один ключ для электронной трансакции, передача пользователю хотя бы части этих удостоверений, получение повторного запроса от пользователя, который включает в себя часть удостоверений, проверка действительности этих полученных частей удостоверений ключом для обеспечения доступа к трансакционной службе.Electronic transactions, such as electronic purchase transactions, are carried out as receiving a request for a transaction from the user on the server, issuing a response to the user, receiving the corresponding response from the user for this particular response, processing the response to verify the transaction tool, obtaining appropriate certificates that include at least one key for electronic transactions, transferring to the user at least part of these certificates, receiving a second request from the user, which includes part of the credentials true, check the validity of those parts received certificates key to provide access to the transactional service.
Кроме описанного способа проведения трансакций в данном изобретении предлагается компьютеризованный способ защиты сетевого сервера от его возможного использования в качестве базы для атак на сетевого клиента, в котором сначала осуществляют получение сетевым сервером запроса на соединение от сетевого клиента и сканирование части сетевого сервера на наличие спецсимволов, ассоциированных с протоколом, затем осуществляют проверку на отсутствие спецсимволов в любом ответе сетевого сервера сетевому клиенту и направляют ответ от сетевого сервера сетевому клиенту. Защита сетевого сервера от атак может осуществляться посредством ограничения доступа к сетевому серверу только доступом к той части сервера сети, которая по крайней мере обслуживает выбранный протокол, а также ограничивая возможность сканирования этой части сервера сети на спецсимволы выбранного протокола. Спецсимволы могут быть удалены или заменены обычными символами для целей уменьшения риска, связанного с особенностями выбранного протокола. Упомянутый протокол предпочтительно включает в себя элементы, написанные на языке JavaScript. Предпочтительно, чтобы сканируемые символы запоминались в системном журнале (лог файле) для целей создания журнала безопасности (лога безопасности). Лог безопасности может регулярно просматриваться для определения потенциально ненадежных спецсимволов. Некоторые запросы могут быть отклонены. Такая защита сетевого сервера может осуществляться во время трансакции электронной покупки, осуществляемой посредством электронного бумажника.In addition to the described method of conducting transactions, the present invention proposes a computerized method of protecting a network server from its possible use as a base for attacks on a network client, in which the network server first receives a connection request from the network client and scans part of the network server for special characters associated with the protocol, then they check for the absence of special characters in any response of the network server to the network client and send a response from the network server About the server to the network client. The network server can be protected from attacks by restricting access to the network server to only access to that part of the network server that at least serves the selected protocol, as well as limiting the ability to scan this part of the network server for special characters of the selected protocol. Special characters can be removed or replaced with ordinary characters to reduce the risk associated with the features of the selected protocol. Said protocol preferably includes elements written in JavaScript. Preferably, scanned characters are stored in the system log (log file) for the purpose of creating a security log (security log). The security log can be regularly reviewed to identify potentially unreliable special characters. Some requests may be rejected. Such protection of a network server can be carried out during an electronic purchase transaction made through an electronic wallet.
Данное изобретение также включает в себя инструмент проведения трансакции, такой как электронный бумажник, используемый для трансакций покупок и имеющий активатор и панель инструментов. Лучше, если такая панель инструментов будет иметь кнопку для загрузки пользователем небольшого активатора, и будет использовать элементы управления операционной системы, например системную панель. Такой инструмент проведения трансакции также включает в себя компоненту автозаполнения форм и компоненту автозапоминания для автозаполнения форм информацией, ранее введенной пользователем.The invention also includes a transaction tool, such as an electronic wallet used for shopping transactions and having an activator and a toolbar. It is better if such a toolbar has a button for a user to load a small activator, and uses operating system controls, such as a system panel. Such a transaction tool also includes an autocomplete form component and an autocomplete component for autocomplete forms with information previously entered by the user.
В изобретении также представлена трансакционная система для обеспечения проведения финансовых трансакций по запросу пользователя, работающего на пользовательском компьютере, подключенном к сети передачи данных. Система содержит авторизатор трансакции и сервер безопасности, сконфигурированный с возможностью проверки наличия средства идентификации в распоряжении пользователя и предоставления цифрового удостоверения упомянутому пользовательскому компьютеру в случае успешной проверки, причем авторизатор трансакции сконфигурирован с возможностью авторизации запроса пользователя на трансакцию на основе по крайней мере части упомянутых цифровых удостоверений, полученных пользовательским компьютером посредством сети передачи данных.The invention also provides a transaction system for providing financial transactions at the request of a user working on a user computer connected to a data network. The system comprises a transaction authorizer and a security server configured to verify the availability of identification means at the user's disposal and provide a digital identity to said user computer if the verification is successful, the transaction authorizer configured to authorize a user’s request for a transaction based on at least a portion of the said digital identities received by a user computer via a data network.
В предпочтительных вариантах выполнения система может содержать инструментальный сервер трансакции или сервер электронного бумажника, связанный с пользовательским компьютером посредством упомянутой сети передачи данных. Причем упомянутый сервер электронного бумажника может быть сконфигурирован с возможностью получения запроса на трансакцию от упомянутого пользовательского компьютера, связи с компьютерной системой продавца и передачи информации об упомянутом пользователе упомянутой компьютерной системе продавца. При этом компьютер пользователя содержит инструмент проведения трансакции, являющийся клиентом электронного бумажника, и считывающее устройство, сконфигурированное с возможностью передачи информации между инструментом проведения трансакции и средством идентификации.In preferred embodiments, the system may comprise a transaction tool server or an electronic wallet server connected to a user computer via said data network. Moreover, said electronic wallet server may be configured to receive a transaction request from said user computer, communicate with a seller’s computer system and transmit information about said user to said seller’s computer system. At the same time, the user's computer contains a transaction tool, which is an electronic wallet client, and a reader configured to transmit information between the transaction tool and the identification tool.
Средством идентификации может являться смарт-карточка. Предпочтительно, если сервер безопасности и авторизатор трансакции имеют между собой соединение передачи данных, изолированное от сети передачи данных, и инструмент проведения трансакции и сервер безопасности имеют между собой соединение передачи данных, изолированное от упомянутой сети передачи данных.The means of identification may be a smart card. Preferably, if the security server and the transaction authorizer have a data connection isolated from the data network, and the transaction tool and the security server have a data connection isolated between the data network.
Средство идентификации может содержать цифровой сертификат однозначной идентификации пользователя данного средства идентификации. В частности, система содержит персональный идентификатор пользователя упомянутого средства идентификации для открытия ему доступа к цифровому сертификату.The means of identification may contain a digital certificate of unique identification of the user of this means of identification. In particular, the system comprises a personal user identifier of said identification means for opening access to a digital certificate.
Система также может включать в себя эмитент средства идентификации, а трансакция является трансакцией типа "карточка присутствует", установленной эмитентом средства идентификации.The system may also include an issuer of an identification tool, and the transaction is a "card present" transaction set by the issuer of the identification tool.
В изобретении также предлагается сервер электронного бумажника для обеспечения проведения трансакций через цифровую сеть, который содержит интерфейс цифровой сети и приложение электронного бумажника, имеющее связь с базой данных, причем сервер электронного бумажника сконфигурирован с возможностью получения запроса на трансакцию от клиента электронного бумажника, обработки удостоверения от упомянутого клиента электронного бумажника для идентификации пользователя клиента электронного бумажника, выборки информации о пользователе из базы данных после идентификации упомянутого пользователя и совершения упомянутой трансакции от имени упомянутого пользователя с использованием упомянутой информации о пользователе.The invention also provides an electronic wallet server for facilitating transactions through a digital network, which includes a digital network interface and an electronic wallet application that is connected to a database, the electronic wallet server being configured to receive a transaction request from an electronic wallet client, processing an identity from said electronic wallet client for identifying a user of an electronic wallet client, fetching user information of the database after the identification of said user and making the said transaction on behalf of said user using said user information.
В предпочтительных вариантах осуществления удостоверение содержит набор произвольных данных с цифровой подписью средства идентификации, находящегося в распоряжении упомянутого пользователя. При этом клиент электронного бумажника снабжен упомянутым набором произвольных данных посредством сервера безопасности.In preferred embodiments, the credential comprises a set of arbitrary data digitally signed by the identification means at the disposal of said user. Moreover, the electronic wallet client is provided with said set of arbitrary data via a security server.
Сервер может содержать формы продавца, заполненные информацией об упомянутом пользователе при совершении упомянутой трансакции от имени пользователя.The server may contain seller’s forms filled in with information about the said user when the transaction was completed on behalf of the user.
В изобретении далее предлагается компьютеризованный способ выполнения онлайновых покупок, в котором осуществляют авторизацию посредством сервера безопасности, получают удостоверения от упомянутого сервера безопасности, затем идентифицируют адрес продавца, откуда совершается покупка, передают упомянутые удостоверения на сервер электронного бумажника для авторизации упомянутого пользователя на сервере электронного бумажника, а после успешной авторизации на сервере электронного бумажника переадресовывают сообщения с упомянутым адресом продавца на упомянутый сервер электронного бумажника и направляют информацию об упомянутом пользователе от сервера электронного бумажника на адрес продавца, после чего получают информацию о результатах упомянутой покупки.The invention further provides a computerized method for making online purchases in which authorization is performed through a security server, obtaining credentials from said security server, then identifying the seller’s address where the purchase is made from, transmitting said credentials to the electronic wallet server to authorize the said user on the electronic wallet server, and after successful authorization on the electronic wallet server, messages with the a by the seller’s address to the said electronic wallet server, and information about the said user is sent from the electronic wallet server to the seller’s address, after which they receive information about the results of the said purchase.
В другом варианте компьютеризованного способа выполнения онлайновых покупок осуществляют получение на сервер запроса от пользователя на трансакцию, который включает в себя адрес продавца и удостоверение, затем осуществляют проверку упомянутого удостоверения для идентификации пользователя, а по результатам упомянутой проверки осуществляют выборку пользовательской информации из базы данных, после чего заполняют онлайновые формы в соответствии с адресом продавца и выдают упомянутому пользователю информацию о результатах покупки.In another embodiment of a computerized method of making online purchases, a request is received from the user for the transaction to the server, which includes the seller’s address and certificate, then the said certificate is verified to identify the user, and according to the results of the said check, user information is selected from the database, after which fill out online forms in accordance with the address of the seller and give the mentioned user information about the results of the purchase.
В предпочтительных вариантах осуществления изобретения сервер безопасности объединяют с сервером. Цифровую подпись выполняют посредством смарт-карточки.In preferred embodiments of the invention, the security server is combined with the server. Digital signature is carried out using a smart card.
Кроме того, в изобретении предлагается компьютеризованный способ контроля доступа к службе, в котором сначала получают от пользователя запрос на вход, проверяют наличие у пользователя средства идентификации, после получения успешного результата проверки выдают удостоверение упомянутому пользователю, затем получают от пользователя запрос на трансакцию, который включает в себя по крайней мере часть упомянутого удостоверения, и осуществляют обработку упомянутой части удостоверения для обеспечения доступа к упомянутой службе.In addition, the invention provides a computerized method for controlling access to a service, in which they first receive a login request from a user, verify that the user has an identification tool, after receiving a successful verification result, issues a certificate to the said user, then receives a transaction request from the user, which includes at least part of the said certificate, and process the said part of the certificate to provide access to the said service.
В предпочтительных вариантах осуществления изобретения упомянутую проверку осуществляют посредством запроса-ответа, которые содержат произвольные данные из средства идентификации, в частности цифровую подпись упомянутых произвольных данных. Упомянутая служба может быть представлена службой финансовой трансакции.In preferred embodiments of the invention, said verification is carried out by means of a response request, which contain arbitrary data from an identification means, in particular a digital signature of said arbitrary data. The said service may be represented by a financial transaction service.
Перечень фигур чертежей и иных материаловList of figures of drawings and other materials
Вышеупомянутые и другие достоинства настоящего изобретения подробно раскрыты ниже в описании примеров его реализации с прилагаемыми чертежами, на которых одноименные элементы на соответствующих модулях имеют одинаковые цифровые обозначения.The above and other advantages of the present invention are described in detail below in the description of examples of its implementation with the accompanying drawings, in which like elements on the corresponding modules have the same numeric designations.
Фиг.1-3 - схемы разных примеров реализации трансакционной системы.1-3 are diagrams of various examples of the implementation of a transaction system.
Фиг.4 - блок-схема примера системы обслуживания покупателя.4 is a block diagram of an example customer service system.
Фиг.5 - блок-схема примера системы безопасности.5 is a block diagram of an example security system.
Фиг.6 - блок-схема примера электронного бумажника.6 is a block diagram of an example of an electronic wallet.
Фиг.7-10 - виды примеров экранных форм системы электронного бумажника, сформированные в соответствии с настоящим изобретением.7-10 are views of examples of screen forms of an electronic wallet system formed in accordance with the present invention.
Фиг.11 - блок-схема алгоритма примера процесса обработки, выполняемого типовым приложением-активатором.11 is a flowchart of an example processing process executed by a typical activator application.
Фиг.12 - карта последовательности сообщений, применяемых во время процесса входа в систему.12 is a map of the sequence of messages used during the login process.
Фиг.13 - карта последовательности сообщений, применяемых во время процесса покупки.13 is a map of the sequence of messages used during the purchase process.
Фиг.14 - карта последовательности сообщений, иллюстрирующая потенциальную возможность возникновения проблем с безопасностью, присущую многим языкам написания скриптов.14 is a message sequence map illustrating the potential for security problems inherent in many scripting languages.
Фиг.15 - карта последовательности сообщений нормального хода обмена данными без возникновения проблем с безопасностью, упомянутых в Фиг.14, иFIG. 15 is a sequence chart of messages of the normal progress of data exchange without causing the security problems mentioned in FIG. 14, and
Фиг.16 - блок-схема алгоритма примера процесса уменьшения объема ненужного исполняемого кода.Fig. 16 is a flowchart of an example of a process for reducing the amount of unnecessary executable code.
Сведения, подтверждающие возможность осуществления изобретенияInformation confirming the possibility of carrying out the invention
Настоящее изобретение описано ниже как совокупность функциональных блоков и различных ступеней обработки. Благодаря этому такие функциональные блоки могут быть реализованы с помощью любого оборудования и/или программного обеспечения, сконфигурированного для выполнения указанных функций. Например, в настоящем изобретении могут быть задействованы различные компоненты на интегральных схемах (ИС), такие как логические элементы, хэш-таблицы, а также им подобные, и они могут выполнять различные функции под управлением одного или нескольких микропроцессоров или других устройств управления. Аналогично элементы программного обеспечения для целей настоящего изобретения могут быть реализованы на любом языке программирования или скриптов, таких как С, C++, JAVA, COBOL, Ассемблер, PERL и им подобным, с различными алгоритмами, реализуемыми на любых комбинациях структур данных, объектов, процессов, подпрограмм или других программных элементов.The present invention is described below as a combination of functional blocks and various processing steps. Due to this, such functional blocks can be implemented using any equipment and / or software configured to perform these functions. For example, various components on integrated circuits (ICs), such as logic elements, hash tables, and the like, can be involved in the present invention, and they can perform various functions under the control of one or more microprocessors or other control devices. Similarly, software elements for the purposes of the present invention can be implemented in any programming language or scripts, such as C, C ++, JAVA, COBOL, Assembler, PERL and the like, with various algorithms implemented on any combination of data structures, objects, processes, subprograms or other program elements.
Более того, необходимо отметить, что в настоящем изобретении могут быть задействованы любые технологии общего применения для передачи данных, запросов, обработки данных, управление взаимодействием и им подобных. И еще, данное изобретение может быть использовано для обнаружения и компенсации брешей в безопасности, возникающих при использовании языков написания скриптов, таких как JavaScript, VBScript и им подобных.Moreover, it should be noted that in the present invention can be used any technology of general application for data transfer, queries, data processing, interaction management and the like. And yet, this invention can be used to detect and compensate for security holes that occur when using scripting languages such as JavaScript, VBScript, and the like.
Необходимо отметить, что приведенная и описанная здесь конкретная форма реализации изобретения дана с целью наилучшего раскрытия данного изобретения и ни коим образом не ограничивает объем его притязаний. Действительно, для краткости мы не можем дать в деталях сведения о традиционных способах обмена данными, разработке приложений и других функциональных аспектов составляющих его систем (и также составных частей используемых операционных компонентов). Более того, линии соединений, показанные на прилагаемых фигурах, представляют собой типичные функциональные взаимосвязи и/или физическую стыковку между различными элементами. Необходимо отметить, что в реальной системе электронных трансакций может присутствовать множество временных или дополнительных взаимосвязей или физических соединений.It should be noted that the specific form of implementation of the invention given and described here is given with the aim of the best disclosure of the present invention and in no way limits the scope of its claims. Indeed, for brevity, we cannot give details of traditional methods of data exchange, application development, and other functional aspects of its constituent systems (and also the components of the operating components used). Moreover, the connection lines shown in the accompanying figures represent typical functional relationships and / or physical joining between different elements. It should be noted that in a real system of electronic transactions, there may be many temporary or additional relationships or physical connections.
Для целей упрощения описания примера реализации данное изобретение часто описывается как система электронной коммерции для применения в Интернет. Однако необходимо отметить, что можно дать множество применений настоящему изобретению. Например, эта система может быть использована для авторизации пользователей компьютерной системы, или для активации системы защиты паролем, или для любых других целей. Точно так же данное изобретение может использоваться совместно с любым типом персонального компьютера, сетевого компьютера, рабочей станции, ми ни компьютера, мэйнфрейма, и им подобным, под любой версией любой операционной системы, такой как Windows, Windows NT, Windows2000, Windows 98, Windows 95, MacOs, OS/2, BeOS, Linux, Unix и им подобным. Более того, хотя данное изобретение часто описывается здесь, как реализуемое на базе коммуникационного протокола TCP/IP, необходимо понимать, что данное изобретение так же могло бы быть реализовано и с использованием IPX, Appletalk, IP-6, NetBIOS, OSI или любого количества существующих или разработанных в будущем протоколов.To simplify the description of an example implementation, the invention is often described as an e-commerce system for use on the Internet. However, it should be noted that many applications of the present invention can be given. For example, this system can be used to authorize users of a computer system, or to activate a password protection system, or for any other purpose. Similarly, this invention can be used in conjunction with any type of personal computer, network computer, workstation, computer, mainframe, and the like, under any version of any operating system, such as Windows, Windows NT, Windows2000, Windows 98, Windows 95, MacOs, OS / 2, BeOS, Linux, Unix, and the like. Moreover, although the invention is often described here as being implemented on the basis of the TCP / IP communication protocol, it must be understood that the invention could also be implemented using IPX, Appletalk, IP-6, NetBIOS, OSI, or any number of existing or future protocols.
Далее, в качестве покупателя и продавца могут выступать конкретные люди, а также объекты, предприятия, в то время как под банком можно понимать любых эмитентов карточек, таких как компании-эмитенты карточек, компании-спонсоры карточек, или эмитенты, действующие по договору с финансовыми организациями. Платежная сеть может включать в себя уже существующие сети, которые на данный момент обслуживают трансакции по кредитным карточкам, дебетовым карточкам или финансовым/банковским карточкам других типов. Такая платежная сеть является закрытой сетью, что подразумевает, что она защищена от утечек информации, например, как в сети Америкэн Экспресс (American Express®), сети Визанет (VisaNet®) или Верифоун (Veriphone®).Further, the buyer and seller can be specific people, as well as objects, enterprises, while a bank can be understood as any card issuer, such as card issuing companies, card sponsoring companies, or issuers acting under a contract with financial organizations. A payment network may include existing networks that currently support transactions with credit cards, debit cards or other types of financial / bank cards. Such a payment network is a closed network, which implies that it is protected from information leakage, for example, as in the American Express network (American Express ® ), the network Visanet (VisaNet ® ) or Verifone (Veriphone ® ).
Вдобавок, на некоторых фазах трансакции могут подключаться другие участники, такие как посреднические организации, однако эти участники на схемах не показываются. Для осуществления трансакции каждый ее участник оборудуется персональным компьютером. У покупателя есть персональный компьютер, у продавца есть компьютер или сервер, и банк имеет компьютер типа мэйнфрейма; однако любой из компьютеров может быть миниЭВМ, сервером на базе персонального компьютера, сетью компьютеров, лаптопов (дорожный компьютер), ноутбуков, карманных компьютеров, сеттопов или им подобных.In addition, other participants, such as intermediary organizations, may be involved in some phases of the transaction, but these participants are not shown on the diagrams. To carry out the transaction, each of its participants is equipped with a personal computer. The buyer has a personal computer, the seller has a computer or server, and the bank has a mainframe-type computer; however, any of the computers can be a minicomputer, a server based on a personal computer, a network of computers, laptops (travel computer), laptops, PDAs, networks, or the like.
Теперь обратимся к фиг.1, трансакционная система 100 (для проведения трансакций) включает в себя по крайней мере один пользовательский компьютер 110, авторизатор трансакции, в частности компьютер (продавца) 120 авторизации трансакции, сервер 130 безопасности и дополнительный сервер 140 обслуживания трансакции. В некоторых реализациях изобретения, подробно здесь описанных, трансакционная система 100 используется для электронной коммерции, чтобы осуществлять трансакции покупки. Конкретнее, пользовательский компьютер 110 есть компьютер покупателя или заказчика (пользователя), компьютер 120 авторизации трансакции есть компьютер продавца, и сервер 140 обслуживания трансакции есть сервер электронного бумажника. Нужно отметить, что хотя трансакционная система, описанная здесь является системой электронной коммерции, настоящее изобретение равным образом может быть пригодно и для различных других трансакционных систем.Turning now to FIG. 1, a transaction system 100 (for conducting transactions) includes at least one
Некоторые компьютерные системы и серверы связаны между собой соответствующей цифровой сетью 102 передачи данных, которая может быть такой сетью, как Интернет, или другой общедоступной сетью. Эти сети могут включать АТС, интранет предприятий или учебных заведений и им подобные. В некоторых реализациях изобретения, одна из которых показана на Фиг.2, компьютер продавца имеет электронную связь с сервером безопасности сSome computer systems and servers are interconnected by a corresponding
помощью отдельного соединения передачи данных, изолированного от сети 102. Точно так же в некоторых реализациях имеется канал 150, соединяющий сервер электронного бумажника 140 с сервером 130 безопасности, который идет отдельно от сети 102. В качестве каналов 150 и 152 могут использоваться такие каналы, как телефон, цифровая сеть связи с комплексными услугами (ISDN), выделенный канал по Т1 или другие каналы передачи данных, такие как радиоканал и им подобные. Необходимо отметить, что канал 150 и канал 152 могут быть идентичными каналами, или в некоторых реализациях изобретения один может коренным образом отличаться от другого.using a separate data connection isolated from the
Некоторые варианты реализации изобретения, как показанные на Фиг.3, также включают сервер 160 приложений (прикладных программ). В некоторых реализациях база данных (не показана) и/или профиль-сервер (не показан) могут взаимодействовать с сервером 160 приложений и/или сервером электронного бумажника 140. Сервер 160 приложений может использоваться для равномерного распределения вычислительной нагрузки. Распределение нагрузки между электронным бумажником 140 и сервером 160 приложений может повысить эффективность и/или безопасность. Например, сервер 160 приложений может выполнять некоторые функции, выполняемые сервером электронного бумажника 140, такой как доступ к базе данных. Поскольку сервер 160 приложений не связан напрямую с сетью передачи данных 102, выполнение доступа к базе данных с сервера 160 приложений, а не с электронного бумажника 140 может повысить безопасность.Some embodiments of the invention, as shown in FIG. 3, also include an
Необходимо отметить, что на хотя Фиг.1-3 проиллюстрированы некоторые примеры реализации изобретения, также возможно создание и других вариантов реализаций. Например, изобретение может включать канал 150 и не включать канал 152 и наоборот. Более того, компоненты (такие как покупатель (заказчик) 110, продавец 120, сервер 130 безопасности, сервер электронного бумажника 140 и сервер 160 приложений) могут быть и индивидуальными компьютерами, и рабочими группами сетей или компьютеров, целенаправленно взаимодействующими так, чтобы выполнить функции, описанные здесь. Функциональный вклад отдельной компоненты может быть распределен между одним или несколькими компьютерами так, чтобы реализовывалась описанная функциональность. Например, сервер электронного бумажника фактически может быть совокупностью web-серверов, серверов приложений и других типов серверов.It should be noted that although Figs. 1-3 illustrate some examples of the invention, it is also possible to create other implementations. For example, the invention may include
Для проведения трансакции покупатель 110 соответствующим образом устанавливает соединение посредством сети 102 с продавцом 120. Когда покупка уже должна быть совершена, покупатель обращается к серверу электронного бумажника 140. Покупатель затем перенаправляется серверу 130 безопасности для того, чтобы провести проверку того факта, что покупатель действительно является собственником смарт-карточки. Смарт-карточка может иметь цифровой сертификат, который однозначно идентифицирует карточку, например, создавая цифровое удостоверение в контексте текущей трансакции, как это описано ниже. В некоторых реализациях изобретения части цифрового удостоверения возвращаются покупателю 110, а другие части передаются на сервер электронного бумажника 140 посредством канала 150 безопасного соединения. Покупатель 110 может затем использовать цифровые удостоверения для того, чтобы авторизоваться на сервере электронного бумажника 140, который в свою очередь уже может совершить электронную трансакцию согласно полномочиям, полученным от покупателя 110. Сервер электронного бумажника 140 может включать функции для заполнения форм, заданных компьютером продавца 120. Когда продавец 120 получает идентификатор средства безопасной покупки от покупателя 110 или от сервера электронного бумажника 140, авторизация карточки может проводиться по каналу 152 так же, как и обычная авторизация платежной карточки. Согласно описанному выше передача данных может проводиться с использованием различных протоколов, например SSL или VPN и им подобных. Ввиду того что смарт-карточка содержит в себе идентификационную информацию, которая однозначна для конкретной карточки и которую считывают и передают по сетям только электронным способом, трансакция покупки с использованием смарт-карточек является более безопасной, чем трансакция с использованием обычной платежной или кредитной карточки. Для трансакций с таким уровнем безопасности могут быть установлены более низкие комиссионные, и они могут обрабатываться как трансакции типа "карточка присутствует". Кроме того, если такая трансакция является трансакцией типа "карточка присутствует", то ответственность по риску подделки можно переложить с продавца на эмитента карточки.To complete the transaction, the
Обратимся к Фиг.4, на которой типовой компьютер покупателя 110 (который также может называться компьютером заказчика или пользователя) представляет собой любую компьютерную систему, которая способна начать электронную трансакцию по сети 102. В некоторых реализациях изобретения компьютер покупателя 110 является персональным компьютером под управлением любой операционной системы 212, такой как любая версия операционной системы Windows от компании Microsoft, г. Редмонд Штат Вашингтон, США, или любой версии операционной системы MacOS от компании Apple, г. Купертино, штат Калифорния, США.Referring to FIG. 4, a typical customer computer 110 (also referred to as a customer or user computer) is any computer system that is capable of initiating an electronic transaction over a
Компьютер покупателя 110 соответственно имеет программное и/или аппаратное обеспечение для обработки средства идентификации, в частности смарт-карточки 202, через интерфейс web-браузера 216 под управлением операционной системы 212. Web-браузер 216 - это программа, совместимая с компьютером 110, с помощью которой он общается по сети, как, например, программа Netscape Communicator от компании Netscape, г. Маунтин-Вью, Калифорния, США, или Internet Explorer от компании Microsoft, г. Редмонд Штат Вашингтон, США, или браузер AOL от компании America Online из г. Дьюллз, штат Вирджиния, США. В некоторых реализациях на компьютер покупателя 110 установлен инструмент проведения трансакции, например клиент 214 электронного бумажника, который является какой-либо компьютерной программой, способной взаимодействовать с сервером электронного бумажника. Типовым клиентом электронного бумажника является программа Microsoft Wallet или программа Globeset Wallet от компании Globeset, г. Остин, штат Техас, США, впрочем может использоваться любая программа.
Клиент 214 электронного бумажника и браузер 216 могут взаимодействовать с смарт-карточкой 202 посредством передачи данных считывающему устройству (терминалу) для обработки смарт-карточек под управлением операционной системы 212. Считывающим устройством 204 для обработки смарт-карточек является любое устройство считывания карточек, способное передавать информацию между клиентом 214 электронного бумажника и смарт-карточкой 202. В некоторых реализациях в качестве такого считывающего устройства использовался считыватель модели GCR410 от компании Gemplus, г. Редвуд-Сити, штат Калифорния, США, совместимый со стандартом ISO-7816, или любое другое подходящее считывающее устройство.The
В качестве смарт-карточки 202 может использоваться любая, с помощью которой можно осуществлять электронные трансакции, например, любая смарт-карточка, выполненная в соответствии со следующими стандартами ISO, упомянутыми здесь как справочный материал:As a
ISO/IEC 7816-1:1998 Идентификационные карточки - Карточки на микросхемах с контактными площадками - Часть 1: Физические характеристики.ISO / IEC 7816-1: 1998 Identification cards - Chip cards with pads - Part 1: Physical characteristics.
ISO/IEC 7816-2:1999 Информационные технологии - Идентификационные карточки - Карточки на микросхемах с контактными площадками - Часть 2: Размеры и расположение контактных площадок.ISO / IEC 7816-2: 1999 Information technology - Identification cards - Cards on microchips with contact pads - Part 2: Dimensions and location of contact pads.
ISO/IEC 7816-3:1997 Информационные технологии - Идентификационные карточки - Карточки на микросхемах с контактными площадками - Часть 3: Электронные сигналы и протоколы передачи данных.ISO / IEC 7816-3: 1997 Information technology - Identification cards - Cards on microchips with pads - Part 3: Electronic signals and data transfer protocols.
ISO/IEC 7816-4:1995 Информационные технологии - Идентификационные карточки - Карточки на микросхемах с контактными площадками - Часть 4: Система команд для межотраслевой передачи данных.ISO / IEC 7816-4: 1995 Information technology - Identification cards - Cards on microchips with pads - Part 4: Command system for inter-industry data transmission.
ISO/IEC 7816-5:1994 Идентификационные карточки - Карточки на микросхемах с контактными площадками - Часть 5: Система присвоения номеров и процедура регистрации идентификаторов запросов.ISO / IEC 7816-5: 1994 Identification cards - Chip cards with pads - Part 5: Number assignment system and procedure for registering request identifiers.
ISO/IEC 7816-5:1996 Идентификационные карточки - Карточки на микросхемах с контактными площадками - Часть 6: Элементы данных для межотраслевого обмена; иISO / IEC 7816-5: 1996 Identification cards - Cards on microcircuits with pads - Part 6: Data elements for inter-industry exchange; and
ISO/IEC 7816-5:1994 Идентификационные карточки - Карточки на микросхемах с контактными площадками - Часть 7: Команды для межотраслевого обмена данными языка структурированных запросов данных из платежных карточек (SCQL).ISO / IEC 7816-5: 1994 Identification cards - Cards on microcircuits with pads - Part 7: Commands for intersectoral data exchange of the structured data query language from payment cards (SCQL).
Типовая смарт-карточка 202 - смарт-карточка, выполненная в соответствии со спецификацией ISO 7816, такой может быть и карточка на микросхеме SLE66, производимой компанией Infineon, г. Мюнхен, Германия. Микросхема SLE66 имеет встроенную память (такую, как память 16К, однако может использоваться и память большего или меньшего объема) и процессор под управлением операционной системы, например Multos (такой, как Multos v.4). Для некоторых реализаций изобретения под смарт-карточкой 202 также понимается и апплет (прикладные программы на языке "Джава" (JAVA)) для выполнения функций запоминания и обработки цифровых сертификатов и других криптографических функций. Для ознакомления с основами криптографии см. "Прикладная криптография: протоколы, алгоритмы и исходники на С", автор Брюс Шнайдер, издательство John Wiley & Sons (второе издание 1996 г.), ссылка на эту книгу дается здесь в качестве справочного материала. Например JAVA апплет Х.509 может включаться в состав смарт-карточки для обработки сертификатов Х.509, которые в нее будут записываться. И хотя в реализациях изобретения, описанных здесь, упоминаются смарт-карточки, необходимо отметить, что могут использоваться и другие средства идентификации, например, мобильный телефон системы глобальных телекоммуникаций GSM может заменять смарт-карточки в некоторых реализациях данного изобретения.A typical
Теперь обратимся к Фиг.5. Сервер 130 безопасности соответствующим образом реализует взаимодействие с сетью 102, а модуль 304 безопасности и сервер 306 авторизации взаимодействуют с базой данных 310. Интерфейс 302 сети есть любая программа, которая может осуществлять взаимодействие с сетью 102, например, такая, как web-сервер. В некоторых реализациях интерфейс 302 сети может базироваться на программе Netscape Enterprise Server от корпорации Netscape, г. Маунтин-Вью, штат Калифорния, США. Интерфейс 302 сети получает электронные сообщения от сети 102 и направляет их соответствующим образом модулю 304 безопасности или серверу 306 авторизации.Now turn to Figure 5. The
Модуль 304 безопасности и сервер 306 авторизации могут быть разделены брандмауэром 308 (аппаратно-программные средства межсетевой защиты), который управляет данными, передаваемыми между сервером 130 безопасности и покупателем 110 или сервером электронного бумажника 140. Брандмауэр 308 может представлять собой любое устройство или программу управления (например, роутер управления доступом), способные ограничивать поток данных между внешней и внутренней сетью (не показаны). В некоторых реализациях изобретения модуль 304 безопасности соответствующим образом располагается вне брандмауэра для того, чтобы управлять передачей данных между сервером 130 безопасности и покупателем 110 или сервером электронного бумажника 140. Сервер 306 авторизации охраняет ценную конфиденциальную информацию, такую как база данных 310, которая может содержать перекрестные ссылки сертификатов Х.509, хранимых в различных смарт-карточках 202, обслуживающих всю систему 100, позволяя поддерживать ее и в сети Интернет при хорошем уровне безопасности. Нужно понимать, что функции модуля 304 безопасности и сервера 306 авторизации могут быть соответствующим образом объединены или разделены в рамках настоящего изобретения.The security module 304 and the
Теперь обратимся к Фиг.6. Приведенный в качестве примера сервер 140 электронного бумажника включает в себя сетевой интерфейс 402, дополнительный сервер 404 апплетов и приложение 406 электронного бумажника. Сетевой интерфейс 402 является любой программой, позволяющей осуществлять сетевое взаимодействие в сети 102, такой как web-сервер. В некоторых реализациях сетевой интерфейс 402 базируется на программе Netscape Enterprise Server от корпорации Netscape, г. Маунтин-Вью, штат Калифорния, США. Дополнительный сервер 404 апплетов реализует серверную часть функций программ распределенной обработки, таких как программы на JAVA или элементы управления ActiveX. Типовой сервер апплетов - это программа Java Applet Server от компании Sun Microsystems из г. Маунтин Вью, Калифорния. Сервер 404 апплетов и сетевой интерфейс 402 поддерживают функции приложения 406 электронного бумажника, который может включать обработку логина, получение данных из базы данных электронного бумажника 408 и/или управлять трансакциями, как это описано здесь. В некоторых реализациях настоящего изобретения сервер электронного бумажника 140 может включать в себя программу SERVERWALLET (другое наименование NETWALLET) от компании Globeset, г. Остин, штат Техас, США.Now turn to Fig.6. An exemplary
Некоторые реализации настоящего изобретения могут включать в себя приложение-активатор, которое соответствующим образом помогает покупателю совершить процесс покупки с помощью электронного бумажника. Приложение-активатор может представлять информацию в виде строки состояния, к примеру, или может само запускать программу-клиент 214 электронного бумажника (Фиг.4), когда это необходимо. К тому же активатор может поддерживать локальные кэш-сайты, обслуживаемые электронным бумажником.Some implementations of the present invention may include an activator application that appropriately helps the buyer complete the purchase process with an electronic wallet. The activator application may present information in the form of a status bar, for example, or may itself launch the electronic wallet client program 214 (Figure 4), when necessary. In addition, the activator can support local cache sites served by electronic wallet.
Приложение-активатор может быть реализовано как обычное компьютерное приложение. В некоторых реализациях приложение-активатор выдает информацию на системную панель, как "плавающий битмэп", или другим подходящим способом. Графическое представление (т.е. иконки) может давать информацию о состоянии, такую как "зона поддерживаемого сайта", "зона поддерживаемой страницы авторизации", "зона поддерживаемой страницы оплаты", "нет открытых окон", "зона неподдерживаемой страницы" и/или подобную.The activator application can be implemented as a regular computer application. In some implementations, the activator application provides information to the system panel as a "floating bitmap", or in another suitable way. A graphical representation (i.e., icons) can provide status information such as “zone of a supported site”, “zone of a supported authorization page”, “zone of a supported payment page”, “no open windows”, “zone of an unsupported page” and / or similar.
Плавающий битмэп может быть реализован как графический файл любого формата, например файл формата графического обмена (GIF). В различных вариантах реализации изобретения информация может отображаться в графическом, аудио, видео, аудио-видео, мультимедиа, анимационном и других форматах. Более того, файлы GIF могут быть заменены на файлы типа LZW, TIFF, анимированный GIF, JPEG, MPEG или любые другие типы графических, аудио или мультимедиа форматов или файлов.The floating bitmap can be implemented as a graphic file of any format, for example, a graphic exchange format (GIF) file. In various embodiments of the invention, information can be displayed in graphical, audio, video, audio-video, multimedia, animation, and other formats. Moreover, GIF files can be replaced with files like LZW, TIFF, animated GIF, JPEG, MPEG or any other type of graphic, audio or multimedia formats or files.
В основном настоящее изобретение усовершенствовано путем оснащения средства проведения трансакции окном, в котором есть элементы управления, делающие это средство проведения трансакции проще в использовании. Средство проведения трансакции может быть использовано для различных электронных трансакций. Например, трансакций покупки, трансакций финансового консалтинга, трансакций оформления страховки, трансакций типа покупатель-покупатель в случаях с бартерными сделками, трансакций, относящихся к ответу на коммерческие предложения или с выдачей вознаграждений и других. Инструмент проведения трансакций, описанный здесь, является электронным бумажником, использующимся для трансакций покупки. Функционал электронного бумажника расширен путем включения в него функций окна с элементами управления для того, чтобы пользователю было проще пользоваться электронным бумажником. В основном настоящее изобретение включает в себя функции доступа к электронному бумажнику в виде реализации его на стороне заказчика, и серверную панель инструментов (тулбар), позволяющие пользователю при малых объемах загружаемого активатора использовать элементы управления интерфейса пользователя операционной системы, таких, например, как системная панель Microsoft Windows.Basically, the present invention has been improved by equipping a transaction tool with a window that has controls that make this transaction tool easier to use. The transaction tool can be used for various electronic transactions. For example, purchase transactions, financial consulting transactions, insurance transactions, buyer-buyer transactions in cases of barter transactions, transactions related to the response to commercial offers or the issuance of fees and others. The transaction tool described here is an electronic wallet used for purchase transactions. The functionality of the electronic wallet has been expanded to include the functions of a window with controls in order to make it easier for the user to use the electronic wallet. Basically, the present invention includes the functions of accessing an electronic wallet in the form of implementation on the customer side, and a server toolbar (toolbar), allowing the user to use the controls of the operating system user interface, such as the system panel, for small volumes of downloadable activator. Microsoft Windows
Активатор является объектным кодом, который выполняется на компьютере пользователя и имеет подпрограммы доступа к серверу электронного бумажника. Такой активатор может генерировать события и имеет процедурную логику, позволяющую общаться с электронным бумажником, реагируя на определенные пользовательские и системные действия или события. Обычно активатор представлен одним единственным графическим элементом, например иконкой, которая в случае реализации под операционной системой Microsoft Windows будет находиться на системной панели и которая позволяет пользователю включать или выключать видимость тулбара электронного бумажника. В действительности в различных реализациях тулбар электронного бумажника является особым окном браузера, через которое имеется доступ к серверу электронного бумажника. Активатор взаимодействует с сервером электронного бумажника так, чтобы автоматизировать обновление объектного кода активатора путем загрузки его с сервера малыми порциями. Обычно перед началом загрузки у пользователя запрашивается подтверждение. В некоторых реализациях активатор взаимодействует не только с электронным бумажником, но и с другими приложениями типа коммерческих предложений или выдачи вознаграждений. Система поддерживает ряд важных опций для каждой своей web-страницы, скажем, динамическую и контекстную информацию, которая является специфичной для каждой страницы, просматриваемой пользователем. И активатор следит за просматриваемым унифицированным указателем информационного ресурса (URL), настраиваясь на просматриваемую страницу так, чтобы пользователь имел информацию о предоставляемых ему возможностях. Например, активатор может проверить, просматривает ли пользователь торговый сайт и предоставляемые ему в настоящий момент спецпредложения (скидки и т.п.). Активатор также может следить за версиями программного обеспечения на компьютере пользователя с тем, чтобы напоминать ему о возможном появлении более новых версий. Варианты реализации изобретения могут выполняться на любых сетях, таких как глобальные, локальные, Интернет, или на любых персональных компьютерах, устройствах радиосвязи и им подобных устройствах. Система может быть реализована под любой операционной системой, такой как Microsoft Windows, Mac OS, Linux, Windows CE, Palm OS и других.The activator is an object code that runs on the user's computer and has subroutines for accessing the electronic wallet server. Such an activator can generate events and has procedural logic that allows you to communicate with an electronic wallet, responding to certain user and system actions or events. Usually, the activator is represented by one single graphic element, for example, an icon that, if implemented under the Microsoft Windows operating system, will be located on the system panel and which allows the user to enable or disable the visibility of the electronic wallet toolbar. In fact, in various implementations, the electronic wallet toolbar is a special browser window through which access to the electronic wallet server is available. The activator interacts with the server of the electronic wallet in such a way as to automate the updating of the activator object code by downloading it from the server in small portions. Typically, before starting the download, the user is asked for confirmation. In some implementations, the activator interacts not only with an electronic wallet, but also with other applications such as commercial offers or issuing rewards. The system supports a number of important options for each of its web pages, for example, dynamic and contextual information that is specific to each page viewed by the user. And the activator monitors the viewed unified index of the information resource (URL), adjusting to the page being viewed so that the user has information about the opportunities provided to him. For example, an activator can check whether a user is browsing a trading site and currently offering special offers (discounts, etc.). The activator can also monitor the software versions on the user's computer in order to remind him of the possible appearance of newer versions. Embodiments of the invention can be performed on any networks, such as global, local, Internet, or on any personal computers, radio communication devices, and the like. The system can be implemented under any operating system, such as Microsoft Windows, Mac OS, Linux, Windows CE, Palm OS and others.
Такой активатор, который предпочтительно реализуется на стороне заказчика, позволяет пользователю 110 быть в постоянном или прерываемом взаимодействии с компанией, хранящей электронный бумажник 140, например Америкэн Экспресс, без необходимости занимать место под лишние окна на экране пользовательского терминала. Как уже упоминалось, он позволяет компании, хранящей электронный бумажник, отслеживать и показывать пользователю потенциально интересные ему в текущий момент данные. Такие конфигурируемые средства управления позволяют покупателю быстро находить нужные web-сайты и немедленно запускать нужные функции, такие как авторизация цифровой платежной карточки. Клиентский тулбар предпочтительно может быть в основном реализован в виде отдельного окна, связанного с окном пользовательского браузера, и оно может поддерживать такую геометрию, чтобы создавалось впечатление, что оно является частью браузера пользователя. С одной лишь разницей, скажем, когда пользователь щелкает по его элементам управления, оно остается неизменным, в то время как в основное окно загружается нужный URL для выполнения указанного действия (такого как обращение к электронному бумажнику). Например, когда пользователь щелкнул по иконке электронного бумажника на системной панели, на экране в отдельном окне появляется тулбар 502 электронного бумажника 205, который связан с окном основного браузера 500, как это показано на Фиг.7. В другом варианте реализации тулбар заказчика расположен на рамке окна конкретного электронного бумажника, предоставляя в распоряжение пользователя дополнительные элементы управления, как это описано выше, в дополнительной области окна этого электронного бумажника, расширяющей основное окно. В третьем варианте реализации эта область разбросана по основному окну пользовательского браузера, для того чтобы использовать ее для электронного бумажника и других элементов управления, описанных выше.Such an activator, which is preferably implemented on the customer side, allows the
Такая система дает удобный способ покупателям не только посещать избранные ими URL, но еще и запускать определенные функции, что может быть многоступенчатым и даже изменяющимся процессом, поскольку сайты продавцов постоянно обновляются. Такая система позволяет упростить жизнь пользователю, не только делая работу с электронным бумажником и коммерческими сайтами проще, но и еще позволяя проще находить сам электронный бумажник и тулбар заказчика. Когда у пользователя много открытых окон, поиск окна электронного бумажника может стать затруднительным, особенно если учесть, что различные окна браузера могут захватывать фокус ввода в процессе навигации по сайтам и общения с ними. Таким образом, использование системной панели и серверного функционала есть самое лучшее сочетание для работы пользователя. В предпочтительном варианте реализации данная система может работать с любым известным браузером, например таким, как Netscape Navigator.Such a system provides a convenient way for customers not only to visit their chosen URLs, but also to launch certain functions, which can be a multi-stage and even changing process, as seller’s sites are constantly updated. This system allows you to simplify the life of the user, not only making working with an electronic wallet and commercial sites easier, but also making it easier to find the electronic wallet and toolbar of the customer. When a user has many open windows, searching for an electronic wallet window can become difficult, especially considering that various browser windows can capture input focus while browsing and communicating with sites. Thus, the use of the system panel and server functionality is the best combination for the user. In a preferred embodiment, this system can work with any known browser, for example, such as Netscape Navigator.
В то время как ранее созданные системы могли только представлять собой настраиваемый портал (например, My American Express. corm), который дает пользователю возможность посетить страницу и затем перейти по ссылке с этой страницы, предпочтительный вариант реализации настоящего изобретения дает возможность с удобством пользоваться окном с элементами управления, которое остается на экране пользователей, в то время как они путешествуют по web. К тому же тулбар заказчика позволяет автоматизировать действия пользователя, и это при том, что такие действия могут иметь место на коммерческом сайте третьей стороны. Более того, ранее созданные системы могли использовать отдельное окно браузера для отображения элементов управления электронным бумажником, в то время как настоящее изобретение использует обычное окно браузера, разделенное на части так, чтобы предоставить место, занимаемое самим электронным бумажником. Например, в предпочтительном варианте реализации изобретения имеется иконка электронного бумажника, доступная пользователю на системной панели (не показана). После щелчка по этой иконке на экране появляется тулбар 502 электронного бумажника, как это показано на Фиг.7. Присутствие этого тулбара не является навязчивым, одновременно позволяя пользователю работать с электронным бумажником. Тулбар 502 предпочтительно интегрирован в окно браузера 500.While previously created systems could only be a custom portal (for example, My American Express. Corm), which allows the user to visit the page and then follow the link from this page, the preferred embodiment of the present invention makes it possible to conveniently use the window with controls that remain on the users screen while they surf the web. In addition, the customer’s toolbar allows you to automate user actions, and this despite the fact that such actions can take place on a third-party commercial site. Moreover, previously created systems could use a separate browser window to display electronic wallet controls, while the present invention uses a conventional browser window divided into parts to provide space for the electronic wallet itself. For example, in a preferred embodiment of the invention there is an electronic wallet icon available to the user on a system panel (not shown). After clicking on this icon, the
Как показано на Фиг.8, когда пользователь нажмет кнопку торгового каталога на тулбаре 502, тулбар развернется и превратится в страницу торгового каталога 602. Пользователь может выбрать продавца в списке продавцов 604, расположенном здесь же на странице торгового каталога 602. После выбора продавца из списка продавцов 604 электронный бумажник переносит пользователя на сайт 702 продавца, выбранного пользователем, как это показано на Фиг.9. Обычно, когда электронный бумажник уже перенес пользователя на сайт 702 продавца, тулбар 502 принимает свои обычные размеры. Когда пользователь сделает покупку у продавца, например, поместив выбранное в корзину и начав оформление покупки, в настоящем изобретении само оформление покупки частично производится самим электронным бумажником. Как показано на Фиг.10, когда пользователь определится с нужной покупкой на сайте 702 продавца, на экран выдается интерфейс (окно) 802 оформления покупки. К примеру, интерфейс 802 оформления покупки выдается на одну сторону экрана браузера, а окно магазина продолжает оставаться на другой стороне экрана браузера. Большая часть информации, которую пользователь должен ввести для оформления покупки (например, имя, адрес, E-mail, информация о кредитной карточке и т.д.), уже была введена в электронный бумажник и сама появляется в окне 802 оформления покупки электронного бумажника. В предпочтительном варианте реализации изобретения пользователь может редактировать эту информацию.As shown in Fig. 8, when the user presses the button for the shopping catalog on the
В предпочтительном варианте настоящая система включает также способы и аппаратуру, наилучшим образом позволяющие надежно заполнять HTML-формы Web-сайтов. В конечном итоге пользователи могут сами определять содержание информации, которую они в основном хотят давать на сайты, независимо от их внешнего вида, маркировки и поведения. В предпочтительном варианте реализации настоящее изобретение включает в себя компоненту "автозапоминания", которая позволяет запоминать уже введенную информацию, и компоненту "автозаполнения", которая включает в себя совокупность мощных средств обработки, полученных путем анализа моделей поведения пользователей и сайтов.In a preferred embodiment, the present system also includes methods and apparatus that are best suited to reliably fill out HTML forms of Web sites. Ultimately, users can themselves determine the content of the information that they mainly want to give to sites, regardless of their appearance, labeling and behavior. In a preferred embodiment, the present invention includes an “auto-remember” component, which allows you to remember information already entered, and an “auto-complete" component, which includes a combination of powerful processing tools obtained by analyzing user and site behavior patterns.
Настоящее изобретение собирает информацию от пользователей, сохраняя ее надежно и безопасно на сервере, и затем распределяет ее по нужным полям форм под контролем пользователя. Система поддерживает привязку пользовательской информации к различным полям HTML-форм сайтов, представляющих интерес для пользователя. Такая информация затем используется для управления заполнением (или автозаполнением) HTML-форм теми пользователями, которые хотят взаимодействовать с этими сайтами.The present invention collects information from users, storing it reliably and securely on the server, and then distributes it to the desired form fields under user control. The system supports binding user information to various fields of HTML-forms of sites of interest to the user. This information is then used to control the completion (or auto-completion) of HTML forms by those users who want to interact with these sites.
Что касается функции "автозапоминания", и прежние варианты реализации электронного бумажника могли иметь функцию запоминания, но она должна была включаться пользователем. В настоящем варианте реализации "автозапоминания" пользователю не нужно ничего нажимать для запоминания формы, которую они только что заполнили, так как данная система сама запоминает поля, которые пользователи вводят в окне магазина. Когда форма отсылается (например, нажатием кнопки "Отправить" или "Купить"), электронный бумажник реагирует путем определения, является ли окно, запросившее отсылку формы, окном сайта нужного продавца. Если да, в таком случае электронный бумажник запоминает данные соответствующим образом, в противном случае он может запретить отсылку формы и продолжит нормальную работу. Среди элементов управления электронного бумажника может быть кнопка с надписью "Запомнить", или он может поддерживать опцию автоматического запоминания, которая может быть постоянно включена. Предпочтительно запоминаются все поля, кроме тех, которые используются для автозаполнения. В этом контексте ясно, что, когда пользователь вводит данные в определенное поле, это значение будет сохранено в системе. Компонента электронного бумажника определит значения поля, введенные таким способом, и безопасно передаст их на сервер через Интернет. Когда пользователь в следующий раз посетит эту страницу, электронный бумажник, в дополнении к автозаполнению полей формы, которые берутся из системы, будет также заполнять форму значениями, которые ранее запоминались. При обработке формы (автозаполнение) электронный бумажник безопасным образом считает значения с сервера.As for the “auto-remembering” function, previous versions of electronic wallet implementation could have a memorizing function, but it had to be activated by the user. In the present embodiment of the “auto-memorization” implementation, the user does not need to press anything to memorize the form that they just filled out, since this system itself remembers the fields that users enter in the store window. When the form is submitted (for example, by pressing the "Send" or "Buy" button), the electronic wallet responds by determining whether the window that requested the form to be sent is the website window of the seller. If so, in this case, the electronic wallet remembers the data accordingly, otherwise it may prohibit the submission of the form and continue normal operation. Among the controls of an electronic wallet there may be a button with the inscription "Remember", or it may support the option of automatic storage, which can be constantly enabled. Preferably, all fields except those used for autocomplete are remembered. In this context, it is clear that when the user enters data in a specific field, this value will be stored in the system. The electronic wallet component will detect the field values entered in this way and securely transfer them to the server via the Internet. The next time the user visits this page, the electronic wallet, in addition to autofilling the form fields that are taken from the system, will also fill out the form with the values that were previously remembered. When processing a form (auto-complete), an electronic wallet safely reads values from the server.
В частности, что касается браузера Internet Explorer, то в данном изобретении соответствующим образом реализован элемент управления ActiveX, который сам подсоединяется в web-странице, такой, например как American Express Online Wallet. В предпочтительном варианте реализации этот элемент управления ActiveX имеет метод, который перехватывает события браузера во всех браузерах Internet Explorer, и поэтому American Express Online Wallet может по необходимости реагировать на эти события посредством функции JavaScript, загруженной в составе страницы American Express Online Wallet, позволяя таким образом получить полный документ в браузер Internet Explorer. Эта особенность позволяет системе перехватывать событие "Документ Завершен", инициируемое браузером Internet Explorer, которое означает окончание загрузки документа. Когда это событие перехвачено, элемент управления ActiveX уведомляет об этом страницу American Express Online Wallet путем вызова JavaScript функции, загруженной в составе страницы American Express Online Wallet. Эта функция отвечает на событие посредством соответствующего взаимодействия с элементом управления ActiveX для того, чтобы перехватить событие "Отправка Формы" для всех форм всех окон браузера Internet Explorer.In particular, with respect to Internet Explorer, the present invention accordingly implements an ActiveX control that is itself connected to a web page, such as, for example, American Express Online Wallet. In a preferred embodiment, this ActiveX control has a method that captures browser events in all Internet Explorer browsers, and therefore American Express Online Wallet can, if necessary, respond to these events via the JavaScript function loaded as part of the American Express Online Wallet page, thus allowing Get the full document in Internet Explorer. This feature allows the system to catch the "Document Completed" event, triggered by Internet Explorer, which means the end of the document loading. When this event is intercepted, the ActiveX control notifies the American Express Online Wallet page by calling the JavaScript function loaded as part of the American Express Online Wallet page. This function responds to an event through appropriate interaction with the ActiveX control in order to intercept the "Submit Form" event for all forms of all Internet Explorer browser windows.
Когда пользователь заполнит форму на web-странице и щелкнет на кнопке "Отправить" (или любом элементе управления, таком как кнопка, отправляющая форму), страница American Express Online Wallet получает уведомление от элемента управления ActiveX путем вызова JavaScript функции, загруженной в составе страницы American Express Online Wallet.When a user fills out a form on a web page and clicks on the Submit button (or any control such as a button that submits the form), the American Express Online Wallet page receives a notification from the ActiveX control by invoking the JavaScript function loaded as part of the American page Express Online Wallet.
Страница American Express Online Wallet затем соответствующим образом определяет, является ли документ, инициировавший событие "Отправить", нужным документом, посредством проверки URL - окна, которое инициировало это событие. Если событие нужно обрабатывать, тогда страница American Express Online Wallet должна вызвать функцию элемента управления ActiveX, которая в свою очередь считывает объектную модель документа (DOM - document object model), который инициировал событие. Затем DOM просматривается и можно получить значения форм для последующей передачи их на сервер для запоминания. В предпочтительном варианте реализации элемент управления ActiveX обязан должным образом прекращать перехват событий браузера и событий "Отправка Формы" для того, чтобы уменьшить количество сбоев во время выполнения алгоритма.The American Express Online Wallet page then appropriately determines whether the document that triggered the Submit event is the desired document by checking the URL box that triggered the event. If the event needs to be processed, then the American Express Online Wallet page should call the ActiveX control function, which in turn reads the document object model (DOM) that triggered the event. Then the DOM is scanned and you can get the values of the forms for subsequent transmission to the server for memorization. In a preferred embodiment, the ActiveX control is required to properly stop intercepting browser events and “Submit Forms” events in order to reduce the number of crashes during execution of the algorithm.
Что же касается браузера Netscape, из-за особенностей реализации модели событий в Netscape система перехватывает события только из функций JavaScript. Если системе удастся получить привилегии уровня "Разрешить запись из браузера" (присваиваемые пользователем), тогда системе удастся выполнить функцию, которая позволяет внешнему окну перехватывать события другого окна. И далее система сможет считать объектную модель документа для всех фреймов данного окна. В процессе выполнения этого система оповещает каждую форму окна о том, что она желает перехватывать событие "Отправить". Таким образом, когда пользователь заполнит форму этого оповещенного системой окна и нажмет кнопку "Отправить" (или любой элемент управления, такой как кнопка, отправляющая форму) на этой странице, электронный бумажник оповещается и реагирует должным образом. Специалисты поймут, что настоящее изобретение может быть реализовано для каждой соответствующей трансакционной системы, включая, но не ограничиваясь любыми системами электронных бумажников.As for the Netscape browser, due to the specifics of implementing the event model in Netscape, the system only intercepts events from JavaScript functions. If the system manages to obtain the “Allow recording from browser” privileges (assigned by the user), then the system will succeed in executing a function that allows the external window to intercept the events of another window. And then the system will be able to read the document object model for all frames of this window. In the process of doing this, the system notifies each form of the window that it wants to intercept the "Send" event. Thus, when the user fills out the form of this window notified by the system and clicks the “Submit” button (or any control, such as the button that submits the form) on this page, the electronic wallet is notified and responds properly. Those skilled in the art will understand that the present invention can be implemented for each respective transactional system, including but not limited to any electronic wallet systems.
Что же касается функции заполнения форм, то электронный бумажник, такой, например, как American Express Online Wallet, реализует функции заполнения для того, чтобы помочь пользователям в заполнении форм. Прежние системы, например такие, как поставляемая объединением GlobeSet, обычно использовали объект Помощник браузера (ВНО - Browser Helper Object). Концепция с ВНО часто имеет тот недостаток, что, например, браузер Internet Explorer 5.0 содержит баг (сбой), при котором загружается только первый ВНО, указанный в реестре. Это же является проблемой и для любых приложений таким образом, что невозможно быть уверенным, загружены ли все ВНО или нет. Более того, ВНО загружаются для каждого экземпляра Internet Explorer, то есть много экземпляров ВНО могут работать в какой-то момент времени, занимая память и замедляя просмотр всеми браузерами, а не только нужным.As for the form filling function, an electronic wallet, such as the American Express Online Wallet, implements the filling function in order to help users fill out forms. Previous systems, such as those provided by GlobeSet, typically used the Browser Helper Object. The concept with VNO often has the disadvantage that, for example, Internet Explorer 5.0 contains a bug (failure) in which only the first VNO specified in the registry is loaded. This is also a problem for any application in such a way that it is impossible to be sure whether all VNOs are loaded or not. Moreover, VNOs are downloaded for each instance of Internet Explorer, that is, many VNO instances can work at some point in time, occupying memory and slowing down browsing by all browsers, not just the one you need.
Настоящее изобретение предпочтительно заменяет решение с ВНО путем использования того же элемента управления ActiveX, который упоминался в описании функции "автозапоминания". Присоединяя элемент управления ActiveX к странице электронного бумажника, система соответствующим образом получает объектную модель любого документа, загруженного в любой браузер Internet Explorer, посредством использования, например, функций Shell Windows API. Когда пользователь нажимает кнопку "Заполнить Форму" на странице электронного бумажника, бумажник может реагировать, сначала получая объектную модель документа посредством использования элемента управления ActiveX. Далее, электронный бумажник может сохранять имена полей, составляющих форму, и отсылать их на сервер для эвристической обработки. Сервер ответит на этот запрос путем возврата значений, которые должны быть использованы при заполнении этих полей. Эти поля затем могут быть заполнены с использованием той же объектной модели документа, полученной ранее. Так, настоящее изобретение упрощает проблему ввода повторяющихся данных на формы web-сайтов. В дополнении к удобству заказчиков это увеличивает достоверность вводимых данных.The present invention preferably replaces the solution with VNO by using the same ActiveX control that was mentioned in the description of the "auto-memorize" function. By attaching an ActiveX control to an electronic wallet page, the system appropriately obtains an object model of any document loaded into any Internet Explorer browser, using, for example, Shell Windows API functions. When the user clicks the "Fill out the Form" button on the electronic wallet page, the wallet can respond by first receiving an object model of the document by using the ActiveX control. Further, the electronic wallet can save the names of the fields that make up the form and send them to the server for heuristic processing. The server will respond to this request by returning the values that should be used when filling out these fields. These fields can then be filled using the same document object model obtained previously. Thus, the present invention simplifies the problem of inputting duplicate data onto web site forms. In addition to customer convenience, this increases the accuracy of the data entered.
Если рассматривать более подробно, архитектура настоящего изобретения объединяет серверную модель каждого сайта (т.е. поля, страницы, ссылки и т.п.), серверную модель пользователя (т.е. его профиль), сгенерированную пользователем модель сайта (т.е. запоминание макросов, тэгов разметки, алгоритма перетаскивания), модель сайта, искусственно сгенерированную системой (т.е. наращивание и проверка моделей, сгенерированных пользователями), и эвристически сгенерированную модель сайта (т.е. предположения относительно семантической информации для полей, действий и т.п.). Настоящая система создает и хранит несколько особых типов моделей. Первая характеризует сайт, например, как Вы оформляете покупку, как Вы добавляете что-то в корзину, как Вы ищете виды товаров, как Вы вводите Ваши преференции (например, в случаях с путешествиями) и т.п. Вторая модель характеризует пользователя, например, какие действия пользователю разрешены и какие имеются атрибуты профиля пользователя. Комбинируя эти две модели, настоящая система создает специальные возможности обработки, которые придают ей гибкость и мощь.In more detail, the architecture of the present invention combines the server model of each site (i.e., fields, pages, links, etc.), the server model of the user (i.e., its profile), the user-generated site model (i.e. storing macros, markup tags, drag-and-drop algorithms), a site model artificially generated by the system (i.e. building up and checking models generated by users), and a heuristically generated site model (i.e. assumptions about semantic information for lei, actions, etc.). This system creates and stores several special types of models. The first characterizes the site, for example, how you make a purchase, how you add something to the basket, how you look for types of goods, how you enter your preferences (for example, in cases of travel), etc. The second model characterizes the user, for example, what actions the user is allowed to do and what attributes of the user profile are available. By combining these two models, this system creates special processing capabilities that give it flexibility and power.
Эта система привязывает модель пользовательских возможностей к модели сайта там, где модели сайта генерируются известными способами. Модель сайта, как таковая, может быть создана пользователем, хостом, эмитентом кредитной карточки и даже провайдером сайта. В предпочтительном варианте реализации изобретения для представления модели сайта используются языки ECML/XML В некоторых вариантах реализации можно обмениваться моделями сайта с другими системами.This system binds the model of user capabilities to the site model where site models are generated by known methods. The site model, as such, can be created by the user, host, credit card issuer and even the site provider. In a preferred embodiment, ECML / XML languages are used to represent the site model. In some embodiments, site models can be exchanged with other systems.
Например, пользователь может последовательно посещать сайты различных авиакомпаний и турагентств для того, чтобы купить авиабилеты. Каждый сайт имеет поля на различных экранах для того, чтобы собирать информацию, которая примерно одинакова для разных сайтов. Однако каждый сайт использует разные HTML-формы, которые размещены на различных URL и которые могут меняться время от времени. И хотя информация на разных сайтах по природе своей может быть очень похожей, на настоящее время нет общего механизма автоматизации процесса заполнения полей форм информацией о пользовательских предпочтениях (таких как пожелания о местах, меню обедов, скидках на родственников и т.п.). Каждый сайт может иметь свой профиль максимального запоминания пользовательских предпочтений. И при таком положении вещей один пользователь должен создавать свой профиль на каждом таком сайте отдельно.For example, a user can sequentially visit the websites of various airlines and travel agencies in order to buy airline tickets. Each site has fields on different screens in order to collect information that is approximately the same for different sites. However, each site uses different HTML forms that are hosted on different URLs and which may change from time to time. Although the information on different sites can be very similar in nature, there is currently no general mechanism for automating the process of filling out form fields with information about user preferences (such as suggestions about places, lunch menus, discounts for relatives, etc.). Each site can have its own profile for maximum memorization of user preferences. And in this state of affairs, one user must create his profile on each such site separately.
В настоящее изобретение включена эвристическая модель распознавания полей. При таком подходе в идентификации нужных полей форм учитывается их пространственное расположение относительно надписей, относящихся к этим полям. Комбинации надписей к полю и HTML-атрибутов поля (особенно атрибут "name" HTML-элементов "input", "select" и "action") будут даны на вход эвристического функционала, который имеет словарь для облегчения идентификации нужных полей.A heuristic field recognition model is included in the present invention. With this approach, in the identification of the required form fields, their spatial location relative to the labels related to these fields is taken into account. Combinations of field labels and HTML field attributes (especially the "name" attribute of the HTML elements "input", "select" and "action") will be given to the input of the heuristic functional, which has a dictionary to facilitate identification of the required fields.
В другом варианте реализации настоящее изобретение включает в себя распознавание полей с помощью пользователя. При таком подходе пользователь по своей инициативе перехватывает ввод, нажимая кнопку "Запомнить" такого элемента управления, который позволит серверу забрать информацию о последовательности действий, которую выполняет пользователь. Когда пользователь выполняет это, он вполне может "отыграть назад" последовательность действий (похоже на запоминание макроса, применяемое в некоторых программах). Таким образом, появляется возможность подать последовательность действий пользователя в эвристический функционал и также запомнить ее прямо в таблицах разметки, которые используются этим функционалом.In another embodiment, the present invention includes user recognition of fields. With this approach, the user, on his own initiative, intercepts the input by pressing the "Remember" button of such a control that allows the server to collect information about the sequence of actions that the user performs. When the user does this, he can "play back" the sequence of actions (similar to remembering the macro used in some programs). Thus, it becomes possible to submit the sequence of user actions to the heuristic functional and also remember it directly in the markup tables that are used by this functional.
В предпочтительном варианте реализации изобретения два вышеупомянутых подхода требуют некоторого вмешательства пользователя для того, чтобы полностью завершить процесс создания разметки заполнения и разметки расположения полей с целью наиболее полного отражения навигации по сайту и возможностей по заполнению полей, что и делает данное изобретение применимым. Когда это необходимо, живые люди действуют примерно таким же образом, как и алгоритм распознавания полей с помощью пользователя, хотя, конечно, они предоставят намного больше информации об их процессах навигации и заполнения форм, чем усредненный пользователь. Но в любых случаях, та информация, которая собирается, используется для создания карт процессов (или подробных карт сайтов), которые отражают последовательность действий (заполнение форм, HTTP ответ, HTTP запрос и т.п.), с помощью которых и осуществляется работа с сайтом. Также будет сгенерирована карта полей форм для каждой web-страницы карты процесса там, где карта полей определяет точные имена полей, которые могут использоваться для автоматизации отправки форм. Могут также потребоваться карты состояний для того, чтобы отслеживать состояние пользователя во время взаимодействия с web-сайтом (например, такие состояния пользователя, как вошел в систему или не вошел в систему, будут влиять на результат определенных действий на сайте).In a preferred embodiment of the invention, the two above approaches require some user intervention in order to fully complete the process of creating markup for filling and marking the location of fields in order to most fully reflect site navigation and possibilities for filling in the fields, which makes this invention applicable. When necessary, living people act in much the same way as the user recognition algorithm for fields, although, of course, they will provide much more information about their navigation and filling out forms than the average user. But in any cases, the information that is collected is used to create process maps (or detailed site maps) that reflect the sequence of actions (filling out forms, HTTP response, HTTP request, etc.), with which you work with site. A form field map will also be generated for each process page web page where the field map determines the exact field names that can be used to automate form submission. State maps may also be required in order to track the state of the user while interacting with the website (for example, user states such as being logged in or not logged in will affect the outcome of certain actions on the site).
В предпочтительном варианте реализации изобретения процесс взаимодействия с пользователем может быть или полностью автоматизированным (пользователь сообщает о своем желании осуществить записанную в виде скрипта последовательность действий) или во взаимодействии может иметь место участие пользователя (здесь настоящее изобретение может автоматически заполнить поля форм, оставляя пользователю возможность корректировать, менять и заполнять любое поле, которое требует дополнительного ввода данных). В дополнении к известным товарам и услугам настраиваемая технология в виде карт процессов и полей может применяться и для новых товаров и услуг, позволяя предпринимателям облегчить автоматизацию ввода данных от посетителей сайта. Например, если предприниматель составил карты процессов и полей для своих заказчиков (любым способом, описанным выше), он может продавать эту информацию или услуги и товары заказчикам третьей стороны. Сайты, для которых существуют подобные карты, могут также выиграть от этого, поставляя аналогичный сервис и тем заказчикам, которые не имеют доступа к такой системе. Основополагающие процессы сами по себе основаны на системе, которая собирает информацию и преобразует ее, например, в XML или ECML. Эти стандартные представления могут формировать базу обмена информацией для упомянутых товаров и услуг.In a preferred embodiment of the invention, the user interaction process can be either fully automated (the user announces his desire to carry out a sequence of actions recorded as a script) or the user can participate in the interaction (here the present invention can automatically fill in the form fields, leaving the user with the opportunity to adjust , change and fill in any field that requires additional data entry). In addition to well-known products and services, a customizable technology in the form of process and field maps can be applied to new products and services, allowing entrepreneurs to facilitate the automation of data entry from site visitors. For example, if an entrepreneur compiled maps of processes and fields for his customers (in any way described above), he can sell this information or services and goods to third-party customers. Sites for which such cards exist can also benefit from this by delivering a similar service to those customers who do not have access to such a system. The underlying processes themselves are based on a system that collects information and converts it, for example, into XML or ECML. These standard representations can form the basis for the exchange of information for the mentioned goods and services.
Обратимся теперь к Фиг.11. Процесс 900, реализованный в программе-активаторе соответствующим образом, включает в себя инициализацию приложения (шаг 902), проверку универсального указателя ресурса (URL), в то время как пользователь просматривает сайт или делает онлайновой покупки (шаг 904), с определением просматривает ли пользователь поддерживаемый сайт (шаги 908 и 912) и с выдачей соответствующих ответов на шаге 908 и 912 (соответственно). Другие возможности (такие как бонусы, спецпредложения, отслеживание, безопасность и тому подобное) могут быть реализованы на шаге 916.Turning now to FIG. 11. The
Шаг 902 инициализации соответствующим образом включает в себя запуск приложения активатора и инициализацию приложения. Приложение активатора может быть инициализировано как результат включения системы в работу, подсоединения к сети (такой как Интернет или локальная сеть) или инициализацией браузера (такого как Internet Explorer от компании Microsoft, г. Редмонд, штат Вашингтон, США или Netscape Navigator от компании Netscape, г. Маунтин-Вью, штат Калифорния, США). В некоторых вариантах реализации приложение-активатор может общаться с сервером 140 электронного бумажника (Фиг.1-3), приложением 406 электронного бумажника (Фиг.6) или с другим сервером сети 102 (сетевым сервером). Приложение-активатор соответствующим образом обращается к удаленному серверу для того, чтобы получить информацию, такую как список web-сайтов, доменных имен или URL, которые поддерживаются электронным бумажником.
Эта информация может получаться на регулярной основе (т.е. ежедневно, ежемесячно или при каждой инициализации программы-агента), или когда последует запрос от приложения-активатора или сервера. В различных вариантах реализации приложение-активатор хранит список поддерживаемых URL в кэше (быстродействующая буферная память), в файле на локальном диске или в памяти пользовательского компьютера.This information can be obtained on a regular basis (i.e. daily, monthly, or each time the agent program is initialized), or when a request from the activator application or server follows. In various embodiments, the activator application stores a list of supported URLs in a cache (high-speed buffer memory), in a file on a local disk, or in the memory of a user computer.
По мере того как пользователь просматривает Интернет или другую сеть 102 передачи данных, приложение-активатор соответствующим образом отслеживает расположение пользователей в сети. Одним из способов отслеживания пользователя является способ отслеживания URL, используемых браузером пользователя. В таких реализациях приложение-активатор получает текущий URL от браузера пользователя (или от сетевого интерфейса системы соответственно) и сравнивает (шаг 906) текущий URL со списком поддерживаемых URL, полученных от удаленного сервера на шаге 902 инициализации. Такие сравнения показаны на логически выделенных шагах 906, 908, 912 и 916 на Фиг.11, хотя эти шаги могут быть объединены или разбиты любым образом без потери смысла изобретения. Например, хотя на Фиг.11 показано выполнение многократного сравнения, для некоторых вариантов реализации изобретения достаточно однократного сравнения текущего URL со списком поддерживаемых URL.As the user browses the Internet or another
Если текущий URL соответствует поддерживаемому URL, то приложение-активатор реагирует соответствующим образом. Например, если на текущем URL есть поддерживаемая страница оформления покупки (да, на шаге 908), тогда приложение-активатор выполняет процесс оформления покупки (шаг 910). Процесс оформления покупки может включать оповещение пользователя о том, что эта страница оформления покупки поддерживается путем выдачи окна сообщения или путем высвечивания определенной иконки на системной панели или в отдельном окне. Если приложение 214, обслуживающее электронный бумажник, еще не запущено, приложение-активатор может выдать окно диалога или другое оповещение пользователя, что эта страница поддерживается приложением 214, обслуживающим электронный бумажник. Такое окно может иметь кнопку или другой механизм, которым пользователь может запустить приложение 214, обслуживающее электронный бумажник.If the current URL matches the supported URL, then the activator application responds accordingly. For example, if the current URL has a supported checkout page (yes, at step 908), then the activator application performs the checkout process (step 910). The checkout process may include notifying the user that this checkout page is supported by displaying a message box or by highlighting a specific icon on the system panel or in a separate window. If the
Если текущий URL соответствует поддерживаемой странице оформления платежа (да, на шаге 912), приложение-активатор может предоставить приложению, обслуживающему электронный бумажник, инструкции по оформлению платежа или другие разрешающие инструкции в отношении приложения, обслуживающего электронный бумажник (шаг 914). Сообщения, циркулирующие между приложением-активатором, приложением, обслуживающим электронный бумажник, браузером и т.п., могут рассылаться с помощью технологий передачи сообщений Open Desktop, связывания и встраивания объектов (OLE - Object Linking and Embedding), вызовов объектных процедур и т.п.If the current URL matches the supported checkout page (yes, at step 912), the activator application can provide the electronic wallet application with payment instructions or other authorization instructions for the electronic wallet application (step 914). Messages circulating between an activator application, an application serving an electronic wallet, a browser, etc., can be sent using Open Desktop messaging technologies, Object Linking and Embedding (OLE), object procedure calls, etc. P.
В различных вариантах реализации изобретения функции, описанные выше, осуществляются с помощью cookies (пароль или фрагмент данных об обращении пользователя к серверу), как это описано ниже. Cookies используются для определения достоверного контекста пользователя. Если обнаружен достоверный контекст пользователя, тогда приложение-активатор либо запускает серверное приложение, либо запускает серверный тулбар, который позволит пользователю запустить другие приложения. Например, браузер пользователя может иметь некоторые cookies, которые могут указывать на возможность осуществления покупки или через обычный платеж, или по особой карточке. Активатор может выдать тулбар, который позволит пользователю выбрать нужный платежный инструмент (т.е. обычный платеж или по карточке электронного бумажника пользователя). Необходимо отметить, что доступные приложения не есть обязательно приложения, связанные с трансакциями покупки. В некоторых реализациях контекстная информация запоминается и на сервере и в cookies браузера. Например, cookies могут служить ключом, в соответствии с которым контекстная информация может быть загружена с сервера.In various embodiments of the invention, the functions described above are carried out using cookies (password or a piece of data about the user's access to the server), as described below. Cookies are used to determine the authentic context of the user. If a valid user context is found, then the activator application either launches the server application or launches the server toolbar, which will allow the user to start other applications. For example, the user's browser may have some cookies, which may indicate the possibility of making a purchase either through a regular payment or by a special card. The activator can issue a toolbar that will allow the user to select the desired payment instrument (i.e. a regular payment or on the user's electronic wallet card). It should be noted that available applications are not necessarily applications related to purchase transactions. In some implementations, contextual information is stored on both the server and browser cookies. For example, cookies can serve as the key according to which contextual information can be downloaded from the server.
Другие функции (шаг 916) также могут быть включены в приложение-активатор. Например могут быть реализованы механизмы защиты (такие как те, что были описаны выше и еще будут описаны ниже), функции отслеживания заказчика, бонусы, спецпредложения и тому подобные. В случае с бонусами или спецпредложениями активатор может воспринимать текущий URL как относящийся к определенному товару или web-странице. Когда пользователь придет к определенному поддерживаемому URL, приложение-активатор отмечает совпадение и выдает пользователю (через окно диалога, браузер или как еще) спецпредложение, такое как возможность покупки определенного товара или возможность получение скидки при покупке. Необходимо отметить, что в приложение-активатор могут быть включены и другие функции в рамках настоящего изобретения.Other functions (step 916) may also be included in the activator application. For example, protection mechanisms can be implemented (such as those that were described above and will be described below), customer tracking functions, bonuses, special offers, and the like. In the case of bonuses or special offers, the activator can perceive the current URL as referring to a specific product or web page. When the user arrives at a specific supported URL, the activator application notes the match and gives the user (through a dialog box, browser, or whatever) a special offer, such as the ability to purchase a certain product or the opportunity to receive a discount on a purchase. It should be noted that other functions within the scope of the present invention may be included in the activator application.
В некоторых вариантах реализации настоящего изобретения клиент 214 электронного бумажника (Фиг.4) обеспечивает формы, предварительно заполненные специфичной информацией о покупателе. В соответствии с Фиг.1-3 пользователь может обращаться к электронному бумажнику через обращение к web-серверу, такому как сервер электронного бумажника 140 сети 102. Для того чтобы воспользоваться электронным бумажником, пользователь заполняет регистрационную форму (которая может быть, например, сгенерирована CGI-скриптом). Сервер электронного бумажника 140 соответствующим образом получает демографическую, банковскую и другую информацию (т.е. адрес, адрес доставки, имя, номер кредитной карточки и т.п.) от сервера 306 авторизации (Фиг.5) или другого сервера частной сети. Эта информация может использоваться для конфигурирования клиента 214 электронного бумажника (Фиг.4), который однозначно закрепляется за каждым пользователем. Одним из способов конфигурирования клиента 214 электронного бумажника является создание конфигурационного файла, который ассоциируется с клиентом 214 и который считывается клиентом 214 для того, чтобы получить информацию для электронного бумажника, как это описано выше.In some embodiments of the present invention, the electronic wallet client 214 (FIG. 4) provides forms pre-populated with specific customer information. 1-3, a user can access an electronic wallet through a web server, such as an
Регистрационная информация предпочтительно также включает в себя информацию о считывающем устройстве для обработки карточек, которая в свою очередь включает в себя указание на то, к какому порту, последовательному или USB, подключено считывающее устройство. Если пользователь согласен на установку приложения обслуживания электронного бумажника, пользователю устанавливается или поставляется считывающее устройство для обработки кредитных карточек, а также специальный код (такой как криптографический ключ, или пароль, или еще какой код в электронной или печатной форме). Затем пользователь регистрирует себя на сервере электронного бумажника 140 и авторизуется с помощью карточки или специального кода. После ввода специального кода пользователь получает особым образом сконфигурированное программное обеспечение для обслуживания электронного бумажника, которое может быть установлено на пользовательском компьютере 110 соответствующим образом. Процедура предварительного заполнения форм электронного бумажника может быть проведена с помощью любой кредитной или платежной карточки, путем простого ассоциирования версии программы обслуживания электронного бумажника со специальным кодом. Конфигурационная информация определенного пользователя ассоциируется с тем кодом, который был предоставлен этому пользователю, и пользователь впоследствии может использовать специальный код для авторизации себя на сервере электронного бумажника 140 для того получения копии программного обеспечения электронного бумажника, сконфигурированного данными специально для этого пользователя.The registration information preferably also includes information about a card reader, which in turn includes an indication of which port, serial or USB, the reader is connected to. If the user agrees to install the electronic wallet service application, the user is set up or supplied with a credit card reader, as well as a special code (such as a cryptographic key or password, or some other code in electronic or printed form). The user then registers himself on the server of
На Фиг.1-3 и 12 показано, как заказчик 110 соответствующим образом инициирует трансакцию путем входа на сервер электронного бумажника 140 посредством смарт-карточки 202. Для того чтобы зайти на сервер электронного бумажника 140, заказчик 110, может сначала подсоединиться к серверу 130 безопасности посредством браузера 216. Пользователь выбирает определенный URL для вызова входной страницы посредством обращения к закладке (букмарку), или щелкая по иконке или ссылке, или другим способом. Сервер безопасности может вернуть страницу авторизации посредством интерфейса 302 сети. В некоторых реализациях форма ввода и кнопка отправки пользовательского логина и пароля и гиперссылка авторизации смарт-карточки является частью страницы авторизации. Пользователь выбирает авторизацию смарт-карточки, и браузер 216 соответствующим образом реагирует, посылая сообщение на запрос авторизации 1002 (Фиг.12). Сервер 130 безопасности получает запрос на авторизацию 1002 и инициирует процесс авторизации смарт-карточки, как это необходимо. В некоторых реализациях сервер 130 безопасности формирует криптографический отклик (запрос) серверу 306 авторизации или модулю 304 безопасности в ответ на сообщение запроса на авторизацию 1002. Криптографический отклик 1004 есть сообщение любого рода, лишь бы он препятствовал атакам с повторами (т.е. таким атакам, при которых фальшивые сообщения формируются повторной посылкой ранее посланных пакетов авторизации), например отклик с посылкой произвольных данных, направленный на то, чтобы получить ответ от приложения Х.509, хранимого в смарт-карточке 202. Отклик затем направляется в адрес заказчика 110 посредством сети 102 в качестве сообщения-отклика 1004.Figures 1-3 and 12 show how
По получении сообщения отклика (запроса) 1004, браузер 216 направляет сообщение 1004 клиенту 214 электронного бумажника для обработки смарт-карточкой 202. Если клиент 214 не запущен, то браузер 216 может автоматически запустить эту программу. Клиент 214 электронного бумажника затем соответствующим образом подготавливает ответ-подпись. Например, клиент 214 электронного бумажника может считывать информацию отклика сервера, формировать новый пользовательский запрос (т.е. второй криптографический отклик для смарт-карточки 202), скомбинировать оба отклика в двойной запрос и рассчитать хэш-код двойного запроса для последующего использования, например в криптографическом блоке криптографической системы типа 1 с открытым ключом (Public-Key Cryptography System 1 (PKCS1)). Хэш-код может быть рассчитан в соответствии с любым алгоритмом, таким, например, как MD3 или MD4, и использоваться для того, чтобы гарантировать полностью и точность данных в блоке двойного запроса. Под PKCS понимается криптографический стандарт с общим ключом, определяющий механизмы кодирования и подписи данных, и использованием открытого ключа криптосистемы RSA. Стандарт PKCS полностью определен в документе "PKCS #1: криптографические спецификации RSA версии 2.0" (PKCS #1: RSA Cryptography Specifications Version 2.0), датированном сентябрем 1998 г. (доступным на https://www.rsa.com/rsalabs/pubs/PKCS/html/pkcs-1.html) и упомянутым здесь в качестве справочного материала.Upon receipt of a response message (request) 1004, the browser 216 sends a
Блок PKCS1 соответствующим образом доставляется на смарт-карточку 202 на обработку посредством считывающего устройства 204 для обработки карточек (шаг 1006 на Фиг.12). Для того чтобы получить доступ к карточке, в некоторых реализациях считывающее устройство 204 для обработки карточек взаимодействует с пользовательским компьютером, чтобы запросить от пользователя ввод персонального идентификатора, например персональный идентификационный номер (PIN) или другой однозначно определяющий идентификатор. В предпочтительном варианте реализации PIN хранится на самой карточке 202. В других случаях PIN или другой персональный идентификатор может храниться где-либо в системе, например в считывающее устройство 204 для обработки карточек или на компьютере покупателя 110. Пользователь соответствующим образом вводит персональный идентификатор для того, чтобы открыть доступ к смарт-карточке 202, которая получает блок двойного запроса от клиента 214 электронного бумажника и затем проставляет на блок цифровую подпись. В некоторых реализациях смарт-карточка 202 имеет личный ключ, используемый для расчета цифровой подписи для этого блока. Подписанный блок затем возвращается клиенту 214 электронного бумажника. В некоторых реализациях смарт-карточка 202 также обеспечивает сертификат (такой как сертификат Х.509), который соответствует личному ключу, используемому для расчета цифровой подписи.The PKCS1 block is appropriately delivered to the
По получении подписи и сертификата от смарт-карточки 202 клиент 214 электронного бумажника соответствующим образом создает необходимое ответное сообщение 1008 для отсылки серверу 130 безопасности. И хотя ответное сообщение 1008 может быть в любом формате, в некоторых реализациях оно форматируется как сообщение PKCS7, как это определено в стандарте "PKCS#7 Стандарта синтаксиса криптографических сообщений. Техническая записка лаборатории RSA, версия 1.5", ("PKCS#7. Cryptographic Message Syntax Standard. An RSA Laboratories Technical Note") версии от 1 ноября 1993 г., доступное на ftp:https://ftp.rsa.com/pub/pkcs/doc/pkcs-7.doc и полностью введенное в данное описание посредством ссылки.Upon receipt of the signature and certificate from the
По получении ответного сообщения 1008 сервер 130 безопасности обрабатывает это сообщение, как это необходимо (шаг 1010 на Фиг.12). В некоторых реализациях ответное сообщение 1008 направляется серверу 306 авторизации, который проверяет сертификат и подпись, полученные от смарт-карточки 202. При успешных верификации сертификата и проверки подписи в некоторых реализациях может быть сгенерировано средство безопасной идентификации, которое возвращается покупателю 110 или на смарт-карточку 202.Upon receipt of the
В дальнейшем, использование средства безопасной идентификации дает пользователю возможность устанавливать свою подлинность и безопасно работать с электронным бумажником. В некоторых реализациях сервер 306 авторизации может создавать дополнительное средство безопасной идентификации для того, чтобы идентифицировать пользователя. В других реализациях такое средство идентификации может состоять из многих частей, впоследствии привязываемых к соответствующему цифровому сертификату, смарт-карточке или другим данным, возможно, с использованием базы данных 310. В третьих вариантах реализации дополнительное средство идентификации и его части могут быть направлены покупателю (заказчику) 110 в сочетании с сообщением о перенаправлении 1012. В различных вариантах реализации дополнительное средство идентификации может быть направлено заказчику или поддерживаться на сервере 306.In the future, the use of a secure identification tool allows the user to establish their identity and work safely with an electronic wallet. In some implementations, the
По получении сообщения о перенаправлении 1012 покупатель 110 соответствующим образом соединяется с сервером электронного бумажника 140 и делает запрос на подключение. В некоторых реализациях сообщение 1014 "Запрос на подключение" соответствующим образом включает в себя средство идентификации и, возможно, дополнительное средство безопасной идентификации полностью или частично как составляющее сообщения о перенаправлении 1012. Сервер электронного бумажника 140 запрашивает сервер автоматизации, используя некую комбинацию средств безопасной идентификации полностью или частично так, чтобы осуществить идентификацию покупателя 110. Запрос 1016 и ответ 1018 соответствующим образом передаются через сеть передачи данных (канал) 150, которая в некоторых реализациях поддерживается отделенной от сети 102 для того, чтобы повысить безопасность системы 100. В альтернативных вариантах реализации может быть задействована сеть 102, которая в некоторых реализациях может предоставлять улучшенную безопасность посредством технологий виртуальной частной сети (Virtual Private Network), протокола SSL, использования общих секретных ключей и/или других криптографических средств. Если возвращаемые удостоверения 1018 в порядке, сервер электронного бумажника 140 считывает атрибуты соответствующего покупателя 110 из базы данных электронного бумажника и уведомляет покупателя об успешном входе в систему с помощью сообщения 1020. Необходимо отметить, что возможны и другие варианты реализации процедуры входа в систему. Необходимо также отметить, что для выполнения последовательности входа в систему 1000 могут использоваться любые шифровальные схемы, форматы сообщений и т.п.Upon receipt of a
Теперь обратимся к Фиг.13. Типовая процедура авторизации, пригодная для использования в торговых трансакциях, инициируется покупателем (пользователем) 110 путем посылки запроса 1102 на трансакцию на сервер электронного бумажника 140 для каждого события (такого как покупка), для которого авторизация необходима. Сервер электронного бумажника соответствующим образом опознает это событие и посылает сообщение-запрос 1104 серверу 130 безопасности, например, через коммуникационный канал 150 для формирования сообщения-запроса. Сервер 306 авторизации (или какой-нибудь другой компонент сервера 130 безопасности) затем формирует отклик 1106 (который может включать рандомизированные данные) и выдает отклик 1106 на сервер электронного бумажника 140 через, например, соединение (канал) 150. Сервер электронного бумажника получает отклик 1106 и направляет информацию отклика браузеру 216 в качестве сообщения-запроса на электронную подпись 1108. Браузер 216 запускает клиент 214 электронного бумажника, если это необходимо, и перенаправляет сообщение-запрос на электронную подпись 1108. В соответствии с описанным выше клиент 214 электронного бумажника формирует блок сообщения-запроса на электронную подпись как блок типа PKCS1 и включает в него запрос серверу, запрос заказчику и хэш-код. Результирующий блок сообщения-запроса на электронную подпись подается на смарт-карточку 202 посредством считывающего устройства 204 для обработки карточек. Смарт-карточка 202 соответствующим образом подписывает этот блок и прописывает копию встроенного в нее сертификата Х.509.Now turn to Fig.13. A typical authorization procedure suitable for use in trade transactions is initiated by the buyer (user) 110 by sending a
Подписанный блок затем может быть возвращен клиенту 214 электронного бумажника, который формирует соответствующее сообщение-ответ на электронную подпись 1110 (такое как сообщение PKCS7) и посылает его серверу электронного бумажника 140. Сервер электронного бумажника 140 затем формирует сообщение о проверке подлинности 1112, которое включает в себя данные из сообщения-ответа на электронную подпись 1110 и средство безопасной идентификации, ассоциированное с покупателем 110 во время процесса входа в систему (такое как для примера процесса входа в систему, показанного на Фиг.10). В других реализациях применяемое средство безопасной идентификации получается от покупателя 110 как часть сообщения-ответа на электронную подпись 1110. Сообщение о проверке подлинности 1112 посылается серверу 130 безопасности через соединение 150. Сервер 130 безопасности может затем соответствующим образом перенаправить сообщение о проверке подлинности серверу 306 авторизации, который может проверить подпись и получить средство безопасной идентификации из базы данных 310 (шаг 1114 на Фиг.13). Это средство безопасной идентификации и/или дополнительный однозначный идентификационный код, полученные из базы данных, затем сравниваются со средством безопасной идентификации или идентификатором, полученным от сервера электронного бумажника 140. Если два этих объекта (т.е. средства безопасной идентификации или идентификаторы) идентичны, то можно заключить, что карточка, которая в настоящее время используется покупателем 110, есть та же карточка, которая использовалась покупателем 110 во время процедуры входа в систему. Затем соответствующее разрешающее или запрещающее сообщение 1116 посылается от сервера 130 безопасности серверу электронного бумажника 140 и трансакция может быть продолжена.The signed block can then be returned to the
В некоторых вариантах реализации сервер 140 электронного бумажника играет во время трансакций роль прокси-сервера (представителя) покупателя 110. Например, сервер электронного бумажника 140 может заполнять формы заказа от имени покупателя, вводить адрес доставки, номер карточки и т.п. Продавец 120 может затем разрешить трансакцию покупки как трансакцию с обычной расходной карточкой с использованием обычной аппаратуры и программного обеспечения. Но необходимо понимать, однако, что предоставляемая раскрытыми здесь системами дополнительная безопасность позволит иметь большую степень доверия к личности покупателя, таким образом снижая дисконтные ставки на проведение трансакции.In some embodiments, the
Различные варианты реализации данного изобретения включают в себя дополнительную защиту брешей в системе безопасности. Из-за того что многие серверные функции, реализованные, к примеру, на сервере 130 безопасности или сервере электронного бумажника 140, могут включать в себя различные компоненты, написанные на языках скриптов, таких как JavaScript (в соответствии со спецификациями фирмы Sun Microsystems, г. Маунтин-Вью, штат Калифорния, США) или VBscript (в соответствии со спецификациями фирмы Microsoft, г. Редмонд, штат Вашингтон, США), серверы, подключенные к сети 102, могут предлагать различные функции, реализованные на таких серверных языках программирования, многим заказчикам 110 посредством доставки скриптов (кода) от сервера заказчику. Этот код интерпретируется, компилируется и как-то исполняется пользовательским компьютером 110. В реализациях, задействующих, например, JavaScript, скрипты интерпретируются и исполняются просмотровой программой (такой как Internet Explorer, Netscape Communicator и т.п.), выполняемых на пользовательском компьютере 110. В других вариантах реализации задействованы иные, не совместимые с PC браузеры, например телефоны, работающие по стандарту беспроводного протокола (Wireless Application Protocol, WAP), который поддерживает скрипты языка разметки WML. Многие языки написания скриптов могут иметь команды, объекты или другие механизмы управления данными, например для доступа к файлам на жестком диске пользователя или других манипуляций с данными на компьютере пользователя. Для того чтобы предотвратить получение исполняемого кода из несанкционированных источников, язык скрипта может включать в себя механизм, который позволит пользователю разрешать скрипты, полученные только из доверенных источников. Например, пользователь, проводящий электронную трансакцию, как это описано выше, может разрешать исполнение скриптов, загруженных с сервера электронного бумажника, но может запрещать исполнение на своем компьютере скриптов, полученных из других источников.Various embodiments of the present invention include additional security vulnerabilities. Due to the fact that many server functions implemented, for example, on
Потенциальная проблема с безопасностью, обнаруживаемая во многих языках скриптов, показана на Фиг.14. Недобросовестный "хакер" может создать web-сайт 1204, который специально предназначен для проведения злонамеренных действий против пользователя законного web-сервера 1206. Хакерский сайт 1204 (обозначенный на фигуре как "преступный web-сервер") может, например, поставить пользователю фрагмент кода, такой как скрипт. Хакерский сайт 1204 может также заставить web-браузер пользователя 216 обратиться к определенному универсальному локатору ресурса (URL) на законном сервере 1206 (таком как сервер электронного бумажника 140 или любой другой сервер сети 102). Запрашиваемый URL может быть хитро переделан так, что законный сервер вернет, например, сообщение об ошибке или другой ответ браузеру 216 пользователя. В некоторых реализациях такой ответ законного сервера может включать в себя части запроса от браузера 216 пользователя или их вариации. Если такой ответ включает в себя JavaScript, VBscript или другой исполняемый код, сгенерированный как результат злонамеренных атак преступного сайта 1204, тогда ясно, что на компьютере пользователя можно исполнять такие коды. Этот пример иллюстрирует одну из многих технологий, благодаря которым "хакер" может заставить законный web-сервер вернуть спровоцированный ответ браузеру пользователя. Так как разные исполняемые системы и скриптовые языки содержат команды для получения доступа к файловой системе, реестру и т.п., понятно, что несанкционированное исполнение такого кода является крайне нежелательным. Тем не менее технология, показанная на Фиг.14, может позволить поставку на компьютер пользователя скрипта или другого кода от преступного сайта 1204. Так как компьютер пользователя считает, что скрипт пришел из надежного источника (т.е. от сервера электронного бумажника), то пользовательский компьютер может исполнять код с преступного сайта, создавая таким образом потенциальную угрозу повреждения или несанкционированного сброса данных, их разрушения и т.п. На Фиг.15 проиллюстрирован корректный порядок следования операций взаимодействия, который должен иметь место (вместо преступной атаки, как показано на Фиг.14).A potential security issue found in many scripting languages is shown in FIG. An unscrupulous "hacker" can create a
Для того чтобы предотвратить образование таких потенциальных проблем с безопасностью, в различные варианты реализации настоящего изобретения включаются соответствующие технологии для уменьшения или устранения нежелательного исполняемого кода. Обратимся к Фиг.16. Процесс 1300, назначением которого является отражение скриптоподобных атак, соответствующим образом включает в себя шаги по уменьшению количества серверных частей, имеющих повышенные привилегии (шаг 1302), удалению опасных символов внутри этих частей сайта (шаг 1304), кодированию некоторых спецсимволов, где это необходимо (шаг 1306), и возможно записи в лог файл информации, которая идет пользователям от соответствующих частей web-сайта (шаг 1308).In order to prevent the formation of such potential security problems, various technologies are included in various embodiments of the present invention to reduce or eliminate unwanted executable code. Turning to FIG. 16. The
Рассмотрим шаг 1302. Web-сайт обычно включает в себя различные страницы, каждая из которых имеет однозначно определяющий ее URL. Пользователи сайта могут оказывать повышенное доверие определенным серверам (таким как те, которые соответствуют зарекомендовавшим себя финансовым или торговым организациям). Ограничивая область высокого доверия только частью web-сайта (т.е. ограниченным подмножеством URL, соответствующим зарекомендовавшему себя web-сайту), можно понизить уровень доверия, оказываемого остальной части сайта, таким образом повышая безопасность. Доверие может быть ограничено определенной частью сайта путем конфигурирования web-браузера пользователя так, чтобы он, например, доверял только части сайта. Web-браузер может быть сконфигурирован вручную или с помощью скрипта, например поставляемого с сервера электронного бумажника. Когда только определенные страницы (т.е. часть) web-сайта получат повышенные привилегии, любой скрипт, полученный при обращении к другим страницам, или вообще не будет выполняться, или по крайней мере не будет выполняться в режиме повышенных привилегий.Consider
В дополнении к тому (или вместо того) чтобы конфигурировать клиента так, что он "доверяет" только определенной части сервера, сам сервер может быть сконфигурирован так, чтобы улучшить безопасность клиент-серверного взаимодействия. Например, для улучшения безопасности скрипты с повышенными привилегиями могут быть запрещены на большинстве серверов. Более того, данные, передаваемые на доверяемую часть web-сайта, могут быть отслежены и/или изменены перед отправкой их пользователю (шаг 1304 и 1306). Большинство языков написания скриптов используют специальные символы для формирования своих команд. Например, команды в языке JavaScript часто кодируются предложениями, помещенными между угловыми скобками ("<" и ">"). Следовательно угловые скобки могут быть удалены из любого контента, который должен быть возвращен с доверяемой части web-сайта. Если бы на web-странице, полученной с доверяемой части сайта, должна быть злонамеренная JavaScript программа, которая, например, пытается использовать угловые скобки, команды скрипта не будут исполняться на компьютере пользователя, так как эти команды не будут синтаксически правильно отформатированы после удаления угловых скобок. С другой стороны, некоторые "опасные" символы (такие как угловые скобки в JavaScript) могут быть возвращены в другом формате, например в формате "амперсанд" ("&"), или в значениях Американского кода обмена информацией (ASCII), или путем замены "опасных" символов безопасными, такими как символ "пробела" (шаг 1306). Необходимо отметить, что любые символы можно удалять или перекодировать только в зависимости от того, какой именно используется язык скрипта, исполнительная среда и т.п.In addition to (or instead of) configuring the client so that it “trusts” only a certain part of the server, the server itself can be configured to improve the security of client-server interaction. For example, to improve security, scripts with elevated privileges may be prohibited on most servers. Moreover, the data transmitted to the trusted part of the website can be monitored and / or changed before sending it to the user (
В некоторых вариантах реализации изобретения на дополнительном шаге 1308 соответствующим образом включается лог информации от различных частей web-сайта. Весь контент, в котором перекодируются или удаляются символы, может быть записан в лог файл так, чтобы этот лог может быть подвергнут анализу для определения, опасен ли данный web-сайт для того, чтобы подвергать опасности сетевого клиента. Например, весь контент (содержимое), полученный от web-страницы, весь контент, полученный из доверительной части, или контент от любой другой части web-сайта может быть записан в лог в один или несколько файлов данных. Эти файлы данных могут быть соответствующим образом просмотрены или еще как проанализированы для того, чтобы понять, были ли предприняты попытки предоставления незаконного контента пользователям сервера.In some embodiments of the invention, at an
В некоторых случаях внутренние компьютеры могут быть подвергнуты атаке "преступного" сайта путем посылки контента, который содержит скрипт сетевому серверу, позволяющий записывать контент в файлы отслеживания (логи). Допустим, браузер был сконфигурирован давать повышенные привилегии файлам, хранящимся на сервере, как в реализациях, где пользователь просматривает файлы отслеживания через web и другие серверы электронной коммерции с использованием такого браузера, и при этом скрипт может быть запущен на сетевом клиенте под привилегиями сетевого сервера, доставившего эту запись отслеживания (т.е. под наивысшими привилегиями). Запуск такого скрипта может повлечь за собой удар, который может быть нанесен значительно позже после того, как скрипт был послан на сетевой сервер. Такая атака предотвратима путем использования таких же способов и процедур, какие были описаны выше для устранения передачи скриптов через сайты, как, например, вышеописанная "преступная" атака. Фильтр, такой как описанный на Фиг.16, запущенный на сетевом сервере, таком как web-сервер, или запущенный на сетевом клиенте, таком как браузер персонального компьютера, может отфильтровывать управляющие символы скриптов и перекодировать символы, отклонять символы или отклонять всю запись.In some cases, internal computers can be attacked by a "criminal" site by sending content that contains a script to a network server, which allows you to write content to tracking files (logs). Suppose the browser was configured to give elevated privileges to files stored on the server, as in implementations where the user views tracking files via the web and other e-commerce servers using such a browser, and the script can be run on a network client under network server privileges, who delivered this tracking record (i.e., under the highest privileges). Running such a script can result in a blow that can be delivered much later after the script has been sent to the network server. Such an attack is preventable by using the same methods and procedures that were described above to eliminate the transfer of scripts through sites, such as, for example, the above-described "criminal" attack. A filter, such as described in FIG. 16, running on a network server, such as a web server, or running on a network client, such as a personal computer browser, can filter script control characters and encode characters, reject characters, or reject the entire record.
Соответствующие структуры, материалы, действия и эквиваленты всех элементов нижеприведенной формулы изобретения подразумевают включение в них любых структур, материалов и действий для обеспечения реализации упомянутых функций в совокупности с другими заявляемыми в частных вариантах элементами. Объем притязаний данного изобретения следует определять в рамках заявляемых признаков формулы и их эквивалентов, не ограничивая его рассмотренными выше примерами.Appropriate structures, materials, actions and equivalents of all elements of the following claims mean the inclusion of any structures, materials and actions in them to ensure the implementation of the above functions in conjunction with other elements claimed in private versions. The scope of the claims of this invention should be determined in the framework of the claimed features of the formula and their equivalents, without limiting it to the above examples.
Claims (42)
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15188099P | 1999-08-31 | 1999-08-31 | |
US60/151,880 | 1999-08-31 | ||
US16557799P | 1999-11-15 | 1999-11-15 | |
US60/165,577 | 1999-11-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2002105505A RU2002105505A (en) | 2003-09-10 |
RU2252451C2 true RU2252451C2 (en) | 2005-05-20 |
Family
ID=35820901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2002105505/09A RU2252451C2 (en) | 1999-08-31 | 2000-08-30 | Method for performing transactions, computerized method for network server protection, transaction system, electronic wallet server, computerized online shopping method (variants) and computerized access control method |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2252451C2 (en) |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EA016984B1 (en) * | 2006-09-21 | 2012-08-30 | Азер Рич Лимитед | Device and methods for providing access to data stored on smart card |
RU2463726C2 (en) * | 2006-04-18 | 2012-10-10 | Нокиа Сименс Нетворкс Гмбх Унд Ко. Кг | Method of restricting access to data of group members and group management computer |
RU2465735C2 (en) * | 2007-04-27 | 2012-10-27 | Таль | System and device for parallelised processing |
RU2473178C2 (en) * | 2007-09-21 | 2013-01-20 | Нокиа Сименс Нетворкс Ой | Control of subscription and billing notice |
RU2473127C2 (en) * | 2006-12-20 | 2013-01-20 | Майкрософт Корпорейшн | Advertising integration and extensible themes for operating systems |
WO2013125982A1 (en) * | 2012-02-21 | 2013-08-29 | Rawllin International Inc. | Dual factor digital certificate security algorithms |
US8602293B2 (en) | 2009-05-15 | 2013-12-10 | Visa International Service Association | Integration of verification tokens with portable computing devices |
RU2501084C2 (en) * | 2009-04-28 | 2013-12-10 | Виза Интернэшнл Сервис Ассосиэйшн | Verification of portable consumer devices |
RU2505854C2 (en) * | 2008-04-25 | 2014-01-27 | Фраунхофер-Гезелльшафт цур Фёрдерунг дер ангевандтен Форшунг Е.Ф. | Apparatus, method and system for efficient distribution of conditional access information |
RU2518931C2 (en) * | 2009-12-28 | 2014-06-10 | Виза Интернэшнл Сервис Ассосиэйшн | System and method for processing payment transaction receipts |
US8827154B2 (en) | 2009-05-15 | 2014-09-09 | Visa International Service Association | Verification of portable consumer devices |
US8893967B2 (en) | 2009-05-15 | 2014-11-25 | Visa International Service Association | Secure Communication of payment information to merchants using a verification token |
US9038886B2 (en) | 2009-05-15 | 2015-05-26 | Visa International Service Association | Verification of portable consumer devices |
US9105027B2 (en) | 2009-05-15 | 2015-08-11 | Visa International Service Association | Verification of portable consumer device for secure services |
US9317848B2 (en) | 2009-05-15 | 2016-04-19 | Visa International Service Association | Integration of verification tokens with mobile communication devices |
US9424413B2 (en) | 2010-02-24 | 2016-08-23 | Visa International Service Association | Integration of payment capability into secure elements of computers |
US9715681B2 (en) | 2009-04-28 | 2017-07-25 | Visa International Service Association | Verification of portable consumer devices |
US9775029B2 (en) | 2014-08-22 | 2017-09-26 | Visa International Service Association | Embedding cloud-based functionalities in a communication device |
US9972005B2 (en) | 2013-12-19 | 2018-05-15 | Visa International Service Association | Cloud-based transactions methods and systems |
US10187363B2 (en) | 2014-12-31 | 2019-01-22 | Visa International Service Association | Hybrid integration of software development kit with secure execution environment |
US10255591B2 (en) | 2009-12-18 | 2019-04-09 | Visa International Service Association | Payment channel returning limited use proxy dynamic value |
US10282724B2 (en) | 2012-03-06 | 2019-05-07 | Visa International Service Association | Security system incorporating mobile device |
RU2722393C2 (en) * | 2015-05-26 | 2020-05-29 | Томмазо ФРИДЖЕРЬО | Telecommunication system for secure transmission of data in it and a device associated with said system |
US10846694B2 (en) | 2014-05-21 | 2020-11-24 | Visa International Service Association | Offline authentication |
US10846683B2 (en) | 2009-05-15 | 2020-11-24 | Visa International Service Association | Integration of verification tokens with mobile communication devices |
US11875344B2 (en) | 2013-12-19 | 2024-01-16 | Visa International Service Association | Cloud-based transactions with magnetic secure transmission |
-
2000
- 2000-08-30 RU RU2002105505/09A patent/RU2252451C2/en not_active IP Right Cessation
Cited By (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2463726C2 (en) * | 2006-04-18 | 2012-10-10 | Нокиа Сименс Нетворкс Гмбх Унд Ко. Кг | Method of restricting access to data of group members and group management computer |
EA016984B1 (en) * | 2006-09-21 | 2012-08-30 | Азер Рич Лимитед | Device and methods for providing access to data stored on smart card |
RU2473127C2 (en) * | 2006-12-20 | 2013-01-20 | Майкрософт Корпорейшн | Advertising integration and extensible themes for operating systems |
RU2465735C2 (en) * | 2007-04-27 | 2012-10-27 | Таль | System and device for parallelised processing |
RU2473178C2 (en) * | 2007-09-21 | 2013-01-20 | Нокиа Сименс Нетворкс Ой | Control of subscription and billing notice |
RU2505854C2 (en) * | 2008-04-25 | 2014-01-27 | Фраунхофер-Гезелльшафт цур Фёрдерунг дер ангевандтен Форшунг Е.Ф. | Apparatus, method and system for efficient distribution of conditional access information |
US9715681B2 (en) | 2009-04-28 | 2017-07-25 | Visa International Service Association | Verification of portable consumer devices |
US10997573B2 (en) | 2009-04-28 | 2021-05-04 | Visa International Service Association | Verification of portable consumer devices |
US10572864B2 (en) | 2009-04-28 | 2020-02-25 | Visa International Service Association | Verification of portable consumer devices |
RU2501084C2 (en) * | 2009-04-28 | 2013-12-10 | Виза Интернэшнл Сервис Ассосиэйшн | Verification of portable consumer devices |
US10043186B2 (en) | 2009-05-15 | 2018-08-07 | Visa International Service Association | Secure authentication system and method |
US10846683B2 (en) | 2009-05-15 | 2020-11-24 | Visa International Service Association | Integration of verification tokens with mobile communication devices |
US9038886B2 (en) | 2009-05-15 | 2015-05-26 | Visa International Service Association | Verification of portable consumer devices |
US9105027B2 (en) | 2009-05-15 | 2015-08-11 | Visa International Service Association | Verification of portable consumer device for secure services |
US9317848B2 (en) | 2009-05-15 | 2016-04-19 | Visa International Service Association | Integration of verification tokens with mobile communication devices |
US9372971B2 (en) | 2009-05-15 | 2016-06-21 | Visa International Service Association | Integration of verification tokens with portable computing devices |
US12086787B2 (en) | 2009-05-15 | 2024-09-10 | Visa International Service Association | Integration of verification tokens with mobile communication devices |
US9582801B2 (en) | 2009-05-15 | 2017-02-28 | Visa International Service Association | Secure communication of payment information to merchants using a verification token |
US11574312B2 (en) | 2009-05-15 | 2023-02-07 | Visa International Service Association | Secure authentication system and method |
US8827154B2 (en) | 2009-05-15 | 2014-09-09 | Visa International Service Association | Verification of portable consumer devices |
US8893967B2 (en) | 2009-05-15 | 2014-11-25 | Visa International Service Association | Secure Communication of payment information to merchants using a verification token |
US9792611B2 (en) | 2009-05-15 | 2017-10-17 | Visa International Service Association | Secure authentication system and method |
US8602293B2 (en) | 2009-05-15 | 2013-12-10 | Visa International Service Association | Integration of verification tokens with portable computing devices |
US10009177B2 (en) | 2009-05-15 | 2018-06-26 | Visa International Service Association | Integration of verification tokens with mobile communication devices |
US10387871B2 (en) | 2009-05-15 | 2019-08-20 | Visa International Service Association | Integration of verification tokens with mobile communication devices |
US10049360B2 (en) | 2009-05-15 | 2018-08-14 | Visa International Service Association | Secure communication of payment information to merchants using a verification token |
US10255591B2 (en) | 2009-12-18 | 2019-04-09 | Visa International Service Association | Payment channel returning limited use proxy dynamic value |
RU2702085C2 (en) * | 2009-12-18 | 2019-10-03 | Виза Интернэшнл Сервис Ассосиэйшн | Return by payment channel providing restricted use dynamic value authority |
RU2518931C2 (en) * | 2009-12-28 | 2014-06-10 | Виза Интернэшнл Сервис Ассосиэйшн | System and method for processing payment transaction receipts |
US9424413B2 (en) | 2010-02-24 | 2016-08-23 | Visa International Service Association | Integration of payment capability into secure elements of computers |
US9589268B2 (en) | 2010-02-24 | 2017-03-07 | Visa International Service Association | Integration of payment capability into secure elements of computers |
US10657528B2 (en) | 2010-02-24 | 2020-05-19 | Visa International Service Association | Integration of payment capability into secure elements of computers |
WO2013125982A1 (en) * | 2012-02-21 | 2013-08-29 | Rawllin International Inc. | Dual factor digital certificate security algorithms |
US10282724B2 (en) | 2012-03-06 | 2019-05-07 | Visa International Service Association | Security system incorporating mobile device |
US11995633B2 (en) | 2012-03-06 | 2024-05-28 | Visa International Service Association | Security system incorporating mobile device |
US11164176B2 (en) | 2013-12-19 | 2021-11-02 | Visa International Service Association | Limited-use keys and cryptograms |
US9972005B2 (en) | 2013-12-19 | 2018-05-15 | Visa International Service Association | Cloud-based transactions methods and systems |
US10402814B2 (en) | 2013-12-19 | 2019-09-03 | Visa International Service Association | Cloud-based transactions methods and systems |
US11875344B2 (en) | 2013-12-19 | 2024-01-16 | Visa International Service Association | Cloud-based transactions with magnetic secure transmission |
US10664824B2 (en) | 2013-12-19 | 2020-05-26 | Visa International Service Association | Cloud-based transactions methods and systems |
US11842350B2 (en) | 2014-05-21 | 2023-12-12 | Visa International Service Association | Offline authentication |
US10846694B2 (en) | 2014-05-21 | 2020-11-24 | Visa International Service Association | Offline authentication |
US11036873B2 (en) | 2014-08-22 | 2021-06-15 | Visa International Service Association | Embedding cloud-based functionalities in a communication device |
US11783061B2 (en) | 2014-08-22 | 2023-10-10 | Visa International Service Association | Embedding cloud-based functionalities in a communication device |
US9775029B2 (en) | 2014-08-22 | 2017-09-26 | Visa International Service Association | Embedding cloud-based functionalities in a communication device |
US10187363B2 (en) | 2014-12-31 | 2019-01-22 | Visa International Service Association | Hybrid integration of software development kit with secure execution environment |
US11240219B2 (en) | 2014-12-31 | 2022-02-01 | Visa International Service Association | Hybrid integration of software development kit with secure execution environment |
US10511583B2 (en) | 2014-12-31 | 2019-12-17 | Visa International Service Association | Hybrid integration of software development kit with secure execution environment |
RU2722393C2 (en) * | 2015-05-26 | 2020-05-29 | Томмазо ФРИДЖЕРЬО | Telecommunication system for secure transmission of data in it and a device associated with said system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2252451C2 (en) | Method for performing transactions, computerized method for network server protection, transaction system, electronic wallet server, computerized online shopping method (variants) and computerized access control method | |
KR100806993B1 (en) | Methods and apparatus for conducting electronic transactions | |
US8938402B2 (en) | Methods and apparatus for conducting electronic transactions | |
JP5638046B2 (en) | Method and system for authorizing purchases made on a computer network | |
JP4580654B2 (en) | Mobile account authentication service | |
US20030191721A1 (en) | System and method of associating communication devices to secure a commercial transaction over a network | |
Tygar et al. | WWW electronic commerce and Java Trojan horses | |
US20020164031A1 (en) | Devices | |
Hamann et al. | Securing e-business applications using smart cards | |
KR100781610B1 (en) | Method of improving security in electronic transactions | |
KR100865879B1 (en) | Method for Processing Financial Transaction and Recording Medium | |
AU2004231226B2 (en) | Methods and apparatus for conducting electronic transactions | |
CA2399858A1 (en) | System and method for providing services to a remote user through a network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20120831 |