KR20050035104A - 복제 방지를 위한 디바이스 바운드 플래싱/부팅 - Google Patents
복제 방지를 위한 디바이스 바운드 플래싱/부팅 Download PDFInfo
- Publication number
- KR20050035104A KR20050035104A KR1020040080446A KR20040080446A KR20050035104A KR 20050035104 A KR20050035104 A KR 20050035104A KR 1020040080446 A KR1020040080446 A KR 1020040080446A KR 20040080446 A KR20040080446 A KR 20040080446A KR 20050035104 A KR20050035104 A KR 20050035104A
- Authority
- KR
- South Korea
- Prior art keywords
- dbc
- authentication code
- boot image
- boot
- mobile communication
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/02—Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/12—Detection or prevention of fraud
- H04W12/126—Anti-theft arrangements, e.g. protection against subscriber identity module [SIM] cloning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/30—Security of mobile devices; Security of mobile applications
- H04W12/35—Protecting application or service provisioning, e.g. securing SIM application provisioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Telephone Function (AREA)
- Mobile Radio Communication Systems (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
Abstract
부트 이미지를 이동 통신 디바이스로 다운로드하고 디바이스 바운드 인증서(device-bound certificate; "DBC")를 생성하는 방법이 기술된다. DBC는 바람직하게는 해시 메시지 인증 코드 알고리즘을 사용하여 생성된 인증 코드 및 디바이스에 특정한 키를 포함한다. 본 방법은 DBC를 부트 이미지에 저장함으로써, 부트 이미지를 이동 통신 디바이스와 결합하는 단계를 더 포함할 수 있다. 플래시 로더는 부트 이미지를 다운로드하고(204), 보호 애플리케이션을 호출한다(206). 보호 애플리케이션은 DBC를 계산하고(208), DBC를 무작위 키를 이용하여 선택적으로 암호화하고, 그것을 플래시 로더에게 전달한다(212). 플래시 로더는 DBC를 DBC 필드에 입력하고(214), 부트 이미지를 이동 통신 디바이스의 플래시 메모리로 로드한다(216).
Description
본 출원은 2003년 10월 10일에 출원되었으며 발명의 명칭이 "복제 방지를 위한 디바이스 바운드 플래싱/부팅"인 미국 가출원 제60/510,696호를 우선권 주장하며, 이는 여기에 참조로서 포함한다.
이동 전화기는 일반적으로 이동 전화기를 동작시키기 위해 실행될 수 있는 소프트웨어 애플리케이션들을 포함한다. 음성 통신 기능을 갖는 전화기를 작동시키는 것에 추가하여, 이들 소프트웨어 애플리케이션들은 전화기가 예를 들어 텍스트 메시징 및 디지탈 사진과 같은 다양한 그외의 기능들을 수행하게 할 수 있다. 이동 전화기 부트 이미지는 오퍼레이팅 시스템, 및 이동 전화기에서 실행될 수 있는 임의의 다양한 소프트웨어 애플리케이션들을 포함할 수 있다. 이동 전화기의 가격은 전화기의 플래시 메모리에 내장된 부트 이미지의 품질에 기초하여 달라질 수 있다. 고화질의 부트 이미지는 특정 전화기들이 다소 낮은 품질의 부트 이미지를 갖는 전화기들보다 더욱 값비싸지게 하는 원인이 될 수 있다.
텍사스 인스트루먼트?? 전용의 OMAP(Open Multimedia Applications Platform)은 통신 디바이스들이 데이타 및 소프트웨어 애플리케이션들을 처리할 수 있게 하면서 배터리 수명을 연장시킬 수 있는 마이크로프로세싱 엔진을 포함한다. 현재의 OMAP 디바이스들(즉, 모델 161×, 171×, 73×)에 존재하는 메카니즘은 복수의 디바이스들 사이에서 공유되는 키를 사용하여 부트 이미지들의 플래싱 및 부팅을 지원한다. 이 키는 부트 이미지의 인증을 검증하는 것을 돕지만, 부트 이미지의 허가받지 않은 복사 및 다른 전화기에서의 재사용을 막지는 못하므로, 침투가능한 보안 결함의 가능성을 야기시킨다. 이러한 보안 결함은 허가받지않은 엔티티들이 값비싼 전화기로부터 부트 이미지들을 복사하고 저렴한 전화기 상에서 부트 이미지들을 재생할 수 있게 한다. 이 방식으로, 허가받지 않은 엔티티는 값비싼 전화기를 무제한 수의 저렴한 전화기들로 복제할 수 있고, 이익을 위해 값싼 전화기들을 판매할 수 있다.
부트 이미지를 불법적으로 복사하는 것 외에도, 허가받지 않은 엔티티들은 부트 이미지의 콘텐츠를 함부로 변경하여 도난당한 이동 전화기들의 사용을 방지하는 기존의 보호 수단을 교묘하게 피할 수 있다. 예를 들면, 각각의 이동 전화기 부트 이미지는, 이동 통신을 위한 글로벌 시스템(Global System for Mobile Communication; "GSM") 및 제3 세대("3G") 네트워크에서의 전화기를 위한 식별 코드로서 기능하는 IMEI(International Mobile Equipment Identifier) 번호를 포함한다. IMEI 번호는 셀룰러 네트워크 및 네트워크의 서비스들에 대한 액세스를 허용하거나 거부하는데 사용된다. 일반적으로, 전화기를 도난당하면, 소유자는 그의 또는 그녀의 셀루러 서비스 공급자(예를 들어, Sprint??, Verizon??, AT&T??
)와 연락을 취하여 그 전화기가 GSM/3G 블랙리스트에 추가되게 한다. 블랙리스트에서 발견되는 이동 전화기는 셀룰러 네트워크를 액세스하는 것을 거부당할 것이다. 따라서, 그 전화기를 훔친 허가받지 않은 엔티티는, 전화기의 IMEI 번호가 블랙리스트에 추가되었기 때문에, 전화기를 사용하여 네트워크를 액세스할 수 없게 된다. 그러나, 총명한 허가받지 않은 엔티티는 훔친 전화기의 IMEI 번호를 블랙 리스트에 있지 않은 번호로 용이하게 변경할 수 있으며, 그 결과 이 훔친 전화기를 사용하여 셀룰러 네트워크를 액세스할 수 있다.
매해마다, 이동 전화기 제조업자들은 전화기 복제 및 함부로 변경하는 것에 기인하여 실질적인 액수의 수입을 손실한다. 따라서, 전화기 복제 및 무단 변경을 방지하는 것이 바람직하다.
상술한 문제점들은 부트 이미지 및 부트 이미지의 다양한 콘텐츠를 이동 통신 디바이스에 결합하기 위한 방법 및 장치에 의해 대부분 해결된다. 하나의 예시적인 실시예는 부트 이미지를 이동 통신 디바이스로 다운로드 하는 것 및 디바이스 바운드 인증서("DBC")를 생성하는 것을 포함할 수 있다. DBC는 바람직하게는 해시 메시지 인증 코드("HMAC") 알고리즘을 사용하여 생성된 인증 코드, 및 디바이스에 특정한 키를 포함한다. 본 방법은 DBC를 부트 이미지에 저장하는 단계를 더 포함함으로써, 부트 이미지를 이동 통신 디바이스에 결합할 수 있다.
본 발명의 예시적인 실시예들에 대한 상세한 설명을 위하여 첨부하는 도면들을 참조할 것이다.
<표시 및 명명>
일부 용어들은 이하의 설명 및 청구항들을 통해서 특별한 시스템 컴포넌트들을 지칭하기 위해 사용된다. 당업자들은, 다양한 회사들이 컴포넌트를 상이한 이름으로 지칭할 수 있음을 이해할 것이다. 본 문서는 명칭은 다르지만 기능은 다르지 않은 컴포넌트들 사이를 구별하는 것을 의도하는 것은 아니다. 이하의 설명 및 청구항들에서, 용어 "포함하는(including)" 및 "포함하는(comprising)"은 제한이 없는 방식으로 사용되며, 따라서 "~을 포함하지만 제한되는 것은 아님"을 의미하도록 해석되어야만 한다. 또한, 용어 "연결(couple)" 또는 "연결(couples)" 는 간접적인 또는 직접적인 전기 접속 중의 하나를 의미하는 것을 의도한다. 따라서, 제1 디바이스가 제2 디바이스에 연결되어 있다면, 그 접속은 직접적인 전기적 접속을 통하거나, 또는 다른 디바이스들 및 접속을 경유하는 간접적인 전기적 접속을 통하는 것일 수 있다.
<상세한 설명>
이하의 설명은 본 발명의 다양한 실시예에 관한 것이다. 비록 일 이상의 이들 실시예들이 바람직할 수 있지만, 개시된 실시예는 특허청구범위를 포함하여, 개시의 범위를 한정하는 것으로써 해석되거나 사용되지는 말아야 한다. 또한, 당업자들은 이하의 설명이 광범위한 응용을 가지며, 임의의 실시예의 설명은 그 실시예를 예시하는 것만을 의미하는 것이지, 청구항을 포함하여, 개시의 범위를 그 실시예로 한정하는 것을 암시하는 것으로 의도하는 것은 아니다.
바람직한 실시예에 따라, 이동 통신 디바이스에 대해 부트 이미지들과 부트 이미지 콘텐츠의 디바이스별(per-device) "결합(binding)"이 제공된다. 이동 전화기로 다운로드되었던 부트 이미지는 그 부트 이미지가 임의의 다른 이동 전화기로 복사되거나, 변경되거나, 또는 전송되지 않도록 조작될 수 있다. 이 방식으로, 부트 이미지는 이동 전화기에 "바운드(bound)"된다. 일단 이동 전화기에 바운드된 부트 이미지는 그 특정 이동 전화기에서만 유효하다. 또한 부트 이미지의 콘텐츠는 마찬가지의 방식으로 이동 전화기에 바운드될 수 있다.
부트 이미지의 디바이스별 결합은 디바이스-바운드 인증서("DBC")에 의해 달성된다. 바람직한 실시예에 따르면, DBC는 부트 이미지를 특정 이동 전화기에 결합하는데 사용되어 그 부트 이미지가 다른 이동 전화기로 전송되거나, 변경되거나, 또는 다르게는 복사될 수 없도록 한다. 결합 프로세스에 있어서, 해시 메시지 인증 코드("HMAC")를 포함하는 개인 데이타는 DBC에 저장되어 있으며, DBC는 그 다음에 비밀 키로 암호화된다. 바람직한 실시예에서, 이동 전화기는 우선 DBC에 포함된 HMAC를 획득하지 않고는 부트 이미지를 사용할 수 없게 한다. HMAC는 따라서 부트 이미지를 이동 전화기에 결합시키도록 기능한다. 또한, 전화기는 비밀 키 없이 DBC의 HMAC를 액세스할 수 없으며, 오직 부트 이미지가 바운드된 전화기만이 비밀 키를 가질 수 있다. 따라서, 정확한 비밀 키를 갖는 전화기만이 부트 이미지의 콘텐츠를 자유롭게 액세스할 수 있다. 그러므로, 부트 이미지 및 그 부트 이미지의 모든 콘텐츠들의 디바이스별 결합은 DBC에 의해 달성된다.
이제 도 1, 도 2 및 도 3a를 참조하면, 도 1은 UART/USB 포트(174)에 연결되어 있으며 ROM 코드(즉, 온-칩(on-chip) 펌웨어)(176)를 포함하는 OMAP 프로세서(172) 및 플래시 메모리(178)를 포함하는 이동 전화기(170)의 바람직한 실시예를 보여준다. 도 2는 부트 이미지를 이동 전화기(170)에 결합하는 프로세스를 설명해주는 흐름도를 보여준다. 도 3a는 부트 이미지(300)의 콘텐츠를 기술하는 TOC 필드(302), 후술하는 바와 같은 암호학적 이유를 위해 사용되는 키들을 포함하는 KEYS 헤더(304), 및 보호 애플리케이션("PA")을 포함하며 플래시 로더(308)에 대한 헤더로서 작용하는 공통 헤더(306)를 포함하는 부트 이미지(300)를 예시한다. 부트 이미지(300)는 또한 기타 필드들(310), PA(312) 및 비어있는 디바이스 바운드 인증서("DBC") 필드(314)를 포함할 수 있다. 보호 애플리케이션은 보안 모드 환경에서 동작하기 때문에 이와 같이 명명된 것이며, 일반적으로 부정조작 방지의(tamper-proof) 하드웨어 기반의 보안 실행 환경으로서 정의될 수 있다.
전화기의 제조 중에, 전화기를 소비자에게 판매한 후에, 또는 어느 시점에도 결합 프로세스를 수행할 수 있다. 일반적으로, 결합 프로세스는 플래싱 프로세스 중에 DBC의 생성을 시작하고, 비어있는 DBC 필드(314)를 이 DBC로 채우며, 부트 이미지(300)를 이동 전화기(170)에 후속하여 저장한다. 더욱 상세하게는, 결합 프로세스는 ROM 코드(176)에 의해 플래시 로더(308)의 인증을 시작하여 플래시 로더(308)의 검증성을 보증할 수 있다(블록 202). 일단 인증되면, 플래시 로더(308)는 UART/USB 포트(174) 또는 임의의 적절한 디바이스를 통하여 부트 이미지(300)를 다운로드한다(블록 204). 부트 이미지(300) 및 그외의 정보는 예를 들어 제조업자의 컴퓨터 시스템과 같은 임의의 적절한 소스로부터, 임의의 적절한 엔티티 또는 제조업자에 의해 다운로드될 수 있다. 특정 항목들(예를 들어, IMEI 번호를 포함하는 IMEI 인증서; SIMlock 파일들)이 이동 전화기(170)에 바운드되어있는 경우에는, 부트 이미지(300)를 다운로드하는데 사용된 것과 마찬가지의 방식으로 항목들을 다운로드할 수 있다. 다운로드하기 전에, IMEI 인증서는 OEMI(Original Equipment Manufacture Interface) 개인 키를 가지고 제조업자에 의해 바람직하게 서명될 수 있다. OEMI 공개 키 및 IMEI 인증서는 모두 이동 전화기(170)로 다운로드되어, 이동 전화기(170)는 나중에 OEMI 공개 키를 사용하여 IMEI 인증서를 검증할 수 있다.
플래시 로더(308)는 그 결과로서 PA(318)를 로드하고 호출할 수 있다(블록 206). PA(318)를 호출할 때, 플래시 로더(308)는 다양한 파라미터들을 전송할 수 있으며, 이 다양한 파라미터들은 공통 헤더(306)에서 발견되는 애플리케이션 ID와 작성자 ID의 값들 뿐만 아니라 부트 이미지(300)(예를 들어, 공통 헤더(306))의 다양한 컴포넌트들에 대한 포인터들을 포함한다. 작성자 ID는 DBC의 작성자 또는 소유자를 표시하며, 애플리케이션 ID는 DBC를 생성하는 애플리케이션에 대한 식별자로서 기능한다. PA(318)는 필요에 따라 이 포인터들 및 값들을 사용할 수 있다.
PA(318)의 적어도 하나의 목적은 DBC를 계산하고(블록 208), 그 DBC를 임의의 키로 선택적으로 암호화하고(블록 210), 후속 처리를 위해 DBC를 플래시 로더(308)로 전송하는 것(블록 212)이다. 전술한 바와 같이, PA(318)는 보안 모드 환경에서 동작한다. PA(318)는 다음과 같이 DBC를 생성하기 시작한다:
여기서, "HMAC"는 해시 메시지 인증 코드를 나타내며, 기호 "∥"는 연결(concatenation)을 나타내며, 공개 칩(Public Chip) ID는 OMAP PROCESSOR(172)에 대한 공중 식별자로서 기능하고, 예약 필드(Reserved Fields)는 임의의 정보(예를 들어, IMEI 인증서)를 포함하며, 부트 로더는 이하의 도 3b에서 설명하는 바와 같이 부트 이미지(300)에 포함된다. 특히, 공통 헤더(306) 및 부트 로더는 후술되는, 공지의 SHA-1 알고리즘을 사용하여 먼저 함께 해시된다. 결과는 위에서 본 것처럼 다양한 데이타(예를 들어, 공개 칩 ID, 작성자(Creator) ID)와 연결된다. 결과적인 연결은 공지의 HMAC 암호학적 알고리즘에 의해 키(즉, KEY)를 사용하여 해시되며, KEY는 다음과 같이 생성된다:
여기서 칩 특정 ID(Chip Specific ID)는 ROM 코드(176) 또는 그외의 시스템 펌웨어에 의해 작성된 비밀 식별자이며, 오직 보안 모드 내에서만(즉, PA의 실행중에서만) 이용가능하다. 보안 해시 알고리즘 SHA-1은 메시지 또는 데이타 파일의 "응집 표현(condensed representation)"을 계산하기 위해 사용된다. "응집 표현"은 고정된 길이를 가지며, "메시지 다이제스트(message digest)" 또는 "핑거프린트(fingerprint)"로서 알려져 있다. 동일한 메시지 다이제스트를 갖는 2개의 메시지들을 생성하는 것은 계산적으로 실행불가능하다. 이 고유성은 메시지 다이제스트가 메시지의 "핑거프린트"로서 작용할 수 있도록 한다. 예를 들면, SHA-1은 파일 해시를 원래의 파일 해시와 비교함으로써 다운로드되거나 수신된 파일의 무결성을 보증하기 위해 사용될 수 있다. 무결성을 필요로 하는 임의의 메시지 또는 유사한 구성은 이 방식으로 검증될 수 있다.
PA(318)는 PA(318)에 의해 계산되거나 플래시 로더(308)로부터 수신된 정보를 사용하여 도 3b에 도시한 바와 같이 DBC를 어셈블리함으로써 DBC 계산을 완료한다. 특히, 완료된 DBC는 공개 칩 ID(322), 작성자 ID(324), 애플리케이션 ID(326), 부트 로더/공통 헤더 해시(328), 예약 필드(330) 및 상술한 바와 같이 생성된 HMAC(332)를 포함할 수 있다. 예약 필드(330)는 IMEI 인증서가 블록 204에서 다운로드되면 IMEI 인증서(330)로 채울 수 있다. 예약 필드(330)는 또한 임의의 다른 디바이스-특정 정보로 채울 수도 있다. PA(318)는 그 다음에 DBC를, 다음과 같이 계산된 임의의 비밀 키 K를 가지고 선택적으로 암호화할 수 있다:
DBC를 임의의 비밀 키 K로 암호화하는 것은 DBC의 모든 콘텐츠(예를 들어, IMEI 인증서(330))를 보호하는 것이다. 일단 DBC가 암호화되거나 또는 암호화 단계를 우회(bypass)하면, PA(318)는 후속의 처리를 위해 DBC를 플래시 로더(308)로 전송한다.
플래시 로더(308)는 PA(318)로부터 DBC를 수취하여 그 DBC를 비어있는 DBC 필드(314)에 삽입함으로써(블록 214), 부트 이미지(300) 내의 DBC(208)를 설정한다. 플래시 로더(308)는 그 다음에 부트 이미지(300)를 이동 전화기(170)의 플래시 메모리(178)로 플래시(즉, 기입)하는 것에 의해 결합 프로세스를 완료한다(블록 216).
DBC(208)를 포함하며 전화기(170)에 바운드되어 있는 부트 이미지(300)는 도 4에 도시된 바와 같이 부트 시에(즉, 전화기가 턴온될 때마다) DBC(314)가 인증될 때까지 사용될 수 없다. 즉, 부트 이미지(300)에 포함된 오퍼레이팅 시스템은 DBC(314)가 우선 인증되지 않으면 로드하지 않을 것이며, 따라서 최종 사용자가 전화기(170)를 사용하는 것을 방지할 수 있다.
이제 도 3b와 도 4를 참조하면, 도 3b는 TOC 필드(302), KEYS 헤더 필드(304), 공통 헤더(306), PA(320)를 포함하는 부트 로더(308), 기타 필드들(310), PA(312) 및 DBC(314)를 포함하는 부팅-시간 부트 이미지를 도시한다. 상술한 바와 같이, DBC(314)는 공개 칩 ID(322), 작성자 ID(324), 애플리케이션 ID(326), 부트 로더/공통 헤더 해시(328), IMEI 인증서(330)를 포함할 수 있는 예약 필드(330), 및 HMAC(332)를 포함한다. 도 4는 부트시에 부트 이미지(300)를 인증하기 위한 프로세스의 흐름도를 도시한다. 특히, 부트-시간 인증 프로세스는 온-칩 ROM 코드(176)에 의한 KEYS 헤더(304) 및 공통 헤더(306)의 검증으로 시작한다(블록 402). 부트 로더(318)는, DBC(314), 공통 헤더(306) 및 부트 헤더(318)에 대한 포인터들, 및 공통 헤더(306)로부터의 작성자 ID(324) 및 애플리케이션 ID(326)의 값들을 포함하는 다양한 파라미터들을 사용하여 PA(320)를 로드하고 호출할 수 있으므로(블록 404), PA(320)는 필요에 따라 이 포인터들 및 값들을 사용할 수 있다.
그 다음에 PA(320)는 DBC(314)의 무결성, 및 적용가능한 경우에는 먼저 키 K1을 사용하여 DBC(314)(DBC(314)가 암호화되었으면)를 잠금해제하고(즉, 암호해독) IMEI 인증서(330)와 동시에 이동 전화기(170)로 다운로드되었던 OEMI 공개 키를 사용하여 IMEI 인증서(330)를 검증할 수 있다. 키 K1은 이하와 같이 계산된다:
비록 개별적으로 계산하였지만, 부팅 프로세스 중에 DBC(314)를 암호해독하는데 사용된 키 K1은 플래싱 프로세스 중에 DBC(314)를 암호화하는데 사용된 키 K와 동일하다. 암호화된 DBC(314)를 잠금해제한 후에(적용가능하다면), PA(320)는 이하의 식을 계산한다:
여기서, 작성자 ID(324) 및 애플리케이션 ID(326)는 DBC(314)로부터 취득할 수 있으며, KEY1은 이하의 식으로 계산된다:
PA(320)는 위에서 계산된 HMAC1을 DBC(314)에 저장된 HMAC와 비교하여 매치(match)를 위해 테스트하고, 비교의 결과를 부트 로더(318)로 전송한다(블록 408). 매치는, 부트 이미지(300)가 복사되거나 변경되지 않았으며, 부트 이미지(300)가 놓여있는 이동 전화기(170)에 의해 사용될 수 있음을 나타낸다. 매치는 또한 부트 이미지(300)의 콘텐츠(예를 들어, IMEI 인증서(330))가 복사되거나 변경되지 않았으며, 인증되었음을 나타낸다. 이러한 경우에, 부팅 프로세스는 정상적으로 계속될 것이다. 반대로, 미스매치(mismatch)는 부트 이미지(300)가 도난당했거나, 변경되었거나 또는 복사되었을 수 있음을 나타낸다. 따라서, 부트 이미지(300)의 콘텐츠(예를 들어, IMEI 인증서(330))의 무결성이 손상되었을 수도 있다. 그러한 경우에는, 부팅 프로세스는 계속되지 않는다. 부트 로더(318)는 PA(320)로부터 이 비교의 결과를 수신하고 이에 따라 진행하며(블록 410), 그 결과 부트-시간 인증 프로세스를 완료한다.
비록 본 명세서에 개시된 주제가 OMAP161×플랫폼에 대하여 기술되었지만, OMAP73×플랫폼, OMAP171×플랫폼 또는 임의의 다양한 플랫폼들이 사용될 수 있다. 상술한 설명은 본 발명의 원리 및 다양한 실시예들을 예시하는 것을 의미한다. 부트 이미지 콘텐츠의 디바이스별 결합에 대한 기술이 IMEI 인등서와 관련하여 기술되었지만, 본 기술은 임의의 디바이스-특정 데이타에 적용될 수 있다. 또한, 개시의 범위는 상술한 부트 이미지 콘텐츠에 한정되지 않는다. 상술한 부트 이미지는, 디버깅 목적으로 사용되는 R&D 인증서, 부팅 후에 보안의 램덤 액세스 메모리에 존재하는 PPA(primary protected application), PPA 인증서 및 임의의 그밖의 적절한 항목과 같은 임의의 다양한 콘텐츠를 포함할 수 있다. 또한, 상기 주제가 주로 이동 전화기에 대한 이용가능성에 관하여 기술되었지만, 본 주제는 임의의 이동 통신 디바이스와 함께 사용될 수 있다. 본 주제를 완전하게 파악한다면 당업자들에게는 다수의 변경 및 수정이 명백할 것이다. 첨부되는 청구항들은 모든 그러한 변경 및 수정을 포함하는 것으로 해석되는 것을 의미한다.
본 발명에 따르면, 전화기 복제 및 무단 변경을 방지할 수 있다.
도 1은 본 발명의 실시예에 따른 이동 통신 디바이스의 블록도;
도 2는 도 1의 이동 통신 디바이스 상에서 구현되는 예시의 프로세스를 도시하는 도면;
도 3a는 본 발명의 바람직한 실시예에 따른 플래싱-프로세스 부트 이미지의 블록도;
도 3b는 본 발명의 바람직한 실시예에 따른 부팅-프로세스 부트 이미지의 블록도; 및
도 4는 본 발명의 바람직한 실시예에 따른 디바이스 바운드 인증서("DBC") 인증 프로세스의 흐름도;
<도면의 주요 부분에 대한 부호의 설명>
178: 플래시 메모리
176: ROM 코드
172: OMAP 프로세서
170: 이동 전화기
300: 부트 이미지
304: KEYS 헤더
306: 공통 헤더
308: 플래시 로더
312, 318: 보호 애플리케이션(PA)
Claims (20)
- 부트 이미지(boot image)를 이동 통신 디바이스로 다운로드하는 단계;DBC(device-bound certificate)를 생성하는 단계 - 상기 DBC는 해시 메시지 인증 코드 알고리즘(hashed message authentication code algorithm)을 사용하여 생성된 인증 코드 및 상기 디바이스에 특정한 키를 포함함 -; 및상기 DBC를 상기 부트 이미지에 저장하는 단계를 포함하는 방법.
- 제1항에 있어서,상기 DBC를 생성하는 단계는 ROM(read only memory) 코드를 사용하는 단계를 포함하는 방법.
- 제1항에 있어서,상기 DBC를 생성하는 단계는 보안 실행 환경에서 보호 애플리케이션을 실행하는 단계를 포함하는 방법.
- 제1항에 있어서,상기 DBC를 생성하는 단계는 디바이스-특정 정보를 상기 DBC에 저장하는 단계를 포함하는 방법.
- 제4항에 있어서,부팅 프로세스 중에 상기 이동 통신 디바이스에 대해 상기 디바이스-특정 정보의 인증성, 무결성 및 고유한 연관성을 검증하는 단계를 더 포함하는 방법.
- 제5항에 있어서,상기 검증이 성공하지 못하면 상기 부팅 프로세스를 인터럽트하는 단계를 더 포함하는 방법.
- 제4항에 있어서,상기 디바이스-특정 정보를 저장하는 단계는 국제 이동 장비 식별자(International Mobile Equipment Identifier) 번호를 저장하는 단계를 포함하는 방법.
- 제4항에 있어서,상기 디바이스-특정 정보는 적어도 하나의 SIMlock 파일을 포함하는 방법.
- 제1항에 있어서,상기 DBC를 암호화하는 단계를 더 포함하는 방법.
- 제1항에 있어서,상기 인증 코드의 인증성 및 무결성을 검증하는 단계를 더 포함하는 방법.
- 제10항에 있어서,상기 인증 코드의 인증성 및 무결성을 검증하는 단계는, 상기 검증이 성공하지 못하면 부팅 프로세스의 완료를 막는 단계를 포함하는 방법.
- 이동 통신 디바이스에 있어서,플래시 메모리;해시 메시지 인증 코드 알고리즘을 사용하여 생성된 인증 코드 및 상기 디바이스에 특정한 키를 사용하여 상기 플래시 메모리에 바운드된 부트 이미지; 및ROM 코드를 포함하며 상기 플래시 메모리에 연결되어 있는 프로세서 - 상기 ROM 코드는 상기 인증 코드의 인증성 및 무결성을 검증하도록 구성됨 -를 포함하는 이동 통신 디바이스.
- 제12항에 있어서,상기 ROM 코드는 상기 검증이 성공하지 못하면 부팅 프로세스의 완료를 막는 이동 통신 디바이스.
- 제12항에 있어서,상기 부트 이미지는 디바이스-특정 정보를 포함하는 이동 통신 디바이스.
- 제14항에 있어서,상기 ROM 코드는 상기 인증 코드의 인증성 및 무결성을 검증하고, 상기 검증이 성공하지 못하면 부팅 프로세스의 완료를 막는 이동 통신 디바이스.
- 이동 통신 디바이스에 있어서,플래시 메모리; 및ROM 코드를 포함하며 상기 플래시 메모리에 연결되어 있는 프로세서 - 상기 ROM 코드는, DBC(device-bound certificate)를 생성하고, 상기 DBC를 암호화하고, 상기 DBC를 부트 이미지에 저장하도록 구성되며, 상기 DBC는 해시 메시지 인증 코드 알고리즘을 사용하여 생성된 인증 코드 및 상기 디바이스에 특정한 키를 포함함 -를 포함하는 이동 통신 디바이스.
- 제16항에 있어서,상기 ROM 코드는 상기 인증 코드의 인증성 및 무결성을 검증하고, 상기 ROM 코드는 상기 검증이 성공하지 못하면 부팅 프로세스의 완료를 막는 이동 통신 디바이스.
- 제16항에 있어서,상기 DBC는 디바이스-특정 정보를 포함하는 이동 통신 디바이스.
- 컴퓨터 시스템에 의해 실행가능한 명령어들을 포함하는 컴퓨터 판독가능한 매체로서, 상기 명령어들을 실행할 때,DBC(device-bound certificate)를 생성하는 단계 - 상기 DBC는 해시 메시지 인증 코드 알고리즘을 사용하여 생성된 인증 코드 및 상기 매체에 특정한 키를 포함함 -; 및상기 DBC를 상기 부트 이미지에 저장하는 단계를 포함하는 방법을 구현하는 컴퓨터 판독가능한 매체.
- 제19항에 있어서,상기 DBC를 생성하는 단계는 디바이스-특정 정보를 상기 DBC에 저장하는 단계를 포함하는 컴퓨터 판독가능한 매체.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US51069603P | 2003-10-10 | 2003-10-10 | |
US60/510,696 | 2003-10-10 | ||
US10/800,513 US7142891B2 (en) | 2003-10-10 | 2004-03-15 | Device bound flashing/booting for cloning prevention |
US10/800,513 | 2004-03-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20050035104A true KR20050035104A (ko) | 2005-04-15 |
Family
ID=34316858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040080446A KR20050035104A (ko) | 2003-10-10 | 2004-10-08 | 복제 방지를 위한 디바이스 바운드 플래싱/부팅 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7142891B2 (ko) |
EP (1) | EP1523203B1 (ko) |
JP (1) | JP4996817B2 (ko) |
KR (1) | KR20050035104A (ko) |
CN (2) | CN1606374B (ko) |
DE (1) | DE602004022620D1 (ko) |
TW (1) | TWI416932B (ko) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7562392B1 (en) | 1999-05-19 | 2009-07-14 | Digimarc Corporation | Methods of interacting with audio and ambient music |
US8627086B2 (en) * | 2004-10-11 | 2014-01-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Secure loading and storing of data in a data processing device |
EP1659810B1 (en) * | 2004-11-17 | 2013-04-10 | TELEFONAKTIEBOLAGET LM ERICSSON (publ) | Updating configuration parameters in a mobile terminal |
JP4898790B2 (ja) * | 2005-05-05 | 2012-03-21 | サーティコム コーポレーション | ファームウェアへの認証の追加実装 |
KR100660641B1 (ko) | 2005-10-11 | 2006-12-21 | 삼성전자주식회사 | 휴대 단말기의 부팅 보안 방법 및 그 휴대 단말기 |
US20070136609A1 (en) * | 2005-12-13 | 2007-06-14 | Rudelic John C | Methods and apparatus for providing a secure channel associated with a flash device |
KR20070099200A (ko) * | 2006-04-03 | 2007-10-09 | 삼성전자주식회사 | 휴대형 무선 기기의 응용 모듈 접근 제한 장치 및 이를이용한 접근 제한 방법 |
US8032764B2 (en) * | 2006-11-14 | 2011-10-04 | Texas Instruments Incorporated | Electronic devices, information products, processes of manufacture and apparatus for enabling code decryption in a secure mode using decryption wrappers and key programming applications, and other structures |
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 |
US9053323B2 (en) * | 2007-04-13 | 2015-06-09 | Hewlett-Packard Development Company, L.P. | Trusted component update system and method |
US8620818B2 (en) * | 2007-06-25 | 2013-12-31 | Microsoft Corporation | Activation system architecture |
GB2454640A (en) * | 2007-07-05 | 2009-05-20 | Vodafone Plc | Received message verification |
KR101393307B1 (ko) * | 2007-07-13 | 2014-05-12 | 삼성전자주식회사 | 보안 부팅 방법 및 그 방법을 사용하는 반도체 메모리시스템 |
US8068614B2 (en) * | 2007-09-28 | 2011-11-29 | Intel Corporation | Methods and apparatus for batch bound authentication |
US9069990B2 (en) | 2007-11-28 | 2015-06-30 | Nvidia Corporation | Secure information storage system and method |
US8719585B2 (en) | 2008-02-11 | 2014-05-06 | Nvidia Corporation | Secure update of boot image without knowledge of secure key |
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 |
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 |
US20090259855A1 (en) * | 2008-04-15 | 2009-10-15 | Apple Inc. | Code Image Personalization For A Computing Device |
US20090285390A1 (en) * | 2008-05-16 | 2009-11-19 | Ati Technologies Ulc | Integrated circuit with secured software image and method therefor |
US8195897B2 (en) * | 2008-06-09 | 2012-06-05 | International Business Machines Corporation | Migrating memory data between partitions |
US8225110B2 (en) * | 2009-01-09 | 2012-07-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Cryptographic protection of usage restrictions in electronic devices |
US8958770B2 (en) * | 2009-10-12 | 2015-02-17 | At&T Mobility Ii Llc | Dynamic usage inequity detection and/or remedy |
KR20130008939A (ko) * | 2011-07-13 | 2013-01-23 | 삼성전자주식회사 | 휴대 단말기에서 단말 고유 정보의 복제를 방지하는 장치 및 방법 |
US9489924B2 (en) | 2012-04-19 | 2016-11-08 | Nvidia Corporation | Boot display device detection and selection techniques in multi-GPU devices |
CN102831079B (zh) * | 2012-08-20 | 2016-02-24 | 中兴通讯股份有限公司 | 一种对移动终端进行检测的方法和移动终端 |
US20150286823A1 (en) * | 2014-04-07 | 2015-10-08 | Qualcomm Incorporated | System and method for boot sequence modification using chip-restricted instructions residing on an external memory device |
CN105550586A (zh) * | 2014-10-30 | 2016-05-04 | 北京京航计算通讯研究所 | 一种适用于dsp环境的可信引导设计方法 |
WO2016073411A2 (en) * | 2014-11-03 | 2016-05-12 | Rubicon Labs, Inc. | System and method for a renewable secure boot |
WO2016109558A1 (en) * | 2014-12-29 | 2016-07-07 | Rubicon Labs, Inc. | System and method for secure code entry point control |
US9961074B2 (en) * | 2015-02-10 | 2018-05-01 | Dell Products, Lp | System and method for providing an authentication certificate for a wireless handheld device a data center environment |
US9766899B2 (en) | 2015-12-28 | 2017-09-19 | Google Inc. | Bootloader control via device identifier |
US10979232B2 (en) * | 2018-05-31 | 2021-04-13 | Motorola Solutions, Inc. | Method for provisioning device certificates for electronic processors in untrusted environments |
CN111079124B (zh) * | 2019-12-21 | 2023-02-10 | 广州小鹏汽车科技有限公司 | 安全芯片激活方法、装置、终端设备及服务器 |
GB202014682D0 (en) * | 2020-09-17 | 2020-11-04 | Nordic Semiconductor Asa | Bootloaders |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0933901B1 (en) * | 1997-08-15 | 2004-10-13 | Sony Corporation | Transferring method for a data transmission apparatus |
JP3610380B2 (ja) * | 1997-12-27 | 2005-01-12 | カシオ計算機株式会社 | 携帯電子メール端末装置 |
US6401208B2 (en) * | 1998-07-17 | 2002-06-04 | Intel Corporation | Method for BIOS authentication prior to BIOS execution |
KR100382851B1 (ko) * | 1999-03-31 | 2003-05-09 | 인터내셔널 비지네스 머신즈 코포레이션 | 분산형 데이터 처리 시스템에서 클라이언트 컴퓨터를관리하기 위한 방법 및 장치 |
CA2813744C (en) * | 2000-03-03 | 2017-05-09 | Qualcomm Incorporated | Method and apparatus for participating in group communication services in an existing communication system |
US7062643B2 (en) * | 2000-08-01 | 2006-06-13 | Fujitsu Limited | System method and apparatus for controlling a boot process of a computer |
JP3851071B2 (ja) * | 2000-09-27 | 2006-11-29 | 富士通株式会社 | 携帯端末遠隔制御方法 |
JP4189525B2 (ja) * | 2000-12-27 | 2008-12-03 | 富士フイルム株式会社 | 通信端末及び通信システム |
US6912399B2 (en) * | 2001-01-22 | 2005-06-28 | Royal Thoughts, Llc | Cellular telephone with programmable authorized telephone number |
US7296066B2 (en) * | 2001-03-04 | 2007-11-13 | Adomo, Inc. | Mobile communication system for a network |
US6920555B1 (en) * | 2001-03-10 | 2005-07-19 | Powerquest Corporation | Method for deploying an image into other partition on a computer system by using an imaging tool and coordinating migration of user profile to the imaged computer system |
US20020147918A1 (en) * | 2001-04-05 | 2002-10-10 | Osthoff Harro R. | System and method for securing information in memory |
US8126959B2 (en) * | 2001-06-28 | 2012-02-28 | International Business Machines Corporation | Method and system for dynamic redistribution of remote computer boot service in a network containing multiple boot servers |
US7237121B2 (en) * | 2001-09-17 | 2007-06-26 | Texas Instruments Incorporated | Secure bootloader for securing digital devices |
DE60228027D1 (de) * | 2001-07-06 | 2008-09-18 | Texas Instruments Inc | Sicherer Bootloader zum Sichern digitaler Geräte |
KR100405048B1 (ko) * | 2001-09-10 | 2003-11-07 | 주식회사 케이티프리텔 | 이동 통신 단말기의 디스플레이 구조 변경 시스템 및 방법 |
US20030061488A1 (en) * | 2001-09-25 | 2003-03-27 | Michael Huebler | Cloning protection for electronic equipment |
US6993650B2 (en) * | 2001-10-31 | 2006-01-31 | International Business Machines Corporation | Authentications integrated into a boot code image |
JP3969094B2 (ja) * | 2002-01-09 | 2007-08-29 | 株式会社日立製作所 | 情報処理装置 |
JP3669967B2 (ja) * | 2002-03-19 | 2005-07-13 | 富士写真フイルム株式会社 | 画像管理システム |
KR100610354B1 (ko) * | 2002-03-19 | 2006-08-09 | 삼성전자주식회사 | 플래시메모리를 이용한 휴대용단말기의 정보처리시스템제어장치 및 제어방법 |
US7810088B2 (en) * | 2003-06-20 | 2010-10-05 | Samsung Electronics Co., Ltd. | Apparatus and method for performing a fail-safe over-the-air software update in a mobile station |
-
2004
- 2004-03-15 US US10/800,513 patent/US7142891B2/en not_active Expired - Lifetime
- 2004-09-30 TW TW093129592A patent/TWI416932B/zh active
- 2004-10-06 DE DE602004022620T patent/DE602004022620D1/de not_active Expired - Lifetime
- 2004-10-06 EP EP04104904A patent/EP1523203B1/en not_active Expired - Lifetime
- 2004-10-08 JP JP2004295534A patent/JP4996817B2/ja not_active Expired - Lifetime
- 2004-10-08 KR KR1020040080446A patent/KR20050035104A/ko not_active Application Discontinuation
- 2004-10-09 CN CN2004100835252A patent/CN1606374B/zh not_active Expired - Lifetime
- 2004-10-09 CN CN2011101859324A patent/CN102196433B/zh not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP1523203B1 (en) | 2009-08-19 |
EP1523203A3 (en) | 2007-06-06 |
US7142891B2 (en) | 2006-11-28 |
JP2005122733A (ja) | 2005-05-12 |
TW200529637A (en) | 2005-09-01 |
CN1606374A (zh) | 2005-04-13 |
CN102196433A (zh) | 2011-09-21 |
CN1606374B (zh) | 2011-11-23 |
JP4996817B2 (ja) | 2012-08-08 |
EP1523203A2 (en) | 2005-04-13 |
DE602004022620D1 (de) | 2009-10-01 |
TWI416932B (zh) | 2013-11-21 |
CN102196433B (zh) | 2013-10-30 |
US20050079868A1 (en) | 2005-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4996817B2 (ja) | 装置に結合されたフラッシュ動作/起動動作によるクローン作成防止方法 | |
US9489498B2 (en) | Digital rights management using trusted processing techniques | |
EP1395892B1 (en) | A method for securing an electronic device, a security system and an electronic device | |
US9281949B2 (en) | Device using secure processing zone to establish trust for digital rights management | |
US7886355B2 (en) | Subsidy lock enabled handset device with asymmetric verification unlocking control and method thereof | |
US20080003980A1 (en) | Subsidy-controlled handset device via a sim card using asymmetric verification and method thereof | |
JP2006504309A (ja) | 装置鍵 | |
JP2004280284A (ja) | 制御プロセッサ、電子機器及び電子機器のプログラム起動方法、並びに電子機器のシステムモジュール更新方法 | |
KR100561497B1 (ko) | 소프트웨어 보안 인증 경로 | |
CN1504057A (zh) | 提供无线通信装置的安全处理和数据存储的方法和设备 | |
US20080282357A1 (en) | Method and Device for Determining Whether an Application Should Access Protected Digital Content | |
KR100749868B1 (ko) | 장치 키 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |