KR20230157316A - 민감한 데이터를 데이터 전자 필드 내에 자동적으로 보안 제공하는 기술 - Google Patents

민감한 데이터를 데이터 전자 필드 내에 자동적으로 보안 제공하는 기술 Download PDF

Info

Publication number
KR20230157316A
KR20230157316A KR1020237028759A KR20237028759A KR20230157316A KR 20230157316 A KR20230157316 A KR 20230157316A KR 1020237028759 A KR1020237028759 A KR 1020237028759A KR 20237028759 A KR20237028759 A KR 20237028759A KR 20230157316 A KR20230157316 A KR 20230157316A
Authority
KR
South Korea
Prior art keywords
data
fields
information
contactless card
card
Prior art date
Application number
KR1020237028759A
Other languages
English (en)
Inventor
제프리 룰
케빈 오스본
웨인 러츠
라즈코 일린칙
Original Assignee
캐피탈 원 서비시즈, 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 캐피탈 원 서비시즈, 엘엘씨 filed Critical 캐피탈 원 서비시즈, 엘엘씨
Publication of KR20230157316A publication Critical patent/KR20230157316A/ko

Links

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/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/352Contactless payments by cards
    • 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/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • G06F21/35User authentication involving the use of external additional devices, e.g. dongles or smart cards communicating wirelessly
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging
    • 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/326Payment applications installed on the mobile devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/327Short range or proximity payments by means of M-devices
    • G06Q20/3278RFID or NFC payments by means of M-devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computer Hardware Design (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Finance (AREA)
  • Human Computer Interaction (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Telephonic Communication Services (AREA)
  • Character Discrimination (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명에서 논의된 실시형태는 전자 양식 또는 필드에 민감한 데이터를 자동으로 채우는 시스템, 방법 및 기술에 관한 것이다.

Description

민감한 데이터를 데이터 전자 필드 내에 자동적으로 보안 제공하는 기술
본 발명은 2021년 3월 4일자로 출원된 " 민감한 데이터를 데이터 전자 필드 내에 자동적으로 보안 제공하는 기술"이라는 제목의 미국 특허출원 제17/192,486호의 우선권을 주장한다. 상기 언급된 특허 출원의 내용은 그 전체로 본 발명에 참고문헌으로 포함된다.
매일 우리는 일반적으로 웹 사이트 및 기본 모바일 응용프로그램과 같은 모바일 플랫폼과 상호 작용한다. 이러한 플랫폼에서는 때때로 사용자가 필드나 양식에 개인적인 및/또는 민감한 데이터를 입력하도록 요구한다. 예를 들어 전자 상거래(e-commerce) 시스템을 통해 사용자는 집에서 편안하게 상품 및/또는 서비스에 대한 트랜잭션을 수행할 수 있다. 일반적으로 사용자는 웹 브라우저의 웹사이트 또는 기본 모바일 응용프로그램과 같은 응용프로그램을 통해 전자상거래 시스템과 인터페이스 한다.
전자 상거래 시스템에는 가상 쇼핑 카트와 체크아웃 프로세스가 일반적으로 포함된다. 대부분의 경우 체크아웃 프로세스에는 사용자가 결제 정보 예를 들어 신용 카드 또는 직불 카드 정보 및 기타 개인 정보를 입력하여 주문을 완료하는 과정이 포함된다. 그러나 이러한 프로세스는 특히 사용자가 모바일 디바이스와 같은 휴대용 디바이스에서 트랜잭션을 수행할 때 사용자에게 번거로울 수 있다. 예를 들어 체크아웃 프로세스에서 사용자는 계정 정보, 사용자 이름, 전화번호, 주소 등과 같은 여러 필드에서 상세한 결제 정보를 제공해야 할 수 있다.
상거래 체크아웃 프로세스를 사용하는 사용자가 정보를 입력하는 데 어려움을 겪거나 시간이 부족하거나 체크아웃 프로세스에 불만을 가지는 것은 일반적이다. 이러한 좌절은 종종 잠재적인 소비자가 트랜잭션을 포기하게 만든다. 사용자는 민감한 데이터를 입력할 것을 요구하는 다른 유형의 웹사이트 또는 응용프로그램 예를 들어 의료 시스템, 뱅킹 시스템 등에 대해 유사한 경험을 가지고 있다. 따라서 본 발명에 개시된 실시형태는 사용자가 안전한 방식으로 데이터를 입력하도록 요구하는 시스템 및 프로세스를 개선하는 것을 목표로 한다.
본 발명에서 논의된 실시형태는 일반적으로 사용자를 인증하고 채울 데이터를 결정함으로써 민감한 데이터로 필드를 자동으로 채우는 시스템, 디바이스, 방법 및 기술에 관한 것일 수 있다. 예를 들어 실시형태는 웹페이지의 필드를 새로운 정보 또는 업데이트된 정보로 자동으로 채우도록 형상화 된 모바일 디바이스를 포함할 수 있으며 이는 처리 회로 및 처리 회로와 결합된 메모리를 포함하고, 메모리는 처리 화로에 의해 실행될 때 처리 회로가 다음을 수행하도록 유도하는 명령어를 저장한다. 비접촉식 카드와의 통신 개시를 감지하고, 무선 인터페이스를 통해 비접촉식 카드와의 통신을 수행하고, 상기 통신은 비접촉식 카드로부터 인증 정보를 수신하는 단계를 포함하며, 온라인 시스템 웹페이지의 하나 이상의 필드를 감지한다. 하나 이상의 필드는 정보를 수신하도록 형상화 된 것이다.
또한 실시형태는 온라인 시스템을 식별하기 위한 정보를 결정하고, 인증 정보를 전달하고, 온라인 시스템을 식별하기 위한 정보를 서버에 전달하고, 서버는 인증 정보 및 온라인 시스템을 식별하기 위한 정보에 기반하여 데이터를 수득하기 위한 것이며, 서버에서 데이터를 수신하고, 웹페이지의 하나 이상의 필드를 데이터로 자동으로 채우기 위한 처리 회로를 포함한다.
실시형태는 또한 하나 이상의 프로세서 및 하나 이상의 프로세서와 결합된 메모리를 포함하는 시스템을 포함한다. 메모리는 하나 이상의 프로세서에 의해 실행될 때 하나 이상의 프로세서가 비접촉식 카드와 연관된 인증 정보 및 온라인 시스템을 식별하기 위한 식별 정보를 수신하고 처리하게 하는 명령어를 저장한다. 또한 시스템은 비접촉식 카드와 연관된 인증 작업을 수행하고 인증 작업이 성공했는지 여부를 결정할 수 있다.
인증 작업이 성공하면 시스템은 온라인 시스템과 연관된 웹페이지의 하나 이상의 필드를 채울 수 있는 데이터를 결정하고 모바일 디바이스에 데이터를 전송할 수 있으며 인증 작업이 성공하지 못하면 시스템은 인증 정보의 인증 실패를 나타내기 위한 표시를 모바일 디바이스에 전송할 수 있다.
또한 실시형태는 처리 회로 및 처리 회로와 결합된 메모리를 포함하는 컴퓨터 디바이스를 또한 포함한다. 메모리는 처리 회로에 의해 실행될 때 처리 회로가 데이터로 채울 웹페이지의 하나 이상의 필드를 감지하게 하고, 사용자를 인증하기 위해 비접촉식 카드로 인증 작업을 수행하고, 웹페이지 및 인증 작업의 성공적인 결과를 기반으로 하나 이상의 필드에 채울 데이터를 결정하고 및 웹페이지의 하나 이상의 필드를 데이터로 채우도록 유도하는 명령어를 저장한다.
특정 엘레멘트나 동작에 대한 논의를 쉽게 식별하기 위해 참조 번호에서 가장 중요한 숫자는 해당 엘레멘트가 처음 도입된 도면 번호를 나타낸다.
도 1은 실시형태에 따른 시스템(100)의 실시예를 도시한 것이다.
도 2는 실시형태에 따른 예시적인 시퀀스 흐름(200)을 도시한 것이다.
도 3은 하나의 실시형태에 따른 루틴(300)을 도시한 것이다.
도 4는 하나의 실시형태에 따른 루틴(400)을 도시한 것이다.
도 5는 실시형태에 따른 비접촉식 카드(500)를 도시한 것이다.
도 6은 실시형태에 따른 트랜잭션 카드 컴포넌트(600)를 도시한 것이다.
도 7은 하나의 실시형태에 따른 시퀀스 흐름(700)을 도시한 것이다.
도 8은 실시형태에 따른 데이터 구조(800)를 도시한 것이다.
도 9는 실시형태에 따른 키 시스템(900)의 도면이다.
도 10은 실시형태에 따라 암호문을 생성하기 위한 루틴(1000)을 도시한 것이다.
도 11은 실시형태에 따른 루틴(1100)을 도시한 것이다.
도 12는 실시형태에 따른 루틴(1200)을 도시한 것이다.
도 13은 하나의 실시형태에 따른 컴퓨터 아키텍처(1300)를 도시한 것이다.
도 14는 하나의 실시형태에 따른 통신 아키텍처(1400)를 도시한 것이다.
본 발명에서 논의된 실시형태는 웹페이지 또는 모바일 응용프로그램의 필드를 안전한 방식으로 데이터로 자동 채우는 방법, 시스템 및 기술에 관한 것이다. 예를 들어 기술은 민감한 데이터가 필드 또는 양식에 입력되어야 하는지 결정하는 단계, 사용자를 인증하기 위한 인증 작업을 수행하는 단계, 필드 또는 양식에 채울 민감한 데이터를 결정하는 단계를 포함할 수 있다. 민감한 데이터는 작업 또는 동작을 수행하기 위해 웹페이지 또는 모바일 응용프로그램의 하나 이상의 필드에 제공되거나 및/또는 자동으로 채워질 수 있다.
하나의 실시예로 작업은 상품 및/또는 서비스를 구매하기 위한 체크아웃 동작일 수 있으며 민감한 데이터는 구매를 위해 하나 이상의 필드에 채우는 계정 또는 결제 데이터일 수 있다. 실시형태는 웹 브라우저 또는 응용프로그램에 표시된 필드 또는 양식에 대해 보안 데이터가 요구되는지를 감지 및/또는 결정하는 단계 및 사용자를 인증하기 위해 사용자가 비접촉식 카드를 컴퓨터 디바이스에 탭 하게 함으로써 인증 동작을 개시하는 단계를 포함한다. 컴퓨터 디바이스는 서버와 통신하여 인증 동작을 수행하고 웹페이지 또는 모바일 응용프로그램에 채울 데이터를 결정할 수 있다.
예를 들어 컴퓨터 디바이스는 비접촉식 카드로부터의 정보 및 웹페이지/모바일 응용프로그램과 관련된 정보를 서버로 전송할 수 있다. 서버는 비접촉식 카드의 데이터를 활용하여 인증 작업을 수행할 수 있다. 사용자가 인증되면 서버는 웹페이지 또는 모바일 응용프로그램을 채우는 데 필요한 데이터를 결정할 수도 있다. 예를 들어 서버는 컴퓨터 디바이스에 제공하기 위해 결제 데이터를 자동으로 검색하고 웹페이지 또는 모바일 응용프로그램에 자동으로 채울 수 있다.
경우에 따라 결제 데이터는 비접촉식 카드의 계정 정보일 수 있다. 그러나 다른 경우에 서버는 웹페이지 또는 모바일 응용프로그램에 제공할 가장 최적의 결제 데이터를 결정하기 위해 하나 이상의 최적화 작업을 수행할 수 있다. 가장 최적의 결제 데이터는 예를 들어 캐쉬백, 여행 포인트, 항공 마일리지, 호텔 포인트, 판매자 할인 등과 같이 가장 많은 보상을 제공할 결제 데이터와 같은 하나 이상의 기준을 기반으로 할 수 있다. 기준은 구매를 수행하기에 충분한 자금을 지니는 계정과 연관된 결제 데이터가 포함할 수 있다. 실시형태는 이러한 실시예에 제한되지 않는다.
앞서 논의한 바와 같이 오늘날의 솔루션은 사용자가 보안 데이터를 수동으로 입력해야 하므로 불편하고 오류가 발생하기 쉽기 때문에 문제가 있다. 본 발명에서 논의된 동작은 예를 들어 사용자를 인증하고 웹페이지 또는 모바일 응용프로그램에 보안 정보를 채우기 위해 디바이스 위에서 또는 근처에서 비접촉식 카드를 탭하는 것과 같은 하나의 동작을 사용자가 수행할 수 있게 함으로써 이러한 문제 및 기타 문제를 해결한다. 본 발명에서 논의된 실시형태는 또한 이들 웹페이지 또는 모바일 응용프로그램 필드를 처리하는 컴퓨터에 대한 개선을 제공한다.
예를 들어 본 발명에 논의된 솔루션은 첫 번째 시도에서 정확한 데이터로 필드를 자동으로 채우는 안전한 방법을 제공한다. 이전 시스템에서는 사용자가 필드에 정보나 데이터를 잘못 입력하면 데이터를 처리하는 백-엔드 시스템으로 데이터가 전달된다. 백-엔드 시스템은 데이터를 처리하고 데이터가 올바른지 여부를 확인하고 사용자에게 오류 메시지를 전달해야 한다. 그 후 시스템은 올바른 데이터로 동일한 처리를 다시 수행해야 한다.
본 발명에서 논의된 실시형태는 데이터가 필드에 처음 입력될 때 데이터가 정확함을 보장함으로써 이러한 처리를 개선한다. 따라서 시스템은 더 적은 오류를 경험하고 더 적은 데이터를 통신함으로써 처리/통신 시간과 비용을 절약한다.
도 1은 본 발명에서 논의된 하나 이상의 동작을 수행하도록 형상화 된 시스템(100)의 예를 도시한다. 상세하게는 시스템(100)은 웹페이지 또는 모바일 응용프로그램의 하나 이상의 필드를 자동으로 채우기 위해 사용자에 의해 사용될 수 있는 하나 이상의 디바이스 및 시스템을 포함한다. 예시된 시스템(100)은 유선 및 무선 네트워크 연결과 같은 하나 이상의 상호 연결을 통해 결합된 비접촉식 카드(106), 컴퓨터 디바이스(102) 및 뱅킹 시스템(104)을 포함한다. 시스템(100)은 논의 목적을 위해 제한된 수의 컴포넌트, 디바이스 및 시스템을 나타내었지만 시스템(100)은 본 발명에서 논의된 동작을 가능하게 하기 위해 도시되지 않은 추가 컴포넌트, 디바이스 및 시스템을 포함한다.
실시형태에서 컴퓨터 디바이스(102)는 모바일 디바이스, 이동전화 디바이스, 휴대 정보 단말기, 태블릿 등과 같은 임의의 유형의 컴퓨터 디바이스일 수 있다. 실시형태에서 컴퓨터 디바이스(102)는 컴퓨터, 개인용 컴퓨터, 데스크톱 컴퓨터, 랩톱 컴퓨터, 서버, 클라우드 기반 컴퓨터 등일 수도 있다. 컴퓨터 디바이스(102)는 하나 이상의 프로세서 및/또는 처리 컴포넌트와 같은 처리 회로, 메모리, 저장소, 하나 이상의 인터페이스, 하나 이상의 디스플레이 등을 포함하는 다수의 컴포넌트를 포함할 수 있다.
하나 이상의 인터페이스는 유선 및 무선으로 통신하도록 형상화 된 네트워크 어댑터를 포함할 수 있다. 무선 인터페이스는 블루투스 인터페이스, 근거리 통신(NFC) 인터페이스 등과 같이 셀룰러 통신, WiFi(Wireless Fidelity) 통신 및 근거리 통신을 수행하도록 형상화 된 것을 포함할 수 있다.
또한 실시형태에서 컴퓨터 디바이스(102)는 컴퓨터 디바이스(102)의 응용프로그램과 하드웨어 컴포넌트와 같은 고수준 소프트웨어 사이에서 수행되는 동작을 조정하도록 형상화 된 하나 이상의 운영 체제(OS)를 포함하여 본 발명에서 논의된 동작을 수행하기 위한 소프트웨어 명령어를 저장하고 실행하도록 형상화 된다. 본 발명서 논의된 실시형태는 Android® OS, Windows® OS, Apple® OS 등을 포함하는 임의의 OS에 따라 동작하도록 형상화 될 수 있다.
컴퓨터 디바이스(102)는 응용프로그램(앱)과 같은 추가 소프트웨어를 포함할 수 있다. 실시형태에서 컴퓨터 디바이스(102)는 사용자가 상품 및 서비스를 쇼핑하고 트랜잭션을 수행할 수 있도록 형상화 된 앱을 포함할 수 있다. 앱은 예를 들어 판매자가 만든 독립 실행형 앱일 수 있으며 온라인 판매자 시스템과 같은 백-엔드 시스템에 대한 인터페이스를 제공한다. 또한 실시형태에서 컴퓨터 디바이스(102)는 사용자가 웹사이트에 액세스하고 이를 볼 수 있게 하는 하나 이상의 웹 브라우저 앱 및 경우에 따라 온라인 판매자 시스템에서 제공하는 판매자 웹 사이트를 포함한다.
이러한 경우 사용자는 웹 브라우저에 표시된 웹 사이트를 통해 온라인 판매자 시스템과 트랜잭션을 수행할 수 있다. 컴퓨터 디바이스(102)는 뱅킹 앱, 투자 앱, 호텔 앱, 항공 앱, 이메일 앱, 소셜 미디어 앱, 통신 앱, 의료 앱 등과 같이 본 발명에서 논의된 동작을 수행하도록 형상화 된 다른 앱을 포함할 수 있다.
또한 실시형태에서 컴퓨터 디바이스(102)는 컴퓨터 디바이스(102), 뱅킹 시스템(104) 및 비접촉식 카드(106) 상의 하나 이상의 다른 앱과 인터페이스 하도록 형상화 된 뱅킹 앱을 포함한다. 실시형태에서 뱅킹 앱은 앱 및 웹 브라우저가 본 발명에서 논의된 하나 이상의 동작을 수행하기 위해 뱅킹 앱과 인터페이스하고 통신할 수 있게 하는 하나 이상의 응용프로그램 프로그래밍 인터페이스(API)로 형상화 될 수 있다.
예를 들어 앱 또는 웹 브라우저는 예를 들어 결제 정보를 결정하기 위한 트랜잭션을 수행하기 위한 체크아웃 프로세스 동안, 대출 신청 데이터를 제공하는 단계, 의료 데이터를 제공하는 단계 등과 같이 하나 이상의 필드에 데이터가 필요할 때 뱅킹 앱과 인터페이스 할 수 있다. 뱅킹 앱은 비접촉식 카드 및 서버와 통신하여 사용자를 인증하는 단계, 필드 또는 양식에 채워질 데이터를 결정하는 단계, 데이터가 자동으로 채워지도록 유도하는 단계의 하나 이상을 수행할 수 있다.
그러나 다른 경우에는 본 발명에서 논의된 작업을 수행하기 위한 명령어 또는 코드가 기본 또는 제3자 응용 프로그램 자체에 내장 및/또는 포함될 수 있다. 예를 들어 판매자의 응용프로그램은 인증 동작을 수행하고, 민감한 데이터를 결정하기 위해 서버와 통신하고, 적절한 필드 또는 데이터 입력 영역에 민감한 정보를 자동으로 채우거나 및/또는 삽입하기 위한 명령어를 포함할 수 있다. 다른 실시예에서 웹 브라우저는 작업을 수행하기 위한 명령어 및/또는 플러그인을 포함할 수 있다.
실시형태에서 컴퓨터 디바이스(102)는 데이터가 하나 이상의 필드 또는 양식에 자동으로 채워질 수 있음을 결정하거나 감지할 수 있으며 비접촉식 카드 및 뱅킹 시스템(104)으로 인증 동작을 우선 수행할 수 있다. 예를 들어 뱅킹 앱 및/또는 명령어는 사용자가 비접촉식 카드(106)를 컴퓨터 디바이스(102)에 제공하도록 예를 들어 컴퓨터 디바이스(102)의 작동 범위 내로 비접촉식 카드(106)를 가져오도록 디스플레이 디바이스 상에 프롬프트가 표시되도록 트리거 또는 유도할 수 있다.
작동 범위는 비접촉식 카드(106)와 통신하도록 형상화 된 단거리 통신 인터페이스의 통신 범위로 정의될 수 있다. 예를 들어 NFC 작동 범위는 약 10cm 이하이다. 비접촉식 카드(106)는 사용자를 식별하는 데 사용될 수 있는 암호문으로 정보를 교환하는 것을 포함하여 도 5 내지 도 12에서 논의된 비접촉식 카드와 통신하도록 형상화 되고 이와 동일할 수 있다.
실시형태에서 컴퓨터 디바이스(102)는 카드와의 하나 이상의 단거리 통신 교환을 통해 비접촉식 카드(106)로부터 정보 및 데이터를 수신할 수 있다. 컴퓨터 디바이스(102)는 하나 이상의 교환을 통해 비접촉식 카드(106)로부터 수신된 정보를 뱅킹 시스템(104)과 더욱 통신하도록 형상화 될 수 있다. 정보는 사용자를 인증하기 위해 뱅킹 시스템(104)에 의해 활용될 수 있다. 사용자가 인증되지 않은 경우 자동으로 데이터를 채우는 동작이 중단될 수 있다.
사용자가 인증되면 동작은 데이터를 결정하고 데이터가 자동으로 채워지도록 할 수 있다. 예를 들어 컴퓨터 디바이스(102)는 하나 이상의 필드에 관한 추가 정보 예를 들어 웹페이지 또는 모바일 응용프로그램의 식별자 및 필드의 식별자를 뱅킹 시스템(104)에 제공할 수 있다. 뱅킹 시스템(104)은 추가 정보를 활용하여 웹페이지 또는 모바일 응용프로그램에 채워질 민감한 데이터를 결정할 수 있다. 결정된 데이터는 컴퓨터 디바이스(102)에 다시 제공되고 해당 필드에 채워질 수 있다.
실시형태에서 뱅킹 시스템(104)은 고객에게 뱅킹 서비스를 제공하고 본 발명에서 논의된 동작을 수행하도록 형상화 된 서버, 네트워크 장비 등과 같은 하나 이상의 컴퓨터 디바이스를 포함한다. 실시형태는 뱅킹 시스템(104)의 특정 형상화에 제한되지 않는다. 실시형태에서 뱅킹 시스템(104)은 컴퓨터 디바이스(102)로부터 정보를 수신하고, 사용자를 인증하고, 웹페이지 또는 모바일 응용프로그램의 하나 이상의 필드에 채울 데이터를 결정하도록 형상화 된다.
뱅킹 시스템(104)은 컴퓨터 디바이스(102)로부터 수신된 데이터를 저장된 데이터와 비교함으로써 사용자를 인증할 수 있다. 하기 더욱 상세히 논의되는 바와 같이 뱅킹 시스템(104)은 비접촉식 카드로부터의 데이터가 공유 키를 활용하여 복호화 될 수 있고 카드로부터의 정보가 저장된 데이터 예를 들어 공유 비밀과 매치하는지 보장할 수 있다. 실시형태는 이러한 방식으로 사용자를 인증하는 것으로 제한되지 않으며 일부 경우에 사용자는 사용자를 인증하기 위해 컴퓨터 디바이스(102) 및/또는 뱅킹 시스템(104)에 의해 사용될 수 있는 패스워드, 생체인식 입력 등을 제공할 수 있는 것에 유의한다.
인증되면 뱅킹 시스템은 필드 또는 양식을 채울 데이터를 결정할 수 있다. 트랜잭션 실시예에서 뱅킹 시스템(104)은 비접촉식 카드로부터 수신된 데이터 및/또는 컴퓨터 디바이스(102)로부터 수신된 정보에 기반하여 결제 계정을 결정할 수 있다. 특히 뱅킹 시스템(104)은 사용자와 연관된 계정 정보를 결정하기 위해 보안 데이터베이스 또는 데이터 저장소에서 조회를 수행할 수 있다. 계정 정보는 비접촉식 카드의 신용 카드 계정에 연결된 신용 카드 계정 번호를 포함할 수 있다.
예를 들어 사용자의 이름, 사용자의 주소, 사용자의 전화번호, 계정과 연관된 검증 값, 계정과 연관된 유효기한 등과 같은 추가 정보가 필드에 채워지도록 또한 결정될 수 있다. 이러한 정보는 연관 필드에 채우기 위해 컴퓨터 디바이스(102)에 다시 제공될 수 있다.
일부 경우에 뱅킹 시스템(104)은 하나 이상의 옵션 또는 최적의 데이터가 필드를 채우기 위해 존재하는지 예를 들어 트랜잭션을 수행하기 위해 상이한 계정 정보를 사용하는 것이 사용자에게 더 유익한지 여부를 결정하는 단계를 포함하여 사용자를 위한 추가 서비스를 제공할 수 있다. 예를 들어 뱅킹 시스템(104)은 판매자를 식별하고 최적의 결제 데이터를 결정하기 위해 데이터를 사용할 수 있다. 하나의 특정 예에서 뱅킹 시스템(104)은 판매자가 항공사임을 결정하기 위해 판매자 식별자를 사용할 수 있다.
뱅킹 시스템(104)은 트랜잭션을 수행하는 데 사용되는 경우 마일 또는 포인트를 수신할 개설된 뱅킹 또는 신용 계정을 사용자가 가지고 있다고 결정할 수 있다. 뱅킹 시스템(104)은 트랜잭션을 수행하기 위해 비접촉식 카드와 연관된 계정 대신에 대체 계정을 활용하도록 컴퓨터 디바이스(102)의 사용자에게 옵션을 제공할 수 있다.
사용자는 윈도우를 통한 계정 및/또는 예를 들어 컴퓨터 디바이스(102)의 디스플레이 상의 GUI에 제시된 정보를 통해 선택할 수 있다. 뱅킹 시스템(104)은 사용자가 선택할 다수의 옵션인 3개 이상의 계좌를 제공할 수 있다. 사용자가 선택하면 선택에 상응하는 데이터가 필드에 채워질 수 있다.
뱅킹 시스템(104)은 하나 이상의 기준 예를 들어 보상, 연이율(APR), 현재 인센티브 프로그램인 6개월 동안 0% 이자 등에 기반하여 사용자에게 선택적 및/또는 최적 제안을 제공하도록 결정할 수 있다. 상세하게는 뱅킹 시스템(104)은 비접촉식 카드와 연관된 계좌를 포함하여 사용자와 연관된 하나 이상의 계좌를 분석할 수 있다.
뱅킹 시스템(104)은 뱅킹 시스템(104)에 의해 제어되는 데이터베이스 또는 데이터 저장소에 각각의 사용자에 대한 계좌 정보를 저장할 수 있다. 사용자에 대한 제안을 결정하기 위해 뱅킹 시스템(104)은 은행에 의해 유지되는 계정 각각의 특징 예를 들어 보상, APR, 인센티브 제안 등을 비교하여 어떤 계정이 사용자에게 최적인지를 결정할 수 있다.
일부 경우에 뱅킹 시스템(104)은 제3자 시스템 예를 들어 다른 뱅킹 시스템, 항공사 시스템, 판매자 시스템 등과 통신하여 필드를 채우기 위해 사용될 수 있는 추가 계정 또는 정보를 결정할 수 있다. 정보가 분석되면 뱅킹 시스템(104)은 옵션을 다시 사용자 및 컴퓨터 디바이스(102)로 전달할 수 있다.
예를 들어 뱅킹 시스템(104)은 모든 선택적 제안을 컴퓨터 디바이스(102)에 전달할 수 있다. 선택적 제안은 트랜잭션을 수행하기 위해 이용 가능한 모든 계정의 목록일 수 있다. 사용자는 옵션 중 하나를 선택할 수 있으며 선택에 기반하여 데이터가 채워지거나 웹페이지 또는 모바일 응용프로그램에 제공될 수 있다. 일부 경우에는 사용자 선택의 응답이 컴퓨터 디바이스(102)로부터 뱅킹 시스템(104)에 제공될 수 있으며 뱅킹 시스템(104)은 웹페이지 또는 모바일 응용프로그램에 채우기 위한 결제 데이터를 포함하는 다른 통신을 컴퓨터 디바이스(102)로 전송할 수 있다.
실시형태에서 뱅킹 시스템(104)은 선택적 제안에 순위를 매길 수 있다. 순위는 사용자가 설정한 하나 이상의 설정을 기반으로 할 수 있다. 예를 들어 뱅킹 시스템(104)은 구매를 수행하기 위해 이용 가능한 계정을 사용자에 의해 설정된 선호도와 비교할 수 있다. 선호도는 사용자가 트랜잭션을 수행하기 위해 사용하기 원하는 단순 주문 계정을 포함할 수 있다. 다른 경우에 사용자는 보상이 가장 높은 계정과 같이 상이한 선호도를 설정할 수 있다. 이러한 실시예에서 뱅킹 시스템(104)은 트랜잭션에 대해 제공하는 보상에 기반하여 계정의 순위를 매길 수 있다. 실시형태에서 순위 정보는 컴퓨터 디바이스(102)에 제공되고 사용자에게 제시될 수 있다. 사용자는 제시된 정보를 기반으로 현명한 결정을 내릴 수 있다.
일부 경우에 뱅킹 시스템(104)은 사용자에 대해 설정된 선호도에 기반하여 계좌 중 하나를 자동으로 선택할 수 있다. 예를 들어 뱅킹 시스템(104)은 사용자에 의해 제공된 순위 목록에서 이용 가능한 제1 계좌를 선택할 수 있다. 다른 실시예에서 뱅킹 시스템(104)은 가장 큰 보상 예를 들어 최고 마일, 가장 높은 퍼센트 백, 인센티브 제공 등을 제공할 계좌를 선택할 수 있다. 어떤 경우에 뱅킹 시스템(104)은 하나 이상의 계산을 수행하여 각각의 보상에 대해 유사한 가치를 결정할 수 있다.
예를 들어 뱅킹 시스템(104)은 마일을 금전적 가치로 변환하고 사용자에 대한 과거 결제에 기반하여 지불된 추정 이자, 인센티브 제공에 기반하여 절약된 금액 등을 결정할 수 있다. 뱅킹 시스템(104)은 예를 들어 캐쉬백 또는 수득한 금전/보상과 같이 사용자에게 가장 많은 금전적인 가치를 제공할 계정을 선택할 수 있다. 유일한 단일 정보가 컴퓨터 디바이스(102)에 제공될 수 있거나 뱅킹 시스템(104)이 최적의 정보를 선택하는 경우, 뱅킹 시스템(104)은 컴퓨터 디바이스(102)에 정보를 전달할 수 있으며 컴퓨터 디바이스(102)는 사용자 개입 없이 필드 또는 양식을 자동으로 채운다. 즉 사용자는 선택할 필요가 없다.
실시형태는 이러한 방식으로 제한되지 않는다. 일부 실시형태에서 뱅킹 시스템(104)에 의해 수행되는 하나 이상의 동작은 컴퓨터 디바이스(102)에 의해 국소적으로 수행될 수 있음에 유의한다. 예를 들어 컴퓨터 디바이스(102)는 하나 이상의 필드에 채워질 수 있는 데이터를 국소적으로 저장할 수 있다. 실시형태는 이러한 방식으로 제한되지 않는다.
도 2는 컴퓨터 디바이스(102), 비접촉식 카드(106) 및 뱅킹 시스템(104) 사이에서 수행될 수 있는 예시적인 시퀀스 흐름(200)을 도시한다. 시퀀스 흐름(200)과 관련하여 논의된 동작들은 웹페이지 또는 모바일 응용프로그램에 필요한 민감한 데이터를 결정하고 컴퓨터 디바이스의 사용자를 인증하기 위한 인증 동작을 수행하고 웹페이지 또는 응용프로그램에 대해 채워질 민감한 데이터를 결정하도록 수행될 수 있다. 상기 논의된 바와 같이 데이터는 웹페이지 또는 응용프로그램의 하나 이상의 필드에 필요한 민감한 데이터일 수 있다.
라인 202에서 시퀀스 흐름(200)은 데이터가 웹사이트 또는 모바일 디바이스의 필드 또는 양식에 필요하다고 결정하는 컴퓨터 디바이스(102)를 포함한다. 예를 들어 명령어를 실행하는 컴퓨터 디바이스(102)는 데이터 입력을 요구하는 필드 또는 양식이 디스플레이 상에서 사용자에게 제시된다는 신호 또는 표시를 수신할 수 있다. 신호 또는 표시는 뱅킹 앱, 웹 브라우저 또는 컴퓨터 디바이스(102)에서 실행되는 기본 제3자 응용프로그램의 기능에 대한 기능 호출을 통해 수신될 수 있다.
다른 실시예에서 컴퓨터 디바이스(102)는 백그라운드 프로세스로서 동작하는 스레드 또는 기능을 실행할 수 있으며 또 다른 응용프로그램이 데이터 입력을 요구하는 하나 이상의 필드를 GUI에 제시하고 있을 때를 감지한다. 일부 실시형태에서 명령어는 JavaScript(JS)와 같은 프로그래밍 언어 또는 Python과 같은 스크립트 언어로 구현될 수 있으며 데이터 입력 요건을 감지하기 위해 호출되거나 실행될 수 있다.
실시형태에서 명령은 필드 또는 양식이 민감한 데이터를 요구할 때를 자동으로 감지할 수 있다. 민감한 데이터는 사용자가 비밀 또는 비공개로 유지하려는 모든 유형의 데이터일 수 있다. 예를 들어 민감한 데이터는 개인 정보, 뱅킹 정보, 의료 정보 등일 수 있다. 본 발명에서 논의되는 하나의 실시예에서 민감한 데이터는 트랜잭션을 수행하는 데 사용되는 트랜잭션 데이터일 수 있다. 예를 들어 사용자는 모바일 응용프로그램 또는 웹 브라우저를 활용하여 온라인 쇼핑을 수행할 수 있다. 사용자는 상품 및/또는 서비스를 전자 쇼핑 카트, 즉 저장 위치에 추가하고 프로세스가 완료되면 체크아웃 프로세스를 개시할 수 있다.
일반적으로 앱 또는 웹 브라우저는 디스플레이의 그래픽 사용자 인터페이스(GUI)에 체크아웃 페이지를 표시할 수 있으며 배송 정보, 상품/서비스가 정확한지 여부에 대한 확인 및 청구/결제 정보를 포함하는 정보를 제공하도록 사용자에게 요청할 수 있다. 컴퓨터 디바이스(102)는 사용자에게 제시된 엘레멘트 즉 필드의 명칭과 유형을 분석하는 하나 이상의 명령어를 실행할 수 있다.
명령어는 엘레멘트가 필드임을 감지하고 텍스트 기반 분석을 수행하여 민감한 데이터가 필요함을 명칭이 나타내는지 감지할 수 있다. 예를 들어 엘레멘트의 명칭은 은행 계좌 번호가 필드에 입력되어야 함을 나타내는 "AccountNumber,"일 수 있다. 명령어는 사용자가 필드 또는 양식이 있는 페이지로 이동할 때 페이지 내의 엘레멘트로부터 필드 식별자, 필드 명칭 또는 XPath를 감지하도록 자바스크립트 또는 Python 과 같은 프로그래밍 언어로 구현될 수 있다.
데이터는 민감한 데이터이고 사용자가 아닌 다른 사람이 사용하는 것은 유해한 사용자일 수 있으므로 시스템은 사용자가 데이터의 소유자임을 검증할 수 있다. 특히 라인 204에서 시퀀스 흐름(200)은 사용자를 인증하기 위해 인증 동작을 수행하는 단계를 포함한다. 이러한 실시예에서 비접촉식 카드에 저장된 데이터를 활용하여 인증 동작이 수행된다. 그러나 다른 인증 동작 예를 들어 패스코드 입력, 생체 인식 입력 등이 수행될 수 있다.
이러한 실시예에서 컴퓨터 디바이스(102)는 컴퓨터 디바이스(102)에 비접촉식 카드(106)를 제시하도록 예를 들어 컴퓨터 디바이스(102)의 통신 범위 내에 비접촉식 카드(106)를 가져오도록 사용자에게 프롬프트 한다. 컴퓨터 디바이스(102)는 비접촉식 카드(106)를 탭 하게 하는 표시를 컴퓨터 디바이스(102)의 디스플레이 상의 GUI 내에서 제시할 수 있으며 이는 카드가 컴퓨터 디바이스(102)의 통신 내에 진입하는 것을 보장한다.
카드를 디스플레이에 탭 하라는 표시가 웹 브라우저 또는 모바일 응용프로그램에 표시될 수 있다. 예를 들어 모바일 앱 또는 웹 브라우저를 포함하는 컴퓨터 디바이스(102)는 결제 정보를 입력하기 위해 사용자가 일반적으로 사용하는 필드에 표시를 제공할 수 있다. 이 필드에는 "디스플레이에 결제 카드를 탭 하세요"라는 문구가 포함될 수 있다.
다른 실시예에서 컴퓨터 디바이스(102)는 카드를 디스플레이에 탭 하라는 표시를 포함하는 팝업 GUI가 디스플레이 상에서 사용자에게 제시되게 할 수 있다. 뱅킹 앱 및/또는 내장된 명령어는 비접촉식 카드와의 단거리 통신을 수행하기 위해 초기화하고 준비한다. 예를 들어 컴퓨터 디바이스(102)는 비접촉식 카드로 하나 이상의 NFC 판독을 수행하는 것과 같은 하나 이상의 NFC 교환을 초기화 하는 것을 포함하는 하나 이상의 명령어를 실행할 수 있다.
라인 206에서 시퀀스 흐름(200)은 비접촉식 카드(106)와의 단거리 통신 교환을 수행하는 단계를 포함한다. 실시형태에서 단거리 통신 교환은 NFC 교환일 수 있으며 연결을 설정하기 위한 NFC 초기화 교환 및 비접촉식 카드(106)로부터 데이터를 판독하기 위해 컴퓨터 디바이스(102)에 의해 수행되는 하나 이상의 NFC 판독 동작을 수행하는 컴퓨터 디바이스(102) 및 비접촉식 카드(106)를 포함할 수 있다. 실시형태에서 비접촉식 카드(106)는 전자기 에너지를 통해 컴퓨터 디바이스(102)로부터 전력을 수신하도록 형상화 될 수 있고 그러나 실시형태는 이러한 방식으로 제한되지 않으며 몇몇 경우에 비접촉식 카드(106)는 배터리와 같은 자체 전원을 포함할 수 있다.
실시형태에서 라인 206에서의 NFC 교환은 고객을 식별하고 트랜잭션을 수행하기 위한 정보를 포함하는 NFC 페이로드를 수신하기 위해 판독 동작을 수행하는 컴퓨터 디바이스(102)를 포함한다. 예를 들어 NFC 페이로드는 하나 이상의 식별 번호, 카운터, 버전 번호 및 공유 비밀을 포함하는 인증 정보를 지니는 암호문을 포함할 수 있으며 도 5 내지 도 12에서 설명된 바와 같이 다양화 키를 사용하여 비접촉식 카드(106)에 의해 암호화 될 수 있다. 일부 실시형태에서 페이로드는 비접촉식 카드(106)와 관련된 고객을 식별할 수 있는 암호화되지 않은 식별자와 같은 추가 정보를 포함할 수 있다. 실시형태는 이러한 방식으로 제한되지 않는다.
라인 208에서 시퀀스 흐름(200)은 비접촉식 카드(106)로부터 정보를 수신하고 처리하는 컴퓨터 디바이스(102)를 포함한다. 예를 들어 컴퓨터 디바이스(102)는 인증 동작을 수행하기 위해 비접촉식 카드로부터 뱅킹 시스템에 전달하기 위한 정보를 준비할 수 있다. 예를 들어 암호화와 같은 추가 보안 동작의 적용, 데이터 포맷팅, 뱅킹 시스템(104)으로의 표시 전송 등이다. 상이한 인증 동작이 수행될 때 컴퓨터 디바이스(102)는 이러한 시퀀스 단계에서 사용자를 인증하기 위한 패스코드, 생체 데이터 등을 처리할 수 있다.
비접촉식 카드로부터의 데이터를 처리하고 이를 뱅킹 시스템으로 전송하는 것 외에도 컴퓨터 디바이스(102)는 필요한 민감한 데이터에 관한 추가 정보를 결정 및/또는 수집할 수 있다. 예를 들어 컴퓨터 디바이스(102)는 요청된 데이터 또는 필드 및 웹페이지/모바일 응용프로그램을 식별하기 위해 뱅킹 시스템(104)에 의해 사용될 수 있는 식별자를 결정할 수 있다.
라인 210에서 시퀀스 흐름(200)은 컴퓨터 디바이스(102)가 비접촉식 카드(106)로부터의 정보 및 추가 정보를 뱅킹 시스템(104)에 통신하는 것을 포함한다. 비접촉식 카드 정보 및 식별자 정보는 하나 이상의 무선 및 무선 연결을 통해 하나 이상의 메시지 내에서 안전하게 전달될 수 있다.
뱅킹 시스템(104)은 컴퓨터 디바이스(102)로부터 정보를 수신하고 처리할 수 있다. 상세하게는 뱅킹 시스템(104)은 컴퓨터 디바이스(102) 및 비접촉식 카드(106)로부터 수신된 정보에 기반하여 고객의 신원을 확인할 수 있다. 예를 들어 뱅킹 시스템(104)은 카드로부터의 정보를 저장된 인증 정보와 비교하여 공유 비밀이 고객과 연관된 인증된 공유 비밀과 매치하는지 확인할 수 있다.
비접촉식 카드 정보가 올바른지 확인하는 뱅킹 시스템(104)에 의해 또는 인증 동작을 수행하는 컴퓨터 디바이스(102)에 의해 사용자가 인증되면 뱅킹 시스템(104)은 필드 또는 양식을 작성하는데 필요한 데이터 예를 들어 컴퓨터 디바이스(102)로 다시 전송할 데이터를 결정할 수 있다. 예를 들어 뱅킹 시스템(104)은 컴퓨터 디바이스(102)로 전송할 결제 데이터 및/또는 개인 데이터를 결정하여 필드를 채울 수 있다.
전술한 바와 같이 결제 데이터는 비접촉식 카드(106)와 연관된 계좌 번호를 포함할 수 있으며 뱅킹 시스템(104)은 번호를 결정하기 위해 데이터베이스 또는 데이터 저장소에서 조회를 수행할 수 있다. 뱅킹 시스템(104)은 다른 데이터 예를 들어 개인 데이터, 의료 데이터, 기타 결제 데이터 등을 결정하기 위해 유사한 동작을 수행할 수 있다. 예를 들어 뱅킹 시스템은 하나 이상의 기준을 기반으로 사용자에게 제공되는 혜택에 기반하여 다른 계정에 대한 결제 데이터를 결정할 수 있다. 일부 경우에 뱅킹 시스템(104)은 사용자가 하나 이상의 필드에 입력하기 위해 선택할 수 있는 옵션 또는 제안을 결정하고 제공할 수 있다.
라인 212에서 뱅킹 시스템(104)은 데이터를 컴퓨터 디바이스(102)로 전송하여 하나 이상의 필드를 자동으로 채울 수 있다. 라인 214에서 데이터는 컴퓨터 디바이스(102)에 의해 수신되어 필드에 자동으로 입력될 수 있다. 도 3과 관련하여 더욱 상세히 논의되는 바와 같이 컴퓨터 디바이스(102)는 뱅킹 시스템(104)으로부터 수신된 데이터의 식별 정보 및 채워질 엘레멘트 즉 필드의 명칭 또는 식별자에 기반하여 하나 이상의 필드를 자동으로 채울 수 있다. 뱅킹 시스템(104)이 하나 이상의 제안을 사용자에게 제공하는 경우, 사용자는 제안 중 하나를 선택하도록 프롬프트 될 수 있으며 데이터는 사용자 선택에 기반하여 하나 이상의 필드에 채워질 수 있다.
도 3은 모바일 디바이스 등일 수 있는 컴퓨터 디바이스(102)와 같은 디바이스에 의해 수행될 수 있는 루틴(300)을 도시하며 이는 온라인 트랜잭션 수행, 대출 신청 제출, 의료 정보 제공 등과 같은 동작을 수행하기 위해 웹페이지 또는 모바일 응용프로그램에 데이터를 자동으로 채우거나 제공하기 위한 것이다. 도시된 루틴(300)에서 하나 이상의 동작은 컴퓨터 디바이스(102)에서 실행되는 하나 이상의 앱 또는 명령어에 의해 수행될 수 있다.
일부 경우에 데이터는 트랜잭션을 수행하기 위한 계정 데이터일 수 있다. 그러나 실시형태는 이러한 방식으로 제한되지 않는다. 상기 설명한 바와 같이 데이터는 개인 데이터, 의료 데이터 등이 될 수 있으며 동작을 수행하는 데 사용된다. 루틴(300)은 사용자를 인증하기 위한 컴퓨터 디바이스(102)와 비접촉식 카드 간의 교환으로 시작한다. 그러나 도 2에서 논의된 바와 같이 교환 전에 하나 이상의 동작이 수행될 수 있으며 예를 들어 필드가 감지될 수 있다.
블록 302에서 루틴(300)은 비접촉식 카드와의 통신 개시를 감지한다. 일부 경우에 비접촉식 카드와의 통신 개시는 민감한 데이터를 요구하는 하나 이상의 필드의 감지에 기반하며 이의 결과일 수 있다. 컴퓨터 디바이스(102)는 메시지 또는 요청을 표시함으로써 비접촉식 카드를 통신 거리 내에 가져오도록 사용자에게 프롬프트 할 수 있다. 예를 들어 명령어를 실행하는 컴퓨터 디바이스(102)는 디스플레이에 비접촉식 카드를 탭 하라는 메시지를 디스플레이 상에 제시할 수 있다.
메시지는 웹페이지 또는 모바일 응용프로그램 또는 디스플레이의 팝업 창에서 민감한 데이터를 요구하는 하나 이상의 필드 내에 또는 그 주변에 표시될 수 있다. 팝업 창은 사용자가 민감한 데이터를 입력하도록 요구하는 디스플레이 상에 제시된 하나 이상의 필드의 감지를 기반으로 하는 명령어에 의해 트리거 될 수 있다. 컴퓨터 디바이스(102)는 표시된 엘레멘트의 명칭 예를 들어 필드에 대한 태그 또는 라벨에 기반하여 민감한 데이터를 필요로 하는 하나 이상의 필드를 감지할 수 있다.
일부 경우에 사용자가 특정 페이지로 이동할 때 명령어가 데이터 요청을 트리거 하고 예를 들어 비접촉식 카드를 컴퓨터 디바이스(102)로 가져오는 것과 같은 인증 동작을 수행하도록 명령어가 웹페이지 또는 모바일 응용프로그램 자체에 내장될 수 있다.
블록 304에서 루틴(300)은 무선 인터페이스를 통해 비접촉식 카드와의 통신을 수행하며 통신은 비접촉식 카드로부터 인증 정보를 수신하는 것을 포함한다. 컴퓨터 디바이스(102)와 비접촉식 카드는 NFC 데이터 교환 형식(NDEF) 메시지와 같은 하나 이상의 메시지에서 정보를 교환할 수 있다. 비접촉식 카드와의 통신 교환은 비접촉식 카드로부터 인증 정보를 수신하는 것을 포함할 수 있다.
일부 실시형태에서 컴퓨터 디바이스(102)는 비접촉식 카드로부터 암호문을 포함하는 페이로드를 수신할 수 있다. 본 발명에서 논의되는 바와 같이 암호문은 하나 이상의 식별 번호, 카운터, 버전 번호 및 공유 비밀을 지니는 인증 정보를 포함하며 다양화 키를 사용하여 암호화될 수 있다. 암호문은 비접촉식 카드에 의해 생성, 암호화 되고 컴퓨터 디바이스(102)로 전달될 수 있다. 실시형태에서 페이로드는 암호화되지 않은 식별자와 같은 추가 정보를 포함할 수 있다.
암호화되지 않은 식별자는 비접촉식 카드와 연관되어 저장되어 있는 고객을 식별하기 위한 고객 식별자일 수 있다. 실시형태는 이러한 방식으로 제한되지 않는다. 컴퓨터 디바이스(102)는 서버 또는 뱅킹 시스템과의 인증 동작을 수행하기 위해 정보를 활용할 수 있다.
블록 306에서 루틴(300)은 온라인 시스템의 웹페이지 또는 모바일 응용프로그램의 하나 이상의 필드를 감지하거나 결정한다. 하나 이상의 필드는 사용자로부터 데이터를 수신하거나 자동으로 채워지도록 형상화 된다. 예를 들어 컴퓨터 디바이스(102)는 특정 필드의 태그 또는 라벨에 기반하여 웹페이지 또는 모바일 응용프로그램에 현재 표시되고 있는 필드를 식별하기 위해 하나 이상의 JavaScript 또는 Java 기능을 실행할 수 있다.
일부 경우에 컴퓨터 디바이스(102)는 웹페이지 또는 모바일 응용프로그램에 표시되는 필드 또는 엘레멘트를 결정하기 위해 XPath 쿼리 언어를 활용할 수 있다. XPath 쿼리의 결과는 웹페이지 또는 모바일 응용프로그램의 각 엘레멘트에 대한 명칭 또는 라벨을 반환할 수 있다. 반환된 명칭 또는 라벨의 텍스트를 분석하여 필요한 특정 데이터를 결정할 수 있다. 필드 명칭은 "AccountName", "FirstName", "LastName", "ExpirationDate", "Address" 등일 수 있다.
일부 경우에 필드는 알려진 명칭, 즉 뱅킹 시스템에 의해 알려진 명칭 또는 뱅킹 시스템에 의해 명시된 명칭으로 미리 프로그래밍 될 수 있다. 다른 경우에 뱅킹 시스템은 명칭 엘레멘트에 대한 텍스트 분석 기술을 수행하고 컨텍스트 단서를 사용하여 필요한 특정 데이터를 결정할 수 있다. 예를 들어 "AccNam"은 "AccountName"과 충분히 유사할 수 있다. 실시형태는 필드의 명칭을 결정하기 위해 JavaScript 및/또는 XPath를 활용하는 것으로 제한되지 않으며 Python 및 get field 함수와 같은 엘레멘트 또는 필드를 감지하기 위해 다른 프로그래밍 언어가 활용될 수 있음을 유의한다.
블록 308에서 루틴(300)은 온라인 시스템을 식별하기 위한 정보를 결정한다. 상세하게는 실시형태는 웹페이지 또는 모바일 응용프로그램을 호스팅 및/또는 제공하는 시스템을 식별하는 것을 포함한다. 예를 들어 온라인 시스템은 온라인 상품 및/또는 서비스를 판매하는 판매자 시스템, 뱅킹 서비스를 제공하는 뱅킹 시스템, 의료 서비스를 제공하는 의료 제공자 시스템 등일 수 있다. 온라인 시스템을 식별하기 위한 정보는 웹페이지 또는 컴퓨터 디바이스(102) 자체로부터 결정될 수 있다. 예를 들어 식별자는 웹 주소 또는 모바일 응용프로그램 명칭일 수 있다. 온라인 시스템을 식별하기 위한 정보는 필드에 대한 데이터를 결정하기 위해 서버 및/또는 뱅킹 시스템에 의해 사용될 수도 있다.
블록 310에서 루틴(300)은 인증 정보 및 온라인 시스템을 식별하기 위한 정보를 서버에 전달한다. 서버는 뱅킹 시스템의 일부일 수 있으며 일부 경우에 하나 이상의 서버 또는 컴퓨터 시스템이 있을 수 있다. 인증 정보 및 온라인 시스템을 식별하기 위한 정보는 하나 이상의 보안 연결을 통해 전달될 수 있다. 일부 경우에 인증 정보와 식별 정보가 상이한 및/또는 별도의 메시지로 전달될 수 있다. 또한 컴퓨터 디바이스는 예를 들어 엘레멘트 명칭과 같은 필드를 식별하는 정보를 전달할 수 있다.
정보를 수신하는 서버를 포함하는 뱅킹 시스템은 필드에 대한 데이터를 결정하고 제공하기 전에 인증 정보에 기반하여 사용자를 우선 인증할 수 있다. 인증이 실패하면 서버는 실패한 인증의 표시를 컴퓨터 디바이스(102)에 제공할 것이다. 경우에 따라 뱅킹 시스템은 민감한 데이터를 채우기 전에 추가 인증 정보 예를 들어 다중 요인 인증을 제공하도록 고객에게 요구할 수 있다.
예를 들어 뱅킹 시스템은 추가 인증 정보를 제공하기 위해 고객 및/또는 컴퓨터 디바이스(102)에 대한 요청을 컴퓨터 디바이스(102)에 전송할 수 있다. 웹사이트 또는 모바일 앱을 포함하는 컴퓨터 디바이스(102)는 웹사이트 또는 모바일 앱과 연관된 계정에 로그인한 고객을 기반으로 인증을 확인할 수 있다. 다른 실시예에서 컴퓨터 디바이스(102)는 요청을 수신하고 예를 들어 생체인식 센서, 자격증명/패스워드 입력 등을 통해 추가 인증 정보를 제공하라는 표시를 고객에 대한 디스플레이 상에 제공할 수 있다.
요청에 응답하여 컴퓨터 디바이스(102)는 추가 인증 정보 및 사용자가 뱅킹 시스템에 인증되었는지에 대한 결과를 제공할 수 있다. 인증된 경우 서버는 채울 데이터를 결정하기 위해 온라인 시스템 및 필드를 식별하는 정보를 활용한다. 예를 들어 서버는 데이터베이스에서 조회를 수행하는 것에 의한 정보 식별에 기반하여 판매자를 결정할 수 있다. 판매자가 식별하면 서버는 판매자가 활용할 수 있는 계정 또는 결제 데이터를 결정할 수 있다.
계정 데이터는 웹페이지 또는 모바일 응용프로그램의 필드에 제공될 수 있는 계정 번호일 수 있다. 실시형태에서 계정 번호는 비접촉식 카드에 대한 계정 번호일 수 있다. 앞서 논의된 바와 같이 서버는 트랜잭션을 수행하는 데 사용될 수 있는 최적의 계정 또는 다른 계정을 결정하기 위한 동작을 수행할 수 있다. 예를 들어 서버는 판매자를 결정하고 다른 계정을 사용하는 것이 보상, 캐쉬백, 낮은 APR, 인센티브 제안 등과 같은 혜택을 사용자에게 제공할 수 있는지 여부를 결정한다.
실시형태에서 온라인 시스템을 식별하는 정보는 필드에 대한 데이터를 결정하는 데 적합하지 않을 수 있다. 일부 경우에 컴퓨터 디바이스(102) 및 서버는 데이터를 요구하는 각각의 필드를 식별하는 정보 예를 들어 엘레멘트 명칭, 필드 식별자 등을 수신할 수 있다. 정보는 이름 필드, 전화 번호 필드, 주소 필드, 계정 필드, 유효기한 필드, CVV 필드 등을 식별할 수 있다. 언급한 바와 같이 본 발명에서 논의된 기술은 트랜잭션 이외의 데이터 필드를 채우기 위해 적용될 수 있다.
예를 들어 필요한 데이터는 대출 신청을 채우기 위한 것일 수 있으며 필드는 사회 보장 번호 필드, 소득 필드, 종속 필드의 수 등과 같이 다른 데이터를 위한 것일 수 있다. 유사하게 의료 정보를 처리하는 의료 시스템은 의학 관련 필드, 병력 필드, 의약 필드, 알러지 필드 등을 포함할 수 있다.
서버는 각각의 필드를 식별하는 정보를 활용하여 각 필드에 대한 데이터를 결정할 수 있으며 예를 들어 데이터베이스 또는 데이터 저장소에서 조회를 수행할 수 있다. 예를 들어 서버는 엘레멘트(필드)의 명칭 또는 식별자를 활용하여 데이터베이스 내에서 해당 데이터를 결정하고 "AccountName"이라는 필드의 계정 번호를 조회할 수 있다. 서버를 포함하는 뱅킹 시스템은 필드에 데이터를 제공하는 데 사용될 수 있는 안전하고 암호화된 방식으로 사용자와 관련된 데이터를 저장할 수 있다.
어떤 경우에는 뱅킹 시스템은 제3자 시스템 예를 들어 의료 제공자 시스템, 다른 뱅킹 시스템 등과 통신하고 정보를 검색하도록 형상화 될 수 있다. 사용자는 뱅킹 시스템이 다른 제3자 시스템과 작업을 수행할 수 있도록 권한을 제공하거나 및/또는 선택할 수 있다.
블록 312에서 루틴(300)은 서버로부터 데이터를 수신한다. 상세하게는 컴퓨터 디바이스(102)는 뱅킹 시스템으로부터 하나 이상의 필드에 대한 데이터를 수신할 수 있다. 데이터는 컴퓨터 디바이스(102)가 각각의 필드에 상응하는 각각의 특정한 데이터 조각을 식별할 수 있도록 컴퓨터 디바이스(102)로 전달될 수 있다. 예를 들어 각각의 데이터 조각은 라벨링 되거나 예를 들어 <Name> 이름 성, <AccountNumber> #######, <PhoneNumber> #-###-###-#### 등과 같은 특정 필드에 대한 라벨로 식별될 수 있다.
실시형태에서 식별자는 필드의 동일한 명칭 또는 식별자일 수 있다. 데이터는 하나 이상의 통신 또는 메시지에서 컴퓨터 디바이스(102)로 전송될 수 있다. 일부 실시형태에서 라벨은 필드를 식별하기 위해 웹페이지 또는 모바일 응용프로그램에 의해 사용되는 동일한 라벨 또는 태그일 수 있다.
일부 경우에 데이터는 특정 데이터에 대한 하나 이상의 옵션을 포함할 수 있다. 전술한 바와 같이 뱅킹 시스템은 트랜잭션을 수행하기 위해 사용될 수 있는 다수의 계정을 식별하고 목록을 제공할 수 있으며 어떤 경우에는 계정 옵션의 순위 목록을 제공할 수 있다. 사용자는 옵션 중 하나를 선택하라는 프롬프트를 컴퓨터 디바이스(102)에서 받을 수 있다. 다른 데이터에 대한 옵션 또한 존재할 수 있다. 예를 들어 사용자는 다수의 전화번호와 연관될 수 있으며 전화번호를 선택하라는 프롬프트를 받을 수 있다. 실시형태는 이러한 방식으로 제한되지 않는다.
블록 314에서 루틴(300)은 웹페이지 또는 모바일 응용프로그램의 하나 이상의 필드를 데이터로 자동으로 채우는 단계를 포함한다. 예를 들어 컴퓨터 디바이스(102)는 뱅킹 시스템의 서버로부터 데이터를 수신하고 웹페이지 또는 모바일 응용프로그램에 표시된 올바른 필드에 데이터를 자동으로 채울 수 있다. 컴퓨터 디바이스(102)는 필드 또는 엘레멘트의 명칭, 태그 또는 라벨에 기반하여 데이터를 특정 필드에 게시하는 JavaScript 또는 JS 명령어와 같은 하나 이상의 명령어를 포함할 수 있다.
논의된 바와 같이 컴퓨터 디바이스(102)는 각각의 엘레멘트 또는 필드 명칭을 결정하도록 형상화 될 수 있다. 유사하게 컴퓨터 디바이스(102)는 특정 데이터를 상응하는 엘레멘트 또는 필드에 삽입하도록 예를 들어 결제 데이터를 결제 엘레멘트 또는 필드에 삽입하도록 형상화 된다. 명령은 블록 306에서 상기 결정된 필드의 명칭을 활용하여 해당 언어를 삽입할 수 있다. 예를 들어 필드 명칭이 "AccountNumber"인 경우 함수는 "AccountNumber"라는 이름을 활용하여 계좌 번호를 포함한 결제 데이터를 필드에 입력하도록 형상화 된다.
명령어를 포함하는 컴퓨터 디바이스(102)는 뱅킹 시스템으로부터의 데이터와 통신하는 식별자에 기반하여 정확한 데이터 조각을 결정한다. 실시형태는 이러한 실시예에 한정되지 않으며 각각의 데이터 조각은 동일한 방식으로 해당 필드에 삽입될 수 있다.
모든 데이터가 필드에 자동으로 채워지면 컴퓨터 디바이스(102)는 예를 들어 트랜잭션을 수행하기 위해 데이터를 제출하는 단계와 같은 다음 작업 또는 동작을 수행할 수 있다. 일부 경우에 컴퓨터 디바이스(102)는 사용자에게 팝업 창 등을 통해 데이터를 확인할 것을 우선 요청할 수 있다. 또한 컴퓨터 디바이스(102)는 예를 들어 입력 제출 또는 버튼을 활성화함으로써 다음 동작을 개시하는 사용자에 의존할 수 있다.
도 4는 시스템의 하나 이상의 서버에 의해 수행될 수 있는 예시적인 루틴(400)을 도시한다. 도시된 실시예와 다음 설명에서 서버는 뱅킹 시스템에 통합된다. 그러나 실시형태는 이러한 방식으로 제한되지 않는다. 루틴(400)은 사용자를 인증하고 하나 이상의 필드에 채울 데이터를 결정하기 위해 수행될 수 있다.
블록 402)에서 루틴(400)은 비접촉식 카드와 연관된 인증 정보 및 온라인 시스템을 식별하기 위한 식별 정보를 수신하는 단계를 포함한다. 경우에 따라 서버는 데이터가 필요한 하나 이상의 필드를 식별하는 정보를 수신할 수 있다. 인증 정보는 하나 이상의 식별 번호, 카운터, 버전 번호 및 공유 비밀을 지니는 인증 정보를 포함하는 암호문을 포함하는 비접촉식 카드로부터의 정보를 포함할 수 있으며 다양화 키를 사용하여 암호화될 수 있다. 암호문은 생성되고 암호화되며 비접촉식 카드에 의해 컴퓨터 디바이스(102)로 전달되며 그 후 컴퓨터 디바이스(102)에 의해 서버로 전달될 수 있다.
실시형태에서 페이로드는 암호화되지 않은 식별자와 같은 추가 정보를 포함할 수 있다. 암호화되지 않은 식별자는 비접촉식 카드와 연관되어 저장되어 있는 고객을 식별하기 위한 고객 식별자일 수 있다. 실시형태는 이러한 방식으로 제한되지 않는다. 컴퓨터 디바이스(102)는 서버 또는 뱅킹 시스템과의 인증 동작을 수행하기 위해 정보를 활용할 수 있다.
블록 404에서 루틴(400)은 비접촉식 카드와 연관된 인증 동작을 수행한다. 예를 들어 뱅킹 시스템은 비접촉식 카드와 연관되고 뱅킹 시스템에 저장된 하나 이상의 키에 기반하여 비접촉식 카드로부터의 인증 정보가 복호화 될 수 있는지 여부를 결정할 수 있다. 다른 실시예에서 뱅킹 시스템은 인증 정보의 적어도 일부가 뱅킹 시스템에 저장된 인증된 정보와 매치하는지를 결정할 수 있다.
예를 들어 뱅킹 시스템은 비접촉식 카드로부터의 공유 비밀이 비접촉식 카드와 연관된 공유 비밀과 매치하는지 결정할 수 있다. 또한 뱅킹 시스템은 추가 인증 정보가 고객이 인증됨을 나타내는지 예를 들어 온라인 판매자 시스템과 연관된 패스워드를 입력했는지, 고객의 디바이스에 올바른 자격증명을 입력했는지 등을 확인할 수 있다.
블록 406에서 루틴(400)은 인증 동작이 성공했는지 또는 실패했는지를 결정한다. 블록 410에서 루틴(400)은 인증 동작이 실패한 것에 응답하여 컴퓨터 디바이스(102)에 인증 정보의 인증 실패를 나타내기 위한 표시를 전송한다.
블록 408에서 루틴(400)은 인증 동작이 성공적인 것에 응답하여 온라인 시스템과 연관된 하나 이상의 필드를 채우고 컴퓨터 디바이스(102)에 데이터를 전송할 수 있는 데이터를 결정한다. 예를 들어 서버는 판매자를 식별하기 위한 온라인 시스템을 식별하는 정보를 활용할 수 있다. 그 후 서버는 사용자와 연관된 계정 번호를 결정할 수 있으며 판매자 및 온라인 시스템과 함께 사용될 수 있다.
언급한 바와 같이 서버는 민감한 데이터가 필요한 각 필드를 식별하기 위한 정보를 수신할 수 있다. 서버는 필드의 명칭 또는 식별자를 기반으로 필요한 데이터를 결정할 수 있다. 예를 들어 "AccountNumber"는 트랜잭션을 수행하는 계정 번호에 상응한다. 서버는 필드의 명칭 또는 식별자를 사용하여 예를 들어 이전에 논의된 바와 같이 데이터베이스에서 검색을 수행하거나 및/또는 제3자 시스템과 통신함으로써 각 필드에 대한 데이터를 결정할 수 있다.
또한 서버는 하나 이상의 필드에 제공할 하나 이상의 옵션 또는 최적의 데이터를 결정할 수 있다. 논의된 바와 같이 서버는 예를 들어 최고 보상, 가장 높은 금전적 가치 등과 같은 사용자 설정에 기반하여 컴퓨터 디바이스에 반환할 최적의 데이터를 결정할 수 있다. 일부 경우에 서버는 트랜잭션을 수행하는데 사용되는 각각의 계정과 같은 옵션의 목록을 반환할 수 있다. 일부 경우에 목록은 하나 이상의 기준에 기반한 순위 목록일 수 있다.
그 후 서버는 컴퓨터 디바이스(102)로 데이터를 다시 전송할 수 있으며 컴퓨터 디바이스(102)는 루틴(300)에서 논의된 바와 같이 각각의 필드를 상응하는 데이터로 채울 수 있다. 사용자에게 옵션이 제공되지 않으면 컴퓨터 디바이스는 사용자 상호 작용 없이 필드를 자동으로 채운다.
옵션이 사용자에게 제공되는 경우 사용자는 옵션 중 하나를 우선 선택하고 그 후 데이터가 필드에 자동으로 채워질 수 있다. 하기 설명은 비접촉식 카드에 관한 상세한 설명을 제공하고 카드를 활용한 인증 동작을 수행한다.
도 5는 비접촉식 카드의 전면 또는 후면에 서비스 공급자 표식(502)으로 표시된 서비스 공급자에 의해 발행된 비접촉식 카드, 신용 카드, 직불 카드 또는 기프트 카드와 같은 결제 카드를 포함할 수 있는 비접촉식 카드(500)의 예시적인 형상화를 도시한다. 일부 실시예에서 비접촉식 카드(500)는 결제 카드와 관련되지 않으며 제한 없이 신분증을 포함할 수 있다.
일부 실시예에서 비접촉식 카드는 이중 인터페이스 비접촉식 결제 카드, 리워드 카드 등을 포함할 수 있다. 비접촉식 카드(500)는 기판(508)을 포함할 수 있으며 이는 단일 층, 또는 플라스틱, 금속 및 기타 재료로 구성된 하나 이상의 적층된 층을 포함할 수 있다. 예시적인 기판 재료는 폴리염화비닐, 폴리염화비닐 아세테이트, 아크릴로니트릴 부타디엔 스티렌, 폴리카보네이트, 폴리에스테르, 양극성 산화 티타늄, 팔라듐, 금, 탄소, 종이 및 생분해성 물질을 포함한다.
일부 실시예에서 비접촉식 카드(500)는 ISO/IEC 7816 표준의 ID-1 형식을 준수하는 물리적 특성을 지닐 수 있고 그렇지 않으면 비접촉식 카드는 ISO/IEC 14443 표준을 준수할 수 있다. 그러나 본 발명에 따른 비접촉식 카드(500)는 상이한 특성을 지닐 수 있으며 본 발명에서는 비접촉식 카드가 결제 카드 내에 구현될 것을 요구하지 않는 것으로 이해된다.
또한 비접촉식 카드(500)는 카드의 전면 및/또는 후면에 표시된 식별 정보(506) 및 접촉 패드(504)를 포함할 수 있다. 접촉 패드(504)는 하나 이상의 패드를 포함할 수 있으며 ATM, 사용자 디바이스, 스마트폰, 노트북, 데스크톱 또는 태블릿 컴퓨터와 같은 다른 클라이언트 디바이스와 비접촉식 카드를 통해 접촉을 설정하도록 형상화 될 수 있다. 접촉 패드는 ISO/IEC 7816 표준과 같은 하나 이상의 표준에 따라 설계될 수 있으며 EMV 프로토콜에 따른 통신을 가능하게 할 수 있다.
또한 비접촉식 카드(500)는 도 6에서 추가로 논의되는 바와 같이 처리 회로, 안테나 및 기타 컴포넌트를 포함할 수 있다. 이러한 컴포넌트는 접촉 패드(504) 후면에 또는 기판(508) 상의 다른 곳에 예를 들어 기판(508)의 다른 층 내에 위치될 수 있으며 접촉 패드(504)와 전기적 및 물리적으로 결합될 수 있다.
또한 비접촉식 카드(500)는 카드의 후면에 위치할 수 있는 자기 스트립 또는 테이프를 포함할 수 있다(도 5에 나타내지 않음). 또한 비접촉식 카드(500)는 NFC 프로토콜을 통해 통신할 수 있는 안테나와 결합된 근거리 통신(NFC) 디바이스를 포함할 수 있다. 실시형태는 이러한 방식으로 제한되지 않는다.
도 5에 도시된 바와 같이 비접촉식 카드(500)의 접촉 패드(504)는 프로세서(602), 메모리(604) 및 하나 이상의 인터페이스606)를 포함하는 정보를 저장, 처리 및 통신하기 위한 처리 회로(616)를 포함할 수 있다. 처리 회로(616)는 본 발명에 개시된 기능을 수행하는 데 필요한 프로세서, 메모리, 오류 및 패리티/CRC 검사기, 데이터 인코더, 충돌 방지 알고리즘, 컨트롤러, 명령 디코더, 보안 프리미티브 및 변조 방지 하드웨어를 포함하는 추가 컴포넌트를 포함할 수 있는 것으로 이해된다.
메모리(604)는 읽기 전용 메모리, 1회 쓰기 다회 읽기 메모리 또는 읽기/쓰기 메모리 예를 들어 RAM, ROM 및 EEPROM일 수 있으며 비접촉식 카드(500)는 이들 메모리 중 하나 이상을 포함할 수 있다. 읽기 전용 메모리는 공장에서 읽기 전용 또는 일회성 프로그래밍 가능으로 프로그래밍할 수 있다. 일회성 프로그래밍 가능성은 한 번 쓰고 여러 번 읽을 수 있는 기회를 제공한다. 1회 쓰기 다회 읽기 메모리는 메모리 칩이 공장에서 출고된 후 특정 시점에 프로그래밍 될 수 있다. 메모리가 프로그래밍 되면 다시 쓸 수는 없으나 여러 번 읽을 수 있다. 읽기/쓰기 메모리는 공장 출고 후 여러 번 프로그래밍 및 재프로그래밍 될 수 있다. 읽기/쓰기 메모리는 출고 후 여러 번 읽을 수도 있다. 어떤 경우에 메모리(604)는 데이터를 암호화하기 위해 프로세서(602)에 의해 실행되는 암호화 알고리즘을 활용하는 암호화된 메모리일 수 있다.
메모리(604)는 하나 이상의 애플릿(608), 하나 이상의 카운터(610), 고객 식별자(614) 및 가상 계좌 번호일 수 있는 계좌 번호(612)를 저장하도록 형상화 될 수 있다. 하나 이상의 애플릿(608)은 Java® 카드 애플릿과 같은 하나 이상의 비접촉식 카드에서 실행하도록 형상화 된 하나 이상의 소프트웨어 응용프로그램을 포함할 수 있다. 그러나 애플릿(608)은 자바 카드 애플릿으로 제한되지 않으며 대신 비접촉식 카드 또는 제한된 메모리를 지니는 다른 디바이스에서 작동 가능한 임의의 소프트웨어 응용프로그램일 수 있는 것으로 이해된다.
하나 이상의 카운터(610)는 정수를 저장하기에 충분한 숫자 카운터를 포함할 수 있다. 고객 식별자(614)는 비접촉식 카드(500)의 사용자에게 할당된 고유한 영숫자 식별자를 포함할 수 있으며 식별자는 비접촉식 카드의 사용자를 다른 비접촉식 카드 사용자와 구별할 수 있다.
일부 실시예에서 고객 식별자(614)는 고객 및 그 고객에게 할당된 계정 모두를 식별할 수 있으며 고객의 계정과 연관된 비접촉식 카드(500)를 추가로 식별할 수 있다.
언급된 바와 같이 계좌 번호(612)는 비접촉식 카드(500)와 연관된 수천 개의 일회성 가상 계좌 번호를 포함할 수 있다. 비접촉식 카드(500)의 애플릿(608)은 계좌 번호(612)를 관리하도록 형상화 될 수 있다. 예를 들어 계정 번호(612)를 선택하고, 선택된 계정 번호(612)를 사용된 것으로 표시하고, 자동 채우기 서비스에 의한 자동 채우기를 위해 모바일 디바이스에 계좌 번호(612)를 전송한다.
전술한 예시적인 실시형태의 프로세서(602) 및 메모리 엘레멘트는 접촉 패드(504)를 참조하여 설명되었으나 본 발명은 이에 제한되지 않는다. 이들 엘레멘트는 접촉 패드(504)의 외부에 구현되거나 이로부터 완전히 분리되어 구현될 수 있거나 또는 접촉 패드(504) 내에 위치된 프로세서(602) 및 메모리(604) 엘레멘트에 추가되는 추가 엘레멘트로서 구현될 수 있는 것으로 이해된다.
일부 실시예에서 비접촉식 카드(500)는 하나 이상의 안테나(618)를 포함할 수 있다. 하나 이상의 안테나(618)는 비접촉식 카드(500) 내에 그리고 접촉 패드(504)의 처리 회로(616) 주위에 배치될 수 있다. 예를 들어 하나 이상의 안테나(618)는 처리 회로(616)와 통합될 수 있으며 하나 이상의 안테나(618)는 외부 부스터 코일과 함께 사용될 수 있다. 다른 예로서 하나 이상의 안테나(618)는 접촉 패드(504) 및 처리 회로(616) 외부에 있을 수 있다.
실시형태에서 비접촉식 카드(500)의 코일은 공심 변압기의 2차측으로 작용할 수 있다. 단말은 전력을 차단하거나 진폭 변조를 통해 비접촉식 카드(500)와 통신할 수 있다. 비접촉식 카드(101)는 하나 이상의 캐패시터를 통해 기능적으로 유지될 수 있는 비접촉식 카드의 전원 연결부의 갭을 사용하여 단말로부터 전송되는 데이터를 추론할 수 있다.
비접촉식 카드(500)는 비접촉식 카드의 코일 또는 부하 변조에 대한 부하를 스위칭함으로써 다시 통신할 수 있다. 부하 변조는 간섭을 통해 단말기의 코일에서 감지될 수 있다. 보다 일반적으로 안테나(618), 프로세서(602) 및/또는 메모리(604)를 사용하여 비접촉식 카드(101)는 NFC, 블루투스 및/또는 Wi-Fi 통신을 통해 통신하기 위한 통신 인터페이스를 제공한다.
전술한 바와 같이 비접촉식 카드(500)는 스마트 카드 또는 JavaCard와 같은 제한된 메모리를 지니는 다른 디바이스 상에서 작동 가능한 소프트웨어 플랫폼 상에 구축될 수 있으며 하나 이상의 응용프로그램 또는 애플릿이 안전하게 실행될 수 있다. 애플릿(608)은 다양한 모바일 응용프로그램 기반 사용 사례에서 다증 요인 인증(MFA)을 위한 일회성 패스워드(OTP)를 제공하기 위해 비접촉식 카드에 추가될 수 있다. 애플릿(608)은 예를 들어 모바일 디바이스 또는 POS 단말기의 모바일 NFC 판독기와 같은 판독기로부터의 근거리 데이터 교환 요청과 같은 하나 이상의 요청에 응답하고NDEF 텍스트 태그로 인코딩된 암호화 보안 OTP를 포함하는 NDEF 메시지를 생성하도록 형상화 될 수 있다.
NDEF OTP의 한 가지 실시예는 NDEF 단기 기록 레이아웃(SR=1)이다. 그러한 실시예에서 하나 이상의 애플릿(608)은 NDEF 유형 4 잘 알려진 유형 텍스트 태그로 OTP를 인코딩하도록 형상화 될 수 있다. 일부 실시예에서 NDEF 메시지는 하나 이상의 레코드를 포함할 수 있다. 애플릿(608)은 OTP 레코드 외에 하나 이상의 정적 태그 레코드를 추가하도록 형상화 될 수 있다.
일부 실시예에서 하나 이상의 애플릿(608)은 RFID 태그를 에뮬레이트 하도록 형상화 될 수 있다. RFID 태그는 하나 이상의 다형성 태그를 포함할 수 있다. 일부 실시예에서 태그가 판독될 때마다 비접촉식 카드의 진위를 나타낼 수 있는 상이한 암호화 데이터가 제공된다. 하나 이상의 애플릿(608)에 기반하여 태그의 NFC 판독이 처리될 수 있고 데이터가 뱅킹 시스템의 서버와 같은 서버로 전송될 수 있으며 데이터가 서버에서 검증될 수 있다.
일부 실시예에서 비접촉식 카드(500) 및 서버는 카드가 적절하게 식별될 수 있도록 특정 데이터를 포함할 수 있다. 비접촉식 카드(500)는 하나 이상의 고유 식별자를 포함할 수 있다(나타내지 않음). 판독 동작이 발생할 때마다 카운터(610)는 증가하도록 형상화 될 수 있다. 일부 실시예에서 비접촉식 카드(500)로부터의 데이터가 예를 들어 모바일 디바이스에 의해 판독될 때마다 카운터(610)는 검증을 위해 서버로 전송되고 카운터(610)가 서버의 카운터와 동일한지 여부를 검증의 일부로서 결정한다.
하나 이상의 카운터(610)는 재생 공격을 방지하도록 형상화 될 수 있다. 예를 들어 암호문이 획득되고 재생된 경우, 카운터(610)가 판독되거나 사용되거나 그렇지 않으면 전달되면 해당 암호문은 즉시 거부된다. 카운터(610)가 사용되지 않았다면 이는 재생될 수 있다. 일부 실시예에서 카드에서 증가되는 카운터는 트랜잭션에 대해 증가되는 카운터와 상이하다. 비접촉식 카드(500) 상의 애플릿(608) 사이에 통신이 없기 때문에 비접촉식 카드(101)는 응용프로그램 트랜잭션 카운터(610)를 결정할 수 없다.
일부 실시예에서 카운터(610)는 동기화되지 않을 수 있다. 일부 실시예에서 비스듬히 판독하는 것과 같은 트랜잭션을 개시하는 우발적인 판독을 설명하기 위해 카운터(610)는 증가할 수 있지만 응용프로그램은 카운터(610)를 처리하지 않는다. 일부 실시예에서 모바일 디바이스가 깨어나면 NFC가 활성화될 수 있으며 디바이스(110)가 사용 가능한 태그를 판독하도록 형상화 될 수 있으나 판독에 응답하여 어떤 조치도 취해지지 않는다.
카운터(610)를 동기화 상태로 유지하기 위해 백그라운드 응용프로그램과 같은 응용프로그램이 실행될 수 있으며 이는 모바일 디바이스(110)가 깨어날 때를 감지하고 감지로 인해 발생한 판독이 카운터 값을 앞으로 이동시킴을 나타내는 뱅킹 시스템의 서버와 동기화하도록 형상화 될 수 있다. 다른 실시예에서 잘못된 동기화 윈도우를 허용하도록 해시된 일회용 패스워드가 활용될 수 있다.
예를 들어 10의 임계값 내에 있는 경우 카운터(610)는 앞으로 이동하도록 형상화 될 수 있다. 그러나 예를 들어 10 또는 900과 같은 다른 임계값 수 내에 있는 경우 재동기화 수행 요청이 처리될 수 있다. 이러한 요청은 하나 이상의 응용프로그램을 통해 사용자가 사용자 디바이스를 통해 1회 이상 탭하거나 제스처 하거나 다른 방식으로 표시하도록 요청한다. 카운터(610)가 적절한 순서로 증가하면 사용자가 그렇게 했음을 알 수 있다.
카운터(610), 마스터 키 및 다양화 키를 참조하여 본 발명에서 개시된 키 다양화 기술은 키 다양화 기술의 암호화 및/또는 복호화의 일 실시예이다. 이러한 예시 키 다양화 기술은 본 발명을 제한하는 것으로 간주되어서는 안 되며 이는 본 발명이 다른 유형의 키 다양화 기술에도 동일하게 적용 가능하기 때문이다.
비접촉식 카드(500)의 생성 프로세스 동안, 2개의 암호화 키가 카드마다 고유하게 할당될 수 있다. 암호화 키는 데이터의 암호화 및 복호화 모두에 사용될 수 있는 대칭 키를 포함할 수 있다. 트리플 DES(3DES) 알고리즘은 EMV에 의해 사용될 수 있으며 비접촉식 카드(500)의 하드웨어에 의해 구현된다. 키 다양화 프로세스를 사용함으로써 하나 이상의 키가 키를 필요로 하는 각각의 엔티티에 대해 고유하게 식별 가능한 정보를 기반으로 마스터 키에서 파생될 수 있다.
일부 실시예에서 취약성에 취약할 수 있는 3DES 알고리즘의 결함을 극복하기 위해 마스터 키, 고유 카드 파생 키 및 카운터를 사용하는 대신 세션 키 예를 들어 세션당 고유 키 가 파생될 수 있으며 다양화 데이터로 사용할 수 있다. 예를 들어 비접촉식 카드(101)가 운용될 때마다 메시지 인증 코드(MAC)를 생성하고 암호화를 수행하기 위해 상이한 키가 사용될 수 있다. 그 결과 3중 암호화 계층이 생성된다. 세션 키는 하나 이상의 애플릿에 의해 생성되고 EMV 4.3 Book 2 A1.3.1 공통 세션 키 파생에 정의된 바와 같은 하나 이상의 알고리즘과 함께 응용프로그램 트랜잭션 카운터를 사용하여 파생될 수 있다.
또한 각각의 카드에 대한 증분은 고유할 수 있으며 개인화에 의해 할당되거나 일부 식별 정보에 의해 알고리즘적으로 할당될 수 있다. 예를 들어 홀수 번호 카드는 2씩 증가할 수 있으며 짝수 번호 카드는 5씩 증가할 수 있다. 일부 실시예에서 증분은 또한 하나의 카드가 1, 3, 5, 2, 2 … 반복 만큼 순서대로 증가할 수 있도록 순차적 판독에서 상이할 수 있다. 특정 시퀀스 또는 알고리즘 시퀀스는 개인화 시간에 정의되거나 고유 식별자에서 파생된 하나 이상의 프로세스에서 정의될 수 있다. 이로 인해 재생 공격자는 적은 수의 카드 인스턴스에서 일반화하기가 더 어려워질 수 있다.
인증 메시지는 16진수 ASCII 형식의 텍스트 NDEF 레코드 내용으로 전달될 수 있다. 다른 실시예에서 NDEF 레코드는 16진수 형식으로 인코딩될 수 있다.
도 7은 본 발명의 하나 이상의 실시형태에 따라 인증된 액세스를 제공하기 위한 예시적인 시퀀스를 도시하는 시퀀스 흐름(700)이다. 시퀀스 흐름(700)은 응용프로그램(704) 및 프로세서(706)를 포함할 수 있는 비접촉식 카드(500) 및 컴퓨터 디바이스(702)를 포함할 수 있다.
라인 710에서 응용프로그램(704)은 예를 들어 비접촉식 카드(500)에 근접한 후 비접촉식 카드(500)와 통신한다. 응용프로그램(704)과 비접촉식 카드(500) 사이의 통신은 응용프로그램(704)과 비접촉식 카드(500) 사이의 NFC 데이터 전송을 가능하게 하도록 컴퓨터 디바이스(702)의 카드 판독기(나타내지 않음)에 충분히 가까운 비접촉식 카드(500)를 수반할 수 있다.
라인 708에서 컴퓨터 디바이스(702)와 비접촉식 카드(500) 사이에 통신이 설정된 후 비접촉식 카드(500)는 메시지 인증 코드(MAC) 암호문을 생성한다. 일부 실시예에서 이것은 비접촉식 카드(500)가 응용프로그램(704)에 의해 판독될 때 발생할 수 있다. 특히 이것은 NFC 데이터 교환 형식에 따라 생성될 수 있는 근거리 데이터 교환(NDEF) 태그의 NFC 판독과 같은 판독 시에 발생할 수 있다. 예를 들어 응용프로그램(704)과 같은 판독기 응용프로그램은 애플릿 선택 메시지와 같은 메시지를 NDEF 생성 애플릿의 애플릿 ID와 함께 전송할 수 있다.
선택이 확인되면 일련의 파일 선택 메시지와 파일 판독 메시지가 전송될 수 있다. 예를 들어 시퀀스는 "기능 파일 선택", "기능 파일 판독" 및 "NDEF 파일 선택"을 포함할 수 있다. 이때 비접촉식 카드(500)에 의해 유지되는 카운터 값이 업데이트되거나 증가될 수 있으며 "NDEF 파일 판독"이 뒤따를 수 있다. 이러한 시점에서 헤더와 공유 비밀을 포함할 수 있는 메시지가 생성될 수 있다. 그 후 세션 키가 생성될 수 있다.
MAC 암호문은 헤더와 공유 비밀을 포함할 수 있는 메시지에서 생성될 수 있다. 그 후 MAC 암호문은 하나 이상의 랜덤 데이터 블록과 연결될 수 있으며 MAC 암호문과 난수(RND)가 세션 키로 암호화될 수 있다. 그 후 암호문과 헤더가 연결되고 ASCII 16진수로 인코딩되어 ("NDEF 파일 판독" 메시지에 대한 응답으로 NDEF 메시지 형식으로 반환될 수 있다.
일부 실시예에서 MAC 암호문은 NDEF 태그로서 전송될 수 있으며 다른 실시예에서 MAC 암호문은 예를 들어 포맷된 문자열로서 균일 자원 표시자와 함께 포함될 수 있다. 일부 실시예에서 응용프로그램(704)은 비접촉식 카드(500)에 요청을 전송하도록 형상화 될 수 있으며 이러한 요청은 MAC 암호문을 생성하라는 명령어를 포함한다.
라인 712에서 비접촉식 카드(500)는 MAC 암호문을 응용프로그램(704)에 전송한다. 일부 실시예에서 MAC 암호문의 전송은 NFC를 통해 발생하지만 본 발명은 이에 제한되지 않는다. 다른 실시예에서 이러한 통신은 블루투스, Wi-Fi 또는 기타 무선 데이터 통신 수단을 통해 발생할 수 있다. 라인 714에서 응용프로그램(704)은 MAC 암호문을 프로세서(706)에 전달한다.
라인 716에서 프로세서(706)는 응용프로그램(122)으로부터의 명령어에 따라 MAC 암호문을 검증한다. 예를 들어 MAC 암호문은 하기 설명된 바와 같이 검증될 수 있다. 일부 실시예에서 MAC 암호문을 검증하는 단계는 컴퓨터 디바이스(702)와 데이터 통신하는 뱅킹 시스템의 서버와 같은 컴퓨터 디바이스(702) 이외의 디바이스에 의해 수행될 수 있다. 예를 들어 프로세서(706)는 MAC 암호문을 검증할 수 있는 뱅킹 시스템의 서버로 전송을 위한 MAC 암호문을 출력할 수 있다.
일부 실시예에서 MAC 암호문은 검증 목적을 위한 디지털 서명으로 기능할 수 있다. 공개 키 비대칭 알고리즘 예를 들어 디지털 서명 알고리즘 및 RSA 알고리즘 또는 영 지식 프로토콜과 같은 다른 디지털 서명 알고리즘을 사용하여 이러한 검증을 수행할 수 있다.
도 8은 예시적인 실시형태에 따른 NDEF 짧은-레코드 레이아웃(SR=1) 데이터 구조(800)를 도시한다. 하나 이상의 애플릿이 OTP를 NDEF 유형 4 잘 알려진 유형 텍스트 태그로 인코딩하도록 형상화 될 수 있다. 일부 실시예에서 NDEF 메시지는 하나 이상의 레코드를 포함할 수 있다. OTP 레코드 외에 하나 이상의 정적 태그 레코드를 추가하도록 애플릿이 형상화 될 수 있다.
예시적인 태그는 태그 유형: 잘 알려진 유형, 텍스트, 인코딩 영어(en); 애플릿 ID: D2760000850101; 기능: 읽기 전용 액세스; 인코딩:을 제한 없이 포함하며 인증 메시지는 ASCII 16진수로 인코딩될 수 있다. 유형-길이-값(TLV) 데이터는 NDEF 메시지를 생성하는 데 사용할 수 있는 개인화 파라미터로 제공될 수 있다. 하나의 실시형태에서 인증 템플릿은 실제 동적 인증 데이터를 제공하기 위해 잘 알려진 인덱스와 함께 제1 레코드를 포함할 수 있다.
도 9는 본 발명의 하나 이상의 실시형태를 구현하도록 형상화 된 시스템 키 시스템(900)의 다이어그램을 도시한다. 하기 설명된 바와 같이 비접촉식 카드 생성 과정에서 각 카드에 대해 두 개의 암호화 키가 고유하게 할당될 수 있다. 암호화 키는 데이터의 암호화 및 복호화 모두에 사용될 수 있는 대칭 키를 포함할 수 있다. 트리플 DES(3DES) 알고리즘은 EMV에서 사용할 수 있으며 비접촉식 카드에서 하드웨어로 구현된다. 키 다양화 프로세스를 사용하면 키가 필요한 각 엔티티에 대해 고유하게 식별 가능한 정보를 기반으로 마스터 키에서 하나 이상의 키를 파생할 수 있다.
마스터 키 관리와 관련하여 하나 이상의 애플릿이 발행되는 포트폴리오의 각 부분에 대해 두 개의 발급자 마스터 키(902, 926)가 필요할 수 있다. 예를 들어 제1 마스터 키(902)는 발급자 암호문 생성/인증 키(Iss-Key-Auth)를 포함할 수 있으며 제2 마스터 키(926)는 발급자 데이터 암호화 키(Iss-Key-DEK)를 포함할 수 있다. 본 발명에서 추가로 설명되는 바와 같이 2개의 발급자 마스터 키(902, 926)는 각각의 카드에 고유한 카드 마스터 키(908, 920)로 다양화된다.
일부 실시예에서 네트워크 프로파일 레코드 ID(pNPR)(522) 및 파생 키 인덱스(pDKI)(924)는 백 오피스 데이터로서 인증을 위한 암호화 프로세스에서 사용할 발급자 마스터 키(902, 926)를 식별하는 데 사용될 수 있다. 인증을 수행하는 시스템은 인증 시점에 비접촉식 카드에 대한 pNPR(922) 및 pDKI(924)의 값을 검색하도록 형상화 될 수 있다.
일부 실시예에서 솔루션의 보안성을 증대시키기 위해 마스터 키를 사용하는 대신에 세션 당 고유 키와 같은 세션 키가 파생될 수 있다. 고유 카드-파생 키 및 카운터는 상기 설명된 바와 같이 다양화 데이터로 사용될 수 있다. 예를 들어 카드가 작동에 사용될 때마다 메시지 인증 코드(MAC)를 생성하고 암호화를 수행하기 위해 상이한 키가 사용될 수 있다. 세션 키 생성과 관련하여 암호문을 생성하고 하나 이상의 애플릿에서 데이터를 암호화하는 데 사용되는 키는 카드 고유 키(Card-Key-Auth(908) 및 Card-Key-Dek(920)에 기반한 세션 키를 포함할 수 있다.
세션 키 Aut-Session-Key(932) 및 DEK-Session-Key(910)는 하나 이상의 애플릿에 의해 생성될 수 있으며 하나 이상의 알고리즘과 함께 응용프로그램 트랜잭션 카운터(pATC)(904)를 사용함으로써 파생될 수 있다. 데이터를 하나 이상의 알고리즘에 맞추기 위해 4바이트 pATC(904)의 하위 2바이트만이 사용된다. 일부 실시예에서 4바이트 세션 키 파생 방법은 다음을 포함할 수 있다: F1 := PATC(하위 2바이트) || 'F0' || '00' || PATC(4바이트) F1 := PATC(하위 2바이트) || '0F' || '00' || PATC(4바이트) SK :={(ALG (MK) [F1] ) || ALG (MK) [F2] }. 여기에서 ALG는 3DES ECB를 포함할 수 있으며 MK는 카드 고유 파생 마스터 키를 포함할 수 있다.
본 발명에 개시된 바와 같이 하나 이상의 MAC 세션 키는 pATC(904) 카운터의 하위 2바이트를 사용하여 파생될 수 있다. 비접촉식 카드의 각 탭에서 pATC (904)는 업데이트 되도록 형상화 되고 카드 마스터 키인 Card-Key-AUTH 및 Card-Key-DEK(920)은 세션 키 Aut-Session-Key(932) 및 DEK-Session-KEY(910)으로 더욱 다양화된다. pATC(904)는 개인화 또는 애플릿 초기화 시점에 0으로 초기화될 수 있다. 일부 실시예에서 pATC 카운터(904)는 개인화 시점 또는 그 이전에 초기화될 수 있으며 각각의 NDEF 판독에서 1씩 증가하도록 형상화 될 수 있다.
또한 각각의 카드에 대한 업데이트는 고유할 수 있으며 개인화에 의해 할당되거나 pUID 또는 다른 식별 정보에 의해 알고리즘적으로 할당될 수 있다. 예를 들어 홀수 번호 카드는 2씩 증가 또는 감소할 수 있고 짝수 번호 카드는 5씩 증가 또는 감소할 수 있다. 또한 일부 실시예에서 업데이트는 순차적 판독에서 상이할 수 있으므로 하나의 카드는 1, 3, 5, 2, 2, … 반복의 순서대로 증가할 수 있다. 특정 시퀀스 또는 알고리즘 시퀀스는 개인화 시점에 정의되거나 고유 식별자에서 파생된 하나 이상의 프로세스에서 정의될 수 있다. 이로 인해 재생 공격자는 적은 수의 카드 인스턴스에서 일반화하기가 더 어려워질 수 있다.
인증 메시지는 16진수 ASCII 형식의 텍스트 NDEF 레코드 내용으로 전달될 수 있다. 일부 실시예에서 인증 데이터 및 인증 데이터의 MAC 다음에 오는 8바이트 난수만이 포함될 수 있다. 일부 실시예에서 난수는 암호문 A에 선행할 수 있으며 한 블록 길이일 수 있다. 다른 실시예에서는 난수의 길이에 대한 제한이 없을 수 있다.
추가 실시예에서 전체 데이터 즉, 난수 + 암호문은 블록 크기의 배수일 수 있다. 이러한 실시예에서는 추가 8바이트 블록을 추가하여 MAC 알고리즘에 의해 생성된 블록과 매치시킬 수 있다. 또 다른 예로서 적용된 알고리즘이 16바이트 블록을 사용하는 경우 해당 블록 크기의 배수도 사용되거나 출력이 자동 또는 수동으로 해당 블록 크기의 배수로 부풀려 질 수 있다.
MAC는 기능 키(AUT-Session-Key)(932)에 의해 수행될 수 있다. 암호문에 명시된 데이터는 javacard.signature 메서드: ALG_DES_MAC8_ISO9797_1_M2_ALG3로 처리되어 EMV ARQC 검증 방법과 연관될 수 있다. 이러한 연산에 사용되는 키는 전술한 바와 같이 세션 키 AUT-세션-키(932)를 포함할 수 있다. 전술한 바와 같이 카운터의 하위 2바이트는 하나 이상의 MAC 세션 키에 대해 다양화하기 위해 사용될 수 있다. 하기 설명된 바와 같이 AUT-세션-키(932)는 MAC 데이터(906)에 사용될 수 있으며 결과 데이터 또는 암호문 A(914) 및 난수 RND는 DEK-세션-키(910)를 사용하여 암호화되어 메시지 내에서 전송된 암호문 B 또는 출력(918)을 생성할 수 있다.
일부 실시예에서 최종 16(2진수, 32진수) 바이트가 MAC 인증 데이터가 뒤따르는 난수의 0 IV와 함께 CBC 모드를 사용하는 3DES 대칭 암호화를 포함할 수 있도록 하나 이상의 HSM 명령이 복호화를 위해 처리될 수 있다. 이러한 암호화에 사용되는 키는 Card-Key-DEK(920)에서 파생된 세션 키 DEK-Session-Key(910)를 포함할 수 있다. 이 경우 세션 키 파생을 위한 ATC 값은 카운터 pATC(904)의 최하위 바이트이다.
아래 형식은 바이너리 버전 예시적인 실시형태를 나타낸다. 또한 일부 예시에서 첫 번째 바이트는 ASCII 'A'로 설정될 수 있다.
다른 예시적인 형식을 아래에 나타내었다. 이러한 예시에서 태그는 16진수 형식으로 인코딩될 수 있다.
수신된 메시지의 UID 필드는 마스터 키 Iss-Key-AUT(902) 및 Iss-Key-DEK(926)로부터 특정 카드에 대한 카드 마스터 키 Card-Key-Auth(908) 및 Card-Key-DEK(920)를 도출하기 위해 추출될 수 있다. 카드 마스터 키 Card-Key-Auth(908) 및 Card-Key-DEK(920)를 사용하여 특정 카드에 대한 세션 키 Aut-Session-Key(932) 및 DEK-Session-Key(910)를 파생하기 위해 수신된 메시지의 카운터(pATC) 필드가 사용될 수 있다.
암호문 B(918)는 암호문 A(914) 및 RND를 산출하는 DEK-Session-KEY를 사용하여 복호화될 수 있으며 RND는 폐기될 수 있다. UID 필드는 메시지의 Ver, UID 및 pATC 필드와 함께 비접촉식 카드의 공유 비밀을 조회하기 위해 사용될 수 있으며 MAC'와 같은 MAC 출력을 생성하기 위한 재생성된 Aut-Session-Key를 사용하여 암호화 MAC를 통해 처리될 수 있다.
MAC'이 암호문 A(914)와 동일하면 이는 메시지 복호화 및 MAC 검사가 모두 통과되었음을 나타낸다. 그 후 pATC는 유효한지 확인하기 위해 판독될 수 있다.
인증 세션 동안 하나 이상의 응용 프로그램에서 하나 이상의 암호문을 생성할 수 있다. 예를 들어 하나 이상의 암호문은 Aut-Session-Key(932)와 같은 하나 이상의 세션 키를 통해 방법 2 패딩과 함께 ISO 9797-1 알고리즘 3을 사용하여 3DES MAC으로 생성될 수 있다. 입력 데이터(906)는 다음 형식을 취할 수 있다: 버전(2), pUID(8), pATC(4), 공유 비밀(4). 일부 실시예에서 괄호 안의 숫자는 바이트 길이를 포함할 수 있다. 일부 실시예에서 공유 비밀은 하나 이상의 보안 프로세스를 통해 난수가 예측 불가능함을 보장하도록 형상화 될 수 있는 하나 이상의 난수 생성기에 의해 생성될 수 있다.
일부 실시예에서 공유 비밀은 인증 서비스에 의해 알려진 개인화 시점에 카드에 주입된 임의의 4바이트 이진수를 포함할 수 있다. 인증 세션 동안 공유 암호문은 하나 이상의 애플릿에서 모바일 응용프로그램으로 제공되지 않을 수 있다. 방법 2 패딩은 입력 데이터 끝에 필수 0x'80' 바이트를 추가하고 8바이트 경계까지 결과 데이터 끝에 추가할 수 있는 0x'00' 바이트를 포함할 수 있다. 결과 암호문은 8바이트 길이로 형상화 될 수 있다.
일부 실시예에서 MAC 암호문으로 제1 블록으로 비공유 난수를 암호화하는 이점 중 하나는 대칭 암호화 알고리즘의 CBC(블록 체인화) 모드를 사용하면서 초기화 벡터 역할을 한다는 것이다. 이를 통해 고정 또는 동적 IV를 미리 설정할 필요 없이 블록에서 블록으로 "스크램블링" 할 수 있다.
응용프로그램 트랜잭션 카운터(pATC)를 MAC 암호문에 포함된 데이터의 일부로 포함함으로써 인증 서비스는 일반 데이터에 전달된 값이 변조되었는지 여부를 결정하도록 형상화 될 수 있다. 또한 하나 이상의 암호문에 버전을 포함함으로써 공격자는 암호화 솔루션의 강도를 낮추기 위해 응용 프로그램 버전을 의도적으로 잘못 표시하기 어렵다.
일부 실시예에서 pATC는 0에서 시작하여 하나 이상의 응용프로그램이 인증 데이터를 생성할 때마다 1씩 업데이트될 수 있다. 인증 서비스는 인증 세션 동안 사용되는 pATC를 추적하도록 형상화 될 수 있다. 일부 실시예에서 인증 데이터가 인증 서비스에 의해 수신된 이전 값 이하의 pATC를 사용하는 경우, 이는 이전 메시지를 재생하려는 시도로 해석될 수 있으며 인증이 거부될 수 있다.
일부 실시예에서 pATC가 수신된 이전 값보다 큰 경우 이를 평가하여 허용 가능한 범위 또는 임계값 내에 있는지 판단할 수 있으며 범위 또는 임계값을 초과하거나 밖이면 검증이 실패하거나 신뢰할 수 없는 것으로 간주될 수 있다. MAC 동작(912)에서 데이터(906)는 암호화된 MAC 출력 암호문 A(914)를 생성하기 위해 Aut-Session-Key(932)를 사용하여 MAC을 통해 처리된다.
카드의 키를 노출시키는 무차별 대입 공격에 대한 추가 보호를 제공하기 위해 MAC 암호문(914)이 암호화되는 것이 바람직하다. 일부 실시예에서 암호문에 포함될 데이터 또는 암호문 A(914)는 난수(8), 암호문(8)을 포함할 수 있다. 일부 실시예에서 괄호 안의 숫자는 바이트 길이를 포함할 수 있다. 일부 실시예에서 난수는 하나 이상의 보안 프로세스를 통해 난수가 예측 불가능하다는 것을 보장하도록 형상화 될 수 있는 하나 이상의 난수 생성기에 의해 생성될 수 있다. 이러한 데이터를 암호화하는 데 사용되는 키는 세션 키를 포함할 수 있다.
예를 들어 세션 키는 DEK-Session-Key(910)를 포함할 수 있다. 암호화 동작(916)에서 데이터 또는 암호문 A(914) 및 RND는 DEK-Session-Key(510)(삭제됨)를 사용하여 처리되어 암호화된 데이터인 암호문 B(918)를 생성한다. 데이터(914)는 공격자가 모든 암호문에 대해 공격을 실행하도록 보장하기 위해 암호문 블록 체인 모드에서 3DES를 사용하여 암호화될 수 있다. 비제한적인 예로서, 향상된 암호화 표준(AES)과 같은 다른 알고리즘이 사용될 수 있다. 일부 실시예에서 0x'0000000000000000'의 초기화 벡터가 사용될 수 있다. 이 데이터를 암호화하는 데 사용되는 키를 무차별 대입하려는 공격자는 올바른 키가 사용된 시기를 확인할 수 없다. 올바르게 복호화된 데이터는 무작위 모양으로 인해 잘못 복호화된 데이터와 구별할 수 없기 때문이다.
인증 서비스가 하나 이상의 애플릿이 제공하는 하나 이상의 암호문을 검증하려면 인증 세션 동안 하나 이상의 애플릿에서 모바일 디바이스로 다음 데이터를 평문으로 전달해야 한다. 사용된 암호화 접근방식을 결정하기 위한 버전 번호 및 미래에 접근 방식을 변경할 수 있게 하는 암호문 검증을 위한 메시지 형식; 암호화 자산을 검색하고 카드 키를 추출하기 위한 pUID; 및 암호화에 사용되는 세션 키를 추출하기 위한 pATC이다.
도 10은 암호문을 생성하기 위한 방법 루틴(1000)을 도시한다. 예를 들어 블록 1002)에서 네트워크 프로파일 레코드 ID(pNPR) 및 파생 키 인덱스(pDKI)는 인증을 위한 암호화 프로세스에서 사용할 발급자 마스터 키를 식별하는 데 사용될 수 있다. 일부 실시예에서 방법은 인증 시 비접촉식 카드에 대한 pNPR 및 pDKI의 값을 검색하기 위해 인증을 수행하는 단계를 포함할 수 있다.
블록 1004에서 발급자 마스터 키는 카드의 고유 ID 번호(pUID) 및 하나 이상의 애플릿 예를 들어 결제 애플릿의 PAN 시퀀스 번호(PSN)와 결합하여 다양화될 수 있다.
블록 1006에서 MAC 암호문을 생성하는 데 사용될 수 있는 세션 키를 생성하기 위해 발급자 마스터 키를 다양화함으로써 고유 카드 키인 Card-Key-Auth 및 Card-Key-DEK가 생성될 수 있다.
블록 1008에서 암호문을 생성하고 하나 이상의 애플릿에서 데이터를 암호화하는 데 사용되는 키는 카드 고유 키 Card-Key-Auth 및 Card-Key-DEK에 기반한 블록 930의 세션 키를 포함할 수 있다. 일부 실시예에서 이러한 세션 키는 하나 이상의 애플릿에 의해 생성되고 pATC를 사용하여 파생되어 세션 키 Aut-Session-Key 및 DEK-Session-Key가 될 수 있다.
도 11은 하나의 실시예에 따른 키 다양화를 예시하는 예시적인 프로세스 루틴(1100)을 도시한다. 초기에는 발신자와 수신자에게 서로 다른 두 개의 마스터 키를 제공할 수 있다. 예를 들어 제1 마스터 키는 데이터 암호화 마스터 키를 포함할 수 있으며 제2 마스터 키는 데이터 무결성 마스터 키를 포함할 수 있다. 송신자는 블록 1102에서 업데이트될 수 있는 카운터 값 및 보호될 데이터와 같이 수신자와의 공유를 보안할 수 있는 다른 데이터를 지닌다.
블록 1104에서 카운터 값은 데이터 암호화 유도된 세션 키를 생성하기 위해 데이터 암호화 마스터 키를 사용하여 송신자에 의해 암호화될 수 있으며 또한 카운터 값은 데이터 무결성 파생 세선 키를 생성하기 위해 데이터 무결성 마스터 키를 사용하여 송신자에 의해 암호화될 수 있다. 일부 실시예에서 전체 카운터 값 또는 카운터 값의 일부가 모든 암호화 동안에 사용될 수 있다.
일부 실시예에서 카운터 값은 암호화되지 않을 수 있다. 이러한 예에서 카운터는 송신자와 수신자 사이에 평문으로 즉 암호화 없이 전송될 수 있다.
블록 1106에서 보호될 데이터는 데이터 무결성 세션 키 및 암호화 MAC 알고리즘을 사용하여 송신자에 의한 암호화 MAC 동작으로 처리된다. 일반 텍스트 및 공유 비밀을 포함하여 보호된 데이터는 세션 키 AUT-Session-Key 중 하나를 사용하여 MAC을 생성하는 데 사용될 수 있다.
블록 1108에서 보호될 데이터는 대칭 암호화 알고리즘과 함께 데이터 암호화 파생 세션 키를 사용하여 송신자에 의해 암호화될 수 있다. 일부 실시예에서 MAC은 예를 들어 각각 8바이트 길이의 동일한 양의 무작위 데이터와 결합된 후 두 번째 세션 키 DEK-Session-Key를 사용하여 암호화된다.
블록 1110에서 암호문의 검증을 위해 공유 비밀, 마스터 키 등과 같은 추가 비밀 정보를 식별하기에 충분한 정보와 함께 암호화된 MAC이 송신자로부터 수신자로 전송된다.
블록 1112에서 수신자는 수신된 카운터 값을 사용하여 전술한 바와 같이 2개의 마스터 키로부터 2개의 파생된 세션 키를 독립적으로 파생시킨다.
블록 1114에서 데이터 암호화 파생 세션 키는 보호된 데이터를 복호화하기 위해 대칭 복호화 동작과 함께 사용된다. 그 후 교환된 데이터에 대한 추가 처리가 발생한다. 일부 실시예에서 MAC이 추출된 후 MAC을 재생산하고 일치시키는 것이 바람직하다. 예를 들어 암호문을 검증할 때 적절하게 생성된 세션 키를 사용하여 암호문을 복호화 할 수 있다. 보호된 데이터는 검증을 위해 재구성될 수 있다. 적절하게 생성된 세션 키를 사용하여 MAC 동작을 수행하여 복호화 된 MAC와 매치하는지 판단할 수 있다. MAC 동작은 되돌릴 수 없는 프로세스이므로 검증하는 유일한 방법은 원본 데이터에서 MAC 동작을 재생성 하는 것이다.
블록 1116에서 보호 데이터가 수정되지 않았음을 검증하기 위해 암호화 MAC 동작과 함께 데이터 무결성 파생 세션 키가 사용된다.
본 발명에 개시된 방법의 일부 예는 다음 조건이 충족될 때 성공적인 인증이 결정되는 때를 유리하게 확인할 수 있다. 첫째, MAC을 검증하는 능력은 파생된 세션 키가 적절했음을 나타낸다. MAC는 복호화에 성공하고 적절한 MAC 값을 산출한 경우에만 정확할 수 있다. 성공적인 복호화는 올바르게 파생된 암호화 키가 암호화된 MAC을 복호화 하는 데 사용되었음을 나타낼 수 있다.
파생 세션 키는 발신자 예를 들어 전송 디바이스와 수신자 예를 들어 수신 디바이스만이 알고 있는 마스터 키를 사용하여 생성되므로 원래 MAC을 생성하고 MAC을 암호화한 비접촉식 카드가 참으로 진본임을 신뢰할 수 있다. 또한 제1 및 제2 세션 키를 유도하기 위해 사용된 카운터 값은 유효한 것으로 나타날 수 있으며 인증 동작을 수행하기 위해 사용될 수 있다.
그 후 2개의 파생 세션 키는 폐기될 수 있으며 데이터 교환의 다음 반복은 블록 1102로 돌아가서 카운터 값을 업데이트할 것이고 블록 1110에서 새로운 세션 키 세트가 생성될 수 있다. 일부 실시예에서 조합된 랜덤 데이터는 폐기될 수 있다.
도 12는 예시적인 실시형태에 따른 카드 활성화를 위한 시퀀스 흐름(700)을 도시한다. 예를 들어 카드 활성화는 카드, 디바이스 및 하나 이상의 서버를 포함하는 시스템에 의해 완료될 수 있다. 비접촉식 카드, 디바이스 및 하나 이상의 서버는 비접촉식 카드(500), 컴퓨터 디바이스(702) 및 서버와 같이 이전에 설명된 것과 동일하거나 유사한 컴포넌트를 참조할 수 있다.
블록 1202에서 카드는 동적으로 데이터를 생성하도록 형상화 될 수 있다. 일부 실시예에서 이러한 데이터는 카드에서 디바이스로 전송될 수 있는 계정 번호, 카드 식별자, 카드 검증 값 또는 전화 번호와 같은 정보를 포함할 수 있다. 일부 실시예에서 데이터의 하나 이상의 부분은 본 발명에 개시된 시스템 및 방법을 통해 암호화될 수 있다.
블록 1204에서 동적으로 생성된 데이터의 하나 이상의 부분이 NFC 또는 다른 무선 통신을 통해 디바이스의 응용프로그램으로 전달될 수 있다. 예를 들어 디바이스에 근접한 카드의 탭은 디바이스의 응용프로그램이 비접촉식 카드와 연관된 데이터의 하나 이상의 부분을 판독하게 할 수 있다. 일부 실시예에서 디바이스가 카드의 활성화를 지원하는 응용프로그램을 포함하지 않는 경우 카드의 탭은 카드를 활성화하기 위해 연관 응용프로그램을 다운로드하도록 디바이스를 안내하거나 소프트웨어 응용프로그램 스토어로 고객을 유도할 수 있다.
일부 실시예에서 사용자는 예를 들어 디바이스 표면 위, 근처 또는 근접하여 일정한 각도로 놓이거나 평평하게 놓이는 경우와 같이 디바이스의 표면을 향해 카드로 충분히 제스처를 취하거나 배치하거나 배향시키도록 요구될 수 있다, 카드의 충분한 제스처, 배치 및/또는 배향에 응답하여 디바이스는 카드로부터 수신된 데이터의 하나 이상의 암호화된 부분을 하나 이상의 서버로 전송하도록 진행할 수 있다.
블록 1206에서 데이터의 하나 이상의 부분이 카드 발급자 서버와 같은 하나 이상의 서버로 전달될 수 있다. 예를 들어 데이터의 하나 이상의 암호화된 부분이 카드 활성화를 위해 디바이스에서 카드 발급자 서버로 전송될 수 있다.
블록 1208에서 하나 이상의 서버는 본 발명에 개시된 시스템 및 방법을 통해 데이터의 하나 이상의 암호화된 부분을 복호화 할 수 있다. 예를 들어 하나 이상의 서버는 디바이스로부터 암호화된 데이터를 수신할 수 있으며 수신된 데이터를 하나 이상의 서버에 액세스 가능한 기록 데이터와 비교하기 위해 이를 복호화 할 수 있다. 하나 이상의 서버에 의한 데이터의 하나 이상의 복호화된 부분의 결과 비교로 매치가 성공적이면 카드가 활성화될 수 있다.
하나 이상의 서버에 의한 데이터의 하나 이상의 복호화된 부분의 결과 비교가 매치하지 않는 경우 하나 이상의 프로세스가 발생할 수 있다. 예를 들어 실패한 매치의 결정에 응답하여 사용자는 카드를 다시 탭 또는 스와이프하거나 제스처를 웨이브하도록 프롬프트 될 수 있다. 이러한 경우에 사용자가 카드를 활성화하도록 허용된 시도 횟수를 포함하는 미리 결정된 임계값이 존재할 수 있다.
대안적으로 사용자는 카드 검증의 실패를 나타내는 메시지와 같은 통지를 자신의 디바이스에서 수신할 수 있으며 카드 활성화를 위한 지원을 위해 관련 서비스에 전화, 이메일 또는 문자를 전송할 수 있으며 또는 카드 검증의 실패를 나타내는 전화 통화와 같은 또 다른 통지를 자신의 디바이스에서 수신할 수 있으며 카드 활성화를 위한 지원을 위해 관련 서비스에 전화, 이메일 또는 문자를 전송할 수 있으며 또는 카드 검증의 실패를 나타내는 이메일과 같은 또 다른 통지를 수신할 수 있고 카드 활성화를 위한 지원을 위해 관련 서비스에 전화, 이메일 또는 문자를 전송할 수 있다.
블록 1210에서 하나 이상의 서버는 카드의 성공적인 활성화에 기반하여 반환 메시지를 전송할 수 있다. 예를 들어 디바이스는 하나 이상의 서버에 의한 카드의 성공적인 활성화를 나타내는 하나 이상의 서버로부터의 출력을 수신하도록 형상화 될 수 있다. 디바이스는 카드의 성공적인 활성화를 나타내는 메시지를 표시하도록 형상화 될 수 있다. 카드가 활성화되면 부정 사용을 방지하기 위해 동적으로 생성되는 데이터를 중단하도록 카드를 형상화 시킬 수 있다. 이러한 방식으로 이후에 카드가 활성화되지 않을 수 있으며 카드가 이미 활성화되었음을 하나 이상의 서버에 통지한다.
도 13은 전술한 다양한 실시형태를 구현하기에 적합한 예시적인 컴퓨터 아키텍처(1300)의 실시형태를 도시한다. 하나의 실시형태에서 컴퓨터 아키텍처(1300)는 본 발명에서 논의된 시스템의 일부를 포함하거나 그 일부로서 구현될 수 있다.
본 발명에서 사용된 "시스템" 및 "컴포넌트"라는 용어는 하드웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어 또는 실행 중인 소프트웨어와 같은 컴퓨터 관련 개체를 의미하며 그러한 예는 예시적인 컴퓨터 컴퓨터 아키텍처(1300)에 의해 제공된다. 예를 들어 컴포넌트는 프로세서 상에서 실행 중인 프로세스, 프로세서, 하드 디스크 드라이브, 광 및/또는 자기 저장 매체의 다중 저장 드라이브, 개체, 실행 파일, 실행 스레드, 프로그램 및/또는 컴퓨터일 수 있으나 이에 제한되지 않는다.
예를 들어 서버에서 실행되는 응용프로그램과 서버 모두 컴포넌트가 될 수 있다. 하나 이상의 컴포넌트는 프로세스 및/또는 실행 스레드 내에 상주할 수 있으며 컴포넌트는 하나의 컴퓨터에 국소화 및/또는 둘 이상의 컴퓨터 간에 분산될 수 있다. 또한 컴포넌트는 동작을 조정하기 위해 다양한 유형의 통신 매체에 의해 서로 통신 가능하게 연결될 수 있다. 조정에는 단방향 또는 양방향 정보 교환이 포함될 수 있다. 예를 들어 컴포넌트는 통신 매체를 통해 전달되는 신호의 형태로 정보를 전달할 수 있다.
상기 정보는 다양한 신호선에 할당된 신호로 구현될 수 있다. 이러한 할당에서 각 메시지는 신호이다. 그러나 추가 실시형태는 데이터 메시지를 대안적으로 사용할 수 있다. 이러한 데이터 메시지는 다양한 연결을 통해 전송될 수 있다. 예시적인 연결에는 병렬 인터페이스, 직렬 인터페이스 및 버스 인터페이스가 포함된다.
컴퓨터 아키텍처(1300)는 하나 이상의 프로세서, 멀티코어 프로세서, 코프로세서, 메모리 유니트, 칩셋, 컨트롤러, 주변기기, 인터페이스, 오실레이터, 타이밍 디바이스, 비디오 카드, 오디오 카드, 멀티미디어 입력/출력(I/O) 컴포넌트, 전원 공급 디바이스 등과 같은 다양한 공통 컴퓨터 엘레멘트를 포함한다. 그러나 실시형태는 컴퓨터 아키텍처(1300)에 의한 구현으로 제한되지 않는다.
도 13에 도시된 바와 같이 컴퓨터 아키텍처(100)는 프로세서(1312), 시스템 메모리(1304) 및 시스템 버스(1306)를 포함한다. 프로세서(1312)는 임의의 다양한 상업적으로 이용 가능한 프로세서일 수 있다.
시스템 버스(1306)는 프로세서(1312)에 대한 시스템 메모리(1304)를 포함하지만 이에 한정되지 않는 시스템 컴포넌트를 위한 인터페이스를 제공한다. 시스템 버스(1306)는 메모리 컨트롤러가 있거나 없는 메모리 버스, 주변기기 버스 및 다양한 상업적으로 이용 가능한 버스 아키텍처를 사용하여 로컬 버스에 추가로 상호 연결될 수 있는 여러 유형의 버스 구조 중 임의의 것일 수 있다. 인터페이스 어댑터는 슬롯 아키텍처를 통해 시스템 버스(1306)에 연결할 수 있다. 예시적인 슬롯 아키텍처는 제한 없이 가속 그래픽 포트(AGP), 카드 버스, (확장) 산업 표준 아키텍처((E)ISA), 마이크로 채널 아키텍처(MCA), 누버스, 주변기기 컴포넌트 상호연결(PCI(X)), PCI 익스프레스, 개인용 컴퓨터 메모리 카드 국제 협회(PCMCIA) 등을 포함할 수 있다.
컴퓨터 아키텍처는 다양한 제조 물품을 포함하거나 구현할 수 있다. 제조 물품은 로직을 저장하기 위한 컴퓨터 판독가능 저장 매체를 포함할 수 있다. 컴퓨터 판독 가능 저장 매체의 예는 휘발성 메모리 또는 비휘발성 메모리, 이동식 또는 비이동식 메모리, 지울 수 있는 또는 지울 수 없는 메모리, 기록 가능 또는 재기록 가능 메모리 등을 포함하는 전자 데이터를 저장할 수 있는 모든 유형의 매체를 포함할 수 있다.
논리의 예는 소스 코드, 컴파일된 코드, 해석된 코드, 실행 가능한 코드, 정적 코드, 동적 코드, 객체 지향 코드, 시각적 코드 등과 같은 임의의 적절한 유형의 코드를 사용하여 구현된 실행 가능한 컴퓨터 프로그램 명령어를 포함할 수 있다. 실시형태는 또한 적어도 부분적으로 비일시적 컴퓨터 판독 가능 매체에 포함된 명령어로서 구현될 수 있으며 이는 본 발명에 개시된 동작의 수행을 가능하게 하기 위해 하나 이상의 프로세서에 의해 판독 및 실행될 수 있다.
시스템 메모리(1304)는 읽기 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 동적 RAM(DRAM), 더블 데이터 레이트 DRAM(DDRRAM), 동기식 DRAM(SDRAM), 정적 RAM(SRAM), 프로그래밍 가능 ROM(PROM), 지울 수 있는 프로그래밍 가능 ROM(EPROM), 전기적으로 지울 수 있는 프로그래밍 가능 ROM(EEPROM), 플래시 메모리, 폴리머 메모리 등 강유전성 폴리머 메모리, 오보닉 메모리, 위상 변화 또는 강유전성 메모리, 실리콘 옥사이드 니트라이드 옥사이드 실리콘(SONOS) 메모리, 자기 또는 광학 카드, 복수 배열 독립 디스크(RAID) 드라이브와 같은 디바이스 어레이, 고체 상태 메모리 디바이스 예를 들어 USB 메모리, 고체 상태 드라이브(SSD) 및 정보 저장에 적합한 기타 유형의 저장 매체와 같은 하나 이상의 고속 메모리 유니트의 형태로 다양한 유형의 컴퓨터 판독가능 저장 매체를 포함할 수 있다.
도 13에 도시된 실시형태에서 시스템 메모리(1304)는 비휘발성 메모리(1308) 및/또는 휘발성 메모리(1310)를 포함할 수 있다. 기본 입력/출력 시스템(BIOS)은 비휘발성 메모리(1308) 내에 저장될 수 있다.
컴퓨터(1302)는 내부(또는 외부) 하드 디스크 드라이브(1330), 이동식 자기 디스크(1320)로부터 읽거나 이에 쓰기 위한 자기 디스크 드라이브(1316), 이동식 광 디스크(1332 예를 들어 CD-ROM 또는 DVD로부터 읽거나 이에 쓰기 위한 광 디스크 드라이브(1328)를 포함하여 하나 이상의 저속 메모리 유니트의 형태로 다양한 유형의 컴퓨터 판독 가능 저장 매체를 포함할 수 있다.
하드 디스크 드라이브(1330), 자기 디스크 드라이브(1316) 및 광학 디스크 드라이브(1328)는 각각 HDD 인터페이스(1314), FDD 인터페이스(1318) 및 광학 디스크 드라이브 인터페이스(1334)에 의해 시스템 버스(1306)에 연결될 수 있다. 외부 드라이브 구현을 위한 HDD 인터페이스(1314)는 범용 직렬 버스(USB) 및 IEEE 1394 인터페이스 기술 중 적어도 하나 또는 모두를 포함할 수 있다.
드라이브 및 관련 컴퓨터 판독 가능 매체는 데이터, 데이터 구조, 컴퓨터 실행 가능 명령어 등의 휘발성 및/또는 비휘발성 저장 디바이스를 제공한다. 예를 들어 운영 체제(1322), 하나 이상의 응용프로그램(1342), 다른 프로그램 모듈(1324) 및 프로그램 데이터(1326)를 포함하는 다수의 프로그램 모듈이 드라이브 및 비휘발성(1308) 및 휘발성(1310)에 저장될 수 있다. 하나의 실시형태에서 하나 이상의 응용프로그램(1342), 다른 프로그램 모듈(1324) 및 프로그램 데이터(1326)는 예를 들어 본 발명에서 논의된 시스템의 다양한 응용프로그램 및/또는 컴포넌트를 포함할 수 있다.
사용자는 하나 이상의 유선/무선 입력 디바이스 예를 들어 키보드(1350) 및 마우스(1352)와 같은 포인팅 디바이스를 통해 컴퓨터(1302)에 명령어 및 정보를 입력할 수 있다. 다른 입력 디바이스는 마이크, 적외선(IR) 리모콘, 무선 주파수(RF) 리모콘, 게임 패드, 스타일러스 펜, 카드 판독기, 동글, 지문 판독기, 글로브, 그래픽 태블릿, 조이스틱, 키보드, 망막 판독기, 터치 스크린 예를 들어 정전식, 감압식 등), 트랙볼, 트랙 패드, 센서, 스타일러스 등을 포함할 수 있다. 이러한 입력 디바이스 및 기타 입력 디바이스는 종종 시스템 버스(1306)에 결합된 입력 디바이스 인터페이스(1336)를 통해 프로세서(1312)에 연결되지만 병렬 포트, IEEE 1394 직렬 포트, 게임 포트, USB 포트, IR 인터페이스 등과 같은 다른 인터페이스에 의해 연결될 수 있다.
모니터(1344) 또는 다른 유형의 디스플레이 디바이스도 비디오 어댑터(1346)와 같은 인터페이스를 통해 시스템 버스(1306)에 연결된다. 모니터(1344)는 컴퓨터(1302)의 내부 또는 외부에 있을 수 있다. 모니터(1344) 외에 컴퓨터는 일반적으로 스피커, 프린터 등과 같은 다른 주변 출력 디바이스를 포함한다.
컴퓨터(1302)는 원격 컴퓨터(1348)와 같은 하나 이상의 원격 컴퓨터에 대한 유선 및/또는 무선 통신을 통한 논리적 연결을 사용하여 네트워크 환경에서 작동할 수 있다. 원격 컴퓨터(1348)는 워크스테이션, 서버 컴퓨터, 라우터, 개인용 컴퓨터, 휴대용 컴퓨터, 마이크로프로세서 기반 엔터테인먼트 기기, 피어 디바이스 또는 기타 공통 네트워크 노드일 수 있으며 일반적으로 컴퓨터(1302)와 관련하여 개시된 많은 또는 모든 엘레멘트를 포함하지만 간결함을 위해 메모리 및/또는 저장 디바이스(1358) 만이 도시되어 있다.
도시된 논리적 연결은 로컬 영역 네트워크(1356) 및/또는 더 큰 네트워크 예를 들어 광역 네트워크(1354)에 대한 유선/무선 연결을 포함한다. 이러한 LAN 및 WAN 네트워크 환경은 사무실 및 회사에서 일반적이며 전 기업적 컴퓨터 네트워크를 용이하게 하며 인트라넷과 같이 이들 모두는 인터넷과 같은 글로벌 통신 네트워크에 연결할 수 있다.
근거리 네트워크(1356) 네트워크 환경에서 사용될 때 컴퓨터(1302)는 유선 및/또는 무선 통신 네트워크 인터페이스 또는 네트워크 어댑터(1338)를 통해 근거리 네트워크(1356)에 연결된다. 네트워크 어댑터(1338)는 근거리 네트워크(1356)에 대한 유선 및/또는 무선 통신을 용이하게 하며 이는 또한 네트워크 어댑터(1338)의 무선 기능과 통신하기 위해 그 위에 배치된 무선 액세스 포인트를 또한 포함할 수 있다.
광역 네트워크(1354) 네트워크 환경에서 사용될 때 컴퓨터(1302)는 모뎀(1340)을 포함할 수 있거나 광역 네트워크(1354) 상의 통신 서버에 연결되거나 인터넷을 통한 방법과 같이 광역 네트워크(1354)를 통해 통신을 설정하기 위한 다른 수단을 지닌다. 내부 또는 외부 및 유선 및/또는 무선 디바이스일 수 있는 모뎀(1340)은 입력 디바이스 인터페이스(1336)를 통해 시스템 버스(1306)에 연결된다.
네트워크 환경에서 컴퓨터(1302)와 관련하여 도시된 프로그램 모듈 또는 그 일부는 원격 메모리 및/또는 저장 디바이스(1358)에 저장될 수 있다. 도시된 네트워크 연결은 예시적이며 컴퓨터 사이의 통신 연결을 설정하기 위한 다른 수단이 사용될 수 있는 것으로 이해된다.
컴퓨터(1302)는 무선 통신 예를 들어 IEEE 802.11 무선 변조 기술에서 작동 가능하게 배치된 무선 디바이스와 같은 IEEE 802 표준 계열을 사용하여 유선 및 무선 디바이스 또는 엔티티와 통신하도록 작동 가능하다. 본 발명에는 최소한 Wi-Fi 또는 Wireless Fidelity, WiMax 및 Bluetooth™ 무선 기술 등이 포함된다. 따라서 통신은 종래의 네트워크와 같이 미리 정의된 구조일 수도 있고 단순히 적어도 두 개의 디바이스 사이의 애드혹 통신일 수도 있다. Wi-Fi 네트워크는 IEEE 802.11(a, b, g, n 등)이라는 무선 기술을 사용하여 안전하고 신뢰할 수 있으며 빠른 무선 연결을 제공한다. Wi-Fi 네트워크는 컴퓨터를 서로 연결하고 인터넷에 연결하고 IEEE 802.3 관련 미디어 및 기능을 사용하는 유선 네트워크에 연결하는 데 사용될 수 있다.
본 발명에서 논의된 참조 실시형태와 함께 이전에 개시된 디바이스의 다양한 엘레멘트는 다양한 하드웨어 엘레멘트, 소프트웨어 엘레멘트 또는 이들의 조합을 포함할 수 있다. 하드웨어 엘레멘트의 예는 디바이스, 논리 디바이스, 컴포넌트, 프로세서, 마이크로프로세서, 회로, 프로세서, 회로 요소 예를 들어 트랜지스터, 레지스터, 커패시터, 인덕터 등, 집적 회로, 주문형 집적 회로(ASIC), 프로그램가능 로직 디바이스(PLD), 디지털 신호 프로세서(DSP), 필드 프로그램가능 게이트 어레이(FPGA), 메모리 유니트, 로직 게이트, 레지스터, 반도체 디바이스, 칩, 마이크로칩, 칩셋 등을 포함할 수 있다.
소프트웨어 엘레멘트의 예에는 소프트웨어 컴포넌트, 프로그램, 응용프로그램, 컴퓨터 프로그램, 어플리케이션 프로그램, 시스템 프로그램, 소프트웨어 개발 프로그램, 기계 프로그램, 운영 체제 소프트웨어, 미들웨어, 펌웨어, 소프트웨어 모듈, 루틴, 서브루틴, 기능, 방법, 절차, 소프트웨어 인터페이스, 응용프로그램 프로그램 인터페이스(API), 명령어 세트, 컴퓨팅 코드, 컴퓨터 코드, 코드 세그먼트, 컴퓨터 코드 세그먼트, 단어, 값, 기호 또는 이들의 조합을 포함할 수 있다.
그러나 실시형태가 하드웨어 엘레멘트 및/또는 소프트웨어 엘레멘트를 사용하여 구현 여부를 결정하는 것은 특정 구현에 대해 원하는 대로 원하는 연산 속도, 전력 수준, 내열성, 처리 주기 예산, 입력 데이터 속도, 출력 데이터 속도, 메모리 리소스, 데이터 버스 속도 및 기타 설계 또는 성능 제약과 같은 요인의 수에 따라 상이하다.
도 14는 전술한 바와 같이 다양한 실시형태를 구현하기에 적합한 예시적인 통신 아키텍처(1400)를 도시하는 블록도이다. 통신 아키텍처(1400)는 송신기, 수신기, 트랜시버, 라디오, 네트워크 인터페이스, 베이스밴드 프로세서, 안테나, 증폭기, 필터, 전원 등과 같은 다양한 공통 통신 엘레멘트를 포함한다. 그러나 실시형태는 본 발명에서 논의된 시스템과 일치할 수 있는 통신 아키텍처(1400)에 의한 구현으로 제한되지 않는다.
도 14에 도시된 바와 같이 통신 아키텍처(1400)는 하나 이상의 클라이언트(1402) 및 서버(1404)를 포함한다. 서버(1404)는 하나 이상의 디바이스를 구현할 수 있다. 클라이언트(1402) 및 서버(1404)는 쿠키 및/또는 관련 컨텍스트 정보와 같이 각각의 클라이언트(1402) 및 서버(1404)에 로컬인 정보를 저장하기 위해 적용될 수 있는 하나 이상의 각각의 클라이언트 데이터 저장소(1406) 및 서버 데이터 저장소(1408)에 작동 가능하게 연결된다.
클라이언트(1402) 및 서버(1404)는 통신 프레임워크(1410)를 사용하여 서로 간에 정보를 통신할 수 있다. 통신 프레임워크(1410)는 임의의 잘 알려진 통신 기술 및 프로토콜을 구현할 수 있다. 통신 프레임워크(1410)는 패킷 교환 네트워크 예를 들어 인터넷과 같은 공중 네트워크, 기업 인트라넷과 같은 사설 네트워크 등, 회선 교환 네트워크 예를 들어 공중 전화 교환 네트워크 또는 패킷 교환 네트워크와 적절한 게이트웨이 및 변환기를 포함하는 회선 교환 네트워크의 조합으로 구현될 수 있다.
통신 프레임워크(1410)는 통신 네트워크를 수용하고, 통신하고, 연결하도록 배치된 다양한 네트워크 인터페이스를 구현할 수 있다. 네트워크 인터페이스는 입/출력(I/O) 인터페이스의 특수한 형태로 간주될 수 있다. 네트워크 인터페이스는 직접 연결, 이더넷 예를 들어 씩, 씬, 트위스트 페어 10/100/1000 Base T 등, 토큰 링, 무선 네트워크 인터페이스, 셀룰러 네트워크 인터페이스, IEEE 802.11a-x 네트워크 인터페이스, IEEE 802.16 네트워크 인터페이스, IEEE 802.20 네트워크 인터페이스 등을 제한 없이 포함하는 연결 프로토콜을 적용할 수 있다. 또한 다수의 네트워크 인터페이스를 사용하여 다양한 통신 네트워크 유형과 연결할 수 있다.
예를 들어 다수의 네트워크 인터페이스가 브로드캐스트, 멀티캐스트 및 유니캐스트 네트워크를 통한 통신을 허용하기 위해 적용될 수 있다. 처리 요구사항이 더 큰 양의 속도 및 용량을 지시하는 경우 클라이언트(1402) 및 서버(1404)에 의해 요구되는 통신 대역폭을 풀링, 로드 밸런싱, 또는 그렇지 않으면 증가시키기 위해 분산 네트워크 컨트롤러 아키텍처가 유사하게 적용될 수 있다.
통신 네트워크는 직접 상호 연결, 보안된 사용자 정의 연결, 사설 네트워크 예를 들어 기업 인트라넷, 공용 네트워크 예를 들어 인터넷, 개인 영역 네트워크(PAN), 근거리 네트워크(LAN), 도시 영역 네트워크(MAN), 인터넷 상의 노드로서 운영 미션(OMNI), 광역 네트워크(WAN), 무선 네트워크, 셀룰러 네트워크 및 기타 통신 네트워크를 제한 없이 포함하는 유선 및/또는 무선 네트워크의 임의의 하나 및 조합일 수 있다.
전술한 디바이스의 컴포넌트 및 특징은 이산 회로, 주문형 집적 회로(ASIC), 논리 게이트 및/또는 단일 칩 아키텍처의 임의의 조합을 사용하여 구현될 수 있다. 또한 디바이스의 특징은 마이크로컨트롤러, 프로그래밍 가능한 로직 어레이 및/또는 마이크로프로세서 또는 적절하게 적절한 경우 전술한 것의 임의의 조합을 사용하여 구현될 수 있다. 하드웨어, 펌웨어 및/또는 소프트웨어 엘레멘트는 본 발명에서 집합적으로 또는 개별적으로 "로직" 또는 "회로"로 지칭될 수 있음에 유의한다.

Claims (20)

  1. 처리 회로; 및
    처리 회로에 연결되고 명령어를 지니는 응용프로그램을 저장하는 메모리;를 포함하는
    새로운 정보 또는 업데이트된 정보로 웹페이지의 필드를 자동으로 채우도록 형상화 된 모바일 디바이스에 있어서,
    상기 명령어는 처리 회로에 의해 실행될 때 처리 회로가
    비접촉식 카드와의 통신 개시를 감지하고;
    비접촉식 카드로부터 인증 정보를 수신하는 것을 포함하는 비접촉식 카드와 통신을 무선 인터페이스를 통해 수행하고;
    데이터를 수신하도록 형상화된 온라인 시스템 웹페이지의 하나 이상의 필드를 감지하고;
    온라인 시스템을 식별하기 위한 정보를 결정하고;
    인증 정보 및 온라인 시스템을 식별하기 위한 정보에 기반하여 데이터를 수득하는 서버에 인증 정보 및 온라인 시스템을 식별하기 위한 정보를 커뮤니케이션하고;
    서버에서 데이터를 수신하며; 및
    웹페이지의 하나 이상의 필드를 데이터로 자동으로 채우기;
    를 수행하도록 유도함을 특징으로 하는 모바일 디바이스.
  2. 제 1항에 있어서, 상기 처리 회로는 디스플레이의 그래픽 사용자 인터페이스에 프롬프트를 표시하고, 프롬프트는 비접촉식 카드와의 통신을 개시하기 위해 무선 인터페이스의 작동 범위 내에 비접촉식 카드를 가져오도록 사용자에게 지시함을 특징으로 하는 모바일 디바이스.
  3. 제 1항에 있어서, 상기 명령어는 하나 이상의 필드 각각에 대한 라벨에 기반하여 처리 회로가 하나 이상의 필드를 감지하도록 유도함을 특징으로 하는 모바일 디바이스.
  4. 제 1항에 있어서, 상기 무선 인터페이스는 근거리 통신(NFC) 인터페이스를 포함하고, 통신은 NFC 프로토콜에 따르는 것임을 특징으로 하는 모바일 디바이스.
  5. 제 1항에 있어서, 상기 인증 정보는 비접촉식 카드에 저장된 카운터 값과 마스터 키를 기반으로 하는 다양화 키로 암호화되어 수신됨을 특징으로 하는 모바일 디바이스.
  6. 제 1항에 있어서, 상기 처리 회로는 하나 이상의 필드 중 적어도 하나를 채우기 위한 데이터 옵션의 제안을 서버로부터 수신함을 특징으로 하는 모바일 디바이스.
  7. 제 6항에 있어서, 디스플레이 디바이스를 포함하고,
    상기 처리 회로는
    데이터 옵션 제안을 디스플레이 디바이스에 제공하고;
    데이터 옵션 중 적어도 하나에 대한 입력 선택을 수신하고; 및
    선택한 데이터 옵션으로 하나 이상의 필드 중 적어도 하나의 필드를 채우기; 하기 위한 것임을 특징으로 하는 모바일 디바이스.
  8. 제 6항에 있어서,
    디스플레이 디바이스를 포함하고,
    상기 처리 회로는
    데이터 옵션 제안을 디스플레이 디바이스에 제공하고;
    데이터 옵션 중 적어도 하나에 대한 입력 선택을 수신하고;
    데이터 옵션 중 적어도 하나에 대한 입력 선택을 서버로 전송하고; 및
    하나 이상의 필드 중 적어도 하나의 필드를 채우기 위해 입력 선택에 기반하여 데이터를 수신;
    하기 위한 것임을 특징으로 하는 모바일 디바이스.
  9. 하나 이상의 프로세서;
    하나 이상의 프로세서와 연결되고 명령어를 저장하는 메모리;를 포함하는 시스템에 있어서,
    상기 명령어는 하나 이상의 프로세서에 의해 실행될 하나 이상의 프로세서가:
    비접촉식 카드와 연관된 인증 정보 및 온라인 시스템을 식별하기 위한 식별 정보를 모바일 디바이스로부터 수신하고;
    비접촉식 카드와 연관된 인증 동작을 수행하고;
    인증 동작의 성공 여부를 결정하고;
    인증 동작이 성공적인 것에 응답하여 온라인 시스템과 연관된 웹페이지의 하나 이상의 필드를 채울 수 있는 데이터를 결정하고 데이터를 모바일 디바이스로 전송하고; 및
    인증 동작이 성공하지 못한 것에 응답하여 인증 정보의 인증 실패를 나타내기 위한 표시를 모바일 디바이스에 전송;
    하도록 유도함을 특징으로 하는 시스템.
  10. 제 9항에 있어서, 상기 하나 이상의 프로세서는
    메모리에 저장된 온라인 시스템 및 비접촉식 카드에 대한 데이터가 존재하는지 결정하고; 및
    메모리에서 데이터를 수득하여 모바일 디바이스로 전송;
    하기 위한 것임을 특징으로 하는 시스템.
  11. 제 9항에 있어서, 상기 하나 이상의 프로세서는
    온라인 시스템 및 비접촉식 카드에 대한 데이터가 존재하지 않는지 결정하고; 및
    온라인 시스템이 모바일 디바이스에 전송할 데이터를 생성;
    하기 위한 것임을 특징으로 하는 시스템.
  12. 제 9항에 있어서, 인증 동작을 수행하기 위한 상기 하나 이상의 프로세서는
    비접촉식 카드와 연관된 카운터 값을 증가시키고;
    카운터 값 및 비접촉식 카드와 연관된 계정과 연관된 마스터 키에 기반하여 다양화 키를 생성하고; 및
    다양화 키를 사용하여 인증 정보를 복호화;
    하기 위한 것임을 특징으로 하는 시스템.
  13. 제 9항에 있어서, 상기 하나 이상의 프로세서는
    웹페이지의 하나 이상의 필드에 대한, 웹페이지의 하나 이상의 필드 중 적어도 하나를 채우기 위한 하나 이상의 옵션을 포함하는 선택적 데이터를 결정하고; 및
    선택적 데이터를 모바일 디바이스로 전송;
    하기 위한 것임을 특징으로 하는 시스템.
  14. 제 13항에 있어서, 상기 하나 이상의 프로세서는
    선택적 데이터에 대한, 선택적 데이터의 선택 표시를 포함하는 응답 통신을 처리하고;
    선택 표시와 연관된 데이터를 결정하고; 및
    선택 표시와 연관된 데이터를 모바일 디바이스로 전송;
    하기 위한 것임을 특징으로 하는 시스템.
  15. 처리 회로; 및
    처리 회로에 연결되고 명령어를 저장하는 메모리;를 포함하는 컴퓨터 디바이스에 있어서,
    상기 명령어는 처리 회로에 의해 실행될 때 처리 회로가
    데이터로 채울 웹페이지의 하나 이상의 필드를 감지하고;
    사용자를 인증하기 위해 비접촉식 카드로 인증 동작을 수행하고;
    웹페이지 및 인증 동작의 성공적인 결과에 기반하여 하나 이상의 필드를 채울 데이터를 결정하고; 및
    웹페이지의 하나 이상의 필드를 데이터로 채우기;
    를 수행하도록 유도함을 특징으로 하는 컴퓨터 디바이스.
  16. 제 15항에 있어서, 상기 명령어는 처리 회로가
    인증 동작을 수행하기 위해 근거리 통신에서 비접촉식 카드로부터 인증 정보를 수신하고 처리하도록 유도함을 특징으로 하는 컴퓨터 디바이스.
  17. 제 15항에 있어서, 상기 명령어는 처리 회로가
    웹페이지를 식별하기 위한 정보를 결정하고; 및
    웹페이지를 식별하기 위한 정보를 기반으로 데이터를 결정;
    하도록 유도함을 특징으로 하는 컴퓨터 디바이스.
  18. 제 17항에 있어서, 상기 명령어는 처리 회로가
    웹페이지를 식별하기 위한 정보 및 인증 정보를 뱅킹 시스템과 연관된 서버로 전송하고; 및
    서버로부터 데이터를 수신;
    하도록 유도함을 특징으로 하는 컴퓨터 디바이스.
  19. 제 17항에 있어서, 상기 메모리는 데이터의 적어도 일부 및 처리 회로가 하나 이상의 필드 중 적어도 하나를 채울 데이터의 적어도 일부를 결정하도록 하는 명령어를 포함함을 특징으로 하는 컴퓨터 디바이스.
  20. 제 19항에 있어서, 데이터의 일부는 웹페이지를 식별하기 위한 정보와 연관된 메모리 내에 저장됨을 특징으로 하는 컴퓨터 디바이스.
KR1020237028759A 2021-03-04 2022-03-02 민감한 데이터를 데이터 전자 필드 내에 자동적으로 보안 제공하는 기술 KR20230157316A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/192,486 2021-03-04
US17/192,486 US20220284178A1 (en) 2021-03-04 2021-03-04 Techniques to automatically and securely provide sensitive data in data electronic fields
PCT/US2022/018502 WO2022187350A1 (en) 2021-03-04 2022-03-02 Techniques to automatically and securely provide sensitive data in data electronic fields

Publications (1)

Publication Number Publication Date
KR20230157316A true KR20230157316A (ko) 2023-11-16

Family

ID=80928612

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237028759A KR20230157316A (ko) 2021-03-04 2022-03-02 민감한 데이터를 데이터 전자 필드 내에 자동적으로 보안 제공하는 기술

Country Status (10)

Country Link
US (1) US20220284178A1 (ko)
EP (1) EP4302253A1 (ko)
JP (1) JP2024510940A (ko)
KR (1) KR20230157316A (ko)
CN (1) CN116964609A (ko)
AU (1) AU2022231123A1 (ko)
BR (1) BR112023017143A2 (ko)
CA (1) CA3207116A1 (ko)
MX (1) MX2023009338A (ko)
WO (1) WO2022187350A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112307783B (zh) * 2020-12-31 2021-04-27 飞天诚信科技股份有限公司 一种读卡器辅助设备及其工作方法
CN116881881B (zh) * 2023-09-07 2023-11-24 国网思极网安科技(北京)有限公司 数据导出方法、装置、电子设备和计算机可读介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6641050B2 (en) * 2001-11-06 2003-11-04 International Business Machines Corporation Secure credit card
BR112014015950A8 (pt) * 2011-12-29 2017-07-04 Intel Corp método e sistema para comércio móvel com suporte de compra em tempo real
US20140074655A1 (en) * 2012-09-07 2014-03-13 David Lim System, apparatus and methods for online one-tap account addition and checkout
US20160026997A1 (en) * 2014-07-25 2016-01-28 XPressTap, Inc. Mobile Communication Device with Proximity Based Communication Circuitry
US10643420B1 (en) * 2019-03-20 2020-05-05 Capital One Services, Llc Contextual tapping engine
US10438437B1 (en) * 2019-03-20 2019-10-08 Capital One Services, Llc Tap to copy data to clipboard via NFC

Also Published As

Publication number Publication date
BR112023017143A2 (pt) 2023-09-26
CN116964609A (zh) 2023-10-27
CA3207116A1 (en) 2022-09-09
AU2022231123A9 (en) 2024-05-02
JP2024510940A (ja) 2024-03-12
MX2023009338A (es) 2023-08-17
AU2022231123A1 (en) 2023-08-17
EP4302253A1 (en) 2024-01-10
WO2022187350A1 (en) 2022-09-09
US20220284178A1 (en) 2022-09-08

Similar Documents

Publication Publication Date Title
US20230351833A1 (en) Tap to copy data to clipboard via nfc
US20230004953A1 (en) Systems and methods to perform contactless card activation
US12014357B2 (en) Tap to autofill card data
CN113519005A (zh) 上下文轻拍引擎
US11961089B2 (en) On-demand applications to extend web services
US11880823B2 (en) Server-side contactless card activation
KR20230157316A (ko) 민감한 데이터를 데이터 전자 필드 내에 자동적으로 보안 제공하는 기술
US20230162187A1 (en) Autofilling data based on account authentication using a contactless card
KR20210153592A (ko) 비접촉식 카드 재발급을 위한 시스템 및 방법