KR100851623B1 - 암호 코프로세서를 포함하는 장치 - Google Patents

암호 코프로세서를 포함하는 장치 Download PDF

Info

Publication number
KR100851623B1
KR100851623B1 KR1020067019182A KR20067019182A KR100851623B1 KR 100851623 B1 KR100851623 B1 KR 100851623B1 KR 1020067019182 A KR1020067019182 A KR 1020067019182A KR 20067019182 A KR20067019182 A KR 20067019182A KR 100851623 B1 KR100851623 B1 KR 100851623B1
Authority
KR
South Korea
Prior art keywords
secure
processor
accelerator
logical interface
implemented
Prior art date
Application number
KR1020067019182A
Other languages
English (en)
Other versions
KR20060127205A (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 노키아 코포레이션
Publication of KR20060127205A publication Critical patent/KR20060127205A/ko
Application granted granted Critical
Publication of KR100851623B1 publication Critical patent/KR100851623B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode

Abstract

본 발명은 데이터 처리 동작의 가속화가 제공되는 전자 장치(301)로서, 접근이 제어되는 보안 실행 환경을 포함하는 장치에 관한 것이다. 본 발명의 기본적 사상은 장치에게 데이터 처리 동작의 가속화를 위한 장치(311, "가속기")를 제공하는 것이다. 특히, 가속기는 암호화 데이터 동작을 가속화하기 위하여 사용됨으로써 장치가 제1 논리적 인터페이스(312)를 통하여 전달된 데이터 상에 암호화 동작을 수행하도록 한다. 암호화 동작들은 보안 제2 논리적 인터페이스(312)를 통하여 가속기에 제공된 암호/복호 키들을 이용하여 수행된다.

Description

암호 코프로세서를 포함하는 장치{Device with a cryptographic coprocessor}
본 발명은 데이터 처리 동작의 가속도가 제공된 전자 장치로서, 접근이 제어된 보안 실행 환경을 포함하는 전자 장치에 관련된다. 또한, 본 발명은 데이터 처리 동작의 가속도를 위한 전자 장치 및 장치를 포함하는 이동 통신 단말기에 관련된다.
여러 가지 전자 장치, 예컨대 이동식 전기 통신 단말기, 휴대용 컴퓨터 및 PDA와 같은 전자 장치는, 보안 관련 구성요소, 이를테면 어플리케이션 프로그램, 암호키, 암호키 데이터 자료, 중간 암호 계산 결과, 패스워드, 외부에서 다운로드된 데이터를 위한 인증 수단 등으로의 접근을 요구한다. 전형적으로, 이들의 이러한 구성 요소 및 처리 동작이 전자 장치 내에서 비밀로 유지되는 것이 필요하다. 이상적으로, 장치의 보안 관련 구성 성분들이 공지된다면, 장치는 아마도 변경될 수 있으므로, 이러한 데이터는 가능한 한 적은 수의 사람들에게만 공지되어야 한다. 만일 그 보안 관련 구성요소가 알려져 있으면. 이 타입의 구성요소에 대한 접근 가능성은, 장치를 동작하려는 악의가 있는 의도가 있는 공격자의 행위를 용이하게 할 수 있다.
그러므로, 전자 장치 내의 프로세서가 보안 관련 구성 요소에 접근할 수 있는 보안 실행 환경(secure execution environment)이 소개된다. 이러한 보안 실행 환경에 대한 접근 및 보안 실행 환경 내에서의 및 외부로의 처리는 주의 깊게 제한되어야 한다. 이러한 보안 환경을 포함하고 있는 종래 기술 하드웨어는 흔히 변경-저항 패키징 내에서 보호된다. 보안 관련 구성 요소들의 공개 및 이들의 처리를 야기할 수 있는, 이러한 타입의 하드웨어에 대한 측정 및 테스트가 시도 또는 수행되는 것이 가능하여서는 안된다.
장치 내의 데이터를 보호하기 위하여, 영구 메모리(예를 들어, 비휘발성 메모리) 내에 존재하는 데이터는 암호화되어야만 한다. 데이터 보호는 매우 필요한 것인데, 그 이유는 악의의 사용자가 장치를 훔치는 등의 방법으로 장치에 대한 접근을 획득한 경우, 민감한 데이터에 대해 접근하도록 시도할 수 있기 때문이다. 민감한 데이터에 대한 접근이 시도될 수 있는 다른 경우는, 장치 내에 디지털 권한 관리(Digital Rights Management, DRM) 시스템이 포함되어 있는 경우이다. 이러한 DRM 시스템은 사용자가 콘텐츠에 대하여 가지는 접근의 타입을 결정하는 저작권에 의하여 보호되는 콘텐츠 및 관련된 디지털 권한을 저장한다. 그러므로, DRM 시스템은 허가되지 않는 유저에 의해 콘텐츠가 접근되거나, 이러한 콘텐츠가 오용하게 되고 또는 부당하게 배포되는 것을 방지하기 위하여 사용된다. 이러한 콘텐츠 및 권한이 경제적인 가치를 가지므로, 사용자는 DRM 제어 기능을 바이패스하는 것에 의해 콘텐츠에 액세스하려고 시도할 수 있다. 영구 메모리에 존재하고 있는 데이터의 암호화는 안전해야만 하고 효율적이어야만 하고 저가여야만 한다. 앞에 언급 된 것에 따라, 현재의 장치 구조에서는, 보안 관련 구성요소를 보안 실행 환경에서 안전하게 처리하는 것이 가능하다. 그러나, 이것은 그 결과에 의문이 발생할 수 있고, 데이터 및 제어 신호의 전달의 측면에서 상당한 양의 과부하를 초래할 수 있는데, 그 이유는 보안 실행 환경으로의 또는 보안 실행 환경으로부터의 보안 엔트리(secure entries)들은 암호화 동작을 수행하여 보장되어야 하기 때문이다.
반면에, 암호화는 보안 환경 밖에서 종래기술 하드웨어 가속기를 사용하는 것에 의해. 매우 효율적으로 수행될 수 있다. 그러나, 여기에는 또다른 문제점이 대두되는데, 그것은 구성 요소들이 결과적으로 노출되어 있는 상태이기 때문에, 암호/복호 키 등과 같은 보안 구성 성분들을 도청자(eavesdropper)들이 가속기로부터 획득하는 것이 가능하다는 점이다. 이러한 문제점은 장치 내에 보안 대책을 도입함으로써 해소될 수 있으나, 이 경우 추가적인 하드웨어 및 소프트웨어가 필요할 것이기 때문에 장치의 가격이 비대하게 증가할 수 있다.
따라서, 본 발명의 목적은 장치에서의 데이터 처리 동작의 가속화를 제공하지만, 보안 실행 환경 외부에서는 데이터 처리에 요청되는 시간을 감소시키는 것이며, 이것은 가속기 장치에 의하여 채택되는 비밀 암호 키들이 장치 사용자 또는 인증되지 않은 제3자에게 노출되지 않도록 함으로써 구현된다.
이러한 목적은 청구항 1항에서와 같은 접근이 한정된 보안 실행 환경을 포함하는 전자 장치(여기서 데이터 처리 동작의 장치 가속화가 제공된다)에 의하거나, 청구항 11항에 따른 전자 장치를 포함하는 이동 통신 단말기 및 청구항 12항에 따른 데이터 처리 동작의 가속화를 위한 장치에 의하여 달성될 수 있다.
본 발명의 기본 사상은 데이터 처리 동작의 가속화를 위한 장치("가속기(accelerator)")를 제공하는 것이다. 특히, 이러한 가속기는 암호 데이터 동작을 가속하기 위해 사용된다. 종래 기술에 의한 가속기에 관련된 문제점을 극복하기 위해, 제1 논리 인터페이스를 경유하여 장치에 제공된 데이터에 암호화 동작을 수행하도록 구현된 가속기를 제공하는 것이 필요하다. 암호화 동작(encryptographic operation)은 보안 제2 논리 인터페이스를 경유하여 가속기에 제공된 암호화/복호 키를 이용하여 수행된다. 보안 실행 환경에의 입구/출구(entries/exits)를 방지하기 위하여, 가속기는 보안 환경 외부에 위치한다.
보안 제2 논리 인터페이스가 채택된다는 사실은, 키가 장치 사용자 또는 비승인 제 3자에 공개되지 않는 효과를 가진다. '논리적(logical)' 이라는 용어는 가속기의 제1 및 두 번째 인터페이스가 분리되지만, 반드시 물리적으로 분리되는 것은 아니라는 점을 암시한다. 이들은 논리적으로 분리될 수 있음으로써, 보안 제2 논리 인터페이스 상에서 데이터 전달이 수행되는 동안에 제1 논리적 인터페이스로의 접근이 가능하지 않을 정도로 분리되어 있으면 충분하다.
이상적으로, 보안 실행 환경의 내부에서 보안 중요 동작(security critical operation)을 수행하기 전형적으로 소형인 어플리케이션들인 소위 보호된 어플리케이션들만이 비밀 암호 키를 관리하도록 허용될 수 있다. 보호된 어플리케이션은 믿을 만한 제공자에 의해 발행될 수 있는 어플리케이션이며(그 경우에는, 제공자들은 반드시 인증되어야만 한다), 하지만 이들은 제 3자가 신뢰성이 있는지 여부에 관계없이 제 3자에 의하여 발생될 수도 있다. 후자의 경우, 아무런 인증 동작이 발생하지 않는다. 보호된 어플리케이션이 믿을 만한 제공자에 의하여 발생되어야 하는지 여부는 특정 콘텍스트로부터 결정되어야 한다. 일반적으로, 장치의 보안에 위험을 초래할 수 있는 권한을 가지거나, 이러한 권한이 어플리케이션들은 반드시 인증되어야 한다.
보호된 어플리케이션은 보안 환경 밖에서 실행되는 "일반(normal)" 어플리케이션의 일부라고 간주될 수 있다. 보호된 어플리케이션은 또한 장치에서 표준 기능성을 실행하기 위해 사용되는 어플리케이션을 포함할 수 있다. 예를 들면, 보호된 어플리케이션은 장치를 부팅하고, 운영체제를 장치에 탑재하기 위하여 사용된다. 심지어 장치 사용자에게도(그녀가 비인증 제3자인 것으로 간주될 수 없다 하여도) 비밀 암호키로의 접근 권한이 제공되지 않는 것이 바람직하다. 아마도, DRM 시스템이 장치 내에 구현되고, 디지털 콘텐츠 및 해당 DRM 시스템에 의해 제공되는 관련된 디지털 권한들이 경제적인 가치를 가지므로, 사용자는 DRM 제어 기능을 바이패스하는 것에 의해 콘텐츠에 액세스하려고 노력할 수 있다. 물론, 사용자에게 키로의 접근 권한이 부여되지 않아야 하는 다른 이유들도 존재한다. 예를 들면, 일반적인 보안 측면이 고려되어야 한다.
일반 장치 동작 모드에서, 장치 프로세서는 보안 환경 내에 위치한 보안 관련 데이터로의 접근 권한을 가지지 않는다. 보안 데이터는 암호 키 및 알고리즘, 회로를 부팅하기 위한 소프트웨어, 암호 키 자료로서 사용되는 임의의 수, 및 어플리케이션 프로그램 등을 포함한다. 이러한 보안 데이터로의 접근 및 이러한 보안 데이터의 처리는 제한된다. 전형적으로 이동 통신 단말기 내에 포함된 장치를 테스트 및/또는 디버깅할 때, 보안 관련 데이터로의 접근은 허용되지 않는다. 이러한 이유 때문에, 프로세서는 일반 상태, 또는 "비보안(unsecure)" 동작 상태에 위치되며, 이 모드에서 장치는 더 이상 보안 환경 내에서 보호된 데이터로의 접근 권한을 가지지 못한다. 결과적으로, 일반 모드에서는 프로세서 및 프로세서가 실행하는 상응하는 어플리케이션에는 가속기의 암호 키들로의 접근 권한이 부여되지 않는다.
본 발명은 암호 동작의 개시가 일반 응용 프로그램 소프트웨어 실행에 의해 보안 실행 환경 밖에서 수행될 수 있는 반면에 암호/복호 키의 제공이 안전하게 제어될 수 있으므로 유익하다. 실무상, 일반 어플리케이션들은 가속기를 필요할 경우 데이터를 복호 및/또는 암호화하는 일반 하드웨어 주변 장치인 것으로 간주한다. 그러나, 일반 어플리케이션들은 가속기와 관련된 민감한 보안 구성 요소(이를테면 가속기가 사용하고 있는 암호 키와 같은 구성 요소)를 획득할 수 없다.
더 나아가, 본 발명의 일 실시예에 따르면, 필요한 모든 이유에 의하여, 보호된 어플리케이션은 일반 어플리케이션이 가속기에 언제라도 액세스하는 것을 방지할 수 있다. 예를 들면, 일반 어플리케이션이 변경되었다는 점이 발견될 경우 일반 어플리케이션이 가속기에 접근하는 것을 방지할 수 있다.
본 발명의 일 실시예에 따르면, 장치 프로세서는 적어도 두 개의 상이한 동작 모드 중의 하나로 설정될 수 있다. 해당 장치에서, 장치 보안에 관한 보호된 자료가 위치하는 적어도 하나의 저장 영역을 포함하도록 구현된다. 보안 프로세서 동작 모드가 설정될 경우, 프로세서에게는 저장 영역으로의 접근 권한이 주어지고, 일반 프로세서 동작 모드가 설정될 경우에는, 프로세서에게는 해당 저장 영역으로의 접근 권한이 거부된다. 프로세서 및 프로세서가 실행하는 어플리케이션에게 해당 저장 영역으로의 접근 권한이 부여되거나 부여되지 않는다는 사실이 실제 동작 모드를 정의하는 것이다. 더 나아가, 프로세서는 보안 프로세서 동작 모드가 설정 될 때. 가속기의 보안 제2 논리 인터페이스에 접근할 수 있다.
저장 회로의 저장 영역으로의 접근 동작은 프로세서의 보안 동작 모드를 정의한다. 보안 실행 모드에서 동작하는 동안 프로세서가 접근할 수 있는 저장 영역들은 보안 실행 환경(secure execution environment)라고 불린다. 이전에 언급된 바와 같이, 이러한 저장 영역은 외부적으로 다운로드된 데이터 기타를 위해 보안 관련 구성요소, 이를테면 예컨대 응용 프로그램, 암호 키, 암호 키 데이터 자료, 중간 암호 계산 결과, 패스워드, 인증 수단을 포함한다. 보안 실행 모드에서, 프로세서는 암호 키가 제공된 가속기의 보안 인터페이스에 액세스할 수 있다. 그러므로, 프로세서는 가속기 내에 키를 추가하거나, 가속기 내의 키를 변경할 수 있다. 이러한 특징은 중요하고 매우 유용한데, 그 이유는 일반(비보안) 처리 모드에서 장치에 부가되는 보안 제한 사항이 가혹하기 때문이다.
본 발명의 또 다른 실시예에 따르면, 가속기의 제1 인터페이스는 모든 어플리케이션에 의하여 액세스될 수 있으나, 가속기의 보안 제2 인터페이스는 보호된 어플리케이션 만에 의해 액세스될 수 있다. 전형적으로, 장치 프로세서 내에서 실행된 일반 어플리케이션들, 장치의 디지털 신호 처리기, 또는 장치의 다른 일부 처리 수단은, 안전한 상태의(in the clear) 데이터를 가속기에 전송하고, 가속기는 해당 데이터를 보안 환경으로부터 수신된 비밀 암호 키를 이용하여 암호화하고, 암호화된 데이터를 일반 어플리케이션에게 반환한다. 그러므로, 이것은 프로세서가 일반 동작 모드에 있다는 것을 의미한다. 일반 동작 모드에서, 일반 어플리케이션은 데이터의 암호화/해독에 관련되는 가속기 서비스를 이용할 수 있다. 또한, 보호된 어플리케이션이 이러한 서비스를 이용하고자 원하는 것도 가능하다. 이와 같은 보호된 어플리케이션들은 이용할 권한을 가지며, 일반 어플리케이션들 및 보호된 어플리케이션들이 가속기로부터 암호화 서비스를 교환적으로 요청할 수 있다. 그러나, 프로세서가 보안 실행 모드에서 동작한다면, 보호된 어플리케이션들 만이 실행되도록 허용된다. 그러므로, 보안 제2 논리 인터페이스에 액세스하기 위해, 프로세서는 보안 모드에서 작동해야만 하고, 보호된 어플리케이션을 실행해야만 한다.
본 발명의 또 다른 실시예에 따르면, 가속기는 프로세서에 의해 보안 동작 모드 또는 일반 동작 모드가 설정되었는지를 가속기에 지시하도록 구현된 구조 레지스터(configuration register)를 더 포함하는데, 이러한 구조 레지스터에서 복수 개의 가능한 암호화 모드들 중 하나를 설정하는 것이 가능하며, 가속기는 해당 레지스터에 의하여 설정된 암호화 모드에서 동작하도록 구현된다. 가속기 구조 레지스터를 사용하는 것은 유익한데, 그 이유는 가속기 자체는 가능한 동작 모드들을 구별할 수 있으며, 따라서 요청된 암호화 동작을 수행할 매 번 장치 프로세서로부터의 모드 검증(mode verification) 동작을 요청하지 않기 때문이다. 또한, 레지스터는 가속기로 하여금 제1 및 제2 논리 인터페이스를 제공하는 하나의 물리적 인터페이스를 가지도록 구현되도록 허용한다. 더 나아가, 다른 암호화 모드가 설정하게 될 수 있다는 사실은 유익한데, 그 이유는 예컨대 암호 블록 체이닝(cipher block chaining, CBC) 모드, 전자식 부호장(electronic code book, EBC) 모드, 암호 귀환(cipher feedback, CFB) 모드, 평문 피드백(plaintext feedback, PFB) 모드 또는 다른 어느 암호화 모드가 사용되어야 하는지 여부를 실시간으로(on the fly) 결정하는 것이 가능하기 때문이다.
본 발명의 다른 특징 및 다른 장점들은 첨부된 청구의 범위 및 후술되는 상세한 설명으로부터 명백해 질 것이다. 당업자들은 본 발명의 상이한 특징들이 결합되어 후술되는 실시예 이외의 다른 실시예를 생성할 수도 있다는 점을 이해할 것이다.
본 발명은 다음의 도면들을 참조하여 더욱 상세히 설명될 것이다.
도 1은 본 발명이 바람직하게 적용될 수 있는 아키텍처를 가진 데이터 보안성을 제공하기 위한 장치 아키텍처의 개념적인 블록도이다.
도 2는 본 발명이 바람직하게 적용될 수 있는 아키텍처를 가진 데이터 보안성을 제공하기 위한 장치 아키텍처로서, 탈착식 스마트 카드를 이용하여 구현된 장치 아키텍처의 개념적인 블록도이다.
도 3은 도 1에 도시된 장치 아키텍처 내에 구현된 가속기의 개념적 블록도를 도시한다.
도 4는 도 1에 도시된 장치 아키텍처 내에 구현된 가속기의 개념적 블록도로서, 본 발명의 바람직한 다른 실시예에 따른 가속기의 개념적 블록도를 도시한다.
데이터 보안을 제공하기 위한 장치 아키텍쳐는 도 1에 보시된다. 이러한 시스템은 본 출원인의 국제 특허출원 공개 번호 제 W02004/015553호에서 더 상세하게 개시되며, 해당 명세서는 본 명세서에 참조되어 통합된다. 데이터 보안을 제공하기 위한 회로는 주문형 반도체(ASIC, Application Specific Integrated Circuit, 101)의 형태로 구현된다. 아키텍처의 처리부는 CPU(103) 및 디지털 신호 처리기(DSP, 102)를 포함한다. ASIC(101)은 전자 장치(100), 이를테면 이동식 전기 통신 단말기, 휴대용 컴퓨터, PDA 등에 포함되고, 장치(100)의 "두뇌"에 해당하는 것으로 간주된다.
보안 환경(104)은 ASIC(101)이 부팅되는 ROM(105)을 포함한다. 이 ROM(105)은 부트 어플리케이션 소프트웨어 및 운영 체제를 포함한다. 보안 환경(104)에 존재하는 몇 가지 어플리케이션은 다른 어플리케이션 프로그램에 대한 우선 순위를 가진다. ASIC(101)이 포함될 수 있는 이동 통신 단말기에서, 부트 소프트웨어가 존재해야만 하는데, 이 소프트웨어는 단말기의 주요 기능성(main functionality)을 포함한다. 이러한 소프트웨어 없이, 단말기를 일반 동작 모드로 부팅하는 것은 가능하지 않다. 이러한 부트 소프트웨어를 제어함으로써 각 단말기의 최초 활성화를 제어할 수도 있다는 것은 유용하다.
보안 환경(104)은 데이터 및 어플리케이션, 즉 보호 데이터의 저장하기 위한 RAM(106)도 포함한다. RAM(106)은 소위 보호된 어플리케이션을 저장하는데, 이러한 어플리케이션은 보안 환경(104)의 내부에서 보안 중요 동작을 수행하기 위한 소형 어플리케이션이며, RAM(106)은 그 뿐만 아니라 객체, 이를테면 암호 키, 중간 암호 계산 결과 및 패스워드도 저장한다. 일반적으로, 보호된 어플리케이션을 채택하는 방법은 "일반" 어플리케이션들로 하여금 특정 보호된 어플리케이션으로부터 서비스를 요청하도록 하는 것이다. 새로운 보호된 어플리케이션은 언제든지 보안 환경(104)으로 다운로드될 수 있지만, 이러한 어플리케이션들이 ROM 내에 사주할 경우에는 그렇지 않다. 보안 환경(104) 소프트웨어는 보호된 어플리케이션들의 다운로드 및 실행을 제어한다. 보호된 어플리케이션은 보안 환경(104) 내의 모든 자원에 액세스할 수 있고, 이들은 보안 서비스의 제공을 위해 일반 어플리케이션과 통신할 수도 있다.
보안 환경(104)에서, 퓨즈 메모리(107)는 제조 과정에서 생성 및 ASIC(101) 내로 프로그램되는 고유 난수(random number)를 포함하도록 구현된다. 이러한 난수는 ASIC(101)의 식별 표지로서 사용되고, 암호 동작을 위한 키를 유도하기 위하여 채택될 수도 있다. 더 나아가, 보안 제어 레지스터의 형태를 가지는 저장 회로 접근 제어 수단이 보안 환경(104)에 구현된다. 보안 제어 레지스터의 목적은 CPU(103)에게 보안 환경(104)으로의 접근 권한을 제공하거나, CPU(103)가 보안 환경(104)에 액세스하지 못하도록 하는 것이며, 이것은 레지스터의 모드 설정에 따라 수행된다. CPU(103)를 위한 동작 모드는 응용 프로그램 소프트웨어에 의하여 레지스터 내에 설정될 수 있으며, 그 결과 아키텍처는 외부 신호에 의존할 필요가 없게 된다. 보안의 관점으로 볼 때 이것은 바람직한데, 그 이유는 어플리케이션 프로그램 소프트웨어를 제어하는 것에 의해 프로세서 모드의 설정도 제어할 수 있기 때문이다. ASIC(101)에 연결된 외부 신호(미도시)를 이용하여 보안 제어 레지스터를 설정하는 것도 가능하다. 외부 신호를 사용하는 것에 의해, 모드 변경은 용이하고 고속으로 실행될 수 있으며, 이것은 시험 환경에서 바람직하다. 어플리케이션 소프트웨어 및 외부 신호와 같은 이러한 두 가지 모드 설정 수단의 조합도 구현 가능하다.
아키텍처는 버스(108) 상의 데이터 가시성(data visibility)의 제한을 위한 표준 브릿지 회로(109)를 더 포함한다. 아키텍처는 변경 방지 패키징(tamper resistant packaging) 내에서 밀폐되어야만 한다. 이러한 타입의 하드웨어에서, 보안 관련 구성 성분들의 공개 및 이러한 성분들의 처리를 야기할 수 있는 측정 및 시험을 시도(probe) 또는 수행하는 것은 가능하지 않다. DSP(102)는 직접 메모리 액세스(DMA) 유닛, RAM, 플래시 메모리와 같은 다른 주변 장치(110)에 대한 접근 권한을 가지며, 부가적 프로세서는 ASIC(101) 외부에서 제공될 수 있다.
데이터 보안을 제공하기 위한 장치 아키텍처의 또 다른 실시예는 도 2에 도시되며, 여기서 도 1에 도시된 부재와 상응하는 부재에 대해서는 동일한 부재 번호가 사용된다. 도 2에 도시된 아키텍처를 도 1에 예시된 아키텍처와 비교하면, 그 차이점은 전자 장치(200)가 착탈식 스마트카드(211)(예를 들면 SIM)를 포함하여 구현된다는 점이며, 이러한 카드도 보안 환경인 것으로 간주될 수 있다. 보안 목적을 달성하기 위하여, 이동 단말기(200) 및 스마트카드(211)는 신뢰성 있는 인증 기 관(CA, certification authorities)에 의하여 발행된 디지털 인증서를 저장한다. 인증서는 이동 단말기(200) 및/또는 스마트카드(211)와 통신하는 활동자(actor)에게, 특정 인증서의 소지자가 상응하는 신뢰성 있는 인증 기관(CA)에 의하여 인증 받았다는 점을 보장하기 위하여 사용된다. 인증 기관(CA)은 인증서에 서명하며, 그리고 인증서 소지자는 인증 기관(CA)에 의하여 서명된 인증서가 유효하다는 것을 검증하기 위하여는, 해당 인증 기관(CA)의 기밀 키에 상응하는 공개키를 소지하여야 한다. 상이한 장치들이 상이한 인증 기관(CA)들로부터의 인증서를 가질 수 있음에 주의한다. 이러한 경우에, 상이한 인증 기관(CA)은 상호 몇 가지 통신을 수행하여야 하는데, 예를 들어 그들의 공개 키를 교환하여야 한다. 인증서는 당업자에게 공지된 바 있으며, 주지된 표준 인증서에는 CCITT 권고 X.509에 포함된 인증서들이 있다.
도 3은 도 1과 관련하여 설명된 장치 아키텍처를 도시하는데, 도 3에서는 가속기(311)가 더 포함된다. 역시, 도 1에 도시된 부재와 상응하는 부재에는 상응하는 부재 번호가 부여된다. 도 3에 도시된 실시예에서, 가속기는 하나의 물리적 인터페이스(312)를 포함한다. 프로세서(303)의 일반, 비보안 실행 모드가 설정되면, 물리적 인터페이스는 암호화/복호화될 데를 제공하는 제1 논리적 인터페이스로서 동작한다. 그러나, 프로세서의 보안 실행 모드가 설정되면, 물리적 인터페이스는 데이터의 암호화/복호화 동작에 이용되는 암호 키가 제공되는 보안 제2 논리적 인터페이스(secure second logical interface)로서 동작한다. 도시된 실시예에서, 보안 동작 모드 또는 일반 동작 모드가 프로세서(303)에 의하여 설정되었는지를 가 속기에게 지시하도록 구현되는 구조 레지스터(313)를 포함한다. 이러한 레지스터는 보안 실행 모드가 활성화될 경우 프로세서가 데이터를 기록하도록 허용되는 버스(308) 상의 유일한 주소 상에 위치한다. 그러므로, 보호된 어플리케이션들 만이 이 레지스터를 설정, 변경, 또는 수정하도록 허용된다. 만일 레지스터(313)가 적절한 방법으로 설정되면(즉, 레지스터가 소정 코드를 이용하여 설정되면), 키가 가속기에 기록될 수 있다.
처음에, 이를테면 이동식 통신 장치(300)와 같은 전자 장치 내에 구현된 ASIC(301)을 부팅하면, 프로세서는 자신의 보안 실행 모드에서 동작되도록 구현되며, 보호된 어플리케이션은 적절하게 구조 레지스터를 설정하고, 여기서 보호된 어플리케이션은 물리적 인터페이스(312)를 경유하여 가속기(311)에 암호 키(들)을 제공할 수 있으며, 이것은 결과적으로 보안 제2 논리 인터페이스로서 작동한다. 초기화 이후, 보호된 어플리케이션이 아키텍처 레지스터(313)를 변경시키는데, 주어진 구조에서 가속기 내의 키들을 수정 또는 변경하는 것이 불가능하도록 변경한다. 더 나아가, 보호된 어플리케이션은 프로세서(303)를 일반 실행 모드로 설정하며 장치(301)의 동작을 일반 어플리케이션으로 양도한다. 그러므로, 물리적 인터페이스(312)는 제1 논리 인터페이스로서 작동하며, 프로세서는 가속기에게 암호화 처리될 데이터를 제공한다. ASIC(301)의 동작 동안, 암호 키는 보안 실행 모드에서 실행되는 프로세서에 의해 변경될 수 있다.
구조 레지스터에서, 가속기가 동작하도록 구현될 수 있는 복수의 가능한 암호화 모드(CBC, EBC, CFB 등)를 설정하는 것도 가능하다.
도 4는 도 1에 관련하여 설명된 바와 같은 장치 아키텍처를 도시하는데, 여기서 가속기(411)가 제공된 실시예가 도시된다. 마찬가지로, 도 1에 도시된 부재에 상응하는 부재들에 대해서는 상응하는 부재 번호가 부여된다. 도 4에 도시된 실시예에서, 가속기는 두 개의 물리적 인터페이스(412, 414)와 함께 구현된다. 프로세서(403)의 일반, 비보안 실행 모드가 설정되면, 제1 물리적 인터페이스는 암호화/복호화될 데를 제공하는 제1 논리적 인터페이스(412)로서 동작한다. 그러나, 프로세서의 보안 실행 모드가 설정되면, 제2 물리적 인터페이스는 데이터의 암호화/복호화 동작에 이용되는 암호 키가 제공되는 보안 제2 논리적 인터페이스(414)로서 동작한다. 보안 제2 논리적 인터페이스는 프로세서에 직접 연결되고, 프로세서는 보안 실행 모드가 활성화되었을 경우에만 제2 인터페이스에 기록하도록 허용된다. 그러므로, 보호된 어플리케이션들 만이 암호 키를 설정, 변경, 또는 수정하도록 허용된다.
가속기(411)의 도시된 실시예에서, 처음에 ASIC(401)을 부팅하면, 프로세서는 자신의 보안 실행 모드에서 동작되도록 구현되며, 보호된 어플리케이션이 보안 제2 논리적 인터페이스(414)를 통하여 암호 키들을 설정한다. 초기화 이후, 보호된 어플리케이션이 프로세서(403)를 일반 실행 모드로 설정하며 장치(401)의 동작을 일반 어플리케이션으로 양도한다. 그러므로, 프로세서는 제1 논리적 인터페이스(412)를 통하여 가속기에게 암호화 처리될 데이터를 제공한다.
가속기의 도시된 실시예에서, 가속기는 가속기가 동작하도록 구현될 수 있는 복수의 가능한 암호화 모드(CBC, EBC, CFB 등)를 설정할 수 있는 구조 레지스터(미 도시)와 함께 구현되는 것도 가능하다. 이러한 레지스터는 보안 제2 논리적 인터페이스(414)를 통하여 프로세서(403)에 의하여 설정될 수 있다.
비록 본 발명이 특정한 예시적 실시예들을 참조하여 설명되었지만, 다른 다양한 변경, 수정 등이 가해질 수 있다는 점이 당업자에게는 명백할 것이다. 그러므로, 설명된 실시예들은 본 발명의 기술적 사상을 한정하는 것으로 이해되어서는 안되며, 본 발명의 기술적 사항은 청구의 범위에 의하여 정의된다.
본 발명은 데이터 처리 동작의 가속도가 제공된 전자 장치로서, 접근이 제어된 보안 실행 환경을 포함하는 전자 장치에 이용될 수 있다. 본 발명은 데이터 처리 동작의 가속도를 위한 전자 장치 및 장치를 포함하는 이동 통신 단말기에 이용될 수 있다.

Claims (14)

  1. 데이터 처리 동작의 가속화를 위한 전자 장치(301)로서, 접근이 한정되는 보안 실행 환경(secure execution environment, 304)을 포함하는 전자 장치(301)에 있어서,
    암호 데이터 처리 동작을 가속화하기 위한 가속기(311)로서,
    처리될 데이터가 제공되는 제1 논리적 인터페이스(312);
    상기 데이터의 처리 동작에서 이용되는 암호 키들이 제공되는 보안 제2 논리적 인터페이스(secure second logical interface, 312)로서, 상기 제1 논리적 인터페이스 및 상기 보안 제2 논리적 인터페이스가 동일한 물리적 인터페이스(312)를 공유하는 보안 제2 논리적 인터페이스(312); 및
    상기 장치 내에 구현된 프로세서(303)에 의하여 보안 모드 또는 일반 모드가 설정되었는지 여부를 상기 가속기에게 표시하도록 구현되는 구성 레지스터(313);를 구비하는 가속기(311)를 포함하는 전자 장치(301).
  2. 삭제
  3. 삭제
  4. 제1항에 있어서, 상기 구성 레지스터(313)는,
    복수 개의 가능한 암호 모드들 중 하나에서 설정될 수 있도록 더욱 구현되고,
    상기 가속기(311)는, 상기 레지스터에서 설정된 암호 모드에서 동작하도록 구현되는 것을 특징으로 하는 전자 장치(301).
  5. 제1항에 있어서, 상기 가속기(411)는,
    상기 제1 논리적 인터페이스(412) 및 상기 보안 제2 논리적 인터페이스(414)들이 개별 물리적 인터페이스들을 통하여 제공되도록 구현되는 것을 특징으로 하는 전자 장치(401).
  6. 제1항에 있어서,
    상기 가속기의 상기 보안 제2 논리적 인터페이스(312)는, 보호된 어플리케이션에 의하여만 접근될 수 있는 반면에,
    상기 가속기의 상기 제1 논리적 인터페이스(312)는, 모든 어플리케이션에 의하여 접근될 수 있도록 구현되는 것을 특징으로 하는 전자 장치(301).
  7. 제6항에 있어서,
    보호된 어플리케이션들은 다른 어플리케이션들로 하여금 상기 가속기(311)에 접근하지 못하도록 방해할 수 있도록 더욱 구현되는 것을 특징으로 하는 전자 장치(301).
  8. 제6항에 있어서,
    보호된 어플리케이션들은, 상기 보안 실행 환경(304)에서 실행되도록 허용된 어플리케이션들인 것을 특징으로 하는 전자 장치(301).
  9. 제1항 또는 제4항 내지 제8항 중 어느 한 항에 있어서,
    장치 보안에 관련된 보호된 데이터가 위치되는 적어도 하나의 저장 영역을 포함하도록 구현된 보안 회로부(105, 106, 107)를 더 포함하며,
    프로세서(103)는, 보안 프로세서 동작 모드와 일반 프로세서 동작 모드를 포함하는 적어도 두 개의 상이한 동작 모드들 중 하나에서 설정될 수 있도록 구현되고, 상기 장치는,
    보안 프로세서 동작 모드가 설정되었을 경우, 상기 프로세서에게는 상기 보호된 데이터가 위치된 상기 저장 영역으로의 접근 권한이 주어지고,
    일반 프로세서 동작 모드가 설정되었을 경우, 상기 프로세서의 상기 저장 영역으로의 접근이 거부되며,
    상기 보안 프로세서 동작 모드가 설정될 경우, 상기 프로세서는 상기 가속기(311)의 상기 보안 제2 논리적 인터페이스(312)에 접근할 수 있도록 더욱 구현되는 것을 특징으로 하는 전자 장치(101).
  10. 제9항에 있어서, 상기 프로세서(103)는,
    보호된 어플리케이션들이 프로세서 동작 모드를 제어하도록 더욱 구현되는 것을 특징으로 하는 전자 장치(301).
  11. 제1항 또는 제4항 내지 제8항 중 어느 한 항에 의한 장치(301)를 포함하는 이동 통신 단말기(300).
  12. 암호 데이터 처리 동작을 가속화하기 위한 장치(311)에 있어서,
    처리될 데이터가 제공되는 제1 논리적 인터페이스(312);
    상기 데이터의 처리 동작에서 채택된 암호 키들이 제공되는 보안 제2 논리적 인터페이스(313)로서, 상기 장치는 상기 제1 논리적 인터페이스 및 상기 보안 제2 논리적 인터페이스가 동일한 물리적 인터페이스(312)를 공유하도록 구현되는, 보안 제2 논리적 인터페이스(313); 및
    보안 모드 또는 일반 모드가 설정되었는지 여부를 상기 장치에 지시하도록 구현되는 구성 레지스터(313);를 포함하는 장치(311).
  13. 삭제
  14. 삭제
KR1020067019182A 2004-03-19 2005-03-03 암호 코프로세서를 포함하는 장치 KR100851623B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/804,852 2004-03-19
US10/804,852 US8028164B2 (en) 2004-03-19 2004-03-19 Practical and secure storage encryption

Publications (2)

Publication Number Publication Date
KR20060127205A KR20060127205A (ko) 2006-12-11
KR100851623B1 true KR100851623B1 (ko) 2008-08-13

Family

ID=34962060

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067019182A KR100851623B1 (ko) 2004-03-19 2005-03-03 암호 코프로세서를 포함하는 장치

Country Status (5)

Country Link
US (1) US8028164B2 (ko)
EP (2) EP3462366A1 (ko)
KR (1) KR100851623B1 (ko)
CN (1) CN100435063C (ko)
WO (1) WO2005091109A1 (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100581163C (zh) * 2006-03-28 2010-01-13 华为技术有限公司 一种公钥运算数据的安全处理设备及方法
US8959311B2 (en) * 2006-08-25 2015-02-17 Texas Instruments Incorporated Methods and systems involving secure RAM
GB0700877D0 (en) * 2007-01-17 2007-02-21 Linear Algebra Technologies Lt A device
IL187045A0 (en) * 2007-10-30 2008-02-09 Sandisk Il Ltd Software protection against fault attacks
US8332660B2 (en) * 2008-01-02 2012-12-11 Arm Limited Providing secure services to a non-secure application
JP5331354B2 (ja) * 2008-03-17 2013-10-30 日立コンシューマエレクトロニクス株式会社 コンテンツ送信装置、コンテンツ受信装置
US8127131B2 (en) * 2008-04-10 2012-02-28 Telefonaktiebolaget Lm Ericsson (Publ) System and method for efficient security domain translation and data transfer
US7761714B2 (en) * 2008-10-02 2010-07-20 Infineon Technologies Ag Integrated circuit and method for preventing an unauthorized access to a digital value
IL199272A0 (en) * 2009-06-10 2012-07-16 Nds Ltd Protection of secret value using hardware instability
US20110276799A1 (en) * 2010-05-06 2011-11-10 Keicy Chung Personal communication system having independent security component
CN104025500B (zh) 2011-12-29 2017-07-25 英特尔公司 使用在物理上不可克隆的函数的安全密钥存储
GB2551291B (en) 2013-05-23 2018-02-14 Linear Algebra Tech Limited Corner detection
US9934043B2 (en) 2013-08-08 2018-04-03 Linear Algebra Technologies Limited Apparatus, systems, and methods for providing computational imaging pipeline
US11768689B2 (en) 2013-08-08 2023-09-26 Movidius Limited Apparatus, systems, and methods for low power computational imaging
US9910675B2 (en) 2013-08-08 2018-03-06 Linear Algebra Technologies Limited Apparatus, systems, and methods for low power computational imaging
US10001993B2 (en) 2013-08-08 2018-06-19 Linear Algebra Technologies Limited Variable-length instruction buffer management
US9727113B2 (en) 2013-08-08 2017-08-08 Linear Algebra Technologies Limited Low power computational imaging
US9196017B2 (en) 2013-11-15 2015-11-24 Linear Algebra Technologies Limited Apparatus, systems, and methods for removing noise from an image
US9270872B2 (en) 2013-11-26 2016-02-23 Linear Algebra Technologies Limited Apparatus, systems, and methods for removing shading effect from image
EP2894588B1 (en) * 2014-01-13 2018-08-15 Nxp B.V. Data processing device, method for executing an application and computer program product
ITUB20160619A1 (it) * 2016-02-10 2017-08-10 Prb S R L Metodo di protezione dei documenti elettronici in un archivio e dispositivo di conservazione delle chiavi crittografiche.
US10460704B2 (en) 2016-04-01 2019-10-29 Movidius Limited Systems and methods for head-mounted display adapted to human visual mechanism
US10949947B2 (en) 2017-12-29 2021-03-16 Intel Corporation Foveated image rendering for head-mounted display devices
US11281251B2 (en) * 2019-01-04 2022-03-22 Baidu Usa Llc Data processing accelerator having a local time unit to generate timestamps

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999014881A2 (en) * 1997-09-16 1999-03-25 Information Resource Engineering, Inc. Cryptographic co-processor

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4987595A (en) * 1989-09-11 1991-01-22 Motorola, Inc. Secure cryptographic processor arrangement
SE515327C2 (sv) * 1999-08-27 2001-07-16 Ericsson Telefon Ab L M Anordning för att utföra säkra transaktioner i en kommunikationsanordning
US6775776B1 (en) * 2000-06-27 2004-08-10 Intel Corporation Biometric-based authentication in a nonvolatile memory device
CN1219382C (zh) * 2000-09-05 2005-09-14 中兴通讯股份有限公司 一种新的加密装置
EP1276033B1 (de) * 2001-07-10 2012-03-14 Trident Microsystems (Far East) Ltd. Speichereinrichtung mit Datenschutz in einem Prozessor
JP2003051819A (ja) * 2001-08-08 2003-02-21 Toshiba Corp マイクロプロセッサ
US7248585B2 (en) * 2001-10-22 2007-07-24 Sun Microsystems, Inc. Method and apparatus for a packet classifier
WO2004015553A1 (en) 2002-08-13 2004-02-19 Nokia Corporation Computer architecture for executing a program in a secure of insecure mode
US7322042B2 (en) * 2003-02-07 2008-01-22 Broadon Communications Corp. Secure and backward-compatible processor and secure software execution thereon
US7392399B2 (en) * 2003-05-05 2008-06-24 Sun Microsystems, Inc. Methods and systems for efficiently integrating a cryptographic co-processor

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999014881A2 (en) * 1997-09-16 1999-03-25 Information Resource Engineering, Inc. Cryptographic co-processor

Also Published As

Publication number Publication date
CN100435063C (zh) 2008-11-19
EP1725924A1 (en) 2006-11-29
CN1961268A (zh) 2007-05-09
US20050210280A1 (en) 2005-09-22
KR20060127205A (ko) 2006-12-11
US8028164B2 (en) 2011-09-27
EP3462366A1 (en) 2019-04-03
EP1725924B1 (en) 2018-12-12
WO2005091109A1 (en) 2005-09-29

Similar Documents

Publication Publication Date Title
KR100851623B1 (ko) 암호 코프로세서를 포함하는 장치
KR100851631B1 (ko) 보안 모드 제어 메모리
CN108781210B (zh) 具有可信执行环境的移动设备
US9043615B2 (en) Method and apparatus for a trust processor
US7930537B2 (en) Architecture for encrypted application installation
US11218299B2 (en) Software encryption
US7457960B2 (en) Programmable processor supporting secure mode
EP2672673B1 (en) Apparatus and method for secure data processing
US20090282254A1 (en) Trusted mobile platform architecture
EP1840786B1 (en) Computer architecture for an electronic device providing single-level secure access to multi-level secure file system
US20040098591A1 (en) Secure hardware device authentication method
WO2002033521A2 (en) Method and apparatus for controlling access to functions with different security levels
EP1593015B1 (en) Architecture for encrypted application installation
CN112765637A (zh) 数据处理方法、密码服务装置和电子设备
KR100730708B1 (ko) 암호화된 어플리케이션 설치를 위한 구조
CN110059489B (zh) 安全电子设备
Sharma Onboard credentials: Hardware assisted secure storage of credentials
KR100823631B1 (ko) 키 저장 관리
Sitawarin iOS Security
Giordano Lockbox™ Secure Technology

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

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130723

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140722

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150716

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160720

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170719

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180718

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190718

Year of fee payment: 12