KR102485830B1 - 보안 정보의 처리 - Google Patents

보안 정보의 처리 Download PDF

Info

Publication number
KR102485830B1
KR102485830B1 KR1020150022739A KR20150022739A KR102485830B1 KR 102485830 B1 KR102485830 B1 KR 102485830B1 KR 1020150022739 A KR1020150022739 A KR 1020150022739A KR 20150022739 A KR20150022739 A KR 20150022739A KR 102485830 B1 KR102485830 B1 KR 102485830B1
Authority
KR
South Korea
Prior art keywords
information
otp
area
electronic device
security
Prior art date
Application number
KR1020150022739A
Other languages
English (en)
Other versions
KR20160100151A (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 KR1020150022739A priority Critical patent/KR102485830B1/ko
Priority to PCT/KR2016/001051 priority patent/WO2016129838A1/en
Priority to EP16154990.2A priority patent/EP3057053B1/en
Priority to US15/041,803 priority patent/US10581833B2/en
Publication of KR20160100151A publication Critical patent/KR20160100151A/ko
Application granted granted Critical
Publication of KR102485830B1 publication Critical patent/KR102485830B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • 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/306Payment architectures, schemes or protocols characterised by the use of specific devices or networks using TV related infrastructures
    • 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/308Payment architectures, schemes or protocols characterised by the use of specific devices or networks using the Internet of Things
    • 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/357Cards having a plurality of specified features
    • G06Q20/3576Multiple memory zones on card
    • G06Q20/35765Access rights to memory zones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/105Multiple levels of security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • H04W12/082Access security using revocation of authorisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key

Landscapes

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

Abstract

본 발명의 다양한 실시 예에 따른 전자 장치의 운용 방법은 전자 장치의 제1 영역에서 제1 정보를 수신하는 동작, 상기 전자 장치의 제1 영역에서 상기 제1 정보에 포함된 제2 정보를 추출하는 동작, 상기 제2 정보를 상기 제1 영역보다 보안 수준이 높은 상기 전자 장치의 제2 영역에 저장하는 동작을 포함할 수 있다. 이 외에도 명세서를 통해 파악되는 다양한 실시 예가 가능하다.

Description

보안 정보의 처리{Processing for secure information}
다양한 실시 예는 보안 정보의 처리에 관한 것이다.
일반적으로 전자 장치는 어플리케이션을 설치하고 실행하여 다양한 기능을 수행할 수 있다. 예컨대, 전자 장치는 보안 정보 처리가 요구되는 어플리케이션의 설치를 지원하고, 입력에 따라 설치된 어플리케이션 실행을 지원할 수 있다.
종래 보안 정보 처리 방식은 비보안 영역에서 보안 정보를 저장 관리하였기 때문에 보안에 취약한 문제가 있었다. 또한, 종래 보안 정보 처리 방식은 각 어플리케이션 별로 별도의 보안 정보가 요구되어 많은 양의 보안 정보를 사용자가 관리해야 하는 문제가 있었다.
다양한 실시 예는 보안 정보를 보다 안전한 장소에 저장 관리하여 뛰어난 보안 기능을 제공할 수 있는 보안 정보 처리 방법 및 이를 지원하는 전자 장치를 제공할 수 있다.
또한, 다양한 실시 예에 따른 다양한 보안 정보를 어플리케이션 매핑 정보(또는 매핑 맵이나 매핑 리스트)를 기반으로 운용함으로써 보다 간편하고 안정적인 보안 정보 처리 방법 및 이를 지원하는 전자 장치를 제공할 수 있다.
본 발명의 다양한 실시 예에 따른 전자 장치는 전자 장치 하우징, 상기 하우징 내에 위치한 메모리, 유저 인터페이스 및 상기 메모리 및 유저 인터페이스와 전기적으로 연결된 프로세서를 포함하고, 상기 메모리는, 제1 영역 및 상기 제1 영역보다 보안 수준이 높은 제2 영역을 포함하고, 상기 프로세서는, 상기 전자장치의 외부로부터 제1 정보를 수신하고, 상기 제1 정보로부터 추출된 제2 정보를 상기 제2 영역 내에 저장하도록 하는 명령어들을 처리할 수 있다.
본 발명의 다양한 실시 예에 따른 전자 장치는 보안 운용 정보를 운용하는 제1 영역, 상기 보안 운용 정보 생성에 필요한 시드 정보가 저장되는 상기 제1 영역보다 보안 수준이 높은 제2 영역, 상기 제1 영역의 요청에 대응하여 상기 시드 정보를 기반으로 상기 보안 운용 정보를 생성하여 상기 제1 영역에 전달하도록 제어하는 프로세서를 포함할 수 있다.
본 발명의 다양한 실시 예에 따른 전자 장치 운용 방법은 전자 장치의 제1 영역에서 제1 정보를 수신하는 동작, 상기 전자 장치의 제1 영역에서 상기 제1 정보에 포함된 제2 정보를 추출하는 동작, 상기 제2 정보를 상기 제1 영역보다 보안 수준이 높은 상기 전자 장치의 제2 영역에 저장하는 동작을 포함할 수 있다.
상술한 바와 같이 다양한 실시 예들은 보다 안전한 보안 기능을 제공할 수 있다.
또한, 다양한 실시 예들은 보안 정보 운용을 보다 손쉽게 운용할 수 있도록 지원한다.
도 1은 다양한 실시 예에 따른 보안 정보 처리 환경을 나타낸다.
도 2는 다양한 실시 예에 따른 프로그램 모듈의 한 예를 나타낸 도면이다.
도 3a는 다양한 실시 에에 따른 OTP 프레임워크의 한 예를 나타낸 도면이다.
도 3b는 다양한 실시 예에 따른 OTP 보안 어플리케이션의 한 예를 나타낸 도면이다.
도 3c는 다양한 실시 예에 따른 OTP 환경을 지원하는 프로토콜을 설명하는 도면이다.
도 4는 다양한 실시 예에 따른 비보안 파일 시스템의 한 예를 나타낸 도면이다.
도 5는 다양한 실시 예에 따른 보안 정보 저장과 관련한 전자 장치 운용 방법을 나타낸 도면이다.
도 6은 다양한 실시 예에 따른 보안 정보 저장과 관련한 신호 흐름을 나타낸 도면이다.
도 7은 다양한 실시 예에 따른 보안 정보 생성과 관련한 전자 장치 운용 방법을 나타낸 도면이다.
도 8은 다양한 실시 예에 따른 보안 정보 생성과 관련한 신호 흐름의 한 예를 나타낸 도면이다.
도 9는 다양한 실시 예에 따른 보안 정보 생성과 관련한 신호 흐름의 다른 한 예를 나타낸 도면이다.
도 10은 다양한 실시 예에 따른 리스트 운용과 관련한 전자 장치 운용 방법을 나타낸 도면이다.
도 11은 다양한 실시 예에 따른 보안 정보 저장과 관련한 화면 인터페이스의 한 예를 나타낸 도면이다.
도 12는 다양한 실시 예에 따른 보안 정보 생성 운용과 관련한 화면 인터페이스의 한 예를 나타낸 도면이다.
도 13은 다양한 실시 예에 따른 보안 정보 생성 운용과 관련한 화면 인터페이스의 다른 한 예를 나타낸 도면이다.
도 14는 다양한 실시 예에 따른 프로그램 모듈의 블록도를 나타낸다.
이하, 본 발명의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경(modification), 균등물(equivalent), 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 문서에서, "가진다", "가질 수 있다", "포함한다", 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 문서에서, "A 또는 B", "A 또는/및 B 중 적어도 하나", 또는 "A 또는/및 B 중 하나 또는 그 이상" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B", "A 및 B 중 적어도 하나", 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
다양한 실시 예에서 사용된 "제1", "제2", "첫째", 또는 "둘째" 등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 해당 구성요소들을 한정하지 않는다. 상기 표현들은 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 수 있다. 예를 들면, 제1 사용자 기기와 제2 사용자 기기는, 순서 또는 중요도와 무관하게, 서로 다른 사용자 기기를 나타낼 수 있다. 예를 들면, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 바꾸어 명명될 수 있다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 문서에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)", "~하는 능력을 가지는(having the capacity to)", "~하도록 설계된(designed to)", "~하도록 변경된(adapted to)", "~하도록 만들어진(made to)", 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성(또는 설정)된"은 하드웨어적으로 "특별히 설계된(specifically designed to)"것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성(또는 설정)된 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 어플리케이션 processor)를 의미할 수 있다.
본 문서에서 사용된 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명의 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 일반적으로 사용되는 사전에 정의된 용어들은 관련 기술의 문맥 상 가지는 의미와 동일 또는 유사한 의미를 가지는 것으로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 발명의 실시 예들을 배제하도록 해석될 수 없다.
본 발명의 다양한 실시 예들에 따른 전자 장치는, 예를 들면, 전자 장치는 스마트폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 화상 전화기, 전자북 리더기(e-book reader), 데스크탑 PC (desktop PC), 랩탑 PC(laptop PC), 넷북 컴퓨터(netbook computer), 워크스테이션(workstation), 서버, PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라, 또는 웨어러블 장치(wearable device)(예: 스마트 안경, 머리 착용형 장치(head-mounted-device(HMD)), 전자 의복, 전자 팔찌, 전자 목걸이, 전자 앱세서리(appcessory), 전자 문신, 스마트 미러, 또는 스마트 와치(smart watch))중 적어도 하나를 포함할 수 있다.
어떤 실시 예들에서, 전자 장치는 스마트 가전 제품(smart home appliance)일 수 있다. 스마트 가전 제품은, 예를 들면, 텔레비전, DVD 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(set-top box), 홈 오토매이션 컨트롤 패널(home automation control panel), 보안 컨트롤 패널(security control panel), TV 박스(예: 삼성 HomeSync™, 애플TV™, 또는 구글 TV™), 게임 콘솔(예: Xbox™, PlayStation™), 전자 사전, 전자 키, 캠코더, 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시 예에서, 전자 장치는, 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 또는 초음파기 등), 네비게이션(navigation) 장치, GPS 수신기(global positioning system receiver), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트(infotainment) 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛(head unit), 산업용 또는 가정용 로봇, 금융 기관의 ATM(automatic teller's machine), 상점의 POS(point of sales), 또는 사물 인터넷 장치(internet of things)(예: 전구, 각종 센서, 전기 또는 가스 미터기, 스프링클러 장치, 화재경보기, 온도조절기(thermostat), 가로등, 토스터(toaster), 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다.
어떤 실시 예에 따르면, 전자 장치는 가구(furniture) 또는 건물/구조물의 일부, 전자 보드(electronic board), 전자 사인 수신 장치(electronic signature receiving device), 프로젝터(projector), 또는 각종 계측 기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에서, 전자 장치는 전술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 어떤 실시 예에 따른 전자 장치는 플렉서블 전자 장치일 수 있다. 또한, 본 발명의 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않으며, 기술 발전에 따른 새로운 전자 장치를 포함할 수 있다.
이하, 첨부 도면을 참조하여, 다양한 실시 예에 따른 전자 장치가 설명된다. 본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치 (예: 인공지능 전자 장치)를 지칭할 수 있다.
도 1은 다양한 실시 예에 따른 보안 정보 처리 환경을 나타낸다.
도 1을 참조하면, 도 1을 참조하면, 보안 정보 처리 환경 10은 전자 장치 100, 네트워크 400 및 서버 장치 500을 포함할 수 있다.
상술한 보안 정보 처리 환경 10에 있어서, 전자 장치 100은 서버 장치 500으로부터 수신된 토큰 정보(또는 티켓 정보, 제1 정보)에서 시드 정보(예: 제2 정보)를 추출할 수 있다. 전자 장치 100은 추출된 시드 정보를 보안 영역에 저장할 수 있다. 전자 장치 100은 보안 영역에 저장된 시드 정보를 이용하여 비보안 영역(예: 제1 영역)에서 운용되는 또는 보안 영역(예: 제2 영역)에서 운용되는 어플리케이션과 관련된 보안 운용 정보(예: 제3 정보)를 생성할 수 있다. 전자 장치 100은 생성된 보안 운용 정보를 기반으로 지정된 어플리케이션의 기능을 처리할 수 있다. 이하 설명에서는 상기 보안 정보 처리 환경 10이 OTP와 관련한 보안 정보 처리를 지원하는 환경을 예시하여 설명하기로 한다.
상기 토큰 정보는 예컨대, 서버 장치 500(예: OTP(one time password) 어플리케이션 인증 서버 장치)에서 전자 장치 100의 OTP 어플리케이션 동작에 필요한 정보를 포함할 수 있다. 상기 토큰 정보는 예컨대, 전자 장치 100에 의해 파싱되어 구성요소를 추출할 수 있는 형태(예: 패키지 형태로서, xml 문서 형식, 데이터 패킷 형태, 데이터베이스 형태 중 적어도 하나)가 될 수 있다. 상기 토큰 정보는 예컨대, 사용자 식별 정보(User ID), 전자 장치 식별 정보, 어플리케이션 관련 정보 등의 토큰 관련 정보(예: 제4 정보)와, OTP 생성에 사용되는 시드 정보(예: Seed Key)를 포함할 수 있다. 예컨대, 상기 토큰 정보는 토큰 관련 정보(예: 사용자 ID, 어플리케이션 종류 정보, 토큰 생성 시간 관련 정보 등) 및 시드 정보를 포함할 수 있다. 상기 토큰 정보는 시드 정보를 포함하되, 토큰 형식에 따라 또는 설계자의 설계 방식에 따라 각기 다른 정보를 포함할 수도 있다.
상기 시드 정보는 암호화 되어 토큰 정보에 포함될 수 있다. 상기 시드 정보는 전자 장치 100의 OTP 어플리케이션으로 전달되어 OTP 생성에 사용될 수 있다. 상기 시드 정보는 전자 장치 100의 보안 성능이 제공되는 영역에 저장될 수 있다. 다양한 실시 예에 따르면, 상기 시드 정보는 보안 성능이 제공되는 소프트웨어 영역(예: 보안 영역 300의 OTP 보안 어플리케이션)에서 복호화가 수행되고, 보안 성능이 제공되는 하드웨어 영역(예: 보안 영역 300의 보안 파일 시스템)에 저장될 수 있다. 상기 시드 정보는 OTP 생성과 관련한 시드 키 정보를 포함할 수 있다. 다양한 실시 예에 따르면, 상기 보안 정보 처리 환경 10은 공개키 구조에서의 보안 정보 처리를 지원하는 환경을 포함할 수도 있다. 이 경우, 시드 정보는 공개키 서명과 관련한 개인키 정보를 포함할 수 있다.
상기 보안 운용 정보는 상기 시드 정보를 토대로 지정된 알고리즘 운용에 따라 생성된 정보일 수 있다. 예컨대, 상기 보안 운용 정보는 OTP 또는 OTP 관련 정보를 포함할 수 있다. 또는 상기 보안 운용 정보는 서버 장치 500이 요구한 지정된 정보를 포함할 수 있다.
상기 네트워크 400은 상기 전자 장치 100과 상기 서버 장치 500 간의 통신 채널 형성을 지원할 수 있다. 한 실시 예에 따르면, 상기 네트워크 400은 인터넷 네트워크, 와이파이 네트워크, 이동 기지국 기반의 이동통신 네트워크 중 적어도 하나를 포함할 수 있다. 상기 네트워크 400은 전자 장치 100의 토큰 정보 요청 메시지를 서버 장치 500에 전달할 수 있다. 토큰 정보 요청 메시지는 예컨대, 전자 장치 100의 식별 정보(예: 전자 장치의 종류 정보, 전자 장치의 연결 정보, 전자 장치의 고유 주소 정보 등), 사용자 정보(예: 사용자 이름, 사용자에게 부여된 지정된 번호 정보 등), 어플리케이션 관련 정보(예: 어플리케이션 종류 정보, 어플리케이션 설치 시간 정보 등) 중 적어도 하나를 포함할 수 있다.
상기 네트워크 400은 상기 서버 장치 500가 생성한 토큰 정보를 상기 전자 장치 100에 전달할 수 있다. 상기 네트워크 400은 전자 장치 100의 OTP 인증과 관련하여 전자 장치 100이 보안 영역에서 시드 정보를 토대로 생성한 보안 운용 정보를 서버 장치 500에 제공할 수 있다.
상기 서버 장치 500은 상기 네트워크 400을 통하여 상기 전자 장치 100과 통신 채널을 형성할 수 있다. 서버 장치 500은 전자 장치 100의 요청에 대응하여 토큰 정보를 생성하고, 생성된 토큰 정보를 전자 장치 100에 제공하는 정보 제공 서버 장치를 포함할 수 있다. 또한 서버 장치 500은 전자 장치 100에 토큰 운용 정보 제공을 요청하고, 전자 장치 100으로부터 토큰 운용 정보를 수신하여 처리하는 정보 운용 서버 장치를 포함할 수 있다. 상술한 토큰 정보를 제공하는 정보 제공 서버 장치와 토큰 운용 정보를 처리하는 정보 운용 서버 장치는 각각 독립된 서버 장치로 구성될 수 있다. 또는 토큰 정보를 제공하는 서버 장치와 보안 운용 정보를 처리하는 서버 장치는 동일한 서버 장치일 수 있다.
다양한 실시 예에 따르면, 서버 장치 500은 지정된 사용자 접근을 허용하고, 사용자 요청에 대응하여 지정된 전자 장치의 OTP 인증을 거절할 수 있다. 예컨대, 서버 장치 500은 전자 장치 분실에 대응하여 사용자 또는 서버 장치 500 관리자에 의해 특정 전자 장치의 OTP 인증 불가 설정이 요청되면, 해당 전자 장치의 OTP 인증 요청을 무시할 수 있다. 이와 관련하여, 전자 장치를 분실한 사용자는 서버 장치 500이 제공하는 웹 페이지에 접속하거나 다양한 통신 연결 방법을 사용하여 전자 장치의 분실 상태를 알릴 수 있다.
상기 전자 장치 100은 전자 장치 하우징을 포함하고, 상기 전자 장치 하우징 내에 지정된 위치에 배치되는 제1 메모리 130에 저장된 비보안 영역 200을 기반으로 운용되는 어플리케이션을 이용하여 토큰 정보를 수신할 수 있다. 상기 전자 장치 100은 비보안 영역 200의 프레임워크를 이용하여 시드 정보를 추출할 수 있다. 전자 장치 100은 제2 메모리 140에 저장된 보안 영역 300을 기반으로 운용되는 보안 어플리케이션을 이용하여 토큰 정보의 시드 정보를 보안 영역 300에 저장할 수 있다.
상기 전자 장치 100은 디스플레이, 메모리, 프로세서를 포함하고, 상기 프로세서는 보호된 방법으로 시드 정보를 수신하고, 상기 시드 정보를 상기 보안 실행 환경에서 접근 가능한 상기 메모리의 일부에 저장하고, 상기 일반 실행 환경에서의 요청에 따라 상기 보안 실행 환경에서 상기 시드 정보의 적어도 일부에 기초하여 일회성 암호(one time password)를 생성하고, 상기 일회성 암호를 상기 디스플레이에 표시하도록 제어하는 무선 통신 단말을 포함할 수 있다.
상술한 디스플레이는 유저 인터페이스 역할을 수행하며, 일회성 암호 운용과 관련한 화면을 출력할 수 있다. 상기 메모리는 토큰 정보, 시드 정보, 토큰 관련 정보, 토큰 운용 정보 중 적어도 하나를 저장할 수 있다. 여기서 시드 정보 등은 메모리 영역 중 상대적으로 보안의 정도가 높은 영역에 저장될 수 있다. 상기 프로세서는 상기 디스플레이 및 상기 메모리에 전기적으로 연결되어, 일반 실행 환경 및 보안 실행 환경으로 구분하여 동작할 수 있다. 상기 시드 정보는 서버 장치 등으로부터 제공될 수 있다. 시드 정보는 지정된 토큰 정보에 포함되어 제공될 수 있으며, 토큰 정보 제공과 관련하여 서버 장치와 무선 통신 단말을 보안 통신 채널(예: 데이터 송수신 시 지정된 알고리즘을 이용하여 암호화를 수행하는 채널)을 형성할 수 있다.
상기 전자 장치 100은 상기 비보안 영역 200에서의 보안 운용 정보 생성 요청에 대응하여 보안 영역 300에서 상기 시드 정보를 토대로 보안 운용 정보를 생성할 수 있다. 상기 전자 장치 100은 생성된 보안 운용 정보를 비보안 영역 200에 전달하고, 비보안 영역 200에서 운용되는 어플리케이션을 기반으로 상기 보안 운용 정보의 처리를 수행할 수 있다. 상기 전자 장치 100은 보안 운용 정보의 제공과 관련하여 디스플레이, 통신 인터페이스 등을 포함하는 유저 인터페이스를 포함할 수 있다. 상기 유저 인터페이스는 생성된 보안 운용 정보의 출력(예: 디스플레이 상에서의 출력)을 지원하거나, 생성된 보안 운용 정보의 전송(예: 통신 인터페이스를 통하여 서버 장치 500으로의 전송)을 지원할 수 있다. 이러한 유저 인터페이스는 전자 장치 100의 프로세서에 전기적으로 연결되어, 프로세서 제어에 따라 보안 운용 정보의 처리를 수행할 수 있다.
이와 관련하여, 전자 장치 100은 버스 110, 프로세서 120, 제1 메모리 130, 제2 메모리 140, 입출력 인터페이스 150, 디스플레이 160 및 통신 인터페이스 170을 포함할 수 있다. 한편, 다양한 실시 예에 따르면, 제1 메모리 130 및 제2 메모리 140은 물리적으로 하나의 메모리로 구성될 수도 있으며, 또는 설계 방식에 따라 각각 독립된 구성으로 마련될 수도 있다.
상기 버스 110은, 예를 들면, 상기 구성요소들 120-170을 서로 연결하고, 상기 구성요소들 간의 통신(예: 제어 메시지 및/또는 데이터)을 전달하는 회로를 포함할 수 있다. 예컨대, 버스 110은 입출력 인터페이스 150을 통하여 지정된 기능 접근 요청을 수신할 수 있다. 버스 110은 비보안 영역 200에서 운용되는 어플리케이션의 토큰 정보 요청을 통신 인터페이스 170에 전달할 수 있다. 버스 110은 통신 인터페이스 170이 수신한 토큰 정보를 프로세서 120 제어에 대응하여 비보안 영역 200에 전달할 수 있다. 버스 110은 프로세서 120 제어에 대응하여 토큰 정보 중 시드 정보를 보안 영역 300에 전달할 수 있다. 버스 110은 보안 영역 300에서 생성된 보안 운용 정보를 비보안 영역 200 또는 통신 인터페이스 170에 전달할 수 있다.
상기 프로세서 120은, 중앙처리장치(CPU), AP(어플리케이션 processor), 또는 CP(communication processor) 중 하나 또는 그 이상을 포함할 수 있다. 상기 프로세서 120은, 예를 들면, 상기 전자 장치 100의 적어도 하나의 다른 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다. 한 실시 예에 따르면, 프로세서 120은 제1 메모리 130에 포함된 비보안 영역 200의 운용을 지원하는 적어도 하나의 프로세스(또는 태스크, 또는 쓰레드)를 할당할 수 있다. 또한 프로세서 120은 제2 메모리 140에 포함된 보안 영역 300의 운용을 지원하는 적어도 하나의 프로세스(또는 태스크, 또는 쓰레드)를 할당할 수 있다. 다양한 실시 예에 따르면, 프로세서 120은 비보안 영역 200이 로드되는 하드웨어 및 보안 영역 300이 로드되는 하드웨어로서 설계되고 운용될 수 있다. 다양한 실시 예에 따르면, 프로세서 120은 비보안 영역 200과 관련한 프로세서 및 보안 영역 300과 관련한 프로세서를 각각 포함할 수도 있다.
상기 제1 메모리 130 및 제2 메모리 140는, 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 상기 제1 메모리 130 및 제2 메모리 140는, 예를 들면, 상기 전자 장치 100의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 한 실시 예에 따르면, 제1 메모리 130은 비보안 영역 200과 관련한 프로그램이 저장될 수 있다. 제2 메모리 140은 보안 영역 300과 관련한 프로그램이 저장될 수 있다.
다양한 실시 예에 따르면, 제1 메모리 130 및 제2 메모리 140은 하나의 메모리로 통합될 수 있다. 이 경우, 비보안 영역 200과 보안 영역 300은 하나의 메모리에 논리적으로 분리되어 배치될 수 있다. 다양한 실시 예에 따르면, 하나의 메모리에 저장된 비보안 영역 200과 보안 영역 300은 프로세서 120에 로드되는 과정에서 각각 구분된 영역(예: 비보안 프로세스 영역, 보안 프로세스 영역)에 로드될 수 있다.
한 실시 예에 따르면, 상기 제1 메모리 130는 소프트웨어 및/또는 프로그램을 저장할 수 있다. 상기 프로그램은 커널, 미들웨어, 어플리케이션 인터페이스(어플리케이션 programming interface), 어플리케이션을 포함할 수 있다. 상기 커널, 미들웨어, 또는 어플리케이션 인터페이스의 적어도 일부는, 운영 시스템(operating system, OS)이라고 불릴 수 있다.
상기 커널은, 예를 들면, 다른 프로그램들(예: 미들웨어, 어플리케이션 인터페이스, 또는 어플리케이션)에 구현된 동작 또는 기능을 실행하는 데 사용되는 시스템 리소스들(예: 버스 110, 프로세서 120, 또는 제1 메모리 130 등)을 제어 또는 관리할 수 있다. 또한, 상기 커널은 상기 미들웨어, 상기 어플리케이션 인터페이스, 또는 상기 어플리케이션에서 상기 전자 장치 100의 개별 구성요소에 접근함으로써, 시스템 리소스들을 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다.
상기 미들웨어는, 예를 들면, 상기 어플리케이션 인터페이스 또는 상기 어플리케이션이 상기 커널과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다. 또한, 상기 미들웨어는 상기 어플리케이션으로부터 수신된 작업 요청들과 관련하여, 예를 들면, 상기 어플리케이션 중 적어도 하나의 어플리케이션에 상기 전자 장치 100의 시스템 리소스 (예: 버스 110, 프로세서 120, 또는 제1 메모리 130 등)를 사용할 수 있는 우선 순위를 배정하는 등의 방법을 이용하여 작업 요청에 대한 제어(예: 스케쥴링 또는 로드 밸런싱)을 수행할 수 있다.
상기 어플리케이션 인터페이스(예: API, Application protocol interface)는, 예를 들면, 상기 어플리케이션이 상기 커널 또는 상기 미들웨어에서 제공되는 기능을 제어하기 위한 인터페이스로, 예를 들면, 파일 제어, 창 제어, 화상 처리, 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수 (예: 명령어)를 포함할 수 있다.
상기 어플리케이션은 전자 장치 100 운용을 통해 사용자게 제공되는 적어도 하나의 기능과 관련한 프로그램일 수 있다. 한 실시 예에 따르면, 상기 어플리케이션은 은행 어플리케이션, 주식 어플리케이션, 이메일 어플리케이션, 데이터 관리 어플리케이션, 클라우드 어플리케이션 등을 포함할 수 있다. 상술한 어플리케이션은 운용 중에 보안 운용 정보를 처리하는 어플리케이션을 호출할 수 있다. 또는 상기 어플리케이션은 보안 운용 정보 처리와 관련한 적어도 하나의 프로그램 루틴을 포함할 수 있다.
한 실시 예에 따르면, 상기 제2 메모리 140은 보안 소프트웨어 및/또는 보안 프로그램을 저장할 수 있다. 상기 보안 프로그램은 보안 커널, 보안 기능 미들웨어, 보안 기능 어플리케이션 인터페이스(어플리케이션 programming interface), 보안 기능 어플리케이션을 포함할 수 있다. 상기 보안 커널, 보안 기능 미들웨어, 또는 보안 기능 어플리케이션 인터페이스의 적어도 일부는, 보안 운영 시스템(예: Trust Zone operating system, TZOS)이라고 불릴 수 있다. 상기 보안 커널, 보안 기능 미들웨어, 보안 기능 어플리케이션 인터페이스 중 적어도 하나는 버스 110, 제2 메모리 140, 입출력 인터페이스 150, 디스플레이 160, 통신 인터페이스 170 중 적어도 하나에 대한 제어 권한을 획득한 상태에서 보안 등급을 가진 실행 환경을 지원하기 위하여 운용될 수 있다.
다양한 실시예에 따르면, 전자장치는 보안 강화를 위해 복수의 보안 등급을 가진 실행 환경을 운용할 수 있다. 상기 보안 등급을 가진 실행 환경은, 예를 들면, 일반 실행 환경(rich execution environment, REE)에 비해 상대적으로 보안 등급이 높은 보안 실행 환경(trusted execution environment, TEE)을 포함할 수 있다. 전자 장치는 H/W의 물리적 변경 또는 S/W의 논리적 변경을 통하여 보안 실행 환경을 운용할 수 있다.
보안 실행 환경(trusted execution environment(TEE))은 상대적으로 높은 보안 레벨이 요구되는 데이터를 안전한 환경 내에서 저장하고 관련 동작을 수행할 수 있다. 보안 실행 환경은 전자 장치의 프로세서가 포함하는 (예: 프로세서 120) 어플리케이션 프로세서(application processor(AP)) 상에서 동작하고, 전자 장치의 제조 과정에서 결정된 신뢰할 수 있는 하드웨어 구조에 기반하여 동작할 수 있다. 보안 실행 환경은 어플리케이션 프로세서 및 메모리를 일반 영역(예: 제1 메모리 130) 과 보안 영역(예: 제2 메모리 140)으로 구분하여 보안 영역에서 동작할 수 있다. 보안 실행 환경은 보안이 필요한 소프트웨어나 하드웨어를 보안 영역에서만 동작하게 하도록 설정할 수 있다. 전자 장치는 하드웨어의 물리적 변경 또는 소프트웨어의 논리적 변경을 통하여 보안 실행 환경을 운용할 수 있다.
한 실시예에 따르면, 보안 실행 환경(TEE)은 ARM의 트러스트존(trustzone, TZ)을 이용하여 구현될 수 있다. 트러스트존은 프로세서 (예: 프로세서 120)를 두 개의 가상 코어로 분할하여, 한 곳에서는 일반 실행 환경(REE)이 실행되고, 다른 한 곳에서는 보안 실행 환경(TEE)이 실행될 수 있다. 한 실시예에 따르면, 보안 실행 환경(TEE)은 별도의 프로세서를 이용하여 구현될 수 있다. 또는, 프로세서 칩에 내장된 형태로(on-chip) 구현될 수 있다.
한 실시 예에 따르면, 상기 보안 기능 어플리케이션은 예컨대, 은행 어플리케이션, 주식 어플리케이션, 이메일 어플리케이션, 데이터 관리 어플리케이션, 클라우드 어플리케이션 중 적어도 하나와 관련한 보안 운용 정보 어플리케이션을 포함할 수 있다.
상기 입출력 인터페이스 150은, 예를 들면, 사용자 또는 다른 외부 기기로부터 입력된 명령 또는 데이터를 상기 전자 장치 100의 다른 구성요소(들)에 전달할 수 있는 인터페이스의 역할을 할 수 있다. 또한, 상기 입출력 인터페이스 150은 상기 전자 장치 100의 다른 구성요소(들)로부터 수신된 명령 또는 데이터를 사용자 또는 다른 외부 기기로 출력할 수 있다. 상기 입출력 인터페이스 150은 예컨대, 적어도 하나의 물리 버튼 또는 터치 버튼이나 터치 패드 또는 터치스크린 등을 포함할 수 있다. 또한 상기 입출력 인터페이스 150은 전자펜 등에 의한 입력 수단을 포함할 수 있다. 또한 상기 입출력 인터페이스 150은 오디오 신호를 수집할 수 있는 오디오 수집 장치를 포함할 수 있다.
상기 입출력 인터페이스 150은 비보안 영역 200 또는 보안 영역 300 운용 환경에서 사용자 입력에 따른 입력 신호를 생성할 수 있다. 예컨대, 입출력 인터페이스 150은 비보안 영역 200 운용 환경에서 획득된 입력 신호는 비보안 영역 200에 전달할 수 있다. 입출력 인터페이스 150은 보안 영역 300 운용 환경에서 획득된 입력 신호는 보안 영역 300에 전달할 수 있다.
상기 입출력 인터페이스 150은 보안 정보 처리와 관련한 안내 정보를 출력할 수 있는 적어도 하나의 출력 장치를 포함할 수 있다. 예컨대, 입출력 인터페이스 150은 오디오 출력 장치, 램프, 진동 출력 장치 등을 포함할 수 있다. 입출력 인터페이스 150은 토큰 정보의 수신, 시드 정보의 저장, 보안 운용 정보의 생성, 보안 운용 정보의 처리 중 적어도 하나에 대응하는 지정된 오디오 데이터, 지정된 점멸 패턴, 지정된 진동 패턴 중 적어도 하나를 출력할 수 있다. 상기 오디오 데이터, 점멸 패턴, 진동 패턴 중 적어도 하나는 설정에 따라 또는 전자 장치 100의 지원 여부에 따라 생략될 수도 있다.
상기 디스플레이 160은, 예를 들면, 액정 디스플레이(LCD), 발광 다이오드(LED) 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 또는 마이크로 전자기계 시스템(microelectromechanical systems, MEMS) 디스플레이, 또는 전자종이(electronic paper) 디스플레이를 포함할 수 있다. 상기 디스플레이 160은, 예를 들면, 사용자에게 각종 컨텐츠(예: 텍스트, 이미지, 비디오, 아이콘, 또는 심볼 등)을 표시할 수 있다. 상기 디스플레이 160은, 터치 스크린을 포함할 수 있으며, 예를 들면, 전자 펜 또는 사용자의 신체의 일부를 이용한 터치, 제스처, 근접, 또는 호버링(hovering) 입력을 수신할 수 있다.
상기 디스플레이 160은 보안 정보 처리와 관련한 적어도 하나의 화면을 출력할 수 있다. 예컨대, 디스플레이 160은 토큰 정보를 서버 장치 500에 요청하는 화면, 수신된 토큰 정보 중 시드 정보의 보안 영역 300 저장 완료를 안내하는 화면을 출력할 수 있다. 또한 디스플레이 160은 보안 운용 정보와 관련한 어플리케이션 실행 화면, 보안 운용 정보 생성 화면, 보안 운용 정보 처리 화면 중 적어도 하나를 출력할 수 있다.
상기 통신 인터페이스 170은, 예를 들면, 상기 전자 장치 100과 외부 장치 간의 통신을 설정할 수 있다. 예를 들면, 상기 통신 인터페이스 170은 무선 통신 또는 유선 통신을 통해서 네트워크에 연결되어 외부 장치와 통신할 수 있다. 상기 무선 통신은, 예를 들면 셀룰러 통신 프로토콜로서, 예를 들면 LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro, 또는 GSM 등 중 적어도 하나를 사용할 수 있다. 상기 유선 통신은, 예를 들면, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard 232), 또는 POTS(plain old telephone service) 등 중 적어도 하나를 포함할 수 있다. 상기 네트워크는 통신 네트워크(telecommunications network), 예를 들면, 컴퓨터 네트워크(computer network)(예: LAN 또는 WAN), 인터넷, 또는 전화 망(telephone network) 중 적어도 하나를 포함할 수 있다.
상기 통신 인터페이스 170은 예컨대, 네트워크 400을 통하여 서버 장치 500과 통신 채널을 형성할 수 있다. 통신 인터페이스 170은 프로세서 120 제어에 대응하여 토큰 정보를 수신할 수 있다. 또한, 통신 인터페이스 170은 지정된 어플리케이션 운용에 대응하여 보안 운용 정보를 서버 장치 500에 송출할 수 있다.
도 2는 다양한 실시 예에 따른 프로그램 모듈의 한 예를 나타낸 도면이다.
도 2를 참조하면, 본 발명의 프로그램 모듈은 비보안 영역 200, 보안 영역 인터페이스 250, 보안 영역 300을 포함할 수 있다.
비보안 영역 200은 전자 장치 100의 비보안 기능을 처리하는 프로그램들을 포함할 수 있다. 예컨대, 상기 비보안 영역 200은 OTP 어플리케이션 210, OTP 프레임워크 230, 비보안 파일 시스템 220을 포함할 수 있다. 상기 OTP 어플리케이션 210은 OTP를 서비스하는 사업자의 어플리케이션이나 OTP를 이용하여 인증을 필요로 하는 어플리케이션들을 포함할 수 있다. 이러한 OTP 어플리케이션 210은 OTP 운용과 관련하여 OTP 프레임워크 230 접근을 수행할 수 있다. 예컨대, OTP 어플리케이션 210은 OTP를 생성하기 위한 환경을 지원하는 역할을 수행할 수 있다.
한 실시 예에 따르면, 상기 OTP 어플리케이션 210은 OTP 기능 지원과 관련한 토큰 정보를 요청할 수 있다. 예컨대, OTP 어플리케이션 210은 아이콘 선택이나 메뉴 선택에 따라 실행되거나 또는 관련 기능 실행 시 활성화될 수 있다. OTP 어플리케이션 210은 사용자 입력에 따라 또는 스케줄링된 태스크에 따라 토큰 정보를 제공하는 서버 장치 500에 토큰 정보를 요청할 수 있다. 이 동작에서 OTP 어플리케이션 210은 전자 장치 100의 식별 정보, 어플리케이션의 종류, 사용자 입력 정보 또는 저장된 특정 정보를 서버 장치 500에 전송할 수 있다. OTP 어플리케이션 210은 토큰 정보를 수신하면 이를 OTP 프레임워크 230에 전달할 수 있다.
또한, 상기 OTP 어플리케이션 210은 OTP 기능이 필요한 특정 기능 실행과 관련한 어플리케이션을 포함할 수 있다. OTP 어플리케이션 210은 OTP 기능이 필요한 기능에서 서버 장치 500과의 비보안 연결을 지원할 수 있다. 예컨대, OTP 어플리케이션 210은 OTP 정보 요청을 OTP 프레임워크 230에 요청하고, OTP 프레임워크 230으로부터 OTP 정보를 수신하면 이를 지정된 서버 장치 500에 전송할 수 있다.
상기 OTP 프레임워크 230은 OTP 운용을 위한 환경을 제공할 수 있다. 예컨대, OTP 프레임워크 230은 OTP 어플리케이션 210 실행에 필요한 커널, 미들웨어, API 등을 포함할 수 있다. OTP 프레임워크 230은 실행된 OTP 어플리케이션 210의 요청에 따라 서버 장치 500으로부터 토큰 정보를 수신하는데 필요한 프로세스를 프로세서 120을 기반으로 진행할 수 있다. 또한 OTP 프레임워크 230은 수신된 토큰 정보에서 시드 정보를 추출하고, 이를 보안 영역 300에 전달할 수 있다. 이 동작에서 OTP 프레임워크 230은 시드 정보를 제외한 토큰 정보 예컨대, 토큰 관련 정보를 비보안 영역의 비보안 파일 시스템 220에 저장할 수 있다.
다양한 실시 예에 따르면, OTP 프레임워크 230은 지정된 식별자를 가지는 서버 장치 500과 통신하는 과정에서 OTP를 자동으로 운용하도록 지원할 수 있다. 또한, OTP 프레임워크 230은 보안 영역 300에 저장된 시드 정보의 정보 동기화 또는 시드 정보의 삭제 등의 제어를 수행할 수 있다. 또한, OTP 프레임워크 230은 시드 정보를 기반으로 생성된 OTP 운용과 관련한 보안 영역 300과의 인터페이싱을 보안 영역 인터페이스 250을 통해 수행할 수 있다.
상기 보안 영역 인터페이스 250은 비보안 영역 200과 보안 영역 300 사이의 데이터 인터페이싱이 가능하도록 지원할 수 있다. 이와 관련하여, 보안 영역 인터페이스 250은 보안영역 300 으로의 접근 권한을 가진 프로세스를 포함할 수 있다. 예컨대, 보안 영역 인터페이스 250은 비보안 영역 200의 요청에 따라 보안 영역 300 접근 권한을 가진 프로세스를 운용하고, 해당 프로세스를 기반으로 시드 정보를 보안 영역 300에 전달할 수 있다. 또한 보안 영역 인터페이스 250은 비보안 영역 200의 요청에 따라 보안 영역 300에서 생성된 OTP 정보를 비보안 영역 200에 전달할 수 있다.
상기 보안 영역 300은 전자 장치 100의 보안 기능이 요구되는 어플리케이션들이 설치 및 운용되는 영역일 수 있다. 상기 보안 영역 300은 유효하지 않은 접근을 허용하지 않으며, 유효한 사용자 혹은 프로세스(예를 들어, 보안 영역 인터페이스 250)를 확인하여 불법적인 접근에 대한 사용을 불능 처리할 수 있다. 한 실시 예에 따르면, 상기 보안 영역 300은 OTP를 생성하여 비보안 영역 200에 전달할 수 있다. 이와 관련하여, 보안 영역 300은 OTP 보안 어플리케이션 310, 보안 확인 모듈 320, 보안 파일 시스템 330을 포함할 수 있다. 추가적으로 상기 보안 영역 300은 OTP 운용과 관련하여 OTP 신뢰 서비스 모듈(예: OTP TZ Service)을 포함할 수 있다. OTP 신뢰 서비스 모듈은 트러스트존(Trustzone)으로 접근 할 수 있는 OTP와 관련된 통로(또는 채널)를 제공할 수 있다.
상기 OTP 보안 어플리케이션 310은 보안 영역 300에서 구동되는 OTP 관련 어플리케이션일 수 있다. 상기 OTP 보안 어플리케이션 310은 예컨대, 전달된 시드 정보에 대한 복호화를 수행할 수 있다. 상기 OTP 보안 어플리케이션 310은 시드 정보 복호화 알고리즘을 운용할 수 있다. 상기 시드 정보 복호화 알고리즘은 암호화 알고리즘(cryptographic algorithms)을 포함할 수 있다. 또한 상기 시드 정보 복호화 알고리즘은, 예를 들어, AES(Advanced Encryption Standard Algorithms)를 포함하는 다양한 모드의 대칭키 암호화 알고리즘(symmetric encryption algorithms)일 수 있다. 상기 AES 알고리즘은, 예를 들어, CBC 모드(Cipher Block Chaining Mode Algorithms)일 수 있다(AES-128-CBC keys, AES-256-CBC keys 등). 또한, 상기 시드 정보 복호화 알고리즘은, 예를 들어, PBE(Password Based Encryption Algorithms)일 수 있다. OTP 보안 어플리케이션 310은 복호된 시드 정보를 보안 파일 시스템 330에 저장할 수 있다. 다양한 실시 예에 따르면, OTP 보안 어플리케이션 310은 복호화 과정이 수행되지 않은 시드 정보를 보안 파일 시스템 330에 저장하거나, 복호된 시드 정보를 보안 영역 300에서 지원되는 알고리즘을 이용하여 암호화하여 저장할 수도 있다.
상기 OTP 보안 어플리케이션 310은 보안 파일 시스템 330에 저장된 시드 정보를 이용하여 OTP를 생성할 수 있다. 이와 관련하여, OTP 보안 어플리케이션 310은 OTP 생성 알고리즘을 운용할 수 있다. 상기 OTP 생성 알고리즘은 암호화 알고리즘(cryptographic algorithms)을 포함할 수 있다. 또한 상기 OTP 생성 알고리즘은, 예를 들어, HOTP(An HMAC-Based One-Time Password Algorithm), TOTP(Time Based One Time Password Algorithm), OCRA(OATH Challenge Response Algorithm)등의 OTP 생성 알고리즘을 운용할 수 있다. 상기 OTP 생성 알고리즘은 보안 파일 시스템 330에 저장되어, OTP 보안 어플리케이션 310 운용과 관련하여 제공될 수 있다.
상기 보안 확인 모듈 320은 전자 장치 100의 보안 상태를 검사할 수 있다. 한 실시 예에 따르면, 보안 확인 모듈 320은 비보안 영역 200의 신뢰성이 손상(damage or ruined)된 상태(예: 현재 해킹된 상태)인지 또는 보안 영역 300의 신뢰성이 손상된 상태인지 등을 확인할 수 있다. 예컨대, 보안 확인 모듈 320은 보안 영역 300이 루팅(rooting, 또는 해킹)된 상태인지를 확인할 수 있다. 보안 확인 모듈 320은 보안 영역 300(또는 비보안 영역 200 중 적어도 하나)의 신뢰성이 손상된 상태이면 시드 정보의 저장을 수행하지 않도록 제어할 수 있다. 또한 보안 확인 모듈 320은 보안 영역 300(또는 비보안 영역 200 중 적어도 하나)의 신뢰성이 손상된 상태이면, 비보안 영역 200의 OTP 생성 요청을 거절할 수 있다. 추가적으로 상기 보안 확인 모듈 320은 전자 장치 100의 신뢰성 손상 상태에 대한 메시지를 입출력 인터페이스 150 또는 디스플레이 160 중 적어도 하나를 통하여 출력하도록 제어할 수 있다.
상기 보안 파일 시스템 330은 보안 영역 300에 마련된 영역으로서, 보안 영역 300의 운영체제에 의한 접근 또는 OTP 보안 어플리케이션 310에 의한 접근에 따른 데이터의 읽기와 쓰기를 지원할 수 있다. 상기 보안 파일 시스템 330은 예컨대, 암호화된 시드 정보 또는 복호된 시드 정보가 저장될 수 있다. 상기 보안 파일 시스템 330에 저장된 시드 정보는 OTP 생성 과정에서 제공될 수 있다.
도 3a는 다양한 실시 에에 따른 OTP 프레임워크의 한 예를 나타낸 도면이다.
도 3a를 참조하면, 다양한 실시 예에 따른 OTP 프레임워크 230은 OTP 환경 처리부 231, OTP 생성 처리부 233, OTP 동기화 처리부 235, OTP 제거 처리부 237을 포함할 수 있다.
상기 OTP 환경 처리부 231은 OTP 운용과 관련한 환경을 조성할 수 있다. 예컨대, OTP 환경 처리부 231은 OATH(Open Authentication) Compliance에서 표준으로 제정한 OATH 기반의 프로토콜인 PSKC(Portable Symmetric Key Container, RFC 6030), DSKPP(Dynamic Symmetric Key Provisioning Protocol, RFC 6063) 방식을 지원할 수 있다. 추가적으로 또는 대체적으로 OTP 환경 처리부 231은 OTP 운용에 필요한 정보들을 포함하도록 미리 정의된 직접 데이터 방식을 지원할 수 있다. 다양한 실시 예에 따르면, 각 지원 방식(예를 들어, PSKC 방식, DSKPP 방식 또는 직접 데이터 방식)에 따라 OTP 운용과 관련해 사용되는 토큰 정보의 형식 또는 토큰 정보가 포함하는 정보의 종류가 달라질 수 있다.
상기 OTP 환경 처리부 231은 토큰 정보를 OTP 어플리케이션 210으로부터 수신하여 정보 추출(Parsing) 작업을 수행할 수 있다. OTP 환경 처리부 231은 추출된 정보들 중 지정된 정보, 예컨대, 시드 정보를 보안 영역 인터페이스 250을 통하여 보안 영역 300의 OTP 보안 어플리케이션 310에 전달할 수 있다. 상기 OTP 환경 처리부 231은 토큰 정보에서 시드 정보를 제외한 토큰 관련 정보 221을 비보안 파일 시스템 220에 저장할 수 있다.
상기 OTP 생성 처리부 233은 OTP 어플리케이션 210의 OTP 생성 요청을 수신하면, 이를 보안 영역 인터페이스 250을 통해 보안 영역 300의 OTP 보안 어플리케이션 310에 전달할 수 있다. 예컨대, OTP 생성 처리부 233은 OTP 생성과 관련한 어플리케이션의 종류 정보, 관련 시드 정보의 색인 정보 등을 포함하는 OTP 생성 요청 메시지를 생성하고, 상기 OTP 생성 요청 메시지를 OTP 보안 어플리케이션 310에 전달할 수 있다. 이 동작에서 OTP 생성 처리부 233은 상기 생성 요청 메시지의 유효성을 확인하거나 상기 OTP 어플리케이션 210이 이상이 없는지 패키지(package) 또는 서명(signature)의 유효성을 확인하여 이상이 없는 경우 상기 OTP 생성 요청 메시지를 OTP 보안 어플리케이션 310에 전달할 수 있다. 상기 OTP 생성 처리부 233은 OTP 생성 요청에 대응하여 생성된 OTP를 OTP 보안 어플리케이션 310으로부터 수신하면, 이를 OTP 어플리케이션 210에 전달할 수 있다.
상기 OTP 동기화 처리부 235는 전자 장치 100과 서버 장치 500 간의 동기가 잘못된 경우를 처리할 수 있다. 예컨대, OTP 동기화 처리부 235는 OTP 생성 요청이 발생하는 경우, OTP 동기화와 관련한 처리를 OTP 보안 어플리케이션 310에 요청할 수 있다. 상기 OTP 동기화 처리부 235는 동기화가 필요한 경우로 판단되면, OTP 보안 어플리케이션 310에 동기화 명령을 전달하고, 갱신된 값으로 실제 데이터를 리셋한 후 전달할 수 있다.
상기 OTP 제거 처리부 237은 보안 영역 300에 저장된 시드 정보가 불필요한 것으로 판단된 경우, 해당 시드 정보 삭제 요청을 OTP 보안 어플리케이션 310에 전달할 수 있다. 예를 들어, OTP 제거 처리부 237은 OTP 어플리케이션 210으로부터 시드 정보의 삭제 명령어를 수신할 수 있다. 이 경우, OTP 제거 처리부 237은 해당 삭제 명령어에 대한 유효성을 체크한 후 유효한 경우 OTP 보안 어플리케이션 310에 삭제 명령어를 전달할 수 있다.
도 3b는 다양한 실시 예에 따른 OTP 보안 어플리케이션의 한 예를 나타낸 도면이다.
도 3b를 참조하면, OTP 보안 어플리케이션 310은 OTP 생성부 311, OTP 동기화부 313, OTP 제거부 315, OTP 프레임워크 접속부 317, 시드 정보 처리부 319를 포함할 수 있다.
상기 OTP 생성부 311은 비보안 영역 200으로부터 OTP 생성을 요청 받으면, 보안 파일 시스템 330에 저장된 시드 정보를 기반으로 OTP를 생성할 수 있다. 이 동작에서 OTP 생성부 311은 시드 정보가 암호화되어 있는 경우 복호화를 수행한 후, OTP 생성을 수행할 수 있다. 시드 정보가 복호된 상태로 보안 파일 시스템 330에 저장된 경우, OTP 생성부 311은 상기 시드 정보와 지정된 OTP 생성 알고리즘을 이용하여 OTP를 생성할 수 있다. OTP 생성부 311은 생성된 OTP를 OTP 프레임워크 접속부 317에 전달할 수 있다. 추가적으로 또는 대체적으로 OTP 생성 동작에서 OTP 생성부 311은 사용자 입력 핀(Pin) 정보와 시드 정보를 이용할 수도 있다.
상기 OTP 동기화부 313은 OTP 시간 정보의 동기화를 수행할 수 있다. 예컨대, OTP 동기화부 313은 OTP 동기화 처리부 235로부터 동기화와 관련한 명령을 수신한 시점(예: 지정된 시점 또는 일정 주기, 또는 시드 정보를 기반으로 하는 OTP 생성 요청이 발생한 시점)에 OTP 정보의 동기화를 확인할 수 있다. 예컨대, 상기 OTP 동기화부 313은 생성된 OTP의 동기 시간 정보 및 서버 장치 500으로부터 수신된 OTP 동기 시간 정보를 수집할 수 있다. 수집된 동기 시간 정보의 비교를 기반으로, OTP 동기화부 313은 동기화를 확인할 수 있다. 상기 OTP 동기화부 313은 동기화가 잘못된 경우, 동기화를 위한 API를 운용하여, 동기화를 처리할 수 있다.
동기화 처리와 관련하여, 상기 OTP 동기화부 313은 운용되는 OTP 알고리즘의 종류에 대응하여 동기화에 대한 다른 처리를 수행할 수 있다. 예컨대, OTP 동기화부 313은 TOTP, OCRA 방식의 OTP 처리가 운용 중인 경우는 생성 주기 값을 동기화할 수 있다. 상기 OTP 동기화부 313은 HOTP, OCRA 방식의 OTP 처리가 운용 중인 경우는 이벤트 카운트(event count) 값을 조정할 수 있다. 다양한 실시 예에 따르면, 상기 OTP 동기화부 313은 서버 장치 500으로부터 수신된 데이터를 기반으로 전자 장치 100의 OTP 동기화에 대한 정책을 갱신할 수 있다.
상기 OTP 제거부 315는 OTP 제거 처리부 237의 OTP 제거 명령 수신에 따라, OTP를 제거할 수 있다. 또는 OTP 제거부 315는 생성된 OTP에 대한 유효성이 상실(예: 지정된 시간 경과 등)되면 해당 OTP를 제거할 수 있다. OTP 제거부 315는 OTP 제거 후 제거 사실에 대한 알람을 OTP 제거 처리부 237에 전달할 수 있다.
상기 OTP 프레임워크 접속부 317은 보안 영역 인터페이스 250을 통한 OTP 프레임워크 230과의 채널을 형성할 수 있다. OTP 프레임워크 접속부 317은 OTP 프레임워크 230이 전달하는 시드 정보의 수신, OTP 생성 요청의 수신, OTP 제거 요청의 수신 등을 처리할 수 있다. 또한, OTP 프레임워크 접속부 317은 생성된 OTP를 OTP 프레임워크 230에 전달할 수 있다.
상기 시드 정보 처리부 319는 OTP 프레임워크 접속부 317이 수신한 시드 정보의 보안 파일 시스템 330 저장을 처리할 수 있다. 예컨대, 시드 정보 처리부 319는 시드 정보가 암호화되어 있는 경우, 복호화하여 보안 파일 시스템 330에 저장할 수 있다. 또는 시드 정보 처리부 319는 암호화된 상태로 보안 파일 시스템 330에 저장할 수도 있다. 시드 정보 처리부 319는 시드 정보의 유효성을 확인하고, 시드 정보가 유효성을 상실한 경우(예: 지정된 시간 또는 지정된 사용 횟수 경과 시) 시드 정보를 삭제 처리할 수 있다.
도 3c는 다양한 실시 예에 따른 OTP 환경을 지원하는 프로토콜을 설명하는 도면이다.
도 3c를 참조하면, 다양한 실시 예에 따르면, 전자 장치 100은 OTP 운용과 관련한 PSKC 251 방식, DSKPP 253 방식, 직접 데이터(Direct Data) 255 방식 중 적어도 하나의 방식을 지원할 수 있다. 다양한 실시 예에 따르면, 각 지원 방식(예를 들어, PSKC 방식, DSKPP 방식 또는 직접 데이터 방식)에 따라 OTP 운용과 관련해 사용되는 토큰 정보의 형식 또는 토큰 정보가 포함하는 정보의 종류가 달라질 수 있다. PSKC 251 방식은 예컨대, XML Path 정보, Whitelisted packages 정보 등을 포함할 수 있다. DSKPP 253 방식은 예컨대, Server URL 정보, Activation Code 정보, Whitelisted packages 정보 등을 포함할 수 있다. 직접 데이터(Direct Data) 255 방식은 예컨대, OATH Protocol 정보, Hash Algorithm 정보, OTP length 정보, OTP endcoding, 정보, OTP Param 정보, Time Drift 정보, OCRA suite 정보, Display Name 정보, Shared Secret 정보, Secret Encryption Type 정보, Encryption Params 정보, Whitelisted Packaged 정보를 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에 따르면, 직접 데이터 255 방식은 상기 PSKC 251 및 DSKPP 방식을 따르지 않는 사업자들을 위하여, 상술한 다양한 정보들을 포함하는 토큰 정보를 구성하는 방식일 수 있다.
상기 OATH Protocol 정보는 OTP를 생성할 때 사용 되는 프로토콜(Protocol)을 정의한 정보일 수 있다. 예컨대, OATH 프로토콜 정보는 HOTP, TOTP, OCRA 중 적어도 하나에 대한 정의 정보를 포함할 수 있다. 상기 Hash Algorithm 정보는 OTP를 생성할 때 각각의 프로토콜에서 사용할 Hash algorithm을 정의한 정보일 수 있다. 예컨대, 상기 Hash Algorithm 정보는 HMAC_SHA1, HMAC_SHA256, HMAC_SHA512 등의 정보를 포함할 수 있다. 상기 Hash Algorithm 정보는 HOTP, TOTP에서만 사용이 되며, OCRA의 경우 OCRA suite에 정의된 알고리즘으로 OTP를 생성할 수 있다. 이에 따라, OCRA 알고리즘을 사용하는 경우 상기 Hash Algorithm 정보가 세팅되어 있어도 무시될 수 있다.
상기 OTP Length 정보는 몇 자리의 OTP를 생성할 것인지 정의한 정보일 수 있다. 예컨대, OTP_LENGTH:6은 6자리 OTP 생성을 의미할 수 있다. 상기 OTP Encoding 정보는 생성되는 OTP의 부호화 타입(encoding type)을 정의한 정보일 수 있다. 상기 OTP Param 정보는 HOTP의 초기 counter(event 값)나 TOTP의 OTP 생성 주기를 정의한 정보일 수 있다.
상기 Time Drift 정보는 TOTP의 경우에 주로 사용하며 서버 장치 500과 전자 장치 100의 시간이 달라졌을 때에도 어느 정도 동기화를 유지하기 위한 오프셋(offset) 값을 정의한 정보일 수 있다. 상기 OCRA suite 정보는 OCRA 방식에서 OTP 생성 시 사용되는 algorithm을 정의한 정보일 수 있다. 예컨대, 상기 OCRA suite 정보는 OCRA-1:HOTP-SHA1-6:C-QA06, OCRA-1:HOTP-SHA1-6:C-QN06, OCRA-1:HOTP-SHA1-8:C-QN08, OCRA-1:HOTP-SHA1-8:C-QA08, OCRA-1:HOTP-SHA256-8:C-QA08, OCRA-1:HOTP-SHA256-8:C-QN08, OCRA-1:HOTP-SHA1-6:QN06, OCRA-1:HOTP-SHA1-6:QN08, OCRA-1:HOTP-SHA1-8:QN06, OCRA-1:HOTP-SHA1-8:QN08, OCRA-1:HOTP-SHA1-6:QH40, OCRA-1:HOTP-SHA1-8:QH40, OCRA-1:HOTP-SHA1-6: QA06, OCRA-1:HOTP-SHA1-8: QN08, OCRA-1:HOTP-SHA256-8: QA08, OCRA-1:HOTP-SHA1-6: QA06-PSHA1, OCRA-1:HOTP-SHA1-6: QA06-T30S, OCRA-1:HOTP-SHA1-8: QN08-T30S, OCRA-1:HOTP-SHA256-6: QA06-T30S, OCRA-1:HOTP-SHA256-8: QA08-T30S 중 적어도 하나의 값을 가질 수 있다.
상기 Display Name 정보는 생성된 토큰 정보가 전자 장치 100에서 보여질 이름을 정의한 정보일 수 있다. 상기 Shared Secret 정보는 OTP 생성 에 사용되는 시드 키(Seed key)를 정의한 정보일 수 있다. 상기 Secret Encryption Type 정보는 Shared Secret의 encryption type을 정의한 정보일 수 있다. 상기 Encryption Params 정보는 Shared Secret을 encryption할 때 사용한 algorithm과 Shared Secret을 decryption하기 위한 다른 정보들을 정의한 정보일 수 있다. 상기 Whitelisted Packaged 정보는 해당 토큰 정보를 사용할 어플리케이션을 미리 정의한 정보일 수 있다.
도 4는 다양한 실시 예에 따른 비보안 파일 시스템의 한 예를 나타낸 도면이다.
도 4를 참조하면, 다양한 실시 예에 따른 비보안 파일 시스템 220은 전자 장치 100의 기능 운용 중 비보안 영역 200에서 운용되는 기능과 관련한 데이터 또는 프로그램 등을 저장하는 영역일 수 있다. 한 실시 예에 따르면, 상기 비보안 파일 시스템 220은 토큰 관련 정보 221 및 OTP 운용 어플리케이션 리스트 223을 포함할 수 있다.
상기 토큰 관련 정보 221은 토큰 정보에서 시드 정보가 제외된 정보를 포함할 수 있다. 예컨대, 토큰 관련 정보 221은 토큰 정보를 발행한 서버 장치 500의 식별 정보(예: 서버 주소 정보, 서버 이름 정보 등), 토큰 정보를 수신한 전자 장치 100의 식별 정보(예: 전자 장치 100의 연결 정보, 전자 장치의 고유 정보 등), 토큰 정보를 요청한 어플리케이션의 종류 정보 중 적어도 하나를 포함할 수 있다. 추가적으로, 토큰 관련 정보 221은 토큰 정보를 발행한 시간 정보, 토큰 정보의 유효성 관련 정보 중 적어도 하나를 더 포함할 수 있다. 또한, 토큰 관련 정보 221은 시드 정보와의 연계성을 나타내는 링크 정보를 포함할 수 있다. 링크 정보는 복수개의 토큰 관련 정보에 매핑되는 시드 정보들을 구분하는데 이용될 수 있다. 또한, 링크 정보는 생성된 OTP를 특정 어플리케이션에 자동으로 적용하는데 이용될 수 있다.
상기 OTP 운용 어플리케이션 리스트 223은 OTP 운용과 관련된 어플리케이션들의 식별 정보를 포함할 수 있다. 예컨대, OTP 운용 어플리케이션 리스트 223은 적어도 하나의 서버 장치 500 주소 정보 또는 식별 정보를 포함할 수 있다. 전자 장치 100은 서버 장치 500 접속 시, 접속되는 서버 장치 500의 주소 정보 또는 식별 정보 확인을 기반으로 OTP를 운용할지 여부를 결정할 수 있다. 또는 전자 장치 100은 OTP 운용 어플리케이션 리스트 223에 포함된 지정된 서버 장치 500과의 OTP 운용을 지원할 수도 있다. OTP 운용 어플리케이션 리스트 223에 포함되지 않는 서버 장치 500과의 특정 기능(예: 비용 지불 기능)이 실행되는 경우, 전자 장치 100은 해당 기능 실행을 억제할 수 있다. 상기 OTP 운용 어플리케이션 리스트 223은 사용자 입력 또는 외부로부터 수신된 제어 정보에 대응하여 갱신될 수 있다.
상술한 다양한 실시 예는 소프트웨어 토큰의 휴대성 및 사용성을 유지하면서도, 별도의 추가적인 비용(예: 개인 방화벽, 키보드 보안제품, 악성코드 탐지 프로그램 등의 설치를 위한 비용) 발생 없이 보다 안정적인 보안성(예: 휴대폰 복제를 통한 OTP 비밀키 유출 가능성, S/W reverse engineering을 통한 해킹, 키 관리)을 제공할 수 있다.
상술한 바와 같이, 다양한 실시 예에 따르면, 한 실시 예에 따른 전자 장치는 전자 장치 하우징, 상기 하우징 내에 위치한 메모리, 유저 인터페이스 및 상기 메모리 및 유저 인터페이스와 전기적으로 연결된 프로세서를 포함하고, 상기 메모리는, 실행 시에, 상기 프로세서가, 상기 메모리에 제 1 영역(예: 비보안 영역) 및 상기 제 1 영역보다 보안 수준이 높은 제 2 영역(예: 보안 영역)을 설정하고, 상기 전자장치의 외부로부터 제 1 정보(예: 토큰 정보)를 수신하여 적어도 일시적으로 상기 제 1 영역에 저장하고, 상기 제1 정보로부터 추출된 제2 정보(예: 시드 정보)를 상기 제2 영역 내에 저장하도록 하는 인스트럭션들(또는 명령어들)을 저장할 수 있다.
다양한 실시 예에 따르면, 상기 제1 정보는 토큰 정보를 포함할 수 있다.
다양한 실시 예에 따르면, 상기 제1 정보는 직접 데이터 방식을 기반으로 하는 토큰 정보를 포함할 수 있다.
다양한 실시 예에 따르면, 상기 제2 정보는, 상기 유저 인터페이스에 의하여 제공될 수 있는 제 3 정보(예: 보안 운용 정보)를 생성하기 위한 시드 정보를 포함할 수 있다.
다양한 실시 예에 따르면, 상기 제 3 정보는 일회성 암호 (One time password)를 포함할 수 있다.
다양한 실시 예에 따르면, 상기 인스트럭션은, 상기 프로세서가, 지정된 서버 장치 또는 지정된 어플리케이션과의 상기 제3 정보 처리를 지원하도록 설정된 보안 어플리케이션 리스트를 상기 제1 영역에 저장하도록 설정될 수 있다.
다양한 실시 예에 따르면, 상기 인스트럭션은, 상기 프로세서가, 상기 제1 영역 또는 상기 제2 영역 중 적어도 하나의 유효성 상태를 확인하도록 설정될 수 있다.
다양한 실시 예에 따르면, 상기 인스트럭션은, 상기 프로세서가, 상기 제1 영역 또는 상기 제2 영역 중 적어도 하나가 유효성이 없는 상태인 경우 상기 제3 정보의 처리를 하지 않도록 설정될 수 있다.
다양한 실시 예에 따르면, 상기 인스트럭션은, 상기 프로세서가, 상기 제2 정보를 복호화한 후 상기 제2 영역에 저장하도록 설정될 수 있다.
다양한 실시 예에 따르면, 상기 인스트럭션은, 상기 프로세서가, 암호화된 제2 정보를 상기 제2 영역에 저장하고, 상기 제 2정보 이용 요청 시 복호화하여 이용하도록 설정될 수 있다.
상기 메모리는 제1 메모리, 및 상기 제1 메모리와 분리된 제2 메모리를 포함하고, 상기 제1 영역은 상기 제1 메모리 내에 설정되고, 상기 제2 영역은 상기 제2 메모리 내에 설정될 수 있다.
다양한 실시 예에 따르면, 상기 인스트럭션은, 상기 프로세서가, 상기 제1 정보에서 적어도 상기 제2 정보를 제외한 제4 정보(예: 토큰 관련 정보)와 상기 제2 정보를 매핑한 정보를 상기 제1 영역에 저장하도록 설정될 수 있다.
상술한 바와 같이 다양한 실시 예에 따르면, 한 실시 예에 따른 전자 장치는 시드 정보가 추출된 토큰 관련 정보가 저장되는 비보안 영역, 지정된 보안 운용 정보 생성에 이용되는 상기 시드 정보를 저장하는 보안 영역, 상기 비보안 영역에서 획득된 토큰 정보에서 시드 정보를 추출하여 상기 보안 영역에 저장하도록 제어하는 프로세서를 포함할 수 있다.
도 5는 다양한 실시 예에 따른 보안 정보 저장과 관련한 전자 장치 운용 방법을 나타낸 도면이다.
도 5를 참조하면, 전자 장치 운용 방법에 있어서, 동작 501에서, 프로세서 120은 서버 장치 500에 토큰 정보를 요청할 수 있다. 이 동작에서 프로세서 120은 서버 장치 500이 요청하는 인증 과정(예: ID 및 Password 입력) 처리를 사용자 입력을 기반으로 수행할 수 있다. 토큰 정보 요청에 대응하여 동작 503에서 프로세서 120은 토큰 정보를 수신할 수 있다. 이와 관련하여, 프로세서 120은 관련한 기능을 실행할 수 있는 입력 세팅(예: OTP 어플리케이션 210 실행과 관련한 아이콘이나 메뉴 항목 출력)을 수행할 수 있다. 프로세서 120은 시드 정보 요청이 발생하면, 관련한 OTP 어플리케이션 210을 실행하고, 실행된 OTP 어플리케이션 210 기반으로 지정된 서버 장치 500에 접속할 수 있다. 프로세서 120은 해당 서버 장치 500에 시드 정보를 포함한 토큰 정보를 요청할 수 있다. 상술한 토큰 정보 요청 및 수신과 관련하여, OTP 어플리케이션 210은 OTP 프레임워크 230와의 연결을 확인한 뒤 해당 서버 장치 500으로부터 OTP 환경과 관련한 데이터(예: 상기 토큰 정보)를 수신할 수 있다.
동작 505에서, 프로세서 120은 수신된 토큰 정보에서 시드 정보를 추출할 수 있다. 예컨대, 프로세서 120은 비보안 영역 200에서 토큰 정보에 포함된 암호화된 시드 정보를 추출하고, 보안 영역 인터페이스 250을 통하여 보안 영역 300에 전달할 수 있다. 이 동작에서 프로세서 120은 시드 정보 이외의 다른 정보들 예컨대 토큰 관련 정보 221을 비보안 파일 시스템 220에 저장하도록 제어할 수 있다. 추가로, 프로세서 120은 저장된 토큰 관련 정보 221과 시드 정보의 매핑(예: 지정된 어플리케이션 실행을 위한 토큰 관련 정보 및 시드 정보임을 지시하는 정보 기입)을 수행할 수 있다.
동작 507에서, 프로세서 120은 보안 영역에서 시드 정보의 복호화를 수행할 수 있다. 프로세서 120은 비보안 영역 200에서 전달된 암호화된 시드 정보의 저장을 위하여 보안 영역 300에서 복호화를 수행할 수 있다. 여기서 프로세서 120은 전달받은 시드 정보의 데이터 유효성(예: 해킹이나 전자 장치 100의 루팅 가능성이 없음)을 검사할 수 있다. 프로세서 120은 OTP 보안 어플리케이션 310 운용을 제어하여 시드 정보의 복호화를 수행할 수 있다. 상술한 동작 509의 시드 정보의 복호화 과정은 생략될 수도 있다. 예컨대, 프로세서 120은 시드 정보의 별도의 복호화 동작을 수행하지 않을 수도 있다. 이 경우 동작 507은 생략될 수도 있다.
동작 509에서, 프로세서 120은 보안 영역에 시드 정보를 저장할 수 있다. 예컨대, OTP 어플리케이션 210은 시드 정보를 지정된 보안 파일 시스템 330에 저장할 수 있다. 저장 후, 프로세서 120은 시드 정보 저장과 관련한 메시지를 전달할 수 있다. 예컨대, 보안 영역 300은 시드 정보의 저장과 관련한 메시지를 비보안 영역 200에 전달할 수 있다. 저장 과정에서 프로세서 120은 시드 정보 저장을 위하여 보안 영역 300에 계정(account) 생성을 요구할 수 있다.
한편, 상술한 설명에서는 하나의 프로세서 120이 비보안 영역 200과 보안 영역 300을 구분하여 운용하는 형태로 설명하였으나, 다양한 실시 예들이 이에 한정되는 것은 아니다. 예컨대, 프로세서 120은 비보안 영역 200 운용과 관련한 프로세서 및 보안 영역 300 운용과 관련한 프로세서를 각각 포함하고, 각 프로세서들은 보안 영역 인터페이스를 통하여 시드 정보의 전달과, 저장 안내 등을 처리할 수 있다.
다양한 실시 예에 따르면, 보안 영역 300의 프로세서는 OTP와 관련하여 인가된 프로세스가 비보안 영역 200에서 전달되는지 확인하는 동작, 인가된 프로세스를 통해 암호화된 시드 정보를 수신하는 동작, 선택적으로 시드 정보의 복호화를 수행하는 동작 및 저장하는 동작을 수행할 수 있다.
다양한 실시 예에 따르면, 프로세서 120은 보안 영역 300에 복호된 시드 정보를 저장할 수 있다. 예를 들어, 프로세서 120은 시드 정보를 사용할 때마다 복호화가 가능한 경우 암호된 시드 정보를 저장할 수 있다. 또는 프로세서 120은 사용할 때마다 암호화가 가능한 경우 복호된 시드 정보를 저장할 수 있다. 다양한 실시 예에 따르면, 프로세서 120은 OTP 어플리케이션 210 실행 시 서버 장치 500을 통해 인증을 받고 OTP 어플리케이션 210이 인증된 상태에서 기능 실행 가능하도록 지원할 수 있다.
도 6은 다양한 실시 예에 따른 보안 정보 저장과 관련한 신호 흐름을 나타낸 도면이다.
도 6을 참조하면, 전자 장치 100의 비보안 영역 200에 배치된 OTP 어플리케이션 210은 동작 601에서 어플리케이션 인증 및 서버 장치 500에 토큰 정보를 요청할 수 있다. 이 동작에서 OTP 어플리케이션 210은 예컨대 지정된 사용자 ID 정보 및 패스워드 정보 입력 동작을 수행하도록 지원할 수 있다. 서버 장치 500은 OTP 어플리케이션 210 및 전자 장치 100에 대응되는 토큰 정보를 생성할 수 있다. 동작 603에서, 서버 장치 500은 OTP 어플리케이션 210에 생성된 토큰 정보를 전송할 수 있다. OTP 어플리케이션 210은 토큰 정보를 OTP 프레임워크 230에 전달할 수 있다.
동작 607에서, 상기 OTP 프레임워크 230은 OTP 어플리케이션 210이 전달한 토큰 정보에 대한 파싱 작업(또는 추출 작업)을 수행할 수 있다. 동작 609에서 상기 OTP 프레임워크 230은 암호화된 시드 정보(Encrypted seed key)를 추출할 수 있다. 동작 611에서, OTP 프레임워크 230은 암호화된 시드 정보(Encrypted seed key)를 보안 영역 인터페이스 250을 통하여 OTP 보안 어플리케이션 310(OTP secure application)에 전달할 수 있다.
동작 613에서, OTP 보안 어플리케이션 310은 암호화된 시드 정보에 대한 복호화를 수행하여 시드 정보(seed key decryption)를 생성할 수 있다. 동작 615에서, OTP 보안 어플리케이션 310은 시드 정보(seed key decryption)를 보안 파일 시스템(secure file system)에 저장할 수 있다.
도 7은 다양한 실시 예에 따른 보안 정보 생성과 관련한 전자 장치 운용 방법을 나타낸 도면이다.
도 7을 참조하면, 보안 정보 생성과 관련한 전자 장치 운용 방법에 있어서, 전자 장치 100의 프로세서 120은 동작 701에서, 비보안 영역 200에서 OTP 생성 요청을 수신할 수 있다. 이와 관련하여, 프로세서 120은 OTP 어플리케이션 210 실행과 관련한 아이콘이나 메뉴 아이템의 출력을 제어할 수 있다. 또는 프로세서 120은 외부 입력(예: NFC 태깅 또는 OTP 운용과 관련한 근거리 통신 채널 형성)에 의한 OTP 어플리케이션 210 실행 요청을 수신할 수 있다.
OTP 어플리케이션 210이 OTP 생성 요청을 수신하면, 동작 703에서 프로세서 120은 OTP 프레임워크 230을 통해 보안 영역 인터페이스 250을 거쳐 OTP 보안영역 300에 OTP 생성을 요청할 수 있다. 동작 703에서, 도시하지 않았으나, 프로세서 120은 OTP 프레임 워크 230에서 OTP 생성 요청 명령어 또는 OTP 어플리케이션 210 에 대한 유효성을 검사한 후 보안 영역 인터페이스 250을 거쳐 OTP 보안영역 300에 OTP 생성을 요청할 수 있다.
OTP 생성 요청이 수신되면, 동작 705에서 프로세서 120은 전자 장치 100의 유효성을 검사할 수 있다. 예컨대, 프로세서 120은 보안 영역 300에 배치된 보안 확인 모듈 320을 이용하여 전자 장치 100이 무결성(예: 루팅 등의 해킹이 아닌 상태)이 유지되는지 확인할 수 있다. 프로세서 120은 무결성이 유지되지 않는 경우, 동작 707에서 에러 출력을 수행할 수 있다. 예컨대, 프로세서 120은 전자 장치 100이 루팅 되었거나 해킹된 상태임을 지시하는 정보 출력을 제어할 수 있다.
유효성을 가지는 경우(예: 전자 장치 100의 무결성이 유지되는 경우), 동작 709에서, 프로세서 120은 OTP 보안 어플리케이션 310에 OTP 생성 요청을 전달할 수 있다.
동작 711에서, 프로세서 120은 OTP 보안 어플리케이션 310에서 시드 정보를 기반으로 OTP 생성을 처리할 수 있다. 이와 관련하여, 프로세서 120은 보안 영역 300 중 보안 파일 시스템 330에 저장된 시드 정보를 읽어오고, 읽어온 시드 정보와 적용되는 OTP 알고리즘을 토대로 OTP를 생성할 수 있다.
동작 713에서, 프로세서 120은 생성된 OTP를 비보안 영역 200에 전달할 수 있다. 예를 들어, 프로세서 120은 보안 영역 인터페이스 250을 통하여 생성된 OTP를 비보안 영역 200의 OTP 어플리케이션 210에 전달할 수 있다. 동작 715에서, 프로세서 120은 OTP 어플리케이션 210의 운용을 제어하여, OTP를 지정된 서버 장치 500에 전송하도록 제어할 수 있다.
상술한 바와 같이, 다양한 실시 예에 따르면, 한 실시 예에 따른 전자 장치 운용 방법은 비보안 영역 200에서의 OTP 생성 요청을 보안 영역 300에 전송하는 동작, 전자 장치 100의 보안 영역에 저장된 시드 정보를 기반으로 OTP를 생성하는 동작, 생성된 OTP를 비보안 영역 200에 전달하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 전자 장치 100은 사용자의 지정된 핀(Pin) 정보를 입력 받는 동작을 더 포함할 수 있다. 또한 상기 전자 장치 100은 인가된 프로세스를 통하여 사용자의 핀 정보(예: 서버 장치 500이 지정된 정보를 전자 장치 100에 전송하고, 사용자가 전자 장치 100에서 출력된 정보를 확인하여 수동으로 입력하는 프로세스)를 보안 영역이 수신할 수 있다.
또한, 상기 전자 장치 100은 저장된 시드 정보와 상기 사용자 핀 정보를 OTP 생성의 인자(factor 또는 parameter)로 적용하여 OTP를 생성할 수 있다.
한편, 상술한 설명에서는 프로세서 120은 비보안 영역 200과 보안 영역 300을 함께 운용하는 형태로 설명하였으나, 다양한 실시 예에서 언급되는 프로세서 120은 비보안 영역 200과 관련한 비보안 프로세서와, 보안 영역 300과 관련한 보안 프로세서를 각각 포함할 수 있다.
도 8은 다양한 실시 예에 따른 보안 정보 생성과 관련한 신호 흐름의 한 예를 나타낸 도면이다.
도 8을 참조하면, 보안 정보 생성과 관련하여, 동작 801에서, 전자 장치 100의 OTP 어플리케이션 210은 OTP 생성 요청을 OTP 프레임워크 230에 전달할 수 있다. 이와 관련하여, OTP 어플리케이션 210은 어플리케이션 OTP 정보 획득 요청 또는 지정된 루틴 실행(예: 서버 장치 500의 OTP 제공 요청 수신)에 대응하여 OTP 생성 요청을 OTP 프레임워크 230에 전달할 수 있다.
동작 803에서, OTP 프레임워크 230은 유효성 체크를 수행할 수 있다. 예컨대, OTP 프레임워크 230은 상기 OTP 생성 요청의 유효성을 확인하거나 상기 OTP 어플리케이션 210이 이상이 없는지 패키지(package) 또는 서명(signature)의 유효성을 확인하여 이상이 없는 경우 상기 OTP 생성 요청을 OTP 보안 어플리케이션 310에 전달할 수 있다.
유효성 체크를 하는 동작에서, 유효성이 유지된 것으로 판단되면, 동작 805에서, OTP 프레임워크 230은 OTP 생성 요청을 OTP 보안 어플리케이션 310에 전달할 수 있다. 이 동작에서, OTP 프레임워크 230은 보안 영역 인터페이스 250을 통하여 OTP 생성 요청을 OTP 보안 어플리케이션 310에 전달할 수 있다. 여기서, OTP 생성 요청과 관련한 메시지 내에 토큰 관련 정보 221 중 적어도 일부가 포함될 수 있다. 동작 805에서, 도시하지 않았으나, 보안 영역 300에서는 전자 장치 100이 무결성(예: 루팅 등의 해킹이 아닌 상태)이 유지되는지 확인할 수 있다. 유효성을 가지는 경우(예: 전자 장치 100의 무결성이 유지되는 경우), OTP 보안 어플리케이션 310에 OTP 생성 요청을 전달할 수 있다.
동작 807에서, OTP 보안 어플리케이션 310은 시드 정보 획득을 수행할 수 있다. 예컨대, OTP 보안 어플리케이션 310은 보안 파일 시스템 330의 지정된 영역을 검사하여 시드 정보를 검출할 수 있다. 이 동작에서 OTP 보안 어플리케이션 310은 OTP 프레임워크 230으로부터 수신한 토큰 관련 정보 221을 토대로 관련한 시드 정보를 보안 파일 시스템 330에서 읽어올 수 있다. 동작 809에서, OTP 보안 어플리케이션 310은 읽어온 시드 정보 및 관련 OTP 생성 알고리즘을 이용하여 OTP를 생성할 수 있다. 동작 811에서, OTP 보안 어플리케이션 310은 생성된 OTP를 보안 영역 인터페이스 250을 통하여 OTP 프레임워크 230에 전달할 수 있다.
동작 813에서, OTP 프레임워크 230은 OTP 보안 어플리케이션 310으로부터 수신된 OTP를 OTP 어플리케이션 210에 전달할 수 있다. 동작 815에서 OTP 어플리케이션 210은 OTP 프레임워크 230으로부터 수신한 OTP를 서버 장치 500에 전송할 수 있다.
도 9는 다양한 실시 예에 따른 보안 정보 생성과 관련한 신호 흐름의 다른 한 예를 나타낸 도면이다.
도 9를 참조하면, 동작 901에서, 전자 장치 100의 OTP 어플리케이션 210은 OTP 생성이 요청되면, 사용자 핀 입력을 받을 수 있는 프로세스를 수행하고, 해당 프로세스 수행에 대응하여 사용자 핀 입력(User Pin input)을 수신할 수 있다. 이와 관련하여, OTP 어플리케이션 210은 사용자 핀 입력을 위한 프로세스를 처리할 수 있다. 예컨대, OTP 어플리케이션 210은 서버 장치 500으로부터 입력할 사용자 핀 정보를 수신하여 출력할 수 있다. 또는 OTP 어플리케이션 210은 지정된 알고리즘에 의해 제공되는 사용자 핀 입력을 요청할 수도 있다. OTP 어플리케이션 210은 지정된 사용자 핀 입력이 수행되지 않는 경우 OTP 생성 요청을 수행하지 않고 지정된 에러 정보를 출력할 수도 있다.
사용자 핀 입력을 수신하면, 동작 903에서, OTP 어플리케이션 210은 수신된 사용자 핀 입력 정보를 포함하는 OTP 생성 요청 메시지를 OTP 프레임워크 230에 전달할 수 있다. 동작 905에서, OTP 프레임워크 230은 유효성 체크를 수행할 수 있다. 유효성이 유지되는 것으로 판단되면, 동작 907에서, OTP 프레임워크 230은 사용자 핀 입력 정보가 포함된 OTP 생성 요청 메시지를 보안 영역 인터페이스 250을 통하여 OTP 보안 어플리케이션 310에 전달할 수 있다.
OTP 생성 요청 메시지 수신에 대응하여, 동작 909에서, OTP 보안 어플리케이션 310은 수신된 OTP 생성 요청 메시지를 참조하여 보안 파일 시스템 330에서 시드 정보를 획득할 수 있다. 동작 911에서, OTP 보안 어플리케이션 310은 획득된 시드 정보 및 OTP 생성 요청 메시지에 포함된 사용자 핀 입력 정보를 기반으로 OTP를 생성할 수 있다. 동작 913에서, OTP 보안 어플리케이션 310은 생성된 OTP를 보안 영역 인터페이스 250을 통하여 OTP 프레임워크 230에 전달할 수 있다.
동작 915에서, OTP 프레임워크 230은 수신된 OTP를 OTP 어플리케이션 210에 전달할 수 있다. 동작 917에서, OTP 어플리케이션 210은 수신된 OTP를 서버 장치 500에 전송할 수 있다.
도 10은 다양한 실시 예에 따른 리스트 운용과 관련한 전자 장치 운용 방법을 나타낸 도면이다.
도 10을 참조하면, 리스트 운용과 관련한 전자 장치 운용 방법에 있어서, 동작 1001에서, 전자 장치 100의 프로세서 120은 어플리케이션 실행을 수행할 수 있다. 이와 관련하여, 프로세서 120은 OTP 운용과 관련한 적어도 하나의 어플리케이션에 대응하는 아이콘이나 메뉴 항목을 디스플레이 160 등에 출력할 수 있다.
이벤트가 발생하면, 동작 1003에서, 프로세서 120은 OTP 생성 요청과 관련한 이벤트가 발생한 것인지 확인할 수 있다. OTP 생성 요청과 관련이 없는 이벤트가 발생한 경우, 동작 1005에서, 프로세서 120은 발생된 이벤트 종류에 따른 기능 처리를 제어할 수 있다.
OTP 생성 요청과 관련한 이벤트가 발생한 경우, 동작 1007에서, 프로세서 120은 비보안 파일 시스템 220에 저장된 OTP 운용 어플리케이션 리스트 223에 관련 어플리케이션 항목이 존재하는지 확인할 수 있다. 상기 OTP 운용 어플리케이션 리스트 223은 전자 장치 100 사용자에 의해 생성되거나 또는 지정된 서버 장치로부터 수신될 수 있다. 또한, 사용자 또는 지정된 서버 장치에 의해 OTP 운용 어플리케이션 리스트 223은 갱신될 수 있다.
OTP 운용 어플리케이션 리스트 223에 OTP 생성 요청한 어플리케이션 항목이 포함된 경우, 동작 1009에서 프로세서 120은 자동 OTP 생성 및 운용을 수행할 수 있다. 예컨대, 프로세서 120은 OTP 어플리케이션 210의 운용을 제어하여 OTP 프레임워크 230 와의 연결을 확인한 뒤, 프로세서 120은 OTP를 생성하도록 토큰 식별 정보(예: 여러 개의 토큰들 중에 필요로 하는 토큰의 구분을 위하여 이용되는 토큰 ID)를 인자로 하는 OTP 생성 명령을 할 수 있다.
이 동작에서 프로세서 120은 OTP 프레임워크 230 운용에 따라 유효성을 체크한 후 보안 영역 300의 OTP 보안 어플리케이션 310에 OTP 생성 명령어를 전달할 수 있다. OTP 보안 어플리케이션 310은 OTP 생성 알고리즘에 따라 필요한 경우 핀(Pin) 또는 챌린지(challenge)를 입력하도록 요구할 수 있다. 다양한 실시 예에 따르면, 프로세서 120은 OTP 어플리케이션 210 운용과 관련한 핀 또는 챌린지 입력을 요구할 수도 있다. 프로세서 120은 OTP 보안 어플리케이션 310 운용과 관련하여 저장된 시드 정보를 토대로 OTP를 생성하고, 이를 OTP 어플리케이션 210에 리턴할 수 있다.
동작 1007에서 OTP 운용 어플리케이션 리스트 223에 상기 어플리케이션 항목이 없는 경우 동작 1011에서, 프로세서 120은 OTP 어플리케이션 210의 수동 처리 또는 OTP 운용을 거절할 수 있다. 한 실시 예에 따르면, 프로세서 120은 OTP 어플리케이션 210 운용과 관련하여 복수의 토큰 관련 정보들을 표시하여 사용자가 선택할 수 있도록 지원할 수 있다. 또는 프로세서 120은 OTP 어플리케이션 210 운용과 관련하여 복수의 OTP들을 표시하여 사용자가 선택할 수 있도록 지원할 수 있다.
다양한 실시 예에 따르면, 프로세서 120은 OTP 어플리케이션 210 운용과 관련하여 지정된 계정 정보와 비밀번호 입력을 요구하는 프로세스를 진행하고, 올바른 정보 입력이 수행되면 OTP 생성 절차를 진행할 수 있다. 다양한 실시 예에 따르면, 프로세서 120은 OTP 어플리케이션 210 운용과 관련하여 별도의 OTP 생성 절차를 진행하지 않고 지정된 에러 정보를 출력할 수 있다. 예컨대, 프로세서 120은 OTP 운용 어플리케이션 리스트 223에 포함되지 않은 어플리케이션으로서 OTP 생성을 진행하지 않음을 안내하는 정보를 출력하도록 제어할 수 있다. 또한, 프로세서 120은 OTP 운용 어플리케이션 리스트 223에 해당 어플리케이션 항목을 우선 포함한 후 OTP 생성을 진행하도록 안내하는 정보를 출력하도록 제어할 수 있다.
동작 1013에서, 프로세서 120은 기능 종료와 관련한 이벤트 발생이 있는지 확인할 수 있다. 프로세서 120은 기능 종료 관련 이벤트 발생이 없으면, 동작 1003 이전(또는 동작 1001 이전)으로 분기하여 이하 동작을 재수행할 수 있다. 프로세서 120은 기능 종료 관련 이벤트 발생 시 OTP 어플리케이션 210 실행을 종료할 수 있다. 프로세서 120은 OTP 어플리케이션 210 실행 이전 상태 또는 사용자 입력에 따른 지정된 기능 처리를 제어할 수 있다.
상술한 바와 같이, 다양한 실시 예에 따르면, 한 실시 예에 따른 전자 장치 운용 방법은 전자 장치의 제1 영역(예: 비보안 영역)에서 제1 정보(예: 토큰 정보)를 수신하는 동작, 상기 전자 장치의 제1 영역에서 상기 제1 정보에 포함된 제2 정보(예: 시드 정보)를 추출하는 동작, 상기 제2 정보를 상기 제1 영역보다 보안 수준이 높은 상기 전자 장치의 제2 영역(예: 보안 영역)에 저장하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 제1 정보는 토큰 정보를 포함할 수 있다.
다양한 실시 예에 따르면, 상기 제1 정보는 직접 데이터 방식을 기반으로 하는 토큰 정보를 포함할 수 있다.
다양한 실시 예에 따르면, 상기 제2 정보는, 보안 기능 운용과 관련한 제3 정보(예: 보안 운용 정보)를 생성하기 위한 시드 정보를 포함할 수 있다.
다양한 실시 예에 따르면, 상기 제3 정보는 일회성 암호 (One time password)를 포함할 수 있다.
다양한 실시 예에 따르면, 상기 방법은 상기 제1 정보에서 적어도 상기 제2 정보를 제외한 제4 정보(예: 토큰 관련 정보)와 상기 제2 정보를 매핑한 정보를 상기 제1 영역에 저장하는 동작을 더 포함할 수 있다.
상술한 바와 같이, 다양한 실시 예에 따르면, 한 실시 예에 따른 전자 장치 운용 방법은 전자 장치의 비보안 영역에서 토큰 정보를 수신하는 동작, 상기 전자 장치의 비보안 영역에서 상기 토큰 정보에서 시드 정보를 추출하는 동작, 상기 시드 정보를 상기 전자 장치의 보안 영역에 저장하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 방법은 지정된 서버 장치 또는 지정된 어플리케이션과의 보안 운용 정보 처리를 지원하도록 설정된 보안 어플리케이션 리스트를 상기 비보안 영역에 저장하는 동작을 더 포함할 수 있다.
다양한 실시 예에 따르면, 상기 방법은 상기 보안 어플리케이션 리스트에 포함된 어플리케이션 실행 시 상기 보안 운용 정보를 자동으로 생성하는 동작, 상기 보안 어플리케이션 리스트에 포함되지 어플리케이션 실행 시 상기 보안 운용 정보 생성을 거절하는 동작 중 어느 하나의 동작을 더 포함할 수 있다.
다양한 실시 예에 따르면, 상기 방법은 상기 비보안 영역 또는 상기 보안 영역 중 적어도 하나의 유효성 상태를 확인하는 동작, 상기 비보안 영역 또는 상기 보안 영역 중 적어도 하나가 유효성이 없는 상태인 경우 상기 보안 운용 정보의 처리를 중지하는 동작을 더 포함할 수 있다.
다양한 실시 예에 따르면, 상기 저장하는 동작은 상기 시드 정보를 복호화한 후 상기 보안 영역에 저장하는 동작, 암호화된 시드 정보를 상기 보안 영역에 저장하는 동작 중 어느 하나의 동작을 더 포함할 수 있다.
다양한 실시 예에 따르면, 상기 방법은 상기 비보안 영역에서의 보안 운용 정보 생성 요청을 수신하는 동작, 상기 시드 정보를 기반으로 상기 보안 운용 정보를 생성하는 동작, 상기 보안 운용 정보를 상기 비보안 영역에 전달하는 동작을 더 포함할 수 있다.
다양한 실시 예에 따르면, 상기 생성하는 동작은 요청된 보안 운용 정보의 종류에 따라 시간 기반 보안 운용 정보를 생성하는 동작, 요청된 보안 운용 정보의 종류에 따라 이벤트 기반 보안 운용 정보를 생성하는 동작 중 적어도 하나의 동작을 포함할 수 있다.
도 11은 다양한 실시 예에 따른 보안 정보 저장과 관련한 화면 인터페이스의 한 예를 나타낸 도면이다.
도 11을 참조하면, 전자 장치 100은 사용자 입력에 따라 또는 관련 이벤트 발생에 대응하여 1101 화면에서와 같이 OTP 정보 1110을 출력할 수 있다. 표시된 OTP 정보 1110은 예컨대, TOTP 알고리즘 관련 OTP 정보 1110일 수 있다. 한 실시 예에 따르면, OTP 정보 1110이 시간 기반 OTP 정보인 경우 OTP 정보 1110는 시간 경과를 안내하는 이미지(해당 객체의 우측에 배치된 링 이미지)를 포함할 수 있다.
다양한 실시 예에 따르면, 전자 장치 100은 복수개의 토큰 정보를 적어도 하나의 서버 장치로부터 획득하고, 해당 토큰 정보들로부터 시드 정보들을 추출할 수 있다. 전자 장치 100은 추출된 시드 정보를 보안 영역 300에 저장하고, 사용자 요청에 따라 또는 OTP 어플리케이션 210 요청에 대응하여 OTP 정보를 생성할 수 있다. 이에 대응하여, 전자 장치 100은 생성된 OTP 정보들 1111, 1120, 1130, 1140을 디스플레이 160에 출력할 수 있다.
한 실시 예에 따르면, 전자 장치 100은 1101 화면에서도 설명한 바와 같이, 시간 기반 제1 OTP 정보 1111을 출력할 수 있다. 다양한 실시 예에 따르면, 전자 장치 100은 다른 서버 장치 또는 동일한 서버 장치의 다른 종류의 토큰 정보를 토대로 생성된 제2 OTP 정보 1120을 출력할 수 있다. 전자 장치 100은 제2 OTP 정보 1120 생성과 관련한 시드 정보를 보안 영역 300에 저장하고 운용할 수 있다. 상기 제1 OTP 정보 1111 또는 제2 OTP 정보 1120은 시간 경과에 대응하여 또는 지정된 시간 단위로 정보가 변경될 수 있다.
또한, 다양한 실시 예에 따르면, 전자 장치 100은 이벤트 정보 기반의 제3 OTP 정보 1130을 출력할 수 있다. 이와 관련하여, 전자 장치 100은 이벤트 정보 기반의 제3 OTP 정보 1130 생성과 관련한 알고리즘 및 제3 OTP 정보 1130 생성과 관련한 시드 정보를 보안 영역 300에 저장하고 운용할 수 있다. 제3 OTP 정보 1130은 해당 어플리케이션을 실행하거나 지정된 객체를 선택하는 이벤트 발생 시 생성된 OTP 정보일 수 있다.
다양한 실시 예에 따르면, 전자 장치 100은 직접 입력 기반(예: OCRA 방식)의 제4 OTP 정보 1140을 출력할 수 있다. 이와 관련하여, 전자 장치 100은 서버 장치 500에 직접 입력할 정보를 요청하는 OTP 어플리케이션 210 을 포함하고, 해당 OTP 어플리케이션 210 실행 요청 시 서버 장치 500에 직접 입력할 정보를 요청할 수 있다. 서버 장치 500으로부터 직접 입력할 정보를 수신하면, 전자 장치 100은 수신된 정보를 팝업 등으로 출력할 수 있다. 전자 장치 100은 팝업 출력 시, 직접 입력을 위한 가상 키패드를 자동으로 출력할 수 있다.
도 12는 다양한 실시 예에 따른 보안 정보 생성 운용과 관련한 화면 인터페이스의 한 예를 나타낸 도면이다.
도 12를 참조하면, OTP 어플리케이션 210의 실행에 대응하여, 전자 장치 100은 1201 화면에서와 같이 사용자 인터페이스를 제공할 수 있다. 전자 장치 100은 OTP 입력 요청 영역(예를 들면, 팝업창) 1210 및 정보 입력을 위한 가상 키 패드를 출력할 수 있다. 가상 키 패드는 숫자 또는 문자 등을 입력할 수 있도록 해당 키에 대응하는 가상키를 포함할 수 있다. 한 실시 예에 따르면, 상기 가상 키 패드는 OTP 생성을 직접적으로 요청할 수 있는 OTP 생성 요청키 1211을 포함할 수 있다.
상기 OTP 생성 요청키 1211이 선택되는 경우(또는 서버 장치 항목 1230이 선택되어 있는지 확인하고, 서버 장치 항목 1230이 선택되어 있지 않으면) 1203 화면에서와 같이 전자 장치 100은 연결할 서버 장치 항목 1230을 출력할 수 있다. 서버 장치 항목 1230은 상기 OTP 어플리케이션 210과 관련된 서버 장치 주소 정보 또는 서버 장치 연결 정보와 연결될 수 있다. 상기 서버 장치 항목 1230은 OTP 운용 어플리케이션 리스트 223에 포함된 항목일 수 있다.
상기 서버 장치 항목 1230을 선택하는 입력 이벤트가 발생하면, 전자 장치 100은 상기 서버 장치 항목 1230을 통해 선택된 서버장치와 연결하여 OTP를 생성하기 위한 처리(예를 들어, 동작 601 내지 동작 615)를 할 수 있다. 상기 OTP를 생성하기 위한 처리가 완료되면 OTP를 생성 하며(동작 801 내지 815) 1205 화면에서와 같이 생성된 OTP가 자동으로 입력된 OTP 자동 입력 영역 1212를 표시하여 사용자가 OTP를 따로 입력하지 않고 OTP 인증을 수행하도록 할 수 있다. 도 13은 다양한 실시 예에 따른 보안 정보 생성 운용과 관련한 화면 인터페이스의 다른 한 예를 나타낸 도면이다.
도 13을 참조하면, 전자 장치 100은 지정된 서버 장치로의 접속과 관련한 OTP 정보를 이용할 수 있다. 이와 관련하여, 전자 장치 100은 지정된 서버 장치에 접속할 수 있는 아이콘이나 메뉴 항목을 표시할 수 있다. 전자 장치 100은 해당 아이콘이나 메뉴 항목 선택 시, 1301 화면에서와 같이 서버 장치 접속 요청 화면을 출력할 수 있다. 상기 서버 장치 접속 요청 화면은 보안 사이트 접속에 관한 화면으로서 지정된 서버 장치로부터 수신된 화면일 수도 있다. 사용자 정보(예: User name) 및 비밀번호(Password) 입력 및 프로파일 정보(VPN Profile) 입력 이후 연결”connect” 항목이 선택되면, 전자 장치 100은 1303 화면에서와 같이 해당 서버 장치 접속을 위한 절차를 진행할 수 있다. 절차 진행에 따라, 전자 장치 100은 서버 장치로부터 연결 상태(connection stats) 등을 출력할 수 있다.
서버 장치와의 연결과 관련하여, 서버 장치는 전자 장치 100에 지정된 OTP 입력을 요청할 수 있다. 이와 관련하여, 전자 장치 100은 서버 장치 500의 OTP 입력 요청 화면을 1305 화면에서와 같이 출력할 수 있다. 한 실시 예에 따르면, 전자 장치 100은 OTP 정보 입력 영역 1312를 출력할 수 있다. 이와 함께, 전자 장치 100은 OTP 정보 입력을 위한 가상 키 패드를 출력할 수 있다. 가상 키 패드는 앞서 설명한 바와 같이 OTP 생성을 위한 OTP 생성 요청키 1311을 포함할 수 있다. 상기 OTP 생성 요청키 1311이 선택되면, 전자 장치 100은 현재 실행되고 있는 어플리케이션 또는 서버 장치와 관련한 토큰 관련 정보, 시드 정보를 기반으로 OTP를 생성할 수 있다. 전자 장치 100은 생성된 OTP 정보를 자동으로 OTP 정보 입력 영역 1312에 입력할 수 있다. 이에 따라, 전자 장치 100은 가상 키 패드에 포함된 OTP 생성 요청키 1311 선택 시 즉각적으로 OTP 정보 입력을 처리할 수 있다.
입력된 OTP 정보가 유효한 경우 서버 장치는 전자 장치 100의 보안 접속을 허용하고 그에 대응하는 화면을 전자 장치 100에 제공할 수 있다. 이에 따라, 전자 장치 100은 1307 화면에서와 같이 서버 장치 접속 화면을 출력할 수 있다. 상기 1307 화면은 예컨대 접속 상태 영역 1370을 출력하여 현재 서버 장치에 접속된 상태임을 나타낼 수 있다. 추가적으로, 상기 전자 장치 100은 접속 종료를 위한 가상 키 버튼(예: Disconnect)을 출력할 수 있다.
상술한 바와 같이, 다양한 실시 예에 따르면, 한 실시 예에 따른 전자 장치 및 이의 운용 방법은 하드웨어 방식의 토큰의 장점과 소프트웨어 방식의 토큰 장점을 취하여 하드웨어 토큰 수준의 보안성을 확보하고 휴대성이 확장될 수 있다. 또한, 사업자 입장에서도 상대적으로 더 저렴한 비용으로 안정한 서비스를 제공할 수 있다. 예컨대, 은행 및 OTP 사업자들은 종래 하드웨어 토큰 운용에 소요되는 발급, 유지보수 비용을 저감할 수 있다.
다양한 실시 예에 따르면, 본 발명의 실시 예들은 장치 로그인에 활용할 수 있다. 또한, 전자 장치 100은 본 발명의 OTP 정보 운용을 패턴이나 핀 등과 더불어 이중 인자 인증 요소로 사용할 수 있다. 또한, 다양한 실시 예에 따르면, 분실된 전자 장치의 OTP 인증 제어를 억제하여 분실 전자 장치를 이용하여 추가적인 비용 결제 등의 사례를 방지할 수 있다.
또한, 본 발명의 실시 예들은 모바일 지불 방식과 연동하여 보다 안정된 사용자 인증을 제공하며, 특정 기능 처리 환경(예: 보안 실행 환경)에서 설정된 비밀번호 이외에 OTP 정보를 이중 인자로 사용할 수 있다. 이러한 다양한 실시 예들은 온라인 카드결제 시 인증수단으로 사용가능하며, 공인인증서, 간편결재 ID 등의 수단 이외에 OTP를 활용한 인증 서비스를 제공할 수 있다. 또한, 다양한 실시 예들은 보안 접속과 관련한 VPN 어플리케이션 사용을 지원할 수 있다.
상술한 바와 같이, 다양한 실시 예에 따르면, 한 실시 예에 따른 전자 장치는 보안 운용 정보를 운용하는 비보안 영역, 상기 보안 운용 정보 생성에 필요한 시드 정보를 저장하는 보안 영역, 상기 비보안 영역의 요청에 대응하여 상기 시드 정보를 기반으로 상기 보안 운용 정보를 생성하여 상기 비보안 영역에 전달하도록 제어하는 프로세서를 포함할 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는 요청된 보안 운용 정보의 종류에 따라 시간 기반 보안 운용 정보를 생성하거나, 요청된 보안 운용 정보의 종류에 따라 이벤트 기반 보안 운용 정보를 생성하여 출력할 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는 지정된 서버 장치 또는 지정된 어플리케이션과의 보안 운용 정보 처리를 지원하도록 설정된 보안 어플리케이션 리스트를 상기 비보안 영역에 저장하도록 제어할 수 있다.
상기 프로세서는 상기 보안 어플리케이션 리스트에 포함된 어플리케이션 실행 시 상기 보안 운용 정보를 자동으로 생성하고, 상기 보안 어플리케이션 리스트에 포함되지 어플리케이션 실행 시 상기 보안 운용 정보 생성을 거절할 수 있다.
도 14는 다양한 실시 예에 따른 전자 장치의 다른 한 실시 예를 나타낸 도면이다.
도 14를 참조하면, 상기 전자 장치 1401은, 예를 들면, 도 1에 도시된 전자 장치 100의 전체 또는 일부를 포함할 수 있다. 상기 전자 장치 1401은 하나 이상의 어플리케이션 프로세서(AP) 1410, 통신 모듈 1420, SIM(subscriber identification module) 카드 1424, 메모리 1430, 센서 모듈 1440, 입력 장치 1450, 디스플레이 1460, 인터페이스 1470, 오디오 모듈 1480, 카메라 모듈 1491, 전력 관리 모듈 1495, 배터리 1496, 인디케이터 1497, 및 모터 1498을 포함할 수 있다.
상기 AP 1410은, 예를 들면, 운영 체제 또는 응용 프로그램을 구동하여 상기 AP 1410에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 상기 AP 1410은, 예를 들면, SoC(system on chip)로 구현될 수 있다. 한 실시 예에 따르면, 상기 AP 1410은 GPU(graphic processing unit) 및/또는 이미지 신호 프로세서(image signal processor)를 더 포함할 수 있다. 상기 AP 1410은 도 14에 도시된 구성요소들 중 적어도 일부(예: 셀룰러 모듈 1421)를 포함할 수도 있다. 상기 AP 1410은 다른 구성요소들(예: 비휘발성 메모리) 중 적어도 하나로부터 수신된 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리하고, 다양한 데이터를 비휘발성 메모리에 저장(store)할 수 있다.
상기 통신 모듈 1420은, 도 1의 상기 통신 인터페이스 170과 동일 또는 유사한 구성을 가질 수 있다. 상기 통신 모듈 1420은, 예를 들면, 셀룰러 모듈 1421, Wi-Fi 모듈 1423, BT 모듈 1425, GPS 모듈 1427, NFC 모듈 1428 및 RF(radio frequency) 모듈 1429를 포함할 수 있다.
상기 셀룰러 모듈 1421은, 예를 들면, 통신망을 통해서 음성 통화, 영상 통화, 문자 서비스, 또는 인터넷 서비스 등을 제공할 수 있다. 한 실시 예에 따르면, 상기 셀룰러 모듈 1421은 가입자 식별 모듈(예: SIM 카드 1424)을 이용하여 통신 네트워크 내에서 전자 장치 1401의 구별 및 인증을 수행할 수 있다. 한 실시 예에 따르면, 상기 셀룰러 모듈 1421은 상기 AP 1410이 제공할 수 있는 기능 중 적어도 일부 기능을 수행할 수 있다. 한 실시 예에 따르면, 상기 셀룰러 모듈 1421은 커뮤니케이션 프로세서(CP)를 포함할 수 있다.
상기 Wi-Fi 모듈 1423, 상기 BT 모듈 1425, 상기 GPS 모듈 1427 또는 상기 NFC 모듈 1428 각각은, 예를 들면, 해당하는 모듈을 통해서 송수신되는 데이터를 처리하기 위한 프로세서를 포함할 수 있다. 어떤 실시 예에 따르면, 셀룰러 모듈 1421, Wi-Fi 모듈 1423, BT 모듈 1425, GPS 모듈 1427 또는 NFC 모듈 1428 중 적어도 일부(예: 두 개 이상)는 하나의 IC(integrated chip) 또는 IC 패키지 내에 포함될 수 있다.
상기 RF 모듈 1429는, 예를 들면, 통신 신호(예: RF 신호)를 송수신할 수 있다. 상기 RF 모듈 1429는, 예를 들면, 트랜시버(transceiver), PAM(power amp module), 주파수 필터(frequency filter), LNA(low noise amplifier), 또는 안테나 등을 포함할 수 있다. 다른 실시 예에 따르면, 셀룰러 모듈 1421, Wi-Fi 모듈 1423, BT 모듈 1425, GPS 모듈 1427 또는 NFC 모듈 1428 중 적어도 하나는 별개의 RF 모듈을 통하여 RF 신호를 송수신할 수 있다.
상기 SIM 카드 1424는, 예를 들면, 가입자 식별 모듈을 포함하는 카드 및/또는 내장 SIM(embedded SIM)을 포함할 수 있으며, 고유한 식별 정보(예: ICCID (integrated circuit card identifier)) 또는 가입자 정보(예: IMSI (international mobile subscriber identity))를 포함할 수 있다.
상기 메모리 1430(예: 제1 메모리 130 또는 제2 메모리 140 중 적어도 하나)은, 예를 들면, 내장 메모리 1432 또는 외장 메모리 1434를 포함할 수 있다. 상기 내장 메모리 1432는, 예를 들면, 휘발성 메모리(예: DRAM(dynamic RAM), SRAM(static RAM), 또는 SDRAM(synchronous dynamic RAM) 등), 비-휘발성(non-volatile) 메모리 (예: OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, 플래시 메모리(예: NAND flash 또는 NOR flash 등), 하드 드라이브, 또는 SSD(solid state drive) 중 적어도 하나를 포함할 수 있다.
상기 외장 메모리 1434는 플래시 드라이브(flash drive), 예를 들면, CF(compact flash), SD(secure digital), Micro-SD, Mini-SD, xD(extreme digital), 또는 메모리 스틱(memory stick) 등을 더 포함할 수 있다. 상기 외장 메모리 1434는 다양한 인터페이스를 통하여 상기 전자 장치 1401과 기능적으로 및/또는 물리적으로 연결될 수 있다.
상기 센서 모듈 1440은, 예를 들면, 물리량을 계측하거나 전자 장치 1401의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 상기 센서 모듈 1440은, 예를 들면, 제스처 센서 1440A, 자이로 센서 1440B, 기압 센서 1440C, 마그네틱 센서 1440D, 가속도 센서 1440E, 그립 센서 1440F, 근접 센서 1440G, 컬러 센서 1440H(예: RGB 센서), 생체 센서 1440I, 온/습도 센서 1440J, 조도 센서 1440K, 또는 UV(ultra violet) 센서 1440M 중의 적어도 하나를 포함할 수 있다. 추가적으로 또는 대체적으로, 상기 센서 모듈 1440은, 예를 들면, 후각 센서(E-nose sensor), EMG(electromyography) 센서, EEG(electroencephalogram) 센서, ECG(electrocardiogram) 센서, IR(infrared) 센서, 홍채 센서 및/또는 지문 센서를 포함할 수 있다. 상기 센서 모듈 1440은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어 회로를 더 포함할 수 있다. 어떤 실시 예에서는, 전자 장치 1401은 AP 1410의 일부로서 또는 별도로, 센서 모듈 1440을 제어하도록 구성된 프로세서를 더 포함하여, 상기 AP 1410이 슬립(sleep) 상태에 있는 동안, 센서 모듈 1440을 제어할 수 있다.
상기 입력 장치 1450은, 예를 들면, 터치 패널(touch panel) 1452, (디지털) 펜 센서(pen sensor) 1454, 키(key) 1456, 또는 초음파(ultrasonic) 입력 장치 1458을 포함할 수 있다. 상기 터치 패널 1452는, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다. 또한, 상기 터치 패널 1452는 제어 회로를 더 포함할 수도 있다. 상기 터치 패널 1452는 택타일 레이어(tactile layer)를 더 포함하여, 사용자에게 촉각 반응을 제공할 수 있다.
상기 (디지털) 펜 센서 1454는, 예를 들면, 터치 패널의 일부이거나, 별도의 인식용 시트(sheet)를 포함할 수 있다. 상기 키 1456은, 예를 들면, 물리적인 버튼, 광학식 키, 또는 키패드를 포함할 수 있다. 상기 초음파 입력 장치 1458은 초음파 신호를 발생하는 입력 도구를 통해, 전자 장치 1401에서 마이크 (예: 마이크 1488)로 음파를 감지하여 데이터를 확인할 수 있다.
상기 디스플레이 1460(예: 디스플레이 160)은 패널 1462, 홀로그램 장치 1464, 또는 프로젝터 1466을 포함할 수 있다. 상기 패널 1462는, 도 1의 디스플레이 160과 동일 또는 유사한 구성을 포함할 수 있다. 상기 패널 1462는, 예를 들면, 유연하게(flexible), 투명하게(transparent), 또는 착용할 수 있게(wearable) 구현될 수 있다. 상기 패널 1462는 상기 터치 패널 1452와 하나의 모듈로 구성될 수도 있다. 상기 홀로그램 장치 1464는 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 상기 프로젝터 1466은 스크린에 빛을 투사하여 영상을 표시할 수 있다. 상기 스크린은, 예를 들면, 상기 전자 장치 1401의 내부 또는 외부에 위치할 수 있다. 한 실시 예에 따르면, 상기 디스플레이 1460은 상기 패널 1462, 상기 홀로그램 장치 1464, 또는 프로젝터 1466을 제어하기 위한 제어 회로를 더 포함할 수 있다.
상기 인터페이스 1470은, 예를 들면, HDMI(high-definition multimedia interface) 1472, USB 1474, 광 인터페이스(Optical interface) 1476, 또는 D-sub(D-subminiature) 1478을 포함할 수 있다. 상기 인터페이스 1470은, 예를 들면, 도 1에 도시된 통신 인터페이스 170에 포함될 수 있다. 추가적으로 또는 대체적으로, 상기 인터페이스 1470은, 예를 들면, MHL(mobile high-definition link) 인터페이스, SD 카드/MMC(multi-media card) 인터페이스, 또는 IrDA(infrared data association) 규격 인터페이스를 포함할 수 있다.
상기 오디오 모듈 1480은, 예를 들면, 소리(sound)와 전기 신호를 쌍방향으로 변환시킬 수 있다. 상기 오디오 모듈 1480의 적어도 일부 구성요소는, 예를 들면, 도 1 에 도시된 입출력 인터페이스 150에 포함될 수 있다. 상기 오디오 모듈 1480은, 예를 들면, 스피커 1482, 리시버 1484, 이어폰 1486, 또는 마이크 1488 등을 통해 입력 또는 출력되는 소리 정보를 처리할 수 있다.
상기 카메라 모듈 1491은, 예를 들면, 정지 영상 및 동영상을 촬영할 수 있는 장치로서, 한 실시 예에 따르면, 하나 이상의 이미지 센서(예: 전면 센서 또는 후면 센서), 렌즈, ISP(image signal processor), 또는 플래시(예: LED 또는 제논 램프(xenon lamp))를 포함할 수 있다.
상기 전력 관리 모듈 1495는, 예를 들면, 상기 전자 장치 1401의 전력을 관리할 수 있다. 한 실시 예에 따르면, 상기 전력 관리 모듈 1495는 PMIC(power management integrated circuit), 충전 IC(charger integrated circuit), 또는 배터리 또는 연료 게이지(battery or fuel gauge)를 포함할 수 있다. 상기 PMIC는, 유선 및/또는 무선 충전 방식을 가질 수 있다. 무선 충전 방식은, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등을 포함하며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로, 또는 정류기 등을 더 포함할 수 있다. 상기 배터리 게이지는, 예를 들면, 상기 배터리 1496의 잔량, 충전 중 전압, 전류, 또는 온도를 측정할 수 있다. 상기 배터리 1496은, 예를 들면, 충전식 전지(rechargeable battery) 및/또는 태양 전지(solar battery)를 포함할 수 있다.
상기 인디케이터 1497은 상기 전자 장치 1401 혹은 그 일부(예: AP 1410)의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 상기 모터 1498은 전기적 신호를 기계적 진동으로 변환할 수 있고, 진동(vibration), 또는 햅틱(haptic) 효과 등을 발생시킬 수 있다. 도시되지는 않았으나, 상기 전자 장치 1401은 모바일 TV 지원을 위한 처리 장치(예: GPU)를 포함할 수 있다. 상기 모바일 TV 지원을 위한 처리 장치는, 예를 들면, DMB(digital multimedia broadcasting), DVB(digital video broadcasting), 또는 미디어 플로우(media flow) 등의 규격에 따른 미디어 데이터를 처리할 수 있다.
상기 전자 장치의 전술한 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성 요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 다양한 실시 예에서, 전자 장치는 전술한 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 또한, 다양한 실시 예에 따른 전자 장치의 구성 요소들 중 일부가 결합되어 하나의 개체(entity)로 구성됨으로써, 결합되기 이전의 해당 구성 요소들의 기능을 동일하게 수행할 수 있다.
상기 전자 장치의 전술한 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성 요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 다양한 실시 예에서, 전자 장치는 전술한 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 또한, 다양한 실시 예에 따른 전자 장치의 구성 요소들 중 일부가 결합되어 하나의 개체(entity)로 구성됨으로써, 결합되기 이전의 해당 구성 요소들의 기능을 동일하게 수행할 수 있다.
본 문서에서 사용된 용어 "모듈"은, 예를 들면, 하드웨어, 소프트웨어 또는 펌웨어(firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위(unit)를 의미할 수 있다. "모듈"은, 예를 들면, 유닛(unit), 로직(logic), 논리 블록(logical block), 부품(component), 또는 회로(circuit) 등의 용어와 바꾸어 사용(interchangeably use)될 수 있다. "모듈"은, 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들면, "모듈"은, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC(어플리케이션-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays) 또는 프로그램 가능 논리 장치(programmable-logic device) 중 적어도 하나를 포함할 수 있다.
다양한 실시 예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는, 예컨대, 프로그램 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어는, 프로세서에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 상기 메모리가 될 수 있다.
다양한 실시 예에 따르면, 한 실시 예에 따른 컴퓨터로 읽을 수 있는 저장 매체는 보안 운용 정보를 운용하는 제1 영역, 상기 보안 운용 정보 생성에 필요한 시드 정보가 저장되는 상기 제1 영역보다 보안 수준이 높은 제2 영역, 상기 제1 영역의 요청에 대응하여 상기 시드 정보를 기반으로 상기 보안 운용 정보를 생성하여 상기 제1 영역에 전달하도록 설정된 적어도 하나의 명령어, 상기 명령어 실행을 지원하는 적어도 하나의 프로세서를 포함할 수 있다.
상기 프로세서는 지정된 서버 장치와 연결되거나 또는 지정된 어플리케이션 실행 요청 시 상기 보안 운용 정보 생성을 요청하기 위한 유저인터페이스의 출력을 수행할 수 있다.
상기 컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(magnetic media)(예: 자기테이프), 광기록 매체(Optical media)(예: CD-ROM, DVD, 자기-광 매체(magneto-Optical media)(예: 플롭티컬 디스크(floptical disk)), 하드웨어 장치(예: ROM, RAM, 또는 플래시 메모리 등) 등을 포함할 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 다양한 실시 예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.
다양한 실시 예에 따른 모듈 또는 프로그램 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 다양한 실시 예에 따른 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
그리고 본 문서에 개시된 실시 예는 개시된, 기술 내용의 설명 및 이해를 위해 제시된 것이며, 본 발명의 범위를 한정하는 것은 아니다. 따라서, 본 발명의 범위는, 본 발명의 기술적 사상에 근거한 모든 변경 또는 다양한 다른 실시 예를 포함하는 것으로 해석되어야 한다.

Claims (30)

  1. 전자 장치에 있어서,
    상기 전자 장치의 하우징;
    상기 하우징 내에 위치하며, 제 1 영역 및 상기 제 1 영역보다 보안 수준이 높은 제 2 영역을 포함하는 메모리;
    유저 인터페이스; 및
    상기 메모리 및 상기 유저 인터페이스와 전기적으로 연결된 프로세서를 포함하고,
    상기 프로세서는
    OTP(one time password)의 생성과 관련하여, 상기 제1 영역을 기반으로 외부 전자 장치로부터 토큰 정보를 수신하고,
    상기 수신된 토큰 정보를 적어도 일시적으로 상기 제 1 영역에 저장하고,
    상기 제1 영역을 기반으로 상기 토큰 정보로부터 암호화된 시드 정보를 추출하고,
    상기 암호화된 시드 정보를 복호화하여 상기 제2 영역 내에 저장하며,
    상기 제1 영역을 기반으로 상기 OTP 생성과 관련한 사용자 핀 입력을 수신하면, 상기 사용자 핀 입력 정보를 포함한 OTP 생성 요청을 상기 제2 영역에 전달하고, 상기 제2 영역에 저장된 상기 복호화된 시드 정보 및 상기 사용자 핀 입력 정보를 기반으로 상기 제2 영역 내에서 상기 OTP를 생성하고, 생성된 상기 OTP를 상기 제1 영역으로 전달하도록 설정된 것을 특징으로 하는 전자 장치.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 제1항에 있어서,
    상기 프로세서는
    지정된 서버 장치 또는 지정된 어플리케이션과의 상기 OTP 처리를 지원하도록 설정된 보안 어플리케이션 리스트를 상기 제1 영역에 저장하도록 설정된 전자 장치.
  7. 제1항에 있어서,
    상기 프로세서는
    상기 제1 영역 또는 상기 제2 영역 중 적어도 하나의 유효성 상태를 확인하도록 설정된 전자 장치.
  8. 제7항에 있어서,
    상기 프로세서는
    상기 제1 영역 또는 상기 제2 영역 중 적어도 하나가 유효성이 없는 상태인 경우 상기 OTP 처리를 하지 않도록 설정된 전자 장치.
  9. 삭제
  10. 삭제
  11. 제1항에 있어서,
    상기 메모리는 제1 메모리, 및 상기 제1 메모리와 물리적으로 분리된 제2 메모리를 포함하고, 상기 제1 영역은 상기 제1 메모리 내에 설정되고, 상기 제2 영역은 상기 제2 메모리 내에 설정되는 전자 장치.
  12. 제1항에 있어서,
    상기 프로세서는
    상기 토큰 정보에서 적어도 상기 시드 정보를 제외한 제4 정보와 상기 시드 정보를 매핑한 정보를 상기 제1 영역에 저장하도록 설정된 전자 장치.
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 제6항에 있어서,
    상기 프로세서는
    상기 보안 어플리케이션 리스트에 포함된 어플리케이션 실행 시 상기 OTP를 생성하기 위해 상기 사용자 핀 입력을 받을 수 있는 프로세스를 수행하고,
    상기 보안 어플리케이션 리스트에 포함되지 않은 어플리케이션 실행 시 상기 OTP 생성을 거절하도록 설정된 전자 장치.
  21. 삭제
  22. 삭제
  23. 삭제
  24. 제1항에 있어서,
    상기 프로세서는
    상기 생성 요청된 OTP의 종류에 따라 시간 기반 OTP를 생성하거나, 이벤트 기반 OTP 정보를 생성하도록 설정된 전자 장치.
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 제1항에 있어서,
    상기 프로세서는
    지정된 서버 장치와 연결되거나 또는 지정된 어플리케이션 실행 요청 시 상기 OTP 생성을 요청하기 위한 화면을 상기 유저인터페이스를 통해 출력하도록 설정된 전자 장치.
  30. 삭제
KR1020150022739A 2015-02-13 2015-02-13 보안 정보의 처리 KR102485830B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020150022739A KR102485830B1 (ko) 2015-02-13 2015-02-13 보안 정보의 처리
PCT/KR2016/001051 WO2016129838A1 (en) 2015-02-13 2016-02-01 Electronic device and method for processing secure information
EP16154990.2A EP3057053B1 (en) 2015-02-13 2016-02-10 Electronic device and method for processing secure information
US15/041,803 US10581833B2 (en) 2015-02-13 2016-02-11 Electronic device and method for processing secure information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150022739A KR102485830B1 (ko) 2015-02-13 2015-02-13 보안 정보의 처리

Publications (2)

Publication Number Publication Date
KR20160100151A KR20160100151A (ko) 2016-08-23
KR102485830B1 true KR102485830B1 (ko) 2023-01-09

Family

ID=55353056

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150022739A KR102485830B1 (ko) 2015-02-13 2015-02-13 보안 정보의 처리

Country Status (4)

Country Link
US (1) US10581833B2 (ko)
EP (1) EP3057053B1 (ko)
KR (1) KR102485830B1 (ko)
WO (1) WO2016129838A1 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10362026B2 (en) * 2013-12-16 2019-07-23 Amazon Technologies, Inc. Providing multi-factor authentication credentials via device notifications
US10841297B2 (en) 2013-12-16 2020-11-17 Amazon Technologies, Inc. Providing multi-factor authentication credentials via device notifications
US9473491B1 (en) 2014-12-16 2016-10-18 Amazon Technologies, Inc. Computing device with integrated authentication token
CN104333454B (zh) * 2014-10-28 2017-07-14 飞天诚信科技股份有限公司 一种可更新种子的动态令牌的工作方法
US10833863B2 (en) * 2016-02-29 2020-11-10 Intel Corporation Device provisioning service
KR102035312B1 (ko) * 2016-04-25 2019-11-08 (주)이스톰 사용자 중심의 인증 방법 및 시스템
CN113411317B (zh) * 2016-05-11 2023-05-26 创新先进技术有限公司 一种验证身份的方法和***、智能穿戴设备
US10650621B1 (en) 2016-09-13 2020-05-12 Iocurrents, Inc. Interfacing with a vehicular controller area network
EP3447992B1 (en) 2016-11-14 2020-09-23 Huawei Technologies Co., Ltd. Message pushing method and terminal
CN106888206B (zh) * 2017-02-13 2020-06-09 海信集团有限公司 密钥交换方法、装置及***
KR102017057B1 (ko) * 2017-02-20 2019-09-02 (주)이스톰 인증 관리 방법 및 시스템
WO2019012625A1 (ja) * 2017-07-12 2019-01-17 日本電気株式会社 権限判定システム、セキュアデバイス、判定装置、権限管理方法及び権限判定プログラム
WO2019148397A1 (zh) * 2018-01-31 2019-08-08 华为技术有限公司 分解敏感数据存储在不同应用环境中
KR102495643B1 (ko) 2018-03-26 2023-02-06 삼성전자주식회사 입력 수단에 따른 어플리케이션으로 사용자 입력을 전달하는 모바일 전자 장치 및 방법
EP3572999A1 (en) * 2018-05-23 2019-11-27 Banco Bilbao Vizcaya Argentaria, S.A. Method for authorizing operations
TWI672653B (zh) * 2018-07-24 2019-09-21 許毓展 數位資料加密方法、數位資料解密方法及數位資料處理系統
US11283793B2 (en) * 2018-10-18 2022-03-22 Oracle International Corporation Securing user sessions
US11398918B1 (en) * 2018-10-22 2022-07-26 Wells Fargo Bank, N.A. Passive user authentication
US11847248B2 (en) 2020-12-16 2023-12-19 Cigna Intellectual Property, Inc. Automated viewpoint detection and screen obfuscation of secure content
US11764964B2 (en) * 2021-05-07 2023-09-19 Palo Alto Networks, Inc. Whitelisting clients accessing resources via a secure web gateway with time-based one time passwords for authentication

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080276309A1 (en) * 2006-07-06 2008-11-06 Edelman Lance F System and Method for Securing Software Applications

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7240192B1 (en) * 2003-03-12 2007-07-03 Microsoft Corporation Combining a browser cache and cookies to improve the security of token-based authentication protocols
US7748031B2 (en) 2005-07-08 2010-06-29 Sandisk Corporation Mass storage device with automated credentials loading
US8127144B2 (en) * 2005-10-12 2012-02-28 Panasonic Corporation Program loader operable to verify if load-destination information has been tampered with, processor including the program loader, data processing device including the processor, promgram loading method, and integrated circuit
EP1999678A1 (en) * 2006-03-29 2008-12-10 Casio Computer Co., Ltd. Identification information output device
US8245031B2 (en) 2006-07-07 2012-08-14 Sandisk Technologies Inc. Content control method using certificate revocation lists
US8639939B2 (en) 2006-07-07 2014-01-28 Sandisk Technologies Inc. Control method using identity objects
US20080034440A1 (en) 2006-07-07 2008-02-07 Michael Holtzman Content Control System Using Versatile Control Structure
EP2038802A2 (en) * 2006-07-07 2009-03-25 SanDisk Corporation Content control system and method using certificate revocation lists
US20100138652A1 (en) 2006-07-07 2010-06-03 Rotem Sela Content control method using certificate revocation lists
US20080010449A1 (en) 2006-07-07 2008-01-10 Michael Holtzman Content Control System Using Certificate Chains
US20080022395A1 (en) 2006-07-07 2008-01-24 Michael Holtzman System for Controlling Information Supplied From Memory Device
US20080010452A1 (en) 2006-07-07 2008-01-10 Michael Holtzman Content Control System Using Certificate Revocation Lists
US8613103B2 (en) 2006-07-07 2013-12-17 Sandisk Technologies Inc. Content control method using versatile control structure
US8140843B2 (en) 2006-07-07 2012-03-20 Sandisk Technologies Inc. Content control method using certificate chains
US8266711B2 (en) 2006-07-07 2012-09-11 Sandisk Technologies Inc. Method for controlling information supplied from memory device
US20080010458A1 (en) 2006-07-07 2008-01-10 Michael Holtzman Control System Using Identity Objects
KR20100104161A (ko) * 2009-03-16 2010-09-29 김세용 피싱 방지를 위한 일회용 비밀번호 생성 방법 및 장치
EP2461265B1 (en) 2010-12-03 2019-05-22 Novomatic AG Device for and method of handling sensitive data
US8590030B1 (en) * 2011-04-14 2013-11-19 Symantec Corporation Credential seed provisioning system
US20130283361A1 (en) * 2012-04-23 2013-10-24 General Instrument Corporation Identity verification
WO2014055148A2 (en) 2012-07-09 2014-04-10 Massachusetts Institute Of Technology Cryptography and key management device and architecture
US8370529B1 (en) 2012-07-10 2013-02-05 Robert Hansen Trusted zone protection
US8863252B1 (en) * 2012-07-25 2014-10-14 Sprint Communications Company L.P. Trusted access to third party applications systems and methods
US9400890B2 (en) * 2012-08-10 2016-07-26 Qualcomm Incorporated Method and devices for selective RAM scrambling
KR101264791B1 (ko) * 2012-12-05 2013-05-15 (주)세이퍼존 무선통신 기능을 갖는 융합 보안 인증 및 저장장치
US8955075B2 (en) * 2012-12-23 2015-02-10 Mcafee Inc Hardware-based device authentication
US9208354B2 (en) * 2013-03-12 2015-12-08 Intel Corporation Techniques for securing use of one-time passwords
US9049013B2 (en) * 2013-03-14 2015-06-02 Sprint Communications Company L.P. Trusted security zone containers for the protection and confidentiality of trusted service manager data
KR102052959B1 (ko) * 2013-04-16 2019-12-06 삼성전자주식회사 단말장치, 보안서버 및 그 결제방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080276309A1 (en) * 2006-07-06 2008-11-06 Edelman Lance F System and Method for Securing Software Applications

Also Published As

Publication number Publication date
WO2016129838A1 (en) 2016-08-18
US10581833B2 (en) 2020-03-03
KR20160100151A (ko) 2016-08-23
EP3057053A1 (en) 2016-08-17
EP3057053B1 (en) 2018-05-09
US20160241548A1 (en) 2016-08-18

Similar Documents

Publication Publication Date Title
KR102485830B1 (ko) 보안 정보의 처리
KR102604046B1 (ko) 전자 기기의 프로그램 관리 방법 및 장치
KR102577054B1 (ko) 전자 결제 기능을 제공하는 전자 장치 및 그의 동작 방법
KR102530888B1 (ko) 결제 거래를 수행하는 방법 및 장치
AU2016216833B2 (en) Payment processing method and electronic device supporting the same
EP3057047B1 (en) Electronic device or payment processing method
US10554656B2 (en) Authentication processing method and electronic device supporting the same
CN107408251B (zh) 提供电子支付功能的电子设备及其操作方法
KR102223609B1 (ko) 전자 기기간 콘텐트 공유 방법 및 장치
US10237269B2 (en) Method of providing information security and electronic device thereof
US10187359B2 (en) Secure message transmission apparatus and processing method thereof
US20160239686A1 (en) Storing and using data with secure circuitry
KR102291719B1 (ko) 애플리케이션 보호 방법 및 장치
KR102441758B1 (ko) 전자 장치, 인증 대행 서버 및 결제 시스템
US11157603B2 (en) Electronic device and method for performing authentication
KR20170035294A (ko) 전자 장치 및 이의 보안을 제공하는 결제 방법
US20150121474A1 (en) Processor security authentication area
KR102348217B1 (ko) 전자장치에서 보안화면을 제어하는 방법 및 장치
KR102349714B1 (ko) 전자 기기의 프로그램 관리 방법 및 장치
KR102243231B1 (ko) 어플리케이션 설치를 관리하는 방법, 전자 장치 및 인증 시스템

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant