KR20180029227A - Security and user authentication for electronic transactions - Google Patents

Security and user authentication for electronic transactions Download PDF

Info

Publication number
KR20180029227A
KR20180029227A KR1020187001049A KR20187001049A KR20180029227A KR 20180029227 A KR20180029227 A KR 20180029227A KR 1020187001049 A KR1020187001049 A KR 1020187001049A KR 20187001049 A KR20187001049 A KR 20187001049A KR 20180029227 A KR20180029227 A KR 20180029227A
Authority
KR
South Korea
Prior art keywords
security code
security
matrix
user
code
Prior art date
Application number
KR1020187001049A
Other languages
Korean (ko)
Inventor
로버트 제이. 스테인만
레스터 에프. 디아즈
마들린 케이. 아우프시저
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 KR20180029227A publication Critical patent/KR20180029227A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3821Electronic credentials
    • G06Q20/38215Use of certificates or encrypted proofs of transaction rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • G06Q20/023Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP] the neutral party being a clearing house
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/385Payment protocols; Details thereof using an alias or single-use codes

Abstract

제한된 수명의 보안 코드들을 생성, 전파, 제어 및 프로세싱하는 시스템 및 방법이 사용자들을 인증하기 위해, 특히 지불 거래와 같은, 전자 금융 거래를 위해 사용된다. 복수의 계좌들 또는 다른 보안 시스템들에 걸쳐 사용할 수 있는 단일 보안 코드를 제공하는 것이 고찰되고, 보안 코드 각각은 제한된 수명을 갖는다. 보안 코드 각각은 난수 생성기로부터의 난수이다. 사용자 각각에 대한 각각의 보안 코드들은 각각의 제한된 지속기간의 보안 코드 유효 기간에 대응한다. 따라서, (각각이 각각의 유효 기간들을 갖는) 랜덤하게 선택된 보안 코드들의 각각의 세트들과 복수의 사용자들을 연관시키는 표 또는 매트릭스가 생성되고, 이 매트릭스는 각각의 엔티티들, 보안 액세스를 필요로 하는 사용자 각각에 제공된다. 동시에, 적어도 현재 보안 코드가 사용자 각각에 제공되고, 액세스되는 각각의 엔티티들이 어떤 사용자로부터의 코드가 현재 유효한지를 추적할 수 있는 방법이다.Systems and methods for generating, propagating, controlling and processing security codes of limited lifetime are used for electronic financial transactions, such as payment transactions in particular, to authenticate users. It is contemplated to provide a single security code that can be used across multiple accounts or other security systems, each with a limited lifetime. Each security code is a random number from a random number generator. Each security code for each user corresponds to a security code validity period of each limited duration. Thus, a table or matrix is generated that associates a plurality of users with each respective set of randomly selected security codes (each having respective validity periods), and this matrix is associated with each of the entities, And is provided to each user. At the same time, at least a current security code is provided for each of the users, and each entity being accessed can track which code from which user is currently valid.

Description

전자 거래를 위한 보안 및 사용자 인증Security and user authentication for electronic transactions

본 발명은 가장 일반적으로 어떤 형태의 액세스가 목표되는 엔티티와 전자 거래를 인게이지하기 위한 준비 동작 (prelude) 으로서 사용자 인증에 관한 것이다. 보다 구체적으로, 본 발명은 본 명세서에 개시된 바와 같이 생성되고 관리된 보안 코드의 사용에 의해 전자 거래들 및 다른 보안된 전자 액세스를 위한 시스템들 및 방법들에 관한 것이다.The present invention most generally relates to user authentication as a prelude to get an electronic transaction with an entity of some type of access. More particularly, the present invention relates to systems and methods for electronic transactions and other secure electronic access by the use of security codes generated and managed as disclosed herein.

신뢰성 있는 사용자 인증이 매우 중요한 일 예는 전자 지불 거래 분야이다.One of the most important examples of reliable user authentication is electronic payment transactions.

신용, 직불 및 선불 온라인 카드 사기는 온라인 쇼핑 및 제 3 자 지불 거래량이 증가함에 따라 증가하고 있다. 새로운 기술이 EMV (Europay, Mastercard, 및 Visa - 즉 "칩이 삽입된 (chipped)" 카드들) 의 사용 및 카드 단말 암호화를 통해 판매자 POS (Point of Sale) 단말들에서 "카드 제시" 사기를 해결하지만, 온라인 "CNP (Card Not Present)" 사기 문제에 대한 현재 보안 수단은 불충분하다.Credit, debit and prepay online card fraud are increasing as online shopping and third party payment transactions increase. New technologies address "card present" fraud at Merchant Point of Sale (POS) terminals through the use of EMV (Europay, Mastercard, and Visa - ie "chipped" cards) However, current security measures against online "Card Not Present" (CNP) fraud issues are insufficient.

CNP 사기는 미국이 추정한 사기 손실이 신용 카드 거래에 대해서만 2013년에 28 억 달러로 규모가 크고 성장하고 있고, 향후 10 년간 온라인 사기 신용 카드 구매에 대해 두 자릿수 성장이 기대되고, 2018 년에 64 억 달러까지로 추정된다.CNP fraud is expected to have double digit growth for online fraud credit card purchases over the next decade, with US fraud losses growing by as much as $ 2.8 billion in 2013 for credit card transactions, It is estimated to be up to $ 100 million.

직불 및 선불 카드 사기는 달러 손실 수치를 악화시킨다. 사기가 증가함에 따라, 금융 기관 (FI) 이 사기 복구, 관리, 및 동작들을 위해 보다 많은 비용을 지불해야 한다. 금융 기관들은 또한 카드소지자의 불만 및 잠재적인 고객 손실에 직면한다. 따라서 시장 영향이 상당하다.Debit and prepay card fraud worsens dollar loss figures. As fraud increases, financial institutions (FIs) have to pay more for fraud recovery, management, and operations. Financial institutions also face cardholder dissatisfaction and potential customer loss. Therefore, the market impact is significant.

이에 더하여, ACH (automated clearinghouse) 차변 (debit) 지불은 가상 수표 (Check Not Present) 거래들이 증가함에 따라 성장한다. ACH 차변은 비용이 적게 들지만, 계좌 소유주에 대한 제한된 제어를 수반한다. 판매자/판매자/수취인은 종종 소비자가 판매자와 지불을 확립할 때 개인의 수표 계좌에 액세스하도록 광범위한 (그리고 종종 비제한적인) 승인을 받는다.In addition, automated clearinghouse (ACH) debit payments grow as Check Not Present transactions increase. ACH debits are less expensive, but involve limited control over account holders. Seller / seller / payee often receives extensive (and often non-restrictive) authorization to access a personal check account when the consumer establishes payment with the seller.

(CNP 거래에서의 사용을 포함하는) 지불 카드 분야에서, (예를 들어, 전화를 통해 일어나는) CNP 거래 동안, 인증 카드를 손에 들고 또는 카드 보유자가 카드를 손에 들고 있다는 지표를 (판매자 또는 다른 수취인에 대해) 확립함으로써, 미리 결정된 지불 거래가 일어난다는 신뢰성을 상승시키기 위해 지불 카드와 짧은 (통상적으로 3 또는 4 자릿수) 숫자 코드를 연관시키는 것이 공지되어 있다.In the field of payment cards (including use in a CNP transaction), during the CNP transaction (for example, via telephone), you can use an indicator that the card holder is holding the card in hand, It is known to associate a short (usually three or four digit) numeric code with a payment card to increase the confidence that a predetermined payment transaction will occur.

몇몇 타입들의 이들 종래의 보안 코드들이 있다.There are several types of these conventional security codes.

제 1 타입의 종래의 보안 코드는 일반적으로 CVV1 ("card verification value") 으로 지칭된다. 이 코드는 기술분야에서 때때로 CVC1 ("card validation code") 로 대안적으로 지칭된다. 이 코드는 카드의 자기 스트립에 보이지 않게 인코딩되고 예를 들어, 카드 제시 거래 동안 판매자에게 속한 POS 단말에 카드를 스와이핑할 때 (swipe), 회수된다 (retrieve). 이는 거래의 일부로서 전달되고, 카드 발행자에 의해 입증된다 (verified). CVV1 코드의 입증은 지불 카드가 카드를 스와이핑하는 판매자 (또는 다른 엔티티) 에 의해 실제로 물리적으로 핸들링된다는 것을 뒷받침한다.A conventional security code of the first type is generally referred to as CVV1 ("card verification value"). This code is sometimes referred to in the art as CVC1 ("card validation code"). This code is invisible to the magnetic strip of the card and is retrieved, for example, when swiping the card to the POS terminal belonging to the merchant during the card presentation transaction. It is delivered as part of the transaction and is verified by the card issuer. Proof of the CVV1 code supports that the payment card is actually physically handled by the seller (or other entity) swiping the card.

CVV1 코드는 카드의 자기 스트립에 레코딩되기 때문에 고정되고, 또한 미리 결정된 지불 카드에 특정된다. 카드가 물리적으로 복제되고 자기 스트립 데이터가 카피되면, CVV1 코드는 인증되지 않은 사용자에 의해서도 유효하고 가용한 것으로 남아 있을 것이다.The CVV1 code is fixed because it is recorded on the magnetic strip of the card, and is also specified on a predetermined payment card. If the card is physically replicated and the magnetic strip data is copied, the CVV1 code will remain valid and available by unauthorized users.

제 2 타입의 종래의 보안 코드는 일반적으로 CVV2 (또는 때때로 CVC2) 로 지칭된다. CVV2 코드는 카드 계좌 번호와 이격되어 지불 카드 상 (예를 들어, 후면의 사인 스트립 위, 또는 때때로 계좌 번호로부터 이격되어 전면) 에 인쇄된 고정된 번호이다. CVV2 코드는 CNP 거래 (예컨대 제화 또는 서비스의 전화 또는 온라인 구매) 를 위해 사용되고, 거래를 개시하는 사람이 카드를 소지한다고 또는 카드의 물리적 기록 (카드 상의 CVV2 코드와 함께) 을 본다는 것을 나타내도록 의도된다. 오용의 다른 형태들 중에서, CVV2 코드의 사용은 자기 스트립 정보가 부정하게 카피되고 (기술적으로 말하면, 상대적으로 단순한 단계) 그 후 CNP 거래에 사용되는 상황을 방지하는 것을 돕는다. 대부분의 CNP 거래들은 CVV2 코드의 부가적인 지식을 요구할 것이다. 산업적 관습에 따라, CVV2 코드는 전자 지불 거래 동안 판매자들 또는 수취인들에 의해 저장되지 않는다. 그 결과, 판매자 또는 수취인에 의해 (예를 들어, 고객 지불 카드 계좌 번호들을 포함하는) 거래 정보가 해킹되거나 그렇지 않으면 도용된다면, 이 정보는 대응하는 CVV2 코드의 지식 없이 덜 가용해진다.A conventional security code of the second type is generally referred to as CVV2 (or sometimes CVC2). The CVV2 code is a fixed number printed on the payment card (for example, on the back of the sign strip, or sometimes spaced from the account number), spaced from the card account number. The CVV2 code is used for CNP transactions (such as telephone or online purchase of a shoe or service) and is intended to indicate that the person who initiates the transaction holds the card or sees the physical record of the card (along with the CVV2 code on the card) . Among other forms of misuse, the use of the CVV2 code helps to prevent situations where self-strip information is illegally copied (technically speaking, a relatively simple step) and then used for CNP transactions. Most CNP transactions will require additional knowledge of the CVV2 code. In accordance with industry practice, the CVV2 code is not stored by sellers or payees during an electronic payment transaction. As a result, if transaction information (e.g., including customer payment card account numbers) is hacked or otherwise stolen by the seller or payee, this information becomes less available without knowledge of the corresponding CVV2 code.

CVV1 코드와 같이, CVV2 코드는 고정되고 (즉, 미리 결정된 물리적 지불 카드에 대해 변경불가능), 그리고 단일 지불 카드와 고유하게 연관된다. (관습적으로 또는 판매자들과 지불 프로세서들 간 동의 표시에 의해) CVV2 코드가 이론적으로 유지되지 않지만, 코드를 부정하게 카피하거나 유지하는 나쁜 사람들이 예방되지 못할 수 있다. 관습적으로 활용되었지만, CVV2 코드는 지불 카드의 전면에 분명하게 증명되어, 카드가 도용된다면 부정하게 사용가능하다는 것을 주의해야 한다.Like the CVV1 code, the CVV2 code is fixed (i.e., unchangeable for a predetermined physical payment card), and is uniquely associated with a single payment card. CVV2 code is not maintained theoretically (by convention or by agreement between vendors and payment processors), but bad people who copy or maintain code illegally may not be prevented. It should be noted that although it has been customarily used, the CVV2 code is clearly demonstrated on the front of the payment card, and is illegitimately used if the card is stolen.

PIN (Personal Identification Numbers) 의 사용은 또한 일반적으로 예를 들어, 직불 카드들의 사용과 연관된 것으로 공지된다. 종래의 예에서, 지불 카드는 카드의 자기 스트립으로부터 계좌 정보를 판독하기 위해 스와이핑되고, PIN은 사용자에 의해 키패드 또는 다른 입력 디바이스 상에 수동으로 입력된다. 카드 정보 및 입력된 PIN의 송신을 허용하는, 통신 링크가 뱅크 또는 금융 기관과 확립된다.The use of PINs (Personal Identification Numbers) is also generally known to be associated with the use of, for example, debit cards. In a conventional example, the payment card is swapped to read the account information from the magnetic strip of the card, and the PIN is manually entered on the keypad or other input device by the user. A communication link is established with the bank or financial institution, which allows the transmission of card information and the entered PIN.

관습적으로, 미리 결정된 PIN 코드는 보통 단일 각각의 지불 카드 또는 사용자가 액세스를 얻기 원하는 다른 전자 엔티티 또는 시스템과 연관된다. 이는 사용자가 관리해야 하고, 기억해야 하고, 보안을 유지 (즉, 분실 및/또는 승인되지 않은 액세스로부터 보호) 해야 하는 개인의 보안 코드들의 확산을 더 악화시킨다.Conventionally, a predetermined PIN code is usually associated with each single payment card or other electronic entity or system for which the user desires to gain access. This worsens the proliferation of personal security codes that the user must manage, remember, and maintain security (i.e., protect against loss and / or unauthorized access).

FI들, 판매자들, 및 소비자들은 모두, 사기를 최소화하고, 데이터 침해에 대한 노출을 감소시키고, 브랜드 평판 리스크를 완화시키고, 거래가 발생할 때, 승인될 때 및 승인되는 방법, 및 돈이 이동될 때의 제어를 증가시킴으로써 거래 리스크들을 감소시키는 솔루션을 원한다.FIs, sellers, and consumers all know how to minimize fraud, reduce exposure to data breaches, mitigate brand reputation risk, when transactions occur, when they are approved and when they are approved, We want a solution that reduces transaction risk by increasing control of the system.

따라서, 승인되지 않은 거래들 또는 사기 손실들로부터 FI들 및 판매자들의 돈을 절약하고, 거래에 대한 보다 큰 제어를 계좌 보유자들에게 제공하고, 인증 프로세스 및 거래 완료의 마찰을 최소화하고, 보다 강한 보안 절차들의 채택을 개선하는 종래 기술의 일부 문제들을 해결하는 보안 솔루션을 찾는 것이 바람직하다.Thus, it is possible to save money of FIs and sellers from unauthorized transactions or fraud losses, to provide account holders with greater control over transactions, minimize friction of the authentication process and transaction completion, It is desirable to find a security solution that solves some of the problems of the prior art to improve the adoption of the procedures.

FI들은 지불 카드 또는 수표 거래들의 탈중개 (disintermediation) 를 위협하는 (즉, 보다 안전하거나 상이한 거래 방법론을 구축할 수도 있는 제 3 자 침입자에 대한 거래를 손실할 리스크) 온라인 구매 거래량, 시장 점유율 및 계좌 보유자들을 희생시키지 않을 것이다. 판매자들은 포기된 구매, 입금 취소 (chargeback) 및 논쟁되는 거래들을 최소화하기 원한다. 바람직한 솔루션은 기존의 프로세스들의 활용을 최대화할 것이고, 쉽게 통합되고, 스케일링가능하고, 인증 프로세스 속도를 희생시키지 않을 것이다.FIs are the ones that threaten disintermediation of payment cards or check transactions (that is, the risk of losing a transaction to a third party intruder who may be building a safer or different trading methodology), online purchase volume, market share and account It will not sacrifice its holders. Sellers want to minimize abandoned purchases, chargebacks and disputed transactions. A preferred solution would be to maximize the utilization of existing processes, be easily integrated, be scalable, and not sacrifice the speed of the authentication process.

매력적인 솔루션은 온라인 구매 거래에 대한 모든 당사자들: FI들, 카드 보유자들, 계좌 보유자들 및 판매자들의 요구를 해결할 것이다. 바람직하게, 이러한 솔루션은 CNP 사기를 감소시킬 것이고, FI 노출을 제한할 것이고, 사기, 논쟁 및 입금취소 비용을 감소시킬 것이고, 카드 보유자 및 계좌 보유자에게 추가된 이점들을 제공할 것이다.An attractive solution will address the needs of all parties: FIs, cardholders, account holders and sellers for online purchase transactions. Preferably, such a solution will reduce CNP fraud, limit FI exposure, reduce fraud, contention and deposit cancellation costs, and provide added benefits to cardholders and account holders.

본 발명은 가장 일반적으로, 사용자가 액세스하기 원하는, 보안된 엔티티, 특히, 전자 엔티티, 예컨대 보안된 컴퓨터 네트워크들 또는 개인 또는 상업적 웹사이트와 상호작용 또는 액세스하는 사용자 인증을 위한 시스템들 및 방법들에 관한 것이다. 그러나, 본 발명은 명백하게 보안된 건물 등과 같은 개인에 의한 물리적 액세스를 위한 시스템들에 적용될 수 있다. 본 발명의 특정한 양태는 사용자 인증에 사용된 보안 코드들의 생성, 전파 및 관리에 관한 것이다.The present invention most generally relates to systems and methods for user authentication that interact with or access a secured entity, particularly an electronic entity, such as secure computer networks or an individual or commercial web site, that the user desires to access . However, the present invention is obviously applicable to systems for physical access by individuals, such as secure buildings, and the like. Certain aspects of the invention relate to the generation, propagation, and management of security codes used in user authentication.

특히 본 발명의 비제한적인 예에서, 본 발명은 전자 거래, 특히 전자 지불 거래 시 사용자 인증 프로세스의 보안성을 증가시키지만, 또한 요구된 보안 코드들의 채택 부담을 최소화하고 요구된 보안 코드들을 사용하고 관리하는 사용자 편의를 최대화하는 시스템들 및 방법에 관한 것이다.In particular, in a non-limiting example of the present invention, the present invention increases the security of the user authentication process in electronic transactions, particularly electronic payment transactions, but also minimizes the adoption burden of required security codes, And more particularly to systems and methods for maximizing user convenience.

본 발명은 각각의 지불 모드에 결부된 몇몇 보안 코드들 각각을 갖는 대신 (신용 카드들, 직불 카드들, 당좌 계좌, 등과 같은) 사용자에게 속한 지불 모드들의 범위에 걸쳐 사용가능한 사용자 인증을 위한 단일의 제한된 수명의 랜덤화된 보안 코드에 관한 것이다. 이는 사용자가 기억해야 하고 보호해야 할 보안 코드들의 수를 편리하게 감소시킨다.The present invention provides a method and system for providing a single user for user authentication that is available across a range of payment modes belonging to a user (such as credit cards, debit cards, checking account, etc.), instead of having each of several security codes associated with each payment mode. To a randomized security code of limited lifetime. This conveniently reduces the number of security codes the user must remember and protect.

그러나, 동시에, 보안 코드는 제한된 수명 (예를 들어, 하루) 을 갖고, 이에 따라 변화되어, 코드가 임의의 미리 결정된 순간에 분실되면 보안 노출을 감소시킨다. 또한, 사기성 사용 등의 사인들이 검출되면 코드가 용이하게 변화될 수 있고, 또는 카드 분실 또는 (즉, 특정한 계좌 또는 지불 모드들에 대한) 제한된 사기성 사용의 검출에 응답하여 필요할 수도 있기 때문에, (복수의 계좌들 또는 지불 모드들 중) 특정한 계좌들 또는 지불 모드들이 선택적으로 (또는 자동으로) 로킹 및 언로킹될 수 있다.At the same time, however, the security code has a limited lifetime (e. G., A day) and thus changes, thereby reducing security exposure if the code is lost at any predetermined moment. In addition, the code can be easily changed if signatures such as fraudulent usage are detected, or because it may be needed in response to detection of a lost card or limited fraudulent use (i.e., for certain account or payment modes) Of accounts or payment modes) can be selectively (or automatically) locked and unlocked.

본 발명의 예에서, 복수의 각각의 사용자들 (예를 들어, 지불 계좌 보유자들) 이 랜덤하게 생성된 보안 코드들의 각각의 세트들과 연관되는 가상 매트릭스가 생성된다. 보안 코드 각각은 미리 결정된 사용자와 연관된 세트의 다른 보안 코드들의 유효성과 중첩하지 않는 (또는 이하에 설명된 바와 같이, 최소로 중첩하는) 특정한 유효 기간을 갖는다. (사용자들 및/또는 보안 코드들의 현재 세트에 대한) 매트릭스의 현재 버전은 지불 프로세서들 또는 금융 기관들에 주기적으로 분배되어, 인증에 참조될 수 있다. 동시에, 미리 결정된 사용자에 대한 적어도 현재 유효한 보안 코드는 이 사용자에게 전달된다.In the example of the present invention, a virtual matrix is generated in which a plurality of respective users (e.g., payment account holders) are associated with respective sets of randomly generated security codes. Each security code has a particular validity period that does not overlap (or at least overlaps, as described below) the validity of the other security codes in the set associated with the predetermined user. The current version of the matrix (for the current set of users and / or security codes) may be periodically distributed to payment processors or financial institutions and referenced for authentication. At the same time, at least the currently valid security code for the predetermined user is communicated to this user.

본 발명의 특정한 예에서, 매트릭스 상의 정보 (특히, 보안 코드들) 는 매트릭스가 각각의 지불 프로세서들에 분배되기 전에 (예를 들어, 해시 함수를 사용하여) 수학적으로 모호해진다 (obfuscate). 바람직하게, 난독화 방법은 지불 프로세서 각각에 대해 고유한 각각의 해시 솔트들을 사용하는 것과 같이, 지불 프로세서 각각에 대해 고유하다.In a particular example of the invention, information on the matrix (particularly security codes) is mathematically obfuscated (e.g., using a hash function) before the matrix is distributed to the respective payment processors. Preferably, the obfuscation method is unique to each of the payment processors, such as using each hash salt unique to each of the payment processors.

실제로, 전자 지불 거래 프로세스 요청은 전자 지불 거래 요청을 개시하는 주장에 따라 (allegedly) 인증된 사용자의 인증을 위한 보안 코드들 중 하나와 함께 관련된 지불 프로세서에 의해 수신된다. 전자 지불 거래 프로세스 요청 시간에 대응하는 유효 기간 동안, 지불 프로세서에 의해 주장에 따라 인증된 사용자에 대응하는 현재 매트릭스의 보안 코드와 수신된 보안 코드가 비교된다. 이 비교에 따라 거래가 승인되거나 승인되지 않는다.Indeed, the electronic payment transaction process request is received by the associated payment processor along with one of the security codes for authenticating the authenticated user allegedly in response to the request to initiate the electronic payment transaction request. During the expiration period corresponding to the electronic payment transaction process request time, the received security code is compared with the security code of the current matrix corresponding to the authenticated user according to the assertion by the payment processor. This comparison does not approve or approve the transaction.

본 발명은 작성된 기술과 함께, 첨부된 도면들을 참조하여 보다 명확하게 이해될 것이다.
도 1은 전자 지불 거래의 다양한 "참가자들"과 연관된 하드웨어 배치들 간의 상호접속들을 예시하는 고레벨 개략적인 예시이다.
도 2는 본 발명에 따른 다양한 지불 프로세싱 엔티티들 간의 관련된 상호작용들을 포함하는, 보안 코드들의 그룹들을 생성하는 프로세스를 예시한다.
도 2a는 일시적으로 공지된 랜덤 패턴들의 매트릭스가 생성되는 방법의 예를 예시한다.
도 3은 본 발명을 사용하기 위한 사용자의 최초 등록 프로세스를 예시한다.
도 3a 내지 도 3h는 다양한 계좌들을 그룹화하는 것을 포함하는 등록 프로세스의 변형 또는 보안이 모두에게 공통되도록 보안 코드를 필요로 하는 다른 구현예들을 예시한다.
도 4는 본 발명에 따른 보안 코드를 사용자에게 전달하는 프로세스를 예시한다.
도 5는 본 발명의 보안 코드를 사용하는, 신용 카드 또는 직불 카드 또는 수표를 사용한 전자 지불 단계들을 예시한다.
도 6은 전자 지불 거래를 인증하는 다른 단계들을 예시한다.
도 7은 도 6의 프레임워크 내에서, 제출된 보안 코드를 유효화하는 다른 단계들을 예시한다.
도 8은 도 6의 프레임워크 내에서, 거래 기록 및 거래 분석 단계들의 결과들을 예시한다.
도 9는 본 발명의 몇몇 다른 프로세스들로서 사용되는, 사용자에게 통지를 전송하는 프로세스를 예시한다.
도 10은 본 발명과 연관된 금융 계좌를 선택적으로 로킹 또는 언로킹하는 프로세스를 예시한다.
도 11은 지불 프로세서들 또는 금융 기관들로 통지들을 전송하는 프로세스를 예시한다.
도 12는 전자 지불 거래를 유효화하는 프로세스를 예시한다.
BRIEF DESCRIPTION OF THE DRAWINGS The present invention will become more fully understood from the detailed description and the accompanying drawings, wherein: FIG.
Figure 1 is a high-level schematic illustration illustrating interconnection between hardware deployments associated with various "participants" of an electronic payment transaction.
Figure 2 illustrates a process for generating groups of security codes, including associated interactions between various payment processing entities in accordance with the present invention.
2A illustrates an example of how a matrix of temporarily known random patterns is generated.
Figure 3 illustrates a user's initial registration process for using the present invention.
Figures 3A-3H illustrate other implementations that require security code such that variations or security of the registration process, including grouping various accounts, are common to both.
4 illustrates a process for delivering a security code according to the present invention to a user.
5 illustrates electronic payment steps using a credit or debit card or a check, using the security code of the present invention.
Figure 6 illustrates other steps for authenticating an electronic payment transaction.
Figure 7 illustrates other steps in validating submitted security code within the framework of Figure 6;
Figure 8 illustrates the results of transaction record and transaction analysis steps within the framework of Figure 6;
Figure 9 illustrates a process for sending a notification to a user, which is used as some other processes of the present invention.
Figure 10 illustrates a process for selectively locking or unlocking financial accounts associated with the present invention.
11 illustrates a process for sending notifications to payment processors or financial institutions.
Figure 12 illustrates a process for validating an electronic payment transaction.

본 명세서에 개시된 본 발명의 다양한 양태들의 상세들은 본 명세서에서 특정한 언어의 부재시에도, 영향을 주는 최대한 확장 가능한 다양한 조합들로 본 발명의 광범위한 개념들에 적용가능한 것을 의미한다는 것이 이해될 것이다.It will be appreciated that the details of the various aspects of the invention disclosed herein are applicable to a wide range of concepts of the present invention in various combinations that are as extensible as possible, even in the absence of a particular language herein.

본 개시의 목적들을 위해, 이하의 정의들은 일반적으로, 본 명세서에서 더 수정될 수도 있는 것으로 의도된다.For the purposes of this disclosure, the following definitions are generally intended to be further modified herein.

"계좌 (account)"는 제화들 및 서비스들의 구매 및 판매를 목적으로 자금을 이동시킬 수 있고 자금을 보관하는 모든 금융 관계들이다. 통상적으로, 계좌들은 이로 제한되지 않지만, 당좌, 예금, 여신 한도 (lines of credit), 신용 카드, 직불 카드, 선불 카드 (급여 대장, 증여, 및 상여를 포함), 전자 지갑 (digital wallets), 자사 브랜드 ACH 카드, 비결합 직불 카드 (decoupled debit card), 구매를 위해 사용된 가상의 또는 물리적 카드 또는 수표를 사용하거나 사용하지 않는 계좌, EFT (electronic fund transfers), 또는 다른 수단에 의한 자금 이송을 포함할 수 있다.An "account" is any financial relationship that can transfer funds and hold funds for the purpose of purchasing and selling shippings and services. Typically, accounts include, but are not limited to, current accounts, deposits, lines of credit, credit cards, debit cards, prepaid cards (including payroll, gift and bonus), electronic wallets, Brand ACH cards, decoupled debit cards, virtual or physical cards used for purchases or accounts with or without checks, electronic fund transfers (EFT), or other means of transferring funds. can do.

"거래 (transaction)"는 온라인 또는 오프라인으로 일어날 수도 있는 컴퓨터 매개된 네트워크들을 통해 수행된, 사업간, 가정간, 개인간, 정부간, 그리고 다른 공공 또는 사설 조직들간 돈의 이동이다.A "transaction" is a transfer of money between business, home, inter-personal, intergovernmental, and other public or private organizations conducted through computer-mediated networks that may occur online or offline.

"지불 프로세서 (payment processor)"는 전자 지불 요청을 수신하고 전자 지불 요청의 상세들을 검토하고 관련된 금융 기관 (예컨대 카드 발행 은행) 으로부터 판매자 또는 수취인으로의 자금의 이동을 핸들링하는 중개인으로서 역할을 하는 엔티티를 지칭한다. 나타낸 바와 같이, 지불 프로세서는 예를 들어, 카드 지불 프로세서 또는 수령 예치 (Receiving Depository) 금융 기관 또는 은행일 수 있다. 이는 또한 지불 프로세서 액티비티에 수반된 정도로 ACH (Automated Clearing House) 및 연방 준비제도 (Federal Reserve) 를 포괄하는 것을 포괄하는 것을 의미한다. 그러나, 본 명세서의 개시의 간략함을 위해, 용어 "지불 프로세서"는 이 설명의 맥락으로 제한되는 것으로 의도되지 않고, 이러한 맥락으로 기본적으로 사용될 것이다.A "payment processor" is an entity that receives an electronic payment request, reviews the details of an electronic payment request, and acts as a broker to handle the transfer of funds from an associated financial institution (e.g., a card issuing bank) Quot; As shown, the payment processor may be, for example, a card payment processor or a Receiving Depository financial institution or bank. This also includes encompassing the Automated Clearing House (ACH) and the Federal Reserve, to the extent that it is accompanied by payment processor activity. However, for purposes of simplicity of disclosure herein, the term "payment processor" is not intended to be limited to the context of this description, and will be used basically in this context.

도 1은 본 발명이 통합되는 전자 지불 거래들을 수행하는 시스템을 개략적으로 예시한다.Figure 1 schematically illustrates a system for performing electronic payment transactions in which the present invention is incorporated.

도 1에 예시된 주 엘리먼트들은 서로 직접 또는 조작가능하게 (operably) 통신할 수도 있다. 또 다른 엘리먼트와 "조작가능한 통신"되도록, 중개 엘리먼트들이 명시적으로 나타날 필요가 없지만, 2 개의 엘리먼트들 간의 통신 경로간 중개 엘리먼트들의 가능성을 포괄하도록 의도된다. 예시된 엘리먼트들 (예컨대 중앙 시스템) 의 "그룹화 (groupings)"는 근접도가 명백하게 허용가능하지만, (종래의 네트워킹 원리의 제한들 내의) 임의의 물리적 근접도를 필요로 한다는 것을 의미하지 않는다는 의미에서 개략적이다. 또한, 도 1의 엘리먼트들 간 통신 "링크들"은 엘리먼트들의 일반적인 연관성을 반영하도록 의도되고, 제한적인 또는 특히 배타적인 것을 의미하지 않는다 (즉, 도 1에 예시되지 않은 다른 통신 링크들이 예시된 엘리먼트들 사이에 제시할 수도 있다).The primary elements illustrated in Figure 1 may communicate directly or operably with each other. It is intended that the mediation elements do not need to be explicitly shown to be "operably communicated" with another element, but are intended to encompass the possibilities of mediation elements between communication paths between two elements. "Groupings" of the illustrated elements (e. G., Central system) means that proximity is clearly acceptable, but does not mean that it requires any physical proximity (within the limitations of conventional networking principles) Outline. Further, the communication "links" between the elements of FIG. 1 are intended to reflect the general relevance of the elements and are not meant to be restrictive or particularly exclusive (i.e., other communication links not illustrated in FIG. Or even between them).

도 1에 나타낸 바와 같이, "중앙 시스템"은 본 발명에 따른 동작들의 기본적인 부분을 수행하는 엘리먼트들을 포함한다. 중앙 데이터베이스 서버 (1) 는 예를 들어 그리고 제한 없이: 계좌 보유자 등록 프로파일들 및 통지 우선도 또는 조건부 거래 규칙들 또는 계좌 로킹 우선도와 같은 우선도 및 대응하는 정보; 참여하는 지불 프로세서들에 분배하기 위해, 뿐만 아니라 계좌 보유자의 프로파일에 등록된 모든 계좌들에 활성인 현재 보안 코드의 등록된 계좌 보유자들에 통지하기 위해, 본 명세서에서 이하에 설명된 바와 같이 생성된 (때때로 본 명세서에서 일시적으로 공지된 랜덤 패턴들로 지칭된) 생성된 보안 코드들; 등록된 계좌들에 대해 시도된 거래들에 관한 정보를 포함하는, 본 발명을 지지하는 데이터를 중앙에 보유하는 클라우드 내 또는 사내 (on-premise) 데이터 센터들에 보유된, 전용 또는 가상의 하드웨어 시스템에 호스팅된 데이터 저장부이다. 중앙 데이터베이스 서버 (1) 의 예는 리모트 시스템 상 가상 서버의 생성 및 동작을 가능하게 하는, Amazon Relational Database Service (때때로 Amazon RDS로서 지칭됨) 이다. 물리적 서버 상의 구현예는 또한 본 발명에 따라 효과적일 것이다.As shown in FIG. 1, the "central system" includes elements that perform a fundamental part of the operations according to the present invention. The central database server 1 may, for example and without limitation: priority and corresponding information such as account holder registration profiles and notification priority or conditional transaction rules or account locking priority; To notify the registered account holders of the current security code active on all accounts registered in the account holder's profile as well as to the account holders of the participating payment processors, Generated security codes (sometimes referred to herein as random patterns temporarily known in the art); A dedicated or virtual hardware system (e. G., ≪ RTI ID = 0.0 > e. ≪ / RTI > held in cloud or on-premise data centers that centrally holds data supporting the present invention, Lt; / RTI > An example of a central database server 1 is Amazon Relational Database Service (sometimes referred to as Amazon RDS), which enables creation and operation of a virtual server on a remote system. Implementations on physical servers will also be effective in accordance with the present invention.

HSM (Hardware Security Module) (2) 은 클라우드 또는 사내 데이터센터에 보유될 수도 있고, 본 발명에 따른 동작 동안 생성되고 프로세싱된 센서티브 정보를 암호화 또는 해시하도록 사용된 암호화 키들을 안전하게 생성, 저장 및 관리하도록 사용된다. 이하에 설명된 바와 같이, 보안 코드 매트릭스를 채우기 위한 진성 난수 (true random number) 생성에 또한 사용될 수도 있다 (즉, 개별 보안 코드 각각이 각각의 유효 기간을 갖는, 각각의 보안 코드들 세트들을 사용자들과 연관시키는 매트릭스). HSM (2) 의 상업적으로 가용한 구현예는 예를 들어, Amazon Web Services로부터 가용하고, 예를 들어, Luna SA 소프트웨어 (버전 5) 를 사용하는 SafeNet, Inc.로부터의 Luna SA 7000 HSM 적용예들에 기초한다. 기술분야에 공지된 "진성" 난수 생성은 생성된 수의 랜덤성을 최대화하기 위해 과학적으로 랜덤한 물리적 현상 (예컨대 무선 수신기에 의해 검출된 대기 잡음 또는 방사성 붕괴) 에 의존하고, 따라서, 본 발명에 사용하기 위한 바람직한 방법이다.The HSM (Hardware Security Module) 2 may be stored in a cloud or an in-house data center and may be used to securely create, store and manage cryptographic keys used to encrypt or hash the processed and generated sensitive information during operation in accordance with the present invention Is used. As described below, it may also be used for true random number generation to fill the security code matrix (i.e., each individual security code has its respective validity period, . A commercially available implementation of the HSM 2 includes, for example, Luna SA 7000 HSM applications from SafeNet, Inc., available from Amazon Web Services and using, for example, Luna SA software (version 5) . The "intrinsic" random number generation known in the art depends on a scientifically random physical phenomenon (e.g., atmospheric noise or radioactive decay detected by a radio receiver) to maximize the randomness of the generated number, Is a preferred method for use.

중앙 애플리케이션 서버 (3) 는 시스템의 사업 로직을 구현하는 함수들 및 절차들을 효과적으로 실행하도록 전용된, 클라우드 또는 사내 데이터 센터 내에 보유된, 중간층 (middle-tier) 애플리케이션 서버 또는 서버들의 모음이다. ("중간층"은 일반적으로 애플리케이션의 사업 로직을 수행하고 사용자 인터페이스와 웹서버들 사이에 동작가능하게 위치된 애플리케이션 서버 및 다층 아키텍처의 일부로서 데이터베이스 서버(들)를 지칭한다.) 이는 이들 소프트웨어 모듈들을 실행하기 위해 필요한 프레임워크들을 보유하고, 필요한 데이터 중심 동작들을 지지하도록 중앙 데이터베이스 서버 (1) 에 연결한다. 이는 또한 계좌 보유자 등록들, 계좌 보유자 우선도를 관리하고, 또는 프로세서들 (또는 발행자 또는 금융 기관들) 로부터 거래 정보를 수신하기 위해 중앙 데이터베이스 서버 (1) 와 통신하는 외부 클라이언트들 또는 벤더들 (vendors) 에 대한 API (Application Program Interface) 호출들을 호스팅한다. 이들 프로세스 기술 목적들을 위해, 또한 통지 서버 (9), (예를 들어, 이메일 교환 서버들, SMS 통합 관리자들 (aggregators), 경보 서비스들을 푸시하는 모바일 애플리케이션들, 또는 이들 서비스들 중 전부 또는 일부를 통합하는 웹 서비스 제공자들, 예를 들어 Amazon Web Services 솔루션의 일부로서 Amazon Simple Notifications Service) 를 통해 계좌 보유자 통지들 또는 B2B (Business-to-business) 통신과 같은 상이한 애플리케이션 특징들을 충족시키도록 파일들 또는 데이터 페이로드들을 송신하기 위해 다른 벤더들로 아웃바운드 연결하는 책임이 있다. 이들 함수들 중 일부는 또한 보다 깊은, 보다 분산된 다층 아키텍처를 위해 별도의 하드웨어 시스템들에서 구현될 수 있다. 중앙 애플리케이션 서버 (3) 의 상업적으로 가용한 예는 Amazon Elastic Compute Cloud (때때로 Amazon EC2로 공지됨) 이지만, 물리적 서버 구현예가 또한 본 발명에 따라 적절할 것이다.The central application server 3 is a collection of middle-tier application servers or servers held in a cloud or in-house data center dedicated to effectively executing the functions and procedures that implement the business logic of the system. ("Middle layer" refers generally to the application server and the database server (s) as part of a multi-tiered architecture) that perform the business logic of the application and are operably located between the user interface and the web servers. Retains the necessary frameworks to execute, and connects to the central database server 1 to support the necessary data-centric operations. It may also be used by external clients or vendors who communicate with the central database server 1 to manage account holder registrations, account holder priorities, or receive transaction information from processors (or issuers or financial institutions) ). ≪ / RTI > For these process technology purposes, it is also possible to use a notification server 9, (e. G., Email exchange servers, SMS aggregators, mobile applications pushing alert services, Such as account holder notifications or business-to-business (B2B) communications, via Amazon Simple Notifications Service as part of an Amazon Web Services solution, It is responsible for outbound connections to other vendors to send data payloads. Some of these functions may also be implemented in separate hardware systems for a deeper, more distributed multi-tiered architecture. A commercially available example of the central application server 3 is Amazon Elastic Compute Cloud (sometimes known as Amazon EC2), but a physical server implementation would also be appropriate in accordance with the present invention.

도 1에 나타낸 바와 같은 예시적인 "지불 프로세서" (또는 전자 지불 프로세싱을 수반하는 유사하게 위치된 금융 기관) 에서, 결국 복수의 다양한 데이터베이스들을 핸들링하고 프로세싱하는, 하나 이상의 데이터베이스 서버들 (4, 6) 이 제공된다. 일반적으로, 지불 프로세서는 이미 종래의 동작들을 수행하기 위해 하나 이상의 데이터베이스 서버들 (및 서버들 상에서 실행되는 데이터베이스들) 을 소유할 것이다. 본 발명에 따른 지불 프로세서에서 특정한 동작들이 또한 데이터베이스-서버 상주이고, 기존 하드웨어 상에서 구현될 수 있거나 원한다면, 독립적인 데이터베이스 서버 (또는 서버들) 상에서 구현될 수 있다. 적절한 접속성을 사용하여, 요구된 구현예는 지불 프로세서에 국부적일 필요는 없고, 예를 들어, 중앙 시스템에 국부적으로 위치되거나 또 다른 물리적 위치에 위치될 수 있다. 이러한 맥락으로, 본 발명의 본 개시는 개시의 간략함 및 명확성을 위해, 물리적으로 독립된 유닛들이라면, 지불 프로세서와 연관된 2 개의 서버들의 예로서 진술된다. 그러나, 본 명세서에 기술된 바와 같이, 모든 전술한 고려사항들은 본 발명에 적용되고, 일 데이터베이스 서버에 귀착되는 기능성은 다른 데이터베이스 서버에서 구현될 수 있다.One or more database servers 4, 6, which eventually handle and process a plurality of different databases, in an exemplary "payment processor" (or similarly located financial institution with electronic payment processing) / RTI > In general, a payment processor will already possess one or more database servers (and databases running on servers) to perform conventional operations. Certain operations in the payment processor according to the present invention are also database-server resident and may be implemented on existing hardware or may be implemented on an independent database server (or servers), if desired. With appropriate connectivity, the required implementation need not be local to the payment processor, but may be located, for example, locally at the central system or at another physical location. In this context, the present disclosure of the present invention is for the sake of simplicity and clarity of disclosure, if physically independent units are stated as examples of two servers associated with a payment processor. However, as described herein, all of the foregoing considerations apply to the present invention, and the functionality that results in one database server may be implemented in another database server.

이에 따라, 지불 프로세서는 중앙 시스템 (즉, 중앙 데이터베이스 서버 (1), HSM (2), 및 애플리케이션 서버 (3) 을 포함하는) 과 통신하는 본 발명에 따른 보안 코드 데이터베이스 서버 (4) 를 가질 수도 있다. 보안 코드 데이터베이스 서버 (4) 의 상업적으로 가용한 예는 Dell 13G PowerEdge R730xd이다. 보안 코드 데이터베이스 서버 (4) 는 전자 지불 거래를 수행하는 동안 본 발명에 따라 생성되고 등록된 계좌 보유자들에 의해 입력된 보안 코드들의 검증을 포함하여, 참여하는 지불 프로세서들로 하여금 본 발명에 따른 거래들을 완료하게 하는데 필요한 데이터 및 절차들을 포함하는 데이터 저장소의 예를 나타낸다. 이들 예들은 별도의 하드웨어 시스템, 전용 또는 가상, 클라우드 또는 사내 데이터 센터 내, 또는 지불 프로세서의 기존 데이터베이스 서버 상의 기존의 데이터베이스 예 (즉, 지불 프로세서의 이전에 제시하는 장비 내로 통합된) 내부에서 구현될 수 있다. 지불 프로세서는 또한 하나 이상의 고유한 이전에 제시하는 데이터베이스 서버들 (6) 을 가질 것이다. 데이터베이스 서버 (6) 는 일반적으로 참여하는 지불 프로세서 또는 금융 기관에 의해 소유되고 그리고/또는 동작되고, 전용 또는 가상 하드웨어 시스템에 호스팅되고, 클라우드 또는 사내 데이터 센터들에 보유되는 데이터 저장소이고, 일반적으로 거래 인증 (즉, 본 발명에 따르는지 여부) 을 프로세싱하는데 필요한 데이터 및 방법들을 포함한다.Accordingly, the payment processor may have a security code database server 4 in accordance with the invention in communication with the central system (i.e., including the central database server 1, the HSM 2, and the application server 3) have. A commercially available example of a secure code database server (4) is the Dell 13G PowerEdge R730xd. The security code database server 4 may enable the participating payment processors, including the verification of the security codes entered by the account holders created and registered according to the present invention during the electronic payment transaction, Lt; RTI ID = 0.0 > and / or < / RTI > These examples may be implemented within a separate hardware system, dedicated or virtual, within a cloud or in-house data center, or within an existing database instance on an existing database server of the payment processor (i.e., integrated into the equipment previously presented to the payment processor) . The payment processor will also have one or more unique previously presented database servers 6. The database server 6 is typically a data store owned and / or operated by a participating payment processor or financial institution, hosted on a dedicated or virtual hardware system, held in a cloud or on-premises data centers, And data and methods necessary for processing authentication (i. E., Whether or not it is in accordance with the present invention).

대표적인 계좌 보유자 (또는 달리 말하면, 하나 이상의 금융 계좌들을 갖고 전자 지불 거래를 통해 제화 또는 서비스들 등에 지불하려는 소비자) 가 5에 예시된다. 통상적으로, 계좌들은 이로 제한되는 것은 아니지만, 당좌, 예금, 여신 한도 (lines of credit), 신용 카드, 직불 카드, 선불 카드 (급여 대장, 증여, 및 상여를 포함), 전자 지갑 (digital wallets), 자사 브랜드 ACH 카드, 비결합 직불 카드 (decoupled debit card) (즉, 일 엔티티에 의해 발행되었지만 또 다른 엔티티와 연관된 계좌 (보통 자금원) 와 링크된 계좌), 구매를 위해 사용된 가상의 또는 물리적 카드 또는 수표를 사용하거나 사용하지 않는 계좌, EFT (electronic fund transfers), 또는 다른 수단에 의한 자금 이송을 포함할 수 있다. 특히, 지불 카드들에 대해, 본 발명은 개루프 카드, 폐루프 카드, 단일 로드 (load) 카드, 및 재충전가능 (reloadable) 카드에 적용하는 것을 의미한다. 기술분야에 공지된 바와 같이, "개루프" 지불 카드는 (Visa®, American Express®, 등과 같이) 판매자들 사이에 일반적으로 승인되는 카드 타입들을 지칭하는 한편, "폐루프" 지불 카드들은 (백화점 발행 신용카드들과 같은) 제한된 판매자 네트워크 또는 판매자들의 그룹으로 한정된다.A representative account holder (or, in other words, a consumer who has one or more financial accounts and wishes to pay for a shipment or services via an electronic payment transaction) is illustrated at 5. Typically, accounts include, but are not limited to, checks, deposits, lines of credit, credit cards, debit cards, prepaid cards (including payroll, gift, and bonus), electronic wallets, A branded ACH card, a decoupled debit card (ie an account linked to an account issued by one entity but associated with another entity (usually a fund), a virtual or physical card used for the purchase, or Accounts with or without checks, electronic fund transfers (EFT), or other means of transferring funds. In particular, for payment cards, the present invention is meant to apply to open-loop cards, closed-loop cards, single-load cards, and reloadable cards. As is known in the art, an "open loop " payment card refers to card types generally accepted among sellers (such as Visa®, American Express®, etc.) while" closed loop "payment cards Limited credit card or issuing credit cards) or a group of sellers.

계좌 보유자 (5) 는 가끔 금융 거래, 특히 전자 지불 거래를 완료할 수도 있다. "거래"는 온라인 또는 오프라인으로 일어날 수도 있는 컴퓨터 매개 네트워크들을 통해 수행된 사업간, 가정간, 개인간, 정부간 및 다른 공공 또는 사설 조직들간 돈의 이동이다.The account holder 5 may occasionally complete a financial transaction, in particular an electronic payment transaction. A "transaction" is a transfer of money between business, home, interpersonal, intergovernmental, and other public or private organizations conducted through computer-mediated networks that may occur online or offline.

계좌 보유자 (5) 는 개인용 전자 디바이스, 예컨대 제한 없이, 데스크탑 또는 랩탑 컴퓨터, 태블릿 컴퓨터, 스마트폰, 휴대 전화, 또는 임의의 다른 휴대용 또는 고정된 디바이스로부터 목표된 금융 거래를 개시할 수도 있다. 대안적으로, 거래는 (전화 또는 대면) "실제 (live)" 고객 서비스 에이전트를 통해 실행될 수 있다.The account holder 5 may initiate a targeted financial transaction from a personal electronic device, such as, without limitation, a desktop or laptop computer, a tablet computer, a smart phone, a cell phone, or any other portable or fixed device. Alternatively, the transaction may be executed via a " live "customer service agent (telephone or face-to-face).

본 발명의 시스템과의 상호작용을 위해 적절한 인터페이스는 (예로서) 본 발명에 따라, 통지 우선도 또는 조건부 거래 또는 계좌 로킹 우선도들을 포함하는, 등록 프로파일 및 우선도를 관리하기 위해; 본 발명에 따라 거래들, 등록 프로파일 변화들에 관한 경보들 및 통지들을 수신하기 위해, 또는 본 발명에 따라 현재 보안 코드를 획득하기 위해; 계좌 상태 또는 시스템 거동을 관리하기 위한 요청을 개시, 예컨대 거래에 참여하는 계좌를 영구적으로 또는 일시적으로, 전체적으로 또는 조건부로 로킹, 또는 해외 여행 또는 지불 카드 또는 디바이스가 손상, 대미지, 분실 또는 도용되었다는 것을 발행 은행에 알리기 위해, 중앙 애플리케이션 서버 (3) 에 호스팅된 API (Application Programming Interface) 에 접속하고 직접 또는 간접 호출들을 발행하는 웹사이트, 모바일 또는 데스크탑 애플리케이션 또는 애플릿, 또는 문자 메시지들을 포함할 수도 있다.Appropriate interfaces for interaction with the system of the present invention include, for example (in accordance with the present invention) managing the registration profiles and priorities, including notification priorities or conditional transactions or account locking priorities; To receive alerts and notifications relating to transactions, changes to registration profiles, according to the present invention, or to obtain a current security code in accordance with the present invention; Initiating a request to manage account status or system behavior, such as permanently or temporarily locking an account participating in a transaction, either totally or conditionally, or that a foreign travel or payment card or device has been damaged, damaged, lost or stolen Mobile or desktop applications or applets, or text messages that connect to an API (Application Programming Interface) hosted on the central application server 3 and issue direct or indirect calls to inform the issuing bank.

계좌 보유자 (5) 는 구매 또는 다른 지불 거래를 위해 그리고 거래 인증 요청을 제출하기 위해 가끔 판매자 (또는 수취인) (7) 또는 중간 청구 엔티티 (미도시) 와 상호작용할 수도 있다. 거래 인증은 웹사이트, 모바일 또는 데스크탑 애플리케이션 또는 음성 통신 (예를 들어, 사람 에이전트, 또는 자동 음성 인식 시스템) 을 통해, 또는 지문 또는 음성 인식 또는 망막 스캔과 같은, 생체 스캔을 사용하여 판매자 또는 수취인 (7) 에게 거래 정보를 전달하는 디바이스를 통해 수행된 고객 미제시 거래 인증 요청 (예를 들어, 카드 미제시 (Card Not Present) 거래); 또는 계좌 보유자 (5) 가 구매 또는 지불을 위해 지불 카드, 수표, 디바이스, 칩, 또는 금융 계좌의 임의의 표현과 함께 판매자 (또는 수취인) (7) 에게 개인적으로 나타나는, 고객 제시 거래 (예를 들어 카드 제시 거래) 를 포함할 수도 있다.The account holder 5 may interact with the seller (or recipient) 7 or the intermediary charging entity (not shown) occasionally for purchase or other payment transactions and to submit a transaction authentication request. Transactional authentication may be accomplished using a biometric scan, such as via a web site, a mobile or desktop application, or a voice communication (e.g., a human agent, or an automated speech recognition system), or a fingerprint or voice recognition or retina scan, 7) (for example, a card not present transaction) performed through a device that delivers transaction information to the customer; Or a customer presentation transaction (for example, an account presentation) in which the account holder 5 personally appears to the merchant (or recipient) 7 with any representation of a payment card, check, device, chip or financial account for purchase or payment Card presenting transaction).

본 발명의 목적들을 위한 판매자 (또는 수취인) (7) 는 예를 들어, 계좌 보유자 (5) 에 의해 개시된 카드 거래 인증을 완료하기 위해 사용된 디바이스 또는 애플리케이션에 의해 직불, 신용, 수표 또는 ACH와 같은 지불 방법들을 수용하는 임의의 엔티티이다. 이는 계좌 보유자 (5) 가 액세스하거나 동작시키는 디바이스 상에 설치된 웹 애플리케이션 또는 모바일 애플리케이션으로 나타낼 수 있다. 이는 또한 몇몇 예들을 명명하기 위해, 계좌 보유자가 카드에 포함된 정보 또는 이의 물리적 또는 가상 표현을 타이핑하거나 스캐닝함으로써 또는 계좌 보유자의 생체정보를 스캐닝함으로써 거래 정보를 입력하는, (판매 단말 지점과 같은) 판매자 위치의 물리적 디바이스일 수 있다. 본 발명의 특정한 예에서, 판매자 (7) 는 예를 들어, HP Moonshot ProLiant m350을 동작시킬 수도 있다.The merchant (or recipient) 7 for the purposes of the present invention may be, for example, debit, credit, check or ACH by a device or application used to complete the card transaction authorization initiated by the account holder 5 It is an arbitrary entity that accepts payment methods. This can be represented as a web application or mobile application installed on the device that the account holder 5 accesses or operates. This may also be used to name some examples, in which an account holder enters transaction information by typing or scanning the information contained in the card or its physical or virtual representation, or by scanning the account holder's biometric information (such as a point of sale terminal) It may be the physical device of the merchant location. In a particular example of the present invention, the merchant 7 may operate, for example, the HP Moonshot ProLiant m350.

본 발명에 따라, 계좌 보유자 (5) 와 인터페이싱하는 웹 사이트 또는 웹 애플리케이션을 호스팅하기 위해 예를 들어, 하나 이상의 부가적인 웹 서버들 (8) 이 필요할 수도 있다. 상기 언급된 예의 Amazon EC2가 또한 본 명세서에서 사용될 수 있다. 웹 서버 (8) 는 클라우드 또는 사내 데이터센터의 중앙 시스템 내에 위치될 수 있다. 웹 서버 (8) 는 대안적으로 지불 프로세서의 로컬 네트워크의 일부일 수 있다. 기능은 등록들을 관리하기 위해 계좌 보유자 (5) 로부터 입력을 수신하고, 등록 및 다른 관련 정보, 예컨대 본 발명에 따른 현재 보안 코드를 계좌 보유자 (5) 에게 제시하기 위해 애플리케이션들, 웹사이트들, 또는 API들을 호스팅하는 제 3 자 엔티티들에 의해 제공될 수도 있다.In accordance with the present invention, for example, one or more additional web servers 8 may be needed to host a web site or web application that interfaces with account holder 5. [ Amazon EC2 of the above-mentioned example may also be used herein. The web server 8 may be located in a central system of the cloud or in-house data center. Web server 8 may alternatively be part of the local network of the payment processor. The function may be used to receive inputs from the account holder 5 to manage the registrations and to register applications and other relevant information, e.g., current security codes in accordance with the present invention, to the account holders 5, May be provided by third party entities hosting APIs.

마지막으로, 통지 서버 (9) (예를 들어, 그리고 제한 없이, HP Moonshot ProLiant m800) 는 계좌 보유자 (5) 에게 통지들을 전달 또는 푸시하기 위한 중개자로서 역할을 하는 임의의 서버일 수도 있다. 이러한 서버들 또는 서버들의 그룹의 일부 예들은 이메일 메시지들을 프로세싱 및 전달하기 위한 교환 서버들일 수 있고 또는 SMS 문자 메시지들을 프로세싱하고 계좌 보유자 (5) 에게 속한 휴대 전화로 전달하기 위한 SMS 통합 관리자의 서버일 수 있고, 또는 함께 이들 서비스들의 전부 또는 일부를 통합하는 웹 서비스 제공자 (예를 들어, Amazon Web Services 솔루션 내 Amazon Simple Notifications Service) 일 수 있다.Finally, the notification server 9 (e.g., and without limitation, HP Moonshot ProLiant m800) may be any server that acts as an intermediary for delivering or pushing notifications to the account holder 5. Some examples of such servers or groups of servers may be exchange servers for processing and delivering e-mail messages or may be servers of the SMS unified manager for processing and delivering SMS text messages to a mobile phone belonging to account holder 5. [ Or may be a web service provider (e.g., Amazon Simple Notifications Service in an Amazon Web Services solution) that integrates all or part of these services together.

다음은 도 1에 나타난 서버 상호작용들/접속들의 개요이다. 본 발명에 따른 다양한 프로세스들의 구체적인 설명에 대해 보다 상세히 많이 논의될 것이다.The following is an overview of the server interactions / connections shown in FIG. A more detailed description of the various processes according to the present invention will be discussed in greater detail.

<A>: 중앙 데이터베이스 서버 (1) 는 하드웨어 기간 진성 난수 생성기 (RNG) 로부터 진성 난수들을 검색하기 위해, 또는 본 발명에 따라 생성된 보안 코드들과 같은, 센서티브 정보를 해시 또는 암호화하기 위한 암호 키들을 안전하게 저장하고 검색하기 위해, 예를 들어 SQL CLR 어셈블리를 통해, HSM (2) API들로의 호출들을 발행한다.<A>: The central database server 1 is used to retrieve the genuine random numbers from the hardware periodic random number generator (RNG) or to encrypt or decrypt sensitive information, such as security codes generated according to the present invention, For example, via the SQL CLR assembly, to securely store and retrieve the HSM (2) APIs.

<B>: 계좌 보유자 등록 변경들을 제출하기 위해, 또는 지불 프로세서들로부터 수신된 거래 정보를 업데이트하기 위해, 또는 계좌 보유자들에게 통지들을 전송하거나 계좌 보유자 등록 변경들 또는 새로운 보안 코드들 (Temporary Known Random Patterns) 과 같은 관련된 정보로 지불 프로세서들을 업데이트하기 위한 정보를 검색하기 위해 중앙 애플리케이션 서버 (3) 는 중앙 데이터베이스 서버 (1) 에 접속한다.<B>: To submit account holder registration changes, or to update transaction information received from payment processors, or to send notifications to account holders, account holder registration changes or new security codes (Temporary Known Random The central application server 3 connects to the central database server 1 to retrieve information for updating the payment processors with related information,

<C>: 이 경우 계좌 보유자 등록 변경들 또는 새로운 보안 코드들 (Temporary Known Random Patterns) 로 프로세서의 데이터베이스 서버 (4) 를 업데이트하기 위해, 또는 지불 프로세서에 의해 수집된 정보 또는 프로세서의 데이터베이스 서버 (4) 내에서 생성된 변화들을 검색하고 이를 중앙 데이터베이스 서버 (1) 에 저장하기 위해, 프로세서의 데이터베이스 서버 (4) 중앙 애플리케이션 서버 (3) 는 가능하면 지불 프로세서의 네트워크 내 일 서버 또는 다층 서버들을 통해 프로세서의 데이터베이스 서버 (4) 와 통신한다. <C>: in this case, to update the processor's database server (4) with account holder registration changes or new security codes (Temporary Known Random Patterns), or to update the database server The database server 4 of the processor and the central application server 3 are preferably connected to the central server 1 via a server or multi-tier servers in the network of the payment processor, if possible, to retrieve the changes generated in the central database server 1, To the database server 4 of the mobile terminal.

<D>: 계좌 보유자 (5) 는 등록 프로파일들 또는 사용자 우선도들을 생성, 삭제, 또는 수정하기 위해 그리고 현재 보안 코드와 같은 시스템으로부터 정보를 검색하기 위해 계좌 보유자에 의해 사용된 통신 수단 (예를 들어, 데스크탑 또는 랩탑 컴퓨터, 스마트폰, 또는 휴대용 태블릿 컴퓨터) 중 하나 또는 다수를 통해 웹 서버 (8) 의 예에 호스팅된 웹 애플리케이션들과 인터페이싱한다.<D>: The account holder 5 is used to create, delete or modify the registration profiles or user priorities and to use the communication means used by the account holder to retrieve information from the system, For example, a desktop or laptop computer, a smart phone, or a portable tablet computer).

<E>: 웹 서버 (8) 에 의해 수집된 정보 (예를 들어, 등록 변경들) 는 API 호출들을 통해 중앙 애플리케이션 서버 (3) 로 송신된다. 웹 서버 (8) 는 또한 시스템으로부터 정보를 검색하고 계좌 보유자 (5) 에게 제시하기 위해 중앙 애플리케이션 서버 (3) 로의 API 호출들을 발행한다.<E>: Information collected by the Web server 8 (for example, registration changes) is transmitted to the central application server 3 via API calls. The web server 8 also issues API calls to the central application server 3 to retrieve information from the system and present it to the account holder 5.

<F>: 중앙 애플리케이션 서버 (3) 는 현재 보안 코드, 또는 계좌 보유자의 등록 프로파일 하에 등록된 계좌들을 수반하는 거래들 및 액티비티에 관한 정보와 같은 경보를 계좌 보유자 (5) 에게 푸시하기 위해 통지 서버 (9) 에 접속된다.&Lt; F >: The central application server 3 sends a notification code to the account holder 5 to push an alert, such as current security code, or information about transactions and activities involving accounts registered under the account holder's registration profile, (9).

<G>: 통지 서버는 이메일 메시지들, SMS 텍스트 메시지들, 또는 모바일 애플리케이션 푸시 경보들과 같은 경보들을 계좌 보유자 (5) 에게 푸시한다.<G>: The notification server pushes alerts, such as email messages, SMS text messages, or mobile application push alerts, to the account holder 5.

<H>: 계좌 보유자는 제화들 또는 서비스들에 대한 지불 거래를 수행하기 위해, 판매자 또는 수취인 (7) 인터페이스와 리모트로, 예컨대 판매자의 웹 사이트를 통해, 스마트폰, 태블릿, 또는 워치와 같은 휴대용 디바이스 상에 설치된 모바일 또는 리모트 애플리케이션을 통해, 자동화된 전화 시스템 또는 사람 에이전트를 통해, 또는 판매자 위치의 물리적 단말을 통해 상호작용한다.&Lt; H >: The account holder can use the seller or payee (7) interface and remotely, for example via the seller's website, to make payment transactions for shipment accounts or services, Through mobile or remote applications installed on the device, through an automated telephone system or human agent, or through a physical terminal at the merchant location.

<I>: 판매자 또는 수취인 (7) 은 적용가능한 네트워크들 및 채널들을 통해 계좌 보유자 (5) 에 의해 제출된 거래 정보를, 승인 또는 거절을 위해 프로세서의 데이터베이스 서버 (6) 에 의해 프로세싱되도록 전송한다.<I>: The seller or recipient 7 transmits the transaction information submitted by the account holder 5 via the applicable networks and channels to be processed by the database server 6 of the processor for approval or rejection .

<J>: 본 발명에 따라 수행될 수 있는, 거래들의 경우, 프로세서의 데이터베이스 서버 (6) 는 거래 인증 요청의 일부로서 입력되는, 본 발명에 따라 보안 코드를 유효화하기 위해, 프로세서의 보안 코드 데이터베이스 서버 (4) 와 통신한다. 프로세서의 데이터베이스 서버 (6) 는 또한 프로세서의 데이터베이스 서버 (4) 로 거래 정보를 통신할 수 있고, 또는 지불 프로세서의 보안 코드 데이터베이스 서버 (4) 는 계좌 보유자 (5) 에 의해 수신된 또는 중앙 애플리케이션 서버 (3) 에 의해 생성된 정보를 프로세서의 데이터베이스 서버 (6) 로 전송할 수 있다.<J>: In the case of transactions that may be performed in accordance with the present invention, the database server (6) of the processor, in order to validate the security code according to the invention, which is entered as part of the transaction authentication request, And communicates with the server 4. The database server 6 of the processor may also communicate transaction information to the database server 4 of the processor or the security code database server 4 of the payment processor may communicate with the central server 2, (3) to the database server (6) of the processor.

도 2는 본 발명에 따라 보안 코드들을 생성하는 프로세스, 특히, 복수의 계좌 보유자들 (5) (때때로 본 명세서에서 "사용자들"로 참조됨) 과 각각의 몇몇 보안 코드들의 세트들을 연관시키는 결합된 매트릭스를 생성하는 프로세스를 예시한다. (본 개시의 목적들을 위해, 보안 코드들의 세트 각각은 본 명세서에서 때때로 "패턴들" 또는 "랜덤 패턴들" 또는 "일시적으로 공지된 랜덤 패턴들"과 같이 다양하게 지칭될 수도 있다.)Figure 2 shows a process for generating security codes in accordance with the present invention, particularly a process for generating security codes in accordance with the present invention, in which a plurality of account holders 5 (sometimes referred to herein as "users" &Lt; / RTI &gt; illustrates a process for generating a matrix. (For purposes of this disclosure, each of the sets of security codes may be variously referred to herein sometimes as "patterns" or "random patterns" or "temporally known random patterns").

본 발명의 특정한 예에서, 각각의 보안 코드들은 제한된 수명 또는 유효 기간 (반드시 그러한 것은 아니지만, 보통, 날짜 또는 시간들의) 을 갖는 수학적으로 난수들이다. 난수들은 생성될 보안 코드들의 시퀀스들에서 예측불가능성을 최대화하도록 (기술분야에 공지된 바와 같은) 진성 난수 생성기에 의해 생성되는 것이 바람직하다.In a particular example of the invention, each security code is a mathematically random number with a limited lifetime or expiration date (usually, but not necessarily, of dates or times). The random numbers are preferably generated by an intrinsic random number generator (as is known in the art) to maximize the unpredictability in the sequences of security codes to be generated.

본 발명의 다른 양태에서, 보안 코드들의 각각의 유효 기간들은 시간적으로 순차적이어서, 실제로, 보안 코드들 중 하나가 만료된 후, 계좌 보유자에 의해 사용될 수 있는 "다음" 보안 코드 (시간 순) 가 있다. 유효 기간들은 실질적으로 어떠한 시간적 중첩도 갖지 않은 순수하게 순차적일 수도 있지만, 일 유효 기간의 종점과 후속하는 유효 기간의 시점 사이에 (유효 기간의 길이와 비교하여) 상대적으로 작은 시간적 중첩 (예를 들어, 유효 기간이 하루일 때 1 시간 중첩) 을 구축하는 것이 유용할 수 있다. 즉, 일 보안 코드는 "다음" 보안 코드의 유효 기간의 시점 동안 짧은 시간 동안 유효하게 남아 있을 수도 있다. 이러한 중첩하는 유효 기간을 제공하는 이유는 거래가 일 유효 기간의 종점 전의 짧은 시간에 입력되고(예를 들어, 날짜 기준으로 유효 기간의 종점은 밤 12시일 때 11.30 p.m.), 이론적으로 계좌 보유자의 후속 보안 코드 제출을 요청하는, 밤 12시 이후까지 전자 지불의 실제 처리를 지연시키는 본 명세서에 개시된 바와 같은 정보 교환 또는 다른 프로세싱에 예상치 못한 지연이 있다면, 고객 (즉, 사용자/계좌 보유자) 의 모든 짜증 또는 불만을 회피하기 위한 것이다. 상대적으로 짧은 중첩은 계좌 보유자의 사용 편의성을 보장하는 한편, 한번에 유효한 것으로 계류 중인 2 이상의 보안 코드를 갖는 보안 리스크를 최소화하는 것을 밸런싱하는 것을 의미한다.In another aspect of the invention, each validity period of the security codes is sequential in time, so there is in fact a "next" security code (in time order) that can be used by the account holder after one of the security codes has expired . The validity periods may be purely sequential, with virtually no temporal superimposition, but may be a relatively small temporal superimposition (compared to the length of the validity period) between the end of the validity period and the time of the subsequent validity period , Overlapping one hour when the validity period is one day). That is, one security code may remain valid for a short time during the validity period of the "next" security code. The reason for providing this nesting validity period is that the transaction is entered in a short time before the end of the day of validity (e.g., 11.30 pm when the end of the validity period on a date basis is 12:00 pm) If there is an unexpected delay in the exchange of information or other processing as described herein that delays the actual processing of the electronic payment until after 12:00 pm, which requests the code submission, all irritation of the customer (i.e., user / account holder) It is to avoid complaints. A relatively short overlap means balancing the minimization of security risks with two or more pending security codes being valid at one time while ensuring ease of use for the account holder.

도 2 및 도 2a에 도시된 바와 같은, 새로운 매트릭스의 생성은 중앙 애플리케이션 서버 (3) 에서 개시된다 (예를 들어, 스케줄링된 빈도로 실행되는 소프트웨어 잡 (job) 애플리케이션에 의해). 이 비제한적인 예의 목적들을 위해, 매일의 동작이 가정되지만, 하루 동안 몇번, 또는 매일보다 짧게 자주 (예를 들어, 3 일에 한번, 예를 들어) 실행되도록 스케줄링될 수 있다.The creation of a new matrix, as shown in Figures 2 and 2a, is initiated at the central application server 3 (e.g., by a software application running at a scheduled frequency). For purposes of this non-limiting example, daily operations are assumed, but can be scheduled to occur several times a day, or less frequently than daily (e. G., Once every three days, for example).

일반적인 의미의 그룹들의 사용자들 또는 다른 개인들의 본 발명에 따른 매트릭스는 사용을 위해 보안 코드-보호된 액세스를 필요로 하거나 달리 전자 엔티티에 액세스한다. 일반적으로, 미리 결정된 매트릭스는 본 발명에 다른 시스템에 참여하는 미리 결정된 지불 프로세서와 연관된 모든 사용자들/고객들/지불인/등 (예를 들어, 지불 프로세서와 연관된 모든 지불 카드 보유자들) 을 포함한다. 부가적인 보안 코드들의 세트들이 (예를 들어, 사기성 액티비티가 검출되는 경우) 원래 할당된 보안 코드들의 세트들을 대체해야 할 수도 있을 때 가용한, 일종의 여분으로 생성될 수도 있다. 그러나, 본 명세서에 개시된 바와 같은 본 발명의 특성으로 인해, 이하에 더 논의될 수도 있는 바와 같이, 미리 결정된 보안 코드들의 세트와 2 이상의 사용자들을 연관시키는 것이 또한 본 발명의 범위 내에 있다.Users of groups in the general sense, or a matrix according to the present invention of other individuals, require secure code-protected access for use or otherwise access electronic entities. Generally, the predetermined matrix includes all users / customers / payers / etc (e.g., all payment card holders associated with a payment processor) associated with a predetermined payment processor participating in another system in accordance with the present invention. A set of additional security codes may be generated as a kind of redundancy available when the originally assigned sets of security codes may have to be replaced (e.g., when fraudulent activity is detected). However, due to the characteristics of the present invention as disclosed herein, it is also within the scope of the present invention to associate two or more users with a predetermined set of security codes, as may be discussed further below.

다시, 예시의 목적들을 위해, 본 발명은 기본적으로 전자 지불 거래들의 인증의 맥락에서 본 명세서에 기술되었지만, 전자 엔티티들, 예컨대 개인 네트워크들, 정부 기관 웹사이트들, 등으로의 다른 종류의 전자적으로 인증된 액세스에 적용될 수 있다.Again, for purposes of illustration, the present invention is primarily described electronically in the context of authentication of electronic payment transactions, but it may also be possible to use other types of electronic means, such as electronic entities, such as private networks, government agency websites, It can be applied to authenticated access.

일반적으로, 매트릭스는 미리 결정된 세트의 각각의 보안 코드들 각각이 특정한 하루 중에 시간 길이 기간, 또는 특정한 하루와 같이 특정한 제한된 유효 기간을 갖는, 각각의 보안 코드들의 세트들을 규정하도록 난수들에 의해 채워진다. 보안 코드들의 세트들 각각은 고유의 식별자와 연관된다. 일단 이 방식으로 매트릭스가 채워지면, 사용자들은 고유 식별자들 중 하나 (본 명세서에서 패턴 ID로 지칭됨) 와 연관되어 이 식별자와 매칭하는 보안 코드들의 세트와 연관되게 된다. 이러한 기준으로, 미리 결정된 순간에 미리 결정된 사용자가 특정한 보안 코드들의 세트와 연관되고, 거래들을 승인하기 위해 사용자가 사용해야 하는 현재 유효한 코드는 적용가능한 유효 기간 (예를 들어, 특정한 하루) 에 대해 식별될 수 있다.Typically, the matrix is populated by random numbers to define sets of respective security codes, each of the security codes of a predetermined set each having a particular one-day time-length period, or a particular limited validity period, such as a particular day. Each of the sets of security codes is associated with a unique identifier. Once the matrix is populated in this manner, users are associated with a set of security codes that are associated with one of the unique identifiers (referred to herein as pattern ID) to match this identifier. With this criterion, a predetermined user associated with a predetermined set of security codes at a predetermined moment and the current valid code that the user must use to authorize transactions is identified for an applicable validity period (e.g., a particular day) .

보안 코드 생성 프로세스는 바람직하게 미리 결정된 유효 기간에 대해 모든 패턴 ID들을 순환하고 이 유효 기간에 대한 패턴 ID 각각에 대해 (미리 결정된 길이의, 예컨대 4 자릿수) 새로운 난수 값을 할당한다. 이어서 다음 유효 기간에 대해 각각의 패턴 ID들 모두에 대한 난수 값들의 제 2 세트를 생성하도록, 하나씩 (one by one), 제 3 세트, 제 4 세트, 등을 생성하도록 진행하기 전에, 진행한다.The secure code generation process preferably cycles through all the pattern IDs for a predetermined validity period and assigns a new random number value (for example, four digits of a predetermined length) to each pattern ID for this validity period. And then proceed to generate a third set of random numbers for all of the pattern IDs, one by one, a third set, a fourth set, etc., for the next validity period.

즉, 매트릭스는, 제 1 패턴 ID에 대한 난수들의 완전한 세트, 이어서 제 2 패턴 ID에 대한 완전한 세트, 이어서, 제 3, 제 4, 제 5, 등이 아니라, 바람직하게 각각의 상이한 패턴 ID들에 대한 난수를 생성함으로써 어셈블된다. 그 결과, 우연히 (예를 들어, HSM (2) 내) 난수 생성기에 의해 생성된 난수들의 시퀀스에 대해 사용되는 임의의 종류의 인식가능한 예측 가능성이 있다면, 예측 가능성은 단일 사용자에 대한 난수들의 세트 내가 아니라 상이한 사용자들 사이에 확산될 것이다. 이는 도 2a를 참조하여 이하에 예시된다.That is, the matrix is preferably a set of random numbers for the first pattern ID, then a complete set for the second pattern ID, and then preferably for each of the different pattern IDs, not the third, fourth, fifth, It is assembled by generating a random number for the. As a result, if there is any kind of recognizable predictability that is used for a sequence of random numbers generated by a random number generator by chance (e.g., in HSM (2)), then the predictability is a set of random numbers for a single user But will spread among different users. This is illustrated below with reference to FIG.

도 2에서 알 수 있는 바와 같이, 반복 각각에 대한 이 난수 생성의 제 1 단계는 RNG, 예컨대 HSM (Hardware Security Module) (2) 으로부터 새로운 난수 값을 획득하는 것 (101) 이다. HSM (2) 는 바람직하게 진짜 RNG를 제공하지만, 의사-난수 생성기를 포함하여, 임의의 다른 종류의 RNG, 하드웨어 또는 소프트웨어 기반 RNG가 이 목적을 위해 사용될 수 있다. 예를 들어 진짜 난수를 제공하는 웹 서비스 또는 난수를 생성하기 위한 소프트웨어 또는 하드웨어 기반 알고리즘으로의 인터페이스를 제공하는 제 3 자 이진 애플리케이션, 또는 데이터베이스 엔진이 또한 사용될 수 있다.As can be seen in FIG. 2, the first step in generating this random number for each iteration is to obtain a new random number value 101 from an RNG, e.g., HSM (Hardware Security Module) 2. The HSM 2 preferably provides a real RNG, but any other kind of RNG, including a pseudo-random number generator, hardware or software based RNG may be used for this purpose. For example, a third party binary application, or database engine, that provides a web service providing a real random number or an interface to a software or hardware based algorithm for generating random numbers may also be used.

HSM (2) 상의 RNG는, 단계 106에서, 예를 들어, 현재 반복 날짜 (또는 임의의 다른 목표된 시간 기간) (105) 에 대응하는 현재 반복의 패턴 ID (104) 에 할당되는 새로운 난수 값 (103) 을 생성한다. 이 예는 각각의 패턴 ID (104) 각각에 대해 날짜 (105) 각각에 대한 하나의 난수 값 (103) 을 생성한다. 그러나, 복수의 난수 값들은 특정한 날짜 또는 기간 기간에 엮일 수도 있거나 엮이지 않을 수도 있는 패턴 ID 각각에 할당될 수 있고, 또는 하루보다 짧거나 긴 시간 기간과 연관될 수 있다. 난수 값들은 또한 특정한 이벤트 또는 프로세스의 발생 빈도 또는 특정한 프로세스 식별자와 연관될 수 있다. 도 2에 개략적으로 나타낸 바와 같이, 난수 값들 (103) 을 생성하는 프로세스는 일련의 패턴 ID들의 제 1 레벨에서 반복적이고, 이어서 다음 유효 기간으로 증분된다 (본 명세서에서, 예로서, 유효 기간은 날짜이다).The RNG on the HSM 2 may transmit a new random number value (e. G., A random number) assigned to the pattern ID 104 of the current iteration corresponding to the current iteration date (or any other desired time period) 103). This example generates one random number 103 for each of the dates 105 for each of the respective pattern IDs 104. [ However, the plurality of random number values may be assigned to each of the pattern IDs that may or may not be associated with a particular date or period of time, or may be associated with a time period that is shorter or longer than a day. The random number values may also be associated with the frequency of occurrence of a particular event or process or with a particular process identifier. 2, the process of generating random numbers 103 is iterative at the first level of the sequence of pattern IDs, and then incremented to the next validity period (in this specification, the validity period is the date to be).

도 2a는 매트릭스를 채우는 바람직한 프로세스를 예시하는 본 발명에 따른 매트릭스의 개략적인 표현이다. 왼쪽 열은 각각 난수 보안 코드들의 세트 (행 단위) 와 연관된 패턴 ID들 (0 내지 99999의 범위로 간략화됨) 을 포함한다. 본 명세서에서, 예를 들어, 패턴 ID 각각에 대한 난수 각각은 날짜별 유효성 기준 (1일, 2일, 3일, 등) 이다. 주 커서 ("7일" 열에 대해 어두운 하향 화살표) 로 인덱싱된 날짜 각각에 대해, 보조 커서 (본 명세서에서, 예를 들어, 패턴 ID 3에 대응하는 행) 는 다음 랜덤하게 생성된 보안 코드를 채우기 위해 패턴 ID들 각각을 통해 이동한다 (도 2의 "패턴 ID 각각에 대해" 단계들의 그룹에 대응). 따라서, 도 2a에서, 마지막으로 생성된 코드는 (패턴 ID 3; 7일) 에서 0166이다. 이어서 보조 커서가 다음 패턴 ID (즉, 4) 로 이동할 것이고 (패턴 ID 4; 7일) 에 대해 새로운 랜덤 코드를 생성하고, 7일에 대한 매트릭스의 모든 패턴 ID들에 대해 계속되고, 이어서 주 커서가 다음 날짜 열 (즉, 8일) ("날짜 각각에 대해"로 나타낸 도 2의 반복의 다음 레벨에 대응) 로 전진할 것이고, 난수 할당이 반복될 것이다. 그 결과, 상기 언급된 바와 같이, 임의의 미리 결정된 사용자에 대한 (즉, 임의의 미리 결정된 패턴 ID에 대한) 랜덤화된 보안 코드들의 세트가 남용된다면 (misappropriate), 일어날 수도 있는 난수 생성시 랜덤성의 결여 또는 임의의 패턴들이 행 단위 방향으로 명백하지 않을 것이다.Figure 2a is a schematic representation of a matrix according to the present invention illustrating a preferred process for filling a matrix. The left column contains pattern IDs (abbreviated in the range of 0 to 99999) associated with a set of random-number security codes (row-by-row), respectively. In this specification, for example, each of the random numbers for each of the pattern IDs is a date-specific validity criterion (1 day, 2 days, 3 days, etc.). For each of the dates indexed with the primary cursor (a dark downward arrow relative to the "seven" column), the secondary cursor (in this specification, the row corresponding to pattern ID 3, for example) fills in the next randomly generated security code (Corresponding to the group of steps "for each pattern ID" in Fig. 2). Thus, in Figure 2a, the last generated code is (0166) at (Pattern ID 3; 7 days). Subsequently, the secondary cursor will move to the next pattern ID (i.e., 4) (pattern ID 4; 7 days), generate a new random code, continue for all pattern IDs of the matrix for 7 days, Will advance to the next date column (i.e., 8 days) (corresponding to the next level of the iteration of FIG. 2, denoted "for each date") and the random assignment will be repeated. As a result, as mentioned above, random number generation may occur at random number generation, which may occur if a set of randomized security codes for any predetermined user (i.e., for any predetermined pattern ID) is misappropriate Absence or any pattern will not be apparent in the row-wise direction.

고객들/사용자들보다 많은 패턴들 (즉, 보안 코드들의 세트들) 이 매트릭스에 대해 생성될 수 있다는 것을 주의한다. 이는 예를 들어, 최초 보안 코드들의 세트가 절충되는 것으로 나타난다면 코드들의 대체 세트로서 고객에 의해 사용하는데 "여분의" 코드들의 세트들이 가용하게 할 수 있다. 예를 들어, 새로운 패턴 ID의 재할당에 대해 도 4에 대한 이하의 개시를 참조하라.Note that more patterns (i.e., sets of security codes) than customers / users may be generated for the matrix. This may, for example, make available a set of "redundant" codes for use by the customer as a replacement set of codes if the initial set of security codes appears to be compromised. For example, see the following disclosure of FIG. 4 for a reassignment of a new pattern ID.

그러나, 고객들/사용자들보다 적은 패턴들이 생성되는 상황이 또한 본 발명에 따라 고려될 수 있다. 이러한 경우에서, 2 이상의 사용자가 미리 결정된 패턴 ID와 연관될 수도 있다. 따라서 예를 들어, 2 명의 사용자들이 엄격하게 말하면 다른 사람의 보안 코드들을 알 수도 있지만, 실제적으로, 일반적으로 어떤 사용자가 또 다른 사용자와 자신의 보안 코드들의 세트를 "공유"한다는 것을 알 것이라는 가능성이 매우 없고, 그리고 사용자들을 패턴 ID들에 할당하는 것이 사용자들에게 사실상 불투명하다는 것을 염두에 두고, 어떤 사용자가 공통 보안 코드들의 세트를 갖는다는 것을 구체적으로 알 가능성이 훨씬 더 없기 때문에, 보안 리스크는 여전히 낮다.However, situations in which less patterns are generated than customers / users can also be considered in accordance with the present invention. In this case, two or more users may be associated with a predetermined pattern ID. Thus, for example, the possibility that two users may know strictly speaking other people's security codes, but in practice, they will generally know that one user "shares" a set of their security codes with another user Since there is not much and there is not much more specifically to know that a user has a set of common security codes, with the idea that assigning users to pattern IDs is virtually opaque to users, low.

이들 난수 값들의 생성은 선택가능하게 교차 참조되거나 그렇지 않으면 매트릭스로부터 배제될 값들의 리스트와 비교될 수 있다. 예를 들어, 특정한 문화적으로 불쾌하거나 그렇지 않으면 민감한 값들 (예컨대, 서양 문화권에서 "13" 또는 일부 동양 문화권에서 "4") 이 배제될 수도 있다. 필요할 수도 있기 때문에, RNG-생성된 값은 배제 리스트에 대해 검토될 것이고, 발견된다면, 생성된 값이 배제 리스트에 없을 때까지 대체 값들 생성하도록 RNG에 대한 새로운 호출이 이루어진다.The generation of these random values may be optionally cross-referenced or otherwise compared to a list of values to be excluded from the matrix. For example, certain culturally unpleasant or otherwise sensitive values (eg, "13" in Western cultures or "4" in some Oriental cultures) may be excluded. The RNG-generated value will be reviewed for an exclusion list, and if found, a new call to the RNG is made to generate replacement values until the generated value is not in the exclusion list.

일단 보안 코드들의 완전한 매트릭스 (일시적으로 공지된 랜덤 패턴들) 가 채워지면, 이어서 단계 107에서 중앙 데이터베이스 서버 (1) 상에 저장되도록 전송되고, 이 예에서 중앙 데이터베이스 서버 (1) 는 단계 108에서 매트릭스를 데이터베이스 표 내로 로딩한다. 매트릭스는 또한 다른 포맷들로, 예컨대 파일 시스템 내에 또는 픽토그램 표현 (pictographic representation) 으로 저장될 수 있다.Once the complete matrix of security codes (temporarily known random patterns) is filled, then, in step 107, the central database server 1 is sent to be stored on the central database server 1, Into the database table. The matrix may also be stored in other formats, such as in a file system or in pictographic representation.

기술된 프로세스의 목적들을 위해, 이 플로우차트에 도시된 바와 같이 생성된 이 일시적으로 공지된 랜덤 패턴들의 매트릭스는 도 3의 단계 211로 도시된 바와 같이 등록된 계좌 보유자 각각에 패턴 ID를 할당하도록 사용되어, 새로운 랜덤 보안 코드가 계좌 보유자 (5) 에 의해 개시된 거래에 사용될 수 있다.For purposes of the described process, this temporarily known matrix of random patterns generated as shown in this flowchart is used to assign a pattern ID to each of the registered account holders, as shown in step 211 of FIG. 3 A new random security code may be used for transactions initiated by the account holder 5.

본 발명에 따라 지불 프로세서들이 지불 거래들을 지지할 수 있도록, (가끔 업데이트될 수도 있고 그렇지 않으면 개정될 수도 있기 때문에) 동일한 버전의 매트릭스가 단계 109에서 참여하는 지불 프로세서 각각에 분배된다. 바람직하게, 참여하는 지불 프로세서의 매트릭스의 버전 각각은 분배되기 전에 이 지불 프로세서에 고유한 방식으로 해시된다. 이어서 고유하게 해시된 매트릭스는 이 지불 프로세서와 연관된 보안 코드 데이터베이스 서버 (4) 상의 지불 프로세서 각각에 의해 국부적으로 로딩된다.The same version of the matrix is distributed to each participating payment processor in step 109 (since it may be updated or otherwise revised) so that payment processors can support payment transactions in accordance with the present invention. Preferably, each of the versions of the matrix of participating payment processors is hashed in a manner unique to this payment processor before being distributed. The uniquely hashed matrix is then loaded locally by each of the payment processors on the secure code database server 4 associated with this payment processor.

매트릭스 내 난수 값들은 바람직하게 산업 표준들 및 규칙들에 의해 신뢰성 있고 안전한 것으로 승인되는 SHA (Secure Hash Algorithm) 를 활용하여 해시된다. 예를 들어, SHA-512가 본 발명의 이 양태에 따라 사용될 수 있다. SHA-512를 포함하여, 몇몇 보안 해시 알고리즘들이 예를 들어, 2012년 3월 공개된, Federal Information Processing Standards Publication 180-4에 개시되고, 이의 내용들은 관련 특허청에 의해 허용되는 범위로 본 명세서에 참조로서 인용된다. 매트릭스의 난수 값들을 지불 프로세서들 또는 은행들로 송신되기 전에 해시하기 위해, 지불 프로세서 각각은 예를 들어, 110 단계 110에서 (HSM (2) 으로부터, 예를 들어) 고유 해시 솔트 (111) 가 할당되거나 그렇지 않으면 연관된다. 이 해시 솔트 (111) 는 또한 거래 인증 프로세스에서 사용하기 위해 각각의 지불 프로세서 각각으로 보안 및 암호화된 방식으로 전달된다. 기술분야에 공지된 바와 같이, "해시 솔트"는 미리 결정된 해시 프로세스를 위한 수학적 기준이다. 미리 결정된 문자열 (예를 들어, 본 발명의 숫자 보안 코드들 중 하나) 에 대해, 미리 결정된 해시 알고리즘을 사용하여 적용된, 미리 결정된 해시 솔트는 항상 동일한 해시된 버전의 문자열을 발생시킬 것이라는 것을 주의한다.The random number values in the matrix are hashed utilizing Secure Hash Algorithm (SHA), which is preferably approved to be reliable and secure by industry standards and rules. For example, SHA-512 may be used in accordance with this aspect of the invention. Several secure hash algorithms, including SHA-512, are disclosed, for example, in Federal Information Processing Standards Publication 180-4, published March 2012, the contents of which are incorporated herein by reference to the extent permitted by the relevant patent office Quot; In order to hash the random number values of the matrix before being sent to payment processors or banks, each of the payment processors may, for example, allocate a unique hash salt 111 (from HSM (2), for example) Or otherwise associated. This hash salt 111 is also delivered in a secure and encrypted manner to each of the payment processors for use in the transaction authentication process. As is known in the art, "hash salt" is a mathematical standard for a predetermined hash process. Note that for a predetermined string (e.g., one of the numeric security codes of the present invention), the predetermined hash salt applied using a predetermined hash algorithm will always produce the same hashed version of the string.

각각의 고유 해시 솔트들 (111) (즉, 각각의 지불 프로세서 각각에 대한 고유 해시 솔트) 를 사용하여, 동일한 매트릭스의 고유 해시된 카피들이 상이한 지불 프로세서들 (단계 112) 에 대해 생성되고, 매트릭스 각각은 난수들의 고유하게 해시된 표현들을 포함한다. 따라서, 패턴 ID 각각에 대해 생성되고 할당된 난수들의 실제 세트들은 이들을 등록된 계좌 보유자들에게 전달하기 위해 단지 중앙 데이터베이스 서버 (1) 에서 깨끗하게 유지된다. 지불 프로세서 각각은 보안 코드 데이터베이스 (4) 의 대응하는 예들에서 임의의 다른 지불 프로세서의 해시된 표현과 상이한 "지불 프로세서의" 이들 값들의 구별된 해시된 표현을 보유만 할 것이다 (단계 113).Using the unique hash salts 111 (i.e., unique hash solids for each of the respective paying processors), unique hashed copies of the same matrix are generated for different payment processors (step 112), and each of the matrices Contains unique hashed representations of random numbers. Thus, the actual sets of random numbers generated and assigned for each pattern ID are kept clean at only the central database server 1 to deliver them to the registered account holders. Each of the payment processors will only have a distinct hashed representation of these values of the "payment processor " that is different from the hashed representation of any other payment processor in the corresponding examples of the security code database 4 (step 113).

도 3은 본 발명에 따른 계좌 보유자 (5) 가 시스템에 등록하는 방법의 프로세스를 예시한다. 계좌 보유자 (5) 는 등록 요청을 개시한다. 계좌 보유자 등록 프로파일이 이미 제시한다면 (201), 계좌 보유자 (5) 는 단계 212에서 기존 프로파일에 새로운/부가적인 계좌들을 등록하도록 진행할 수 있다. 그렇지 않으면, 새로운 계좌 보유자 등록이 필요하다면, 계좌 보유자 (5) 는 등록 프로파일을 생성하는데 필요한 정보를 입력하도록 단계 202로 진행한다. 이 정보는 예를 들어, 풀 네임 (full name), 청구지 주소, 연락 정보 (예컨대 모바일 전화 번호 또는 이메일 주소), 및 통지 우선도들을 포함할 수도 있다. 이 정보는 입력된 계좌 보유자 정보를 검증하기 위해 서브프로세스 (203) 에 의해 중앙 애플리케이션 서버 (3) 에서 유효화된다. 이 서브프로세스 (203) 는 주소 검증, 검증 서비스들 식별 (Identity Verification Services), 및 다른 타입의 고객 검증 (Know-Your-Customer) 단계들을 포함할 수도 있다.Figure 3 illustrates the process of how an account holder 5 according to the present invention registers with the system. The account holder 5 starts the registration request. If the account holder registration profile has already been submitted 201, the account holder 5 may proceed to register the new / additional accounts in the existing profile at step 212. Otherwise, if a new account holder registration is required, the account holder 5 proceeds to step 202 to enter the information necessary to create the registration profile. This information may include, for example, a full name, a billing address, contact information (e.g., a mobile phone number or e-mail address), and notification priorities. This information is validated in the central application server 3 by the subprocess 203 to verify the entered account holder information. This sub-process 203 may include address verification, Identity Verification Services, and other types of Know-Your-Customer steps.

일단 입력된 계좌 보유자 정보가 검증 단계를 통과하면 (단계 204), 일시적인 랜덤 문자숫자 또는 숫자 코드가 205에서 생성되고, 계좌 보유자 (5) 가 이메일 주소 또는 제공된 모바일 전화 번호와 연관된 물리적 디바이스에 액세스하는지 여부를 검증하기 위해, 입력된 이메일 주소 또는 모바일 전화 번호를 통해 통지 서브프로세스 (800) 를 통해 계좌 보유자에게 전달된다. 단계 206에서 (제한된 수명을 갖는) 일시적인 코드의 수신시, 계좌 보유자 (5) 는 단계 207에서 등록 애플리케이션 서비스로 재송신할 것을 요청받고, 이어서 중앙 애플리케이션 서버 (3) 에 의해 검증된다. 계좌 보유자에 의해 입력된 일시적인 코드가 단계 205에서 생성된 코드와 매칭하고 시간 상 여전히 유효하다면 (단계 208), 수집된 계좌 정보는 계좌 보유자 프로파일을 생성하도록 사용되고 (단계 209) 단계 210에서 중앙 데이터베이스 서버 (1) 상에 저장된다. 등록 프로파일이 중앙 데이터베이스 서버 (1) 에서 생성될 때, 패턴 ID (104) (예를 들어, 도 2a 참조) 가 211에서 새로 생성된 계좌 보유자 프로파일에 할당되고, 새로 생성된 계좌 보유자 프로파일에 의해 계좌 보유자 (5) 가 보안 코드들의 매트릭스에서 식별될 것이다. 이어서 계좌 보유자 (5) 가 도 4에 도시된 바와 같이 제공될 보안 코드들을 구동할 것이다. 이어서 계좌 보유자는 통지 우선도들에 따른 프로파일 생성 결과들의 서브프로세스 (800) (도 9 참조) 를 통해 통지되고, 통지 우선도들은 제공된 모바일 전화 번호로의 SMS 텍스트 메시지, 제공된 이메일 주소로의 이메일 메시지, 또는 모바일 애플리케이션 푸시 통지 중 하나 이상을 포함할 것이다. 이 계좌 보유자 등록 결과 통지는 이로 제한되는 것은 아니지만, 고유 계좌 보유자 프로파일 식별자, 및 전자 지불 거래들을 할 때 사용할 코드를 포함하는 서비스와 상호작용하는데 필수적인 정보를 포함할 수 있다.Once the entered account holder information has passed the verification step (step 204), a temporary random number or numeric code is generated at 205, indicating whether the account holder 5 has access to an email address or a physical device associated with the provided mobile phone number , It is communicated to the account holder via the notification sub-process (800) via the entered e-mail address or mobile telephone number. Upon receipt of the temporary code (having a limited lifetime) in step 206, the account holder 5 is requested to retransmit to the registration application service in step 207, and is then verified by the central application server 3. If the temporary code entered by the account holder matches the code generated in step 205 and is still valid in time (step 208), the collected account information is used to generate an account holder profile (step 209) (1). When the registration profile is created in the central database server 1, the pattern ID 104 (see FIG. 2A, for example) is assigned to the newly created account holder profile at 211, The holder 5 will be identified in the matrix of security codes. The account holder 5 will then drive the security codes to be provided as shown in FIG. The account holder is then notified via the subprocess 800 (see FIG. 9) of the profile creation results according to notification priorities, and the notification priorities are the SMS text message to the mobile phone number provided, the email message to the email address provided , Or a mobile application push notification. This account holder registration result notification may include information that is essential to interact with the service, including, but not limited to, a unique account holder profile identifier and a code to use in making electronic payment transactions.

일단 계좌 보유자 프로파일이 제시하면, 계좌 보유자 (5) 는 자신의 계좌 보유자 프로파일과 하나 이상의 계좌들을 연관시키도록 (212) 진행할 수 있다. 계좌 등록 프로세스 (212) 는 새로운 계좌를 식별하는 단계 (213) (예컨대 직불, 신용, 또는 당좌 계좌) 및 계좌 정보를 입력하는 단계 (단계 214) 를 포함할 수도 있다. 은행 계좌는 계좌 번호 및 은행의 RTN (Routing and Transit Number) 을 포함한다. 카드 계좌는 전체 카드 번호 (통상적으로 15 내지 16 자릿수, 때때로 보다 적고 때때로 보다 큰 자릿수), 만기일, 임의의 형태 또는 형상의 물리적 카드 상에 인쇄된 임의의 검증 코드, 또는 EMV (Europay, MasterCard, 및 Visa) 의 경우 디지털 검증 코드, 또는 적용가능하다면 가상 카드를 포함할 수도 있다.Once the account holder profile presents, the account holder 5 may proceed 212 to associate one or more accounts with his or her account holder profile. The account registration process 212 may include step 213 (e.g., debit, credit, or checking account) of identifying a new account and entering account information (step 214). The bank account contains the account number and the bank's RTN (Routing and Transit Number). The card account may be any validation code printed on the physical card of the entire card number (typically 15 to 16 digits, sometimes fewer and sometimes larger digits), expiration date, any form or shape, or EMV (Europay, MasterCard, Visa), a digital verification code, or, if applicable, a virtual card.

중앙 애플리케이션 서버 (3) 는 입력된 정보가 유효한지 여부를 검증한다. 카드의 BIN (Bank Identification Number) 또는 계좌의 ABA RTN (routing number) 을 대응하는 은행 또는 지불 프로세서 (본 발명에 따른 시스템을 지원하는 서명된 금융 기관들 및/또는 지불 프로세서들에 대한 교차 참조) 에 맵핑하는 종래에 가용한 리소스들을 사용하여, 미리 결정된 계좌는 본 발명의 시스템에 참여하기 위해 215에서 적합성이 검토된다.The central application server 3 verifies whether or not the inputted information is valid. (The bank identification number of the card) or the ABA RTN (routing number) of the account to the corresponding bank or payment processor (cross reference to signed financial institutions and / or payment processors supporting the system according to the invention) Using previously available resources to map, the predetermined account is checked for compliance at 215 to participate in the system of the present invention.

계좌가 적합하다면 (단계 215), 시스템은 입력된 계좌가 계좌 보유자에게 합법적으로 소유되는지 검증하도록 서브프로세스 (216) 로 진행하고, 그렇지 않으면, 계좌가 추가될 수 없다는 통지 서브프로세스 (800) 를 통해 계좌 보유자에게 통지된다. 계좌 검증 단계는 계좌 보유자 정보를 검증하는 웹 서비스 (예를 들어, 지불 프로세서, 또는 카드 발행자, 또는 또 다른 제 3 자에 의해 동작되는) 에 대한 호출, 주소 검증 및 CVV 검증을 포함할 수 있는 0 달러 값 인증 요청, 또는 계좌의 진정성을 검증하기 위해 인증된 협회에 의해 제공된 임의의 다른 서비스를 포함할 수도 있다. 은행 계좌의 경우, 검증 프로세스는 계좌 보유자 수신된 양을 확인함으로써 검증할 일련의 소량의 시도 보증금, 예를 들어 1 내지 99 센트의 랜덤한 양의 2 개의 보증금들을 포함할 수 있다.If the account is appropriate (step 215), the system proceeds to the sub-process 216 to verify that the entered account is legally owned by the account holder, otherwise, via the notification sub-process 800 that the account can not be added The account holder is notified. The account validation step may include a call to address validation and CVV validation, a call to a web service (e.g., operated by a payment processor, or card issuer, or another third party) that verifies account holder information, A dollar value authentication request, or any other service provided by an authorized association to verify the authenticity of the account. In the case of a bank account, the verification process may include a small set of trial deposits to be verified by verifying the amount received by the account holder, for example, two deposits in a random amount of 1 to 99 cents.

217에서 계좌가 계좌 보유자 (5) 에게 유효하게 소유된다는 검증 후, 시스템은 218에서 계좌 보유자 프로파일에 이 계좌를 추가하고, 219에서 중앙 데이터베이스 서버 (1) 상에 저장하도록 진행한다. 계좌의 지불 프로세서 또는 은행 ID 정보가 221에서 중앙 데이터베이스 서버 (1) 를 조사함으로써 단계 220에서 검색된다. ID 정보 222를 사용하여 시스템은 지불 프로세서에 의해 제공된 API를 호출함으로써, 또는 지불 프로세서의 시스템 상으로 송신되고 로딩된 파일에 의해, 또는 미리 결정된 새로운 계좌의 추가를 기록하도록 이들 시스템을 업데이트하기 위해 지불 프로세서에 의해 제공된 임의의 다른 수단에 의해 223에서 지불 프로세서의 데이터베이스 서버 (6) 로 이 정보를 전송한다. 지불 프로세서로 송신된 정보는 계좌 보유자의 등록 프로파일 정보 및 특히 프로세서로 하여금 미래 거래 인증 요청들의 보안 코드들의 현재 매트릭스의 계좌 보유자의 보안 코드를 유효화하게 하는 등록 프로파일 정보를 연관된 패턴 ID를 포함한다.After verification that the account is effectively owned by the account holder 5 at 217, the system proceeds to add this account to the account holder profile at 218 and store it on the central database server 1 at 219. The payment processor or bank ID information of the account is retrieved at step 220 by examining the central database server 1 at 221. Using the ID information 222, the system can either pay for updating these systems by calling the API provided by the payment processor, or by sending them to the system of the payment processor and loading them, or to record the addition of a predetermined new account And transfers this information at 223 to the payment server database server 6 by any other means provided by the processor. The information sent to the payment processor includes the account holder's registration profile information and, in particular, the associated pattern ID associated with the registration profile information to enable the processor to validate the security code of the account holder of the current matrix of security codes of future transaction authorization requests.

마지막으로, 계좌 보유자는 통지 서브프로세스 (800) 를 통해 통지받고 224에서 계좌 등록의 확인을 수신한다.Finally, the account holder is notified via the notification sub-process 800 and receives an acknowledgment of account registration at 224.

보안 코드들을 생성하고 관리하기 위한 현재 개시된 방법 및 시스템은 전자 지불 보안 및 금융 거래 보안 이외의 도메인들에 사용될 수 있다. 예를 들어, 웹 사이트, 실험실, 사무실, 등이 부가적인 인증 또는 액세스 제어 메커니즘으로서 고용인들에게 매일 보안 코드를 전달하기 위해 본 발명을 구현할 수도 있다. 상이한 영역들에서, 본 발명에 따른 코드들은 판매자, 서비스 제공자 또는 다른 타입들의 정부 또는 개인 협회들로부터 신용 거래, 새로운 계좌들 또는 서비스들을 적용하기 위해 계좌 보유자들에 대한 아이덴티티의 부가적인 증명으로서 구현될 수 있다.The presently disclosed methods and systems for generating and managing security codes can be used in domains other than electronic payment security and financial transaction security. For example, a web site, a laboratory, an office, etc. may implement the present invention to deliver security codes daily to employees as an additional authentication or access control mechanism. In different areas, the codes according to the present invention may be implemented as additional proof of identity to account holders to apply credit transactions, new accounts or services from a seller, service provider or other types of government or private associations .

계좌 보유자는 상기 기술된 바와 같이, 단일 도메인 내에서 또는 많은 (특히, 많은 관련되지 않은) 도메인들에 걸쳐 사용하기 위해 본 발명에 따른 일일 보안 코드를 수신하도록 등록할 수 있다. 예를 들어, 계좌 보유자는 2 개의 상이한 발행자들/프로세서들로부터, 뿐만 아니라 계좌 보유자의 작업 공간 액세스 제어 시스템, 등에 대해 신용 카드들을 등록할 수도 있다. 상기 기술된 바와 같이 복수의 등록 프로파일들을 갖는 계좌 보유자는 각각 본 발명에 따른 각각의 보안 코드를 갖는 하나 이상의 그룹들로 프로파일들을 그룹화하는 것을 선택하기 원할 수도 있다. 즉, 따라서 계좌 보유자는 계좌 보유자가 등록하는 모든 상이한 구현예들에 매일 유효한 단일 (또는 적어도, 보안 코드들을 필요로 하는 도메인들의 총 수와 비교하여 보다 적은) 보안 코드를 사용할 수 있다.The account holder may register to receive the daily security code according to the present invention for use within a single domain or across many (particularly, many unrelated) domains, as described above. For example, the account holder may register credit cards for two different issuers / processors, as well as for the account holder's workspace access control system, and so on. Account holders having a plurality of registration profiles as described above may wish to select to group the profiles into one or more groups each having a respective security code according to the present invention. That is, therefore, the account holder can use a single (or at least less than a total number of domains requiring security codes) security code that is valid every day for every different implementation the account holder registers.

구현예들의 이러한 그룹화의 예에서, 보안 코드 등록 프로파일 (SCRP: Security Code Registration Profile) 은 개인 사용자 및 단일 금융 계좌, 또는 보안 액세스를 필요로 하는 비금융 계좌의 단일 예이다. 이로 제한되는 것은 아니지만, 비금융 계좌들은 웹사이트 액세스, 컴퓨터 사인-온 스크린들, 또는 물리적 액세스 제어 상황을 포함한다. 본 발명에서, SCRP는 단일 프로세서의 데이테베이스의 단일 계좌 보유자의 프로파일이다.In this example of grouping of implementations, the Security Code Registration Profile (SCRP) is a single example of an individual user and a single financial account, or a non-financial account that requires secure access. Non-financial accounts include, but are not limited to, website access, computer sign-on screens, or physical access control situations. In the present invention, SCRP is a single account holder profile of a single processor's database.

기억해야 하고 사용하기 위한 보안 코드들의 수를 감소시키는 동안 보다 쉬운 사용을 인에이블하기 위해, 복수의 신용 카드들, 직불 카드들, 금융 계좌들, 및 보안 로그인들이 원하는 바에 따라 그룹화될 수 있다. 일단 그룹화되면, 그 그룹의 모든 SCRP들은 동일한 패턴 ID를 가질 것이고, 매일 동일한 보안 코드를 수신할 것이다. 이러한 방식으로, 예를 들어, 개인은 모든 직불 카드들 및 신용 카드들에 대해 동일한 보안 코드를 수신할 수 있다.A plurality of credit cards, debit cards, financial accounts, and security logins may be grouped as desired to enable easier use while reducing the number of security codes to use and remember. Once grouped, all SCRPs in the group will have the same pattern ID and will receive the same security code each day. In this way, for example, an individual can receive the same security code for all debit cards and credit cards.

그룹화는 단일 개인으로 제한되지 않아야 한다. 예를 들어, 가족이 동일 그룹의 전체 가족의 신용 카드들 및 직불 카드들을 갖도록 선택할 수 있고, 모든 가족 구성원들이 모든 신용 카드들 및 직불 카드들에 대해 매일 동일한 보안 코드를 가질 수 있다.The grouping should not be limited to a single individual. For example, a family may choose to have credit cards and debit cards for the entire family in the same group, and all family members may have the same security code daily for all credit cards and debit cards.

또 다른 예에서, 법인 신용 카드들을 갖는 모든 고용인들이 그룹화될 수 있고, 각각의 법인 신용 카드들 각각에 대해 동일한 보안 코드를 매일 수신할 것이다. 또 다른 예에서, 군대 분대/소대/부대/등의 모든 구성원들이 자신의 소대의 멤버쉽을 확인할 방법으로서 동일한 보안 코드를 매일 수신할 수 있다.In another example, all employees with corporate credit cards may be grouped and receive the same security code daily for each of their corporate credit cards. In another example, all members of an army squad / platoon / unit / etc could receive the same security code daily as a way to identify their platoon membership.

개인들은 몇몇 그룹들의 구성원들일 수 있고, 뿐만 아니라 어떠한 그룹의 구성원들도 아닌 SCRP를 갖는다. 그룹 및 비그룹 SCRP 각각에 대해, 개인은 고유 보안 코드를 수신할 것이다. 예를 들어, 사람은 "가족 그룹"의 모든 신용 카드들, 직불 카드들; "회사 그룹"의 단일 사업용 신용 카드; 및 "그룹화되지 않은" 당좌 계좌를 가질 수 있다. 이 경우, 본 발명에 따라 사람은 매일 3 개의 고유 보안 코드들을 수신할 것이다.Individuals can be members of several groups, as well as SCRPs that are not members of any group. For each group and non-group SCRP, the individual will receive a unique security code. For example, a person may have all credit cards, debit cards, "Company Group" single business credit card; And "non-grouped" checking accounts. In this case, according to the present invention, a person will receive three unique security codes each day.

그룹화 기준은 시스템에 의해, 또는 계좌 보유자 각각에 의해, 또는 그룹들의 그룹에 대해 허가된 관리자에 의해 이전에 확립된 규칙들에 의해 결정될 수도 있다. 예를 들어, 자동 그룹화 규칙들은 2 개의 계좌 보유자 프로파일들이 동일한 이메일, 전화, 또는 다른 이전에 검증된 콘택트 정보를 공유한다면, 매칭 프로파일에 대해 매일 생성되고 전달된 코드들이 그룹화될 것이고 동일한 매일로 싱크될 것이다.Grouping criteria may be determined by the system, or by account holders, respectively, or by rules previously established by an authorized administrator for a group of groups. For example, the automatic grouping rules may be such that if two account holder profiles share the same e-mail, telephone, or other previously verified contact information, the codes generated and delivered daily for the matching profile will be grouped and synchronized daily will be.

또 다른 예에서, 등록된 계좌 보유자는, 인증된 계좌 보유자 또는 그룹 관리자의 인증시 특정한 구현예에 대해 매일 통일한 코드를 수신하기 위해, 또 다른 계좌 보유자의 프로파일과 그룹화될 초대 요청을 개시할 능력이 부여된다.In another example, a registered account holder may have the ability to initiate an invitation request to be grouped with another account holder's profile to receive a daily unified code for a particular implementation upon authentication of an authenticated account holder or group manager .

도 3a는 계좌 보유자의 프로파일이 또 다른 계좌 보유자 또는 그룹과 함께, 자동으로 또는 온디맨드 (on-demand), 그룹화될 때, 도입된 고레벨 단계들을 예시한다.Figure 3A illustrates the high-level steps introduced when the account holder's profile is automatically or on-demand, grouped together with another account holder or group.

그룹 할당 프로세스 231이 개시될 때, 계좌 보유자에 의해 온디맨드 요청되면 232, 그룹에 합류하려는 인증 요청 233이 개시된다. 계좌 보유자가 요청한 그룹에 합류하도록 인증되면 (234), 계좌 보유자의 등록 프로파일 예가 단계 235에서 할당되고, 통지 프로세스 800이 그룹 할당 프로세스 내 모든 관련 이해 당사자에게 통지하기 위해 개시된다. 그러나 단계 234에서 계좌 보유자가 요청된 그룹에 대해 인증되지 않는 것으로 생각되면, 액션이 취해지지 않고 계좌 보유자는 단계 236마다 현재 할당된 그룹에 남는다. 통지 단계 800은 또한 이 시나리오에서 요청된 그룹에 액세스하려고 시도하는 인증되지 않은 이해 당사자들에게 경고하도록 트리거된다.When the group assignment process 231 is initiated, if the on-demand request is made by the account holder 232, the authentication request 233 to join the group is initiated. If the account holder is authorized to join the requested group 234, the account holder's registration profile example is assigned at step 235 and the notification process 800 is initiated to notify all interested parties in the group assignment process. However, if at step 234 the account holder is deemed unauthenticated for the requested group, no action is taken and the account holder remains in the currently assigned group for each step 236. The notification step 800 is also triggered to warn unauthorized stakeholders attempting to access the requested group in this scenario.

그룹에 합류하려는 요청이 단계 232에서 온디맨드가 아닌 것으로 (즉, 자동으로) 식별되는 대안적인 경로에서, 그러면 계좌 보유자에 대해 자동 프로파일 그룹화 규칙들을 찾기 위한 프로세스가 단계 240에서 수행된다. 규칙들이 단계 241에서 확립된 기준에 매칭하는 것으로 발견되면, 계좌 보유자의 등록 프로파일 예가 단계 242에서 기존 그룹에 자동으로 할당되고 이에 따라 통지들이 단계 800에서 전송된다. 그렇지 않으면, 액션이 취해지지 않고 계좌 보유자는 단계 236 마다 현재 또는 새롭게 할당된 그룹에 남고, 통지들은 단계 800에서 개시된다.In an alternative path where the request to join the group is identified as being not on demand (i.e., automatically) at step 232, then a process for locating automatic profile grouping rules for the account holder is performed at step 240. If the rules are found to match the criteria established at step 241, then the account holder's registration profile example is automatically assigned to the existing group at step 242 and accordingly notifications are sent at step 800. Otherwise, no action is taken and the account holder remains in the current or newly assigned group at step 236, and notifications are initiated at step 800.

상기 참조된 그룹들의 일부 예들은 도 3b 내지 도 3g에 후속하여 예시된다. 예를 들어 도 3b는 단일 보안 코드 등록 프로파일, 이 예에서, 저절로 고유의 그룹 G1에 속하는 신용 카드 P1C1을 갖는 단일 개인 P1을 예시한다. 이는 계좌 P1C1이임의의 다른 등록된 계좌와 보안 코드를 공유하지 않는다는 것을 의미한다. 즉, 패턴 ID들 및 이들의 연관된 보안 코드들이 의도적으로 매칭하지 않는다.Some examples of the referenced groups are illustrated below in Figures 3B-3G. For example, FIG. 3B illustrates a single security code registration profile, in this example, a single individual P1 with a credit card P1C1 that belongs to the group G1, which is inherently unique. This means that the security code is not shared with other registered accounts of account P1C1. That is, pattern IDs and their associated security codes do not intentionally match.

보안 코드 등록 프로파일 (SCRP) 각각은 특정한 보안 코드에 임의의 미리 결정된 시간 기간이 할당된 패턴 ID이 할당된다는 것을 주의해야 한다. 무한 수의 보안 코드들이 가용하기 때문에, 숫자가 매우 크더라도 임의의 미리 결정된 순간적인 2 개의 상이한 패턴 ID들이 자신들에게 할당된 동일한 보안 코드를 가질 것이라는 것이 합리적으로 가능하다.It should be noted that each of the security code registration profiles (SCRPs) is assigned a pattern ID assigned to a certain security code with a predetermined time period. Because infinite security codes are available, it is reasonably possible that, although the number is very large, any two predetermined random instantaneous pattern IDs will have the same security code assigned to them.

도 3c는 모두 함께 단일 그룹 G2에 그룹화되는, 3 개의 상이한 신용 카드 SCPR들 (P2C1, P2C2, P2C3), 뿐만 아니라 하나의 직불 카드 SCRP P2D1을 갖는 단일 계좌 보유자 P2를 예시한다. 이는 본 발명에 따라, 이들 SCRP들 하에서 등록된 모든 4 개의 계좌들이 매일 그룹 G2에 대응하는 동일한 보안 코드를 수신할 것이라는 것을 의미한다. 이러한 시나리오의 실제 예는 지갑의 모든 카드들이 매일 동일한 보안 코드를 수신하기 원하는 계좌 보유자이다.Figure 3c illustrates a single account holder P2 with three different credit card SCPRs (P2C1, P2C2, P2C3), as well as one debit card SCRP P2D1, all grouped together into a single group G2. This means that according to the invention, all four accounts registered under these SCRPs will receive the same security code corresponding to group G2 daily. A practical example of such a scenario is an account holder who wants all cards in the wallet to receive the same security code every day.

도 3d는 저절로 그룹 G3인 하나의 신용 카드 SCRP P3C1, 뿐만 아니라 2 개의 다른 신용 카드 SCRP들 (P3C2, P3C3), 및 하나의 직불 카드 SCRP P3D1을 갖고, 이들 3 개는 그룹 G4에 함께 그룹화되는 단일 계좌 보유자 P3을 도시한다. 이는 계좌 보유자가 하나 이상의 SCRP들이 하나의 그룹으로 그룹화되고, 하나 이상의 나머지들이 별도의 그룹으로 그룹화되도록 선택할 수도 있어서, 2 개의 그룹들이 매일 별도의 보안 코드를 수신하는 예를 도시한다. 예를 들어 계좌 보유자는 개인의 모든 카드에 대해 유효한 단일 보안 코드를 매일 수신하기 위해 함께 그룹화된 모든 개인용 신용 카드 및 직불 카드 및 개인 계좌들에 유효한 보안 코드와 상이한 보안 코드를 수신하는 사업용 신용 카드 및 직불 카드 계좌들에 대해 별도의 그룹을 가질 수도 있다.Figure 3D has one credit card SCRP P3C1, which is of course group G3, as well as two different credit card SCRPs P3C2 and P3C3, and one debit card SCRP P3D1, all of which have a single Account holder P3 is shown. This illustrates an example in which an account holder may choose to have one or more SCRPs grouped into one group and one or more remainders to be grouped into separate groups so that the two groups receive a separate security code each day. For example, the account holder may be a business credit card that receives a valid security code and a different security code for all personal credit and debit cards and personal accounts grouped together to receive a single valid security code for every card of an individual, and You may have separate groups for debit card accounts.

도 3e는 상이한 개별 계좌 보유자들에게 속한 상이한 SCRP들이 또한 매일 동일한 보안 코드를 수신하도록 함께 그룹화될 수 있는 예를 도시한다. 이 도면은 예를 들어 상이한 보안 코드 등록 프로파일들 하의 계좌들의 세트에 대해 매일 동일한 보안 코드를 수신하기 원하는 가족, 사업, 조직, 또는 소셜 그룹의 구성원들에 의해 사용될 수 있다. 이 예에서, 계좌 보유자 P4에게 속하는 신용 카드 SCRP들 P4C1, 뿐만 아니라 계좌 보유자 P5의 신용 카드 SCRP P5C1, 및 둘 다 계좌 보유자 P6에게 속한 SCRP P6C1 및 P6D1는 모두 단일 그룹 G5 하에 등록된다. 따라서 계좌 보유자 P4, P5, 및 P6은 각각 매일 동일한 보안 코드를 수신한다.Figure 3E shows an example where different SCRPs belonging to different individual account holders may also be grouped together to receive the same security code each day. This diagram may be used by members of a family, business, organization, or social group who desire to receive the same security code each day for a set of accounts under different security code registration profiles, for example. In this example, both credit card SCRPs P4C1 belonging to account holder P4, as well as credit card SCRP P5C1 of account holder P5 and SCRPs P6C1 and P6D1 belonging to both account holder P6 are all registered under a single group G5. Therefore, the account holders P4, P5, and P6 receive the same security code each day.

상기에 이전에 표현된 바와 같이, 보안 코드들은 전자 지불 보안 및 금융 거래 보안 이외의 도메인들 또는 애플리케이션들에서 사용될 수 있다. 도 3f는 예를 들어 사무실 건물에 물리적으로 액세스하기 위해, 또는 보안된 공공 또는 사설 네트워크 상의 웹사이트 또는 네트워크에 가상으로 액세스하려고 사용된 보안 코드일 수 있는, 액세스 코드 SCRP들을 갖는 복수의 개별 계좌 보유자들 P7 내지 P11을 예시한다. 이 예시에서, 개별 계좌 보유자들 P7, P9, P10, 및 P11에 각각 속한 모든 액세스 코드 SCRP의 P7A2, P9A1, P10A1, 및 P11A1은 매일 동일한 보안 코드를 수신하기 위해 단일 그룹 G7에 함께 그룹화된다. 동시에, 개별 계좌 보유자 P7은 또한 상이한 개인 계좌 보유자 P8에게 속한 또 다른 SCRP P8A1와 공유된, 별도의 그룹 G6에 속한 별도의 SCRP P7A1을 보유한다. SCRP들 P7A1 및 P8A1은 또한 둘 다 동일한 그룹 G6과 연관되는 한 매일 동일한 보안 코드를 수신한다. 이 예에서, 단일 계좌 보유자 P7은 등록되고 상이한 개별 계좌 보유자들과 상이한 그룹들 G6 및 G7의 복수의 SCRP들을 보유한다. 이러한 예의 실제 애플리케이션은 상이한 네트워크들 상에서 2 개의 상이한 역할들, 예를 들어 "제한된 사용자" 및 "관리자-사용자"를 연기하고, 역할 각각에 대해, 그룹 각각에 대해 다른 개인들과 공유된, 상이한 보안 코드를 필요로 하는 개인일 수 있다.As previously indicated above, security codes may be used in domains or applications other than electronic payment security and financial transaction security. 3f illustrates a plurality of individual account holders having access code SCRPs, which may be, for example, a physical code access to an office building, or a security code used to virtually access a web site or network on a secure public or private network, P7 to P11 are exemplified. In this example, P7A2, P9A1, P10A1, and P11A1 of all access code SCRPs belonging to individual account holders P7, P9, P10, and P11 are grouped together into a single group G7 to receive the same security code each day. At the same time, the individual account holder P7 also holds a separate SCRP P7A1 belonging to a separate group G6, which is shared with another SCRP P8A1 belonging to a different personal account holder P8. SCRPs P7A1 and P8A1 also receive the same security code each day as they are both associated with the same group G6. In this example, a single account holder P7 holds a plurality of SCRPs of the groups G6 and G7 that are registered and different from the different individual account holders. The actual application of this example is to postpone two different roles on different networks, for example "restricted user" and "administrator-user ", and for each role, different security It can be an individual who needs code.

본 명세서에 예시된 또 다른 도메인은 소셜 그룹, 예를 들어 비밀 소셜 클럽에 액세스, 허가를 얻거나 소셜 그룹에 속한 것으로 단순히 인식되거나 식별되는 개별 계좌 보유자들에 의해 사용되는 보안 코드일 수 있는 소셜 코드로서 참조된다. 도 3g는 복수의 개별 계좌 보유자들 P12, P13, P14, P15, 및 P16 각각이 모두 매일 동일한 보안 코드를 수신한다는 것을 보증하는, 모두 동일한 그룹 G8의 각각의 소셜 코드 SCRP들 P12S1, P13S1, P14S1, P15S1, P16S1을 갖는 것을 예시한다.Another domain exemplified herein is a social code, which may be a security code used by individual account holders who are simply recognized or identified as belonging to a social group, e. G. A secret social club, . Figure 3G shows each of the respective social code SCRPs P12S1, P13S1, P14S1, P14S1, P14S1, P14S1, P14S1, P14S2, and P14S1 of all the same group G8, which ensure that a plurality of individual account holders P12, P13, P14, P15, and P16 each receive the same security code every day P15S1, and P16S1.

도 3h는 본 발명을 구현하기 위해 SCRP들 및 SCRP들이 할당된 그룹들이 도표 형태로 표현되고 데이터베이스에 저장될 수 있는 방법의 예를 도시한다. 표 T1은 SCRP, 계좌가 속한 (엔티티) 의 PID, 및 할당된 그룹 GroupId (예를 들어, G1, G2, G3, 등) 의 예 각각을 보유한다. 표들 T2A, T2B, 및 T2C는 각각 어떤 보안 코드 패턴 PatternID가 미리 결정된 날짜 기간 (즉, 유효 기간) 의 그룹 GroupId 각각에 할당되는지 보유하는 표의 세그먼트들이다. 날짜 기간은 할당된 PatternID가 유효한 기간 각각의 시작 날짜 및 종료 날짜를 지정하는 "From date" 그리고 "To date"로 나타낸다. 이어서 PatternID 각각은 날짜 Day1Code, Day2Code, 등 각각에 대해 상이한 보안 코드를 할당하는 표 T3에 나타난다. 즉, 날짜 각각은 어떤 그룹 GroupId, SCRP가 할당되는지를 조사하기 위해 이들 표들을 자세히 고찰하고 (traverse); 이어서 미리 결정된 날짜/시간 기간 동안 어떤 PatternID가 이 GroupId에 대해 유효한지 조사하고; 이어서 이 특정한 날짜/시간 기간 (이 예에서 날짜) 에 대해 어떤 보안 코드가 할당되는지 조사함으로써 특정한 SCRP에 대해 어떤 보안 코드가 유효한지 결정될 수 있다. GroupId 및 날짜 조합은 GroupId 각각에 대해 PatternID 할당이 회전하는 방법에 무관하게, 항상 동일한 보안 코드 (날짜/시간 기간 변화의 짧은 지속 기간 동안 2 개의 코드들) 를 렌더링한다. 따라서, 동일한 GroupId 할당을 공유하는 2 개의 SCRP들은 또한 매일 동일한 보안 코드를 공유하는 것이 보증된다.Figure 3h illustrates an example of how SCRPs and groups to which SCRPs are allocated to represent the present invention may be represented in tabular form and stored in a database. Table T1 holds each of the SCRP, the PID of the account (entity) to which the account belongs, and each of the assigned group GroupId (e.g., G1, G2, G3, etc.). Tables T2A, T2B, and T2C are segments of the table that hold which security code pattern PatternID is assigned to each group GroupId of a predetermined date period (i.e., validity period). The date period is indicated by "From date" and "To date" specifying the start date and end date of each valid period of the PatternID. Each PatternID is then shown in Table T3, which assigns a different security code for each of the dates Day1Code, Day2Code, and so on. That is, each date closely traverses these tables to see which Group GroupId, SCRP is assigned; Then examining which Pattern ID is valid for this GroupId during a predetermined date / time period; It can then be determined which security code is valid for a particular SCRP by examining which security code is assigned for this particular date / time period (date in this example). The GroupId and date combination always renders the same security code (two codes for a short duration of date / time period variation), regardless of how the PatternID assignment rotates for each GroupId. Thus, two SCRPs sharing the same GroupId assignment are also guaranteed to share the same security code each day.

도 4는 규칙적으로 대응하는 활성 보안 코드(들)를 등록된 계좌 보유자들에게 제공하는 프로세스 동안 일어나는 단계들을 기술한다.Figure 4 describes the steps that occur during the process of regularly providing the corresponding active security code (s) to the registered account holders.

계좌 보유자의 프로파일과 연관된 현재 활성 보안 코드를 수신하기 위해, 계좌 보유자 (5) 는 보안 코드를 요청할 수 있거나 중앙 애플리케이션 서버 (3) 로부터 구동된 자동 푸시를 통해 보안 코드를 자동으로 수신할 수 있다.In order to receive the current active security code associated with the profile of the account holder, the account holder 5 can request the security code or automatically receive the security code via the automatic push driven from the central application server 3. [

계좌 보유자 (5) 에 의해 코드가 요청되면, 요청 301이 계좌 보유자 (5) 로부터, 예를 들어, 디바이스 설치된 애플리케이션을 통해 또는 적어도 계좌 보유자에 대한 현재 보안 코드를 검색하기 위해 결국 중앙 애플리케이션 서버 (3) 에서 API와 통신하는 웹 애플리케이션을 호출함으로써 (예컨대 지불 프로세서 또는 계좌 보유자의 온라인 뱅킹 웹사이트 페이지로부터의 API 호출), 또는 모바일 발신된 SMS 텍스트 메시지를, 텍스트 메시지들을 중앙 애플리케이션 서버 (3) 로 지향시고 이어서 계좌 보유자 (5) 에게 (현재 보안 코드를 포함하는) SMS 응답을 개시하는 시스템-제공된 SMS 짧은 코드로 전송함으로써, 전송된다.If a code is requested by the account holder 5, the request 301 is eventually sent from the account holder 5, for example via the device installed application, or at least to the central application server 3 (E. G. API calls from payment processor or account holder's online banking web site pages), or mobile originated SMS text messages, by directing text messages to central application server 3 And then sending it to the account holder 5 with a system-provided SMS short code to initiate an SMS response (including the current security code).

계좌 보유자 (5) 로부터의 요청은 계좌 보유자를 식별하는 Profile ID 302, 및 요청이 발신되는 디바이스 또는 애플리케이션을 식별하는 소스 식별자를 포함해야 한다. Profile ID는 계좌 보유자 (5) 와 연관된 등록 프로파일을 고유하게 식별해야 한다. 디바이스의 소스 식별자는 요청을 전송하는데 사용된 모바일 전화 번호 또는 모바일 애플리케이션 식별자, 또는 이 요청을 수행 (즉, 전송) 하는데 사용된 디바이스에 엮인 임의의 다른 ID일 수 있다. 바람직하게, 요청은 요청의 승인을 유효하게 하기 위해 소스 식별자 (Source ID) 및 Profile ID를 포함한다.The request from account holder 5 must include a Profile ID 302 identifying the account holder and a source identifier identifying the device or application from which the request originated. The Profile ID must uniquely identify the registration profile associated with the account holder (5). The source identifier of the device may be a mobile telephone number or mobile application identifier used to send the request, or any other ID associated with the device used to perform (i.e., transmit) the request. Preferably, the request includes a Source ID and a Profile ID to validate the request.

계좌 보유자 프로파일을 찾기 위해 (단계 303), 중앙 애플리케이션 서버 (3) 는 계좌 보유자 프로파일을 조사하도록 (단계 304) 중앙 데이터베이스 서버 (1) 의 프로세스를 호출한다. 인증 보안을 최대화하기 위해, 프로세스는 먼저 등록된 사용자 또는 계좌 보유자와 연관되는 것으로 공지된 인증된 디바이스/입력 소스로서 Source ID를 검증한다. 수신된 Source ID를 사용하여 계좌 보유자 프로파일이 305에서 발견되고, 요청 내에 계좌 보유자에 의해 표시된 Profile ID는 식별된 계좌 보유자 프로파일에 대해 유효하면 (단계 306), 중앙 애플리케이션 서버 (3) 는 보안 코드 요청을 충족시키도록 진행한다 (단계 307). 그렇지 않으면, Profile ID가 식별된 계좌 보유자 프로파일과 매칭하지 않으면, 통지 서브프로세스 (800) 는 무효 보안 코드 요청이 수신되었다고 계좌 보유자에게 통지하도록 사용된다. 서브프로세스 (800) 는 SMS 메시지, 또는 이메일 메시지와 같은 계좌 보유자 프로파일에 명시된 하나 이상의 통지 우선도들을 사용할 수 있다.To find the account holder profile (step 303), the central application server 3 invokes the process of the central database server 1 to examine the account holder profile (step 304). To maximize authentication security, the process first verifies the Source ID as an authenticated device / input source that is known to be associated with a registered user or account holder. If the account holder profile is found at 305 using the received Source ID and the Profile ID indicated by the account holder in the request is valid for the identified account holder profile (step 306), the central application server 3 sends a security code request (Step 307). Otherwise, if the Profile ID does not match the identified account holder profile, the notification subprocess 800 is used to notify the account holder that an invalid security code request has been received. The sub-process 800 may use one or more notification priorities specified in the account holder profile, such as an SMS message or an e-mail message.

계좌 보유자 (5) 는 교번적으로 시스템으로부터 수신된 통지에 대해 응답 또는 현재 보안 코드를 갱신하거나 대체하기 위한 요청 (예를 들어, 의심스러운 사기성 액티비티의 경우) 을 개시할 수 있다. 이 경우, 중앙 데이터베이스 서버 (1) 는 대응하는 계좌 보유자의 등록 프로파일에 상이한 패턴 ID (104) 를 할당하고, 이 업데이트를 모든 참여하는 지불 프로세서들에 푸시한다. 그 후 계좌 보유자는 새로운 패턴 ID (및, 사실상, 새로운 근본적인 매트릭스) 와 연관된 새로운 현재 보안 코드를 통지 받는다 (단계 800).The account holder 5 may alternatively initiate a response to the notification received from the system or a request to update or replace the current security code (e.g. in the case of a suspicious fraudulent activity). In this case, the central database server 1 assigns a different pattern ID 104 to the corresponding account holder's registration profile, and pushes this update to all participating payment processors. The account holder is then notified of the new current security code associated with the new pattern ID (and, indeed, the new fundamental matrix) (step 800).

현재 보안 코드의 자동화된 주기적인 "푸시"를 위해, 요청 (312) 은 업데이트된 보안 코드 통지가 제공되기 적합한 중앙 데이터베이스 서버 (1) 의 복수의 계좌 보유자들 (5) 을 조사하기 위해 자동으로 전송된다 (단계 313). 이들 업데이트들의 빈도는 업데이트들이 전송되는 날짜일 수 있기 때문에, 계좌 보유자들에 의해 선택될 수 있다. 일단 자동 업데이트들을 필요로 하는 계좌 보유자들의 그룹이 확립되면, 서브프로세스 (도 4에서 "계좌 보유자 각각에 대해"로 라벨링됨) 가 계좌 보유자들 각각에게 현재 보안 코드를 통지하도록 실행된다.For an automated, periodic "push" of the current security code, the request 312 is automatically transmitted to inspect a plurality of account holders 5 of the central database server 1, (Step 313). The frequency of these updates may be selected by account holders, since they may be the date that updates are sent. Once a group of account holders requiring automatic updates is established, a subprocess (labeled as " for each account holder "in FIG. 4) is executed to notify each account holder of the current security code.

계좌 보유자에게 통지 또는 경보를 전송하기 위해 (상기의 어떤 경우든), 중앙 애플리케이션 서버 (3) 는 미리 결정된 계좌 보유자의 보안 코드를 조사하기 위한 요청 307을 개시한다 (단계 308). 계좌 보유자의 등록 Profile ID로부터, 대응하는 패턴 ID가 검색되고, 현재 유효 기간 (예를 들어, 현재 날짜) 에 대해 이 패턴 ID에 대응하는 보안 코드가 일시적으로 공지된 랜덤 패턴 매트릭스 또는 표로부터 풀링된다. 이어서 계좌 보유자 (5) 는 현재 보안 코드를 통지받는다 (800).In order to send a notification or an alert to the account holder (in any of the above cases), the central application server 3 initiates a request 307 for checking the security code of the predetermined account holder (step 308). The corresponding pattern ID is retrieved from the registered Profile ID of the account holder and the security code corresponding to this pattern ID is pooled from the temporarily known random pattern matrix or table for the current validity period (for example, the current date) . The account holder 5 is then notified of the current security code (800).

이러한 현재 보안 코드의 통지는 단순히 웹 또는 데스크 탑 또는 모바일 애플리케이션 요청 또는 계좌 보유자의 디바이스에 설치된 웹 브라우저 플러그인 애플리케이션을 리턴할 수 있다. 보안 코드는 또한 계좌 보유자의 이전에 확립된 통지 우선도들에 기초하여, 예를 들어, 계좌 보유자에 대해 등록되고 유효화된 모바일 전화 번호로의 SMS 텍스트 메시지, 또는 이메일 메시지, 또는 모바일 애플리케이션 푸시 통지를 통해 전달될 수 있다.This notification of the current security code may simply return a Web browser or plug-in application installed on the desktop or mobile application request or account holder's device. The security code may also include an SMS text message, or an email message, or a mobile application push notification to the mobile phone number registered and validated for the account holder, for example, based on previously established notification priorities of the account holder Lt; / RTI &gt;

본 발명의 변형에서, 새로운 보안 코드를 사용자에게 제공하는 프로세스는 사용자가 사실상 완전히 새로운 보안 코드들의 세트와 연관되도록 패턴 ID를 주기적으로 변화시키는 것 (즉, 미리 결정된 보안 코드들의 세트 내 보안 코드를 업데이트를 업데이트하기만 하는 것이 아니라) 을 부가적으로 통합할 수 있다. 예를 들어, 주기적인 기준으로 (예를 들어, 7 일마다), 서브프로세스 (본 명세서에 예시되지 않음) 가 사용될 수 있고, 새로운 패턴 ID를 모든 사용자에게 규칙적으로 재할당한다. 예를 들어, 패턴 ID들이 숫자이면, (가능하지만 필수적이지는 않은 HSM (2) 에서 사용된 것과 동일한) RNG는 사용자에게 재할당될 패턴 ID들의 가용한 범위 내 랜덤한 새로운 패턴 ID를 생성하도록 사용될 수 있다.In a variation of the present invention, the process of providing the new security code to the user may be performed by periodically changing the pattern ID so that the user is in fact associated with a completely new set of security codes (i.e., updating the security code in the set of predetermined security codes Rather than simply updating the data). For example, on a periodic basis (e.g., every 7 days), a sub-process (not illustrated herein) may be used and the new pattern ID is regularly reassigned to all users. For example, if the pattern IDs are numbers, the RNG (which is the same as that used in the HSM (2), which is possible but not necessary) will be used to generate a random new pattern ID within the available range of pattern IDs to be reassigned to the user .

패턴 ID들을 주기적으로 재할당하는 것은 바람직하게 임의의 미리 결정된 사용자와 임의의 미리 결정된 보안 코드의 연관의 랜덤성을 더 상승시키고, 따라서 해킹, 패턴 공제 (deduction), 및 사용자의 보안 코드들을 액세스하고 그리고/또는 미래의 보안 코드들을 예측하기 위한 다른 노력들을 막아내는 것을 돕는다.Periodically reassigning the pattern IDs preferably further increases the randomness of the association of any predetermined security code with any predetermined user and thus hacking, pattern deduction, and accessing the user &apos; s security codes And / or other efforts to predict future security codes.

도 5는 고레벨 판매자 또는 수취인 지불 인터페이스들에 대한 계좌 보유자 (5) 에 의해 이루어진 전자 지불 인증 요청, 예를 들어, 구매 진행을 예시한다. 본 명세서의 주 초점은 도 6에 대해 보다 상세히 나중에 기술되는 거래 인증 서브프로세스 (500) 에 대한 호출이다.Figure 5 illustrates an electronic payment authorization request made by the account holder 5 for high-level merchant or payee payment interfaces, e.g., a purchase progress. The main focus of this disclosure is the call to the transaction authorization sub-process 500, which is described in more detail below with respect to FIG.

구매 또는 전자 지불 거래 요청 등의 개시 시점에, 계좌 보유자 (5) 는 판매자 또는 수취인 (7) 과의 거래를 완료하기 위해 지불 인증 요청을 개시하기 위해 필수적인 정보를 제출한다 (단계 401).At the start of a purchase or electronic payment transaction request, the account holder 5 submits the essential information to initiate the payment authorization request to complete the transaction with the seller or recipient 7 (step 401).

계좌가 계좌 보유자 (5) 의 프로파일과 이전에 연관된 계좌와 관련된다고 가정하면, 계좌 보유자 (5) 는 일반적으로 거래 요청의 일부로서 현재 유효한 보안 코드를 포함한다. 예를 들어, 보안 코드는 지불 카드의 종래의 CVV2 코드의 자리, 또는 CVV와 같은 다른 카드 정보의 자리, 또는 카드 번호와 연쇄하여, 또는 전자 토큰 또는 프록시 번호에 의해 구현된, 또는 본 발명에 따른 보안 코드를 수신하도록 구체적으로 전용된 별도의 필드와 같은 방식으로 제출될 수 있다.Assuming that the account is associated with an account previously associated with the profile of account holder 5, account holder 5 typically includes a security code currently in effect as part of the transaction request. For example, the security code may be stored in a place in the conventional CVV2 code of the payment card, or in place of other card information such as a CVV, or in conjunction with the card number, or implemented by an electronic token or a proxy number, May be submitted in the same manner as a separate field specifically dedicated to receive the security code.

수표 지불을 위해, 본 발명의 보안 코드는 수표의 메모 필드에 명시, 예를 들어, 수표의 메모 필드의 필드 지표를 가질 수 있다. 예를 들어, 본 발명에 따른 4 자릿수 보안 코드는 단어 또는 심볼을 앞에 붙일 수 있다. 양 측면의 미리 결정된 심볼 또는 문자로 제한될 수 있다, 예를 들어 "+4567+"에서 "+".For payment of a check, the security code of the present invention may have a field indicator of the memo field of the check, for example, a check, in the memo field of the check. For example, a 4-digit security code according to the present invention may be prefixed with a word or symbol. May be limited to predetermined symbols or characters on both sides, e.g., "+4567+" to "+".

대안적으로, 보안 코드는 미리 규정된, 일반적으로 용인되고 예상되는 포맷에 따라 연장된 수표 번호를 효과적으로 생성하기 위해, 수표 상에 인쇄된 수표 번호와 연쇄될 수 있다. 예를 들어, 예를 들어, 456의 보안 코드와 함께 사용된, 수표 번호 101은 실제로 통상의 수표 번호 필드에 "101456"으로 인쇄될 수 있다. 수표는 연장된 수표 번호 "101456"을 수신하는 은행에 의해 ACH 파일에서 통상의 방식으로 프로세싱될 것이다.Alternatively, the security code may be concatenated with a check number printed on the check to effectively generate an extended check number according to a predefined, generally accepted and anticipated format. For example, check number 101, which is used with security code 456 for example, may actually be printed as "101456" in the normal check number field. The check will be processed in the ACH file in the usual manner by the bank receiving the extended check number "101456 ".

다른 예들에서, 보안 코드는 입력 필드에 계좌 보유자가 수동으로 기록함으로써 또는 실제 사람에게 구두로, 또는 음성 인식 시스템을 통해 별도로 제공될 수 있다. 그러면 판매자는 ACH 요청 파일 (예를 들어, 부록 또는 입력 상세 필드들) 의 정보를 포함한다.In other examples, the security code may be provided either manually by the account holder in the input field or verbally to the actual person, or separately via the speech recognition system. The seller then includes information of the ACH request file (e.g., appendix or input detail fields).

판매자 또는 수취인 (7) 은 계좌 보유자 (5) 에 의해 제출된 정보를 수신하는 종래의 지불 인터페이스를 갖는다. 계좌 보유자 (5) 가 카드 또는 수표 402를 사용하는지 여부에 따라, 그리고 판매자가 온라인으로 접속되었다면, 시스템은 관련 지불 프로세서 (도 1의 6 참조) 를 통해 전자 지불 인증 요청 405 을 즉시 전송하거나, ACH 이송 요청 403을 스케줄링하고, 형성하고, 나중에 ACH 이송 요청 403을 판매자 또는 수취인 (7) 과 대응하는 지불 프로세서, 수신 은행, 또는 ACH 요청들을 프로세싱하기 위한 다른 금융 기관 사이에 이전에 확립된 채널들을 통해, 관련된 지불 프로세서로 전송한다. 이는 판매자 또는 수취인 (7) 과 프로세서 또는 수신 은행 사이의 지불 게이트웨이 서비스 제공자, 지불 프로세싱 네트워크, 연방 준비 은행 또는 전자 지불 네트워크, 또는 임의의 다른 서비스 또는 서버 중개자를 포함할 수 있다.The seller or recipient 7 has a conventional payment interface for receiving information submitted by the account holder 5. Depending on whether the account holder 5 uses the card or check 402 and if the seller is online, the system immediately sends an electronic payment authorization request 405 via the associated payment processor (see 6 in FIG. 1), or the ACH Scheduling and forming a transfer request 403, and later transferring the ACH transfer request 403 to the seller or recipient 7 via a previously established channel between the corresponding payment processor, receiving bank, or other financial institution for processing ACH requests To the associated payment processor. This may include a payment gateway service provider, a payment processing network, a Federal Reserve or an electronic payment network, or any other service or server intermediary between the seller or recipient 7 and the processor or receiver bank.

이어서 지불 프로세서는, 도 6에 대해 이하에 상세히 기술된, 카드 지불 요청을 수신함으로써 또는 ACH 거래 요청 404의 프로세싱의 일부로서, 거래 인증 서브프로세스 (500) 를 개시한다. 이 서브프로세스 (500) 는 거래 인증 요청을 승인하거나 거절하고 그 결과 406을 판매자 또는 수취인 (7) 의 요구에 적절한 방식으로 단계 407에서 판매자 또는 수취인 (7) 로 다시 전송한다. 판매자 또는 수취인 (7) 은 계좌 보유자 인터페이스 409에서 인증 결과를 계좌 보유자 (5) 에게 통지한다.The payment processor then initiates the transaction authentication sub-process 500, either by receiving a card payment request or as part of the processing of the ACH transaction request 404, described in detail below with respect to FIG. The subprocess 500 acknowledges or rejects the transaction authentication request and sends the result 406 back to the seller or recipient 7 in step 407 in a manner appropriate to the needs of the seller or recipient 7. The seller or beneficiary 7 notifies the account holder 5 of the authentication result at the account holder interface 409. [

도 6은 거래 인증의 서브프로세스 (500) 를 예시한다. 도 5에 따라 카드 또는 수표 지불 프로세스 (400) 가 개시될 때, 지불 프로세서 또는 수신 은행은 502에서 거래 타입 및 계좌가 본 발명에 따른 프로세싱에 적합한지 여부를 결정한다. 지불 프로세서는 거래가 본 발명에 따른 프로세싱에 적합한지 결정하기 위해 필요한 정보를 포함하는 (예를 들어, 지불 프로세서와 연관된 서버들 중 하나, 예컨대 보안 코드 데이터베이스 서버 (4) 또는 데이터베이스 서버 (6) 에 위치된) 데이터베이스 표 또는 구성 파일을 쿼리함으로써, 또는 지불 프로세서의 네트워크 내 또는 도 1에 예시된 중앙 시스템에 리모트로 (상대적으로) 호스팅된 API에 대한 호출을 발행함으로써 이를 수행한다. 적합성은 또한 예를 들어 ISO 8583 필드들 중 하나의 거래 인증 요청 페이로드, 또는 수신된 NACHA ACH 파일에 포함된 특정한 지표들을 검사함으로써 결정될 수 있다.Figure 6 illustrates a sub-process 500 of transaction authorization. When the card or check payment process 400 is initiated according to FIG. 5, the payment processor or receiving bank determines at 502 whether the transaction type and account are eligible for processing according to the present invention. The payment processor may be located in a location (e.g., one of the servers associated with the payment processor, e.g., the security code database server 4 or the database server 6) that contains the information necessary to determine whether the transaction is suitable for processing in accordance with the present invention (Relatively) hosted APIs in the network of the payment processor or in the central system illustrated in FIG. Conformance may also be determined, for example, by examining the transaction authentication request payload of one of the ISO 8583 fields, or specific indicators included in the received NACHA ACH file.

502에서 거래가 본 발명에 따른 프로세싱으로 검정되지 않는다면, 지불 프로세서는 509에서 정상적인 (즉, 종래의, 본 발명의 보안 코드를 사용하지 않는) 인증 승인 프로세스를 계속한다. 그렇지 않으면, 프로세서의 데이터베이스 서버 (6) 는 거래 검증 프로세스를 개시하기 위해 지불 프로세서의 보안 코드 데이터베이스 서버 (4) (프로세서의 네트워크에 국부적일 수 있거나 리모트 위치에) 설치되고 구현된 애플리케이션 또는 프로세스에 대한 호출을 발행한다. 프로세서의 데이터베이스 서버 (6) 는 예를 들어, 리모트 저장된 절차 호출, 또는 연장된 저장된 절차, 또는 지불 프로세서의 보안 코드 데이터베이스 (4) 에 액세스하는 프로세서의 데이터베이스 서버 (6) 에 설치된 어셈블리와 인터페이싱하는 SQLCLR을 발행함으로써 지불 프로세서의 보안 코드 데이터베이스 (4) 와 인터페이싱한다. 대안적으로, 프로세서의 데이터베이스 서버 (6) 는 결국 지불 프로세서의 보안 코드 데이터베이스 (4) 에 액세스하는 로컬 또는 리모트 서비스 또는 API와 통신한다.If the transaction at 502 is not validated with the processing according to the present invention, then the payment processor continues with the authentication approval process at 509 that is normal (i.e., not using the conventional, secure code of the present invention). Otherwise, the database server (6) of the processor may determine whether the security code database server (4) of the payment processor (which may be local to the processor's network or at a remote location) &Lt; / RTI &gt; The database server 6 of the processor may be, for example, a remote stored procedure call, or an extended stored procedure, or a SQLCLR that interfaces with the assembly installed in the database server 6 of the processor accessing the secure code database 4 of the payment processor To the security code database 4 of the payment processor. Alternatively, the database server 6 of the processor eventually communicates with a local or remote service or API accessing the secure code database 4 of the payment processor.

인증 요청의 일부로서 프로세서의 데이터베이스 서버 (6) 로부터 수신된 정보는 문제의 계좌가 지불 프로세서의 보안 코드 데이터베이스 (4) 상에 저장된 활성 계좌 보유자 등록 프로파일과 연관되는지 결정하도록 검사된다. 지불 프로세서의 데이터베이스 서버 (6) 로부터 수신된 거래 데이터는 계좌 보유자 및 사용된 카드 또는 계좌와 연관된 유효 보안 코드를 검색하기 위해 계좌 보유자의 등록 Profile ID 및 대응하는 패턴 ID (104) 를 조사하도록 사용된다. 본 명세서에 기술된 구현예에 따른 일 예에서, 이 거래 데이터는 계좌 보유자 (5) 에 의해 사용된 실제 카드 번호 또는 은행 계좌 번호 (민감한 금융 정보의 유포를 더 제한하기 위해) 대신 계좌 별칭 604 (도 7 참조) 을 포함할 수도 있다. 이러한 의미에서 계좌 별칭은 카드 또는 은행 계좌 번호들의 유포를 최소화하기 위해, 기본적으로 내부 기준에 따라, 지불 프로세서에 의해 사용된 카드 번호 또는 은행 계좌 번호의 표현이다. 계좌 보유자를 알 필요는 없다. 보통, 토큰 또는 프록시 번호가 지불 프로세서에 의해 사용되지만, 본 발명에 따라, (바람직하지 않지만) 카드 번호 또는 은행 계좌 번호 자체가 또는 프로파일 ID 또는 패턴 ID 자체가 사용될 수 있다.The information received from the database server 6 of the processor as part of the authentication request is checked to determine if the account in question is associated with an active account holder registration profile stored on the security code database 4 of the payment processor. The transaction data received from the payment server's database server 6 is used to look up the account holder's registration Profile ID and the corresponding pattern ID 104 to retrieve a valid security code associated with the account holder and the card or account used . In one example according to an embodiment described herein, this transaction data may be an account alias 604 (instead of an actual card number or bank account number used by the account holder 5 to further restrict the dissemination of sensitive financial information) See FIG. 7). In this sense, the account alias is a representation of the card number or bank account number used by the payment processor, basically according to internal criteria, to minimize the spread of the card or bank account numbers. You do not need to know the account holder. Usually, a token or proxy number is used by the payment processor, but in accordance with the invention, a card number or bank account number itself (although not desirable) or a profile ID or pattern ID itself may be used.

일단 거래 인증 요청에 사용되는 계좌가 등록된 것으로 확인되면 (503), 지불 프로세서의 보안 코드 데이터베이스 서버 (4) 는 또한 계좌가 로킹되었는지 (504) 따라서 거래 인증 요청들에 부적합한지를 결정한다. 계좌는 계좌 보유자에 의한 요청시 로킹될 수도 있고, 또는 시스템에 의해 검출된 사기성 액티비티의 사인들에 기초하여 영구적으로 또는 일시적으로, 자동으로 로킹될 수도 있다. 이 검출은 내부 분석 및 알고리즘들, 또는 제 3 자 사기 또는 리스크 관리 규칙 시스템, 또는 상업적으로 가용한 FICO® Falcon Platform과 같은 제 3 자 리스트 관리 서비스로 수행될 수도 있다. 계좌가 지불 프로세서의 보안 코드 데이터베이스 (4) 에서 로킹된 것으로 플래그되면, 보고 및 기록 유지를 위해 무효 거래 시도가 로그될 것이다 (510). 계좌 보유자 (5) 는 또한, 예를 들어 필요하다면 차단 문제를 정정하기 위해, 통지받을 것이다.Once it is determined 503 that the account used for the transaction authentication request has been registered, the security code database server 4 of the payment processor also determines if the account has been locked 504 and thus is not suitable for transaction authentication requests. The account may be locked upon request by the account holder, or may be automatically locked permanently or temporarily, based on the signatures of fraudulent activities detected by the system. This detection may be performed with internal analysis and algorithms, or a third party list management service such as a third party fraud or risk management rule system, or a commercially available FICO (R) Falcon Platform. If the account is flagged as locked in the security code database 4 of the payment processor, an invalid transaction attempt will be logged 510 for reporting and record keeping. The account holder 5 will also be notified, for example, if necessary, to correct the blocking problem.

504에서 계좌가 로킹되는 것으로 플래그되지 않고 (505에서 결정된 바와 같이) 보안 코드가 거래 요청 501에 적절히 포함되면, 지불 프로세서의 보안 코드 데이터베이스 서버 (4) 는 서브프로세스 (600) 에서 수신된 보안 코드를 유효화하도록 진행한다 (이하의 도 7의 논의 참조). 서브프로세스 (600) 가 보안 코드가 유효하다는 지표를 506에서 리턴하면, 거래 상세들을 유효화하기 위한 서브프로세스 (1100) 가 이어진다 (도 12 참조).If the account is not flagged as locked at 504 (as determined at 505) and the security code is properly included in the transaction request 501, then the security code database server 4 of the payment processor may send the security code received at the subprocess 600 Proceed to validate (see discussion of FIG. 7 below). Subprocess 600 returns an indication that the security code is valid at 506, followed by a subprocess 1100 for validating the transaction details (see FIG. 12).

본 명세서에서 505에서 "보안 코드가 제시되었나?" 결정으로 주의가 이동된다. 단계 505에서 (즉, 거래 인증 요청의 일부로서 제출된) 보안 코드가 존재하지 않아도 다른 인자들, 결국 본 발명의 보안 코드의 처리를 포함하지 않는 인증 프로세스 (509에서) 에 기초하여 거래의 상세들을 유효화하도록 프로세스는 여전히 서브프로세스 (1100) 로 바로 분기한다는 것을 주의한다. 이러한 방식으로, 본 발명에 따른 보안 코드가 특정한 거래에 대해 검토되지 않아도, 본 명세서에 개시된 바와 같은 다른 보안 기능들이 여전히 사용될 수 있다.In this specification, 505 "Is the security code presented? The attention shifts to the decision. Although there is no security code in step 505 (i.e., submitted as part of the transaction authentication request), details of the transaction based on other factors, such as the authentication process 509 that does not include the processing of the security code of the present invention Note that the process still branches directly to subprocess 1100 to validate. In this way, other security functions as disclosed herein may still be used, even if the security code according to the present invention is not reviewed for a particular transaction.

유효 거래 상세 서브프로세스 (1100) 가 지불 거래 요청이 유효하다고 결정하면 508, 지불 프로세서의 보안 코드 데이터베이스 서버 (4) 는 지불 프로세서의데이터베이스 서버 (6) 로 성공적으로 리턴되고, 정상적인 코스의 509에서 거래 인증 요청 승인으로 계속된다.If the valid transaction detail sub-process 1100 determines that the payment transaction request is valid 508, the secure code database server 4 of the payment processor is successfully returned to the payment server's database server 6, Continue with the authorization request acknowledgment.

본 발명에 따른 유효 프로세스는 전자 지불 거래 인증 프로세스의 일부일 뿐만 아니라, 본 발명에 따른 유효 프로세스는 지불 프로세서에 의한 최종 거래 인증을 필수적으로 발생시키지 않을 수도 있다.The validation process according to the present invention is not only part of the electronic payment transaction authentication process, but the validation process according to the present invention may not necessarily result in final transaction authorization by the payment processor.

그러나, 유효 거래 상세 서브프로세스 (1100) 에 따라 506에서 보안 코드 유효화가 실패하거나 508에서 거래가 무효한 것으로 간주되면, 무효 거래 시도는 보고 및 기록 유지를 위해 509에 로그되고, 정정 액션이 적절히 취해질 수 있도록 계좌 보유자에게 통지된다. 계좌 보유자의 검증된 디바이스(들)로 전송된 통지는 정확한 보안 코드를 사용하여 다시 시도할 수 있도록 계좌 보유자에 의해 합법적으로 시도되는 경우 유효 보안 코드를 포함할 수 있다. 무효 시도를 계좌 보유자에게 통지하는 것은 또한, 예를 들어, 단순히 로킹 인스트럭션 (900) 으로 수신된 통지에 응답함으로써 문제의 계좌에 대한 임의의 다른 거래 시도들을 신속하고 용이하게 로킹할 가능성을 포함하여, 이 계좌의 사기성 사용을 방지할 액션을 취할 기회를 계좌 보유자 (5) 에게 제공한다. 이 통지 교환은 계좌 보유자의 프로파일 상의 유효화된 등록된 모바일 전화 번호에 대한 SMS 텍스트 메시지를 통해, 또는 계좌 보유자에 의해 소유된 디바이스 상에 설치되고 적절히 등록되고 이전에 유효화된 애플리케이션을 통해 발생할 수 있다.However, if the validation of the security code fails at 506 or the transaction is deemed invalid at 508 according to the valid transaction detail subprocess 1100, the invalidation attempt is logged 509 for reporting and record keeping, and the corrective action can be taken appropriately The account holder is notified. The notification sent to the verified device (s) of the account holder may include a valid security code if legitimately attempted by the account holder to retry using the correct security code. Notifying the account holder of an invalidation attempt may also include the ability to quickly and easily lock in any other transaction attempts to the account in question by, for example, simply responding to notifications received with the locking instructions 900. [ And provides the account holder 5 with an opportunity to take action to prevent the fraudulent use of this account. This notification exchange may occur via an SMS text message for an activated registered mobile phone number on the account holder's profile, or via an application that is installed on the device owned by the account holder and properly registered and previously validated.

지불 프로세서는 509에서 승인 프로세스를 계속하거나 511에서 거래 인증을 거절하도록 권고된 후, 프로세서 데이터베이스 서버 (6) 는 시스템에 레코딩되고 서브프로세스 (700) 에서 더 분석되도록 최종 거래 인증 결과들을 다시 전송할 수도 있다.After the payment processor is advised to continue the authorization process at 509 or to reject the transaction authorization at 511, the processor database server 6 may again send the final transaction authorization results to be recorded in the system and further analyzed in the sub-process 700 .

도 7은 도 6의 거래 인증 서브프로세스 (500) 동안 개시될 때, 보안 코드가 본 발명에 따라 유효화되는 서브프로세스 (600) 를 예시한다. 서브프로세스 (600) 는 계좌 보유자 (5) 에 의해 제출된 보안 코드가 유효한지 또는 무효한지 여부를 결정한다.FIG. 7 illustrates a subprocess 600 where the security code is validated in accordance with the present invention when initiated during the transaction authentication subprocess 500 of FIG. The sub-process 600 determines whether the security code submitted by the account holder 5 is valid or invalid.

지불 프로세서의 보안 코드 데이터베이스 서버 (4) 는 거래 인증 요청 (500) 의 일부로서 계좌 보유자 (5) 에 의해 제출된, 601에서 수신된 보안 코드 유효화 요청을 수신한다. 보안 코드 (601) 는 603에서 해시된 수신된 보안 코드를 획득하기 위해, 산업적으로 용인된 SHA (Secure Hash Algorithm), 예컨대 SHA-512를 사용하여 602에서 해시된다. 보다 구체적으로, 수신된 보안 코드 (601) 는 매트릭스가 원래 생성될 때 매트릭스 내 보안 코드들을 해시하도록 사용된 해시 솔트와 매칭하는 동일한 지불 프로세서-특정 해시 솔트 (111) 를 사용하여 해시되어, 지불 프로세서에서 유지될 때 해시 솔트 (111) 가 매트릭스가 생성될 때 매트릭스 내 보안 코드들이 해시되는 해시 알고리즘을 미러링하기 위해 사용된다.The security code database server 4 of the payment processor receives the security code validation request received at 601 submitted by the account holder 5 as part of the transaction authorization request 500. Security code 601 is hashed at 602 using an industrially accepted Secure Hash Algorithm (SHA), e.g., SHA-512, to obtain the received security code hashed at 603. More specifically, the received security code 601 is hashed using the same payload processor-specific hash salt 111 that matches the hash salt used to hash the security codes in the matrix when the matrix was originally created, The hash salt 111 is used to mirror the hash algorithm in which the security codes in the matrix are hashed when the matrix is created.

지불 계좌가 유효화될 거래와 연관된다는 것을 나타내는 계좌 별칭 (604) 을 사용하여, 보안 코드 데이터베이스 서버 (4) 는 단계 605에서 대응하는 패턴 ID를 조사한다. 패턴 ID (606) 는 단계 609에서 발견된 패턴 ID (606) 에 대응하는 해시된 값을 조사하기 위해 프로세서의 보안 코드 데이터베이스 서버 (4) 에 저장된 해시된 매트릭스의 국부적으로 저장된 버전에 대해 검색하도록 사용된다. 패턴 ID 606에 대응하는 보안 코드들의 그룹의 정확한 보안 코드는 각각의 보안 코드가 갱신되어야 할 때 (즉, 미리 결정된 보안 코드의 유효성이 만료될 때 후속하는 보안 코드로) 를 결정하는, 계좌 보유자에 의해 선택된 저장된 컷-오프 시간 608과 함께 지불 거래의 날짜 및 시간 607을 활용함으로써 결정된다. 이 조사 동작 609의 결과는 수신된 계좌 별칭 (604) 과 연관된 현재 보안 코드의 해시된 기준 버전 (610) 을 획득한다. 이 해시된 값은 단계 611에서 공지된 방식으로 제출된 해시된 보안 코드의 버전 603과 비교된다.Using the account alias 604 indicating that the payment account is associated with the transaction to be validated, the security code database server 4 examines the corresponding pattern ID in step 605. The pattern ID 606 is used to retrieve a locally stored version of the hashed matrix stored in the security code database server 4 of the processor to inspect the hashed value corresponding to the pattern ID 606 found in step 609 do. The correct security code of the group of security codes corresponding to the pattern ID 606 is stored in the account holder, which determines when each security code is to be updated (i.e., with a subsequent security code when the validity of the predetermined security code expires) And the date and time 607 of the payment transaction with the stored cut-off time 608 selected by the user. The result of this lookup operation 609 obtains a hashed reference version 610 of the current security code associated with the received account alias 604. This hashed value is compared with version 603 of the hashed security code submitted in a known manner at step 611.

제출된 보안 코드와 (매트릭스에) 저장된 보안 코드가 해시되는 동안, 제출된 보안 코드와 (매트릭스에) 저장된 보안 코드 사이의 인증 비교가 이루어진다는 것을 주의해야 한다. 즉, 각각의 지불 프로세서에 의해 유지될 때, 매트릭스의 보안 코드들은 항상 해시된 (즉, 모호한) 형태로 유지된다. 더욱이, 해시는 "일방향"이다 ― 명확한 형태로 근원적인 정보를 획득하기 위해 반전될 수 없다―. 이에 따라, 보안 코드들은, 지불 프로세서의 보안 코드 데이터베이스가 해킹되거나 그렇지 않으면 침투되어도, 보안 코드들의 매트릭스의 해시된 버전만이 각각의 지불 프로세서들에 대해 국부적으로 위치되기 때문에 더 보호된다. 이러한 방식의 해시는 고객 보안 코드들에 액세스할 수도 있는 정직하지 않은 지불 프로세서 고용인들 또는 다른 "내부의 (in house)" 개인의 잠재적인 문제를 해결하는 것을 돕는다.It should be noted that while the submitted security code and the stored security code (in the matrix) are hashed, a comparison of the authentication between the submitted security code and the stored security code (in the matrix) is made. That is, when held by each payment processor, the security codes of the matrix are always kept in a hashed (i.e., ambiguous) form. Moreover, the hash is "one-way" - it can not be reversed to obtain the underlying information in a definite form. Thus, the security codes are further protected because only the hashed version of the matrix of security codes is locally located for each payment processor, even if the security code database of the payment processor is hacked or otherwise penetrated. This type of hash helps to solve the potential problems of dishonest payment processor employees or other "in house" individuals who may have access to customer security codes.

ACH 또는 수표 거래를 인증하기 위해, (예를 들어, 수표의) 날짜뿐만 아니라, 시간이 인증 요청에 명시될 수도 있다 (메일 지연들 또는 순차적인 프로세싱의 지연들과 같은 인자들을 고려함). 이 경우, 제출된 보안 코드는 컷오프 시간과 무관하게, 날짜 동안 유효한 매트릭스의 모든 보안 코드에 대해 유효화될 것이다. 실제 거래 승인이 수표의 준비 및 제출 후에 발생할 수도 있기 때문에, 프로세싱의 현재 날짜 이전의 1, 7, 30, 또는 아마도 90 일까지의 날짜들에 대한 보안 코드들을 조사해야 할 수도 있다.In order to authenticate an ACH or check transaction, the time may be specified in the authentication request as well as the date (e.g., of the check) (taking into account such factors as mail delays or sequential processing delays). In this case, the submitted security code will be valid for all security codes in the valid matrix for the date, regardless of the cutoff time. Because the actual transaction authorization may occur after the check is prepared and submitted, it may be necessary to inspect the security codes for dates up to 1, 7, 30, or perhaps 90 days prior to the current date of processing.

수신된 해시된 값 (603) 및 해시된 값 (610) 이 국부적인 버전의 지불 프로세서-특정 매트릭스로부터 매칭하면 (단계 612), 프로세스는 제출된 보안 코드가 유효하다는 것을 나타낸다 (613). 그렇지 않으면, 시스템은 614에서 코드가 무효라는 것을 나타낸다.If the received hashed value 603 and hashed value 610 match (step 612) from the local version of the payment processor-specific matrix, the process indicates 613 that the submitted security code is valid. Otherwise, the system indicates that the code is invalid at 614.

도 8은 도 6에 언급된 서브프로세스 (700) 의 단계들 (거래 결과들을 기록하고 분석) 을 예시한다. 이 데이터는, 예를 들어, 지불 프로세서 측에서 수신되고 프로세싱되는 거래 요청과 동시에 또는 거의 동시에 수신될 수 있다. 그렇지 않으면, 이 정보는 주기적으로 생성된 보고서에, 예를 들어 하루의 끝에 축적될 수 있다.FIG. 8 illustrates the steps (recording and analyzing transaction results) of the sub-process 700 referred to in FIG. This data can be received, for example, concurrently with the transaction request being received and processed at the payment processor side, or at substantially the same time. Otherwise, this information can be accumulated in a periodically generated report, for example at the end of the day.

거래 인증 서브프로세스 (500) 가 완료되면, 요청은 701에서 거래 상세들을 기록하기 위해 프로세서의 보안 코드 데이터베이스 서버 (4) 에 의해 이루어질 수도 있다.Once the transaction authentication sub-process 500 is complete, the request may be made by the security code database server 4 of the processor to record transaction details at 701. [

단계 702에서, 거래가 실시간 또는 즉각적인 통지들을 필요로 하거나 그렇지 않으면 검정하는지 여부에 대한 결정이 지불 프로세서의 보안 코드 데이터베이스 서버 (4) 에서 이루어진다. 예시적인 통지는 계좌 보유자 (5) 에 대한 통지가 요구되도록, 무효 보안 코드가 거래시 제출되는지 그렇지 않으면 본 발명에 따른 프로세싱에 적합한지일 수 있다. 그 결과, 중앙 애플리케이션 서버 (3) 에 의해 노출된 API들을 호출함으로써 메시지가 중앙 애플리케이션 서버 (3) 로 포스팅된다.In step 702, a determination is made in the secure code database server 4 of the payment processor whether the transaction requires real-time or immediate notifications or otherwise. An exemplary notification may be such that a notification to the account holder 5 is required, whether the invalid security code is submitted in transaction or otherwise suitable for processing according to the present invention. As a result, a message is posted to the central application server 3 by calling the APIs exposed by the central application server 3.

중앙 애플리케이션 서버 (3) 가 703에서 거래 통지를 수신할 때, 통지가 계좌 보유자 (5) 에게로 전송되어야 하는지 여부에 대한 결정이 단계 704에서 이루어진다. 통지가 요청되면, 계좌 보유자에게 통지하기 위한 서브프로세스 (800) 가 실행된다. (이하의 도 9 참조)When the central application server 3 receives the transaction notification at 703, a determination is made at step 704 whether a notification should be sent to the account holder (5). When a notification is requested, a sub-process 800 for notifying the account holder is executed. (See Fig. 9 below)

거래 사기 분석 705가 또한 종래의 알고리즘들 및 다른 표준 분석들을 사용하여, 선택가능하게 이루어질 수 있다. 사기 분석은 특정한 수 또는 조건들의 세트가 만족된다면 사기를 나타내도록 설계된 내부 규칙들의 세트로 구성될 수도 있고, 또는 분석이 외부 제 3 자 사기 또는 리스크 관리 서비스 (본 명세서에서 미도시) 로 통과될 수도 있다. 선택가능하게, 근원적인 계좌를 자동으로 로킹하거나 관련된 현재 보안 코드를 무효화하는 것을 포함하여, 문제의 지불 방법을 보장하기 위한 액션이 취해질 수도 있다.The transaction fraud analysis 705 can also be made selectable, using conventional algorithms and other standard analyzes. The fraud analysis may consist of a set of internal rules designed to represent fraud if a particular number or set of conditions is satisfied, or the analysis may be passed to an external third party fraud or risk management service (not shown here) have. Optionally, an action may be taken to ensure the payment method in question, including automatically locking the underlying account or invalidating the associated current security code.

단계 704와 유사하게, 단계 706은 계좌 보유자가 사기 분석 결과들에 대해 통지 받아야 하는지 여부를 고찰하고, 그렇다면, 사기 통지 서브프로세스 (707) 가 이어진다. 서브프로세스 (707) 는 본 명세서에 상세히 설명되지 않지만, 일반적으로 (이하에 기술된) 통지 서브프로세스 (800) 가 아니라 특정한 메시지 페이로드들과 유사하다.Similar to step 704, step 706 considers whether the account holder should be informed of the fraud analysis results, and if so, a fraud notification sub-process 707 follows. Sub-process 707 is not described in detail herein, but is generally similar to specific message payloads, rather than notification sub-process 800 (described below).

702에서 중간 또는 실시간 통지들에 대한 거래가 마킹되지 않는다면, 708에서 거래는 나중에 709에서, 배치 (batch) 프로세스, 등의 중앙 애플리케이션 서버 (3) 로 전송될 보고서에 포함되도록 마킹되거나 스케줄링된다. 이는 통상적으로 마지막 배치 파일이 생성된 후 수신된 새로운 상세들의 델타들을 갖는 배치 파일을 나타낸다. 이어서 중앙 애플리케이션 서버 (3) 는 지불 프로세서의 보안 코드 데이터베이스 (4) 로부터 수신된 배치 파일들을 프로세싱하고, 저장을 위해 단계 711에서 중앙 데이터베이스 (1) 로 전송한다. 수신된 거래 상세들은 미래의 리뷰, 기록 유지, 및 분석을 위해, 예를 들어, 기업 정보 수집 프로세스들 (business intelligence processes), 보고, 또는 청구를 위해 단계 712에서 기록된다.If the transaction for intermediate or real time notifications is not marked at 702, then at 708 the transaction is marked or scheduled to be included in a report to be sent to the central application server 3 at a later time, such as at 709, a batch process. This typically represents a batch file with deltas of new details received after the last batch file was created. The central application server 3 then processes the batch files received from the security code database 4 of the payment processor and transfers them to the central database 1 in step 711 for storage. The transaction details received are recorded at step 712 for future review, recordkeeping, and analysis, for example, business intelligence processes, reporting, or billing.

도 9는 계좌 보유자 (5) 에게 통지들을 전송하기 위한 서브프로세스 (800) 의 단계들을 예시한다. 서브프로세스 (800) 는 예를 들어, 다른 것들 중에서 도 3, 도 4, 및 도 8을 참조하여 본 명세서에 언급된다.9 illustrates the steps of sub-process 800 for sending notifications to account holder 5. Subprocess 800 is referred to herein, for example, among others, with reference to Figures 3, 4, and 8.

통지가 계좌 보유자 (5) 에게 푸시될 때, 801에서 요청은 메시지 페이로드 (즉, 통지를 요구하는 (802) 구체적인 상세들 또는 정보) 와 함께 중앙 애플리케이션 서버 (3) 로 전송된다. 예를 들어, 보안 코드가 계좌 보유자 (5) 로의 통지에 푸시될 때, 요청 801은 보안 코드, 계좌 보유자 (5) 를 식별하는 정보, 및 가능한 정보 또는 전송될 통지의 종류의 지표를 포함한다.When a notification is pushed to account holder 5, at 801 the request is sent to central application server 3 with a message payload (i.e., specific details or information 802 requesting notification). For example, when the security code is pushed to the notification to the account holder 5, the request 801 includes the security code, the information identifying the account holder 5, and the possible information or indicator of the type of notification to be sent.

중앙 애플리케이션 서버 (3) 는 803에서 (804에서) 계좌 보유자의 통지 전달 우선도들을 조사하기 위해 중앙 데이터베이스 (1) 와 통신한다. 선택된 바람직한 통지 전달 방법들 805의 리스트는, 예를 들어, 이메일 (또는 특정한 통지 저장소), SMS, 앱을 통한 푸시 통지, 페이저 메시지, 등 중 하나 이상을 포함할 수 있다.The central application server 3 communicates with the central database 1 at 803 (at 804) to examine the account holder's notification delivery priorities. The list of selected preferred notification delivery methods 805 may include, for example, one or more of an email (or a particular notification repository), an SMS, a push notification via an app, a pager message,

선택가능하게, 통지 템플릿은 목표된 방식으로 통지를 포맷할 수 있도록, 806에서 중앙 애플리케이션 서버 (3) 에 의해 요청될 수 있다. 적용가능하다면, 템플릿 정보는, 가능하면 이전에 명시된 계좌 보유자 우선도에 기초하여, 807 및 808에서 중앙 데이터베이스 (1) 상의 계좌 보유자 (5) 에 대해 조사될 수 있다.Optionally, the notification template can be requested by the central application server 3 at 806 to format the notification in the desired manner. If applicable, the template information may be probed against the account holder 5 on the central database 1 at 807 and 808, possibly based on the account holder priorities specified previously.

이러한 의미의, 예를 들어, 현재 보안 코드를 송신하기 위한, 통지 템플릿은 "{이름}씨, 당신의 오늘 보안 코드는 {보안-코드}입니다"일 수 있다. 통지의 가변 콘텐트 (예컨대 나타낸 바와 같이, 계좌 보유자의 이름) 는 예를 들어, 상기 논의된 통지 상세들 802로부터 풀링될 수 있고 단계 809에서 필요에 따라 템플릿 내로 치환된다. 치환 단계 809는 "Maddy씨, 당신의 오늘 보안 코드는 364입니다"와 같은 실제 메시지 콘텐트 810을 생성하고, 이는 예를 들어 목표된 통신 방법(들) (이메일 813, SMS 815, 또는 앱 푸시 통지 817) 을 통해 단계 811에서 계좌 보유자 (5) 에게 전송된다. 템플릿을 포함하는 통지들은 몇몇 언어들 중 하나일 수도 있고, (예를 들어, 영어 외의) 다른 문자 세트들의 사용이 고려된다.In this sense, for example, the notification template for sending the current security code may be "{name}, your security code today is {security-code}". The variable content of the notification (e.g., the account holder's name, as indicated) may be pooled from, for example, the notification details 802 discussed above and substituted into the template as needed at step 809. The replacement step 809 generates the actual message content 810, such as "Maddy, your security code today is 364 &quot;, which may for example be the target communication method (s) (e-mail 813, SMS 815, To the account holder 5 in step 811. [ The notifications containing the template may be one of several languages, and the use of other character sets (e.g., other than English) is considered.

도 10은 본 발명에 따라 등록된 지불 계좌들을 선택적으로 로킹하거나 언로킹하는 서브프로세스 (900) 를 예시한다. 이러한 맥락에서 "로킹된" 또는 "언로킹된"의 언급은 본 발명에 따라 사용될 계좌의 현재 능력 (또는 무능) 을 제어하는 것을 뜻하는 것을 의미한다.Figure 10 illustrates a subprocess 900 for selectively locking or unlocking registered payment accounts in accordance with the present invention. The term "locked" or "unlocked " in this context means to control the current capability (or disability) of the account to be used in accordance with the present invention.

서브프로세스 (900) 는 계좌 보유자 (5) 로 하여금 복수의 협회들에 의해 발행되고 단일 애플리케이션 또는 서비스와 인터페이싱함으로써 복수의 지불 프로세서들 또는 수신 은행들에 의해 핸들링된 복수의 계좌들을 관리하게 한다. 일 예에서, 계좌 보유자는 계좌들의 하나 이상의 의심스러운 사기성 사용이 있는지, 또는 연관된 지불 카드 또는 수표 책이 분실되었는지, 또는 심지어 계좌(들)에 대한 미성년자 (minor) 의 액세스의 부모의 제어의 맥락에서, 자신의 하나 이상의 계좌들을 조사하기 원할 수도 있다.The sub-process 900 allows the account holder 5 to manage a plurality of accounts handled by a plurality of payment processors or receiving banks by issuing by a plurality of associations and interfacing with a single application or service. In one example, the account holder may be able to determine whether there is more than one suspicious deceptive use of the accounts, or if the associated payment card or checkbook is lost, or even in the context of control of the parent of minor access to the account (s) , You may want to investigate one or more of your accounts.

계좌 보유자 (5) 가 자신의 등록된 계좌들 중 하나 이상을 로킹 (또는 언로킹) 하기로 901에서 결정하면, 계좌 보유자 (5) 는 예를 들어, 계좌 보유자의 등록 프로파일와 연관된 Profile ID (902), 문제의 계좌(들)의 ID (903), 및 선택가능하게 요청이 개시된 디바이스의 ID (예를 들어, 계좌 보유자 (5) 에 의해 사용된 스마트폰의 모바일 전화 번호) 로 구성된 요청을 전송한다. 요청은 중앙 애플리케이션 서버 (3) 로 전송되고 904에서 유효화된다. 일단 요청이 유효화되면, 계좌 보유자 프로파일은 중앙 데이터베이스 (1) 을 조사한다 (단계 905).If the account holder 5 decides at 901 to lock (or unlock) one or more of his or her registered accounts, the account holder 5 may, for example, register the profile ID 902 associated with the account holder's registration profile, An ID 903 of the account (s) in question, and an ID of the device from which the request is initiated, optionally (e.g., the mobile phone number of the smartphone used by account holder 5) . The request is sent to the central application server 3 and validated at 904. Once the request is validated, the account holder profile examines the central database 1 (step 905).

본 발명에 따라 계좌 ID (identification) ("계좌 ID") 는 일반적으로 계좌 보유자의 관련된 계좌 각각에 대응하는 표현을 기억하기 간단하고 쉽고, 본 발명에 따른 거래들을 위해 계좌 보유자가 자신의 프로파일 내 다양한 계좌들 간을 구별하는 것을 돕는데 사용된다. 계좌 ID는 계좌 보유자 (5) 에 의해 미리 결정된 숫자 또는 문자 숫자 단어 또는 구일 수도 있다. 예를 들어, 계좌 ID는 예를 들어, 계좌 보유자의 프로파일 내 "Visa Card 4572" 또는 "BofA 은행 계좌 1721"을 식별하기 위한 순차적인 번호, 또는 문자, 또는 문자들과 숫자들의 조합일 수 있다. 이 계좌 ID는 또한 예를 들어 카드 번호 또는 은행 계좌 번호의 일부일 수 있다. 계좌 ID는 또한 계좌 보유자의 프로파일 하의 모든 계좌들이 로킹/언로킹되는 단축 지표로서 키워드 또는 숫자, 예를 들어 "ALL"일 수 있다.In accordance with the present invention, account identification ("account ID") is generally simple and easy to remember for each corresponding account of an account holder, and allows account holders to make various It is used to help distinguish between accounts. The account ID may be a predetermined numeric or alphanumeric word or phrase predetermined by the account holder 5. [ For example, the account ID may be a sequential number, or a letter, or a combination of letters and numbers, for example, to identify "Visa Card 4572" or "BofA bank account 1721" The account ID may also be part of a card number or bank account number, for example. The account ID may also be a keyword or number, for example "ALL ", as a shortened indicator that all accounts under the profile of the account holder are locked / unlocked.

일단 계좌 보유자 프로파일이 위치되고 계좌들이 유효한 것으로 표시되면 (906에서), 문제의 계좌 각각의 로킹/언로킹된 상태를 변화/업데이트하기 위한 반복적인 프로세스가 있다 (도 10에서 "계좌 각각에 대해"로 나타낸 단계들의 그룹).Once the account holder profile is located and the accounts are marked valid (at 906), there is an iterative process for changing / updating the locked / unlocked state of each account in question (see "for each account" Lt; / RTI &gt;

로킹/언로킹되는 계좌 각각에 대해, 중앙 애플리케이션 서버 (3) 는 계좌 보유자 (5) 에 의해 요청된 바와 같이 중앙 데이터베이스 (1) 의 계좌의 상태를 로킹 또는 언로킹 (908) 으로 변화시키기 위한 프로세스를 907에서 시작한다. 이어서 중앙 애플리케이션 서버 (3) 가 909에서 지불 프로세서 또는 다른 관련된 금융 기관을 호출하고, 중앙 데이터베이스 (1) 에서 검사 (910) 에 대응한다. 일단 관련된 지불 프로세서 911이 위치되면, 중앙 애플리케이션 서버 (3) 는 지불 프로세서의 보안 코드 데이터베이스 서버 (4) 로 하여금 계좌의 상태를 업데이트하게 하는 업데이트 요청을 전송하고 913에서 수행된다.For each account that is locked / unlocked, the central application server 3 sends a process for changing the state of the account of the central database 1 to locked or unlocked 908 as requested by the account holder 5 &Lt; / RTI &gt; The central application server 3 then calls the payment processor or other relevant financial institution at 909 and corresponds to the test 910 in the central database 1. Once the associated payment processor 911 is located, the central application server 3 sends an update request to the security code database server 4 of the payment processor to update the status of the account and is performed at 913.

계좌 보유자 통지 서브프로세스 (800) 를 사용하여, 계좌 보유자 (5) 는 요청된 로킹/언로킹 동작의 결과들을 통지 받고, 계좌 보유자 (5) 는 확인 (914) 를 수신한다.Using the account holder notification sub-process 800, the account holder 5 is informed of the results of the requested locking / unlocking operation and the account holder 5 receives the confirmation (914).

계좌(들)를 로킹하기 위한 요청들은, 특정한 조건 예컨대 고정된 시간 기간 동안 한동안 로킹과 같이, 설정된 시간 기간으로 주기적으로 로킹되거나 하루 동안 특정하게 로킹되는 것을 겪을 수 있다. 예를 들어, 계좌 보유자 (5) 는 계좌가 로킹될 것을 요청할 수도 있고, 주중 7:00 pm 내지 9:00 pm 동안, 그리고/또는 2016년 3월 29일 내지 2016년 4월 5일 동안, 모든 연관된 거래가 승인되는 것을 방지한다. 일부 경우들에서, 특정한 날짜에 이루어진 은행 검사의 경우에서와 같이, (시간 단위가 아니라) 날짜 단위 시간 기간들만을 특정하는 것이 가능할 수도 있다.Requests to lock the account (s) may suffer from being periodically locked to a set time period or specifically locked for a day, such as locking for a certain period of time, e.g., for a fixed time period. For example, the account holder 5 may request that the account be locked, for 7:00 pm to 9:00 pm on weekdays, and / or for all of April 29, 2016 to April 5, Thereby preventing the associated transaction from being approved. In some cases it may be possible to specify only date unit time periods (as opposed to time units), such as in the case of a bank check on a particular date.

조건들은 또한 예를 들어, 특정한 판매자들, 판매자 타입들 (예를 들어, 영화관은 아님), 또는 지리적 영역들에 적용될 수 있다.Conditions may also be applied, for example, to specific sellers, seller types (e.g., not cinemas), or geographic areas.

도 11은 도 10의 서브프로세스 (900) 와 다소 유사한 지불 프로세서들 및 관련된 금융 기관들로 전송된 통지들에 대한 서브프로세스 (1000) 의 단계들을 예시한다.FIG. 11 illustrates the steps of a subprocess 1000 for notifications sent to associated financial institutions and payment processors that are somewhat similar to the subprocess 900 of FIG.

계좌들을 로킹 또는 언로킹하기 위한 요청들을 넘어, 계좌 보유자 (5) 는 예를 들어, 대응하는 지불 카드가 분실 또는 도난되었다는 것을 관련된 지불 프로세서들 중 하나에 통지하거나 계좌 보유자 (5) 가 해외 여행 계획을 가지고 있다는 것을 미리 알리기 (이에 따라 사기 분석들이 조정될 수 있도록) 원할 수도 있다. 또 다른 예에서, 계좌 보유자 (5) 는 예를 들어, 당좌 계좌에 대해 새로운 수표북 또는 카드가 손상되었다면 대체 지불 카드에 대한 요청을 전달하기 원할 수도 있다.Beyond requests for locking or unlocking accounts, the account holder 5 may, for example, notify one of the associated payment processors that the corresponding payment card has been lost or stolen, (Thus allowing fraud analysis to be adjusted). In another example, the account holder 5 may wish to convey a request for an alternative payment card, for example, if a new checkbook or card for the checking account has been compromised.

계좌 보유자 (5) 가 문제의 계좌들에 대한 Profile ID (1002) 및 하나 이상의 계좌 ID들 (1003) 과 함께 요청 또는 다른 통신을 제출할 때 (1001), 서브프로세스 (1000) 가 개시된다. 중앙 애플리케이션 서버 (3) 는 1003에서 요청 (1001) 을 프로세싱하고, (사용자 및 계좌 ID들을 사용하여) 1004에서 요청을 유효화한다. 일단 유효화되면, 계좌 보유자 프로파일은 1005에서 중앙 데이터베이스 (1) 를 조사한다.The sub-process 1000 is initiated when the account holder 5 submits a request or other communication 1001 with a Profile ID 1002 and one or more account IDs 1003 for the accounts in question. The central application server 3 processes the request 1001 at 1003 and validates the request at 1004 (using user and account IDs). Once validated, the account holder profile looks at the central database 1 at 1005.

통지 요청 (1001) 가 1006에서 유효화될 때, 프로세스는 요청된 (중앙 애플리케이션 서버 (3), 중앙 데이터베이스 (1), 및 지불 프로세서의 데이터베이스 서버 (6) 에 걸친 단계들의 그룹으로 나타낸 바와 같이, 그리고 "계좌 각각에 대해"로 라벨링됨) 상태 또는 우선도들을 업데이트하거나 스케줄링하도록 식별된 계좌 각각을 통해 반복된다. 계좌 ID는 시스템으로 하여금 계좌 보유자의 프로파일의 계좌들을 식별하게 하도록 계좌 보유자 (5) 에 의해 미리 결정된 숫자 또는 문자 숫자 단어 또는 구일 수 있다. 도 10에서 상기 논의된 바와 같은 계좌 ID를 구성하는 동일한 고려사항들이 여기에 적용된다.When the notification request 1001 is validated at 1006, the process begins as indicated by a group of steps over the requested (central application server 3, central database 1, and payment processor database server 6), and Quot; for each "account") state or priorities. The account ID may be a predetermined numeric or alphanumeric word or phrase determined by the account holder 5 to allow the system to identify accounts of the account holder's profile. The same considerations that make up the account ID as discussed above in FIG. 10 apply here.

식별된 계좌 각각에 대해, 중앙 애플리케이션 서버 (3) 는 단계 1007에서 계좌 보유자 (5) 에 의해 요청된 방식으로 계좌의 상태를 변화시키도록 (단계 1008) 중앙 데이터베이스 (1) 에서 프로세스를 작동시킨다 (invoke). 단계 1009에서, 중앙 애플리케이션 서버 (3) 는 문제의 계좌에 대응하는 지불 프로세서 또는 은행에 요청하고, 이는 관련된 지불 프로세서 (1011) 를 획득하기 위해 중앙 데이터베이스 (1) 에서의 조사 단계 (1010) 에 대응한다. 일단 문제의 계좌에 대한 관련된 지불 프로세서 (1011) 가 식별되면, 중앙 애플리케이션 서버 (3) 는 계좌의 상태를 업데이트하기 위해 (단계 1013 참조) 지불 프로세서의 데이터베이스 서버 (6) 로 요청 (1012) 을 전송한다.For each identified account, the central application server 3 activates the process in the central database 1 (step 1008) to change the state of the account in the manner requested by the account holder 5 in step 1007 invoke). In step 1009, the central application server 3 requests a payment processor or bank corresponding to the account in question, which responds to an inquiry step 1010 in the central database 1 to acquire an associated payment processor 1011 do. Once the associated payment processor 1011 is identified for the account in question, the central application server 3 sends a request 1012 to the payment server's database server 6 to update the status of the account (see step 1013) do.

이어서 계좌 보유자 (5) 가 (통지 서브프로세스 (800) 를 사용하여) 요청된 동작(들)의 결과(들)를 통지 받고 요청이 수행될 적절한 때에 확인 (1014) 을 수신한다.The account holder 5 is then notified of the result (s) of the requested action (s) (using the notification subprocess 800) and receives an acknowledgment 1014 when the request is to be performed.

마지막으로, 도 12는 예를 들어, 거래 인증에 관련한 서브프로세스 (500) (상기 도 6) 에서 언급된 바와 같이, 서브프로세스 (1100) (유효 거래 상세) 의 단계들을 예시한다.Finally, FIG. 12 illustrates the steps of sub-process 1100 (valid transaction detail), as described, for example, in sub-process 500 (FIG.

서브프로세스 (500) 가 지불 프로세서의 보안 코드 데이터베이스 (4) 에서 기원될 때, 또는 거래의 상세들이 계좌 보유자의 등록 프로파일에서 이전에 확립된 임의의 적용가능한 규칙들에 대해 유효화되어야 할 때, 거래 상세들을 유효화하기 위한 이 서브프로세스 (1100) 는 지불 프로세서의 보안 코드 데이터베이스 (4) 에서 실행된다.When the subprocess 500 originates in the security code database 4 of the payment processor or when the details of the transaction have to be validated for any applicable rules previously established in the account holder's registration profile, This subprocess 1100 for validating the payment processor 1100 is executed in the security code database 4 of the payment processor.

Profile ID 1101가 결정되면, 계좌 보유자의 등록 프로파일이 발견되고 (1102) 적용할 임의의 계좌 보유자-확립된 거래 규칙들이 있다는 결정이 이루어진다 (1103). 적용가능한 거래 규칙들이 없다면, 서브프로세스 (1100) 가 종료되고, 거래 상세들 프로세스가 "통과되었다" (즉, 완료되었다) 는 것을 나타낸다.Once the Profile ID 1101 is determined, a determination is made that the account holder's registration profile is found (1102) and there are any account holder-established transaction rules to apply (1103). If there are no applicable transaction rules, then sub-process 1100 is terminated and the transaction details process is "passed" (i.e., completed).

그렇지 않으면, 적용가능한 규칙들 (예를 들어, 거래량/제한들 (1106), 판매인 관련 상세들 (예컨대 판매자 명, 또는 임의의 적용가능한 상업적 판매자 카테고리 코드) (1107), 재발되는 거래 플래그/지표 (1108), 또는 임의의 다른 거래 관련 상세들 (1109), 예컨대 국부적인 거래 날짜 및 시간, 및 제품 또는 서비스 구매 정보) 이 실행되고 통상적으로, 거래 인증 서브프로세스 (500) 를 프로세싱하는 지불 프로세서로부터 서브프로세스에 입력될 때 수신된 거래 상세들을 사용하여, 1105에서 적용가능한 것으로 유효화된다.Otherwise, the applicable rules (e.g., transaction amounts / restrictions 1106, seller related details (e.g., merchant name, or any applicable commercial merchandise category code) 1107, (E.g., transaction 1108), or any other transaction related details 1109, e.g., local transaction date and time, and product or service purchase information) are executed and typically from a payment processor processing transaction authentication sub-process 500 Is validated as applicable at 1105, using transaction details received when entered into the subprocess.

다른 상세에서, 본 명세서에서 고려되는 거래 유효화 규칙들의 예들은 비제한적으로, 다음을 포함한다.In other details, examples of transaction validation rules contemplated herein include, but are not limited to:

거래 계좌 제한: 계좌 보유자 (5) 는 등록된 계좌에 대한 임의의 미리 결정된 거래 시도에 대한 최대 또는 상위 제한들이 미리 규정될 수도 있다. 예를 들어, 계좌 보유자는 계좌 보유자의 등록 프로파일에 등록된 미리 결정된 신용 카드 에 대해 예를 들어, $500.00 이상의 임의의 거래 시도를 거절하기 원할 수도 있다.Transaction Account Limitations: The account holder (5) may predefine the maximum or upper limits for any predetermined transaction attempt on the registered account. For example, the account holder may wish to refuse any transaction attempts of, for example, $ 500.00 or more for a predetermined credit card registered in the account holder's registration profile.

판매자 또는 판매자 카테고리 제약: 계좌 보유자는 시도된다면, 특정한 판매자 또는 판매자 카테고리에 대한 거래들을 금지하는 것을 선택할 수도 있다. 반대로, 계좌 보유자는 하나 이상의 계좌들이 특정한 구체적인 판매자들, 또는 특정한 판매자 카테고리들에서만 사용될 수 있다는 것을 명시할 수 있다. 계좌 보유자는 또한 등록된 계좌가 임의의 다른 판매자 또는 판매자 카테고리에서 배타적으로 사용되고, 임의의 다른 판매자 또는 판매자 카테고리에서 시도된 임의의 거래들을 거절되는 판매자 또는 판매자 카테고리의 리스트를 명시할 수 있다. 예를 들어, 계좌 보유자는 식료품 또는 가스와 같이 특정한 아이템들, 또는 특정한 위치들 또는 판매자 카테고리들을 구매할 때만 사용되고 승인되게 선택할 수도 있고, 또는 예를 들어 술집에서 시도된 모든 구매들을 거절하는 것과 같이 특정한 판매자 카테고리들을 제한하기 원할 수도 있다.Merchant or Seller Category Constraint: The account holder may choose to prohibit transactions for a particular seller or seller category, if attempted. Conversely, account holders may specify that one or more accounts may be used only in specific concrete sellers, or in certain seller categories. The account holder may also specify a list of sellers or merchant categories for which the registered account is used exclusively in any other seller or seller category and for which any transactions attempted in any other seller or seller category are rejected. For example, an account holder may choose to use and approve only certain items, such as groceries or gas, or specific locations or seller categories, or to refuse all purchases attempted at a bar, for example, You may want to limit categories.

재발되는 거래 규칙들: 계좌 보유자는 특정한 판매자들 또는 청구인들로부터 재발되는 거래들을 승인하거나 거절할지 여부를 결정할 수도 있고 또는 재발하는 거래들이 승인되어야 하는 수 및 빈도를 명시할 수도 있다. 계좌 보유자는 모든 재발하는 거래들에 대해 계좌 보유자의 등록 프로파일에 대한 거래 유효화 규칙 설정으로 명시되지 않는 한, 등록된 계좌에 대해 거절되는 것으로 선택할 수도 있다. 예를 들어, 계좌 보유자가 계좌가 특정한 전기 회사로부터의 분기별로 $1200.00 미만, 그리고 특정한 케이블 TV 제공자로부터 매월 $150.00 이하의 재발하는 거래들만을 용인하는 것으로 명시할 수도 있다. 계좌 보유자는 제거될 때까지 활성이도록, 또는 만료 날짜, 또는 승인될 할부 수를 명시하도록 설정될 수도 있다.Recurring transaction rules: The account holder may decide whether to approve or reject transactions that are recurring from particular sellers or claimants, or may specify the number and frequency with which recurring transactions must be approved. The account holder may choose to be denied for a registered account for all recurring transactions, unless specified as a transaction validation rule setting for the account holder's registration profile. For example, an account holder may specify that an account accepts only recurring transactions of less than $ 1200.00 per quarter from a particular utility and less than $ 150.00 per month from a particular cable TV provider. The account holder may be set to be active until it is removed, or to specify the expiration date, or the number of installments to be authorized.

다른 규칙들 또는 이들의 임의의 조합이 또한 명시될 수 있다. 예를 들어, 재발하는 거래 규칙들은 판매자 카테고리 제한들, 또는 최대 거래량을 포함할 수도 있다.Other rules or any combination of these may also be specified. For example, recurring transaction rules may include seller category restrictions, or maximum transaction volume.

거래 유효화 규칙들이 1105에서 검토된 후, 1110에서 거래가 모든 적용가능한 규칙들을 통과한다면, 프로세스는 1104에서 "통과" 결과를 리턴한다. 그렇지 않으면, "실패" 결과를 리턴하고 (1111), 부가적으로 계좌 보유자는 선택가능하게 통지 서브프로세스 (800) 를 통해 유효화 실패를 통보받을 수도 있다.After the transaction validation rules are reviewed at 1105, if the transaction passes all applicable rules at 1110, the process returns a "pass" Otherwise, a "failure" result is returned 1111, and additionally the account holder may be notified of the validation failure via the notification subprocess 800, optionally.

이 구현예의 변형은 또한 계좌 보유자로 하여금 거래 승인 프로세스에 능동적으로 참여하게 하기 위해, 규칙 유효화가 실패하는 경우 계좌 보유자와 실시간 통신을 수반할 수 있다. 예를 들어, 재발하는 ACH 지불이 수신되고 계좌 보유자가 특정한 지불 타입에 대한 규칙들을 설정하지 않으면, 계좌 보유자로부터 승인을 요청하거나 거절을 확인하기 위해 그리고 가능하면 특정한 수취인 또는 청구인으로부터 임의의 다른 거래 시도 시점에서 재발하는 거래 규칙들을 설정하기 위해, 계좌 보유자는 자동화된 또는 실제 에이전트 전화 호출, 또는 예를 들어, SMS 텍스트 메시지, 또는 모바일 애플리케이션 푸시 통지를 통해 통지받을 수 있다. 예를 들어 계좌 보유자로 하여금 입력된 무효한 보안 코드를 교정하게 하기 위해, 대부분의 경우 수표 또는 ACH 지불들과 같은 오프라인 거래들과 같은 오프라인 거래들의 프로세싱 동안 계좌 보유자의 다른 실시간 통신이 또한 거래 인증 요청 동안 발생할 수도 있다.Variations of this embodiment may also involve real-time communication with the account holder in the event that the rule validation fails, in order to enable the account holder to actively participate in the transaction approval process. For example, if a recurring ACH payment is received and the account holder does not set up rules for a particular payment type, the account holder may ask for authorization or confirm the rejection and, if possible, any other transaction attempts from a particular recipient or claimant To establish transaction rules that recur at a point in time, account holders may be notified via automated or real agent phone calls, or SMS text messages, or mobile application push notifications, for example. For example, other real-time communications of the account holder during the processing of offline transactions, such as offline transactions, such as checks or ACH payments, in order to allow the account holder to correct the entered invalid security code, &Lt; / RTI &gt;

본 발명이 본 발명을 설명하고 예시할 목적을 위해 특정한 구체적인 예들을 참조하여 상기 기술되었지만, 본 발명은 이들 예들의 구체적인 상세들만을 참조하는 것으로 제한되지 않는다는 것이 이해되어야 한다. 보다 구체적으로, 당업자는 수정 및 발전들이 바람직한 실시예들에서 수행될 수 있다는 것이 용이하게 이해할 것이다.While the present invention has been described above with reference to specific embodiments for purposes of illustration and illustration of the invention, it is to be understood that the invention is not limited to reference to the specific details of these examples. More specifically, those skilled in the art will readily appreciate that modifications and improvements can be made in the preferred embodiments.

본 발명은 전자 지불 거래들의 맥락에서 상기 기술되었지만, 개시된 개념은 보다 일반적으로 근원적인 보안 코드의 노출을 감소시키는 사용자 인증을 요구하는 센서티브 전자 네트워크들 또는 다른 전자 엔티티들에 대한 보안된 전자 액세스에 적용될 수 있다. 예를 들어, 본 발명은 세금 반환 신청시 사용자 인증을 허용하는 조세 당국을 상대하거나 환불 등을 발행하는 것과 관련하여 조세 당국과 상호작용할 때 사용자 인증을 위해 적용될 수 있다. 보다 일반적으로, 본 발명은 상기 기술된 복수의 금융 엔티티들을 사용하는 것과 동일한 방식으로, 복수의, 예를 들어, 정부 기관들 (세금, 면허, 법집행, 등) 과 상호작용하기 위해 사용자로 하여금 단일 보안 코드를 편리하게 사용하게 할 수 있다. 본 발명은 액세스될 (예를 들어 API를 통해 액세스될) 엔티티로부터 리모트로 포함되고 실행될 수 있고, 예를 들어, Profile ID, 요청자 ID (사용자가 액세스하려고 찾는 엔티티에 대응하고, 지불 프로세서 ID에 대한 전술한 기술과 유사), 요청자의 패스워드, 및 사용자에 의해 제출될 보안 코드를 수신할 것이다.Although the present invention has been described above in the context of electronic payment transactions, the disclosed concept is more generally applicable to secure electronic access to sensitive electronic networks or other electronic entities requiring user authentication to reduce exposure of the underlying security code . For example, the invention may be applied for user authentication when interacting with the tax authority in relation to issuing refunds, or dealing with a tax authority that authorizes user authentication at the time of tax return application. More generally, the present invention allows a user to interact with a plurality of, for example, government agencies (taxes, licenses, law enforcement, etc.) in the same manner as using a plurality of financial entities described above A single security code can be used conveniently. The present invention can be remotely embedded and executed from an entity to be accessed (e.g., accessed via an API), and can include, for example, a Profile ID, a requester ID (corresponding to an entity the user is seeking to access, (Similar to the technique described above), the password of the requestor, and the security code to be submitted by the user.

본 발명이 본 발명을 설명하고 예시할 목적을 위해 특정한 구체적인 예들을 참조하여 상기 기술되었지만, 본 발명은 이들 예들의 구체적인 상세들만을 참조하는 것으로 제한되지 않는다는 것이 이해되어야 한다. 보다 구체적으로, 당업자는 본 발명의 범위를 벗어나지 않고 수정 및 발전들이 바람직한 실시예들에서 수행될 수 있다는 것이 용이하게 이해할 것이다.While the present invention has been described above with reference to specific embodiments for purposes of illustration and illustration of the invention, it is to be understood that the invention is not limited to reference to the specific details of these examples. More specifically, those skilled in the art will readily appreciate that modifications and improvements can be made in the preferred embodiments without departing from the scope of the invention.

Claims (32)

금융 엔티티로 하여금 전자 지불 거래를 인증하게 하도록 제한된 수명의 보안 코드를 사용하는 방법에 있어서,
복수의 사용자들을 각각의 고유한 보안 코드들의 세트들과 연관시키는 이전에 확립된 매트릭스를 수신하는 단계로서, 상기 보안 코드들 각각의 세트 각각은 유효 기간을 갖는, 상기 이전에 확립된 매트릭스를 수신하는 단계;
전자 지불 거래의 프로세싱을 위한 요청을 수신하는 단계로서, 상기 요청은 인증을 위한 보안 코드를 포함하고, 상기 수신된 보안 코드는 상기 복수의 사용자들 중 일 사용자와 주장되는 것으로 (allegedly) 연관되는, 상기 요청을 수신하는 단계;
상기 전자 지불 거래의 상기 프로세싱을 위한 요청의 시간에 대응하는 상기 유효 기간 동안 상기 복수의 사용자들 중 주장되는 일 사용자에게 대응하는 상기 금융 엔티티에 의해 보유된 상기 이전에 확립된 매트릭스 내 상기 보안 코드와 상기 수신된 보안 코드를 비교하는 단계; 및
상기 대응하는 유효 기간 동안 상기 수신된 보안 코드와 상기 매트릭스 내 상기 대응하는 보안 코드 간의 대응 관계 또는 대응 관계의 결여에 따라 상기 거래를 승인하거나 승인하지 않는 단계를 포함하는, 전자 지불 거래를 인증하게 하도록 제한된 수명의 보안 코드를 사용하는 방법.
A method of using a security code of a limited lifetime to allow a financial entity to authenticate an electronic payment transaction,
Receiving a previously established matrix that associates a plurality of users with respective sets of unique security codes, each of the sets of each of the security codes having a validity period, receiving the previously established matrix step;
Receiving a request for processing an electronic payment transaction, the request comprising a security code for authentication, the received security code being allegedly associated with a user of the plurality of users, Receiving the request;
The security code in the previously established matrix held by the financial entity corresponding to one user of the plurality of users during the validity period corresponding to the time of the request for the processing of the electronic payment transaction; Comparing the received security code; And
And accepting or disallowing the transaction in accordance with a lack of a corresponding relationship or correspondence between the received security code and the corresponding security code in the matrix during the corresponding validity period. How to use a security code with a limited lifetime.
제 1 항에 있어서,
상기 제한된 수명의 보안 코드는 상기 사용자에게 속하는 복수의 전자 지불 모드들에 공통되는, 전자 지불 거래를 인증하게 하도록 제한된 수명의 보안 코드를 사용하는 방법.
The method according to claim 1,
Wherein the limited lifetime security code is common to a plurality of electronic payment modes belonging to the user.
제 2 항에 있어서,
상기 사용자의 지불 모드들은 당좌 계좌, 신용 카드 계좌, 자동화된 어음 교환 거래, 직불 카드 계좌, 선불 신용 카드 계좌, 기프트 카드 계좌, 및 지불을 나타내지 않는 수표 중 하나 이상을 포함하는, 전자 지불 거래를 인증하게 하도록 제한된 수명의 보안 코드를 사용하는 방법.
3. The method of claim 2,
The payment modes of the user include authenticating an electronic payment transaction, including at least one of a checking account, a credit card account, an automated bill exchange transaction, a debit card account, a prepaid credit card account, a gift card account, To use a security code with a limited lifetime.
제 2 항에 있어서,
상기 복수의 지불 모드들에 대응하는 복수의 금융 엔티티들은 상기 사용자에 대해 미리 결정된 보안 코드가 미리 결정된 유효 기간 내에 모든 사용자의 지불 모드들에 사용될 수 있도록 동일한 매트릭스의 보안 코드들이 각각 제공되는, 전자 지불 거래를 인증하게 하도록 제한된 수명의 보안 코드를 사용하는 방법.
3. The method of claim 2,
Wherein a plurality of financial entities corresponding to the plurality of payment modes are provided with security codes of the same matrix so that a predetermined security code for the user may be used for all user payment modes within a predetermined validity period, How to use a security code with a limited lifetime to authenticate the transaction.
제 4 항에 있어서,
상기 복수의 금융 엔티티들 중 미리 결정된 일 엔티티에 고유한 해시 솔트 (hash salt) 를 갖는 보안 코드들의 매트릭스가 상기 금융 엔티티들 중 상기 미리 결정된 일 엔티티에 의해 수신되기 전에, 보안 코드들의 매트릭스 각각의 상기 코드들을 해시하는 단계를 포함하는, 전자 지불 거래를 인증하게 하도록 제한된 수명의 보안 코드를 사용하는 방법.
5. The method of claim 4,
Wherein before a matrix of security codes with a hash salt unique to a predetermined one of the plurality of financial entities is received by the predetermined one of the financial entities, A method of using a security code with a limited lifetime to authenticate an electronic payment transaction, comprising: hashing the codes.
제 5 항에 있어서,
상기 수신된 보안 코드를 상기 이전에 확립된 매트릭스 내 상기 대응하는 보안 코드를 비교하는 단계가 관련 유효 기간 동안 그리고 상기 사용자에 대한 상기 매트릭스의 상기 해시된 보안 코드와 해시된 수신된 상기 보안 코드를 비교하는 것을 포함하도록, 상기 보안 코드들의 매트릭스를 해시하도록 사용된 것과 동일한 해시 솔트를 사용하여 상기 수신된 보안 코드를 해시하는 단계를 더 포함하는, 전자 지불 거래를 인증하게 하도록 제한된 수명의 보안 코드를 사용하는 방법.
6. The method of claim 5,
Comparing the received security code to the corresponding security code in the previously established matrix for a corresponding validity period and comparing the hashed security code received with the hashed security code of the matrix for the user Further comprising the step of hashing the received security code using the same hash salt as used to hash the matrix of security codes, including to do so How to.
제 1 항에 있어서,
상기 매트릭스 내 보안 코드 각각은 난수 생성기 (random number generator) 에 의해 생성되는, 전자 지불 거래를 인증하게 하도록 제한된 수명의 보안 코드를 사용하는 방법.
The method according to claim 1,
Wherein each of the security codes in the matrix is generated by a random number generator, the security code being limited to authenticate an electronic payment transaction.
제 1 항에 있어서,
상기 유효 기간은 하루 (one calendar day) 인, 전자 지불 거래를 인증하게 하도록 제한된 수명의 보안 코드를 사용하는 방법.
The method according to claim 1,
Wherein the expiration date is one calendar day, wherein the expiration date is one calendar day.
제 1 항에 있어서,
현재 유효 기간에 대한 상기 보안 코드를 상기 사용자에게 전달하는 단계를 더 포함하는, 전자 지불 거래를 인증하게 하도록 제한된 수명의 보안 코드를 사용하는 방법.
The method according to claim 1,
Further comprising forwarding the security code for the current validity period to the user. &Lt; Desc / Clms Page number 22 &gt;
제 1 항에 있어서,
현재 보안 코드는 선택적으로 무효화될 수도 있는, 전자 지불 거래를 인증하게 하도록 제한된 수명의 보안 코드를 사용하는 방법.
The method according to claim 1,
The current security code may optionally be invalidated, using a security code with a limited lifetime to authenticate the electronic payment transaction.
제 1 항에 있어서,
현재 보안 코드는 유효 기간이 종료되기 전에 선택적으로 교체될 수도 있어, 여전히 계류중인 유효 기간 동안 상기 교체된 보안 코드를 포함하는 해시된 보안 코드들을 포함하는 새로운 매트릭스의 생성을 발생시키는, 전자 지불 거래를 인증하게 하도록 제한된 수명의 보안 코드를 사용하는 방법.
The method according to claim 1,
The current security code may be optionally replaced before the expiration of the validity period so that an electronic payment transaction is generated that causes the generation of a new matrix containing hashed security codes containing the replaced security code for a pending validity period How to use a security code with a limited lifetime to authenticate.
제 2 항에 있어서,
하나 이상의 상기 사용자의 지불 모드들은,
상기 사용자로부터 로킹 (lock)/언로킹 (unlock) 요청, 사용자의 아이덴티티의 증명, 및 로킹/언로킹될 지불 모드 또는 모드들을 수신하는 단계;
새로운 로킹되거나 언로킹된 상태의 지불 모드 또는 모드들 각각과 연관된 금융 기관 및/또는 지불 프로세서에 알리는 단계; 및
상기 사용자로 상기 로킹 또는 언로킹을 확인하는 단계
에 의해 선택적으로 로킹 및 언로킹될 수 있는, 전자 지불 거래를 인증하게 하도록 제한된 수명의 보안 코드를 사용하는 방법.
3. The method of claim 2,
One or more payment modes of the user,
Receiving a lock / unlock request from the user, proof of the user's identity, and a payment mode or modes to be locked / unlocked;
Informing the financial institution and / or the payment processor associated with each of the new locked or unlocked payment modes or modes; And
Confirming the locking or unlocking with the user
Lt; RTI ID = 0.0 &gt; and / or &lt; / RTI &gt;
제 1 항에 있어서,
상기 사용자의 보안 코드의 인증에 더하여 미리 결정된 거래에 미리 규정된 거래 승인 규칙들을 적용하는 단계를 더 포함하는, 전자 지불 거래를 인증하게 하도록 제한된 수명의 보안 코드를 사용하는 방법.
The method according to claim 1,
Further comprising applying predefined transaction authorization rules to a predetermined transaction in addition to authentication of the user's security code. &Lt; Desc / Clms Page number 21 &gt;
제 13 항에 있어서,
상기 거래 승인 규칙들은,
거래량들에 대한 제한들;
특정한 판매자들 또는 판매자 카테고리들과의 거래에 대한 규제들 (restrictions); 및
재발하는 (recur) 거래들에 대한 규제들 중 하나 이상을 포함하는, 전자 지불 거래를 인증하게 하도록 제한된 수명의 보안 코드를 사용하는 방법.
14. The method of claim 13,
The transaction approval rules,
Limits on trading volume;
Restrictions on transactions with particular sellers or seller categories; And
The method comprising using one or more of the registrations for transactions that recur recurring transactions.
전자 지불 거래 시 사용자 인증을 위해 제한된 수명의 보안 코드들을 생성 및 분배하는 방법에 있어서,
각각의 고유 패턴 ID들 (identifications) 과 복수의 사용자들을 연관시키는 단계;
패턴 ID 각각에 대한 난수 보안 코드들의 세트를 생성하는 단계로서, 세트 각각의 보안 코드 각각은 상이한 유효 기간에 대응하여 각각의 보안 코드들의 세트들과 상기 복수의 사용자들을 연관시키는 매트릭스를 획득하고, 보안 코드 각각은 각각의 유효 기간에 대응하는, 상기 패턴 ID 각각에 대한 난수 보안 코드들의 세트를 생성하는 단계;
상기 매트릭스 내 상기 복수의 사용자들 중 적어도 하나의, 하나 이상의 지불 모드와 연관된 각각의 지불 프로세스들로 상기 매트릭스를 전달하는 단계; 및
전자 지불 거래들의 인증에 사용하기 위해 상기 사용자들 각각에 적어도 현재 유효한 보안 코드를 전달하는 단계로서, 상기 인증은 전자 지불 거래의 시간에 대한 상기 관련된 유효 기간 동안 그리고 상기 사용자에 대한 상기 매트릭스 내 상기 보안 코드와 상기 전자 지불 거래의 일부로서 상기 사용자에 의해 제출된 보안 코드를 비교하는 것을 포함하는, 상기 보안 코드를 전달하는 단계를 포함하는, 전자 지불 거래 시 사용자 인증을 위해 제한된 수명의 보안 코드들을 생성 및 분배하는 방법.
A method for generating and distributing a limited lifetime security code for user authentication in an electronic payment transaction,
Associating a plurality of users with respective unique pattern IDs;
Generating a set of random security codes for each of the pattern IDs, wherein each security code in each of the sets obtains a matrix associating the plurality of users with sets of respective security codes corresponding to different validity periods, Generating a set of random number security codes for each of the pattern IDs, each code corresponding to a respective validity period;
Delivering the matrix to at least one of the plurality of users in the matrix, each payment process associated with one or more payment modes; And
Delivering at least a current valid security code to each of said users for use in authenticating electronic payment transactions, said authentication being performed during said associated validity period of time of an electronic payment transaction and within said matrix for said user Generating a security code of limited lifetime for user authentication in an electronic payment transaction, said security code comprising comparing said security code with a code and a security code submitted by said user as part of said electronic payment transaction &Lt; / RTI &gt;
제 15 항에 있어서,
상기 보안 코드들의 유효 기간은 날짜, 시간, 또는 날짜와 시간으로 측정되는, 전자 지불 거래 시 사용자 인증을 위해 제한된 수명의 보안 코드들을 생성 및 분배하는 방법.
16. The method of claim 15,
Wherein the validity period of the security codes is measured in terms of date, time, or date and time.
제 15 항에 있어서,
상기 보안 코드들의 상기 유효 기간은 하루인, 전자 지불 거래 시 사용자 인증을 위해 제한된 수명의 보안 코드들을 생성 및 분배하는 방법.
16. The method of claim 15,
Wherein the validity period of the security codes is one day, for a user authentication in an electronic payment transaction.
제 15 항에 있어서,
적어도 현재 유효한 보안 코드를 전달하는 단계는 상기 현재 유효한 보안 코드 및 후속하여 유효할 하나 이상의 보안 코드들을 전달하는 것을 포함하는, 전자 지불 거래 시 사용자 인증을 위해 제한된 수명의 보안 코드들을 생성 및 분배하는 방법.
16. The method of claim 15,
The method of generating and distributing a limited lifetime security code for user authentication in an electronic payment transaction, said method comprising delivering at least the currently valid security code, said currently valid security code and subsequently one or more security codes, .
제 15 항에 있어서,
적어도 현재 유효한 보안 코드를 전달하는 단계는 사용자 요청 시 적어도 현재 유효한 보안 코드를 전달하는 단계 및 적어도 현재 유효한 보안 코드를 밀어내는 (pushing out) 단계 중 하나 이상을 포함하는, 전자 지불 거래 시 사용자 인증을 위해 제한된 수명의 보안 코드들을 생성 및 분배하는 방법.
16. The method of claim 15,
The step of delivering at least the currently valid security code comprises at least one of delivering at least a currently valid security code upon user request and at least pushing out the currently valid security code, A method for generating and distributing security codes of limited lifetime.
제 15 항에 있어서,
상기 적어도 하나의 지불 모드는 당좌 계좌, 신용 카드 계좌, 자동화된 어음 교환 거래, 직불 카드 계좌, 선불 신용 카드 계좌, 기프트 카드 계좌, 및 지불을 나타내지 않는 수표 중 하나 이상을 포함하는, 전자 지불 거래 시 사용자 인증을 위해 제한된 수명의 보안 코드들을 생성 및 분배하는 방법.
16. The method of claim 15,
Wherein the at least one payment mode comprises one or more of a checking account, a credit card account, an automated bill exchange transaction, a debit card account, a prepaid credit card account, a gift card account, A method for generating and distributing security codes of limited lifetime for user authentication.
제 15 항에 있어서,
난수 보안 코드들의 세트를 생성하는 단계는, 후속하는 유효 기간에 대한 상기 복수의 사용자들 각각에 대한 각각의 보안 코드를 생성하기 전에, 미리 결정된 유효 기간에 대한 상기 복수의 사용자들 각각에 대한 각각의 보안 코드를 생성하는 것을 포함하는, 전자 지불 거래 시 사용자 인증을 위해 제한된 수명의 보안 코드들을 생성 및 분배하는 방법.
16. The method of claim 15,
Generating a set of random number security codes comprises generating a set of random number security codes for each of the plurality of users for each of the plurality of users for a predetermined validity period prior to generating each security code for each of the plurality of users for a subsequent validity period. A method for generating and distributing security codes of limited lifetime for user authentication in electronic payment transactions, including generating security codes.
제 15 항에 있어서,
상기 상이한 유효 기간은 시간적으로 순차적인, 전자 지불 거래 시 사용자 인증을 위해 제한된 수명의 보안 코드들을 생성 및 분배하는 방법.
16. The method of claim 15,
Wherein the different validity period is temporally sequential, generating and distributing a limited lifetime security code for user authentication in an electronic payment transaction.
제 22 항에 있어서,
제 1 보안 코드에 대한 유효 기간의 종점과 제 2 후속하는 보안 코드에 대한 상기 유효 기간의 시점 사이에 일시적인 중첩이 있는, 전자 지불 거래 시 사용자 인증을 위해 제한된 수명의 보안 코드들을 생성 및 분배하는 방법.
23. The method of claim 22,
There is a temporary overlap between the end point of the validity period for the first security code and the point in time of the validity period for the second subsequent security code, and a method for generating and distributing limited-life security codes for user authentication in an electronic payment transaction .
제 15 항에 있어서,
상기 매트릭스는 상기 각각의 지불 프로세서들에 고유한 각각의 해시 솔트들을 사용하여, 상기 매트릭스를 상기 각각의 지불 프로세서들에 전달하기 전에 해시되는, 전자 지불 거래 시 사용자 인증을 위해 제한된 수명의 보안 코드들을 생성 및 분배하는 방법.
16. The method of claim 15,
The matrices include a set of security codes for a limited lifetime for user authentication in an electronic payment transaction, which is hashed prior to delivering the matrix to each of the payment processors, using respective hash solids unique to each of the payment processors &Lt; / RTI &gt;
단일 각각의 보안 코드를 사용하여 각각의 사용자로 하여금 복수의 전자 엔티티들과 상호작용하게 하도록 복수의 제한된 수명 및 사용자 특정 보안 코드들의 세트들을 생성하고 관리하는 방법에 있어서,
난수 생성기를 사용하여 미리 결정된 자릿수 길이의 복수의 난수들을 생성하는 단계;
상기 각각의 생성된 난수들을 사용하여 상기 복수의 보안 코드들의 세트 각각의 매트릭스를 채우는 (populating) 단계로서, 보안 코드들 세트 각각의 보안 코드 각각은 상기 매트릭스 내 각각의 유효 기간과 연관되고, 보안 코드들 세트 각각은 고유 식별자를 갖는, 상기 난수들로 매트릭스를 채우는 단계;
각각의 사용자와 각각의 상기 보안 코드들의 세트를 연관시키는 단계;
상기 복수의 전자 엔티티들과 상호작용하게 하도록 상기 보안 코드들을 사용하여 상기 복수의 전자 엔티티들 각각에 대한 상기 보안 코드들의 매트릭스의 사본을 생성하고 상기 복수의 전자 엔티티들 각각에 대응하는 상이하고 고유한 해시 솔트를 사용하여 사본 각각의 상기 보안 코드들을 수학적으로 해시하여, 복수의 고유하게 해시된 버전들의 보안 코드들의 매트릭스를 획득하는 단계;
상기 보안 코드들의 매트릭스의 각각의 고유하게 해시된 버전들을 상기 각각의 전자 엔티티들로 전달하고, 그리고 상기 각각의 전자 엔티티들로 상기 대응하는 해시 솔트를 개별적으로 통신하는 단계; 및
각각의 사용자와 연관된 상기 보안 코드들의 세트의 적어도 현재 유효한 보안 코드를 각각의 사용자에게 전달하는 단계를 포함하는, 복수의 제한된 수명 및 사용자 특정 보안 코드들의 세트들을 생성하고 관리하는 방법.
A method for generating and managing a plurality of limited lifetime and sets of user specific security codes to cause each user to interact with a plurality of electronic entities using a single respective security code,
Generating a plurality of random numbers having a predetermined number of digits in length using a random number generator;
Populating a matrix of each of the plurality of sets of security codes using each of the generated random numbers, wherein each security code of each security code set is associated with a respective validity period in the matrix, Each set having a unique identifier; populating the matrix with the random numbers;
Associating a set of each said security code with each user;
Generating a copy of the matrix of security codes for each of the plurality of electronic entities using the security codes to interact with the plurality of electronic entities and generating a copy of a matrix of security codes for each of the plurality of electronic entities, Mathematically hashing the security codes of each copy using a hash salt to obtain a matrix of security codes of a plurality of uniquely hashed versions;
Communicating respective uniquely hashed versions of the matrix of security codes to each of the electronic entities, and communicating the corresponding hash salt separately to each of the electronic entities; And
And communicating at least a current valid security code of the set of security codes associated with each user to each user.
제 25 항에 있어서,
상기 전자 엔티티들은 은행 엔티티들, 지불 프로세서 엔티티들 및 보안 컴퓨터 네트워크들 중 하나 이상을 포함하는, 복수의 제한된 수명 및 사용자 특정 보안 코드들의 세트들을 생성하고 관리하는 방법.
26. The method of claim 25,
Wherein the electronic entities comprise one or more of bank entities, payment processor entities and secure computer networks.
제 25 항에 있어서,
상기 매트릭스 내 상기 난수들을 해시하기 위해 보안 해시 알고리즘이 사용되는, 복수의 제한된 수명 및 사용자 특정 보안 코드들의 세트들을 생성하고 관리하는 방법.
26. The method of claim 25,
Wherein a secure hash algorithm is used to hash the random numbers in the matrix.
제 25 항에 있어서,
상기 보안 코드 각각의 유효 기간은 미리 선택된 24 시간인, 복수의 제한된 수명 및 사용자 특정 보안 코드들의 세트들을 생성하고 관리하는 방법.
26. The method of claim 25,
Wherein the validity period of each of the security codes is a preselected 24 hour period.
제 25 항에 있어서,
상기 각각의 세트의 각각의 보안 코드들의 상기 유효 기간은 시간적으로 순차적인, 복수의 제한된 수명 및 사용자 특정 보안 코드들의 세트들을 생성하고 관리하는 방법.
26. The method of claim 25,
Wherein the validity period of each of the security codes of each set is temporally sequential; and generating and managing a plurality of sets of limited lifetime and user specific security codes.
금융 엔티티로 하여금 전자 지불 거래를 인증하게 하도록 제한된 수명의 보안 코드를 사용하는 방법에 있어서,
각각의 고유 보안 코드들의 세트들과 복수의 사용자들을 연관시키는 이전에 확립된 매트릭스를 수신하는 단계로서, 상기 세트 각각의 보안 코드들은 유효 기간을 갖고, 보안 코드 각각은 미리 결정된 매트릭스에 고유하게 대응하는 고유 해시 솔트로 수학적으로 해시되는, 상기 이전에 확립된 매트릭스를 수신하는 단계;
전자 지불 거래 프로세싱 요청을 수신하는 단계로서, 상기 요청은 인증을 위한 보안 코드를 포함하고, 상기 수신된 보안 코드는 상기 복수의 사용자들 중 일 사용자와 주장되는 것으로 연관되는, 상기 전자 지불 거래 프로세싱 요청을 수신하는 단계;
상기 수신된 매트릭스와 연관된 해시 솔트와 동일한 해시 솔트를 사용하여 상기 수신된 보안 코드를 해시하는 단계;
상기 전자 지불 거래 프로세스 요청 시간에 대응하는 상기 유효 기간 동안 상기 복수의 사용자들 중 상기 주장된 일 사용자에 대응하는 상기 금융 엔티티에 의해 보유된 상기 이전에 확립된 매트릭스 내 상기 해시된 보안 코드와 상기 해시된 수신된 보안 코드를 비교하는 단계; 및
상기 대응하는 유효 기간 동안 상기 해시된 수신된 보안 코드와 상기 매트릭스 내 상기 대응하는 해시된 보안 코드 간의 대응 관계 결여 또는 대응 관계에 따라 상기 거래를 승인하거나 승인하지 않는 단계를 포함하는, 전자 지불 거래를 인증하게 하도록 제한된 수명의 보안 코드를 사용하는 방법.
A method of using a security code of a limited lifetime to allow a financial entity to authenticate an electronic payment transaction,
The method comprising: receiving a previously established matrix associating a plurality of users with sets of respective unique security codes, each security code having a validity period, each security code corresponding to a predetermined matrix uniquely corresponding to a predetermined matrix Receiving the previously established matrix mathematically hashed with unique hash salts;
Receiving an electronic payment transaction processing request, wherein the request comprises a security code for authentication, and wherein the received security code is related to being asserted with a user of the plurality of users, ;
Hashing the received security code using the same hash salt as the hash salt associated with the received matrix;
The hashed security code in the previously established matrix held by the financial entity corresponding to the asserted user of the plurality of users during the validity period corresponding to the electronic payment transaction process request time, Comparing the received security code; And
Accepting or not approving the transaction in accordance with a lack of correspondence or correspondence between the hashed received security code and the corresponding hashed security code in the matrix during the corresponding validity period. How to use a security code with a limited lifetime to authenticate.
제 30 항에 있어서,
상기 매트릭스는 미리 결정된 자릿수 길이의 복수의 난수들을 생성하도록 난수 생성기를 사용하여 채워지는, 전자 지불 거래를 인증하게 하도록 제한된 수명의 보안 코드를 사용하는 방법.
31. The method of claim 30,
Wherein the matrix is populated using a random number generator to generate a plurality of random numbers of a predetermined number of digits in length.
제 31 항에 있어서,
상기 난수 생성기는 진성 난수 (true random number) 생성기인, 전자 지불 거래를 인증하게 하도록 제한된 수명의 보안 코드를 사용하는 방법.
32. The method of claim 31,
Wherein the random number generator is a true random number generator using a limited lifetime security code to authenticate an electronic payment transaction.
KR1020187001049A 2015-06-14 2016-01-06 Security and user authentication for electronic transactions KR20180029227A (en)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201514738888A 2015-06-14 2015-06-14
US14/738,888 2015-06-14
US201562215409P 2015-09-08 2015-09-08
US62/215,409 2015-09-08
US201514923346A 2015-10-26 2015-10-26
US14/923,346 2015-10-26
PCT/US2016/012292 WO2016204817A1 (en) 2015-06-14 2016-01-06 Security for electronic transactions and user authentication

Publications (1)

Publication Number Publication Date
KR20180029227A true KR20180029227A (en) 2018-03-20

Family

ID=57545691

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187001049A KR20180029227A (en) 2015-06-14 2016-01-06 Security and user authentication for electronic transactions

Country Status (9)

Country Link
EP (1) EP3308336A4 (en)
KR (1) KR20180029227A (en)
CN (1) CN108027920A (en)
AU (1) AU2016278751A1 (en)
BR (1) BR112017026874A2 (en)
CA (1) CA2996511A1 (en)
MX (1) MX2017016269A (en)
TW (1) TW201643789A (en)
WO (1) WO2016204817A1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107169762B (en) 2017-05-24 2020-02-07 中国银联股份有限公司 Configuration method and device of security carrier
US11144894B2 (en) * 2017-09-28 2021-10-12 DineGigs Inc. Multi-level network-based access coordination
TWI643143B (en) * 2018-01-22 2018-12-01 中華電信股份有限公司 A system and method for authentication using electronic trading system with distributed records
TWI697853B (en) * 2018-07-09 2020-07-01 財金資訊股份有限公司 Method and system for instant notification of transaction result
US20200211028A1 (en) * 2018-12-26 2020-07-02 Diamond Paul Okiemute Uju Payment control system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4630201A (en) * 1984-02-14 1986-12-16 International Security Note & Computer Corporation On-line and off-line transaction security system using a code generated from a transaction parameter and a random number
US5903721A (en) * 1997-03-13 1999-05-11 cha|Technologies Services, Inc. Method and system for secure online transaction processing
EP1703479A1 (en) * 2005-03-18 2006-09-20 Hewlett-Packard Development Company, L.P. Computer system and user device
CN100485727C (en) * 2007-11-19 2009-05-06 侯万春 System and method for realizing personal electric check card
US20090276347A1 (en) * 2008-05-01 2009-11-05 Kargman James B Method and apparatus for use of a temporary financial transaction number or code
TWI465094B (en) * 2011-04-26 2014-12-11 Telepaq Technology Inc User identification methods and systems for Internet transactions
IN2013MU02317A (en) * 2013-07-10 2015-06-19 Mandar Agashe
CN103491090A (en) * 2013-09-23 2014-01-01 金蝶软件(中国)有限公司 Safety authentication method, device and system
CN104618112B (en) * 2015-01-19 2017-02-22 北京海泰方圆科技股份有限公司 Method for verifying dynamic password of dynamic token

Also Published As

Publication number Publication date
MX2017016269A (en) 2018-08-15
CA2996511A1 (en) 2016-12-22
WO2016204817A1 (en) 2016-12-22
TW201643789A (en) 2016-12-16
EP3308336A1 (en) 2018-04-18
BR112017026874A2 (en) 2018-08-14
AU2016278751A1 (en) 2018-01-25
CN108027920A (en) 2018-05-11
EP3308336A4 (en) 2018-12-26

Similar Documents

Publication Publication Date Title
JP7209031B2 (en) System and method for interoperable network token processing
US20170004506A1 (en) Security for electronic transactions and user authentication
US11127003B2 (en) Telecommunication system and method for settling session transactions
US11170379B2 (en) Peer forward authorization of digital requests
US8224753B2 (en) System and method for identity verification and management
US10311433B2 (en) Secure authorizations using independent communications and different one-time-use encryption keys for each party to a transaction
US20180197171A1 (en) Security for electronic transactions and user authentication
US10346814B2 (en) System and method for executing financial transactions
US10424171B2 (en) Systems and methods for transferring resource access
US9818092B2 (en) System and method for executing financial transactions
JP6031524B2 (en) Safely refillable electronic wallet
US9569776B2 (en) Secure authorizations using independent communications and different one-time-use encryption keys for each party to a transaction
US10404703B1 (en) Systems and methods for third-party interoperability in secure network transactions using tokenized data
US20060173776A1 (en) A Method of Authentication
US20080015988A1 (en) Proxy card authorization system
US8762216B1 (en) Digital lending of payment instruments
KR20030019466A (en) Method and system of securely collecting, storing, and transmitting information
JP2012014723A (en) Electronic fund transfer-zipfund
US10614457B2 (en) Secure authorizations using independent communications and different one-time-use encryption keys for each party to a transaction
CN1906629A (en) Secure payment system
KR20180029227A (en) Security and user authentication for electronic transactions
Vijayan et al. Digital payments: Blockchain based security concerns and future
US20180114201A1 (en) Universal payment and transaction system
US11756043B1 (en) Payment card expiration identification and information update