1 |
1
안드로이드 어플리케이션에 의해 실행 가능한 보안 컨테이너 구축 장치에 있어서,안드로이드 디바이스에 설치되며,가상화 환경을 지원하는 리눅스 커널 모듈(11)을 안드로이드 커널(kernel)에 생성하는 리눅스 커널 생성부(21)와;상기 리눅스 커널 모듈(11)에 접근 권한을 갖는 안드로이드 서비스 모듈(12)을 안드로이드 프레임워크에 생성하는 컨테이너 서비스 생성부(22); 및안드로이드 어플리케이션(13)의 명령을 전달받아 상기 안드로이드 서비스 모듈(12)에 보안 컨테이너(14)의 생성을 요청하는 어플리케이션 명령 처리부(23);를 포함하여,상기 보안 컨테이너(14) 생성 요청에 따라 상기 리눅스 커널 모듈(11)에 의해 보안 컨테이너(14)가 생성되고,상기 리눅스 커널 모듈(11)은, 경량 가상 머신 환경을 구현하기 위한 리눅스 커널 모듈(11)인 KVM(Kernel-based Virtual Machine)이며,상기 KVM은, ARM 환경에서 제공하는 하이퍼바이져 모드(HYP mode)를 통해 하드웨어 레벨에서 각 가상머신을 위한 가상화가 이루어지고,상기 안드로이드 서비스 모듈(12)은 ARM 기반 경량의 가상 머신 환경 구축 도구에 대한 접근 권한을 가지며, 안드로이드 어플리케이션(13)의 요청에 따라 상기 보안 컨테이너(14)를 생성 및 제거하고,상기 보안 컨테이너(14)에 의해 상기 보안 컨테이너(14)와 안드로이드 서비스 모듈(12)간 통신 기능이 구축되고,상기 안드로이드 서비스 모듈(12)에 의해 상기 안드로이드 어플리케이션(13)과 보안 컨테이너(14)간 통신 기능이 구축되며,상기 안드로이드 어플리케이션(13)은 상기 보안 컨테이너(14)를 직접 이용하도록 마련되어, 어플리케이션 레벨에서 상기 보안 컨테이너(14)를 실행 및 종료하고, 특정 커맨드를 상기 보안 컨테이너(14) 내부에서 실행시키도록 마련되는 것을 특징으로 하는 안드로이드 어플리케이션에 의해 실행 가능한 보안 컨테이너 구축 장치
|
2 |
2
삭제
|
3 |
3
제1항에 있어서,상기 보안 컨테이너(14)와 연결된 콘솔을 각 어플리케이션들에게 제공해주는 프록시(proxy)를 더 포함하는 것을 특징으로 하는 안드로이드 어플리케이션에 의해 실행 가능한 보안 컨테이너 구축 장치
|
4 |
4
삭제
|
5 |
5
삭제
|
6 |
6
제1항에 있어서,상기 KVM은,lkvm 바이너리를 사용하며, lkvm 소스코드를 받아 ARM 아키텍처를 위해 크로스 컴파일하고 동적 라이브러리들을 모두 통합하여 정적 라이브러리로 함께 컴파일을 수행하는 것을 특징으로 하는 안드로이드 어플리케이션에 의해 실행 가능한 보안 컨테이너 구축 장치
|
7 |
7
제1항에 있어서,상기 보안 컨테이너(14)는,상기 보안 컨테이너(14)에서 사용되는 커널로서 마이크로 커널을 포함하되, 상기 보안 컨테이너(14)를 위해 사용될 루트 파일 시스템으로 busybox 기반의 미니멈 루트 파일 시스템이 구현되는 것을 특징으로 하는 안드로이드 어플리케이션에 의해 실행 가능한 보안 컨테이너 구축 장치
|
8 |
8
안드로이드 어플리케이션에 의해 실행 가능한 보안 컨테이너 구축 방법에 있어서,안드로이드 디바이스의 메모리에 저장되어 프로세서에 의해 실행되며,리눅스 커널 생성부(21)에서 가상화 환경을 지원하는 리눅스 커널 모듈(11)을 안드로이드 커널에 생성하는 가상머신 생성단계(S11)와;컨테이너 서비스 생성부(22)에서 상기 리눅스 커널 모듈(11)에 접근 권한을 갖는 안드로이드 서비스 모듈(12)을 안드로이드 프레임워크에 생성하는 시스템 서비스 생성단계(S12)와;어플리케이션 명령 처리부(23)에서 안드로이드 어플리케이션(13)의 명령을 전달받아 상기 안드로이드 서비스 모듈(12)에 보안 컨테이너(14)의 생성을 요청하는 컨테이너 생성 요청단계(S13); 및상기 리눅스 커널 모듈(11)에서 상기 안드로이드 서비스 모듈(12)을 통해 생성 요청을 받아 보안 컨테이너(14)를 생성하는 보안 컨테이너 생성단계(S14);를 포함하고,상기 가상머신 생성단계(S11)는, 경량 가상 머신 환경을 구현하기 위한 리눅스 커널 모듈(11)인 KVM(Kernel-based Virtual Machine)을 구축하는 단계이고,상기 가상머신 생성단계(S11)에서, ARM 환경에서 제공하는 하이퍼바이져 모드(HYP mode)를 통해 하드웨어 레벨에서 각 가상머신을 위한 가상화가 이루어지며,상기 안드로이드 서비스 모듈(12)은 ARM 기반 경량의 가상 머신 환경 구축 도구에 대한 접근 권한을 가지며, 안드로이드 어플리케이션(13)의 요청에 따라 상기 보안 컨테이너(14)를 생성 및 제거하고,상기 보안 컨테이너(14)에 의해 상기 보안 컨테이너(14)와 안드로이드 서비스 모듈(12)간 통신 기능을 구축하는 제1 연결단계(S15-1); 및상기 안드로이드 서비스 모듈(12)에 의해 상기 안드로이드 어플리케이션(13)과 보안 컨테이너(14)간 통신 기능을 구축하는 제2 연결단계(S15-2);를 더 포함하며,상기 안드로이드 어플리케이션(13)은 상기 보안 컨테이너(14)를 직접 이용하도록 마련되어, 어플리케이션 레벨에서 상기 보안 컨테이너(14)를 실행 및 종료하고, 특정 커맨드를 상기 보안 컨테이너(14) 내부에서 실행시키도록 마련되는 것을 특징으로 하는 안드로이드 어플리케이션에 의해 실행 가능한 보안 컨테이너 구축 방법
|
9 |
9
삭제
|
10 |
10
제8항에 있어서,상기 컨테이너 서비스 생성부(22)에서 상기 보안 컨테이너(14)와 연결된 콘솔을 각 어플리케이션들에게 제공하는 프록시 단계를 더 포함하는 것을 특징으로 하는 안드로이드 어플리케이션에 의해 실행 가능한 보안 컨테이너 구축 방법
|
11 |
11
삭제
|
12 |
12
삭제
|
13 |
13
제8항에 있어서,상기 가상머신 생성단계(S11)에서,상기 KVM의 활용하기 위해 lkvm 바이너리를 사용하며, lkvm 소스코드를 받아 ARM 아키텍처를 위해 크로스 컴파일하고 동적 라이브러리들을 모두 통합하여 정적 라이브러리로 함께 컴파일을 수행하는 것을 특징으로 하는 안드로이드 어플리케이션에 의해 실행 가능한 보안 컨테이너 구축 방법
|
14 |
14
제8항에 있어서,상기 보안 컨테이너 생성단계(S14)에서는,상기 보안 컨테이너(14)에서 사용될 커널로서 마이크로 커널이 함께 생성되되, 상기 보안 컨테이너(14)를 위해 사용될 루트 파일 시스템으로 busybox 기반의 미니멈 루트 파일 시스템이 구현되는 것을 특징으로 하는 안드로이드 어플리케이션에 의해 실행 가능한 보안 컨테이너 구축 방법
|
15 |
15
제8항, 제10항, 제13항 및 제14항 중 어느 하나의 항과 같은 안드로이드 어플리케이션에 의해 실행 가능한 보안 컨테이너 구축 방법을 수행하기 위한, 컴퓨터 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체
|