KR20220012634A - 전자 장치 및 전자 장치에서의 온라인 인증을 통한 모바일 결제 수행 방법 - Google Patents

전자 장치 및 전자 장치에서의 온라인 인증을 통한 모바일 결제 수행 방법 Download PDF

Info

Publication number
KR20220012634A
KR20220012634A KR1020200091645A KR20200091645A KR20220012634A KR 20220012634 A KR20220012634 A KR 20220012634A KR 1020200091645 A KR1020200091645 A KR 1020200091645A KR 20200091645 A KR20200091645 A KR 20200091645A KR 20220012634 A KR20220012634 A KR 20220012634A
Authority
KR
South Korea
Prior art keywords
authentication
payment
module
electronic device
server
Prior art date
Application number
KR1020200091645A
Other languages
English (en)
Inventor
김인호
이용완
제성민
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020200091645A priority Critical patent/KR20220012634A/ko
Priority to PCT/KR2021/006400 priority patent/WO2022019459A1/ko
Publication of KR20220012634A publication Critical patent/KR20220012634A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • G06F21/335User authentication using certificates for accessing specific resources, e.g. using Kerberos tickets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/322Aspects of commerce using mobile devices [M-devices]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4012Verifying personal identification numbers [PIN]

Landscapes

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

Abstract

본 문서의 다양한 실시 예에 따른, 전자 장치 및 전자 장치에서의 모바일 결제 수행 방법은, 통신 모듈; 적어도 하나의 프로세서; 및 메모리;를 포함하고, 상기 메모리는, 실행 시에, 상기 프로세서가, 결제 요청에 따라, 사용자로부터 인증과 관련된 정보를 수신하고, 상기 수신된 인증과 관련된 정보에 기반하여, 인증 서버로 인증을 요청하고, 상기 인증 요청에 상응하여, 상기 인증 서버로부터 인증된 세션과 관련된 정보를 수신하고, 상기 인증된 세션과 관련된 정보를 포함하는 결제 데이터를 생성하고, 상기 생성된 결제 데이터를 상기 통신 모듈을 통해 결제 장치로 전송하도록 하는 인스트럭션들을 저장할 수 있다. 그 외 다양한 실시 예가 가능할 수 있다.

Description

전자 장치 및 전자 장치에서의 온라인 인증을 통한 모바일 결제 수행 방법{ELECTRONIC DEVICE AND METHOD FOR PROCESSING MOBILE PAYMENT USING ONLINE AUTHENTIFICATION IN ELECTRONIC DEVICE}
본 문서의 다양한 실시 예는, 전자 장치 및 전자 장치에서 온라인 인증 방식을 적용하여 모바일 결제를 수행하는 방법에 관한 것이다.
결제는 상품의 구매나 소비에 따른 결제 금액을 상점의 결제 장치(예, POS(point of sales) 단말기)로 입력하고, 결제 수단(예: 사용자의 신용카드)을 인증하여 결제를 요청할 수 있다. 해당 결제 정보는 결제 장치와 연결된 부가 가치 통신망(value added network: VAN)을 통해 은행 또는 카드 회사의 서버(예, 발행 서버(issuer))로 전달될 수 있다. 해당 결제 금액은 상기 카드 회사(혹은 은행)의 서버에서 승인 처리된 후에 VAN을 통해 결제 장치로 전달되고, 상기 결제 장치를 통한 2차 사용자 인증(예: 서명 또는 PIN(personal identification number) 입력)이 상기 서버로 전달되어 최종적으로 결제가 완료될 수 있다.
무선 결제 시스템이 상용화됨에 따라 다양한 지불 방식이 이용되고 있다. 예를 들어, 사용자가 신용카드를 리더기에 인식시키는 대신 전자 장치에 신용카드 정보를 미리 등록하고, 상기 신용카드 정보가 등록된 전자 장치를 통해 결제 금액 및 결제 수단에 대한 정보를 포함하는 결제 데이터를 결제 장치로 전송하여 결제가 이루어질 수 있다. 예를 들어, 전자 장치는 모바일 결제 서비스(mobile payment service)를 이용하여, 온라인 또는 오프라인 상에서 이루어지는 구매에 대해 결제 기능을 제공할 수 있다. 또한 모바일 결제 시 사용자의 생체 정보를 인증하여 결제를 확정하는 방식으로 보안성을 높이면서도 간단한 절차를 통해 결제가 이루어지므로, 전자 장치를 이용한 결제 방식이 많이 이용되고 있는 추세이다.
기존의 결제 규격(예, EMV(europay, mastercard, and visa) 결제 규격)에 따른 모바일 결제 서비스에서는, 각 결제 단계에서 인증 수단의 결과 값을 결제 장치 또는 외부 서버로 전달하는 경우, 인터셉션(interception) 공격 또는 스푸핑(spoofing) 공격에 의해, 사용자 인증 정보(예, CDCVM(consumer device cardholder verification method))가 노출되어 보안성이 취약할 수 있다.
본 문서의 다양한 실시 예에 따르면, 결제 규격에 정의된 단계에 따라 결제를 진행할 때 온라인 인증에 대한 정보를 교환하여, 각 결제 단계와 온라인 인증 수단에 대한 연결성을 확보하고, 결제 서비스에서의 보안 레벨을 향상시킬 수 있다.
본 문서의 다양한 실시 예에 따른 전자 장치는, 통신 모듈; 적어도 하나의 프로세서; 및 메모리;를 포함하고, 상기 메모리는, 실행 시에, 상기 프로세서가, 결제 요청에 따라, 사용자로부터 인증과 관련된 정보를 수신하고, 상기 수신된 인증과 관련된 정보에 기반하여, 인증 서버로 인증을 요청하고, 상기 인증 요청에 상응하여, 상기 인증 서버로부터 인증된 세션과 관련된 정보를 수신하고, 상기 인증된 세션과 관련된 정보를 포함하는 결제 데이터를 생성하고, 상기 생성된 결제 데이터를 상기 통신 모듈을 통해 결제 장치로 전송하도록 하는 인스트럭션들(instructions)을 저장할 수 있다.
본 문서의 다양한 실시 예에 따른 전자 장치에서의 모바일 결제 수행 방법은, 결제 요청에 따라, 사용자로부터 인증과 관련된 정보를 수신하는 동작; 상기 수신된 인증과 관련된 정보에 기반하여, 인증 서버로 인증을 요청하는 동작; 상기 인증 요청에 상응하여, 상기 인증 서버로부터 인증된 세션과 관련된 정보를 수신하는 동작; 상기 인증된 세션과 관련된 정보를 포함하는 결제 데이터를 생성하는 동작; 및 상기 생성된 결제 데이터를 상기 통신 모듈을 통해 결제 장치로 전송하는 동작; 을 포함할 수 있다.
본 문서의 다양한 실시 예에 따라, IC(integrated circuit) 카드 결제 규격에 모바일 인증 방식을 연계하여, 모바일 인증과 결제 서비스 간의 보안성을 향상시킬 수 있다. 또한, 기존의 결제 규격의 데이터를 활용하여 모바일 인증을 수행함에 따라 결제 장치와의 호환성을 유지할 수 있다.
도 1은 본 문서의 다양한 실시 예에 따른 네트워크 환경 내의 전자 장치의 블럭도이다.
도 2는 본 문서의 다양한 실시 예에 따른 결제 시스템 구성의 일 예를 도시한 도면이다.
도 3은 본 문서의 다양한 실시 예에 따른 결제 시스템에서 인증과 결제를 수행하는 동작의 일 예를 도시한 도면이다.
도 4는 본 문서의 다양한 실시 예에 따른 전자 장치 구성의 일 예를 도시한 블럭도이다.
도 5는 본 문서의 다양한 실시 예에 따라, 전자 장치에서 온라인 인증을 통한 모바일 결제를 수행하는 동작의 일 예를 도시한 흐름도이다.
도 6은 본 문서의 다양한 실시 예에 따라, 결제 수행을 위해 토큰을 발급받는 동작의 일 예를 도시한 흐름도이다.
도 7은 본 문서의 다양한 실시 예에 따라, 전자 장치에서 인증 세션 정보를 이용하여 결제를 수행하는 동작의 일 예를 도시한 흐름도 이다.
도 8은 본 문서의 다양한 실시 예에 따라, 결제에 대한 온라인 인증을 수행하는 동작의 일 예를 도시한 흐름도이다.
도 9는 본 문서의 다양한 실시 예에 따라, 결제에 대한 PIN 인증을 수행하는 동작의 일 예를 도시한 흐름도이다.
도 10은 본 문서의 다양한 실시 예에 따른 TA 기반의 생체 인증 시스템에 관한 것이다.
도 11a는 본 문서의 다양한 실시 예에 따른 전자 장치에서 운용되는 일반 실행 환경과 보안 실행 환경을 도시하는 블록도이다.
도 11b는 본 문서의 다양한 실시 예에 따른 TEE 구조의 일 예를 도시한 블록도이다.
도 11c는 본 문서의 다양한 실시 예에 따른 TEE 구조의 일 예를 도시한 블록도이다.
도 11d는 본 문서의 다양한 실시 예에 따른 TEE 구조의 일 예를 도시한 블록도이다.
도 12는 본 문서의 다양한 실시 예에 따른, 전자 장치에서 ICC와 데이터를 교환하는 동작의 일 예를 도시한 흐름도이다.
이하, 본 문서의 다양한 실시 예들이 첨부된 도면을 참조하여 기재된다. 실시 예 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B" 또는 "A 또는 B 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1," "제 2," "첫째," 또는 "둘째,"등의 표현들은 해당 구성요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제 3 구성요소)를 통하여 연결될 수 있다.
본 문서에서, "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, 하드웨어적 또는 소프트웨어적으로 "~에 적합한," "~하는 능력을 가지는," "~하도록 변경된," "~하도록 만들어진," "~를 할 수 있는," 또는 "~하도록 설계된"과 상호 호환적으로(interchangeably) 사용될 수 있다. 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(예: CPU 또는 application processor)를 의미할 수 있다.
본 문서의 다양한 실시 예들에 따른 전자 장치는, 예를 들면, 스마트폰, 태블릿 PC, 이동 전화기, 영상 전화기, 전자책 리더기, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 워크스테이션, 서버, PDA, PMP(portable multimedia player), MP3 플레이어, 의료기기, 카메라, 또는 웨어러블 장치 중 적어도 하나를 포함할 수 있다. 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드 또는 문신), 또는 생체 이식형 회로 중 적어도 하나를 포함할 수 있다. 어떤 실시 예들에서, 전자 장치는, 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스, 홈 오토매이션 컨트롤 패널, 보안 컨트롤 패널, 미디어 박스(예: 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 게임 콘솔(예: XboxTM, PlayStationTM), 전자 사전, 전자 키, 캠코더, 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시 예에서, 전자 장치는, 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 또는 초음파기 등), 네비게이션 장치, 위성 항법 시스템(GNSS(global navigation satellite system)), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛(head unit), 산업용 또는 가정용 로봇, 드론(drone), 금융 기관의 ATM, 상점의 POS(point of sales), 또는 사물 인터넷 장치 (예: 전구, 각종 센서, 스프링클러 장치, 화재 경보기, 온도조절기, 가로등, 토스터, 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다. 어떤 실시 예에 따르면, 전자 장치는 가구, 건물/구조물 또는 자동차의 일부, 전자 보드(electronic board), 전자 사인 수신 장치(electronic signature receiving device), 프로젝터, 또는 각종 계측 기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에서, 전자 장치는 플렉서블하거나, 또는 전술한 다양한 장치들 중 둘 이상의 조합일 수 있다. 본 문서의 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다. 본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
이하, 첨부 도면을 참조하여, 본 문서의 다양한 실시 예에 따른 전자 장치 및 서비스 디스커버리하는 전자 장치 및 방법이 설명된다. 본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
도 1은, 다양한 실시 예에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블럭도이다.
도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 모듈(150), 음향 출력 모듈(155), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 연결 단자(178), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(178))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(176), 카메라 모듈(180), 또는 안테나 모듈(197))은 하나의 구성요소(예: 디스플레이 모듈(160))로 통합될 수 있다.
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 저장하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(101)가 메인 프로세서(121) 및 보조 프로세서(123)를 포함하는 경우, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능이 수행되는 전자 장치(101) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(108))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서 모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 모듈(150)은, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(150)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다.
음향 출력 모듈(155)은 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 모듈(155)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
디스플레이 모듈(160)은 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 디스플레이 모듈(160)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일실시예에 따르면, 오디오 모듈(170)은, 입력 모듈(150)을 통해 소리를 획득하거나, 음향 출력 모듈(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일실시예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(104)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 또는 인증할 수 있다.
무선 통신 모듈(192)은 4G 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 전송(eMBB(enhanced mobile broadband)), 단말 전력 최소화와 다수 단말의 접속(mMTC(massive machine type communications)), 또는 고신뢰도와 저지연(URLLC(ultra-reliable and low-latency communications))을 지원할 수 있다. 무선 통신 모듈(192)은, 예를 들어, 높은 데이터 전송률 달성을 위해, 고주파 대역(예: mmWave 대역)을 지원할 수 있다. 무선 통신 모듈(192)은 전자 장치(101), 외부 전자 장치(예: 전자 장치(104)) 또는 네트워크 시스템(예: 제 2 네트워크(199))에 규정되는 다양한 요구사항을 지원할 수 있다. 일실시예에 따르면, 무선 통신 모듈(192)은 eMBB 실현을 위한 Peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 Coverage(예: 164dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 1ms 이하)를 지원할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부의 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 안테나를 포함할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다. 이런 경우, 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부의 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC(radio frequency integrated circuit))이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.
다양한 실시예에 따르면, 안테나 모듈(197)은 mmWave 안테나 모듈을 형성할 수 있다. 일실시예에 따르면, mmWave 안테나 모듈은 인쇄 회로 기판, 상기 인쇄 회로 기판의 제 1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 상기 인쇄 회로 기판의 제 2 면(예: 윗 면 또는 측 면)에 또는 그에 인접하여 배치되고 상기 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 외부의 전자 장치(102, 또는 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부의 전자 장치들(102, 104, 또는 108) 중 하나 이상의 외부의 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부의 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부의 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 모바일 에지 컴퓨팅(MEC: mobile edge computing), 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. 전자 장치(101)는, 예를 들어, 분산 컴퓨팅 또는 모바일 에지 컴퓨팅을 이용하여 초저지연 서비스를 제공할 수 있다. 다른 실시예에 있어서, 외부의 전자 장치(104)는 IoT(internet of things) 기기를 포함할 수 있다. 서버(108)는 기계 학습 및/또는 신경망을 이용한 지능형 서버일 수 있다. 일실시예에 따르면, 외부의 전자 장치(104) 또는 서버(108)는 제 2 네트워크(199) 내에 포함될 수 있다. 전자 장치(101)는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.
도 2는 본 문서의 다양한 실시 예에 따른 결제 시스템 구성의 일 예를 도시한 도면이다.
도 2를 참조하면, 결제 시스템(200)은 전자 장치(101), 인증 서버(201), 발행 서버(issuer)(202) 및/또는 결제 장치(203)를 포함할 수 있다.
본 문서의 다양한 실시 예에 따른 전자 장치(101)는 결제 어플리케이션(예: 삼성 페이 어플리케이션(Samsung payTM application))을 이용하여 결제 서비스를 제공할 수 있다. 상기 결제 어플리케이션은 결제와 관련된 사용자 인터페이스를 제공할 수 있다. 예를 들어, 결제 어플리케이션은 카드 등록(card registration), 지불(payment), 또는 거래와 관련된 사용자 인터페이스를 제공할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 결제 어플리케이션은, 신원 확인(ID&V, identification and verification)을 통한 사용자 인증과 관련된 인터페이스를 제공할 수 있다. 예컨대, 전자 장치(101)는 사용자의 결제 요청을 확인하면, 결제 요청에 대한 사용자 인증을 수행하고, 사용자 인증 수행 결과에 따른 인증 세션 정보를 결제 데이터에 포함하여 결제 장치(203)로 전송하도록 할 수 있다.
일 실시 예에 따르면, 전자 장치(201)는 결제 서비스 계정(예: samsung account), 생체 인증 서비스 계정 및 사용자 계정과 연동된 카드 정보(또는, 계좌 정보)를 저장할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 생체 인증 과정을 통해 사용자 인증을 수행할 수 있다. 전자 장치(101)는 사용자로부터 결제 요청이 입력되면 인증 서버(201)를 통해 생체 인증을 수행할 수 있다. 예컨대, 인증 서버(201)를 통한 생체 인증이 완료되면 전자 장치(101)는 인증 서버(201)로부터 세션 값을 포함하는 인증 세션 정보를 수신할 수 있다.
본 문서의 다양한 실시 예에 따르면, 인증 서버(201)는 전자 장치(101)의 요청에 따라 사용자 인증을 수행할 수 있다. 예컨대, 인증 서버(201)는 사용자의 생체 정보를 이용하여 사용자 인증을 수행하는 FIDO(fast identity online) 인증 서비스를 제공할 수 있다. 일 실시 예에 따르면, FIDO 인증 서비스를 제공하는 인증 서버(201)를 FIDO 서버라고 칭할 수 있다.
본 문서의 다양한 실시 예에 따르면, 인증 서버(201)는 전자 장치(101)로부터 FIDO 표준 스펙에 정의된 'AuthentificationRequest' 메시지를 통한 사용자 인증 요청을 수신할 수 있다. 상기 인증 서버(201)는 상기 요청에 포함된 사용자 인증 정보를 검증하여 해당 사용자에 대한 인증을 수행할 수 있다. 예컨대, 상기 사용자 인증의 수행 결과는 인증 세션 정보를 포함하는 'HolderAuthSession' 메시지를 이용하여 전자 장치(101)로 전송될 수 있다.
본 문서의 다양한 실시 예에 따른 인증 서버(201)는 인증 세션 정보에 대한 유효성을 판단할 수 있다. 예컨대, 발행 서버(202)로부터 인증 세션 정보에 대한 유효성 확인 요청에 상응하여, 해당 인증 세션 정보가 특정 결제 데이터에 대해 상기 인증 서버(201)에서 검증된 사용자 인증 정보에 관한 것인지를 판단할 수 있다.
본 문서의 다양한 실시 예에 따른 발행 서버(202)는 카드사 또는 은행의 서버로서, 신용카드를 발급하고 카드 정보 또는 계좌 정보를 관리할 수 있다. 예컨대, 발행 서버(202)는 결제 장치(203)로부터 결제 데이터를 수신하고, 상기 결제 데이터에 대한 결제 승인 여부를 결정할 수 있다. 발행 서버(202)는 상기 결제 데이터에 포함된 인증 세션 정보가 유효한지를 판단하여 최종적인 결제 승인 여부를 결정할 수 있다.
본 문서의 다양한 실시 예에 따른 결제 장치(예: POS(point of sales))(203)는 전자 장치(101)로부터 결제 데이터를 수신할 수 있다. 전자 장치(101)는 근거리 무선 통신 회로를 통해 결제 장치(203)로 결제 데이터를 전송할 수 있다. 또한, 전자 장치(101)는 MST(magnetic secure transmission) 통신 또는 NFC(near field communication) 통신과 같은 다양한 근거리 통신 방식을 통해 결제 데이터를 상기 결제 장치(203)로 전송할 수 있다. 이에 대응하여 상기 결제 장치(203)는 수신한 결제 데이터를 발행 서버(202)로 전송하고, 결제에 대한 승인을 획득하여 결제 거래를 완료할 수 있다.
본 문서의 다양한 실시 예에 따르면, 결제 장치(203)는 상기 결제 장치(203)에서 지원 가능한 사용자 인증 방식에 대한 정보를 전자 장치(101)로 전송하여 전자 장치(101)에서 결제 장치(203)가 지원하는 사용자 인증 방식에 따라 사용자 인증을 수행하도록 할 수 있다. 예를 들면, 사용자 인증 방식은 로컬 인증 방식, 신뢰 어플리케이션(TA, trusted application) 인증 방식, FIDO 인증 방식 중 적어도 하나를 포함할 수 있다. 일 실시 예에 따른, 전자 장치(101)는 전자 장치(201)의 위치를 확인하고, 확인된 위치를 기반으로 체류 국가를 확인할 수 있다. 일 실시 예에 따르면, 전자 장치(101)는 사용자 인증 방식들 중 체류 국가에 대응하는 인증 방식으로 결제를 수행할 수 있다.
본 문서의 다양한 실시 예에 따르면, 결제 장치(203)는 발행 서버(202)로부터 결제 데이터에 대한 승인 결과를 수신하여 전자 장치(101) 또는 결제 장치(203)에서 출력할 수 있다. 예컨대, 상기 승인 결과는 해당 결제 데이터에 포함된 인증 세션 정보에 대한 유효성 확인 결과에 따라, 결제 승인 또는 결제 거절을 나타낼 수 있다.
도 3은 본 문서의 다양한 실시 예에 따른 결제 시스템에서 인증과 결제를 수행하는 동작의 일 예를 도시한 도면이다.
도 3을 참조하면, 전자 장치(101)는 사용자에 의한 결제 요청이 확인됨에 따라 인증 서버(201)로 생체 인증(예, FIDO 인증) 또는 PIN 인증을 요청할 수 있다. 다양한 실시예에 따라, 상기 전자 장치(101)는 발행 서버(202)로 온라인 인증 또는 PIN 인증을 요청할 수도 있다. 후술하는 설명에서는, 전자 장치(101)가 인증 서버(201)를 통해 인증을 수행하는 방식에 대해 설명하나, 발행 서버(202)를 통해 인증을 수행하는 방식에도 동일하게 적용될 수 있다.
310 동작에서 전자 장치(101)는 인증 서버(201)로 결제 요청에 대한 사용자 인증을 요청할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 인증 서버(201)는 상기 요청에 따라 사용자를 인증하고, 312 동작에서 인증 결과로서 인증 세션 정보(예컨대, holerAuthSession)을 상기 전자 장치(101)로 전송할 수 있다.
결제 장치(203)를 통해 결제 관련 정보(예컨대, 결제 금액)가 입력되고 상기 결제 장치(203)가 상기 전자 장치(101)를 인식하면, 320 동작에서 결제 장치(203)는 전자 장치(101)로 오프라인 인증 방식에 대한 정보를 전송할 수 있다. 예컨대, 상기 오프라인 인증 방식에 대한 정보는 상기 결제 장치(203)에서 지원하는 인증 방식에 대한 정보로서, SDA(static data authentication), DDA(dynamic data authentication), CDA(combined DDA/application cryptogram generation), 또는 MDA(mobile authentication data) 방식을 포함할 수 있다. 상기 SDA, DDA, CDA, 또는 MDA 방식에 대한 상세한 설명은 후술하기로 한다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 결제 장치(203)로부터 상기 결제 장치(203)에서 지원하는 오프라인 인증 방식을 수신함에 따라 상기 인증 서버(201)를 통해 수신한 인증 세션 정보(예, HolderAuthSession)를 확인할 수 있다.
330 동작에서 전자 장치(101)는 결제 장치(203)로 각 오프라인 데이터 인증 방식(예컨대, SDA, DDA, CDA, MDA)에 따라 인증 세션 정보(예, HolderAuthSession)를 전송할 수 있다. 예컨대, 상기 전자 장치(101)는 상기 오프라인 데이터 인증 방식(예컨대, SDA, DDA, CDA, MDA)에 따라 정의된 메시지에 상기 인증 서버(201)로부터 수신된 인증 세션 정보를 포함하여 상기 결제 장치(203)로 전송할 수 있다.
340 동작에서 전자 장치(101)와 결제 장치(203)는 ARQC(authorization request cryptogram)의 필요 여부를 확인하고, 전자 장치(101)가 결제 장치(203)로 인증 세션의 정보를 전송할 수 있다. 예컨대, 결제 장치(203)에서는 전자 장치(101)로 ARQC의 필요 여부에 대한 확인을 요청하고, 전자 장치(101)는 ARQC의 필요 여부를 확인하여 결제 장치(203)로 전송할 수 있다. 일 실시 예에 따라, 전자 장치(101)는 상기 ARQC가 필요한 것으로 판단되면, ARQC의 필요 여부를 나타내는 정보와 함께 인증 세션의 정보를 결제 장치(203)로 전송할 수 있다.
본 문서의 다양한 실시 예에 따라, 상기 결제 장치(203)는 오프라인 인증에 따라 결제를 완료할 수도 있으며, 추가로 온라인 인증이 필요하다고 판단될 경우(예컨대, 결제 금액 초과, 결제 횟수 초과 또는 설정된 시간 주기), 발행 서버(202) 및 또는 인증 서버(201)를 통해 온라인 인증을 수행할 수 있다. 예컨대, 350 동작에서 결제 장치(203)는 발행 서버(202)로 상기 전자 장치(101)를 통해 수신된 인증 세션 정보를 포함하는 결제 데이터를 전송할 수 있다.
360 동작에서 발행 서버(202)는 인증 서버(201)로 상기 결제 장치(203)로부터 수신된 결제 데이터에 포함된 인증 세션 정보에 대한 유효성 확인을 요청할 수 있다.
본 문서의 다양한 실시 예에 따르면, 인증 서버(201)는 상기 인증 세션 정보에 대한 유효성을 확인하고, 362 동작에서 유효성 확인 결과를 발행 서버(202)로 전송할 수 있다.
본 문서의 다양한 실시 예에 따르면, 발행 서버(202)에서는 상기 인증 세션 정보에 대한 유효성 확인 결과에 따라, 결제 데이터에 대한 최종 승인 여부를 결정할 수 있다. 예컨대, 352 동작에서 발행 서버(202)는 인증 세션 정보의 유효성 확인 결과에 따라 결정된 결제 데이터의 최종 승인 결과를 결제 장치(203)로 전송할 수 있다.
본 문서의 다양한 실시 예에 따르면, 결제 장치(203)는 발행 서버(202)로부터 결제 데이터에 대한 최종 승인 결과를 수신하여 전자 장치(101) 또는 결제 장치(203)에 출력할 수 있다. 예컨대, 상기 승인 결과는 해당 결제 데이터에 포함된 인증 세션 정보에 대한 유효성 확인 결과에 따라, 결제 승인 또는 결제 거절을 나타낼 수 있다.
본 문서의 다양한 실시 예에 따라, 결제 장치(203)는 상기 330 동작에 따라 전자 장치(101)로부터 인증 세션 정보를 수신함에 따라 오프라인 결제 절차를 완료할 수 있다.
다양한 실시 예에 따라, 결제 장치(203)는 지정된 조건을 만족하면(예컨대, 결제 금액이 지정된 금액을 초과하는 경우, 결제 요청 횟수가 지정된 횟수를 초과하는 경우, 설정된 시간 주기 마다), 상기 발행 서버(202) 및/또는 인증 서버(201)를 통해 상기 350 동작 및 360 동작에 따른 온라인 인증을 추가로 수행할 수 있다.
도 4는 본 문서의 다양한 실시 예에 따른 전자 장치 구성의 일 예를 도시한 블럭도이다.
도 4를 참조하면, 전자 장치(101)는 프로세서(120), 메모리(130), 통신 모듈(190), 결제 모듈(410), 및/또는 인증 모듈(420)을 포함할 수 있다.
본 문서의 다양한 실시 예에 따른 프로세서(120)는 전자 장치(101)의 전반적인 동작을 수행할 수 있다.
본 문서의 다양한 실시 예에 따른 전자 장치(101)는, 통신 모듈(190), 적어도 하나의 프로세서(120) 및 메모리(130)를 포함하고, 상기 메모리(130)는, 실행 시에, 상기 프로세서(120)가, 결제 요청에 따라, 사용자로부터 인증과 관련된 정보를 수신하고, 상기 수신된 인증과 관련된 정보에 기반하여, 인증 서버(201)로 인증을 요청하고, 상기 인증 요청에 상응하여, 상기 인증 서버(201)로부터 인증된 세션과 관련된 정보를 수신하고, 상기 인증된 세션과 관련된 정보를 포함하는 결제 데이터를 생성하고, 상기 생성된 결제 데이터를 상기 통신 모듈(190)을 통해 결제 장치(203)로 전송하도록 하는 인스트럭션들(instructions)을 저장할 수 있다.
본 문서의 다양한 실시 예에 따른 상기 인증된 세션과 관련된 정보는, 상기 인증 서버(201)와의 인증 세션의 값을 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 인스트럭션들은 상기 프로세서(120)가, 상기 결제 장치(203)를 통해 발행 서버(202)로의 상기 결제 데이터에 대한 결제 승인 결과를 수신하도록 하며, 상기 결제 승인 결과는 상기 발행 서버(202)에 의해 상기 인증된 세션과 관련된 정보가 유효한지 여부에 기반하여 결정될 수 있다.
본 문서의 다양한 실시 예에 따른 전자 장치(101)는 결제 모듈(410)을 더 포함하며, 상기 인스트럭션들은 상기 프로세서(120)가, 상기 결제 요청에 대응하여 상기 결제 모듈(410)과 상기 인증 서버(201)와의 인증을 수행하고, 상기 결제 모듈(410)과 상기 인증 서버(201)와의 인증 결과에 따라 미리 저장된 결제 토큰을 확인하거나 상기 결제 모듈(410)을 통해 발행 서버(202)로부터 일회성으로 사용할 수 있는 결제 토큰을 발급받도록 할 수 있다. 예를 들어, 프로세서(120)는 발행 서버(202)로부터 결제 토큰을 발급받아 저장하도록 할 수 있다. 일 실시 예에 따르면, 결제 토큰은 결제 요청에 대해 일회성으로 사용할 수 있는 토큰 및 전자 장치(101)에 저장할 수 있는 복수 개의 토큰을 포함할 수 있다. 일 실시 예에 따르면, 전자 장치(101)에 저장되는 복수 개의 토큰은 일회용일 수 있다. 일회용 토큰 방식 또는 저장 토큰 방식 모두 일회용일 경우에는 한 번 결제 후에는 토큰이 삭제될 수 있다. 따라서 복수 개의 토큰이 소진됨에 따라 지정된 개수 이하로 남은 경우에는 전자 장치(101)는 추가로 토큰을 발행 서버(202)에 요청하여 이를 제공받아 미리 저장해놓을 수 있다. 일 실시 예에 따르면, 상기 전자 장치(101)에 저장되는 복수 개의 토큰에 대해 유효 기간이 지정된 경우에는 상기 유효 기간 이내에서 지속적으로 반복하여 사용할 수 있다.
본 문서의 다양한 실시 예에 따른 전자 장치(101)는 생체 모듈(430)을 더 포함하며, 상기 인스트럭션들은 상기 프로세서(120)가, 상기 결제 모듈(410)과 상기 생체 모듈(430) 간의 제1 난수(nonce, 임시 값)를 발급하여, 상기 결제 모듈(410)의 토큰 TA(412)과 상기 생체 모듈(430)의 생체 TA(431)(또는 PIN 인증 모듈(422)의 PIN TA(422a)) 간의 인증을 수행하고, 상기 인증된 생체 모듈(430)을 통해 상기 사용자로부터 생체 정보가 입력됨을 확인하고, 상기 인증 서버(201)로부터 상기 생체 정보에 대한 인증 결과에 따른 상기 인증된 세션과 관련된 정보를 수신하도록 할 수 있다. 예컨대, 생체 정보는 지문 정보, 홍채 정보, 얼굴 정보, 정맥 정보 및/또는 음성 정보를 포함할 수 있다. 도 3에서는 생체 정보를 사용하는 것으로 예시하고 있으나, 생체 정보 대신 인증 정보가 사용될 수 있다. 예컨대, 인증 정보는, 지정된 패턴 입력, 지정된 제스처 입력 또는 비밀번호일 수 있다.
본 문서의 다양한 실시 예에 따른 전자 장치(101)는 PIN 인증 모듈(422)을 더 포함하며, 상기 인스트럭션들은 상기 프로세서(120)가, 상기 결제 요청에 대응하여, 상기 결제 모듈(410)과 상기 PIN 인증 모듈(422) 간의 난수를 발급하여 상기 결제 모듈(410)과 상기 PIN 인증 모듈(422) 간의 인증을 수행하고, 상기 인증된 PIN 인증 모듈(422)을 통해 상기 사용자로부터 입력되는 PIN 입력을 인증하고, 상기 PIN 입력의 인증 결과에 따른 상기 인증된 세션과 관련된 정보를 확인하도록 할 수 있다.
본 문서의 다양한 실시 예에 따른 상기 인스트럭션들은 상기 프로세서(120)가, 상기 결제 모듈(410)을 통해, 상기 사용자 인증의 방식(예컨대, 로컬 인증 방식, TA 인증 방식 또는 FIDO 인증 방식)과 관련된 정보를 포함하는 어플리케이션 데이터를 상기 결제 장치(203)와 교환하도록 할 수 있다.
본 문서의 다양한 실시 예에 따른 상기 인스트럭션들은 상기 프로세서(120)가, 상기 어플리케이션 데이터에 상기 사용자에 대한 인증 방식에 대한 정보를 포함하여 상기 결제 장치(203)로 전송하도록 할 수 있다.
본 문서의 다양한 실시 예에 따른 결제 모듈(410)은 ICC(integrated circuit card)(411) 및 토큰 TA(412)를 포함할 수 있다. 일 실시 예에 따르면, ICC(411)는 어플리케이션, 어플리케이션의 SDK(software development kit), 어플리케이션 내의 특정 모듈 또는 결제 회로를 포함할 수 있다. 일 실시 예에 따르면, 토큰 TA(412)는 상대적으로 높은 보안 레벨이 요구되는 보안 영역에서 수행될 수 있는 토큰 어플리케이션일 수 있다. 상기 결제 모듈(410)은 ICC(411)로 전원을 인가하여 상기 ICC(411)를 통해 결제 장치(203)와 PKI(public key infrastructure) 기반의 오프라인 데이터 인증을 수행할 수 있다. 예컨대, 상기 오프라인 데이터 인증은 ICC(411)를 이용한 오프라인 결제에서 사용자를 인증하는 것으로, 사용자 인증에 따른 인증 세션의 정보가 전자 장치(101), 결제 장치(203)로 전송되어 결제 승인 여부를 결정할 수 있다.
본 문서의 다양한 실시 예에 따라, 결제 모듈(410)은 결제 규격에 따라 PKI 기반의 서명 인증이 수행될 때, 인증의 대상이 되는 데이터가 동적 혹은 정적인지에 따라 SDA(static data authentication), DDA(dynamic data authentication) 혹은 CDA(combined DDA/application cryptogram generation) 방식의 오프라인 데이터 인증을 수행할 수 있다. 예컨대, 결제 모듈(410)은 ICC(411)를 통해 확인된 결제 수단에 대한 유효기간 또는 키 정보를 이용하여, 결제 장치(203)의 루트 인증서와 ICC(411)의 인증서를 검증할 수 있다.
예컨대, 상기 SDA는 정적인 값에 대한 서명 인증을 수행하여 데이터를 인증하는 방식이고, DDA는 동적으로 변경되는 값에 대한 서명 인증을 수행하여 데이터를 인증하는 방식이며, CDA는 정적인 값에 대한 서명 인증이 결합된 DDA 방식일 수 있다. 상기 SDA, DDA 및 CDA 방식은 서명 인증 대상의 씨드(seed) 또는 및 라이프 사이클(life cycle)에 따라 보안 레벨의 차이가 발생할 수 있다.
본 문서의 다양한 실시 예에 따라, 결제 모듈(410)에서는 예컨대, 온라인 데이터의 인증의 경우 결제 규격(예, EMV 표준 스펙)에 정의된 동적 데이터에 상기 온라인 데이터의 인증을 위한 인증 세션 필드가 설정되어 인증 서버(201)로부터 수신될 수 있다.
표 1은 오프라인 데이터 인증에서 PKI 기반의 RSA(Rivest, Shamir, Adleman Algorithm) 서명을 위한 DDA 데이터 구성에 관한 것이다.
Figure pat00001
표 1을 참조하면, DDA 데이터는 "recovered data header" 필드, "signed data formant" 필드, "hash algorithm" 필드, "ICC dynamic data length" 필드, "ICC dynamic data" 필드, "pad pattern" 필드, "hash result" 필드 및 "recovered data trailer" 필드를 포함할 수 있다.
본 문서의 다양한 실시 에에 따라 전자 장치(101)에서는 "ICC dynamic data" 필드에 온라인 인증 서버(201)로부터 획득된 인증 세션의 값을 포함하거나 상기 DDA 데이터에 MDA(mobile authentication data) 필드를 더 포함하여 온라인 인증이 수행됨을 알리는 정보가 DDA 데이터에 포함되도록 할 수 있다. 예컨대, 상기 DDA 데이터는 결제 데이터와 함께 결제 장치(203)를 통해 발행 서버(202)로 전송될 수 있다.
본 문서의 다양한 실시 에에 따라 상기 발행 서버(202)에서는 "ICC dynamic data" 필드 또는 MDA 필드의 값(또는 인증 세션 정보(HolderAuthSession)에 대한 인증을 인증 서버(201)로 요청할 수 있다. 예컨대, 상기 인증 서버(201)로부터 "ICC dynamic data" 필드 또는 MDA 필드의 값에 대한 인증 결과(예, 인증 성공 또는 인증 실패)를 수신하여, 발행 서버(202)는 결제 데이터에 대한 최종 승인 여부를 결정할 수 있다.
본 문서의 다양한 실시 예에 따라, DDA 데이터에 MDA 필드가 추가로 정의되는 경우, 결제 장치(203)에서는 결제 시 추가로 정의된 MDA 필드 및 필드의 값을 확인하여 결제를 수행하도록 업데이트될 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 ICC(411)의 개인 키(private key)로 서명하고, 인증서(예, 인증 기관(certification authority: CA) 인증서, 발행 서버(202) 또는 ICC(411)의 인증서)로 상기 서명에 대한 검증을 할 수 있다.
표 2는 본 문서의 다양한 실시 예에 따른 CDA 구성에 관한 것이다.
Figure pat00002
표 2를 참조하면, CDA 데이터는 'signed data format' 필드, 'hash algorithm' 필드, 'ICC dynamic data length' 필드, 'ICC dynamic data' 필드, 'pad pattern' 필드 및 'unpredictable number' 필드를 포함할 수 있다.
본 문서의 다양한 실시 예에 따라 전자 장치(101)에서는 "ICC dynamic data" 필드에 온라인 인증 서버로부터 획득된 인증 세션의 값을 포함하거나 상기 CDA 데이터에 MDA 필드를 더 포함하여 온라인 인증이 수행됨을 알리는 정보가 CDA 데이터에 포함되도록 할 수 있다. 상기 CDA 데이터는 결제 데이터와 함께 결제 장치(203)를 통해 발행 서버(202)로 전송될 수 있다.
본 문서의 다양한 실시 에에 따라 상기 발행 서버(202)에서는 "ICC dynamic data" 필드 또는 MDA 필드의 값에 대한 인증을 인증 서버(201)로 요청할 수 있다. 예컨대, 상기 인증 서버(201)로부터 "ICC dynamic data" 필드 또는 MDA 필드의 값에 대한 인증 결과(예, 인증 성공 또는 인증 실패)를 수신하여, 발행 서버(202)는 결제 데이터에 대한 최종 승인 여부를 결정할 수 있다.
본 문서의 다양한 실시 예에 따르면, 결제 모듈(410)은 ICC(411)가 지원하고 있는 오프라인 인증 수단 방식에 대한 정보를 GPO(Get Processing Options) 단계에서 확인할 수 있다. 예컨대, 상기 GPO 단계에서의 데이터에 별도의 인증 수단 방식(예, 온라인 FIDO 인증)에 대한 정보를 추가하여 온라인 인증에 대한 인증 서버(201)와의 검증을 수행하도록 할 수 있다.
표 3은 ICC(411)와 결제 장치(203)가 교환하는 1 바이트(byte)의 AIP(application interchange profile) 구성에 관한 것이다.
b8 b7 b6 b5 b4 b3 b2 b1 의미
0 x x x x x x x RFU
x 1 x x x x x x SDA supported
x x 1 x x x x x DDA supported
x x x 1 x x x x Cardholder verification is supported
x x x x 1 x x x Terminal risk management is to be performed
x x x x x 1 x x Issuer authentication is supported
x x x x x x 0 x RFU
x x x x x x x 1 CDA supported
표 3을 참조하면, ICC(411)와 결제 장치(203)는 SDA 지원(SDA supported), DDA 지원(DDA supported), 사용자 인증 지원(cardholder verification is supported), 단말 리스크 관리 수행 여부(terminal risk management is to be performed) 및/또는 발행 서버(202) 인증(issuer authentication is supported)을 나타내는 데이터를 교환할 수 있다.
본 문서의 다양한 실시 예에 따르면, 교환 데이터의 'reserved' 필드에 'MDA' 방식에 대한 필드가 추가되어, 해당 결제 건에 대해 온라인 인증(예, FIDO 인증 또는 PIN 인증)이 수행되었음을 나타낼 수 있다.
표 4는 ICC(411)와 결제 장치(203)가 교환하는, CV 규칙(rule)에 따른 1 바이트의 CVM 코드 구성에 관한 것이다.
b8 b7 b6 b5 b4 b3 b2 b1 의미
0 RFU
0 Fail cardholder verification if this CVM is unsuccessful
1 Apply succeeding CV Rule if this CVM is unsuccessful
0 0 0 0 0 0 0 Fail CVM processing
0 0 0 0 0 0 1 Plaintext PIN verification performed by ICC
0 0 0 0 0 1 0 Enciphered PIN verified online
0 0 0 0 0 1 1 Plaintext PIN verification performed by ICC and signature (paper)
0 0 0 0 1 0 0 Enciphered PIN verification performed by ICC
0 0 0 0 1 0 1 Enciphered PIN verification performed by ICC and signature (paper)
0 x x x x x x Values in the rage 000110-011101 reserved for future use by this specification
0 1 1 1 1 1 0 signature (paper)
0 1 1 1 1 1 1 No CVM (paper)
1 0 x x x x x Values in the rage 10000-101111 reserved for use by the individual payment systems
1 1 x x x x x Values in the rage 11000-111110 reserved for use by the issuer
1 1 1 1 1 1 1 This values is not available for use
표 4를 참조하면, 상기 CVM 리스트는 결제 규격에서 지원하는 인증 방식에 대한 정보뿐 아니라 인증 서버(201) 또는 발행 서버(202)를 통한 온라인 인증 방식 또는 PIN 인증 방식에 대한 정보를 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, CVM 코드는, CVM 수행 실패에 따라 사용자 인증 실패(Fail cardholder verification if this CVM is unsuccessful) 또는 성공된 CV 규칙을 적용할 것(Apply succeeding CV Rule if this CVM is unsuccessful)을 나타내거나 CVM 처리 실패(Fail CVM processing)를 나타내는 코드를 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, CVM 코드는, 인증 방식에 대한 정보로서, ICC(411)를 통해 수행되는 평문 PIN 인증(Plaintext PIN verification performed by ICC), 온라인으로 암호화된 PIN 인증(Enciphered PIN verified online), ICC(411)를 통해 수행되는 평문 PIN 인증 및 종이 서명 인증(Plaintext PIN verification performed by ICC and signature (paper)), ICC(411)를 통해 수행되는 암호화된 PIN 인증(Enciphered PIN verification performed by ICC), ICC(411)를 통해 수행되는 암호화된 PIN 인증 및 종이 서명 인증(Enciphered PIN verification performed by ICC and signature (paper)), 종이 서명 인증(signature (paper)), 또는 CVM 미지원(No CVM (paper))의 방식이 지원됨을 알리는 코드를 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, 결제 모듈(410)에서는 결제 규격(예, EMV)에서 정의하는 사용자 인증(cardholder verification: CV)을 수행할 수 있다. 예컨대, 상기 CV 단계에서는 결제 장치(203)와 현재 결제 수단에 대한 인증을 수행하는 것으로, 결제 모듈(410)에서는 CVM 리스트를 결제 장치(203)로 전송할 수 있다.
표 5는 2 바이트의 CVM 조건의 코드에 관한 것이다.
의미
'00' Always
'01' If unattended cash
'02' If not unattended cash and not manual cash and not purchase with cash book
'03' If terminal supports the CVM
'04' If manual cash
'05' If purchase with cashback
'06' If transaction is in the application currency and is under X value
'07' If transaction is in the application currency and is over X value
'08' If transaction is in the application currency and is under Y value
'09' If transaction is in the application currency and is over Y value
'0A' - '7F' RFU
'80' - 'FF' Reserved for use by individual payment systems
표 5를 참조하면, CVM 조건 코드는, 결제 금액 또는 결제 수단에 따라 CVM이 수행되도록 지시하는 코드를 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 CVM 조건 코드는, 항상(Always), 무인 결제일 때(If unattended cash), 무인, 수동 및 현금 결제가 아닐 때(If not unattended cash and not manual cash and not purchase with cash book), 전자 장치에서 CVM을 지원할 때(If terminal supports the CVM), 수동 결제일 때(If manual cash), 또는 현금 결제일 때(If purchase with cashback), CVM을 수행하도록 지시하는 코드를 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 CVM 조건 코드는, 거래에서 적용된 화폐가 X 값 미만(If transaction is in the application currency and is under X value), X 값 초과(If transaction is in the application currency and is over X value), Y 값 미만(If transaction is in the application currency and is under Y value) 또는 Y 값 이상(If transaction is in the application currency and is over Y value)인 경우, CVM을 수행하도록 지시하는 코드를 포함할 수 있다.
표 6은 본 문서의 다양한 실시 예에 따른 인증 처리 메시지 구성에 관한 것이다.
태그
'9F27' Cryptogram information data
'9F36' Application transaction counter
'9F26' Application cryptogram
'9F10' Issuer application data
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)와 결제 장치(203)는 온라인 인증 처리를 위한 ARQC를 수행할 수 있다. 예컨대, 결제 장치(203)는 전자 장치(101)로 온라인 인증의 필요 여부에 대한 확인을 요청할 수 있다. 상기 전자 장치(101)에서는 온라인 인증의 필요 여부와 인증 세션 정보를 결제 장치(203)로 전송할 수 있다. 상기 전자 장치(101)에서는 온라인 인증이 필요한 경우에 상기 인증 세션 정보를 온라인 인증의 필요 여부와 함께 결제 장치(203)로 전송할 수 있다.
표 6을 참조하면, 전자 장치(101)는 ARQC 요청에 응답하여, 인증 서버(201)로 결제 데이터와 관련하여 온라인 인증 처리를 위해 인증 받기 위한 데이터 정보를 전송할 수 있다. 상기 인증 받기 위한 데이터는 CID(cryptogram information data), ATC(application transaction counter), AC(application cryptogram) 또는 IAD(issuer application data)를 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, 결제 모듈(410)은 상기 IAD에 온라인 인증에 따른 인증 세션 정보를 포함하여 결제 장치(203)로 전송할 수 있다. 예컨대, 상기 인증 세션 정보는 인증 방식에 따라 온라인 인증 또는 PIN 인증에 따른 인증 세션 값을 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, 결제 모듈(410)은 상기 인증 세션 정보를 결제 장치(203)로 전송하여, 상기 결제 장치(203)가 발행 서버(202)를 통해 해당 인증 세션 값이 유효한지 여부를 판단하도록 할 수 있다. 예컨대, 상기 발행 서버(202)는 별도의 3rd 파티(party) 인증 서버(예, 인증 서버(201) 또는 FIDO 서버)에 전달하여 유효성을 판단하고, 상기 유효성 판단 결과에 기반한 결제의 승인 결과를 결제 모듈(410)로 전달할 수 있다.
본 문서의 다양한 실시 예에 따른 인증 모듈(420)은 PIN 인증 모듈(422) 또는 생체 모듈(430)을 포함할 수 있다. 본 문서의 다양한 실시 예에 따라, 상기 인증 모듈(420)은 인증 서버(201)간의 난수를 발급할 수 있다. 예컨대, 상기 인증 모듈(420)은 FIDO 표준 스펙에 정의된 'AuthentificationRequest' 메시지를 이용하여 난수 발급을 요청할 수 있다.
본 문서의 다양한 실시 예에 따라, 인증 모듈(420)에서는, 일반 실행 환경의 통신 에이전트(REE communication agent)에서 보안 실행 환경의 에이전트(TEE communication agent)로 메시지가 전달되도록 할 수 있다.
본 문서의 다양한 실시 예에 따라, 인증 모듈(420)은 인증 서버(201)로 온라인 인증 요청을 전송하고 인증 서버(201)로부터 온라인 인증 결과를 수신할 수 있다.
본 문서의 다양한 실시 예에 따른 PIN 인증 모듈(422)은 PIN TA(422a)를 포함하며, 결제 요청과 관련하여 입력된 PIN에 대한 인증을 수행할 수 있다. 예컨대, PIN 인증 모듈(422)에서는 PIN의 인증 결과에 따라, 암호화된 PIN을 발행 서버(202)로 전송할 수 있다. 상기 PIN 인증 모듈(422)은 발행 서버(202)로부터 암호화된 PIN 인증 결과에 따른 인증 세션 정보를 수신할 수 있다.
본 발명의 다양한 실시 예에 따라, 생체 모듈(430)은 생체 TA(431)를 포함하며, 생체 정보가 입력되면 입력된 생체 정보가 사용자의 생체 정보와 일치하는지를 확인할 수 있다. 예컨대, 상기 생체 정보는, 지문 정보, 홍채 정보, 정맥 정보, 얼굴 정보 또는 음성 정보를 포함할 수 있으며, 그 외 사용자 고유의 생체적 특징을 가지는 다양한 정보가 가능할 수 있다.
본 발명의 다양한 실시 예에 따라, 생체 모듈(430)은 결제 요청에 따라 입력된 생체 정보를 인증 모듈(420)로 전달할 수 있다. 상기 인증 모듈(420)에서는 상기 입력된 생체 정보가 저장된 사용자의 정보와 일치하는지를 온라인을 통해 판단하여, 사용자를 인증할 수 있다.
도 5는 본 문서의 다양한 실시 예에 따라, 전자 장치에서 온라인 인증을 통한 모바일 결제를 수행하는 동작의 일 예를 도시한 흐름도이다.
도 5를 참조하면, 510 동작에서 전자 장치(101)는 결제 요청에 따라, 사용자로부터 인증과 관련된 정보를 수신할 수 있다. 상기 인증과 관련된 정보는 사용자의 생체 정보 또는 PIN 입력을 포함할 수 있다.
520 동작에서 전자 장치(101)는 상기 수신된 인증과 관련된 정보에 기반하여, 인증 서버(201)로 인증을 요청할 수 있다.
530 동작에서 전자 장치(101)는 상기 인증 요청에 상응하여, 상기 인증 서버로부터 인증된 세션과 관련된 정보를 수신할 수 있다. 상기 인증된 세션과 관련된 정보는, 상기 인증 서버와의 인증 세션의 값을 포함할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 전자 장치(101)는 PIN 입력이 수신되면 인증 서버(201)를 통해 상기 PIN 입력을 인증하고 인증 서버(201)로부터 상기 PIN 입력의 인증에 따른 인증 세션 값을 수신할 수 있다.
540 동작에서 전자 장치(101)는 상기 인증된 세션과 관련된 정보를 포함하는 결제 데이터를 생성할 수 있다.
550 동작에서 전자 장치(101)는 상기 생성된 결제 데이터를 상기 통신 모듈을 통해 결제 장치로 전송할 수 있다. 예컨대, 상기 결제 데이터는 상기 결제 장치(203)를 통해 발행 서버(202)로 전송되며, 상기 발행 서버(202)는 상기 결제 데이터에 포함된 인증 세션과 관련된 정보가 유효한 지를 판단하여 상기 결제 데이터에 대한 최종 승인 여부를 결정할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 발행 서버(202)에서는 인증 서버(201)로 상기 인증된 세션과 관련된 정보가 상기 인증 서버(201)에서 생성된 것인지를 판단하여 상기 정보의 유효성을 판단할 수 있다.
본 문서의 다양한 실시 예에 따른 온라인 인증을 통한 모바일 결제를 수행하는 방법은, 전자 장치(101)에서 상기 결제 요청에 대응하여 결제 모듈(410)과 상기 인증 서버(201)와의 인증을 수행하는 동작, 상기 결제 모듈(410)과 상기 인증 서버(201)와의 인증 결과에 따라 상기 결제 모듈(410)을 통해 결제 토큰을 발급받는 동작을 더 포함할 수 있다.
본 문서의 다양한 실시 예에 따른 온라인 인증을 통한 모바일 결제를 수행하는 방법은, 전자 장치(101)는 상기 결제 모듈(410)과 상기 생체 모듈(430) 간의 제1 난수를 발급하여, 상기 결제 모듈(410)과 상기 생체 모듈(430) 간의 인증을 수행하는 동작, 상기 인증된 생체 모듈(430)을 통해 상기 사용자로부터 생체 정보가 입력됨을 확인하는 동작, 및 상기 인증 서버(201)로부터 상기 생체 정보에 대한 인증 결과에 따른 상기 인증된 세션과 관련된 정보를 수신하는 동작을 더 포함할 수 있다.
본 문서의 다양한 실시 예에 따른 온라인 인증을 통한 모바일 결제를 수행하는 방법은, 상기 결제 요청에 대응하여, 상기 결제 모듈(410)과 상기 PIN 인증 모듈(422) 간의 난수를 발급하여 상기 결제 모듈(410)과 상기 PIN 인증 모듈(422) 간의 인증을 수행하는 동작, 상기 인증된 PIN 인증 모듈(422)을 통해 상기 사용자로부터 입력되는 PIN 입력을 인증하는 동작 및 상기 PIN 입력의 인증 결과에 따른 상기 인증된 세션과 관련된 정보를 확인하도록 하는 동작을 더 포함할 수 있다.
본 문서의 다양한 실시 예에 따른 온라인 인증을 통한 모바일 결제를 수행하는 방법은, 상기 결제 모듈(410)을 통해, 상기 사용자 인증의 방식과 관련된 정보를 포함하는 어플리케이션 데이터를 상기 결제 장치(203)와 교환하도록 하는 동작을 더 포함할 수 있다.
본 문서의 다양한 실시 예에 따른 온라인 인증을 통한 모바일 결제를 수행하는 방법은, 상기 어플리케이션 데이터에 상기 사용자에 대한 인증 방식에 대한 정보를 포함하여 상기 결제 모듈(410)로 전송하는 동작을 더 포함할 수 있다.
도 6은 본 문서의 다양한 실시 예에 따라, 결제 수행을 위해 토큰을 발급받는 동작의 일 예를 도시한 흐름도이다.
도 6을 참조하면, 610 동작에서 전자 장치(101)는 결제 요청에 따라 사용자 인증 요청을 확인할 수 있다.
620 동작에서 전자 장치(101)는 결제 시에 사용할 결제 토큰을 획득할 수 있다. 예컨대, 전자 장치(101)는 토큰 TA(412)과 난수를 생성하고, 특정 난수에 대한 인증 결과로 상기 토큰 TA(412)에서는 결제 토큰의 취득 권한을 획득할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 토큰 TA(412)를 통해 미리 저장된 결제 토큰을 사용하거나 일회성으로 사용할 수 있는 결제 토큰을 발급받아 사용할 수 있다. 예컨대, 전자 장치(101)에서는 결제 시 마다 발행 서버(202)로부터 결제 토큰을 요청하여 제공 받거나, 미리 지정된 수의 토큰을 제공받아 토큰 TA(412)에 저장하여 결제 시에 이용할 수 있다.
630 동작에서 전자 장치(101)는 인증 세션 정보 및 결제 토큰을 포함하는 결제 데이터를 생성할 수 있다. 예컨대, 상기 세션 정보는 상기 전자 장치(101)의 온라인 인증 시 수립된 인증 세션 값일 수 있다.
640 동작에서 전자 장치(101)는 결제 모듈(410)을 통해 상기 생성된 결제 데이터를 결제 장치(203)로 전송할 수 있다. 결제 장치(203)는 발행 서버(202)로 상기 전자 장치(101)를 통해 수신된 인증 세션 정보를 포함하는 결제 데이터를 전송할 수 있다. 발행 서버(202)에서는 인증 서버(201)로 상기 결제 데이터에 포함된 인증 세션 정보가 상기 인증 서버(201)로부터 생성된 것인지를 확인 요청하여 인증 세션 정보의 유효한지를 판단할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)에서는 결제 데이터에 인증 세션 정보를 포함하여 결제를 요청함에 따라, 결제에 대한 최종 승인 여부를 결정하는 발행 서버(202)에서 인증 세션 정보의 유효성에 따라 결제의 승인 여부를 판단하도록 할 수 있다.
도 7은 본 문서의 다양한 실시 예에 따라, 전자 장치에서 인증 세션 정보를 이용하여 결제를 수행하는 동작의 일 예를 도시한 흐름도 이다.
도 7을 참조하면, 710 동작에서 전자 장치(101)는 어플리케이션을 실행할 수 있다. 예컨대, 상기 어플리케이션은 결제 관련 어플리케이션으로 결제 수단에 대한 데이터를 읽을 수 있는 어플리케이션일 수 있다. 다양한 실시 예에 따르면, 전자 장치(101)는 어플리케이션의 요청에 따라, 사용자로부터 인증과 관련된 정보를 수신할 수 있다. 상기 인증과 관련된 정보는 사용자의 생체 정보 또는 PIN 입력을 포함할 수 있다. 전자 장치(101)는 어플리케이션의 요청에 따라, 발행 서버(202)로부터 결제 토큰을 획득할 수 있다.
715 동작에서 전자 장치(101)는 모바일 인증을 수행할 수 있다. 예컨대, 전자 장치(101)에서는 인증 모듈(420)을 통해 사용자로부터 입력되는 카드 비밀번호, 서명 또는 생체 정보를 인증하여 상기 모바일 인증을 수행할 수 있다.
720 동작에서 전자 장치(101)는 ICC(411)로 전원을 인가하여 결제 장치(203)와 어플리케이션 데이터가 교환되도록 제어할 수 있다. 다양한 실시 예에 따라, 전자 장치(101)는 도 3의 320 동작에서 어플리케이션 데이터(예, 오프라인 인증 방식 정보)의 교환을 수행할 수 있다.
730 동작에서 전자 장치(101)는 오프라인 데이터 인증 및 단말 리스크 관리(terminal risk management)를 수행할 수 있다. 다양한 실시 예에 따라, 상기 단말 리스크 관리는, 해당 결제 거래에 대한 리스크 관리를 위해, 오프라인 데이터 인증 수행 또는 사용자 인증(cardholder verification: CV) 수행을 포함할 수 있다.
740 동작에서 전자 장치(101)는 사용자 인증을 수행하고 인증 세션 정보를 확인할 수 있다. 예컨대, 상기 전자 장치(101)는 사용자 인증을 수행하기 위해, CVM 리스트를 결제 장치(203)로 전송할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)의 결제 모듈(410)에서는 CVM 리스트를 ICC를 통해 결제 장치(203)(예, PoS 장치 또는 NFC 리더)로 전송하고, 상기 결제 장치(203)로부터 상기 CVM 리스트 중 해당 결제 장치(203)에서 지원 가능한 CVM에 대한 정보를 수신할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 결제 장치(203)에서 지원 가능한 인증 방식을 확인할 수 있다. 예컨대, 상기 인증 방식은 오프라인으로 결제 장치(203)로 암호/평문을 입력하는 오프라인 인증 방식 또는 온라인을 통해 카드 비밀번호, 서명 또는 생체 정보에 대한 인증을 수행하는 온라인 인증 방식을 포함하며, 그 외에 비밀번호 인증과 서명이 조합된 방식 또는 CVM 인증을 미 수행하는 방식을 포함할 수 있다.
본 문서의 다양한 실시 예에 따라, 인증 방식이 오프라인으로 인증하는 방식인 경우, 751 동작에서 전자 장치(101)는 오프라인 인증을 수행할 수 있다. 예컨대, 전자 장치(101)는 서명 검증을 위해 결제 장치(203)로 암호/평문을 전송할 수 있다.
본 문서의 다양한 실시 예에 따라, 상기 인증 방식이 온라인 인증 방식인 경우, 751 동작에서 전자 장치(101)는 상기 결제에 대한 온라인 인증을 수행할 수 있다. 예컨대, 전자 장치(101)는 상기 결제 정보에 기반하여 발행 서버(202)를 통해 온라인으로 최종 승인을 결정하기 위한 인증(예, ARQC)을 수행할 수 있다. 상기 전자 장치(101)는 온라인 인증의 수행에 따라, 인증 서버(201)로부터 인증 세션 정보를 수신할 수 있다.
다양한 실시 예에 따라, 753 동작에서 전자 장치(101)는 전송된 서명의 검증에 기반하여, 결제가 완료됨을 확인할 수 있다. 결제가 완료된 이후 결제 장치(203)는 일정 조건을 만족하는 경우(지정된 건수 또는 지정된 기간) 인증 세션 정보가 포함된 결제 승인 정보를 발행 서버(202)로 전송할 수 있다. 발행 서버(202)는 인증 서버(201)로 결제 데이터에 포함된 인증 세션 정보에 대한 유효성 확인을 요청하고 유효성 확인 결과를 수신할 수 있다.
본 문서의 다양한 실시 예에 따라, 오프라인 인증 방식에서는 전자 장치(101)와 결제 장치(203)가 IAD(issuer application data)를 포함하는 어플리케이션 데이터를 교환할 수 있다. 결제 장치(203)는 IAD에서 모바일 인증 방식에 대한 정보를 확인하고 이를 발행 서버(202)로 전송할 수 있다.
본 문서의 다양한 실시 예에 따라, 결제 장치(203)는 오프라인 인증 방식에 따라 결제를 완료할 수 있으며, 추가로 온라인 인증이 필요하다고 판단될 경우(예컨데, 결제 금액 초과, 결제 횟수 초과 또는 설정된 시간 주기), 발행 서버(202) 및/또는 인증 서버(201)를 통해 온라인 인증을 수행할 수 있다. 예컨대, 발행 서버(202)에서는 전자 장치(101)의 모바일 인증 방식 및 결제 데이터에 포함된 인증 세션 정보를 확인하고, 상기 모바일 인증 방식에 따라 사용자 인증을 수행하는 인증 서버(201)로 상기 인증 세션 정보에 대한 유효성 판단을 요청할 수 있다. 예컨대, 상기 인증 세션 정보가 유효한 것으로 판단되면, 상기 발행 서버(202)는 최종적인 결제 승인 여부를 결정하여 결제 장치(203)로 결제 승인 또는 거부를 나타내는 ARC(authorization response code)를 전송할 수 있다. 다양한 실시 예에 따라, 전자 장치(101)는 도 3의 360 동작에서 인증 세션 정보의 유효성 확인을 요청할 수 있다.
본 문서의 다양한 실시 예에 따르면, 결제 모듈(410)은 온라인 인증을 통해 최종적인 결제 승인 여부를 결정하도록 할 수 있다. 예컨대, 결제 모듈(410)은 통신 모듈(190)을 통해 결제 장치(203)로 인증 세션 정보가 포함된 결제 정보가 전송되도록 제어할 수 있다. 결제 장치(203)는 발행 서버(202)로 인증 세션 정보가 포함된 결제 정보를 전송하고, 도 3의 362 동작을 통해 상기 발행 서버(202)에서 인증 세션 정보의 유효성을 판단하여 결제에 대한 승인을 결정하도록 할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 온라인 인증 수행의 결과를 확인하여 상기 인증 세션 정보가 유효한 것으로 판단되면, 753 동작에서 전자 장치(101)는 결제 완료를 확인할 수 있다. 예컨대, 전자 장치(101)는 결제 장치(203)를 통해 발행 서버(202)로부터 결제 승인 결과를 수신하면, 결제 처리가 완료된 것으로 확인할 수 있다. 상기 결제 승인 결과는 결제 승인 또는 결제 거절을 포함할 수 있다.
도 8은 본 문서의 다양한 실시 예에 따라, 결제에 대한 온라인 인증을 수행하는 동작의 일 예를 도시한 흐름도이다.
도 8을 참조하면, 온라인 인증을 수행하는 결제 시스템에서는 전자 장치(101)와 인증 서버(201)를 포함할 수 있으며, 상기 전자 장치(101)는, 프로세서(120), 토큰 TA(412) 및 생체 TA(431)를 포함할 수 있다.
810 동작에서 전자 장치(101)의 프로세서(120)에서는 사용자로부터의 결제 요청을 확인할 수 있다.
821 동작에서 프로세서(120)는 인증 서버(201)로 제1 난수를 요청할 수 있다. 예컨대, 상기 요청은 'GetAuthenticationRequest'메시지를 이용할 수 있으며, 사용자의 계정 정보(account ID), 장치 정보(device ID) 또는 생체 정보의 종류(예, 지문 또는 홍채) 등이 포함될 수 있다.
822 동작에서 인증 서버(201)에서는 프로세서(120)로 제1 난수 요청에 대한 응답으로 제1 난수를 전송할 수 있다.
831 동작에서 전자 장치(101)는 토큰 TA(412)로 제2 난수의 발급을 요청할 수 있다.
832 동작에서 토큰 TA(412)는 제2 난수 발급 요청에 상응하여 제2 난수를 프로세서(120)로 전달 수 있다.
841 동작에서 프로세서(120)는 제1 난수 및 제2 난수를 생체 TA(431)로 전달하며 생체 인증 활성화를 요청할 수 있다.
842 동작에서 생체 TA(431)는 생체 인증 활성화에 대한 응답을 프로세서(120)로 전달할 수 있다.
850 동작에서 프로세서(120)는 사용자의 생체 정보의 입력을 확인할 수 있다.
851 동작에서 프로세서(120)는 생체 TA(431)로 암호화된 제2 난수를 전달하여 생체 정보의 인증 결과를 요청할 수 있다.
852 동작에서 생체 TA(431)는 암호화된 제2 난수가 상기 요청된 생체 정보에 대해 생성된 것으로 검증되면, 상기 생체 정보가 사용자의 생체 정보와 일치하는지를 판단하고, 이에 따른 생체 정보의 인증 결과를 프로세서(120)로 전달할 수 있다.
861 동작에서 프로세서(120)는 토큰 TA(412)로 결제 토큰을 요청할 수 있다. 예컨대, 상기 결제 토큰의 요청은 제2 난수와 토큰 TA(412) ID가 랩핑(wrapping)된 데이터를 포함할 수 있다.
862 동작에서 토큰 TA(412)은 프로세서(120)로 결제 토큰을 발급받도록 할 수 있다. 예컨대, 토큰 TA(412)에서는 상기 제2 난수가 상기 토큰 TA(412)에서 발급된 것으로 판단하면, 실제 결제에 사용되는 결제 토큰을 발급받을 수 있는 취득 권한을 획득하고, 결제 토큰을 발급받을 수 있다.
871 동작에서 프로세서(120)는 인증 서버(201)로 인증 세션을 요청하기 위해 암호화된 제1 난수를 전달할 수 있다. 예컨대, 상기 인증 세션의 요청은 인증 서버(201)에서 상기 암호화된 제1 난수가 상기 인증 서버(201)에서 발급된 것으로 검증되고, 사용자의 생체 정보에 대한 인증 결과에 따라 수립되는 인증 세션에 대한 정보를 요청할 수 있다.
872 동작에서 인증 서버(201)는 전자 장치(101)로 인증 세션 정보(HolderAuthSesson) 요청에 대한 응답을 전송할 수 있다. 예컨대, 인증 서버(201)는 상기 암호화된 제1 난수가 검증되면, 전자 장치(101)와의 인증 세션을 수립하고 상기 인증 세션의 값을 포함하는 인증 세션 정보를 확인할 수 있다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)는 인증 세션 정보를 결제 데이터에 포함하여 결제를 요청할 수 있다. 상기 결제 데이터를 처리하는 발행 서버(202)에서는 상기 인증 세션 정보의 유효성 여부를 확인하여 결제 데이터에 대한 결제 승인 여부를 결정할 수 있다.
도 9는 본 문서의 다양한 실시 예에 따라, 결제에 대한 PIN 인증을 수행하는 동작의 일 예를 도시한 흐름도이다.
도 9를 참조하면, PIN 인증을 수행하는 결제 시스템에서는 전자 장치(101)와 발행 서버(202)를 포함할 수 있으며, 상기 전자 장치(101)는, 프로세서(120), 토큰 TA(412) 및 PIN TA(422a)를 포함할 수 있다.
910 동작에서 프로세서(120)에서는 사용자의 결제 요청을 확인할 수 있다.
921 동작에서 프로세서(120)는 토큰 TA(412)로 제3 난수를 요청할 수 있다.
922 동작에서 토큰 TA(412)는 제3 난수의 요청에 대한 응답으로 제3 난수를 생성하고 프로세서(120)로 전달할 수 있다.
931 동작에서 프로세서(120)는 PIN TA(422a)로 PIN 인증 활성화를 요청하기 위해 제3 난수를 전달할 수 있다.
932 동작에서 PIN TA(422a)는 PIN 인증 활성화 요청에 대한 응답을 프로세서(120)로 전달할 수 있다.
940 동작에서 프로세서(120)는 PIN 입력을 확인할 수 있다.
본 문서의 다양한 실시 예에 따르면, 프로세서(120)는 상기 PIN 입력을 확인함에 따라 941 동작에서, 입력된 사용자 PIN의 암호화를 PIN TA(422a)로 요청할 수 있다.
942 동작에서 PIN TA(422a)는 상기 사용자 PIN 암호화 요청에 대한 응답으로, 상기 PIN 인증 활성화 요청 동작에서 전달된 제3 난수와 함께 암호화된 PIN을 포함하는 PIN 암호화 결과 응답을 프로세서(120)로 전달할 수 있다. 예컨대, PIN TA(422a)는 상기 입력된 PIN이 미리 지정된 PIN과 일치함에 따라 상기 PIN을 암호화할 수 있다.
943 동작에서 프로세서(120)는 토큰 TA(412)로 결제 토큰을 요청할 수 있다. 상기 결제 토큰의 요청은, 암호화된 제3 난수를 포함할 수 있다.
944 동작에서 토큰 TA(412)는 암호화된 제3 난수의 검증 결과에 따라 프로세서(120)로 결제 토큰을 포함하는 결제 토큰 응답을 전달할 수 있다. 예컨대, 토큰 TA(412)는 프로세서(120)로부터 전달된 암호화된 제3 난수 및 토큰 TA(412)의 ID를 수신하고, 상기 암호화된 제3 난수가 토큰 TA(412)에서 생성되었는지를 확인하여 상기 암호화된 제3 난수를 검증할 수 있다. 상기 암호화된 제3 난수가 검증됨에 따라 제3 난수에 대한 결제 토큰을 발급받을 수 있다.
951 동작에서 프로세서(120)는 발행 서버(202)로 암호화된 PIN을 전달하여 인증 세션을 요청할 수 있다. 예컨대, 상기 인증 세션의 요청은 발행 서버(202)에서 인증 서버(201)를 통해 상기 암호화된 PIN 검증을 수행함에 따라 인증 세션을 수립하고, 이에 따른 인증 세션 값을 요청할 수 있다.
952 동작에서 발행 서버(202)는 프로세서(120)로 상기 암호화된 PIN이 검증됨에 따른 인증 세션 정보(HolderAuthSession)를 전송할 수 있다.
본 문서의 다양한 실시 예에 따라, PIN 인증에 따른 인증 세션 정보를 발행 서버(202)로 요청하는 것으로 설명하였지만, 별도의 3rd 파티 PIN 인증 서버를 통해 인증 세션 정보를 획득할 수 있다. 상기 인증 세션 정보는 결제 규격(예, EMV 스펙)에 따라 ICC(411) 및 결제 장치(203) 간의 오프라인 데이터 인증 시에 사용될 수 있다. 또한, 인증 서버(201)와 발행 서버(202) 간의 온라인 인증에서 발행 서버(202)가 인증 서버(201)를 통해 상기 인증 세션 정보의 유효성을 판단하여 최종 결제 승인을 결정할 수 있다.
도 10은 일 실시 예에 따른 TA 기반의 생체 인증 시스템에 관한 것이다.
도 10을 참조하면, TA 기반의 생체 인증 시스템(1000)은 어플리케이션(예: 결제 어플리케이션)(1001), 중계 모듈(1002), PIN 인증 모듈(422)과 생체 모듈(430)을 포함하는 전자 장치(101) 및 전자 장치(101)와 통신하는 인증 서버(201)를 포함할 수 있다.
일 실시 예에 따르면, 전자 장치(101)는 생체 모듈(430)을 통해 지문, 홍채와 같은 사용자 생체 정보를 획득할 수 있다. 중계 모듈(1002)에서 획득된 생체 정보에 대해 디지털 서명하여 어플리케이션(1001)으로 전달할 수 있다. 예를 들어, 중계 모듈(1002)은 안드로이드 프레임워크(framework)일 수 있다.
본 문서의 다양한 실시 예에 따르면, TA 기반의 생체 인증은 로컬 인증 방식에 비해 보안성이 향상된 방식으로, 생체 모듈(430)을 통해 입력된 생체 정보에 대해 중계 모듈(1002)이 어플리케이션(1001)으로 생체 정보를 전달하며, 인증 서버(201)와의 통신을 통해 생체 정보에 대한 검증을 수행하는 방식일 수 있다.
본 문서의 다양한 실시 예에 따르면, 어플리케이션(1001)은 인증 서버(201)와 생체 모듈(430) 간에 생체 정보의 인증을 위한 난수를 발급받아, 생체 모듈(430)에서 생체 인증 성공 후 발급된 난수를 랩핑(wrapping)하여 인증 서버(201)로 전달하면, 인증 서버(201)에서는 랩핑된 난수를 검증할 수 있다. 만일 검증 결과 인증 서버(201)에서 발급된 난수가 랩핑된 것이라고 판단하면 인증 성공으로 판단할 수 있다. 이에 따라 결제를 위해 입력된 생체 정보에 대한 인증이 완료될 수 있다.
본 문서의 다양한 실시 예에 따르면, 별도의 난수를 발급하고 검증하는 TA를 활용하여, 전자 장치 내부적으로 인증을 수행할 때의 보안성을 높일 수 있다.
이하, 보안 강화를 위한 TA 기반의 인증 방식을 구체적으로 살펴보기 위해 도 11a 내지 도 11d를 참조하여 설명하기로 한다.
도 11a는 본 문서의 다양한 실시 예에 따른 전자 장치(101)에서 운용되는 일반 실행 환경과 보안 실행 환경을 도시하는 블록도(1100a)이다.
일 실시 예에 따르면, 전자 장치(101)는 보안 강화를 위해 복수의 보안 레벨을 가진 실행 환경을 운용할 수 있다. 복수의 실행 환경은, 예를 들면, REE(rich execution environment)(1101) 및 TEE(trusted execution environment)(1102)를 포함할 수 있다. REE는, 예를 들면, 제1 보안 레벨을 가지는 제1 실행 환경일 수 있다. TEE는, 예를 들면, 제1 보안 레벨과 다른(예: 높은) 제2 보안 레벨을 가지는 제2 실행 환경일 수 있다.
TEE(1102)는 상대적으로 높은 보안 레벨이 요구되는 데이터를 안전한 환경 내에서 저장하고 관련 동작을 수행할 수 있다. TEE(1102)는 전자 장치의 어플리케이션 프로세서 상에서 동작하고, 전자 장치의 제조 과정에서 결정된 신뢰할 수 있는 하드웨어 구조에 기반하여 동작할 수 있다. TEE(1102)는 어플리케이션 프로세서 또는 메모리를 일반 영역과 보안 영역으로 구분하여 보안 영역에서 동작할 수 있다. TEE(1102)는 보안이 필요한 소프트웨어나 하드웨어를 보안 영역에서만 동작하게 하도록 설정할 수 있다. 전자 장치는 하드웨어의 물리적 변경 또는 소프트웨어의 논리적 변경을 통하여 보안 실행 환경을 운용할 수 있다. TEE(1102)는 임베디드 보안 요소(embedded secure element; eSE), 보안 요소(secure element) 또는 트러스트 존(trust zone)이라 지칭될 수 있다.
TEE(1102)는 REE(1101)와 하드웨어적인 제약을 통하여 서로 분리될 수 있고, 동일한 하드웨어에서 소프트웨어적으로 분리되어 동작할 수 있다. REE(1101)에서 동작하는 적어도 하나의 어플리케이션(예: 결제, 연락처(contact), 이메일, 또는 브라우저 등)은 TEE(1102)에 접근이 허용된 API(예: TEE functional API 또는 TEE client API)를 이용할 수 있다. 상기 적어도 하나의 어플리케이션은 상기 API를 이용하여 일반 실행 환경의 통신 에이전트(REE communication agent)에서 보안 실행 환경의 통신 에이전트)(TEE communication agent)로 메시지를 전달할 수 있다. 상기 메시지는 하드웨어적으로 TEE(1102)에만 전달될 수 있도록 구현될 수 있다. 보안 실행 환경의 통신 에이전트는 상기 메시지를 수신하여 상기 메시지와 관련된 보안 어플리케이션(trusted application(TA))(예: DRM, 보안 결제 모듈, 또는 보안 생체 정보 모듈 등)에 전달할 수 있다. 보안 어플리케이션은 상기 메시지에 관련된 동작을 수행할 수 있으며, 동작에 대한 결과를 보안 실행 환경의 통신 에이전트를 통하여 일반 실행 환경의 통신 에이전트에 전달할 수 있다. 상기 일반 실행 환경의 통신 에이전트는 일반 실행 환경에서 운용 중인 적어도 하나의 어플리케이션에 상기 결과를 전달할 수 있다.
도 11b 내지 도 11d는 본 문서의 다양한 실시 예에 따른 TEE 구조의 일 예를 도시한 블록도들(1100b-1100d)이다.
일 실시 예에 따르면, TEE의 하드웨어 구조는 On-SoC(1110) 및 외부 메모리(external memories)(1120)를 포함할 수 있다. 예컨대, 상기 On-SoC(1110)는 마이크로 프로세싱 코어(1111), ROM(1112), RAM(1113), 주변기기(peripheral)(1114), 암호화 가속기(crypto accelerator)(1115) 또는 OTP(on time programmable) 필드(fields)(1116)를 포함할 수 있다. 트러스트존은 둘 이상의 실행 환경을 운용하기 위해 프로세서를 시간적으로 분리하여 REE(예: 도 11a의 1101)와 TEE(예: 도 11a의 1102)를 구분하여 사용할 수 있다. 또한, 트러스트존은 하나의 메모리를 REE에서 접근 가능한 영역 및 TEE에서 접근 가능한 영역(TEE component)으로 구분하여 사용할 수 있다.
도 11b를 참조하면, 하드웨어적으로 하나의 프로세서와 하나의 메모리를 REE와 TEE로 구분하여 사용(예: ARM의 트러스트존(Trustzone(TZ)))할 수 있다.
도 11c는 TEE를 위한 프로세서가 REE를 운용하기 위한 프로세서와 같이 칩(on-chip) 형태로 구현되어 있지만 별도의 프로세싱 코어 셋으로 구현된 경우(1100c)를 도시하고 있다. 일 실시 예에 따라, On-SoC(1110)는 마이크로 프로세싱 코어(1111) 이외에 하나 이상의 프로세서를 포함하는 온 칩 보안 서브시스템(On-chip security subsystem)(1117)을 추가로 포함할 수 있다. 예컨대, On-SoC(1110)은 REE를 운용하고, 온 칩 보안 서브시스템(1117)은 TEE를 운용하도록 설정될 수 있다.
일 실시 예에 따른 TEE를 위한 프로세서는 온 칩 보안 서브시스템(1117)이 추가되었기에, 상기 프로세서(120)와 동일 또는 유사한 구성을 가질 수 있다. 따라서, 이하에서는 상기 프로세서와 중복되는 구성들에 대한 설명은 생략하기로 한다.
도 11c의 경우에는 도 11b의 경우와 마찬가지로, 하나의 메모리를 REE에서 접근 가능한 영역 및 TEE에서 접근 가능한 영역으로 구분하여 사용할 수 있다.
도 11d는 TEE를 위한 프로세서가 하드웨어적으로 별도의 칩(chip)으로 구현되어 REE를 운용하기 위한 프로세서가 구현된 칩과 분리되어 있는 일례(1100d)를 도시하고 있다. 도 11d를 참조하면, On-Soc(1110)는 REE를 운용하고, 상기 On-Soc(1110)의 외부에 구비된 하나 이상의 외부 보안 프로세서(external security co-processor)(1130)을 통해 TEE를 운용하도록 설정될 수 있다.
도 12는 본 문서의 다양한 실시 예에 따른, 전자 장치에서 ICC와 데이터를 교환하는 동작의 일 예를 도시한 흐름도이다.
본 문서의 다양한 실시 예에 따르면, 전자 장치(101)에서는 사용자의 결제 요청을 확인하고, 결제 장치(203)와 근접함에 따라 결제 대기 상태로 동작할 수 있다. 상기 결제 대기 상태에서 전자 장치(101)에서는 결제 모듈(410)의 ICC(411)로부터 결제 관련 정보를 획득하기 위한 동작을 수행할 수 있다.
도 12를 참조하면, 1211 동작에서 전자 장치(101)의 프로세서(120)에서는 ICC(411)로 결제 가능한 어플리케이션 ID의 리스트를 요청하여 PPSE(proximity payment system environment) 선택 동작을 수행할 수 있다.
1212 동작에서 ICC(411)는 상기 리스트 요청에 대한 응답으로 결제 가능 어플리케이션 ID 리스트를 프로세서(120)로 전달할 수 있다.
1221 동작에서 프로세서(120)는 ICC(411)로 상기 결제 가능 어플리케이션 ID 리스트 중 선택된 결제 가능 어플리케이션 ID를 전달할 수 있다.
1222 동작에서 ICC(411)는 프로세서(120)로 지원하는 CVM 리스트 및 전자 장치(101)의 국가 코드를 요청할 수 있다.
본 문서의 다양한 실시 예에 따르면, ICC(411)에서는 선택된 결제 가능 어플리케이션 ID를 확인함에 따라, 전자 장치(101)에서 지원하는 PDOL(processing options data objects list)으로써, CVM 리스트 및 국가 코드를 요청할 수 있다.
1231 동작에서 프로세서(120)는 ICC(411)로, PDOL의 값으로써 지원하는 CVM 리스트 및 국가 코드를 전달하는 GPO(group policy object) 확인 동작을 수행할 수 있다.
1232 동작에서 ICC(411)는 프로세서(120)로 결제 관련 프로필 정보(또는, application interchange profile)를 전달할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 결제 관련 프로필 정보는, 결제 인증과 관련한 결제 수단 또는 신용카드가 지원하는 인증 방식 또는 인증과 관련하여 필요한 데이터가 있는 파일 위치(application file locator)를 포함할 수 있다. 예컨대, 상기 결제 관련 프로필 정보에는 CDA 인증의 지원 여부를 포함할 수 있다. 상기 파일 위치는, 상기 CDA 인증을 사용하는 경우, 다음 리드 레코드(read record)를 수행하는 1241 동작에서 읽어야 할 파일의 위치를 나타낼 수 있다.
1241 동작에서 프로세서(120)는 ICC(411)로 어플리케이션 파일 로케이터 위치의 데이터를 요청하는 리드 레코드를 수행할 수 있다.
1242 동작에서 ICC(411)는 프로세서(120)로 오프라인 데이터 인증에 필요한 정보를 전달할 수 있다.
본 문서의 다양한 실시 예에 따르면, 상기 오프라인 데이터 인증에 필요한 정보는, 인증서 리스트, 카드 번호, 카드 만료 기간, 카드 유효 기간, 카드가 지원하는 CVM 리스트, 또는 전자 장치(101)로부터 전달되어야 하는 CDOL(card risk management data object list) 값을 포함할 수 있다. 예컨대, 상기 인증서 리스트는 오프라인 데이터 인증에서 해시(hash) 서명 검증을 위한 인증서 정보를 포함할 수 있다. 상기 CDOL은 결제 금액, 결제 유형, 단말 종류, 전자 장치(101)가 수행한 CVM 및 수행 결과 또는 예측 불가능 수(unpredictable number)를 포함할 수 있다.
1251 동작에서 프로세서(120)는 ICC(411)를 통해 발행 서버(202)로 온라인 인증 처리를 요청할 수 있다.
1252 동작에서 ICC(411)는 프로세서(120)를 통해 발행 서버(202)로부터 온라인 인증 진행의 응답을 수신할 수 있다. 예컨대, 상기 응답은 온라인 인증 진행 여부, 결제 누적 횟수, 오프라인 데이터 인증에 필요한 서명 검증 데이터(예, signed dynamic application data) 또는 발행 서버(202)의 어플리케이션 데이터를 포함할 수 있다.
본 문서의 다양한 실시 예에 따라, 프로세서(120)에서는 상기 서명 검증 데이터를 결제 데이터와 함께 발행 서버(202)로 전송하여, 상기 발행 서버(202)에선 상기 서명 검증 데이터를 통해 결제 데이터에 대한 인증 방식을 확인하고 최종 결제 승인을 결정하도록 할 수 있다.
본 문서의 다양한 실시 예에 따라, CDA 인증 방식에 따라 온라인 인증 처리의 응답을 수신하는 것으로 설명하였지만, 전자 장치(101)에서는 SDA 또는 DDA 인증 방식에 따라 오프라인 데이터 인증에 필요한 서명 검증 데이터를 수신할 수 있다. 예컨대, 상기 SDA 인증 방식에서는, 리드 레코드 동작에서 상기 서명 검증 데이터를 수신하도록 할 수 있다. 상기 DDA 인증 방식에서는 온라인 인증을 수행하는 단계에서 상기 검증 데이터를 수신하도록 할 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서의 다양한 실시예들에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.

Claims (16)

  1. 전자 장치에 있어서,
    통신 모듈;
    적어도 하나의 프로세서; 및
    메모리;를 포함하고,
    상기 메모리는, 실행 시에, 상기 프로세서가,
    결제 요청에 따라, 사용자로부터 인증과 관련된 정보를 수신하고,
    상기 수신된 인증과 관련된 정보에 기반하여, 인증 서버로 인증을 요청하고,
    상기 인증 요청에 상응하여, 상기 인증 서버로부터 인증된 세션과 관련된 정보를 수신하고,
    상기 인증된 세션과 관련된 정보를 포함하는 결제 데이터를 생성하고,
    상기 생성된 결제 데이터를 상기 통신 모듈을 통해 결제 장치로 전송하도록 하는 인스트럭션들(instructions)을 저장하는, 전자 장치.
  2. 제1항에 있어서,
    상기 인증된 세션과 관련된 정보는,
    상기 인증 서버와의 인증 세션의 값을 포함하는 전자 장치.
  3. 제1항에 있어서,
    상기 인스트럭션들은 상기 프로세서가,
    상기 결제 장치를 통해 발행 서버로의 상기 결제 데이터에 대한 결제 승인 결과를 수신하도록 하며,
    상기 결제 승인 결과는 상기 발행 서버에 의해 상기 인증된 세션과 관련된 정보가 유효한지 여부에 기반하여 결정되는, 전자 장치.
  4. 제1항에 있어서,
    결제 모듈;을 더 포함하며,
    상기 인스트럭션들은 상기 프로세서가,
    상기 결제 요청에 대응하여 상기 결제 모듈과 상기 인증 서버와의 인증을 수행하고,
    상기 결제 모듈과 상기 인증 서버와의 인증 결과에 따라 상기 결제 모듈을 통해 결제 토큰을 발급받도록 하는 전자 장치.
  5. 제4항에 있어서,
    생체 모듈;을 더 포함하며,
    상기 인스트럭션들은 상기 프로세서가,
    상기 결제 모듈과 상기 생체 모듈 간의 제1 난수를 발급하여, 상기 결제 모듈과 상기 생체 모듈 간의 인증을 수행하고,
    상기 인증된 생체 모듈을 통해 상기 사용자로부터 생체 정보가 입력됨을 확인하고,
    상기 인증 서버로부터 상기 생체 정보에 대한 인증 결과에 따른 상기 인증된 세션과 관련된 정보를 수신하도록 하는, 전자 장치.
  6. 제4항에 있어서,
    PIN 인증 모듈;을 더 포함하며,
    상기 인스트럭션들은 상기 프로세서가,
    상기 결제 요청에 대응하여, 상기 결제 모듈과 상기 PIN 인증 모듈 간의 난수를 발급하여 상기 결제 모듈과 상기 PIN 인증 모듈 간의 인증을 수행하고,
    상기 인증된 PIN 인증 모듈을 통해 상기 사용자로부터 입력되는 PIN 입력을 인증하고,
    상기 PIN 입력의 인증 결과에 따른 상기 인증된 세션과 관련된 정보를 확인하도록 하는 전자 장치.
  7. 제4항에 있어서,
    상기 인스트럭션들은 상기 프로세서가,
    상기 결제 모듈을 통해, 상기 사용자 인증의 방식과 관련된 정보를 포함하는 어플리케이션 데이터를 상기 결제 장치와 교환하도록 하는, 전자 장치.
  8. 제7항에 있어서,
    상기 인스트럭션들은 상기 프로세서가,
    상기 어플리케이션 데이터에 상기 사용자에 대한 인증 방식에 대한 정보를 포함하여 상기 결제 장치로 전송하는, 전자 장치.
  9. 전자 장치에서의 모바일 결제 수행 방법에 있어서,
    결제 요청에 따라, 사용자로부터 인증과 관련된 정보를 수신하는 동작;
    상기 수신된 인증과 관련된 정보에 기반하여, 인증 서버로 인증을 요청하는 동작;
    상기 인증 요청에 상응하여, 상기 인증 서버로부터 인증된 세션과 관련된 정보를 수신하는 동작;
    상기 인증된 세션과 관련된 정보를 포함하는 결제 데이터를 생성하는 동작; 및
    상기 생성된 결제 데이터를 상기 통신 모듈을 통해 결제 장치로 전송하는 동작;을 포함하는, 전자 장치에서의 모바일 결제 수행 방법.
  10. 제9항에 있어서,
    상기 인증된 세션과 관련된 정보는,
    상기 인증 서버와의 인증 세션의 값을 포함하는, 전자 장치에서의 모바일 결제 수행 방법.
  11. 제9항에 있어서,
    상기 결제 장치를 통해 발행 서버로의 상기 결제 데이터에 대한 결제 승인 결과를 수신하는 동작;을 더 포함하며,
    상기 결제 승인 결과는 상기 발행 서버에 의해 상기 인증된 세션과 관련된 정보가 유효한지 여부에 기반하여 결정되는, 전자 장치에서의 모바일 결제 수행 방법.
  12. 제9항에 있어서,
    상기 결제 요청에 대응하여 상기 전자 장치의 결제 모듈과 상기 인증 서버와의 인증을 수행하는 동작; 및
    상기 결제 모듈과 상기 인증 서버와의 인증 결과에 따라 상기 결제 모듈을 통해 결제 토큰을 발급받는 동작;을 더 포함하는, 전자 장치에서의 모바일 결제 수행 방법.
  13. 제12항에 있어서,
    상기 결제 모듈과 상기 전자 장치의 생체 모듈 간의 제1 난수를 발급하여, 상기 결제 모듈과 상기 생체 모듈 간의 인증을 수행하는 동작;
    상기 인증된 생체 모듈을 통해 상기 사용자로부터 생체 정보가 입력됨을 확인하는 동작; 및
    상기 인증 서버로부터 상기 생체 정보에 대한 인증 결과에 따른 상기 인증된 세션과 관련된 정보를 수신하는 동작;을 더 포함하는, 전자 장치에서의 모바일 결제 수행 방법.
  14. 제12항에 있어서,
    상기 결제 요청에 대응하여, 상기 결제 모듈과 상기 전자 장치의 PIN 인증 모듈 간의 난수를 발급하여 상기 결제 모듈과 상기 PIN 인증 모듈 간의 인증을 수행하는 동작;
    상기 인증된 PIN 인증 모듈을 통해 상기 사용자로부터 입력되는 PIN 입력을 인증하는 동작; 및
    상기 PIN 입력의 인증 결과에 따른 상기 인증된 세션과 관련된 정보를 확인하는 동작;을 더 포함하는, 전자 장치에서의 모바일 결제 수행 방법.
  15. 제12항에 있어서,
    상기 사용자 인증의 방식과 관련된 정보를 포함하는 어플리케이션 데이터를 상기 결제 장치와 교환하는 동작;을 더 포함하는, 전자 장치에서의 모바일 결제 수행 방법.
  16. 제15항에 있어서,
    상기 어플리케이션 데이터에 상기 사용자에 대한 인증 방식에 대한 정보를 포함하여 상기 결제 장치로 전송하는 동작;을 더 포함하는, 전자 장치에서의 모바일 결제 수행 방법.
KR1020200091645A 2020-07-23 2020-07-23 전자 장치 및 전자 장치에서의 온라인 인증을 통한 모바일 결제 수행 방법 KR20220012634A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200091645A KR20220012634A (ko) 2020-07-23 2020-07-23 전자 장치 및 전자 장치에서의 온라인 인증을 통한 모바일 결제 수행 방법
PCT/KR2021/006400 WO2022019459A1 (ko) 2020-07-23 2021-05-24 전자 장치 및 전자 장치에서의 온라인 인증을 통한 모바일 결제 수행 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200091645A KR20220012634A (ko) 2020-07-23 2020-07-23 전자 장치 및 전자 장치에서의 온라인 인증을 통한 모바일 결제 수행 방법

Publications (1)

Publication Number Publication Date
KR20220012634A true KR20220012634A (ko) 2022-02-04

Family

ID=79728822

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200091645A KR20220012634A (ko) 2020-07-23 2020-07-23 전자 장치 및 전자 장치에서의 온라인 인증을 통한 모바일 결제 수행 방법

Country Status (2)

Country Link
KR (1) KR20220012634A (ko)
WO (1) WO2022019459A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101926020B1 (ko) * 2011-07-11 2018-12-06 주식회사 비즈모델라인 동적 결정된 인증번호를 이용한 결제 운영 시스템
KR101511194B1 (ko) * 2013-01-24 2015-04-10 (주)원 휴대 단말기를 이용한 대면 결제 서비스 방법 및 시스템, 기록매체
KR101611796B1 (ko) * 2015-07-01 2016-04-12 주식회사 우리은행 이동통신 단말기를 이용한 가맹점 금융거래 시스템 및 그 방법
KR102079666B1 (ko) * 2016-02-23 2020-04-07 최건 온라인과 오프라인 구매 결제 처리 시스템 및 그 처리 방법
KR20190108821A (ko) * 2018-03-15 2019-09-25 삼성전자주식회사 온라인 인증을 이용하여 오프라인 결제를 수행하는 시스템 및 전자 장치

Also Published As

Publication number Publication date
WO2022019459A1 (ko) 2022-01-27

Similar Documents

Publication Publication Date Title
US20230281612A1 (en) Virtual pos terminal method and apparatus
KR102577054B1 (ko) 전자 결제 기능을 제공하는 전자 장치 및 그의 동작 방법
KR101820573B1 (ko) 금융 거래를 위한 모바일 머천트 접근 솔루션
KR101830952B1 (ko) Nfc 기반 결제를 위한 생체인식 인증 사용
KR101971329B1 (ko) 전자 디바이스 상의 크리덴셜의 프로비저닝 및 인증
CA2945703C (en) Systems, apparatus and methods for improved authentication
TWI686752B (zh) 使用電子裝置之安全元件之線上支付
US20210044575A1 (en) Electronic device and method for generating attestation certificate based on fused key
EP3244357A1 (en) Electronic apparatus providing electronic payment and operating method thereof
KR102441758B1 (ko) 전자 장치, 인증 대행 서버 및 결제 시스템
KR102458145B1 (ko) 결제를 위한 방법 및 장치
US11496900B2 (en) Electronic device and method for storing user identification information
KR101775668B1 (ko) 전자 장치, 인증 대행 서버 및 결제 시스템
US10699274B2 (en) Apparatus and method for secure electronic payment
US20210058233A1 (en) Electronic device providing blockchain account information and method of operating the same
KR20220006890A (ko) 모바일 결제를 지원하는 전자 장치, 그 동작 방법 및 저장 매체
KR102560769B1 (ko) 신분 정보를 제공하는 장치 및 그 시스템
KR20210127383A (ko) 블록체인 주소로 암호화폐를 송금하는 전자 장치와 이의 동작 방법
US20220166769A1 (en) Electronic device for verifying a user's identity
KR20220012634A (ko) 전자 장치 및 전자 장치에서의 온라인 인증을 통한 모바일 결제 수행 방법
KR20190108821A (ko) 온라인 인증을 이용하여 오프라인 결제를 수행하는 시스템 및 전자 장치
US10803446B2 (en) System and method for transmitting payment card information, and payment card
KR20220072142A (ko) 사용자의 신분을 증명해주기 위한 전자 장치
KR20220144745A (ko) 사용자의 생체 데이터를 이용해 인증을 수행하는 전자 장치 및 그 방법