[go: up one dir, main page]

KR101062642B1 - 제조자 소프트웨어에 행해진 불법 변경을 검출하는 방법 - Google Patents

제조자 소프트웨어에 행해진 불법 변경을 검출하는 방법 Download PDF

Info

Publication number
KR101062642B1
KR101062642B1 KR1020067014557A KR20067014557A KR101062642B1 KR 101062642 B1 KR101062642 B1 KR 101062642B1 KR 1020067014557 A KR1020067014557 A KR 1020067014557A KR 20067014557 A KR20067014557 A KR 20067014557A KR 101062642 B1 KR101062642 B1 KR 101062642B1
Authority
KR
South Korea
Prior art keywords
signal
kernel
terminal
integrity
test
Prior art date
Application number
KR1020067014557A
Other languages
English (en)
Other versions
KR20060132652A (ko
Inventor
마리-프랑수와 에르니
세바스띠앙 브르통
Original Assignee
탈레스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 탈레스 filed Critical 탈레스
Publication of KR20060132652A publication Critical patent/KR20060132652A/ko
Application granted granted Critical
Publication of KR101062642B1 publication Critical patent/KR101062642B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

하드 커널 및 소트프 커널, 로컬 데이터 인터페이스를 포함하는 GSM 형 시스템 내의 제조자 소프트웨어의 불법 변경을 검출 및/또는 방지할 수 있는 방법으로서,
A-단말기의 로컬 데이터 인터페이스에서 수신된 신호가 유효하지 않으면, GSM 단말기를 디스에이블된 상태로 두는 단계,
B-상기 로컬 데이터 인터페이스에서 수신된 신호가 비접속 신호이거나 어떠한 신호도 없으면, 하드 커널의 오토테스트인 제어 기능들의 실행으로 보안 개시 절차를 시작하는 단계로서,
하드 커널의 오토테스트는:
● 오토테스트가 OK 인 경우, 소프트 커널의 무결성을 테스트하고,
● 무결성이 OK 인 경우, 노멀 동작을 위해 단말기를 활성화시키며,
● 무결성이 KO 인 경우, 단말기를 디스에이블 상태로 두고,
● 오토테스트가 KO 인 경우, GSM 단말기를 디스에이블 상태로 두는, 상기 보안 개시 절차를 시작하는 단계, 및
C-수신된 신호가 유효한 개시 신호이면,
● 퓨즈가 끊어지지 않은 경우, GSM 단말기를 인에이블되게 하고,
● 퓨즈가 끊어진 경우, 단말기의 인에이블된 기능들 중 하나 이상을 비활성화시킴으로써, 단말기를 전체적으로 인에이블되지 않게 하고,
○ 신호가 JTAG 테스트 타입의 신호인 경우, 테스트 절차를 계속하고,
○ 신호가 테스트 신호인 경우, 비보안 모드에서 개시하고 테스트 절차를 계속하는 단계를 적어도 포함한다.
소프트웨어 불법 변경, GSM 단말기, 하드 커널, 소프트 커널

Description

제조자 소프트웨어에 행해진 불법 변경을 검출하는 방법{METHOD FOR DETECTING ILLEGAL MODIFICATIONS MADE TO MANUFACTURER SOFTWARE}
본 발명은 특히, 재프로그램가능 메모리에 내장된 소프트웨어인, GSM (Global System Mobile 의 약자) 모바일용 제조자 소프트웨어의 변경을 검출 및/또는 방지할 수 있는 방법에 관한 것이다.
또한, 본 발명은 하드 커널 (hard kernel; 예를 들어, ASIC 의 형태로 만들어지는 변경불가능 하드웨어) 과 소프트 커널 (프로그램가능한 보안 기능을 포함) 을 포함하는 임의의 시스템, 예를 들어, 재프로그램 불가능한 ASIC 과 오퍼레이팅 시스템을 포함하는 PC 형 컴퓨터에 관한 것이다.
GSM 이동 단말기는 유저에게 제공된 서비스의 소프트웨어 버전을 갱신할 수 있도록 재프로그램가능하다. 현재, 재프로그래밍 기능으로의 액세스가 충분하게 보안되지 않고, 특정 유저는 제조자에 의해 통합된 보안 기능을 오버라이드 (override) 하도록 소프트웨어 변경을 용이하게 성공적으로 수행한다. 따라서, 특정 유저는 추가적인 서비스와 기능을 액세스하거나, 도난 단말기를 재사용하기 위해, 단말기의 동작을 위조한다.
불법 소프트웨어 변경에 대한 현재의 보호 수단은 불충분하다. 해커들은 제조자에 의해 적절하게 부여된 보안 메커니즘 (mechanism) 을 무효화시키거나 회피하기 위해, 변경될 프로그램가능 메모리의 어드레스를 상당히 빠르게 찾는데 성공한다. "해커들" 의 목적은 비용을 지불하지 않고, 액세스 제어를 오버라이드하고, 잠재적으로 이용가능한 추가 서비스로의 액세스를 허용하는 것이다.
변경은 다수의 채널 (UART; Universal Asynchronous Receiver/ Transmitter, USB; Universal Serial Bus, JTAG; Joint Test Action Group, 등) 을 경유하거나, 재프로그램가능 메모리 또는 FEPROM (Flash Erasable Programmable Read Only Memory) 에 대한 직접 변경에 의해, 예를 들면, 리솔더링 (resoldering) - 디솔더링 (desoldering) 에 의한 하드웨어 무결성 어택 (hardware integrity attack) 에 의해 성취될 수 있다.
특정 신호의 검출에 의해, 자동-구성 모드에서 GSM 단말기의 개시 (startup) 의 현재 모드는 견고한 보호를 제공하지 않는 약한 메커니즘이다.
본 발명은 특히, 프로그램가능 메모리를 포함하는 소프트 커널의 무결성을 검증하기에 적당한 하드웨어 보안 기능을 구비하는 하드 커널 (hard kernel) 및 로컬 데이터 인터페이스를 포함하는 시스템의 프로그램가능 메모리에 내장된 소프트웨어의 변경을 검출 및/또는 방지할 수 있는 방법에 관한 것이다. 본 발명은 적어도 다음 단계를 포함하는 것을 특징으로 한다:
A1-로컬 데이터 인터페이스에 수신된 신호가 유효하지 않으면, 시스템을 디스에이블 상태로 둔다.
B1-로컬 데이터 인터페이스에서 수신된 신호가 비접속 신호이거나, 어떠한 신호도 없으면, 제어 기능들의 실행으로 보안 개시 절차를 시작한다:
하드 커널을 오토테스트한다:
● 오토테스트가 OK 인 경우, 재프로그램가능 메모리의 무결성을 테스트하고,
○ 이 무결성이 OK 인 경우, 노멀 동작을 위해 시스템을 활성화시키며,
○ 이 무결성이 KO 인 경우, 시스템을 디스에이블 상태로 두고,
● 오토테스트가 KO 인 경우, 시스템을 디스에이블 상태로 둔다.
C1-수신된 신호가 유효한 개시 신호이면,
● 시스템이 개발 모드인 경우, 시스템을 인에이블되게 하고,
● 시스템이 인에이블된 이용 모드 (enabled utilization mode) 이고, 신호가 테스트 신호인 경우, 인에이블된 동작의 기본 기능 중 적어도 하나를 비활성화시킨다.
본 발명은 또한, 하드 커널과 소프트 커널, 로컬 데이터 인터페이스를 포함하는 GSM 형 시스템의 제조자 소프트웨어의 불법 변경을 검출 및/또는 방지할 수 있는 방법에 관한 것으로, 적어도 다음 단계를 포함하는 것을 특징으로 한다:
A2-단말기의 로컬 데이터 인터페이스에서 수신된 신호가 유효하지 않으면, GSM 단말기를 디스에이블 상태로 둔다.
B2-로컬 데이터 인터페이스에서 수신된 신호가 비접속 신호이거나 어떠한 신호도 없으면, 제어 기능들의 실행으로 보안 개시 절차를 시작한다:
하드 커널을 오토테스트한다:
● 오토테스트가 OK 인 경우, 소프트 커널의 무결성을 테스트하고,
● 이 무결성이 OK 인 경우, 노멀 동작을 위해 단말기를 활성화시키며,
● 이 무결성이 KO 인 경우, 단말기를 디스에이블 상태로 두고,
● 오토테스트가 KO 인 경우, GSM 단말기를 디스에이블 상태로 둔다.
C2-수신된 신호가 유효한 개시 신호이면,
● 퓨즈 (fuse) 가 끊어지지 않은 경우, GSM 단말기를 인에이블되게 하고,
● 퓨즈가 끊어진 경우, 단말기의 인에이블된 기능 중 하나 이상을 비활성화시켜, 단말기를 전체적으로 인에이블되지 않게 하고:
○ 신호가 JTAG 테스트 타입의 신호인 경우, 테스트 절차를 계속하며,
○ 신호가 테스트 신호인 경우, 비보안 모드에서 개시하고 테스트 절차를 계속한다.
하드 커널과 소프트 커널 사이의 데이터 교환은 예를 들어, 전송 데이터의 비재현성 (non-replay) 과 비예견성 (nonpredictability) 의 원리에 기초한 알고리즘을 사용하여 수행된다.
본 발명은 또한, 하드웨어 보안 기능을 포함하는 하드 커널 및 프로그램가능한 메모리를 포함하는 소프트 커널 및 신호를 수신할 수 있는 로컬 데이터 인터페이스를 포함하는 프로그램가능 메모리에 내장된 소프트웨어의 변경을 검출 및/또는 방지할 수 있는 시스템에 관한 것이다. 본 발명은 다음과 같은 것을 하는데 적합한 수단을 포함하는 것을 특징으로 한다:
≫ 로컬 데이터 인터페이스에서 수신된 신호가 유효하지 않을 때 시스템을 디스에이블 상태로 두는 것,
≫ 로컬 데이터 인터페이스의 신호 부재 또는 수신된 비접속 신호에 대해, 제어 기능들의 실행으로 보안 개시 절차를 시작하는 것:
하드 커널을 오토테스트하는 것:
● 오토테스트가 OK 인 경우, 프로그램가능 메모리의 무결성을 테스트하고,
○ 이 무결성이 OK 인 경우, 노멀 동작을 위해 시스템을 활성화시키며,
○ 이 무결성이 KO 인 경우, 시스템을 디스에이블 상태로 두고,
● 오토테스트가 KO 인 경우, 시스템을 디스에이블 상태로 둔다.
≫ 수신된 신호가 유효한 개시 신호이면,
● 시스템이 개발 모드인 경우, 시스템을 인에이블되게 하고,
● 시스템이 인에이블된 이용 모드이고, 신호가 테스트 신호인 경우, 개시시 인에이블된 동작의 기본 기능 중 하나를 비활성시킨다.
본 시스템은 하드 커널과 소프트 커널 사이의 데이터 교환을 보안하는 수단을 포함할 수 있다.
본 시스템은 재프로그램가능 메모리를 포함하는 MP3 형 판독기 또는 PC 형 마이크로 컴퓨터 또는 GSM 단말기일 수 있다.
본 발명에 따른 방법은 특히 다음의 이점을 가진다. 제조, 상업화 및 유지보수의 산업적 프로세스를 고려한다. 재프로그램가능 소프트웨어와 데이터의 (확실성 (authenticity) 의 관점에서: 기원과 무결성에서) 무결성의 원리 채택은 예를 들어 GSM 단말기의 다양한 소프트웨어 버전에 채택할 수 있는 소프트웨어 보안 디바이스와 관련된, 제어 메커니즘의 비변경을 보증하는 ASIC 내에 집적된 하드웨어 디바이스를 통해 분배된다.
본 발명의 다른 특징과 이점은 첨부된 도면과 함께, 전체적으로 한정이 아닌 예시로서 주어진 예에 대한 설명을 통해 더 명백해질 것이다.
도 1 은 액세스 보안에 대한 영향을 가진 GSM 이동 단말기의 기능적인 컴포넌트를 도시한다.
도 2 는 FEPROM 의 구조를 도시한다.
도 3 은 GSM 의 개시 동안 고려된 3 개의 보안 레벨을 도시한다.
도 4 는 어셈블리의 논리도를 도시한다.
도 5 는 공유된 비밀없이 GSM 단말기의 컴포넌트 사이의 보안 교환을 도시한다.
본 발명에 따른 방법의 원리를 더 명료하게 하기 위해, 다음의 예는 그 아키텍처가 도 1 에서 상기되는 GSM 시스템에 대해 주어진다.
이러한 도 1 은 여러 개의 모듈로서 구성된 GSM 단말기의 기능적인 아키텍쳐를 나타낸다. 보안에 대해 영향을 갖는 모듈만이 이 도면에서 도시되고 설명하는데 고려된다. 우리는 하드 커널을 포함하는 하드웨어 컴포넌트와 소프트 커널을 포함하는 소프트웨어 컴포넌트를 구별한다. 하드 커널은 노멀 개시 중 단말기의 무결성을 검증하거나 동작의 임의의 다른 모드에서 GSM 단말기를 디스에이블시킬 수 있는 하드웨어 보안 기능에 해당한다. 소프트 커널은 FEPROM 에 로딩된 코드의 보안을 보장하는 소프트웨어 보안 기능을 통합한다. 소프트 커널은 비밀키에 의해 오프라인으로 서명되고, 그 서명 (signature) 은 하드 커널에 의해 NORMAL 개시 동안 검증된다. GSM 단말기의 무결성이 손상되고 (소프트 커널의 무결성 손실), 새로운 완전한 소프트 커널이 단말기로 다운로딩될 때까지, 단말기는 어떤 개시 모드에 대해서도 디스에이블된다.
2 개의 모듈이 다음의 설명에서 고려된다.
하드웨어 컴포넌트는 다음의 모듈을 포함한다.
● LISTEN_SIGNAL 모듈;
● DEACTIVATION_FUNCTION 모듈;
● STARTUP 모듈;
● HARD_KERNEL 모듈 또는 하드웨어 보안 모듈
소프트웨어 컴포넌트는 다음의 모듈을 포함한다.
● SOFT_KERNEL 모듈; 또는 소프트웨어 보안 모듈;
● APPLICATIONS 모듈
소프트웨어 컴포넌트의 APPLICATIONS 모듈은 부분적으로 보안된다. 이것은 제조자에 의해 선택된 보안 규약에 대해 엄격하게 의존한다.
이러한 2 개의 컴포넌트는 다음의 설명에서 상세된다.
설명은 다음의 용어를 채용한다.
VAR: 밑줄그어지지 않은 변수 또는 상태는 ACTIVE 특성을 나타낸다.
VAR: 밑줄그어진 변수 또는 상태는 ACTIVE 특성의 부정 (NEGATION) 을 나타낸다.
하드웨어 컴포넌트
HARD_KERNEL
하드 커널은 그 적절한 동작 및 소프트 커널의 무결성을 검증할 수 있게 하는 하드웨어 보안 메카니즘을 포함하고, 이 하드웨어 보안 메카니즘은 끊어지거나 끊어지지 않은 비트에 대해 개시 모드 (JTAG, OTHER, NORMAL) 와 단말기의 동작의 페이즈 (phase) 의 함수로서 적용될 보안 정책을 정의할 수 있게 한다.
보안의 관점에서, 하드웨어 컴포넌트의 다양한 모듈에 의해 커버되는 기능성이 2 가지 버전의 컴포넌트로서 구현된다.
다음 모듈을 사용하는 FUSE NOT BLOWN 컴포넌트 (보안 메커니즘의 비활성):
● LISTEN_SIGNAL
● FUSE
● STARTUP 비보안
FUSE BLOWN 컴포넌트 - 단말기의 개시시에 신호 (GSM 단말기의 로컬 데이터 인터페이스의 레벨에서 관측된 신호) 의 검출 또는 비검출에 따른 동작의 2 가지 모드를 포함 (LISTEN_SIGNAL 모듈).
● 신호의 부재 : 보안 개시 모드 (단말기를 인에이블시킨다)
LISTEN_SIGNAL
FUSE
STARTUP (SECURE)
● GSM 단말기의 로컬 데이터 인터페이스의 레벨에서 신호의 수신 : (단말기를 디스에이블되게 하는 기본 기능을 금지하는) SPLIT 기능의 활성화
LISTEN_SIGNAL
FUSE
DEACTIVATION_FUNCTION (또는 SPLIT)
STARTUP (NON-SECURE)
LISTEN_SIGNAL 모듈
이 모듈은 GSM 단말기의 로컬 데이터 인터페이스의 레벨에서 수신된 신호의 타입을 알 수 있게 한다. 이것은 다음 형태의 신호를 포함할 수 있다:
● JTAG:시스템 시작 컴포넌트 또는 BOOT 가 웨이크업 (wake up) 되지 않아서 보안부가 여전히 활성화되지 않은 테스트 개시 모드
● NORMAL:비트가 끊어졌을 때, 보안이 시스템적으로 활성화되는, 동작의 공칭 모드 (어떠한 신호도 단말기의 개시시에 수신되지 않음)
● RESTART:미리 규정된 파라미터로 콜드 리스타트 (cold restart) 하기 전에 안정적인 상태에서 시스템의 재초기화
● OTHER:BOOT 컴포넌트가 웨이크업되지만 보안부가 활성화되지 않은 다양한 TEST 모드에 해당하는 개시 모드
GSM 단말기의 로컬 데이터 인터페이스상의 신호 수신은 퓨즈가 끊어진 경우, 예를 들면, 키보드, 사운드 또는 기본 기능을 비활성화하여, 디스에이블된 모드로 단말기를 시스템적으로 토글링되게 해야만 한다.
DEACTIVATION_FUNCTION MODULE (또는 SPLIT)
이 모듈은 GSM 단말기의 동작에 대한 기본적 기능, 예를 들면, 키보드, 사운드 또는 다른 것을 비활성화시켜 단말기를 디스에이블되게 할 수 있다. 이 모듈은 도면의 단순화를 위하여 SPLIT MODULE 이라 부른다.
FUSE MODULE
이 모듈은 다음에 해당하는 퓨즈의 상태를 테스트할 수 있게 한다:
UNBLOWN, 끊어지지 않은 퓨즈를 포함하는 ASIC 버전을 사용하여, 프리세일 (pre-sale) 개발 모드 (개발, 디버깅, 등)
BLOWN, 끊어진 퓨즈를 포함하는 ASIC 버전을 사용하여, 세일 (sale) 회로에 배치한 후에, GSM 단말기의 이용 모드
STARTUP MODULE
이 모듈은 특히, 인보크된 (invoked) 개시 타입의 기능으로서 보안 정책을 활성화시키는 기능을 갖고, 신호의 존재 또는 부존재 및 퓨즈의 상태에 따른 보안 정책을 적용할 수 있게 한다.
PILOT MODULES
이 모듈은 FEPROM 에서 판독, 기록 및 실행하도록, I/O 의 관리를 위해 FLASH 파일롯을 로딩할 수 있게 한다. LISTEN_SIGNAL 및 FUSE_BLOWN 하드웨어 모듈은 ASIC 컴포넌트 내에 포함되어 있고, 두 컴포넌트 사이에서 교환된 스트림을 청취하거나 또는 인터셉트할 수 없다.
소프트웨어 컴포넌트
도 2 는 FEPROM (Flash Programmable Read Only Memory 의 약자) 의 구조와 하드 커널과의 상호작용을 나타낸다.
SOFT_KERNEL MODULE
소프트 커널은 애플리케이션의 보안 및, 보호되어질 센서티브 엘리먼트의 리스트에서 참조된 센서티브 데이터의 보안을 특히 보증하는 애플리케이션 오버레이 (overlay) 이다. 소프트 커널의 보안 메커니즘은 하드 커널의 실행 후에 FEPROM 의 레벨에서 구현된다.
소프트 커널의 변경은 새로운 서명된 소프트 커널을 다운로딩하는 단계를 요구하여, 새로운 서명된 소프트 커널이 하드 커널의 레벨에서 유효한 것으로서 인식된다.
APPLICATIONS MODULE
이 모듈은 FEPROM 에 포함된 전체 코드에서 분산된, 보안 메커니즘을 채택할 수 있고, 그 주요 목적은 모니터링된 센서티브 코드의 무결성의 임의의 스케줄링되지 않은 변경을 검출하는 것이다. 이 모듈의 보안 메커니즘은 FEPROM 으로 통합된 제조자 기능에 대해 특정된다.
본 발명의 발상은 특히 FEPROM 으로의 소프트웨어의 다운로딩의 제어에 의존한다. 이러한 보안은 다운로딩될 소프트웨어의 확실성 (authenticity) 과 무결성의 제어에 기초한다.
이 목적을 위해, 본 방법은 단말기의 완벽한 라이프 사이클을 고려한다. 이 라이프 사이클은 에러 정정 또는 업그레이드의 통합을 테스트하고 인가할 수 있도록, 하드웨어 및 소프트웨어 개발 단계, 통합, 테스트, 인가 (validation), 허가 (commissioning), 이용 (utilization), 오작동 (malfunction) 의 경우에 조사 테스트, 소프트웨어 코드 또는 패치의 직접 변경을 수행하는 가능성을 가진 유지보수용 리턴 (return) 에 해당한다.
본 발명에 따른 방법에서 제안된 메커니즘의 일부는 해시 (Hash) 및 비대칭 암호화 알고리즘을 사용하는 서명 메커니즘의 사용에 기초한다. 특히, 이것은 비밀 정보의 예측치 못한 공개에 의해 강제되지 않게 할 수 있다. 상세하게는, 서명자만이 비밀키를 소유하고, 확실성과 무결성의 제어를 허용하는 키는 공용키이다.
이 서명 동작은 예를 들면, 다운로딩될 소프트웨어의 보급 전에 전용 스테이션에 대한 소트프웨어의 인가 후에 수행된다. 이 스테이션만이 비밀 서명키를 알 것이다. 이 스테이션은 또한, 키의 갱신이 요구되는 경우, 비대칭 키의 쌍을 생성할 능력을 가질 것이다.
본 발명에 따른 방법은 이동 단말기를 설계할 때 고려된 하드웨어 보안 메커니즘과, 또한 단말기의 소프트웨어 레이어의 레벨에 추가될 보안 메커니즘에 관한 것이다.
이하의 설명에서, 동작의 2개 모드가 수반된다.
노멀 모드:이 모드는 GSM 단말기의 ASIC 에 대한 개시 절차를 활성화시킬 수 있고, GSM 단말기를 인에이블되게 할 수 있다.
테스트 모드:이 모드는 (예를 들면, JTAG 인터페이스를 사용하여) ASIC 개시 절차를 잠재적으로 오버라이드할 수 있고, FEPROM 에서 직접적으로 판독 및/또는 기록할 수 있다.
2 개의 동작 상태는 이후 설명된 퓨즈의 상태에 따른 보안 메커니즘의 허가에 대해 고찰된다. 퓨즈의 상태는 특정 ASIC 버전에 대응한다.
도 3 은 전체 로직도인 도 4 에서 상세히 설명되는 다양한 보안 레벨을 도식적으로 도시한다.
3 개의 경우가 단말기의 개시 동안 고려된다 (도 3).
신호를 가지거나 신호 없이 퓨즈가 끊어지지 않음 (Fuse not blown, with or without signal).
이 경우는 퓨즈가 끊어지면 신호를 가지거나 신호가 없는 임의의 타입의 개시에 관한 것이고, 보안 메커니즘은 활성화되지 않는다.
신호는 가지고 퓨즈는 끊어짐 (Fuse blown).
이 경우는 SPLIT 기능의 활성화를 구현한다.
신호는 없고 퓨즈는 끊어짐.
개시는 보안된다.
신호는 없고 퓨즈는 안 끊어짐 (Fuse not blown).
개시는 보안되지 않는다.
도 4 는 본 발명에 따른 방법에 의해 구현된 다양한 단계를 열거한다.
GSM 단말기가 오프 상태이면, 본 방법은 로컬 데이터 인터페이스상의 신호를 수신하였는지의 여부를 검증한다 (통상적인 GSM 턴온에 대해 반대인 외부 신호).
A2-수신된 신호가 유효하지 않는 경우에, 방법은 GSM 단말기를 디스에이블 상태로 토글한다 (동작=턴오프).
B2-GSM 단말기가 임의의 신호를 수신하지 않거나, 로컬 데이터 인터페이스상의 비접속 신호를 수신하는 경우, NORMAL MODE 에 있고 -> 노멀 이용 모드에서 턴온한다. 그리고 나서 그 방법은 보안 개시 절차를 시작한다 (모든 통합된 보안 절차는 노멀하게 활성화되고, 시스템의 무결성 손실에 대한 어택의 경우 단말기는 더 이상 인에이블되지 않는다).
턴온 후에, 방법은 제어 기능을 실행한다:
하드 커널을 오토테스트한다:
● 오토테스트가 OK 이면, 소프트 커널의 무결성을 테스트하고,
● 이 무결성이 OK 이면, 노멀 동작을 위해 단말기를 활성화시킬 수 있고,
● 이 무결성이 KO 이면, GSM 시스템을 디스에이블 상태로 둔다.
이 모드에서, 단말기는 침입을 검출할 수 있고 따라서 센서티브 영역의 임의의 변경에 대해 반응할 수 있다. 소프트 커널의 무결성 손실에 대한 검출의 경우, GSM 단말기는 예상된 방어 기능을 실행시킨다.
● 하드 커널의 오토테스트가 KO 인 경우, GSM 단말기를 디스에이블 상태로 둔다.
C2-GSM 단말기가 유효한 개시 신호를 수신하는 경우, 방법은 다음 단계를 실행시킨다:
● 퓨즈가 끊어지지 않은 오토-구성 (NOT BLOWN) 이면, 어떤 보안 기능도 구현되지 않으며, 시스템은 인에이블로 된다 (온 상태, 대기 동작).
● 퓨즈가 끊어진 오토-구성 (BLOWN) 이면, 단말기가 SPLIT 기능을 사용하여 전체적으로 인에이블되지 않게 하여,
○ 신호가 JTAG 신호이면, 키보드 또는 스크린을 테스트 절차를 계속하기 전에 비활성화시키며,
○ 신호가 다른 유효 테스트 신호이면, 키보드 또는 스크린을 비활성화시키고, 테스트 절차를 계속하기 전에 비보안 개시 절차를 시작한다.
이러한 2 개의 상보적이고 분리된 비활성 모드는 특히, 단말기가 완벽하게 인에이블되지 않는 채로, 모든 테스트 시나리오를 실시할 수 있게 한다.
예를 들어, 유저 인터페이스가 GSM 단말기로부터 오프로드 (offload) 되는 비활성화 모드를 정의하는 것이 가능하다.
예를 들면, 키보드 인터페이스에 대해:
● 테스트 모드 1: 단말기는 인에이블되지만, 키보드는 비활성이다. 이 모드는 테스트기에 오프로드된 키보드의 추가를 요구한다.
● 테스트 모드 2: 키보드는 인에이블되고, 무선 경로 또는 임의의 다른 기능은 비활성화된다.
도 5 는 GSM 단말기의 모듈 사이에서 메시지 교환을 보안하는 원리를 도시적으로 도시한다.
데이터 교환의 보안은 예를 들면, 전송된 데이터의 비재현성과, 다이나믹 데이터의 비예견성의 원리에 기초한다.
GSM 단말기의 레벨에서 메커니즘 중 어느 하나를 구현하는 것을 생각할 수 있다. 다이나믹 데이터 아이템의 추가 (시간 값 또는 의사-랜덤) 는 인터셉트된 스트림을 재생하거나 저작권 침해된 소프트웨어를 사용하기 위한 어떠한 시도도 제한하도록, 메시지의 교환을 다이나믹하게 한다.
컴포넌트 A 는 ASIC (HARD KERNEL 인 경우) 일 수 있고, 컴포넌트 B 는 FEEPROM (SOFT KERNEL 인 경우) 일 수 있다. 그 후, A 와 B 사이의 교환은 도 5 에서 설명된 프로세스에 의해 보호된다. SHA 는 "해시" 기능을 나타내고, XOR 는 "배타적 논리합" 연산에 대응하고, DYN 은 랜덤 스트링에 대응한다.
교환된 메시지는 예를 들면 다음과 같다:
1/ 다이나믹 데이터 (클록, 의사-랜덤) 의 생성기->ASIC A 로부터 FEPROM 으로의 DYN
2/ DYN 의 디스패치
3/ FEPROM B 로부터 ASIC A 로의 MSG1=SHA(수신된 DYN)XOR(Question)
4/ MSG1 의 디스패치
5/ 수신된 Question=SHA(DYN)XOR(MSG1)
6/ 수신된 질문의 의미론 검증
7/ ASIC A 로부터 FEPROM B 로의 MSG2=SHA(수신된 Question, DYN)XOR ANSWER
8/ MSG2 의 디스패치
9/ ANSWER_RECEIVED=MSG2XOR SHA(Question, 수신된 DYN)
본 발명의 범위로부터 벗어나지 않고, 본 방법은 보호될 소프트웨어 레이어를 포함하는 메모리 공간과 ASIC (변경 불가능 하드웨어) 을 포함하는, PC 형의 시스템 내에서 불법 변경을 검출 및/또는 방지하기 위해 적용된다.
또한 본 방법은 USB 키 타입의 MP3 판독기와 같은 재프로그램가능 메모리를 포함하는 MP3 형 판독기에 적용된다.

Claims (8)

  1. 프로그램가능 메모리를 포함하는 소프트 커널 (soft kernel) 의 무결성을 검증하기에 적당한 하드웨어 보안 기능을 구비하는 하드 커널 (hard kernel) 및 로컬 데이터 인터페이스를 포함하는 시스템내의 프로그램가능 메모리에 내장된 소프트웨어의 변경을 검출 및/또는 방지할 수 있는 방법으로서,
    A1-상기 로컬 데이터 인터페이스에 수신된 신호가 유효하지 않으면, 상기 시스템을 디스에이블 상태로 두는 단계,
    B1-상기 로컬 데이터 인터페이스에 수신된 신호가 비접속 신호이거나 어떠한 신호도 없으면, 하드 커널의 오토테스트인 제어 기능들의 실행으로 보안 개시 절차를 시작하는 단계로서,
    ● 상기 오토테스트가 OK 인 경우, 상기 프로그램가능 메모리의 무결성을 테스트하고,
    ○ 상기 무결성이 OK 인 경우, 노멀 동작을 위해 상기 시스템을 활성화시키며,
    ○ 상기 무결성이 KO 인 경우, 상기 시스템을 디스에이블 상태로 두고,
    ● 상기 오토테스트가 KO 인 경우, 상기 시스템을 디스에이블 상태로 두는, 상기 보안 개시 절차를 시작하는 단계,
    C1-상기 수신된 신호가 유효한 개시 신호이면,
    ● 상기 시스템이 개발 모드에 있는 경우, 상기 시스템을 인에이블되게 하고,
    ● 상기 시스템이 인에이블된 이용 모드 (enabled utilization mode) 에 있고, 상기 신호가 테스트 신호인 경우, 인에이블된 동작의 기본 기능들 중 하나 이상을 비활성화시키는 단계를
    적어도 포함하고,
    상기 하드 커널과 상기 소프트 커널 사이의 데이터의 교환은 전송된 데이터의 비재현성과 비예견성의 원리에 기초한 알고리즘을 사용하여 수행되는 것을 특징으로 하는 소프트웨어 변경 검출 및/또는 방지 방법.
  2. 하드 커널 및 소프트 커널, 로컬 데이터 인터페이스를 포함하는 GSM 형 시스템 내의 제조자 소프트웨어의 불법 변경을 검출 및/또는 방지할 수 있는 방법으로서,
    A2-단말기의 상기 로컬 데이터 인터페이스에서 수신된 신호가 유효하지 않으면, GSM 단말기를 디스에이블 상태로 두는 단계,
    B2-상기 로컬 데이터 인터페이스에서 수신된 신호가 비접속 신호이거나 어떠한 신호도 없으면, 하드 커널의 오토테스트인 제어 기능들의 실행으로 보안 개시 절차를 시작하는 단계로서,
    ● 상기 오토테스트가 OK 인 경우, 상기 소프트 커널의 무결성을 테스트하고,
    ● 상기 무결성이 OK 인 경우, 노멀 동작을 위해 상기 GSM 단말기를 활성화시키며,
    ● 상기 무결성이 KO 인 경우, 상기 단말기를 디스에이블 상태로 두고,
    ● 상기 오토테스트가 KO 인 경우, 상기 GSM 단말기를 디스에이블 상태로 두는, 상기 보안 개시 절차를 시작하는 단계,
    C2-상기 수신된 신호가 유효한 개시 신호이면,
    ● 퓨즈가 끊어지지 않은 경우, 상기 GSM 단말기를 인에이블되게 하고,
    ● 상기 퓨즈가 끊어진 경우, 상기 GSM 단말기의 상기 인에이블된 기능 중 하나 이상을 비활성화시킴으로써, 상기 단말기를 전체적으로 인에이블되지 않게 하고,
    ○ 상기 신호가 JTAG 테스트 타입의 신호인 경우, 테스트 절차를 계속하고,
    ○ 상기 신호가 테스트 신호인 경우, 비보안 모드에서 개시하고 상기 테스트 절차를 계속하는 단계를
    적어도 포함하고,
    상기 하드 커널과 상기 소프트 커널 사이의 데이터의 교환은 전송된 데이터의 비재현성과 비예견성의 원리에 기초한 알고리즘을 사용하여 수행되는 것을 특징으로 하는 소프트웨어 변경 검출 및/또는 방지 방법.
  3. 삭제
  4. 하드웨어 보안 기능들을 포함하는 하드 커널 및 프로그램가능 메모리를 포함하는 소프트 커널 및 신호들을 수신할 수 있는 로컬 데이터 인터페이스를 포함하는 프로그램가능 메모리에 내장된 소프트웨어의 변경을 검출 및/또는 방지할 수 있는 시스템으로서,
    ≫ 상기 로컬 데이터 인터페이스에서 수신된 신호가 유효하지 않을 때 상기 시스템을 디스에이블 상태로 두고,
    ≫ 상기 로컬 데이터 인터페이스에서 수신된 비접속 신호 또는 신호 부재에 대해, 하드 커널의 오토테스트인 제어 기능들의 실행으로 보안 개시 절차를 시작하고,
    ● 상기 오토테스트가 OK 인 경우, 상기 프로그램가능 메모리의 무결성을 테스트하고,
    ○ 상기 무결성이 OK 인 경우, 노멀 동작을 위해 시스템을 활성화시키며,
    ○ 상기 무결성이 KO 인 경우, 상기 시스템을 디스에이블 상태로 두고,
    ● 상기 오토테스트가 KO 인 경우, 상기 시스템을 디스에이블 상태로 두고,
    ≫ 수신된 신호가 유효한 개시 신호이면,
    ● 상기 시스템이 개발 모드에 있는 경우, 상기 시스템을 인에이블되게 하고,
    ● 상기 시스템이 인에이블된 이용 모드에 있고, 상기 신호가 테스트 신호인 경우, 개시시 인에이블된 동작의 기본 기능들 중 하나 이상을 비활성시키는
    수단을 포함하고,
    상기 하드 커널과 상기 소프트 커널 사이의 데이터의 교환은 전송된 데이터의 비재현성과 비예견성의 원리에 기초한 알고리즘을 사용하여 수행되는 것을 특징으로 하는 소프트웨어 변경 검출 및/또는 방지 시스템.
  5. 제 4 항에 있어서,
    상기 하드 커널과 상기 소프트 커널 사이의 데이터 교환을 보안하는 수단을 포함하는 것을 특징으로 하는 소프트웨어 변경 검출 및/또는 방지 시스템.
  6. 제 4 항에 있어서,
    상기 시스템은 GSM 단말기인 것을 특징으로 하는 소프트웨어 변경 검출 및/또는 방지 시스템.
  7. 제 4 항에 있어서,
    상기 시스템은 마이크로컴퓨터인 것을 특징으로 하는 소프트웨어 변경 검출 및/또는 방지 시스템.
  8. 제 4 항에 있어서,
    상기 시스템은 재프로그램가능 메모리를 포함하는 MP3 형 판독기인 것을 특징으로 하는 소프트웨어 변경 검출 및/또는 방지 시스템.
KR1020067014557A 2003-12-19 2004-12-15 제조자 소프트웨어에 행해진 불법 변경을 검출하는 방법 KR101062642B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR03/15030 2003-12-19
FR0315030A FR2864276B1 (fr) 2003-12-19 2003-12-19 Procede de detection de modifications illicites des logiciels constructeurs
PCT/EP2004/053523 WO2005069591A1 (fr) 2003-12-19 2004-12-15 Procede de detection de modifications illicites des logiciels constructeurs

Publications (2)

Publication Number Publication Date
KR20060132652A KR20060132652A (ko) 2006-12-21
KR101062642B1 true KR101062642B1 (ko) 2011-09-06

Family

ID=34630361

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067014557A KR101062642B1 (ko) 2003-12-19 2004-12-15 제조자 소프트웨어에 행해진 불법 변경을 검출하는 방법

Country Status (8)

Country Link
US (1) US7590862B2 (ko)
EP (1) EP1702451A1 (ko)
KR (1) KR101062642B1 (ko)
CN (1) CN1934846A (ko)
CA (1) CA2552447C (ko)
FR (1) FR2864276B1 (ko)
NO (1) NO20063346L (ko)
WO (1) WO2005069591A1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1997052B1 (en) 2006-03-22 2012-06-27 BRITISH TELECOMMUNICATIONS public limited company Communications device monitoring
CN103124261B (zh) 2006-05-09 2016-08-03 交互数字技术公司 无线通信设备及在wtru中使用的扩展的用户标识模块
US7730253B2 (en) 2006-11-27 2010-06-01 Research In Motion Limited System and method for controlling access to a memory device of an electronic device
US20090199014A1 (en) * 2008-02-04 2009-08-06 Honeywell International Inc. System and method for securing and executing a flash routine
FR2943810B1 (fr) * 2009-03-30 2011-06-03 Lionel Fiat Appareil electronique a image systeme embarquee pour plateforme de services
CN102065156B (zh) 2009-11-11 2013-08-07 中兴通讯股份有限公司 一种用于断开手持终端下载通道的装置及方法
CN102122264A (zh) * 2010-01-12 2011-07-13 纬创资通股份有限公司 用于计算机系统的信息记录方法及信息记录装置
CN102131190A (zh) * 2011-03-31 2011-07-20 华为终端有限公司 一种移动终端加密的方法、硬件加密器件及移动终端
US9881161B2 (en) 2012-12-06 2018-01-30 S-Printing Solution Co., Ltd. System on chip to perform a secure boot, an image forming apparatus using the same, and method thereof
CN104601931B (zh) * 2015-01-09 2018-02-16 西安融成科技有限公司 一种p2p多媒体会议的控制方法
CA3046269A1 (en) * 2016-12-06 2018-06-14 Newtrax Holdings Inc. Safety device and method to prevent use of the same device if faulty
US11182308B2 (en) 2019-11-07 2021-11-23 Micron Technology, Inc. Semiconductor device with secure access key and associated methods and systems
US11132470B2 (en) 2019-11-07 2021-09-28 Micron Technology, Inc. Semiconductor device with secure access key and associated methods and systems
US11494522B2 (en) * 2019-11-07 2022-11-08 Micron Technology, Inc. Semiconductor device with self-lock security and associated methods and systems
US11030124B2 (en) 2019-11-07 2021-06-08 Micron Technology, Inc. Semiconductor device with secure access key and associated methods and systems

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030014663A1 (en) 2001-06-15 2003-01-16 Nokia Corporation Method for securing an electronic device, a security system and an electronic device
US20030056107A1 (en) 2001-09-17 2003-03-20 Cammack William E. Secure bootloader for securing digital devices
US20030229774A1 (en) * 2002-06-10 2003-12-11 International Business Machines Corporation Dynamic hardfile size allocation to secure data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030014663A1 (en) 2001-06-15 2003-01-16 Nokia Corporation Method for securing an electronic device, a security system and an electronic device
US20030056107A1 (en) 2001-09-17 2003-03-20 Cammack William E. Secure bootloader for securing digital devices
US20030229774A1 (en) * 2002-06-10 2003-12-11 International Business Machines Corporation Dynamic hardfile size allocation to secure data

Also Published As

Publication number Publication date
FR2864276A1 (fr) 2005-06-24
CA2552447C (fr) 2013-05-07
EP1702451A1 (fr) 2006-09-20
CA2552447A1 (fr) 2005-07-28
NO20063346L (no) 2006-09-19
US7590862B2 (en) 2009-09-15
FR2864276B1 (fr) 2006-04-28
US20070226390A1 (en) 2007-09-27
CN1934846A (zh) 2007-03-21
KR20060132652A (ko) 2006-12-21
WO2005069591A1 (fr) 2005-07-28

Similar Documents

Publication Publication Date Title
KR101062642B1 (ko) 제조자 소프트웨어에 행해진 불법 변경을 검출하는 방법
US7539868B2 (en) Run-time firmware authentication
US7849315B2 (en) Method for managing operability of on-chip debug capability
JP4912879B2 (ja) プロセッサの保護された資源へのアクセスに対するセキュリティ保護方法
US9021585B1 (en) JTAG fuse vulnerability determination and protection using a trusted execution environment
KR100492840B1 (ko) 전자 메모리 탬퍼링을 방지하는 시스템
CN111819561B (zh) 集成电路数据保护
EP2172866A1 (en) Information processor and tampering verification method
US11012859B2 (en) Secure boot and software upgrade of a device
EP2115655A1 (en) Virtual secure on-chip one time programming
JP2005524919A (ja) セル電話などの電子デバイスのセキュリティに使用する方法およびデバイス
WO2008040377A1 (en) Protecting secret information in a programmed electronic device
Türpe et al. Attacking the BitLocker boot process
JP5490114B2 (ja) 集積回路、方法および電子機器
CN111506897B (zh) 数据处理方法和装置
CN114444083A (zh) 一种基于bmc的服务器bios全生命周期安全保护系统
Mayes et al. Mobile communication security controllers
CN117171735A (zh) 一种设备的破解检测方法系统、装置及设备
Abrahamsson Security Enhanced Firmware Update Procedures in Embedded Systems

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 20060719

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

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

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

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20110831

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20110831

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
FPAY Annual fee payment

Payment date: 20140825

Year of fee payment: 4

PR1001 Payment of annual fee

Payment date: 20140825

Start annual number: 4

End annual number: 4

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20160709