[go: up one dir, main page]

KR100492840B1 - 전자 메모리 탬퍼링을 방지하는 시스템 - Google Patents

전자 메모리 탬퍼링을 방지하는 시스템 Download PDF

Info

Publication number
KR100492840B1
KR100492840B1 KR10-1999-7001850A KR19997001850A KR100492840B1 KR 100492840 B1 KR100492840 B1 KR 100492840B1 KR 19997001850 A KR19997001850 A KR 19997001850A KR 100492840 B1 KR100492840 B1 KR 100492840B1
Authority
KR
South Korea
Prior art keywords
memory
hash value
electronic device
data transmission
microprocessor
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 - Lifetime
Application number
KR10-1999-7001850A
Other languages
English (en)
Other versions
KR20000068467A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=24838185&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR100492840(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 에릭슨 인크. filed Critical 에릭슨 인크.
Publication of KR20000068467A publication Critical patent/KR20000068467A/ko
Application granted granted Critical
Publication of KR100492840B1 publication Critical patent/KR100492840B1/ko
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/565Static detection by checking file integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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
    • H04L9/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3239Cryptographic 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 using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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
    • H04L9/3247Cryptographic 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 involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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
    • H04L9/3271Cryptographic 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 using challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/126Anti-theft arrangements, e.g. protection against subscriber identity module [SIM] cloning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/69Identity-dependent
    • H04W12/71Hardware identity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal 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)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Computing Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)
  • Telephone Function (AREA)

Abstract

셀룰러 전화 등의 전자 장치내의 메모리를 탬퍼링하는 것을 방지하는 방법 및 장치에 관한 것이다. 메모리 및 처리 수단을 갖는 전자 장치는 장치의 메모리 내용에 대하여 단방향 해시 계산을 실행하기 위해 사용되는 로직을 포함하여, 그러한 내용의 감사 해시값 또는 서명이 구해진다. 감사 해시값은 인증된 메모리 내용에서 구한 인증된 유효 해시값과 비교된다. 감사 해시값과 유효 해시값 사이의 차는 메모리 탬퍼링을 나타낸다. 본 발명의 다른 국면에 따르면, 전자 장치 메모리 내용은 메모리 내용에 대한 액세스가 허용되기 전에 인증되는 데이터 전송 장치에 의해 갱신될 수 있다. 데이터 전송 장치 인증은 공개/개인 키 암호화 방식의 사용을 수반한다. 데이터 전송 장치가 전자 장치와 인터페이스하여 메모리 액세스를 요구할 때, 데이터 전송 장치를 인증하기 위한 처리가 개시된다.

Description

전자 메모리 탬퍼링을 방지하는 시스템{SYSTEM FOR PREVENTING ELECTRONIC MEMORY TAMPERING}
본 발명은 전자 메모리 조작(electronic memory manipulation)을 방지하는 시스템에 관한 것으로, 특히 전자 장치(electronic device)에서 바람직하게 안전한 메모리 내용의 허가안된 조작을 방지하는 방법 및 장치에 관한 것이다.
본 명세서에 기재된 발명은 그의 메모리 내용이 안전한 또는 바람직하게는 변경되지 않은 상태로 유지되어야 하는 전자 장치에 관한 것이다. 그러한 요구는 셀룰러 전화 메모리의 부정 조작을 방지하는 등의 보안(security) 이유 또는 항공기 제어 또는 의료 기계 조작 등의 중요한 애플리케이션에 있어서 전자 장치 동작의 완전성을 유지할 목적으로 필요하게 된다. 본 명세서에 기재되고 설명되는 바와 같이, 본 발명의 예시적인 국면은 셀룰러 전화내의 하나이상의 전자 메모리를 안전하게 하는 시스템 및 방법에 대하여 설명된다. 또한, 본 명세서에 기재된 것은 전자 메모리를 액세스하는 것이 허용되기 전에 인증 처리(authentication process)를 받은 데이터 전송 장치를 사용하여, 전자 장치내의 하나이상의 전자 메모리를 액세스하고 그것의 조작을 허용하는 시스템이다. 또한, 셀룰러 전화 애플리케이션의 문맥 상에서 시스템도 설명된다. 본 명세서에 기재된 본 발명의 예시적인 실시예가 안전한 셀룰러 전화 메모리 및 셀룰러 전화에서 메모리 내용을 안전하게 액세스하고 변경하는 수단에 대하여 설명되지만, 당분야의 통상의 기술자라면 본 발명에 따른 시스템이 그의 내용이 변경되지 않고 유지되어야하는 하나이상의 메모리를 갖거나 또는 그의 메모리가 인증된 수단에 의해서만 액세스되어야 하는 전자 시스템에도 적용될 수 있다는 것을 용이하게 이해할 것이다. 따라서, 본 발명의 범위는 본 명세서에 기재된 예시적인 실시예에 의해 제한되는 것이 아니고 그보다는 첨부 특허청구범위 및 그것과 동등한 것에 의해 제한된다.
미국에서는 1995년에 셀룰러 전화 부정 행위(fraud)로 인한 손실이 600 밀리언 달러로 산출되었다. 그에 따라, 제조 업자, 서비스 제공자, 미국 연방 통신 위원회(the Federal Communications Commission : FCC) 및 산업 무역 그룹은 그러한 부정 행위를 제거하기 위해 노력하는 다수의 기술을 연구하였다. 미국에서 행해지는 대부분의 셀룰러 전화 부정 행위는 셀룰러 전화가 통신을 확립하기 위해 제공해야만 하는 셀룰러 전화의 전자 일련 번호(electronic serial number : ESN)를 변경하는 메모리 조작의 형태를 수반한다. 따라서, FCC에 의한 규정은 고려하여, 하나의 부정 행위 방지 기술은 셀룰러 전화 제조 업자에게 모든 마이크로프로세서 코드 및 ESN을 변경불가능하게 할 것을 요구하는 것이다. 본 발명을 수용하는 시스템에 의해 제기되는 관련 문제 및 셀룰러 원격 통신 동작 환경의 설명을 돕도록 기본적인 셀룰러 통신의 백그라운드가 이하에 제공된다.
셀룰러 통신 시스템의 단순화된 레이아웃이 도 1에 도시되어 있다. 이동 전화(mobile telephone) M1-M10은 셀룰러 기지국 B1-B10과 무선 신호를 송수신하는 것에 의해 공중 교환망의 고정부와 통신한다. 또한, 셀룰러 기지국 B1-B10은 이동 교환 센터(Mobile Switching Center : MSC)를 거쳐 공중 교환망에 접속된다. 각각의 기지국 B1-10은 대응 영역 또는 "셀" C1-C10내에서 신호를 송신한다. 도 1에 도시한 바와 같이, 기지국의 이상적인 배치는 최소량의 중복을 갖고, 이동 전화 통신이 보통 발생하는 영역(예를 들면, 대도시 영역)을 실질적으로 커버하도록 조직된다.
사용자가 셀내에서 이동 전화를 기동할 때, 이동 전화는 이동 전화의 존재를 나타내는 신호를 셀의 기지국으로 송신한다. 이동 전화는 각 기지국에 의해 연속해서 감시되는 지정된 셋업 채널 내에서 그의 ESN을 구비할 수 있는 신호를 송신한다. 기지국이 이동 전화의 신호를 수신할 때, 셀내에 이동 전화의 존재를 등록한다. 이 처리는 이동 전화가 다른 셀로 이동하는 경우에 적절히 등록되도록 주기적으로 반복될 수 있다.
이동 전화 번호가 다이얼될 때, 전화 회사 중앙부는 그 번호를 이동 전화로서 인식하고 콜(call)을 MSC로 전송한다. MSC는 현재 등록 정보 및 다이얼된 이동 전화 번호에 따라 페이징 메시지(paging message)를 특정 기지국으로 송출한다. 하나 이상의 기지국이 그의 셋업 채널로 페이지(page)를 송신한다. 다이얼된 이동 전화는 그 셋업 채널상의 그의 식별(identification)을 인식하고, 기지국 페이지에 응답한다. 또한, 이 이동 전화는 할당된 음성 채널에 동조하기 위해 명령에 따른 후 링잉(ringing)을 개시한다. 이동 사용자가 통신을 끝낼 때, 신호 톤(singnaling tone)은 기지국으로 송신되고, 양측은 음성 채널을 해제한다.
상술한 동작에 있어서, 이동 전화는 고정된 네트워크에 영구히 접속되지 않지만 그 대신 소위 "에어 인터페이스(air interface)"를 거쳐 기지국과 통신한다. 물론, 이것은 통신 시스템에 물리적으로 연결하는 제약없이 사용자가 이동 전화를 용이하게 운반할 수 있으므로, 셀룰러 통신 시스템의 유연성을 제공한다. 그러나, 이것과 동일한 특징도 셀룰러 전화 시스템을 거쳐 송신되는 정보를 안전하게 하는 것에 대해서 어려움을 발생시킨다.
예를 들면, 통상의 유선 전화 시스템에서, 중앙 부처 교환국은 물리적으로 부착되어 있는 통신 라인에 의해 설정된 전화 사용에 대하여 특정 가입자를 식별하여 계산서에 기입할 수 있다. 따라서, 가입자 계정의 부정 사용은 통상 물리적 접속이 가입자의 라인에 대하여 이루어질 것을 요구한다. 이것은 자칭 부정 사용자에게 발견될 위험성을 준다.
한편, 셀룰러 원격 통신 시스템은 에어 인터페이스를 거쳐 통신하므로, 자칭 부정 사용자에 대한 접속 문제를 갖지 않는다. 프로텍션이 없는 방식에서는 부정 사용자가 통신을 확립하고 유지하기 위해 여러번 이동 전화에 의해 네트워크로 송신되는 가입자의 전자 일련 번호(ESN)를 액세스함으로써 다른 가입자의 계정을 사용할 수 있다.
표준 셀룰러 접속을 확립함에 있어서, 2개의 식별 코드가 이동 전화에 의해 시스템으로 송신된다. 이들은 이동 식별 번호(Mobile Identification Number : MIN) 및 ESN이다. MIN은 가입자를 식별하고, ESN은 가입자에 의해 사용중인 실제 하드웨어를 식별한다. 따라서, 새로운 기기를 구입하는 가입자로 인해, 특정 ESN에 대응하는 MIN이 시간이 지남에 따라 변하는 것이 기대된다. MIN은 10디지트 디렉토리 전화 번호에서 구해진 34비트 2진 숫자이고, ESN은 이동 전화를 유일하게 식별하는 32비트 2진 숫자이다. ESN은 통상 이동 전화 제조 업자에 의해 설정된다.
예를 들면, 어드밴스드 이동 전화 시스템(Advanced Mobile Phone System : AMPS)에서 통신을 셋업하는 데 사용되는 종래 인증 방법은 도 2에 도시된 흐름도에 의해 설명된다. 이 방법에 따르면, 블록(200)에서 기지국은 이동 전화로부터 ESN과 MIN을 모두 수신한다. 이들 식별 코드는 그들이 그 이동 전화로부터 수신되는 것을 나타내기 위해 ESNm 및 MINm으로 지정된다. 이어서, 블록(202)에서, 기지국은 시스템 메모리에서 MINm에 대응하는 ESNsys를 검색한다. 그 후, 블록(204)에서, ESNsys는 ESNm과 비교된다. 두 개의 일련 번호가 동일하면, 처리는 블록(206)으로 진행하고 시스템 액세스가 허용된다. 그렇지 않으면, 블록(208)에서 시스템 액세스는 거부된다.
이 시스템의 문제점중 하나는 부정 사용자가 에어 인터페이스상에서 또는 다른 소스로부터 엿듣는 것(eavesdropping)에 의해 유효 MIN/ESN 조합을 조립하는 것이 비교적 단순하다는 것이다. 이 종래 시스템에 따른 액세스는 이동 전화로부터 수신된 MIN 및 ESN이 시스템 메모리에 저장된 것에 대응하면 유효라고 추정되므로, 부정 액세스를 위해 필요한 모든 정보가 전자 엿듣기(electronic eavesdropping)에 의해 얻어질 수 있다.부정 사용을 방지하기 위한 다른 기술이 제안되었다. 예를 들면, 서비스 캐리어에 의해 개인 통신 단말의 식별 번호를 등록하는 방법을 기술하고 있는 미국 특허5,386,486호가 있다. EP 0 583 100 A1은 휴대 전화내 번호 할당 모듈의 불법적 설정을 방지하는 휴대 전화용 번호 할당 모듈을 기술하고 있다.
유럽 GSM 규격(Global System for Mobile Communication), 미국 TIA/EIA/IS136 규격 및 일본 퍼스널 디지털 셀룰러 규격 무선 통신 시스템하에서 동작하는 시스템에 있어서, 엿듣기에 기인하는 부정 행위는 챌린지-응답 방법(challenge-response method)을 사용하여 방지된다. 챌린지-응답 방법에 따르면, 각각의 이동 전화는 그 이동 전화 및 네트워크내 데이터베이스에 저장된 유일한 기밀 키(unique secret key)와 관련된다. 시스템 고유의 알고리즘은 각각의 이동 전화 및 소망 네트워크 노드에 저장된다. 콜이 셋업될 때, 인증이 요구되는 것에 의해, 네트워크는 이동 전화에게 챌린지(난수)를 보낸다. 수신된 챌린지 및 저장된 기밀 키에 따라, 이동 전화는 알고리즘을 사용하여 응답을 계산하고 그 응답을 네트워크로 송신한다. 그와 동시에, 네트워크는 동일한 챌린지 및 네트워크저장 기밀 키에 따라 "기대(expected)" 응답을 계산한다. 그 후, 네트워크는 이동 전화의 계산된 응답을 수신하고, 이동 전화의 계산된 응답과 네트워크의 계산된 응답을 비교한다. 불일치가 발생하면, 적절한 동작이 발생하고, 예를 들면 액세스가 거부되거나 또는 경고 플래그가 설정된다. 이동 무선 시스템에 있어서 기지국과 이동 전화사이에서 인증 검사를 실행하는 방법은 P. Dent 등에게 허여된 미국 특허 제5,282,250호에 기재되어 있다.
AMPS 등의 종래 아날로그 시스템에 있어서, 대부분의 부정 행위는 유효 가입자를 "클론(clone)"한 부정 사용자가 유효 MIN/ESN쌍을 획득하고 그 쌍을 사용하여 셀룰러 전화를 리프로그램하는 것에 의해 방해된다. 더 정교하게 클론으로 되는 구성에 있어서, 셀룰러 전화의 소프트웨어는 몇 개의 MIN/ESN쌍, 실제로 소위 "텀블링(tumbling)"을 사용할 수 있도록 리프로그램된다. 텀블링 루틴에 의해 프로그램된 셀룰러 전화는 MIN/ESN 쌍을 랜덤하게 스크롤하고 선택하여 콜을 개시한다. 부정 행위가 서비스 제공자 또는 가입자에 의해 식별될 때, MIN/ESN쌍은 무효로 된다. 콜 시도시 무효 MIN/ESN쌍과 마주칠 때, 텀블링 루틴은 그 MIN/ESN쌍을 단순히 삭제하고 유효 MIN/SEN쌍을 찾을때까지 스크롤링을 계속한다. 셀룰러 전화에 프로그램된 모든 MIN/ESN쌍이 무효로 된후, 통상 전화 사용자는 셀룰러 전화에 프로그램되는 MIN/ESN 쌍의 새로운 세트를 갖도록 클로너(cloner)로 복귀한다.
대부분의 셀룰러 부정 행위는 몇 단계의 메모리 조작을 수반한다. 이것은 종래 셀룰러 전화 메모리 및 프로세서 구성의 블록도를 도시한 도 3을 참조하여 설명된다. 컨트롤러(300)는 메모리 버스(308)를 사용하여 ROM 또는 플래쉬 프로그램 메모리(320), EEPROM(310) 및 랜덤 액세스 메모리(RAM)(330)와 통신한다. 프로그램 메모리(320)는 셀룰러 전화의 일반적 동작을 위해 사용되는 대부분의 코드를 저장하기 위해 사용되는 불휘발성 판독/기록 메모리이다. EEPROM(310)은 MIN/ESN쌍(314, 316) 및 사용자 프로파일 정보(312)(예를 들면, 스피드 다이얼링 번호)를 저장하기 위해 사용되고, RAM은 스크래치패드 메모리를 판독/기록하기 위해 사용된다. 클로너는 플래쉬 메모리(320) 또는 EEPROM(310)에 저장된 정보를 바이패스 또는 수정하기 위해 사용되는 정보를 모으기 위해 메모리와 컨트롤러(300)사이에서의 메시징을 감시하는 것으로 알려져 있다.
대부분의 일반적인 전화 부정 행위 방법은 ESN을 변경하기 위해 전화 서비스 및 수리를 의도하는 테스트 커맨드의 위법 사용이었다. 그러나, 더욱 최근에 생산된 전화는 그러한 탬퍼링에 강하고, 이러한 공격 방법을 효과적으로 제거한다. 따라서, 클로너는 더욱 정교한 공격 모드에 의존한다.
그러한 기술중 하나는 ESN(314)을 포함하는 원래의 EEPROM(310)을 제거하고 그것을 교환하는 것을 수반한다. 그의 제거에 이어서, EEPROM은 그의 내용을 해독하기 위해 연구된다. 그 후, 해독된 내용은 유효 사용자의 계정으로부터 교체 EEPROM을 유용된(misappropriated) ESN/MIN쌍으로 프로그램하도록 사용된다. 이 기술은 클로너가 하나의 ESN을 한번 변경하기만 원한다면 클로너에게 매력적일 수 있다. 그러나, 이 기술은 큰 노동력을 요하므로, 기술이 형편없는 클로너는 극도로 조심하지 않으면 인쇄 회로를 손상시킬 수 있다.
클로닝 정교화에 있어서 큰 단계는 전화의 마이크로프로세서 프로그램 코드를 해석하고 그 코드의 하나 이상의 부분을 재기입하여 셀룰러 기지국으로 부정한 신원(identity)(ESN/MIN 쌍)을 송신하는 것을 수반한다. 이것은 때때로 전화 하드웨어 디자인의 역 엔지니어링부를 수반하고, 매립된 소프트웨어 디자인의 상당한 이해를 요구한다. 그러나, 이 방법의 명백한 이점은 일단 수정이 완료되면, 필요에 따라 새로운 신원으로 전화를 리프로그램할 수 있는 것이다.
대부분의 정교한 공격은 하드웨어 수정과 조합하여, 상술한 바와 같은 셀룰러 전화의 마이크로프로세서 코드의 변경을 결합한다. 이러한 기술의 일예는 셀룰러 전화가 처음으로 켜질 때 부트-업(boot-up) 처리중에만 실행하는 종래 메모리 확인 루틴에 의한 검출을 방지하기 위해 소위 "셰도우 메모리(shadow memory)"를 사용하는 것이다. 부트-업 처리는 컨트롤러(300)내에 포함된 작은 부분의 부트 코드(304)(도 3 참조)에 따라 실행된다. 부트-업 처리는 셀룰러 전화를 서비스중 상태로 형성하고, 마이크로프로세서(301)내의 프로그램 카운터를 플래쉬 메모리(320)내의 적절한 위치에 설정한다. 이 처리가 완료될 때, 컨트롤러(300)는 사용자에게 전화가 서비스중임을 나타내기 위해 LED(318)(또는 다른 등가의 신호)를 켤 수도 있다. 클로너는 다음에 더욱 상세히 설명하는 바와 같이 플래쉬 메모리(320)내의 정상 동작 코드의 실행을 전복(subvert)하기 위해 컨트롤러(300)와 LED(318)사이의 접속(306)을 감시할 수 있다.
전형적인 최근 셀룰러 전화에 포함된 플래쉬 메모리(320)는 512K의 어드레스가능한 용량을 갖는다. 클로너는 플래쉬 메모리(320)를 제거하고, 그 플래쉬 메모리(320)의 내용을 1024K 셰도우 메모리(322)의 첫 번째 512K에 복사한후 원래의 플래쉬 메모리를 1024K 셰도우 메모리(322)로 교체한다. 부트-업중, 프로그램 메모리에 대한 액세스는 플래쉬 메모리(320)의 첫 번째 512K에 있어서 성공적으로 지시된다. 그 후, 클로너는 셰도우 메모리(322)에 대한 모든 장래 프로그램 메모리 액세스를 전환하기 위해, 부트 처리가 완료된 것(LED 신호(306) 등)을 나타내는 전화에서 유용한 신호를 감시할 수 있다. 그 후, 셀룰러 전화는 텀블링 루틴 코드 및 대응 MIN/ESN쌍을 포함하도록 프로그램될 수 있는 셰도우 메모리(322)에서 찾을 수 있는 명령에 따라 동작한다.메모리 탬퍼링을 방지하기 위해 여러 가지 시도가 이루어지고 있다. 예를 들면, WO 91/09484는 이동 무선 전화내 메모리 영역의 액세스가 ROM에서 페치된 CPU 명령에 의해서만 허용되는 보안 기술을 기재하고 있다. FR 2 681 965는 특정 이벤트 발생시 기록되는 것에 대하여 메모리를 보호하는 시스템을 기재하고 있다. 부정 사용 및/또는 탬퍼링에 대한 다른 시스템은 셀룰러 전화 프로그래밍을 탬퍼링하고 하가안된 액세스를 숨기는 셀룰러 전화의 원격 액세싱 시스템을 기술하고 있는 미국 특허5,046,082호 및 휴대 객체의 처리 회로에 의해 계산된 서명이 원래의 메시지 서명과 비교되는 프로그램 또는 데이터의 완전성 검사를 기술하고 있는 미국 특허5,442,645호에 기재되어 있다.
대부분의 셀룰러 부정 행위가 몇 단계의 메모리 조작에 기초하므로, 미국 연방 통신 위원회(FCC)는 셀룰러 전화 부정 행위의 이러한 국면에 관한 솔루션을 현재 고려하고 있다. 이 솔루션은 FCC 규칙 §22.219에 수용되어 있다. 현재 기재되어 있는 바와 같이, §22.919는 이동 전화의 운영 소프트웨어가 변경가능으로 되는 것을 금지하고, ESN이 공장에서 설정되어 어떠한 방식으로든 변경, 이동, 제거 또는 조작될 수 없는 것을 요구하고, 제조 업자를 포함하여 관계자가 셀룰러 전화의 ESN, 시스템 로직 또는 펌웨어를 제거, 탬퍼 또는 변경을 시도하면 이동 송신기가 동작불능으로 될 것을 요구한다.
소비자의 관점에서, 제조 업자 또는 그의 공장의 허가된 서비스 대리인이 셀룰러 전화를 프로그램하는 현재의 능력은 적절히 동작하지 않는 셀룰러 전화의 교체를 용이하게 한다. 예를 들면, 가입자의 셀룰러 전화가 적절히 동작하고 있지 않으면, 가입자는 공장의 허가된 대리인으로부터 새로운 장치를 얻고 이전 장치와 동일한 전자 "퍼스널리티(personality)"를 포함하도록 그것을 프로그램할 수 있다. 셀룰러 전화의 전자 퍼스널리티는 ESN뿐만아니라 개인 및/또는 상용 전화 번호 등의 가입자에 의해 장치에 프로그램되는 상당한 양의 정보 및 사용자 프로파일도 포함한다. 셀룰러 전화에 대하여 ESN 및 다른 메모리를 신속하고 용이하게 바꾸는 수리/교체 프로그램 및 기술은 그들의 가입자가 불완전한 단말에 의해 불편하게 되는 것을 원하지 않는 셀룰러 서비스 제공자의 주장에 있어서 개발되었다.
FCC §22.919하에서, 상술한 상황에 있는 가입자는 그들의 이전 장치가 결점이 있으면 새로운 이동 장치를 여전히 얻을 수 있을 것이다. 그러나, 새로운 고정된 ESN이 새로운 장치와 관련되므로, 새로운 ESN 정보는 그것을 그들의 데이터베이스에 프로그램해야 하는 셀룰러 캐리어에게 전달되어야 한다. 이것은 가입자가 서비스를 갖지 않는 장시간을 요할 수 있다. 또한, 가입자는 그들의 셀룰러 전화를 개인 또는 상용 전화 번호로 리프로그램해야 한다. §22.919에 의한 더 많은 중요한 문제는 셀룰러 서비스 제공자가 그들의 셀룰러 전화를 프로그램 또는 리프로그램하는 것에 의해 그들의 가입자에게 시스템 업그레이드를 제공하는 능력에 대하여 가질 수 있는 반대 효과이다.
§22.919의 실제 효과는 다음에 설명하는 시스템을 업그레이드하는 셀룰러 산업의 능력에 대한 것이다. 예를 들면, TIA/EIA/IS-136 규격에 규정된 바와 같은 디지털 제어 채널의 사용은 셀룰러 캐리어가 단문 메시지 서비스 등의 새로운 확장 서비스를 제공하게 하는 것이다. 캐리어, 제조 업자 또는 허가된 대리인에게 셀룰러 전화의 소프트웨어 및/또는 펌웨어를 변경하는 것이 허용되면, 그러한 서비스는 단말의 소프트웨어 업그레이드를 통하여 신속하고 효과적으로 가입자에게 유용하게 될 수 있다. §22.919(그의 현재 형태)하에서, 제조 업자, 제조 업자의 허가된 서비스 대리인 뿐만 아니라 셀룰러 캐리어도 그러한 소프트웨어 변경을 할 수 없다. 캐리어가 가입자에게 시스템 향상을 제공할 수 있는 유일한 방법은 가입자에게 새로운 셀룰러 전화를 구입할 것을 요구하는 것뿐이다.
가입자뿐만 아니라 제조 집단에 관하여 §22.919의 효과를 향상시키기 위해, FCC는 이 규칙이 초기 종류 수용(type acceptance)을 위한 애플리케이션이 1995년 1월 1일이후 제출된 셀룰러 전화에 적용가능하다고 진술한다. 실제로, FCC는 1995년 1월 1일이전 제출된 종류 수용을 위한 애플리케이션에 따라, 현재 동작중인 2천만 셀룰러 전화뿐만 아니라 1995년 1월 1일이후 서비스중인 수백만 셀룰러 전화를 규칙에서 제외하였다. 불법을 목적으로 전자 정보가 조작될 수 있는 수많은 셀룰러 장치가 이미 시장에 있다는 사실은 §22.919가 부정 행위 문제에 대하여 매우 적은 영향을 갖는 다는 것을 의미한다. ESN의 불법적 탬퍼링에 의해 부정 행위를 저지르는 실체는 §22.919 제약을 받지 않는 수백만 단말을 사용하는 것에 의해 계속 그렇게 할 수 있다.
상기로부터 알 수 있는 바와 같이, 안전한 메모리를 갖는 셀룰러 전화의 공급이 매우 요망되고 있다. 현재, 셀룰러 전화를 탬퍼링에 저항하도록 개장하는 솔루션은 출현하지 않고 않다. 또한, 인증된 액세스만 보장하도록 전자 장치 메모리에 갱신을 제공하는 방법 및 장치도 출현하고 있지 않다.
<발명의 요약>
전자 메모리 탬퍼링 및 셀룰러 전화 메모리 탬퍼링을 방지하기 위해 제안된 종래 솔루션 및 방법의 이들 및 다른 문제와 제한은 통상 전자 메모리 내용을 허가안된 액세스 및 조작으로부터 보호하는 본 발명의 예시적인 실시예에 의해 극복된다.
본 발명의 하나의 국면에 따르면, 보안은 전자 장치내 전자 메모리 내용이 탬퍼링되지 않았던 것을 보장하기 위해 그것을 주기적으로 감사하는 것에 의해 달성된다. 감사는 전자 메모리의 선택된 내용에 해시 계산을 실행하여 그러한 내용의 감사 서명 또는 감사 해시값을 구하는 것을 수반한다. 감사 해시값은 인증된 메모리 내용에서 이전에 구한 유효 해시값과 비교된다. 유효 해시값은 전자 메모리내에 암호화된 형태로 저장되고 비교를 위해서만 해독되는 것이 바람직하다. 감사 해시값과 유효 해시값 사이의 불일치는 메모리 탬퍼링을 나타낼 수 있고, 그러한 이유로, 전자 메모리를 포함하는 전자 장치가 작동하지 않게 될 수 있거나 또는 경고 표시가 이루어질 수 있다.
본 발명의 다른 국면에 따르면, 셀룰러 전화 메모리에 포함된 것 등의 전자 메모리 내용(셀룰러 전화의 ESN을 포함함)은 메모리 내용에 대한 액세스가 허용되기 전에 인증된 데이터 전송 장치에 의해 갱신될 수 있다. 데이터 전송 장치 인증은 공개/개인 키(public/private key) 인증 방식의 사용을 수반한다. 데이터 전송 장치가 전자 장치와 인터페이스하여 액세스를 요구할 때, 전자 장치는 데이터 전송 장치를 인증하기 위한 처리를 개시한다. 이것은 전자 장치와 데이터 전송 장치 사이의 일련의 메시지 교환을 수반할 수 있다. 공개 키는 암호화된 메시지를 해독하기 위해 사용되는 전자 장치내에 유지되거나 또는 데이터 전송 장치내에 유지된 기밀 개인 키로 "서명(sign)"된다. 구체적으로, 데이터 전송 장치가 전자 장치를 프로그램할 것을 요구할 때, 인증 처리가 개시된다. 전자 장치는 데이터 전송 장치로 챌린지 메시지를 송출하는 것에 의해 응답한다. 챌린지 메시지는 데이터 전송 장치내에 유지된 개인 키를 사용하여 디지털 서명(digital signature)으로 서명된다. 서명된 챌린지 메시지는 공개 키를 사용하여 그것을 인증하는 전자 장치로 송출된다. 일단 인증되면, 데이터 전송 장치는 전자 장치내의 특권적 커맨드 및 능력을 액세스하는 것이 허용된다.
전자 메모리의 모든 리프로그래밍에 이어서, 전자 장치는 해시 계산을 실행하여 수정된 메모리 내용에 대한 새로운(유효) 해시값을 구한다. 새로운 해시값은 공개 키에 의한 디지털 서명을 위해 데이터 전송 장치로 복귀된다. 서명된 새로운 해시값은 저장을 위해 전자 장치로 복귀된다. 전자 장치가 그 후의 메모리 감사를 실행할 때, 최종 감사 해시값이 새로운 유효 해시값과 비교된다.
본 발명의 상기 및 그밖의 목적, 특징 및 이점은 도면과 관련한 설명을 읽을 때 더욱 용이하게 이해될 것이다.
도 1은 셀룰러 통신 시스템의 이상적 레이아웃을 도시한 도면.
도 2는 셀룰러 콜을 설정하는 종래 셀룰러 인증 방법을 설명하는 흐름도.
도 3은 종래 셀룰러 전화 프로세서 및 메모리 구성을 도시한 도면.
도 4는 본 발명의 예시적인 실시예에 따른 셀룰러 전화 프로세서 및 메모리 구성을 도시한 도면.
도 5는 본 발명의 하나의 실시예에 따른 예시적인 셀룰러 전화 개시 처리를 설명하는 흐름도.
도 6은 본 발명에 따른 예시적인 주기적 메모리 확인 처리를 설명하는 도면.
도 7은 본 발명의 하나의 실시예에 따른 예시적인 데이터 전송 장치를 도시한 도면.
도 8은 본 발명의 하나의 실시예에 따라 데이터 전송 장치를 인증하는 예시적인 처리를 설명하는 흐름도.
도 9는 본 발명의 하나의 실시예에 따라 초기 ESN을 셀룰러 메모리에 넣는 예시적인 처리를 설명하는 흐름도.
도 10은 본 발명에 따라 확립된 ESN을 리프로그램하는 예시적인 처리를 설명하는 흐름도.
도 11은 본 발명의 예시적인 실시예에 따른 보호된 메모리 구성을 도시한 도면.
도 12는 본 발명의 하나의 실시예에 따른 예시적인 셀룰러 전화 프로그래머를 도시한 도면.
본 발명에 따른 장치 및 방법을 수반하는 예시적인 전자 메모리를 셀룰러 전화 애플리케이션의 문맥으로 이하에 설명한다. 다음에 설명하는 예들은 본 발명을 수용하는 이상적인 애플리케이션을 설명하기 위해 단지 제공될 뿐이다.
도 4를 참조하면, 컨트롤러(400)는 셀룰러 전화(예를 들면, 도 12의 (1204) 참조)의 동작을 제어한다. 컨트롤러(400)는 플래쉬 프로그램 메모리(420), EEPROM(electronically erasable programmable read only memory)(410), 및 랜덤 액세스 메모리(RAM)(408)과 관련하여 동작한다. 컨트롤러(400)는 마이크로프로세서(402) 및 내부 판독 전용 메모리(IROM)(403)를 구비한다. IROM(403)은 부트 코드(404), 해싱 코드(405), 인증 코드(409), 및 공개 암호화 키(406)를 포함한다. 또한, 컨트롤러(400)는 보호된 스테이틱 랜덤 액세스 메모리(PSRAM)(407), 인터럽트 컨트롤러(421) 및 선택된 메모리 내용에 대하여 마이크로프로세서(402)가 주기적으로 해시 계산을 개시하기 위한 하드웨어-기반 타이머(hardware-based timer)(401)도 포함한다. EEPROM(410)은 사용자 프로파일 데이터(412), ESN(414), MIN(416) 및 서명된/서명안된(signed/unsigned) 유효 해시값쌍(418)을 구비한다. 셀룰러 전화의 일반적 동작에 수반되는 명령어 코드는 플래쉬 프로그램 메모리(420)에 포함된다. RAM 메모리(408)는 정상 셀룰러 전화 콜 처리의 일부인 동작을 위한 스크래치패드(scratchpad)로서 사용된다. 민감한 데이터를 수반하는 동작, 해시값 계산 및 인증 처리는 PSRAM(407)과 관련하여 실행되는 것이 바람직하다. 컨트롤러(400)는 플래쉬 프로그램 메모리(420), RAM(408) 및 EEPROM(410)과 메모리 버스(424)를 거쳐 통신한다.
본 발명의 예시적인 실시예에 따라 도 4에 도시한 시스템의 전화기 전원투입 및 메모리 확인을 위한 처리는 도 5에 도시한다. 셀룰러 전화가 켜진후, IROM(403)내의 부트 코드(404)는 컨트롤러를 기동하기 위해 마이크로프로세서(402)에 의해 실행된다(블록 500). 그 후, IROM(403)에 포함된 해시 코드(405)는 EEPROM(410)에 저장된 ESN값(414) 및 플래쉬 프로그램 메모리(420)의 선택된 내용에 대하여 감사 해시값 계산을 실행하기 위해 실행된다(블록 502). 그 후, 컨트롤러는 EEPROM(410)에 저장된 서명된 유효 해시값쌍(418)을 인증한다(블록 504). 이것은 공개 키(406)로 서명된 유효 해시값을 처리한후 그 결과를 서명안된 해시값과 비교하는 것에 의해 서명된 유효 해시값을 인증하는 것을 수반할 수 있다. 그 후, 인증된 해시값은 PSRAM(407)에 저장된다(블록 506). 블록(502)에서 구한 감사 해시값은 블록(504)에서 구한 인증된 해시값과 비교된다(블록 508). 두 개의 해시값이 일치하면, 마이크로프로세서 프로그램 카운터는 플래시 메모리(420)내의 적절한 위치에 설정되고, 주기적 해시값 계산 처리가 인에이블되고(블록 510), 그 후 셀룰러 전화는 정상 동작을 시작한다(블록 512). 블록(508)에서 해시값들이 일치하지 않으면, 시스템은 무한 루프로 들어가거나(블록 514) 또는 그렇지않으면 디스에이블된다. 상기 처리는 그렇게 하는 것이 해시값 불일치를 발생시켜 전화가 동작불능으로 되게 하므로, 클로너가 플래쉬 메모리내 수정된 프로그램 또는 EEPROM(410)내의 수정된 ESN를 교체하는 것을 방지한다.
셰도우 메모리(422)가 정상 동작 개시후 유효 플래쉬 메모리(420)를 대신하는 것을 방지하기 위해, 주기적 해시값 처리를 실행하는 것이 바람직하다. 정상 전화 동작중, 주기적 해시값 계산은 타이머의 만료에 응답하여 또는 다른 시스템 이벤트에 응답하여 발생할 수 있다. 도 4에 도시한 예시적인 실시예에 있어서, 주기적 해시 계산은 NMI(non-maskable interrupt)를 발생시키는 하드웨어-기반 타이머(401)의 만료에 응답하여 개시된다. NMI는 소프트웨어 처리에 의해 "마스크(mask)"될 수 없는 하드웨어지향(hardware-oriented) 인터럽트이다. 따라서, 클로너는 NMI를 무시하도록 설계되는 셰도우 코드를 구성할 수 없다. 정규 인터럽트도 마이크로프로세서 리소스에 대한 액세스를 얻기 위해 정상적인 셀룰러 전화 이벤트로부터의 다른 정규 인터럽트와 경합해야 하는 하드웨어 인터럽트이다. 정규 인터럽트는 서비스를 요구하는 가장 높은 우선 순위 인터럽트로 될 때 인정되어 처리된다.
완전한 해시값 계산은 정상 전화 동작에 의해 견딜 수 있는 것보다 시간이 더 걸릴 수 있으므로, 하나의 주기(예를 들면, 수초)에 걸쳐 펼쳐진 몇 개의 세그먼트로 조각내서 처리를 실행하는 능력을 제공하는 것이 바람직하다. 바람직한 실시예의 다른 국면에 따르면, 하드웨어-기반 타이머는 해시값 계산의 하나의 세그먼트를 실해하기 위해 2개의 스텝 처리를 호출한다. 먼저, 마스크불가능한 인터럽트(NMI)는 주기적 해시값 계산에 포함되도록 스케쥴된 다음 플래쉬 또는 EEPROM 메모리 위치의 내용을 마이크로프로세서가 즉시 검색하여 그것을 PSRAM에 저장하게 한다. NMI는 그것이 발생할 때 액티브로 되는 마이크로프로세서 태스크에 대하여 무시할만한 영향을 미치는 짧고 우선 순위가 가장 높은 종류의 인터럽트이다. 이것은 해시 계산에 의한 검출을 피하기 위해 클론 소프트웨어에 의해 취해질 수 있는 액션이 없다는 것을 보장한다. 두 번째로, NMI 루틴에 의해 이전에 포획된 메모리 바이트에 기초하여 해시값 계산의 현재 세그먼트를 완료하기 위한 서비스를 요구하는 낮은 우선 순위 표준 인터럽트도 하드웨어-기반 타이머(401)에 의해 발생된다. 이 태스크는 정상 콜 처리 태스크가 요구될 때, 하드웨어 타이머가 만료하여 전화를 디스에이블하기 전 미리정한 최대 시간(T)동안 연기될 수 있다. 최대 시간(T)은 모든 합법적인 콜 처리가 완료되고, 해시 계산 세그먼트가 끝나며, 하드웨어 타이머가 만료전 그의 카운트다운 사이클의 처음으로 리셋되기에 충분하도록 선택된다. 해시값 계산의 세그먼트를 주기적으로 완료하기 위해 두 종류의 인터럽트를 사용하는 전략은 셰도우 플래쉬 메모리에 존재하는 클론 소프트웨어에 의해 보안 검사가 바이패스될 수 없는 것을 보장하면서 시스템 응답에 있어서의 모든 저하를 피한다.
본 발명에 따른 예시적인 주기적 해시값 계산 처리를 설명하는 흐름도를 도 6에 도시한다. 이 도면을 참조하면, NMI 및 정규 인터럽트는 하드웨어 타이머(401)의 T1 카운터가 만료할 때(블록 602), 블록(604)에서 발생된다. 일단 NMI가 마이크로프로세서의 제어를 얻으면(블록 604), 해시 계산이 요구되는 플래쉬 또는 EEPROM의 다음 바이트가 PSRAM으로 복사되는동안, 시스템은 짧은 기간동안 정규 인터럽트를 디스에이블 또는 큐(queue)한다(블록 606). 그 후, 제어는 NMI가 발생하였을 때 실행중이었던 태스크로 복귀된다(블록 608). 정상 상태하에서, 짧은 기간내에, 하드웨어-기반 타이머(401)로부터의 정상 인터럽트도 서비스되고(블록 610), 해시 계산의 세그먼트는 PSRAM에 이전에 저장되어 있던 메모리 바이트에 따라 완료된다(블록 616). 해시값 계산이 아직 완료하지 않았으면, 하드웨어-기반 타이머(T1 & T2)(401)는 그들의 초기값으로 리셋되고(블록 624), 정상 전화 동작은 타이머 T1의 다음 만료까지 계속된다(블록 600). 정규 인터럽트가 서비스되기전(블록 610) 타이머 T2가 만료되면(블록 612), 전화는 디스에이블된다(블록 614). 타이머 T2의 디폴트 만료는 (만일 정규 인터럽트가 정확히 서비스되지 않으면) 클로너가 주기적 해시 계산을 디스에이블하는 것을 방지한다.
이러한 해시값의 주기적인 조각 계산은 감사 해시값 계산이 완료될때까지 계속된다(블록 618). 그 후, 이전에 인증된 해시값이 PSRAM에서 페치되고 감사 해시값과 비교된다(블록 620). 그들이 일치하면, 하드웨어-기반 타이머(401)는 리셋되고(블록 624), 전화는 정상적으로 계속 동작한다(블록 600). 그들이 일치하지 않으면, 시스템은 예를들면 마이크로프로세서(402)를 정지 상태(halt condition)로 하는 것에 의해 디스에이블된다(블록 622).
해시 계산이 실행되는 셀룰러 전화 메모리의 선택된 내용은 플래쉬 메모리(420)로부터의 내용 및 EEPROM(414)내의 ESN을 구비하는 것이 바람직하다. 이것은 클로너가 플래쉬 메모리 또는 EEPROM을 물리적으로 제거하거나 또는 수정하고, 셀룰러 캐리어를 속여 빼앗도록 설계된 수정 ESN 및/또는 프로그램 코드를 포함하는 리프로그램된 장치로 그들을 교체하는 것을 방지한다. 선택된 메모리 내용 및 사용된 해시값 계산은 해시값 계산에 포함된 메모리의 하나의 비트라도 수정되면 전화를 동작불능으로 하는 것이 바람직하다.
본 발명의 다른 국면에 따르면, 셀룰러 전화는 데이터 전송 장치를 사용하여 안전한 방식으로 프로그램될 수 있다. 본 발명에 따른 예시적인 데이터 전송 장치를 도 7에 도시한다. 컨트롤러(400)의 참조 숫자, 그의 내용 및 관련 메모리는 도 4의 도면 참조 기호와 동일하다. 예시적인 데이터 전송 장치(750)는 컨트롤러(400)의 IROM(403)내의 공개 암호화 키(406)에 대응하는 개인 암호화 키(754)를 포함하는 안전한 마이크로프로세서(752)를 구비한다. 안전한 마이크로프로세서(752)는 인터페이스(758)를 거쳐 셀룰러 전화 컨트롤러(400)와 통신한다. 인터페이스(758)는 RS-232 링크 등의 유선 시리얼 접속, 무선 적외선 인터페이스 또는 셀룰러 전화의 메인 안테나(도시하지 않음) 등의 RF 인터페이스 또는 셀룰러 전화내의 다른 안테나일 수 있다.
데이터 전송 장치(750)에 의한 셀룰러 전화 메모리 액세스는 엄격한 인증 처리가 완료된 후에만 허용된다. 구체적으로, 컨트롤러(400)(및 관련 메모리 구성 요소)는 데이터 전송 장치(750)가 그의 확실성을 보장하기 위한 챌린지-응답 처리를 받은후에만 데이터를 다운로드하기 위해 액세스될 수 있다. 도 8은 본 발명의 예시적인 실시예에 따라 데이터 전송 장치(750)를 인증하는 예시적인 처리를 설명하는 도면이다. 첫 번째 스텝(블록 800)에서, 전화는 도 5에 대하여 설명한 부정 행위 방지 처리를 사용하여 바람직하게 동작 상태로 된다. 인터페이스가 확립된 후, 안전한 프로세서(752)는 그에 의해 발생된 난수(Rand1)와 함께 컨트롤러(400)에게 프로그래밍 요구 메시지를 송출한다(블록 802). 그에 응답하여, 컨트롤러(400)는 안전한 마이크로프로세서(752)에게 난수 챌린지 코드(Rand2)를 보낸다(블록 804). 그 후, 안전한 마이크로프로세서(752)는 Rand1, Rand2 및 개인 키(754)에 따라 챌린지 응답을 발생한다(블록 806). 그 후, 챌린지 응답은 컨트롤러(400)로 복귀된다(블록 808). 이 챌린지 응답은 Rand1, Rand2 및 공개 키(406)을 사용하여 컨트롤러(400)에 의해 처리된다(블록 810). 그 후, 처리된 챌린지 응답은 그의 값과 Ran2가 비교되는 것에 의해 인증된다.(블록 812). 챌린지 응답이 적절히 해독되면(예를 들면, Rand2), 데이터 전송 장치의 확실성이 검증되고 전화는 프로그래밍 모드로 들어간다(블록 812). 그 후, 데이터 전송 장치(750)는 셀룰러 전화내의 여러 메모리를 액세스할 수 있고 및/또는 새로운 플래쉬 메모리(420) 내용을 다운로드할 수 있다.
챌린지 응답이 유효하지 않으면, 실패 계수가 증가된다(블록 816). 실패 계수는 미리결정된 수(maxcount)에 도달하였는가를 알아보기 위해 검사된다(블록 818). 실패 계수는 데이터 전송 장치(750)가 잡음이 있는 매체를 거쳐 컨트롤러(400)와 통신하고 있는가를 고려한 것이다. 최종 전송 에러는 인증 실패의 원인으로 될 수 있다. 따라서, 셀룰러 전화를 프로그래밍 모드로 하기 위해 데이터 전송 장치(750)에게 한번이상의 기회를 주는 것이 바람직하다. 본 발명의 예시적인 실시예에서는 적절하게 50의 maxcount가 결정되었다. 미리결정된 수에 도달하지 않았으면, 인증 실패가 발생한 것을 나타내는 메시지가 데이터 전송 장치(750)로 보내진다(블록 822). 그러한 지시를 수신할 때, 인증 처리는 블록(802)에서 다시 시작된다. 미리결정된 시도 회수에 도달하였으면, 전화는 동작불능 상태로 되고, 허가된 서비스를 위해 전화가 복귀해야하는 것을 사용자에게 나타내는 메시지가 표시될 수 있다.
데이터 전송 장치(750)가 모든 ESN 리프로그래밍 또는 플래쉬 메모리(420)로의 다운로드를 완료한 후, 전화내의 컨트롤러(400)는 예를 들면 플래쉬 메모리(420)의 수정된 내용 및 ESN(414)을 포함하는 새로운 해시 계산을 시작한다. 최종 해시값은 개인 키(754)를 사용하는 디지털 서명을 위해 데이터 전송 장치(750)로 보내진다. 그 후, 서명된 해시값은 그것과 동일한 해시값의 서명안된 버전과 함께 EEPROM(410)에 저장되도록 컨트롤러(400)로 복귀된다.
ESN은 본 발명에 따라 리프로그램될 수 있지만, 보안 이유로 인해, ESN 프로그래밍은 허가된 공장 대리인에 의해서 보다는 공장에서 실행되는 것이 바람직하다. ESN의 프로그래밍은 두가지 상황, 즉 제조중 초기 ESN 프로그래밍 및 기존의 ESN 리프로그래밍시 발생할 수 있다. 초기 ESN은 도 7에 도시한 것과 마찬가지 데이터 전송 장치를 사용하여 프로그램될 수 있다. 초기 ESN 프로그래밍 처리는 도 9를 참조하여 다음에 설명된다.
첫 번째 스텝(블록 900)으로서, 전화는 동작 상태로 된다(도 5 참조). 전화와의 인터페이스 확립에 이어서, 안전한 프로세서(752)는 ESN 프로그래밍 요구 메시지를 난수(Rand1)와 함께 컨트롤러(400)로 보낸다(블록 902). 컨트롤러(400)는 전화내의 ESN이 새로 제조된 전화인 경우에 항상 제로인 것처럼, 모두 제로인가를 결정하기 위해 검사를 실행한다(블록 904). ESN이 모두 제로가 아니면, ESN 프로그래밍 모드 요구는 거부된다(블록 906). ESN이 모두 제로이면, 도 8의 스텝(804) 내지 (820)에서 설명한 것과 실질적으로 마찬가지인 챌린지-응답 처리가 개시된다(블록(908) 참조). 데이터 전송 장치(750)의 성공적인 인증에 이어서, 새로운 ESN이 EEPROM(410)에 다운로드될 수 있다.
데이터 전송 장치(750)가 ESN을 EEPROM(410)에 다운로드하는 것을 완료한후, 컨트롤러(400)는 새로운 ESN(414)을 구비하는 새로운 해시 계산을 개시한다. 최종 해시값은 개인 키(754)를 사용하는 디지털 서명을 위해 데이터 전송 장치(750)로 보내진다. 그 후, 서명된 해시값(418)은 그것과 동일한 해시값의 서명안된 버전과 함께 EEPROM(410)에 저장되도록 컨트롤러(400)로 복귀된다.
기존의 ESN도 본 발명을 수용하는 시스템에서 리프로그램될 수 있다. ESN리프로그래밍 처리는 법적으로 허가된 공장 대리인이 아니고 공장에서만 실행되는 것이 바람직하다. 공장에서만 이용가능하고, 전화내의 이전에 프로그램된 ESN을 변경하기 위해 전화에 로드되는 한 세트의 마이크로프로세서 명령을 사용함으로써 보안이 추가된다. 이 처리는 도 7에 도시한 것과 마찬가지인 데이터 전송 장치를 사용하여 실행될 수 있고, 이하 도 10을 참조하여 설명된다.
첫 번째 스텝으로서(블록 1000), 전화는 도 8에 도시한 처리에 따라 정규 프로그래밍 모드로 된다. 공장 데이터 전송 장치(750)는 ESN 리프로그래밍을 용이하게 하기 위해 셀룰러 전화의 PSRAM 메모리(407)에 다운로드될 수 있는 ESN 리프로그래밍 코드(756)를 포함한다. 시스템이 프로그래밍 모드로 되었으면, ESN 리프로그래밍 코드(756)는 PSRAM(407)에 다운로드된다(블록 1002). ESN 리프로그래밍 코드(756) 실행시, 컨트롤러(400)는 기존 ESN을 제로로 하고(블록 1004), ESN 리프로그래밍 처리를 개시한다(블록 1006).
데이터 전송 장치(750)가 새로운 ESN을 EEPROM(410)에 입력하는 것을 완료한 후, 컨트롤러(400)는 새로운 ESN(414)을 구비하는 새로운 해시 계산을 개시한다(블록 1008). 최종 해시값은 개인 키(754)를 사용하는 디지털 서명을 위해 데이터 전송 장치(750)로 보내진다(블록 1010). 그 후, 서명된 해시값(418)은 그와 동일한 해시값의 서명안된 버전과 함께 EEPROM(410)에 저장되도록 컨트롤러(400)로 복귀된다(블록 1012).
본 발명의 예시적인 실시예에서 해시값 계산 및 디지털 서명은 단방향 해싱 함수 및 개인/공개 키 인증 방식을 사용하여 실행된다. 단방향 해시 함수는 셀룰러 전화내의 메모리 내용을 나타내는 해시값을 구하기 위해 사용된다. 공개/개인 키 시스템은 EEPROM에 저장된 유효 해시값에 보안을 제공하고 셀룰러 전화내의 메모리를 조작하려는 데이터 전송 장치 또는 프로그래머를 인증하기 위해 사용된다. 단방향 해싱은 당분야 공지이고, 예를 들면, Moore에게 허여된 미국 특허5,343,527호에 기재되어 있다.
단방향 해시 함수는 순방향에서의 계산은 단순하지만 역방향에서의 계산은 곤란한 함수이다. 단방향 해시 함수 H(M)은 본 발명의 예시적인 실시예에서 선택된 전자 메모리 내용을 구성하는 임의의 길이 입력 M에 대하여 작용한다. M에 대하여 실행되는 해시 함수는 고정 길이 해시값 h를 리턴한다(수학식 1 참조).
임의 길이 입력을 취하여 고정 길이의 출력을 발생할 수 있는 수많은 함수가 있지만, 단방향 해시 함수는 다음의 추가 특성을 갖는다. M이 주어질 때, h를 계산하는 것이 용이하고, h가 주어질 때 M을 계산하는 것이 어렵고, M이 주어질 때 H(M)=H(M') 등의 다른 메시지 M'를 찾는 것이 어렵다.
단방향 해시에 대한 기본적 공격은 메모리 입력(해시된 내용)의 해시값이 주어질 때, 클로너가 H(M)=H(M') 등의 다른 세트의 메모리 내용 M'를 만들려고 노력하는 것이다. 클로너가 이것에 성공하면, 단방향 해시 함수의 보안가 훼손된다. 단방향 해시의 목적은 M의 고유한 서명, 즉 지문을 제공하는 것이다. 본 발명에 있어서, 안전한 단방향 해시 함수는 감사 해시값이 발생하도록 셀룰러 전화 메모리의 선택된 내용에 대하여 실행된다. 감사 해시값은 인증된 것으로 알고 있는 메모리로부터의 선택된 메모리 내용에 대하여 단방향 해시 함수를 실행하는 것에 의해 미리 발생된 유효 해시값과 비교된다.
바람직한 실시예에서, MD5 등의 메시지 다이제스트 알고리즘은 안전한 단방향 해시 계산을 위해 사용된다. MD5 알고리즘은 입력 메시지(즉, 선택된 메모리 내용)의 메시지 다이제스트 또는 N비트 해시를 발생한다. MD5 알고리즘은 선택된 내용내의 하나의 비트 변경이 통계적으로 해시값 비트 변경의 절반으로 이어짐에 있어서 매우 민감하다. MD5 알고리즘은 그의 속도 및 단순성 때문에 알려져 있다. 속도는 셀룰러 전화의 마이크로프로세서에 대한 시간 요구가 통상의 시스템 처리와 용인할 수 없게 인터페이스할만큼 크게 될 수 없다는 점에 있어서 중요한 고려사항이다.
MD5 알고리즘은 증분 기준으로 실행되어 해시 처리의 인터럽트를 허용하는 것에 의해 정규 마이크로프로세서 태스크가 해싱이 재개되기 전에 어드레스될 수 있으므로 적당하다. 또한, MD5 알고리즘은 종래 마이크로프로세서 아키택쳐에 사용하기에도 적합하다. 본 발명의 실시예에 따라 사용될 수 있는 다른 단방향 해시 알고리즘은 이것에 제한되는 것은 아니지만, Serfu, H-Hash, MD2, MD4, SHA(Secure Hash Algorithm) 및 HAVAL을 구비한다. 당분야의 통상의 기술자는 단방향 해시 처리를 실행하도록 마이크로프로세서를 용이하게 프로그램할 수 있을 것이다.
공개 키 알고리즘은 두 개의 키, 즉 메시지를 암호화하고 해독하는 등의 태스크, 메시지 인증 및 디지털 서명을 위해 개인적으로 유지되는 것(기밀)과 공개적으로 이용가능한 것을 사용한다. 이 키는 다른 목적을 달성하기 위해 다른 방식으로 사용될 수 있다. 예를 들면, 메시지 기밀을 유지하는 것이 목적이면, 수신자만이 메시지를 해독할 수 있도록 개인 키가 수신자에 의해 안전하게 유지되어야 한다. 그러한 경우, 암호화 키는 공개적으로 알려져야 하고 또한 특정의 잠재적 수신자와 관련되도록 알려져야 한다. 송신자가 이 처리에 있어서 정보 비밀을 보장할 수 있더라도, 수신자는 송신자 확실성을 보증할 수 없다. 한쌍의 키중 개인(기밀) 키가 암호화를 위해 송신자에 의해 기밀로 유지되면, 대응하는 공개 키를 갖는 수신자는 기밀의 보증이 없음에도 불구하고, 송신자의 확실성을 보증할 수 있다. 이것은 본 발명에 따른 데이터 전송 장치를 인증하기 위해 사용되는 후자의 방식이다.
공개 키 알고리즘은 공개 키로부터 개인 키를 추론하기 위해 연산 불가능으로 되는 수학적 트랩도어 함수에 따라 작용한다. 공지의 RSA(Rivest, Shamir, Adleman) 알고리즘의 경우에 있어서, 보안는 두 개의 큰 소수의 곱을 인수분해하는 것의 어려움에 의존한다. 키 선택은 함께 곱해져 큰수 n을 생성하는 두 개의 큰 소수 p 및 q의 선택부터 시작한다.
그 후, 암호화 키 e는 e 및 (p-1)(q-1)이 상대적 소수가 되도록 랜덤하게 선택된다. 마지막으로, 유클리드의 알고리즘(Euclid's algorithm)을 사용하여,
로 되는 해독 키 d를 계산한다.
수 e 및 n은 공개 키이고, 수 d는 개인 키이다. 수학식 5는 RSA 암호화 처리를 제공하고, 수학식 6은 해독 처리를 제공한다.
n을 인수분해할 수 있는 상대자는 수학식 3을 사용하여 모듈러스 F를 결정한 후, 공개 키 e가 주어질 때 수학식 4에서 개인 키 d를 결정할 수 있다. 물론, 상술한 바와 같이, n은 통상 그러한 인수분해를 불가능하게 할 정도로 크다. RSA 알고리즘의 더욱 상세한 것은 Rivest 등에게 허여된 미국 특허4,405,829호에서 찾을 수 있다.
본 발명의 바람직한 실시예에서는 FS(Fiat-Shamir) 알고리즘 또는 그의 변형이 사용된다(그의 내용이 본 명세서에 참조로서 모두 포함된 미국 특허4,748,668호 참조). FS 알고리즘은 통상의 셀룰러 전화의 연산 능력을 제한하기에 잘 맞는 인증 및 디지털 서명 방식을 이행하도록 적응된다.
FS 알고리즘은 2차 나머지(quadratic residue)(vi) 모듈로 n의 역수를 찾는 어려움에 따라 인수를 사용하는 점에 있어서 RSA 등의 이전 방식과 다르다. 구체적으로, FS 방식은 길이가 바람직하게는 512와 1064비트 사이에 있는 두 개의 큰 소수의 곱인 수 n을 선택하는 것을 수반한다. 공개 키(v):v1, v2, ...vk 및 개인 키(s):s1, s2, ...sk는 si = sqrt(1/vi) mod n으로 되도록 발생된다. 상기 식의 문맥내에서 역수 (1/vi) mod n을 찾음에 있어서의 어려움은 소수 n의 인수를 찾는것의 어려움과 동일한 것으로 보여질 수 잇다. 보안를 희생하지 않고, 이 알고리즘은 다른 방식보다 더욱 더 신속하게 실행한다. 실제로, FS 방식은 FS 계산이 필요한 인증 연산을 완료하기 위해 통상 필요한 모듈 곱셈의 단지 1% 내지 4%만을 요구하는 점에 있어서 RSA 방식을 능가한다고 알려져 있다. 이것은 동일한 태스크를 실행하기 위해 RSA 방식을 사용하는 것보다 크기가 2자리수 향상한 속도에서의 서명된 해시값의 인증에 대응한다. 따라서, 데이터 전송 장치 인증 및 주기적 감사 해시값 비교는 RSA 방식을 사용하는 것보다 FS 방식을 사용하여 상당히 빠르게 실행될 수 있다. 셀룰러 전화 또는 다른 전자 메모리를 공장 단계에서 대량으로 프로그램할 때, FS 알고리즘을 사용하는 것은 저장을 위해 유효 해시값의 디지털 서명을 더욱 신속히 발생하는 것에 의한 생산 시간을 저감시킨다. 적용가능한 다른 알고리즘은 이것에 제한되는 것은 아니지만, ELGAMAL, DSA, Fiege-Fiat-Shamir를 포함한다.
본 발명의 다른 국면에 따르면, 셀룰러 전화내의 컨트롤러 하드웨어는 클로너가 안전한 메모리의 내용을 결정하거나 또는 그렇지않다면 상술한 보안 방식을 바이패스하는 것을 방지하는 보안 특징을 갖는다. 도 11은 컨트롤러 하드웨어, 외부 메모리 및 메모리/어드레스 버스 구성의 상세를 도시한 것이다. 칩 셀렉트 로직(1122) 및 보안 로직(1124)을 제외하고, 컨트롤러내 구성 요소의 기능 및 동작은 도 4에서 설명한 것과 동일하다. 칩 셀렉트 로직(1122)은 마이크로프로세서 어드레스 버스(1102)상의 어드레스를 디코드하여, 버스(1102)에 접속된 메모리 구성 요소 및 하드웨어 장치에게 하드웨어 선택 신호를 제공한다. 예를 들면, 어드레스가 IROM 메모리(403)에 할당된 어드레스 버스(1102)에 나타날 때, IROM 칩 셀렉트(CS)가 인에이블된다.
보안 로직(1124)은 IROM 메모리(403)이외의 메모리 장치에 저장된 마이크로프로세서 명령 코드를 사용하여 하드웨어-기반 타이머(401)를 리셋하거나 또는 RSRAM(407)의 내용을 액세스하려는 시도를 검출하도록 기능하다. 예를 들면, PSRAM(407)내 메모리 위치의 타겟 어드레스를 갖는 플래쉬 메모리(420)에 위치된 판독 또는 기록 명령이 불법 동작으로서 검출될 수 있다. 모든 불법적 액세스 시도는 마이크로프로세서가 정상 동작을 개재하기 위해 셀룰러 전화의 완전한 파워 리셋을 요구하는 정지 상태로 되게 한다.
보안 로직은 다음 논리식의 구현이다.
논리식 1 S = ↑Supvr·B
논리식 2 Halt = notS·(A+C)
여기서, S = 보안 모드
↑Supvr = 마이크로프로세서의 감독 모드로의 천이
A = PSRAM 메모리의 칩 셀렉트 신호
B = IROM 메모리의 칩 셀렉트 신호
C = 하드웨어 타임의 칩 셀렉트 신호
Halt = 파워가 제거되고 전화에 재공급될 때까지 마이크로프로세서가 무한 루프로 되거나 또는 영구 대기 상태로 되게 하는 마이크로프로세서로의 하드웨어 제어 입력.
상기 논리식1은 IROM(403) 칩 셀렉트가 액티브임(·B)과 동시에 마이크로프로세서가 감시 모드로 천이할때마다(↑Supvr) 보안 모드(S)가 설정되는 것을 의미한다. 상기 논리식2는 컨트롤러(400)가 보안 모드가 아니고(not S) PSRAM(407) 또는 하드웨어 타이머 칩 셀렉트가 액티브(·(A+C))이면, 마이크로프로세서 정지 입력이 활성화되는 것을 의미한다. 이 로직은 PSRAM(407)에 대한 합법적 액세스 및 하드웨어 타이머(401)에 대한 리셋 커맨드가 IROM(403)에 저장된 코드로부터 나오는 것이 바람직하므로, 상술한 해시값 비교 및 인증 처리에 의해 제공되는 보안 측정(measures)의 바이패스를 효과적으로 방지한다.
IROM 메모리(403)내에 위치한 모든 합법적 코드(부트 코드, 해시 코드, 공개 키 코드, 인증 코드)는 보안 모드를 루틴의 처음에 설정하고 그 루틴을 종료할 때 클리어되게 하는 명령에 의해 일괄처리되는 것이 바람직하다. 본 발명의 바람직한 실시예에서, 소프트웨어 인터럽트 명령(최근 마이크로프로세서에서 공통적으로 이용가능함)은 마이크로프로세서(402)가 감시 모드로 전환되고 마이크로프로세서 하드웨어 신호 SPVR이 액티브로 되게 하도록 IROM(403)내 각 루틴의 처음에 있다. IROM(403) 칩 셀렉트 신호가 그때에 액티브로 되므로, 보안 모드 S가 설정된다. 소프트웨어 루틴의 끝에서 리턴 명령을 실행하는 것은 보안 모드를 취소시킨다.
본 발명의 다른 국면에 따르면, 데이터 전송 장치는 범용 컴퓨터와 조합하여 사용될 수 있는, 공장에서 제공한 보안 유닛(factory-supplied security unit)을 포함한다. 예시적인 구성을 도 12에 도시한다. 보안 유닛(1200)은 표준 커넥터(1206)를 거쳐 PC(1202)의 I/O 포트에 부착된다. PC(1202)의 제2포트는 셀룰러 전화(1204)와의 인터페이스를 위해 RS-232, 케이블 또는 적외선 링크 등의 제2표준 커넥터(1208)과 관련하여 사용된다. 도 8에 도시한 처리는 셀룰러 전화 리프로그래밍 처리를 실행하기 위해 도 12에 도시한 구성을 사용하여 실행될 수 있다. 표준 PC 및 보안 유닛(1200)을 갖는 허가된 공장 서비스 대리인은 전화를 리프로그램하기 위해 구비된다.
본 발명의 또 다른 국면에 따르면, 기존의 셀룰러 전화에는 내부 인쇄 회로 카드 어셈블리에 대한 액세스를 획득하는 것을 수반하지 않는 공격에 대하여 안전한 필드 프로그래밍 능력이 제공될 수 있다. 이러한 보호 수준은, 전화내 메모리 내용을 외부 전화 커넥터를 통하여 액세스가능한 테스트 커맨드를 사용하여 수정하는 클로닝 공격의 대부분의 일반적 방법에 대하여 매우 효과적이다. 이것은 필드 프로그래밍 커맨드에 대한 액세스 승인에 앞서 도 8에서 설명한 DTD(Data Transfer Device) 인증 프로시저를 사용하도록 현재 셀룰러 전화를 업그레이드하는 것에 실행될 수 있다. 인증 소프트웨어 코드 및 공개 키는 모두 기존의 플래쉬 메모리에 저장되므로, 기존의 종래 설계에 대한 모든 변경을 피할 수 있다.
본 발명의 예시적인 애플리케이션은 셀룰러 전화내 전자 메모리를 안전하게 하고 프로그래밍하는 것에 적용되는 단방향 해싱 및 키 암호화 시스템에 대하여 설명되었다. 그러나, 당 분야의 통상의 기술자는 메모리 내용의 서명을 구하는 모든 적절한 함수, 계산, 알고리즘, 방법 또는 시스템이 본 발명에 따라 적용될 수 있다는 것을 용이하게 이해하고 인식할 것이다. 또한, 본 발명은 특정 실시예를 참조하여 설명되었다. 그러나, 상술한 바람직한 실시예 이외의 특정 형태로 본 발명을 구현할 수 있는 것이 당업자에게 용이하고 명확하게 될 것이다. 예를 들면, 본 발명의 정신을 벗어나지 않고 전자 메모리 및/또는 전자 메모리 프로그래밍 또는 액세싱 장치에 있어서 본 발명을 구현할 수 있다. 또한, 본 발명은 디지털 신호 프로세서, 애플리케이션 지정 프로세서 또는 그밖의 프로세서 또는 전자 메모리 지향 시스템에 적용되어 실행될 수 있다. 따라서, 본 명세서에서 설명된 바람직한 실시예는 단지 예시이고 어떠한 방식으로든 제한되는 것으로 고려되어서는 아니된다. 본 발명의 범위는 이전 설명에 의하기 보다는 첨부 특허청구범위에 의해 주어진다.

Claims (54)

  1. 메모리(410, 420); 및
    인증된 메모리 내용에 대해 해시 계산을 실행하여 유효 해시값을 생성하는 수단, 하드웨어-기반 시간의 만기에 따라 상기 해시값을 주기적으로 도출하는 수단, 상기 메모리(410, 420)의 내용에 대해 해시 계산을 실행하여 감사 해시값(audit hash value)을 도출하는 수단, 및 상기 감사 해시값과 상기 유효 해시값을 비교하는 수단을 포함하는 마이크로프로세서(402)
    를 포함하며,
    상기 계산 및 비교는 탬퍼링(tampering)으로부터 안전한 전자 장치.
  2. 제1항에 있어서,
    상기 마이크로프로세서(402)는 상기 감사 해시값을 주기적으로 도출하고 상기 감사 해시값과 상기 유효 해시값을 비교하는 수단을 포함하는 전자 장치.
  3. 삭제
  4. 제1항에 있어서,
    상기 메모리는 플래쉬 메모리(420) 및 EEPROM(410)을 포함하는 전자 장치.
  5. 제1항에 있어서,
    상기 마이크로프로세서(402)와 함께 상기 해시 계산을 실행하는 보호된 랜덤 액세스 메모리(407)를 더 포함하는 전자 장치.
  6. 제4항에 있어서,
    상기 마이크로프로세서는 상기 플래쉬 메모리(420) 및 상기 EEPROM(410)의 선택된 내용에 기초하여 상기 감사 해시값을 도출하는 수단을 포함하는 전자 장치.
  7. 제6항에 있어서,
    상기 선택된 내용은 전자 일련 번호를 포함하는 전자 장치.
  8. 제6항에 있어서,
    상기 선택된 내용은 마이프로프로세서 프로그램 코드를 포함하는 전자 장치.
  9. 제1항에 있어서,
    상기 마이크로프로세서(402)는 상기 메모리(410, 420)내에 저장된 공개 키를 사용하여 상기 유효 해시값을 인증하는 수단을 포함하는 전자 장치.
  10. 제1항에 있어서,
    상기 마이크로프로세서(402)는 개인 키를 사용하여 주어진 디지털 서명으로 상기 유효 해시값을 암호화하는 수단을 포함하는 전자 장치.
  11. 제1항에 있어서,
    상기 마이크로프로세서(402)는 Snerfu, H-Hash, MD2, MD4, MD5, SHA(Secure Hash Algorithm) 및 HAVAL를 포함하는 해시 함수군 중의 하나를 사용하여 상기 해시 계산을 실행하는 수단을 포함하는 전자 장치.
  12. 제1항에 있어서,
    상기 마이크로프로세서(402)는 ELGAMAL, RSA, DSA, Fiege-Fiat-Shamir 및 Fiat-Shamir를 포함하는 공개/개인 키 시스템 알고리즘군중의 하나를 사용하여 인증 및 암호화하는 수단을 포함하는 전자 장치.
  13. 제5항에 있어서,
    상기 보호된 랜덤 액세스 메모리에 대한 액세스를 감독하는 보안 로직을 더 포함하는 전자 장치.
  14. 제1항에 있어서,
    상기 전자 장치는 셀룰러 전화인 전자 장치.
  15. 제6항에 있어서,
    상기 플래쉬 메모리의 내용은 상기 전자 장치의 동작 명령어들을 포함하고, 상기 EEPROM의 내용은 유효 해시값을 포함하고, 상기 마이크로프로세서는 인증된 플래쉬 및 EEPROM 내용의 선택된 부분들에 단방향 해시 계산을 실행하여 유효 해시값을 발생하는 수단, 상기 선택된 부분들에 상기 해시 계산을 수행하는 것에 의해 감사 해시값을 주기적으로 발생하는 수단, 및 상기 플래쉬 및 상기 EEPROM 메모리중 적어도 하나가 변경되었는 가를 평가하기 위해 상기 감사 해시값과 상기 인증된 유효 해시값을 비교하는 수단을 포함하는 전자 장치.
  16. 제15항에 있어서,
    상기 마이크로프로세서(402)는 Snerfu, H-Hash, MD2, MD4, MD5, SHA(Secure Hash Algorithm) 및 HAVAL를 포함하는 해시 함수군 중의 하나를 사용하여 단방향 해시 계산을 실행하는 수단을 포함하는 전자 장치.
  17. 제10항에 있어서,
    상기 마이크로프로세서(402)는 상기 전자 장치 외부의 처리 수단을 사용하여 상기 개인 키에 의해 디지털 서명으로 상기 유효 해시값을 암호화하는 수단을 포함하는 전자 장치.
  18. 전자 장치에서 메모리 탬퍼링을 검출하는 방법에 있어서,
    선택된 메모리 내용이 인증된 메모리(410, 420)의 상기 선택된 내용에 대해 해시 계산을 실행하는 것에 의해 발생되는 서명된 유효 해시값을 저장하는 단계;
    상기 메모리(410, 420)의 상기 선택된 내용에 대해 상기 해시 계산을 실행하는 것에 의해 감사 해시값을 발생하는 단계; 및
    상기 감사 해시값과 상기 유효 해시값을 비교하여 상기 감사 해시값과 상기 유효 해시값 사이의 차가 상기 선택된 메모리 내용의 변경을 나타내도록 하는 단계
    를 포함하며,
    상기 저장 단계, 발생 단계, 및 비교 단계는 탬퍼링으로부터 안전한 방법.
  19. 제18항에 있어서,
    상기 감사 해시값을 발생하는 단계는 보호된 랜덤 액세스 메모리(protected random access memory)(407)와 함께 실행되는 방법.
  20. 제18항에 있어서,
    개인 키에 기초하여 디지털 서명으로 상기 유효 해시값을 서명하는 단계를 더 포함하는 방법.
  21. 제18항에 있어서,
    상기 감사 해시값을 발생하고 상기 감사 및 유효 해시값을 비교하는 단계들은 주기적으로 실행되는 방법.
  22. 제14항에 있어서,
    상기 감사 해시값을 발생하는 단계는 하드웨어-기반 타이머의 만료에 따라 실행되는 방법.
  23. 제14항에 있어서,
    상기 감사 해시값을 발생하는 단계는 감사 해시값 세그먼트들을 계산하는 것을 수반하는 방법.
  24. 제23항에 있어서,
    상기 감사 해시값 세그먼트의 계산은 상기 전자 장치내에서 발생하는 다른 처리가 완료되는 동안 필요에 따라 지연될 수 있는 방법.
  25. 제18항에 있어서,
    상기 유효 해시값에는 디지털 서명이 주어지고, 상기 감사 해시값과 상기 유효 해시값을 비교하는 단계는 상기 서명에 대하여 상기 유효 해시값을 인증하는 단계를 포함하는 방법.
  26. 제18항에 있어서,
    상기 전자 장치는 셀룰러 전화인 방법.
  27. 메모리 프로그래밍 능력을 갖는 전자 장치에 대한 허가안된 액세스를 방지하는 시스템에 있어서,
    데이터 전송 장치(750)로부터 수신된 액세스 요구 메시지에 응답하여 챌린지-응답(challenge-response) 인증 처리를 개시하는 마이크로프로세서(402)를 포함하며,
    상기 데이터 전송 장치(750)는 개인 암호화 키를 사용하여 챌린지 메시지를 서명하는 수단, 및 상기 서명된 챌린지 메시지를 상기 전자 장치로 송신하는 수단을 포함하고,
    상기 전자 장치는 상기 개인 암호화 키에 대응하는 공개 키를 사용하여 상기 서명된 챌린지 메시지를 인증하는 수단, 및 상기 챌린지 메시지가 상기 인증에 의해 복구되지 않으면, 상기 데이터 전송 장치(750)를 거부하는 수단을 더 포함하는 시스템.
  28. 제27항에 있어서,
    상기 전자 장치는 셀룰러 전화인 시스템.
  29. 제28항에 있어서,
    제1 및 제2 포트를 갖는 범용 컴퓨터를 더 포함하며,
    상기 데이터 전송 장치(750)는 상기 제1 포트에 부착하기 위한 수단을 포함하고, 상기 셀룰러 전화는 상기 제2 포트에 부착하기 위한 수단을 포함하고, 상기 셀룰러 전화는 상기 데이터 전송 장치로부터 수신된 상기 셀룰러 전화를 프로그램하라는 요구에 응답하여 챌린지를 리턴하는 수단을 포함하고, 상기 챌린지는 상기 데이터 전송 장치에 의해 서명되고 인증을 위해 상기 셀룰러 전화로 리턴되어, 상기 서명된 챌린지의 인증을 통한 상기 챌린지의 복구가 데이터 전송 장치 인증을 나타내어 상기 셀룰러 전화가 프로그래밍 모드로 진입하게 되는 시스템.
  30. 메모리 프로그래밍 능력을 갖는 전자 장치에 대한 허가안된 액세스를 방지하는 방법에 있어서,
    데이터 전송 장치로부터의 액세스 요구 메시지에 응답하여 챌린지 메시지를 송신하는 단계;
    개인 암호화 키를 사용하여 상기 데이터 전송 장치(750)에서 상기 챌린지 메시지를 서명하는 단계;
    상기 전자 장치로 상기 서명된 챌린지 메시지를 송신하는 단계;
    상기 개인 암호화 키에 대응하는 공개 키를 사용하여 상기 전자 장치(750)내에서 상기 서명된 챌린지 메시지를 인증하는 단계; 및
    상기 챌린지 메시지가 상기 인증 단계에 의해 복구되지 않으면, 상기 데이터 전송 장치(750)를 거부하는 단계
    를 포함하는 방법.
  31. 제30항에 있어서,
    상기 전자 장치는 셀룰러 전화인 방법.
  32. 제30항에 있어서,
    상기 서명된 챌린지 메시지는 상기 챌린지 메시지의 부분들에 의존하는 챌린지 응답 메시지이고, 상기 방법은 상기 서명된 챌린지 응답 메시지가 상기 데이터 전송 장치의 인증을 확인하면 인증의 프로그래밍 모드로 진입하는 단계를 더 포함하는 방법.
  33. 프로그래밍 능력을 갖는 전자 장치에 있어서,
    상기 전자 장치에 대한 허가안된 액세스를 방지하는 마이크로프로세서(402)를 포함하며,
    상기 전자 장치는 데이터 전송 장치(750)로부터의, 상기 전자 장치를 액세스하려는 요구에 응답하여 상기 데이터 전송 장치에게 챌린지 메시지를 발생하는 수단을 포함하고,
    상기 데이터 전송 장치는 개인 암호화 키를 사용하여 상기 챌린지 메시지를 서명하는 수단, 및 상기 전자 장치로 상기 서명된 챌린지 메시지를 송신하는 수단을 포함하고,
    상기 전자 장치는 상기 개인 암호화 키에 대응하는 공개 키를 사용하여 상기 서명된 챌린지 메시지를 인증하는 수단, 및 상기 챌린지 메시지가 상기 인증에 의해 복구되지 않으면 상기 데이터 전송 장치(750)를 거부하는 수단을 더 포함하는 전자 장치.
  34. 제33항에 있어서,
    상기 전자 장치는 셀룰러 전화이고, 상기 데이터 전송 장치는 프로그래머인 전자 장치.
  35. 메모리 액세스를 방지하는 시스템에 있어서,
    마이크로프로세서(402);
    명령어 코드를 포함하는 판독 전용 메모리(403);
    보호된 랜덤 액세스 메모리(407); 및
    상기 보호된 랜덤 액세스 메모리(407)에 대한 액세스 시도들을 검출하고, 상기 판독 전용 메모리(403)에 의한 액세스를 허용하고, 그렇지 않으면 상기 마이크로프로세서(402)를 정지 상태로 하고 그러한 액세스를 방지하는 보안 로직(1124)
    을 포함하는 시스템.
  36. 제35항에 있어서,
    하드웨어-기반 타이머(401)를 더 포함하며,
    상기 보안 로직(1124)은 상기 판독 전용 메모리(403)에 의한 액세스를 허용하고, 그렇지 않으면 상기 하드웨어-기반 타이머(401)에 대한 액세스를 금지하는 수단을 포함하는 시스템.
  37. 제35항에 있어서,
    상기 판독 전용 메모리(403)내의 명령어 코드에 따른 상기 보호된 랜덤 액세스 메모리(407)에 대한 액세스는 상기 시스템이 감독 모드(supervisory mode)일 때만 발생할 수 있는 시스템.
  38. 제35항에 있어서,
    상기 시스템은 셀룰러 전화에서 메모리 액세스를 금지하는 시스템.
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
  53. 삭제
  54. 삭제
KR10-1999-7001850A 1996-09-05 1997-09-05 전자 메모리 탬퍼링을 방지하는 시스템 Expired - Lifetime KR100492840B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US8/706,574 1996-09-05
US08/706,574 US6026293A (en) 1996-09-05 1996-09-05 System for preventing electronic memory tampering
US08/706,574 1996-09-05

Publications (2)

Publication Number Publication Date
KR20000068467A KR20000068467A (ko) 2000-11-25
KR100492840B1 true KR100492840B1 (ko) 2005-06-07

Family

ID=24838185

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-1999-7001850A Expired - Lifetime KR100492840B1 (ko) 1996-09-05 1997-09-05 전자 메모리 탬퍼링을 방지하는 시스템

Country Status (12)

Country Link
US (1) US6026293A (ko)
EP (1) EP0923842B1 (ko)
JP (5) JP4050322B2 (ko)
KR (1) KR100492840B1 (ko)
CN (2) CN1126398C (ko)
AU (1) AU734212B2 (ko)
BR (1) BRPI9712007B1 (ko)
DE (1) DE69736065T2 (ko)
EE (1) EE9900084A (ko)
ES (1) ES2262189T3 (ko)
PL (1) PL332050A1 (ko)
WO (1) WO1998010611A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10216932B2 (en) 2015-10-19 2019-02-26 Samsung Electronics Co., Ltd. Nonvolatile memory devices and solid state drives including the same

Families Citing this family (191)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7747243B2 (en) * 1992-03-24 2010-06-29 Boatwright John T Call security system
US6748209B2 (en) * 1995-10-30 2004-06-08 At&T Wireless Services, Inc. Method and apparatus for storing activation data in a cellular telephone
US5974311A (en) 1995-10-30 1999-10-26 At&T Wireless Services Inc. Method and apparatus for storing activation data in a cellular telephone
US6097939A (en) * 1997-07-11 2000-08-01 Compaq Computer Corporation Method and apparatus for event data maintenance per MIN/ESN pair in a mobile telephone system
GB2328843B (en) * 1997-08-29 2002-08-14 Nokia Mobile Phones Ltd A system for remotely accessing data stored in a radiotelephone
US6230002B1 (en) * 1997-11-19 2001-05-08 Telefonaktiebolaget L M Ericsson (Publ) Method, and associated apparatus, for selectively permitting access by a mobile terminal to a packet data network
US6182162B1 (en) * 1998-03-02 2001-01-30 Lexar Media, Inc. Externally coupled compact flash memory card that configures itself one of a plurality of appropriate operating protocol modes of a host computer
WO1999045460A2 (en) 1998-03-02 1999-09-10 Lexar Media, Inc. Flash memory card with enhanced operating mode detection and user-friendly interfacing system
US6223290B1 (en) * 1998-05-07 2001-04-24 Intel Corporation Method and apparatus for preventing the fraudulent use of a cellular telephone
US6263445B1 (en) * 1998-06-30 2001-07-17 Emc Corporation Method and apparatus for authenticating connections to a storage system coupled to a network
US7756986B2 (en) * 1998-06-30 2010-07-13 Emc Corporation Method and apparatus for providing data management for a storage system coupled to a network
US6665530B1 (en) * 1998-07-31 2003-12-16 Qualcomm Incorporated System and method for preventing replay attacks in wireless communication
US7110984B1 (en) * 1998-08-13 2006-09-19 International Business Machines Corporation Updating usage conditions in lieu of download digital rights management protected content
AU6042899A (en) * 1998-09-18 2000-04-10 Qualcomm Incorporated Method and apparatus for authenticating embedded software in a remote unit over a communications channel
US6460138B1 (en) * 1998-10-05 2002-10-01 Flashpoint Technology, Inc. User authentication for portable electronic devices using asymmetrical cryptography
US6829712B1 (en) * 1998-10-27 2004-12-07 Sprint Communications Company L.P. Object-based security system
US6901457B1 (en) 1998-11-04 2005-05-31 Sandisk Corporation Multiple mode communications system
US6363396B1 (en) * 1998-12-21 2002-03-26 Oracle Corporation Object hashing with incremental changes
JP3219064B2 (ja) * 1998-12-28 2001-10-15 インターナショナル・ビジネス・マシーンズ・コーポレーション デジタルデータ認証システム
US6802006B1 (en) * 1999-01-15 2004-10-05 Macrovision Corporation System and method of verifying the authenticity of dynamically connectable executable images
KR20010101824A (ko) * 1999-02-09 2001-11-14 밀러 럿셀 비 특정 전화번호부 엔트리
US6370380B1 (en) * 1999-02-17 2002-04-09 Telefonaktiebolaget Lm Ericsson (Publ) Method for secure handover
DE19911221B4 (de) * 1999-03-12 2005-10-27 T-Mobile Deutschland Gmbh Verfahren zur Verteilung von Schlüsseln an Teilnehmer von Kommunikationsnetzen
US7103574B1 (en) * 1999-03-27 2006-09-05 Microsoft Corporation Enforcement architecture and method for digital rights management
FI991134A7 (fi) * 1999-05-18 2000-11-19 Smarttrust Systems Oy Ohjelmiston testaus
US6669385B1 (en) * 1999-05-25 2003-12-30 Silverbrook Research Pty Ltd Printer having a document transfer device
EP1063589A1 (en) * 1999-06-25 2000-12-27 TELEFONAKTIEBOLAGET L M ERICSSON (publ) Device for processing data and corresponding method
US7650504B2 (en) * 1999-07-22 2010-01-19 Macrovision Corporation System and method of verifying the authenticity of dynamically connectable executable images
US7343351B1 (en) 1999-08-31 2008-03-11 American Express Travel Related Services Company, Inc. Methods and apparatus for conducting electronic transactions
US6708049B1 (en) 1999-09-28 2004-03-16 Nellcor Puritan Bennett Incorporated Sensor with signature of data relating to sensor
US6587680B1 (en) * 1999-11-23 2003-07-01 Nokia Corporation Transfer of security association during a mobile terminal handover
IL133584A (en) * 1999-12-19 2010-02-17 Enco Tone Ltd Method for the acoustic encodification of dynamic identification codes
US6973570B1 (en) * 1999-12-31 2005-12-06 Western Digital Ventures, Inc. Integrated circuit comprising encryption circuitry selectively enabled by verifying a device
MXPA02006775A (es) * 2000-01-24 2003-01-28 Micro Motion Inc Sistema que previene la manipulacion indebida de un acondicionador de senales remoto de un sistema anfitrion.
US6529906B1 (en) 2000-01-28 2003-03-04 Oracle Corporation Techniques for DLM optimization with re-mastering events
US7246120B2 (en) 2000-01-28 2007-07-17 Oracle International Corporation Techniques for achieving higher availability of resources during reconfiguration of a cluster
US6751616B1 (en) 2000-01-28 2004-06-15 Oracle International Corp. Techniques for DLM optimization with re-mapping responsibility for lock management
US6920454B1 (en) 2000-01-28 2005-07-19 Oracle International Corporation Techniques for DLM optimization with transferring lock information
US7751600B2 (en) * 2000-04-18 2010-07-06 Semiconductor Energy Laboratory Co., Ltd. System and method for identifying an individual
EP1150453B1 (en) * 2000-04-26 2006-02-15 Semiconductor Energy Laboratory Co., Ltd. A communication system and method for identifying an individual by means of biological information
CA2802121A1 (en) 2000-05-23 2001-11-29 M2M Solutions Llc Programmable communicator
US6681304B1 (en) * 2000-06-30 2004-01-20 Intel Corporation Method and device for providing hidden storage in non-volatile memory
US6721843B1 (en) 2000-07-07 2004-04-13 Lexar Media, Inc. Flash memory architecture implementing simultaneously programmable multiple flash memory banks that are host compatible
JP3639194B2 (ja) * 2000-07-27 2005-04-20 富士通株式会社 機種変更装置および機種変更方法ならびに機種変更プログラムを記録した記録媒体
FR2812510B1 (fr) * 2000-07-28 2004-03-19 Sagem Procede d'exploitation d'un terminal de telephonie cellulaire et terminal pour la mise en oeuvre du procede
US7155559B1 (en) 2000-08-25 2006-12-26 Lexar Media, Inc. Flash memory architecture with separate storage of overhead and user data
US6618584B1 (en) * 2000-08-30 2003-09-09 Telefonaktiebolaget Lm Ericsson (Publ) Terminal authentication procedure timing for data calls
US6772274B1 (en) 2000-09-13 2004-08-03 Lexar Media, Inc. Flash memory system and method implementing LBA to PBA correlation within flash memory array
US7043636B2 (en) * 2000-09-26 2006-05-09 Telefonaktiebolaget Lm Ericsson (Publ) Data integrity mechanisms for static and dynamic data
US20030159047A1 (en) * 2000-09-26 2003-08-21 Telefonaktiebolaget L M Ericsson (Publ) Method of securing and exposing a logotype in an electronic device
US7058806B2 (en) * 2000-10-17 2006-06-06 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for secure leveled access control
GB2369205B (en) * 2000-11-17 2005-02-02 Personal Data Prot System Ltd Personal data device and protection system and method for storing and protecting personal data
US7260636B2 (en) 2000-12-22 2007-08-21 Emc Corporation Method and apparatus for preventing unauthorized access by a network device
US7668315B2 (en) * 2001-01-05 2010-02-23 Qualcomm Incorporated Local authentication of mobile subscribers outside their home systems
US7036023B2 (en) * 2001-01-19 2006-04-25 Microsoft Corporation Systems and methods for detecting tampering of a computer system by calculating a boot signature
AU2001237019A1 (en) * 2001-02-13 2002-08-28 Qualcomm Incorporated Method and apparatus for authenticating embedded software in a remote unit over a communications channel
US7188243B2 (en) * 2001-02-16 2007-03-06 Microsoft Corporation System and method for over the air configuration security
US7047405B2 (en) * 2001-04-05 2006-05-16 Qualcomm, Inc. Method and apparatus for providing secure processing and data storage for a wireless communication device
CA2441010A1 (en) * 2001-03-16 2002-09-26 Qualcomm Incorporated Method and apparatus for providing secure processing and data storage for a wireless communication device
US6804752B2 (en) * 2001-04-02 2004-10-12 Delphi Technologies, Inc. Event data protection method for a flash programmable microprocessor-based control module
US20020147918A1 (en) * 2001-04-05 2002-10-10 Osthoff Harro R. System and method for securing information in memory
US7099663B2 (en) 2001-05-31 2006-08-29 Qualcomm Inc. Safe application distribution and execution in a wireless environment
FI114416B (fi) * 2001-06-15 2004-10-15 Nokia Corp Menetelmä elektroniikkalaitteen varmistamiseksi, varmistusjärjestelmä ja elektroniikkalaite
FI115356B (fi) * 2001-06-29 2005-04-15 Nokia Corp Menetelmä audiovisuaalisen informaation käsittelemiseksi elektroniikkalaitteessa, järjestelmä ja elektroniikkalaite
KR20030002376A (ko) * 2001-06-29 2003-01-09 세이프다임 주식회사 공개키 기반 인증을 위한 키관리 시스템
DE10131575A1 (de) * 2001-07-02 2003-01-16 Bosch Gmbh Robert Verfahren zum Schutz eines Mikrorechner-Systems gegen Manipulation von in einer Speicheranordnung des Mikrorechner-Systems gespeicherten Daten
US7383432B1 (en) * 2001-07-09 2008-06-03 Advanced Micro Devices, Inc. Software modem with hidden authentication commands
KR100813944B1 (ko) * 2001-07-11 2008-03-14 삼성전자주식회사 디지털 권리 운영을 수행하기 위하여 휴대용 기기와컴퓨터 사이의 통신을 제어하는 방법
FI115257B (fi) * 2001-08-07 2005-03-31 Nokia Corp Menetelmä informaation käsittelemiseksi elektroniikkalaitteessa, järjestelmä, elektroniikkalaite ja suoritinlohko
KR100401135B1 (ko) * 2001-09-13 2003-10-10 주식회사 한국전산개발 데이터 보안 시스템
US20030059049A1 (en) * 2001-09-24 2003-03-27 Mihm Thomas J. Method and apparatus for secure mobile transaction
US20030061488A1 (en) * 2001-09-25 2003-03-27 Michael Huebler Cloning protection for electronic equipment
US7404202B2 (en) * 2001-11-21 2008-07-22 Line 6, Inc. System, device, and method for providing secure electronic commerce transactions
US7277011B2 (en) * 2002-02-22 2007-10-02 Micron Technology, Inc. Removable memory media with integral indicator light
US20030182561A1 (en) * 2002-03-25 2003-09-25 International Business Machines Corporation Tamper detection mechanism for a personal computer and a method of use thereof
US7840803B2 (en) * 2002-04-16 2010-11-23 Massachusetts Institute Of Technology Authentication of integrated circuits
US7338443B1 (en) 2002-04-29 2008-03-04 Tucker Peter L Secure patient data recorder for recording monitored vital sign data
US7054613B2 (en) * 2002-05-03 2006-05-30 Telefonaktiebolaget Lm Ericsson (Publ) SIM card to mobile device interface protection method and system
GB0211644D0 (en) 2002-05-21 2002-07-03 Wesby Philip B System and method for remote asset management
US11337047B1 (en) 2002-05-21 2022-05-17 M2M Solutions Llc System and method for remote asset management
GB0212318D0 (en) * 2002-05-28 2002-07-10 Symbian Ltd Tamper evident removable media storing executable code
US20030226040A1 (en) * 2002-06-03 2003-12-04 International Business Machines Corporation Controlling access to data stored on a storage device of a trusted computing platform system
US20040003265A1 (en) * 2002-06-26 2004-01-01 International Business Machines Corporation Secure method for BIOS flash data update
JP4576100B2 (ja) * 2002-07-30 2010-11-04 富士通株式会社 情報再生装置、セキュアモジュールおよび情報再生方法
EP1795993B1 (en) * 2002-07-30 2018-02-28 Fujitsu Limited Method and apparatus for reproducing information using a security module
US7320642B2 (en) * 2002-09-06 2008-01-22 Wms Gaming Inc. Security of gaming software
AU2003277850A1 (en) * 2002-09-16 2004-04-30 Telefonaktiebolaget Lm Ericsson (Publ) Loading data onto an electronic device
US20040078536A1 (en) * 2002-10-22 2004-04-22 Tai-Ming Chen Authentication mechanism integrated with random access memory and method of use
DE60224590T2 (de) * 2002-11-08 2009-01-15 Nokia Corp. Software-integritätstest bei einem mobiltelefon
US7370212B2 (en) 2003-02-25 2008-05-06 Microsoft Corporation Issuing a publisher use license off-line in a digital rights management (DRM) system
DE10311249A1 (de) * 2003-03-14 2004-09-23 Robert Bosch Gmbh Mikroprozessorsystem und Verfahren zum Erfassen des Austauschs von Bausteinen des Systems
KR100568228B1 (ko) * 2003-05-20 2006-04-07 삼성전자주식회사 고유번호를 이용한 프로그램 탬퍼 방지 방법과 난독처리된 프로그램 업그레이드 방법, 상기 방법을 위한 장치
CA2533302C (en) * 2003-07-25 2015-06-30 Futurelogic, Inc. Method and apparatus for changing firmware in a gaming printer
US7100205B2 (en) * 2003-10-22 2006-08-29 The United States Of America As Represented By The Secretary Of The Navy Secure attention instruction central processing unit and system architecture
US7379952B2 (en) * 2004-01-30 2008-05-27 Oracle International Corporation Techniques for multiple window resource remastering among nodes of a cluster
US7882361B2 (en) * 2004-02-05 2011-02-01 Oracle America, Inc. Method and system for accepting a pass code
US7401234B2 (en) * 2004-03-01 2008-07-15 Freescale Semiconductor, Inc. Autonomous memory checker for runtime security assurance and method therefore
KR100575767B1 (ko) 2004-03-05 2006-05-03 엘지전자 주식회사 이동 통신 단말기의 장치번호 저장 방법
US8548429B2 (en) 2004-03-08 2013-10-01 Rafi Nehushtan Cellular device security apparatus and method
US20060242406A1 (en) * 2005-04-22 2006-10-26 Microsoft Corporation Protected computing environment
US7331063B2 (en) * 2004-04-30 2008-02-12 Microsoft Corporation Method and system for limiting software updates
US7644239B2 (en) 2004-05-03 2010-01-05 Microsoft Corporation Non-volatile memory cache performance improvement
US7584366B2 (en) * 2004-07-08 2009-09-01 At&T Intellectual Property I, L.P. Methods, systems and computer program products for detecting tampering of electronic equipment based on constrained time to obtain computational result
GB2416956B (en) * 2004-07-29 2007-09-19 Nec Technologies Method of testing integrity of a mobile radio communications device and related apparatus
US20060035631A1 (en) * 2004-08-13 2006-02-16 Christopher White Wireless device service activation from the wireless device
US7822993B2 (en) * 2004-08-27 2010-10-26 Microsoft Corporation System and method for using address bits to affect encryption
US7734926B2 (en) * 2004-08-27 2010-06-08 Microsoft Corporation System and method for applying security to memory reads and writes
US7444523B2 (en) 2004-08-27 2008-10-28 Microsoft Corporation System and method for using address bits to signal security attributes of data in the address space
US7653802B2 (en) * 2004-08-27 2010-01-26 Microsoft Corporation System and method for using address lines to control memory usage
US7356668B2 (en) * 2004-08-27 2008-04-08 Microsoft Corporation System and method for using address bits to form an index into secure memory
DE102004043211A1 (de) * 2004-09-03 2006-03-09 Biotronik Crm Patent Ag Vorrichtung und Verfahren zum Betreiben eines mobilen Kommunikationsgerätes
JP2006072935A (ja) * 2004-09-06 2006-03-16 Fujitsu Ltd 半導体装置及びデータ書き込み制御方法
RU2408071C2 (ru) * 2004-10-11 2010-12-27 Телефонактиеболагет Лм Эрикссон (Пабл) Защищенные загрузка и хранение данных в устройстве обработки данных
US8627086B2 (en) * 2004-10-11 2014-01-07 Telefonaktiebolaget Lm Ericsson (Publ) Secure loading and storing of data in a data processing device
US8347078B2 (en) 2004-10-18 2013-01-01 Microsoft Corporation Device certificate individualization
US7490197B2 (en) 2004-10-21 2009-02-10 Microsoft Corporation Using external memory devices to improve system performance
US20060089917A1 (en) * 2004-10-22 2006-04-27 Microsoft Corporation License synchronization
WO2006071380A2 (en) * 2004-11-12 2006-07-06 Pufco, Inc. Securely field configurable device
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
US8464348B2 (en) * 2004-11-15 2013-06-11 Microsoft Corporation Isolated computing environment anchored into CPU and motherboard
KR100654446B1 (ko) 2004-12-09 2006-12-06 삼성전자주식회사 보안 부팅 장치 및 방법
US20060200469A1 (en) * 2005-03-02 2006-09-07 Lakshminarayanan Chidambaran Global session identifiers in a multi-node system
US7822995B2 (en) * 2005-03-03 2010-10-26 Seagate Technology Llc Apparatus and method for protecting diagnostic ports of secure devices
US8438645B2 (en) 2005-04-27 2013-05-07 Microsoft Corporation Secure clock with grace periods
US7209990B2 (en) * 2005-04-05 2007-04-24 Oracle International Corporation Maintain fairness of resource allocation in a multi-node environment
US8725646B2 (en) * 2005-04-15 2014-05-13 Microsoft Corporation Output protection levels
US9363481B2 (en) 2005-04-22 2016-06-07 Microsoft Technology Licensing, Llc Protected media pipeline
US9436804B2 (en) * 2005-04-22 2016-09-06 Microsoft Technology Licensing, Llc Establishing a unique session key using a hardware functionality scan
EP1877947A4 (en) * 2005-05-05 2009-11-25 Certicom Corp AUTHENTICATION OF RETROINSTALLATION ON A MICROLOGICIEL
US20060265758A1 (en) * 2005-05-20 2006-11-23 Microsoft Corporation Extensible media rights
KR20080013940A (ko) * 2005-06-01 2008-02-13 마츠시타 덴끼 산교 가부시키가이샤 전자기기, 갱신 서버장치, 키 갱신장치
US8353046B2 (en) * 2005-06-08 2013-01-08 Microsoft Corporation System and method for delivery of a modular operating system
US7363564B2 (en) * 2005-07-15 2008-04-22 Seagate Technology Llc Method and apparatus for securing communications ports in an electronic device
JP4568196B2 (ja) * 2005-09-01 2010-10-27 株式会社東芝 プロセッサ、コンピュータシステムおよび認証方法
US20070050622A1 (en) * 2005-09-01 2007-03-01 Rager Kent D Method, system and apparatus for prevention of flash IC replacement hacking attack
KR100740658B1 (ko) * 2005-10-20 2007-07-19 프롬투정보통신(주) 다형성 및 탬퍼방지 지원 암호처리방법 및 암호모듈
US8914557B2 (en) 2005-12-16 2014-12-16 Microsoft Corporation Optimizing write and wear performance for a memory
CN100437502C (zh) * 2005-12-30 2008-11-26 联想(北京)有限公司 基于安全芯片的防病毒方法
JP5248328B2 (ja) 2006-01-24 2013-07-31 ヴェラヨ インク 信号発生器をベースとした装置セキュリティ
CN101432749B (zh) 2006-03-22 2012-11-28 英国电讯有限公司 通信设备监测
US7957532B2 (en) * 2006-06-23 2011-06-07 Microsoft Corporation Data protection for a mobile device
WO2007148768A1 (en) * 2006-06-23 2007-12-27 Semiconductor Energy Laboratory Co., Ltd. Personal data management system and nonvolatile memory card
KR100800073B1 (ko) * 2006-07-10 2008-01-31 엘지전자 주식회사 이동통신 단말기 및 그 공개키 갱신방법
EP2053533A4 (en) 2006-11-09 2011-03-23 Panasonic Corp FAKE DETECTION SYSTEM, FAKE DETECTION METHOD, FAKE IDENTIFICATION PROGRAM, RECORDING MEDIUM, INTEGRATED CIRCUIT, DEVICE FOR GENERATING AUTHENTICATION INFORMATION AND FAKE DETECTION DEVICE
US8356178B2 (en) * 2006-11-13 2013-01-15 Seagate Technology Llc Method and apparatus for authenticated data storage
DE102007007481A1 (de) * 2007-02-15 2008-08-21 Giesecke & Devrient Gmbh Verfahren zur Analyse einer Softwarekonfiguration eines tragbaren Datenträgers
JP4938011B2 (ja) * 2007-04-10 2012-05-23 株式会社日立ソリューションズ ファイル管理システム及び方法、並びに、携帯端末装置
CN101542496B (zh) * 2007-09-19 2012-09-05 美国威诚股份有限公司 利用物理不可克隆功能的身份验证
KR20090037712A (ko) * 2007-10-12 2009-04-16 삼성전자주식회사 보안 부트-업되는 전자 장치, 그것의 해쉬값 계산 방법 및부트-업 방법
US8468366B2 (en) * 2008-03-24 2013-06-18 Qualcomm Incorporated Method for securely storing a programmable identifier in a communication station
US9141776B2 (en) 2008-04-30 2015-09-22 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for secure hardware analysis
US9032151B2 (en) 2008-09-15 2015-05-12 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
US7953774B2 (en) 2008-09-19 2011-05-31 Microsoft Corporation Aggregation of write traffic to a data store
TWI498827B (zh) * 2008-11-21 2015-09-01 Verayo Inc 非連網射頻辨識裝置物理不可複製功能之鑑認技術
US8401521B2 (en) * 2008-11-25 2013-03-19 Broadcom Corporation Enabling remote and anonymous control of mobile and portable multimedia devices for security, tracking and recovery
JP5208797B2 (ja) * 2009-02-12 2013-06-12 中国電力株式会社 整数の暗号化及び復号化方法
JP5208796B2 (ja) * 2009-02-12 2013-06-12 中国電力株式会社 整数の暗号化及び復号化方法
US8839458B2 (en) * 2009-05-12 2014-09-16 Nokia Corporation Method, apparatus, and computer program for providing application security
US8811615B2 (en) * 2009-08-05 2014-08-19 Verayo, Inc. Index-based coding with a pseudo-random source
US8468186B2 (en) * 2009-08-05 2013-06-18 Verayo, Inc. Combination of values from a pseudo-random source
CN101673250B (zh) * 2009-09-18 2012-02-08 中兴通讯股份有限公司 一种手机存储器中代码/数据的保护方法及装置
DE102010002472A1 (de) * 2010-03-01 2011-09-01 Robert Bosch Gmbh Verfahren zum Verifizieren eines Speicherblocks eines nicht-flüchtigen Speichers
US8484451B2 (en) * 2010-03-11 2013-07-09 St-Ericsson Sa Method and apparatus for software boot revocation
US9641606B2 (en) 2010-06-22 2017-05-02 Blackberry Limited Peer to peer secure synchronization between handheld devices
CA2745975C (en) 2010-07-09 2016-02-23 Research In Motion Limited Utilization of a microcode interpreter built in to a processor
EP2591437B1 (en) 2010-07-09 2018-11-14 BlackBerry Limited Microcode-based challenge/response process
TWI496161B (zh) * 2010-08-06 2015-08-11 Phison Electronics Corp 記憶體識別碼產生方法、管理方法、控制器與儲存系統
CN102375943B (zh) * 2010-08-16 2015-06-10 群联电子股份有限公司 识别码产生方法与存储器管理方法、控制器及储存系统
JP2012058991A (ja) * 2010-09-08 2012-03-22 Fujitsu Toshiba Mobile Communications Ltd 情報処理装置
CN102073824B (zh) * 2011-01-12 2014-06-04 深圳昂楷科技有限公司 一种加密文档唯一标识的生成和更新的方法
US8630411B2 (en) 2011-02-17 2014-01-14 Infineon Technologies Ag Systems and methods for device and data authentication
US8938621B2 (en) * 2011-11-18 2015-01-20 Qualcomm Incorporated Computing device integrity protection
KR101368949B1 (ko) * 2012-07-20 2014-03-03 주식회사 안랩 공격코드 실행 사전 차단 방법 및 공격코드 실행 사전 차단 장치
US20140043059A1 (en) * 2012-08-10 2014-02-13 Microsemi Soc Corp. Secure digest for pld configuration data
CN102880838A (zh) * 2012-09-04 2013-01-16 深圳市芯海科技有限公司 电子设备的检测方法及装置
US10032029B2 (en) * 2014-07-14 2018-07-24 Lenovo (Singapore) Pte. Ltd. Verifying integrity of backup file in a multiple operating system environment
US10007811B2 (en) * 2015-02-25 2018-06-26 Private Machines Inc. Anti-tamper system
CN104866779B (zh) * 2015-04-07 2018-05-11 福建师范大学 一种控制电子文件生命周期及安全删除的方法及系统
EP3299986A4 (en) 2015-05-20 2018-05-16 Fujitsu Limited Program verification method, verification program, and information processing device
KR102466412B1 (ko) * 2016-01-14 2022-11-15 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
CN109415032B (zh) * 2016-07-04 2021-08-03 索尤若驱动有限及两合公司 安全设备以及用于运行系统的方法
DE102017111939A1 (de) * 2017-05-31 2018-12-06 Krohne Messtechnik Gmbh Verfahren zur sicheren Kommunikation mit einem Feldgerät der Prozessmesstechnik und ein entsprechendes Feldmessgerät der Prozessmesstechnik
US10467439B2 (en) * 2017-07-05 2019-11-05 Dell Products, L.P. Detecting tampering of memory contents in an information handling system
US11074324B2 (en) 2018-09-05 2021-07-27 International Business Machines Corporation Preventing software application tampering
US11163912B2 (en) * 2019-03-25 2021-11-02 Micron Technology, Inc. Data attestation in memory
US11436315B2 (en) * 2019-08-15 2022-09-06 Nuvoton Technology Corporation Forced self authentication
CN111008389B (zh) * 2019-12-05 2020-10-20 成都星时代宇航科技有限公司 基于卫星中文件系统的数据处理方法及装置
US11520940B2 (en) 2020-06-21 2022-12-06 Nuvoton Technology Corporation Secured communication by monitoring bus transactions using selectively delayed clock signal
CN114691341B (zh) * 2022-04-18 2025-06-03 北京自如信息科技有限公司 一种基于CocoaPods的打包任务处理方法、装置和电子设备
CN115378671A (zh) * 2022-08-09 2022-11-22 中国电子信息产业集团有限公司第六研究所 一种工程文件的可信检测系统、方法、设备以及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0653900A (ja) * 1992-07-30 1994-02-25 Nec Corp 携帯電話機の加入者情報設定方式

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4405829A (en) * 1977-12-14 1983-09-20 Massachusetts Institute Of Technology Cryptographic communications system and method
US4748668A (en) * 1986-07-09 1988-05-31 Yeda Research And Development Company Limited Method, apparatus and article for identification and signature
US5224160A (en) * 1987-02-23 1993-06-29 Siemens Nixdorf Informationssysteme Ag Process for securing and for checking the integrity of the secured programs
US4811377A (en) * 1987-07-31 1989-03-07 Motorola, Inc. Secure transfer of radio specific data
US5442645A (en) * 1989-06-06 1995-08-15 Bull Cp8 Method for checking the integrity of a program or data, and apparatus for implementing this method
JPH0388051A (ja) * 1989-08-31 1991-04-12 Nec Corp 主記憶監視方式
DK624489A (da) * 1989-12-11 1991-06-12 Cetelco As Sikkerhedskredsloeb til mobiltelefon samt en fremgangsmaade ved brug af kredsloebet
JPH03237253A (ja) * 1990-02-09 1991-10-23 Nippondenso Co Ltd 自動車用制御装置
JP2830302B2 (ja) * 1990-02-15 1998-12-02 株式会社デンソー 自動車用制御装置
US5390245A (en) * 1990-03-09 1995-02-14 Telefonaktiebolaget L M Ericsson Method of carrying out an authentication check between a base station and a mobile station in a mobile radio system
US5046082A (en) * 1990-05-02 1991-09-03 Gte Mobile Communications Service Corporation Remote accessing system for cellular telephones
US5142579A (en) * 1991-01-29 1992-08-25 Anderson Walter M Public key cryptographic system and method
US5237612A (en) * 1991-03-29 1993-08-17 Ericsson Ge Mobile Communications Inc. Cellular verification and validation system
JPH052535A (ja) * 1991-06-26 1993-01-08 Hitachi Ltd 半導体記憶装置
JPH0553919A (ja) * 1991-08-26 1993-03-05 Fujitsu Ltd メモリ異常アクセス防止方法
US5153919A (en) * 1991-09-13 1992-10-06 At&T Bell Laboratories Service provision authentication protocol
US5204902A (en) * 1991-09-13 1993-04-20 At&T Bell Laboratories Cellular telephony authentication arrangement
CA2097308A1 (en) * 1991-10-01 1993-04-02 Terrie Frane Memory write protection method and apparatus
US5442706A (en) * 1992-02-27 1995-08-15 Hughes Aircraft Company Secure mobile storage
JPH05265866A (ja) * 1992-03-19 1993-10-15 Csk Corp 外部romのセキュリティシステム
JPH05327582A (ja) * 1992-05-19 1993-12-10 Fujitsu Ltd 携帯電話機のプログラムメモリ書き替え方式
JPH0697931A (ja) * 1992-09-14 1994-04-08 Fujitsu Ltd パーソナル通信端末登録制御方式
JPH06223041A (ja) * 1993-01-22 1994-08-12 Fujitsu Ltd 広域環境利用者認証方式
US5551073A (en) * 1993-02-25 1996-08-27 Ericsson Inc. Authentication key entry in cellular radio system
JP3115157B2 (ja) * 1993-06-29 2000-12-04 三菱電機株式会社 ソフトウェア配布サービス方式
US5384847A (en) * 1993-10-01 1995-01-24 Advanced Micro Devices, Inc. Method and apparatus for protecting cordless telephone account authentication information
US5343527A (en) * 1993-10-27 1994-08-30 International Business Machines Corporation Hybrid encryption method and system for protecting reusable software components
JP3052244B2 (ja) * 1993-11-10 2000-06-12 富士通株式会社 移動通信システムにおける移動機の登録方法とicカードの登録方法、及びそれらを実現するための移動機、icカード、及びicカード挿入型移動機
US5606315A (en) * 1994-12-12 1997-02-25 Delco Electronics Corp. Security method for protecting electronically stored data
AU686494B2 (en) * 1995-02-08 1998-02-05 Sega Enterprises, Ltd. Information processor having security check function
US5737701A (en) * 1995-10-03 1998-04-07 At&T Corp. Automatic authentication system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0653900A (ja) * 1992-07-30 1994-02-25 Nec Corp 携帯電話機の加入者情報設定方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10216932B2 (en) 2015-10-19 2019-02-26 Samsung Electronics Co., Ltd. Nonvolatile memory devices and solid state drives including the same

Also Published As

Publication number Publication date
JP4777957B2 (ja) 2011-09-21
EE9900084A (et) 1999-10-15
JP2011170841A (ja) 2011-09-01
JP2011238246A (ja) 2011-11-24
JP4917681B2 (ja) 2012-04-18
ES2262189T3 (es) 2006-11-16
HK1021104A1 (en) 2000-05-26
CN1235743A (zh) 1999-11-17
EP0923842B1 (en) 2006-06-07
EP0923842A2 (en) 1999-06-23
JP4050322B2 (ja) 2008-02-20
BRPI9712007B1 (pt) 2017-06-06
JP2008112443A (ja) 2008-05-15
CN1446015A (zh) 2003-10-01
KR20000068467A (ko) 2000-11-25
US6026293A (en) 2000-02-15
BR9712007A (pt) 1999-08-24
WO1998010611A2 (en) 1998-03-12
DE69736065D1 (de) 2006-07-20
JP2001500293A (ja) 2001-01-09
WO1998010611A3 (en) 1998-07-09
PL332050A1 (en) 1999-08-16
CN1126398C (zh) 2003-10-29
DE69736065T2 (de) 2007-01-04
AU4172297A (en) 1998-03-26
JP2007293847A (ja) 2007-11-08
AU734212B2 (en) 2001-06-07
JP4955818B2 (ja) 2012-06-20

Similar Documents

Publication Publication Date Title
KR100492840B1 (ko) 전자 메모리 탬퍼링을 방지하는 시스템
US7886355B2 (en) Subsidy lock enabled handset device with asymmetric verification unlocking control and method thereof
JP4912879B2 (ja) プロセッサの保護された資源へのアクセスに対するセキュリティ保護方法
EP2078272B1 (en) Protecting secret information in a programmed electronic device
US7506381B2 (en) Method for securing an electronic device, a security system and an electronic device
US7539868B2 (en) Run-time firmware authentication
US8015378B2 (en) Updating memory contents of a processing device
US20080003980A1 (en) Subsidy-controlled handset device via a sim card using asymmetric verification and method thereof
KR20070086323A (ko) 복제된 디바이스를 식별하기 위해 동적 자격 증명을사용하는 시스템 및 방법
KR100849334B1 (ko) 이동 단말의 불법 사용을 방지하기 위한 방법 및 장치
KR100780362B1 (ko) 휴대용 단말기에서 소프트웨어 다운로드 방법 및 장치
JPH11252248A (ja) 無線電話ハンドセット
HK1021104B (en) System for preventing electronic memory tampering
AU5418201A (en) System for preventing electronic memory tampering
HK1059525A (en) System for preventing electronic memory tampering
MXPA99002040A (en) System for preventing electronic memory tampering

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 19990304

Patent event code: PA01051R01D

Comment text: International Patent Application

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20020905

Comment text: Request for Examination of Application

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

Comment text: Notification of reason for refusal

Patent event date: 20041129

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

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20050524

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20050525

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20080526

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20090520

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20100514

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20110513

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20120507

Start annual number: 8

End annual number: 8

FPAY Annual fee payment

Payment date: 20130508

Year of fee payment: 9

PR1001 Payment of annual fee

Payment date: 20130508

Start annual number: 9

End annual number: 9

FPAY Annual fee payment

Payment date: 20140513

Year of fee payment: 10

PR1001 Payment of annual fee

Payment date: 20140513

Start annual number: 10

End annual number: 10

FPAY Annual fee payment

Payment date: 20150511

Year of fee payment: 11

PR1001 Payment of annual fee

Payment date: 20150511

Start annual number: 11

End annual number: 11

FPAY Annual fee payment

Payment date: 20160511

Year of fee payment: 12

PR1001 Payment of annual fee

Payment date: 20160511

Start annual number: 12

End annual number: 12

FPAY Annual fee payment

Payment date: 20170515

Year of fee payment: 13

PR1001 Payment of annual fee

Payment date: 20170515

Start annual number: 13

End annual number: 13

EXPY Expiration of term
PC1801 Expiration of term

Termination date: 20180305

Termination category: Expiration of duration