KR102458145B1 - Appratus and method for payment - Google Patents
Appratus and method for payment Download PDFInfo
- Publication number
- KR102458145B1 KR102458145B1 KR1020150158476A KR20150158476A KR102458145B1 KR 102458145 B1 KR102458145 B1 KR 102458145B1 KR 1020150158476 A KR1020150158476 A KR 1020150158476A KR 20150158476 A KR20150158476 A KR 20150158476A KR 102458145 B1 KR102458145 B1 KR 102458145B1
- Authority
- KR
- South Korea
- Prior art keywords
- payment
- module
- information
- token
- electronic device
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/16—Payments settled via telecommunication systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/32—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/32—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
- G06Q20/325—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices using wireless networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3821—Electronic credentials
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, 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/401—Transaction verification
- G06Q20/4018—Transaction verification using the card verification value [CVV] associated with the card
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
Abstract
전자 장치는 적어도 하나의 토큰을 저장하도록 동작할 수 있는 보안 모듈; 제 1 통신 모듈; 제 2 통신 모듈; 및 상기 보안 모듈, 상기 제 1 통신 모듈 및 상기 제2 통신 모듈에 기능적으로 연결된 적어도 하나의 프로세서를 포함하며, 상기 적어도 하나의 프로세서는 상기 제 1 통신 모듈 또는 상기 제 2 통신 모듈 중 결제를 위해 이용될 적어도 하나의 통신 모듈을 결정하고, 및 상기 적어도 하나의 토큰 중 상기 적어도 하나의 통신 모듈에 관련된 토큰을 포함하는 결제 정보를 외부 전자 장치에 전송하도록 설정될 수 있다.The electronic device includes a security module operable to store at least one token; a first communication module; a second communication module; and at least one processor operatively connected to the security module, the first communication module, and the second communication module, wherein the at least one processor is used for payment among the first communication module or the second communication module It may be configured to determine at least one communication module to be used, and to transmit payment information including a token related to the at least one communication module among the at least one token to the external electronic device.
Description
다양한 실시예들은, 전자 장치에 관한 것으로, 예를 들면, 전자 장치를 이용해 결제가 가능한 제어부를 포함하는 전자 장치에 관한 것이다. Various embodiments relate to an electronic device, for example, to an electronic device including a control unit capable of making a payment using the electronic device.
다양한 실시예들은, 전자 장치에 관한 것으로, 예를 들면, 전자 결제 시스템에 대한 장치 및 방법에 관한 것이다.Various embodiments relate to electronic devices, for example, to devices and methods for electronic payment systems.
이동 통신 기술의 발전과 더불어, 전자 장치는 음성 통화 기능뿐만 아니라 다양한 데이터 통신 기능을 수행할 수 있다. 전자 장치, 예를 들어, 모바일 기기 또는 사용자 기기는 다양한 어플리케이션을 통해서 다양한 서비스를 제공할 수 있다. 전자 장치는, 멀티미디어 서비스, 예를 들어, 뮤직 서비스, 동영상 서비스, 또는 디지털 방송 서비스, 또는 통화, 무선 인터넷, 단문 메시지 서비스(SMS, short message service), 멀티미디어 메시징 서비스(MMS, multimedia messaging service) 등의 네트워크 기반의 통신 서비스 등을 제공할 수 있다. 또한 전자 장치는, 단순한 통신 매체에서 커뮤니케이션, 유통, 인터넷, 또는 결제 등 다양한 기능이 가능한 기기로 진화하면서 사회, 문화, 금융, 또는 유통 산업분야 전반에 걸쳐 사용될 수 있다. 전자 장치는, 예를 들어, 결제 기능에서 전자 장치를 통한 모바일 결제 방식을 제공할 수 있다. 전자 장치는, 예를 들면, 현금에서 플라스틱 카드로 이행해 왔던 결제 방식에서 상기 전자 장치를 이용하여 결제를 할 수 있다. 전자 장치는, 예를 들면, 모바일 결제 서비스(mobile payment service)을 이용하여, 온라인 또는 오프라인(실제 상점이나 음식점에서 상품을 구입하여 결제를 진행하는 경우)상에서 이루어지는 서비스와 재화를 구매할 수 있도록 결제 기능을 제공할 수 있다. 또한 전자 장치는, 예를 들면, 결제 정보를 수신 또는 송신하기 위한 통신 기능을 구비할 수 있다.With the development of mobile communication technology, the electronic device may perform various data communication functions as well as a voice call function. An electronic device, for example, a mobile device or a user device, may provide various services through various applications. The electronic device includes a multimedia service, for example, a music service, a video service, or a digital broadcast service, or a call, wireless Internet, a short message service (SMS), a multimedia messaging service (MMS), and the like. of network-based communication services, etc. can be provided. In addition, the electronic device can be used throughout the social, cultural, financial, or distribution industries as it evolves from a simple communication medium to a device capable of various functions such as communication, distribution, the Internet, or payment. The electronic device may provide, for example, a mobile payment method through the electronic device in a payment function. The electronic device may, for example, make a payment using the electronic device in a payment method that has been transferred from cash to a plastic card. The electronic device uses, for example, a mobile payment service, a payment function to purchase services and goods made online or offline (when payment is made by purchasing a product at an actual store or restaurant) can provide In addition, the electronic device may have, for example, a communication function for receiving or transmitting payment information.
다양한 실시예들은, 모바일 결제 서비스를 위한 적어도 하나의 통신모듈을 이용하여 인증정보를 전송하는 방법 및 그 전자장치에 관한 것이다.Various embodiments relate to a method of transmitting authentication information using at least one communication module for a mobile payment service, and an electronic device thereof.
다양한 실시예들은, 모바일 결제 서비스를 위해, 시간 정보를 이용하여 보안성이 높은 결제 정보를 생성 및 전송하는 방법 및 그 전자장치에 관한 것이다.Various embodiments relate to a method of generating and transmitting highly secure payment information using time information for a mobile payment service, and an electronic device thereof.
다양한 실시예에 따른 전자 장치는 적어도 하나의 토큰을 저장하도록 동작할 수 있는 보안 모듈; 제 1 통신 모듈; 제 2 통신 모듈; 및 상기 보안 모듈, 상기 제 1 통신 모듈 및 상기 제2 통신 모듈에 기능적으로 연결된 적어도 하나의 프로세서를 포함하며, 상기 적어도 하나의 프로세서는 상기 제 1 통신 모듈 또는 상기 제 2 통신 모듈 중 결제를 위해 이용될 적어도 하나의 통신 모듈을 결정하고, 및 상기 적어도 하나의 토큰 중 상기 적어도 하나의 통신 모듈에 관련된 토큰을 포함하는 결제 정보를 외부 전자 장치에 전송하도록 설정될 수 있다.An electronic device according to various embodiments may include a security module operable to store at least one token; a first communication module; a second communication module; and at least one processor operatively connected to the security module, the first communication module, and the second communication module, wherein the at least one processor is used for payment among the first communication module or the second communication module It may be configured to determine at least one communication module to be used, and to transmit payment information including a token related to the at least one communication module among the at least one token to the external electronic device.
다양한 실시예에 따른 방법은 제 1 보안 영역, 제 2 보안 영역 및 적어도 하나의 결제 신호 모듈을 포함하는 전자 장치의 결제 정보 보안 방법에서, 상기 제 1 보안 영역에 상기 적어도 하나의 결제 신호 모듈 각각에 대응되는 적어도 하나의 토큰을 저장하는 동작; 상기 제 1 보안 영역 또는 상기 제 2 보안 영역 중 적어도 하나의 보안 영역에서 타임스탬프를 생성하는 동작; 상기 적어도 하나의 토큰 중에서 상기 적어도 하나의 결제 신호 모듈 중 하나에 대응하는 토큰 및 상기 타임스탬프 중 적어도 하나에 기초하여, 상기 제 2 보안 영역에서 결제 신호를 생성하는 동작; 및 상기 결제 신호를 외부 전자 장치에 전송하는 동작을 포함할 수 있다.In the method for securing payment information of an electronic device including a first security area, a second security area, and at least one payment signal module, the method according to various embodiments includes the at least one payment signal module in the first security area, respectively. storing the corresponding at least one token; generating a timestamp in at least one of the first security area and the second security area; generating a payment signal in the second security area based on at least one of a token corresponding to one of the at least one payment signal module among the at least one token and the timestamp; and transmitting the payment signal to an external electronic device.
다양한 실시예에 따른 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체는 보안 영역 및 적어도 하나의 결제 신호 모듈을 포함하는 전자 장치에서, 상기 보안 영역에 상기 적어도 하나의 결제 신호 모듈 각각에 대응되는 적어도 하나의 토큰을 저장하는 동작; 상기 보안 영역에서 타임스탬프를 생성하는 동작; 상기 적어도 하나의 토큰 중에서 상기 적어도 하나의 결제 신호 모듈 중 하나에 대응하는 토큰 및 상기 타임스탬프에 적어도 일부 기초하여, 상기 보안 영역에서 결제 신호를 생성하는 동작; 및 상기 결제 신호를 외부 전자 장치에 전송하는 동작을 실행할 수 있다.In an electronic device including a security area and at least one payment signal module, a computer-readable recording medium recording a program according to various embodiments includes at least one token corresponding to each of the at least one payment signal module in the security area. save action; generating a timestamp in the secure region; generating a payment signal in the secure area based at least in part on a token corresponding to one of the at least one payment signal module among the at least one token and the timestamp; and transmitting the payment signal to an external electronic device.
다양한 통신방식에 기반하여 모바일 결제 서비스를 제공할 수 있다. 또한, 다양한 실시예들은, 보안성이 높은 보안영역을 사용함으로써 더욱 안전한 무선 결제 환경을 제공할 수 있다.It is possible to provide a mobile payment service based on various communication methods. In addition, various embodiments may provide a more secure wireless payment environment by using a high security area.
도 1은 다양한 실시예에 따른 네트워크 환경을 도시하는 블럭도이다.
도 2는 다양한 실시예에 따른 전자 장치의 블럭도를 도시한다.
도 3은 다양한 실시예에 따른 프로그램 모듈의 블록도를 도시한다.
도 4는 다양한 실시예에 따른 전자 장치에서 운용되는 복수의 실행 환경을 도시한다.
도 5a 내지 5c는 다양한 실시예에 따른 TEE(trunsted execution environment)의 하드웨어 구조를 도시한다.
도 6은 다양한 실시예에 따른 결제 시스템을 도시한다.
도 7은 다양한 실시예에 따른 결제를 수행하기 위한 결제 시스템을 도시한다.
도 8은 다양한 실시예에 따른 전자 장치의 하드웨어 구조를 도시한다.
도 9는 다양한 실시예에 따른 토큰을 관리하기 위한 결제 시스템을 도시한다.
도 10은 다양한 실시 예에 따른 NFC(near field communication)를 이용한 결제 방식을 지원하는 전자장치를 도시한다.
도 11은 다양한 실시예에 따른 토큰을 이용한 결제 트랜젝션(transaction)하기 위한 방법을 도시한다.
도 12는 다양한 실시 예에 따른 전자장치의 구성도를 도시한다.
도 13은 다양한 실시 예에 따른 전자장치의 동작 방법을 위한 흐름도를 도시한다.
도 14는 다양한 실시 예에 따른 전자장치의 내부 구성요소들간 인터페이스를 도시한다.
도 15는 다양한 실시 예에 따른 모바일 결제 서비스를 위한 복수의 통신모듈을 포함한 전자장치의 동작 방법을 위한 흐름도를 도시한다.
도 16은 다양한 실시 예에 따른 전자장치의 내부 구성요소들간 인터페이스를 도시한다.
도 17은 다양한 실시 예에 따른 모바일 결제 서비스를 위한 복수의 통신모듈을 포함한 전자장치의 동작 방법을 위한 흐름도를 도시한다.
도 18는 다양한 실시예에 따른 전자 장치의 실행 환경에서 실행되기 위한 프로그램 모듈들을 도시한다.
도 19는 다양한 실시 예에 따른 전자장치의 내부 구성요소들간 인터페이스를 도시한다.
도 20은 다양한 실시 예에 따른 모바일 결제 서비스를 위한 복수의 통신모듈을 포함한 전자장치의 동작 방법을 위한 흐름도를 도시한다.
도 21은 다양한 실시 예에서 모바일 결제 서비스를 위한 복수의 통신모듈을 포함한 전자장치의 다른 동작 방법을 위한 흐름도를 도시한다.
도 22는 다양한 실시 예에 따른 전자장치의 내부 구성요소들간 인터페이스를 도시한다.
도 23은 다양한 실시 예에 따른 모바일 결제 서비스를 위한 복수의 통신모듈을 포함한 전자장치의 동작 방법을 위한 흐름도를 도시한다.
도 24는 다양한 실시 예에서 모바일 결제 서비스를 위한 복수의 통신모듈을 포함한 전자장치의 다른 동작 방법을 위한 흐름도를 도시한다.
도 25는 다양한 실시 예에 따른 전자장치의 내부 구성요소들간 인터페이스를 도시한다.
도 26은 다양한 실시 예에 따른 모바일 결제 서비스를 위한 복수의 통신모듈을 포함한 전자장치의 동작 방법을 위한 흐름도를 도시한다.
도 27은 다양한 실시 예에 따른 전자장치의 내부 구성요소들간 인터페이스를 도시한다.
도 28은 다양한 실시 예에 따른 모바일 결제 서비스를 위한 복수의 통신모듈을 포함한 전자장치의 동작 방법을 위한 흐름도를 도시한다.
도 29는 다양한 실시 예에 따른 모바일 결제 서비스를 위한 복수의 통신모듈을 포함한 전자장치의 다른 동작 방법을 위한 흐름도를 도시한다.
도 30은 다양한 실시 예에 따른 전자장치의 내부 구성요소들간 인터페이스를 도시한다.
도 31은 다양한 실시 예에 따른 모바일 결제 서비스를 위한 복수의 통신모듈을 포함한 전자장치의 동작 방법을 위한 흐름도를 도시한다.
도 32는 다양한 실시예에 따른 결제를 위한 정보 생성을 위한 전자 장치의 내부 구성 요소들 간의 인터페이스를 도시한다.
도 33은 다양한 실시예에 따른 결제를 위한 정보 생성을 위한 전자 장치의 내부 구성 요소들 간의 인터페이스를 도시한다.
도 34는 다양한 실시예에 따른 결제를 위한 정보 생성을 위한 전자 장치의 내부 구성 요소들 간의 인터페이스를 도시한다.
도 35는 다양한 실시예에 따른 결제를 위한 정보 생성을 위한 전자 장치의 내부 구성 요소들 간의 인터페이스를 도시한다.
도 36은 다양한 실시예에 다른 결제 정보의 유효 시간에 관한 도면이다.
도 37 내지 도 39는 다양한 실시예에 따른 결제 수단(예, 카드)의 구조의 일 예에 대한 도면이다.
도 40은 다양한 실시예에 따른 결제 정보의 구조를 도시한다.
도 41은 다양한 실시예에 따른 트랜젝션 데이터의 구조를 도시한다.
도 42는 다양한 실시예에 따른 결제 인증 데이터의 구조를 도시한다.
도 43는 다양한 실시예에 따른 결제 중계 모듈이 결제 어플리케이션의 PIN(personal identification number) 입력을 통한 인증 요청을 TEE의 보안 식별자 처리 모듈로 중계하는 기능을 도시한다.
도 44내지 45는 본 발명의 다양한 실시예에 따른 결제 중계 모듈이 생체 정보를 이용하여 인증을 수행한 결과를 이용하여 결제를 수행하는 방법을 도시한다.
도 46는 본 발명의 다양한 실시예에 따른 토큰 크립토그램을 생성하는 방법을 도시한다.
도 47은 다양한 실시예에 따른 타임스탬프 정보를 기초하여 생성된 결제 정보를 이용하여 결제 과정을 나타내는 순서도이다.
도 48은 다양한 실시예에 따른 타임스탬프 정보를 기초하여 생성된 결제 정보를 이용하여 결제 과정을 나타내는 순서도이다.
도 49는 다양한 실시예에 따른 토큰을 이용한 결제 트랜젝션(transaction)하기 위한 방법을 도시한다.1 is a block diagram illustrating a network environment according to various embodiments.
2 is a block diagram of an electronic device according to various embodiments of the present disclosure;
3 is a block diagram of a program module according to various embodiments.
4 illustrates a plurality of execution environments operated in an electronic device according to various embodiments of the present disclosure;
5A to 5C illustrate a hardware structure of a trusted execution environment (TEE) according to various embodiments.
6 illustrates a payment system according to various embodiments.
7 illustrates a payment system for performing payment according to various embodiments of the present disclosure.
8 illustrates a hardware structure of an electronic device according to various embodiments.
9 illustrates a payment system for managing tokens according to various embodiments.
10 illustrates an electronic device supporting a payment method using near field communication (NFC) according to various embodiments of the present disclosure.
11 illustrates a method for performing a payment transaction using a token according to various embodiments.
12 is a block diagram of an electronic device according to various embodiments of the present disclosure;
13 is a flowchart illustrating a method of operating an electronic device according to various embodiments of the present disclosure.
14 illustrates an interface between internal components of an electronic device according to various embodiments of the present disclosure;
15 is a flowchart illustrating a method of operating an electronic device including a plurality of communication modules for a mobile payment service according to various embodiments of the present disclosure.
16 illustrates an interface between internal components of an electronic device according to various embodiments of the present disclosure;
17 is a flowchart illustrating a method of operating an electronic device including a plurality of communication modules for a mobile payment service according to various embodiments of the present disclosure.
18 illustrates program modules to be executed in an execution environment of an electronic device according to various embodiments of the present disclosure;
19 illustrates an interface between internal components of an electronic device according to various embodiments of the present disclosure;
20 is a flowchart illustrating a method of operating an electronic device including a plurality of communication modules for a mobile payment service according to various embodiments of the present disclosure.
21 is a flowchart for another operating method of an electronic device including a plurality of communication modules for a mobile payment service according to various embodiments of the present disclosure.
22 illustrates an interface between internal components of an electronic device according to various embodiments of the present disclosure;
23 is a flowchart illustrating a method of operating an electronic device including a plurality of communication modules for a mobile payment service according to various embodiments of the present disclosure.
24 is a flowchart for another operating method of an electronic device including a plurality of communication modules for a mobile payment service according to various embodiments of the present disclosure.
25 illustrates an interface between internal components of an electronic device according to various embodiments of the present disclosure.
26 is a flowchart illustrating a method of operating an electronic device including a plurality of communication modules for a mobile payment service according to various embodiments of the present disclosure.
27 illustrates an interface between internal components of an electronic device according to various embodiments of the present disclosure;
28 is a flowchart illustrating a method of operating an electronic device including a plurality of communication modules for a mobile payment service according to various embodiments of the present disclosure.
29 is a flowchart illustrating another operation method of an electronic device including a plurality of communication modules for a mobile payment service according to various embodiments of the present disclosure.
30 illustrates an interface between internal components of an electronic device according to various embodiments of the present disclosure.
31 is a flowchart illustrating a method of operating an electronic device including a plurality of communication modules for a mobile payment service according to various embodiments of the present disclosure.
32 illustrates an interface between internal components of an electronic device for generating information for payment according to various embodiments of the present disclosure;
33 illustrates an interface between internal components of an electronic device for generating information for payment according to various embodiments of the present disclosure;
34 illustrates an interface between internal components of an electronic device for generating information for payment according to various embodiments of the present disclosure;
35 illustrates an interface between internal components of an electronic device for generating information for payment according to various embodiments of the present disclosure;
36 is a diagram illustrating an effective time of payment information according to various embodiments of the present disclosure;
37 to 39 are diagrams illustrating an example of the structure of a payment method (eg, a card) according to various embodiments of the present disclosure;
40 illustrates a structure of payment information according to various embodiments.
41 illustrates a structure of transaction data according to various embodiments.
42 illustrates a structure of payment authentication data according to various embodiments.
43 illustrates a function in which the payment relay module relays an authentication request through input of a personal identification number (PIN) of a payment application to the security identifier processing module of the TEE according to various embodiments of the present disclosure;
44 to 45 are diagrams illustrating a method in which a payment relay module performs a payment using a result of performing authentication using biometric information according to various embodiments of the present disclosure.
46 illustrates a method for generating a token cryptogram according to various embodiments of the present invention.
47 is a flowchart illustrating a payment process using payment information generated based on timestamp information according to various embodiments of the present disclosure;
48 is a flowchart illustrating a payment process using payment information generated based on timestamp information according to various embodiments of the present disclosure;
49 illustrates a method for performing a payment transaction using a token according to various embodiments.
이하, 본 문서의 다양한 실시예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 문서의 실시예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.Hereinafter, various embodiments of the present document will be described with reference to the accompanying drawings. However, it is not intended to limit the technology described in this document to specific embodiments, and it should be understood to include various modifications, equivalents, and/or alternatives of the embodiments of this document. . In connection with the description of the drawings, like reference numerals may be used for like components.
본 문서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.In this document, expressions such as "has," "may have," "includes," or "may include" refer to the presence of a corresponding characteristic (eg, a numerical value, function, operation, or component such as a part). and does not exclude the presence of additional features.
본 문서에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.In this document, expressions such as "A or B," "at least one of A and/and B," or "one or more of A or/and B" may include all possible combinations of the items listed together. . For example, "A or B," "at least one of A and B," or "at least one of A or B" means (1) includes at least one A, (2) includes at least one B; Or (3) it may refer to all cases including both at least one A and at least one B.
본 문서에서 사용된 "제 1," "제 2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 예를 들면, 제 1 전자 장치와 제 2 전자 장치는, 순서 또는 중요도와 무관하게, 서로 다른 전자 장치를 나타낼 수 있다. 예를 들면, 본 문서에 기재된 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 바꾸어 명명될 수 있다.As used herein, expressions such as "first," "second," "first," or "second," may modify various elements, regardless of order and/or importance, and refer to one element. It is used only to distinguish it from other components, and does not limit the components. For example, the first electronic device and the second electronic device may represent different electronic devices regardless of order or importance. For example, without departing from the scope of the rights described in this document, a first component may be referred to as a second component, and similarly, the second component may also be renamed as a first component.
어떤 구성요소(예: 제 1 구성요소)가 다른 구성요소(예: 제 2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제 3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제 1 구성요소)가 다른 구성요소(예: 제 2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제 3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.A component (eg, a first component) is "coupled with/to (operatively or communicatively)" to another component (eg, a second component) When referring to "connected to", it will be understood that the certain element may be directly connected to the other element or may be connected through another element (eg, a third element). On the other hand, when it is said that a component (eg, a first component) is "directly connected" or "directly connected" to another component (eg, a second component), the component and the It may be understood that other components (eg, a third component) do not exist between other components.
본 문서에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다. As used herein, the expression "configured to (or configured to)" depends on the context, for example, "suitable for," "having the capacity to ," "designed to," "adapted to," "made to," or "capable of." The term “configured (or configured to)” may not necessarily mean only “specifically designed to” in hardware. Instead, in some circumstances, the expression “a device configured to” may mean that the device is “capable of” with other devices or parts. For example, the phrase “a processor configured (or configured to perform) A, B, and C” refers to a dedicated processor (eg, an embedded processor) for performing the operations, or by executing one or more software programs stored in a memory device. , may mean a generic-purpose processor (eg, a CPU or an application processor) capable of performing corresponding operations.
본 문서에서 사용된 용어들은 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 다른 실시예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 문서에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 문서에 사용된 용어들 중 일반적인 사전에 정의된 용어들은, 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 문서의 실시예들을 배제하도록 해석될 수 없다.Terms used in this document are only used to describe specific embodiments, and may not be intended to limit the scope of other embodiments. The singular expression may include the plural expression unless the context clearly dictates otherwise. Terms used herein, including technical or scientific terms, may have the same meanings as commonly understood by one of ordinary skill in the art described in this document. Among the terms used in this document, terms defined in a general dictionary may be interpreted with the same or similar meaning to the meaning in the context of the related art, and unless explicitly defined in this document, ideal or excessively formal meanings is not interpreted as In some cases, even terms defined in this document cannot be construed to exclude embodiments of the present document.
본 문서의 다양한 실시예들에 따른 전자 장치는, 예를 들면, 스마트폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 영상 전화기, 전자책 리더기(e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), 워크스테이션(workstation), 서버, PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라(camera), 또는 웨어러블 장치(wearable device) 중 적어도 하나를 포함할 수 있다. 다양한 실시예에 따르면, 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드(skin pad) 또는 문신), 또는 생체 이식형(예: implantable circuit) 중 적어도 하나를 포함할 수 있다. The electronic device according to various embodiments of the present document may include, for example, a smartphone, a tablet personal computer, a mobile phone, a video phone, and an e-book reader. , desktop personal computer, laptop personal computer, netbook computer, workstation, server, personal digital assistant (PDA), portable multimedia player (PMP), MP3 player, mobile It may include at least one of a medical device, a camera, and a wearable device. According to various embodiments, the wearable device may be an accessory type (eg, a watch, ring, bracelet, anklet, necklace, eyeglass, contact lens, or head-mounted-device (HMD)), a fabric or an integral piece of clothing ( It may include at least one of, for example, electronic clothing), a body attachable type (eg, a skin pad or tattoo), or a bioimplantable type (eg, an implantable circuit).
어떤 실시예들에서, 전자 장치는 가전 제품(home appliance)일 수 있다. 가전 제품은, 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(set-top box), 홈 오토매이션 컨트롤 패널(home automation control panel), 보안 컨트롤 패널(security control panel), TV 박스(예: 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 게임 콘솔(예: XboxTM, PlayStationTM), 전자 사전, 전자 키, 캠코더(camcorder), 또는 전자 액자 중 적어도 하나를 포함할 수 있다.In some embodiments, the electronic device may be a home appliance. Home appliances are, for example, televisions, digital video disk (DVD) players, audio systems, refrigerators, air conditioners, vacuum cleaners, ovens, microwave ovens, washing machines, air purifiers, set-top boxes, home automation controls. panel (home automation control panel), security control panel (security control panel), TV box (eg Samsung HomeSync TM , Apple TV TM , or Google TV TM ), game console (eg Xbox TM , PlayStation TM ), electronic dictionary , an electronic key, a camcorder, or an electronic picture frame.
다른 실시예에서, 전자 장치는, 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 또는 초음파기 등), 네비게이션(navigation) 장치, 위성 항법 시스템(GNSS(global navigation satellite system)), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트(infotainment) 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자 장치(avionics), 보안 기기, 차량용 헤드 유닛(head unit), 산업용 또는 가정용 로봇, 금융 기관의 ATM(automatic teller's machine), 상점의 POS(point of sales), 또는 사물 인터넷 장치(internet of things)(예: 전구, 각종 센서, 전기 또는 가스 미터기, 스프링클러 장치, 화재경보기, 온도조절기(thermostat), 가로등, 토스터(toaster), 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다.In another embodiment, the electronic device may include various medical devices (eg, various portable medical measuring devices (eg, a blood glucose meter, a heart rate monitor, a blood pressure monitor, or a body temperature monitor), magnetic resonance angiography (MRA), magnetic resonance imaging (MRI), Computed tomography (CT), imagers, or ultrasound machines, etc.), navigation devices, satellite navigation systems (global navigation satellite system (GNSS)), event data recorder (EDR), flight data recorder (FDR), automotive infotainment ) devices, ship electronic equipment (e.g. ship navigation systems, gyro compasses, etc.), avionics, security devices, vehicle head units, industrial or domestic robots, and automatic teller's machines (ATMs) in financial institutions. , point of sales (POS) in stores, or internet of things (e.g. light bulbs, sensors, electricity or gas meters, sprinkler devices, smoke alarms, thermostats, street lights, toasters) , exercise equipment, hot water tank, heater, boiler, etc.) may include at least one.
어떤 실시예에 따르면, 전자 장치는 가구(furniture) 또는 건물/구조물의 일부, 전자 보드(electronic board), 전자 사인 수신 장치(electronic signature receiving device), 프로젝터(projector), 또는 각종 계측 기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시예에서, 전자 장치는 전술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 어떤 실시예에 따른 전자 장치는 플렉서블 전자 장치일 수 있다. 또한, 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않으며, 기술 발전에 따른 새로운 전자 장치를 포함할 수 있다.According to some embodiments, the electronic device is a piece of furniture or part of a building/structure, an electronic board, an electronic signature receiving device, a projector, or various measuring instruments (eg, water, electricity, gas, or a radio wave measuring device). In various embodiments, the electronic device may be a combination of one or more of the various devices described above. The electronic device according to an embodiment may be a flexible electronic device. In addition, the electronic device according to the embodiment of the present document is not limited to the above-described devices, and may include a new electronic device according to technological development.
이하, 첨부 도면을 참조하여, 다양한 실시예에 따른 전자 장치가 설명된다. 본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다. Hereinafter, an electronic device according to various embodiments will be described with reference to the accompanying drawings. In this document, the term user may refer to a person who uses an electronic device or a device (eg, an artificial intelligence electronic device) using the electronic device.
도 1은, 다양한 실시예에 따른, 네트워크 환경을 도시하는 블럭도(100)이다. 도1을 참조하여, 전자 장치 (101, 102 또는 104) 또는 서버(106)가 네트워크(162) 또는 근거리 통신(164)를 통하여 서로 연결될 수 있다. 전자 장치(101)는 버스(110), 프로세서(120), 메모리(130), 입출력 인터페이스(150), 디스플레이(160), 및 통신 인터페이스(170)를 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)는, 구성요소들 중 적어도 하나를 생략하거나 다른 구성요소를 추가적으로 구비할 수 있다. 1 is a block diagram 100 illustrating a network environment, in accordance with various embodiments. Referring to FIG. 1 , an
버스(110)는, 예를 들면, 구성요소들(110-170)을 서로 연결하고, 구성요소들 간의 통신(예: 제어 메시지 및/또는 데이터)을 전달하는 회로를 포함할 수 있다.The
프로세서(120)는, 중앙처리장치(central processing unit(CPU)), 어플리케이션 프로세서(application processor(AP)), 또는 커뮤니케이션 프로세서(communication processor(CP)) 중 하나 또는 그 이상을 포함할 수 있다. 프로세서(120)는, 예를 들면, 전자 장치(101)의 적어도 하나의 다른 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다. The
메모리(130)는, 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 메모리(130)는, 예를 들면, 전자 장치(101)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 한 실시예에 따르면, 메모리(130)는 소프트웨어 및/또는 프로그램(140)을 저장할 수 있다. 프로그램(140)은, 예를 들면, 커널(141), 미들웨어(143), 어플리케이션 프로그래밍 인터페이스(application programming interface(API))(145), 및/또는 어플리케이션 프로그램(또는 "어플리케이션")(147) 등을 포함할 수 있다. 커널(141), 미들웨어(143), 또는 API(145)의 적어도 일부는, 운영 시스템(operating system(OS))으로 지칭될 수 있다.The
커널(141)은, 예를 들면, 다른 프로그램들(예: 미들웨어(143), API(145), 또는 어플리케이션 프로그램(147))에 구현된 동작 또는 기능을 실행하는 데 사용되는 시스템 리소스들(예: 버스(110), 프로세서(120), 또는 메모리(130) 등)을 제어 또는 관리할 수 있다. 또한, 커널(141)은 미들웨어(143), API(145), 또는 어플리케이션 프로그램(147)에서 전자 장치(101)의 개별 구성요소에 접근함으로써, 시스템 리소스들을 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다. The
미들웨어(143)는, 예를 들면, API(145) 또는 어플리케이션 프로그램(147)이 커널(141)과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다. The
또한, 미들웨어(143)는 어플리케이션 프로그램(147)으로부터 수신된 하나 이상의 작업 요청들을 우선 순위에 따라 처리할 수 있다. 예를 들면, 미들웨어(143)는 어플리케이션 프로그램(147) 중 적어도 하나에 전자 장치(101)의 시스템 리소스(예: 버스(110), 프로세서(120), 또는 메모리(130) 등)를 사용할 수 있는 우선 순위를 부여할 수 있다. 예컨대, 미들웨어(143)는 상기 적어도 하나에 부여된 우선 순위에 따라 상기 하나 이상의 작업 요청들을 처리함으로써, 상기 하나 이상의 작업 요청들에 대한 스케쥴링 또는 로드 밸런싱 등을 수행할 수 있다.Also, the
API(145)는, 예를 들면, 어플리케이션(147)이 커널(141) 또는 미들웨어(143)에서 제공되는 기능을 제어하기 위한 인터페이스로, 예를 들면, 파일 제어, 창 제어, 영상 처리, 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수(예: 명령어)를 포함할 수 있다. The
입출력 인터페이스(150)는, 예를 들면, 사용자 또는 다른 외부 기기로부터 입력된 명령 또는 데이터를 전자 장치(101)의 다른 구성요소(들)에 전달할 수 있는 인터페이스의 역할을 할 수 있다. 또한, 입출력 인터페이스(150)는 전자 장치(101)의 다른 구성요소(들)로부터 수신된 명령 또는 데이터를 사용자 또는 다른 외부 기기로 출력할 수 있다. The input/
디스플레이(160)는, 예를 들면, 액정 디스플레이(liquid crystal display(LCD)), 발광 다이오드(light-emitting diode(LED)) 디스플레이, 유기 발광 다이오드(organic light-emitting diode(OLED)) 디스플레이, 또는 마이크로 전자기계 시스템(microelectromechanical systems(MEMS)) 디스플레이, 또는 전자종이(electronic paper) 디스플레이를 포함할 수 있다. 디스플레이(160)는, 예를 들면, 사용자에게 각종 콘텐츠(예: 텍스트, 이미지, 비디오, 아이콘, 또는 심볼 등)을 표시할 수 있다. 디스플레이(160)는, 터치 스크린을 포함할 수 있으며, 예를 들면, 전자 펜 또는 사용자의 신체의 일부를 이용한 터치, 제스쳐, 근접, 또는 호버링 입력을 수신할 수 있다.
통신 인터페이스(170)는, 예를 들면, 전자 장치(101)와 외부 장치(예: 제 1 외부 전자 장치(102), 제 2 외부 전자 장치(104), 또는 서버(106)) 간의 통신을 설정할 수 있다. 예를 들면, 통신 인터페이스(170)는 무선 통신 또는 유선 통신을 통해서 네트워크(162)에 연결되어 외부 장치(예: 제 2 외부 전자 장치(104) 또는 서버(106))와 통신할 수 있다.The
무선 통신은, 예를 들면, 셀룰러 통신 프로토콜로서, 예를 들면, LTE(long-term evolution), LTE-A(LTE Advance), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), 또는 GSM(Global System for Mobile Communications) 등 중 적어도 하나를 사용할 수 있다. 또한, 무선 통신은, 예를 들면, 근거리 통신(164)을 포함할 수 있다. 근거리 통신(164)은, 예를 들면, WiFi(wireless fidelity), 블루투스(Bluetooth), NFC(near field communication), MST(magnetic stripe transmission), 또는 GNSS(global navigation satellite system) 등 중 적어도 하나를 포함할 수 있다. Wireless communication is, for example, a cellular communication protocol, for example, long-term evolution (LTE), LTE Advance (LTE-A), code division multiple access (CDMA), wideband CDMA (WCDMA), universal (UMTS). At least one of mobile telecommunications system), Wireless Broadband (WiBro), and Global System for Mobile Communications (GSM) may be used. Also, wireless communication may include, for example, short-
MST는 전자기 신호를 이용하여 전송 데이터에 따라 펄스를 생성하고, 상기 펄스는 자기장 신호를 발생시킬 수 있다. 전자 장치(101)는 상기 자기장 신호를 POS(point of sales)에 전송하고, POS는 MST 리더(MST reader)를 이용하여 상기 자기장 신호는 검출하고, 검출된 자기장 신호를 전기 신호로 변환함으로써 상기 데이터를 복원할 수 있다.The MST may generate a pulse according to transmitted data using an electromagnetic signal, and the pulse may generate a magnetic field signal. The electronic device 101 transmits the magnetic field signal to a point of sales (POS), the POS detects the magnetic field signal using an MST reader, and converts the detected magnetic field signal into an electric signal to convert the data can be restored.
GNSS는 사용 지역 또는 대역폭 등에 따라, 예를 들면, GPS(global positioning system), Glonass(global navigation satellite system), Beidou navigation satellite system(이하 “Beidou”) 또는 Galileo, the European global satellite-based navigation system 중 적어도 하나를 포함할 수 있다. 이하, 본 문서에서는, “GPS”는 “GNSS”와 혼용되어 사용(interchangeably used)될 수 있다. 유선 통신은, 예를 들면, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard232), 또는 POTS(plain old telephone service) 등 중 적어도 하나를 포함할 수 있다. 네트워크(162)는 통신 네트워크(telecommunications network), 예를 들면, 컴퓨터 네트워크(computer network)(예: LAN 또는 WAN), 인터넷, 또는 전화 망(telephone network) 중 적어도 하나를 포함할 수 있다.GNSS is, depending on the region or bandwidth used, for example, global positioning system (GPS), global navigation satellite system (Glonass), Beidou navigation satellite system (hereinafter “Beidou”) or Galileo, the European global satellite-based navigation system. It may include at least one. Hereinafter, in this document, "GPS" may be used interchangeably with "GNSS". Wired communication may include, for example, at least one of universal serial bus (USB), high definition multimedia interface (HDMI), recommended standard232 (RS-232), or plain old telephone service (POTS). The
제 1 및 제 2 외부 전자 장치(102, 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 한 실시예에 따르면, 서버(106)는 하나 또는 그 이상의 서버들의 그룹을 포함할 수 있다. 다양한 실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 전자 장치(예: 전자 장치(102,104), 또는 서버(106)에서 실행될 수 있다. 한 실시예에 따르면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 다른 장치(예: 전자 장치(102, 104), 또는 서버(106))에게 요청할 수 있다. 다른 전자 장치(예: 전자 장치(102, 104), 또는 서버(106))는 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 수신된 결과를 그대로 또는 추가적으로 처리하여 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.Each of the first and second external
도 2는 다양한 실시예에 따른, 전자 장치(201)를 도시하는 블록도(200)이다. 전자 장치(201)는, 예를 들면, 도 1에 도시된 전자 장치(101)의 전체 또는 일부를 포함할 수 있다. 전자 장치(201)는 하나 이상의 프로세서(예: AP(application processor))(210), 통신 모듈(220), (가입자 식별 모듈(224), 메모리(230), 센서 모듈(240), 입력 장치(250), 디스플레이(260), 인터페이스(270), 오디오 모듈(280), 카메라 모듈(291), 전력 관리 모듈(295), 배터리(296), 인디케이터(297), 및 모터(298) 를 포함할 수 있다.2 is a block diagram 200 illustrating an electronic device 201, according to various embodiments. The electronic device 201 may include, for example, all or a part of the electronic device 101 illustrated in FIG. 1 . The electronic device 201 includes one or more processors (eg, an application processor (AP)) 210 , a
프로세서(210)는, 예를 들면, 운영 체제 또는 응용 프로그램을 구동하여 프로세서(210)에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 프로세서(210)는, 예를 들면, SoC(system on chip) 로 구현될 수 있다. 한 실시예에 따르면, 프로세서(210)는 GPU(graphic processing unit) 및/또는 이미지 신호 프로세서(image signal processor)를 더 포함할 수 있다. 프로세서(210)는 도 2에 도시된 구성요소들 중 적어도 일부(예: 셀룰러 모듈(221))를 포함할 수도 있다. 프로세서(210) 는 다른 구성요소들(예: 비휘발성 메모리) 중 적어도 하나로부터 수신된 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리하고, 다양한 데이터를 비휘발성 메모리에 저장(store)할 수 있다.The
통신 모듈(220)은, 도 1의 통신 인터페이스(170)와 동일 또는 유사한 구성을 가질 수 있다. 통신 모듈(220)은, 예를 들면, 셀룰러 모듈(221), WiFi 모듈(222), 블루투스 모듈(223), GNSS 모듈(224)(예: GPS 모듈, Glonass 모듈, Beidou 모듈, 또는 Galileo 모듈), NFC 모듈(225), MST 모듈(226), 및 RF(radio frequency) 모듈(227)를 포함할 수 있다.The
셀룰러 모듈(221)은, 예를 들면, 통신망을 통해서 음성 통화, 영상 통화, 문자 서비스, 또는 인터넷 서비스 등을 제공할 수 있다. 한 실시예에 따르면, 셀룰러 모듈(221)은 가입자 식별 모듈(예: SIM 카드)(229)을 이용하여 통신 네트워크 내에서 전자 장치(201)의 구별 및 인증을 수행할 수 있다. 한 실시예에 따르면, 셀룰러 모듈(221)은 프로세서(210)가 제공할 수 있는 기능 중 적어도 일부 기능을 수행할 수 있다. 한 실시예에 따르면, 셀룰러 모듈(221)은 커뮤니케이션 프로세서(CP: communication processor)를 포함할 수 있다.The cellular module 221 may provide, for example, a voice call, a video call, a text service, or an Internet service through a communication network. According to an embodiment, the cellular module 221 may use a subscriber identification module (eg, a SIM card) 229 to identify and authenticate the electronic device 201 within a communication network. According to an embodiment, the cellular module 221 may perform at least some of the functions that the
WiFi 모듈(222), 블루투스 모듈(223), GNSS 모듈(224), NFC 모듈(225) 또는 MST 모듈(226) 각각은, 예를 들면, 해당하는 모듈을 통해서 송수신되는 데이터를 처리하기 위한 프로세서를 포함할 수 있다. 어떤 실시예에 따르면, 셀룰러 모듈(221), WiFi 모듈(222), 블루투스 모듈(223), GNSS 모듈(224), NFC 모듈(225) 또는 MST 모듈(226) 중 적어도 일부(예: 두 개 이상)는 하나의 integrated chip(IC) 또는 IC 패키지 내에 포함될 수 있다. Each of the
RF 모듈(227)은, 예를 들면, 통신 신호(예: RF 신호)를 송수신할 수 있다. RF 모듈(227)은, 예를 들면, 트랜시버(transceiver), PAM(power amp module), 주파수 필터(frequency filter), LNA(low noise amplifier), 또는 안테나 등을 포함할 수 있다. 다른 실시예에 따르면, 셀룰러 모듈(221), WiFi 모듈(222), 블루투스 모듈(223), GNSS 모듈(224), NFC 모듈(225) 또는 MST 모듈(226) 중 적어도 하나는 별개의 RF 모듈을 통하여 RF 신호를 송수신할 수 있다. The
가입자 식별 모듈(229)은, 예를 들면, 가입자 식별 모듈을 포함하는 카드 및/또는 내장 SIM(embedded SIM)을 포함할 수 있으며, 고유한 식별 정보(예: ICCID(integrated circuit card identifier)) 또는 가입자 정보(예: IMSI(international mobile subscriber identity))를 포함할 수 있다.
메모리(230)(예: 메모리(130))는, 예를 들면, 내장 메모리(232) 또는 외장 메모리(234)를 포함할 수 있다. 내장 메모리(232)는, 예를 들면, 휘발성 메모리(예: DRAM(dynamic RAM), SRAM(static RAM), 또는 SDRAM(synchronous dynamic RAM) 등), 비휘발성 메모리(non-volatile Memory)(예: OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, 플래시 메모리(예: NAND flash 또는 NOR flash 등), 하드 드라이브, 또는 솔리드 스테이트 드라이브(solid state drive(SSD)) 중 적어도 하나를 포함할 수 있다. The memory 230 (eg, the memory 130 ) may include, for example, an
외장 메모리(234)는 플래시 드라이브(flash drive), 예를 들면, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital), MMC(multi-media card) 또는 메모리 스틱(memory stick) 등을 더 포함할 수 있다. 외장 메모리(234)는 다양한 인터페이스를 통하여 전자 장치(201)와 기능적으로 및/또는 물리적으로 연결될 수 있다.The
보안 모듈(236)은 메모리(230)보다 상대적으로 보안 레벨이 높은 저장 공간을 포함하는 모듈로써, 안전한 데이터 저장 및 보호된 실행 환경을 보장해주는 회로일 수 있다. 예를 들면, 전자 장치는 높은 보안성이 요구되는 데이터(예:생체 정보, 개인정보, 카드정보)를 암호화하고, 암호화에 사용한 키를 보안 모듈(236)에 저장 할 수 있다. 보안 모듈(236)은 별도의 회로로 구현될 수 있으며, 별도의 프로세서를 포함할 수 있다. 보안 모듈(236)은, 예를 들면, 탈착 가능한 스마트 칩, 시큐어 디지털(secure digital(SD)) 카드 내에 존재하거나, 또는 전자 장치(201)의 고정 칩 내에 내장된 내장형 보안 요소(embedded secure element(eSE))를 포함할 수 있다. 또한, 보안 모듈(236)은 전자 장치(201)의 운영 체제(operating system(OS))와 다른 운영 체제로 구동될 수 있다. 예를 들면, JCOP(java card open platform) 운영 체제를 기반으로 동작할 수 있다. The security module 236 is a module including a storage space having a relatively higher security level than the
센서 모듈(240)은, 예를 들면, 물리량을 계측하거나 전자 장치(201)의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 센서 모듈(240)은, 예를 들면, 제스처 센서(240A), 자이로 센서(240B), 기압 센서(240C), 마그네틱 센서(240D), 가속도 센서(240E), 그립 센서(240F), 근접 센서(240G), 컬러(color) 센서(240H)(예: RGB(red, green, blue) 센서), 생체 센서(240I), 온/습도 센서(240J), 조도 센서(240K), 또는 UV(ultra violet) 센서(240M) 중의 적어도 하나를 포함할 수 있다. 추가적으로 또는 대체적으로(additionally or alternatively), 센서 모듈(240)은, 예를 들면, 후각 센서(E-nose sensor), EMG 센서(electromyography sensor), EEG 센서(electroencephalogram sensor), ECG 센서(electrocardiogram sensor), IR(infrared) 센서, 홍채 센서 및/또는 지문 센서를 포함할 수 있다. 센서 모듈(240)은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어 회로를 더 포함할 수 있다. 어떤 실시예에서는, 전자 장치(201)는 프로세서(210)의 일부로서 또는 별도로, 센서 모듈(240)을 제어하도록 구성된 프로세서를 더 포함하여, 프로세서(210)가 슬립(sleep) 상태에 있는 동안, 센서 모듈(240)을 제어할 수 있다.The
입력 장치(250)는, 예를 들면, 터치 패널(touch panel)(252), (디지털) 펜 센서(pen sensor)(254), 키(key)(256), 또는 초음파(ultrasonic) 입력 장치(258)를 포함할 수 있다. 터치 패널(252)은, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다. 또한, 터치 패널(252)은 제어 회로를 더 포함할 수도 있다. 터치 패널(252)은 택타일 레이어(tactile layer)를 더 포함하여, 사용자에게 촉각 반응을 제공할 수 있다. The
(디지털) 펜 센서(254)는, 예를 들면, 터치 패널의 일부이거나, 별도의 인식용 쉬트(sheet)를 포함할 수 있다. 키(256)는, 예를 들면, 물리적인 버튼, 광학식 키, 또는 키패드를 포함할 수 있다. 초음파 입력 장치(258)는 마이크(예: 마이크(288))를 통해, 입력 도구에서 발생된 초음파를 감지하여, 상기 감지된 초음파에 대응하는 데이터를 확인할 수 있다.The (digital)
디스플레이(260)(예: 디스플레이(160))는 패널(262), 홀로그램 장치(264), 또는 프로젝터(266)를 포함할 수 있다. 패널(262)은, 도 1의 디스플레이(160)와 동일 또는 유사한 구성을 포함할 수 있다. 패널(262)은, 예를 들면, 유연하게(flexible), 투명하게(transparent), 또는 착용할 수 있게(wearable) 구현될 수 있다. 패널(262)은 터치 패널(252)과 하나의 모듈로 구성될 수도 있다. 홀로그램 장치(264)는 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 프로젝터(266)는 스크린에 빛을 투사하여 영상을 표시할 수 있다. 스크린은, 예를 들면, 전자 장치(201)의 내부 또는 외부에 위치할 수 있다. 한 실시예에 따르면, 디스플레이(260)는 패널(262), 홀로그램 장치(264), 또는 프로젝터(266)를 제어하기 위한 제어 회로를 더 포함할 수 있다. The display 260 (eg, the display 160 ) may include a
인터페이스(270)는, 예를 들면, HDMI(high-definition multimedia interface)(272), USB(universal serial bus)(274), 광 인터페이스(optical interface)(276), 또는 D-sub(D-subminiature)(278)를 포함할 수 있다. 인터페이스(270)는, 예를 들면, 도 1에 도시된 통신 인터페이스(170)에 포함될 수 있다. 추가적으로 또는 대체적으로(additionally and alternatively), 인터페이스(270)는, 예를 들면, MHL(mobile high-definition link) 인터페이스, SD(secure digital) 카드/MMC(multi-media card) 인터페이스, 또는 IrDA(infrared data association) 규격 인터페이스를 포함할 수 있다. The
오디오 모듈(280)은, 예를 들면, 소리(sound)와 전기 신호를 쌍방향으로 변환시킬 수 있다. 오디오 모듈(280)의 적어도 일부 구성요소는, 예를 들면, 도 1 에 도시된 입출력 인터페이스(145)에 포함될 수 있다. 오디오 모듈(280)은, 예를 들면, 스피커(282), 리시버(284), 이어폰(286), 또는 마이크(288) 등을 통해 입력 또는 출력되는 소리 정보를 처리할 수 있다. The
카메라 모듈(291)은, 예를 들면, 정지 영상 및 동영상을 촬영할 수 있는 장치로서, 한 실시예에 따르면, 하나 이상의 이미지 센서(예: 전면 센서 또는 후면 센서), 렌즈, ISP(image signal processor), 또는 플래시(flash)(예: LED 또는 xenon lamp 등)를 포함할 수 있다.The
전력 관리 모듈(295)은, 예를 들면, 전자 장치(201)의 전력을 관리할 수 있다. 한 실시예에 따르면, 전력 관리 모듈(295)은 PMIC(power management integrated circuit), 충전 IC(charger integrated circuit), 또는 배터리 또는 연료 게이지(battery or fuel gauge)를 포함할 수 있다. PMIC는, 유선 및/또는 무선 충전 방식을 가질 수 있다. 무선 충전 방식은, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등을 포함하며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로, 또는 정류기 등을 더 포함할 수 있다. 배터리 게이지는, 예를 들면, 배터리(296)의 잔량, 충전 중 전압, 전류, 또는 온도를 측정할 수 있다. 배터리(296)는, 예를 들면, 충전식 전지(rechargeable battery) 및/또는 태양 전지(solar battery)를 포함할 수 있다. The power management module 295 may manage power of the electronic device 201 , for example. According to an embodiment, the power management module 295 may include a power management integrated circuit (PMIC), a charger integrated circuit (IC), or a battery or fuel gauge. The PMIC may have a wired and/or wireless charging method. The wireless charging method includes, for example, a magnetic resonance method, a magnetic induction method, or an electromagnetic wave method, and may further include an additional circuit for wireless charging, for example, a coil loop, a resonance circuit, or a rectifier. have. The battery gauge may measure, for example, the remaining amount of the
인디케이터(297)는 전자 장치(201) 또는 그 일부(예: 프로세서(210))의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 모터(298)는 전기적 신호를 기계적 진동으로 변환할 수 있고, 진동(vibration), 또는 햅틱(haptic) 효과 등을 발생시킬 수 있다. 도시되지는 않았으나, 전자 장치(201)는 모바일 TV 지원을 위한 처리 장치(예: GPU)를 포함할 수 있다. 모바일 TV 지원을 위한 처리 장치는, 예를 들면, DMB(digital multimedia broadcasting), DVB(digital video broadcasting), 또는 미디어플로(mediaFloTM) 등의 규격에 따른 미디어 데이터를 처리할 수 있다. The
본 문서에서 기술된 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 다양한 실시예에서, 전자 장치는 본 문서에서 기술된 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 또한, 다양한 실시예에 따른 전자 장치의 구성요소들 중 일부가 결합되어 하나의 개체(entity)로 구성됨으로써, 결합되기 이전의 해당 구성요소들의 기능을 동일하게 수행할 수 있다.Each of the components described in this document may be composed of one or more components, and the name of the component may vary depending on the type of the electronic device. In various embodiments, the electronic device may be configured to include at least one of the components described in this document, and some components may be omitted or may further include additional other components. In addition, since some of the components of the electronic device according to various embodiments are combined to form a single entity, the functions of the components prior to being combined may be identically performed.
도 3은 다양한 실시예에 따른, 프로그램 모듈(310)을 도시하는 블록도(300)이다. 한 실시예에 따르면, 프로그램 모듈(310)(예: 프로그램(140))은 전자 장치(예: 전자 장치(101))에 관련된 자원을 제어하는 운영 체제(operating system(OS)) 및/또는 운영 체제 상에서 구동되는 다양한 어플리케이션(예: 어플리케이션 프로그램(147))을 포함할 수 있다. 운영 체제는, 예를 들면, 안드로이드(androidTM), iOSTM, 윈도우즈(windowsTM), 심비안(symbianTM), 타이젠(tizenTM), 또는 바다(badaTM) 등이 될 수 있다.3 is a block diagram 300 illustrating a
프로그램 모듈(310)은 커널(320), 미들웨어(330), 어플리케이션 프로그래밍 인터페이스(application programming interface (API))(360), 및/또는 어플리케이션(370)을 포함할 수 있다. 프로그램 모듈(310)의 적어도 일부는 전자 장치 상에 프리로드(preload) 되거나, 외부 전자 장치(예: 전자 장치(102, 104), 서버(106) 등)로부터 다운로드(download) 가능하다.The
커널(320)(예: 커널(141))은, 예를 들면, 시스템 리소스 매니저(321) 및/또는 디바이스 드라이버(323)를 포함할 수 있다. 시스템 리소스 매니저(321)는 시스템 리소스의 제어, 할당, 또는 회수 등을 수행할 수 있다. 한 실시예에 따르면, 시스템 리소스 매니저(321)는 프로세스 관리부, 메모리 관리부, 또는 파일 시스템 관리부 등을 포함할 수 있다. 디바이스 드라이버(323)는, 예를 들면, 디스플레이 드라이버, 카메라 드라이버, 블루투스 드라이버, 공유 메모리 드라이버, USB 드라이버, 키패드 드라이버, WiFi 드라이버, 오디오 드라이버, 또는 IPC(inter-process communication) 드라이버를 포함할 수 있다. The kernel 320 (eg, the kernel 141 ) may include, for example, a system resource manager 321 and/or a device driver 323 . The system resource manager 321 may control, allocate, or recover system resources. According to an embodiment, the system resource manager 321 may include a process manager, a memory manager, or a file system manager. The device driver 323 may include, for example, a display driver, a camera driver, a Bluetooth driver, a shared memory driver, a USB driver, a keypad driver, a WiFi driver, an audio driver, or an inter-process communication (IPC) driver. .
미들웨어(330)는, 예를 들면, 어플리케이션(370)이 공통적으로 필요로 하는 기능을 제공하거나, 어플리케이션(370)이 전자 장치 내부의 제한된 시스템 자원을 효율적으로 사용할 수 있도록 API(360)를 통해 다양한 기능들을 어플리케이션(370)으로 제공할 수 있다. 한 실시예에 따르면, 미들웨어(330)(예: 미들웨어(143))는 런타임 라이브러리(335), 어플리케이션 매니저(application manager)(341), 윈도우 매니저(window manager)(342), 멀티미디어 매니저(multimedia manager)(343), 리소스 매니저(resource manager)(344), 파워 매니저(power manager)(345), 데이터베이스 매니저(database manager)(346), 패키지 매니저(package manager)(347), 연결 매니저(connectivity manager)(348), 통지 매니저(notification manager)(349), 위치 매니저(location manager)(350), 그래픽 매니저(graphic manager)(351), 보안 매니저(security manager)(352), 또는 결제 매니저(354) 중 적어도 하나를 포함할 수 있다.The middleware 330 provides, for example, functions commonly required by the applications 370 or provides various functions through the
런타임 라이브러리(335)는, 예를 들면, 어플리케이션(370)이 실행되는 동안에 프로그래밍 언어를 통해 새로운 기능을 추가하기 위해 컴파일러가 사용하는 라이브러리 모듈을 포함할 수 있다. 런타임 라이브러리(335)는 입출력 관리, 메모리 관리, 또는 산술 함수에 대한 기능 등을 수행할 수 있다. The
어플리케이션 매니저(341)는, 예를 들면, 어플리케이션(370) 중 적어도 하나의 어플리케이션의 생명 주기(life cycle)를 관리할 수 있다. 윈도우 매니저(342)는 화면에서 사용하는 GUI 자원을 관리할 수 있다. 멀티미디어 매니저(343)는 다양한 미디어 파일들의 재생에 필요한 포맷을 파악하고, 해당 포맷에 맞는 코덱(codec)을 이용하여 미디어 파일의 인코딩(encoding) 또는 디코딩(decoding)을 수행할 수 있다. 리소스 매니저(344)는 어플리케이션(370) 중 적어도 어느 하나의 어플리케이션의 소스 코드, 메모리 또는 저장 공간 등의 자원을 관리할 수 있다. The application manager 341 may manage, for example, a life cycle of at least one application among the applications 370 . The window manager 342 may manage GUI resources used in the screen. The multimedia manager 343 may identify a format required for reproduction of various media files, and may encode or decode the media file using a codec suitable for the format. The
파워 매니저(345)는, 예를 들면, 바이오스(BIOS: basic input/output system) 등과 함께 동작하여 배터리(battery) 또는 전원을 관리하고, 전자 장치의 동작에 필요한 전력 정보 등을 제공할 수 있다. 데이터베이스 매니저(346)는 어플리케이션(370) 중 적어도 하나의 어플리케이션에서 사용할 데이터베이스를 생성, 검색, 또는 변경할 수 있다. 패키지 매니저(347)는 패키지 파일의 형태로 배포되는 어플리케이션의 설치 또는 업데이트를 관리할 수 있다. The power manager 345 may, for example, operate in conjunction with a basic input/output system (BIOS), etc. to manage a battery or power, and provide power information required for the operation of the electronic device. The
연결 매니저(348)는, 예를 들면, WiFi 또는 블루투스 등의 무선 연결을 관리할 수 있다. 통지 매니저(349)는 도착 메시지, 약속, 근접성 알림 등의 사건(event)을 사용자에게 방해되지 않는 방식으로 표시 또는 통지할 수 있다. 위치 매니저(350)는 전자 장치의 위치 정보를 관리할 수 있다. 그래픽 매니저(351)는 사용자에게 제공될 그래픽 효과 또는 이와 관련된 사용자 인터페이스를 관리할 수 있다. 보안 매니저(352)는 시스템 보안 또는 사용자 인증 등에 필요한 제반 보안 기능을 제공할 수 있다. 한 실시예에 따르면, 전자 장치(예: 전자 장치(101))가 전화 기능을 포함한 경우, 미들웨어(330)는 전자 장치의 음성 또는 영상 통화 기능을 관리하기 위한 통화 매니저(telephony manager)를 더 포함할 수 있다. 결제 매니저(354)는 어플리케이션(370)으로부터 결제를 위한 정보를 어플리케이션(370) 또는 커널(320)에 중계할 수 있다. 또한 외부 장치로부터 수신한 결제에 관련된 정보를 전자 장치(200) 내부에 저장하거나 내부에 저장된 정보를 외부 장치에 전달할 수 있다. The
미들웨어(330)는 전술한 구성요소들의 다양한 기능의 조합을 형성하는 미들웨어 모듈을 포함할 수 있다. 미들웨어(330)는 차별화된 기능을 제공하기 위해 운영 체제의 종류 별로 특화된 모듈을 제공할 수 있다. 또한, 미들웨어(330)는 동적으로 기존의 구성요소를 일부 삭제하거나 새로운 구성요소들을 추가할 수 있다.The middleware 330 may include a middleware module that forms a combination of various functions of the aforementioned components. The middleware 330 may provide a specialized module for each type of operating system in order to provide a differentiated function. Also, the middleware 330 may dynamically delete some existing components or add new components.
API(360)(예: API(145))는, 예를 들면, API 프로그래밍 함수들의 집합으로, 운영 체제에 따라 다른 구성으로 제공될 수 있다. 예를 들면, 안드로이드(AndroidTM) 또는 iOSTM의 경우, 플랫폼 별로 하나의 API 셋을 제공할 수 있으며, 타이젠(tizenTM)의 경우, 플랫폼 별로 두 개 이상의 API 셋을 제공할 수 있다.The API 360 (eg, the API 145 ) is, for example, a set of API programming functions, and may be provided in a different configuration according to an operating system. For example, in the case of Android TM or iOS TM , one API set may be provided for each platform, and in the case of tizen TM , two or more API sets may be provided for each platform.
어플리케이션(370)(예: 어플리케이션 프로그램(147))은, 예를 들면, 홈(371), 다이얼러(372), SMS/MMS(373), IM(instant message)(374), 브라우저(375), 카메라(376), 알람(377), 컨택트(378), 음성 다이얼(379), 이메일(380), 달력(381), 미디어 플레이어(382), 앨범(383), 시계(384), 결제(385), 건강 관리(health care)(예: 운동량 또는 혈당 등을 측정), 또는 환경 정보 제공(예: 기압, 습도, 또는 온도 정보 등을 제공) 등의 기능을 수행할 수 있는 하나 이상의 어플리케이션을 포함할 수 있다.The application 370 (eg, the application program 147 ) may include, for example, a
한 실시예에 따르면, 어플리케이션(370)은 전자 장치(예: 전자 장치(101))와 외부 전자 장치(예: 전자 장치(102, 104)) 사이의 정보 교환을 지원하는 어플리케이션(이하, 설명의 편의 상, "정보 교환 어플리케이션")을 포함할 수 있다. 정보 교환 어플리케이션은, 예를 들면, 외부 전자 장치에 특정 정보를 전달하기 위한 알림 전달(notification relay) 어플리케이션, 또는 외부 전자 장치를 관리하기 위한 장치 관리(device management) 어플리케이션을 포함할 수 있다. According to an embodiment, the application 370 is an application that supports information exchange between an electronic device (eg, the electronic device 101) and an external electronic device (eg, the
예를 들면, 알림 전달 어플리케이션은 전자 장치의 다른 어플리케이션(예: SMS/MMS 어플리케이션, 이메일 어플리케이션, 건강 관리 어플리케이션, 또는 환경 정보 어플리케이션 등)에서 발생된 알림 정보를 외부 전자 장치(예: 전자 장치(102, 104))로 전달하는 기능을 포함할 수 있다. 또한, 알림 전달 어플리케이션은, 예를 들면, 외부 전자 장치로부터 알림 정보를 수신하여 사용자에게 제공할 수 있다. For example, the notification delivery application transmits notification information generated by another application of the electronic device (eg, an SMS/MMS application, an email application, a health management application, or an environment information application) to an external electronic device (eg, the electronic device 102 ). , 104)). Also, the notification delivery application may receive notification information from, for example, an external electronic device and provide the notification information to the user.
장치 관리 어플리케이션은, 예를 들면, 전자 장치와 통신하는 외부 전자 장치(예: 전자 장치(102, 104))의 적어도 하나의 기능(예: 외부 전자 장치 자체(또는, 일부 구성 부품)의 턴-온/턴-오프 또는 디스플레이의 밝기(또는, 해상도) 조절), 외부 전자 장치에서 동작하는 어플리케이션 또는 외부 전자 장치에서 제공되는 서비스(예: 통화 서비스 또는 메시지 서비스 등)를 관리(예: 설치, 삭제, 또는 업데이트)할 수 있다. The device management application is, for example, the turn-of at least one function (eg, the external electronic device itself (or some component) of the external electronic device (eg, the
한 실시예에 따르면, 어플리케이션(370)은 외부 전자 장치(예: 전자 장치(102, 104))의 속성(에 따라 지정된 어플리케이션(예: 모바일 의료 기기의 건강 관리 어플리케이션 등)을 포함할 수 있다. 한 실시예에 따르면, 어플리케이션(370)은 외부 전자 장치(예: 서버(106) 또는 전자 장치(102, 104))로부터 수신된 어플리케이션을 포함할 수 있다. 한 실시예에 따르면, 어플리케이션(370)은 프리로드 어플리케이션(preloaded application) 또는 서버로부터 다운로드 가능한 제3자 어플리케이션(third party application)을 포함할 수 있다. 도시된 실시예에 따른 프로그램 모듈(310)의 구성요소들의 명칭은 운영 체제의 종류에 따라서 달라질 수 있다. According to an embodiment, the application 370 may include an application (eg, a health management application of a mobile medical device, etc.) designated according to a property (eg, the
다양한 실시예에 따르면, 프로그램 모듈(310)의 적어도 일부는 소프트웨어, 펌웨어, 하드웨어, 또는 이들 중 적어도 둘 이상의 조합으로 구현될 수 있다. 프로그램 모듈(310)의 적어도 일부는, 예를 들면, 프로세서(예: 프로세서(210))에 의해 구현(implement)(예: 실행)될 수 있다. 프로그램 모듈(310)의 적어도 일부는 하나 이상의 기능을 수행하기 위한, 예를 들면, 모듈, 프로그램, 루틴, 명령어 세트(sets of instructions) 또는 프로세스 등을 포함할 수 있다.According to various embodiments, at least a portion of the
본 문서에서 사용된 용어 "모듈"은, 예를 들면, 하드웨어, 소프트웨어 또는 펌웨어(firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위(unit)를 의미할 수 있다. "모듈"은, 예를 들면, 유닛(unit), 로직(logic), 논리 블록(logical block), 부품(component), 또는 회로(circuit) 등의 용어와 바꾸어 사용(interchangeably use)될 수 있다. "모듈"은, 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들면,"모듈"은, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays) 또는 프로그램 가능 논리 장치(programmable-logic device) 중 적어도 하나를 포함할 수 있다. As used herein, the term “module” may refer to, for example, a unit including one or a combination of two or more of hardware, software, or firmware. The term “module” may be used interchangeably with terms such as, for example, unit, logic, logical block, component, or circuit. A “module” may be a minimum unit or a part of an integrally configured component. A “module” may be a minimum unit or a part of performing one or more functions. A “module” may be implemented mechanically or electronically. For example, a “module” may be one of an application-specific integrated circuit (ASIC) chip, field-programmable gate arrays (FPGAs) or programmable-logic device, known or to be developed, that performs certain operations. It may include at least one.
다양한 실시예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는, 예컨대, 프로그램 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어가 프로세서(예: 프로세서(120))에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 메모리(130)가 될 수 있다. At least a portion of an apparatus (eg, modules or functions thereof) or a method (eg, operations) according to various embodiments is, for example, a computer-readable storage medium in the form of a program module It can be implemented as a command stored in . When the instruction is executed by a processor (eg, the processor 120), the one or more processors may perform a function corresponding to the instruction. The computer-readable storage medium may be, for example, the
컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(magnetic media)(예: 자기테이프), 광기록 매체(optical media)(예: CD-ROM(compact disc read only memory), DVD(digital versatile disc), 자기-광 매체(magneto-optical media)(예: 플롭티컬 디스크(floptical disk)), 하드웨어 장치(예: ROM(read only memory), RAM(random access memory), 또는 플래시 메모리 등) 등을 포함할 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 다양한 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.Computer-readable recording media include hard disks, floppy disks, magnetic media (eg, magnetic tape), optical media (eg, compact disc read only memory (CD-ROM), DVD ( digital versatile disc), magneto-optical media (such as floppy disk), hardware devices (such as read only memory (ROM), random access memory (RAM), or flash memory, etc.) ), etc. In addition, the program instructions may include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter, etc. The above-described hardware devices include various It may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
다양한 실시예에 따른 모듈 또는 프로그램 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 다양한 실시예에 따른 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다. 그리고 본 문서에 개시된 실시예는 개시된, 기술 내용의 설명 및 이해를 위해 제시된 것이며, 본 문서에서 기재된 기술의 범위를 한정하는 것은 아니다. 따라서, 본 문서의 범위는, 본 문서의 기술적 사상에 근거한 모든 변경 또는 다양한 다른 실시예를 포함하는 것으로 해석되어야 한다.A module or program module according to various embodiments may include at least one or more of the above-described components, some may be omitted, or may further include additional other components. Operations performed by a module, a program module, or other components according to various embodiments may be executed sequentially, in parallel, iteratively, or in a heuristic manner. Also, some operations may be executed in a different order, omitted, or other operations may be added. In addition, the embodiments disclosed in this document are presented for explanation and understanding of the disclosed and technical content, and do not limit the scope of the technology described in this document. Accordingly, the scope of this document should be construed to include all modifications or various other embodiments based on the technical spirit of this document.
도 4는, 다양한 실시예에 따른, 전자 장치(예: 전자 장치(101))에서 운용되는 REE(rich execution environment)(410) 및 TEE(trunsted execution environment)(420)를 도시하는 블럭도(400)이다. 다양한 실시예에 따르면, 전자 장치는 보안 강화를 위해 복수의 보안 레벨을 가진 실행 환경을 운용할 수 있다. 복수의 실행 환경은, 예를 들면, REE(410) 및 TEE(420)를 포함할 수 있다. REE는, 예를 들면, 제 1 보안 레벨을 가지는 제 1 실행 환경일 수 있다. TEE는, 예를 들면, 제 1 보안 레벨과 다른(예: 높은) 제 2 보안 레벨을 가지는 제 2 실행 환경일 수 있다. 한 실시예에 따르면, 전자 장치(101)는 제 3 보안 레벨을 가지는 추가적인 다른 싱행 환경(예: 제 3 실행 환경)을 포함할 수 있으며, 이에 한정하는 것은 아니다. 4 is a block diagram 400 illustrating a rich execution environment (REE) 410 and a trusted execution environment (TEE) 420 operated in an electronic device (eg, the electronic device 101 ), according to various embodiments of the present disclosure. )to be. According to various embodiments, the electronic device may operate an execution environment having a plurality of security levels to enhance security. The plurality of execution environments may include, for example, an REE 410 and a TEE 420 . The REE may be, for example, a first execution environment having a first security level. The TEE may be, for example, a second execution environment having a second security level that is different (eg, higher) than the first security level. According to an embodiment, the electronic device 101 may include an additional additional writing environment (eg, a third execution environment) having a third security level, but is not limited thereto.
TEE는 상대적으로 높은 보안 레벨이 요구되는 데이터를 안전한 환경 내에서 저장하고 관련 동작을 수행할 수 있다. TEE는 전자 장치의 어플리케이션 프로세서 상에서 동작하고, 전자 장치의 제조 과정에서 결정된 신뢰할 수 있는 하드웨어 구조에 기반하여 동작할 수 있다. TEE는 어플리케이션 프로세서 또는 메모리를 노멀 영역(normal area)과 보안 영역으로 구분하여 보안 영역에서 동작할 수 있다. TEE는 보안이 필요한 소프트웨어나 하드웨어를 보안 영역에서만 동작하게 하도록 설정할 수 있다. 전자 장치는 하드웨어의 물리적 변경 또는 소프트웨어의 논리적 변경을 통하여 TEE를 운용할 수 있다.The TEE can store data requiring a relatively high security level in a secure environment and perform related operations. The TEE may operate on an application processor of the electronic device and may operate based on a reliable hardware structure determined during a manufacturing process of the electronic device. The TEE divides the application processor or memory into a normal area and a security area to operate in the security area. TEE can be configured to operate software or hardware requiring security only in a secure area. The electronic device may operate the TEE through a physical change of hardware or a logical change of software.
TEE는 REE와 하드웨어적인 제약을 통하여 서로 분리될 수 있고, 동일한 하드웨어에서 소프트웨어적으로 분리되어 동작할 수 있다. REE에서 동작하는 적어도 하나의 어플리케이션(예: 결제, 컨택트, 이메일, 또는 브라우저 등)은 TEE에 접근이 허용된 API(예: TEE functional API 또는 TEE client API)를 이용할 수 있다. 상기 적어도 하나의 어플리케이션은 상기 API를 이용하여 REE의 통신 에이전트(REE communication agent)에서 TEE의 통신 에이전트)(TEE communication agent)로 메시지를 전달할 수 있다. 상기 메시지는 하드웨어적으로 TEE에만 전달될 수 있도록 구현될 수 있다. TEE의 통신 에이전트는 상기 메시지를 수신하여 상기 메시지와 관련된 보안 어플리케이션(trusted application(TA))(예: DRM(digital rights management), 보안 결제 모듈, 또는 보안 생체 정보 모듈 등)에 전달할 수 있다. 보안 어플리케이션은 상기 메시지에 관련된 동작을 수행할 수 있으며, 동작에 대한 결과를 TEE의 통신 에이전트를 통하여 REE의 통신 에이전트에 전달할 수 있다. 상기 REE의 통신 에이전트는 REE에서 운용 중인 적어도 하나의 어플리케이션에 상기 결과를 전달할 수 있다. TEE can be separated from each other through REE and hardware restrictions, and can be operated separately in software on the same hardware. At least one application (eg, payment, contact, e-mail, or browser) operating in the REE may use an API (eg, TEE functional API or TEE client API) that is allowed to access the TEE. The at least one application may transmit a message from a communication agent of the REE to a communication agent of the TEE (TEE communication agent) using the API. The message may be implemented to be delivered only to the TEE in hardware. The communication agent of the TEE may receive the message and transmit it to a trusted application (TA) (eg, digital rights management (DRM), a secure payment module, or a secure biometric information module, etc.) related to the message. The security application may perform an operation related to the message, and may transmit a result of the operation to the communication agent of the REE through the communication agent of the TEE. The communication agent of the REE may transmit the result to at least one application operating in the REE.
도 5(a) 내지 5(c)은, 다양한 실시예에 따른, TEE의 하드웨어 구조를 도시하는 블럭도(500)다. 도 5(a)는 하드웨어적으로 하나의 프로세서와 하나의 메모리를 REE와 TEE로 구분하여 사용하는 경우(예: ARM의 트러스트존(Trustzone(TZ)))를 도시한다. 한 실시예에 따르면, TEE의 하드웨어 구조는 On-SoC(510) 및 external memories(520)를 포함할 수 있다. On-SoC(510)는 마이크로 프로세싱 코어(501), RAM(502), ROM(503), peripheral(504), crypto accelerator(505) 또는 OTP fields(506)를 포함할 수 있다. 트러스트존은 둘 이상의 실행 환경을 운용하기 위해 프로세서를 시간적으로 분리하여 REE와 TEE를 구분하여 사용할 수 있다. 또한, 트러스트존은 하나의 메모리를 REE에서 접근 가능한 영역 및 TEE에서 접근 가능한 영역으로 구분하여 사용할 수 있다. 5(a) to 5(c) are block diagrams 500 illustrating a hardware structure of a TEE, according to various embodiments. FIG. 5(a) shows a case in which one processor and one memory are divided into REE and TEE in terms of hardware (eg, trust zone (TZ) of ARM). According to an embodiment, the hardware structure of the TEE may include an On-
도 5(b)는 TEE를 위한 프로세서가 REE를 운용하기 위한 프로세서와 같이 on-chip형태로 구현되어 있지만 별도의 프로세싱 코어 셋으로 구현된 경우를 도시한다. 한 실시예에 따르면, On-SoC(510)는 마이크로 프로세싱 코어(501) 이외에 하나이상의 프로세서를 포함하는 On-chip security subsystem(507)을 추가로 포함할 수 있다. 이런 경우, On-SoC(510)은 REE를 운용하고, On-chip security subsystem(507)은 TEE를 운용하도록 설정될 수 있다. 도 5(b)의 경우에는 도 5(a)와 마찬가지로 하나의 메모리를 REE에서 접근 가능한 영역 및 TEE에서 접근 가능한 영역으로 구분하여 사용할 수 있다. FIG. 5(b) shows a case in which a processor for TEE is implemented in an on-chip form like a processor for operating REE, but is implemented as a separate processing core set. According to one embodiment, the On-
도 5(c)는 TEE를 위한 프로세서가 하드웨어적으로 별도의 chip으로 구현되어 REE를 운용하기 위한 프로세서가 구현된 chip과 분리되어 있는 경우를 도시한다. 도 5(c)를 참조하면, On-Soc(510)는 REE를 운용하고, 상기 On-Soc(510)의 외부에 구비된 하나 이상의 external security co-processor(530)는 TEE를 운용하도록 설정될 수 있다. FIG. 5( c ) shows a case in which a processor for TEE is implemented as a separate chip in hardware, and the processor for operating REE is separated from the implemented chip. Referring to FIG. 5( c ), the On-
도 6를 참조하면, 다양한 실시예에 따른, 결제 시스템(600)을 도시한다. 6 , a
다양한 실시예에 따르면, 결제 시스템(600)은, 전자 장치(device)(610) 및/또는 서버(server)를 포함할 수 있다. 또한, 예를 들면, 상기 서버는 결제 서버(620), 토큰 서버(token server, token service provider)(630), 또는 금융 서버(issuer)(640)를 포함할 수 있다. 상기 전자 장치(610)는, 예를 들면, 결제 어플리케이션(payment application, wallet application)(612) 및/또는 결제 매니저(614)를 포함할 수 있다. 상기 결제 서버(620)는, 예를 들면, 결제 서비스 서버(622)(622) 및/또는 토큰 요구자 서버(token requester, token requester server)(624)를 포함할 수 있다.According to various embodiments, the
다양한 실시예에 따르면, 상기 결제 어플리케이션(612)은, 결제 어플리케이션(612)(예: 삼성 페이 어플리케이션(Samsung PayTM application)을 포함할 수 있다. 상기 결제 어플리케이션(612)은, 예를 들면, 결제와 관련된 사용자 인터페이스(예: UI(user interface) 또는 UX(user experience)를 제공할 수 있다. 상기 결제와 관련된 사용자 인터페이스는 월렛 사용자 인터페이스(wallet UI/UX)를 포함할 수 있다. 예를 들면, 상기 결제 어플리케이션(612)은, 카드 등록(card registration), 지불(payment), 또는 거래와 관련된 사용자 인터페이스를 제공할 수 있다. 상기 결제 어플리케이션(612)은, 예를 들면, 문자 판독기(예: OCR(optical character reader/recognition)) 또는 외부 입력(예: 사용자 입력)을 통한 카드 등록과 관련된 인터페이스를 제공할 수 있다. 또한, 상기 결제 어플리케이션(612)은, 예를 들면, 신원 확인(ID&V, identification and verification)를 통한 사용자 인증과 관련된 인터페이스를 제공할 수 있다.According to various embodiments, the
다양한 실시예에 따르면, 상기 결제 어플리케이션(612)은, 상기 결제 어플리케이션(612)을 이용하여 결제 거래를 수행할 수 있다. 예를 들면, 상기 결제 어플리케이션(612)은, Simple Pay, Quick Pay 또는 지정된 어플리케이션 실행을 통해 사용자에게 결제 기능을 제공할 수 있다. 사용자는, 상기 결제 어플리케이션(612)을 이용하여 결제 기능을 수행하고, 상기 결제 기능과 연관된 정보를 제공받을 수 있다.According to various embodiments, the
다양한 실시예에 따르면, 상기 결제 매니저(614)는, 카드사와 관련된 정보를 포함할 수 있다. 예를 들면, 상기 결제 매니저(614)는, 카드사 SDK(software development kit)를 포함할 수 있다.According to various embodiments, the
다양한 실시예에 따르면, 상기 결제 서버(620)는, 전자 결제 또는 모바일 결제를 위한 관리 서버를 포함할 수 있다. 상기 결제 서버(620)는, 예를 들면, 상기 전자 장치(610)로부터 결제와 관련된 정보를 수신해서 외부로 송신하거나 상기 결제 서버(620)에서 처리할 수 있다.According to various embodiments, the
다양한 실시예에 따르면, 상기 결제 서버(620)는, 상기 결제 서비스 서버(622) 및/또는 토큰 요구자 서버(624)를 이용하여, 상기 전자 장치(610)와 상기 토큰 서버(630) 사이에서 정보를 송수신할 수 있다. 상기 결제 서비스 서버(622)는, 예를 들면, 결제 서버(예: Samsung payment server)(620)를 포함할 수 있다. 상기 결제 서비스 서버(622)는, 예를 들면, 서비스 계정(예: Samsung account) 또는 사용자 계정과 연동된 카드 정보를 관리 할 수 있다. 또한, 상기 결제 서비스 서버(622)는, 상기 결제 어플리케이션(612)와 관련된 API(application program interface) 서버를 포함할 수 있다. 또한, 상기 결제 서비스 서버(622)는, 예를 들면, 상기 계정 관리 모듈(예: account integration 또는 Samsung account integration)을 제공할 수 있다.According to various embodiments, the
다양한 실시예에 따르면, 상기 토큰 요구자 서버(624)는, 결제와 관련된 정보를 처리하기 위한 인터페이스를 제공할 수 있다. 예를 들면, 상기 토큰 요구자 서버(624)는, 결제와 관련된 정보(예: 토큰(token))의 발급, 삭제, 또는 활성화를 수행할 수 있다. 또는 상기 결제 매니저(614)와 기능적으로 연결되어 상기 결제에 필요한 정보를 제어할 수 있다. According to various embodiments, the
다양한 실시예에 따르면, 상기 전자 장치(610)에 포함된 상기 결제 어플리케이션(612)과 상기 결제 서버(620)에 포함된 상기 결제 서비스 서버(622)는 기능적으로 연결될 수 있다. 예를 들면, 상기 결제 어플리케이션(612)은 상기 결제 서버(620)로 결제와 관련된 정보를 송수신할 수 있다. 한 실시예에 따르면, 상기 상기 전자 장치(610)에 포함된 상기 결제 매니저(614)와 상기 결제 서버(620)에 포함된 상기 토큰 요구자 서버(624)는 기능적으로 연결될 수 있다. 예를 들면, 상기 결제 매니저(614)는 상기 토큰 요구자 서버(624)로 결제와 관련된 정보를 송수신할 수 있다.According to various embodiments, the
다양한 실시예에 따르면, 상기 토큰 서버(630)는, 결제와 관련된 정보(예: 토큰)를 발급하거나 결제와 관련된 정보를 관리할 수 있다. 예를 들면, 상기 토큰 서버(630)는, 토큰의 동작 주기(like cycle)을 제어할 수 있고, 상기 동작 주기는 생성, 수정, 또는 삭제 기능을 포함할 수 있다. 또한 상기 토큰 서버(630)는, 예를 들면, 토큰 관리 서버를 포함할 수 있고, 토큰 설정(token provisioning), 신원 확인(ID&V, identification and verification), 갱신(replenishment), 또는 Life Cycle 관리를 수행할 수 있다. 또한 금융 서버와 관련된 정보의 통합(intergration)을 수행할 수 있다.According to various embodiments, the
다양한 실시예에 따르면, 상기 결제 서버(620) 및/또는 상기 토큰 서버(630)는 동일 또는 유사한 영역에 위치하거나 서로 분리된 영역에 위치할 수 있다. 예를 들면, 상기 결제 서버(620)는 제 1 서버에, 상기 토큰 서버(630)는 제 2 서버에 포함될 수 있다. 또한, 예를 들면, 상기 결제 서버(620) 및/또는 상기 토큰 서버(630)가 하나의 서버(예: 제 1 서버 또는 제 2 서버)에 구분되어 구현될 수 있다.According to various embodiments, the
다양한 실시예에 다르면, 상기 금융 서버(640)는 카드 발급을 수행할 수 있다. 예를 들면, 상기 금융 서버(640)는, 카드 발급 은행을 포함할 수 있다. 또한 사용자에게 제공되는 결제에 필요한 정보를 생성할 수 있다. 상기 사용자는 상기 금융 서버(640)에서 생성된 상기 결제에 필요한 정보를 상기 결제 어플리케이션(612)을 이용하여 상기 전자 장치(610)에 저장할 수 있다. 또한 상기 금융 서버(640)는 상기 토큰 서버(630)와 기능적으로 연결되어 상기 결제에 필요한 정보를 송수신할 수 있다. According to various embodiments, the
도 7은, 다양한 실시예에 따른, 결제를 수행하기 위한 결제 시스템을 도시하는 블럭도(700)이다. 도7을 참조하면, 결제 시스템은 전자 장치(710)(예: 전자 장치(101)), 결제 서버(720)(예: 서버(106)), 토큰 서비스 프로바이더(token service provider(TSP))(730)(예: 서버(106) 또는 다른 서버(미도시)) 및 POS(point of sales)(740)(예: 전자 장치(102))를 포함할 수 있다. 한 실시예에 따르면, 결제 시스템은 하나 이상의 추가 전자 장치(750 or 760)를 포함할 수 있다. 상기 하나 이상의 추가 전자 장치는 상기 전자 장치(710)와 기능적으로(예: 통신) 연결 가능한 웨어러블 장치(750)(예: 스마트 시계) 또는 액세서리(760)(예: LoopPayTM사의 fob 형태 장치)를 포함할 수 있다. 한 실시예에 따르면, LoopPayTM 사의 fob 형태 장치는 마이크를 통해 전자 장치(710)와 연결된 외부 결제 모듈을 포함할 수 있다. 7 is a block diagram 700 illustrating a payment system for performing a payment, according to various embodiments. Referring to FIG. 7 , the payment system includes an electronic device 710 (eg, electronic device 101), a payment server 720 (eg, server 106), and a token service provider (TSP). 730 (eg, the
한 실시예에 따르면, 전자 장치(710)는 결제 기능을 동작할 수 있다. 전자 장치(710)는 결제 기능을 수행하기 위해 카드(예: 마스터카드 또는 비자 등의 신용 카드)를 전자 장치(710) 또는 결제 서버(720)에 등록할 수 있다. 결제 서버(720)는 전자 장치(710)를 통해서 등록된 카드 외에도, 전자 장치(710)에 대응하는 사용자의 다른 전자 장치(예: 전자 장치(750))를 통해서 등록된 카드 또는 다른 사용자의 전자 장치를 통해서 등록된 다른 카드를 포함하는 복수의 등록된 카드들에 대한 정보를 관리할 수 있다. According to an embodiment, the
한 실시예에 따르면, 결제 서버(720)는 등록한 카드 정보에 해당하는 토큰 정보를 토큰 서비스 프로바이더(730)로부터 획득하여 전자 장치(710)에 전달할 수 있다. 결제 서버(720)은, 예를 들면, 결제 서비스 서버 또는 토큰 요구자 서버를 포함할 수 있다. 결제 서비스 서버는 사용자의 카드 정보를 관리할 수 있다. 계정을 기반으로 결제에 관련된 서비스를 제공할 수 있다. 토큰 요구자 서버는 결제 동작에 필요한 토큰 정보를 토큰 서비스 프로바이더(730)에게 요청하여 토큰 정보를 획득할 수 있다.According to an embodiment, the
토큰 서비스 프로바이더(730)는 결제 과정에서 사용되는 토큰을 발행할 수 있다. 한 실시예에 따르면, 토큰은 카드의 정보인 primary account number(PAN)을 대체하는 값일 수 있다. 한 실시예에 따르면, 토큰은 bank indentification number(BIN) 등을 이용하여 생성될 수 있다. 또한, 생성된 토큰은 토큰 서비스 프로바이더(730)에 의해서 암호화되거나, 또는 암호화되지 않은 상태로 결제 서버(720)로 전송된 후, 결제 서버(720)에 의해 암호화될 수 있다. 암호화된 토큰 정보는 결제 서버(720)를 통해 전자 장치(710)으로 전달된 후, 전자 장치(710)에서 복호화 될 수 있다. 한 실시예에 따르면, 토큰은 토큰 서비스 프로바이더(730)에서 생성 및 암호화되고, 결제 서버(720)를 거치지 않고 전자 장치(710)로 전달될 수 있다. 다른 실시예에 따르면, 결제 서버(720)는 토큰 생성 기능을 포함할 수도 있으며, 이런 경우, 결제 시스템에는 별도의 토큰 서비스 프로바이더(730)가 사용되지 않을 수도 있다.The
전자 장치(710)는, 예를 들면, 근거리 통신(예: 블루투스 또는 WiFi)에 기반하여 기능적으로 연결된 하나 이상의 다른 전자 장치들(750 또는 760) 중의 적어도 하나를 이용하여 결제를 수행할 수 있다. 한 실시예에 따르면, 다른 전자 장치(750) 는 웨어러블 장치(예: 스마트 시계)일 수 있으며, 이런 경우, 전자 장치(710)는 토큰 서비스 프로바이더(730)로부터 전달된 토큰을 웨어러블 장치에 전달할 수 있다. 한 실시예에 따르면, 다른 전자 장치(760) 는 액세서리(예: LoopPayTM사의 fob 형태 장치))일 수 있으며, 이런 경우, 전자 장치(710)는 그 입출력 인터페이스(150)(예: 이어폰(286))를 통하여 상기 액세서리(예: LoopPayTM사의 fob 형태 장치)과 기능적으로 연결될 수 있다.The
도 8은, 다양한 실시예에 따른, 결제 기능을 수행할 수 있는 전자 장치(예: 전자 장치(101))의 하드웨어 구조를 도시하는 블록도(800)이다. 한 실시예에 따르면, 전자 장치는, 예를 들면, 카메라 모듈(801), 가속도 센서(803), 자이로 센서(805), 생체 센서(807), MST 모듈(810), NFC 모듈(820), MST 제어 모듈(830), NFC 제어 모듈(840), 프로세서(850), 및 메모리(860)를 포함할 수 있다. 카메라 모듈(801)은 결제에 필요한 카드를 촬영하여 카드 정보를 획득할 수 있다. 카메라 모듈(801)은 OCR(optical character reader) 기능을 통해 카드에 표기되어 있는 카드 정보(예: 카드 회사, 카드 넘버, 카드 유효 날짜, 또는 카드 소유주 등)를 인식할 수 있다. 또는 사용자가 전자 장치에 포함된 입력 장치(예: 터치 패널, 펜 센서, 키, 초음파 입력 장치, 또는 마이크 입력 장치 등)를 이용하여 필요한 카드 정보를 전자 장치에 입력할 수 있다.8 is a block diagram 800 illustrating a hardware structure of an electronic device (eg, the electronic device 101) capable of performing a payment function, according to various embodiments of the present disclosure. According to an embodiment, the electronic device includes, for example, a
한 실시예에 따르면, 가속도 센서(803) 또는 자이로 센서(805)는 결제 시 전자 장치의 위치 상태를 획득할 수 있다. 획득된 전자 장치(예: 전자 장치(101))의 위치 정보는 프로세서(850)에 전달되고, 프로세서는 획득된 전자 장치의 위치 상태에 기반하여 MST 모듈(810)에서 POS로 송출되는 자기장의 세기(전류 세기)를 조절하거나, 코일 안테나가 복수개인 경우, 사용되는 코일 안테나를 선택할 수도 있다. 한 실시예에 따르면, MST 제어 모듈(830)은 데이터 수신 모듈(831) 및 출력 변환 모듈(833)을 포함할 수 있다. 데이터 수신 모듈(831)은 프로세서(850) 또는 보안 모듈(예: eSE)이 전송하는 결제 정보를 포함한 logical low/high 형태의 펄스 시그널(pulse signal)을 전달받을 수 있다. 한 실시예에 따르면 데이터 수신 모듈(831)이 수신한 데이터는 마그네틱 카드의 magnetic stripe의 트랙 데이터의 형태를 가질 수 있다. 예를 들면, 상기 수신한 데이터는 magnetic stripe 의 tack1,2 또는 3의 포맷 중 적어도 하나 이상의 포맷에 토큰과 결제 인증(verification) 데이터를 삽입한 형태일 수 있다.According to an embodiment, the
출력 변환 모듈(833)은 데이터 수신 모듈(831)에서 인식된 데이터를 MST 모듈(810)로 전달하기 위하여, 필요한 형태로 변환하는 회로를 포함할 수 있다. 상기 회로는, 예를 들면, MST 모듈(810)의 양단에 공급되는 전압의 방향을 제어하는 H-Bridge를 포함할 수 있다. H-Bridge는 4개의 스위치 구조를 이용해서 H 모양으로 연결한 회로 구조를 포함할 수 있다.The
한 실시예에 따르면, 상기 카메라 모듈(801) 또는 입력 장치(예를들면, 터치 패널, 펜 센서 등)를 통해 입력된 카드 정보에 기반하여, 전자 장치는 통신 모듈(미도시)를 통해 카드 회사/은행 서버로부터 마그네틱 카드의 magnetic stripe 에 포함되어 있는 결제 정보(예: track1/2/3 또는 token 정보)를 전달받고 이를 메모리(860) 또는 별도의 보안 모듈(236)(예: eSE)에 필요한 형태로 저장할 수 있다. According to one embodiment, based on the card information input through the
한 실시예에 따르면, MST 모듈(810)과 NFC모듈(820)를 통해 POS로 전달되는 토큰은 기반되는 카드가 같다고 해도 서로 상이 할 수 있다. 예를 들면, MST모듈(810)을 통해 외부기기(예: POS)로 전달되는 토큰(예: 디지털 카드 번호)의 마지막 네 자리가 1111이라고하면 NFC모듈(820)을 통해 외부기기(예: POS)로 전달되는 토큰(예: 디지털 카드 번호)의 마지막 네 자리는 2222일 수 있다. According to an embodiment, the tokens delivered to the POS through the
도 9는, 다양한 실시예에 따른, 결제 시스템(900)을 도시한다. 9 illustrates a
다양한 실시예에 따르면, 결제 시스템(900)은, 전자 장치(device)(910) 및/또는 복수의 서버(server)를 포함할 수 있다. 예를 들면, 상기 복수의 서버는 결제 서버(920), 제 1 토큰 서버(token server, token service provider)(934), 제 2 토큰 서버(token server, token service provider)(944), 또는 제 1 금융 서버(issuer or card network)(932), 제 2 금융 서버(issuer or card network)(942), TSM(trusted service manager)(936)을 포함할 수 있다. 상기 전자 장치(910)는, 예를 들면, 결제 어플리케이션(payment application, wallet application)(912), 결제 매니저(914) 및/또는 보안 저장소(916)를 포함할 수 있다. 상기 결제 서버(920)는, 예를 들면, 결제 서비스 서버(922) 및/또는 토큰 요구자 서버(token requester, token requester server)(924)를 포함할 수 있다. 상기 제 1 금융서버(932), 제 1 토큰서버(934), TSM(936)의 구성요소들의 조합을 하나의 서버(예: 제 1 관리서버)로 구현 될 수 있다. 예를 들면, 제 1 관리서버(930)은 (제 1 금융서버와 제 1 토큰서버) 또는 (제 1 금융서버와 TSM) 또는 (제 1 토큰서버와 TSM) 또는 (제 1 금융서버와 TSM), (제 1 금융서버와 제 1 토큰서버와 TSM)와 같은 조합으로 구성될 수 있다. 상기 제 2 금융서버(942), 제 2 토큰서버(944)는 하나의 서버로(예: 제 2 관리서버(940)) 구현 될 수 있다.According to various embodiments, the
다양한 실시예에 따르면, 상기 결제 어플리케이션(912)(예: 결제 어플리케이션 612)은, 예를 들어, 삼성 페이 어플리케이션(Samsung PayTM Application)을 포함할 수 있다. 상기 결제 어플리케이션(912)은, 예를 들면, 결제와 관련된 사용자 인터페이스(예: UI(user interface) 또는 UX(user experience)를 제공할 수 있다. 상기 결제와 관련된 사용자 인터페이스는 월렛 사용자 인터페이스(wallet UI/UX)를 포함할 수 있다. 예를 들면, 상기 결제 어플리케이션(912)은, 카드 등록(card registration), 지불(payment), 또는 거래와 관련된 사용자 인터페이스를 제공할 수 있다. 상기 결제 어플리케이션(912)은, 예를 들면, 문자 판독기(예: OCR(optical character reader/recognition)) 또는 외부 입력(예: 사용자 입력)을 통한 카드 등록과 관련된 인터페이스를 제공할 수 있다. 또한, 상기 결제 어플리케이션(912)은, 예를 들면, 신원 확인(ID&V, identification and verification)를 통한 사용자 인증과 관련된 인터페이스를 제공할 수 있다.According to various embodiments, the payment application 912 (eg, payment application 612 ) may include, for example, a Samsung Pay application. The
다양한 실시예에 따르면, 상기 결제 어플리케이션(912)은, 상기 결제 어플리케이션(912)을 이용하여 결제 거래를 수행할 수 있다. 예를 들면, 상기 결제 어플리케이션(912)은, Simple Pay, Quick Pay 또는 지정된 어플리케이션 실행을 통해 사용자에게 결제 기능을 제공할 수 있다. 사용자는, 상기 결제 어플리케이션(912)을 이용하여 결제 기능을 수행하고, 상기 결제 기능과 연관된 정보를 제공받을 수 있다.According to various embodiments, the
다양한 실시예에 따르면, 상기 결제 매니저(914)는, 카드사와 관련된 정보를 포함할 수 있다. 예를 들면, 상기 결제 매니저(914)는, 카드사 SDK(software development kit)를 포함할 수 있다.According to various embodiments, the
다양한 실시예에 따르면, 상기 보안 저장소(916)는 보안 모듈(236), 보안 영역(예: TEE(trusted execution environment))을 포함할 수 있다. 제 1 금융서버 또는 제 2 금융서버에서 발행한 결제 관련 프로그램(예: applet, trusted application)이 설치 될 수 있다. 한 실시예에 따르면, 상기 결제 관련 프로그램은 MST로 송출하기 위한 결제 정보(예: 토큰, 토큰 크립토그램, 시간 인증 코드, 결제 횟수)를 마그네틱 카드의 트랙 데이터 포맷에 맞게 생성해 줄 수 있다. 예를 들면, 상기 시간 인증 코드는 결제 정보에 대한 유효성을 체크하기 위한 값으로 상기 시간 인증 코드 생성을 위해 특정시간 값을 사용할 수 있다. 한 실시예에 따르면, 상기 특정시간 값으로 UTC(Coordinated Universal Time) 정보를 이용할 수 있다. 예를 들면, 전자장치는 NITZ(network identity and time zone) 또는 NTP(network time protocol)를 통해 UTC 정보를 획득할 수 있고, 외부 서버(예: 제 1 관리서버)도 UTC 정보를 획득하면 전자장치와 외부서버는 시간이 동기화 되어 상기 시간 인증 코드를 인증할 수 있다. 외부 서버도 전자장치와 동일한 방법(예: NITZ 또는 NTP)을 이용해서 특정시간 값을 획득할 수 있다.According to various embodiments, the
보안 저장소(916)는 결제 정보(예: 토큰, 토큰 크립토그램 생성을 위한 키)를 저장할 수 있다.The
상기 TSM(936)은 보안 저장소(916)에 설치된 상기 결제 관련 프로그램과 통신하여 결제 정보를 저장 및 관리(예: 삭제, 정보 업데이트)를 할 수 있다.The
다양한 실시예에 따르면, 상기 결제 서버(920)는, 전자 결제 또는 모바일 결제를 위한 관리 서버를 포함할 수 있다. 상기 결제 서버(920)는, 예를 들면, 상기 전자 장치(910)로부터 결제와 관련된 정보를 수신해서 외부로 송신하거나 상기 결제 서버(920)에서 처리할 수 있다.According to various embodiments, the
다양한 실시예에 따르면, 상기 결제 서버(920)는, 상기 결제 서비스 서버(922) 및/또는 토큰 요구자 서버(924)를 이용하여, 상기 전자 장치(910)와 상기 제 1 금융서버(932) 사이에서 정보(예: 토큰 발급 요청)를 송수신할 수 있다. 상기 결제 서비스 서버(922)는, 예를 들면, 결제 서버(예: Samsung payment server)(920)를 포함할 수 있다. 상기 결제 서비스 서버(922)는, 예를 들면, 서비스 계정(예: Samsung account) 또는 사용자 계정과 연동된 카드 정보를 관리 할 수 있다. 또한, 상기 결제 서비스 서버(922)는, 상기 결제 어플리케이션(912)와 관련된 API(application program interface) 서버를 포함할 수 있다. 또한, 상기 결제 서비스 서버(922)는, 예를 들면, 상기 계정 관리 모듈(예: account integration 또는 Samsung account integration)을 제공할 수 있다.According to various embodiments, the
다양한 실시예에 따르면, 상기 토큰 요구자 서버(924)는, 결제와 관련된 정보를 처리하기 위한 인터페이스를 제공할 수 있다. 예를 들면, 상기 토큰 요구자 서버(924)는, 결제와 관련된 정보(예: 토큰(token))의 발급, 삭제, 또는 활성화를 수행할 수 있다. 또는 상기 결제 매니저(914)와 기능적으로 연결되어 상기 결제에 필요한 정보를 제어할 수 있다. According to various embodiments, the
다양한 실시예에 따르면, 상기 전자 장치(910)에 포함된 상기 결제 어플리케이션(912)과 상기 결제 서버(920)에 포함된 상기 결제 서비스 서버(922)는 기능적으로 연결될 수 있다. 예를 들면, 상기 결제 어플리케이션(912)은 상기 결제 서버(920)로 결제와 관련된 정보를 송수신할 수 있다. 한 실시예에 따르면, 상기 상기 전자 장치(910)에 포함된 상기 결제 매니저(914)와 상기 결제 서버(920)에 포함된 상기 토큰 요구자 서버(924)는 기능적으로 연결될 수 있다. 예를 들면, 상기 결제 매니저(914)는 상기 토큰 요구자 서버(924)로 결제와 관련된 정보를 송수신할 수 있다.According to various embodiments, the
다양한 실시예에 따르면, 상기 제 1 금융서버(932)와 제 2 금융서버(942)는 결제 관련된 정보(예: 토큰)을 발급하기 위한 데이터를 관리할 수 있다. 예를 들면, 제 1 금융서버(932)는 제 2 토큰서버에서 발급한 제 1 결제정보와 연관된 다른 제 2결제정보를 발급하도록 제 1 토큰서버에 요청 할 수 있다. 또한, 제 1 금융서버(932)는 토큰 발급을 제 1 토큰서버(934)로 요청 할 때 제 1 토큰과 제 2 토큰이 관련된 토큰임을 확인 할 수 있는 정보(예: 토큰 ID)를 저장 및 관리 할 수 있다.According to various embodiments, the first
한 실시예에 따르면, 상기 제 1 결제 정보(예: 디지털 카드 번호, 토큰 또는/및 토큰 크립토그램을 생성하기 위한 키)와 제 2 결제 정보(예: 디지털 카드 번호, 토큰 또는/및 토큰 크립토그램을 생성하기 위한 키)는 전자장치(910)에서 결제 시에 사용하는 전송 방식(예: MST, NFC)에 따라 각각 발급되는 토큰일 수 있다. 예를 들면, 제 1결제 정보는 MST를 이용하여 결제할 때, 제 2 결제정보는 NFC를 이용하여 결제할 때 사용될 수 있다. 하지만, 반대의 경우도 가능하며, 제 1 결제정보와 제 2 결제정보가 같은 경우도 존재할 수 있다. 상기 토큰은 PAN을 대체하는 디지털 카드 번호를 의미하는 것일 수 있다. 상기 제 1 결제정보 중 적어도 일부 또는 제 2 결제정보 중 적어도 일부는 전자장치(910)에서 상점의 POS 기기 또는 네트워크를 통해 외부로 전송되며 금융서버에서는 토큰을 확인하여 결제 승인 여부를 판단할 수 있다.According to one embodiment, the first payment information (eg digital card number, token or/and key for generating token cryptogram) and second payment information (eg digital card number, token or/and token cryptogram) ) may be tokens each issued according to a transmission method (eg, MST, NFC) used for payment by the
다양한 실시예에 따르면, 상기 제 1 토큰서버(934)와 제 2 토큰서버(944)는 결제와 관련된 정보(예: 토큰)를 발급하거나 결제와 관련된 정보를 관리할 수 있다. 예를 들면, 상기 제 1 토큰 서버(934)는, 토큰의 동작 주기(life cycle)을 제어할 수 있고, 상기 동작 주기는 생성, 수정, 또는 삭제 기능을 포함할 수 있다. 또한 상기 제 1 토큰 서버(934)는, 예를 들면, 토큰 관리 서버를 포함할 수 있고, 토큰 설정(token provisioning), 신원 확인(ID&V, identification and verification), 갱신(replenishment), 또는 Life Cycle 관리를 수행할 수 있다. 또한 금융 서버와 관련된 정보의 통합(integration)을 수행할 수 있다.According to various embodiments, the first
다양한 실시예에 따르면, 상기 TSM(936)는 제 1 토큰서버(934)와 제 2 토큰서버(944)에서 발급한 제 1 토큰 및/또는 제 2 토큰을 보안 저장소(916)에 설치 할 수 있다. 또한, 해당 토큰을 포함한 결제 정보를 생성 및 관리 할 수 있게 하기 위한 결제 관련 프로그램을 설치할 수 있다.According to various embodiments, the
도 10은 다양한 실시 예에 따른 NFC(near field communication)를 이용한 결제 방식을 지원하는 전자장치를 도시한다.10 illustrates an electronic device supporting a payment method using near field communication (NFC) according to various embodiments of the present disclosure.
상기 도 10을 참조하면, 전자장치(1000)는, 예를 들면, 프로세서(1001), NFC 제어기(1003), NFC RF 모듈(1005), 보안 모듈(secure element)(1007)을 포함하여 구성될 수 있다.Referring to FIG. 10 , the
상기 프로세서(1001)는 전반적인 전자장치의 동작을 제어할 수 있다. 상기 프로세서(1001)는 TEE을 지원하지 않는 프로세서이거나 상기 TEE을 지원하는 프로세서일 수 있다.The
전자 장치(예: 스마트폰)에 내장되어 있는 NFC 모듈의 경우 안드로이드(AndroidTM)와 같은 Rich OS와 연결되어있고, 보안이 낮은 OS(혹은 Rich OS, 노멀 영역에서 동작하는 OS)의 칩셋과 보안영역을 연결하는 인터페이스로 사용되는 구조일 수 있으나, 이에 한정하는 것은 아니다. In the case of an NFC module built into an electronic device (eg, a smartphone), it is connected to a rich OS such as Android (Android TM ), and the chipset and security of the low-security OS (or Rich OS, OS operating in the normal area) It may be a structure used as an interface for connecting regions, but is not limited thereto.
NFC 제어기(1003)는 NFC 통신방식에 기반하여 데이터를 처리할 수 있다. 예컨대, 카드 에뮬레이션, 리더/라이터(Reader/Writer), P2P(peer to peer)의 세 가지 통신 모드로 동작할 수 있다. 상기 카드 에뮬레이션 모드는 보안 모듈(1007)에 저장된 인증정보를 외부 리더기로 전송하는 방식으로, 결제 기능, 교통카드 기능, ID 카드 등의 사용자 인증 기능 등에 적용할 수 있다. 리더 모드는 외부 태그 정보를 읽어 들이는 방식일 수 있다. P2P는 기기간 데이터 교환을 지원하는 모드로써, 전자적 형태의 명함, 연락처 정보, 디지털 사진, URL 등의 데이터 교환을 수행할 수 있다.The
NFC RF 모듈(1005)은 안테나로부터 수신되는 신호를 해당 복조 방식에 기반하여 복조하여 복조된 신호를 NFC 제어기(1003)로 제공하거나, NFC 제어기(103)로부터 데이터를 해당 변조방식에 기반하여 변조하여 안테나를 통해 송신할 수 있다.The
보안영역(secure element) 모듈(1007)은 거래 또는 인증과 관련된 정보를 저장할 수 있다. 예컨대, 거래 또는 인증과 관련된 정보는, PAN(primary account number), 토큰, 암호화 키 등의 보안을 요구하는 정보 등을 포함할 수 있다. 상기 PAN은 신용카드의 정보를 포함하는 것으로, 카드의 고유 번호를 의미하고, 상기 신용카드의 고유 번호는 암호화되지 않은 정보일 수 있다. 상기 토큰은 상기 신용카드의 고유 번호를 대체하는 정보로 사용될 수 있다. PAN 또는 토큰 등은 전자 결제 시 이용되는 정보일 수 있고, 암호화 키는 결제 인증을 위한 암호화 데이터를 생성하는데 이용될 수 있다. 상기 토큰 및 PAN은 생성된 암호화 데이터와 같이 전송될 수 있다.The
상기 보안 모듈(1007)은 NFC 제어기(1003)에 의해서만 액세스 가능하며, 상기 프로세서(1001)는 상기 보안 모듈(1007)을 액세스할 수 있는 권한이 없을 수 있다.The
다양한 실시 예에서, 전자장치의 NFC 모듈은 노멀 영역의 OS와 연결되어있어, NFC 모듈은 노멀 영역의 OS의 칩셋과 보안영역을 연결하는 인터페이스를 수행할 수 있다. 보안 레벨이 높은 보안영역에 대한 접근은 NFC 모듈 내부의 컨트롤러를 통해서만 가능할 수 있다.In various embodiments, since the NFC module of the electronic device is connected to the OS of the normal area, the NFC module may perform an interface connecting the chipset of the OS of the normal area and the security area. Access to the secure area with a high security level may be possible only through the controller inside the NFC module.
상기 NFC 제어기(1003), 상기 NFC RF 모듈(1005), 상기 보안 모듈(1007)은 하나의 칩 또는 패키지로 구현될 수 있다. 이하, 상기 NFC 제어기(1003), 상기 NFC RF 모듈(1005), 상기 보안 모듈(1007)은 포함하는 하나의 패키지는 NFC 모듈일 수 있다.The
도 11은, 다양한 실시예에 따른, 토큰을 이용한 결제 트랜젝션(transaction)을 설명 도 11에 설명하는 구성 요소들은 앞서 설명한 결제 시스템의 구성요소와 일치할 수 있다. 한 실시예에 따르면, 전자장치(910)는 NFC및/또는 MST를 사용하여 결제 트랜잭션을 수행할 수 있다. 이하 동작은 NFC및/또는 MST를 이용한 결제 트랜잭션을 하나의 예로써 설명하지만, 본 발명의 다양한 실시예는 이에 한정되지 않는다. 11 illustrates a payment transaction using a token, according to various embodiments. Components described in FIG. 11 may be identical to components of the payment system described above. According to an embodiment, the
1111동작은 전자장치(910)에서 NFC를 이용해POS(1101)로 결제 정보(예: 토큰, 토큰 크립토그램)을 전송하는 방법을 설명한다. 예를 들면, 결제 트랜젝션을 시작하면 전자장치(910)는 외부 NFC신호를 감지하는 것을 기다리고 있을 수 있다. 이 때, POS(1101)로부터 active 신호를 받으면 전자장치(910)가 NFC신호를 발생시켜 제 1결제 정보를 전송할 수 있다.
1113동작은 전자장치(910)에서 MST를 이용해 POS(1101)로 결제 정보(예: 토큰, 토큰 크립토그램)를 전송하는 방법을 설명한다. 예를 들면, 결제 트랜젝션을 시작하면 전자장치(910)는 Track 데이터 포맷에 제 2 결제 정보를 포함시켜 MST 신호를 POS(1101)의 자기신호 리더기로 전송할 수 있다. 한 실시예에 따르면, 상기 Track 데이터 포맷에는 특정 시간을 이용하여 생성한 인증 코드가 포함될 수 있다. 예를 들면, 전자장치(910)는 NITZ 또는 NTP로부터 획득한 UTC를 이용하여 인증 코드를 생성하고 이를 Track 데이터 포맷에 제 2 결제정보와 인증 코드를 넣어 MST 신호를 POS(1101)의 자기신호 리더기로 전송할 수 있다.
1115동작에서 POS(1101)에서 전자장치(910)로부터 전달 받은 제 1 결제 정보(1111동작) 또는 제 2 결제 정보(1113동작)를 제 1 금융 서버(932)로 전달할 수 있다. 한 실시예에 따르면, 제 1 금융서버(932)는 1115동작으로 받은 제 1 결제 정보(1111동작) 또는 제 2 결제 정보(1113동작)에 대한 인증을 수행 할 수 있다. 예를 들면, 제 1 금융서버(932)는 제 2 결제 정보(1113동작)에 포함된 또는 함께 전달된 시간 정보 또는 시간 정보를 이용하여 만들어진 인증 코드를 확인하여 설정한 시간을 넘어서 받은 제 2 결제 정보(1113동작)를 결제 인증에 대한 실패를 결과값으로 외부 장치(예: POS, 제 2 금융서버)로 전달할 수 있다. 상기 설명한 인증 방법은 제 2 금융서버에서도 유사하게 수행 될 수 있다.In
1117 동작은, 제1 금융서버가 전달 받은 정보가 제 2 결제 정보일 경우 제 1 토큰 서버(934)가 제 2 결제 정보를 제 1 결제 정보로 변경하는 방법을 설명할 수 있다. 예를 들면, 제1금융서버가 전달 받은 정보가 제 2 결제 정보인 경우에, 제 1 금융서버는 제 1 토큰서버에 제 2 결제정보를 전달할 수 있다. 제 1금융서버는 제 2 결제 정보를 발급할 때(도9에 설명 참조) 제 1 결제 정보와 제 2 결제정보를 매칭할 수 있다. 결제 트랜젝션에서는 상기 매칭된 정보를 이용하여 제 2 결제정보에 매칭되는 제 1 결제정보를 확인할 수 있으며, 관련된 제 1 결제 정보를 확인할 수 있다.
1119 동작에서 제 1 금융서버(932)는 제 2 금융서버(842)에 제 1 결제정보에 대한 인증을 요청할 수 있다.In
1121동작에서 제 2 금융서버(942)는 전달받은 제 1 결제정보에 대한 인증을 POS(1101)로 전달 할 수 있다. 인증 결과에 따라 POS(1101)은 거래 완료의 영수증을 출력하거나, 거래 실패의 메시지를 표시할 수 있다.In
도 12는 다양한 실시 예에 따른 전자장치의 구성도를 도시하고 있다.12 is a block diagram of an electronic device according to various embodiments of the present disclosure.
상기 도 12를 참조하면, 전자장치는 프로세서(1200), UICC(1202), 메모리(1204), 입력 장치(1206), 디스플레이 모듈(1208), 기저대역 모듈(1214), RF 모듈(1216), 제 1 통신모듈(1210), 제 2 통신모듈(1212)을 포함할 수 있다.12, the electronic device includes a
프로세서(1200)는 상기 전자장치의 전반적인 동작을 제어할 수 있다. 예를 들어, 음성통화 및 데이터통신을 위한 처리 및 제어를 수행하고, 통상적인 기능에 더하여 다양한 실시 예에서 결제 애플리케이션을 실행하여 결제 서비스 기능을 처리할 수 있다. 그리고 프로세서(1200)는 REE(rich execution environment)/TEE(trusted execution environment)에서 동작할 수 있다. 상기 TEE는 인증정보와 같은 민감한 데이터들을 안전한 환경 내에서 저장하고 실행하고 보호할 수 있다. 상기 REE는 상기 TEE보다 보안이 취약한 환경에서 데이터들을 처리할 수 있다.The
예컨대, 프로세서(1200)는 인증정보 전송을 위한 사용자 입력이 있거나 또는 상기 전자장치가 PoS(point of sales) 기기의 리더기에 근접하거나 접촉할 때, 결제 또는 인증과 관련된 정보의 전송 요청을 검출할 수 있다. 즉, 프로세서(1200)는 사용자 입력(혹은 사용자 인터페이스)을 통해 인증정보의 전송 명령을 수신하거나, 상기 PoS 기기로부터 인증정보의 요청을 수신할 수 있다. 더하여, 프로세서(1200)는 상기 요청된 인증정보의 전송을 위한 통신방식을 결정할 수 있다. 예컨대, 프로세서(1200)는 상기 요청된 인증정보가 제 1 통신모듈(1210)에 기반한 결제방식과 관련이 있을 때, 제 1 통신모듈(1210)을 선택하고, 상기 요청된 정보가 제 2 통신모듈(1212)에 기반한 결제방식과 관련이 있을 때, 제 2 통신모듈(1212)을 선택할 수 있다.For example, the
한 실시예에 따르면, 상기 프로세서(1200)는 각 통신방식에 대응하는 인증정보들을 수집하는 보안 모듈에서 상기 인증정보 전송 요청에 대응되는 인증정보를 획득할 수 있다. 예컨대, 상기 보안 모듈은 제 1 통신모듈(1210)에 기반한 결제방식에 이용되는 제 1 인증정보 및 제 2 통신모듈(1212)에 기반한 결제방식에 이용되는 제 2 인증정보를 저장할 수 있다. According to an embodiment, the
그리고, 상기 프로세서(1200)는 획득된 인증정보(예: 제 1 인증정보 또는 제 2 인증정보)를 제 1 통신모듈(1210) 또는 제 2 통신모듈(1212)을 통해 전송할 수 있다.In addition, the
한 실시예에 따르면, 상기 보안 모듈은 다양한 형태로 구현될 수 있다. 예컨대, 상기 보안 모듈은 전자장치의 내부 메모리(1204) 또는 UICC(Universal IC Card)(1202)의 일부 또는 전체 영역에 포함될 수 있다. 또는, 제1 통신모듈(1210) 또는 제2 통신모듈(1212)의 내부에 구현될 수 있다.According to an embodiment, the security module may be implemented in various forms. For example, the security module may be included in a part or the entire area of the
다양한 실시예에서, 상기 보안 모듈은 별도의 칩으로 분리된 형태(embedded secure element)로 구현될 수도 있고, 소형 이동식 플래시 메모리 카드(micro SD)에 탑재하는 방식으로 구현될 수도 있다.In various embodiments, the security module may be implemented as an embedded secure element as a separate chip, or may be implemented by mounting on a small removable flash memory card (micro SD).
한 실시예에 따르면, 상기 보안 모듈은 프로세서(1200) 내부의 다른 하나의 구성요소와 결합되어 하나의 패키지 형태로 구현될 수도 있다. According to one embodiment, the security module may be implemented in the form of one package by being combined with another component inside the
상기 프로세서(1200)는 TEE 환경에서 상기 보안영역에 액세스 가능하고, REE 환경에서 상기 보안영역에 액세스되지 않을 수 있다. 또는, TEE 환경이 아니더라도 특정 모듈(예: 제 2 통신모듈(1212), 제 1 통신모듈(1210))만 상기 보안영역에 액세스할 수 있다.The
상기 거래 또는 인증과 관련된 정보의 전송 요청에 대응하여, 적어도 하나의 보안 모듈로부터 적어도 하나의 인증정보를 획득하는 실시 예들을 하기 도 14 내지 도 31을 참조하기로 한다.Examples of obtaining at least one piece of authentication information from at least one security module in response to a request for transmission of information related to the transaction or authentication will be described with reference to FIGS. 14 to 31 below.
한 실시예에 따르면, 상기 프로세서(1200)는 상기 적어도 하나의 인증정보를 처리하여 적어도 하나의 통신모듈(예, 제 1 통신모듈(1210), 제 2 통신모듈(1212))을 통해 송신할 수 있다. 예컨대, 상기 전자장치는 PAN, 토큰, 암호화 키 같은 거래 또는 인증과 관련된 정보 중 상기 암호화 키를 이용하여 암호화 데이터를 생성하고, 상기 거래 또는 인증과 관련된 정보의 상기 토큰과 상기 생성된 암호화 데이터를 같이 제 1 통신모듈(1210) 또는 제 2 통신모듈(1212) 중 적어도 하나를 통하여 전송할 수 있다.According to an embodiment, the
이하의 설명에 있어서 통상적인 프로세서(1200)의 처리 및 제어에 관한 설명은 생략한다.In the following description, a description of the processing and control of the
메모리(1204)는 프로그램 메모리, 데이터 메모리 및 불휘발성 메모리 등을 포함할 수 있다. 상기 프로그램 메모리는 상기 전자장치의 전반적인 동작을 제어하기 위한 프로그램을 저장할 수 있다. 상기 프로그램 메모리는 플래시 메모리(flash memory)를 사용할 수 있다. 상기 데이터 메모리는 상기 전자장치 동작 중에 발생되는 데이터를 일시 저장하는 기능을 수행할 수 있다. 상기 데이터 메모리는 램(Random Access Memory)을 사용할 수 있다. 상기 불휘발성 메모리는 시스템 파라미터(system parameter) 및 기타 저장용 데이터(전화번호, SMS 메시지, 화상 데이터 등)를 저장할 수 있다. 상기 불휘발성 메모리는 EEPROM을 사용할 수 있다. 본 발명에 따라 상기 메모리(1204)는 보안영역으로 사용될 수 있다. 다양한 실시 예에서, 상기 메모리(1204)는 REE/TEE에 따라 구분되어 동작할 수 있다. 예를 들어, 도 5a내지 도5c에 도시된 바와 같이, REE환경의 메모리와 TEE환경의 메모리가 별도의 하드웨어 칩으로 구성될 수도 있다. 더하여 REE환경의 메모리와 TEE환경의 메모리가 하나의 하드웨어 칩에서 주소영역(address)를 달리해서 사용될 수도 있다. 다양한 실시예에서, 상기 메모리(1204)에는 상기 인증정보가 저장될 수 있다. 예를 들어, NFC 통신 모듈을 통하여 상기 인증정보를 전송하는 경우, Host Card Emulation mode에서는 상기 메모리(1204)로부터 상기 인증정보를 획득할 수 있다. 더하여 near field magnetic stripe data transmission 의 경우에도 상기 메모리(1204)로부터 상기 인증정보를 획득할 수 있다. 상기 인증 정보는 REE 환경 또는 TEE 환경의 메모리 중 적어도 하나에 저장될 수 있다.
입력 장치(1206)는 0 ∼ 9의 숫자키들과, 메뉴키(menu), 취소키(지움), 확인키, 통화키(TALK), 종료키(END), 인터넷 접속키, 네비게이션 키들(상/하/좌/우) 등 다수의 기능키들을 구비하며, 사용자가 누르는 키에 대응하는 키입력 데이터를 상기 프로세서(1200)로 제공할 수 있다. 디스플레이 모듈(1208)는 상기 전자장치의 동작 중에 발생되는 상태 정보, 다양한 동영상 및 정지영상 등을 디스플레이할 수 있다. 상기 디스플레이 모듈(1208)는 칼라 액정 디스플레이 장치(LCD: liquid crystal display)를 사용할 수 있다. 다양한 실시 예에서, 상기 디스플레이 모듈(1208)는 상기 프로세서(1200)로부터 인증 결과를 제공받아 그 결과를 디스플레이할 수 있다.The
RF모듈(Radio Frequency module)(1216)은 안테나(1218)를 통해 수신되는 라디오 주파수(RF) 신호를 해당 통신방식에 기반하여 주파수 하강시켜 기저대역 모듈(1214)로 제공하고, 상기 기저대역 모듈(1214)로부터의 기저대역신호를 주파수 상승시켜 상기 안테나(1218)를 통해 송신할 수 있다. 상기 기저대역 모듈(1214)는 상기 RF모듈(1216)과 상기 프로세서(1200) 사이에 송수신되는 기저대역 신호를 처리할 수 있다. 예를 들어, 상기 해당 통신방식은 LTE(long term evolution), LTE-A(long term evolution-advanced), CDMA(code division multiple access), WCDMA(wideband code division multiple access), UMTS(universal mobile telephone system), GSM(global system for mobile communications) 또는 5G 통신방식 중 적어도 하나일 수 있다.The RF module (Radio Frequency module) 1216 lowers the frequency of the radio frequency (RF) signal received through the
상기 제 1 통신모듈(1210)은, 예를 들면, 단방향(예를 들어 송신)통신을 수행할 수 있다. 상기 단방향 통신의 예로 near field magnetic stripe data transmission 통신방식을 이용할 수 있다. 또한, 상기 제1 통신모듈(1210)은 제 1 인증정보를 처리하여 PoS 기기로 전송할 수 있다.The
상기 제 2 통신모듈(1212)은, 예를 들면, 양방향 통신(예를 들어 송신 및 수신)을 실행할 수 있다. 상기 양방향 통신의 예로 상기 제 2 통신모듈(1212)은 NFC 통신방식을 사용할 수 있다. 또한, 상기 제 2 통신모듈(1212)은 제 2 인증정보를 처리하여 PoS 기기로 전송할 수 있다.The
다양한 실시 예에서, 양방향 통신방식(예: NFC 통신모듈)에 기반한 결제방식을 이용하는 경우, 예컨대, 상기 전자장치가 PoS 기기의 리더기에 근접하거나 접촉할 때, 상기 제 2 통신모듈(1212)가 PoS 기기로부터 인증정보의 요청을 통해 직접 수신함으로써, 상기 제 2 통신모듈(1212)이 상기 제 2 통신모듈(1212)에 기반한 결제방식에 대응하는 제 2 인증정보를 PoS 기기로 전송할 수 있다. 단방향 통신방식(예: near field magnetic stripe data transmission)에 기반한 결제방식을 이용하는 경우, 상기 제 1 통신모듈(1210)은 PoS 기기로부터 데이터를 수신할 수 없고 상기 PoS 기기에 데이터를 전송만 할 수 있기 때문에 프로세서(1200)로부터 인증정보의 전송 명령에 따라, 상기 제 1 통신모듈(1210)에 기반한 결제방식에 대응하는 제 1 인증정보를 PoS 기기로 전송할 수 있다. UICC(Universal IC Card)(1202)는 가입자 식별 모듈을 포함하는 카드일 수 있으며, 전자장치의 특정 위치에 형성된 슬롯에 삽입될 수 있다. 상기 UICC (1202)는 고유한 식별 정보(예: ICCID(integrated circuit card identifier)) 또는 가입자 정보(예: IMSI(international mobile subscriber identity))를 포함할 수 있다.In various embodiments, when a payment method based on a two-way communication method (eg, an NFC communication module) is used, for example, when the electronic device approaches or contacts a reader of a PoS device, the
구현에 따라, 상기 제 1 통신모듈(1210) 또는 상기 제 2 통신모듈(1212)은 상기 전자장치와 분리되어 상기 전자장치의 커넥터(예: 오디오 잭(audio jack)(미도시함) 또는 USB 커넥터)를 통해 연결될 수 있다.Depending on the implementation, the
다양한 실시 예에서, 상기 제1 통신모듈(1210)은 near field magnetic stripe data transmission 방식에 제한되지 않으며, 바코드 혹은 QR 코드, 오디오 데이터를 출력하는 모듈로 대체될 수 있다. 예컨대, 상기 제1 통신모듈(1210) 대신 바코드 혹은 QR 코드를 디스플레이하는 디스플레이 모듈(1208)가 단방향 통신모듈로 사용될 수도 있다. 또는 오디오 데이터를 출력하는 스피커가 단방향 통신모듈로 사용될 수 도 있다.In various embodiments, the
마찬가지로, 상기 제2 통신모듈(1212)은 NFC 통신방식 대신에 다른 다양한 양방향 통신방식이 적용될 수 있다.Similarly, the
도 13은 다양한 실시 예에 따른 전자장치의 동작 방법을 위한 흐름도를 도시하고 있다.13 is a flowchart for a method of operating an electronic device according to various embodiments of the present disclosure.
상기 도 13을 참조하면, 전자장치(예: 도 12의 프로세서(1200))는 1300 동작에서 적어도 하나의 인증정보를 전송하기 위한 통신모듈을 선택할 수 있다. 예컨대, 전자장치는 인증정보 전송을 위한 사용자 입력이 있거나 또는 상기 전자장치가 PoS(point of sales) 기기의 리더기에 근접하거나 접촉할 때, 해당 인증정보를 전송을 위한 통신모듈을 선택할 수 있다.Referring to FIG. 13 , the electronic device (eg, the
예를 들어, 인증정보 전송을 위한 사용자 입력(예: 지문 인증)이 있는 경우, 상기 전자장치는 상기 제 1 통신모듈(1210)을 선택하고 상기 전자장치가 PoS(point of sales) 기기의 리더기에 근접하거나 접촉할 때, 상기 전자장치는 상기 제 2 통신모듈(1212)을 선택할 수 있다.For example, when there is a user input (eg, fingerprint authentication) for transmitting authentication information, the electronic device selects the
구현에 따라, 인증정보 전송을 위한 트랜잭션이 발생하는 경우(다시 말해, PoS 기기가 NFC 통신방식 및 near field magnetic stripe data transmission 방식을 지원하는 경우), 상기 전자장치는 상기 제 1 통신모듈(1210) 및 상기 제 2 통신모듈(1212)을 모두 선택할 수 있다.According to the implementation, when a transaction for transmitting authentication information occurs (that is, when the PoS device supports the NFC communication method and the near field magnetic stripe data transmission method), the electronic device transmits the
상기 전자장치(예: 도 12의 프로세서(1200))는 1302 동작에서 상기 거래 또는 인증과 관련된 정보의 전송 요청에 대응하여, 적어도 하나의 보안 모듈 또는 메모리 중 적어도 하나로부터 적어도 하나의 인증정보를 획득할 수 있다. 상기 인증 정보는 PAN, 토큰, 또는 키(key) 중 적어도 하나로 구성될 수 있다. 예컨대, 상기 토큰은 사용자의 신용카드를 대체하여 사용하는 디지털 데이터로써, 해당 신용카드를 등록할 시 상기 신용카드 회사의 서버로부터 수신할 수 있다. 상기 키는 상기 신용카드 회사 또는 키를 분배하는 인증센터의 서버로부터 주기적으로 수신하거나 혹은 필요 시 요청되어 보안 모듈 또는 메모리 중 적어도 하나에 저장될 수 있다. 또한, 상기 키는 상품 지불에 대한 인증을 위한 암호화 데이터를 생성하는데 이용될 수 있다. In
적어도 하나의 보안영역으로부터 적어도 하나의 인증정보를 획득하는 실시 예들을 하기 도 14 내지 도 31를 참조하여 설명할 것이다.Examples of obtaining at least one piece of authentication information from at least one security area will be described with reference to FIGS. 14 to 31 below.
상기 전자장치(예: 도 12의 프로세서(1200))는 1304 동작에서 상기 적어도 하나의 인증정보를 처리하여 적어도 하나의 통신모듈(예: 도 12의 제 1 통신 모듈(1210) 또는 제 2 통신 모듈(1212))을 통해 송신할 수 있다. 예컨대, 상기 전자장치는 상기 인증정보의 키를 통해 암호화 데이터를 생성하고, 상기 인증정보의 토큰과 상기 생성된 암호화 데이터와 같이 송신할 수 있다. 예컨대, 상기 토큰과 상기 키로 생성된 암호화 데이터는 메시지형태로 전송될 수 있다. 그리고 상기 토큰은 동적 데이터일 수 있다. 상기 키는 동적 데이터일 수 있다.The electronic device (eg, the
한편, 인증 타입에 따라, 인증정보의 토큰 및/또는 키가 구분될 수 있다. 예컨대, 제1 인증 방식을 이용하는 경우, 제1 토큰 및 제1 키가 이용되고, 제2 인증 방식을 이용하는 경우, 제2 토큰 및 제2 키가 이용될 수 있다. 다양한 실시예에 따르면, 상기 제1 인증 방식은 상기 near field magnetic stripe data transmission통신을 이용하는 결제 방식이고 상기 제2 인증 방식은 NFC 통신을 이용하는 결제 방식일 수 있다.Meanwhile, a token and/or a key of authentication information may be classified according to an authentication type. For example, when the first authentication method is used, the first token and the first key may be used, and when the second authentication method is used, the second token and the second key may be used. According to various embodiments, the first authentication method may be a payment method using the near field magnetic stripe data transmission communication, and the second authentication method may be a payment method using NFC communication.
도 14는 다양한 실시예에 따른 전자장치의 내부 구성요소들간 인터페이스를 도시하고 있다.14 illustrates an interface between internal components of an electronic device according to various embodiments of the present disclosure.
상기 도 14를 참조하면, AP(application processor)(1401)는 상기 도 12의 프로세서(1200)에 대응하고, 제 1 통신모듈(1403)는 상기 도 12의 제 1 통신모듈 (1210)에 대응하고, 그리고 제 2 통신모듈(1405)는 상기 도 12의 제 2 통신모듈 (1212)에 대응할 수 있다. 상기 제 1 통신모듈(1403) 및 제 2 통신모듈(1405)은 전기적으로 AP (1401)에 연결되어 있고, 보안 모듈(1407)은 제 2 통신모듈(1405)에 전기적으로 연결될 수 있다. 그리고 제 1 통신모듈(1403)과 제 2 통신모듈(1405) 사이도 기능적으로 연결될 수 있다.Referring to FIG. 14 , an application processor (AP) 1401 corresponds to the
다양한 실시예에서, 제 1 통신 모듈(1403)은 MST 모듈(예: MST 모듈(810))일 수 있고, 제 2 통신 모듈(1405)은 NFC 모듈(예: NFC 모듈(820))일 수 있다. 보안 모듈(1407)은 내장형 보안 요소(eSE)일 수 있다.In various embodiments, the
상기 AP(1401)는 제 1 인증서비스 트랜잭션을 검출하여 제 1 인증서비스 트랜잭션 명령을 상기 제 1 통신모듈(1403)로 전달할 수 있다. 다양한 실시예에 따르면, 상기 제 1 인증 서비스 트랜잭션 명령은 제 1 통신모듈(1403)을 기반한 인증절차를 수행하도록 하는 명령이 될 수 있다. 예를 들어, 상기 입력은 사용자에 의해 발생될 수 있다.The
또한, 상기 AP(1401)는 상기 제 2 통신모듈(1405)로부터 제 2 인증정보(1407-2)에 대응하는 인증결과를 제공받아 디스플레이 모듈(1208)에 디스플레이하도록 제어할 수 있다.Also, the
상기 제 1 통신모듈(1403)은 상기 AP(1401)로부터 인증서비스 트랜잭션 명령을 수신할 시, 상기 제 2 통신모듈(1405)에 제 1 인증정보(1407-1)를 요청하여 상기 제 2 통신모듈(1405)를 통해 제공받는다. 더하여, 상기 제 1 통신모듈(1403)는 상기 제 1 인증정보(1407-1)를 처리하여(예컨대, 키를 이용하여 암호화 데이터를 생성하고 토큰과 상기 생성된 암호화 데이터를 메시지형태로 생성하는 동작) 상기 POS 기기로 송신할 수 있다.When receiving an authentication service transaction command from the
상기 제 2 통신모듈(1405)은 상기 전자장치가 POS 기기에 근접하거나 접속될 시, 제 2 인증서비스 트랜잭션을 검출하고, 상기 보안 모듈(1407)으로부터 상기 제 2 인증정보(1407-2)를 획득하고, 상기 제2 인증정보(1407-2)를 처리하여 상기 POS 기기로 송신할 수 있다. 또한, 상기 제2 통신모듈(1405)는 인증결과에 대한 정보를 피드백 받아 그 결과를 상기 AP(1401)로 제공할 수 있다.The
상기 보안 모듈(1407)은 상기 제 2 통신모듈(1405)에 의해서만 액세스 가능하며, 상기 AP(1401) 또는 상기 제 1 통신모듈(1403)가 액세스할 수 없는 저장공간일 수 있다. 실시예에서, 상기 보안 모듈(1407)은 상기 제 1 인증정보(1407-1) 및 상기 제 2 인증정보(1407-2)를 포함할 수 있다.The
다양한 실시 예에서, 상기 보안 모듈(1407)에 저장된 적어도 하나의 인증정보(예를 들어, 제 1 인증정보 (1409-1)는 전기적으로 AP(1401)와 연결되는 일반 메모리(1409)에 저장될 수 있다. 여기서, 상기 일반 메모리(1409)는 노멀 영역의 상기 AP(1401)에 의해 액세스될 수 있다.In various embodiments, at least one piece of authentication information (eg, the first authentication information 1409 - 1) stored in the
도 15는 다양한 실시 예에 따른 모바일 근거리 결제 서비스를 위한 복수의 통신모듈을 포함한 전자장치의 동작 방법을 위한 흐름도를 도시하고 있다.15 is a flowchart illustrating a method of operating an electronic device including a plurality of communication modules for a mobile short-distance payment service according to various embodiments of the present disclosure.
상기 도 15를 참조하면, 1500 동작에서 제 1 인증 서비스의 트랜잭션이 발생하는 경우, AP(701)는 1502동작으로 진행하여 제 1 통신모듈(1403)로 상기 제1 인증 서비스의 트랜잭션 명령을 전달할 수 있다.Referring to FIG. 15 , when the transaction of the first authentication service occurs in
상기 제 1 통신모듈(1403)는 1504동작에서 제 2 통신모듈(1405)로 지불 결제를 위한 제 1 인증정보를 요청할 수 있다.The
상기 제 2 통신모듈(1405)는 1506동작에서, 상기 제 2 통신모듈(1405)에서 보안영역(1507)으로부터 지불 결제를 위한 제 1 인증정보를 획득할 수 있다.The
상기 제 2 통신모듈(1405)는 1508동작에서, 상기 획득한 지불 결제를 위한 인증 정보를 상기 제 1 통신모듈(1403)로 전달할 수 있다.The
상기 제 1 통신모듈(1403)는 1510동작에서, 상기 인증 정보를 처리하여 제 1 통신모듈(1210)을 통해 송신할 수 있다.In
다양한 실시 예에서, 1502동작 이후에 상기 제 1 통신 모듈(1403)은 1516 동작에서 상기 인증 정보를 메모리(1409)로부터 획득할 수 있다. 상기 획득한 인증 정보는 1510 동작에서 송신할 수 있다.In various embodiments, after
반면, 1500동작에서 제 2 인증 서비스의 트랜잭션이 발생하는 경우, 상기 제 2 통신모듈(1405)는 1512동작으로 진행하여 보안 모듈(1407)으로부터 지불 결제를 위한 제 2 인증정보를 획득할 수 있다.On the other hand, when the transaction of the second authentication service occurs in
상기 제 2 통신모듈(1407)는 1514동작에서 상기 인증 정보를 처리한 후 제 2 통신모듈(1212)을 통해 송신할 수 있다.The
도 16은 다양한 실시예에 따른 전자장치의 내부 구성요소들간 인터페이스를 도시하고 있다.16 illustrates an interface between internal components of an electronic device according to various embodiments of the present disclosure.
상기 도 16을 참조하면, AP(1601)는 상기 도 12의 프로세서(1200)에 대응하고, 제 1 통신모듈(1603) 는 상기 도 12의 제 1 통신모듈 (1210)에 대응하고, 제 2 통신모듈(1605)는 상기 도 12의 제 2 통신모듈 (1212)에 대응할 수 있다. 상기 제 1 통신모듈(1603) 및 제 2 통신모듈(1605)는 전기적으로 AP (1601)에 연결되어 있고, 제 1 보안 모듈(1607)은 제 1 통신모듈(1603)에 전기적으로 연결될 수 있다. 그리고 제 2 보안 모듈(1609)은 제 2 통신모듈(1609)에 전기적으로 연결될 수 있다.Referring to FIG. 16 , the
다양한 실시예에서, 제 1 통신 모듈(1603)은 MST 모듈(예: MST 모듈(810)) 또는 NFC 모듈(예: NFC 모듈(820)) 중 적어도 하나일 수 있다. 제 2 통신 모듈(1605)은 MST 모듈(예: MST 모듈(810)) 또는 NFC 모듈(예: NFC 모듈(820)) 중 적어도 하나일 수 있다. 제 1 보안 모듈(1607)은 제 1 내장형 보안 요소(eSE)일 수 있다. 제 2 보안 모듈(1609)은 제 2 내장형 보안 요소(eSE)일 수 있다.In various embodiments, the
상기 AP(1601)는 제 1 인증서비스 트랜잭션을 검출하고, 제 1 인증서비스 트랜잭션 명령을 상기 제 1 통신모듈(1603)로 전달할 수 있다. 또한, 상기 AP(1601)는 상기 제 2 통신모듈(1605)로부터 상기 제 2 인증정보에 대응하는 인증결과를 제공받아 디스플레이 모듈(1208)에 디스플레이하도록 제어할 수 있다.The
상기 제 1 통신모듈(1603)는 상기 AP(1601)로부터 인증서비스 트랜잭션 명령을 수신할 시, 상기 제 1 보안 모듈(1607)으로부터 상기 제 1 인증정보(1607-1)를 획득하고, 상기 제 1 인증정보(1607-1)를 처리하여 상기 POS 기기로 송신할 수 있다.When receiving an authentication service transaction command from the
상기 제 2 통신모듈(1605)는 상기 전자장치가 POS 기기에 근접하거나 접속될 시, 인증서비스 트랜잭션을 검출하고, 상기 제 2 보안 모듈(1609)으로부터 상기 제 2 인증정보(1609-2)를 획득하고, 상기 제 2 인증정보(1609-2)를 처리하여 상기 POS 기기로 송신할 수 있다. 또한, 상기 제 2 통신모듈(1605)는 인증결과에 대한 정보를 피드백 받아 그 결과를 상기 AP(1601)로 제공할 수 있다.The
상기 제 1 보안 모듈(1607)은 상기 제 1 통신모듈(1603)에 의해서만 액세스 가능하며, 상기 제 2 보안 모듈(1609)은 상기 제 2 통신모듈(1605)에 의해서만 액세스 가능하며, 상기 AP(1601) 또는 상기 제 1 통신모듈(1603)는 상기 제 2 보안 모듈(1609)을 액세스할 수 없고, 상기 AP(1601) 또는 상기 제 2 통신모듈(1605)는 상기 제 1 보안 모듈(1607)을 액세스할 수 없는, 저장공간일 수 있다.The
다양한 실시 예에서, 상기 제 1 인증정보(1607-1)는 전기적으로 AP(1601)와 연결되는 일반 메모리(1611)에 저장될 수 있다. 여기서, 상기 일반 메모리(1611)는 노멀 영역의 상기 AP(1201)에 의해 액세스될 수 있다.In various embodiments, the first authentication information 1607 - 1 may be stored in a
도 17은 다양한 실시 예에 따른 모바일 근거리 결제 서비스를 위한 복수의 통신모듈을 포함한 전자장치의 동작 방법을 위한 흐름도를 도시하고 있다.17 is a flowchart illustrating a method of operating an electronic device including a plurality of communication modules for a mobile short-distance payment service according to various embodiments of the present disclosure.
상기 도 17을 참조하면, 1700동작에서 제 1 인증 서비스의 트랜잭션이 발생하는 경우, AP(1601)는 1702동작으로 진행하여 제 1 통신모듈(1603)로 상기 제 1 인증 서비스의 트랜잭션 명령을 전달할 수 있다.Referring to FIG. 17 , when the transaction of the first authentication service occurs in
상기 제 1 통신모듈(1603)는 1704동작에서, 제 1 보안 모듈(1607) 또는 메모리(1711) 중 적어도 하나로부터 지불 결제를 위한 인증정보(예: 제 1 인증정보)를 획득할 수 있다.The
상기 제 2 통신모듈(1605)는 1706동작에서, 상기 인증 정보를 처리하여 제 1 통신모듈(1603)을 통해 송신할 수 있다.In
반면, 1700동작에서 제 2 인증 서비스의 트랜잭션이 발생하는 경우, 상기 제 2 통신모듈(1605)는 1708동작으로 진행하여 제 2 보안 모듈(1609)으로부터 지불 결제를 위한 인증 정보를 획득할 수 있다.On the other hand, when the transaction of the second authentication service occurs in
상기 제 2 통신모듈(1605)는 1710동작에서 상기 인증 정보를 처리하여 제 2 통신모듈(1605)을 통해 송신할 수 있다.The
도 18은, 다양한 실시예에 따른, 결제 기능을 수행할 수 있는 전자 장치(예: 전자 장치(101))의 실행 환경(1801)에서 실행되기 위한 프로그램 모듈들을 도시하는 블럭도(1800)이다. 도18을 참조하면, 실행 환경(1801)은, 예를 들면, REE(1810) 및 TEE(1820)를 포함할 수 있다. 18 is a block diagram 1800 illustrating program modules to be executed in an execution environment 1801 of an electronic device (eg, the electronic device 101) capable of performing a payment function, according to various embodiments of the present disclosure. Referring to FIG. 18 , the execution environment 1801 may include, for example, an REE 1810 and a
한 실시예에 따르면, REE는 결제를 위해서, 예를 들면, 결제 어플리케이션(1830)(예: 결제 (어플리케이션) 385), 결제 매니저(1840)(예: 결제 매니저(354)), 및 커널(1850)(예: 커널(320))을 포함할 수 있다. 한 실시예에 따르면, 결제 어플리케이션(1830)은, 예를 들면, 결제 관리 모듈(1831), 서버 연동 모듈(1833), 인증 모듈(1835), 주변 장치 관리 모듈(1837)을 포함할 수 있다. 또한, 도 32 내지 도 36의 결제 어플리케이션을 포함할 수 있다.According to one embodiment, the REE is for payment, for example, a payment application 1830 (eg, payment (application) 385), a payment manager 1840 (eg, payment manager 354), and a kernel 1850. ) (eg, the kernel 320). According to an embodiment, the payment application 1830 may include, for example, a
한 실시예에 따르면, 결제 관리 모듈(1831)은 카드 등록, 카드 인증, 카드 삭제, 및 결제를 위한 동작을 수행할 수 있다. 결제 관리 모듈은 사용자의 카드를 등록할 수 있다. 전자 장치(예: 전자 장치(101))는 사용자로부터 카드 등록 요청을 수신할 수 있다. 전자 장치는 카메라 모듈을 이용하여 카드 이미지를 획득할 수 있다. 결제 관리 모듈은 OCR 모듈을 통해 카드 이미지를 획득할 수 있다. 결제 관리 모듈은 카드 정보에 연관된 정보(예: 비밀번호, 집 주소, 이메일 주소, 전화 번호, 또는 계정 ID)를 사용자로부터 입력 받거나 결제 서버(720)로부터 획득할 수 있다. According to an embodiment, the
한 실시예에 따르면, 결제 관리 모듈(1831)은 등록된 카드를 디스플레이(160)를 통해 사용자에게 표시할 수 있다. 사용자는 등록된 카드 중 적어도 일부 정보(예: 카드 이름, 집 주소, 전화 번호, 결제 시도 횟수, 또는 결제 알림 정보 수신 여부 등)를 수정할 수 있다. 결제 관리 모듈(1831)은 각각의 카드에 따른 거래 내역을 표시할 수 있다. 결제 관리 모듈(1831)은 전자 장치와 기능적으로 연결된 웨어러블 장치(예: 스마트 와치)에 등록된 카드 정보를 표시할 수 있다. According to an embodiment, the
한 실시예에 따르면, 결제 관리 모듈(1831)은 등록된 카드를 이용하여 결제 동작을 수행할 수 있다. 사용자는 결제를 위해 등록된 다수의 카드 중 하나의 카드를 선택할 수 있다. 사용자는 전자 장치를 POS(point of sales)(740)로 가져갈 수 있다. 결제 관리 모듈(1831)은 POS(740)로부터 전달받은 제품 정보(예: 가격)를 디스플레이(160) 통해 표시할 수 있다. 결제 관리 모듈(1831)은 결제를 위해 인증 모듈(1835)을 통해 사용자 인증(예: 지문 인증)을 수행할 수 있다. 인증이 완료 된 경우, 결제 관리 모듈(1831)은 결제가 완료되었다는 알림 정보를 디스플레이(160)를 통해 표시할 수 있다.According to an embodiment, the
한 실시예에 따르면, 전자 장치(전자 장치 101 또는 전자 장치710)는 MST 모듈 또는 NFC 모듈 중 적어도 하나를 이용하여 결제 정보를 POS로 전송할 수 있다. 인식률을 높이기 위해 MST 모듈과 NFC 모듈을 동시에 이용하여 결제 정보를 POS로 전송할수도 있다. 혹은, MST 모듈을 이용하여 전송하고, 결제가 실패했을 경우 NFC 모듈을 이용하여 전송할 수 있다. 결제가 실패한 경우를 인식하는 방법은 POS 또는 3rd party(예: financial institution)로부터 알림을 받거나 지정된 시간을 초과했을 경우를 포함할 수 있다. 다양한 실시예는 순서에 한정하지 않으며, 반대로도 가능하다.According to an embodiment, the electronic device (the electronic device 101 or the electronic device 710) may transmit payment information to the POS using at least one of the MST module and the NFC module. To increase the recognition rate, payment information can be transmitted to the POS by using the MST module and the NFC module at the same time. Alternatively, the transmission may be performed using the MST module, and if the payment fails, the transmission may be performed using the NFC module. A method of recognizing a case in which payment has failed may include receiving a notification from a POS or a 3rd party (eg, a financial institution) or exceeding a specified time. Various embodiments are not limited to the order, and vice versa.
한 실시예에 따르면, 전자 장치는 사용자가 기 등록된 카드 중 적어도 하나의 카드를 삭제하는 요청을 수신할 수 있다. 결제 관리 모듈(1831)은 해당 카드에 해당하는 정보를 메모리(130)로부터 삭제할 수 있다. 결제 관리 모듈(1831)은 상기 적어도 하나의 카드에 해당하는 정보를 삭제할 것을 결제 서버(720)에 요청할 수 있다.According to an embodiment, the electronic device may receive a request for the user to delete at least one card among previously registered cards. The
한 실시예에 따르면, 결제 관리 모듈(1831)은 카드의 소유주와 카드 등록을 하는 사용자가 일치하는지 확인할 수 있다. 결제 관리 모듈(1831)은, 예를 들면, ID&V(identification & verification) 모듈을 포함할 수 있다. 결제 관리 모듈(1831)은 문자, 이메일, ARS, 또는 전화 통화를 통해 사용자 인증을 수행할 수 있다. 또한, 카드사 또는 은행에서 발행한 어플리케이션을 통해 인증을 수행할 수 있다. 결제 관리 모듈(1831)을 통해 등록된 카드는 인증을 거친 후 사용될 수 있다.According to an embodiment, the
한 실시예에 따르면, 결제 관리 모듈(1831)은 OCR 모듈을 포함할 수 있다. OCR 모듈은 사람이 쓰거나 기계로 인쇄한 문자의 이미지를 스캐너로 획득하여 기계가 읽을 수 있는 문자로 변환할 수 있다. 전자 장치는 카메라 모듈을 통해 사용자가 소지한 카드의 이미지를 획득할 수 있다. OCR 모듈은 카드 이미지로부터 카드에 기입된 이미지, 문자, 또는 숫자를 기계가 읽을 수 있는 문자로 변환할 수 있다. OCR 모듈은 변환된 문자를 통해 사용자의 카드 정보(예: 카드 번호, 사용자 이름, 또는 유효 기간)를 획득할 수 있다. 전자 장치는 OCR 모듈을 통해 사용자의 카드 정보를 획득하여 카드 등록 과정을 수행할 수 있다.According to an embodiment, the
한 실시예에 따르면, 결제 관리 모듈(1831)은 결제를 하기 위해 생성된 바코드를 디스플레이(160)를 통해 표시할 수 있다. 예를 들어, 결제 관리 모듈(1831)은 POS(740)로부터 바코드 리더기를 통해 결제가 수행될 수 있는 바코드를 생성하는 명령을 수신할 수 있다. 결제 관리 모듈(1831)은 상기 명령에 기반하여 바코드를 생성할 수 있다.According to an embodiment, the
한 실시예에 따르면, 서버 연동 모듈(1833)은 결제 서버(720) 또는 토큰 서비스 프로바이더(730)로부터 결제 관련 메시지, 기기 관련 메시지, 또는 서비스 관련 메시지를 수신할 수 있다. 서버 연동 모듈(1833)은 상기 메시지를 결제 관리 모듈(1831)로 전달할 수 있다. According to an embodiment, the
한 실시예에 따르면, 서버 연동 모듈(1833)은, 예를 들면, 푸시 관리 모듈(push management module) 및 계정 관리 모듈(account management module)을 포함할 수 있다. 예를 들어, 결제 서버(720)로부터 수신한 메시지가 토큰(token)과 연관된 푸시 알림(push notification) 형태면 푸시 관리 모듈에서 수신한 메시지를 처리하고, 수신한 메시지가 계정 관련 정보(예: 삼성 계정)면 계정 관리 모듈에서 수신한 메시지를 처리할 수 있다. According to an embodiment, the
한 실시예에 따르면, 푸시 관리 모듈은 결제 서버(720)로부터 수신된 푸시 알림 또는 푸시 메시지(push notification 또는 push message) 정보를 연산, 처리(handle)할 수 있다. 푸시 메시지는 결제 매니저(payment manager)(1840 또는 354) 내부의 결제 중계 모듈(1841)을 통하여 결제 어플리케이션(1830) 내부의 서버 연동 모듈(1833)로 전달될 수 있고, 직접적으로 결제 어플리케이션(1830)으로 전달 될 수 있다. 전달된 푸시 메시지 중에서 적어도 일부 메시지는 결제 관리 모듈(1831)로 전달되어 카드 관련 정보를 업데이트 하고 결제 서버(720)와 동기화 될 수 있다.According to an embodiment, the push management module may calculate and handle information about a push notification or a push message received from the
한 실시예에 따르면, 결제 서비스(720)는 계정 관련 정보를 관리하는 계정 서버 또는 결제 관련 정보를 제공하는 토큰 요구자 서버를 포함할 수 있다. 계정 서버와 토큰 요구자 서버는 별도의 장치(예: 서버 106)로 구현될 수도 있고, 하나의 장치에 포함될 수도 있다.According to one embodiment, the
한 실시예에 따르면, 푸시 관리 모듈에서 수신되는 메시지 정보는 아래 표 1과 같이 권한 설정(예: token provisioning), 중지(예: token suspension), 폐기(예: token disposal), 상태 전환(예: token status change), 추가 발급(예: token replenishment), 결제 확인(예: transaction notification) 등의 토큰 및 결제 관련 정보를 포함할 수 있다. According to an embodiment, the message information received from the push management module includes permission setting (eg, token provisioning), suspension (eg, token suspension), disposal (eg, token disposal), and state transition (eg: token provisioning) as shown in Table 1 below. Token status change), additional issuance (eg token replenishment), and payment confirmation (eg transaction notification) may include token and payment-related information.
계정 관리 모듈에서 송신/수신하는 메시지는 분실 전자 장치 확인 기능(예: lost device, find my mobile), 원격 차단(예: remote lock/unlock), 멤버십 관리(예: loyalty/membership cards), 웹 연동 기능(예: website portal-online) 등의 전자 장치 관련된 정보 중 적어도 일부를 포함 할 수 있다.Messages sent/received from the account management module include lost electronic device verification function (eg lost device, find my mobile), remote block (eg remote lock/unlock), membership management (eg loyalty/membership cards), and web linkage. It may include at least a part of information related to the electronic device, such as a function (eg, website portal-online).
한 실시 예에 따르면, 결제 관리 모듈에서 획득된 token provisioning ID & V 정보가 결제 서버(720)를 거쳐 외부 서버로 성공적으로 전달되고 전달된 토큰(token) 관련 정보가 유효(validate)하면, 예를 들면, “push token {id} status changed” 메시지를 서버 연동 모듈(1833)에서 이를 수신하여 결제 관리 모듈(1831)로 전달할 수 있다.According to one embodiment, if the token provisioning ID & V information obtained from the payment management module is successfully transferred to the external server through the
한 실시 예에 따르면, 전자 장치의 결제 관리 모듈(1831)에서 획득된 카드 정보 일시 중지(예: token suspension) 정보는 결제 서버(720)의 사용 중지 명령을 결제 어플리케이션(1830)으로 전달하여 모바일 결제를 위한 카드 설정 상태를 활성(active) 상태에서 비활성(inactive) 상태로 전환할 수 있다. According to an embodiment, the card information suspension (eg, token suspension) information obtained from the
한 실시 예에 따르면, 전자 장치의 분실이 발생하면 결제 서버(720)는 결제 서버(720)에 저장된 모든 토큰 정보를 삭제 혹은 일시 정지시킬 수 있다. 이를 결제 어플리케이션(1830)에 동기화하기 위해 푸시 메시지를 전송할 수 있다. 결제 서버(720)는 상기 결제 중계 모듈(1831) 또는 서버 연동 모듈(1833)(예: 푸시 관리 모듈, 계정 관리 모듈)을 통하여 결제 어플리케이션(1831)으로 전달될 수 있다.According to an embodiment, when the electronic device is lost, the
표 2를 참조하면, 전자 장치 및 결제 중계 모듈(1831)에서 지원하는 푸시 API 내용으로 결제 중계 모듈(1831)에 따라 구분되어 별도로 구현될 수 있다.Referring to Table 2, the contents of the push API supported by the electronic device and the
한 실시 예에 따르면, 계정 관리 모듈(account management module)은 결제 서버(720)와 주고 받는 사용자 고유의 식별자(예: Samsung account id 또는 device id), 카드, 또는 멤버십 등의 정보를 결제 어플리케이션에서 관리 할 수 있다. 상기 사용자 식별자는 여러 사업자의 카드(예: 비자 카드 또는 마스터 카드)를 관리하기 위하여 사용자가 가입한 계정 또는 전자 장치와 관련된 포털 계정 또는 전자 장치의 고유 식별자(예: 모델명, MAC address, IMEI, 고유 번호(serial number), UUID, 또는 아이디(ID) 등)를 포함할 수 있다. 더하여, 상기 고유 식별자는 상기 계정을 통하여 결제 서버(720)에서 생성하여 전달받은 값일 수 있다.According to an embodiment, the account management module manages information such as a user's unique identifier (eg, Samsung account id or device id), card, or membership exchanged with the
계정 관리 모듈은 상기 사용자의 계정 또는 전자 장치 식별자를 이용하여 카드의 등록, 추가, 삭제, 중복 등록, 사용 중지, 또는 사용 재개 등을 관리 할 수 있다. 이 외에도 전자 장치와 웨어러블 장치(wearable device))간에 카드 정보를 송출 (import/export)하는 경우에도 생성된 계정 또는 전자 장치 식별자를 기반으로 카드의 등록, 추가, 삭제, 중복 등록 확인, 사용 중지, 또는 사용 재개 등을 관리 할 수 있다. The account management module may manage registration, addition, deletion, duplicate registration, suspension of use, or resumption of use of a card using the user's account or electronic device identifier. In addition to this, even when card information is exported (imported/exported) between an electronic device and a wearable device, registration, addition, deletion, duplicate registration check, suspension of use, Or you can manage resumption of use, etc.
이때, 계정 기반의 관리 방법은 하나의 계정을 공유하는 복수의 전자 장치 또는 복수 사용자가 관리되어 전자 장치 별로 고유의 계정(예: 삼성 계정)을 사용하거나 하나의 계정으로 복수의 전자 장치를 통합 관리될 수 있다. In this case, in the account-based management method, a plurality of electronic devices or multiple users sharing one account are managed to use a unique account (eg, a Samsung account) for each electronic device, or to manage a plurality of electronic devices with one account. can be
한 실시 예에 따르면, 결제 관리 모듈(1831)의 광학 문자 인식 모듈(예: OCR 모듈)을 통해 생성된 제 1 카드(예: 비자 카드)와 제 2카드(예: 마스터 카드) 정보는 삼성 계정 가입 시 생성한 계정(예: registration02@samsung.com)을 기반으로 상기 카드를 등록할 수 있다. 이때, 등록된 정보는 결제 서버(720)와 상기 생성한 계정 기반으로 동기화 될 수 있다. According to an embodiment, the first card (eg, Visa card) and the second card (eg, master card) information generated through the optical character recognition module (eg, OCR module) of the
한 실시 예에 따르면, 바코드 인터페이스(barcode interface)를 통해 생성된 멤버십(membership) 정보는 삼성 계정 가입 시 생성한 계정(예: registration01@samsung.com)을 기반으로 제 1카드(예: 삼성 포인트 카드(Samsung points card)), 제 2카드(예: CJ 멤버십 포인트 카드(CJ membership points card))를 등록할 수 있다. 상기 등록된 정보는 결제 서버(720)와 상기 생성한 계정 기반으로 동기화 될 수 있다.According to an embodiment, the membership information generated through the barcode interface is the first card (eg, Samsung point card) based on the account (eg, registration01@samsung.com) created when signing up for a Samsung account. (Samsung points card) and a second card (eg, CJ membership points card) can be registered. The registered information may be synchronized with the
또한 사용자는 결제 어플리케이션에서 로그인 이후 계정 기반으로 카드의 활성/비활성(active / inactive) 상태 결정하여 계정 관리 모듈(1831)을 이용하여 결제 서버(710)로 전달 할 수 있으며 이와는 반대로 서버 관리 웹 페이지(예: 서버 포털)에서 계정 기반의 카드 상태를 관리 전환시킬 수 있다. 또한, 계정 관리 모듈은 서비스 계정(예: registration01@samsung.com)과 연계된 카드 정보(예: 비자 카드 ID & V) 및 멤버십 정보(예: CJ membership points, registraion001@Cj.com)를 서버와 연동하여 관리할 수 있다. 상기 멤버십 정보는 카드 결제 시 결제 처리 정보(예: 결제 금액)와 멤버십 누적 정보(예: 포인트 점수, 마일리지 등)를 연동하여 자동으로 적립, 차감할 수 있다.In addition, the user can determine the active / inactive state of the card based on the account after logging in in the payment application and transmit it to the
이처럼 계정 관리 모듈을 포함하는 결제 어플리케이션이 설치되면 어느 기기에서라도 사용자의 계정 로그인(log in 또는sign in) 과정 한번으로 기존의 등록된 카드 일부 또는 전부의 설정 상태를 지속적으로 연동하여 사용할 수 있다. 또한, 인증 보안 레벨이 상대적으로 낮은 멤버십 정보도 사용자의 계정 중심으로 등록, 연계되어 추가적인 인증 과정을 줄 일 수 있다. As such, when a payment application including an account management module is installed, the user's account login (log in or sign in) process can be used in any device to continuously link and use the setting status of some or all of the existing registered cards. In addition, membership information, which has a relatively low authentication security level, is registered and linked to the user's account, thereby reducing the additional authentication process.
한 실시예에 따르면, 인증 모듈(1835)은 결제를 위한 카드 또는 사용자의 인증을 수행하기 위한 UI(user interface)를 디스플레이(160)를 통해 표시할 수 있다. 인증 모듈은, 예를 들면, 생체 정보 모듈을 포함할 수 있다. According to an embodiment, the
한 실시예에 따르면, 생체 정보 모듈은 사용자의 생체 정보를 획득할 수 있다. 사용자의 생체 정보는, 예를 들면, 지문, 홍채, 얼굴 이미지, 목소리, 심장 박동, 또는 혈압 정보를 포함할 수 있다. 전자 장치는 센서 모듈을 통해 사용자의 생체 정보를 획득할 수 있다. 예를 들면, 지문 센서를 통해 사용자의 지문 정보를 획득할 수 있다. 또는, 전자 장치는 카메라 모듈을 통해 사용자의 홍채 정보를 획득할 수 있다. 생체 정보 모듈은 사용자의 생체 정보를 획득하기 위한 UI(user interface)를 디스플레이(160)를 통해 표시할 수 있다. According to an embodiment, the biometric information module may acquire the user's biometric information. The user's biometric information may include, for example, fingerprint, iris, face image, voice, heart rate, or blood pressure information. The electronic device may acquire the user's biometric information through the sensor module. For example, the user's fingerprint information may be acquired through a fingerprint sensor. Alternatively, the electronic device may acquire the user's iris information through the camera module. The biometric information module may display a user interface (UI) for obtaining the user's biometric information through the
한 실시예에 따르면, 생체 정보 모듈은 사용자가 전자 장치에 등록된 카드 정보를 이용하여 결제를 시도 할 때, 전자 장치에 기능적으로 연결된 보안 메모리(예: 내장형 보안 요소(eSE) 또는 보안 환경에서 접근 가능한 메모리)로부터 보안 데이터(예: 토큰)를 획득하기 위해 인증을 수행할 수 있다. 전자 장치는 사용자 인증을 위해 생체 정보 모듈을 통해 사용자의 생체 정보(예: 지문 또는 홍채)를 획득할 수 있다. 획득된 생체 정보는 결제 매니저(1840)의 생체 정보 관리 모듈(1843)에게 전달할 수 있다. 한 실시예에 따르면 보안 메모리는 암호화된 키로 저장되는 데이터를 포함하는 메모리일 수 있다. According to one embodiment, the biometric information module accesses a secure memory (eg, a built-in secure element (eSE)) or a secure environment functionally connected to the electronic device when a user attempts to make a payment using card information registered in the electronic device. Authentication can be performed to obtain secure data (eg tokens) from available memory). The electronic device may acquire the user's biometric information (eg, fingerprint or iris) through the biometric information module for user authentication. The obtained biometric information may be transmitted to the biometric
한 실시예에 따르면, 생체 정보 모듈(1843)은 사용자가 인터넷 웹 페이지 상의 전자 결제 진행 시 전자 장치에 등록된 카드 정보와 생체 정보를 이용하여 결제를 진행 할 수 있다. 전자 장치에 기능적으로 연결된 메모리 또는 보안 모듈(예: eSE 또는 보안 환경에서 접근 가능한 메모리)로부터 보안 데이터(예: 토큰)를 획득하기 위해 사용자는 인증을 수행할 수 있다. 전자 장치에서 사용자 인증이 성공적으로 진행되면 이를 외부 서버와 연동하여 별도의 인터넷 웹 페이지 상의 전자 결제 과정 없이 이를 빠른 자동 인증(예: FIDO: fast identity online) 하도록 할 수 있다. 즉, 온라인 결제 시에 필요한 인증 과정을 생체 정보 모듈과 연동하여 빠른 인증을 진행 할 수 있다.According to an embodiment, the
한 실시예에 따르면, 전자 장치는 사용자의 지문과 결제할 카드를 지정해 놓을 수 있다. 예를 들어, 사용자는 결제 어플리케이션에서 지문을 이용하여 인증을 수행하는 경우, 오른손 엄지는 비자 카드, 오른손 검지는 마스터 카드 등으로 지정하여 사용자가 인증하는 순간 해당 카드로 결제하도록 할 수 있다. According to an embodiment, the electronic device may designate a user's fingerprint and a payment card. For example, when the user performs authentication using a fingerprint in a payment application, the right thumb may be designated as a Visa card, the right index finger as a Master Card, or the like, so that the user can make payment with the corresponding card at the moment of authentication.
한 실시예에 따르면, 주변 장치 관리 모듈(1837)은 전자 장치와 기능적으로 연결된 외부 장치를 관리할 수 있다. 주변 장치 관리 모듈(1837)은, 예를 들면, MST 주변 장치 모듈 및 웨어러블 장치 모듈을 포함 할 수 있다. According to an embodiment, the peripheral
한 실시예에 따르면, MST 주변 장치 모듈은 MST 액세서리(예: LoopPayTM사의 fob 형태 장치)와 전자 장치 간의 유무선 연결 여부를 출력하고 이를 기반으로 사용자에게 적합한 UI(user interface)를 제공할 수 있다. UI는 MST 액세서리가 연결된 상태에서 카드 등록, 삭제, 또는 결제 과정을 진행하고 출력 할 수 있다. MST 주변 장치 모듈은 MST 액세서리와 연결된 상태에서 결제에 필요한 다양한 카드 정보를 전자 장치 또는 MST 액세서리 내 별도의 메모리에 저장할 수 있다. 이는 MST 액세서리와 비 연결 상태에서도 전자 장치 또는 MST 액세서리 독립적으로 결제를 진행할 수 있도록 할 수 있다.According to an embodiment, the MST peripheral device module may output whether a wired/wireless connection between an MST accessory (eg, a fob-type device manufactured by LoopPay TM ) and an electronic device is connected, and provide a user interface (UI) suitable for the user based on this. The UI can process and print card registration, deletion, or payment while the MST accessory is connected. The MST peripheral device module may store various card information required for payment in an electronic device or a separate memory within the MST accessory while connected to the MST accessory. This may enable payment to be performed independently of the electronic device or the MST accessory even when the MST accessory is not connected.
웨어러블 장치 모듈은 웨어러블 장치(예: 시계, 헤드셋, 안경, 또는 반지 등)와 전자 장치 간의 유무선 연결 여부를 출력하고 이를 기반으로 사용자에게 적합한 UI(user interface)를 제공할 수 있다. 상기 유무선 연결은 BT, BLE, WiFi, Zigbee, 또는 Z-wave 등의 다양한 인터페이스를 포함할 수 있고, 특정 accessory protocol(samsung accessory protocol(SAP))을 적용하여 구현할 수 있다. 상기 UI는 웨어러블 장치가 연결된 상태에서 카드 등록, 삭제, 결제 수행 과정을 진행하고 이를 출력 할 수 있다. 상기 카드 등록, 삭제, 결제 수행 과정에서 웨어러블 장치 모듈은 웨어러블 장치와 근거리 기반의 secure session을 생성 여부를 출력하고 전자 장치 또는 웨어러블 장치 상의 사용자 입력 값을 송 수신하고 이를 표시할 수 있다. 상기 사용자의 입력은 결제에 필요한 다양한 카드 정보와 그 외의 부가 인증 정보(예: PIN, 사용자 고유 패턴 관련 데이터, 지문 인식 관련 데이터, 웨어러블 장치 베젤부 또는 디스플레이(160)의 터치 입력 값 등)를 포함할 수 있다.The wearable device module may output a wired/wireless connection between the wearable device (eg, a watch, a headset, glasses, or a ring) and an electronic device, and provide a user interface (UI) suitable for the user based thereon. The wired/wireless connection may include various interfaces such as BT, BLE, WiFi, Zigbee, or Z-wave, and may be implemented by applying a specific accessory protocol (samsung accessory protocol (SAP)). The UI may perform card registration, deletion, and payment execution processes while the wearable device is connected and output the same. In the card registration, deletion, and payment execution process, the wearable device module may output whether a secure session based on a short distance with the wearable device is generated, transmit/receive a user input value on the electronic device or the wearable device, and display it. The user's input includes various card information required for payment and other additional authentication information (eg, PIN, user-specific pattern-related data, fingerprint recognition-related data, wearable device bezel unit or touch input value of the
한 실시예에 따르면, 전자 장치는 웨어러블 장치 또는 액세서리에 하나의 결제 정보를 공유할 수 있다. 예를 들어, 하나의 비자 카드에 대한 정보를 웨어러블 장치와 전자 장치에 모두 저장할 수 있다. 한 실시예에 따르면, 전자 장치는 웨어러블 장치 또는 액세서리에 하나의 카드 정보에서 발생된 다른 카드 정보를 각각 저장할 수 있다. 예를 들어, 하나의 비자 카드 정보에서 발급된 다른 토큰을 하나는 전자 장치에 저장하고 다른 하나는 액세서리 또는 웨어러블 장치에 저장할 수 있다. 한 실시예에 따르면, 하나의 카드정보에서 발급된 다른 토큰을 하나는 전자 장치에 저장하고 다른 하나는 액세서리 또는 웨어러블 장치에 저장하는 경우, 하나의 장치의 결제 모듈이 활성화 되면, 다른 장치의 결제모듈은 비활성화할 수 있다. 예를 들어, 하나의 비자 카드 정보에서 발급된 다른 토큰이 하나는 전자 장치에 저장되고 다른 하나는 액세서리 또는 웨어러블 장치에 저장되는 경우, 웨어러블 장치로 결제할 때는 전자 장치의 결제가 비활성화 될 수 있다. 더하여, 전자 장치로 결제를 수행할 경우에는 웨어러블 장치의 결제가 비활성화 될 수 있다. According to an embodiment, the electronic device may share one piece of payment information with a wearable device or an accessory. For example, information on one Visa card may be stored in both the wearable device and the electronic device. According to an embodiment, the electronic device may store other card information generated from one card information in the wearable device or the accessory, respectively. For example, one token issued from one piece of Visa card information may be stored in an electronic device and the other token may be stored in an accessory or wearable device. According to an embodiment, when one token issued from one card information is stored in an electronic device and the other is stored in an accessory or wearable device, when a payment module of one device is activated, a payment module of another device can be disabled. For example, when one token issued from one Visa card information is stored in an electronic device and the other is stored in an accessory or a wearable device, payment by the electronic device may be deactivated when paying with the wearable device. In addition, when payment is performed by the electronic device, payment of the wearable device may be deactivated.
한 실시예에 따르면, 결제 매니저(1840)는, 예를 들면, 결제 중계 모듈(1841), 생체 정보 관리 모듈(1843), 및 보안 환경 중계 모듈(1846)을 포함 할 수 있다. 한 실시예에 따르면, 결제 중계 모듈(1841)은 카드 또는 카드에 대응하는 정보(예: 토큰)를 결제 어플리케이션, 커널 또는 결제 서버(710)로 중계할 수 있다. 결제 중계 모듈(1841)은 통신 모듈(예: NFC 모듈, MST 모듈)을 통해 오프라인 결제를 할 수 있다. NFC를 이용한 결제 방식은 POS를 통해서 구동 가능하고, MST 를 이용한 결제 방식은 사용자 입력에 의해 구동 될 수 있다. 또한, 결제 중계 모듈(1841)은 통신 모듈(예: 셀룰러 모듈, RF 모듈, WIFI 모듈 등)을 통해 온라인 결제를 할 수 있다.According to an embodiment, the payment manager 1840 may include, for example, a
한 실시예에 따르면, 결제 중계 모듈(1841)은 카드 또는 카드에 대응하는 정보(예: 토큰)의 상태 관리(예: card/token lifecycle 관리)를 할 수 있다. 결제 중계 모듈(1841)은 지불과 관련된 적어도 하나의 API(application programming interface)를 결제 어플리케이션(1830)에 제공할 수 있다.According to an embodiment, the
한 실시예에 따르면, 결제 중계 모듈(1841)은 적어도 하나의 결제와 관련된 시스템 서비스들에 의해 제공되는 인터페이스, 결제 모듈로 접근 하기 위한 결제 서비스, 커널(kernel) 무결성 인증을 위한 TIMA(trustzone-based integrity measurement architecture), 지문인식 결과 조회(예: 보안/비보안 모드 모두 지원), PIN 또는 PAN(primary account number) 입력 등을 위한 보안 UI를 제공하는 시스템 서비스 인터페이스들을 더 포함할 수 있다. 결제 중계 모듈(1841)은 TEE(1820)에 메시지 또는 명령어를 전달하기 위하여, 암호화 라이브러리를 포함할 수 있다. 결제 중계 모듈(1841)은 상기 암호화 라이브러리를 통하여 TEE(1820)와 메시지 또는 명령어를 주고 받을 수 있다. According to one embodiment, the
한 실시예에 따르면, 결제 중계 모듈(1841)은 일반적인 카드 관리 기능으로서 카드 추가, 삭제, 갱신 등의 기능을 제공하는 카드 관리 기능을 포함 할 수 있다. 결제 중계 모듈(1841)은 제 1 결제 SDK(software development kit) 또는 제 2결제 SDK를 포함할 수 있다. 제 1 결제 SDK(예: 삼성 SDK)는 전자 장치에 내장되어 있을 수 있다. 제 2 결제 SDK는 카드사 또는 은행에서 제공될 수 있으며, 전자 장치에 설치 될 수 있다. 결제 중계 모듈(1841)은 제 1 결제 SDK 또는 제 2 결제 SDK를 이용하여 카드 정보에 따라 해당하는 결제 SDK를 선택할 수 있다. 또한, 기본 카드를 설정 하거나 기본 카드 외의 다른 카드를 선택할 수 있다. According to an embodiment, the
한 실시예에 따르면, 결제 중계 모듈(1841)은 일반 토큰 및 키 관리 기능으로서 초기 권한 설정(token provisioning), 추가 발급(token replenishment), 중지(token suspension), 재개(token resume), 폐기(token disposal) 등의 메시지를 결제 서버(710)로 전송할 수 있다. According to one embodiment, the
한 실시예에 따르면, 결제 모듈(1821)은 전자 장치 또는 외부의 다른 전자 장치로부터 토큰 및 토큰 크립토그램(cryptogram)을 획득할 수 있다. 한 실시예에 따르면, 상기 토큰 크립토그램은 이후 암호 정보, 암호, 크립토그램(cryptogram), 암호화, 암호 방법과 같은 의미로 사용 될 수 있다. 한 실시예에 따르면, 상기 토큰 크립토그램은 결제 트랜젝션의 유효성을 체크하기 위한 데이터를 포함할 수 있다. 한 실시예에, 따르면, 결제 모듈(1821)을 도 32 내지 도 35의 보안 어플리케이션을 포함할 수 있다. 예를 들면, 수신한 시간정보를 보안 모듈(예: eSE)에 전달할 수 있다. 또 다른 실시예에 따르면, 상기 TA는 보안 모듈(예: eSE)로부터 트랙2 형태의 데이터를 받아 결제 인증(verification) 데이터를 생성하여 트랙2 형태의 데이터 안에 삽일 할 수 있다. 상기 토큰 및 토큰 크립토그램(cryptogram)을 생성할 수 있는 키(예를 들어, limited used key(LUK) 또는 single used key)는 REE(1810) 또는 TEE(1820)에 저장될 수 있다. 더하여, 상기 REE(1810)에 상기 토큰과 상기 키를 저장하는 경우에는 상기 TEE의 결제 모듈이 TEE(1820)의 키(예를 들어, device root key(DRK))를 이용하여 암호화하여 저장할 수 있다. 전자 장치가 결제를 수행하는 경우, 결제 중계 모듈(1841)은 상기 암호화된 토큰을 결제 모듈을 통해 복호화된 상태로 획득할 수 있다. 상기 전자 장치는 상기 토큰 크립토그램을 생성할 수 있는 키 또는 토큰이 TEE에 저장되는 경우, 상기 TEE의 키를 이용하여 암호화된 형태로 저장할 수 있다.According to an embodiment, the payment module 1821 may obtain a token and a token cryptogram from an electronic device or another external electronic device. According to one embodiment, the token cryptogram may be used in the same meaning as cipher information, cipher, cryptogram, cipher, and cipher method. According to an embodiment, the token cryptogram may include data for checking the validity of a payment transaction. According to one embodiment, the payment module 1821 may include the security application of FIGS. 32 to 35 . For example, the received time information may be delivered to a security module (eg, eSE). According to another embodiment, the TA may receive
한 실시예에 따르면, 결제 중계 모듈(1841)은 토큰 서비스 프로바이더(token service provider(TSP))(730)로부터 푸시 메시지(push message)를 받아 결제 어플리케이션에 전달할 수 있다. According to an embodiment, the
한 실시예에 따르면, 결제 중계 모듈(1841)은 제 1 결제SDK(카드사 또는 은행 제공)가 자체 토큰 관리 기능을 제공하는 경우, 토큰 관리 기능 요청 수신 시 상기 제 2 결제SDK로 중계하는 기능을 더 포함 할 수 있다. 예를 들어, 비자 카드의 SDK로 토큰 또는 key를 획득한 결제 중계 모듈은 삼성 SDK를 이용하여 TEE(1820) 내의 결제 모듈에 전달할 수 있다. 한 실시예에 따르면, 결제 중계 모듈(1841)은 결제 시 별도 하드웨어 장치(예: 보안 모듈 또는 secure element(SE)) 없이 소프트웨어 만으로 가상 카드를 전자 장치에서 사용 가능하게 할 수 있는 HCE(host card emulation) 기능을 결제 프레임워크 상에 더 포함 할 수 있다. 상기 HCE 기능은 토큰 및 토큰 크립토그램(token cryptogram)을 통신 모듈(예: NFC)을 통해 POS와 관련된 메시지 규격(예: application protocol data unit(APDU))을 이용하여 전달 할 수 있다. According to one embodiment, when the first payment SDK (provided by a card company or bank) provides its own token management function, the
한 실시예에 따르면, 결제 중계 모듈(1841)은 POS로부터 수신 된 메시지를 처리하는 기능을 포함 할 수 있다. 상기 POS 관련 메세지 처리 기능은 POS에 응답 할 결제 데이터를 관리하는 기능을 포함 할 수 있다. 상기 POS 관련 메시지 해석 기능은 제1 결제 SDK가 자체 POS 관련 메세지 처리 기능을 제공하는 경우 상기 POS 관련 메세지를 상기 제1 결제 SDK로 중계하는 기능을 더 포함 할 수 있다. 한 실시예에 따르면, 결제 중계 모듈(1841)은 상기 카드 데이터, 토큰 데이터, 또는 트랜잭션 데이터 등을 저장하기 위한 데이터베이스를 적어도 하나 포함 할 수 있다.According to one embodiment, the
한 실시예에 따르면, 결제 중계 모듈(1841)은 NFC로 결제하는 방법과 MST로 결제하는 방법 중 적어도 하나의 방법을 선택할 수 있다. 예를 들어, NFC로 먼저 결제를 수행하고, MST를 결제하는 방법, MST로 먼저 결제를 수행하고 NFC로 결제를 수행하는 방법, NFC와 MST를 같이 결제를 수행하는 방법을 포함할 수 있다. 한 실시예에 따르면, 한 통신 모듈로 결제를 수행한 후 다른 통신 모듈로 결제를 수행하는 경우, 결제 중계 모듈은 먼저 결제를 수행한 통신 모듈로 결제를 수행한 결과에 대한 응답이 없거나 지정된 시간이 지난 후에 다른 통신 모듈로 결제를 수행할 수 있다. According to an embodiment, the
한 실시예에 따르면 결제 중계 모듈(1841)은 하나의 카드에 대해서 토큰과 PAN 정보를 모두 가지고 있는 경우, 적어도 하나를 이용하여 결제를 수행할 수 있다. 결제 중계 모듈은 POS가 PAN으로 결제 가능한지 토큰을 결제 가능한지를 확인할 수 있다. 예를 들어, 전자 장치는 BLE를 통해서 결제 가능한 정보를 수신할 수 있고, 결제 중계 모듈은 상기 정보를 확인할 수 있다. 결제 중계 모듈은 확인한 정보를 기반으로 토큰으로 결제 가능한 경우에는 토큰으로 결제를 수행하고, PAN으로 결제 가능한 경우에는 PAN으로 결제를 수행하도록 할 수 있다. According to an embodiment, when the
한 실시예에 따르면, 결제 중계 모듈(1841)은 결제 네트워크에 의해 제공되는 SDK를 더 포함 할 수 있다. 상기 SDK는 토큰 관리, POS 관련 메세지 처리, 또는 토큰/카드 데이터베이스를 포함 할 수 있다.According to an embodiment, the
한 실시예에 따르면, 보안 환경 중계 중계 모듈(1846)은, 결제 모듈(1821) 혹은 생체 정보 모듈(1825)에서 제공하는 기능을 사용 하기 위해 생체 정보 드라이버 모듈(1851)이나 보안환경 드라이버 모듈(1853)에 결제 어플리케이션이 접근 할 수 있도록 중계하는 기능을 더 포함할 수 있다. 결제 중계 모듈(1841)은 보안 환경 중계 모듈(1846)에 메시지 또는 명령어를 전달하기 위하여, 암호화 라이브러리를 포함할 수 있다. 결제 중계 모듈(1841)은 상기 암호화 라이브러리를 통하여 보안 환경 중계 모듈(1846)과 메시지 또는 명령어를 주고 받을 수 있다.According to one embodiment, the secure environment relay module 1846 is a biometric information driver module 1851 or a secure
본 발명의 다양한 실시예는 상기 결제 매니저(1840) 상에 TEE의 보안 식별자 처리 모듈의 기능을 결제 어플리케이션에서 사용 할 수 있도록 연결 된 보안 환경 중계 모듈(1846)을 더 포함 할 수 있다.Various embodiments of the present invention may further include a secure environment relay module 1846 connected to the payment manager 1840 to use the function of the TEE security identifier processing module in a payment application.
한 실시예에 따르면, 상기 결제 중계 모듈(1841)은 결제 어플리케이션(1830)의 PIN 입력을 통한 인증 요청을 TEE(1820)의 보안 식별자 처리 모듈(1823)로 중계하는 기능을 포함 할 수 있다. 구체적인 중계하는 기능은 도 22에서 후술한다. According to an embodiment, the
일반 어플리케이션은 지문 인식 요청 시 성공 또는 실패 여부를 획득할 수 있다. 보안 결제 어플리케이션(payment trusted app)은 보안 생체 결과(secure fingerprint result)를 획득할 수 있다. 상기 보안 생체 결과는 일회성 난수 및 성공/실패 여부를 조합하여 암호화한 형태가 될 수 있다. 상기 일회성 난수는 TEE(1820)의 하드웨어 키(예: device root key(DRK))를 통해 암호화 될 수 있다. A general application may obtain success or failure when requesting fingerprint recognition. A payment trusted app may obtain a secure fingerprint result. The secure biometric result may be in an encrypted form by combining a one-time random number and success/failure. The one-time random number may be encrypted through a hardware key (eg, device root key (DRK)) of the
한 실시예에 따르면, 결제 중계 모듈(1841)은 결제를 수행하기 위해 보안 환경 드라이버 모듈(1853)을 통하여, 결제 모듈(1821)을 결제 수행을 하라는 메시지를 전달할 수 있다. 결제 모듈(1821)은 인증 동작이 필요함을 보안 환경 드라이버 모듈(1853)을 통해 결제 중계 모듈(1841)에 알릴 수 있다. 결제 중계 모듈(1841)은 인증 동작을 위해 생체 정보 관리 모듈(1843)과 생체 정보 드라이버 모듈(1851)을 통하여 생체 센서(240I)에 생체 정보를 획득하라는 명령을 내릴 수 있다. 더하여, 결제 중계 모듈(1841)은 생체 정보 관리 모듈(1843)과 보안 환경 드라이버 모듈(1853)을 통하여 TEE(1820)의 생체 정보 모듈(1825)에 인증 확인 메시지를 전달할 수 있다. 생체 센서(240I)는 TEE(1820)의 생체 정보 모듈(1825)에서 획득할 수 있다. 생체 정보 모듈(1825)은 기 저장된 사용자의 생체 정보와 생체 센서로부터 획득된 정보를 비교하여 동일 사용자 여부를 확인할 수 있다. 상기 확인된 정보를 기반으로 생체 정보 모듈(1825)은 보안 환경 드라이버 모듈(1853)을 통하여 생체 정보 관리 모듈(1843)에 인증 여부를 전달하고, 생체 정보 관리 모듈(1843)은 결제 중계 모듈(1841)에 전달할 수 있다. 상기 결제 중계 모듈(1841)과 생체 정보 관리 모듈(1843)은 하나로 구성될 수도 있으며, 별도의 모듈로도 구성될 수 있다.According to an embodiment, the
한 실시예에 따르면, 결제 중계 모듈(1841)은 외부 장치를 통해서 인증을 수행할 수 있다. 예를 들어, 전자 장치는 결제 서버(720)(예: 삼성 계정 서버 또는 토큰 요구자 서버)에 생체정보(예: 지문 또는 홍채 등)에 대한 인증을 요청할 수 있다. 상기 결제 서버(720)은 사용자의 생체 정보에 대한 인증을 수행하고 해당 결과를 상기 전자 장치에 전달할 수 있다. 상기 결제 중계 모듈(1841)은 인증이 완료된 경우 토큰 서비스 프로바이더에 인증이 완료되었다는 정보를 포함하는 데이터를 전달하여 토큰 프로비저닝하는 과정을 수행할 수 있다. 더하여 상기 전자 장치는 상기 인증 결과에 따라 인증이 완료된 경우 결제를 수행하고, 인증이 완료되지 않거나, 인증되지 않은 경우 결제를 수행하지 않을 수 있다.According to an embodiment, the
한 실시예에 따르면, 커널(1850)은, 예를 들면, 생체 정보 드라이버 모듈(1851) 및 보안 환경 드라이버 모듈(1853)을 포함할 수 있다. 생체 정보 드라이버 모듈(1851)은 결제 매니저(1840)의 생체 정보 관리 모듈(1843)로부터 전달되는 메시지를 생체 센서(240I)에 전달할 수 있다. 생체 센서에서 획득되는 생체 정보는 상기 생체 정보 드라이버 모듈을 통해서 REE(1810) 내의 모듈로 전달되지 않고, TEE(1820)내에 생체 정보 모듈(1825)로 전달될 수 있다.According to an embodiment, the kernel 1850 may include, for example, a biometric information driver module 1851 and a secure
한 실시예에 따르면, 보안 환경 드라이버 모듈(1853)은 REE(1810) 내의 모듈에서 TEE(1820) 내의 모듈에 전달하기 위한 인터페이스 역할을 할 수 있다. 예를 들어, TEE의 일 실시예인 ARM의 트러스트존(Trustzone)의 경우 어플리케이션 프로세서가 시분할로 REE와 TEE의 동작을 수행하는데, REE에서 TEE로 메시지를 전달하기 위한 별도의 데이터 패스를 하드웨어적으로 구현할 수 있다. 이 경우 이 하드웨어에 접근하기 위한 드라이버 모듈이 상기 보안 환경 드라이버 모듈(1853)일 수 있다. 상기 보안 환경 드라이버 모듈은 TEE 내의 모듈의 동작에 대한 메시지를 REE 내의 모듈에 전달할 수 있다. According to one embodiment, the secure
한 실시예에 따르면, TEE는 결제 모듈(1821), 보안 식별자 처리 모듈(1823), 생체 정보 모듈(1825), 및 MST 드라이버 모듈(1827)을 포함할 수 있다. 전자 장치(701)는 TEE(1820)를 통해 상대적으로 높은 보안이 요구되는 데이터를 안전한 환경 내에서 저장하고 관련 동작을 수행할 수 있다. TEE(1820)는 전자 장치의 어플리케이션 프로세서 상에서 동작하고, 전자 장치의 제조 동작에서 결정된 신뢰할 수 있는 TEE는 전자 장치 내에 있는 보안 영역을 의미할 수 있다. 상기 전자 장치는 TEE를 통해 상대적으로 높은 보안이 요구되는 데이터를 안전한 하드웨어 구조에 기반하여 동작할 수 있다. TEE는 어플리케이션 프로세서와 메모리 영역을 노멀 영역(Normal)과 보안 영역으로 구분하여 동작하도록 할 수 있다. 더하여, 보안이 필요한 소프트웨어나 하드웨어를 보안 영역에서만 동작하게 하도록 할 수 있다. 전자 장치REE(1810) 민감한 정보에 관련된 동작을 수행해야 하는 경우 TEE(1820)에 접근할 수 있는 API와 드라이버를 통해서만 TEE(1820)에 접근이 가능할 수 있다. TEE(1820)은 관련된 정보에 대한 제한된 데이터를 REE 에 넘겨줄 수 있다. TEE는 내부적으로 저장되는 데이터를 하드웨어 key(예를 들어, device root key(DRK))를 통해서 암호화할 수 있다. TEE 내부의 데이터는 별도의 복호화 과정이 없는 경우 REE에서 해석하지 못할 수 있다. According to an embodiment, the TEE may include a payment module 1821 , a security identifier processing module 1823 , a biometric information module 1825 , and an
TEE(1820)는 TEE 내부의 어플리케이션(예: 보안 어플리케이션(trusted application) 또는 결제 모듈 등)은 전자 장치 외부의 다른 전자 장치(예: 토큰 서비스 프로바이더(730)) 에 메시지를 전달할 수 있다. The
한 실시예에 따르면, TEE는 trusted OS와 보안 어플리케이션 (trusted application)을 포함할 수 있다. 더하여, 보안에 관련된 암호화 모듈, 보안이 필요한 하드웨어에서 데이터를 수집할 수 있는 드라이버 등을 포함할 수 있다. 보안 어플리케이션(trusted application)은 결제 모듈을 포함할 수 있다. 더하여 결제 정보를 통신 모듈을 통해서 외부에 전달할 수 있다. 예를 들어, 결제 정보를 MST 드라이버를 통해MST 컨트롤러(MST제어모듈(830)에, 또는 NFC 드라이버를 통해 NFC 컨트롤러(NFC제어모듈(840))에 전달하여 POS에 전송할 수 있다. According to an embodiment, the TEE may include a trusted OS and a trusted application. In addition, it may include an encryption module related to security, a driver capable of collecting data from hardware requiring security, and the like. A trusted application may include a payment module. In addition, payment information may be transmitted to the outside through a communication module. For example, payment information may be transmitted to the MST controller (MST control module 830) through the MST driver, or to the NFC controller (NFC control module 840) through the NFC driver and transmitted to the POS.
한 실시예에 따르면, REE(1810)에 대한 무결성 여부를 확인할 수 있다. 전자 장치는REE의 이미지의 무결성 여부를 TEE(1820)에 저장할 수 있다. TEE를 지원하는 REE 부팅의 경우, 부팅의 순서는 부트로더가 실행되면, TEE를 부팅하고, REE를 부팅할 수 있다. TEE가 부팅이 되면 TEE의 내부에 REE의 무결성 정보를 확인하여 REE 부팅 후에 사용자에게 나타낼 수 있다. 한 실시예에 따르면, REE가 해킹 또는 루팅 등에 의해서 REE의 이미지가 훼손 되었을 경우 무결성에 문제가 있다고 결정할 수 있다. 무결성에 문제가 발생한 경우, TEE에 접근할 수 없도록 할 수 있다. 예를 들어, 결제 중계 모듈(1841)이 보안 환경 드라이버 모듈(1853)을 통해서 TEE에 메시지나 명령어를 전달하고자 할 때 TEE의 커널에서 이 메시지나 명령어를 무시하거나 메시지 수신을 거부할 수 있다. According to one embodiment, it is possible to check whether the integrity of the REE (1810). The electronic device may store the integrity of the image of the REE in the
한 실시예에 따르면, 결제 모듈(1821)은 은행, 카드사(예: 비자 카드(Visa card) 또는 마스터 카드(Master card) 등) 등에서 설치하는 어플리케이션일 수 있다. 상기 결제 모듈은 적어도 하나 이상일 수 있다. 전자 장치에서 사용자가 결제 관리 모듈(1831)을 이용하여 결제 서버(720)(예: mobile application platform, payment gateway, token requestor, token service provider, trusted service manager, 또는 은행 서버 등) 또는 토큰 서비스 프로바이더(730)에 인터넷을 통하여 접속하여 상기 결제 모듈(1821)을 설치하겠다고 승인하면, 토큰 서비스 프로바이더(730)는 설치에 관련한 동작을 수행할 수 있다. 예를 들어, 결제 관리 모듈(1831)은 OCR을 통하여 플라스틱 카드의 카드 넘버와 유효기간 정보를 획득하여 상기 서버에 결제 모듈(1821)을 설치하기 위한 카드 등록 동작을 수행할 수 있다. 카드/은행 회사에 따라 각 토큰 서비스 프로바이더(730)의 연결 정보를 가지고 있는 결제 중계 모듈(1841)을 통하여 네트워크에 있는 상기 토큰 서비스 프로바이더(730)에 연결하여 설치 파일을 수신하고 결제 중계 모듈(1841)은 상기 정보를 TEE에 전달하여 결제 모듈(1821)을 설치하도록 할 수 있다. 이러한 과정은 provisioning 과정 또는 card registration 과정이라고 부를 수 있다. TEE의 결제 모듈(1821)은 여러 개의 모듈이 있을 수 있다. 각각의 결제 모듈들은 TEE 내부에서 데이터를 주고 받을 수 없으며, 격리된 형태로 구성될 수 있다. According to one embodiment, the payment module 1821 may be an application installed by a bank, a credit card company (eg, a Visa card or a Master card, etc.). The payment module may be at least one. In the electronic device, the user uses the
한 실시예에 따르면, 결제 모듈(1821)은 결제 서버(720)와 데이터 커뮤니케이션에 사용하기 위한 어플리케이션일 수 있다. 상기 결제 모듈은 신용 카드, 직불 카드(debit card), 멤버십 카드 등의 정보를 포함할 수 있다. 상기 결제 모듈은 상기 외부의 다른 전자 장치와 암호화를 통해 통신을 주고 받을 수 있다. 상기 암호화의 과정은 상기 결제 모듈을 전달한 카드 제조 회사에 따라 달라질 수 있다. 상기 서버는 상기 결제 모듈의 상태를 제어할 수 있다. 예를 들어, 상기 결제 모듈을 활성화(activation)하거나 임시로 정지(suspension)하거나, 재활성화(resume)하거나, 삭제(disposal)할 수 있다. According to one embodiment, the payment module 1821 may be an application used for data communication with the
한 실시예에 따르면, 결제 모듈(1821)은 카드 정보에 관련되는 정보를 저장할 수 있다. 예를 들어, 상기 카드 정보(예를 들어, PAN(primary account number))에 대응되는 토큰(token), token reference ID, PAN의 일부분, PAN product ID, token requestor ID, token assurance level, token assurance data, 토큰(token)의 유효기간, 암호화 key, 토큰 서비스 프로바이더(730)에서 제공한 값(예: OPT(one time password), 중 적어도 하나일 수 있다. 상기 토큰(token)은 토큰 서비스 프로바이더(730) 의 상태에 의해서 제어될 수 있다. 예를 들어, 토큰(token)은 활성화(activation)하거나 임시로 정지(suspension)하거나, 재활성화(resume)하거나, 삭제(disposal)할 수 있다. 상기 토큰(token)은 기본적으로 카드 정보(예: PAN)에 대응하는 정적인(static) 정보일 수 있다. According to an embodiment, the payment module 1821 may store information related to card information. For example, a token (token) corresponding to the card information (eg, primary account number (PAN)), token reference ID, part of PAN, PAN product ID, token requestor ID, token assurance level, token assurance data , the validity period of a token, an encryption key, and a value (eg, one time password (OPT)) provided by the
한 실시예에 따르면, 결제 모듈(1821)은 결제를 수행하는 경우 결제할 카드를 결정할 수 있다. 예를 들어, 사용자의 선택에 따라 적어도 하나 이상의 결제 관리 모듈(1831)에서 사용자가 선택한 카드에 대응하는 결제 모듈이 결정될 수 있다. 상기 결정된 카드에 대해 상기 결제 관리 모듈은 결제 중계 모듈(1841)에 전달할 수 있다. 상기 결제 중계 모듈은 결정된 카드 정보에 대해서 보안 환경 드라이버 모듈(1853)을 통해 상기 결제 모듈(1821)에 전달할 수 있다. 상기 결제 모듈은 보유하고 있는 카드 정보들 중에서 실제 결제에 이용되는 카드 리스트를 관리할 수 있다. 상기 결정된 카드 정보에 기반하여 상기 실제 결제에 이용되는 카드 리스트를 변경할 수 있다. 상기 변경은 결정된 카드 정보에 대해서 카드 리스트에서 우선 순위를 높이거나, 결정된 카드 정보 외의 다른 카드 정보는 삭제하는 방법일 수 있다. According to an embodiment, the payment module 1821 may determine a payment card when performing payment. For example, a payment module corresponding to a card selected by the user in at least one
한 실시예에 따르면, 결제를 수행하는 경우 카드 정보에 관련되는 정보에 기반하여 결제 모듈은 결제에 이용되는 정보를 만들 수 있다. 표 3을 참조하면, 결제에 이용되는 정보는 token, token reference ID, PAN의 일부분, PAN product ID, token requestor ID, token assurance level, token assurance data, token의 유효기간, token cryptogram, POS entry mode, token requestor indicator 등일 수 있다. According to an embodiment, when performing payment, the payment module may create information used for payment based on information related to card information. Referring to Table 3, information used for payment includes token, token reference ID, part of PAN, PAN product ID, token requestor ID, token assurance level, token assurance data, validity period of token, token cryptogram, POS entry mode, It may be a token requestor indicator or the like.
Transaction messages
The Payment Token number will be passed through the authorization, capture, clearing, and exception messages in lieu of the PAN.
The Payment Token number may optionally be passed from the Token Service Provider to the Card Issuer as part of the authorization request.The Payment Token number refers to a surrogate value for a PAN that is a 13 to 19-digit numeric value that passes basic validation rules of an account number, including the Luhn check digit. Payment Tokens are generated within a BIN range or Card range that has been designated as a Token BIN Range and flagged accordingly in all appropriate BIN tables. Payment Tokens are generated such that they will not have the same value as or conflict with a real PAN.
Transaction messages
The Payment Token number will be passed through the authorization, capture, clearing, and exception messages in lieu of the PAN.
The Payment Token number may optionally be passed from the Token Service Provider to the Card Issuer as part of the authorization request.
Transaction messages
The Token Expiry Date is passed in lieu of PAN Expiry Date.
The value is replaced by the Token Service Provider with the PAN Expiry Date which is then passed to the Card Issuer as part of the authorisation request.The expiration date of the Payment Token that is generated by and maintained in the Token Vault. The Token Expiry Date field carries a 4-digit numeric value that is consistent with the ISO 8583 format.
Transaction messages
The Token Expiry Date is passed in lieu of PAN Expiry Date.
The value is replaced by the Token Service Provider with the PAN Expiry Date which is then passed to the Card Issuer as part of the authorization request.
Transaction messages
The PAN Product ID may optionally be passed from the Token Service Provider to the Acquirer as part of the authorisation response.The PAN Product ID is an optional identifier used for determining the type of Card product that was tokenized. It may be included in cases where transparency of this information is necessary.
Transaction messages
The PAN Product ID may optionally be passed from the Token Service Provider to the Acquirer as part of the authorization response.
Transaction messages
POS Entry Mode is an existing field that will be passed through the authorisation, capture, clearing, and exception messages.This specification uses the POS Entry Mode field to indicate the mode through which the Payment Token is presented for payment. Each Payment Network will define and publish any new POS Entry Mode values as part of its existing message specifications and customer notification procedures.
Transaction messages
POS Entry Mode is an existing field that will be passed through the authorization, capture, clearing, and exception messages.
Positions 1-3: Token Service Provider Code, unique to each Token Service Provider
Positions 4-11: Assigned by the Token Service Provider for each requesting entity and Token Domain
Transaction messages
Token Requestor ID can be optionally passed through the authorisation, capture, clearing, and exception messages.This value uniquely identifies the pairing of Token Requestor with the Token Domain. Thus, if a given Token Requestor needs Tokens for multiple domains, it will have multiple Token Requestor IDs, one for each domain. It is an 11-digit numeric value assigned by the Token Service Provider and is unique within the Token Vault:
Positions 1-3: Token Service Provider Code, unique to each Token Service Provider
Positions 4-11: Assigned by the Token Service Provider for each requesting entity and Token Domain
Transaction messages
Token Requestor ID can be optionally passed through the authorization, capture, clearing, and exception messages.
The Token Assurance Level is set when issuing a Payment Token and may be updated if additional ID&V is performed. It is a two-digit value ranging from 00 which indicates the Payment Token has no ID&V that has been performed to a value of 99 indicating the highest possible assurance. The specific method to produce the value is defined by the Token Service Provider.
Transaction messages
Token Assurance Level will be provided by the Token Service Provider.
The value may be optionally passed to the Card Issuer as part of the authorisation request.
The value may optionally be passed to the Acquirer / Merchant in the authorisation response, capture, clearing, and exception processing messages.Token Assurance Level is a value that allows the Token Service Provider to indicate the confidence level of the Payment Token to PAN / Cardholder binding. It is determined as a result of the type of ID&V performed and the entity that performed it.
The Token Assurance Level is set when issuing a Payment Token and may be updated if additional ID&V is performed. It is a two-digit value ranging from 00 which indicates the Payment Token has no ID&V that has been performed to a value of 99 indicating the highest possible assurance. The specific method to produce the value is defined by the Token Service Provider.
Transaction messages
Token Assurance Level will be provided by the Token Service Provider.
The value may be optionally passed to the Card Issuer as part of the authorization request.
The value may optionally be passed to the Acquirer / Merchant in the authorization response, capture, clearing, and exception processing messages.
Transaction messages
This data may be optionally passed to the Card Issuer as part of the authorisation request.This data provided by the Token Service Provider contains supporting information for the Token Assurance Level.
Transaction messages
This data may be optionally passed to the Card Issuer as part of the authorization request.
NFC contactless transactions will carry the Token Cryptogram in existing chip data fields.
Other transactions, such as those originating from a digital wallet, may carry the Token Cryptogram in an existing field.
Transaction messages
The Token Cryptogram will be passed in the authorisation request and validated by the Token Service Provider and / or the Card Issuer.This cryptogram is uniquely generated by the Token Requestor to validate authorized use of the Token. The cryptogram will be carried in different fields in the transaction message based on the type of transaction and associated use case:
NFC contactless transactions will carry the Token Cryptogram in existing chip data fields.
Other transactions, such as those originating from a digital wallet, may carry the Token Cryptogram in an existing field.
Transaction messages
The Token Cryptogram will be passed in the authorization request and validated by the Token Service Provider and / or the Card Issuer.
한 실시예에 따르면, 결제 모듈(1821)은 토큰 서비스 프로바이더(730) 또는 결제 서버(720)(예: 결제 서비스 서버 또는 토큰 요구자 서버)를 통해서 토큰 크립토그램(token cryptogram)을 생성할 수 있는 key(예를 들어, limited used key(LUK) 또는 single used key)를 전달 받을 수 있다. 상기 key는 데이터 네트워크 또는 SMS 등을 통해서 전달받을 수 있다. According to one embodiment, the payment module 1821 may generate a token cryptogram through a
상기 key는 전자 장치와 토큰 서비스 프로바이더(730)에 보안 채널을 이용하여 주고 받을 수 있다. 상기 보안 채널은 상기 key와는 다른 별도의 key(예를 들어, public key, private key를 이용하는 방법)에 의해서 주고 받는 데이터를 암호화하는 논리적 채널일 수 있다. 더하여, 상기 결제 모듈 내부에 토큰 크립토그램을 생성할 수 있는 key를 생성하는 모듈을 포함할 수 있다. 전자 장치는 상기 key를 생성하는 모듈을 상기 토큰 서비스 프로바이더(730) 또는 결제 서버(720)를 통해서 전달받을 수 있다. 또는 전자 장치장치의 제조 동작에서 포함될 수 있다. 전자 장치The key may be exchanged between the electronic device and the
한 실시예에 따르면, 결제 모듈은 상기 토큰 크립토그램을 생성할 수 있는 key(예를 들어 limited used key 또는 single used key)를 이용하여 토큰 크립토그램을 생성할 수 있다. 결제 모듈은 매 거래 또는 특정 횟수의 거래, 특정 시간 내의 거래 등 정해진 규칙에 따라 다른 key를 사용할 수 있다. 토큰 서비스 프로바이더(730)는 상기 key와 쌍(pair)으로 된 key를 소유할 수 있다. 토큰 서비스 프로바이더(730)는 상기 쌍으로 된 key를 통해서 암호화된 토큰 크립토그램을 복호화할 수 있다.According to an embodiment, the payment module may generate a token cryptogram using a key (eg, a limited used key or a single used key) capable of generating the token cryptogram. The payment module can use a different key according to a set rule, such as every transaction, a specific number of transactions, or a transaction within a specific time. The
한 실시예에 따르면, 결제 모듈(1821)은 토큰 크립토그램을 생성할 수 있는 key를 이용하여 토큰 크립토그램을 생성할 수 있다. 구체적인 내용은 도 46에서 후술한다. According to an embodiment, the payment module 1821 may generate a token cryptogram using a key capable of generating a token cryptogram. Details will be described later with reference to FIG. 46 .
한 실시예에 따르면, 결제를 수행하는 경우, 전자 장치는 결제 어플리케이션에서 결제를 수행하겠다는 메시지를 결제 중계 모듈(1841)에 전달할 수 있다. 결제 중계 모듈(1841)은 MST로 결제하거나 NFC로 결제할 지를 결정할 수 있다. MST로 결제하는 경우, 결제 수행에 필요한 정보(예를 들어, token, token cryptogram, 결제 인증 데이터, PAN 정보의 일부, 토큰(token) 유효 기간 등)을 TEE의 결제 모듈에서 획득하여 TEE 내의 MST 드라이버 모듈(1827)에 전달할 수 있다. MST 드라이버 모듈(1827)은 상기 정보를 MST 컨트롤러에 전달할 수 있다. 상기 MST 컨트롤러는 상기 정보를 결제 수행하기 위해 송신할 수 있다. 또한, MST 드라이버 모듈(1827)은 도 32 내지 도 35의 MST 드라이버 모듈의 기능을 포함할 수 있다.According to an embodiment, when performing payment, the electronic device may transmit a message indicating that payment is to be performed in the payment application to the
한실시예에 따르면, 상기 정보를 결제 어플리케이션(1830)으로 전달할 수 있다. According to one embodiment, the information may be transmitted to the payment application 1830 .
한 실시예에 따르면, 전자 장치는NFC로 결제하는 경우 상기 결제 수행에 필요한 정보를 TEE의 NFC 드라이버 모듈에 전달할 수 있다. NFC드라이버 모듈은 NFC 컨트롤러에 상기 결제 수행에 필요한 정보를 전달할 수 있다. NFC 컨트롤러는 상기 정보를 기반하여 결제를 수행할 수 있다. According to an embodiment, when paying by NFC, the electronic device may transmit information necessary for performing the payment to the NFC driver module of the TEE. The NFC driver module may transmit information necessary for performing the payment to the NFC controller. The NFC controller may perform payment based on the information.
한 실시예에 따르면, 전자 장치는 NFC로 결제하는 경우 POS에서 지정된 메시지가 전달되는 경우 결제를 수행할 수 있다. 예를 들어, NFC 컨트롤러는 POS(750)에서 지정된 메시지가 전달되어 NFC 모듈에서 감지하는 경우 이를 NFC 드라이버 모듈에게 전달할 수 있다. NFC 드라이버 모듈은 POS로부터 메시지가 전달 되었음을 REE의 결제 중계 모듈(1841)에 전달할 수 있다. 상기 결제 중계 모듈(1841)은 결제를 수행하기 위해 토큰 크립토그램을 생성할 수 있다. 상기 토큰 크립토그램은 토큰 크립토그램을 생성할 수 있는 key(예를 들어, limited used key 또는 single used key)를 이용하여 TEE의 결제 모듈(1821)에서 생성할 수 있다. 상기 생성된 토큰 크립토그램은 REE에 전달될 수 있다. 상기 결제 중계 모듈(1841)은 네트워크 모듈(예를 들어, NFC 관련 host card emulation 모듈)을 통해 상기 토큰과 토큰 크립토그램을 포함하는 결제 관련 정보를 전달할 수 있다. 상기 네트워크 모듈은 NFC 모듈을 통하여 상기 결제 관련 정보를 POS로 전달할 수 있다. According to an embodiment, when a payment is made through NFC, the electronic device may perform payment when a specified message is transmitted from the POS. For example, the NFC controller may deliver a designated message from the
한 실시예에 따르면, 상기 결제 모듈은 상기 토큰, 토큰 유효 기간, token requestor ID, 토큰 크립토그램등을 포함하는 정보를 외부 전자 장치에 전달할 수 있다. 예를 들어, 상기 결제 모듈은 상기 결제 정보를 MST 통신 모듈을 통해서 POS(point of sales)(750)에 전달할 수 있다. 더하여 NFC 통신 모들을 통해서 POS에 전달할 수 있다. According to an embodiment, the payment module may transmit information including the token, token validity period, token requestor ID, token cryptogram, and the like to the external electronic device. For example, the payment module may transmit the payment information to a point of sales (POS) 750 through the MST communication module. In addition, it can be transmitted to the POS through NFC communication modules.
한 실시예에 따르면, 상기 결제 모듈은 POS(750)와 결제 동작에서 지정된 정보를 송수신할 수 있다. NFC의 경우 POS에서 먼저 정보를 수신하여 수행할 수 있다. MST의 경우에는 사용자의 명시적 입력 또는 전자 장치 내부 알고리즘에 기반하여 POS에 토큰과 토큰 크립토그램을 포함하는 결제 관련 정보를 전송할 수 있다. According to an embodiment, the payment module may transmit/receive information specified in the payment operation to and from the
한 실시예에 따르면, 생체 정보 모듈(1825)은 전자 장치를 사용하는 사용자의 생체 정보를 저장하고 생체 센서로부터 받아들이는 정보와 비교하여 사용자를 인증할 수 있다. 상기 생체 정보 모듈(1825)로는 지문 정보 모듈, 홍채 정보 모듈 등이 있을 수 있다. 상기 생체 정보 모듈은 생체 센서(240I)로부터 정보를 수집할 수 있다. 결제 어플리케이션에서 사용자의 생체 정보를 인증하라는 내용을 디스플레이(160)에 보여주면, 사용자는 생체 센서를 통해서 생체 정보를 전달할 수 있다. 상기 결제 어플리케이션의 인증 모듈은 생체 정보 관리 모듈을 통하여 생체 정보 드라이버 모듈(1851)에 생체 정보를 수집하라는 메시지를 전달할 수 있다. 상기 생체 정보 드라이버 모듈은 생체 센서에 상기 메시지를 전달할 수 있다. 상기 생체 센서는 생체 정보를 수집하여 TEE에 전달할 수 있다. 상기 TEE의 생체 정보 모듈은 상기 저장된 사용자의 생체 정보와 비교하여 인증 여부를 보안 환경 드라이버 모듈을 통해 REE의 생체 정보 관리 모듈을 통하여 결제 어플리케이션의 인증 모듈에 전달할 수 있다. 상기 결제 어플리케이션은 상기 인증 여부를 디스플레이에 보여줄 수 있다. 상기 사용자의 생체 정보는 TEE 내에 저장되거나, 암호화된 상태로 REE에 저장되거나, 보안 모듈(236)(예: eSE)에 저장될 수 있다. According to an embodiment, the biometric information module 1825 may store biometric information of a user using the electronic device and authenticate the user by comparing it with information received from a biometric sensor. The biometric information module 1825 may include a fingerprint information module, an iris information module, and the like. The biometric information module may collect information from the biometric sensor 240I. When the payment application shows on the
한 실시예에 따르면, 보안 식별자 처리 모듈(1823)은 전자 장치에서 필요하거나 결제에 관련된 인증에 관련된 입력값을 사용자 입력을 통해 획득할 수 있다. 예를 들어, 상기 입력값은 결제 수행 중에 PIN(personal identification number)일 수 있다. 더하여 상기 입력값은 카드에 관련된 정보일 수 있다. 예를 들어 PAN(primary account number), 카드 유효 기간(expiration date) 또는 CVV(card verification value) 등일 수 있다. 더하여 Chip PIN 또는 ATM(Automated teller machine) PIN 등일 수 있다. 상기 보안 식별자 처리 모듈(1823)은 어플리케이션의 형태로 표시될 수 있다. 상기 보안 식별자 처리 모듈의 어플리케이션이 화면 상에 그려지기 위해 필요한 그래픽 라이브러리는 TEE(1820)에 저장되어 있을 수 있다. 상기 TEE 저장되어 있는 그래픽 라이브러리는 REE(1810)에 있는 그래픽 라이브러리와 다를 수 있다. 상기 보안 식별자 처리 모듈은 PIN 등의 입력 값에 의한 사용자 인증을 수행하고 그 결과를 결제 중계 모듈(1841)을 통하여 결제 관리 모듈(1831)에 전달할 수 있다. 한 실시예에 따르면, 보안 환경 중계 모듈(1846)이 보안 환경 드라이버 모듈(1853)을 통해 전달한 암호화된 일회성 난수(예: nonce)를 수신할 수 있다. 보안 식별자 처리 모듈(1823)은 상기 사용자 입력으로 획득한 입력값과 상기 일회성 난수를 TEE 내의 암호화 key(예를 들어, device root key)를 이용하여 암호화하여 보안 환경 중계 모듈(1846)에 전달할 수 있다. 상기 보안 환경 중계 모듈은 보안 환경 드라이버 모듈(1853)을 통하여 결제 모듈(1821)에 암호화된 상기 입력값과 일회성 난수를 전달할 수 있다. 상기 결제 모듈은 상기 입력값과 일회성 난수를 TEE 내의 하드웨어 키를 이용하여 복호화 할 수 있다. 상기 결제 모듈은 상기 일회성 난수의 생성했던 값과 수신한 값이 같다는 것을 이용하여 REE를 통하여 전달된 상기 입력값이 무결하다는 것을 확인할 수 있다. 상기 결제 모듈은 입력값이 무결하다는 것에 기반하여 입력값을 통해 사용자 인증을 수행할 수 있다. 상기 결제 모듈은 사용자 인증을 통하여 결제를 수행할 수 있다. 한 실시예에 따르면, 팩토리 리셋은 전자 장치의 소프트웨어 이미지를 기존 공장에서 출하한 상태로 되돌리는 동작일 수 있다. 상기 동작은 어플리케이션을 통해 사용자의 명시적 동작으로 수행될 수 있다. 더하여 지정된 조건(예: 시스템이 해킹되었다고 판단되는 경우)에 상기 해킹을 판단하여 모니터링하는 모듈이 팩토리 리셋을 수행할 수 있다. 상기 동작이 수행되는 경우, 전자 장치에 저장된 데이터들이 리셋이 되기 때문에, 사용자의 결제 관련 정보 역시 리셋될 수 있다. 상기 결제 관련 정보에 대해서 결제 서버(720)에서 저장될 수 있다. 사용자가 결제 서버(720)에 계정을 기반으로 접속하는 경우, 상기 결제 관련 정보에 기반하여 다시 카드 등록과 결제 모듈을 설치하는 동작을 수행하도록 할 수 있다. 리셋이 되는 경우, 전자 장치 내에 저장된 결제 관련 모듈은 상기 결제 서버(720)를 통해서 토큰 서비스 프로바이더(730)에 알려 비활성화하도록 할 수 있다. 전자 장치의 네트워크가 비활성화 된 경우에는, 상기 알리는 동작을 수행하지 못할 수 있다. 이 경우에는 전자 장치가 팩토리 리셋을 수행한 후, 상기 결제 서버(720)에 계정을 기반으로 접속할 수 있다. 전자 장치는 상기 결제 서버(720)를 통하여 기 등록된 카드 리스트를 확인할 수 있고, 결제 서버(720)를 통하여 토큰 서비스 프로바이더(730)에 상기 기 등록된 전자 장치의 카드 모듈 또는 token 등을 비활성화할 수 있다. 더하여, 결제 서버(720)의 카드 리스트를 기반으로 전자 장치는 카드 등록을 다시 수행하여 결제 모듈 또는 token 등을 수신받을 수 있다. According to an embodiment, the security identifier processing module 1823 may obtain an input value necessary for an electronic device or related to payment-related authentication through a user input. For example, the input value may be a personal identification number (PIN) during payment. In addition, the input value may be card-related information. For example, it may be a primary account number (PAN), a card expiration date, or a card verification value (CVV). In addition, it may be a Chip PIN or an automated teller machine (ATM) PIN. The security identifier processing module 1823 may be displayed in the form of an application. A graphic library necessary for the application of the security identifier processing module to be drawn on the screen may be stored in the
도 19는 다양한 실시예에 따른 전자장치의 내부 구성요소들간 인터페이스를 도시하고 있다.19 illustrates an interface between internal components of an electronic device according to various embodiments of the present disclosure.
상기 도 19를 참조하면, 제 1 모드의 AP(1901) 및 제2 모드의 AP(1903)는 상기 도 12의 프로세서(1200)에 대응하고, 제1 통신모듈(1905)은 상기 도 12의 제 1 통신모듈 (1210)에 대응하고, 제 2 통신모듈(1907)는 상기 도 12의 제 2 통신모듈 (1212)에 대응할 수 있다. 여기서, 제 1 모드의 AP(1901)는 노멀 영역(예: REE)에서 동작하는 프로세서(1200)일 수 있고, 제 2 모드의 AP(1903)는 보안영역(secure world)(예: TEE)에서 동작하는 프로세서(1200)일 수 있다. 다양한 실시예에 따르면, 제 1 모드의 AP(1901)와 제 2 모드의 AP(1103)은 하나의 프로세서이거나 또는 분리된 구성의 프로세서일 수 있다.Referring to FIG. 19, the
다양한 실시예에서, 제 1 통신 모듈(1905)은 MST 모듈(예: MST 모듈(810))일 수 있고, 제 2 통신 모듈(1907)은 NFC 모듈(예: NFC 모듈(820))일 수 있다. 보안 모듈(1909)은 내장형 보안 요소(eSE)일 수 있다.In various embodiments, the
상기 제 1 통신모듈(1905) 및 상기 제 2 통신모듈(1907)는 기능적으로 제 2 모드의 AP(1903)에 연결되어 있고, 보안 모듈(1909)은 제 2 통신모듈(1907)에 전기적으로 연결되거나 상기 제 2 모드의 AP(1903)에 전기적으로 연결될 수 있다.The
상기 제 1 모드의 AP(1901)는 노멀 영역에서 해당 애플리케이션을 실행하여 처리할 수 있다. The
상기 제 2 모드의 AP(1903)는 보안이 요구되는 애플리케이션들(예: DRM(digital rights management), 결제 애플리케이션, 기업 정보를 처리하는 애플리케이션, 은행업무 애플리케이션)을 보안영역에서 실행하여 처리할 수 있다. 상기 보안영역에서 안전한 주변장치와의 인터페이싱을 포함해 모든 보안 관련 기능이 수행될 수 있다. 도 19에서 상기 제 1 모드의 AP(1901)와 상기 제 2 모드의 AP(1903)를 구분하여 나타내었지만, 상기 제 1 모드의 AP(1901)와 상기 제 2 모드의 AP(1903)는 하나의 프로세서로 구현 가능하며, 노멀 영역과 보안영역은 시분할(time sharing)로 동작할 수 있다.The
상기 제 1 모드의 AP(1901)는 제 1 인증서비스 트랜잭션을 검출하고, 인증서비스 트랜잭션 명령을 상기 제 2 모드의 AP(1903)로 전달할 수 있다.The
상기 제 2 모드의 AP(1903)는 인증서비스 트랜잭션 명령 및 제 1 인증정보(1909_1)를 상기 제 1 통신모듈(1905)로 전달할 수 있다. 상기 제 2 모드의 AP(1903)는 보안 모듈(1909)에 접근하여 상기 제 1 인증정보(1909-1)를 획득할 수 있다. 또한, 상기 제 2 모드의 AP(1903)는 상기 제 2 통신모듈(1907)로부터 상기 제 2 인증정보(1909-2)에 대응하는 인증결과를 제공받아 디스플레이 모듈(1208)에 디스플레이하도록 제어할 수 있다.The
구현에 따라서, 상기 제 2 모드의 AP(1903)는 상기 제 2 통신모듈(1907)로부터 상기 제 2 인증정보(1909-2)를 요청받을 시, 상기 보안 모듈(1909)으로부터 상기 제 2 인증정보(1909-2)를 획득하여 상기 제 2 통신모듈(1907)로 전달할 수 있다.According to implementation, when the
상기 제 1 통신모듈(1905)는 상기 제 2 모드의 AP(1903)로부터 인증서비스 트랜잭션 명령 및 상기 제 1 인증정보(1909-1)를 수신할 시, 상기 제 1 통신모듈(1905)는 상기 제 1 인증정보(1909-1)를 처리하여 상기 POS 기기로 송신할 수 있다.When the
상기 제 2 통신모듈(1907)는 상기 전자장치가 POS 기기에 근접하거나 접속될 시, 제 2 인증서비스 트랜잭션을 검출하고, 상기 보안 모듈(1909)으로부터 상기 제 2 인증정보(1909_2)를 획득하고, 상기 제 2 인증정보(1909-2)를 처리하여 상기 POS 기기로 송신할 수 있다. 또한, 상기 제 2 통신모듈(1907)는 인증결과에 대한 정보를 피드백 받아 그 결과를 상기 제 2 모드의 AP(1903)로 제공할 수 있다.The
구현에 따라서, 상기 제 2 통신모듈(1907)는 상기 전자장치가 POS 기기에 근접하거나 접속될 시, 상기 제 2 모드의 AP(1903)에 상기 제 2 인증정보(1909-2)를 요청하여 상기 제 2 모드의 AP(1903)를 통해 제공받을 수도 있다.According to the implementation, when the electronic device approaches or is connected to the POS device, the
상기 보안 모듈(1909)은 상기 제 2 통신모듈(1907) 또는 상기 제 2 모드의 AP(1903)에 의해서만 액세스 가능하며, 상기 제 1 모드의 AP(1901) 및 상기 제 1 통신모듈(1905)가 액세스할 수 없는 저장공간일 수 있다. 실시 예에서, 상기 보안 모듈(1909)은 near field magnetic stripe data transmission용 상기 제 1 인증정보(1909-1) 및 NFC용 상기 제 2 인증정보(1909-2)를 포함할 수 있다.The
다양한 실시 예에서, 상기 제 1 인증정보(1909-1)는 전기적으로 제 1 모드의 AP(1901)와 연결되는 일반 메모리(1911)에 저장될 수 있다.In various embodiments, the first authentication information 1909 - 1 may be stored in a
도 20은 다양한 실시예에 따른 모바일 근거리 결제 서비스를 위한 복수의 통신모듈을 포함한 전자장치의 동작 방법을 위한 흐름도를 도시하고 있다.20 is a flowchart illustrating a method of operating an electronic device including a plurality of communication modules for a mobile short-distance payment service according to various embodiments of the present disclosure.
상기 도 20을 참조하면, 2000동작에서 제1 인증 서비스의 트랜잭션이 발생하는 경우, 제 1 모드의 AP(1901)는 2002동작으로 진행하여 제 2 모드의 AP(1903)로 상기 제 1 인증 서비스의 트랜잭션 명령을 전달할 수 있다.Referring to FIG. 20 , when the transaction of the first authentication service occurs in
상기 제 2 모드의 AP(1903)는 2004동작에서 보안 모듈(1909) 또는 메모리(1911) 중 적어도 하나로부터 지불 결제를 위한 인증 정보를 획득할 수 있다.The
상기 제 2 모드의 AP(1903)는 2006동작에서 제 1 통신모듈(1905)로 상기 획득한 지불 결제를 위한 제 1 인증 정보를 전달하고 그리고 상기 제 1 인증 서비스의 트랜잭션 명령을 전달할 수 있다.The
상기 제 1 통신모듈(1905)는 2008동작에서 상기 인증 정보를 처리하여 송신할 수 있다. The
2000동작에서 제 2 인증 서비스의 트랜잭션이 발생하는 경우, 제 2 통신모듈(1907)는 2010동작에서, 상기 제 2 모드의 AP(1903)로 지불 결제를 위한 인증 정보를 요청할 수 있다.When the transaction of the second authentication service occurs in
상기 제 2 모드의 AP(1903)는 2012동작에서, 보안 모듈(1909)으로부터 지불 결제를 위한 인증 정보를 획득할 수 있다.The
상기 제 2 모드의 AP(1903)는 2014동작에서, 제 2 통신모듈(1907)로 상기 획득한 지불 결제를 위한 인증 정보를 전달할 수 있다.The
상기 제 2 통신모듈(1907)는 2016동작에서 상기 인증 정보를 송신할 수 있다.The
다양한 실시 예에서, 2000동작에서 제 2 인증 서비스의 트랜잭션이 발생하는 경우, 제 2 통신모듈(1907)는 직접 상기 보안 모듈(1909)으로부터 지불 결제를 위한 인증 정보를 획득하여 송신할 수도 있다.In various embodiments, when a transaction of the second authentication service occurs in
또한, 다양한 실시 예에서, 제 1 모드의 AP(1901)에서 제 2 모드의 AP(1903)로 상기 제1 인증 서비스의 트랜잭션 명령이 전달될 때, 상기 제 2 모드의 AP(1903)에서 직접 상기 보안 모듈(1909)으로부터 지불 결제를 위한 인증 정보를 획득하는 대신에 하기 도 21과 같이 상기 제 2 모드의 AP(1903)에서 제 1 통신모듈(1905)로 상기 제 1 인증 서비스의 트랜잭션 명령을 전달한 후, 제 1 통신모듈(1905)로부터 지불 결제를 위한 인증 정보를 요청받을 수도 있다.In addition, in various embodiments, when the transaction command of the first authentication service is transmitted from the
도 21은 제 3 실시 예에서 모바일 근거리 결제 서비스를 위한 복수의 통신모듈을 포함한 전자장치의 다른 동작 방법을 위한 흐름도를 도시하고 있다.21 is a flowchart for another operating method of an electronic device including a plurality of communication modules for a mobile short-distance payment service according to the third embodiment.
상기 도 21을 참조하면, 제 1 모드의 AP(1901)에서 제 2 모드의 AP(1903)로 상기 제 1 인증 서비스의 트랜잭션 명령이 전달될 때, 2101동작에서 제 2 모드의 AP(1903)에서 상기 제 1 통신모듈(1905)로 상기 제 1 인증 서비스의 트랜잭션 명령을 전달할 수 있다.Referring to FIG. 21, when the transaction command of the first authentication service is transmitted from the
2103동작에서, 상기 제 1 통신모듈(1905)는 상기 제 2 모드의 AP(1903)에 지불 결제를 위한 인증 정보를 요청할 수 있다.In
2105동작에서, 상기 제 2 모드의 AP(1903)는 보안 모듈(1909) 또는 메모리(1911) 중 적어도 하나 지불 결제를 위한 인증 정보를 획득할 수 있다.In
2107동작에서, 상기 제 2 모드의 AP(1903)는 제 1 통신모듈(1905)로 상기 획득한 지불 결제를 위한 인증 정보를 전달할 수 있다.In
2109동작에서, 상기 제 1 통신모듈(1905)는, 상기 인증 정보를 송신할 수 있다.In
도 22는 다양한 실시예에 따른 전자장치의 내부 구성요소들간 인터페이스를 도시하고 있다.22 illustrates an interface between internal components of an electronic device according to various embodiments of the present disclosure.
상기 도 22를 참조하면, 제 1 모드의 AP(2201) 및 제 2 모드의 AP(2203)는 상기 도 12의 프로세서(1200)에 대응하고, 제 1 통신모듈(2205)은 제 1 통신모듈 (1210)에 대응하고, 제 2 통신모듈(2207)는 상기 도 12의 제 2 통신모듈 (1212)에 대응할 수 있다. 여기서, 제 1 모드의 AP(2201)는 노멀 영역(예: REE)에서 동작하는 프로세서일 수 있고, 제 2 모드의 AP(2203)는 보안 영역(예: TEE)에서 동작하는 프로세서일 수 있다.Referring to FIG. 22, the
상기 제 1 통신모듈(2205) 및 상기 제 2 통신모듈(2207)는 전기적으로 제 2 모드의 AP (2203)에 연결되어 있고, 제 2 보안 모듈(2209)은 제 2 통신모듈(2207)에 전기적으로 연결되거나 상기 제 2 모드의 AP(2203)에 전기적으로 연결될 수 있다. 그리고 상기 제 1 보안 모듈(2211)은 상기 제 2 모드의 AP(2203)에 전기적으로 연결될 수 있다.The
다양한 실시예에서, 제 1 통신 모듈(2205)은 MST 모듈(예: MST 모듈(810)) 또는 NFC 모듈(예: NFC 모듈(820)) 중 적어도 하나일 수 있다. 제 2 통신 모듈(2207)은 MST 모듈(예: MST 모듈(810)) 또는 NFC 모듈(예: NFC 모듈(820)) 중 적어도 하나일 수 있다. 제 1 보안 모듈(2211)은 제 1 내장형 보안 요소(eSE)일 수 있다. 제 2 보안 모듈(2209)은 제 2 내장형 보안 요소(eSE)일 수 있다.In various embodiments, the
상기 제 1 모드의 AP(2201)는 제 1 인증서비스 트랜잭션을 검출하고, 상기 인증서비스 트랜잭션 명령을 상기 제 2 모드의 AP(2203)로 전달할 수 있다.The
상기 제 2 모드의 AP(2203)는 상기 인증서비스 트랜잭션 명령 및 제1 인증정보(2211-1)를 상기 제 1 통신모듈(2205)로 전달할 수 있다. 상기 제2 모드의 AP(2203)는 제 1 보안 모듈(2211)에 접근하여 제 1 인증정보(2211-1)를 획득할 수 있다. 또한, 상기 제 2 모드의 AP(2203)는 상기 제 2 통신모듈(2207)로부터 상기 제 2 인증정보(2209-2)에 대응하는 인증결과를 제공받아 디스플레이 모듈(1208)에 디스플레이하도록 제어할 수 있다.The
구현에 따라서, 상기 제 2 모드의 AP(2203)는 상기 제 2 통신모듈(2207)로부터 상기 제 2 인증정보(2209-2)를 요청받을 시, 상기 제 2 보안영역(2209)에 액세스하여 상기 제 2 인증정보(2209-2)를 획득하고 획득한 상기 제 2 인증정보(2209-2)를 상기 제 2 통신모듈(2207)로 전달할 수 있다.Depending on the implementation, the
상기 제 1 통신모듈(2205)는 상기 제 2 모드의 AP(2203)로부터 인증서비스 트랜잭션 명령 및 상기 제 1 인증정보(2211-1)를 수신하고 상기 제 1 인증정보(2211-1)를 처리하여 상기 POS 기기로 송신할 수 있다.The
상기 제 2 통신모듈(2207)는 상기 전자장치가 POS 기기에 근접하거나 접속될 시, 제 2 인증서비스 트랜잭션을 검출하고, 상기 제 2 보안 모듈(2209)에 액세스하여 상기 제 2 인증정보(2209_2)를 획득하고, 그리고 획득한 상기 제 2 인증정보(2209_2)를 처리하여 상기 POS 기기로 송신할 수 있다. 또한, 상기 제 2 통신모듈(2207)는 인증결과에 대한 정보를 피드백받아 그 결과를 상기 제 2 모드의 AP(2203)로 제공할 수 있다.When the electronic device approaches or is connected to the POS device, the
상기 제 1 보안 모듈(2211)은 상기 제2 모드의 AP(2203)에 의해서만 액세스 가능하며, 상기 제 2 보안 모듈(2209)은 상기 제 2 모드의 AP(2203) 및 상기 제 2 통신모듈(2207)에 의해서만 액세스 가능하며, 상기 제 1 모드의 AP(2201) 또는 상기 제 1 통신모듈(2205)은 상기 제 1 보안 모듈(2211) 및 상기 제 2 보안 모듈(2209)을 직접(direct) 액세스할 수 없고, 상기 제 1 모드의 AP(2201) 또는 상기 제 2 통신모듈(2207)는 상기 제 1 보안 모듈(2211)을 직접 (Direct)액세스할 수 없는, 저장공간일 수 있다.The
다양한 실시 예에서, 상기 제 1 인증정보는 전기적으로 제 1 모드의 AP(2201)와 연결되는 일반 메모리(2213)에 저장될 수 있다.In various embodiments, the first authentication information may be stored in a
도 23은 다양한 실시예에 따른 모바일 근거리 결제 서비스를 위한 복수의 통신모듈을 포함한 전자장치의 동작 방법을 위한 흐름도를 도시하고 있다.23 is a flowchart illustrating a method of operating an electronic device including a plurality of communication modules for a mobile short-distance payment service according to various embodiments of the present disclosure.
상기 도 23을 참조하면, 2300동작에서 제 1 인증 서비스의 트랜잭션이 발생하는 경우, 2302동작으로 진행하여 제 1 모드의 AP(2201)는 제 2 모드의 AP(2203)로 상기 제 1 인증 서비스의 트랜잭션 명령을 전달할 수 있다.Referring to FIG. 23, when the transaction of the first authentication service occurs in
2304동작에서, 상기 제 2 모드의 AP(2203)는 제 2 보안 모듈(2209) 또는 메모리(2213) 중 적어도 하나로부터 지불 결제를 위한 인증 정보를 획득할 수 있다.In
2306동작에서, 상기 제 2 모드의 AP(2203)는 제 1 통신모듈(2205)로 상기 획득한 지불 결제를 위한 인증 정보를 전달하고 그리고 상기 제 1 인증 서비스의 트랜잭션 명령을 전달할 수 있다.In
2308동작에서, 상기 제 1 통신모듈(2205)는, 상기 인증 정보를 송신할 수 있다.In
반면, 2300동작에서 제 2 인증 서비스의 트랜잭션이 발생하는 경우, 2310동작에서, 제 2 통신모듈(2207)는 상기 제 2 모드의 AP(2203)로 지불 결제를 위한 인증 정보를 요청할 수 있다.On the other hand, when a transaction of the second authentication service occurs in
2312동작에서, 상기 제 2 모드의 AP(2203)는 제 1 보안 모듈(2211)으로부터 지불 결제를 위한 인증 정보를 획득할 수 있다.In
2314동작에서, 상기 제 2 모드의 AP(2203)는 제 2 통신모듈(2207)로 상기 획득한 지불 결제를 위한 인증 정보를 전달할 수 있다.In
2316동작에서, 상기 제 2 모드의 AP(2203)는, 제 2 통신모듈(2207)을 이용하여 상기 인증 정보를 송신할 수 있다.In
다양한 실시 예에서, 2300동작에서 제 2 인증 서비스의 트랜잭션이 발생하는 경우, 제 2 통신모듈(2207)는 직접 상기 제 2 보안 모듈(2209)으로부터 지불 결제를 위한 인증 정보를 획득하여 송신할 수도 있다.In various embodiments, when a transaction of the second authentication service occurs in
또한, 다양한 실시 예에서, 제 1 모드의 AP(2201)에서 제 2 모드의 AP(2203)로 상기 제1 인증 서비스의 트랜잭션 명령이 전달될 때, 상기 제 2 모드의 AP(2203)에서 직접 상기 제 1 보안영역(2211)으로부터 지불 결제를 위한 인증 정보를 획득하는 대신에 하기 도 24과 같이 상기 제 2 모드의 AP(2203)에서 제 1 통신모듈(2205)로 상기 제 1 인증 서비스의 트랜잭션 명령을 전달한 후, 제 1 통신모듈(2205)로부터 지불 결제를 위한 인증 정보를 요청받을 수도 있다.In addition, in various embodiments, when the transaction command of the first authentication service is transmitted from the
도 24는 다양한 실시예에서 모바일 근거리 결제 서비스를 위한 복수의 통신모듈을 포함한 전자장치의 다른 동작 방법을 위한 흐름도를 도시하고 있다.24 is a flowchart for another operating method of an electronic device including a plurality of communication modules for a mobile short-distance payment service according to various embodiments.
상기 도 24를 참조하면, 제 1 모드의 AP(2201)는 제 2 모드의 AP(2203)로 상기 제 1 인증 서비스의 트랜잭션 명령이 전달될 때, 2401 동작에서 제 2 모드의 AP(2203)는 상기 제 1 통신모듈(2205)로 상기 제 1 인증 서비스의 트랜잭션 명령을 전달할 수 있다.Referring to FIG. 24 , when the transaction command of the first authentication service is transmitted from the
2403동작으로 진행하여 상기 제 1 통신모듈(2205)는 상기 제 2 모드의 AP(2203)에 지불 결제를 위한 인증 정보를 요청할 수 있다.In
2405동작에서, 상기 제 2 모드의 AP(2203)는 제 1 보안 모듈(2211) 또는 메모리(2213) 중 적어도 하나로부터 지불 결제를 위한 인증 정보를 획득할 수 있다.In
2407동작에서, 상기 제 2 모드의 AP(2203)는 제 1 통신모듈(2205)로 상기 획득한 지불 결제를 위한 인증 정보를 전달할 수 있다.In
2408동작에서, 전자 장치(예: 제 1 통신모듈(2205))는 상기 인증 정보를 외부 장치(예: PoS)로 송신할 수 있다.In operation 2408, the electronic device (eg, the first communication module 2205) may transmit the authentication information to an external device (eg, PoS).
도 25는 다양한 실시예에 따른 전자장치의 내부 구성요소들간 인터페이스를 도시하고 있다.25 illustrates an interface between internal components of an electronic device according to various embodiments of the present disclosure.
상기 도 25를 참조하면, 제 1 모드의 AP(2501) 및 제 2 모드의 AP(2503)는 상기 도 12의 프로세서(1200)에 대응하고, 제 1 통신모듈(2505)는 상기 도 12의 제 1 통신모듈 (1210)에 대응하고, 제 2 통신모듈(2507)는 상기 도 12의 제 2 통신모듈 (1212)에 대응할 수 있다. 여기서, 제 1 모드의 AP(2501)는 노멀 영역(예: REE)에서 동작하는 프로세서(1200)일 수 있고, 제 2 모드의 AP(2503)는 보안 영역(예: TEE)에서 동작하는 프로세서(1200)일 수 있다.Referring to FIG. 25, the
상기 제 1 통신모듈(2505) 및 제 2 통신모듈(2507)는 전기적으로 제 2 모드의 AP (2503)에 연결되어 있고, 보안 모듈(2509)은 제 2 통신모듈(2507)에 전기적으로 연결될 수 있다. 더하여, 상기 보안 모듈(2509)은 제 1 통신모듈(2507)에 전기적으로 연결될 수 있다.The
다양한 실시예에서, 제 1 통신 모듈(2505)은 MST 모듈(예: MST 모듈(810)) 또는 NFC 모듈(예: NFC 모듈(820)) 중 적어도 하나일 수 있다. 제 2 통신 모듈(2507)은 MST 모듈(예: MST 모듈(810)) 또는 NFC 모듈(예: NFC 모듈(820)) 중 적어도 하나일 수 있다. 보안 모듈(2509)은 내장형 보안 요소(eSE)일 수 있다. In various embodiments, the
상기 제 1 모드의 AP(2501)는 인증서비스 트랜잭션을 검출하고, 제 1 인증서비스 트랜잭션 명령을 상기 제 2 모드의 AP(2503)로 전달할 수 있다.The
상기 제 2 모드의 AP(2503)는 제 1 인증서비스 트랜잭션 명령 및 제 1 인증정보(2509-1)를 상기 제 1 통신모듈(2505)로 전달할 수 있다. 또한, 상기 제 2 모드의 AP(2503)는 상기 제 2 통신모듈(2507)로부터 상기 제 2 인증정보(2509-2)에 대응하는 인증결과를 제공받아 디스플레이 모듈(1208)에 디스플레이하도록 제어할 수 있다.The
상기 제 1 통신모듈(2505)은 상기 제 2 모드의 AP(2503)로부터 인증서비스 트랜잭션 명령을 수신할 시, 상기 제 2 통신모듈(2507)에 제 1 인증정보(2509-1)를 요청하여, 상기 제 2 통신모듈(2507)를 통해 제 1 인증정보(2509-1)를 수신할 수 있다.When receiving an authentication service transaction command from the
구현에 따라서, 상기 제 1 통신모듈(2505)는 상기 제 2 모드의 AP(2503)로부터 인증서비스 트랜잭션 명령을 수신할 시, 직접 상기 보안 모듈(2509)을 액세스하여 제1 인증정보(2509_1)를 획득할 수도 있다.According to the implementation, when receiving an authentication service transaction command from the
상기 제1 통신모듈(2505)는 상기 제1 인증정보(2509_1)를 처리하여 상기 POS 기기로 송신할 수 있다.The
상기 제2 통신모듈(2507)는 상기 제1 통신모듈(2505)로부터 제1 인증정보를 요청받을 시, 상기 보안 모듈(2509)을 액세스하여 제1 인증정보(2509_1)를 획득하고 획득한 제1 인증정보(2509_1)를 상기 제1 통신모듈(2505)로 제공할 수 있다.When receiving a request for first authentication information from the
또한, 상기 제2 통신모듈(2507)는 상기 전자장치가 POS 기기에 근접하거나 접속될 시, 제2 인증서비스 트랜잭션을 검출하고, 직접 상기 보안 모듈(2509)에 액세스하여 상기 제2 인증정보(2509_2)를 획득하고, 상기 제2 인증정보(2509_2)를 처리하여 상기 POS 기기로 송신할 수 있다. 또한, 상기 제2 통신모듈(2507)는 인증결과에 대한 정보를 피드백받아 그 결과를 상기 제2 모드의 AP(2503)로 제공할 수 있다.In addition, when the electronic device approaches or is connected to the POS device, the
상기 보안 모듈(2509)은 상기 제1 통신모듈(2505) 또는 상기 제1 통신모듈(2505)에 의해서만 액세스 가능하며, 상기 제1 모드의 AP(2501) 및 상기 제2 모드의 AP(2503)가 액세스할 수 없는 저장공간일 수 있다. 실시 예에서 상기 보안 모듈(2509)은 상기 제1 인증정보(2509_1) 및 상기 제2 인증정보(2509_2)를 저장할 수 있다.The
다양한 실시 예에서, 상기 제1 인증정보는 전기적으로 제1 모드의 AP(2501)와 연결되는 일반 메모리(2511)에 저장될 수 있다.In various embodiments, the first authentication information may be stored in a
도 26은 다양한 실시예에 따른 모바일 근거리 결제 서비스를 위한 복수의 통신모듈을 포함한 전자장치의 동작 방법을 위한 흐름도를 도시하고 있다.26 is a flowchart illustrating a method of operating an electronic device including a plurality of communication modules for a mobile short-distance payment service according to various embodiments of the present disclosure.
상기 도 26을 참조하면, 2600동작에서 제1 인증 서비스의 트랜잭션이 발생하는 경우, 2602동작으로 진행하여 제1 모드의 AP(2501)는 제2 모드의 AP(2503)로 상기 제1 인증 서비스의 트랜잭션 명령을 전달할 수 있다.Referring to FIG. 26 , when the transaction of the first authentication service occurs in
2604동작에서, 상기 제2 모드의 AP(2503)는 상기 제1 통신모듈(2505)로 상기 제1 인증 서비스의 트랜잭션 명령을 전달할 수 있다.In
2606동작으로 진행하여 상기 제1 통신모듈(2505)는 제2 통신모듈(2507)에 지불 결제를 위한 제1 인증 정보를 요청할 수 있다.In
2608동작에서, 제2 통신모듈(2507)는 보안 모듈(2509)으로부터 지불 결제를 위한 인증 정보(예를 들어, 제1 인증 정보(2509-1))를 획득할 수 있다.In
2610동작에서, 상기 제2 통신모듈(2507)는 상기 제1 통신모듈(2505)로 상기 획득한 지불 결제를 위한 제1 인증 정보를 전달할 수 있다.In
다양한 실시 예에서, 상기 제2 모드의 AP(2503)는 상기 제1 통신모듈(2505)로 상기 제1 인증 서비스의 트랜잭션 명령이 전달될 때, 2614동작에서 직접 상기 제1 통신모듈(2505)에서 보안 모듈(2509) 또는 메모리(2511) 중 적어도 하나로부터 지불 결제를 위한 제1 인증 정보를 획득할 수도 있다.In various embodiments, when the transaction command of the first authentication service is transmitted to the
2620동작에서, 상기 제1 통신모듈(2505)는, 인증 정보를 송신할 수 있다.In operation 2620, the
반면, 2600동작에서 제2 인증 서비스의 트랜잭션이 발생하는 경우, 2616동작으로 진행하여 상기 제2 통신모듈(2507)는 보안 모듈(2509)으로부터 지불 결제를 위한 인증 정보(예를 들어, 제2 인증 정보(2509_2))를 획득할 수 있다.On the other hand, when the transaction of the second authentication service occurs in
2618동작에서, 상기 제2 통신모듈(2507)는, 상기 인증 정보를 송신할 수 있다.In
도 27는 제6 실시 예에 따른 전자장치의 내부 구성요소들간 인터페이스를 도시하고 있다. 상기 도 27를 참조하면, 제1 모드의 AP(2701) 및 제2 모드의 AP(2703)는 상기 도 12의 프로세서(1200)에 대응하고,, 제1 통신모듈(2705)는 상기 도 12의 제1 통신모듈 (1210), 제2 통신모듈(2709)는 상기 도 12의 제2 통신모듈 (1212)에 대응할 수 있다. 여기서, 제1 모드의 AP(2701)는 노멀 영역(예: REE)에서 동작하는 프로세서(1200)일 수 있고, 제2 모드의 AP(2703)는 보안 영역(예: TEE)에서 동작하는 프로세서(1200)일 수 있다.27 illustrates an interface between internal components of an electronic device according to the sixth embodiment. Referring to FIG. 27 , the
상기 제1 통신모듈(2705) 및 제2 통신모듈(2709)는 전기적으로 제2 모드의 AP (2703)에 연결되어 있고, 제2 보안 모듈(2711)은 제2 통신모듈(2709)에 전기적으로 연결될 수 있다. 그리고 제1 보안 모듈(2707)은 제1 통신모듈(2705)에 전기적으로 연결될 수 있다.The
다양한 실시예에서, 제 1 통신 모듈(2705)은 MST 모듈(예: MST 모듈(810)) 또는 NFC 모듈(예: NFC 모듈(820)) 중 적어도 하나일 수 있다. 제 2 통신 모듈(2709)은 MST 모듈(예: MST 모듈(810)) 또는 NFC 모듈(예: NFC 모듈(820)) 중 적어도 하나일 수 있다. 제 1 보안 모듈(2707)은 제 1 내장형 보안 요소(eSE)일 수 있다. 제 2 보안 모듈(2711)은 제 2 내장형 보안 요소(eSE)일 수 있다.In various embodiments, the
상기 제1 모드의 AP(2701)는 인증서비스 트랜잭션을 검출하고, 제1 인증서비스 트랜잭션 명령을 상기 제2 모드의 AP(2703)로 전달할 수 있다.The
상기 제2 모드의 AP(2703)는 제1 인증서비스 트랜잭션 명령 및 제1 인증정보(2707_1)를 상기 제1 통신모듈(2705)로 전달할 수 있다. 또한, 상기 제2 모드의 AP(2703)는 상기 제2 통신모듈(2709)로부터 상기 제2 인증정보(2711_2)에 대응하는 인증결과를 제공받아 디스플레이 모듈(508)에 디스플레이하도록 제어할 수 있다.The
상기 제1 통신모듈(2705)는 상기 제2 모드의 AP(2703)로부터 인증서비스 트랜잭션 명령을 수신할 시, 직접 상기 제1 보안영역(2707)을 액세스하여 제1 인증정보(2707_1)를 획득할 수 있다. 그리고 획득한 상기 제1 인증정보(2707_1)를 처리하여 상기 POS 기기로 송신할 수 있다.When receiving the authentication service transaction command from the
상기 제2 통신모듈(2709)는 상기 전자장치가 POS 기기에 근접하거나 접속될 시, 제2 인증서비스 트랜잭션을 검출하고, 상기 제2 보안 모듈(2711)에 액세스하여 상기 제2 인증정보(2711_2)를 획득하고, 그리고 획득한 상기 제2 인증정보(2711_2)를 처리하여 상기 POS 기기로 송신할 수 있다. 또한, 상기 제2 통신모듈(2709)는 인증결과에 대한 정보를 피드백받아 그 결과를 상기 제2 모드의 AP(2703)로 제공할 수 있다.The
상기 제1 보안영역(2707)은 상기 제1 통신모듈(2705)에 의해서만 액세스 가능하며, 상기 제2 보안영역(2711)은 상기 제2 통신모듈(2709)에 의해서만 액세스 가능하며, 상기 제1 모드의 AP(2701) 또는 상기 제2 모드의 AP(2703)는 상기 제1 보안영역(2707) 및 상기 제2 보안영역(2711)을 액세스할 수 없는 저장공간일 수 있다.The first
다양한 실시 예에서, 상기 제1 인증정보는 전기적으로 제1 모드의 AP(2701)와 연결되는 일반 메모리(2713)에 저장될 수 있다.In various embodiments, the first authentication information may be stored in a
도 28은 제6 실시 예에 따른 모바일 근거리 결제 서비스를 위한 복수의 통신모듈을 포함한 전자장치의 동작 방법을 위한 흐름도를 도시하고 있다.28 is a flowchart illustrating a method of operating an electronic device including a plurality of communication modules for a mobile short-distance payment service according to a sixth embodiment.
상기 도 28을 참조하면, 2800동작에서 제1 인증 서비스의 트랜잭션이 발생하는 경우, 2802동작으로 진행하여 제1 모드의 AP(2701)는 제2 모드의 AP(2703)로 상기 제1 인증 서비스의 트랜잭션 명령을 전달할 수 있다.Referring to FIG. 28, when the transaction of the first authentication service occurs in
2804동작에서, 상기 제2 모드의 AP(2703)는 상기 제1 통신모듈(2705)로 상기 제1 인증 서비스의 트랜잭션 명령을 전달할 수 있다.In
2806동작에서, 상기 제1 통신모듈(2705)는 제1 보안영역(2707) 또는 메모리(2713) 중 적어도 하나로부터 지불 결제를 위한 인증 정보를 획득할 수 있다.In
2808동작에서, 상기 제1 통신모듈(2705)는, 상기 인증 정보를 송신할 수 있다.In
반면, 2800동작에서 제2 인증 서비스의 트랜잭션이 발생하는 경우, 2810동작으로 진행하여 상기 제2 통신모듈(2709)는 제2 보안 모듈(2711)으로부터 지불 결제를 위한 인증 정보를 획득할 수 있다.On the other hand, when the transaction of the second authentication service occurs in
2812동작에서, 상기 제2 통신모듈(2709)는, 상기 인증 정보를 송신할 수 있다.In
다양한 실시 예에서, 2800동작에서 제2 인증 서비스의 트랜잭션이 발생하는 경우, 하기 도 29의 동작 방법으로 지불 결제가 수행될 수도 있다.According to various embodiments, when a transaction of the second authentication service occurs in
도 29는 제6 실시 예에서 모바일 근거리 결제 서비스를 위한 복수의 통신모듈을 포함한 전자장치의 다른 동작 방법을 위한 흐름도를 도시하고 있다.29 is a flowchart for another operating method of an electronic device including a plurality of communication modules for a mobile short-distance payment service according to the sixth embodiment.
상기 도 29를 참조하면, 제2 인증 서비스의 트랜잭션이 발생하는 경우, 2900동작으로 진행하여 제1 모드의 AP(2701)는 제2 모드의 AP(2703)로 상기 제1 인증 서비스의 트랜잭션 명령을 전달할 수 있다.Referring to FIG. 29 , when a transaction of the second authentication service occurs, in
2902동작에서, 상기 제2 모드의 AP(2703)는 상기 제2 통신모듈(2709)로 상기 제2 인증 서비스의 트랜잭션 명령을 전달할 수 있다.In
2904동작에서, 상기 제2 통신모듈(2709)는 제2 보안 모듈(2711)으로부터 지불 결제를 위한 인증 정보를 획득할 수 있다.In
2906동작에서, 상기 제2 모드의 AP(2703)는, 제2 통신모듈(2709)을 이용하여 상기 인증 정보를 송신할 수 있다.In
도 30은 제7 실시 예에 따른 전자장치의 내부 구성요소들간 인터페이스를 도시하고 있다.30 illustrates an interface between internal components of an electronic device according to the seventh embodiment.
상기 도 30을 참조하면, 제1 모드의 AP(3001) 및 제2 모드의 AP(3003)는 상기 도 12의 프로세서(1200)에 에 대응하고, 제1 통신모듈(3005)는 상기 도 12의 제1 통신모듈(1210)에 대응하고, 제2 통신모듈(3005)는 상기 도 12의 제2 통신모듈 (1212)에 대응할 수 있다. 여기서, 제1 모드의 AP(3001)는 노멀 영역(예: REE)에서 동작하는 프로세서(1200)일 수 있고, 제2 모드의 AP(3003)는 보안 영역(예: TEE)에서 동작하는 프로세서(1200)일 수 있다.Referring to FIG. 30, the
상기 제1 통신모듈(3005) 및 제2 통신모듈(3007)는 전기적으로 제2 모드의 AP (3003)에 연결되어 있고, 보안 모듈(3009)은 제1 통신모듈(3005), 제2 통신모듈(3007) 및 제2 모드의 AP(3003)에 각각 전기적으로 연결될 수 있다.The
다양한 실시예에서, 제 1 통신 모듈(3005)은 MST 모듈(예: MST 모듈(810)) 또는 NFC 모듈(예: NFC 모듈(820)) 중 적어도 하나일 수 있다. 제 2 통신 모듈(3007)은 MST 모듈(예: MST 모듈(810)) 또는 NFC 모듈(예: NFC 모듈(820)) 중 적어도 하나일 수 있다. 보안 모듈(3009)은 내장형 보안 요소(eSE)일 수 있다.In various embodiments, the
상기 제1 모드의 AP(3001)는 인증서비스 트랜잭션을 검출하고, 인증서비스 트랜잭션 명령을 상기 제2 모드의 AP(3003)로 전달할 수 있다.The
상기 제2 모드의 AP(3003)는 제1 인증서비스 트랜잭션 명령을 상기 제1 통신모듈(3003)로 전달하고, 보안 모듈(3009)에 상기 제1 인증정보(3009_1)를 상기 제1 통신모듈(3005)로 전달 요청할 수 있다.The
다양한 실시예에서, 상기 제2 모드의 AP(3003)는 제2 인증서비스 트랜잭션이 발생할 시, 보안 모듈(3009)에 상기 제2 인증정보(3009_1)를 상기 제2 통신모듈(3003)로 전달 요청할 수 있다.In various embodiments, when a second authentication service transaction occurs, the
상기 제2 모드의 AP(3003)는 보안 모듈(3009)에 접근하여 상기 제1 인증정보(3009_1)를 획득할 수 있다. 또한, 상기 제2 모드의 AP(3003)는 상기 제2 통신모듈(3007)로부터 상기 제2 인증정보(3009_2)에 대응하는 인증결과를 제공받아 디스플레이 모듈(1208)에 디스플레이하도록 제어할 수 있다.The
상기 제1 통신모듈(3005)는 상기 제2 모드의 AP(3003)로부터 인증서비스 트랜잭션 명령을 수신하고 보안 모듈(3009)으로부터 상기 제1 인증정보(3009_1)를 수신할 수 있다. 그리고, 상기 제1 통신모듈(3005)는 상기 수신한 제1 인증정보(3009_1)를 처리하여 상기 POS 기기로 송신할 수 있다.The
상기 제2 통신모듈(3007)는 상기 전자장치가 POS 기기에 근접하거나 접속될 시, 제2 인증서비스 트랜잭션을 검출하고, 직접 상기 보안 모듈(3009)에 액세스하여 상기 제2 인증정보(3009_2)를 획득하고, 상기 획득한 제2 인증정보(3009_2)를 처리하여 상기 POS 기기로 송신할 수 있다. 또한, 상기 제2 통신모듈(3007)는 인증결과에 대한 정보를 피드백받아 그 결과를 상기 제2 모드의 AP(3003)로 제공할 수 있다.The
구현에 따라서, 상기 제2 통신모듈(3007)는 상기 전자장치가 POS 기기에 근접하거나 접속될 시, 상기 제2 모드의 AP(3003)에 상기 제2 인증정보(3009_2)를 요청하여 상기 제2 모드의 AP(3003)를 통해 제공받을 수도 있다.According to the implementation, when the electronic device approaches or is connected to the POS device, the
상기 보안 모듈(3009)은 상기 제2 모드의 AP(3001) 및 상기 제2 통신모듈(3005)에 의해서만 액세스 가능하며, 상기 제1 모드의 AP(3001)가 액세스할 수 없는 저장공간일 수 있다. 다만, 상기 제1 통신모듈(3005)는 보안 모듈(3009)으로부터 단방향으로 제1 인증정보(3009_1)를 수신할 수 있다. 실시 예에서, 상기 보안 모듈(3009)은 상기 제1 인증정보(3009_1) 및 상기 제2 인증정보(3009_2)를 포함할 수 있다.The
다양한 실시 예에서, 상기 제1 인증정보는 전기적으로 제1 모드의 AP(3001)와 연결되는 일반 메모리(3011)에 저장될 수 있다.In various embodiments, the first authentication information may be stored in a
다양한 실시 예에 따르면, 제2 모드의 AP(3001)는 인증정보를 저장할 수 있다. 예를 들어, 도 5a에 기재된 trusted RAM(501)에 인증 정보를 저장할 수 있다. 여기에서, 제2 모드의 AP(3001)에 저장된 인증 정보는 제1 통신모듈(3005) 및 제2 통신모듈(3007)을 통해 전송될 수 있다. 예를 들어, 상기 제2 모드의 AP(3001)는 하나의 인증 정보를 제1 통신모듈(3005) 및 제2 통신모듈(3007)을 통해 수신 장치로 전송할 수 있다. According to various embodiments, the
다른 실시예에 따르면, 제2 모드의 AP(3001)에 저장된 인증 정보는 제1 통신모듈(3005)을 통해 전송되는 제1 인증 정보와 제2 통신모듈(3007)을 통해 전송되는 제2 인증 정보를 포함할 수 있다. 예를 들어, 상기 제2 모드의 AP(3001)는 제1 인증 정보를 제1 통신모듈(3005)를 통해 수신 장치로 전송할 수 있으며, 제2 인증 정보를 제2 통신모듈(3007)을 통해 수신 장치로 전송할 수 있다. 다양한 실시예에 따르면, 상기 제2 모드의 AP(3001)는 저장된 인증 정보 가운데 적어도 하나의 인증 정보만을 수신 장치로 전송할 수 있다. 예를 들어, 전송하고자 하는 인증 정보에 대응하는 통신 모듈을 통해 수신 장치로 전송할 수 있다.According to another embodiment, the authentication information stored in the
도 31을 제7 실시 예에 따른 모바일 근거리 결제 서비스를 위한 복수의 통신모듈을 포함한 전자장치의 동작 방법을 위한 흐름도를 도시하고 있다.31 is a flowchart illustrating a method of operating an electronic device including a plurality of communication modules for a mobile short-distance payment service according to a seventh embodiment.
상기 도 31을 참조하면, 3100동작에서 제1 인증 서비스의 트랜잭션이 발생하는 경우, 3102동작으로 진행하여 제1 모드의 AP(3001)는 제2 모드의 AP(3003)로 상기 제1 인증 서비스의 트랜잭션 명령을 전달할 수 있다.Referring to FIG. 31 , when the transaction of the first authentication service occurs in
3104동작에서, 상기 제2 모드의 AP(3003)는 상기 제1 통신모듈(3005)로 상기 제1 인증 서비스의 트랜잭션 명령을 전달할 수 있다.In
3106동작에서, 상기 제2 모드의 AP(3003)는 보안 모듈(3009) 또는 메모리(3011) 중 적어도 하나에 상기 제1 통신모듈(3105)로 지불 결제를 위한 인증 정보를 전달 요청할 수 있다.In
3108동작에서, 상기 보안 모듈(3009) 또는 메모리(3011) 중 적어도 하나는 상기 제1 통신모듈(3005)로 지불 결제를 위한 인증 정보를 전달할 수 있다.In
3110동작에서, 상기 제1 통신모듈(3005)는, 상기 보안 모듈(3009)으로부터 수신된 상기 인증 정보를 송신할 수 있다.In
반면, 3100동작에서 제2 인증 서비스의 트랜잭션이 발생하는 경우, 3112동작으로 진행하여 제1 모드의 AP(3001)는 제2 모드의 AP(3003)로 상기 제2 인증 서비스의 트랜잭션 명령을 전달할 수 있다.On the other hand, when the transaction of the second authentication service occurs in
3114동작에서, 상기 제2 모드의 AP(3003)는 상기 제2 통신모듈(2007)로 상기 제2 인증 서비스의 트랜잭션 명령을 전달할 수 있다.In
3116동작에서, 상기 제2 통신모듈(3007)는 상기 제2 모드의 AP(3003)에 지불 결제를 위한 인증 정보를 요청하여 획득할 수 있다.In
3118동작에서, 상기 제2 통신모듈(3007)는, 상기 인증 정보를 송신할 수 있다.In operation 3118, the
도 32는 다양한 실시예에 따른 결제를 위한 정보 생성을 위한 전자 장치의 내부 구성 요소들 간의 인터페이스를 도시한다.32 illustrates an interface between internal components of an electronic device for generating information for payment according to various embodiments of the present disclosure;
전자장치(예: 전자장치(101))는 노멀 영역(Normal World, 예를 들어, REE(410)) 및 보안 처리 영역을 포함할 수 있다.The electronic device (eg, the electronic device 101 ) may include a normal world (eg, REE 410 ) and a security processing region.
노멀 영역은 결제 어플리케이션(3201), 예를 들어, 도 9의 결제 어플리케이션(912)을 적어도 하나 이상 포함할 수 있다. 보안 처리 영역은 보안 영역(Secure World, 예를 들어, TEE(420))와 보안 모듈(예: 내장형 보안 요소(embedded Secure Element, eSE)를 포함할 수 있다. 보안 처리 영역은 보안이 요구되는 데이터를 안전한 환경 내에서 저장하고 관련된 동작을 수행할 수 있는 영역일 수 있다. The normal area may include at least one
다양한 실시예에서, 보안 처리 영역은 적어도 하나의 이상의 보안 모듈(예: eSE)로만 구성될 수 있다. 적어도 하나의 이상의 보안 모듈(예: eSE)로만 보안 처리 영역이 구성되면, 보안 모듈(eSE) 중 적어도 하나는 TEE 내의 구성 요소의 동작(예를 들어, MST 드라이버 모듈, 또는 보안 어플리케이션의 동작)을 수행할 수 있다. In various embodiments, the security processing area may be configured only with at least one or more security modules (eg, eSE). If the security processing area is configured only with at least one or more security modules (eg, eSE), at least one of the security modules (eSE) controls the operation of the component in the TEE (eg, the operation of the MST driver module or the security application). can be done
다양한 실시예에서, 보안 처리 영역은 적어도 하나의 이상의 보안 영역(예: TEE)으로만 구성될 수 있다. 적어도 하나의 이상의 보안 영역(예: TEE)으로만 보안 처리 영역이 구성되면, 보안 영역(예: TEE) 중 적어도 하나는 보안 모듈(eSE)의 동작을 수행할 수 있다.보안 영역은 TEE 내부의 어플리케이션(예: 보안 어플리케이션(3202,trusted application, TA), 보안 모듈(3203, 예를 들어, 내장형 보안 요소(eSE), 도 9의 보안 저장소(916)) 및 MST 드라이버 모듈(3205, MST TA, 예를 들어, 도 18의 MST 드라이버 모듈(1827))을 포함할 수 있다. 보안 모듈(3203)은 하나 이상의 결제 관련 프로그램(applet)을 저장할 수 있다. In various embodiments, the security processing area may consist of only at least one or more security areas (eg, TEE). If the security processing area is configured with only at least one security area (eg, TEE), at least one of the security areas (eg, TEE) may perform an operation of the security module (eSE). application (eg,
결제 어플리케이션(3201)은 현재 시간에 관련된 정보(예를 들어, UTC(Coordinated Universal Time) 정보)를 보안 영역으로 전송할 수 있다.The
예를 들면, 전자장치(예: 전자장치(101))는 전자 장치에 포함된 운영체제(예를 들어, AndroidTM OS) 통해 UTC 정보를 획득할 수 있다. 전자장치(예: 전자장치(101))는 NITZ(network identity and time zone) 또는 NTP(network time protocol)등을 통해 UTC 정보를 획득할 수 있고, 외부 서버(예: 제 1 관리서버)도 UTC 정보를 획득하면 전자장치와 외부서버는 시간이 동기화 되어 상기 시간 인증 코드를 인증할 수 있다. 외부 서버도 전자장치와 동일한 방법(예: NITZ 또는 NTP)을 이용해서 특정시간 값을 획득할 수 있다.For example, the electronic device (eg, the electronic device 101) may acquire UTC information through an operating system (eg, Android TM OS) included in the electronic device. The electronic device (eg, the electronic device 101) may acquire UTC information through a network identity and time zone (NITZ) or a network time protocol (NTP), and an external server (eg, the first management server) may also obtain UTC information. When the information is obtained, the time is synchronized between the electronic device and the external server to authenticate the time authentication code. An external server may also acquire a specific time value using the same method as the electronic device (eg, NITZ or NTP).
결제 어플리케이션(3201)은 현재 시간에 관련된 정보(예: UTC 정보)를 보안 어플리케이션(3202, TA)로 전송할 수 있다. 보안 어플리케이션(3202)는 현재 시간에 관련된 정보(예: UTC 정보)를 보안 모듈(3203)에 전달할 수 있다. The
보안 모듈(3203)은 적어도 하나 이상의 결제 정보(예: 토큰, 토큰 크립토그램 생성을 위한 키)를 포함할 수 있다. 전자장치(예: 전자장치(101))는 적어도 하나 이상의 통신모듈(예를 들어, 도 12의 제 1 통신 모듈(1210), 및 제 2 통신 모듈(1212)를 포함할 수 있다. 보안 모듈(3203)은 적어도 하나의 통신 모듈 각각에 대응하는 인증 정보를 포함할 수 있다. The
보안 모듈(3203)은 결제 관련 프로그램(3204)를 이용하여 카드에서 트랙 2(track 2) 정보를 생성할 수 있다. 결제 관련 프로그램(3204)은, 암호와 관련된 알고리즘, 예를 들어, HMAC (hash-based message authentication code) 알고리즘을 포함할 수 있다.The
결제 관련 프로그램(3204)은 현재 시간에 관련된 정보(예: UTC 정보) 및 적어도 하나 이상의 결제 정보(예: 토큰, 토큰 크립토그램 생성을 위한 키) 중 적어도 하나에 기초하여, 타임스탬프 정보 및 결제 정보(예를 들어, 트랙 2(track 2) 정보) 중 적어도 하나 이상을 생성할 수 있다. 타임스탬프 정보를 이용하여 생성된 결제 정보는 MST 모듈에 대응하는 인증정보를 이용하여 생성될 수 있다.The payment related
트랙 2(track 2) 정보는 결제에 이용되는 결제 정보로서, 결제 정보는 타임스탬프 정보, 유효(expiry) 정보, 서비스 코드(service code), 랜덤 번호(random number), 인증 번호(verification number), 버전 정보(version information) 또는 시퀀스 번호(sequence number) 중 적어도 하나 이상을 포함할 수 있다. 다양한 실시에에서, 결제 정보에 포함된 유효(expiry) 정보는 신용카드의 유효기간에 관한 정보일 수 있다.
버전 정보(version information)는 결제 정보의 생성의 알고리즘 버전을 나타내는 정보일 수 있고, 시퀀스 번호는 결제 정보가 사용된 횟수를 카운팅하는 정보일 수 있다.The version information may be information indicating an algorithm version of generation of payment information, and the sequence number may be information counting the number of times payment information is used.
타임스탬프 정보는 현재 시간, 프로비저닝 타임(provisioning time), 기준 시간(reference time), 또는 유효 기간(validity period) 중 적어도 하나를 이용하여 생성될 수 있다.The timestamp information may be generated using at least one of a current time, a provisioning time, a reference time, or a validity period.
현재 시간은 UTC 정보에 기초한 시간일 수 있다. 현재 시간은 결제 어플리케이션(3201)이 결제를 요청한 시간일 수 있다. 프로비저닝 타임(provisioning time)은 토큰이 배포될 때, 토큰 서버 또는 토큰 서비스 프로바이더(token service provider(TSP), 예를 들어, 도 7의 730)에서 전자 장치로 토큰이 전달된 시간일 수 있다. 기준 시간(reference time)은 영점 값(zero value)로 설정될 수 있다. 다양한 실시예에서, 기준 시간(reference time)은, 예를 들어, 프로비저닝 타임(provisioning time)과 동일할 수 있다. The current time may be a time based on UTC information. The current time may be a time when the
유효 기간(validity period)은 결제 요청한 시간으로부터 시작되어 생성된 토큰(Token)이 유효하게 사용될 수 있도록 미리 설정된 시간으로서, 전자 장치는 결제 서버, 또는 금융 서버로부터 유효 기간에 대한 정보를 수신할 수 있다. 예를 들어, 유효 기간(validity period)은 180초로 설정될 수 있다.The validity period is a time preset so that the generated token can be used effectively starting from the payment request time, and the electronic device may receive information about the validity period from the payment server or the financial server. . For example, the validity period may be set to 180 seconds.
보안 모듈(3201), 보안 어플리케이션(3202) 또는 보안 영역 중 적어도 하나는 UTC 정보에 기초한 현재 시간, 프로비저닝 타임(provisioning time) 및 유효 기간(validity period)을 이용하여 타임스탬프 정보를 생성할 수 있다.At least one of the
예를 들어, 타임스탬프 정보는 수학식 1과 같을 수 있다.For example, the timestamp information may be as in Equation (1).
[수학식 1][Equation 1]
타임스탬프 정보=FLOOR((현재 시간- 프로비저닝 타임) / 유효 기간)Timestamp info=FLOOR((current time - provisioning time) / validity period)
FLOOR 함수는 소수점 내림에 관한 함수일 수 있다.The FLOOR function may be a function for rounding off the decimal point.
다양한 실시예에서, 보안 모듈(3201), 보안 어플리케이션(3202) 또는 보안 영역 중 적어도 하나는 UTC 정보에 기초한 현재 시간, 기준 시간(reference time) 및 유효 기간(validity period)을 이용하여 타임스탬프 정보를 생성할 수 있다.In various embodiments, at least one of the
예를 들어, 타임스탬프 정보는 수학식 2와 같을 수 있다.For example, the timestamp information may be as in Equation (2).
[수학식 2][Equation 2]
타임스탬프 정보=FLOOR((현재 시간- 기준 시간) / 유효 기간)Timestamp info=FLOOR((current time - base time) / valid period)
보안 모듈(3201)은 토큰, 타임스탬프 정보, 유효(expiry) 정보, 서비스 코드(service code), 랜덤 번호(random number), 인증 번호(verification number), 버전 정보(version information) 또는 시퀀스 번호(sequence number) 중 적어도 하나 이상을 포함하는 정보를 토큰 크립토그램 생성을 위한 키를 이용하여 인증 코드 또는 인증 정보를 생성할 수 있다.
보안 모듈(3201)은 토큰, 타임스탬프 정보, 유효(expiry) 정보, 서비스 코드(service code), 랜덤 번호(random number), 인증 번호(verification number) 및 인증 코드 또는 인증 정보 중 적어도 하나 이상을 포함하는 결제 정보(예, 트랙 2 정보)를 생성할 수 있다.The
다양한 실시예에 따르면, 보안 모듈(3201)은 토큰 크립토그램 생성을 위한 키를 이용하여 UTC 정보를 암호화한 원타임 패스워드(One Time Password) 코드를 생성하고, 원타임 패스워드(One Time Password) 코드를 이용하여 결제 정보를 생성할 수 있다.According to various embodiments, the
보안 모듈(3201)은 토큰, 타임스탬프 정보, 유효(expiry) 정보, 서비스 코드(service code), 랜덤 번호(random number), 인증 번호(verification number) 및 원타임 패스워드(one time password) 코드 중 적어도 하나 이상을 포함하는 결제 정보(예, 트랙 2 정보)를 생성할 수 있다.
생성된 결제 정보는 MST 드라이버 모듈(3205, MST TA, 예를 들어, 도 18의 MST 드라이버 모듈(1827))을 이용하여 결제 어플리케이션(3201) 또는 외부 전자 장치로 전송될 수 있다.The generated payment information may be transmitted to the
다양한 실시예에 따르면, 생성된 결제 정보는 NFC 모듈(예, 도 8의 820)을 이용하여 결제 어플리케이션(3201) 또는 외부 전자 장치로 전송될 수 있다.According to various embodiments, the generated payment information may be transmitted to the
도 33은 다양한 실시예에 따른 결제를 위한 정보 생성을 위한 전자 장치의 내부 구성 요소들 간의 인터페이스를 도시한다.33 illustrates an interface between internal components of an electronic device for generating information for payment according to various embodiments of the present disclosure;
전자장치(예: 전자장치(101))는 노멀 영역(Normal World, 예를 들어, REE(410)) 및 보안 처리 영역을 포함할 수 있다.The electronic device (eg, the electronic device 101 ) may include a normal world (eg, REE 410 ) and a security processing region.
노멀 영역은 결제 어플리케이션(3301), 예를 들어, 도 9의 결제 어플리케이션(912)을 적어도 하나 이상 포함할 수 있다. 보안 처리 영역은 보안 영역(Secure World, 예를 들어, TEE(420))을 포함할 수 있다. 보안 처리 영역은 보안이 요구되는 데이터를 안전한 환경 내에서 저장하고 관련된 동작을 수행할 수 있는 영역일 수 있다.The normal area may include at least one
보안 영역은 TEE 내부의 어플리케이션(예: 보안 어플리케이션(3304,trusted application(TA)), 토큰 보안 어플리케이션(3302, 예를 들어, 내장형 보안 요소 (eSE), 도 9의 보안 저장소(916)) 및 MST 드라이버 모듈(3305, MST TA, 예를 들어, 도 18의 MST 드라이버 모듈(1827))을 포함할 수 있다. 토큰 보안 어플리케이션(3302)은 결제 관련 프로그램(3303, SDK)을 포함할 수 있다. The security realm includes applications inside the TEE (eg, trusted application (TA) 3304), token security application 3302 (eg, embedded secure element (eSE),
결제 어플리케이션(3301)은 현재 시간에 관련된 정보(예를 들어, UTC(Coordinated Universal Time) 정보)를 보안 영역으로 전송할 수 있다.The
예를 들면, 전자장치(예: 전자장치(101))는 전자 장치에 포함된 운영체제(예를 들어, AndroidTM OS) 통해 UTC 정보를 획득할 수 있다. 전자장치(예: 전자장치(101))는 NITZ(network identity and time zone) 또는 NTP(network time protocol)를 통해 UTC 정보를 획득할 수 있고, 외부 서버(예: 제 1 관리서버)도 UTC 정보를 획득하면 전자장치와 외부서버는 시간이 동기화 되어 상기 시간 인증 코드를 인증할 수 있다. 외부 서버도 전자장치와 동일한 방법(예: NITZ 또는 NTP)을 이용해서 특정시간 값을 획득할 수 있다.For example, the electronic device (eg, the electronic device 101) may acquire UTC information through an operating system (eg, Android TM OS) included in the electronic device. The electronic device (eg, the electronic device 101) may acquire UTC information through a network identity and time zone (NITZ) or a network time protocol (NTP), and an external server (eg, the first management server) also obtains UTC information Upon obtaining , the electronic device and the external server may synchronize time and authenticate the time authentication code. An external server may also acquire a specific time value using the same method as the electronic device (eg, NITZ or NTP).
결제 어플리케이션(3301)은 현재 시간에 관련된 정보(예: UTC 정보)를 보안 어플리케이션(3304, TA)로 전송할 수 있다. The
토큰 보안 어플리케이션(3302)은 적어도 하나 이상의 결제 정보(예: 토큰, 토큰 크립토그램 생성을 위한 키)를 포함할 수 있다. 전자장치(예: 전자장치(101))는 적어도 하나 이상의 통신모듈(예를 들어, 도 12의 제 1 통신 모듈(1210), 및 제 2 통신 모듈(1212)를 포함할 수 있다. 토큰 보안 어플리케이션(3302)은 적어도 하나의 통신 모듈 각각에 대응하는 인증 정보를 포함할 수 있다. The
토큰 보안 어플리케이션(3302)은 결제 관련 프로그램(3303)를 이용하여 카드에서 트랙 2(track 2) 정보를 생성할 수 있다. 보안 어플리케이션(3304, TA)은 현재 시간에 관련된 정보(예: UTC 정보)및 적어도 하나 이상의 결제 정보(예: 토큰, 토큰 크립토그램 생성을 위한 키) 중 적어도 하나에 기초하여, 타임스탬프 정보 및 결제 정보(예를 들어, 수정된 트랙 2(track 2) 정보) 중 적어도 하나 이상을 생성할 수 있다. 타임스탬프 정보를 이용하여 생성된 결제 정보는 MST 모듈에 대응하는 인증정보를 이용하여 생성될 수 있다. 보안 어플리케이션(3304, TA)은, 암호와 관련된 알고리즘, 예를 들어, HMAC (Hash-based Message Authentication Code) 알고리즘을 포함할 수 있다.The
수정된 트랙 2(track 2) 정보는 결제에 이용되는 결제 정보로서, 결제 정보는 타임스탬프 정보, 유효(expiry) 정보, 서비스 코드(service code), 랜덤 번호(random number), 인증 번호(verification number), 버전 정보(version information) 또는 시퀀스 번호(sequence number) 중 적어도 하나 이상을 포함할 수 있다. 다양한 실시에에서, 결제 정보에 포함된 유효(expiry) 정보는 신용카드의 유효기간에 관한 정보일 수 있다.The corrected
타임스탬프 정보는 현재 시간, 프로비저닝 타임(provisioning time), 기준 시간(reference time), 또는 유효 기간(validity period) 중 적어도 하나를 이용하여 생성될 수 있다.The timestamp information may be generated using at least one of a current time, a provisioning time, a reference time, or a validity period.
현재 시간은 UTC 정보에 기초한 시간일 수 있다. 현재 시간은 결제 어플리케이션(3301)이 결제를 요청한 시간일 수 있다. 프로비저닝 타임(provisioning time)은 토큰이 배포될 때, 토큰 서버 또는 토큰 서비스 프로바이더(token service provider(TSP), 예를 들어, 도 7의 730)에서 전자 장치로 토큰이 전달된 시간일 수 있다. 기준 시간(reference time)은 영점 값(zero value)로 설정될 수 있다. 다양한 실시예에서, 기준 시간(reference time)은, 예를 들어, 프로비저닝 타임(provisioning time)과 동일할 수 있다. The current time may be a time based on UTC information. The current time may be a time when the
유효 기간(validity period)은 결제 요청한 시간으로부터 시작되어 생성된 토큰(Token)이 유효하게 사용될 수 있도록 미리 설정된 시간으로서, 전자 장치는 결제 서버, 또는 금융 서버로부터 유효 기간에 대한 정보를 수신할 수 있다. 예를 들어, 유효 기간(validity period)은 180초로 설정될 수 있다.The validity period is a time preset so that the generated token can be used effectively starting from the payment request time, and the electronic device may receive information about the validity period from the payment server or the financial server. . For example, the validity period may be set to 180 seconds.
토큰 보안 어플리케이션(3302), 보안 어플리케이션(3304) 또는 보안 영역 중 적어도 하나는 UTC 정보에 기초한 현재 시간, 프로비저닝 타임(provisioning time) 및 유효 기간(validity period)을 이용하여 타임스탬프 정보를 생성할 수 있다.At least one of the
다양한 실시예에서, 토큰 보안 어플리케이션(3302), 보안 어플리케이션(3304) 또는 보안 영역 중 적어도 하나는 UTC 정보에 기초한 현재 시간, 기준 시간(reference time) 및 유효 기간(validity period)을 이용하여 타임스탬프 정보를 생성할 수 있다. In various embodiments, at least one of the
보안 어플리케이션(3304)은 토큰, 타임스탬프 정보, 유효(expiry) 정보, 서비스 코드(service code), 랜덤 번호(random number), 인증 번호(verification number), 버전 정보(version information) 또는 시퀀스 번호(sequence number) 중 적어도 하나 이상을 포함하는 정보를 토큰 크립토그램 생성을 위한 키를 이용하여 인증 코드 또는 인증 정보를 생성할 수 있다.
보안 어플리케이션(3304)은 토큰, 타임스탬프 정보, 유효(expiry) 정보, 서비스 코드(service code), 랜덤 번호(random number), 인증 번호(verification number) 및 인증 코드 또는 인증 정보 중 적어도 하나 이상을 포함하는 결제 정보(예, 수정된 트랙 2 정보)를 생성할 수 있다. 다양한 실시에에서, 결제 정보에 포함된 유효(expiry) 정보는 신용카드의 유효기간에 관한 정보일 수 있다.The
다양한 실시예에 따르면, 보안 어플리케이션(3304)은 토큰 크립토그램 생성을 위한 키를 이용하여 UTC 정보를 암호화한 원타임 패스워드(One Time Password) 코드를 생성하고, 원타임 패스워드(One Time Password) 코드를 이용하여 결제 정보를 생성할 수 있다.According to various embodiments, the
보안 어플리케이션(3304)은 토큰, 타임스탬프 정보, 유효(expiry) 정보, 서비스 코드(service code), 랜덤 번호(random number), 인증 번호(verification number) 및 원타임 패스워드(One Time Password) 코드 중 적어도 하나 이상을 포함하는 결제 정보(예, 수정된 트랙 2 정보)를 생성할 수 있다. 다양한 실시에에서, 결제 정보에 포함된 유효(expiry) 정보는 신용카드의 유효기간에 관한 정보일 수 있다.
생성된 결제 정보는 MST 드라이버 모듈(3305, MST TA, 예를 들어, 도 18의 MST 드라이버 모듈(1827))을 이용하여 결제 어플리케이션(3301) 또는 외부 전자 장치로 전송될 수 있다.The generated payment information may be transmitted to the
다양한 실시예에 따르면, 생성된 결제 정보는 NFC 모듈(예, 도 8의 820)을 이용하여 결제 어플리케이션(3301) 또는 외부 전자 장치로 전송될 수 있다.According to various embodiments, the generated payment information may be transmitted to the
도 34는 다양한 실시예에 따른 결제를 위한 정보 생성을 위한 전자 장치의 내부 구성 요소들 간의 인터페이스를 도시한다.34 illustrates an interface between internal components of an electronic device for generating information for payment according to various embodiments of the present disclosure;
전자장치(예: 전자장치(101))는 노멀 영역(Normal World, 예를 들어, REE(410)) 및 보안 처리 영역을 포함할 수 있다.The electronic device (eg, the electronic device 101 ) may include a normal world (eg, REE 410 ) and a security processing region.
노멀 영역은 보안 시간 모듈(3401), 결제 어플리케이션(3402), 예를 들어, 도 9의 결제 어플리케이션(912)을 적어도 하나 이상 포함할 수 있다. 보안 처리 영역은 보안 영역(Secure World, 예를 들어, TEE(420))을 포함할 수 있다. 보안 처리 영역은 보안이 요구되는 데이터를 안전한 환경 내에서 저장하고 관련된 동작을 수행할 수 있는 영역일 수 있다.The normal region may include at least one of a
보안 영역은 TEE 내부의 어플리케이션(예: 보안 어플리케이션(3403,trusted application(TA)), 보안 모듈(3404, 예를 들어, 내장형 보안 요소(eSE), 도 9의 보안 저장소(916)) 및 MST 드라이버 모듈(3406, MST TA, 예를 들어, 도 18의 MST 드라이버 모듈(1827))을 포함할 수 있다. 보안 모듈(3404)은 결제 관련 프로그램(3405, Applet)을 포함할 수 있다. The security realm includes applications inside the TEE (eg, trusted application (TA) 3403), a security module 3404 (eg, embedded secure element (eSE),
보안 시간 모듈(3401)은 사용자 권한으로 변경되지 않는 시간 정보를 관리하는 모듈로서, 노멀 영역(Normal World, 예를 들어, REE(410))에 포함될 수 있다. 다양한 실시예에서, 노멀 영역(Normal World, 예를 들어, REE(410)), 보안 영역(Secure World, 예를 들어, TEE(420)) 또는 전자장치 외부(예: 서버)에 구현될 수 있다. 시간 정보는 주기적으로 외부 장치와 싱크를 맞출 수 있다. 전자장치(예: 전자장치(101))는 전자 장치 내의 시간 정보를 사용자가 변경할 수 없도록 할 수 있다.The
보안 시간 모듈(3401)은 현재 시간에 관련된 정보(예를 들어, UTC(Coordinated Universal Time) 정보)를 결제 어플리케이션(3402)에 전송할 수 있다.The
결제 어플리케이션(3402)은 현재 시간에 관련된 정보(예를 들어, UTC(Coordinated Universal Time) 정보)를 보안 영역으로 전송할 수 있다.The
예를 들면, 전자장치(예: 전자장치(101))는 전자 장치에 포함된 운영체제(예를 들어, AndroidTM OS) 통해 UTC 정보를 획득할 수 있다. 전자장치(예: 전자장치(101))는 NITZ(network identity and time zone) 또는 NTP(network time protocol)를 통해 UTC 정보를 획득할 수 있고, 외부 서버(예:제 1 관리서버)도 UTC 정보를 획득하면 전자장치와 외부서버는 시간이 동기화 되어 상기 시간 인증 코드를 인증할 수 있다. 외부 서버도 전자장치와 동일한 방법(예:NITZ 또는 NTP)을 이용해서 특정시간 값을 획득할 수 있다.For example, the electronic device (eg, the electronic device 101) may acquire UTC information through an operating system (eg, Android TM OS) included in the electronic device. The electronic device (eg, the electronic device 101) may acquire UTC information through a network identity and time zone (NITZ) or a network time protocol (NTP), and an external server (eg, the first management server) also obtains UTC information Upon obtaining , the electronic device and the external server may synchronize time and authenticate the time authentication code. An external server may also acquire a specific time value using the same method as the electronic device (eg, NITZ or NTP).
결제 어플리케이션(3402)은 현재 시간에 관련된 정보(예: UTC 정보)를 보안 어플리케이션(3403, TA)로 전송할 수 있다. 보안 어플리케이션(3403)은 현재 시간에 관련된 정보(예: UTC 정보)를 보안 모듈(3404)에 전달할 수 있다. The
보안 모듈(3404)은 적어도 하나 이상의 결제 정보(예: 토큰, 토큰 크립토그램 생성을 위한 키)를 포함할 수 있다. 전자장치(예: 전자장치(101))는 적어도 하나 이상의 통신모듈(예를 들어, 도 12의 제 1 통신 모듈(1210), 및 제 2 통신 모듈(1212)를 포함할 수 있다. 보안 모듈(3404)은 적어도 하나의 통신 모듈 각각에 대응하는 인증 정보를 포함할 수 있다. The
보안 모듈(3404)은 결제 관련 프로그램(3405)를 이용하여 카드에서 트랙 2(track 2) 정보를 생성할 수 있다. 결제 관련 프로그램(3405)은, 암호와 관련된 알고리즘, 예를 들어, HMAC (Hash-based Message Authentication Code) 알고리즘을 포함할 수 있다.The
결제 관련 프로그램(3405)은 현재 시간에 관련된 정보(예: UTC 정보) 및 적어도 하나 이상의 결제 정보(예: 토큰, 토큰 크립토그램 생성을 위한 키) 중 적어도 하나에 기초하여, 타임스탬프 정보 및 결제 정보(예를 들어, 트랙 2(track 2) 정보) 중 적어도 하나 이상을 생성할 수 있다. 타임스탬프 정보를 이용하여 생성된 결제 정보는 MST 모듈에 대응하는 인증정보를 이용하여 생성될 수 있다.The payment-related
트랙 2(track 2) 정보는 결제에 이용되는 결제 정보로서, 결제 정보는 타임스탬프 정보, 유효(expiry) 정보, 서비스 코드(service code), 랜덤 번호(random number), 인증 번호(verification number), 버전 정보(version information) 또는 시퀀스 번호(sequence number) 중 적어도 하나 이상을 포함할 수 있다. 다양한 실시에에서, 결제 정보에 포함된 유효(expiry) 정보는 신용카드의 유효기간에 관한 정보일 수 있다.
타임스탬프 정보는 현재 시간, 프로비저닝 타임(provisioning time), 기준 시간(reference time), 또는 유효 기간(validity period) 중 적어도 하나를 이용하여 생성될 수 있다.The timestamp information may be generated using at least one of a current time, a provisioning time, a reference time, or a validity period.
현재 시간은 UTC 정보에 기초한 시간일 수 있다. 현재 시간은 결제 어플리케이션(3402)이 결제를 요청한 시간일 수 있다. 프로비저닝 타임(provisioning time)은 토큰이 배포될 때, 토큰 서버 또는 토큰 서비스 프로바이더(token service provider(TSP), 예를 들어, 도 7의 730)에서 전자 장치로 토큰이 전달된 시간일 수 있다. 기준 시간(reference time)은 영점 값(zero value)로 설정될 수 있다. 다양한 실시예에서, 기준 시간(reference time)은, 예를 들어, 프로비저닝 타임(provisioning time)과 동일할 수 있다. The current time may be a time based on UTC information. The current time may be a time when the
유효 기간(validity period)은 결제 요청한 시간으로부터 시작되어 생성된 토큰(Token)이 유효하게 사용될 수 있도록 미리 설정된 시간으로서, 전자 장치는 결제 서버, 또는 금융 서버로부터 유효 기간에 대한 정보를 수신할 수 있다. 예를 들어, 유효 기간(validity period)은 180초로 설정될 수 있다.The validity period is a time preset so that the generated token can be used effectively starting from the payment request time, and the electronic device may receive information about the validity period from the payment server or the financial server. . For example, the validity period may be set to 180 seconds.
보안 모듈(3404), 보안 어플리케이션(3403) 또는 보안 영역 중 적어도 하나는 UTC 정보에 기초한 현재 시간, 프로비저닝 타임(provisioning time) 및 유효 기간(validity period)을 이용하여 타임스탬프 정보를 생성할 수 있다.At least one of the
다양한 실시예에서, 보안 모듈(3404), 보안 어플리케이션(3403) 또는 보안 영역 중 적어도 하나는 UTC 정보에 기초한 현재 시간, 기준 시간(reference time) 및 유효 기간(validity period)을 이용하여 타임스탬프 정보를 생성할 수 있다.In various embodiments, at least one of the
보안 모듈(3404)은 토큰, 타임스탬프 정보, 유효(expiry) 정보, 서비스 코드(service code), 랜덤 번호(random number), 인증 번호(verification number), 버전 정보(version information) 또는 시퀀스 번호(sequence number) 중 적어도 하나 이상을 포함하는 정보를 토큰 크립토그램 생성을 위한 키를 이용하여 인증 코드 또는 인증 정보를 생성할 수 있다. 다양한 실시에에서, 결제 정보에 포함된 유효(expiry) 정보는 신용카드의 유효기간에 관한 정보일 수 있다.
보안 모듈(3404)은 토큰, 타임스탬프 정보, 유효(expiry) 정보, 서비스 코드(service code), 랜덤 번호(random number), 인증 번호(verification number) 및 인증 코드 또는 인증 정보 중 적어도 하나 이상을 포함하는 결제 정보(예, 트랙 2 정보)를 생성할 수 있다. 다양한 실시에에서, 결제 정보에 포함된 유효(expiry) 정보는 신용카드의 유효기간에 관한 정보일 수 있다.The
다양한 실시예에 따르면, 보안 모듈(3404)은 토큰 크립토그램 생성을 위한 키를 이용하여 UTC 정보를 암호화한 원타임 패스워드(One Time Password) 코드를 생성하고, 원타임 패스워드(One Time Password) 코드를 이용하여 결제 정보를 생성할 수 있다.According to various embodiments, the
보안 모듈(3404)은 토큰, 타임스탬프 정보, 유효(expiry) 정보, 서비스 코드(service code), 랜덤 번호(random number), 인증 번호(verification number) 및 원타임 패스워드(One Time Password) 코드 중 적어도 하나 이상을 포함하는 결제 정보(예, 트랙 2 정보)를 생성할 수 있다. 다양한 실시에에서, 결제 정보에 포함된 유효(expiry) 정보는 신용카드의 유효기간에 관한 정보일 수 있다.The
생성된 결제 정보는 MST 드라이버 모듈(3406, MST TA, 예를 들어, 도 18의 MST 드라이버 모듈(1827))을 이용하여 결제 어플리케이션(3402) 또는 외부 전자 장치로 전송될 수 있다.The generated payment information may be transmitted to the
다양한 실시예에 따르면, 생성된 결제 정보는 NFC 모듈(예, 도 8의 820)을 이용하여 결제 어플리케이션(3402) 또는 외부 전자 장치로 전송될 수 있다.According to various embodiments, the generated payment information may be transmitted to the
도 35는 다양한 실시예에 따른 결제를 위한 정보 생성을 위한 전자 장치의 내부 구성 요소들 간의 인터페이스를 도시한다.35 illustrates an interface between internal components of an electronic device for generating information for payment according to various embodiments of the present disclosure;
전자장치(예: 전자장치(101))는 노멀 영역(Normal World, 예를 들어, REE(410)) 및 보안 처리 영역을 포함할 수 있다.The electronic device (eg, the electronic device 101 ) may include a normal world (eg, REE 410 ) and a security processing region.
노멀 영역은 결제 어플리케이션(3501), 예를 들어, 도 9의 결제 어플리케이션(912)을 적어도 하나 이상 포함할 수 있다. 보안 처리 영역은 보안 영역(Secure World, 예를 들어, TEE(420))을 포함할 수 있다. 보안 처리 영역은 보안이 요구되는 데이터를 안전한 환경 내에서 저장하고 관련된 동작을 수행할 수 있는 영역일 수 있다.The normal area may include at least one
보안 영역은 보안 시간 모듈(3502), TEE 내부의 어플리케이션(예: 보안 어플리케이션(3503,trusted application(TA)), 보안 모듈(3504, 예를 들어, 내장형 보안 요소(eSE), 도 9의 보안 저장소(916)) 및 MST 드라이버 모듈(3506, MST TA, 예를 들어, 도 18의 MST 드라이버 모듈(1827))을 포함할 수 있다. 보안 모듈(3504)은 결제 관련 프로그램(3505, Applet)을 포함할 수 있다. The secure domain includes a
보안 시간 모듈(3502)은 사용자 권한으로 변경되지 않는 시간 정보를 관리하는 모듈로서, 보안 영역(Secure World, 예를 들어, TEE(420))에 포함될 수 있다. 다양한 실시예에서, 노멀 영역(Normal World, 예를 들어, REE(410)), 보안 영역(Secure World, 예를 들어, TEE(420)) 또는 전자장치 외부(예: 서버)에 구현될 수 있다. 시간 정보는 주기적으로 외부 장치와 싱크를 맞출 수 있다. 전자장치(예: 전자장치(101))는 전자 장치 내의 시간 정보를 사용자가 변경할 수 없도록 할 수 있다.The
결제 어플리케이션(3501)은 보안 시간 모듈(3502)에 보안 시간을 요청할 수 있다.The
보안 시간 모듈(3502)은 현재 시간에 관련된 정보(예를 들어, UTC(Coordinated Universal Time) 정보)를 보안 어플리케이션(3503)에 전송할 수 있다.The
예를 들면, 전자장치(예: 전자장치(101))는 전자 장치에 포함된 운영체제(예를 들어, AndroidTM OS) 통해 UTC 정보를 획득할 수 있다. 전자장치(예: 전자장치(101))는 NITZ(network identity and time zone) 또는 NTP(network time protocol)를 통해 UTC 정보를 획득할 수 있고, 외부 서버(예:제 1 관리서버)도 UTC 정보를 획득하면 전자장치와 외부서버는 시간이 동기화 되어 상기 시간 인증 코드를 인증할 수 있다. 외부 서버도 전자장치와 동일한 방법(예:NITZ 또는 NTP)을 이용해서 특정시간 값을 획득할 수 있다.For example, the electronic device (eg, the electronic device 101) may acquire UTC information through an operating system (eg, Android TM OS) included in the electronic device. The electronic device (eg, the electronic device 101) may acquire UTC information through a network identity and time zone (NITZ) or a network time protocol (NTP), and an external server (eg, the first management server) also obtains UTC information Upon obtaining , the electronic device and the external server may synchronize time and authenticate the time authentication code. An external server may also acquire a specific time value using the same method as the electronic device (eg, NITZ or NTP).
보안 어플리케이션(3503)은 현재 시간에 관련된 정보(예: UTC 정보)를 보안 모듈(3504)에 전달할 수 있다. The
보안 모듈(3504)은 적어도 하나 이상의 결제 정보(예: 토큰, 토큰 크립토그램 생성을 위한 키)를 포함할 수 있다. 전자장치(예: 전자장치(101))는 적어도 하나 이상의 통신모듈(예를 들어, 도 12의 제 1 통신 모듈(1210), 및 제 2 통신 모듈(1212)를 포함할 수 있다. 보안 모듈(3504)은 적어도 하나의 통신 모듈 각각에 대응하는 인증 정보를 포함할 수 있다. The
보안 모듈(3504)은 결제 관련 프로그램(3505)를 이용하여 카드에서 트랙 2(track 2) 정보를 생성할 수 있다. 결제 관련 프로그램(3505)은, 암호와 관련된 알고리즘, 예를 들어, HMAC (Hash-based Message Authentication Code) 알고리즘을 포함할 수 있다.The
결제 관련 프로그램(3505)은 현재 시간에 관련된 정보(예: UTC 정보) 및 적어도 하나 이상의 결제 정보(예: 토큰, 토큰 크립토그램 생성을 위한 키) 중 적어도 하나에 기초하여, 타임스탬프 정보 및 결제 정보(예를 들어, 트랙 2(track 2) 정보) 중 적어도 하나 이상을 생성할 수 있다. 타임스탬프 정보를 이용하여 생성된 결제 정보는 MST 모듈에 대응하는 인증정보를 이용하여 생성될 수 있다.The payment-related
트랙 2(track 2) 정보는 결제에 이용되는 결제 정보로서, 결제 정보는 타임스탬프 정보, 유효(expiry), 서비스 코드(service code), 랜덤 번호(random number), 인증 번호(verification number), 버전 정보(version information) 또는 시퀀스 번호(sequence number) 중 적어도 하나 이상을 포함할 수 있다. 다양한 실시에에서, 결제 정보에 포함된 유효(expiry) 정보는 신용카드의 유효기간에 관한 정보일 수 있다.
타임스탬프 정보는 현재 시간, 프로비저닝 타임(provisioning time), 기준 시간(reference time), 또는 유효 기간(validity period) 중 적어도 하나를 이용하여 생성될 수 있다.The timestamp information may be generated using at least one of a current time, a provisioning time, a reference time, or a validity period.
현재 시간은 UTC 정보에 기초한 시간일 수 있다. 현재 시간은 결제 어플리케이션(3501)이 결제를 요청한 시간일 수 있다. 프로비저닝 타임(provisioning time)은 토큰이 배포될 때, 토큰 서버 또는 토큰 서비스 프로바이더(token service provider(TSP), 예를 들어, 도 7의 730)에서 전자 장치로 토큰이 전달된 시간일 수 있다. 기준 시간(reference time)은 영점 값(zero value)로 설정될 수 있다. 다양한 실시예에서, 기준 시간(reference time)은, 예를 들어, 프로비저닝 타임(provisioning time)과 동일할 수 있다. The current time may be a time based on UTC information. The current time may be a time when the
유효 기간(validity period)은 결제 요청한 시간으로부터 시작되어 생성된 토큰(Token)이 유효하게 사용될 수 있도록 미리 설정된 시간으로서, 전자 장치는 결제 서버, 또는 금융 서버로부터 유효 기간에 대한 정보를 수신할 수 있다. 예를 들어, 유효 기간(validity period)은 180초로 설정될 수 있다.The validity period is a time preset so that the generated token can be used effectively starting from the payment request time, and the electronic device may receive information about the validity period from the payment server or the financial server. . For example, the validity period may be set to 180 seconds.
보안 모듈(3504), 보안 어플리케이션(3503) 또는 보안 영역 중 적어도 하나는 UTC 정보에 기초한 현재 시간, 프로비저닝 타임(provisioning time) 및 유효 기간(validity period)을 이용하여 타임스탬프 정보를 생성할 수 있다.At least one of the
다양한 실시예에서, 보안 모듈(3504), 보안 어플리케이션(3503) 또는 보안 영역 중 적어도 하나는 UTC 정보에 기초한 현재 시간, 기준 시간(reference time) 및 유효 기간(validity period)을 이용하여 타임스탬프 정보를 생성할 수 있다.In various embodiments, at least one of the
보안 모듈(3504)은 토큰, 타임스탬프 정보, 유효(expiry) 정보, 서비스 코드(service code), 랜덤 번호(random number), 인증 번호(verification number), 버전 정보(version information) 또는 시퀀스 번호(sequence number) 중 적어도 하나 이상을 포함하는 정보를 토큰 크립토그램 생성을 위한 키를 이용하여 인증 코드 또는 인증 정보를 생성할 수 있다.The
보안 모듈(3504)은 토큰, 타임스탬프 정보, 유효(expiry) 정보, 서비스 코드(service code), 랜덤 번호(random number), 인증 번호(verification number) 및 인증 코드 또는 인증 정보 중 적어도 하나 이상을 포함하는 결제 정보(예, 트랙 2 정보)를 생성할 수 있다.The
다양한 실시예에 따르면, 보안 모듈(3504)은 토큰 크립토그램 생성을 위한 키를 이용하여 UTC 정보를 암호화한 원타임 패스워드(One Time Password) 코드를 생성하고, 원타임 패스워드(One Time Password) 코드를 이용하여 결제 정보를 생성할 수 있다.According to various embodiments, the
보안 모듈(3504)은 토큰, 타임스탬프 정보, 유효(expiry) 정보, 서비스 코드(service code), 랜덤 번호(random number), 인증 번호(verification number) 및 원타임 패스워드(One Time Password) 코드 중 적어도 하나 이상을 포함하는 결제 정보(예, 트랙 2 정보)를 생성할 수 있다. 다양한 실시에에서, 결제 정보에 포함된 유효(expiry) 정보는 신용카드의 유효기간에 관한 정보일 수 있다.The
생성된 결제 정보는 MST 드라이버 모듈(3506, MST TA, 예를 들어, 도 18의 MST 드라이버 모듈(1827))을 이용하여 결제 어플리케이션(3501) 또는 외부 전자 장치로 전송될 수 있다.The generated payment information may be transmitted to the
다양한 실시예에 따르면, 생성된 결제 정보는 NFC 모듈(예, 도 8의 820)을 이용하여 결제 어플리케이션(3501) 또는 외부 전자 장치로 전송될 수 있다.According to various embodiments, the generated payment information may be transmitted to the
다양한 실시예에 따르면, 전자장치(예: 전자장치(101)) 적어도 하나의 토큰을 저장하도록 동작할 수 있는 보안 모듈(예: 보안모듈(3203)); 제 1 통신 모듈(예: NFC 모듈(820)); 제 2 통신 모듈(예: MST 모듈(810)); 및 상기 보안 모듈(3203, eSE), 상기 제 1 통신 모듈(예: NFC 모듈(820))및 상기 제2 통신 모듈(예: MST 모듈(810))에 기능적으로 연결된 적어도 하나의 프로세서(예: 프로세서(1200))를 포함하며, 상기 적어도 하나의 프로세서(예: 프로세서(1200))는 상기 제 1 통신 모듈(예: NFC 모듈(820)) 또는 상기 제 2 통신 모듈(예: MST 모듈(810)) 중 결제를 위해 이용될 적어도 하나의 통신 모듈을 결정하고, 및 상기 적어도 하나의 토큰 중 상기 적어도 하나의 통신 모듈에 관련된 토큰을 포함하는 결제 정보를 외부 전자 장치(예: 결제 서버, 금융 서버, POS)에 전송하도록 설정될 수 있다.According to various embodiments, an electronic device (eg, the electronic device 101) may include a security module (eg, the security module 3203) operable to store at least one token; a first communication module (eg, NFC module 820); a second communication module (eg, MST module 810); and at least one processor (eg: and a processor 1200), wherein the at least one processor (eg, processor 1200) includes the first communication module (eg, NFC module 820) or the second communication module (eg,
다양한 실시예에 따르면, 상기 프로세서(예: 프로세서(1200))는 타임스탬프, 카드의 유효(expiry) 정보, 서비스 코드(service code), 랜덤 번호(random number), 인증 번호(verification number), 버전 정보(version information) 또는 시퀀스 번호(sequence number) 중 적어도 하나를 이용하여 상기 결제 정보를 생성하도록 설정될 수 있다.According to various embodiments, the processor (eg, the processor 1200 ) includes a timestamp, card expiry information, service code, random number, verification number, and version. It may be set to generate the payment information using at least one of version information and a sequence number.
다양한 실시예에 따르면, 상기 타임스탬프는 프로비저닝 타임(provisioning time), 기준 시간(reference time), 또는 유효 기간(validity period) 중 적어도 하나에 기초하여 생성될 수 있다.According to various embodiments, the timestamp may be generated based on at least one of a provisioning time, a reference time, or a validity period.
다양한 실시예에 따르면, 상기 적어도 하나의 토큰은 상기 제 1 통신 모듈(예: NFC 모듈(820))과 관련된 제 1 토큰 및 상기 제 2 통신 모듈(예: MST 모듈(810))과 관련된 제 2 토큰을 포함하고, 상기 결제 정보는 상기 제 1 토큰 또는 상기 제 2 토큰 중 적어도 하나를 포함할 수 있다.According to various embodiments, the at least one token is a first token associated with the first communication module (eg, NFC module 820 ) and a second token associated with the second communication module (eg, MST module 810 ). and a token, and the payment information may include at least one of the first token and the second token.
다양한 실시예에 따르면, 상기 보안 모듈(예: 보안 모듈(3203))은 내장형 보안 요소(eSE)를 포함할 수 있다.According to various embodiments, the security module (eg, the security module 3203) may include an embedded security element (eSE).
다양한 실시예에 따르면, 상기 제 1 통신 모듈(예: NFC 모듈(820))은 적어도 하나의 근거리 통신(NFC, Near Field Communication) 모듈을 포함할 수 있다.According to various embodiments, the first communication module (eg, the NFC module 820 ) may include at least one Near Field Communication (NFC) module.
다양한 실시예에 따르면, 상기 제 2 통신 모듈(예: MST 모듈(810))은 적어도 하나의 MST(Magnetic Stripe data Transmission) 통신 모듈을 포함하는 전자 장치.According to various embodiments, the second communication module (eg, the MST module 810 ) includes at least one Magnetic Stripe Data Transmission (MST) communication module.
다양한 실시예에 따르면, 상기 적어도 하나의 프로세서(예: 프로세서(1200))는 상기 보안 모듈(예: 제 1 보안 모듈(1607), 보안 모듈(3203)) 또는 상기 프로세서(예: 프로세서(1200))와 기능적으로 연결된 다른(another) 보안 모듈(예: 제 2 보안 모듈(1609), 토큰 보안 어플리케이션(3302)) 중 적어도 하나에서 타임스탬프를 생성하고, 상기 타임스탬프 및 상기 적어도 하나의 통신 모듈에 관련된 상기 토큰 중 적어도 하나에 기초하여, 상기 다른 보안 모듈(예: 제 2 보안 모듈(1609), 토큰 보안 어플리케이션(3302))에서 상기 결제 정보를 생성하도록 설정된 전자 장치.According to various embodiments, the at least one processor (eg, the processor 1200) is the security module (eg, the
다양한 실시예에 따르면, 상기 적어도 하나의 프로세서(예: 프로세서(1200))는 상기 타임스탬프 및 상기 토큰 중 적어도 하나에 기초하여 토큰 크립토그램 (cryptogram)를 생성하도록 설정될 수 있다.According to various embodiments, the at least one processor (eg, the processor 1200 ) may be configured to generate a token cryptogram based on at least one of the timestamp and the token.
다양한 실시예에 따르면, 상기 보안 모듈(예: 제 1 보안 모듈(1607), 보안 모듈(3203))은 결제 관련 프로그램(예: 결제 관련 프로그램(3204), payment applet)을 포함할 수 있다.According to various embodiments, the security module (eg, the
다양한 실시예에 따르면, 제 1 보안 영역(예: 보안 모듈(3203)), 제 2 보안 영역(예: 토큰 보안 어플리케이션(3302)) 및 적어도 하나의 결제 신호 모듈(예: 예: MST 모듈(810) 또는 NFC 모듈(820))을 포함하는 전자 장치(예: 전자 장치(101))의 결제 정보 보안 방법에서, 상기 방법은 상기 제 1 보안 영역(예: 보안 모듈(3203))에 상기 적어도 하나의 결제 신호 모듈(예: MST 모듈(810) 또는 NFC 모듈(820)) 각각에 대응되는 적어도 하나의 토큰을 저장하는 동작; 상기 제 1 보안 영역(예: 보안 모듈(3203)) 또는 상기 제 2 보안 영역(예: 토큰 보안 어플리케이션(3302)) 중 적어도 하나의 보안 영역에서 타임스탬프를 생성하는 동작; 상기 적어도 하나의 토큰 중에서 상기 적어도 하나의 결제 신호 모듈(예: MST 모듈(810) 또는 NFC 모듈(820)) 중 하나에 대응하는 토큰 및 상기 타임스탬프 중 적어도 하나에 기초하여, 상기 제 2 보안 영역(예: 토큰 보안 어플리케이션(3302))에서 결제 신호를 생성하는 동작; 및 상기 결제 신호를 외부 전자 장치(예: 결제 서버, 금융 서버, POS)에 전송하는 동작을 포함할 수 있다.According to various embodiments, a first security domain (eg, security module 3203), a second security domain (eg, token security application 3302), and at least one payment signal module (eg, MST module 810) ) or NFC module 820), in the payment information security method of an electronic device (eg, the electronic device 101), the method includes the at least one in the first security area (eg, the security module 3203) storing at least one token corresponding to each of the payment signal modules (eg, the
다양한 실시예에 따르면, 상기 결제 신호를 생성하는 동작은 상기 타임스탬프 및 상기 토큰 중 적어도 하나에 기초하여 토큰 크립토그램(cryptogram)을 생성하는 동작을 포함하고, 상기 결제 신호는 상기 토큰 및 상기 토큰 크립토그램을 포함할 수 있다.According to various embodiments, the generating of the payment signal includes generating a token cryptogram based on at least one of the timestamp and the token, and the payment signal includes the token and the token cryptogram. grams may be included.
다양한 실시예에 따르면, 상기 결제 신호는 카드의 유효(expiry) 정보, 서비스 코드(service code), 랜덤 번호(random number), 인증 번호(verification number), 버전 정보(version information) 또는 시퀀스 번호(sequence number) 중 적어도 하나를 포함할 수 있다.According to various embodiments, the payment signal includes card validity information, service code, random number, verification number, version information, or sequence number. number) may be included.
다양한 실시예에 따르면, 상기 타임스탬프는 프로비저닝 타임(provisioning time), 기준 시간(reference time), 또는 유효 기간(validity period) 중 적어도 하나에 기초하여 생성될 수 있다.According to various embodiments, the timestamp may be generated based on at least one of a provisioning time, a reference time, or a validity period.
다양한 실시예에 따르면, 상기 제 1 보안 영역(예: 보안 모듈(3203))은 결제 관련 프로그램(payment applet)을 포함할 수 있다.According to various embodiments, the first security area (eg, the security module 3203) may include a payment applet.
다양한 실시예에 따르면, 상기 제 2 보안 영역(예: 토큰 보안 어플리케이션(3302))은 상기 적어도 하나의 결제 신호 모듈과 관련된 적어도 하나의 어플리케이션을 포함할 수 있다.According to various embodiments, the second security area (eg, the token security application 3302) may include at least one application related to the at least one payment signal module.
다양한 실시예에 따르면, 상기 결제 신호는 적어도 하나의 어플리케이션으로 생성될 수 있다.According to various embodiments, the payment signal may be generated by at least one application.
다양한 실시예에 따르면, 상기 적어도 하나의 결제 신호 모듈(예: MST 모듈(810) 또는 NFC 모듈(820))은 적어도 하나의 MST(Magnetic Stripe data Transmission) 통신 모듈 또는 적어도 하나의 근거리 통신(NFC, Near Field Communication) 모듈을 포함할 수 있다.According to various embodiments, the at least one payment signal module (eg, the
다양한 실시예에 따르면, 상기 제 1 보안 영역(예: TEE)은 제 1 보안 모듈(예 : eSE, 결제 관련 프로그램)을 포함하거나, 또는 상기 제 2 보안 영역(예: TEE)은 제 2 보안 모듈을 포함하고, 상기 적어도 하나의 토큰은 상기 제 1 보안 모듈(예 : eSE, 결제 관련 프로그램)에 저장되거나, 또는 상기 결제 신호는 상기 제 2 보안 모듈(예 : eSE, 결제 관련 프로그램)에서 생성될 수 있다.According to various embodiments, the first security area (eg, TEE) includes a first security module (eg, eSE, payment-related program), or the second security area (eg, TEE) includes a second security module Including, wherein the at least one token is stored in the first security module (eg, eSE, payment-related program), or the payment signal is to be generated in the second security module (eg, eSE, payment-related program) can
도 36은 다양한 실시예에 다른 결제 정보의 유효 시간에 관한 도면이다.36 is a diagram illustrating an effective time of payment information according to various embodiments of the present disclosure;
도 32 내지 도 35를 참조하면, 결제 정보는 토큰, 타임스탬프 정보, 유효(expiry) 정보, 서비스 코드(service code), 랜덤 번호(random number), 인증 번호(verification number) 및 인증 코드 또는 인증 정보 중 적어도 하나 이상을 포함할 수 있다. 다양한 실시에에서, 결제 정보에 포함된 유효(expiry) 정보는 신용카드의 유효기간에 관한 정보일 수 있다.Referring to FIGS. 32 to 35 , payment information includes a token, timestamp information, validity information, service code, random number, verification number, and authentication code or authentication information. It may include at least one or more of In various embodiments, the expiry information included in the payment information may be information regarding the validity period of the credit card.
유효 기간(validity period)은 결제 요청한 시간으로부터 미리 설정된 시간으로서, 전자 장치는 결제 서버, 또는 금융 서버로부터 유효 기간에 대한 정보를 수신할 수 있다. 예를 들어, 유효 기간(validity period)은 180초로 설정될 수 있다.The validity period is a preset time from a payment request time, and the electronic device may receive information on the validity period from a payment server or a financial server. For example, the validity period may be set to 180 seconds.
유효 기간 내에 타임스탬프 정보를 포함하는 결제 정보가 금융서버로 전송되면 결제를 완료할 수 있다. 유효 기간 이후에 타임스탬프 정보를 포함하는 결제 정보가 금융서버로 전송되지 않으면, 결제가 이루어 지지 않을 수 있다.If payment information including timestamp information is transmitted to the financial server within the validity period, the payment can be completed. If payment information including timestamp information is not transmitted to the financial server after the validity period, payment may not be made.
다양한 실시예에서, 타임스탬프 정보는 수학식 3에 의해서 생성될 수 있다.In various embodiments, the timestamp information may be generated by Equation (3).
[수학식 3][Equation 3]
타임스탬프 정보=(현재시간-타임윈도우)/타임윈도우Timestamp information = (current time-timewindow)/timewindow
수학식 3을 참조하면, 타임윈도우(time window)값이 도36과 같이 90 초면, verification_code 2가 생성되는 타임프레임이 0~89초이면 타임스탬프 정보가 0이 될 수 있다. TSP(토큰 서비스 프로바이더) 서버에서는 지연값(delay)를 계산하여 0~179 초까지는 유효 기간으로 판단할 수 있다.Referring to
도 37 내지 도 39는 다양한 실시예에 따른 결제 정보(예, 카드)의 구조의 일 예에 대한 도면이다.37 to 39 are diagrams illustrating an example of a structure of payment information (eg, a card) according to various embodiments of the present disclosure;
도 37에서, 카드를 판독기(예, POS)에 통과시키면 카드의 마그네틱 선에 기록된 정보가 판독기의 철심 주변의 코일에 전기 신호를 유도함으로서, 카드에 관한 정보에 관한 유도된 자기장을 판독기가 신호로서 감지하여 정보를 처리할 수 있다.In Figure 37, when the card is passed through a reader (eg POS), the information written on the magnetic wire of the card induces an electrical signal in a coil around the iron core of the reader, so that the reader signals the induced magnetic field for the information about the card It can be detected and processed as information.
다양한 실시예에 따른, 카드에 포함된 마그네틱 선에는 적어도 하나 이상의 트랙을 포함할 수 있다. 마그네틱 선은 트랙 1, 트랙2, 트랙 3에 정보를 포함할 수 있는데 이중 트랙 2의 정보를 이용하여 결제를 진행할 수 있다. According to various embodiments, the magnetic line included in the card may include at least one or more tracks. The magnetic line may include information on
다양한 실시예에 따른 카드는 적어도 하나 이상의 트랙을 포함하는 정보를 포함할 수 있다.A card according to various embodiments may include information including at least one or more tracks.
도 38에서, 트랙 1에는 은행계좌 정보가 포함될 수 있고, 트랙 1의 데이터 정보 량은 79kb일 수 있다. 트랙 2에는 신용카드 번호, 발급일, 유효기간 등의 정보가 포함될 수 있고, 트랙 2의 데이터 정보 량은 40kb일 수 있다. 트랙 3에는 제휴사 등의 정보가 포함될 수 있다. 예를 들어, 결제에 이용되는 정보는 트랙 2 정보일 수 있다.In FIG. 38 , bank account information may be included in
도 39에서, 트랙 2에 포함되는 정보는 다음과 같을 수 있다.In FIG. 39 , information included in
SS: 감시 시작(Start sentinel) -한 문자(one character, 예를 들어, ';')SS: Start sentinel - one character (eg ';')
PAN: 기본 계좌 번호(Primary account number (PAN))- 19개까지 문자, 예를들어, 카드 앞면에 인쇄된 카드 번호와 일치될 수 있음(up to 19 characters. Usually, but not always, matches the credit card number printed on the front of the card.)PAN: Primary account number (PAN) - up to 19 characters, for example, may match the card number printed on the front of the card (up to 19 characters. Usually, but not always, matches the credit card number printed on the front of the card.)
FS: 필드 구분자 (Field Separator) - 한 문자(예를 들어, '=')FS: Field Separator - one character (eg '=')
만료일(Expiration date) - YYMM양식의 4개 문자(four characters in the form YYMM) Expiration date - four characters in the form YYMM
서비스 코드(Service code) - 세 문자(three characters) 첫 번째 문자는 교환 규칙을 특정하고, 두 번째 문자는 인증처리를 특정하고, 세 번째 문자는 서비스 범위를 특정할 수 있음(The first digit specifies the interchange rules, the second specifies authorisation processing and the third specifies the range of services.)Service code - three characters The first digit specifies the exchange rule, the second character specifies the authentication process, and the third character specifies the service scope (The first digit specifies the interchange rules, the second specifies authorization processing and the third specifies the range of services.)
임의적 데이터(DISCRETIONARY DATA)는 트랙 1과 동일할 수 있다.DISCRETIONARY DATA may be the same as
ES: 감시 종료(End sentinel) - 한 문자(예를 들어 ‘?’)ES: End sentinel - one character (eg ‘?’)
LRC: 세로 중복 검사(Longitudinal redundancy check (LRC)) - 한 문자 일 수 있고, 트랙의 다른 데이터에서 계산된 유효 문자 (it is one character and a validity character calculated from other data on the track.) 대부분의 판독 장치는 카드를 프레젠테이션 층에 접촉할 때, 이 값을 리턴하지 않고, 판독 장치 내부적으로 입력을 확인하는데 이용할 수 있다. (Most reader devices do not return this value when the card is swiped to the presentation layer, and use it only to verify the input internally to the reader.)LRC: Longitudinal redundancy check (LRC) - can be one character, it is one character and a validity character calculated from other data on the track. Most readings When the device touches the card to the presentation layer, it does not return this value and can be used to validate the input internally to the reading device. (Most reader devices do not return this value when the card is swiped to the presentation layer, and use it only to verify the input internally to the reader.)
금융 카드의 서비스 코드 값은 다음과 같다(Service code values common in financial cards):Service code values common in financial cards:
제 1 문자(First digit)First digit
1: 국제 교환 확인(International interchange OK)1: International interchange OK
2: 국제 교환, 가능하면 IC 칩 사용(International interchange, use IC (chip) where feasible)2: International interchange, use IC (chip) where feasible)
5: 양자 간 계약에 따라 네셔널 교환 만 제외 (National interchange only except under bilateral agreement)5: National interchange only except under bilateral agreement
6: 양자 간 계약에 따라 네셔널 교환만 제외, 가능하면 IC 칩 사용(National interchange only except under bilateral agreement, use IC (chip) where feasible)6: National interchange only except under bilateral agreement, use IC (chip) where feasible
7: 양자 간 계약에 따라 국제 교환 제외(No interchange except under bilateral agreement (closed loop))7: No interchange except under bilateral agreement (closed loop)
9: 테스트(Test)9: Test
제 2 문자(Second digit)Second digit
0: 정상(Normal)0: Normal
2: 온라인 수단을 통한 연락 발급자(Contact issuer via online means)2: Contact issuer via online means
4: 양자 간 계약에 따라 온라인 수단을 통한 연락 발급자 제외(Contact issuer via online means except under bilateral agreement)4: Contact issuer via online means except under bilateral agreement
제 3 문자(Third digit)Third digit
0: 제한없음, PIN 필요(No restrictions, PIN required)0: No restrictions, PIN required
1: 제한없음(No restrictions)1: No restrictions
2: (현금 없이)상품 및 서비스만(Goods and services only (no cash))2: Goods and services only (no cash)
3: ATM 만, PIN 필요( ATM only, PIN required)3: ATM only, PIN required
4: 현금 만(Cash only)4: Cash only
5: (현금 없이)상품 및 서비스만, PIN 필요 (Goods and services only (no cash), PIN required)5: Goods and services only (no cash), PIN required
6: 제한없음, 가능하면 PIN 사용(No restrictions, use PIN where feasible)6: No restrictions, use PIN where feasible
7: 현금 없이)상품 및 서비스만, 가능하면 PIN 사용(Goods and services only (no cash), use PIN where feasible)7: Goods and services only (no cash), use PIN where feasible)
도 40은 다양한 실시예에 따른 결제 정보의 구조를 도시한다.40 illustrates a structure of payment information according to various embodiments.
결제 정보는 토큰(4001) 및 결제 인증 데이터(4002)를 포함할 수 있다. 토큰(4001)은 digital PAN(실제 카드번호를 대체하여 가상적으로 전자기기에서 사용할 수 있는 카드 번호)를 포함할 수 있다.The payment information may include a token 4001 and
결제 인증 데이터(4002)는 토큰 크립토그램(4003, cryptogram) 및 트랜젝션 데이터(4004)를 포함할 수 있다. The
결제 인증 데이터(4002)는 결제 트랜젝션 시에 해당 결제가 유효한지 전자 장치 외부 장치에서 체크하기 위해 필요할 수 있다. 토큰 크립토그램(4003)은 암호 정보, 암호, 크립토그램(cryptogram), 암호화, 암호 방법과 같은 의미로 사용 될 수 있다.The
도 41은 다양한 실시예에 따른 트랜젝션 데이터의 구조를 도시한다.41 illustrates a structure of transaction data according to various embodiments.
트랜젝션 데이터(4101, transaction data)는 카드 유효 날짜(4102, card expired date)과 상점 정보(4103, merchant ID)를 포함할 수 있다. 상점 정보(4103, merchant ID)는 전자장치의 통신 모듈(3G, 4G, WiFI, NFC 등)을 이용하여 외부 장치로부터 획득할 수 있다.The transaction data (4101, transaction data) may include a card expiration date (4102, card expired date) and store information (4103, merchant ID). The store information (4103, merchant ID) may be obtained from an external device using a communication module (3G, 4G, WiFI, NFC, etc.) of the electronic device.
도 42는 다양한 실시예에 따른 결제 인증 데이터의 구조를 도시한다.42 illustrates a structure of payment authentication data according to various embodiments.
결제 인증 데이터(4201)는 랜덤 번호(4202, random number), 인증 코드(4203, verification code) 또는 제너레이션 카운터(4204, generation counter) 중 적어도 하나 이상을 포함할 수 있다.The
한 실시예에 따르면, 원타임 패스워드 번호(OTP number)는 토큰 크립토그램(cryptogram)의 하나의 예시일 수 있다.According to an embodiment, the one-time password number (OTP number) may be an example of a token cryptogram.
도 43를 참조하면, 다양한 실시예에 따른, 결제 중계 모듈이 결제 어플리케이션의 PIN 입력을 통한 인증 요청을 TEE의 보안 식별자 처리 모듈로 중계하는 기능에 대해 도시한다. Referring to FIG. 43 , a function of the payment relay module relaying an authentication request through PIN input of a payment application to the security identifier processing module of the TEE according to various embodiments is illustrated.
상기 결제 중계 모듈은 일회성 난수(예: nonce)를 보안 환경 중계 모듈을 통해 TEE의 결제 모듈로부터 수신하는 기능, 보안 환경 중계 모듈을 통해 보안 식별자 처리 모듈로 PIN 결과를 요청하여 알아낸 PIN과 암호화된 PIN결과를 알아내는 기능, 결제 모듈에 기 암호화된 PIN 결과의 검증을 요청하는 기능을 포함 할 수 있다.The payment relay module has a function of receiving a one-time random number (eg, nonce) from the payment module of the TEE through the secure environment relay module, and the PIN obtained by requesting the PIN result from the security identifier processing module through the secure environment relay module and encrypted It may include a function to find out the PIN result, and a function to request verification of the pre-encrypted PIN result from the payment module.
도 44 내지 45는, 다양한 실시예에 따른, 결제 중계 모듈(1841)이 생체 정보를 이용하여 인증을 수행한 결과를 이용하여 결제를 수행하는 방법(4400)을 도시한다. 한 실시예에 따르면, 결제 중계 모듈은 보안 환경 중계 모듈(1846)과 보안 환경 드라이버 모듈(1853)을 통하여 TEE 내의 결제 모듈(1821)에 일회성 난수(예: nonce)를 요청할 수 있다. 44 to 45 illustrate a method 4400 in which the
한 실시예에 따르면, 상기 결제 모듈은 상기 일회성 난수를 생성하여, TEE 내의 key(예: device root key(DRK))를 이용하여 암호화할 수 있다. 상기 결제 모듈은 상기 암호화된 일회성 난수를 보안 환경 드라이버 모듈(1853)을 통하여 보안 환경 중계 모듈(1846)에 전달할 수 있다. 동일 장치 안에서 실행 중인 어플리케이션 또는 모듈 간의 데이터 전송/전달은 메모리에 저장된 데이터를 접근할 수 있는 상태를 포함할수 있다. According to an embodiment, the payment module may generate the one-time random number and encrypt it using a key in the TEE (eg, a device root key (DRK)). The payment module may transmit the encrypted one-time random number to the secure environment relay module 1846 through the secure
한 실시예에 따르면, 상기 보안 환경 중계 모듈(1846)은 상기 암호화된 일회성 난수를 보안 환경 드라이버 모듈을 통하여 생체 정보 모듈(1825)에 전달할 수 있다. 상기 생체 정보 모듈은 상기 key를 이용하여 복호화할 수 있다. 상기 생체 정보 모듈은 생체 센서로부터 획득한 정보를 이용하여 사용자를 인증할 수 있다. 상기 생체 정보 모듈은 상기 사용자 인증 여부 정보를 상기 일회성 난수와 함께 상기 key로 암호화할 수 있다. 상기 생체 정보 모듈은 상기 암호화된 인증 여부 정보와 일회성 난수를 보안 환경 드라이버 모듈을 통하여 보안 환경 중계 모듈에 전달할 수 있다. 상기 보안 환경 중계 모듈은 상기 암호화된 인증 여부 정보와 일회성 난수를 보안 환경 드라이버 모듈을 통하여 상기 결제 모듈에 전달할 수 있다. According to an embodiment, the secure environment relay module 1846 may transmit the encrypted one-time random number to the biometric information module 1825 through the secure environment driver module. The biometric information module may decrypt using the key. The biometric information module may authenticate the user using information obtained from the biometric sensor. The biometric information module may encrypt the user authentication information with the key together with the one-time random number. The biometric information module may transmit the encrypted authentication status information and the one-time random number to the secure environment relay module through the secure environment driver module. The secure environment relay module may transmit the encrypted authentication information and the one-time random number to the payment module through the secure environment driver module.
한 실시예에 따르면, 상기 결제 모듈은 상기 key를 통하여 상기 암호화된 인증 여부 정보와 일회성 난수를 복호화할 수 있다. 상기 결제 모듈은 상기 수신된 일회성 난수가 생성한 일회성 난수와 같은 지를 비교하여 인증 여부 정보가 REE에서 변질되었는지를 확인할 수 있다. 상기 비교는 전송한 일회성 난수와 수신한 일회성 난수가 완전히 일치하는지 여부를 판단할 수도 있고, 상기 전송한 일회성 난수와 상기 수신한 일회성 난수가 일치하지는 않으나 전송한 일회성 난수에 기반하여 생성된 일회성 난수인 경우 이를 일치하다고 판단할 수도 있다. 상기 두 일회성 난수가 일치하고, 인증이 성공한 경우 상기 결제 모듈은 결제를 수행할 수 있다. 상기 일회성 난수가 일치하지 않거나 인증이 성공하지 못한 경우 상기 결제 모듈은 결제를 수행하지 못할 수 있다. According to an embodiment, the payment module may decrypt the encrypted authentication information and the one-time random number through the key. The payment module may compare whether the received one-time random number is the same as the one-time random number generated to check whether the authentication information is corrupted in the REE. The comparison may determine whether the transmitted one-time random number and the received one-time random number completely match, and the transmitted one-time random number and the received one-time random number do not match, but a one-time random number generated based on the transmitted one-time random number In this case, it may be judged to be consistent. If the two one-time random numbers match and authentication is successful, the payment module may perform payment. If the one-time random number does not match or authentication is not successful, the payment module may not be able to perform payment.
한 실시예에 따르면, 상기 비교는 TEE 또는 REE 내에서 실행되는 다른 어플리케이션 또는 agent(예: 결제 매니저 또는 커널)에서 실행될 수도 있다.According to an embodiment, the comparison may be performed in another application or agent (eg, payment manager or kernel) running within the TEE or REE.
도 46은, 다양한 실시예에 따른, 토큰 크립토그램을 생성하는 방법(4500)을 도시한다. 한 실시예에 따르면, 결제 모듈은 상기 토큰 크립토그램을 생성할 수 있는 key를 이용하여 토큰 크립토그램을 생성할 수 있다. 결제 모듈은 매 거래 또는 특정 횟수의 거래, 특정 시간 내의 거래 등 정해진 규칙에 따라 다른 key를 사용할 수 있다. 토큰 서비스 프로바이더(730)는 상기 key와 쌍(pair)으로 된 key를 소유할 수 있다. 상기 토큰 서비스 프로바이더(730)는 상기 쌍으로 된 key를 통해서 암호화된 토큰 크립토그램을 복호화할 수 있다.46 illustrates a method 4500 of generating a token cryptogram, in accordance with various embodiments. According to one embodiment, the payment module may generate a token cryptogram using a key capable of generating the token cryptogram. The payment module can use a different key according to a set rule, such as every transaction, a specific number of transactions, or a transaction within a specific time. The
상기 결제 모듈은 상기 key를 이용하여 토큰 크립토그램을 만드는 경우, key로 암호화하는 데이터와 암호화 엔진은 암호화 방법(예: AES, TKIP 등)에 따라 다양하게 달라질 수 있다.When the payment module uses the key to create a token cryptogram, data encrypted with the key and an encryption engine may vary according to an encryption method (eg, AES, TKIP, etc.).
도 47은 다양한 실시예에 따른 타임스탬프 정보를 기초하여 생성된 결제 정보를 이용하여 결제 과정을 나타내는 순서도이다.47 is a flowchart illustrating a payment process using payment information generated based on timestamp information according to various embodiments of the present disclosure;
결제 어플리케이션(4701, 예를 들어, 도 32의 결제 어플리케이션(3201))은 보안 영역(4703)에 결제 정보(예를 들어, 트랙 2 정보) 생성을 요청할 수 있다.The payment application 4701 (eg, the
결제 어플리케이션(4701)으로부터 결제 정보(예를 들어, 트랙 2 정보) 생성을 요청받으면, 보안 영역(4703)은 결제 관련 프로그램(4705, 예를 들어, 도 32의 결제 관련 프로그램(3204))는 타임스탬프 정보를 이용하여 결제 정보(예를 들어, 트랙 2 정보)를 생성할 수 있다.When receiving a request to generate payment information (eg,
결제 정보(예를 들어, 트랙 2 정보)가 생성되면, 결제 관련 프로그램(4705)는 보안 영역(4703)에 생성된 결제 정보(예를 들어, 트랙 2 정보)를 전송할 수 있다.When payment information (eg,
보안 영역(4703)은 예를 들어, 도 32의 MST 드라이버 모듈(3205)을 통해, POS(4707)로 생성된 결제 정보(예를 들어, 트랙 2 정보)를 이용하여 트랜젝션 승인을 요청할 수 있다.The
보안 영역(4703)으로부터 트랜젝션 승인을 요청을 전송받은 POS(4707)는 제 1 금융 서버(4711)에 생성된 결제 정보(예를 들어, 트랙 2 정보) 및 트랜젝션 승인 요청을 전달할 수 있다. The
제 1 금융 서버(4711, 예를 들어, 도 9의 제 1 금융서버(932))는 토큰 서버(4713) 또는 토큰 서비스 프로바이더(token service provider(TSP))에 생성된 결제 정보(예를 들어, 트랙 2 정보)에 포함된 토큰(token)을 전송할 수 있다.The first financial server 4711 (eg, the first
토큰 서버(4713) 또는 토큰 서비스 프로바이더(token service provider(TSP))는 제 1 금융 서버(4711)로부터 전달받은 토큰을 인증하고, 토큰 인증 결과를 제 1 금융 서버(4711)로 전송할 수 있다.The
토큰 서버(4713) 또는 토큰 서비스 프로바이더(token service provider(TSP))는 결제 정보에 포함된 타임스탬프 정보, 유효(expiry) 정보, 서비스 코드(service code), 랜덤 번호(random number), 인증 번호(verification number), 버전 정보(version information) 또는 시퀀스 번호(sequence number)를 토큰 서버(4713) 또는 토큰 서비스 프로바이더(token service provider(TSP))에 저장된 프로비저닝 타임(provisioning time), 기준 시간(reference time), 또는 유효 기간(validity period)과 비교하여 토큰의 유효 여부를 판단할 수 있다. 다양한 실시에에서, 결제 정보에 포함된 유효(expiry) 정보는 신용카드의 유효기간에 관한 정보일 수 있다.
제 1 금융 서버(4711)은 토큰 인증 결과를 토큰 서버(4713) 또는 토큰 서비스 프로바이더(token service provider(TSP))로부터 수신하고, 제 2 금융 서버(4709, 도 9의 제 2금융서버(942))에 토큰 인증 결과 전송 및/또는 트랜젝션 승인을 요청할 수 있다.The first
제 2 금융 서버(4709)는 토큰 인증 결과 및 트랜젝션 승인 요청에 따라 트랜젝션 승인 여부를 판단할 수 있다. 토큰 인증 결과 토큰이 유효한 것으로 판단되면, 제 2 금융 서버(4709)는 트랜젝션 승인 결과를 제 1 금융 서버(4711)에 전달할 수 있다.The second
제 1 금융 서버(4711)는 트랜젝션 승인 결과를 POS(4707)로 전달할 수 있다.The first
도 48은 다양한 실시예에 따른 타임스탬프 정보를 기초하여 생성된 결제 정보를 이용하여 결제 과정을 나타내는 순서도이다.48 is a flowchart illustrating a payment process using payment information generated based on timestamp information according to various embodiments of the present disclosure;
결제 어플리케이션(4801, 예를 들어, 도 32의 결제 어플리케이션(3201))은 보안 영역(4803)에 결제 정보(예를 들어, 트랙 2 정보) 생성을 요청할 수 있다.The payment application 4801 (eg, the
결제 어플리케이션(4801)으로부터 결제 정보(예를 들어, 트랙 2 정보) 생성을 요청받으면, 보안 영역(4803)은 결제 관련 프로그램(4805, 예를 들어, 도 32의 결제 관련 프로그램(3204))는 타임스탬프 정보를 이용하여 결제 정보(예를 들어, 트랙 2 정보)를 생성할 수 있다.When receiving a request to generate payment information (eg,
결제 정보(예를 들어, 트랙 2 정보)가 생성되면, 결제 관련 프로그램(4805)는 보안 영역(4803)에 생성된 결제 정보(예를 들어, 트랙 2 정보)를 전송할 수 있다.When payment information (eg,
보안 영역(4803)은 예를 들어, 도 32의 MST 드라이버 모듈(3205)을 통해, POS(4804)로 생성된 결제 정보(예를 들어, 트랙 2 정보)를 이용하여 트랜젝션 승인을 요청할 수 있다.The
보안 영역(4803)으로부터 트랜젝션 승인을 요청을 전송받은 POS(4804)는 제 2 금융 서버(4807, 도 9의 제 2금융서버(942))에 생성된 결제 정보(예를 들어, 트랙 2 정보) 및 트랜젝션 승인 요청을 전달할 수 있다. The
제 2 금융 서버(4807)는 토큰 서버(4809) 또는 토큰 서비스 프로바이더(token service provider(TSP))에 생성된 결제 정보(예를 들어, 트랙 2 정보)에 포함된 토큰(token)을 전송할 수 있다.The second
토큰 서버(4809) 또는 토큰 서비스 프로바이더(token service provider(TSP))는 제 2 금융 서버(4807)로부터 전달받은 토큰을 인증하고, 토큰 인증 결과를 제 2 금융 서버(4807)로 전송할 수 있다.The
토큰 서버(4809) 또는 토큰 서비스 프로바이더(token service provider(TSP))는 결제 정보에 포함된 타임스탬프 정보, 유효(expiry) 정보, 서비스 코드(service code), 랜덤 번호(random number), 인증 번호(verification number), 버전 정보(version information) 또는 시퀀스 번호(sequence number)를 토큰 서버(4713) 또는 토큰 서비스 프로바이더(token service provider(TSP))에 저장된 프로비저닝 타임(provisioning time), 기준 시간(reference time), 또는 유효 기간(validity period)과 비교하여 토큰의 유효 여부를 판단할 수 있다. 다양한 실시에에서, 결제 정보에 포함된 유효(expiry) 정보는 신용카드의 유효기간에 관한 정보일 수 있다.
제 2 금융 서버(4807)는 트랜젝션 승인 결과를 POS(4707)로 전달할 수 있다.The second
도 49는 다양한 실시예에 따른 토큰을 이용한 결제 트랜젝션(transaction)하기 위한 방법을 도시한다.49 illustrates a method for performing a payment transaction using a token according to various embodiments.
결제 트랜젝션을 시작하면 결제 어플리케이션(4901, 예를 들어, 도 32의 결제 어플리케이션(3201))은 보안 모듈(4903, 예를 들어, 도 32의 보안 모듈(3203))에 보안 어플리케이션(TA)을 통해 타임스탬프 정보를 전송할 수 있다.When a payment transaction is started, the payment application 4901 (eg, the
보안 모듈(4903)은 결제 관련 프로그램(4905, 예를 들어, 도 32의 결제 관련 프로그램(3204))을 포함할 수 있다. 결제 관련 프로그램(4905)은 타임스탬프 정보 및 적어도 하나 이상의 결제 정보(예: 토큰, 토큰 크립토그램 생성을 위한 키) 중 적어도 하나에 기초하여, 결제 정보(예를 들어, 트랙 2(track 2) 정보)를 생성할 수 있다.The
보안 모듈(4903)은 제 1 금융 서버(예를 들어, 도 9의 제 1 금융서버(932))의 TSM(4909)과 결제와 관련된 정보(예를 들어, 결제 정보)를 송수신할 수 있다.The
결제 서버(4907, 예를 들어, 도 9의 결제 서버(920))는 결제 어플리케이션(4901)과 결제와 관련된 정보(예를 들어, 결제 정보)를 송수신할 수 있다.The payment server 4907 (eg, the
제 1 금융 서버의 TSM(4909)은 제 1 금융 서버의 TSP(4911), 제 2 금융서버(4915, 예를 들어, 도 9의 제 2 금융서버(942)), 및 제 2 금융 서버의 TSP와 결제에 관련된 정보를 송수신하고 결제를 승인할 수 있다.The
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. "모듈"은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있으며, 예를 들면, 어떤 동작들을 수행하는, 알려졌거나 앞으로 개발될, ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays), 또는 프로그램 가능 논리 장치를 포함할 수 있다. 다양한 실시예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는 프로그램 모듈의 형태로 컴퓨터로 판독 가능한 저장 매체(예: 메모리(130))에 저장된 명령어로 구현될 수 있다. 상기 명령어가 프로세서(예: 프로세서(120))에 의해 실행될 경우, 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(예: 자기테이프), 광기록 매체(예: CD-ROM, DVD, 자기-광 매체 (예: 플롭티컬 디스크), 내장 메모리 등을 포함할 수 있다.As used herein, the term “module” includes a unit composed of hardware, software, or firmware, and may be used interchangeably with terms such as, for example, logic, logic block, component, or circuit. A “module” may be an integrally formed component or a minimum unit or a part of performing one or more functions. A “module” may be implemented mechanically or electronically, for example, known or to be developed, application-specific integrated circuit (ASIC) chips, field-programmable gate arrays (FPGAs), or It may include a programmable logic device. At least a portion of an apparatus (eg, modules or functions thereof) or a method (eg, operations) according to various embodiments includes instructions stored in a computer-readable storage medium (eg, memory 130 ) in the form of a program module can be implemented as When the instruction is executed by a processor (eg, the processor 120), the processor may perform a function corresponding to the instruction. Computer-readable recording media include hard disks, floppy disks, magnetic media (eg, magnetic tape), optical recording media (eg, CD-ROM, DVD, magneto-optical media (eg, floppy disks), built-in memory, etc.) may include
다양한 실시예에 따르면, 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체는 보안 영역(예: TEE) 및 적어도 하나의 결제 신호 모듈(예: MST 모듈(810) 또는 NFC 모듈(820))을 포함하는 전자 장치(예: 전자 장치(101))에서, 상기 보안 영역에 상기 적어도 하나의 결제 신호 모듈(예: MST 모듈(810) 또는 NFC 모듈(820))에 대응되는 적어도 하나의 토큰을 저장하는 동작; 상기 보안 영역(TEE)에서 타임스탬프를 생성하는 동작; 상기 적어도 하나의 토큰 중에서 상기 적어도 하나의 결제 신호 모듈(예: MST 모듈(810) 또는 NFC 모듈(820)) 중 하나에 대응하는 토큰 및 상기 타임스탬프에 적어도 일부 기초하여, 상기 보안 영역(예: TEE)에서 결제 신호를 생성하는 동작; 및 상기 결제 신호를 외부 전자 장치(예: 결제 서버, 금융 서버, POS)에 전송하는 동작을 실행할 수 있다.According to various embodiments, a computer-readable recording medium recording a program is an electronic device (eg, TEE) and at least one payment signal module (eg,
명령어는 컴파일러에 의해 만들어지는 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 다양한 실시예에 따른 모듈 또는 프로그램 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 다른 구성요소를 더 포함할 수 있다. 다양한 실시예에 따른, 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.Instructions may include code generated by a compiler or code that can be executed by an interpreter. A module or program module according to various embodiments may include at least one or more of the above-described components, some may be omitted, or may further include other components. According to various embodiments, operations performed by a module, program module, or other component are sequentially, parallel, repetitively or heuristically executed, or at least some operations are executed in a different order, are omitted, or other operations are added. can be
Claims (20)
제 1 통신 모듈;
제 2 통신 모듈; 및
상기 보안 스토리지, 상기 제 1 통신 모듈 및 상기 제 2 통신 모듈에 기능적으로 연결된 적어도 하나의 프로세서를 포함하며,
상기 적어도 하나의 프로세서는
상기 제 1 통신 모듈 또는 상기 제 2 통신 모듈 중 적어도 하나를 이용하여 복수의 토큰 중 하나의 토큰을 포함하는 결제 정보를 외부 전자 장치에 전송하며,
상기 외부 전자 장치로부터 미리 설정된 시간 내에 응답을 수신하였는지 여부를 판단하고,
상기 응답을 수신하지 못하면, 상기 제 1 통신 모듈 또는 상기 제 2 통신 모듈 중 다른 하나를 이용하여 상기 복수의 토큰 중 하나의 토큰을 포함하는 추가 결제 정보를 상기 외부 전자 장치에 전송하도록 설정된 전자 장치.secure storage operable to store at least one token;
a first communication module;
a second communication module; and
at least one processor operatively coupled to the secure storage, the first communication module and the second communication module;
the at least one processor
Transmitting payment information including one token among a plurality of tokens to an external electronic device using at least one of the first communication module and the second communication module,
It is determined whether a response has been received from the external electronic device within a preset time,
If the response is not received, the electronic device is configured to transmit additional payment information including one token among the plurality of tokens to the external electronic device by using the other one of the first communication module or the second communication module.
타임스탬프, 카드의 유효(expiry) 정보, 서비스 코드(service code), 랜덤 번호(random number), 인증 번호(verification number), 버전 정보(version information) 또는 시퀀스 번호(sequence number) 중 적어도 하나를 이용하여 상기 결제 정보를 생성하도록 설정된 전자 장치.The method of claim 1, wherein the processor comprises:
Use at least one of a timestamp, card expiry information, service code, random number, verification number, version information, or sequence number an electronic device set to generate the payment information.
상기 타임스탬프는
프로비저닝 타임(provisioning time), 기준 시간(reference time), 또는 유효 기간(validity period) 중 적어도 하나에 기초하여 생성되는 전자 장치.3. The method of claim 2,
The timestamp is
An electronic device generated based on at least one of a provisioning time, a reference time, and a validity period.
상기 적어도 하나의 토큰은 상기 제 1 통신 모듈과 관련된 제 1 토큰 및 상기 제 2 통신 모듈과 관련된 제 2 토큰을 포함하고,
상기 결제 정보는 상기 제 1 토큰 또는 상기 제 2 토큰 중 적어도 하나를 포함하는 전자 장치.The method of claim 1,
the at least one token comprises a first token associated with the first communication module and a second token associated with the second communication module;
The payment information includes at least one of the first token and the second token.
상기 보안 스토리지는
보안 요소 또는 보안 영역 중 적어도 하나를 포함하는 전자 장치.The method of claim 1,
The secure storage is
An electronic device comprising at least one of a secure element or a secure area.
상기 제 1 통신 모듈은
적어도 하나의 근거리 통신(NFC, Near Field Communication) 모듈을 포함하는 전자 장치.The method of claim 1,
The first communication module is
An electronic device including at least one Near Field Communication (NFC) module.
상기 제 2 통신 모듈은
적어도 하나의 MST(Magnetic Stripe data Transmission) 통신 모듈을 포함하는 전자 장치.The method of claim 1,
The second communication module is
An electronic device comprising at least one Magnetic Stripe Data Transmission (MST) communication module.
상기 적어도 하나의 프로세서는
상기 보안 스토리지 또는 상기 프로세서와 기능적으로 연결된 다른(another) 보안 스토리지 중 적어도 하나에서 타임스탬프를 생성하고,
상기 타임스탬프 및 상기 제 1 통신 모듈 또는 상기 제 2 통신 모듈에 관련된 토큰 중 적어도 하나에 기초하여, 상기 다른 보안 스토리지에서 상기 결제 정보를 생성하도록 설정된 전자 장치.The method of claim 1,
the at least one processor
generate a timestamp in at least one of the secure storage or another secure storage operatively associated with the processor;
an electronic device configured to generate the payment information in the other secure storage based on at least one of the timestamp and a token related to the first communication module or the second communication module.
상기 적어도 하나의 프로세서는
상기 타임스탬프 및 상기 토큰 중 적어도 하나에 기초하여 토큰 크립토그램 (cryptogram)를 생성하도록 설정된 전자 장치.9. The method of claim 8,
the at least one processor
An electronic device configured to generate a token cryptogram based on at least one of the timestamp and the token.
상기 보안 스토리지는
결제 관련 프로그램(payment applet)을 포함하는 전자 장치.The method of claim 1,
The secure storage is
An electronic device including a payment applet.
상기 제 1 통신 모듈 또는 상기 제 2 통신 모듈 중 적어도 하나를 이용하여 복수의 토큰 중 하나의 토큰을 포함하는 결제 정보를 외부 전자 장치에 전송하는 동작;
상기 외부 전자 장치로부터 미리 설정된 시간 내에 응답을 수신하였는지 여부를 판단하는 동작; 및
상기 응답을 수신하지 못하면, 상기 제 1 통신 모듈 또는 상기 제 2 통신 모듈 중 다른 하나를 이용하여 상기 복수의 토큰 중 하나의 토큰을 포함하는 추가 결제 정보를 상기 외부 전자 장치에 전송하는 동작을 포함하는 방법.An electronic device comprising a secure storage configured to store at least one token, a first communication module, a second communication module, and at least one processor operatively connected to the secure storage, the first communication module, and the second communication module. In the payment method,
transmitting payment information including one token among a plurality of tokens to an external electronic device using at least one of the first communication module and the second communication module;
determining whether a response is received from the external electronic device within a preset time; and
if the response is not received, transmitting additional payment information including one token among the plurality of tokens to the external electronic device using the other one of the first communication module or the second communication module Way.
상기 적어도 하나의 토큰 및 타임 스탬프 중 적어도 하나에 기초하여 토큰 크립토그램(cryptogram)을 생성하는 동작을 더 포함하는 방법.12. The method of claim 11,
and generating a token cryptogram based on at least one of the at least one token and a timestamp.
카드의 유효(expiry) 정보, 서비스 코드(service code), 랜덤 번호(random number), 인증 번호(verification number), 버전 정보(version information) 또는 시퀀스 번호(sequence number) 중 적어도 하나를 이용하여 상기 결제 정보를 생성하는 동작을 더 포함하는 방법. 12. The method of claim 11,
The payment using at least one of card validity information, service code, random number, verification number, version information, or sequence number The method further comprising generating the information.
상기 타임 스탬프는
프로비저닝 타임(provisioning time), 기준 시간(reference time), 또는 유효 기간(validity period) 중 적어도 하나에 기초하여 생성되는 방법.13. The method of claim 12,
The timestamp is
A method generated based on at least one of a provisioning time, a reference time, or a validity period.
상기 보안 스토리지는
보안 요소 또는 보안 영역 중 적어도 하나를 포함하는 방법.12. The method of claim 11,
The secure storage is
A method comprising at least one of a secure element or a secure realm.
상기 보안 스토리지 또는 상기 프로세서와 기능적으로 연결된 다른(another) 보안 스토리지 중 적어도 하나에서 타임스탬프를 생성하는 동작; 및
상기 타임스탬프 및 상기 제 1 통신 모듈 또는 상기 제 2 통신 모듈에 관련된 토큰 중 적어도 하나에 기초하여, 상기 다른 보안 스토리지에서 상기 결제 정보를 생성하는 동작을 포함하는 방법.12. The method of claim 11,
generating a timestamp in at least one of the secure storage or another secure storage operatively coupled to the processor; and
and generating the payment information in the other secure storage based on at least one of the timestamp and a token related to the first communication module or the second communication module.
상기 적어도 하나의 토큰은 상기 제 1 통신 모듈과 관련된 제 1 토큰 및 상기 제 2 통신 모듈과 관련된 제 2 토큰을 포함하고,
상기 결제 정보는 상기 제 1 토큰 또는 상기 제 2 토큰 중 적어도 하나를 포함하는 방법.12. The method of claim 11,
the at least one token comprises a first token associated with the first communication module and a second token associated with the second communication module;
The payment information includes at least one of the first token or the second token.
상기 제 1 통신 모듈은
적어도 하나의 근거리 통신(NFC, Near Field Communication) 모듈을 포함하는 방법.12. The method of claim 11,
The first communication module is
A method comprising at least one Near Field Communication (NFC) module.
상기 제 2 통신 모듈은
적어도 하나의 MST(Magnetic Stripe data Transmission) 통신 모듈을 포함하는 방법.12. The method of claim 11,
The second communication module is
A method comprising at least one Magnetic Stripe Data Transmission (MST) communication module.
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP16187868.1A EP3142056A1 (en) | 2015-09-09 | 2016-09-08 | Method and apparatus for performing payment |
EP19170815.5A EP3537362A1 (en) | 2015-09-09 | 2016-09-08 | Method and apparatus for performing payment |
US15/259,609 US10546291B2 (en) | 2015-09-09 | 2016-09-08 | Method and apparatus for performing payment |
PCT/KR2016/010137 WO2017043904A1 (en) | 2015-09-09 | 2016-09-09 | Method and apparatus for performing payment |
CN201610814064.4A CN107067250A (en) | 2015-09-09 | 2016-09-09 | For performing the method and apparatus paid |
US16/750,413 US10803452B2 (en) | 2015-09-09 | 2020-01-23 | Method and apparatus for performing payment |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562216041P | 2015-09-09 | 2015-09-09 | |
US62/216,041 | 2015-09-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170030408A KR20170030408A (en) | 2017-03-17 |
KR102458145B1 true KR102458145B1 (en) | 2022-10-24 |
Family
ID=58502103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150158476A KR102458145B1 (en) | 2015-09-09 | 2015-11-11 | Appratus and method for payment |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102458145B1 (en) |
CN (1) | CN107067250A (en) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180293561A1 (en) * | 2017-04-06 | 2018-10-11 | Peter Muscat | Method And Hand Held Electronic Device For Executing Cashless And Creditless Financial Transactions |
CN107362535B (en) | 2017-07-19 | 2019-04-26 | 腾讯科技(深圳)有限公司 | Target object locking means, device and electronic equipment in scene of game |
EP3659092A1 (en) * | 2017-10-12 | 2020-06-03 | Samsung Electronics Co., Ltd. | Method and apparatus for secure offline payment |
CN108090341A (en) * | 2017-12-15 | 2018-05-29 | 深圳市文鼎创数据科技有限公司 | Java card control method and java card |
CN108737402B (en) * | 2018-05-10 | 2021-04-27 | 北京握奇智能科技有限公司 | Mobile terminal safety protection method and device |
CN108830605B (en) * | 2018-05-28 | 2020-06-23 | 阿里巴巴集团控股有限公司 | Mobile payment method, device and payment system |
CN111712815A (en) * | 2018-08-14 | 2020-09-25 | 华为技术有限公司 | Artificial intelligence AI processing method and AI processing device |
CN109040088B (en) * | 2018-08-16 | 2022-02-25 | 腾讯科技(深圳)有限公司 | Authentication information transmission method, key management client and computer equipment |
WO2020076845A1 (en) * | 2018-10-11 | 2020-04-16 | Visa International Service Association | Tokenized contactless transaction enabled by cloud biometric identification and authentication |
CN114565382A (en) * | 2022-03-01 | 2022-05-31 | 汪泽希 | Transaction account anonymous payment method and system |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101264791B1 (en) * | 2012-12-05 | 2013-05-15 | (주)세이퍼존 | Security certification and storage combined device having wireless communication function |
WO2015025282A2 (en) * | 2013-08-21 | 2015-02-26 | Visa International Service Association | Methods and systems for transferring electronic money |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831734A (en) * | 2011-06-15 | 2012-12-19 | 上海博路信息技术有限公司 | Payment method of mobile terminal client |
CN102243739A (en) * | 2011-07-04 | 2011-11-16 | 中国建设银行股份有限公司 | Mobile-phone bank payment method, mobile-phone bank payment system and mobile-phone bank client based on two-dimension code |
US8690059B1 (en) * | 2013-01-20 | 2014-04-08 | George Wallner | System and method for a baseband nearfield magnetic stripe data transmitter |
KR101613194B1 (en) * | 2013-11-15 | 2016-04-19 | 주식회사 스마비스 | Method of providing linkage-type on-line card-related services between card payment processing system and smart payment system using a hybrid smart-card which having both legacy interface and short-range wireless interface, and computer-readable recording medium for the same |
JP6296598B2 (en) * | 2013-11-26 | 2018-03-20 | エムイービー株式会社 | Integrated communication system |
-
2015
- 2015-11-11 KR KR1020150158476A patent/KR102458145B1/en active IP Right Grant
-
2016
- 2016-09-09 CN CN201610814064.4A patent/CN107067250A/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101264791B1 (en) * | 2012-12-05 | 2013-05-15 | (주)세이퍼존 | Security certification and storage combined device having wireless communication function |
WO2015025282A2 (en) * | 2013-08-21 | 2015-02-26 | Visa International Service Association | Methods and systems for transferring electronic money |
Also Published As
Publication number | Publication date |
---|---|
CN107067250A (en) | 2017-08-18 |
KR20170030408A (en) | 2017-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10803452B2 (en) | Method and apparatus for performing payment | |
KR102577054B1 (en) | Electronic device providing electronic payment function and operating method thereof | |
EP3262582B1 (en) | Electronic device providing electronic payment function and operating method thereof | |
KR102530888B1 (en) | Electronic device and method for payment transaction | |
CN107408251B (en) | Electronic device providing electronic payment function and method of operating the same | |
KR102458145B1 (en) | Appratus and method for payment | |
KR102461042B1 (en) | Payment processing method and electronic device supporting the same | |
US20170061419A1 (en) | Payment information processing method and apparatus of electronic device | |
US20160253669A1 (en) | Method for providing payment service and electronic device thereof | |
EP3057047B1 (en) | Electronic device or payment processing method | |
US20170083882A1 (en) | Secure payment method and electronic device adapted thereto | |
EP3244357A1 (en) | Electronic apparatus providing electronic payment and operating method thereof | |
KR102586443B1 (en) | Electronic device for providing electronic payment and method thereof | |
KR101775667B1 (en) | Payment system, electronic device and payment method thereof | |
KR102646892B1 (en) | Method for performing payment and electronic device supporting the same | |
EP3262586B1 (en) | Payment means operation supporting method and electronic device for supporting the same | |
KR20170102696A (en) | Method for providing electronic payment function and electronic device supporting the same | |
KR20170026060A (en) | Apparatus and method for processing payment information of electronic device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |