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 PDF

Info

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
Application number
KR1020067008643A
Other languages
Korean (ko)
Other versions
KR100862389B1 (en
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 KR1020067008643A priority Critical patent/KR100862389B1/en
Publication of KR20060073976A publication Critical patent/KR20060073976A/en
Application granted granted Critical
Publication of KR100862389B1 publication Critical patent/KR100862389B1/en

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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • 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
    • 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

The present invention relates to a method of controlling installation of applications in a communication device (100, 200) and a communication device (100, 200) comprising a secure execution environment (104, 204, 211) to which access is strictly controlled. The idea of the invention is that when an application is loaded into the device, the device verifies that the application originates from a trusted operator. The verification implies that the application must, in a secure manner, ensure the device that it originates from the trusted operator. The device identifies the trusted operator as well as the issuer of a SIM (211) located in the device. Thereafter, the device compares the identity of the trusted operator with the identity of the issuer of the SIM, and if the identity of said trusted operator corresponds to the identity of the issuer of the SIM, the previously verified application is installed in the secure execution environment of the device.

Description

운영자 루트 인증서를 이용하여 어플리케이션 설치를 제어하는 방법 및 장치{Method and device for controlling installation of applications using operator root certificates}Method and device for controlling installation of applications using operator root certificates}

본 발명은 액세스가 통제되는 안전한 실행 환경을 구비한 장치에서의 어플리케이션 설치 제어 방법, 및 액세스가 통제되는 안전한 실행 환경을 구비한 통신 장치에 관한 것이다.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 claim 1 and a communication device comprising a secure execution environment in which access is controlled in accordance with claim 10. . Preferred embodiments are defined by the dependent claims.

본 발명의 제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 CPU 103 and a digital signal processor (DSP) 102. The ASIC 101 is included in an electronic device 100 such as a mobile communication terminal, a portable computer, a PDA, or the like, and is considered a "brain" of the device 100.

보안 환경(104)은 ASIC(101)이부팅되는 롬(105)을 포함한다. 이 롬(105)은 부팅 어플리케이션 소프트웨어 및 운용 시스템을 포함한다. 보안 환경(104) 내에 상주하는 소정 어플리케이션 프로그램들은 다른 어플리케이션 프로그램들에 우선한다. ASIC(101)이 구성되어 있을 수 있는 모바일 통신 단말에서, 부팅 소프트웨어가 존재할 것이고, 이 소프트웨어는 단말의 주 동작을 포함한다. 이 소프트웨어 없이는 단말이 정상적인 동작 모드로 부팅될 수 없다. 이 부팅 소프트웨어를 제어함으로써, 각 단말의 초기 동작을 제어할 수도 있다는 장점을 가진다. Secure environment 104 includes ROM 105 from which ASIC 101 is booted. This ROM 105 includes boot application software and an operating system. Certain application programs residing within the secure environment 104 take precedence over other application programs. In a mobile communication terminal, where the ASIC 101 may be configured, there will be boot software, which includes the main operation of the terminal. Without this software, the terminal cannot boot into its normal operating mode. By controlling this booting software, it is possible to control the initial operation of each terminal.

보안 환경(104)은 데이터 및 어플리케이션들, 즉 보호용 데이터를 저장하기 위한 램(106) 역시 포함한다. RAM(106)은 보안 환경(104) 안에서 보안에 중요한 동작을 수행하기 위한, 보다 작은 사이즈의 어플리케이션들인, 보호된 어플리케이션이라 부르는 것들을 저장함이 바람직하나, 암호 키, 중간 암호 산출 결과 및 패스워드 같은 오브젝트들 역시 저장할 수 있다. 보통, 보호된 어플리케이션들을 활용하는 방법은, "보통의" 어플리케이션들로 하여금 소정의 보호된 어플리케이션으로부터 서비스들을 요청하게 하는 것이다. 새로운 보호된 어플리케이션들이 어느 때라도 보안 환경(104) 안에 다운로드될 수 있으나, 이러한 어플리케이션들이 ROM 에 상주하는 경우는 제외한다. 보안 환경(104) 소프트웨어는 보호된 어플리케이션들의 다운로드 및 실행을 제어한다. 서명된 보호된 어플리케이션들만이 실행 허여된다. 보호된 어플리케이션들은 보안 환경(104) 내 임의의 자원들을 액세스할 수 있고, 보안 서비스 제공을 위해 보통 어플리케이션들과 통신할 수도 있다.The secure environment 104 also includes a RAM 106 for storing data and applications, i. RAM 106 preferably stores smaller sized applications, called protected applications, for performing security-critical operations within secure environment 104, but objects such as cryptographic keys, intermediate cryptographic results and passwords. Can save too. Usually, a method of utilizing protected applications is to have "normal" applications request services from some protected application. New protected applications may be downloaded into the secure environment 104 at any time, except where such applications reside in ROM. Secure environment 104 software controls the download and execution of protected applications. Only signed protected applications are allowed to run. Protected applications may access any resources in the secure environment 104 and may communicate with normal applications to provide security services.

본 발명의 실시예에서, 보안 환경 소프트웨어는 자바가 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 secure environment 104, a fuse memory 107 is included that includes a unique random number that is generated and programmed into the ASIC 101 during manufacture. The random number is used as the identity of the particular ASIC 101 and further used to derive keys for cryptographic operations. In addition, the storage circuit access control means is configured in the security environment 104 in the form of a security control register. The purpose of the security control register is to allow the CPU 103 to access the secure environment 104 or prevent the CPU 103 from accessing the secure environment 104 in accordance with the mode setting of the register. The operating mode of the CPU 103 can be set in a register by the application software, so that the configuration does not need to depend on external signals. From a security point of view, this is desirable because the processor mode setting can also be controlled by controlling the application software. There may be an external signal (not shown) connected to the ASIC 101, which makes it possible to set the security control register. By using an external signal, the mode change can be easily and quickly executed, which may be advantageous for the test environment. It is also possible to combine these two mode setting means, that is, a combination of application software and external signals.

이 구성은 버스(108) 상의 데이터 가시성을 제한하기 위한 표준 브리지 회로(109)를 더 포함한다. 이 구성은 변조 방지(tamper resistant) 패키지 안에 둘러싸일 것이다. 이러한 종류의 하드웨어는, 관련 구성 요소들 및 이들의 처리와 관련한 보안 사항을 누설하는 결과가 될 수 있는 검사나 측정 및 테스트 수행을 할 수 없다. DSP(102)는 DMA (direct memory access) 유닛, 램, 플래시 메모리 및 ASIC(101) 밖에서 제공될 수 있는 부가적 프로세서들과 같은 다른 주변기기들(110)에 액세스한다. This configuration further includes a standard bridge circuit 109 for limiting data visibility on the bus 108. This configuration will be enclosed in a tamper resistant package. This kind of hardware is not capable of performing inspections, measurements, and tests that could result in the disclosure of related components and the security concerns associated with their processing. DSP 102 accesses other peripherals 110 such as direct memory access (DMA) units, RAM, flash memory, and additional processors that may be provided outside ASIC 101.

데이터 보안을 지원하기 위한 이러한 장치 구성의 다른 실시예가 도 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 electronic device 200 includes a removable smart card 211 such as a SIM, which is also considered a security environment. For security purposes, mobile terminal 200 and smart card 211 store digital certificates issued by trusted certificate authorities (CAs). The certificates are used to assure the parties communicating with the mobile terminal 200 and / or the smart card 211 that the holder of a particular certificate has been authenticated by the trusted CA. The CA signs the certificate, and the certificate holder must have a public key that corresponds to the CA's private key to verify that the certificate signed by the CA is valid. In this case, different CAs must perform some communication with each other, such as exchanging their public keys. Certificates are well known to those skilled in the art, and the well-known standard certificates are those contained in CCITT Recommendation X.509.

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 step 304 where a smart card issuer, such as a SIM, located in a communication device is identified. The CPU compares the identity of the trusted operator with the identity of the SIM issuer to compare the correspondence between the two entities (step 305). If the identity of the trusted operator matches the identity of the SIM issuer, that is, if the SIM issuer also issued the application, then the verified application is installed in the secure execution environment of the device (step 306). However, in step 306, if the identity of the trusted operator does not match the identity of the SIM issuer, that is, if the SIM issuer has not issued the verified application, the verified application is not installed in the secure execution environment of the device. Will not.

306 단계에서, 그 검증된 어플리케이션이 인증되었기 때문에, SIM의 발급자가 그 어플리케이션을 발급하지 않았어도 상기 어플리케이션은 장치의 보안 실행 환경 바깥에서 설치될 수 있다. 그에 따라, 위에서 설명한 것과 같이, 그 어플리케이션에는 보안 관련 요소들에 대한 제한된 액세스가 주어질 것이다. 이와 달리, 신뢰할 수 있는 운영자의 신원이 SIM 발급자의 신원과 일치하지 않을 때, 상기 검증된 어플리케이션이 장치에 아예 설치되지 않을 수도 있다.In step 306, because the verified application has been authenticated, the application may be installed outside the secure execution environment of the device even if the issuer of the SIM did not issue the application. As such, the application will be given limited access to security related elements, as described above. Alternatively, when the identity of the trusted operator does not match the identity of the SIM issuer, the verified application may not be installed at all on the device.

본 발명의 다른 실시예에 따라, 장치의 보안 실행 환경에서 어플리케이션 설치를 제어하는 방법이 도 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 step 402 because no application authentication is possible. Optionally, as previously described, untrusted applications can be installed outside the secure execution environment of the device. Even if the device does not have an operator root certificate, the method will again end after step 402 because the authentication of the application is not possible.

서명된 어플리케이션이 운영자 루트 인증서와 비교해 인증되었을 때, 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 step 406 the first operator ID does not match the second operator ID, that is, the SIM issuer has not signed the application, the authenticated application will not be installed in the secure execution environment of the device. In step 406, since the signed application has been authenticated, it should be appreciated that the application can be installed outside the secure execution environment of the device even if the SIM issuer has not signed the application. Thus, as discussed above, the application will be given limited access to security related elements. Again, if the identity of the trusted operator does not match the identity of the SIM issuer, then a verified application may not be installed on the device at all.

본 발명이 특정한 전형적 실시예들을 참조해 설명되었으나, 이 분야의 당업자라면 그에 대한 여러 상이한 변형, 수정, 및 유사한 것이 있을 수 있다는 것을 잘 알 것이다. 따라서 상술한 실시예들은 첨부된 청구항들이 규정하는 것 같은 본 발명의 범위를 제한하도록 의도한 것이 될 수 없다.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)

액세스가 통제되는 보안 실행 환경(104, 204, 211)을 구비하는 통신 장치(100, 200)에서의 어플리케이션 설치 제어 방법에 있어서, A method of controlling application installation in a communication device (100, 200) having a secure execution environment (104, 204, 211) in which access is controlled, 어플리케이션을 통신 장치로 로드하는 단계(301); Loading (301) the application into the communication device; 통신 장치에서, 상기 어플리케이션이 신뢰할 수 있는(trusted) 운영자로부터 발생된 것인지를 검증하는 단계(302);Verifying (302) at the communication device whether the application originated from a trusted operator; 통신 장치에서, 상기 신뢰할 수 있는 운영자를 식별하는 단계(303);At a communication device, identifying (303) the trusted operator; 통신 장치에서, 통신 장치에 위치한 스마트 카드(211)의 발급자를 식별하는 단계(304);Identifying, at the communication device, an issuer of the smart card 211 located at the communication device (304); 통신 장치에서, 상기 신뢰할 수 있는 운영자의 신원과 상기 스마트 카드 발급자의 신원을 비교하는 단계(305); 및At a communication device, comparing (305) the identity of the trusted operator with the identity of the smart card issuer; And 상기 신뢰할 수 있는 운영자의 신원이 상기 스마트 카드 발급자 신원과 일치하면, 상기 검증된 어플리케이션을 통신 장치의 보안 실행 환경 안에서 설치하는 단계(306)를 포함함을 특징으로 하는 어플리케이션 설치 제어 방법. If the identity of the trusted operator matches the smart card issuer identity, installing (306) the verified application in a secure execution environment of a communication device. 제1항에 있어서, 통신 장치(100, 200)로 로드되는(401) 어플리케이션은 상기 신뢰할 수 있는 운영자에 의해 서명된 것이고, 그 어플리케이션이 신뢰할 수 있는 운영자로부터 나온 것인지를 검증하는 상기 단계는,The method of claim 1, wherein the application loaded 401 into the communication device 100, 200 is signed by the trusted operator and the step of verifying that the application is from a trusted operator comprises: 상기 서명된 어플리케이션을, 통신 장치에 저장되어 있고 상기 신뢰할 수 있 는 운영자가 발급한 것으로 상기 서명된 어플리케이션에 대응하는 운영자 인증서와 비교해 인증하는 단계(402)를 포함함을 특징으로 하는 어플리케이션 설치 제어 방법.And comparing (402) the signed application with an operator certificate stored in a communication device and issued by the trusted operator, the operator certificate corresponding to the signed application. . 제2항에 있어서, 상기 신뢰할 수 있는 운영자를 식별하는 단계는, The method of claim 2, wherein identifying the trusted operator comprises: 상기 운영자 인증서로부터, 상기 신뢰할 수 있는 운영자를 식별하는 제1운영자 식별자를 추출하는 단계(403)를 포함함을 특징으로 하는 어플리케이션 설치 제어 방법.Extracting (403) a first operator identifier identifying the trusted operator from the operator certificate. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 통신 장치(100, 200)에 위치한 스마트 카드(211)의 발급자를 식별하는 단계는, According to any one of claims 1 to 3, wherein the step of identifying the issuer of the smart card 211 located in the communication device (100, 200), 상기 스마트 카드의 신원 코드로부터, 상기 스마트 카드를 발급했던 운영자를 식별하는 제2운영자 식별자를 추출하는 단계(404)를 포함함을 특징으로 하는 어플리케이션 설치 제어 방법. And extracting (404) a second operator identifier identifying the operator who issued the smart card from the identity code of the smart card. 제4항에 있어서, 상기 신원 코드는 IMSI 코드를 포함함을 특징으로 하는 어플리케이션 설치 제어 방법.5. The method of claim 4, wherein said identity code comprises an IMSI code. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 단계들은 통신 장치에 구비되어, 자바 구현(Java implementation)을 실행하는 마이크로프로세서(103, 203)에 의해 수행됨을 특징으로 하는 어플리케이션 설치 제어 방법.The method according to any one of claims 1 to 5, wherein the steps are performed by microprocessors (103, 203) provided in a communication device and executing a Java implementation. . 제1항 내지 제6항 중 어느 한 항에 있어서, 상기 통신 장치(100, 200)는 모바일 통신 단말기임을 특징으로 하는 어플리케이션 설치 제어 방법.The method according to any one of claims 1 to 6, wherein the communication device (100, 200) is a mobile communication terminal. 제1항 내지 제7항 중 어느 한 항에 있어서, 상기 스마트 카드(211)는 SIM, WIM, 또는 USIM임을 특징으로 하는 어플리케이션 설치 제어 방법.The method according to any one of claims 1 to 7, wherein the smart card (211) is a SIM, a WIM, or a USIM. 제1항 내지 제8항 중 어느 한 항에 있어서, 상기 통신 장치(100, 200)는 데이터 보안을 제공하기 위한 회로(101, 201)를 구비하고, 상기 회로(101, 201)는 적어도 한 개의 프로세서(103, 203) 및 적어도 한 개의 저장 회로(104, 204, 211)를 포함하며, 상기 회로(101, 201)는,9. The communication device (100, 200) according to any one of the preceding claims, wherein the communication device (100, 200) comprises circuits (101, 201) for providing data security, wherein the circuits (101, 201) are at least one. A processor (103, 203) and at least one storage circuit (104, 204, 211), the circuit (101, 201), 상기 저장 회로(104, 204, 211) 안에, 통신 장치 보안과 관련된 보호된(protected) 데이터가 위치하는 적어도 한 저장 영역;At least one storage area in said storage circuitry (104, 204, 211) in which protected data relating to communication device security is located; 상기 프로세서 동작 모드를 바꿀 수 있어, 적어도 서로 다른 두 동작 모드 중 한 모드로 상기 프로세서를 설정하도록 된 모드 설정 수단;Mode setting means for changing the processor operating mode to set the processor to one of at least two different operating modes; 제1프로세서 동작 모드가 설정될 때 상기 프로세서로 하여금 상기 보호된 데이터가 위치하는 상기 저장 영역을 액세스하도록 하는 저장 회로 액세스 제어 수단; 및Storage circuit access control means for causing the processor to access the storage area in which the protected data is located when a first processor operating mode is set; And 제2프로세서 동작 모드가 설정될 때 상기 프로세서가 상기 보호된 데이터가 위치된 상기 저장 영역을 액세스하는 것을 금비시키도록 하는 저장 회로 액세스 제어 수단을 포함함을 특징으로 하는 어플리케이션 설치 제어 방법. Storage circuit access control means for preventing the processor from accessing the storage area in which the protected data is located when a second processor operating mode is set. 액세스가 엄격하게통제되는 보안 실행 환경(104, 204, 211)을 구비하는 통신 장치(100, 200)에 있어서, A communication device (100, 200) having a secure execution environment (104, 204, 211) in which access is strictly controlled, 어플리케이션을 통신 장치로 로드하고, 그 어플리케이션이 신뢰할 수 있는 운영자로부터 나온 것인지 검증하고, 그 신뢰할 수 있는 운영자와 통신 장치에 위치한 스마트 카드(211)의 발급자를 식별하고, 그 신뢰할 수 있는 운영자의 신원을 상기 스마트 카드 발급자의 신원과 비교하고, 상기 신뢰할 수 있는 운영자의 신원이 상기 스마트 카드 발급자의 신원과 일치하는 경우 그 검증된 어플리케이션을 통신 장치의 보안 실행 환경 안에서 설치하는 수단(103, 203)을 포함함을 특징으로 하는 통신 장치.Load the application into the communication device, verify that the application is from a trusted operator, identify the trusted operator and the issuer of the smart card 211 located on the communication device, and identify the trusted operator's identity. Means (103, 203) for comparing the identity of the smart card issuer and installing the verified application in the secure execution environment of the communication device if the identity of the trusted operator matches the identity of the smart card issuer. Communication device characterized in that. 제10항에 있어서, 상기 통신 장치로 로드되는 어플리케이션은 상기 신뢰할 수 있는 운영자에 의해 서명된 것이고, The method of claim 10, wherein the application loaded into the communication device is signed by the trusted operator, 상기 수단(103, 203)은, 상기 서명된 어플리케이션을, 통신 장치에 저장되어 있고 상기 신뢰할 수 있는 운영자가 발급한 것으로 상기 서명된 어플리케이션에 대응하는 운영자 인증서와 비교해 인증하도록 더 구성됨을 특징으로 하는 통신 장치.The means (103, 203) is further configured to authenticate the signed application compared to an operator certificate stored on a communication device and issued by the trusted operator and corresponding to the signed application. Device. 제11항에 있어서, 상기 수단(103, 203)은, 상기 운영자 인증서로부터, 상기 신뢰할 수 있는 운영자를 식별하는 제1운영자 식별자를 추출하도록 더 구성됨을 특징으로 하는 통신 장치.12. A communications device according to claim 11, wherein said means (103, 203) is further configured to extract, from said operator certificate, a first operator identifier identifying said trusted operator. 제10항 내지 제12항 중 어느 한 항에 있어서, 상기 수단(103, 203)은, 상기 스마트 카드의 신원 코드로부터, 상기 스마트 카드를 발급했던 운영자를 식별하는 제2운영자 식별자를 추출하도록 더 구성됨을 특징으로 하는 통신 장치. 13. The apparatus of any one of claims 10 to 12, wherein the means (103, 203) are further configured to extract, from an identity code of the smart card, a second operator identifier that identifies the operator that issued the smart card. Communication device characterized in that. 제13항에 있어서, 상기 신원 코드는 IMSI 코드를 포함함을 특징으로 하는 통신 장치.14. The communications device of claim 13, wherein said identity code comprises an IMSI code. 제10항 내지 제14항 중 어느 한 항에 있어서, 상기 수단(103, 203)은 자바 구현(Java implementation)을 실행하는 마이크로프로세서에 의해 구현됨을 특징으로 하는 통신 장치.15. A communication device as claimed in any of claims 10 to 14, wherein said means (103, 203) are implemented by a microprocessor executing a Java implementation. 제10항 내지 제15항 중 어느 한 항에 있어서, 상기 통신 장치는 모바일 통신 단말기임을 특징으로 하는 통신 장치.The communication device according to any one of claims 10 to 15, wherein said communication device is a mobile communication terminal. 제10항 내지 제16항 중 어느 한 항에 있어서, 상기 스마트 카드(211)는 SIM, WIM, 또는 USIM임을 특징으로 하는 통신 장치.17. A communications device according to any of claims 10 to 16, wherein said smart card (211) is a SIM, WIM, or USIM. 제10항 내지 제17항 중 어느 한 항에 있어서, The method according to any one of claims 10 to 17, 상기 통신 장치(100, 200)는 데이터 보안을 제공하기 위한 회로(101, 201)를 구비하고, 상기 회로(101, 201)는 적어도 한 개의 프로세서(103, 203) 및 적어도 한 개의 저장 회로(104, 204, 211)를 포함하며, 상기 회로(101, 201)는,The communication device 100, 200 has circuits 101, 201 for providing data security, wherein the circuits 101, 201 have at least one processor 103, 203 and at least one storage circuit 104. , 204, 211, wherein the circuits 101, 201, 상기 저장 회로(104, 204, 211) 안에, 통신 장치 보안과 관련된 보호된(protected) 데이터가 위치하는 적어도 한 저장 영역;At least one storage area in said storage circuitry (104, 204, 211) in which protected data relating to communication device security is located; 상기 프로세서 동작 모드를 바꿀 수 있어, 적어도 서로 다른 두 동작 모드 중 한 모드로 상기 프로세서를 설정하도록 된 모드 설정 수단;Mode setting means for changing the processor operating mode to set the processor to one of at least two different operating modes; 제1프로세서 동작 모드가 설정될 때 상기 프로세서로 하여금 상기 보호된 데이터가 위치하는 상기 저장 영역을 액세스하도록 하는 저장 회로 액세스 제어 수단; 및Storage circuit access control means for causing the processor to access the storage area in which the protected data is located when a first processor operating mode is set; And 제2프로세서 동작 모드가 설정될 때 상기 프로세서가 상기 보호된 데이터가 위치된 상기 저장 영역을 액세스하는 것을 금비시키도록 하는 저장 회로 액세스 제어 수단을 포함함을 특징으로 하는 통신 장치.Storage circuit access control means for preventing the processor from accessing the storage area in which the protected data is located when a second processor operating mode is set.
KR1020067008643A 2006-05-03 2003-11-07 Method and device for controlling installation of applications using operator root certificates KR100862389B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
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