KR100823631B1 - Key storage administration - Google Patents
Key storage administration Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital 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
본 발명은 액세스가 엄격하게 제어되는 보안 환경을 가지는 장치에서 다중 어플리케이션들이 그들 각각의 데이터를 관리하도록 하는 방법 및 시스템에 관한 것이다.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
본 발명의 제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
보안 환경(104)은 ASIC(101)이 부팅되는 롬(105)을 포함한다. 롬(105)은 부팅 어플리케이션 소프트웨어 및 운영 시스템을 포함한다. 보안 환경(104)에 거주하는 일부 어플리케이션 프로그램들은 다른 어플리케이션 프로그램들보다 우선한다. ASIC(101)이 구비될 수 있는 이동 원격통신 단말기에 있어서는, 단말기의 주된 기능을 포함하는 부팅 소프트웨어가 존재해야 한다. 이러한 소프트웨어 없이 단말기를 정상적인 동작 모드로 부팅하는 것은 불가능하다. 이것은 이러한 부팅 소프트웨어를 제어함으로써, 각 단말기의 초기 활성화를 제어하는 것 또한 가능하다는 장점을 가진다.
보안 환경(104)는 또한 데이터 및 어플리케이션들, 즉 보호된 데이터의 저장을 위한 램(106)을 포함한다. 바람직하게, 램(106)은 보안 환경(104) 내에서 보안이 중요한 동작들(security critical operations)을 수행하기 위한 작은 크기의 어플리케이션들인 소위 보호된 어플리케이션들 및 암호화 키들, 중간의 암호화 계산 결과들 및 패스워드들과 같은 객체들을 저장한다. 통상적으로, 보호된 어플리케이션들을 사용하는 방식은 "통상적인(normal)" 어플리케이션들이 어떤 보호된 어플리케이션으로부터 서비스들을 요청하도록 하는 것이다. 신규의 보호된 어플리케이션들은 어느 때나 보안 환경(104)에 다운로드될 수 있지만, 신규의 보호된 어플리케이션들이 롬에 거주하게 된다면 그렇지 않다. 보안 환경(104) 소프트웨어는 보호된 어플리케이션들의 실행 및 다운로드를 제어한다. 단지 서명된 보호된 어플리케이션들만이 동작하도록 허용된다. 보호된 어플리케이션들은 보안 환경(104)에 있는 어떠한 자원들이라도 액세스할 수 있으며, 보호된 어플리케이션들은 보안 서비스들의 제공을 위해 통상의 어플리케이션들과 또한 통신할 수 있다. The
보안 환경(104)에서, 퓨즈 메모리(fuse memory)(107)는 제조되는 동안에 생성되고 ASIC(101)으로 프로그램되는 유일한 랜덤 번호(random number)를 포함하여 이루어진다. 이러한 랜덤 번호는 특정 ASIC(101)의 아이덴티티로서 사용되며, 암호화 동작들을 위한 키들을 유도하기 위해 추가로 사용된다. 더욱이, 보안 제어 레지스터 형태의 저장 회로 액세스 제어 수단은 보안 환경(104) 내에 구성된다. 보안 제어 레지스터의 목적은 레지스터에 세팅된 모드에 따라서, CPU(103)에 보안 환경(104)에 대한 액세스를 부여하거나, 또는 CPU(103)가 보안 환경(104)을 액세스하는 것을 방지하려는 것이다. CPU(103)에 대한 동작 모드들은 어플리케이션 소프트웨어에 의해 레지스터에서 세팅될 수 있으며, 아키텍처가 외부 신호들에 의존하지 않아도 되는 결과로 귀착된다. 보안의 관점에서, 이러한 점은 바람직한데, 왜냐하면 어플리케이션 소프트웨어를 제어함으로써 프로세서 모드들의 세팅이 또한 제어될 수 있기 때문이다. ASIC(101)에 연결된 외부 신호(미도시)를 가지는 것 또한 가능한데, 이러한 외부 신호에 의해 보안 제어 레지스터를 세팅하는 것이 가능하다. 외부 신호를 사용함으로써, 모드 변경이 더욱 쉽고 빠르게 실행될 수 있으며, 이러한 점은 테스트 환경에서 유리할 수 있다. 이러한 2가지 모드 세팅 수단의 조합, 즉 어플리케이션 외에도 외부 신호들의 조합이 실현될 수 있다. In the
아키텍처는 버스(108)에서 데이터 가시성(data visibility)의 제한을 위한 표준 브리지 회로(109)를 더 포함한다. 아키텍처는 탬퍼 레지스턴트 패키징(tamper resistant packaging) 내에 넣어져야 한다. 보안 관련 성분들 및 그들의 처리의 공개로 귀착될 수 있는 이러한 타입의 하드웨어에 대한 테스트 및 측정들을 조사하거나 또는 수행하는 것이 가능해서는 안 된다. DSP(102)는 DMA(Direct Memory Access) 유닛, 램들, 플레시 메모리들과 같은 다른 주변장치들(110)을 액세스하며, 부차적인 프로세서들이 ASIC(101) 외부에 제공될 수 있다. The architecture further includes a
데이터 보안을 제공하기 위한 장치 아키텍처의 다른 실시예가 도 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
보안 목적을 위해서, 스마트 카드(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
도 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
단계 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
어플리케이션을 식별하는데 사용되는 다수의 방법들이 존재하며, 당해 분야의 숙련자들에 의해 알려져 있다. 위에서 기술된 바와 같이, 어플리케이션 코드에 대해 해시 함수들을 사용하고, 해시 코드에 서명하고 및/또는 인증서를 사용하는 하는 것이 가능하다. 인증서들에만 의존하는 것 또한 가능하지만, 더 높은 레벨의 보안을 얻기 위해서 추가적인 암호화 동작들이 실현될 수 있다. 다른 잠재적인 방법들은 어플리케이션 자체에 서명하는 단계, 플랫폼 생성 식별 번호들(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
도 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
비록 본 발명은 그의 특정한 예시적인 실시예들을 참조하여 기술되었지만, 변경들 및 그의 유사한 것들은 당해 분야의 숙련자들에게는 명백할 것이다. 첨부된 청구항들에 의해 정의된 바와 같이, 기술된 실시예들은 본 발명의 범위를 제한하려는 의도는 아니다.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)
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)
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)
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 |
-
2003
- 2003-07-04 KR KR1020067000157A patent/KR100823631B1/en active IP Right Grant
Patent Citations (4)
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 | |
CN105447406A (en) | Method and apparatus for accessing storage space | |
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 | |
CN110352411B (en) | Method 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 | |
CN118828496A (en) | Authentication method, device, equipment, medium and product of card application | |
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 |