KR20170010341A - Method for Processing Certification by using Secure Operating System - Google Patents

Method for Processing Certification by using Secure Operating System Download PDF

Info

Publication number
KR20170010341A
KR20170010341A KR1020170009492A KR20170009492A KR20170010341A KR 20170010341 A KR20170010341 A KR 20170010341A KR 1020170009492 A KR1020170009492 A KR 1020170009492A KR 20170009492 A KR20170009492 A KR 20170009492A KR 20170010341 A KR20170010341 A KR 20170010341A
Authority
KR
South Korea
Prior art keywords
program
secure
general
memory area
authentication
Prior art date
Application number
KR1020170009492A
Other languages
Korean (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 KR1020170009492A priority Critical patent/KR20170010341A/en
Publication of KR20170010341A publication Critical patent/KR20170010341A/en

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/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
    • 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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The present invention provides a method for processing authentication by using a secure operating system (OS), capable of providing authentication using a wireless terminal even if a normal OS of the wireless terminal is hacked or forged. According to the present invention, the method executed through a wireless terminal including the secure OS equipped with a secure kernel and the normal OS equipped with an open kernel structure comprises: a step of a program (n) of the normal OS receiving an authentication request from a server fixed through a communication means of the wireless terminal on the normal OS; a step of the program (n) allocating a memory region accessible from a fixed program (s) of the secure OS or confirming a previously allocated memory region, and setting the program (n) to a process of a normal OS side referring to the memory region; a step of the program (n) transferring the authentication request to the program (s) of the secure OS through the memory region; a step of the program (s) of the secure OS using a code generation algorithm included in the secure OS to generate an authentication code corresponding to the authentication request; a step of the program (s) providing the generated authentication request to the memory region; and a step of the program (n) transmitting the authentication code of the memory region through the communication means of the wireless terminal.

Description

보안운영체제를 이용한 인증 처리 방법{Method for Processing Certification by using Secure Operating System}[0001] The present invention relates to a secure operating system,

본 발명은, 보안커널(Secure Kennel)을 구비한 보안OS(Secure Operating System)와 커널구조가 공개된 일반OS(Normal Operating System)를 탑재한 무선단말을 통해 실행되는 방법에 있어서, 상기 일반OS의 프로그램(n)이 일반OS 상에서 상기 무선단말의 통신수단을 통해 지정된 서버로부터 인증요청을 수신하고, 상기 프로그램(n)이 보안OS의 지정된 프로그램(s)에서 접근 가능한 메모리영역을 할당하거나 또는 기 할당된 메모리영역을 확인하고 상기 메모리영역을 참조하는 일반OS 측의 프로세스로 상기 프로그램(n)을 설정하고, 상기 프로그램(n)이 상기 메모리영역을 통해 상기 보안OS의 프로그램(s)으로 상기 인증 요청을 전달하고, 상기 보안OS의 프로그램(s)이 상기 보안OS에 구비된 코드생성알고리즘을 이용하여 상기 인증요청에 대응하는 인증코드를 생성하고, 상기 프로그램(s)이 상기 생성된 인증코드를 상기 메모리영역으로 제공하고, 상기 프로그램(n)이 상기 무선단말의 통신수단을 통해 상기 메모리영역의 인증코드를 상기 서버로 전송하는 보안운영체제를 이용한 인증 처리 방법에 관한 것이다.The present invention provides a method for executing a secure OS through a secure operating system (OS) having a secure kernel and a wireless terminal equipped with a normal operating system (OS) Wherein the program (n) receives an authentication request from a server designated by the communication means of the wireless terminal on a general OS, and the program (n) allocates a memory area accessible from the designated program (s) (N) to a program of a general OS that refers to the memory area, and the program (n) sets the program (n) as a program , The program (s) of the secure OS generates an authentication code corresponding to the authentication request using a code generation algorithm provided in the secure OS, and the program s) provides the generated authentication code to the memory area, and the program (n) transmits the authentication code of the memory area to the server via the communication means of the wireless terminal .

사용자가 소지한 스마트폰 등을 포함하는 사용자 무선단말을 인증수단으로 이용하여 각종 인증 절차를 수행하는 다양한 인증 서비스가 제안되고 있다. 그런데 무선단말의 운영체제는 리눅스와 같이 공개된 커널을 구비하고 있을 뿐만 아니라, 용이한 애플리케이션 제작 및 빠른 배포를 위해 오픈 소스를 지향하고 있어 쉽게 해킹되거나 또는 루팅(Rooing)이나 탈옥(Jail-breaking) 등에 의해 운영체제 자체가 쉽게 변조될 수 있다. Various authentication services for performing various authentication procedures using a user wireless terminal including a smart phone possessed by a user as authentication means have been proposed. However, the operating system of the wireless terminal is not only equipped with a public kernel such as Linux, but also an open source for easy application creation and rapid distribution, and is easily hacked or used for rooting or jail-breaking The operating system itself can be easily modulated.

결과적으로 종래 사용자의 무선단말을 인증수단으로 이용하는 인증 서비스는 실제로 결코 안전하지 않은 무선단말을 인증수단으로 이용하고 있는 것이다. 이에 최근에는 NFC카드와 같은 별도의 매체를 무선단말과 비접촉 인터페이스하는 형태로 인증 서비스를 제공하는 방안이 모색되고 있으나, 이는 사용자로 하여금 무선단말 이외에 별도의 인증용 물건을 소지해야 하는 불편함을 초래하는 문제를 야기하고 있다.As a result, the authentication service using the wireless terminal of the conventional user as the authentication means actually uses the unsafe wireless terminal as the authentication means. Recently, a method of providing an authentication service in the form of a non-contact interface with a wireless terminal such as a NFC card has been sought. However, this inconveniences the user to have a separate authentication object other than the wireless terminal .

한편 최근 하나의 물리 프로세서 코어를 시큐어월드(Secure World)와 노멀월드(Normal World)의 두 가지 월드로 나누고, 각각의 월드를 고립시켜 운영하는 트러스트존(Trust Zone) 기술이 제안되었다. 트러스트존 기술은 노멀월드에 일반적인 운영체제를 탑재하고 시큐어월드에 보안이 강화된 운영체제를 탑재하되 시큐어월드를 노멀월드와 고립시켜 운영함으로써, 노멀월드가 해킹되거나 위변조 되더라도 노멀월드와 고립된 시큐어월드의 보안을 보장하는 기술이다. On the other hand, a Trust Zone technology has been proposed, in which one physical processor core is divided into two worlds, Secure World and Normal World, and each world is isolated. Trust Zone technology is equipped with a normal operating system in the normal world, and Secure World is equipped with a security-enhanced operating system. By keeping Secure World isolated from the normal world, even if the normal world is hacked or forged, security of the normal world and isolated secure world .

트러스트존 기술에서 시큐어월드와 노멀월드의 고립은 시큐어월드의 보안을 보장하는 핵심사항 중의 하나이다. 시큐어월드에서 실행된 애플리케이션은 노멀월드의 운영체제를 이용하지 않고 직접 단말기에 구비된 디스플레이장치, 통신장치, 입력장치 등의 각종 구성부에 직접 접근하여 제어할 수 있다(특허등록 제10-1259824호). 시큐어월드와 노멀월드는 물리적으로 하나의 단말기 내에서 하나의 프로세서 코어를 공유하고, 시큐어월드는 노멀월드를 통해 구동되기는 하지만, 하드웨어적인 측면과 소프트웨어적인 측면에서 시큐어월드와 노멀월드는 상호 고립된 서로 다른 시스템이다. The isolation of Secure World and Normal World in Trust Zone technology is one of the key points to ensure the security of Secure World. An application executed in the secure world can directly access and control various components such as a display device, a communication device, and an input device provided in a terminal without using the operating system of the normal world (Patent Registration No. 10-1259824) . Although Secure World and Normal World physically share a single processor core within a single terminal and Secure World is driven by Normal World, both Secure and Normal Worlds, in terms of hardware and software, Other systems.

따라서 사용자가 개인컴퓨터를 통해 인터넷 뱅킹을 이용하는 중에 OTP(One Time Password) 입력이 필요한 경우, 사용자가 소지한 무선 단말기의 시큐어월드(=트러스트존)에 OTP 앱을 탑재하고 이를 실행하여 OTP를 생성하고 무선 단말기의 화면에 OTP를 표시한 상태에서 사용자가 이를 육안으로 인지하여 개인컴퓨터를 통해 인터넷 뱅킹에 입력하는 형태로 이용하는 것 정도는 비교적 용이하게 도출할 수 있다.Accordingly, when a user inputs an OTP (One Time Password) while using the Internet banking through a personal computer, the OTP application is loaded in a secure world (= trust zone) of the wireless terminal possessed by the user and is executed to generate an OTP The user can visually recognize the OTP on the screen of the wireless terminal and use it in the form of inputting it to the Internet banking through the personal computer.

그러나 무선 단말기를 인증수단으로 사용할 경우, 인증 절차를 수행하는 인증 앱은 무선단말의 일반OS 측에 탑재되어야 하는데, 설령 보안OS에 별도의 보안 앱을 탑재한다고 하더라도, 상호 고립된 일반OS와 보안OS가 상호 연동하여 인증 절차를 수행하는 것은 기술적으로 난해한 문제점을 지니고 있다.However, when the wireless terminal is used as the authentication means, the authentication application performing the authentication procedure must be installed on the general OS side of the wireless terminal. Even if a separate security app is mounted on the security OS, It is technically difficult to perform the authentication procedure in cooperation with each other.

본 발명의 목적은, 보안커널(Secure Kennel)을 구비한 보안OS(Secure Operating System)와 커널구조가 공개된 일반OS(Normal Operating System)를 탑재한 무선단말을 통해 실행되는 방법에 있어서, 상기 일반OS의 프로그램(n)이 일반OS 상에서 상기 무선단말의 통신수단을 통해 지정된 서버로부터 인증요청을 수신하는 제1 단계와 상기 프로그램(n)이 보안OS의 지정된 프로그램(s)에서 접근 가능한 메모리영역을 할당하거나 또는 기 할당된 메모리영역을 확인하고 상기 메모리영역을 참조하는 일반OS 측의 프로세스로 상기 프로그램(n)을 설정하는 제2 단계와 상기 프로그램(n)이 상기 메모리영역을 통해 상기 보안OS의 프로그램(s)으로 상기 인증 요청을 전달하는 제3 단계와 상기 보안OS의 프로그램(s)이 상기 보안OS에 구비된 코드생성알고리즘을 이용하여 상기 인증요청에 대응하는 인증코드를 생성하는 제4 단계와 상기 프로그램(s)이 상기 생성된 인증코드를 상기 메모리영역으로 제공하는 제5 단계 및 상기 프로그램(n)이 상기 무선단말의 통신수단을 통해 상기 메모리영역의 인증코드를 상기 서버로 전송하는 제6 단계를 포함하는 보안운영체제를 이용한 인증 처리 방법을 제공함에 있다.An object of the present invention is to provide a method for executing a secure operating system (OS) having a secure kernel and a wireless terminal equipped with a normal operating system (OS) A first step in which a program (n) of the OS receives an authentication request from a server designated by a communication means of the wireless terminal on a general OS, and a step (b) of accessing a memory area accessible from the designated program A second step of setting the program (n) as a process of a general OS side which refers to the memory area, and a step of setting the program (n) A third step of transferring the authentication request to the program (s) and a third step of the program (s) of the secure OS corresponding to the authentication request using a code generation algorithm provided in the secure OS A fourth step of generating an authentication code, a fifth step of providing the generated authentication code to the memory area by the program (s), and a fifth step of causing the program (n) to authenticate the memory area And a sixth step of transmitting the code to the server. The present invention provides a method of processing an authentication using a security operating system.

본 발명에 따른 보안운영체제를 이용한 인증 처리 방법은, 보안커널(Secure Kennel)을 구비한 보안OS(Secure Operating System)와 커널구조가 공개된 일반OS(Normal Operating System)를 탑재한 무선단말을 통해 실행되는 방법에 있어서, 상기 일반OS의 프로그램(n)이 일반OS 상에서 상기 무선단말의 통신수단을 통해 지정된 서버로부터 인증요청을 수신하는 제1 단계와 상기 프로그램(n)이 보안OS의 지정된 프로그램(s)에서 접근 가능한 메모리영역을 할당하거나 또는 기 할당된 메모리영역을 확인하고 상기 메모리영역을 참조하는 일반OS 측의 프로세스로 상기 프로그램(n)을 설정하는 제2 단계와 상기 프로그램(n)이 상기 메모리영역을 통해 상기 보안OS의 프로그램(s)으로 상기 인증 요청을 전달하는 제3 단계와 상기 보안OS의 프로그램(s)이 상기 보안OS에 구비된 코드생성알고리즘을 이용하여 상기 인증요청에 대응하는 인증코드를 생성하는 제4 단계와 상기 프로그램(s)이 상기 생성된 인증코드를 상기 메모리영역으로 제공하는 제5 단계 및 상기 프로그램(n)이 상기 무선단말의 통신수단을 통해 상기 메모리영역의 인증코드를 상기 서버로 전송하는 제6 단계를 포함하는 것을 특징으로 한다.The authentication processing method using the security operating system according to the present invention is executed by a secure operating system (Secure Operating System) having a secure kernel (Kernel) and a wireless terminal equipped with a normal OS (kernel operating system) (N) of the general OS receives an authentication request from a server designated by a communication means of the wireless terminal on a general OS, and a step of controlling the program (n) (N) in a memory of a general OS, which is allocated to a memory area accessible from the memory (not shown) or identifies a pre-allocated memory area and refers to the memory area, and a second step of setting the program (S) of the secure OS via a region of the secure OS, and a third step of transferring the authentication request to the program (s) A fourth step of generating an authentication code corresponding to the authentication request using the program (s), a fifth step of providing the generated authentication code to the memory area by the program (s) And a sixth step of transmitting an authentication code of the memory area to the server through a communication unit.

본 발명에 따른 보안운영체제를 이용한 인증 처리 방법에 있어서, 상기 보안OS에 프로그램(s)이 탑재된 경우, 상기 일반OS의 프로그램(n)이 상기 보안OS에 프로그램(s)이 탑재되었음을 식별하거나 상기 보안OS에 탑재된 프로그램(s)을 식별하는 식별정보를 일반OS에서 접근 가능한 저장영역에 저장하는 단계를 더 포함하여 이루어지는 것을 특징으로 한다.(N) of the general OS identifies that the program (s) is installed in the secure OS, or when the program (s) is installed in the secure OS, And storing the identification information identifying the program (s) loaded in the secure OS in a storage area accessible from the general OS.

본 발명에 따른 보안운영체제를 이용한 인증 처리 방법에 있어서, 상기 프로그램(n)이 상기 보안OS로 전환되기 직전의 상기 프로그램(n)에 대한 상태정보를 저장하여 유지하는 단계를 더 포함하여 이루어지는 것을 특징으로 한다.The authentication processing method using the security operating system according to the present invention may further include storing and maintaining state information on the program (n) immediately before the program (n) is switched to the secure OS .

본 발명에 따른 보안운영체제를 이용한 인증 처리 방법에 있어서, 상기 제2 단계는, 상기 프로그램(n)이 일반OS에 상기 메모리영역을 할당하거나 또는 기 할당된 메모리영역을 확인하는 것을 특징으로 한다.In the authentication processing method using a security operating system according to the present invention, the second step is characterized in that the program (n) allocates the memory area to a general OS or identifies a pre-allocated memory area.

본 발명에 따른 보안운영체제를 이용한 인증 처리 방법에 있어서, 상기 제2 단계는, 상기 프로그램(n)이 일반OS와 보안OS 간 전환 절차를 수행하는 보안 모니터에 상기 메모리영역을 할당하거나 또는 기 할당된 메모리영역을 확인하는 것을 특징으로 한다.In the authentication processing method using a security operating system according to the present invention, the second step may include: allocating the memory area to the security monitor performing the switching procedure between the general OS and the secure OS, And the memory area is confirmed.

본 발명에 따른 보안운영체제를 이용한 인증 처리 방법에 있어서, 상기 프로그램(s)이 보안OS 상에서 지정된 서버를 통해 복호화되게 상기 생성된 인증코드를 암호화하는 단계를 더 포함하며, 상기 제5 단계는, 상기 프로그램(s)이 상기 암호화된 인증코드를 상기 메모리영역으로 제공하는 것을 특징으로 한다.The authentication processing method using the security operating system according to the present invention may further comprise encrypting the generated authentication code so that the program s is decrypted through a designated server on the secure OS, And the program (s) provides the encrypted authentication code to the memory area.

본 발명에 따른 보안운영체제를 이용한 인증 처리 방법에 있어서, 상기 프로그램(n)이 상기 메모리영역으로부터 상기 프로그램(s)를 통해 암호화된 인증코드를 확인하는 단계를 더 포함하며, 상기 제6 단계는, 상기 프로그램(n)이 상기 무선단말의 통신수단을 상기 암호화된 인증코드를 상기 서버로 전송하는 것을 특징으로 한다.In the authentication processing method using a security operating system according to the present invention, the program (n) further includes checking an encrypted authentication code from the memory area via the program (s) And the program (n) transmits the encrypted authentication code to the communication means of the wireless terminal to the server.

본 발명에 따른 보안운영체제를 이용한 인증 처리 방법은, 보안커널(Secure Kennel)을 구비한 보안OS(Secure Operating System)와 커널구조가 공개된 일반OS(Normal Operating System)를 탑재한 무선단말을 통해 실행되는 방법에 있어서, 상기 일반OS의 프로그램(n)이 상기 보안OS에 지정된 프로그램(s)이 탑재되었음을 식별하거나 상기 보안OS에 탑재된 프로그램(s)을 식별하는 식별정보를 일반OS에서 접근 가능한 저장영역에 저장하는 제1 단계와 상기 프로그램(n)이 상기 무선단말의 통신수단을 통해 지정된 서버로부터 인증요청을 수신하는 제2 단계와 상기 프로그램(n)이 상기 일반OS의 식별정보를 이용하여 보안OS의 프로그램(s)에서 접근 가능한 메모리영역을 할당하거나 또는 기 할당된 메모리영역을 확인하는 제3 단계와 상기 프로그램(n)이 상기 메모리영역을 통해 상기 보안OS의 프로그램(s)으로 상기 인증 요청을 전달하는 제4 단계와 상기 보안OS의 프로그램(s)이 상기 보안OS에 구비된 코드생성알고리즘을 이용하여 상기 인증요청에 대응하는 인증코드를 생성하는 제5 단계와 상기 프로그램(s)이 상기 생성된 인증코드를 상기 메모리영역으로 제공하는 제6 단계 및 상기 프로그램(n)이 상기 무선단말의 통신수단을 통해 상기 메모리영역의 인증코드를 상기 서버로 전송하는 제7 단계를 포함하는 것을 특징으로 한다.The authentication processing method using the security operating system according to the present invention is executed by a secure operating system (Secure Operating System) having a secure kernel (Kernel) and a wireless terminal equipped with a normal OS (kernel operating system) Wherein the program (n) of the general OS identifies that the program (s) specified in the secure OS is mounted or the identification information that identifies the program (s) mounted on the secure OS, A second step of the program (n) receiving an authentication request from a server designated by the communication means of the wireless terminal, and a second step of causing the program (n) A third step of allocating a memory area accessible in the program (s) of the OS or confirming a pre-allocated memory area and a third step of allocating the program (n) A fourth step of transferring the authentication request to a program (s) of the OS and a fourth step of generating an authentication code corresponding to the authentication request using a code generation algorithm provided in the secure OS by the program (s) The program (s) providing the generated authentication code to the memory area, and the program (n) transmitting the authentication code of the memory area to the server through the communication means of the wireless terminal And a seventh step of:

본 발명에 따르면, 상기 보안OS는 프로세서에 탑재된 트러스트존(Trust Zone)을 포함할 수 있다.According to the present invention, the secure OS may include a trust zone installed in the processor.

본 발명에 따르면, 상기 인증요청은 상기 무선단말과 서버 사이의 통신망과 구별되는 별도의 통신망을 이용한 인증요청을 포함할 수 있다.According to the present invention, the authentication request may include an authentication request using a separate communication network distinguished from a communication network between the wireless terminal and the server.

본 발명에 따르면, 상기 보안운영체제를 이용한 인증 처리 방법은, 상기 프로그램(n)이 상기 보안OS로 전환되기 직전의 상기 프로그램(n)에 대한 상태정보를 저장하여 유지하는 단계를 더 포함할 수 있다.According to the present invention, the authentication processing method using the secure operating system may further include storing and holding status information on the program (n) immediately before the program (n) is switched to the secure OS .

본 발명에 따르면, 상기 제3 단계는, 상기 프로그램(n)이 SMC(Secure Monitor Call) 명령을 통해 보안OS를 구동하는 단계를 더 포함하여 이루어지는 것을 특징으로 한다.According to the present invention, in the third step, the program (n) further comprises a step of driving a secure OS through a SMC (Secure Monitor Call) command.

본 발명에 따르면, 상기 제3 단계는, 상기 프로그램(n)이 일반OS에 상기 메모리영역을 할당하거나 또는 기 할당된 메모리영역을 확인하는 것을 특징으로 한다.According to the present invention, the third step is characterized in that the program (n) allocates the memory area to the general OS or identifies the pre-allocated memory area.

본 발명에 따르면, 상기 제3 단계는, 상기 프로그램(n)이 일반OS와 보안OS 간 전환 절차를 수행하는 보안 모니터에 상기 메모리영역을 할당하거나 또는 기 할당된 메모리영역을 확인하는 것을 특징으로 한다.According to the present invention, the third step is characterized in that the program (n) allocates the memory area to the security monitor performing the switching procedure between the general OS and the security OS, or identifies the allocated memory area .

본 발명에 따르면, 상기 제3 단계는, 상기 프로그램(n)이 네트워크 상의 보안서버에 보안OS의 프로그램(s)에서 접근 가능한 메모리영역을 할당하거나 또는 기 할당된 메모리영역을 확인하는 것을 특징으로 한다.According to the present invention, the third step is characterized in that the program (n) allocates a memory area accessible from the program (s) of the secure OS to the security server on the network or identifies the pre-allocated memory area .

본 발명에 따르면, 상기 제3 단계는, 상기 프로그램(n)이 상기 메모리영역을 참조하는 일반OS 측의 프로세스로 상기 프로그램(n)을 설정하는 단계를 더 포함하여 이루어지는 것을 특징으로 한다.According to the present invention, the third step further comprises setting the program (n) as a process of the general OS side in which the program (n) refers to the memory area.

본 발명에 따르면, 상기 프로그램(s)이 보안OS의 저장영역에 하나 이상의 고정 키 값을 저장하는 단계를 더 포함하며, 상기 제5 단계는, 상기 저장된 하나 이상의 고정 키 값을 상기 코드생성알고리즘에 대입할 씨드 중의 하나로 이용하여 인증코드를 생성하는 것을 특징으로 한다.According to the present invention, the program (s) further includes storing one or more fixed key values in a storage area of the secure OS, and the fifth step is to store the stored one or more fixed key values in the code generation algorithm And generates the authentication code using one of the seeds to be substituted.

본 발명에 따르면, 상기 제5 단계는, 상기 프로그램(s)이 상기 보안OS를 통해 적어도 하나의 동적 키 값을 확인하는 단계 및 상기 프로그램(s)이 상기 확인된 동적 키 값을 상기 코드생성알고리즘에 대입할 씨드 중의 하나로 이용하여 인증코드를 생성하는 것을 특징으로 한다.According to the present invention, the fifth step includes the steps of: the program (s) verifying at least one dynamic key value via the secure OS, and the program (s) And generates the authentication code using one of the seeds to be substituted into the seed.

본 발명에 따르면, 상기 제5 단계는, 상기 프로그램(s)이 보안OS를 통해 무선단말의 입력수단에 접근하여 PIN(Personal Identification Number)을 입력받는 단계 및 상기 보안OS를 통해 입력된 PIN의 유효성을 인증하는 단계를 더 포함하여 이루어지는 것을 특징으로 한다.According to the present invention, in the fifth step, the program (s) accesses the input means of the wireless terminal through the secure OS to receive a PIN (Personal Identification Number), and the validity of the PIN The method comprising the steps of:

본 발명에 따르면, 상기 보안운영체제를 이용한 인증 처리 방법은, 상기 프로그램(s)이 지정된 서버를 통해 복호화되게 상기 생성된 인증코드를 암호화하는 단계를 더 포함하며, 상기 제6 단계는, 상기 프로그램(s)이 상기 암호화된 인증코드를 상기 메모리영역으로 제공하는 것을 특징으로 한다.According to the present invention, the authentication processing method using the secure operating system may further include encrypting the generated authentication code so that the program s is decrypted through a designated server, s) provides the encrypted authentication code to the memory area.

본 발명에 따르면, 상기 보안운영체제를 이용한 인증 처리 방법은, 상기 프로그램(n)이 상기 메모리영역으로부터 상기 프로그램(s)를 통해 암호화된 인증코드를 확인하는 단계를 더 포함하며, 상기 제7 단계는, 상기 프로그램(n)이 상기 무선단말의 통신수단을 상기 암호화된 인증코드를 상기 서버로 전송하는 것을 특징으로 한다.According to the present invention, the authentication processing method using the secure operating system further includes the step of the program (n) confirming the encrypted authentication code from the memory area through the program (s), and the seventh step , And the program (n) transmits the encrypted authentication code to the communication means of the wireless terminal to the server.

본 발명에 따르면, 무선단말에 일반OS와 보안OS를 포함하는 이종의 OS가 탑재된 경우, 일반OS의 프로그램(n)에서 인증코드 기반 인증 절차를 수행 시 상기 일반OS와 고립된 보안OS를 통해 인증코드를 생성하여 인증 절차를 수행함으로써, 무선단말의 일반OS가 해킹되거나 변조되더라도 안전하게 무선단말을 이용한 인증을 제공하는 이점이 있다.According to the present invention, when a heterogeneous OS including a general OS and a secure OS is mounted on a wireless terminal, when a wireless terminal transmits an authentication code based authentication procedure in a program (n) of a general OS, An authentication code is generated and an authentication procedure is performed. Thus, even if the general OS of the wireless terminal is hacked or tampered, there is an advantage that authentication using the wireless terminal is securely provided.

도 1은 본 발명의 실시 방법에 따라 무선단말의 보안OS를 이용한 인증 시스템의 구성을 도시한 도면이다.
도 2는 본 발명의 실시 방법에 따른 무선단말의 기능 구성을 도시한 도면이다.
도 3은 본 발명의 실시 방법에 따른 프로그램의 기능 구성을 도시한 도면이다.
도 4는 본 발명의 실시 방법에 따라 보안OS에 프로그램(s)을 준비하는 과정을 도시한 도면이다.
도 5는 본 발명의 실시 방법에 따라 일반OS와 보안OS 간 연동 과정을 도시한 도면이다.
도 6은 본 발명의 실시 방법에 따라 보안OS를 통해 인증코드를 생성하여 인증 절차를 수행하는 과정을 도시한 도면이다.
1 is a diagram illustrating a configuration of an authentication system using a secure OS of a wireless terminal according to an embodiment of the present invention.
2 is a diagram illustrating a functional configuration of a wireless terminal according to an embodiment of the present invention.
3 is a diagram showing a functional configuration of a program according to an embodiment of the present invention.
4 is a diagram illustrating a process of preparing a program s in a secure OS according to an embodiment of the present invention.
5 is a diagram illustrating a process of interworking between a general OS and a secure OS according to an embodiment of the present invention.
6 is a diagram illustrating a process of generating an authentication code through a secure OS according to an embodiment of the present invention and performing an authentication procedure.

이하 첨부된 도면과 설명을 참조하여 본 발명의 바람직한 실시예에 대한 동작 원리를 상세히 설명한다. 다만, 하기에 도시되는 도면과 후술되는 설명은 본 발명의 특징을 효과적으로 설명하기 위한 여러 가지 방법 중에서 바람직한 실시 방법에 대한 것이며, 본 발명이 하기의 도면과 설명만으로 한정되는 것은 아니다. The operation principle of the preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings and description. It should be understood, however, that the drawings and the following detailed description are exemplary and explanatory and are intended to provide further explanation of the invention, and are not to be construed as limiting the present invention.

또한, 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서, 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 발명에서 전반에 걸친 내용을 토대로 내려져야 할 것이다. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. The terms used below are defined in consideration of the functions of the present invention, which may vary depending on the user, intention or custom of the operator. Therefore, the definition should be based on the contents throughout the present invention.

결과적으로, 본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하 실시예는 진보적인 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.As a result, the technical idea of the present invention is determined by the claims, and the following embodiments are merely means for effectively explaining the technical idea of the present invention to a person having ordinary skill in the art to which the present invention belongs Only.

도면1은 본 발명의 실시 방법에 따라 무선단말(200)의 보안OS(220)를 이용한 인증 시스템의 구성을 도시한 도면이다.1 is a diagram illustrating a configuration of an authentication system using a secure OS 220 of a wireless terminal 200 according to an embodiment of the present invention.

보다 상세하게 본 도면1은 사용자의 무선단말(200)을 이용한 인증 처리 시 사용자의 무선단말(200)에 구비된 일반OS(210)와 고립된 별도의 보안OS(220)를 통해 인증코드를 생성하여 상기 제1 통신망을 이용한 인증 요청의 인증 절차를 수행하는 시스템 구성을 도시한 것으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면1을 참조 및/또는 변형하여 상기 인증 시스템에 대한 다양한 실시 방법(예컨대, 일부 구성부가 생략되거나, 또는 세분화되거나, 또는 합쳐진 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면1에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.More specifically, FIG. 1 illustrates a method of generating an authentication code through a secure OS 220 isolated from a normal OS 210 provided in a user's wireless terminal 200 during an authentication process using a user's wireless terminal 200 1 is a block diagram illustrating a system for performing an authentication request authentication procedure using the first communication network according to an embodiment of the present invention. Referring to FIG. 1, It is to be understood that the invention may be practiced otherwise than as specifically described herein, but the invention may be practiced otherwise than as specifically described herein, The technical features thereof are not limited only by the method of implementation.

본 발명에 따른 인증 시스템은, 보안커널(230)을 구비한 보안OS(220)와 커널구조가 공개된 일반OS(210)를 탑재한 사용자의 무선단말(200)을 포함하여 이루어지며, 상기 사용자의 무선단말(200)과 통신하는 모바일서버(110)와, 상기 무선단말(200)의 보안OS(220)를 통해 생성된 인증코드를 인증하는 인증서버(115)를 더 포함할 수 있다. 한편 실시 방법에 따라 상기 인증서버(115)는 상기 모바일서버(110)를 통해 구현될 수 있다. The authentication system according to the present invention includes a security OS 220 having a secure kernel 230 and a wireless terminal 200 of a user having a general OS 210 having a kernel structure disclosed therein, A mobile server 110 that communicates with the wireless terminal 200 of the wireless terminal 200 and an authentication server 115 that authenticates the authentication code generated through the secure OS 220 of the wireless terminal 200. Meanwhile, the authentication server 115 may be implemented through the mobile server 110 according to an embodiment.

상기 사용자의 무선단말(200)을 이용하여 2채널 인증을 제공하는 경우, 상기 인증 시스템은, 상기 사용자의 무선단말(200) 이외에 해당 사용자가 이용하는 사용자 단말(100), 상기 사용자 단말(100)이 제1 통신망을 통해 접속한 인증요청서버(105)를 더 구비하며, 상기 모바일서버(110)는 상기 제1 통신망과 구별되는 별도의 제2 통신망을 통해 상기 사용자의 무선단말(200)과 통신한다. 한편 상기 인증서버(115)는 상기 인증요청서버(105)와 모바일서버(110) 중 적어도 하나의 서버 내에 구현될 수 있으며, 및/또는 상기 인증요청서버(105)와 모바일서버(110)는 하나의 서버 형태로 구현될 수 있다.In the case of providing the 2-channel authentication using the wireless terminal 200 of the user, the authentication system may include a user terminal 100, a user terminal 100 used by the user other than the user's wireless terminal 200 The mobile server 110 further includes an authentication requesting server 105 connected through a first communication network and the mobile server 110 communicates with the user's wireless terminal 200 through a separate second communication network different from the first communication network . Meanwhile, the authentication server 115 may be implemented in at least one of the authentication request server 105 and the mobile server 110, and / or the authentication request server 105 and the mobile server 110 may be one Lt; / RTI > server.

상기 사용자의 무선단말(200)은 보안커널(230)을 구비한 보안OS(220)와 커널구조가 공개된 일반OS(210)를 탑재한 무선 통신용 단말기의 총칭으로서, 바람직하게 보안OS(220)를 구비한 ARM 프로세서를 탑재한 스마트폰, 휴대폰, 태블릿PC 등을 포함할 수 있다. The user's wireless terminal 200 is a general term for a wireless communication terminal equipped with a secure OS 220 having a secure kernel 230 and a general OS 210 having a kernel structure disclosed, A smart phone, a mobile phone, and a tablet PC equipped with an ARM processor equipped with a microprocessor.

상기 모바일서버(110)는 상기 보안OS(220)를 탑재한 사용자의 무선단말(200)과 통신하는 서버의 총칭으로서, 바람직하게 상기 무선단말(200)의 일반OS(210)에 탑재된 프로그램과 통신하는 서버를 포함할 수 있다. 한편 실시 방법에 따라 상기 모바일서버(110)는 상기 무선단말(200)의 보안OS(220)에 탑재된 프로그램과도 통신 가능하며, 이에 의해 본 발명이 한정되지 아니한다.The mobile server 110 is a general term of a server that communicates with a wireless terminal 200 of a user who has installed the secure OS 220. The mobile server 110 preferably includes a program installed in the general OS 210 of the wireless terminal 200, And may include a server that communicates. Meanwhile, the mobile server 110 can communicate with a program installed in the secure OS 220 of the wireless terminal 200 according to an embodiment, and thus the present invention is not limited thereto.

상기 사용자 단말(100)은 상기 무선단말(200) 이외에 상기 사용자가 이용하는 단말의 총칭으로서, 바람직하게 사용자가 이용하는 개인컴퓨터나 노트북과 같은 유선단말을 포함할 수 있다. 그러나 상기 사용자 단말(100)이 유선단말로 한정되는 것은 아니며, 상기 사용자가 이용하는 무선단말(200)을 포함하더라도 무방하다. The user terminal 100 may be a general term of a terminal used by the user in addition to the wireless terminal 200, and may preferably include a personal computer or a wired terminal such as a notebook computer. However, the user terminal 100 is not limited to a wired terminal but may include a wireless terminal 200 used by the user.

상기 인증요청서버(105)는 상기 사용자 단말(100)이 접속하는 서버의 총칭으로서, 바람직하게 2채널 인증을 요청하는 웹서버, 인터넷 뱅킹 서버, 결제서버 등을 적어도 하나 포함할 수 있다. 상기 인증요청서버(105)는 상기 사용자 단말(100)을 통한 거래 절차(또는 사용자 단말(100)로부터 요청된 인증 절차) 중에 상기 모바일서버(110)를 통해 상기 사용자의 무선단말(200)로 인증코드를 요청한다.The authentication request server 105 is a general term of a server to which the user terminal 100 accesses, and may preferably include at least one of a web server, an Internet banking server, and a payment server that requests two-channel authentication. The authentication requesting server 105 authenticates the user's wireless terminal 200 through the mobile server 110 during a transaction procedure (or an authentication procedure requested from the user terminal 100) through the user terminal 100 Request a code.

상기 인증서버(115)는 상기 무선단말(200)의 보안OS(220)를 통해 생성된 인증코드를 인증하는 서버의 총칭으로서, 상기 인증코드가 OTP 형태로 생성되는 경우 상기 OTP를 인증하는 서버를 포함할 수 있다. 또는 인증코드가 세션키 형태로 생성되는 경우 상기 세션키를 인증하는 서버를 포함할 수 있다.The authentication server 115 collectively refers to a server that authenticates an authentication code generated through the secure OS 220 of the wireless terminal 200. When the authentication code is generated in an OTP form, . Or a server for authenticating the session key when the authentication code is generated in the form of a session key.

도면2는 본 발명의 실시 방법에 따른 무선단말(200)의 기능 구성을 도시한 도면이다.FIG. 2 is a diagram illustrating a functional configuration of a wireless terminal 200 according to an embodiment of the present invention.

보다 상세하게 본 도면2는 보안커널(230)을 구비한 보안OS(220)와 커널구조가 공개된 일반OS(210)를 탑재한 무선단말(200)에서 상기 보안OS(220)를 통해 인증코드를 생성하여 일반OS(210)를 통해 인증 절차에 이용하는 기능 구성을 도시한 것으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면2를 참조 및/또는 변형하여 상기 무선단말(200) 기능에 대한 다양한 실시 방법을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면2에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다. 바람직하게, 본 도면2의 무선단말(200)은 보안OS(220)와 일반OS(210)를 탑재한 스마트폰, 태블릿PC, PDA 등의 각종 단말기를 포함할 수 있다.2 is a block diagram illustrating a configuration of a wireless terminal 200 equipped with a security OS 220 having a secure kernel 230 and a general OS 210 having a kernel structure disclosed therein, 2 is a block diagram illustrating a functional configuration of a wireless terminal according to an exemplary embodiment of the present invention. Referring to FIG. 2, The present invention is not limited to the above-described embodiments, and various changes and modifications may be made without departing from the scope of the present invention. The wireless terminal 200 of FIG. 2 may include various terminals such as a smart phone, a tablet PC, and a PDA equipped with the secure OS 220 and the general OS 210.

도면2를 참조하면, 상기 무선단말(200)은, 제어부(205)와 메모리부(265)와 화면출력부(235)와 사용자입력부(240)와 사운드처리부(245)와 근거리 무선 통신부(250)와 무선망 통신부(255)와 USIM 리더부(260) 및 USIM를 구비하며, 전원 공급을 위한 배터리를 구비한다.2, the wireless terminal 200 includes a control unit 205, a memory unit 265, a screen output unit 235, a user input unit 240, a sound processing unit 245, and a short- A wireless network communication unit 255, a USIM reader unit 260, and a USIM, and has a battery for power supply.

상기 제어부(205)는 상기 무선단말(200)의 동작을 제어하는 구성의 총칭으로서, 물리적으로 프로세서와 실행 메모리를 포함하여 구성되며, 상기 무선단말(200)에 구비된 각 구성부와 버스(BUS)를 통해 연결된다. 바람직하게, 상기 프로세서는 ARM 프로세서를 포함할 수 있다.The control unit 205 is a collective term for controlling the operation of the wireless terminal 200. The control unit 205 physically includes a processor and an execution memory and is connected to each component provided in the wireless terminal 200 and a bus ). Preferably, the processor may comprise an ARM processor.

본 발명에 따르면, 상기 제어부(205)는 커널구조와 API 및 드라이버 등이 공개된 일반OS(210)(Normal Operating System)가 운영되는 노멀월드와, 상기 일반OS(210)와 구별되는 보안커널(230)을 구비한 보안OS(220)(Secure Operating System)가 운영되는 시큐어월드를 포함하여 이루어진다. 상기 노멀월드와 시큐어월드는 상호 고립된 구조로 이루어진다. 바람직하게, 상기 보안OS(220)는 ARM 프로세서의 트러스트존(Trust Zone)을 포함한다. 이하, 편의상 상기 일반OS(210)와 보안OS(220) 상에서 본 발명을 위한 기능적 구성을 본 제어부(205)에 도시하여 설명하기로 한다.According to the present invention, the control unit 205 controls the normal world in which a normal OS 210 in which a kernel structure, an API and a driver are disclosed, and a secure kernel And a secure world in which a secure operating system 220 (Secure Operating System) having an access point 230 is operated. The normal world and the secure world are constructed in a mutually isolated structure. Preferably, the secure OS 220 includes a Trust Zone of the ARM processor. Hereinafter, the functional unit for the present invention will be described on the general OS 210 and the security OS 220 by the control unit 205. FIG.

상기 메모리부(265)는 상기 무선단말(200)에 구비된 저장수단에 대응하는 비휘발성 메모리의 총칭으로서, 상기 제어부(205)를 통해 실행되는 적어도 하나의 프로그램코드와 상기 프로그램코드가 이용하는 적어도 하나의 데이터셋트를 저장하여 유지한다. The memory unit 265 is a generic name of the nonvolatile memory corresponding to the storage unit included in the wireless terminal 200 and includes at least one program code executed through the control unit 205 and at least one And stores the data set.

본 발명에 따르면, 상기 메모리부(265)는 일반OS(210)에서 접근하는 일반OS 저장영역과 보안OS(220)에서 접근하는 보안OS 저장영역을 포함할 수 있으며, 일반OS(210)는 보안OS 저장영역에 접근할 수 없다. 상기 일반OS 저장영역에는 일반OS(210)를 통해 실행되는 애플리케이션에 대응하는 프로그램코드와 상기 일반OS(210)의 애플리케이션이 이용하는 적어도 하나의 데이터셋트를 저장할 수 있다. 한편 상기 보안OS 저장영역에는 보안OS(220)를 통해 실행되는 애플리케이션에 대응하는 프로그램코드와 상기 보안OS(220)의 애플리케이션이 이용하는 적어도 하나의 데이터셋트를 저장할 수 있다.According to the present invention, the memory unit 265 may include a general OS storage area accessed by the general OS 210 and a secure OS storage area accessed by the secure OS 220, I can not access the OS storage area. The general OS storage area may store program codes corresponding to applications executed through the general OS 210 and at least one data set used by applications of the general OS 210. [ The secure OS storage area may store program codes corresponding to applications executed through the secure OS 220 and at least one data set used by applications of the secure OS 220. [

상기 일반OS(210)는 커널구조가 공개된 커널(이하, 보안OS(220)의 보안커널(230)과 대비하여 “일반커널(215)”이라고 함)을 구비하며, 상기 일반OS(210)의 일반커널(215)은 상기 화면출력부(235), 사용자입력부(240), 사운드처리부(245), 근거리 무선 통신부(250), 무선망 통신부(255) 등, 상기 무선단말(200)의 각종 자원에 접근할 수 있으며, 이를 위한 일반OS(210) 상의 드라이버를 구비할 수 있다. 상기 일반OS(210)의 일반커널(215)은 상기 보안OS 저장영역에는 접근할 수 없으며, 상기 일반OS(210)와 보안OS(220)는 상호 고립된다.The generic OS 210 has a kernel (hereinafter referred to as a "general kernel 215" in contrast to the security kernel 230 of the secure OS 220) The general kernel 215 of the wireless terminal 200 includes various components such as the screen output unit 235, the user input unit 240, the sound processing unit 245, the short range wireless communication unit 250, the wireless network communication unit 255, Resources, and may include a driver on the general OS 210 for this purpose. The general kernel 215 of the generic OS 210 can not access the secure OS storage area and the generic OS 210 and the secure OS 220 are isolated from each other.

상기 보안OS(220)는 커널구조가 공개되지 않은 보안커널(230)을 구비하며, 상기 보안OS(220)의 보안커널(230)은 상기 화면출력부(235), 사용자입력부(240), 사운드처리부(245), 근거리 무선 통신부(250), 무선망 통신부(255) 등, 상기 무선단말(200)의 각종 자원에 접근할 수 있으며, 이를 위한 보안OS(220) 상의 드라이버를 구비할 수 있다. 바람직하게, 상기 보안OS(220)의 보안커널(230)은 상기 일반OS 저장영역에 접근할 수 없으며, 상기 보안OS(220)와 일반OS(210)는 상호 고립된다.The secure OS 220 includes a secure kernel 230 in which the kernel structure is not disclosed and the secure kernel 230 of the secure OS 220 includes the screen output unit 235, the user input unit 240, The mobile terminal 200 can access various resources of the wireless terminal 200 such as a processor 245, a short range wireless communication unit 250 and a wireless network communication unit 255 and can include a driver on the secure OS 220 for this purpose. Preferably, the secure kernel 230 of the secure OS 220 can not access the normal OS storage area, and the secure OS 220 and the normal OS 210 are isolated from each other.

상기 화면출력부(235)는 상기 무선단말(200)에 구비된 화면출력수단으로서, 바람직하게 LCD(Liquid Crystal Display)와 같은 디스플레이를 포함하거나, 또는 터치입력부를 포함하는 터치스크린을 포함할 수 있다. The screen output unit 235 may include a display such as a liquid crystal display (LCD) or a touch screen including a touch input unit as a screen output unit provided in the wireless terminal 200 .

상기 일반OS(210)의 일반커널(215)은 상기 화면출력부(235)의 디스플레이 내지 터치스크린에 접근하여 제어하기 위한 드라이버를 구비하며, 상기 일반커널(215)이 상기 화면출력부(235)에 접근하여 제어하는 경우 상기 보안OS(220)는 상기 화면출력부(235)에 접근할 수 없다.The general kernel 215 of the general OS 210 includes a driver for accessing and controlling the display or the touch screen of the screen output unit 235. The general kernel 215 is connected to the screen output unit 235, The security OS 220 can not access the screen output unit 235. In this case,

상기 보안OS(220)의 보안커널(230)은 상기 화면출력부(235)의 디스플레이 내지 터치스크린에 접근하여 제어하기 위한 별도의 보안 드라이버를 구비하며, 상기 보안커널(230)이 상기 화면출력부(235)에 접근하여 제어하는 경우 상기 일반OS(210)는 상기 화면출력부(235)에 접근할 수 없다.The secure kernel 230 of the secure OS 220 has a separate security driver for accessing and controlling the display or the touch screen of the screen output unit 235, The general OS 210 can not access the screen output unit 235 when accessing and controlling the display unit 235. [

상기 사용자입력부(240)는 상기 무선단말(200)에 구비된 사용자 입력수단으로서, 상기 화면출력부(235)가 터치스크린을 포함하는 경우 상기 터치스크린의 터치입력부를 포함할 수 있으며, 실시 방법에 따라 키패드, 키버튼을 포함할 수 있다.The user input unit 240 may include a touch input unit of the touch screen when the screen output unit 235 includes a touch screen. A keypad, and a key button.

상기 일반OS(210)의 일반커널(215)은 상기 사용자입력부(240)의 터치입력부 내지 키패드나 키버튼에 접근하여 제어하기 위한 드라이버를 구비하며, 상기 일반커널(215)이 상기 사용자입력부(240)에 접근하여 제어하는 경우 상기 보안OS(220)는 상기 사용자입력부(240)에 접근할 수 없다.The general kernel 215 of the general OS 210 includes a driver for accessing and controlling a touch input unit, a keypad or a key button of the user input unit 240. The general kernel 215 controls the user input unit 240 The security OS 220 can not access the user input unit 240. In this case,

상기 보안OS(220)의 보안커널(230)은 상기 사용자입력부(240)의 터치입력부 내지 키패드나 키버튼에 접근하여 제어하기 위한 별도의 보안 드라이버를 구비하며, 상기 보안커널(230)이 상기 사용자입력부(240)에 접근하여 제어하는 경우 상기 일반OS(210)는 상기 사용자입력부(240)에 접근할 수 없다.The secure kernel 230 of the secure OS 220 has a separate security driver for accessing and controlling the touch input unit, keypad or key button of the user input unit 240, When accessing and controlling the input unit 240, the general OS 210 can not access the user input unit 240.

상기 사운드처리부(245)는 상기 무선단말(200)에 구비된 사운드출력수단과 사운드입력수단으로서, 사운드를 출력하는 스피커와 사운드를 입력받는 마이크로폰을 포함할 수 있다.The sound processing unit 245 may include sound output means and sound input means provided in the wireless terminal 200 and may include a speaker for outputting sound and a microphone for receiving sound.

상기 일반OS(210)의 일반커널(215)은 상기 사운드처리부(245)의 스피커 내지 마이크로폰에 접근하여 제어하기 위한 드라이버를 구비하며, 상기 일반커널(215)이 상기 사운드처리부(245)에 접근하여 제어하는 경우 상기 보안OS(220)는 상기 일반OS(210)가 제어하는 사운드처리부(245)에 접근할 수 없다.The general kernel 215 of the general OS 210 includes a driver for accessing and controlling the speaker or microphone of the sound processing unit 245. The general kernel 215 accesses the sound processing unit 245 The security OS 220 can not access the sound processing unit 245 controlled by the general OS 210. [

상기 보안OS(220)의 보안커널(230)은 상기 사운드처리부(245)의 스피커 내지 마이크로폰에 접근하여 제어하기 위한 별도의 보안 드라이버를 구비하며, 상기 보안커널(230)이 상기 사운드처리부(245)에 접근하여 제어하는 경우 상기 일반OS(210)는 상기 보안OS(220)가 제어하는 사운드처리부(245)에 접근할 수 없다.The secure kernel 230 of the secure OS 220 includes a separate security driver for accessing and controlling the speaker or microphone of the sound processing unit 245. The secure kernel 230 is provided to the sound processing unit 245, The general OS 210 can not access the sound processing unit 245 controlled by the secure OS 220. In this case,

상기 무선망 통신부(255)와 근거리 무선 통신부(250)는 상기 무선단말(200)을 통신망에 접속시키는 통신수단으로서, 바람직하게 상기 무선단말(200)은 무선망 통신부(255)를 기본 통신수단으로 구비할 수 있으며, 하나 이상의 근거리 무선 통신부(250)를 더 구비할 수 있다.The wireless network communication unit 255 and the short-range wireless communication unit 250 are communication means for connecting the wireless terminal 200 to a communication network. Preferably, the wireless terminal 200 includes a wireless network communication unit 255 as a basic communication unit And may further include one or more short-range wireless communication units 250. FIG.

상기 무선망 통신부(255)는 상기 무선단말(200)을 기지국을 경유하는 무선 통신망에 접속시키는 통신수단의 총칭으로서, 특정 주파수 대역의 무선 주파수 신호를 송수신하는 안테나, RF모듈, 기저대역모듈, 신호처리모듈을 적어도 하나 포함한다. 상기 무선망 통신부(255)는 상기 무선단말(200)을 교환기를 경유하는 통화채널과 데이터채널을 포함하는 통화망에 연결할 수 있으며, 경우에 따라 상기 교환기를 경유하지 않고 패킷 통신 기반의 무선망 데이터 통신(예컨대, 인터넷)을 제공하는 데이터망에 연결할 수 있다.The wireless network communication unit 255 collectively refers to communication means for connecting the wireless terminal 200 to a wireless communication network via a base station. The wireless network communication unit 255 includes an antenna for transmitting and receiving a radio frequency signal of a specific frequency band, an RF module, And at least one processing module. The wireless network communication unit 255 may connect the wireless terminal 200 to a call network including a call channel and a data channel via an exchange and may transmit wireless network data based on a packet communication, To a data network providing communication (e.g., the Internet).

본 발명의 실시 방법에 따르면, 상기 무선망 통신부(255)는 CDMA/WCDMA/LTE 규격에 따라 이동 통신망에 접속, 위치등록, 호처리, 통화연결, 데이터통신, 핸드오프를 적어도 하나 수행하는 이동 통신 구성을 포함한다. 한편 당업자의 의도에 따라 상기 무선망 통신부(255)는 IEEE 802.16 관련 규격에 따라 휴대인터넷에 접속, 위치등록, 데이터통신, 핸드오프를 적어도 하나 수행하는 휴대 인터넷 통신 구성을 더 포함할 수 있으며, 상기 무선망 통신부(255)가 제공하는 무선 통신 구성에 의해 본 발명이 한정되지 아니함을 명백히 밝혀두는 바이다. 즉, 상기 무선망 통신부(255)는 무선 구간의 주파수 대역이나 통신망의 종류 또는 프로토콜에 무관하게 셀 기반의 기지국을 통해 무선 통신망에 접속하는 구성부의 총칭이다.According to an embodiment of the present invention, the wireless network communication unit 255 is a mobile communication unit that performs at least one of connection to a mobile communication network, location registration, call processing, call connection, data communication, and handoff according to the CDMA / WCDMA / ≪ / RTI > Meanwhile, according to the intention of a person skilled in the art, the wireless network communication unit 255 may further include a portable internet communication configuration for performing at least one of connection to the portable Internet, location registration, data communication and handoff according to the IEEE 802.16 standard, It is evident that the present invention is not limited by the wireless communication configuration provided by the wireless network communication unit 255. [ That is, the wireless network communication unit 255 is a general term for a component that accesses a wireless communication network through a cell-based base station irrespective of a frequency band of a wireless section, a type of a communication network, or a protocol.

상기 일반OS(210)의 일반커널(215)은 상기 무선망 통신부(255)에 접근하여 제어하기 위한 드라이버를 구비하며, 상기 일반커널(215)이 상기 사운드처리부(245)에 접근하여 제어하는 경우 상기 보안OS(220)는 상기 일반OS(210)가 제어하는 무선망 통신부(255)에 접근할 수 없다.The general kernel 215 of the general OS 210 includes a driver for accessing and controlling the wireless network communication unit 255. When the general kernel 215 accesses and controls the sound processing unit 245 The security OS 220 can not access the wireless network communication unit 255 controlled by the general OS 210. [

상기 보안OS(220)의 보안커널(230)은 상기 무선망 통신부(255)에 접근하여 제어하기 위한 별도의 보안 드라이버를 구비하며, 상기 보안커널(230)이 상기 무선망 통신부(255)에 접근하여 제어하는 경우 상기 일반OS(210)는 상기 보안OS(220)가 제어하는 무선망 통신부(255)에 접근할 수 없다.The secure kernel 230 of the secure OS 220 has a separate security driver for accessing and controlling the wireless network communication unit 255. The secure kernel 230 may access the wireless network communication unit 255 The general OS 210 can not access the wireless network communication unit 255 controlled by the secure OS 220. [

상기 근거리 무선 통신부(250)는 일정 거리 이내(예컨대, 10m 내외)에서 무선 주파수 신호를 통신매체로 이용하여 통신세션을 연결하고 이를 기반으로 상기 무선단말(200)을 통신망에 접속시키는 통신수단의 총칭으로서, 바람직하게 와이파이 통신, 블루투스 통신, 공중무선 통신, UWB 중 적어도 하나를 통해 상기 무선단말(200)을 통신망에 접속시킬 수 있다. 본 발명의 실시 방법에 따르면, 상기 근거리 무선 통신부(250)는 무선AP를 통해 상기 무선단말(200)을 패킷 통신 기반의 근거리 무선 데이터 통신을 제공하는 데이터망에 연결할 수 있다.The short range wireless communication unit 250 is a generic term of communication means for connecting a communication session using a radio frequency signal within a predetermined distance (e.g., about 10 m) as a communication medium and connecting the wireless terminal 200 to the communication network on the basis of the communication session. The wireless terminal 200 can be connected to the communication network through at least one of Wi-Fi communication, Bluetooth communication, public wireless communication, and UWB. According to an embodiment of the present invention, the short-range wireless communication unit 250 can connect the wireless terminal 200 to a data network providing packet-based short-range wireless data communication through a wireless AP.

상기 일반OS(210)의 일반커널(215)은 상기 근거리 무선 통신부(250)에 접근하여 제어하기 위한 드라이버를 구비하며, 상기 일반커널(215)이 상기 사운드처리부(245)에 접근하여 제어하는 경우 상기 보안OS(220)는 상기 일반OS(210)가 제어하는 근거리 무선 통신부(250)에 접근할 수 없다.The general kernel 215 of the general OS 210 includes a driver for accessing and controlling the short range wireless communication unit 250. When the general kernel 215 accesses and controls the sound processing unit 245 The secure OS 220 can not access the short range wireless communication unit 250 controlled by the general OS 210. [

상기 보안OS(220)의 보안커널(230)은 상기 근거리 무선 통신부(250)에 접근하여 제어하기 위한 별도의 보안 드라이버를 구비하며, 상기 보안커널(230)이 상기 근거리 무선 통신부(250)에 접근하여 제어하는 경우 상기 일반OS(210)는 상기 보안OS(220)가 제어하는 근거리 무선 통신부(250)에 접근할 수 없다.The secure kernel 230 of the secure OS 220 includes a separate security driver for accessing and controlling the short range wireless communication unit 250. The secure kernel 230 may access the short range wireless communication unit 250 The general OS 210 can not access the short range wireless communication unit 250 controlled by the secure OS 220. In this case,

상기 USIM 리더부(260)는 ISO/IEC 7816 규격을 기반으로 상기 무선단말(200)에 탑재 또는 이탈착되는 범용가입자식별모듈(Universal Subscriber Identity Module)과 적어도 하나의 데이터셋트를 교환하는 구성의 총칭으로서, 상기 데이터셋트는 APDU(Application Protocol Data Unit)를 통해 반이중 통신 방식으로 교환된다.The USIM reader 260 is a generic term of a configuration for exchanging at least one data set with a universal subscriber identity module that is mounted or detached from the mobile station 200 based on the ISO / IEC 7816 standard , And the data set is exchanged in a half duplex communication manner through an APDU (Application Protocol Data Unit).

상기 USIM은 상기 ISO/IEC 7816 규격에 따른 IC칩이 구비된 SIM 타입의 카드로서, 상기 USIM 리더부(260)와 연결되는 적어도 하나의 접점을 포함하는 입출력 인터페이스와, 적어도 하나의 IC칩용 프로그램코드와 데이터셋트를 저장하는 IC칩 메모리와, 상기 입출력 인터페이스와 연결되어 상기 무선단말(200)로부터 전달되는 적어도 하나의 명령에 따라 상기 IC칩용 프로그램코드를 연산하거나 상기 데이터셋트를 추출(또는 가공)하여 상기 입출력 인터페이스로 전달하는 프로세서를 포함하여 이루어진다.The USIM is an SIM type card having an IC chip according to the ISO / IEC 7816 standard, and includes an input / output interface including at least one contact connected to the USIM reader unit 260, (Or processing) the program code for the IC chip or extracting (or processing) the data set in accordance with at least one command transmitted from the wireless terminal 200 in connection with the input / output interface To the input / output interface.

본 발명에 따르면, 일반OS(210)에는 일반커널(215)을 이용하여 동작하는 각종 애플리케이션이 탑재되며, 사용자는 상기 일반OS(210)에서 실행된 각종 애플리케이션이 상기 일반커널(215)을 통해 제어되는 화면출력부(235)를 통해 하나 이상의 인터페이스 화면을 표시한 상태에서 상기 일반커널(215)을 통해 제어되는 사용자입력부(240)에 의한 사용자 조작을 수행하며, 이를 기반으로 상기 일반OS(210)의 애플리케이션은 지정된 동작을 수행하여 사용자에게 각종 서비스를 제공한다. 이하, 일반OS(210) 상에서 본 발명에 따라 동작하는 애플리케이션(또는 애플리케이션에 내장되거나 연동하는 프로그램모듈)을 편의상 “프로그램(n)(300)”이라고 한다. 바람직하게, 상기 프로그램(n)(300)은 일반OS(210)에서 실행되는 인증 앱(Certification Application)과 같이 인증 절차를 수행하는 애플리케이션을 포함할 수 있다. 그러나 상기 프로그램(n)(300)이 인증 앱으로만 한정되는 것은 결코 아니며, 일반OS(210) 상에서 동작하는 애플리케이션이라면 어떠한 애플리케이션이라도 무방하며, 본 발명의 권리범위에 귀속된다.According to the present invention, the general OS 210 is loaded with various applications operating using the general kernel 215, and the user can control various applications executed in the general OS 210 through the general kernel 215 The general OS 210 performs a user operation by a user input unit 240 controlled through the general kernel 215 while displaying one or more interface screens through a screen output unit 235, The application of the present invention performs a designated operation and provides various services to the user. Hereinafter, an application (or a program module embedded in or linked to an application) operating in accordance with the present invention on the general OS 210 is referred to as " program (n) 300 " Preferably, the program (n) 300 may include an application for performing an authentication procedure, such as a Certification Application executed in the general OS 210. However, the program (n) 300 is not limited to an authentication application, and may be any application that operates on the general OS 210, and belongs to the scope of the present invention.

본 발명의 실시 방법에 따르면, 상기 일반OS(210)의 프로그램(n)(300)은 OS 구조 상 일반커널(215)의 상위에 구비되며, 일반커널(215)을 이용하여 동작한다.According to an embodiment of the present invention, the program (n) 300 of the general OS 210 is provided in the upper part of the general kernel 215 on the OS structure and operates using the general kernel 215.

본 발명에 따르면, 보안OS(220)에는 보안커널(230)을 기반으로 동작하는 적어도 하나의 보안 애플리케이션이 탑재된다. 상기 보안OS(220) 상의 보안 애플리케이션은 보안커널(230)을 이용하여 동작하며, 필요에 따라 상기 무선단말(200)의 화면출력부(235), 사용자입력부(240), 사운드처리부(245), 무선망 통신부(255), 근거리 무선 통신부(250) 등의 제어 권한을 획득하여 이를 이용할 수 있다. 이하, 일반OS(210) 상에서 본 발명에 따라 동작하는 보안 애플리케이션(또는 보안 애플리케이션에 내장되거나 연동하는 프로그램모듈)을 편의상 “프로그램(s)(340)”이라고 한다. 바람직하게, 상기 프로그램(s)(340)은 보안OS(220)에서 실행되는 보안 앱을 포함할 수 있다. According to the present invention, at least one security application operating on the secure kernel 230 is installed in the secure OS 220. The security application on the secure OS 220 operates using the secure kernel 230 and may be used by the screen output unit 235 of the wireless terminal 200, the user input unit 240, the sound processing unit 245, The wireless network communication unit 255, the short-range wireless communication unit 250, and the like. Hereinafter, a security application (or a program module embedded in or interacting with a security application) operating in accordance with the present invention on a generic OS 210 is referred to as "program (s) 340" for convenience. Preferably, the program (s) 340 may include a secure app running in the secure OS 220.

본 발명의 실시 방법에 따르면, 상기 보안OS(220)의 프로그램(s)(340)은 OS 구조 상 보안커널(230)의 상위에 구비되며, 보안커널(230)을 이용하여 동작한다.According to an embodiment of the present invention, the program (s) 340 of the secure OS 220 is provided in the upper part of the secure kernel 230 on the OS structure and operates using the secure kernel 230.

본 발명에 따르면, 상기 보안OS(220)(또는 일반OS(210)와 보안OS(220) 사이)에는 상기 무선단말(200)의 OS를 일반OS(210)에서 보안OS(220)로 전환하기 위한 일련의 절차를 수행하거나, 또는 보안OS(220)에서 일반OS(210)로 전환하기 위한 일련의 절차를 수행하는 보안 모니터(225)(Secure Monitor)를 구비한다. 상기 보안 모니터(225)는 보안OS(220)의 명령을 사용하므로, 편의상 본 도면2는 상기 보안 모니터(225)가 보안OS(220)에 구비된 것으로 도시하여 설명하기로 한다.The OS of the wireless terminal 200 is switched from the general OS 210 to the secure OS 220 in the secure OS 220 (or between the general OS 210 and the secure OS 220) Or a security monitor 225 (Secure Monitor) that performs a series of procedures for switching from the secure OS 220 to the generic OS 210. [ Since the security monitor 225 uses the command of the secure OS 220, FIG. 2 illustrates the security monitor 225 as being provided in the secure OS 220 for the sake of convenience.

상기 보안 모니터(225)는 커널을 통해 SMC(Secure Monitor Call) 명령이 발생하거나, OS전환에 대응하는 IRQ(Interrupt Request) 내지 FIQ(Fast Interrupt Request)가 발생하는 경우에 무선단말(200)의 OS를 전환하는 절차를 수행할 수 있다. The security monitor 225 monitors whether an SMC (Secure Monitor Call) command is issued through the kernel or an IRQ (Interrupt Request) to FIQ (Fast Interrupt Request) Can be performed.

도면3은 본 발명의 실시 방법에 따른 프로그램의 기능 구성을 도시한 도면이다.3 is a diagram showing a functional configuration of a program according to an embodiment of the present invention.

보다 상세하게 본 도면3은 일반OS(210)의 프로그램(n)(300)과 보안OS(220)의 프로그램(s)(340)의 기능 구성을 도시한 것으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면3을 참조 및/또는 변형하여 상기 프로그램의 기능에 대한 다양한 실시 방법을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면3에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다. 3 shows a functional configuration of a program (n) 300 of the general OS 210 and a program (s) 340 of the secure OS 220. In the technical field of the present invention, It will be understood by those skilled in the art that various changes and modifications of the program may be made without departing from the spirit and scope of the present invention as defined by the following claims. The technical features thereof are not limited only by the method shown in FIG.

도면3을 참조하면, 상기 보안OS(220)의 프로그램(s)(340)은, 인증코드를 생성하기 위한 코드생성알고리즘을 내장하며, 인증코드를 생성하기 위해 상기 코드생성알고리즘에 대입할 고정 키 값을 확인하여 보안OS 저장영역에 저장하는 키 값 저장부(345)를 구비한다.Referring to FIG. 3, the program (s) 340 of the secure OS 220 includes a code generation algorithm for generating an authentication code, and includes a fixed key And a key value storage unit 345 for storing the value in the secure OS storage area.

상기 프로그램(s)(340)은 보안OS(220)에서 실행되어 인증코드를 생성하는 프로그램의 총칭으로서, 바람직하게 인증코드를 생성하기 위한 코드생성알고리즘(예컨대, MD4, MD5, SHA 등의 해시알고리즘)을 내장한다. 상기 프로그램(s)(340)은 지정된 보안 절차에 따라 상기 보안OS 저장영역에 기록되고, 무선단말(200)의 OS가 보안OS(220)로 전환됨에 의해 실행된다.The program (s) 340 is a generic name of a program that is executed in the secure OS 220 and generates an authentication code. The program (s) 340 preferably includes a code generation algorithm (for example, a hash algorithm such as MD4, MD5, SHA, ). The program (s) 340 is recorded in the secure OS storage area according to a specified security procedure, and is executed when the OS of the wireless terminal 200 is switched to the secure OS 220.

상기 보안OS(220)에 탑재된 프로그램(s)(340)이 최초 1회 이상 실행되면, 상기 키 값 저장부(345)는 보안OS 저장영역 상의 지정된 키 값 저장영역에 인증코드를 생성하는데 필요한 고정 키 값이 저장되어 있는지 확인한다. 만약 상기 키 값 저장영역에 인증코드 생성에 필요한 고정 키 값이 저장되지 않은 경우, 상기 키 값 저장부(345)는 지정된 절차에 따라 하나 이상의 고정 키 값을 획득하여 상기 키 값 저장영역에 저장한다. 바람직하게, 상기 키 값 저장부(345)는 상기 무선단말(200)의 통신수단(예컨대, 무선망 통신부(255), 근거리 무선 통신부(250) 등)을 이용하여 모바일서버(110)(또는 모바일서버(110)를 경유하여 인증서버(115))와 통신하여 키 값을 수신하거나, 또는 상기 모바일서버(110)(또는 모바일서버(110)를 경유하여 인증서버(115))와 지정된 키 교환 절차를 수행하여 키 값을 획득할 수 있다. 또는 상기 키 값 저장부(345)는 상기 무선단말(200)에 할당된 고유한 정보(예컨대, MIN, IMSI, IMEI 등) 중 적어도 하나를 획득할 수 있다. 상기 키 값 저장부(345)는 상기 획득된 하나 이상의 고정 키 값을 상기 보안OS 저장영역에 설정된 키 값 저자영역에 저장하며, 일반OS(210)는 상기 키 값 저장영역에 접근할 수 없다.When the program (s) 340 installed in the secure OS 220 is executed at least once, the key value storage unit 345 stores the key value storage area Make sure that the fixed key value is stored. If a fixed key value required for generating an authentication code is not stored in the key value storage area, the key value storage unit 345 acquires one or more fixed key values according to a designated procedure and stores the obtained fixed value in the key value storage area . The key value storage unit 345 may store the key value in the mobile server 110 (or the mobile terminal 110) using the communication unit of the wireless terminal 200 (e.g., the wireless network communication unit 255, (Or the authentication server 115 via the mobile server 110 to the authentication server 115 via the server 110 to receive the key value) To obtain a key value. Alternatively, the key value storage unit 345 may acquire at least one of unique information (e.g., MIN, IMSI, IMEI, etc.) allocated to the mobile station 200. The key value storage unit 345 stores the obtained one or more fixed key values in the key value author area set in the secure OS storage area, and the general OS 210 can not access the key value storage area.

도면3을 참조하면, 상기 보안OS(220)의 프로그램(s)(340)은, 보안OS(220) 상에서 인증코드를 동적으로 생성하기 위한 PIN(Personal Identification Number) 인증을 수행하기 위한 PIN 정보를 등록하는 PIN 등록부(350)를 구비한다.Referring to FIG. 3, the program (s) 340 of the secure OS 220 includes PIN information for performing PIN (Personal Identification Number) authentication for dynamically generating an authentication code on the secure OS 220 And a PIN registration unit 350 for registering the PIN.

상기 보안OS(220)에 탑재된 프로그램(s)(340)이 최초 1회 이상 실행되면, 상기 PIN 등록부(350)는 보안OS 저장영역 상의 지정된 PIN 저장영역에 인증코드를 생성하기 위한 PIN 정보가 저장되어 있는지 확인한다. 만약 상기 PIN 저장영역에 PIN 정보가 저장되지 않은 경우, 상기 PIN 등록부(350)는 지정된 절차에 따라 상기 화면출력부(235)와 사용자입력부(240)의 접근 권한을 획득하여 상기 화면출력부(235)에 PIN 등록을 위한 인터페이스를 표시하고, 상기 사용자입력부(240)를 통해 PIN 정보를 입력받아 상기 PIN 저장영역에 저장한다. 바람직하게, 상기 PIN 등록부(350)는 상기 PIN 정보를 지정된 암호화 방식에 따라 암호화하여 상기 PIN 저장영역에 저장할 수 있다. 일반OS(210)는 상기 PIN 저장영역에 접근할 수 없다.When the program (s) 340 mounted on the secure OS 220 is executed at least once, the PIN registration unit 350 registers PIN information for generating an authentication code in a designated PIN storage area on the secure OS storage area Make sure it is saved. If the PIN information is not stored in the PIN storage area, the PIN registration unit 350 acquires the access right of the screen output unit 235 and the user input unit 240 according to a designated procedure and outputs the access right to the screen output unit 235 And receives the PIN information through the user input unit 240 and stores the PIN information in the PIN storage area. The PIN registration unit 350 may encrypt the PIN information according to a designated encryption scheme and store the encrypted PIN information in the PIN storage area. The general OS 210 can not access the PIN storage area.

도면3을 참조하면, 상기 일반OS(210)의 프로그램(n)(300)은, 인증코드를 생성하여 인증 절차를 수행하기 위한 인증요청을 확인하는 인증요청 확인부(305)와, 상기 인증요청 확인 시 일반커널(215)을 통해 보안OS(220)로 전환하는 일련의 절차를 수행하며, 상기 보안OS(220)의 지정된 프로그램(s)(340)에서 접근 가능한 메모리영역을 할당하거나 또는 기 할당된 메모리영역을 확인하는 연동 절차부(310)를 구비한다. 한편 본 발명의 다른 실시 방법에 따르면, 상기 메모리영역을 할당하거나 또는 기 할당된 메모리영역을 확인 절차는 보안OS(220)의 프로그램(s)(340)을 통해 수행될 수 있으며, 본 발명은 프로그램(s)(340)에서 상기 메모리영역을 할당/확인하는 구성을 권리범위로 포함할 수 있음을 명백하게 밝혀두는 바이다.Referring to FIG. 3, the program (n) 300 of the general OS 210 includes an authentication request checking unit 305 for checking an authentication request for generating an authentication code and performing an authentication procedure, (S) 340 of the secure OS 220, or allocates a memory area accessible by the designated program (s) 340 of the secure OS 220, And a linking procedure unit 310 for checking the memory area. According to another embodiment of the present invention, the process of allocating the memory area or checking the pre-allocated memory area may be performed through the program (s) 340 of the secure OS 220, (s) 340 may include the configuration of assigning / checking the memory area as a scope of right.

상기 프로그램(n)(300)은 일반OS(210)에 탑재되고 일반OS(210) 상에서 실행된다. 바람직하게, 상기 프로그램(n)(300)은 사용자입력부(240)를 통해 사용자 조작에 의해 실행되거나, 또는 무선단말(200)의 통신수단을 통한 푸시를 수신함에 의해 실행될 수 있다.The program (n) 300 is loaded on the general OS 210 and is executed on the general OS 210. Preferably, the program (n) 300 may be executed by a user operation via the user input unit 240, or by receiving a push via the communication means of the wireless terminal 200. [

상기 프로그램(n)(300)이 실행되면, 상기 인증요청 확인부(305)는 무선단말(200)에 구비된 보안OS(220)를 통해 인증코드를 생성하여 인증 절차를 수행할지 확인한다. 상기 프로그램(n)(300)이 푸시를 통해 실행된 경우, 상기 인증요청 확인부(305)는 상기 푸시를 통해 인증절차를 수행하기 위한 인증코드가 요청되었는지 확인할 수 있다. 예를들어, 사용자 단말(100)에서 인증요청서버(105)로 2채널 인증을 요청한 경우, 상기 인증요청서버(105)의 요청에 따라 모바일서버(110)는 상기 무선단말(200)의 일반OS(210)로 프로그램(n)(300)을 구동하기 위한 푸시를 통지하는 절차를 수행할 수 있으며, 이 경우 상기 인증요청 확인부(305)는 상기 푸시 수신에 의해 상기 인증절차를 수행하기 위한 인증코드가 요청되었는지 확인할 수 있다. 한편 상기 인증요청은 상기 사용자입력부(240)를 통한 사용자 조작에 의해 요청될 수 있으며, 이에 의해 본 발명이 한정되지 아니한다.When the program (n) 300 is executed, the authentication request confirmation unit 305 generates an authentication code through the secure OS 220 provided in the wireless terminal 200, and confirms whether the program (n) When the program (n) 300 is executed through pushing, the authentication request confirmation unit 305 can confirm whether an authentication code for performing an authentication procedure is requested through the push. For example, when requesting two-channel authentication from the user terminal 100 to the authentication requesting server 105, the mobile server 110 transmits a request for authentication to the general OS 110 of the wireless terminal 200 (N) 300 in response to the push request. In this case, the authentication request confirmation unit 305 may perform a process of authenticating the program (n) You can check if the code is requested. Meanwhile, the authentication request may be requested by the user through the user input unit 240, and thus the present invention is not limited thereto.

상기 연동 절차부(310)는 상기 일반OS(210)에 상기 프로그램(n)(300)이 탑재되어 적어도 최초 1회 실행 시, 상기 무선단말(200)에 보안OS(220)가 탑재되어 있는지 확인하며, 상기 무선단말(200)에 보안OS(220)가 탑재된 경우 상기 보안OS(220)에 인증코드를 생성하는 프로그램(s)(340)을 탑재하기 위한 일련의 절차를 수행할 수 있다. 만약 상기 보안OS(220)에 인증코드를 생성하는 프로그램(s)(340)이 탑재된 경우, 상기 연동 절차부(310)는 상기 보안OS(220)에 상기 프로그램(s)(340)이 탑재되었음을 식별하는 정보 및/또는 상기 보안OS(220)에 탑재된 프로그램(s)(340)을 식별하는 정보 중 적어도 하나의 식별정보를 일반OS 저장영역에 저장하여 유지할 수 있다.The interworking procedure unit 310 checks whether the secure OS 220 is loaded in the wireless terminal 200 at least once during the first execution of the program (n) 300 installed in the general OS 210 (S) 340 for generating an authentication code in the secure OS 220 when the secure OS 220 is installed in the wireless terminal 200. The secure OS 220 may include a program (s) If the program (s) 340 for generating an authentication code is installed in the secure OS 220, the interworking procedure unit 310 causes the secure OS 220 to load the program (s) And / or information identifying the program (s) 340 installed in the secure OS 220, in the general OS storage area.

상기 인증요청 확인부(305)를 통해 인증코드를 이용한 인증요청 확인 시, 상기 연동 절차부(310)는 상기 식별정보를 근거로 상기 보안OS(220)에 상기 프로그램(s)(340)이 탑재되어 있음을 확인하거나 및/또는 상기 보안OS(220)에 탑재된 프로그램(s)(340)을 확인한다.Upon confirming the authentication request using the authentication code through the authentication request confirmation unit 305, the interworking procedure unit 310 transmits the program (s) 340 to the secure OS 220 based on the identification information (S) 340 installed in the secure OS 220. In addition,

상기 인증코드를 이용한 인증요청을 확인하거나 및/또는 상기 식별정보를 통해 상기 보안OS(220)의 프로그램(s)(340)을 확인한 경우, 상기 연동 절차부(310)는 일반커널(215)을 통해 상기 보안OS(220)로 전환하기 직전의 프로그램(n)(300)에 대한 상태정보를 유지시킨다. 바람직하게, 상기 연동 절차부(310)는 무선단말(200)의 OS를 일반OS(210)에서 보안OS(220)로 전환하는 시점에 일반커널(215)을 통해 상기 인증코드를 필요로 하는 프로그램(n)(300)의 상태정보를 일반OS 저장영역에 저장함으로써, 상기 무선단말(200)의 OS가 일반OS(210)에서 보안OS(220)로 전환된 후 다시 보안OS(220)에서 일반OS(210)로 전환되는 경우에 상기 프로그램(n)(300)의 상태가 상기 인증코드를 필요로 하는 상태(예컨대, 프로그램(n)(300)의 인터페이스 화면 상태, 프로그램(n)(300)의 통신세션 상태 등)를 유지하도록 할 수 있다. (S) 340 of the secure OS 220 through the identification information and / or the identification information, the interworking procedure unit 310 reads the general kernel 215 (N) 300 immediately before switching to the secure OS 220 via the network interface. Preferably, the interworking procedure unit 310 transmits a program requiring the authentication code through the general kernel 215 at the time of switching the OS of the wireless terminal 200 from the general OS 210 to the secure OS 220 the OS of the wireless terminal 200 is switched from the general OS 210 to the secure OS 220 by storing the state information of the wireless terminal 200 in the general OS storage area, When the state of the program (n) 300 is changed to a state requiring the authentication code (for example, an interface screen state of the program (n) 300, a program (n) The state of the communication session of the mobile station, etc.).

본 발명의 실시 방법에 따르면, 상기 연동 절차부(310)는 일반커널(215)을 통해 상기 보안OS(220)로 전환 직전(예컨대, SMC 명령을 통해 보안OS(220)를 구동하기 직전)의 프로그램(n)(300)의 상태정보를 유지시킴으로써, 상기 일반OS(210)를 보안OS(220)로 전환하는 과정에서 상기 프로그램(n)(300)이 초기화되거나 및/또는 상기 일반OS(210)를 보안OS(220)로 전환 절차 중에 페이지폴트가 발생하는 등의 예외상황이 발생하더라도, 상기 무선단말(200)의 OS를 보안OS(220)에서 일반OS(210)로 전환하는 시점에 상기 상태정보를 이용하여 상기 프로그램(n)(300)의 상태를 상기 보안OS(220)로 전환 직전의 상태로 복원할 수 있다.According to an embodiment of the present invention, the interworking procedure unit 310 may be configured such that the interworking procedure unit 310 performs the interworking with the secure OS 220 immediately before switching to the secure OS 220 (for example, immediately before the secure OS 220 is driven via the SMC command) The program (n) 300 may be initialized and / or the general OS 210 may be initialized in the process of switching the general OS 210 to the secure OS 220 by maintaining the state information of the program (n) At the time of switching the OS of the wireless terminal 200 from the secure OS 220 to the normal OS 210 even if an exceptional situation occurs such as a page fault occurs during the procedure of switching from the secure OS 220 to the secure OS 220, The state of the program (n) 300 can be restored to the state immediately before switching to the secure OS 220 using the state information.

상기 인증코드를 이용한 인증요청을 확인하거나 및/또는 상기 보안OS(220)의 프로그램(s)(340)을 확인하거나 및/또는 상기 프로그램(n)(300)의 상태정보를 저장한 경우, 상기 연동 절차부(310)는 일반커널(215)을 통해 보안OS(220)를 구동하는 SMC 명령을 발생시킨다. 상기 보안 모니터(225)는 상기 SMC 명령의 유효성을 검증하고, 검증 성공한 경우에 SMC 명령에 따라 보안OS(220)를 구동하는 절차를 수행한다.(S) 340 of the secure OS 220 and / or the status information of the program (n) 300 is stored in the secure OS 220, The interworking procedure unit 310 generates an SMC command for driving the secure OS 220 through the general kernel 215. [ The security monitor 225 verifies the validity of the SMC command and performs a procedure for driving the secure OS 220 according to the SMC command when the verification is successful.

한편 상기 보안OS(220)의 구동을 개시하기 전, 중, 직후의 어느 지정된 일 시점에, 상기 연동 절차부(310)는 상기 프로그램(n)(300)에서 접근 가능하면서 상기 보안OS(220)의 지정된 프로그램(s)(340)에서 접근 가능한 메모리영역을 할당하거나, 또는 기 할당된 메모리영역을 확인한다. 예를들어, 상기 할당되는 메모리영역은 일반OS(210)의 프로그램(n)(300)과 보안OS(220)의 프로그램(s)(340) 사이의 프로세스 간 통신을 위한 공유메모리를 포함할 수 있다. 통상의 공유메모리가 동일한 OS 내의 프로세스 간 통신을 위해 해당 OS 내에 할당되는 반면, 본원의 메모리영역은 일반OS(210)와 보안OS(220)를 포함하는 이종의 OS에서 실행된 이종의 프로세스 간 통신을 제공하기 위한 공유메모리라는 점에서 기술적 특징을 지닌다. Meanwhile, the linking procedure unit 310 can access the security OS 220 while being accessible from the program (n) 300 at a predetermined time point before, during, or after starting the operation of the secure OS 220. [ (S) 340, or identifies the pre-allocated memory area. For example, the allocated memory area may include a shared memory for inter-process communication between the program (n) 300 of the generic OS 210 and the program (s) 340 of the secure OS 220 have. While the common shared memory is allocated within the OS for inter-process communication within the same OS, the memory region of the present invention is used for heterogeneous inter-process communication executed in a heterogeneous OS including the general OS 210 and the secure OS 220 Which is a shared memory for providing the data.

본 발명의 제1 메모리영역 할당 실시 방식에 따르면, 상기 연동 절차부(310)는 일반OS(210) 상에 상기 메모리영역을 할당하거나, 또는 상기 일반OS(210) 상에 할당된 메모리영역을 확인할 수 있다. 이 경우 상기 보안 모니터(225)는 상기 일반OS(210)의 메모리영역에 접근하거나 모니터링할 수 있으며, 상기 보안OS(220)의 프로그램(s)(340)은 보안 모니터(225)를 통해 상기 일반OS(210)의 메모리영역에 간접적으로 접근(또는 참조 접근)할 수 있다.According to the first memory area allocation method of the present invention, the linking procedure unit 310 allocates the memory area on the general OS 210 or confirms the memory area allocated on the general OS 210 . In this case, the security monitor 225 may access or monitor the memory area of the general OS 210, and the program (s) 340 of the secure OS 220 may be accessed through the security monitor 225 (Or access to) the memory area of the OS 210 indirectly.

본 발명의 제2 메모리영역 할당 실시 방식에 따르면, 상기 연동 절차부(310)는 보안 모니터(225) 상에 상기 메모리영역을 할당하거나, 또는 상기 보안 모니터(225)에 할당된 메모리영역을 확인할 수 있다. 이 경우 상기 연동 절차부(310)는 SMC 명령을 통해 상기 보안 모니터(225)에 상기 메모리영역을 할당하거나 또는 상기 보안 모니터(225)에 할당된 메모리영역을 확인할 수 있다. According to the second memory area allocation method of the present invention, the interworking procedure unit 310 allocates the memory area on the security monitor 225 or the memory area allocated to the security monitor 225 have. In this case, the interworking procedure unit 310 can allocate the memory area to the security monitor 225 or check the memory area allocated to the security monitor 225 through the SMC command.

본 발명의 제3 메모리영역 할당 실시 방식에 따르면, 상기 연동 절차부(310)는 상기 프로그램(n)(300)에서 접근(또는 접속) 가능하며 또한 보안OS(220)의 프로그램(s)(340)에서 접근(또는 접속) 가능한 네트워크 상의 모바일서버(110)에 상기 메모리영역을 할당하거나, 또는 상기 모바일서버(110)에 할당된 메모리영역을 확인할 수 있다. 상기 메모리영역이 네트워크 상의 모바일서버(110)에 할당되는 경우, 상기 일반OS(210)의 프로그램(n)(300)과 보안OS(220)의 프로그램(s)(340)은 각기 상기 모바일서버(110)와 통신하여 상기 메모리영역에 주고받을 데이터를 읽거나 쓸 수 있다.According to the third memory area allocation method of the present invention, the interworking procedure unit 310 can access (or access) the program (n) 300 and can also access the program (s) 340 The mobile server 110 can allocate the memory area to the mobile server 110 on the accessable (or connectable) network, or can identify the memory area allocated to the mobile server 110. [ When the memory area is allocated to the mobile server 110 on the network, the program (n) 300 of the general OS 210 and the program (s) 340 of the secure OS 220 are each connected to the mobile server 110 110 to read or write data to and from the memory area.

상기 연동 절차부(310)는 상기 할당된 메모리영역을 참조하는 일반OS(210) 측의 프로세스로 상기 프로그램(n)(300)을 설정할 수 있다. 바람직하게, 상기 연동 절차부(310)는 상기 메모리영역에 상기 프로그램(n)(300)의 PID(Process ID)를 제공함으로써, 상기 보안OS(220)의 프로그램(s)(340)이 동작한 후 상기 프로그램(s)(340)이 상기 할당된 메모리영역에 기록한 데이터를 읽어올 일반OS(210) 측의 프로세스로서 상기 프로그램(n)(300)을 설정할 수 있다.The interworking procedure unit 310 may set the program (n) 300 as a process of the general OS 210 that refers to the allocated memory area. Preferably, the interworking procedure unit 310 provides a PID (Process ID) of the program (n) 300 to the memory area so that the program (s) 340 of the secure OS 220 operates The program (s) 340 can set the program (n) 300 as a process of the general OS 210 to read the data written in the allocated memory area.

상기 제1 내지 3 메모리영역 할당 실시 방식 중 적어도 하나를 통해 상기 보안OS(220)의 프로그램(s)(340)에서 접근 가능한 메모리영역이 할당되거나 또는 기 할당된 메모리영역이 확인된 경우, 상기 연동 절차부(310)는 상기 보안OS(220)에서 상기 할당된 메모리영역에 접근 가능한 프로세스로서 지정된 프로그램(s)(340)을 설정할 수 있다. 예를들어, 상기 연동 절차부(310)는 상기 할당된 메모리영역의 주소 정보(예컨대, RAM 상의 메모리주소, 또는 프로세서에 구비된 RAM의 메모리주소, 또는 상기 메모리영역이 네트워크 상에 할당된 경우 상기 메모리영역을 식별하는 네트워크 주소(및/또는 식별 값) 등)를 확인하고, 상기 보안 모니터(225)를 통해 상기 보안OS(220)의 프로그램(s)(340)이 사용하는 가상의 메모리 주소 공간으로 매핑할 수 있다.If a memory area accessible by the program (s) 340 of the secure OS 220 is allocated or at least one pre-allocated memory area is identified through at least one of the first to third memory area allocation methods, The procedure unit 310 may set a program (s) 340 designated as a process accessible to the allocated memory area in the secure OS 220. [ For example, the interworking procedure unit 310 may store the address information of the allocated memory area (e.g., a memory address of a RAM, a memory address of a RAM provided in the processor, (S) 340 of the secure OS 220 through the security monitor 225 and a network address (and / or identification value) identifying the memory area . ≪ / RTI >

상기 보안OS(220)의 프로그램(s)(340)에서 접근 가능한 메모리영역이 할당/확인되거나 및/또는 상기 메모리영역을 상기 보안OS(220)의 프로그램(s)(340)에서 접근 가능하게 설정한 경우, 상기 연동 절차부(310)는 상기 보안 모니터(225)와 연동하여 상기 일반OS(210)의 프로세스 중 상기 프로그램(n)(300)을 제외한 다른 프로세스에서 상기 메모리영역에 접근하지 못하도록 설정할 수 있다. 바람직하게, 상기 연동 절차부(310)는 상기 보안 모니터(225)의 메모리 접근 제어 기능을 이용하여 상기 일반OS(210)의 프로세스 중 상기 프로그램(n)(300)을 제외한 다른 프로세스에서 상기 메모리영역에 접근하지 못하도록 설정할 수 있다.(S) 340 of the secure OS 220 is allocated / verified and / or the memory area is made accessible in the program (s) 340 of the secure OS 220 The interworking procedure unit 310 is configured to interlock with the security monitor 225 to prevent access to the memory area from other processes other than the program (n) 300 of the processes of the general OS 210 . Preferably, the interworking procedure unit 310 uses the memory access control function of the security monitor 225 to control the process of the general OS 210 in a process other than the program (n) Can not be accessed.

상기 SMC 명령에 의해 보안OS(220)가 구동되고 상기 보안OS(220)의 프로그램(s)(340)이 실행되면, 상기 할당/확인된 메모리영역의 접근 권한은 상기 보안 모니터(225)에 의해 상기 보안OS(220)의 지정된 프로그램(s)(340)에게 부여된다.When the secure OS 220 is activated by the SMC command and the program (s) 340 of the secure OS 220 is executed, the access right of the allocated / confirmed memory area is managed by the security monitor 225 (S) 340 of the secure OS 220. In this case,

도면3을 참조하면, 상기 보안OS(220)의 프로그램(s)(340)은, 상기 제1 내지 3 메모리영역 할당 실시 방식 중 적어도 하나를 통해 할당된 메모리영역을 확인하고 상기 메모리영역을 참조하기 위한 절차를 수행하는 연동 처리부(355)를 구비한다. Referring to FIG. 3, the program (s) 340 of the secure OS 220 may identify a memory area allocated through at least one of the first to third memory area allocation methods and refer to the memory area And an interlock processing unit 355 for performing a procedure for interlocking.

상기 보안OS(220)가 구동되고 상기 보안OS(220)의 프로그램(s)(340)이 실행되면, 상기 연동 처리부(355)는 상기 보안 모니터(225)를 통해 수행되는 동작 절차와 연동하여 상기 제1 내지 3 메모리영역 할당 실시 방식 중 적어도 하나를 통해 할당된 메모리영역을 확인하고, 상기 프로그램(s)(340)에서 상기 메모리영역에 접근하기 위한 일련의 절차를 수행한다. 바람직하게, 상기 연동 처리부(355)는 상기 메모리영역에 대한 접근 권한을 획득하는 절차를 수행할 수 있다.When the secure OS 220 is activated and the program (s) 340 of the secure OS 220 is executed, the interworking processor 355 interlocks with the operation procedure performed through the security monitor 225, (S) 340, and performs a series of procedures for accessing the memory area in the program (s) 340. The program (s) Preferably, the interlocking processor 355 may perform a procedure of obtaining an access right to the memory area.

한편 상기 연동 처리부(355)는 프로그램(s)(340)에서 상기 메모리영역을 참조하기 전에 언제라도 상기 메모리영역을 확인할 수 있으며, 상기 연동 처리부(355)가 상기 메모리영역을 확인하는 특정한 시점에 의해 본 발명이 한정되지 아니한다. Meanwhile, the interworking processor 355 may check the memory area at any time before referring to the memory area in the program (s) 340, and the interlocking processor 355 may check the memory area at a specific time The present invention is not limited thereto.

도면3을 참조하면, 상기 보안OS(220)의 프로그램(s)(340)은, 상기 PIN 등록부(350)를 통해 보안OS(220)의 지정된 PIN 저장영역에 사용자의 PIN 정보가 저장된 경우, 상기 무선단말(200)의 입력수단을 통해 PIN 정보를 입력받아 유효성을 인증하는 PIN 인증부(360)를 구비할 수 있다.Referring to FIG. 3, when the user's PIN information is stored in the designated PIN storage area of the secure OS 220 through the PIN registration unit 350, the program (s) And a PIN authentication unit 360 for receiving the PIN information through the input means of the wireless terminal 200 and authenticating the validity.

상기 보안OS(220)가 구동되고 상기 보안OS(220)의 프로그램(s)(340)이 실행되면, 상기 PIN 인증부(360)는 지정된 절차에 따라 상기 화면출력부(235)와 사용자입력부(240)의 접근 권한을 획득하여 상기 화면출력부(235)에 PIN 인증을 위한 인터페이스를 표시하고, 상기 사용자입력부(240)를 통해 PIN 정보를 입력받은 후, 상기 PIN 저장영역에 저장된 PIN 정보와 비교(또는 검증 연산)을 수행하여 상기 입력된 PIN 정보의 유효성을 인증할 수 있다.When the secure OS 220 is activated and the program (s) 340 of the secure OS 220 is executed, the PIN authenticator 360 transmits the screen output unit 235 and the user input unit 240, displays an interface for PIN authentication on the screen output unit 235, inputs PIN information through the user input unit 240, and compares the PIN information with the PIN information stored in the PIN storage area (Or verification operation) to verify the validity of the input PIN information.

도면3을 참조하면, 상기 보안OS(220)의 프로그램(s)(340)은, 코드생성알고리즘을 이용하여 상기 인증요청에 대응하는 인증코드를 생성하는 인증코드 생성부(370)를 구비하며, 실시 방법에 따라 상기 코드생성알고리즘에 대입할 하나 이상의 고정 키 값 및/또는 적어도 하나의 동적 키 값을 확인하는 키 값 확인부(365)를 구비할 수 있다.Referring to FIG. 3, the program (s) 340 of the secure OS 220 includes an authentication code generation unit 370 for generating an authentication code corresponding to the authentication request using a code generation algorithm, And a key value verifier 365 for verifying at least one fixed key value and / or at least one dynamic key value to be substituted into the code generation algorithm according to an embodiment of the present invention.

상기 보안OS(220)가 구동되고 상기 보안OS(220)의 프로그램(s)(340)이 실행되거나 및/또는 상기 PIN 인증이 성공한 경우, 상기 인증코드 생성부(370)는 상기 일반OS(210)의 프로그램(n)(300)을 통해 확인된 인증요청에 대응하여 상기 보안OS(220)의 코드생성알고리즘을 통해 인증코드를 동적 생성한다.When the security OS 220 is activated and the program (s) 340 of the secure OS 220 is executed and / or the PIN authentication is successful, the authentication code generation unit 370 generates the authentication code (N) 300 of the secure OS 220 in response to the authentication request identified through the program (n) 300 of FIG.

한편 상기 인증코드를 생성하기 위해 하나 이상의 고정 키 값이 필요한 경우, 상기 키 값 확인부(365)는 상기 키 값 저장부(345)를 통해 상기 보안OS(220)의 지정된 키 값 저장영역에 저장된 하나 이상의 고정 키 값을 확인하며, 상기 인증코드 생성부(370)는 상기 고정 키 값을 상기 코드생성알고리즘의 씨드로 대입하여 상기 인증요청에 대응하는 인증코드를 동적 생성할 수 있다.On the other hand, if more than one fixed key value is needed to generate the authentication code, the key value verifier 365 stores the key value in the key value storage area of the secure OS 220 through the key value storage 345 The authentication code generation unit 370 can dynamically generate an authentication code corresponding to the authentication request by substituting the fixed key value into the seed of the code generation algorithm.

한편 상기 인증코드를 생성하기 위해 적어도 하나의 동적 키 값이 필요한 경우, 상기 키 값 확인부(365)는 상기 보안OS(220)에서 이용 가능한 자원을 이용하여 지정된 코드생성알고리즘에 대입할 적어도 하나의 동적 키 값을 확인할 수 있다. 예를들어, 상기 키 값 확인부(365)는 상기 보안OS(220)에서 접근 가능한 타이머를 이용하여 보안OS(220)의 타이머를 통해 확인하는 시각 값을 상기 코드생성알고리즘에 대입할 동적 키 값으로 확인하거나, 및/또는 상기 무선단말(200)의 통신수단에 대한 접근 권한을 획득하고, 상기 통신수단을 통해 모바일서버(110)(또는 모바일서버(110)를 경유하여 인증서버(115))로부터 상기 코드생성알고리즘의 동적 씨드로 이용될 키 값(예컨대, 난수 값 등)을 수신하거나, 또는 지정된 키 교환 알고리즘에 따라 상기 모바일서버(110)(또는 모바일서버(110)를 경유하여 인증서버(115))와 동적 씨드로 이용될 키 값을 교환하는 절차를 수행할 수 있다. 상기 키 값 확인부(365)를 통해 적어도 하나의 동적 키 값이 확인된 경우, 상기 인증코드 생성부(370)는 상기 동적 키 값을 상기 코드생성알고리즘의 씨드로 대입하여 상기 인증요청에 대응하는 인증코드를 동적 생성할 수 있다. Meanwhile, when at least one dynamic key value is required to generate the authentication code, the key value verifier 365 uses at least one of the at least one You can check the dynamic key value. For example, the key value validation unit 365 may use a timer accessible by the secure OS 220 to set a time value to be confirmed through the timer of the secure OS 220 to a dynamic key value (Or the authentication server 115 via the mobile server 110) via the communication means, and / or obtain the access right to the communication means of the wireless terminal 200, (Or a random number value) to be used as the dynamic seed of the code generation algorithm from the mobile server 110 (or from the authentication server 115) and a key value to be used as a dynamic seed. If at least one dynamic key value is confirmed through the key value validation unit 365, the authentication code generation unit 370 substitutes the dynamic key value into the seed of the code generation algorithm, The authentication code can be dynamically generated.

또는 상기 인증코드 생성부(370)는 상기 키 값 확인부(365)를 통해 확인된 하나 이상의 고정 키 값과 적어도 하나의 동적 키 값을 상기 코드생성알고리즘의 씨드로 대입하여 상기 인증요청에 대응하는 인증코드를 동적 생성할 수 있다. Alternatively, the authentication code generation unit 370 may substitute one or more fixed key values and at least one dynamic key value, which are confirmed through the key value verification unit 365, into the seed of the code generation algorithm, The authentication code can be dynamically generated.

도면3을 참조하면, 상기 보안OS(220)의 프로그램(s)(340)은, 지정된 모바일서버(110)(또는 인증서버(115))를 통해 복호화 가능하게 상기 생성된 인증코드를 암호화하는 암호 처리부(375)와, 상기 암호화된 인증코드를 상기 메모리영역으로 제공하는 인증코드 제공부(380)를 구비한다.Referring to FIG. 3, the program (s) 340 of the secure OS 220 includes a password (cipher) for encrypting the generated authentication code so as to be decryptable through the designated mobile server 110 (or the authentication server 115) A processing unit 375, and an authentication code providing unit 380 for providing the encrypted authentication code to the memory area.

상기 인증코드 생성부(370)를 통해 상기 인증코드가 생성되면, 상기 암호 처리부(375)는 지정된 모바일서버(110)(또는 인증서버(115))를 통해 복호화 가능한 암호화 방식과 암호키를 이용하여 상기 생성된 인증코드를 암호화 처리한다. When the authentication code is generated through the authentication code generation unit 370, the encryption processing unit 375 uses the encryption method and the encryption key that can be decrypted through the designated mobile server 110 (or the authentication server 115) And encrypts the generated authentication code.

상기 인증코드 제공부(380)는 상기 연동 처리부(355)를 통해 확인된 메모리영역으로 상기 암호화된 인증코드를 제공하며, 상기 보안 모니터(225)는 지정된 절차에 따라 상기 무선단말(200)의 OS를 상기 보안OS(220)에서 일반OS(210)로 전환시킨다. 바람직하게, 상기 인증코드 제공부(380)는 상기 일반OS(210)의 프로그램(n)(300)을 통해 상기 생성된 인증코드를 읽어가거나 또는 참조할 수 있도록 상기 메모리영역에 상기 생성된 인증코드를 기록할 수 있다.The authentication code providing unit 380 provides the encrypted authentication code to the memory area identified through the interlock processing unit 355. The security monitor 225 transmits the encrypted authentication code to the memory area From the secure OS 220 to the generic OS 210. [ Preferably, the authentication code providing unit 380 reads the generated authentication code through the program (n) 300 of the general OS 210 or inserts the generated authentication code into the memory area Can be recorded.

본 발명의 변형된 실시 방법에 따르면, 상기 인증코드 제공부(380)는 상기 무선단말(200)의 통신수단을 통해 상기 암호화된 인증코드를 모바일서버(110)(또는 모바일서버(110)를 경유하여 인증서버(115))로 전송할 수 있으며, 이 경우 상기 메모리영역으로 인증코드를 제공하지 않더라도 무방하다.According to a modified embodiment of the present invention, the authentication code providing unit 380 transmits the encrypted authentication code to the mobile server 110 (or the mobile server 110 via the communication means of the wireless terminal 200) To the authentication server 115). In this case, the authentication code may not be provided to the memory area.

본 발명의 실시 방법에 따라 상기 무선단말(200)의 OS가 상기 일반OS(210)로 전환되면, 상기 프로그램(n)(300)의 연동 절차부(310)는 상기 메모리영역의 접근 권한을 획득하고(또는 기 획득된 권한을 근거로) 상기 메모리영역에 접근한다. 한편 상기 프로그램(n)(300)의 연동 절차부(310)는 상기 상태정보를 이용하여 상기 보안OS(220)로 전환되기 직전의 프로그램(n)(300)의 상태를 복원할 수 있다.When the OS of the wireless terminal 200 is switched to the general OS 210 according to an embodiment of the present invention, the interworking procedure unit 310 of the program (n) 300 acquires the access right of the memory area (Or based on the acquired rights) to access the memory area. Meanwhile, the interworking procedure unit 310 of the program (n) 300 may restore the status of the program (n) 300 immediately before switching to the secure OS 220 using the status information.

도면3을 참조하면, 상기 일반OS(210)의 프로그램(n)(300)은, 상기 메모리영역을 참조하여 보안OS(220)의 프로그램(s)(340)을 통해 생성된 인증코드를 확인하는 인증코드 확인부(315)와, 상기 무선단말(200)의 통신수단을 통해 상기 확인된 인증코드를 모바일서버(110)(또는 모바일서버(110)를 경유하여 인증서버(115))로 전송하는 인증코드 처리부(320)를 구비한다.Referring to FIG. 3, the program (n) 300 of the general OS 210 refers to the memory area and checks an authentication code generated through the program (s) 340 of the secure OS 220 And transmits the verified authentication code to the mobile server 110 (or the authentication server 115 via the mobile server 110) through the communication means of the mobile terminal 200 And an authentication code processing unit 320.

상기 무선단말(200)의 OS가 일반OS(210)로 전환되면, 상기 인증코드 확인부(315)는 상기 연동 절차부(310)와 연동하여 상기 메모리영역을 참조함으로써, 상기 보안OS(220)의 프로그램(s)(340)이 상기 메모리영역으로 제공한 인증코드를 확인한다. When the OS of the wireless terminal 200 is switched to the general OS 210, the authentication code checking unit 315 refers to the memory area in cooperation with the linking procedure unit 310, (S) 340 of the program (s) 340 confirms the authentication code provided to the memory area.

상기 인증코드 확인부(315)를 통해 상기 보안OS(220)의 프로그램(s)(340)을 통해 생성된 인증코드가 확인되면, 상기 인증코드 처리부(320)는 상기 무선단말(200)의 통신수단을 통해 상기 확인된 인증코드를 모바일서버(110)(또는 모바일서버(110)를 경유하여 인증서버(115))로 전송할 수 있다. 바람직하게, 상기 인증코드 처리부(320)는 상기 인증코드를 화면 출력 없이 모바일서버(110)(또는 모바일서버(110)를 경유하여 인증서버(115))로 전송할 수 있다. 상기 보안OS(220)의 프로그램(s)(340)을 통해 암호화된 인증코드는 상기 일반OS(210)에서 복호화되지 않는다.When the authentication code generated through the program (s) 340 of the secure OS 220 is confirmed through the authentication code verifying unit 315, the authentication code processing unit 320 transmits the authentication code to the wireless terminal 200 The authentication code can be transmitted to the mobile server 110 (or the authentication server 115 via the mobile server 110) via the means. The authentication code processing unit 320 may transmit the authentication code to the mobile server 110 (or the authentication server 115 via the mobile server 110) without outputting the authentication code. The authentication code encrypted through the program (s) 340 of the secure OS 220 is not decrypted by the general OS 210. [

상기 인증코드를 수신한 모바일서버(110)(또는 인증서버(115))는 상기 보안OS(220)의 프로그램(s)(340)에서 상기 인증코드를 생성하는 방식과 동일한 키 값과 코드생성알고리즘을 통해 코드검증값을 생성하여 상기 인증코드의 유효성을 인증함으로써, 상기 인증요청에 대응하는 인증 절차를 수행할 수 있다.The mobile server 110 (or the authentication server 115) receiving the authentication code generates a key value and a code generation algorithm that are the same as the method of generating the authentication code in the program (s) 340 of the secure OS 220, The authentication code corresponding to the authentication request may be generated by authenticating the validity of the authentication code.

도면4는 본 발명의 실시 방법에 따라 보안OS(220)에 프로그램(s)(340)을 준비하는 과정을 도시한 도면이다.FIG. 4 is a diagram illustrating a process of preparing a program (s) 340 in the secure OS 220 according to an embodiment of the present invention.

보다 상세하게 본 도면4는 보안OS(220)에 프로그램(s)(340)을 탑재하고 인증코드를 생성하기 위한 하나 이상의 고정 키 값을 저장하는 과정을 도시한 것으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면4를 참조 및/또는 변형하여 상기 프로그램(s)(340)을 준비하는 과정에 대한 다양한 실시 방법(예컨대, 일부 단계가 생략되거나, 또는 순서가 변경된 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면4에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.In more detail, FIG. 4 illustrates a process of loading one or more fixed key values for loading a program (s) 340 in the secure OS 220 and generating an authentication code. In the technical field of the present invention Those skilled in the art will appreciate that various ways of practicing the process of preparing the program (s) 340 (e.g., omitting some of the steps or changing the order) However, the present invention includes all of the above-described embodiments, and the technical features of the present invention are not limited by the method shown in FIG.

도면4를 참조하면, 일반OS(210)의 프로그램(n)(300)은 자신이 탑재된 무선단말(200)의 기종(또는 프로세서의 종류)을 기반으로 무선단말(200)에 보안OS(220)(트러스트존)이 탑재되어 있는지 확인한다(400). 만약 상기 무선단말(200)에 보안OS(220)가 탑재되어 있다면, 상기 프로그램(n)(300)은 상기 보안OS(220)에 지정된 프로그램(s)(340)을 탑재하기 위한 절차를 수행한다(405).Referring to FIG. 4, the program (n) 300 of the general OS 210 is connected to the security OS 220 (220) on the basis of the model (or the type of the processor) of the wireless terminal 200 ) (Trust zone) is mounted (400). If the secure OS 220 is installed in the wireless terminal 200, the program (n) 300 performs a procedure for loading the program (s) 340 specified in the secure OS 220 (405).

지정된 절차에 따라 상기 보안OS(220)에 프로그램(s)(340)이 탑재되고 실행되며(410), 상기 프로그램(s)(340)은 지정된 절차에 따라 하나 이상의 고정 키 값을 획득하여(415), 보안OS 저장영역에 구비된 키 값 저장영역에 저장한다(420). 한편 실시 방법에 따라 상기 프로그램(s)(340)은 인증코드를 생성하기 위한 PIN 정보를 등록하는 절차를 수행할 수 있으며, 보안OS 저장영역에 구비된 PIN 저장영역에 상기 등록된 PIN 정보를 저장할 수 있다(425). (S) 340 is loaded (410) in the secure OS 220 according to a designated procedure and the program (s) 340 obtains one or more fixed key values according to a designated procedure 415 (420) in a key value storage area of the secure OS storage area. Meanwhile, the program (s) 340 can perform a procedure for registering PIN information for generating an authentication code according to an embodiment of the present invention. The program (s) 340 stores the registered PIN information in a PIN storage area (425).

상기 보안OS(220)에 상기 프로그램(s)(340)이 탑재되면, 상기 일반OS(210)의 프로그램(n)(300)은 상기 보안OS(220)에 상기 프로그램(s)(340)이 탑재되었음을 식별하는 정보 및/또는 상기 보안OS(220)에 탑재된 프로그램(s)(340)을 식별하는 정보 중 적어도 하나의 식별정보를 저장한다(430).When the program (s) 340 is loaded on the secure OS 220, the program (n) 300 of the general OS 210 transmits the program (s) 340 to the secure OS 220 (S) 340 mounted on the secure OS 220 and / or information identifying the presence of the program (s) 340 mounted on the secure OS 220.

도면5는 본 발명의 실시 방법에 따라 일반OS(210)와 보안OS(220) 간 연동 과정을 도시한 도면이다.FIG. 5 is a diagram illustrating an interoperation process between a general OS 210 and a secure OS 220 according to an embodiment of the present invention.

보다 상세하게 본 도면5는 일반OS(210)의 프로그램(n)(300)이 인증코드를 이용한 인증요청을 확인 시 보안OS(220)의 프로그램(s)(340)와 연동하는 과정을 도시한 것으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면5를 참조 및/또는 변형하여 상기 일반OS(210)와 보안OS(220) 간 연동 과정에 대한 다양한 실시 방법(예컨대, 일부 단계가 생략되거나, 또는 순서가 변경된 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면5에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.5 shows a process in which the program (n) 300 of the general OS 210 works in conjunction with the program (s) 340 of the secure OS 220 when confirming the authentication request using the authentication code 5, and various modifications to the exemplary embodiments of the present invention will be apparent to those skilled in the art, and various modifications and changes may be made thereto without departing from the spirit and scope of the present invention. It is to be understood that the invention may be practiced otherwise than as specifically described herein, but it is to be understood that the invention is not limited to the disclosed embodiments, No.

도면5를 참조하면, 일반OS(210)의 프로그램(n)(300)은 상기 무선단말(200)의 통신수단을 통해 지정된 서버로부터 인증요청을 수신하거나, 또는 사용자 조작을 판독하여 인증코드를 이용한 인증요청을 확인한다(500). 예를들어, 사용자 단말(100)에서 제1 통신망을 통해 인증요청서버(105)에 접속하여 사용자의 무선단말(200)을 이용한 인증 요청 시, 상기 인증요청서버(105)와 연계된 모바일서버(110)는 상기 제1 통신망과 구별되는 제2 통신망을 통해 상기 사용자의 무선단말(200)로 인증코드를 요청할 수 있으며, 이 경우 상기 무선단말(200)의 일반OS(210)에서 실행된 프로그램(n)(300)은 상기 모바일서버(110)로부터 상기 인증코드를 이용한 인증요청을 수신할 수 있다.Referring to FIG. 5, the program (n) 300 of the general OS 210 receives an authentication request from a server designated by the communication means of the wireless terminal 200 or reads a user operation and uses the authentication code The authentication request is confirmed (500). For example, when the user terminal 100 accesses the authentication request server 105 through the first communication network and requests authentication using the user's wireless terminal 200, the mobile server 200 associated with the authentication request server 105 110 may request an authentication code to the user's wireless terminal 200 through a second communication network that is different from the first communication network. In this case, a program executed by the general OS 210 of the wireless terminal 200 n) 300 may receive an authentication request using the authentication code from the mobile server 110. [

상기 인증코드를 이용한 인증요청을 확인한 경우, 상기 프로그램(n)(300)은 식별정보를 이용하여 상기 무선단말(200)의 보안OS(220) 측에 인증코드를 생성하는 프로그램(s)(340)이 탑재되어 있는지 확인한다(505). 상기 보안OS(220)에 상기 프로그램(s)(340)이 탑재되지 않은 경우, 상기 프로그램(n)(300)은 상기 보안OS(220)에 프로그램(s)(340)을 탑재하기 위한 절차를 수행할 수 있다.The program (n) 300 generates a program (s) 340 (340) for generating an authentication code on the security OS 220 side of the wireless terminal 200 using the identification information when the authentication request using the authentication code is confirmed (Step 505). If the program (s) 340 is not installed in the secure OS 220, the program (n) 300 executes a procedure for loading the program (s) 340 into the secure OS 220 Can be performed.

한편 상기 보안OS(220)에 상기 프로그램(s)(340)이 탑재된 경우, 상기 프로그램(n)(300)은 보안OS(220)로 전환 전에 상기 프로그램(n)(300)의 상태정보를 저장하여 유지시키며(510), 상기 무선단말(200)의 OS를 보안OS(220)로 전환 개시하여 상기 보안OS(220)의 프로그램(s)(340)에서 접근 가능한 메모리영역을 할당하거나 또는 기 할당된 메모리영역을 확인한다(515). 만약 상기 메모리영역이 할당/확인되면, 상기 프로그램(n)(300)은 상기 할당/확인된 메모리영역에 대한 프로그램(n)(300)의 접근 권한을 설정함과 동시에 상기 보안OS(220)에서 상기 프로그램(s)(340)이 상기 메모리영역에 접근하도록 설정하는 과정을 수행하면서(520), 보안 모니터(225)를 통해 상기 무선단말(200)의 OS가 상기 보안OS(220)로 전환되도록 처리한다(525).Meanwhile, if the program (s) 340 is loaded on the secure OS 220, the program (n) 300 may transmit status information of the program (n) 300 before switching to the secure OS 220 (S) 340 of the secure OS 220 and allocates a memory area accessible by the program (s) 340 of the secure OS 220, The allocated memory area is checked (515). If the memory area is allocated / confirmed, the program (n) 300 sets the access right of the program (n) 300 for the allocated / confirmed memory area, and at the same time, The OS of the wireless terminal 200 is switched to the secure OS 220 through the security monitor 225 while setting the program (s) 340 to access the memory area (520) (525).

상기 무선단말(200)의 OS가 보안OS(220)로 전환되어 상기 프로그램(s)(340)이 실행되면(530), 상기 프로그램(s)(340)은 상기 도면4에 도시된 과정을 통해 보안OS(220)의 PIN 저장영역에 PIN 정보가 등록되어 있는지 확인하여 등록된 경우에 무선단말(200)의 화면출력부(235)와 사용자입력부(240)에 대한 접근 권한을 획득하여 PIN 정보를 입력하는 인터페이스를 출력하고 상기 인터페이스를 통해 입력된 PIN 정보를 확인한다(535). 만약 상기 PIN 정보가 입력되면, 상기 프로그램(s)(340)은 상기 PIN 저장영역에 저장된 PIN 정보를 통해 상기 입력된 PIN 정보의 유효성을 인증하며(540), 상기 PIN 정보의 유효성이 인증되지 않는 경우에 상기 프로그램(s)(340)은 상기 무선단말(200)의 OS를 일반OS(210)로 전환하도록 처리하며(545), 상기 무선단말(200)의 OS가 일반OS(210)로 전환된 경우에 상기 일반OS(210)의 프로그램(n)(300)은 상기 보안OS(220)로 전환 전 상기 프로그램(n)(300)의 상태를 복원한다(550).When the OS of the wireless terminal 200 is switched to the secure OS 220 and the program s 340 is executed 530, the program s 340 performs the process shown in FIG. 4 It is determined whether the PIN information is registered in the PIN storage area of the secure OS 220. If the PIN information is registered in the PIN storage area of the secure OS 220, the access right to the screen output unit 235 and the user input unit 240 of the wireless terminal 200 is acquired, And outputs the input interface and confirms the PIN information input through the interface (535). If the PIN information is inputted, the program (s) 340 authenticates the validity of the entered PIN information through the PIN information stored in the PIN storage area (540). If the validity of the PIN information is not authenticated (S) 340 processes the OS of the wireless terminal 200 to the general OS 210 in step 545. If the OS of the wireless terminal 200 is switched to the general OS 210 The program (n) 300 of the general OS 210 restores the state of the program (n) 300 before switching to the secure OS 220 (550).

한편 상기 PIN 정보의 유효성이 인증된 경우, 상기 프로그램(s)(340)은 상기 프로그램(n)(300)을 통해 할당되어 상기 프로그램(n)(300)과 공유 접근 가능한 메모리영역을 확인한다(555). 실시 방법에 따라 상기 메모리영역은 상기 프로그램(s)(340)을 통해 할당 가능하며, 본 발명이 상기 프로그램(s)(340)이 상기 메모리영역을 할당하는 실시예도 포함할 수 있다. 만약 상기 프로그램(s)(340)에서 접근 가능한 메모리영역이 확인되지 않으면, 상기 프로그램(s)(340)은 상기 무선단말(200)의 OS를 일반OS(210)로 전환하도록 처리하며(545), 상기 무선단말(200)의 OS가 일반OS(210)로 전환된 경우에 상기 일반OS(210)의 프로그램(n)(300)은 상기 보안OS(220)로 전환 전 상기 프로그램(n)(300)의 상태를 복원한다(550).Meanwhile, if the validity of the PIN information is authenticated, the program (s) 340 identifies a memory area that is allocated through the program (n) 300 and can be shared with the program (n) 300 555). The memory area may be allocated through the program (s) 340 according to an implementation method, and the present invention may also include an embodiment in which the program (s) 340 allocates the memory area. If the memory area accessible by the program (s) 340 is not confirmed, the program (s) 340 processes the OS of the wireless terminal 200 to switch to the general OS 210 (545) , When the OS of the wireless terminal 200 is switched to the general OS 210, the program n of the general OS 210 transmits the program n (n) before switching to the secure OS 220 300 are restored (550).

한편 상기 프로그램(s)(340)에서 접근 가능한 메모리영역이 확인되면, 상기 프로그램(s)(340)은 상기 메모리영역에 대한 접근 권한을 확인한다(560). 만약 상기 메모리영역에 대한 접근 권한이 확인되지 않으면, 상기 프로그램(s)(340)은 상기 무선단말(200)의 OS를 일반OS(210)로 전환하도록 처리하며(545), 상기 무선단말(200)의 OS가 일반OS(210)로 전환된 경우에 상기 일반OS(210)의 프로그램(n)(300)은 상기 보안OS(220)로 전환 전 상기 프로그램(n)(300)의 상태를 복원한다(550).Meanwhile, if a memory area accessible by the program (s) 340 is confirmed, the program (s) 340 confirms the access right to the memory area (560). If the access right to the memory area is not confirmed, the program (s) 340 processes the OS of the wireless terminal 200 to switch to the general OS 210 (545) (N) 300 of the general OS 210 restores the state of the program (n) 300 before switching to the secure OS 220 when the OS of the general OS 210 is switched to the general OS 210 (550).

도면6은 본 발명의 실시 방법에 따라 보안OS(220)를 통해 인증코드를 생성하여 인증 절차를 수행하는 과정을 도시한 도면이다.6 is a diagram illustrating a process of generating an authentication code through the secure OS 220 and performing an authentication procedure according to an embodiment of the present invention.

보다 상세하게 본 도면6은 보안OS(220)의 프로그램(s)(340)에서 인증코드를 생성하여 제공하면 일반OS(210)의 프로그램(n)(300)이 상기 보안OS(220)를 통해 생성된 인증코드를 확인하여 이용하는 과정을 도시한 것으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면6을 참조 및/또는 변형하여 상기 보안OS(220)를 통해 생성된 인증코드를 이용한 인증 과정에 대한 다양한 실시 방법(예컨대, 일부 단계가 생략되거나, 또는 순서가 변경된 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면6에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.In more detail, FIG. 6 shows an example in which the program (n) 300 of the general OS 210 is provided to the secure OS 220 through the secure OS 220 by generating and providing an authentication code in the program (s) And the authentication code generated by the security OS 220 is referred to and / or modified by the person skilled in the art to which the present invention belongs. It will be appreciated that various implementations of the code-based authentication process (e.g., omitting some steps or changing the order) may be inferred, but the present invention includes all of the above- The technical features are not limited only by the method shown in FIG.

도면6을 참조하면, 상기 도면5에 도시된 과정을 통해 보안OS(220)의 프로그램(s)(340)이 일반OS(210)의 프로그램(n)(300)과 공유하는 메모리영역을 확인하여 접근 권한을 확인한 경우, 상기 프로그램(s)(340)은 보안OS(220)에 구비된 코드생성알고리즘을 이용하여 인증코드를 동적 생성한다(610). Referring to FIG. 6, a memory area shared by the program (s) 340 of the secure OS 220 with the program (n) 300 of the general OS 210 is checked through the process shown in FIG. 5 When the access right is confirmed, the program (s) 340 dynamically generates an authentication code using a code generation algorithm provided in the secure OS 220 (610).

한편 상기 도면4에 도시된 과정을 통해 보안OS 저장영역의 키 값 저장영역에 하나 이상의 고정 키 값이 저장되고 상기 인증코드를 생성하기 위해 하나 이상의 고정 키 값을 이용하는 경우, 상기 프로그램(s)(340)은 상기 도면4에 도시된 과정을 통해 보안OS 저장영역의 키 값 저장영역에 저장된 하나 이상의 고정 키 값을 확인하고(600), 상기 보안OS(220)의 코드생성알고리즘에 상기 확인된 하나 이상의 고정 키 값을 대입하여 인증코드를 동적 생성할 수 있다(610). Meanwhile, when one or more fixed key values are stored in the key value storage area of the secure OS storage area through the process shown in FIG. 4 and one or more fixed key values are used to generate the authentication code, the program s 340 confirms (600) one or more fixed key values stored in the key value storage area of the secure OS storage area through the process shown in FIG. 4, and transmits the identified one The authentication code can be dynamically generated by substituting the fixed key value (610).

한편 상기 인증코드를 생성하기 위해 적어도 하나의 동적 키 값을 이용하는 경우, 상기 프로그램(s)(340)은 보안OS(220)를 통해 접근 가능한 무선단말(200)의 자원(예컨대, 타이머, 통신수단 등)을 이용하여 적어도 하나의 동적 키 값을 확인하고(605), 상기 보안OS(220)의 코드생성알고리즘에 상기 확인된 적어도 하나의 동적 키 값을 대입하여 인증코드를 동적 생성할 수 있다(610).If the at least one dynamic key value is used to generate the authentication code, the program (s) 340 may include resources (e.g., a timer, communication means) of the wireless terminal 200 accessible via the secure OS 220, Etc.) at step 605 and dynamically generate the authentication code by substituting the identified at least one dynamic key value into the code generation algorithm of the secure OS 220 610).

한편 상기 인증코드를 생성하기 위해 하나 이상의 고정 키 값과 적어도 하나의 동적 키 값을 이용하는 경우, 상기 프로그램(s)(340)은 상기 도면4에 도시된 과정을 통해 보안OS 저장영역의 키 값 저장영역에 저장된 하나 이상의 고정 키 값을 확인하고(600), 상기 무선단말(200)의 자원을 이용하여 확인된 적어도 하나의 동적 키 값을 확인한 후(605), 상기 보안OS(220)의 코드생성알고리즘에 상기 확인된 하나 이사의 고정 키 값과 적어도 하나의 동적 키 값을 대입하여 인증코드를 동적 생성할 수 있다(610).Meanwhile, when at least one fixed key value and at least one dynamic key value are used to generate the authentication code, the program (s) 340 stores the key value of the secure OS storage area through the process shown in FIG. (At step 605) at least one dynamic key value identified using the resources of the mobile station 200, and then transmits the generated code to the secure OS 220 The authentication code may be dynamically generated (610) by substituting the fixed key value and the at least one dynamic key value of the one-way identified in the algorithm.

상기 프로그램(s)(340)은 지정된 서버(예컨대, 모바일서버(110) 또는 인증서버(115))를 통해 복호화되게 상기 인증코드를 암호화하고(615), 상기 암호화된 인증코드를 상기 일반OS(210)의 프로그램(n)(300)과 공유하는 메모리영역으로 제공한다(620). 실시 방법에 따라 상기 프로그램(s)(340)은 상기 인증코드를 암호화하지 않고 메모리영역으로 제공할 수 있으며, 이 경우 상기 인증코드는 상기 일반OS(210)의 프로그램(n)(300)을 통해 암호화될 수 있다. 상기 프로그램(s)(340)은 상기 무선단말(200)의 OS를 일반OS(210)로 전환하도록 처리하며(625), 상기 무선단말(200)의 OS가 일반OS(210)로 전환된 경우에 상기 일반OS(210)의 프로그램(n)(300)은 상기 보안OS(220)로 전환 전 상기 프로그램(n)(300)의 상태를 복원한다(630).The program (s) 340 encrypts (615) the authentication code to be decrypted through a designated server (e.g., the mobile server 110 or the authentication server 115), and transmits the encrypted authentication code to the general OS (N) 300 of the first memory 210 to the memory area shared with the program (n) 300 in step 620. The program (s) 340 may provide the authentication code to the memory area without encrypting the authentication code according to an embodiment of the present invention. In this case, the authentication code may be transmitted through the program (n) 300 of the general OS 210 Lt; / RTI > The program (s) 340 processes the OS of the wireless terminal 200 to be converted into the general OS 210 (625). When the OS of the wireless terminal 200 is switched to the general OS 210 (N) 300 of the general OS 210 restores the state of the program (n) 300 before switching to the secure OS 220 in step 630.

상기 일반OS(210)의 프로그램(n)(300)은 상기 보안OS(220)의 프로그램(s)(340)와 공유된 메모리영역을 확인하여 접근하고(635), 상기 메모리영역으로부터 상기 보안OS(220)의 프로그램(s)(340)을 통해 동적 생성되고 암호화된 인증코드를 확인한다(640). 만약 상기 보안OS(220)의 프로그램(s)(340)을 통해 동적 생성되고 암호화된 인증코드가 확인되지 않으면, 상기 프로그램(n)(300)은 인증코드 오류를 출력하고 상기 프로그램(n)(300)의 동작을 초기화할 수 있다(645).The program (n) 300 of the generic OS 210 identifies and accesses (635) a memory area shared with the program (s) 340 of the secure OS 220, (S) 340 of the application 220 to verify (640) the dynamically generated and encrypted authentication code. If the dynamically generated and encrypted authentication code is not confirmed through the program (s) 340 of the secure OS 220, the program (n) 300 outputs an authentication code error and the program (n) 300) may be initiated (645).

한편 상기 보안OS(220)의 프로그램(s)(340)을 통해 동적 생성되고 암호화된 인증코드가 확인되면, 상기 프로그램(n)(300)은 상기 보안OS(220)의 프로그램(s)(340)을 통해 생성되고 암호화된 인증코드를 상기 무선단말(200)의 통신수단을 이용하여 지정된 서버(예컨대, 모바일서버(110) 또는 인증서버(115))로 전송한다(650). 상기 서버는 상기 인증코드를 수신하고 복호화한 후, 상기 보안OS(220)의 프로그램(s)(340)이 상기 인증코드를 생성한 방식과 동일한 키 값과 코드생성알고리즘을 통해 코드검증값을 생성하여 상기 인증코드의 유효성을 인증함으로써, 상기 도면5의 인증요청에 대응하는 인증 절차를 수행할 수 있다.When the dynamically generated and encrypted authentication code is confirmed through the program (s) 340 of the secure OS 220, the program (n) 300 transmits the program (s) 340 of the secure OS 220 (650) to the designated server (for example, the mobile server 110 or the authentication server 115) using the communication means of the wireless terminal 200. [ The server receives and decrypts the authentication code and generates a code verification value through a key value and a code generation algorithm that are the same as the manner in which the program (s) 340 of the secure OS 220 has generated the authentication code Thereby authenticating the validity of the authentication code, thereby performing the authentication procedure corresponding to the authentication request of FIG.

100 : 사용자 단말 105 : 인증요청서버
110 : 모바일서버 115 : 인증서버
200 : 무선단말 210 : 일반OS
215 : 일반커널 220 : 보안OS
225 : 보안 모니터 230 : 보안커널
300 : 프로그램(n) 305 : 인증요청 확인부
310 : 연동 절차부 315 : 인증코드 확인부
320 : 인증코드 처리부 340 : 프로그램(s)
345 : 키 값 저장부 345 : PIN 등록부
355 : 연동 처리부 360 : PIN 인증부
365 : 키 값 확인부 370 : 인증코드 생성부
375 : 암호 처리부 380 : 인증코드 제공부
100: user terminal 105: authentication request server
110: mobile server 115: authentication server
200: wireless terminal 210: general OS
215: General kernel 220: Security OS
225: Security Monitor 230: Security Kernel
300: program (n) 305: authentication request confirmation unit
310: Interworking Procedure Unit 315: Authentication Code Verification Unit
320: authentication code processing unit 340: program (s)
345: key value storage unit 345: PIN registration unit
355: interlock processor 360: PIN authentication unit
365: key value verification unit 370: authentication code generation unit
375: encryption processing unit 380: authentication code providing unit

Claims (7)

보안커널(Secure Kennel)을 구비한 보안OS(Secure Operating System)와 커널구조가 공개된 일반OS(Normal Operating System)를 탑재한 무선단말을 통해 실행되는 방법에 있어서,
상기 일반OS의 프로그램(n)이 일반OS 상에서 상기 무선단말의 통신수단을 통해 지정된 서버로부터 인증요청을 수신하는 제1 단계;
상기 프로그램(n)이 보안OS의 지정된 프로그램(s)에서 접근 가능한 메모리영역을 할당하거나 또는 기 할당된 메모리영역을 확인하고 상기 메모리영역을 참조하는 일반OS 측의 프로세스로 상기 프로그램(n)을 설정하는 제2 단계;
상기 프로그램(n)이 상기 메모리영역을 통해 상기 보안OS의 프로그램(s)으로 상기 인증 요청을 전달하는 제3 단계;
상기 보안OS의 프로그램(s)이 상기 보안OS에 구비된 코드생성알고리즘을 이용하여 상기 인증요청에 대응하는 인증코드를 생성하는 제4 단계;
상기 프로그램(s)이 상기 생성된 인증코드를 상기 메모리영역으로 제공하는 제5 단계; 및
상기 프로그램(n)이 상기 무선단말의 통신수단을 통해 상기 메모리영역의 인증코드를 상기 서버로 전송하는 제6 단계;를 포함하는 보안운영체제를 이용한 인증 처리 방법.
A method for executing a secure operating system (OS) having a secure kernel and a normal operating system (OS) having a kernel structure,
A first step of the program (n) of the general OS receiving an authentication request from a server designated through a communication means of the wireless terminal on a general OS;
The program (n) allocates a memory area accessible from the designated program (s) of the secure OS or identifies a pre-allocated memory area and sets the program (n) as a process on the general OS side referring to the memory area ;
A third step of the program (n) transferring the authentication request to the program (s) of the secure OS through the memory area;
A fourth step of the program (s) of the secure OS generating an authentication code corresponding to the authentication request using a code generation algorithm provided in the secure OS;
The program (s) providing the generated authentication code to the memory area; And
And a sixth step of the program (n) transmitting the authentication code of the memory area to the server through a communication unit of the wireless terminal.
제 1항에 있어서,
상기 보안OS에 프로그램(s)이 탑재된 경우,
상기 일반OS의 프로그램(n)이 상기 보안OS에 프로그램(s)이 탑재되었음을 식별하거나 상기 보안OS에 탑재된 프로그램(s)을 식별하는 식별정보를 일반OS에서 접근 가능한 저장영역에 저장하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 보안운영체제를 이용한 인증 처리 방법.
The method according to claim 1,
When the program s is loaded on the secure OS,
(N) of the general OS identifies that the program (s) is mounted on the secure OS or stores identification information identifying the program (s) mounted on the secure OS in a storage area accessible from the general OS The method of claim 1, further comprising:
제 1항에 있어서,
상기 프로그램(n)이 상기 보안OS로 전환되기 직전의 상기 프로그램(n)에 대한 상태정보를 저장하여 유지하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 보안운영체제를 이용한 인증 처리 방법.
The method according to claim 1,
Further comprising the step of storing and maintaining status information on the program (n) immediately before the program (n) is switched to the secure OS.
제 1항에 있어서, 상기 제2 단계는,
상기 프로그램(n)이 일반OS에 상기 메모리영역을 할당하거나 또는 기 할당된 메모리영역을 확인하는 것을 특징으로 하는 보안운영체제를 이용한 인증 처리 방법.
2. The method according to claim 1,
Wherein the program (n) allocates the memory area to a general OS or identifies a pre-allocated memory area.
제 1항에 있어서, 상기 제2 단계는,
상기 프로그램(n)이 일반OS와 보안OS 간 전환 절차를 수행하는 보안 모니터에 상기 메모리영역을 할당하거나 또는 기 할당된 메모리영역을 확인하는 것을 특징으로 하는 보안운영체제를 이용한 인증 처리 방법.
2. The method according to claim 1,
Wherein the program (n) allocates the memory area to the security monitor performing the switching procedure between the general OS and the secure OS, or verifies the pre-allocated memory area.
제 1항에 있어서,
상기 프로그램(s)이 보안OS 상에서 지정된 서버를 통해 복호화되게 상기 생성된 인증코드를 암호화하는 단계를 더 포함하며,
상기 제5 단계는, 상기 프로그램(s)이 상기 암호화된 인증코드를 상기 메모리영역으로 제공하는 것을 특징으로 하는 보안운영체제를 이용한 인증 처리 방법.
The method according to claim 1,
Further comprising encrypting the generated authentication code so that the program (s) is decrypted via a designated server on a secure OS,
Wherein the fifth step provides the encrypted authentication code to the memory area by the program (s).
제 1항에 있어서,
상기 프로그램(n)이 상기 메모리영역으로부터 상기 프로그램(s)를 통해 암호화된 인증코드를 확인하는 단계를 더 포함하며,
상기 제6 단계는, 상기 프로그램(n)이 상기 무선단말의 통신수단을 상기 암호화된 인증코드를 상기 서버로 전송하는 것을 특징으로 하는 보안운영체제를 이용한 인증 처리 방법.
The method according to claim 1,
Further comprising: the program (n) verifying the encrypted authentication code from the memory area via the program (s)
Wherein the program (n) transmits the encrypted authentication code to the communication means of the wireless terminal to the server.
KR1020170009492A 2017-01-20 2017-01-20 Method for Processing Certification by using Secure Operating System KR20170010341A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170009492A KR20170010341A (en) 2017-01-20 2017-01-20 Method for Processing Certification by using Secure Operating System

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170009492A KR20170010341A (en) 2017-01-20 2017-01-20 Method for Processing Certification by using Secure Operating System

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020150041527A Division KR20160114966A (en) 2015-03-25 2015-03-25 Method for Processing Certification by using Secure Operating System

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020170104210A Division KR20170095797A (en) 2017-08-17 2017-08-17 Method for Processing Certification by using Secure Operating System

Publications (1)

Publication Number Publication Date
KR20170010341A true KR20170010341A (en) 2017-01-26

Family

ID=57992841

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170009492A KR20170010341A (en) 2017-01-20 2017-01-20 Method for Processing Certification by using Secure Operating System

Country Status (1)

Country Link
KR (1) KR20170010341A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109168167A (en) * 2018-11-27 2019-01-08 Oppo(重庆)智能科技有限公司 Verify method, apparatus, terminal and the storage medium of the terminal true and false

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109168167A (en) * 2018-11-27 2019-01-08 Oppo(重庆)智能科技有限公司 Verify method, apparatus, terminal and the storage medium of the terminal true and false

Similar Documents

Publication Publication Date Title
KR102242218B1 (en) User authentication method and apparatus, and wearable device registration method and apparatus
US20040006713A1 (en) Device authentication system
CN105325021B (en) Method and apparatus for remote portable wireless device authentication
KR101628615B1 (en) Method for Providing Safety Electronic Signature by using Secure Operating System
KR101662947B1 (en) Method for Providing Session Security by using Secure Operating System
KR20160124336A (en) Method for Providing Electronic Signature by using Secure Operating System
KR20170010341A (en) Method for Processing Certification by using Secure Operating System
KR101628610B1 (en) Method for Providing One Time Password by using Secure Operating System
TWI733590B (en) Identity recognition system and method using active nfc tag and tokenization
CN114582048B (en) NFC-based vehicle door control method, mobile terminal and vehicle
KR101628614B1 (en) Method for Processing Electronic Signature by using Secure Operating System
KR101866031B1 (en) Method for Providing Server type One Time Password by using Secure Operating System
KR20170095797A (en) Method for Processing Certification by using Secure Operating System
KR20110005615A (en) System and method for managing wireless otp using user's media, wireless terminal and recording medium
AU2019279983A1 (en) Secure access to encrypted data of a user terminal
KR20160114966A (en) Method for Processing Certification by using Secure Operating System
KR101702770B1 (en) Method for Providing Security Keypad by using Secure Operating System
KR101505735B1 (en) Method for Authenticating Near Field Communication Card by using Time Verification
KR102358598B1 (en) Method for Processing Two Channel Authentication by using Contactless Media
KR101678793B1 (en) Method for Verifying Integrity of Application by using Secure Operating System
KR20160114961A (en) Method for Providing One Time Password Linked Transaction by using Secure Operating System
US11974126B2 (en) Method, first and second device and system for connecting to at least one chip
KR101777042B1 (en) Card for Generating Electronic Signature based on Asynchronous Local Area Radio Communication
KR101777041B1 (en) Method for Generating One Time Password based on Asynchronous Local Area Radio Communication
KR101777043B1 (en) Method for Generating Electronic Signature based on Asynchronous Local Area Radio Communication

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
A107 Divisional application of patent