KR20160135799A - 보안 오프라인 지불 시스템 - Google Patents

보안 오프라인 지불 시스템 Download PDF

Info

Publication number
KR20160135799A
KR20160135799A KR1020167029240A KR20167029240A KR20160135799A KR 20160135799 A KR20160135799 A KR 20160135799A KR 1020167029240 A KR1020167029240 A KR 1020167029240A KR 20167029240 A KR20167029240 A KR 20167029240A KR 20160135799 A KR20160135799 A KR 20160135799A
Authority
KR
South Korea
Prior art keywords
communication device
mobile communication
user
management system
funds
Prior art date
Application number
KR1020167029240A
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
Priority claimed from US14/226,798 external-priority patent/US20150278796A1/en
Priority claimed from US14/226,785 external-priority patent/US20150278795A1/en
Application filed by 구글 인코포레이티드 filed Critical 구글 인코포레이티드
Publication of KR20160135799A publication Critical patent/KR20160135799A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/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/405Establishing or using transaction specific rules
    • 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/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • G06Q20/108Remote banking, e.g. home banking
    • 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/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/322Aspects of commerce using mobile devices [M-devices]
    • G06Q20/3224Transactions dependent on location of M-devices
    • 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/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/327Short range or proximity payments by means of M-devices
    • 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/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/327Short range or proximity payments by means of M-devices
    • G06Q20/3272Short range or proximity payments by means of M-devices using an audio code
    • 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/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/327Short range or proximity payments by means of M-devices
    • G06Q20/3278RFID or NFC payments by means of M-devices
    • 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/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3676Balancing accounts
    • 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/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3678Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3821Electronic credentials
    • G06Q20/38215Use of certificates or encrypted proofs of transaction rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • 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/403Solvency checks
    • G06Q20/4033Local solvency checks

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

보안 오프라인 지불들을 제공하는 방법은 서명된 잔액 증명서를 사용자 디바이스에 전달하는 계정 시스템을 포함한다. 상기 시스템은 사용자의 계정에 액세스하고, 이용가능한 언록킹 펀드들을 결정하고, 잔액 증명서를 생성하고 잔액 증명서에 서명하고, 그리고 서명된 잔액 증명서를 사용자 디바이스에 전송한다. 오프라인 지불 거래를 완료하기 위해 사용자 디바이스 및 머천트 디바이스는 통신 채널을 확립한다. 머천트 디바이스는 지불 요청을 사용자 디바이스에 전송한다. 서명된 인출 레코드 및 서명된 잔액 증명서는 검증 및 오프라인 지불 거래의 완료를 위해 머천트 디바이스로 전송된다. 머천트 디바이스는 인출 레코드를 서명하고, 서명된 인출 레코드를 사용자 디바이스에 전송하고, 그리고 머천트 디바이스가 네트워크 액세스를 가지고 이를 시스템에 전송할 수 있을 때까지 이를 저장한다. 시스템은 인출 레코드를 검증하고 상기 인출 레코드를 사용자의 계정에 기록한다.

Description

보안 오프라인 지불 시스템{SECURE OFFLINE PAYMENT SYSTEM}
[관련 출원]
본 출원은 2014년 3월 26일자로 출원된 발명의 명칭이 "보안 오프라인 지불 시스템"인 미국 출원 제14/226,785호와 2014년 3월 26일자로 출원된 발명의 명칭이 "보안 오프라인 지불 시스템에서 동시 발생하는 지불들에 대해 계정 잔액을 준비"인 미국 출원 제14/226,798호의 우선권을 주장한다. 상기 출원들의 전체 내용은 본 명세서에 참조로서 포함된다.
[기술 분야]
본 발명은 일반적으로 지불 시스템에 관한 것으로, 더 구체적으로는 사용자들로 하여금 네트워크 액세스(access) 없이 지불 거래들을 수행하도록 하는 방법들 및 시스템들에 관한 것이다.
근접 통신 기술은 1미터 이하의 제한된 범위를 가지며, 머천트 디바이스 지불 기술들을 인에이블(enable)할 수 있다. 짧은 통신 거리는 근접 통신으로 인에이블 되는 디바이스들 사이에서 커스터머(customer)의 식별 및 보안 통신을 인에이블 한다. 이러한 근접 통신 기술들은 근거리 무선 통신(NFC), 무선 인식(RFID) 또는 저전력 블루투스(BLE)를 포함한다. NFC 거래의 동작에서, 사용자는 NFC-인에이블 모바일 폰 또는 NFC-인에이블 스마트 카드와 같은 디바이스를 리더기(reader)에 탭(tap)한다. 리더기는 디바이스가 리더기의 범위 내로 이동된 때 NFC-인에이블 디바이스를 인식하고, 상기 디바이스와의 보안 통신 채널을 확립하고, 그리고 리더기와 디바이스 사이의 지불 거래를 개시한다. BLE 거래의 동작에서, 사용자는 BLE-인에이블 모바일 폰과 같은 디바이스를 다른 BLE-인에이블 모바일 폰과 같은 다른 BLE-인에이블 디바이스의 바로 옆에 가져온다. BLE 디바이스들은 그들이 서로 근처에 있음을 검출하고, 지불 거래를 개시하기 위해 보안 통신 채널을 확립할 수 있다.
모바일 통신 디바이스들은 데이터 또는 정보의 교환을 수반하는 거래, 예를 들면, 금융 거래들에서 활용될 수 있다. 전통적으로, 금융 거래에서 사용되는 모바일 통신 디바이스는 금융 계정으로 링크되거나 금융 계정 정보를 포함한다. 결과적으로, 모바일 통신 디바이스가 사용되는 경우, 리더기는 온라인 거래를 프로세스 하기 위해 네트워크 액세스를 요구하며, 금융 계정 정보를 수신하고 금융 계정으로부터 차변 거래(debit transaction)를 수행한다. 이러한 종래의 모바일 통신 디바이스에 의해 인에이블 되는 금융 거래들은 네트워크 또는 네트워크 상의 특정 컴퓨터들에 액세스가 이용가능하지 않는 경우, 동작할 수 없다.
본 명세서에 기술된 특정 예시적인 양태들에서, 보안 오프라인 지불들을 제공하는 방법은 펀드들의 디포짓(deposit)을 계정 관리 시스템에 의해 유지되는 사용자 계정에 요청하거나 그리고/또는 최근 잔액 증명서(up-to-date balance certificate)를 요청하는 사용자 디바이스를 포함한다. 상기 요청은 이중 사용(double spending)을 방지하고자 사용자의 계정 내 특정 펀드들을 록킹(locking)하기 위한 요청을 포함할 수 있다. 또한, 상기 사용자 디바이스 요청은 펀드들이 록킹되는 지속시간(duration) 그리고/또는 특정 펀드들이 오직 특정 위치에서 이용가능한 요청을 포함할 수 있다. 상기 록킹은 이후 언록킹(unlocking) 된 펀드들이 사용되는 때, 잔액 증명서가 만료한 때, 그리고/또는 사용자가 록킹 해제를 요청한 때, 해제된다. 계정 관리 시스템은 사용자의 계정 관리 시스템 계정에 액세스하고, 이용가능한 언록킹 펀드들을 결정하고, 잔액 증명서를 생성 및 이에 서명하고, 그리고 서명된 잔액 증명서를 사용자 디바이스에 전송한다.
오프라인 지불 거래를 완료하기 위해, 사용자 디바이스 및 머천트 디바이스는 통신 채널을 확립한다. 머천트 디바이스는 지불 요청을 사용자 디바이스에 전송하고, 사용자 디바이스는 지불 금액에 대해 서명된 인출 레코드(signed withdrawal record)를 생성한다. 서명된 인출 레코드 및 서명된 잔액 증명서는 머천트 디바이스로 전송되고, 상기 머천트 디바이스는 사용자 디바이스의 신원을 확인하기 위해 서명된 인출 레코드를 검증하고 오프라인 지불 거래를 완료하고자 펀드들의 이용가능성을 확인하기 위해 서명된 잔액을 검증한다. 머천트 디바이스는 인출 레코드에 서명하고, 서명된 인출 레코드를 사용자 디바이스로 전송하고, 그리고 머천트 디바이스가 네트워크 액세스를 가질 때까지 이를 저장한다. 머천트 디바이스가 네트워크 액세스를 가진 경우, 머천트 디바이스는 서명된 인출 레코드를 계정 관리 시스템에 전송한다. 계정 관리 시스템은 인출 레코드를 검증하고 사용자의 계정 관리 시스템 계정에 상기 인출 레코드를 기록한다. 사용자 디바이스가 새로운 잔액 증명서를 요청한 경우, 사용자 디바이스는 서명된 인출 레코드를 계정 관리 시스템에 전송하고, 그리고 계정 관리 시스템은 상기 계정 잔액을 검증하고 새로운 잔액 증명서를 생성한다.
본 명세서에 기술된 특정 다른 예시적인 양태들에서, 보안 오프라인 지불들을 제공하는 컴퓨터 프로그램 물 및 시스템이 제공된다.
예시적인 실시예들의 이들 및 다른 양태들, 목적들, 구성들 및 이점들은 도시된 예시적인 실시예들의 다음의 상세한 설명의 고려하에서 통상의 기술자에게 분명해질 것이다.
도 1은 특정 예시적인 실시예들에 따른, 오프라인 지불 시스템을 도시하는 블록 다이어그램이다.
도 2는 특정 예시적인 실시예들에 따른, 오프라인 지불 거래를 프로세싱 하는 방법을 도시하는 블록 흐름도이다.
도 3은 특정 예시적인 실시예들에 따른, 계정 관리 시스템으로부터 최근 잔액 증명서를 수신하는 방법을 도시하는 블록 흐름도이다.
도 4는 특정 예시적인 실시예들에 따른, 서명된 잔액 증명서를 사용자 디바이스에 제공하는 방법을 도시하는 블록 흐름도이다.
도 5는 특정 예시적인 실시예들에 따른, 사용자 계정 내 이용가능한 펀드들의 잔액을 계산하는 방법을 도시하는 블록 흐름도이다.
도 6은 특정 예시적인 실시예들에 따른, 머천트 디바이스로부터 수신된 지불 요청을 프로세싱 하는 방법을 도시하는 블록 흐름도이다.
도 7은 특정 예시적인 실시예들에 따른, 지불 요청에 대한 사용자 디바이스 응답을 검증하는 방법을 도시하는 블록 흐름도이다.
도 8은 특정 예시적인 실시예들에 따른, 인출 레코드를 검증하는 방법을 도시하는 블록 흐름도이다.
도 9는 특정 예시적인 실시예들에 따른, 컴퓨터 머신 및 모듈을 도시하는 블록 다이어그램이다.
개요
본 명세서에 기술된 예시적인 실시예들은 오프라인 지불을 보안적으로 프로세싱 하는 컴퓨터로 구현되는 기법들을 제공한다. 예시적인 실시예에서, 사용자는 오프라인 지불 거래를 수행하기 위한 요청을 계정 관리 시스템에 전달하기 위해 어플리케이션을 인에이블 하고, 사용자 디바이스를 허가한다. 예시적인 실시예에서, 사용자 디바이스는 계정 관리 시스템과의 통신 채널을 확립하고 펀드들을 계정 관리 시스템에 의해 유지되는 사용자 계정에 디포짓 하기 위한 요청 및/또는 최근 잔액 증명서를 요청한다. 계정 관리 시스템은 사용자의 계정 관리 시스템 계정에 액세스 하고, 잔액 증명서를 생성한다. 예시적인 실시예에서, 잔액 증명서는 시간에 제한되거나(예를 들면, 상기 잔액 증명서는 미리 정의된 시간이 경과한 후 만료한다), 상기 잔액 증명서가 사용될 수 있는 지불 거래들의 수에 제한되거나(예를 들면, 상기 잔액 증명서는 오프라인 제불 거래에서 사용되고 난 후 만료한다), 하나의 오프라인 지불 거래를 위해 이용가능한 펀드들의 금액에 의해 제한되거나(예를 들면, 상기 잔액 증명서는 X 달러 아래의 오프라인 지불 거래를 위해 사용될 수 있다), 그리고/또는 위치에 의해 제한된다(예를 들면, 상기 잔액 증명서는 오직 레스토랑에서의 또는 오직 위치 Z에서의 오프라인 지불 거래를 위해 사용될 수 있다). 계정 관리 시스템은 잔액 증명서 개인 키를 통해 잔액 증명서에 서명하고, 상기 잔액 증명서를 사용자 디바이스에 전송한다.
예시적인 실시예에서, 사용자의 계정 관리 시스템 계정에서 오직 선택된 펀드들의 부분만이 각 오프라인 지불 거래를 위해 이용가능하고, 남아 있는 펀드들은 이중 사용을 방지하고자 록킹된다. 예시적인 실시예에서, 사용자는 록킹 펀드들의 금액 및 지속시간을 결정한다. 예를 들면, 사용자는 잔액 증명서에 대한 요청에서 특정 펀드들을 록킹 하기 위한 요청을 제출한다. 다른 예시적인 실시예에서, 계정 관리 시스템은 록킹 펀드들의 금액 및 지속시간을 결정한다. 또 다른 예시에서, 계정 관리 시스템 및 사용자는 록킹 펀드들의 금액 및 지속시간을 결정한다. 예시적인 실시예에서, 사용자는 특정 펀드들이 오직 특정 위치에서 이용가능할 것을 요청한다(예를 들면, 사용자는 오직 대량 수송 수단(mass transit)을 위해, 레스토랑들에서, 또는 도시 X에서 펀드들을 사용하기 원한다). 예시적인 실시예에서, 요청된 록킹은 언록킹 펀드들이 사용된 경우, 잔액 증명서가 만료한 경우, 그리고/또는 사용자가 록킹이 해제되는 것을 요청한 경우 해제된다.
사용자는 머천트 또는 다른 거래 상대방과의 오프라인 지불 거래를 완료하고자 하는 소망(desire)을 나타낸다. 예시적인 실시예에서, 사용자는 머천트 디바이스의 미리 정의된 반경 내의 사용자 디바이스를 "탭"하고, 상기 디바이스들은 통신 채널을 확립한다. 예를 들면, 상기 디바이스들은 근거리 무선 통신(NFC), 블루투스, 또는 단거리 통신 채널을 통해 통신한다. 머천트 디바이스는 지불 요청을 사용자 디바이스에 전송하고, 사용자 디바이스는 머천트 디바이스로부터 수신된 지불 요청 상에 표시된 금액에 대한 인출 레코드를 생성한다. 예시적인 실시예에서, 사용자 디바이스는 계정 인증서 개인 키를 통해 인출 레코드에 서명하고, 서명된 잔액 증명서와 함께 상기 서명된 인출 레코드를 머천트 디바이스에 전송한다.
머천트 디바이스는 사용자 디바이스의 신원을 확인하기 위해 계정 인증서 공개 키를 사용하여 서명된 인출 레코드를 검증한다. 또한 머천트 디바이스는 상기 잔액 증명서가 만료되지 않았음을 확인하고 오프라인 지불 거래를 완료하기 위한 펀드들의 이용가능성을 확인하기 위해 잔액 인증서 공개 키를 사용하여 서명된 잔액 증명서를 검증한다. 예시적인 실시예에서, 머천트 디바이스는 머천트 디바이스 서명 인증서(merchant device signing certificate)를 사용하여 인출 레코드에 서명하고, 서명된 인출 레코드를 사용자 디바이스에 전송하고, 머천트 디바이스가 네트워크 액세스를 가질 때까지 이를 저장한다. 다른 예시적인 실시예에서, 머천트 디바이스는 상기 거래가 성공적임을 표시하는 상태 코드(status code) 또는 메시지를 사용자 디바이스로 전송한다. 머천트 디바이스가 네트워크 액세스를 가지는 경우, 상기 머천트 디바이스는 서명된 인출 레코드를 계정 관리 시스템에 전송한다. 예시적인 실시예에서, 계정 관리 시스템은 머천트 디바이스 서명 인증서 공개 키를 사용하여 상기 인출 레코드를 검증하고, 상기 인출 레코드를 사용자의 계정 관리 시스템 계정에 저장한다. 사용자 디바이스가 새로운 잔액 증명서를 요청하는 경우, 사용자 디바이스는 서명된 인출 레코드를 계정 관리 시스템에 전송하고, 계정 관리 시스템은 계정 잔액을 검증하고, 새로운 잔액 증명서를 생성한다.
다양한 예시적인 실시예들이 후술하는 기술들에서 더 자세히 설명되고, 프로그램 플로우(program flow)를 도시하는 도면들과 함께 읽혀질 것이다.
예시적인 시스템 아키텍쳐들
도면들 전체에서 동일한 번호들은 동일한 엘리먼트들을 가리키는(그러나 반드시 동일하지는 않음) 도면들로 이제 돌아가면, 예시적 실시예들이 상세히 기술된다.
도 1은 특정 예시적인 실시예들에 따른, 오프라인 지불 시스템(100)을 도시하는 블록 다이어그램이다. 도 1에 도시된 바와 같이, 예시적인 운영 환경(100)은 머천트 컴퓨팅 디바이스(120), 사용자 컴퓨팅 디바이스(110) 및 하나 이상의 네트워크들(140)을 통해 다른 것과 통신하도록 구성된 계정 관리 컴퓨팅 시스템(130)을 포함한다. 일부 실시예들에서, 디바이스와 관련된 사용자는 본 명세서에 기술된 기법들의 이점들을 얻기 위해 어플리케이션을 설치해야 하고, 그리고/또는 구성 선택을 하여야 한다.
예시적인 실시예에서, 사용자 디바이스(110) 및 머천트 디바이스(120)는 네트워크(140) 연결 없이 직접 통신하고 정보를 교환하도록 구성된다. 예시적인 실시예에서, 디바이스들(디바이스(120 및 110)를 포함한다)은 근접 통신 기술을 통해 통신한다. 예를 들면, 근거리 무선 통신 채널, 블루투스 통신, 저전력 블루투스(BLE) 통신, 표준 무선 주파수 형태, 적외선, 음향(예를 들면, 가청 음향들, 멜로디 및 초음파), 다른 단거리 통신 채널, 또는 신호들, 데이터, 및/또는 메시지들(일반적으로 데이터로서 지칭된다)의 통신을 지원(facilitate)하는 시스템을 통해. 본 명세서를 통해, 용어 "데이터" 및 "정보"는 본 명세서의 텍스트, 이미지들, 오디오, 비디오 또는 컴퓨터-기반 환경에서 존재할 수 있는 정보의 임의의 다른 형태를 지칭하기 위해 상호교환적으로 사용됨이 이해되어야 한다.
다른 예시적인 실시예에서, 이러한 시스템들/디바이스들(시스템들/디바이스들(110, 120 및 130)을 포함한다) 중 2 이상은 동일한 시스템 또는 디바이스 내에 통합될 수 있다. 일부 실시예들에서, 디바이스와 관련된 사용자는 본 명세서에 기술된 기법들의 이점들을 얻기 위해 어플리케이션을 설치해야 하고, 그리고/또는 구성 선택을 하여야 한다.
각 네트워크(140)는 유선 또는 무선 통신 수단들을 포함하고, 상기 유선 또는 무선 통신 수단들에 의해 네트워크 디바이스들(디바이스들(110, 120 및 130)을 포함하는)이 통신하고 데이터를 교환할 수 있다. 예를 들면, 각 네트워크(140)는 스토리지 영역 네트워크(SAN), 개인 영역 네트워크(PAN), 대도시 통신망(MAN), 근거리 통신망(LAN), 광역 네트워크(WAN), 무선 근거리 통신망(WLAN), 가상 사설망(VPN), 인트라넷, 인터넷, 모바일 텔레폰 네트워크, 카드 네트워크, 또는 이들의 임의의 조합, 또는 임의의 다른 적합한 아키텍쳐로서 구현될 수 있거나, 이들의 일부일 수 있다.
예시적인 실시예에서, 각 네트워크 컴퓨팅 시스템(110, 120, 130)은 네트워크(140)를 통해 데이터를 전송하고 수신할 수 있는 통신 모듈을 갖는 디바이스를 포함한다. 예를 들면, 각 네트워크 시스템들/디바이스들(시스템들/디바이스들(110, 120 및 130)을 포함한다)은 서버, 개인용 컴퓨터, 모바일 디바이스(예를 들면, 노트북 컴퓨터, 태블릿 컴퓨터, 넷북 컴퓨터, 개인용 정보 단말기(PDA), 비디오 게임 디바이스, GPS 위치 디바이스, 셀룰러 텔레폰, 스마트폰 또는 다른 모바일 디바이스), 텔레비전 내에 내장된 그리고/또는 텔레비전에 결합된 하나 이상의 프로세서를 가진 텔레비전, 또는 웹 브라우저 또는 네트워크(140)를 통해 통신하는 다른 어플리케이션을 포함하거나 이들에 결합된 다른 적절한 기술을 포함할 수 있다. 도 1에 도시된 예시적인 실시예에서, 네트워크 시스템들/디바이스들(시스템들/디바이스들(110, 120 및 130)을 포함한다)은 각각 머천트들, 사용자들 및 계정 관리 시스템에 의해 운영된다.
예시적인 실시예에서, 머천트 디바이스(120)는 전자, 자기 또는 무선 주파수 필드를 통해 디바이스(120)와 예컨데, 사용자 디바이스(110)와 같은 다른 디바이스 사이를 통신할 수 있는 스마트 통신 디바이스로 지칭될 수 있다. 예시적인 실시예에서, 머천트 디바이스(120)는 예컨데, 저장 용량/메모리 및 특정 기능을 수행할 수 있는 하나 이상의 어플리케이션들(125)과 같은 프로세싱 능력들을 갖는다. 예시적인 실시예에서, 머천트 디바이스(120)는 운영 체계(미도시) 및 사용자 인터페이스(121)를 포함한다. 예시적인 머천트 디바이스들(120)은 각 경우에 프로세싱 및 사용자 인터페이스 기능을 갖는 스마트 폰들, 모바일 폰들, 개인용 정보 단말기들(PDAs), 모바일 컴퓨팅 디바이스들(예를 들면, 넷북들, 태블릿들 및 아이패드들), 랩탑들, 웨어러블 컴퓨팅 디바이스들(wearable computing devices)(예를 들면, 시계들, 반지들 또는 안경들) 및 다른 디바이스들일 수 있다.
예시적인 실시예에서, 컨트롤러(126)는 블루투스 링크 컨트롤러이다. 블루투스 링크 컨트롤러(126)는 데이터를 보내고 수신하고, 사용자 디바이스(110)를 식별하고, 인증 및 암호화 기능들을 수행하고, 그리고 머천트 디바이스(120)가 사용자 디바이스(110)로부터 전송들을 리슨(listen)하는 방법 또는 블루투스가 지정한 절차들에 따라 다양한 파워-세이브 모드들(power-save modes)에 머천트 디바이스(120)를 구성하는 방법을 지시할 수 있다. 다른 예시적인 실시예에서, 컨트롤러(126)는 Wi-Fi 컨트롤러 또는 유사한 기능들을 수행할 수 있는 NFC 컨트롤러이다.
어플리케이션(125)은 프로그램, 함수, 루틴(routine), 애플릿(applet) 또는 머천트 디바이스(120) 상에 존재하고 머천트 디바이스(120) 상에서 동작들을 수행하는 유사한 엔티티(entity)이다. 예를 들면, 어플리케이션(125)은 오프라인 지불 어플리케이션, 디지털 월렛 어플리케이션, 쿠폰 어플리케이션, 로열티 카드 어플리케이션, 다른 부가가치 어플리케이션, 사용자 인터페이스 어플리케이션 또는 머천트 디바이스(120) 상에서 동작하는 다른 적절한 어플리케이션 중 하나 이상일 수 있다. 추가적으로, 머천트 디바이스(120)는 보안 요소(미도시)를 포함할 수 있고, 상기 보안 요소는 제거가능한 스마트 칩 또는 시큐어 디지털(secure digital)(SD) 카드 내에 존재할 수 있거나 디바이스(120) 상의 고정된 칩 내에 내장될 수 있다. 특정 예시적인 실시예들에서, 가입자 식별 모듈(Subscribed Identity Module)(SIM) 카드들은 보안 요소, 예를 들어, NFC SIM 카드를 호스팅 할 수 있다. 상기 보안 요소는 보안 요소 내에 저장된 정보를 보호하는 동안, 디바이스(120) 상에 있고 디바이스 사용자에 의해 액세스 가능한 소프트웨어 어플리케이션으로 하여금 보안 요소 내의 특정 기능들과 보안적으로 인터렉트(interact)하도록 한다. 상기 보안 요소는 본 명세서에 기술된 기능을 수행하는 보안 요소 상에서 동작하는 하나 이상의 어플리케이션들(125)을 포함한다.
예시적인 머천트 디바이스(120)는 하나 이상의 키들(keys) 및/또는 인증서들을 포함한다. 예시적인 실시예에서, 머천트 디바이스(120)는 지불 요청에 응답하여 사용자 디바이스(110)로부터 수신된 인출 레코드(withdrawal record)를 검증한다. 사용자 디바이스(110)는 계정 인증서(account certificate)(112)를 사용하여 인출 레코드에 서명(sign)하고, 머천트 디바이스는 사용자 디바이스(110)의 신원을 확인하기 위해 계정 인증서 공개 키(account certificate public key)(112a)를 사용하여 레코드를 검증한다. 다른 예시적인 실시예에서, 머천트 디바이스(110)는 지불 요청에 응답하여 사용자 디바이스(110)로부터 수신된 잔액 증명서(113)를 검증한다. 머천트 디바이스(120)는 오프라인 지불 거래를 완료하고자 잔액 증명서(113a)가 만료되지 않음을 확인하고 펀드들의 유효성을 확인하기 위해 잔액 증명서 공개 키(113a)를 사용하여 잔액 증명서(113)를 검증한다. 예시적인 실시예에서, 머천트 디바이스(120)는 머천트 디바이스 서명 인증서(124)를 사용하여 인출 레코드에 서명하고, 서명된 인출 레코드를 사용자 디바이스(110)로 전송한다. 디바이스들(110 및 120) 모두 서명된 인출 레코드를 저장하고, 디바이스들(110 및 120)은 네트워크(140) 액세스를 가지며 상기 레코드를 계정 관리 시스템(130)에 전송할 수 있다.
예시적인 실시예에서, 데이터 저장 유닛(129)은 머천트 디바이스(120) 상의 보안 요소 또는 다른 보안 메모리(미도시) 내에서 구현되거나, 머천트 디바이스(120) 상에 있는 분리된 메모리 유닛일 수 있다. 예시적인 데이터 저장 유닛(129)은 머천트 디바이스(120)가 네트워크(140) 액세스를 가지고 서명된 인출 레코드들을 계정 관리 시스템(130)으로 전달할 수 있을 때까지, 서명된 인출 레코드들의 저장을 인에이블 한다. 예시적인 실시예에서, 데이터 저장 유닛(129)은 정보를 저장하는데 적합한 머천트 디바이스(120)에 액세스할 수 있는 임의의 로컬 또는 원격 데이터 저장 구조를 포함할 수 있다. 예시적인 실시예에서, 데이터 저장 유닛(129)은 HTML5 로컬 스토리지(HTML5 local storage)와 같은 암호화 된 정보를 저장한다.
예시적인 실시예에 따르면, 머천트 디바이스(120)는 유선 연결을 통해 네트워크(140)에 접속한다. 예를 들면, 상기 연결은 범용 직렬 버스(USB) 또는 이더넷 연결일 수 있다. 다른 예시적인 실시예에서, 머천트 디바이스(120)는 무선 연결을 통해 네트워크에 접속한다. 예를 들면, 상기 연결은 유선/무선 인터넷 연결(예를 들면, MiFi) 또는 신호들을 네트워크(140)에 전달하기 적합한 임의의 다른 유선 또는 무선 연결을 가진 핫스팟(hotspot)에 대한 Wi-Fi- 또는 블루투스 연결일 수 있다. 다른 예시적인 실시예에서, 상기 연결은 셀룰러 네트워크 연결일 수 있다.
예시적인 실시예에서, 머천트 디바이스(120)는 판매시점 관리(point of sale)(POS) 단말기로서 기능하고, 사용자 디바이스(110)의 사용자에 의해 개시된 구매 거래를 프로세싱 할 수 있다. 예시적인 실시예에서, 사용자는 머천트 디바이스(120)로부터 구매를 요청한다. 머천트 디바이스(120)는 사용자 디바이스(110)로부터 지불 계정 정보를 수신하거나 판독한다. 예시적인 실시예에서, 구매는 머천트 디바이스(120)에 대해 사용자 디바이스(110)의 무선 "탭"으로서 개시(initiate)된다.
머천트 디바이스(120)는 안테나(127)를 통해 사용자 디바이스(110)와 통신한다. 예시적인 실시예에서, 일단 머천트 디바이스 어플리케이션(125)가 활성화되고 우선순위 되면, 컨트롤러(126)는 거래에 대한 머천트 디바이스(120)의 준비 상태를 통지 받는다. 컨트롤러(126)는 안테나(127)를 통해 라디오 신호를 출력하거나 사용자 디바이스(110)로부터 라디오 신호들을 리슨한다. 머천트 디바이스(120)와 사용자 디바이스(110)사이의 보안 통신 채널을 확립하는 동안, 머천트 디바이스(120)는 사용자 디바이스(110)로부터 이용가능한 어플리케이션들(115)의 리스트를 요청한다. 디렉토리(directory)가 먼저 디스플레이 되고, 그 이후, 우선순위 설정 또는 사용자 디바이스(110)의 타입에 기초하여, 어플리케이션(115)이 선택되고 거래를 위해 개시된다.
예시적인 사용자 디바이스(110)는 예컨데, 안테나(117)를 사용하는 머천트 디바이스(120)과 같이, 사용자 디바이스(110)와 다른 디바이스 사이의 전기, 자기 또는 무선 주파수 필드를 통해 통신할 수 있는 스마트 통신 디바이스로 지칭될 수 있다. 예시적인 실시예에서, 사용자 디바이스(110)는 예컨데, 특정 기능을 수행할 수 있는 저장 용량/메모리 및 하나 이상의 어플리케이션들(115)과 같은 프로세싱 능력을 갖는다. 예시적인 실시예에서, 사용자 디바이스(110)는 운영 체계(미도시) 및 사용자 인터페이스(111)를 포함한다. 예시적인 사용자 디바이스(110)는 각 경우에 프로세싱 및 사용자 인터페이스 기능을 갖는 스마트 폰들, 모바일 폰들, 개인용 정보 단말기들(PDAs), 모바일 컴퓨팅 디바이스들(예를 들면, 넷북들, 태블릿들 및 아이패드들), 랩탑들, 웨어러블 컴퓨팅 디바이스들(예를 들면, 시계들, 반지들 또는 안경들) 및 다른 디바이스들을 포함할 수 있다.
사용자는 사용자 인터페이스(111) 및 어플리케이션(115)를 통해 오프라인 지불 거래를 수행하기 위해, 사용자 디바이스(110)를 사용한다. 어플리케이션(115)은 프로그램, 함수, 루틴, 애플릿 또는 사용자 디바이스(110) 상에 존재하고 사용자 디바이스(110) 상에서 동작들을 수행하는 유사한 엔티티(entity)이다. 예를 들면, 어플리케이션(115)은 쇼핑 어플리케이션, 머천트 디바이스(120) 어플리케이션, 지불 어플리케이션, 디지털 월렛 어플리케이션, 로열티 카드 어플리케이션, 다른 부가가치 어플리케이션, 사용자 인터페이스(111) 어플리케이션 또는 사용자 디바이스(110) 상에서 동작하는 다른 적절한 어플리케이션 중 하나 이상일 수 있다. 일부 실시예들에서, 사용자는 본 명세서에 기술된 기법들의 이점들을 얻기 위해 어플리케이션(115)을 설치해야 하고, 그리고/또는 사용자 디바이스(110) 상의 구성 선택을 하여야 한다. 추가적으로, 사용자 디바이스(110)는 보안 요소(미도시)를 포함할 수 있고, 상기 보안 요소는 제거가능한 스마트 칩 또는 시큐어 디지털(SD) 카드 내에 존재할 수 있거나 디바이스(110) 상의 고정된 칩 내에 내장될 수 있거나 또는 안정성이 강화된 운영 체계의 보안 컴파트먼트(secure compartment)로서 실현된다. 특정 예시적인 실시예들에서, 가입자 식별 모듈(SIM) 카드들은 보안 요소, 예를 들어, NFC SIM 카드를 호스팅 할 수 있다. 상기 보안 요소는 보안 요소 내에 저장된 정보를 보호하는 동안, 사용자 디바이스(110) 상에 있고 디바이스 사용자에 의해 액세스 가능한 소프트웨어 어플리케이션(115)으로 하여금 보안 요소 내의 특정 기능들과 보안적으로 인터렉트 하도록 한다. 상기 보안 요소는 본 명세서에 기술된 기능을 수행하는 보안 요소 상에서 동작하는 하나 이상의 어플리케이션들(115)을 포함한다.
예시적인 실시예에서, 컨트롤러(116)는 블루투스 링크 컨트롤러이다. 블루투스 링크 컨트롤러(116)는 데이터를 보내고 수신하고, 사용자 디바이스(120)를 식별하고, 인증 및 암호화 기능들을 수행하고, 그리고 사용자 디바이스(110)가 머천트 디바이스로부터 전송들을 리슨하는 방법 또는 블루투스가 지정한 절차들에 따라 다양한 파워-세이브 모드들에 사용자 디바이스(110)를 구성하는 방법을 지시할 수 있다. 다른 예시적인 실시예에서, 컨트롤러(116)는 Wi-Fi 컨트롤러 또는 유사한 기능들을 수행할 수 있는 NFC 컨트롤러이다.
예시적인 사용자 디바이스(110)는 하나 이상의 키들 및/또는 인증서들을 포함한다. 예시적인 실시예에서, 사용자 디바이스(110)는 머천트 디바이스(120)로부터 수신된 지불 요청 상에 표시된 금액에 대한 인출 레코드를 생성한다. 사용자 디바이스(110)는 계정 인증서 개인 키(account certificate private key)(112)를 통해 인출 레코드에 서명하고, 잔액 증명서(113)와 함께 서명된 인출 레코드를 머천트 디바이스(120)에 전송한다.
예시적인 실시예에서, 데이터 저장 유닛(119)은 사용자 디바이스(110) 상의 보안 요소 또는 다른 보안 메모리(미도시) 내에서 구현되거나, 사용자 디바이스(110) 상에 있는 분리된 메모리 유닛일 수 있다. 예시적인 데이터 저장 유닛(119)은 사용자 디바이스(110)가 네트워크(140) 액세스를 가지고 서명된 인출 레코드들을 계정 관리 시스템(130)으로 전달할 수 있을 때까지, 서명된 인출 레코드들의 저장을 인에이블 한다. 예시적인 실시예에서, 데이터 저장 유닛(119)은 정보를 저장하는데 적합한 사용자 디바이스(110)에 액세스할 수 있는 임의의 로컬 또는 원격 데이터 저장 구조를 포함할 수 있다. 예시적인 실시예에서, 데이터 저장 유닛(119)은 HTML5 로컬 스토리지와 같은 암호화 된 정보를 저장한다.
예시적인 실시예에 따르면, 사용자 디바이스(110)는 유선 연결을 통해 네트워크(140)에 접속한다. 예를 들면, 상기 연결은 범용 직렬 버스(USB) 또는 이더넷 연결일 수 있다. 다른 예시적인 실시예에서, 사용자 디바이스(110)는 무선 연결을 통해 네트워크에 접속한다. 예를 들면, 상기 연결은 유선/무선 인터넷 연결(예를 들면, MiFi) 또는 신호들을 네트워크(140)에 전달하기 적합한 임의의 다른 유선 또는 무선 연결을 가진 핫스팟에 대한 Wi-Fi- 또는 블루투스 연결일 수 있다. 다른 예시적인 실시예에서, 상기 연결은 셀룰러 네트워크 연결일 수 있다.
예시적인 사용자 디바이스(110) 및 머천트 디바이스(120)는 계정 관리 시스템(130)과 통신한다. 예시적인 계정 관리 시스템(130)은 계정 관리 모듈(131) 및 데이터 저장 유닛(137)을 포함한다. 예시적인 계정 관리 모듈(131)은 사용자에 대한 계정을 유지한다. 예시적인 실시예에서, 상기 계정은 하나 이상의 금융 기관들에 의해 유지되는 하나 이상의 금융 계정들에 대한 정보를 포함한다. 예시적인 실시예에서, 금융 계정 정보는 데이터 저장 유닛(137) 내에 저장된다.
예시적인 실시예에서, 계정 관리 시스템(130)은 사용자의 계정 관리 시스템(130) 계정을 사용하여 만들어진 사용자의 금융 거래들을 저장한다. 예를 들면, 데이터 저장 유닛(137) 내 각 계정에 대한 펀드들의 각 디포짓(deposit) 및 펀드들의 각 인출. 예시적인 실시예에서, 계정 관리 시스템(130)은 손실된 데이터 또는 가능한 오류들을 식별하기 위해 거래 히스토리를 분석한다.
예시적인 계정 관리 시스템(130)은 하나 이상의 키들 및/또는 인증서들을 포함한다. 예시적인 실시예에서, 계정 관리 시스템(130)은 계정 인증서 공개 키(112a)를 포함하고, 계정 인증서 공개 키(112a)를 사용하여 사용자 디바이스(110)의 신원 및/또는 사용자의 계정 관리 시스템(130) 계정을 검증할 수 있다. 예시적인 실시예에서, 계정 관리 시스템(130)은 사용자의 계정 관리 시스템(130) 계정에 액세스하고 잔액 증명서(113)를 생성한다. 계정 관리 시스템(130)은 잔액 증명서 개인 키(113)를 통해 잔액 증명서(113)에 서명하고, 상기 잔액 증명서(113)를 사용자 디바이스(110)로 전송한다. 예시적인 실시예에서, 머천트 디바이스(120)는 잔액 증명서 공개 키(113a)를 포함하고, 검증 프로세스의 일부로서 잔액 증명서(113)이 계정 관리 시스템(130)에 의해 서명됨을 확인한다. 예시적인 실시예에서, 또한 계정 관리 시스템(130)은 머천트 디바이스 서명 인증서 공개 키(124a)를 포함한다. 계정 관리 시스템(130)은 머천트 디바이스(120)의 신원을 확인하기 위해 머천트 디바이스 서명 인증서 공개 키(124a)를 사용하여 머천트 디바이스 서명 인증서(124)에 의해 서명된 인출 레코드를 검증한다.
예시적인 실시예에서, 계정 관리 시스템(130)은 사용자의 계정 관리 시스템(130) 계정에 액세스하고 데이터 저장 유닛(137) 내에 서명된 인출 레코드들을 저장한다. 데이터 저장 유닛(137)은 정보를 저장하는데 적합한 계정 관리 시스템(130)에 액세스할 수 있는 임의의 로컬 또는 원격 데이터 저장 구조를 포함할 수 있다. 예시적인 실시예에서, 데이터 저장 유닛(137)은 HTML5 로컬 스토리지와 같은 암호화 된 정보를 저장한다.
예시적인 운영 환경(100)의 컴포넌트들은 도 2 내지 8에 도시된 예시적인 방법들을 참조하여, 이후 기술된다. 또한, 도 2 내지 8의 예시적인 방법들은 다른 시스템들과 함께 그리고 다른 환경들 내에서 수행될 수 있다.
예시적인 프로세스들
도 2는 특정 예시적인 실시예들에 따른, 오프라인 지불 거래를 프로세싱 하는 방법(200)을 도시하는 블록 흐름도이다. 방법(200)은 도 1에 도시된 컴포넌트들을 참조하여 기술된다.
블록(210)에서, 사용자는 사용자 디바이스(110) 상의 어플리케이션(115)을 인에이블 하고 그리고/또는 오프라인 금융 거래를 수행하려는 요청을 나타낸다. 예시적인 실시예에서, 사용자는 사용자 디바이스(110)로 하여금 계정 관리 시스템(130)과 통신하고 머천트 디바이스(120)에 대한 오프라인 지불 구매를 수행하도록 하기 위해, 어플리케이션(115)을 인에이블 한다.
블록(220)에서, 사용자 디바이스(110)는 계정 관리 시스템(130)으로부터 최근 잔액 증명서를 수신한다. 계정 관리 시스템(130)으로부터 최근 잔액 증명서를 수신하는 방법(220)은 도 3에 도시된 방법들을 참조하여 이후 더 자세히 기술된다.
도 3은 블록(220)에서 참조된 바와 같은, 특정 예시적인 실시예들에 따른, 계정 관리 시스템(130)으로부터 최근 잔액 증명서를 수신하는 방법(220)을 도시하는 블록 흐름도이다. 방법(220)은 도 1에 도시된 컴포넌트들을 참조하여 기술된다.
블록(310)에서, 사용자 디바이스(110)는 계정 관리 시스템(130)으로부터 최근 잔액 증명서(113)를 요청한다. 예시적인 실시예에서, 상기 요청은 사용자의 계정 관리 시스템(130) 계정으로의 펀드의 디포짓에 대한 허가를 포함한다. 예시적인 실시예에서, 사용자는 금융 계정에서부터 사용자의 계정 관리 시스템(130) 계정으로 펀드들의 전송을 허가함으로써, 디포짓을 허가한다. 다른 예시적인 실시예에서, 사용자 디바이스(110)는 이용가능한 펀드들의 록킹을 요청한다. 또 다른 예시적인 실시예에서, 사용자 디바이스(110)는 이용가능한 펀드들의 언록킹을 요청한다. 예시적인 실시예에서, 최근 잔액 증명서(113)는 사용자 디바이스(110)와 계정 관리 시스템(130)사이의 임의의 통신 중에 요청된다.
블록(320)에서, 사용자 디바이스(120)는 요청을 수신하고, 사용자 디바이스(120)가 네트워크(140) 액세스를 가졌는지 여부를 결정한다. 예시적인 실시예에서, 네트워크(140) 액세스는 계정 관리 시스템(130)과 통신하도록 요구된다. 예시적인 실시예에서, 사용자 디바이스(120)는 계정 관리 시스템(130)과의 통신 채널 확립을 시도함으로써, 네트워크(140) 액세스가 있는지 여부를 결정한다.
만일 사용자 디바이스(120)가 네트워크(140) 액세스를 가지지 않았다면, 방법(220)은 블록(325)로 진행한다. 블록(325)에서, 사용자 디바이스(120)는 상기 디바이스(120)가 네트워크(140) 액세스를 가진 경우, 계정 관리 시스템(130)과의 통신 채널 확립을 재시도 한다.
도 3의 블록(320)으로 돌아가면, 만일 사용자 디바이스(120)가 네트워크(140) 액세스를 가지면, 방법(220)은 블록(330)으로 진행한다. 블록(330)에서, 사용자 디바이스(120)는 계정 관리 시스템(130)과의 통신 채널을 확립한다. 예시적인 실시예에서, 통신 채널은 네트워크(140)를 통해 확립된다.
블록(340)에서, 계정 관리 시스템(130)은 사용자가 계정 관리 시스템(130)에 의해 유지되거나 또는 계정 관리 시스템(130)에 액세스 가능한 계정을 가졌는지 여부를 결정한다. 예시적인 실시예에서, 계정 관리 시스템(130)은 사용자가 사용자 디바이스들(110) 상의 어플리케이션(115)를 인에이블 하였고, 사용자가 계정 관리 시스템(130) 계정을 가졌는지 여부를 결정하였다는 통지를 수신한다. 예시적인 실시예에서, 어플리케이션(115)이 인에이블 된 경우, 사용자는 계정 관리 시스템(130) 계정에 로그(log)하거나 계정 관리 시스템(130) 계정을 만들기 위해 프롬프트(prompt)된다. 다른 예시적인 실시예에서, 사용자는 이전에 계정 관리 시스템(130) 계정에 로그 하였거나, 자동으로 계정에 로그 하였다. 또 다른 예시적인 실시예에서, 사용자의 로그인 크리덴셜들(login credentials)은 다른 계정들(예를 들면, 소셜 네트워킹 웹사이트들 및 사용자 디바이스(120) 계정들)을 통해 공유되고, 사용자는 공유된 로그인 크리덴셜들을 사용하여 자동으로 계정 관리 시스템(130) 계정에 로그된다.
만일 사용자가 계정 관리 시스템(130) 계정을 갖지 않는다면, 방법(220)은 도 3의 블록(345)로 진행한다. 블록(345)에서, 사용자는 계정 관리 시스템(130) 계정을 만들기 위해 프롬프트 된다. 예시적인 실시예에서, 사용자가 어플리케이션(115)을 인에이블 하는 때, 사용자는 계정 관리 시스템(130)에 등록하기 위해 프롬프트 된다. 다른 예시적인 실시예에서, 사용자는 어플리케이션(115)을 인에이블링 하기 전 또는 이후 언제든지 또는 어플리케이션(115)을 인에이블링 하는 동안 계정 관리 시스템(130) 계정을 만들 수 있다. 예시적인 실시예에서, 사용자는 어플리케이션(115) 및 네트워크(140)를 통해 계정 관리 시스템(130)에 액세스한다. 예시적인 실시예에서, 사용자는 계정 관리 시스템(130)에 이름, 주소, 전화 번호, 이메일 주소, 및 은행 계정 현금 카드들, 신용 카드들, 로열티 보상들 계정 카드, 또는 구매하는데 사용될 수 있는 계정의 다른 타입(예를 들면, 카드 타입, 카드 번호, 만료 기한, 보안 코드, 및 청구 주소)을 포함하는 하나 이상의 등록된 금융 카드 계정들에 대한 정보를 포함하는, 그러나, 이에 제한되지 않는, 등록 정보를 제출한다. 예시적인 실시예에서, 사용자의 계정 관리 시스템(130) 계정 정보는 데이터 저장 유닛(137)에 저장되고 계정 관리 모듈(131)에 액세스 가능하다. 예시적인 실시예에서, 계정 관리 시스템(130) 계정은 계정 관리 시스템(130) 또는 서드 파티 시스템(third party system)에 의해 유지되는 디지털 월렛 계정이다. 다른 예시적인 실시예에서, 사용자는 계정 관리 시스템(130)에 등록하기 위해 웹사이트를 사용할 수 있다.
다른 예시적인 실시예에서, 사용자가 계정 관리 시스템(130) 계정에 로그 하거나 등록하는 것이 요구되지 않는다. 본 실시예에서, 본 명세서에 기술된 방법들은 "게스트" 사용자를 위해 수행된다.
블록(350)에서, 계정 관리 시스템(130)은 계정 인증서를 생성한다. 예시적인 실시예에서, 계정 인증서(112)는 사용자의 신원 및/또는 사용자의 계정 관리 시스템(130) 계정에 대응하는 사용자 디바이스(110)를 포함한다. 계정 인증서(112)는 사용자 디바이스(110) 및/또는 계정 관리 시스템(130)에 의해 유지된다. 예시적인 실시예에서, 계정 인증서(112)는 머천트 디바이스(120)로부터 수신된 오프라인 지불 요청에 응답하여, 사용자 디바이스(110)에 의해 만들어진 인출 레코드에 서명하기 위해 기능한다.
예시적인 실시예에서, 계정 인증서(112)는 계정 인증서 공개 키(112a)를 포함한다. 계정 인증서 공개 키(112a)는 계정 인증서(112)에 의해 서명된 인출 레코드의 진위(authenticity)를 검증하기 위해 기능한다. 예시적인 실시예에서, 계정 인증서 공개 키(112a)는 머천트 디바이스(120) 및/또는 계정 관리 시스템(130)에 의해 유지된다. 예시적인 실시예에서, 머천트 디바이스(120)가 등록된 때 또는 이후 언제든지, 계정 인증서 공개 키(112a)는 계정 관리 시스템(130)에 의해 머천트 디바이스(120)로 전송된다.
블록(355)에서, 계정 관리 시스템(130)은 계정 인증서(112)를 사용자 디바이스(110)로 전송한다. 예시적인 실시예에서, 사용자 디바이스(110)와 계정 관리 시스템(130) 사이의 임의의 통신은 계정 인증서(112)에 의해 서명된다. 본 실시예에서, 계정 관리 시스템(130)은 서명(signature)을 판독함으로써 사용자의 계정 관리 시스템(130)을 식별한다.
블록(360)에서, 사용자 디바이스(110)는 계정 인증서(112)를 수신한다.
블록(370)에서, 계정 관리 시스템(130)은 최근 잔액 증명서(113)에 대한 요청이 사용자의 계정 관리 시스템(130) 계정으로의 펀드의 디포짓에 대한 허가를 포함하였는지 여부를 결정한다. 예시적인 실시예에서, 사용자는 금융 계정에서부터 사용자의 계정 관리 시스템(130) 계정으로 펀드들의 전송을 허가함으로써, 디포짓을 허가한다. 예시적인 실시예에서, 사용자는 사용자 디바이스(110)를 사용하여 허가를 수행한다. 예를 들면, 사용자는 펀드들의 디포짓을 요청하기 위해 어플리케이션(115)에 액세스한다. 다른 예시적인 실시예에서, 사용자는 계정 관리 시스템(130)과 통신할 수 있는 다른 컴퓨팅 디바이스 또는 서드 파티 시스템을 사용하여 허가를 수행한다. 본 예시적인 실시예에서, 사용자 디바이스(120)는 디바이스(120)가 네트워크 액세스를 가지는 때, 최근 잔액 증명서를 요청할 것이다.
만일 최근 잔액 증명서(113)에 대한 요청이 펀드들을 디포짓 하기 위한 요청을 포함한다면, 방법(220)은 도 3의 블록(380)으로 진행한다. 블록(380)에서, 계정 관리 시스템(130)은 펀드들의 디포짓을 사용자의 계정으로 프로세스한다. 예시적인 실시예에서, 펀드들은 금융 계정에서부터 사용자의 계정 관리 시스템(130) 계정으로 전자적으로 전송된다.
그 후 방법(220)은 도 3의 블록(390)으로 진행한다.
도 3의 블록(370)으로 돌아가면, 만일 최근 잔액 증명서(113)에 대한 요청이 펀드들을 디포짓 하기 위한 요청을 포함하지 않는다면, 방법(220)은 도 3의 블록(390)으로 진행한다. 블록(390)에서, 계정 관리 시스템(130)은 서명된 잔액 증명서(113)를 사용자 디바이스(110)에 제공한다. 서명된 잔액 증명서(113)를 사용자 디바이스(110)에 제공하는 방법(390)은 도 4에 기술된 방법들을 참조하여 이 후 더 자세히 기술된다.
도 4는 블록(390)에서 참조된 바와 같은, 특정 예시적인 실시예들에 따른, 서명된 잔액 증명서(113)를 사용자 디바이스(110)에 제공하는 방법(390)을 도시하는 블록 흐름도이다. 방법(390)은 도 1에 도시된 컴포넌트들을 참조하여 기술된다.
블록(410)에서, 계정 관리 시스템(130)은 최근 잔액 증명서(113)에 대한 요청이 인출 레코드를 포함하였는지 여부를 결정한다. 예시적인 실시예에서, 사용자 디바이스(110)는 최근 잔액 증명서(113)에 대한 요청과 함께 하나 이상의 인출 레코드들을 계정 관리 시스템(130)에 전송한다. 예시적인 실시예에서, 사용자 디바이스(110)는 모든 인출 레코드들을 계정 관리 시스템에 전송한다. 본 실시예에서, 사용자 디바이스(110)는 어떠한 인출 레코드가 아직 보내지지 않았는지 결정하고, 이러한 레코드들을 계정 관리 시스템(130)에 전송한다. 예시적인 실시예에서, 각 인출 레코드는 머천트 디바이스(120)를 차지하는 오프라인 지불 거래의 식별을 포함한다. 계정 관리 시스템(130)은 사용자의 계정 관리 시스템(130) 계정 내 각 인출 레코드를 저장하고, 이용가능한 펀드들의 잔액을 결정하기 위해 상기 레코드들을 사용한다.
만일 최근 잔액 증명서(1130)에 대한 요청이 인출 레코드를 포함하면, 방법(390)은 도 4의 블록(420)으로 진행한다. 블록(420)에서, 계정 관리 시스템(130)은 인출 레코드를 검증한다. 예시적인 실시예에서, 각 인출 레코드는 오프라인 지불 거래 동안, 머천트 디바이스(120)에 의해 서명된다. 예시적인 실시예에서, 머천트 디바이스(120)는 머천트 디바이스 서명 인증서(124)를 사용하여 인출 레코드에 서명한다. 예시적인 실시예에서, 레코드를 인증하기 위해 인출 레코드는 머천트 디바이스 서명 인증서(124)에 의해 서명된다. 본 실시예에서, 계정 관리 시스템(130)은 머천트 디바이스 서명 인증서 공개 키(124a)를 사용하여 인출 레코드를 검증할 수 있다. 예시적인 실시예에서, 서명된 인출 레코드는 사용자 디바이스(110)와 머천티 디바이스(120) 사이에 발생된 오프라인 지불 거래를 검증한다.
만일 인출 레코드가 검증되지 않았다면, 방법(390)은 도 4의 블록(430)으로 진행한다. 블록(430)에서, 거래는 거절되고 계정 관리 시스템(130)은 알림을 사용자 디바이스(120)에 전송한다.
도 4의 블록(420)으로 돌아가면, 만일 인출 레코드가 검증되었다면, 방법(390)은 도 4의 블록(440)으로 진행한다. 블록(440)에서, 계정 관리 시스템(130)은 사용자의 계정 관리 시스템(130)에 인출 레코드를 기록한다. 예시적인 실시예에서, 계정 관리 시스템(130)은 오프라인 지불 거래를 노트(note)하기 위해 사용자의 계정을 업데이트 한다.
그 후 방법(390)은 도 4의 블록(450)으로 진행한다.
도 4의 블록(410)으로 돌아가면, 만일 최근 잔액 증명서에 대한 요청이 인출 레코드를 포함하지 않는다면, 방법(390)은 도 4의 블록(450)으로 진행한다. 블록(450)에서, 계정 관리 시스템(130)은 사용자의 계정 관리 시스템(130) 계정 내 이용가능한 펀드들의 잔액을 계산한다. 사용자의 계정 관리 시스템(130) 계정 내 이용가능한 펀드들의 잔액을 계산하는 방법(450)은 도 5에 기술된 방법들을 참조하여 이후 더 자세히 기술된다.
도 5는 블록(450)에서 참조된 바와 같은, 특정 예시적인 실시예들에 따른, 사용자의 계정 관리 시스템(130) 계정 내 이용가능한 펀드들의 잔액을 계산하는 방법(450)을 도시하는 블록 흐름도이다. 방법(450)은 도 1에 도시된 컴포넌트들을 참조하여 기술된다.
블록(510)에서, 계정 관리 시스템(130)은 사용자의 계정 관리 시스템(130) 계정 내 펀드들의 잔액을 계산한다. 예시적인 실시예에서, 계정 관리 시스템(130)은 디포짓들의 총 금액과 인출 레코드들의 총 금액 사이의 차이를 계산한다. 다른 예시적인 실시예에서, 계정 관리 시스템(130)은 사용자의 계정 내 펀드들의 잔액의 누계(running total)를 유지한다.
블록(520)에서, 계정 관리 시스템(130)은 펀드들의 잔액의 일부분이 록킹되었는지 여부를 결정한다. 예시적인 실시예에서, 사용자는 최근 잔액 증명서(113)에 대한 요청과 함께 펀드들의 잔액의 일부를 록킹 하기 위한 요청을 전송한다. 다른 예시적인 실시예에서, 계정 관리 시스템(130)은 록킹 펀드들의 금액을 결정하는 사람의 개입(human intervention) 없이 이해되는 규칙 또는 로직을 유지한다. 또 다른 예시적인 실시예에서, 사용자는 록킹 펀드들의 금액을 결정하는 규칙들을 정의한다. 예를 들면, 규칙은 사용자의 계정 관리 시스템(130) 계정 내에서 유지되는 최소 잔액 $25를 요구할 수 있다. 본 예시에서, 계정 관리 시스템(130)은 이러한 최소 금액이 오프라인 지불에 대해 이용가능 하게 되는 것을 막기 위해 $25를 록킹할 것이다. 다른 예시에서, 규칙은 사용자의 계정 관리 시스템(130) 계정 내 이용가능한 펀드들의 5%가 록킹되는 것을 요구할 수 있다. 본 예시에서, 만일 사용자가 사용자의 계정 내 $100를 가졌다면, 계정 관리 시스템(130)은 이러한 최소 금액이 오프라인 지불에 대해 이용가능 하게 되는 것을 막기 위해 $5를 록킹할 것이다.
만일 펀드들의 잔액의 부분이 록킹되지 않았다면, 방법(450)은 도 4의 블록(450)으로 진행한다.
블록(520)으로 돌아가면, 만일 펀드들의 잔액의 일부분이 록킹되었다면, 방법(450)은 도 5의 블록(530)으로 진행한다. 블록(530)에서, 계정 관리 시스템(130)은 펀드들의 잔액의 일부를 록킹하거나 언록킹하는 규칙들을 결정한다. 예시적인 실시예에서, 규칙들은 사용자, 계정 관리 시스템, 서드 파티, 또는 이들의 임의의 조합에 의해 정의된다. 예시적인 실시예에서, 규칙들은 사용자의 계정 관리 시스템(130) 계정이 확립되었을 때 정의된다. 다른 예시적인 실시예에서, 규칙들이 확립되고, 확립된 이후 언제든지 변경된다. 또 다른 예시적인 실시예에서, 최근 잔액 증명서(113)에 대한 사용자의 요청은 펀드들을 록킹 또는 언록킹하는 하나 이상의 규칙들을 포함한다.
예시적인 실시예에서, 사용자의 계정 관리 시스템(130) 계정 내의 모든 펀드들은 록킹되고, 계정 관리 시스템(130)은 규칙들에 기초하여 펀드들의 잔액의 일부분이 언록킹되었는지 여부를 결정한다. 예를 들면, 계정 관리 시스템(130)은 하나 이상의 규칙들을 적용함으로써, 오프라인 지불 거래에 대해 펀드들의 잔액의 50%가 이용가능 할 수 있음을 결정한다.
블록(540)에서, 계정 관리 시스템(130)은 펀드들의 잔액의 일부분을 록킹하거나 언록킹하는 시간-기반 규칙(time-based rule)이 있는지 여부를 결정한다. 예시적인 실시예에서, 펀드들의 잔액의 일부분은 제한된 시간에 대해 이용가능하다. 예를 들면, 펀드들의 잔액의 일부분은 하나의 거래에 대해 언록킹될 수 있다. 본 예시에서, 잔액 증명서(113)는 단 하나의 거래 또는 단지 짧은 시간(예를 들면, 단 하나의 오프라인 거래를 완료하기에 충분한 시간)에 대해 유효하다. 하나의 오프라인 지불 거래가 완료된 이후, 또는 잔액 증명서(113)에 대해 이용가능한 시간의 만료 이후에, 사용자는 새로운 최근 잔액 증명서(113)를 요청하도록 요구된다.
다른 예시에서, 이용가능한 펀드들의 일부분은 일정 시간 동안 록킹될 수 있다. 예를 들면, 펀드들의 잔액의 일부분은 5분 동안 록킹된다. 본 예시에서, 록킹 금액까지의 이용가능한 펀드들의 금액으로 5분 동안 사용자는 오프라인 지불 거래를 완료할 수 있다. 거래가 완료된 이후, 록킹은 해제된다. 사용자는 새로운 잔액 증명서(113)를 요청함으로써, 5분 만료 전에 록킹 시간을 연장할 수 있다.
만일 계정 관리 시스템(130)이 펀드들의 잔액의 일부분을 록킹하거나 언록킹하는 시간-기반 규칙이 있다고 판단하면, 방법(450)은 도 5의 블록(450)으로 진행한다. 블록(550)에서, 계정 관리 시스템(130)은 미리-정의된 일정 기간 동안 이용가능한 펀드들을 결정한다.
그 후 방법(450)은 도 5의 블록(560)으로 진행한다.
도 5의 블록(540)으로 돌아가서, 만일 계정 관리 시스템(130)이 펀드들의 잔액의 일부분을 록킹하거나 언록킹하는 시간-기반 규칙이 없다고 판단하면, 방법(450)은 도 5의 블록(560)으로 진행한다. 블록(560)에서, 계정 관리 시스템(130)은 펀드들의 잔액의 일부분을 록킹하거나 언록킹하는 위치-기반 규칙(location-based rule)이 있는지 여부를 결정한다. 예시적인 실시예에서, 펀드들은 오직 지정된 위치에 대해 또는 머천트의 지정된 타입에 대한 오프라인 지불 거래에 대해 이용가능하다. 예를 들면, 사용자는 오직 대량 수송 수단을 위해, 레스토랑들에서, 또는 도시 X에서 펀드들을 사용하기 원한다. 다른 예시적인 실시예에서, 펀드들은 오직 제1 오프라인 지불 거래의 미리 정의된 근처 또는 다른 지리적 위치에서 이용가능하다. 예를 들면, 일단 사용자가 머천트 X와 오프라인 지불 거래를 개시하였다면, 사용자는 오직 머천트 X 위치의 반경 10피트 내에서 추가적인 거래들을 완료할 수 있다. 예시적인 실시예에서 각 사용자는 하나보다 많은 사용자 디바이스(110)를 가질 수 있다. 본 실시예에서, 각 사용자 디바이스(110)는 서로 다른 잔액 증명서를 가질 수 있다. 위치에 따른 펀드들의 잔액의 일부분을 록킹함으로써, 사용자는 사용자의 펀드들의 잔액을 과용(over spend)하기 위해 하나보다 많은 사용자 디바이스(110)를 사용할 수 없다.
만일 계정 관리 시스템(130)이 펀드들의 잔액의 일부분을 록킹하거나 언록킹하는 위치-기반 규칙이 있다고 결정하면, 방법(450)은 도 5의 블록(570)으로 진행한다. 블록(570)에서, 계정 관리 시스템(130)은 미리-정의된 위치 또는 머천트 타입에 대해 이용가능한 펀드들을 결정한다.
그 후 방법(450)은 도 5의 블록(580)으로 진행한다.
도 5의 블록(560)으로 돌아가서, 만일 계정 관리 시스템(130)이 펀드들의 잔액의 일부분을 록킹하거나 언록킹하는 위치-기반 규칙이 없다고 결정하면, 방법(450)은 도 5의 블록(580)으로 진행한다. 블록(580)에서, 계정 관리 시스템(130)은 펀드들을 록킹하는 하나 이상의 규칙들에 기초하여, 오프라인 지불 거래에 대해 이용가능하지 않은 록킹 펀드들의 금액 및 오프라인 지불 거래에 대해 이용가능한 펀드들의 금액을 결정한다. 예시적인 실시예에서, 이용가능한 펀드들의 금액은 디포짓들의 총 금액과, 임의의 록킹 펀드들을 뺀 인출 레코드들의 총 금액 사이의 차이를 포함한다.
그 후 방법(450)은 도 4의 블록(460)으로 진행한다.
도 4로 돌아가면, 블록(460)에서, 계정 관리 시스템(130)은 사용자 디바이스(110)에 대한 최근 잔액 증명서(113)를 생성한다. 예시적인 실시예에서, 상기 최근 잔액 증명서(113)는 오프라인 지불 거래에 대한 이용가능한 펀드들의 금액을 포함한다. 예시적인 실시예에서, 잔액 증명서(113)는 시간에 제한된다. 본 예시적인 실시예에서, 잔액 증명서(113)는 미리-정의된 시간이 경과한 후 만료한다. 다른 예시적인 실시예에서, 잔액 증명서(113)는 오프라인 구매 거래들의 수에 제한된다. 본 예시적인 실시예에서, 잔액 증명서(113)는 오프라인 구매 거래들의 미리-정의된 수가 완료되고 난 후 만료한다. 다른 예시적인 실시예에서, 잔액 증명서(113)는 시간, 거래들의 수, 지리적 위치, 머천트의 타입, 또는 계정 관리 시스템(130) 또는 사용자에 의해 확립된 임의의 다른 제한 규칙에 의해 제한된다. 예시적인 실시예에서, 잔액 증명서는 지불 거래에 대해 이용가능한 펀드들의 금액을 제한하는 하나 이상의 규칙들을 포함한다.
블록(470)에서, 계정 관리 시스템(130)은 잔액 증명서(113)에 서명한다. 예시적인 실시예에서, 머천트 디바이스(120)는 서명된 잔액 증명서(113)의 진위를 검증하기 위해, 잔액 증명서 공개 키(113a)를 사용하여 서명된 잔액 증명서(113)를 판독할 수 있다.
블록(480)에서, 계정 관리 시스템(130)은 서명된 잔액 증명서(113)를 사용자 디바이스(110)에 전송한다. 예시적인 실시예에서, 서명된 잔액 증명서(113)는 네트워크(140) 연결을 통해 사용자 디바이스(110)로 전송된다.
블록(490)에서, 사용자 디바이스(110)는 서명된 잔액 증명서(113)를 수신한다.
그 후 방법(390)은 도 2의 블록(230)으로 진행한다.
도 2로 돌아가면, 블록(230)에서, 사용자 디바이스(110) 및 머천트 디바이스(120)는 통신 채널을 확립한다. 예시적인 실시예에서, 사용자는 머천트와 오프라인 지불 거래를 완료하고자 하는 소망을 나타낸다. 예시적인 실시예에서, 오프라인 지불 거래를 수행하기 위해 사용자는 사용자 디바이스(110)를 인에이블 하는 사용자 디바이스(110) 상의 어플리케이션(115)에 액세스한다. 예시적인 실시예에서, 사용자는 머천트 디바이스(120)와 무선으로 통신하기 위해 사용자 디바이스(110)를 인에이블 하는 어플리케이션(115)에 액세스한다. 본 실시예에서, 상기 디바이스들(디바이스들(110 및 120)을 포함한다)은 보안 통신 채널(예를 들어, 근거리 무선 통신들, 블루투스, Wi-Fi, 또는 무선 통신 채널의 다른 형태)을 통해 통신한다.
블록(240)에서, 머천트 디바이스(120)는 지불 요청을 사용자 디바이스(110)에 전송한다. 예시적인 실시예에서, 머천트는 지불 요청 금액을 머천트 디바이스(120) 상의 어플리케이션(125)에 입력한다. 본 실시예에서, 상기 지불 요청은 머천트 디바이스(120)의 신원, 지불 요청 금액, 및/또는 타임스탬프(timestamp)를 포함한다. 예시적인 실시예에서, 상기 지불 요청은 보안 통신 채널을 통해 전송된다.
블록(250)에서, 사용자 디바이스(110)는 머천트 디바이스(120)로부터 수신된 지불 요청을 프로세스한다. 머천트 디바이스(120)로부터 수신된 지불 요청을 프로세스 하는 방법(250)은 도 6에 기술된 방법들을 참조하여 이후 더 자세히 기술된다.
도 6은 블록(250)에서 참조된 바와 같은, 특정 예시적인 실시예들에 따른, 머천트 디바이스(120)로부터 수신된 지불 요청을 프로세싱 하는 방법(250)을 도시하는 블록 흐름도이다. 방법(250)은 도 1에 도시된 컴포넌트들을 참조하여 기술된다.
블록(610)에서, 사용자 디바이스(110)는 머천트 디바이스(120)로부터 지불 요청을 수신한다.
블록(620)에서, 사용자 디바이스(110)는 머천트 디바이스(120)로부터 수신된 지불 요청 상에 표시된 금액에 대한 인출 레코드를 생성한다. 예시적인 실시예에서, 인출 레코드는 지불 요청 내에 수신된 정보(예를 들면, 머천트 또는 머천트 디바이스(120)에 대한 신원, 지불 요청 금액 및 타임스탬프)를 포함한다. 다른 예시적인 실시예에서, 인출 레코드는 사용자 디바이스(110)의 신원, 사용자의 신원, 및/또는 사용자의 계정 관리 시스템(130) 계정의 신원을 포함한다. 다른 예시적인 실시예에서, 사용자는 인출 레코드가 만들어지기 전에 또는 만들어지는 동안, 어플리케이션(115)을 사용하여 지불 요청 금액을 변경할 수 있다.
블록(630)에서, 사용자 디바이스(110)는 인출 레코드에 서명한다. 예시적인 실시예에서, 계정 인증서(112) 개인 키를 통해 인출 레코드가 서명된다. 예시적인 실시예에서, 인출 레코드는 머천트 디바이스(120)로 하여금 계정 정보(예를 들면, 계정 관리 시스템(130) 계정)가 사용자에게 속하고 상기 계정 정보가 오프라인 지불 거래에서 사용되기 위해 인증됨을 검증하도록 하기 위해, 사용자 디바이스(110) 또는 어플리케이션(115)에 의해 서명된다.
블록(640)에서, 사용자 디바이스(110)는 계정 관리 시스템(130)에 의해 서명된 최근 잔액 증명서(113)를 검색한다. 예시적인 실시예에서, 잔액 증명서(113)는 머천트 디바이스(120)로부터 지불 요청이 수신된 이후 언제든지 검색된다. 예시적인 실시예에서, 사용자 디바이스(120)는 잔액 증명서(113)에 의해 개시된 오프라인 지불 거래를 위해 이용가능한 펀드들의 금액과 지불 요청 금액을 상호-참조함으로써, 오프라인 지불 거래에 대한 펀드들의 이용가능성을 확인한다. 다른 예시적인 실시예에서, 사용자 디바이스(110)는 오프라인 지불 거래를 위해 이용가능한 펀드들의 금액에 배치된 임의의 규칙들 또는 제한들을 검토하였고, 지불 거래가 이러한 규칙들을 만족하는지 결정한다.
블록(650)에서, 사용자 디바이스(110)는 지불 요청에 대한 응답을 머천트 디바이스(120)에 전송한다. 예시적인 실시예에서, 상기 응답은 서명된 인출 레코드 및 서명된 잔액 증명서(113)를 포함한다. 예시적인 실시예에서, 지불 요청에 대한 응답은 사용자 디바이스(110)와 머천트 디바이스(120) 사이의 보안 통신 채널을 통해 전송된다.
그 후 방법(250)은 도 2의 블록(260)으로 진행한다.
도 2로 돌아가면, 블록(260)에서, 머천트 디바이스(120)는 사용자 디바이스(110)로부터 수신된 지불 요청에 대한 응답을 검증한다. 사용자 디바이스(110)로부터 수신된 지불 요청에 대한 응답을 검증하는 방법(260)은 도 7에 기술된 방법들을 참조하여 이 후 더 자세히 기술된다.
도 7은 블록(260)에서 참조된 바와 같은, 특정 예시적인 실시예들에 따른, 사용자 디바이스(110)로부터 수신된 지불 요청에 대한 응답을 검증하는 방법(260)을 도시하는 블록 흐름도이다. 방법(260)은 도 1에 도시된 컴포넌트들을 참조하여 기술된다.
블록(710)에서, 머천트 디바이스(120)는 사용자 디바이스(110)로부터 지불 요청에 대한 응답을 수신한다. 예시적인 실시예에서, 상기 응답은 서명된 인출 레코드 및 서명된 잔액 증명서(113)를 포함한다.
블록(720)에서, 머천트 디바이스(120)는 인출 레코드를 검증한다. 예시적인 실시예에서, 머천트 디바이스(120)는 계정 인증서 공개 키(112a)를 사용하여 서명된 인출 레코드를 검증한다. 본 실시예에서, 머천트 디바이스(120)로 전송 이전에, 인출 레코드는 사용자 디바이스(110) 상의 계정 인증서(112)에 의해 서명된다. 머천트 디바이스(120)는 사용자 디바이스(110), 사용자, 및/또는 사용자의 계정 관리 시스템(130) 계정의 신원을 확인하기 위해 인출 레코드 상의 시그니쳐를 검증한다.
만일 인출 레코드가 검증되지 않았다면, 방법(260)은 도 7의 블록(730)으로 진행한다. 블록(730)에서, 오프라인 지불 거래는 거절된다. 예시적인 실시예에서, 머천트 디바이스(120)는 거절된 거래의 통지를 사용자 디바이스(110)로 전송한다.
도 7의 블록(720)으로 돌아가면, 만일 인출 레코드가 검증되면, 방법(260)은 도 7의 블록(740)으로 진행한다. 블록(740)에서, 머천트 디바이스(120)는 잔액 증명서(113)를 검증한다. 예시적인 실시예에서, 머천트 디바이스(120)는 잔액 증명서 공개 키(113a)를 사용하여 서명된 잔액 증명서(113)를 검증한다.
본 실시예에서, 사용자 디바이스(110)로 전송 이전에, 잔액 증명서(113)는 계정 관리 시스템(130)에 의해 서명된다. 서명된 잔액 증명서(113)는 지불 요청에 응답하여 인출 레코드와 함께 머천트 디바이스(120)에 전송된다. 머천트 디바이스(120)는 오프라인 지불 거래를 완료하기 위한 펀드들의 이용가능성을 확인하기 위해 잔액 증명서(113) 상의 시그니쳐를 검증한다. 예시적인 실시예에서, 머천트 디바이스(120)는 잔액 증명서(113)가 만료되지 않음 그리고/또는 잔액 증명서 상에 배치된 임의의 다른 제한들(예를 들면, 지리적 제한들, 머천트 제한들, 또는 다른 기능적인 제한들)이 만족되었음을 검증한다.
만일 잔액 증명서(113)가 검증되지 않았다면, 방법(260)은 도 7의 블록(750)으로 진행한다. 블록(750)에서, 오프라인 지불 거래는 거절된다. 예시적인 실시예에서, 머천트 디바이스(120)는 거절된 거래의 통지를 사용자 디바이스(110)로 전송한다.
도 7의 블록(740)으로 돌아가서, 만일 잔액 증명서(113)가 검증되었다면, 방법(260)은 도 7의 블록(760)으로 진행한다. 블록(760)에서, 머천트 디바이스(120)는 오프라인 지불 거래를 완료하기 위해 펀드들의 이용가능성을 검증한다. 예시적인 실시예에서, 머천트 디바이스(120)는 잔액 증명서(113)로부터 이용가능한 펀드들을 판독한다. 예시적인 실시예에서, 머천트 디바이스(120)는 이용가능한 펀드들 상에 위치한 임의의 규칙들을 통해 오프라인 지불 거래 컴파일들(offline payment transaction complies)을 검증한다.
만일 오프라인 지불 거래를 위한 충분한 펀드들이 이용가능 하지 않는다면, 방법(260)은 도 7의 블록(770)으로 진행한다. 블록(770)에서, 머천트 디바이스(120) 및/또는 사용자 디바이스(110)는 펀드들의 잔액의 일부분이 록킹되었는지 여부 또는 오프라인 지불 거래 동안 사용하기 위해 이용할 수 없는지 여부를 결정한다. 예시적인 실시예에서, 잔액 증명서(113)는 펀드들의 일부분이 록킹되었다는 표시를 포함한다.
만일 펀드들의 잔액의 일부분이 록킹되지 않았다면, 방법(260)은 도 7의 블록(775)로 진행한다. 블록(775)에서, 오프라인 지불 거래를 거절된다. 예시적인 실시예에서, 머천트 디바이스(120)는 거절된 거래의 통지를 사용자 디바이스(110)로 전송한다.
도 7의 블록(770)으로 돌아가서, 만일 펀드들의 잔액의 일부분이 록킹되거나 오프라인 지불 거래 동안 사용하기 위해 이용할 수 없다면, 방법(260)은 도 7의 블록(780)으로 진행한다. 블록(780)에서, 사용자는 펀드들의 일부분을 언록킹하기 위해, 계정 관리 시스템(130)에 대한 요청을 허가한다. 예시적인 실시예에서, 언록킹 펀드들에 대한 요청은 오직 사용자 디바이스(110)가 네트워크(140) 연결을 가진 경우에만 계정 관리 시스템(130)에 전송된다. 본 실시예에서, 추가적인 펀드들이 언록킹될 때까지 거래는 거절된다.
그 후 방법(260)은 도 3의 블록(310)으로 진행하고, 사용자 디바이스(110)는 언록킹 펀드들을 가진 새로운 잔액 증명서(113)를 요청한다.
도 7의 블록(760)으로 돌아가서, 만일 오프라인 지불 거래를 위한 충분한 펀드들이 이용가능하다면, 방법(260)은 도 7의 블록(790)으로 진행한다. 블록(790)에서, 머천트 디바이스(120)는 오프라인 지불 거래를 허가한다.
그 후 방법(260)은 도 2의 블록(270)으로 진행한다.
도 2로 돌아가면, 블록(270)에서, 계정 관리 시스템(130)은 인출 레코드를 검증한다. 인출 레코드를 검증하는 방법(270)은 도 8에 기술된 방법들을 참조하여 이후 더 자세히 기술된다.
도 8은 블록(270)에서 참조된 바와 같은, 특정 예시적인 실시예들에 따른, 인출 레코드를 검증하는 방법(270)을 도시하는 블록 흐름도이다. 방법(270)은 도 1에 도시된 컴포넌트들을 참조하여 기술된다.
블록(810)에서, 머천트 디바이스(120)는 머천트 디바이스 서명 인증서(124)를 통해 인출 레코드에 서명한다. 예시적인 실시예에서, 머천트 디바이스(120)는 인출 레코드를 검증 한 이후 오프라인 지불 거래를 허가하였고, 잔액 증명서(113)를 검증하였고, 그리고 오프라인 지불 거래를 위한 충분한 펀드들이 있음을 결정하였다. 본 실시예에서, 머천트 디바이스(120)는 거래를 허가하기 위해 인출 레코드에 서명한다. 다른 예시적인 실시예에서, 머천트 디바이스(120)는 또는 사용자 디바이스(110)에게 거래가 성공적임을 표시하는 상태 코드 또는 메시지를 생성한다.
블록(815)에서, 머천트 디바이스(120)는 서명된 인출 레코드를 사용자 디바이스(110)에 전송한다. 예시적인 실시예에서, 서명된 인출 레코드는 사용자 디바이스(110)와 머천트 디바이스(120) 사이의 보안 통신 채널을 통해 전송된다. 예시적인 실시예에서, 사용자 디바이스(110)로의 서명된 인출 레코드의 전송은 오프라인 지불 거래를 완료시킨다. 다른 예시적인 실시예에서, 머천트 디바이스(120)는 사용자 디바이스(110)에게 거래가 성공적임을 표시하는 상태 코드 또는 메시지를 전송한다.
블록(820)에서, 머천트 디바이스는 네트워크(140) 액세스를 가졌는지 여부를 결정한다. 예시적인 실시예에서, 머천트 디바이스(120)는 계정 관리 시스템(130)과 통신하기 위해 네트워크(140) 액세스를 요구한다.
만일 머천트 디바이스(120)가 네트워크(140) 액세스를 가지지 않았다면, 방법(270)은 도 8의 블록(830)으로 진행한다. 블록(830)에서, 머천트 디바이스(120)는 네트워크(140) 액세스를 가질 때까지 인출 레코드를 저장한다.
도 8의 블록(820)으로 돌아가서, 만일 머천트 디바이스(120)가 네트워크(140) 액세스를 가지거나, 또는 일단 네트워크(140) 액세스가 이용가능하다면, 방법(270)은 도 8의 블록(840)으로 진행한다. 블록(840)에서, 머천트 디바이스(120)는 인출 레코드를 계정 관리 시스템(130)에 전송한다. 예시적인 실시예에서, 인출 레코드는 머천트 디바이스 서명 인증서(123)에 의해 서명된다. 다른 예시적인 실시예에서, 인출 레코드는 지불 요청에 응답하여 사용자 디바이스(110)로부터 수신된 동일한 인출 레코드이다.
블록(850)에서, 계정 관리 시스템(130)은 머천트 디바이스(120)로부터 인출 레코드를 수신한다.
블록(860)에서, 계정 관리 시스템(130)은 인출 레코드를 검증한다. 예시적인 실시예에서, 계정 관리 시스템(130)은 머천트 디바이스 서명 인증서 공개 키(124a)를 사용하여 인출 레코드를 검증한다. 본 실시예에서, 계정 관리 시스템(130)은 인출 레코드 및/또는 머천트 디바이스(120)의 신원 또는 유효성을 검증한다. 다른 예시적인 실시예에서, 머천트 디바이스(120)는 인출 레코드와 함께 식별자 또는 메시지를 전송한다. 본 실시예에서, 계정 관리 시스템(130)은 머천트 디바이스(120)의 신원을 확인함으로써 인출 레코드를 검증한다. 다른 예시적인 실시예에서, 계정 관리 시스템(130)은 사용자 또는 사용자 디바이스(110)의 신원을 검증함으로써 인출 레코드를 검증한다.
만일 인출 레코드 검증이 실패하면, 방법(270)은 도 8의 블록(870)으로 진행한다. 블록(870)에서, 오프라인 거래를 거절된다. 예시적인 실시예에서, 계정 관리 시스템(130)은 거절된 거래의 통지를 머천트 디바이스(120)에 전송한다.
도 8의 블록(860)으로 돌아가서, 만일 인출 레코드 검증을 통과하였다면, 방법(270)은 도 8의 블록(880)으로 진행한다. 블록(880)에서, 계정 관리 시스템(130)은 사용자의 계정 관리 시스템(130) 계정 내 인출 레코드를 기록한다. 예시적인 실시예에서, 인출 레코드는 사용자, 사용자 디바이스(110) 및/또는 사용자의 계정 관리 시스템(130) 계정의 신원을 포함한다. 본 실시예에서, 계정 관리 시스템은 머천트 디바이스(120)로부터 수신된 인출 레코드를 통해 사용자의 계정을 업데이트 한다.
예시적인 실시예에서, 사용자 디바이스(110)는 머천트 디바이스(120)가 인출 레코드를 계정 관리 시스템(130)에 전송하기 이전 또는 이후에 새로운 잔액 증명서(113)를 요청한다. 본 실시예에서, 사용자 디바이스(110)는 서명된 인출 레코드를 계정 관리 시스템(130)에 전송한다. 계정 관리 시스템(130)은 사용자의 계정 관리 시스템(130) 계정 내에 동일한 오프라인 지불 거래에 대해 수신된 2개의 인출 레코드들을 기록한다. 예시적인 실시예에서, 상기 2개의 인출 레코드들은 사용자의 계정 내 펀드들의 잔액의 유효성을 검증하기 위해 사용된다.
예시적인 시스템들
도 9는 특정 예시적 실시예들에 따르는 컴퓨팅 머신(2000) 및 모듈(2050)을 도시한다. 컴퓨팅 머신(2000)은 본 명세서에 제시된 임의의 다양한 컴퓨터들, 서버들, 모바일 디바이스들, 임베디드 시스템들 또는 컴퓨팅 시스템들에 대응한다. 모듈(2050)은 본 명세서에 제시된 기능들을 프로세싱하고 다양한 방법들을 수행하는 것에서 컴퓨팅 머신(2000)을 지원하도록 구성된 하나 이상의 하드웨어 또는 소프트웨어 엘리먼트들을 포함한다. 컴퓨팅 머신(2000)은 프로세서(2010), 시스템 버스(2020), 시스템 메모리(2030), 저장 미디어(2040), 입력/출력 인터페이스(2060) 및 네트워크(2080)와 통신하기 위한 네트워크 인터페이스(2070)와 같은 다양한 내부적 또는 부착된 컴포넌트들을 포함한다.
컴퓨팅 머신(2000)은 통상적 컴퓨터 시스템, 임베디드 컨트롤러, 랩톱, 서버, 모바일 디바이스, 스마트폰, 셋톱 박스, 키오스크, 차량형 정보 시스템, 텔레비전과 관련된 하나 이상의 프로세서들, 커스터마이징된 기계, 임의의 기타 하드웨어 플랫폼 또는 그것들의 임의의 조합 또는 다수로서 구현된다. 컴퓨팅 머신(2000)은 데이터 네트워크 또는 버스 시스템을 통해 상호 연결된 다수의 컴퓨팅 머신들을 사용하여 기능하도록 구성된 분산 시스템이다.
프로세서(2010)는 본 명세서에 기술된 동작들 및 기능을 수행하고, 요청 플로우 및 주소 맵핑들을 관리하고, 계산들을 수행하고 명령들을 생성하기 위해 코드 또는 명령들을 실행하도록 구성된다. 프로세서(2010)는 컴퓨팅 머신(2000)에서 컴포넌트들의 동작을 모니터링하고 제어하도록 구성된다. 프로세서(2010)는 범용 프로세서, 프로세서 코어, 멀티프로세서, 재설정가능한 프로세서, 마이크로컨트롤러, DSP(digital signal processor), ASIC(application specific integrated circuit), GPU(graphics processing unit), FPGA(field programmable gate array), PLD(programmable logic device), 컨트롤러, 스테이트 머신, 게이트 로직, 이산 하드웨어 컴포넌트들, 임의의 기타 프로세싱 유닛 또는 그것들의 임의의 조합 또는 다수이다. 프로세서(2010)는 단일의 프로세싱 유닛, 다수의 프로세싱 유닛들, 단일의 프로세싱 코어, 다수의 프로세싱 코어들, 전용 프로세싱 코어들, 공동-프로세서들, 또는 그것들의 임의의 조합이다. 특정 실시예들에 따르면, 컴퓨팅 머신(2000)의 다른 컴포넌트들과 함께 프로세서(2010)는 하나 이상의 다른 컴퓨팅 머신들 내에서 실행하는 가상화된 컴퓨팅 머신이다.
시스템 메모리(2030)는 ROM(read-only memory), PROM(programmable read-only memory), EPROM(erasable programmable read-only memory), 플래시 메모리 또는 인가된 전원으로 또는 전원 없이 프로그램 명령들 또는 데이터를 저장할 수 있는 임의의 기타 디바이스와 같은 비-휘발성 메모리들을 포함한다. 또한 시스템 메모리(2030)는 RAM(random access memory), SRAM(static random access memory), DRAM(dynamic random access memory) 및 SDRAM(synchronous dynamic random access memory)와 같은 휘발성 메모리들을 포함한다. 시스템 메모리(2030)는 단일의 메모리 모듈 또는 다수의 메모리 모듈들을 사용하여 구현된다. 시스템 메모리(2030)는 컴퓨팅 머신(2000)의 부분으로서 도시되었지만, 통상의 기술자는 시스템 메모리(2030)가 본 발명의 범위로부터 벗어남 없이 컴퓨팅 머신(2000)으로부터 분리될 수 있다는 것을 인식할 것이다. 또한, 시스템 메모리(2030)는 저장 미디어(2040)와 같은 비-휘발성 저장 디바이스를 포함하거나, 그와 함께 동작한다는 것을 인식해야 한다.
저장 미디어(2040)는 하드 디스크, 플로피 디스크, CD-ROM, DVD, 블루-레이 디스크, 자기 테이프, 플래시 메모리, 기타 비-휘발성 메모리 디바이스, SSD, 임의의 자기적 저장 디바이스, 임의의 광학적 저장 디바이스, 임의의 전기적 저장 디바이스, 임의의 반도체 저장 디바이스, 임의의 물리-기반 저장 디바이스, 임의의 기타 데이터 저장 디바이스 또는 그것들의 임의의 조합 또는 다수를 포함한다. 저장 미디어(2040)는 하나 이상의 운영 체제, 어플리케이션 프로그램들 및 모듈(2050)과 같은 프로그램 모듈들, 데이터 또는 임의의 기타 정보를 저장한다. 저장 미디어(2040)는 컴퓨팅 머신(2000)의 일부이거나 또는 그와 연결된다. 또한 저장 미디어(2040)는 서버들, 데이터베이스 서버들, 클라우드 스토리지, NAS(network attached storage) 등과 같은 컴퓨팅 머신(2000)과 통신하는 하나 이상의 다른 컴퓨팅 머신들의 일부이다.
모듈(2050)은 컴퓨팅 머신(2000)가 본 명세서에 제시된 기능들을 프로세싱하고 다양한 방법들을 수행하는 것을 지원하도록 구성된 하나 이상의 하드웨어 또는 소프트웨어 엘리먼트들을 포함한다. 모듈(2050)은 시스템 메모리(2030), 저장 미디어(2040) 또는 둘 다와 관련된 소프트웨어 또는 펌웨어로서 저장된 하나 이상의 명령들의 시퀀스들을 포함한다. 그러므로 저장 미디어(2040)는 명령들 또는 코드가 프로세서(2010)에 의한 실행을 위해 저장되는 기계 또는 컴퓨터 판독가능 매체의 예시들을 나타낸다. 기계 또는 컴퓨터 판독가능 매체는 일반적으로 프로세서(2010)에 명령들을 제공하는데 사용되는 임의의 매체 또는 매체들을 지칭한다. 모듈(2050)과 관련된 상기 기계 또는 컴퓨터 판독가능 매체는 컴퓨터 소프트웨어 제품을 포함한다. 또한, 모듈(2050)을 포함하는 컴퓨터 소프트웨어 제품은 모듈(2050)을 네트워크(2080), 임의의 신호-베어링 매체 또는 임의의 기타 통신 또는 전달 기술을 통해 컴퓨팅 머신(200)에 전달하기 위한 하나 이상의 프로세스들 또는 방법들과 관련된다는 것이 인식되어야 한다. 또한 모듈(2050)은 하드웨어 회로들 또는, 마이크로코드 또는 FPGA또는 기타 PLD에 대한 구성 정보와 같은 하드웨어 회로들을 구성하기 위한 정보를 포함한다.
입력/출력(I/O) 인터페이스(2060)는 하나 이상의 외부 디바이스들로부터 데이터를 수신하고, 데이터를 하나 이상의 외부 디바이스들에 보내기 위해 하나 이상의 외부 디바이스들에 연결되도록 구성된다. 또한 다양한 내부 디바이스들과 함께 상기 외부 디바이스들은 주변장치들로도 알려져 있다. I/O 인터페이스(2060)는 다양한 주변 장치들을 컴퓨팅 머신(2000) 또는 프로세서(2010)에 동작적으로 연결하기 위한 전기적 및 물리적 연결들을 포함한다. I/O 인터페이스(2060)는 주변장치들, 컴퓨팅 머신(2000) 또는 프로세서(2010) 간 데이터, 주소들, 및 제어 신호들과 통신하도록 구성된다. I/O 인터페이스(2060)는 SCSI(small computer system interface), SAS(serial-attached SCSI), 섬유 채널, PCI(peripheral component interconnect), PCIe(PCI express), 직렬버스, 병렬버스, ATA(advanced technology attached), SATA(serial ATA), USB(universal serial bus), 썬더볼트, 파이어와이어, 다양한 비디오 버스들 및 그와 유사한 것들 과 같은 임의의 표준 인터페이스를 구현하도록 구성된다. I/O 인터페이스(2060)는 단지 하나의 인터페이스 또는 버스 기술을 구현하도록 구성된다. 대안적으로 I/O 인터페이스(2060)는 다수의 인터페이스들 또는 버스 기술들을 구현하도록 구성된다. I/O 인터페이스(2060)는 시스템 버스(2020)와 함께, 또는 그 일부로서, 또는 그 전부로서 구성된다. I/O 인터페이스(2060)는 하나 이상의 외부 디바이스들, 내부 디바이스들, 컴퓨팅 머신(2000) 또는 프로세서(2010) 사이의 전송들을 버퍼링하기 위한 하나 이상의 버퍼들을 포함한다.
I/O 인터페이스(2060)는 컴퓨팅 머신(2000)를 마우스들, 터치-스크린들, 스캐너들, 전자 디지타이저들, 센서들, 수신기들, 터치패드들, 트랙볼드, 카메라들, 마이크들, 키보드들, 임의의 기타 포인팅 디바이스들 또는 그것들의 임의의 조합을 포함하는 다양한 입력 디바이스들에 연결한다. I/O 인터페이스(2060)는 컴퓨팅 머신(2000)를 비디오 디스플레이들, 스피커들, 프린터들, 프로젝터들, 촉각적 피드백 디바이스들, 자동 제어, 로보틱 컴포넌트들, 액츄에이터들, 모터들, 팬들, 솔레노이드들, 밸브들, 펌프들, 전송기들, 신호 생략기들, 라이트들 등을 포함하는 다양한 출력 디바이스들에 연결한다.
컴퓨팅 머신(2000)은 네트워크 인터페이스(2070)을 통해 하나 이상의 다른 시스템들 또는 네트워크(2080) 상의 컴퓨팅 머신들에게로 논리적 연결들을 사용하여 네트워크화된 환경에서 동작한다. 네트워크(2080)는 WAN들(wide area networks), LAN들(local area networks), 인트라넷들, 인터넷, 무선 엑세스 네트워크들, 유선 네트워크들, 모바일 네트워크들, 전화 네트워크들, 광학 네트워크들 또는 그것들의 조합들을 포함한다. 네트워크(2080)는 스위칭된 패킷, 스위칭된 회로 또는 임의의 토폴로지이고, 임의의 통신 프로토콜을 사용한다. 네트워크(2080) 내의 통신 링크들은 광섬유 케이블들, 프리-스페이스 옵틱들, 웨이브가이드들, 전기적 컨덕터들, 무선 링크들, 안테나들, 라디오-주파수 통신들 등과 같은 다양한 디지털 또는 아날로그 통신 매체를 수반한다.
프로세서(2010)는 시스템 버스(2020)를 통해 본 명세서에서 논의된 컴퓨팅 머신(2000) 또는 다양한 주변장치들의 다른 엘리먼트들에 연결된다. 시스템 버스(2020)는 프로세서(2010) 내, 프로세서(2010) 외, 또는 둘 다에 있다는 것을 인식해야만 한다. 일부 실시예들에 따르면, 임의의 프로세서(2010), 컴퓨팅 머신(2000)의 다른 엘리먼트들 또는 본 명세서에서 논의되는 다양한 주변장치들은 시스템 온 칩(SOC), 시스템 온 패키지(SOP), 또는 ASIC 디바이스와 같은 단일의 디바이스에 통합된다.
본 명세서에서 논의된 시스템들이 사용자들에 관한 개인 정보를 수집하거나 또는 개신 정보를 사용하는 경우들에 있어서, 사용자들에게 프로그램들 또는 구성들이 사용자 정보(예를 들면, 사용자의 소셜 네트워크, 소셜 액션들 또는 활동들, 직업, 사용자의 선호들 또는 사용자의 현재 위치에 관한 정보)를 수집할 것인지 여부를 제어할, 사용자와 더 관련된 컨텐츠 서버로부터의 컨텐츠를 수신할지 및/또는 어떻게 수신할지 제어할 기회 또는 옵션이 제공된다. 추가로, 특정 데이터는 그것이 저장되거나 사용되기 전에 하나 이상의 다양한 방식들로 취급되어, 개인적으로 식별가능한 정보는 제거된다. 예를 들면, 사용자의 아이덴티티는 사용자에 대한 개인적으로 식별가능한 정보가 결정될 수 없도록 취급되거나, 또는 사용자의 지리적 위치는 위치 정보가 획득된 곳에서 일반화되어(도시, 우편번호, 또는 주 레벨로와 같이), 사용자의 특정 위치가 결정될 수 없게 된다. 따라서, 사용자는 사용자에 관한 정보가 어떻게 수집되는지 그리고 컨텐츠 서버에 의해 사용되는지에 관한 제어를 가진다.
실시예들은 본 명세서에 기술되고 도시된 기능들을 수록한 컴퓨터 프로그램을 포함하며, 상기 컴퓨터 프로그램은 기계-판독가능 매체에 저장된 명령들 및 명령들을 실행하는 프로세서를 포함하는 컴퓨터 시스템에서 구현된다. 그러나, 컴퓨터 프로그래밍에서 실시예들을 구현하는 많은 서로 다른 방식들이 있으며, 실시예들은 컴퓨터 프로그램 명령들의 임의의 하나의 세트에 대한 제한으로서 여겨져서는 안된다는 것은 명백하다. 게다가, 숙련된 프로그래머는 첨부된 흐름도들 및 관련된 어플리케이션 텍스트 내의 기술에 기초하여 개시된 실시예들의 실시예를 구현하기 위해 그러한 컴퓨터 프로그램을 작성할 수 있다. 그러므로, 프로그램 코드 명령들의 특정 세트의 개시는 실시예들을 어떻게 만들고 사용할지에 관한 적절한 이해를 위해 필요하지 않다고 여겨진다. 추가로, 통상의 기술자들은 본 명세서에 기술된 실시예들의 하나 이상의 양태들은 하나 이상의 컴퓨팅 시스템들에 수록된 것과 같이, 하드웨어, 소프트웨어 또는 그것들의 조합에 의해 수행될 수 있다는 것을 인식할 것이다. 게다가, 컴퓨터에 의해 수행되는 동작에 대한 임의의 참조는 하나 이상의 컴퓨터가 동작을 수행할 수 있으므로, 단일의 컴퓨터에 의해 수행되는 것으로 여겨져서는 안된다.
본 명세서에 기술된 예시적 실시예들은 본 명세서에 기술된 방법들을 수행하고 기능들을 프로세싱하는 컴퓨터 하드웨어 및 소프트웨어와 함께 사용된다. 본 명세서에 기술된 시스템들, 방법들, 및 절차들은 프로그래머블 컴퓨터, 컴퓨터 실행가능 소프트웨어 또는 디지털 회로에 수록된다. 소프트웨어는 컴퓨터 저장 매체에 저장된다. 예를 들면, 컴퓨터 판독가능 매체는 플로피 디스크, RAM, ROM, 하드 디스크, 이동식 미디어, 플래시 메모리, 메모리 스틱, 광학 미디어, 자기-광학적 미디어, CD-ROM 등을 포함한다. 디지털 회로는 집적회로들, 게이트 어레이들, 빌딩 블록 로직, FPGA 등을 포함한다.
이전에 제시된 실시예들에서 기술된 예시적 시스템들, 방법들 및 동작들은 도시적이며, 대안적인 실시예들에서, 특정 동작들은 다양한 실시예들의 범위와 정신으로부터 벗어남 없이, 다른 순서로, 다른 것과 병렬적으로, 전체적으로 생략되어, 및/또는 서로 다른 예시적 실시예들 사이에 조합되어 수행될 수 있고 및/또는 특정 추가적인 동작들이 수행될 수 있다. 따라서, 상기 대안적 실시예들도 본 명세서의 청구된 발명에 포함되고, 청구항들의 범위는 상기 대안적인 실시예들을 포함하도록 가장 넓은 해석이 적용된다.
비록 구체적 실시예들이 상기에 상세히 기술되었지만, 상기 기술은 단지 도시적인 목적들이다. 그러므로 상기 기술된 많은 양태들은 명시적으로 다르게 언급되지 않는 한 필요적인 또는 기본적인 엘리먼트들로서 의도되지 않았다는 것을 인식해야 한다. 상기 기술된 것들에 더하여, 후속하는 청구항들에서 정의된 실시예들의 정신과 범위로부터 벗어남 없이, 본 발명의 이익을 가지는, 예시적 실시예들의 개시된 양태들의 변경들 및 그에 대응하는 균등한 컴포넌트들 또는 동작들이 통상의 기술자에 의해 만들어질 수 있고, 청구항들의 범위는 상기 변경들 및 균등한 구조들을 포함하도록 가장 넓은 해석이 적용된다.

Claims (40)

  1. 컴퓨터로 구현되는, 보안 오프라인 지불들을 제공하는 방법으로서,
    머천트 통신 디바이스에 의해, 네트워크 액세스(network access) 없이 오프라인 지불 거래를 완료하고자 하는 소망(desire)을 나타내는 사용자에 응답하여, 사용자 모바일 통신 디바이스와의 통신 채널을 확립(establish)하는 단계와;
    상기 머천트 모바일 통신 디바이스에 의해, 네트워크 액세스 없이 상기 오프라인 지불 거래를 완료하기 위해 지불 요청을 상기 사용자 모바일 통신 디바이스에 전송하는 단계와;
    상기 머천트 모바일 통신 디바이스에 의해, 상기 사용자 모바일 통신 디바이스로부터 인출 레코드(withdrawal record) 및 잔액 증명서(balance certificate)를 수신하는 단계와, 상기 잔액 증명서는 상기 사용자 모바일 통신 디바이스에 의한 요청에 응답하여 계정 관리 시스템(account management system)에 의해 생성되고, 그리고 상기 잔액 증명서는 상기 오프라인 지불 거래를 위해 이용가능한 펀드들의 금액(amount of funds)을 표시하며, 상기 인출 레코드는 계정 관리 시스템 계정 식별자 및 지불 금액을 포함하고, 상기 인출 레코드는 계정 관리 시스템 계정 인증서 개인 키(account management system account certificate private key)를 사용하여 상기 사용자 모바일 통신 디바이스에 의해 서명(sign)되며;
    상기 머천트 모바일 통신 디바이스에 의해, 계정 관리 시스템 계정 인증서 공개 키(account management system account certificate public key)를 사용하여 상기 사용자 모바일 통신 디바이스의 사용자의 신원(identity)을 확인함으로써 상기 인출 레코드가 유효함을 결정함과 아울러 상기 잔액 증명서를 판독(read)함으로써 상기 오프라인 지불 거래를 위한 충분한 펀드들이 이용가능함을 결정하는 단계와;
    상기 머천트 모바일 통신 디바이스에 의해, 상기 인출 레코드가 유효하고 충분한 펀드들이 이용가능함을 결정하는 것에 응답하여, 상기 오프라인 지불 거래를 허가(authorizing)하는 단계와; 그리고
    상기 머천트 모바일 통신 디바이스에 의해, 상기 인출 레코드를 상기 계정 관리 시스템에 전송하는 단계를 포함하고, 상기 계정 관리 시스템은 상기 오프라인 지불 거래를 반영하기 위해 상기 계정 관리 시스템에 의해 유지되는 사용자 계정을 업데이트(update)하는 것을 특징으로 하는 보안 오프라인 지불들을 제공하는 방법.
  2. 청구항 1에 있어서,
    상기 잔액 증명서는 잔액 증명서 개인 키를 사용하여 상기 계정 관리 시스템에 의해 서명되고, 그리고 상기 머천트 모바일 통신 디바이스는 잔액 증명서 공개 키를 사용하여 상기 잔액 증명서가 유효함을 결정하는 것을 특징으로 하는 보안 오프라인 지불들을 제공하는 방법.
  3. 청구항 1에 있어서,
    상기 머천트 모바일 통신 디바이스에 의해, 상기 인출 레코드 또는 상태 코드(status code)를 상기 오프라인 지불 거래가 성공적임을 표시하는 상기 사용자 모바일 통신 디바이스에 전송하는 단계를 더 포함하는 것을 특징으로 하는 보안 오프라인 지불들을 제공하는 방법.
  4. 청구항 3에 있어서,
    상기 사용자 모바일 통신 디바이스는 네트워크 액세스가 상기 사용자 모바일 통신 디바이스에 대해 이용가능한 때, 상기 인출 레코드 또는 상태 코드를 상기 계정 관리 시스템에 전송하는 것을 특징으로 하는 보안 오프라인 지불들을 제공하는 방법.
  5. 청구항 4에 있어서,
    새로운 잔액 증명서를 요청하는 동안, 상기 사용자 모바일 통신 디바이스는 상기 인출 레코드 또는 상태 코드를 상기 계정 관리 시스템에 전송하는 것을 특징으로 하는 보안 오프라인 지불들을 제공하는 방법.
  6. 청구항 1에 있어서,
    상기 머천트 모바일 통신 디바이스에 의해, 서명된 인출 레코드를 상기 사용자 디바이스에 전송하기 전에, 머천트 디바이스 서명 인증서 개인 키(merchant device signing certificate private key)를 사용하여 상기 인출 레코드에 서명하는 단계를 더 포함하는 것을 특징으로 하는 보안 오프라인 지불들을 제공하는 방법.
  7. 청구항 6에 있어서,
    상기 계정 관리 시스템은 머천트 디바이스 서명 인증서 공개 키를 사용하여 상기 머천트 모바일 통신 디바이스의 신원을 확인함으로써 상기 서명된 인출 레코드가 유효함을 결정하는 것을 특징으로 하는 보안 오프라인 지불들을 제공하는 방법.
  8. 청구항 1에 있어서,
    상기 사용자 모바일 통신 디바이스는 상기 계정 관리 시스템에 의해 유지되는 사용자 계정에 펀드들을 디포짓(deposit)하기 위한 요청에 응답하여 상기 계정 관리 시스템으로부터 상기 잔액 증명서를 수신하는 것을 특징으로 하는 보안 오프라인 지불들을 제공하는 방법.
  9. 컴퓨터 프로그램 물로서,
    상기 컴퓨터 프로그램 물은 컴퓨터에 의한 실행시 상기 컴퓨터로 하여금 보안 오프라인 지불들을 제공하게 하는 컴퓨터에 의해 판독가능한 프로그램 명령어들이 수록된 비-일시적인 컴퓨터 판독 가능한 매체를 포함하며, 상기 컴퓨터에 의해 판독가능한 프로그램 명령어들은:
    네트워크 액세스 없이 오프라인 지불 거래를 완료하기 위해 지불 요청을 상기 사용자 모바일 통신 디바이스에 전송하는 컴퓨터에 의해 판독가능한 프로그램 명령어와;
    상기 사용자 모바일 통신 디바이스로부터 인출 레코드 및 잔액 증명서를 수신하는 컴퓨터에 의해 판독가능한 프로그램 명령어와, 상기 잔액 증명서는 상기 사용자 모바일 통신 디바이스에 의한 요청에 응답하여 계정 관리 시스템에 의해 생성되고, 그리고 상기 잔액 증명서는 상기 오프라인 지불 거래를 위해 이용가능한 펀드들의 금액을 표시하며, 상기 인출 레코드는 계정 관리 시스템 계정 식별자 및 지불 금액을 포함하고, 상기 인출 레코드는 계정 관리 시스템 계정 인증서 개인 키를 사용하여 상기 사용자 모바일 통신 디바이스에 의해 서명되며;
    상기 사용자 모바일 통신 디바이스의 사용자의 신원을 확인함으로써 상기 인출 레코드가 유효함을 결정함과 아울러 상기 잔액 증명서를 판독함으로써 상기 오프라인 지불 거래를 위한 충분한 펀드들이 이용가능함을 결정하는 컴퓨터에 의해 판독가능한 프로그램 명령어와;
    상기 인출 레코드가 유효하고 충분한 펀드들이 이용가능함을 결정하는 것에 응답하여, 상기 오프라인 지불 거래를 허가하는 컴퓨터에 의해 판독가능한 프로그램 명령어와; 그리고
    상기 인출 레코드를 상기 계정 관리 시스템에 전송하는 컴퓨터에 의해 판독가능한 프로그램 명령어를 포함하고, 상기 계정 관리 시스템은 상기 오프라인 지불 거래를 반영하기 위해 상기 계정 관리 시스템에 의해 유지되는 사용자 계정을 업데이트하는 것을 특징으로 하는 컴퓨터 프로그램 물.
  10. 청구항 9에 있어서,
    상기 잔액 증명서는 상기 계정 관리 시스템에 의해 서명되고, 그리고 상기 머천트 모바일 통신 디바이스는 공개 키를 사용하여 상기 잔액 증명서가 유효함을 결정하는 것을 특징으로 하는 컴퓨터 프로그램 물.
  11. 청구항 9에 있어서,
    상기 인출 레코드 또는 상태 코드를 상기 오프라인 지불 거래가 성공적임을 표시하는 상기 사용자 모바일 통신 디바이스에 전송하는 컴퓨터에 의해 판독가능한 프로그램 명령어를 더 포함하는 것을 특징으로 하는 컴퓨터 프로그램 물.
  12. 청구항 11에 있어서,
    상기 사용자 모바일 통신 디바이스는 네트워크 액세스가 상기 사용자 모바일 통신 디바이스에 대해 이용가능한 때, 상기 인출 레코드 또는 상태 코드를 상기 계정 관리 시스템에 전송하는 것을 특징으로 하는 컴퓨터 프로그램 물.
  13. 청구항 11에 있어서,
    새로운 잔액 증명서를 요청하는 동안, 상기 사용자 모바일 통신 디바이스는 상기 인출 레코드 또는 상태 코드를 상기 계정 관리 시스템에 전송하는 것을 특징으로 하는 컴퓨터 프로그램 물.
  14. 청구항 9에 있어서,
    서명된 인출 레코드를 상기 사용자 디바이스에 전송하기 전에, 상기 인출 레코드에 서명하는 컴퓨터에 의해 판독가능한 프로그램 명령어를 더 포함하고, 상기 계정 관리 시스템은 상기 인출 레코드에 서명했던 상기 머천트 모바일 통신 디바이스의 신원을 확인함으로써 상기 서명된 인출 레코드가 유효함을 결정하는 것을 특징으로 하는 컴퓨터 프로그램 물.
  15. 보안 오프라인 지불들을 제공하는 시스템으로서,
    저장 디바이스; 그리고
    상기 저장 디바이스에 통신적으로 연결되는 프로세서를 포함하며, 상기 프로세서는 상기 저장 디바이스에 저장된 어플리케이션 코드 명령어들을 실행하며, 상기 명령어들은 상기 시스템으로 하여금:
    네트워크 액세스 없이 오프라인 지불 거래를 완료하기 위해 지불 요청을 상기 사용자 모바일 통신 디바이스에 전송하도록 하며;
    상기 사용자 모바일 통신 디바이스로부터 인출 레코드 및 잔액 증명서를 수신하도록 하며, 상기 잔액 증명서는 상기 사용자 모바일 통신 디바이스에 의한 요청에 응답하여 계정 관리 시스템에 의해 생성되고, 그리고 상기 잔액 증명서는 상기 오프라인 지불 거래를 위해 이용가능한 펀드들의 금액을 표시하며, 상기 인출 레코드는 계정 관리 시스템 계정 식별자 및 지불 금액을 포함하고, 상기 인출 레코드는 계정 관리 시스템 계정 인증서 개인 키를 사용하여 상기 사용자 모바일 통신 디바이스에 의해 서명되며;
    상기 사용자 모바일 통신 디바이스의 사용자의 신원을 확인함으로써 상기 인출 레코드가 유효함을 결정함과 아울러 상기 잔액 증명서를 판독함으로써 상기 오프라인 지불 거래를 위한 충분한 펀드들이 이용가능함을 결정하도록 하며; 그리고
    상기 인출 레코드가 유효하고 충분한 펀드들이 이용가능함을 결정하는 것에 응답하여, 상기 오프라인 지불 거래를 허가하도록 하는 것을 특징으로 하는 시스템.
  16. 청구항 15에 있어서,
    상기 프로세서는 상기 저장 디바이스에 저장된 컴퓨터에 의해 실행가능한 명령어들을 실행하도록 더 구성되며, 상기 명령어들은 상기 시스템으로 하여금 상기 인출 레코드를 상기 계정 관리 시스템에 전송하도록 하며, 상기 계정 관리 시스템은 상기 오프라인 지불 거래를 반영하기 위해 상기 계정 관리 시스템에 의해 유지되는 사용자 계정을 업데이트하는 것을 특징으로 하는 시스템.
  17. 청구항 15에 있어서,
    상기 잔액 증명서는 상기 계정 관리 시스템에 의해 서명되고, 그리고 상기 머천트 모바일 통신 디바이스는 공개 키를 사용하여 상기 잔액 증명서가 유효함을 결정하는 것을 특징으로 하는 시스템.
  18. 청구항 15에 있어서,
    상기 프로세서는 상기 저장 디바이스에 저장된 컴퓨터에 의해 실행가능한 명령어들을 실행하도록 더 구성되며, 상기 명령어들은 상기 시스템으로 하여금 상기 인출 레코드 또는 상태 코드를 상기 사용자 모바일 통신 디바이스에 전송하도록 하는 것을 특징으로 하는 시스템.
  19. 청구항 18에 있어서,
    상기 사용자 모바일 통신 디바이스는 네트워크 액세스가 상기 사용자 모바일 통신 디바이스에 대해 이용가능한 때, 상기 인출 레코드 또는 상태 코드를 상기 계정 관리 시스템에 전송하는 것을 특징으로 하는 시스템.
  20. 청구항 19에 있어서,
    새로운 잔액 증명서를 요청하는 동안, 상기 사용자 모바일 통신 디바이스는 상기 인출 레코드 또는 상태 코드를 상기 계정 관리 시스템에 전송하는 것을 특징으로 하는 시스템.
  21. 보안 오프라인 지불들을 위해 이용가능한 펀드들을 록킹(locking)하는 컴퓨터로 구현되는 방법으로서,
    하나 이상의 컴퓨팅 디바이스들에 의해 그리고 사용자 모바일 컴퓨팅 디바이스로부터, 네트워크 액세스 없이 완료될 오프라인 지불 거래에서의 사용을 위해 이용가능한 펀드들의 금액을 표시하는 잔액 증명서에 대한 요청을 수신하는 단계와, 상기 요청은 계정 관리 시스템 계정 식별자를 포함하며;
    상기 하나 이상의 컴퓨팅 디바이스들에 의해, 오프라인 지불 거래 중의 사용에 대해 상기 이용가능한 펀드들의 일부분이 록킹됨을 결정하는 단계와;
    상기 하나 이상의 컴퓨팅 디바이스들에 의해, 상기 잔액 증명서를 생성하는 단계와, 상기 잔액 증명서는 상기 오프라인 지불 거래에서의 사용을 위해 이용가능한 상기 펀드들의 금액에서 상기 오프라인 지불 거래 중의 사용에 대해 록킹된 상기 이용가능한 펀드들의 상기 일부분을 뺀 금액을 표시하며;
    상기 하나 이상의 컴퓨팅 디바이스들에 의해, 상기 잔액 증명서를 상기 사용자 모바일 통신 디바이스에 전송하는 단계와;
    상기 하나 이상의 컴퓨팅 디바이스들에 의해 그리고 머천트 모바일 통신 디바이스로부터, 상기 머천트 모바일 통신 디바이스와 상기 사용자 모바일 통신 디바이스 사이의 오프라인 지불 거래에 대한 인출 레코드를 수신하는 단계와, 상기 잔액 증명서는 상기 오프라인 지불 거래에 대한 지불 요청에 응답하여 상기 사용자 모바일 통신 디바이스에 의해 상기 머천트 모바일 통신 디바이스로 전송되며, 그리고 상기 머천트 모바일 통신 디바이스는 상기 잔액 증명서를 판독함으로써 상기 오프라인 지불 거래를 위한 충분한 펀드들이 이용가능함을 결정하며; 그리고
    상기 하나 이상의 컴퓨팅 디바이스들에 의해, 제2 오프라인 지불 거래에서의 사용을 위해 이용가능한 상기 펀드들의 금액을 업데이트(update)하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  22. 청구항 21에 있어서,
    상기 이용가능한 펀드들의 상기 일부분은 미리-정의된 일정 시간(pre-defined time period) 동안 오프라인 지불 거래 중의 사용에 대해 록킹되는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  23. 청구항 21에 있어서,
    상기 이용가능한 펀드들의 상기 일부분은 지정된 위치에 대하여 오프라인 지불 거래 중의 사용에 대해 록킹되는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  24. 청구항 21에 있어서,
    상기 이용가능한 펀드들의 상기 일부분은 머천트의 지정된 타입에 대하여 오프라인 지불 거래 중의 사용에 대해 록킹되는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  25. 청구항 21에 있어서,
    상기 이용가능한 펀드들의 상기 일부분은 상기 사용자 모바일 통신 디바이스를 수반하는 오프라인 지불 거래 중의 사용에 대해 록킹되나, 제2 사용자 모바일 통신 디바이스를 수반하는 오프라인 지불 거래 중의 사용을 위해 이용가능한 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  26. 청구항 21에 있어서,
    상기 이용가능한 펀드들의 상기 일부분은 상기 사용자 모바일 통신 디바이스의 사용자에 의해 확립된 하나 이상의 규칙들에 기초하여 오프라인 지불 거래 중의 사용에 대해 록킹되는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  27. 청구항 21에 있어서,
    상기 이용가능한 펀드들의 상기 일부분은 상기 하나 이상의 컴퓨팅 디바이스들에 의해 확립된 하나 이상의 규칙들에 기초하여 오프라인 지불 거래 중의 사용에 대해 록킹됨을 특징으로 하는 컴퓨터로 구현되는 방법.
  28. 청구항 21에 있어서,
    상기 하나 이상의 컴퓨팅 디바이스들에 의해 그리고 상기 사용자 모바일 컴퓨팅 디바이스로부터, 상기 록킹된 펀드들의 적어도 일부분을 언록킹(unlocking)하기 위한 요청을 수신하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  29. 청구항 21에 있어서,
    상기 잔액 증명서는 잔액 증명서 개인 키를 사용하여 상기 계정 관리 시스템에 의해 서명되고, 그리고 상기 머천트 모바일 통신 디바이스는 잔액 증명서 공개 키를 사용하여 상기 잔액 증명서가 유효함을 결정하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  30. 청구항 21에 있어서,
    상기 머천트 모바일 통신 디바이스는 계정 관리 시스템 계정 인증서 공개 키를 사용하여 상기 사용자 모바일 통신 디바이스의 사용자의 신원을 확인함으로써 상기 인출 레코드가 유효함을 결정하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  31. 컴퓨터 프로그램 물로서,
    상기 컴퓨터 프로그램 물은 컴퓨터에 의한 실행시 상기 컴퓨터로 하여금 보안 오프라인 지불들을 위해 이용가능한 펀드들을 록킹하도록 하는 컴퓨터에 의해 판독가능한 프로그램 명령어들이 수록된 비-일시적인 컴퓨터 판독 가능한 매체를 포함하며, 상기 컴퓨터에 의해 판독가능한 프로그램 명령어들은:
    사용자 모바일 컴퓨팅 디바이스로부터, 네트워크 액세스 없이 완료될 오프라인 지불 거래에서의 사용을 위해 이용가능한 펀드들의 금액을 표시하는 잔액 증명서에 대한 요청을 수신하는 컴퓨터에 의해 판독가능한 프로그램 명령어와;
    상기 오프라인 지불 거래 중의 사용에 대해 상기 이용가능한 펀드들의 일부분이 록킹되는 것을 결정하는 컴퓨터에 의해 판독가능한 프로그램 명령어와;
    상기 잔액 증명서를 생성하는 컴퓨터에 의해 판독가능한 프로그램 명령어와, 상기 잔액 증명서는 상기 오프라인 지불 거래에서의 사용을 위해 이용가능한 상기 펀드들의 금액에서 상기 오프라인 지불 거래 중의 사용에 대해 록킹된 상기 이용가능한 펀드들의 상기 일부분을 뺀 금액을 표시하며;
    상기 잔액 증명서를 상기 사용자 모바일 통신 디바이스에 전송하는 컴퓨터에 의해 판독가능한 프로그램 명령어와;
    머천트 모바일 통신 디바이스로부터, 상기 머천트 모바일 통신 디바이스와 상기 사용자 모바일 통신 디바이스 사이의 상기 오프라인 지불 거래에 대한 인출 레코드를 수신하는 컴퓨터에 의해 판독가능한 프로그램 명령어와, 상기 잔액 증명서는 상기 오프라인 지불 거래에 대한 지불 요청에 응답하여 상기 사용자 모바일 통신 디바이스에 의해 상기 머천트 모바일 통신 디바이스로 전송되며, 그리고 상기 머천트 모바일 통신 디바이스는 상기 잔액 증명서를 판독함으로써 상기 오프라인 지불 거래를 위한 충분한 펀드들이 이용가능함을 결정하며; 그리고
    상기 하나 이상의 컴퓨팅 디바이스들에 의해, 제2 오프라인 지불 거래에서의 사용을 위해 이용가능한 상기 펀드들의 금액을 업데이트하는 컴퓨터에 의해 판독가능한 프로그램 명령어를 포함하는 것을 특징으로 하는 컴퓨터 프로그램 물.
  32. 청구항 31에 있어서,
    상기 이용가능한 펀드들의 상기 일부분은 미리-정의된 일정 시간 동안 상기 오프라인 지불 거래 중의 사용에 대해 록킹되는 것을 특징으로 하는 컴퓨터 프로그램 물.
  33. 청구항 31에 있어서,
    상기 이용가능한 펀드들의 상기 일부분은 지정된 위치에 대하여 상기 오프라인 지불 거래 중의 사용에 대해 록킹되는 것을 특징으로 하는 컴퓨터 프로그램 물.
  34. 청구항 31에 있어서,
    상기 이용가능한 펀드들의 상기 일부분은 머천트의 지정된 타입에 대하여 오프라인 지불 거래 중의 사용에 대해 록킹되는 것을 특징으로 하는 컴퓨터 프로그램 물.
  35. 청구항 31에 있어서,
    상기 이용가능한 펀드들의 상기 일부분은 상기 사용자 모바일 통신 디바이스를 수반하는 오프라인 지불 거래 중의 사용에 대해 록킹되나, 제2 사용자 모바일 통신 디바이스를 수반하는 오프라인 지불 거래 중의 사용을 위해 이용가능한 것을 특징으로 하는 컴퓨터 프로그램 물.
  36. 청구항 31에 있어서,
    상기 이용가능한 펀드들의 상기 일부분은 상기 사용자 모바일 통신 디바이스의 사용자에 의해 확립된 하나 이상의 규칙들에 기초하여 오프라인 지불 거래 중의 사용에 대해 록킹되는 것을 특징으로 하는 컴퓨터 프로그램 물.
  37. 보안 오프라인 지불들을 제공하는 시스템으로서,
    저장 디바이스; 그리고
    상기 저장 디바이스에 통신적으로 연결되는 프로세서를 포함하며, 상기 프로세서는 상기 저장 디바이스에 저장된 어플리케이션 코드 명령어들을 실행하며, 상기 명령어들은 상기 시스템으로 하여금:
    사용자 모바일 컴퓨팅 디바이스로부터, 네트워크 액세스 없이 완료될 오프라인 지불 거래에서의 사용을 위해 이용가능한 펀드들의 금액을 표시하는 잔액 증명서에 대한 요청을 수신하도록 하며;
    상기 오프라인 지불 거래 중의 사용에 대해 상기 이용가능한 펀드들의 일부분이 록킹됨을 결정하도록 하며;
    상기 오프라인 지불 거래에서의 사용을 위해 이용가능한 상기 펀드들의 금액에서 상기 오프라인 지불 거래 중의 사용에 대해 록킹된 상기 이용가능한 펀드들의 상기 일부분을 뺀 금액을 표시하는 상기 잔액 증명서를 생성하도록 하며;
    상기 잔액 증명서를 상기 사용자 모바일 통신 디바이스에 전송하도록 하며;
    머천트 모바일 통신 디바이스로부터, 상기 머천트 모바일 통신 디바이스와 상기 사용자 모바일 통신 디바이스 사이의 상기 오프라인 지불 거래에 대한 인출 레코드를 수신하도록 하며, 상기 잔액 증명서는 상기 오프라인 지불 거래에 대한 지불 요청에 응답하여 상기 사용자 모바일 통신 디바이스에 의해 상기 머천트 모바일 통신 디바이스로 전송되며, 그리고 상기 머천트 모바일 통신 디바이스는 상기 잔액 증명서를 판독함으로써 상기 오프라인 지불 거래를 위한 충분한 펀드들이 이용가능함을 결정하며; 그리고
    상기 하나 이상의 컴퓨팅 디바이스들에 의해, 제2 오프라인 지불 거래에서의 사용을 위해 이용가능한 상기 펀드들의 금액을 업데이트하도록 하는 것을 특징으로 하는 시스템.
  38. 청구항 37에 있어서,
    상기 이용가능한 펀드들의 상기 일부분은 미리-정의된 일정 시간 동안 오프라인 지불 거래 중의 사용에 대해 또는 지정된 위치에 대하여 상기 오프라인 지불 거래 중의 사용에 대해 록킹되는 것을 특징으로 하는 시스템.
  39. 청구항 37에 있어서,
    상기 이용가능한 펀드들의 상기 일부분은 상기 사용자 모바일 통신 디바이스를 수반하는 오프라인 지불 거래 중의 사용에 대해 록킹되나, 제2 사용자 모바일 통신 디바이스를 수반하는 오프라인 지불 거래 중의 사용을 위해 이용가능한 것을 특징으로 하는 시스템.
  40. 청구항 37에 있어서,
    상기 이용가능한 펀드들의 상기 일부분은 상기 사용자 모바일 통신 디바이스의 사용자에 의해 확립된 하나 이상의 규칙들에 기초하여 오프라인 지불 거래 중의 사용에 대해 록킹되는 것을 특징으로 하는 시스템.
KR1020167029240A 2014-03-26 2015-03-26 보안 오프라인 지불 시스템 KR20160135799A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US14/226,798 2014-03-26
US14/226,798 US20150278796A1 (en) 2014-03-26 2014-03-26 Reserving account balance for concurrent payments in secure offline payment system
US14/226,785 2014-03-26
US14/226,785 US20150278795A1 (en) 2014-03-26 2014-03-26 Secure offline payment system
PCT/US2015/022831 WO2015148850A1 (en) 2014-03-26 2015-03-26 Secure offline payment system

Publications (1)

Publication Number Publication Date
KR20160135799A true KR20160135799A (ko) 2016-11-28

Family

ID=54196420

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167029240A KR20160135799A (ko) 2014-03-26 2015-03-26 보안 오프라인 지불 시스템

Country Status (7)

Country Link
EP (1) EP3123426A4 (ko)
JP (1) JP2017513122A (ko)
KR (1) KR20160135799A (ko)
CN (1) CN106133769A (ko)
AU (2) AU2015235940A1 (ko)
CA (1) CA2943810A1 (ko)
WO (1) WO2015148850A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200003374A (ko) * 2017-08-22 2020-01-09 알리바바 그룹 홀딩 리미티드 오프라인 지불, 서비스 프로세싱, 및 지불 프로세싱을 위한 방법 및 장치

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230196328A1 (en) * 2013-02-14 2023-06-22 Advanced New Technologies Co., Ltd. Data interaction method and device, and offline credit payment method and device
US10192214B2 (en) 2013-03-11 2019-01-29 Google Llc Pending deposit for payment processing system
US10769626B2 (en) 2015-12-17 2020-09-08 Mastercard International Incorporated Method and system for distribution, use and validation of electronic entitlement certificates
CN115719224A (zh) 2016-01-25 2023-02-28 创新先进技术有限公司 基于移动终端卡模拟的信用支付方法及装置
CN106997527A (zh) 2016-01-25 2017-08-01 阿里巴巴集团控股有限公司 基于移动终端p2p的信用支付方法及装置
CN114240421A (zh) 2016-01-25 2022-03-25 创新先进技术有限公司 基于移动终端eSE的信用支付方法及装置
US11354658B2 (en) * 2016-02-11 2022-06-07 Mastercard International Incorporated Method and system for offline blockchain exchanges
EP3293686A1 (en) * 2016-09-07 2018-03-14 Mastercard International, Inc. Method and system for allowing offline peer-2-peer transactions using exchangeable provisioned tokens
JP6875525B2 (ja) * 2016-12-02 2021-05-26 グーグル エルエルシーGoogle LLC 対話後のアニメーションを表示するグラフィカルユーザインターフェース
CN108205755A (zh) * 2016-12-19 2018-06-26 北京握奇智能科技有限公司 一种电子支付***及方法
CN106790527A (zh) * 2016-12-20 2017-05-31 张峰 账户信息处理方法、***和终端
CN106875179B (zh) * 2017-02-03 2020-12-08 杭州小步科技有限公司 一种离线二维码支付方法及其***
WO2018151953A1 (en) * 2017-02-15 2018-08-23 Mastercard International Incorporated Offline transaction system and method
US20180260795A1 (en) * 2017-03-13 2018-09-13 Mastercard International Incorporated Method and system for accessing locally stored digital funds
CN108460593B (zh) * 2017-11-01 2022-09-20 福建博思软件股份有限公司 一种离线二维码支付方法及装置
US10834269B2 (en) 2018-10-02 2020-11-10 International Business Machines Corporation Specialized secondary compartment in a mobile device
US11030610B2 (en) 2018-10-02 2021-06-08 International Business Machines Corporation Preauthorization of mobile payments expected in a reduced-functionality state
EP4239554A3 (en) * 2019-06-10 2023-11-01 Visa International Service Association System, method, and computer program product for exchanging transaction data
CN112241879A (zh) * 2019-07-17 2021-01-19 天地融科技股份有限公司 一种基于电子现金的脱机交易方法和***
CN110610367B (zh) * 2019-08-29 2023-09-05 深圳市元征科技股份有限公司 一种交易数据支付方法及装置、电子设备和服务器
JP6896813B2 (ja) 2019-08-30 2021-06-30 株式会社日立製作所 トランザクション実行方法およびシステム
JP7075917B2 (ja) * 2019-10-18 2022-05-26 真敬 森下 管理装置、管理プログラム、管理方法、端末装置、及び管理システム
CN110880106A (zh) * 2019-10-30 2020-03-13 支付宝(杭州)信息技术有限公司 双离线支付的实现方法和装置
SE1951426A1 (en) * 2019-12-11 2021-06-12 Trust Anchor Group Ipr Ab Method for performing an offline transaction
EP4097667A4 (en) * 2020-01-29 2024-02-28 Crunchfish Digital Cash AB METHOD, SYSTEM, DEVICES AND COMPUTER PROGRAM PRODUCTS FOR MANAGING DIGITAL PAYMENTS BETWEEN PAYERS AND BENEFICIARIES IN PHYSICAL PROXIMITY TO EACH OTHER
EP4292037A1 (en) * 2021-02-12 2023-12-20 Crunchfish Digital Cash AB Payment service provider interoperability for digital payments
SE2150228A1 (en) * 2021-02-12 2022-03-08 Crunchfish Digital Cash Ab Payment service provider interoperability for offline digital payments
WO2022216216A1 (en) * 2021-04-08 2022-10-13 Crunchfish Digital Cash Ab Method and system for offline electronic card payments
WO2022231471A1 (ru) * 2021-04-28 2022-11-03 Акционерное общество "Национальная система платежных карт" Система и способ для безналичного перевода чаевых объединенного с оплатой заказа
CN113850579A (zh) * 2021-09-27 2021-12-28 支付宝(杭州)信息技术有限公司 一种离线支付的授权、离线支付、收款方法及装置
FR3130055A1 (fr) * 2021-12-02 2023-06-09 Banks And Acquirers International Holding Procédé de réalisation d’une transaction, dispositifs et programmes correspondants.

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5694471A (en) * 1994-08-03 1997-12-02 V-One Corporation Counterfeit-proof identification card
JPH09185658A (ja) * 1995-12-27 1997-07-15 N T T Data Tsushin Kk 電子現金システム
JP4338901B2 (ja) * 2001-01-15 2009-10-07 株式会社エヌ・ティ・ティ・データ 移動体用情報伝達システム及び与信システム
US20030125012A1 (en) * 2001-12-28 2003-07-03 Allen Lee S. Micro-credit certificate for access to services on heterogeneous access networks
JP2004355486A (ja) * 2003-05-30 2004-12-16 Bank Of Tokyo-Mitsubishi Ltd 多機能icカード及びicカード端末
JP2004362332A (ja) * 2003-06-05 2004-12-24 Bank Of Tokyo-Mitsubishi Ltd Icカード決済システム
US7912789B2 (en) * 2004-07-22 2011-03-22 Panasonic Corporation Electronic value, electronic purse device, and system for using the same
US20070168260A1 (en) * 2005-09-30 2007-07-19 Mastercard International Incorporated Payment apparatus and method
US8117453B2 (en) * 2005-11-23 2012-02-14 Proton World International N.V. Customization of an electronic circuit
JP4923637B2 (ja) * 2006-03-08 2012-04-25 日本電気株式会社 電子決済システム、電子決済方法、電子決済プログラム及び記録媒体
JP2010026811A (ja) * 2008-07-18 2010-02-04 Fuji Electric Holdings Co Ltd Icカード・サービスシステム、そのサービス管理センタ、サービス端末、プログラム
US8341084B2 (en) * 2009-06-08 2012-12-25 Mastercard International Incorporated Method, apparatus, and computer program product for topping up prepaid payment cards for offline use
US9911154B2 (en) * 2010-07-08 2018-03-06 Mastercard International Incorporated Apparatus and method for dynamic offline balance management for preauthorized smart cards
US20130103523A1 (en) * 2011-10-24 2013-04-25 Aneto Pablo Okonkwo Transaction storage scheme for offline payment system
US20130185214A1 (en) * 2012-01-12 2013-07-18 Firethorn Mobile Inc. System and Method For Secure Offline Payment Transactions Using A Portable Computing Device
US8898088B2 (en) * 2012-02-29 2014-11-25 Google Inc. In-card access control and monotonic counters for offline payment processing system
JP2013186528A (ja) * 2012-03-06 2013-09-19 Toppan Printing Co Ltd 決済カード管理システム、決済カード管理方法
JP2013186529A (ja) * 2012-03-06 2013-09-19 Toppan Printing Co Ltd 決済カード管理システム、決済カード管理方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200003374A (ko) * 2017-08-22 2020-01-09 알리바바 그룹 홀딩 리미티드 오프라인 지불, 서비스 프로세싱, 및 지불 프로세싱을 위한 방법 및 장치
US11113697B2 (en) 2017-08-22 2021-09-07 Advanced New Technologies Co., Ltd. Method and apparatus for offline payment, service processing, and payment processing
US11836732B2 (en) 2017-08-22 2023-12-05 Advanced New Technologies Co., Ltd. Method and apparatus for offline payment, service processing, and payment processing

Also Published As

Publication number Publication date
EP3123426A4 (en) 2017-11-01
CN106133769A (zh) 2016-11-16
EP3123426A1 (en) 2017-02-01
AU2015235940A1 (en) 2016-09-01
WO2015148850A1 (en) 2015-10-01
AU2018201795A1 (en) 2018-04-05
JP2017513122A (ja) 2017-05-25
CA2943810A1 (en) 2015-10-01

Similar Documents

Publication Publication Date Title
KR20160135799A (ko) 보안 오프라인 지불 시스템
US11374943B2 (en) Secure interface using non-secure element processors
US20150278795A1 (en) Secure offline payment system
US11087297B1 (en) Systems and methods for financial operations performed at a contactless ATM
US20230289777A1 (en) Confirming Physical Possession of Plastic NFC Cards with a Mobile Digital Wallet Application
US20150278796A1 (en) Reserving account balance for concurrent payments in secure offline payment system
US10496982B2 (en) Secure contactless card emulation
US20190385160A1 (en) System and process for on-the-fly cardholder verification method selection
US10706400B1 (en) Systems and methods for financial operations performed at a contactless ATM
US10192214B2 (en) Pending deposit for payment processing system
US20160012430A1 (en) Hands-free offline communications
US20160371716A1 (en) Loyalty rewards in offline payment system
US9516006B2 (en) Re-programmable secure cryptographic device
US20160005023A1 (en) Conducting financial transactions by telephone
KR102270331B1 (ko) 보안 기능을 강화한 결제 서비스 방법과 시스템, 및 기록 매체

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
WITB Written withdrawal of application