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 PDF

Info

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
Application number
RU2002105505/09A
Other languages
Russian (ru)
Other versions
RU2002105505A (en
Inventor
Рассел БЕННЕТ (US)
Рассел БЕННЕТ
Фред БИШОП (US)
Фред БИШОП
Эллиот ГЛЕЙЗЕР (US)
Эллиот ГЛЕЙЗЕР
Зиг ГОРГОЛ (US)
Зиг ГОРГОЛ
Майкл ДЖОНСОН (US)
Майкл Джонсон
Дэвид ДЖОНСТОУН (US)
Дэвид ДЖОНСТОУН
Уолтер Д. ЛЕЙК (US)
Уолтер Д. ЛЕЙК
Коби РОЙЭР (US)
Коби РОЙЭР
Ник СВИФТ (GB)
Ник СВИФТ
Марвин СИМКИН (US)
Марвин СИМКИН
Дерк УАЙТ (US)
Дерк УАЙТ
Уиль м Г. ХОЛ (US)
Уильям Г. ХОЛ
Original Assignee
Американ Экспресс Тревл Рилейтед Сервисиз Компани, Инк.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Американ Экспресс Тревл Рилейтед Сервисиз Компани, Инк. filed Critical Американ Экспресс Тревл Рилейтед Сервисиз Компани, Инк.
Publication of RU2002105505A publication Critical patent/RU2002105505A/en
Application granted granted Critical
Publication of RU2252451C2 publication Critical patent/RU2252451C2/en

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

FIELD: electronic financial transactions.
SUBSTANCE: method includes receiving request for transaction from user to server, generating response to user, receiving answer from user, based on response, after that said response is processed and user is checked. Then transaction authentications are performed, using at least one key, and at least portion of said authentication documents are sent to user. Then repeated query from user is received, which has portion of authentication documents mentioned above, and it is checked by said key to provide access to transaction service.
EFFECT: higher reliability and trustworthiness.
7 cl, 16 dwg

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 г., доступном в Интернет по адресу http://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 http://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 user computer 110, a transaction authorizer, in particular a transaction authorization computer (seller) 120, a security server 130, and an additional transaction service server 140. In some implementations of the invention described in detail herein, transaction system 100 is used for e-commerce to carry out purchase transactions. More specifically, user computer 110 is the computer of the buyer or customer (user), transaction authorization computer 120 is the seller’s computer, and transaction service server 140 is an electronic wallet server. It should be noted that although the transaction system described herein is an e-commerce system, the present invention may equally be applicable to various other transaction systems.

Некоторые компьютерные системы и серверы связаны между собой соответствующей цифровой сетью 102 передачи данных, которая может быть такой сетью, как Интернет, или другой общедоступной сетью. Эти сети могут включать АТС, интранет предприятий или учебных заведений и им подобные. В некоторых реализациях изобретения, одна из которых показана на Фиг.2, компьютер продавца имеет электронную связь с сервером безопасности сSome computer systems and servers are interconnected by a corresponding digital data network 102, which may be a network such as the Internet, or another public network. These networks may include automatic telephone exchanges, intranets of enterprises or educational institutions, and the like. In some implementations of the invention, one of which is shown in FIG. 2, the seller’s computer is in electronic communication with the security server with

помощью отдельного соединения передачи данных, изолированного от сети 102. Точно так же в некоторых реализациях имеется канал 150, соединяющий сервер электронного бумажника 140 с сервером 130 безопасности, который идет отдельно от сети 102. В качестве каналов 150 и 152 могут использоваться такие каналы, как телефон, цифровая сеть связи с комплексными услугами (ISDN), выделенный канал по Т1 или другие каналы передачи данных, такие как радиоканал и им подобные. Необходимо отметить, что канал 150 и канал 152 могут быть идентичными каналами, или в некоторых реализациях изобретения один может коренным образом отличаться от другого.using a separate data connection isolated from the network 102. Similarly, in some implementations there is a channel 150 connecting the electronic wallet server 140 to the security server 130, which is separate from the network 102. Channels 150 and 152 may be used as channels a telephone, a digital integrated services network (ISDN), a dedicated T1 channel, or other data transmission channels, such as a radio channel and the like. It should be noted that channel 150 and channel 152 may be identical channels, or in some implementations of the invention, one may be fundamentally different from the other.

Некоторые варианты реализации изобретения, как показанные на Фиг.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 application server 160. In some implementations, a database (not shown) and / or a server profile (not shown) can communicate with the application server 160 and / or the electronic wallet server 140. The application server 160 can be used to evenly distribute the computing load. Load balancing between the electronic wallet 140 and the application server 160 can increase efficiency and / or security. For example, application server 160 may perform some functions performed by electronic wallet server 140, such as accessing a database. Since the application server 160 is not directly connected to the data network 102, accessing the database from the application server 160 rather than from the electronic wallet 140 can increase security.

Необходимо отметить, что на хотя Фиг.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 channel 150 and not include channel 152 and vice versa. Moreover, the components (such as the buyer (customer) 110, seller 120, security server 130, electronic wallet server 140 and application server 160) can be individual computers, and working groups of networks or computers, purposefully interacting to perform functions, described here. The functional contribution of an individual component can be distributed between one or more computers so that the described functionality is implemented. For example, an electronic wallet server can actually be a collection of web servers, application servers, and other types of servers.

Для проведения трансакции покупатель 110 соответствующим образом устанавливает соединение посредством сети 102 с продавцом 120. Когда покупка уже должна быть совершена, покупатель обращается к серверу электронного бумажника 140. Покупатель затем перенаправляется серверу 130 безопасности для того, чтобы провести проверку того факта, что покупатель действительно является собственником смарт-карточки. Смарт-карточка может иметь цифровой сертификат, который однозначно идентифицирует карточку, например, создавая цифровое удостоверение в контексте текущей трансакции, как это описано ниже. В некоторых реализациях изобретения части цифрового удостоверения возвращаются покупателю 110, а другие части передаются на сервер электронного бумажника 140 посредством канала 150 безопасного соединения. Покупатель 110 может затем использовать цифровые удостоверения для того, чтобы авторизоваться на сервере электронного бумажника 140, который в свою очередь уже может совершить электронную трансакцию согласно полномочиям, полученным от покупателя 110. Сервер электронного бумажника 140 может включать функции для заполнения форм, заданных компьютером продавца 120. Когда продавец 120 получает идентификатор средства безопасной покупки от покупателя 110 или от сервера электронного бумажника 140, авторизация карточки может проводиться по каналу 152 так же, как и обычная авторизация платежной карточки. Согласно описанному выше передача данных может проводиться с использованием различных протоколов, например SSL или VPN и им подобных. Ввиду того что смарт-карточка содержит в себе идентификационную информацию, которая однозначна для конкретной карточки и которую считывают и передают по сетям только электронным способом, трансакция покупки с использованием смарт-карточек является более безопасной, чем трансакция с использованием обычной платежной или кредитной карточки. Для трансакций с таким уровнем безопасности могут быть установлены более низкие комиссионные, и они могут обрабатываться как трансакции типа "карточка присутствует". Кроме того, если такая трансакция является трансакцией типа "карточка присутствует", то ответственность по риску подделки можно переложить с продавца на эмитента карточки.To complete the transaction, the buyer 110 appropriately establishes a connection through the network 102 with the seller 120. When the purchase has already been completed, the buyer contacts the electronic wallet server 140. The buyer is then redirected to the security server 130 in order to verify that the buyer is indeed smart card owner. A smart card can have a digital certificate that uniquely identifies the card, for example, by creating a digital ID in the context of the current transaction, as described below. In some implementations of the invention, parts of the digital ID are returned to the buyer 110, and other parts are transmitted to the electronic wallet server 140 via the secure connection channel 150. Buyer 110 may then use digital credentials to log in to the electronic wallet server 140, which in turn can already complete the electronic transaction according to the authority received from the buyer 110. The electronic wallet server 140 may include functions for filling out forms specified by the seller’s computer 120 . When the seller 120 receives the identifier of the safe purchase means from the buyer 110 or from the server of the electronic wallet 140, authorization of the card can be carried out on channel 152 so same as regular authorization of a payment card. As described above, data transfer can be carried out using various protocols, for example SSL or VPN and the like. Due to the fact that a smart card contains identification information that is unique for a particular card and which is only electronically read and transmitted over networks, a purchase transaction using smart cards is more secure than a transaction using a regular payment or credit card. For transactions with this level of security, lower fees can be set, and they can be processed as card-present transactions. In addition, if such a transaction is a "card present" transaction, then the risk of counterfeiting risk can be transferred from the seller to the card issuer.

Обратимся к Фиг.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 network 102. In some implementations of the invention, the customer’s computer 110 is a personal computer running any operating system 212, such as any version of the Windows operating system from Microsoft, Redmond Washington, USA, or any version of the MacOS operating system from Apple, Coop Rtina, California, USA.

Компьютер покупателя 110 соответственно имеет программное и/или аппаратное обеспечение для обработки средства идентификации, в частности смарт-карточки 202, через интерфейс web-браузера 216 под управлением операционной системы 212. Web-браузер 216 - это программа, совместимая с компьютером 110, с помощью которой он общается по сети, как, например, программа Netscape Communicator от компании Netscape, г. Маунтин-Вью, Калифорния, США, или Internet Explorer от компании Microsoft, г. Редмонд Штат Вашингтон, США, или браузер AOL от компании America Online из г. Дьюллз, штат Вирджиния, США. В некоторых реализациях на компьютер покупателя 110 установлен инструмент проведения трансакции, например клиент 214 электронного бумажника, который является какой-либо компьютерной программой, способной взаимодействовать с сервером электронного бумажника. Типовым клиентом электронного бумажника является программа Microsoft Wallet или программа Globeset Wallet от компании Globeset, г. Остин, штат Техас, США, впрочем может использоваться любая программа.Buyer computer 110, respectively, has software and / or hardware for processing identification means, in particular smart cards 202, through a web browser interface 216 running operating system 212. Web browser 216 is a program compatible with computer 110, using which he communicates over the network, such as Netscape Communicator from Netscape, Mountain View, California, USA, or Internet Explorer from Microsoft, Redmond, Washington, USA, or AOL browser from America Online from Dulles, Virginia, USA. In some implementations, a transaction tool is installed on customer’s computer 110, for example, an electronic wallet client 214, which is some kind of computer program capable of interacting with an electronic wallet server. A typical client of an electronic wallet is the Microsoft Wallet program or the Globeset Wallet program from Globeset, Austin, Texas, USA, however any program can be used.

Клиент 214 электронного бумажника и браузер 216 могут взаимодействовать с смарт-карточкой 202 посредством передачи данных считывающему устройству (терминалу) для обработки смарт-карточек под управлением операционной системы 212. Считывающим устройством 204 для обработки смарт-карточек является любое устройство считывания карточек, способное передавать информацию между клиентом 214 электронного бумажника и смарт-карточкой 202. В некоторых реализациях в качестве такого считывающего устройства использовался считыватель модели GCR410 от компании Gemplus, г. Редвуд-Сити, штат Калифорния, США, совместимый со стандартом ISO-7816, или любое другое подходящее считывающее устройство.The electronic wallet client 214 and browser 216 can interact with the smart card 202 by transmitting data to a smart card reader (terminal) for operating the smart card under operating system 212. Any smart card reader 204 is a smart card reader capable of transmitting information between the electronic wallet client 214 and the smart card 202. In some implementations, a Ge model GCR410 reader was used as such a reader. mplus, Redwood City, California, USA, compliant with ISO-7816, or any other suitable reader.

В качестве смарт-карточки 202 может использоваться любая, с помощью которой можно осуществлять электронные трансакции, например, любая смарт-карточка, выполненная в соответствии со следующими стандартами ISO, упомянутыми здесь как справочный материал:As a smart card 202, any can be used with which you can carry out electronic transactions, for example, any smart card made in accordance with the following ISO standards, mentioned here as reference material:

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 smart card 202 is a smart card made in accordance with the ISO 7816 specification, such as a card on a SLE66 chip manufactured by Infineon, Munich, Germany. The SLE66 chip has built-in memory (such as 16K memory, but larger or smaller memory can be used) and a processor running an operating system, such as Multos (such as Multos v.4). For some implementations of the invention, a smart card 202 also means an applet (application programs in the Java language (JAVA)) for performing the functions of storing and processing digital certificates and other cryptographic functions. For an introduction to the basics of cryptography, see "Applied Cryptography: Protocols, Algorithms, and C Sources," by Bruce Schneider, John Wiley & Sons (Second Edition 1996), a link to this book is provided here as a reference. For example, a J.A. X.509 applet can be included in a smart card to process X.509 certificates that will be written to it. Although smart cards are mentioned in the implementations of the invention described here, it should be noted that other means of identification can be used, for example, a GSM global telecommunication system mobile phone can replace smart cards in some implementations of the present invention.

Теперь обратимся к Фиг.5. Сервер 130 безопасности соответствующим образом реализует взаимодействие с сетью 102, а модуль 304 безопасности и сервер 306 авторизации взаимодействуют с базой данных 310. Интерфейс 302 сети есть любая программа, которая может осуществлять взаимодействие с сетью 102, например, такая, как web-сервер. В некоторых реализациях интерфейс 302 сети может базироваться на программе Netscape Enterprise Server от корпорации Netscape, г. Маунтин-Вью, штат Калифорния, США. Интерфейс 302 сети получает электронные сообщения от сети 102 и направляет их соответствующим образом модулю 304 безопасности или серверу 306 авторизации.Now turn to Figure 5. The security server 130 accordingly implements interaction with the network 102, and the security module 304 and the authorization server 306 interact with the database 310. The network interface 302 is any program that can communicate with the network 102, for example, such as a web server. In some implementations, the network interface 302 may be based on the Netscape Enterprise Server software from Netscape, Mountain View, California, USA. The network interface 302 receives electronic messages from the network 102 and forwards them accordingly to the security module 304 or the authorization server 306.

Модуль 304 безопасности и сервер 306 авторизации могут быть разделены брандмауэром 308 (аппаратно-программные средства межсетевой защиты), который управляет данными, передаваемыми между сервером 130 безопасности и покупателем 110 или сервером электронного бумажника 140. Брандмауэр 308 может представлять собой любое устройство или программу управления (например, роутер управления доступом), способные ограничивать поток данных между внешней и внутренней сетью (не показаны). В некоторых реализациях изобретения модуль 304 безопасности соответствующим образом располагается вне брандмауэра для того, чтобы управлять передачей данных между сервером 130 безопасности и покупателем 110 или сервером электронного бумажника 140. Сервер 306 авторизации охраняет ценную конфиденциальную информацию, такую как база данных 310, которая может содержать перекрестные ссылки сертификатов Х.509, хранимых в различных смарт-карточках 202, обслуживающих всю систему 100, позволяя поддерживать ее и в сети Интернет при хорошем уровне безопасности. Нужно понимать, что функции модуля 304 безопасности и сервера 306 авторизации могут быть соответствующим образом объединены или разделены в рамках настоящего изобретения.The security module 304 and the authorization server 306 can be separated by a firewall 308 (firewall software) that manages the data transferred between the security server 130 and the customer 110 or the electronic wallet server 140. The firewall 308 can be any device or control program ( for example, an access control router) capable of restricting the flow of data between an external and internal network (not shown). In some implementations of the invention, the security module 304 is appropriately located outside the firewall in order to control data transfer between the security server 130 and the customer 110 or the electronic wallet server 140. The authorization server 306 protects valuable confidential information, such as a database 310, which may contain cross links of X.509 certificates stored in various smart cards 202 serving the entire system 100, allowing it to be maintained on the Internet with a good level of security tee. It should be understood that the functions of the security module 304 and the authorization server 306 can be appropriately combined or separated within the scope of the present invention.

Теперь обратимся к Фиг.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 electronic wallet server 140 includes a network interface 402, an additional applet server 404, and an electronic wallet application 406. Network interface 402 is any program that allows network communication on a network 102, such as a web server. In some implementations, the 402 network interface is based on the Netscape Enterprise Server software from Netscape Corporation, Mountain View, California, USA. An additional server 404 applets implements the server side of the functions of distributed processing programs, such as JAVA programs or ActiveX controls. A typical applet server is Sun Microsystems' Java Applet Server from Mountain View, California. The applet server 404 and the network interface 402 support the functions of the electronic wallet application 406, which may include login processing, retrieving data from the electronic wallet database 408 and / or managing transactions, as described here. In some implementations of the present invention, the electronic wallet server 140 may include a SERVERWALLET program (also known as NETWALLET) from Globeset, Austin, Texas, USA.

Некоторые реализации настоящего изобретения могут включать в себя приложение-активатор, которое соответствующим образом помогает покупателю совершить процесс покупки с помощью электронного бумажника. Приложение-активатор может представлять информацию в виде строки состояния, к примеру, или может само запускать программу-клиент 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 user 110 to be in constant or interrupted interaction with a company that stores electronic wallet 140, for example American Express, without having to take up space under extra windows on the screen of the user terminal. As already mentioned, it allows the company that stores the electronic wallet to track and show the user potentially interesting data at the moment. These configurable controls allow the customer to quickly find the right websites and immediately launch the necessary functions, such as authorization of a digital payment card. The client toolbar can preferably be basically implemented as a separate window associated with a user browser window, and it can support such a geometry that it appears to be part of the user's browser. The only difference is, say, when a user clicks on his controls, it remains unchanged, while the main URL is loaded into the main window to perform the specified action (such as accessing an electronic wallet). For example, when a user clicks on the electronic wallet icon on the system panel, a toolbar 502 of the electronic wallet 205 appears on a screen in a separate window, which is connected to the main browser window 500, as shown in FIG. 7. In another embodiment, the customer’s toolbar is located on the window frame of a particular electronic wallet, providing the user with additional controls, as described above, in an additional window area of this electronic wallet that extends the main window. In the third embodiment, this area is scattered around the main window of the user browser in order to use it for the electronic wallet and other controls described above.

Такая система дает удобный способ покупателям не только посещать избранные ими 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 electronic wallet toolbar 502 appears on the screen, as shown in Fig. 7. The presence of this toolbar is not intrusive, while allowing the user to work with an electronic wallet. The toolbar 502 is preferably integrated in the browser window 500.

Как показано на Фиг.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 toolbar 502, the toolbar will expand and turn into the page of the shopping catalog 602. The user can select a seller from the list of sellers 604 located here on the page of the trade catalog 602. After selecting a seller from the list sellers 604 an electronic wallet takes the user to the website 702 of the seller selected by the user, as shown in FIG. 9. Usually, when the electronic wallet has already transferred the user to the seller’s website 702, the toolbar 502 takes its usual size. When the user makes a purchase from the seller, for example, by placing the selected item in the basket and starting the checkout, in the present invention, the checkout itself is partially done by the electronic wallet itself. As shown in FIG. 10, when the user determines the desired purchase on the seller’s website 702, an interface (window) 802 of the purchase is displayed. For example, a checkout interface 802 is provided on one side of a browser screen, and a store window continues to remain on the other side of the browser screen. Most of the information that the user must enter to complete the purchase (for example, name, address, E-mail, credit card information, etc.) has already been entered into the electronic wallet and appears in the electronic wallet purchase window 802 itself. In a preferred embodiment of the invention, the user can edit this information.

В предпочтительном варианте настоящая система включает также способы и аппаратуру, наилучшим образом позволяющие надежно заполнять 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 process 900, implemented accordingly in the activator program, includes initializing the application (step 902), checking the universal resource locator (URL) while the user browses the site or makes an online purchase (step 904), determining whether the user is browsing a supported site (steps 908 and 912) and with the issuance of corresponding answers at step 908 and 912 (respectively). Other features (such as bonuses, special offers, tracking, security, and the like) can be implemented at step 916.

Шаг 902 инициализации соответствующим образом включает в себя запуск приложения активатора и инициализацию приложения. Приложение активатора может быть инициализировано как результат включения системы в работу, подсоединения к сети (такой как Интернет или локальная сеть) или инициализацией браузера (такого как Internet Explorer от компании Microsoft, г. Редмонд, штат Вашингтон, США или Netscape Navigator от компании Netscape, г. Маунтин-Вью, штат Калифорния, США). В некоторых вариантах реализации приложение-активатор может общаться с сервером 140 электронного бумажника (Фиг.1-3), приложением 406 электронного бумажника (Фиг.6) или с другим сервером сети 102 (сетевым сервером). Приложение-активатор соответствующим образом обращается к удаленному серверу для того, чтобы получить информацию, такую как список web-сайтов, доменных имен или URL, которые поддерживаются электронным бумажником.Initialization step 902 appropriately includes starting an activator application and initializing the application. An activator’s application can be initialized as a result of turning the system on, connecting to a network (such as the Internet or a local network), or by initializing a browser (such as Internet Explorer from Microsoft, Redmond, Washington, USA, or Netscape Navigator from Netscape, Mountain View, California, USA). In some embodiments, the activator application may communicate with the electronic wallet server 140 (FIGS. 1-3), the electronic wallet application 406 (FIG. 6), or with another network server 102 (network server). The activator application accordingly contacts the remote server in order to obtain information, such as a list of websites, domain names or URLs that are supported by the electronic wallet.

Эта информация может получаться на регулярной основе (т.е. ежедневно, ежемесячно или при каждой инициализации программы-агента), или когда последует запрос от приложения-активатора или сервера. В различных вариантах реализации приложение-активатор хранит список поддерживаемых 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 data network 102, the activator application appropriately tracks the location of users on the network. One way to track a user is to track the URLs used by the user's browser. In such implementations, the activator application receives the current URL from the user's browser (or from the system’s network interface, respectively) and compares (step 906) the current URL with the list of supported URLs received from the remote server in initialization step 902. Such comparisons are shown in the logical steps 906, 908, 912 and 916 of FIG. 11, although these steps can be combined or broken in any way without losing the meaning of the invention. For example, although FIG. 11 shows a multiple comparison, for some embodiments of the invention, a single comparison of the current URL with a list of supported URLs is sufficient.

Если текущий 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 application 214 serving the electronic wallet is not already running, the activator application may issue a dialog box or other notification to the user that this page is supported by the application 214 serving the electronic wallet. Such a window may have a button or other mechanism by which the user can launch the electronic wallet application 214.

Если текущий 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 electronic wallet server 140 of a network 102. In order to use an electronic wallet, a user fills out a registration form (which may, for example, be generated by a CGI script). The electronic wallet server 140 appropriately receives demographic, banking, and other information (i.e., address, delivery address, name, credit card number, etc.) from the authorization server 306 (Figure 5) or another server on the private network. This information can be used to configure the electronic wallet client 214 (FIG. 4), which is uniquely assigned to each user. One way to configure the electronic wallet client 214 is to create a configuration file that is associated with the client 214 and which is read by the client 214 in order to obtain information for the electronic wallet, as described above.

Регистрационная информация предпочтительно также включает в себя информацию о считывающем устройстве для обработки карточек, которая в свою очередь включает в себя указание на то, к какому порту, последовательному или 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 electronic wallet 140 and logs in using a card or a special code. After entering the special code, the user receives a specially configured software for servicing the electronic wallet, which can be installed on the user computer 110 accordingly. The procedure for pre-filling out forms of electronic wallet can be carried out using any credit or payment card, by simply associating the version of the electronic wallet service program with a special code. The configuration information of a particular user is associated with the code that was provided to that user, and the user can subsequently use a special code to authorize himself on the electronic wallet server 140 to obtain a copy of the electronic wallet software configured with data specifically for that user.

На Фиг.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 customer 110 initiates the transaction accordingly by logging on to the electronic wallet server 140 via smart card 202. In order to access the electronic wallet server 140, customer 110 may first connect to security server 130 through the browser 216. The user selects a specific URL to call the input page by accessing the bookmark (bookmark), or by clicking on the icon or link, or in another way. The security server may return the authorization page via the network interface 302. In some implementations, the input form and the user login and password send button and the smart card authorization hyperlink are part of the authorization page. The user selects the authorization of the smart card, and the browser 216 responds accordingly by sending a message to the authorization request 1002 (FIG. 12). The security server 130 receives an authorization request 1002 and initiates a smart card authorization process as necessary. In some implementations, the security server 130 generates a cryptographic response (request) to the authorization server 306 or the security module 304 in response to the authorization request message 1002. The cryptographic response 1004 is a message of any kind, as long as it prevents repetition attacks (i.e., such attacks , in which fake messages are generated by re-sending previously sent authorization packets), for example, a response with sending arbitrary data aimed at receiving a response from the X.509 application stored in the smart card 202. The response is then sent to the customer 110 via network 102 as a response message 1004.

По получении сообщения отклика (запроса) 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 г. (доступным на http://www.rsa.com/rsalabs/pubs/PKCS/html/pkcs-1.html) и упомянутым здесь в качестве справочного материала.Upon receipt of a response message (request) 1004, the browser 216 sends a message 1004 to the electronic wallet client 214 for processing by smart card 202. If the client 214 is not running, then the browser 216 can automatically run this program. The electronic wallet client 214 then prepares the signature response accordingly. For example, an electronic wallet client 214 can read server response information, generate a new user request (i.e., a second cryptographic response for smart card 202), combine both responses into a double request, and calculate the double request hash code for later use, for example, Public-Key Cryptography System 1 (PKCS1) type 1 cryptographic block of a public-key cryptographic system. The hash code can be calculated in accordance with any algorithm, such as, for example, MD3 or MD4, and used to guarantee the full and accuracy of the data in the double request block. PKCS refers to a cryptographic standard with a common key that defines the mechanisms for encoding and signing data, and using the public key of the RSA cryptosystem. The PKCS standard is fully defined in PKCS # 1: RSA Cryptographic Specifications Version 2.0 (PKCS # 1: RSA Cryptography Specifications Version 2.0), dated September 1998 (available at http://www.rsa.com/rsalabs/pubs /PKCS/html/pkcs-1.html) and referenced here as reference material.

Блок 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 smart card 202 for processing by the card reader 204 (step 1006 in FIG. 12). In order to access the card, in some implementations, the card reader 204 interacts with the user computer to request the user to enter a personal identifier, such as a personal identification number (PIN) or other uniquely identifying identifier. In a preferred embodiment, the PIN is stored on the card 202. In other cases, the PIN or other personal identifier may be stored somewhere in the system, for example, in a card reader 204 or on the customer’s computer 110. The user accordingly enters the personal identifier to to open access to the smart card 202, which receives a double request block from the client 214 of the electronic wallet and then puts a digital signature on the block. In some implementations, smart card 202 has a private key used to calculate the digital signature for this block. The signed block is then returned to the electronic wallet client 214. In some implementations, smart card 202 also provides a certificate (such as an X.509 certificate) that corresponds to the private key used to calculate the digital signature.

По получении подписи и сертификата от смарт-карточки 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://ftp.rsa.com/pub/pkcs/doc/pkcs-7.doc и полностью введенное в данное описание посредством ссылки.Upon receipt of the signature and certificate from the smart card 202, the electronic wallet client 214 accordingly creates the necessary response message 1008 for sending to the security server 130. Although the response message 1008 can be in any format, in some implementations it is formatted as a PKCS7 message, as defined in the PKCS # 7 Standard for Cryptographic Message Syntax Standard. RSA Lab Technical Note, version 1.5, (PKCS # 7. Cryptographic Message Syntax Standard. An RSA Laboratories Technical Note ") version dated November 1, 1993, available at ftp://ftp.rsa.com/pub/pkcs/doc/pkcs-7.doc and is hereby incorporated by reference in its entirety. .

По получении ответного сообщения 1008 сервер 130 безопасности обрабатывает это сообщение, как это необходимо (шаг 1010 на Фиг.12). В некоторых реализациях ответное сообщение 1008 направляется серверу 306 авторизации, который проверяет сертификат и подпись, полученные от смарт-карточки 202. При успешных верификации сертификата и проверки подписи в некоторых реализациях может быть сгенерировано средство безопасной идентификации, которое возвращается покупателю 110 или на смарт-карточку 202.Upon receipt of the response message 1008, the security server 130 processes this message as necessary (step 1010 in FIG. 12). In some implementations, the response message 1008 is sent to the authorization server 306, which verifies the certificate and signature received from the smart card 202. Upon successful verification of the certificate and signature verification in some implementations, a secure identification tool can be generated, which is returned to the buyer 110 or to the smart card 202.

В дальнейшем, использование средства безопасной идентификации дает пользователю возможность устанавливать свою подлинность и безопасно работать с электронным бумажником. В некоторых реализациях сервер 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 authorization server 306 may create an additional means of secure authentication in order to identify the user. In other implementations, such an identification tool may consist of many parts, subsequently tied to the corresponding digital certificate, smart card or other data, possibly using the database 310. In third embodiments, the additional identification tool and its parts may be sent to the buyer (customer) ) 110 in combination with a redirect message 1012. In various embodiments, an additional means of identification may be sent to the customer or maintained on the server 306.

По получении сообщения о перенаправлении 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 redirect message 1012, customer 110 appropriately connects to the electronic wallet server 140 and makes a connection request. In some implementations, the Connection Request message 1014 appropriately includes an identification means and possibly an additional means of secure identification, in whole or in part, as part of the redirect message 1012. The electronic wallet server 140 requests the automation server using some combination of completely secure means of identification or partially so as to identify the customer 110. Request 1016 and response 1018 are appropriately transmitted through the transmission network data (channel) 150, which in some implementations is maintained separate from the network 102 in order to increase the security of the system 100. In alternative implementations, a network 102 may be involved, which in some implementations may provide enhanced security through virtual private network technologies (Virtual Private Network), the SSL protocol, the use of shared secret keys and / or other cryptographic tools. If the returned credentials 1018 are in order, the electronic wallet server 140 reads the attributes of the corresponding customer 110 from the electronic wallet database and notifies the customer of a successful login using message 1020. It should be noted that other options for implementing the login procedure are possible. It should also be noted that any encryption schemes, message formats, and the like can be used to complete the login sequence for system 1000.

Теперь обратимся к Фиг.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 request 1102 for the transaction to the electronic wallet server 140 for each event (such as a purchase) for which authorization is necessary. The electronic wallet server appropriately recognizes this event and sends a request message 1104 to the security server 130, for example, through a communication channel 150 to generate a request message. The authorization server 306 (or some other component of the security server 130) then generates a response 1106 (which may include randomized data) and provides a response 1106 to the electronic wallet server 140 through, for example, a connection (channel) 150. The electronic wallet server receives a response 1106 and sends the response information to the browser 216 as a request message for an electronic signature 1108. The browser 216 launches an electronic wallet client 214, if necessary, and redirects the request message to an electronic signature 1108. Accordingly, obstacle to the above described electronic wallet client 214 generates a request message block on an electronic signature as a PKCS1 block type and includes therein a request server, the client request and the hash code. The resulting block of the e-signature request message is supplied to the smart card 202 by means of a card reader 204. Smart card 202 appropriately signs this block and prescribes a copy of the X.509 certificate built into it.

Подписанный блок затем может быть возвращен клиенту 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 electronic wallet client 214, which generates a corresponding response message to the electronic signature 1110 (such as a PKCS7 message) and sends it to the electronic wallet server 140. The electronic wallet server 140 then generates an authentication message 1112, which includes itself data from the response message to the electronic signature 1110 and the secure identification means associated with the buyer 110 during the login process (such as for example the login process in the system mu shown in Fig.10). In other implementations, the used secure identification means is received from the buyer 110 as part of a response message to an electronic signature 1110. An authentication message 1112 is sent to the security server 130 via connection 150. The security server 130 can then redirect the authentication message accordingly to the authorization server 306, which can verify the signature and obtain a secure identification means from the database 310 (step 1114 in FIG. 13). This means of secure identification and / or an additional unique identification code obtained from the database is then compared with the means of secure identification or identifier received from the electronic wallet server 140. If these two objects (ie, means of secure identification or identifiers) are identical, it can be concluded that the card that is currently used by buyer 110 is the same card that was used by buyer 110 during the login process. Then, an appropriate enable or disable message 1116 is sent from the security server 130 to the electronic wallet server 140, and the transaction can be continued.

В некоторых вариантах реализации сервер 140 электронного бумажника играет во время трансакций роль прокси-сервера (представителя) покупателя 110. Например, сервер электронного бумажника 140 может заполнять формы заказа от имени покупателя, вводить адрес доставки, номер карточки и т.п. Продавец 120 может затем разрешить трансакцию покупки как трансакцию с обычной расходной карточкой с использованием обычной аппаратуры и программного обеспечения. Но необходимо понимать, однако, что предоставляемая раскрытыми здесь системами дополнительная безопасность позволит иметь большую степень доверия к личности покупателя, таким образом снижая дисконтные ставки на проведение трансакции.In some embodiments, the electronic wallet server 140 plays the role of the proxy server (representative) of the buyer 110 during transactions. For example, the electronic wallet server 140 can fill out order forms on behalf of the buyer, enter the delivery address, card number, etc. Vendor 120 may then authorize the purchase transaction as a transaction with a regular charge card using conventional hardware and software. But you must understand, however, that the additional security provided by the systems disclosed here will allow you to have a greater degree of trust in the identity of the buyer, thereby reducing the discount rates on the transaction.

Различные варианты реализации данного изобретения включают в себя дополнительную защиту брешей в системе безопасности. Из-за того что многие серверные функции, реализованные, к примеру, на сервере 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 security server 130 or electronic wallet server 140, may include various components written in scripting languages such as JavaScript (in accordance with the specifications of Sun Microsystems, Mountain View, California, USA) or VBscript (according to Microsoft specifications, Redmond, Washington, USA), servers connected to 102 network can offer various functions implemented in such server programming languages to many customers 110 p means for delivering scripts (code) from the server to the customer. This code is interpreted, compiled, and somehow executed by the user computer 110. In implementations involving, for example, JavaScript, scripts are interpreted and executed by a viewing program (such as Internet Explorer, Netscape Communicator, etc.) executed on the user computer 110. In other implementations, other non-PC compatible browsers are involved, for example, phones using the Wireless Application Protocol (WAP) standard, which supports WML markup scripts. Many scripting languages can have commands, objects, or other data management mechanisms, for example, to access files on a user's hard drive or other manipulations with data on a user's computer. In order to prevent the receipt of executable code from unauthorized sources, the script language may include a mechanism that allows the user to allow scripts received only from trusted sources. For example, a user conducting an electronic transaction, as described above, may allow the execution of scripts downloaded from the electronic wallet server, but may prohibit the execution of scripts received from other sources on his computer.

Потенциальная проблема с безопасностью, обнаруживаемая во многих языках скриптов, показана на Фиг.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 website 1204 that is specifically designed to conduct malicious actions against a user of a legitimate web server 1206. A hacker site 1204 (indicated in the figure as a "criminal web server") can, for example, deliver a code fragment to a user, such as a script. Hacker site 1204 can also force the web browser of user 216 to access a specific universal resource locator (URL) on legitimate server 1206 (such as electronic wallet server 140 or any other network server 102). The requested URL can be cleverly redone so that the legitimate server returns, for example, an error message or other response to the user's browser 216. In some implementations, such a legitimate server response may include portions of a request from a user's browser 216 or variations thereof. If such an answer includes JavaScript, VBscript, or other executable code generated as a result of malicious attacks by the criminal site 1204, then it is clear that such codes can be executed on the user's computer. This example illustrates one of many technologies whereby a “hacker" can force a legitimate web server to return a provoked response to a user's browser. Since different executable systems and scripting languages contain commands for accessing the file system, registry, etc., it is clear that unauthorized execution of such code is extremely undesirable. Nevertheless, the technology shown in Fig. 14 may allow the script or other code from the criminal site 1204 to be delivered to the user's computer. Since the user's computer believes that the script came from a reliable source (i.e., from an electronic wallet server), a user computer can execute code from a criminal site, thereby creating a potential threat of damage or unauthorized data dumping, data destruction, etc. On Fig illustrates the correct sequence of operations of the interaction, which should take place (instead of a criminal attack, as shown in Fig).

Для того чтобы предотвратить образование таких потенциальных проблем с безопасностью, в различные варианты реализации настоящего изобретения включаются соответствующие технологии для уменьшения или устранения нежелательного исполняемого кода. Обратимся к Фиг.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 process 1300, the purpose of which is to repel script-like attacks, appropriately includes steps to reduce the number of server parts that have elevated privileges (step 1302), remove dangerous characters inside these parts of the site (step 1304), encode some special characters where necessary ( step 1306), and it is possible to write to the log file information that goes to users from the corresponding parts of the website (step 1308).

Рассмотрим шаг 1302. Web-сайт обычно включает в себя различные страницы, каждая из которых имеет однозначно определяющий ее URL. Пользователи сайта могут оказывать повышенное доверие определенным серверам (таким как те, которые соответствуют зарекомендовавшим себя финансовым или торговым организациям). Ограничивая область высокого доверия только частью web-сайта (т.е. ограниченным подмножеством URL, соответствующим зарекомендовавшему себя web-сайту), можно понизить уровень доверия, оказываемого остальной части сайта, таким образом повышая безопасность. Доверие может быть ограничено определенной частью сайта путем конфигурирования web-браузера пользователя так, чтобы он, например, доверял только части сайта. Web-браузер может быть сконфигурирован вручную или с помощью скрипта, например поставляемого с сервера электронного бумажника. Когда только определенные страницы (т.е. часть) web-сайта получат повышенные привилегии, любой скрипт, полученный при обращении к другим страницам, или вообще не будет выполняться, или по крайней мере не будет выполняться в режиме повышенных привилегий.Consider step 1302. A website typically includes various pages, each of which has a unique URL. Site users can provide increased trust to certain servers (such as those that correspond to proven financial or trading organizations). By restricting the scope of high trust to only part of the website (i.e., a limited subset of the URL corresponding to the established website), you can lower the level of trust exerted on the rest of the site, thereby increasing security. Trust can be limited to a certain part of the site by configuring the user's web browser so that, for example, he trusts only part of the site. The web browser can be configured manually or using a script, for example, supplied from an electronic wallet server. When only certain pages (i.e., part) of a website receive elevated privileges, any script received when accessing other pages will either not be executed at all, or at least will not be run in elevated privilege mode.

В дополнении к тому (или вместо того) чтобы конфигурировать клиента так, что он "доверяет" только определенной части сервера, сам сервер может быть сконфигурирован так, чтобы улучшить безопасность клиент-серверного взаимодействия. Например, для улучшения безопасности скрипты с повышенными привилегиями могут быть запрещены на большинстве серверов. Более того, данные, передаваемые на доверяемую часть 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 (step 1304 and 1306). Most scripting languages use special characters to form their commands. For example, JavaScript commands are often encoded with sentences placed between angle brackets ("<" and ">"). Consequently, angle brackets can be removed from any content that must be returned from a trusted part of the website. If a web page received from a trusted part of the site should have a malicious JavaScript program that, for example, tries to use angle brackets, the script commands will not be executed on the user's computer, since these commands will not be syntactically formatted after removing the angle brackets . On the other hand, some "dangerous" characters (such as angle brackets in JavaScript) can be returned in another format, for example, in the format of an ampersand ("&"), or in the values of the American information exchange code (ASCII), or by replacing “dangerous” characters are safe, such as the space character (step 1306). It should be noted that any characters can be deleted or transcoded only depending on which script language, execution environment, etc. are used.

В некоторых вариантах реализации изобретения на дополнительном шаге 1308 соответствующим образом включается лог информации от различных частей web-сайта. Весь контент, в котором перекодируются или удаляются символы, может быть записан в лог файл так, чтобы этот лог может быть подвергнут анализу для определения, опасен ли данный web-сайт для того, чтобы подвергать опасности сетевого клиента. Например, весь контент (содержимое), полученный от web-страницы, весь контент, полученный из доверительной части, или контент от любой другой части web-сайта может быть записан в лог в один или несколько файлов данных. Эти файлы данных могут быть соответствующим образом просмотрены или еще как проанализированы для того, чтобы понять, были ли предприняты попытки предоставления незаконного контента пользователям сервера.In some embodiments of the invention, at an additional step 1308, a log of information from various parts of the website is appropriately included. All content in which symbols are transcoded or deleted can be written to a log file so that this log can be analyzed to determine if a given website is dangerous in order to endanger a network client. For example, all content (content) received from a web page, all content received from a trusted part, or content from any other part of a web site can be logged into one or more data files. These data files can be viewed or analyzed as appropriate in order to understand whether attempts have been made to provide illegal content to server users.

В некоторых случаях внутренние компьютеры могут быть подвергнуты атаке "преступного" сайта путем посылки контента, который содержит скрипт сетевому серверу, позволяющий записывать контент в файлы отслеживания (логи). Допустим, браузер был сконфигурирован давать повышенные привилегии файлам, хранящимся на сервере, как в реализациях, где пользователь просматривает файлы отслеживания через 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)

1. Способ проведения трансакций, отличающийся тем, что сначала осуществляют получение запроса на трансакцию от пользователя к серверу, выдают отклик пользователю, получают от пользователя ответ, основанный на упомянутом отклике, после чего осуществляют обработку упомянутого ответа и проверку пользователя, затем составляют удостоверения на трансакцию, содержащие по крайней мере один ключ, и передают пользователю по крайней мере часть упомянутых удостоверений, далее получают повторный запрос от пользователя, который содержит упомянутую часть удостоверений, и осуществляют проверку упомянутой части удостоверений упомянутым ключом для обеспечения доступа к трансакционной службе.1. A method of conducting transactions, characterized in that the request is first made for the transaction from the user to the server, a response is given to the user, a response is received from the user based on the response, then the response is processed and the user is verified, then the transaction certificates are compiled containing at least one key, and transmit to the user at least part of the said credentials, then receive a second request from the user that contains the aforementioned part of the certificates, and verify the said part of the certificates with the said key to provide access to the transaction service. 2. Способ по п.1, отличающийся тем, что осуществляют трансакцию электронной покупки.2. The method according to claim 1, characterized in that the transaction is an electronic purchase. 3. Способ по п.2, отличающийся тем, что осуществляют трансакцию электронной покупки посредством электронного бумажника.3. The method according to claim 2, characterized in that carry out the transaction of electronic purchases through an electronic wallet. 4. Способ по п.1, отличающийся тем, что трансакцию осуществляют посредством смарт-карточки пользователя.4. The method according to claim 1, characterized in that the transaction is carried out by means of a smart card of the user. 5. Компьютеризованный способ защиты сетевого сервера от его возможного использования в качестве базы для атак на сетевого клиента, отличающийся тем, что сначала осуществляют получение упомянутым сетевым сервером запроса на соединение от упомянутого сетевого клиента и сканирование части упомянутого сетевого сервера на наличие спецсимволов, ассоциированных с протоколом, затем осуществляют проверку на отсутствие спецсимволов в любом ответе сетевого сервера упомянутому сетевому клиенту и направляют ответ от сетевого сервера упомянутому сетевому клиенту.5. A computerized method of protecting a network server from its possible use as a base for attacks on a network client, characterized in that they first receive a connection request from the said network server from the said network client and scan part of the network server for special characters associated with the protocol , then check for the absence of special characters in any response of the network server to said network client and send a response from the network server to the said at the network client. 6. Способ по п.5, отличающийся тем, что дополнительно осуществляют ограничение доступа к упомянутому сетевому серверу только определенной частью этого сетевого сервера для данного протокола.6. The method according to claim 5, characterized in that they further restrict access to said network server to only a specific part of this network server for a given protocol. 7. Способ по п.5, отличающийся тем, что дополнительно осуществляют замену упомянутых спецсимволов на безопасные символы с уменьшением рисков, связанных с использованием избранного протокола.7. The method according to claim 5, characterized in that it additionally replaces the mentioned special characters with safe characters to reduce the risks associated with the use of the selected protocol. 8. Способ по п.5 или 6, отличающийся тем, что упомянутый протокол включает в себя элементы, написанные на языке JavaScript.8. The method according to claim 5 or 6, characterized in that said protocol includes elements written in JavaScript. 9. Способ по любому из пп.5-7, отличающийся тем, что дополнительно осуществляют запись упомянутых спецсимволов для создания журнала безопасности.9. The method according to any one of paragraphs.5-7, characterized in that it further record the mentioned special characters to create a security log. 10. Способ по п.9, отличающийся тем, что дополнительно осуществляют проверку упомянутого журнала безопасности на установление принадлежности упомянутых спецсимволов к враждебным.10. The method according to claim 9, characterized in that they additionally check the aforementioned security journal to determine whether the special characters are hostile. 11. Способ по любому из пп.5-7, отличающийся тем, что упомянутую защиту сетевого сервера осуществляют во время трансакции электронной покупки.11. The method according to any one of paragraphs.5-7, characterized in that the said protection of the network server is carried out during an electronic purchase transaction. 12. Способ по п.11, отличающийся тем, что трансакцию электронной покупки осуществляют посредством электронного бумажника.12. The method according to claim 11, characterized in that the electronic purchase transaction is carried out by means of an electronic wallet. 13. Трансакционная система для обеспечения проведения финансовых трансакций по запросу пользователя, работающего на пользовательском компьютере, подключенном к сети передачи данных, отличающаяся тем, что она содержит авторизатор трансакции и сервер безопасности, сконфигурированный с возможностью проверки наличия средства идентификации в распоряжении пользователя и предоставления цифрового удостоверения упомянутому пользовательскому компьютеру в случае успешной проверки, причем авторизатор трансакции сконфигурирован с возможностью авторизации запроса пользователя на трансакцию на основе по крайней мере части упомянутых цифровых удостоверений, полученных пользовательским компьютером посредством сети передачи данных.13. A transaction system for providing financial transactions at the request of a user working on a user computer connected to a data network, characterized in that it contains a transaction authorizer and a security server configured to verify the availability of identification tools at the user's disposal and provide a digital identity mentioned user computer in case of successful verification, and the transaction authorizer is configured with the possibility of Strongly user transaction authorization request based on at least a portion of said digital certificates received by a user computer data network. 14. Система по п.13, отличающаяся тем, что она дополнительно содержит инструментальный сервер трансакции.14. The system according to item 13, characterized in that it further comprises a transaction tool server. 15. Система по п.13, отличающаяся тем, что она дополнительно содержит сервер электронного бумажника, связанный с пользовательским компьютером посредством упомянутой сети передачи данных.15. The system of claim 13, wherein it further comprises an electronic wallet server connected to the user computer via said data network. 16. Система по п.15, отличающаяся тем, что упомянутый сервер электронного бумажника сконфигурирован с возможностью получения запроса на трансакцию от упомянутого пользовательского компьютера, связи с компьютерной системой продавца и передачи информации об упомянутом пользователе упомянутой компьютерной системе продавца.16. The system of Claim 15, wherein said electronic wallet server is 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. 17. Система по п.13 или 16, отличающаяся тем, что компьютер пользователя содержит инструмент проведения трансакции и считывающее устройство, сконфигурированное с возможностью передачи информации между инструментом проведения трансакции и средством идентификации.17. The system according to item 13 or 16, characterized in that the user's computer contains a transaction tool and a reader configured to transmit information between the transaction tool and the identification tool. 18. Система по п.17, отличающаяся тем, что упомянутый инструмент проведения трансакции является клиентом электронного бумажника.18. The system of claim 17, wherein said transaction tool is a customer of an electronic wallet. 19. Система по п.13, отличающаяся тем, что средством идентификации является смарт-карточка.19. The system according to item 13, wherein the means of identification is a smart card. 20. Система по п.13, отличающаяся тем, что упомянутый сервер безопасности и упомянутый авторизатор трансакции имеют между собой соединение передачи данных, изолированное от сети передачи данных.20. The system of claim 13, wherein said security server and said transaction authorizer have a data connection to each other isolated from the data network. 21. Система по п.17, отличающаяся тем, что упомянутый инструмент проведения трансакции и упомянутый сервер безопасности имеют между собой соединения передачи данных, изолированное от упомянутой сети передачи данных.21. The system according to 17, characterized in that said transaction tool and said security server have data connections between them isolated from said data network. 22. Система по п.13, отличающаяся тем, что средство идентификации содержит цифровой сертификат однозначной идентификации пользователя данного средства идентификации.22. The system according to item 13, wherein the means of identification contains a digital certificate of unique identification of the user of this means of identification. 23. Система по п.22, отличающаяся тем, что она содержит персональный идентификатор пользователя упомянутого средства идентификации для открытия ему доступа к цифровому сертификату.23. The system according to p. 22, characterized in that it contains a personal user identifier of the said identification means for opening access to a digital certificate. 24. Система по п.13, отличающаяся тем, что она включает в себя эмитента средства идентификации, а трансакция является трансакцией типа ″карточка присутствует″, установленной эмитентом средства идентификации.24. The system according to item 13, characterized in that it includes the issuer of the means of identification, and the transaction is a transaction of the type "card present" established by the issuer of the means of identification. 25. Сервер электронного бумажника для обеспечения проведения трансакций через цифровую сеть, отличающийся тем, что он содержит интерфейс цифровой сети и приложение электронного бумажника, имеющее связь с базой данных, причем сервер электронного бумажника сконфигурирован с возможностью получения запроса на трансакцию от клиента электронного бумажника, обработки удостоверения от упомянутого клиента электронного бумажника для идентификации пользователя клиента электронного бумажника, выборки информации о пользователе из базы данных после идентификации упомянутого пользователя и совершения упомянутой трансакции от имени упомянутого пользователя с использованием упомянутой информации о пользователе.25. An electronic wallet server for facilitating transactions through a digital network, characterized in that it comprises a digital network interface and an electronic wallet application having a database connection, the electronic wallet server being configured to receive a transaction request from an electronic wallet client, processing credentials from the said electronic wallet client for identifying the user of the electronic wallet client, retrieving user information from the database after identifying said user and making said transaction on behalf of said user using said user information. 26. Сервер по п.25, отличающийся тем, что упомянутое удостоверение содержит цифровую подпись.26. The server according A.25, characterized in that the said certificate contains a digital signature. 27. Сервер по п.26, отличающийся тем, что упомянутое удостоверение содержит набор произвольных данных с цифровой подписью средства идентификации, находящегося в распоряжении упомянутого пользователя.27. The server according to p. 26, characterized in that the said certificate contains a set of arbitrary data with a digital signature of the identification means at the disposal of the said user. 28. Сервер по п.27, отличающийся тем, что упомянутый клиент электронного бумажника снабжен упомянутым набором произвольных данных посредством сервера безопасности.28. The server according to item 27, wherein said electronic wallet client is provided with said set of arbitrary data through a security server. 29. Сервер по п.25 или 27, отличающийся тем, что он содержит формы продавца, заполненные информацией об упомянутом пользователе при совершении упомянутой трансакции от имени пользователя.29. The server according to claim 25 or 27, characterized in that it contains seller’s forms filled out with information about the said user when the transaction was completed on behalf of the user. 30. Компьютеризованный способ выполнения онлайновых покупок, отличающийся тем, что осуществляют авторизацию посредством сервера безопасности, получают удостоверения от упомянутого сервера безопасности, затем идентифицируют адрес продавца, откуда совершается покупка, передают упомянутые удостоверения на сервер электронного бумажника для авторизации упомянутого пользователя на сервере электронного бумажника, а после успешной авторизации на сервере электронного бумажника переадресовывают сообщения с упомянутым адресом продавца на упомянутый сервер электронного бумажника и направляют информацию об упомянутом пользователе от сервера электронного бумажника на адрес продавца, после чего получают информацию о результатах упомянутой покупки.30. A computerized method for making online purchases, characterized in that they authorize via a security server, obtain certificates from the said security server, then identify the seller’s address where the purchase is made from, transfer the said certificates 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 seller’s address are forwarded to the aforementioned electronic wallet server and send information about said user of the electronic wallet server to the address of the seller, and then receive information on the results of said purchase. 31. Способ по п.30, отличающийся тем, что упомянутое удостоверение содержит цифровую подпись.31. The method according to p. 30, characterized in that the said certificate contains a digital signature. 32. Способ по п.31, отличающийся тем, что упомянутое удостоверение содержит данные, полученные от сервера безопасности.32. The method according to p, characterized in that the said certificate contains data received from the security server. 33. Компьютеризованный способ выполнения онлайновых покупок, отличающийся тем, что осуществляют получение на сервер запроса от пользователя на трансакцию, который включает в себя адрес продавца и удостоверение, затем осуществляют проверку упомянутого удостоверения для идентификации пользователя, а по результатам упомянутой проверки осуществляют выборку пользовательской информации из базы данных, после чего заполняют онлайновые формы в соответствии с адресом продавца и выдают упомянутому пользователю информацию о результатах покупки.33. A computerized method of making online purchases, characterized in that they receive a request from the user for the transaction to the server, which includes the seller’s address and identity, then verify the identity to identify the user, and, based on the results of the verification, select user information from database, after which they fill out online forms in accordance with the seller’s address and give the mentioned user information about the results of purchases and. 34. Способ по п.33, отличающийся тем, что упомянутое удостоверение содержит цифровую подпись.34. The method according to p, characterized in that the said certificate contains a digital signature. 35. Способ по п.34, отличающийся тем, что упомянутое удостоверение содержит данные, полученные от сервера безопасности.35. The method according to clause 34, wherein said certificate contains data received from a security server. 36. Способ по п.35, отличающийся тем, что упомянутый сервер безопасности объединяют с упомянутым сервером.36. The method according to clause 35, wherein said security server is combined with said server. 37. Способ по любому из пп.34-36, отличающийся тем, что упомянутую цифровую подпись выполняют посредством смарт-карточки.37. The method according to any one of paragraphs 34-36, characterized in that said digital signature is performed by means of a smart card. 38. Компьютеризованный способ контроля доступа к службе, отличающийся тем, что сначала получают от пользователя запрос на вход, проверяют наличие у пользователя средства идентификации, после получения успешного результата проверки выдают удостоверение упомянутому пользователю, затем получают от пользователя запрос на трансакцию, который включает в себя, по крайней мере, часть упомянутого удостоверения, и осуществляют обработку упомянутой части удостоверения для обеспечения доступа к упомянутой службе.38. A computerized method of controlling access to the service, characterized in that they first receive a request for input from the user, verify that the user has an identification tool, after receiving a successful verification result, issue a certificate to the mentioned user, then receive a transaction request from the user, which includes at least part of said certificate, and processing said part of certificate to provide access to said service. 39. Способ по п.38, отличающийся тем, что упомянутую проверку осуществляют посредством запроса-ответа.39. The method according to § 38, characterized in that the said verification is carried out by means of a response request. 40. Способ по п.39, отличающийся тем, что упомянутые запрос-ответ содержат произвольные данные из средства идентификации.40. The method according to § 39, wherein said request-response contains arbitrary data from the means of identification. 41. Способ по п.40, отличающийся тем, что упомянутые запрос-ответ дополнительно содержат цифровую подпись упомянутых произвольных данных.41. The method according to p, characterized in that the said request-response further comprise a digital signature of said arbitrary data. 42. Способ по любому из пп.38-41, отличающийся тем, что упомянутая служба является службой финансовой трансакции.42. The method according to any of paragraphs 38-41, characterized in that the said service is a financial transaction service.
RU2002105505/09A 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 RU2252451C2 (en)

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)

* Cited by examiner, † Cited by third party
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
RU2473127C2 (en) * 2006-12-20 2013-01-20 Майкрософт Корпорейшн Advertising integration and extensible themes for operating systems
RU2473178C2 (en) * 2007-09-21 2013-01-20 Нокиа Сименс Нетворкс Ой Control of subscription and billing notice
WO2013125982A1 (en) * 2012-02-21 2013-08-29 Rawllin International Inc. Dual factor digital certificate security algorithms
RU2501084C2 (en) * 2009-04-28 2013-12-10 Виза Интернэшнл Сервис Ассосиэйшн Verification of portable consumer devices
US8602293B2 (en) 2009-05-15 2013-12-10 Visa International Service Association Integration of verification tokens with portable computing 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

Cited By (48)

* Cited by examiner, † Cited by third party
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
RU2501084C2 (en) * 2009-04-28 2013-12-10 Виза Интернэшнл Сервис Ассосиэйшн Verification of portable consumer devices
US10572864B2 (en) 2009-04-28 2020-02-25 Visa International Service Association 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
US11574312B2 (en) 2009-05-15 2023-02-07 Visa International Service Association Secure authentication system and method
US9582801B2 (en) 2009-05-15 2017-02-28 Visa International Service Association Secure communication of payment information to merchants using a verification token
US8893967B2 (en) 2009-05-15 2014-11-25 Visa International Service Association Secure Communication of payment information to merchants using a verification token
US8827154B2 (en) 2009-05-15 2014-09-09 Visa International Service Association Verification of portable consumer devices
US8602293B2 (en) 2009-05-15 2013-12-10 Visa International Service Association Integration of verification tokens with portable computing devices
US9792611B2 (en) 2009-05-15 2017-10-17 Visa International Service Association Secure authentication system and method
US10387871B2 (en) 2009-05-15 2019-08-20 Visa International Service Association Integration of verification tokens with mobile communication devices
US10009177B2 (en) 2009-05-15 2018-06-26 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
US10657528B2 (en) 2010-02-24 2020-05-19 Visa International Service Association Integration of payment capability into secure elements of computers
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
WO2013125982A1 (en) * 2012-02-21 2013-08-29 Rawllin International Inc. Dual factor digital certificate security algorithms
US11995633B2 (en) 2012-03-06 2024-05-28 Visa International Service Association Security system incorporating mobile device
US10282724B2 (en) 2012-03-06 2019-05-07 Visa International Service Association Security system incorporating mobile device
US10664824B2 (en) 2013-12-19 2020-05-26 Visa International Service Association Cloud-based transactions methods and systems
US11164176B2 (en) 2013-12-19 2021-11-02 Visa International Service Association Limited-use keys and cryptograms
US11875344B2 (en) 2013-12-19 2024-01-16 Visa International Service Association Cloud-based transactions with magnetic secure transmission
US10402814B2 (en) 2013-12-19 2019-09-03 Visa International Service Association Cloud-based transactions methods and systems
US9972005B2 (en) 2013-12-19 2018-05-15 Visa International Service Association Cloud-based transactions methods and systems
US10846694B2 (en) 2014-05-21 2020-11-24 Visa International Service Association Offline authentication
US11842350B2 (en) 2014-05-21 2023-12-12 Visa International Service Association Offline authentication
US11783061B2 (en) 2014-08-22 2023-10-10 Visa International Service Association Embedding cloud-based functionalities in a communication device
US11036873B2 (en) 2014-08-22 2021-06-15 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
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
US10187363B2 (en) 2014-12-31 2019-01-22 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