[go: up one dir, main page]

KR100657532B1 - 전자 장치 보안 방법, 보안 시스템 및 전자 장치 - Google Patents

전자 장치 보안 방법, 보안 시스템 및 전자 장치 Download PDF

Info

Publication number
KR100657532B1
KR100657532B1 KR1020037016192A KR20037016192A KR100657532B1 KR 100657532 B1 KR100657532 B1 KR 100657532B1 KR 1020037016192 A KR1020037016192 A KR 1020037016192A KR 20037016192 A KR20037016192 A KR 20037016192A KR 100657532 B1 KR100657532 B1 KR 100657532B1
Authority
KR
South Korea
Prior art keywords
check
electronic device
data
boot
program
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1020037016192A
Other languages
English (en)
Other versions
KR20040007685A (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 KR20040007685A publication Critical patent/KR20040007685A/ko
Application granted granted Critical
Publication of KR100657532B1 publication Critical patent/KR100657532B1/ko
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)
  • Emergency Protection Circuit Devices (AREA)
  • Fuses (AREA)
  • Debugging And Monitoring (AREA)
  • Retry When Errors Occur (AREA)

Abstract

본 발명은 전자 장치(1)의 신뢰성을 보장하는 방법에 관한 것이다. 적어도 제1(DID, S1, PK1) 및 제2(S2, PK2) 체크 업(check-up) 데이터가 상기 전자 장치(1)에 저장된다. 상기 방법에 있어서, 부트(boot) 프로그램이 시작(501)되고, 상기 부트 프로그램에서 적어도 제1(P1) 및 제2(P2) 부트 단계가 수행된다. 상기 제1 부트 단계에서, 적어도 상기 제1 체크 업 데이터(DID, S1, PK1)의 신뢰성이 검사되고, 상기 체크 업이 상기 적어도 제1 체크 업 데이터(DID, S1, PK1)가 신뢰할 수 있다고 나타내는 경우, 적어도 제2 부트 단계와 관련된 적어도 제2 체크 업 데이터(S2, PK2)가 상기 제2 부트 단계의 신뢰성을 확인하기 위하여 검사된다. 상기 체크 업이 상기 제2 부트 단계와 관련된 적어도 하나의 제2 체크 업 데이터(S2, PK2)가 신뢰할 수 있다고 나타내는 경우, 상기 제1 부트 단계(P1) 이후에 상기 제2 스타트 업 단계(P2)가 수행된다.

Description

전자 장치 보안 방법, 보안 시스템 및 전자 장치{A method for securing an electronic device, a security system and an electronic device}
본 발명은 첨부된 청구항 제1항의 전제부에서 제시되는 바와 같은 전자 장치를 보장하는 방법에 관한 것이다. 본 발명은 또한 첨부된 청구항 제15항의 전제부에 따른 시스템에 관한 것이다. 본 발명은 또한 첨부된 청구항 제26항의 전제부에 따른 전자 장치에 관한 것이다. 본 발명은 또한 첨부된 청구항 제29항의 전제부에 따른 프로그램 및 첨부된 청구항 제30항의 전제부에 따른 저장 수단에 관한 것이다.
다양한 전자 장치들은 마이크로프로세서, 마이크로컨트롤러, 프로그램 가능 로직, 및/또는 프로그램 가능 주문형 반도체와 같은 프로그램 가능 제어 수단을 사용한다. 이러한 전자 장치들은 예를 들어 전자 장치의 동작에 필요한 프로그램 명령들을 포함하는 하나 이상의 프로그램들로 구성된 저장된 소프트웨어를 포함한다. 이러한 소프트웨어를 저장하는 경우, 메모리가 사용되고, 메모리의 적어도 일부는 비휘발성 메모리이다. 즉, 메모리의 동작 전압이 차단되는 경우에도 메모리의 내용이 유지된다. 이러한 메모리들은 예를 들어 읽기 전용 메모리(ROM), 프로그램 가능 롬(PROM), 및 전기적 소거 가능 PROM(EEPROM)을 포함한다. 메모리의 적어도 일부는 보통 전자 장치에 통합되지만, 추가로 예를 들어 메모리 확장 보드에 의하여 많은 애플리케이션에서 메모리가 증가될 수 있다. 하나의 이러한 메모리 확장 보드는 소위 플래시 메모리 카드이다. 플래시 메모리는 그 내용이 전기적인 프로그래밍에 의해 변경될 수 있는 일종의 EEPROM 유형 메모리이다. 플래시 메모리의 내용은 동작 전압이 차단된 이후에도 유지될 것이다. 이러한 확장 메모리에 의하여, 예를 들어 이동국 등에서 액세스 권한을 설정하거나 디지털 카메라에서 사진을 저장하기 위한 메모리 용량과 새로운 소프트웨어를 전자 장치에 제공하는 것이 용이하다. 전자 장치에 소프트웨어를 설치하는 것은 또한 디스켓, CD-롬, 또는 DVD와 같은 다른 저장 수단을 사용하여 수행될 수 있다.
저장 수단에 저장된 소프트웨어를 복사하는 것은 비교적 용이하다. 따라서 소프트웨어 제공자들은 복사된 소프트웨어의 사용을 방지하기 위한 다양한 방법들을 개발했다. 하나의 이러한 방법은 제품 ID 또는 이와 유사한 다른 것을 사용하는 것이다. 따라서, 프로그램을 시작하는 경우, 사용자는 프로그램을 사용하기 전에 전자 장치에 이러한 제품 ID를 입력해야 한다. 하지만, 이러한 구조의 문제점은 프로그램의 복사와 함께 사용자는 원본 소프트웨어의 소유자로부터 이 제품 ID를 획득할 수 있고 또한 복사된 프로그램이 사용될 수 있다는 것이다. 다른 한편, 복사된 소프트웨어의 사용자가 제품 ID를 알지 못하더라도, 사용자는 예를 들어 역 설계(reverse engineering) 또는 디버깅에 의해 프로그램 보호의 구조를 알아내려고 노력할 수 있고, 여기서, 프로그램의 목적 코드(object code)가 소스 코드로 변환된다. 따라서, 사용자는 예를 들어 복사 방지 기능을 해제하거나 사용자가 목적 코 드에 기초하여 필요한 제품 ID를 풀어내는 그러한 방식으로 복사 방지를 암호 해독하고 프로그램을 수정하는데 성공할 수 있다. 이러한 가능성을 더 어렵게 하기 위하여, 프로그램들이 개발되었다. 이 프로그램들에서 프로그램이 실행되는 동안 프로그램이 변경되지는 않았는지 때때로 검사된다. 따라서, 사용자가 이러한 복사 방지의 구조를 결정할 수 있지 않은 경우, 부팅시에 복사 방지의 단순한 암호 해독이 반드시 장시간 복사된 소프트웨어를 사용할 수 있게 하지는 않는다.
프로그램이 다른 장치에서 사용될 수 없도록 하는 방식으로 주어진 장치에 절대적인 주어진 프로그램을 연결하는 것이 공지되어 있다. 이것은 예를 들어 하드웨어-특정 일련번호에 기초하여 소프트웨어를 수정하거나 하드웨어-특정 일련번호에 기초하여 하나의 장치에만 기능할 수 있는 설치 프로그램을 제공함으로써 수행될 수 있다. 이러한 해결책은 이러한 보호가 소프트웨어 또는 하드웨어를 수정함으로써 깨어질 수 있다는 단점이 있다.
디버깅을 어렵게 하기 위하여, 적어도 복사 방지 부분 및/또는 프로그램 코드와 함께 제품 ID의 저장을 복잡하게 하는 시도가 수행될 수 있고, 여기서 복사 방지를 깨는 것을 더 어렵게 한다. 하나의 이러한 해결책은 예를 들어 국제 특허 출원 WO 00/77597에 개시된다.
미국 특허 US 5,131,091은 XOR 연산을 가지고 프로그램 코드의 내용을 스크램블함으로써 메모리 카드에 저장된 프로그램이 보호되는 방법을 개시한다. 상기 스크램블에서, 비휘발성 메모리에 저장된 암호 비트열이 사용되고, 상기 열을 발견하는 것을 가능한 한 어렵게 하였다. 상이한 암호 비트열이 상이한 사용자들에게 제공되는 메모리 카드들에 사용된다.
소프트웨어를 합법적으로 취득한 사용자도 또한 소프트웨어 원본을 안전하게 할 필요가 있다. 왜냐하면, 몇몇 경우들에서 제3자가 원본 프로그램에서 수정된 버전을 원본 프로그램으로서 시장에 공급하려고 시도할 수 있기 때문이다. 이러한 소프트웨어는 예를 들어 추가 바이러스를 포함할 수 있고, 상기 소프트웨어는 소위 비밀문(back door)을 구비할 수 있다. 이 비밀문을 통해 수정된 소프트웨어 제작자는 이 수정된 소프트웨어가 설치된 회사의 근거리 통신망에 액세스할 수 있다. 몇몇 경우들에서, 수정된 소프트웨어는 예를 들어 전자 장치에 사용자가 입력한 사용자 식별자 및 패스워드를 예를 들어 인터넷과 같은 데이터 네트워크를 통해 상기 수정된 소프트웨어의 제작자에게 사용자가 알아차리지 못한 채 전송하는 특성을 가질 수 있다. 소프트웨어의 원본을 안전하게 하기 위하여, 프로그램에는 디지털 서명이 제공될 수 있고, 상기 디지털 서명에 기초하여 사용자는 원본 소프트웨어의 신뢰성을 확립할 수 있다.
프로그램의 복사 방지에 추가하여, 전자 장치와 관련하여 저장된 다른 정보가 오용되지 않도록 보호할 필요가 있다. 예를 들어, 특정 사용자 또는 특정 사용자들에게 액세스 권한을 제한하는 것이 정해진다. 따라서, 사용자는 개인용 스마트카드를 가지고 전자 장치를 사용하기 위하여 상기 사용자는 상기 전자 장치에 제공되는 카드 접속기에 상기 스마트카드를 삽입한다. 보조 인증으로서, 또한 사용자 식별을 사용하는 것이 가능하다. 여기서, 전자 장치를 턴 온하는 경우, 사용자는 상기 전자 장치를 사용하기 전에 사용자 식별을 입력해야 한다. 이러한 구성은 예 를 들어 GSM 이동 통신 네트워크 및 UMTS 이동 통신 네트워크와 같은 많은 이동 통신 네트워크에서 적용된다. 이러한 이동 통신 네트워크에서 사용되는 이동국에 스마트카드가 삽입된다. 상기 스마트카드는 GSM 시스템에서 가입자 아이덴티티 모듈(SIM; Subscriber Identity Module)로 지칭되고, UMTS 시스템에서 범용 가입자 아이덴티티 모듈(USIM; Universal Subscriber Identity Module)로 지칭된다. 이러한 스마트카드에 있어서, 이동 통신 네트워크의 서비스 제공자는 국제 이동 가입자 식별자(IMSI; International Mobile Subscriber Identifier)와 같은 어떤 가입자 사양을 이미 설정했다. 사용자 식별이 또한 상기 스마트카드에 저장되고, 이동국이 턴 온되는 경우 상기 스마트카드는 사용자 식별을 검사한다.
하지만, 상기 제시된 해결책은 제3자가 소프트웨어를 다른 장치에서 사용하거나 이 장치에서 프로그램의 동작을 변경할 수 있는 그러한 방식으로 소프트웨어를 수정하는 문제를 해결하지 못한다. 이러한 문제는 예를 들어 이동국과 관련하여 이동국의 복제품을 만들어서 무료로 이동 통신 네트워크 서비스를 액세스할 수 있는 일이 발생한다. 복제된 이동국의 국제 이동 장치 아이덴티티(IMEI; International Mobile Subscriber Identity)와 소프트웨어는 원본 이동국의 것과 동일하다. 또한 복제된 이동국에 설치되는 스마트카드에 복제가 수행된다. 따라서, 이동 스위칭 센터는 원본 이동국과 복제된 이동국을 구별하지 못한다.
소프트웨어 및 다른 데이터의 선행기술 암호화 해결책의 또 다른 단점은 동일한 암호화키가 대량의 정보를 암호화하는데 사용되는 경우, 암호화키의 암호 해독이 이렇게 암호화된 정보를 분석함으로써 성공할 수 있다는 것이다.
휴대 장치의 데이터 처리 능력이 증가함에 따라, 기밀이거나 외부에 노출되지 않아야 하는 정보일 수 있는 더 많은 정보가 상기 휴대 장치에 저장될 수 있다. 하지만, 휴대 장치를 가지고 다니는 것은 상기 휴대 장치가 분실되거나 도난당할 위험을 증가시킬 것이다. 따라서, 암호화 방법을 가지고 상기 휴대 장치에 저장된 정보를 보호하는 것이 시도되어야 한다. 휴대용 장치들에 있어서, 보통 사용자가 상기 장치가 사용되기 전에 턴 온 단계에서 상기 장치에 입력해야 하는 패스워드를 결정할 수 있다. 하지만, 이러한 보호는 비교적 통과하기 용이한데, 왜냐하면 사용되는 패스워드들은 보통 비교적 짧고, 전형적으로 10 미만의 문자 길이를 갖기 때문이다. 다른 한편, 패스워드를 알아내려고 시도하지 않더라도, 예를 들어 고정 디스크와 같은 저장 수단을 다른 장치에 옮겨서 장치에 포함된 정보는 액세스될 수 있다. 저장 수단에 포함된 정보가 암호화된 형식이 아닌 경우, 상기 저장 수단에 저장된 정보는 용이하게 알려질 수 있다.
사용자 또는 장치가 필요로 하는 정보는 하나의 키를 가지고 암호화될 수 있고, 암호화된 정보는 장치의 메모리에 저장될 수 있으며, 다른 키를 가지고 암호 해독될 수 있다고 알려져 있다. 비대칭 암호화에 사용되는 키는 암호 해독에 사용되는 키와 상이하다. 반면, 대칭 암호화에 사용되는 키는 암호 해독에 사용되는 키와 동일하다. 비대칭 암호화에 있어서, 이들 키들은 보통 공용키 및 개인키로 지칭된다. 공용키는 암호화에 사용되고 개인키는 암호 해독에 사용된다. 비록 공용키가 일반적으로 알려질 수 있지만, 공용키에 대응하는 개인키를 용이하게 결정하는데 보통 사용되지 않고, 이러한 공용키를 가지고 암호화된 정보를 외부인이 알아내는 것은 매우 어렵다. 이러한 공용키 및 개인키를 사용하는 시스템의 일 예는 PGP 시스템(매우 좋은 프라이버시(Pretty Good Privacy))이고, 여기서 사용자는 수신자의 공용키를 가지고 전송될 정보를 암호화하고, 상기 수신자는 자신의 개인키를 가지고 암호화된 정보를 연다. 하지만, 선행 기술 시스템에 상당한 단점들이 있다. 유효 대칭 키들은 대략 100비트로 구성되지만, 비대칭 키들은 대략 1000 내지 2000 또는 4000까지의 비트들로 구성된다. 키 열이 너무 짧은 경우, 폭력적인 공격으로 지칭될 수 있는 현대 데이터 처리 장치를 가지고 해독하는 것이 비교적 용이하다. 이러한 문제는 특히 제한된 처리 능력이 긴 키들의 사용을 방해하는 휴대용 데이터 처리 및 통신 장치들에 중요하다.
본 발명의 목적은 주어진 프로그램이 주어진 전자 장치에만 기능하도록 설정되는 그러한 방식으로 전자 장치를 안전하게 하는 개선된 방법을 제공하는 것이다. 본 발명은 제1 단계에서 제1 체크 업(check-up) 데이터가 검증되고, 제1 체크 업 데이터가 올바른 경우, 제2 부트 단계와 관련된 제2 체크 업 데이터가 검증되며, 또한 상기 제2 체크 업 데이터가 올바른 경우, 제2 부팅 단계를 시작할 수 있는 그러한 방식으로 부트 업(boot-up)이 적어도 2단계로 설정되는 사상에 기초한다. 보다 상세하게는, 본 발명에 따른 방법은 주로 첨부된 청구항 제1항의 특징부에서 제공되는 것을 특징으로 한다. 본 발명에 따른 시스템은 주로 첨부된 청구항 제15항의 특징부에서 제시되는 것을 특징으로 한다. 본 발명에 따른 전자 장치는 주로 첨부된 청구항 제26항의 특징부에서 제시되는 것을 특징으로 한다. 또한, 본 발명에 따른 소프트웨어는 주로 첨부된 청구항 제29항의 특징부에서 제시되는 것을 특징으로 한다. 또한, 본 발명에 따른 저장 수단은 주로 첨부된 청구항 제30항의 특징부에서 제시되는 것을 특징으로 한다.
본 발명은 선행기술 해결책에 비해 상당한 장점들을 나타낸다. 본 발명에 따른 전자 장치에서, 장치 아이덴티티는 가능한 한 수정하기 어려운 메모리에 저장된다. 더욱이, 바람직한 실시예에 있어서, 장치 아이덴티티는 디지털 서명을 가지고 검증되고, 여기서 공용키 또는 식별에 사용되는 몇몇 키 식별 정보가 상기 전자 장치에 저장된다. 따라서, 상기 디지털 서명을 검사함으로써, 디지털 서명이 전자 장치의 장치 아이덴티티에 대응하는지 여부를 높은 가능성을 가지고 검증할 수 있다. 하나의 장치 아이덴티티는 상기 장치에 영구히 설정되고 다른 것은 인증서로 지칭되는 서명된 데이터에서 설정된다. 이제, 상기 서명을 검사함으로써, 인증서의 제작자 및 신뢰성을 알아낼 수 있다. 따라서, 장치의 영구 장치 아이덴티티 및 인증서에 포함된 장치 아이덴티티가 일치하는지가 검증된다. 본 발명에 따른 방법에 의하여, 주어진 프로그램만이 특정 전자 장치에서 동작한다는 것이 보장될 수 있다. 따라서, 소프트웨어 복사로 인해 야기되는 프로그램 제공자들의 경제적인 손실을 상당히 감소시킬 수 있다. 또한, 본 발명의 해결책에 의해 해적판 전자 장치 및 소프트웨어를 만들기에 상당히 더 어렵게 할 수 있기 때문에, 전자 장치의 사용자들의 입장을 개선할 수 있다. 따라서, 권한이 부여된 사용자에게 상기 사용자의 전자 장치에 대응하는 복제된 전자 장치의 사용에 대한 어떠한 비용도 부과되지 않을 것이다. 본 발명의 방법에 의하여, 소프트웨어의 원본이 검증될 수 있고, 소프트웨어 사용자는 소프트웨어의 원본이 표시된 것에 대응하고, 상기 소프트웨어는 어떠한 바이러스, 비밀문, 또는 이와 유사한 다른 것을 포함하지 않는다는 것을 비교적 확신할 수 있다. 본 발명은 또한 전자 장치의 소프트웨어가 수정 이후에 기능하도록 권한이 부여되지 않은 방식으로 수정될 수 없도록 할 수 있다.
본 발명에 따른 전자 장치에 있어서, 회로의 내부 읽기 전용 메모리의 크기가 비교적 작게 유지될 수 있는데, 왜냐하면 외부 메모리(플래시 또는 어떤 다른 유형의 메모리)에 프로그램들의 보전이 칩 내에서 검증될 수 있기 때문이다. 이것은 또한 전자 장치의 대다수 프로그램들이 또한 전자 장치의 제조 후에 교체될 수 있고 프로그램의 계획을 더 용이하게 할 수 있다.
본 발명의 바람직한 실시예에 있어서, 프로그램의 액세스 권한의 제어에 사용되는 장치 아이덴티티는 전자 장치의 가능한 IMEI 코드와 독립적이다. 따라서, 필요한 경우 장치의 제조가는 IMEI 코드를 변경할 수 있다. 더욱이, 장치 아이덴티티의 길이가 IMEI보다 더 짧을 수 있고, 장치 아이덴티티를 저장하는 경우, 선행기술 해결책을 적용하는 경우보다 더 작은 양의 값비싼 메모리 용량이 필요할 것이다.
이하, 본 발명은 첨부된 도면들을 참조하여 더 상세하게 기술될 것이다.
도 1은 본 발명의 바람직한 실시예에 따른 전자 장치를 나타내는 블록도이다.
도 2는 본 발명의 바람직한 실시예에 따른 방법을 적용하는 전자 장치에서 부트 프로그램의 구조를 나타내는 도면이다.
도 3은 본 발명의 바람직한 실시예에 따른 보안 시스템에 의한 전자 장치에 소프트웨어의 전달 및 제조를 나타내는 도면이다.
도 4는 본 발명의 다른 바람직한 실시예에 따른 보안 시스템에 의한 전자 장치에 소프트웨어의 전달 및 제조를 나타내는 도면이다.
도 5는 본 발명의 바람직한 실시예에 따른 부트 프로그램의 동작을 나타내는 흐름도이다.
도 6은 디지털 서명을 형성하는 공지된 원리를 나타내는 도면이다.
이하, 본 발명의 방법과 관련하여 본 발명의 바람직한 실시예에 따른 전자 장치(1)의 동작이 설명된다. 사용되는 전자 장치(1)는 프로그램을 구동하는 수단을 포함하는 어떠한 전자 장치일 수 있다. 바람직하기로는, 상기 전자 장치(1)는 운영 체계 소프트웨어 또는 그와 유사한 다른 것을 포함하여, 상기 전자 장치의 필수 기능들이 제어되고 상기 전자 장치(1)의 다른 프로그램들(애플리케이션)의 구동이 제어될 수 있다. 본 명세서에 기술되는 전자 장치(1)의 비제한적인 예들은 이동국 및 컴퓨터이다.
도 1에 도시되는 본 발명의 바람직한 실시예에 따른 전자 장치(1)는 프로그램을 구동하는 수단(2a)을 포함하는 제어 블록(2)을 포함한다. 이 수단은 예를 들어 마이크로 제어 유닛(MCU) 및 디지털 신호 처리 유닛(DSP)을 포함한다. 추가로, 상기 제어 블록(2)은 바람직하기로는 주문형 반도체(ASIC)를 포함하여, 예를 들어 전자 장치의 논리 기능의 적어도 일부를 구현하는 것이 가능하다. 더욱이, 도 1에 도시된 전자 전치(1)의 제어 블록(2)은 바람직하기로는 랜덤 액세스 메모리(2f) 및 읽기 전용 메모리(2d)를 구비하고, 상기 읽기 전용 메모리의 적어도 일부는 1회 프로그램 가능 롬(OTPROM)(2e)이다. 하지만, 이들 메모리들(2d, 2e, 2f)은 또한 상기 제어 블록(2)에서 분리된 메모리들로서 구현될 수 있다는 것이 분명하다. 상기 전자 장치는 또한 상기 제어 블록 외부에 메모리 수단(3)을 포함한다. 상기 메모리 수단(3)은 바람직하기로는 적어도 하나의 읽기 전용 메모리(3a), 프로그램 가능 읽기 전용 메모리(3b) 및 랜덤 액세스 메모리(3c)를 포함한다. 상기 읽기 전용 메모리(3a)의 적어도 일부는 그 내용이 사용자에 의해 변경될 수 없는 방식으로 구현된다. 또한, 메모리 접속 수단(5)에 메모리 확장 블록(4)을 연결함으로써 도 1의 전자 장치(1)에 확장 메모리를 접속할 수 있다. 상기 메모리 확장 블록(4)은 예를 들어, 플래시 메모리 카드이지만, 또한 다른 메모리 확장 수단이 본 발명과 관련하여 적용될 수 있다. 바람직하기로는, 상기 전자 장치(1)는 이어폰/스피커 및 마이크로폰과 같은 오디오 수단(8), 키보드(7) 및 디스플레이(6)를 포함하는 사용자 인터페이스(UI)를 구비한다. 도 1에 도시된 본 발명의 바람직한 실시예에 따른 전자 장치(1)는 또한 예를 들어 GSM 이동국 및/또는 UMTS 이동국과 같은 이동국 기능을 수행하는 수단(9)을 포함한다. 더욱이, 상기 전자 장치(1)는 바람직하기로는 SIM 카드 및/또는 USIM 카드와 같은 아이덴티티 카드(11)를 상기 전자 장치(1)에 연결하는 수단(10)을 포함한다.
도 2는 본 발명의 바람직한 실시예에 따른 방법이 적용되는 전자 장치(1)의 부트(boot) 프로그램의 구조를 도시한다. 상기 부트 프로그램은 적어도 2개의 부트 블록(P1, P2)으로 분리된다. 제1 부트 블록(P1)은 제1 단계의 초기 부팅 동작을 수행한다. 제2 부트 블록(P2)은 스타트 업(start-up)을 막는 어떠한 오류가 상기 제1 부트 블록에서 검출되지 않은 경우 추가로 체크 업(check-up)을 수행한다.
적어도 2 단계로 구성되는 본 발명에 따른 보안 방법은 다음의 방식으로 기능한다. 그 동작은 도 5의 흐름도에 도시된다. 상기 전자 장치(1)를 시작하는 경우, 제어 블록(2)은 부트 프로그램을 구동하기 시작한다(도 5의 블록 501). 이것은 먼저 수행되는 부트 프로그램의 프로그램 명령을 포함하는 주어진 초기 주소에 제어 블록(2)의 주소 레지스터를 설정함으로써 그 자체로서 공지된 방식으로 수행된다. 이 프로그램 명령은 제1 부트 블록(P1)에 위치된다. 그 다음, 프로그램의 구동은 바람직하기로는 장치를 초기화하는데 필요한 단계들을 수행함으로써 계속되고, 이것은 당업자에게 공지된 기술이며 본 명세서에서 기술될 필요가 없다. 제1 부트 블록(P1)은 제1 체크 업 데이터(제1 보안 데이터)를 검사하는 제1 체크 업 단계를 포함한다. 제1 체크 업 단계에서, 예를 들어 1회 프로그램 가능 롬(2d)에 저장되어 있는 장치 ID 또는 이와 유사한 다른 것이 검사될 것이다(블록 502). 이 장치 ID는 도 2에서 참조부호 DID로 표시된다. 더욱이, 상기 제1 부트 블록(P1)의 프로그램 코드가 수정되지 않았는지를 검사할 수 있다. 그 검사는 바람직하기로는 적어도 상기 장치 아이덴티티(DID) 및 가능하게는 또한 읽기 전용 메모리(2d, 2e)에 저장된 부트 프로그램의 적어도 일부를 사용하여 디지털 서명을 계산함으로써 상기 제어 블록(2)에서 수행된다. 디지털 서명을 계산하는 경우, 동일한 알고리즘과 동일한 데이터가 사용되어, 상기 디지털 서명은 본 명세서에서 후술되는 바와 같이 장치 제조자의 비밀 키에 의해 전자 장치(1)의 제조와 함께 계산된다. 상기 디지털 서명은 바람직하기로는 프로그램 가능 읽기 전용 메모리(3b)(도 2에서 참조부호 S1로 표시된다)에 저장되지만, 또한 예를 들어 장치 아이덴티티(DID)가 저장된 것과 동일한 읽기 전용 메모리(2d, 2e)에 저장될 수 있다는 것이 명백하다. 상기 디지털 서명은 상기 서명에 사용되는 비밀 키에 대응하고 상기 읽기 전용 메모리(2d, 2e)에 저장되는 공용 키(PK1)를 사용하여 검증될 수 있다. 상기 디지털 서명을 계산한 후에, 상기 제어 블록(2)에서 계산된 디지털 서명과 1회 프로그램 가능 읽기 전용 메모리(2d, 2e)에 저장된 디지털 서명(S1)간에 비교가 수행된다(블록 503). 상기 비교가 상기 디지털 서명들이 일치한다고 나타내는 경우, 부팅을 계속할 수 있다. 다른 경우에, 전자 장치(1) 및/또는 전자 장치에 포함된 아이덴티티 데이터(DID) 및/또는 부트 프로그램을 수정하려는 시도가 있었는지가 분명하고, 결과로서, 예를 들어 상기 전자 장치를 스위치 오프함으로써 상기 장치의 정상 동작이 방지된다(블록 504). 검사를 수행하는 부트 프로그램의 이러한 부분은 전자 장치(1)를 파손하지 않고는 변경될 수 없는 방식으로 상기 전자 장치(1)의 메모리에 저장된다. 한 가지 유용한 해결책은 저장을 위해 제어 블록(2)의 내부의 1회 프로그램 가능 읽기 전용 메모리(2e)를 사용하는 것이다.
부팅이 계속되는 경우, 다음 단계는 어떤 다른 프로그램들(PG1, PG2, PG3)을 시작하지 않고 부트 프로그램의 제2 체크 업 단계를 수행하는 것이다. 제2 체크 업 단계에 대응하는 프로그램 코드는 제1 부트 블록(P1)에 있다. 제2 체크 업 단계에 서, 부트 프로그램의 제2 부트 블록(P2)의 신뢰성(authenticity)이 검사된다. 부트 프로그램의 제2 부트 블록(P2)은 바람직하기로는 플래시 메모리와 같은 전기적 소거 및 프로그램 가능 읽기 전용 메모리(EEPROM)(3b)에 저장된다. 디지털 서명은 일기 전용 메모리(3a, 3b)에 저장된 부트 프로그램의 적어도 일부를 사용하여 계산된다(블록 505).또한 부트 프로그램의 제2 부트 블록의 디지털 서명(S2)은 동일 메모리(3b)에 저장된다. 이러한 디지털 서명(S2)의 계산은 전자 장치(1)의 제조자의 비밀 키 뿐 아니라 부트 프로그램의 제2 부트 블록의 프로그램 코드의 일부와 같이 검증될 수 있는 어떤 데이터를 적용한다. 이 비밀 키에 대응하는 공용 키(PK2)도 또한 상기 메모리(3b)에 저장된다. 계산된 디지털 서명이 메모리(3b)에 저장된 디지털 서명과 비교되고(블록 506), 상기 서명들이 일치하는 경우, 전자 장치(1)의 부팅이 계속될 수 있다. 하지만, 상기 서명들이 일치하지 않는 경우, 예를 들어 전자 장치를 정지시켜 상기 장치의 정상 동작이 방지된다.
제2 체크 업 단계에서 검사되는 데이터(제2 체크 업 데이터, 제2 보안 데이터)는 예를 들어 프로그램 가능 읽기 전용 메모리(3b)에 저장된 프로그램들(PG1, PG2, PG3), 매개변수들, 장치 아이덴티티(DID), IMEI, 또는 이와 유사한 다른 것으로부터 예를 들어 해시 함수(hash function)에 의해 압축된 데이터(H)를 계산함으로써 형성될 수 있다. 이 압축된 데이터(H)는 비밀 키를 가지고 서명되고 프로그램 가능 읽기 전용 메모리(3b)에 저장된다. 이 경우에, 이 서명의 신뢰성을 검증함으로써 검사가 수행된다.
본 발명의 바람직한 실시예에 있어서, 제2 부트 단계 및 공용 키(PK2)에 사 용되는 체크 업 프로그램의 위치에 대한 정보는 제1 부트 단계로부터 제2 부트 단계를 수행하는 프로그램으로 전송된다.
상술된 제2 체크 업 단계가 성공한 후에, 메모리(3b)에 저장된 부트 프로그램의 제2 부트 블록(P2)을 구동할 수 있다. 부트 프로그램의 제2 부트 블록(P2)에서, 예를 들어 읽기 전용 메모리(3b)에 저장된 어떤 다른 데이터는 예를 들어 하나 이상의 디지털 서명을 계산(블록 507)하고 상기 디지털 서명을 읽기 전용 메모리에 저장된 대응하는 디지털 서명과 비교(블록 508)함으로써 상술된 원리에 따라 검증된다. 검증될 데이터는 예를 들어 SIM 로크(lock)(SL)와 같은 서비스 제공자 특정 정보 뿐 아니라 장치 아이덴티티(DID), 국제 이동 장치 아이덴티티(IMEI)와 같은 장치 특정 정보를 포함하여, 이동국은 하나 이상의 특정 SIM/USIM 카드 및/또는 운용자 로크를 가지고 동작하도록 설정될 수 있고, 전자 장치(1)는 특정 이동 전화 운용자만의 SIM/USIM 카드를 가지고 동작하도록 설정될 수 있다. 서명들 및 다른 가능한 수행된 검증들이 타당한 경우 부트 프로그램의 제2 부트 블록(P2)의 구동이 계속될 수 있다. 몇몇 애플리케이션에서, 상술된 장치 아이덴티티(DID)는 국제 이동 장치 아이덴티티(IMEI)에 기초하여 형성될 수 있지만, 그들은 또한 서로 독립적일 수 있다.
그 다음, 프로그램들(PG1, PG2, PG3)의 프로그램 코드 중에서 아직 검증되지 않은 부분 또는 적어도 그들 중 몇몇을 검사하기 위하여 적어도 다른 체크 업 단계가 수행된다(블록 509). 이 체크 업 단계에서, 상술된 원리들을 적용하는 것이 가능하고, 여기서 적어도 다른 디지털 서명 및 그 증명을 위해 필요한 정보가 메모리(3b)에 저장된다.
전자 장치(1)를 시작하기 위해 결정된 모든 검증들이 수행된 후에, 다른 프로그램들(PG1, PG2, PG3)을 부트할 수 있고(블록 510), 그 다음 전자 장치(1)는 정상적으로 사용될 수 있다.
상술된 공용 키들은 또한 공용 키들의 원본에 대해 더 큰 확신을 얻기 위하여 디지털 서명(=인증서)을 가지고 검증될 수 있다. 이 경우, 상기 공용 키들 뿐 아니라 대응하는 디지털 서명들도 메모리(2d, 2e, 3b)에 저장되고 검증된 후 다른 체크 업 방법들에 사용된다.
비록 상기 설명에서 부트 프로그램이 단지 제1(P1) 및 제2(P2) 부트 블록들로 분리되었지만, 본 발명에 있어서 부트 프로그램은 또한 2 이상의 부트 블록로 분리될 수 있다는 것이 명백하다. 따라서, 다음 부트 블록으로 동작이 진행되기 전에, 각 부트 블록은 적어도 다음 부트 블록의 검증을 포함한다. 상기 검증에 있어서, 적어도 일부의 정보가 다음 순서의 부트 블록에 저장되는 정보가 사용된다.
상술된 검증들은 또한 전자 장치(1)이 정상 동작 동안 부팅 이후에 수행될 수 있다. 이것의 목적은 예를 들어 상기 스마트카드를 부팅 이후에 상기 전자 장치(1)에서 그 사용이 인증되지 않은 스마트카드로 교체하거나 외부 메모리(3b)를 수정된 프로그램 코드를 포함하는 메모리로 교체하는 것을 방지하는 것이다.
본 발명에 따른 전자 장치(1)에 제조 단계 및/또는 소프트웨어를 갱신하는 단계에서, 필요한 체크 업 데이터 및 프로그램들이 바람직하기로는 다음 방식으로 메모리(2d, 2e, 3a, 3b)에 형성된다. 부트 프로그램의 제1 부트 블록(P1), 디지털 서명을 계산하는 프로그램, 및 암호화 및 암호 해독 알고리즘을 포함하는 검증에 필요한 프로그램 코드들이 제어 블록(2)에 저장된다. 이 단계는 도 3의 블록 301에 의해 표시된다. 제조자는 또한 제어 블록의 1회 프로그램 가능 메모리(2e)에 장치 아이덴티티(DID)의 적어도 일부를 저장한다(블록 303). 더욱이, 장치 아이덴티티 및 제1 부트 블록(P1)의 검증에 필요한 디지털 서명(S1) 및 제조자의 공용 키(PK1)는 1회 프로그램 가능 메모리(2e)에 저장된다. 1회 프로그램 가능 메모리(2e)에 필요한 저장을 수행한 후에, 필요한 경우 상기 1회 프로그램 가능 메모리(2e)는 더 이상 메모리에 변경이 수행될 수 없는 상태로 설정된다. 이것의 목적은 장치 아이덴티티(DID) 또는 상기 1회 프로그램 가능 메모리(2e)의 다른 부분에서 예를 들어 싱글 비트들의 변경을 방지하는 것이다. 구성 요소들의 조합하는 단계(블록 302)에서, 또한 1회 프로그램 가능 메모리(2e)를 포함하는 제어 블록(2)은 전자 장치의 회로 보드(미도시)에 설치된다. 제조자는 예를 들어 프로그램 가능 메모리(3b) 및/또는 1회 프로그램 가능 메모리(3a)에 가능한 애플리케이션 프로그램들 및 부트 프로그램의 다른 블록들(P2)을 저장한다(블록 304 및 305). 또한 부트 프로그램의 제2 부트 블록(P2)을 검사하는데 사용되는 제조자의 공용 키(PK2), 디지털 서명(S2) 뿐 아니라 가능한 인증서가 상기 메모리(3b)에 저장된다. 이 다음, 전자 장치(1)는 이동전화 운용자와 같은 서비스 제공자 또는 판매업자에게 전달될 수 있다. 따라서, 전자 장치(1)의 구매자가 서비스 제공자와의 가입자 계약에 들어간 경우, 상기 전자 장치(1)는 SIM 카드 또는 서비스 제공자의 어떤 스마트카드와 같은 하나 이상의 스마트카드(11)를 가지고 동작하도록 설정될 수 있다. 따라서, 서비스 제공자 또는 판매업자는 SIM 로크(SL) 또는 이와 유사한 다른 것 뿐 아니라 장치 아이덴티티(IMEI)를 전자 장치(1)에 설정한다. 필요한 경우, 상술된 방식으로 전자 장치(1)의 부팅과 관련하여 데이터의 신뢰성을 검증하는데 사용되는 인증서 데이터베이스(CDB)로부터 인증서가 검색된다. 이 정의들은 메모리(3), 바람직하기로는 프로그램 가능 메모리(3b)에 저장된다. 그 다음, 상기 전자 장치(1)는 사용할 준비가 되었다. 상기 판매업자/서비스 제공자에 의해 제공되는 동작들은 또한 장치 제조자 또는 장치 제조자에 의해 권한이 부여된 서비스 회사에 의해 수행될 수 있다는 것이 명백하다. 따라서, 서비스 제공자 및 구매자에 대한 데이터는 데이터가 저장되는 회사에 전송된다.
상술된 확인 데이터에 기초하여, 서비스 제공자는 서비스 제공자의 서비스에 접속되는 본 발명에 따른 전자 장치(1)가 정말로 그 장치의 아이덴티티 코드가 상기 전자 장치(1)에 저장되어 있는 장치라는 것을 확신할 수 있다. 더욱이, 상기 전자 장치(1) 및 그 안에 포함된 데이터는 권한이 부여되지 않고 수정되지 않았다는 것이 보장된다.
본 발명은 또한 상기 전자 장치(1)의 갱신 소프트웨어 및 다른 데이터에 적용될 수 있다. 이것은 예를 들어 도 4에 도시된 구성으로 판매업자 및/또는 서비스 회사에 의해 구현될 수 있다. 예를 들어, 사용자는 전자 장치(1)에 설치되는 운영 체계의 신규 버전을 갖기를 원한다. 상기 신규 운영 체계 버전은 운영 체계의 제공자에 의해 상기 회사(AS)에 공급되거나, 운영 체계의 제공자로부터 데이터 네트워크를 통해 다운로드된다. 상기 다운로드와 관련하여, 바람직하기로는 장치 아이덴 티티(DID)가 제공되고, 가능하게는 서비스 제공자의 아이덴티티가 또한 제공된다(도 4의 블록 401). 운영 체계를 다운로드하는 경우, 수신자가 진정으로 다운로드할 권한이 부여되었는지 및 사용자가 자신의 전자 장치에 운영 체계의 신규 버전을 수신하도록 권한 부여되었는지에 대한 필요한 검증이 수행된다(블록 402). 다운로드되는 운영 체계는 이제 장치 아이덴티티(DID), 프로그램 제공자의 공용키, 및/또는 디지털 서명에 대한 데이터가 제공될 수 있다(화살표 403). 여기서 운영 체계 버전의 구동은 상기 전자 장치(1)에만 제한될 수 있다. 따라서, 어떠한 다른 복사 방지가 필요없을 것이다. 신규 운영 체계 버전은 전자 장치(1)에 전송되어(화살표 404), 공지된 방법에 의해 프로그램 가능 메모리(3b)에 저장된다(블록 405).
본 발명과 관련하여 적용될 수 있는 공지된 다수의 암호화 방법들이 있다. 본 명세서에 기술되는 대칭 암호화 방법들은 데이터 암호화 표준(DES; Data Encryption Standard), 개선된 암호화 표준(AES; Advanced Encryption Standard), 및 리베스트의 암호화 2(RC2; Rivest's Cipher 2)를 포함한다. 비대칭 암호화 방법은 리베스트, 샤머, 에이들만(RSA; Rivest, Shamir, Adleman)이다. 또한 비대칭 암호화 및 대칭 암호화 양자를 채용하는 소위 하이브리드 시스템이 개발되었다. 이러한 시스템들에 있어서, 비대칭 암호화는 보통 대칭 암호화에 사용되는 암호화 키가 수신자에게 전송되는 경우 사용되고, 여기서 대칭 암호화 키는 실제 정보의 암호화에 사용된다.
비대칭 암호화에 사용되는 공용 키들의 전송을 위하여, 공용 키 기반구조(PKI; Public Key Infrastructure)라고 지칭되는 시스템이 개발되었다. 이 시스템은 서버를 포함하고, 상기 서버에 공용키들이 저장되고 상기 서버로부터 키를 필요로 하는 사용자가 상기 키를 검색할 수 있다. 이러한 시스템은 특히 회사에서 사용하기에 적절하다. 여기서 상기 회사 자신은 암호화된 방식으로 회사에 정보를 전송하기를 원하는 사람에게 공용 키를 전송할 필요가 없다.
디지털 서명을 위해, RSA, 디지털 서명 알고리즘(DSA), 및 타원 곡선 암호작성법(ECC; Elliptic Curve Cryptography)과 같은 몇몇 시스템들이 사용된다. 이들 시스템들과 관련하여, 서명될 정보를 압축하는 알고리즘들이 사용되고, 상기 알고리즘들은 안전한 해시 알고리즘(SHA-1) 및 메시지 다이제스트 5(MD)를 포함한다. 도 6은 디지털 서명을 형성하는 도면이다. 서명될 데이터(601)는 해시 함수(압축 함수)를 수행하는 블록(602)에 전달된다. 그 다음, 해시 함수에 의해 형성된 함축 데이터는 비밀 키(SK)를 가지고 서명된다(603). 서명(604)은 서명될 데이터(601)에 연결된다. 서명된 데이터를 검증하는 단계에서, 서명을 가지고 확인된 데이터가 해시 함수를 수행하는 블록(605)에 전달되어 해시 코드(606)를 생성한다. 상기 서명은 서명자의 비밀 키에 대응하는 공용 키(PK)를 사용하여 검증된다(607). 그 다음, 해시 코드(606)가 서명의 검증(607)에서 형성된 데이터와 비교된다(608). 데이터가 일치하는 경우, 서명된 데이터는 높은 가능성을 가지고 신뢰될 수 있다.
본 발명에 따른 단계들은 주로 전자 장치(1)의 제어 블록(2)에서 소프트웨어 구동 수단(2a)의 프로그램 명령들을 가지고 구현될 수 있다.
본 발명은 또한 전자 장치(1)와 관련된 소프트웨어의 언어 버전의 구현에 적용될 수 있다. 따라서, 각 언어 버전에 대해, 요망되는 언어 정의를 포함하는 한 세트의 프로그램들이 형성된다. 장치 아이덴티티는 상기 세트의 프로그램들에서 데이터로서 설정되고, 상기 프로그램들은 주어진 장치에서만 사용될 수 있다. 이것을 보장하기 위하여, 본 발명에 다른 메커니즘들이 적용된다. 다른 한편, 본 발명의 해결책은 또한 전자 장치(1)에서 어느 언어 버전이 상기 전자 장치(1)에 설치되고 구동될 수 있는지를 결정할 수 있는 방식으로 적용될 수 있다.
본 발명은 상술된 실시예에만 제한되지 않고, 첨부된 청구범위내에서 수정될 수 있다는 것이 명백하다.

Claims (32)

  1. 전자 장치(1)의 신뢰성을 보장하는 방법으로서, 적어도 제1(DID, S1, PK1) 및 제2(S2, PK2) 체크 업(check-up) 데이터가 상기 전자 장치(1)에 저장되고, 부트(boot) 프로그램의 스타트 업(start-up)(501)이 수행되는 전자 장치 신뢰성 보장 방법에 있어서,
    상기 부트 프로그램에서 적어도 제1(P1) 및 제2(P2) 부트 단계가 수행되고, 상기 제1 체크 업 데이터(DID, S1, PK1)는 상기 제1 부트 단계의 프로그램 명령들에 적어도 부분적으로 기초하며, 상기 제2 체크 업 데이터(S2, PK2)는 상기 제2 부트 단계의 프로그램 명령들에 적어도 부분적으로 기초하고, 제1 디지털 서명을 계산하고 상기 제1 디지털 서명을 상기 제1 체크-업 데이터(DID, S1, PK1)과 비교함으로써, 적어도 상기 제1 체크 업 데이터(DID, S1, PK1)의 신뢰성이 검사되며, 상기 체크 업이 상기 적어도 제1 체크 업 데이터(DID, S1, PK1)가 신뢰할 수 있다고 나타내는 경우, 상기 부트 단계와 관련된 적어도 제2 체크 업 데이터(S2, PK2)가 상기 제2 부트 단계의 신뢰성을 확인하기 위하여, 제2 디지털 서명을 계산하고 상기 제2 디지털 서명을 상기 제2 체크-업 데이터(S2, PK2)과 비교함으로써 검사되고, 상기 체크 업이 상기 제2 부트 단계와 관련된 적어도 하나의 제2 체크 업 데이터(S2, PK2)가 신뢰할 수 있다고 나타내는 경우, 상기 제1 부트 단계(P1) 이후에 상기 제2 스타트 업 단계(P2)가 수행되는 것을 특징으로 하는 전자 장치 신뢰성 보장 방법.
  2. 제1항에 있어서, 상기 제1 체크 업 데이터(DID, S1, PK1)의 형성에서 상기 전자 장치(1)에 저장되어 있는 상기 전자 장치의 장치 아이덴티티(DID)의 적어도 일부가 사용되는 것을 특징으로 하는 전자 장치 신뢰성 보장 방법.
  3. 제2항에 있어서, 상기 전자 장치의 장치 아이덴티티(DID)가 상기 제1 체크 업 데이터(DID, S1, PK1)의 형성에서 사용된 장치 아이덴티티와 일치하지 않는 경우, 상기 전자 장치(1)의 정상 동작이 방지되는 것을 특징으로 하는 전자 장치 신뢰성 보장 방법.
  4. 제1항 내지 제3항 중의 어느 한 항에 있어서, 상기 제1 체크 업 데이터(DID, S1, PK1)는 비밀 키를 사용하여 디지털 서명(S1)에 의해 형성되고, 상기 비밀 키에 대응하는 공용 키(PK1)에 관한 정보는 상기 전자 장치(1)에 저장되며, 상기 전자 장치(1)에 저장된 공용 키(PK1)에 관한 정보는 상기 제1 체크 업 데이터(DID, S1, PK1)의 확인에 사용되는 것을 특징으로 하는 전자 장치 신뢰성 보장 방법.
  5. 제4항에 있어서, 상기 공용 키(PK1)에 관한 정보는 1회 프로그램 가능 읽기 전용 메모리(2e)에 저장되고, 상기 제1 체크 업 데이터(DID, S1, PK1)는 상기 전자 장치(1)의 외부 메모리에 저장되는 것을 특징으로 하는 전자 장치 신뢰성 보장 방법.
  6. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 제2 체크 업 데이터(S2, PK2)의 형성에서, 상기 제2 부트 단계의 프로그램 명령들이 적어도 부분적으로 사용되는 것을 특징으로 하는 전자 장치 신뢰성 보장 방법.
  7. 제1항 내지 제3항 중 어느 한 항에 있어서, 적어도 상기 제1 체크 업 데이터(DID, S1, PK1)는 읽기 전용 메모리(2e)에 저장되는 것을 특징으로 하는 전자 장치 신뢰성 보장 방법.
  8. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 제1 부트 단계(P1)의 프로그램 명령들 중 적어도 일부는 읽기 전용 메모리(2e)에 저장되는 것을 특징으로 하는 전자 장치 신뢰성 보장 방법.
  9. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 제1 부트 단계(P1)의 프로그램 명령들 및 상기 제2 부트 단계(P2)의 프로그램 명령들은 상이한 메모리들(2d, 2e, 3)에 저장되는 것을 특징으로 하는 전자 장치 신뢰성 보장 방법.
  10. 제8항에 있어서, 상기 제2 체크 업 데이터(S2, PK2)는 동일한 메모리에 저장되고, 상기 메모리에 상기 제2 부트 단계(P2)의 프로그램 명령들이 저장되는 것을 특징으로 하는 전자 장치 신뢰성 보장 방법.
  11. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 제2 체크 업 데이터(S2, PK2)는 비밀 키를 사용하여 디지털 서명(S2)에 의해 형성되고, 상기 비밀 키에 대응하는 공용 키(PK2)는 상기 전자 장치(1)에 저장되며, 상기 전자 장치(1)에 저장된 공용 키(PK2)는 상기 제2 체크 업 데이터(S2, PK2)의 확인에 사용되는 것을 특징으로 하는 전자 장치 신뢰성 보장 방법.
  12. 제11항에 있어서, 상기 디지털 서명(S2)을 형성하기 위하여, 한 세트의 데이터가 선택되고, 상기 선택된 세트의 데이터는 압축(H)을 형성하기 위하여 압축되고, 상기 디지털 서명(S2)은 상기 압축(H)에 기초하여 형성되는 것을 특징으로 하는 전자 장치 신뢰성 보장 방법.
  13. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 전자 장치(1)에서, 적어도 하나의 프로그램(PG1, PG2, PG3)이 구동되고, 상기 제2 부트 단계(P2)에서 상기 프로그램의 스타트 업이 수행되며, 상기 적어도 하나의 프로그램(PG1, PG2, PG3)은 적어도 제3 체크 업 데이터를 구비하고, 상기 프로그램(PG1, PG2, PG3)을 시작하기 전에, 상기 제3 체크 업 데이터가 상기 프로그램(PG1, PG2, PG3)의 신뢰성을 보장하기 위해 검사되며, 상기 프로그램(PG1, PG2, PG3)의 신뢰성의 체크 업이 상기 프로그램(PG1, PG2, PG3)이 신뢰할 수 있다고 나타내는 경우, 적어도 하나의 상기 프로그램(PG1, PG2, PG3)이 시작되는 것을 특징으로 하는 전자 장치 신뢰성 보장 방법.
  14. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 제1 부트 단계(P1)를 수행하기 전에 읽기 전용 메모리에 저장된 상기 부트 프로그램에서 상기 제1 부트 단계(P1)의 신뢰성이 검사되는 것을 특징으로 하는 전자 장치 신뢰성 보장 방법.
  15. 전자 장치(1)의 신뢰성을 보장하는 시스템으로서, 적어도 제1(DID, S1, PK1) 및 제2(S2, PK2) 체크 업(check-up) 데이터가 상기 전자 장치(1)에 저장되고, 상기 전자 장치(1)는 부트(boot) 프로그램을 시작하는 수단을 포함하는 전자 장치 신뢰성 보장 시스템에 있어서,
    상기 시스템은 적어도 제1(P1) 및 제2(P2) 부트 단계에서 상기 부트 프로그램을 구동하는 수단으로서, 상기 제1 체크 업 데이터(DID, S1, PK1)의 형성에서 상기 제1 부트 단계의 프로그램 명령들이 적어도 부분적으로 사용되고 상기 제2 체크 업 데이터(S2, PK2)의 형성에서 상기 제2 부트 단계의 프로그램 명령들이 적어도 부분적으로 사용되는 수단을 포함하고,
    상기 시스템은
    상기 제1 부트 단계(P1)에서 적어도 상기 제1 체크 업 데이터(DID, S1, PK1)의 신뢰성을 검사하는 수단, 및
    상기 제2 부트 단계의 신뢰성을 확인하기 위하여 적어도 제2 스타트 업 단계와 관련된 상기 제2 체크 업 데이터(S2, PK2)를 검사하는 수단을 더 포함하고,
    상기 적어도 제1 체크 업 데이터(DID, S1, PK1) 및 상기 제2 부트 단계와 관련된 상기 적어도 하나의 제2 체크 업 데이터(S2, PK2)가 상기 체크 업에 기초하여 신뢰할 수 있는 경우, 상기 제1 부트 단계(P1) 이후에 상기 제2 부트 단계(P2)가 수행되는 것을 특징으로 하는 전자 장치 신뢰성 보장 시스템.
  16. 제15항에 있어서, 상기 제1 체크 업 데이터(DID, S1, PK1)의 형성에서 상기 전자 장치(1)에 저장되어 있는 상기 전자 장치의 장치 아이덴티티(DID)가 사용되는 것을 특징으로 하는 전자 장치 신뢰성 보장 시스템.
  17. 제16항에 있어서,
    상기 전자 장치(1)에 저장된 상기 전자 장치의 장치 아이덴티티(DID)가 상기 제1 체크 업 데이터(DID, S1, PK1)의 형성에서 사용된 장치 아이덴티티와 일치하는지를 비교하는 수단, 및
    상기 전자 장치의 장치 아이덴티티(DID)가 상기 체크 업 데이터(DID, S1, PK1)의 형성에서 사용된 장치 아이덴티티와 일치하지 않는 경우, 상기 부트 프로그램을 중단하는 수단을 포함하는 것을 특징으로 하는 전자 장치 신뢰성 보장 시스템.
  18. 제15항 내지 제17항 중의 어느 한 항에 있어서,
    비밀 키를 사용하여 디지털 서명(S1)을 가지고 상기 제1 체크 업 데이터(DID, S1, PK1)를 형성하는 수단,
    상기 비밀 키에 대응하는 공용 키(PK1)에 관한 정보를 상기 전자 장치(1)에 저장하는 수단, 및
    상기 제1 체크 업 데이터(DID, S1, PK1)를 확인하는 경우 상기 전자 장치(1)에 저장된 상기 공용 키(PK1)를 사용하는 수단을 포함하는 것을 특징으로 하는 전자 장치 신뢰성 보장 시스템.
  19. 제15항 내지 제17항 중의 어느 한 항에 있어서, 상기 제2 체크 업 데이터(S2, PK2)의 형성에서, 상기 제2 부트 단계의 프로그램 명령들이 적어도 부분적으로 사용되는 것을 특징으로 하는 전자 장치 신뢰성 보장 시스템.
  20. 제15항 내지 제17항 중의 어느 한 항에 있어서, 1회 프로그램 가능 읽기 전용 메모리(2e)를 포함하고, 적어도 상기 제1 체크 업 데이터(DID, S1, PK1)는 상기 메모리에 저장되는 것을 특징으로 하는 전자 장치 신뢰성 보장 시스템.
  21. 제20항에 있어서, 상기 제1 부트 단계(P1)의 프로그램 명령들 중 적어도 일부는 읽기 전용 메모리(2e)에 저장되는 것을 특징으로 하는 전자 장치 신뢰성 보장 시스템.
  22. 제21항에 있어서, 상기 제2 체크 업 데이터(S2, PK2)는 동일한 메모리에 저장되고, 상기 메모리에 상기 제2 부트 단계(P2)의 프로그램 명령들이 저장되는 것을 특징으로 하는 전자 장치 신뢰성 보장 시스템.
  23. 제15항 내지 제17항 중의 어느 한 항에 있어서,
    비밀 키를 사용하여 디지털 서명(S2)을 가지고 상기 제2 체크 업 데이터(S2, PK2)를 형성하는 수단,
    상기 비밀 키에 대응하는 공용 키(PK1)를 상기 전자 장치(1)에 저장하는 수단, 및
    상기 제2 체크 업 데이터(S2, PK2)를 확인하는 경우 상기 전자 장치(1)에 저장된 상기 공용 키(PK2)를 사용하는 수단을 포함하는 것을 특징으로 하는 전자 장치 신뢰성 보장 시스템.
  24. 제15항 내지 제17항 중의 어느 한 항에 있어서,
    상기 전자 장치(1)에서 적어도 제3 체크 업 데이터를 구비하는 프로그램을 구동하는 수단 ,
    상기 프로그램의 신뢰성을 확인하기 위해 상기 제3 체크 업 데이터를 검사하는 수단, 및
    상기 프로그램의 신뢰성의 체크 업이 상기 프로그램이 신뢰할 수 있다고 나타내는 경우, 상기 제2 스타트 업 단계(P2)에서 상기 프로그램을 시작하는 수단을 포함하는 것을 특징으로 하는 전자 장치 신뢰성 보장 시스템.
  25. 제15항 내지 제17항 중의 어느 한 항에 있어서,
    프로그램들이 로딩을 위해 저장되는 프로그램 로딩 시스템(AS),
    전자 장치(1)로부터 상기 프로그램 로딩 시스템(AS)으로 제1 체크 업 데이터(DID, S1, PK1)를 전송하는 수단(9),
    상기 제1 체크 업 데이터(DID, S1, PK1)를 확인하는 수단(402, CDB),
    상기 제1 체크 업 데이터(DID, S1, PK1)를 상기 전자 장치(1)에 로딩될 프로그램에 추가하는 수단(402), 및
    상기 프로그램을 상기 전자 장치(1)에 전송하는 수단(404, AS)을 포함하는 것을 특징으로 하는 전자 장치 신뢰성 보장 시스템.
  26. 전자 장치(1)의 신뢰성을 보장하는 수단을 포함하는 전자 장치(1)로서, 적어도 제1(DID, S1, PK1) 및 제2(S2, PK2) 체크 업(check-up) 데이터가 상기 전자 장치(1)에 저장되고, 상기 전자 장치(1)는 또한 부트(boot) 프로그램을 시작하는 수단 을 포함하는 전자 장치에 있어서,
    상기 전자 장치(1)는 적어도 제1(P1) 및 제2(P2) 부트 단계에서 상기 부트 프로그램을 구동하는 수단 으로서, 상기 제1 체크 업 데이터(DID, S1, PK1)의 형성에서 상기 제1 부트 단계의 프로그램 명령들이 적어도 부분적으로 사용되고 상기 제2 체크 업 데이터(S2, PK2)의 형성에서 상기 제2 부트 단계의 프로그램 명령들이 적어도 부분적으로 사용되는 수단 을 포함하고,
    상기 전자 장치(1)는
    상기 제1 부트 단계(P1)에서 적어도 상기 제1 체크 업 데이터(DID, S1, PK1)의 신뢰성을 검사하는 수단, 및
    상기 제2 부트 단계의 신뢰성을 확인하기 위하여 적어도 제2 스타트 업 단계와 관련된 상기 제2 체크 업 데이터(S2, PK2)를 검사하는 수단을 더 포함하고,
    상기 적어도 제1 체크 업 데이터(DID, S1, PK1) 및 상기 제2 부트 단계와 관련된 상기 적어도 하나의 제2 체크 업 데이터(S2, PK2)가 상기 체크 업에 기초하여 신뢰할 수 있는 경우, 상기 제1 부트 단계(P1) 이후에 상기 제2 부트 단계(P2)가 수행되는 것을 특징으로 하는 전자 장치.
  27. 제26항에 있어서, 이동국 기능들을 수행하는 수단(9)을 포함하는 것을 특징으로 하는 전자 장치.
  28. 제27항에 있어서, 이동국 네트워크를 통해 프로그램들을 다운로드하는 수단(9)을 포함하는 것을 특징으로 하는 전자 장치.
  29. 삭제
  30. 전자 장치(1)의 신뢰성을 보장하는데 사용되는 프로그램을 저장하는 저장 수단(2d, 2e)으로서, 적어도 제1(DID, S1, PK1) 및 제2(S2, PK2) 체크 업(check-up) 데이터가 상기 전자 장치(1)에 저장되고, 상기 프로그램은 부트(boot) 프로그램의 스타트 업(501)을 수행하는 프로그램 명령들을 포함하는 저장 수단에 있어서,
    상기 저장 수단에 저장된 프로그램은
    상기 부트 프로그램에서 적어도 제1(P1) 및 제2(P2) 부트 단계를 수행하는 프로그램 명령들로서, 상기 제1 체크 업 데이터(DID, S1, PK1)의 형성에서 상기 제1 부트 단계의 프로그램 명령들이 적어도 부분적으로 사용되고 상기 제2 체크 업 데이터(S2, PK2)의 형성에서 상기 제2 부트 단계의 프로그램 명령들이 적어도 부분적으로 사용되는 프로그램 명령들,
    상기 제1 부트 단계에서 적어도 상기 제1 체크 업 데이터(DID, S1, PK1)의 신뢰성을 검사하는 프로그램 명령들,
    상기 제2 부트 단계의 신뢰성을 보장하기 위하여 상기 제2 스타트 업 단계와 관련된 적어도 상기 제2 체크 업 데이터(S2, PK2)를 검사하는 프로그램 명령들, 및
    상기 적어도 제1 체크 업 데이터(DID, S1, PK1) 및 상기 제2 부트 단계와 관련된 상기 적어도 하나의 제2 체크 업 데이터(S2, PK2)가 상기 체크 업에 기초하여 신뢰할 수 있는 경우, 상기 제1 부트 단계(P1) 이후에 상기 제2 부트 단계(P2)를 수행하는 프로그램 명령들을 더 포함하는 것을 특징으로 하는 저장 수단.
  31. 삭제
  32. 삭제
KR1020037016192A 2001-06-15 2002-06-14 전자 장치 보안 방법, 보안 시스템 및 전자 장치 Expired - Fee Related KR100657532B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FI20011278 2001-06-15
FI20011278A FI114416B (fi) 2001-06-15 2001-06-15 Menetelmä elektroniikkalaitteen varmistamiseksi, varmistusjärjestelmä ja elektroniikkalaite
PCT/FI2002/000517 WO2002103495A1 (en) 2001-06-15 2002-06-14 A method for securing an electronic device, a security system and an electronic device

Publications (2)

Publication Number Publication Date
KR20040007685A KR20040007685A (ko) 2004-01-24
KR100657532B1 true KR100657532B1 (ko) 2006-12-13

Family

ID=8561425

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037016192A Expired - Fee Related KR100657532B1 (ko) 2001-06-15 2002-06-14 전자 장치 보안 방법, 보안 시스템 및 전자 장치

Country Status (12)

Country Link
US (1) US7506381B2 (ko)
EP (1) EP1395892B1 (ko)
JP (2) JP2004530235A (ko)
KR (1) KR100657532B1 (ko)
CN (1) CN1276319C (ko)
AT (1) ATE287102T1 (ko)
BR (1) BR0210379A (ko)
CA (1) CA2450844C (ko)
DE (1) DE60202605T8 (ko)
ES (1) ES2236530T3 (ko)
FI (1) FI114416B (ko)
WO (1) WO2002103495A1 (ko)

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL133584A (en) * 1999-12-19 2010-02-17 Enco Tone Ltd Method for the acoustic encodification of dynamic identification codes
US7849301B2 (en) * 2001-12-12 2010-12-07 Intel Corporation Providing a user input interface prior to initiation of an operating system
US20030163716A1 (en) * 2002-02-28 2003-08-28 Robins Mark Nelson Card key security system and method
US20030163703A1 (en) * 2002-02-28 2003-08-28 Robins Mark Nelson Image key security system and method
US20040225881A1 (en) 2002-12-02 2004-11-11 Walmsley Simon Robert Variant keys
US20100062844A1 (en) * 2003-03-05 2010-03-11 Bally Gaming, Inc. Authentication and validation systems for gaming devices
US7546296B2 (en) 2003-03-19 2009-06-09 Ricoh Company, Ltd. Information processing apparatus started from a program recorded on a recording medium with well-maintained security, and a recording medium storing such a program and a producing method of such a recording medium
US7549148B2 (en) 2003-12-16 2009-06-16 Microsoft Corporation Self-describing software image update components
US7549042B2 (en) 2003-12-16 2009-06-16 Microsoft Corporation Applying custom software image updates to non-volatile storage in a failsafe manner
US7614051B2 (en) 2003-12-16 2009-11-03 Microsoft Corporation Creating file systems within a file in a storage technology-abstracted manner
US20050132357A1 (en) * 2003-12-16 2005-06-16 Microsoft Corporation Ensuring that a software update may be installed or run only on a specific device or class of devices
US7568195B2 (en) 2003-12-16 2009-07-28 Microsoft Corporation Determining a maximal set of dependent software updates valid for installation
FR2864276B1 (fr) * 2003-12-19 2006-04-28 Thales Sa Procede de detection de modifications illicites des logiciels constructeurs
US20060242406A1 (en) 2005-04-22 2006-10-26 Microsoft Corporation Protected computing environment
JP4447977B2 (ja) 2004-06-30 2010-04-07 富士通マイクロエレクトロニクス株式会社 セキュアプロセッサ、およびセキュアプロセッサ用プログラム。
US7694121B2 (en) * 2004-06-30 2010-04-06 Microsoft Corporation System and method for protected operating system boot using state validation
US20060048222A1 (en) * 2004-08-27 2006-03-02 O'connor Clint H Secure electronic delivery seal for information handling system
US8347078B2 (en) 2004-10-18 2013-01-01 Microsoft Corporation Device certificate individualization
US8336085B2 (en) 2004-11-15 2012-12-18 Microsoft Corporation Tuning product policy using observed evidence of customer behavior
US8176564B2 (en) * 2004-11-15 2012-05-08 Microsoft Corporation Special PC mode entered upon detection of undesired state
US8108691B2 (en) 2005-02-07 2012-01-31 Sandisk Technologies Inc. Methods used in a secure memory card with life cycle phases
US8423788B2 (en) 2005-02-07 2013-04-16 Sandisk Technologies Inc. Secure memory card with life cycle phases
JP2006221629A (ja) * 2005-02-07 2006-08-24 Sony Computer Entertainment Inc プロセッサのリソース管理によるコンテンツ制御方法および装置
US8321686B2 (en) 2005-02-07 2012-11-27 Sandisk Technologies Inc. Secure memory card with life cycle phases
US20060236122A1 (en) * 2005-04-15 2006-10-19 Microsoft Corporation Secure boot
US9436804B2 (en) 2005-04-22 2016-09-06 Microsoft Technology Licensing, Llc Establishing a unique session key using a hardware functionality scan
US9363481B2 (en) 2005-04-22 2016-06-07 Microsoft Technology Licensing, Llc Protected media pipeline
US7748031B2 (en) 2005-07-08 2010-06-29 Sandisk Corporation Mass storage device with automated credentials loading
US20070023502A1 (en) * 2005-07-26 2007-02-01 Ming-Chih Tsai Composite electronic card device
US20080220879A1 (en) * 2005-09-07 2008-09-11 Bally Gaming, Inc. Trusted Cabinet Identification Method
US20080220880A1 (en) * 2005-09-07 2008-09-11 Bally Gaming, Inc. Trusted Cabinet Identification System
US7934049B2 (en) 2005-09-14 2011-04-26 Sandisk Corporation Methods used in a secure yet flexible system architecture for secure devices with flash mass storage memory
US8966284B2 (en) 2005-09-14 2015-02-24 Sandisk Technologies Inc. Hardware driver integrity check of memory card controller firmware
JP4891324B2 (ja) * 2005-09-14 2012-03-07 サンディスク コーポレイション 大容量フラッシュメモリを備える高信頼性デバイスのための、セキュアでありながらフレキシブルなシステムアーキテクチャ
US8046833B2 (en) * 2005-11-14 2011-10-25 Sourcefire, Inc. Intrusion event correlation with network discovery information
US20070288761A1 (en) * 2006-06-09 2007-12-13 Dale Jason N System and method for booting a multiprocessor device based on selection of encryption keys to be provided to processors
US20070288738A1 (en) * 2006-06-09 2007-12-13 Dale Jason N System and method for selecting a random processor to boot on a multiprocessor system
US20070288740A1 (en) * 2006-06-09 2007-12-13 Dale Jason N System and method for secure boot across a plurality of processors
US7594104B2 (en) * 2006-06-09 2009-09-22 International Business Machines Corporation System and method for masking a hardware boot sequence
US7774616B2 (en) * 2006-06-09 2010-08-10 International Business Machines Corporation Masking a boot sequence by providing a dummy processor
US20080134319A1 (en) * 2006-11-30 2008-06-05 Kestrelink Corporation License verification
US8423794B2 (en) 2006-12-28 2013-04-16 Sandisk Technologies Inc. Method and apparatus for upgrading a memory card that has security mechanisms for preventing copying of secure content and applications
US8239688B2 (en) 2007-01-07 2012-08-07 Apple Inc. Securely recovering a computing device
US8254568B2 (en) * 2007-01-07 2012-08-28 Apple Inc. Secure booting a computing device
US20080222428A1 (en) * 2007-03-07 2008-09-11 Andrew Dellow Method for Securing Authenticity of Data in a Digital Processing System
US8327456B2 (en) * 2007-04-13 2012-12-04 Microsoft Corporation Multiple entity authorization model
US8209550B2 (en) * 2007-04-20 2012-06-26 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for protecting SIMLock information in an electronic device
SE532600C2 (sv) * 2007-06-29 2010-03-02 Oniteo Ab Metod och system för säker provisionering av hårdvara
GB2454640A (en) * 2007-07-05 2009-05-20 Vodafone Plc Received message verification
DE102007044905A1 (de) * 2007-09-19 2009-04-09 InterDigital Patent Holdings, Inc., Wilmington Verfahren und Vorrichtung zur Ermöglichung einer Dienstnutzung und Feststellung der Teilnehmeridentität in Kommunikationsnetzen mittels softwarebasierten Zugangsberechtigungsausweisen (vSIM)
US20090125996A1 (en) 2007-09-19 2009-05-14 Interdigital Patent Holdings, Inc. Virtual subscriber identity module
US9069990B2 (en) 2007-11-28 2015-06-30 Nvidia Corporation Secure information storage system and method
US8621191B2 (en) * 2007-12-26 2013-12-31 Nokia Corporation Methods, apparatuses, and computer program products for providing a secure predefined boot sequence
US9069706B2 (en) 2008-02-11 2015-06-30 Nvidia Corporation Confidential information protection system and method
US9158896B2 (en) 2008-02-11 2015-10-13 Nvidia Corporation Method and system for generating a secure key
US8719585B2 (en) 2008-02-11 2014-05-06 Nvidia Corporation Secure update of boot image without knowledge of secure key
US9613215B2 (en) 2008-04-10 2017-04-04 Nvidia Corporation Method and system for implementing a secure chain of trust
US8150039B2 (en) 2008-04-15 2012-04-03 Apple Inc. Single security model in booting a computing device
JP2009260688A (ja) * 2008-04-17 2009-11-05 Dialogue Technology Corp ワイヤレス広域通信網におけるリモート端末装置のセキュリティシステムとその方法
TW200945192A (en) * 2008-04-28 2009-11-01 Asustek Comp Inc Motherboard and method for recovering BIOS thereof and for booting computer
DE102008021567B4 (de) * 2008-04-30 2018-03-22 Globalfoundries Inc. Computersystem mit sicherem Hochlaufmechanismus auf der Grundlage einer Verschlüsselung mit symmetrischem Schlüssel
US20090327741A1 (en) * 2008-06-30 2009-12-31 Zimmer Vincent J System and method to secure boot uefi firmware and uefi-aware operating systems on a mobile internet device (mid)
US8443181B2 (en) 2008-09-30 2013-05-14 Qualcomm Incorporated Processor boot security device and methods thereof
JP5278813B2 (ja) * 2009-03-25 2013-09-04 セイコーエプソン株式会社 リアルタイムクロックおよび電子機器のセキュリティ設定方法
GB2477774A (en) 2010-02-12 2011-08-17 Icera Inc Overriding production processor authentication restrictions through remote security unit for development code testing
CN102236754B (zh) * 2010-05-07 2014-01-01 扬智科技股份有限公司 数据保密方法以及使用此数据保密方法的电子装置
EP2405377B1 (en) * 2010-07-09 2017-12-27 BlackBerry Limited Securing a component prior to manufacture of a device
EP2591437B1 (en) 2010-07-09 2018-11-14 BlackBerry Limited Microcode-based challenge/response process
US9032186B2 (en) 2010-07-09 2015-05-12 Blackberry Limited Utilization of a microcode interpreter built in to a processor
DE102010047186B4 (de) * 2010-09-30 2021-03-25 Infineon Technologies Ag Verfahren zum Unterstützen einer Bindung eines Chips an ein elektronisches Gerät und Chip bzw. elektronisches Gerät hierfür
US20120204254A1 (en) * 2011-02-04 2012-08-09 Motorola Mobility, Inc. Method and apparatus for managing security state transitions
JP2014170255A (ja) * 2011-06-29 2014-09-18 Panasonic Corp セキュアブート方法
US8386763B1 (en) * 2012-01-04 2013-02-26 Google Inc. System and method for locking down a capability of a computer system
US9489924B2 (en) 2012-04-19 2016-11-08 Nvidia Corporation Boot display device detection and selection techniques in multi-GPU devices
US9223982B2 (en) * 2013-03-01 2015-12-29 Intel Corporation Continuation of trust for platform boot firmware
CN104182242A (zh) * 2013-05-28 2014-12-03 华为技术有限公司 一种系统启动方法及装置
US9195831B1 (en) * 2014-05-02 2015-11-24 Google Inc. Verified boot
CN106934289A (zh) * 2015-12-30 2017-07-07 北京展讯高科通信技术有限公司 校验及形成签名映像的方法
EP3411786A1 (en) 2016-02-04 2018-12-12 Telefonaktiebolaget LM Ericsson (PUBL) Actor migration
ES2701702T3 (es) 2016-02-09 2019-02-25 Siemens Ag Procedimiento y entorno de ejecución para la ejecución asegurada de instrucciones de programa
US12256024B2 (en) 2017-06-21 2025-03-18 Microsoft Technology Licensing, Llc Device provisioning
US11374760B2 (en) * 2017-09-13 2022-06-28 Microsoft Technology Licensing, Llc Cyber physical key
DE102020211346A1 (de) * 2020-09-10 2022-03-10 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Booten einer elektronischen Vorrichtung
DE102021207628A1 (de) * 2021-07-16 2023-01-19 Siemens Mobility GmbH Rechenanlage und Verfahren zu deren Betrieb

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3316414A1 (de) 1982-05-12 1983-12-22 Bally Manufacturing Corp., 60618 Chicago, Ill. Geraet und verfahren zum sicherstellen der unversertheit eines spielgeraets
JPH01296361A (ja) 1988-05-25 1989-11-29 Mitsubishi Electric Corp メモリカード
US5293610A (en) 1989-08-04 1994-03-08 Motorola, Inc. Memory system having two-level security system for enhanced protection against unauthorized access
US5379342A (en) * 1993-01-07 1995-01-03 International Business Machines Corp. Method and apparatus for providing enhanced data verification in a computer system
US5509120A (en) * 1993-11-30 1996-04-16 International Business Machines Corporation Method and system for detecting computer viruses during power on self test
US5643086A (en) 1995-06-29 1997-07-01 Silicon Gaming, Inc. Electronic casino gaming apparatus with improved play capacity, authentication and security
US5918047A (en) * 1996-01-26 1999-06-29 Texas Instruments Incorporated Initializing a processing system
US5802592A (en) * 1996-05-31 1998-09-01 International Business Machines Corporation System and method for protecting integrity of alterable ROM using digital signatures
US6138236A (en) 1996-07-01 2000-10-24 Sun Microsystems, Inc. Method and apparatus for firmware authentication
US6026293A (en) * 1996-09-05 2000-02-15 Ericsson Inc. System for preventing electronic memory tampering
JP3293760B2 (ja) * 1997-05-27 2002-06-17 株式会社エヌイーシー情報システムズ 改ざん検知機能付きコンピュータシステム
FI105306B (fi) 1997-06-10 2000-07-14 Nokia Networks Oy Radiojärjestelmä
US5919257A (en) 1997-08-08 1999-07-06 Novell, Inc. Networked workstation intrusion detection system
US6032257A (en) 1997-08-29 2000-02-29 Compaq Computer Corporation Hardware theft-protection architecture
JPH11169546A (ja) * 1997-12-12 1999-06-29 Sophia Co Ltd 遊技装置の監視システム
JPH11355468A (ja) * 1998-06-12 1999-12-24 Hitachi Ltd ネットワーク端末器、それを用いたネットワークシステムおよびネットワーク接続方法
US6405311B1 (en) * 1998-07-28 2002-06-11 Compaq Computer Corporation Method for storing board revision
US6735696B1 (en) * 1998-08-14 2004-05-11 Intel Corporation Digital content protection using a secure booting method and apparatus
JP2000174527A (ja) * 1998-12-08 2000-06-23 Toshiba Corp 携帯型電子機器
US6470457B1 (en) * 1998-12-14 2002-10-22 International Business Machines Corporation Local permanent storage in network computer
JP2000322253A (ja) * 1999-05-14 2000-11-24 Namco Ltd セキュリティ・システム
US6594761B1 (en) 1999-06-09 2003-07-15 Cloakware Corporation Tamper resistant software encoding
EP1076279A1 (en) * 1999-08-13 2001-02-14 Hewlett-Packard Company Computer platforms and their methods of operation
US6625729B1 (en) * 2000-03-31 2003-09-23 Hewlett-Packard Company, L.P. Computer system having security features for authenticating different components
US7073064B1 (en) * 2000-03-31 2006-07-04 Hewlett-Packard Development Company, L.P. Method and apparatus to provide enhanced computer protection
US6625730B1 (en) * 2000-03-31 2003-09-23 Hewlett-Packard Development Company, L.P. System for validating a bios program and memory coupled therewith by using a boot block program having a validation routine
US6584561B1 (en) * 2000-09-19 2003-06-24 Dell Products L.P. System and method to modify CD boot
US7000249B2 (en) * 2001-05-18 2006-02-14 02Micro Pre-boot authentication system
US7409539B2 (en) * 2004-08-06 2008-08-05 International Business Machines Corporation System design and code update strategy to implement a self-healing, self-verifying system
US7516315B2 (en) * 2005-03-18 2009-04-07 Research In Motion Ltd. Electronic device having an alterable configuration and methods of manufacturing and configuring the same
CN100426228C (zh) * 2005-05-20 2008-10-15 鸿富锦精密工业(深圳)有限公司 切换计算机启动顺序的系统及方法
US7987351B2 (en) * 2006-10-06 2011-07-26 Broadcom Corporation Method and system for enhanced boot protection

Also Published As

Publication number Publication date
JP2007293873A (ja) 2007-11-08
DE60202605D1 (de) 2005-02-17
DE60202605T2 (de) 2006-01-05
ATE287102T1 (de) 2005-01-15
CN1276319C (zh) 2006-09-20
EP1395892B1 (en) 2005-01-12
FI20011278L (fi) 2002-12-16
BR0210379A (pt) 2004-08-10
EP1395892A1 (en) 2004-03-10
FI20011278A0 (fi) 2001-06-15
CA2450844A1 (en) 2002-12-27
FI114416B (fi) 2004-10-15
US20030014663A1 (en) 2003-01-16
US7506381B2 (en) 2009-03-17
KR20040007685A (ko) 2004-01-24
CN1541352A (zh) 2004-10-27
JP2004530235A (ja) 2004-09-30
WO2002103495A1 (en) 2002-12-27
CA2450844C (en) 2012-08-21
ES2236530T3 (es) 2005-07-16
DE60202605T8 (de) 2006-04-27

Similar Documents

Publication Publication Date Title
KR100657532B1 (ko) 전자 장치 보안 방법, 보안 시스템 및 전자 장치
US9281949B2 (en) Device using secure processing zone to establish trust for digital rights management
US11018847B2 (en) Device keys protection
KR100611628B1 (ko) 전자 장치에서의 정보 처리 방법, 시스템, 전자 장치 및처리 블록
KR101795457B1 (ko) 보안 기능이 강화된 디바이스의 초기화 방법 및 디바이스의 펌웨어 업데이트 방법
JP4912879B2 (ja) プロセッサの保護された資源へのアクセスに対するセキュリティ保護方法
JP4501349B2 (ja) システムモジュール実行装置
TWI416932B (zh) 用於預防複製之裝置結合快閃/開機技術
US20060005046A1 (en) Secure firmware update procedure for programmable security devices
US8392724B2 (en) Information terminal, security device, data protection method, and data protection program
CN110688660B (zh) 一种终端安全启动的方法及装置、存储介质
JP2002507307A (ja) プログラムをプロセッサに読み込むための装置および方法
CN109388961B (zh) 存储设备的安全控制方法及存储设备
KR20090013734A (ko) 소프트웨어 정의 무선장치, 및 소프트웨어 갱신 방법, 및소프트웨어 정의 무선시스템
JP2019220169A (ja) 埋め込まれたルートオブトラストシークレットで生成される集積回路の個人化
CN113656086A (zh) 安全存储及加载固件的方法及电子装置
WO2019051839A1 (zh) 一种数据处理的方法及装置
KR100973203B1 (ko) 내장된 소프트웨어 및 이를 인증하는 방법
CN114640461B (zh) 基于安全芯片的固件防篡改方法及系统
GB2561374A (en) Storing data on target data processing devices
CN119026153A (zh) 一种固件加密方法、装置、设备及可读存储介质
CN115643060A (zh) 一种固件文件的执行方法和装置
CN115914294A (zh) 一种车辆系统的升级方法、装置及设备
CN119203172A (zh) 一种数据加解密方法及其相关装置

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 20031211

Patent event code: PA01051R01D

Comment text: International Patent Application

A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20031212

Comment text: Request for Examination of Application

PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20051130

Patent event code: PE09021S01D

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20060525

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20060929

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20061207

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20061208

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20091123

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20101124

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20111121

Start annual number: 6

End annual number: 6

FPAY Annual fee payment

Payment date: 20121122

Year of fee payment: 7

PR1001 Payment of annual fee

Payment date: 20121122

Start annual number: 7

End annual number: 7

FPAY Annual fee payment

Payment date: 20131119

Year of fee payment: 8

PR1001 Payment of annual fee

Payment date: 20131119

Start annual number: 8

End annual number: 8

FPAY Annual fee payment

Payment date: 20141124

Year of fee payment: 9

PR1001 Payment of annual fee

Payment date: 20141124

Start annual number: 9

End annual number: 9

FPAY Annual fee payment

Payment date: 20151118

Year of fee payment: 10

PR1001 Payment of annual fee

Payment date: 20151118

Start annual number: 10

End annual number: 10

FPAY Annual fee payment

Payment date: 20161123

Year of fee payment: 11

PR1001 Payment of annual fee

Payment date: 20161123

Start annual number: 11

End annual number: 11

FPAY Annual fee payment

Payment date: 20171117

Year of fee payment: 12

PR1001 Payment of annual fee

Payment date: 20171117

Start annual number: 12

End annual number: 12

PR1001 Payment of annual fee

Payment date: 20201116

Start annual number: 15

End annual number: 15

PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20220918