KR20060026478A - 키 저장 관리 - Google Patents

키 저장 관리 Download PDF

Info

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

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). 이것은 유리한데, 왜냐하면 할당된 저장 영역에서, 액세스 어플리케이션이 암호화 키들, 중간의 암호 계산 결과들 및 패스워드들과 같은 객체들을 읽고, 쓰고 수정하는 것을 가능하기 때문이다.

Description

키 저장 관리{Key storage administration}
본 발명은 액세스가 엄격하게 제어되는 보안 환경을 가지는 장치에서 다중 어플리케이션들이 그들 각각의 데이터를 관리하도록 하는 방법 및 시스템에 관한 것이다.
이동 원격통신 단말기들, 휴대용 컴퓨터들 및 PDA들과 같은 다양한 전자 장치들은 어플리케이션 프로그램들, 암호화 키들, 암호화 키 데이터 재료, 중간의 암호화 계산 결과들, 패스워드들, 외부로부터 다운도드되는 데이터에 대한 인증 수단 등과 같은 보안 관련 요소들에 대한 액세스를 필요로 한다. 이러한 요소들, 및 이들의 처리는 전자 장치 내에서 비밀로 유지된다. 개념적으로, 그것들은 가능한 한 소수의 사람들에 의해서만 알려질 수 있다. 이것은 이러한 요소들이 알려진다면, 장치, 예를 들면 이동 단말기는 아마 쓸데없는 간섭을 받을 수 있기 때문이다. 이러한 타입들의 요소들에 대한 액세스는 단말기를 조작하려는 악의를 가진 공격자를 도울 수 있다.
따라서, 보안 실행 환경이 도입되었으며, 이러한 환경에서 전자 장치에 있는 프로세서는 보안 관련 요소들을 액세스할 수 있다. 보안 실행 환경에 대한 액세스, 그 안에서의 처리 및 그로부터의 탈출은 조심스럽게 제어되어야 한다. 이러한 보안 환경을 포함하는 종래 기술의 하드웨어는 간섭 저항성 패키징(tamper resistant packaging)에 넣어진다. 보안 관련 요소들 및 그들 처리의 공개로 귀착될 수 있는 이러한 타입의 하드웨어에 대한 테스트들 및 측정을 수행하거나 조사하는 것이 가능해서는 안 된다.
JSR 118 전문가 그룹에 의한, 버전 2.0의 JAVATM 2 마이크로 에디션에 대한 "모바일 정보 장치 프로파일"은 개방된, 제3자의, 모바일 정보 장치들(Mobile Information Devices, MIDs)을 위한 어플리케이션 개발 환경을 가능하게 하기 위해 필요한 개선된 아키텍처 및 관련된 어플리케이션 프로그램 인터페이스들(Application Program Interfaces, APIs)을 정의하고 있다. MID들의 예시들은 셀룰러 폰들, 양방향 페이저들, 및 무선 가능 PDA들을 포함한다. 만약 MID 어플리케이션을 신뢰될 수 있다고 장치가 결정하면, 장치의 보안 정책에 의해 나타난 바와 같이 액세스가 허용된다. 서명된 어플리케이션들은 어플리케이션들의 서명자를 인증함으로써 믿을 수 있게 된다.
모바일 정보 장치 프로파일은 소위 기록 저장부들(records stores)에 데이터를 영구히 저장하고 나중에 이를 검색하기 위해 어플리케이션들에 대한 매커니즘을 제공한다. 기록 저장부는 어플리케이션의 다중 호출들에 걸쳐 영속적일 기록들의 집합으로 이루어진다. 모바일 정보 장치 플랫폼은 재부팅, 배터리 교환 등을 포함하여, 플랫폼의 통상적인 사용을 통해 어플리케이션들의 기록 저장부들의 순결성을 유지하기 위해 최선의 노력을 할 책임이 있다. 기록 저장부들은 어플리케이션들에 노출되지 않은, 플랫폼-종속 위치들에 생성된다.
종래 기술에서, 많은 다른 자들에 의해 액세스되는 장치에서 보안 관련 동작들을 수행할 때, 다른 어플리케이션 프로그램들에 의해 장치를 액세스하는 자들, 많은 다른 대등하지 않은, 상호 독립적인 자들 각각은 장치에 있는 암호화 키들, 암호화 키 데이터 재료, 중간의 암호화 계산 결과들 및 패스워드들과 같은 그들 자신의 암호화 데이터를 관리하고자 하며, 이것은 다수의 다른 문제점들로 귀착된다. 예를 들면, 보안 실행 환경은 통상적으로 그의 지정된 소유자를 가진다. 예컨대, 스마트 카드의 형태로 제공되는 보안 실행 환경은 전형적으로 이동 전화내에 구비될 수 있다. 스마트 카드의 지정된 소유자는 카드 발행자(card issuer)이며, 어느 어플리케이션 프로그램들이 카드에 의해 처리되고 수용되는지, 예를 들면 초기에 어떤 소프트웨어가 카드로 로딩되는지 그리고 카드가 어느 타입들의 명령들에 따르는지를 결정하는 것은 카드 발행자이다. 이것은 유일한 카드 관리자로서의 우월한 역할이 카드 발행자에게 주어지고, 카드 발행자는 다른 자들이 그들 자신의 목적들을 위해 스마트 카드를 재사용하는 것을 금지할 수 있다는 문제점을 야기한다. 일반적으로, 현재 스마트 카드의 관리자가 아닌 자의 어플리케이션에 의한, 스마트 카드에 대한 객체의 생성은 관리자의 허가를 필요로 한다. 이러한 점은 문제인데, 왜냐하면 그것은 통상적으로 관리하는 자, 즉 카드 발행자의 서버에 대한 온라인 접속을 수반하기 때문이다. 더욱이, 카드에 대해 객체가 설정되었다고 하더라도, 객체의 액세스 제어는 기본적으로 존재하지 않는데, 즉 카드를 액세스할 수 있는 모든 어플리케이션들에 대해 객체가 전체적으로 이용 가능하거나 또는 카드 관리자 의 어플리케이션들에 대해서만 객체가 이용 가능하다.
본 발명의 목적은 시스템 및 방법에 의해 위에서 주어진 문제점들에 대한 해결책을 제공하는 것이며, 이러한 시스템 및 방법에서는 다른 자들이 상호 독립적으로 그리고 보안 환경 관리자의 감독 없이도 보안 환경에서 그들 자신의 각각의 데이터를 저장 및 액세스하는 것이 가능하다.
이러한 목적은 청구항 1에 따라 액세스가 엄격히 제어되는 보안 환경을 가지는 장치에서 다중 어플리케이션들이 그들 각각의 데이터를 관리하도록 하는 방법, 제7항에 따라 액세스가 엄격히 제어되는 보안 환경을 가지는 장치에서 다중 어플리케이션들이 그들 각각의 데이터를 관리하도록 하는 시스템, 데이터 보안을 제공하기 위한 회로부에 의해 얻어지며, 상기 회로부는 청구항 12에 따라 적어도 하나의 저장 회로 및 적어도 하나의 프로세서를 포함한다.
본 발명의 제1 태양에 따르면, 저장 영역이 보안 환경 내에 할당되는 방법이 제공된다. 저장 영역은 어플리케이션의 아이덴티티와 관련된다. 더욱이, 관련된 아이덴티티는 보안 환경 내에 저장되며, 저장 영역에 대한 액세스는 관련된 아이덴티티 및 액세스 어플리케이션의 아이덴티티 간의 일치(corrrespondence)를 확인함으로써 제어된다.
본 발명의 제2 태양에 따르면, 시스템이 제공되는데, 상기 시스템은 보안 환경 내에 저장 영역을 할당하고, 저장 영역과 어플리케이션의 아이덴티티를 관련시키도록 구성된 수단을 포함한다. 더욱이, 상기 수단은 보안 환경내에 관련된 아이덴티티를 저장하고, 관련된 아이덴티티 및 액세스 어플리케이션의 아이덴티티 간의 일치를 확인함으로써, 저장 영역에 대한 액세스를 제어하도록 구성된다.
본 발명의 제3 태양에 따르면, 적어도 하나의 저장 영역이 위치한 회로부가 제공된다. 저장 영역은 회로 보안에 관한 보호된 데이터를 포함한다. 모드 세팅 수단은 적어도 2개의 다른 동작 모드들 중 하나에서 프로세서를 세팅하도록 구성된다. 상기 모드 세팅 수단은 프로세서 동작 모드를 변경할 수 있다. 저장 회로 액세스 제어 수단은 제1 프로세서 동작 모드가 세팅될 때, 프로세서가 보호된 데이터가 위치한 저장 영역을 액세스할 수 있도록 구성된다. 더욱이, 저장 회로 액세스 제어 수단은 제2 프로세서 동작 모드가 세팅될 때, 프로세서가 보호된 데이터가 위치한 저장 영역을 액세스할 수 없도록 구성된다.
본 발명의 개념은 장치의 보안 환경 내에 저장 영역이 할당된다는 점이다. 예를 들면, 장치는 이동 원격통신 단말기, 휴대용 컴퓨터, PDA 등을 포함할 수 있다. 장치에서, 저장 영역은 어프리케이션의 아이덴티티와 관련된다. 어플리케이션들, 또는 어플리케이션 프로그램들은 장치에서 특정 기능을 수행하도록 설계된 프로그램들로 간주되며, 또한 장치에서 특정 기능을 수행하도록 다른 어플리케이션들과 상호작용할 수 있다. 상기 어플리케이션들은 예를 들면, 오퍼레이터들, 장치 제조자들, 제3자 어플리케이션 개발자들, 서비스 제공자들 등 다수의 다른 당사자들에 의해 제공된다. 어플리케이션들은 제조 당시부터 거주하는 프로그램들 및/또는 동작중에 장치로 다운로드된 프로그램들일 수 있다. 관련된 아이덴티티는 보안 환경에 저장되며, 저장 영역에 대한 액세스는 관련된 아이덴티티 및 액세스 어플리케이션의 아이덴티티 간의 일치를 확인함으로써 제어된다.
본 발명은 유리한데, 왜냐하면 보아 환경에 저장된 관련된 아이덴티티가 액세스 어플리케이션의 아이덴티티에 대응한다면, 액세스 어플리케이션이 할당된 저장 영역에서 암호화 키들, 암호화 키 데이터 재료, 중간의 암호 계산 결과들 및 패스워드들과 같은 객체들을 읽고, 쓰고 수정하는 것을 가능하기 때문이다. 저장 영역의 연이은 액세스들에서, 어플리케이션은 그 자신을 확인시킬 필요가 있다. 저장 영역에 있는 데이터는 저장 영역에 관련된 아이덴티티에 대응하는 아이덴티티를 가지는 어떠한 어플리케이션에 의해서도 액세스 가능하고, 수정 가능하다. 따라서, 관련된 아이덴티티에 대응하는 아이덴티티를 가지는 어떠한 어플리케이션이라도 저장 영역을 관리할 수 있는데, 예를 들면 저장 영역을 읽고, 쓰고 수정할 수 있으며, 저장 영역에 대한 액세스를 제한할 수 있으며, 저장 영역과 새로운 아이덴티티를 관련시킬 수 있다. 할당된 저장 영역의 관리자는 이에 의해 필요하다면 저장 영역을 할당 해제(deallocate)할 능력을 가지는, 전체적인 보안 환경 저장 영역의 서브세트의 관리자이다.
더욱이, 본 발명은 유리한데, 왜냐하면 다른 어플리케이션들이 장치의 보안 환경을 액세스하는 것이 가능할 뿐 아니라, 보안 실행 환경의 관리자와 대화하지 않고도, 다른 당사자들도 따라서 할당된 저장 영역을 또한 액세스할 수 있기 때문이다. 보안 실행 환경이 이동 전화와 같은 장치에 제거 가능하게 구성된 스마트 카드의 형태인 경우에, 통상적으로 관리자는 카드의 발행자이다. 예를 들면, 환경이 장치에 영구적으로 구성되는 집적 회로로 이루어진 경우에, 통상적으로 관리자는 장치의 제조자이다. 카드 발행자 (및/또는 장치 제조자), 즉 "마스터(master)" 관리자는 카드/장치에 위치한 특정 소프트웨어에 의해 여전히 카드를 제어할 수 있는데, 왜냐하면 보안 환경에 거주하는 일부 어플리케이션 프로그램들은 다른 어플리케이션 프로그램들보다 우선시되기 때문이다. 이동 원격통신 단말기에서, 부팅 소프트웨어가 존재해야 하는데, 상기 부팅 소프트웨어는 단말기의 주된 기능을 포함한다. 이러한 소프트웨어 없이, 통상적인 동작 모드로 단말기를 부팅하는 것은 불가능하다. 이러한 부팅 소프트웨어를 제어함으로써, 또한 다른 어플리케이션들보다 우선할 수 있다. 따라서, 마스터 관리자는, 예컨대 어플리케이션이 너무 많은 저장부를 요청하는 것을 방지할 수 있으며, 또는 원한다면 저장 영역 할당을 전체적으로 불가능하게 할 수 있다.
본 발명의 일 실시예에 따르면, 어플리케이션의 아이덴티티는, 예를 들면 어플리케이션 코드의 해시 값을 취하고, 해시 값을 개인키를 가지고 암호화함으로써 생성된 디지털 서명이다. 어플리케이션을 책임지는 당사자는 디지털 서명을 제공할 수 있으며, 서명된 어플리케이션과 함께 대응하는 공개키를 배포할 수 있다. 아이덴티티의 확인은 개인키에 대응하는 공개키를 가지고 어플리케이션의 해시 값을 암호 해제함으로써 수행된다. 이것은 아이덴티티를 제공하기 위한 유연하고 직접적인 방법이다. 개인키에 대해 액세스하는 당사자가 그 자신을 올바르게 확인하는 것만이 가능하다. 해시 값을 암호화하는 단계는 계산이 덜 요구된다는 점에서, 비 대칭키(asymmetric key)를 가지고 전체 어플리케이션 코드를 암호화하는 단계에 비해 장점을 가진다.
본 발명의 다른 실시예에 따르면, 제1 저장 영역은 제1 당사자 어플리케이션에 대해 할당되며, 저장 영역은 제1 당사자 어플리케이션 아이덴티티와 관련되며, 관련된 제1 당사자 어플리케이션은 보안 환경에 저장되며, 저장 영역에 대한 액세스의 제어는 제1 당사자 어플리케이션 아이덴티티 및 액세스 어플리케이션의 아이덴티티 간의 일치를 확인함으로써 수행된다. 이어서, 제2 저장 영역이 제2 당사자 어플리케이션에 대해 할당되며, 저장 영역은 제2 당사자 어플리케이션 아이덴티티와 관련되며, 관련된 제2 당사자 어플리케이션은 보안 환경에 저장되며, 저장 영역에 대한 액세스의 제어는 제2 당사자 어플리케이션 아이덴티티 및 액세스 어플리케이션의 아이덴티티 간의 일치를 확인함으로써 수행된다. 제1 당사자 및 제2 당사자는 서로간에 독립적이며, 따라서 다른 당사자들은 보안 환경 관리자와 접촉하지 않고도 보안 환경에 있는 저장 영역을 할당할 수 있다. 장치가 제2 당사자 어플리케이션으로 하여금 그렇게 하도록 권한을 부여하였다면, 제2 당사자 어플리케이션이 제1 당사자 어플리케이션의 할당된 저장 영역을 이용할 수 있는 경우도 가능하다. 예를 들면, 사용될 저장 영역이 장치의 사용자가 더 이상 필요로 하지 않는 서비스를 제공하는 서비스 제공자에 의해 일단 할당되었던 경우이다.
본 발명의 또 다른 실시예에 따르면, 어플리케이션은 장치 외부에 존재하며, 상기 장치로 하여금 보안 환경 내에 있는 저장 영역을 할당하는 단계와 저장 영역과 어플리케이션의 아이덴티티를 관련시키는 단계를 수행하도록 장치에 지시하는 명령들을 장치로 전송하며, 상기 어플리케이션 아이덴티티는 명령들에 첨부된다. 이것은 당사자가 장치로 명령을 전송할 수 있다는 점에서 장점을 가지며, 장치는 저장 영역을 할당할 것이며, 저장 영역과 어플리케이션의 아이덴티티를 관련시킬 것이고, 따라서 어플리케이션은 해야될 할당을 위해서 장치에 로딩될 필요가 없지만, 할당은 장치에 대해 원격으로 위치한 어플리케이션을 가지고 수행될 수 있다.
본 발명의 추가 실시예에 따르면, 장치는 인증 기관(Certification Authority, CA)에 의해 발행된 디지털 인증서를 저장한다. 공개키 구조에서 인증서들은 구조에 포함된 관계자들(actors)을 보증하고, 인증서의 소지자가 위탁 인증 기관에 의해 권한이 부여되었음을 보증하기 위해 사용된다. CA는 디지털 인증서의 요청자에 의해 제공된 정보를 확인하며, 성공적인 확인의 경우에, CA는 요청자에게 인증서를 발행할 수 있다. 인증서는 CA에 의해 서명되며, 예컨대 인증서 소유자 공개키, 소유자 이름 및 인증 소유자에 대한 다른 정보를 포함한다.
본 발명의 추가 특징들 및 본 발명이 가진 장점들은 첨부된 청구항들 및 다음의 설명을 연구할 때 명백해질 것이다. 당해 분야의 숙련자들은 다음에 기술된 실시예들 외의 실시예들을 창조하기 위해, 본 발명의 다른 특징들이 조합될 수 있다는 점을 이해한다. 새로운 실시예들을 생성하기 위해 기술된 실시예들을 조합하는 것도 또한 가능하다. 많은 다른 변경들, 수정들 및 조합들은 당해 분야의 숙련자에게는 명백할 것이다.
본 발명은 다음의 도면들을 참조하여 더욱 상세하게 기술될 것이다.
도 1은 데이터 보안을 제공하기 위한, 본 발명이 유리하게 적용될 수 있는 장치 아키텍처의 블록도를 도시하고 있다.
도 2는 제거 가능한 스마트 카드가 더 구비된, 본 발명이 유리하게 적용될 수 있는 데이터 보안을 제공하기 위한 장치 아키텍처의 블록도이다.
도 3은 본 발명에 따라, 보안 환경에서 저장 영역을 할당하기 위한 흐름도를 도시하고 있다.
데이터 보안을 제공하기 위한 장치 아키텍처가 도 1에 도시되어 있다. 그러한 시스템은 출원인의 국제 특허 어플리케이션 PCT/IB02/03216에 추가로 개시되어 있으며, 이러한 출원은 여기서 참조로서 통합된다. 상기 장치는 ASIC(Application Specific Integrated Circuit)(101)의 형태로 구현된다. 아키텍처의 처리부는 CPU(103) 및 디지털 신호 프로세서(Digital Signal Processor)(102)를 포함한다. 이동 원격전화 단말기, 휴대용 컴퓨터, PDA 등과 같은 전자 장치(100)에는 ASIC(101)이 포함되며, ASIC(101)은 장치(100)의 "핵심(brain)"으로 간주된다.
보안 환경(104)은 ASIC(101)이 부팅되는 롬(105)을 포함한다. 롬(105)은 부팅 어플리케이션 소프트웨어 및 운영 시스템을 포함한다. 보안 환경(104)에 거주하는 일부 어플리케이션 프로그램들은 다른 어플리케이션 프로그램들보다 우선한다. ASIC(101)이 구비될 수 있는 이동 원격통신 단말기에 있어서는, 단말기의 주된 기능을 포함하는 부팅 소프트웨어가 존재해야 한다. 이러한 소프트웨어 없이 단말기를 정상적인 동작 모드로 부팅하는 것은 불가능하다. 이것은 이러한 부팅 소프트웨어를 제어함으로써, 각 단말기의 초기 활성화를 제어하는 것 또한 가능하다는 장점을 가진다.
보안 환경(104)는 또한 데이터 및 어플리케이션들, 즉 보호된 데이터의 저장을 위한 램(106)을 포함한다. 바람직하게, 램(106)은 보안 환경(104) 내에서 보안이 중요한 동작들(security critical operations)을 수행하기 위한 작은 크기의 어플리케이션들인 소위 보호된 어플리케이션들 및 암호화 키들, 중간의 암호화 계산 결과들 및 패스워드들과 같은 객체들을 저장한다. 통상적으로, 보호된 어플리케이션들을 사용하는 방식은 "통상적인(normal)" 어플리케이션들이 어떤 보호된 어플리케이션으로부터 서비스들을 요청하도록 하는 것이다. 신규의 보호된 어플리케이션들은 어느 때나 보안 환경(104)에 다운로드될 수 있지만, 신규의 보호된 어플리케이션들이 롬에 거주하게 된다면 그렇지 않다. 보안 환경(104) 소프트웨어는 보호된 어플리케이션들의 실행 및 다운로드를 제어한다. 단지 서명된 보호된 어플리케이션들만이 동작하도록 허용된다. 보호된 어플리케이션들은 보안 환경(104)에 있는 어떠한 자원들이라도 액세스할 수 있으며, 보호된 어플리케이션들은 보안 서비스들의 제공을 위해 통상의 어플리케이션들과 또한 통신할 수 있다.
보안 환경(104)에서, 퓨즈 메모리(fuse memory)(107)는 제조되는 동안에 생성되고 ASIC(101)으로 프로그램되는 유일한 랜덤 번호(random number)를 포함하여 이루어진다. 이러한 랜덤 번호는 특정 ASIC(101)의 아이덴티티로서 사용되며, 암호화 동작들을 위한 키들을 유도하기 위해 추가로 사용된다. 더욱이, 보안 제어 레지스터 형태의 저장 회로 액세스 제어 수단은 보안 환경(104) 내에 구성된다. 보안 제어 레지스터의 목적은 레지스터에 세팅된 모드에 따라서, CPU(103)에 보안 환경(104)에 대한 액세스를 부여하거나, 또는 CPU(103)가 보안 환경(104)을 액세스하는 것을 방지하려는 것이다. CPU(103)에 대한 동작 모드들은 어플리케이션 소프트웨어에 의해 레지스터에서 세팅될 수 있으며, 아키텍처가 외부 신호들에 의존하지 않아도 되는 결과로 귀착된다. 보안의 관점에서, 이러한 점은 바람직한데, 왜냐하면 어플리케이션 소프트웨어를 제어함으로써 프로세서 모드들의 세팅이 또한 제어될 수 있기 때문이다. ASIC(101)에 연결된 외부 신호(미도시)를 가지는 것 또한 가능한데, 이러한 외부 신호에 의해 보안 제어 레지스터를 세팅하는 것이 가능하다. 외부 신호를 사용함으로써, 모드 변경이 더욱 쉽고 빠르게 실행될 수 있으며, 이러한 점은 테스트 환경에서 유리할 수 있다. 이러한 2가지 모드 세팅 수단의 조합, 즉 어플리케이션 외에도 외부 신호들의 조합이 실현될 수 있다.
아키텍처는 버스(108)에서 데이터 가시성(data visibility)의 제한을 위한 표준 브리지 회로(109)를 더 포함한다. 아키텍처는 탬퍼 레지스턴트 패키징(tamper resistant packaging) 내에 넣어져야 한다. 보안 관련 성분들 및 그들의 처리의 공개로 귀착될 수 있는 이러한 타입의 하드웨어에 대한 테스트 및 측정들을 조사하거나 또는 수행하는 것이 가능해서는 안 된다. DSP(102)는 DMA(Direct Memory Access) 유닛, 램들, 플레시 메모리들과 같은 다른 주변장치들(110)을 액세스하며, 부차적인 프로세서들이 ASIC(101) 외부에 제공될 수 있다.
데이터 보안을 제공하기 위한 장치 아키텍처의 다른 실시예가 도 2에 도시되어 있으며, 대응하는 참조 번호들은 도 1과 관련하여 기술된 바와 같은 대응하는 요소들을 의미한다. 도 1에서 기술된 아키텍처와 비교할 때, 도 2에서 도시된 아키텍처에서 차이점은 전자 장치(200)에 제거 가능한 스마트 카드(211), 예를 들면 보 안 환경으로 또한 간주되는 SIM(subscriber Identity Module) 카드가 구비된다는 점이다.
보안 목적을 위해서, 스마트 카드(211) 외에도 이동 단말기(200)는 위탁 CA(trusted CA)에 의해 발행된 디지털 인증서(digital certificate)를 저장하고 있다. 인증서들은 이동 단말기(200) 및/또는 스마트 카드(211)와 통신하는 관계자들(actors)에게 인증서의 소지인이 위탁 CA에 의해 권한이 부여되었다는 점을 보증하기 위해 사용된다. CA는 인증서에 서명하고, 인증서 소지자는 CA에 의해 서명된 인증서가 유효한지를 확인하기 위해 CA의 개인키에 대응하는 공개키를 가져야 한다. 다른 장치들이라면 다른 CA들로부터의 인증서들을 소지해야 한다는 점에 주의해야 한다. 그러한 경우에, 다른 CA들은 예를 들면 그들 자신의 공개 키들을 교환하는 식으로 서로간에 일부 통신을 수행해야 한다. 인증서들은 당해 분야의 숙련자들에게는 잘 알려져 있으며, 잘 알려진 표준 인증서들은 CCITT 권고 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)에 저장된다.
단계 304에서, 어플리케이션은 스마트 카드(211)에 있는 할당된 저장 영역을 액세스하기 위한 요청을 생성하며; ASIC(201)의 CPU(203)는 요청하는 어플리케이션의 아이덴티티를 검사한다. 요청하는 어플리케이션의 아이덴티티는 바람직하게는, 어플리케이션 코드의 해시 값(hash value)을 취하고, 개인키(private key)를 가지고 해시 값을 암호화함으로써 생성된 디지털 서명이다. 어플리케이션을 책임지는 자(party), 즉 오퍼레이터, 제3자 어플리케이션 개발자 또는 서비스 제공자는 디지털 서명을 제공할 수 있으며, 서명된 어플리케이션과 함께 대응하는 공개키를 배포할 수 있다. 다음에 아이덴티티의 확인은, ASIC(201)의 보안 환경에서, 어플리케이션 개인키에 대응하는 공개키를 가지고 어플리케이션의 해시 값을 암호 해제(decryting)함으로써, CPU(203)에 의해 수행된다. 스마트 카드(211)에 있는 할당된 저장 영역에 대한 액세스는, 카드(211)에 저장된 관련된 아이덴티티 및 액세스 어플리케이션(accessing appliation)의 아이덴티티간에 일치(correspondence)를 확인함으로써, CPU(203)에 의해 제어된다.
어플리케이션을 식별하는데 사용되는 다수의 방법들이 존재하며, 당해 분야의 숙련자들에 의해 알려져 있다. 위에서 기술된 바와 같이, 어플리케이션 코드에 대해 해시 함수들을 사용하고, 해시 코드에 서명하고 및/또는 인증서를 사용하는 하는 것이 가능하다. 인증서들에만 의존하는 것 또한 가능하지만, 더 높은 레벨의 보안을 얻기 위해서 추가적인 암호화 동작들이 실현될 수 있다. 다른 잠재적인 방법들은 어플리케이션 자체에 서명하는 단계, 플랫폼 생성 식별 번호들(platform generated identification number) 등을 사용하는 단계를 포함한다.
저장 영역이 스마트 카드(211) 또는 대안적으로 ASIC(201)의 보안 환경(204)에 할당되었을 때, 권한이 부여된 액세스 어플리케이션은 할당된 저장 영역에서, 암호화 키들, 암호화 키 데이터 재료, 중간의 암호화 계산 결과들 및 패스워드들과 같은 객체들을 읽고, 쓰고, 수정할 수 있다. 따라서, 권한이 부여된 액세스 어플리케이션은 필요하다면 저장 영역을 할당 해제(deallocate)하는 능력을 가지는, 할당된 저장 영역의 관리자로서 보일 수 있다.
도 3을 참조하면, 제1 저장 영역은 도면에 있는 단계들을 수행함으로써 제1 어플리케이션에 의해 할당될 수 있다. 이어서, 제2 저장 영역이 제2 어플리케이션에 대해 할당될 수 있으며, 어플리케이션들은 다른 아이덴티티들을 가진다. 따라서, 다른 자들은(parties)은 보안 환경 관리자를 접촉할 필요없이, 보안 환경(204, 211)에 그들 각각의 저장 영역을 할당할 수 있다.
비록 본 발명은 그의 특정한 예시적인 실시예들을 참조하여 기술되었지만, 변경들 및 그의 유사한 것들은 당해 분야의 숙련자들에게는 명백할 것이다. 첨부된 청구항들에 의해 정의된 바와 같이, 기술된 실시예들은 본 발명의 범위를 제한하려는 의도는 아니다.

Claims (14)

  1. 액세스가 엄격히 제어되는 보안 환경(104, 204, 211)을 가지는 장치(100, 200)에서 다중 어플리케이션들이 그들 각각의 데이터를 관리하도록 하는 방법에 있어서, 상기 방법은
    보안 환경(104, 204, 211) 내에 저장 영역을 할당하는 단계(301);
    상기 저장 영역과 어플리케이션의 아이덴티티를 관련시키는 단계(302);
    상기 보안 환경 내에 상기 관련된 아이덴티티를 저장하는 단계(303); 및
    상기 관련된 아이덴티티 및 액세스 어플리케이션의 아이덴티티 간의 일치를 확인함으로써, 상기 저장 영역에 대한 액세스를 제어하는 단계(304)를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서, 상기 어플리케이션의 아이덴티티는
    개인키에 의해 생성된 디지털 서명이며, 상기 디지털 서명은
    상기 어플리케이션에 첨부되며, 상기 아이덴티티의 확인은
    상기 개인키에 대응하는 공개키를 가지고 상기 디지털 서명을 확인함으로써 수행되는 것을 특징으로 하는 방법.
  3. 제1항 또는 제2항에 있어서, 상기 저장 영역을 할당하는 단계(301), 상기 저장 영역과 어플리케이션 아이덴티티를 관련시키는 단계(302), 상기 관련된 아이덴 티티를 저장하는 단계(303), 및 상기 저장 영역에 대한 액세스를 제어하는 단계(304)는
    제1 당사자의 어플리케이션에 대해 수행되며, 이어서 동일한 단계들(301, 302, 303, 304)이 상기 제1 당사자와 무관한 제2 당사자의 어플리케이션에 대해 수행되는 것을 특징으로 하는 방법.
  4. 제1항에 있어서, 상기 어플리케이션은
    상기 장치(100, 200)의 외부에 위치하며,
    상기 보안 환경(104, 204, 211) 내에 저장 영역을 할당하는 단계(301) 및
    상기 저장 영역과 상기 어플리케이션의 아이덴티티를 관련시키는 단계(302)를 수행하도록 상기 장치(100, 200)에 지시하는 명령들을 상기 장치(100, 200)에 전송하며,
    상기 어플리케이션 아이덴티티는
    상기 명령들에 첨부되는 것을 특징으로 하는 방법.
  5. 제1항에 있어서, 상기 장치(100, 200)는
    위탁 인증 기관에 의해 발행된 디지털 인증서를 저장하는 것을 특징으로 하는 방법.
  6. 제1항에 있어서, 상기 보안 환경(104, 204, 211)은
    스마트 카드(211)를 포함하는 것을 특징으로 하는 방법.
  7. 액세스가 엄격히 제어되는 보안 환경(104, 204, 211)을 가지는 장치(100, 200)에서 다중 어플리케이션들이 그들 각각의 데이터를 관리하도록 하는 시스템에 있어서, 상기 시스템은
    상기 보안 환경(104, 204, 211) 내에 저장 영역을 할당(301)하기 위한 수단(103, 203);
    상기 저장 영역과 어플리케이션의 아이덴티티를 관련(302)시키는 수단(103, 203);
    상기 보안 환경(104, 204, 211) 내에 상기 관련된 아이덴티티를 저장(303)하기 위한 수단(103, 203); 및
    상기 관련된 아이덴티티 및 액세스 어플리케이션의 아이덴티티 간의 일치를 확인함으로써, 상기 저장 영역에 대한 액세스를 제어(304)하기 위한 수단(103, 203)을 포함하는 것을 특징으로 하는 시스템.
  8. 제7항에 있어서, 상기 어플리케이션의 아이덴티티는
    개인키에 의해 생성된 디지털 서명이며, 상기 디지털 서명은
    상기 어플리케이션에 첨부되며, 상기 아이덴티티의 확인은
    상기 개인키에 대응하는 공개키를 가지고 상기 디지털 서명을 암호 해독함으로써 수행되는 것을 특징으로 하는 시스템.
  9. 제7항에 있어서, 상기 어플리케이션은
    장치(100, 200)의 외부에 위치하며,
    상기 보안 환경(104, 204, 211) 내에 저장 영역을 할당(301)하고,
    상기 저장 영역과 어플리케이션의 아이덴티티를 관련(302)시키도록 상기 장치(100, 200)에 지시하는 명령들을 상기 장치(100, 200)에 전송하도록 구성되며,
    상기 어플리케이션 아이덴티티는
    상기 명령들에 첨부되는 것을 특징으로 하는 시스템.
  10. 제7항에 있어서, 상기 장치(100, 200)는
    인증 기관에 의해 발행된 디지털 인증서를 저장하도록 구성되는 것을 특징으로 하는 시스템.
  11. 제7항에 있어서, 상기 보안 환경(104, 204, 211)은
    스마트 카드(211)를 포함하는 것을 특징으로 하는 시스템.
  12. 데이터 보안을 제공하는 회로부(101, 201)로, 상기 회로부(101, 201)는 적어도 하나의 프로세서(103, 203) 및 적어도 하나의 저장 회로(104, 204, 211)를 포함하며, 상기 회로부(101, 201)는
    회로 보안에 관한 보호된 데이터가 위치한, 상기 저장 회로(104, 204, 211) 에 있는 적어도 하나의 저장 영역;
    적어도 2개의 다른 동작 모드들 중 하나에서 프로세서(103, 203)를 세팅하도록 구성된 모드 세팅 수단으로, 상기 프로세서(103, 203) 동작 모드를 변경할 수 있는 모드 세팅 수단;
    제1 프로세서 동작 모드가 세팅될 때, 상기 프로세서(103, 203)가 상기 보호된 데이터가 위치한 저장 영역을 액세스할 수 있도록 구성된 저장 회로 액세스 제어 수단; 및
    제2 프로세서 동작 모드가 세팅될 때, 상기 프로세서(103, 203)가 상기 보호된 데이터가 위치한 상기 저장 영역을 액세스할 수 없도록 구성된 저장 회로 액세스 제어 수단을 포함하는 것을 특징으로 하는 회로부(101, 201).
  13. 제12항에 따라 데이터 보안을 제공하기 위한 상기 회로부(101, 201)를 포함하는 것을 특징으로 하는 장치(100, 200).
  14. 제13항에 따른 장치(100, 200)로, 상기 장치는
    이동 원격통신 단말기인 것을 특징으로 하는 장치.
KR1020067000157A 2006-01-03 2003-07-04 키 저장 관리 KR100823631B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020067000157A KR100823631B1 (ko) 2006-01-03 2003-07-04 키 저장 관리

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020067000157A KR100823631B1 (ko) 2006-01-03 2003-07-04 키 저장 관리

Publications (2)

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

Family

ID=37137818

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067000157A KR100823631B1 (ko) 2006-01-03 2003-07-04 키 저장 관리

Country Status (1)

Country Link
KR (1) KR100823631B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100857760B1 (ko) * 2007-05-15 2008-09-10 삼성전자주식회사 플래시 메모리를 이용한 암호키 저장 장치 및 그것의 보안방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5787169A (en) 1995-12-28 1998-07-28 International Business Machines Corp. Method and apparatus for controlling access to encrypted data files in a computer system
US6148083A (en) * 1996-08-23 2000-11-14 Hewlett-Packard Company Application certification for an international cryptography framework
KR20010096814A (ko) * 2000-04-14 2001-11-08 홍기융 전자서명 인증기반 파일시스템 해킹방지용 보안커널 방법
KR20010088917A (ko) * 2001-07-30 2001-09-29 최종욱 디지털 정보 보안 방법 및 그 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100857760B1 (ko) * 2007-05-15 2008-09-10 삼성전자주식회사 플래시 메모리를 이용한 암호키 저장 장치 및 그것의 보안방법

Also Published As

Publication number Publication date
KR100823631B1 (ko) 2008-04-21

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 (ko) 보안 모드 제어 메모리
CA2923740C (en) Software code signing system and method
KR101861401B1 (ko) 장치 기능과 애플리케이션의 결합
KR100851623B1 (ko) 암호 코프로세서를 포함하는 장치
US6609199B1 (en) Method and apparatus for authenticating an open system application to a portable IC device
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
US20110289294A1 (en) Information processing apparatus
US20110131421A1 (en) Method for installing an application on a sim card
US20050202803A1 (en) Secure interaction between downloaded application code and a smart card in a mobile communication apparatus
JP4417952B2 (ja) デバイスにおいてテストを行う方法とシステム、およびデバイス
JP2012533128A (ja) セキュア仮想マシンを提供するためのシステムおよび方法
CN107358118B (zh) Sfs访问控制方法及系统、sfs及终端设备
JP4526383B2 (ja) 実行可能なコードを格納するタンパーエビデントな取り外し可能な媒体
CN110352411B (zh) 用于控制对安全计算资源的访问的方法和装置
KR100823631B1 (ko) 키 저장 관리
JP4507569B2 (ja) 情報処理装置および情報処理方法、プログラム、並びに記録媒体
US20240022418A1 (en) Cryptographic processing
KR100862389B1 (ko) 운영자 루트 인증서를 이용하여 어플리케이션 설치를제어하는 방법 및 장치
JP2005085266A (ja) マイクロプロセッサ周辺装置アクセス制御
KR20240025684A (ko) 장치의 보안 요소

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