KR101456489B1 - CLDC OSGi 환경에서 어플리케이션의 접속 권한을관리하는 방법 및 장치 - Google Patents

CLDC OSGi 환경에서 어플리케이션의 접속 권한을관리하는 방법 및 장치 Download PDF

Info

Publication number
KR101456489B1
KR101456489B1 KR1020080026295A KR20080026295A KR101456489B1 KR 101456489 B1 KR101456489 B1 KR 101456489B1 KR 1020080026295 A KR1020080026295 A KR 1020080026295A KR 20080026295 A KR20080026295 A KR 20080026295A KR 101456489 B1 KR101456489 B1 KR 101456489B1
Authority
KR
South Korea
Prior art keywords
application
resource
access
thread
code
Prior art date
Application number
KR1020080026295A
Other languages
English (en)
Other versions
KR20090010872A (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 US12/178,254 priority Critical patent/US20090031402A1/en
Priority to CN2008801001428A priority patent/CN101755271B/zh
Priority to EP08778908A priority patent/EP2171634A4/en
Priority to PCT/KR2008/004288 priority patent/WO2009014367A2/en
Publication of KR20090010872A publication Critical patent/KR20090010872A/ko
Application granted granted Critical
Publication of KR101456489B1 publication Critical patent/KR101456489B1/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • 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/54Monitoring 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 adding security routines or objects to 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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database

Abstract

본 발명은 CLDC OSGi 환경에서 어플리케이션의 접속 권한을 관리하는 방법 및 장치에 관한 것으로, 본 발명에 따른 어플리케이션의 접속 권한 관리 방법은 어플리케이션 내에 특권 코드를 표시하고, 고유한 스레드 식별자를 갖는 보안 스레드 내에서 특권 코드를 실행하고, 매핑 테이블로부터 고유한 스레드 식별자를 어플리케이션 식별자와 매핑시킴으로써 특권 코드를 식별하고, 식별된 특권 코드가 어떠한 자원 접속 권한을 갖는지 보안 정책을 검사하며, 검사 결과에 따라 어플리케이션이 자원에 접속하는 것을 허가함으로써, 어플리케이션이 프레임워크 내의 자원에 접속하려고 할 때 어플리케이션들이 자원에 악의적으로 접근할 수 없도록 어플리케이션 내의 특권 코드의 접속 권한을 관리할 수 있다.
CLDC, OSGi, 보안, 매핑 테이블, 특권 코드

Description

CLDC OSGi 환경에서 어플리케이션의 접속 권한을 관리하는 방법 및 장치{Method and apparatus for managing access privileges in a CLDC OSGi environment}
본 발명은 동적으로 어플리케이션을 설치할 수 있는 프레임워크(framework)에 관한 것으로, 더욱 상세하게는 CLDC OSGi 환경에서 자원에 대한 어플리케이션의 접속 권한을 관리하는 방법 및 장치에 관한 것이다.
오늘날, 대부분의 단말 장치들 및 임베디드(embedded) 장치들은 미리 내장되거나 다운로드를 통해 설치된 자바 어플리케이션(JAVA application)을 실행하기 위해 자바 프로그래밍 언어 플랫폼(platform)을 구비한다. 그러한 플랫폼들 중 하나가 J2ME(Java 2 Micro Edition)이다. J2ME 아키텍처(architecture)는 특히 이동 전화, 호출기, PDA(personal digital assistant), 스마트 카드(smart card), 셋톱 박스(set-top box) 등과 같이 제한된 자원을 갖는 임베디드 시스템을 대상으로 한다.
그러나, 이러한 장치들의 기능 및 성능이 서로 간에 많은 차이가 있기 때문에 J2ME 플랫폼이 카테고리 간에서 호환되도록 하기 위해, J2ME는 설정(configuration)과 프로파일(profile)이 분리된 형태로 설계되었다. 설정-프로 파일 쌍(pair)은 API(application programming interface)의 최소 셋(set) 또는 디바이스가 지원해야만 하는 API를 정의한다. 이러한 개념의 장점은 정의된 API들 중 어떠한 API를 이용해 어플리케이션을 제작하였더라도 J2ME 플랫폼 상에서 동작할 수 있다는 점이다. 일반적으로, 이러한 셋은 프로그램에 API를 추가하기를 원하는 경우와 같이 필요에 따라 추가적인 옵션 라이브러리(optional libraries)와 함께 확장될 수 있다.
J2ME와 관련된 설정들 중 대표적인 두 가지 설정에는 CLDC(connected limited device configuration) 및 CDC(connected device configuration)가 있다. 이 중, MIDP 및 CLDC로 구성된 플랫폼은 CDC에 비해 상대적으로 성능이 제한된 CPU나 메모리가 한정적인 시스템을 대상으로 하고 있으며, 표준 자바 플랫폼에서 API들과 응용 가상 머신(virtual machine) 기술을 채택하고 있다.
본 발명이 해결하고자 하는 기술적 과제는 가상 머신을 이용해 어플리케이션을 구동하는 실행 환경에서 하나의 어플리케이션만이 한번에 하나의 가상 머신 상에서 실행될 수 있다는 한계를 극복하고, 어플리케이션들이 프레임워크 내의 자원에 아무런 제한 없이 접근할 수 있는 문제점을 해결하는 어플리케이션의 접속 권한을 관리하는 방법 및 장치를 제공하는데 있다.
상기 기술적 과제를 달성하기 위해, 어플리케이션의 접속 권한 관리 방법은 상기 어플리케이션 내에 특권 코드를 표시하는 단계; 고유한 스레드 식별자를 갖는 보안 스레드 내에서 상기 특권 코드를 실행하는 단계; 매핑 테이블로부터 상기 고유한 스레드 식별자를 어플리케이션 식별자와 매핑시킴으로써 상기 특권 코드를 식별하는 단계; 상기 식별된 특권 코드가 어떠한 자원 접속 권한을 갖는지 보안 정책을 검사하는 단계; 및 상기 검사 결과에 따라 상기 어플리케이션이 상기 자원에 접속하는 것을 허가하는 단계를 포함한다.
또한, 본 발명의 실시예들은 상기 기재된 어플리케이션의 접속 권한 관리 방법을 실행시키기 위한 컴퓨터 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
상기 기술적 과제를 달성하기 위해, 어플리케이션의 접속 권한 관리 장치는 상기 어플리케이션 내에 표시된 특권 코드를 실행하기 위해 고유한 스레드 식별자 를 갖는 보안 스레드를 생성하는 스레드 생성부; 매핑 테이블로부터 상기 고유한 스레드 식별자를 어플리케이션 식별자와 매핑시킴으로써 상기 특권 코드를 식별하는 식별부; 및 상기 식별된 특권 코드가 어떠한 자원 접속 권한을 갖는지 보안 정책을 검사하고, 상기 검사 결과에 따라 상기 어플리케이션이 상기 자원에 접속하는 것을 허가하는 검사부를 포함한다.
본 발명의 다양한 실시예들에 따르면, 어플리케이션이 프레임워크 내의 자원에 접속하려고 할 때, 매핑 테이블을 이용하여 어플리케이션을 식별하고, 식별된 어플리케이션 내의 특권 코드의 보안 정책을 검사함으로써, 어플리케이션들이 자원에 악의적으로 접근할 수 없도록 어플리케이션의 접속 권한을 관리할 수 있다. 또한, 프레임워크를 CLDC OSGi 환경으로 구현할 경우, 다수의 어플리케이션들이 하나의 가상 머신 상에서 실행될 수 있어 메모리 소모가 현저하게 감소한다.
이하에서는 도면을 참조하여 본 발명의 다양한 실시예들을 상세히 설명한다. 실시예들을 설명함에 있어서, 프레임워크(framework)란 가상 머신(virtual machine)을 이용해 어플리케이션(application)을 구동하는 실행 환경을 의미하는 용어로서 사용될 것이다.
도 1a는 CLDC MIDP 플랫폼의 구조를 도시한 도면으로서, 하드웨어(hardware)(110), 가상 머신(120), CLDC(130), MIDP(140) 및 어플리케이션들(150)을 포함한다.
가상 머신(120)은 하드웨어(110) 상에서 플랫폼에 독립적으로 어플리케이션을 실행시킬 수 있는 소프트웨어(software)를 의미하며, CLDC-MIDP 환경에서 이러한 가상 머신(120)은 KVM(K virtual machine)이 이용될 수 있다. KVM은 CLDC(J2ME의 Core APIs를 포함한다.)(130)와 MIDP(140)가 구동될 수 있도록 하는 플랫폼 독립적인 가상 머신의 일종이다.
도 1a에서는 앞서 설명한 설정-프로파일 쌍으로서 CLDC-MIDP을 예시하고 있다. CLDC(connected limited device configuration)(130)는 가상 머신 및 자바 언어 명세에서 명시된 것과 비교하여 축소된 라이브러리 셋을 정의한다. CLDC(130)는 제한된 자원을 가진 임베디드 장치들(예를 들어, 중-저 성능 이동 전화)을 위해 만들어졌다. 한편, MIDP(mobile information device profile)(140)는 어플리케이션 모델, 유저 인터페이스(예를 들어, 텍스트 박스 및 폼) 및 네트워킹을 포함하는 어플리케이션 프로그래밍을 위한 간단한 모델을 정의한다. 이상과 같은 환경이 준비되면 플랫폼의 최상단에 어플리케이션들(150)이 적재되어 실행된다.
그러나, CLDC-MIDP 플랫폼은 강력하고 여유있는 자원이 없고, 지원되는 API문헌 및 응용 가상 머신 기술에 있어서 표준 자바 플랫폼과 동떨어져 있다는 문제점이 발견되었다. 또한, 이전까지의 자바 프레임워크에서는 오직 하나의 자바 어플리케이션만이 한번에 하나의 가상 머신 상에서 실행될 수 있었다. 따라서, 다수의 어플리케이션들을 실행하기 위해서는 다수의 가상 머신들을 하드웨어 상에서 구동해야 하는 비효율이 발생하였다.
이상에서 언급된 MIDP-CLDC 조합의 단점에 대해 제안된 해결 방법 중 하나가 MIDP-CLDC로 구성된 플랫폼보다 더 고성능의 어플리케이션 프레임워크를 포함하는 OSGi(open service gateway initiative)이다. 이하에서 도 1b를 참조하여 설명한다.
도 1b는 CLDC OSGi 프레임워크의 구조를 도시한 도면으로서, 예시된 프레임워크는 도 1a와 유사한 구조를 가지나 MIDP 대신 OSGi(160) 기술을 채택하고 있다. OSGi는 운영체제(operating system)나 서비스 플랫폼에 독립적으로 운영되는 일종의 미들웨어 프레임워크로서, 자바를 이용하여 동적으로 어플리케이션의 설치 및 삭제가 가능한 시스템 환경을 말한다. 기술적으로 OSGi는 일반적이고, 서비스 중심적인 프레임워크를 기술하고 있는 실행 환경이며, 잠재적으로 다른 공급자들로부터의 서비스 구현이 추가된 다수의 값을 전달할 수 있는 서비스 인터페이스의 핵심 셋이다.
다시 말해, OSGi는 확장된 배치 및 다른 공급자들로부터 다운로드 가능한 번들(bundle)이라고 알려진 서비스 어플리케이션을 지원하는 범용-목적의 안전하고 관리된 자바 프레임워크를 제공한다. OSGi는 자바 클래스(class) 파일을 포함하는 jar 파일 형태의 물리적 묶음인 번들(bundle)을 설치함으로써 서비스를 제공하는데, 번들은 서비스의 배포 및 관리의 기본 단위를 형성한다. 따라서, OSGi 호환(compliant) 장치들은 OSGi 번들을 다운로드하고, 설치하며, OSGi 번들이 장치 내에서 더 이상 필요 없을 때 OSGi 번들을 제거할 수 있다. 번들은 OSGi의 제어 하에서 다른 번들과 공유하는 서비스들을 등록할 수 있는데, OSGi는 서비스 레지스트리(service registry)를 가지고 있어 서비스에 대한 등록, 조회, 실행 및 삭제를 수행한다.
OSGi(160)는 CLDC 및 FP(foundation profile)의 최상위에서 실행될 수 있다. 더 나아가, OSGi에서 다수의 번들이 동시에 하나의 가상 머신 상에서 실행될 수 있다. 다시 말해, OSGi에서는 자바 어플리케이션들의 숫자만큼 여러 번 가상 머신을 적재하거나 실행할 필요가 없다. 가상 머신이 일단 적재되면, 다수의 번들이 동시에 가상 머신 상에서 실행될 수 있으므로, 메모리 소모가 현저하게 감소한다.
OSGi의 견고함 덕분에 JSR(JAVA specification request) 232는 이동 장치를 위한 기초적인 어플리케이션 프레임워크로서 OSGi를 사용할 것을 제안하였다.
그러나, CLDC 상에서 구현된 OSGi에는 어플리케이션의 보안에 관한 심각한 결점이 존재한다. 이러한 결함은 기본적으로 CLDC가 전체 OSGi 보안 설계가 의존하고 있는 완전한 자바 2 보안에 관해 아무런 근본적인 지원을 제공하지 않는다는 사실에 기인한다. 또한, 기술 문서 내에서는 CLDC-OSGi 환경에서 실행되는 어플리케이션 내의 코드에 접속하는 권한을 관리하는 메커니즘 또는 방법 중 어느 것에 관하여도 아무런 언급을 하고 있지 않다.
따라서, 이하에서 기술될 본 발명의 다양한 실시예들은 CLDC OSGi 환경에서 실행되는 어플리케이션들이 OSGi의 다른 서비스들 또는 어플리케이션들에 악의적으로 접근하는 것을 막는 방법을 제공함으로써 이러한 약점을 극복하려 한다.
도 2는 CLDC OSGi 환경에서 어플리케이션의 자원 접속 권한을 관리할 수 있는 시스템 구조를 설명하기 위한 도면으로서, 도 1b와 유사한 구성을 가진다. 도 2에서는 OSGi(260) 내에 어플리케이션들(251, 252, 253)의 접속 요청을 관리하는 추 가적인 구성(265)을 포함한다.
예를 들어, 어플리케이션(251)이 다른 어플리케이션들(252, 253) 또는 OSGi(260) 내의 특정 서비스에 접속하여 이들 자원을 이용하려 할 때 적절한 인증이나 보안 수단이 없다면, 프레임워크는 외부로부터의 악의적인 자원 요청에 무방비 상태로 노출될 수 밖에 없다. 따라서, 본 발명의 다양한 실시예들은 이러한 자원 요청을 관리하고 허가된 요청에 대해서만 접속을 허용하는 접속 권한 관리 수단(265)을 제안한다. 특히, 어플리케이션들(251, 252, 253)은 각각 특권 코드(privileged code)(271, 272, 273)를 가질 수 있어, 이들 코드를 통해 특정 자원에 대한 접속 권한을 획득할 수 있다.
이하의 실시예들에서 프레임워크는 CLDC OSGi 환경을 가정하여 기술되었으나, 본 발명의 실시예들이 속하는 기술 분야에서 통상의 지식을 가진 자는 이하의 실시예들을 구현함에 있어서 이러한 CLDC OSGi 환경 이외에도 이에 상응하는 다양한 실행 환경이 적용될 수 있음을 용이하게 도출할 수 있을 것이다.
도 3a은 본 발명의 일 실시예에 따른 CLDC OSGi 프레임워크의 보안 아키텍처를 예시한 블럭도로서, 프레임워크(300) 및 어플리케이션(프레임워크(300)에 설치된 번들을 의미한다.)(410)을 포함한다.
프레임워크(300)는 어플리케이션(410)의 자원 요청에 대한 권한을 관리하는 권한 관리부(310)를 포함하며, 권한 관리부(310)는 다시 스레드 생성부(315) 및 보안 정책(317)을 포함한다.
스레드 생성부(315)는 새롭게 설치된 어플리케이션(410)을 실행하기 위해 생 성되는 보안 스레드(secured thread)(ST1)를 관리한다. 어플리케이션(410은 생성된 보안 스레드(ST1) 상에서 실행된다. 보안 스레드(ST1)는 어플리케이션마다 생성되며, 프레임워크(300)의 특성에 맞도록 설계된 커스텀 스레드(custom thread)일 수 있다. 도 3a에서는 편의상 하나의 어플리케이션 B1(410)에 대응하는 하나의 보안 스레드(ST1)만을 예시하였다.
이러한 어플리케이션이 프레임워크(300)의 특정 자원(다른 어플리케이션이나 서비스를 의미한다.)에 접속하려고 한다면, 접속 권한을 가져야 한다. 특권 코드(417)는 어플리케이션(410) 내의 코드 중 일부로서 특권이 부여된 코드를 의미하는데, 특권이란 프레임워크(300)의 특정 자원에 대한 접속 권한을 의미하는 것이다. 즉, 프레임워크(300)의 권한 관리부(310)가 어플리케이션(410) 내의 특권 코드(417) 내에 표시된 명령이나 서비스 요청을 허락할 경우, 해당 요청에 대한 자원 접속이 가능해진다. 예를 들어, 도 3a에서 어플리케이션 B1(410)은 접속 권한 셋(415)을 가지므로 해당 자원에 접속하는 것이 허용될 수 있다. 만약, 어플리케이션 B1(410)이 접속 권한 셋을 획득하는데 실패한다면, 자원에 접속하는 것이 거부될 것이다.
보안 정책(317)은 어플리케이션들마다 어떠한 자원에 접속하여 자원을 이용할 수 있는지 여부를 나타내는 정책을 관리한다. 이러한 보안 정책(317)은 특정 파일(file)이나 데이터베이스(database)에 기록될 수 있다.
도 3b는 도 3a의 보안 아키텍처의 어플리케이션 및 어플리케이션 내의 특권 코드를 예시한 도면으로서, 도 3a의 어플리케이션(410)과 특권 코드(417)를 각각 프로그램 코드로서 예시하였다. 도 3b의 어플리케이션(410)은 휴대 전화에 탑재된 소프트웨어 프로그램이며, 어플리케이션(410)은 전화번호부를 검색(search)하고, 전화를 걸고(call), 일정관리를 위한 달력(calendar)을 관리하는 기능을 갖는다고 가정하자.
sampleApplication()은 이러한 어플리케이션(410)을 의미하며, 이상에서 가정한 3 가지 기능을 모두 포함하고 있다. 각각의 기능은 search(), call(), calendar() 라는 이름의 함수로 구현되어 있다. 여기서, 전화번호부 검색과 달력 관리 기능은 휴대 전화의 자원 이용에 별다른 보안 문제를 일으키지 않으므로 통상적인 권한으로도 서비스를 이용할 수 있도록 설계하였다고 가정하자. 반면, 요금이 부과되는 전화 통화 기능은 휴대 전화의 자원 이용에 있어서 특별한 권한을 요구하도록 설계하였다고 가정하자. 이 경우, 전화 통화 기능에 해당하는 call() 함수는 프레임워크(휴대 전화기의 소프트웨어 구현 환경에 대응한다.)로부터 특별한 권한을 획득하지 않는 한, 전화 통화 기능을 이용할 수 없다. 즉, 허가 없이는 프레임워크의 자원을 이용할 수 없다.
도 3b에서 call() 함수는 doPrivileged()라는 표시(mark)에 의해 특권 코드(417)로서 특정될 수 있다. sampleApplication()에 예시된 3 가지 기능 중 특권 코드(417)에 해당하는 기능은 프레임워크의 자원을 요청하면서 실행되고, 그 허가 여부에 따른 결과를 반환한다. 따라서, 특권 코드(417)는 프레임워크의 자원에 대한 전체 권한(all permission)을 갖도록 설계될 수 있을 것이다. 물론, 이러한 특권 코드(417)에 대한 허가 여부는 프레임워크의 권한 관리부(도 3a의 310)에서 결정함이 당연하다.
이상에서 프레임워크에 설치된 어플리케이션을 실행하기 위해 각각의 어플리케이션에 보안 스레드를 할당하는 방법을 설명하였다. 이러한 보안 스레드들은 프레임워크 내에 준비된 보안 정책에 따라 자원 접속에 대한 권한을 검사받는다. 이하에서는 이러한 프레임워크의 자원에 접속하려는 보안 스레드의 권한을 검사하는 보안 아키텍처의 구동 모델을 설명한다.
도 4는 본 발명의 일 실시예에 따른 프레임워크에서 프레임워크의 자원에 접속하려는 어플리케이션의 권한을 관리하는 장치를 도시한 블럭도로서, 도 3a 및 도 3b를 통해 설명한 권한 관리부(310) 이외에 서비스 레지스트리(320)를 더 포함한다. 권한 관리부(310)는 다시 식별부(311), 매핑 테이블(312), 검사부(313), 스레드 생성부(315), 보안 정책(317) 및 권한 인터페이스(privilege interface)(319)를 포함한다. 각각을 설명한다.
우선, 서비스 레지스트리(320)는 프레임워크(300)가 제공할 수 있는 서비스를 등록하고, 조회하고, 실행하며, 삭제할 수 있는 관리 수단으로서, 도 4에는 하나의 서비스(325)가 등록되어 있을 것을 예시하고 있다.
스레드 생성부(315)는 앞서 설명한 바와 같이 어플리케이션 B1(410) 내에 표시된 특권 코드(417)를 실행하기 위해 보안 스레드 ST1을 생성한다. 이러한 보안 스레드 ST1은 다른 스레드들과 구별되는 고유의 스레드 식별자를 갖는다.
특권 코드(417)는 권한 인터페이스(privilege interface)(319)를 통해 표시(mark)될 수 있는데, 권한 인터페이스는 프레임워크(300)의 설계시 어플리케이 션(410)과의 통신을 위한 일련의 규격을 만족한다. 예를 들어, 프레임워크(300)에 설치 가능한 어플리케이션 개발 가이드(guide)에 따라 개발자들이 보안 기능(어플리케이션 내에 특권 코드를 표시할 수 있는 기능을 의미한다.)이 포함된 어플리케이션을 개발할 경우, 프레임워크(300)의 권한 관리부(310)는 권한 인터페이스(319)를 통해 특권 코드(417)를 탐지(detect)할 수 있을 것이다. 이러한 권한 인터페이스(319) 및 특권 코드(417)를 통해 어플리케이션(410)은 권한이 부여된 허가를 획득함으로써 프레임워크(300)의 특정 자원에 대한 접속을 허가받을 수 있다.
한편, 스레드 생성부(315)는 보안 스레드(410)를 생성할 뿐만 아니라, 필요에 따라서 생성된 보안 스레드(410)를 파괴할 수도 있을 것이다. 즉, 특권 코드(417)의 실행이 완료된 후, 스레드 생성부(315)는 고유한 식별자와 함께 보안 스레드(410) 및 어플리케이션 매핑을 파괴할 수 있다. 스레드 생성부(315)가 보안 스레드(410)를 파괴함으로써, 프레임워크(300)는 어떠한 다른 어플리케이션도 악의적으로 특권 코드를 실행할 수 있는 보안 스레드(ST1)를 재사용할 수 없음을 보장할 수 있다.
매핑 테이블(312)은 스레드 식별자와 대응하는 어플리케이션의 식별자를 하나의 쌍으로 저장한다. 이러한 매핑 테이블(312)을 통해 어떠한 보안 스레드가 어플리케이션에 할당되어 있는지 여부를 알 수 있다. 도 4에는 보안 스레드 ST1가 어플리케이션 B1(410)에 대응함을 나타내는 매핑 테이블(312)이 예시되어 있다. 이러한 매핑 테이블(312)은 보안 스레드(ST1)를 소유한 어플리케이션(410) 이외에 어떠한 어플리케이션들도 특권 코드(417)를 실행하기 위한 스레드를 사용할 수 없음을 보장할 수 있다.
식별부(311)는 매핑 테이블(312)로부터 고유한 스레드 식별자를 어플리케이션 식별자와 매핑시킴으로써 어플리케이션(또는, 어플리케이션 내의 특권 코드)을 식별한다. 예를 들어, 어플리케이션 B1(410)이 서비스(325)에 접속하려는 요청을 하였을 때, 식별부(311)는 요청을 전달하는 스레드 ST1의 스레드 식별자를 이용하여 매핑 테이블(312)을 질의한다. 질의 결과, 스레드 ST1에 대응하는 어플리케이션이 어플리케이션 B1(312)임을 식별할 수 있다.
검사부(313)는 식별된 어플리케이션 또는 특권 코드가 어떠한 자원 접속 권한을 갖는지 보안 정책(317)을 검사하고, 검사 결과 어플리케이션이 자원 접속 권한을 가진다면 자원 접속을 허가하고, 그렇지 않다면 자원 접속을 거부한다. 예를 들어, 어플리케이션 B1(410)이 검사부(313)를 통해 보안 정책(317)을 질의한 결과, 서비스(325)에 대한 접속 권한을 가진다면, 어플리케이션 B1(410)에 접속 권한 셋(415)이 부여될 것이다. 그 결과, 어플리케이션 B1(410)은 서비스(325)에 접속하는 것이 허가될 것이다.
이상에서, 도 4를 참조하여 프레임워크 내의 자원에 접속하려는 어플리케이션의 접속 권한을 관리하는 장치를 설명하였다. 본 실시예에 따르면, 매핑 테이블을 이용하여 어플리케이션을 식별하고, 식별된 어플리케이션 내의 특권 코드의 보안 정책을 검사함으로써, 어플리케이션들이 프레임워크 내의 자원에 악의적으로 접근할 수 없도록 어플리케이션의 접속 권한을 관리할 수 있다. 또한, 예시된 프레임워크를 CLDC OSGi 환경으로 구현할 경우, 다수의 어플리케이션들이 하나의 가상 머 신 상에서 실행될 수 있어 메모리 소모가 현저하게 감소한다.
도 5는 본 발명의 일 실시예에 따른 프레임워크에서 프레임워크의 자원에 접속하려는 어플리케이션의 권한을 관리하는 방법을 도시한 흐름도로서, 다음과 같은 단계들을 포함한다.
510 단계에서 고유한 스레드 식별자를 갖는 보안 스레드 내에서 어플리케이션 내의 특권 코드를 실행한다. 예를 들어, OSGi 어플리케이션이 CLDC OSGi 환경에 설치되었을 때, OSGi 어플리케이션 및 어플리케이션 내의 특권 코드는 스레드 생성부에 의해 생성된 보안 커스텀 스레드 내에서 실행된다. 이러한 보안 커스텀 스레드는 다른 보안 스레드와 구별되는 고유한 스레드 식별자를 갖는다.
520 단계에서 실행된 어플리케이션이 자원 접속을 요청한다. 여기서, 자원이란 프레임워크 내의 어떤 서비스나 다른 어플리케이션을 의미한다.
530 단계에서 매핑 테이블로부터 고유한 스레드 식별자를 어플리케이션 식별자와 매핑시킴으로써 어플리케이션(구체적으로는 어플리케이션 내의 특권 코드를 의미한다.)을 식별한다.
540 단계에서 530 단계를 통해 일단 자원을 요청하는 어플리케이션(또는, 특권 코드를 의미한다.)이 식별되면, 어플리케이션이 어떠한 접속 권한을 갖는지 보안 정책을 검사한다. 권한 관리부(도 4의 310), 보다 상세하게는 검사부(도 4의 313)는 접속 요청과 CLDC OSGi 프레임워크 내에 존재하는 보안 정책(도 4의 317)을 비교함으로써 어플리케이션의 접속 권한을 확인한다. 이러한 허가 권한은 미리 설정될 수 있으며, 위치(location) 및 서명자(signer) 등과 같은 요소들에 의존한다. 예를 들어, 프레임워크가 A사의 어플리케이션에 모든 자원 접속 권한을 부여하기로 사전에 합의가 된 경우, 만약 서명자가 A로 되어 있는 어플리케이션이 자원 접속을 요청할 때에 그 요청은 허가될 수 있을 것이다.
550 단계에서 어플리케이션이 자원 접속 권한을 갖는지 여부를 판단한다. 검사 결과, 만약 어플리케이션이 권한을 갖는다면 560 단계로 진행하여 자원 접속을 허용할 것이다. 반면, 어플리케이션이 권한을 갖지 않는다면 570 단계로 진행하여 자원 접속을 거부할 것이다. 또한, 자원 접속을 거부할 경우, 자바 프레임워크 상의 오류 처리 방법인 예외(exception)를 발생(throw)시킬 수도 있을 것이다.
한편, 특권 코드의 실행이 완료되었다면, 고유한 식별자와 함께 보안 스레드 및 어플리케이션 매핑을 파괴할 수 있다. 이를 통해, 프레임워크는 어떠한 다른 어플리케이션도 악의적으로 특권 코드를 실행할 수 있는 보안 스레드를 재사용할 수 없음을 보장할 수 있다.
이상에서, 도 5를 참조하여 프레임워크 내의 자원에 접속하려는 어플리케이션의 접속 권한을 관리하는 방법을 설명하였다. 본 실시예에 따르면, 어플리케이션들이 프레임워크 내의 자원에 악의적으로 접근할 수 없도록 어플리케이션 내의 특권 코드의 접속 권한을 관리할 수 있다. 또한, 예시된 프레임워크를 CLDC OSGi 환경으로 구현할 경우, 다수의 어플리케이션들이 하나의 가상 머신 상에서 실행될 수 있어 메모리 소모가 현저하게 감소한다.
한편, 본 발명은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스 템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현하는 것을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.
이상에서 본 발명에 대하여 그 다양한 실시예들을 중심으로 살펴보았다. 본 발명에 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
도 1a는 CLDC MIDP 플랫폼의 구조를 도시한 도면이다.
도 1b는 CLDC OSGi 프레임워크의 구조를 도시한 도면이다.
도 2는 CLDC OSGi 환경에서 어플리케이션의 자원 접속 권한을 관리할 수 있는 시스템 구조를 설명하기 위한 도면이다.
도 3a은 본 발명의 일 실시예에 따른 CLDC OSGi 프레임워크의 보안 아키텍처를 예시한 블럭도이다.
도 3b는 도 3a의 보안 아키텍처의 어플리케이션 및 어플리케이션 내의 특권 코드를 예시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 프레임워크에서 프레임워크의 자원에 접속하려는 어플리케이션의 권한을 관리하는 장치를 도시한 블럭도이다.
도 5는 본 발명의 일 실시예에 따른 프레임워크에서 프레임워크의 자원에 접속하려는 어플리케이션의 권한을 관리하는 방법을 도시한 흐름도이다.

Claims (15)

  1. 가상 머신(virtual machine)을 이용해 어플리케이션(application)을 구동하는 실행 환경에서 상기 실행 환경 내의 자원에 접속하려는 어플리케이션의 권한을 관리하는 방법에 있어서,
    상기 어플리케이션 내에 특권 코드(code)를 표시하는 단계;
    고유한 스레드(thread) 식별자를 갖는 보안 스레드 내에서 상기 특권 코드를 실행하는 단계;
    매핑 테이블(mapping table)로부터 상기 고유한 스레드 식별자를 어플리케이션 식별자와 매핑시킴으로써 상기 특권 코드를 식별하는 단계;
    상기 식별된 특권 코드가 어떠한 자원 접속 권한을 갖는지 보안 정책을 검사하는 단계; 및
    상기 검사 결과에 따라 상기 어플리케이션이 상기 자원에 접속하는 것을 허가하는 단계를 포함하고,
    상기 특권 코드는 특정 자원에 대한 접속 권한이 부여된 코드인 것을 특징으로 하는 방법.
  2. 제 1 항에 있어서,
    상기 검사 결과, 상기 어플리케이션이 상기 자원에 대한 접속 권한이 없다면 예외(exception)를 발생시키는 단계를 더 포함하는 방법.
  3. 제 1 항에 있어서,
    상기 특권 코드의 실행이 완료된 후, 상기 보안 스레드를 파괴하는 단계를 더 포함하는 방법.
  4. 제 1 항에 있어서,
    상기 어플리케이션이 상기 자원에 접속하는 것을 허가하는 단계는 상기 보안 스레드에 허가 셋(set)을 할당하는 단계를 포함하는 방법.
  5. 제 1 항에 있어서,
    상기 특권 코드는 권한 인터페이스(interface)를 통해 탐지되는 것을 특징으로 하는 방법.
  6. 제 1 항에 있어서,
    상기 매핑 테이블은 상기 실행 환경 내의 모든 어플리케이션들의 어플리케이션 식별자들과 상기 모든 어플리케이션들이 실행되는 스레드들이 갖는 고유한 스레드 식별자들을 각각 대응시켜 저장하는 것을 특징으로 하는 방법.
  7. 제 1 항에 있어서,
    상기 실행 환경은 CLDC(Connected Limited Device Configuration) OSGi(Open Service Gateway Initiative) 환경인 것을 특징으로 하는 방법.
  8. 제 1 항 내지 제 7 항 중에 어느 한 항의 방법을 실행시키기 위한 컴퓨터 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  9. 가상 머신을 이용해 어플리케이션을 구동하는 실행 환경에서 상기 실행 환경 내의 자원에 접속하려는 어플리케이션의 권한을 관리하는 장치에 있어서,
    상기 어플리케이션 내에 표시된 특권 코드를 실행하기 위해 고유한 스레드 식별자를 갖는 보안 스레드를 생성하는 스레드 생성부;
    매핑 테이블로부터 상기 고유한 스레드 식별자를 어플리케이션 식별자와 매핑시킴으로써 상기 특권 코드를 식별하는 식별부; 및
    상기 식별된 특권 코드가 어떠한 자원 접속 권한을 갖는지 보안 정책을 검사하고, 상기 검사 결과에 따라 상기 어플리케이션이 상기 자원에 접속하는 것을 허가하는 검사부를 포함하고,
    상기 특권 코드는 특정 자원에 대한 접속 권한이 부여된 코드인 것을 특징으로 하는 장치.
  10. 제 9 항에 있어서,
    상기 검사 결과, 상기 어플리케이션이 상기 자원에 대한 접속 권한이 없다면 예외를 발생시키는 예외 발생부를 더 포함하는 장치.
  11. 제 9 항에 있어서,
    상기 스레드 생성부는 상기 특권 코드의 실행이 완료된 후, 상기 보안 스레드를 파괴하는 것을 특징으로 하는 장치.
  12. 제 9 항에 있어서,
    상기 검사부는 상기 어플리케이션이 상기 자원에 접속할 수 있도록 상기 보안 스레드에 허가 셋을 할당하는 것을 특징으로 하는 장치.
  13. 제 9 항에 있어서,
    상기 특권 코드는 권한 인터페이스를 통해 탐지되는 것을 특징으로 하는 장치.
  14. 제 9 항에 있어서,
    상기 매핑 테이블은 상기 실행 환경 내의 모든 어플리케이션들의 어플리케이션 식별자들과 상기 모든 어플리케이션들이 실행되는 스레드들이 갖는 고유한 스레드 식별자들을 각각 대응시켜 저장하는 것을 특징으로 하는 장치.
  15. 제 9 항에 있어서,
    상기 실행 환경은 CLDC OSGi 환경인 것을 특징으로 하는 장치.
KR1020080026295A 2007-07-23 2008-03-21 CLDC OSGi 환경에서 어플리케이션의 접속 권한을관리하는 방법 및 장치 KR101456489B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US12/178,254 US20090031402A1 (en) 2007-07-23 2008-07-23 Method and apparatus for managing access privilege in cldc osgi environment
CN2008801001428A CN101755271B (zh) 2007-07-23 2008-07-23 用于在连接受限设备配置和开放服务网关联盟环境中管理访问特权的方法和装置
EP08778908A EP2171634A4 (en) 2007-07-23 2008-07-23 METHOD AND DEVICE FOR ADMINISTERING ACCESS PROFILES IN A CLDC OSGI ENVIRONMENT
PCT/KR2008/004288 WO2009014367A2 (en) 2007-07-23 2008-07-23 Method and apparatus for managing access privilege in cldc osgi environment

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN1586CH2007 2007-07-23
IN1586/CHE/2007 2007-07-23

Publications (2)

Publication Number Publication Date
KR20090010872A KR20090010872A (ko) 2009-01-30
KR101456489B1 true KR101456489B1 (ko) 2014-10-31

Family

ID=40489965

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080026295A KR101456489B1 (ko) 2007-07-23 2008-03-21 CLDC OSGi 환경에서 어플리케이션의 접속 권한을관리하는 방법 및 장치

Country Status (5)

Country Link
US (1) US20090031402A1 (ko)
EP (1) EP2171634A4 (ko)
KR (1) KR101456489B1 (ko)
CN (1) CN101755271B (ko)
WO (1) WO2009014367A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10713354B2 (en) 2017-07-27 2020-07-14 Samsung Electronics Co., Ltd. Methods and apparatus to monitor permission-controlled hidden sensitive application behavior at run-time

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI353767B (en) * 2008-03-21 2011-12-01 Wistron Corp Method of digital resource management and related
EP2315883A4 (en) 2008-06-06 2014-07-09 Bayer Medical Care Inc APPARATUS AND METHODS FOR DELIVERY OF FLUID BOLUS INJECTION TO PATIENTS AND HANDLING OF HAZARDOUS FLUIDS
US8312268B2 (en) 2008-12-12 2012-11-13 International Business Machines Corporation Virtual machine
EP2312485B1 (en) 2009-08-31 2018-08-08 BlackBerry Limited System and method for controlling applications to mitigate the effects of malicious software
US8910165B2 (en) * 2009-10-14 2014-12-09 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Providing thread specific protection levels
US9207968B2 (en) * 2009-11-03 2015-12-08 Mediatek Inc. Computing system using single operating system to provide normal security services and high security services, and methods thereof
KR101636457B1 (ko) * 2009-12-28 2016-07-05 삼성전자주식회사 복수 개의 번들간에 서로 기능을 공유할 수 있는 프레임워크 기반으로 동작하는 화상형성장치 및 이러한 화상형성장치에 번들을 설치하는 방법
US20120095877A1 (en) * 2010-10-19 2012-04-19 Apple, Inc. Application usage policy enforcement
US9881151B2 (en) * 2011-08-31 2018-01-30 Lenovo (Singapore) Pte. Ltd. Providing selective system privileges on an information handling device
US8931103B2 (en) 2011-09-08 2015-01-06 International Business Machines Corporation Generating security permissions
US8640230B2 (en) * 2011-12-19 2014-01-28 International Business Machines Corporation Inter-thread communication with software security
US9393441B2 (en) 2012-06-07 2016-07-19 Bayer Healthcare Llc Radiopharmaceutical delivery and tube management system
US9889288B2 (en) 2012-06-07 2018-02-13 Bayer Healthcare Llc Tubing connectors
US9125976B2 (en) 2012-06-07 2015-09-08 Bayer Medical Care Inc. Shield adapters
US20140156590A1 (en) 2012-12-05 2014-06-05 Chegg, Inc. Producing automated terms listings in html document publishing with enhanced terms definitions
CN103607471A (zh) * 2013-12-02 2014-02-26 中标软件有限公司 一种桌面系统之间的文件交换方法及系统
US9910794B2 (en) * 2014-09-26 2018-03-06 Infineon Technologies Ag Processing data
FR3031206B1 (fr) * 2014-12-31 2018-01-19 Bull Sas Boitier d'interconnexion d'equipements utilsateurs
US10110496B2 (en) * 2015-03-31 2018-10-23 Juniper Networks, Inc. Providing policy information on an existing communication channel
KR101724412B1 (ko) * 2015-09-23 2017-04-10 한국전자통신연구원 확장 코드를 이용한 어플리케이션 분석 장치 및 방법
CN105631309B (zh) * 2015-12-29 2019-04-09 深圳市科漫达智能管理科技有限公司 一种事件验权方法和验权系统
CN106201842A (zh) * 2016-06-27 2016-12-07 乐视控股(北京)有限公司 一种通用举报方法及系统
EP3641259A1 (de) * 2018-10-15 2020-04-22 Siemens Aktiengesellschaft Vorrichtung und verfahren zur prüfung von eigenschaften von ressourcen
CN109766278A (zh) * 2019-01-10 2019-05-17 中天宽带技术有限公司 基于osgi框架的网关设备web后台自动测试方法
US11699023B2 (en) 2019-07-02 2023-07-11 Chegg, Inc. Producing automated sensory content and associated markers in HTML document publishing
CN112181376B (zh) * 2020-09-30 2023-08-08 中国工商银行股份有限公司 代码资源管理方法、装置、电子设备和介质
CN113625968B (zh) * 2021-08-12 2024-03-01 网易(杭州)网络有限公司 文件权限的管理方法、装置、计算机设备及存储介质
US11861776B2 (en) 2021-11-19 2024-01-02 Chegg, Inc. System and method for provision of personalized multimedia avatars that provide studying companionship

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003065630A2 (en) * 2002-01-29 2003-08-07 Anytime Pte. Ltd. Apparatus and method for preventing digital media piracy
KR20050039528A (ko) * 2003-10-23 2005-04-29 마이크로소프트 코포레이션 리소스 획득 방법 및 컴퓨터 판독 가능 매체

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6308274B1 (en) * 1998-06-12 2001-10-23 Microsoft Corporation Least privilege via restricted tokens
US6941552B1 (en) * 1998-07-30 2005-09-06 International Business Machines Corporation Method and apparatus to retain applet security privileges outside of the Java virtual machine
US7024668B2 (en) * 2000-05-15 2006-04-04 Matsushita Electric Industrial Co., Ltd. Application execution apparatus and method
US7146307B2 (en) * 2002-03-22 2006-12-05 Sun Microsystems, Inc. System and method for testing telematics software
US7117284B2 (en) * 2002-11-18 2006-10-03 Arm Limited Vectored interrupt control within a system having a secure domain and a non-secure domain
US7149862B2 (en) * 2002-11-18 2006-12-12 Arm Limited Access control in a data processing apparatus
US20040117494A1 (en) * 2002-12-16 2004-06-17 Mitchell Larry J. Method and system for dynamically reconfiguring pervasive device communication channels
US6711447B1 (en) * 2003-01-22 2004-03-23 Intel Corporation Modulating CPU frequency and voltage in a multi-core CPU architecture
US7076637B2 (en) * 2003-10-29 2006-07-11 Qualcomm Inc. System for providing transitions between operating modes of a device
US7890735B2 (en) * 2004-08-30 2011-02-15 Texas Instruments Incorporated Multi-threading processors, integrated circuit devices, systems, and processes of operation and manufacture
FR2881854B1 (fr) * 2005-02-04 2008-01-11 Radiotelephone Sfr Procede de gestion securisee de l'execution d'une application
US7665143B2 (en) * 2005-05-16 2010-02-16 Microsoft Corporation Creating secure process objects

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003065630A2 (en) * 2002-01-29 2003-08-07 Anytime Pte. Ltd. Apparatus and method for preventing digital media piracy
KR20050039528A (ko) * 2003-10-23 2005-04-29 마이크로소프트 코포레이션 리소스 획득 방법 및 컴퓨터 판독 가능 매체

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10713354B2 (en) 2017-07-27 2020-07-14 Samsung Electronics Co., Ltd. Methods and apparatus to monitor permission-controlled hidden sensitive application behavior at run-time

Also Published As

Publication number Publication date
WO2009014367A2 (en) 2009-01-29
KR20090010872A (ko) 2009-01-30
EP2171634A2 (en) 2010-04-07
US20090031402A1 (en) 2009-01-29
CN101755271B (zh) 2012-10-31
EP2171634A4 (en) 2012-01-25
WO2009014367A3 (en) 2009-03-19
CN101755271A (zh) 2010-06-23

Similar Documents

Publication Publication Date Title
KR101456489B1 (ko) CLDC OSGi 환경에서 어플리케이션의 접속 권한을관리하는 방법 및 장치
EP2302549B1 (en) Platform security apparatus and method thereof
US20090031396A1 (en) METHOD OF AND APPARATUS FOR MANAGING ACCESS PRIVILEGES IN CLDC OSGi ENVIRONMENT
JP4628149B2 (ja) アクセス制御装置及びアクセス制御方法
US8893225B2 (en) Method and apparatus for secure web widget runtime system
JP5037422B2 (ja) 画像形成装置、アクセス制御方法、及びアクセス制御プログラム
JP2010182319A (ja) コンピュータ装置上の記憶領域へのアプリケーションレベルのアクセス特権
WO2007113709A1 (en) Method and apparatus for assigning an application to a security restriction
US7444624B2 (en) Method for the secure interpretation of programs in electronic devices
US7770202B2 (en) Cross assembly call interception
KR102327083B1 (ko) 소프트웨어 컴포넌트 공유 시스템 및 방법
US9280674B2 (en) Information processing apparatus and method of controlling same
KR101275293B1 (ko) 네트워크 장치 및 네트워크 가상화 지원 방법
JP2012212431A (ja) セキュリティサービスに実装するシステムおよび方法
US20070038572A1 (en) Method, system and computer program for metering software usage
US8336059B2 (en) Access right checking system, access right checking method, and access right checking program
US20120254968A1 (en) Systems and methods for implementing security services
CN113065131A (zh) 插件的安全控制方法、装置和存储介质
EP2581853A2 (en) Method and apparatus for secure web widget runtime system
KR20090010871A (ko) CLDC OSGi 환경에서 어플리케이션의 접속 권한을관리하는 방법 및 장치
JP4638505B2 (ja) 電子デバイス内の安全なプログラム解釈方法
US20220278988A1 (en) Kernel level application data protection
Ismail et al. An Investigation into Access Control in Various Types of Operating Systems
JP5477425B2 (ja) 情報処理装置、アクセス制御方法、アクセス制御プログラム、及び記録媒体
CN117390617A (zh) 权限控制方法、装置、电子设备及计算机可读存储介质

Legal Events

Date Code Title Description
A201 Request for examination
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