KR20130126772A - 모바일 기기, 모바일 기기의 입력 처리 방법, 및 모바일 기기를 이용한 전자 결제 방법 - Google Patents

모바일 기기, 모바일 기기의 입력 처리 방법, 및 모바일 기기를 이용한 전자 결제 방법 Download PDF

Info

Publication number
KR20130126772A
KR20130126772A KR1020120037328A KR20120037328A KR20130126772A KR 20130126772 A KR20130126772 A KR 20130126772A KR 1020120037328 A KR1020120037328 A KR 1020120037328A KR 20120037328 A KR20120037328 A KR 20120037328A KR 20130126772 A KR20130126772 A KR 20130126772A
Authority
KR
South Korea
Prior art keywords
input
processor
information
data
security
Prior art date
Application number
KR1020120037328A
Other languages
English (en)
Other versions
KR101873530B1 (ko
Inventor
김원태
김태훈
이도준
황효선
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020120037328A priority Critical patent/KR101873530B1/ko
Priority to US13/705,801 priority patent/US8903093B2/en
Priority to DE201310101515 priority patent/DE102013101515A1/de
Priority to CN201310088290.5A priority patent/CN103369521B/zh
Publication of KR20130126772A publication Critical patent/KR20130126772A/ko
Application granted granted Critical
Publication of KR101873530B1 publication Critical patent/KR101873530B1/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/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/322Aspects of commerce using mobile devices [M-devices]
    • G06Q20/3226Use of secure elements separate from M-devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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/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]
    • 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/4014Identity check for transactions
    • 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/4014Identity check for transactions
    • G06Q20/40145Biometric identity checks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • H04W12/033Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/40Security arrangements using identity modules
    • H04W12/47Security arrangements using identity modules using near field communication [NFC] or radio frequency identification [RFID] modules

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Telephone Function (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

모바일 기기는 주프로세서, 입력 장치, 및 주프로세서와 입력 장치 사이에 연결된 보안 프로세서를 포함한다. 입력 장치는 사용자의 입력을 수신하고, 사용자의 입력에 상응하는 입력 데이터를 생성한다. 보안 프로세서는 입력 장치로부터 입력 데이터를 수신하며, 일반 입력 모드에서 주프로세서가 입력 데이터를 처리하도록 주프로세서에 입력 데이터를 제공하고, 보안 입력 모드에서 입력 데이터를 처리한다.

Description

모바일 기기, 모바일 기기의 입력 처리 방법, 및 모바일 기기를 이용한 전자 결제 방법{MOBILE SYSTEM, METHOD OF PROCESSING AN INPUT IN A MOBILE SYSTEM, AND ELECTRONIC PAYMENT METHOD USING A MOBILE SYSTEM}
본 발명은 모바일 기기에 관한 것으로서, 더욱 상세하게는 모바일 기기, 모바일 기기의 입력 처리 방법 및 모바일 기기를 이용한 전자 결제 방법에 관한 것이다.
스마트 폰, 태블릿 PC 등과 같은 모바일 기기는 다양한 해킹 공격에 의해 개인 정보와 같은 주요 데이터가 유출될 수 있다. 예를 들어, 상기 모바일 기기에서 악성 코드(Malicious Code)가 실행되거나, 루팅(Rooting) 또는 탈옥(Jailbreaking)에 의해 관리자 권한이 탈취되어 개인 정보가 유출되거나 개인 정보 또는 어플리케이션이 임의로 삭제될 수 있다. 또한, 상기 모바일 기기가 개방형 운영 체제(Open OS)를 실행하는 경우, 상기 모바일 기기는 해킹 공격에 더욱 취약할 수 있다.
상기와 같은 문제점을 해결하기 위하여, 본 발명의 일 목적은 사용자의 입력에 대한 보안을 유지할 수 있는 모바일 기기를 제공하는 것이다.
또한, 본 발명의 다른 목적은 사용자의 입력에 대한 보안을 유지할 수 있는 모바일 기기의 입력 처리 방법을 제공하는 것이다.
또한, 본 발명의 또 다른 목적은 사용자의 개인 식별 번호 입력 및 결제 정보에 대한 보안을 유지할 수 있는 모바일 기기를 이용한 전자 결제 방법을 제공하는 것이다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 모바일 기기는 주프로세서, 입력 장치 및 보안 프로세서를 포함한다. 상기 입력 장치는 사용자의 입력을 수신하고, 상기 사용자의 입력에 상응하는 입력 데이터를 생성한다. 상기 보안 프로세서는 상기 주프로세서와 상기 입력 장치 사이에 연결되고, 상기 입력 장치로부터 상기 입력 데이터를 수신하며, 일반 입력 모드에서 상기 주프로세서가 상기 입력 데이터를 처리하도록 상기 주프로세서에 상기 입력 데이터를 제공하고, 보안 입력 모드에서 상기 입력 데이터를 처리한다.
일 실시예에서, 상기 보안 프로세서는, 상기 보안 입력 모드에서, 매핑 테이블을 이용하여 상기 입력 데이터로부터 입력 정보를 추출하고, 상기 입력 정보를 암호화하여 상기 주프로세서에 암호화된 입력 정보를 제공할 수 있다.
일 실시예에서, 상기 보안 프로세서는, 상기 주프로세서와 상기 입력 장치 사이에 연결되고, 입력 모드가 상기 일반 입력 모드인지 또는 상기 보안 입력 모드인지에 따라 상기 주프로세서에 상기 입력 데이터를 선택적으로 출력하는 입력 인터페이스, 매핑 테이블을 이용하여 상기 입력 데이터로부터 입력 정보를 추출하는 입력 처리 블록, 보안 키를 저장하는 비휘발성 메모리, 상기 보안 키를 이용하여 상기 입력 정보를 암호화함으로써 암호화된 입력 정보를 생성하는 암복호화 블록, 및 상기 보안 입력 모드에서 상기 주프로세서에 상기 암호화된 입력 정보를 출력하는 데이터/제어 인터페이스를 포함할 수 있다.
일 실시예에서, 상기 입력 인터페이스는, 상기 일반 입력 모드에서 제1 로직 레벨을 가지고, 상기 보안 입력 모드에서 제2 로직 레벨을 가지는 선택 신호를 생성하는 출력 제어부, 및 상기 선택 신호가 상기 제1 로직 레벨을 가질 때 상기 주프로세서에 상기 입력 데이터를 출력하고, 상기 선택 신호가 상기 제2 로직 레벨을 가질 때 상기 주프로세서에 상기 입력 데이터를 출력하지 않는 출력 선택기를 포함할 수 있다.
일 실시예에서, 상기 입력 처리 블록은, 상기 입력 데이터가 나타내는 각 좌표에 상응하는 숫자, 문자 또는 기호를 포함하는 매핑 정보를 저장하는 상기 매핑 테이블, 상기 매핑 테이블에 저장된 상기 매핑 정보에 기초하여 상기 입력 데이터로부터 상기 입력 정보를 추출하는 정보 추출부, 및 상기 정보 추출부에 의해 추출된 상기 입력 정보를 저장하는 레지스터부를 포함할 수 있다.
일 실시예에서, 상기 보안 프로세서는, 상기 보안 입력 모드에서, 매핑 테이블을 이용하여 상기 입력 데이터로부터 입력 정보를 추출하고, 상기 입력 정보를 상기 보안 프로세서에 저장된 보안 정보와 비교하여 상기 사용자의 입력에 대한 인증을 수행할 수 있다.
일 실시예에서, 상기 보안 프로세서는, 상기 주프로세서와 상기 입력 장치 사이에 연결되고, 입력 모드가 상기 일반 입력 모드인지 또는 상기 보안 입력 모드인지에 따라 상기 주프로세서에 상기 입력 데이터를 선택적으로 출력하는 입력 인터페이스, 매핑 테이블을 이용하여 상기 입력 데이터로부터 입력 정보를 추출하는 입력 처리 블록, 보안 정보를 저장하는 비휘발성 메모리; 및 상기 보안 입력 모드에서, 상기 입력 처리 블록에서 추출된 상기 입력 정보와 상기 비휘발성 메모리에 저장된 상기 보안 정보를 비교하여 상기 사용자의 입력에 대한 인증을 수행하는 중앙 처리부를 포함할 수 있다.
일 실시예에서, 상기 보안 프로세서는, 상기 보안 입력 모드에서 상기 주프로세서에 상기 사용자의 입력에 대한 상기 인증의 결과를 출력하는 데이터/제어 인터페이스를 더 포함할 수 있다.
일 실시예에서, 상기 사용자의 입력에 대한 상기 인증은, 스크린 언락 패턴 인증, 암호 인증 또는 개인 식별 번호 인증을 포함할 수 있다.
일 실시예에서, 상기 모바일 기기는 전자 결제 리더기와 통신하는 통신 장치를 더 포함하고, 상기 보안 프로세서는, 상기 사용자의 입력에 대한 인증이 성공한 경우, 상기 통신 장치를 통하여 상기 전자 결제 리더기에 결제 정보를 제공할 수 있다.
일 실시예에서, 상기 보안 프로세서는, 상기 주프로세서로부터 입력 모드 신호를 수신하고, 상기 입력 모드 신호에 기초하여 입력 모드가 상기 일반 입력 모드인지 또는 상기 보안 입력 모드인지를 결정할 수 있다.
일 실시예에서, 상기 주프로세서는 보안이 요구되지 않는 일반 어플리케이션을 실행하고, 상기 보안 프로세서는 보안이 요구되는 보안 어플리케이션을 실행할 수 있다.
일 실시예에서, 상기 보안 프로세서는, 상기 주프로세서와 상기 보안 프로세서 사이에서 데이터를 전송하는 고속 인터페이스, 및 상기 주프로세서로부터 상기 고속 인터페이스를 통하여 수신된 데이터를 암호화하거나 복호화하는 암복호화 블록을 포함할 수 있다.
일 실시예에서, 상기 입력 장치는, 터치 스크린, 키패드, 버튼, 지문 인식기, 키보드 또는 마우스를 포함할 수 있다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 모바일 기기는 주프로세서 및 입력 장치를 포함한다. 상기 입력 장치는 사용자의 입력을 수신하고, 상기 사용자의 입력에 상응하는 입력 데이터를 생성한다. 상기 주프로세서는, 상기 입력 데이터를 수신하는 입력 수신 블록, 및 상기 입력 수신 블록과 상기 입력 장치 사이에 연결되고, 상기 입력 장치로부터 상기 입력 데이터를 수신하며, 일반 입력 모드에서 상기 주프로세서가 상기 입력 데이터를 처리하도록 상기 입력 수신 장치에 상기 입력 데이터를 제공하고, 보안 입력 모드에서 상기 입력 데이터를 처리하는 보안 프로세서를 포함한다.
상기 다른 목적을 달성하기 위해, 본 발명의 실시예들에 따른 주프로세서, 입력 장치, 및 상기 주프로세서와 상기 입력 장치 사이에 연결된 보안 프로세서를 포함하는 모바일 기기의 입력 처리 방법에서, 상기 입력 장치는 사용자의 입력을 수신하여 상기 사용자의 입력에 상응하는 입력 데이터를 생성한다. 상기 보안 프로세서는 상기 입력 장치로부터 상기 입력 데이터를 수신한다. 일반 입력 모드에서 상기 주프로세서가 상기 입력 데이터를 처리하도록 상기 보안 프로세서는 상기 주프로세서에 상기 입력 데이터를 제공한다. 보안 입력 모드에서 상기 보안 프로세서가 상기 입력 데이터를 처리한다.
일 실시예에서, 상기 보안 프로세서가 상기 입력 데이터를 처리하도록, 매핑 테이블을 이용하여 상기 입력 데이터로부터 입력 정보가 추출되고, 보안 키를 이용하여 상기 입력 정보를 암호화하여 암호화된 입력 정보가 생성되며, 상기 보안 프로세서로부터 상기 주프로세서에 상기 암호화된 입력 정보가 제공될 수 있다.
일 실시예에서, 상기 보안 프로세서가 상기 입력 데이터를 처리하도록, 매핑 테이블을 이용하여 상기 입력 데이터로부터 입력 정보가 추출되고, 상기 입력 정보와 상기 보안 프로세서에 저장된 보안 정보를 비교하여 상기 사용자의 입력에 대한 인증이 수행될 수 있다.
상기 또 다른 목적을 달성하기 위해, 본 발명의 실시예들에 따른 주프로세서, 입력 장치, 및 상기 주프로세서와 상기 입력 장치 사이에 연결된 보안 프로세서를 포함하는 모바일 기기를 이용한 전자 결제 방법에서, 사용자로부터 상기 입력 장치를 통하여 제1 개인 식별 번호가 수신되고, 상기 보안 프로세서에서 상기 제1 개인 식별 번호와 상기 보안 프로세서에 저장된 제2 개인 식별 번호가 비교되며, 상기 제1 개인 식별 번호와 상기 제2 개인 식별 번호가 일치하는 경우, 전자 결제 리더기에 결제 정보가 제공된다.
일 실시예에서, 상기 입력 장치를 통하여 수신된 상기 제1 개인 식별 번호는, 상기 보안 프로세서에 제공되고, 상기 주프로세서에 제공되지 않을 수 있다.
일 실시예에서, 상기 제2 개인 식별 번호는, 상기 보안 프로세서에 포함된 비휘발성 메모리에 저장될 수 있다.
일 실시예에서, 상기 제1 개인 식별 번호를 수신하도록, 상기 입력 장치에서 상기 제1 개인 식별 번호에 대한 상기 사용자의 입력을 수신하여 상기 사용자의 입력에 상응하는 입력 데이터가 생성되고, 상기 보안 프로세서에서 상기 입력 장치로부터 상기 입력 데이터가 수신되며, 매핑 테이블을 이용하여 상기 입력 데이터로부터 상기 제1 개인 식별 번호가 추출될 수 있다.
일 실시예에서, 상기 전자 결제 리더기에 상기 결제 정보를 제공하도록, 상기 보안 프로세서에서 생성된 상기 결제 정보가 상기 보안 프로세서에 연결된 통신 장치를 통하여 상기 전자 결제 리더기에 제공될 수 있다.
본 발명의 실시예들에 따른 모바일 기기 및 모바일 기기의 입력 처리 방법은 사용자의 입력에 대한 보안을 유지할 수 있다.
또한, 본 발명의 실시예들에 따른 모바일 기기를 이용한 전자 결제 방법은 사용자의 개인 식별 번호 입력 및 결제 정보에 대한 보안을 유지할 수 있다.
도 1은 본 발명의 실시예들에 따른 모바일 기기를 나타내는 블록도이다.
도 2는 본 발명의 실시예들에 따른 모바일 기기의 입력 처리 방법을 나타내는 순서도이다.
도 3은 본 발명의 일 실시예에 따른 모바일 기기를 나타내는 블록도이다.
도 4는 도 3에 도시된 입력 인터페이스 및 입력 처리 블록의 일 예를 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따른 모바일 기기의 입력 처리 방법을 나타내는 순서도이다.
도 6은 도 3의 모바일 기기의 입력 처리 방법의 일 예를 설명하기 위한 도면이다.
도 7은 본 발명의 다른 실시예에 따른 모바일 기기를 나타내는 블록도이다.
도 8은 본 발명의 다른 실시예에 따른 모바일 기기의 입력 처리 방법을 나타내는 순서도이다.
도 9는 도 7의 모바일 기기의 입력 처리 방법의 일 예를 설명하기 위한 도면이다.
도 10은 도 7의 모바일 기기의 입력 처리 방법의 다른 예를 설명하기 위한 도면이다.
도 11은 본 발명의 또 다른 실시예에 따른 모바일 기기를 나타내는 블록도이다.
도 12는 본 발명의 일 실시예에 따른 모바일 기기를 이용한 전자 결제 방법을 나타내는 순서도이다.
도 13a 내지 도 13d는 모바일 기기를 이용한 전자 결제 방법의 일 예를 나타내는 도면들이다.
도 14는 본 발명의 또 다른 실시예에 따른 모바일 기기를 나타내는 블록도이다.
도 15는 본 발명의 또 다른 실시예에 따른 모바일 기기를 나타내는 블록도이다.
도 16은 본 발명의 또 다른 실시예에 따른 모바일 기기를 나타내는 블록도이다.
도 17은 본 발명의 또 다른 실시예에 따른 모바일 기기를 나타내는 블록도이다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성 요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제 2 구성 요소도 제1 구성 요소로 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 실시예들을 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성 요소에 대해서는 동일하거나 유사한 참조 부호를 사용한다.
도 1은 본 발명의 실시예들에 따른 모바일 기기를 나타내는 블록도이다.
도 1을 참조하면, 모바일 기기(100)는 주프로세서(110), 입력 장치(160) 및 보안 프로세서(200)를 포함한다.
주프로세서(110)는 모바일 기기(100)를 구동하기 위한 운영 체제(Operating System; OS)를 실행할 수 있다. 또한, 주프로세서(110)는 인터넷 브라우저, 게임, 동영상 등을 제공하는 다양한 어플리케이션들을 실행할 수 있다. 실시예에 따라, 주프로세서(110)는 어플리케이션 프로세서(Application Processor; AP), 모바일 프로세서, 또는 이와 유사한 장치일 수 있다.
입력 장치(160)는 사용자의 입력을 수신하고, 상기 사용자의 입력에 상응하는 입력 데이터(ID)를 생성할 수 있다. 실시예에 따라, 입력 장치(160)는 터치 스크린, 키패드, 버튼, 지문 인식기, 키보드, 마우스 또는 다른 종래의 데이터 입력 장치를 포함할 수 있다. 예를 들어, 입력 장치(160)는 이미지를 표시하는 디스플레이 장치에 형성된 상기 터치 스크린, 및 상기 터치 스크린을 제어하기 위한 터치 컨트롤러를 포함할 수 있다.
보안 프로세서(200)는 주프로세서(110)와 입력 장치(160) 사이에 연결될 수 있다. 보안 프로세서(200)는 마이크로프로빙(Microprobing), 소프트웨어 공격(Software Attack), 도청(Eavesdropping), 오류 생성(Fault Generation) 등과 같은 부정 조작(Tampering) 공격으로부터 보호되도록 부정 조작 방지(Tamper-Resistant) 기능을 가질 수 있다. 예를 들어, 보안 프로세서(200)는 오류 검출기(Fault Detector), 파워 글리치 검출기(Power Glitch Detector), 레이저 검출기(Laser Detector), 비정상 조건 검출기(Abnormal Condition Detector), 리셋 검출기(Reset Detector), 메탈 쉴드(Metal Shield), 데이터 경로 암호화(Data Path Encryption), 실난수 발생 장치(True Random Number Generator), 또는 이와 유사한 장치를 포함할 수 있다. 일 실시예에서, 주프로세서(110) 및 보안 프로세서(200)는 서로 다른 집적 회로들 또는 칩들로 구현될 수 있다. 다른 실시예에서, 보안 프로세서(200)는 주프로세서(110)의 프로세싱 블록으로서 주프로세서(110) 내에 집적될 수 있다.
보안 프로세서(200)는 입력 장치(160)로부터 입력 데이터(ID)를 수신하고, 모바일 기기(100)의 입력 모드에 따라 주프로세서(110)에 입력 데이터(ID)를 선택적으로 제공할 수 있다. 일반 입력 모드에서, 보안 프로세서(200)는 주프로세서(110)가 입력 데이터(ID)를 처리하도록 주프로세서(110)에 입력 데이터(ID)를 제공할 수 있다. 또한, 보안 입력 모드에서, 보안 프로세서(200)는 주프로세서(110)에 입력 데이터(ID)를 제공하지 않고, 입력 데이터(ID)를 직접 처리할 수 있다. 일 실시예에서, 보안 프로세서(200)는, 상기 보안 입력 모드에서, 매핑 테이블을 이용하여 입력 데이터(ID)로부터 입력 정보를 추출하고, 상기 입력 정보를 암호화하여 주프로세서(110)에 암호화된 입력 정보를 제공할 수 있다. 다른 실시예에서, 보안 프로세서(200)는, 상기 보안 입력 모드에서, 상기 매핑 테이블을 이용하여 입력 데이터(ID)로부터 상기 입력 정보를 추출하고, 상기 입력 정보를 보안 프로세서(200)에 저장된 보안 정보와 비교하여 상기 사용자의 입력에 대한 인증을 수행할 수 있다. 이와 같이, 보안 프로세서(200)가 입력 장치(160)로부터 수신된 입력 데이터(ID)를 주프로세서(110)에 선택적으로 제공함으로써, 주프로세서(110)가 해킹되었더라도 상기 사용자의 입력에 대한 보안이 유지될 수 있다.
일 실시예에서, 일반 어플리케이션은 주프로세서(110)에서 실행되고, 보안 어플리케이션은 보안 프로세서(200)에서 실행될 수 있다. 여기서, 상기 보안 어플리케이션은 보안이 요구되는 주요 데이터(Sensitive Data)를 수신, 처리 또는 저장하는 어플리케이션일 수 있다. 이와 같이, 보안 프로세서(200)가 상기 보안 어플리케이션을 실행함으로써, 주프로세서(110)가 해킹되었더라도 상기 주요 데이터에 대한 보안이 유지될 수 있다.
또한, 일 실시예에서, 보안 프로세서(200)는 암호화 모듈(Cryptographic Module)과 같은 암복호화 블록(Encryption/Decryption Block)을 포함하고, 상기 암복호화 블록을 이용하여 주프로세서(110)로부터 수신된 데이터를 암호화할 수 있다. 상기 암복호화 블록에 의해 암호화된 데이터는 주프로세서(110)를 통하여 외부의 메모리 장치에 저장되거나, 보안 프로세서(200)에 포함된 메모리 장치 또는 보안 프로세서(200)에 연결된 메모리 장치에 저장될 수 있다. 이와 같이, 보안 프로세서(200)가 데이터를 암호화하고, 암호화된 데이터를 내부 또는 외부 메모리 장치에 저장함으로써, 상기 데이터에 대한 보안이 유지될 수 있다.
주프로세서(110)는 다양한 해킹 공격에 취약할 수 있다. 예를 들어, 주프로세서(110)에서 바이러스(Virus), 웜(Worm), 트로이(Trojan), 스파이웨어(Spyware) 등과 같은 악성 코드(Malicious Code)가 실행될 수 있고, 상기 악성 코드는 입력 장치(160)로부터 수신되는 입력 데이터(ID)를 주프로세서(110)로부터 탈취하여 사용자의 개인 정보를 취득할 수 있다. 그러나, 본 발명의 실시예들에 따른 모바일 기기(100)에서는, 보안 프로세서(200)가 주프로세서(110)와 입력 장치(160) 사이에 연결되고, 입력 장치(160)로부터의 입력 데이터(ID)를 주프로세서(110)에 선택적으로 제공함으로써, 사용자의 입력에 대한 보안이 유지될 수 있다. 이와 같이, 보안 프로세서(200)가 사용자의 입력에 대한 보안을 유지하도록 입력 데이터(ID)를 주프로세서(110)에 선택적으로 제공하는 것은 보안 프로세서(200)의 “보안 사용자 입력(Secure User Input)” 기능이라 불릴 수 있다.
또한, 예를 들어, 주프로세서(110)가 루팅(Rooting) 또는 탈옥(Jailbreaking)에 의해 관리자 권한이 탈취되어 보안 어플리케이션이 위조, 변조 또는 삭제될 수 있다. 그러나, 본 발명의 실시예들에 따른 모바일 기기(100)에서는, 보안 프로세서(200)에서 상기 보안 어플리케이션이 저장 및/또는 실행됨으로써, 상기 보안 어플리케이션에 대한 보안이 유지될 수 있다. 이와 같이, 보안 프로세서(200)가 상기 보안 어플리케이션을 실행하는 것은 보안 프로세서(200)의 “보안 실행(Secure Execution)” 기능이라 불릴 수 있다.
게다가, 예를 들어, 주프로세서(110)가 악성 코드, 루팅, 탈옥 등에 의해 해킹되어 사용자의 개인 정보 등과 같은 보안이 요구되는 주요 데이터가 유출될 수 있다. 그러나, 본 발명의 실시예들에 따른 모바일 기기(100)에서는, 보안 프로세서(200)가 상기 주요 데이터를 암호화하고, 암호화된 주요 데이터를 저장함으로써, 상기 주요 데이터에 대한 보안이 유지될 수 있다. 이와 같이, 보안 프로세서(200)가 상기 주요 데이터를 암호화 및/또는 저장하는 것은 보안 프로세서(200)의 “보안 저장(Secure Storage)” 기능이라 불릴 수 있다.
실시예에 따라, 모바일 기기(100)는 휴대폰(Mobile Phone), 스마트 폰(Smart Phone), 태블릿(Tablet) PC, 노트북(Laptop Computer), 개인 정보 단말기(personal digital assistant; PDA), 휴대형 멀티미디어 플레이어(portable multimedia player; PMP), 디지털 카메라(Digital Camera), 음악 재생기(Music Player), 휴대용 게임 콘솔(portable game console), 네비게이션(Navigation) 등과 같은 임의의 모바일 기기일 수 있다.
도 2는 본 발명의 실시예들에 따른 모바일 기기의 입력 처리 방법을 나타내는 순서도이다.
도 1 및 도 2를 참조하면, 입력 장치(160)는 사용자의 입력을 수신하고, 상기 사용자의 입력에 상응하는 입력 데이터(ID)를 생성한다(S310). 예를 들어, 입력 데이터(ID)는 터치 스크린에서 터치된 좌표에 대한 좌표 정보이거나, 키패드에서 눌러진 키에 대한 정보이거나, 눌러진 버튼에 대한 정보이거나, 지문 인식기에 의해 인식된 지문 정보이거나, 키보드에서 눌러진 키에 대한 정보이거나, 마우스의 이동 및 클릭에 대한 정보를 포함할 수 있다. 보안 프로세서(200)는 입력 장치(100)로부터 입력 데이터(ID)를 수신할 수 있다.
보안 프로세서(200)는 모바일 기기(100)의 입력 모드가 일반 입력 모드인지 또는 보안 입력 모드인지를 판단할 수 있다(S330). 일 실시예에서, 주프로세서(110)는 보안 프로세서(200)에 상기 입력 모드가 상기 일반 입력 모드인지 또는 상기 보안 입력 모드인지를 나타내는 입력 모드 신호를 송신할 수 있고, 보안 프로세서(200)는 주프로세서(110)로부터의 상기 입력 모드 신호에 기초하여 상기 입력 모드를 판단할 수 있다. 다른 실시예에서, 보안 프로세서(200)에서 실행되는 어플리케이션이 보안이 요구되는 데이터가 입력될 것인지의 여부를 판단하고, 상기 보안 입력 모드의 시작 및/또는 종료를 보안 프로세서(200)에 알릴 수 있다. 또 다른 실시예에서, 사용자가 모바일 기기(100)의 특정한 버튼을 누르는 경우, 보안 프로세서(200)는 상기 특정한 버튼에 대한 입력을 인식하여 상기 보안 입력 모드의 시작 및/또는 종료를 결정할 수 있다. 또 다른 실시예에서, 사용자가 모바일 기기(100)를 흔들거나 뒤집는 경우, 보안 프로세서(200)는, 자이로 센서와 같은 내부 센서를 이용하여 모바일 기기(100)의 이러한 움직임을 인식하고, 상기 움직임에 따라 상기 보안 입력 모드의 시작 및/또는 종료를 결정할 수 있다.
상기 입력 모드가 상기 일반 입력 모드인 경우(S330: 아니오), 보안 프로세서(200)는 입력 장치(160)로부터의 입력 데이터(ID)를 주프로세서(110)에 제공할 수 있다(S350). 주프로세서(110)는 입력 데이터(ID)를 수신하고, 수신된 입력 데이터(ID)를 처리할 수 있다. 예를 들어, 입력 데이터(ID)는 사용자가 터치한 터치 스크린의 좌표에 대한 좌표 정보일 수 있고, 주프로세서(110)는, 주프로세서(110)에서 실행된 어플리케이션에 상기 좌표 정보를 제공할 수 있다. 상기 실행된 어플리케이션은 상기 좌표 정보에 기초하여 후속 처리를 수행할 수 있다.
상기 입력 모드가 상기 보안 입력 모드인 경우(S330: 예), 보안 프로세서(200)는 주프로세서(110)에 입력 데이터(ID)를 제공하지 않을 수 있다. 실시예에 따라, 보안 프로세서(200)는, 주프로세서(110)에 입력 데이터(ID)를 대신하여 고정된 값을 가지는 소정의 데이터를 제공하거나, 주프로세서(110)에 입력 데이터(ID)를 처리한 후 입력 데이터(ID)의 처리 결과를 제공하거나, 주프로세서(110)에 어떠한 입력도 제공하지 않을 수 있다. 또한, 상기 입력 모드가 상기 보안 입력 모드인 경우(S330: 예), 보안 프로세서(200)는 입력 데이터(ID)를 직접 처리할 수 있다(S370). 예를 들어, 보안 프로세서(200)는 매핑 정보를 저장하는 매핑 테이블을 이용하여 상기 좌표 정보를 포함하는 입력 데이터(ID)를 숫자, 문자, 기호 등을 포함하는 입력 정보로 변환할 수 있다. 일 실시예에서, 보안 프로세서(200)는 상기 입력 정보를 암호화하여 주프로세서(110)에 상기 암호화된 입력 정보를 제공할 수 있다. 다른 실시예에서, 보안 프로세서(200)는 상기 입력 정보를 보안 프로세서(200)에 저장된 보안 정보와 비교하여 상기 사용자의 입력에 대한 인증을 수행할 수 있다.
상술한 바와 같이, 본 발명의 실시예들에 따른 모바일 기기(100)의 입력 처리 방법에서, 보안 프로세서(200)가 상기 입력 모드에 따라 입력 장치(160)로부터의 입력 데이터(ID)를 주프로세서(110)에 선택적으로 제공함으로써, 사용자의 입력에 대한 보안이 유지될 수 있다.
도 3은 본 발명의 일 실시예에 따른 모바일 기기를 나타내는 블록도이다.
도 3을 참조하면, 모바일 기기(400)는 주프로세서(410), 모뎀(420), 외부 비휘발성 메모리(430), 입력 장치(460) 및 보안 프로세서(500)를 포함할 수 있다.
주프로세서(410)는 모바일 기기(400)를 구동하기 위한 운영 체제 및 다양한 어플리케이션들을 실행할 수 있다. 주프로세서(410)는 모뎀(420) 및 외부 비휘발성 메모리(430)에 연결될 수 있다.
모뎀(420)은 유선 또는 무선의 통신 채널(495)을 통하여 원격의 서버(490)와 통신할 수 있다. 예를 들어, 모뎀(420)은 무선 인터넷, Wi-Fi(Wireless Fidelity), GPS(Global positioning System), BT(Bluetooth), GSM(Global System For Mobile Communication), GPRS(General Packet Radio System), WCDMA(Wideband Code Division Multiple Access), HSxPA(High Speed Uplink/Downlink Packet Access) 등의 통신을 지원하는 모뎀 프로세서일 수 있다. 실시예에 따라, 모뎀(420) 및 주프로세서(410)는 하나의 칩으로 구현되거나, 각각 별개의 칩들로 구현될 수 있다.
외부 비휘발성 메모리(430)는 주프로세서(410)에서 실행될 어플리케이션 또는 주프로세서(410)에서 처리된 데이터를 저장할 수 있다. 예를 들어, 외부 비휘발성 메모리(430)는 EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래시 메모리(Flash Memory), PRAM(Phase Change Random Access Memory), RRAM(Resistance Random Access Memory), NFGM(Nano Floating Gate Memory), PoRAM(Polymer Random Access Memory), MRAM(Magnetic Random Access Memory), FRAM(Ferroelectric Random Access Memory) 또는 이와 유사한 메모리로 구현될 수 있다.
입력 장치(460)는 사용자의 입력을 수신하고, 상기 사용자의 입력에 상응하는 입력 데이터(ID)를 생성할 수 있다. 일 실시예에서, 입력 장치(460)는 이미지를 표시하는 디스플레이 장치에 형성된 터치 스크린(461) 및 터치 스크린(461)을 제어하기 위한 터치 컨트롤러(463)를 포함할 수 있다. 터치 컨트롤러(463)는 터치 스크린(461)을 구동하여 사용자가 터치한 좌표에 대한 좌표 정보를 포함하는 입력 데이터(ID)를 생성할 수 있다.
보안 프로세서(500)는 주프로세서(410)와 입력 장치(460) 사이에 연결될 수 있다. 보안 프로세서(500)는 입력 장치(460)로부터 입력 데이터(ID)를 수신하고, 모바일 기기(400)의 입력 모드에 따라 주프로세서(410)에 입력 데이터(ID)를 선택적으로 제공할 수 있다.
보안 프로세서(500)는 입력 인터페이스(510), 입력 처리 블록(520), 비휘발성 메모리(530), 암복호화 블록(540), 데이터/제어 인터페이스(550), 중앙 처리부(Central Processing Unit; CPU, 560) 및 버스(570)를 포함할 수 있다.
입력 인터페이스(510)는 입력 장치(460)와 주프로세서(410) 사이에 연결될 수 있다. 입력 인터페이스(510)는 입력 장치(460)로부터 입력 데이터(ID)를 수신할 수 있다. 입력 인터페이스(510)는 상기 입력 모드가 일반 입력 모드인지 또는 보안 입력 모드인지에 따라 주프로세서(410)에 입력 데이터(ID)를 선택적으로 출력할 수 있다.
입력 처리 블록(520)은 입력 장치(460)로부터 입력 인터페이스(510)를 통하여 입력 데이터(ID)를 수신할 수 있다. 입력 처리 블록(520)은 매핑 정보를 저장하는 매핑 테이블을 이용하여 입력 데이터(ID)로부터 입력 정보를 추출할 수 있다. 예를 들어, 상기 매핑 테이블에 저장된 매핑 정보는 터치 스크린(461)의 각 좌표에 상응하는 숫자, 문자 또는 기호를 포함할 수 있다. 일 실시예에서, 보안 프로세서(500)에 포함된 비휘발성 메모리(530)가 상기 매핑 정보를 저장할 수 있고, 상기 매핑 정보는 비휘발성 메모리(530)로부터 상기 매핑 테이블에 로드될 수 있다. 다른 실시예에서, 소정의 어플리케이션이 실행될 때, 상기 소정의 어플리케이션에 상응하는 상기 매핑 정보가 주프로세서(410) 또는 주프로세서(410)에 연결된 메모리 장치로부터 데이터/제어 인터페이스(550)를 통하여 상기 매핑 테이블에 로드될 수 있다.
비휘발성 메모리(530)는 부정 조작 공격 등의 해킹으로부터 보호될 수 있고, 보안이 요구되는 데이터, 코드, 키, 어플리케이션, 정보 등을 저장할 수 있다. 비휘발성 메모리(530)는 보안 키(535)를 저장할 수 있다. 암복호화 블록(540)은 데이터를 암호화 및/또는 복호화할 수 있다. 암복호화 블록(540)은 비휘발성 메모리(530)에 저장된 보안 키(535)를 이용하여 입력 처리 블록(520)에서 추출된 상기 입력 정보를 암호화할 수 있다. 실시예에 따라, 암복호화 블록(540)은 보안 키(535)를 그대로 이용하여 상기 입력 정보를 암호화하거나, 보안 키(535)로부터 키 도출 함수(Key Derivation Function; KDF)를 통하여 도출된 키를 이용하여 상기 입력 정보를 암호화할 수 있다.
데이터/제어 인터페이스(550)는 주프로세서(410)에 또는 주프로세서(410)로부터 데이터 및/또는 제어 신호를 송수신할 수 있다. 일 실시예에서, 데이터/제어 인터페이스(550)는 주프로세서(410)와 보안 프로세서(500) 사이의 데이터 전송을 위한 데이터 인터페이스 및 제어 신호 전송을 위한 제어 인터페이스를 포함할 수 있다. 예를 들어, 상기 데이터 인터페이스는 대용량의 데이터를 고속으로 전송하기 위한 고속 인터페이스일 수 있다. 보안 프로세서(500)는 주프로세서(410)로부터 데이터/제어 인터페이스(550)를 통하여 상기 일반 입력 모드 또는 상기 보안 입력 모드를 나타내는 입력 모드 신호를 수신할 수 있고, 상기 입력 모드 신호에 기초하여 상기 보안 입력 모드의 시작 및/또는 종료를 판단할 수 있다. 또한, 보안 프로세서(500)는 암복호화 블록(540)에 의해 암호화된 상기 입력 정보를 데이터/제어 인터페이스(550)를 통하여 주프로세서(410)에 제공할 수 있다.
중앙 처리부(560)는 버스(570)를 통하여 입력 처리 블록(520), 비휘발성 메모리(530), 암복호화 블록(540) 및 데이터/제어 인터페이스(550)에 연결될 수 있다. 중앙 처리부(560)는 입력 처리 블록(520), 비휘발성 메모리(530), 암복호화 블록(540) 및 데이터/제어 인터페이스(550)를 제어할 수 있다. 일 실시예에서, 중앙 처리부(560)는 보안 프로세서(500)를 구동하기 위한 운영 체제를 실행할 수 있다. 중앙 처리부(560)에서 실행되는 상기 운영 체제는 주프로세서(410)에서 실행되는 운영 체제보다 작은 사이즈를 가질 수 있다. 또한, 중앙 처리부(560)는 보안이 요구되는 데이터를 처리하는 보안 어플리케이션을 실행할 수 있다.
예를 들어, 주프로세서(410)가 데이터/제어 인터페이스(550)에 상기 보안 입력 모드를 나타내는 상기 입력 모드 신호를 송신하거나, 중앙 처리부(560)에서 실행되는 보안 어플리케이션이 보안이 요구되는 데이터가 입력될 것으로 판단하는 경우, 보안 프로세서(500)는 상기 보안 입력 모드로 동작할 수 있다. 상기 보안 입력 모드에서, 입력 인터페이스(510)가 입력 장치(460)로부터 입력 데이터(ID)를 수신하면, 입력 인터페이스(510)는 주프로세서(410)에 입력 데이터(ID)를 제공하지 않을 수 있다. 입력 처리 블록(520)는 입력 인터페이스(510)를 통하여 수신된 입력 데이터(ID)를 상기 매핑 테이블을 이용하여 상기 입력 정보로서 숫자, 문자, 기호 등의 스트링으로 변환할 수 있다. 암복호화 블록(540)은 비휘발성 메모리(530)에 저장된 보안 키(535)를 이용하여 상기 입력 정보를 암호화할 수 있다. 암복호화 블록(540)에 의해 암호화된 상기 입력 정보는 데이터/제어 인터페이스(550)를 통하여 주프로세서(410)에 제공될 수 있다.
주프로세서(410)가 데이터/제어 인터페이스(550)로부터 암호화된 입력 정보를 수신하면, 주프로세서(410)는 외부 비휘발성 메모리(430)에 상기 암호화된 입력 정보를 저장하거나, 모뎀(420)을 통하여 원격의 서버(490)에 상기 암호화된 입력 정보를 전송할 수 있다. 예를 들어, 서버(490)는 상기 암호화된 입력 정보를 인증할 수 있고, 인증 결과를 통신 채널(495)을 통하여 모뎀(420)에 전송할 수 있다. 주프로세서(410)가 모뎀(420)을 통하여 상기 인증 결과를 수신하면, 주프로세서(410)는 상기 인증 결과를 보안 프로세서(500)에 제공할 수 있고, 보안 프로세서(500)는 데이터/제어 인터페이스(550)를 통하여 상기 인증 결과를 수신할 수 있다.
상술한 바와 같이, 본 발명의 실시예들에 따른 모바일 기기(400)에서, 보안 프로세서(500)가 상기 입력 모드에 따라 입력 장치(460)로부터의 입력 데이터(ID)를 주프로세서(410)에 선택적으로 제공하고, 입력 데이터(ID)로부터 추출된 상기 입력 정보를 암호화하여 주프로세서(410)에 상기 암호화된 입력 정보를 제공함으로써, 사용자의 입력에 대한 보안이 유지될 수 있다.
도 4는 도 3에 도시된 입력 인터페이스 및 입력 처리 블록의 일 예를 나타내는 도면이다.
도 3 및 도 4를 참조하면, 입력 인터페이스(510)는 동기화기(511), 시작/종료 검출부(513), 입력 버퍼(515), 출력 제어부(517) 및 출력 선택기(519)를 포함할 수 있다. 또한, 입력 처리 블록(520)은 상태 머신(521), 레지스터부(523), 정보 추출부(525) 및 매핑 테이블(527)을 포함할 수 있다.
동기화기(511)는 주프로세서(410)로부터 제1 클록 신호(CLK1)를 수신하고, 입력 장치(460)에 제2 클록 신호(CLK2)를 송신할 수 있다. 일 실시예에서, 제1 클록 신호(CLK1) 및 제2 클록 신호(CLK2)는 동일한 주파수를 가질 수 있고, 동기화기(511)는 수신된 제1 클록 신호(CLK1)를 입력 장치(460)에 제2 클록 신호(CLK2)로서 송신할 수 있다. 다른 실시예에서, 제1 클록 신호(CLK1) 및 제2 클록 신호(CLK2)는 서로 다른 주파수를 가질 수 있고, 동기화기(511)는 제1 클록 신호(CLK1)에 기초하여 제2 클록 신호(CLK2)를 생성할 수 있다. 또한, 동기화기(511)는 주프로세서(410)에 출력되는 입력 데이터(ID)와 주프로세서(410)로부터 수신된 제1 클록 신호(CLK1)가 소정의 위상 차를 유지하도록 입력 데이터(ID)의 출력 타이밍을 조절할 수 있다. 도 4에는 입력 인터페이스(510)와 입력 장치(460) 사이 및 입력 인터페이스(510)와 주프로세서(410) 사이에서 데이터(ID) 및 클록 신호들(CLK1, CLK2)이 전송되는 예가 도시되어 있으나, 실시예에 따라, 입력 인터페이스(510)와 입력 장치(460) 사이 및 입력 인터페이스(510)와 주프로세서(410) 사이에서 데이터(ID)만이 전송될 수 있다. 또한, 실시예에 따라, 입력 인터페이스(510)는 동기화기(511)를 포함하지 않을 수 있다.
시작/종료 검출부(513)는 입력 장치(460)로부터 입력 데이터(ID)가 입력되기 시작하는 시점 및/또는 입력 데이터(ID)의 입력이 종료되는 시점을 검출할 수 있다. 시작/종료 검출부(513)는 입력 데이터(ID)의 입력 시작 시점 및/또는 입력 종료 시점에 대한 정보를 입력 처리 블록(520)의 상태 머신(521)에 제공할 수 있다.
입력 버퍼(515)는 입력 장치(460)로부터 수신된 입력 데이터(ID)를 일시적으로 저장할 수 있다. 예를 들어, 입력 버퍼(515)는 제2 클록 신호(CLK2)에 응답하여 입력 데이터(ID)를 샘플링할 수 있다. 일 실시예에서, 입력 버퍼(515)는 선입 선출(First-In First-OUT; FIFO) 큐를 포함할 수 있다. 상기 선입 선출 큐는 입력 데이터(ID)를 순차적으로 저장하고, 저장된 입력 데이터(ID)를 입력 처리 블록(520)에 순차적으로 출력할 수 있다.
출력 제어부(517)는 출력 선택기(519)의 출력을 제어할 수 있다. 출력 제어부(517)는 입력 모드에 따라 다른 로직 레벨을 가지는 선택 신호(SS)를 생성할 수 있다. 예를 들어, 출력 제어부(517)는 일반 입력 모드에서 제1 로직 레벨을 가지고, 보안 입력 모드에서 제2 로직 레벨을 가지는 선택 신호(SS)를 생성할 수 있다.
출력 선택기(519)는 입력 장치(460)로부터 동기화기(511)를 통하여 입력 데이터(ID)를 수신하고, 선택 신호(SS)에 응답하여 주프로세서(410)에 입력 데이터(ID)를 선택적으로 제공할 수 있다. 예를 들어, 출력 선택기(519)는, 선택 신호(SS)가 상기 제1 로직 레벨을 가질 때 주프로세서(410)에 입력 데이터(ID)를 출력하고, 선택 신호(SS)가 상기 제2 로직 레벨을 가질 때 주프로세서(410)에 입력 데이터(ID)의 출력을 차단할 수 있다.
일 실시예에서, 출력 선택기(519)는, 선택 신호(SS)가 상기 제2 로직 레벨을 가질 때(즉, 상기 보안 입력 모드에서), 주프로세서(410)에 입력 데이터(ID)를 대신하여 고정된 값을 가지는 소정의 데이터(PD)를 출력할 수 있다. 예를 들어, 입력 처리 블록(520)의 레지스터부(523)는 고정된 값을 가지는 소정의 데이터(PD)를 저장할 수 있고, 출력 제어부(517)는 출력 선택기(519)에 입력 신호로서 레지스터부(523)에 저장된 소정의 데이터(PD)를 제공할 수 있다. 출력 선택기(519)는 선택 신호(SS)에 응답하여 입력 데이터(ID) 또는 소정의 데이터(PD)를 선택적으로 출력할 수 있다. 다른 실시예에서, 출력 선택기(519)는, 선택 신호(SS)가 상기 제2 로직 레벨을 가질 때, 주프로세서(410)에 입력 데이터(ID) 및 소정의 데이터(PD)의 출력을 모두 차단할 수 있다.
상태 머신(521)은 입력 처리 블록(520)의 동작 상태를 결정하고, 입력 처리 블록(520)의 동작을 제어할 수 있다. 예를 들어, 상태 머신(521)은 레지스터부(523)의 특정한 레지스터에 소정의 값을 기입함으로써 입력 처리 블록(520)의 동작을 제어할 수 있다. 또한, 상태 머신(521)은 시작/종료 검출부(513)로부터 입력 데이터(ID)의 입력 시작 시점 및/또는 입력 종료 시점에 대한 정보를 수신하고, 수신된 정보에 기초하여 입력 추출부(525)의 동작을 제어할 수 있다. 예를 들어, 상태 머신(521)은 레지스터부(523)의 특정한 레지스터에 소정의 값을 기입하거나, 입력 추출부(525)에 제어 신호를 송신함으로써, 입력 추출부(525)의 동작을 제어할 수 있다.
입력 추출부(525)는 입력 장치(460)로부터 입력 버퍼(515)를 통하여 입력 데이터(ID)를 수신할 수 있다. 입력 추출부(525)는 입력 데이터(ID)에 대한 매핑 정보를 저장하는 매핑 테이블(527)을 이용하여 입력 데이터(ID)로부터 입력 정보(II)를 추출할 수 있다. 예를 들어, 상기 매핑 정보는 터치 스크린(461)의 각 좌표에 상응하는 숫자, 문자 또는 기호를 포함할 수 있다. 이 경우, 입력 추출부(525)는 사용자가 터치한 좌표들에 대한 입력 데이터(ID)를 입력 정보(II)로서 숫자, 문자 또는 기호의 스트링으로 변환할 수 있다. 다른 예에서, 상기 매핑 정보는 터치 스크린(461)의 각 좌표에 상응하는 점(dot)을 포함할 수 있고, 입력 추출부(525)는 사용자가 터치한 좌표들에 대한 입력 데이터(ID)를 입력 정보(II)로서 사용자가 연결한 점(dot)들의 패턴으로 변환할 수 있다.
일 실시예에서, 상기 매핑 정보는, 보안 프로세서(500)가 초기화되거나, 보안 프로세서(500)의 동작 상태가 변경될 때, 매핑 테이블(527)에 로드될 수 있다. 다른 실시예에서, 디스플레이 장치에 의해 표시되는 어플리케이션에 대한 매핑 정보가 매핑 테이블(527)에 실시간으로 로드될 수 있다. 또한, 일 실시예에서, 상기 매핑 정보는 비휘발성 메모리(530)로부터 레지스터부(523)를 통하여 매핑 테이블(527)에 로드될 수 있다. 다른 실시예에서, 상기 매핑 정보는 주프로세서(410)로부터 데이터/제어 인터페이스(550) 및 레지스터부(523)를 통하여 매핑 테이블(527)에 로드될 수 있다.
레지스터부(523)는 중앙 처리부(560)에 의해 접근될 수 있다. 또한, 레지스터부(523)는 입력 처리부(520)의 동작 상태를 확인 또는 제어하기 위한 특수 기능 레지스터(Special Function Register)들을 포함할 수 있다. 한편, 입력 추출부(525)에 의해 추출된 입력 정보(II)는 레지스터부(523)에 저장될 수 있다. 일 실시예에서, 레지스터부(523)에 저장된 입력 정보(II)는 암복호화부(540)에 의해 암호화될 수 있다. 암호화된 입력 정보(II)는 데이터/제어 인터페이스(550)를 통하여 주프로세서(410)에 제공될 수 있다. 다른 실시예에서, 레지스터부(523)에 저장된 입력 정보(II)가 비휘발성 메모리(530)에 저장된 보안 정보와 비교됨으로써, 사용자의 입력에 대한 인증이 수행될 수 있다.
도 5는 본 발명의 일 실시예에 따른 모바일 기기의 입력 처리 방법을 나타내는 순서도이다.
도 3, 도 4 및 도 5를 참조하면, 입력 장치(460)는 사용자의 입력을 수신하고(S610), 상기 사용자의 입력에 상응하는 입력 데이터(ID)를 생성할 수 있다(S620). 예를 들어, 터치 컨트롤러(463)는 사용자가 터치한 터치 스크린(461)의 좌표에 대한 좌표 정보를 포함하는 입력 데이터(ID)를 생성할 수 있다. 보안 프로세서(500)의 입력 인터페이스(510)는 입력 장치(460)로부터 입력 데이터(ID)를 수신할 수 있다.
입력 인터페이스(510)는 모바일 기기(400)의 입력 모드에 따라 주프로세서(410)에 입력 데이터(ID)를 선택적으로 출력할 수 있다. 일 실시예에서, 주프로세서(410)는 일반 입력 모드 또는 보안 입력 모드를 나타내는 입력 모드 신호를 보안 프로세서(500)에 제공할 수 있다. 보안 프로세서(500)는 상기 입력 모드 신호를 데이터/제어 인터페이스(550)를 통하여 수신하고, 상기 수신된 입력 모드 신호를 입력 처리 블록(520)의 레지스터부(523)에 기록할 수 있다. 입력 인터페이스(510)의 출력 제어부(517)는 레지스터부(523)에 저장된 상기 입력 모드 신호에 기초하여 출력 선택기(519)를 제어하기 위한 선택 신호(SS)를 생성할 수 있다. 다른 실시예에서, 보안 프로세서(500)의 중앙 처리부(560)에서 실행되는 어플리케이션이 상기 보안 입력 모드의 시작 및/또는 종료를 판단하여 상기 입력 모드에 대한 정보를 레지스터부(523)에 기록할 수 있다. 또 다른 실시예에서, 보안 프로세서(500)는 특정한 버튼에 대한 입력을 인식하거나, 내부 센서를 이용하여 모바일 기기(400)의 흔들림, 뒤집힘 등의 움직임을 인식하여 상기 보안 입력 모드의 시작 및/또는 종료를 결정하고, 상기 입력 모드에 대한 정보를 레지스터부(523)에 기록할 수 있다.
상기 입력 모드가 상기 일반 입력 모드인 경우(S630: 아니오), 입력 인터페이스(510)는 주프로세서(410)에 입력 데이터(ID)를 출력할 수 있다(S650). 예를 들어, 레지스터부(523)는 상기 일반 입력 모드를 나타내는 정보를 저장할 수 있고, 입력 인터페이스(510)의 출력 제어부(517)는 상기 일반 입력 모드를 나타내는 정보에 기초하여 상기 일반 입력 모드에 상응하는 제1 로직 레벨을 가지는 선택 신호(SS)를 출력할 수 있다. 출력 선택기(519)는 상기 제1 로직 레벨을 가지는 선택 신호(SS)에 응답하여 입력 데이터(ID)를 출력할 수 있다.
주프로세서(410)는 입력 인터페이스(510)로부터 수신된 입력 데이터(ID)를 처리할 수 있다(S660). 예를 들어, 주프로세서(410)는 주프로세서(110)에서 실행된 어플리케이션에 입력 데이터(ID)를 제공할 수 있다. 상기 실행된 어플리케이션은 입력 데이터(ID)에 기초하여 후속 처리를 수행할 수 있다.
반면에, 상기 입력 모드가 상기 보안 입력 모드인 경우(S630: 예), 입력 처리 블록(520)은 매핑 테이블(527)을 이용하여 입력 데이터(ID)로부터 입력 정보(II)를 추출할 수 있다(S671). 예를 들어, 입력 처리 블록(520)의 정보 추출부(525)는 매핑 테이블(527)에 저장된 매핑 정보에 기초하여 입력 장치(460)로부터 입력 버퍼(515)를 통하여 수신된 입력 데이터(ID)를 입력 정보(II)로 변환할 수 있다. 예를 들어, 정보 추출부(525)는 사용자가 터치한 좌표들에 대한 입력 데이터(ID)로부터 입력 정보(II)로서 숫자, 문자 또는 기호의 스트링을 추출하거나, 사용자가 연결한 점들의 패턴을 추출할 수 있다. 정보 추출부(525)에서 추출된 입력 정보(II)는 레지스터부(523)에 저장될 수 있다.
암복호화 블록(540)은 비휘발성 메모리(530)에 저장된 보안 키(535)를 이용하여 레지스터부(523)에 저장된 입력 정보(II)를 암호화할 수 있다(S673). 일 예에서, 보안 키(535)를 이용하여 암호화된 입력 정보(II)는 서버(490)에 저장된 비밀 키에 의해 복호화될 수 있다. 다른 예에서, 보안 키(535)를 이용하여 암호화된 입력 정보(II)는 비휘발성 메모리(530)에 저장된 비밀 키에 의해 복호화될 수 있다. 또 다른 예에서, 레지스터부(523)에 저장된 입력 정보(II) 및 비휘발성 메모리(530)에 저장된 보안 키(535)에 기초하여 디지털 서명이 생성될 수 있고, 상기 디지털 서명은 서버(490)에 의해 검증될 수 있다.
보안 프로세서(500)는 암복호화 블록(540)에 의해 암호화된 입력 정보(II)를 데이터/제어 인터페이스(550)를 통하여 주프로세서(410)에 제공하고(S675), 주프로세서(410)는 데이터/제어 인터페이스(550)로부터 수신된 암호화된 입력 정보(II)를 처리할 수 있다(S680). 일 예에서, 주프로세서(410)는 암호화된 입력 정보(II)를 외부 비휘발성 메모리(430)에 저장할 수 있다. 이 후, 보안 프로세서(500)는 주프로세서(410)에 데이터/제어 인터페이스(550)를 통하여 암호화된 입력 정보(II)를 요청할 수 있고, 주프로세서(410)는 외부 비휘발성 메모리(430)에 저장된 암호화된 입력 정보(II)를 보안 프로세서(500)에 제공할 수 있다. 보안 프로세서(500)는 주프로세서(410)로부터 데이터/제어 인터페이스(550)를 통하여 암호화된 입력 정보(II)를 수신하고, 암복호화 블록(540)을 통하여 암호화된 입력 정보(II)를 복호화하여 원본 입력 정보(II)를 획득할 수 있다. 다른 예에서, 주프로세서(410)는 암호화된 입력 정보(II)를 모뎀(420)에 제공하고, 모뎀(420)은 통신 채널(495)을 통하여 서버(490)에 전송할 수 있다. 서버(490)는 암호화된 입력 정보(II)를 인증할 수 있다. 예를 들어, 서버(490)는 보안 키(535)에 상응하는 비밀 키를 이용하여 암호화된 입력 정보(II)를 복호화하여 원본 입력 정보(II)를 획득하고, 입력 정보(II)에 대한 인증을 수행할 수 있다. 서버(490)는 인증 결과를 통신 채널(495)을 통하여 모뎀(420)에 제공하고, 주프로세서(410)는 모뎀(420)으로부터 수신된 상기 인증 결과를 보안 프로세서(500)의 데이터/제어 인터페이스(550)에 제공할 수 있다.
상술한 바와 같이, 본 발명의 실시예들에 따른 모바일 기기(400)의 입력 처리 방법에서, 상기 보안 입력 모드 동안 입력 데이터(ID)가 주프로세서(410)에 제공되지 않고, 보안 키(535)를 이용하여 암호화된 입력 정보(II)가 주프로세서(410)에 제공됨으로써, 사용자의 입력에 대한 보안이 유지될 수 있다.
도 6은 도 3의 모바일 기기의 입력 처리 방법의 일 예를 설명하기 위한 도면이다.
도 3 및 도 6을 참조하면, 모바일 기기(400)는 인터넷 뱅킹 어플리케이션을 실행할 수 있다. 일 실시예에서, 상기 인터넷 뱅킹 어플리케이션은 보안 프로세서(500)의 중앙 처리부(560)에서 실행될 수 있다. 다른 실시예에서, 상기 인터넷 뱅킹 어플리케이션의 일부 코드가 주프로세서(410)에서 실행되고, 상기 인터넷 뱅킹 어플리케이션의 다른 일부 코드가 보안 프로세서(500)의 중앙 처리부(560)에서 실행될 수 있다. 예를 들어, 사용자의 인터넷 뱅킹 암호를 수신하는 코드(또는 애플릿), 인터넷 뱅킹 결제를 진행하는 코드(또는 애플릿) 등이 보안 프로세서(500)의 중앙 처리부(560)에서 실행될 수 있다. 상기 인터넷 뱅킹 어플리케이션 또는 상기 사용자의 인터넷 뱅킹 암호를 수신하는 코드가 실행되면, 모바일 기기(400)는 보안 입력 모드로 동작할 수 있다.
상기 인터넷 뱅킹 어플리케이션은 상기 사용자에게 인터넷 뱅킹 암호의 입력을 요청하는 이미지를 표시하도록 모바일 기기(400)의 디스플레이 장치를 제어할 수 있다. 상기 인터넷 뱅킹 암호의 입력을 요청하는 이미지가 표시되면, 사용자는 터치 스크린(461)을 터치하여 상기 인터넷 뱅킹 암호를 입력할 수 있다. 터치 컨트롤러(463)는 상기 사용자의 터치를 인식하여 상기 사용자의 터치에 상응하는 입력 데이터(ID)를 생성할 수 있다.
입력 인터페이스(510)는 터치 컨트롤러(463)로부터 입력 데이터(ID)를 수신하고, 상기 보안 입력 모드에서 입력 데이터(ID)를 주프로세서(410)에 제공하지 않을 수 있다. 입력 처리 블록(520)은 터치 컨트롤러(463)로부터 입력 인터페이스(510)를 통하여 입력 데이터(ID)를 수신하고, 매핑 테이블을 이용하여 입력 데이터(ID)로부터 입력 정보, 즉 사용자가 입력한 상기 인터넷 뱅킹 암호를 추출할 수 있다. 암복호화 블록(540)은 입력 처리 블록(520)에 의해 추출된 상기 인터넷 뱅킹 암호 및 비휘발성 메모리(530)에 저장된 보안 키(535)에 기초하여 디지털 서명을 생성할 수 있다. 상기 디지털 서명은 인터넷 뱅킹 결제 정보를 포함할 수 있다.
보안 프로세서(500)는 암복호화 블록(540)에 의해 생성된 상기 디지털 서명을 데이터/제어 인터페이스(550)를 통하여 주프로세서(410)에 제공할 수 있다. 주프로세서(410)는 모뎀(420) 및 통신 채널(495)을 통하여 상기 디지털 서명을 인터넷 뱅킹 서버(490)에 전송할 수 있다. 인터넷 뱅킹 서버(490)는 통신 채널(495)을 통하여 수신된 상기 디지털 서명을 검증하고, 상기 검증이 성공한 경우 인터넷 뱅킹 결제를 진행할 수 있다. 인터넷 뱅킹 서버(490)는 상기 검증 결과 및/또는 결제 처리 결과를 통신 채널(495)을 통하여 모뎀(420)에 제공할 수 있다. 주프로세서(410)는 상기 검증 결과 및/또는 결제 처리 결과를 데이터/제어 인터페이스(550)에 제공하거나, 상기 검증 결과 및/또는 결제 처리 결과를 표시하도록 상기 디스플레이 장치를 제어할 수 있다.
상술한 바와 같이, 상기 사용자가 입력한 상기 인터넷 뱅킹 암호가 보안 프로세서(500)에 의해 처리됨으로써, 상기 인터넷 뱅킹 암호에 대한 보안이 유지될 수 있다.
도 7은 본 발명의 다른 실시예에 따른 모바일 기기를 나타내는 블록도이다.
도 7을 참조하면, 모바일 기기(700)는 주프로세서(710), 입력 장치(760) 및 보안 프로세서(800)를 포함할 수 있다.
주프로세서(710)는 모바일 기기(700)를 구동하기 위한 운영 체제 및 다양한 어플리케이션들을 실행할 수 있다. 입력 장치(760)는 사용자의 입력을 수신하고, 상기 사용자의 입력에 상응하는 입력 데이터(ID)를 생성할 수 있다. 일 실시예에서, 입력 장치(760)는 이미지를 표시하는 디스플레이 장치에 형성된 터치 스크린(761) 및 터치 스크린(761)을 제어하기 위한 터치 컨트롤러(763)를 포함할 수 있다. 터치 컨트롤러(763)는 터치 스크린(761)을 구동하여 사용자가 터치한 좌표에 대한 좌표 정보를 포함하는 입력 데이터(ID)를 생성할 수 있다.
보안 프로세서(800)는 주프로세서(710)와 입력 장치(760) 사이에 연결될 수 있다. 보안 프로세서(800)는 입력 장치(760)로부터 입력 데이터(ID)를 수신하고, 모바일 기기(700)의 입력 모드에 따라 주프로세서(710)에 입력 데이터(ID)를 선택적으로 제공할 수 있다.
보안 프로세서(800)는 입력 인터페이스(810), 입력 처리 블록(820), 비휘발성 메모리(830), 데이터/제어 인터페이스(850), 중앙 처리부(860) 및 버스(870)를 포함할 수 있다.
입력 인터페이스(810)는 입력 장치(760)와 주프로세서(710) 사이에 연결될 수 있다. 입력 인터페이스(810)는 입력 장치(760)로부터 입력 데이터(ID)를 수신할 수 있다. 입력 인터페이스(810)는 상기 입력 모드가 일반 입력 모드인지 또는 보안 입력 모드인지에 따라 주프로세서(710)에 입력 데이터(ID)를 선택적으로 출력할 수 있다.
입력 처리 블록(820)은 입력 장치(760)로부터 입력 인터페이스(810)를 통하여 입력 데이터(ID)를 수신할 수 있다. 입력 처리 블록(820)은 매핑 정보를 저장하는 매핑 테이블을 이용하여 입력 데이터(ID)로부터 입력 정보를 추출할 수 있다. 예를 들어, 상기 매핑 테이블에 저장된 매핑 정보는 터치 스크린(861)의 각 좌표에 상응하는 숫자, 문자 또는 기호를 포함할 수 있다. 실시예에 따라, 상기 매핑 정보는 비휘발성 메모리(830)로부터 상기 매핑 테이블에 로드되거나, 주프로세서(710) 또는 주프로세서(710)에 연결된 메모리로부터 데이터/제어 인터페이스(850)를 통하여 상기 매핑 테이블에 로드될 수 있다. 예를 들어, 입력 처리 블록(820)에 의해 추출된 상기 입력 정보는 숫자, 문자 또는 기호 등의 스트링을 포함하거나, 사용자가 연결한 점들의 패턴을 포함할 수 있다.
비휘발성 메모리(830)는 부정 조작 공격 등의 해킹으로부터 보호될 수 있고, 보안이 요구되는 데이터, 코드, 키, 어플리케이션, 정보 등을 저장할 수 있다. 비휘발성 메모리(830)는 보안 정보(835)를 저장할 수 있다. 예를 들어, 보안 정보(835)는 사용자의 암호, 개인 식별 번호, 스크린 언락 패턴 등을 포함할 수 있다. 보안 정보(835)는 상기 사용자의 입력에 대한 인증을 수행하도록 입력 처리 블록(820)에 의해 추출된 상기 입력 정보와 비교될 수 있다.
데이터/제어 인터페이스(850)는 주프로세서(710)에 또는 주프로세서(710)로부터 데이터 및/또는 제어 신호를 송수신할 수 있다. 일 실시예에서, 보안 프로세서(800)는 주프로세서(710)로부터 데이터/제어 인터페이스(850)를 통하여 상기 일반 입력 모드 또는 상기 보안 입력 모드를 나타내는 입력 모드 신호를 수신할 수 있고, 상기 입력 모드 신호에 기초하여 상기 보안 입력 모드의 시작 및/또는 종료를 판단할 수 있다. 또한, 보안 프로세서(800)는 상기 사용자의 입력에 대한 인증의 결과를 데이터/제어 인터페이스(850)를 통하여 주프로세서(710)에 제공할 수 있다.
중앙 처리부(860)는 버스(870)를 통하여 입력 처리 블록(820), 비휘발성 메모리(830) 및 데이터/제어 인터페이스(850)에 연결될 수 있다. 중앙 처리부(860)는 입력 처리 블록(820), 비휘발성 메모리(830) 및 데이터/제어 인터페이스(850)를 제어할 수 있다. 일 실시예에서, 중앙 처리부(860)는 보안 프로세서(800)를 구동하기 위한 운영 체제를 실행할 수 있다. 중앙 처리부(860)에서 실행되는 상기 운영 체제는 주프로세서(710)에서 실행되는 운영 체제보다 작은 사이즈를 가질 수 있다. 또한, 중앙 처리부(860)는 보안이 요구되는 데이터를 처리하는 보안 어플리케이션을 실행할 수 있다. 일 예에서, 중앙 처리부(860)는 사용자의 암호를 수신 및 처리하는 어플리케이션, 스크린 언락 패턴을 수신 및 처리하는 어플리케이션 등을 실행할 수 있다. 다른 예에서, 중앙 처리부(860)는 전자 결제를 수행하기 위한 전자 결제 어플리케이션, 또는 상기 전자 결제 어플리케이션의 적어도 일부 코드(또는 애플릿)를 실행할 수 있다. 중앙 처리부(860)는, 상기 보안 어플리케이션을 실행함으로써, 입력 처리 블록(820)에서 추출된 상기 입력 정보와 비휘발성 메모리(830)에 저장된 보안 정보(835)를 비교하여 상기 사용자의 입력에 대한 인증을 수행할 수 있다. 예를 들어, 상기 사용자의 입력에 대한 인증은, 스크린 언락 패턴 인증, 암호 인증, 개인 식별 번호 인증 등을 포함할 수 있다.
예를 들어, 주프로세서(710)가 데이터/제어 인터페이스(850)에 상기 보안 입력 모드를 나타내는 상기 입력 모드 신호를 송신하거나, 중앙 처리부(860)에서 실행되는 보안 어플리케이션이 보안이 요구되는 데이터가 입력될 것으로 판단하는 경우, 보안 프로세서(800)는 상기 보안 입력 모드로 동작할 수 있다. 상기 보안 입력 모드에서, 입력 인터페이스(810)가 입력 장치(760)로부터 입력 데이터(ID)를 수신하면, 입력 인터페이스(810)는 주프로세서(710)에 입력 데이터(ID)를 제공하지 않을 수 있다. 입력 처리 블록(820)는 입력 인터페이스(810)를 통하여 수신된 입력 데이터(ID)를 상기 매핑 테이블을 이용하여 상기 입력 정보로서 숫자, 문자, 기호 등의 스트링으로 변환할 수 있다. 중앙 처리부(860)는, 상기 사용자의 입력에 대한 인증을 수행하도록, 입력 처리 블록(820)에서 추출된 상기 입력 정보와 비휘발성 메모리(830)에 저장된 보안 정보(835)를 비교할 수 있다. 상기 입력 정보와 보안 정보(835)가 일치하지 않는 경우, 상기 사용자의 입력에 대한 인증이 실패된 것으로 판단될 수 있다. 상기 입력 정보와 보안 정보(835)가 일치하는 경우, 상기 사용자의 입력에 대한 인증이 성공한 것으로 판단될 수 있다. 중앙 처리부(860)에서 실행되는 보안 어플리케이션은 상기 사용자의 입력에 대한 인증의 결과에 기초하여 후속 처리를 수행할 수 있다. 다른 예에서, 중앙 처리부(860)는 상기 사용자의 입력에 대한 인증의 결과를 데이터/제어 인터페이스(850)를 통하여 주프로세서(710)에 제공하고, 주프로세서(710)에서 실행되는 어플리케이션이 상기 사용자의 입력에 대한 인증의 결과에 기초하여 후속 처리를 수행할 수 있다.
상술한 바와 같이, 본 발명의 실시예들에 따른 모바일 기기(700)에서, 보안 프로세서(800)가 상기 입력 모드에 따라 입력 장치(760)로부터의 입력 데이터(ID)를 주프로세서(710)에 선택적으로 제공하고, 보안 프로세서(800)가 사용자의 입력에 대한 인증을 수행함으로써, 사용자의 입력에 대한 보안이 유지될 수 있다.
도 8은 본 발명의 다른 실시예에 따른 모바일 기기의 입력 처리 방법을 나타내는 순서도이다.
도 7 및 도 8을 참조하면, 입력 장치(760)는 사용자의 입력을 수신하고(S910), 상기 사용자의 입력에 상응하는 입력 데이터(ID)를 생성할 수 있다(S920). 예를 들어, 터치 컨트롤러(763)는 사용자가 터치한 터치 스크린(761)의 좌표에 대한 좌표 정보를 포함하는 입력 데이터(ID)를 생성할 수 있다. 보안 프로세서(800)의 입력 인터페이스(810)는 입력 장치(760)로부터 입력 데이터(ID)를 수신할 수 있다.
입력 인터페이스(810)는 모바일 기기(700)의 입력 모드에 따라 주프로세서(710)에 입력 데이터(ID)를 선택적으로 출력할 수 있다. 일 실시예에서, 보안 프로세서(800)는 주프로세서(710)로부터 데이터/제어 인터페이스(850)를 통하여 수신된 입력 모드 신호에 응답하여 상기 입력 모드를 결정할 수 있다. 다른 실시예에서, 보안 프로세서(800)의 중앙 처리부(860)에서 실행되는 어플리케이션이 보안 입력 모드의 시작 및/또는 종료를 결정할 수 있다. 또 다른 실시예에서, 보안 프로세서(800)는 특정한 버튼에 대한 입력을 인식하거나, 내부 센서를 이용하여 모바일 기기(700)의 흔들림, 뒤집힘 등의 움직임을 인식하여 상기 보안 입력 모드의 시작 및/또는 종료를 결정할 수 있다.
상기 입력 모드가 상기 일반 입력 모드인 경우(S930: 아니오), 입력 인터페이스(810)는 주프로세서(710)에 입력 데이터(ID)를 출력할 수 있다(S950). 주프로세서(710)는 입력 인터페이스(810)로부터 수신된 입력 데이터(ID)를 처리할 수 있다(S960).
상기 입력 모드가 상기 보안 입력 모드인 경우(S930: 예), 입력 처리 블록(820)은 매핑 테이블을 이용하여 입력 데이터(ID)로부터 입력 정보를 추출할 수 있다(S971). 예를 들어, 입력 처리 블록(820)은 사용자가 터치한 좌표들에 대한 입력 데이터(ID)로부터 상기 입력 정보로서 숫자, 문자 또는 기호의 스트링을 추출하거나, 좌표들의 패턴을 추출할 수 있다.
중앙 처리부(860)는 입력 처리 블록(820)에 의해 추출된 상기 입력 정보를 비휘발성 메모리(830)에 저장된 보안 정보(835)와 비교할 수 있다(S973). 예를 들어, 상기 사용자의 입력은 스크린 언락 패턴, 암호, 또는 개인 식별 번호에 대한 것일 수 있고, 중앙 처리부(860)는 상기 입력 정보와 보안 정보(835)를 비교함으로써, 스크린 언락 패턴 인증, 암호 인증 또는 개인 식별 번호 인증 등을 수행할 수 있다. 상기 입력 정보와 보안 정보(835)가 일치하지 않는 경우, 상기 사용자의 입력에 대한 인증이 실패된 것으로 판단되고, 모바일 기기(700)는 상기 사용자의 입력을 다시 요구할 수 있다. 상기 입력 정보와 보안 정보(835)가 일치하는 경우, 상기 사용자의 입력에 대한 인증이 성공한 것으로 판단될 수 있다.
보안 프로세서(800)는 상기 입력 정보와 보안 정보(835)의 비교 결과를 데이터/제어 인터페이스(850)를 통하여 주프로세서(710)에 제공하고(S975), 주프로세서(710)는 데이터/제어 인터페이스(850)로부터 수신된 상기 비교 결과에 기초하여 후속 처리를 수행할 수 있다(S980). 예를 들어, 주프로세서(710)가 상기 입력 정보와 보안 정보(835)가 일치하는 것을 나타내는 상기 비교 결과를 수신한 경우, 주프로세서(710)는 후속 처리로서 개인 정보 등의 주요 데이터를 표시하도록 모바일 기기(700)의 디스플레이 장치를 제어할 수 있다. 다른 실시예에서, 보안 프로세서(800)가 상기 비교 결과에 기초하여 후속 처리를 수행할 수 있다. 예를 들어, 보안 프로세서(800)는 전자 결제를 진행하거나, 상기 개인 정보 등의 주요 데이터를 포함하는 이미지 데이터를 생성하여 주프로세서(710)에 상기 이미지 데이터를 제공할 수 있다.
상술한 바와 같이, 본 발명의 실시예들에 따른 모바일 기기(700)의 입력 처리 방법에서, 상기 보안 입력 모드 동안 입력 데이터(ID)가 주프로세서(710)에 제공되지 않고, 보안 프로세서(800)에서 사용자의 입력에 대한 인증을 수행함으로써, 상기 사용자의 입력에 대한 보안이 유지될 수 있다.
도 9는 도 7의 모바일 기기의 입력 처리 방법의 일 예를 설명하기 위한 도면이다.
도 7 및 도 9를 참조하면, 모바일 기기(700)는 사용자에 스크린 언락 패턴의 입력을 요청하는 어플리케이션을 실행할 수 있다. 예를 들어, 모바일 기기(700)가 파워-온될 때, 또는 대기 모드(Sleep Mode)에서 활성 모드(Active Mode)로 천이될 때, 상기 스크린 언락 패턴의 입력을 요청하는 어플리케이션이 실행될 수 있다. 다른 예에서, 연락처, 이메일, 문자 메시지 등의 개인 정보가 표시될 때, 상기 스크린 언락 패턴의 입력을 요청하는 어플리케이션 또는 코드가 실행될 수 있다. 상기 스크린 언락 패턴의 입력을 요청하는 어플리케이션이 실행될 때, 모바일 기기(700)는 보안 입력 모드로 동작할 수 있다.
일 실시예에서, 상기 스크린 언락 패턴의 입력을 요청하는 어플리케이션은 보안 프로세서(800)의 중앙 처리부(860)에서 실행될 수 있다. 다른 실시예에서, 상기 스크린 언락 패턴의 입력을 요청하는 어플리케이션 중 디스플레이 장치를 제어하는 코드(또는 애플릿)는 주프로세서(710)에서 실행되고, 상기 사용자로부터 상기 스크린 언락 패턴을 수신하고 처리하는 코드(또는 애플릿)는 보안 프로세서(800)의 중앙 처리부(860)에서 실행될 수 있다.
모바일 기기(700)는 상기 스크린 언락 패턴의 입력을 요청하는 이미지를 표시할 수 있고, 상기 사용자는 터치 스크린(761) 상의 점(dot)들을 연결하도록 손가락을 드래그하여 상기 스크린 언락 패턴을 그릴 수 있다. 터치 컨트롤러(763)는 상기 사용자의 터치(즉, 상기 드래그)를 인식하여 상기 사용자의 터치에 상응하는 입력 데이터(ID)를 생성할 수 있다.
입력 인터페이스(810)는 터치 컨트롤러(763)로부터 입력 데이터(ID)를 수신하고, 상기 보안 입력 모드에서 입력 데이터(ID)를 주프로세서(710)에 제공하지 않을 수 있다. 입력 처리 블록(820)은 터치 컨트롤러(763)로부터 입력 인터페이스(810)를 통하여 입력 데이터(ID)를 수신하고, 매핑 테이블을 이용하여 입력 데이터(ID)로부터 입력 정보, 즉 사용자가 입력한 상기 스크린 언락 패턴을 추출할 수 있다. 비휘발성 메모리(830)는 보안 정보(835)로서 소정의 스크린 언락 패턴을 저장할 수 있고, 중앙 처리부(860)는 입력 처리 블록(820)에서 추출된 상기 스크린 언락 패턴을 비휘발성 메모리(830)에 저장된 상기 스크린 언락 패턴과 비교할 수 있다.
입력 처리 블록(820)에서 추출된 상기 스크린 언락 패턴, 즉 상기 사용자가 입력한 상기 스크린 언락 패턴이 비휘발성 메모리(830)에 저장된 상기 스크린 언락 패턴과 일치하는 경우, 상기 사용자의 입력에 대한 인증이 성공한 것으로 판단될 수 있다. 상기 사용자의 입력에 대한 인증이 성공하면, 모바일 기기(700)는 잠금을 해제하거나, 상기 개인 정보를 표시할 수 있다.
상술한 바와 같이, 상기 사용자가 입력한 상기 스크린 언락 패턴이 보안 프로세서(800)에 의해 처리됨으로써, 상기 스크린 언락 패턴에 대한 보안이 유지될 수 있다.
도 10은 도 7의 모바일 기기의 입력 처리 방법의 다른 예를 설명하기 위한 도면이다.
도 7 및 도 10을 참조하면, 모바일 기기(700)는 사용자에 암호(Password 또는 Passcode) 입력을 요청하는 어플리케이션을 실행할 수 있다. 예를 들어, 모바일 기기(700)가 파워-온될 때, 또는 대기 모드(Sleep Mode)에서 활성 모드(Active Mode)로 천이될 때, 상기 암호 입력을 요청하는 어플리케이션이 실행될 수 있다. 다른 예에서, 연락처, 이메일, 문자 메시지 등의 개인 정보가 표시될 때, 상기 암호 입력을 요청하는 어플리케이션이 실행될 수 있다. 상기 암호 입력을 요청하는 어플리케이션이 실행될 때, 모바일 기기(700)는 보안 입력 모드로 동작할 수 있다.
일 실시예에서, 상기 암호 입력을 요청하는 어플리케이션은 보안 프로세서(800)의 중앙 처리부(860)에서 실행될 수 있다. 다른 실시예에서, 상기 암호 입력을 요청하는 어플리케이션 중 디스플레이 장치를 제어하는 코드(또는 애플릿)는 주프로세서(710)에서 실행되고, 상기 사용자로부터 상기 암호를 수신하고 처리하는 코드(또는 애플릿)는 보안 프로세서(800)의 중앙 처리부(860)에서 실행될 수 있다.
모바일 기기(700)는 상기 암호 입력을 요청하는 이미지를 표시할 수 있고, 상기 사용자는 터치 스크린(761) 상의 숫자 버튼을 터치하여 상기 암호를 입력할 수 있다. 터치 컨트롤러(763)는 상기 사용자의 터치를 인식하여 상기 사용자의 터치에 상응하는 입력 데이터(ID)를 생성할 수 있다.
입력 인터페이스(810)는 터치 컨트롤러(763)로부터 입력 데이터(ID)를 수신하고, 상기 보안 입력 모드에서 입력 데이터(ID)를 주프로세서(710)에 제공하지 않을 수 있다. 입력 처리 블록(820)은 터치 컨트롤러(763)로부터 입력 인터페이스(810)를 통하여 입력 데이터(ID)를 수신하고, 매핑 테이블을 이용하여 입력 데이터(ID)로부터 입력 정보, 즉 사용자가 입력한 상기 암호를 추출할 수 있다. 비휘발성 메모리(830)는 보안 정보(835)로서 소정의 암호를 저장할 수 있고, 중앙 처리부(860)는 입력 처리 블록(820)에서 추출된 상기 암호를 비휘발성 메모리(830)에 저장된 상기 암호와 비교할 수 있다.
입력 처리 블록(820)에서 추출된 상기 암호, 즉 상기 사용자가 입력한 암호가 비휘발성 메모리(830)에 저장된 상기 암호와 일치하는 경우, 상기 사용자의 입력에 대한 인증이 성공한 것으로 판단될 수 있다. 상기 사용자의 입력에 대한 인증이 성공하면, 모바일 기기(700)는 잠금을 해제하거나, 상기 개인 정보를 표시할 수 있다.
상술한 바와 같이, 상기 사용자가 입력한 상기 암호가 보안 프로세서(800)에 의해 처리됨으로써, 상기 암호에 대한 보안이 유지될 수 있다.
도 11은 본 발명의 또 다른 실시예에 따른 모바일 기기를 나타내는 블록도이다.
도 11을 참조하면, 모바일 기기(700a)는 주프로세서(710a), 입력 장치(760a), 통신 장치(770a) 및 보안 프로세서(800a)를 포함할 수 있다. 보안 프로세서(800a)는 입력 인터페이스(810a), 입력 처리 블록(820a), 비휘발성 메모리(830a), 데이터/제어 인터페이스(850a), 중앙 처리부(860a), 휘발성 메모리(880a), 통신 장치 인터페이스(890a) 및 버스(870a)를 포함할 수 있다.
주프로세서(710a)는 모바일 기기(700a)를 구동하기 위한 운영 체제 및 다양한 어플리케이션들을 실행할 수 있다. 일 실시예에서, 사용자가 전자 결제 어플리케이션(715a)에 대한 아이콘을 클릭하면, 주프로세서(710a)는 전자 결제 어플리케이션(715a)을 실행할 수 있다. 전자 결제 어플리케이션(715a)은 보안 프로세서(800a)에 신용 카드 정보를 요청할 수 있고, 보안 프로세서(800a)는 비휘발성 메모리(830a)에 저장된 신용 카드 정보(837a)의 일부를 데이터/제어 인터페이스(850a)를 통하여 주프로세서(710a)에 제공할 수 있다. 예를 들어, 주프로세서(710a)에 제공되는 상기 신용 카드 정보는 비휘발성 메모리(830a)에 저장된 신용 카드 정보(837a) 중 보안이 요구되지 않는 정보로서 신용 카드사, 신용 카드 번호 등을 포함할 수 있다. 전자 결제 어플리케이션(715a)은 보안 프로세서(800a)로부터 제공된 상기 신용 카드 정보에 기초하여 사용자에게 전자 결제에 사용될 신용 카드를 선택하는 것을 요청하는 이미지를 표시하도록 모바일 기기(700a)의 디스플레이 장치를 제어할 수 있다. 상기 사용자가 상기 전자 결제에 사용될 신용 카드를 선택하면, 전자 결제 어플리케이션(715a)은 데이터/제어 인터페이스(850a)를 통하여 보안 프로세서(800a)에 상기 선택된 신용 카드에 대한 정보를 제공할 수 있다. 다른 실시예에서, 사용자가 전자 결제 어플리케이션(715a)에 대한 아이콘을 클릭하면, 전자 결제 어플리케이션(715a)이 보안 프로세서(800a)에서 실행될 수 있다.
보안 프로세서(800a)가 주프로세서(710a)로부터 데이터/제어 인터페이스(850a)를 통하여 상기 선택된 신용 카드에 대한 정보를 수신하면, 보안 프로세서(800a)는 개인 식별 번호 인증 어플리케이션(865a)을 실행하고, 보안 입력 모드로 동작할 수 있다. 예를 들어, 보안 프로세서(800a)의 중앙 처리부(860a)는 비휘발성 메모리(830a)에 저장된 개인 식별 번호 인증 어플리케이션(833a)을 중앙 처리부(860a)의 동작 메모리로서 구동하는 휘발성 메모리(880a)에 로드하고, 휘발성 메모리(880a)에 로드된 개인 식별 번호 인증 어플리케이션(865a)을 실행할 수 있다. 또한, 보안 프로세서(800a)가 전자 결제 어플리케이션(715a)으로부터 상기 선택된 신용 카드에 대한 정보를 수신한 이후, 보안 프로세서(800a)는 터치 컨트롤러(763a)로부터의 입력 데이터를 주프로세서(710a)에 제공하지 않을 수 있다. 즉, 보안 프로세서(800a)는 주프로세서(710a)로부터 별도의 입력 모드 신호를 수신하지 않고, 전자 결제 어플리케이션(715a)으로부터의 상기 선택된 신용 카드에 대한 정보에 응답하여 보안 입력 모드로 동작할 수 있다.
개인 식별 번호 인증 어플리케이션(865a)은 상기 사용자로부터 상기 개인 식별 번호를 수신하도록 모바일 기기(700a)를 제어할 수 있다. 예를 들어, 개인 식별 번호 인증 어플리케이션(865a)은 상기 사용자에 상기 개인 식별 번호의 입력을 요청하는 이미지 데이터를 생성하고, 상기 이미지 데이터를 데이터/제어 인터페이스(850a)를 통하여 주프로세서(710a)에 제공할 수 있다. 주프로세서(710a)는 상기 이미지 데이터에 상응하는 이미지를 표시하도록 모바일 기기(700a)의 상기 디스플레이 장치를 제어할 수 있다. 상기 개인 식별 번호의 입력을 요청하는 이미지가 표시되면, 상기 사용자는 터치 스크린(761a) 상의 숫자 버튼들을 터치하여 상기 개인 식별 번호를 입력할 수 있고, 터치 컨트롤러(763a)는 상기 사용자가 입력한 상기 개인 식별 번호에 대한 입력 데이터(IPIND)를 생성할 수 있다.
보안 프로세서(800a)의 입력 인터페이스(810a)는 터치 컨트롤러(763a)로부터 상기 사용자가 입력한 상기 개인 식별 번호에 대한 입력 데이터(IPIND)를 수신하고, 상기 보안 입력 모드에서 입력 데이터(IPIND)를 주프로세서(710a)에 제공하지 않을 수 있다. 실시예에 따라, 보안 프로세서(800a)는, 주프로세서(710a)에 입력 데이터(IPIND)를 대신하여 소정의 값을 가지는 소정의 데이터를 제공하거나, 주프로세서(710a)에 입력을 제공하지 않을 수 있다.
입력 처리 블록(820a)은 입력 인터페이스(810a)를 통하여 터치 컨트롤러(763a)로부터 상기 사용자가 입력한 상기 개인 식별 번호에 대한 입력 데이터(IPIND)를 수신할 수 있다. 입력 처리 블록(820a)의 매핑 테이블은 터치 스크린(761a)의 각 좌표에 상응하는 숫자를 포함하는 매핑 정보를 저장할 수 있고, 입력 처리 블록(820a)은 상기 매핑 테이블에 저장된 상기 매핑 정보에 기초하여 입력 데이터(IPIND)로부터 입력 정보로서 상기 사용자가 입력한 제1 개인 식별 번호(829a)를 추출할 수 있다. 이에 따라, 개인 식별 번호 인증 어플리케이션(865a)은 상기 사용자로부터 상기 제1 개인 식별 번호(829a)를 수신할 수 있다.
비휘발성 메모리(830a)는 소정의 제2 개인 식별 번호(835a)를 저장할 수 있고, 개인 식별 번호 인증 어플리케이션(865a)은 입력 처리 블록(820a)에서 추출된 제1 개인 식별 번호(829a)를 비휘발성 메모리(830a)에 저장된 제2 개인 식별 번호(835a)와 비교함으로써, 상기 사용자가 입력한 상기 개인 식별 번호에 대한 인증을 수행할 수 있다. 제1 개인 식별 번호(829a)와 제2 개인 식별 번호(835a)가 일치하지 않는 경우, 상기 개인 식별 번호의 인증이 실패한 것으로 판단되고, 개인 식별 번호 인증 어플리케이션(865a)은 사용자에게 상기 개인 식별 번호를 다시 입력할 것을 요청할 수 있다. 또한, 상기 개인 식별 번호의 인증의 실패 횟수가 소정의 횟수를 초과하는 경우, 개인 식별 번호 인증 어플리케이션(865a)은 데이터/제어 인터페이스(850a)를 통하여 주프로세서(710a)에서 실행된 전자 결제 어플리케이션(715a)에 상기 개인 식별 번호의 인증이 실패되었음을 알릴 수 있다.
제1 개인 식별 번호(829a)와 제2 개인 식별 번호(835a)가 일치하는 경우, 개인 식별 번호 인증 어플리케이션(865a)은 비휘발성 메모리(830a)에 저장된 신용 카드 정보(837a)에 기초하여 결제 정보를 생성하고, 통신 장치 인터페이스(890a)를 통하여 통신 장치(770a)에 상기 결제 정보를 제공할 수 있다. 예를 들어, 상기 결제 정보는 비휘발성 메모리(830a)에 저장된 신용 카드 정보(837a) 중 상기 선택된 신용 카드에 대한 신용 카드사, 신용 카드 번호, 유효 기간, 카드 검증 코드(Card Verification Code; CVC), 고객 정보 등을 포함할 수 있다. 통신 장치 인터페이스(890a)는 보안 프로세서(800a)와 통신 장치(770a)의 통신을 수행할 수 있다. 일 실시예에서, 통신 장치 인터페이스(890a)은 단일 배선 프로토콜(Single Wire Protocol; SWP) 인터페이스일 수 있다.
통신 장치(770a)는 통신 장치 인터페이스(890a)로부터 수신된 상기 결제 정보를 제공하도록 외부의 전자 결제 리더기와 유선 또는 무선 통신을 수행할 수 있다. 일 실시예에서, 통신 장치(770a)는 근거리 무선 통신(Near Field Communication; NFC) 장치일 수 있다. 예를 들어, 통신 장치(770a)는 NFC 장치이고, 상기 전자 결제 리더기는 NFC 리더기이며, 상기 NFC 장치는 호스트인 상기 NFC 리더기와 클라이언트로서 근거리 무선 통신을 수행할 수 있다. 통신 장치(770a)는 무선 신호의 송수신을 위한 안테나(773a) 및 안테나(773a)를 제어하는 NFC 제어기(771a)를 포함할 수 있다. 예를 들어, 안테나(773a)는 루프 안테나를 포함할 수 있다. 통신 장치(770a)가 상기 전자 결제 리더기에 상기 결제 정보를 제공하면, 개인 식별 번호 인증 어플리케이션(865a)은 데이터/제어 인터페이스(850a)를 통하여 전자 결제 어플리케이션(715a)에 상기 결제 정보가 제공되었음을 알릴 수 있다.
상기 전자 결제 리더기는 상기 결제 정보를 전자 결제 서버에 제공할 수 있고, 상기 전자 결제 서버는 상기 결제 정보에 기초하여 결제 처리를 수행할 수 있다. 상기 전자 결제 서버는 상기 결제 처리의 결과를 상기 전자 결제 리더기에 제공할 수 있고, 상기 전자 결제 리더기는 상기 결제 처리의 결과를 문서로서 출력하거나, 근거리 무선 통신을 통하여 통신 장치(770a)에 제공할 수 있다.
상술한 바와 같이, 본 발명의 실시예들에 따른 모바일 기기(700a)에서, 보안 프로세서(800a)가 사용자의 개인 식별 번호 입력에 대한 인증을 수행하고, 신용 카드 정보(837a)를 저장하며, 통신 장치(770a)를 통하여 외부의 전자 결제 리더기에 신용 카드 정보(837a)에 기초하여 생성된 결제 정보를 제공함으로써, 사용자의 개인 식별 번호 입력, 신용 카드 정보 및 결제 정보에 대한 보안이 유지될 수 있다.
다시 도 11을 참조하면, 모바일 기기(700a)(예를 들어, 휴대용 무선 통신 장치) 내의 에너지 유도 장치(예를 들어, 안테나(773a))가 보안 프로세서(800a)를 포함하는 도시된 구성요소들에 전력을 공급하도록 구성될 수 있다. 상기 단일 배선 프로토콜 인터페이스일 수 있는 통신 장치 인터페이스(890a)는 상기 휴대용 무선 통신 장치의 외부에서 생성된 전자기장에 기초한 상기 에너지 유도 장치의 유도성(inductive) 충전을 지원하도록 구성될 수 있다. 보안 프로세서(800a)는 입력 장치(760a)를 통한 데이터 입력에 응답하여 금융 거래를 지원할 수 있고, 상기 휴대용 무선 통신 장치에 무선으로 연결된 외부의 근거리 무선 통신 컨트롤러(예를 들어, 도 13의 전자 결제 리더기(780a))와 보안 프로세서(800a) 사이의 금융 데이터의 전송을 위하여 전력을 공급하는 데에 상기 에너지 유도 장치를 이용할 수 있다. 이러한 무선 데이터 전송은 통신 장치 인터페이스(890a)와, 상기 외부의 근거리 무선 통신 컨트롤러와 전자기적으로 연결된 내부의 근거리 무선 통신 컨트롤러(770a)를 활용하여 수행될 수 있다. 내부의 근거리 무선 통신 컨트롤러(770a) 및 상기 외부의 근거리 무선 통신 컨트롤러는 보안 프로세서(800a)에서 상기 외부의 근거리 무선 통신 컨트롤러로의 상기 금융 데이터의 전송 동안 (전자기장으로 통하여) 서로 협력하여 통신하도록 구성될 수 있다. 게다가, 상기 외부의 근거리 무선 통신 컨트롤러는 통신 장치 인터페이스(890a)에 의해 활용되는 전자기장을 생성함으로써, 보안 프로세서(800a)에서 내부의 근거리 무선 통신 컨트롤러(770a)로 상기 금융 데이터를 전송함과 동시에 모바일 기기(700a) 내의 상기 에너지 유도 장치가 유도성 충전이 되도록 할 수 있다. 이러한 방식으로, 상기 외부의 근거리 무선 통신 컨트롤러는 내부의 근거리 무선 통신 컨트롤러(770a) 및 통신 장치 인터페이스(890a)에 의해 활용되는 전자기장을 생성하여 충분한 구간 동안 상기 에너지 유도 장치의 유도성 충전을 함으로써 보안 프로세서(800a)에서 상기 외부의 근거리 무선 통신 컨트롤러로의 상기 금융 데이터의 전송을 위한 전력을 공급할 수 있다.
도 12는 본 발명의 일 실시예에 따른 모바일 기기를 이용한 전자 결제 방법을 나타내는 순서도이고, 도 13a 내지 도 13d는 모바일 기기를 이용한 전자 결제 방법의 일 예를 나타내는 도면들이다.
도 11, 도 12, 도 13a, 도 13b, 도 13c 및 도 13d를 참조하면, 사용자가 전자 결제 어플리케이션에 대한 아이콘을 클릭하면, 상기 전자 결제 어플리케이션이 실행될 수 있다(S1010). 일 실시예에서, 주프로세서(710a)가 전자 결제 어플리케이션(715a)을 실행할 수 있다. 전자 결제 어플리케이션(715a)은 보안 프로세서(800a)에 신용 카드 정보를 요청할 수 있고, 보안 프로세서(800a)는 비휘발성 메모리(830a)에 저장된 신용 카드 정보(837a)의 일부를 데이터/제어 인터페이스(850a)를 통하여 주프로세서(710a)에 제공할 수 있다. 다른 실시예에서, 보안 프로세서(800a)가 상기 전자 결제 어플리케이션을 실행할 수 있다.
도 13a에 도시된 바와 같이, 전자 결제 어플리케이션(715a)은 상기 사용자에게 전자 결제에 사용될 신용 카드의 선택을 요청할 수 있다(S1015). 예를 들어, 전자 결제 어플리케이션(715a)은 보안 프로세서(800a)로부터 제공된 상기 신용 카드 정보에 기초하여 상기 사용자에게 상기 전자 결제에 사용될 신용 카드의 선택을 요청하는 이미지를 생성하고, 상기 생성된 이미지를 표시하도록 상기 디스플레이 장치를 제어할 수 있다. 상기 신용 카드의 선택을 요청하는 이미지가 표시되면, 상기 사용자는 상기 전자 결제에 사용될 신용 카드를 선택할 수 있고, 전자 결제 어플리케이션(715a)은 상기 사용자로부터 신용 카드 선택을 수신할 수 있다.
전자 결제 어플리케이션(715a)이 상기 사용자로부터 상기 신용 카드 선택을 수신하면, 전자 결제 어플리케이션(715a)은 보안 프로세서(800a)에 선택된 신용 카드에 대한 정보를 제공할 수 있다(S1020). 보안 프로세서(800a)는 전자 결제 어플리케이션(715a)으로부터 데이터/제어 인터페이스(850a)를 통하여 상기 선택된 신용 카드에 대한 정보를 수신할 수 있다.
보안 프로세서(800a)가 전자 결제 어플리케이션(715a)으로부터 상기 선택된 신용 카드에 대한 정보를 수신하면, 보안 프로세서(800a)는 개인 식별 번호 인증 어플리케이션(865a)을 실행하고, 보안 입력 모드로 동작할 수 있다(S1025). 예를 들어, 보안 프로세서(800a)의 중앙 처리부(860a)는, 상기 선택된 신용 카드에 대한 정보에 응답하여, 비휘발성 메모리(830a)에 저장된 개인 식별 번호 인증 어플리케이션(833a)을 휘발성 메모리(880a)에 로드하고, 개인 식별 번호 인증 어플리케이션(865a)을 실행할 수 있다. 또한, 보안 프로세서(800a)가 전자 결제 어플리케이션(715a)으로부터 상기 선택된 신용 카드에 대한 정보를 수신한 이후, 보안 프로세서(800a)는 터치 컨트롤러(763a)로부터의 입력 데이터를 주프로세서(710a)에 제공하지 않을 수 있다. 즉, 보안 프로세서(800a)는 주프로세서(710a)로부터 별도의 입력 모드 신호를 수신하지 않고, 전자 결제 어플리케이션(715a)으로부터의 상기 선택된 신용 카드에 대한 정보에 응답하여 보안 입력 모드로 동작할 수 있다.
개인 식별 번호 인증 어플리케이션(865a)은 상기 사용자에게 개인 식별 번호의 입력을 요청할 수 있다. 예를 들어, 개인 식별 번호 인증 어플리케이션(865a)은 상기 사용자에게 개인 식별 번호의 입력을 요청하는 이미지 데이터를 생성하고, 데이터/제어 인터페이스(850a)를 통하여 주프로세서(710a)에 상기 이미지 데이터를 제공할 수 있다. 주프로세서(710a)는 상기 이미지 데이터에 기초하여 상기 사용자에게 개인 식별 번호의 입력을 요청하는 이미지를 표시하도록 상기 디스플레이 장치를 제어할 수 있다.
도 13b에 도시된 바와 같이, 상기 개인 식별 번호의 입력을 요청하는 이미지가 표시되면, 상기 사용자는 터치 스크린(761a) 상의 숫자 버튼을 터치하여 제1 개인 식별 번호를 입력할 수 있고, 보안 프로세서(800a)는 상기 사용자가 입력한 상기 제1 개인 식별 번호를 수신할 수 있다(S1030).
도 13c에 도시된 바와 같이, 상기 사용자가 터치 스크린(761a) 상의 상기 숫자 버튼을 터치하면, 터치 컨트롤러(763a)는 상기 사용자의 터치에 상응하는 입력 데이터(IPIND)를 생성할 수 있다. 보안 프로세서(800a)가 상기 보안 입력 모드로 동작하므로, 보안 프로세서(800a)의 입력 인터페이스(810a)는 입력 데이터(IPIND)를 대신하여 소정의 숫자, 문자 또는 기호를 나타내는 소정의 데이터를 제공할 수 있다. 입력 처리 블록(820a)의 매핑 테이블(827a)은 터치 스크린(761a)의 각 좌표에 상응하는 숫자에 대한 매핑 정보(MI)를 저장할 수 있고, 입력 처리 블록(820a)의 입력 추출부(825a)는 매핑 테이블(827a)에 저장된 매핑 정보(MI)에 기초하여 입력 데이터(IPIND)로부터 상기 제1 개인 식별 번호를 추출할 수 있다. 입력 추출부(825a)에 의해 추출된 상기 제1 개인 식별 번호는 입력 처리 블록(820a)의 레지스터부(823a)에 저장될 수 있다. 중앙 처리부(860a)에서 실행되는 개인 식별 번호 인증 어플리케이션(865a)은 레지스터부(823a)에 저장된 제1 개인 식별 번호(829a)를 비휘발성 메모리(830a)에 저장된 소정의 제2 개인 식별 번호(835a)와 비교할 수 있다(S1040).
제1 개인 식별 번호(829a)와 제2 개인 식별 번호(835a)가 일치하지 않는 경우(S1050: 아니오), 개인 식별 번호 인증 어플리케이션(865a)은 상기 사용자에게 상기 제1 개인 식별 번호의 입력을 재요청할 수 있다(S1060: 아니오, S1030). 상기 사용자가 제2 개인 식별 번호(835a)와 일치하지 않는 상기 제1 개인 식별 번호를 소정의 횟수를 초과하여 입력하는 경우(S1060: 예), 개인 식별 번호 인증 어플리케이션(865a)은 데이터/제어 인터페이스(850a)를 통하여 전자 결제 어플리케이션(715a)에 개인 식별 번호 인증이 실패하였음을 알릴 수 있고, 전자 결제 어플리케이션(715a)은 전자 결제가 실패하였음을 표시하도록 상기 디스플레이 장치를 제어할 수 있다(S1070).
제1 개인 식별 번호(829a)와 제2 개인 식별 번호(835a)가 일치하는 경우(S1050: 예), 개인 식별 번호 인증 어플리케이션(865a)은 데이터/제어 인터페이스(850a)를 통하여 전자 결제 어플리케이션(715a)에 개인 식별 번호 인증이 성공하였음을 알릴 수 있고, 전자 결제 어플리케이션(715a)은 상기 개인 식별 번호 인증이 성공하였음을 표시하도록 상기 디스플레이 장치를 제어할 수 있다. 또한, 개인 식별 번호 인증 어플리케이션(865a)은 비휘발성 메모리(830a)에 저장된 신용 카드 정보(837a)에 기초하여 결제 정보를 생성할 수 있다. 예를 들어, 상기 결제 정보는 비휘발성 메모리(830a)에 저장된 신용 카드 정보(837a) 중 상기 선택된 신용 카드에 대한 신용 카드사, 신용 카드 번호, 유효 기간, 카드 검증 코드(Card Verification Code; CVC), 고객 정보 등을 포함할 수 있다.
상기 개인 식별 번호 인증이 성공한 것으로 표시되는 경우, 도 13d에 도시된 바와 같이, 상기 사용자는 모바일 기기(700a)를 전자 결제 리더기(780a)에 근접시킬 수 있다(S1080). 모바일 기기(700a)가 전자 결제 리더기(780a)의 근처에 위치하면, 보안 프로세서(800a)는 통신 장치(770a)를 통하여 전자 결제 리더기(780a)에 상기 결제 정보를 제공할 수 있다(S1090). 개인 식별 번호 인증 어플리케이션(865a)은 상기 결제 정보를 통신 장치(770a)의 NFC 제어기(771a)에 제공할 수 있고, NFC 제어기(771a)는 안테나(773a) 및 NFC 통신 채널(775a)을 통하여 상기 결제 정보를 전자 결제 리더기(780a)에 제공할 수 있다.
상기 결제 정보를 전자 결제 리더기(780a)에 제공하면, 개인 식별 번호 인증 어플리케이션(865a)은 데이터/제어 인터페이스(850a)를 통하여 전자 결제 어플리케이션(715a)에 상기 전자 결제가 성공하였음을 알릴 수 있고, 전자 결제 어플리케이션(715a)은 상기 전자 결제가 성공하였음을 표시하도록 상기 디스플레이 장치를 제어할 수 있다.
상술한 바와 같이, 본 발명의 실시예들에 따른 모바일 기기(700a)를 이용한 전자 결제 방법에서, 보안 프로세서(800a)가 사용자의 개인 식별 번호 입력에 대한 인증을 수행하고, 신용 카드 정보(837a)를 저장하며, 통신 장치(770a)를 통하여 외부의 전자 결제 리더기에 신용 카드 정보(837a)에 기초하여 생성된 결제 정보를 제공함으로써, 사용자의 개인 식별 번호 입력, 신용 카드 정보 및 결제 정보에 대한 보안이 유지될 수 있다.
도 14는 본 발명의 또 다른 실시예에 따른 모바일 기기를 나타내는 블록도이다.
도 14를 참조하면, 모바일 기기(1100)는 주프로세서(1110), 모뎀(1120), 통신 장치(1170) 및 보안 프로세서(1200)를 포함한다. 보안 프로세서(1200)는 데이터/제어 인터페이스(1250), 비휘발성 메모리(1230), 중앙 처리부(1260), 휘발성 메모리(1280), 통신 장치 인터페이스(1290) 및 버스(1270)를 포함할 수 있다.
주프로세서(1110)는 보안이 요구되지 않는 데이터를 처리하는 일반 어플리케이션(1115)을 실행하고, 보안 프로세서(1200)는 보안이 요구되는 데이터를 처리하는 보안 어플리케이션(1265)을 실행할 수 있다. 또한, 주프로세서(1110)는 보안 프로세서(1200)에서 실행되는 보안 어플리케이션(1265)과의 인터페이스를 수행하기 위한 인터페이스 어플리케이션(1125)을 실행할 수 있다.
예를 들어, 인터페이스 어플리케이션(1125)은 통신 어플리케이션(1126), 입력 처리 어플리케이션(1127), 디스플레이 데이터 관리 어플리케이션(1128) 및 네트워크 어플리케이션(1129)을 포함할 수 있다. 통신 어플리케이션(1126)은 보안 프로세서(1200)에 데이터/제어 인터페이스(1250)를 통하여 보안 어플리케이션(1265)의 실행을 요청하거나, 데이터/제어 인터페이스(1250)를 통하여 보안 프로세서(1200)와의 데이터 전송을 수행할 수 있다. 입력 처리 어플리케이션(1127)은 사용자의 터치, 버튼 누름 등과 같은 입력을 처리할 수 있다. 디스플레이 데이터 관리 어플리케이션(1128)은 보안 어플리케이션(1265)으로부터 수신된 이미지 데이터에 기초하여 상기 이미지 데이터에 상응하는 이미지를 표시하도록 모바일 기기(1100)의 디스플레이 장치를 제어할 수 있다. 네트워크 어플리케이션(1129)은 보안 어플리케이션(1265)으로부터 수신된 데이터를 외부의 장치에 유선 또는 무선으로 제공하도록 모뎀(1120)을 제어할 수 있다.
보안 프로세서(1200)는 주프로세서(1110)로부터 데이터/제어 인터페이스(1250)를 통하여 보안 어플리케이션(1265)의 실행 요청을 수신할 수 있다. 보안 어플리케이션(1265)의 실행 요청을 수신하면, 중앙 처리부(1260)는 비휘발성 메모리(1230)에 저장된 보안 어플리케이션(1231)을 휘발성 메모리(1280)에 로드하고, 보안 어플리케이션(1265)을 실행할 수 있다. 또한, 비휘발성 메모리(1230)는 데이터 암호화에 사용되는 보안키(1232) 및 개인 정보와 같은 보안 데이터(1233)를 저장할 수 있다. 보안 어플리케이션(1231), 보안키(1232) 및 보안 데이터(1233)가 보안 프로세서(1200)의 비휘발성 메모리(1230)에 저장되고, 보안 데이터(1233)를 처리하는 보안 어플리케이션(1265)이 보안 프로세서(1200)의 중앙 처리부(1260)에서 실행됨으로써, 보안 어플리케이션(1231), 보안키(1232) 및 보안 데이터(1233)에 대한 보안이 유지될 수 있다.
예를 들어, 개인 식별 정보를 인증하는 어플리케이션이 보안 어플리케이션(1265)으로서 보안 프로세서(1200)의 중앙 처리부(1260)에서 실행될 수 있다. 상기 어플리케이션은 사용자가 입력한 개인 식별 정보를 비휘발성 메모리(1230)에 저장된 개인 식별 정보와 비교할 수 있다. 상기 사용자가 입력한 개인 식별 정보와 비휘발성 메모리(1230)에 저장된 개인 식별 정보가 일치하는 경우, 상기 어플리케이션은 비휘발성 메모리(1230)에 저장된 보안 데이터(1233)에 기초하여 결제 정보를 생성할 수 있다. 상기 어플리케이션은 통신 장치 인터페이스(1290)를 통하여 통신 장치(1170)에 상기 결제 정보를 제공할 수 있고, 통신 장치(1170)는 NFC 통신을 통하여 전자 결제 리더기에 상기 결제 정보를 제공할 수 있다.
상술한 바와 같이, 본 발명의 실시예들에 따른 모바일 기기(1100)에서, 보안 어플리케이션(1265)이 보안 프로세서(1200)에서 실행됨으로써, 보안 어플리케이션(1265) 및 보안 어플리케이션(1265)에 의해 처리되는 보안 데이터(1233)에 대한 보안이 유지될 수 있다.
도 15는 본 발명의 또 다른 실시예에 따른 모바일 기기를 나타내는 블록도이다.
도 15를 참조하면, 모바일 기기(1300)는 주프로세서(1310), 제1 외부 비휘발성 메모리(1330) 및 보안 프로세서(1400)를 포함한다. 보안 프로세서(1400)는 비휘발성 메모리(1430), 암복호화 블록(1440) 및 제1 고속 인터페이스(1450)를 포함할 수 있다.
주프로세서(1310)는 보안 프로세서(1400)에 데이터의 암호화를 요청할 수 있다. 보안 프로세서(1400)는 주프로세서(1310)로부터 제1 고속 인터페이스(1450)를 통하여 암호화될 데이터를 수신할 수 있다. 보안 프로세서(1400)의 암복호화 블록(1440)은 비휘발성 메모리(1430)에 저장된 보안 키(1432)를 이용하여 제1 고속 인터페이스(1450)를 통하여 수신된 데이터를 암호화할 수 있다.
일 실시예에서, 암복호화 블록(1440)에 의해 암호화된 데이터는 제1 고속 인터페이스(1450)를 통하여 주프로세서(1310)에 제공되고, 주프로세서(1310)는 암호화된 데이터(1335)를 제1 외부 비휘발성 메모리(1330)에 저장할 수 있다. 다른 실시예에서, 모바일 기기(1300)는 보안 프로세서(1400)에 연결된 제2 외부 비휘발성 메모리(1380)를 더 포함할 수 있고, 보안 프로세서(1400)는 제2 외부 비휘발성 메모리(1380)와의 인터페이스를 위한 제2 고속 인터페이스(1455)를 더 포함할 수 있다. 보안 프로세서(1400)는 암복호화 블록(1440)에 의해 암호화된 데이터를 제2 고속 인터페이스(1455)를 통하여 제2 외부 비휘발성 메모리(1380)에 제공하고, 암호화된 데이터(1385)는 제2 외부 비휘발성 메모리(1380)에 저장될 수 있다. 또 다른 실시예에서, 보안 프로세서(1400)는 암복호화 블록(1440)에 의해 암호화된 데이터(1435)를 보안 프로세서(1400)의 비휘발성 메모리(1430)에 저장할 수 있다.
상술한 바와 같이, 본 발명의 실시예들에 따른 모바일 기기(1300)에서, 보안 프로세서(1400)가 비휘발성 메모리(1430)에 저장된 보안 키(1432)를 이용하여 데이터를 암호화함으로써, 상기 데이터에 대한 보안이 유지될 수 있다.
도 16은 본 발명의 또 다른 실시예에 따른 모바일 기기를 나타내는 블록도이다.
도 16을 참조하면, 모바일 기기(1500)는 주프로세서(1510), 메모리 카드(1520), 와이파이 장치(1530), 근거리 무선 통신 장치(1540) 및 보안 프로세서(1600)를 포함한다.
보안 프로세서(1600)는 비휘발성 메모리(1630)에 보안 정책(1636)을 저장할 수 있고, 사용자에 의한 데이터 접근이 비휘발성 메모리(1630)에 저장된 보안 정책(1636)에 기초하여 허용 또는 차단될 수 있다. 일 실시예에서, 보안 프로세서(1600)의 비휘발성 메모리(1630)에는 개인 정보, 기밀 정보, 회사 정보 등의 보안 데이터가 저장될 수 있고, 상기 보안 데이터에 대한 접근이 비휘발성 메모리(1630)에 저장된 보안 정책(1636)에 기초하여 허용되거나 차단될 수 있다. 다른 실시예에서, 메모리 카드(1520)에 저장된 보안 데이터에 대한 접근이 비휘발성 메모리(1630)에 저장된 보안 정책(1636)에 기초하여 허용되거나 차단될 수 있다. 또 다른 실시예에서, 와이파이 장치(1530)를 통한 인터넷 접근이 비휘발성 메모리(1630)에 저장된 보안 정책(1636)에 기초하여 허용되거나 차단될 수 있다. 또 다른 실시예에서, 모바일 기기(1500)가 입출문 제어 장치의 근처에 위치하면, 보안 프로세서(1600)는 근거리 무선 통신 장치(1540)를 통하여 상기 입출문 제어 장치와 통신을 수행할 수 있다. 보안 프로세서(1600)는 근거리 무선 통신 장치(1540)를 통하여 상기 입출문 제어 장치에 보안 정책(1636)에 상응하는 보안 등급 데이터를 전송할 수 있고, 상기 입출문 제어 장치는 상기 보안 등급 데이터에 따라 사용자의 입출문을 허용하거나 차단할 수 있다. 한편, 이와 같은 근거리 무선 통신 장치(1540)를 이용한 입출문 동작 시, 모바일 기기(1500)는 대기 모드로 동작하여 주프로세서(1510)에 실질적으로 전력을 공급하지 않을 수 있고, 보안 프로세서(1600)는 근거리 무선 통신 장치(1540)를 통하여 상기 입출문 제어 장치로부터 수신된 전력을 공급받아 구동할 수 있다.
상술한 바와 같이, 본 발명의 실시예들에 따른 모바일 기기(1500)에서, 보안 프로세서(1600)의 비휘발성 메모리(1630)에 저장된 보안 정책(1636)에 기초하여 데이터 접근 등이 제어됨으로써, 데이터에 대한 보안이 유지될 수 있다.
도 17은 본 발명의 또 다른 실시예에 따른 모바일 기기를 나타내는 블록도이다.
도 17을 참조하면, 모바일 기기(1700)는 주프로세서(1710) 및 입력 장치(1760)를 포함한다.
입력 장치(1760)는 사용자의 입력을 수신하고, 상기 사용자의 입력에 상응하는 입력 데이터(ID)를 생성할 수 있다. 실시예에 따라, 입력 장치(1760)는 터치 스크린, 키패드, 버튼, 지문 인식기, 키보드 또는 마우스를 포함할 수 있다.
주프로세서(1710)는 입력 수신 블록(1711) 및 보안 프로세서(1800)를 포함할 수 있다. 입력 수신 블록(1711)은 통상의 주프로세서에 포함된 블록으로서 입력 장치(1760)로부터 입력 데이터를 수신할 수 있다. 보안 프로세서(1800)는 주프로세서(1710)의 프로세싱 블록으로서 구현될 수 있고, 주프로세서(1710)의 입력 수신 블록(1711)과 입력 장치(1760) 사이에 연결될 수 있다. 보안 프로세서(1800)는 입력 장치(1760)로부터 입력 데이터(ID)를 수신하고, 모바일 기기(1700)의 입력 모드에 따라 주프로세서(1710)의 입력 수신 블록(1711)에 입력 데이터(ID)를 선택적으로 제공할 수 있다. 예를 들어, 보안 프로세서(1800)는 보안 입력 모드에서 입력 장치(1760)로부터 수신된 입력 데이터(ID)를 주프로세서(1710)의 입력 수신 블록(1711)에 제공하지 않을 수 있다. 이에 따라, 주프로세서(1710)가 해킹되었더라도, 사용자의 입력에 대한 보안이 유지될 수 있다. 또한, 보안 프로세서(1800)는 보안이 요구되는 데이터를 처리하는 보안 어플리케이션을 실행할 수 있고, 개인 정보 등과 같은 보안이 요구되는 데이터를 암호화하고 암호화된 데이터를 저장할 수 있다. 즉, 보안 프로세서(1800)는 보안 사용자 입력 기능, 보안 실행(Secure Execution) 기능 및/또는 보안 저장(Secure Storage) 기능을 수행할 수 있다.
실시예에 따라, 모바일 기기(1700)는 휴대폰(Mobile Phone), 스마트 폰(Smart Phone), 태블릿(Tablet) PC, 노트북(Laptop Computer), 개인 정보 단말기(personal digital assistant; PDA), 휴대형 멀티미디어 플레이어(portable multimedia player; PMP), 디지털 카메라(Digital Camera), 음악 재생기(Music Player), 휴대용 게임 콘솔(portable game console), 네비게이션(Navigation) 등과 같은 임의의 모바일 기기일 수 있다.
본 발명은 보안이 요구되는 임의의 모바일 기기에 적용될 수 있다. 예를 들어, 본 발명은 휴대폰(Mobile Phone), 스마트 폰(Smart Phone), 태블릿(Tablet) PC, 노트북(Laptop Computer), 개인 정보 단말기(personal digital assistant; PDA), 휴대형 멀티미디어 플레이어(portable multimedia player; PMP), 디지털 카메라(Digital Camera), 음악 재생기(Music Player), 휴대용 게임 콘솔(portable game console), 네비게이션(Navigation) 등과 같은 임의의 모바일 기기에 적용될 수 있다.
상기에서는 본 발명의 실시예들을 참조하여 설명하였지만, 해당 기술분야에서 통상의 지식을 가진 자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.

Claims (23)

  1. 주프로세서;
    사용자의 입력을 수신하고, 상기 사용자의 입력에 상응하는 입력 데이터를 생성하는 입력 장치; 및
    상기 주프로세서와 상기 입력 장치 사이에 연결되고, 상기 입력 장치로부터 상기 입력 데이터를 수신하며, 일반 입력 모드에서 상기 주프로세서가 상기 입력 데이터를 처리하도록 상기 주프로세서에 상기 입력 데이터를 제공하고, 보안 입력 모드에서 상기 입력 데이터를 처리하는 보안 프로세서를 포함하는 모바일 기기.
  2. 제1 항에 있어서, 상기 보안 프로세서는,
    상기 보안 입력 모드에서, 매핑 테이블을 이용하여 상기 입력 데이터로부터 입력 정보를 추출하고, 상기 입력 정보를 암호화하여 상기 주프로세서에 암호화된 입력 정보를 제공하는 것을 특징으로 하는 모바일 기기.
  3. 제1 항에 있어서, 상기 보안 프로세서는,
    상기 주프로세서와 상기 입력 장치 사이에 연결되고, 입력 모드가 상기 일반 입력 모드인지 또는 상기 보안 입력 모드인지에 따라 상기 주프로세서에 상기 입력 데이터를 선택적으로 출력하는 입력 인터페이스;
    매핑 테이블을 이용하여 상기 입력 데이터로부터 입력 정보를 추출하는 입력 처리 블록;
    보안 키를 저장하는 비휘발성 메모리;
    상기 보안 키를 이용하여 상기 입력 정보를 암호화함으로써 암호화된 입력 정보를 생성하는 암복호화 블록; 및
    상기 보안 입력 모드에서 상기 주프로세서에 상기 암호화된 입력 정보를 출력하는 데이터/제어 인터페이스를 포함하는 것을 특징으로 하는 모바일 기기.
  4. 제3 항에 있어서, 상기 입력 인터페이스는,
    상기 일반 입력 모드에서 제1 로직 레벨을 가지고, 상기 보안 입력 모드에서 제2 로직 레벨을 가지는 선택 신호를 생성하는 출력 제어부; 및
    상기 선택 신호가 상기 제1 로직 레벨을 가질 때 상기 주프로세서에 상기 입력 데이터를 출력하고, 상기 선택 신호가 상기 제2 로직 레벨을 가질 때 상기 주프로세서에 상기 입력 데이터를 출력하지 않는 출력 선택기를 포함하는 것을 특징으로 하는 모바일 기기.
  5. 제3 항에 있어서, 상기 입력 처리 블록은,
    상기 입력 데이터가 나타내는 각 좌표에 상응하는 숫자, 문자 또는 기호를 포함하는 매핑 정보를 저장하는 상기 매핑 테이블;
    상기 매핑 테이블에 저장된 상기 매핑 정보에 기초하여 상기 입력 데이터로부터 상기 입력 정보를 추출하는 정보 추출부; 및
    상기 정보 추출부에 의해 추출된 상기 입력 정보를 저장하는 레지스터부를 포함하는 것을 특징으로 하는 모바일 기기.
  6. 제1 항에 있어서, 상기 보안 프로세서는,
    상기 보안 입력 모드에서, 매핑 테이블을 이용하여 상기 입력 데이터로부터 입력 정보를 추출하고, 상기 입력 정보를 상기 보안 프로세서에 저장된 보안 정보와 비교하여 상기 사용자의 입력에 대한 인증을 수행하는 것을 특징으로 하는 모바일 기기.
  7. 제1 항에 있어서, 상기 보안 프로세서는,
    상기 주프로세서와 상기 입력 장치 사이에 연결되고, 입력 모드가 상기 일반 입력 모드인지 또는 상기 보안 입력 모드인지에 따라 상기 주프로세서에 상기 입력 데이터를 선택적으로 출력하는 입력 인터페이스;
    매핑 테이블을 이용하여 상기 입력 데이터로부터 입력 정보를 추출하는 입력 처리 블록;
    보안 정보를 저장하는 비휘발성 메모리; 및
    상기 보안 입력 모드에서, 상기 입력 처리 블록에서 추출된 상기 입력 정보와 상기 비휘발성 메모리에 저장된 상기 보안 정보를 비교하여 상기 사용자의 입력에 대한 인증을 수행하는 중앙 처리부를 포함하는 것을 특징으로 하는 모바일 기기.
  8. 제7 항에 있어서, 상기 보안 프로세서는,
    상기 보안 입력 모드에서 상기 주프로세서에 상기 사용자의 입력에 대한 상기 인증의 결과를 출력하는 데이터/제어 인터페이스를 더 포함하는 것을 특징으로 하는 모바일 기기.
  9. 제7 항에 있어서, 상기 사용자의 입력에 대한 상기 인증은, 스크린 언락 패턴 인증, 암호 인증 또는 개인 식별 번호 인증을 포함하는 것을 특징으로 하는 모바일 기기.
  10. 제7 항에 있어서,
    전자 결제 리더기와 통신하는 통신 장치를 더 포함하고,
    상기 보안 프로세서는, 상기 사용자의 입력에 대한 인증이 성공한 경우, 상기 통신 장치를 통하여 상기 전자 결제 리더기에 결제 정보를 제공하는 것을 특징으로 하는 모바일 기기.
  11. 제1 항에 있어서, 상기 보안 프로세서는, 상기 주프로세서로부터 입력 모드 신호를 수신하고, 상기 입력 모드 신호에 기초하여 입력 모드가 상기 일반 입력 모드인지 또는 상기 보안 입력 모드인지를 결정하는 것을 특징으로 하는 모바일 기기.
  12. 제1 항에 있어서,
    상기 주프로세서는 보안이 요구되지 않는 일반 어플리케이션을 실행하고,
    상기 보안 프로세서는 보안이 요구되는 보안 어플리케이션을 실행하는 것을 특징으로 하는 모바일 기기.
  13. 제1 항에 있어서, 상기 보안 프로세서는,
    상기 주프로세서와 상기 보안 프로세서 사이에서 데이터를 전송하는 고속 인터페이스; 및
    상기 주프로세서로부터 상기 고속 인터페이스를 통하여 수신된 데이터를 암호화하거나 복호화하는 암복호화 블록을 포함하는 것을 특징으로 하는 모바일 기기.
  14. 제1 항에 있어서, 상기 입력 장치는,
    터치 스크린, 키패드, 버튼, 지문 인식기, 키보드 또는 마우스를 포함하는 것을 특징으로 하는 모바일 기기.
  15. 주프로세서; 및
    사용자의 입력을 수신하고, 상기 사용자의 입력에 상응하는 입력 데이터를 생성하는 입력 장치를 포함하고,
    상기 주프로세서는,
    상기 입력 데이터를 수신하는 입력 수신 블록; 및
    상기 입력 수신 블록과 상기 입력 장치 사이에 연결되고, 상기 입력 장치로부터 상기 입력 데이터를 수신하며, 일반 입력 모드에서 상기 주프로세서가 상기 입력 데이터를 처리하도록 상기 입력 수신 장치에 상기 입력 데이터를 제공하고, 보안 입력 모드에서 상기 입력 데이터를 처리하는 보안 프로세서를 포함하는 모바일 기기.
  16. 주프로세서, 입력 장치, 및 상기 주프로세서와 상기 입력 장치 사이에 연결된 보안 프로세서를 포함하는 모바일 기기의 입력 처리 방법에 있어서,
    상기 입력 장치에서 사용자의 입력을 수신하여 상기 사용자의 입력에 상응하는 입력 데이터를 생성하는 단계;
    상기 보안 프로세서에서 상기 입력 장치로부터 상기 입력 데이터를 수신하는 단계;
    일반 입력 모드에서 상기 주프로세서가 상기 입력 데이터를 처리하도록 상기 보안 프로세서로부터 상기 주프로세서에 상기 입력 데이터를 제공하는 단계; 및
    보안 입력 모드에서 상기 보안 프로세서가 상기 입력 데이터를 처리하는 단계를 포함하는 모바일 기기의 입력 처리 방법.
  17. 제16 항에 있어서, 상기 보안 프로세서가 상기 입력 데이터를 처리하는 단계는,
    매핑 테이블을 이용하여 상기 입력 데이터로부터 입력 정보를 추출하는 단계;
    보안 키를 이용하여 상기 입력 정보를 암호화하여 암호화된 입력 정보를 생성하는 단계; 및
    상기 보안 프로세서로부터 상기 주프로세서에 상기 암호화된 입력 정보를 제공하는 단계를 포함하는 것을 특징으로 하는 모바일 기기의 입력 처리 방법.
  18. 제16 항에 있어서, 상기 보안 프로세서가 상기 입력 데이터를 처리하는 단계는,
    매핑 테이블을 이용하여 상기 입력 데이터로부터 입력 정보를 추출하는 단계; 및
    상기 입력 정보와 상기 보안 프로세서에 저장된 보안 정보를 비교하여 상기 사용자의 입력에 대한 인증을 수행하는 단계를 포함하는 것을 특징으로 하는 모바일 기기의 입력 처리 방법.
  19. 주프로세서, 입력 장치, 및 상기 주프로세서와 상기 입력 장치 사이에 연결된 보안 프로세서를 포함하는 모바일 기기를 이용한 전자 결제 방법에 있어서,
    사용자로부터 상기 입력 장치를 통하여 제1 개인 식별 번호를 수신하는 단계;
    상기 보안 프로세서에서 상기 제1 개인 식별 번호와 상기 보안 프로세서에 저장된 제2 개인 식별 번호를 비교하는 단계; 및
    상기 제1 개인 식별 번호와 상기 제2 개인 식별 번호가 일치하는 경우, 전자 결제 리더기에 결제 정보를 제공하는 단계를 포함하는 모바일 기기를 이용한 전자 결제 방법.
  20. 제19 항에 있어서, 상기 입력 장치를 통하여 수신된 상기 제1 개인 식별 번호는, 상기 보안 프로세서에 제공되고, 상기 주프로세서에 제공되지 않는 것을 특징으로 하는 모바일 기기를 이용한 전자 결제 방법.
  21. 제19 항에 있어서, 상기 제2 개인 식별 번호는, 상기 보안 프로세서에 포함된 비휘발성 메모리에 저장된 것을 특징으로 하는 모바일 기기를 이용한 전자 결제 방법.
  22. 제19 항에 있어서, 상기 제1 개인 식별 번호를 수신하는 단계는,
    상기 입력 장치에서 상기 제1 개인 식별 번호에 대한 상기 사용자의 입력을 수신하여 상기 사용자의 입력에 상응하는 입력 데이터를 생성하는 단계;
    상기 보안 프로세서에서 상기 입력 장치로부터 상기 입력 데이터를 수신하는 단계; 및
    매핑 테이블을 이용하여 상기 입력 데이터로부터 상기 제1 개인 식별 번호를 추출하는 단계를 포함하는 것을 특징으로 하는 모바일 기기를 이용한 전자 결제 방법.
  23. 제19 항에 있어서, 상기 전자 결제 리더기에 상기 결제 정보를 제공하는 단계는,
    상기 보안 프로세서에서 생성된 상기 결제 정보를 상기 보안 프로세서에 연결된 통신 장치를 통하여 상기 전자 결제 리더기에 제공하는 단계를 포함하는 것을 특징으로 하는 모바일 기기를 이용한 전자 결제 방법.
KR1020120037328A 2012-04-10 2012-04-10 모바일 기기, 모바일 기기의 입력 처리 방법, 및 모바일 기기를 이용한 전자 결제 방법 KR101873530B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020120037328A KR101873530B1 (ko) 2012-04-10 2012-04-10 모바일 기기, 모바일 기기의 입력 처리 방법, 및 모바일 기기를 이용한 전자 결제 방법
US13/705,801 US8903093B2 (en) 2012-04-10 2012-12-05 Mobile device, method of processing an input in a mobile device and electronic payment method using a mobile device
DE201310101515 DE102013101515A1 (de) 2012-04-10 2013-02-15 Mobilgerät, Verfahren zum Verarbeiten einer Eingabe in ein Mobilgerät und elektronisches Zahlverfahren, das ein Mobilgerät verwendet
CN201310088290.5A CN103369521B (zh) 2012-04-10 2013-03-19 移动装置以及移动装置中处理输入的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120037328A KR101873530B1 (ko) 2012-04-10 2012-04-10 모바일 기기, 모바일 기기의 입력 처리 방법, 및 모바일 기기를 이용한 전자 결제 방법

Publications (2)

Publication Number Publication Date
KR20130126772A true KR20130126772A (ko) 2013-11-21
KR101873530B1 KR101873530B1 (ko) 2018-07-02

Family

ID=49292316

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120037328A KR101873530B1 (ko) 2012-04-10 2012-04-10 모바일 기기, 모바일 기기의 입력 처리 방법, 및 모바일 기기를 이용한 전자 결제 방법

Country Status (3)

Country Link
US (1) US8903093B2 (ko)
KR (1) KR101873530B1 (ko)
CN (1) CN103369521B (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160105292A (ko) * 2015-02-27 2016-09-06 삼성전자주식회사 전자 결제 기능을 제공하는 전자 장치 및 그의 동작 방법
CN107256360A (zh) * 2017-06-07 2017-10-17 努比亚技术有限公司 文件加密方法、移动终端及计算机可读存储介质
KR20180044394A (ko) * 2015-09-01 2018-05-02 후아웨이 테크놀러지 컴퍼니 리미티드 이동 단말의 결제 인증 방법 및 장치 그리고 이동 단말
US11151288B2 (en) 2014-02-19 2021-10-19 Samsung Electronics Co., Ltd. Method and apparatus for processing biometric information in electronic device
WO2022196932A1 (ko) * 2021-03-19 2022-09-22 삼성전자 주식회사 생체 데이터를 암호화하는 전자 장치 및 전자 장치의 동작 방법
WO2024049141A1 (ko) * 2022-09-02 2024-03-07 삼성전자주식회사 암호화된 데이터를 비휘발성 메모리 내에 저장하기 위한 전자 장치 및 그 방법

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11961147B1 (en) * 2012-04-15 2024-04-16 K. Shane Cupp Cards, devices, systems, and methods for financial management services
US20140187147A1 (en) * 2012-12-27 2014-07-03 Haim Rochberger Method and system of generating nfc-transaction remotely
US9287935B2 (en) * 2013-08-01 2016-03-15 Blackberry Limited Method and apparatus for anti-eavesdropping in vunerable NFC applications
FR3014223B1 (fr) 2013-12-02 2015-12-18 Oberthur Technologies Procede de traitement pour securiser des documents electroniques
CN104703175B (zh) * 2013-12-04 2021-10-19 苏州海博智能系统有限公司 移动终端的数据安全保护方法及设备
US9497185B2 (en) 2013-12-30 2016-11-15 Google Inc. Systems, methods, and computer program products for providing application validation
KR20150113815A (ko) * 2014-03-31 2015-10-08 세이코 엡슨 가부시키가이샤 Pos 시스템 및 pos 시스템의 제어 방법
US9351239B2 (en) * 2014-04-30 2016-05-24 Kyocera Document Solutions Inc. Communication device, near-field communication system, and recording medium that facilitate operation as control terminal
US10650372B2 (en) 2014-05-29 2020-05-12 Apple Inc. Apparatuses and methods for managing payment applets on a secure element to conduct mobile payment transactions
US10496975B2 (en) * 2014-07-23 2019-12-03 Square, Inc. Point of sale system with secure and unsecure modes
KR101687287B1 (ko) * 2014-08-18 2017-01-02 남기원 개인 데이터 관리 시스템 및 그 방법
US9503443B2 (en) * 2014-09-15 2016-11-22 Ciena Corporation Secure access systems and methods to network elements operating in a network
US11080674B1 (en) * 2014-09-19 2021-08-03 Square, Inc. Point of sale system
US9471799B2 (en) * 2014-09-22 2016-10-18 Advanced Micro Devices, Inc. Method for privileged mode based secure input mechanism
US9721242B2 (en) * 2014-10-28 2017-08-01 Poynt Co. Payment terminal operation method and system therefor
US9584516B2 (en) * 2015-01-26 2017-02-28 Quest Software Inc. Proxy authentication for a multiple core network device
US11386415B2 (en) 2015-05-20 2022-07-12 Ripple Luxembourg S.A. Hold condition in a resource transfer system
US11481771B2 (en) 2015-05-20 2022-10-25 Ripple Luxembourg S.A. One way functions in a resource transfer system
US10740732B2 (en) * 2015-05-20 2020-08-11 Ripple Luxembourg S.A. Resource transfer system
US11392944B2 (en) 2015-05-20 2022-07-19 Ripple Luxembourg S.A. Transfer costs in a resource transfer system
US11367072B2 (en) 2015-05-20 2022-06-21 Ripple Luxembourg S.A. Private networks and content requests in a resource transfer system
US11392955B2 (en) 2015-05-20 2022-07-19 Ripple Luxembourg S.A. Temporary consensus networks in a resource transfer system
CN104915578A (zh) * 2015-05-27 2015-09-16 努比亚技术有限公司 一种利用隐藏模式来提高操作文件安全的方法及装置
US9847980B2 (en) * 2015-06-17 2017-12-19 Microsoft Technology Licensing, Llc Protecting communications with hardware accelerators for increased workflow security
JP6600830B2 (ja) * 2015-06-25 2019-11-06 株式会社日本デジタル研究所 個人番号収集システムおよび個人番号収集シート
US10565577B2 (en) 2015-12-16 2020-02-18 Samsung Electronics Co., Ltd. Guided positional tracking
US10515350B2 (en) 2016-03-15 2019-12-24 Samsung Electronics Co., Ltd. Method and apparatus to trigger mobile payment based on distance
US9950795B2 (en) * 2016-06-10 2018-04-24 Panasonic Avionics Corporation Methods and systems for pairing a personal electronic device on a transportation vehicle
FR3054349B1 (fr) * 2016-07-21 2019-06-07 Ingenico Group Procede de traitement de donnees par un dispositif electronique d'acquisition de donnees, dispositif et programme correspondant
US10057061B1 (en) 2016-09-13 2018-08-21 Wells Fargo Bank, N.A. Secure digital communications
US10075300B1 (en) 2016-09-13 2018-09-11 Wells Fargo Bank, N.A. Secure digital communications
US20180114007A1 (en) * 2016-10-21 2018-04-26 Samsung Electronics Co., Ltd. Secure element (se), a method of operating the se, and an electronic device including the se
US10853798B1 (en) 2016-11-28 2020-12-01 Wells Fargo Bank, N.A. Secure wallet-to-wallet transactions
US10057225B1 (en) 2016-12-29 2018-08-21 Wells Fargo Bank, N.A. Wireless peer to peer mobile wallet connections
US10505730B2 (en) * 2017-02-06 2019-12-10 Red Hat, Inc. Secure data management
US10699033B2 (en) 2017-06-28 2020-06-30 Advanced Micro Devices, Inc. Secure enablement of platform features without user intervention
US10776777B1 (en) 2017-08-04 2020-09-15 Wells Fargo Bank, N.A. Consolidating application access in a mobile wallet
US10657512B2 (en) * 2017-09-07 2020-05-19 Clover Network, Inc. Multi-use near field communication front end on a point of sale system
CN111046414B (zh) * 2018-10-15 2023-07-25 中兴通讯股份有限公司 移动终端、开关控制方法及计算机可读存储介质
US20200136419A1 (en) * 2018-10-24 2020-04-30 Thomas J. McWilliams Apparatus, system and method for ultra-rapid incremental mobile device charging
US10895597B2 (en) 2018-11-21 2021-01-19 Advanced Micro Devices, Inc. Secure coprocessor assisted hardware debugging
KR20220156685A (ko) * 2021-05-18 2022-11-28 삼성전자주식회사 등록 생체 정보 및 등록 핀 정보를 포함하는 ic 카드, 이의 동작 방법, 및 이와 통신하는 카드 리더기의 동작 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050007476A (ko) * 2002-05-07 2005-01-18 알타나 파마 아게 기도 질환 치료를 위한 가역적 양성자 펌프 억제제와 기도치료제의 신규 조합물
CN101894430A (zh) * 2010-07-09 2010-11-24 北京银达润和科技发展有限公司 一种移动支付终端、系统及一种移动支付方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8225089B2 (en) 1996-12-04 2012-07-17 Otomaku Properties Ltd., L.L.C. Electronic transaction systems utilizing a PEAD and a private key
US6131811A (en) 1998-05-29 2000-10-17 E-Micro Corporation Wallet consolidator
US6609113B1 (en) 1999-05-03 2003-08-19 The Chase Manhattan Bank Method and system for processing internet payments using the electronic funds transfer network
US8032457B2 (en) 1999-08-13 2011-10-04 Vladimir Ostrovsky Method and system for transferring electronic funds
US7280975B1 (en) 2000-07-24 2007-10-09 Donner Irah H System and method for determining and/or transmitting and/or establishing communication with a mobile device user for providing, for example, concessions, tournaments, competitions, matching, reallocating, upgrading, selling tickets, other event admittance means, goods and/or services
EP1276038A1 (en) * 2001-07-10 2003-01-15 Hung-Lien Shen Data input method and device for a computer system
US7383570B2 (en) 2002-04-25 2008-06-03 Intertrust Technologies, Corp. Secure authentication systems and methods
US7784684B2 (en) 2002-08-08 2010-08-31 Fujitsu Limited Wireless computer wallet for physical point of sale (POS) transactions
US8295484B2 (en) * 2004-12-21 2012-10-23 Broadcom Corporation System and method for securing data from a remote input device
US7314167B1 (en) 2005-03-08 2008-01-01 Pisafe, Inc. Method and apparatus for providing secure identification, verification and authorization
US7128274B2 (en) 2005-03-24 2006-10-31 International Business Machines Corporation Secure credit card with near field communications
US8181232B2 (en) 2005-07-29 2012-05-15 Citicorp Development Center, Inc. Methods and systems for secure user authentication
US7748618B2 (en) 2006-08-21 2010-07-06 Verizon Patent And Licensing Inc. Secure near field transaction
US7979054B2 (en) * 2006-10-19 2011-07-12 Qualcomm Incorporated System and method for authenticating remote server access
US8041338B2 (en) 2007-09-10 2011-10-18 Microsoft Corporation Mobile wallet and digital payment
CN101409944A (zh) * 2007-10-08 2009-04-15 中兴通讯股份有限公司 键盘加密的方法和装置
US8315951B2 (en) 2007-11-01 2012-11-20 Alcatel Lucent Identity verification for secure e-commerce transactions
CN101340294A (zh) * 2008-08-07 2009-01-07 深圳市紫金支点技术股份有限公司 一种密码键盘装置及其实现方法
US20160210491A9 (en) * 2008-09-30 2016-07-21 Apple Inc. Systems and methods for secure wireless financial transactions
US8341087B2 (en) * 2010-03-03 2012-12-25 Cassis International Pte Ltd Method for implementing and application of a secure processor stick (SPS)
KR101573722B1 (ko) * 2009-04-20 2015-12-03 삼성전자주식회사 비휘발성 메모리 장치 및 컨트롤러를 포함하는 메모리 시스템
US8788428B2 (en) * 2010-06-28 2014-07-22 Dresser, Inc. Multimode retail system
KR101340746B1 (ko) * 2011-04-18 2013-12-12 주식회사 팬택 전자 기기, 전자 기기의 사용자 입력 데이터의 보안 방법 및 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050007476A (ko) * 2002-05-07 2005-01-18 알타나 파마 아게 기도 질환 치료를 위한 가역적 양성자 펌프 억제제와 기도치료제의 신규 조합물
CN101894430A (zh) * 2010-07-09 2010-11-24 北京银达润和科技发展有限公司 一种移动支付终端、系统及一种移动支付方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11151288B2 (en) 2014-02-19 2021-10-19 Samsung Electronics Co., Ltd. Method and apparatus for processing biometric information in electronic device
KR20160105292A (ko) * 2015-02-27 2016-09-06 삼성전자주식회사 전자 결제 기능을 제공하는 전자 장치 및 그의 동작 방법
KR20180044394A (ko) * 2015-09-01 2018-05-02 후아웨이 테크놀러지 컴퍼니 리미티드 이동 단말의 결제 인증 방법 및 장치 그리고 이동 단말
CN107256360A (zh) * 2017-06-07 2017-10-17 努比亚技术有限公司 文件加密方法、移动终端及计算机可读存储介质
WO2022196932A1 (ko) * 2021-03-19 2022-09-22 삼성전자 주식회사 생체 데이터를 암호화하는 전자 장치 및 전자 장치의 동작 방법
WO2024049141A1 (ko) * 2022-09-02 2024-03-07 삼성전자주식회사 암호화된 데이터를 비휘발성 메모리 내에 저장하기 위한 전자 장치 및 그 방법

Also Published As

Publication number Publication date
KR101873530B1 (ko) 2018-07-02
US20130266141A1 (en) 2013-10-10
CN103369521A (zh) 2013-10-23
US8903093B2 (en) 2014-12-02
CN103369521B (zh) 2018-06-08

Similar Documents

Publication Publication Date Title
KR101873530B1 (ko) 모바일 기기, 모바일 기기의 입력 처리 방법, 및 모바일 기기를 이용한 전자 결제 방법
US10491379B2 (en) System, device, and method of secure entry and handling of passwords
CN106255976B (zh) 机密数据管理方法及装置以及安全认证方法及系统
US20210192090A1 (en) Secure data storage device with security function implemented in a data security bridge
US8108317B2 (en) System and method for restricting access to a terminal
CN106687985B (zh) 用于基于特权模式的安全输入机构的方法
US20120227096A1 (en) Method and apparatus for transferring data
WO2018089143A1 (en) Methods for securely storing sensitive data on mobile device
US10475024B1 (en) Secure smart card transactions
CN113344570A (zh) 传输和处理交易消息的方法及数据处理装置
JP2008544710A (ja) 暗号化を実現する方法及び装置
CN103279411A (zh) 基于指纹识别进入应用程序的方法及系统
US20230368194A1 (en) Encryption method and decryption method for payment key, payment authentication method, and terminal device
KR101745706B1 (ko) 생체 정보 기반 인증 장치 그리고 이의 동작 방법
CN108763917B (zh) 一种数据加解密方法及装置
US20190377863A1 (en) Password input method, computer device and storage medium
US9912658B2 (en) Checking validity of a communication target device
TW201539247A (zh) 密碼輸入與確認方法及其系統
KR102616421B1 (ko) 생체 인증을 이용한 결제 방법 및 그 전자 장치
TWI724684B (zh) 用於執行經過身分驗證的加密操作的方法、系統及裝置
US9525553B2 (en) System and method for providing digital signature based on mobile trusted module
Frisby et al. Security Analysis of Smartphone Point-of-Sale Systems.
EP4329241A1 (en) Data management system, data management method, and non-transitory recording medium
JP2022165418A (ja) デジタルキーサービスを有効にするためのデジタルキー装置及び方法
DE102013101515A1 (de) Mobilgerät, Verfahren zum Verarbeiten einer Eingabe in ein Mobilgerät und elektronisches Zahlverfahren, das ein Mobilgerät verwendet

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
GRNT Written decision to grant