KR20130027056A - 애플리케이션 배포 시스템, 애플리케이션 배포 방법, 단말 및 프로그램 - Google Patents

애플리케이션 배포 시스템, 애플리케이션 배포 방법, 단말 및 프로그램 Download PDF

Info

Publication number
KR20130027056A
KR20130027056A KR1020137003973A KR20137003973A KR20130027056A KR 20130027056 A KR20130027056 A KR 20130027056A KR 1020137003973 A KR1020137003973 A KR 1020137003973A KR 20137003973 A KR20137003973 A KR 20137003973A KR 20130027056 A KR20130027056 A KR 20130027056A
Authority
KR
South Korea
Prior art keywords
application
storage area
file
executable file
terminal
Prior art date
Application number
KR1020137003973A
Other languages
English (en)
Other versions
KR101453225B1 (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 엔이씨 빅로브 가부시키가이샤
Publication of KR20130027056A publication Critical patent/KR20130027056A/ko
Application granted granted Critical
Publication of KR101453225B1 publication Critical patent/KR101453225B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several 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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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
    • G06F9/445Program loading or initiating

Abstract

본 발명에서, 실행 파일 내의 증명서 데이터는 액세스 제한된 보호 데이터 기억 영역 (14) 에 증명서 파일로서 저장된다. 그 후, 증명서 데이터를 포함하지 않는 실행 파일이 애플리케이션 배포 서버 (40) 로부터 업데이트를 위한 실행 파일로서 배포되면, 업데이트를 위한 실행 파일을 실행시킴으로써 애플리케이션이 사용되는 경우 보호 데이터 기억 영역 (14) 에 저장된 증명서 파일이 사용된다.

Description

애플리케이션 배포 시스템, 애플리케이션 배포 방법, 단말 및 프로그램{APPLICATION DISTRIBUTION SYSTEM, APPLICATION DISTRIBUTION METHOD, TERMINAL, AND PROGRAM}
본 발명은 서버와 통신하는 역할을 하는 애플리케이션을 배포하는 애플리케이션 배포 시스템, 애플리케이션 배포 방법, 단말, 및 프로그램에 관한 것이고, 특히 애플리케이션이 사용되는 경우 필요한 증명서에 대한 보호 기술에 관한 것이다.
최근에, 스마트폰, 인터넷 단말들, 태블릿 단말 등을 위한 오픈 소스 운영 시스템, 미들웨어 및 주요 애플리케이션들로 이루어진 소프트웨어 스택 패키지에 기초한 플랫폼이 발표되었다 (예를 들어, 비특허 문헌 1 참조).
상기 플랫폼에는, 단말의 유저에게 루트 특권이 허가되지 않고 단말에 인스톨되어 있는 패키지들 각각에 고유의 리눅스 ID 가 할당되고, 각각의 애플리케이션은 리눅스 유저 ID 에 기초하여 실행되며, 애플리케이션의 실행에 의해 생성된 파일은 보호 데이터 기억 영역에 기억되어 다른 애플리케이션들 및 단말의 유저가 보호 데이터 기억 영역을 판독하고 쓸 수 없는 메커니즘에 제공된다 (예를 들어, 비특허 문헌 2 참조).
상기 플랫폼에는 또한, 애플리케이션이 복사되는 것을 보호하는 메커니즘이 제공된다. 보호 상태에 있는 것으로 지정된 애플리케이션은 보호 애플리케이션 기억 영역에 인스톨되는데, 권한이 없는 유저는 보호 애플리케이션으로부터 데이터를 판독하고 보호 애플리케이션에 데이터를 쓸 수 없다 (예를 들어, 비특허 문헌 3 참조).
보호 상태에 있는 것으로 지정되어 있는 애플리케이션이 인스톨되면, 패키지 (.apk) 에 포함된 애플리케이션 실행 파일 (.dex) 외의 파일들은 보호 영역에 인스톨되지 않아서, 권한이 없는 유저가 이 보호 영역으로부터 데이터를 판독할 수 없고 보호 영역에 데이터를 쓸 수 없지만, 비-보호 영역에 인스톨되면 권한이 없는 유저가 이 비-보호 영역으로부터 데이터를 판독할 수 있고 비-보호 영역에 데이터를 쓸 수 있다. 따라서, 클라이언트 증명서 파일과 함께 애플리케이션 실행 파일을 포함하는 패키지 파일이 인스톨되면, 클라이언트 증명서 파일은 보호 영역에 인스톨되지 않을 것이다. 결과적으로, 유저는 애플리케이션이 패키지 파일로부터 사용하는 클라이언트 증명서를 제거할 수도 있다 (예를 들어, 비특허 문헌 4 참조).
이러한 문제를 해결할 수 있는 기법이 고려되고 있다. 즉, 애플리케이션 프로그램의 실행 파일은 실행 파일 및 증명서 양자 모두를 쉽게 인스톨하도록 증명서를 포함한다 (예를 들어, 특허 문헌 1 참조). 이 기법을 이용하면, 증명서가 실행 파일과 함께 보호 영역에 인스톨되기 때문에, 애플리케이션이 패키지로부터 사용하는 클라이언트 증명서를 유저가 제거하는 것을 방지할 수 있다.
상기 플랫폼에서, 인스톨되어 있는 애플리케이션들은 업데이트되는 것이 바람직하다. 이를 위해서, 애플리케이션을 새롭게 인스톨하고 그것을 업데이트하기 위해 필요한 패키지를 배포하는 메커니즘이 인터넷 상에서 마켓으로 지칭된 서버로서 제공된다. 애플리케이션이 업데이트되는 경우, 애플리케이션 실행 파일, 클라이언트 증명서 파일, 및 증명서 데이터를 포함하는 패키지 파일은 애플리케이션을 업데이트하도록 마켓으로 지칭된 서버에 업로드된다 (예를 들어, 비특허 문헌 5 참조).
관련 기술 문헌들
특허 문헌
특허 문헌 1: 일본공개특허공보 제 2007-272610 호
비특허 문헌
비특허 문헌 1: Android-Wikipedia http://ja.wikipedia.org/wiki/Android
비특허 문헌 2: Android Developers Security and Permissions http://developer.android.com/guide/topics/security/security.html#userid
비특허 문헌 3: Forward-Locked Applications http://developer.android.com/guide/appendix/market-filters.html#other-filters
비특허 문헌 4: App Install Location http://developer.android.com/guide/appendix/install-location.html
비특허 문헌 5: Publishing Your Applications http://developer.android.com/guide/publishing/publishing.html
그러나, 애플리케이션이 상기 방식으로 업데이트되는 경우, 애플리케이션 실행 파일, 클라이언트 증명서 파일, 및 증명서 데이터를 포함하는 패키지 파일이 서버에 업로드되기 때문에, 애플리케이션을 배포하는 서버의 관리자가 악의적이면, 그 또는 그녀는 패키지 파일로부터 클라이언트 증명서 파일 및 증명서 데이터를 제거할 수도 있다. 애플리케이션들을 배포하는 서버는 애플리케이션이 배포되는 단말의 제조자에 의해 인스톨되지 않을 수도 있기 때문에, 악의적인 관리자가 서버를 관리할 수 있다.
본 발명은 상기 기법들이 가지는 문제들의 관점에서 이루어졌다. 본 발명의 목적은, 업데이트 애플리케이션들을 배포하는 서버의 관리자가 클라이언트 증명서들에 액세스할 수 없는 상태에서 애플리케이션이 업데이트되는 것을 허용하는 애플리케이션 배포 시스템, 애플리케이션 배포 방법, 단말, 및 프로그램을 제공하는 것이다.
상기 목적을 달성하기 위한 본 발명은 애플리케이션 배포 시스템인데, 이 시스템은,
애플리케이션의 인스톨된 실행 파일을 실행시키고 그 후 애플리케이션을 사용하는 단말; 및
애플리케이션의 업데이트 실행 파일을 단말에 배포하는 애플리케이션 배포 서버를 포함하고,
단말에 인스톨된 실행 파일은 애플리케이션 배포 서버로부터 단말로 배포된 상기 업데이트 실행 파일에 업데이트되고,
상기 단말에 인스톨된 실행 파일은 상기 애플리케이션을 사용하는데 필요한 증명서 데이터를 포함하며,
상기 단말은 상기 실행 파일에 포함된 증명서 데이터를 액세스 제한되어 있는 제 1 기억 영역에 증명서 파일로서 저장하고, 상기 증명서 데이터를 포함하지 않는 실행 파일이 상기 애플리케이션 배포 서버로부터 상기 업데이트 실행 파일로서 배포되는 경우 상기 단말은 애플리케이션을 사용하도록 상기 제 1 기억 영역에 저장된 증명서 파일에 기초하여 상기 업데이트 실행 파일을 실행한다.
또한, 본 발명은 애플리케이션 배포 시스템에 대한 애플리케이션 배포 방법이고, 애플리케이션 배포 시스템은, 애플리케이션의 인스톨된 실행 파일을 실행시키고 그 후 애플리케이션을 사용하는 단말; 및 상기 애플리케이션의 업데이트 실행 파일을 단말에 배포하는 애플리케이션 배포 서버를 포함하고, 단말에 인스톨된 실행 파일은 상기 애플리케이션 배포 서버로부터 상기 단말로 배포된 상기 업데이트 실행 파일에 업데이트되고, 상기 단말에 인스톨된 실행 파일은 애플리케이션을 사용하는데 필요한 증명서 데이터를 포함하고,
상기 애플리케이션 배포 방법은,
상기 단말로 하여금, 상기 실행 파일에 포함된 증명서 데이터를 액세스 제한된 제 1 기억 영역에 증명서 파일로서 저장하게 하는 프로세스;
상기 애플리케이션 배포 서버로 하여금, 상기 증명서 데이터를 포함하지 않는 실행 파일을 상기 업데이트 실행 파일로서 상기 단말에 배포하게 하는 프로세스; 및
상기 단말로 하여금, 제 1 기억 영역에 저장된 증명서 파일에 기초하여 상기 애플리케이션 배포 서버로부터 배포된 업데이트 실행 파일을 실행시켜 애플리케이션을 사용하게 하는 프로세스를 포함한다.
또한, 본 발명은 애플리케이션의 인스톨된 실행 파일을 실행시킨 후 애플리케이션을 사용하고, 상기 애플리케이션 배포 서버로부터 배포된 업데이트 실행 파일에 인스톨된 실행 파일을 업데이트하는 단말이고,
상기 단말에 인스톨된 실행 파일은 상기 애플리케이션을 사용하는데 필요한 증명서 데이터를 포함하고,
상기 실행 파일에 포함된 증명서 데이터는 액세스 제한된 제 1 기억 영역에 증명서 파일로서 저장되고, 상기 증명서 데이터를 포함하지 않는 실행 파일이 상기 애플리케이션 배포 서버로부터 상기 업데이트 실행 파일로서 배포되는 경우, 상기 업데이트 실행 파일은 상기 애플리케이션을 사용하도록 상기 제 1 기억 영역에 저장된 증명서 파일에 기초하여 실행된다.
또한, 본 발명은 단말로 하여금 애플리케이션의 인스톨된 실행 파일을 실행시킨 후 애플리케이션을 사용하고, 상기 애플리케이션 배포 서버로부터 배포된 업데이트 실행 파일에 인스톨된 실행 파일을 업데이트하여 단계들을 실행하도록 하는 프로그램이고,
상기 단계들은,
제공된 실행 파일에 포함되고 액세스 제한된 제 1 기억 영역에 증명서 파일로서 애플리케이션을 사용하는데 필요한 증명서 데이터를 저장하는 단계; 및
상기 증명서 데이터를 포함하지 않는 실행 파일이 상기 애플리케이션 배포 서버로부터 상기 업데이트 실행 파일로서 배포되는 경우, 애플리케이션을 사용하도록 상기 제 1 기억 영역에 저장된 증명서 파일에 기초하여 업데이트 실행 파일을 실행시키는 단계를 포함한다.
본 발명에 따르면, 실행 파일에 포함된 증명서 데이터가 액세스 제한되어 있는 제 1 기억 영역에 증명서 파일로서 저장된다. 그 후, 증명서 파일을 포함하지 않는 실행 파일이 업데이트 실행 파일로서 배포되면, 업데이트 실행 파일은 애플리케이션을 사용하도록 제 1 기억 영역에 저장된 증명서 파일에 기초하여 실행된다. 따라서, 애플리케이션은, 업데이트 애플리케이션을 배포하는 서버의 관리자가 클라이언트 증명서에 액세스할 수 없는 상태에서 업데이트될 수 있다.
도 1 은 본 발명의 일 실시형태에 따른 애플리케이션 배포 시스템을 나타내는 블록도이다.
도 2 는 도 1 에 도시된 애플리케이션에 대한 기본 동작을 설명하는 플로우차트이다.
도 3 은 도 1 에 도시된 보호 애플리케이션 기억 영역에 저장된 인스톨 패키지 파일의 구조를 나타내는 개략도이다.
도 4 는 도 1 에 도시된 애플리케이션 배포 시스템에서 도 3 에 도시된 인스톨 패키지 파일에 대한 사전-인스톨 동작을 설명하는 타이밍 차트이다.
도 5 는 도 1 에 도시된 애플리케이션 배포 시스템의 애플리케이션에 대한 규칙적인 활성 동작을 설명하는 타이밍 차트이다.
도 6 은 도 1 에 도시된 애플리케이션 배포 시스템의 유저 단말에 대해 유저가 수행하는 풀 리셋 (full reset) 동작을 설명하는 타이밍 차트이다.
도 7 은 도 1 에 도시된 애플리케이션 배포 시스템의 애플리케이션에 대한 업데이트 동작을 설명하는 타이밍 차트이다.
도 8 은 도 1 에 도시된 개발자 단말의 출하 제품 기억 영역에 저장된 업데이트 버전 인스톨 패키지의 구조를 나타내는 개략도이다.
다음으로, 첨부된 도면들을 참조하여 본 발명의 실시형태들을 설명한다.
도 1 은 본 발명의 일 실시형태에 따른 애플리케이션 배포 시스템을 나타내는 블록도이다.
도 1 에 도시된 바와 같이, 본 실시형태에 따른 애플리케이션 배포 시스템은 유저 단말 (10), 개발자 단말 (20), 서버 (30), 및 애플리케이션 배포 서버 (40) 로 이루어진다.
유저 단말 (10) 이 애플리케이션을 사용하는 경우, 유저 단말 (10) 은 인스톨된 실행 파일을 실행하고 서버 (30) 에 액세스한다. 유저 단말 (10) 은 보호 일시 기억 영역 (11), 애플리케이션 기억 영역 (12), 보호 애플리케이션 기억 영역 (13), 보호 데이터 기억 영역 (14), 디버그 브릿지 (15), 인스톨러 (16), 애플리케이션 (17), 및 다운로더 (18) 로 이루어진다. 유저 단말 (10) 은, 예를 들어 휴대용 정보 단말 (PDA; Portable Data Assistant) 또는 휴대용 전화 단말일 수도 있으며, 이들 각각에는 안드로이드와 같은 OS 가 제공된다. 유저 단말 (10) 의 루트 (root) 특권이 그 사용자에게 허락되지 않는다. 유저 단말 (10) 에 인스톨된 각 패키지에는 고유의 리눅스 (Linux) 유저 ID 가 할당된다. 각 애플리케이션은 이 리눅스 유저 ID 에 기초하여 실행된다. 루트 특권은 유저 단말 (10) 의 제조자의 권한이 있는 사람에게만 허락된다.
개발자 단말 (20) 은, 유저 단말 (10) 에 인스톨된 애플리케이션이 개발되는 퍼스널 컴퓨터와 같은 단말이다. 유저 단말 (10) 의 제조자의 기술자들은 개발자 단말 (20) 을 사용한다. 개발자 단말 (20) 은 데이터 쓰기 툴 (21), 출하 제품 기억 영역 (22), 및 브라우저 (23) 로 이루어진다.
서버 (30) 는 SSL 기반 양방향 인증을 필요로하는 WEB 서버이다.
애플리케이션 배포 서버 (40) 는 인터넷 상에 위치하고 유저 단말 (10) 에 애플리케이션들을 배포하는 서버이다. 애플리케이션 배포 서버 (40) 는 콘텐츠 기억 영역 (41) 및 WEB 서버 (42) 로 이루어진다. 애플리케이션 배포 서버 (40) 는 일반적으로 마켓으로 지칭되는 서버이다.
우선, 유저 단말 (10) 의 구성 요소들을 설명한다.
보호 일시 기억 영역 (11) 은 본 발명의 제 2 기억 영역에 대응한다. 보호 일시 기억 영역 (11) 은 디버그 브릿지 (15) 를 통해 개발자 단말 (20) 로부터 수신된 파일을 저장한다. 인스톨러 (16) 가 디버그 브릿지 (15) 또는 유저 단말 (11) 의 스타트업 스크립트에 의해 지시된 대로 동작하는 경우, 보호 일시 기억 영역 (11) 에 저장된 파일은 유저 단말 (10) 의 메모리 (미도시) 상에서 동작하는 인스톨러 (16) 로 패스된다. 미리 지정된 유저인 루트 특권이 있는 유저 만이 보호 일시 기억 영역 (11) 에 파일을 저장하고 이 영역으로부터 파일을 판독할 수 있다. 다시 말하면, 유저 단말 (10) 의 제조사의 권한이 있는 사람 만이 보호 일시 기억 영역 (11) 에 파일을 저장하고 이 영역으로부터 파일을 판독할 수 있다. 따라서, 유저 단말 (10) 의 구매자를 포함하는 유저는 보호 일시 기억 영역 (11) 으로부터의 파일을 판독할 수 없다. 보호 일시 기억 영역 (11) 에 저장된 파일들은, 유저 단말 (10) 이 완전히 리셋 (공장 디폴트 상태로 복구) 되더라도 소거되지 않는다.
애플리케이션 기억 영역 (12) 은 인스톨러 (16) 로부터 수신된 애플리케이션 실행 파일 및 부속 파일들을 저장한다. 애플리케이션 (17) 이 실행되는 경우 또는 애플리케이션 (17) 에 의해 요청되는 경우, 유저 단말 (10) 의 메모리에 저장된 파일들은 애플리케이션 (17) 으로 패스된다. 루트 특권이 없는 유저라도 애플리케이션 기억 영역 (12) 에 파일을 저장하고 이 영역으로부터 파일을 판독할 수 있다. 유저 단말 (10) 이 완전히 리셋되는 경우, 애플리케이션 기억 영역 (12) 에 저장된 파일들은 소거된다. 애플리케이션 기억 영역 (12) 은 안드로이드의 "/data/app" 에 대응한다.
보호 애플리케이션 기억 영역 (13) 은 본 발명의 제 3 기억 영역에 대응한다. 보호 애플리케이션 기억 영역 (13) 은 인스톨러 (16) 로부터 수신된 애플리케이션 실행 파일을 저장한다. 애플리케이션이 실행되는 경우, 보호 애플리케이션 기억 영역 (13) 에 저장된 파일들은 유저 단말 (10) 의 메모리로 패스된다. 루트 특권이 있는 유저 만이 보호 애플리케이션 기억 영역 (13) 에 파일을 저장하고 이 영역으로부터 파일을 판독할 수 있다. 다시 말하면, 유저 단말 (10) 의 제조자의 권한이 있는 사람 만이 보호 애플리케이션 기억 영역 (13) 에 파일을 저장하고 이 영역으로부터 파일을 판독할 수 있다. 결과적으로, 유저 단말 (10) 의 판매자를 포함하는 유저는 보호 애플리케이션 기억 영역 (13) 으로부터 파일을 판독할 수 없다. 유저 단말 (10) 이 완전히 리셋되는 경우, 보호 애플리케이션 기억 영역 (13) 에 저장된 파일들은 소거된다. 보호 애플리케이션 기억 영역 (13) 은 안드로이드의 "/data/app-private" 에 대응한다.
보호 데이터 기억 영역 (14) 은 본 발명의 제 1 기억 영역에 대응한다. 보호 데이터 기억 영역 (14) 은 애플리케이션 (17) 으로부터 수신된 파일을 저장한다. 애플리케이션 (17) 에 의해 요청되는 경우, 보호 데이터 기억 영역 (14) 에 저장된 파일은 애플리케이션 (17) 으로 패스된다. 루트 특권이 있는 유저, 파일을 생성한 애플리케이션, 또는 파일을 생성한 애플리케이션과 동일한 코드 서명 증명서 (code signing certificate) 로 서명된 애플리케이션 만이, 보호 데이터 기억 영역 (14) 에 파일을 저장하고 이 영역으로부터 파일을 판독하도록 보호 데이터 기억 영역 (14) 에 액세스한다. 따라서, 유저 단말 (10) 이 안드로이드 OS 가 제공된 단말인 경우, 유저 단말 (10) 또는 애플리케이션 (17) 의 제조자의 권한이 있는 사람 만이 보호 데이터 기억 영역 (14) 에 파일을 저장하고 이 영역으로부터 파일을 판독할 수 있다. 유저 단말 (10) 의 구매자를 포함하는 유저는 보호 데이터 기억 영역 (14) 으로부터 파일을 판독할 수 없다. 유저 단말 (10) 이 완전히 리셋되는 경우, 보호 데이터 기억 영역 (14) 에 저장된 파일들은 소거된다. 보호 데이터 기억 영역 (14) 은 안드로이드의 "/data/data/application name" (예를 들어, jp.ne.biglobe.applicationname) 에 대응한다.
개발자 단말 (20) 의 데이터 쓰기 툴 (23) 에 의해 지시되는 경우, 디버그 브릿지 (15) 는 애플리케이션을 인스톨하고, 그것을 활성화하며, 파일을 동작시키는 커맨드들을 실행한다. 또한, 디버그 브릿지 (15) 는 데이터 쓰기 툴 (23) 로부터 수신된 파일을 보호 일시 기억 영역 (11) 으로 패스하여, 수신된 파일을 저장한다. 데이터 쓰기 툴 (21) 및 디버그 브릿지 (15) 는 USB 케이블 등으로 접속된다. 디버그 브릿지 (15) 는 안드로이드 (Andorid) 의 "adb" 에 대응한다.
인스톨러 (16) 는 본 발명의 제 1 처리 수단에 대응한다. 디버그 브릿지 (15) 또는 스타트업 스크립트에 의해 지시되는 경우, 인스톨러 (16) 는 보호 일시 기억 영역 (11) 으로부터 인스톨 패키지 파일을 판독하고, 인스톨되는 애플리케이션에 필요한 설정을 수행하며 (예를 들어, 메뉴에 애플리케이션을 등록), 그 후 인스톨 패키지 파일을 애플리케이션 기억 영역 (12) 또는 보호 애플리케이션 기억 영역 (13) 에 저장한다. 반면에, 다운로더 (18) 에 의해 지시되는 경우, 인스톨러 (16) 는 다운로더 (18) 로부터 인스톨 패키지 파일을 판독하고, 인스톨되는 애플리케이션에 필요한 설정을 수행하며 (애플리케이션을 메뉴에 등록), 인스톨 패키지 파일을 애플리케이션 기억 영역 (12) 또는 보호 애플리케이션 기억 영역 (13) 에 저장한다. 인스톨러 (16) 가 보호 상태 (일반적으로 포워드 록 (forward- locked) 으로 지칭됨) 로 지정되어 있는 애플리케이션을 인스톨하는 경우, 실행 파일 만이 보호 애플리케이션 기억 영역 (13) 에 저장된다. 실행 파일 이외의 파일들은 애플리케이션 기억 영역 (12) 에 저장된다. 애플리케이션이 보호 상태에 있는 것으로 지정되지 않은 경우, 모든 파일들은 애플리케이션 기억 영역 (12) 에 저장된다. 본 실시형태에 따르면, 모든 애플리케이션들은 보호 상태에 있도록 지정되어 있는 것으로 가정된다.
애플리케이션 (17) 은 본 발명의 제 2 처리 수단에 대응한다. 디버그 브릿지 (15) 에 의해, 스타트업 스크립트에 의해, 또는 메뉴 상에서 지시되는 경우, 애플리케이션 (17) 이 활성화된다. 보호 애플리케이션 기억 영역 (13) 에 저장된 인스톨 패키지 파일에 포함된 애플리케이션 실행 파일이 유저 단말 (10) 의 메모리 안에 로딩되는 경우, 애플리케이션 (17) 이 활성화된다. 애플리케이션이 처음에 활성화되는 경우, 애플리케이션 실행 파일에 포함된 증명서 데이터는 증명서 파일로서 전개되고 보호 데이터 기억 영역 (14) 에 저장된다. 애플리케이션 (17) 은 서버 (30) 와 통신한다. 이 때, 증명서 파일 (92) 이 보호 데이터 기억 영역 (14) 에 존재하면, 애플리케이션 (17) 은 보호 데이터 기억 영역 (14) 으로부터 파일을 판독하고 이 파일을 클라이언트 증명서로서 서버 (30) 에 제시하여, 단말이 서버 (30) 에 액세스할 수 있다는 것을 나타낸다.
다운로더 (18) 는 애플리케이션 배포 서버 (40) 의 WEB 서버 (42) 와 주기적으로 통신하고, 애플리케이션 배포 서버 (40) 가 유저 단말 (10) 에 인스톨되어 있는 애플리케이션의 업데이트 실행 파일을 갖고 있는지 여부를 문의한다. 애플리케이션 배포 서버 (40) 가 애플리케이션의 업데이트 실행 파일을 갖고 있으면, 다운로더 (18) 는 인터넷을 통해 애플리케이션 배포 서버 (40) 의 WEB 서버 (42) 로부터 업데이트 실행 파일을 포함하는 인스톨 패키지 파일을 수신하고, 이 수신된 업데이트 실행 파일을 인스톨러 (16) 로 패스한다.
다음으로, 개발자 단말 (20) 의 구성 요소들을 설명한다.
데이터 쓰기 툴 (21) 은 유저 단말 (10) 에 루트 특권이 있는 사용자로서 로그인하고, 개발자 단말 (20) 의 조작자에 의해 지시되는 경우 출하 제품 기억 영역 (22) 에 저장된 파일을 디버그 브릿지 (15) 를 통해 보호 일시 기억 영역 (11) 으로 전송한다. 또한, 데이터 쓰기 툴 (21) 은 디버그 브릿지 (15) 를 통해 유저 단말 (10) 에 대해, 애플리케이션을 인스톨하는 커맨드들을 송신하고, 그것을 활성화시키며, 파일을 조작한다. 데이터 쓰기 툴 (21) 및 디버그 브릿지 (15) 는 USB 케이블 등으로 접속된다.
출하 제품 기억 영역 (22) 은 유저 단말 (10) 의 보호 일시 기억 영역 (11) 으로 데이터 쓰기 툴 (21) 을 통해 패스되는 파일들을 저장하는 영역이다.
브라우저 (23) 는 애플리케이션 배포 서버 (40) 의 WEB 서버 (42) 에 액세스하고, 출하 제품 기억 영역 (22) 에 저장된 파일을 애플리케이션 배포 서버 (40) 에 업로드한다. 브라우저 (23) 및 WEB 서버 (42) 는 인터넷을 통해 접속된다.
다음으로, 서버 (30) 를 상세히 설명한다.
서버 (30) 가 애플리케이션 (17) 으로부터 접속 요청을 수신하는 경우, 서버 (30) 는 그 자신의 애플리케이션 증명서를 애플리케이션 (17) 에 제시하고 애플리케이션 (17) 이 그 자신의 클라이언트 증명서를 서버 (30) 에 제시하기를 요청한다. 애플리케이션 (17) 이 정확한 클라이언트 증명서를 서버 (30) 제시하는 경우에만, 접속 요청이 수락된다. 서버 (30) 및 유저 단말 (10) 의 애플리케이션 (17) 은 인터넷을 통해 접속된다.
다음으로, 애플리케이션 배포 서버 (40) 의 구성 요소들을 설명한다.
컨텐츠 기억 영역 (41) 은 WEB 서버 (42) 로부터 수신된 파일을 저장한다. 또한, WEB 서버 (42) 에 의해 요청되는 경우 컨텐츠 기억 영역 (41) 은 파일을 WEB 서버 (42) 로 패스한다.
WEB 서버 (42) 는 인터넷을 통해 브라우저 (23) 로부터 업로드된 파일을 받아들이고 파일을 컨텐츠 기억 영역 (41) 에 저장한다. 또한, 다운로더 (18) 에 의해 요청되는 경우, WEB 서버 (42) 는 컨텐츠 기억 영역 (41) 으로부터 파일을 판독하고 이것을 인터넷을 통해 다운로더 (18) 로 전송한다.
다음으로, 상기 애플리케이션 배포 시스템에 대한 애플리케이션 배포 방법을 설명한다.
우선, 도 1 에 도시된 애플리케이션 (17) 에 대한 기본적인 동작을 설명한다.
도 2 는 도 1 에 도시된 애플리케이션 (17) 에 대한 기본적인 동작을 설명하는 플로우차트이다.
디버그 브릿지 (15) 에 의해, 스타트업 스크립트에 의해, 또는 메뉴 상에서 지시되는 경우, 애플리케이션 (17) 이 활성화된다. 보호 애플리케이션 기억 영역 (13) 에 저장된 인스톨 패키지 파일에 포함된 애플리케이션 실행 파일이 유저 단말 (10) 의 메모리 안에 로드되는 경우, 애플리케이션 (17) 이 활성화된다 (단계 1).
도 3 은 도 1 에 도시된 보호 애플리케이션 기억 영역 (13) 에 저장된 인스톨 패키지 파일의 구성을 나타내는 개략도이다.
인스톨러 (16) 는 보호 일시 기억 영역 (11) 으로부터 판독된 인스톨 패키지 파일 (90) 을 도 1 에 도시된 보호 애플리케이션 기억 영역 (13) 에 저장한다. 인스톨 패키지 파일 (90) 은, 애플리케이션이 유저 단말 (10) 에 미리 인스톨되는 경우, 사용되는 인스톨 패키지이다. 따라서, 도 3 에 도시된 바와 같이, 인스톨 패키지 파일 (90) 은 애플리케이션 실행 파일 (91) 을 포함한다. 애플리케이션 실행 파일 (91) 이 인스톨되는 경우, 인스톨러 (16) 는 보호 애플리케이션 기억 영역 (13) 내에 인스톨 패키지 파일 (90) 을 저장한다. 인스톨 패키지 파일 (90) 은 애플리케이션을 인스톨하는데 필요한 파일 등의 어카이브 (archive) 이다. 안드로이드 시스템에서, 인스톨 패키지 파일 (90) 은 일반적으로 확장자 (extension) "apk" 를 갖는다. 애플리케이션 실행 파일 (91) 은 유저 단말 (10) 상에서 동작하는 애플리케이션 (17) 의 실행 파일이다. 애플리케이션 실행 파일 (91) 은 클라이언트 증명서로서 사용된 증명서 데이터 (92) 를 포함한다. 안드로이드 시스템에서, 애플리케이션 실행 파일 (91) 은 일반적으로 확장자 "dex" 를 갖는다. 증명서 파일 (92) 은 애플리케이션 실행 파일 (91) 에 저장된 클라이언트 증명서 데이터이다.
애플리케이션 (17) 이 처음에 활성화되고 애플리케이션 실행 파일 (91) 이 증명서 데이터 (92) 를 포함하는 경우 (즉, 애플리케이션 실행 파일 (91) 이 로드된 후, 애플리케이션 (17) 이 실행될 때)(단계 2), 애플리케이션 (17) 은 증명서 파일로서 보호 애플리케이션 기억 영역 (13) 에 저장된 인스톨 패키지 파일 (90) 에 포함된 증명서 데이터 (92) 를 전개하고 증명서 데이터 (92) 를 보호 데이터 기억 영역 (14) 에 저장한다 (단계 3). 증명서 파일은, 애플리케이션 (17) 이 서버 (30) 와 통신할 때 필요한 클라이언트 증명서 데이터로 이루어진 파일이다. 증명서 파일은, 애플리케이션 실행 파일 (91) 이 개발자 단말 (20) 상에서 생성될 때 증명서 데이터 (92) 로서 애플리케이션 실행 파일 (91) 에 포함된다.
그 후, 애플리케이션 (17) 은 보호 데이터 기억 영역 (14) 으로부터 증명서 파일을 판독한다 (단계 4).
그 후, 애플리케이션 (17) 은 보호 데이터 기억 영역 (14) 으로부터 판독된 증명서 파일을 클라이언트 증명서로서 사용하여, SSL 기반 양방향 인증 및 서버 (30) 와의 통신을 수행한다 (단계 5).
애플리케이션 (17) 이 서버 (30) 와의 통신을 완료한 후, 애플리케이션 (17) 에 대한 기본적인 동작이 완료된다 (단계 6).
다음으로, 도 1 에 도시된 애플리케이션 배포 시스템에서 도 3 에 도시된 인스톨 패키지 파일 (90) 에 대한 사전-인스톨 동작을 설명한다.
도 4 는 도 1 에 도시된 애플리케이션 배포 시스템에서 도 3 에 도시된 인스톨 패키지 파일에 대한 사전-인스톨 동작을 설명하는 타이밍 차트를 설명한다.
사용자 단말 (10) 이, 예를 들어 그 제조자의 공장에 놓여 있고, 유저 단말 (10) 의 디버그 브릿지 (15) 및 개발자 단말 (20) 의 데이터 쓰기 툴 (21) 이 USB 케이블과 접속되어 있는 것으로 가정한다. 또한, 개발자 단말 (20) 은 루트 특권이 있는 사용자로서 유저 단말 (10) 에 로그인하는 것으로 가정한다.
유저 단말 (10) 의 제조자의 기술자는 인스톨 패키지 파일 (90) 을 개발자 단말 (20) 의 출하 제품 기억 영역 (22) 내에 둔다. 도 3 에 도시된 바와 같이, 인스톨 패키지 파일 (90) 은 애플리케이션 실행 파일 (91) 을 포함하는 반면에, 애플리케이션 실행 파일 (91) 은 증명서 데이터 (92) 를 포함한다.
그 후, 기술자는 데이터 쓰기 툴 (21) 을 사용하여 디버그 브릿지 (15) 를 통해 출하 제품 기억 영역 (22) 에 저장된 인스톨 패키지 파일 (90) 을 보호 일시 기억 영역 (11) 에 쓴다. 이 때, 유저가 처음에 유저 단말 (10) 을 활성화시키는 경우, 인스톨러 (16) 가 활성화되어 보호 상태에 있는 것으로 지정된 인스톨 패키지 파일 (90) 을 인스톨하도록, 인스톨 패키지 파일 (90) 이 설정된다 (단계 11).
상기 동작이 완료된 후, 유저 단말 (10) 은 공장으로부터 유저에게 출하된다.
유저는 공장으로부터 유저 단말 (10) 을 받고, 유저 단말 (10) 을 활성화시킨다.
유저 단말 (10) 이 처음에 활성화될 때 인스톨러 (16) 가 유저 단말 (10) 에 대해 보호 상태에 있는 것으로 지정된 인스톨 패키지 파일 (90) 을 인스톨하도록 활성화되도록 인스톨 패키지 파일 (90) 이 설정되기 때문에, 인스톨러 (16) 는 보호 일시 기억 영역 (11) 으로부터 인스톨 패키지 파일 (90) 을 판독하고, 인스톨되는 애플리케이션에 필요한 설정들을 수행하고 (예를 들어, 그것을 메뉴에 등록하고), 인스톨 패키지 파일 (90) 로부터 애플리케이션 실행 파일 (91) 을 추출하며, 애플리케이션 실행 파일 (91) 을 보호 애플리케이션 기억 영역 (13) 에 쓰도록 활성화된다 (단계 12). 애플리케이션 실행 파일 (91) 은 증명서 데이터 (92) 를 포함한다.
결과적으로, 인스톨 패키지 파일 (90) 은 유저 단말 (10) 에 인스톨된다.
유저가 유저 단말 (10) 의 메뉴 상에서 애플리케이션 (17) 이 활성화되도록 지시하는 경우, 보호 애플리케이션 기억 영역 (13) 에 저장된 애플리케이션 실행 파일 (91) 은 증명서 데이터 (92) 와 함께 유저 단말 (10) 의 메모리 안에 로드되고 그 후 애플리케이션 (17) 으로서 활성화된다 (단계 13).
애플리케이션 (17) 이 처음에 활성화되고 애플리케이션 실행 파일 (91) 이 증명서 데이터 (92) 를 포함하기 때문에, 증명서 데이터는 증명서 파일로서 전개되고 보호 데이터 기억 영역 (14) 에 저장된다 (단계 14).
그 후, 애플리케이션 (17) 은 보호 데이터 기억 영역 (14) 으로부터 증명서 파일을 판독한다 (단계 15). 그 후, 애플리케이션 (17) 은 보호 애플리케이션 기억 영역 (13) 에 저장된 애플리케이션 실행 파일 (91) 을 실행시키고 서버 (30) 와 SSL 기반 양방향 인증 및 통신을 수행하도록 보호 데이터 기억 영역 (14) 으로부터 판독된 증명서 파일의 데이터를 클라이언트 증명서로서 서버 (30) 에 제시한다 (단계 16).
애플리케이션 (17) 이 서버 (30) 와의 통신을 완료한 후, 애플리케이션 (17) 에 대한 동작이 완료된다.
결과적으로, 증명서 파일은 보호 데이터 기억 영역 (14) 에 쓰여지고 서버 (30) 와의 통신이 완료된다.
다음으로, 도 1 에 도시된 애플리케이션 배포 시스템의 애플리케이션 (17) 에 대한 규칙적인 활성화 동작 (초기 활성화 동작은 아님) 을 설명한다.
도 5 는 도 1 에 도시된 애플리케이션 배포 시스템의 애플리케이션 (17) 에 대한 규칙적인 활성화 동작을 설명하는 타이밍 차트이다.
유저가 유저 단말 (10) 의 메뉴 상에서 애플리케이션 (17) 이 활성화되도록 지시하는 경우, 보호 애플리케이션 기억 영역 (13) 에 저장된 애플리케이션 실행 파일 (91) 은 증명서 데이터 (92) 와 함께 메모리 안에 로딩되고 그 후 애플리케이션 (17) 으로서 활성화된다 (단계 21).
애플리케이션 (17) 이 처음에 활성화되지 않기 때문에, 그것은 보호 데이터 기억 영역 (14) 으로부터 증명서 파일을 판독한다 (단계 22). 그 후, 애플리케이션 (17) 은 보호 애플리케이션 기억 영역 (13) 에 저장된 애플리케이션 실행 파일을 실행시키고 서버 (30) 와 SSL 기반 양방향 인증 및 통신을 수행하도록 보호 데이터 기억 영역 (14) 으로부터 판독된 증명서 파일의 데이터를 클라이언트 증명서로서 서버 (30) 에 제시한다 (단계 23).
애플리케이션 (17) 이 서버 (30) 와의 통신을 완료한 후, 애플리케이션 (17) 에 대한 동작이 완료된다.
결과적으로, 애플리케이션 (17) 은 서버 (30) 와 정상적으로 통신한다.
다음으로, 도 1 에 도시된 애플리케이션 배포 시스템의 유저 단말 (10) 에 대해 유저가 수행하는 풀 리셋 동작을 설명한다.
도 6 은 도 1 에 도시된 애플리케이션 배포 시스템의 유저 단말 (10) 에 대해 유저가 수행하는 풀 리셋 동작을 설명하는 타이밍 차트이다.
유저는 유저 단말 (10) 및 애플리케이션 (17) 양자를 처음에 활성화시켰다고 가정한다. 다시 말해, 도 4 의 단계들 11 내지 16 은 완료되었다고 가정한다.
유저가 유저 단말 (10) 에 대한 풀 리셋 동작을 수행하는 경우, 애플리케이션 기억 영역 (12), 보호 애플리케이션 기억 영역 (13), 및 보호 데이터 기억 영역 (14) 에 저장된 모든 파일들은 소거된다. 보호 애플리케이션 기억 영역 (13) 에 저장된 애플리케이션 실행 파일 (91) 및 보호 데이터 기억 영역 (14) 에 저장된 증명서 파일이 소거되더라도, 보호 일시 기억 영역 (11) 에 저장된 인스톨 패키지 파일 (90) 은 소거되지 않는다.
유저가 풀 리셋 동작을 수행한 후에, 그 또는 그녀가 처음에 유저 단말 (10) 을 활성화할 때, 유저 단말 (10) 은 보호 상태에 있는 것으로 지정된 인스톨 패키지 파일 (90) 이 인스톨되도록 설정되었기 때문에, 인스톨러 (16) 는 보호 일시 기억 영역 (11) 으로부터 인스톨 패키지 파일 (90) 을 판독하고, 인스톨되는 애플리케이션에 필요한 설정들을 수행하고 (예를 들어, 그것을 메뉴에 등록하고), 인스톨 패키지 파일 (90) 로부터 애플리케이션 실행 파일 (91) 을 추출하며, 그것을 보호 애플리케이션 기억 영역 (13) 에 저장하도록 활성화된다 (단계 31). 애플리케이션 실행 파일 (91) 은 증명서 데이터 (92) 를 포함한다.
결과적으로, 인스톨 패키지 파일 (90) 은 유저 단말 (10) 에 인스톨된다.
그 후, 유저가 유저 단말 (10) 의 메뉴 상에서 애플리케이션 (17) 이 활성화되도록 지시할 때, 보호 애플리케이션 기억 영역 (13) 에 저장된 애플리케이션 실행 파일 (91) 은 증명서 데이터 (92) 와 함께 메모리 안에 로딩되고 그 후 애플리케이션 (17) 으로서 활성화된다 (단계 32).
애플리케이션 (17) 이 처음에 활성화되고 애플리케이션 실행 파일 (91) 이 증명서 파일 (92) 을 포함하기 때문에, 애플리케이션 (17) 은 증명서 데이터 (92) 를 증명서 파일로서 전개하고 증명서 파일을 보호 데이터 기억 영역 (14) 에 저장한다 (단계 33).
그 후, 애플리케이션 (17) 은 보호 데이터 기억 영역 (14) 으로부터 증명서 파일을 판독한다 (단계 34). 그 후, 애플리케이션 (17) 은 보호 애플리케이션 기억 영역 (13) 에 저장된 애플리케이션 실행 파일 (91) 을 실행시키고, 서버 (30) 와 SSL 기반 양방향 인증 및 통신을 수행하도록 보호 데이터 기억 영역 (14) 으로부터 판독된 증명서 파일의 데이터를 클라이언트 증명서로서 서버 (30) 에 제시한다 (단계 35).
애플리케이션 (17) 이 서버 (30) 와의 통신을 완료한 후에, 애플리케이션 (17) 에 대한 동작은 완료된다.
결과적으로, 증명서 데이터 (92) 는 증명서 데이터로서 전개되어 보호 데이터 기억 영역 (14) 에 저장되고, 그 후 서버 (30) 와의 통신이 완료된다.
다음으로, 도 1 에 도시된 애플리케이션 배포 시스템의 애플리케이션 (17) 에 대한 업데이트 동작을 설명한다.
도 7 은 도 1 에 도시된 애플리케이션 배포 시스템의 애플리케이션 (17) 에 대한 업데이트 동작을 설명하는 타이밍 차트이다.
유저가 유저 단말 (10) 을 획득하고, 그 또는 그녀가 처음에 유저 단말 (10) 을 활성화했으며, 그 또는 그녀가 처음에 애플리케이션 (17) 을 활성화했다고 가정한다. 다시 말해, 단계들 11 내지 16 이 완료되었다고 가정한다. 또한, 유저 단말 (10) 의 디버그 브릿지 (15) 및 개발자 단말 (20) 의 데이터 쓰기 툴 (21) 은 USB 케이블과 접속되지 않고 대신에, 개발자 단말 (20) 의 브라우저 (23) 및 애플리케이션 배포 서버 (40) 의 WEB 서버 (42) 또는 애플리케이션 배포 서버 (40) 의 WEB 서버 (42) 및 유저 단말 (10) 의 다운로더 (18) 가 인터넷을 통해 접속된다고 가정된다.
유저 단말 (10) 의 제조자의 기술자는 개발자 단말 (20) 의 출하 제품 기억 영역 (22) 내에 인스톨 패키지 파일 (90) 의 업데이트 버전을 둔다. 이 때, 기술자는 인스톨 패키지 파일 (90) 의 업데이트 버전을 설정하여 그것이 보호 상태에 있도록 지정 및 인스톨되게 한다.
도 8 은 도 1 에 도시된 개발자 단말 (20) 의 출하 제품 기억 영역 (22) 에 놓인 인스톨 패키지 파일의 업데이트 버전의 구조를 나타내는 개략도이다.
개발자 단말 (20) 의 출하 제품 기억 영역 (22) 에 놓인 업데이트 버전 인스톨 패키지 파일 (90A) 은, 유저 단말 (10) 에 인스톨되어 있는 애플리케이션이 업데이트될 때 사용되는 인스톨 패키지이다. 따라서, 도 8 에 도시된 바와 같이, 인스톨 패키지 파일 (90A) 은 업데이트 애플리케이션 실행 파일 (91A) 을 포함한다. 인스톨 패키지 파일 (90A) 은 애플리케이션을 인스톨하는데 필요한 파일 등의 어카이브이다. 안드로이드 시스템에서, 인스톨 패키지 파일 (90A) 은 일반적으로 확장자 "apk" 를 갖는다. 애플리케이션 실행 파일 (91A) 은 유저 단말 (10) 상에서 동작하는 애플리케이션 (17) 의 실행 파일이다. 도 3 에 도시된 애플리케이션 실행 파일 (91) 과 달리, 애플리케이션 실행 파일 (91A) 은 클라이언트 증명서로서 사용된 증명서 데이터 (92) 를 포함하지 않는다.
기술자는 출하 제품 기억 영역 (22) 에 저장된 인스톨 패키지 파일 (90A) 을 브라우저 (23) 를 통해 컨텐츠 기억 영역 (41) 에 쓴다 (단계 41).
다운로더 (18) 는 애플리케이션 배포 서버 (40) 의 WEB 서버 (42) 와 주기적으로 통신하고 그것이 유저 단말 (10) 에 인스톨되어 있는 애플리케이션 (17) 의 업데이트 버전을 포함하는지 아닌지 여부를 WEB 서버 (42) 에 문의한다. 이 때, 다운로더 (18) 는 애플리케이션 (17) 의 업데이트 버전 인스톨 패키지 파일인 인스톨 패키지 파일 (90A) 이 컨텐츠 기억 영역 (41) 에 존재한다는 것을 알고, 인터넷을 통해 WEB 서버 (42) 로부터 업데이트 버전 인스톨 패키지 파일 (90A) 을 수신하며, 보호 상태 있는 것으로 지정되어 있는 파일을 인스톨러 (16) 로 패스한다.
인스톨러 (16) 가 다운로더 (18) 로부터 인스톨 패키지 파일 (90A) 을 수신하는 경우, 인스톨러 (16) 는 인스톨되는 애플리케이션에 필요한 설정들을 수행하고 (예를 들어, 그것을 메뉴에 등록하고), 인스톨 패키지 파일 (90A) 로부터 애플리케이션 실행 파일 (91A) 을 추출하며, 그것을 보호 애플리케이션 기억 영역 (13) 에 저장한다. 이 때, 인스톨러 (16) 는, 보호 애플리케이션 기억 영역 (13) 에 저장된 애플리케이션 실행 파일 (91) 을 애플리케이션 실행 파일 (91A) 로 대체하도록 보호 애플리케이션 기억 영역 (13) 으로부터 애플리케이션 실행 파일 (91) 을 소거한다 (단계 42).
결과적으로, 보호 애플리케이션 기억 영역 (13) 에 저장된 애플리케이션 실행 파일 (91) 은 애플리케이션 실행 파일 (91A) 로 업데이트되었다.
다음으로, 상기 방식으로 업데이트된 애플리케이션 (17) 에 대한 규칙적인 활성화 동작을 설명한다.
유저가 유저 단말 (10) 의 메뉴 상에서 애플리케이션 (17) 이 활성화되도록 지시하는 경우, 보호 애플리케이션 기억 영역 (13) 에 저장된 애플리케이션 실행 파일 (91A) 은 메모리에 로딩되고 그 후 애플리케이션 (17) 으로서 활성화된다 (단계 43).
애플리케이션 실행 파일 (19A) 이 증명서 데이터를 포함하지 않기 때문에, 애플리케이션 (17) 은 보호 데이터 기억 영역 (14) 으로부터 증명서 파일을 판독한다 (단계 44). 그 후, 애플리케이션 (17) 은 보호 애플리케이션 기억 영역 (13) 에 저장된 애플리케이션 실행 파일 (91) 을 실행시키고, 서버 (30) 와 SSL 기반 양방향 인증 및 통신을 수행하도록 보호 데이터 기억 영역 (14) 으로부터 판독된 증명서 파일의 데이터를 클라이언트 증명서로서 서버 (30) 에 제시한다 (단계 45).
애플리케이션 (17) 이 서버 (30) 와의 통신을 완료한 후에, 애플리케이션 (17) 에 대한 동작이 완료된다.
결과적으로, 업데이트 애플리케이션 (17) 은 서버 (30) 와 정상적으로 통신된다.
다음으로, 본 실시형태의 효과를 설명한다.
본 실시형태에서, 개발자 단말 (20) 이 유저 단말 (10) 에 제공한 인스톨 패키지 파일 (90) 의 애플리케이션 실행 파일 (91) 은 증명서 데이터 (92) 를 포함하기 때문에, 애플리케이션 및 클라이언트 증명서는 유저 단말 (10) 에 인스톨될 수 있고 애플리케이션은 유저가 애플케이션이 사용하는 클라이언트 증명서에 액세스할 수 없는 상태에서 업데이트될 수 있다.
또한, 유저 단말 (10) 이, 증명서 데이터 (92) 를 포함하는 애플리케이션 실행 파일 (91) 이 보호 일시 기억 영역 (11) 에 저장된 상태에서 출하된다. 유저 단말 (10) 이 처음에 활성화되는 경우, 애플리케이션 실행 파일 (91) 은 보호 애플리케이션 기억 영역 (13) 에 인스톨된다. 애플리케이션이 처음에 활성화되는 경우, 애플리케이션 실행 파일 (91) 에 포함된 증명서 데이터 (92) 는 증명서 파일로서 전개되고 보호 데이터 기억 영역 (14) 에 저장된다. 업데이트 버전 인스톨 패키지 파일이 배포되는 경우, 증명서 데이터가 제거되는 업데이트 애플리케이션 실행 파일 (91A) 이 배포된다. 애플리케이션 실행 파일 (91A) 이 실행되는 경우, 보호 데이터 기억 영역 (14) 에 저장된 증명서 파일이 사용된다. 따라서, 업데이트 버전 애플리케이션이 배포될 수 있고 애플리케이션 배포 서버의 관리자가 애플리케이션이 사용하는 클라이언트 증명서에 액세스할 수 없는 상태에서 업데이트될 수 있다.
본 발명에 따르면, 유저 단말 (10) 이 내부적으로 수행하는 처리들은 상기 전용 하드웨어뿐만 아니라, 유저 단말 (10) 이 그들을 판독할 수 있고 그 후 유저 단말 (10) 이 기록 매체로부터 프로그램들을 판독하며 그들을 실행시키는 기록 매체 상에 프로그램들이 기록되는 그러한 방식으로, 그러한 기능들을 달성하는 프로그램들에 의해서도 달성된다. 유저 단말 (10) 이 프로그램들을 판독할 수 있는 기록 매체는 IC 카드나 메모리 카드, 혹은, 플로피 디스크 (등록상표), 광학 자기 디스크, DVD, CD 등의 이동 가능한 기록 매체뿐만 아니라, 유저 단말 (10) 에 내장되는 HDD 등을 포함한다. 기록 매체에 기록된 프로그램들은 제어 블록의 제어 하에서 판독된다. 상기 처리들은 제어 블록의 제어 하에서 수행된다.
본 발명은 그 예시적인 실시형태들에 대해 구체적으로 도시되고 이를 참조하여 설명되었으나, 본 발명은 이들 실시형태들에 한정되지 않는다. 청구범위에 의해 정의된 바와 같은 본 발명의 범위 및 사상으로부터 벗어나지 않고 그 안에서 형태 및 상세들에서의 각종 변화들이 이루어질 수도 있음을 당업자는 이해할 것이다.
본 발명은 개별의 유저들의 액세스권을 관리할 수 있는 OS 가 제공되는 휴대 정보 단말 (PDA), 휴대 전화 단말 (스마트폰) 등에 적용될 수 있다.
본 출원은 2010년 8월 10일자로 출원된 일본 특허출원 JP 2010-179404 에 기초하여 우선권을 주장하며, 그 전체 내용들은 본원에서 참조로서 포함된다.

Claims (10)

  1. 애플리케이션 배포 시스템으로서,
    애플리케이션의 인스톨된 실행 파일을 실행시키고 그 후 상기 애플리케이션을 사용하는 단말; 및
    상기 애플리케이션의 업데이트 실행 파일을 상기 단말에 배포하는 애플리케이션 배포 서버를 포함하고,
    상기 단말에 인스톨된 상기 실행 파일은 상기 애플리케이션 배포 서버로부터 상기 단말로 배포된 상기 업데이트 실행 파일로 업데이트되고,
    상기 단말에 인스톨된 상기 실행 파일은 상기 애플리케이션을 사용하는데 필요한 증명서 데이터를 포함하며,
    상기 단말은 상기 실행 파일에 포함된 상기 증명서 데이터를 액세스 제한되어 있는 제 1 기억 영역에 증명서 파일로서 저장하고, 상기 증명서 데이터를 포함하지 않는 실행 파일이 상기 애플리케이션 배포 서버로부터 상기 업데이트 실행 파일로서 배포되는 경우 상기 단말은 상기 애플리케이션을 사용하도록 상기 제 1 기억 영역에 저장된 상기 증명서 파일에 기초하여 상기 업데이트 실행 파일을 실행하는, 애플리케이션 배포 시스템.
  2. 제 1 항에 있어서,
    상기 단말은,
    제공되는 상기 실행 파일이 저장되는 제 2 기억 영역;
    상기 제 2 기억 영역에 저장되는 상기 실행 파일이 인스톨되는 경우, 상기 제 2 기억 영역에 저장된 상기 실행 파일을 제 3 기억 영역으로 전송하는 제 1 처리 수단; 및
    상기 실행 파일이 인스톨된 후 상기 애플리케이션이 처음으로 활성화되는 경우, 상기 제 3 기억 영역에 저장된 상기 실행 파일에 상기 증명서 파일로서 포함된 상기 증명서 데이터를 상기 제 1 기억 영역으로 전송하고, 상기 제 1 기억 영역에 저장된 상기 증명서 파일에 기초하여 상기 애플리케이션을 사용하는 제 2 처리 수단을 포함하고,
    상기 업데이트 실행 프로그램이 상기 애플리케이션 배포 서버로부터 배포되는 경우, 상기 제 1 처리 수단은 상기 제 3 기억 영역에 저장된 상기 실행 파일을 상기 업데이트 실행 파일로 대체하며,
    상기 제 2 처리 수단은 상기 애플리케이션을 사용하도록 상기 제 1 기억 영역에 저장된 상기 증명서 파일에 기초하여 상기 제 3 기억 영역에 저장된 상기 업데이트 실행 파일을 실행하는, 애플리케이션 배포 시스템.
  3. 제 2 항에 있어서,
    상기 실행 파일의 애플리케이션은, 상기 제 1 기억 영역에 상기 증명서 파일을 저장하고 상기 제 1 기억 영역으로부터 상기 증명서 파일을 판독하도록 상기 제 1 기억 영역에 액세스할 수 있고,
    미리 지정된 유저 만이 상기 제 2 및 제 3 기억 영역들에 액세스할 수 있어서 상기 제 2 및 제 3 기억 영역들에 상기 실행 파일을 저장하고 상기 제 2 및 제 3 기억 영역들로부터 상기 실행 파일을 판독하는, 애플리케이션 배포 시스템.
  4. 애플리케이션 배포 시스템에 대한 애플리케이션 배포 방법으로서,
    상기 애플리케이션 배포 시스템은, 애플리케이션의 인스톨된 실행 파일을 실행시키고 그 후 상기 애플리케이션을 사용하는 단말; 및 상기 애플리케이션의 업데이트 실행 파일을 상기 단말에 배포하는 애플리케이션 배포 서버를 포함하고,
    상기 단말에 인스톨된 상기 실행 파일은 상기 애플리케이션 배포 서버로부터 상기 단말로 배포된 상기 업데이트 실행 파일에 업데이트되고, 상기 단말에 인스톨된 상기 실행 파일은 상기 애플리케이션을 사용하는데 필요한 증명서 데이터를 포함하고,
    상기 애플리케이션 배포 방법은,
    상기 단말로 하여금, 상기 실행 파일에 포함된 상기 증명서 데이터를 액세스 제한된 제 1 기억 영역에 증명서 파일로서 저장하게 하는 프로세스;
    상기 애플리케이션 배포 서버로 하여금 상기 증명서 데이터를 포함하지 않는 실행 파일을 상기 업데이트 실행 파일로서 상기 단말에 배포하게 하는 프로세스; 및
    상기 단말로 하여금, 상기 제 1 기억 영역에 저장된 상기 증명서 파일에 기초하여 상기 애플리케이션 배포 서버로부터 배포된 상기 업데이트 실행 파일을 실행시켜 상기 애플리케이션을 사용하게 하는 프로세스를 포함하는, 애플리케이션 배포 방법.
  5. 제 4 항에 있어서,
    상기 단말로 하여금, 제 2 기억 영역에 제공되는 실행 파일을 저장하게 하는 프로세스;
    상기 단말로 하여금, 상기 제 2 기억 영역에 저장된 실행 파일이 인스톨되는 경우 상기 제 2 기억 영역에 저장된 상기 실행 파일을 제 3 기억 영역으로 전송하게 하는 프로세스;
    상기 단말로 하여금, 상기 실행 파일이 인스톨된 후에 상기 애프리케이션이 처음으로 활성화되는 경우 상기 제 3 기억 영역에 저장된 상기 실행 파일에 포함된 증명서 데이터를 상기 증명서 파일로서 상기 제 1 기억 영역으로 전송하게 하는 프로세스;
    상기 단말로 하여금, 상기 업데이트 실행 파일이 상기 애플리케이션 배포 서버로부터 배포되는 경우 상기 제 3 기억 영역에 저장된 상기 실행 파일을 업데이트 실행 파일로 대체하게 하는 프로세스; 및
    상기 단말로 하여금, 상기 제 1 기억 영역에 저장된 상기 증명서 파일에 기초하여 상기 제 3 기억 영역에 저장된 상기 업데이트 실행 파일을 실행시켜 상기 애플리케이션을 사용하게 하는 프로세스를 더 포함하는, 애플리케이션 배포 방법.
  6. 애플리케이션의 인스톨된 실행 파일을 실행시킨 후 애플리케이션을 사용하고, 애플리케이션 배포 서버로부터 배포된 업데이트 실행 파일에 상기 인스톨된 실행 파일을 업데이트하는 단말로서,
    상기 단말에 인스톨된 상기 실행 파일은 상기 애플리케이션을 사용하는데 필요한 증명서 데이터를 포함하고,
    상기 실행 파일에 포함된 증명서 데이터는 액세스 제한된 제 1 기억 영역에 증명서 파일로서 저장되고 상기 증명서 데이터를 포함하지 않는 실행 파일이 상기 애플리케이션 배포 서버로부터 상기 업데이트 실행 파일로서 배포되는 경우, 상기 업데이트 실행 파일은 상기 애플리케이션을 사용하도록 상기 제 1 기억 영역에 저장된 상기 증명서 파일에 기초하여 실행되는, 단말.
  7. 제 6 항에 있어서,
    제공되는 실행 파일이 저장되는 제 2 기억 영역;
    상기 제 2 기억 영역에 저장된 실행 파일이 인스톨되는 경우 상기 제 2 기억 영역에 저장된 상기 실행 파일을 제 3 기억 영역으로 전송하는 제 1 처리 수단; 및
    상기 실행 파일이 인스톨된 후 상기 애플리케이션이 처음으로 활성화되는 경우, 상기 제 3 기억 영역에 저장된 상기 실행 파일에 상기 증명서 파일로서 포함된 상기 증명서 데이터를 상기 제 1 기억 영역으로 전송하고, 상기 제 1 기억 영역에 저장된 상기 증명서 파일에 기초하여 상기 애플리케이션을 사용하는 제 2 처리 수단을 더 포함하고,
    상기 제 1 처리 수단은, 상기 업데이트 실행 프로그램이 상기 애플리케이션 배포 서버로부터 배포되는 경우 상기 제 3 기억 영역에 저장된 상기 실행 파일을 상기 업데이트 실행 파일로 대체하며,
    상기 제 2 처리 수단은 상기 애플리케이션을 사용하도록 상기 제 1 기억 영역에 저장된 상기 증명서 파일에 기초하여 상기 제 3 기억 영역에 저장된 상기 업데이트 실행 파일을 실행시키는, 단말.
  8. 제 7 항에 있어서,
    상기 실행 파일의 애플리케이션은 상기 제 1 기억 영역에 상기 증명서 파일을 저장하고 상기 제 1 기억 영역으로부터 상기 증명서 파일을 판독하도록 상기 제 1 기억 영역에 액세스할 수 있고,
    미리 지정된 유저 만이 상기 제 2 및 제 3 기억 영역들에 상기 실행 파일을 저장하고 상기 제 2 및 제 3 기억 영역들로부터 상기 실행 파일을 판독하도록 상기 제 2 및 제 2 기억 영역들에 액세스할 수 있는, 단말.
  9. 단말로 하여금, 애플리케이션의 인스톨된 실행 파일을 실행시킨 후 상기 애플리케이션을 사용하고, 상기 애플리케이션 배포 서버로부터 배포된 업데이트 실행 파일에 상기 인스톨된 실행 파일을 업데이트하여 단계들을 실행하도록 하는 프로그램으로서,
    상기 단계들은,
    제공된 실행 파일에 포함되고 액세스 제한된 제 1 기억 영역에서 증명서 파일로서 애플리케이션을 사용하는데 필요한 증명서 데이터를 저장하는 단계; 및
    상기 증명서 데이터를 포함하지 않는 실행 파일이 상기 애플리케이션 배포 서버로부터 상기 업데이트 실행 파일로서 배포되는 경우, 상기 애플리케이션을 사용하도록 상기 제 1 기억 영역에 저장된 상기 증명서 파일에 기초하여 상기 업데이트 실행 파일을 실행시키는 단계를 포함하는, 프로그램.
  10. 제 9 항에 있어서,
    상기 단말로 하여금, 제 2 기억 영역에 제공되는 실행 파일을 저장하게 하는 것;
    상기 단말로 하여금, 상기 제 2 기억 영역에 저장된 상기 실행 파일이 인스톨되는 경우 상기 제 2 기억 영역에 저장된 실행 파일을 제 3 기억 영역으로 전송하게 하는 것;
    상기 단말로 하여금, 상기 실행 파일이 인스톨된 후에 상기 애플리케이션이 처음으로 활성화되는 경우 상기 증명서 파일로서 상기 제 3 기억 영역에 저장된 상기 실행 파일에 포함된 상기 증명서 데이터를 상기 제 1 기억 영역으로 전송하게 하는 것;
    상기 단말로 하여금, 상기 업데이트 실행 프로그램이 상기 애플리케이션 배포 서버로부터 배포되는 경우 상기 제 3 기억 영역에 저장된 상기 실행 파일을 상기 업데이트 실행 파일로 대체하게 하는 것; 및
    상기 단말로 하여금, 상기 애플리케이션을 사용하도록 상기 제 1 기억 영역에 저장된 상기 증명서 파일에 기초하여 상기 제 3 기억 영역에 저장된 상기 업데이트 실행 파일을 실행하게 하는 것을 더 포함하는, 프로그램.
KR1020137003973A 2010-08-10 2011-07-01 애플리케이션 배포 시스템, 애플리케이션 배포 방법, 단말 및 프로그램 KR101453225B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010179404A JP5429880B2 (ja) 2010-08-10 2010-08-10 アプリケーション配布システム、アプリケーション配布方法、端末及びプログラム
JPJP-P-2010-179404 2010-08-10
PCT/JP2011/065198 WO2012020612A1 (ja) 2010-08-10 2011-07-01 アプリケーション配布システム、アプリケーション配布方法、端末及びプログラム

Publications (2)

Publication Number Publication Date
KR20130027056A true KR20130027056A (ko) 2013-03-14
KR101453225B1 KR101453225B1 (ko) 2014-10-22

Family

ID=45567582

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137003973A KR101453225B1 (ko) 2010-08-10 2011-07-01 애플리케이션 배포 시스템, 애플리케이션 배포 방법, 단말 및 프로그램

Country Status (6)

Country Link
US (1) US20130132528A1 (ko)
JP (1) JP5429880B2 (ko)
KR (1) KR101453225B1 (ko)
CN (1) CN103052958A (ko)
TW (1) TWI494786B (ko)
WO (1) WO2012020612A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160037237A (ko) * 2013-07-31 2016-04-05 후아웨이 테크놀러지 컴퍼니 리미티드 단말 장치상에서의 작업을 관리하는 방법, 및 단말 장치
WO2018155905A1 (ko) * 2017-02-21 2018-08-30 삼성전자 주식회사 식별 정보 관리 방법 및 이를 지원하는 전자 장치
KR102122968B1 (ko) * 2019-01-28 2020-06-15 숭실대학교산학협력단 애플리케이션 설치 정보 분석 시스템 및 방법

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6346857B2 (ja) 2012-12-13 2018-06-20 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America コンテンツ共有システム及びコンテンツ共有方法
US20140331209A1 (en) * 2013-05-02 2014-11-06 Amazon Technologies, Inc. Program Testing Service
JP5805144B2 (ja) * 2013-06-19 2015-11-04 ビッグローブ株式会社 携帯端末、ファイル配信システム、ファイル配信方法、およびファイル配信プログラム
KR102125923B1 (ko) * 2013-10-24 2020-06-24 삼성전자 주식회사 전자 장치의 운영체제 업그레이드 방법 및 장치
JP6424441B2 (ja) * 2014-03-14 2018-11-21 株式会社リコー 複合機、情報処理方法、情報処理プログラム、および情報処理システム
US11048778B2 (en) 2014-06-13 2021-06-29 Artis Solutions Co., Ltd Application program
CN104537022B (zh) * 2014-12-18 2018-09-04 北京奇虎科技有限公司 浏览器信息分享的方法、浏览器客户端和装置
CN106547578B (zh) 2015-09-21 2020-09-15 阿里巴巴集团控股有限公司 终端应用app的加载方法及装置
JP6780316B2 (ja) * 2016-06-23 2020-11-04 株式会社リコー 情報処理装置、プログラム、Webアプリケーション管理方法及び情報処理システム
TWI705373B (zh) * 2017-01-19 2020-09-21 香港商阿里巴巴集團服務有限公司 終端應用程式(app)的加載方法及裝置

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000503154A (ja) * 1996-01-11 2000-03-14 エムアールジェイ インコーポレイテッド デジタル所有権のアクセスと分配を制御するためのシステム
US5825877A (en) * 1996-06-11 1998-10-20 International Business Machines Corporation Support for portable trusted software
ATE437398T1 (de) * 1998-05-06 2009-08-15 Sun Microsystems Inc Verarbeitungsmaschine und verarbeitungsverfahren
US6345347B1 (en) * 1999-09-27 2002-02-05 International Business Machines Corporation Address protection using a hardware-defined application key
JP2001243079A (ja) * 2000-03-02 2001-09-07 Omron Corp 情報処理システム
TW495675B (en) * 2000-09-14 2002-07-21 Acer Ipull Inc System for updating program executable being running and the method thereof
JP4194772B2 (ja) * 2001-07-05 2008-12-10 ヤフー株式会社 ソフトウェア使用認証方法、ソフトウェア使用認証プログラム、ソフトウェア使用認証プログラムを記録した記録媒体、ソフトウェア使用認証方法で用いられるデータ、このデータを記録した記録媒体
NZ533176A (en) * 2001-12-25 2005-10-28 Ntt Docomo Inc Device and method for restricting content access and storage
ATE369689T1 (de) * 2002-03-20 2007-08-15 Research In Motion Ltd Zertifikatinformationsspeichersystem und verfahren
JP2004234591A (ja) * 2003-02-03 2004-08-19 Nec Corp アップデートシステム、公開サーバ、端末、ライセンス発行サーバ及びプログラム
KR20050000445A (ko) * 2003-06-24 2005-01-05 (주)엠타이드 터미널 서비스 기반 컴퓨팅 환경에서의 어플리케이션 배포시스템 및 방법
JP2005044201A (ja) 2003-07-24 2005-02-17 Nippon Telegr & Teleph Corp <Ntt> ネットワーク接続機器の自動設定方法、アプリケーション端末の自動設定方法、ネットワーク接続機器の自動設定システム、アプリケーション端末の自動設定システム、自動設定プログラム
US20050076198A1 (en) * 2003-10-02 2005-04-07 Apacheta Corporation Authentication system
SG152298A1 (en) * 2004-05-05 2009-05-29 Research In Motion Ltd System and method for sending secure messages
US7886144B2 (en) * 2004-10-29 2011-02-08 Research In Motion Limited System and method for retrieving certificates associated with senders of digitally signed messages
US8356295B2 (en) * 2005-02-17 2013-01-15 Symantec Corporation Post-signing modification of software
JP4713579B2 (ja) * 2005-03-31 2011-06-29 パイオニア株式会社 アプリケーションプログラム
JP2007164377A (ja) * 2005-12-12 2007-06-28 Toshiba Corp データ処理装置およびデータ処理方法
US7818395B2 (en) * 2006-10-13 2010-10-19 Ceelox, Inc. Method and apparatus for interfacing with a restricted access computer system
KR101273900B1 (ko) * 2006-10-09 2013-07-31 샌디스크 아이엘 엘티디 애플리케이션 의존성 스토리지 제어
US20080147530A1 (en) * 2006-12-19 2008-06-19 Kwan Shu-Leung Programmatically transferring applications between handsets based on license information
US9591086B2 (en) * 2007-07-25 2017-03-07 Yahoo! Inc. Display of information in electronic communications
US8560864B2 (en) * 2008-03-26 2013-10-15 Fego Precision Industrial Co., Ltd. Firewall for removable mass storage devices
JP2009290508A (ja) 2008-05-29 2009-12-10 Panasonic Corp 電子化情報配布システム、クライアント装置、サーバ装置および電子化情報配布方法
US7877461B1 (en) * 2008-06-30 2011-01-25 Google Inc. System and method for adding dynamic information to digitally signed mobile applications
US8555089B2 (en) * 2009-01-08 2013-10-08 Panasonic Corporation Program execution apparatus, control method, control program, and integrated circuit
US8103847B2 (en) * 2009-04-08 2012-01-24 Microsoft Corporation Storage virtual containers

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160037237A (ko) * 2013-07-31 2016-04-05 후아웨이 테크놀러지 컴퍼니 리미티드 단말 장치상에서의 작업을 관리하는 방법, 및 단말 장치
US9857943B2 (en) 2013-07-31 2018-01-02 Huawei Technologies Co., Ltd. Method for managing task on terminal device, and terminal device
WO2018155905A1 (ko) * 2017-02-21 2018-08-30 삼성전자 주식회사 식별 정보 관리 방법 및 이를 지원하는 전자 장치
US11436306B2 (en) 2017-02-21 2022-09-06 Samsung Electronics Co., Ltd. Identification information management method and electronic device supporting same
KR102122968B1 (ko) * 2019-01-28 2020-06-15 숭실대학교산학협력단 애플리케이션 설치 정보 분석 시스템 및 방법

Also Published As

Publication number Publication date
US20130132528A1 (en) 2013-05-23
TW201224837A (en) 2012-06-16
JP2012038193A (ja) 2012-02-23
TWI494786B (zh) 2015-08-01
KR101453225B1 (ko) 2014-10-22
CN103052958A (zh) 2013-04-17
WO2012020612A1 (ja) 2012-02-16
JP5429880B2 (ja) 2014-02-26

Similar Documents

Publication Publication Date Title
KR101453225B1 (ko) 애플리케이션 배포 시스템, 애플리케이션 배포 방법, 단말 및 프로그램
JP5027807B2 (ja) 信頼される環境をサポートするコンピュータ可読コンポーネントの自動更新
US6976136B2 (en) Flash memory protection scheme for secured shared BIOS implementation in personal computers with an embedded controller
JP5061908B2 (ja) プログラム実行制御方法および装置ならびに実行制御プログラム
JP5346608B2 (ja) 情報処理装置およびファイル検証システム
US20080263676A1 (en) System and method for protecting data information stored in storage
US20170323104A1 (en) Securely booting a computer from a user trusted device
US7650492B2 (en) Automatic update of computer-readable components to support a trusted environment
US10289860B2 (en) Method and apparatus for access control of application program for secure storage area
JP2011210129A (ja) 記憶装置、データ処理装置、登録方法、及びコンピュータプログラム
WO2012032326A1 (en) Virtualisation system
EP2786545B1 (en) Method and computer device to control software file downloads
KR20080039046A (ko) 펌웨어 업데이트 장치 및 방법
KR20120123885A (ko) 저장 장치의 인증 장치 및 인증 장치 연결 수단을 구비한 저장 장치
JP5112924B2 (ja) アプリケーション移動システム、アプリケーションの移動方法、プログラムおよび携帯端末
KR20220085786A (ko) 랜섬웨어 방지
WO2015116204A1 (en) Encrypted in-place operating system migration
WO2015087444A1 (ja) ライセンス管理システムおよびライセンス管理方法
US11550880B2 (en) Method for controlling execution of an application
KR101426479B1 (ko) 스토리지 정보 보호 시스템 및 방법
JP2001350534A (ja) 有償ソフトウェアのダウンロード方法及びシステム
CN117667121A (zh) 一种文件系统资源预置方法及装置
WO2010043071A1 (zh) 记忆卡及其数位内容保护区建立或取消方法
JP2009187475A (ja) セキュリティ管理システム、セキュリティ装置、セキュリティ管理方法
Asokan et al. Mobile Platforms

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170919

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180918

Year of fee payment: 5