KR20060073976A - Method and device for controlling installation of applications using operator root certificates - Google Patents
Method and device for controlling installation of applications using operator root certificates Download PDFInfo
- Publication number
- KR20060073976A KR20060073976A KR1020067008643A KR20067008643A KR20060073976A KR 20060073976 A KR20060073976 A KR 20060073976A KR 1020067008643 A KR1020067008643 A KR 1020067008643A KR 20067008643 A KR20067008643 A KR 20067008643A KR 20060073976 A KR20060073976 A KR 20060073976A
- Authority
- KR
- South Korea
- Prior art keywords
- operator
- communication device
- application
- identity
- trusted
- Prior art date
Links
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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
Abstract
Description
본 발명은 액세스가 통제되는 안전한 실행 환경을 구비한 장치에서의 어플리케이션 설치 제어 방법, 및 액세스가 통제되는 안전한 실행 환경을 구비한 통신 장치에 관한 것이다.The present invention relates to an application installation control method in a device having a secure execution environment in which access is controlled, and a communication device having a secure execution environment in which access is controlled.
모바일 통신 단말, 휴대형 컴퓨터, 및 PDA 등과 같은 다양한 전자 장치들은, 어플리케이션 프로그램, 암호 키, 암호 키 데이터 자료, 중간 암호 계산 결과, 패스워드, 외부에서 다운로드되는 데이터의 인증 수단 등과 같은 보안 관련 요소들로의 액세스를 필요로 한다. 이러한 요소들과 이들의 처리에 대해서는 전자 장치 안에서 비밀이 유지되어야 할 필요가 있다. 보안 관련 요소들이 알려지면 장치가 부당하게 침해당할 가능성이 있으므로, 상기 요소들과 그들의 처리는 가능한 한 극소수의 사람에게만 알려짐이 바람직하다. 이런 종류의 요소들에 대한 액세스는 사악한 의도를 가지고 단말을 조작하려는 침해자를 돕는 것이 될 수 있다. Various electronic devices, such as mobile communication terminals, portable computers, and PDAs, may include security-related elements such as application programs, cryptographic keys, cryptographic key data material, intermediate cryptographic calculation results, passwords, and means of authenticating externally downloaded data. Requires access These elements and their processing need to be kept secret within the electronic device. It is desirable that the elements and their processing be known only to as few people as possible, since the device could be unfairly compromised if security related elements are known. Access to these kinds of elements can be to assist the intruder to manipulate the terminal with evil intent.
따라서, 전자 장치 내 프로세스가 보안 관련 요소들을 액세스할 수 있는 보안 실행 환경이 도입된다. 보안 실행 환경에 대한 액세스, 그 안에서의 처리, 및 그로부터 빠져나오기는 신중하게 제어되어야 한다. 이러한 보안 환경을 구비하는 종래의 하드웨어는 보통, 변조 위험에 대한 내구성을 가진 (tamper resistant) 패키징 안에 포함된다. 이런 종류의 하드웨어에 대해서는 보안 관련 요소들과 이들의 처리에 대해 누설할 수도 있는 정밀 조사나 계측 및 테스트 수행을 할 수 없을 것이다. Thus, a secure execution environment is introduced in which processes within the electronic device can access security related elements. Access to, processing within, and exiting the secure execution environment must be carefully controlled. Conventional hardware with such a secure environment is usually included in tamper resistant packaging. For this kind of hardware, you won't be able to perform any scrutiny, instrumentation, or testing that might leak the security-related elements and their processing.
JSR 118 전문가 그룹에 의한, 버전 2.0의 자바 2 마이크로 판을 위한 "모바일 정보 장치 프로파일" (이후 MIDP 2.0 이라 칭함)이, 모바일 정보 장치(MID)들에 대한 개방된 제3자 어플리케이션 개발 환경을 가능하게 하기 위해 필요로 되는 개선된 구조 및 관련 어플리케이션 프로그램 인터페이스(API)들을 규정한다. MID의 예로는 셀룰라 폰, 양방향 호출기, 및 무선 PDA가 포함된다. 어떤 장치가 MID 어플리케이션이 신뢰할 수 있다고 판단할 때, 그 장치의 보안 정책이 지시하는 대로 액세스가 허용된다. 어플리케이션의 서명자를 입증함으로써 서명된 어플리케이션에 신뢰가 부여될 수도 있다.The "Mobile Information Device Profile" (hereinafter referred to as MIDP 2.0) for the Java 2 Micro Edition of Version 2.0 by the JSR 118 Expert Group enables an open third party application development environment for mobile information devices (MIDs). It defines the improved structure and associated application program interfaces (APIs) needed to enable this. Examples of MIDs include cellular phones, two-way pagers, and wireless PDAs. When a device determines that a MID application can be trusted, access is allowed as the device's security policy dictates. Trust may be granted to the signed application by verifying the signer of the application.
MIDP 2.0을 따르는 장치는 어플리케이션의 소스에 따라 어플리케이션들을 서로 다른 보호 도메인에 할당한다. 이 보호 도메인들은 다운로드된 어플리케이션의 서명자를 바탕으로 다운로드된 어플리케이션들을 구별하는데 사용된다. MIDP 2.0은 어플리케이션의 서명자에 따라 사용될 네 개의 서로 다른 도메인들, 즉, 제조자 도메인, 운영자 도메인, 제3자 도메인, 및 신뢰할 수 없는 자(untrusted) 도메인을 규정한다. 어플리케이션이 장치로 일단 다운로드되면, 장치 구성은 공공 키 기본구조(infrastructure) (PKI) 인증 방식을 토대로, 어플리케이션이 어느 도메인에 속하는지를 판단한다. 장치 내 각각의 보호 도메인은 어플리케이션이 인증되는 루트 인증서를 보유하며, 도메인은 루트 인증서를 일련의 승인과 결부한다. 승인은 보호 도메인 보안 정책을 통해 명시된다.Devices that follow MIDP 2.0 assign applications to different protection domains depending on the source of the application. These protection domains are used to distinguish downloaded applications based on the signer of the downloaded application. MIDP 2.0 defines four different domains to be used depending on the signer of the application: a manufacturer domain, an operator domain, a third party domain, and an untrusted domain. Once the application is downloaded to the device, the device configuration determines which domain the application belongs to based on the public key infrastructure (PKI) authentication scheme. Each protection domain in the device holds a root certificate to which the application is authenticated, and the domain associates the root certificate with a series of authorizations. Authorization is specified through the protection domain security policy.
신뢰할 수 있는 운영자 루트 인증서가, 운영자로부터 나온 어플리케이션들을 검증하는 데 사용된다. 이 운영자 루트 인증서는 장치의 SIM, WIM, 또는 USIM 등인 스마트 카드 내 특정 위치에 저장되며, 카드에 저장될 수 있는 운영자 루트 인증서들의 수에 대한 명시적 제한은 없다. 그러나, 운영자 루트 인증서가 SIM 등의 특정 위치에서 입수될 수 없다면, 운영자 도메인이 불능(disabled)임이 틀림없다. 이와 달리, 많은 운영자들이 운영자 루트 인증서들이 제공되는 SIM들을 갖지 못하므로, 운영자 루트 인증서가 장치의 다른 어디에 저장되지 않은 경우 운영자 도메인은 불능일 것이다. 통상적으로, 많은 운영자들이 단가(cost) 문제로 인해 운영자 루트 인증서가 제공되는 SIM들을 가지고 있지 못하기 때문에, 운영자 루트 인증서들은 장치 내 SIM 밖에 저장된다. 특정 운영자의 운영자 루트 인증서가 장치 안에 저장되어 있고 그 운영자에 의해 서명된 어플리케이션들이 장치에 도달했어도, 장치에 자리한 SIM이 상기 특정 운영자에 의해 발부되었을 경우에만 그 서명된 어플리케이션들이 장치의 보안 실행 환경 안에서 설치됨이 바람직하다. Trusted operator root certificates are used to verify applications from the operator. This operator root certificate is stored at a specific location within the smart card, such as the device's SIM, WIM, or USIM, and there is no explicit limit to the number of operator root certificates that can be stored on the card. However, if an operator root certificate cannot be obtained at a specific location, such as a SIM, then the operator domain must be disabled. In contrast, many operators do not have SIMs provided with operator root certificates, so the operator domain will be unavailable if the operator root certificate is not stored elsewhere on the device. Typically, operator root certificates are stored outside the SIM in the device because many operators do not have SIMs provided with an operator root certificate due to cost issues. Even if an operator's root certificate of a particular operator is stored in the device and applications signed by that operator have reached the device, the signed applications are not in the secure execution environment of the device only if the SIM located on the device has been issued by the particular operator. It is preferred to be installed.
장치의 운영자 도메인들의 구축과 관련한 종래 기술에서의 문제점은, 서로 다른 운영자 루트 인증서들이 장치 안에서 제조 상태로 저장되기 때문에, 특정 운영자의 운영자 루트 인증서가 장치에 저장된 경우에, 그 특정 운영자로부터 서명된 어플리케이션이 장치의 보안 실행 환경 안에서 성공적으로 인증 및 설치될 수 있다 는 데 있다. 이것은 MIDP 2.0 사양에 어긋나는 것임이 명백하므로, 그 사양의 보안 체계에 맞지 않는다. The problem with the prior art related to the construction of the device's operator domains is that if different operator root certificates are stored in the device in the manufacturing state, then the application signed by that particular operator when the operator's root certificate is stored on the device. It can be successfully authenticated and installed within the secure execution environment of this device. It is obvious that this is contrary to the MIDP 2.0 specification, so it does not meet the security scheme of that specification.
따라서 본 발명의 목적은 상기 문제를 해결하여, 서명된 어플리케이션에 대응되는 운영자 루트 인증서가, 장치에 위치하는 SIM 등인 스마트 카드를 발부했던 동일한 운영자에 의해 발부된 경우에만, 장치의 보안 실행 환경하에서 그 서명된 어플리케이션을 성공적으로 설치하는 해법을 제공한다. Accordingly, it is an object of the present invention to solve the above problem, so that an operator root certificate corresponding to a signed application is issued under the secure execution environment of the device only if it is issued by the same operator that issued the smart card, such as a SIM located on the device. It provides a solution to successfully install a signed application.
이러한 목적은 청구범위 1항에 따라 액세스가 통제되는 보안 실행 환경을 포함하는 통신 장치의 어플리케이션 설치 제어 방법 및, 청구범위 10항에 따라 액세스가 통제되는 보안 실행 환경을 포함하는 통신 장치에 의해 달성된다. 바람직한 실시예들은 그 종속항들에 의해 정의된다.This object is achieved by a method of controlling application installation of a communication device comprising a secure execution environment in which access is controlled in accordance with
본 발명의 제1양태에 따라, 어플리케이션이 통신 장치로 로드되는 방법이 제안된다. 통신 장치는 어플리케이션이 신뢰할 수 있는 운영자로부터 나온 것임을 검증하고, 상기 신뢰할 수 있는 운영자 및 통신 장치에 위치한 스마트 카드의 발급자를 식별한다. 또, 통신 장치는 상기 신뢰할 수 있는 운영자의 신원과 상기 스마트 카드 발급자의 신원을 비교하고, 상기 신뢰할 수 있는 운영자의 신원이 상기 스마트 카드 발급자의 신원에 해당하는 경우 그 검증된 어플리케이션을 통신 장치의 보안 실행 환경 안에서 설치한다. According to a first aspect of the invention, a method is proposed in which an application is loaded into a communication device. The communication device verifies that the application is from a trusted operator and identifies the issuer of the smart card located at the trusted operator and the communication device. Further, the communication device compares the identity of the trusted operator with the identity of the smart card issuer, and if the identity of the trusted operator corresponds to the identity of the smart card issuer, then the verified application secures the security of the communication device. Install in a runtime environment.
본 발명의 제2양태에 따른 통신 장치가 제공되고, 이 장치는, 어플리케이션을 통신 장치로 로드하고, 그 어플리케이션이 신뢰할 수 있는 운영자로부터 나온 것인지 검증하고, 그 신뢰할 수 있는 운영자와 통신 장치에 위치한 스마트 카드의 발급자를 식별하고, 그 신뢰할 수 있는 운영자의 신원을 상기 스마트 카드 발급자의 신원과 비교하고; 상기 신뢰할 수 있는 운영자의 신원이 상기 스마트 카드 발급자의 신원에 해당하는 경우 그 검증된 어플리케이션을 통신 장치의 보안 실행 환경 안에서 설치하는 수단을 포함한다.A communication device in accordance with a second aspect of the present invention is provided, which device loads an application into a communication device, verifies that the application is from a trusted operator, and which is located at the trusted operator and the communication device. Identify the issuer of the card and compare the identity of the trusted operator with the identity of the smart card issuer; Means for installing the verified application in the secure execution environment of the communication device if the identity of the trusted operator corresponds to the identity of the smart card issuer.
본 발명의 기본 개념은, 어플리케이션이 도착되어 모바일 통신 단말, PDA 또는 휴대형 컴퓨터 등의 장치 안에 로드될 때, 상기 장치가 그 어플리케이션이 신뢰할 수 있는 운영자로부터 나온 것인지를 검증한다는 데 있다. 신뢰할 수 있는 운영자란, 그 장치나 장치 제조자에 의해 어플리케이션을 그 장치로 제공해도 된다고, 즉, 운영자와 장치 제조자가 서로 상호 신용이 있다고 인증한 운영자이다. 검증한다는 것은, 신뢰할 수 있는 운영자로부터 발생되었다는 것을 그 어플리케이션이 안전한 방식으로 보장해야 한다는 것을 의미한다. 장치는 그 신뢰할 수 있는 운영자뿐 아니라, 장치 안에 위치한 SIM 등의 스마트 카드 발급자 역시 식별한다. 그에 따라, 장치는 그 신뢰할 수 있는 운영자의 신원을 상기 스마트 카드 발급자의 신원과 비교하고, 신뢰할 수 있는 운영자의 신원이 상기 스마트 카드 발급자의 신원에 해당하는 경우 앞서 검증된 그 어플리케이션이 통신 장치의 보안 실행 환경 안에서 설치된다. 본 발명은, 신뢰할 수 있는 운영자로부터 발생되었다고 검증된, 장치에 로드된 운영자 어플리케이션만이, 장치의 SIM 카드가 그 신뢰할 수 있는 동일한 운영자가 발급한 것일 때 장치의 보안 실행 환경에서 설치될 것이라는 장점을 가진다. 이것은 MIDP 2.0 사양을 따라 동작하는 장치들에 필수적인 것으로, 이러한 것이 없으면 장치들은 상기 사양에 위배되기 때문이다. The basic idea of the invention is that when an application arrives and is loaded into a device such as a mobile communication terminal, a PDA or a portable computer, the device verifies that the application is from a trusted operator. A trusted operator is an operator who may provide an application to the device by the device or the device manufacturer, that is, the operator and the device manufacturer have certified mutual trust. To verify means that the application must ensure in a secure manner that it originates from a trusted operator. The device identifies not only its trusted operator, but also the smart card issuer such as the SIM located within the device. Accordingly, the device compares the identity of the trusted operator with the identity of the smart card issuer, and if the identity of the trusted operator corresponds to the identity of the smart card issuer, then the previously verified application is configured to secure the communication device. Installed in the runtime environment. The present invention provides the advantage that only operator applications loaded on a device that have been verified as originating from a trusted operator will be installed in the device's secure execution environment when the device's SIM card is issued by the same trusted operator. Have This is essential for devices operating in accordance with the MIDP 2.0 specification, because without it, the devices would violate the specification.
본 발명의 실시예에 따르면, 장치에 로드되는 어플리케이션은 신뢰할 수 있는 운영자에 의해 서명된다. 어플리케이션이 신뢰할 수 있는 운영자로부터 나왔다는 검증은, 그 운영자가 신뢰할 수 있다는 것을 의미하는 어떤 운영자 인증서와 그 서명된 어플리케이션을 비교하는 인증을 통해 행해진다. 어플리케이션의 서명과 인증은 X.509 PKI 방식에 기반하여 이뤄진다. 운영자 인증서는, 장치에 저장되어 신뢰할 수 있는 운영자에 의해 발급된 서명된 어플리케이션에 부합한다. 이러한 실시예를 통해 어플리케이션들의 설치시 고도의 보안성을 보장하게 된다. 본 발명의 또 다른 실시예에 따르면, 신뢰할 수 있는 운영자의 식별은, 장치에서 운영자 인증서로부터 신뢰할 수 있는 운영자를 식별하는 제1운영자 식별자를 추출함으로써 수행된다. 또, 장치에 자리한 스마트 카드 발급자의 식별은, 스마트 카드의 국제 모바일 가입자 신원(IMSI, international mobile subscriber identity) 코드로부터 발급자, 즉, IMSI 코드에 존재하는 특정 운영자 ID를 식별하는 제2운영자 식별자를 추출함으로써 수행된다. 이것이 각개의 식별자들을 얻는 간편하고도 무리없는 방법이다.According to an embodiment of the invention, the application loaded on the device is signed by a trusted operator. Verification that an application is from a trusted operator is done through a certificate that compares the signed application with an operator certificate that means that the operator is trusted. The signature and authentication of the application is based on the X.509 PKI approach. The operator certificate corresponds to a signed application stored on the device and issued by a trusted operator. This embodiment ensures a high degree of security when installing applications. According to another embodiment of the present invention, the identification of the trusted operator is performed by extracting a first operator identifier identifying the trusted operator from the operator certificate in the device. In addition, the identification of the smart card issuer in the device extracts the issuer, that is, the second operator identifier that identifies the specific operator ID present in the IMSI code from the international mobile subscriber identity (IMSI) code of the smart card. Is performed. This is a simple and easy way to get individual identifiers.
본 발명의 다른 실시예에 따른, 서명된 어플리케이션의 인증, 즉 장치 SIM이 특정 운영자 루트 인증서 및 인증된 어플리케이션의 설치를 따르는지 여부를 체크하는 메커니즘은, 장치 내에 구현된 마이크로프로세서를 포함하고, 이 마이크로프로세서는 자바 구현 (Java implementation)을 실행한다. 이 실시예는, 이러한 것은 장치의 유연성을 보장한다는 점에서 바람직하다. 마이크로프로세서의 동작, 및 그에 따라 장치가 변형 또는 바뀔 필요가 있을 때, 이러한 것은 자바 구현을 수정함으로써 행해질 수 있다. 결국, 실제 장치의 하드웨어는 달라질 필요가 없다. 또한, MIDP 2.0 사양이 자바가 구현되는 플랫폼에 영향을 미친다.According to another embodiment of the present invention, a mechanism for authenticating a signed application, i.e., checking whether the device SIM follows the installation of a specific operator root certificate and a certified application, includes a microprocessor implemented in the device, and The microprocessor runs a Java implementation. This embodiment is preferred in that it ensures the flexibility of the device. When the operation of the microprocessor, and thus the device, needs to be modified or changed, this can be done by modifying the Java implementation. After all, the hardware of the actual device does not have to be different. The MIDP 2.0 specification also affects the platform on which Java is implemented.
본 발명의 또 다른 특성들 및 이점들에 대해서는 이하의 상세 설명과 첨부된 청구범위를 검토할 때 명확히 이해될 수 있을 것이다. 이 분야의 당업자라면 본 발명의 다른 특징들 역시 이하에 설명되는 실시예들 이외의 실시예들을 만드는데 더해질 수 있다는 것을 알 수 있을 것이다.Other features and advantages of the invention will be apparent from the following detailed description and the appended claims when reviewed. Those skilled in the art will appreciate that other features of the present invention may also be added to make embodiments other than the embodiments described below.
본 발명은 이하의 도면들을 참조하여 더 자세히 설명될 것이다.The invention will be explained in more detail with reference to the following figures.
도 1은 본 발명이 바람직하게 적용될 수 있는, 데이터 보안을 지원하기 위한 장치 구조의 블록도를 도시한다.1 shows a block diagram of an apparatus structure for supporting data security, to which the present invention may be preferably applied.
도 2는 본 발명이 바람직하게 적용될 수 있는, 탈부착 가능 스마트 카드가 추가 구성되는, 데이터 보안을 지원공하기 위한 장치 구조의 블록도를 도시한다.Figure 2 shows a block diagram of a device structure for supporting data security, in which a removable smart card is further configured, to which the present invention is preferably applied.
도 3은 본 발명의 실시예에 따른, 보안 실행 환경을 구비한 장치 내 어플리케이션 설치 제어에 관한 흐름도를 도시한다.3 illustrates a flow diagram for controlling application installation in a device with a secure execution environment, in accordance with an embodiment of the invention.
도 4는 본 발명의 다른 실시예에 따른, 보안 실행 환경을 구비한 장치 내 어플리케이션 설치 제어에 과한 흐름도를 도시한다.4 illustrates a flow diagram for controlling application installation in a device with a secure execution environment, in accordance with another embodiment of the present invention.
MIDP 2.0 사양에 따르는 데이터 보안을 지원하는 장치 구조가 도 1에 도시된다. 그러한 시스템에 대해서는 본 출원인의 국제 특허출원 PCT/IB02/03216에 개시 되었으며, 그 내용은 이 명세서 안에 참조 형태로 병합된다. 데이터 보안을 지원하기 위한 회로가 ASIC (Application Specific Integrated Circuit) (101) 형태로 구현된다. 이 구조의 처리 부분에 CPU(103) 및 디지털 신호 프로세서(DSP)(102)가 포함된다. ASIC(101)은 모바일 통신 단말, 휴대형 컴퓨터, PDA 등과 같은 전자 기기(100) 안에 포함되는 것으로, 기기(100)의 "뇌"라고 간주된다.A device structure supporting data security conforming to the MIDP 2.0 specification is shown in FIG. Such a system is disclosed in the Applicant's International Patent Application PCT / IB02 / 03216, the contents of which are incorporated herein by reference. Circuitry to support data security is implemented in the form of an Application Specific Integrated Circuit (ASIC) 101. The processing portion of this structure includes a
보안 환경(104)은 ASIC(101)이부팅되는 롬(105)을 포함한다. 이 롬(105)은 부팅 어플리케이션 소프트웨어 및 운용 시스템을 포함한다. 보안 환경(104) 내에 상주하는 소정 어플리케이션 프로그램들은 다른 어플리케이션 프로그램들에 우선한다. ASIC(101)이 구성되어 있을 수 있는 모바일 통신 단말에서, 부팅 소프트웨어가 존재할 것이고, 이 소프트웨어는 단말의 주 동작을 포함한다. 이 소프트웨어 없이는 단말이 정상적인 동작 모드로 부팅될 수 없다. 이 부팅 소프트웨어를 제어함으로써, 각 단말의 초기 동작을 제어할 수도 있다는 장점을 가진다.
보안 환경(104)은 데이터 및 어플리케이션들, 즉 보호용 데이터를 저장하기 위한 램(106) 역시 포함한다. RAM(106)은 보안 환경(104) 안에서 보안에 중요한 동작을 수행하기 위한, 보다 작은 사이즈의 어플리케이션들인, 보호된 어플리케이션이라 부르는 것들을 저장함이 바람직하나, 암호 키, 중간 암호 산출 결과 및 패스워드 같은 오브젝트들 역시 저장할 수 있다. 보통, 보호된 어플리케이션들을 활용하는 방법은, "보통의" 어플리케이션들로 하여금 소정의 보호된 어플리케이션으로부터 서비스들을 요청하게 하는 것이다. 새로운 보호된 어플리케이션들이 어느 때라도 보안 환경(104) 안에 다운로드될 수 있으나, 이러한 어플리케이션들이 ROM 에 상주하는 경우는 제외한다. 보안 환경(104) 소프트웨어는 보호된 어플리케이션들의 다운로드 및 실행을 제어한다. 서명된 보호된 어플리케이션들만이 실행 허여된다. 보호된 어플리케이션들은 보안 환경(104) 내 임의의 자원들을 액세스할 수 있고, 보안 서비스 제공을 위해 보통 어플리케이션들과 통신할 수도 있다.The
본 발명의 실시예에서, 보안 환경 소프트웨어는 자바가 MIDP 2.0 사양 하에 사용되는 언어일 때, 자바 구현을 포함한다. 장치가 MIDP 2.0 범위 밖에서 만족스럽게 기능하기 위해, 어떤 알맞은 언어라도 요청되는 기능을 구현하기 위해 사용될 수 있다.In an embodiment of the invention, the secure environment software includes a Java implementation when Java is a language used under the MIDP 2.0 specification. In order for the device to function satisfactorily outside the scope of MIDP 2.0, any suitable language may be used to implement the requested functionality.
보안 환경(104) 안에, 제조 중에 ASIC(101) 안에 생성 및 프로그램되는 고유한 랜덤 넘버를 포함하는 퓨즈(fuse) 메모리(107)가 포함된다. 랜덤 넘버는 특정 ASIC(101)의 신원으로서 사용되고, 더 나아가 암호 연산을 위한 키들을 도출하는데 사용된다. 또, 보안 제어 레지스터의 형식으로 저장 회로 액세스 제어 수단이 보안 환경(104) 안에 구성된다. 보안 제어 레지스터의 목적은, 레지스터의 모드 설정에 따라 CPU(103)를 보안 환경(104)에 액세스하게 하거나 CPU(103)를 보안 환경(104)에 액세스하지 못하게 막는 것이다. CPU(103)의 동작 모드는 어플리케이션 소프트웨어에 의해 레지스터에 설정될 수 있고, 그 결과 그 구성이 외부 신호들에 의존할 필요가 없게 된다. 보안 관점에서 볼 때, 이것은 어플리케이션 소프트웨어를 제어함으로써 프로세서 모드 설정 역시 제어될 수 있으므로 바람직하다. ASIC(101)에 연결된 외부 신호(미도시)가 있을 수도 있으며, 이 신호에 의해 보안 제어 레지스터를 설정하는 것이 가능하게 된다. 외부 신호를 이용함으로써, 모드 변경이 쉽고 빠르게 실행될 수 있고, 이것은 테스트 환경에 있어 유리한 것일 수 있다. 이러한 두 모드 설정 수단의 결합, 즉, 어플리케이션 소프트웨어와 외부 신호들의 결합 형태도 가능하다.Within the
이 구성은 버스(108) 상의 데이터 가시성을 제한하기 위한 표준 브리지 회로(109)를 더 포함한다. 이 구성은 변조 방지(tamper resistant) 패키지 안에 둘러싸일 것이다. 이러한 종류의 하드웨어는, 관련 구성 요소들 및 이들의 처리와 관련한 보안 사항을 누설하는 결과가 될 수 있는 검사나 측정 및 테스트 수행을 할 수 없다. DSP(102)는 DMA (direct memory access) 유닛, 램, 플래시 메모리 및 ASIC(101) 밖에서 제공될 수 있는 부가적 프로세서들과 같은 다른 주변기기들(110)에 액세스한다. This configuration further includes a
데이터 보안을 지원하기 위한 이러한 장치 구성의 다른 실시예가 도 2에 도시되며, 여기서 동일한 참조부호는 도 1과 관련해 설명한 동일한 구성 요소를 나타낸다. 도 1에 도시된 구성과 비교할 때, 도 2 구성에서의 차이는, 전자 기기(200)가, SIM 등, 역시 보안 환경이 고려되는 탈부착 가능 스마트 카드(211)를 포함해 구성된다는 데 있다. 보안 용도를 위해, 모바일 단말(200)과 스마트 카드(211)는 신뢰할 수 있는 인증 기관(CA)들에 의해 발급된 디지털 인증서들을 저장한다. 인증서들은, 모바일 단말(200) 및/또는 스마트 카드(211)와 통신하는 관계자들에게 특정 인증서의 보유자가, 신뢰가능한 해당 CA에 의해 인증되었다는 것을 보증하는데 사용된다. CA는 인증서에 서명하고, 인증서 보유자는 CA가 서명한 인증서가 유효한지를 검증하기 위해 CA의 비밀(private) 키에 대응하는 공공(public) 키를 보 유해야 한다. 이 경우, 서로 다른 CA들은 이를테면 자신들의 공공 키들을 교환하는 등의 어떤 통신을 서로 수행해야 한다. 인증서들은 이 분야의 당업자에게 잘 알려져 있으며, 잘 알려져 있는 표준 인증서는 CCITT 권고안 X.509에 포함된 인증서이다. Another embodiment of such a device configuration for supporting data security is shown in FIG. 2, where the same reference numerals represent the same components described with respect to FIG. Compared with the configuration shown in FIG. 1, the difference in the configuration of FIG. 2 is that the
MIDP 2.0 사양에 따르면, 인증서들은 다양한 CA들에 의해 발급될 수 있다. 즉, 신뢰할 수 있는 제조자들이 제조자 루트 인증서들을 발급하고, 신뢰할 수 있는 운영자들이 운영자 루트 인증서들을 발급하며, 신뢰할 수 있는 제3자들이 제3자 루트 인증서들을 발급한다. 이러한 인증서들은 보안 관련 구성요소들이므로, 인증서들 자체가 보안 환경 내에 저장되고, 이들에 대한 보안 관련 처리 역시 보안 환경 안에서 수행된다. 신뢰할 수 없는 어플리케이션은, 서명이 없거나 그와 유사한 신뢰할 수 있는 식별자와 함께 제공되지 않아서, 장치가 신뢰할 수 없는 어플리케이션을 말한다. 신뢰할 수 없는 어플리케이션을 실행할 때에는 주의를 요하는 접근 방식이 채택되어야 한다. 이들은 보안 실행 환경 밖에서 실행되어야 하고, 이들에게는 보안 요소에 대한 풀 액세스(full access)가 주어질 수 없다. 하나의 대안으로서, 이들이 보안 환경 인터페이스를 통해 정보를 교환하는 것이 허용되지 않을 수 있다. 또 다른 대안으로서, 엄격한 절차가 시행되는 경우, 신뢰할 수 없는 어플리케션들이 장치 안에 설치되는 것이 아예 허용되지 않을 수 있다. According to the MIDP 2.0 specification, certificates can be issued by various CAs. That is, trusted manufacturers issue manufacturer root certificates, trusted operators issue operator root certificates, and trusted third parties issue third-party root certificates. Since these certificates are security related components, the certificates themselves are stored in the security environment, and security related processing for them is also performed in the security environment. An untrusted application refers to an application that is not trusted by the device because it is not provided with a trusted identifier or similar signature. A careful approach should be taken when running untrusted applications. They must run outside the secure execution environment, and they cannot be given full access to secure elements. As one alternative, they may not be allowed to exchange information through the secure environment interface. As another alternative, where rigorous procedures are in place, unreliable applications may not be allowed to be installed in the device at all.
본 발명의 실시예에 따른 장치의 보안 실행 환경 내 어플리케이션들의 설치 제어에 대한 방법이 도 3에 도시된다. 한 어플리케이션이, 그 어플리케이션이 실제로 신뢰할 수 있는 운영자로부터 나온것이라는, 즉 보호된 어플리케이션이라는 어떤 유형의 보장과 함께 장치 안으로 로드된다(301 단계). 그러면, 장치의 CPU가 상기 보장 내용을 해석하여 그 어플리케이션이 신뢰할 수 있는 운영자로부터 나온 것인지를 검증한다(302 단계). 어플리케이션이 검증되었을 때, CPU는 그 어플리케이션이 발생된 신뢰할 수 있는 운영자를 식별한다(303 단계). 이 방법은 통신 장치에 자리한 SIM 등의 스마트 카드 발급자가 식별되는 304 단계로 계속 진행한다. CPU는 신뢰할 수 있는 운영자의 신원과 SIM 발급자의 신원을 비교하여, 두 개체들 간의 일치성을 비교한다(305 단계). 신뢰할 수 있는 운영자의 신원이 SIM 발급자의 신원과 일치하면, 즉, SIM 발급자가 그 어플리케이션 역시 발급했으면, 검증된 어플리케이션이 장치의 보안 실행 환경 안에서 설치된다(306 단계). 그러나, 306 단계에서, 신뢰할 수 있는 운영자의 신원이 SIM 발급자의 신원과 일치하지 않으면, 즉, SIM 발급자가 그 검증된 어플리케이션을 발급하지 않았으면, 그 검증된 어플리케이션은 장치의 보안 실행 환경 안에서 설치되지 않을 것이다.A method for controlling installation of applications in a secure execution environment of a device according to an embodiment of the present invention is shown in FIG. An application is loaded into the device with some type of assurance that the application is actually from a trusted operator, that is, a protected application (step 301). The CPU of the device then interprets the guarantee and verifies that the application is from a trusted operator (step 302). When the application is verified, the CPU identifies the trusted operator from which the application occurred (step 303). The method continues with
306 단계에서, 그 검증된 어플리케이션이 인증되었기 때문에, SIM의 발급자가 그 어플리케이션을 발급하지 않았어도 상기 어플리케이션은 장치의 보안 실행 환경 바깥에서 설치될 수 있다. 그에 따라, 위에서 설명한 것과 같이, 그 어플리케이션에는 보안 관련 요소들에 대한 제한된 액세스가 주어질 것이다. 이와 달리, 신뢰할 수 있는 운영자의 신원이 SIM 발급자의 신원과 일치하지 않을 때, 상기 검증된 어플리케이션이 장치에 아예 설치되지 않을 수도 있다.In
본 발명의 다른 실시예에 따라, 장치의 보안 실행 환경에서 어플리케이션 설치를 제어하는 방법이 도 4에 도시된다. 서명된 어플리케이션, 즉, 보호된 어플리 케이션이 장치 안에 로드된다(401 단계). 그러면 장치의 CPU가 그 서명된 어플리케이션과 장치에 저장된 운영자 루트 인증서를 비교하는 인증을 수행한다(402 단계). 이 운영자 루트 인증서는 그 어플리케이션에 서명한 동일한 운영자인 신뢰할 수 있는 운영자에 의해 발급된 것이다. 따라서, 인증서에는 그 신뢰할 수 있는 운영자가 어플리케이션에 서명할 때 사용되었던 비밀 키에 해당하는 공공 키가 포함된다. 도 4와 관련된 설명에서, (i) 어플리케이션이 실제로 서명되었고, (ii) 장치가 그 서명된 어플리케이션에 부합하는 운영자 루트 인증서를 보유한다는 것이 전제됨을 유의해야 한다. 어플리케이션이 서명되지 않은 경우, 즉, 그 어플리케이션이 신뢰할 수 없는 것인 경우, 이 방법은 어떤 어플리케이션 인증도 가능하지 않기 때문에 402 단계 이후 종료될 것이다. 선택 사항으로서, 앞에서 기술한 바와 같이, 신뢰할 수 없는 어플리케이션을 장치의 보안 실행 환경 바깥에서 설치할 수도 있다. 장치가 운영자 루트 인증서를 보유하지 않은 경우에도, 어플리케이션의 인증이 가능하지 않기 때문에, 이 방법은 다시 402 단계 이후 종료될 것이다.According to another embodiment of the invention, a method of controlling application installation in a secure execution environment of a device is shown in FIG. The signed application, that is, the protected application, is loaded into the device (step 401). The device's CPU then performs an authentication that compares the signed application with the operator root certificate stored in the device (step 402). This operator root certificate is issued by a trusted operator who is the same operator who signed the application. Thus, the certificate includes a public key corresponding to the secret key that was used when the trusted operator signed the application. In the description associated with FIG. 4, it should be noted that it is assumed that (i) the application is actually signed, and (ii) the device has an operator root certificate corresponding to the signed application. If the application is unsigned, that is, the application is not trusted, the method will end after
서명된 어플리케이션이 운영자 루트 인증서와 비교해 인증되었을 때, CPU는 그 운영자 인증서로부터 제1운영자 식별자를 추출한다(403 단계). 이 제1식별자는 운영자 루트 인증서를 발급한 신뢰할 수 있는 운영자를 식별한다. 이 방법은 장치에 위치한 SIM의 IMSI 코드로부터 제2운영자 식별자가 추출되는 404 단계로 진행한다. 이 제2식별자는 SIM 발급자를 식별한다. CPU는 제1운영자 식별자를 제2운영자 식별자와 비교하여, 그 두 식별자들 간 일치성을 체크한다(405 단계). 제1운영자 ID가 제2운영자 ID와 일치하면, 즉 SIM 발급자가 그 어플리케이션에 서명도 한 경우, 그 인증된 어플리케이션이 장치의 보안 실행 환경 안에서 설치된다(406 단계). 그러나, 406 단계에서 제1운영자 ID가 제2운영자 ID와 일치하지 않으면, 즉, SIM 발급자가 상기 어플리케이션에 서명하지 않았으면, 상기 인증된 어플리케이션은 장치의 보안 실행 환경 안에서 설치되지 않을 것이다. 406 단계에서, 서명된 어플리케이션이 인증되었으므로, SIM 발급자가 그 어플리케이션에 서명하지 않았더라도, 그 어플리케이션은 장치의 보안 실행 환경 밖에서 설치될 수 있다는 것을 알아야 한다. 그에 따라, 상술한 바와 같이, 그 어플리케이션에는 보안 관련 요소들에 대한 제한된 액세스가 주어질 것이다. 다시, 신뢰할 수 있는 운영자의 신원이 SIM 발급자의 신원과 일치하지 않으면, 검증된 어플리케이션이 장치에 아예 설치되지 않을 수도 있을 것이다.When the signed application is authenticated against the operator root certificate, the CPU extracts the first operator identifier from the operator certificate (step 403). This first identifier identifies the trusted operator who issued the operator root certificate. The method proceeds to step 404 where a second operator identifier is extracted from the IMSI code of the SIM located in the device. This second identifier identifies the SIM issuer. The CPU compares the first operator identifier with the second operator identifier and checks for correspondence between the two identifiers (step 405). If the first operator ID matches the second operator ID, that is, if the SIM issuer also signed the application, the authenticated application is installed in the secure execution environment of the device (step 406). However, if at
본 발명이 특정한 전형적 실시예들을 참조해 설명되었으나, 이 분야의 당업자라면 그에 대한 여러 상이한 변형, 수정, 및 유사한 것이 있을 수 있다는 것을 잘 알 것이다. 따라서 상술한 실시예들은 첨부된 청구항들이 규정하는 것 같은 본 발명의 범위를 제한하도록 의도한 것이 될 수 없다.While the present invention has been described with reference to specific exemplary embodiments, those skilled in the art will recognize that there may be many different variations, modifications, and similar thereto. Accordingly, the foregoing embodiments are not intended to limit the scope of the invention as defined by the appended claims.
Claims (18)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020067008643A KR100862389B1 (en) | 2006-05-03 | 2003-11-07 | Method and device for controlling installation of applications using operator root certificates |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020067008643A KR100862389B1 (en) | 2006-05-03 | 2003-11-07 | Method and device for controlling installation of applications using operator root certificates |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060073976A true KR20060073976A (en) | 2006-06-29 |
KR100862389B1 KR100862389B1 (en) | 2008-10-13 |
Family
ID=37166781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020067008643A KR100862389B1 (en) | 2006-05-03 | 2003-11-07 | Method and device for controlling installation of applications using operator root certificates |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100862389B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100723693B1 (en) * | 2005-06-20 | 2007-05-30 | 에스케이 텔레콤주식회사 | Method and System for Controlling Application Download by Using Mobile Communication Terminal Equipped with Code Signing Module |
KR20160027951A (en) * | 2013-07-10 | 2016-03-10 | 소니 주식회사 | Reception device, reception method, and transmission method |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998043212A1 (en) * | 1997-03-24 | 1998-10-01 | Visa International Service Association | A system and method for a multi-application smart card which can facilitate a post-issuance download of an application onto the smart card |
EP1361527A1 (en) | 2002-05-07 | 2003-11-12 | Sony Ericsson Mobile Communications AB | Method for loading an application in a device, device and smart card therefor |
-
2003
- 2003-11-07 KR KR1020067008643A patent/KR100862389B1/en active IP Right Grant
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100723693B1 (en) * | 2005-06-20 | 2007-05-30 | 에스케이 텔레콤주식회사 | Method and System for Controlling Application Download by Using Mobile Communication Terminal Equipped with Code Signing Module |
KR20160027951A (en) * | 2013-07-10 | 2016-03-10 | 소니 주식회사 | Reception device, reception method, and transmission method |
Also Published As
Publication number | Publication date |
---|---|
KR100862389B1 (en) | 2008-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7594108B2 (en) | Operator root certificates | |
US8301911B2 (en) | Key storage administration | |
KR100851631B1 (en) | Secure mode controlled memory | |
US9111097B2 (en) | Secure execution architecture | |
EP2063378B1 (en) | Telecommunications device security | |
KR101204726B1 (en) | Secure dynamic loading | |
JP4417952B2 (en) | Method and system for performing tests on devices and devices | |
US20090319793A1 (en) | Portable device for use in establishing trust | |
US8028164B2 (en) | Practical and secure storage encryption | |
CN106295350B (en) | identity verification method and device of trusted execution environment and terminal | |
JP2007535015A (en) | Security protection method for access to protected resources of processor | |
KR102114432B1 (en) | Integrated subscriber identification module with core OS and application OS | |
US20030059049A1 (en) | Method and apparatus for secure mobile transaction | |
KR100862389B1 (en) | Method and device for controlling installation of applications using operator root certificates | |
CN117063174A (en) | Security module and method for inter-app trust through app-based identity | |
EP1535124B1 (en) | Computer architecture for executing a program in a secure of insecure mode | |
KR20150043954A (en) | Access control system and method to security engine of mobile terminal | |
US7287161B2 (en) | Method and system for testing a program, and a device | |
KR100823631B1 (en) | Key storage administration | |
EP4304226A1 (en) | Provisioning of security modules | |
US20050198496A1 (en) | Method, electronic device, computer program product of determining a protection domain | |
CN115499838A (en) | Communication method, device, equipment, system and storage medium based on eSIM card |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120924 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20130926 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20140923 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20150918 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20160920 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20170919 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20180918 Year of fee payment: 11 |