KR100823631B1 - Key storage administration - Google Patents

Key storage administration Download PDF

Info

Publication number
KR100823631B1
KR100823631B1 KR1020067000157A KR20067000157A KR100823631B1 KR 100823631 B1 KR100823631 B1 KR 100823631B1 KR 1020067000157 A KR1020067000157 A KR 1020067000157A KR 20067000157 A KR20067000157 A KR 20067000157A KR 100823631 B1 KR100823631 B1 KR 100823631B1
Authority
KR
South Korea
Prior art keywords
application
identity
storage area
access
secure environment
Prior art date
Application number
KR1020067000157A
Other languages
Korean (ko)
Other versions
KR20060026478A (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 KR1020067000157A priority Critical patent/KR100823631B1/en
Publication of KR20060026478A publication Critical patent/KR20060026478A/en
Application granted granted Critical
Publication of KR100823631B1 publication Critical patent/KR100823631B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 액세스가 엄격하게 제어되는 보안 환경(104, 204, 211)을 가지는 장치(100, 200)에서 다중 어플리케이션들이 그들 각각의 데이터를 관리하도록 하는 방법 및 시스템에 관한 것이다. 본 발명의 개념은 장치(100, 200)의 보안 환경(104, 204, 211)내에 저장 영역이 할당된다는 점이다. 저장 영역은 어플리케이션의 아이덴티티와 관련되며(302), 관련된 아이덴티티는 보안 환경(104, 204, 211)에 저장되며(303), 저장 영역에 대한 액세스는 관련된 아이덴티티 및 액세스 어플리케이션의 아이덴티티 간의 일치를 확인함으로써 제어된다(304). 이것은 유리한데, 왜냐하면 할당된 저장 영역에서, 액세스 어플리케이션이 암호화 키들, 중간의 암호 계산 결과들 및 패스워드들과 같은 객체들을 읽고, 쓰고 수정하는 것을 가능하기 때문이다.The present invention is directed to a method and system for allowing multiple applications to manage their respective data in a device (100, 200) having a secure environment (104, 204, 211) in which access is tightly controlled. The concept of the present invention is that a storage area is allocated within the secure environment 104, 204, 211 of the devices 100, 200. The storage area is associated with the application's identity (302), and the associated identity is stored in the secure environment (104, 204, 211) (303), and access to the storage area is confirmed by matching the identity between the associated identity and the identity of the access application. Controlled 304. This is advantageous because in the allocated storage area, the access application is able to read, write and modify objects such as encryption keys, intermediate cryptographic calculation results and passwords.

Description

키 저장 관리{Key storage administration}Key storage administration

본 발명은 액세스가 엄격하게 제어되는 보안 환경을 가지는 장치에서 다중 어플리케이션들이 그들 각각의 데이터를 관리하도록 하는 방법 및 시스템에 관한 것이다.The present invention is directed to a method and system for allowing multiple applications to manage their respective data in a device having a secure environment where access is tightly controlled.

이동 원격통신 단말기들, 휴대용 컴퓨터들 및 PDA들과 같은 다양한 전자 장치들은 어플리케이션 프로그램들, 암호화 키들, 암호화 키 데이터 재료, 중간의 암호화 계산 결과들, 패스워드들, 외부로부터 다운도드되는 데이터에 대한 인증 수단 등과 같은 보안 관련 요소들에 대한 액세스를 필요로 한다. 이러한 요소들, 및 이들의 처리는 전자 장치 내에서 비밀로 유지된다. 개념적으로, 그것들은 가능한 한 소수의 사람들에 의해서만 알려질 수 있다. 이것은 이러한 요소들이 알려진다면, 장치, 예를 들면 이동 단말기는 아마 쓸데없는 간섭을 받을 수 있기 때문이다. 이러한 타입들의 요소들에 대한 액세스는 단말기를 조작하려는 악의를 가진 공격자를 도울 수 있다.Various electronic devices such as mobile telecommunication terminals, portable computers and PDAs are used for application programs, encryption keys, encryption key data material, intermediate encryption calculation results, passwords, authentication means for data downloaded from the outside. Access to security-relevant elements such as These elements, and their processing, are kept secret within the electronic device. Conceptually, they can only be known by as few people as possible. This is because if these factors are known, the device, for example the mobile terminal, may be subject to unwanted interference. Access to these types of elements can help a malicious attacker to manipulate the terminal.

따라서, 보안 실행 환경이 도입되었으며, 이러한 환경에서 전자 장치에 있는 프로세서는 보안 관련 요소들을 액세스할 수 있다. 보안 실행 환경에 대한 액세스, 그 안에서의 처리 및 그로부터의 탈출은 조심스럽게 제어되어야 한다. 이러한 보안 환경을 포함하는 종래 기술의 하드웨어는 간섭 저항성 패키징(tamper resistant packaging)에 넣어진다. 보안 관련 요소들 및 그들 처리의 공개로 귀착될 수 있는 이러한 타입의 하드웨어에 대한 테스트들 및 측정을 수행하거나 조사하는 것이 가능해서는 안 된다.Thus, a secure execution environment has been introduced, in which the processor in the electronic device can access security related elements. Access to, processing within, and escape from the secure execution environment must be carefully controlled. Prior art hardware including such a secure environment is enclosed in tamper resistant packaging. It should not be possible to perform or investigate tests and measurements on this type of hardware that may result in the disclosure of security-related elements and their processing.

JSR 118 전문가 그룹에 의한, 버전 2.0의 JAVATM 2 마이크로 에디션에 대한 "모바일 정보 장치 프로파일"은 개방된, 제3자의, 모바일 정보 장치들(Mobile Information Devices, MIDs)을 위한 어플리케이션 개발 환경을 가능하게 하기 위해 필요한 개선된 아키텍처 및 관련된 어플리케이션 프로그램 인터페이스들(Application Program Interfaces, APIs)을 정의하고 있다. MID들의 예시들은 셀룰러 폰들, 양방향 페이저들, 및 무선 가능 PDA들을 포함한다. 만약 MID 어플리케이션을 신뢰될 수 있다고 장치가 결정하면, 장치의 보안 정책에 의해 나타난 바와 같이 액세스가 허용된다. 서명된 어플리케이션들은 어플리케이션들의 서명자를 인증함으로써 믿을 수 있게 된다.The “Mobile Information Device Profile” for JAVA TM 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 architecture and related application program interfaces (APIs) needed to achieve this. Examples of MIDs include cellular phones, two-way pagers, and wireless capable PDAs. If the device determines that the MID application can be trusted, access is allowed as indicated by the device's security policy. Signed applications can be trusted by authenticating the signers of the applications.

모바일 정보 장치 프로파일은 소위 기록 저장부들(records stores)에 데이터를 영구히 저장하고 나중에 이를 검색하기 위해 어플리케이션들에 대한 매커니즘을 제공한다. 기록 저장부는 어플리케이션의 다중 호출들에 걸쳐 영속적일 기록들의 집합으로 이루어진다. 모바일 정보 장치 플랫폼은 재부팅, 배터리 교환 등을 포함하여, 플랫폼의 통상적인 사용을 통해 어플리케이션들의 기록 저장부들의 순결성을 유지하기 위해 최선의 노력을 할 책임이 있다. 기록 저장부들은 어플리케이션들에 노출되지 않은, 플랫폼-종속 위치들에 생성된다.Mobile information device profiles provide a mechanism for applications to permanently store data in so-called record stores and later retrieve it. Record storage consists of a collection of records that will be persistent across multiple invocations of an application. The mobile information device platform is responsible for making the best efforts to maintain the purity of the record stores of applications through normal use of the platform, including rebooting, battery replacement, and the like. Record stores are created in platform-dependent locations that are not exposed to applications.

종래 기술에서, 많은 다른 자들에 의해 액세스되는 장치에서 보안 관련 동작들을 수행할 때, 다른 어플리케이션 프로그램들에 의해 장치를 액세스하는 자들, 많은 다른 대등하지 않은, 상호 독립적인 자들 각각은 장치에 있는 암호화 키들, 암호화 키 데이터 재료, 중간의 암호화 계산 결과들 및 패스워드들과 같은 그들 자신의 암호화 데이터를 관리하고자 하며, 이것은 다수의 다른 문제점들로 귀착된다. 예를 들면, 보안 실행 환경은 통상적으로 그의 지정된 소유자를 가진다. 예컨대, 스마트 카드의 형태로 제공되는 보안 실행 환경은 전형적으로 이동 전화내에 구비될 수 있다. 스마트 카드의 지정된 소유자는 카드 발행자(card issuer)이며, 어느 어플리케이션 프로그램들이 카드에 의해 처리되고 수용되는지, 예를 들면 초기에 어떤 소프트웨어가 카드로 로딩되는지 그리고 카드가 어느 타입들의 명령들에 따르는지를 결정하는 것은 카드 발행자이다. 이것은 유일한 카드 관리자로서의 우월한 역할이 카드 발행자에게 주어지고, 카드 발행자는 다른 자들이 그들 자신의 목적들을 위해 스마트 카드를 재사용하는 것을 금지할 수 있다는 문제점을 야기한다. 일반적으로, 현재 스마트 카드의 관리자가 아닌 자의 어플리케이션에 의한, 스마트 카드에 대한 객체의 생성은 관리자의 허가를 필요로 한다. 이러한 점은 문제인데, 왜냐하면 그것은 통상적으로 관리하는 자, 즉 카드 발행자의 서버에 대한 온라인 접속을 수반하기 때문이다. 더욱이, 카드에 대해 객체가 설정되었다고 하더라도, 객체의 액세스 제어는 기본적으로 존재하지 않는데, 즉 카드를 액세스할 수 있는 모든 어플리케이션들에 대해 객체가 전체적으로 이용 가능하거나 또는 카드 관리자 의 어플리케이션들에 대해서만 객체가 이용 가능하다.In the prior art, when performing security related operations on a device accessed by many others, each of those accessing the device by different application programs, many other non-equivalent, mutually independent ones, are the encryption keys on the device. Attempting to manage their own encrypted data, such as encryption key data material, intermediate encryption calculation results and passwords, which results in a number of other problems. For example, a secure execution environment typically has its designated owner. For example, a secure execution environment provided in the form of a smart card may typically be provided in a mobile phone. The designated owner of the smart card is the card issuer, which determines which application programs are processed and accepted by the card, e.g. which software is initially loaded into the card and which type of instructions the card follows. Doing is the card issuer. This raises the problem that the superior role as the only card manager is given to the card issuer, and the card issuer can prohibit others from reusing the smart card for their own purposes. In general, the creation of an object for a smart card by an application of a non-administrator of the smart card currently requires the permission of the administrator. This is a problem because it usually involves online access to the server of the administrator, the card issuer. Furthermore, even if an object is set for a card, the object's access control does not exist by default, that is, the object is globally available for all applications that can access the card, or only for applications in the card manager. Available.

본 발명의 목적은 시스템 및 방법에 의해 위에서 주어진 문제점들에 대한 해결책을 제공하는 것이며, 이러한 시스템 및 방법에서는 다른 자들이 상호 독립적으로 그리고 보안 환경 관리자의 감독 없이도 보안 환경에서 그들 자신의 각각의 데이터를 저장 및 액세스하는 것이 가능하다.It is an object of the present invention to provide a solution to the problems given above by means of systems and methods, in which others are able to access their respective data in a secure environment independently of each other and without supervision of the secure environment administrator. It is possible to store and access.

이러한 목적은 청구항 1에 따라 액세스가 엄격히 제어되는 보안 환경을 가지는 장치에서 다중 어플리케이션들이 그들 각각의 데이터를 관리하도록 하는 방법, 제7항에 따라 액세스가 엄격히 제어되는 보안 환경을 가지는 장치에서 다중 어플리케이션들이 그들 각각의 데이터를 관리하도록 하는 시스템, 데이터 보안을 제공하기 위한 회로부에 의해 얻어지며, 상기 회로부는 청구항 12에 따라 적어도 하나의 저장 회로 및 적어도 하나의 프로세서를 포함한다.This purpose is to enable multiple applications to manage their respective data in a device having a secure environment in which access is strictly controlled in accordance with claim 1, and to provide a method for multiple applications in a device having a secure environment in which access is strictly controlled in accordance with claim 7. Obtained by a system for managing their respective data, circuitry for providing data security, said circuitry comprising at least one storage circuitry and at least one processor according to claim 12.

본 발명의 제1 태양에 따르면, 저장 영역이 보안 환경 내에 할당되는 방법이 제공된다. 저장 영역은 어플리케이션의 아이덴티티와 관련된다. 더욱이, 관련된 아이덴티티는 보안 환경 내에 저장되며, 저장 영역에 대한 액세스는 관련된 아이덴티티 및 액세스 어플리케이션의 아이덴티티 간의 일치(corrrespondence)를 확인함으로써 제어된다. According to a first aspect of the invention, a method is provided wherein a storage area is allocated within a secure environment. The storage area is associated with the identity of the application. Moreover, the associated identities are stored in a secure environment, and access to the storage area is controlled by confirming the correspondence between the associated identities and the identities of the access applications.

본 발명의 제2 태양에 따르면, 시스템이 제공되는데, 상기 시스템은 보안 환경 내에 저장 영역을 할당하고, 저장 영역과 어플리케이션의 아이덴티티를 관련시키도록 구성된 수단을 포함한다. 더욱이, 상기 수단은 보안 환경내에 관련된 아이덴티티를 저장하고, 관련된 아이덴티티 및 액세스 어플리케이션의 아이덴티티 간의 일치를 확인함으로써, 저장 영역에 대한 액세스를 제어하도록 구성된다.According to a second aspect of the present invention, a system is provided that includes means configured to allocate a storage area within a secure environment and associate the identity of the application with the storage area. Moreover, the means is configured to control access to the storage area by storing relevant identities within the secure environment and confirming a match between the related identities and the identities of the access application.

본 발명의 제3 태양에 따르면, 적어도 하나의 저장 영역이 위치한 회로부가 제공된다. 저장 영역은 회로 보안에 관한 보호된 데이터를 포함한다. 모드 세팅 수단은 적어도 2개의 다른 동작 모드들 중 하나에서 프로세서를 세팅하도록 구성된다. 상기 모드 세팅 수단은 프로세서 동작 모드를 변경할 수 있다. 저장 회로 액세스 제어 수단은 제1 프로세서 동작 모드가 세팅될 때, 프로세서가 보호된 데이터가 위치한 저장 영역을 액세스할 수 있도록 구성된다. 더욱이, 저장 회로 액세스 제어 수단은 제2 프로세서 동작 모드가 세팅될 때, 프로세서가 보호된 데이터가 위치한 저장 영역을 액세스할 수 없도록 구성된다.According to a third aspect of the invention, there is provided a circuit portion in which at least one storage region is located. The storage area contains protected data regarding circuit security. The mode setting means is configured to set the processor in one of at least two different operating modes. The mode setting means may change the processor operating mode. The storage circuit access control means is configured such that when the first processor operating mode is set, the processor can access the storage area in which the protected data is located. Moreover, the storage circuit access control means is configured such that when the second processor operating mode is set, the processor cannot access the storage area in which the protected data is located.

본 발명의 개념은 장치의 보안 환경 내에 저장 영역이 할당된다는 점이다. 예를 들면, 장치는 이동 원격통신 단말기, 휴대용 컴퓨터, PDA 등을 포함할 수 있다. 장치에서, 저장 영역은 어프리케이션의 아이덴티티와 관련된다. 어플리케이션들, 또는 어플리케이션 프로그램들은 장치에서 특정 기능을 수행하도록 설계된 프로그램들로 간주되며, 또한 장치에서 특정 기능을 수행하도록 다른 어플리케이션들과 상호작용할 수 있다. 상기 어플리케이션들은 예를 들면, 오퍼레이터들, 장치 제조자들, 제3자 어플리케이션 개발자들, 서비스 제공자들 등 다수의 다른 당사자들에 의해 제공된다. 어플리케이션들은 제조 당시부터 거주하는 프로그램들 및/또는 동작중에 장치로 다운로드된 프로그램들일 수 있다. 관련된 아이덴티티는 보안 환경에 저장되며, 저장 영역에 대한 액세스는 관련된 아이덴티티 및 액세스 어플리케이션의 아이덴티티 간의 일치를 확인함으로써 제어된다.The concept of the invention is that a storage area is allocated within the security environment of the device. For example, the device may include a mobile telecommunications terminal, a portable computer, a PDA, and the like. In the device, the storage area is associated with the identity of the application. Applications, or application programs, are considered to be programs designed to perform a specific function on the device, and can also interact with other applications to perform a specific function on the device. The applications are provided by a number of other parties, such as, for example, operators, device manufacturers, third party application developers, service providers. The applications may be programs residing at the time of manufacture and / or programs downloaded to the device during operation. Associated identities are stored in a secure environment, and access to the storage area is controlled by verifying a match between the associated identity and the identity of the access application.

본 발명은 유리한데, 왜냐하면 보아 환경에 저장된 관련된 아이덴티티가 액세스 어플리케이션의 아이덴티티에 대응한다면, 액세스 어플리케이션이 할당된 저장 영역에서 암호화 키들, 암호화 키 데이터 재료, 중간의 암호 계산 결과들 및 패스워드들과 같은 객체들을 읽고, 쓰고 수정하는 것을 가능하기 때문이다. 저장 영역의 연이은 액세스들에서, 어플리케이션은 그 자신을 확인시킬 필요가 있다. 저장 영역에 있는 데이터는 저장 영역에 관련된 아이덴티티에 대응하는 아이덴티티를 가지는 어떠한 어플리케이션에 의해서도 액세스 가능하고, 수정 가능하다. 따라서, 관련된 아이덴티티에 대응하는 아이덴티티를 가지는 어떠한 어플리케이션이라도 저장 영역을 관리할 수 있는데, 예를 들면 저장 영역을 읽고, 쓰고 수정할 수 있으며, 저장 영역에 대한 액세스를 제한할 수 있으며, 저장 영역과 새로운 아이덴티티를 관련시킬 수 있다. 할당된 저장 영역의 관리자는 이에 의해 필요하다면 저장 영역을 할당 해제(deallocate)할 능력을 가지는, 전체적인 보안 환경 저장 영역의 서브세트의 관리자이다. The present invention is advantageous because, in view of the case, the associated identity stored in the environment corresponds to the identity of the access application, an object such as encryption keys, encryption key data material, intermediate cryptographic calculation results and passwords in the storage area to which the access application is assigned. It is possible to read, write, and modify them. In subsequent accesses of the storage area, the application needs to verify itself. The data in the storage area is accessible and modifiable by any application having an identity corresponding to the identity associated with the storage area. Thus, any application that has an identity corresponding to its associated identity can manage the storage area, for example, read, write, and modify the storage area, restrict access to the storage area, and save the storage area and the new identity. Can be related. The manager of an allocated storage area is thereby a manager of a subset of the overall secure environment storage area, having the ability to deallocate the storage area if necessary.

더욱이, 본 발명은 유리한데, 왜냐하면 다른 어플리케이션들이 장치의 보안 환경을 액세스하는 것이 가능할 뿐 아니라, 보안 실행 환경의 관리자와 대화하지 않고도, 다른 당사자들도 따라서 할당된 저장 영역을 또한 액세스할 수 있기 때문이다. 보안 실행 환경이 이동 전화와 같은 장치에 제거 가능하게 구성된 스마트 카드의 형태인 경우에, 통상적으로 관리자는 카드의 발행자이다. 예를 들면, 환경이 장치에 영구적으로 구성되는 집적 회로로 이루어진 경우에, 통상적으로 관리자는 장치의 제조자이다. 카드 발행자 (및/또는 장치 제조자), 즉 "마스터(master)" 관리자는 카드/장치에 위치한 특정 소프트웨어에 의해 여전히 카드를 제어할 수 있는데, 왜냐하면 보안 환경에 거주하는 일부 어플리케이션 프로그램들은 다른 어플리케이션 프로그램들보다 우선시되기 때문이다. 이동 원격통신 단말기에서, 부팅 소프트웨어가 존재해야 하는데, 상기 부팅 소프트웨어는 단말기의 주된 기능을 포함한다. 이러한 소프트웨어 없이, 통상적인 동작 모드로 단말기를 부팅하는 것은 불가능하다. 이러한 부팅 소프트웨어를 제어함으로써, 또한 다른 어플리케이션들보다 우선할 수 있다. 따라서, 마스터 관리자는, 예컨대 어플리케이션이 너무 많은 저장부를 요청하는 것을 방지할 수 있으며, 또는 원한다면 저장 영역 할당을 전체적으로 불가능하게 할 수 있다. Moreover, the present invention is advantageous because not only is it possible for other applications to access the secure environment of the device, but also other parties can also access the allocated storage area accordingly without talking to the administrator of the secure execution environment. to be. If the secure execution environment is in the form of a smart card removably configured on a device such as a mobile phone, the administrator is typically the issuer of the card. For example, if the environment consists of integrated circuits that are permanently configured in the device, the administrator is typically the manufacturer of the device. The card issuer (and / or device manufacturer), or "master" administrator, can still control the card by the specific software located on the card / device, because some application programs residing in a secure environment may have other application programs. This is because it takes precedence. In a mobile telecommunications terminal, booting software must be present, which includes the main functions of the terminal. Without this software, it is impossible to boot the terminal in the normal operating mode. By controlling this boot software, it can also take precedence over other applications. Thus, the master manager may, for example, prevent an application from requesting too much storage, or may disable storage area allocation entirely if desired.

본 발명의 일 실시예에 따르면, 어플리케이션의 아이덴티티는, 예를 들면 어플리케이션 코드의 해시 값을 취하고, 해시 값을 개인키를 가지고 암호화함으로써 생성된 디지털 서명이다. 어플리케이션을 책임지는 당사자는 디지털 서명을 제공할 수 있으며, 서명된 어플리케이션과 함께 대응하는 공개키를 배포할 수 있다. 아이덴티티의 확인은 개인키에 대응하는 공개키를 가지고 어플리케이션의 해시 값을 암호 해제함으로써 수행된다. 이것은 아이덴티티를 제공하기 위한 유연하고 직접적인 방법이다. 개인키에 대해 액세스하는 당사자가 그 자신을 올바르게 확인하는 것만이 가능하다. 해시 값을 암호화하는 단계는 계산이 덜 요구된다는 점에서, 비 대칭키(asymmetric key)를 가지고 전체 어플리케이션 코드를 암호화하는 단계에 비해 장점을 가진다.According to one embodiment of the invention, the identity of the application is, for example, a digital signature created by taking a hash value of the application code and encrypting the hash value with a private key. The party responsible for the application can provide a digital signature and distribute the corresponding public key with the signed application. The identity verification is performed by decrypting the hash value of the application with the public key corresponding to the private key. This is a flexible and direct way to provide identity. It is only possible for a party accessing a private key to correctly identify itself. Encrypting the hash value has an advantage over encrypting the entire application code with an asymmetric key in that less computation is required.

본 발명의 다른 실시예에 따르면, 제1 저장 영역은 제1 당사자 어플리케이션에 대해 할당되며, 저장 영역은 제1 당사자 어플리케이션 아이덴티티와 관련되며, 관련된 제1 당사자 어플리케이션은 보안 환경에 저장되며, 저장 영역에 대한 액세스의 제어는 제1 당사자 어플리케이션 아이덴티티 및 액세스 어플리케이션의 아이덴티티 간의 일치를 확인함으로써 수행된다. 이어서, 제2 저장 영역이 제2 당사자 어플리케이션에 대해 할당되며, 저장 영역은 제2 당사자 어플리케이션 아이덴티티와 관련되며, 관련된 제2 당사자 어플리케이션은 보안 환경에 저장되며, 저장 영역에 대한 액세스의 제어는 제2 당사자 어플리케이션 아이덴티티 및 액세스 어플리케이션의 아이덴티티 간의 일치를 확인함으로써 수행된다. 제1 당사자 및 제2 당사자는 서로간에 독립적이며, 따라서 다른 당사자들은 보안 환경 관리자와 접촉하지 않고도 보안 환경에 있는 저장 영역을 할당할 수 있다. 장치가 제2 당사자 어플리케이션으로 하여금 그렇게 하도록 권한을 부여하였다면, 제2 당사자 어플리케이션이 제1 당사자 어플리케이션의 할당된 저장 영역을 이용할 수 있는 경우도 가능하다. 예를 들면, 사용될 저장 영역이 장치의 사용자가 더 이상 필요로 하지 않는 서비스를 제공하는 서비스 제공자에 의해 일단 할당되었던 경우이다.According to another embodiment of the invention, a first storage area is allocated for a first party application, the storage area is associated with a first party application identity, and the associated first party application is stored in a secure environment, Control of access to the control is performed by confirming a match between the first party application identity and the identity of the access application. Subsequently, a second storage area is allocated for the second party application, the storage area is associated with a second party application identity, the associated second party application is stored in the secure environment, and control of access to the storage area is controlled by the second party application. This is done by verifying a match between the party application identity and the identity of the access application. The first party and the second party are independent of each other, so that other parties can allocate storage areas in the secure environment without contacting the secure environment manager. If the device authorizes the second party application to do so, it is also possible that the second party application can use the allocated storage area of the first party application. For example, the storage area to be used was once allocated by a service provider providing a service that is no longer needed by the user of the device.

본 발명의 또 다른 실시예에 따르면, 어플리케이션은 장치 외부에 존재하며, 상기 장치로 하여금 보안 환경 내에 있는 저장 영역을 할당하는 단계와 저장 영역과 어플리케이션의 아이덴티티를 관련시키는 단계를 수행하도록 장치에 지시하는 명령들을 장치로 전송하며, 상기 어플리케이션 아이덴티티는 명령들에 첨부된다. 이것은 당사자가 장치로 명령을 전송할 수 있다는 점에서 장점을 가지며, 장치는 저장 영역을 할당할 것이며, 저장 영역과 어플리케이션의 아이덴티티를 관련시킬 것이고, 따라서 어플리케이션은 해야될 할당을 위해서 장치에 로딩될 필요가 없지만, 할당은 장치에 대해 원격으로 위치한 어플리케이션을 가지고 수행될 수 있다.According to another embodiment of the present invention, an application resides outside the device and instructs the device to perform the steps of allocating a storage area within the secure environment and associating the storage area with the identity of the application. Commands are sent to the device, the application identity appended to the commands. This has the advantage that the party can send a command to the device, the device will allocate storage and associate the identity of the storage with the application, so the application does not need to be loaded on the device for the allocation to be made. However, the assignment can be performed with an application located remotely to the device.

본 발명의 추가 실시예에 따르면, 장치는 인증 기관(Certification Authority, CA)에 의해 발행된 디지털 인증서를 저장한다. 공개키 구조에서 인증서들은 구조에 포함된 관계자들(actors)을 보증하고, 인증서의 소지자가 위탁 인증 기관에 의해 권한이 부여되었음을 보증하기 위해 사용된다. CA는 디지털 인증서의 요청자에 의해 제공된 정보를 확인하며, 성공적인 확인의 경우에, CA는 요청자에게 인증서를 발행할 수 있다. 인증서는 CA에 의해 서명되며, 예컨대 인증서 소유자 공개키, 소유자 이름 및 인증 소유자에 대한 다른 정보를 포함한다.According to a further embodiment of the invention, the device stores a digital certificate issued by a Certification Authority (CA). In the public key structure, certificates are used to guarantee the actors included in the structure and to ensure that the holder of the certificate has been authorized by the entrusting certification authority. The CA verifies the information provided by the requester of the digital certificate, and in the case of successful verification, the CA may issue a certificate to the requestor. The certificate is signed by a CA and includes, for example, the certificate owner public key, owner name and other information about the certificate owner.

본 발명의 추가 특징들 및 본 발명이 가진 장점들은 첨부된 청구항들 및 다음의 설명을 연구할 때 명백해질 것이다. 당해 분야의 숙련자들은 다음에 기술된 실시예들 외의 실시예들을 창조하기 위해, 본 발명의 다른 특징들이 조합될 수 있다는 점을 이해한다. 새로운 실시예들을 생성하기 위해 기술된 실시예들을 조합하는 것도 또한 가능하다. 많은 다른 변경들, 수정들 및 조합들은 당해 분야의 숙련자에게는 명백할 것이다.Further features of the present invention and the advantages of the present invention will become apparent upon studying the appended claims and the following description. Those skilled in the art understand that other features of the present invention may be combined to create embodiments other than the embodiments described below. It is also possible to combine the described embodiments to create new embodiments. Many other changes, modifications, and combinations will be apparent to those skilled in the art.

본 발명은 다음의 도면들을 참조하여 더욱 상세하게 기술될 것이다.The invention will be described in more detail with reference to the following figures.

도 1은 데이터 보안을 제공하기 위한, 본 발명이 유리하게 적용될 수 있는 장치 아키텍처의 블록도를 도시하고 있다.1 shows a block diagram of a device architecture in which the present invention may be advantageously applied for providing data security.

도 2는 제거 가능한 스마트 카드가 더 구비된, 본 발명이 유리하게 적용될 수 있는 데이터 보안을 제공하기 위한 장치 아키텍처의 블록도이다.2 is a block diagram of a device architecture for providing data security to which the present invention may be advantageously applied, further equipped with a removable smart card.

도 3은 본 발명에 따라, 보안 환경에서 저장 영역을 할당하기 위한 흐름도를 도시하고 있다.3 illustrates a flowchart for allocating a storage area in a secure environment, in accordance with the present invention.

데이터 보안을 제공하기 위한 장치 아키텍처가 도 1에 도시되어 있다. 그러한 시스템은 출원인의 국제 특허 어플리케이션 PCT/IB02/03216에 추가로 개시되어 있으며, 이러한 출원은 여기서 참조로서 통합된다. 상기 장치는 ASIC(Application Specific Integrated Circuit)(101)의 형태로 구현된다. 아키텍처의 처리부는 CPU(103) 및 디지털 신호 프로세서(Digital Signal Processor)(102)를 포함한다. 이동 원격전화 단말기, 휴대용 컴퓨터, PDA 등과 같은 전자 장치(100)에는 ASIC(101)이 포함되며, ASIC(101)은 장치(100)의 "핵심(brain)"으로 간주된다.A device architecture for providing data security is shown in FIG. Such a system is further disclosed in Applicant's International Patent Application PCT / IB02 / 03216, which application is incorporated herein by reference. The device is implemented in the form of an Application Specific Integrated Circuit (ASIC) 101. The processing portion of the architecture includes a CPU 103 and a digital signal processor 102. Electronic device 100, such as a mobile telephony terminal, portable computer, PDA, or the like, includes an ASIC 101, which is considered a "brain" of device 100.

보안 환경(104)은 ASIC(101)이 부팅되는 롬(105)을 포함한다. 롬(105)은 부팅 어플리케이션 소프트웨어 및 운영 시스템을 포함한다. 보안 환경(104)에 거주하는 일부 어플리케이션 프로그램들은 다른 어플리케이션 프로그램들보다 우선한다. ASIC(101)이 구비될 수 있는 이동 원격통신 단말기에 있어서는, 단말기의 주된 기능을 포함하는 부팅 소프트웨어가 존재해야 한다. 이러한 소프트웨어 없이 단말기를 정상적인 동작 모드로 부팅하는 것은 불가능하다. 이것은 이러한 부팅 소프트웨어를 제어함으로써, 각 단말기의 초기 활성화를 제어하는 것 또한 가능하다는 장점을 가진다.Secure environment 104 includes ROM 105 from which ASIC 101 is booted. ROM 105 includes boot application software and an operating system. Some application programs residing in the secure environment 104 take precedence over other application programs. In a mobile telecommunications terminal in which the ASIC 101 may be provided, booting software containing the main functions of the terminal must exist. Without this software it is not possible to boot the terminal into its normal operating mode. This has the advantage that by controlling such booting software, it is also possible to control the initial activation of each terminal.

보안 환경(104)는 또한 데이터 및 어플리케이션들, 즉 보호된 데이터의 저장을 위한 램(106)을 포함한다. 바람직하게, 램(106)은 보안 환경(104) 내에서 보안이 중요한 동작들(security critical operations)을 수행하기 위한 작은 크기의 어플리케이션들인 소위 보호된 어플리케이션들 및 암호화 키들, 중간의 암호화 계산 결과들 및 패스워드들과 같은 객체들을 저장한다. 통상적으로, 보호된 어플리케이션들을 사용하는 방식은 "통상적인(normal)" 어플리케이션들이 어떤 보호된 어플리케이션으로부터 서비스들을 요청하도록 하는 것이다. 신규의 보호된 어플리케이션들은 어느 때나 보안 환경(104)에 다운로드될 수 있지만, 신규의 보호된 어플리케이션들이 롬에 거주하게 된다면 그렇지 않다. 보안 환경(104) 소프트웨어는 보호된 어플리케이션들의 실행 및 다운로드를 제어한다. 단지 서명된 보호된 어플리케이션들만이 동작하도록 허용된다. 보호된 어플리케이션들은 보안 환경(104)에 있는 어떠한 자원들이라도 액세스할 수 있으며, 보호된 어플리케이션들은 보안 서비스들의 제공을 위해 통상의 어플리케이션들과 또한 통신할 수 있다. The secure environment 104 also includes a RAM 106 for the storage of data and applications, ie protected data. Preferably, RAM 106 is a small sized application for performing security critical operations in secure environment 104, so-called protected applications and encryption keys, intermediate encryption calculation results and Store objects such as passwords. Typically, the way to use protected applications is to allow "normal" applications to request services from any protected application. New protected applications can be downloaded to secure environment 104 at any time, but not if new protected applications reside in the ROM. Secure environment 104 software controls the execution and download of protected applications. Only signed protected applications are allowed to run. Protected applications can access any resources in the secure environment 104, and the protected applications can also communicate with conventional applications to provide secure services.

보안 환경(104)에서, 퓨즈 메모리(fuse memory)(107)는 제조되는 동안에 생성되고 ASIC(101)으로 프로그램되는 유일한 랜덤 번호(random number)를 포함하여 이루어진다. 이러한 랜덤 번호는 특정 ASIC(101)의 아이덴티티로서 사용되며, 암호화 동작들을 위한 키들을 유도하기 위해 추가로 사용된다. 더욱이, 보안 제어 레지스터 형태의 저장 회로 액세스 제어 수단은 보안 환경(104) 내에 구성된다. 보안 제어 레지스터의 목적은 레지스터에 세팅된 모드에 따라서, CPU(103)에 보안 환경(104)에 대한 액세스를 부여하거나, 또는 CPU(103)가 보안 환경(104)을 액세스하는 것을 방지하려는 것이다. CPU(103)에 대한 동작 모드들은 어플리케이션 소프트웨어에 의해 레지스터에서 세팅될 수 있으며, 아키텍처가 외부 신호들에 의존하지 않아도 되는 결과로 귀착된다. 보안의 관점에서, 이러한 점은 바람직한데, 왜냐하면 어플리케이션 소프트웨어를 제어함으로써 프로세서 모드들의 세팅이 또한 제어될 수 있기 때문이다. ASIC(101)에 연결된 외부 신호(미도시)를 가지는 것 또한 가능한데, 이러한 외부 신호에 의해 보안 제어 레지스터를 세팅하는 것이 가능하다. 외부 신호를 사용함으로써, 모드 변경이 더욱 쉽고 빠르게 실행될 수 있으며, 이러한 점은 테스트 환경에서 유리할 수 있다. 이러한 2가지 모드 세팅 수단의 조합, 즉 어플리케이션 외에도 외부 신호들의 조합이 실현될 수 있다. In the secure environment 104, the fuse memory 107 comprises a unique random number that is generated during manufacturing and programmed into the ASIC 101. This random number is used as the identity of a particular ASIC 101 and is further used to derive keys for cryptographic operations. Moreover, the storage circuit access control means in the form of a security control register is configured in the security environment 104. The purpose of the security control register is to either give the CPU 103 access to the secure environment 104 or prevent the CPU 103 from accessing the secure environment 104, depending on the mode set in the register. The operating modes for the CPU 103 can be set in registers by the application software, resulting in the architecture not having to rely on external signals. From a security point of view, this is desirable because the setting of processor modes can also be controlled by controlling the application software. It is also possible to have an external signal (not shown) connected to the ASIC 101, by which it is possible to set the security control register. By using external signals, mode changes can be made easier and faster, which can be advantageous in a test environment. The combination of these two mode setting means, i.e. the combination of external signals in addition to the application, can be realized.

아키텍처는 버스(108)에서 데이터 가시성(data visibility)의 제한을 위한 표준 브리지 회로(109)를 더 포함한다. 아키텍처는 탬퍼 레지스턴트 패키징(tamper resistant packaging) 내에 넣어져야 한다. 보안 관련 성분들 및 그들의 처리의 공개로 귀착될 수 있는 이러한 타입의 하드웨어에 대한 테스트 및 측정들을 조사하거나 또는 수행하는 것이 가능해서는 안 된다. DSP(102)는 DMA(Direct Memory Access) 유닛, 램들, 플레시 메모리들과 같은 다른 주변장치들(110)을 액세스하며, 부차적인 프로세서들이 ASIC(101) 외부에 제공될 수 있다. The architecture further includes a standard bridge circuit 109 for limiting data visibility on the bus 108. The architecture must be enclosed in tamper resistant packaging. It should not be possible to investigate or perform tests and measurements on this type of hardware that may result in the disclosure of security related components and their processing. The DSP 102 accesses other peripherals 110 such as a direct memory access (DMA) unit, RAMs, flash memories, and secondary processors may be provided outside the ASIC 101.

데이터 보안을 제공하기 위한 장치 아키텍처의 다른 실시예가 도 2에 도시되어 있으며, 대응하는 참조 번호들은 도 1과 관련하여 기술된 바와 같은 대응하는 요소들을 의미한다. 도 1에서 기술된 아키텍처와 비교할 때, 도 2에서 도시된 아키텍처에서 차이점은 전자 장치(200)에 제거 가능한 스마트 카드(211), 예를 들면 보 안 환경으로 또한 간주되는 SIM(subscriber Identity Module) 카드가 구비된다는 점이다. Another embodiment of a device architecture for providing data security is shown in FIG. 2, where corresponding reference numerals refer to corresponding elements as described in connection with FIG. 1. Compared to the architecture described in FIG. 1, the difference in the architecture shown in FIG. 2 is that a removable smart card 211, such as a subscriber identity module (SIM) card, also considered a security environment in the electronic device 200. Is provided.

보안 목적을 위해서, 스마트 카드(211) 외에도 이동 단말기(200)는 위탁 CA(trusted CA)에 의해 발행된 디지털 인증서(digital certificate)를 저장하고 있다. 인증서들은 이동 단말기(200) 및/또는 스마트 카드(211)와 통신하는 관계자들(actors)에게 인증서의 소지인이 위탁 CA에 의해 권한이 부여되었다는 점을 보증하기 위해 사용된다. CA는 인증서에 서명하고, 인증서 소지자는 CA에 의해 서명된 인증서가 유효한지를 확인하기 위해 CA의 개인키에 대응하는 공개키를 가져야 한다. 다른 장치들이라면 다른 CA들로부터의 인증서들을 소지해야 한다는 점에 주의해야 한다. 그러한 경우에, 다른 CA들은 예를 들면 그들 자신의 공개 키들을 교환하는 식으로 서로간에 일부 통신을 수행해야 한다. 인증서들은 당해 분야의 숙련자들에게는 잘 알려져 있으며, 잘 알려진 표준 인증서들은 CCITT 권고 X.509에 포함된 인증서이다.For security purposes, in addition to the smart card 211, the mobile terminal 200 stores a digital certificate issued by a trusted CA. The certificates are used to ensure that the holder of the certificate is authorized by the entrusting CA to the actors in communication with the mobile terminal 200 and / or the smart card 211. 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. Note that other devices must have certificates from other CAs. In such cases, other CAs must perform some communication with each other, for example by exchanging their own public keys. Certificates are well known to those skilled in the art, and well-known standard certificates are those contained in CCITT Recommendation X.509.

도 3은 저장 영역이 도 2에서 도시된 스마트 카드에 어떻게 할당되는지를 기술하는 흐름도를 도시하고 있다. 도 1 및 도 2에서 기술된 ASIC(101, 201)의 보안 환경에 저장 영역을 할당하는 것 또한 가능하다는 점을 주목해야 한다. 저장 영역을 할당하는 절차는 ASIC(101, 201)의 보안 환경이 사용되던지 또는 스마트 카드(211)에 의해 제공된 보안 환경이 사용되던지 같다. 단계 301에서, 이동 단말기(200)는 스마트 카드(211)에 저장 영역을 할당하기 위한 요청을 수신한다. 요청은 단말기로 로딩된 어플리케이션에 의해 이루어질 수 있지만, 또한 이동 단말기 외부 에 위치한 어플리케이션에 의해서도 이루어질 수 있다. 다음으로, 단계 302에서, 어플리케이션을 신뢰할 수 있는지를 보증하기 위해, ASIC(201)의 CPU(203)에 의해 어플리케이션의 인증서가 검사된다. (이하에서 기술될) 어플리케이션의 아이덴티티는 할당된 저장 영역과 관련되며, 스마트 카드(211)에 저장된다. 관련(association)은 매우 수월할 수 있는데, 예컨대 아이덴티티는 스마트 카드에 있는 2개의 어떠한 어드레스 사이에 할당된 저장 영역에 관련된다. 더욱이, 단계 303에서, 관련된 아이덴티티는 스마트 카드(211)에 저장된다. FIG. 3 shows a flow chart describing how the storage area is allocated to the smart card shown in FIG. 2. It should be noted that it is also possible to allocate storage areas to the secure environment of the ASICs 101 and 201 described in FIGS. 1 and 2. The procedure for allocating the storage area is the same whether the security environment of the ASICs 101 and 201 is used or the security environment provided by the smart card 211 is used. In step 301, the mobile terminal 200 receives a request for allocating a storage area to the smart card 211. The request may be made by an application loaded into the terminal, but may also be made by an application located outside the mobile terminal. Next, in step 302, the application's certificate is checked by the CPU 203 of the ASIC 201 to ensure that the application can be trusted. The identity of the application (described below) is associated with the allocated storage area and stored in the smart card 211. Associations can be very easy, for example, an identity is associated with a storage area allocated between any two addresses in a smart card. Moreover, in step 303 the associated identity is stored in the smart card 211.

단계 304에서, 어플리케이션은 스마트 카드(211)에 있는 할당된 저장 영역을 액세스하기 위한 요청을 생성하며; ASIC(201)의 CPU(203)는 요청하는 어플리케이션의 아이덴티티를 검사한다. 요청하는 어플리케이션의 아이덴티티는 바람직하게는, 어플리케이션 코드의 해시 값(hash value)을 취하고, 개인키(private key)를 가지고 해시 값을 암호화함으로써 생성된 디지털 서명이다. 어플리케이션을 책임지는 자(party), 즉 오퍼레이터, 제3자 어플리케이션 개발자 또는 서비스 제공자는 디지털 서명을 제공할 수 있으며, 서명된 어플리케이션과 함께 대응하는 공개키를 배포할 수 있다. 다음에 아이덴티티의 확인은, ASIC(201)의 보안 환경에서, 어플리케이션 개인키에 대응하는 공개키를 가지고 어플리케이션의 해시 값을 암호 해제(decryting)함으로써, CPU(203)에 의해 수행된다. 스마트 카드(211)에 있는 할당된 저장 영역에 대한 액세스는, 카드(211)에 저장된 관련된 아이덴티티 및 액세스 어플리케이션(accessing appliation)의 아이덴티티간에 일치(correspondence)를 확인함으로써, CPU(203)에 의해 제어된다.In step 304, the application generates a request to access the allocated storage area in the smart card 211; The CPU 203 of the ASIC 201 checks the identity of the requesting application. The identity of the requesting application is preferably a digital signature generated by taking a hash value of the application code and encrypting the hash value with a private key. The party responsible for the application, that is, an operator, a third party application developer or a service provider, can provide a digital signature and distribute the corresponding public key with the signed application. The identity verification is then performed by the CPU 203 in the secure environment of the ASIC 201 by deciphering the hash value of the application with the public key corresponding to the application private key. Access to the allocated storage area in the smart card 211 is controlled by the CPU 203 by confirming the correspondence between the associated identity stored in the card 211 and the identity of the accessing application. .

어플리케이션을 식별하는데 사용되는 다수의 방법들이 존재하며, 당해 분야의 숙련자들에 의해 알려져 있다. 위에서 기술된 바와 같이, 어플리케이션 코드에 대해 해시 함수들을 사용하고, 해시 코드에 서명하고 및/또는 인증서를 사용하는 하는 것이 가능하다. 인증서들에만 의존하는 것 또한 가능하지만, 더 높은 레벨의 보안을 얻기 위해서 추가적인 암호화 동작들이 실현될 수 있다. 다른 잠재적인 방법들은 어플리케이션 자체에 서명하는 단계, 플랫폼 생성 식별 번호들(platform generated identification number) 등을 사용하는 단계를 포함한다. There are a number of methods used to identify the application and are known by those skilled in the art. As described above, it is possible to use hash functions for application code, to sign hash code, and / or to use a certificate. It is also possible to rely only on certificates, but additional cryptographic operations can be realized to achieve a higher level of security. Other potential methods include signing the application itself, using platform generated identification numbers, and the like.

저장 영역이 스마트 카드(211) 또는 대안적으로 ASIC(201)의 보안 환경(204)에 할당되었을 때, 권한이 부여된 액세스 어플리케이션은 할당된 저장 영역에서, 암호화 키들, 암호화 키 데이터 재료, 중간의 암호화 계산 결과들 및 패스워드들과 같은 객체들을 읽고, 쓰고, 수정할 수 있다. 따라서, 권한이 부여된 액세스 어플리케이션은 필요하다면 저장 영역을 할당 해제(deallocate)하는 능력을 가지는, 할당된 저장 영역의 관리자로서 보일 수 있다.When a storage area has been allocated to the smart card 211 or, alternatively, to the secure environment 204 of the ASIC 201, an authorized access application is assigned to the encryption keys, encryption key data material, intermediate, in the assigned storage area. Objects such as cryptographic calculation results and passwords can be read, written and modified. Thus, a privileged access application may appear as an administrator of an allocated storage area, having the ability to deallocate the storage area if necessary.

도 3을 참조하면, 제1 저장 영역은 도면에 있는 단계들을 수행함으로써 제1 어플리케이션에 의해 할당될 수 있다. 이어서, 제2 저장 영역이 제2 어플리케이션에 대해 할당될 수 있으며, 어플리케이션들은 다른 아이덴티티들을 가진다. 따라서, 다른 자들은(parties)은 보안 환경 관리자를 접촉할 필요없이, 보안 환경(204, 211)에 그들 각각의 저장 영역을 할당할 수 있다.Referring to FIG. 3, the first storage area may be allocated by the first application by performing the steps shown in the drawing. A second storage area can then be allocated for the second application, with the applications having different identities. Thus, other parties may allocate their respective storage areas to secure environments 204 and 211 without having to contact the secure environment manager.

비록 본 발명은 그의 특정한 예시적인 실시예들을 참조하여 기술되었지만, 변경들 및 그의 유사한 것들은 당해 분야의 숙련자들에게는 명백할 것이다. 첨부된 청구항들에 의해 정의된 바와 같이, 기술된 실시예들은 본 발명의 범위를 제한하려는 의도는 아니다.Although the present invention has been described with reference to specific exemplary embodiments thereof, modifications and the like will be apparent to those skilled in the art. As defined by the appended claims, the described embodiments are not intended to limit the scope of the invention.

Claims (14)

보안 환경(104, 204, 211)을 가지는 장치(100, 200)에서 다중 어플리케이션들이 그들 각각의 데이터를 관리하도록 하는 방법에 있어서, 상기 보안 환경(104, 204, 211)은 상기 다중 어플리케이션들에 대해 보안 저장을 제공하기 위해 상기 장치 내에 위치하고, 상기 보안 환경(104, 204, 211) 액세스가 엄격히 제어되며, 상기 방법은 상기 다중 어플리케이션들 각각에 대해,In a method for allowing multiple applications to manage their respective data in a device (100, 200) having a secure environment (104, 204, 211), the secure environment (104, 204, 211) is configured for the multiple applications. Located within the device to provide secure storage, access to the secure environment 104, 204, 211 is tightly controlled, and the method provides for each of the multiple applications, 보안 환경(104, 204, 211) 내에 저장 영역을 할당하는 단계(301);Allocating (301) a storage area within the secure environment (104, 204, 211); 상기 저장 영역과 상기 어플리케이션의 아이덴티티를 관련시키는 단계(302);Associating (302) the identity of said storage area with said application; 상기 보안 환경 내에 상기 관련된 아이덴티티를 저장하는 단계(303); 및Storing (303) the associated identity in the secure environment; And 상기 관련된 아이덴티티 및 액세스 어플리케이션의 아이덴티티 간의 일치를 확인함으로써, 상기 저장 영역에 대한 액세스를 제어하는 단계(304)를 포함하는 것을 특징으로 하는 방법.Controlling (304) access to the storage area by confirming a match between the associated identity and the identity of an access application. 제1항에 있어서, 상기 어플리케이션의 아이덴티티는The method of claim 1, wherein the identity of the application is 개인키에 의해 생성된 디지털 서명이며, 상기 디지털 서명은A digital signature generated by a private key, the digital signature 상기 어플리케이션에 첨부되며, 상기 아이덴티티의 확인은 Attached to the application, the identification of the identity 상기 개인키에 대응하는 공개키를 가지고 상기 디지털 서명을 확인함으로써 수행되는 것을 특징으로 하는 방법.And verifying the digital signature with a public key corresponding to the private key. 제1항 또는 제2항에 있어서, 상기 저장 영역을 할당하는 단계(301), 상기 저장 영역과 어플리케이션의 아이덴티티를 관련시키는 단계(302), 상기 관련된 아이덴티티를 저장하는 단계(303), 및 상기 저장 영역에 대한 액세스를 제어하는 단계(304)는 The method of claim 1 or claim 2, wherein the step of allocating the storage area (301), associating the storage area with the identity of an application (302), storing the associated identity (303), and the storage Controlling access to the region (304) 제1 당사자의 어플리케이션에 대해 수행되며, 이어서 동일한 단계들(301, 302, 303, 304)이 상기 제1 당사자와 무관한 제2 당사자의 어플리케이션에 대해 수행되는 것을 특징으로 하는 방법.Performed for the application of the first party, and then the same steps (301, 302, 303, 304) are performed for the application of the second party independent of the first party. 제1항에 있어서, 상기 어플리케이션들 중 적어도 하나는The method of claim 1, wherein at least one of the applications is 상기 장치(100, 200)의 외부에 위치하며, Located outside the device (100, 200), 상기 보안 환경(104, 204, 211) 내에 저장 영역을 할당하는 단계(301) 및Allocating a storage area (301) within the secure environment (104, 204, 211), and 상기 저장 영역과 상기 적어도 하나의 어플리케이션의 아이덴티티를 관련시키는 단계(302)를 수행하도록 상기 장치(100, 200)에 지시하는 명령들을 상기 장치(100, 200)에 전송하며, Send instructions to the device 100, 200 instructing the device 100, 200 to perform the step 302 of associating an identity of the storage area with the at least one application, 상기 적어도 하나의 어플리케이션의 상기 아이덴티티는 The identity of the at least one application is 상기 명령들에 첨부되는 것을 특징으로 하는 방법.And appended to said instructions. 제1항에 있어서, 상기 장치(100, 200)는 The method of claim 1, wherein the device (100, 200) 위탁 인증 기관에 의해 발행된 디지털 인증서를 저장하는 것을 특징으로 하는 방법.Storing a digital certificate issued by a consignment certification authority. 제1항에 있어서, 상기 보안 환경(104, 204, 211)은The method of claim 1, wherein the security environment 104, 204, 211 스마트 카드(211)를 포함하는 것을 특징으로 하는 방법.And a smart card (211). 보안 환경(104, 204, 211)을 가지는 장치(100, 200)에서 다중 어플리케이션들이 그들 각각의 데이터를 관리하도록 하는 시스템에 있어서, 상기 보안 환경(104, 204, 211)은 상기 다중 어플리케이션들에 대해 보안 저장을 제공하기 위해 상기 장치 내에 위치하고, 상기 보안 환경(104, 204, 211) 액세스가 엄격히 제어되며, 상기 시스템은In a system that allows multiple applications to manage their respective data in a device (100, 200) having a secure environment (104, 204, 211), the secure environment (104, 204, 211) may be configured for the multiple applications. Located within the device to provide secure storage, access to the secure environment 104, 204, 211 is strictly controlled and the system is 상기 보안 환경(104, 204, 211) 내에 상기 다중 어플리케이션들 각각에 대한 저장 영역을 할당(301)하기 위한 수단(103, 203);Means (103, 203) for allocating (301) a storage area for each of the multiple applications in the secure environment (104, 204, 211); 각 저장 영역과 상기 대응하는 어플리케이션의 아이덴티티를 관련(302)시키는 수단(103, 203);Means (103,203) for associating (302) each storage area with the identity of the corresponding application; 상기 보안 환경(104, 204, 211) 내에 각 어플리케이션의 상기 관련된 아이덴티티를 저장(303)하기 위한 수단(103, 203); 및Means (103, 203) for storing (303) the associated identity of each application in the secure environment (104, 204, 211); And 상기 관련된 아이덴티티 및 액세스 어플리케이션의 아이덴티티 간의 일치를 확인함으로써, 상기 저장 영역에 대한 액세스를 제어(304)하기 위한 수단(103, 203)을 포함하는 것을 특징으로 하는 시스템. Means (103, 203) for controlling (304) access to said storage area by confirming a correspondence between said associated identity and identity of an access application. 제7항에 있어서, 상기 어플리케이션의 아이덴티티는The method of claim 7, wherein the identity of the application is 개인키에 의해 생성된 디지털 서명이며, 상기 디지털 서명은A digital signature generated by a private key, the digital signature 상기 어플리케이션에 첨부되며, 상기 아이덴티티의 확인은 Attached to the application, the identification of the identity 상기 개인키에 대응하는 공개키를 가지고 상기 디지털 서명을 암호 해독함으로써 수행되는 것을 특징으로 하는 시스템.And decrypting the digital signature with a public key corresponding to the private key. 제7항에 있어서, 상기 다중 어플리케이션들 중 적어도 하나는8. The method of claim 7, wherein at least one of the multiple applications is 장치(100, 200)의 외부에 위치하며, Located outside the device (100, 200), 상기 보안 환경(104, 204, 211) 내에 저장 영역을 할당(301)하고,Allocate a storage area (301) within the secure environment (104, 204, 211), 상기 저장 영역과 상기 적어도 하나의 어플리케이션의 아이덴티티를 관련(302)시키도록 상기 장치(100, 200)에 지시하는 명령들을 상기 장치(100, 200)에 전송하도록 구성되며, And send instructions to the device (100, 200) instructing the device (100, 200) to associate (302) the identity of the storage area with the at least one application. 상기 적어도 하나의 어플리케이션의 아이덴티티는 The identity of the at least one application is 상기 명령들에 첨부되는 것을 특징으로 하는 시스템.System appended to the instructions. 제7항에 있어서, 상기 장치(100, 200)는8. The apparatus of claim 7, wherein the device (100, 200) 인증 기관에 의해 발행된 디지털 인증서를 저장하도록 구성되는 것을 특징으로 하는 시스템.And store the digital certificate issued by the certificate authority. 제7항에 있어서, 상기 보안 환경(104, 204, 211)은8. The system of claim 7, wherein the secure environment 104, 204, 211 스마트 카드(211)를 포함하는 것을 특징으로 하는 시스템.And a smart card (211). 데이터 보안을 제공하는 회로부(101, 201)로, 상기 회로부(101, 201)는 적어도 하나의 프로세서(103, 203) 및 적어도 하나의 저장 회로(104, 204, 211)를 포함하며, 상기 회로부(101, 201)는A circuit portion 101, 201 that provides data security, wherein the circuit portion 101, 201 includes at least one processor 103, 203 and at least one storage circuit 104, 204, 211. 101, 201) 회로 보안에 관한 보호된 데이터가 위치한, 상기 저장 회로(104, 204, 211) 에 있는 적어도 하나의 저장 영역;At least one storage area in said storage circuitry (104, 204, 211) where protected data relating to circuit security is located; 적어도 2개의 다른 동작 모드들 중 하나에서 프로세서(103, 203)를 세팅하도록 구성된 모드 세팅 수단으로, 상기 프로세서(103, 203) 동작 모드를 변경할 수 있는 모드 세팅 수단;Mode setting means configured to set a processor (103, 203) in one of at least two different operating modes, the mode setting means being capable of changing the processor (103, 203) operating mode; 제1 프로세서 동작 모드가 세팅될 때, 상기 프로세서(103, 203)가 상기 보호된 데이터가 위치한 저장 영역을 액세스할 수 있도록 구성된 저장 회로 액세스 제어 수단; 및Storage circuit access control means configured to allow the processor (103, 203) to access a storage area in which the protected data is located when a first processor operating mode is set; And 제2 프로세서 동작 모드가 세팅될 때, 상기 프로세서(103, 203)가 상기 보호된 데이터가 위치한 상기 저장 영역을 액세스할 수 없도록 구성된 저장 회로 액세스 제어 수단을 포함하는 것을 특징으로 하는 회로부(101, 201).Circuitry 101, 201, characterized in that the processor 103, 203 includes storage circuit access control means configured to prevent access to the storage area in which the protected data is located when a second processor operating mode is set. ). 제12항에 따라 데이터 보안을 제공하기 위한 상기 회로부(101, 201)를 포함하는 것을 특징으로 하는 장치(100, 200).13. Apparatus (100, 200) comprising the circuitry (101, 201) for providing data security according to claim 12. 제13항에 따른 장치(100, 200)로, 상기 장치는 A device (100, 200) according to claim 13, wherein the device is 이동 원격통신 단말기인 것을 특징으로 하는 장치.And a mobile telecommunication terminal.
KR1020067000157A 2006-01-03 2003-07-04 Key storage administration KR100823631B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020067000157A KR100823631B1 (en) 2006-01-03 2003-07-04 Key storage administration

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020067000157A KR100823631B1 (en) 2006-01-03 2003-07-04 Key storage administration

Publications (2)

Publication Number Publication Date
KR20060026478A KR20060026478A (en) 2006-03-23
KR100823631B1 true KR100823631B1 (en) 2008-04-21

Family

ID=37137818

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067000157A KR100823631B1 (en) 2006-01-03 2003-07-04 Key storage administration

Country Status (1)

Country Link
KR (1) KR100823631B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100857760B1 (en) * 2007-05-15 2008-09-10 삼성전자주식회사 A method and device to store secret key in flash memory

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0828208A2 (en) * 1996-08-23 1998-03-11 Hewlett-Packard Company Application certification for an international cryptography framework
US6178508B1 (en) 1995-12-28 2001-01-23 International Business Machines Corp. System for controlling access to encrypted data files by a plurality of users
KR20010096814A (en) * 2000-04-14 2001-11-08 홍기융 Digital Signature Certificate Based Security Kernel Method for File System Protection
KR20030012764A (en) * 2001-07-30 2003-02-12 주식회사 마크애니 Method of protecting digital information and system thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6178508B1 (en) 1995-12-28 2001-01-23 International Business Machines Corp. System for controlling access to encrypted data files by a plurality of users
EP0828208A2 (en) * 1996-08-23 1998-03-11 Hewlett-Packard Company Application certification for an international cryptography framework
KR20010096814A (en) * 2000-04-14 2001-11-08 홍기융 Digital Signature Certificate Based Security Kernel Method for File System Protection
KR20030012764A (en) * 2001-07-30 2003-02-12 주식회사 마크애니 Method of protecting digital information and system thereof

Also Published As

Publication number Publication date
KR20060026478A (en) 2006-03-23

Similar Documents

Publication Publication Date Title
US8301911B2 (en) Key storage administration
US8560857B2 (en) Information processing apparatus, a server apparatus, a method of an information processing apparatus, a method of a server apparatus, and an apparatus executable program
KR100851631B1 (en) Secure mode controlled memory
CA2923740C (en) Software code signing system and method
KR101861401B1 (en) Binding applications to device capabilities
US6609199B1 (en) Method and apparatus for authenticating an open system application to a portable IC device
KR100851623B1 (en) Device with a cryptographic coprocessor
US7139915B2 (en) Method and apparatus for authenticating an open system application to a portable IC device
US7594108B2 (en) Operator root certificates
EP2486509B1 (en) Platform security
US20110131421A1 (en) Method for installing an application on a sim card
US20110289294A1 (en) Information processing apparatus
US20050202803A1 (en) Secure interaction between downloaded application code and a smart card in a mobile communication apparatus
JP4417952B2 (en) Method and system for performing tests on devices and devices
JP2012533128A (en) System and method for providing a secure virtual machine
CN107358118B (en) SFS access control method and system, SFS and terminal equipment
JP4526383B2 (en) Tamper evident removable media for storing executable code
US10387681B2 (en) Methods and apparatus for controlling access to secure computing resources
KR100823631B1 (en) Key storage administration
JP4507569B2 (en) Information processing apparatus, information processing method, program, and recording medium
KR100862389B1 (en) Method and device for controlling installation of applications using operator root certificates
JP2005085266A (en) Access control of microprocessor peripheral device
KR20240025684A (en) Secure elements on your device

Legal Events

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

Payment date: 20130320

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140320

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160318

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170317

Year of fee payment: 10