KR100730708B1 - 암호화된 어플리케이션 설치를 위한 구조 - Google Patents

암호화된 어플리케이션 설치를 위한 구조 Download PDF

Info

Publication number
KR100730708B1
KR100730708B1 KR1020057014216A KR20057014216A KR100730708B1 KR 100730708 B1 KR100730708 B1 KR 100730708B1 KR 1020057014216 A KR1020057014216 A KR 1020057014216A KR 20057014216 A KR20057014216 A KR 20057014216A KR 100730708 B1 KR100730708 B1 KR 100730708B1
Authority
KR
South Korea
Prior art keywords
application
key
secure environment
encrypted
secure
Prior art date
Application number
KR1020057014216A
Other languages
English (en)
Other versions
KR20050105449A (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 KR1020057014216A priority Critical patent/KR100730708B1/ko
Publication of KR20050105449A publication Critical patent/KR20050105449A/ko
Application granted granted Critical
Publication of KR100730708B1 publication Critical patent/KR100730708B1/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

Landscapes

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

Abstract

본 발명은 장치 프로세서에 의해 액세스가 엄격히 관리되는 보안 환경으로 되어 있는 장치에 암호화된 어플리케이션을 제공해 장치가 그 어플리케이션을 실행할 수 있게 해독화하도록 제어하는 방법 및 시스템에 관한 것이다. 본 발명은, 어플리케이션이 그 적절한 셋 업을 설정하는 설치 부분과 보안 환경에서 실행될 보호 부분으로 나뉜다는 개념에 기반한다. 본 발명의 이점은 어플리케이션 제공자가 어플리케이션 소프트웨어의 해독을 관리할 자유를 가진다는데 있다. 그것이 보안 환경에서 수행되므로, 장치의 소유자는 어플리케이션을 액세스하고 그에 따라 카피, 읽기 또는 조작을 할 수 없다. 게다가, 어플리케이션 제공자가 암호화된 어플리케이션 및 그 어플리케이션을 해독할 키의 설치를 취급하므로, 암호화/해독화 방식 및 키 관리를 취급하는데 있어 실행 수단을 갖게 된다.

Description

암호화된 어플리케이션 설치를 위한 구조{Architecture for encrypted applicationn installation}
본 발명은 장치 프로세서에 의해 액세스가 엄격히 통제되는 보안 환경으로 구성된 장치상에서 실행될 어플리케이션을 제공하는 방법 및 시스템에 관한 것이다.
모바일 통신 단말, 휴대형 컴퓨터 및 PDA와 같은 다양한 전자 장치들은, 어플리케이션 프로그램, 암호 키들, 암호 키 데이터 자료, 중간 암호 산출 결과, 패스워드, 외부적 다운로드 데이터에 대한 인증 등과 같은 보안 관련 요소들에 대한 액세스를 필요로 한다. 보통 이러한 요소들 및 이들의 처리는 그 전자 장치 안에서 비밀리에 다뤄져야 할 필요가 있다. 이상적으로는, 이들이 가능한 한 극소수의 사람에게 알려져야 한다. 그것은, 이러한 요소들이 알려져 있는 경우 가령 모바일 단말과 같은 장치가 부당한 간섭을 받을 수 있기 때문이다. 이런 유형의 요소들로의 액세스는 악의적인 의도를 가지고 단말기를 조작하고자 하는 침입자를 돕는 것이 될 수 있다.
따라서, 안전한 실행 환경이 도입되고, 이 환경하에서 전자 장치 안의 프로세서가 보안 관련 요소들에 액세스할 수 있게 된다. 안전한 실행 환경으로의 액세 스는 그 안에서의 처리 및 빠져나감이 주의 깊게 통제된다. 이러한 보안 환경을 구비한 종래 기술상의 하드웨어는 보통 간섭 저항 패키징 안에 둘러싸여 있다. 이러한 종류의 하드웨어를 탐색하거나 계측 및 테스트를 수행하는 것은, 보안 관련 요소들을 드러내고 이들을 처리하는 결과를 낳을 수 있기 때문에 가능해서는 안된다.
어플리케이션 프로그램의 제공자들은 간섭 저항 소프트웨어를 생성하기 위해 이 프로그램들을 암호화한다. 어플리케이션 프로그램 코드가 보안 환경에서 실행될 때만, 코드가 해독되고 평범한 텍스트로서 다뤄진다.
2000년 11월 열린, 프로그래밍 언어 및 운용 시스템에 대한 구조적 지원(ASPLOSS-IX)에 대한 제7차 국제 회의 절차시 출간된 169-177 페이지의 David Lie 등의 "카피 및 간섭 저항 소프트웨어를 위한 구조적 지원"은 XOM(eXecute Only Memory)라고 불리는 시스템을 개시한다. 모든 XOM 프로세서는 공개/비밀 키 한 쌍을f 포함하며, 비밀 키는 하드웨어에 보관되어 프로세서에만 알려지고 프로세서의 소유자나 다른 누구에게도 알려지지 않는다. XOM 소프트웨어가 구매될 때, 이 소프트웨어는 이 공개/비밀 키 쌍에 의한 암호화를 거친다. 실행 직전에 프로세서에 의해 실행가능 코드가 해독되며 평범한 텍스트 코드는 절대 프로세서 칩에 남지 않는다. 이러한 유형의 구조에서의 문제는, 어플리케이션 제공자들이 어플리케이션 설치 중에 어플리케이션이 처리되는 방식을 규정하는데 있어 매우 한정된 실행수단들을 가진다는 것이다.
본 발명의 목적은 상술한 문제를 경감시키면서, 키 관리 및 암호화 시스템의 변경을 도모하는 시스템을 제공하는데 있다.
이러한 목적은 청구항 1 및 2에 따라, 액세스가 장치 프로세서에 의해 엄격히 통제되는 보안 환경으로 된 장치상에서 실행될 어플리케이션을 제공하는 방법, 및 청구범위 8 및 9에 따라, 장치 프로세서에 의해 액세스가 엄격히 통제되는 보안 환경으로 된 장치상에서 실행될 어플리케이션을 제공하도록 구성된 시스템에 의해 달성된다.
본 발명의 제1양태에 따르면, 암호화된 어플리케이션 및, 보안 환경으로의 보안 채널을 통해 상기 암호화된 어플리케이션 해독용 제1키가 구비된 장치가 제공되는 방법이 제공된다. 암호화된 어플리케이션은 보안 환경에서 제1키를 이용해 해독된다. 또, 이 어플리케이션은 보안 환경에서 제2키를 사용해 재암호화되며, 재암호화된 어플리케이션은 보안 환경 밖에 저장된다.
본 발명의 제2양태에 따르면, 암호화된 어플리케이션 및, 보안 환경으로의 보안 채널을 통해 상기 암호화된 어플리케이션 해독용 제1키가 구비된 장치가 제공되는 방법이 제공된다. 또, 제1키는 보안 환경에서 제2키를 이용해 암호화되고, 그리고나서 암호화된 키가 보안 환경 밖에서 저장된다.
본 발명의 제3양태에 따르면, 암호화된 어플리케이션 및, 보안 환경으로의 보안 채널을 통해 그 암호화된 어플리케이션 해독용 제1키를 장치에 제공하도록 된 수단이 포함된 시스템이 제공된다. 상기 수단은 보안 환경에서 제1키를 이용하여, 암호화된 어플리케이션을 해독하도록 구성된다. 또, 상기 수단은 보안 환경에서 제2키를 이용하여 어플리케이션을 재암호화하도록 구성되며, 그에 따라 재암호화된 어플리케이션은 보안 환경 바깥에 저장된다.
본 발명의 제4양태에 따르면, 암호화된 어플리케이션 및, 보안 환경으로의 보안 채널을 통해 그 암호화된 어플리케이션 해독용 제1키를 장치에 제공하도록 된 수단이 포함된 시스템이 제공된다. 또, 상기 수단은 보안 환경에서 제2키를 사용하여 제1키를 암호화하도록 구성되고, 그에 따라 암호화된 키는 보안 환경 바깥에서 저장된다.
본 발명은, 어플리케이션을 실행하도록 구성된 장치로 어플리케이션이 다운로드된다는 개념에 기반하고 있다. 어플리케이션은 그 어플리케이션의 적절한 셋 업을 설정하는 설치부와, 보안 환경에서 실행될 보안부로 나눠진다. 설치부는 암호화된 어플리케이션, 즉, 보호부, 및 그를 해독할 키들을 생성한다. 설치부는 이 기술분야에서 알려져 있는 어떤 구성을 이용해 암호화될 수 있다. 이 어플리케이션 설치의 단계에서, 다운로드된 데이터는 보안 환경보다는 완화된 보안 요건을 가진 장치의 일부 안에 보유된다. 이 부분은 이제부터 비보안 환경이라 불려질 것이다. 어플리케이션이 장치 안에 다운로드될 때, 설치부는 서버와 보안 채널을 설정하고, 이 서버는 보안 채널 상에서 장치의 보안 환경으로 제1키를 제공하여 장치가 그 키를 가지고 암호화된 어플리케이션을 해독할 수 있도록 한다. 장치는 제1키를 수신하기 위해 자신을 인증할 필요가 있을 수 있다. 암호화된 어플리케이션이 실행되려면, 그 어플리케이션은 보안 환경으로 로드되어 제1키에 의해 해독된다. 그러면 어플리케이션이 평이한 텍스트 형태로 되어 실행될 수 있다. 어플리케이션을 실행할 생각이 없으면, 제2키를 이용해 어플리케이션이 재암호화되어 보안 환경 밖, 즉, 비보안 환경에 저장된다. 이러한 본 발명의 개념의 이점은 어플리케이션 제공자가 어플리케이션 소프트에어의 해독을 제어할 자유를 가진다는 데 있다. 이것이 보안 환경에서 수행되기 때문에, 가령 모바일 폰과 같은 장치의 소유자는 그 어플리케이션을 액세스할 수 없고, EK라서 그것을 카피, 읽기, 또는 조작할f 수 없다. 게다가, 어플리케이션 제공자가 암호화된 어플리케이션의 설치 및 그 어플리케이션을 해독할 키를 취급하므로, 암호화/해독화 체계 및 키 관리를 다루는 실행 가능한 수단이 주어지게 된다.
고정 상태를 유지해야 하는 유일한 부분이 어플리케이션의 로딩 부분, 즉 데이터를 보안 환경으로 로드하고 암호화된 어플리케이션의 해독을 취급하는 어플리케이션의 부분이다. 또 다른 이점은, 어플리케이션이 제2키에 의해 보안 환경에서 재암호화되어 보안 환경 밖에서 저장될 수 있다는 것이다. 어플리케이션이 실행되지 않을 때, 그것은 보안 환경으로 저장된다. 보안 환경 메모리는 정주하는 비보안 환경 메모리에 비해 상대적으로 값비싸다. 어플리케이션이 다시 실행되려고 하는 순간, 재암호화된 어플리케이션이 보안 환경 안으로 로드되고 제2키를 이용해 해독된다.
본 발명의 실시예에 따르면, 제1키는 제2키를 이용해 보안 환경에서 암호화된다. 그리고 나서 암호화된 제1키는 보안 환경 외부에 저장된다. 이 실시예는 제1키가 앞으로의 어플리케이션 다운로드에 사용될 수 있다는 이점을 가진다. 수행되어야 할 모든 것은, 제2키를 이용해 보안 환경에서 제1키를 암호화하여 그 암호화된 제1키를 보안 환경 외부에 저장하는 것이다. 그러면 제1키가 보안 환경에서, 다운로드된 암호화 어플리케이션을 해독하는데 사용될 수 있다. 이것은 암호화된 제1키를 보안 환경으로 로딩하고 그것을 제2키로 해독함으로써 행해진다. 이것은 보안 채널설치를 포함하는, 제1키의 설치 단계를 이용할 필요가 없다는 것을 의미한다. 이것은 특히, 상당 수의 어플리케이션들이 매우 짧은 시간 동안 장치로 다운로드될 가능성이 있는, 생산 및/또는 개발 단계에서 유용하다.
본 발명의 다른 실시예에 따르면, 제2키가 어플리케이션 자체에 구비되어 어플리케이션이 보안 환경으로 로드되고 제1키에 의해 해독될 때 추출될 수 있도록, 제2키는 어플리케이션으로부터 파생되고 대칭적이다. 이것은 어플리케이션 제공자에 제2키와 관련한 암호화/해독화시 어느 키가 사용될지를 결정할 자유가 주어진다는 점에서 이점을 가진다. 그러면 제2키 관리는 어플리케이션 제공자에 의해 통제된다. 제2키가 대칭적이라는 사실은, 제2키를 이용하는 암호화/해독화가, 제2키가 비대칭적일 때에 비해 계산상의 요구가 덜할 것이라는 것을 의미한다.
본 발명의 또 다른 실시예에 따르면, 제2키는 대칭적이고, 어플리케이션 시드(seed)를이용하는 어플리케이션으로부터 파생된다. 가령 어플리케이션 일련 번호의 형태로 된 어플리케이션 시드를 이용함으로써, 제2키를 생성할 수 있다. 일련 번호는 장치 생성의 정지 키를 이용해 보안 환경에서 적절한 알고리즘을 통해 암호화되고, 이 동작은 대칭적 제2키를 생성한다. 이 실시예는 제2키가 배포되어서는 안되지만, 보안 환경에서 보다 쉽게 생성될 수 있다는 이점을 가진다.
본 발명의 다른 특징들 및 이점들은 이어지는 설명과 첨부된 청구범위들을 검토할 때, 더 명확해질 것이다. 이 기술분야의 당업자라면 이하에서 설명한 것 이외의 실시예들을 호환가능하게 생성할 수 있을 것이다. 여러 다양한 선택, 변경 및 결합형태가 이 분야의 당업자에 있어 자명할 것이다. 따라서 개시된 실시예들은 첨부된 청구항들에 의해 정의된 것과 같은 본 발명의 범위를 제한하려고 의도된 것이 아니다.
본 발명은 이하의 도면들을 참조하여 보다 상세히 설명될 것이다.
도 1은 본 발명이 바람직하게 적용될 수 있는, 데이터 보안을 제공하기 위한 장치 구조의 블록도를 도시한 것이다.
도 2는 본 발명에 따라, 암호화된 어플리케이션이 어떻게 보안 환경으로 로드되어 일반 텍스트, 즉 실행가능한 형태로 해독되는지에 관한 블록도를 도시한 것이다.
도 3은 본 발명의 실시예에 따라, 대칭적 제2키가 어플리케이션으로부터 어떻게 파생되는지를 보인 것이다.
데이터 보안을 제공하는 장치 구조가 도 1에 도시된다. 이러한 시스템은 본 출원인의 국제 특허 출원 PCT/IB02/03216에 자세히 기재되어 있으며, 그 사항은 이 명세서 상에 참조 형태로 포함된다. 장치는 ASIC(Application Specific Integrated Circuit)(101)의 형태로 구성된다. 이 구조의 프로세싱부는 CPU(103) 및 디지털 신호 프로세서(DSP)(102)를 포함한다.
보안 환경(104)은 ASIC(101)이 부팅되는 롬(105)을 포함한다. 이 롬(105)은 부팅 어플리케이션 소프트웨어 및 운용 시스템을 포함한다. 보안 환경(104)에 상주하는 소정 어플리케이션 프로그램이 다른 어플리케이션 프로그램들에 대해 우선권을 가즌다. ASIC(101)이 구성될 수 있는 모바일 통신 단말기에서, 단말기의 메인 기능을 포함하는 부팅 소프트웨어가 존재해야 한다. 이 소프트웨어 없이는 단말기를 일반 동작 모드로 부팅하는 것이 있을 수 없다. 이것은, 이 부팅 소프트웨어를 제어함으로써 각 단말기의 초기 동작을 제어하는 것 역시 가능하다는 이점을 가진다.
보안 환경(104)은 또 데이터 및 어플리멩션들의 저장을 위한 램(106)을 포함한다. 램(106)은, 보안 환경(104) 안에서 보안에 민감한 동작들을 수행하기 위한 보다 작은 크기의 어플리케이션들인, 소위 보호 어플리케애션들을 저장한다. 보통, 보호 어플리케이션들을 이용하는 방법은, 소정 보호 어플리케이션으로부터 "일반" 어플리케이션들이 서비스를 요청하게 두는 것이다. 새로운 보호 어플리케이션들은, 이들이 롬에 상주할 경우만 빼고, 어느 때든 보안 환경(104)으로 다운로드 될 수 있다. 보안 환경(104) 소프트웨어는 보호 어플리케이션들의 다운로드 및 실행을 제어한다. 서명된 보호 어플리케이션들만이 실행 허용된다. 보호 어플리케이션들은 보안 환경(104) 내 어느 자원들에라도 액세스할 수 있고, 또 보안 서비스 공급을 위해 일반 어플리케이션들과 통신할 수도 있다.
보안 환경(104)에는, 제조시 ASIC(101) 안에 만들어지고 프로그램된 고유 랜덤 넘버를 포함한 퓨즈 메모리(107)가 구비된다. 이 랜덤 넘버는 특정 ASIC(101) 의 아이덴티티로서 사용되고 추후 암호화 동작에 필요한 키들을 도출하는데 사용된다 . 그 구조는 버스(108) 상의 데이터 가시성의 제한을 위한 표준 브리지 회로(109)를 더 포함한다. 상기 구조는 간섭 저항 패키징 안에 둘러싸여 있어야 한다. 보안 관련 요소들을 드러내어 이들을 처리하게 만들 수 있는, 이런 유형의 하드웨어를 검사하거나 측정 및 테스트를 수행하는 것이 가능해서는 안된다. DSP(102)는 직접 메모리 액세스(DMA)부, 램들, 플래쉬 메모리들 및 부가적 프로세서들과 같이 ASICC(101) 밖에서 제공될 수 있는 다른 주변기기들(110)을 액세스한다.
CPU(103)가 하나는 보안 동작 모드이고 하나는 비보안 동작 모드인 서로 다른 두 모드들에서 동작할 수 있는 상술한 구조를 제공함으로써, 장치(101)의 CPU(103)는 그 장치(101)로 다운로드된 검증되지 않은 소프트웨어를 실행할 수 있다. 이것은, 오직 검증된 소프트웨어만이 보안 환경(104)에 액세스한다는 사실에 서 비롯된다. 이것은 제3자가, 보안 환경(104)에 있을 때의 보안 기능들에 영향을 미치게하도록 장치(101)의 보안 관련 요소들을 조작할 수 있게 하는 정보로 액세스하게될 위험 부담 없이, 모바일 통신 단말기와 그 소프트웨어를 테스트, 디버깅, 및 서비스할 수 있도록 허용한다.
보안 모드에서, 프로세서(103)는 보안 환경(104) 내에 위치한 보안 관련 데이터에 액세스할 수 있다. 보안 데이터는 암호화 키들과 알고리즘, 회로를 부팅하기 위한 소프트웨어, 암호화 키 재료로서 사용된 랜덤 넘버들과 같은 비밀 데이터, 어플리케이션 프로그램들 등을 포함한다. 장치(101)는 모바일 통신 단말기들 안에서 사용됨이 바람직하지만, 컴퓨터, PDA, 또는 기타 데이터 보호가 필요한 장치 등 의 전자 장치들에서도 사용될 수 있다. 이러한 보안 데이터 액세스 및 이들의 처리는, 보안 데이터로 액세스하는 침입자가 그 단말기를 조작할 수 있기 때문에 제한될 필요가 있다. 단말기를 테스트 및/또는 디버깅할 때, 보안 정보에 대한 액세스는 허용되지 않는다. 이러한 이유로, 프로세서(103)는 비보안 모드에 위치되며, 이 모드에서는 보안 환경(104) 내 보호 데이터로의 액세스가 더 이상 주어지지 않게 된다.
도 2는 암호화된 어플리케이션이 보안 환경으로 로드되어 일반 텍스트, 즉 실행가능한 형식으로 해독되는 방법을 보인 블록도이다. 먼저, 어플리케이션(202)이 그 어플리케이션(202)을 실행하도록 구성된 장치(210)로 로드된다(211). 어플리케이션(202)은 어플리케이션(202)의 적절한 셋 업을 설정하는 설치부분(203), 및 보안 환경(205)에서 실행될 보호 부분(204)으로 나눠진다. 설치 부분(203)은 암호화된 어플리케이션, 즉 보호 부분(204), 및 그것을 해독할 키들을 생성한다. 설치부분(203)은 암호화되지 않는다. 설치 단계에서, 어플리케이션(202)은 비보안 환경(206) 내에 있게 된다. 어플리케이션(202)이 장치(201)로 로드될 때, 설치 부분(203)은 서버(208)와 보안 채널(207)을 설정하고, 서버(208)는 그 보안 채널(207)을 통해, 장치(201)의 보안 환경(205)으로 제1키를 제공하고, 장치(205)는 그 제1키를 가지고, 암호화된 어플리케이션(204)을 해독한다. 보안 채널(207)은 수많은 방식으로 생성될 수 있다. 예를 들어, 장치(201)의 공공 키를 이용하여 서버(208)에서 제1키를 암호화할 수 있다. 그것은 보안 환경(205)에서 장치(201)의 비밀 키를 가지고 해독될 것이다. 그렇게 보안 채널이 제공된다. SSL 프로토콜을 이용해 제1키를 보안 환경(205)으로 넘기는 것 역시 가능하다. 주요한 이슈는 제3자가 채널(207)을 도청하여 제1키의 일반 텍스트 버전을 알아낼 수 없도록 제1키가 암호화되는 것이다. 암호화된 어플리케이션(204)이 실행되어야 할 때, 그 어플리케이션은 보안 환경(205)으로 로드되고 제1키에 의해 해독된다. 그 보호 어플리케이션은 이제 평이한 텍스트(209)로 되어 실행될 수 있게 된다. 평이한 텍스트 어플리케이션(209)을 보안 환경(205)에서 실행하고자 하는 의도가 없을 때, 그것은 제2키를 이용해 재암호화되고 비보호 환경(206)에 저장된다.
제2키는 대칭형이고 여러 방법으로 어플리케이션으로부터 파생될 수 있다. 도 3을 참조하면, 설치 부분(302)과 보호 어플리케이션 부분(여기서 암호화된 어플리케이션으로도 칭함)(303)을 포함하는, 장치(305)로 다운로드된 어플리케이션(301)이 도시된다. 제2키는 304로 지칭되어 어플리케이션 코드 자체에 첨부된다. 제2키가 보호 어플리케이션(303)의 일부를 형성하고 결과적으로 제1키에 의해 암호화됨을 주지해야 한다. 제2키는 보호 어플리케이션(303)이 보안 환경(306)으로 로드될 때 추출되고 제1키에 의해 해독된다. 어플리케이션(307)은 제2키(308)와 마찬가지로 평이한 텍스트로 된다. 제2키는 어플리케이션 시드를 이용해 그 어플리케이션으로부터 파생될 수도 있다. 예를 들어, 어플리케이션 일련 번호 등의 형태로 된 어플리케이션 시드를 이용함으로써, 제2키를 생성하는 것이 가능하다. 일련 번호는 장치 발생의 고정 키를 이용해 보안 환경에서 적절한 알고리즘을 이용해 암호화되고, 이 동작이 대칭적 제2키를 생성한다. 이 동작을 다각화(diversification)라 부른다.
도 2를 다시 참조하면, 본 발명에 의해, 제1키가 제2키를 사용해 보안 환경(205)에서 암호화된다. 암호화된 제1키는 비보안 환경(206)에 저장된다. 이 실시예는, 제1키가 앞으로 어플리케이션들(202)의 다운로드에 사용될 수 있다는 이점을 가진다. 수행될 모든 것은 보안 환경(205)에서 제2키를 가지고 제1키를 암호화하는 것이고 그 암호화된 제1키를 비보안 환경(206)에 저장하는 것이다. 그러면 제1키는 다운로드된 암호화 어플리케이션(204)을 보안 환경(205)에서 해독하는데 사용될 수 있다. 이것은 암호화된 제1키를 보안 환경(205)으로 다운로드하고 그것을 제2키로 해독함으로써 행해진다. 그리고나서 보호된 어플리케이션(204)이 제1키를 가지고h 해독된다. 이것은 보안 채널(207)의 설정을 포함하는, 제1키의 설치 단계가 사용될 필요가 없다는 것을 의미한다. 이것은 특히 많은 수의 어플리케이션들(202)이 매우 짧은 시간 안에 장치(201)로 다운로드될지도 모르는 생산 및/또는 개발 단계에서 유용하다. 생산 및/또는 개발 단계에서, 보호 채널 상에서 여러 키들을 연속으로 보안 환경으로 전송하는 것 역시 바람직한 점인데, 그것은 각각의 키가 나중에 그 키에 대응하는 암호화된 어플리케이션을 보안 환경에서 해독하는데 사용될 수 있기 때문이다.
상술한 실시예들은 본 발명을 예시한 것이므로 이 분야의 당업자라면 첨부된 청구항들의 범위로부터 벗어나지 않으면서 여러 대체적 실시예들을 설계할 수 있다는 것을 알아야 한다. "포함"이라는 말은 청구항에 언급된 것 이외의 구성요소들 또는 동작단계들의 존재를 배재하는 것이 아니다. 단수형 구성요소는 복수형 구성요소들의 존재를 배재하지 않는다. 여러 수단을 나열하는 장치 청구항에서, 이 수 단들 중 다수가 하나이거나 동일한 하드웨어 항목에 의해 실시될 수 있다.

Claims (14)

  1. 장치 프로세서에 의해 액세스가 엄격히 관리되는 보안 환경으로 이뤄진 장치 상에서 실행될 어플리케이션을 제공하는 방법에 있어서,
    상기 장치(201)에 암호화된 어플리케이션(204)이 제공되는 단계;
    보안 환경(205)으로의 보안 채널(207)을 통해, 상기 장치(201)에 상기 암호화된 어플리케이션(204)을 해독하기 위한 제1키가 제공되는 단계;
    보안 환경(205)에서, 상기 제1키를 이용해 상기 암호화된 어플리케이션(204)을 해독하는 단계;
    상기 보안 환경에서, 제2키를 이용해 상기 어플리케이션(209)을 재암호화하는 단계; 및
    상기 재암호화된 어플리케이션을 상기 보안 환경 밖에서 저장하는 단계를 포함함을 특징으로 하는 방법.
  2. 장치 프로세서에 의해 액세스가 엄격히 관리되는 보안 환경으로 이뤄진 장치 상에서 실행될 어플리케이션을 제공하는 방법에 있어서,
    상기 장치(201)에 암호화된 어플리케이션(204)을 제공하는 단계;
    보안 환경(205)으로의 보안 채널(207)을 통해, 상기 장치(201)에 상기 암호화된 어플리케이션(204)을 해독하기 위한 제1키가 제공되는 단계;
    상기 보안 환경(205)에서, 제2키를 이용해 상기 제1키를 암호화하는 단계; 및
    상기 보안 환경(205) 밖에서, 상기 암호화된 제1키를 저장하는 단계를 포함함을 특징으로 하는 방법.
  3. 제1항에 있어서,
    상기 보안 환경(205)에서, 상기 제2키를 이용해 상기 제1키를 암호화하는 단계; 및
    상기 보안 환경(205) 밖에서, 상기 암호화된 제1키를 저장하는 단계를 포함함을 특징으로 하는 방법.
  4. 제1항 또는 제2항에 있어서, 상기 제2키는 대칭형이고 상기 어플리케이션(202)으로부터 도출될 수 있음을 특징으로 하는 방법.
  5. 제4항에 있어서, 상기 제2키는 어플리케이션(202) 자체에 구비됨을 특징으로 하는 방법.
  6. 제4항에 있어서, 상기 제2키는 보안 환경(205)에서 어플리케이션 시드(seed)를 이용해 생성됨을 특징으로 하는 방법.
  7. 제1, 제2, 및 제3항 중 어느 한 항에 있어서, 각각이 보안 환경에서 대응되는 암호화된 어플리케이션을 해독하는데 사용되는 복수의 키들이, 보안 채널을 통해 보안 환경으로 연속적으로 전송될 수 있음을 특징으로 하는 방법.
  8. 장치 프로세서에 의해 액세스가 엄격히 관리되는 보안 환경으로 이뤄진 장치 상에서 실행될 어플리케이션을 제공하는 시스템에 있어서,
    상기 장치(201)에 암호화된 어플리케이션(204)을 제공하는 수단;
    보안 환경(205)으로의 채널(207)을 통해, 상기 장치에 상기 암호화된 어플리케이션(204)을 해독하기 위한 제1키가 제공되는 수단;
    보안 환경(205)에서, 상기 제1키를 이용해 상기 암호화된 어플리케이션(204)을 해독하는 수단;
    상기 보안 환경에서, 제2키를 이용해 상기 어플리케이션(209)을 재암호화하는 수단; 및
    상기 재암호화된 어플리케이션을 상기 보안 환경 밖에서 저장하는 수단을 포함함을 특징으로 하는 시스템.
  9. 장치 프로세서에 의해 액세스가 엄격히 관리되는 보안 환경으로 이뤄진 장치 상에서 실행될 어플리케이션을 제공하는 시스템에 있어서,
    상기 장치(201)에 암호화된 어플리케이션(204)을 제공하는 수단;
    보안 환경(205)으로의 보안 채널(207)을 통해, 상기 장치(201)에 상기 암호화된 어플리케이션(204)을 해독하기 위한 제1키가 제공되는 수단;
    상기 보안 환경(205)에서, 제2키를 이용해 상기 제1키를 암호화하는 수단; 및
    상기 보안 환경(205) 밖에서, 상기 암호화된 제1키를 저장하는 수단을 포함함을 특징으로 하는 시스템.
  10. 제8항에 있어서,
    상기 보안 환경(205)에서, 상기 제2키를 이용해 상기 제1키를 암호화하는 수단; 및
    상기 보안 환경(205) 밖에서, 상기 암호화된 제1키를 저장하는 수단을 포함함을 특징으로 하는 시스템.
  11. 제8항 또는 제9항에 있어서, 상기 제2키는 대칭형이고 상기 어플리케이션(202)으로부터 도출될 수 있음을 특징으로 하는 시스템.
  12. 제11항에 있어서, 상기 제2키는 어플리케이션(202) 자체에 구비됨을 특징으로 하는 시스템.
  13. 제11항에 있어서, 상기 제2키는 보안 환경(205)에서 어플리케이션 시드(seed)를 이용해 생성됨을 특징으로 하는 시스템.
  14. 제8, 제9, 및 제10항 중 어느 한 항에 있어서, 각각이 보안 환경 내에서 대응하는 암호화된 어플리케이션을 해독하는데 사용되는 복수의 키들이, 보안 채널을 통해 보안 환경으로 연속적으로 전송될 수 있도록 구성됨을 특징으로 하는 시스템.
KR1020057014216A 2005-08-02 2003-02-03 암호화된 어플리케이션 설치를 위한 구조 KR100730708B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020057014216A KR100730708B1 (ko) 2005-08-02 2003-02-03 암호화된 어플리케이션 설치를 위한 구조

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020057014216A KR100730708B1 (ko) 2005-08-02 2003-02-03 암호화된 어플리케이션 설치를 위한 구조

Publications (2)

Publication Number Publication Date
KR20050105449A KR20050105449A (ko) 2005-11-04
KR100730708B1 true KR100730708B1 (ko) 2007-06-21

Family

ID=37282688

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057014216A KR100730708B1 (ko) 2005-08-02 2003-02-03 암호화된 어플리케이션 설치를 위한 구조

Country Status (1)

Country Link
KR (1) KR100730708B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100951866B1 (ko) * 2007-12-04 2010-04-12 주식회사 텔레칩스 가상머신 기반의 모바일 어플리케이션 보호 시스템 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050107420A (ko) * 2003-02-20 2005-11-11 지멘스 악티엔게젤샤프트 이동 무선 시스템에서 암호화 키들을 생성하여 배포하기위한 방법 및 상응하는 이동 무선 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050107420A (ko) * 2003-02-20 2005-11-11 지멘스 악티엔게젤샤프트 이동 무선 시스템에서 암호화 키들을 생성하여 배포하기위한 방법 및 상응하는 이동 무선 시스템

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
1020050107420

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100951866B1 (ko) * 2007-12-04 2010-04-12 주식회사 텔레칩스 가상머신 기반의 모바일 어플리케이션 보호 시스템 및 방법

Also Published As

Publication number Publication date
KR20050105449A (ko) 2005-11-04

Similar Documents

Publication Publication Date Title
US7930537B2 (en) Architecture for encrypted application installation
KR100851623B1 (ko) 암호 코프로세서를 포함하는 장치
EP3387813B1 (en) Mobile device having trusted execution environment
KR100851631B1 (ko) 보안 모드 제어 메모리
US7457960B2 (en) Programmable processor supporting secure mode
US8281115B2 (en) Security method using self-generated encryption key, and security apparatus using the same
KR100611628B1 (ko) 전자 장치에서의 정보 처리 방법, 시스템, 전자 장치 및처리 블록
KR102157560B1 (ko) 전자 디바이스의 무결성을 검증하기 위한 시스템 및 방법
JP2007512787A (ja) トラステッド・モバイル・プラットフォーム・アーキテクチャ
US8369526B2 (en) Device, system, and method of securely executing applications
EP1593015B1 (en) Architecture for encrypted application installation
US20060150246A1 (en) Program execution control device, OS, client terminal, server, program execution control system, program execution control method and computer program execution control program
KR20070059891A (ko) 어플리케이션 인증 보안 시스템 및 그 인증 보안 방법
KR100730708B1 (ko) 암호화된 어플리케이션 설치를 위한 구조
KR20190070691A (ko) 프로그램 실행권한 인증 방법 및 시스템
WO2022173373A1 (en) Secure module and method for app-to-app mutual trust through app-based identity
KR101906484B1 (ko) 어플리케이션 보안 방법 및 이를 수행하기 위한 시스템
CN107862209A (zh) 一种文件加解密方法、移动终端和具有存储功能的装置
Sitawarin iOS Security
Rawat et al. Enhanced Security Mechanism for Cryptographic File Systems Using Trusted Computing

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: 20130522

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140521

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150519

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160517

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170522

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180516

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20190515

Year of fee payment: 13