KR101229148B1 - 소프트웨어 신뢰성 검증 방법, 장치 및 컴퓨터 판독가능 매체 - Google Patents

소프트웨어 신뢰성 검증 방법, 장치 및 컴퓨터 판독가능 매체 Download PDF

Info

Publication number
KR101229148B1
KR101229148B1 KR1020097008267A KR20097008267A KR101229148B1 KR 101229148 B1 KR101229148 B1 KR 101229148B1 KR 1020097008267 A KR1020097008267 A KR 1020097008267A KR 20097008267 A KR20097008267 A KR 20097008267A KR 101229148 B1 KR101229148 B1 KR 101229148B1
Authority
KR
South Korea
Prior art keywords
software
reliability
hardware signal
state
signal line
Prior art date
Application number
KR1020097008267A
Other languages
English (en)
Other versions
KR20090080050A (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 KR20090080050A publication Critical patent/KR20090080050A/ko
Application granted granted Critical
Publication of KR101229148B1 publication Critical patent/KR101229148B1/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/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/80Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/84Protecting input, output or interconnection devices output devices, e.g. displays or monitors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)

Abstract

장치 내의 소프트웨어의 신뢰성을 검증하고, 소프트웨어가 신뢰성이 없을 경우에 장치 내의 하드웨어 신호를 제 1 상태로 전환시키는 방법, 장치 및 컴퓨터 프로그램 제품이 개시된다.

Description

소프트웨어 신뢰성 검증 방법, 장치 및 컴퓨터 판독가능 매체{PROTECTING INTERFACES ON PROCESSOR ARCHITECTURES}
본 발명은 장치 내의 소프트웨어의 신뢰성을 검증하는 방법, 장치 및 컴퓨터 프로그램 제품에 관한 것이다.
통상적인 이동 전화는 GSM/3G 스택의 대형 부분을 포함하는 부품과 범용 프로세싱 부품을 포함하는 단일 프로세싱 코어를 중심으로 고안된다.
다른 레거시 인터페이스(other legacy interface)는 아마도 에너지 관리, SIM 인터페이스, 라디오 모듈등에 접속될 것이다. 이러한 부가적인 코어들은 I/O 어드레스, 호출 발생/종료, SMS 수신등과 같이 전화 소프트웨어(Software : SW)와 인터페이스하는, I/O 어드레스, 공유 메모리 등에 의해 실행 환경으로 맵핑된다.
개방 소스 (라이센싱(licensing)) 모델은 소프트웨어, 보다 구체적으로는 리눅스(Linux)나 BSD와 같은 일부 유닉스 변종(Unix variant)에 이용되는 용어이지만, 또한 많은 공용 애플리케이션 라이브러리(commonly used application library) 및 SW 스택에 이용되는 용어이기도 한다. 예를 들어, 개방 소스 SW는 전화 SW용으로 이용될 수 있다.
많은 개방 소스 라이센스가 필요로 하는 것은 이 플랫폼상에 구축된 임의 장치의 소스 코드가 요청시 이용될 수 있어야 한다는 것이다.
따라서, 라이센스에 의해 상술한 단일 프로세싱 코어상에 개방-소스 운영 시스템(Operating System : OS)을 적용하면, 드라이버를 포함할 수 있는 OS 소스 코드가 공개될 수 있다. 또한, 커뮤니티(community)가 SW 플랫폼을 수정하고 개선하며, 그 장치상의 OS를 대체하는 것도 가능하다. 또한, 이 아키텍처(architecture)들의 공통성 때문에, 광범위한 디버깅 및 인스펙션 툴(debugging and inspection tool)이 이용 가능하며, 숙련 사용자라면, OS가 그 장치를 어떻게 제어하고 그 장치와 통신할 것인지를 모니터링할 수 있으며 심지어 프로세스내 폐쇄혈 이진 스택(closed binary stack)을 "역설계(reverse engineering)" 할 수도 있을 것이다.
이들 디버깅 및 인스펙선 툴은 프로세서 코어의 레거시 인터페이스를 노출시키는데 적합하다. 대부분의 인터페이스는 무 보안성으로서, 아주 중요한 저레벨 응용 프로그래밍 인터페이스(quite critical and low-level application programming interface)를 노출시킨다.
이러한 인터페이스의 오용은, 예를 들어, 방사선 증가로 인해, 전화기 그 자체, 네트워크 및 사용자에게 해로움을 줄 위험이 있다.
또한, 그러한 인터페이스의 사용은 당국과의 라이센싱 문제로서, HW와 SW가 라이센싱 프로세스에 포함되는 면허 대역(licensed band)상에서 동작하기 위한 것이다.
따라서, 인터페이스는 해커(hacker)가 유해하게 사용하지 못하게 할 필요가 있지만, 그 인터페이스를 동작시키는데 정당한(허가된) SW 스택만이 이용될 수 있도록 하여야 한다.
상술한 문제점의 견지에서, 본 발명의 목적은, 특히, 장치의 인터페이스가 해커에 의해 유해하게 사용되지 않도록 하는 방법, 컴퓨터 프로그램, 컴퓨터 프로그램 제품, 장치, 시스템 및 프로토콜을 제공하는데 있다.
장치 내의 소프트웨어의 신뢰성을 검증하고, 소프트웨어가 신뢰성(trustworthiness)이 없을 경우, 장치 내의 하드웨어 신호를 제 1 상태로 전환하는 것을 포함하는 방법이 개시된다.
본 발명에 따르면, 예를 들어, 사용자 인터페이스를 이용하여 사용자가 장치에 로딩할 수 있는 장치의 소프트웨어의 신뢰성이 검증된다. 소프트웨어의 신뢰성은, 예를 들어, 장치의 소프트웨어가 장치 제조자에 의해 인증된 소프트웨어에 대응함을 의미하는 것으로, 그에 따라 인증된 소프트웨어와는 다른 소프트웨어, 예를 들어, 해커가 장치 내에 업로딩(uploading)한 소프트웨어를 그 장치가 포함하면, 신뢰성은 제공되지 않는다.
이 검증은 상기 소프트웨어의 적어도 하나의 지문을 측정하고, 상기 적어도 하나의 측정된 지문을 적어도 하나의 기준 무결성 지문(reference integrity fingerprint)와 비교함에 의해 실행되며, 이때, 상기 적어도 하나의 기준 무결성 지문은 인증된 소프트웨어에 대응하고, 상기 적어도 하나의 기준 무결성 지문은 상기 장치 내의 비휘발성 메모리에 저장될 수 있다. 예를 들어, 상기 검증은 TCG(Trusted Computing Group) 표준에 따른 또는 TCG 표준에 기반한 알고리즘 및/또는 기법을 이용할 수 있지만, 다른 검증 알고리즘도 이용될 수 있다.
예를 들어, 그 장치는, TCG 부품이라고 하는, 신뢰성 검증을 실행하는 프로세싱 부품을 포함한다. 예를 들어, 상기 프로세싱 부품은 TCG 표준에 따른 또는 TCG 표준에 기반한 기법을 이용하지만, 다른 검증 기법도 이용한다. 상기 프로세싱 부품은 하드웨어 프로세싱 유닛일 수 있으며, 상기 하드웨어 프로세싱 부품이나 상기 하드웨어 프로세싱 부품의 적어도 일부는 보안될 수 있다.
상기 소프트웨어는 상기 장치에 이용되는 임의의 소프트웨어, 예를 들어, 운영 시스템을 위한 소프트웨어, BIOS 소프트웨어, 펌웨어 소프트웨어, 임의 유형의 드라이버 소프트웨어 및 다른 유형의 소프트웨어일 수 있다. 따라서, 장치의 소프트웨어의 검증은 상기 장치의 시스템의 신뢰성 검증을 할 수 있게 한다.
상기 소프트웨어가 신뢰성이 없다고 검증되거나 판정되면, 하드웨어 신호는 제 1 상태로 전환된다. 또한, 상기 소프트웨어가 신뢰성이 있는 것으로 판정되면, 하드웨어 신호를 제 2 상태로 전환하거나, 하드웨어 신호를 변경없이 그의 상태로 유지시킨다. 또한, 예를 들어, 소프트웨어의 신뢰성이 제공되지 않은 것으로 판정되면, 하드웨어 신호는, 장치가 리셋될 때까지 제 1 상태로 전환된다.
하드웨어 신호는 장치 내의 적어도 하나의 하드웨어 신호 라인 상의 신호일 수 있으며, 상기 적어도 하나의 하드웨어 신호 라인은 신뢰성 검증을 실행하는 프로세싱 부품에 접속된다. 상기 적어도 하나의 하드웨어 신호 라인은 장치 내에 배선될 수 있으며, 신뢰성을 실행하는 프로세싱 부품을 제외하고는 적어도 하나의 하드웨어 신호 라인 상의 상기 하드웨어 신호를 변경할 수 있는 장치의 다른 부품은 없다. 판정된 신뢰성 정보가 하드웨어 신호에 제공되기 때문에, 판정된 신뢰성 정보는 장치의 운영 시스템으로부터 분리될 수 있으며, 그에 따라 해커는 소프트웨어를 이용하여 이 하드웨어 신호를 손상시키지 못한다. 따라서, 이러한 하드웨어 신호는 상기 장치의 소프트웨어의 신뢰성보다 나은 신뢰성 정보를 나타내는데, 이는 판정된 신뢰성 정보가 그 장치의 운영 시스템으로부터 분리되어 전송될 수 있기 때문이다. 본 발명에 따른 하드웨어 신호를 이용한 이러한 해법은, 예를 들어, 판정된 신뢰성 정보가 프로토콜을 이용하여 장치의 내부 버스를 통해 전송되는 경우, 판정된 신뢰성 정보를 손상시키는데 이용될 수 있는 소프트웨어를 통해 판정된 신뢰성 정보를 손상시키는 것을 방지한다. 따라서, 상기 하드웨어 신호는 상기 장치의 운영 시스템의 소프트웨어에 의해 영향을 받지 않는 신호를 나타낸다. 그럼으로써, 상기 하드웨어 신호는 소프트웨어 공격을 방어하는데 상당히 효율적이다. 신뢰성의 검증 이후, 상기 하드웨어 신호의 제 1 상태와 같이, 판정된 신뢰성 정보는 소프트웨어에 의한 것이 아닌 하드웨어 공격에 의해서만 변경된다.
상기 장치는 예를 들어, 디지털 신호 프로세서와 같은 범용 프로세싱 부품을 포함하고, 운영 시스템에 의해 운영되는 프로세서 코어를 나타내며, 상기 장치는 사용자-인터페이스를 사용하여 소프트웨어를 로딩할 수 있고, 상기 소프트웨어는 범용 프로세싱 부품이나 메모리 부품내에 로딩될 수 있으며, 상기 소프트웨어는 장치의 운영 시스템을 대체하는데 이용될 수 있다. 그 장치는, 예를 들어, 그 장치를 네트워크에 접속시키는 인터페이스와 같이, 프로세서 코어를 외부 전자 모듈에 접속시키는 적어도 하나의 인터페이스를 포함한다. 따라서, 상기 하드웨어 신호는, 하드웨어 신호가 제 1 상태에 있을 때 상기 적어도 하나의 인터페이스를 디스에이블(disable)하는데 이용될 수 있으며, 그에 따라, 소프트웨어의 신뢰성이 제공되지 않으면 프로세서 코어는 적어도 하나의 외부 전자 모듈로부터 접속 해제된다. 또한, 프로세서 코어의 하나 이상의 프로세싱 부품은 제 1 상태에 있을 때 하드웨어 신호에 의해 디스에이블된다.
소프트웨어 신뢰성의 상술한 검증은 프로세서 코어의 운영 시스템의 소프트웨어의 신뢰성을 검증하는데 적용되며, 그에 따라 운영 시스템의 신뢰성이 검증될 수 있다.
예를 들어, 상기 프로세서 코어는 단일-칩 프로세서 코어일 수 있으며, 상기 하드웨어 신호는 단일 칩 내부의 적어도 하나의 하드웨어 신호 라인을 통해 적어도 하나의 프로세싱 부품 및/또는 적어도 하나의 인터페이스에 전송될 수 있다. 예를 들어, 상기 적어도 하나의 하드웨어 신호 라인은 프로세스 실리콘내에 배선되며, 따라서 상기 하드웨어 신호를 변경시킬 위험이 최소화된다.
예를 들어, 프로세서 코어는 이동 전화, WLAN이나 Bluetooth? 장치 또는 임의의 다른 무선 장치와 같은 무선 장치를 위한 프로세서 코어를 나타내며, 상기 프로세서 코어는, 예를 들어, GSM/3G 코어와 같이 GSM 및/또는 3G 기능/프로세싱을 위한 프로세싱 부품과 같은, 무선 시스템의 특정 동작을 위한 프로세싱 부품 및 범용 프로세성 부품을 포함할 수 있다. 상기 하드웨어 신호는, 하드웨어 신호가 제 1 상태에 있을 때, 무선 시스템의 특정 동작에 대해 상기 프로세싱 부품을 디스에이블하는데 이용될 수 있으며, 그에 따라 상기 소프트웨어의 신뢰성이 제공되지 않은 경우에 프로세서 코어의 무선 기능이 디스에이블될 수 있고, 이에 따라 또한 프로세서 코어의 소비 전력이 감소한다.
또한, 프로세서 코어를 고주파 라디오 모듈에 접속시키는 라디오 인터페이스와 같은, 프로세서 코어의 인터페이스들중 적어도 하나는, 하드웨어 신호가 제 1 상태에 있을 때 디스에이블될 수 있다. 따라서, 프로세서 코어의 소프트웨어가 신뢰성이 없는 것으로 판정되면, 라디오 인터페이스의 오용이 방지되며, 예를 들어, 방사선 증가로 인해 무선 장치 그 자체, 네트워크 및 사용자에 미치는 유해성이 방지된다.
본 발명에 따르면, 단지 정당한(허가된) 소프트웨어만이 장치를 동작시키는데 이용될 수 있다고 확신할 수 있다.
본 발명의 실시예에 따르면, 상기 장치는 적어도 하나의 프로세싱 부품을 포함하며, 상기 방법은 상기 하드웨어 신호가 제 1 상태에 있을 때 적어도 하나의 프로세싱 부품을 디스에이블하는 것을 포함한다.
예를 들어, 상기 적어도 하나의 프로세싱 부품은 상기 장치를 네트워크에 상호 접속시키기 위한 신호를 계산하는데 이용되는 프로세싱 부품일 수 있으며, 상기 프로세싱 부품은, 예를 들어, 상기 장치가 무선 시스템에 대한 프로세서 코어를 나타내는 경우에, 라디오 코어일 수 있다. 따라서, 프로세서 코어내의 소프트웨어가 신뢰성이 없다고 판정되는 경우에, 네트워크의 오용이 방지될 수 있다.
본 발명의 실시예에 따르면, 상기 장치는 적어도 하나의 인터페이스를 포함하며, 상기 방법은, 상기 하드웨어 신호가 제 1 상태에 있을 때, 상기 적어도 하나의 인터페이스를 디스에이블하는 것을 포함한다.
따라서, 소프트웨어의 신뢰성이 제공되지 않은 경우에, 상기 적어도 하나의 인터페이스는 디스에이블된다. 적어도 하나의 인터페이스는, 네트워크, 예를 들어, GSM이나 UMTS 네트워크와 같은 라디오 네트워크에 장치를 접속시키는 인터페이스일 수 있다. 해커에 의해 손상된 장치의 운영 시스템의 소프트웨어 부품일 수 있는 손상된 소프트웨어의 경우에, 하드웨어 신호는 적어도 하나의 인터페이스를 디스에이블시키고, 그에 따라 장치는 상기 네트워크로부터 접속해제되어, 네트워크의 손상이 방지된다. 예를 들어, 장치가 무선 시스템에 대한 프로세서 코어인 경우에, 상기 적어도 하나의 인터페이스는 프로세서 코어를 고주파 라디오 모듈에 접속시키는 라디오 인터페이스일 수 있다. 또한, 예를 들어, 방사선 증가로 인한 사용자에 대한 유해성이 방지된다.
본 발명의 실시예에 따르면, 상기 방법은 상기 소프트웨어의 적어도 하나의 디지털 지문을 추출하고, 적어도 하나의 디지털 지문을 기준 무결성 지문과 비교하여, 상기 소프트웨어의 신뢰성을 검증하는 것을 포함한다.
상기 적어도 하나의 기준 무결성 지문은 인증된 소프트웨어의 적어도 하나의 지문 및/또는 인증된 소프트웨어의 부품을 나타낸다. 따라서, 상기 적어도 하나의 추출된 디지털 지문이 기준 무결성 지문에 대응하면, 상기 적어도 하나의 추출된 디지털 지문에 대응하는 소프트웨어/소프트웨어 부품이 손상되지 않았다고 간주될 수 있는데, 그 이유는 그것이 인증된 소프트웨어/소프트웨어 부품과 동일하다고 간주될 수 있기 때문이다.
상기 적어도 하나의 기준 무결성 지문은 상기 장치의 메모리 부품에 저장될 수 있으며, 상기 메모리 부품은, 예를 들어, 해커로부터 보호되고, 상기 메모리 부품은 비 휘발성 메모리를 나타낸다.
상기 적어도 하나의 디지털 지문은 암호화 해시 함수(cryptographic hash function)에 의해 생성되는데, 상기 해시 함수는 소프트웨어 또는 소프트웨어 부품의 해시 값을 계산한다. 예를 들어, 상기 암호화 해시 함수는 인증 또는 메시지 무결성과 같은 여러 정보 보안 응용에서 프리미티브(primitive)로서 이용하는데 적합한 특정의 추가적인 보안 성질을 가진 해시 함수를 나타낸다. 해시 함수는 입력으로서 임의 길이의 긴 스트링(string)(또는 메시지)을 취득하고, 디지털 지문에 대응하는 출력으로서 고정 길이 스트링을 생성한다. 상기 암호화 해시 함수에 의해 양호한 충돌 저항(collisian resisturce)이 가능하게 되며, 그에 따라 해시 값인 해시(m1) 및 해시(m2)가 동일한 2개의 서로 다른 메시지(m1 및 m2)를 발견하기 어렵게 된다.
따라서, 추출된 디지털 지문은 추출된 해시 값을 나타내며, 기준 무결성 지문은 인증된 소프트웨어/소프트웨어 부품의 동일 해시 함수에 의해 계산되었던 해시 값을 나타낸다. 해시 함수의 기본 성질은, (동일 함수에 따른) 2개의 해시 값이 서로 다르면, 어떠한 경우라도 2개의 입력이 서로 다르게 된다는 것이다.
본 발명의 실시예에 따르면, 상기 장치는 레지스터 세트(a set of registers) 및 해시 함수를 포함하는 신뢰 플랫폼 모듈(trusted platform module)을 포함하며, 상기 방법은 상기 소프트웨어의 적어도 하나의 기준 메트릭(metric)을 해싱하고, 상기 적어도 하나의 메트릭을 상기 레지스터 세트의 적어도 하나의 레지스터로 연장하며, 상기 적어도 하나의 레지스터의 콘텐츠를 적어도 하나의 기준 무결성 메트릭 인증과 비교하여 상기 소프트웨어의 신뢰성을 검증하는 것을 포함한다.
상기 적어도 하나의 기준 무결성 메트릭 인증은 인증된 소프트웨어 및/또는 인증된 소프트웨어의 부품으로부터 해싱된 적어도 하나의 기준 무결성 메트릭을 나타내며, 해시 함수는 상기 적어도 하나의 기준 메트릭을 해싱하기 위해 신뢰 플랫폼 모듈에 의해 이용되는 해시 함수에 대응한다. 예를 들어, 상기 기준 무결성 메트릭 인증은 제조자에 의해 서명될 수 있고, 그들은 최근성(freshness)를 위해 카운터(counter)에 결부될 수 있다.
예를 들어, 상기 신뢰 플랫폼 모듈(TPM)은 TCG 그룹의 이동 TPM(Mobile TPM) 사양을 따르며, 상기 신뢰 플랫폼 모듈은 TPM 코어를 나타내고, 상기 TPM 코어는 보안성 코어일 수 있다.
상기 레지스터 세트는 적어도 하나의 PCR(Platform Configuration Register)에 의해 표시될 수 있으며, 상기 적어도 하나의 PCR은 플랫폼 특성, 즉, 장치의 특성에 대한 정보를 소지하도록 구성되며, 상기 플랫폼 특성은 BIOS, 펌웨어, 운영 시스템, 드라이버등과 같은 장치의 서로 다른 부품의 소프트웨어의 해시일 수 있다.
상기 해싱된 적어도 하나의 기준 메트릭은 상술한 실시예에서 언급한 상기 적어도 하나의 디지털 지문에 대응한다. 예를 들어, 새로운 소프트웨어 부품이 그 장치내에 로딩되면, 상기 소프트웨어 부품의 기준 메트릭은 상기 PCR 세트 중의 제 1 PCR로 연장된다. 이 연장은 기준 메트릭을 상기 PCR 세트 중의 소정 PCR의 컨텐츠와 연계시키고, 상기 연계된 기준 메트릭과 PCR 콘텐츠의 해시 값을 계산하고, 상기 PCR 세트의 제 1 PCR내에 이와 같이 해싱되고 연계된 값을 저장하는 것을 포함한다. 따라서, 상기 제 1 PCR의 콘텐츠는, 상기 소프트웨어 부품의 신뢰성을 검증하기 위해 적어도 하나의 기준 무결성 메트릭 인증과 비교된다. 즉, 제 1 PCR에 저장되는, 연장된 기준 메트릭은 적어도 하나의 기준 무결성 인증과 비교된다. 예를 들어, 상기 소프트웨어 부품의 신뢰성이 판정되는 경우에만 로딩된 소프트웨어 부품이 실행되도록, 로딩된 소프트웨어 부품이 실행되기전에 이러한 검증이 실행된다.
신뢰 플랫폼 모듈은 해시를 실행하고, 동작을 연장하고 검증하는 마이크로제어기를 포함한다. 또한, 상기 마이크로제어기는 적어도 하나의 하드웨어 신호 라인에 접속되며, 마이크로제어기는 하드웨어 신호를 생성하여 상기 적어도 하나의 하드웨어 신호 라인에 인가한다. 대안적으로, 상기 하드웨어 신호와 연관된 상기 적어도 하나의 하드웨어 신호 라인은 상기 PCR 세트의 소정 PCR에 접속되며, 상기 PCR의 콘텐츠는 상기 적어도 하나의 하드웨어 신호 라인 상의 하드웨어 신호의 상태에 대응하며, 그에 따라 신뢰성이 제공되지 않으면, 상기 PCR은, 예를 들어, 최하위 비트에 의해 표시된 제 1 상태로 설정되지만, 신뢰성이 제공되면, 상기 PCR이 제 2 상태와 같은 다른 상태로 설정될 수 있게 된다.
CRTM(Core Root of Trust for Measurement)은 보안 측정 기능을 제공하도록 TPM 사양에 따라 수립된다. 이 CRTM은 TPM 코어의 신뢰 루트(trust root)를 제조자와 연결시키며, 그것이 최종 신뢰 루트로서 간주될 수 있다. 예를 들어, 그 장치가 리셋되면, CRTM은 상기 장치의 모든 실행 가능한 펌웨어를 측정할 수 있는데, 이러한 측정은 상기 실행 가능한 펌웨어의 소프트웨어의 제 1 기준 메트릭과 같은 해시 값을 측정하고, 이 기준 메트릭을 상기 PCR 세트의 제 1 PCR에 저장함에 의해 이루어진다. 그 다음, 이러한 기준 메트릭은 기준 무결성 메트릭 인증과 비교되어, 상기 실행 가능한 펌웨어의 상기 소프트웨어의 신뢰성을 검증하며, 신뢰성이 판정된 경우에만, 상기 실행 가능 펌웨어가 실행되어 부트 프로세스(boot process)를 개시한다. 상기 제 1 PCR의 콘텐츠는 추가 소프트웨어 부품의 추가로 측정된 기준 메트릭과의 연계에 의해 상기 PCR 세트의 추가 PCR까지 연장되며, 그에 따라 상기 추가 소프트웨어 부품의 신뢰성이 검증된다. 신뢰성이 판정되지 않으면, 상기 하드웨어 신호는 제 1 상태로 전환된다.
본 발명의 실시예에 따르면, 상기 레지스터 세트의 추가 레지스터는 단지 기준 무결성 메트릭 인증에 의해 갱신될 수 있으며, 상기 추가 레지스터의 적어도 하나의 비트는 적어도 하나의 하드웨어 신호 라인에 배선되고, 상기 적어도 하나의 하드웨어 신호 라인은 상기 하드웨어 신호를 전송하며, 상기 방법은 상기 소프트웨어의 신뢰성을 검증하기 전에 제 1 상태로 상기 적어도 하나의 하드웨어 신호 라인 상의 하드웨어 신호를 전환하는 제 1 값으로 상기 추가 레지스터를 설정하고, 신뢰성을 검증하기 위해 상기 적어도 하나의 레지스터의 콘텐츠와 적어도 하나의 기준 무결성 메트릭 인증을 비교한 결과가 성공하면, 상기 기준 무결성 메트릭 인증에 의해 상기 추가 레지스터를 제 2 값으로 갱신하는 것을 포함하는데, 이때 상기 제 2 값은 상기 소프트웨어의 신뢰성을 나타내는 제 2 상태로 상기 적어도 하나의 하드웨어 신호 라인 상의 하드웨어 신호를 전환한다.
상기 추가적인 레지스터는 상기 적어도 하나의 연장된 기준 메트릭을 포함하는 상기 적어도 하나의 레지스터와는 다르다. 또한, 상기 추가적인 레지스터는 상기 기준 무결성 메트릭 인증에 의해서만 갱신될 수 있도록 록킹(locking)되는데 적합하다. 예를 들어, 상기 추가적인 레지스터는 PCR 레지스터이고, 상기 록킹 기능은 TPM 특징에 의해 제공된다.
상기 기준 무결성 레지스터는 상기 적어도 하나의 레지스터내의 상기 적어도 하나의 연장된 기준 메트릭의 유효성을 검사하는 기준 값을 포함할 뿐만 아니라, 예를 들어, 상기 추가적인 레지스터와 같은 주어진 레지스터에 설정될 수 있는 값을 위한 장소도 포함한다. 상기 기준 무결성 메트릭내의 상기 값은, 예를 들어, 상기 기준 무결성 메트릭을 상기 적어도 하나의 레지스터내의 상기 적어도 하나의 연장된 기준 메트릭을 비교하여, 측정된 기준 메트릭과 비교된 상기 기준 무결성 메트릭의 무결성 검증이 성공한 경우에, 단지 상기 주어진 레지스터내에 설정된다.
따라서, 상기 기준 무결성 메트릭은 상기 장소내의 상기 제 2 값을 포함하며, 그에 따라 상기 기준 무결성 메트릭으로 상기 적어도 하나의 레지스터내의 상기 적어도 하나의 연장된 기준 메트릭을 검사함으로써 신뢰성이 검출되면, 상기 제 2 값이 상기 추가 레지스터내로 갱신되고, 그에 따라 상기 추가 레지스터는 하드웨어 신호를 상기 제 2 상태로 전환한다. 그렇지 않으면, 즉, 신뢰성이 제공되지 않으면, 상기 추가 레지스터는 하드웨어 신호의 전환을 제 1 상태로 유지시키는 제 1 값을 유지한다.
예를 들어, 부트 시퀀스(boot sequence)동안, 측정된 기준 메트릭은 상기 적어도 하나의 레지스터로 연장되며, 이후, 상기 연장된 기준 메트릭이 신뢰성을 나타내는지를 상기 기준 무결성 메트릭이 검증하고, 신뢰성이 제공된 경우에, 상기 기준 무결성 메트릭은 상기 제 2 값을 상기 추가 레지스터내로 갱신하여 하드웨어 신호를 제 2 상태로 전환한다.
예를 들어, 상기 적어도 하나의 하드웨어 신호 라인은 상기 추가 레지스터의 최하위 비트에 배선되며, 상기 제 1 값은 짝수 값이고, 상기 제 2 값은 홀수 값이다.
따라서, 상기 장소내의 제 2 값, 즉, 홀수 값을 포함하는 상기 기준 무결성 메트릭에 의해 신뢰성이 검출되면, 상기 추가 레지스터의 최하위 비트는 1로 설정되며, 그에 대응하여, 상기 적어도 하나의 하드웨어 신호 라인 상의 하드웨어 신호는 값 1로 설정되고, 상기 적어도 하나의 하드웨어 신호 라인 상의 상기 값 1은 상기 하드웨어 신호의 상기 제 2 상태에 대응한다. 상기 제 1 값이 짝수이기 때문에, 상기 하드웨어 신호의 제 1 상태에 대응하는 신뢰성을 검증하기 전에, 상기 추가 레지스터의 최하위 비트는 값 0으로 설정되며, 그에 따라 신뢰성이 제공되지 않으면 상기 추가 레지스터 및 상기 하드웨어 신호는 값 0을 유지한다.
본 발명의 실시예에 따르면, 상기 신뢰성은 장치의 부트 시퀀스 동안에 검증된다.
예를 들어, 상기 장치의 부트 시퀀스는, 펌웨어, BIOS, 운영 시스템 로더(operating system loader) 및 운영 시스템등과 같은 여러 소프트웨어 부품을 연속적으로 로딩하고 실행시키는 것을 포함한다.
따라서, 부트 시퀀스가 시작되면, 상기 여러 소프트웨어 부품 중의 첫번째 소프트웨어 부품, 즉 펌웨어의 신뢰성이 검증되며, 단지 제 1 소프트웨어 부품의 신뢰성이 판정되는 경우에만, 제 1 소프트웨어 부품이 실행되고, 그렇지 않는 경우에는, 상기 하드웨어 신호가 제 1 상태로 전환되어, 소프트웨어의 신뢰성이 제공되지 않음을 나타낸다. 상기 제 1 소프트웨어 부품의 신뢰성이 판정되면, 상기 제 1 소프트웨어 부품의 실행 이후에, 상기 부트 시퀀스의 다음 소프트웨어 부품의 신뢰성이 검증되며, 그에 따라 각 소프트웨어 부품은 실행전에 검증된다.
상술한 검증 방법들은 부트 시퀀스동안 이러한 신뢰성 검증을 실행하는데 적용된다.
예를 들어, 상기 신뢰 플랫폼 모듈은 PCR(Platform Configuration Register) 세트를 포함하며, 부트 시퀀스의 상기 여러 소프트웨어 부품들 중의 소정 소프트웨어 부품의 기준 무결성 메트릭을 해싱하고, 그것을 상기 PCR 세트 중의 PCR로 연장하며, 상기 PCR의 콘텐츠를 적어도 하나의 기준 무결성 메트릭 인증과 비교하여 신뢰성을 검증함으로써 상술한 검증을 실행하는데 적용된다.
예를 들어, 부트 소프트웨어의 검증 시작전에, PCR 세트 중의 임의의 PCR은 초기화되고, 하드웨어 신호는 제 1 상태로 전환된다.
예를 들어, 상술한 바와 같이, CRTM은 부트 시퀀스의 상기 여러 소프트웨어 부품 중의 제 1 소프트웨어 부품을 측정하며, 이때, 해시 값, 즉 상기 제 1 소프트웨어 부품의 소프트웨어의 제 1 기준 메트릭을 측정하고, 상기 PCR 세트 중의 제 1 PCR에 이러한 기준 메트릭을 저장함에 의해, 상기 제 1 소프트웨어 부품은 상기 장치 내의 펌웨어에 대응하게 된다. 그 다음, 제 1 PCR의 이러한 기준 메트릭은 적어도 하나의 기준 무결성 메트릭 인증과 비교되어, 제 1 소프트웨어 부품의 신뢰성이 검증되고, 제 1 부품이 신뢰성있는 것으로 판정되는 경우에만, 상기 제 1 소프트웨어 부품이 실행되어 부트 시퀀스를 개시하며, 그렇지 않은 경우에는, 하드웨어 신호가 제 1 상태로 전환되고, 부트 프로세스는 중지된다. 그 다음, 제 1 소프트웨어 부품의 신뢰성이 제공되면, 부트 시퀀스의 연속하는 소프트웨어 부품으로부터 제 2 기준 메트릭이 해싱되고, 제 2 기준 메트릭은 제 1 PCR의 콘텐츠와 연계되며, 이와 같이 연계되고 해싱된 값이 상기 PCR 세트 중의 제 2 PCR로 연장됨으로써, 제 2 소프트웨어 부품의 신뢰성이 검증된다. 이러한 반복적인 방식으로, 부트 시퀀스의 소프트웨어 부품의 신뢰성이 검증될 수 있으며, 이때, 기준 메트릭은 부트 시퀀스의 다음 소프트웨어 부품으로부터 해싱되고, 이러한 기준 메트릭은 선행하는 소프트웨어 부품에 대응하는 PCR의 콘텐츠와 연계되고 상기 PCR 세트의 다음 PCR로 연장되며, 그에 따라 신뢰성이 검증된다. 부트 시퀀스가 정확하다면, 즉, 모든 선행하는 PCR의 콘텐트에 의존하는 부트 시퀀스의 최종 소프트웨어 부품의 연장된 기준 메트릭이 정확한 것으로 검증되면, 하드웨어 신호는 제 2 상태로 전환되어 부트 시퀀스의 소프트웨어의 신뢰성을 나타낸다.
예를 들어, 적어도 하나의 하드웨어 신호 라인은 PCR 세트 중의 소정 PCR에 배선되며, 부트 시퀀스가 신뢰성 있는 것으로 검증되면, 상기 PCR은 프리셋(preset) 값, 즉, 값 1로 설정되며, 그에 따라 상기 적어도 하나의 하드웨어 신호 라인 상의 값 1을 가진 신호는 제 2 상태의 하드웨어 신호에 대응하게 되고, 예를 들어, 상술한 바와 같이, 상기 PCR에 설정될 수 있는 값에 대한 장소를 포함하는 기준 무결성 메트릭 인증을 이용하여 부트 소프트웨어의 신뢰성을 나타내게 된다. 신뢰성이 제공되지 않으면, 상기 PCR의 콘텐츠는 0으로 되어, 하드웨어 신호의 제 1 상태에 대응한다.
대안적으로, 신뢰 플랫폼 모듈의 마이크로컴퓨터는 상기 적어도 하나의 하드웨어 신호 라인에 접속되며, 상기 적어도 하나의 하드웨어 신호 라인 상의 신호를, 부트 시퀀스의 소프트웨어의 신뢰성이 제공될 경우에 부트 소프트웨어가 신뢰성 있음을 나타내는 제 2 상태에 대응하는 상기 프리셋 값으로 전환하며, 그렇지 않은 경우에는, 마이크로컴퓨터는 상기 적어도 하나의 하드웨어 신호 라인 상의 신호를 상기 하드웨어 신호의 제 1 상태에 대응하는 또 다른 프리셋 값으로 전환한다.
예를 들어, 상기 적어도 하나의 하드웨어 신호 라인은 상기 장치의 적어도 하나의 인터페이스에 접속되고/되거나 상기 장치의 적어도 하나의 프로세싱 유닛에 접속된다. 그 다음, 상술한 바와 같이, 상기 적어도 하나의 하드웨어 신호 라인 상의 하드웨어 신호는 적어도 하나의 인터페이스를 제어하고/하거나 상기 프로세싱 유닛 중 적어도 하나를 제어하는데 이용되어, 부트의 시작시에 상기 적어도 하나의 인터페이스 및/또는 상기 적어도 하나의 프로세싱 유닛이 상기 적어도 하나의 하드웨어 신호 라인 상의 하드웨어 신호의 제 1 상태에 따라 디스에이블되게 하고, 하드웨어 신호가 제 2 상태로 전환될 때, 상기 적어도 하나의 인터페이스 및/또는 상기 적어도 하나의 프로세싱 유닛이 인에이블되게 한다.
본 발명의 실시예에 따르면, 상기 신뢰성은 장치의 런타임 동작(runtime operation) 동안에 검증된다.
상술한 검증 방법들은 장치의 런타임 동작동안에 이러한 신뢰성 검증을 실행하는데 적용된다.
예를 들어, 상기 하드웨어 신호는 사용자가 장치내에 소프트웨어를 로딩하기 전에 제 1 상태로 전환됨으로써, 예를 들어, 상기 장치의 적어도 하나의 인터페이스 및/또는 상기 장치의 적어도 하나의 프로세싱 부품은 디스에이블되고, 상기 소프트웨어는 로딩되며, 소프트웨어의 신뢰성이 검증된다. 상기 소프트웨어가 신뢰성이 있으면, 상기 하드웨어 신호는 제 2 상태로 전환되어 상기 소프트웨어의 신뢰성을 나타내며, 그에 따라, 예를 들어, 상기 장치의 상기 적어도 하나의 인터페이스 및/또는 상기 장치의 상기 적어도 하나의 프로세싱 부품은 인에이블된다.
예를 들어, 소프트웨어의 신뢰성이 제공되지 않은 것으로 판정되면, 하드웨어 신호는, 장치가 리셋될 때 까지 제 1 상태로 전환된다.
또한, 상기 신뢰성 검증은 런타임 동작 동안에 반복적으로 실행된다.
본 발명의 실시예에 따르면, 상기 하드웨어 신호는 상기 소프트웨어의 신뢰성의 검증전에 제 2 상태로 전환되며, 이때, 상기 하드웨어 신호는, 장치의 재 시작 없이는, 상기 제 1 상태에서 다른 상태로 전환될 수 없다.
상기 제 2 상태는 소프트웨어의 신뢰성이 제공됨을 나타낸다.
따라서, 소프트웨어가 신뢰성이 없는 것으로 판정되고, 상기 하드웨어 신호가 상기 제 2 상태에서 상기 제 1 상태로 전환된 경우에는, 소프트웨어가 신뢰성있음을 나타내는 제 2 상태로 하드웨어 신호를 전환시킬 수 없다. 소프트웨어가 신뢰성 없는 것으로 판정되면, 상기 하드웨어 신호는, 상기 장치가 스위칭 오프될 때까지 상기 제 1 상태를 유지한다. 이에 따라 소프트웨어가 신뢰성없는 것으로 판정된 이후에는 하드웨어 신호를 변경할 수 있게 된다.
본 발명의 실시예에 따르면, 상기 하드웨어 신호는 적어도 하나의 하드웨어 신호 라인을 통해 전송되고, 상기 하드웨어 신호는 일방향 스위치에 의해 전환되는데, 이때, 상기 일방향 스위치는 장치의 재시작 없이는 하드웨어 신호를 상기 제 1 상태에서 다른 상태로 전환할 수 없다.
상기 일방향 스위치는 신뢰성 검증을 실행하기 위한 상기 프로세싱 부품에 접속되며, 상기 프로세싱 부품은 상기 TPM 모듈에 의해 표시된다. 예를 들어, 그 장치는 턴 온되고, 일방향 스위치는 상기 적어도 하나의 하드웨어 신호 라인 상의 하드웨어 신호를 상기 제 2 상태로 전환한다. 그 다음, 소프트웨어가 신뢰성없는 것으로 판정되면, 일방향 스위치는 하드웨어 신호를 제 1 상태로 전환한다. 상기 일방향 스위치가 하드웨어 신호를 제 2 상태로 전환할 수 없기 때문에 상기 하드웨어 신호는 신뢰성이 제공되지 않아 변경될 수 없음을 영구적으로 나타낼 것이다.
이에 따라, 상술한 바와 같이 보안 부트 시퀀스를 가질 경우, 신뢰성 검증을 실행하는 프로세싱 부품의 모든 인터페이스가 공개를 유지할 수 있게 되는데, 이는 하드웨어 신호가 제 1 상태에서 제 2 상태로 전환될 수 없기 때문이다.
본 발명의 실시예에 따르면, 상기 장치는 단일-칩 프로세서 코어이며, 상기 하드웨어 신호는 단일 칩 프로세서 코어내부에 배선된 적어도 하나의 하드웨어 신호 라인을 통해 전송된다.
상기 적어도 하나의 하드웨어 신호 라인은 칩의 실리콘에 배선되어, 상기 하드웨어 신호 라인 및 하드웨어 신호의 변경을 매우 효과적으로 방지한다.
본 발명의 실시예에 따르면, 상기 단일-칩 프로세서 코어는 이동 전화를 위한 프로세서 코어이다.
예를 들어, 상기 단일 칩 프로세서 코어는, GSM/3G 코어와 같이 GSM 및/또는 3G 기능/프로세싱을 위한 프로세싱 부품과 같은, 무선 시스템의 특정 동작을 위한 프로세싱 부품 및 범용 프로세성 부품을 포함할 수 있다. 또한, 상기 단일-칩 프로세서 코어는 소프트웨어를 로딩하기 위해 적어도 하나의 메모리를 포함하며, 상기 소프트웨어는 범용 프로세싱 부품내에 로딩된다. 또한, 단일-칩 프로세서 코어는, 본 발명의 상술한 실시예에서 설명한 바와 같이, 소프트웨어의 신뢰성을 검증하는 신뢰 플랫폼 모듈을 포함한다.
상기 하드웨어 신호는, 하드웨어 신호가 제 1 상태에 있을 때, GSM 및/또는 3G 기능을 위한 상기 프로세싱 부품을 디스에이블시키는데 이용된다.
또한, 상기 단일-칩 프로세서 코어는 프로세서 코어를 라디오 주파수 모듈에 접속시키는 라디오 인터페이스를 포함한다. 예를 들어, 상기 하드웨어 신호는, 하드웨어 신호가 제 1 상태에 있을 때, 상기 라디오 인터페이스를 디스에이블시키기 위한 이러한 라디오 인터페이스에 제공된다.
따라서, 상기 단일-칩 프로세서내의 소프트웨어가 신뢰성 없는 것으로 판정되면, 상기 하드웨어 신호는 GSM 및/또는 3G 기능을 위한 프로세싱 부품을 디스에이블시키고/시키거나 상기 라디오 인터페이스를 디스에이블시킴으로써, 단지 정당한(허가받은) 소프트웨어만이 프로세서 코어의 GSM 및/또는 3G 기능을 위한 프로세싱 부품 및/또는 라디오 인터페이스를 동작시키는데 확실하게 이용될 수 있다. 따라서, 라디오 인터페이스의 오용이 방지되고, 방사선 증가로 인한 전화기 그 자체, 네트워크 및 사용자에 대한 유해성이 방지된다. 또한, 상기 디스에이블링은 이동 전화의 소비 전력을 감소시킨다.
또한, 소프트웨어를 저장하도록 구성된 메모리, 소프트웨어의 신뢰성을 검증하도록 구성된 제 1 프로세싱 부품, 상기 제 1 프로세싱 부품에 접속된 적어도 하나의 하드웨어 신호 라인을 포함하는 장치가 개시되며, 이때, 상기 제 1 프로세싱 부품은, 상기 소프트웨어가 신뢰성이 없을 경우에, 상기 적어도 하나의 하드웨어 신호 라인 상의 신호를 제 1 상태로 전환시킬 수 있다.
상기 적어도 하나의 하드웨어 신호 라인 상의 상기 신호는 상술한 하드웨어 신호에 대응한다. 또한, 상기 방법 및 그의 실시예에 대한 상술한 설명은 개시된 장치 및 후술하는 실시예에 대해서도 유지된다.
본 발명의 실시예에 따르면, 상기 장치는 적어도 하나의 추가 프로세싱 부품을 포함하고, 상기 적어도 하나의 하드웨어 신호 라인은 상기 적어도 하나의 추가 프로세싱 부품에 접속되고, 제 1 상태에서, 상기 적어도 하나의 하드웨어 신호 라인 상의 상기 신호는 상기 적어도 하나의 프로세싱 부품을 디스에이블시킨다.
본 발명의 실시예에 따르면, 상기 장치는 적어도 하나의 인터페이스를 포함하며, 상기 적어도 하나의 하드웨어 신호 라인은 상기 적어도 하나의 인터페이스에 접속되고, 제 1 상태에서, 상기 적어도 하나의 하드웨어 신호 라인 상의 상기 신호는 상기 적어도 하나의 인터페이스를 디스에이블시킨다.
본 발명의 실시예에 따르면, 상기 제 1 프로세싱 부품은 상기 소프트웨어의 적어도 하나의 디지털 지문을 추출하여, 상기 적어도 하나의 디지털 지문을 적어도 하나의 기준 무결성 지문과 비교하여 상기 소프트웨어의 신뢰성을 검증하도록 구성된다.
본 발명의 실시예에 따르면, 상기 제 1 프로세싱 부품은 레지스터 세트와 해싱 함수를 포함하는 신뢰 플랫폼 모듈이며, 상기 신뢰 플랫폼 모듈은 상기 소프트웨어의 적어도 하나의 기준 메트릭을 해싱하고, 상기 적어도 하나의 기준 메트릭을 상기 레지스터 세트의 적어도 하나의 레지스터로 연장하며, 상기 적어도 하나의 레지스터의 콘텐츠를 적어도 하나의 기준 무결성 메트릭 인증과 비교하여 상기 소프트웨어의 신뢰성을 검증하도록 구성된다.
본 발명의 실시예에 따르면, 상기 제 1 프로세싱 부품은 장치의 부트 시퀀스동안에 신뢰성을 검증하도록 구성된다.
본 발명의 실시예에 따르면, 상기 제 1 프로세싱 부품은 장치의 런타임 동작 동안에 신뢰성을 검증하도록 구성된다.
본 발명의 실시예에 따르면, 상기 장치는 단일-칩 프로세싱 코어이며, 상기 적어도 하나의 하드웨어 신호 라인은 프로세서 내부에 배선된다.
본 발명의 실시예에 따르면, 상기 장치는 이동 장치의 단일-칩 프로세서 코어이다.
또한, 전자 디바이스가 개시되는데, 그 전자 디바이스는 개시된 장치를 포함한다. 예를 들어, 상기 전자 디바이스는 이동 전화일 수 있다.
마지막으로, 프로그램 코드가 컴퓨터 독출 가능 매체에 저장되는 컴퓨터 프로그램 제품이 개시된다. 프로그램 코드는 프로세서에 의해 실행될 때 개시된 방법을 실현한다.
컴퓨터 프로그램 제품은, 예를 들어, 보호될 수 있는 개별적 메모리 장치일 수 있다. 또한, 상기 개별 메모리 장치는 상술한 신뢰 플랫폼 부품내에 집적화될 수 있다.
본 발명의 다른 목적 및 특징은 첨부된 도면 및 이하의 상세한 설명을 참조하면 더욱 명백할 것이다. 그러나, 도면은 예시적인 목적으로 도시되었을 뿐, 본 발명을 제한하고자 하는 것은 아니며, 그것은 첨부된 청구범위가 참조되어야 한다. 도면은 축적으로 도시된 것은 아니며, 단지 본 명세서에서 설명한 구조 및 절차를 개념적으로 도시하기 위한 것임을 알아야 한다.
도 1a는 본 발명에 따른 예시적인 장치의 블럭도,
도 1b는 본 발명에 따른 장치를 포함하는 전자 디바이스의 블럭도,
도 2a는 본 발명에 따른 TCG(Trusted Computing) 부품에 대한 예시적인 제 1 디바이스를 나타낸 도면,
도 2b는 본 발명에 따른 TCG 부품에 대한 예시적인 제 2 디바이스를 나타낸 도면,
도 2c는 본 발명에 따른 TCG 부품에 대한 예시적인 제 3 디바이스를 나타낸 도면,
도 3은 본 발명에 따른 예시적인 제 1 방법을 나타낸 흐름도,
도 4는 본 발명에 따른 예시적인 제 2 방법을 나타낸 흐름도,
도 5는 본 발명에 따른 예시적인 제 3 방법을 나타낸 흐름도.
도 1a는 예시적인 장치에 대한 블럭도로서, 그 장치는 이동 전화와 같은 무선 장치에 이용할 수 있는 프로세서 코어(100)를 나타낸다. 이하의 설명에서는, 이러한 프로세서 코어가 GSM 및/또는 3G 이동 전화에 대해 구성되지만, Bluetooth?, WLAN등과 같은 다른 무선 시스템에도 사용될 수 있다고 간주한다.
상기 프로세서 코어(100)는 범용 코어(110), 라디오 코어(120), TCG 부품(130), 적어도 하나의 메모리(140), 적어도 하나의 시스템 버스(150) 및 SIM 인터페이스(195)와, 적외선 인터페이스(190)와, 프로세서 코어와 라디오 주파수 모듈 을 접속시키는 라디오 인터페이스(170)와, 오디오 인터페이스(180)와, 적어도 하나의 추가 인터페이스(185)를 포함하는 인터페이스 세트를 포함한다. 상기 프로세서 코어(100)는 RAM 또는 ROM과 같은 다른 부품, 다른 인터페이스, 또는 적어도 하나의 수정 오실레이터등을 포함할 수 있다.
프로세서 코어(100)는 소프트웨어에 의해 동작하며, 상기 운영 소프트웨어는 메모리(140)에 저장되거나, 범용 코어(110)내의 메모리 또는 도 1a에 도시되지 않은 프로세서 코어내의 임의의 다른 메모리내에 저장될 수 있다. 또한, 프로세서 코어(100)의 부품들은 상기 적어도 하나의 시스템 버스(150)를 통해 서로 접속된다. 물론, 그 부품들은 둘 이상의 도시된 시스템 버스(150)에 접속된다. 또한, 범용 코어는 프로토콜을 이용하여 시스템 버스(150)와 그의 트래픽을 제어한다.
상기 라디오 코어(120)는 GSM 및/또는 3G 스택, 및/또는 GSM 및/또는 3G 시스템을 위한 디지털 신호 프로세싱과 같이 무선 시스템의 특정 기능을 포함한다.
상기 적어도 하나의 추가 인터페이스(185)는 예를 들어, 운영 시스템을 위한 소프트웨어, 프로세서 코어내의 펌웨어 소프트웨어를 대체시키기 위한 소프트웨어, 또는 프로세서 코어내의 드라이버 소프트웨어나 임의의 다른 소프트웨어와 같은 소프트웨어를 프로세서 코어(100)내에 로딩하는데 이용된다. 이와 같이 로딩된 소프트웨어는 메모리(140) 또는 범용 코어(110)내의 메모리에 로딩될 수 있다. 또한, 상기 적어도 하나의 추가 인터페이스(185)는 디스플레이나 키패드와, 이동 장치의 다른 부품에 프로세서 코어(100)를 접속시키는데 이용된다.
TCG 부품(130)은, 본 출원의 발명의 상세한 설명란에 설명한 제 1 프로세싱 부품의 예시적인 구현에 대응하며, 프로세서 코어(100)의 메모리내에 저장된 소프트웨어의 신뢰성을 검증하도록 구성되며, 상기 메모리는 메모리(140), 범용 코어(110)내의 메모리 또는 도 1a에 도시되지 않은 프로세서 코어내의 임의의 다른 메모리일 수 있다. 예를 들어, 프로세서 코어내의 임의의 새롭게 로딩된 소프트웨어는 실행전에 TCG 부품(130)에 의해 검증된다. 발명의 상세한 설명란에 설명한 임의의 방법 및 그의 실시예는 TCG 부품(130)에 의해 실행됨으로써, 상기 소프트웨어의 신뢰성을 검증한다. 이하의 설명에서는, 소프트웨어의 신뢰성을 검증하는 여러 예시적인 방법이 설명될 것이다. 적어도 하나의 하드웨어 신호 라인(162)은 커넥터(connector : 161)를 통해 TCG 부품에 접속된다. 상기 적어도 하나의 하드웨어 신호 라인(162)은 본 발명에 따라 하드웨어 신호를 운송하며, TCG 부품(130)이 소프트웨어가 신뢰성이 없다고 판정하면, TCG 부품(130)은, 상기 적어도 하나의 하드웨어 신호 라인(162)상의 상기 하드웨어 신호를 제 1 상태로 전환시킨다.
상기 적어도 하나의 하드웨어 신호 라인(162)은 커넥터(121)를 통해 라디오 코어(120)에 접속되며, 커넥터(171)를 통해 라디오 인터페이스(170)에 접속되고, 그에 따라, 상기 적어도 하나의 하드웨어 신호 라인(162)이 제 1 상태로 전환되면, 라디오 코어(120) 및/또는 라디오 인터페이스(170)는 디스에이블된다. 따라서, 예를 들어, 운영 시스템에 대한 해킹된 소프트웨어를 프로세서 코어내에 로딩했던 해커로 인하여, 프로세서 코어내의 소프트웨어의 신뢰성이 제공되지 않은 경우에는, 라디오 인터페이스(170)가 디스에이블되고, 그에 따라 라디오 인터페이스의 오용이 방지되며, 방사선 증가로 인한 전화기 자체, 네트워크 및 사용자에 대한 유해성이 방지된다. 이러한 것은, 라디오 코어(120)를 디스에이블시킴에 의해 달성된다. 또한, 라디오 코어(120)를 디스에이블시키면 이동 전화기의 전력 소모가 감소된다.
또한, 도 1a에는 도시되지 않았지만, 상기 적어도 하나의 하드웨어 신호 라인(162)은 프로세서 코어(100)의 다른 부품/인터페이스에 접속됨으로써, 상기 적어도 하나의 하드웨어 신호 라인(162)상의 하드웨어 신호가 제 1 상태일 때, 이들 부품/인터페이스들이 디스에이블된다. 즉, 상기 적어도 하나의 하드웨어 신호 라인(162)은 SIM 인터페이스(195)에 접속됨으로써, TCG 부품(130)이 소프트웨어가 신뢰성없다고 판정하면, SIM 인터페이스(195)는 디스에이블된다.
상기 적어도 하나의 하드웨어 신호 라인(162)은 프로세서 코어(100)에 배선된다. 단지 TCG 부품(130)만이 커넥터(161)를 통해 상기 적어도 하나의 하드웨어 신호 라인(162)상의 하드웨어 신호를 변경할 수 있다. TCG 부품(130)으로부터 판정된 신뢰성 정보가 상기 적어도 하나의 하드웨어 신호 라인(162)상에 운송된 하드웨어 신호에 제공되면, 판정된 신뢰성 정보는 프로세서 코어의 운영 시스템으로부터 분리될 수 있으며, 그에 따라 해커는 소프트웨어를 이용하여 이러한 하드웨어 신호를 손상시키지 못한다. 따라서, 상기 적어도 하나의 하드웨어 신호 라인(162)상의 이러한 하드웨어 신호는 상기 장치상의 소프트웨어의 신뢰성보다 나은 신뢰 정보를 나타내는데, 이는 판정된 신뢰성 정보가 장치의 운영 시스템으로부터 분리되어 전송되기 때문이다. 본 발명에 따른 하드웨어 신호를 이용한 이러한 해법은, 예를 들어, 판정된 신뢰성 정보가 프로토콜을 이용하여 시스템 버스(150)를 통해 전송되는 경우, 판정된 신뢰성 정보를 손상시키는데 이용될 수 있는 소프트웨어를 통해 판정 된 신뢰성 정보가 손상되는 것을 방지한다.
예를 들어, 프로세서 코어(100)는 단일-프로세서 코어이다. 이 경우, 상기 적어도 하나의 하드웨어 신호 라인(162)은 단일-프로세서 코어, 즉, 단일-프로세서 코어의 실리콘에 배선되며, 그에 따라 상기 적어도 하나의 하드웨어 신호 라인(162)의 변경 및 그에 따른 상기 적어도 하나의 하드웨어 신호 라인(162)상의 상기 하드웨어 신호의 변경이 매우 효과적으로 방지된다.
도 1b에는 도 1a에 도시된 예시적인 프로세서 코어(100)를 포함하는 디바이스의 예시적인 실시예가 도시되며, 프로세서 코어(100)의 라디오 인터페이스(170)의 출력/입력(172)에 접속된 라디오 주파수 모듈(174) 및 안테나(175)와, 오디오 인터페이스(180)의 출력/입력(181)에 접속된 오디오 부품(182)과, 적외선 인터페이스(190)의 출력/입력(191)에 접속된 적외선 부품(192)과, SIM 카드 제어기(195)의 출력/입력(196)에 접속된 SIM 카드(197)와 같은 디바이스의 단지 선택된 부품들만이 도시된다. 예를 들어, 상기 디바이스는 이동 전화기일 수 있으며, 다른 부품은 프로세서 코어(100)의 상기 적어도 하나의 추가 인터페이스(180)의 입력/출력(181)에 접속된다. 디바이스의 추가 부품은 디스플레이, 키 패드등과 같은, 커넥터(186)를 통해 프로세서 코어(100)의 상기 적어도 하나의 인터페이스(185)에 접속된다. 예를 들어, 상기 디바이스는 이동 전화기이다.
본 발명에 따르면, 상기 하드웨어 신호는, 프로세서 코어내의 소프트웨어가 신뢰성이 없는 것으로 판정되면, 제 1 상태로 전환되고, 그 다음 프로세서 코어의 라디오 인터페이스(170)는 디스에이블되며, 그에 따라, 라디오 인터페이스 모듈(174)에는 신호가 입력되지 않고, 안테나(175)는 방사되지 않는다. 따라서, 인증되지 않은 소프트웨어가 프로세서 코어내로 로딩되는 경우에, 방사선 증가로 인한 네트워크 및 사용자에 대한 유해성이 방지된다.
도 3에는 본 발명에 따라 소프트웨어의 신뢰성을 검증하는 예시적인 제 1 방법이 도시된다. 이 방법은 도 1a에 도시된 TCG 부품(130)에 의해 실행되며, 상기 TCG 부품(130)은 도 2a 및 도 2b에 도시된 신뢰 플랫폼 모듈(200,210)에 의해 실현된다.
이러한 예시적인 제 1 방법에 따르면, 디지털 지문은 단계(310)에서 프로세서 코어(100)내의 상기 소프트웨어로부터 추출되고, 상기 디지털 지문은 단계 (320)에서 적어도 하나의 기준 무결성 지문과 비교되어, 단계(330)에서 상기 소프트웨어의 신뢰성을 검증한다.
상기 적어도 하나의 기준 무결성 지문은 인증된 소프트웨어 및/또는 인증된 소프트웨어의 부품의 적어도 하나의 지문을 나타낸다. 따라서, 상기 적어도 하나의 추출된 디지털 지문이 기준 무결성 지문에 대응하면, 상기 적어도 하나의 추출된 디지털 지문에 대응하는 소프트웨어/소프트웨어 부품이 어째든 손상되지 않았다고 간주될 수 있는데, 그 이유는 그것이 인증된 소프트웨어/소프트웨어 부품과 동일하다고 간주되기 때문이다.
상기 적어도 하나의 기준 무결성 지문은 프로세서 코어(100)의 메모리 부품에 저장되며, 상기 메모리 부품은 예를 들어 해커로부터 보호되고, 상기 메모리 부품은 비 휘발성 메모리를 나타낸다. 예를 들어, 상기 메모리 부품은 TCG 부품(130) 내에 존재한다.
상기 적어도 하나의 디지털 지문은 해시 함수에 의해 생성되며, 상기 해시 함수는 소프트웨어 또는 소프트웨어의 부품의 해시 값을 계산한다. 따라서, 추출된 디지털 지문은 추출된 해시값을 나타내며, 기준 무결성 지문은 인증된 소프트웨어/소프트웨어 부품의 동일 해시 함수에 의해 계산되었던 해시 값을 나타낸다.
추출된 디지털 지문이 디지털 기준 무결성 지문에 대응하면, 단계(330)에서, 소프트웨어 또는 소프트웨어 부품이 신뢰성있다고 판정되어 하드웨어 신호는 단계(340)에서 제 2 상태로 전환된다. 이 단계(340)는 필수적인 것은 아니며, 예를 들어, 신뢰성이 제공되지 않으면 하드웨어 신호는 변경되지 않는다. 또한, 단계(330)에서 소프트웨어 또는 소프트웨어 부품이 신뢰성이 없는 것으로 판정되면, 하드웨어 신호는 단계(350)에서 제 1 상태로 전환된다.
예를 들어, 도 3에 도시된 예시적인 제 1 방법에 따른 소프트웨어의 신뢰성 검증은 TCG 그룹의 이동 TPM 사양을 따르며, 상기 추출된 디지털 지문은 소프트웨어의 해시 값에 대응하고, 상기 디지털 기준 무결성 지문은 기준 무결성 메트릭 인증에 대응한다.
도 2a, 도 2b 및 도 2c에는 도 1a에 도시된 TCG 부품(130)을 위해 이용되고 도 3 내지 5에 도시된 예시적인 방법을 실행하는데 적용되는 TCG 부품(200,210,215)의 예시적인 제 1 실시예, 제 2 실시예 및 제 3 실시예가 도시된다.
예시적인 제 1 및 제 2 실시예에 있어서, 상기 TCG 부품은 마이크로제어기(240), 플랫폼 구성 레지스터(PCR) 세트(220), 메모리(230), TPM(200,210)을 도 1a에 도시된 버스 시스템(150)과 같은 버스 시스템에 접속시키는 입력/출력 인터페이스(250), 도 1a의 커넥터(161)와 같은 커넥터(211)에 접속되어 도 1a의 신호(162)와 같은 하드웨어 신호를 전송하는 하드웨어 신호 라인(241)을 포함하는 신뢰 플랫폼 모듈(TPM)(200,210)에 의해 표시된다. 예시적인 제 1 실시예에 따르면, 상기 커넥터(211)는 마이크로제어기(240)에 접속되며, 그에 따라, 마이크로제어기는 상기 하드웨어 신호 라인(241)상의 하드웨어 신호를 제 1 상태 또는 제 2 상태로 전환시키거나, 대안적으로, 예시적인 제 2 실시예에 따라, 상기 하드웨어 커넥터(211)는 상기 레지스터 세트(220)의 레지스터 또는 상기 레지스터 세트(220)의 레지스터의 특정 비트에 접속된다. 상기 TPM(200,210)이 도 1a에 도시된 장치(100)내의 TCG 부품(150)으로서 이용되면, 커넥터(211)는 도 1a에 도시된 커넥터(161)를 통해 상기 적어도 하나의 하드웨어 신호 라인(162)을 제공하는 도 1a의 커넥터(161)와 유사하다.
예를 들어, 상기 TPM(200,210)은 TCG 그룹의 이동 TPM 사양을 따르며, 상기 신뢰 플랫폼 모듈은 TPM 코어를 나타내고, 상기 TPM 코어는 보안 코어이다.
또한, 예를 들어, 상기 신뢰 플랫폼 모듈(200,210)은 플랫폼 구성 레지스터(PCR) 세트를 포함하며, 발명의 상세한 설명에서 설명한 바와 같이 소프트웨어 및/또는 소프트웨어 부품의 검증을 실행하는데 적용되고, 기준 무결성 메트릭 인증은 메모리(230)에 저장되며, 마이크로제어기는 소프트웨어나 소프트웨어 부품의 적어도 하나의 기준 무결성 메트릭을 해싱하고, 신뢰성 검증을 실행하는데 이용된다.
도 2c에 도시된 TCG 부품(215)의 예시적인 제 3 실시예는 소프트웨어의 신뢰성을 검증하는 프로세싱 부품(260)을 포함하며, 이 TCG 부품(215)은 도 2a에 도시된 예시적인 제 1 실시예 또는 제 2 실시예의 신뢰 플랫폼 모듈(200,210)에 기본적으로 대응하고, 그에 따라 프로세싱 부품(260)은 상기 마이크로제어기(240), 상기 플랫폼 구성 레지스터(PCR) 세트(220) 및 상기 메모리(230)를 포함하지만, 상기 프로세싱 부품(260)에 합체되기 위한 임의의 다른 구현도 적용될 수 있다.
프로세싱 부품(260)은 일방향 스위치(270)에 접속되고, 일방향 스위치(270)는 하드웨어 신호를 전송하기 위한 적어도 하나의 커넥터(211)에 접속된다. 상기 일방향 스위치(270)는 상기 제 1 상태에서 다른 상태로 하드웨어 신호를 전환할 수 없다.
예를 들어, 상기 하드웨어 신호는 상기 소프트웨어의 신뢰성을 검증하기 전에 상기 일방향 스위치(270)에 의해 제 2 상태로 전환되며, 상기 제 2 상태는 소프트웨어의 신뢰성이 제공됨을 나타낸다.
따라서, 소프트웨어가 신뢰성이 없다고 판정되는 경우, 상기 프로세싱 부품(260)은 일방향 스위치(270)를 제어하여 상기 하드웨어 신호를 제 2 상태에서 제 1 상태로 전환하며, 하드웨어 신호는 소프트웨어가 신뢰성이 있음을 나타내는 제 2 상태로 다시 전환되지 못한다. 이에 따라, 소프트웨어가 신뢰성이 없다고 판정되고 나면, 하드웨어 신호의 변경이 방지된다. 소프트웨어가 신뢰성이 없다고 판정되면, 상기 일방향 스위치(270)는, 장치가 스위치 오프될 때까지, 하드웨어 신호를 상기 제 1 상태로 유지시킨다.
이에 따라, 보안 부트 시퀀시를 가질 경우, 발명의 상세한 설명 또는 이하에서 예시적으로 설명한 바와 같이, 신뢰성 검증을 실행하는 프로세싱 부품(260)의 모든 인터페이스(250)가 공개를 유지할 수 있게 되는데, 이는 상기 일방향 스위치(270)에 의해 방지되어 하드웨어 신호가 제 1 상태에서 제 2 상태로 전환될 수 없기 때문이다.
일방향 스위치(270)는, 또한, 도 2b에 도시된 TCG 부품(210)의 예시적인 제 2 실시예에 기초하여 TPM 기능에 의해 구현될 수 있으며, 상기 적어도 하나의 하드웨어 신호 라인(221,211)에 배선된 상기 PCR 세트(230)의 상기 레지스터는 상기 하드웨어 신호의 제 1 상태를 나타내는 값을 다른 상태를 나타내는 값으로 전환시킬 수 없다. 예를 들어, 상기 레지스터의 최하위 비트는 상기 적어도 하나의 하드웨어 신호 라인(221,211)에 배선되며, 소프트웨어가 기준 무결성 메트릭 인증에 의해 신뢰성이 없다고 검출되면, 상기 기준 무결성 메트릭 인증은 상기 레지스터의 콘텐츠를 제 1 상태에 대응하는 값, 예를 들어 값 2로 갱신하는데, 상기 값은, 장치가 스위치 오프되어 상기 레지스터가 상기 일방향 스위치(270)에 기능적으로 대응할때 까지, 변경되지 않은 채로 유지된다.
도 4에는, 프로세서 코어(100)가 부팅되기 전/부팅되는 동안에 부트 소프트웨어를 검증하는데 이용되며, 또한 프로세서 코어(100)의 런타임 동작 동안에 프로세서 코어(100)에 로딩된 소프트웨어의 여러 부품들을 검증하는데 이용되는, 프로세서 코어(100)에서의 소프트웨어의 검증을 위한 예시적인 제 2 방법의 흐름도가 도시된다. 그 검증은, 도 2a, 도 2b 또는 도 2c에 도시된 예시적인 제 1 TPM(200), 예시적인 제 2 TPM(210) 또는 예시적인 제 3 TPM(215)에 의해 실행될 수 있다.
예를 들어, 프로세서 코어의 상기 부트 시퀀스는 펌웨어, BIOS, 운영 시스템 로더 및 운영 시스템과 같은 소프트웨어 부품 및 다른 부품을 연속적으로 로딩하고 실행시키는 것을 포함한다.
예를 들어, 부트 시퀀스의 검증 시작전에, PCR 세트의 소정 PCR은 초기화되고, 하드웨어 신호는 제 1 상태로 전환된다.
예를 들어, TPM(200,210)의 CRTM은 단계(410)에 따라 제 1 소트트웨어 부품을 로딩할 수 있게 하고, CRTM은 단계(411)에서 상기 소프트웨어 부품의 제 1 기준 메트릭을 해싱함에 의해 부트 시퀀스의 상기 여러 소프트웨어 부품들중 제 1 소프트웨어 부품을 측정할 수 있게 하는데, 이때, 상기 제 1 소프트웨어 부품은 상기 장치의 펌웨어에 대응한다. 이후, 이러한 제 1 기준 메트릭은 단계(412)에서 상기 PCR 세트(200) 중의 제 1 PCR로 연장된다. 제 1 PCR에 있어서의 제 1 기준 메트릭은 단계(420)에서 적어도 하나의 기준 무결성 메트릭 인증과 비교되어, 단계(430)에서 제 1 소프트웨어 부품의 신뢰성을 검증하며, 단계(430)에서 제 1 부품이 신뢰성 있는 것으로 판정된 경우에만, 단계(440)에서 상기 제 1 소프트웨어 부품이 실행되어 부프 시퀀스를 개시하지만, 그렇지 않은 경우에는, 단계(460)에 따라 하드웨어 신호가 제 1 상태로 전환되고, 부트 시퀀스는 중지된다. 그 다음, 제 1 소프트웨어 부품의 신뢰성이 단계(430)에 따라 제공되면, 단계(440)에서 소프트웨어 부품을 실행한 이후, 단계(441)에서 로딩될 추가적인 소프트웨어 부품이 있는지를 검사한다.
부트 시퀀스의 연속하는 제 2 소프트웨어 부품과 같이 로딩될 추가적인 소프트웨어 부품이 있으면, 흐름도는 시작으로 플립(flip)하고, 단계(410)에서 제 2 소프트웨어 부품이 로딩되며, 단계(411)에서 상기 제 2 소프트웨어 부품의 제 2 기준 메트릭이 해싱된다. 그 다음, 제 2 기준 메트릭을 선행하는 PCR의 콘텐츠를 연계시키고, 이와 같이 선행하는 PCR의 콘텐츠와 연계된 제 2 기준 메트릭의 해싱된 값을 상기 추가 PCR로 연장함에 의해 제 2 기준 메트릭은 상기 PCR 세트의 제 2 PCR로 연장된다. 그 다음, 연장된 제 2 기준 메트릭을 단계(420)에서 적어도 하나의 기준 무결성 메트릭과 비교하여, 단계(430)에서 제 2 소프트웨어 부품의 신뢰성을 검증한다. 이러한 반복적인 방식으로, 부트 시퀀스의 소프트웨어 부품의 신뢰성이 검증될 수 있으며, 기준 메트릭은 단계(411)에서 부트 시퀀스의 다음 소프트웨어 부품으로부터 해싱된다. 단계(412)에서 이러한 기준 메트릭을 선행하는 소프트웨어 부품에 대응하는 PCR의 콘텐츠와 연계시키고, 그것을 PCR 세트의 다음 PCR에 연장시킴에 의해 기준 메트릭은 상기 PCR 세트(220)의 다음 PCR에 연장된다. 부트 시퀀스가 정확하면, 즉, 모든 선행하는 PCR의 콘텐츠에 의존하는 부트 시퀀스의 마지막 소프트웨어 부품의 연장된 기준 메트릭이 단계(420,430)에서 정확한 것으로 검증되면, 단계(450)에서 하드웨어 신호는 제 2 상태로 전환되어, 부트 시퀀스의 소프트웨어의 신뢰성을 나타낸다.
예를 들어, 도 2b에 도시된 TPM(210)의 예시적인 제 2 실시예가 이용되면, 하드웨어 신호 라인(221)은 커넥터(211)를 통해, 상기 PCR 세트의 소정 PCR, 예를 들어, 상기 PCR 세트가 16개의 PCR을 구비하는 경우, PCR 번호 15로 배선되며, 하드웨어 신호 라인은, 예를 들어, PCR 번호 15의 최하위 비트에 배선되고, 부트 시퀀스가 신뢰성있는 것으로 검증될 경우에, 상기 PCR 15는 프리셋 값, 예를 들어, 값 1이나 임의의 홀수값으로 설정되며, 그에 따라, 상기 적어도 하나의 하드웨어 신호 라인 상의 신호는 제 2 상태의 하드웨어 신호에 대응하여, 부트 소프트웨어가 신뢰성있음을 나타낸다. 신뢰성이 제공되지 않으면, 상기 PCR 콘텐츠는 0으로서, 하드웨어 신호의 제 1 상태에 대응한다.
또한, 상기 PCR 15는 발명의 상세한 설명에 언급한 상기 추가 레지스터에 대응하는 것으로, 록킹되는데 적합하며, 그에 따라, 기준 무결성 메트릭 인증에 의해서만 갱신될 수 있다. 상기 록킹 기능은 TPM 특징에 의해 제공된다. 상기 기준 무결성 메트릭은 상기 적어도 하나의 연장된 기준 메트릭의 유효성을 검사하기 위한 기준 값을 포함하고, 상기 PCR에 설정될 수 있는 값을 위한 장소를 포함한다. 적어도 하나의 측정된 기준 메트릭과 비교한 상기 기준 무결성 메트릭의 무결성 검증이 성공하면, 상기 기준 무결성 메트릭의 상기 값만이 상기 PCR 15에 설정된다. 예를 들어, 상기 기준 메트릭 인증은 상기 장소에 값 1을 포함하며, 상기 기준 인증은 부트 시퀀스의 상기 최종 소프트웨어 부품의 연장된 기준 메트릭을 검증하는데 이용되며, 그에 의해, 상기 선행하는 PCR의 선행하는 연장된 기준 메트릭이 자동 검증되고, 그에 따라, 부트 시퀀스의 모든 소프트웨어 부품의 신뢰성이 제공되고 그에 대응하여 하드웨어 신호가 제 2 상태로 전환되면(단계(450)), 상기 PCR 15는 상기 기준 메트릭 인증에 의해 값 1 로 갱신된다. 상기 기준 메트릭 인증이 신뢰성 있는 소프트웨어를 검출하지 못하면(단계(430)), 상기 PCR 15는 그의 값을 1로 유지시키고, 하드웨어 신호의 제 1 상태로의 전환을 유지시킨다(단계(460)).
대안적으로, 도 2a에 도시된 TPM(200)의 예시적인 제 1 실시예에 따르면, TPM(200)의 마이크로제어기(240)는 하드웨어 신호 라인(241)에 접속되며, 부트 시퀀스의 소프트웨어의 신뢰성이 단계(450)에 따라 제공되면, 상기 하드웨어 신호 라인 상의 신호를, 부트 소프트웨어가 신뢰성 있음을 나타내는 제 2 상태로 전환시키지만, 그렇지 않을 경우에는, 마이크로컴퓨터는 상기 하드웨어 신호 라인(241)상의 신호를 단계(460)에 따라 제 1 상태로 전환시킨다.
도 5에는 프로세서 코어(100)의 런타임 동작동안에 소프트웨어의 신뢰성 검증을 실행하는데 적용되는, 프로세서 코어(100)의 소프트웨어 검증을 위한 예시적인 제 3 실시예에 대한 흐름도가 도시된다.
예를 들어, 소프트웨어 검증은, 사용자가 운영 시스템이나 새로운 커늘(kernel)등을 위한 소프트웨어일 수 있는 프로세서 코어내의 새로운 소프트웨어를 로딩하기 원할 경우에 필요하다.
예를 들어, 상기 하드웨어 신호는 사용자가 소프트웨어를 프로세서 코어(100)내에 로딩하기 전에 제 1 상태로 전환되며, 그에 따라, 라디오 인터페이스(170) 및/또는 라디오 코어(129)는 디스에이블된다. 그 다음, 상기 소프트웨어는 프로세서 코어의 메모리에 로딩되고, 상기 소프트웨어는 도 5의 흐름도에 도시된 방법에 따라 검증된다.
해시 기준 메트릭은 단계(510)에서 소프트웨어로부터 추출되며, 그 다음, 상기 기준 메트릭은 단계(520)에서 PCR로 연장되는데, 이때, 이 연장은 상술한 방법의 예시적인 제 2 실시예에서 설명한 단계(420)에 따라 실행된다. 예를 들어, 단계(520)에서 선행하는 소프트웨어 부품에 대응하는 PCR의 콘텐츠를 이 기준 메트릭에 연계시키고, 그것을 상기 PCR 세트내의 다음 PCR에 연장시킴에 의해 기준 메트릭이 연장된다. 그 다음, 단계(530)에서 연장된 기준 메트릭을 적어도 하나의 기준 무결성 메트릭과 비교하고, 단계(540)에서 소프트웨어가 신뢰성이 없다고 검증되면, 하드웨어 신호는 제 1 상태로 전환된다.
또한, 기준 무결정 메트릭 인증은, 예를 들어, 최근성을 위한 부스트랩 카운터(bootstrap counter)나 보안 카운터와 같은 카운터에 결부된다. 그에 따라, 방법의 예시적인 제 2 실시예의 단계(420)와 예시적인 제 3 실시예의 대응 단계(530)에서 기준 메트릭을 비교하는 단계 동작은, 실제 업그레이드된 소프트웨어 버전이 로딩됨을 보장하기 위해 기준 무결성 메트릭 인증의 카운터를 비교하는 단계를 포함하며, 그에 따라 에러를 가질 수 있는 구형 소프트웨어 버전이 이 카운터에 의해 검출될 수 있게 된다.
본 발명의 기초적인 신규한 특징이 바람직한 실시예에 적용되는 것으로 도시되고, 설명되고, 지적되었지만, 설명된 디바이스 및 방법의 형태와 세목에 대한 여러 생략, 대체 및 변경이 본 발명의 사상을 벗어나지 않고서 당업자에 의해 이루어질 수 있음을 알 것이다. 예를 들어, 동일 결과를 달성하기 위해 실질적으로 동일한 방식으로 실질적으로 동일한 기능을 실행하는 이들 소자 및/또는 방법의 모든 조합이 본 발명의 범주내에 있음을 명확히 알 것이다. 본 발명의 임의의 개시된 형태 또는 실시예와 관련하여 도시되고/되거나 설명된 구조 및/또는 소자 및/또는 방법은, 일반적인 디자인 선택 문제로서, 임의의 다른 개시되거나 설명되거나 제안된 형태 또는 실시예로 합체될 수 있음을 알아야 한다. 그러므로, 본 발명은 첨부된 청구범위의 범주에 의해 표시된대로 제한되어야 한다. 또한, 청구범위에 있어서, 수단과 기능 조합 문구는 설명된 기능을 실행하는 것으로 본 명세서에서 설명된 구조와, 구조적 등가 및 등가적 구조를 포괄한다.

Claims (35)

  1. 장치 내의 소프트웨어의 신뢰성을 검증하는 단계와,
    상기 소프트웨어가 신뢰성이 없을 경우 상기 장치 내의 하드웨어 신호를 제 1 상태로 전환하는 단계를 포함하되,
    상기 하드웨어 신호가 상기 제 1 상태로 전환되면, 상기 장치를 네트워크에 접속시키는 통신 인터페이스가 디스에이블되는
    장치 내의 소프트웨어의 신뢰성 검증 방법.
  2. 삭제
  3. 삭제
  4. 제 1 항에 있어서,
    상기 방법은 상기 소프트웨어의 하나 이상의 디지털 지문을 추출하는 단계와,
    상기 소프트웨어의 신뢰성을 검증하기 위해 상기 하나 이상의 디지털 지문 중 적어도 하나를 적어도 하나의 기준 무결성 지문(reference integrity fingerprint)과 비교하는 단계를 더 포함하는
    장치 내의 소프트웨어의 신뢰성 검증 방법.
  5. 제 1 항에 있어서,
    상기 방법은,
    상기 소프트웨어의 적어도 하나의 기준 메트릭을 해싱하는 단계와,
    상기 적어도 하나의 기준 메트릭을 레지스터 세트의 하나 이상의 레지스터로 연장시키는 단계 - 상기 레지스터 세트는 상기 장치의 신뢰 플랫폼 모듈내에 존재함 - 와,
    상기 하나 이상의 레지스터들 중 적어도 하나의 레지스터의 콘텐츠를 적어도 하나의 기준 무결성 메트릭 인증서와 비교하여, 상기 소프트웨어의 신뢰성을 검증하는 단계를 더 포함하는
    장치 내의 소프트웨어의 신뢰성 검증 방법.
  6. 제 5 항에 있어서,
    상기 방법은,
    상기 소프트웨어의 신뢰성 검증 전에 적어도 하나의 하드웨어 신호 라인 상의 하드웨어 신호를 제 1 상태로 전환시키는 제 1 값으로 상기 레지스터 세트의 추가 레지스터를 설정하는 단계 - 상기 레지스터 세트의 추가 레지스터(further register)는 기준 무결성 메트릭 인증서에 의해서만 갱신될 수 있음 - 와,
    신뢰성 검증을 위해 상기 하나 이상의 레지스터들 중 상기 적어도 하나의 레지스터의 콘텐츠를 적어도 하나의 기준 무결성 메트릭 인증서와 비교하는 상기 단계의 결과가 성공인 경우에, 상기 기준 무결성 메트릭 인증서에 의해 상기 추가 레지스터를 제 2 값으로 갱신하는 단계를 더 포함하되,
    상기 제 2 값은 상기 적어도 하나의 하드웨어 신호 라인 상의 하드웨어 신호를 상기 소프트웨어의 신뢰성을 나타내는 제 2 상태로 전환하는
    장치 내의 소프트웨어의 신뢰성 검증 방법.
  7. 제 1 항에 있어서,
    상기 신뢰성은 상기 장치의 부트 시퀀스와 상기 장치의 런타임 동작 중 적어도 하나 동안에 검증되는
    장치 내의 소프트웨어의 신뢰성 검증 방법.
  8. 삭제
  9. 제 1 항에 있어서,
    상기 하드웨어 신호를 상기 소프트웨어의 신뢰성 검증전에 제 2 상태로 전환하는 단계를 더 포함하고, 상기 하드웨어 신호는 상기 장치의 재시작없이는 상기 제 1 상태에서 다른 상태로 전환될 수 없는
    장치 내의 소프트웨어의 신뢰성 검증 방법.
  10. 제 9 항에 있어서,
    상기 하드웨어 신호는 적어도 하나의 하드웨어 신호 라인을 통해 전송되고, 상기 하드웨어 신호는 일방향 스위치에 의해 전환되며, 상기 일방향 스위치는, 상기 장치의 재시작없이는, 상기 하드웨어 신호를 상기 제 1 상태에서 다른 상태로 전환시키지 못하는
    장치 내의 소프트웨어의 신뢰성 검증 방법.
  11. 장치 내 소프트웨어의 신뢰성을 검증하는 장치로서,
    소프트웨어를 저장하도록 구성된 메모리와,
    상기 소프트웨어의 신뢰성을 검증하도록 구성된 제 1 프로세싱 구성요소와,
    상기 제 1 프로세싱 구성요소에 접속된 적어도 하나의 하드웨어 신호 라인을 포함하되,
    상기 제 1 프로세싱 구성요소는, 상기 소프트웨어가 신뢰성이 없으면 상기 적어도 하나의 하드웨어 신호 라인 상의 신호를 제 1 상태로 전환시키도록 구성되고,
    상기 하드웨어 신호가 상기 제 1 상태로 전환되면, 상기 장치를 네트워크에 접속시키는 통신 인터페이스가 디스에이블되는
    소프트웨어 신뢰성 검증 장치.
  12. 삭제
  13. 삭제
  14. 제 11 항에 있어서,
    상기 제 1 프로세싱 구성요소는 상기 소프트웨어의 적어도 하나의 디지털 지문을 추출하고, 상기 적어도 하나의 디지털 지문 중 적어도 하나를 적어도 하나의 기준 무결성 지문과 비교하여 상기 소프트웨어의 신뢰성을 검증하도록 구성되는
    소프트웨어 신뢰성 검증 장치.
  15. 제 11 항에 있어서,
    상기 제 1 프로세싱 구성요소는 레지스터 세트와 해싱 함수를 포함하는 신뢰 플랫폼 모듈이고,
    상기 신뢰 플랫폼 모듈은, 상기 소프트웨어의 적어도 하나의 기준 메트릭을 해싱하고, 상기 적어도 하나의 기준 메트릭을 상기 레지스터 세트의 적어도 하나의 레지스터로 연장하며, 상기 적어도 하나의 레지스터 중 적어도 하나의 콘텐츠를 적어도 하나의 기준 무결성 메트릭 인증서와 비교하여, 상기 소프트웨어의 신뢰성을 검증하도록 구성되는
    소프트웨어 신뢰성 검증 장치.
  16. 제 15 항에 있어서,
    상기 레지스터 세트의 추가 레지스터는 기준 무결성 메트릭 인증서에 의해서만 갱신될 수 있고, 상기 추가 레지스터는 적어도 하나의 하드웨어 신호 라인에 배선된 적어도 하나의 비트를 가지며, 상기 적어도 하나의 하드웨어 신호 라인은 상기 하드웨어 신호를 전송하고,
    상기 신뢰 플랫폼 모듈은, 상기 추가 레지스터를 상기 소프트웨어의 신뢰성 검증전에 상기 적어도 하나의 하드웨어 신호 라인 상의 하드웨어 신호를 제 1 상태로 전환시키는 제 1 값으로 설정하고, 신뢰성 검증을 위해 상기 적어도 하나의 레지스터 중 적어도 하나의 콘텐츠를 적어도 하나의 기준 무결성 메트릭 인증서와 비교한 결과가 성공인 경우에, 상기 추가 레지스터를 제 2 값으로 갱신하도록 구성되며, 상기 제 2 값은 상기 적어도 하나의 하드웨어 신호 라인 상의 하드웨어 신호를 상기 소프트웨어의 신뢰성을 나타내는 제 2 상태로 전환하는
    소프트웨어 신뢰성 검증 장치.
  17. 제 11 항에 있어서,
    상기 제 1 프로세싱 구성요소는 상기 장치의 부트 시퀀스 동안에 신뢰성을 검증하도록 구성되는
    소프트웨어 신뢰성 검증 장치.
  18. 제 11 항에 있어서,
    상기 제 1 프로세싱 구성요소는 상기 장치의 런타임 동작 동안에 신뢰성을 검증하도록 구성되는
    소프트웨어 신뢰성 검증 장치.
  19. 제 11 항에 있어서,
    상기 프로세싱 구성요소는 상기 소프트웨어의 신뢰성 검증전에 상기 하드웨어 신호를 제 2 상태로 전환하도록 더 구성되며, 상기 하드웨어 신호는 상기 장치의 재시작없이는 상기 제 1 상태에서 상기 제 2 상태로 전환될 수 없는
    소프트웨어 신뢰성 검증 장치.
  20. 제 19 항에 있어서,
    상기 장치는 상기 적어도 하나의 하드웨어 신호 라인 상의 상기 하드웨어 신호를 전환시키는 일방향 스위치를 포함하고, 상기 일방향 스위치는 상기 제 1 프로세싱 구성요소에 접속되며, 상기 일방향 스위치는 상기 장치의 재시작없이는 상기 제 1 상태에서 상기 제 2 상태로 하드웨어 신호를 전환시킬 수 없는
    소프트웨어 신뢰성 검증 장치.
  21. 제 11 항에 있어서,
    상기 장치는 단일 칩 프로세서 코어를 포함하며, 상기 적어도 하나의 하드웨어 신호 라인은 프로세서 내부에 배선되는
    소프트웨어 신뢰성 검증 장치.
  22. 삭제
  23. 청구항 제 1 항 및 제 4 항 내지 제 7 항 중 어느 한 항의 방법을 수행하도록 구성된 컴퓨터 프로그램 제품이 내장된 컴퓨터 판독가능 매체.
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
KR1020097008267A 2006-09-25 2007-09-20 소프트웨어 신뢰성 검증 방법, 장치 및 컴퓨터 판독가능 매체 KR101229148B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/527,747 US20080077801A1 (en) 2006-09-25 2006-09-25 Protecting interfaces on processor architectures
US11/527,747 2006-09-25
PCT/IB2007/053815 WO2008038196A2 (en) 2006-09-25 2007-09-20 Protecting interfaces on processor architectures

Publications (2)

Publication Number Publication Date
KR20090080050A KR20090080050A (ko) 2009-07-23
KR101229148B1 true KR101229148B1 (ko) 2013-02-04

Family

ID=39167788

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097008267A KR101229148B1 (ko) 2006-09-25 2007-09-20 소프트웨어 신뢰성 검증 방법, 장치 및 컴퓨터 판독가능 매체

Country Status (5)

Country Link
US (1) US20080077801A1 (ko)
EP (2) EP4123487A1 (ko)
KR (1) KR101229148B1 (ko)
CN (1) CN101542494A (ko)
WO (1) WO2008038196A2 (ko)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7809955B2 (en) * 2006-10-17 2010-10-05 Blue Ridge Networks, Inc. Trustable communities for a computer system
JP5097130B2 (ja) * 2006-12-27 2012-12-12 パナソニック株式会社 情報端末、セキュリティデバイス、データ保護方法及びデータ保護プログラム
CN101226569A (zh) * 2007-01-19 2008-07-23 国际商业机器公司 在虚拟机中验证代码模块的方法及装置
US20090204964A1 (en) * 2007-10-12 2009-08-13 Foley Peter F Distributed trusted virtualization platform
JP5085287B2 (ja) * 2007-11-21 2012-11-28 株式会社リコー 情報処理装置、正当性検証方法および正当性検証プログラム
US8621191B2 (en) * 2007-12-26 2013-12-31 Nokia Corporation Methods, apparatuses, and computer program products for providing a secure predefined boot sequence
US8281229B2 (en) * 2008-12-30 2012-10-02 Intel Corporation Firmware verification using system memory error check logic
KR101590188B1 (ko) * 2009-05-08 2016-01-29 삼성전자주식회사 휴대단말기에서 소프트웨어 패키지의 무결성을 검증하는 방법
US8490179B2 (en) * 2009-10-27 2013-07-16 Hewlett-Packard Development Company, L.P. Computing platform
US20110107395A1 (en) * 2009-11-03 2011-05-05 Nokia Corporation Method and apparatus for providing a fast and secure boot process
CN105515776A (zh) * 2010-03-05 2016-04-20 交互数字专利控股公司 给设备提供安全性的方法和装置
EP2543215A2 (en) * 2010-03-05 2013-01-09 InterDigital Patent Holdings, Inc. Method and apparatus for providing security to devices
US9813233B2 (en) 2010-04-13 2017-11-07 Cornell University Private overlay for information networks
US20120110562A1 (en) * 2010-10-27 2012-05-03 David Heinrich Synchronized firmware update
US9064118B1 (en) * 2012-03-16 2015-06-23 Google Inc. Indicating whether a system has booted up from an untrusted image
US20140007229A1 (en) * 2012-06-29 2014-01-02 Christopher T. Smith System and method for identifying installed software products
US9942257B1 (en) * 2012-07-11 2018-04-10 Amazon Technologies, Inc. Trustworthy indication of software integrity
CN104268461B (zh) * 2014-09-16 2018-03-06 华为技术有限公司 一种可信度量方法及装置
KR101665794B1 (ko) * 2014-12-22 2016-10-13 현대오트론 주식회사 다이 기반의 차량 제어기 전용 반도체 설계 방법 및 이에 의해 제조되는 차량 제어기 전용 반도체
US9727737B1 (en) 2015-07-27 2017-08-08 Amazon Technologies, Inc. Trustworthy indication of software integrity
EP3663947B1 (en) * 2018-12-06 2021-11-24 Hewlett-Packard Development Company, L.P. Protected peripheral ports
US11334670B2 (en) 2020-01-28 2022-05-17 Hewlett Packard Enterprise Development Lp Integrity verification for a software stack or part of a software stack
US11520895B2 (en) 2020-12-07 2022-12-06 Samsung Electronics Co., Ltd. System and method for dynamic verification of trusted applications
US11657158B2 (en) * 2021-05-24 2023-05-23 Dell Products L.P. Systems and methods for extending boot security trust chaining to state changes between boot sessions
US20230006833A1 (en) * 2021-07-01 2023-01-05 Lenovo (Singapore) Pte. Ltd. Ranked hash validation for new software update file

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060150052A1 (en) * 2002-08-02 2006-07-06 Christian Kornblum Accepting a set of data in a computer unit

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5421006A (en) * 1992-05-07 1995-05-30 Compaq Computer Corp. Method and apparatus for assessing integrity of computer system software
US5864683A (en) * 1994-10-12 1999-01-26 Secure Computing Corporartion System for providing secure internetwork by connecting type enforcing secure computers to external network for limiting access to data based on user and process access rights
US6108787A (en) * 1995-03-31 2000-08-22 The Commonwealth Of Australia Method and means for interconnecting different security level networks
US5953502A (en) * 1997-02-13 1999-09-14 Helbig, Sr.; Walter A Method and apparatus for enhancing computer system security
US6304970B1 (en) * 1997-09-02 2001-10-16 International Business Mcahines Corporation Hardware access control locking
US6704399B1 (en) * 1999-04-12 2004-03-09 Conexant Systems, Inc. Quick connect parameter exchange
US6625729B1 (en) * 2000-03-31 2003-09-23 Hewlett-Packard Company, L.P. Computer system having security features for authenticating different components
US6928548B1 (en) * 2000-09-29 2005-08-09 Intel Corporation System and method for verifying the integrity of stored information within an electronic device
AU2002321718A1 (en) * 2002-08-13 2004-02-25 Nokia Corporation Computer architecture for executing a program in a secure of insecure mode
US20040172558A1 (en) * 2002-11-18 2004-09-02 Terrance Callahan Method and system for access control
US6834347B2 (en) * 2003-04-29 2004-12-21 International Business Machines Corporation Target self-security for upgrades for an embedded device
US7484099B2 (en) * 2004-07-29 2009-01-27 International Business Machines Corporation Method, apparatus, and product for asserting physical presence with a trusted platform module in a hypervisor environment
US7712143B2 (en) * 2006-09-27 2010-05-04 Blue Ridge Networks, Inc. Trusted enclave for a computer system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060150052A1 (en) * 2002-08-02 2006-07-06 Christian Kornblum Accepting a set of data in a computer unit

Also Published As

Publication number Publication date
US20080077801A1 (en) 2008-03-27
EP2069992B1 (en) 2022-07-06
CN101542494A (zh) 2009-09-23
WO2008038196A2 (en) 2008-04-03
KR20090080050A (ko) 2009-07-23
WO2008038196A3 (en) 2008-08-14
EP4123487A1 (en) 2023-01-25
EP2069992A2 (en) 2009-06-17

Similar Documents

Publication Publication Date Title
KR101229148B1 (ko) 소프트웨어 신뢰성 검증 방법, 장치 및 컴퓨터 판독가능 매체
US10931451B2 (en) Securely recovering a computing device
US11093258B2 (en) Method for trusted booting of PLC based on measurement mechanism
US8789037B2 (en) Compatible trust in a computing device
US8826405B2 (en) Trusting an unverified code image in a computing device
US8254568B2 (en) Secure booting a computing device
US7921286B2 (en) Computer initialization for secure kernel
JP4854677B2 (ja) 処理デバイスのメモリコンテンツの更新
EP2962241B1 (en) Continuation of trust for platform boot firmware
TWI476683B (zh) 保全韌體之更新
WO2004015553A1 (en) Computer architecture for executing a program in a secure of insecure mode
KR20160042897A (ko) 참조 플랫폼 매니페스트 및 데이터 씰링에 따른 보안 os 부팅 기법
CN113614723A (zh) 更新信号
US20230078058A1 (en) Computing systems employing a secure boot processing system that disallows inbound access when performing immutable boot-up tasks for enhanced security, and related methods
EP1535124A1 (en) Computer architecture for executing a program in a secure of insecure mode

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B601 Maintenance of original decision after re-examination before a trial
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20110909

Effective date: 20121231

S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160104

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170102

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180103

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190103

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20200103

Year of fee payment: 8