KR101513162B1 - 보안 어플리케이션 구동 시스템 - Google Patents

보안 어플리케이션 구동 시스템 Download PDF

Info

Publication number
KR101513162B1
KR101513162B1 KR1020140018926A KR20140018926A KR101513162B1 KR 101513162 B1 KR101513162 B1 KR 101513162B1 KR 1020140018926 A KR1020140018926 A KR 1020140018926A KR 20140018926 A KR20140018926 A KR 20140018926A KR 101513162 B1 KR101513162 B1 KR 101513162B1
Authority
KR
South Korea
Prior art keywords
program
application
security
virtual core
running
Prior art date
Application number
KR1020140018926A
Other languages
English (en)
Inventor
유민호
Original Assignee
주식회사 큐레이소프트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 큐레이소프트 filed Critical 주식회사 큐레이소프트
Priority to KR1020140018926A priority Critical patent/KR101513162B1/ko
Application granted granted Critical
Publication of KR101513162B1 publication Critical patent/KR101513162B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • 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
    • G06F21/53Monitoring 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 by executing in a restricted environment, e.g. sandbox or secure virtual machine

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Storage Device Security (AREA)

Abstract

보안 어플리케이션 구동 시스템이 제공된다. 본 발명의 일 실시예에 따른 보안 어플리케이션 구동 시스템은, 프로세서 상의 제1 가상코어에서 동작하며, 리더기와 통신하여 제1 프로그램을 구동시키는 제1 OS, 및 상기 프로세서 상의 제2 가상코어에서 동작하며, 상기 제1 가상코어 및 상기 제1 OS와 격리되어 별도의 리소스를 기초로 독립적으로 구동되며, 상기 제1 프로그램으로부터 제1 데이터를 수신하여 가상머신 상에서 소정 명령을 수행하는 어플리케이션을 구동시키는 제2 OS를 포함하고, 상기 어플리케이션은 상기 제1 프로그램을 통해실행 가능하도록 설정된다.

Description

보안 어플리케이션 구동 시스템{SYSTEM FOR OPERATING SECURE APPLICATION}
본 발명은 보안 어플리케이션 구동 시스템에 관한 것으로, 보다 자세하게는 외부 침입을 방지할 수 있는 보안 어플리케이션 구동 시스템에 관한 것이다.
최근에 휴대하기 간편한 스마트폰 및 태블릿 PC 등의 휴대용 모바일 기기의 보급이 확대되면서 언제 어디서나 무선 인터넷 접속을 통하여 모바일 금융 거래, 모바일 상품 구매, 모바일 정보 검색 및 모바일 콘텐츠 열람 등을 할 수 있게 되었다.
웹 서버와 모바일 기기 간의 동영상, 사진, 음악파일, 전자 인감 및 문서파일 등의 다양한 콘텐츠 정보가 업로딩 되거나 다운로딩되는 과정이나 모바일 기기 내부에 저장 관리되는 과정에서 해킹 등에 의해 유출될 우려가 있다.
따라서 모바일 기기의 사용량이 증대되어 감에 따라 모바일 기기에서 처리되는 정보의 유출사고로 개인 프라이버시 침해 문제와 재산상으로 막대한 손해를 입은 사례들이 늘어가고 있다.
그러므로 모바일 기기의 사용 환경에서 해킹 등으로부터 정보를 보호하기 위한 보안대책이 시급한 상태이다.
최근에는 개방형 모바일 운영체제인 안드로이드(Android)가 모바일 장치의 상당 부분을 점유하고 있으나, 특유의 개방성 및 확장성으로 인해 보안 위험에 노출되어 있다.
위와 같은 문제점으로부터 안출된 본 발명이 해결하고자 하는 기술적 과제는, 종래에 개방형 운영체제를 기반으로 동작하는 비보안 영역 및 보안 운영체제를 기반으로 동작하는 보안 영역으로 구분되는 격리환경을 구비하는 시스템을 제공하고자 하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는, 범용성을 가지는 보안 어플리케이션 구동 시스템을 제공하고자 하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 스마트카드에 비해서 보안 실행 환경(TEE)의 보안 운영체제(Secure OS)가 수행할 수 있는 코드 크기에 제약 하에서 원활히 구동될 수 있는 보안 어플리케이션 구동 시스템을 제공하고자 하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 언급된 기술적 과제들을 해결하기 위한, 본 발명의 일 실시예에 따른 보안 어플리케이션 구동 시스템은, 프로세서 상의 제1 가상코어에서 동작하며, 리더기와 통신하여 제1 프로그램을 구동시키는 제1 OS, 및 상기 프로세서 상의 제2 가상코어에서 동작하며, 상기 제1 가상코어 및 상기 제1 OS와 격리되어 별도의 리소스를 기초로 독립적으로 구동되며, 상기 제1 프로그램으로부터 제1 데이터를 수신하여 가상머신 상에서 소정 명령을 수행하는 어플리케이션을 구동시키는 제2 OS를 포함하고, 상기 어플리케이션은 상기 제1 프로그램을 통해실행 가능하도록 설정된다.
상기 가상머신은 자바 가상머신이고, 상기 어플리케이션은 자바 애플릿일 수 있다.
상기 제1 OS 및 상기 제2 OS는 스마트카드 또는 모바일 장치에 탑재될 수 있다.
상기 제1 OS 또는 상기 제2 OS 상의 데이터 연산을 수행하는 마이크로 프로세서, 및 상기 제1 프로그램 상에서 발생한 제2 데이터를 암호화하는 크립토 프로세서를 더 포함할 수 있다.
상기 제1 OS는 상기 제1 프로그램과 다른 복수의 제2 프로그램을 더 구동시키고, 상기 복수의 제2 프로그램은 상기 어플리케이션으로의 접근이 차단될 수 있다.
상기 제1 프로그램은 근거리 무선통신 모듈에 대응하여 실행될 수 있다.
상기 근거리 무선통신 모듈은 NFC 모듈일 수 있다.
상기 제1 프로그램은 결재유닛을 포함할 수 있다.
상기 어플리케이션은 상기 결재유닛과 연동되는 보안유닛을 포함할 수 있다.
상기 제2 OS는 보안 커널을 더 포함하고, 상기 보안 커널은, 상기 제1 데이터를 암호화하기 위한 보안 유닛을 포함할 수 있다.
상기와 같은 본 발명에 따르면, 모바일 장치가 개방 OS와 분리되어 독립적으로 동작하는 보안 OS를 포함하고, 결재나 인증 등 보안을 요하는 중요한 데이터 처리는 보안 OS가 제공하는 보안 환경에서만 구동하도록 하여, 개방 OS를 통해 은닉구동되는 해킹 프로그램에 의한 유출을 방지하는 효과를 제공한다.
또한, 범용성을 가지는 자바 가상 머신 및 자바 애플릿을 채용함으로써, 다른 환경에서 구동되는 다양한 프로그램 및 어플리케이션을 용이하게 도입할 수 있으며, 서로 다른 환경하에서도 동일한 보안 환경을 제공할 수 있다.
뿐만 아니라, 자바 카드 가상머신을 기반으로 동작하는 많은 보안 서비스들을 그대로 보안 실행 환경에서 제공할 수 있다.
또한, 스마트카드에 비해서 보안 실행 환경의 보안 OS가 수행할 수 있는 코드 크기에 제약이 많기 때문에, 자바 카드 가상머신을 보안 실행 환경에서 구동 시키기 위해 코드 크기가 최적화된 솔루션을 제공할 수 있으며, 스마트카드용 하드웨어에 비하여 보안 실행 환경이 구동되나 보안성이 상대적으로 약한 어플리케이션 프로세서(AP) 하드웨어를 소프트웨어적으로 보안성을 강화할 수 있다.
도 1은 본 발명의 일 실시예에 따른 보안 어플리케이션 구동 시스템의 개략적인 구성을 나타내는 도면이다.
도 2는 도 1에 따른 보안 어플리케이션 구동 시스템의 동작 원리를 설명하는 도면이다.
도 3은 본 발명의 다른 실시예에 따른 보안 어플리케이션 구동 시스템의 구성을 나타내는 도면이다.
도 4는 본 발명의 또 다른 실시예에 따른 보안 어플리케이션 구동 시스템의 구성을 나타내는 도면이다.
도 5는 본 발명의 또 다른 실시예에 따른 보안 어플리케이션 구동 시스템의 전체 구성을 나타내는 도면이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
이하, 도면을 참조하여 본 발명의 실시예들에 따른 보안 어플리케이션 구동 시스템에 대해 설명하기로 한다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 보안 어플리케이션 구동 시스템의 개략적인 구성을 나타내는 도면이 도시된다.
본 실시예에 따른 보안 어플리케이션 구동 시스템은 다양한 디바이스 상에서 구현될 수 있으며, 디바이스의 종류에 따라 프로세서(100)의 형태도 가변될 수 있다. 디바이스는 무선 인터넷 또는 휴대 인터넷을 통하여 통신하는 셀룰러폰(Cellular phone), 피씨에스폰(PCS phone: Personal Communications Services phone), 동기식/비동기식 IMT-2000(International Mobile Telecommunication-2000) 등 이동 단말을 포함하고, 이외에도 팜 PC(Palm Personal Computer), 개인용 디지털 보조기(PDA: Personal Digital Assistant), 스마트폰(Smart phone), 왑폰(WAP phone: Wireless application protocol phone), 모바일 게임기(mobile play-station) 등 외부의 서버나 리더기 등에 접속하기 위한 사용자 인터페이스를 갖는 모든 유무선 가전/통신 장치를 포괄적으로 의미할 수 있다.
몇몇 다른 실시예에서, 디바이스는 스마트카드일 수 있다. 스마트카드는 IC(integrated circuit:집적회로) 기억소자를 장착하여 대용량의 정보를 담을 수 있는 전자식 신용카드로, 예컨대 SIM(Subscriber Identity Module), USIM(Universal Subscriber Identity Module), UIM(User Information Module) 등이 있다.
예를 들어, 스마트카드는 SCWS, 추출 IP 어드레스 생성모듈, 세션 관리 프로그램 및 세션 설정모듈을 포함하여 구성될 수 있다.
SCWS(SmartCardWebServer : 스마트카드 웹서버)는 스마트카드 내에 탑재되는 플랫폼으로써, 스마트카드 안에 웹서버를 내장하여 단말기로부터 요청되는 HTTP(HyperText Transfer Protocol)를 이해하고, 요청사항에 대한 결과를 HTML(HyperText Markup Language) 또는 XHTML(Extensible HyperText Markup Language)로 이동 단말기의 웹브라우징 등을 통해 제공하는 기능을 수행한다. 즉, SCWS는 미니홈페이지 또는 개인 블로그와 같이 사용자의 취향에 따른 개인화 된 서비스를 제공할 수 있는 환경을 제공하는 플랫폼(Platform)일 수 있다.
추출 IP 어드레스 생성모듈은 SCWS에 접속하는 외부 단말기나 리더기의 IP 어드레스를 추출하여 추출 IP 어드레스 리스트를 생성하는 기능을 수행할 수 있다. 이러한 실시예에 따르면, 추출 IP 어드레스 생성모듈이 SCWS에 접속한 외부 단말기의 IP 어드레스를 추출하여 추출 IP 어드레스 리스트를 생성함으로써, SCWS에 접속한 외부 단말기의 IP 어드레스를 통해 외부 단말기의 접속을 관리할 수 있는 효과를 제공할 수 있다.
세션 관리 프로그램은 SCWS에 접속하는 외부 단말기의 접속 허용 여부를 관리하는 기능을 수행할 수 있다.
세션 설정모듈은 SCWS에 접속하려고 하거나 접속된 외부 단말기의 통신 세션을 설정 또는 차단하는 기능을 수행할 수 있다. 즉 세션 설정모듈은 세션 관리 프로그램으로부터 통신 세션의 설정 명령어를 전송받을 경우에는 외부 단말기의 통신 세션을 설정할 수 있다. 반대로 세션 설정모듈은 세션 관리 프로그램으로부터 통신 세션의 차단 명령어를 전송받을 경우에는 외부 단말기의 통신 세션을 차단할 수 있다.
이하에서는, 본 프로세서(100)가 탑재된 디바이스가 스마트카드이고, 프로세서(100)는 마이크로 프로세서인 경우를 예로 들어 설명하나 이에 한정되는 것은 아니다.
본 실시예에 따른 마이크로 프로세서(100) 상에는 2개의 가상코어(110, 120)가 배치될 수 있으나, 필요에 따라 2개 이상의 복수의 가상코어가 생성될 수도 있다. 제1 가상코어(110) 상에는 제1 OS(111)가 탑재되어 구동되며, 제2 가상코어(120) 상에는 제2 OS(121)가 탑재되어 구동될 수 있다.
이와 같은, 서로 다른 가상코어 상에서 서로 다른 OS가 독립적으로 동작하는 구성은, 예를 들어 ARM사의 ARM 계열 프로세서에 채택된 하드웨어 보안기술인 트러스트존(TrustZone) 보안 기술을 바탕으로 한 보안 실행 환경(Trusted Execution Environment :TEE)에 기반한 소프트웨어 아키텍처로 구현할 수 있다. 트러스트존은 암 계열 프로세서 코어에 하드웨어적으로 구현된 보안기능으로써 개방형 운영체제로 인해 보안이 취약한 모바일 디바이스의 시스템 보안을 강화하기 위해 개발된 기술이다.
제1 OS(111)는 일반적인 프로그램이나 어플리케이션이 실행되는 일반 환경의 OS 예를 들어 안드로이드 OS, 블랙베리 OS 또는 윈도모바일이나 iOS와 같은 운영체제일 수 있다. 제1 OS(111)는 외부의 리더기나 단말기에 대응하여 소정의 프로그램이나 어플리케이션을 구동시킬 수 있으나, 이에 한정되는 것은 아니며 자체적인 조건이나 이벤트에 대응하여 프로그램이나 어플리케이션이 실행되거나 다른 공지의 방법을 통해 구동될 수도 있다.
제2 OS(121)는 제1 OS(111)와 격리되어 별도의 리소스를 기초로 독립적으로 구동될 수 있으며, 제2 OS(121)는 제1 OS(111)의 허가되지 않은 프로그램이나 어플리케이션에서 접근하지 못하는 보안 OS로서 트러스트존에 기반한 소프트웨어 아키텍처를 사용하고, CPU로는 ARM 계열의 프로세서를 사용한 디바이스 상에서 구현되는 것일 수 있다. ARM 프로세서를 사용하는 모바일 디바이스의 경우 트러스트존 기능이 ARM 프로세서에 이미 임베디드되기 때문에 별도의 하드웨어 보안 모듈을 구비하지 않아도 보안 OS인 제2 OS(121)를 용이하게 구현할 수 있다.
보안 환경에서 구동되는 보안 프로그램 또는 보안 어플리케이션은 개방형 환경에서 구동되는 응용 프로그램과는 달리 보안성이 높은 작업을 위해 특화된 프로그램으로써 응용 프로그램과 격리되어 작동한다. 즉 보안 프로그램과 응용 프로그램은 서로 독립적으로 구동하기 때문에 보안 프로그램에 사용되는 데이터는 응용 프로그램의 액세스가 원천적으로 차단될 수 있다. 따라서 제1 OS(111)에 은닉되어 구동되는 해킹 응용 프로그램에 의한 데이터 유출을 방지할 수 있다.
도 2를 참조하면, 도 1에 따른 보안 어플리케이션 구동 시스템의 동작 원리를 설명하는 도면이 도시된다.
본 실시예에 따르면, 제1 OS(111) 상에서 구동되는 다양한 프로그램(A, B, C, D)이 존재할 수 있으며, 필요에 따라 하나의 프로그램만 존재하도록 구성될 수도 있다. 즉, 허용된 제1 프로그램(C)은 제2 OS(121) 상에서 보안 기능을 실행시키는 보안 어플리케이션(S)으로 접근할 수 있는 반면, 제1 OS(111)는 제1 프로그램(C)과 다른 복수의 제2 프로그램(A, B, D)을 더 구동시킬 수 있으며, 복수의 제2 프로그램(A, B, D)은 제2 OS(121) 상에서 보안 기능을 실행시키는 보안 어플리케이션(S)으로의 접근이 차단될 수 있다.
예를 들어, 개방형 환경인 제1 OS(111)에서 구동되는 응용 프로그램은 디바이스에 설치되는 각족 응용 앱(app)과 같은 프로그램으로 게임 프로그램, 메신저 프로그램, 인터넷 브라우저 프로그램, 동영상 구동 프로그램 등을 예시할 수 있으며, 보안 실행이 필요한 제1 프로그램(C) 예를 들어 모바일 뱅킹 등의 서비스의 경우에는 트랜잭션 관리가 필요한 이체나 비밀번호 입력 등의 프로세스는 별도의 보안 어플리케이션(S)으로 구현되어, 제1 프로그램(C)이 보안 어플리케이션(S)과 소정의 데이터를 송수신하는 방식으로 처리함으로써, 후킹(hooking) 등을 방지할 수 있다. 반면, 제2 OS(121)에 대한 접근권한이 없는 다른 제1 프로그램(A, B, D)은 제2 OS(121)에 대한 존재를 인식하지 못하기 때문에 접근을 하지 못하게 되거나, 존재를 인식하더라도 접근권한이 없기 때문에 접근이 원천적으로 차단될 수 있다.
도 3을 참조하면, 본 발명의 다른 실시예에 따른 보안 어플리케이션 구동 시스템의 구성을 나타내는 도면이 도시된다.
본 실시예에 따른 보안 어플리케이션 구동 시스템은 외부의 단말기 예를 들어 리더기(500) 등과 연동되어 실행될 수 있다. 예를 들어, 제1 프로그램(C)은 근거리 무선통신 모듈에 대응하여 실행될 수 있으며, 근거리 무선통신 모듈은 NFC, RFID, iBeacon, Bluetooth, Wi-Fi 등과 같은 소정 범위 내에서 통신 가능한 다양한 수단을 포함할 수 있다.
몇몇 다른 실시예에서 제1 OS(111)에서 동작하는 제1 프로그램(C)은 결재유닛을 포함할 수 있으며, 제2 OS(121)에서 동작하는 보안 어플리케이션(S)은 결재유닛과 연동되는 보안유닛을 포함할 수 있다.
도 4를 참조하면, 본 발명의 또 다른 실시예에 따른 보안 어플리케이션 구동 시스템의 구성을 나타내는 도면이 도시된다.
본 실시예에 따른 보안 어플리케이션 구동 시스템은, 제1 OS(111) 및/또는 제2 OS(121) 상의 데이터 연산을 수행하는 마이크로 프로세서(100)을 포함할 수 있으며, 이와 별도로 제1 프로그램(C) 상에서 발생한 데이터를 암호화하는 크립토 프로세서(200)를 더 포함할 수 있다.
도 5를 참조하면, 본 발명의 또 다른 실시예에 따른 보안 어플리케이션 구동 시스템의 전체 구성을 나타내는 도면이 도시된다.
본 발명의 실시예들에 따른 디바이스의 마이크로 프로세서(100)는 제1 OS(111)의 구동 중에 데이터 보호가 필요한 디바이스 인증이나 결재와 같은 이벤트가 발생하면 제1 OS(111)와 함께 제2 OS(121)를 동시에 구동할 수 있다. 또한, 제2 OS(121) 상의 보안 어플리케이션(S)이 호출되지 않은 상태에서도 동시에 구동된 상태가 유지되도록 구성될 수도 있다. 최근의 CPU나 MPU는 메모리, 리소스 점유율과 같은 시스템 자원을 실시간 재분배하는 가상화 기술을 통해 복수의 OS를 동시에 구동할 수 있다.
모니터(130)는 개방형 환경에서 구동되는 응용 프로그램과 보안 환경에서 구동되는 보안 프로그램간의 메시지 전달을 매개하는 기능을 수행한다. 개방형 OS인 제1 OS(111)와 보안 OS인 제2 OS(121)는 서로 독립된 운영 시스템이기 때문에 양 시스템 간의 데이터 및 메시지 전달을 위해서 모니터(130)가 제공될 수 있다. 모니터(130)는 일종의 게이트웨이일 수 있으며 제1 OS(111)의 프로그램 및 어플리케이션과 제2 OS(121)의 보안 프로그램 및 보안 어플리케이션 간의 데이터 및 메시지 전달을 매개할 수 있다. 모니터(130)는 백그라운드 프로그램 형태로 구현하거나, 제1 OS(111)와 보안 커널인 제2 커널(122)의 동작을 중계하는 이벤트 핸들러 형태로 스마트카드를 포함하는 디바이스에 상주하도록 구현할 수 있다.
이러한 구성에 따라 개방형 환경의 제1 프로그램(C)이 인증 이벤트를 모니터(130)를 통해 보안 환경의 보안 어플리케이션(S)에 전송한다. 보안 어플리케이션(S)은 인증 이벤트에 따라 소정의 메모리에 액세스하여 보안 프로세스를 수행하고, 해당 결과를 모니터(130)를 통해 제1 프로그램(C)에 전송할 수 있다.
몇몇 다른 실시예에서 보안 어플리케이션(S)은 가상머신 상에서 소정의 명령을 수행할 수 있다. 가상머신은 자바 가상머신(Java Virtual Machine)일 수 있으며, 보안 어플리케이션(S)은 자바 애플릿(Java Applet)일 수 있다. 또한, 디바이스가 스마트카드인 경우, 가상머신은 자바 카드 가상머신(Java Card VM)일 수 있으며, 보안 어플리케이션(S)은 자바 카드 애플릿(Java Card Applet)일 수 있다.
자바 카드 가상머신(Java Card Vm)을 보안 실행 환경(Trusted Execution Environment :TEE)에서 구동시켰을 경우, 이미 자바 카드 가상머신(Java Card VM)을 기반으로 동작하는 많은 보안 서비스들이 존재하며, 보안 실행 환경 에서 자바 카드 가상머신을 구동시킬 경우 기존에 동작하는 많은 서비스들을 그대로 제공 내지 활용할 수 있다는 장점이 있다.
제2 OS(121)는 보안 커널인 제2 커널(122)을 더 포함할 수 있으며, 보안 커널은, 보안 어플리케이션(S) 및 이와 통신하는 제1 프로그램(C) 사이에서 송수신되는 제1 데이터를 암호화하기 위한 보안 유닛을 포함할 수 있다.
디바이스 드라이버(개방형 입력장치 드라이버)는 개방형 커널인 제1 커널(112)에 설치되고, 개방형 환경에서 입력장치 컨트롤러의 제어권한을 획득하여 입력장치 컨트롤러로부터 입력 데이터를 수신하여 개방형 환경에서 구동중인 응용 프로그램에 전달하는 기능을 수행할 수 있다. 개방형 입력장치 드라이버는 후술할 제2 커널(122) 상의 보안 디바이스 드라이버와 구별하기 위한 용어로써, 일반적인 입력장치 드라이버로서 응용 프로그램에 입력 데이터를 제공하는 기능을 수행할 수 있다. 즉, 종래의 안드로이드 OS 등에서 사용되는 디바이스 드라이버를 예시할 수 있다.
보안 디바이스 드라이버는 제2 커널(122)에 설치되고, 보안 환경에서 입력장치 컨트롤러의 제어권한을 획득하여 개방형 입력장치 드라이버와 선택적으로 입력장치 컨트롤러의 제어권한을 획득하여 입력장치 컨트롤러로부터 입력 데이터를 수신하여 보안 프로그램에게 전달하는 기능을 수행할 수 있다. 보안 디바이스 드라이버는 보안 환경의 보안 어플리케이션에게만 입력 데이터를 제공하는 드라이버로서, 보안 디바이스 드라이버가 입력장치 컨트롤러의 제어권한을 획득하면, 제1 OS(111)의 개방형 입력장치 드라이버는 제어권한을 잃기 때문에 개방형 환경에서는 입력장치 하드웨어 자체가 없어진 것으로 인식되기 때문에 응용 프로그램의 입력 데이터 접근 자체를 차단할 수 있다.
이와 같이, 일반적인 제1 OS(111)의 제1 프로그램(A, B, D)에겐 은닉된 제2 OS(121)를 이용한 디바이스는 안드로이드 OS와 같이 보안성이 취약한 일반적인 개방형 OS에서 디바이스 인증정보와 같은 중요 정보에 대한 처리를 수행하지 아니하고, 독립적인 OS인 제2 OS(121)에서 처리를 수행하기 때문에 개방형 OS(120)에 은닉구동 중인 해킹 프로그램에 의한 인증정보 유출을 원천적으로 방지할 수 있는 효과를 제공할 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
111: 제1 OS
121: 제2 OS

Claims (10)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 프로세서 상의 제1 가상코어에서 동작하며, 제1 프로그램을 구동시키는 제1 OS; 및
    상기 프로세서 상의 제2 가상코어에서 동작하며, 상기 제1 가상코어 및 상기 제1 OS와 격리되어 별도의 리소스를 기초로 독립적으로 구동되며, 상기 제1 프로그램으로부터 제1 데이터를 수신하여 가상머신 상에서 소정 명령을 수행하는 어플리케이션을 구동시키는 제2 OS를 포함하고,
    상기 어플리케이션은 상기 제1 프로그램을 통해 실행 가능하도록 설정되고,
    상기 제1 OS는 상기 제1 프로그램과 다른 복수의 제2 프로그램을 더 구동시키고,
    상기 복수의 제2 프로그램은 상기 어플리케이션으로의 접근이 차단되는, 보안 어플리케이션 구동 시스템.
  6. 삭제
  7. 삭제
  8. 프로세서 상의 제1 가상코어에서 동작하며, 제1 프로그램을 구동시키는 제1 OS; 및
    상기 프로세서 상의 제2 가상코어에서 동작하며, 상기 제1 가상코어 및 상기 제1 OS와 격리되어 별도의 리소스를 기초로 독립적으로 구동되며, 상기 제1 프로그램으로부터 제1 데이터를 수신하여 가상머신 상에서 소정 명령을 수행하는 어플리케이션을 구동시키는 제2 OS를 포함하고,
    상기 어플리케이션은 상기 제1 프로그램을 통해 실행 가능하도록 설정되며,
    상기 제1 프로그램은 결재유닛을 포함하는, 보안 어플리케이션 구동 시스템.
  9. 제8항에 있어서,
    상기 어플리케이션은 상기 결재유닛과 연동되는 보안유닛을 포함하는, 보안 어플리케이션 구동 시스템.
  10. 프로세서 상의 제1 가상코어에서 동작하며, 제1 프로그램을 구동시키는 제1 OS; 및
    상기 프로세서 상의 제2 가상코어에서 동작하며, 상기 제1 가상코어 및 상기 제1 OS와 격리되어 별도의 리소스를 기초로 독립적으로 구동되며, 상기 제1 프로그램으로부터 제1 데이터를 수신하여 가상머신 상에서 소정 명령을 수행하는 어플리케이션을 구동시키는 제2 OS를 포함하고,
    상기 어플리케이션은 상기 제1 프로그램을 통해 실행 가능하도록 설정되고,
    상기 제2 OS는 보안 커널을 더 포함하고,
    상기 보안 커널은,
    상기 제1 데이터를 암호화하기 위한 보안 유닛을 포함하는, 보안 어플리케이션 구동 시스템.
KR1020140018926A 2014-02-19 2014-02-19 보안 어플리케이션 구동 시스템 KR101513162B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140018926A KR101513162B1 (ko) 2014-02-19 2014-02-19 보안 어플리케이션 구동 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140018926A KR101513162B1 (ko) 2014-02-19 2014-02-19 보안 어플리케이션 구동 시스템

Publications (1)

Publication Number Publication Date
KR101513162B1 true KR101513162B1 (ko) 2015-04-17

Family

ID=53053512

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140018926A KR101513162B1 (ko) 2014-02-19 2014-02-19 보안 어플리케이션 구동 시스템

Country Status (1)

Country Link
KR (1) KR101513162B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100833618B1 (ko) * 2007-11-14 2008-06-10 한국통신인터넷기술 주식회사 다중 os를 이용하여 전자 금융 거래가 가능한 단말기 및그 제어 방법
KR20110132749A (ko) * 2010-06-03 2011-12-09 한양대학교 산학협력단 복수의 이종 코어를 포함하는 멀티코어 프로세서 시스템 및 그 제어 방법
KR20120088117A (ko) * 2011-01-31 2012-08-08 사단법인한국디지털케이블연구원 자바 가상 머신을 이용한 교환 가능형 제한수신 호스트
KR20130101572A (ko) * 2010-12-29 2013-09-13 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 디렉토리 기반의 멀티코어 아키텍처 상에서 캐시 상태 전송의 가속화

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100833618B1 (ko) * 2007-11-14 2008-06-10 한국통신인터넷기술 주식회사 다중 os를 이용하여 전자 금융 거래가 가능한 단말기 및그 제어 방법
KR20110132749A (ko) * 2010-06-03 2011-12-09 한양대학교 산학협력단 복수의 이종 코어를 포함하는 멀티코어 프로세서 시스템 및 그 제어 방법
KR20130101572A (ko) * 2010-12-29 2013-09-13 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 디렉토리 기반의 멀티코어 아키텍처 상에서 캐시 상태 전송의 가속화
KR20120088117A (ko) * 2011-01-31 2012-08-08 사단법인한국디지털케이블연구원 자바 가상 머신을 이용한 교환 가능형 제한수신 호스트

Similar Documents

Publication Publication Date Title
US8935746B2 (en) System with a trusted execution environment component executed on a secure element
KR102485830B1 (ko) 보안 정보의 처리
JP6517926B2 (ja) モバイル支払い装置および方法
US11126753B2 (en) Secure processor chip and terminal device
US9183412B2 (en) Systems and methods for provisioning and using multiple trusted security zones on an electronic device
US7748609B2 (en) System and method for browser based access to smart cards
US9779232B1 (en) Trusted code generation and verification to prevent fraud from maleficent external devices that capture data
WO2018228199A1 (zh) 一种授权方法以及相关设备
WO2017177814A1 (zh) 一种控制多个安全应用软件的运行的装置和方法
ES2728292T3 (es) Servidor y método para proporcionar un acceso seguro a servicios basados en la red
KR101843730B1 (ko) 보안 런타임 환경을 갖는 마이크로 프로세서 시스템
US9459937B2 (en) Method for using shared device in apparatus capable of operating two operating systems
CN105446713A (zh) 安全存储方法及设备
US20130104220A1 (en) System and method for implementing a secure USB application device
EP3764258B1 (en) Constructing common trusted application for a plurality of applications
Marforio et al. Secure enrollment and practical migration for mobile trusted execution environments
Roland et al. Relay attacks on secure element-enabled mobile devices: virtual pickpocketing revisited
Huang et al. A11y and Privacy don't have to be mutually exclusive: Constraining Accessibility Service Misuse on Android
JP5296627B2 (ja) 端末保護システム及び端末保護方法
Hölzl et al. Requirements for an open ecosystem for embedded tamper resistant hardware on mobile devices
KR100879909B1 (ko) Scws를 이용한 애플릿 서비스 제공 시스템 및 제공 방법
KR101513162B1 (ko) 보안 어플리케이션 구동 시스템
Zhang Network Security Middleware Based on USB Key
WO2015043444A1 (zh) 安全模式提示方法和实现该方法的移动设备
CN114286345B (zh) 智能终端内的nfc通信装置及方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee