KR20120083923A - 애플리케이션 클래스들을 로딩하는 시스템 및 방법 - Google Patents
애플리케이션 클래스들을 로딩하는 시스템 및 방법 Download PDFInfo
- Publication number
- KR20120083923A KR20120083923A KR1020127014145A KR20127014145A KR20120083923A KR 20120083923 A KR20120083923 A KR 20120083923A KR 1020127014145 A KR1020127014145 A KR 1020127014145A KR 20127014145 A KR20127014145 A KR 20127014145A KR 20120083923 A KR20120083923 A KR 20120083923A
- Authority
- KR
- South Korea
- Prior art keywords
- class
- security
- variant
- repository
- variants
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 34
- 230000008569 process Effects 0.000 claims description 12
- 238000004891 communication Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/51—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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/53—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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/54—Monitoring 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/105—Multiple levels of security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2149—Restricted operating environment
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
Abstract
애플리케이션에서, 클래스의 변종들이 발생될 수도 있고, 그 애플리케이션에 대한 상이한 보안 사용권한과 관련될 수도 있다. 클래스가 로딩될 때, 예를 들어, 보안 토큰을 디코딩함으로써, 애플리케이션의 보안 사용권한에 대한 결정이 이루어진다. 그후, 요청된 보안 레벨에 매칭하는 클래스 변종들을 저장하는 저장소로부터 클래스가 취출된다. 따라서, 보안 사용권한에 대해 적절한 것으로서 완전한 기능 또는 축소된 기능을 가질 수도 있는 취출된 클래스 변종이 로딩될 수도 있다.
Description
본 개시물은, 보안 애플리케이션에 관한 것이며, 특히 사용자 보안 사용권한 에 기초하여 클래스들을 애플리케이션으로 로딩하는 것에 관한 것이다.
디바이스 상에서 애플리케이션을 호출할 때, 사용자의 보안 사용권한 (security permission) 에 의존하여 애플리케이션에 대해 또는 애플리케이션의 몇몇 성능에 대해 허가되지 않은 액세스를 방지할 필요가 있을 수도 있다. 기존의 해결방법은, 애플리케이션 로직 또는 보안 모듈 내의 조건부 로직을 이용하여, 보호된 성능이 액세스될 수 있는지의 여부를 결정한다. 그러나, 우발적이든 악의적 의도이든 사용권한이 부정확하게 설정되어 있으면, 보호된 성능을 구현하는 코드가 애플리케이션에 대해 가시적인 경우에는, 보호된 성능이 액세스될 수도 있다. 이는 분산형 애플리케이션들에 있어서는 심각한 문제가 될 수 있다.
보안 애플리케이션을 개발 및/또는 제공하기 위한 개선된 시스템 및 방법이 요구된다.
본 개시물의 일 양태에서, 애플리케이션 내의 클래스를 로딩하는 방법이 제공되는데, 이 방법은, 클래스 요건을 결정하는 단계, 보안 사용권한을 결정하는 단계, 보안 사용권한과 관련된 요청 클래스의 클래스 변종 (class variant) 을 취출하는 단계 및 취출된 클래스 변종을 로딩하는 단계를 포함한다.
본 개시물의 일 양태에서, 요청 핸들러 및 적어도 하나의 클래스로더를 포함하는 애플리케이션이 제공된다. 요청 핸들러는, 클래스에 대한 요청을 프로세싱하고 애플리케이션의 보안 사용권한을 결정하도록 구성될 수도 있다. 클래스로더는 보안 사용권한에 의존하여 클래스 변종을 로딩하도록 구성될 수도 있다.
본 개시물의 일 양태에서, 실행될 때, 프로세서로 하여금, 보안 토큰을 디코딩하게 하고, 보안 토큰으로부터 보안 사용권한을 결정하게 하고, 보안 사용권한과 관련된 클래스 저장소를 선택하게 하고, 선택된 클래스 저장소로부터 클래스를 로딩하게 하는 프로세서에 의한 실행을 위한 컴퓨터-실행가능 명령을 포함하는 컴퓨터-판독가능 매체가 제공된다.
이하, 구체적인 실시형태들 및 첨부된 도면에 대해 오직 예시로서 참조가 이루어질 것이다.
도 1 은 애플리케이션 구조를 예시한다.
도 2 는 클래스들을 도 1 의 애플리케이션으로 로딩하기 위한 프로세스를 예시한다.
도 3 은 호출 (invocation) 을 수행하기 위한 프로세스를 예시한다.
도 4 는 클래스 인스턴스를 획득하기 위한 프로세스를 예시한다.
도 5 는 애플리케이션을 실행하기 위한 프로세스 및 메모리를 예시한다.
도 6 은 도 5 의 프로세서상에서 실행가능한 명령 세트를 예시한다.
도 7 은 클래스 저장 프로세서와 통신하는 애플리케이션 프로세서를 예시한다.
도 1 은 애플리케이션 구조를 예시한다.
도 2 는 클래스들을 도 1 의 애플리케이션으로 로딩하기 위한 프로세스를 예시한다.
도 3 은 호출 (invocation) 을 수행하기 위한 프로세스를 예시한다.
도 4 는 클래스 인스턴스를 획득하기 위한 프로세스를 예시한다.
도 5 는 애플리케이션을 실행하기 위한 프로세스 및 메모리를 예시한다.
도 6 은 도 5 의 프로세서상에서 실행가능한 명령 세트를 예시한다.
도 7 은 클래스 저장 프로세서와 통신하는 애플리케이션 프로세서를 예시한다.
애플리케이션 구조 (10) 가 도 1 에 예시된다. 애플리케이션 (10) 은, 로딩되었고 애플리케이션의 기능들을 수행하도록 이용되는 애플리케이션 클래스들 (12) 을 포함한다. 통상적으로, 애플리케이션 클래스들은 요청 핸들러 (15) 내의 클래스로더 (14) 를 이용하여 로딩된다. 본 개시물의 실시형태에서, 애플리케이션 (10) 은 보안 토큰으로서 인코딩된 보안 사용권한들의 세트를 갖도록 구성될 수도 있다. 애플리케이션이 보안 동작을 수행할 때, 요청 핸들러 (15) 는 호출 (invocation) 을 인터셉트한다. 요청 핸들러 (15) 는 호출기에 대해 일부에 있을 수도 있고 원격 프로세스에 있을 수도 있다. 본 실시형태의 클래스로더 (14) 는 보안 토큰에서 인코딩된 사용권한에 기초하여 클래스들의 다수의 변종들을 로딩하도록 구성된다. 보안 토큰은, 애플리케이션이 특정 컴퓨팅 디바이스상에 설치될 때, 사용자가 로그인 동작을 수행할 때, 또는 사용자의 보안 인증을 확립하는 임의의 다른 수단에 의해 발생될 수도 있다. 분산형 애플리케이션에서, 보안 토큰은 보안 (암호화된) 접속을 통한 원격 호출과 같은 원격 동작을 수행하기 위한 확립된 메커니즘을 이용하여 프로세스들 사이에서 통과될 수도 있다. 클래스로더 (14) 는, 보안 사용권한을 이용하여 어떤 변종이 로딩될지를 결정한다.
클래스를 로딩하기 위한 프로세스는 도 2 의 플로우차트 (100) 에 나타난다. 단계 (101) 에서, 로딩될 클래스에 대한 요건이 생성된다. 그후, 애플리케이션에 대한 보안 사용권한이 평가된다 (단계 102). 다음으로, 보안 사용권한에 관련된 요청 클래스의 클래스 변종이 취출되고 (단계 103) 로딩된다 (단계 104).
사용권한의 특정 세트는 클래스들의 특정 변종 세트에 매핑된다. 각각의 세트는 상이한 그룹의 클래스들을 포함할 수도 있다. 그러나, 애플리케이션에 의해 직접 액세스될 각각의 변종 클래스는, 동일한 명칭 및 명칭공간을 갖고, 동일한 공공 API 를 제공한다. 변종 클래스들의 각각의 세트는 개별적인 저장소, 예를 들어, 저장소 A (17), 저장소 B (18) 등 내에 포함된다. 클래스 저장소들은, 파일시스템 내에 국부적으로 위치될 수도 있고, 중앙 원격 서버로부터 네트워크를 통해서 이용가능할 수도 있다. 클래스로더 (14) 는 보안 사용권한을 이용하여 클래스들을 어느 저장소로부터 로딩할 것인지를 결정한다. 애플리케이션이 보안 사용권한을 조건으로 클래스에 대한 액세스를 요청하는 경우, 클래스로더는 애플리케이션의 사용권한에 기초하여 적절한 저장소로부터 클래스의 변종을 로딩할 것이다. 이는 보호된 성능의 우발적 또는 악의적 이용으로부터 시스템을 보호한다. 클래스의 각각의 변종이 정확한 명칭공간을 갖고 정확한 공공 API 를 제공하기 때문에, 애플리케이션 내에서 로딩되고 호출될 때 클래스가 적절하게 실행될 것이다.
클래스의 일 변종은 행정적 보안 사용권한을 갖는 사용자에 의해서만 액세스가능한 전체 성능을 제공하도록 코딩될 수도 있고, 동일한 클래스의 다른 변종은 리드-온리 (read-only) 보안 사용권한을 갖는 사용자에 의해 액세스가능한 축소된 기능을 제공하도록 코딩될 수도 있다. 예를 들어, 일 클래스 변종은 모든 사용자 계정의 생성 및 삭제를 지원할 수도 있고, 다른 클래스 변종은 계정 정보를 생성 또는 삭제가 아닌 업데이트하는 것을 지원할 수도 있으며, 제 3 클래스 변종은 현재 사용자에 대한 계정 정보를 관찰하는 것만을 지원할 수도 있다.
도 3 에서, 애플리케이션에 의해 클래스의 호출을 수행하기 위한 프로세스 (200) 가 나타난다. 단계 (201) 에서, 요청 핸들러 (15) 는 호출을 수신하고 단계 (202) 에서 호출로부터 보안 토큰을 디코딩한다. 보안 토큰이 유효하다고 가정하면 (단계 203), 클래스로더 (14) 는 보안 토큰에 표시된 보안 사용권한에 매칭하는 적절한 클래스 저장소로부터 클래스 변종을 취출한다 (단계 204). 그후, 취출된 클래스는 호출을 수행하도록 이용될 수도 있다 (단계 205).
클래스 인스턴스를 취출하는 프로세스가 도 4 의 플로우차트 (300) 에 나타난다. 단계 (301) 에서, 요청된 보안 사용권한 및 수행되는 클래스 동작에 기초하여 클래스 요건이 생성된다. 단계 (302) 에서 결정된 바와 같이 클래스가 사전에 로딩되었고 단계 (303) 에서 결정된 바와 같이 이용가능한 클래스의 인스턴스가 존재하는 경우, 관례대로 호출이 수행될 수도 있다 (305). 클래스 인스턴스가 이용가능하지 않지만 사전에 로딩되었던 경우, 호출을 수행하도록 (305) 진행하기 전에 단계 (304) 에서 클래스 인스턴스가 생성될 수 있다. 클래스가 사전에 로딩 (302) 되지 않은 경우, 클래스를 로딩하도록 이용되는 클래스로더가 단계 (306) 에서 결정된다. 각각의 클래스 저장소는 애플리케이션 내에 그 저장소만을 위한 별도의 클래스로더를 가질 수도 있다. 이는, 애플리케이션을 적절하게 침입차단시키도록 돕고, 동일한 애플리케이션 프로세스 내에 동일한 클래스의 다수의 변종들이 로딩되도록 허용한다. 이 클래스로더는, 예를 들어, 보안 토큰으로부터의 클래스 요건에 표시된 보안 사용권한에 기초하여 결정된다. 선택된 클래스로더가 이용가능한 경우 (307), 클래스가 로딩된다 (308). 클래스가 단계 (309) 에서 결정되는 것과 같이 성공적으로 로딩되는 경우, 클래스의 인스턴스가 생성되어 (304) 호출이 수행될 수 있다 (305).
애플리케이션이 시작될 때, 로컬 컴퓨팅 디바이스에 저장된 보안 사용권한의 세트를 로딩한다. 또한, 애플리케이션은, 수많은 클래스 저장소 및 각각의 저장소가 요구하는 사용권한을 인지하도록 구성된다. 그후, 애플리케이션은 각각의 저장소로부터 클래스들을 로딩하기 위해 보안 클래스로더들의 세트를 초기화한다. 각각의 보안 클래스로더는 저장소들 중 하나의 저장소로부터 클래스들을 로딩하도록 구성되고, 그 저장소에 의해 요청된 보안 사용권한에 대해 인지한다. 앞서 언급한 바와 같이, 클래스 저장소들은 컴퓨팅 디바이스에 대해 국부적으로 존재할 수도 있고, 또는 서버를 통해서 원격으로 액세스가능할 수도 있다.
애플리케이션은 하드웨어, 소프트웨어, 펌웨어 또는 하드웨어, 소프트웨어 및/또는 펌웨어의 조합으로 구현될 수도 있다. 하드웨어 실시형태에서, 애플리케이션은 도 5 에 도시된 바와 같이 메모리 (62) 와 동작가능하게 관련된 프로세서 (61) 상에서 실행될 수도 있다. 메모리 (62) 는 도 6 에 도시된 바와 같이 프로세서 (61) 에 의해 실행가능한 명령 세트 (400) 를 저장할 수도 있다. 명령 세트는 메모리 (62) 내에 저장될 수도 있는 보안 토큰을 프로세서 (61) 가 디코딩하도록 허용한다 (단계 401). 디코딩되면, 프로세서 (61) 는 보안 토큰에 표시된 보안 사용권한을 결정할 수도 있고 (단계 402), 그후, 보안 사용권한과 관련된 클래스 저장소를 선택할 수도 있다 (단계 403). 다음으로, 프로세서 (61) 는 선택된 저장소로부터 클래스를 로딩한다 (단계 403).
프로세서 (61) 는, 수많은 클래스 저장소들을 저장하는 메모리 (72) 와 관련된 클래스 저장소 프로세서와 같은 제 2 프로세서 (71) 와 통신할 수도 있다. 애플리케이션 프로세서 (61) 는 적절한 통신 링크 (65) 를 통해서 클래스 저장소 프로세서 (71) 에 클래스 요청을 전송할 수도 있다.
본 발명의 실시형태들이 첨부된 도면에서 예시되고 전술한 설명에서 설명되었지만, 본 발명은 개시된 실시형태들에 한정되지 않고, 후술하는 청구항에 의해 설명되고 정의되는 바와 같이 본 발명의 사상으로부터 벗어나지 않고 수많은 재배치, 변형, 및 치환할 수 있다는 것이 이해될 것이다. 예를 들어, 본 발명의 성능들은 하나 이상의 블록, 모듈, 프로세서 또는 메모리에 의해 전체적으로 및/또는 부분적으로 수행될 수 있다. 또한, 이러한 성능들은, 현재의 방식 또는 분산된 방식으로 수행될 수도 있고, 정보를 제공 및/또는 수신할 수 있는 임의의 디바이스 상에서 또는 임의의 디바이스를 경유하여 수행될 수도 있다. 또한, 특정 방식으로 나타나지만, 다양한 모듈들 또는 블록들은 본 발명의 범위를 벗어나지 않고 재배치될 수도 있다. 또한, 특정 방식으로 나타나지만, 더 많은 수 또는 더 적은 수의 모듈들 및 접속부들이 본 발명을 달성하기 위해, 본 발명에 추가적으로 공지된 특징을 제공하기 위해, 및/또는 본 발명을 더욱 효과적으로 만들기 위해, 본 발명을 통해서 활용될 수 있다. 또한, 다양한 모듈들 사이에서 전송된 정보는, 데이터 네트워크, 인터넷, 인터넷 프로토콜 네트워크, 무선 소스, 유선 소스 중 적어도 하나를 통해서 그리고 복수의 프로토콜들을 통해서 모듈들 사이에서 전송될 수 있다.
Claims (20)
- 애플리케이션 내의 클래스를 로딩하는 방법으로서,
클래스 요건을 결정하는 단계;
보안 사용권한 (security permission) 을 결정하는 단계;
상기 보안 사용권한과 관련된 요청 클래스의 클래스 변종 (class variant) 을 취출하는 단계; 및
상기 취출된 클래스 변종을 로딩하는 단계를 포함하는, 애플리케이션 내의 클래스를 로딩하는 방법. - 제 1 항에 있어서,
상기 보안 사용권한을 결정하는 단계는, 보안 토큰을 디코딩하는 단계를 포함하는, 애플리케이션 내의 클래스를 로딩하는 방법. - 제 1 항에 있어서,
상기 클래스 요건을 결정하는 단계는, 요청 핸들러에서 클래스 호출 (class invocation) 을 수신하는 단계를 포함하고,
상기 보안 사용권한을 결정하는 단계는, 상기 요청 핸들러에서 보안 토큰을 디코딩하는 단계를 포함하는, 애플리케이션 내의 클래스를 로딩하는 방법. - 제 1 항에 있어서,
상기 클래스 변종의 저장소를 선택하는 단계; 및
상기 선택된 저장소로부터 상기 클래스를 로딩하는 단계를 포함하는, 애플리케이션 내의 클래스를 로딩하는 방법. - 제 1 항에 있어서,
상기 클래스 요건으로부터 상기 보안 사용권한을 결정하는 단계를 포함하는, 애플리케이션 내의 클래스를 로딩하는 방법. - 제 1 항에 있어서,
클래스에 대한 복수의 클래스 변종들을 확립하는 단계; 및
각각의 클래스 변종을 보안 사용권한과 관련시키는 단계를 포함하는, 애플리케이션 내의 클래스를 로딩하는 방법. - 제 6 항에 있어서,
상기 클래스 변종들을 개별 저장소들 내에 저장하는 단계를 포함하는, 애플리케이션 내의 클래스를 로딩하는 방법. - 제 6 항에 있어서,
클래스의 각각의 클래스 변종은 동일한 명칭공간을 갖는, 애플리케이션 내의 클래스를 로딩하는 방법. - 제 6 항에 있어서,
각각의 클래스 변종은 동일한 공공 애플리케이션 프로그래밍 인터페이스를 제공하는, 애플리케이션 내의 클래스를 로딩하는 방법. - 제 6 항에 있어서,
제 1 클래스 변종은 제 1 기능을 제공하고,
제 2 클래스 변종은 상기 제 1 클래스 변종과 비교하여 축소된 기능을 제공하는, 애플리케이션 내의 클래스를 로딩하는 방법. - 제 6 항에 있어서,
각각의 보안 사용권한과 클래스 변종 저장소를 관련시키는 단계를 포함하는, 애플리케이션 내의 클래스를 로딩하는 방법. - 제 11 항에 있어서,
상기 클래스 변종들은, 동일한 보안 사용권한들을 갖는 하나 이상의 다른 클래스들의 클래스 변종들과 함께 저장소에 저장되는, 애플리케이션 내의 클래스를 로딩하는 방법. - 요청 핸들러; 및
적어도 하나의 클래스로더를 포함하고,
상기 요청 핸들러는:
클래스에 대한 요청을 프로세싱하고;
상기 애플리케이션의 보안 사용권한을 결정하도록 구성되고;
상기 클래스로더는 상기 보안 사용권한에 의존하여 클래스 변종을 로딩하도록 구성된, 애플리케이션. - 제 13 항에 있어서,
상기 클래스로더는:
상기 보안 사용권한에 의존하여 복수의 클래스 저장소들로부터의 클래스 저장소를 선택하고;
상기 선택된 클래스 저장소로부터 상기 클래스 변종을 로딩하도록 구성된, 애플리케이션. - 제 14 항에 있어서,
상기 복수의 클래스 저장소들을 포함하는, 애플리케이션. - 제 13 항에 있어서,
상기 요청 핸들러는 상기 보안 사용권한을 결정하기 위해 보안 토큰을 디코딩하도록 구성된, 애플리케이션. - 제 13 항에 있어서,
복수의 클래스들을 포함하고,
적어도 하나의 클래스는 복수의 클래스 변종들을 포함하는, 애플리케이션. - 제 17 항에 있어서,
제 1 클래스 변종은 제 1 기능을 제공하고,
제 2 클래스 변종은 상기 제 1 클래스 변종과 비교하여 축소된 기능을 제공하는, 애플리케이션. - 제 18 항에 있어서,
상기 제 1 클래스 변종은 제 1 보안 사용권한과 관련되고,
상기 제 2 클래스 변종은 제 2 보안 사용권한과 관련되는, 애플리케이션. - 프로세서에 의한 실행을 위해 컴퓨터-실행가능 명령들을 포함하는 컴퓨터-판독가능 매체로서,
실행될 때, 상기 프로세서로 하여금:
보안 토큰을 디코딩하고;
상기 보안 토큰으로부터 보안 사용권한을 결정하고;
상기 보안 사용권한과 관련된 클래스 저장소를 선택하고;
상기 선택된 클래스 저장소로부터 클래스를 로딩하게 하는, 컴퓨터-판독가능 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/629,934 | 2009-12-03 | ||
US12/629,934 US8677506B2 (en) | 2009-12-03 | 2009-12-03 | System and method for loading application classes |
PCT/US2010/055703 WO2011068630A1 (en) | 2009-12-03 | 2010-11-05 | System and method for loading application classes |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120083923A true KR20120083923A (ko) | 2012-07-26 |
KR101437249B1 KR101437249B1 (ko) | 2014-09-02 |
Family
ID=43417124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020127014145A KR101437249B1 (ko) | 2009-12-03 | 2010-11-05 | 애플리케이션 클래스들을 로딩하는 시스템 및 방법 |
Country Status (6)
Country | Link |
---|---|
US (2) | US8677506B2 (ko) |
EP (1) | EP2341457B1 (ko) |
JP (1) | JP5540109B2 (ko) |
KR (1) | KR101437249B1 (ko) |
CN (1) | CN102640159B (ko) |
WO (1) | WO2011068630A1 (ko) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8677506B2 (en) | 2009-12-03 | 2014-03-18 | Osocad Remote Limited Liability Company | System and method for loading application classes |
US8707449B2 (en) * | 2010-12-16 | 2014-04-22 | International Business Machines Corporation | Acquiring access to a token controlled system resource |
US20150277941A1 (en) * | 2014-02-06 | 2015-10-01 | Openpeak Inc. | Method and system for linking to shared library |
US10015164B2 (en) * | 2014-05-07 | 2018-07-03 | Cryptography Research, Inc. | Modules to securely provision an asset to a target device |
US9536073B2 (en) * | 2014-07-24 | 2017-01-03 | Google Technology Holdings LLC | Device-based application security |
KR102337990B1 (ko) * | 2014-09-18 | 2021-12-13 | 삼성전자주식회사 | 권한 설정 토큰을 이용하는 전자 장치 |
US9411618B2 (en) * | 2014-11-21 | 2016-08-09 | Red Hat, Inc. | Metadata-based class loading using a content repository |
WO2019217925A1 (en) | 2018-05-11 | 2019-11-14 | Lattice Semiconductor Corporation | Key provisioning systems and methods for programmable logic devices |
Family Cites Families (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5428729A (en) | 1991-12-20 | 1995-06-27 | International Business Machines Corporation | System and method for computer aided software engineering |
US5629980A (en) | 1994-11-23 | 1997-05-13 | Xerox Corporation | System for controlling the distribution and use of digital works |
FR2743235B1 (fr) * | 1995-12-27 | 1998-01-23 | Alsthom Cge Alcatel | Methode pour securiser les collaborations entre objets d'un programme oriente objet |
US5784463A (en) * | 1996-12-04 | 1998-07-21 | V-One Corporation | Token distribution, registration, and dynamic configuration of user entitlement for an application level security system and method |
US6044467A (en) * | 1997-12-11 | 2000-03-28 | Sun Microsystems, Inc. | Secure class resolution, loading and definition |
US6173404B1 (en) * | 1998-02-24 | 2001-01-09 | Microsoft Corporation | Software object security mechanism |
AUPP660298A0 (en) * | 1998-10-20 | 1998-11-12 | Canon Kabushiki Kaisha | Apparatus and method for preventing disclosure of protected information |
US7424543B2 (en) * | 1999-09-08 | 2008-09-09 | Rice Iii James L | System and method of permissive data flow and application transfer |
AU2001251701A1 (en) * | 2000-02-25 | 2001-09-03 | Identix Incorporated | Secure transaction system |
US7225145B2 (en) * | 2000-05-26 | 2007-05-29 | Ariba, Inc. | Method and system for providing multi-organization resource management |
US6981281B1 (en) * | 2000-06-21 | 2005-12-27 | Microsoft Corporation | Filtering a permission set using permission requests associated with a code assembly |
US6895586B1 (en) * | 2000-08-30 | 2005-05-17 | Bmc Software | Enterprise management system and method which includes a common enterprise-wide namespace and prototype-based hierarchical inheritance |
EP1386489B1 (en) * | 2001-03-23 | 2018-07-04 | Nederlandse Organisatie voor toegepast- natuurwetenschappelijk onderzoek TNO | Monitoring apparatus, computer program and network for secure data storage |
US7096491B2 (en) * | 2001-07-20 | 2006-08-22 | Hewlett-Packard Development Company, L.P. | Mobile code security architecture in an application service provider environment |
KR100450402B1 (ko) * | 2002-04-17 | 2004-09-30 | 한국전자통신연구원 | 컴퓨터 시스템에 있어서 보안속성을 갖는 토큰을 이용한접근 제어방법 |
JP3950010B2 (ja) | 2002-05-17 | 2007-07-25 | 株式会社エヌ・ティ・ティ・ドコモ | データ処理装置、プログラムおよび記録媒体 |
JP4629304B2 (ja) * | 2002-10-30 | 2011-02-09 | 株式会社エヌ・ティ・ティ・ドコモ | 通信装置、プログラムおよび記録媒体 |
US8271369B2 (en) * | 2003-03-12 | 2012-09-18 | Norman Gilmore | Financial modeling and forecasting system |
US20050262494A1 (en) * | 2004-05-18 | 2005-11-24 | Bea Systems, Inc. | Production redeployment through application versioning |
JP2006040146A (ja) | 2004-07-29 | 2006-02-09 | Nippon Telegr & Teleph Corp <Ntt> | ファイル実行システムとその方法 |
JP4584652B2 (ja) * | 2004-08-26 | 2010-11-24 | 株式会社リコー | 保管ルール管理装置、情報処理装置および保管ルール管理プログラム |
US20060047954A1 (en) * | 2004-08-30 | 2006-03-02 | Axalto Inc. | Data access security implementation using the public key mechanism |
US8458467B2 (en) * | 2005-06-21 | 2013-06-04 | Cisco Technology, Inc. | Method and apparatus for adaptive application message payload content transformation in a network infrastructure element |
US20060173974A1 (en) * | 2005-02-02 | 2006-08-03 | Victor Tang | System and method for providing mobile access to personal media |
US20070162961A1 (en) * | 2005-02-25 | 2007-07-12 | Kelvin Tarrance | Identification authentication methods and systems |
JP4135950B2 (ja) | 2005-06-09 | 2008-08-20 | インターナショナル・ビジネス・マシーンズ・コーポレーション | アクセス管理装置、アクセス管理方法、およびプログラム |
US20070011749A1 (en) * | 2005-07-11 | 2007-01-11 | Simdesk Technologies | Secure clipboard function |
US7647627B2 (en) * | 2005-08-24 | 2010-01-12 | Metasecure Corporation | System and methods for secure service oriented architectures |
US7908665B2 (en) * | 2006-01-23 | 2011-03-15 | Autodesk, Inc | Cloaked data objects in an electronic content management security system |
EP1936531A1 (en) * | 2006-12-20 | 2008-06-25 | Thomson Licensing | Methods and device for secure software installation |
US20080168528A1 (en) * | 2007-01-04 | 2008-07-10 | Dah-Haur Lin | Role-based authorization using conditional permissions |
US20080192643A1 (en) * | 2007-02-13 | 2008-08-14 | International Business Machines Corporation | Method for managing shared resources |
US8332939B2 (en) * | 2007-02-21 | 2012-12-11 | International Business Machines Corporation | System and method for the automatic identification of subject-executed code and subject-granted access rights |
JP4612010B2 (ja) | 2007-03-19 | 2011-01-12 | 株式会社エヌ・ティ・ティ・ドコモ | データ処理装置、プログラムおよび記録媒体 |
US8010973B2 (en) * | 2007-05-31 | 2011-08-30 | Calix, Inc. | Class loader for managing a network |
US8695056B2 (en) * | 2008-01-26 | 2014-04-08 | International Business Machines Corporation | Method for information tracking in multiple interdependent dimensions |
US7899058B2 (en) * | 2008-03-12 | 2011-03-01 | Telefonaktiebolaget L M Ericsson (Publ) | Using a hash value as a pointer to an application class in a communications device |
JP5037422B2 (ja) | 2008-04-30 | 2012-09-26 | 株式会社リコー | 画像形成装置、アクセス制御方法、及びアクセス制御プログラム |
US8229974B2 (en) * | 2008-08-05 | 2012-07-24 | Emc Corporation | Mechanisms to support fine-grain namespacing |
US7614047B1 (en) * | 2008-08-21 | 2009-11-03 | International Business Machines Corporation | Change indication for a service offering |
US20100312630A1 (en) * | 2009-06-08 | 2010-12-09 | Tammy Krutchik | Method and system for transmitting and redeeming electronic coupons through use of mobile device |
US8353009B2 (en) * | 2009-10-01 | 2013-01-08 | Nokia Corporation | Method and apparatus for providing context access with property and interface obfuscation |
US8677506B2 (en) | 2009-12-03 | 2014-03-18 | Osocad Remote Limited Liability Company | System and method for loading application classes |
JP5241797B2 (ja) | 2010-10-29 | 2013-07-17 | 中国電力株式会社 | 鋼管内部における器具の保持治具 |
-
2009
- 2009-12-03 US US12/629,934 patent/US8677506B2/en active Active
-
2010
- 2010-11-05 WO PCT/US2010/055703 patent/WO2011068630A1/en active Application Filing
- 2010-11-05 CN CN201080055128.8A patent/CN102640159B/zh active Active
- 2010-11-05 JP JP2012542027A patent/JP5540109B2/ja active Active
- 2010-11-05 KR KR1020127014145A patent/KR101437249B1/ko active IP Right Grant
- 2010-12-01 EP EP10193298.6A patent/EP2341457B1/en active Active
-
2014
- 2014-01-27 US US14/165,293 patent/US9075966B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20110138460A1 (en) | 2011-06-09 |
CN102640159B (zh) | 2015-05-13 |
US9075966B2 (en) | 2015-07-07 |
EP2341457B1 (en) | 2016-04-20 |
US8677506B2 (en) | 2014-03-18 |
WO2011068630A1 (en) | 2011-06-09 |
JP5540109B2 (ja) | 2014-07-02 |
EP2341457A3 (en) | 2012-06-27 |
US20140143895A1 (en) | 2014-05-22 |
EP2341457A2 (en) | 2011-07-06 |
KR101437249B1 (ko) | 2014-09-02 |
JP2013513161A (ja) | 2013-04-18 |
CN102640159A (zh) | 2012-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101437249B1 (ko) | 애플리케이션 클래스들을 로딩하는 시스템 및 방법 | |
US10681050B2 (en) | Ephemeral applications | |
CN106295255B (zh) | 应用程序的加固方法和装置 | |
US20150113640A1 (en) | Method and apparatus for program flow in software operation | |
US20140068276A1 (en) | Information processing apparatus | |
US20180343242A1 (en) | Protecting a web server against an unauthorized client application | |
US20210234686A1 (en) | Information processing device, information processing method, and storage medium | |
US20220092155A1 (en) | Protecting an item of software | |
US10719456B2 (en) | Method and apparatus for accessing private data in physical memory of electronic device | |
KR101203722B1 (ko) | 데이터 보호장치 및 그 방법 | |
CN106295327B (zh) | 可执行文件的加固方法和装置 | |
US20220277073A1 (en) | Secured computer code and systems, methods, and storage media for creating the secured computer code from original computer code | |
KR20220151126A (ko) | 하드웨어 신뢰 실행 환경들의 레이턴시 감소 | |
KR102538096B1 (ko) | 어플리케이션을 검증하는 디바이스 및 방법 | |
TWI446207B (zh) | The device and method used to load the app category | |
US10275592B2 (en) | Information processing device, information processing method, and computer program product | |
KR102548900B1 (ko) | 신뢰된 어플리케이션을 전자 디바이스에 설치하는 방법 및 장치 | |
CN115688134A (zh) | 一种程序文件加密和解密方法、装置及电子设备 | |
CN115904351A (zh) | 一种基于jssdk的业务逻辑实现方法、装置、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20170629 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180628 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190624 Year of fee payment: 6 |