KR102287558B1 - 안전한 오프라인 자원 동작들 - Google Patents

안전한 오프라인 자원 동작들 Download PDF

Info

Publication number
KR102287558B1
KR102287558B1 KR1020197021221A KR20197021221A KR102287558B1 KR 102287558 B1 KR102287558 B1 KR 102287558B1 KR 1020197021221 A KR1020197021221 A KR 1020197021221A KR 20197021221 A KR20197021221 A KR 20197021221A KR 102287558 B1 KR102287558 B1 KR 102287558B1
Authority
KR
South Korea
Prior art keywords
resource
information
public key
requestor
user
Prior art date
Application number
KR1020197021221A
Other languages
English (en)
Other versions
KR20190099036A (ko
Inventor
게 첸
레이 왕
링난 센
싱 첸
Original Assignee
어드밴스드 뉴 테크놀로지스 씨오., 엘티디.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. filed Critical 어드밴스드 뉴 테크놀로지스 씨오., 엘티디.
Publication of KR20190099036A publication Critical patent/KR20190099036A/ko
Application granted granted Critical
Publication of KR102287558B1 publication Critical patent/KR102287558B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06018Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking one-dimensional coding
    • G06K19/06028Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking one-dimensional coding using bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • 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/3274Short range or proximity payments by means of M-devices using a pictured code, e.g. barcode or QR-code, being displayed on the M-device
    • 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/3276Short range or proximity payments by means of M-devices using a pictured code, e.g. barcode or QR-code, being read by the M-device
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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
    • 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/3297Cryptographic 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 involving time stamps, e.g. generation of time stamps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Telephonic Communication Services (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Hardware Redundancy (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Computer And Data Communications (AREA)

Abstract

자원 동작과 연관된 정보는 자원 요청자에 의해 자원 제공자에게 송신된다. 자원 동작은 자원 서버 상에 저장된 자원과 연관된다. 자원 동작과 연관된 정보는 자원 요청자로부터 자원 제공자에 의해 수신된다. 자원 동작은 자원 제공자에 의해, 자원 서버로부터의 정보 대신에, 자원 요청자로부터의 수신된 정보에 기초하여 수행된다.

Description

안전한 오프라인 자원 동작들
본 출원은 2016년 12월 19일에 출원된 중국 출원 번호 제201611 175289.6호 및 2017년 12월 18일자에 출원된 미국 출원 번호 제15/845,422호를 우선권으로 주장하며, 이 출원들은 그 전체가 인용에 의해 포함된다.
사용자들에 의해 소유된 자원들은 자원 서버 상에 디지털로 저장될 수 있다. 일반적으로, 사용자가 자원 동작(resource operation)을 수행할 때(이를테면, 자원 서버에 또는 자원 서버로부터 일정량의 자원을 예치하거나 회수함), 자원 동작을 완료하기 위해서는 자원 서버가 온라인이 될 필요가 있다.
본 개시내용은 안전한(secure) 오프라인 자원 동작들을 설명한다.
일 구현에서, 자원 동작과 연관된 정보는 자원 요청자에 의해 자원 제공자에게 송신된다. 자원 동작은 자원 서버 상에 저장된 자원과 연관된다. 자원 동작과 연관된 정보는 자원 요청자로부터 자원 제공자에 의해 수신된다. 자원 동작은 자원 제공자에 의해, 자원 서버로부터의 정보 대신에, 자원 요청자로부터의 수신된 정보에 기초하여 수행된다.
이전에 설명된 구현을 포함하는 설명된 청구 대상의 구현들은, 컴퓨터-구현 방법; 컴퓨터-구현 방법을 수행하기 위한 컴퓨터-판독 가능 명령들을 저장하는 비-일시적인 컴퓨터-판독 가능 매체; 및 하나 이상의 컴퓨터들과 상호 동작 가능하게 커플링된 하나 이상의 컴퓨터 메모리 디바이스들을 포함하고, 하나 이상의 컴퓨터들에 의해 실행될 때 컴퓨터-구현 방법/비-일시적인 컴퓨터-판독 가능 매체 상에 저장된 컴퓨터-판독 가능 명령들을 수행하는 명령들을 저장한 유형의 비-일시적인 머신-판독 가능 매체를 갖는 컴퓨터-구현 시스템을 사용하여 구현될 수 있다.
본 명세서에 설명된 청구 대상은 다음의 이점들 중 하나 이상을 실현하기 위해 특정 구현들로서 구현될 수 있다. 첫째로, 설명된 접근법은 오프라인 자원 동작들을 가능하게 하는데(enable) 사용될 수 있다. 예를 들어, 사용자는 사용자 디바이스를 사용하여 오프라인 자원 동작을 수행하고자 한다(이를테면, 자원 서버가 오프라인일 때 자원 서버로부터 소정량의 자원을 회수함). 사용자 디바이스(즉, 자원 요청자)는 오프라인 자원 동작과 연관된 정보를 자원 제공자에게 송신할 수 있다. 자원 제공자는 정보를 수신하고, 자원 서버로부터 수신된 정보 대신에, 사용자 디바이스로부터 수신된 정보에 기초하여 오프라인 자원 동작을 수행한다. 둘째로, 설명된 접근법은 안전한 오프라인 자원 동작들을 제공할 수 있다. 사용자는 오프라인 자원 동작을 수행하기 위해 자원들을 전달(carry)하거나 자원들을 저장하는 저장 디바이스를 사용하는 대신, 사용자 디바이스를 사용하여 자원 동작과 연관된 정보를 송신할 수 있다. 그 결과, 설명된 접근법은 예를 들어, 저장 디바이스의 손실로 인한 자원 손실을 회피할 수 있다. 다른 이점들이 당업자에게 명백해질 것이다.
본 명세서의 청구 대상의 하나 이상의 구현들의 세부사항들은 상세한 설명, 청구항 및 첨부 도면들에서 기술된다. 청구 대상의 다른 특징들, 양상들 및 이점들은 상세한 설명, 청구항들 및 첨부 도면들로부터 당업자에게 명백해질 것이다.
도 1은 본 개시내용의 구현에 따른, 안전한 오프라인 자원 동작들을 위한 컴퓨터-구현 방법의 예를 예시하는 흐름도이다.
도 2는 본 개시내용의 구현에 따른, 안전한 오프라인 자원 동작들을 위한 컴퓨터-구현 방법의 다른 예를 예시하는 흐름도이다.
도 3은 본 개시내용의 구현에 따른, 안전한 오프라인 자원 동작들을 위한 컴퓨터-구현 방법의 제 3 예를 예시하는 흐름도이다.
도 4는 본 개시내용의 구현에 따라, 안전한 오프라인 자원 동작들을 위한 데이터 프로세싱 시스템의 예를 예시하는 블록도이다.
도 5는 본 개시내용의 구현에 따라, 설명된 알고리즘들, 방법들, 기능들, 프로세스들, 흐름들 및 절차들과 연관된 컴퓨테이셔널 기능성들(computational functionalities)을 제공하기 위해 사용되는 컴퓨터-구현 시스템의 예를 예시하는 블록도이다.
다양한 도면들 내의 유사한 참조 번호들 및 지정들은 유사한 엘리먼트들을 표시한다.
다음의 상세한 설명은 안전한 오프라인 자원 동작들을 설명하고, 임의의 당업자가 하나 이상의 특정 구현들의 맥락에서 개시된 청구 대상을 제조 및 이용하는 것을 가능하게 하도록 제시된다. 개시된 구현들의 다양한 수정들, 변경들 및 치환들이 이루어질 수 있고 당업자들에게 용이하게 명백해질 것이며, 정의된 일반적인 원리들은 본 개시내용의 범위를 벗어나지 않으면서 다른 구현들 및 애플리케이션들에 적용될 수 있다. 일부 경우들에서, 설명된 청구 대상을 이해하는 데 불필요하고 당업자의 기술 범위 내에 있는 하나 이상의 기술적 세부사항들은 하나 이상의 설명된 구현들을 모호하게 하지 않도록 생략될 수 있다. 본 개시내용은 설명되거나 예시된 구현들로 제한되도록 의도되는 것이 아니라, 설명된 원리들 및 특징들에 부합하는 가장 넓은 범위를 부여하려는 것이다.
사용자들에 의해 소유된 자원들은 자원 서버 상에 디지털로 저장될 수 있다. 사용자가 소정량의 자원을 자원 서버에 예치하거나 자원 서버로부터 회수하는 것은 사용자에 의해 소유되고 자원 서버 상에 저장된 자원의 양이 변경한다. 일반적으로, 사용자가 사용자 디바이스를 사용하여 자원 동작을 수행할 때(이를테면, 자원 서버에 또는 자원 서버로부터 일정량의 자원을 예치하거나 회수함), 자원 서버는 자원 동작을 완료하기 위해 온라인이 될 필요가 있다(이를테면, 자원 동작을 수행할 때 사용자 디바이스가 자원 서버에 연결됨). 그러나 오프라인 자원 동작의 경우(이를테면, 자원 서버가 오프라인일 때 자원들을 동작시킴), 저장 디바이스(이를테면, 자기 또는 반도체 매체)가 사용될 수 있다. 예를 들어, 자원 서버가 온라인일 때, 사용자는 자원 서버로부터 소정량의 자원들을 회수하고 저장 디바이스에 이 소정량의 자원을 저장할 수 있다. 저장 디바이스를 사용하여, 사용자는 자원 서버에 저장된 자원의 양을 수정하는 대신, 저장 디바이스에 저장된 자원 양을 수정함으로써 오프라인 자원 동작을 수행할 수 있다. 그러나 저장 디바이스가 손실되는 경우, 저장 디바이스에 저장되고 사용자에 의해 소유된 자원의 양이 손실된다.
높은 수준에서, 설명된 접근법은 오프라인에서 안전한 자원 동작들을 수행하는 메커니즘을 제공한다. 안전한 오프라인 자원 동작을 수행하고 완료하기 위해, 자원 요청자는 오프라인 자원 동작과 연관된 정보를 자원 제공자에게 송신한다. 자원 제공자는 정보를 수신하고, 자원 서버로부터의 정보 대신에, 자원 요청자로부터의 수신된 정보에 기초하여 오프라인 자원 동작을 수행한다. 자원 요청자로부터의 정보에 기초하여 자원 동작을 수행함으로써, 자원 동작과 연관된 자원을 저장하는 자원 서버는 자원 동작이 수행될 때 오프라인이 될 수 있다. 또한, 자원 요청자로부터의 수신된 정보에 기초하여 오프라인 자원 동작을 수행하는 것은 저장 디바이스를 사용하여 오프라인 자원 동작을 수행하는 것보다 더 안전하다.
도 1은 본 개시내용의 구현에 따른, 안전한 오프라인 자원 동작들을 위한 컴퓨터-구현 방법(100)의 예를 예시하는 흐름도이다. 설명을 명료하게 하기 위해, 이어지는 설명은 이 설명의 다른 도면들의 맥락에서 방법(100)을 일반적으로 설명한다. 그러나, 방법(100)은 예를 들어, 임의의 시스템, 환경, 소프트웨어 및 하드웨어, 또는 시스템들, 환경들, 소프트웨어 및 하드웨어의 조합에 의해 적절히 수행될 수 있다는 것이 이해될 것이다. 일부 구현들에서, 방법(100)의 다양한 단계들은 병렬로, 조합하여, 루프로, 또는 임의의 순서로 실행될 수 있다.
110에서, 자원 요청자는 자원 동작과 연관된 정보를 자원 제공자에게 송신한다. 자원 동작은 자원 서버 상에 저장된 자원과 연관된다. 자원은 할당 또는 소비될 수 있는 재료 또는 재료에 대한 권리를 포함한다. 예시 목적으로, 본 개시내용의 자원은 사용자가 택시, 버스, 지하철 또는 열차로 여행할 때의 게이트 통과 권리를 지칭한다. 예를 들어, 사용자가 지하철을 탈 때, 사용자는 (휴대 전화와 같은) 사용자 디바이스를 사용하여 (예를 들어, 지하철 역의 개찰구와 같은) 게이트 제어 머신에 게이트의 통과를 요청하는 메시지를 송신할 수 있다. 이 예에서, 사용자 디바이스는 자원 요청자이고, 게이트 제어 머신은 자원 제공자이고, 메시지는 자원 동작과 연관된 정보를 포함하고, 자원 동작은 지하철을 타는 사용자의 권리를 부여하는 것이다. 일부 구현들에서, 사용자가 게이트를 통과하도록 요청할 때, 자원 서버는 오프라인이다(이를테면, 사용자 디바이스는 자원 서버에 연결되지 않고 게이트 제어 머신은 자원 서버에 연결되지 않음). 일반적으로, 사용자는 사용자 디바이스의 법적 소유자이다. 사용자는 사용자 디바이스의 메시지 기능 또는 사용자 디바이스 상에 설치된 애플리케이션을 사용하여 메시지를 송신할 수 있다.
일부 구현들에서, 정보는 자원 요청자에 의해 생성된, 자원 동작과 연관된 인가 정보를 포함한다. 일부 구현들에서, 인가 정보는 사용자의 식별 정보(이를테면, 휴대 전화번호, 사용자 디바이스 상에 설치된 애플리케이션에 등록된 계정 번호, 사용자 ID 번호) 또는 (이를테면, 인가 정보가 생성될 때) 인가 정보의 타임 스탬프 중 적어도 하나를 포함한다. 인가 정보는 자원 동작을 수행할 때 보안을 제공할 수 있다. 예를 들어, 자원 동작이 사용자에 의해 인가되지 않은 경우, 사용자는 자원 동작이 사용자에 의해 인가되지 않았음을 증명하기 위해 인가 시에 알리바이(alibi)를 제출할 수 있다.
일부 구현들에서, 오프라인 자원 동작들의 남용을 방지하기 위해, 정보는 검증 정보를 포함할 수 있다. 검증 정보는 제 3 자(이를테면, 자원 서버)로부터 수신된다. 예를 들어, 자원 동작과 연관된 정보를 자원 제공자에게 송신하기 전에, 자원 요청자는 자원 서버로부터 검증 정보를 수신한다. 일부 구현들에서, 검증 정보는 자원 서버 상에 사용자가 가진 실제 잔고 또는 크레디트 잔고(credit balance)를 포함한다. 일부 구현들에서, 자원 동작과 연관된 정보를 자원 제공자에게 송신하기 전에, 자원 요청자는 마지막으로 수신된 검증 정보의 타임 스탬프를 결정한다. 현재 시간이 미리 정의된 시구간(예를 들어, 1일) 만큼 타임 스탬프에 의해 표현된 시간을 초과하는 경우, 자원 요청자는 자원 서버로부터 검증 정보를 재차 요청한다. 요청에 대한 응답으로, 자원 서버는, 자원 요청자가 미리 정해진 수를 초과하는 실제 잔고 또는 크레디트 잔고를 갖는 경우, 요청된 검증 정보를 자원 요청자에 송신한다. 자원 요청자가 미리 정의된 수보다 이하의 실제 잔고 또는 크레디트 잔고를 갖는 경우, 자원 서버는 자원 요청자에게 검증 정보 장애를 송신한다.
일부 구현들에서, 자원 요청자는 인가 정보 또는 검증 정보 중 적어도 하나에 기초하여 이미지 패턴을 생성할 수 있다. 자원 동작과 연관된 정보를 자원 제공자에게 송신하는 대신에, 자원 요청자는 예를 들어, 코드 판독기를 사용하여 자원 제공자가 판독할 이미지 패턴을 디스플레이할 수 있다. 일부 구현들에서, 이미지 패턴은 바코드 또는 QR 코드 중 적어도 하나를 포함한다. 110로부터, 방법(100)은 120으로 진행된다.
120에서, 자원 제공자는 자원 요청자로부터 자원 동작과 연관된 정보를 수신한다. 자원 제공자(이를테면, 게이트 제어 머신)는 상인(이를테면, 게이트 제어 머신을 관리하고 유지하는 회사)에 의해 운영된다. 예를 들어, 게이트 제어 머신은 정보를 수신하는 수신기를 포함한다. 수신기는 무선 통신 유닛, 카메라 또는 코드 판독기일 수 있다. 110로부터, 방법(100)은 130으로 진행된다.
130에서, 자원 제공자는 자원 서버로부터의 정보 대신에, 자원 요청자로부터의 수신된 정보에 기초하여 자원 동작을 수행한다. 예를 들어, 사용자 디바이스로부터 인가 정보를 수신할 때, 게이트 제어 머신의 상인은 사용자 디바이스의 법적인 사용자가 게이트를 통과할 수 있게 한다. 즉, 게이트 제어 머신은 사용자 디바이스로부터 수신된 정보에 기초하여 게이트 통과 권리를 할당한다. 일부 구현들에서, 자원 제공자는 검증 정보에 기초하여 자원 동작을 수행한다. 자원 요청자가 자원 제공자에게 검증 정보를 송신하지 못하는 경우(이를테면, 자원 서버가 자원 요청자에게 검증 정보 장애를 송신함), 자원 제공자는 자원 동작을 수행하지 않을 것이다. 일부 구현들에서, 130 후에, 자원 제공자는 자원 동작과 연관된 동작 결과를 자원 요청자에게 송신한다. 130 후에, 방법(100)이 중지된다.
도 2는 본 개시내용의 구현에 따른, 안전한 오프라인 자원 동작들을 위한 컴퓨터-구현 방법의 다른 예(200)를 예시하는 흐름도이다. 설명을 명료하게 하기 위해, 이어지는 설명은 이 설명의 다른 도면들의 맥락에서 방법(200)을 일반적으로 설명한다. 그러나, 방법(200)은 예를 들어, 임의의 시스템, 환경, 소프트웨어 및 하드웨어, 또는 시스템들, 환경들, 소프트웨어 및 하드웨어의 조합에 의해 적절히 수행될 수 있다는 것이 이해될 것이다. 일부 구현들에서, 방법(200)의 다양한 단계들은 병렬로, 조합하여, 루프로, 또는 임의의 순서로 실행될 수 있다.
단계(210)에서, 자원 요청자는 제 1 개인 키를 사용하여 자원 동작과 연관된 정보를 암호화한다. 자원 동작은 자원 서버 상에 저장된 자원과 연관된다. 프라이버시(privacy)를 보호하기 위해, 자원 동작과 연관된 정보는 제 1 개인 키로 암호화된다. 암호화된 정보는 제 1 공개 키를 사용해서만 복호화될 수 있다. 제 1 개인 키 및 제 1 공개 키는 비대칭이고 상호 매칭되는 키들의 제 1 쌍이다. ELGAMAL, KNAPSACK, RABIN, D-H 및 ECC(elliptic curve cryptography)를 포함하는 알고리즘을 사용하여 한 쌍의 비대칭 및 상호 매칭된 키들이 생성될 수 있다. 일부 구현들에서, 제 1 개인 키 및 제 1 공개 키는 제 3 자 디바이스(이를테면, 자원 서버)에 의해 생성된다. 예를 들어, 자원 서버는 각각 자원 요청자 및 자원 제공자에게 제 1 개인 키 및 제 1 공개 키를 송신한다. 일부 구현들에서, 제 1 개인 키 및 제 1 공개 키가 미리 정의된 시구간(예를 들어, 1일)을 초과하여 사용된 경우, 자원 서버는 (예를 들어, 새로운 개인 및 공개 키 쌍을 생성함으로써) 제 1 개인 키 및 제 1 공개 키를 업데이트할 수 있다. 210으로부터, 방법(200)은 220으로 진행된다.
220에서, 자원 요청자는 자원 동작과 연관된 암호화된 정보를 자원 제공자에게 송신한다. 일부 구현들에서, 자원 서버는, 자원 동작을 수행할 때 오프라인이다(이를테면, 자원 요청자는 자원 서버에 연결되지 않고, 자원 제공자는 자원 서버에 연결되지 않음).
일부 구현들에서, 정보는 자원 요청자에 의해 생성된, 자원 동작과 연관된 인가 정보를 포함한다. 일부 구현들에서, 인가 정보는 사용자의 식별 정보(이를테면, 휴대 전화번호, 사용자 디바이스 상에 설치된 애플리케이션에 등록된 계정 번호, 사용자 ID 번호) 또는 (이를테면, 인가 정보가 생성될 때) 인가 정보의 타임 스탬프 중 적어도 하나를 포함한다. 인가 정보는 자원 동작을 수행할 때 보안을 제공할 수 있다. 예를 들어, 자원 동작이 사용자에 의해 인가되지 않은 경우, 사용자는 자원 동작이 사용자에 의해 인가되지 않았음을 증명하기 위해 인가 시에 알리바이(alibi)를 제출할 수 있다.
일부 구현들에서, 오프라인 자원 동작들의 남용을 방지하기 위해, 정보는 검증 정보를 포함할 수 있다. 검증 정보는 제 3 자 디바이스(이를테면, 자원 서버)로부터 수신된다. 예를 들어, 자원 동작과 연관된 정보를 자원 제공자에게 송신하기 전에, 자원 요청자는 자원 서버로부터 검증 정보를 수신한다. 일부 구현들에서, 검증 정보는 자원 서버 상에 사용자가 가진 실제 잔고 또는 크레디트 잔고를 포함한다. 일부 구현들에서, 자원 동작과 연관된 정보를 자원 제공자에게 송신하기 전에, 자원 요청자는 마지막으로 수신된 검증 정보의 타임 스탬프를 결정한다. 현재 시간이 미리 정의된 시구간(예를 들어, 1일) 만큼 타임 스탬프에 의해 표현된 시간을 초과하는 경우, 자원 요청자는 자원 서버로부터 다른 검증 정보를 요청한다. 요청에 대한 응답으로, 자원 서버는, 자원 요청자가 미리 정해진 수를 초과하는 실제 잔고 또는 크레디트 잔고를 갖는 경우, 다른 검증 정보를 자원 요청자에 송신한다. 자원 요청자가 미리 정의된 수보다 이하의 실제 잔고 또는 크레디트 잔고를 갖는 경우, 자원 서버는 자원 요청자에게 검증 정보 장애를 송신한다. 220으로부터, 방법(100)은 230으로 진행된다.
230에서, 자원 제공자는 자원 요청자로부터 자원 동작과 연관된 암호화된 정보를 수신한다. 자원 제공자는 정보를 수신하는 수신자를 포함한다. 수신기는 무선 통신 유닛, 카메라 또는 코드 판독기일 수 있다. 230으로부터, 방법(200)은 240으로 진행된다.
240에서, 자원 제공자는 제 1 공개 키를 사용하여 자원 동작과 연관된 수신된 암호화된 정보를 복호화하여 자원 동작과 연관된 정보를 획득한다. 일부 구현들에서, 제 1 공개 키는 제 2 개인 키를 사용하여 암호화된다. 암호화된 제 1 공개 키는 제 2 공개 키를 사용해서만 복호화될 수 있다. 제 2 개인 키 및 제 2 공개 키는 RSA, ELGAMAL, KNAPSACK 알고리즘, RABIN, D-H 및 ECC(elliptic curve cryptography)를 포함하는 알고리즘을 사용하여 생성되는, 비대칭 및 상호 매칭된 키들의 제 2 쌍이다. 일부 구현들에서, 제 2 개인 키 및 제 2 공개 키는 제 3 자 디바이스(이를테면, 자원 서버)에 의해 생성된다. 예를 들어, 자원 서버는 자원 요청자에게 제 1 개인 키 및 암호화된 제 1 공개 키를 송신한다. 자원 요청자는 암호화된 제 1 공개 키를 자원 요청자로 송신한다. 또한, 자원 서버는 제 2 공개 키를 자원 제공자에게 송신한다. 그 결과, 자원 제공자는 제 1 공개 키를 획득하기 위해 제 2 공개 키를 사용하여 암호화된 제 1 공개 키를 복호화할 수 있다. 일부 구현들에서, 제 2 개인 키 및 제 2 공개 키가 미리 정의된 시구간(예를 들어, 1일)을 초과하여 사용된 경우, 자원 서버는 (예를 들어, 새로운 개인 및 공개 키 쌍을 생성함으로써) 제 2 개인 키 및 제 2 공개 키를 업데이트할 수 있다. 240으로부터, 방법(200)은 250으로 진행된다.
250에서, 자원 제공자는 자원 서버로부터의 정보 대신에, 자원 요청자로부터의 정보에 기초하여 자원 동작을 수행한다. 예를 들어, 사용자 디바이스로부터 인가 정보를 수신할 때, 게이트 제어 머신의 상인은 사용자 디바이스의 법적인 사용자가 게이트를 통과할 수 있게 한다. 즉, 게이트 제어 머신은 사용자 디바이스로부터 수신된 정보에 기초하여 게이트 통과 권리를 할당한다. 일부 구현들에서, 자원 제공자는 검증 정보에 기초하여 자원 동작을 수행한다. 자원 요청자가 자원 제공자에게 검증 정보를 송신하지 못하는 경우(이를테면, 자원 서버가 자원 요청자에게 검증 정보 장애를 송신함), 자원 제공자는 자원 동작을 수행하지 않을 것이다. 일부 구현들에서, 250 후에, 자원 제공자는 자원 동작과 연관된 동작 결과를 자원 요청자에게 송신한다. 250 후에, 방법(200)이 중지된다.
도 3은 본 개시내용의 구현에 따른, 안전한 오프라인 자원 동작들을 위한 컴퓨터-구현 방법의 제 3 예(300)를 예시하는 흐름도이다. 설명을 명료하게 하기 위해, 이어지는 설명은 이 설명의 다른 도면들의 맥락에서 방법(300)을 일반적으로 설명한다. 그러나, 방법(300)은 예를 들어, 임의의 시스템, 환경, 소프트웨어 및 하드웨어, 또는 시스템들, 환경들, 소프트웨어 및 하드웨어의 조합에 의해 적절히 수행될 수 있다는 것이 이해될 것이다. 일부 구현들에서, 방법(300)의 다양한 단계들은 병렬로, 조합하여, 루프로, 또는 임의의 순서로 실행될 수 있다.
310에서, 자원 요청자는 자원 동작과 연관된 암호화된 정보를 자원 제공자에게 송신한다. 자원 동작은 자원 서버 상에 저장된 자원과 연관된다. 자원 동작과 연관된 정보는 예를 들어, 제 2 개인 키를 사용하여 자원 서버에 의해 암호화된다. 암호화된 정보는 제 2 공개 키를 사용해서만 복호화될 수 있다. 제 2 개인 키 및 제 2 공개 키는 RSA, ELGAMAL, KNAPSACK 알고리즘, RABIN, D-H 및 ECC(elliptic curve cryptography)를 포함하는 알고리즘을 사용하여 생성되는, 비대칭 및 상호 매칭된 키들의 제 2 쌍이다. 일부 구현들에서, 제 2 개인 키 및 제 2 공개 키는 제 3 자 디바이스(이를테면, 자원 서버)에 의해 생성된다. 일부 구현들에서, 제 2 개인 키 및 제 2 공개 키가 미리 정의된 시구간(예를 들어, 1일)을 초과하여 사용된 경우, 자원 서버는 (예를 들어, 새로운 개인 및 공개 키 쌍을 생성함으로써) 제 2 개인 키 및 제 2 공개 키를 업데이트할 수 있다. 일부 구현들에서, 정보는 검증 정보를 포함한다. 검증 정보는 자원 서버 상에 자원 요청자가 가진 실제 잔고 또는 크레디트 잔고를 포함한다. 310로부터, 방법(300)은 320으로 진행된다.
320에서, 자원 제공자는 자원 요청자로부터 자원 동작과 연관된 암호화된 정보를 수신한다. 자원 제공자는 정보를 수신하는 수신자를 포함한다. 수신기는 무선 통신 유닛, 카메라 또는 코드 판독기일 수 있다. 320로부터, 방법(300)은 330으로 진행된다.
330에서, 자원 제공자는 제 2 공개 키를 사용하여 자원 동작과 연관된 수신된 암호화된 정보를 복호화하여 자원 동작과 연관된 정보를 획득한다. 일부 구현들에서, 자원 제공자는 제 3 자 디바이스(이를테면, 자원 서버)로부터 제 2 공개 키를 수신한다. 330로부터, 방법(300)은 340으로 진행된다.
340에서, 자원 제공자는 자원 요청자로부터 수신된 자원 동작과 연관된 정보에 기초하여 자원 동작을 수행한다. 일부 구현들에서, 자원 제공자는 수신된 검증 정보에 기초하여 자원 동작을 수행한다. 자원 요청자가 자원 제공자에게 검증 정보를 송신하지 못하는 경우(이를테면, 자원 요청자는 자원 서버 상에 미리 정의된 수 이하의 실제 잔고 또는 크레디트 잔고를 가짐), 자원 제공자는 자원 동작을 수행하지 않을 것이다.
일부 구현들에서, 340 후에, 자원 제공자는 자원 동작과 연관된 동작 결과를 자원 요청자에게 송신한다. 일부 구현들에서, 자원 제공자는 미리 정의된 기간(예컨대, 1일) 내에 자원 동작 결과들을 집계한다. 예를 들어, 1000 명의 사람들이 통과할 수 있게 한 후에, 게이트 제어 머신(즉, 자원 제공자)은 예를 들어 제 2 공개 키를 사용하여 자원 동작 결과들(즉, 1000 명의 사람들이 게이트를 통과함)을 암호화한다. 자원 제공자는 암호화된 자원 동작 결과들을 자원 서버로 송신한다. 암호화된 자원 동작 결과들을 수신한 후, 자원 서버는 예를 들어, 제 2 개인 키를 사용하여 암호화된 자원 동작 결과들을 복호화하여 자원 동작 결과들을 획득한다. 자원 동작 결과들에 기초하여, 자원 서버는 게이트 제어 머신을 관리하고 유지하는 상인게게 비용을 지불하고, 자원 동작 결과들과 연관된 대응하는 계좌로부터 대응하는 금액들을 공제한다. 340 후에, 방법(300)이 중지된다.
도 4는 본 개시내용의 구현에 따라, 안전한 오프라인 자원 동작들을 위한 데이터 프로세싱 시스템(400)의 예를 예시하는 블록도이다. 설명을 명료하게 하기 위해, 이어지는 설명은 이 설명의 다른 도면들의 맥락에서 시스템(400)을 일반적으로 설명한다. 시스템(400)은 트랜시버 유닛(402), 동작 유닛(404), 키 생성 유닛(406), 암호화 유닛(408), 코딩 유닛(410), 복호화 유닛(412), 컴퓨팅 유닛(414), 생성 유닛(416) 및 검증 유닛(418)을 포함할 수 있으며, 이들은 하드웨어, 소프트웨어 또는 둘 모두로 구현될 수 있다. 일부 구현들에서, 시스템(400)은 블록도에 도시되지 않은 부가적인 또는 상이한(또는 이 둘의 결합) 컴포넌트들을 포함할 수 있다. 일부 구현들에서, 컴포넌트들은 또한 시스템(400)으로부터 생략될 수 있다.
트랜시버 유닛(402)은 예를 들어, 도 1 내지 도 3에서 논의된 바와 같이, 인가 정보, 검증 정보, 개인 키 또는 공개 키를 송신 또는 수신할 수 있다. 동작 유닛(404)은 예를 들어, 도 1 내지 도 3에서 논의된 바와 같은 자원 동작을 수행할 수 있다. 키 생성 유닛(406)은 예를 들어, 도 2 및 도 3에서 논의된 바와 같이 한 쌍의 개인 키 및 공개 키를 생성할 수 있다. 암호화 유닛(408)은 예를 들어, 도 2 및 도 3에서 논의된 바와 같이, 개인 키 또는 공개 키를 사용하여 정보를 암호화할 수 있다. 코딩 유닛(410)은, 예를 들어, 도 1에서 논의된 바와 같이 이미지 패턴을 생성할 수 있다. 복호화 유닛(412)은 예를 들어, 도 2 및 도 3에서 논의된 바와 같이 개인 키 또는 공개 키를 사용하여 암호화된 정보를 복호화할 수 있다. 컴퓨팅 유닛(414)은 예를 들어, 도 3에서 논의된 바와 같이 미리 정의된 기간의 자원 동작 결과들을 집계할 수 있다. 생성 유닛(416)은, 예를 들어, 도 1 및 도 2에서 논의된 바와 같이 인가 정보를 생성할 수 있다. 검증 유닛(418)은 예를 들어, 도 1 내지 도 3에서 논의된 바와 같이, 검증 정보를 생성할 수 있다.
도 5는 본 개시내용의 구현에 따라, 설명된 알고리즘들, 방법들, 기능들, 프로세스들, 흐름들 및 절차들과 연관된 컴퓨테이셔널 기능성들을 제공하기 위해 사용되는 컴퓨터-구현 시스템(500)의 예를 예시하는 블록도이다. 예시된 구현에서, 시스템(500)은 컴퓨터(502) 및 네트워크(530)를 포함한다.
예시된 컴퓨터(502)는, 임의의 컴퓨팅 디바이스, 이를테면, 서버, 데스크톱 컴퓨터, 랩톱/노트북 컴퓨터, 무선 데이터 포트, 스마트 폰, PDA(personal data assistant), 태블릿 컴퓨터, 이들 디바이스 내의 하나 이상의 프로세서들, 다른 컴퓨팅 디바이스, 또는 컴퓨팅 디바이스의 물리적 또는 가상 인스턴스들을 포함하는 컴퓨팅 디바이스들의 조합, 또는 컴퓨팅 디바이스의 물리적 또는 가상 인스턴스들의 조합을 포괄하도록 의도된다. 부가적으로, 컴퓨터(502)는, 키패드, 키보드, 터치스크린, 다른 입력 디바이스 또는 사용자 정보를 수신할 수 있는 입력 디바이스들의 조합과 같은 입력 디바이스, 및 그래픽-유형 사용자 인터페이스(UI)(또는 GUI) 또는 다른 UI 상에서, 디지털 데이터, 시각적, 오디오, 다른 유형의 정보, 또는 정보의 유형들의 조합을 포함하는, 컴퓨터(502)의 동작과 연관된 정보를 전달하는 출력 디바이스를 포함할 수 있다.
컴퓨터(502)는 분산된 컴퓨팅 시스템에서, 클라이언트, 네트워크 컴포넌트, 서버, 데이터베이스 또는 다른 지속적인 것(persistency)으로서 역할, 다른 역할, 또는 본 개시내용에서 설명된 청구 대상을 수행하기 위한 역할들의 조합으로서 역할을 할 수 있다. 예시된 컴퓨터(502)는 네트워크(530)와 통신 가능하게 커플링된다. 일부 구현들에서, 컴퓨터(502)의 하나 이상의 컴포넌트들은 클라우드-컴퓨팅-기반, 로컬, 글로벌, 다른 환경, 또는 환경들의 조합을 포함하는 환경 내에서 동작하도록 구성될 수 있다.
높은 레벨에서, 컴퓨터(502)는 설명된 청구 대상과 연관된 데이터 및 정보를 수신, 송신, 프로세싱, 저장 또는 관리하도록 동작 가능한 전자 컴퓨팅 디바이스이다. 일부 구현들에 따라, 컴퓨터(502)는 또한, 애플리케이션 서버, 이메일 서버, 웹 서버, 캐싱 서버, 스트리밍 데이터 서버, 다른 서버 또는 서버들의 조합을 포함하는 서버를 포함하거나 이와 통신 가능하게 커플링될 수 있다.
컴퓨터(502)는 (예를 들어, 다른 컴퓨터(502) 상에서 실행중인 클라이언트 소프트웨어 애플리케이션으로부터) 네트워크(530)를 통해 요청들을 수신하고, 소프트웨어 애플리케이션 또는 소프트웨어 애플리케이션의 조합을 사용하여 수신된 요청들을 프로세싱함으로써 수신된 요청들에 응답할 수 있다. 게다가, 요청들은 또한 내부 사용자들(예를 들어, 커맨드 콘솔로부터 또는 다른 내부 액세스 방법에 의해), 외부 또는 제 3 자들, 또는 다른 엔티티들, 개인들, 시스템들 또는 컴퓨터들로부터 컴퓨터(502)로 전송될 수 있다.
컴퓨터(502)의 컴포넌트들 각각은 시스템 버스(503)를 사용하여 통신할 수 있다. 일부 구현들에서, 하드웨어, 소프트웨어, 또는 하드웨어 및 소프트웨어의 조합을 포함하는 컴퓨터(502)의 컴포넌트들 중 일부 또는 전부는 애플리케이션 프로그래밍 인터페이스(API)(512), 서비스 계층(513) 또는 API(512) 및 서비스 계층(513)의 조합을 사용하여 시스템 버스(503)를 통해 인터페이싱할 수 있다. API(512)는 루틴들, 데이터 구조들 및 객체 클래스들에 대한 규격들을 포함할 수 있다. API(512)는 컴퓨터-언어 독립형 또는 의존형일 수 있고, 완전한 인터페이스, 단일 기능 또는 심지어 API들의 세트를 지칭할 수 있다. 서비스 계층(513)은 컴퓨터(502) 또는 컴퓨터(502)에 통신 가능하게 커플링된 다른 컴포넌트들(예시되든 예시되지 않든 간에)에 소프트웨어 서비스들을 제공한다. 컴퓨터(502)의 기능성은 서비스 계층(513)을 사용하는 모든 서비스 소비자들이 액세스 가능할 수 있다. 서비스 계층들(513)에 의해 제공되는 것들과 같은 소프트웨어 서비스들은 정의된 인터페이스를 통해 재사용 가능한 정의된 기능성들을 제공한다. 예를 들어, 인터페이스는 JAVA, C++, 다른 컴퓨팅 언어, 또는 XML(extensible markup language) 포맷, 다른 포맷 또는 포맷들의 조합의 데이터를 제공하는 컴퓨팅 언어들의 조합으로 작성된 소프트웨어일 수 있다. 컴퓨터(502)의 통합된 컴포넌트로서 예시되지만, 대안적인 구현들은 컴퓨터(502)의 다른 컴포넌트들 또는 컴퓨터(502)에 통신 가능하게 커플링된 다른 컴포넌트들(예시되든 예시되지 않든 간에)과 관련하여 자립형 컴포넌트들로서 API(512) 또는 서비스 계층(513)을 예시한다. 또한, API(512) 또는 서비스 계층(513)의 임의의 또는 모든 부분들은 본 개시내용의 범위를 벗어나지 않고 다른 소프트웨어 모듈, 엔터프라이즈 애플리케이션(enterprise application) 또는 하드웨어 모듈의 차일드(child) 또는 서브-모듈로서 구현될 수 있다.
컴퓨터(502)는 인터페이스(504)를 포함한다. 단일 인터페이스(504)로서 예시되지만, 특정 요구들, 바램들 또는 컴퓨터(502)의 특정 구현들에 따라 둘 이상의 인터페이스들(504)이 사용될 수 있다. 인터페이스(504)는 컴퓨터(502)에 의해, 분산된 환경에서 네트워크(530)에 통신 가능하게 링크된 다른 컴퓨팅 시스템(예시되든 예시되지 않든 간에)과 통신하기 위해 사용된다. 일반적으로, 인터페이스(504)는 네트워크(530)와 통신하도록 동작 가능하고, 소프트웨어, 하드웨어, 또는 소프트웨어 및 하드웨어의 조합으로 인코딩된 로직(logic)을 포함한다. 보다 구체적으로, 인터페이스(504)는 네트워크(530) 또는 인터페이스(504)의 하드웨어가 예시된 컴퓨터(502) 내에서 그리고 그 외부에서 물리적 신호들을 통신하게 동작 가능하도록 통신들과 연관된 하나 이상의 통신 프로토콜들을 지원하는 소프트웨어를 포함할 수 있다.
컴퓨터(502)는 프로세서(505)를 포함한다. 단일 프로세서(505)로서 예시되지만, 특정 요구들, 바램들 또는 컴퓨터(502)의 특정 구현들에 따라 둘 이상의 프로세서들(505)이 사용될 수 있다. 일반적으로, 프로세서(505)는 본 개시내용에서 설명된 바와 같은 컴퓨터(502)의 동작들 및 임의의 알고리즘들, 방법들, 기능들, 프로세스들, 흐름들 및 절차들을 수행하도록 명령들을 실행하고 데이터를 조작한다.
컴퓨터(502)는 또한, 컴퓨터(502), 네트워크(530)에 통신 가능하게 링크된 다른 컴포넌트(예시되든 예시되지 않든 간에), 또는 컴퓨터(502) 및 다른 컴포넌트의 조합에 대한 데이터를 보유할 수 있는 데이터베이스(506)를 포함한다. 예를 들어, 데이터베이스(506)는 본 개시내용과 부합하는 데이터를 저장하는 인-메모리(in-memory), 종래의 또는 다른 유형의 데이터베이스일 수 있다. 일부 구현들에서, 데이터베이스(506)는 특정 요구들, 바램들 또는 컴퓨터(502)의 특정 구현들 및 설명된 기능성에 따라, 둘 이상의 상이한 데이터베이스 유형들(예를 들어, 하이브리드 인-메모리 및 종래의 데이터베이스)의 조합일 수 있다. 단일 데이터베이스(506)로서 예시되지만, 특정 요구들, 바램들 또는 컴퓨터(502) 및 설명된 기능성의 특정 구현들에 따라 유사하거나 상이한 유형들의 둘 이상의 데이터베이스들이 사용될 수 있다. 데이터베이스(506)가 컴퓨터(502)의 통합 컴포넌트로서 예시되지만, 대안적인 구현들에서, 데이터베이스(506)는 컴퓨터(502) 외부에 있을 수 있다.
컴퓨터(502)는 또한 컴퓨터(502), 네트워크(530)에 통신 가능하게 링크된 다른 컴포넌트 또는 컴포넌트들(예시되든 예시되지 않든 간에), 또는 컴퓨터(502) 및 다른 컴포넌트의 조합에 대한 데이터를 보유할 수 있는 메모리(507)를 포함한다. 메모리(507)는 본 개시내용과 부합하는 임의의 데이터를 저장할 수 있다 일부 구현들에서, 메모리(507)는 특정 요구들, 바램들 또는 컴퓨터(502)의 특정 구현들 및 설명된 기능성에 따라, 둘 이상의 상이한 유형의 메모리의 조합(예를 들어, 반도체 및 자기 스토리지의 조합)일 수 있다. 단일 메모리(507)로서 예시되지만, 특정 요구들, 바램들 또는 컴퓨터(502) 및 설명된 기능성의 특정 구현들에 따라 유사하거나 상이한 유형들의 둘 이상의 메모리들(507)이 사용될 수 있다. 메모리(507)가 컴퓨터(502)의 통합 컴포넌트로서 예시되지만, 대안적인 구현들에서, 메모리(507)는 컴퓨터(502) 외부에 있을 수 있다.
애플리케이션(508)은 특히, 본 개시내용에 설명된 기능성과 관련하여 특정 요구들, 바램들 또는 컴퓨터(502)의 특정 구현들에 따른 기능성을 제공하는 알고리즘 소프트웨어 엔진이다. 예를 들어, 애플리케이션(508)은 하나 이상의 컴포넌트들, 모듈들 또는 애플리케이션들로서 역할을 할 수 있다. 또한, 단일 애플리케이션(508)으로서 예시되지만, 애플리케이션(508)은 컴퓨터(502) 상에서 다수의 애플리케이션들(508)로서 구현될 수 있다. 게다가, 컴퓨터(502)와 일체형인 것으로서 예시되지만, 대안적인 구현들에서, 애플리케이션(508)은 컴퓨터(502) 외부에 있을 수 있다.
컴퓨터(502)는 또한 전력 공급기(514)를 포함할 수 있다. 전력 공급기(514)는 사용자-교체 가능 또는 사용자-교체 불가능하도록 구성될 수 있는 재충전 가능 또는 재충전 불가능 배터리를 포함할 수 있다. 일부 구현들에서, 전력 공급기(514)는 (재충전, 대기 또는 다른 전력 관리 기능성을 포함하는) 전력-변환 또는 관리 회로들을 포함할 수 있다. 일부 구현들에서, 전력 공급기(514)는 예를 들어, 컴퓨터(502)에 전력을 공급하거나 재충전 가능 배터리를 재충전하기 위해 컴퓨터(502)가 벽 소켓 또는 다른 전원에 플러깅될 수 있게 하기 위한 전력 플러그를 포함할 수 있다.
컴퓨터(502)를 포함하는 컴퓨터 시스템과 연관되거나 그의 외부에 있는 임의의 수의 컴퓨터들(502)(각각의 컴퓨터(502)는 네트워크(530)를 통해 통신함)이 존재할 수 있다. 또한, 용어 "클라이언트", "사용자", 또는 다른 적절한 용어는 본 개시내용의 범위를 벗어나지 않고 적절히 상호 교환 가능하게 사용될 수 있다. 또한, 본 개시내용은 다수의 사용자들이 하나의 컴퓨터(502)를 사용할 수 있거나 한 사용자가 다수의 컴퓨터들(502)을 사용할 수 있다는 것을 고려한다.
청구 대상의 설명된 구현들은 하나 이상의 특징들을 단독으로 또는 조합하여 포함할 수 있다.
예를 들어, 제 1 구현에서, 컴퓨터 구현 방법은, 자원 요청자에 의해 자원 제공자에게, 자원 동작(resource operation)과 연관된 정보를 송신하는 단계 ― 자원 동작은 자원 서버 상에 저장된 자원과 연관됨 ― ; 자원 제공자에 의해 자원 요청자로부터, 자원 동작과 연관된 정보를 수신하는 단계; 및 자원 제공자에 의해, 자원 서버로부터의 정보 대신에, 자원 요청자로부터의 수신된 정보에 기초하여 자원 동작을 수행하는 단계를 포함한다.
상기 및 다른 설명된 구현들은 각각, 다음의 특징들 중 하나 이상을 선택적으로 포함할 수 있다:
다음의 특징들 중 임의의 것과 결합 가능한 제 1 특징에 있어서, 자원 동작과 연관된 정보는 자원 요청자에 의해 생성된 인가 정보 또는 자원 서버에 의해 생성된 검증 정보 중 적어도 하나를 포함한다.
이전의 또는 다음의 특징들 중 임의의 것과 결합 가능한 제 2 특징에 있어서, 인가 정보는 자원 제공자에게 송신되기 전에 제 1 개인 키를 이용하여 자원 요청자에 의해 암호화되고, 수신된 인가 정보는 자원 동작을 수행하기 전에 제 1 공개 키를 사용하여 자원 제공자에 의해 복호화되고, 제 1 개인 키 및 제 1 공개 키는 비대칭이고 상호 매칭되는 키들의 제 1 쌍이다.
이전의 또는 다음의 특징들 중 임의의 것과 결합 가능한 제 3 특징에 있어서, 인가 정보는 자원 요청자의 사용자 식별 정보 및 인가 정보와 연관된 타임 스탬프(time stamp) 중 적어도 하나를 포함한다.
이전의 또는 다음의 특징들 중 임의의 것과 결합 가능한 제 4 특징에 있어서, 자원 요청자에 의해, 제 2 개인 키를 사용하여 제 1 공개 키를 암호화하는 단계; 자원 요청자에 의해 자원 제공자에게, 암호화된 제 1 공개 키를 송신하는 단계; 자원 제공자에 의해 자원 요청자로부터, 암호화된 제 1 공개 키를 수신하는 단계; 및 자원 제공자에 의해, 제 2 공개 키를 사용하여 수신된 암호화된 제 1 공개 키를 복호화하는 단계를 더 포함하고, 제 2 개인 키 및 제 2 공개 키는 비대칭이고 상호 매칭되는 키들의 제 2 쌍이다.
이전의 또는 다음의 특징들 중 임의의 것과 결합 가능한 제 5 특징에 있어서, 검증 정보는 자원 서버에 의해, 제 3 개인 키를 사용하여 암호화되고, 수신된 검증 정보는 자원 동작을 수행하기 전에 제 3 공개 키를 사용하여 자원 제공자에 의해 복호화되고, 제 3 개인 키 및 제 3 공개 키는 비대칭이고 상호 매칭되는 키들의 제 3 쌍이다.
이전의 또는 다음의 특징들 중 임의의 것과 결합 가능한 제 6 특징에 있어서, 인가 정보 또는 검증 정보 중 적어도 하나에 기초하여 이미지 패턴을 생성하는 단계를 더 포함하고, 이미지 패턴은 바코드 또는 QR 코드 중 적어도 하나를 포함한다.
이전의 또는 다음의 특징들 중 임의의 것과 결합 가능한 제 7 특징에 있어서, 자원 동작을 수행하는 단계는 자원 요청자에게 게이트 통과 권리(gate passage right)를 할당하는 단계를 포함한다.
제 2 구현에서, 동작들을 수행하기 위해 컴퓨터 시스템에 의해 실행 가능한 하나 이상의 명령들을 저장하는 비-일시적인 컴퓨터-판독 가능 매체가 제공되며, 이 동작들은, 자원 요청자에 의해 자원 제공자에게, 자원 동작과 연관된 정보를 송신하는 동작 ― 자원 동작은 자원 서버 상에 저장된 자원과 연관됨 ― ; 자원 제공자에 의해 자원 요청자로부터, 자원 동작과 연관된 정보를 수신하는 동작; 및 자원 제공자에 의해, 자원 서버로부터의 정보 대신에, 자원 요청자로부터의 수신된 정보에 기초하여 자원 동작을 수행하는 동작을 포함한다.
상기 및 다른 설명된 구현들은 각각, 다음의 특징들 중 하나 이상을 선택적으로 포함할 수 있다:
다음의 특징들 중 임의의 것과 결합 가능한 제 1 특징에 있어서, 자원 동작과 연관된 정보는 자원 요청자에 의해 생성된 인가 정보 또는 자원 서버에 의해 생성된 검증 정보 중 적어도 하나를 포함한다.
이전의 또는 다음의 특징들 중 임의의 것과 결합 가능한 제 2 특징에 있어서, 인가 정보는 자원 제공자에게 송신되기 전에 제 1 개인 키를 이용하여 자원 요청자에 의해 암호화되고, 수신된 인가 정보는 자원 동작을 수행하기 전에 제 1 공개 키를 사용하여 자원 제공자에 의해 복호화되고, 제 1 개인 키 및 제 1 공개 키는 비대칭이고 상호 매칭되는 키들의 제 1 쌍이다.
이전의 또는 다음의 특징들 중 임의의 것과 결합 가능한 제 3 특징에 있어서, 인가 정보는 자원 요청자의 사용자 식별 정보 및 인가 정보와 연관된 타임 스탬프 중 적어도 하나를 포함한다.
이전의 또는 다음의 특징들 중 임의의 것과 결합 가능한 제 4 특징에 있어서, 동작들은, 자원 요청자에 의해, 제 2 개인 키를 사용하여 제 1 공개 키를 암호화하는 동작; 자원 요청자에 의해 자원 제공자에게, 암호화된 제 1 공개 키를 송신하는 동작; 상기 자원 제공자에 의해 상기 자원 요청자로부터, 상기 암호화된 제 1 공개 키를 수신하는 동작; 및 자원 제공자에 의해, 제 2 공개 키를 사용하여 수신된 암호화된 제 1 공개 키를 복호화하는 동작을 더 포함하고, 제 2 개인 키 및 제 2 공개 키는 비대칭이고 상호 매칭되는 키들의 제 2 쌍이다.
이전의 또는 다음의 특징들 중 임의의 것과 결합 가능한 제 5 특징에 있어서, 검증 정보는 자원 서버에 의해, 제 3 개인 키를 사용하여 암호화되고, 수신된 검증 정보는 자원 동작을 수행하기 전에 제 3 공개 키를 사용하여 자원 제공자에 의해 복호화되고, 제 3 개인 키 및 제 3 공개 키는 비대칭이고 상호 매칭되는 키들의 제 3 쌍이다.
이전의 또는 다음의 특징들 중 임의의 것과 결합 가능한 제 6 특징에 있어서, 동작들은, 인가 정보 또는 검증 정보 중 적어도 하나에 기초하여 이미지 패턴을 생성하는 동작을 더 포함하고, 이미지 패턴은 바코드 또는 QR 코드 중 적어도 하나를 포함한다.
이전의 또는 다음의 특징들 중 임의의 것과 결합 가능한 제 7 특징에 있어서, 자원 동작을 수행하는 동작은 자원 요청자에게 게이트 통과 권리를 할당하는 동작을 포함한다.
제 3 구현에서, 하나 이상의 컴퓨터들; 및 하나 이상의 컴퓨터들과 상호 동작 가능하게 커플링되고 하나 이상의 명령들을 저장한 유형의(tangible) 비-일시적인 머신-판독 가능 매체를 갖는 하나 이상의 컴퓨터 메모리 디바이스들을 포함하는 컴퓨터-구현 방법으로서, 명령들은, 하나 이상의 컴퓨터들에 의해 실행될 때, 자원 요청자에 의해 자원 제공자에게, 자원 동작과 연관된 정보를 송신하는 동작 ― 자원 동작은 자원 서버 상에 저장된 자원과 연관됨 ― ; 자원 제공자에 의해 자원 요청자로부터, 자원 동작과 연관된 정보를 수신하는 동작; 및 자원 제공자에 의해, 자원 서버로부터의 정보 대신에, 자원 요청자로부터의 수신된 정보에 기초하여 자원 동작을 수행하는 동작을 포함하는 하나 이상의 동작들을 수행한다.
상기 및 다른 설명된 구현들은 각각, 다음의 특징들 중 하나 이상을 선택적으로 포함할 수 있다:
다음의 특징들 중 임의의 것과 결합 가능한 제 1 특징에 있어서, 자원 동작과 연관된 정보는 자원 요청자에 의해 생성된 인가 정보 또는 자원 서버에 의해 생성된 검증 정보 중 적어도 하나를 포함한다.
이전의 또는 다음의 특징들 중 임의의 것과 결합 가능한 제 2 특징에 있어서, 인가 정보는 자원 제공자에게 송신되기 전에 제 1 개인 키를 이용하여 자원 요청자에 의해 암호화되고, 수신된 인가 정보는 자원 동작을 수행하기 전에 제 1 공개 키를 사용하여 자원 제공자에 의해 복호화되고, 제 1 개인 키 및 제 1 공개 키는 비대칭이고 상호 매칭되는 키들의 제 1 쌍이다.
이전의 또는 다음의 특징들 중 임의의 것과 결합 가능한 제 3 특징에 있어서, 인가 정보는 자원 요청자의 사용자 식별 정보 및 인가 정보와 연관된 타임 스탬프 중 적어도 하나를 포함한다.
이전의 또는 다음의 특징들 중 임의의 것과 결합 가능한 제 4 특징에 있어서, 동작들은, 자원 요청자에 의해, 제 2 개인 키를 사용하여 제 1 공개 키를 암호화하는 동작; 자원 요청자에 의해 자원 제공자에게, 암호화된 제 1 공개 키를 송신하는 동작; 자원 제공자에 의해 자원 요청자로부터, 암호화된 제 1 공개 키를 수신하는 동작; 및 자원 제공자에 의해, 제 2 공개 키를 사용하여 수신된 암호화된 제 1 공개 키를 복호화하는 동작을 더 포함하고, 제 2 개인 키 및 제 2 공개 키는 비대칭이고 상호 매칭되는 키들의 제 2 쌍이다.
이전의 또는 다음의 특징들 중 임의의 것과 결합 가능한 제 5 특징에 있어서, 검증 정보는 자원 서버에 의해, 제 3 개인 키를 사용하여 암호화되고, 수신된 검증 정보는 자원 동작을 수행하기 전에 제 3 공개 키를 사용하여 자원 제공자에 의해 복호화되고, 제 3 개인 키 및 제 3 공개 키는 비대칭이고 상호 매칭되는 키들의 제 3 쌍이다.
이전의 또는 다음의 특징들 중 임의의 것과 결합 가능한 제 6 특징에 있어서, 동작들은, 인가 정보 또는 검증 정보 중 적어도 하나에 기초하여 이미지 패턴을 생성하는 동작을 더 포함하고, 이미지 패턴은 바코드 또는 QR 코드 중 적어도 하나를 포함한다.
이전의 또는 다음의 특징들 중 임의의 것과 결합 가능한 제 7 특징에 있어서, 자원 동작을 수행하는 동작은 자원 요청자에게 게이트 통과 권리를 할당하는 동작을 포함한다.
본 명세서에서 설명된 청구대상 및 기능적 동작들의 구현들은, 본 명세서에서 개시된 구조들 및 그들의 구조적 등가물들을 포함하는 디지털 전자 회로로, 유형으로 구체화되는 컴퓨터 소프트웨어로 또는 펌웨어로, 컴퓨터 하드웨어로, 또는 그들 중 하나 이상의 조합들로 구현될 수 있다. 설명된 청구 대상의 소프트웨어 구현들은, 컴퓨터 또는 컴퓨터-구현 시스템에 의한 실행을 위해, 또는 컴퓨터 또는 컴퓨터-구현 시스템의 동작을 제어하기 위해, 유형의 비-일시적인 컴퓨터-판독 가능 매체 상에 인코딩된 하나 이상의 컴퓨터 프로그램들, 즉 컴퓨터 프로그램 명령들의 하나 이상의 모듈들로서 구현될 수 있다. 대안적으로 또는 부가적으로, 프로그램 명령들은, 컴퓨터 또는 컴퓨터-구현 시스템에 의한 실행을 위해 수신기 장치로의 송신을 위한 정보를 인코딩하기 위해 생성되는, 인위적으로 생성된 전파된 신호, 예를 들어, 머신-생성 전기, 광학 또는 전자기 신호 상에/그 내에 인코딩될 수 있다. 컴퓨터-저장 매체는 머신-판독 가능 저장 디바이스, 머신-판독 가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 디바이스, 또는 컴퓨터-저장 매체들의 조합일 수 있다. 하나 이상의 컴퓨터들을 구성하는 것은, 소프트웨어가 하나 이상의 컴퓨터들에 의해 실행될 때 특정 컴퓨팅 동작들이 수행되도록 하나 이상의 컴퓨터들에 하드웨어, 펌웨어 또는 소프트웨어(또는 하드웨어, 펌웨어 및 소프트웨어의 조합들)가 설치되었음을 의미한다.
"실-시간", "실 시간", "실시간", "RFT(real fast time)", "NRT(near(ly) real-time)", "준 실-시간" 또는 (당업자에 의해 이해되는 바와 같은) 유사한 용어들은, 액션 및 반응이 시간적으로 근접하여서 개인이 액션 및 반응을 실질적으로 동시에 발생하는 것으로 지각한다는 것을 의미한다. 예를 들어, 데이터에 액세스하기 위한 개인의 액션에 이은 데이터의 디스플레이까지의 응답에 대한(또는 디스플레이의 초기화에 대한) 시간 차이는 1 밀리초(ms) 미만, 1 초(s) 미만 또는 5 s 미만일 수 있다 요청된 데이터는 즉시 디스플레이(또는 디스플레이를 위해 초기화)될 필요는 없지만, 그것은 설명된 컴퓨팅 시스템의 프로세싱 제한들 및 예를 들어, 데이터를 수집하고, 정확하게 측정하고, 분석하고, 프로세싱하고, 저장하거나 또는 송신하는데 요구되는 시간을 고려하여 어떠한 의도적인 지연도 없이 디스플레이(또는 디스플레이를 위해 초기화)된다.
"데이터 프로세싱 장치", "컴퓨터" 또는 "전자 컴퓨터 디바이스"이라는 용어(또는 당업자에 의해 이해되는 바와 같은 등가의 용어)는 데이터 프로세싱 하드웨어를 지칭하고, 예로서, 프로그래밍 가능 프로세서, 컴퓨터, 또는 다수의 프로세서들 또는 컴퓨터들을 포함하는, 데이터를 프로세싱하기 위한 모든 종류의 장치, 디바이스 및 머신들을 포괄한다. 컴퓨터는 또한, 예를 들어, 중앙 처리 장치(CPU), FPGA(field programmable gate array), 또는 ASIC(application-specific integrated circuit)와 같은 특수 목적 논리 회로일 수 있거나 이를 더 포함할 수 있다. 일부 구현들에서, 컴퓨터 또는 컴퓨터-구현 시스템 또는 특수 목적 로직 회로(또는 컴퓨터 또는 컴퓨터-구현 시스템 또는 특수 목적 로직 회로의 조합)는 하드웨어-기반 또는 소프트웨어-기반(또는 하드웨어-기반 및 소프트웨어-기반의 조합)일 수 있다. 컴퓨터는 컴퓨터 프로그램들에 대한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 실행 환경들의 조합을 구성하는 코드를 선택적으로 포함할 수 있다. 본 개시내용은 일부 유형의 운영 체제, 예를 들어, LINUX, UNIX, WINDOWS, MAC OS, ANDROID, IOS, 다른 운영 체제 또는 운영 체제들의 조합을 갖는 컴퓨터 또는 컴퓨터-구현 시스템의 사용을 고려한다.
프로그램, 소프트웨어, 소프트웨어 애플리케이션, 유닛, 모듈, 소프트웨어 모듈, 스크립트, 코드 또는 다른 컴포넌트로서 또한 지칭되거나 설명될 수 있는 컴퓨터 프로그램은, 컴파일되거나 인터프리팅된 언어들, 선언형 또는 절차형 언어들을 포함한 모든 형태의 프로그래밍 언어로 작성될 수 있으며, 컴퓨터 프로그램은 예를 들어, 컴퓨팅 환경에서 사용하기 위한 자립형 프로그램, 모듈, 컴포넌트, 또는 서브루틴으로서 임의의 형태로 배포될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 대응할 수 있지만 대응할 필요는 없을 수 있다. 프로그램은, 다른 프로그램들 또는 데이터 예를 들어, 마크업 언어 문서에 저장되는 하나 이상의 스크립트들을 보유하는 파일의 부분에, 해당 프로그램에 전용된 단일 파일에, 또는 다수의 통합형 파일들 예를 들어, 하나 이상의 모듈들, 서브-프로그램들 또는 코드의 부분들을 저장하는 파일들에 저장될 수 있다. 컴퓨터 프로그램은 하나의 사이트에 위치되거나 다수의 사이트들에 걸쳐 분산되어 통신 네트워크에 의해 상호연결되는 다수의 컴퓨터들 상에서 실행되거나 또는 하나의 컴퓨터 상에서 실행되도록 전개될 수 있다.
다양한 도면들에 예시된 프로그램들의 부분들은 다양한 객체들, 방법들 또는 다른 프로세스들을 사용하여 설명된 특징들 및 기능성을 구현하는, 유닛들 또는 모듈들과 같은 개별 컴포넌트들로서 예시될 수 있지만, 프로그램들은 다수의 서브-유닛들, 서브-모듈들, 제 3 자 서비스들, 컴포넌트들, 라이브러리들 및 다른 컴포넌트들을 적절히 대신 포함할 수 있다. 반대로, 다양한 컴포넌트들의 특징들 및 기능성은 단일 컴포넌트로 적절히 결합될 수 있다. 컴퓨테이셔널 결정들을 내리는 데 사용되는 임계치들은 정적으로, 동적으로 또는 정적 및 동적 둘 모두로 결정될 수 있다.
설명된 방법들, 프로세스들 또는 로직 흐름들은 본 개시내용과 부합하는 기능성의 하나 이상의 예들을 나타내고, 설명된 또는 예시된 구현들로 본 개시내용을 제한하려는 것이 아니라, 설명된 원리들 및 특징들에 부합하는 가장 넓은 범위를 부여하려는 것이다. 설명된 방법들, 프로세스들 또는 로직 흐름들은 입력 데이터를 조작하고 출력 데이터를 생성함으로써 기능들을 수행하도록 하나 이상의 컴퓨터 프로그램들을 실행하는 하나 이상의 프로그래밍 가능 컴퓨터들에 의해 수행될 수 있다. 방법들, 프로세스들 또는 로직 흐름들은 또한 특수 목적 로직 회로, 예를 들어 CPU, FPGA 또는 ASIC에 의해 수행될 수 있고, 컴퓨터들은 또한 특수 목적 로직 회로, 예를 들어 CPU, FPGA 또는 ASIC로서 구현될 수 있다.
컴퓨터 프로그램의 실행을 위한 컴퓨터들은 범용 또는 특수 목적 마이크로프로세서들, 둘 모두 또는 다른 유형의 CPU에 기초할 수 있다. 일반적으로, CPU는 명령 및 데이터를 메모리로부터 수신하고 메모리에 기록할 것이다. 컴퓨터의 필수 엘리먼트들은 명령들을 수행하거나 실행하기 위한 CPU 및 명령들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스들, 예를 들어, 자기, 광자기 디스크들 또는 광학 디스크들로부터 데이터를 수신하거나 또는 이들에 데이터를 전달하거나, 또는 둘 모두를 수행하도록 동작 가능하게 커플링되거나, 또는 이들을 포함할 것이다. 그러나 컴퓨터는 이러한 디바이스들을 가질 필요가 없다. 또한, 컴퓨터는 다른 디바이스, 예를 들어, 모바일 전화, 개인용 디지털 보조기기(PDA), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, 글로벌 포지셔닝 시스템(GPS) 수신기 또는 휴대용 메모리 저장 디바이스에 임베딩될 수 있다.
컴퓨터 프로그램 명령들 및 데이터를 저장하기 위한 비-일시적인 컴퓨터-판독 가능 매체는, 예로서 반도체 메모리 디바이스, 예를 들어, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 상변화 메모리(PRAM), 정적 랜덤 액세스 메모리(SRAM), 동적 랜덤 액세스 메모리(DRAM), 소거 가능한 프로그래밍 가능 판독 전용 메모리(EPROM), 전기적 소거 가능 프로그래밍 가능 판독 전용 메모리(EEPROM) 및 플래시 메모리 디바이스들; 자기 디바이스들, 예를 들어, 테이프, 카트리지들, 카세트들, 내부/이동식 디스크들; 광자기 디스크들; 광학 메모리 디바이스들, 예를 들어, 디지털 다용도/비디오 디스크(DVD), 콤팩트 디스크(CD) ROM, DVD +/- R, DVD-RAM, DVD-ROM, 고-화질/밀도(HD)-DVD 및 BLU-RAY/BLU-RAY DISC(BD) 및 다른 광학 메모리 기술들을 포함한, 모든 형태의 영구적/비-영구적 또는 휘발성/비-휘발성 메모리, 매체 및 메모리 디바이스를 포함한다. 메모리는 캐시들, 클래스들, 프레임워크들, 애플리케이션들, 모듈들, 백업 데이터, 잡(job)들, 웹 페이지들, 웹 페이지 템플릿들, 데이터 구조들, 데이터베이스 테이블들, 동적 정보를 저장하는 저장소들, 또는 임의의 파라미터들, 변수들, 알고리즘들, 명령들, 규칙들, 제약들 또는 기준들을 포함하는 임의의 다른 적절한 정보를 포함하는 다양한 객체들 또는 데이터를 저장할 수 있다. 부가적으로, 메모리는 로그들, 정책들, 보안 또는 액세스 데이터 또는 보고 파일들과 같은 다른 적절한 데이터를 포함할 수 있다. 프로세서 및 메모리는 특수 목적 로직 회로에 의해 보완되거나 또는 거기에 통합될 수 있다.
사용자와의 상호작용을 제공하기 위해, 본 명세서에 설명된 발명의 대상의 구현들은 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스, 예를 들어, 음극선관(CRT), 액정 디스플레이(LCD), 발광 다이오드(LED) 또는 플라스마 모니터, 및 사용자가 컴퓨터에 입력을 제공할 수 있게 하는 키보드 및 포인팅 디바이스, 예를 들어 마우스, 트랙볼, 또는 트랙패드를 갖는 컴퓨터 상에서 구현될 수 있다. 입력은 또한, 압력 민감도를 갖는 태블릿 컴퓨터 표면, 용량성 또는 전기적 감지를 사용하는 멀티-터치 스크린 또는 다른 유형의 터치스크린과 같은 터치 스크린을 사용하여 컴퓨터에 제공될 수 있다. 다른 유형들의 디바이스들은 사용자와 상호작용하는 데 사용될 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 감각 피드백(이를테면, 시각적, 청각적, 촉각적, 또는 피드백 유형들의 조합)일 수 있다. 사용자로부터의 입력은 음향, 스피치 또는 촉각적 입력을 포함하는 임의의 형태로 수신될 수 있다. 게다가, 컴퓨터는 사용자에 의해 사용되는 클라이언트 컴퓨팅 디바이스에 문서들을 전송하고 이 디바이스로부터 문서들을 수신함으로써(예를 들어, 웹 브라우저로부터 수신된 요청들에 대한 응답으로 사용자의 모바일 컴퓨팅 디바이스 상의 웹 브라우저에 웹 페이지들을 전송함으로써) 사용자와 상호작용할 수 있다.
"그래픽 사용자 인터페이스" 또는 "GUI"라는 용어는 하나 이상의 그래픽 사용자 인터페이스 및 특정 그래픽 사용자 인터페이스의 디스플레이들 각각을 설명하기 위해 단수 또는 복수로 사용될 수 있다. 따라서, GUI는, 정보를 프로세싱하고 정보 결과들을 사용자에게 효율적으로 제시하는 웹 브라우저, 터치스크린 또는 커맨드 라인 인터페이스(CLI)를 포함(그러나 이에 제한되지 않음)하는 임의의 그래픽 사용자 인터페이스를 나타낼 수 있다. 일반적으로, GUI는 상호작용 필드들, 풀다운(pulldown) 리스트들 및 버튼들과 같은 다수의 사용자 인터페이스(UI) 엘리먼트들을 포함할 수 있으며, 이들 중 일부 또는 전부는 웹 브라우저들과 연관된다. 이들 및 다른 UI 엘리먼트들은 웹 브라우저의 기능들과 관련되거나 웹 브라우저의 기능들을 나타낼 수 있다.
본 명세서에 설명된 발명의 대상의 구현들은 컴퓨팅 시스템에서 구현될 수 있는데, 컴퓨팅 시스템은, 예를 들어, 데이터 서버로서 백-엔드(back-end) 컴포넌트를 포함하거나, 미들웨어(middleware) 클라이언트 디바이스, 예를 들어, 애플리케이션 서버를 포함하거나, 또는 프론트 엔드 컴포넌트, 예를 들어, 본 명세서에 설명된 발명의 대상의 구현과 사용자가 상호작용할 수 있게 하는 웹 브라우저 또는 그래픽 사용자 인터페이스를 갖는 클라이언트 컴퓨터를 포함하거나, 또는 이러한 백 엔드, 미들웨어 또는 프론트 엔드 컴포넌트들의 임의의 결합을 포함한다. 시스템의 컴포넌트들은, 유선 또는 무선 디지털 데이터 통신의 임의의 형태 또는 매체(또는 데이터 통신의 조합), 예컨대, 통신 네트워크에 의해 상호연결될 수 있다. 통신 네트워크들의 예들은, 예를 들어, 802.11 a/b/g/n 또는 802.20(또는 802.11x 및 802.20의 조합 또는 본 개시내용과 부합하는 다른 프로토콜들)을 사용하는 LAN(Local Area Network), RAN(Radio Access Network), MAN(Metropolitan Area Network), WAN(Wide Area Network), WIMAX(Worldwide Interoperability for Microwave Access), WLAN(wireless local area), 인터넷의 전부 또는 일부, 다른 통신 네트워크, 또는 통신 네트워크들의 조합을 포함한다. 통신 네트워크는 네트워크 노드들 사이에서, 예를 들어, 인터넷 프로토콜(IP) 패킷들, 프레임 릴레이(Frame Relay) 프레임, 비동기 전송 모드(ATM) 셀들, 음성, 비디오, 데이터 또는 다른 정보를 통신할 수 있다.
컴퓨팅 시스템은 클라이언트들 및 서버들을 포함할 수 있다. 클라이언트 및 서버는 일반적으로 서로 떨어져 있으며, 통상적으로 통신 네트워크를 통해 상호작용할 수 있다. 클라이언트 및 서버의 관계는, 각각의 컴퓨터들 상에서 실행되고 서로에 대해 클라이언트-서버 관계를 갖는 컴퓨터 프로그램들에 의해 발생한다.
본 명세서가 많은 특정한 구현 세부사항들을 포함하지만, 이들은 임의의 독창적인 개념 또는 청구될 수 있는 범위에 대한 제한들로서 해석되는 것이 아니라 오히려, 특정 발명들의 특정 구현들에 특유할 수 있는 특징들의 설명들로서 해석되어야 한다. 별개의 구현들의 맥락에서 본 명세서에 설명된 소정의 특징들은 또한, 단일 구현으로 조합하여 구현될 수 있다. 대조적으로, 단일 구현의 맥락에서 설명된 다양한 특징들은 또한, 다수의 구현들에서 개별적으로 또는 임의의 서브-조합으로 구현될 수 있다. 또한, 이전에 설명된 특징들이 소정의 조합들에서 동작하는 것으로 설명되고 심지어 초기에는 그와 같이 청구될 수도 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우들에서, 그 조합으로부터 삭제될 수 있으며, 청구된 조합은 서브-조합 또는 서브-조합의 변동으로 지시될 수 있다.
청구대상의 특정 구현들이 설명되었다. 설명된 구현들의 다른 구현들, 변경들 및 치환들은 당업자에게 명백할 바와 같이 다음의 청구항들의 범위 내에 있다. 동작들이 특정한 순서로 도면들 및 청구항들에 도시되지만, 이것은, 바람직한 결과들을 달성하기 위해, 그러한 동작들이 도시된 특정 순서 또는 순차적인 순서로 수행되거나, 모든 예시된 동작들이 수행된다는 것을 요구하는 것으로서 이해되지는 않아야 한다(일부 동작들은 선택적이라고 고려될 수 있음). 소정의 상황들에서, 멀티태스킹 또는 병렬 프로세싱(또는 멀티태스킹 및 병렬 프로세싱의 조합)이 유리하며 적절하다고 간주되면 수행될 수 있다.
또한, 이전에 설명된 구현들에서의 다양한 시스템 모듈들 및 컴포넌트들의 분리 및 통합은 모든 구현들에서 그러한 분리 및 통합을 요구하는 것으로서 이해되지는 않아야 하고, 그리고 설명된 프로그램 컴포넌트들 및 시스템들이 일반적으로, 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품들로 패키징될 수 있다는 것이 이해되어야 한다.
따라서, 이전에 설명된 예시적인 구현들은 본 개시내용을 정의하거나 제한하지 않는다. 본 개시내용의 사상 및 범위를 벗어나지 않으면서 다른 변화들, 교체들 및 변경들이 또한 가능하다.
또한, 임의의 청구된 구현들은 적어도, 컴퓨터-구현 방법; 컴퓨터-구현 방법을 수행하기 위한 컴퓨터-판독 가능 명령들을 저장하는 비-일시적인 컴퓨터-판독 가능 매체; 및 비-일시적인 컴퓨터-판독 가능 매체 상에 저장된 명령들 또는 컴퓨터-구현 방법을 수행하도록 구성된 하드웨어 프로세서와 상호 동작 가능하게 커플링된 컴퓨터 메모리를 포함하는 컴퓨터 시스템에 적용 가능한 것으로 고려된다.

Claims (20)

  1. 오프라인 상태에서의 자원 동작을 위한 방법으로서,
    자원 요청자에 의해, 사용자 개인 키를 사용하여 자원 동작과 연관된 인가 정보를 암호화된 인가 정보로서 암호화하는 단계로서, 상기 자원 동작은 상기 자원 요청자에게의 게이트 통과 권리(gate passage right)의 할당을 포함하고, 상기 인가 정보는 적어도, 인가된 사용자의 아이덴티티 정보 및 인가의 타임 스탬프 정보를 포함하는 것인, 상기 암호화하는 단계;
    상기 자원 요청자에 의해 자원 제공자에게, 상기 암호화된 인가 정보를, 그리고 서버 단말 개인 키를 사용하여 암호화된 사용자 공개 키를 암호화된 사용자 공개 키로서 전송하는 단계;
    상기 자원 요청자에 의해, 마지막으로 수신된 검증 정보의 타임 스탬프를 결정하는 단계;
    현재 시간이 상기 마지막으로 수신된 검증 정보의 상기 타임 스탬프에 의해 표현된 시간을 미리 정의된 시구간 만큼 초과하는 경우, 상기 자원 요청자에 의해, 자원 서버에게 새로운 검증 정보에 대한 요청을 전송하는 단계;
    상기 자원 요청자가 상기 자원 서버 상에 미리 정해진 수를 초과하는 잔고를 갖는다고 결정하는 것에 응답하여, 상기 자원 서버에 의해, 상기 자원 요청자에게 상기 새로운 검증 정보 - 상기 새로운 검증 정보는 상기 자원 요청자가 상기 자원 서버 상에 가진 잔고 정보를 포함함 - 를 전송하는 단계;
    상기 자원 요청자에 의해, 상기 자원 제공자에게 상기 새로운 검증 정보를 전송하는 단계;
    상기 자원 제공자에 의해 상기 자원 요청자로부터, 상기 새로운 검증 정보, 상기 암호화된 인가 정보, 및 상기 암호화된 사용자 공개키를 수신하는 단계;
    상기 자원 제공자에 의해, 상기 사용자 공개 키를 생성하기 위해 서버 단말 공개 키를 사용하여 상기 암호화된 사용자 공개 키를 프로세싱하는 단계로서, 상기 서버 단말 개인 키와 상기 서버 단말 공개 키는, 비대칭이고 상호 매칭되는 키들의 쌍인 것인, 상기 프로세싱하는 단계;
    상기 자원 제공자에 의해, 상기 인가 정보를 획득하기 위해 사용자 공개 키를 사용하여 상기 암호화된 인가 정보를 복호화하는 단계로서, 상기 사용자 개인 키와 상기 사용자 공개 키는, 비대칭이고 상호 매칭되는 키들의 쌍인 것인, 상기 복호화하는 단계; 및
    상기 자원 제공자에 의해, 물리적인 게이트의 동작에 의해 상기 자원 요청자에게 게이트 통과 권리를 할당함으로써 상기 인가 정보 및 상기 새로운 검증 정보에 따라 상기 자원 동작을 수행하는 단계
    를 포함하는, 오프라인 상태에서의 자원 동작을 위한 방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 사용자 개인 키 및 상기 사용자 공개 키를 생성하는 단계;
    상기 사용자 개인 키를 상기 자원 요청자에게 전송하는 단계; 및
    상기 사용자 공개 키를 상기 자원 제공자에게 전송하는 단계
    를 더 포함하는, 오프라인 상태에서의 자원 동작을 위한 방법.
  4. 삭제
  5. 삭제
  6. 삭제
  7. 제 1 항에 있어서,
    상기 자원 요청자에 의해, 상기 서버 단말 개인 키를 사용하여 암호화된 검증 정보를 상기 인가 정보에 대한 암호화된 검증 정보로서 상기 자원 제공자에게 전송하는 단계;
    상기 자원 제공자에 의해, 상기 암호화된 검증 정보를 수신하는 단계;
    상기 자원 제공자에 의해, 상기 검증 정보를 생성하기 위해 상기 서버 단말 공개 키를 사용하여 상기 암호화된 검증 정보를 복호화하는 단계; 및
    상기 자원 제공자에 의해, 상기 검증 정보에 따라 상기 자원 동작을 수행하는 단계
    를 더 포함하는, 오프라인 상태에서의 자원 동작을 위한 방법.
  8. 제 7 항에 있어서,
    상기 인가 정보 및 상기 검증 정보에 대해 코딩 통합을 수행하여 패턴으로 맵핑하는 단계
    를 더 포함하는, 오프라인 상태에서의 자원 동작을 위한 방법.
  9. 제 7 항에 있어서,
    상기 서버 단말 개인 키 및 상기 서버 단말 공개 키를 생성하는 단계;
    상기 사용자 개인 키 및 상기 사용자 공개 키를 생성하는 단계;
    상기 사용자 개인 키, 상기 사용자 공개 키 및 상기 암호화된 검증 정보를 상기 자원 요청자에게 전송하는 단계; 및
    상기 서버 단말 공개 키를 상기 자원 제공자에게 전송하는 단계
    를 더 포함하는, 오프라인 상태에서의 자원 동작을 위한 방법.
  10. 제 7 항에 있어서,
    상기 검증 정보를 생성하기 위해 상기 자원 요청자의 권한을 검증하는 단계; 및
    인가 정보를 검증하기 위해 상기 검증 정보를 발행하는 단계
    를 더 포함하는, 오프라인 상태에서의 자원 동작을 위한 방법.
  11. 제 10 항에 있어서,
    상기 검증 정보를 생성하는 것은, 상기 자원 요청자의 계좌 잔고 또는 크레디트 잔고(credit balance)가 미리 설정된 양 미만이 아닐 때 검증의 성공을 표시하는 정보를 생성하는 것을 포함하는, 오프라인 상태에서의 자원 동작을 위한 방법.
  12. 제 11 항에 있어서,
    자원 동작-기반 인가 정보가 수신될 때 상기 자원 요청자의 권한을 검증하는 단계를 더 포함하는, 오프라인 상태에서의 자원 동작을 위한 방법.
  13. 오프라인 상태에서의 자원 동작을 위한 시스템으로서,
    제 1 항, 제 3 항, 및 제 7 항 내지 제 12 항 중 어느 한 항의 방법을 수행하도록 구성된 복수의 모듈들을 포함하는, 오프라인 상태에서의 자원 동작을 위한 시스템.
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020197021221A 2016-12-19 2017-12-19 안전한 오프라인 자원 동작들 KR102287558B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CN201611175289.6A CN107016267B (zh) 2016-12-19 2016-12-19 离线状态下的资源操作方法及***
CN201611175289.6 2016-12-19
US15/845,422 US20180176018A1 (en) 2016-12-19 2017-12-18 Secure offline resource operations
US15/845,422 2017-12-18
PCT/US2017/067334 WO2018118933A1 (en) 2016-12-19 2017-12-19 Secure offline resource operations

Publications (2)

Publication Number Publication Date
KR20190099036A KR20190099036A (ko) 2019-08-23
KR102287558B1 true KR102287558B1 (ko) 2021-08-11

Family

ID=59440111

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197021221A KR102287558B1 (ko) 2016-12-19 2017-12-19 안전한 오프라인 자원 동작들

Country Status (13)

Country Link
US (1) US20180176018A1 (ko)
EP (1) EP3555758B1 (ko)
JP (1) JP6956198B2 (ko)
KR (1) KR102287558B1 (ko)
CN (1) CN107016267B (ko)
AU (2) AU2017382164A1 (ko)
BR (1) BR112019012669A2 (ko)
CA (1) CA3046678C (ko)
MX (1) MX2019007060A (ko)
PH (1) PH12019501394A1 (ko)
RU (1) RU2731330C1 (ko)
TW (1) TWI705688B (ko)
WO (1) WO2018118933A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110046996B (zh) * 2019-01-18 2020-09-15 阿里巴巴集团控股有限公司 数据处理方法和装置
CN111767533A (zh) * 2019-04-01 2020-10-13 富泰华工业(深圳)有限公司 离线模式用户授权方法、装置、电子装置及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010211794A (ja) * 1998-09-15 2010-09-24 In Touch Technologies Ltd サービス提供方法及びサービスプラットホーム
US20110055585A1 (en) * 2008-07-25 2011-03-03 Kok-Wah Lee Methods and Systems to Create Big Memorizable Secrets and Their Applications in Information Engineering
US20150339664A1 (en) * 2014-05-21 2015-11-26 Erick Wong Offline authentication

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020034305A1 (en) * 2000-07-21 2002-03-21 Hideo Noyama Method and system for issuing service and method and system for providing service
JP2002208920A (ja) * 2001-01-09 2002-07-26 Casio Comput Co Ltd データ処理システム、及びデータ処理方法
JP2003242116A (ja) * 2002-01-31 2003-08-29 Internatl Business Mach Corp <Ibm> 認証装置、認証システム、サーバ、携帯端末、認証端末、および認証方法
JP4148465B2 (ja) * 2003-05-12 2008-09-10 日本電信電話株式会社 電子価値流通システムおよび電子価値流通方法
US7646872B2 (en) * 2004-04-02 2010-01-12 Research In Motion Limited Systems and methods to securely generate shared keys
US20070043667A1 (en) * 2005-09-08 2007-02-22 Bahman Qawami Method for secure storage and delivery of media content
US7764185B1 (en) * 2006-01-26 2010-07-27 The United States Of America As Represented By The Secretary Of The Army System, user warning and positioning device for use therein, and computer program product therefor, for tactical distributed event warning notification for individual entities
JP5186790B2 (ja) * 2007-04-06 2013-04-24 日本電気株式会社 電子マネー取引方法、及び電子マネーシステム
CN102496115A (zh) * 2011-11-24 2012-06-13 上海拉手信息技术有限公司 团购券信息离线验证方法、验证终端及验证***
US20150142672A1 (en) * 2012-05-21 2015-05-21 Marvin T. Ling Method and apparatus for conducting offline commerce transactions
KR101534146B1 (ko) * 2013-05-22 2015-07-14 박복태 데이터로 관리되는 무형화폐인 비트머니의 생성 방법과 제공서비스 시스템
US20160012465A1 (en) * 2014-02-08 2016-01-14 Jeffrey A. Sharp System and method for distributing, receiving, and using funds or credits and apparatus thereof
US20150278795A1 (en) * 2014-03-26 2015-10-01 Google Inc. Secure offline payment system
RU2581559C2 (ru) * 2014-08-01 2016-04-20 Закрытое акционерное общество "Лаборатория Касперского" Система и способ применения политик безопасности к накопителю в сети
CN104936128A (zh) * 2014-12-08 2015-09-23 深圳市腾讯计算机***有限公司 一种离线数据转移方法、装置及***
FR3030829A1 (fr) * 2014-12-23 2016-06-24 Orange Procede de securisation de transactions sans contact
CN105243542B (zh) * 2015-11-13 2021-07-02 咪付(广西)网络技术有限公司 一种动态电子凭证认证的方法
US9900160B1 (en) * 2015-12-03 2018-02-20 Amazon Technologies, Inc. Asymmetric session credentials
CN105591751A (zh) * 2015-12-23 2016-05-18 趣点在线科技(北京)有限公司 一种离线验证装置和方法
KR101907958B1 (ko) * 2015-12-31 2018-10-16 한국전자통신연구원 출입 통제 방법 및 장치, 사용자 단말, 서버
CN105635168B (zh) * 2016-01-25 2019-01-22 恒宝股份有限公司 一种脱机交易装置及其安全密钥的使用方法
US10366378B1 (en) * 2016-06-30 2019-07-30 Square, Inc. Processing transactions in offline mode

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010211794A (ja) * 1998-09-15 2010-09-24 In Touch Technologies Ltd サービス提供方法及びサービスプラットホーム
US20110055585A1 (en) * 2008-07-25 2011-03-03 Kok-Wah Lee Methods and Systems to Create Big Memorizable Secrets and Their Applications in Information Engineering
US20150339664A1 (en) * 2014-05-21 2015-11-26 Erick Wong Offline authentication

Also Published As

Publication number Publication date
US20180176018A1 (en) 2018-06-21
CA3046678C (en) 2021-09-14
CA3046678A1 (en) 2018-06-28
RU2731330C1 (ru) 2020-09-01
TW201824808A (zh) 2018-07-01
AU2021202646A1 (en) 2021-05-27
JP6956198B2 (ja) 2021-11-02
TWI705688B (zh) 2020-09-21
CN107016267B (zh) 2020-09-29
EP3555758A1 (en) 2019-10-23
EP3555758B1 (en) 2023-04-19
PH12019501394A1 (en) 2020-02-10
JP2020504408A (ja) 2020-02-06
EP3555758A4 (en) 2020-07-29
CN107016267A (zh) 2017-08-04
KR20190099036A (ko) 2019-08-23
MX2019007060A (es) 2019-08-29
AU2017382164A1 (en) 2019-06-20
WO2018118933A1 (en) 2018-06-28
BR112019012669A2 (pt) 2019-12-24

Similar Documents

Publication Publication Date Title
US10878130B2 (en) Secure data transactions
US11212271B2 (en) Trusted login of user accounts
US10873573B2 (en) Authenticating a user and registering a wearable device
US10536461B2 (en) Service identity propagation between applications and reusable services
US11250404B2 (en) Transaction scheme for offline payment
US10693663B2 (en) Two dimensional code generation and recognition
US20180165760A1 (en) Transparent resource matching
US12021874B2 (en) Dynamic management of consent and permissioning between executed applications and programmatic interfaces
US11195177B1 (en) Distributed ledger systems for tracking recurring transaction authorizations
US20210328973A1 (en) Transactional identity system and server
AU2021202646A1 (en) Secure offline resource operations
US10657272B2 (en) Securely and efficiently sharing data exchange records

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
N231 Notification of change of applicant
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant