JP2018519562A - Method and system for transaction security - Google Patents

Method and system for transaction security Download PDF

Info

Publication number
JP2018519562A
JP2018519562A JP2017554348A JP2017554348A JP2018519562A JP 2018519562 A JP2018519562 A JP 2018519562A JP 2017554348 A JP2017554348 A JP 2017554348A JP 2017554348 A JP2017554348 A JP 2017554348A JP 2018519562 A JP2018519562 A JP 2018519562A
Authority
JP
Japan
Prior art keywords
transaction
verification code
user
data
communication channel
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2017554348A
Other languages
Japanese (ja)
Inventor
アントニー、スメールズ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Forticode Ltd
Original Assignee
Forticode Ltd
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 Forticode Ltd filed Critical Forticode Ltd
Publication of JP2018519562A publication Critical patent/JP2018519562A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • 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
    • 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/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • 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/42Confirmation, e.g. check or permission by the legal debtor of payment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/18Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Abstract

取引は、第1の通信チャンネルを介して取引サーバに送信される1つ以上のメッセージを含む。各取引メッセージは、重要取引データの少なくとも1つの項目を含む。取引を安全に処理する方法は、第1の取引メッセージを第1の通信チャンネルを介して取引サーバに送信するステップ(606)を含む。その後、取引検証コードを生成するために重要取引データに基づいて実行される1つ以上の動作を定義するワンタイムセキュリティデータが生成される(608)。ワンタイムセキュリティデータ(402、403)は、第1の通信チャンネルとは機能的に区別される第2の通信チャンネルを介してユーザーに送信される。取引サーバは、第2の通信チャンネルを介したワンタイムセキュリティデータの受信に応答してユーザーによって提供された第1の取引検証コードを含む第2の取引メッセージを第1の通信チャンネルを介して受信する。第2の取引検証コードは、受信された第1の取引メッセージ内に含まれた重要取引データに基づいてワンタイムセキュリティデータによって定義された動作を実行することによって生成され、第1の取引検証コードは、第2の取引検証コードと比較される(616)。第1の取引検証コードと第2の取引検証コードとの間の不一致の場合、取引要求は拒否される(622)。  The transaction includes one or more messages that are transmitted to the transaction server via the first communication channel. Each transaction message includes at least one item of important transaction data. A method for securely processing a transaction includes transmitting (606) a first transaction message to a transaction server via a first communication channel. Thereafter, one-time security data is generated that defines one or more actions to be performed based on the key transaction data to generate a transaction verification code (608). The one-time security data (402, 403) is transmitted to the user via a second communication channel that is functionally distinct from the first communication channel. The transaction server receives a second transaction message over the first communication channel that includes a first transaction verification code provided by the user in response to receiving the one-time security data over the second communication channel. To do. The second transaction verification code is generated by performing an action defined by the one-time security data based on the key transaction data included in the received first transaction message, and the first transaction verification code Is compared (616) with a second transaction verification code. If there is a mismatch between the first transaction verification code and the second transaction verification code, the transaction request is rejected (622).

Description

本発明は、情報セキュリティに関し、より詳細には、インターネットを介して交換される金融取引細目を含むが、これに限定されない、通信ネットワークを介して交換される重要なデータのセキュリティを強化することに関する。   The present invention relates to information security, and more particularly to enhancing the security of important data exchanged over a communications network, including but not limited to financial transaction details exchanged over the Internet. .

2要素認証(Two Factor Authentication:TFA)は、一般的にインターネットを含んだ通信ネットワークを介して実行される通信を認証するために使用される。基本認証において、要求側エンティティ(例えば、ユーザー)は、第2のエンティティ(例えば、銀行のようなサービスプロバイダー)に自分の身元に対する一部の証拠を提示する。TFAの使用は、事前に承認された要素などの有限リストの中から2つの異なるタイプの証拠、または要素を要求することによって、要求側エンティティがその身元に対する偽りの証拠を提示する可能性を減少させる。通常的に、TFAは、3つの可能な要素、すなわち、 要求者が知っているもの(例えば、PINまたはパスワード)、要求者が持っているもの(例えば、ATMカードまたは登録された携帯電話)、及びユーザー‘自体である’もの(例えば、指紋または他のバイオメトリック情報)、のうちの2つを提供することを要求側エンティティに要求する。   Two-factor authentication (TFA) is generally used to authenticate communications performed via a communication network including the Internet. In basic authentication, a requesting entity (eg, a user) presents some evidence of his identity to a second entity (eg, a service provider such as a bank). The use of TFA reduces the chance that the requesting entity will present false evidence for its identity by requesting two different types of evidence, or elements, from a finite list, such as pre-approved elements Let Typically, a TFA has three possible elements: what the requester knows (eg PIN or password), what the requester has (eg ATM card or registered mobile phone), And requesting the requesting entity to provide two of the user's own (eg, fingerprint or other biometric information).

TFAの1つの一般的なカテゴリーは、一般に、SMSメッセージング、自動電話通話、またはユーザーのスマートフォン上で実行する専用アプリケーションを使用して、ユーザーの携帯電話をトークン(token)デバイスに変換する。典型的な例は、ユーザーがパーソナルコンピュータまたは他のインターネット可能デバイス上で個人識別情報(例えば、ユーザー名及びパスワード)を使用して銀行のオンラインポータルに署名することができる、インターネットバンキングシステムである。この識別情報は、TFAスキーム(scheme)内の知識因子である。ユーザーが携帯電話番号を自分のオンラインバンキングサービスに事前に登録した場合には、携帯電話が所有因子として機能することができる。一部のこのようなシステムによれば、ユーザーがインターネットバンキングを介して取引(例えば、資金振込み、または代金支払い)の実行を要求するとき、ランダムに生成された検証コードが登録された携帯電話番号にSMSを介して送信され、取引の完了を確認し承認するために、インターネットバンキングインターフェースに入力しなければならない。   One general category of TFA generally converts a user's mobile phone to a token device using SMS messaging, automated phone calls, or a dedicated application running on the user's smartphone. A typical example is an internet banking system that allows a user to sign a bank's online portal using personally identifiable information (eg, username and password) on a personal computer or other internet-enabled device. This identification information is a knowledge factor in the TFA scheme. If the user registers the mobile phone number with his online banking service in advance, the mobile phone can act as an ownership factor. According to some such systems, a mobile phone number with a randomly generated verification code registered when a user requests a transaction (eg, fund transfer or payment) via internet banking. In order to confirm and approve the transaction completion, it must be entered into the internet banking interface.

前記の実施例において、SMSメッセージングは、ユーザーとインターネットバンキングポータルとの間の主通信チャンネルと独立的に検証トークンを送信するためのバックチャンネルとして使用される。従って、不正ユーザーは、不正取引を完了するために、真正なユーザーの識別情報だけではなく、真正なユーザーの携帯電話の所有を必要とする。しかしながら、このようなTFAの方法は、主通信チャンネル自体が損傷される攻撃に脆弱であり得る。特に、このような認証技術は、中間子(man−in−the−middle:MIM)攻撃及びマン−イン−ザ−ブラウザ(man−in−the−browser:MIB)攻撃に脆弱であり得る。これらの攻撃が動作するメカニズムが図1a、図1b及び図2に示されている。   In the above embodiment, SMS messaging is used as a back channel to send a verification token independent of the main communication channel between the user and the internet banking portal. Therefore, an unauthorized user needs not only the authentic user identification information but also the authentic user's mobile phone to complete the unauthorized transaction. However, such a TFA method may be vulnerable to attacks that damage the main communication channel itself. In particular, such authentication techniques may be vulnerable to man-in-the-middle (MIM) attacks and man-in-the-browser (MIB) attacks. The mechanism by which these attacks operate is shown in FIGS. 1a, 1b and 2.

図1aのブロック図100に示されたように、ユーザー102は、インターネット108を介してインターネットバンキングポータルのような安全なサービスポータル(secure service portal:SSP)106にアクセスするため、例えば、デスクトップPC104を使用する。ウェブブラウザソフトウェア110は、PC104上で実行され、ユーザーにグラフィックインターフェースを提供する。ウェブブラウザ110は、一般に、1つ以上の通信ネットワークを介して他のデバイスと情報を交換するために必要な様々な通信プロトコルを実現するネットワークインターフェースソフトウェア(プロトコルスタック)と共に、ローカルネットワークに接続するために必要な物理ハードウェアの両方を含むネットワークインターフェース112を介してインターネット108にアクセスする。   As shown in the block diagram 100 of FIG. 1 a, a user 102 accesses a secure service portal (SSP) 106, such as an Internet banking portal, via the Internet 108, for example, using a desktop PC 104. use. Web browser software 110 runs on PC 104 and provides a graphical interface to the user. The web browser 110 generally connects to a local network along with network interface software (protocol stack) that implements the various communication protocols necessary to exchange information with other devices via one or more communication networks. The Internet 108 is accessed through a network interface 112 that includes both the physical hardware necessary for the network.

しかしながら、シナリオ100において、ユーザーのPC104が、例えば、一部形態のマルウェアによって損傷され、ブラウザ110がインターネットバンキングポータル106に直接接続されず、その代わり不正MIMサーバ114に接続されている。これは、インターネットバンキングポータル106の真正なホストネームが不正サーバ114のIPアドレスにマッピングされるよう、ユーザーが不正サイト114へのリダイレクトリンクをクリックするようにユーザーをトリックすることによって、またはドメインネームサービス(domain name service:DNS)ザブシステムのようなPC104のネットワークインターフェース構成を損傷させることによって達成され得る。   However, in scenario 100, the user's PC 104 is damaged, for example, by some form of malware, and the browser 110 is not directly connected to the Internet banking portal 106, but instead is connected to the unauthorized MIM server 114. This can be done by tricking the user to click on a redirect link to the fraudulent site 114 such that the authentic host name of the internet banking portal 106 is mapped to the IP address of the fraudulent server 114, or a domain name service It can be achieved by damaging the network interface configuration of the PC 104 such as a (domain name service: DNS) sub-system.

不正サーバ114は、ポータル106によって提供されたインターネットバンキングウェブサイトの近接した模倣、または正確なコピーであるウェブサイトを提供する。通常的に、SSL TLS(すなわち、HTTPSプロトコル)がサーバを認証し、すべての通信を暗号化するために使用されるように、ポータル106との安全な接続が要求される。その結果、ユーザー102は、不正サーバ114によって提供されたデジタル証明書と明らかなドメイン、すなわち、ユーザーのバンキングサービスプロバイダーのものとの間の不一致に関する警告を受信することができる。しかし、多くのユーザーは、このような警告を無視したり、見落としたりすることがある。 The fraudulent server 114 provides a website that is a close copy or an exact copy of the internet banking website provided by the portal 106. Typically, a secure connection with the portal 106 is required so that SSL TLS (ie, HTTPS protocol) is used to authenticate the server and encrypt all communications. As a result, the user 102 can receive a warning regarding a mismatch between the digital certificate provided by the fraudulent server 114 and the obvious domain, ie, that of the user's banking service provider. However, many users can ignore or overlook such warnings.

このセキュリティレベルさえ、例えば、図1bのブロック図120に示されたMIB攻撃によって損傷され得る。MIB攻撃において、悪意のあるソフトウェアアプリケーション122は、ユーザーのPC104に侵入し、それ自体がブラウザインターフェース11とネットワークインターフェース112との間に介在される。MIBマルウェアは、ブラウザインターフェース110に、またはそれから伝送されたすべてのデータに直接アクセスし、これによって、PC104のネットワークインターフェース112とインターネットバンキングポータル106との間で実行される任意の暗号化及び認証とは独立的に、ユーザー102とインターネットバンキングポータル106との間で通信される情報を読み取り及び/または修正することができる。   Even this security level can be damaged, for example, by the MIB attack shown in block diagram 120 of FIG. 1b. In the MIB attack, the malicious software application 122 enters the user's PC 104 and is itself interposed between the browser interface 11 and the network interface 112. MIB malware directly accesses all data transmitted to or from the browser interface 110, thereby independent of any encryption and authentication performed between the network interface 112 of the PC 104 and the Internet banking portal 106. In particular, information communicated between the user 102 and the internet banking portal 106 can be read and / or modified.

図2は、図1a及び図1bに示されたMIMまたはMIBシナリオにおける攻撃メカニズムのタイムライン200を示す。示された例において、ユーザーは、先ず、振込金額‘a’及び受取人口座番号‘A’を含むことができる取引細目を入力する202。取引要求が送信されるが204、MIM/MIB114/122が傍受する(intercept)。不正サービスは、要求を修正し、例えば、取引金額をより高い値‘b’に、受取人口座を不正口座番号‘B’に変更する。このような修正された振込み要求は、インターネットバンキングポータル106を介して受信され、取引細目が銀行サーバによって検証される208。その後、インターネットバンキングポータル106は、不正金額‘b’及び受取人口座‘B’を含む取引細目を含む確認ページを返送する210。これらは不正ソフトウェアによって修正され、ユーザー要求金額‘a’及び受取人口座‘A’を再挿入し、ブラウザ110に送信され212、そのディスプレイを更新する214。この時点で、ユーザーは、インターネットバンキングポータル106に実際に要求された振替が最初に入力された取引要求とは異なっていることに気付かない。   FIG. 2 shows an attack mechanism timeline 200 in the MIM or MIB scenario shown in FIGS. 1a and 1b. In the illustrated example, the user first enters 202 transaction details that may include the transfer amount ‘a’ and the payee account number ‘A’. A transaction request is sent 204, but MIM / MIB 114/122 intercepts. The fraud service modifies the request, for example, changes the transaction amount to a higher value 'b' and the payee account to an unauthorized account number 'B'. Such a modified transfer request is received via the internet banking portal 106 and the transaction details are verified 208 by the bank server. The internet banking portal 106 then returns 210 a confirmation page that includes the transaction details including the fraudulent amount 'b' and the payee account 'B'. These are modified by the malware and re-insert the user requested amount 'a' and the payee account 'A' and sent 212 to the browser 110 to update 214 its display. At this point, the user is unaware that the transfer actually requested on the internet banking portal 106 is different from the transaction request originally entered.

同時に、銀行サーバは、検証コードを生成し216、そのコードをSMSメッセージングチャンネルのようなバックチャンネル218を介してユーザーの携帯電話に送信する。ユーザーは、検証コードを受信し220、ウェブブラウザ110によって表示された確認ページに検証コードを入力する222。その後、確認コードが送信され224、MIM/MIB114/122マルウェアによって226上に伝えられ、銀行サーバによって受信され、有効性検証される228。これは、口座‘B’への不正取引の金額‘b’が有効性検証及び承認されるようにし、その後、インターネットバンキングポータル106は、さらなる取引確認ページ230を提供する。マルウェア114/122は、不正取引を隠すために、再び確認ページ232を修正することができる。実際に、精巧なマルウェア114/112は、資金が不正者の口座‘B’から引き出されるか、または振込まされ得る時間まで不正取引の発見を遅延させるために、ユーザーに自分のインターネットバンキングセッションにわたって続いて一貫した偽り情報を提示するであろう。   At the same time, the bank server generates a verification code 216 and transmits the code to the user's mobile phone via a back channel 218, such as an SMS messaging channel. The user receives the verification code 220 and enters 222 the verification code on the confirmation page displayed by the web browser 110. A confirmation code is then sent 224, transmitted on 226 by the MIM / MIB 114/122 malware, received by the bank server and validated 228. This allows the fraudulent transaction amount 'b' to account 'B' to be validated and approved, after which the internet banking portal 106 provides a further transaction confirmation page 230. The malware 114/122 can modify the confirmation page 232 again to hide fraudulent transactions. In fact, the sophisticated malware 114/112 allows the user over his / her internet banking session to delay the discovery of fraudulent transactions until the time funds can be withdrawn or transferred from the fraudulent account 'B'. It will then present consistent false information.

前記の実施例から理解されるように、損傷された主通信チャンネルに基づいたMIM、MIB、及び他の攻撃に関連する危険を阻止するか、または少なくとも緩和させることができる、改善された取引セキュリティ方法及びシステムが必要である。本発明は、このような改善を提供することに関する。   As can be appreciated from the foregoing embodiments, improved transaction security that can prevent or at least mitigate the risks associated with MIM, MIB, and other attacks based on a damaged primary communication channel What is needed is a method and system. The present invention is directed to providing such improvements.

一つの態様において、本発明は、第1の通信チャンネルを介して取引サーバに送信され、重要取引データの少なくとも1つの項目を含む1つ以上の取引メッセージを含む取引を安全に処理する方法を提供し、前記の方法は:
重要取引データの項目を含むユーザーの取引要求に対応する第1の取引メッセージを第1の通信チャンネルを介して取引サーバによって受信するステップと;
第1の取引メッセージの受信に応答して取引検証コードを生成するために、重要取引データに基づいて実行される1つ以上の動作を定義するワンタイムセキュリティデータを生成するステップと;
第1の通信チャンネルとは機能的に区別される第2の通信チャンネルを介してユーザーに前記ワンタイムセキュリティデータを送信するステップと、
第2の通信チャンネルを介した前記ワンタイムセキュリティデータの受信に応答してユーザーによって提供された第1の取引検証コードを含む第2の取引メッセージを第1の通信チャンネルを介して取引サーバによって受信するステップと;
受信された第1の取引メッセージ内に含まれた重要取引データに基づいてワンタイムセキュリティデータによって定義された動作を実行することによって第2の取引検証コードを生成するステップと;
第1の取引検証コードと第2の取引検証コードとを比較するステップと;及び
第1の取引検証コードと第2の取引検証コードとの間の不一致の場合、取引要求を拒否するステップと、を含む。
In one aspect, the present invention provides a method for securely processing a transaction that includes one or more transaction messages that are transmitted to a transaction server via a first communication channel and that include at least one item of significant transaction data. And the above method is:
Receiving a first transaction message corresponding to a user's transaction request including an item of significant transaction data by a transaction server via a first communication channel;
Generating one-time security data defining one or more actions to be performed based on the key transaction data to generate a transaction verification code in response to receiving the first transaction message;
Transmitting the one-time security data to a user via a second communication channel that is functionally distinct from the first communication channel;
A second transaction message including a first transaction verification code provided by a user in response to receiving the one-time security data via a second communication channel is received by the transaction server via the first communication channel. Step to do;
Generating a second transaction verification code by performing the operations defined by the one-time security data based on the key transaction data included in the received first transaction message;
Comparing the first transaction verification code with the second transaction verification code; and rejecting the transaction request if there is a mismatch between the first transaction verification code and the second transaction verification code; including.

有利には、本発明の実施形態は、検証コードが2つの遠隔位置で、例えば、エンドユーザー位置とセキュリティシステム位置から独立的に生成され得る技術的な配置を提供する。検証コードは、第1の通信チャンネルを介した伝送中に重要取引データの任意の修正が、独立的に生成された検証コードにおける不一致として検出され得るように、重要取引データの少なくとも1つの項目に依存する。第2のチャンネルは、検証コードを生成するために使用されるワンタイムセキュリティデータを送信するために使用される。その結果、本発明の実施形態によって提供されたセキュリティを損傷させることには、第1及び第2の通信チャンネルの両方の侵入が必要である。特に、1次取引メッセージが交換される第1のチャンネルを侵入したMIMまたはMIB攻撃者は、第2のチャンネルに対するアクセスの不在時、宛先銀行口座番号のような変更された重要取引データに対応する正確な検証コードを確実に生成することができない。   Advantageously, embodiments of the present invention provide a technical arrangement in which a verification code can be generated at two remote locations, eg, independently from an end user location and a security system location. The verification code is in at least one item of the key transaction data so that any modification of key transaction data can be detected as a mismatch in the independently generated verification code during transmission over the first communication channel. Dependent. The second channel is used to transmit one-time security data that is used to generate a verification code. As a result, breaching the security provided by embodiments of the present invention requires intrusion of both the first and second communication channels. In particular, an MIM or MIB attacker who has infiltrated the first channel with which the primary transaction message is exchanged responds to modified critical transaction data such as the destination bank account number in the absence of access to the second channel. An accurate verification code cannot be generated reliably.

本発明の実施形態によれば、ワンタイムセキュリティデータは、重要取引データに関連するシンボルセット内の各シンボルとコードセットからランダムに選択されるコード値との間のマッピングを含むセキュリティマトリックスを含み、これにより、重要取引データに基づいて実行される動作は、重要取引データの1つ以上のシンボルをマッピングによって定義された関連コード値に代替することによって置換コードを生成することを含む。セキュリティマトリックスは、取引の持続期間にのみ有効であり得る。   According to an embodiment of the present invention, the one-time security data includes a security matrix including a mapping between each symbol in the symbol set associated with the key transaction data and a code value randomly selected from the code set; Thereby, the operations performed based on the key transaction data include generating a replacement code by substituting one or more symbols of the key transaction data with an associated code value defined by the mapping. The security matrix may only be valid for the duration of the transaction.

セキュリティマトリックスマッピングの使用、例えば、コードセット(例えば、大文字、小文字、及び数字の完全なセット)から、シンボルの対応するランダム選択に対して、重要取引データを含むシンボル(例えば、重要データが口座番号である場合、数字‘0’〜‘9’)の使用は、有利には、ユーザーが技術的支援なしに検証コードを生成することができるようにし、これは単に、マトリックスを使用して口座番号の指定された数字を対応するコードシンボルにマッピングすることである。従って、セキュリティデータは、例えば、SMSメッセージングを介したセルラモバイルネットワークリンクを含む第2のチャンネルを介して送信され得る。   Use of security matrix mapping, for example from code sets (eg upper case, lower case, and complete set of numbers) to corresponding random selection of symbols, symbols containing important transaction data (eg important data account number The use of the numbers '0' to '9') advantageously allows the user to generate a verification code without technical assistance, which simply uses a matrix to account number Is to map the specified number of to the corresponding code symbol. Thus, the security data can be transmitted over a second channel including, for example, a cellular mobile network link via SMS messaging.

ワンタイムセキュリティデータは、取引検証コードを生成するために置換コードに対して実行される1つ以上の追加の動作を定義する補足的なセキュリティデータをさらに含むことができる。例えば、補足的なセキュリティデータによって定義される1つ以上の追加の動作は、取引検証コード内に含めるために、置換コードのシンボルなどのサブセットを選択することを含むことができる。補足的なセキュリティデータの一例は、検証コードを生成するために使用される口座番号の選択された数字を定義する仕様である。有利には、補足的なセキュリティデータの使用は、変更された重要取引データに対応する正確な検証コードを誘導するか、または推測しようとする際に、第1の通信チャンネルの侵入者に対するチャレンジレベルを高める。   The one-time security data can further include supplemental security data that defines one or more additional actions to be performed on the replacement code to generate a transaction verification code. For example, one or more additional actions defined by supplemental security data can include selecting a subset, such as a symbol of a replacement code, for inclusion in a transaction verification code. An example of supplemental security data is a specification that defines selected numbers of account numbers used to generate a verification code. Advantageously, the use of supplemental security data provides a challenge level for an intruder on the first communication channel when trying to derive or guess an accurate verification code corresponding to the changed critical transaction data. To increase.

本発明の実施形態において、取引検証コードは、重要取引データに基づいてワンタイムセキュリティデータによって定義された動作を実行することによって生成されるコードのハッシュ(hash)から誘導され得る。   In an embodiment of the present invention, the transaction verification code may be derived from a hash of code that is generated by performing the operations defined by the one-time security data based on the key transaction data.

いくつかの実施形態において、ワンタイムセキュリティデータは、ユーザーデバイス上で実行するソフトウェアアプリケーションによって処理するために、第2の通信チャンネルを介してユーザーデバイスに送信される。ソフトウェアアプリケーションは:
第2の通信チャンネルを介してワンタイムセキュリティデータを受信することと;
ユーザーから、ユーザーデバイスのユーザーインターフェースを介して、ワンタイムセキュリティデータに定義された動作によって取引セキュリティコードの生成のために必要な重要取引データを要求及び受信することと;
ユーザーから受信された重要取引データに基づいてワンタイムセキュリティデータによって定義された動作を実行することによって取引検証コードを生成することと;及び
生成された取引検証コードをユーザーデバイスのユーザーインターフェースを介してユーザーに提供することと、を実行するように構成される。
In some embodiments, the one-time security data is transmitted to the user device via the second communication channel for processing by a software application executing on the user device. Software applications are:
Receiving one-time security data via a second communication channel;
Requesting and receiving from the user important transaction data necessary for the generation of a transaction security code by means of an action defined in the one-time security data via the user interface of the user device;
Generating a transaction verification code by performing the actions defined by the one-time security data based on the key transaction data received from the user; and generating the generated transaction verification code via the user device user interface And providing to the user.

例えば、ソフトウェアアプリケーション[‘アプリ(app)’]は、スマートデバイス(例えば、ユーザーのスマートフォンまたはタブレット)上で実行するように構成され得る。その後、アプリは、機能的に区別された第2の通信チャンネルを介してセキュリティデータを受信し、ユーザーが重要取引データ(例えば、口座番号)を提供するように促し、取引検証コードを生成し、取引検証コードの人間が可読な表現を表示することができる。従って、アプリの使用から導出される特定の利点は、ユーザーによって入力された重要取引データに基づいて実行される動作が、より複雑になることができ、これにより、有利な技術支援なしにユーザーによって実際に実行され得るより限定された動作などのセットよりも潜在的により安全であることである。さらなる利点は、ヒューマンエラーの発生を減少させる可能性があることである。   For example, a software application ['app'] may be configured to run on a smart device (eg, a user's smartphone or tablet). The app then receives security data via a functionally differentiated second communication channel, prompts the user to provide key transaction data (eg, account number), generates a transaction verification code, A human readable representation of the transaction verification code can be displayed. Thus, certain benefits derived from the use of the app can make the actions performed based on the key transaction data entered by the user more complex, which allows the user to do without advantageous technical assistance. It is potentially safer than a set of more limited actions that can actually be performed. A further advantage is that it can reduce the occurrence of human errors.

別の態様において、本発明は、実行可能なプログラム命令を含むメモリストアに接続されるプロセッサを含むコンピュータサーバシステムを提供し、前記実行可能なプログラム命令は、実行されたとき、プロセッサが:
第1の通信チャンネルを介してユーザーにアクセス可能であり、ユーザーの取引要求に応答して取引を容易にするように構成された安全なサービスポータルを提供することと;
第1の通信チャンネルを介して、重要取引データの項目を含むユーザーの取引要求に対応する第1の取引メッセージを受信することに応答して、取引検証コードを生成するために重要取引データに基づいて実行される1つ以上の動作を定義するワンタイムセキュリティデータを生成することと;
第1の通信チャンネルとは機能的に区別される第2の通信チャンネルを介してユーザーに送信されて来たワンタイムセキュリティデータの受信に応答して、ユーザーによって提供された第1の取引検証コードを含む第2の取引メッセージを第1の通信チャンネルを介して受信することと;
受信された第1の取引メッセージ内に含まれた重要取引データに基づいてワンタイムセキュリティデータによって定義された動作を実行することによって第2の取引検証コードを生成することと;
第1の取引検証コードと第2の取引検証コードとを比較することと;及び
第1の取引検証コードと第2の取引検証コードとの間の不一致の場合、取引要求を拒否することと、を実行するようにする。
In another aspect, the present invention provides a computer server system including a processor coupled to a memory store that includes executable program instructions, when the executable program instructions are executed by the processor:
Providing a secure service portal accessible to a user via a first communication channel and configured to facilitate transactions in response to a user transaction request;
Responsive to receiving a first transaction message corresponding to a user's transaction request that includes an item of important transaction data via a first communication channel, based on the important transaction data to generate a transaction verification code. Generating one-time security data defining one or more actions to be performed;
A first transaction verification code provided by the user in response to receiving one-time security data transmitted to the user via a second communication channel that is functionally distinct from the first communication channel; Receiving a second transaction message including: via a first communication channel;
Generating a second transaction verification code by performing the operations defined by the one-time security data based on the key transaction data included in the received first transaction message;
Comparing the first transaction verification code with the second transaction verification code; and rejecting the transaction request if there is a mismatch between the first transaction verification code and the second transaction verification code; To execute.

本発明のいくつかの実施形態において、前記実行可能なプログラム命令は、実行されたとき、プロセッサが:
ワンタイムセキュリティデータの生成のための要求を安全な通信チャンネルを介して、ワンタイムセキュリティデータを生成するように構成されたセキュリティシステムに送信することによってワンタイムセキュリティデータを生成するようにする。
In some embodiments of the invention, when the executable program instructions are executed, the processor:
One-time security data is generated by sending a request for generation of one-time security data over a secure communication channel to a security system configured to generate the one-time security data.

有利には、セキュリティデータを生成するために別途のセキュリティシステムを使用することは、各サーバシステムにおいて全体セキュリティ機能を複製する必要なく、関連するセキュリティサービスを複数のサーバシステムで使用することができるようにする。また、エンドユーザーは、単一のセキュリティシステムプロバイダーに登録することができ、関連するユーザーの好みを単一のセキュリティシステムプロバイダーに確立することができる。ユーザーの好みは、取引検証コードを生成するために重要取引データに基づいて実行される動作の態様を修正または決定する好みを含むことができる。この方式で、2つの取引が同一のセキュリティデータによって保護される場合であっても、異なるユーザーの好みの適用が異なる取引検証コードを導出することができるという点で、追加的なセキュリティレベルが実現され得る。   Advantageously, using a separate security system to generate security data allows the associated security services to be used in multiple server systems without having to duplicate the overall security function in each server system. To. End users can also register with a single security system provider and establish relevant user preferences with a single security system provider. User preferences can include preferences that modify or determine the manner of operations performed based on key transaction data to generate a transaction verification code. This method provides an additional level of security in that even if two transactions are protected by the same security data, different transaction preference codes can be derived by applying different user preferences. Can be done.

いくつかの実施形態において、実行可能なプログラム命令は、実行されたとき、プロセッサが第2の取引検証コードを生成するようにし:
第1の取引検証コードを、安全な通信チャンネルを介してワンタイムセキュリティデータを生成するように構成されるセキュリティシステムに送信すること;及び
第1の取引検証コードと、受信された第1の取引メッセージ内に含まれた重要取引データに基づいてワンタイムセキュリティデータによって定義された動作を実行するセキュリティシステムによって生成されている第2の取引検証コードとの間の比較結果の表示を含む応答メッセージをセキュリティシステムから安全な通信チャンネルを介して受信することによって、第1の取引検証コードと第2の取引検証コードとを比較するようにする。
In some embodiments, the executable program instructions cause the processor to generate a second transaction verification code when executed:
Sending a first transaction verification code to a security system configured to generate one-time security data via a secure communication channel; and a first transaction verification code and a received first transaction A response message including a display of a comparison result with a second transaction verification code generated by a security system that performs an action defined by the one-time security data based on the key transaction data included in the message The first transaction verification code and the second transaction verification code are compared by receiving from the security system via a secure communication channel.

さらなる態様において、本発明は、実行可能なプログラム命令を含むメモリストアに接続されるプロセッサを含むセキュリティシステムを提供し、前記実行可能なプログラム命令は、実行されたとき、プロセッサが:
ワンタイムセキュリティデータの生成のための要求を遠隔プロセッサから安全な通信チャンネルを介して受信することと;
取引検証コードを生成するためにユーザーの取引の重要取引データに基づいて実行される1つ以上の動作を定義するワンタイムセキュリティデータを生成することと;
ワンタイムセキュリティデータを含むセキュリティメッセージを、通信バックチャンネルを介して、ユーザーのデバイスに送信することと;
重要取引データに基づいてユーザーによって生成され、1次通信チャンネルを介して遠隔プロセッサに提供される第1の取引検証コードを遠隔プロセッサから安全な通信チャンネルを介して受信することと;
ユーザーによって1次通信チャンネルを介して遠隔プロセッサに送信された取引メッセージ内に含まれた重要取引データに基づいて、ワンタイムセキュリティデータによって定義された動作を実行することによって第2の取引検証コードを生成することと;
第1の取引検証コードと第2の取引検証コードとを比較することと;および
第1の取引検証コードと第2の取引検証コードとの間の比較結果の表示を含む応答メッセージを安全な通信チャンネルを介して遠隔プロセッサに送信することと、を実行するようにする。
In a further aspect, the present invention provides a security system that includes a processor coupled to a memory store that includes executable program instructions, when the executable program instructions are executed by the processor:
Receiving a request for generation of one-time security data from a remote processor via a secure communication channel;
Generating one-time security data defining one or more actions to be performed based on key transaction data of the user's transaction to generate a transaction verification code;
Sending a security message containing one-time security data to the user's device via a communication back channel;
Receiving a first transaction verification code generated by a user based on the key transaction data and provided to the remote processor via the primary communication channel from the remote processor via a secure communication channel;
A second transaction verification code is obtained by performing an action defined by the one-time security data based on the key transaction data contained in the transaction message sent by the user to the remote processor via the primary communication channel. Generating;
Comparing a first transaction verification code with a second transaction verification code; and securely communicating a response message including an indication of a comparison result between the first transaction verification code and the second transaction verification code Transmitting to the remote processor via the channel.

実行可能なプログラム命令は、実行されたとき、プロセッサが、ワンタイムセキュリティデータを含むセキュリティメッセージを、遠隔プロセッサを介して、ユーザーのデバイスに送信させることができる。   Executable program instructions, when executed, cause the processor to send a security message including one-time security data to the user's device via the remote processor.

また別の態様において、本発明は、実行可能なプログラム命令を含むメモリストアに接続されるプロセッサを含むポータブル演算及び通信デバイスを提供し、前記実行可能なプログラム命令は、実行されたとき、プロセッサが:
取引検証コードを生成するために重要取引データに基づいて実行される1つ以上の動作を定義するワンタイムセキュリティデータを関連する通信チャンネルを介して受信することと;
重要取引データを入力しろというユーザーに対する促しをポータブル演算及び通信デバイスのユーザーインターフェースを介してユーザーに提示することと;
重要取引データをユーザーからユーザーインターフェースを介して受信することと;
重要取引データに基づいたワンタイムセキュリティデータによって定義された動作を実行することによって取引検証コードを生成することと;及び
取引検証コードの人間が可読な表現を、ユーザーインターフェースを介して、ユーザーに提示することと、を実行するようにする。
In yet another aspect, the present invention provides a portable computing and communication device that includes a processor coupled to a memory store that includes executable program instructions, the executable program instructions being executed by the processor when executed. :
Receiving one-time security data via an associated communication channel defining one or more actions to be performed based on key transaction data to generate a transaction verification code;
Presenting the user with a prompt to enter important transaction data via the portable computing and communication device user interface;
Receiving important transaction data from the user via the user interface;
Generating a transaction verification code by performing actions defined by one-time security data based on critical transaction data; and presenting a human-readable representation of the transaction verification code to the user via a user interface To do and to do.

実行可能なプログラム命令は、実行されたとき、プロセッサが、変換された重要取引データのハッシュを演算することを含む方法に従って、取引検証コードを生成させることができる。   Executable program instructions, when executed, may cause the processor to generate a transaction verification code according to a method that includes computing a hash of the converted key transaction data.

さらに別の態様において、本発明は、実行可能なプログラム命令が内部に格納されたコンピュータ可読媒体を含むコンピュータプログラム製品を提供し、前記実行可能なプログラム命令は、関連する通信チャンネルに接続されるプロセッサによって実行されたとき、プロセッサが:
取引検証コードを生成するために重要取引データに基づいて実行される1つ以上の動作を定義するワンタイムセキュリティデータを関連する通信チャンネルを介して受信することと;
重要取引データを入力しろというユーザーに対する促しを、ユーザーインターフェースを介して、ユーザーに提示することと;
重要取引データをユーザーからユーザーインターフェースを介して受信することと;
重要取引データに基づいてワンタイムセキュリティデータによって定義された動作を実行することによって取引検証コードを生成することと;及び
取引検証コードの人間が可読な表現を、ユーザーインターフェースを介して、ユーザーに提示することと、を実行するようにする。
In yet another aspect, the present invention provides a computer program product comprising a computer readable medium having executable program instructions stored therein, wherein the executable program instructions are connected to an associated communication channel. When executed by the processor:
Receiving one-time security data via an associated communication channel defining one or more actions to be performed based on key transaction data to generate a transaction verification code;
Presenting the user with a prompt through the user interface to enter important transaction data;
Receiving important transaction data from the user via the user interface;
Generating a transaction verification code by performing the actions defined by the one-time security data based on the key transaction data; and presenting a human-readable representation of the transaction verification code to the user via the user interface To do and to do.

様々な適用及び構成と共に、本発明の動作原理に対するさらなる詳細、及びそれらに関連する利点及び長所は、以下のような様々な実施形態の開示内容から理解されるであろう。しかしながら、これらの実施形態は、例として提供され、前記の説明のうちのいずれかの1つに、または添付された特許請求の範囲に定義された本発明の全体範囲を限定しようとするものではない。   Further details on the operating principles of the present invention, as well as various applications and configurations, and the advantages and advantages associated therewith, will be understood from the disclosure of the various embodiments as follows. However, these embodiments are provided by way of example and are not intended to limit the overall scope of the invention as defined in any one of the above descriptions or in the appended claims. Absent.

本発明の実施形態が、添付図面を参照して説明されるはずであり、ここで、類似の参照番号は類似の特徴部を示す。
図1a及び図1b はそれぞれ、従来技術による中間子(MIM)及びマン−イン−ザ−ブラウザ(MIB)シナリオを示すブロック図である。 図2は従来技術によるMIM/MIBエクスプロイト(exploit)に基づいた攻撃のタイムラインを示す図である。 図3は本発明を実現する例示的なシステムアーキテクチャを示すブロック図である。 図4は本発明を実現する検証コードの生成及び交換のタイムラインを示す図である。 図5は安全なサービスポータル(SSP)と本発明を実現するセキュリティシステムとの間の通信のタイムラインである。 図6は本発明を実現する取引セキュリティ方法を示すフローチャートである。 図7は本発明を実現するスマートデバイスアプリケーションの例示的なスクリーンディスプレイを示す図である。 図8は安全なサービスプロバイダーと本発明を実現するスマートデバイスアプリケーションとの間の信頼できるバックチャンネルを確立するためのシステムの概路図である。
Embodiments of the present invention should be described with reference to the accompanying drawings, wherein like reference numerals indicate like features.
FIGS. 1a and 1b are block diagrams illustrating meson (MIM) and man-in-the-browser (MIB) scenarios according to the prior art, respectively. FIG. 2 is a diagram showing an attack timeline based on the MIM / MIB exploit according to the prior art. FIG. 3 is a block diagram illustrating an exemplary system architecture for implementing the present invention. FIG. 4 is a diagram showing a timeline for generating and exchanging verification codes for realizing the present invention. FIG. 5 is a timeline for communication between a secure service portal (SSP) and a security system implementing the present invention. FIG. 6 is a flowchart showing a transaction security method for realizing the present invention. FIG. 7 is a diagram illustrating an exemplary screen display of a smart device application implementing the present invention. FIG. 8 is a schematic diagram of a system for establishing a reliable back channel between a secure service provider and a smart device application implementing the present invention.

図3は、本発明を実現するシステム300を示すブロック図である。インターネットのような公衆通信ネットワーク108は、クライアントデバイス304と安全なサービスポータル(SSP)106との間のメッセージングのために使用される。一般的に言えば、クライアントデバイス304は、例えば、ウェブブラウザソフトウェア及び/または他の接続されたアプリケーションを使用して、インターネット108を介して通信する能力を有する任意の適した演算または処理機器であり得る。同様に、SSP106を含むシステム300に示された他の構成要素は、一般的に、1つ以上の処理、演算及び/またはストレージデバイスを含む。本明細書において、‘プロセッサ’、‘コンピュータ’などのような用語は、文脈によって特に要求されない限り、ハードウェアとソフトウェアの組み合わせを含むデバイスまたは装置の様々な可能な実現例を言及するものと理解されるべきである。これは、共同配置または分布され得る協動するハードウェア及びソフトウェアプラットフォームを含み、シングルプロセッサ及びマルチプロセッサデバイス及び装置を含む。ハードウェアは、通常のパーソナルコンピュータアキテクチャーまたは他の汎用ハードウェアプラットフォームを含むことができる。ソフトウェアは、様々なアプリケーション及びサービスプログラムと組み合わせる商用可能なオペレーティングシステムソフトウェアを含むことができる。代替的に、演算または処理プラットフォームは、カスタム(custom)ハードウェア及び/またはソフトウェアアキテクチャーを含むことができる。向上したスケーラビリティのために、演算及び処理システムは、物理ハードウェアリソースがサービス要求に応答して動的に割り当てられ得るようにするクラウド演算プラットフォームを含むことができる。これらの変形例の全部は、本発明の範囲内に属するが、容易な説明及び理解のために、本明細書で説明される例示的な実施形態は、シングルプロセッサ汎用演算プラットフォーム、一般的に利用可能なオペレーティングシステムプラットフォーム、及び/またはデスクトップPC、ノートブックまたはラップトップPC、スマートフォンなどのような広く利用可能な消費者製品に基づく。   FIG. 3 is a block diagram illustrating a system 300 that implements the present invention. A public communications network 108, such as the Internet, is used for messaging between client devices 304 and secure service portal (SSP) 106. Generally speaking, client device 304 is any suitable computing or processing device that has the ability to communicate over the Internet 108 using, for example, web browser software and / or other connected applications. obtain. Similarly, other components shown in system 300 including SSP 106 typically include one or more processing, computing and / or storage devices. In this specification, terms such as 'processor', 'computer', etc. are understood to refer to various possible implementations of a device or apparatus including a combination of hardware and software, unless the context requires otherwise. It should be. This includes cooperating hardware and software platforms that can be co-located or distributed, including single processor and multiprocessor devices and apparatus. The hardware can include ordinary personal computer architectures or other general purpose hardware platforms. The software can include commercially available operating system software combined with various applications and service programs. Alternatively, the computing or processing platform can include custom hardware and / or software architecture. For improved scalability, the computing and processing system can include a cloud computing platform that allows physical hardware resources to be dynamically allocated in response to service requests. Although all of these variations are within the scope of the present invention, for ease of explanation and understanding, the exemplary embodiments described herein are single processor general purpose computing platforms, generally utilized. Based on possible operating system platforms and / or widely available consumer products such as desktop PCs, notebook or laptop PCs, smartphones and the like.

本発明の特徴を実現するソフトウェア構成要素は、ソフトウェア工学分野の熟練者に親しいように、任意の適したプログラミング言語、開発環境、または言語と開発環境との組み合わせを使用して開発され得る。例えば、適したソフトウェアは、Cプログラミング言語、ジャバ(Java)プログラミング言語、C++プログラミング言語、及び/またはジャバスクリプト(JavaScript)、HTML、PHP、ASP、JSPなどのようなネットワークまたはウェブベースサービスの実現に適した様々な言語を使用して開発され得る。これらの例は、限定しようとするものではなく、システム要求事項に従って、他の便利な言語または開発システムが使用され得ることが理解されるであろう。   Software components that implement the features of the present invention may be developed using any suitable programming language, development environment, or combination of language and development environment, as is familiar to those skilled in the software engineering field. For example, suitable software can be used to implement network or web-based services such as C programming language, Java programming language, C ++ programming language, and / or JavaScript, HTML, PHP, ASP, JSP, etc. It can be developed using a variety of suitable languages. It will be appreciated that these examples are not intended to be limiting and that other convenient languages or development systems may be used in accordance with system requirements.

例示的なシステム300において、SSP106は、プロセッサ312を含む。プロセッサ312は、不揮発性メモリ/ストレージデバイス314にインターフェースされるか、そうでなければそれと動作可能に結合される。不揮発性ストレージデバイス314は、ハードディスクドライブであることができ、及び/または読み出し専用メモリ(ROM)、フラッシュメモリなどのようなソリッド−ステート不揮発性メモリを含むことができる。プロセッサ312は、また、SSP106の動作に関するプログラム命令及び一時データを含むランダムアクセスメモリ(RAM)のような揮発性ストレージデバイス316にもインターフェースされる。   In the exemplary system 300, the SSP 106 includes a processor 312. The processor 312 is interfaced to or otherwise operatively coupled to the non-volatile memory / storage device 314. The non-volatile storage device 314 can be a hard disk drive and / or can include solid-state non-volatile memory such as read only memory (ROM), flash memory, and the like. The processor 312 is also interfaced to a volatile storage device 316 such as a random access memory (RAM) that contains program instructions and temporary data related to the operation of the SSP 106.

通常の構成において、ストレージデバイス114は、SSP106の正常動作に関する知られているプログラム及びデータコンテンツを維持する。例えば、ストレージデバイス314は、オペレーティングシステムプログラム及びデータだけでなく、SSP106の意図された機能に必要な他の実行可能なアプリケーションソフトウェアを含むことができる。ストレージデバイス314は、プロセッサ312によって実行されたとき、本発明による取引セキュリティシステムの一実施形態に関する動作を実行するように、SSP106に指示するプログラム命令をまた含む。動作中、ストレージデバイス314上に保持された命令及びデータは、要求による実行のために揮発性メモリ316に転送される。   In a normal configuration, the storage device 114 maintains known programs and data content regarding the normal operation of the SSP 106. For example, the storage device 314 can include operating system programs and data, as well as other executable application software required for the intended function of the SSP 106. The storage device 314 also includes program instructions that when executed by the processor 312 direct the SSP 106 to perform operations relating to one embodiment of the transaction security system according to the present invention. In operation, instructions and data held on the storage device 314 are transferred to the volatile memory 316 for execution upon request.

プロセッサ312は、また、通常の方式で通信インターフェース318と動作可能に結合される。通信インターフェース318は、公衆データ通信ネットワーク108に対するアクセスを容易にする。   The processor 312 is also operatively coupled to the communication interface 318 in the normal manner. Communication interface 318 facilitates access to public data communication network 108.

使用中、揮発性ストレージデバイス316は、特に図4及び図5に示されたタイムラインを参照して後述するように、システムの様々な機能要素を含む、本発明の特徴を実現する処理及び動作を実行するように構成されたプログラム命令の対応する本体320を含む。   In use, the volatile storage device 316 includes processes and operations that implement the features of the present invention, including the various functional elements of the system, as will be described below with particular reference to the timelines shown in FIGS. Includes a corresponding body 320 of program instructions configured to execute.

SSP106は、公衆ネットワーク108を介して直接アクセスすることができるように意図されないシステム300の他の要素と安全に通信するために使用される、プライベートネットワーク324に対するアクセスを提供するさらなるネットワークインターフェース322をさらに含むことができる。プライベートネットワーク324は、公衆ネットワーク108と物理的に区別され得るか、または公衆ネットワーク108の基盤施設を物理的に使用する仮想プライベートネットワーク(virtual private network:VPN)として実現されることができ、これにより、ネットワークインターフェース322は、公衆ネットワークインターフェース318とハードウェア構成要素を共有することができる仮想ネットワークインターフェースである。従って、用語‘ネットワークインターフェース’は、本明細書を通して使用される場合、文脈によって特に要求されない限り、1つ以上の対応する物理的または仮想的な通信ネットワークを介して他のデバイスと情報を交換するために必要な様々な通信プロトコルを実現する物理ハードウェア及び/またはネットワークインターフェースソフトウェア(プロトコルスタック)の組み合わせを指すということが理解されるであろう。   The SSP 106 further includes a further network interface 322 that provides access to the private network 324 that is used to securely communicate with other elements of the system 300 that are not intended to be directly accessible via the public network 108. be able to. The private network 324 can be physically distinguished from the public network 108 or can be implemented as a virtual private network (VPN) that physically uses the infrastructure of the public network 108. The network interface 322 is a virtual network interface that can share hardware components with the public network interface 318. Thus, the term 'network interface' as used throughout this specification exchanges information with other devices via one or more corresponding physical or virtual communication networks unless specifically required by context. It will be understood that it refers to a combination of physical hardware and / or network interface software (protocol stack) that implements the various communication protocols required to achieve this.

システム300に示されたように、SSP106は、プライベートネットワーク324を介してセキュリティシステム326と通信することができる。セキュリティシステム326は、また、図3のブロック図内で単純化された形態で示されるサーバプラットフォームである。セキュリティシステム326は、さらなる不揮発性メモリ/ストレージデバイス330にインターフェースされるか、そうでなければ、それと動作可能に関連付けられるプロセッサ328を含む。プロセッサ328は、また、セキュリティシステム326の動作に関するプログラム命令及び一時データを含む揮発性ストレージデバイス332にもインターフェースされる。   As shown in system 300, SSP 106 can communicate with security system 326 via private network 324. Security system 326 is also a server platform shown in simplified form in the block diagram of FIG. Security system 326 includes a processor 328 that is interfaced to, or otherwise operatively associated with, additional non-volatile memory / storage device 330. The processor 328 is also interfaced to a volatile storage device 332 that contains program instructions and temporary data relating to the operation of the security system 326.

プロセッサ328は、プライベートネットワーク324を介してSSP106と通信することができる通信インターフェース334と動作可能に結合される。   The processor 328 is operatively coupled to a communication interface 334 that can communicate with the SSP 106 via the private network 324.

使用中、揮発性ストレージデバイス332は、特に図5のタイムラインを参照して、以下に説明するシステムの様々な機能要素を含む、本発明の特徴を実現する処理及び動作を実行するように構成されたプログラム命令の対応する本体336を含む。   In use, the volatile storage device 332 is configured to perform processes and operations that implement the features of the present invention, including various functional elements of the system described below, particularly with reference to the timeline of FIG. Corresponding body 336 of the programmed program instructions.

セキュリティシステム326の一般的な機能は、SSP106から要求を受信すること、及びMIM及びMIB攻撃に対して強力な検証コードの生成のために使用され得るワンタイムセキュリティデータを生成することである。いくつかの実施形態において、図4を参照して以下でより詳細に説明されるように、ワンタイムセキュリティデータは、検証マトリックスまたはテーブルを含む。   The general function of the security system 326 is to receive requests from the SSP 106 and generate one-time security data that can be used for generation of strong verification codes against MIM and MIB attacks. In some embodiments, the one-time security data includes a verification matrix or table, as described in more detail below with reference to FIG.

セキュリティシステム326は、例えば、不揮発性ストレージデバイス330内に、ユーザー口座情報のデータベースを維持する。このユーザーデータベースは、システム300の各エンドユーザー、すなわち、クライアントアプライアンス304を動作させるユーザーに対するレコードを含む。各ユーザーレコードは、固有のユーザー識別子(ID)、及び関連キーワードまたはパスワードを含む。ユーザーレコードは、セキュリティシステム326の使用と、セキュリティシステム326によって提供されたサービスを使用するSSP106のようなすべての安全なシステム、デバイス及びサービスの使用に関連するユーザーの好みをまた含む。例えば、ユーザー認証(例えば、安全なログイン)のためにシステム326と対応する特徴を有するセキュリティシステムの使用は、2014年10月21日に許与された、共同に譲渡された米国特許第8,869,255号に開示されている。   Security system 326 maintains a database of user account information, for example, in non-volatile storage device 330. This user database includes a record for each end user of system 300, ie, the user operating client appliance 304. Each user record includes a unique user identifier (ID) and an associated keyword or password. The user record also includes user preferences related to the use of the security system 326 and the use of all secure systems, devices and services such as the SSP 106 that use the services provided by the security system 326. For example, the use of a security system having features corresponding to system 326 for user authentication (eg, secure login) is disclosed in commonly assigned US Pat. No. 8, granted on October 21, 2014. 869,255.

プライベートネットワーク324は、また、ネットワーク終端ユニット(network termination unit:NTU)340を介して公衆交換電話ネットワーク(public switched telephony network:PSTN)のような電気通信サービスプロバイダーネットワーク338にも接続される。これは、SSP106、セキュリティシステム326、及び/またはプライベートネットワーク324に接続された任意の他のシステムがPSTN338を介してエンドユーザーとの通信に関与することができるようにする。このような通信は、音声電話通話、自動電話通話、及びSMSメッセージングを含むことができる。例示的なシステム300において、PSTN338は、クライアントデバイス304を介してSSP106にもアクセスしているエンドユーザーのモバイルデバイス344との通信を容易にする、セルラーモバイル基地局342に接続されたものと示されている。   The private network 324 is also connected to a telecommunications service provider network 338, such as a public switched telephone network (PSTN), through a network termination unit (NTU) 340. This allows SSP 106, security system 326, and / or any other system connected to private network 324 to participate in communication with the end user via PSTN 338. Such communications can include voice telephone calls, automatic telephone calls, and SMS messaging. In exemplary system 300, PSTN 338 is shown connected to cellular mobile base station 342 that facilitates communication with end-user mobile device 344 also accessing SSP 106 via client device 304. ing.

従って、システム300によれば、エンドユーザーは、インターネットバンキングサービスのような安全なサービスを提供することができる、公衆ネットワーク108を介したクライアント装置304とSSP106との間の1次または主通信チャンネルを有する。さらに、PSTN338を介してプライベートネットワーク324上の安全なシステムをエンドユーザーデバイス344に接続する2次チャンネル(バックチャンネルとも呼ばれる)がある。このバックチャンネルは、公衆ネットワーク108を介して主チャンネルに配置された任意のMIM、MIB、または他の損傷エンティティにアクセスできないように、図4を参照してより詳細に説明されるようにワンタイムセキュリティデータ、例えば、セキュリティマトリックスまたはテーブルを送信するために使用され得る。   Thus, according to the system 300, an end user can provide a primary or primary communication channel between the client device 304 and the SSP 106 over the public network 108 that can provide a secure service, such as an Internet banking service. Have. In addition, there is a secondary channel (also called a back channel) that connects a secure system on the private network 324 to the end user device 344 via the PSTN 338. This back channel is one-time as described in more detail with reference to FIG. 4 so that any MIM, MIB, or other damaged entity located in the main channel is not accessible via the public network 108. It can be used to send security data, for example a security matrix or table.

ここで、図4を参照すると、本発明を実現する検証コード生成及び交換を示すタイムライン400が示されている。タイムライン400における送信は、図2の従来技術の実現例200に示されたように、バックチャンネル送信218、及び以下の主チャンネル確認送信224、226と対応する。   Turning now to FIG. 4, a timeline 400 illustrating verification code generation and exchange that implements the present invention is shown. The transmissions in the timeline 400 correspond to the back channel transmission 218 and the following main channel confirmation transmissions 224, 226, as shown in the prior art implementation 200 of FIG.

本発明の実施形態によれば、バックチャンネルを介してエンドユーザークライアントデバイスに送信される固定検証コードを生成する代わりに、SSP106は、ワンタイムセキュリティデータの生成のための要求をセキュリティシステム326に発行する。図4に示された例では、ワンタイムセキュリティマトリックスまたはテーブル402が生成され、これは、Kキーシンボルなど(テーブル402の最上段行に示す)のセットとNコードシンボルなど(テーブル402の下段行に示す)の対応するセットとの間のマッピングを含む。このマッピングは、実質的にランダムまたは疑似ランダムであり、SSP106によって、または例示的なシステム300内の任意の他のエンティティによって事前に予測されることができない。この例において、ワンタイムセキュリティデータは、また補足的なセキュリティデータ403を含み、その目的は後述される。   According to embodiments of the present invention, instead of generating a fixed verification code that is sent to the end-user client device over the back channel, the SSP 106 issues a request to the security system 326 to generate one-time security data. To do. In the example shown in FIG. 4, a one-time security matrix or table 402 is generated, which includes a set of K key symbols (shown in the top row of table 402) and N code symbols (bottom row of table 402). Mapping) to the corresponding set of This mapping is substantially random or pseudo-random and cannot be predicted in advance by the SSP 106 or by any other entity in the example system 300. In this example, the one-time security data also includes supplemental security data 403, the purpose of which will be described later.

セキュリティデータ402の生成を要求する際に、SSP106は、セキュリティマトリックス402が任意の関連ユーザーの好みに従って、それだけでなく、SSP106の要求事項に従って生成され得るように、クライアントデバイス304の対応するユーザーを識別することができる。ユーザー及び/またはSSP好みまたは要求事項は、最上段行上のKキーシンボルなどを構成するシンボルなどの特定のセット、及びテーブル402の下段行上のマッピングに使用されるコードシンボルなどの数及び属性のような事項を含むことができる。一般に、NはKよりも小さいか、それと同じか、それより大きいことができ、キーシンボルとコードシンボルとの間のマッピングは、一意である必要がなく、すなわち、コードシンボルは再使用され得る。本発明の実施形態は、対応する検証コード(例えば、後述するように生成された)を傍受することができるMIMまたはMIB攻撃者がセキュリティマトリックス402を傍受せずに対応する不正検証コードを生成することができる可能性を大幅に減少させようとする。   In requesting the generation of security data 402, the SSP 106 identifies the corresponding user of the client device 304 so that the security matrix 402 can be generated according to any relevant user's preferences as well as according to the requirements of the SSP 106. can do. User and / or SSP preferences or requirements are specific number of attributes such as K key symbols on the top row, etc., and numbers and attributes such as code symbols used for mapping on the bottom row of table 402 Can include such matters as In general, N can be less than, equal to, or greater than K, and the mapping between key symbols and code symbols need not be unique, ie, code symbols can be reused. Embodiments of the present invention generate a corresponding fraud verification code without intercepting the security matrix 402 by an MIM or MIB attacker that can intercept the corresponding verification code (eg, generated as described below). Try to greatly reduce the possibility of being able to.

本発明の実施形態によれば、キーシンボルセットは、ユーザーの取引の1つ以上の重要構成要素の要素に対応するように選択される。例えば、インターネットバンキング振込みの場合、受取人口座番号は、MIM/MIB攻撃者によって不正に改ざんされることができれば、資金が承認されていない口座に振り込まれることができるので重要である。口座番号が‘0’と‘9’との間の桁数からなると仮定すると、このような桁などのセットは、マトリックス402の上段行内のキーシンボルセットを含む。次いで、ユーザーは、重要な受取人口座番号の一部またはすべての数字に基づいて検証コードを生成するように要求され得る。コードは、口座番号の各桁を、セキュリティマトリックス402の最下段行からの対応するコードシンボルで置換することによって生成される。さらに、補足的なセキュリティデータ403は、取引のための検証コードを生成するために使用される受取人口座番号の4桁の数字(7番目、8番目、10番目及び11番目)を識別する。   According to embodiments of the present invention, the key symbol set is selected to correspond to one or more key component elements of the user's transaction. For example, in the case of Internet banking transfers, the recipient account number is important because if the money can be tampered with by an MIM / MIB attacker, the funds can be transferred to an unauthorized account. Assuming that the account number consists of digits between ‘0’ and ‘9’, such a set of digits includes the key symbol set in the upper row of the matrix 402. The user may then be required to generate a verification code based on some or all digits of the important payee account number. The code is generated by replacing each digit of the account number with the corresponding code symbol from the bottom row of the security matrix 402. Further, supplemental security data 403 identifies the four digit numbers (7th, 8th, 10th and 11th) of the payee account number used to generate a verification code for the transaction.

さらに、ユーザーは、セキュリティシステム326によって維持される関連ユーザーの好みに従って、検証コードを生成する間に口座数字(すなわち、キーシンボル)及び/またはコードシンボルに対して一部の操作を実行することができる。このような操作及び好みは、以下でより詳細に説明されるはずであるが、本例では、キーシンボルとコードシンボルとの間の直接マッピングの簡単な場合が説明される。   Further, the user may perform some operations on account numbers (ie, key symbols) and / or code symbols while generating a verification code according to the relevant user preferences maintained by security system 326. it can. Such operations and preferences will be described in more detail below, but in this example, a simple case of direct mapping between key symbols and code symbols is described.

セキュリティマトリックスマッピング402がエンドユーザーに送信される正確なフォーマットは重要ではなく、バックチャンネルの属性に依存することができる。例えば、ユーザーデバイス344は、グラフィックフォーマットで情報を表示することができ、この場合に、セキュリティマトリックス402は、対応するグラフィックフォーマットで送信され得る。代替的に、バックチャンネルがSMSバックチャンネルである場合には、セキュリティマトリックス402の表現をテキストフォーマット、例えば、‘0=X;1=a;2=Q;…’などに送信することがより便利であり得る。   The exact format in which the security matrix mapping 402 is sent to the end user is not critical and can depend on the attributes of the back channel. For example, the user device 344 can display information in a graphic format, in which case the security matrix 402 can be transmitted in the corresponding graphic format. Alternatively, if the back channel is an SMS back channel, it is more convenient to send the representation of the security matrix 402 to a text format, eg, '0 = X; 1 = a; 2 = Q; It can be.

セキュリティマトリックス402が送信されるフォーマットに関わらず、タイムライン400は、ワンタイムセキュリティデータ402、403及び受取人口座番号(345−001 91567182)に従う検証コードの生成を示す。404において示したように、対応する検証コードは、口座番号の7番目、8番目、10番目及び11番目の桁(‘9’、‘1’、‘6’及び‘7’)をマトリックス402内の対応するシンボル、すなわち、‘h’、‘a’、M、‘s’にマッピングすることによって得られた‘haMs’である。この検証コードは、ユーザーによって自分のウェブブラウザ上に提示された確認スクリーンに入力され、主チャンネルを介して送信される406。   Regardless of the format in which the security matrix 402 is transmitted, the timeline 400 shows the generation of verification codes according to the one-time security data 402, 403 and payee account number (345-001 91561822). As indicated at 404, the corresponding verification code includes the seventh, eighth, tenth and eleventh digits ('9', '1', '6' and '7') of the account number in the matrix 402. Corresponding symbols, ie, 'haMs' obtained by mapping to 'h', 'a', M, 's'. This verification code is entered into the confirmation screen presented by the user on his web browser and transmitted 406 via the main channel.

コードは、通常の実施形態に従って、何らの変更もなく、単純に送信408を介してこのコードを通過するMIM/MIB114/122によって傍受される。しかしながら、MIM/MIB114/122が取引を改ざんするために受取人口座番号を事前に修正したので、送信406から送信408に通過されたコードは、SSP106によって最初に受信された口座番号と一致しない。従って、SSP106が検証コード404を受信して有効性を検証しようとするとき、この有効性の検証は失敗するはずであり、重要取引情報の不正修正が検出されるであろう。また、MIM/MIB攻撃者114/122がセキュリティマトリックスマッピングシステムが使用されたことを気付いた場合であっても、ワンタイムセキュリティデータ402、403を得るために、バックチャンネルに対するアクセスなしに不正に修正された受取人口座番号と一致させるための検証コードを生成することができない。従って、本発明を実現するシステム及び方法は、図1a、図1b及び図2に関連して前記で示されて記述されたように、既存のMIM/MIB攻撃を阻止することができるか、少なくとも大幅に緩和させることができる。   The code is intercepted by the MIM / MIB 114/122 that simply passes this code via transmission 408, without any change, according to the normal embodiment. However, the code passed from transmission 406 to transmission 408 does not match the account number originally received by SSP 106 because MIM / MIB 114/122 pre-modified the payee account number to tamper with the transaction. Thus, when the SSP 106 receives the verification code 404 and attempts to verify the validity, this validity verification should fail and an unauthorized modification of the key transaction information will be detected. Also, even if the MIM / MIB attacker 114/122 notices that the security matrix mapping system has been used, in order to obtain the one-time security data 402 and 403, it is illegally modified without access to the back channel. A verification code cannot be generated to match the received payee account number. Thus, the system and method embodying the present invention can prevent existing MIM / MIB attacks, as shown and described above in connection with FIGS. 1a, 1b and 2, or at least It can be greatly relaxed.

図5は、SSP106と本発明の実施形態によるセキュリティシステム326との間の通信を示すタイムライン500を示す。タイムライン500に示した送信は、図4のタイムライン400に示した交換の前後に生じる。これらの送信は、SSP106がセキュリティマトリックス402を生成するためにセキュリティシステム326によって提供されたサービスを活用して、エンドユーザーから再び受信された検証コードを有効性検証することができるようにする。しかし、理解され得るように、セキュリティシステム326がSSP106とは別途の遠隔サービスとして実施される必要はない。セキュリティシステム326と共に示され、それに関連するすべての機能は、代替的にSSP106の構成要素として実現され得る。しかし、遠隔サービスとしてのセキュリティシステム326の実施形態は、全体機能が各場合に複製される必要なく、少なくとも関連するセキュリティサービスが複数のSSP106によって使用され得るようにする利点がある。また、エンドユーザーは、単一のセキュリティシステムプロバイダーに登録し、自分の関連ユーザーの好みをデータベース330内に確立した後に、複数のSSPプロバイダーにわたって同一の口座及び好みを使用することができる。   FIG. 5 shows a timeline 500 illustrating communication between the SSP 106 and the security system 326 according to an embodiment of the present invention. The transmission shown in the timeline 500 occurs before and after the exchange shown in the timeline 400 of FIG. These transmissions allow the SSP 106 to take advantage of the services provided by the security system 326 to generate the security matrix 402 and validate the verification code received again from the end user. However, as can be appreciated, the security system 326 need not be implemented as a remote service separate from the SSP 106. All functions shown and associated with security system 326 may alternatively be implemented as a component of SSP 106. However, the embodiment of security system 326 as a remote service has the advantage that at least the associated security service can be used by multiple SSPs 106 without the entire function needing to be replicated in each case. End users can also use the same account and preferences across multiple SSP providers after registering with a single security system provider and establishing their associated user preferences in database 330.

タイムライン500に示したように、SSP106が有効性検証を必要とする要求された取引細目を受信したとき、セキュリティシステム326に送信される要求502を生成する。この要求は、互換可能なワンタイムセキュリティデータを生成するためにセキュリティシステム326によって要求される任意の追加情報またはパラメーターを識別することができる。例えば、要求502は、セキュリティシステム326がデータベース330からの任意の関連ユーザーの好みをセキュリティマトリックスの生成に組み込むことができるように、ユーザーの識別を含むことができる。要求502は、このような特定の有効性検証要求に特定されるSSP106によって供給された任意のパラメーターをまた含むことができる。例えば、ワンタイムセキュリティデータがセキュリティマトリックスを含む場合、パラメーターは、受取人口座番号に基づいた有効性検証のために‘0’と‘9’の間の桁のみを含むことができるキーシンボルセットの識別を含むことができる。しかし、他の文脈において、検証コードの生成に使用された取引情報は、キーシンボルセットが、例えば、すべてのアルファベット文字及び選択された特殊文字を含めてより大きくなるように、口座名のようなものなどを含むことができる。さらに、要求502は、コードシンボルセット、及び/またはコードシンボルセットに使用すべきシンボルなどの数Nを定義したパラメーターを含むことができる。   As shown in timeline 500, when SSP 106 receives the requested transaction details that require validation, it generates a request 502 that is sent to security system 326. This request may identify any additional information or parameters required by security system 326 to generate compatible one-time security data. For example, the request 502 can include the user's identification so that the security system 326 can incorporate any relevant user preferences from the database 330 into the generation of the security matrix. The request 502 can also include any parameters supplied by the SSP 106 specified in such a specific validity verification request. For example, if the one-time security data includes a security matrix, the parameters can be a key symbol set that can only contain digits between '0' and '9' for validity verification based on the payee account number. Identification can be included. However, in other contexts, the transaction information used to generate the verification code may be such as an account name so that the key symbol set is larger, including all alphabetic characters and selected special characters, for example. Things can be included. Further, the request 502 can include a parameter defining a number N such as a code symbol set and / or symbols to be used for the code symbol set.

要求502の受信時、セキュリティシステム326は、対応するセキュリティマトリックスを生成し、そのマトリックスを含む応答504が送信される。その後、SSP106、またはシステム300の他の構成要素が、応答504で返送されたセキュリティマトリックスを使用して、バックチャンネルを介してユーザーデバイス344にユーザーに送信されるメッセージを生成するであろう。   Upon receipt of the request 502, the security system 326 generates a corresponding security matrix and a response 504 containing that matrix is transmitted. Thereafter, SSP 106, or other components of system 300, will use the security matrix returned in response 504 to generate a message that is sent to the user device 344 over the back channel to the user.

その後、ユーザーは、タイムライン400に示されたように、SSP106に再送信される検証コード404を生成して入力する。その後、SSP106は、セキュリティシステム326に対するさらなる要求506を生成する。このさらなる要求506は、セキュリティシステム326が主チャンネルを介して受信された検証コードを有効性検証し、検証コードが成功的に有効性検証されるか否かを示すさらなる応答508を返送するためのことである。セキュリティシステム326に送信されたメッセージ506は、セキュリティシステム326が検証コードを有効性検証するために必要なパラメーターを含むことができる。これらのパラメーターは、ユーザーの識別、返送された検証コード自体、及び検証コードを生成するために使用される関連取引細目、例えば、受取人口座番号、または他の重要情報を含むことができる。その後、セキュリティシステム326は、エンドユーザーによって入力され、返送されるべき検証コードを再生性するために、取引細目と共に、応答504を介して事前に生成され返送されたワンタイムセキュリティデータのそのレコード、及びデータベース330から検索された任意の関連ユーザーの好みを使用する。その後、このように局部的に生成された検証コードは、取引が有効性検証されるか否かを決定するために、要求506に含まれたコードと比較され得る。その比較の結果が、応答508に返送される。その後、SSP106は、有効性検証結果508によって取引を実行するか否かを決定することができる。   The user then generates and enters a verification code 404 that is retransmitted to the SSP 106 as shown in the timeline 400. The SSP 106 then generates a further request 506 for the security system 326. This further request 506 is for the security system 326 to validate the verification code received over the primary channel and return a further response 508 indicating whether the verification code is successfully validated. That is. The message 506 sent to the security system 326 may include parameters necessary for the security system 326 to validate the verification code. These parameters may include the user's identification, the returned verification code itself, and the relevant transaction details used to generate the verification code, such as the payee account number, or other important information. Thereafter, the security system 326 may record that record of the one-time security data that was previously generated and returned via the response 504, along with the transaction details, to regenerate the verification code to be entered and returned by the end user. And any relevant user preferences retrieved from the database 330. The locally generated verification code can then be compared to the code included in request 506 to determine whether the transaction is validated. The result of the comparison is returned in response 508. Thereafter, the SSP 106 can determine whether to execute the transaction according to the validity verification result 508.

前述したように、本発明のいくつかの実施形態において、ユーザーは、セキュリティシステム326に登録されることができ、検証コード404を生成するためにキーシンボル及び/またはコードシンボルに対して実行される追加の操作を定義するユーザー口座レコード内に格納された関連ユーザーの好みデータを有することができる。ユーザーに提供されることができ、自分の口座レコード内に格納され得る可能な操作の徹底的でないリストが以下に列挙され、一般に、検証コードを修正するための適した操作は、セキュリティシステム326が共同に譲渡された米国特許第8,869,255号に記述されたような認証(例えば、安全なログイン)サービスを提供するようにまた構成されるときに利用可能な操作のサブセットを含むことができる。実際に、いくつかの実施形態において、セキュリティシステム326は、複数の目的のために、例えば、ログインプロセスの一部として、ユーザーを最初に認証し、続いてユーザーが要求した取引を有効性検証するためにSSP106によって使用され得る。この方式で、MIM/MIB攻撃者114/122が初期ログインプロセス中にユーザーのパスワードを取得することがまた防止され得る。   As described above, in some embodiments of the present invention, a user can be registered with security system 326 and executed on key symbols and / or code symbols to generate verification code 404. It can have associated user preference data stored in a user account record that defines additional operations. A non-exhaustive list of possible operations that can be provided to the user and that can be stored in his / her account record is listed below, and generally suitable operations for modifying the verification code are described by security system 326. Including a subset of operations available when also configured to provide an authentication (eg, secure login) service as described in co-assigned US Pat. No. 8,869,255. it can. Indeed, in some embodiments, the security system 326 may initially authenticate the user for multiple purposes, eg, as part of a login process, and subsequently validate the transaction requested by the user. Can be used by the SSP 106. In this manner, the MIM / MIB attacker 114/122 may also be prevented from obtaining the user's password during the initial login process.

ユーザーの好みによって提供され得る操作は、以下を含む:
・ポジティブオフセット(positive offset)、すなわち、検証コード404を生成する際に各コード値に適用される増分(必要な場合、数字は、9+1=0となるようにラップすることができ、文字はZ+1=Aとなるようにラップすることができる);
・ネガティブオフセット(negative offset)、すなわち、各コード値に適用される減分(必要な場合、逆ラッピングが使用され得る);
・増分がポジティブオフセットのように各コード値に適用されるが、増分自体の大きさは検証コードの各要素によって増加する、増加型ポジティブ増分、またはポジティブ‘クロール(crawl)’;
・減分がネガティブオフセットのように各コード値に適用されるが、減分の大きさが検証コードの各要素によって増加する、増加型ネガティブ増分;及び/または
・検証コードを公式化するために使用すべき全体コード内のコード値などのサブセットを識別する、マスク(従って、マスクは、前記実施例で記述された補足的なセキュリティデータ403と類似の機能を実行するが、‘取引当たり(per transaction)’基準ではなく。‘ユーザー当たり(per−user)’基準で実行する)。
Operations that can be provided by user preferences include:
Positive offset, ie the increment applied to each code value when generating the verification code 404 (if necessary, the number can be wrapped so that 9 + 1 = 0, the character is Z + 1 = Can be wrapped to be A);
A negative offset, ie a decrement applied to each code value (reverse wrapping can be used if necessary);
An increment is applied to each code value as a positive offset, but the magnitude of the increment itself is increased by each element of the verification code, an incremental positive increment, or positive 'crawl';
A decrement is applied to each code value as a negative offset, but the magnitude of the decrement is increased by each element of the verification code; and / or • used to formulate the verification code A mask that identifies a subset of code values within the overall code to be performed (thus, the mask performs a similar function as the supplemental security data 403 described in the previous embodiment, but 'per transaction ) Run on a 'per-user' basis, not on a 'standard').

ここで、図6を参照すると、前述したタイムライン及び一般的なシステムアーキテクチャに対応する、本発明を実現する取引セキュリティ方法を示すフローチャート600が示されている。   Referring now to FIG. 6, a flowchart 600 illustrating a transaction security method implementing the present invention corresponding to the timeline and general system architecture described above is shown.

ステップ602において、ユーザーは、SSP106で認証する。この認証は、ユーザーID及びパスワードのような識別及び認証情報を使用してSSP106にサインインすることを含むことができる。選択的に、認証プロセスは、米国特許第8,869,255号に記述されたような方式でセキュリティシステム326のサービスを使用することによってより安全になることができる。   In step 602, the user authenticates with the SSP 106. This authentication can include signing in to the SSP 106 using identification and authentication information such as a user ID and password. Optionally, the authentication process can be made more secure by using the services of security system 326 in a manner as described in US Pat. No. 8,869,255.

ステップ604において、ユーザーは、取引を実行することを望み、例えば、インターネットバンキングポータルを介した資金振込みの場合に、受取人口座番号及び取引金額のような重要な細目を含む取引細目を入力する。ステップ606において、取引細目は、SSP106に送信され、その時点で、MIM/MIB攻撃者114/122による潜在的な傍受にさらされる。   In step 604, the user wishes to perform a transaction and enters transaction details including important details such as payee account number and transaction amount, for example, in the case of funds transfer via an internet banking portal. In step 606, the transaction details are sent to the SSP 106, at which time they are exposed to potential interception by the MIM / MIB attacker 114/122.

ステップ608において、ワンタイムセキュリティデータが、例えば、SSP106とセキュリティシステム326との間の相互作用502,504を介して生成される。結果として生じたセキュリティデータは、バックチャンネルを介して送信される。   In step 608, one-time security data is generated, for example, via interactions 502, 504 between SSP 106 and security system 326. The resulting security data is transmitted over the back channel.

ステップ610において、SSP106は、ユーザーが検証コードを入力するための機能を含む確認ページを生成してエンドユーザーに提供する。ユーザーは、セキュリティデータ、重要取引細目、及び任意の適用可能なユーザーの好みに従って適切な検証コードを決定し、その後、ステップ612でコードを入力する。   In step 610, the SSP 106 generates a confirmation page that includes functionality for the user to enter a verification code and provides it to the end user. The user determines an appropriate verification code according to the security data, key transaction details, and any applicable user preferences, and then enters the code at step 612.

ステップ614において、ユーザーによって入力された検証コードはSSP106に送信され、その時点で、MIM/MIB攻撃者114/122による潜在的な傍受及び再送信を受ける。   In step 614, the verification code entered by the user is sent to the SSP 106, at which time it is subject to potential interception and retransmission by the MIM / MIB attacker 114/122.

ステップ616において、例えば、図5に示されたように、SSP106とセキュリティシステム326との間の相互作用506、508を介して、検証コードが有効性検証される。このような有効性検証結果に応じて、ステップ618で取引が確認されるか、または拒否される。   In step 616, the verification code is validated via interactions 506, 508 between the SSP 106 and the security system 326, for example, as shown in FIG. Depending on the validity verification result, the transaction is confirmed or rejected at step 618.

前記実施形態の説明は、本発明の原理を例示する役割を果たすが、エンドユーザーに追加的な便宜を提供する変形例を含め、多くの変形例が可能であることが理解されるであろう。例えば、スマートフォンまたはタブレットのような‘スマートデバイス’のユーザーには、検証コードの生成を支援するために専用アプリケーション(または‘アプリ’)が提供され得る。例えば、専用アプリ、SSP106及び/またはセキュリティシステム326からユーザーに代わって通信を受信することができる。これらの通信は、例えば、信頼される発信番号からのSMSを介して、またはセキュリティシステム326及びアプリ内の適切にセキュリティされたコード要素などのみに知られた秘密情報(例えば、秘密キー)に基づいて、インターネットまたは一部の他の通信ネットワークを介して確立され得る安全な暗号化されたチャンネルを介して受信され得る。   While the description of the above embodiment serves to illustrate the principles of the present invention, it will be understood that many variations are possible, including variations that provide additional convenience to the end user. . For example, a user of a 'smart device' such as a smartphone or tablet may be provided with a dedicated application (or 'app') to assist in generating a verification code. For example, communications can be received on behalf of a user from a dedicated app, SSP 106 and / or security system 326. These communications are based on, for example, secret information (eg, secret keys) known only via SMS from a trusted caller number, or only by security system 326 and properly secured code elements within the app. May be received over a secure encrypted channel that may be established over the Internet or some other communication network.

図7は、本発明を実現するスマートフォンアプリの例示的なスクリーンディスプレイを示す。ユーザーは、SSP106との取引を開始する前にアプリを開いてアプリの実行を開始することができるか、またはアプリは、バックチャンネルをモニタリングして、セキュリティマトリックス情報402の受信時に自動的に開かれることができる。このとき、ディスプレイ700は、テキスト入力ボックス702を介して関連取引細目、例えば、インターネットバンキング資金振込みの受取人口座番号を入力することをユーザーに促すことを示すことができる。受信されたセキュリティマトリックスデータと共に、この情報を所有すると、アプリは、検証コードを演算して確認ページに入力するために、すなわち、プロセス600のステップ612でユーザーに提示することができる。対応する例示的なスクリーンディスプレイ704は、ユーザーに対応する検証コード706を提供する。   FIG. 7 shows an exemplary screen display of a smartphone app that implements the present invention. The user can open the app and start running the app before initiating a transaction with the SSP 106, or the app can be automatically opened upon receipt of the security matrix information 402 by monitoring the back channel. be able to. At this time, the display 700 may indicate that the user is prompted to enter the relevant transaction details, for example, the internet banking fund transfer recipient account number, via the text entry box 702. Having this information along with the received security matrix data, the app can present the verification code to the user for computing and entering the confirmation page, ie, step 612 of process 600. A corresponding exemplary screen display 704 provides a verification code 706 corresponding to the user.

検証コード706を生成するためにユーザーがスマートフォンアプリまたは類似のものを使用する実施形態では、ユーザーが検証コードを手動で生成する必要があるときに妥当であるものよりも、より複雑な演算が使用され得る。例えば、アプリは、重要取引データの項目(例えば、受取人口座番号702)を対応する検証コード706に変換するために実行される動作を指定するセキュリティマトリックス402及び/または他のワンタイムセキュリティデータを受信することができる。前記動作は、例えば、MD5、SHA−1、SHA−2、または他の公知されたハッシングアルゴリズムを使用して、変換された重要取引データのハッシュを演算することを含むことができ、検証コードは、演算されたハッシュから導出され得る。この場合、MIM/MIB攻撃者が検証コードから元の変換された重要取引データを導出することは、計算上妥当でないことであるため、攻撃者が重要取引データに適用された変換を決定することは不可能である。従って、MIM/MIB攻撃者は、任意の不正に修正された重要取引データと一致するそれ自体の検証コードを生成することができないであろう。   In embodiments where the user uses a smartphone app or the like to generate the verification code 706, more complex operations are used than would be appropriate when the user needs to generate the verification code manually. Can be done. For example, the app may include a security matrix 402 and / or other one-time security data that specifies the actions to be performed to convert an item of significant transaction data (eg, payee account number 702) into a corresponding verification code 706. Can be received. The operation can include computing a hash of the transformed key transaction data using, for example, MD5, SHA-1, SHA-2, or other known hashing algorithms, and the verification code is Can be derived from the computed hash. In this case, since it is not computationally valid for the MIM / MIB attacker to derive the original transformed key transaction data from the verification code, the attacker determines the transformation applied to the key transaction data. Is impossible. Thus, the MIM / MIB attacker would not be able to generate its own verification code that matches any fraudulently modified critical transaction data.

図8は、安全なサービスプロバイダーと本発明を実現するスマートデバイスアプリとの間の信頼バックチャンネルを確立するためのシステム800の概路図である。示したように、アプリが通信するセキュリティシステム326は、どのような潜在的な攻撃者に対してもアクセスできないように、安全に格納される関連秘密キー806を有する。対応する公開キー804は、アプリが自分の公式供給源から始まったものであることを保障する、アップルアプリストア(Apple App Store)またはグーグル プレイ(Google Play)のような信頼できるアプリストア808を介してエンドユーザーが利用できるようにするスマートデバイスアプリ806に事前にロードされ、エンドユーザーデバイス810にダウンロードする前に修正または改ざんされない。一応エンドユーザーデバイス804上で実行すると、アプリは、固有の暗号キーを生成し、事前にロードされた公開キー804を使用して暗号化し、暗号化された暗号キーをセキュリティシステム326に送信することができる。その後、このような固有の暗号キーは、セキュリティシステム326とユーザースマートデバイス804との間の対称的暗号化通信のために使用され得る。セキュリティを強化するために、対称暗号化キーは、必要に応じて、頻繁にユーザーデバイス804上のアプリによって再生性されることができ、特にそれぞれの使用後に代替され得る。   FIG. 8 is a schematic diagram of a system 800 for establishing a trust back channel between a secure service provider and a smart device app that implements the present invention. As shown, the security system 326 with which the app communicates has an associated secret key 806 that is securely stored so that it cannot be accessed by any potential attacker. The corresponding public key 804 is via a trusted app store 808, such as Apple App Store or Google Play, which ensures that the app originated from its official source. Pre-loaded into the smart device app 806 to be made available to the end user and not modified or tampered before downloading to the end user device 810. Once executed on the end user device 804, the app generates a unique encryption key, encrypts it using the pre-loaded public key 804, and sends the encrypted encryption key to the security system 326. Can do. Such a unique encryption key can then be used for symmetric encrypted communication between the security system 326 and the user smart device 804. To enhance security, the symmetric encryption key can be frequently replayed by the app on the user device 804 as needed, and can be specifically replaced after each use.

代替の実施形態において、信頼できるアプリストア802から入手可能なアプリに事前にロードされた情報は、アプリがセキュリティシステム326で発信した着信SMSメッセージを認識できるように、セキュリティシステム326に関連付けられた固有の電話番号であり得る。   In an alternative embodiment, information pre-loaded into an app available from trusted app store 802 is unique to the security system 326 so that the app can recognize incoming SMS messages originated by the security system 326. Phone number.

本発明の特定の実施形態及び変形例が本明細書に記述されたが、さらなる修正例及び代替例が関連技術分野の当業者には明らかであることが理解されるであろう。特に、これらの実施例などは、本発明の原理を例示するために提供され、該原理を実施するための多数の特定の方法を提供することである。一般に、本発明の実施形態は、検証コードが2つの遠隔位置で、例えば、エンドユーザー位置及びセキュリティシステム位置において、独立的に生成され得る技術的配置を提供することに依拠し、ここで、検証コードは、1次通信チャンネルを介した伝送中の重要取引データの任意の修正が独立的に生成された検証コードなどでの不一致として検出され得るように、重要取引データの少なくとも1つの項目に依存する。本発明を実現する配置は、検証コードを生成するために使用されるワンタイムセキュリティデータをセキュリティシステム位置からエンドユーザー位置に送信するために2次チャンネルを使用する。従って、本発明の実施形態によって提供されたセキュリティを組織的に損傷させることは、1次及び2次通信チャンネルの両方の侵入を必要とする。   While particular embodiments and variations of the invention have been described herein, it will be appreciated that further modifications and alternatives will be apparent to those skilled in the relevant art. In particular, these examples and the like are provided to illustrate the principles of the invention and provide a number of specific ways to implement the principles. In general, embodiments of the present invention rely on providing a technical arrangement where verification codes can be generated independently at two remote locations, eg, at an end-user location and a security system location, where verification The code depends on at least one item of key transaction data so that any modification of key transaction data in transit over the primary communication channel can be detected as a discrepancy, such as in an independently generated verification code To do. An arrangement implementing the present invention uses a secondary channel to transmit one-time security data used to generate the verification code from the security system location to the end user location. Thus, systematically damaging the security provided by embodiments of the present invention requires intrusion of both primary and secondary communication channels.

従って、記述された実施形態は、本発明の一般的な特徴及び原理を教示する目的のために例として提供されるものとして理解されるべきであり、添付された特許請求の範囲に定義された本発明の範囲を限定するものとして理解されるべきではない。   Accordingly, the described embodiments are to be understood as being provided by way of example for the purpose of teaching general features and principles of the invention and as defined in the appended claims. It should not be understood as limiting the scope of the invention.

Claims (15)

第1の通信チャンネルを介して取引サーバに送信され、重要取引データの少なくとも1つの項目を含む1つ以上の取引メッセージを含む取引を安全に処理する方法として:
重要取引データの項目を含むユーザーの取引要求に対応する第1の取引メッセージを前記第1の通信チャンネルを介して前記取引サーバによって受信するステップと;
前記第1の取引メッセージの受信に応答して取引検証コードを生成するために、前記重要取引データに基づいて実行される1つ以上の動作を定義するワンタイムセキュリティデータを生成するステップと;
前記第1の通信チャンネルとは機能的に区別される第2の通信チャンネルを介して前記ユーザーに前記ワンタイムセキュリティデータを送信するステップと;
前記第2の通信チャンネルを介した前記ワンタイムセキュリティデータの受信に応答して前記ユーザーによって提供された第1の取引検証コードを含む第2の取引メッセージを前記第1の通信チャンネルを介して前記取引サーバによって受信するステップと;
前記受信された第1の取引メッセージ内に含まれた前記重要取引データに基づいて前記ワンタイムセキュリティデータによって定義された前記動作を実行することによって第2の取引検証コードを生成するステップと;
前記第1の取引検証コードと前記第2の取引検証コードとを比較するステップと;及び
前記第1の取引検証コードと前記第2の取引検証コードとの間の不一致の場合、前記取引要求を拒否するステップと、を含む、方法。
As a method of securely processing a transaction that is sent over a first communication channel to a transaction server and that includes one or more transaction messages that include at least one item of important transaction data:
Receiving a first transaction message corresponding to a user transaction request including an item of significant transaction data by the transaction server via the first communication channel;
Generating one-time security data defining one or more actions to be performed based on the key transaction data to generate a transaction verification code in response to receiving the first transaction message;
Transmitting the one-time security data to the user via a second communication channel that is functionally distinct from the first communication channel;
A second transaction message including a first transaction verification code provided by the user in response to receipt of the one-time security data over the second communication channel via the first communication channel. Receiving by the transaction server;
Generating a second transaction verification code by performing the operation defined by the one-time security data based on the important transaction data included in the received first transaction message;
Comparing the first transaction verification code and the second transaction verification code; and if there is a mismatch between the first transaction verification code and the second transaction verification code, the transaction request And a step of rejecting.
前記ワンタイムセキュリティデータは、前記重要取引データに関連するシンボルセット内の各シンボルとコードセットからランダムに選択されるコード値との間のマッピングを含むセキュリティマトリックスを含み、前記重要取引データに基づいて実行される前記動作は、前記重要取引データの1つ以上のシンボルを前記マッピングによって定義された関連コード値に代替することによって置換コードを生成することを含む、請求項1に記載の方法。   The one-time security data includes a security matrix including a mapping between each symbol in the symbol set associated with the key transaction data and a code value randomly selected from the code set, and based on the key transaction data The method of claim 1, wherein the operation performed comprises generating a replacement code by substituting one or more symbols of the key transaction data with an associated code value defined by the mapping. 前記セキュリティマトリックスは、前記取引の持続期間にのみ有効である、請求項2に記載の方法。   The method of claim 2, wherein the security matrix is only valid for the duration of the transaction. 前記ワンタイムセキュリティデータは、前記取引検証コードを生成するために前記置換コードに対して実行される1つ以上の追加の動作を定義する補足的なセキュリティデータをさらに含む、請求項2に記載の方法。   The one-time security data further comprises supplemental security data defining one or more additional actions to be performed on the replacement code to generate the transaction verification code. Method. 前記補足的なセキュリティデータによって定義された前記1つ以上の追加の動作は、前記取引検証コード内に含めるために前記置換コードのシンボルなどのサブセットを選択することを含む、請求項4に記載の方法。   The one or more additional actions defined by the supplemental security data include selecting a subset, such as a symbol of the replacement code, for inclusion in the transaction verification code. Method. 前記取引検証コードは、前記重要取引データに基づいて前記ワンタイムセキュリティデータによって定義された動作を実行することによって生成されたコードのハッシュから導出される、請求項1に記載の方法。   The method of claim 1, wherein the transaction verification code is derived from a hash of a code generated by performing an operation defined by the one-time security data based on the key transaction data. 前記ワンタイムセキュリティデータは、ユーザーデバイス上で実行するソフトウェアアプリケーションによって処理するために、前記第2の通信チャンネルを介して前記ユーザーデバイスに送信され、前記ソフトウェアアプリケーションは:
前記第2の通信チャンネルを介して前記ワンタイムセキュリティデータを受信することと;
前記ユーザーから、前記ユーザーデバイスのユーザーインターフェースを介して、前記ワンタイムセキュリティデータに定義された動作によって前記取引セキュリティコードの生成のために必要な前記重要取引データを要求及び受信することと;
ユーザーから受信された重要取引データに基づいてワンタイムセキュリティデータによって定義された動作を実行することによって取引検証コードを生成することと;及び
前記生成された取引検証コードを前記ユーザーデバイスの前記ユーザーインターフェースを介して前記ユーザーに提供することと、を実行するように構成される、請求項1に記載の方法。
The one-time security data is transmitted to the user device via the second communication channel for processing by a software application executing on the user device, the software application:
Receiving the one-time security data via the second communication channel;
Requesting and receiving from the user the critical transaction data required for the generation of the transaction security code by an operation defined in the one-time security data via a user interface of the user device;
Generating a transaction verification code by performing an action defined by one-time security data based on important transaction data received from a user; and generating the transaction verification code in the user interface of the user device The method of claim 1, wherein the method is configured to perform providing to the user via
実行可能なプログラム命令を含むメモリストアに接続されるプロセッサを含むコンピュータサーバシステムであって、前記実行可能なプログラム命令は、実行されたとき、前記プロセッサが:
第1の通信チャンネルを介してユーザーにアクセス可能であり、前記ユーザーの取引要求に応答して取引を容易にするように構成された安全なサービスポータルを提供することと;
前記第1の通信チャンネルを介して、重要取引データの項目を含む前記ユーザーの取引要求に対応する第1の取引メッセージを受信することに応答して、取引検証コードを生成するために前記重要取引データに基づいて実行される1つ以上の動作を定義するワンタイムセキュリティデータを生成することと;
前記第1の通信チャンネルとは機能的に区別される第2の通信チャンネルを介して前記ユーザーに送信されて来た前記ワンタイムセキュリティデータの受信に応答して、ユーザーによって提供された第1の取引検証コードを含む第2の取引メッセージを第1の通信チャンネルを介して受信することと;
前記受信された第1の取引メッセージ内に含まれた前記重要取引データに基づいて前記ワンタイムセキュリティデータによって定義された前記動作を実行することによって第2の取引検証コードを生成することと;
前記第1の取引検証コードと前記第2の取引検証コードとを比較することと;及び
前記第1の取引検証コードと前記第2の取引検証コードとの間の不一致の場合、前記取引要求を拒否することと、を実行するようにする、コンピュータサーバシステム。
A computer server system including a processor connected to a memory store that includes executable program instructions, when the executable program instructions are executed, the processor:
Providing a secure service portal accessible to a user via a first communication channel and configured to facilitate a transaction in response to the user's transaction request;
In response to receiving a first transaction message corresponding to the user's transaction request including an item of important transaction data via the first communication channel, the important transaction to generate a transaction verification code. Generating one-time security data defining one or more actions to be performed based on the data;
In response to receiving the one-time security data transmitted to the user via a second communication channel that is functionally distinct from the first communication channel, a first provided by the user Receiving a second transaction message including a transaction verification code via the first communication channel;
Generating a second transaction verification code by performing the operations defined by the one-time security data based on the key transaction data included in the received first transaction message;
Comparing the first transaction verification code and the second transaction verification code; and in the case of a mismatch between the first transaction verification code and the second transaction verification code, A computer server system that performs the refusal.
前記実行可能なプログラム命令は、実行されたとき、前記プロセッサが:
前記ワンタイムセキュリティデータの生成のための要求を、前記ワンタイムセキュリティデータを生成するように構成されるセキュリティシステムに、安全な通信チャンネルを介して送信することによって前記ワンタイムセキュリティデータを生成するようにする、請求項8に記載のコンピュータサーバシステム。
When the executable program instructions are executed, the processor:
Generating the one-time security data by transmitting a request for generation of the one-time security data to a security system configured to generate the one-time security data via a secure communication channel; The computer server system according to claim 8.
前記実行可能なプログラム命令は、実行されたとき、前記プロセッサが、前記第2の取引検証コードを生成するようにし:
前記第1の取引検証コードを、安全な通信チャンネルを介して前記ワンタイムセキュリティデータを生成するように構成されるセキュリティシステムに送信すること;及び
前記第1の取引検証コードと前記受信された第1の取引メッセージ内に含まれた前記重要取引データに基づいて前記ワンタイムセキュリティデータによって定義された前記動作を実行するセキュリティシステムによって生成されている前記第2の取引検証コードとの間の比較結果の表示を含む応答メッセージをセキュリティシステムから安全な通信チャンネルを介して受信することによって、前記第1の取引検証コードと前記第2の取引検証コードとを比較するようにする、請求項8に記載のコンピュータサーバシステム。
The executable program instructions, when executed, cause the processor to generate the second transaction verification code:
Transmitting the first transaction verification code to a security system configured to generate the one-time security data via a secure communication channel; and the first transaction verification code and the received first Comparison result between the second transaction verification code generated by a security system that performs the operation defined by the one-time security data based on the important transaction data included in one transaction message 9. The first transaction verification code and the second transaction verification code are compared by receiving a response message including an indication of via a secure communication channel from a security system. Computer server system.
実行可能なプログラム命令を含むメモリストアに接続されるプロセッサを含むセキュリティシステムであって、前記実行可能なプログラム命令は、実行されたとき、前記プロセッサが:
ワンタイムセキュリティデータの生成のための要求を遠隔プロセッサから安全な通信チャンネルを介して受信することと;
取引検証コードを生成するためにユーザーの取引の重要取引データに基づいて実行される1つ以上の動作を定義するワンタイムセキュリティデータを生成することと;
前記ワンタイムセキュリティデータを含むセキュリティメッセージを、通信バックチャンネルを介して、前記ユーザーのデバイスに送信することと;
前記重要取引データに基づいて前記ユーザーによって生成され、1次通信チャンネルを介して遠隔プロセッサに提供される第1の取引検証コードを前記遠隔プロセッサから前記安全な通信チャンネルを介して受信することと;
前記ユーザーによって前記1次通信チャンネルを介して遠隔プロセッサに送信された取引メッセージ内に含まれた重要取引データに基づいて、前記ワンタイムセキュリティデータによって定義された前記動作を実行することによって第2の取引検証コードを生成することと;
前記第1の取引検証コードと前記第2の取引検証コードとを比較することと、;及び
前記第1の取引検証コードと前記第2の取引検証コードとの間の比較結果の表示を含む応答メッセージを前記安全な通信チャンネルを介して前記遠隔プロセッサに送信することと、を実行するようにする、セキュリティシステム。
A security system including a processor connected to a memory store that includes executable program instructions, when the executable program instructions are executed, the processor:
Receiving a request for generation of one-time security data from a remote processor via a secure communication channel;
Generating one-time security data defining one or more actions to be performed based on key transaction data of the user's transaction to generate a transaction verification code;
Sending a security message including the one-time security data to the user's device via a communication back channel;
Receiving a first transaction verification code generated by the user based on the critical transaction data and provided to a remote processor via a primary communication channel from the remote processor via the secure communication channel;
By performing the operations defined by the one-time security data based on key transaction data included in a transaction message sent by the user to a remote processor via the primary communication channel. Generating a transaction verification code;
Comparing the first transaction verification code with the second transaction verification code; and a response including an indication of a comparison result between the first transaction verification code and the second transaction verification code Sending a message to the remote processor via the secure communication channel.
前記実行可能なプログラム命令は、実行されたとき、前記プロセッサが、前記ワンタイムセキュリティデータを含む前記セキュリティメッセージを、前記遠隔プロセッサを介して、前記ユーザーの前記デバイスに送信させる、請求項11に記載のセキュリティシステム。   12. The executable program instructions, when executed, cause the processor to send the security message including the one-time security data to the user's device via the remote processor. Security system. 実行可能なプログラム命令を含むメモリストアに接続されるプロセッサを含むポータブル演算及び通信デバイスであって、前記実行可能なプログラム命令は、実行されたとき、前記プロセッサが:
取引検証コードを生成するために重要取引データに基づいて実行される1つ以上の動作を定義するワンタイムセキュリティデータを関連する通信チャンネルを介して受信することと;
前記重要取引データを入力しろというユーザーに対する促しを前記ポータブル演算及び通信デバイスのユーザーインターフェースを介してユーザーに提示することと;
前記重要取引データをユーザーから前記ユーザーインターフェースを介して受信することと;
前記重要取引データに基づいて前記ワンタイムセキュリティデータによって定義された前記動作を実行することによって前記取引検証コードを生成することと;及び
前記取引検証コードの人間が可読な表現を、前記ユーザーインターフェースを介して、前記ユーザーに提示することと、を実行するようにする、ポータブル演算及び通信デバイス。
A portable computing and communication device that includes a processor connected to a memory store that includes executable program instructions when the executable program instructions are executed by the processor:
Receiving one-time security data via an associated communication channel defining one or more actions to be performed based on key transaction data to generate a transaction verification code;
Presenting a prompt to the user to enter the key transaction data to the user via the portable computing and communication device user interface;
Receiving the important transaction data from a user via the user interface;
Generating the transaction verification code by performing the operations defined by the one-time security data based on the key transaction data; and a human-readable representation of the transaction verification code for the user interface A portable computing and communication device for performing the presenting to the user.
前記実行可能なプログラム命令は、実行されたとき、前記プロセッサが、変換された重要取引データのハッシュを演算することを含む方法に従って、前記取引検証コードを生成させる、請求項13に記載のポータブル演算及び通信デバイス。   14. The portable computation of claim 13, wherein the executable program instructions, when executed, cause the processor to generate the transaction verification code according to a method that includes computing a hash of transformed key transaction data. And communication devices. 実行可能なプログラム命令が格納されたコンピュータ可読媒体を含むコンピュータプログラム製品であって、前記実行可能なプログラム命令は、関連する通信チャンネルに接続されるプロセッサによって実行されたとき、前記プロセッサが:
取引検証コードを生成するために重要取引データに基づいて実行される1つ以上の動作を定義するワンタイムセキュリティデータを関連する通信チャンネルを介して受信することと;
前記重要取引データを入力しろというユーザーに対する促しを、ユーザーインターフェースを介して、ユーザーに提示することと;
前記重要取引データを前記ユーザーから前記ユーザーインターフェースを介して受信することと;
前記重要取引データに基づいて前記ワンタイムセキュリティデータによって定義された前記動作を実行することによって前記取引検証コードを生成することと;及び
前記取引検証コードの人間が可読な表現を、前記ユーザーインターフェースを介して、前記ユーザーに提示することと、を実行するようにする、コンピュータプログラム製品。
A computer program product comprising a computer readable medium having executable program instructions stored thereon, wherein when the executable program instructions are executed by a processor connected to an associated communication channel, the processor:
Receiving one-time security data via an associated communication channel defining one or more actions to be performed based on key transaction data to generate a transaction verification code;
Presenting the user with a prompt through the user interface to enter the key transaction data;
Receiving the important transaction data from the user via the user interface;
Generating the transaction verification code by performing the operations defined by the one-time security data based on the key transaction data; and a human-readable representation of the transaction verification code for the user interface A computer program product for performing to the user.
JP2017554348A 2015-04-17 2016-04-15 Method and system for transaction security Pending JP2018519562A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562149270P 2015-04-17 2015-04-17
US62/149,270 2015-04-17
PCT/AU2016/050279 WO2016164984A1 (en) 2015-04-17 2016-04-15 Method and system for transaction security

Publications (1)

Publication Number Publication Date
JP2018519562A true JP2018519562A (en) 2018-07-19

Family

ID=57125452

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017554348A Pending JP2018519562A (en) 2015-04-17 2016-04-15 Method and system for transaction security

Country Status (10)

Country Link
US (1) US20180130056A1 (en)
EP (1) EP3284241A4 (en)
JP (1) JP2018519562A (en)
KR (1) KR20170140215A (en)
CN (1) CN107534668A (en)
AU (1) AU2016250293A1 (en)
CA (1) CA2982865A1 (en)
HK (1) HK1243834A1 (en)
SG (1) SG11201708124RA (en)
WO (1) WO2016164984A1 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180204423A1 (en) * 2015-12-25 2018-07-19 Hitachi-Omron Terminal Solutions, Corp. Automatic transaction system
EP3532926A1 (en) * 2016-10-31 2019-09-04 Harman Becker Automotive Systems GmbH Software update mechanism for safety critical systems
EP3803649A1 (en) * 2018-06-03 2021-04-14 Apple Inc. User interfaces for transfer accounts
CN109862562A (en) * 2019-01-02 2019-06-07 武汉极意网络科技有限公司 A kind of dynamic verification code choosing method and system
US11146954B2 (en) 2019-10-08 2021-10-12 The Toronto-Dominion Bank System and method for establishing a trusted session
US20210248600A1 (en) * 2020-02-07 2021-08-12 Mastercard International Incorporated System and method to secure payment transactions
CN112712368B (en) * 2021-02-23 2021-12-14 深圳亚桐荟科技有限公司 Cloud security account management method based on big data and cloud security platform
CN113364777B (en) * 2021-06-07 2022-11-11 中国工商银行股份有限公司 Identity security verification method and system

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030149869A1 (en) * 2002-02-01 2003-08-07 Paul Gleichauf Method and system for securely storing and trasmitting data by applying a one-time pad
KR20040103581A (en) * 2003-05-29 2004-12-09 나인섭 Secondary Authentication and gateway System for Banking
JP3996939B2 (en) * 2006-03-30 2007-10-24 株式会社シー・エス・イー Offline user authentication system, method thereof, and program thereof
US8239680B2 (en) * 2006-07-26 2012-08-07 Japan Science And Technology Agency Secret communication method and secret communication device thereof
KR20100049882A (en) * 2008-11-04 2010-05-13 (주)에이티솔루션 Method for internet banking using mobile
US20100125635A1 (en) * 2008-11-17 2010-05-20 Vadim Axelrod User authentication using alternative communication channels
CN101540031A (en) * 2009-05-04 2009-09-23 李勇 Confirmation method for ensuring data validity in network electronic trade
KR101232373B1 (en) * 2010-06-11 2013-02-12 주식회사 하나은행 Smart phone with bank security card application, method for providing bank security card usint the smart phone and device of managing security card
CN101950403A (en) * 2010-09-15 2011-01-19 中国工商银行股份有限公司 Data processing method, device and system based on internet banking
US8869255B2 (en) * 2010-11-30 2014-10-21 Forticom Group Ltd Method and system for abstracted and randomized one-time use passwords for transactional authentication
KR101202245B1 (en) * 2011-02-15 2012-11-20 동서대학교산학협력단 System and Method For Transferring Money Using OTP Generated From Account Number
CN102202300B (en) * 2011-06-14 2016-01-20 上海众人网络安全技术有限公司 A kind of based on twin-channel dynamic cipher authentication system and method
WO2014027110A1 (en) * 2012-08-16 2014-02-20 Cargonis Gmbh Authentication method and system
CN104243157A (en) * 2013-06-24 2014-12-24 阿里巴巴集团控股有限公司 Method and device for user identity authentication

Also Published As

Publication number Publication date
WO2016164984A1 (en) 2016-10-20
EP3284241A1 (en) 2018-02-21
HK1243834A1 (en) 2018-07-20
EP3284241A4 (en) 2018-12-19
KR20170140215A (en) 2017-12-20
US20180130056A1 (en) 2018-05-10
CN107534668A (en) 2018-01-02
SG11201708124RA (en) 2017-11-29
CA2982865A1 (en) 2016-10-20
AU2016250293A1 (en) 2019-01-17

Similar Documents

Publication Publication Date Title
US9838205B2 (en) Network authentication method for secure electronic transactions
US9231925B1 (en) Network authentication method for secure electronic transactions
US9485254B2 (en) Method and system for authenticating a security device
JP4861417B2 (en) Extended one-time password method and apparatus
JP6012125B2 (en) Enhanced 2CHK authentication security through inquiry-type transactions
JP2018519562A (en) Method and system for transaction security
US9083746B2 (en) Method of providing assured transactions using secure transaction appliance and watermark verification
US9391982B1 (en) Network authentication of multiple profile accesses from a single remote device
KR101879758B1 (en) Method for Generating User Digital Certificate for Individual User Terminal and for Authenticating Using the Same Digital Certificate
CN111131416A (en) Business service providing method and device, storage medium and electronic device
US20210399897A1 (en) Protection of online applications and webpages using a blockchain
CN112448930A (en) Account registration method, device, server and computer readable storage medium
AU2009295193A1 (en) Method and system for user authentication
JP5186648B2 (en) System and method for facilitating secure online transactions
US11184339B2 (en) Method and system for secure communication
KR102211033B1 (en) Agency service system for accredited certification procedures
JP6454493B2 (en) Authentication system, authentication method, and authentication program
CA2904646A1 (en) Secure authentication using dynamic passcode
US20210194919A1 (en) System and method for protection against malicious program code injection
JP6560649B2 (en) Authentication server, terminal device, system, authentication method, and program
Corella et al. Fundamental Security Flaws in the 3-D Secure 2 Cardholder Authentication Specification
CN117062078A (en) Online identity authentication system, method and equipment for mobile internet
KR20190020542A (en) Generating digital signature messages using a script engine in a device and an external mobile terminal
Mannan et al. Using a personal device to strengthen password authentication from an untrusted computer (revised march 2007)

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191210

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200630