[go: up one dir, main page]

KR20170140215A - 거래 시큐리티를 위한 방법 및 시스템 - Google Patents

거래 시큐리티를 위한 방법 및 시스템 Download PDF

Info

Publication number
KR20170140215A
KR20170140215A KR1020177030657A KR20177030657A KR20170140215A KR 20170140215 A KR20170140215 A KR 20170140215A KR 1020177030657 A KR1020177030657 A KR 1020177030657A KR 20177030657 A KR20177030657 A KR 20177030657A KR 20170140215 A KR20170140215 A KR 20170140215A
Authority
KR
South Korea
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.)
Withdrawn
Application number
KR1020177030657A
Other languages
English (en)
Inventor
안토니 스맬즈
Original Assignee
포티코드 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 포티코드 리미티드 filed Critical 포티코드 리미티드
Publication of KR20170140215A publication Critical patent/KR20170140215A/ko
Withdrawn 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
    • H04L29/06
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Computer And Data Communications (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)

Abstract

거래는 제1 통신 채널을 통해 거래 서버에 송신되는 하나 이상의 메시지를 포함한다. 각 거래 메시지는 중요 거래 데이터의 적어도 하나의 항목을 포함한다. 거래를 안전하게 처리하는 방법은 제1 거래 메시지를 제1 통신 채널을 통해 거래 서버에 송신하는 단계(606)를 포함한다. 그런 다음, 거래 검증 코드를 생성하기 위해서 중요 거래 데이터에 기초하여 수행될 하나 이상의 동작을 정의하는 일회용 시큐리티 데이터가 생성된다(608). 일회용 시큐리티 데이터(402, 403)는 제1 통신 채널과는 기능적으로 구별되는 제2 통신 채널을 통해 사용자에게 송신된다. 거래 서버는, 제2 통신 채널을 통한 일회용 시큐리티 데이터의 수신에 응답하여 사용자에 의해 제공된 제1 거래 검증 코드를 포함하는 제2 거래 메시지를 제1 통신 채널을 통해 수신한다. 제2 거래 검증 코드는 수신된 제1 거래 메시지 내에 포함된 중요 거래 데이터에 기초하여 일회용 시큐리티 데이터에 의해 정의된 동작을 수행함으로써 생성되며, 제1 거래 검증 코드는 제2 거래 검증 코드와 비교된다(616). 제1 거래 검증 코드와 제2 거래 검증 코드 간의 불일치의 경우, 거래 요구는 거부된다(622).

Description

거래 시큐리티를 위한 방법 및 시스템
본 발명은 정보 시큐리티에 관한 것으로, 보다 구체적으로는 인터넷을 통해 교환되는 금융 거래 세부 항목을 포함하지만, 이에 한정되지 않는, 통신 네트워크를 통해 교환되는 중요 데이터의 시큐리티를 강화하는 것에 관한 것이다.
2 요소 인증(Two Factor Authentication: TFA)은 일반적으로 인터넷을 포함한 통신 네트워크를 거쳐서 실시되는 통신을 인증하는 데 사용된다. 기본 인증에서, 요구측 엔티티(예컨대, 사용자)는 제2 엔티티(예컨대, 은행과 같은 서비스 제공자)에게 자신의 신원에 대한 일부 증거를 제시한다. TFA의 사용은, 사전에 승인된 요소들의 유한 리스트 중에서 2개의 다른 유형의 증거, 또는 요소를 요구함으로써, 요구측 엔티티가 그의 신원에 대한 거짓 증거를 제시할 가능성을 감소시킨다. 통상적으로, TFA는, 3개의 가능한 요소, 즉, 요구자가 알고 있는 것(예를 들어, PIN 또는 비밀번호), 요구자가 가지고 있는 것(예를 들어, ATM 카드 또는 등록된 이동 전화기), 및 사용자 '자체인' 것(예를 들어, 지문 또는 다른 바이오메트릭 정보), 중 2개를 제공할 것을 요구측 엔티티에게 요구한다.
TFA의 하나의 일반적인 카테고리는, 일반적으로 SMS 메시징, 자동 전화 통화, 또는 사용자의 스마트폰 상에서 실행하는 전용 애플리케이션을 사용하여, 사용자의 이동 전화기를 토큰(token) 장치로 변환한다. 전형적인 예는, 사용자가 퍼스널 컴퓨터 또는 다른 인터넷 가능 장치 상에서 개인 식별 정보(예컨대, 사용자명 및 비밀번호)를 사용하여 은행의 온라인 포털에 서명할 수 있는, 인터넷 뱅킹 시스템이다. 이 식별 정보는 TFA 스킴(scheme) 내의 지식 인자이다. 사용자가 이동 전화 번호를 자신의 온라인 뱅킹 서비스에 사전에 등록한 경우에는, 이동 전화가 소유 인자로서 기능할 수 있다. 일부 이와 같은 시스템에 따르면, 사용자가 인터넷 뱅킹을 통해 거래(예컨대, 자금 이체, 또는 대금 지불)를 수행을 요구할 때, 무작위로 생성된 검증 코드가 등록된 이동 전화 번호로 SMS를 통해 송신되고, 거래의 완료를 확인하고 승인하기 위해서 인터넷 뱅킹 인터페이스에 입력되어야 한다.
상기 실시예에서, SMS 메시징은 사용자와 인터넷 뱅킹 포털 간의 주 통신 채널과 독립적으로 검증 토큰을 송신하기 위한 백채널로서 사용된다. 따라서, 부정 사용자는, 부정 거래를 완료하기 위해서, 진정한 사용자의 식별 정보뿐만 아니라, 진정한 사용자의 이동 전화기의 소유를 필요로 한다. 그러나, 이와 같은 TFA의 방법은 주 통신 채널 그 자체가 손상되는 공격에 취약할 수 있다. 특히, 이와 같은 인증 기술은 중간자(man-in-the-middle: MIM) 공격 및 맨-인-더-브라우저(man-in-the-browser: MIB) 공격에 취약할 수 있다. 이들 공격이 동작하는 메커니즘이 도 1a, 도 1b 및 도 2에 나타나 있다.
도 1a의 블록도(100)에 도시된 바와 같이, 사용자(102)는, 인터넷(108)을 통해 인터넷 뱅킹 포털과 같은 안전한 서비스 포털(secure service portal: SSP)(106)에 액세스하기 위해서, 예컨대 데스크톱 PC(104)를 사용한다. 웹 브라우저 소프트웨어(110)는 PC(104) 상에서 실행되어, 사용자에게 그래픽 인터페이스를 제공한다. 웹 브라우저(110)는, 일반적으로 하나 이상의 통신 네트워크를 통해 다른 장치와 정보를 교환하는 데 필요한 다양한 통신 프로토콜을 구현하는 네트워크 인터페이스 소프트웨어(프로토콜 스택)와 함께, 로컬 네트워크에 접속하는 데 필요한 물리 하드웨어 양쪽 모두를 포함하는 네트워크 인터페이스(112)를 통해 인터넷(108)에 액세스한다.
그러나, 시나리오(100)에서, 사용자의 PC(104)가 예컨대 일부 형태의 멀웨어에 의해 손상되어, 브라우저(110)가 인터넷 뱅킹 포털(106)에 직접 접속되지 않고, 그 대신에 부정 MIM 서버(114)에 접속되어 있다. 이것은, 인터넷 뱅킹 포털(106)의 진정한 호스트네임이 부정 서버(114)의 IP 어드레스에 매핑되도록, 사용자가 부정 사이트(114)로 리다이렉트하는 링크를 클릭하도록 사용자를 속임으로써, 또는 도메인 네임 서비스(domain name service: DNS) 서브시스템과 같은 PC(104)의 네트워크 인터페이스 구성을 손상시킴으로써 달성될 수 있다.
부정 서버(114)는 포털(106)에 의해 제공된 인터넷 뱅킹 웹 사이트의 근접한 모방, 또는 정확한 사본인 웹 사이트를 제공한다. 통상적으로, SSL TLS(즉, HTTPS 프로토콜)가 서버를 인증하고 모든 통신을 암호화하는 데 사용되도록, 포털(106)과의 안전한 접속이 요구된다. 그 결과, 사용자(102)는 부정 서버(114)에 의해 제공된 디지털 증명서와 명백한 도메인, 즉 사용자의 뱅킹 서비스 제공자의 것 간의 불일치에 관한 경고를 수신할 수 있다. 그러나, 많은 사용자는 이와 같은 경고를 무시하거나 보지 못할 수 있다.
이 시큐리티 수준조차도, 예를 들어 도 1b의 블록도(120)에 도시된 MIB 공격에 의해 손상될 수 있다. MIB 공격에서, 악성 소프트웨어 애플리케이션(122)은 사용자의 PC(104)에 침입하여, 그 자체가 브라우저 인터페이스(11)와 네트워크 인터페이스(112) 간에 개재된다. MIB 멀웨어는 브라우저 인터페이스(110)로 또는 그로부터 전송된 모든 데이터에 직접 액세스하고, 이에 따라 PC(104)의 네트워크 인터페이스(112)와 인터넷 뱅킹 포털(106) 간에 수행되는 임의의 암호화 및 인증과 독립적으로 사용자(102)와 인터넷 뱅킹 포털(106) 간에 통신되는 정보를 판독 및/또는 수정할 수 있다.
도 2는 도 1a 및 도 1b에 도시된 MIM 또는 MIB 시나리오에서 공격 메커니즘의 타임라인(200)을 나타낸다. 나타낸 예에서, 사용자는 처음에 이체 금액 'a' 및 수취인 계좌 번호 'A'를 포함할 수 있는 거래 세부 항목을 입력한다(202). 거래 요구가 송신되지만(204), MIM/MIB(114/122)가 인터셉트한다. 부정 서비스는 요구를 수정하고, 예를 들어 거래 금액을 더 높은 값 'b'로, 수취인 계좌를 부정 계좌 번호 'B'로 변경한다. 이와 같은 수정된 이체 요구는 인터넷 뱅킹 포털(106)을 통해 수신되고, 거래 세부 항목이 은행 서버에 의해 검증된다(208). 그런 다음, 인터넷 뱅킹 포털(106)은 부정 금액 'b' 및 수취인 계좌 'B'를 포함하는 거래 세부 항목을 포함하는 확인 페이지를 반송(返送)한다(210). 이들은 부정 소프트웨어에 의해 수정되어 사용자 요구 금액 'a' 및 수취인 계좌 'A'를 재삽입하고, 브라우저(110)에 송신되고(212), 그 디스플레이를 갱신한다(214). 이 시점에, 사용자는 인터넷 뱅킹 포털(106)에 실제로 요구된 이체가 원래 입력된 거래 요구와 다르다는 것을 알아채지 못한다.
동시에, 은행 서버는 검증 코드를 생성하고(216), 그 코드를 SMS 메시징 채널과 같은 백채널(218)을 통해 사용자의 이동 전화기에 송신한다. 사용자는 검증 코드를 수신하고(220), 웹 브라우저(110)에 의해 표시된 확인 페이지에 검증 코드를 입력한다(222). 그런 다음, 확인 코드가 송신되고(224), MIM/MIB(114/122) 멀웨어에 의해 226 상에 전달되어, 은행 서버에 의해 수신되고 유효성 검증된다(228). 이것은 계좌 'B'로의 부정 거래 금액 'b'가 유효성 검증되고 승인되게 하며, 그런 다음 인터넷 뱅킹 포털(106)은 추가 거래 확인 페이지(230)를 제공한다. 멀웨어(114/122)는 부정 거래를 숨기기 위해서 확인 페이지(232)를 재차 수정할 수 있다. 실제로, 정교한 멀웨어(114/112)는, 자금이 부정자의 계좌 'B'로부터 인출되거나 이체될 수 있을 시간까지 부정 거래의 발견을 지연시키기 위해서, 사용자에게 자신의 인터넷 뱅킹 세션에 걸쳐서 계속해서 일관된 거짓 정보를 제시할 것이다.
상기 실시예로부터 이해되는 바와 같이, 손상된 주 통신 채널에 기초한 MIM, MIB, 및 다른 공격과 관련된 위험을 저지하거나, 또는 적어도 완화시킬 수 있는, 거래 시큐리티를 위한 개선된 방법 및 시스템이 필요하다. 본 발명은 이와 같은 개선을 제공하는 것에 관한 것이다.
일 양태에서, 본 발명은 제1 통신 채널을 통해 거래 서버에 송신되며 중요 거래 데이터의 적어도 하나의 항목을 포함하는 하나 이상의 거래 메시지를 포함하는 거래를 안전하게 처리하는 방법을 제공하며, 상기 방법은:
중요 거래 데이터의 항목을 포함하는 사용자의 거래 요구에 대응하는 제1 거래 메시지를 제1 통신 채널을 통해 거래 서버에 의해 수신하는 단계;
제1 거래 메시지의 수신에 응답하여, 거래 검증 코드를 생성하기 위해서 중요 거래 데이터에 기초하여 수행될 하나 이상의 동작을 정의하는 일회용 시큐리티 데이터을 생성하는 단계;
제1 통신 채널과 기능적으로 구별되는 제2 통신 채널을 통해 사용자에게 상기 일회용 시큐리티 데이터를 송신하는 단계;
제2 통신 채널을 통한 상기 일회용 시큐리티 데이터의 수신에 응답하여 사용자에 의해 제공된 제1 거래 검증 코드를 포함하는 제2 거래 메시지를 제1 통신 채널을 통해 거래 서버에 의해 수신하는 단계;
수신된 제1 거래 메시지 내에 포함된 중요 거래 데이터에 기초하여 일회용 시큐리티 데이터에 의해 정의된 동작을 수행함으로써 제2 거래 검증 코드를 생성하는 단계;
제1 거래 검증 코드와 제2 거래 검증 코드를 비교하는 단계; 및
제1 거래 검증 코드와 제2 거래 검증 코드 간의 불일치의 경우, 거래 요구를 거부하는 단계를 포함한다.
유리하게는, 본 발명의 실시형태는, 검증 코드가 2개의 원격 위치에서, 예컨대 최종 사용자 위치와 시큐리티 시스템 위치에서 독립적으로 생성될 수 있는 기술적 배치를 제공한다. 검증 코드는, 제1 통신 채널을 통한 전송 중에 중요 거래 데이터의 임의의 수정이 독립적으로 생성된 검증 코드에서의 불일치로서 검출될 수 있도록, 중요 거래 데이터의 적어도 하나의 항목에 의존한다. 제2 채널은 검증 코드를 생성하는 데 사용되는 일회용 시큐리티 데이터를 송신하는 데 사용된다. 그 결과, 본 발명의 실시형태에 의해 제공된 시큐리티를 손상시키는 데는 제1 및 제2 통신 채널 양쪽 모두의 침입을 필요로 한다. 특히, 1차 거래 메시지가 교환되는 제1 채널을 침입한 MIM 또는 MIB 공격자는, 제2 채널에 대한 액세스의 부재 시, 목적지 은행 계좌 번호와 같은 변경된 중요 거래 데이터에 대응하는 정확한 검증 코드를 확실하게 생성할 수 없다.
본 발명의 실시형태에 따르면, 일회용 시큐리티 데이터는 중요 거래 데이터와 관련된 심볼 세트 내의 각 심볼과 코드 세트로부터 무작위로 선택되는 코드값 간의 매핑을 포함하는 시큐리티 매트릭스를 포함하며, 이에 따라 중요 거래 데이터에 기초하여 수행될 동작은 중요 거래 데이터의 하나 이상의 심볼을 매핑에 의해 정의된 관련 코드값으로 대체함으로써 치환 코드를 생성하는 것을 포함한다. 시큐리티 매트릭스는 거래의 지속 기간에만 유효할 수 있다.
시큐리티 매트릭스 매핑의 사용, 예컨대, 코드 세트(예를 들어, 대문자, 소문자, 및 숫자의 완전한 세트)로부터 심볼의 대응하는 무작위 선택에 대하여 중요 거래 데이터를 포함하는 심볼(예를 들어, 중요 데이터가 계좌 번호인 경우, 숫자 '0' 내지 '9')의 사용은, 유리하게는 사용자가 기술 지원 없이 검증 코드를 생성할 수 있게 하며, 이것은 단순히 매트릭스를 사용하여 계좌 번호의 지정된 숫자를 대응하는 코드 심볼에 매핑하는 것이다. 따라서, 시큐리티 데이터는, 예를 들어 SMS 메시징을 통한 셀룰러 모바일 네트워크 링크를 포함하는 제2 채널을 통해 송신될 수 있다.
일회용 시큐리티 데이터는 거래 검증 코드를 생성하기 위해서 치환 코드에 대해 수행될 하나 이상의 추가 동작을 정의하는 보충적인 시큐리티 데이터를 더 포함할 수 있다. 예를 들면, 보충적인 시큐리티 데이터에 의해 정의되는 하나 이상의 추가 동작은 거래 검증 코드 내에 포함시키기 위해 치환 코드의 심볼들의 서브 세트를 선택하는 것을 포함할 수 있다. 보충적인 시큐리티 데이터의 일례는 검증 코드를 생성하는 데 사용될 계좌 번호의 선택된 숫자를 정의하는 사양(specification)이다. 유리하게는, 보충적인 시큐리티 데이터의 사용은 변경된 중요 거래 데이터에 대응하는 정확한 검증 코드를 유도하거나, 또는 추측하려고 시도할 때에 제1 통신 채널의 침입자에 대한 도전 수준을 높인다.
본 발명의 실시형태에서, 거래 검증 코드는 중요 거래 데이터에 기초하여 일회용 시큐리티 데이터에 의해 정의된 동작을 수행함으로써 생성되는 코드의 해시(hash)로부터 유도될 수 있다.
일부 실시형태에서, 일회용 시큐리티 데이터는 사용자 장치 상에서 실행하는 소프트웨어 애플리케이션에 의해 처리하기 위해 제2 통신 채널을 통해 사용자 장치에 송신된다. 소프트웨어 애플리케이션은:
제2 통신 채널을 통해 일회용 시큐리티 데이터를 수신하는 것;
사용자로부터, 사용자 장치의 사용자 인터페이스를 통해, 일회용 시큐리티 데이터에 정의된 동작에 의해 거래 시큐리티 코드의 생성에 필요한 중요 거래 데이터를 요구 및 수신하는 것;
사용자로부터 수신된 중요 거래 데이터에 기초하여 일회용 시큐리티 데이터에 의해 정의된 동작을 수행함으로써 거래 검증 코드를 생성하는 것; 및
생성된 거래 검증 코드를 사용자 장치의 사용자 인터페이스를 통해 사용자에게 제공하는 것을 수행하도록 구성된다.
예를 들면, 소프트웨어 애플리케이션('앱(app)')은 스마트 장치(예컨대, 사용자의 스마트폰 또는 태블릿) 상에서 실행하도록 구성될 수 있다. 그런 다음, 앱은 기능적으로 구별된 제2 통신 채널을 통해 시큐리티 데이터를 수신하고, 사용자가 중요 거래 데이터(예를 들어, 계좌 번호)를 제공하도록 촉구하며, 거래 검증 코드를 생성하고, 거래 검증 코드의 인간 판독 가능한 표현을 표시할 수 있다. 따라서, 앱의 사용으로부터 도출되는 특정 이점은, 사용자에 의해 입력된 중요 거래 데이터에 기초하여 수행될 동작이 더욱 복잡할 수 있고, 이에 따라 유리한 기술 지원 없이 사용자에 의해 실제로 수행될 수 있는 더욱 제한된 동작들의 세트보다 잠재적으로 더욱 안전하다는 것이다. 또 다른 이점은 인적 오류의 발생을 감소시킬 가능성이 있다는 것이다.
다른 양태에서, 본 발명은 실행 가능한 프로그램 명령을 포함하는 메모리 스토어에 접속되는 프로세서를 포함하는 컴퓨터 서버 시스템을 제공하며, 상기 실행 가능한 프로그램 명령은, 실행되었을 때, 프로세서가:
제1 통신 채널을 통해 사용자에게 액세스 가능하고 사용자의 거래 요구에 응답하여 거래를 용이하게 하도록 구성된 안전한 서비스 포털을 제공하는 것;
제1 통신 채널을 통해, 중요 거래 데이터의 항목을 포함하는, 사용자의 거래 요구에 대응하는 제1 거래 메시지를 수신하는 것에 응답하여, 거래 검증 코드를 생성하기 위해서 중요 거래 데이터에 기초하여 수행될 하나 이상의 동작을 정의하는 일회용 시큐리티 데이터를 생성하는 것;
제1 통신 채널과는 기능적으로 구별되는 제2 통신 채널을 통해 사용자에게 송신되어 온, 일회용 시큐리티 데이터의 수신에 응답하여 사용자에 의해 제공된 제1 거래 검증 코드를 포함하는 제2 거래 메시지를 제1 통신 채널을 통해 수신하는 것;
수신된 제1 거래 메시지 내에 포함된 중요 거래 데이터에 기초하여 일회용 시큐리티 데이터에 의해 정의된 동작을 수행함으로써 제2 거래 검증 코드를 생성하는 것;
제1 거래 검증 코드와 제2 거래 검증 코드를 비교하는 것; 및
제1 거래 검증 코드와 제2 거래 검증 코드 간의 불일치의 경우, 거래 요구를 거부하는 것을 수행하게 한다.
본 발명의 일부 실시형태에서, 상기 실행 가능한 프로그램 명령은, 실행되었을 때, 프로세서가:
일회용 시큐리티 데이터의 생성을 위한 요구를 안전한 통신 채널을 통해, 일회용 시큐리티 데이터를 생성하도록 구성된 시큐리티 시스템에 송신하는 것에 의해 일회용 시큐리티 데이터를 생성하게 한다.
유리하게는, 시큐리티 데이터를 생성하기 위해 별도의 시큐리티 시스템을 사용하는 것은 각 서버 시스템에서 전체 시큐리티 기능을 복제할 필요없이, 관련된 시큐리티 서비스를 다수의 서버 시스템에서 사용할 수 있게 한다. 또한, 최종 사용자는 단일의 시큐리티 시스템 제공자에 등록할 수 있고, 관련된 사용자 선호도를 단일의 시큐리티 시스템 제공자에 확립할 수 있다. 사용자 선호도는 거래 검증 코드를 생성하기 위해서 중요 거래 데이터에 기초하여 수행될 동작의 양태를을 수정 또는 결정하는 선호도를 포함할 수 있다. 이 방식으로, 2개의 거래가 동일한 시큐리티 데이터에 의해 보호되는 경우이더라도, 상이한 사용자 선호도의 적용이 상이한 거래 검증 코드를 도출할 수 있다는 점에서, 추가적인 시큐리티 수준이 구현될 수 있다.
일부 실시형태에서, 실행 가능한 프로그램 명령은, 실행되었을 때, 프로세서가 제2 거래 검증 코드를 생성하게 하고,
제1 거래 검증 코드를, 안전한 통신 채널을 통해, 일회용 시큐리티 데이터를 생성하도록 구성되는 시큐리티 시스템에 송신하는 것; 및
제1 거래 검증 코드와, 수신된 제1 거래 메시지 내에 포함된 중요 거래 데이터에 기초하여 일회용 시큐리티 데이터에 의해 정의된 동작을 수행하는 시큐리티 시스템에 의해 생성되어 있는 제2 거래 검증 코드 간의 비교 결과의 표시를 포함하는 응답 메시지를 시큐리티 시스템으로부터 안전한 통신 채널을 통해 수신하는 것에 의해, 제1 거래 검증 코드와 제2 거래 검증 코드를 비교하게 한다.
또 다른 양태에서, 본 발명은 실행 가능한 프로그램 명령을 포함하는 메모리 스토어에 접속되는 프로세서를 포함하는 시큐리티 시스템을 제공하며, 상기 실행 가능한 프로그램 명령은, 실행되었을 때, 프로세서가:
일회용 시큐리티 데이터의 생성을 위한 요구를 원격 프로세서로부터 안전한 통신 채널을 통해 수신하는 것;
거래 검증 코드를 생성하기 위해서 사용자의 거래의 중요 거래 데이터에 기초하여 수행될 하나 이상의 동작을 정의하는 일회용 시큐리티 데이터를 생성하는 것;
일회용 시큐리티 데이터를 포함하는 시큐리티 메시지를 통신 백채널을 통해 사용자의 장치에 송신하는 것;
중요 거래 데이터에 기초하여 사용자에 의해 생성되고 1차 통신 채널을 통해 원격 프로세서에 제공되는 제1 거래 검증 코드를 원격 프로세서로부터 안전한 통신 채널을 통해 수신하는 것;
사용자에 의해 1차 통신 채널을 통해 원격 프로세서에 송신된 거래 메시지 내에 포함된 중요 거래 데이터에 기초하여 일회용 시큐리티 데이터에 의해 정의된 동작을 수행함으로써 제2 거래 검증 코드를 생성하는 것;
제1 거래 검증 코드와 제2 거래 검증 코드를 비교하는 것; 및
제1 거래 검증 코드와 제2 거래 검증 코드 간의 비교 결과의 표시를 포함하는 응답 메시지를 안전한 통신 채널을 통해 원격 프로세서에 송신하는 것을 수행하게 한다.
실행 가능한 프로그램 명령은, 실행되었을 때, 프로세서가 일회용 시큐리티 데이터를 포함하는 시큐리티 메시지를 원격 프로세서를 통해 사용자의 장치에 송신하게 할 수 있다.
또 다른 양태에서, 본 발명은 실행 가능한 프로그램 명령을 포함하는 메모리 스토어에 접속되는 프로세서를 포함하는 휴대형 연산 및 통신 장치를 제공하며, 상기 실행 가능한 프로그램 명령은, 실행되었을 때, 프로세서가:
거래 검증 코드를 생성하기 위해서 중요 거래 데이터에 기초하여 수행될 하나 이상의 동작을 정의하는 일회용 시큐리티 데이터를 관련된 통신 채널을 통해 수신하는 것;
중요 거래 데이터를 입력하라는 사용자에 대한 촉구를 휴대형 연산 및 통신 장치의 사용자 인터페이스를 통해 사용자에게 제시하는 것;
중요 거래 데이터를 사용자로부터 사용자 인터페이스를 통해 수신하는 것;
중요 거래 데이터에 기초한 일회용 시큐리티 데이터에 의해 정의된 동작을 수행함으로써 거래 검증 코드를 생성하는 것; 및
거래 검증 코드의 인간 판독 가능한 표현을 사용자 인터페이스를 통해 사용자에게 제시하는 것을 수행하게 한다.
실행 가능한 프로그램 명령은, 실행되었을 때, 프로세서가 변환된 중요 거래 데이터의 해시를 연산하는 것을 포함하는 방법에 따라 거래 검증 코드를 생성할 수 있게 한다.
또 다른 양태에서, 본 발명은 실행 가능한 프로그램 명령이 내부에 저장된 컴퓨터 판독 가능 매체를 포함하는 컴퓨터 프로그램 제품을 제공하며, 상기 실행 가능한 프로그램 명령은, 관련된 통신 채널에 접속되는 프로세서에 의해 실행되었을 때, 프로세서가:
거래 검증 코드를 생성하기 위해서 중요 거래 데이터에 기초하여 수행될 하나 이상의 동작을 정의하는 일회용 시큐리티 데이터를 관련된 통신 채널을 통해 수신하는 것;
중요 거래 데이터를 입력하라는 사용자에 대한 촉구를 사용자 인터페이스를 통해 사용자에게 제시하는 것;
중요 거래 데이터를 사용자로부터 사용자 인터페이스를 통해 수신하는 것;
중요 거래 데이터에 기초하여 일회용 시큐리티 데이터에 의해 정의된 동작을 수행함으로써 거래 검증 코드를 생성하는 것; 및
거래 검증 코드의 인간 판독 가능한 표현을 사용자 인터페이스를 통해 사용자에게 제시하는 것을 수행하게 한다.
다양한 적용 및 구성과 함께, 본 발명의 동작 원리에 대한 또 다른 상세, 및 그들의 관련된 이점 및 장점은 다음과 같은 다양한 실시형태의 개시내용으로부터 이해될 것이다. 그러나, 이들 실시형태는 예로서 제공되며, 상기한 설명 중 어느 하나에, 또는 첨부된 청구범위에 정의된 본 발명의 전체 범위를 한정하려는 것은 아니다.
본 발명의 실시형태가 첨부 도면을 참조하여 설명될 것이고, 여기서 유사한 참조 번호는 유사한 특징부를 나타낸다.
도 1a 및 도 1b는 각각 종래 기술에 따른 중간자(MIM) 및 맨-인-더-브라우저(MIB) 시나리오를 도시하는 블록도를 나타낸다.
도 2는 종래 기술에 따른 MIM/MIB 익스플로잇(exploit)에 기초한 공격의 타임라인을 도시한다.
도 3은 본 발명을 구현하는 예시적인 시스템 아기텍처를 도시하는 블록도이다.
도 4는 본 발명을 구현하는 검증 코드 생성 및 교환의 타임라인을 도시한다.
도 5는 안전한 서비스 포털(SSP)과 본 발명을 구현하는 시큐리티 시스템 간의 통신의 타임라인이다.
도 6은 본 발명을 구현하는 거래 시큐리티 방법을 도시하는 플로차트를 나타낸다.
도 7은 본 발명을 구현하는 스마트 장치 애플리케이션의 예시적인 스크린 디스플레이를 나타낸다.
도 8은 안전한 서비스 제공자와 본 발명을 구현하는 스마트 장치 애플리케이션 간의 신뢰할 수 있는 백채널을 확립하기 위한 시스템의 개략도이다.
도 3은 본 발명을 구현하는 시스템(300)을 도시하는 블록도이다. 인터넷과 같은 공중 통신 네트워크(108)는 클라이언트 장치(304)와 안전한 서비스 포털(SSP)(106) 간의 메시징을 위해 사용된다. 일반적으로 말하자면, 클라이언트 장치(304)는, 예를 들어 웹 브라우저 소프트웨어 및/또는 다른 접속된 애플리케이션을 사용하여, 인터넷(108)을 통해 통신하는 능력을 갖는 임의의 적합한 연산 또는 처리 기기일 수 있다. 마찬가지로, SSP(106)를 포함하는 시스템(300)에 나타낸 다른 구성요소는 일반적으로 하나 이상의 처리, 연산 및/또는 저장 장치를 포함한다. 본 명세서에서, '프로세서', '컴퓨터' 등과 같은 용어는, 문맥에 의해 달리 요구되지 않는 한, 하드웨어와 소프트웨어의 조합을 포함하는 디바이스 또는 장비의 다양한 가능한 구현예를 언급하는 것으로 이해되어야 한다. 이것은, 공동 배치 또는 분포될 수 있는 협동하는 하드웨어 및 소프트웨어 플랫폼을 포함하여, 단일 프로세서 및 멀티프로세서 디바이스 및 장비를 포함한다. 하드웨어는 통상의 퍼스널 컴퓨터 아키텍처 또는 다른 범용 하드웨어 플랫폼을 포함할 수 있다. 소프트웨어는 다양한 애플리케이션 및 서비스 프로그램과 조합하는 상용 가능한 운영 체제 소프트웨어를 포함할 수 있다. 대안으로, 연산 또는 처리 플랫폼은 맞춤형(custom) 하드웨어 및/또는 소프트웨어 아키텍처를 포함할 수 있다. 향상된 확장성을 위해, 연산 및 처리 시스템은 물리 하드웨어 리소스가 서비스 요구에 응답하여 동적으로 할당될 수 있게 하는 클라우드 연산 플랫폼을 포함할 수 있다. 이들 변형예의 전부는 본 발명의 범위 내에 속하지만, 용이한 설명 및 이해를 위해, 본 명세서에서 설명되는 예시적인 실시형태는 단일 프로세서 범용 연산 플랫폼, 일반적으로 이용 가능한 운영 체제 플랫폼, 및/또는 데스크톱 PC, 노트북 또는 랩톱 PC, 스마트폰 등과 같은 광범위하게 이용 가능한 소비자 제품에 기초한다.
본 발명의 특징을 구현하는 소프트웨어 구성요소는, 소프트웨어 공학 분야의 숙련자에게 친숙한 바와 같이, 임의의 적합한 프로그래밍 언어, 개발 환경, 또는 언어와 개발 환경의 조합을 사용하여 개발될 수 있다. 예를 들면, 적합한 소프트웨어는 C 프로그래밍 언어, Java 프로그래밍 언어, C++ 프로그래밍 언어, 및/또는 JavaScript, HTML, PHP, ASP, JSP 등과 같은 네트워크 또는 웹 기반 서비스의 구현에 적합한 다양한 언어를 사용하여 개발될 수 있다. 이들 예는 제한하려는 것이 아니며, 시스템 요구사항에 따라, 다른 편리한 언어 또는 개발 시스템이 사용될 수 있다는 것이 이해될 것이다.
예시적인 시스템(300)에서, SSP(106)는 프로세서(312)를 포함한다. 프로세서(312)는 비휘발성 메모리/저장 장치(314)에 인터페이싱되거나, 그렇지 않으면 작동 가능하게 결합된다. 비휘발성 저장 장치(314)는 하드 디스크 드라이브일 수 있고, 및/또는 판독 전용 메모리(ROM), 플래시 메모리 등과 같은 솔리드-스테이트 비휘발성 메모리를 포함할 수 있다. 프로세서(312)는 또한 SSP(106)의 동작에 관한 프로그램 명령 및 일시적 데이터를 포함하는, 랜덤 액세스 메모리(RAM)와 같은 휘발성 저장 장치(316)에도 인터페이싱된다.
통상의 구성에서, 저장 장치(114)는 SSP(106)의 정상 동작에 관한 알려진 프로그램 및 데이터 콘텐츠를 유지한다. 예를 들면, 저장 장치(314)는 운영 체제 프로그램 및 데이터뿐만 아니라, SSP(106)의 의도된 기능에 필요한 다른 실행 가능한 애플리케이션 소프트웨어를 포함할 수 있다. 저장 장치(314)는, 프로세서(312)에 의해 실행되었을 때, 본 발명에 따른 거래 시큐리티 시스템의 일 실시형태에 관한 동작을 수행하도록 SSP(106)에 지시하는 프로그램 명령을 또한 포함한다. 동작 시, 저장 장치(314) 상에 보유된 명령어 및 데이터는 요구에 따른 실행을 위해 휘발성 메모리(316)에 전송된다.
프로세서(312)는 또한 통상의 방식으로 통신 인터페이스(318)와 작동 가능하게 결합된다. 통신 인터페이스(318)는 공중 데이터 통신 네트워크(108)에 대한 액세스를 용이하게 한다.
사용 시, 휘발성 저장 장치(316)는, 특히 도 4 및 도 5에 도시된 타임라인을 참조하여 후술하는 바와 같이 시스템의 다양한 기능 요소를 포함하는, 본 발명의 특징을 구현하는 처리 및 동작을 수행하도록 구성된 프로그램 명령의 대응하는 본체(320)를 포함한다.
SSP(106)는, 공용 네트워크(108)를 통해 직접 액세스할 수 있도록 의도되지 않은 시스템(300)의 다른 요소와 안전하게 통신하는 데 사용되는, 전용 네트워크(324)에 대한 액세스를 제공하는 또 다른 네트워크 인터페이스(322)를 더 포함할 수 있다. 전용 네트워크(324)는 공용 네트워크(108)와 물리적으로 구별될 수 있거나, 또는 공용 네트워크(108)의 기반 시설을 물리적으로 사용하는 가상 전용 네트워크(virtual private network: VPN)로서 구현될 수 있고, 이에 따라 네트워크 인터페이스(322)는 공중 네트워크 인터페이스(318)와 하드웨어 구성요소를 공유할 수 있는 가상 네트워크 인터페이스이다. 따라서, 용어 '네트워크 인터페이스'는, 본 명세서 전반에 걸쳐서 사용되는 경우, 달리 문맥에 의해 요구되지 않는 한, 하나 이상의 대응하는 물리 또는 가상 통신 네트워크를 통해 다른 장치와 정보를 교환하는 데 필요한 다양한 통신 프로토콜을 구현하는 물리 하드웨어 및/또는 네트워크 인터페이스 소프트웨어(프로토콜 스택)의 조합을 지칭한다는 것이 이해될 것이다.
시스템(300)에 도시된 바와 같이, SSP(106)는 전용 네트워크(324)를 통해 시큐리티 시스템(326)과 통신할 수 있다. 시큐리티 시스템(326)은 또한 도 3의 블록도 내에 단순화된 형태로 묘사되는 서버 플랫폼이다. 시큐리티 시스템(326)은, 추가 비휘발성 메모리/저장 장치(330)에 인터페이싱되거나, 그렇지 않으면 그와 연동되는 프로세서(328)를 포함한다. 프로세서(328)는 또한 시큐리티 시스템(326)의 동작에 관한 프로그램 명령어 및 일시적 데이터를 포함하는 휘발성 저장 장치(332)에도 인터페이싱된다.
프로세서(328)는 전용 네트워크(324)를 통해 SSP(106)와 통신할 수 있는 통신 인터페이스(334)와 작동 가능하게 결합된다.
사용 시, 휘발성 저장 장치(332)는, 특히 도 5의 타임라인을 참조하여 후술되는 바와 같이 시스템의 다양한 기능 요소를 포함하는, 본 발명의 특징을 구현하는 처리 및 동작을 수행하도록 구성된 프로그램 명령의 대응하는 본체(336)를 포함한다.
시큐리티 시스템(326)의 일반적인 기능은 SSP(106)로부터 요구를 수신하는 것, 및 MIM 및 MIB 공격에 대하여 강력한 검증 코드의 생성을 위해 사용될 수 있는 일회용 시큐리티 데이터를 생성하는 것이다. 일부 실시형태에서, 도 4를 참조하여 이하에서 더욱 상세히 설명되는 바와 같이, 일회용 시큐리티 데이터는 검증 매트릭스 또는 테이블을 포함한다.
시큐리티 시스템(326)은, 예컨대 비휘발성 저장 장치(330) 내에, 사용자 계정 정보의 데이터베이스를 유지한다. 이 사용자 데이터베이스는 시스템(300)의 각 최종 사용자, 즉 클라이언트 장치(304)를 동작시키는 사용자에 대한 레코드를 포함한다. 각 사용자 레코드는 고유 사용자 식별자(ID), 및 관련 키워드 또는 비밀번호를 포함한다. 사용자 레코드는 시큐리티 시스템(326)의 사용과, 시큐리티 시스템(326)에 의해 제공된 서비스를 사용하는 SSP(106)와 같은 모든 안전한 시스템, 장치 및 서비스의 사용과 관련된 사용자 선호도를 또한 포함한다. 예를 들면, 사용자 인증(예컨대, 안전한 로그인)을 위해 시스템(326)과 대응하는 특징을 갖는 시큐리티 시스템의 사용은, 2014년 10월 21자로 허여된, 공동 양수의 미국 특허 제8,869,255호에 개시되어 있다.
전용 네트워크(324)는 또한 네트워크 종단 유닛(network termination unit: NTU)(340)을 통해 공중 교환 전화 네트워크(public switched telephony network: PSTN)와 같은 전기 통신 서비스 제공자 네트워크(338)에도 접속된다. 이것은, SSP(106), 시큐리티 시스템(326), 및/또는 전용 네트워크(324)에 접속된 임의의 다른 시스템이 PSTN(338)을 통해 최종 사용자와 통신에 관여할 수 있게 한다. 이와 같은 통신은 음성 전화 통화, 자동 전화 통화, 및 SMS 메시징을 포함할 수 있다. 예시적인 시스템(300)에서, PSTN(338)은, 클라이언트 장치(304)를 통해 SSP(106)에도 액세스하고 있는 최종 사용자의 모바일 장치(344)와의 통신을 용이하게 하는, 셀룰러 모바일 기지국(342)에 접속된 것으로 도시되어 있다.
따라서, 시스템(300)에 따르면, 최종 사용자는 인터넷 뱅킹 서비스와 같은 안전한 서비스를 제공할 수 있는, 공용 네트워크(108)를 통한 클라이언트 장치(304)와 SSP(106) 간의 1차 - 또는 주 - 통신 채널을 갖는다. 추가로, PSTN(338)을 통해 전용 네트워크(324) 상의 안전한 시스템을 최종 사용자 장치(344)에 접속하는 2차 채널 - 백채널이라고도 칭함 -이 있다. 이 백채널은, 공용 네트워크(108)를 통해 주 채널에 배치된 임의의 MIM, MIB, 또는 다른 손상 엔티티에 액세스할 수 없도록, 도 4를 참조하여 더욱 상세히 설명되는 바와 같이 일회용 시큐리티 데이터, 예컨대 시큐리티 메트릭스 또는 테이블을 송신하는 데 사용될 수 있다.
이제 도 4를 참조하면, 본 발명을 구현하는 검증 코드 생성 및 교환을 도시하는 타임라인(400)이 나타나 있다. 타임라인(400)에서의 송신은, 도 2의 종래 기술 구현예(200)에 묘사된 바와 같이, 백채널 송신(218), 및 다음의 주 채널 확인 송신(224, 226)과 대응한다.
본 발명의 실시형태에 따르면, 백채널을 통해 최종 사용자 클라이언트 장치에 송신되는 고정 검증 코드를 생성하는 대신에, SSP(106)는 일회용 시큐리티 데이터의 생성을 위한 요구를 시큐리티 시스템(326)에 발행한다. 도 4에 나타낸 예에서는, 일회용 시큐리티 매트릭스 또는 테이블(402)이 생성되며, 이것은 K 키 심볼들(테이블(402)의 최상단 행에 나타냄)의 세트와 N 코드 심볼들(테이블(402)의 하단 행에 나타냄)의 대응하는 세트 간의 매핑을 포함한다. 이 매핑은 실질적으로 랜덤하거나, 의사 랜덤하며, SSP(106)에 의해, 또는 예시적인 시스템(300) 내의 임의의 다른 엔티티에 의해 사전에 예측될 수 없다. 이 예에서, 일회용 시큐리티 데이터는 또한 보충적인 시큐리티 데이터(403)를 포함하며, 그 목적은 후술된다.
시큐리티 데이터(402)의 생성을 요구함에 있어서, SSP(106)는, 시큐리티 매트릭스(402)가 임의의 관련 사용자 선호도에 따라, 그 뿐만 아니라 SSP(106)의 요구사항에 따라 생성될 수 있도록, 클라이언트 장치(304)의 대응하는 사용자를 식별할 수 있다. 사용자 및/또는 SSP 선호도 또는 요구사항은 최상단 행 상의 K 키 심볼들을 구성하는 심볼들의 특정 세트, 및 테이블(402)의 하단 행 상의 매핑에 사용되는 코드 심볼들의 수 및 속성과 같은 사항을 포함할 수 있다. 일반적으로, N은 K보다 작거나, 그와 같거나, 그보다 클 수 있고, 키 심볼과 코드 심볼 간의 매핑은 고유할 필요가 없으며, 즉 코드 심볼은 재사용될 수 있다. 본 발명의 실시형태는, 대응하는 검증 코드(예컨대, 후술하는 바와 같이 생성된)를 인터셉트할 수 있는 MIM 또는 MIB 공격자가 시큐리티 매트릭스(402)를 인터셉트하지 않고 대응하는 부정 검증 코드를 생성할 수 있을 가능성을 현저히 감소시키고자 한다.
본 발명의 실시형태에 따르면, 키 심볼 세트는 사용자의 거래의 하나 이상의 중요 구성요소의 요소와 대응하도록 선택된다. 예를 들면, 인터넷 뱅킹 이체의 경우, 수취인 계좌 번호는, MIM/MIB 공격자에 의해 부정하게 수정될 수 있으면 자금이 승인되지 않은 계좌로 이체될 수 있기 때문에 중요하다. 계좌 번호가 '0'과 '9' 사이의 자릿수로 이루어지는 것으로 가정하면, 이와 같은 자릿수들의 세트는 매트릭스(402)의 상단 행 내의 키 심볼 세트를 포함한다. 그러면, 사용자는 중요한 수취인 계좌 번호의 일부 또는 모든 숫자에 기초하여 검증 코드를 생성하도록 요구받을 수 있다. 코드는 계좌 번호의 각 숫자를 시큐리티 매트릭스(402)의 최하단 행으로부터의 대응하는 코드 심볼로 치환함으로써 생성된다. 추가로, 보충적인 시큐리티 데이터(403)는 거래를 위한 검증 코드를 생성하는 데 사용될 수취인 계좌 번호의 4개의 숫자(7번째, 8번째, 10번째 및 11번째)를 식별한다.
추가로, 사용자는, 시큐리티 시스템(326)에 의해 유지되는 관련 사용자 선호도에 따라서, 검증 코드를 생성하는 동안에 계좌 숫자(즉, 키 심볼) 및/또는 코드 심볼에 대해 일부 조작을 수행할 수 있다. 이와 같은 조작 및 선호도는 이하에서 더욱 상세히 설명될 것이지만, 본 예에서는 키 심볼과 코드 심볼 간의 직접 매핑의 간단한 경우가 설명된다.
시큐리티 매트릭스 매핑(402)이 최종 사용자에게 송신되는 정확한 포맷은 중요하지 않고, 백채널의 속성에 의존할 수 있다. 예를 들면, 사용자 장치(344)는 그래픽 포맷으로 정보를 표시할 수 있고, 이 경우에 시큐리티 매트릭스(402)는 대응하는 그래픽 포맷으로 송신될 수 있다. 대안으로, 백채널이 SMS 백채널인 경우에는, 시큐리티 매트릭스(402)의 표현을 텍스트 포맷, 예컨대 '0=X; 1=a; 2=Q; …' 등으로 송신하는 것이 더욱 편리할 수 있다.
시큐리티 매트릭스(402)가 송신되는 포맷에 상관 없이, 타임라인(400)은 일회용 시큐리티 데이터(402, 403) 및 수취인 계좌 번호(345-001 91567182)에 따른 검증 코드의 생성을 도시한다. 404에서 나타낸 바와 같이, 대응하는 검증 코드는 계좌 번호의 7번째, 8번째, 10번째 및 11번째 숫자('9', '1', '6' 및 7')를 매트릭스(402) 내의 대응하는 심볼, 즉 'h', 'a', M, 's'에 매핑함으로써 얻어진 'haMs'이다. 이 검증 코드는 사용자에 의해 자신의 웹 브라우저 상에 제시된 확인 스크린에 입력되고, 주 채널을 통해 송신된다(406).
코드는, 통상의 구현예에 따라, 어떠한 변경도 없이 단순히 송신(408)을 통해 이 코드를 통과하는 MIM/MIB(114/122)에 의해서 인터셉트된다. 그러나, MIM/MIB(114/122)가 거래를 위조하기 위해서 수취인 계좌 번호를 사전에 수정했기 때문에, 송신(406)으로부터 송신(408)까지 통과된 코드는 SSP(106)에 의해 원래 수신된 계좌 번호와 일치하지 않는다. 따라서, SSP(106)가 검증 코드(404)를 수신하여 유효성 검증하려고 시도할 때, 이 유효성 검증은 실패할 것이고, 중요 거래 정보의 부정 수정이 검출될 것이다. 또한, MIM/MIB 공격자(114/122)가 시큐리티 매트릭스 매핑 시스템이 사용된 것을 알아챈 경우이더라도, 일회용 시큐리티 데이터(402, 403)를 얻기 위해서 백채널에 대한 액세스 없이 부정하게 수정된 수취인 계좌 번호와 일치시키기 위한 검증 코드를 생성할 수 없다. 따라서, 본 발명을 실시하는 시스템 및 방법은 도 1a, 도 1b 및 도 2와 관련하여 상기에서 도시되고 기술된 바와 같이, 기존의 MIM/MIB 공격을 저지할 수 있거나, 적어도 상당히 완화시킬 수 있다.
도 5는 SSP(106)와 본 발명의 실시형태에 따른 시큐리티 시스템(326) 간의 통신을 도시하는 타임라인(500)을 나타낸다. 타임라인(500)에 나타낸 송신은 도 4의 타임라인(400)에 나타낸 교환 전후에 생긴다. 이들 송신은, SSP(106)가 시큐리티 매트릭스(402)를 생성하기 위해 시큐리티 시스템(326)에 의해 제공된 서비스를 활용하여, 최종 사용자로부터 다시 수신된 검증 코드를 유효성 검증할 수 있게 한다. 그러나, 이해될 수 있는 바와 같이, 시큐리티 시스템(326)이 SSP(106)와는 별도의 원격 서비스로서 실시될 필요는 없다. 시큐리티 시스템(326)과 함께 도시되고 그와 관련된 모든 기능은 대안으로 SSP(106)의 구성요소로서 구현될 수 있다. 그러나, 원격 서비스로서의 시큐리티 시스템(326)의 실시형태는, 전체 기능이 각 경우에 복제될 필요 없이, 적어도 관련된 시큐리티 서비스가 다수의 SSP(106)에 의해 사용될 수 있게 하는 이점이 있다. 또한, 최종 사용자는 단일의 시큐리티 시스템 제공자에 등록하고, 자신의 관련 사용자 선호도를 데이터베이스(330) 내에 확립한 다음에, 다수의 SSP 제공자에 걸쳐서 동일한 계좌 및 선호도를 사용할 수 있다.
타임라인(500)에 나타낸 바와 같이, SSP(106)가 유효성 검증을 필요로 하는 요구된 거래 세부 항목을 수신했을 때, 시큐리티 시스템(326)에 송신되는 요구(502)을 생성한다. 이 요구는 호환 가능한 일회용 시큐리티 데이터를 생성하기 위해서 시큐리티 시스템(326)에 의해 요구되는 임의의 추가 정보 또는 파라미터를 식별할 수 있다. 예를 들면, 요구(502)은, 시큐리티 시스템(326)이 데이터베이스(330)로부터의 임의의 관련 사용자 선호도를 시큐리티 매트릭스의 생성에 포함시킬 수 있도록, 사용자의 식별을 포함할 수 있다. 요구(502)은 이와 같은 특정 유효성 검증 요구에 특정되는 SSP(106)에 의해 공급된 임의의 파라미터를 또한 포함할 수 있다. 예를 들면, 일회용 시큐리티 데이터가 시큐리티 매트릭스를 포함하는 경우, 파라미터는 수취인 계좌 번호에 기초한 유효성 검증을 위해 '0'과 '9' 사이의 숫자만을 포함할 수 있는 키 심볼 세트의 식별을 포함할 수 있다. 그러나, 다른 문맥에서, 검증 코드의 생성에서 사용된 거래 정보는, 키 심볼 세트가 예를 들어 모든 알파벳 문자 및 선택된 특수 문자를 포함하여 더 커질 수 있도록, 계좌명과 같은 것들을 포함할 수 있다. 추가로, 요구(502)은 코드 심볼 세트, 및/또는 코드 심볼 세트에서 사용되어야 하는 심볼들의 수(N)를 정의한 파라미터를 포함할 수 있다.
요구(502)의 수신 시, 시큐리티 시스템(326)은 대응하는 시큐리티 매트릭스를 생성하고, 그 매트릭스를 포함한 응답(504)이 송신된다. 그런 다음, SSP(106), 또는 시스템(300)의 다른 구성요소가 응답(504)으로 반송된 시큐리티 매트릭스를 사용하여, 백채널을 통해 사용자 장치(344)로 사용자에게 송신될 메시지를 생성할 것이다.
그런 다음, 사용자는 타임라인(400)에 도시된 바와 같이 SSP(106)로 다시 송신되는 검증 코드(404)를 생성하여 입력한다. 그런 다음, SSP(106)는 시큐리티 시스템(326)에 대한 추가 요구(506)을 생성한다. 이 추가 요구(506)은, 시큐리티 시스템(326)이 주 채널을 통해 수신된 검증 코드를 유효성 검증하여, 검증 코드가 성공적으로 유효성 검증되는지의 여부를 나타내는 추가 응답(508)을 반송하기 위한 것이다. 시큐리티 시스템(326)에 송신된 메시지(506)는 시큐리티 시스템(326)이 검증 코드를 유효성 검증하는 데 필요한 파라미터를 포함할 수 있다. 이들 파라미터는 사용자의 식별, 반송된 검증 코드 그 자체, 및 검증 코드를 생성하는 데 사용되는 관련 거래 세부 항목, 예를 들어 수취인 계좌 번호, 또는 다른 중요 정보를 포함할 수 있다. 그런 다음, 시큐리티 시스템(326)은, 최종 사용자에 의해 입력되고 반송되어야 하는 검증 코드를 재생성하기 위해서, 거래 세부 항목과 함께, 응답(504)을 통해 사전에 생성되고 반송된 일회용 시큐리티 데이터의 그 레코드, 및 데이터베이스(330)로부터 검색된 임의의 관련 사용자 선호도를 사용한다. 그런 다음, 이렇게 국부적으로 생성된 검증 코드는 거래가 유효성 검증되는지의 여부를 결정하기 위해서, 요구(506)에 포함된 코드와 비교될 수 있다. 그 비교의 결과가 응답(508)으로 반송된다. 그런 다음, SSP(106)는 유효성 검증 결과(508)에 따라 거래를 실행할 것인지의 여부를 결정할 수 있다.
상기한 바와 같이, 본 발명의 일부 실시형태에서, 사용자는 시큐리티 시스템(326)에 등록될 수 있고, 검증 코드(404)를 생성하기 위해서 키 심볼 및/또는 코드 심볼에 대해 수행될 추가 조작을 정의하는 사용자 계좌 레코드 내에 저장된 관련 사용자 선호도 데이터를 가질 수 있다. 사용자에게 제공될 수 있고 자신의 계좌 레코드 내에 저장될 수 있는 가능한 조작의 철저하지 않은 리스트가 아래에 열거되며, 일반적으로 검증 코드를 수정하기 위한 적합한 조작은 시큐리티 시스템(326)이 공동 양수의 미국 특허 제8,869,255호에 기술된 바와 같은 인증(예컨대, 안전한 로그인) 서비스를 제공하도록 또한 구성될 때에 이용 가능한 조작의 서브세트를 포함할 수 있다. 실제로, 일부 실시형태에서, 시큐리티 시스템(326)은 다수의 목적을 위해, 예컨대 로그인 프로세스의 일부로서, 사용자를 처음에 인증하고, 이어서 사용자가 요구한 거래를 유효성 검증하기 위해서 SSP(106)에 의해 사용될 수 있다. 이 방식으로, MIM/MIB 공격자(114/122)가 초기 로그인 프로세스 동안에 사용자의 비밀번호를 취득하는 것 또한 방지될 수 있다.
사용자 선호도를 통해 제공될 수 있는 조작은 다음을 포함한다:
Figure pct00001
포지티브 오프셋(positive offset), 즉 검증 코드(404)를 생성할 때 각 코드값에 적용될 증분(필요한 경우, 숫자는 9+1=0이 되도록 다음 행으로 넘어갈 수 있고 문자는 Z+1=A가 되도록 다음 행으로 넘어갈 수 있다);
Figure pct00002
네거티브 오프셋(negative offset), 즉 각 코드값에 적용될 감분(필요한 경우, 역 행 넘김이 사용될 수 있다);
Figure pct00003
증분이 포지티브 오프셋과 같이 각 코드값에 적용되지만, 증분 그 자체의 크기는 검증 코드의 각 요소에 따라 증가하는, 증가형 포지티브 증분, 또는 포지티브 '크롤(crawl)';
Figure pct00004
감분이 네거티브 오프셋에서와 같이 각 코드값에 적용되지만, 감분의 크기가 검증 코드의 각 요소에 따라 증가하는, 증가형 네거티브 증분; 및/또는
Figure pct00005
검증 코드를 공식화하는 데 사용되어야 하는 전체 코드 내의 코드값들의 서브세트를 식별하는, 마스크(따라서, 마스크는 상기 실시예에서 기술된 보충적인 시큐리티 데이터(403)와 유사한 기능을 수행하지만, '거래당(per transaction)' 기준이 아니라 '사용자당(per-user)' 기준으로 수행한다).
이제 도 6을 참조하면, 전술한 타임라인 및 일반적인 시스템 아키텍처와 대응하는, 본 발명을 구현하는 거래 시큐리티를 위한 방법을 도시하는 플로차트(600)가 나타나 있다.
단계 602에서, 사용자는 SSP(106)에 인증한다. 이 인증은 사용자 ID 및 비밀번호와 같은 식별 및 인증 정보를 사용하여 SSP(106)에 로그인하는 것을 포함할 수 있다. 선택적으로, 인증 프로세스는 미국 특허 제8,869,255호에 기술된 바와 같은 방식으로 시큐리티 시스템(326)의 서비스를 사용함으로써 더욱 안전하게 될 수 있다.
단계 604에서, 사용자는 거래를 행하기 원하여, 예컨대 인터넷 뱅킹 포털을 통한 자금 이체의 경우에, 수취인 계좌 번호 및 거래 금액과 같은 중요한 세부 항목을 포함한 거래 세부 항목을 입력한다. 단계 606에서, 거래 세부 항목은 SSP(106)에 송신되고, 그 시점에 MIM/MIB 공격자(114/122)에 의한 잠재적인 인터셉트에 노출된다.
단계 608에서, 일회용 시큐리티 데이터가, 예를 들어 SSP(106)와 시큐리티 시스템(326) 간의 상호 작용(502, 504)을 통해 생성된다. 결과로 생긴 시큐리티 데이터는 백채널을 통해 송신된다.
단계 610에서, SSP(106)는, 사용자가 검증 코드를 입력하기 위한 기능을 포함하는 확인 페이지를 생성하여 최종 사용자에게 제공한다. 사용자는 시큐리티 데이터, 중요 거래 세부 항목, 및 임의의 적용 가능한 사용자 선호도에 따라 적절한 검증 코드를 결정하고, 그런 다음 단계 612에서 코드를 입력한다.
단계 614에서, 사용자에 의해 입력된 검증 코드는 SSP(106)에 송신되고, 그 시점에 MIM/MIB 공격자(114/122)에 의한 잠재적인 인터셉트 및 재송신을 겪게 된다.
단계 616에서, 예를 들어 도 5에 도시된 바와 같이 SSP(106)와 시큐리티 시스템(326) 간의 상호 작용(506, 508)을 통해, 검증 코드가 유효성 검증된다. 이와 같은 유효성 검증 결과에 따라, 단계 618에서 거래가 확인되거나 거부된다.
실시형태의 상기 설명은 본 발명의 원리를 예시하는 역할을 하지만, 최종 사용자에게 추가적인 편의를 제공하는 변형예를 포함하여, 많은 변형예가 가능하다는 것이 이해될 것이다. 예를 들면, 스마트폰 또는 태블릿과 같은 '스마트 장치' 사용자에게는 검증 코드의 생성을 지원하기 위해 전용 애플리케이션(또는 '앱')이 제공될 수 있다. 예를 들면, 전용 앱은 SSP(106) 및/또는 시큐리티 시스템(326)으로부터 사용자를 대신하여 통신을 수신할 수 있다. 이들 통신은, 예를 들어 신뢰받는 발신 번호로부터의 SMS를 통해, 또는 시큐리티 시스템(326) 및 앱 내의 적절하게 시큐리티된 코드 요소들에만 알려진 비밀 정보(예컨대, 비밀 키)에 기초하여, 인터넷 또는 일부 다른 통신 네트워크를 통해 확립될 수 있는 안전한 암호화 채널을 통해 수신될 수 있다.
도 7은 본 발명을 구현하는 스마트폰 앱의 예시적인 스크린 디스플레이를 도시한다. 사용자는 SSP(106)와의 거래를 개시하기 전에 앱을 열어서 앱의 실행을 개시할 수 있거나, 또는 앱은 백채널을 모니터링하여, 시큐리티 매트릭스 정보(402)의 수신 시에 자동적으로 열릴 수 있다. 이때, 디스플레이(700)는, 텍스트 입력 박스(702)를 통해 관련 거래 상세 항목, 예컨대 인터넷 뱅킹 자금 이체의 수취인 계좌 번호를 입력할 것을 사용자에게 촉구하는 것을 나타낼 수 있다. 수신된 시큐리티 매트릭스 데이터와 함께 이 정보를 소유하면, 앱은 검증 코드를 연산하여 확인 페이지에 입력하기 위해, 즉 프로세스(600)의 단계 612에서 사용자에게 제시할 수 있다. 대응하는 예시적인 스크린 디스플레이(704)는 사용자에게 대응하는 검증 코드(706)를 제공한다.
검증 코드(706)를 생성하기 위해서 사용자가 스마트폰 앱 또는 유사한 것을 사용하는 실시형태에서는, 사용자가 검증 코드를 수동으로 생성할 필요가 있을 때에 타당한 것보다 더욱 복잡한 연산이 사용될 수 있다. 예를 들면, 앱은 중요 거래 데이터의 항목(예를 들어, 수취인 계좌 번호(702))을 대응하는 검증 코드(706)로 변환하기 위해서 수행될 동작을 지정하는 시큐리티 매트릭스(402) 및/또는 다른 일회용 시큐리티 데이터를 수신할 수 있다. 상기 동작은, 예컨대 MD5, SHA-1, SHA-2, 또는 다른 공지된 해싱 알고리즘을 사용하여, 변환된 중요 거래 데이터의 해시를 연산하는 것을 포함할 수 있고, 검증 코드는 연산된 해시로부터 유도될 수 있다. 이 경우, MIM/MIB 공격자가 검증 코드로부터 원래의 변환된 중요 거래 데이터를 도출하는 것은 계산상 타당하지 않을 것이기 때문에, 공격자가 중요 거래 데이터에 적용된 변환을 결정하는 것은 불가능할 것이다. 따라서, MIM/MIB 공격자는 임의의 부정하게 수정된 중요 거래 데이터와 일치하는 그 자체의 검증 코드를 생성할 수 없을 것이다.
도 8은 안전한 서비스 제공자와 본 발명을 구현하는 스마트 장치 앱 간의 신뢰 백채널을 확립하기 위한 시스템(800)의 개략도이다. 나타낸 바와 같이, 앱이 통신할 시큐리티 시스템(326)은, 어떠한 잠재적인 공격자에 대해서도 액세스할 없도록, 안전하게 저장되는 관련 비밀 키(806)를 갖는다. 대응하는 공용 키(804)는, 앱이 자신의 공식 공급원에서 비롯된 것임을 보장하는, 애플 앱 스토어(Apple App Store) 또는 구글 플레이(Google Play)와 같은 신뢰받는 앱 스토어(808)를 통해 최종 사용자가 이용할 수 있게 하는 스마트 장치 앱(806)에 사전에 로딩되며, 최종 사용자 장치(810)에 다운로드하기 전에 수정 또는 달리 훼손되지 않는다. 일단 최종 사용자 장치(804) 상에서 실행하면, 앱은 고유의 암호 키를 생성하고, 사전에 로딩된 공용 키(804)를 사용하여 암호화하며, 암호화된 암호 키를 시큐리티 시스템(326)에 송신할 수 있다. 그런 다음, 이와 같은 고유의 암호 키는 시큐리티 시스템(326)과 사용자 스마트 장치(804) 간의 대칭적 암호화 통신을 위해 사용될 수 있다. 추가 시큐리티를 위해, 대칭 암호화 키는 원하는 만큼 사용자 장치(804) 상의 앱에 의해 재생성될 수 있고, 특히 각각의 사용 후에 대체될 수 있다.
대체 실시형태에서, 신뢰받는 앱 스토어(802)로부터 입수 가능한 앱에 사전에 로딩된 정보는, 앱이 시큐리티 시스템(326)에서 발신한 착신 SMS 메시지를 인식할 수 있도록, 시큐리티 시스템(326)과 관련된 고유의 전화 번호일 수 있다.
본 발명의 특정 실시형태 및 변형예가 본 명세서에 기술되었지만, 또 다른 수정예 및 대체예가 관련 기술 분야의 숙련자에게는 명백하다는 것이 이해될 것이다. 특히, 실시예들은 본 발명의 원리를 예시하는 것에 의해 제공되며, 해당 원리를 실시하기 위한 다수의 특정 방법을 제공하는 것이다. 일반적으로, 본 발명의 실시형태는, 검증 코드가 2개의 원격 위치에서, 예컨대 최종 사용자 위치와 시큐리티 시스템 위치에서 독립적으로 생성될 수 있는 기술적 배치를 제공하는 것에 의거하며, 여기서 검증 코드는, 1차 통신 채널을 통한 전송 중의 중요 거래 데이터의 임의의 수정이 독립적으로 생성된 검증 코드들에서의 불일치로서 검출될 수 있도록, 중요 거래 데이터의 적어도 하나의 항목에 의존한다. 본 발명을 구현하는 배치는, 검증 코드를 생성하는 데 사용되는 일회용 시큐리티 데이터를 시큐리티 시스템 위치로부터 최종 사용자 위치로 송신하기 위해 2차 채널을 사용한다. 따라서, 본 발명의 실시형태에 의해 제공된 시큐리티를 조직적으로 손상시키는 것은 1차 및 2차 통신 채널 양쪽 모두의 침입을 필요로 한다.
따라서, 기술된 실시형태는 본 발명의 일반적인 특징 및 원리를 교시할 목적으로 예로서 제공되는 것으로 이해되어야 하며, 첨부된 청구범위에 정의된 본 발명의 범위를 제한하는 것으로 이해되지 않아야 한다.

Claims (15)

  1. 제1 통신 채널을 통해 거래 서버에 송신되며 중요 거래 데이터의 적어도 하나의 항목을 포함하는 하나 이상의 거래 메시지를 포함하는 거래를 안전하게 처리하는 방법으로서:
    중요 거래 데이터의 항목을 포함하는, 사용자의 거래 요구에 대응하는 제1 거래 메시지를 상기 제1 통신 채널을 통해 상기 거래 서버에 의해 수신하는 단계;
    상기 제1 거래 메시지의 수신에 응답하여, 거래 검증 코드를 생성하기 위해서 상기 중요 거래 데이터에 기초하여 수행될 하나 이상의 동작을 정의하는 일회용 시큐리티 데이터를 생성하는 단계;
    상기 제1 통신 채널과는 기능적으로 구별되는 제2 통신 채널을 통해 상기 사용자에게 상기 일회용 시큐리티 데이터를 송신하는 단계;
    상기 제2 통신 채널을 통한 상기 일회용 시큐리티 데이터의 수신에 응답하여 상기 사용자에 의해 제공된 제1 거래 검증 코드를 포함하는 제2 거래 메시지를 상기 제1 통신 채널을 통해 상기 거래 서버에 의해 수신하는 단계;
    상기 수신된 제1 거래 메시지 내에 포함된 상기 중요 거래 데이터에 기초하여 상기 일회용 시큐리티 데이터에 의해 정의된 상기 동작을 수행함으로써 제2 거래 검증 코드를 생성하는 단계;
    상기 제1 거래 검증 코드와 상기 제2 거래 검증 코드를 비교하는 단계; 및
    상기 제1 거래 검증 코드와 상기 제2 거래 검증 코드 간의 불일치의 경우, 상기 거래 요구를 거부하는 단계를 포함하는, 방법.
  2. 제1항에 있어서, 상기 일회용 시큐리티 데이터는, 상기 중요 거래 데이터와 관련된 심볼 세트 내의 각 심볼과 코드 세트로부터 무작위로 선택되는 코드값 간의 매핑을 포함하는 시큐리티 매트릭스를 포함하며, 상기 중요 거래 데이터에 기초하여 수행될 상기 동작은 상기 중요 거래 데이터의 하나 이상의 심볼을 상기 매핑에 의해 정의된 관련 코드값으로 대체함으로써 치환 코드를 생성하는 것을 포함하는, 방법.
  3. 제2항에 있어서, 상기 시큐리티 매트릭스는 상기 거래의 지속 기간에만 유효한, 방법.
  4. 제2항에 있어서, 상기 일회용 시큐리티 데이터는 상기 거래 검증 코드를 생성하기 위해서 상기 치환 코드에 대해 수행될 하나 이상의 추가 동작을 정의하는 보충적인 시큐리티 데이터를 더 포함하는, 방법.
  5. 제4항에 있어서, 상기 보충적인 시큐리티 데이터에 의해 정의된 상기 하나 이상의 추가 동작은 상기 거래 검증 코드 내에 포함시키기 위해 상기 치환 코드의 심볼들의 서브세트를 선택하는 것을 포함하는, 방법.
  6. 제1항에 있어서, 상기 거래 검증 코드는 상기 중요 거래 데이터에 기초하여 상기 일회용 시큐리티 데이터에 의해 정의된 동작을 수행함으로써 생성된 코드의 해시로부터 유도되는, 방법.
  7. 제1항에 있어서, 상기 일회용 시큐리티 데이터는 사용자 장치 상에서 실행하는 소프트웨어 애플리케이션에 의해 처리하기 위해 상기 제2 통신 채널을 통해 상기 사용자 장치에 송신되며, 상기 소프트웨어 애플리케이션은:
    상기 제2 통신 채널을 통해 상기 일회용 시큐리티 데이터를 수신하는 것;
    상기 사용자로부터, 상기 사용자 장치의 사용자 인터페이스를 통해, 상기 일회용 시큐리티 데이터에 정의된 동작에 의해 상기 거래 시큐리티 코드의 생성을 위해 필요한 상기 중요 거래 데이터를 요구 및 수신하는 것;
    사용자로부터 수신된 중요 거래 데이터에 기초하여 일회용 시큐리티 데이터에 의해 정의된 동작을 수행함으로써 거래 검증 코드를 생성하는 것; 및
    상기 생성된 거래 검증 코드를 상기 사용자 장치의 상기 사용자 인터페이스를 통해 상기 사용자에게 제공하는 것을 수행하도록 구성되는, 방법.
  8. 실행 가능한 프로그램 명령을 포함하는 메모리 스토어에 접속되는 프로세서를 포함하는 컴퓨터 서버 시스템으로서, 상기 실행 가능한 프로그램 명령은, 실행되었을 때, 상기 프로세서가:
    제1 통신 채널을 통해 사용자에게 액세스 가능하고 상기 사용자의 거래 요구에 응답하여 거래를 용이하게 하도록 구성된 안전한 서비스 포털을 제공하는 것;
    상기 제1 통신 채널을 통해, 중요 거래 데이터의 항목을 포함하는, 상기 사용자의 거래 요구에 대응하는 제1 거래 메시지를 수신하는 것에 응답하여, 거래 검증 코드를 생성하기 위해서 상기 중요 거래 데이터에 기초하여 수행될 하나 이상의 동작을 정의하는 일회용 시큐리티 데이터를 생성하는 것;
    상기 제1 통신 채널과는 기능적으로 구별되는 제2 통신 채널을 통해 상기 사용자에게 송신되어 온, 상기 일회용 시큐리티 데이터의 수신에 응답하여 사용자에 의해 제공된 제1 거래 검증 코드를 포함하는 제2 거래 메시지를 제1 통신 채널을 통해 수신하는 것;
    상기 수신된 제1 거래 메시지 내에 포함된 상기 중요 거래 데이터에 기초하여 상기 일회용 시큐리티 데이터에 의해 정의된 상기 동작을 수행함으로써 제2 거래 검증 코드를 생성하는 것;
    상기 제1 거래 검증 코드와 상기 제2 거래 검증 코드를 비교하는 것; 및
    상기 제1 거래 검증 코드와 상기 제2 거래 검증 코드 간의 불일치의 경우, 상기 거래 요구를 거부하는 것을 수행하게 하는, 컴퓨터 서버 시스템.
  9. 제8항에 있어서, 상기 실행 가능한 프로그램 명령어는, 실행되었을 때, 상기 프로세서가:
    상기 일회용 시큐리티 데이터의 생성을 위한 요구를, 상기 일회용 시큐리티 데이터를 생성하도록 구성되는 시큐리티 시스템에 안전한 통신 채널을 통해 송신하는 것에 의해 상기 일회용 시큐리티 데이터를 생성하게 하는, 컴퓨터 서버 시스템.
  10. 제8항에 있어서, 상기 실행 가능한 프로그램 명령은, 실행되었을 때, 상기 프로세서가 상기 제2 거래 검증 코드를 생성하게 하고:
    상기 제1 거래 검증 코드를, 안전한 통신 채널을 통해, 상기 일회용 시큐리티 데이터를 생성하도록 구성되는 시큐리티 시스템에 송신하는 것; 및
    상기 제1 거래 검증 코드와, 상기 수신된 제1 거래 메시지 내에 포함된 상기 중요 거래 데이터에 기초하여 상기 일회용 시큐리티 데이터에 의해 정의된 상기 동작을 수행하는 시큐리티 시스템에 의해 생성되어 있는 상기 제2 거래 검증 코드 간의 비교 결과의 표시를 포함하는 응답 메시지를 시큐리티 시스템으로부터 안전한 통신 채널을 통해 수신하는 것에 의해, 상기 제1 거래 검증 코드와 상기 제2 거래 검증 코드를 비교하게 하는, 컴퓨터 서버 시스템.
  11. 실행 가능한 프로그램 명령을 포함하는 메모리 스토어에 접속되는 프로세서를 포함하는 시큐리티 시스템으로서, 상기 실행 가능한 프로그램 명령은, 실행되었을 때, 상기 프로세서가:
    일회용 시큐리티 데이터의 생성을 위한 요구를 원격 프로세서로부터 안전한 통신 채널을 통해 수신하는 것;
    거래 검증 코드를 생성하기 위해서 사용자의 거래의 중요 거래 데이터에 기초하여 수행될 하나 이상의 동작을 정의하는 일회용 시큐리티 데이터를 생성하는 것;
    상기 일회용 시큐리티 데이터를 포함하는 시큐리티 메시지를 통신 백채널을 통해 상기 사용자의 장치에 송신하는 것;
    상기 중요 거래 데이터에 기초하여 상기 사용자에 의해 생성되고 1차 통신 채널을 통해 원격 프로세서에 제공되는 제1 거래 검증 코드를 상기 원격 프로세서로부터 상기 안전한 통신 채널을 통해 수신하는 것;
    상기 사용자에 의해 상기 1차 통신 채널을 통해 원격 프로세서에 송신된 거래 메시지 내에 포함된 중요 거래 데이터에 기초하여 상기 일회용 시큐리티 데이터에 의해 정의된 상기 동작을 수행함으로써 제2 거래 검증 코드를 생성하는 것;
    상기 제1 거래 검증 코드와 상기 제2 거래 검증 코드를 비교하는 것; 및
    상기 제1 거래 검증 코드와 상기 제2 거래 검증 코드 간의 비교 결과의 표시를 포함하는 응답 메시지를 상기 안전한 통신 채널을 통해 상기 원격 프로세서에 송신하는 것을 수행하게 하는, 시큐리티 시스템.
  12. 제11항에 있어서, 상기 실행 가능한 프로그램 명령은, 실행되었을 때, 상기 프로세서가 상기 일회용 시큐리티 데이터를 포함하는 상기 시큐리티 메시지를 상기 원격 프로세서를 통해 상기 사용자의 상기 장치에 송신하게 하는, 시큐리티 시스템.
  13. 실행 가능한 프로그램 명령을 포함하는 메모리 스토어에 접속되는 프로세서를 포함하는 휴대형 연산 및 통신 장치로서, 상기 실행 가능한 프로그램 명령은, 실행되었을 때, 상기 프로세서가:
    거래 검증 코드를 생성하기 위해서 중요 거래 데이터에 기초하여 수행될 하나 이상의 동작을 정의하는 일회용 시큐리티 데이터를 관련된 통신 채널을 통해 수신하는 것;
    상기 중요 거래 데이터를 입력하라는 사용자에 대한 촉구를 상기 휴대형 연산 및 통신 장치의 사용자 인터페이스를 통해 사용자에게 제시하는 것;
    상기 중요 거래 데이터를 사용자로부터 상기 사용자 인터페이스를 통해 수신하는 것;
    상기 중요 거래 데이터에 기초하여 상기 일회용 시큐리티 데이터에 의해 정의된 상기 동작을 수행함으로써 상기 거래 검증 코드를 생성하는 것; 및
    상기 거래 검증 코드의 인간 판독 가능한 표현을 상기 사용자 인터페이스를 통해 상기 사용자에게 제시하는 것을 수행하게 하는, 휴대형 연산 및 통신 장치.
  14. 제13항에 있어서, 상기 실행 가능한 프로그램 명령은, 실행되었을 때, 상기 프로세서가 변환된 중요 거래 데이터의 해시를 연산하는 것을 포함하는 방법에 따라 상기 거래 검증 코드를 생성하게 하는, 휴대형 연산 및 통신 장치.
  15. 실행 가능한 프로그램 명령이 저장된 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품으로서, 상기 실행 가능한 프로그램 명령은, 관련된 통신 채널에 접속되는 프로세서에 의해 실행되었을 때, 상기 프로세서가:
    거래 검증 코드를 생성하기 위해서 중요 거래 데이터에 기초하여 수행될 하나 이상의 동작을 정의하는 일회용 시큐리티 데이터를 관련된 통신 채널을 통해 수신하는 것;
    상기 중요 거래 데이터를 입력하라는 사용자에 대한 촉구를 사용자 인터페이스를 통해 사용자에게 제시하는 것;
    상기 중요 거래 데이터를 상기 사용자로부터 상기 사용자 인터페이스를 통해 수신하는 것;
    상기 중요 거래 데이터에 기초하여 상기 일회용 시큐리티 데이터에 의해 정의된 상기 동작을 수행함으로써 상기 거래 검증 코드를 생성하는 것; 및
    상기 거래 검증 코드의 인간 판독 가능한 표현을 상기 사용자 인터페이스를 통해 상기 사용자에게 제시하는 것을 수행하게 하는, 컴퓨터 프로그램 제품.
KR1020177030657A 2015-04-17 2016-04-15 거래 시큐리티를 위한 방법 및 시스템 Withdrawn KR20170140215A (ko)

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
KR20170140215A true KR20170140215A (ko) 2017-12-20

Family

ID=57125452

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177030657A Withdrawn KR20170140215A (ko) 2015-04-17 2016-04-15 거래 시큐리티를 위한 방법 및 시스템

Country Status (10)

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

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017109994A1 (ja) * 2015-12-25 2017-06-29 日立オムロンターミナルソリューションズ株式会社 自動取引システム
US9842330B1 (en) 2016-09-06 2017-12-12 Apple Inc. User interfaces for stored-value accounts
EP3532926A1 (en) * 2016-10-31 2019-09-04 Harman Becker Automotive Systems GmbH Software update mechanism for safety critical systems
AU2019281961B2 (en) * 2018-06-03 2021-10-07 Apple Inc. User interfaces for transfer accounts
CA3062211A1 (en) 2018-11-26 2020-05-26 Mir Limited Dynamic verification method and system for card transactions
CN109862562A (zh) * 2019-01-02 2019-06-07 武汉极意网络科技有限公司 一种动态验证码选取方法及系统
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 (zh) * 2021-02-23 2021-12-14 深圳亚桐荟科技有限公司 一种基于大数据的云安全账户管理方法及云安全平台
CN113364777B (zh) * 2021-06-07 2022-11-11 中国工商银行股份有限公司 身份安全校验方法及系统
CN115734176B (zh) * 2022-11-03 2025-02-07 上海通联金融服务有限公司 一种控制短信下发的方法

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 (ko) * 2003-05-29 2004-12-09 나인섭 금융 업무를 위한 2차 인증 및 중계시스템
JP3996939B2 (ja) * 2006-03-30 2007-10-24 株式会社シー・エス・イー オフラインユーザ認証システム、その方法、およびそのプログラム
GB2479288B (en) * 2006-07-26 2012-03-28 Japan Science & Tech Agency Secret communication method and secret communication device thereof
KR20100049882A (ko) * 2008-11-04 2010-05-13 (주)에이티솔루션 휴대전화기를 이용한 인터넷 뱅킹 방법
US20100125635A1 (en) * 2008-11-17 2010-05-20 Vadim Axelrod User authentication using alternative communication channels
CN101540031A (zh) * 2009-05-04 2009-09-23 李勇 一种确保网络电子交易的数据真实性的确认方法
KR101232373B1 (ko) * 2010-06-11 2013-02-12 주식회사 하나은행 은행 보안카드 어플리케이션이 탑재된 스마트폰, 이를 이용한 보안카드 제공 방법 및 보안카드 관리장치
CN101950403A (zh) * 2010-09-15 2011-01-19 中国工商银行股份有限公司 基于网上银行的数据处理方法、装置及系统
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 (ko) * 2011-02-15 2012-11-20 동서대학교산학협력단 이체정보로 생성되는 otp를 활용한 계좌이체시스템 및 방법
CN102202300B (zh) * 2011-06-14 2016-01-20 上海众人网络安全技术有限公司 一种基于双通道的动态密码认证系统及方法
WO2014027110A1 (en) * 2012-08-16 2014-02-20 Cargonis Gmbh Authentication method and system
CN110995689A (zh) * 2013-06-24 2020-04-10 阿里巴巴集团控股有限公司 一种用于用户身份认证的方法和装置

Also Published As

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

Similar Documents

Publication Publication Date Title
US10904234B2 (en) Systems and methods of device based customer authentication and authorization
KR20170140215A (ko) 거래 시큐리티를 위한 방법 및 시스템
EP3824592B1 (en) Public-private key pair protected password manager
US9231925B1 (en) Network authentication method for secure electronic transactions
US9203819B2 (en) Methods and systems for pairing devices
US9485254B2 (en) Method and system for authenticating a security device
CA2736582C (en) Authorization of server operations
US20140156531A1 (en) System and Method for Authenticating Transactions Through a Mobile Device
US9391982B1 (en) Network authentication of multiple profile accesses from a single remote device
KR20180117715A (ko) 개선된 보안성을 갖는 사용자 인증을 위한 방법 및 시스템
US20120240203A1 (en) Method and apparatus for enhancing online transaction security via secondary confirmation
JP2013211020A (ja) フィッシング攻撃を防ぐ方法および装置
WO2011161461A1 (en) Identity verification
US20120221862A1 (en) Multifactor Authentication System and Methodology
US12126647B2 (en) System and method for protection against malicious program code injection
AU2018309432A1 (en) System and method for authenticating a transaction
WO2015150917A2 (en) System and method for authenticating transactions through a mobile device
JP5670001B1 (ja) 取引システム、取引方法、ならびに、情報記録媒体
Tolbert et al. Exploring Phone-Based Authentication Vulnerabilities in Single Sign-On Systems
JP6454493B2 (ja) 認証システム、認証方法および認証プログラム
CA2904646A1 (en) Secure authentication using dynamic passcode
US11599607B2 (en) Authentication method and system for a telecommunications system
JP2007065789A (ja) 認証システム及び方法
Eleftherios FIDO2 Overview, Use Cases, and Security Considerations
Corella et al. Fundamental Security Flaws in the 3-D Secure 2 Cardholder Authentication Specification

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 20171024

Patent event code: PA01051R01D

Comment text: International Patent Application

PG1501 Laying open of application
PC1203 Withdrawal of no request for examination