KR20170010095A - 장치에 대한 보안을 제공하는 방법 및 장치 - Google Patents

장치에 대한 보안을 제공하는 방법 및 장치 Download PDF

Info

Publication number
KR20170010095A
KR20170010095A KR1020177001402A KR20177001402A KR20170010095A KR 20170010095 A KR20170010095 A KR 20170010095A KR 1020177001402 A KR1020177001402 A KR 1020177001402A KR 20177001402 A KR20177001402 A KR 20177001402A KR 20170010095 A KR20170010095 A KR 20170010095A
Authority
KR
South Korea
Prior art keywords
tree
data
verification
sml
platform
Prior art date
Application number
KR1020177001402A
Other languages
English (en)
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 KR20170010095A publication Critical patent/KR20170010095A/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • G06F17/30327
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • 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/3234Cryptographic 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 additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • 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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3265Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate chains, trees or paths; Hierarchical trust model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • 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/10Integrity
    • H04W12/106Packet or message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • H04W12/108Source integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system
    • 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/30Compression, e.g. Merkle-Damgard construction
    • 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
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)
  • Small-Scale Networks (AREA)

Abstract

무선 송수신 유닛(WTRU)의 확인을 위해 사용될 수 있는 검증 데이터를 생성하는 시스템, 방법 및 장치가 제공된다. 검증 데이터는 뿌리 노드로서 표시되는 피보호 레지스터 및 잎 노드로서 표시되는 컴포넌트 측정치를 구비한 트리 구조를 이용하여 생성될 수 있다. 검증 데이터는 WTRU를 확인하기 위해 사용될 수 있다. 확인은 2개 이상의 네트워크 엔티티 사이에서 확인 작업을 배분하는 묘사된 확인 형태인 분할 확인을 이용하여 수행될 수 있다. 서브트리 인증이 또한 묘사되고, 여기에서 트리 구조의 서브트리는 제3자에 의해 인증될 수 있다.

Description

장치에 대한 보안을 제공하는 방법 및 장치{METHOD AND APPARATUS FOR PROVIDING SECURITY TO DEVICES}
관련 출원에 대한 교차 참조
이 출원은 2010년 3월 16일자 출원한 미국 가출원 일련번호 제61/314,395호 및 2010년 3월 5일자 출원한 미국 가출원 일련번호 제61/311,106호를 우선권 주장하며, 이 우선권 출원들의 전체 내용은 여기에서의 인용에 의해 본원에 통합된다.
기술분야
본 출원은 장치에 대한 보안을 제공하는 것에 관한 것이다.
기계 대 기계(machine to machine; M2M) 통신의 출현으로 e-헬쓰, 지오트래킹(Geo-Tracking), 가정 자동화 및 소비자 장치에서의 응용이 가능해졌다. 많은 이러한 응용들은 네트워크 오퍼레이터 장비가 고객 구내에 있어야 한다. 이러한 장비 및 장치들은 악성 공격을 받기 쉽다. 그러한 악성 공격을 퇴치하기 위해, 방화벽 및 바이러스 보호를 포함한 다른 형태의 장치 보호 외에, 상기 고객 구내 기반 장비에 대하여 장치 무결성 검증(integrity verification)이 요구된다.
장치 무결성 보호를 위하여 몇 가지 방법이 논의되어 왔다. 이러한 방법은 신뢰성 있는 실행 환경이 무결성이 검증된 소프트웨어 컴포넌트만을 로딩 및 실행하는 보안 부팅(secure boot)을 포함한다. 그러나 이 방법은 조직화되지 않은 측정치 집합을 필요로 하는데, 이것은 그러한 측정치의 수가 매우 큰 경우에 관리에 어려움을 줄 수 있다. 그러므로, 무결성에 실패한 컴포넌트의 효율적인 조사를 위해 측정치를 수집하고 분류하고 조직화하는데 도움을 주는 방법 및 관련 장치가 필요하다.
무선 송수신 유닛(wireless transmit-receive unit; WTRU)의 확인(validation)을 위해 사용되는 검증 데이터를 생성하는 방법을 비롯해서, 검증 데이터를 생성하기 위한 각종 기술들이 본 명세서에서 설명된다. WTRU는 다수의 보안 레지스터와 함께 하나 이상의 컴포넌트 및 보안 환경을 가질 수 있다.
일 실시형태에 따르면, WTRU의 복수의 컴포넌트 각각에 대하여, WTRU의 컴포넌트의 측정치를 나타내는 소정의 값이 획득될 수 있다. 측정치 이력 기록(measurement log; ML)이 컴포넌트 측정치 값의 기록을 포함해서 생성될 수 있고 기타의 컴포넌트마다 특유한 데이터가 WTRU에 저장될 수 있다. 검증 데이터는 각 컴포넌트의 컴포넌트 측정치 값으로부터 생성될 수 있고, 검증 데이터는 신뢰성 있는 플랫폼 모듈 내의 하나 이상의 보안 레지스터에 저장될 수 있다. 검증 데이터 및 ML은 트리(tree) 구조로 조직화될 수 있다. 검증 데이터를 포함한 보안 레지스터는 트리 구조의 뿌리(root)를 규정할 수 있다. ML은 트리 구조의 내부 노드를 규정할 수 있고, ML에 포함된 측정치 값들은 트리 구조의 잎(leaf)을 규정할 수 있다. 트리 구조는 보안 환경의 보안 확장 연산을 이용하여 형성될 수 있다.
다른 실시형태에 따르면, WTRU의 컴포넌트의 측정치를 나타내는 값이 획득될 수 있다. 검증 데이터는 측정치 값으로부터 생성될 수 있고, 검증 데이터는 WTRU의 보안 환경 내의 레지스터에 저장될 수 있다. 측정치 값은 트리 구조의 잎 노드에 저장될 수 있다. 하나 이상의 확장 연산이 보안 환경 내에서 수행되어 잎 노드에 저장된 값을 상기 트리 구조의 뿌리 노드까지 확장할 수 있다. 뿌리 노드는 생성된 검증 데이터가 저장되는 보안 레지스터의 데이터를 포함할 수 있다.
다른 실시형태에 따르면, 무선 송수신 유닛(WTRU)에 의해 생성된 트리형 검증 데이터를 확인(validate)하는 방법이 개시된다. 트리형 검증 데이터는 트리 구조로 조직화된 검증 데이터 요소, 측정치 이력 기록(ML), 및 컴포넌트 측정치 값을 포함할 수 있다. 검증 데이터 요소는 트리 구조의 뿌리 노드를 규정할 수 있다. ML은 트리 구조의 내부 노드를 규정할 수 있다. 컴포넌트 측정치 값은 트리 구조의 잎 노드를 규정할 수 있다. 트리형 검증 데이터는 조직화된 트리 구조에서 수신될 수 있다. 수신된 트리형 검증 데이터의 뿌리에 있는 검증 데이터 요소로부터 시작하여, 트리 구조가 순회될 수 있다. 트리 구조를 순회하는 일부로서, 수신된 트리 구조의 가지 노드에서의 값 및 가지 노드의 자식 노드에서의 값들이 기준 트리의 동일한 노드 위치에서의 값들과 비교될 수 있다. 그 다음에, 노드 값들의 비교 결과에 기초해서 WTRU를 확인할 것인지 또는 WTRU의 개별 컴포넌트를 확인할 것인지를 결정할 수 있다.
다른 실시형태에 따르면, 무선 송수신 유닛(WTRU)에서 생성된 측정치 이력 기록(ML)의 노드 값을 인증(certity)하는 방법이 개시된다. ML의 값들은 뿌리 노드, 내부 노드 및 잎 노드를 포함한 트리 구조의 각 노드로서 저장될 수 있다. 서브트리 인증 기관(subtree certificate authority; SCA)에 의해 인증될 노드 값을 표시하는 입증 패키지(attestation package)가 수신될 수 있다. 노드 값은 SCA에 의해 인증될 수 있는 노드 값으로서 인식될 수 있다. 노드 값과 관련된 매니페스트(manifest)이 노드 값과 관련된 확인 정보를 포함해서 생성될 수 있다. WTRU의 보안 환경에 확인 정보를 결합하도록 구성된, 노드 값에 대한 인증서(certificate)가 생성될 수 있다. 인증서는 매니페스트와 함께 발행될 수 있고, 그 ML에 인증서를 저장하는 WTRU의 보안 환경에 제공될 수 있다.
본 명세서에서 설명하는 시스템, 방법 및 장치의 다른 특징 및 양태들은 이하의 상세한 설명 및 관련 도면을 참조함으로써 명백히 될 것이다.
무결성에 실패한 컴포넌트의 효율적인 조사를 위해 측정치를 수집하고 분류하고 조직화하는데 도움을 줄 수 있다.
전술한 발명의 개요 및 이하에서 설명하는 상세한 설명은 첨부도면을 참조하면서 읽을 때 더 잘 이해할 수 있을 것이다. 본 명세서에서 기술되는 시스템, 방법 및 장치를 설명할 목적으로, 도면에는 예시적인 실시형태가 도시되어 있다. 그러나, 본 발명은 도시되어 있는 특정의 방법 및 수단으로 제한되는 것이 아니다. 도면에 있어서:
도 1은 예시적인 롱텀 에볼루션 무선 통신 시스템/접근 네트워크를 보인 도이다.
도 2는 도 1의 롱텀 에볼루션 무선 통신 시스템의 예시적인 블록도이다.
도 3은 트리형의 저장된 측정치 이력 기록(SML) 및 검증 데이터의 개략적인 구조를 보인 도이다.
도 4는 트리 형성을 나타내는 알고리즘(알고리즘 1)의 예를 보인 도이다.
도 5는 우측 엣지에서의 구성 보정을 보인 도이다.
도 6은 불완전 트리의 정화(cleanup)를 보인 알고리즘(알고리즘 2)을 보인 도이다.
도 7은 깊이가 3인 불완전 트리의 순서 형성/트리 분지를 보인 도이다.
도 8은 잎에서의 측정치 값을 m으로 표시한, 트리 검증 데이터의 최대 용량 배열을 보인 도이다.
도 9는 트리형 SML의 노드 구성의 분류를 보인 도이다.
도 10은 2df(d=16)개의 불량 잎의 무작위 분포에서 예상되는 불량 내부 노드의 단편을 보인 도이다.
도 11은 SML 트리에서 각각의 기본 삼각형의 값들의 정확한 구성을 보인 도이다.
도 12는 선형 해쉬 체인에서 제1 실패점을 찾기 위한 알고리즘 1을 보인 도이다.
도 13은 허프만 코딩 트리의 예를 보인 도이다.
도 14는 트리 가지치기의 예를 보인 도이다.
도 15는 최적의 트리형 검증 계통도/계통도 및 관련 통신을 보인 도이다.
도 16은 모듈에 의해 표시된 소프트웨어 컴포넌트 또는 기능이 다른 모듈을 이용할 때 대리 자식 링크를 가진 트리를 보인 도이다.
도 17은 메트릭에 의해 이진 트리의 개체수를 결정하기 위한 알고리즘 2를 보인 도이다.
도 18은 TPM 커맨드를 이용하여 트리의 개체수를 결정하기 위한 알고리즘 3을 보인 도이다.
도 19는 메트릭에 의해 n-ary 트리의 개체수를 결정하기 위한 알고리즘 4를 보인 도이다.
도 20은 대리 자식 링크에 의해 이진 트리의 개체수를 결정하기 위한 알고리즘 5를 보인 도이다.
도 21은 실패한 무결성 체크에 의해 노드 및 잎을 결정하기 위한 비교 및 가지치기 알고리즘 6을 보인 도이다.
도 22는 TPM_축소_트리_검증_부하를 나타내는 알고리즘 1을 보인 도이다.
도 23은 TPM_축소_트리_검증을 나타내는 알고리즘 2를 보인 도이다.
도 24a는 TPM_트리_노드_검증을 나타내는 알고리즘 3을 보인 도이다.
도 24b는 TPM_축소 트리_갱신을 나타내는 알고리즘 4를 보인 도이다.
도 25는 PVM의 데이터 카테고리를 보인 도이다.
도 26은 뿌리를 가진 서브 트리의 서브트리 인증 프로토콜을 보인 도이다.
도 27은 인증서 서브트리 결합을 보인 도이다.
도 28은 좌측 불평형 다중 트리 구조를 보인 도이다.
도 29는 본 명세서에서 설명하는 트리 구조의 예시적인 실시형태를 보인 도이다.
도 30은 컴포넌트 서브트리 구조를 보인 도이다.
도 31은 분할 확인 단계 1의 측정치 수집을 보인 도이다.
도 32는 분할 확인 단계 2의 서브트리 인증을 보인 도이다.
도 33은 분할 확인 단계 3의 서비스 접속을 보인 도이다.
도 34는 분할 확인의 H(e)NB 사용예를 보인 도이다.
도 35는 로그 디바이스에 대한 접근을 차단하는 H(e)NB를 보인 도이다.
도 36은 장치들을 그들의 유형, 장치 부류, 장치 속성 또는 접속 프로필에 따라 그룹화하고 장치 확인 트리에 대한 그룹 인증서를 제공하는 M2M GW를 보인 도이다.
도 37은 M2M GW P2P 분할 확인을 보인 도이다.
도 38은 본 발명의 하나 이상의 실시형태가 구현될 수 있는 예시적인 통신 시스템의 계통도이다.
도 39는 도 38에 도시된 통신 시스템에서 사용될 수 있는 예시적인 무선 송수신 유닛(WTRU)의 계통도이다.
도 40은 도 38에 도시된 통신 시스템에서 사용될 수 있는 예시적인 무선 접근 네트워크 및 예시적인 코어 네트워크의 계통도이다.
이하에서 인용되는 용어 "무선 송수신 유닛"(wireless transmit/receive unit; WTRU)은, 비제한적인 예를 들자면, 사용자 장비(UE), 이동국, 고정식 또는 이동식 가입자 유닛, 페이저, 셀룰러 전화기, 개인용 정보 단말기(PDA), 컴퓨터, 또는 무선 환경에서 동작할 수 있는 임의의 다른 유형의 사용자 장치를 포함한다. 이하에서 인용되는 용어 "기지국"은, 비제한적인 예를 들자면, 노드-B, 사이트 제어기, 접근점(AP), 또는 무선 환경에서 동작할 수 있는 임의의 다른 유형의 인터페이스 장치를 포함한다.
무선 송수신 유닛(WTRU)의 확인을 위해 사용되는 검증 데이터를 생성하는 방법을 비롯해서, 검증 데이터를 생성하기 위한 각종 기술들이 본 명세서에서 설명된다. WTRU는 다수의 보안 레지스터와 함께 하나 이상의 컴포넌트 및 보안 환경을 가질 수 있다. 보안 환경은 보안 실행 환경을 제공하는 보안 하드웨어 및/또는 소프트웨어 환경을 포함할 수 있다. 예를 들면, 보안 환경은 신뢰성 플랫폼 모듈(trusted platform module; TPM), 스마트 카드, 범용 집적회로 카드(Universal Integrated Circuit Card; UICC), 또는 이들의 임의 조합일 수 있다. 보안 환경은 예를 들면 암호화 기능과 같은 보안 기능, 예를 들면 동작 레지스터와 같은 보안 자원, 메모리, 난수 생성기, 타이머, 및/또는 클럭을 보호하기 위해 사용될 수 있다.
일 실시형태에 따르면, 검증 데이터는 WTRU의 복수의 컴포넌트 각각에 대하여, WTRU의 컴포넌트의 측정치를 나타내는 소정의 값을 획득함으로써 생성될 수 있다. 측정치 이력 기록(measurement log; ML)이 컴포넌트 측정치 값의 기록을 포함해서 생성될 수 있고 기타의 컴포넌트마다 특유한 데이터가 WTRU에 저장될 수 있다. 검증 데이터는 각 컴포넌트의 컴포넌트 측정치 값으로부터 생성될 수 있고, 검증 데이터는 신뢰성 플랫폼 모듈 내의 하나 이상의 보안 레지스터에 저장될 수 있다. 검증 데이터 및 ML은 트리 구조로 조직화될 수 있다. 검증 데이터를 포함한 보안 레지스터는 트리 구조의 뿌리를 규정할 수 있다. ML은 트리 구조의 내부 노드를 규정할 수 있고, ML에 포함된 측정치 값들은 트리 구조의 잎을 규정할 수 있다. 트리 구조는 보안 환경의 보안 확장 연산을 이용하여 형성될 수 있다.
다른 실시형태에 따르면, WTRU의 컴포넌트의 측정치를 나타내는 값이 획득될 수 있다. 검증 데이터는 측정치 값으로부터 생성될 수 있고, 검증 데이터는 WTRU의 보안 환경 내의 레지스터에 저장될 수 있다. 측정치 값은 트리 구조의 잎 노드에 저장될 수 있다. 하나 이상의 확장 연산이 보안 환경 내에서 수행되어 잎 노드에 저장된 값을 상기 트리 구조의 뿌리 노드까지 확장할 수 있다. 뿌리 노드는 생성된 검증 데이터가 저장되는 보안 레지스터의 데이터를 포함할 수 있다.
다른 실시형태에 따르면, 무선 송수신 유닛(WTRU)에 의해 생성된 트리형 검증 데이터를 확인하는 방법이 개시된다. 트리형 검증 데이터는 트리 구조로 조직화된 검증 데이터 요소, 측정치 이력 기록(ML), 및 컴포넌트 측정치 값을 포함할 수 있다. 검증 데이터 요소는 트리 구조의 뿌리 노드를 규정할 수 있다. ML은 트리 구조의 내부 노드를 규정할 수 있다. 컴포넌트 측정치 값은 트리 구조의 잎 노드를 규정할 수 있다. 트리형 검증 데이터는 조직화된 트리 구조에서 수신될 수 있다. 수신된 트리형 검증 데이터의 뿌리에 있는 검증 데이터 요소로부터 시작하여, 트리 구조가 순회될 수 있다. 트리 구조를 순회하는 일부로서, 수신된 트리 구조의 가지 노드에서의 값 및 가지 노드의 자식 노드에서의 값들이 기준 트리의 동일한 노드 위치에서의 값들과 비교될 수 있다. 그 다음에, 노드 값들의 비교 결과에 기초해서 WTRU를 확인할 것인지 또는 WTRU의 개별 컴포넌트를 확인할 것인지를 결정할 수 있다.
다른 실시형태에 따르면, 무선 송수신 유닛(WTRU)에서 생성된 측정치 이력 기록(ML)의 노드 값을 인증하는 방법이 개시된다. ML의 값은 뿌리 노드, 내부 노드 및 잎 노드를 포함한 트리 구조의 각 노드로서 저장될 수 있다. 서브트리 인증 기관(subtree certificate authority; SCA)에 의해 인증될 노드 값을 표시하는 입증 패키지가 수신될 수 있다. 노드 값은 SCA에 의해 인증될 수 있는 노드 값으로서 인식될 수 있다. 노드 값과 관련된 매니페스트가 노드 값과 관련된 확인 정보를 포함해서 생성될 수 있다. WTRU의 보안 환경에 확인 정보를 결합하도록 구성된 노드 값에 대한 인증서가 생성될 수 있다. 인증서는 매니페스트와 함께 발행될 수 있고, 그 ML에 인증서를 저장하는 WTRU의 보안 환경에 제공될 수 있다.
구조화 확인(structured validation)은 데이터 및 확인의 운용상의 양태(operational aspect)가 구조화되는 확인 방법론이다. 구조화 확인의 분리되어 있지만 관련있는 개념 및 방법이 본 명세서에서 설명된다. 예를 들면, 트리형 확인(Tree-Formed Validation; TFV)이 서브트리 인증을 이용하는 방법, TFV의 확장 및 변형예, 및 분할 확인에 촛점을 맞추어서 본 명세서에서 설명되고, 이때 확인 작업은 2개 이상의 네트워크 엔티티 사이에 분산되어, 각각의 확인하는 엔티티가 반드시 전체 장치를 확인할 필요가 없고 그 일부를 확인할 수 있는 분산형 방식으로 (피접속) 장치에 대한 장치 무결성 확인을 네트워크 엔티티가 수행할 수 있게 한다.
도 1은 진화형 범용 지상 무선 접근 네트워크(E-UTRAN)(605)를 포함하는 롱텀 에볼루션(LTE) 무선 통신 시스템/접근 네트워크(400)를 보인 것이다. E-UTRAN(605)은 하나의 WTRU(610)와 수 개의 진화형 노드-B(eNB)(620)를 포함한다. WTRU(610)는 eNB(620)와 통신한다. eNB(620)는 X2 인터페이스를 이용하여 서로 인터페이스 접속한다. 각각의 eNB(620)는 S1 인터페이스를 통해 이동성 관리 엔티티(MME)/서빙 게이트웨이(S-GW)(630)와 인터페이스 접속한다. 도 1에는 하나의 WTRU(610)와 3개의 eNB(620)가 도시되어 있지만, 임의의 무선 장치 및 유선 장치 조합이 무선 통신 시스템 접근 네트워크(600)에 포함될 수 있다는 것을 이해할 것이다.
도 2는 WTRU(610), eNB(620) 및 MME/S-GW(630)를 포함한 LTE 무선 통신 시스템(500)의 예시적인 블록도이다. 도 2에 도시된 바와 같이, WTRU(610), eNB(620) 및 MME/S-GW(630)는 장치에게 보안을 제공하는 방법을 수행하도록 구성된다.
전형적인 WTRU에서 찾을 수 있는 컴포넌트들 외에, WTRU(610)는 선택적으로 연결되는 메모리(722)를 구비한 프로세서(716), 적어도 하나의 송수신기(714), 선택적인 배터리(720) 및 안테나(718)를 구비한다. 프로세서(716)는 장치에게 보안을 제공하는 방법을 수행하도록 구성된다.
송수신기(714)는 프로세서(716) 및 안테나(718)와 통신하여 무선 통신의 송신 및 수신을 행한다. WTRU(610)에서 배터리(720)가 사용되는 경우에, 배터리는 송수신기(714) 및 프로세서(716)에 전력을 공급한다.
전형적인 eNB에서 찾을 수 있는 컴포넌트들 외에, eNB(620)는 선택적으로 연결되는 메모리(715)를 구비한 프로세서(717), 송수신기(719) 및 안테나(721)를 구비한다. 프로세서(717)는 장치에게 보안을 제공하는 방법을 수행하도록 구성된다. 송수신기(719)는 프로세서(717) 및 안테나(721)와 통신하여 무선 통신의 송신 및 수신을 행한다. eNB(620)는 선택적으로 연결되는 메모리(734)를 구비한 프로세서(733)를 가진 이동성 관리 엔티티/서빙 게이트웨이(MME/S-GW)(630)에 접속된다.
일반적으로, 장치 무결성을 보장하기 위하여, 소프트웨어/펌웨어 또는 하드웨어의 측정(예를 들면, 암호화 해쉬 값 등)이 수행되고 신뢰성 있는 기준 값과 비교된다. 측정치 또는 임의의 함수의 이러한 비교 또는 그러한 측정치(검증 데이터라고 공지되어 있음)를 신뢰성 있는 기준 값에 대하여 그룹화하는 것은 장치에서 내부적으로(자율적 확인) 또는 검증 엔티티에 의해 외부적으로(반자율적 또는 원격 확인) 수행될 수 있다. 반자율적 및 원격 확인의 경우에, 측정치는, 암호화되고 무결성 보호되며 암호적으로 인증될 수 있는 페이로드(payload)에서 비조직화 집합으로서 보내질 수 있다.
무결성 검증이 실패한 컴포넌트를 찾기 위하여, 측정치 집합을 기준 값의 집합에 비교하여 무결성 측정이 실패한 지수들의 집합을 생성할 수 있다. 그러나, 측정치의 비조직화 집합은 만일 그러한 측정치의 수가 매우 크면 관리에 곤란함을 줄 수 있다.
실패한 무결성 체크 모듈의 조사를 최적화하기 위해, 검증 데이터가 예를 들면 저장된 측정치 이력 기록(stored measurement log; SML)과 같은 측정치 이력 기록의 해쉬 트리의 형태로 생성될 수 있다. 신뢰성 컴퓨팅 그룹(Trusted Computing Group; TCG) 아키텍처 및 명세서에 의해 사용되는 용어 SML이 본 명세서에서 설명하는 측정치 이력 기록의 각종 실시형태를 설명하는데 사용될 수 있지만, SML은 측정치 이력 기록의 하나의 예시적인 실시형태이다. 조직화의 일 예는 트리형 확인(Tree-Formed Validation; TFV)이다. 저장된 측정치 이력 기록은 평형화 이진 트리로 조직화될 수 있고, 알고리즘은 TPM 커맨드를 이용하여 트리를 생성하기 위해 제공될 수 있다. 알고리즘은 포괄적인 것이고 평형화 이진 트리까지 확장될 수 있다. 트리형 검증으로부터 생성되는 SML은 그 내용면에서 TCG SML과 유사하지만 통신에 의해 구성, 형성, 계산, 사용, 저장, 검색, 갱신, 삭제, 송신 및/또는 수신될 수 있고, 또는 다른 방식으로, TCG SML이 처리 및/또는 관리되는 방법과는 다르게 처리 또는 관리될 수 있다.
TFV는 예를 들면 뒤에서 설명하는 것처럼 TrE에서 구현될 수 있다. TFV는 많은 다른 사용예(use-case) 유형의 혁신으로의 상승을 제공하고, TrE가 목표삼고 있는 복합 유형의 네트워크 측 플랫폼 확인을 위한 기준 인에이블러(reference enabler)이다. TFV의 기술적 콘텐트가 여기에서 설명된다. TFV 포인팅의 개요가 여기에서 설명된다. TFV는 TrE와 관련하여 또한 취급되고 그 응용이 여기에서 설명된다.
TFV의 하나의 요소는 검증 데이터의 계층적 구조이고, 이 계층적 구조는 원격 밸리데이터(validator)에 의한 플랫폼 확인의 각종 장점을 가져온다. 알고리즘은 트리형 검증 데이터의 생성 및 관리와 관련하여 여기에서 설명된다. 또한, 플랫폼의 하부 구조, 즉 검증 데이터의 서브트리에 대한 입증(attestation)이 TFV에서 플랫폼을 확인하기 위해 사용될 수 있다. 뿌리(의 집합)이라고 부르는, 계층 구조에서 검증 데이터의 최상위 레벨은 예를 들면 특수한, 예를 들면 하드웨어 보호 기능이 있는 검증 데이터 레지스터에 의해 TFV에서 보호될 수 있다. TFV는 트리형 검증 데이터에서 작은 효과적인 알고리즘에 의해 동작할 수 있다. TFV의 전반적인 구현예는 TCB 내측에서, 또는 하드웨어 보호형의 보안 실행 환경에서조차 구현될 수 있다. 확인 데이터의 복합 구조는 트리형 검증 데이터의 트리 계층구조와 관련될 수 있고 및/또는 트리 계층구조에 의해 보호될 수 있다. 서브트리는 구조-하부구조 관계에 의해 검증 및 확인 데이터에 대한 고유의 의미론(semantics)을 제공할 수 있다. 그러므로, 서브트리는 밸리데이터에 대한 플랫폼의 기능 부분을 식별할 수 있다.
TFV의 일 실시형태는 수정된 TPM을 이용할 수 있다. 종래 기술로서의 신뢰성 있는 컴퓨팅은 TFV의 현실화 및/또는 표준화를 향한 잠재적 엔트리 포인트이다. TFV는 또한 이진 트리와 같은 트리로부터 하부구조를 가진 더욱 일반적인 구조까지 쉽게 일반화한다.
이하에서는 TFV에 의해 제공될 수 있는 요소들을 설명한다.
보안: 트리형 확인 데이터의 뿌리를 보호함으로써 TFV에서 하드웨어 보호가 제공된다. 기준 보호 레벨은 TPM에서 PCR의 보호 레벨이고, 이것은 TFV에 의해 유지될 수 있는 것으로 보여진다. 플랫폼 측에서의 작은 알고리즘 및 낮은 복잡성은 작은 TCB 또는 온칩에서의 구현을 가능하게 한다.
관리: TFV는 플랫폼의 하부구조를 신뢰성있고 안전하게 선발하고 이러한 하부구조의 수집에 기초하여 플랫폼을 관리하는 방법 및 장치를 포함한다. TFV 서브트리에 의해 표시되는 모듈은 임의의 시나리오에 의해 요구되는 보안 특성으로 융통성있게 변경되거나 갱신되거나 또는 플랫폼들 사이에서 이동될 수 있다.
분포: TFV의 계층구조는 엔티티들 간에 확인의 계층적 분할을 가능하게 한다. 이것은 통신 시나리오 및 사용예의 더욱 융통성있는 설계를 가능하게 하고, 또한 효율성의 잇점을 취한다.
효율성: 조사를 위한 하나의 효과적인 데이터 구조인 이진 트리는 TFV에서 구현될 수 있다. 예를 들면, (원치않는 무결성 측정치 값을 가진) 실패한 컴포넌트에 대한 조사는 TCG형 플랫폼 입증에서보다 TFV에서 더 효과적일 수 있다. TFV에 의해 도입된 자연적인 계층구조는 확인 처리에서의 부하 분포의 옵션을 제공한다.
TFV의 한가지 예시적인 특징은 TFV가 "더욱 중심적인" 엔티티에 의한 다수의 저능력 플랫폼의 확인을 위하여 그 내장 계층 순서에 의해 설계될 수 있다는 점이다. 따라서, TFV는 게이트웨이에, 및/또는 게이트웨이를 통해 네트워크에 접속하는 장치에 적합할 수 있다. 하나의 예시적 사용예(use case)는 M2M 통신 시나리오를 포함한다. TFV의 이러한 특색은 많은 종래의 개념에 대한 직교 개념이 신뢰성 플랫폼에 의한 입증을 설명하기 위한 더 많은 의미론을 제공하게 한다. 플랫폼 입증에 대한 다른 접근법은 완전히 반대의 철학을 보여준다. 이들은 복합 확인 데이터를 생성할 수 있는 플랫폼에 적합하지만, 확인 데이터의 많은 계층적 모듈 구조를 가정하지 않는다. TFV는 PBA, 의미론적 입증(semantic attestation), 시각화 및/또는 HIM과 같은 다른 직교 접근법과 결합될 수 있다.
설명에서 사용되는 어휘 및 두문자어(acronyms)의 리스트가 이하에서 제공된다.
RIM: 기준 무결성 메트릭(Reference Integrity Metric; RIM)은 실제 측정 데이터를 비교할 수 있는 기준 값을 제공한다. RIM은 확인의 목적으로 장치에 의해 제공되는 측정된 값의 상대물(counterpart)이다. RIM은 보고된 측정치 값을 가진 소망의 목표 값의 비교를 위한 기준으로서 소용된다. RIM은 이들이 보안 테스트 설비에서 획득된 예컨대 컴포넌트 코드의 암호화 다이제스트 값으로서 컴포넌트와 유일하게 관련된다는 점에서 무결성의 증거(proof)를 제공한다. RIM은 이들이 측정된 값과의 직접(결정론적) 비교를 가능하게 한다는 점에서 메트릭이다.
RIM 인증서: RIM 인증서는 TTP에 의해 서명된 특수 컴포넌트에 대한 RIM을 포함한다.
AuV: 자율 확인(Autonomous Validation).
IDS: 침입 검출 시스템(Intrusion Detection System).
DoS: 서비스 거부(공격)(Denial-of-service(attack)).
**PVM: 플랫폼 확인 및 관리(Platform Validation and Management). PVE에 의한 플랫폼 확인과 (e)HMS에 의한 플랫폼의 OTA 관리의 조합. 상기 조합으로부터 유도될 수 있는 모든 잠재적인 결합 기능을 포함한다.
DMS: 장치 관리 시스템(Device Management System). 일반 장치에 적용되고 PVM 기능에 의해 향상되는 홈(e)노드B 관리 시스템(HMS)(TS 32.583, [4])용의 일반화 표시법(3GPP LTE).
**RIM 관리자/관리자: RIMman. 확인 데이터베이스(V_DB)를 관리하는 엔티티. 이것은 확인 데이터베이스를 관리하도록 인증된 유일한 엔티티이고 디지털 인증서에서 암호적으로 작용(검증, 생성)하는 유일한 것이다.
SAV: 반 자율적 확인(Semi-autonomous validation). 확인 변형예 PVM은 이것에 기초를 둔다.
TCG: 신뢰성 컴퓨팅 그룹(Trusted Computing Group).
TSS: 신뢰성 소프트웨어 스택(Trusted Software Stack).
TPM: 신뢰성 플랫폼 모듈(Trusted Platform Module).
TTP: 신뢰성 있는 제3자(Trusted Third Party).
TCB: 신뢰성 있는 컴퓨팅 베이스(Trusted Computing Base). 런타임에서 신뢰성에 대하여 평가될 수 없고 따라서 무조건적으로 신뢰되어야 하는 시스템 부분.
CN: 오퍼레이터 코어 네트워크(Operator Core Network).
SHO: 선택된 홈 오퍼레이터(Selected Home Operator).
PKI: 공중 키 기반구조(Public Key Infrastructure).
PDP: 정책 결정점(Policy Decision Point).
PEP: 정책 강화점(Policy Enforcement Point).
D-H: 디피-헬만(Diffie-Hellman).
TFV: 트리형 확인(Tree-Formed Validation).
검증 데이터: 보안 시동(start-up) 처리에서 내부 검증의 총 성과를 독특하게 식별하는 데이터. 중요한 예는 다수의 측정치 값의 연결된 해쉬 값의 형태로 된 PCR 값, 즉 다이제스트이다.
확인 데이터: 검증 데이터와 대조적으로, 확인 데이터는 다른 관계자인 밸리데이터에게 제출되고 플랫폼의 상태의 신뢰성을 평가하기 위해 사용되는 모든 데이터이다.
확인: 예를 들면 TCG에 따른 원격 입증으로서 실현되는 밸리데이터에 대한 확인 데이터의 제출 처리 및 밸리데이터에 의한 확인 데이터의 평가는 적절히 확인이라고 부른다. 확인 데이터는 가끔 인용된 검증 데이터 레지스터(예컨대 PCR) 값과 같은 검증 데이터를 포함할 수 있다. 확인은, 검증 데이터의 암호적 검증을 넘어서, 정책 평가 및 밸리데이터에 의한 동작의 트리거링(triggering)을 포함한다.
검증 데이터 레지스터: 권한 없는 접근 및 변경에 대하여 검증 데이터를 보호하는 하드웨어 기억장치.
신뢰성 플랫폼에 대한 신뢰 관계의 확립은 확인 처리에 의존한다. 확인은 외부 엔티티가 플랫폼 구성의 제공된 흔적(evidence)에 기초하여 예상된 플랫폼의 행동에서 신뢰를 구축할 수 있게 한다. 원격 입증과 같은 확인 메카니즘에 있어서, 신뢰성 플랫폼은 시동 처리 중에 생성된 검증 데이터를 나타낸다. 이러한 데이터는 예를 들면 로드된 또는 시작된 모든 컴포넌트의 해쉬 값과 같은 네스트 측정치 값을 포함하는 플랫폼 구성 레지스터의 하드웨어 보호성 값일 수 있다. 이 값들은 보안성 확장 연산에 의해 선형 순서로 생성될 수 있다. 검증 데이터의 선형 순서 및 관련된 측정치 이력 기록에 기초한, 밸리데이터에 의한 컴포넌트의 세밀한 진단은 비효과적일 수 있다. 컴포넌트 측정치 값이 잎을 나타내고 피보호 레지스터가 뿌리를 나타내는 트리형 검증 데이터를 생성하는 방법이 제공된다. 이 방법의 기능은 제한된 수의 하드웨어 보호성 레지스터 및 표준 확장 연산을 이용하여 나타낸다. 이 방법으로, 검증 데이터의 보안이 유지될 수 있고, 저장된 측정치 이력 기록이 트리로서 일관되게 조직화될 수 있다. 트리형 측정치 이력 기록 및 검증 데이터를 이용하여 플랫폼을 확인하는 기본 메카니즘이 논의된다.
컴퓨팅 플랫폼에서 신뢰를 구축하는 처리는 독특한 공통 패턴을 따를 수 있다. 플랫폼의 시동 중에, 컴포넌트들은 플랫폼의 피보호 엔티티에 의해 측정될 수 있다. 예를 들면, 컴포넌트들은 이들이 로드 및/또는 실행되기 전에 측정될 수 있다. 신뢰 사슬(chain of trust)의 생성은 신뢰성 컴퓨팅 시스템의 중요한 개념이다. 이 사슬은 실행된 명령어 및 프로그램을 비롯해서 시스템 부팅으로부터 현재 시스템 상태까지 갭 없이 확장할 수 있다. 각 컴포넌트는 그 실행 전에 다음 컴포넌트를 측정 및 보고하도록 요구될 수 있다. 직접 후계자의 측정은 측정과 실제 실행 간의 비감시 코드 실행을 금지할 수 있다. 측정 처리는 측정을 위한 신뢰의 근본(root of trust)에 의해 보호될 수 있고, 예를 들면 코드 및 구성 데이터를 통한 다이제스트 값을 계산함으로써 구현될 수 있다.
검증 데이터는 피보호 동작에 의해 측정치 값으로부터 컴파일되고 및/또는 피보호 기억장치에 저장될 수 있다. 검증 데이터는 예를 들면 보안 시동의 완료 후에 플랫폼의 상태를 독특하게 식별할 수 있다. 이 처리의 실시형태는 신뢰 컴퓨팅 그룹(Trusted Computing Group; TCG)에 의해 특정된 인증되고 안전한 부팅일 수 있다. 인증된 부팅은 PC 클라이언트에 대하여 사용될 수 있다. 모바일 플랫폼의 보안 부팅이 또한 사용될 수 있다. 2개의 부팅 간의 차이는 보안 부팅이 만일 그들의 측정치가 신뢰성 있는 기준 값과 동일하면 컴포넌트가 시작하게 하는 로컬 검증 및 강화 엔진을 추가한다는 점이다.
TCG는 컴포넌트 코드 및/또는 데이터의 해쉬(hash)인 측정치 값으로부터, 신뢰성 플랫폼 모듈(Trusted Platform Module; TPM) 및 모바일 신뢰성 모듈(Mobile Trusted Module; MTM)의 확장 연산을 통해 검증 데이터를 각각 계산하도록 제안한다. 데이터는 플랫폼 구성 레지스터(Platform Configuration Register; PCR)에 저장될 수 있다. 일 예로서, 최소 16 PCR이 명세서 버전 1.1에 따라서 존재할 수 있고, 적어도 24 PCR이 TPM의 버전 1.2에서 식별될 수 있다. PCR은 권한 있는 커맨드에 의해 접근될 수 있다. 확장 연산은 다음과 같이 머클-댐가드 변환(Merkle-Damgard transform)과 유사한 해쉬 값의 선형으로 정돈된 네스트 체인을 구축한다.
Figure pat00001
상기 수학식에서 Vi는 검증 데이터 레지스터를 나타내고(PCR에 대하여 i=0;:::;23임), H는 충돌 회피 해쉬 함수(TPM의 경우에 SHA-1)이며, m=H(데이터)는 측정치 값이다. 따라서, TCG 신뢰성 플랫폼의 검증 데이터는 TPM의 피보호 함수 및 차폐 능력에 의한 조작에 대하여 안전하게 될 수 있다.
검증 데이터는 측정치 값의 더 많은 표현 기록 및/또는 저장된 측정치 이력 기록(SML)의 다른 컴포넌트 특유의 데이터를 수반할 수 있다. 외부 엔티티에 대한 확인에 있어서, SML과 같은 검증 및/또는 기타의 데이터는 플랫폼에 의해 서명되고 밸리데이터에게 이전될 수 있다. 밸리데이터는 임의의 원하는 입도(granularity)에 대하여 플랫폼의 신뢰성을 평가할 수 있고, 입도는 확인중에 전달된 총 정보에 의해 제한될 수 있다. 확인을 위한 모범적 실시형태는 입증 프로토콜의 TCG에 의해 규정될 수 있다. 확인은 궁극적으로, TCG의 신뢰성 있는 네트워크 접속 작업 그룹에 의해 계획된 것처럼, 예를 들면 최초의 네트워크 또는 서비스 접근시에, 신뢰성 플랫폼에서 치료 단계를 취하기 위해 사용될 수 있다는 것이 TCG에 의해 예상된다.
트리(예를 들면, 머클 해쉬 트리)에서 TCG 명세서에 의해 예견된 선형 정돈과는 다르게 검증 데이터 및 SML을 조직화하는 방법이 제공된다. 선형으로 연결된 검증 데이터의 효율성 문제는 응용의 관점으로부터 강조된다. 트리로서 검증 데이터를 조직화함에 있어서의 중요한 보안 문제는 TCG 명세서의 측정치 확장 연산만큼 안전하게 생성하는 것임이 또한 제공된다. 해쉬 트리의 뿌리 노드를 정직하게 표현하는 제한된 하드웨어 보호성 레지스터의 집합에서 검증 데이터를 생성하는 방법 및 알고리즘이 또한 제공된다. 트리형 검증 데이터 및 SML이 확인을 위해 어떻게 효율적으로 및 실제적으로 사용될 수 있는지가 또한 보여진다. 트리형 검증 데이터에 대한 구현예 옵션 및 수행되는 실험이 또한 논의된다.
검증 데이터는 무조건적 보안과 함께 시스템 상태에 대한 정보를 제공한다. 예를 들면, 검증 데이터는 TCG 표준에 따라서, 플랫폼에서 또는 확인에 있어서 특별한 보호가 없는 SML과는 무관하게 안전할 수 있다(검증 데이터는 서명된 입증 데이터의 일부가 아닐 수 있다). 서명된 PCR 값, 즉 검증 데이터 자체는 SML에 대한 암시적 무결성 제어를 제공할 수 있다. 이를 위해, 검증 데이터는 모든 확장 연산을 되풀이(retrace)함으로써 SML에서의 측정치로부터 재계산될 수 있다.
측정치 이력 기록를 안전하게 하기 위해 인증 부팅에서 PCR 값을 이용하는 TCG 표준화 방법은 비신뢰 기계에서 감사 이력 기록(audit log)을 안전하게 하기 위해 쉬나이어(Schneier) 및 켈시(Kelsey)에 의해 도입된 기술에 기초를 둘 수 있다. 사실, 해쉬 체인의 최종 요소가 PCR에서 유지되고, SML이 측정치 값을 포함하지만 해쉬 체인의 중간 엔트리는 포함하지 않기 때문에, 상기 방법은 간단할 수 있다. TPM을 이용한 무결성 측정은 리눅스 커널 모듈로서 무결성 측정 아키텍처(Integrity Measurement Architecture; IMA)에서 구현되어 TPM을 이용하여 무결성을 측정하고 선형 SML을 생성할 수 있다.
확장 연산을 선형으로 연결함으로써 생성되는 검증 데이터는 플랫폼의 원격 진단을 위한 제한된 값을 가질 수 있고, 및/또는 컴포넌트 측 교정과 같은 진보된 관리일 수 있다. 본질적으로, SML의 조작 위치는, 측정치 값이 PCR로 확장되기 전에 측정치 값을 무단 변경함으로써 또는 보안 시동 후에 SML 자체를 무단 변경함으로써, 확실성을 갖고 국소화되지 않을 수 있다. 또한, 수백 또는 수천 개의 피측정 컴포넌트를 가진 실세계 SML의 공간 복잡성은 확인이 실패한 컴포넌트에 대하여, 즉 측정치 값이 "양호한" 기준 값과 다른 컴포넌트에 대하여 비용이 많이 들게 한다. 코드 및/또는 데이터의 체크를 위해, 이용가능한 다양한 암호화 체크섬 함수가 있을 수 있고, 이들은 "정확한" 데이터에 대한 체크섬의 무결성이 유지될 것을 요구한다. 각종 기계에서 유효 버전의 소프트웨어의 중앙집중화 데이터베이스의 필요조건은 효율적인 솔루션을 필요로 하는 중요한 관리 문제이다. 또한, 예를 들어서 기계 대 기계 통신 시나리오에서 요구되는 것과 같은 네트워크 장치의 대규모 전개는 고체 장치 및 네트워크측의 균형잡힌 효율적 신뢰 기반구조를 필요로 한다. 보안 필요조건은 네트워크에 느슨하게 접속된 장치에 대하여 높고 반자율적으로 동작할 수 있다. 산업계에서 고려되는 시나리오는 접속 장치의 원격 무결성 체크 또는 확인에 대한 고준위 필요조건을 수반할 수 있다. 본 명세서에서 설명하는 방법 및 장치는 확인을 표현적이고 효율적이며 및/또는 안전하게 하기 위해 사용된다.
TCG 기반구조 작업 그룹의 명세서는 검증된 컴포넌트와 서브컴포넌트를 계층적으로 구분하는, 이 문제에 대한 접근법을 포함할 수 있다. 플랫폼의 구조를 나타내는 신뢰의 나무(Tree of Trust; ToT) 개념 및 표시법이 설명된다. ToT 노드는 TPM으로부터 애플리케이션까지 신뢰 및 보안 성명서로 주석 달린 플랫폼 컴포넌트를 표시할 수 있다. ToT 노드는 플랫폼에 배치되어야 할 신뢰를 평가하기 위해서, 또는 플랫폼을 특정 구속에 따라 재조직화하는 데까지도 사용될 수 있다.
단순한 선형 신뢰 사슬의 단점들이 절박하게 되는 다른 기술적 영역은 가상화이다. 가상 기계는 잠재적으로 많은 층에서 동적으로 생성 및/또는 파괴되어 신뢰 의존성이 있는 트리형의 동적 구조를 야기할 수 있다. 구조화 확인 데이터가 플랫폼의 신뢰성을 진정으로 평가하기 위해 필요할 수 있다는 것을 공동사회가 용인하고 있지만, 검증 데이터(PCR 값)에 대한 그러한 트리형 데이터 계층구조의 입상 연합(granular association)은 부족할 수 있다.
검증 데이터 및 SML은 이진 트리 구조로 조직화될 수 있다. 그러한 구조에 있어서, 검증 데이터 레지스터는 뿌리이고, SML 데이터 구조는 내부 노드를 포함하며, 잎은 컴포넌트 측정치 값일 수 있다. 전체적인 구조는 예컨대 머클 해쉬 트리의 부류를 대표하는 트리 형태일 수 있다. 방법은 n-ary 및 임의의 트리로 일반화될 수 있다. 도 3의 크리스마스 트리는 트리형 검증의 일반 개념을 보이기 위해 사용된다.
도 3은 검증 데이터에 따른 트리형 SML의 일반 구조를 보인 것이다. 별은 검증 데이터 레지스터에 저장된 트리의 뿌리를 표시한다. 컴포넌트(코드 및/또는 데이터)는 잎에 있는 패킷들에 의해 표시된다. 컴포넌트의 측정치 해쉬는 풀매듭(slip knot)에 의해 표시된다. 내부 노드(볼)는 검증 정보를 상류로 뿌리까지 운송한다. 선들은 확인을 위한 트리의 순회를 암시하며, 이것에 대해서는 뒤에서 더 자세히 설명한다.
해쉬 트리의 뿌리 노드를 나타내는 검증 데이터의 보안 생성은 문제점을 가질 수 있다. 정상적인 확장 연산에서, 컴포넌트에서 측정을 위한 신뢰의 근본(Root of Trust for Measurement; RoTM)에 의해 취해지는 측정치 값, 및 현재의 검증 데이터 레지스터 값(Vi)이 사용되고, 동작 자체는 하드웨어 보호성 TPM에서 실행된다.
따라서, 특히 SML에서 보호없이 저장된 측정치는 생성 처리에서 사용되지 않는다. 이것은 새로운 잎의 추가가 트리의 d-2 내부 노드(d는 트리의 깊이임)에 영향을 줄 수 있는 해쉬 트리에 대하여 가능하지 않을 수 있다. 해결할 사항(challenge)은 예컨대 단일 잎 측정치 값을 입력으로서 사용하고 TPM 확장 연산 및 다른 TPM 능력을 이용하여 제한된 수의 하드웨어 보호성 레지스터(PCR) 내에서 트리형 검증 데이터를 생성하는 것이다.
트리형 검증 데이터를 생성하고 보호하는 시스템에서 요구되는 최소 필요조건으로부터, 이하에서 설명하는 방법 및 장치는 TCG 표준에 집착하는 플랫폼 및 보안 하드웨어 요소로 한정되지 않는다.
프로그램의 검증은 로딩 전에 및 부팅중에 수행될 수 있다. 입증(attestation)이 또한 여기에서 설명하는 것처럼 사용될 수 있다. 코드 인증은 신뢰 연산의 목표중에 있다. 실행 코드는 플랫폼의 시동을 보장함으로써 보호될 수 있다. 예를 들면, 하드웨어 메카니즘은 표준 PC 하드웨어에서의 보안 코프로세서에 의해 호스트에서 신뢰를 부트스트랩하기 위해 사용될 수 있다. 신뢰성 플랫폼이 적용될 수 있다. 보안 하드웨어는 보안 부트스트랩 처리에 수반될 수 있다. 예를 들면, 보안 코프로세서는 이상(anomaly)을 검출하면 부팅 처리를 중지할 수 있다. 이것은 부트스트랩 ROM이 안전하다는 것을 추정한다. 이것을 확실히 하기 위해, 부트 벡터 및 부트 코드가 보안 코프로세서에 의해 직접 제공되거나 부트 ROM 자체가 보안 하드웨어의 일부로 될 수 있도록 시스템의 주소 공간을 구성할 수 있다.
이와 관계없이, 보안 코프로세서는 공지의 값에 대하여 소프트웨어의 서명을 체크함으로써 시스템 소프트웨어(OS 커널, 시스템 관련 사용자 수준 소프트웨어)를 검증한다. 코드의 무단 변경 방지 기능이 이 처리에서 구현될 수 있다. 이 문제점에 대한 하나의 접근법은 예컨대 XOM(eXecute Only Memory) 프로세서 아키텍처와 같은 하드웨어, 및 이 아키텍처에 구축되는 XOM 운영체제에서 프로그램 실행을 위한 신뢰를 정착시키는 것일 수 있다. 이것은 프로그램을 안전하게 로딩하는 문제, 및/또는 외부 엔티티를 입증하는 문제를 해결하지 못할 수 있다. AEGIS는 PC에서 보안 부팅을 사용한다. 예를 들면, AEGIS는 서명된 해쉬를 이용하여 테라(Terra)에서 행한 것처럼 부팅 처리시에 각층을 식별하고, 부팅 처리는 가상 기계의 입증시에 종료하는 인증서의 완전한 체인에 의해 로딩된 컴포넌트를 인증할 수 있다.
TCG 명세서는 이진 실행파일을 검증함으로써 플랫폼의 무결성을 원격에서 검증하는 쌍방향 원격 입증을 규정한다. 실행 코드는 로드되었을 때 측정될 수 있다. 측정치는 검증 데이터로서 PCR에 저장될 수 있고, TPM은 데이터를 TPM 보호 키로 서명함으로써 데이터를 입증할 수 있다. 검증자(verifier)는 이 메트릭을 수신한 때 플랫폼을 신뢰성 있는 것으로 생각할 수 있는지 결정할 수 있다. 구성이 송신 및 검증될 수 있기 때문에, 검증자는 기계의 구성을 알 수 있다. 또한, 이진 입증(binary attestation)은 구성을 나타내고, 따라서 사생활 위험성(privacy risk)을 제기한다. 다른 해법에 있어서, "속성" 및 "속성 기반 입증"(property-based attestation; PBA)이 논의된다. PBA는 구체적인 구성 데이터를 드러내지 않고 검증자가 피검증 플랫폼의 보안 속성을 확인할 수 있게 한다. 신뢰성 있는 제3자(trusted third party; TTP)는 이 구성에서 충족될 수 있는 속성(특히 원하는/원치않는 기능)에 플랫폼 구성을 맵하는 인증서를 발행하기 위해 사용된다. 그 다음에, TPM은, 영-지식 증거(zero-knowledge proof)를 이용하여, 완전한 구성을 나타내지 않고 검증자에 대해 상기 속성들을 입증할 수 있다.
PBA는 TCG의 사생활 인증 기관(certificate authority; CA)과 유사하게, 그러나 TCG 사생활 CA의 임무를 연장해서 플랫폼 확인의 기반구조적 문제를 TTP에게 이전한다. 다른 대안예는 사용자 공간과 특권 프로그램(privileged program) 사이에 강한 격리를 확립하기 위해 최소의 신뢰성 컴퓨팅 베이스(Trusted Computing Base; TCB)에 구축되는 넥서스 OS에 의해 제공된다. 넥서스는 보안 메모리 영역을 가지며, 보안 메모리 영역을 보호하도록 기계를 감시 및 강요한다. 하나의 애플리케이션은 장치 드라이버를 사용자 공간으로 이동시킬 수 있다. 넥서스에 의한 입증은 설명 라벨을 피감시 프로그램에 부착하고, 그에 따라서 PBA와 유사한 표현이 가능하지만 시스템 내재적이다. 넥서스 접근법뿐만 아니라 PBA 개념은 복수의 컴포넌트로 구성된 복합 시스템을 확인하는 의미를 갖지 않고, 동적으로 관리될 것이다. 양자의 접근법은 현재의 접근법에 직교하고 현재의 접근법과 결합될 수 있다.
계층적 무결성 관리(Hierarchical Integrity Management; HIM)는 컴포넌트를 향한 무결성 관리 및 플랫폼 컴포넌트의 정책 가능 관리(policy-enabled management)를 위한 동적 프레임워크를 제공한다. 컴포넌트 및 서브컴포넌트는 이 목적으로 유용한 가장 일반적인 구조인 의존성 그래프를 통해 HIM에 관련된다. 그러나, HIM은 원격 플랫폼 확인을 목표로 삼지 않고 PCR의 구조화 플랫폼 검증 데이터를 보호하지 않는다. 그보다는 HIM은 측정치를 함께 글로벌 컴포넌트 구성 레지스터(소프트웨어 레지스터) 테이블에 유지한다.
대형 데이터 세트의 무결성 보호를 위한, 예컨대 머클에 의해 도입된 해쉬 트리와 같은 해쉬 트리의 하나의 애플리케이션은 PKI 내의 인증서 관리 내에 있을 수 있다. 이것은 머클 트리 또는 인증된 조사 트리와 같은 트리 구조를 이용하여 CA의 장기 책임(accountability)을 생성할 수 있다. 해쉬 트리의 사용은 디지털 데이터에 대한 일반적인 장기 보안 파일보관(archiving)까지 확장될 수 있다. 해쉬 트리는 런타임 메모리 보호를 위해 사용될 수 있다.
시스템은 기억장치 및/또는 메모리 보호를 위해 해쉬 트리를 이용할 수 있고 비신뢰 기억장치와 TCB로 분리될 수 있다. TCB에서 동작하는 프로그램은 해쉬 트리를 이용하여 비신뢰 기억장치에 저장된 데이터의 무결성을 유지하고, 상기 비신뢰 기억장치는 프로그램이 TCB에 맞지 않은 데이터를 규칙적으로 저장 및 로드하는 예컨대 쉽게 접근가능한 적하 저장(bulk store)일 수 있다. 전체 트리의 뿌리는 일정한 크기의 온칩 신뢰성 레지스터에 저장되지만, 다른 노드는 메인 메모리 또는 캐시에 저장될 수 있다. 해쉬 트리의 다른 용도는 해쉬 트리가 무선 센서 네트워크(Wireless Sensor Network; WSN)의 분산 코드의 인증을 어떻게 지원하는지를 보여주는 경우를 포함할 수 있다. 또한 WSN에서, 복수의 노드를 수반하는 데이터 집성은 해쉬 트리를 이용하여 보호되는 무결성일 수 있다.
검증 데이터를 조사가능하게 하는 다른 실시형태는 인증된 첨부전용 스킵 리스트(Authenticated Append-only Skip List)를 포함할 수 있고, 이 리스트는 "지름길"(shortcut)을 취함으로써 저장된 데이터 요소의 고속 조사를 가능하게 하도록 설계된 분류된 링크 리스트일 수 있다.
그러나, 트리는 예를 들면 확인에 실패한 잎에서 컴포넌트의 부분집합을 효율적으로 결정하기 위한 플랫폼 상태의 확인에 더 잘 적합될 수 있다. 시스템, 방법 및 장치는 제한된 집합의 무단변경 방지 검증 데이터 레지스터를 이용하여 컴포넌트 측정치 값으로부터, 예를 들면 이진 머클 트리와 같은 트리 구조를 생성하기 위해 여기에서 설명된다. 트리 구조는 예를 들면 표준 확장 연산과 같은 TPM의 능력을 이용하여 생성될 수 있다. 알고리즘은 TCB, 특히 온칩에서 실행되기에 충분하게 작을 수 있다. 이 방법 부분은 해쉬 트리의 뿌리의 생성의 보안성을 증가시킬 수 있고, 이러한 증가는 그 다음에 트리 노드에 대한 더 많은 보안성을 제공할 수 있다. 또한, 여기에서는 원격 플랫폼 확인의 보안성 특징을 증가시키기 위해 공통 PCR 값 및 SML을 통한 진단 능력이 향상된 효율적인 확인을 위해 트리 구조를 이용하고 실패 지점에 대한 조사에서 트리형 구조의 효율로부터 동시에 이익을 취하는 시스템, 방법 및 장치가 설명된다. 이러한 트리 구조 데이터의 사용은 보안 진단, 확인, 및/또는 입증을 위해 사용될 수 있다.
여기에서 설명하는 시스템, 방법 및 장치는 하나의 뿌리 검증 값을 보안적으로 생성하기 위해 제한된 수의 검증 데이터 레지스터를 이용할 수 있다. 예컨대 TPM 동작, PCR 및/또는 SML과 같은 TCG에 의해 특정된 신뢰 컴퓨팅의 구체적인 실시형태에 대한 각 기준은 여기에서 설명하는 시스템, 방법 및 장치의 구현예에서 사용되는 예시적인 실시형태일 수 있다. 알고리즘 및/또는 절차는 이들에 의해 사용되는 최소 능력을 가진 각각의 보안 기술에 적용될 수 있다.
하드웨어 보호성 레지스터 중의 하나인 v def{V1,...,Vr}, 예를 들면 PCR은 최종 트리의 뿌리를 포함할 수 있다. 트리는 예를 들면 알고리즘 콤팩트를 유지하기 위해서 및 실패한 컴포넌트의 미세 검출(fine grained detection)을 제공하기 위해서 이진 형태일 수 있다. 잎은 측정치 값을 소지할 수 있고, 내부 노드는 수정된 SML에 저장될 수 있다. SML은 확인 데이터의 트리 구조를 지원하는 방식으로 수정될 수 있다. 즉, SML은 측정치 값의 선형 리스트가 아니지만 데이터 구조는 표준 트리 동작 및 순회를 지원할 수 있다. 플랫폼 확인 중의 효율적인 조사를 위해, SML은 새로운 잎의 추가를 지원하고 엣지 관계를 유지할 수 있다. 잎에서의 새로운 측정치를 깊이 d로 트리에 추가하는 것은 잎이 감소된 해쉬 트리 및/또는 V∈v로 저장된 트리 뿌리의 d-1 내부 노드의 재계산을 필요로 한다. 머클 트리는 이진 확장 연산(1)이 비상호적이기 때문에, 각각 "좌측" 및 "우측"의 것으로서 자연적인 엣지 컬러링을 갖는다. 잎은 이 순서를 물려받고 좌측에서 우측으로 추가된다. <n>으로 표시되는 잎 n(여기에서, 0≤n≤2d-1)의 이진수 d-디지트 표시는 잎으로부터 뿌리까지의 독특한 경로에서 내부 노드 및 엣지의 자연 좌표를 생성한다. 즉, k번째 디지트(MSB로부터 계수해서, k=1,...,d) <n>k=1은 이 경로의 깊이 k-1에서의 노드가 각각 좌측 엣지에 의해, 우측 엣지에 의해, <n>k=0에 의해 또는 <n>k=1에 의해 접속되는지를 결정한다.
알고리즘의 실행중에 생성된 각 서브트리의 뿌리는 V∈v로 안전하게 저장될 수 있다. 동일한 깊이 d'를 가진 2개의 서브트리(측정치 값은 깊이가 0인 서브트리임)가 존재하면, 이 서브트리들은 깊이가 d'+1인 단일 트리에 합병될 수 있다. 합병 동작을 이용함에 있어서, 서브트리의 뿌리를 보호하는 2개의 V 중의 하나는 합병 동작 후에 자유롭게 될 수 있다. 새롭게 도착한 측정치 값의 갱신 알고리즘은 레지스터 V1,...,Vd-1이 깊이가 1,...,d-1인 "활성" 서브트리의 현재 상태를 포함하고 그에 따라 Vd가 현재의 글로벌 뿌리 값을 포함하도록 공식화될 수 있다.
여기에서 "활성"은 서브트리로서 설명될 수 있고, 그 뿌리는 동일한 깊이의 서브트리와 합병함으로써 완료를 기다린다. 실제의 측정치 값, 피보호 레지스터, 및/또는 정상 확장 연산이 사용되고 비보호 메모리 장소가 연루되지 않도록 공식화에 있어서 주의가 기울여진다. 깊이가 d인 풀 바이너리 트리의 빈 노드는 nil로 표시한다. 트리 형성은 도 4에 도시된 것과 같은 알고리즘 1에 의해 수행될 수 있다.
알고리즘 1에 수반되는 각종 동작은 다음과 같다:
M Vd에 측정치 추가; Vd ← m.
Sv 검증 데이터 레지스터를 SML에 저장함; Vk → SML.
Sm 측정치를 SML에 저장함; m → SML
V 검증 데이터 레지스터를 복사함; Vk ← Vk+1.
E1 측정치로 Vd를 확장함; Vd ← Vd ◇ m
E2 내부 노드 레지스터를 확장함; Vk ← Vk ◇ Vk+1
상기 기호들은 동작 및 동작 실행 시간을 상호교환적으로 표시한다. 하나의 누락된 동작 m←RoTM은 Sm에 포함될 수 있다.
만일 n<2d이면, 트리는 우측 엣지에서 미완성될 수 있고, 도 6에 도시된 것과 같은 알고리즘 2로 나타낸 소거(cleanup) 절차가 구현될 수 있다.
알고리즘 2(도 6)는 V1이 궁극적으로 모든 서브트리 정보를 포함하도록 뿌리의 최종 합병을 야기할 수 있다. 이 소거 절차는 도 4에 도시된 알고리즘 1의 라인 17~21에서의 테스트에 기인하여 트리가 아직 풀(full)이 아니면 도달될 수 있다. 트리가 완성되는 규칙은 도 5에 도시된 것처럼 구성이 우측 엣지에서 올바르게 되는 것이다.
내부 노드는 이들이 좌측 엣지(소수 용장성(minor redundancy)을 수반함)를 따르는 회송의 결과인 경우에도 SML에 기록될 수 있다. 공식적으로, 트리가 완성되는 상기 규칙은 본 명세서에서 설명하는 것처럼 x◇nil=x로 되도록 '◇' 동작의 표시를 수정하는 것으로서 해석될 수 있다.
만일 잎과 내부 노드가 도 4에 도시된 것과 같은 알고리즘 1에 의해 규정된 순서로 SML에 첨부되면, 결과적인 트리의 자연 직렬화가 얻어질 수 있다. 이 순서는 깊이가 3인 미완성 트리에 대하여 도 7에 도시되어 있다.
도 7에서, 결과적인 SML의 표시된 엔트리 10 및 11은 11이 소거 알고리즘 2의 순방향 동작에 의해 생성된 것이기 때문에 동일한 것이다. SML 순서는 이진 조사에 의해 SML의 트리 노드를 취급하기 위해 사용될 수 있다. 길이가 2d+1-1인 SML에서 시퀀스 번호 K가 주어지면, 이러한 조사는 뿌리로부터 진행하고 이것은 최종 엔트리이다. 나머지의 2d+1-2 엔트리는 사이즈가 2d-1인 부분으로 동일하게 분할되고, K가 좌측부에 있는지 우측부에 있는지가 결정된다. 이 절차는 K가 현재 부분의 최우측 요소를 지시할 때까지 반복된다. 결정이 이루어지는 순서는 뿌리로부터 SML에서 지수가 K인 노드까지 이어지는 좌-우 엣지의 시퀀스를 생성한다.
도 4의 트리 형성 알고리즘 1은 b와 같이 임의의 균일한 아리티(arity)(함수 또는 연산의 아리티는 함수가 취하는 독립변수(argument) 또는 피연산자의 수이다)의 트리에 쉽게 적응될 수 있다. 이를 위해, 이진 좌표 <n>은 b-ary 좌포 <n>(b)로 교체되어야 하고, 그 d번째 및 k번째 디지트는 도 4에 도시된 알고리즘 1의 라인 4 및 12에서 각각 평가되며, 평가된 수학식은
Figure pat00002
로 변경되어야 한다.
알고리즘 2(도 6)는 그에 따라서 적응될 수 있다. 임의의 트리로의 추가의 일반화는 관련 노드 좌표, 즉 맵핑 n→노드의 확립을 필요로 할 수 있다. 2보다 더 높은 아리티를 가진 각 노드에서, 해쉬 확장은 각 노드에 접속하는 레그에 대하여 선형이기 때문에, 전술한 단점이 적용될 수 있고, 검출 입도의 손실이 생성할 수 있다.
제한된 수(V1,...Vr)의 검증 데이터 레지스터에 의해, 트리의 잎에서 유한 갯수의 컴포넌트가 커버될 수 있다는 것이 생성 절차로부터 명백하다. 최대 용량은 다음과 같이 계산될 수 있다. 제1 레지스터(V1)에 대한 절차는 깊이가 r인 트리를 구축하기 위해 길이가 r-1인 파이프라인으로서 r-1개의 다른 레지스터를 이용할 수 있다. V1이 점유된 때, 제2 레지스터가 깊이가 r-1인 트리를 지원할 수 있고, 이러한 방식으로 파이프라인이 길이가 0이고 트리 깊이가 1로 되는 최종 레지스터(Vr)에 도달할 때까지 계속된다. 따라서 레지스터의 트리에 의해 운반되는 잎의 총 수는 수학식 2와 같이 주어질 수 있다.
Figure pat00003
버전 1.2 명세서에 집착하는 TPM의 PCR의 수인 r=24에 대하여, 이것은 r개의 트리의 잎에서 컴포넌트 측정을 위하여 33,554,430개의 장소를 생성한다. 최종의 16 PCR로 한정되면, 예컨대 TCG의 PC 클라이언트 명세서에 따르기 때문에, PCR 0~7이 예약되고 명세서는 여전히 131,070개의 측정치를 계수한다. 비록 이 용량이 높지만, 표준이 선형 확장성이기 때문에 무제한은 아니다. 따라서, 시동중에 또는 런타임에서 취해지는 측정치의 수가 선험적으로 공지된 것이 아니기 때문에, 최종의 레지스터는 폴백으로서 용량 한계가 도달된 후에 선형으로 확장될 수 있다. 도 8은 트리 검증 데이터의 최대 용량 구성을 보여주는 이러한 구성을 보인 것이다. 도 8에서, 잎에서의 측정치 값은 m으로 표시하였다.
트리 형성 알고리즘의 공간 복잡도는 매우 작다. 내부 데이터가 정확히 3개, 즉 d∈{1,...r}, n∈{0,...2d-1} 및 k∈{1,...d}를 필요로 하기 때문에, 그 데이터의 크기는 기껏해서
Figure pat00004
비트이다.
더 나아가, 구현예에 따라서, 현재의 측정치 값을 수신 및 유지하기 위해 하나의 레지스터가 필요할 수 있고, 및/또는 검증 데이터 레지스터에서의 연산을 위해 중간 레지스터가 필요할 수 있다. SML은 크기가 알맞게 증가한다. 깊이가 d인 완전히 충진된 이진 트리에 대하여, 잎 측정치를 포함한 2d+1-2의 노드 값이 SML에 저장된다(뿌리 노드는 Vi에 포함된다). 즉, 트리형 SML은 측정치 값만을 포함하는 선형으로 형성된 SML의 크기의 2배 미만이다.
일시적 복잡도를 추정하기 위해, 깊이가 d인 풀 트리, 즉 2d개의 잎 측정치가 고려된다. 트리의 구조에 의해, 연산의 생성이 카운트될 수 있다. Sm은 각 잎에서, 즉 2d회 생성한다. E1과 M은 깊이 d-1에서, 즉 2d-1회 각 내부 노드에서 생성한다. V와 E2는 깊이 d-2로부터 상향으로, 즉 2d-1-1회 각 내부 노드에서 생성한다. 마지막으로 Sv는 뿌리를 제외한 트리의 각 내부 노드에서 생성하며, 이것은 V1에서 유지된다. 즉, Sv는 2d-2회 생성한다. 이들은 모두 함께 흐름 제어를 무시하고 알고리즘의 실행 시간에 대하여 추정치 2d-1(E1+M)+(2d-1-1)(V+E2)+2dSm+(2d-2)Sv를 생성한다. 유사한 연산 {E1, E2}를 그룹화하면, {M, Sv, Sm}은 2d-1(E1+E2)-E2+2d-1(M+2Sv+2Sm)-2Sv+(2d-1-1)V를 생성한다.
메모리 연산이 대략 동일하게 시간 소모성이고 공통 상수 M≒Sv≒½Sm≒½V≤S에 의해 묶여지는 것으로 가정하면 -여기에서 계수 2는 미경험(naive) 판독/저장 구현을 위하여 V에 포함되고, 전술한 누락 연산을 위하여 Sm에 포함되며, 확장 연산 E1≒E2≤E을 위하여 마찬가지로 포함됨-, d>1에 대하여 트리 형성의 일시적 복잡도에 대한 개략적인 추정(coarse estimate)은 ≤2d(E+4½S)-(E+4S)에 의해 주어진다. 확장 연산이 우세한 계수일 때, 트리 형성은 인증 부팅의 선형 체인보다 적은 하나의 확장 연산을 필요로 할 수 있다.
전술한 절차에 의해 생성되는 트리형 검증 데이터의 확인을 위하여, 각 트리 노드에서 가용 정보를 이용하는 확인 전략이 설명된다. 평균 연산 비용은 실패한 측정의 수 및 상대적 몫(share)과 관련하여 계산될 수 있다.
통상의 인증 부팅에서 생성 및 저장되고 후속적으로 참조 경우로서 PCR까지 확장된 측정의 선형 체인을 취함으로써, 트리 순회 확인은 크게 달라지는 것으로 보여진다. 전자의 경우에, SML의 조작은 원칙적으로 국소화되지 않고, 트리형 SML의 순회는 조작이 생성된 서브트리의 식별을 가능하게 한다. 진단 확인, 즉 확인된 플랫폼의 소망하는 기준 구성과 일치하지 않는 컴포넌트(여기에서는 실패한 컴포넌트로서 설명됨)를 조사하기 위해 유사한 고려사항이 유지된다. 선형 체인 SML에 대하여, 이것은 기준 값과 각 측정치를 비교하고 및/또는 SML의 무결성을 검증하기 위해 PCR까지 확장 연산의 체인을 재계산할 것을 요구할 수 있다. 선형 SML에서의 조작이 국소화되지 않기 때문에, PCR 값의 재생의 실패는 진단 확인이 가능하지 않다는 것을 의미하며, 실패한 컴포넌트는 양호한 컴포넌트와 구별되지 않을 수 있다.
트리형 SML의 경우, 상황은 훨씬 더 좋다. 만일 서브트리가 식별되면, SML의 조작이 의심되고, SML 트리에서 서브트리의 보충물이 여전히 확인될 수 있다. 또한, 진단 확인의 경우에, 실패한 컴포넌트의 집합의 결정 및 뿌리 검증 데이터 레지스터 콘텐츠의 동시 검증에 있어서의 중요한 가속화를 기대할 수 있다.
트리형 SML의 확인은, 가능한 경우에, 확인에 실패한 잎의 부분집합을 찾기 위해 및/또는 SML의 조작을 검출하기 위해 사용될 수 있다. 밸리데이터에서 국소적으로 이용가능한 비교를 위한 기준 트리가 있는 것으로 추정된다. 확인은 트리의 뿌리, 즉 SML 데이터의 트리를 순회하는 검증 데이터 요소(V)로부터 시작할 수 있다. 이것은 측정치가 실패 컴포넌트라고 부르는 기준 값과 다른 컴포넌트의 잎 집합을 생성할 수 있다. 트리를 순회할 때, 가지치기에 의한 최초 깊이 조사가 적용될 수 있고, 각각의 가지 노드에서 판정이 취해질 수 있다. 트리는 바이너리일 수 있다. 가지 노드 및 그 2개의 자식 노드에서의 SML 트리 값은 동일한 노드 위치의 기준 트리 값들과 비교될 수 있고, 그 결과는 일치하는 경우 g(good; 양호)로 및/또는 불일치한 경우 b(bad; 불량)으로 표시될 수 있다. 이러한 표시법에서, 하기의 상황이 도 9에서처럼 생성할 수 있다. 도 9는 트리형 SML의 노드 구성의 분류를 보인 것이다.
도 9에 있어서, (a)의 경우에, 부모 노드 아래의 모든 서브트리는 긍정적으로 확인되고, 이 노드에서 순회가 종료될 수 있다. 도 9의 (b)의 경우에, 부모 노드는 자식 노드 값에 확장 연산을 적용하는 밸리데이터에 의해 재계산될 수 있다. 만일 재계산된 값이 부모 노드에서의 값과 일치하지 않으면, 이것은 불량으로 표시된 뿌리를 가진 서브트리 중의 하나에서의 SML 조작을 표시한다. 이것은 예외로서 취급될 수 있다.
다른 방식으로, 확인은 불량 값이 발견된 서브트리를 순회하여 다음 트리 레벨로, 즉 (b)에서 좌측, 우측 또는 양쪽 서브트리로 각각 진행할 수 있다. (c)의 경우에, 트리 조작 예외가 검출될 수 있다. 이 검출은 확장 연산을 재계산하지 않고 생성할 수 있다. 마지막 상황인 (d)는 이진 트리가 불완전할 때 및/또는 우측 가지가 널(null)일 때 생성할 수 있다. 이때 값 x는 값 y와 같을 수 있고, 그 경우 순회가 좌측으로 진행할 수 있으며, 그렇지 않으면 트리 조작 예외가 생성할 수 있다.
트리형 SML을 확인하는 하나의 장점은 정확한 뿌리를 가진 서브트리가 실패 컴포넌트에 대한 추가의 조사로부터 무시될 수 있다는 것이다. 트리 확인의 수행을 양적으로 평가하는 간단한 확률 모델이 이제 제공된다. 예를 들어서 SML이 깊이가 d인 풀 트리라고 가정한다. 밸리데이터는 공지의 원하는 플랫폼 구성을 표시하는 완전한 기준 트리를 갖는다. 해쉬 연산의 재계산은 확인 복잡도를 추정하기 위한 우세한 비용 계수이고, 비교는 비용이 저렴하다. 실패한 잎의 무작위 집합을 가정한다.
진단 확인이라고 부르는 낙관적(optimistic) 확인 전략이 사용될 수 있고, 이 확인은 뿌리로부터 실패 컴포넌트, 즉 기준 트리의 잎과 관련하여 불량 측정치 값을 가진 컴포넌트까지의 경로를 순회한다. 이 전략의 한가지 속성은 인증된 측정치 값으로 실패 컴포넌트를 찾는다는 것이다. 진단 확인은 다음과 같이 진행할 수 있다. 기준 트리의 대응하는 노드와 상이한 내부 부모 노드, 즉 불량 부모 노드를 방문할 때, 도 9의 경우 (b)에서의 상황 중의 하나 또는 경우 (c)의 최우측 구성이 마주칠 수 있다. 후자의 경우에는 명백한 SML 무결성 실패이기 때문에 부모 노드에 대한 재계산이 수행되지 않는다. 이 뿌리 구성을 가진 서브트리는, 이 서브트리가 실패 컴포넌트에 대한 신뢰할만한 정보를 생성하지 않기 때문에 추가의 순회로부터 폐기될 수 있다. 이 경우에, 추가의 단계들은 밸리데이터의 정책에 의존할 수 있다. 경우 (b)의 노드 구성은 밸리데이터의 기준 트리로부터 알려져 있지 않은 구성이 인증된 것인지 확인하기 위해, 하나의 확장 연산 0에 의해 뿌리 해쉬로부터 부모 해쉬의 재계산을 요구하는 구성이다. 뿌리가 조사중에 있는 불량 부모 노드의 양호한 자식인 서브트리는 추가의 순회로부터 폐기될 수 있다. 이러한 진단 확인의 절차는 도 9의 구성/경우 (a) 및 3개의 좌측 구성을 진단 확인으로부터 무조건적으로 배제한다. 이것은 어디에서 생성하든 SML 트리의 추가의 법의학(forensic evaluation)에서 고려될 수 있다.
진단 확인은 실패(불량) 잎으로부터 뿌리까지 경로 조합의 불량 내부 노드에서 해쉬 연산의 방문 및 수행을 요구할 수 있다. 다른 방식으로 무단변경되지 않은 트리에 있어서, 불량 부모 노드를 가진 우측 구성/경우 (c)를 무조건적으로 배제할 수 있다. 독립적이고 이상적으로 분포된(independent and ideally distributed; i.i.d.) 불량 잎의 부분집합은 잎의 단편(fraction) f∈[0,1]을 구성한다. 불량 잎의 수는 2df이다. 불량 내부 노드의 예상되는 수 Einner(f)는 뒤에서 설명하는 것처럼 계산될 수 있다.
여기에서 다루어지는 하나의 문제점은 잎의 무작위 독립적이고 이상적으로 분포된(i.i.d.) 선택에 의해 생성된 이진 트리의 바이컬러링(예를 들면, 양호한 내부 노드 대 불량 내부 노드) 및 잎을 뿌리에 접속하는 경로의 컬러링에 관한 것이다. 이러한 잎 및 경로의 무작위 선택은 길이가 d인 독립적이고 이상적으로 분포된 비트 스트링의 무작위 선택과 등가일 수 있다. k가 N=2d개의 잎의 집합으로부터 선택된 후의 컬러링된 잎의 예상되는 수 EN k가 계산된다. 회귀적으로, EN 0=0이고, EN k+1 = EN k(EN k/N)+(EN k+1){(1-EN k)/N} = 1+EN k(EN k/N)이다. 이것을 풀면, EN k = N(1-(1-N-1)k로 된다.
선택된 비트 스트링의 모든 서브스트링이 통계적으로 독립적이기 때문에, 동일한 독립변수가 레벨 d-1,...0에서 내부 노드에 적용된다. 따라서, 컬러링된 내부 노드의 예상되는 수는 d-1까지의 합산에 의해 얻어진다.
Figure pat00005
구해야 할 나머지는 컬러링된 잎의 특정의 예상되는 수 EN k =fN에 대응하는 선택 k의 예상되는 수이고, 여기에서 0≤f≤1은 잎의 목표 단편이다. 이 방정식을 k에 대하여 풀면,
Figure pat00006
로 되고, 여기에서 N=2d가 삽입되었다. 이것으로부터 f에 의존하는 불량 내부 노드의 예상되는 수 Einner(f)가 계산될 수 있다.
도 10은 해쉬 연산이 상기 설명 하에서 생성되는 d=16에 대하여 2d-1 내부 노드의 단편을 보인 것이다. 이것은 확실성을 가지고 불량 컴포넌트를 결정하는데 필요한 해쉬 연산의 수를 나타낸다. 선형 SML의 기준 케이스는 최종 PCR 값을 재계산하기 위해 2d+1 해쉬 연산이 필요할 수 있다. 이 케이스는 도 10의 상부 세로좌표에 의해 개략적으로 표시된다.
기준 값에 대한 비교와 관련하여, 상황이 약간 달라질 수 있다. 진단 확인을 위한 트리 순회는 기준 트리의 대응하는 내부 노드와의 비교에 실패한 불량 내부 노드를 따라 내려올 수 있다. 이를 위하여, 불량 내부 노드의 양쪽 자식이 각 케이스에서 비교되어, 비교에 있어서의 복잡성이 수 Einner(f)를 2배로 할 수 있다. 선형 SML은 모든 2d개의 측정치가 기준 값과 비교될 것을 요구할 수 있다.
만일 h가 밸리데이터에서 해쉬 연산의 비용이고, c가 2개의 해쉬 값의 비교의 비용(SHA-1의 경우 160 비트)이라고 하면, 선형 케이스의 총 확인 비용은 (2d+1)h+2dc = 2d(h+c)+h > 2d(h+c)이다. 이것은 트리형 SML의 진단 확인에 의한 것처럼 선형 SML로부터 동일한 정보를 획득하기 위한 최소 노력이다. 다른 한편으로 트리형 SML에 대하여(카운트에서 뿌리를 포함함), 비용은 (Einner(f)+1)(2c+h)이다. 트리형 확인은 만일
Figure pat00007
(여기에서, λ=c/h<<1이다)이면 더욱 효율적이다. 매우 후한 여유(λ<0.01)를 가진 경우에도, 이것은 r.h.s(right-hand side; 오른손 쪽)에 대하여 0.99의 바운드를 생성한다. 다음에, d=16에 대하여, 트리형 확인은 불량 잎의 단편 f에 대하여 85%만큼 높게 매우 효율적이다.
트리형 SML의 진단 확인은 선형 SML의 경우보다 해쉬 연산의 경우에 더 잘 수행할 수 있고, 불량 컴포넌트가 많은 경우에도 선형 SML을 능가할 수 있다. 트리형 SML의 진단 확인은 실패 컴포넌트가 적은 경우에 크게 유리할 수 있다. 트리 확인은 불량 잎이 불균일하게 분포되어 있으면, 예컨대 클러스터링을 나타내면, 더 효과적일 수 있다.
**직접 비교되는 선형 및 진단 트리 확인이 둘 다 이용가능하지만, 선형 확인은 만일 최종 PCR의 재계산이 실패이면 불가능할 수 있다. 왜냐하면, 이 경우 단일 측정치의 비교에 의해 신뢰성 있는 정보를 산출하지 못할 수 있고, 각 측정치는 해쉬 체인을 파괴하는 측정치를 숨기기 위해 SML에서 위조될 수 있기 때문이다. 트리형의 한가지 장점은 밸리데이터의 연산 복잡도가 감소한 경우에도 확인 데이터가 생성할 수 있다는 점이다.
트리 형성 알고리즘 자체와 관련하여, TCG 표준 호환성의 신뢰성 있는 부팅 처리와 동일한 레벨의 보안을 달성하기 위해, 검증 데이터 레지스터에서의 연산이 하드웨어 보호성 TPM 환경 내측에서 실행될 수 있다. 비록 위에서 리스트한 트리 형성 알고리즘의 대부분의 연산에서의 연산 부분이 표준과 일치하는 PCR에서 실행될 수 있는 비표준 TPM 함수이다 하더라도, 사실, 정상적인 확장 연산 E1이 내부 표준 함수일 수 있고, Sv 및 Sm은 PCR 판독 동작에 의해 실현될 수 있다.
트리 형성 알고리즘이 TPM 외측에서 실행되는 동안, PCR을 트리형 검증 데이터 레지스터로 전환하기 위해 TPM을 확장하는데 필요한 최소 변경이 논의된다. 그 다음에, 트리 형성을 위한 TPM 내부 커맨드가 설명된다. 트리형 검증 데이터의 소프트웨어 기반 구현예인 다른 하나의 구현예가 설명된다. 이때 뿌리 레지스터는 신뢰 애플리케이션에 의해 관리되는 소프트 레지스터일 수 있고, 이러한 레지스터의 현재 상태는 '실제'(real) 레지스터, 예를 들면, PCR에 의해 보호된다. 마지막으로, TPM 소프트웨어 에뮬레이션 환경에 통합된 TPM 에뮬레이터에 의한 트리 형성의 실험적 구현예인 '에뎀바'(ethemba)가 설명된다.
트리 형성을 구현하고 PCR이 알고리즘 1 및 2와 함께 사용될 수 있게 하는 표준 TPM에 대한 변화를 잘라내기 위해 최소주의적 접근법(minimalist approach)이 취해진다. 이 접근법은 TPM 커맨드 또는 그 수정예에 의해 위에서 리스트한 기초적인 연산을 구현하는 것과 관계가 있다. 내부 노드의 현재 상태를 나타내는 레지스터에서의 부기 작업(bookkeeping task)을 포함한 알고리즘의 핵심은 인증 부팅 또는 보안 부팅과 같은 시스템 무결성 측정 처리에서 트리 형성을 수행하기 위한 소프트웨어 신뢰의 근본으로서 실현될 수 있다.
연산 Sv 및 Sm은 문제점을 갖지 않으며, 각각 TPM_PCRRead 커맨드에 의해 또는 트리 형성 소프트웨어로 직접 실현될 수 있다. Ei는 트리의 최저 레벨에서 매 우측 엣지에서 생성할 수 있고, V로 연장된 측정의 좌측 형제(sibling)로부터 온 이미 측정된 값을 포함한 V를 확장시킬 수 있다. 그러므로, E1은 수학식 1에 의해 규정된 표준 TPM_확장(TPM_Extend) 동작에 포함될 수 있다. E2는 트리 내측의 우측 엣지에서 생성할 수 있고, 그 다음에 TPM_PCRRead 및 이어서 TPM_확장에 의해 모델링될 수 있다.
연산 M과 V는 트리 내측에서 최저 레벨의 좌측 엣지에서 각각 생성할 수 있다. 이 연산은 2가지 이유 때문에 문제점을 가질 수 있다. 첫째로, PCR은 직접 기록되지 않을 수 있고, M 또는 V에서의 첫번째 단계로서 TPM_PCR_Reset을 통해 이들을 리셋시키는 자연적 접근법은, 표준 TPM의 16 위의 PCR만이 리셋될 수 있고 정확한 위치로부터만 리셋될 수 있기 때문에 문제가 될 수 있다. 따라서, 충분한 PCR이 리셋가능하고 트리 형성 소프트웨어가 신뢰성 코드로서 실행되는 장소에 PCR들이 응답하는 것이 필요하다.
둘째로, 리셋 후에도, PCR을 수정할 수 있는 연산(TPM_확장)은 값을 레지스터에 직접 복사할 수 없지만, 160 비트 이진수 0x00 및 입력 값이고 입력 값과 상이한 결과를 산출하는 리셋 PCR의 기존 값을 이용하여 (1)을 진정으로 실행할 수 있다. 직접 기록되거나 PCR들 사이에서 값을 이동시키는 새로운 커맨드의 노출을 회피하는 하나의 옵션은 이들이 리셋 후에 원래의 상태로 있는 것을 표시하는 리셋 플래그로 PCR을 증대시키는 것일 수 있다. 이때 TPM_확장은 이 플래그가 참(true)일 때 PCR에 직접 기록하고 그 다음에 이 플래그를 거짓(false)으로 설정하도록 수정될 수 있다.
M과 V를 항구적으로 실현하는 것은 트리의 좌측 엣지에서 생성하고, 우측 형제가 비어있고(nil) 2개의 관련된 형제에 의존하여 성과(outcome)를 결정론적으로 생성하면, 머클 해쉬 트리의 정의로부터 약간 편이시키기 위해 제3의 옵션이 수행될 것이다. SML 트리의 각각의 기초적인 삼각형에서 값들의 정확한 구성은 도 11에 도시된 것처럼 될 수 있다.
즉, V 또는 M은 제1 단계에서 0◇x=H(0||x)를 획득하기 위해 TPM_PCR_Reset 및 이어서 TPM_확장에 의해 모델링될 수 있다. 우측 형제는 그 다음에 레지스터 및 결과가 SML에 기록된다는 점에서 정상적으로 확장될 수 있다. 중간 단계에서 nil 노드 값의 일관된 처리 및 트리의 마무리가 또한 뒤에서 설명된다.
많은 경우에, SML에 저장된 해쉬 트리는 불완전, 즉 빈 잎 및 내부 노드를 포함할 수 있다. 계속되는 측정 처리에서, nil로 표시되는 값을 가진 그러한 노드는 우측 nil 형제가 무시될 수 있음을 의미하는 연산 M 및 V에 의해 절차적으로 처리될 수 있다. 이것은 트리 형성의 중간 단계의 알고리즘 1의 라인 8과 18에서, 및 최종 측정 후에 트리 완성에서의 알고리즘 2의 라인 29에서 생성한다.
일반적으로, 즉, 표준 TPM의 제한을 넘어서, nil은 연산 ◇의 2-측면 단위일 수 있다. 즉,
Figure pat00008
이 규약은 위에서 설명한 것처럼 규칙/경우 (d)를 명백히 한다. 이것은 보통의 확장 연산의 재해석이고 알고리즘의 공식화에서 연산 M 및 V를 제거하기 위해 또한 사용될 수 있다. 즉, M 및 V는 레지스터 V에서 nil로의 리셋 및 이어서 연산 V←V◇m, 및 V←V◇V'에 의해 각각 교체될 수 있다.
이 규약의 구현예에 있어서, nil은 PCR의 추가적인 플래그 및 ◇의 입력 및 출력으로서 표시될 수 있다. PCR에 대하여, nil 플래그는 특수한 리셋 커맨드에 의해 설정될 수 있다. nil이 PCR에 대한 확장 연산의 입력으로서 마주칠 때, TSS의 로직 또는 TPM 수정은 해쉬 연산 (1)의 실행 및 PCR에 대한 직접 기록을 금지할 수 있다.
트리 형성의 분할 TPM/소프트웨어 구현은 결과적인 뿌리 검증 데이터 레지스터 값의 보안 레벨에 대하여 타협한다. 트리형 검증 데이터는 제안된 알고리즘의 TPM-내부 구현에 의해 생성될 수 있다. 이를 위해, TPM 수정이 다음과 같이 작용할 수 있다. 수정된 TPM은 보통의 TPM_확장 커맨드와 동일한 입력 파라미터를 가진 커맨드 TPM_트리_확장을 노출시킬 수 있다. TPM은 그들 중의 어느 것이 현재 지정된 트리의 뿌리인지를 표시하는, 점유되고 잠금되어 있으며 알고리즘에 의해 중간 Vs로서 사용가능한 PCR의 플래그를 유지할 수 있다. 또한, TPM은 전술한 추가의 데이터를 유지한다. 가장 간단한 경우에 있어서, 내부 로직은 트리 형성을 위해 하나 이상의 PCR의 동시 사용을 금지할 수 있다. TPM_확장이 목표 PCR 값의 갱신을 출력할 수 있지만, TPM_트리 확장은 갱신된 검증 레지스터 데이터 값의 가변 수 1,...d를 반환(return)할 수 있다. 이 반환 값들은 알고리즘 1과 2의 SML 기록 연산의 출력일 수 있다. d 값이 반환된 때, 수신기는 이 트리가 고갈되었고 대응하는 뿌리 V가 잠금되었음을 알 수 있다. 다른 하나의 옵션은 각 콜(call)에서 모든 중간 V를 반환하기 위한 TPM_트리_확장을 포함할 수 있다.
머클 해쉬 트리를 이용하여, PCR과 함께 전통적으로 행하여진 것과 동일한 방법으로 신뢰성 플랫폼의 보안 시동 처리의 무결성을 보호하는 방법이 설명된다. 플랫폼 확인에서 트리형 검증 데이터를 이용함으로써 야기되는 효율성 및 융통성 이득이 예시되었다. 이것은 네트워크를 통한 플랫폼의 원격 확인 및 관리에서 특히 효과적이다. 트리형 알고리즘의 작은 크기 및 복잡도가 주어지면, 명세서가 그에 따라서 보정된 경우 TPM 내측에서 연산을 직접 구현할 수 있다. 이것은 미래의 TPM 생성을 위해 가능한 접근법일 수 있다.
일반화와 관련하여, 트리는 암호 다이제스트를 이용하여 무결성 보호가 적용될 수 있는 가장 일반적인 구조가 아닌 것이 확실하다. 예를 들면, 일부 연구원은 유향 그래프(directed graph)의 식별을 제공하기 위해 해쉬를 확장하였다. 다른 연구원들은 RDF 그래프와 같은 복잡한 데이터 구조를 독특하게 식별하기 위해 다른 일방향 기능, 예를 들면 다중 집합 해쉬를 적용하였다. 이러한 선을 따라서, 예를 들면, 비순환식 유향 그래프 및 의존성 그래프에 대한 트리형 검증 데이터의 일반화를 생각할 수 있다. 잠재적으로 복합 플랫폼 관리 및 보호 작업에 관심이 있지만, 그러한 모든 일반화는 복잡도를 증가시키고 확인을 위한 이진 트리의 효율을 느슨하게 할 것이다. 그러므로, 그러한 일반화의 응용의 경우들은 이 단계에서 착수되지 않는다.
그러나, TPM 무결성 관리 기능의 단일 커맨드 확장, 즉 위에서 제안한 TPM_트리_확장은 융통성있는 TPM 기반 트리 검증 데이터 관리 아키텍처의 시작점일 수 있다. 예를 들어서 동적 플랫폼 관리에 대한 것과 같은 서브트리 뿌리의 보안 갱신이 가능하고, TPM_인용과 동일한 보안 주장(security assertion)으로 트리형 SML의 내부 노드를 인용하는 것은 궁극적으로 원격 밸리데이터에게 PCR 값을 제공하는 것이다. 그러한 추가의 확장에 대해서는 뒤에서 설명한다.
측정치의 구조화는 무결성 체크에 실패한 컴포넌트의 식별에 도움을 준다. 이러한 하나의 구조화 실시형태에 있어서, 측정치는 선형 체인으로 조직화될 수 있고 검증 데이터는 Vi=f(Vi-1, mi)(여기에서, i=0,1,...,n-1)로서 유도된다. 여기에서 n은 선형 체인의 길이이고, mi는 i번째 측정치를 나타내며, Vi는 선형 체인의 i번째 반복으로부터 유도된 검증 데이터를 나타낸다. 컴포넌트의 n개의 측정 해쉬 값을 처리함으로써 유도된 최종 값(Vn-1)은 검증 데이터로서 사용될 수 있다. 매 Vi(i=0,1,...,n-1)에 대하여 신뢰성 기준 값(Ri)이 존재할 수 있다. 만일 검증 처리 중에 최종 값(Vn-1)이 그 기준 값(Rn-1)과 다른 것으로서 표시되면, 이것은 잠정 값(interim value)(Vk) 중의 적어도 하나가 그 기준 값(Rk)과 일치하지 않음을 표시한다. 그러한 불일치는 일부 컴포넌트의 무결성의 실패에 기인하거나, 또는 단순히 정확하게 연산된(및/또는 무결성-완전) 검증 데이터(Vj)와 붕괴된 또는 오류있는 기준 데이터(Rj) 간의 비교상의 불일치에 기인할 수 있다. 체인(V0~Vn-1)으로서의 측정치 이력 기록에 의해, 기준 값에 대한 검증 데이터의 불일치의 최초 생성은 도 12에 도시된 것처럼 알고리즘 1을 이용하여 찾을 수 있다. n개의 요소가 있고 지수는 0 내지 n-1의 범위를 가지며 정수 분할은 지수 조작을 위해 수행된다.
기준 값{Ri: i=0,1,...n-1}은 신뢰되고 비타협적일 수 있다. 이 경우에, 임의의 불일치는 i번째 컴포넌트의 무결성의 실패를 나타내거나, 또는 i번째 컴포넌트 자체가 무결성-완전(integrity-intact)이지만 그 측정치(m) 자체가 타협될 수 있음을 나타낸다. 어느 경우이든, 연산 검증 시스템에 있어서, i번째 컴포넌트는 신뢰성이 없고 로딩 전에 치료된다고 선언될 수 있다. 알고리즘 1은 실패의 최초 생성을 찾아내지만, 후속되는 실패는 찾지 못할 수 있다.
실패한 무결성 체크 모듈의 조사를 최적화하기 위해, 검증 데이터는 위에서 설명한 트리형 검증 절차에서 설명한 것처럼 저장된 측정치 이력 기록(SML)의 해쉬 트리의 형태로 생성될 수 있다. 저장된 측정치 이력 기록은 평형화 이진 트리로 조직화되고 알고리즘은 TPM 커맨드를 이용하여 트리를 생성하도록 제공된다. 알고리즘은 일반적이고 평형화 n-ary 트리(n>2)로 확장될 수 있다.
위에서 설명한 트리형 검증의 개념은 트리가 불균형인 트리형 검증을 생각하도록 확장된다. 또한, 소프트웨어 컴포넌트들 간의 상호의존성을 생각하도록 확장될 수 있다. 용어 장치(device)는 소프트웨어/펌웨어/하드웨어의 무결성이 검증된 임의의 엔티티를 표시하기 위해 사용된다. 엔티티는 홈 게이트웨이, M2M 게이트웨이, 접근점, H(e)NB, HNB, 중계 노드, 모바일 장치, 태블릿 장치, 또는 임의의 다른 게이트웨이 또는 장치일 수 있다는 점에 주목한다.
일반성의 손실없이, 특정의 소프트웨어 컴포넌트는 다른 컴포넌트에 비하여 공격을 받기가 더 쉬울 수 있다. 예를 들면, 장치에 있어서, 통신 프로토콜 스택은 화장 특징(cosmetic feature)이 가능한 컴포넌트보다 더 자주 해킹될 수 있다. 이 논증은 기능성에도 또한 적용할 수 있다. 원격 확인 및 반자율적 확인에 있어서, 무결성 측정은 네트워크의 플랫폼 확인 엔티티에게 보내진다. 이러한 확인 엔티티는 실패한 컴포넌트 또는 기능성의 이력을 관측 및 보유할 수 있다.
또한, 장치(및/또는 그들의 소프트웨어 컴포넌트 및/또는 기능성)이 공격을 받을 때 및/또는 그들의 무결성이 타협될 때 장치의 이해관계자(stakeholder)에 대한 충격 또는 비용이 컴포넌트/기능성에 따라 달라지는 것으로 일반적으로 추정된다.
상기 양태는 공격의 비용 또는 충격의 빈도 및/또는 심각성이 고려되고 검증 데이터 구조 및 검증 알고리즘에 반영되는 컴포넌트/기능성 검증 전략을 필요하게 한다.
그러나, 첫째로, 공격의 빈도(또는 생성 확률)가 다른 경우를 생각하자. 소프트웨어 컴포넌트 또는 기능성의 무결성 실패 빈도에 기초해서, 소프트웨어 컴포넌트 또는 기능성에 대한 무결성 실패의 확률 분포 함수(probability distribution function; PDF)가 추정되고 검증 데이터 구조의 구성에 사용될 수 있다. 확률 분포는 이산 확률 분포이고 n개의 컴포넌트/기능성을 가진 장치에 대하여 벡터(P0~Pn-1)로서 표시될 수 있다. 이러한 확률 분포 함수는 모든 관찰 결과를 평균함으로써, 즉 윈도우 평균(windowed average)에 의해 생성될 수 있고, 여기에서 평균은 최종의 충분히 많은 샘플을 이용하여 수행된다. 게다가, 평균화는 비가중 평균 또는 가중 함수 W[n]을 가진 가중 평균일 수 있다. 가중 함수의 예로는, 비제한적인 예를 들자면, 지수 함수, 가우스 함수 등이 있다. 중첩 또는 비중첩 슬라이딩 윈도우가 가 또한 시간 영역에서 변화하는 PDF를 획득하기 위해 사용될 수 있다. 이 확률 분포 벡터(또는 벡터들)는 메시지 또는 구성에 의해 장치에게 전달될 수 있다. 일반성의 손실없이, 우리는 일시적으로 안정한 PDF의 집합 {P0, ..., Pn-1}을 추정한다.
장치에서, 소프트웨어의 분포(PDF) 및 해쉬 무결성 측정치 값을 이용해서, 최적의 해쉬 트리가 허프만 알고리즘, 산술 부호화 또는 유사한 최적의 부호화 트리 형성 알고리즘을 이용하여 구성될 수 있다. 도 13은 허프만 코드를 이용한 트리 형성의 예를 보인 것이다. 이러한 트리를 구성하는 장점은 가장 빈번하게 공격받는 컴포넌트가 더 짧은 코드 길이를 갖고 조사 시간의 기대치가 감소된다는 사실에 있다. 따라서 실패한 컴포넌트 또는 기능성의 조사에 있어서의 오버헤드가 감소된다. 또한, 가장 빈번하게 공격을 받는 것으로 예상되는 컴포넌트가 가장 먼저 조사될 것이다.
허프만 알고리즘 또는 작용하는 산술 부호화 알고리즘에 대하여 확률이 제로가 아닐 수 있다. 따라서, 공격받을 확률이 제로인 컴포넌트 또는 기능성은 트리를 구성함에 있어서 제외될 수 있다. 이것은 트리의 크기를 축소시켜서 통신 오버헤드 및 조사 시간을 감소시킬 수 있다. 대안적으로, 만일 모든 노드가 포함되어야 하면, 매우 작은 비제로의 δ 값이 공격의 확률이 제로인 컴포넌트 또는 기능성에 할당될 수 있다. 일반적으로, 공격의 확률 분포는 균일하지 않을 것이므로, 결과적으로 생성된 트리는 평형화되지 않을 것이다.
네트워크에서, 이러한 트리는 장치의 제조 시간 설정에 따라서, 또는 인증되고 권한이 부여되며 무결성을 입증할 수 있는 소프트웨어/펌웨어 갱신 후에, 인증 기관에 의한 유도된 해쉬 값을 이용하여 사전 구성 및 상주(populate)될 수 있고 참조를 위해 안전하게 저장될 수 있다. 장치에서, 장치가 안전하게 부팅될 때마다, 이 트리는 만일 트리가 사전 구성 및 저장되지 않고 노드 및 뿌리가 평가된 해쉬 값(또는 확장된 PCR 값)과 함께 상주되어 있으면, 최적의 코드 트리 알고리즘(예를 들면, 허프만 코드, 산술 코드)을 적용함으로써 공격 빈도의 PDF를 이용하여 재구성될 수 있다.
알고리즘은 소프트웨어 컴포넌트의 측정치를 이용하는 장치에서 트리의 노드 및 트리의 뿌리를 상주시키도록 개발될 수 있다. 이러한 검증 트리는 그 다음에 장치에 의해 네트워크의 플랫폼 검증/확인 엔티티에게 보내지고, 기준 트리와 비교되어 장치의 신뢰 상태를 확립하고 실패 노드를 독특하게 식별할 수 있다. 이 알고리즘이 여기에서 설명된다.
**통신 과부하를 줄이기 위해, 깊이 d, d-1, ..., 0에서 뿌리 및 노드를 포함하는 특정 깊이 d의 가지치기된 트리(pruned tree)가 보내질 수 있다. 깊이 d는 문턱값에 기초하여 평가될 수 있다. 가지치기의 다른 방법은 공격 생성의 누적 확률이 특정의 문턱값 미만인 모든 노드를 제외하는 것이다. 또 다른, 아마도 더 합리적인 방법은 트리에 포함된 노드의 누적 분포 값이 특정의 문턱 값을 초과한 때 모든 나머지 노드의 트리를 가지치기하는 것일 수 있다. 도 14는 깊이 d=2인 경우에 트리 가지치기를 보인 것이다.
*도 15는 계통도 및 통신 교환을 보인 것이다. 도 15는, 1에서, 공격 이력에 기초한, 컴포넌트/기능성에 대한 공격의 이산 확률 분포의 생성을 보여주고 있다. 2에서, 허프만 부호화 알고리즘을 이용하여 코드 트리를 생성한다. 공격의 확률 분포는 3에서 장치에게 전달된다. 4에서, 허프만 부호화 알고리즘을 이용하여 WTRU에서 부호화 트리를 생성한다. 5에서, 보안 부팅 중에, 트리가 신뢰 값과 함께 상주된다. 6에서, 신뢰 트리가 WTRU로부터 전달된다. 7에서, 트리가 기준 값으로 검증되고 트리가 실패 노드에 대하여 조사된다. 8에서 보정 동작이 취해진다.
전술한 설명에서는 컴포넌트에 대한 불균일한 공격 확률 모델을 고려함으로써 결과적인 불평형 트리의 사용을 보였다. 공격 확률 외에, 임의의 공격의 비용 또는 충격이 또한 고려될 수 있다. 장치의 임의의 i번째 컴포넌트(i=0,1,...,n-1)가 {Pi, Ci}(여기에서 Pi는 생성 확률을 나타내고 Ci는 이해관계자에 대한 비용 또는 충격을 나타낸다)와 연합된다고 가정한다. 이때 컴포넌트는 "공격/타협에 기인한 예상 비용(충격)"에 의해 정돈되고, 정돈은 다음과 같이 비교에 의해 행하여진다: E(cost)i = Pi×Ci. 그 다음에, 정상화된 단편적 예상 비용이 다음과 같이 결정될 수 있다:
Figure pat00009
컴포넌트들이 정돈되면(최고 정상화 예상 비용으로부터 최저 정상화 예상 비용까지), 동일한 허프만 부호화 또는 산술 부호화를 이용하여 트리를 형성할 수 있다. 이 방식으로 형성된 검증 트리는, 실패가 이해관계자에게 최대 예상 비용/충격을 가할 수 있는 컴포넌트에 대하여 (검색을 위한)최고 가중치를 부여할 수 있다.
트리 구조 자체만으로는 소프트웨어 구조의 상호의존성을 완전하게 포착할 수 없다. 예를 들면, 다른 컴포넌트에 의해 사용될 수 있는 공유 라이브러리가 있을 수 있다. 그러므로, 이러한 상호의존성을 표시하기 위해, 초기의 최적 코드 트리가 구성된 후에 트리의 노드/잎과 노드 사이에 링크가 추가된다. 따라서, 트리는 장치의 소프트웨어 아키텍처 또는 컴포넌트의 상호의존성을 포착하도록 확장된다. 트리의 잎은 라이브러리 및 아카이브(archive)에 대한 소프트웨어 컴포넌트 및 노드에 맵될 수 있다. 소프트웨어 모듈 및 공유 라이브러리의 상호의존성은 대리 자식 링크(surrogate child link)에 의해 맵될 수 있다. 따라서, 트리는 일반화 트리로 된다. 측정치 값과 함께 노드를 상주시키는 알고리즘은 대리 자식 링크를 추가적으로 순회하도록 수정될 수 있다. 도 16은 이러한 대리 자식 링크를 가진 트리를 보인 것이고, 여기에서 모듈 A에 의해 표시된 소프트웨어 컴포넌트 또는 기능성은 모듈 D에 의해 표시된 공유 라이브러리에 의존하거나 공유 라이브러리를 활용하고, 유사하게 모듈 B에 의해 표시된 소프트웨어 컴포넌트 또는 기능성은 잎 컴포넌트/기능성 C를 활용한다.
만일 장치가 알고리즘의 신뢰성 있는 연산 및/또는 유도된 해쉬 값을 가진 노드 및/또는 뿌리의 신뢰성 있는 개체군을 보장하기 위해 예를 들면 TrE와 같은 신뢰성 있는 실행 환경을 포함하면, 알고리즘은 TrE에 의해 제공된 신뢰성 있는 연산 및 명령어를 사용할 수 있다.
만일 그러한 TrE를 구성하기 위해 신뢰성 플랫폼 모듈(TPM) 및 상위층 신뢰성 소프트웨어 스택(TSS)을 이용하면, TSS 뿐만 아니라 TPM에 대한 적당한 커맨드 확장이 고려될 수 있다.
전술한 바와 같이, 임의의 최적 코드 구성 알고리즘이 트리를 구성하기 위해 사용될 수 있다. 허프만 알고리즘을 이용하여 트리를 구성하는 일 예가 공개되어 있다.
이하의 설명에서, 잎은 소프트웨어 컴포넌트 또는 기능성을 나타낸다. 간단히 하기 위해, 컴포넌트가 인용되지만, 독립변수가 또한 기능성에 적용될 수 있다. 충돌 회피 해쉬 함수(H)는 컴포넌트의 측정치를 계산하기 위해 사용될 수 있다. 고려중인 노드의 자식의 메트릭을 이용함으로써 노드의 메트릭을 계산하기 위해 함수 F를 사용하는 것으로 한다. 알고리즘 상주_메트릭(Populate_metric)은 최적 코드 트리의 뿌리로 설정된 노드에 의해 호출될 수 있다. 트리의 잎의 메트릭은 대응하는 컴포넌트의 측정을 위해 초기화된다.
도 17에 도시된 알고리즘 2는 트리의 정돈 후 순회(post-ordering traversal)을 수행하고, 내부 노드의 메트릭을 계산하며 계산된 메트릭 값과 함께 노드를 상주시킨다. TPM에 대한 알고리즘을 적응시키기 위해, 함수 F는 PCR 확장 연산이다. 이하의 알고리즘에서, Reg_번호는 PCR 레지스터 번호를 표시하는 서브스크립트 지수(subscript index)이다.
도 18에 도시된 알고리즘 3은 PCR 레지스터와 함께 작용하고 PCR_확장 연산을 이용하게 하는 알고리즘 2(도 17)의 수정예이다. 도 17 및 도 18에 각각 도시한 알고리즘 2 및 알고리즘 3은 n-ary 트리와 함께 작용하도록 수정될 수 있다. 그러나, 허프만 알고리즘은 트리를 생성하도록 그에 따라서 수정될 수 있다. 좌측 및 우측 자식에 대하여 추가되도록 최저 2개의 확률을 추가하는 대신에, n개의 최저 확률이 추가된다. 따라서, 가지의 라벨링은 log2(n) 비트를 포함한다. 예를 들면, 4-ary 트리에 대하여, 4개의 확률이 추가되고 4개의 가지에 00, 01, 10, 11로서 라벨이 붙여진다. 도 19에 도시된 알고리즘 4는 n-ary 트리에 대한 알고리즘 2의 갱신형이다. 도 20에 도시된 알고리즘 5는 유사하게 갱신될 수 있다.
전술한 것처럼 대리 자식 링크를 취급하도록 일반화된 트리를 구성하기 위해, 도 18에 도시된 알고리즘 3이 갱신될 수 있다. 알고리즘 5는 대리 자식 링크를 고려한 알고리즘 2의 갱신형이다. 초기에 이진 트리가 허프만 알고리즘을 이용하여 구성된다. 나중에 대리 자식 링크로서 상호의존성이 추가된다. 좌측 및 우측 자식에게 첨부되는 라벨 0 및 1은 임의의 잎의 코드를 찾기 위해 여전히 사용된다. 대리 자식 링크는 노드에 메트릭을 상주시키기 위해 사용될 수 있다. 대리 자식 링크 자체에는 라벨이 첨부되지 않을 수 있다.
노드가 메트릭과 함께 상주된 후, 검증 트리가 네트워크의 확인 엔티티에게 보내질 수 있다. 무결성 트리와 기준 트리의 비교가 수행된다. 이것은 도 21에 도시된 알고리즘 6에 따라 수행될 수 있다.
도 21에 도시된 알고리즘 6은 노드 간 의존성의 존재 때문에 대리 자식 링크를 갖지 않는 트리에 대하여 유효할 수 있다(일반적으로 평형되지 않음).
만일 대리 자식 링크를 가진 트리가 또한 처리되면 동일한 알고리즘이 또한 적용될 수 있다. 이 경우에, 알고리즘은 대리 자식 링크 관계에 특수한 어떠한 일도 수행하지 않고 동작한다. 이 방법으로 동작할 때, 알고리즘은 여전히 실패 컴포넌트의 동일한 가지치기된 트리를 획득한다. 그러나 대리 자식 링크는 알고리즘에 따라서 컴포넌트가 실패 무결성 체크를 갖는 것으로 식별될 때 대리 자식 링크 관계가 다른 노드(실패 컴포넌트 위에 직접 있지 않은 노드)가 또한 식별된 실패 컴포넌트에 의해 충격을 받을 수 있는 통찰력(insight)을 제공하기 때문에, 실패에 추가의 가시성을 제공한다.
전술한 알고리즘의 다른 변형예에 있어서, 상기 및 그와 유사한 오류 검출 알고리즘을 '대화식' 방법으로 구현할 수 있다. 일 실시형태에 있어서, 예컨대 도 14를 참조하면, 전송자(sender)는 단지 소정의 내부 깊이 d≤D(D는 가장 긴 가지의 깊이임)까지만 존재하는 노드에 대한 측정치를 전송할 수 있다. 검증자는 이러한 내부 노드를 검증할 수 있다.
만일 실패가 검출되면, 검증자는 실패한 내부 노드 아래의 서브트리에 대응하는 더 많은 데이터가 전송자로부터 전송될 것을 요구할 수 있다. 전송자는 호의를 베풀고(oblige), 검증자는 그 다음에 더 깊은 레벨의 측정치의 무결성을 시험할 수 있다. 이 방법은 단지 2개의 상호작용 대신에 이러한 상호작용을 더 많이 포함할 수 있다.
전술한 것과 같은 "대화식" 프로토콜은, 만일 예컨대 통신 대역폭 또는 페이로드 제한 이유 때문에 트리의 모든 노드에 대한 모든 트리형 SML을 전송하기 어려우면, 사용하도록 허용된다. 완전히 형성된 이진 트리는 기껏해야 SML의 선형 체인 구조 데이터의 2배를 포함한다. 전송되어야 할 데이터의 여분의 양은 트리 형성의 깊이 및 충실도(fullness)에 의존하지만, 일부 경우에, 완전히 형성된 이진 트리가 전송할 필요가 있는 데이터의 여분의 양은 적당한 값, 예를 들면 약간 더 많은 킬로바이트의 측정치 값일 수 있다. 그러나, 대화식 프로토콜은 만일 트리가 구체적인 인증서, RIM 인증서 또는 OMA DM 정보 또는 유사물과 같은 표현이 더 풍부한 의미론적 확인 데이터에 의해 주석이 달리고 따라서 데이터 크기면에서 더 크면 생각하기에 더 합리적일 수 있다.
이진 트리형 확인 데이터 구조는 1) 내부 SML에 대한 타협을 검증하기 위한 보증된 수단이면서 2) 타협된 컴포넌트의 고속 조사인 확인 시스템 최적화 기준의 특수한 선택에 의해 결정될 수 있다. 그러나, 이진 트리형 확인 데이터 구조는 1) 장치와 검증자 양측에서 트리를 완전하게 구성하는 데 소요되는 증가된 연산 비용, 및 2) 내부 SML을 저장할 필요성에 기인하는 저장에 대한 증가된 비용(선형 SML의 양의 2배까지)과 같은 비용을 생성한다. 트리는 만일 장치의 각종 컴포넌트에서 많은 상호의존성이 있으면 최상의 구조가 아닐 수 있다.
다른 유형의 시스템 최적화 기준은 트리와는 다른 확인 구조를 만들 수 있다. 예를 들면, 선형 SML 구조는 만일 내부 기억 매체를 절대적으로 최소화하는데 관심이 있지만 실패를 검출하는 고속의 미세 입자 능력을 상실하는 대가를 치루어야 한다면 최상의 옵션일 수 있다.
다른 하나의 가능한 최적화 기준은 이웃 컴포넌트가 높은 비구조적 상호의존성을 갖는 것으로 알려진 경우 하나 또는 소수의 공지된 위험에 처해있는 컴포넌트 부근(예를 들면, 작은 직사각형 또는 고리(ring) 주변)의 무결성을 신속히 결정하는 용이성/속도일 수 있다. 그 경우에, 예를 들면, 상호접속된 링 또는 메시(mesh)처럼 보이는 비트리형 확인 데이터 구조가 생성할 수 있다. 이 논제의 더 일반적인 처리를 위하여, 그래프 이론 조사를 적용할 수 있다.
트리형의 피보호 검증 데이터 레지스터에 의한 보안 동작이 이하에서 설명된다. 기능성은 트리형의 저장된 측정치 이력 기록(SML)의 무결성을 보호하는 해쉬 트리의 뿌리를 나타내는 플랫폼 구성 레지스터(PCR)를 취급하기 위해 신뢰성 플랫폼 모듈(TPM)에 개념적으로 추가된다. 이것은 SML의 내부 노드의 검증 및 갱신뿐만 아니라 통상의 PCR과 같은 보안 레벨을 가진 그 값에 대한 입증까지도 가능하게 한다. 중요한 응용으로서, SML 서브트리의 인증서가 어떻게 플랫폼 속성의 입증을 가능하게 하는지 보여준다.
더욱 신뢰성 있는 기능이 트리형 검증 데이터의 동작에 추가될 수 있다. 검증 데이터 레지스터에서 그 뿌리가 보호된 트리형 SML의 내부 노드는 무결성이 검증되고, 전체 보안 레벨을 유지하는 제어된 방식으로 새로운 값으로 갱신될 수 있는 것으로 보여진다. 내부 트리 노드에 대한 TPM_인용 커맨드의 변형예가 소개되고, 이 변형예는 TPM_인용이 통상의 PCR 값에 대하여 하는 것처럼 그들의 무결성을 정확하게 증명할 수 있다. 규정된 커맨드 집합에 의해, TPM의 무결성 측정 기능은 트리형 PCR 및 SML과 함께 동작하는 포괄적인 커맨드 집합에 의해 보완될 수 있다. 이러한 보완을 이용해서, 트리형 검증 및/또는 확인 데이터는 통상의 선형으로 연결된 TPM PCR 및 SML보다 훨씬 더 많은 융통성 및 표현력을 가지고 사용될 수 있다.
기본 시스템 모델 및 관념이 또한 설명된다. 전술한 TPM 커맨드 확장이 또한 제공되고, 일부 적당한 구조적 확장 및 그러한 동작을 위한 기본 사용량 카테고리가 또한 제공된다. 도입된 커맨드에 대한 중요한 사용예로서, 신뢰성 있는 제3자에 의한 트리형 SML에서 서브트리의 뿌리 노드의 인증을 위한 프로토콜의 전시(exhibit) 및 트리형 플랫폼 확인 방법의 간단한 평가가 또한 제공되고, 미래의 작업에 대한 전망(outlook)이 또한 설명된다.
후속적으로 필요할 수 있는 플랫폼의 최소 요소 및 능력이 설명된다. TCG-명명법 및 일부 개념이 여기에서 사용되고 설명되지만, 여기에서 설명하는 실시형태는 TPM, SML과 같은 TCG 표준에 집착하는 플랫폼 및 보안 하드웨어 요소, 및 예를 들면 PC 클라이언트 명세서에 따라 설계된 시스템으로 한정되지 않는다.
위에서 규정한 확장 연산의 트리 형성 변형예는 TPM 내측에서 작용하고, 입력으로서 단일의 측정치 값을 취하며, 그렇지 않으면 TPM 외측의 시스템과 관련하여 비활성으로 된다. 이것은 여기에서 설명하는 갱신 기능의 경우가 아니다. 후자는 TPM 내측에서 보호되는 소정수(r)의 검증 데이터 레지스터(V), V def{V1,...,Vr}에서, 및 덜 보호된 기억장치에서 TPM의 외측에 저장된 해쉬 트리 데이터에서 작용한다.
즉, 저장된 측정치 이력 기록(SML)에 포함된 해쉬 트리는 갱신 동작에 필요한 TPM 기능에 접근하도록 권한이 부여된 신뢰성 있는 소프트웨어 스택(TSS)에 의해 관리될 수 있다. TSS는 권한 있는 무결성의 피보호 커맨드 인터페이스를 통해 TPM을 호출한다. 비록 TCG가 실용적인 이유로 공통 용어로서 사용되지만, 여기에서 제시되는 개념은 TCG, TPM 및 플랫폼으로 한정되지 않는다. 하드웨어 보호형의 검증 데이터 레지스터의 집합 및 확장 연산이 사용될 수 있다. 후자는 통상의 TPM 확장 연산인 수학식 4에 의해 규정된다.
Figure pat00010
수학식 4에서 V는 검증 데이터 레지스터를 나타내고, H는 충돌 회피 해쉬 함수(TPM의 경우에 SHA-1)이며, m=H(데이터)는 측정치 값이다. 이하에서, ◇는 혼동이 생성하지 않도록 독립변수로서 임의의 레지스터(V)와 함께 개방적으로 사용된다.
SML은 위에서 설명한 TPM_트리_확장 커맨드에 의해 생성된, 예컨대 머클 해쉬 트리와 같은 이진 일방향 연산으로부터 생성되는 깊이 d의 이진 트리를 포함할 수 있다. 내부 노드 및 잎에 대한 자연 좌표는 길이가 1,...d인 바이너리 스트링이고, 여기에서 스트링의 길이(l)는 노드가 존재하는 트리에서의 레벨이다. n을 내부 노드 또는 잎이라고 하고, n의 좌표의 이진수 표시에 대하여 n ~ <n> = (n1,...., nl) ∈ {0.1}x1이라고 기록한다. <n>=nk(k=1,....l)는 <n>의 k번째 디지트라고 하자. 혼동이 생성하지 않도록, 노드는 SML에서 그 값(예를 들면, 160 비트 해쉬 값)으로 식별될 수 있고, 그 좌표로부터 그 값을 구분한다. 그렇지 않으면, 노드의 값-좌표 쌍에 대하여 n=(n,<n>)이다.
n의 트레이스(T)는 n을 포함해서 n으로부터 뿌리까지의 모든 내부 노드의 정돈된 리스트이다. 즉 수학식 5와 같이 된다.
Figure pat00011
노드의 자연적인 부분 순서는 m≤n이라고 기록되고, 이것은 n∈T(m)과 등가이다. 부분 순서는 만일 ∀m∈M :∃n∈N :m≤n이면 및 이 경우에만 M≤N을 설정함으로써 노드의 집합 M,N까지 확장한다.
n의 축소된 트리(R)는 그 트레이스의 모든 형제의 리스트이다. 이것은 자연 좌표: R(n)=(r1,....rl)(수학식 5)으로 쉽게 표현된다. 여기에서 rk~(n1,...¬nk)이고, ¬는 이진수 부정을 표시한다.
해쉬 체인 동작 x◇y def H(x||y)는 독립변수 순서가 이진수 파라미터에 의존하게 하는 변형예에서 고정 길이 입력 해쉬 값 x, y와 함께 사용된다. c∈{0,1}에 대하여, 하기와 같이 설정될 수 있다.
〈x||y〉= {x◇y c=1이면;
〈x||y〉= {y◇x c=1이면;
이 키랄 머클-댐가드 연산은 트리에서 좌측 형제와 우측 형제를 구별하고 그들의 부모 노드를 정확한 순서로 계산할 수 있게 하는 확장 연산 버전이다. 구현예 문제를 무시하면, (확장된) TPM은 '〈.|.|.〉=내부적으로'를 수행할 수 있다.
일부 경우에, SML에 저장된 해쉬 트리는 미완성, 즉 nil로 표시되는 빈 잎과 내부 노드를 포함할 수 있다. 머클 해쉬 트리에서 nil 노드의 일관된 처리를 위해, nil은 수학식 6과 같이 동작 ◇에 대한 2 측면 단위로 가정하는 것이 유용하다.
Figure pat00012
이것은 통상의 TPM 확장 연산의 재해석이고, 일부 값 x에 대하여 먼저 V를 nil로 리셋하고 그 다음에 V◇x를 수행함으로써 V∈v로의 직접 기록을 모델링하기 위해 또한 사용될 수 있다. 이러한 규약의 구현을 위해, nil은 검증 데이터 레지스터의 플래그, 및 〈.|.|.〉의 입력과 출력으로서 표시될 수 있다. V에 대하여, nil 플래그는 특수한 리셋 커맨드에 의해 설정될 수 있다. nil이 V에 대한 확장 연산의 입력으로서 만날 때, TSS의 로직, 또는 TPM 수정은 확장의 실행을 금지하고 PCR에 직접 기록할 수 있다.
트리형 SML과 함께 안전하게 동작하는 표준 TPM의 작용적 확장이 설명된다. 보호 목표는 PCR에서 보호된 종래의 검증 데이터 레지스터 값에 대한 것처럼, SML의 내부 노드 및 잎에 대해 동일한 보증 레벨을 달성하는 것이다. 새로운 노드 값에 의한 뿌리의 갱신이 먼저 설명되고, 그 다음에 추가의 구조적인 커맨드 확장이 트리형 검증 데이터와 함께 사용하기 위해 보여진다.
SML 트리의 내부 노드 및 잎의 보안 갱신을 위한 전략은 다음과 같다. 첫째로, 그 노드의 현재 값이 인증을 위해 검증된다. 이것은 레지스터(V)에서 보호되는 트리의 뿌리를, 그 노드와 관련된 축소형 해쉬 트리에 포함된 데이터를 이용하여 재계산함으로써 행하여진다(이것은 설명을 간단히 하기 위해 섹션의 나머지 부분에서 고정으로 유지된다). 이 검증은 TPM_축소_트리_검증_부하라고 부르는, TPM 내측에서의 피보호 연산이어야 한다. 이 검증은 또한 후속되는 갱신 동작 TPM_축소_트리_갱신과 함께 사용하기 위해 검증된 축소형 트리 데이터를 검증 데이터 레지스터의 집합에 로딩한다. 이 기능은 갱신 대상의 노드에 대하여 새로운 값을 취하고, 축소된 트리 데이터를 이용하여 부모 노드를 뿌리 V까지 갱신한다. 양측의 커맨드는 각종의 목적을 위하여, 예를 들면, 독립식 노드 무결성 검증을 위하여 별도로 사용될 수 있다. 편의상, 이들은 단일 노드 및 뿌리 갱신 커맨드로 또한 결합될 수 있다.
n이 검증 데이터 레지스터 V∈v에서 보호된 뿌리를 가진 레벨 1≤d에서 깊이가 d인 SML 트리의 노드라고 가정하자. 제1 단계는 n에 대한 새로운 값으로 V를 갱신하고, 축소형 트리(R(n))가 SML에서 무단 변경되지 않았는지 검증하는 것이다.
V의 보안 레벨을 유지하기 위해, 이 검증은 TPM 피보호 동작에 의해 또한 수행될 수 있다. 이를 위해, TSS는 독립변수 ((<n>,n,R(n))에 의해 TPM_축소_트리_검증_부하를 호출한다. l+1의 이용가능한 레지스터를 V로부터 선택하고 이들을 B1,....Bl 및 V*라고 부른다. 도 22에 도시된 알고리즘 1은 SML 노드가 어떻게 검증되는지 및 그 축소형 트리가 검증 데이터 레지스터의 집합에 로드되는 것을 보여준다.
이 알고리즘에서 중심적으로 사용되는 키랄 확장은 n의 트레이스에서 그들의 부모 요소의 계산시에 자식 노드의 정확한 순서를 보증한다. TSS는 계산된 트레이스 T(n) 및 검증 상태를 복귀 값으로서 획득한다. 도 22에 도시된 알고리즘 1에서 추가의 검증 데이터 레지스터가 있다.
도 22의 알고리즘 1의 간단한 변형예는 축소형 트리를 TPM 내측에 저장하지 않고 축소형 트리를 순차적으로 처리함으로써 단일 검증 데이터 레지스터를 이용하여 동작할 수 있다. 이 보조 커맨드 TPM_축소_트리_검증은 TSS 또는 다른 관계자에 의한 SML의 평이한 검증을 위해 유용할 수 있다. 이것은 도 23에 도시된 알고리즘 2에 나타나있다. 이 변형예에 의해 요구되는 R(n)의 직렬화는 TSS 아래에 있는 소프트웨어 층에서 실현되는 입력 버퍼, 예를 들면 TPM 장치 드라이버를 이용해서, 또는 대응하는 TPM 내부 로직에 의해 행하여질 수 있다.
전술한 원래의 트리 형성 알고리즘(도 4 및 도 6)과 같이, 알고리즘 1과 2(각각 도 22 및 도 23)는 비표준 동작, 특히 키랄 확장을 이용한다. 키랄 확장의 출력 목표는 항상 검증 데이터 레지스터이기 때문에, 그 동작은 다른 독립변수를 다른 검증 데이터 레지스터에 로드함으로써(만일 도 22의 알고리즘 1에서처럼 독립변수가 레지스터에 아직 없으면), 및 키랄 확장의 중간 독립변수에 따라서 레지스터 스왑으로 TPM-내부 동작 ◇을 진행시킴으로써 구현될 수 있다. 이것은 모든 독립변수에 대한 동일한 보호 레벨을 보증한다.
도 22 및 도 23의 알고리즘 1 및 2에 의해 각각 수행되는 검증은 입력 축소형 트리에 대하여 입력 노드 값의 무결성을 보증하기 때문에 제한된 의미를 갖는다. SML 트리의 무결성 파괴의 경우에, 더 구체적인 정보가 바람직하다. 적어도 무결성 파괴가 생성되는 트리 레벨은 전술한 하향 트리-순회를 통한 확인 전략을 수행함으로써 획득될 수 있다.
알고리즘 3(도 24A)에 나타낸 커맨드 TPM_트리_노드_검증은 부정확한 축소형 트리 및/또는 트레이스 요소가 무결성 체인을 최초로 차단하는 레벨을 뿌리로부터 n으로 되돌린다. 이것은 어떤 형제가 체인을 차단하는지 결정할 수 없게 한다. 기준 트리가 전술한 것처럼 이용가능할 때 추가의 진단이 가능하다.
TPM_축소_트리_검증_부하는 새로운 값 n'로 갱신되는 노드 n에 대하여 수행될 수 있다. 알고리즘 4(도 24B)에 나타낸 커맨드 TPM_축소_트리_갱신은 독립변수 n'로 호출되고, 결정된 결과에 대하여 동작할 수 있고, 노드 좌표(n) 및 갱신 대상의 레지스터(V)를 고정하는 TPM_축소_트리_검증_부하를 진행시킨다. 커맨드 시퀀스에서 이러한 결합을 달성하기 위해 각종 방법을 이용할 수 있다.
첫째로, TPM은 뒤에서 설명하는 것처럼 트리 동작을 위한 상태 및 추가의 데이터를 저장 및 관리할 수 있다. 또한, 커맨드 TPM_축소_트리_검증_부하 및 TPM_축소_트리_갱신의 시퀀스는 예를 들면 TPM 보호형 OIAP/OSAP 인증 커맨드 세션에 의해 구현될 때 넌스를 굴림으로써 암호적으로 묶여질 수 있다. 마지막으로, 2개의 커맨드는 독립변수 (<n>,n,n',R(n))와 함께 단일 갱신 커맨드 TPM_트리_검증_갱신에 결합될 수 있다. 노드 갱신 커맨드는 n"의 새로운 트레이스 및 V의 새로운 값을 반환하고, 이것에 의해 TSS는 그 다음에 SML을 갱신한다.
검증 데이터 레지스터를 특정 노드 또는 해쉬 트리의 뿌리에 연합시킨 것 및 연합 커맨드 TPM_트리 확장(위에서 규정한 것), TPM_축소_트리_검증_부하, TPM_축소_트리_갱신에 의해, 레지스터(V)들은 상태성(statefulness)을 획득한다. 특히 중요한 상태는 하기의 것이 있을 수 있다:
TPM_트리_확장 연산에 의해 현재 구성중에 있는 SML 트리의 뿌리를 나타내는 활성 뿌리(Active Root; AR).
다수의 컴포넌트의 측정치의 완성된 결과, 즉 TPM_트리 확장 연산인 트리의 뿌리를 나타내는 완전한 뿌리(Complete Root; CR). AR은 트리가 충만되었을 때, 즉 2d개의 잎 측정치를 포함할 때 CR로 천이할 수 있고, 또는 소정 단계에서 트리를 폐쇄하는 것이 바람직한 경우 TSS에 의해 트리거될 수 있다. CR 상태의 V는 TPM_트리_확장에 의한 추가 갱신에 대하여 보호될 수 있지만, TPM_축소_트리_갱신에 의해 또는 정책 및 권한부여에 따라서 통상의 TPM_확장 연산에 의해서도 액세스될 수 있다.
TPM 트리_확장 연산에 의해 다른 AR 레지스터에서 활성 트리를 구축하는데 사용되는 레지스터를 나타내는 트리 구축(Tree Build; TB).
TPM_축소_트리_검증_부하의 결과, 즉 레지스터 Bk 중의 하나를 나타내는 축소형 트리 노드(Reduced Tree Node; RT). RT V는 대응하는 TPM_축소_트리_갱신 또는 다른 권한부여된 커맨드가 생성할 때까지 보호될 수 있다.
하나 이상의 트리가 관리될 때, Vs'의 상태는 예를 들면 독특한 식별자(Unique Identifier; UID)를 이용하여 그들 각각의 트리에 연합될 필요가 있다. 또한, 노드 좌표가 각각의 노드 또는 일부 노드용으로 저장될 필요가 있다. 이 데이터들은 TPM 내측의 검증 데이터 할당표(Verification Data Allocation Table; VDAT)에 유지될 수 있고, 트리 데이터 관리 유닛(Tree Data Management Unit; TDMU)에 의해 관리될 수 있다.
노드 값의 TPM 보호성 검증은 새로운 핵심 의미론(core semantic)을 입증에 의해 플랫폼 확인할 수 있게 한다. 특히, TPM_인용의 변형예는 소정의 노드 값을 입증하도록 규정될 수 있다. 이러한 커맨드 TPM_트리_노드_인용은 TPM_인용과 동일한 독립변수 및 TPM_축소_트리_검증의 독립변수에 의해 호출될 수 있다. 그 다음에, 도 23에 도시된 것과 같은 알고리즘 2를 실행할 수 있지만, 다른 PCR V'에서 n의 카피를 추가로 유지한다. 성공시에는 V'에서 TPM_인용을 실행한다. 이러한 인용구의 수신기는 획득된 서명이 SML 트리의 내부 노드에 대한 것임을 인식할 것이다. 하나의 가능성은 통상적으로 "QUOT", 이를테면 "TREEQUOT"인 TPM_인용 커맨드의 서명된 블로브(blob)에 포함된 고정 스트링을 변경하는 것이다.
이 커맨드에 의한 노드 값의 입증은 TPM_인용에 의해 검증 데이터 레지스터(PCR) 값을 인용하는 것과 동일한 보안 주장(security assertion)을 노드에게 제공한다. 그러나, 입증은 값이 SML 트리의 일부 내부 노드에 대응하는 추가의 의미론을 지닐 수 있다. 즉, 입증은 n이 뿌리인 소정의 서브 트리의 상태를 효과적으로 입증한다. 이 의미론을 밸리데이터에게 명백히 운반하기 위해, 추가의 데이터가 입증 식별 키(Attestation Identity Key; AIK)로 서명된 입증 패키지, 예를 들면, 문자열 "트리 노드"에 포함될 수 있다. 이러한 속성의 의미는, 만일 속성이 TPM_트리_노드_인용에 의해 할당되고 뿌리 레지스터가 TPM_트리_확장 커맨드로부터 야기하는 제어형 SML 뿌리 레지스터이면, 즉 뿌리 레지스터가 전술한 것처럼 CR 상태에 있으면, 감지할 수 있게 강화될 수 있다. 이 제어는 인용구 생성의 일부일 수 있다.
입증 메시지의 확인을 위하여, 밸리데이터는 인용된 노드 n=(n, <n>)의 값 n을 필요로 할 수 있다. 밸리데이터에의 더 많은 정보 이전은 필요 없을 수 있고, 따라서 TPM_트리_노드_인증의 상기 설명은 최소 폭로(revelation)의 원리를 따를 수 있다. 커맨드의 변형예는, 만일 SML에서 노드의 위치가 확인을 위해 중요하면 노드 좌표(n)를 또한 서명할 수 있다. 밸리데이터에 이전된 확장된 확인 데이터는 n의 축소형 트리 및 뿌리 검증 데이터 레지스터를 포함할 수 있다.
대안적인 실시형태로서, 축소형 트리의 검증으로 밸리데이터를 작업시킬 수 있다. 이 접근법은 다른 경우에 웹 서버에 의해 전달된 웹 페이지의 무결성을 입증하기 위해, 및 통상의 TPM_인용 커맨드를 이용하여 서버 상태의 입증에 이것을 결합하기 위해 사용된다. 이것은 다음과 같이 TPM_트리_노드_인용의 다른 실현을 초래한다.
커맨드는 노드 값 n, R(n)의 노드 값, 및 뿌리 V의 선택기를 독립변수로서 수신한다. TPM은 V의 CR 상태를 제어한 후에 "REDTREEQUOT" 고정 문자열 속성으로 이 (연쇄상) 데이터를 서명한다. 웹 페이지의 무결성을 입증하기 위해 사용된 접근법에 대하여, 차선의 방법은 통상적으로 인용구의 새로움을 보증하기 위해 사용되는 TPM_인용 커맨드의 임시 입력(nonce input)에 상기 추가 데이터의 해쉬를 삽입함으로써 축소형 트리를 TPM으로부터의 인용에 결합하기 위해 사용된다는 점에 주목하여야 한다.
내부 노드를 인용하기 위한 제1 및 제2 실현 변형예는 제1 변형예가 플랫폼에 대한 검증 부하를 취하고 제2 변형예가 밸리데이터에 대한 검증 부하를 취한다는 점에서 반대의 가능성을 나타낸다. 그러므로, 양자의 변형예는 상이한 실제 효율성 영역을 가질 수 있다. 예를 들면, 제1 변형예에 대하여 M2M 통신에서와 같은 많은 분산형 확인 플랫폼을 갖고 제2 변형예에 대하여 많은 분산형 밸리데이터(예를 들면, 전술한 웹 클라이언트)를 갖는다. 그러나, 제2 변형예는 밸리데이터가 V로 표시되는 완전한 상태를 나타내기 때문에, 본질적으로 플랫폼의 정보 폭로와 관련한 단점을 갖는다. 이것은 사생활에 유해할 수 있다.
여기에서 소개한 TPM 무결성 측정 기능의 각종 확장은 하기의 카테고리로 그룹지을 수 있다. TPM_트리_확장은 PCR 보호성 뿌리로 특수한 SML 트리를 구축하는연속적인 측정치 처리에서 사용된다. TPM_축소_트리_검증_부하, TPM_축소_트리_검증, 및 궁극적으로 TPM_트리 노드_검증은 플랫폼 내부 진단을 위한 커맨드이다. TPM_축소_트리_갱신에 대한 준비 단계로서 TPM_축소_트리_검증_부하의 사용은 별문제로 하고, 이들은 다른 이벤트가 생성하기 전에 SML 서브트리에 의해 표시된 플랫폼의 특정 성질을 검증하기 위해 사용될 수 있다.
TPM_축소_트리_갱신과 TPM_트리_노드_검증_갱신은 서브트리의 제어된 갱신을 위해 사용될 수 있다. 내부 노드 갱신 동작의 특수한 사용은 다음과 같이 설명된다.
단일 시스템 컴포넌트의 갱신. 이 경우에, 새로운 값은 잎을 갱신한다.
서브트리에 의해 표시된 시스템 모듈의 갱신. 이 경우에, 새로운 서브트리의 뿌리는 원래 트리의 내부 노드를 갱신한다.
마지막으로, TPM_트리_노드_인용은 트리형 SML이 원격 관계자에 의해 플랫폼의 확인을 사용할 수 있게 하는 커맨드이다. 이것은 트리형 데이터를 이용하는 확인의 새로운 기본 요소, 즉 시스템 상태의 규정된 부분만을 나타내는 서브트리를 입증하는 가능성을 나타낸다. 특수한 사용예는 뒤에서 설명된다.
커맨드 확장은 트리형 확인에서 별도로 사용될 수 있다. 커맨드 확장을 확인 서브트리에 모듈 방식으로 결합하는 방법은 뒤에서 설명된다.
트리형 SML 및 검증 데이터 레지스터를 이용한 확인은 의미론을 원격 입증에 추가한다. SML의 서브트리를 입증하는 가능성은 종래의 원격 입증을 훨씬 넘는 표현력을 가능하게 한다. 트리형 검증 데이터는 의미론을 플랫폼 입증, 예를 들면 PBA에서처럼 확인 데이터에 대한 연합 및 속성에 추가하게 하는 다른 제안을 실체화하는 한가지 방법이다. 신뢰성 컴퓨팅의 한가지 문제점은 플랫폼 입증에 대한 의미론의 연합이다. TCG 명세서는 실행된 코드가 로드되었을 때 측정되는 쌍방의 원격 입증을 규정한다. 측정치는 검증 데이터로서 PCR에 저장되고, TPM은 TPM 피보호 입증 식별 키(Attestation Identity Key; AIK)로 측정치를 서명함으로써 측정치 데이터를 입증한다. 완전한 구성의 개요(digest)가 전송되기 때문에, 검증자는 (만일 시스템 다이나믹이 고려되면 언제든지) 머신의 구성을 알 수 있다. 따라서 확인을 위한 피전송 데이터는 융통성있고 효율적인 원격 플랫폼 확인을 가능하게 하기에는 표현력이 부족하다. 의미론 입증의 필요성은, 의미론 입증이 복잡도가 제한된 가상화 서브시스템으로 단일 입증의 범위를 제한하도록 제안된 경우, 복잡하고 동적이며 고수준 프로그램 성질의 입증을 가능하게 하는 것으로 일찍이 인식되어 있다.
속성 및 속성 기반 입증(property-based attestation; PBA)이 본 명세서에서 설명된다. PBA는 피검증 플랫폼의 보안 속성의 검증자를 서브트리 인증 기관(subtree certificate authority; SCA)이라고 부르는 신뢰성 있는 제3자(trusted third party; TTP)를 통해 보증할 수 있다. SCA는 이 구성에 충족될 수 있는 속성(특히 원하는/원치않는 기능)에 플랫폼 구성을 맵하는 인증서를 발행한다. PBA는 TCG의 사생활 CA와 유사하지만 TCG의 사생활 CA의 임무를 확장한 것인 SCA로 플랫폼 확인의 기반구조적 문제점을 이전시킨다. 서브트리의 인증은 여기에서 설명한 문제점들을 극복하기 위한 한가지 방법이다. 하나의 관련된 실시형태는 하드웨어 지원 갱신이 갱신 인증서에 기초하여 다른 플랫폼 구성에 대해 데이터를 다시 봉하는(re-seal) TPM 커맨드에 의해 수행되는 것이다.
검증 데이터에 대조적으로, 확인 데이터는 다른 관계자인 밸리데이터에게 제출되고 플랫폼 상태의 신뢰성을 평가하기 위해 사용되는 모든 데이터이다. 예컨대 TCG에 따른 원격 입증으로서 실현되는, 밸리데이터에게 확인 데이터를 제출하는 처리 및 밸리데이터에 의한 그 평가는 적절하게 확인이라고 부른다. 확인 데이터는 인용된 검증 데이터 레지스터(예를 들면, PCR) 값과 같은 검증 데이터를 포함할 수 있다. 확인은, 검증 데이터의 암호화 검증을 넘어서, 정책 평가 및 밸리데이터에 의한 동작의 트리거링을 포함한다.
트리형 검증 데이터와 SML 트리에 연관된 확인 데이터는 플랫폼 입증의 의미론을 향상시키기 위해 전술한 방법 외에 사용될 수 있는 구조화 데이터를 제공한다. 트리형 검증 데이터를 이용하는 다른 방법은 PBA에 관련된 개념을 실현하기 위해 제공된다.
후자의 노드가 뿌리인 피측정 컴포넌트의 서브트리에 대하여 의미심장한 신뢰성 성명서, 즉 서브트리 인증서로, SCA가 SML 트리의 노드를 어떻게 교체할 수 있는지가 보여진다. 이 처리는 SCA에 의해 플랫폼의 부분적 확인을 실현하고, 플랫폼의 이용가능한 확인 데이터에 수집되는(ingest) 신뢰성 주장을 야기한다. 이것은 나중에 플랫폼을 더 완전하게 확인하기 위해 다른 밸리데이터에 대하여 사용될 수 있다. 다음에, 다른 실현 및 사용예에 대하여 구현될 수 있는 서브트리 인증을 위한 일반적인 기본 프로토콜이 설명된다. 변형예가 또한 설명된다.
서브트리 인증은 신뢰성 있는 플랫폼(이것은 비제한적인 예로서 간소화 시스템 모델의 TPM과 TSS의 조합일 수 있음)이 SCA로부터 트리형 SML의 내부 노드의 값에 대한 인증서를 획득하는 처리이다. 이를 위해, 플랫폼은 서명된 성명서를 SCA에게 제출하여 뿌리 값이 검증 데이터 레지스터에서 보호되는 SML 트리에 노드 값이 포함됨을 표시한다. TPM은 하나의 가능한 구현예이고 임의의 검증 데이터 레지스터가 사용될 수 있다. 이 증거에 기초하여, SCA는 이 노드 값에 대한 추가의 속성을 가진 인증서를 플랫폼에 대하여 발행하고, 플랫폼은 그 다음에 SML 트리에 수집된다. 이 처리는 피보호 트리 연산을 이용한다.
플랫폼은 신뢰성 있는 사생활 CA(Privacy CA; PCA)에 의해 발행된 인증서(Ca)와 함께 활성 AIK a를 소유할 수 있다. 플랫폼과 SCA 간의 통신은 중간자 공격(man-in-the-middle attack)을 경감하기 위해 암호화되고 무결성 보호된다. 내부 노드가 인증을 위해 선택된다. 프로토콜에서, 실패 조건 및 부정 응답은 언급되지 않는다. 서브트리 인증 프로토콜은 도 26에 도시된 것처럼 적어도 5개의 단계로 진행한다.
단계 1은 s를 통해 인용구(quote)를 생성한다. 이를 위해, TSS는 독립변수 (<s>,s,R(s),a)(간결하게 하기 위해 도 26에서는 호출될 수 있는 모든 독립변수를 나타내지 않았다)를 가진 TPM_트리_노드_인용을 호출하고 P=Siga(s)를 역으로 수신한다.
만일 트리의 뿌리, 즉 레지스터(V)가 인증을 위해 선택되면, TPM_인용이 V에서 대신 사용될 것이다. 단계 2에서, TSS는 입증 패키지(Q)를 생성한다. 입증 패키지는 SCA를 검증하기 위한 정보, 즉 적어도 Q⊆{P,s, Ca,apub}를 포함한다. a의 공개 부분(apub)은 Ca로부터 명백하지 않을 때 Q에 포함될 수 있다. 또한, s의 값은 SCA에게 알려질 수 있고, 그 다음에 Q로부터 생략될 수 있다.
더 많은 정보, 예를 들면, 노드 좌표 <s>가 인용구의 일부일 때 그 노드 좌표가 포함될 수 있다. Q는 SCA에게 보내진다(SCA의 공개 암호화 키로 암호화되고 무결성 보호된다). 이 단계는 TCG에 의해 특정되는 원격 입증에서와 유사하다.
단계 3은 SCA의 행동을 포함한다. 첫째로, SCA는 P의 서명을 검증하고 및/또는 PCA의 뿌리 인증서까지 인증서 체인을 추적함으로써 Q를 검증할 수 있다. 만일 SCA가 s를 SCA가 인증할 수 있는 노드 값으로서 인식하면, SCA는 SCA용의 매니페스트(Ms)를 생성한다. 이 매니페스트는 타임 스탬프, 플랫폼의 기능, 서브트리의 잎 측정치에 의해 표시되는 로딩된 컴포넌트로부터 결합된 모듈의 신원, 및/또는 다른 플랫폼 속성과 같은, SML에서 뿌리를 가진 서브트리의 존재와 관련된 플랫폼 상태에 대한 추가의 정보를 포함할 수 있다. 매니페스트는 노드 값 s에 대한 의미론적 의미를 밸리데이터에게 제공하는 서브트리 인증에 의해 추가된 확인 데이터이다. SCA는 s에 대한 인증서를 생성할 수 있다. 이 인증서(Cs)는 M에 의해 표시된 속성을, 이 속성을 AIK a에 결합함으로써, 플랫폼에 결합한다. 이것은 2개의 방법, 즉,
Figure pat00013
으로 수행될 수 있다.
첫번째의 경우에, SCA는 매니페스트 및 AIK 서명된 노드 값을 서명하고, 그에 따라서 a에 대한 간접 결합을 확립할 수 있다. a에 대한 Cs의 결합은 그 다음에 플랫폼이 노드 값 s를 드러내는 경우에 검증될 수 있다. 두번째 옵션에서, 결합은 SCA가 a의 공개 부분(Ca), 일련 번호, 또는 Ca의 지문과 같은 a를 독특하게 식별하는 일부 데이터 결합(a)를 서명하게 함으로써 직접 달성된다. 공개 키 기반구조의 의미론에서, Cs는 결합에 의해 Ca와 연관된 속성 인증서이다. 마지막으로, SCA는 적어도 Ms 및 Cs와 두번째 경우의 결합(a)를 포함하는 패키지(R)를 생성하고, 그 패키지를 플랫폼에 되돌려 보낸다.
단계 4는 R로부터 유도된 소정 데이터에 의한 SML의 갱신을 준비한다. SML 갱신은 서브트리 인증서 및 트리의 인증된 노드 위치 <s> 간의 결합 연합을 생성할 수 있다.
이것은 Cs 및 Ms에 의해 입증된 속성이 플랫폼 구성에 존재한다는 것을 플랫폼이 밸리데이터에게 주장하게 할 수 있다. 표시된 서브트리에 Cs를 결합하기 위한 SML 갱신의 각종 방법을 생각할 수 있고, 각 방법은 특수한 사용예에 대해 다르게 적합된다.
새로운 노드(예를 들면 SML 트리에서의 값과 위치)의 집합 U={u1,...,uk}는 하기의 속성을 이용하여 생성된다. 첫째로, 집합은 U≤s를 유지하여 s 아래의 서브트리가 갱신에 의해 터치되게 한다. 이것은 U 바로 아래의 구 SML 트리 노드 n≤U, 즉 n/∈U가 갱신에 의해 무효로 되기 때문에 수행될 수 있고, 갱신된 뿌리 검증 데이터 레지스터에 대하여 더 이상 검증되지 않을 수 있다. 둘째로, U는 무의존성(dependency-free), 즉, u,u'∈U: u≤u'이다.
무의존성은 머클 해쉬 트리에서 구체화되는 일방향(상향) 정보 흐름을 가진 U에 의한 트리 갱신의 일관성을 보증하는 속성이다. 특히 무의존성은 U의 요소들이 처리되는 순서와 무관한 갱신 결과를 만든다.
단계 5는 SML 트리 갱신 프로퍼(proper)이다. u∈U를 통한 반복으로, TPM_트리_노드 검증_갱신이 독립변수 (u,n,u,R(n))에 의해 호출되고, 여기에서 n은 위치 <u>에서의 구 SML 노드 값이다. 이것은 TSS가 SML을 갱신하는 새로운 트레이스 T(u)를 되돌려보낸다. 전술한 방법으로 트리 갱신을 실행하면 SML에 대한 일관된 보안 레벨 및 뿌리 검증 데이터 레지스터를 유지한다. 즉, 동작 ◇은 TPM 내측에서 실행된다. U가 많은 요소를 포함할 때, 단계 5에 대하여 설명한 방법으로 갱신을 수행하는 것이 비효율적일 수 있는데, 그 이유는 그 경우에 TPM_트리_노드_검증_갱신이 많은 중복되는 축소형 트리를 검증하고 따라서 (복잡한) 해쉬 계산에서 용장성을 생성하기 때문이다. 더 효율적인 갱신 알고리즘은 뒤에서 설명되며, "효율적 보안 노드 집합 갱신"이라고 부른다.
위에서 언급한 것처럼, 내부 노드의 큰 집합 U를 갱신하는 것은 검증을 위한 많은 용장성 해쉬 동작이 U의 요소들의 축소형 트리의 중복에 의존하여 생성하기 때문에 TPM_트리_노드_검증_갱신을 이용하는 것이 비효율적일 수 있다. 대량 갱신 전략은 전술한 TPM_트리_확장 커맨드를 이용해서 서브트리 인증 프로토콜의 단계 5의 단순(naive) 알고리즘을 개선하도록 적용될 수 있다. 이것은 갱신 집합 U의 부분집합이 구 SML 값에 독립적인 서브트리에 걸친다는 것, 즉 그들의 뿌리가 U의 노드에 의존한다는 관측에 의거한다. 따라서, 그러한 집합에 의해 걸쳐지는 트리의 뿌리는 값비싼 검증없이 미리 계산될 수 있다.
일부 정의가 주어진다. U={u1,....uk}가 무의존성 갱신 집합이라고 가정한다. SML 트리의 노드는 만일 a) 이 노드가 U의 요소이거나, b) 그 형제가 U에 있거나, 또는 c) 그 형제가 U-고유성(U-intrinsic)이면 U-고유성이라고 부른다. 이 회귀적 정의는 갱신된 값이 U에 의존하고 U의 상보물(complement)의 SML 노드에 의존하지 않는 노드를 포착한다. 부분집합 V⊆U의 스팬 루트(span root)는 V의 모든 요소의 트레이스의 유일한 교차점이다. 부분집합 V⊆U에 의해 걸쳐지는 서브트리는 생략된 스팬 루트 바로 위에 있는 노드와 V의 요소들의 트레이스의 합체(union)이다. 부분집합 V는 만일 그 걸쳐진 서브트리의 모든 요소들이 U-고유성이면 U-고유성이라고 부른다.
이러한 설정으로, U에 의한 SML의 더 효율적인 갱신이 다음과 같이 행하여진다.
1) (상호 해체하는) U-고유성 부분집합 V1,...Vk⊆U를 식별한다.
2) Vi(i=1,...k)를 통해 반복한다.
a) i) Vi의 스팬 루트의 좌표에 의해 주어진 프리픽스를 끝수버림(truncate)함으로써, 및
ii) 모든 좌표가 동일한 길이를 갖고 서브트리의 깊이가 Vi만큼 확대될 때까지 제로를 포스트픽스(post-fixing)함으로써
Vi의 요소들의 좌표를 정상화한다.
b) 정상화 좌표에 따라 Vi의 요소들을 알파벳 순으로 정돈하여 정돈된 리스트 /Vi를 생성한다.
c) /Vi의 모든 갭(정상화 좌표 내의 것)을 nil 값으로 채운다.
d) 자유 검증 데이터 레지스터 V'를 선택한다.
e) 목표 V'를 가진 /Vi의 요소에서 TPM_트리_확장을 순차적으로 사용한다.
f) U로부터 Vi를 제거한다.
g) (V', <vi>)를 U에 삽입한다. 여기에서 vi는 Vi'의 스팬 루트이다.
3) U의 나머지 요소에 대하여, 전술한 바와 같은 정상적 갱신 절차를 TPM 트리_노드_검증_갱신을 이용하여 적용한다.
서브트리 인증 프로토콜의 변형예는 단일 프로토콜 동작에서 서브트리 인증인 AIK에 대하여 각각 PCA와 SCA의 임무를 결합할 수 있다. AIK의 생성, 활성화 및 사용이 하나의 세션에 묶여지기 때문에 AIK 인증서(Ca)의 명시적 생성 및 검증이 필요 없다는 것이 장점이다. 이 프로토콜의 조합은 간단하다.
수신된 서브트리 인증서를 플랫폼 상태에 결합하는 것은 수신된 서브트리 인증서를 정확한 구성의 트리형 SML, 즉 인증된 서브트리의 뿌리의 위치에 결합하는 것을 의미한다. 전술한 바와 같이, 이것은 전체적인 플랫폼 구성과 관련하여 의미심장한 서브트리 인증 기반 확인에 대하여 본질적이다. Cs를 SML에 결합하는 하나의 특수한 목표는 예컨대 차후의 다른 인증서와의 교체가 금지될 수 있기 때문에 무결성 보호이다. 결합은 서브트리 인증서를 독특하게 및 검증가능하게 식별하는 데이터로 트리의 일부를 갱신함으로써 달성될 수 있다. 광범위한 데이터 아이템이 서브트리 인증서로부터 생성될 수 있고 각종 위치에서 SML 트리에 주입될 수 있다.
일 예로서, SML 갱신은 하찮은 것이고 U는 공백일 수 있다. 이것은 만일 a가 전술한 제1 옵션에 의해 구성되고 s를 드러내는 경우에 가능하다. 그 다음에, s는 SML 트리에서 유지되고 그 아래의 서브트리가 또한 유지되는지 여부는 사용예에 따른다. 결합 연합은 C에 의해 서명된 실제 노드 값 s를 통해 이루어진다.
다른 예로서, 인증서에 의해 입증된 플랫폼 속성에 관한 데이터가 예를 들면 법적 사용을 위해 갱신 트리에 의해 보호될 수 있는 경우를 생각하자. 즉, 3개의 데이터 아이템(s, Ms, Cs)이 갱신 집합에 진입할 수 있다. 노드 값 s가 이미 올바른 데이터 포맷에 있지만, 다른 2개의 노드 값은 m(Ms)) 및 m(C(s))로 먼저 처리된다. 동작 m은 플랫폼의 측정치에 대한 신뢰의 근본(Root of Trust for Measurement; RTM)에 의한 해쉬 값의 생성, 또는 다른 적당한 1방향 동작일 수 있다. 만일 일부 데이터 아이템이 적당한 노드 값 포맷의 적절한 독특하게 식별하는 데이터를 이미 포함하고 있으면, 그 데이터는 직접 추출되어 노드 갱신 값으로서 사용될 수 있다. 특수한 예는 C(s)에 포함된 인증서 지문일 수 있다. 3개의 갱신 노드는 그 다음에 갱신 집합으로 구성되어, 예를 들면 도 27에 도시한 바와 같이 SML 트리의 갱신된 노드의 구성을 생성할 수 있다.
갱신된 서브트리의 뿌리는 s의 구 위치에 삽입되고 값 k=(m(Cs)◇m(Ms))◇s를 갖는다. 이 구성은 서브트리 인증서 및 매니페스트에 독립 무결성 보호를 제공하고 구 노드 값을 독립적으로 보유한다. Cs로 표시되는 플랫폼 속성에 대한 입증은, 이 구성에서, s에 대한 정보를 드러냄이 없이 서브트리의 좌측 내부 노드 *만을 인용함으로써 여전히 행하여질 수 있다.
서브트리 결합을 위한 인증서의 변형예는 많이 있다. 플랫폼은 자신의 생성된 데이터(의 무결성 보호 값), 예를 들면 보안 클럭으로부터의 내부 타임스탬프를 내부에 포함하는 것을 또한 원할 수 있다. 여기에서의 구현예는 사용예에 특유할 수 있다.
밸리데이터에 대하여 서브트리 인증서에 의해 표시된 속성의 입증을 위하여, 플랫폼은 TPM_트리_노드_인용을 이용해서, 적어도 매니페스트 및 인증서 프로퍼를 포함하는 의도된 확인 데이터를 보호하는 갱신된 서브트리 내에서 또는 그 위에서 임의의 노드를 인용할 수 있다. 그 다음에, 플랫폼은 역시 적어도 Ms 및 Cs를 포함한, 주장된 속성의 검증을 위해 필요한 모든 데이터와 같은 필요한 확인 데이터를 밸리데이터에게 제출할 수 있다. 제출된 인용구에 의해 이미 보호되는 확인 데이터는 원칙적으로 추가적인 무결성 보호를 요구하지 않는다.
밸리데이터는 확인 데이터의 플랫폼 결합을 검증할 수 있다. 이 속성, 즉 확인하는 플랫폼이 SCA에 대하여 서브트리 인증을 수행한 것과 동일한 것인지의 증명은 하찮은 것이 아닐 수 있다. 이것을 달성하는 한가지 방법은 인증에서처럼 서브트리 확인시에 동일한 AIK a를 사용하는 것이다. 플랫폼은 그 다음에 apub를 또한 제출할 수 있고, 만일 필요하다면 확인 데이터의 일부로서 Ca를 또한 제출할 수 있다. Ca가 필요한지 여부는 서브트리 인증서의 의미론에 따른다. 즉, SCA는 AIK 인증서를 이미 체크하였을 수 있고, Cs는 그 진실성을 진술할 수 있다. 따라서 정보가 매니페스트에 배치될 수 있다. 동일한 AIK를 재사용하는 것은 사생활을 부분적으로 침해하고, 이 문제점을 해결하기 위한 다른 방법이 또한 고려될 수 있다.
서브트리 인증서의 사용을 위한 하나의 단계는 플랫폼이 특수한 SCA로부터 인증서를 획득할 수 있는 서브트리를 발견하는 것이다. 플랫폼, SCA 및 밸리데이터 간의 상호작용을 구체적으로 설명하지 않고, 서브트리 발견 방법에 대한 2개의 카테고리가 뒤에서 설명된다. 첫번째 방법은 서브트리 발견의 워크로드를 플랫폼에 배치하고, 두번째 방법은 "덤"(dumb) 플랫폼을 추정하고 더 많은 부하를 SCA에게 배치한다.
일 예로서, SCA는 일부 서브트리 발견 데이터, 즉, 가장 간단한 경우에 인증할 준비가 된 노드 값의 리스트를 플랫폼에 보낸다. 플랫폼은 이 값들을 그 SML에서 조사하고 각각의 식별된 노드에 대하여 서브트리 인증을 수행한다. 이 기초 절차는 각종 순화(refinement), 특히 발견 데이터(discovery data)를 풍부하게 하고 발견 절차를 플랫폼과 SCA 간의 협상 프로토콜까지 확장하는 것을 제안한다. 예를 들면, 발견 데이터는 인증가능한 뿌리에서의 조건으로서 뿌리 노드 위치를 포함할 수 있고, 이것은, 인증된 부팅 처리에서 생성된 SML의 경우에, 후자 서브트리의 구축중에 로드된 컴포넌트가 플랫폼 시동의 규정된 단계에서 로드되었다는 사실에 대응한다.
노드의 절대적인 배치에서의 이러한 조건은 실제로는 구성이 동적으로 변화할 수 있는 복잡한 플랫폼에 대해서는 곤란할 수 있다. 그러므로, 더 순화된 조건은 예를 들면 인증가능한 뿌리의 일부 쌍의 상대적 위치를 또한 표시할 수 있다. SC는 예를 들면 "만일 s가 r에 의해 선행되면 s는 인증가능하다"는 표현과 같은 표현을 진술할 수 있다(즉, r은 정돈된 SML 트리에서 s의 좌측에 의지할 수 있다). 이것은 만일 다른 기능이 소정의 기능 전에 작용적으로 되었으면 상기 소정의 기능이 플랫폼에서 작용적이라는 취지로 해석될 수 있다.
더 근본적으로 상이한 모델의 변형예는 발견 데이터가 서브트리의 뿌리, 즉 내부 노드로 구성되지 않고, 오히려 잎, 즉 측정치 값으로 구성되는 것이다. "바텀업"(bottom up) 발견 절차는 SCA가 신뢰성 값으로서 알고 있다고 주장하는 수신된 잎 측정치 값에 기초하여 내부 노드가 인증가능한 "훈련된 예측력"(educated guess)을 플랫폼이 만들 것을 요구할 수 있다. 하나의 방법은 잎이 모두 발견 데이터 내에 있는 서브트리의 스팬 루트의 집합을 찾는 것이다. 플랫폼은 그 다음에 서브트리의 뿌리를 인용할 수 있고 그 뿌리를 그 SML 서브트리와 함께 SCA에게 보낼 수 있다. 일반적으로, SCA는 SML 서브트리를 검증하고 그 뿌리를 인증할 준비가 되었는지를 결정할 수 있다. 왜냐하면, 이것은 아직 잎의 순서에 의존하기 때문이다. 일부 경우에, 플랫폼은 SCA가 일부 잎의 값을 알고 있는 서브트리에 대한 인증서를 획득하기 원할 수 있다. 즉, 대응하는 서브트리의 잎의 집합은 발견 데이터와 관련하여 갭을 가질 수 있다. 만일 플랫폼이 다른 신뢰 데이터, 예를 들면 SCA가 신뢰하는 관계자로부터 획득된 RIM 인증서를 갖고 있으면, 플랫폼은 서브트리의 뿌리를 인증하게 하는 결정으로 SCA를 원조하기 위해 서브트리 인증의 단계 2에서 이 데이터를 제출할 수 있다.
장치가 서브트리의 국소 발견을 수행할 수 없는 경우에, 연산을 SCA에게 이전하는 구현예가 사용될 수 있다. 플랫폼은 n 아래의 임의의 적당한 서브트리에 대하여 SCA로부터 인증서를 검색할 목적으로 내부 노드(n)를 선택한다. 노드(n)는 플랫폼이 모든 인증가능한 노드들이 인증될 것을 원하는 경우에 완전한 트리(V)의 뿌리와 동일할 수 있다. 다음의 2개의 단계는 위의 단계 1 및 2에서 설명한 것과 동일하다. 즉 만일 V가 선택되었으면, 플랫폼은 TPM_트리_노드_인용 또는 TPM_인용을 각각 수행한다. 입증 패키지는 인용된 뿌리 아래의 SML 서브트리와 함께 싸여진다. SCA는 이 정보를 수신하고, 그 다음에 트리 순회 기술을 이용하여 트리의 무결성을 검증할 수 있으며, 이와 동시에 인증가능한 뿌리의 집합(S)을 가진 하나 이상의 (해체된) 서브트리(Si)를 찾을 수 있다.
그 다음에, SCA는 전술한 프로토콜의 단계 3을 반복하여 모든 si∈S에 대하여 인증서를 생성한다. 프로토콜이 갱신 노드 리스트(U)에 통합된 복수의 노드의 갱신을 허용하기 때문에, 모든 찾아진 서브트리의 갱신은 단일 프로토콜 동작에서 수행될 수 있다. 제1 단계에서 TPM_트리_노드_인용 또는 TPM_인용을 보내지 않는 변형예가 플랫폼에 대하여 가능하지만, 이 변형예는 선택된 노드(n)으로부터 시작하여 SML과 함께 SCA를 제공할 수 있다. 그 다음에, SCA는 인증될 잠재적인 후보 서브트리를 조사하고, 그 다음에 플랫폼이 식별된 서브트리의 뿌리 노드에 대하여 TPM_트리_노드_인용을 제공하도록 요청한다. 이것은 플랫폼이 먼저 암호화 동작을 수행할 필요없이 SML을 보낼 수 있게 한다는 점에서 트레이드오프(trade-off)이다. 그럼에도 불구하고, 플랫폼은 SCA에 의한 인증 전에 적당한 인용구를 제공하여 전송된 SML에 대한 무결성 보호를 제공할 수 있다.
위에서는 TFV를 구현하는 시스템, 방법 및 장치에 대하여 설명하였다. 이하에서는 TFV의 변형예 및/또는 확장에 대하여 설명한다.
밸리데이터가 플랫폼에 의해 제출된 트리형 SML을 순회하는 방법은 위에서 설명한 레벨만큼 레벨을 낮춤으로써 가능하다. 이하에서는 실패한 잎 컴포넌트에 대하여 SML을 순회하기 전에 확인 플랫폼의 공지된 양호한 부분을 식별하기 위해, 밸리데이터가 SML 트리에서 서브트리의 공지된 양호한 뿌리 값을 먼저 찾는 변형예 절차를 설명한다.
전체 플랫폼의 SML 트리의 기준 트리를 유지하는 것이 어려울 수 있다. 그러한 트리는 크고, 예컨대 컴포넌트의 로딩 순서와 같은 플랫폼 구성에 민감하게 의존할 수 있다. 트리 순회 확인은 본 명세서에서 설명하는 진단 확인(diagnostic validation)이 확인된 플랫폼의 소망하는 기준 구성과 일치하지 않는 컴포넌트를 식별하는지 결정함에 있어서 정적 측정 시퀀스를 추정한다. 사실, 머클 댐가드 변환(Merkle-Damgard transform)이 상호 교환적이거나 연합적이지 않기 때문에(이 변환은 다집합 해쉬 함수가 아니다), 트리의 뿌리 값은 정확한 측정 시퀀스에 의존한다. 뿌리 값이 선형으로 생성된 PCR 값을 유지하기 때문에, 위에서 설명한 성능 비교가 여전히 공정하다. 트리 뿌리의 순서 감응성의 문제점에 대해서는 뒤에서 더 자세히 다루어진다. 그 곳에서 설명하는 방법은 여기에서 설명한 방법과 결합될 수 있다.
일의 상태는, 단순 해법에서, 플랫폼의 실제상(기능적으로 및 보안성과 관련하여) 등가 구성을 위해 기준 트리를 유지할 필요가 있다. 따라서, 완전한 기준 트리보다 확인을 위한 미립자형 데이터세트가 바람직할 수 있다.
SML 트리 및 대응하는 기준 트리의 뿌리의 공지된 양호한 값의 데이터베이스를 유지하는 대신에, 밸리데이터는 각종 깊이의 서브트리의 공지된 양호한 서브트리 뿌리 값의 확장된 데이터베이스를 유지한다. 이 값들은 쌍(r,d)으로서 저장된다. 여기에서 r은 서브트리 뿌리의 노드 값이고 h는 서브트리의 깊이이다. 깊이(d)는 완전한 SML 트리의 깊이(D)로부터 0까지의 범위를 가지며, 여기에서 d=0은 대응하는 공지된 양호한 기준 값이 실제로 잎 측정치임을 나타낸다. 진단 트리 순회에서 소정 레벨(L)에 도달한 때, 및 암호화 검증 후에, 밸리데이터는 이 레벨에서 수신된 SML 트리의 노드 값을 너비 우선 조사(breadth-first search)에 의해 공지된 양호한 값 {(r,d)|d=D-L}과 비교한다. 일치하는 뿌리를 가진 서브트리는 공지된 것으로 표시되고 추가의 진단 순회로부터 배제되며, 이 서브트리는 그 다음에 레벨 L+1로 진행한다.
공지된 서브트리 뿌리의 데이터베이스를 유지하는 것은 밸리데이터에 대하여 뿌리로부터 트리를 낮추는 것과는 반대로 다른 확인 전략을 또한 가능하게 한다. 밸리데이터는 효율적인 것으로 간주되는 임의의 조사 절차에 의해, SML 트리의 공지된 양호한 서브트리 뿌리(의 부분집합)을 찾을 수 있다. 그 다음에, 밸리데이터는 이 서브트리 뿌리의 무결성을 검증할 수 있다. 이를 위해, 밸리데이터는 서브트리 뿌리 노드의 축소형 트리 및 다른 곳에서 설명하는 이 값에 대한 검증 절차를 이용할 수 있다. 만일 값이 무결성 검증되면, 대응하는 서브트리는 OK로서 표시되고 후속되는 진단 확인에서 생략된다.
그러한 잎으로서 공지 서브트리의 식별은 플랫폼의 다른 구성, 특히 공지 컴포넌트 및 실패 컴포넌트의 다른 로딩 시퀀스에 따른다. 예를 들면, 측정치 잎들 사이에 실패 컴포넌트를 포함하는 다른 서브트리를 각각 가진 8개의 측정치 잎을 가진 2개의 서브트리(A, B)가 있을 수 있다. 만일 밸리데이터가 A와 B를 공지의 것으로서 식별하지만, 통상적으로 이들을 시퀀스 B, A로, 및 즉시 시퀀스에서, 또는 시퀀스 A, C, B의 중간에 있는 다른 공지의 서브트리(C)와 함께 수용하면, 밸리데이터는 플랫폼 구성을 유효한 것으로 수용해야하는지 정책에 기초하여 결정해야 한다.
여기에서 설명한 변형예의 확장으로서, 밸리데이터는 이전의 플랫폼 확인 결과에 기초한 대화식 학습에 의해 기준 트리 데이터베이스를 동적으로 공급할 수 있다. 하나의 가능성은 플랫폼이 확인을 행하는 최초에 진단 확인을 수행하고, 여기에서 언급한 것처럼 밸리데이터 컴포넌트(즉, 잎)의 신뢰 기준 값 및 정책에 따르는 양호한 플랫폼 구성에 대응하는 잎 측정치의 후속사건으로부터 공지의 양호한 서브트리를 생성하는 것이다. 더 많은 플랫폼이 확인할 때, 밸리데이터는 평범성 및 위험성(구성과 연관된 것)과 같은 기준에 따라서 공지의 양호한 서브트리 및 플랫폼 구성의 통계적으로 가중된 데이터베이스를 구축할 수 있다. 공통적으로 나타나는 서브트리는 예를 들면 최초로 조사될 수 있다.
여기에서 설명하는 방법은 서브트리 인증 방법과 관련하여 설명한 서브트리 발견 방법과 유사하다. 이것은 SCA 엔티티에 의해 학습 전략과 함께 또는 학습 전략과는 별도로 적용될 수 있는 방법이다.
밸리데이터가 플랫폼에 의해 제출된 트리형 SML을 순회하는 방법은 한 레벨씩 낮춘다. 이를 위해, 전체 트리가 하나의 통신 단계에서 밸리데이터에게 제출되고 기준 트리에 대하여 평가된다. 여기에서, 각종 레벨의 트리 노드를 하나씩 순차적으로 전송하는 대안적인 실시형태가 설명된다.
전체 SML 트리가 밸리데이터에게 제출될 수 있다. 이것은 일반적으로 최적이 아닐 수 있는데, 실패한 잎 측정치의 비율이 작을 때 특히 그렇다. 그 다음에, 많은 서브트리가 전체 SML 트리의 일부로서 전송되겠지만, 그들의 서브트리 뿌리가 기준 트리의 대응하는 노드와 관련하여 올바르기 때문에, 그들의 포함된 노드 데이터는 확인을 위해 사용되지 않을 수 있다.
TFV에서 피전송 데이터를 최소화하는 기본 접근법은 그러한 데이터, 즉 다른 곳에서 설명하는 것처럼 트리 순회 확인시에 현재 단계에 실제로 필요한 데이터만을 밸리데이터에게 전송하는 것이다. 밸리데이터는 SML 트리의 뿌리 검증 데이터 레지스터를 먼저 수신하고 그 레지스터를 대화식 트리 순회 확인의 레벨 L=0으로서 평가한다. 만일 그 값이 기준 트리의 뿌리와 일치하면, 확인은 종료한다. 그렇지 않으면, 밸리데이터는 플랫폼으로부터 뿌리의 2개의 자식 노드를 요청한다. 2개의 자식 노드를 수신한 후에, 밸리데이터는 본 명세서에서 설명하는 도 9의 무결성 조건 c)를 검출하고 정지하거나, 또는 자식으로부터 뿌리를 재계산한다. 자식 노드를 포함한 메시지는 그 콘텐츠가 확장 연산의 재계산에 의해 부모 노드와 관련하여 검증되기 때문에, 무결성에 대한 암호화 보호도 새로움에 대한 암호화 보호도 필요로 하지 않는다. 그 다음에, 뿌리는 TPM_인용 또는 유사한 동작, 예를 들면 디지털 서명에 의한 보호와 함께 전송되는 것으로 추정된다.
L=1에서 2개의 자식을 비교해서, 밸리데이터는 그들 중의 어느 것이 기준 트리와 관련하여 올바른 것인지 찾을 수 있다. 그 자식은 추가의 조사로부터 폐기된다. 밸리데이터는 그 다음에 트리 깊이 1에서 모든 '불량' 노드의 자식들(즉, 트리 깊이 2에서 2개 또는 4개의 자식 노드)을 요청한다. 그들 각각에 대하여, 검증 및 기준 트리 비교는 앞에서처럼 진행한다. 이 절차는 반복으로 계속된다. 이 방법으로, 실패한 잎 측정치를 찾는데 필요한 불량 내부 노드가 밸리데이터에게 실제로 이전된다. 언급한 것처럼, 이것은 짧은 메시지 사이즈에 의해 및 암호화 오버헤드 없이 매우 효율적으로 행하여질 수 있다. 트리형 SML의 크기에 관한 데이터의 양은 실패한 잎의 비율에 의존한다. 이것은 본 명세서의 도 10에 도시되어 있다.
TFV 적합성에 대한 다른 방법, 즉 첫째로, 빈번하게 변화하는 동적 플랫폼(부분적) 상태의 확인 데이터를 제공하는 방법, 및 둘째로, 검증 데이터의 확장가능한 공간을 제공하는 방법에 의한 트리형 검증 데이터의 각종 조합이 있다.
PCR 또는 검증 데이터 레지스터는 하나의 (하드웨어) 보호성 메모리 공간이고, 플랫폼은 이들의 악명높게 짧은 것이다. 본 명세서에서 설명하는 해쉬 트리는 원칙적으로 이러한 제한을 제거한다. 그러나, 뿌리 보호성 검증 데이터 레지스터, 예를 들면 PCR에 의한 트리형 SML의 보안 생성 처리는 고정 깊이 및 그에 따라서 잎 측정치의 제한된 용량을 가진 트리를 유도한다. 플랫폼이 그 트리형 SML에 적합한 것보다 더 많은 측정 대상 컴포넌트를 가질 때 문제가 생성할 수 있다.
다른 문제점은 검증 데이터가 메모리 영역과 같은 빈번하게 변화하는 부분 플랫폼 상태의 기록을 보호하는 경우에 생성할 수 있다. PCR 값을 갱신하는 하드웨어 보호 동작, 즉 TPM_확장 연산은 느리다. 따라서, PCR은 빈번하게 변화하는 데이터의 보호에 적합하지 않다. 따라서, PCR은 직접 런타임 메모리 보호에 부적합할 수 있다. 이를 위해 각종 시스템은 머클 해쉬 트리를 이용하지만, 그들의 뿌리는, 그들의 갱신이 너무 느려서 플랫폼 동역학과 보조를 맞출 수 없기 때문에 일반적으로 하드웨어 보호성 레지스터에 저장되지 않는다.
동적으로 변화하는 플랫폼 상태를 보호하기 위해 사용되고 (이산) 시간 t에 따라서 일부 데이터 W(t)에 의해 표시되는 기본 아이디어는 연관된 검증 데이터 레지스터(R)에 대한 캐시후 갱신(cache-then-update) 전략이다. 일부 신뢰성 소프트웨어 APP_R은 이 상태 시퀀스을 R에서 보호한다. APP_R은 길이가 L인 상태 W(kL+1),..., W((k+1)L)의 간격들을 수집하고, 이들을 다이제스트 함수로 측정하기 전에 이들을 캐시하며, 예를 들면 머클 댐가드 변환에 기초한 PCR 확장 연산 또는 유사한 연결 동작을 이용하여 이들을 R에게로 확장한다.
각종의 높아진 보안 필요조건이 APP_R에 적용된다. 특히, 수정에 대한 충분한 보호가 APP_R에 적용되고 무단 변경이 적용되어야 한다(이 방법들은 예를 들면 가상화 또는 보안 커널에의 통합이라고 알려져 있다). 또한, APP_R의 동작은 외부 밸리데이터에 의한 평가에 개방될 수 있다. 이것을 위한 최소 필요조건은 APP_R의 신뢰성이 예컨대 로딩 전에 APP_R을 측정함으로써 등록된 보안 시동 중에 검증되고, 밸리데이터에 의해 검증가능한 방식으로 R에서 보호되는 실제 시퀀스 W에 결합되는 것이다.
바람직한 특징을 제공하는 방법은 다음과 같다. 시퀀스 W(t)는 길이가 L인 복수의 간격으로 절단될 수 있다.
Figure pat00014
다이제스트 함수는 간격 측정치 값 Mk = m(W(L(k-1)+1)||...||W(Lk))(k>0)을 생성하도록 부분 시퀀스에 적용된다. 변형예로서, 예를 들면 다음과 같이, 간격 측정치에 보안 소스로부터 온 타임 스탬프를 통합하는 것이 유용할 수 있다.
Mk = m(W(L(k-1)+1)||...||W(Lk))||TPM_Tick(now))
측정치 값의 간격에 타임스탬프를 추가하면 컴포넌트의 로딩 순서에서 정보를 잃지 않고 (하위) 구조의 재배치가 가능하다. 또한 측정치의 '노화'(aging)를 가능하게 하고, 이때 밸리데이터는 소정의 시구간 후에 측정치 값의 부활(renewal)을 요청할 수 있다. 간격 측정치 값은 예를 들면 확장 연산 R(k+1)=R(k)◇Mk+1에 의해 이들을 검증 데이터 레지스터로 확장시킴으로써 보호되고 통상의 선형으로 연결된 SML과 유사한 시퀀스를 야기한다.
Figure pat00015
중간 상태가 또한 SML에서 보호된다. 즉 SML은 W를 다음과 같이 보호한다.
Figure pat00016
관리 애플리케이션의 신뢰 상태에 대한 바람직한 결합은 다음과 같이 달성될 수 있다. 플랫폼의 보안 또는 인증된 부팅 설비는 로딩 전에 APP_R을 측정하고 측정치 값 m(APP_R)을 검증 데이터 레지스터(Q)로 확장한다(이것은 신뢰의 이행 체인에서 선행 PCR P의 값으로 초기화될 것이다). 그 다음에, 실제 기록 레지스터 R의 시퀀스가 P 및 초기화 값 P_init로, 예를 들면 세션 넌스 또는 타임스탬프, 또는 이들 둘 다로 초기화된다. 이것은 다음과 같은 구조를 만든다.
Figure pat00017
만일 검증 데이터 레지스터의 단점이 있으면, P, Q 및 R은 1일 수 있다. 검증은 하기의 것:
Figure pat00018
및 P, Q 및 R의 인용구(quote)를 포함하는 W에 대하여 확장형 SML에서 진행한다. 만일 존재하면, SML은 타임스탬프의 값을 또한 포함할 수 있다.
실제 하드웨어 보호성 검증 데이터 레지스터는 트리형 SML의 뿌리로부터 분리될 수 있고, 이 레지스터는 그 다음에 덜 보호된 메모리 공간에 저장되지만 전자에 의해 보호된다. 이를 위해, 특수 소프트웨어 TFV_APP가, 깊이가 d이고 잎 V_1,..., V_(2^d-1)을 가진 내부 트리에서 여전히 통상의 메모리 공간일 수 있는 뿌리(W)에 의해 보호된 해쉬 트리를 관리한다. W(t)의 상태 시퀀스는 그 다음에 예컨대 최종 서브섹션의 간격 메서드를 이용하여 하드웨어 보호성 실제 검증 데이터 레지스터(R)에 의해 보호된다. 그 다음에, 가상 레지스터(V)가 SML 트리의 뿌리로서 사용되고 TFV_APP에 의해 관리된다. 이를 위해, TFV_APP는, 이 명세서의 어딘가에서 설명되는 커맨드를, 마치 이 커맨드가 뿌리 검증 데이터 레지스터이었던 것처럼, 외부 애플리케이션에 노출시킬 수 있다. R의 구조는 앞에서처럼 다음과 같다.
Figure pat00019
한편 결합된 Ws는 도 29에 도시된 것처럼 트리의 뿌리를 나타낸다.
Vi(t)의 검증은 아래의 검증 데이터를 통해 확장할 수 있다:
Figure pat00020
여기에서 Q는 PCR RN-1, RN, RN+1의 인용구이고 아래의 방식에 따라서 진행한다.
i. 축소형 트리 R(Vi(t)) 및 뿌리 W(t)에 관한 Vi(t)를 체크한다
ii. (2)에 따라서 RN+1(t)=RN+1(t-1)◇W(t)를 체크한다
iii. 추가적으로 RN+1(0), W(0)가 전송되면 RN+1(0)=RN◇W(0)를 체크한다
iv. RN=RN-1◇m(TFV_APP)를 체크한다
v. 기준 값에 대하여 m(TFV_APP)를 체크한다
vi. 인용구 Q를 체크한다.
더 나아가, 타임스탬프는 전술한 것처럼 적용될 수 있다. TFV_APP의 결합은 하기와 유사하게 뿌리 RN+1에 대해 생성되는 것으로 추정된다.
Figure pat00021
여기에서, W(0)는 임의의 초기화 값이다.
SML 트리의 보안 형성은 자연적인 용량 제한을 갖는다. 이 제한을 제거하는 방법은 전술한 서브트리 인증 방법의 단순화 프로필 애플리케이션이다. 소정의 고정 깊이의 SML 트리는 완전히 채워지고, 플랫폼은 트리를 (자기) 인증하며 제1 측정치로서의 획득된 인증서를 다음의 공백 SML 트리에 삽입한다. 이것은 도 28에 도시된 것처럼 좌측 불평형 멀티트리 구조를 야기한다.
레지스터(V)는 트리형 SML의 뿌리 SML_1을 보호할 수 있다. 다음 트리와 함께 안전하게 계속되는 독립형 방식은 다음과 같다. 플랫폼은 AIK a_1을 이용하여 서명된 성명서 Q_1을 획득하기 위해 TPM_인용(V,a_1)을 호출한다. TPM_인용은 지정된 검증 데이터 레지스터(V)의 TP TrE 내측에서 실행되는(예를 들면, TPM에 의해) 서명 커맨드를 나타낸다. 따라서, Q_1은 서명의 검증시 및 a1의 PCA 인증시에, 값 V가 검증 데이터 레지스터(V)에 1회 포함되었음을 임의의 검증자에게 주장한다. 플랫폼은 증가된 SML_1: SML_1*:=SML_1||V||Q_1||Cert_PCA(a_1), 즉, 원래의 SML_1, 그 뿌리의 값, 인용구 및 관련 AIK 인증서를 나중의 검증을 위해 저장한다. 플랫폼은 V를 리셋한다. 전술한 속성에 의해, SML1*은 의미론적으로 SML1과 등가이고 레지스터(V)는 그 뿌리를 포함한다. 레지스터(V)는 이제 다음 트리 구축을 위하여 자유이다.
후속의 트리는 담당 신뢰의 근본(root of trust in charge)에 의해 계속적인 내부 검증을 보증하도록, 즉 포함된 잎 측정치의 무결성의 연속적인 보증을 위해 이전의 트리에 결합될 수 있다. 이를 위한 하나의 예시적인 방법은 최종 트리에 결합하는 제1 측정치 값으로 다음 트리 SML_2를 시작하는 것이다(예를 들면, 플랫폼의 RTM의 수정에 의해). 이것을 행하는 각종 예는 뒤에서 설명된다.
예를 들면, 최종 뿌리 값(V)은 제1 측정치로서 직접 사용될 수 있다. 이것은 이벤트의 순서를 보존하지 않는다. 왜냐하면, 이 경우 다음 트리는 최종 트리의 적용된 인증의 의미론에 대한 어떠한 힌트도 포함하지 않기 때문이다. 다른 예에 따르면, 측정치 m(Q_1)은 SML_2의 최초 잎으로서 사용될 수 있다. 다른 예에 따르면, m(V||(Q_1)||Cert_PCA(a_1))은 SML_2의 최초 잎으로서 사용될 수 있다. 다른 예에 따르면, m(SML_1*)은 SML_2의 최초 잎으로서 사용될 수 있다.
최종의 3가지 옵션은 의미론적으로 등가일 수 있지만, 검증 및/또는 생성 복잡도의 면에서 실제적 의미는 다르다. 트리형 SML의 인증된 연속은 제한없이 반복적으로 계속될 수 있다. 인증에 의한 내부 연속 대신에, 신뢰성 있는 제3자가 SML_1 트리를 인증하도록 호출될 수 있다.
트리의 인증된 연속은 호출된 TTP에 의해 추가 의미론과 함께 확장될 수 있다. 특히, SML_1이 뿌리 인증 요청과 함께 제출되고 검증되면, 일관성이 뿌리의 재계산에 의해 체크된다. 그 다음에, SML_1의 해쉬 값이 TTP로부터 획득된 인증서에 직접 매립될 수 있다. 이것은 TTP 인증을 위해 제출된 때 SML_1이 무단 변경되지 않았음을 나중에 밸리데이터에게 제공한다. 이것은 원칙적으로 SML_1의 뿌리 값(V)을 쓸모없게 만든다. 밸리데이터는 SML_1 블로브를 통해 글로벌 해쉬를 검증할 필요가 있고, TTP의 서명은 검증을 통해 인증하여 SML_1의 무결성을 체크한다. 이것은 트리 순회 확인을 위해 SML에서 기준 트리를 사용하고자 하는 밸리데이터에 대하여, 내부 노드의 해쉬 동작의 재계산이 필요 없을 수 있고 기준 트리 노드와의 직접 비교가 사용될 수 있다는 것을 의미하기 때문에 유리하다. 이것은 실패 컴포넌트의 조사를 촉진할 수 있다. 다른 변형예로서, TPM 틱 스탬프 또는 TTP 타임 스탬프가 인증에 추가될 수 있다.
더욱 표현력이 풍부한 확인 데이터를 트리형 SML의 검증 데이터에 결합하는 일부 방법 및 옵션에 대해서는 뒤에서 설명된다.
임의의 구조의 SML의 표현도는, 그 자체만으로, 컴포넌트 코드 및 데이터의 측정치를 드러내는 것이 제한된다. 일반적으로, 이것은 밸리데이터에 대하여 확인을 효율적으로 취급하고 확인 결과에 따라서 플랫폼을 효과적으로 관리하게 하는 충분한 정보를 생성하지 않는다. 이 때문에, 이벤트 이력 기록에 대한 SML의 TCG 농축(enriched) 관념은 컴포넌트 식별자, 로딩 시간, 파라미터 및 관련 정보를 또한 기록하고, TCG IWG는 (실제로 트리 구조화) IML의 관념, 인증된 부팅으로 수집된 관련 정보를 포착하기 위한 복잡한 표현력있는 데이터 구조를 도입한다.
그러나, 이러한 농축 및 구조화 확인 데이터는 트리형 SML과 같은 적당한 관련 구조의 검증 데이터에 대한 결합이 부족할 수 있다. 특히 트리형 SML에 대하여, 컴포넌트 및 플랫폼 속성에 대한 맥락성 정보(contextual information), 또는 다른 유용한 확인 데이터가 실제 검증 데이터를 포함한 해쉬 트리에 어떻게 안전하게 결합될 수 있는가에 관한 의문이 생성한다.
실제 측정치 처리에서, 즉 플랫폼의 시동 단계 중에, 메타데이터가 확인 데이터에 추가되고, 측정된 컴포넌트에 대하여 작은 서브트리를 확립함으로써 본질적으로 SML 트리에 결합될 수 있다. 하나의 예시적인 실현예(그러나, 복수의 컴포넌트 및 그들의 측정 잎에 관한 것)는 위에서 설명하였다. TFV에 관한 측정 처리는 SML 트리에 메타데이터를 포함하도록 다음과 같이 확장될 수 있다.
1. 측정 및 SML 구축을 수행하는 에이전트(RTM과 동일하거나 RTM과 협력하는 것)는 어떤 데이터가 수집되고 이 컴포넌트의 SML 트리에 포함되는지에 대한 규정을 포함하는 컴포넌트 측정치 매니페스트를 로딩한다.
2. 만일 SML 트리의 다음 잎이 우측 형제이면(그 이진 좌표의 최하위 디지트가 '1'임), 에이전트는 하나의 nil을 SML 트리에 기록하고 그 기록을 TPM_트리_확장을 이용하여 보호한다. 이것은 컴포넌트가 새로운 별도의 서브트리를 시작하는 것을 보증한다.
3. 에이전트는 컴포넌트 자체를 측정하고 그 측정치 값을 SML에 기록하며 측정치 값을 TPM_트리_확장을 이용하여 뿌리 PCR까지 확장한다.
4. 에이전트는 매니페스트에 대하여 반복하고, 각각의 엔트리에 대해 필요한 메타데이터를 수집하고; 메타데이터를 확인 데이터 시퀀스에 첨부하며; 메타데이터의 측정치, 예를 들면 암호화 다이제스트를 취하고; 이 메타데이터 측정치를 SML 트리에 삽입하고; 메타데이터 측정치를 TPM_트리_확장을 이용하여 뿌리 PCR까지 확장한다.
5. 에이전트는 이 컴포넌트의 측정치 시퀀스의 길이가 2의 제곱에 도달할 때까지 nil 값을 첨부함으로써 컴포넌트의 트리를 채운다.
이것은 도 30에 도시한 형태의 컴포넌트 서브트리 구조를 획득하고, 여기에서 m(.)은 적당한 측정치 함수를 나타낸다(이것은 각종 형태의 메타데이터마다 다를 수 있다).
메타데이터 측정치는 다른 장소, 예를 들면 내부 노드에 삽입될 수 있다. 메타데이터의 삽입은 측정 처리로부터 절차적으로 분리될 수 있고, 이것은 예를 들면 플랫폼의 시동을 촉진하기 위해 유용할 수 있다. 그 다음에, 메타데이터는 다른 처리에 의해 수집되고 메타데이터가 SML 트리에 삽입될 때까지 안전하게 저장될 수 있다(적어도 일부 형태의 무결성 보호를 적용함). 측정 에이전트는 컴포넌트 측정치 매니페스트에 있는 요소들의 수에 따라서 자유 공간에 nil 값을 채움으로써 서브트리에 충분한 자유 공간을 준비한다. 시동중에 부족한 컴포넌트 측정치로 트리형 SML을 완성한 후에 메타데이터가 측정되고, 그 다음에 TPM_트리_노드_검증_갱신 커맨드를 이용하여 적당한 장소에 삽입될 수 있다.
컴포넌트 서브트리에 포함될 수 있는 일부 유용한 종류의 메타데이터 및 그들의 잠재적인 유용성은 뒤에서 설명된다.
컴포넌트 식별자: 예컨대 컴포넌트 제조자, 이름, 버전, 구축, 출시일 등으로 구성된 컴포넌트 식별자는 포함시킬 가장 기본적인 메타데이터이다. 비록, 원칙적으로, 컴포넌트 자체의 측정치 값이 컴포넌트 식별자를 독특하게 이미 식별하였다 하더라도, 독립 식별자는 비일상적인 방식으로 의미론을 추가한다. 컴포넌트 식별자는 플랫폼이 측정 성과와 무관하게 고유의 이름이 있는 컴포넌트를 로딩하기 위해 시도하였음을 주장한다. 따라서, 특히, 만일 컴포넌트 코드 또는 데이터가 타협되었으면, 이것은 어떤 컴포넌트가 무결성 검증에 실패하였는지에 대한 독립 정보를 밸리데이터에게 제공한다. 이 정보는 당해 컴포넌트에 대한 올바른 TRV를 찾도록 허용하기 때문에 매우 유용하다. 이것은 전술한 방법을 위한 컴포넌트의 배치 기준으로서 유용하다. TCG 표준에 따른 이벤트 이력 기록 또는 IML은 이미 컴포넌트 식별자를 포함할 수 있지만, 이들은 통상적으로 검증 데이터에 의해 보호되지 않는다. 여기에서, 이들은 SML 트리의 검증 데이터에 결합되어 제공된 무결성 보호에 의한 더 높은 보증 레벨을 획득할 수 있다. 컴포넌트 식별자는 이미 포함를 위한 포맷(예를 들면 160 비트의 문자열)으로 되어있을 수 있고, 또는 이 포맷을 획득하도록 측정될 수 있다.
RIM 인증서: TRV의 적당한 신원확인은 컴포넌트의 SML 트리에 결합되는 유용한 메타데이터일 수 있다. 이것은 예를 들면 일치하는 RIM 인증서의 지문으로서 실현될 수 있다. 이것은 예를 들면 자신의 데이터베이스에서 또는 TTP를 통해 포함된 RIM(TRV)을 적당한 인증서에 따라서 찾기 위해, 또는 인증서 상태 정보를 획득하기 위해 (밸리데이터에 의해) 사용될 수 있다. 이 경우에, RIM 인증서 프로퍼는 플랫폼의 확인 데이터에 통합될 필요가 없고, 밸리데이터에게 전송되지 않아도 된다. 만일 플랫폼의 시동 처리가 안전하면, 예컨대 보안 부팅 처리로서 실현되면, 일치하는 RIM 인증서 정보의 포함는 추가의 의미론을 획득한다. 즉, 그 특수한 RIM 인증서에 의해 인증된 TRV가 컴포넌트의 측정치 값과의 비교를 위해 사용되었음을 주장한다. 이 경우에, 컴포넌트의 실제 측정치 값은 예를 들면 법의학(forensic evaluation)에서의 필요조건에 따라서 트리형 SML에서 쓸모없게 될 수 있다.
컴포넌트 콘텍스트: 컴포넌트 콘텍스트는 컴포넌트가 로딩되는 런타임 환경의 묘사를 포함할 수 있다.
타임 스탬프: 메타데이터로서 추가되는 피보호 타임스탬프는 컴포넌트의 로딩 시간을 밸리데이터에게 제공함으로써 측정치에 콘텍스트를 추가한다. 이렇게 함으로써 밸리데이터는 컴포넌트의 로딩 순서를 검증할 수 있고, 이것은 컴포넌트 의존성이 확인되어야 하는 경우에 중요하다. 이것은 또한 단일 측정치의 새로움을 평가할 수 있게 하고, 만일 데이터 구조가 이것을 허용하면, 밸리데이터는 컴포넌트의 새로운 측정치를 요구할 수 있다. 이것은 측정치 노화 처리에 기초하여 수행될 수 있고, 이때 측정치는 규정된 수명시간을 가질 수 있으며, 그 후 밸리데이터는 컴포넌트의 새로운 측정치를 요청할 수 있다. 또한, 개별 타임스탬프를 측정치에 적용함으로써 구조화 데이터의 재배치가 가능해지고 밸리데이터가 원래의 부트 로더(boot-loader)를 유도할 수 있게 한다.
컴포넌트는 장치의 현재 조건 또는 운용 환경에 따라서 다르게 설정될 수 있는 런타임/리드타임(lead-time) 설정과 같은 파라미터를 시작한다.
컴포넌트 보안 정책: 플랫폼에 포함된 강화 엔티티가 있을 때, 각 컴포넌트와 연합되고 엔티티에 의해 강화된 보안 정책은 플랫폼 신뢰성을 평가하는 밸리데이터에게 중요한 데이터이다. 컴포넌트의 측정치 및 메타데이터를 서브트리로 조직화함으로써, 그 확인은 서브트리 인증 방법과 관련하여 위에서 설명한 것처럼 SCA와 같은 TTP에게 위임될 수 있다.
컴포넌트 호출(invocation)시에 지리적 위치 정보는 다른 치수(위치)를 측정치의 표현력에 추가한다. 이 메타데이터 필드는 위치가 자주 변경되고 애플리케이션이 또한 위치 의존적인(예를 들면, 자산/화물 추적 보고 소프트웨어) 움직이는 장치에 대하여 특히 유용하다. 컴포넌트가 특정 시간에 측정되었음을 보고하는 대신에, 이것은 측정이 이루어진 위치를 또한 포함할 수 있다.
TFV의 실용적 실현을 위해, 컴포넌트 서브트리는 뒤에서 설명하는 인식 문제를 회피하기 위해 대부분 '정적' 성질을 가진 데이터를 포함할 수 있다. 만일 원하는 메타데이터가 빈번하게 변경하는 데이터, 또는 오히려 플랫폼에 개별적인 데이터를 포함하고 있으면, 그러한 데이터에 대하여, 그 자신의 뿌리 검증 데이터 레지스터에 의해 보호된 완전히 별도의 SML 트리, 또는 컴포넌트 SML 트리의 지정된 서브트리를 예약해둘 수 있다. 이러한 단명한(ephemeral) 메타데이터 SML 트리에서의 위치들은 단지 순서에 의해, 컴포넌트 식별자 또는 컴포넌트 측정 잎의 반복에 의해, 또는 단명한 메타데이터 SML 트리의 콘텐츠를 원래 SML 트리의 일치하는 컴포넌트 서브트리에 연결하는 임의의 다른 수단에 의해 원래의 SML 트리에 결합될 수 있다.
선형으로 연결된 SML 및 결과적인 PCR과 같이, 트리형 SML 및 뿌리 검증 데이터 레지스터는 측정치 값의 시퀀스의 작은 변화에도 민감하다. 따라서, 공지의 트리 및 서브트리 뿌리의 값이 정확한 측정치 잎 상태에 의존하기 때문에 공지의 트리 및 서브트리 뿌리를 효율적으로 인식함에 있어서 문제점이 생성한다. 이 문제점에 접근하는 다른 가능성이 설명된다. 이들은 플랫폼 및 밸리데이터에게 알려진 상태에 따라 측정치 잎을 조직화하기 위한 수단(measures)으로 구성되고, 이로써 시퀀스 민감도로부터 유래하는 결합 복잡도를 감소시킨다. 효율적 TFV를 위한 기술적 기준에 따라 잎 측정치를 조직화하는 방법 및 기술적 절차가 또한 설명된다.
머클 댐가드 변환으로부터 야기하는 PCR 값, 즉 비연합 및 비상호적 동작에 의한 일방향 함수의 종합 결과는 입력의 순서에 매우 민감하다. 이 원리는 보안 관점에서 바람직하고, 이 변환의 특징은 입력 데이터의 최소 변화를 검출하는 능력을 반영한다. 속성은 트리형 및 선형 연결된 SML 및 뿌리 검증 데이터 레지스터 PCR에 대하여 각각 마찬가지로 유지된다. 머클 댐가드 변환의 특징을 보전하는 이 정보는 포함된 정보를 해석할 때 복잡성을 수반한다.
시퀀싱 복잡도 문제는 밸리데이터가 제출된 트리형 SML에 따라서 플랫폼을 평가하려고 할 때 특히 TFV에서 그 자체를 보여준다. 실패 컴포넌트를 조사하기 위한 일반적인 트리 순회 절차가 여기에서 논의된다. 이것은 실패한(즉, 밸리데이터에게 알려지지 않은) 잎 측정치의 높은 비율에 대해서도 선형 SML의 평가와 비교할 때 효율적인 것으로 나타났다. 그러나, 이 확인 모델에서의 실패는 수정예 또는 시퀀스 실패, 즉 밸리데이터가 사용한 기준 트리와 관련하여 알려지지 않은 위치에 나타나는 측정치로부터 또한 야기될 수 있다. 2개의 공지된 측정치 잎의 단일 교환은 2개의 미공지 측정치 잎을 생성한다. 소정 위치에서 측정치 잎의 삽입 또는 생략은 다음의 것, 즉 이 위치의 우측에 자리잡은 잎을 모두 무효화한다. 이 문제에 대한 적당한 고려가 없으면, TFV의 효율성 이득은 손실될 수 있다.
공평하게 말하면, 이것은 선형 SML과 비교할 때 문제가 되지 않는다. 왜냐하면, 이들은 동일한 순서 민감도로부터 상처를 받고, 트리형 확인은 선형의 경우보다 더 복잡하거나 연산적으로 비용이 더 많이 드는 것이 아니기 때문이다. 선형 SML의 결과적인 PCR에 대하여, 입력 측정치의 모든 교환에 대하여 기준 PCR 값을 유지하기 위한 필요조건으로서, 즉 공간 복잡도로서 동일한 문제가 나타날 수 있다. 반면에, TFV는 시퀀싱 문제에 의해 그 유리한 특징 중의 일부를 잃을 수 있다.
머클 해쉬 트리는 각종의 연구 및 시범(demonstration) 시스템에서 메모리의 런타임 검증을 위해 사용될 수 있다. 시퀀싱 문제는 메모리 보호 트리의 잎들에 대한 메모리 어드레스의 정적 지정을 위해 일상적으로 거기에 나타나지 않는다. 복원을 위해, 단지 부분적으로, 플랫폼과 밸리데이터 둘 다에게 알려진 이러한 순서는 뒤에서 설명하는 방법의 이면에 있는 하나의 아이디어이다.
고려되고 있는 문제점은 이것이 플랫폼(전송자)과 밸리데이터(트리형 확인 데이터의 수신자) 간의 정보의 비대칭을 고려하기 때문에 정보 이론적 성질을 갖는다. 피측정 컴포넌트의 시퀀스는 효율적인 방법으로 상기 2개의 관계자 간에 공유될 수 있는 정보의 단편이고, 이때 효율성은 특히 밸리데이터가 기준 확인 데이터의 너무 큰 데이터베이스(SML 트리)를 유지할 필요가 없는 것 및 밸리데이터가 비용이 드는 사전 계산을 급히 하도록 요구되지 않는 것을 의미한다.
효율적인 정보의 사전 공유는 여기에서 설명하는 필요조건을 충족시키는 하나의 방법이다. 이를 위해, 부호화가 TFV 처리를 따르는 규약을 통해 확립된 플랫폼 및 밸리데이터에 의해 사용될 것이다. 뒤에서 설명되는 방법들은 이러한 일반적인 전략의 실현을 포함한다. 뒤에서 설명하는 방법들은 응용성에 있어서 트리형 검증 및 확인 데이터의 경우로 제한되지 않는다. 이 방법들은 비록 그들이 가져오는 잇점이 제한될 수 있다 하더라도 선형 SML과 관련한 종래의 경우에도 또한 직접 적용될 수 있다. 플랫폼 확인을 위한 검증 데이터의 상투적인 분류에 의한 효율성 이득은 후자 데이터의 고유 구조화에 의해 증가한다(검증 데이터의 민감한 실현은 순서 의존적이라고 추정한다). 따라서, 정돈 방법은 (지향성, 비주기적) 그래프, 또는 주석달린 스킵 리스트(이것은 또한 신속한 조사를 위한 최적화 구조이다)와 같은 다른 구조에 적용될 수 있다.
여기에서 설명하는 정돈 방법 외에, 밸리데이터에 의해 검증 데이터를 인식하는 문제에 관한 다른 방법이 있다. 즉, 밸리데이터는 시간이 지남에 따라 전형적인 플랫폼 구성을 학습할 수 있다. 이것은 구성이 실제로 매 부팅 사이클마다 다르고 주간 갱신이 일반적이며, 법인 VPN에 대한 재접속이 원격 작업장에 대하여 주중의 수일에서만 생성되는, 퍼스널 컴퓨터와 같은, 구성이 빈번하게 변경되고 확인이 덜 빈번한 플랫폼에 대하여 덜 효과적일 수 있다. 그 PCR 값을 통해 전송되고, 원격 입증 및 TNC와 같은 추가의 프로토콜을 통해 네트워크를 입증하는 그러한 PC의 구성은 매번 달라질 수 있다. 반면에, 모바일 장치, M2M 게이트웨이, 및 HeNB와 멀티미디어 STB와 같은 특수한 임베디드 장치는 더욱 정적인 구성을 가지며, 네트워크에 동시에 접속하고, 따라서 더욱 빈번하게 확인한다. 또한, 이들에서의 갱신은 공지의 장치 구성의 추적을 유지할 수 있는 네트워크 엔티티에 의해 관리된다. 이러한 장치에 대하여, 만일 장치 구성에 대한 학습 전략이 밸리데이터에 의해 적용되면 충분하다. 예를 들면, 밸리데이터 기준 SML 트리는 공지의 TRV(예를 들면, 일치하는 인증서를 가진 RIM)로부터 장치에 의한 최초 확인시에 구축될 수 있다. 이러한 트리는 동일한 구성을 가진 장치에 대한 기준으로서 실제로 사용되지 않을 수 있다. 이러한 학습된 기준 트리의 서브트리는 다른 플랫폼의 최초 확인시에 그들의 뿌리 값의 신원확인에 의해 찾아질 수 있고, 새로 학습된 기준 트리의 확인 및 구성을 위하여 적당히 사용될 수 있다.
트리형 SML에 대하여 바람직한 정돈을 제공하는 2개의 기본적인 옵션이 있다. 그중 하나는 RTM에 의해 측정이 실행되기 전에 공지의 순서를 적용하여(사전 정돈) 조작된(rigged) SML 구성을 야기하는 것, 또는 측정 처리가 손대지 않은 채로 있고 완성된 SML 트리에서 안전한 방법으로 정돈이 나중에 적용되는 것(사후 정돈)이다.
사전 정돈 변경 중의 하나의 실현예는 프로그램의 실제 로드 시퀀스를 소정의 SML 시퀀싱에 일치하게 하는 것이다. 만일 이것이 특수한 플랫폼에서 가능하면, 다른 경우에는 방해받지 않는 보안 시동 및 측정치 처리를 남길 수 있다. 다른 하나의 옵션은 측정 시퀀스를 보안 캐시에 저장하고 플랫폼의 시동 후에만 이들을 피보호 SML 트리에 삽입하는 것이다. 그러나, 이 방법은 측정치 값을 캐시에 안전하게 이전할 필요가 있고, 이 경우 측정치 값은 측정이 모두 수행될 때까지 무결성 보호될 수 있다. 그 후, 정돈 동작은 측정치 값에 대한 수정을 허용하지 않고 저장된 데이터에 대하여 작용할 수 있다. 그러므로, 이 옵션은 만일 적절히 부합되지 않으면 보안 취약성을 유도할 수 있는 추가의 필요조건을 가질 수 있다.
사후 정돈은 시스템이 이미 동작하는 동안 배경 작업으로서 '느린 실행'(lazy execution)을 가능하게 하기 때문에 관심이 있다. 적용되는 시간 구속은 SML이 확인을 위해 사용될 때 SML이 정돈된다는 것이다. 이제 트리형 SML의 잎을 안전하게 뒤섞는(shuffle) 직접 방법이 있기 때문에, 사후 정돈은 다른 뿌리 검증 데이터 레지스터에 의해 보호되는 제2의 빈 SML 트리에서 작용할 수 있다. 이 사후 정돈된 SML 트리를 원래의 트리로부터 구축하기 위해 적용하는 단계들은 플랫폼에서 어떤 신뢰성 있는 에이전트에 의해 실행되고 다음과 같다. 사후 정돈하는 에이전트는 바람직한 SML 시퀀스를 위하여 컴포넌트 식별자의 시퀀스에 대하여 반복하고, 1. 다음으로 식별된 컴포넌트의 잎 위치를 식별한다(이를 위해, 실제로 측정된 컴포넌트의 식별자가 필요하다. 이들은 측정치 처리를 위해 이벤트 이력 기록에 기록되거나, 또는 컴포넌트의 측정 잎의 형제로서, 예를 들면, 다이제스트 형태로 직접 부착된다). 2. 예를 들면 다른 곳에서 설명된 TPM_트리_노드_검증 커맨드를 이용하여 뿌리 검증 데이터 레지스터에 대하여 잎 측정치를 검증한다. 3. 성공시에, 측정치를 TPM_트리_확장을 이용하여 정돈된 트리에 삽입한다. 및 4. 예를 들면, 의존성 때문에 플랫폼의 모든 컴포넌트에 대하여 사전 정돈이 가능하지 않을 수 있다.
**확장성 사후 정돈은 연산 비용을 생성하기 때문에 바람직하지 않을 수 있다. 그래서 사전 정돈과 사후 정돈의 혼합형이 제안된다. 특히, 플랫폼의 컴포넌트들의 부분집합은 사전 정돈되고, 다른 하나의 추측가능하게 작은 컴포넌트 부분은 측정 후에 사후 정돈된다. 이것은 측정치로부터 적어도 2개의 SML 트리를 야기할 수 있고, 상기 SML 트리는 그 다음에 예를 들면 서브트리 인증에 의해 전체 측정치 트리에 합류될 수 있다.
비록 사전 정돈 및 사후 정돈이 플랫폼에 존재하고 확인 데이터를 전송하기 전에 실행되는 동작이지만, 제3의 다른 옵션은 기준 트리의 올바른 시퀀싱을 획득하기 위해 어떤 연산적 부담을 밸리데이터에게 부여하는 것이다. 이를 위해, 플랫폼은 트리형 SML 또는 그 서브트리의 측정치의 시퀀싱을 표시하는 컴포넌트 식별자의 시퀀스를 전송할 수 있다. 대안적으로, 플랫폼은 밸리데이터가 각 잎에서의 컴포넌트(만일 공지되어 있으면)를 독특하게 식별하게 하는 잎 측정치 값의 간단한 리스트를 보낼 수 있다. 그 다음에, 밸리데이터는 이 컴포넌트 식별자 시퀀스의 수신과 실제 확인 간의 시간 경과를 이용하여 예상되는 순서로 기준 트리를 구축할 수 있다. 이것은 적어도 교환된 잎의 부분이 너무 크지 않은 경우에 플랫폼의 전체 기준 트리를 구축하는 것보다 더 적은 해쉬 동작을 요구할 것이다. 이 경우에, 플랫폼 SML 트리의 많은 서브트리는 밸리데이터의 트리에 이미 포함되어 있고 재사용될 수 있다. 밸리데이터의 작업은, 플랫폼으로부터 정돈 정보를 수신한 후에, 공지의 서브시퀀스에 대응하는 잎들의 서브시퀀스를 식별하는 것이고, 이때 대응하는 공지의 서브트리는 순서 보정된 트리에 삽입될 수 있다.
이 절차는 만일 확인을 위한 전체 SML 트리의 많은 부분이 규약에 의한 고정 시퀀스를 갖는 것이면 실행될 수 있고, 더 작은 서브트리는 밸리데이터에 대하여 미공지 시퀀스를 갖는다. 이 경우에, 플랫폼은 서브트리의 시퀀스, 및 전체 트리에서의 그 위치를 확인을 위한 전체 SML 트리와 함께 또는 전체 SML 트리 전에 제출할 수 있고, 밸리데이터는 미공지 시퀀스의 서브트리를 기준 값으로부터 구축하고 그 서브트리를 그 기준 트리의 정확한 위치에 삽입할 수 있다.
하나의 구현예는 컴포넌트의 사전 편집상의 정돈(lexicographic ordering)을 적용하는 것이고, 여기에서, 저장된 데이터는 컴포넌트의 기준 측정치 값, 예를 들면, RIM 값(이것은 컴포넌트가 타협된 경우에 달라질 수 있는 RTM에 의해 취해진 실제 측정치가 아니다)일 수 있다. 다른 하나의 분류 기준은 컴포넌트의 독특한 식별자 또는 그 다이제스트 값일 수 있다. 이 데이터는 위에서 설명한 방법에 따라서 트리형 SML에 또한 포함될 수 있다. 사전 편집상 정돈의 변형예는 측정치 값 및/또는 다른 데이터에 인코딩을 할당하고 결과적인 코드를 사전 편집상 분류 기준으로서 사용하는 것이다.
피측정 컴포넌트는 그들의 실패 확률에 따라 정돈될 수 있다. 이것을 실제화하기 위해, 밸리데이터는 공지의 컴포넌트에 대하여, 예를 들면 확인된 플랫폼의 많은 개체군으로부터 추정된 실패율로부터 실패 확률 부류를 규정할 수 있다. 소정 실패율 부류의 컴포넌트는 그 다음에 플랫폼에 전달되고 후자 부류용의 예약된 서브트리에 포함될 수 있다. 이것은 SML 트리가 트리 순회 확인을 위해 최적화되게 할 수 있는데, 그 이유는 SML 트리가 순회의 조사로부터 폐기될 가능성이 있는 서브트리(낮은 실패 확률 컴포넌트를 갖는 것)를 포함하기 때문이다.
플랫폼의 계층적 컴포넌트 조직이 있으면, 측정치는 그에 따라서 정돈될 수 있다. 일 예로서, 만일 플랫폼이 종속 모듈로 구성된 기능성을 포함하고 있으면, 서브트리는 그 기능성에 대하여 예약되고 그들 각각의 모듈의 측정치를 포함할 수 있다. 기능성에 속하는 서브트리 내측에서, 적용가능한 임의의 다른 정돈이 사용될 수 있다. 그 다음에, 기능성 서브트리는 플랫폼의 전체 트리형 SML에 결합하도록 정돈될 수 있다.
예컨대 기능성 모듈 관계에 따른 시스템 컴포넌트의 계층적 조직화에 있어서, 결과적인 측정 시퀀스에 영향을 주는 의존성이 있을 수 있다. 특히 공통인 경우는 하나 이상의 기능성에 속하는(공유 라이브러리 또는 유사물에 유사한) 모듈일 수 있다. 이러한 모듈은 플랫폼의 보안 시동 중에 1회 로딩되고 그에 따라서 측정될 수 있다. 기능성에 의해 계층적으로 조직화된 SML 트리에서 이러한 모듈을 정확히 포착하는 하나의 방법은 다음과 같다. 보안 시동을 수행하는 에이전트는 모든 로딩된 모듈을 추적할 수 있고, 따라서 예컨대 만일 모듈 식별자가 규정된 측정 시퀀스로 다시 나타나면 사본(repetitions)을 식별할 수 있다. 계층적으로 정돈된 SML 트리를 구축할 때, 에이전트는, 모듈의 사본을 만났을 때, 먼저 SML 트리에서 최초 생성한 장소를 찾고, 그 다음에 이 최초 생성한 위치에서의 실제 측정치 값을 검증한 다음에 그 측정치 값을 트리의 새로운 위치에 삽입한다.
무결성이 정확하게 검증(기준 값에 대하여)되었지만 밸리데이터에게 알려지지 않은 컴포넌트를 플랫폼이 로딩할 때 특수 상황이 생성한다. SML 트리에 순서 없이 삽입하면 실패 컴포넌트를 야기할 수 있고 다음 컴포넌트의 배치 실패를 가져올 수 있다. 만일 밸리데이터 및 플랫폼이 어떤 컴포넌트가 밸리데이터에게 공지되었는지에 대한 지식을 공유하면, 플랫폼은 미공지 측정치 값을 별도의 서브트리로 분류할 수 있고, 한편 공지된 측정치의 서브트리는 밸리데이터에게 알려진 순서로 준비된다. 그 다음에, 2개의 트리는 예를 들면 공지의 SML 트리가 좌측 서브트리가 되고, 미공지 컴포넌트 트리가 우측 서브트리가 되도록, 트리 순회 확인을 위해 합체될 수 있다. 후자의 것은 밸리데이터의 기준 트리에서 nil 값을 포함한 빈 트리로서 준비된다. 이것은 트리 순회 확인이 공지의 (좌측) 서브트리에 대하여 방해받지 않고 진행되게 한다.
전술한 시스템, 방법, 및 장치는 검증 데이터 및 확인에 대하여 트리 구조와 같은 계층적 구조를 생성 및 이용한다. 이하에서는 네트워크 확인에서 이러한 트리 구조를 이용하는 추가의 실시형태를 설명한다.
트리형 확인(Tree-formed Validstion; TFV)은 복합형의 네트워크 측 플랫폼 확인에 대한 인에이블러이다. TFV는 구조화 확인의 실현예이고, 이것은 플랫폼의 상태를 평가하기 위해 밸리데이터에 의한 구조화 데이터의 사용을 의미한다. 데이터의 구조는 플랫폼의 구조를 범위에 반영하고 따라서 확인을 원조한다. 구조화 확인은 다른 곳에서 논의된 플랫폼 확인 및 관리(Platform Validation and Management; PVM)에서 규정된 추상적 플랫폼 확인 및 관리 처리의 구현예이다. 효과적이고 유효한 원격 PVM을 가능하게 하는 플랫폼은 모듈식의 계층적 아키텍처를 나타낸다. 데이터의 카테고리는 플랫폼 확인이 작용하는 것과 함께 도입된다.
PVM을 설명함에 있어서, 플랫폼과 밸리데이터 간에 이전된 데이터의 기본 관념, 및 플랫폼 관리 기능을 촉진하는 다른 엔티티가 규정될 수 있다. 이들은 보안 관련 속성 및 의미론적 콘텐트에 따라서 3개의 카테고리로 분할될 수 있다.
플랫폼에 의해 생성되고 PVM 처리 전반에 걸쳐 사용되는 PVM에 대하여 4개의 데이터 카테고리가 있다. 이들은 확인 플랫폼에 대하여 고유한 것이다. 다른 추가의 카테고리는 확인 데이터를 공지의 양호한 값에 비교하기 위해 사용되는 신뢰성 기준 데이터이다. 신뢰성 기준 데이터는 플랫폼의 확인에 사용하기 위해 밸리데이터에 또는 플랫폼 내측에 존재할 수 있고, 이때 신뢰성 기준 데이터는 보안 시동을 위해 사용되거나 확인 및/또는 관리 데이터로서 밸리데이터에 이전될 수 있다. 이것은 관념들 간의 상호관계를 나타낸 도 25에 도시되어 있다.
검증 데이터는 플랫폼 상태 또는 부분 상태를 잘 규정된 보증 레벨로 검증적으로 식별하는 데이터이다. 검증 데이터는 예를 들면 플랫폼의 보안 시동 중에 및/또는 런타임 중에 검증 처리의 플랫폼에서 내부적으로 생성된다. 검증 데이터의 하나의 보호 목표는 그 생성 중에, 즉 검증 중에, 및 적어도 플랫폼의 동작 주기(예를 들면, 부팅 주기) 전체에서 유지될 수 있는 무결성이다. 다른 하나의 보호 목표는 새로움(freshness)이다. 검증 데이터의 보증 레벨을 규정(및 상승)하는 하나의 방법은 검증 데이터의 일부를 특수 보호 레벨을 가진 피보호 검증 데이터로서, 예를 들면 하드웨어 보호에 의해 분리하는 것이고, 이 경우 저장 공간은 검증 데이터 레지스터라고 부른다.
검증 데이터는 검증 데이터를 보호하기 위해 피보호 결합(binding), 예를 들면 암호화를 요구할 수 있다. 결합의 강도 및 보호의 강도는 검증 데이터의 보증 레벨을 규정한다. 검증 데이터의 일부 실현 및 검증에 대해서는 뒤에서 설명한다.
SML은 로드된 컴포넌트의 측정치로부터 인증된 부팅 처리에서 생성된 160-비트 SHA-1 값의 시퀀스를 포함할 수 있다. 이 해쉬 값들은 로드된 컴포넌트를 독특하게 식별한다. SML 값의 보증 레벨은 측정을 실행하는 RTM의 보안, 및 예를 들면 검증 데이터 레지스터, 예컨대 PCR에 의한 SML의 무결성 보호에 의존할 수 있다. 변형예는 TFV의 트리형 SML이다.
TPM의 PCR은 피보호 검증 데이터 레지스터를 예증적으로 나타낸다. TS의 내부 검증을 위한 하나의 일반적인 방법은 인증된 부팅이고, TS가 초기화될 때, 예를 들면 파워 온될 때 로드되거나 시작된 소프트웨어 또는 하드웨어 컴포넌트의 신뢰성을 TCB의 능력을 이용하여 평가하는 것이다. 인증된 부팅은 TS의 다른 부분 전에 RoT 및 TCB의 특정 기능을 시작함으로써 실현된다. 이 부분은 측정을 위한 RoT(RoT for Measurement; RTM)으로서 작용한다. 이것은 나중에 시작 또는 로드되는 컴포넌트가 측정되는 것, 즉, 컴포넌트, 및 시작 후의 컴포넌트의 상태 및 구성이 예를 들면 코드를 매립하고 프로그램이 로드된 하드웨어 컴포넌트의 (이진수) 표시를 통해 암호화 다이제스트 값을 형성함으로써 독특하게 식별된다는 것을 의미한다. 특유의 필요조건에 따라서, 측정치 값들은 검증 데이터의 피보호 부분을 형성하는 보안 기억장치, 예를 들면 PCR에 저장될 수 있다.
보안 부팅은 인증 부팅의 확장이다. 보안 부팅은 일부 독립식 및 오프라인 기능 필요조건을 가진 셋톱박스 또는 모바일 핸드셋과 같은 장치에서 특히 중요하다. 보안 부팅이 설비된 장치의 공통적인 특징은 장치들이 예를 들면 네트워크 접속 전에 그들의 신뢰성에 대한 주장을 외부에 통신할 수 없을 때 장치들이 신뢰성 있는 상태 집합으로 동작할 수 있다는 점이다. 보안 부팅에서, TS는 부팅 처리를 감독하는 로컬 검증자(검증 엔티티) 및 로컬 인포서(enforcer)를 구비하고, 로컬 인포서는 보안 부팅 처리를 제어하기 위해 정책 강화점(Policy Enforcement Point; PEP) 및 정책 결정점(Policy Decision Point; PDP)의 조합을 확립한다. 로컬 검증자는 새로 로드된 또는 시작된 컴포넌트의 측정치 값을 TCB에 존재하는 또는 TR에 의해 TS 내에 보호된 기준 무결성 측정(Reference Integrity Measurement; RIM) 값과 비교한다. 예를 들면, RIM 값은 피보호 기억 공간에 위치되고, RIM 값이 로드되었는지, 각각 시작되었는지(resp. started), 아닌지를 결정한다. 따라서, 시스템은 규정된 신뢰성 상태로 부팅하도록 보증된다.
인증 부팅의 확장형인 보안 부팅에서, 플랫폼은 보안 부팅 처리를 제어하기 위해 PEP와 PDP의 조합을 확립하는 부팅 처리를 감독하는 로컬 인포서 및 로컬 검증자(검증 엔티티)가 설비된다. 로컬 검증자는 새로 로드된 또는 시작된 컴포넌트의 측정치 값을 TCB에 존재하는 또는 TR에 의해 TS 내에 존재하는 RIM 값과 비교한다. 예를 들면, RIM 값은 피보호 기억 공간에 위치되고, RIM 값이 로드되었는지, 각각 시작되었는지(resp. started), 아닌지를 결정한다. 따라서, 시스템은 규정된 신뢰성 상태로 부팅하도록 보증된다. 보안 부팅시에 사용되는 RIM의 시퀀스는 검증 데이터를 포함한다. 측정된 시퀀스는 피보호 검증 데이터로서 검증 데이터 레지스터에 추가로 확장될 수 있다. 이 경우에, RIM 인증서(더 엄밀하게 말하면, 그들의 암호화 지문)는 인증서를 발행한 TTP에 의해 보호가 제공되는 검증 데이터의 피보호 부분 및 그 하부의 인증서 기반구조이다.
**플랫폼 검증의 외래 변형예(exotic variant)는 일부 연구자에 의해 WSN용으로 제안되고 '소프트웨어 입증'이라고 부른다. 이 변형예는 원격 밸리데이터에 의해 플랫폼에 보내지는 프로브 코드를 실행하며, 플랫폼 상태, 예를 들면 메모리 콘텐츠를 체크한다. 제로 지식 증거의 전통에서, 검증 데이터로서 밸리데이터에게 반환된 정보는 프로브의 런타임일 수 있다. 난독화(obfuscation)는 공격자가 측정가능한 지연 후에 반환 신호를 생성하는 것을 어느 정도까지 보장한다.
검증 데이터와는 별도로, 확인 데이터는 수집되어 다른 관계자인 밸리데이터에게 제출될 수 있으며, 특히 검증 데이터에 포함된 것에 대하여 확인 데이터를 체크함으로써 플랫폼 상태의 신뢰성을 평가하기 위해 사용되는 데이터의 검증 데이터의 수퍼셋이다. 확인 데이터를 밸리데이터에게 제출하는 처리는 예를 들면 TCG에 따르는 원격 입증으로서 실현되고, 밸리데이터에 의한 그 평가는 적절히 호출되는 확인이다. 확인 데이터는 인용된 검증 데이터 레지스터(예를 들면, PCR) 값과 같은 검증 데이터를 포함한다. 확인은 검증 데이터의 암호화 검증을 넘어서, 예를 들면 확인 데이터와 관계될 수 있는 추가의 관리 데이터를 이용하여 밸리데이터에 의한 동작의 정책 평가 및 트리거링을 포함한다.
검증 데이터와 유사하게, 확인 데이터는 전체 또는 부분 시스템 상태를 식별하지만, 밸리데이터에게 효율적인 확인을 행하기 위한 더 많은 정보를 추가로 제공하고 확인 결과의 과립상의 레벨을 결정한다. 확인 데이터의 예로는 PBA에 의해 생성된 것과 같은 명명된 시스템 속성, 또는 컴포넌트의 이름 및 버전, 그들의 상태 및 파라미터, TCG에 의해 규정된 TS의 플랫폼 인증서, 및 시스템 컴포넌트의 판매자 인증서; 추가의 데이터가 인출될 수 있는 경우에 TTP의 이름, 예컨대 인증서 체인 정보; TCG IWG에 의해 특정된, 예컨대 네스티드 XML 데이터 구조에 포획되는 컴포넌트-서브컴포넌트 관계; 확인 아이덴티티라고 부르며, 예를 들면 AIK 키 쌍에 의해 실현되는 확인을 위한 플랫폼 아이덴티티가 있다.
확인의 하나의 양태는 검증 데이터에 따라서 확인 데이터를 결합하는 것이다. 이 결합은, 이행하는 신뢰 연결의 정신에서, 검증 데이터의 보증 레벨을 확인 데이터로 이전한다. 따라서, 이 결합은 예를 들면 디지털 서명에 의해 검증될 수 있다. 확인 데이터의 관념은 결합의 필요조건에 의해 제한될 수 있다. 확인 데이터는 특히 데이터 무결성에 대하여 검증 데이터를 이용하여 밸리데이터에 의해 검증될 수 있는 그러한 데이터이다. 따라서, 확인 데이터는 뒤에서 규정하는 일반적인 관리 데이터보다 덜 임의적이다.
원격 입증은 초기 확인 단계의 실현, 즉 플랫폼에 의해 서명된 밸리데이터에 대한 확인 데이터의 보안 송신이다. 그 다음에, 이 결합의 예는 AIK로 PCR 값을 서명하는 TPM_인용 동작이다. 이 서명을 검증하고, SML로부터 PCR을 재계산하며 검증 데이터에서 명명된 공지 컴포넌트의 RIM에 SML 측정치 값을 연관시킴으로써, 밸리데이터는 명명된 컴포넌트가 예컨대 플랫폼이 인증 부팅 중에 측정한 컴포넌트인지 검증할 수 있다.
관리 데이터는 확인 데이터를 포함하고, 확인 데이터에 대한 보충물이다. 관리 데이터는 특히 확인 데이터 및 결과에 기초한 플랫폼의 관리를 위해 다른 데이터에 표현력을 추가한다. 확인 데이터에 대한 관리 데이터의 결합은 논리적이다. 즉, 관리 데이터의 요소들이 확인 데이터의 관련된 요소에, 또는 그 반대로 기호적으로 연결한다. 관리 데이터의 신뢰성(예를 들면, 그 소스에 의해)은 특히 관리 데이터가 TTP로부터 오는 경우에 플랫폼의 확인으로부터 별도로 평가될 수 있다.
전형적인 관리 데이터의 예로는 확인 결과로부터 관리 동작을 추론하는 정책; 코드 갱신이 인출될 수 있는 장소; 부수적인 보고 데이터; 사용자 통지 데이터; 확인 결과에 따라 조절되는 확인 플랫폼에 제공되는 서비스 크리덴셜이 있다.
신뢰성 기준 데이터는 확인 데이터를 공지의 양호한 값에 비교하기 위해 사용되는 데이터이다. 신뢰성 기준 데이터를 구성하는 이 값들은 신뢰성 기준 값(Trusted Reference Values; TRV)이라고 부른다. 그들의 최상의 공지 예는 예를 들면 TCG의 MPWG 명세서에서 규정된 RIM이다. 이들은 측정치가 TRV에 일치하는 컴포넌트가 시작되는 것을 보증하기 위해 보안 시동시에 플랫폼 자체에 의해, 또는 확인 데이터를 공지의 양호한 값에 비교하고 그에 따라서 확인시에 플랫폼 상태를 평가하기 위해 밸리데이터에 의해 진정성 있게 사용될 수 있다.
그래서, 신뢰성 기준 데이터는 신뢰성 기준 데이터에 대한 소정의 보안 주장을 통하여 신뢰성으로 되고, 이것은 밸리데이터에 의해 또는 당해 TRV를 이용하는 에이전트에 의해 검증가능하다. 이러한 검증 가능한 주장은 예를 들면 TTP가 발행한 디지털 인증서에 의해 실현될 수 있고, 구체적인 예로서 소위 RIM 인증서까지의 상승을 제공한다. 신뢰성 기준 데이터의 신뢰 주장은 예를 들면 컴포넌트 또는 플랫폼의 외부 평가(예를 들면, 공통 기준 EAL에 따른 것)에 대한 추가의 정보를 또한 포함할 수 있다.
분할 확인은 2개(또는 그 이상)의 네트워크 엔티티 사이에서 확인 작업을 분배할 수 있는 개념을 묘사한다. 이 아이디어는 확인 절차 자체에 촛점을 두고 특수한 아키텍처에 구속되지 않는다. 그러나, 아키텍처 모델은 일반적인 개념, 즉 접속된 M2M 장치에 대한 M2M 게이트웨이로서 작용하는 M2M 장치의 아키텍처를 제공하도록 선택되고, 여기에서 M2M 게이트웨이는 MNO 네트워크에 접속된다. 개념 자체는 그 아키텍처로 제한되지 않고 소정의 계층 구조(예를 들면, HeNB 및 접속된 UE/WTRU, 클러스터 내에 마스터 노드를 가진 장치의 클러스터 등)를 나타내는 다른 아키텍처에 적용될 수 있다.
서브트리 인증 절차 및/또는 발견 옵션과 같은, 여기에서 설명하는 일반적인 방법은 여기에서 설명하는 분할 확인을 구현하는 기본 기술이다.
클라이언트-서버 모델은 클라이언트(C)가 서비스(S)에 접속하기 원하는 경우를 가정하고, 이때 서버는 만일 C가 신뢰할만한 상태에 있으면 C에게 서비스를 제공한다. C는 확인 데이터(v)(예를 들면, 측정치 값)를 S에게 운반할 수 있다.
이 시나리오에서, S는 수신된 확인 데이터(v)로부터 C의 상태를 유도하는 툴을 가질 수 있고, 이것은 S가 v를 비교하는 기준 값(r)에 의해 달성된다. 기준 값(r)은 v에 대하여 공지의 양호한 값을 제공하는 기준 메트릭으로 제한되지 않는다. 기준 값은 수신된 데이터(v)와 장치의 신뢰성 간의 맵핑을 제공한다. 그러므로, r은 서비스의 정책에 접근하기 위한 v의 맵핑으로서 보여질 수 있고, 이것은 r이 임의 종류의 기준일 수 있음을 의미하고, 이것은 C가 수신된 V로부터 C의 신뢰성에 대한 성명서를 유도할 수 있게 한다.
일부 시나리오에서, C는 게이트웨이 장치(G)(예를 들면 M2M 게이트웨이, WTRU에 대한 게이트웨이로서의 HeNB)를 통해 S에 접속될 수 있다. 만일 G가 피접속 C의 확인의 초기 부분을 수행할 수 있으면, 즉 G에게 피접속 장치에 대한 r이 설비되어 있으면, 확인 작업의 부하는 G와 S 사이에 분산될 수 있다.
2개의 네트워크된 엔티티 간의 이러한 확인의 분산은 분할 확인이라고 부른다. 분할 확인이 작용하기 위해, G는 단일의 피접속 C를 확인할 수 있어야 하고, S는 이 확인을 안전한 방식으로 수행하기 위해 G를 신뢰할 수 있다. 또한, 만일 확인 데이터(v)가 내부의 (계층적) 구조를 나타내면, 효율적인 분할 확인을 수행하기가 더 쉬울 것이다.
분할 확인의 일 구현예로서, 엔티티는 트리형 확인(Tree_formed Validation; TFV) 데이터를 이용할 수 있다. G는 그 자신의 구조화 확인 데이터를 생성할 수 있다. G는 서브트리의 제거 및 추가를 비롯해서 트리 갱신을 수행할 수 있다. G는 측정 에이전트(measurement agent; MA)가 설비될 수 있고, MA는 C의 확인 데이터를 G의 확인 트리에 통합할 수 있다. 이 서브트리들은 G에 의해 직접 또는 TTP에 의해 인증될 수 있다(그래서 확인 및 서명될 수 있다).
G 내측의 MA는 피접속 C로부터 측정치를 수집하고 수집된 측정치를 새로운 서브트리로서 G의 트리에 통합한다. 측정치의 수집은 G에 대한 C의 국소 표시 검증 중에(예를 들면, SAV, 혼성 확인, C-G 링크에서의 원격 확인을 수행함으로써), 또는 추가의 프로토콜 단계에서의 인증 후에 수행될 수 있다. 이 단계는 C의 장치 인증에 결합되어 확인 데이터의 재생 및 위조를 방지할 수 있다. 그러나, 이 인증은 G가 특수한 C를 위하여 S에 대한 접속을 확립한 때 추가의 단계에서 수행될 수 있기 때문에, 이 인증은 S에 접근하기 위해 C에 의해 사용되는 인증(예를 들면, 네트워크에 접근하기 위해 사용되는 MNO 크리덴셜)을 표시하도록 요구되지 않을 수 있다. 이것은 도 31에 도시되어 있다.
관련 데이터를 수집한 후에, G는 G에게 서브트리의 인증서를 발행하는 TTP와 접촉한다. G는 그 다음에 인증서를 그 자신의 확인 트리에 통합하여 새로운 갱신된 확인 트리를 생성할 수 있다. 변형예로서, TTP는 또한, G의 TrE 내측에서 동작하는 애플리케이션으로서 구현되는, 또는 TrE에 의해 무결성 보호되는 G의 일부일 수 있다. 이것은 도 32에 도시되어 있다.
마지막 단계에서, G는 피접속 장치에 대한 일부 또는 모든 서브트리를 교체하는 인증서를 포함한 갱신된 확인 트리를 S에게 보낸다. S는 예를 들면 2개의 서브유닛, 즉 확인 엔티티(Validation Entity; VE)와 서비스 엔티티(Service Entity; SE)로 분해될 수 있다. VE가 G로부터의 수신 데이터를 확인할 수 있는 반면(자율적으로 또는 TTP의 도움으로), SE는 C에 제공되는 실제 서비스(및 선택적으로 G에 제공되는 서비스)에 대한 책임이 있다. 변형예로서, G가 S에 접근하기 위한 크리덴셜로 C를 인증할 수 없는 경우, SE는 또한 인증을 수행할 수 있다. 예를 들면, S는 3G 인증을 수행할 수 있고, G는 장치에서 TrE를 인증하여 수신된 확인 데이터 및 장치/피접속 C의 TrE 아이덴티티의 진정성(authenticity)을 검증할 수 있다. 이것은 도 33에 도시되어 있다. 성공적인 확인 후에, 서비스가 C에 제공될 수 있다.
분할 확인에서, 피접속 장치의 서브트리를 교체하는 인증서를 S가 수신할 수 있기 때문에, G는 S에 대한 피접속 C의 사생활을 보전할 수 있다. S는 G에서의 TTP 및 MA를 신뢰할 수 있고, MA에서의 신뢰는 확인 데이터가 MA의 측정치를 포함하고 있기 때문에 G로부터 수신된 확인 데이터로부터 유도될 수 있다.
다른 변형예로서, 분할 확인은 G들 간의 C-서브트리의 핸드오버를 수반하는, 다른 G들 간의 C의 로밍 지원을 비롯해서 동적 갱신을 지원하도록 확장될 수 있다. 분할 확인에 대한 다른 변형예는 인증서로 서브트리의 일부만을 교체하는, 게이트웨이(G)에서 단일 C의 부분 확인이다.
여기에서 설명하는 방법 및 알고리즘은 분할 확인을 위한 동작의 효율적인 구현을 가능하게 한다. 이들은 장치가 트리 또는 서브트리를 구축, 보고, 갱신 및 인용할 수 있게 하는 TPM의 확장 버전에 기초하여 분할 확인을 사용할 수 있게 한다. 또한, 알고리즘들은 서브트리 인증에 의한 인증서로 서브트리 노드를 효율적으로 교체할 수 있게 한다.
분할 확인에서의 하나의 문제점은 어떤 C가 TTP에 의해 확인되고(및 그래서 G에서 그들의 서브트리를 교체하고) C의 어느 부분이 S에 의해 확인될 수 있는지, 즉 피접속 C의 서브트리를 인증하기 위해 어떤 기준 값이 TTP에서 이용될 수 있는지 및 어떤 G를 사용할 수 있는지를 결정하는 것이다. 일반적으로, 이 발견 문제에 대한 해법은 3가지 부류, 즉, TTP 기반형, 게이트웨이 기반형, 및 공유형 발견으로 나누어질 수 있다.
TTP 기반형 접근법은 인증을 위한 적당한 서브트리를 찾기 위해 복잡한 분석을 수행하는 연산력이 부족한 G에 대하여 적당하다. 이 접근법에서, TTP는 G로부터 완전한 트리를 수신하고 그 결과를 TTP가 검증할 수 있는 서브트리에 대한 서브트리 인증서 집합의 형태로 되돌려 보낸다. 그 다음에, TTP는 인증할 수 없는 나머지 데이터를 폐기할 수 있다. 인증서는 이들이 트리에 맞추어진 곳을 나타내는 표시자와 함께 G에 다시 보내진다. G에서의 MA는 인증서의 흡수(ingestion), 즉 지금 인증된 서브트리를 수신된 인증서로의 교체를 수행한다. G는 TTP가 인증서를 가진 메시지 내에서 서브트리의 위치로 표시자를 통과시키기 때문에 다시 발견을 수행할 필요가 없다.
변형예의 절차에서, G는 완전한 트리를 전송하지 않고 그 일부를 TTP에게 전송하여 TTP가 피첨부 장치로부터의 측정치의 부분집합에서 잠재적으로 인증가능한 서브트리를 조사할 수 있게 한다. 이러한 메카니즘은 예를 들면 트리형 확인 데이터가 소정의 구조, 즉 G가 소정의 장치 특성(예컨대 장치 부류)에 기초하여 트리를 서브트리로 분해할 수 있게 하는 소정의 구조를 나타내면 유용할 수 있다. 장치 부류에 따라서, 다른 TTP가 소정의 장치 집합을 확인할 수 있다.
게이트웨이 기반형 발견에 있어서, G는 어떤 C가 TTP에 의해 인증되고 TTP가 필요 데이터를 수신할 수 있는지 결정하기 위한 메트릭을 갖는다. 이 접근법은 모든 이전된 데이터가 인증가능한 서브트리에 속하기 때문에 G와 TTP 간의 통신량을 최소화할 수 있다. 그러나, G는 G로 하여금 우측 서브트리 및 이들을 인증할 수 있는 그들의 TTP를 발견하게 하는 적당한 메트릭으로 사전 설비될 수 있다. 또한, 이 방법에서, G는 적당한 서브트리에 대한 자신의 확인 트리를 조사하여 더 많은 연산 노력을 G에서 할 수 있다.
공유형 발견 모델에서, TTP와 G는 어떤 장치 및 그에 따라서 어떤 서브트리가 인증될 수 있는지 결정하기 위해 합동 노력을 할 수 있다. 이러한 발견 단계 프로토콜의 결과는 인증될 수 있는 서브트리의 리스트이다. 이 발견 프로토콜은 장치 부류, 능력, 장치 프로필, 동적 파라미터(예를 들면 부하 및 대역폭)와 같은 추가의 (메타) 데이터의 교환을 포함할 수 있다. 인증가능 서브트리의 집합을 결정하는데 필요한 초기 통신에 불구하고, 이 접근법은 필요한 데이터가 G로부터 TTP로 전송되지 않기 때문에 데이터량을 또한 최소화할 수 있다. 통신 부하는 게이트웨이 기반형 발견에서보다 더 많을 수 있지만, TTP 기반형 발견에서보다는 더 적을 수 있다. G는 G가 실질적으로 게이트웨이 기반형 결정을 수행할 수 있게 하는 협상 단계의 성과를 저장할 수 있다. 공유형 발견 모델에서, G는 인증가능 서브트리의 집합이 사전 공급될 수 있고, 이 서브트리의 집합은 그 다음에 공유형 발견 단계 중에 갱신될 수 있다.
하나의 변형예에서, G는 일부 C를 충분히 확인하고, C의 선택은 예를 들면 G가 펨토셀인 경우에, CSG(Closed Subscriber Group; 폐쇄 가입자 그룹)에 기초를 둘 수 있다. 그 다음에 S는 나머지 C를 확인한다. G에서 확인될 C의 집합은 정적 또는 동적 데이터에 기초를 둘 수 있고, S에 의해 확인될 장치의 집합은 나머지 C가 되거나 중복될 수 있다. 즉 일부 장치는 2회 확인될 수 있다.
G와 S는 사전 공급되거나 동적으로 조정될 수 있는 아스펙트(aspect) 집합에서 규정된 아스펙트를 확인할 수 있고 중복을 가질 수 있다. 이러한 아스펙트 집합은 장치 프로필의 무결성, 부팅 코드/OS/드라이버의 무결성, 모세관 네트워크 기능/컴포넌트의 무결성, WAN 접속 기능/컴포넌트의 무결성, 고수준 응용의 무결성, 및 G에서 사용되는 신뢰성 기준 값의 무결성을 포함할 수 있다.
확인은 로딩에 기초하여 동적으로 분할할 수 있다. 이 동적 접근법에서, G와 S 또는 G와 TTP는 그들 자신에서, 및 G와 피접속 C 사이 및 G와 S 또는 G와 TTP 사이의 링크에서 연산 부하를 비교한다. 그 부하에 기초해서, TTP와 S는 G에서 직접 확인되는 장치의 집합을 결정한다. 사전 공급된 집합이 있을 수 있고, 이 집합은 나중에 동적으로 갱신된다.
지식 기반형 분할에 있어서, 분할은 지식 집합 및 확인 정책에 기초하여 S(또는 TTP)와 G 사이에서 결정될 수 있다. 지식 집합은 예를 들면 행동(과거에 관측된 것 또는 미래에 대하여 예측된 것), 신뢰성(과거 이력, 현재 값, 또는 미래의 예측), 비용 대 장점 분석, 확인의 중요성 등과 같은 몇 가지 요소를 포함할 수 있고, 이 요소들은 S 및 G가 확인 정책을 유도 또는 갱신할 수 있게 한다.
일 예로서, H(e)NB는 UE의 분할 확인을 이용할 수 있다. HeNB의 경우에 대하여, 아키텍처는 도 34에 도시되고 이하에서 설명하는 절차에 의해 피접속 UE의 일부 또는 전부를 확인할 수 있는 H(e)NB를 포함할 수 있다.
도 34에 도시된 것처럼, WTRU는 1에서 H(e)NB에게 무결성 측정치를 보낸다. 2에서, H(e)NB는 수신된 데이터를 통합하고 일부(또는 모든) WTRU를 확인한다. 3에서, SeGW/PVE는 피접속 장치를 포함한 H(e)NB 트리의 확인을 수행한다. PVE는 아직 확인되어야 할 장치들을 확인하고 4에서 기준 인증서를 발행하며, 기준 인증서는 미래의 통신에 포함되도록, 예를 들면, H(e)NB가 WTRU를 미래의 접속 시도에서 확인할 수 있도록 H(e)NB에게 역으로 보내질 수 있다.
다른 변형예는 법인 전개 시나리오에서 있을 수 있고, 이 경우 HeNB는 각 WTRU의 컴포넌트의 부분집합, 예를 들면 MNO(SeGW 및 PVE)에게 노출되지 않는 법인 소프트웨어를 확인할 수 있다. PVE는 WTRU의 하부 플랫폼 컴포넌트의 네트워크 측 확인을 수행할 수 있다.
H(e)NB에 접속되는 로그(rogue) 디바이스의 경우에, H(e)NB는 보고 목적으로 UE의 무결성 트리를 포함할 수 있다. 법인 네트워크에서 PVE 또는 확인 네트워크 엔티티는 수신된 데이터를 검증할 수 있고, 그 다음에 장치에 대한 접속을 차단하거나 또는 예컨대 컴포넌트 또는 소프트웨어의 교체, 항바이러스 갱신 수행 등과 같은 치료 단계에서 종사하도록 H(e)NB에게 명령할 수 있다. 이것은 도 35에 도시되어 있다.
M2M 아키텍처는 H(e)NB와 일부 유사성을 갖기 때문에, 분할 확인은 M2M 시나리오에 대하여 일부 장점을 가져올 수 있다. 전형적인 M2M 전개에 있어서, 작지만 더 많은 장치들이 단일 게이트웨이에 접속되어 네트워크에 대한 접근을 제공할 수 있다. 또한, M2M 시나리오에서, 각종의 상이한 장치들이 단일 게이트웨이를 통하여 접속되고, 따라서 게이트웨이는 모든 장치(또는 모든 장치 유형)를 확인하지 못할 수 있다. 분할 확인을 수행하면 네트워크가 M2M 게이트웨이에 대한 일부 노력을 벗게(offload) 할 수 있다.
다른 변형예에 있어서, M2M GW는 피접속 장치들을 그들의 유형, 장치 부류, 장치 속성, 또는 접속 프로필(프로토콜, 접속 네트워크, 대역폭)에 따라서 그룹짓고 그 다음에 장치 확인 트리에 대한 그룹 인증서를 제공할 수 있다. 이것은 도 36에 도시되어 있다.
다른 변형예는 피어 대 피어 접근법이고, 이 접근법에서 복수의 M2M 게이트웨이(GW)는 클러스터 구조를 나타내며, 이로써 복수의 게이트웨이가 더 나은 링크(예를 들면, 더 많은 대역폭, 더 적은 대기시간 등)를 통하여 통신할 수 있다. 각 M2M GW는 네트워크에 대한 자신의 백홀(backhaul) 링크를 갖는다. 그러나, 근거리 통신이 백홀 링크(예를 들면 3G)를 이용하는 것보다 더 저렴할 수 있고(예를 들면, 와이파이, 블루투스, 직비, MBUS 등을 통해), 이것은 로컬 네트워크에 대한 오프로딩 트래픽이 일부 장점을 제공한다는 것을 의미한다. M2M GW들 간의 로컬 네트워크는 근거리 교환 네트워크(Local Area Exchange Network; LAEN)라고 부른다. LAEN 상의 모든 M2M GW는 상호적으로 인증될 수 있고, 이로써 M2M GW는 LAEN 상의 다른 M2M GW로부터 오는 메시지를 신뢰할 수 있다. LAEN에서의 통신은 무결성 및 진정성에 대하여 보호될 수 있다. 사생활을 요구하는 시나리오에서는 충분히 암호화된 LAEN이 확립되어 비밀성 보호를 제공할 수 있다.
만일 M2M GW가 서브트리를 인증할 수 없으면(예를 들면, 서브트리를 인증할 TTP가 발견되지 않거나 장치가 M2M GW에게 알려지지 않았으면), M2M GW는 적당한 인증서를 획득하기 위한 요청 메시지와 함께 서브트리를 LAEN으로 밀어낸다(도 37의 단계 1). 만일 다른 M2M GW가 서브트리를 인증할 수 있으면(그 자신에서 또는 TTP를 통해서, 이것은 도달불능이거나 최초 M2M GW에 의해 알려지지 않을 수 있다), M2M GW는 인증서를 요청 GW에게 되돌려 보낸다(도 37의 단계 2). M2M GW는 그 다음에 인증서를 그 자신의 확인 트리에 통합할 수 있다. M2M GW는 동일한 장치 부류의 접속 장치의 미래 확인을 위해 인증서(또는 인증서를 생성하는데 필요한 기준 값, 또는 TTP의 어드레스)를 또한 저장할 수 있다.
서브트리의 교환은 머클 해쉬 트리를 교환할 수 있게 하는 트리 해쉬 교환(Tree Hash Exchange; THEX) 포맷을 이용하여 수행될 수 있다. 교환 포맷은 해쉬 트리의 직렬화 표시로 구성된다. 교환 포맷은 텍스트로 또는 이진수로 복수의 페이로드를 가능하게 하는 직접 인터넷 메시지 캡슐화(Direct Internet Message Encapsulation; DIME) 포맷을 이용한다. 머클 해쉬 트리 직렬화 포맷은 2개의 다른 페이로드로 구성된다. 첫번째는 해쉬 트리에 대한 XML 암호화 메타데이터이고, 두번째는 트리 자체의 이진 직렬화이다.
소정의 서브트리를 확인할 수 있는 LAEN 상의 네트워크 엔티티의 국소화, 예를 들면 다른 M2M GW는 분산형 해쉬 테이블(Distributed Hash Table; DHT)을 이용하여, 특유의 장치 유형 또는 장치 부류를 확인할 수 있었던 LAEN 상의 노드의 네트워크 어드레스를 저장할 수 있다. P2P 네트워크로부터 알려진 DHT 개념은 확인을 위한 관련 노드의 고속 검출을 가능하게 한다. 또한, 해쉬 테이블을 LAEN의 각 노드에서 저장할 수 있고, 특유의 서브트리가 어디에서 확인될 수 있는지를 LAEN의 각 노드가 알 수 있도록 노드들 간의 LAEN 멀티캐스트 메시지를 통해 해쉬 테이블을 갱신할 수 있다.
분할 확인, 및 서브트리 인증과 같은 다른 구조화 확인 기술에 대하여 위에서 전개한 개념 및 방법론은 시스템 확인을 위해서뿐만 아니라 다른 보안 관련 기능을 위해서도 또한 사용될 수 있다.
예를 들면, 네트워크 엔티티(NE), 게이트웨이(G) 및 복수의 장치(D)를 포함하는 네트워크의 분할 인증 모델에 있어서, 게이트웨이(G)는, 게이트웨이가 NE와 상호작용하여 NE가 게이트웨이를 인증하게 할 때, NE가 G와 D의 집합을 동시에 인증할 수 있도록 D에 대한 인증 정보를 포함하고 있다고 생각할 수 있다. 변형예로서, G는 D를 인증할 수 있고, 그 인증 단계 및 결과에 대한 보고를, G를 인증하기 위해 NE에 의해 소용되는 정보를 운반하도록 나중에 전송되는 메시지 내에 포함할 수 있다. 전술한 바와 같이, 몇 가지 다른 기준에 따라서 NE가 인증할 수 있는 D에 대하여 G가 인증할 수 있도록 D를 분할하는 것도 또한 가능하다.
유사하게, 키 유도 및 키 관리(예를 들면 분배, 순화 및 불찬성(deprecation)을 포함함), 권한부여, 및 접근 제어와 같은 다른 보안 기능이 또한 유사한 방법으로 수행될 수 있다.
서브트리 검증을 위해 개발된 기술들은 상기 다른 보안 기능에 대해 유사한 방법으로 또한 사용될 수 있다.
본 발명의 방법, 알고리즘 및 장치는 보안/사생활/권리 관리, 하이브리드 네트워크, 협력 통신을 포함한 임의의 기술 영역에 적용될 수 있고, 사용자 장비(UE), 무선 송수신 유닛(WTRU), 핸드셋, 데이터 카드, 랩톱/넷북, 게이밍 장치, 기반구조 설비, 기지국/노드 B, 펨토 기지국, 접근점, BSC/RNC, 게이트웨이, 응용 서버, 시스템, 세션층, 시연층, 응용층, DSP, 소프트웨어, 하드웨어, ASIC에서 사용될 수 있다. 본 발명의 방법 및 알고리즘은 또한 애플리케이션, 시스템 정보, 플랫폼 보안, 전체 시스템 보안, 호출 용인(call admission), 홈 e노드B(HeNB), HNB, 펨토셀, 하드웨어 또는 소프트웨어 구현, 과금 관리, 가입자 관리, 정책 제어, 서비스 품질(QoS), 보안, 신뢰, 암호화, 등록/AAA 등에 적용할 수 있다.
지금까지 특징 및 요소들을 특수한 조합으로 설명하였지만, 각 특징 또는 요소는 다른 특징 및 요소 없이 단독으로 또는 다른 특징 및 요소와 함께 또는 다른 특징 및 요소 없이 각종 조합으로 사용될 수 있다. 또한, 여기에서 제공된 방법들 및 흐름도는 범용 컴퓨터 또는 프로세서에 의해 실행되는 컴퓨터 판독가능 기억 매체에 통합된 컴퓨터 프로그램, 소프트웨어 또는 펌웨어로 구현될 수 있다. 컴퓨터 판독가능 기억 매체의 예로는 읽기 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 레지스터, 캐시 메모리, 반도체 메모리 소자, 내부 하드 디스크 및 착탈식 디스크와 같은 자기 매체, 자기 광학 매체, 및 CD-ROM 디스크 및 디지털 다기능 디스크(DVD)와 같은 광학 매체가 있다.
적당한 프로세서는, 예를 들자면, 범용 프로세서, 특수 용도 프로세서, 전통적 프로세서, 디지털 신호 프로세서(DSP), 복수의 마이크로프로세서, DSP 코어와 연합하는 하나 이상의 마이크로프로세서, 컨트롤러, 마이크로컨트롤러, 용도 지정 집적회로(ASIC), 용도 지정 표준 제품(ASSP), 현장 프로그램가능 게이트 어레이(FPGA) 회로, 임의의 다른 유형의 집적회로(IC), 및/또는 상태 기계일 수 있다.
소프트웨어와 연합하는 프로세서는 무선 송수신 유닛(WTRU), 사용자 장비(UE), 단말기, 기지국, 이동성 관리 엔티티(Mobility Management Entity; MME) 또는 진화형 패킷 코어(Evolved Packet Core; EPC), 또는 임의의 호스트 컴퓨터에서 사용하기 위한 라디오 주파수 송수신기를 구현하기 위해 사용될 수 있다. WTRU는 소프트웨어 한정 라디오(Software Defined Radio; SDR)를 포함한 하드웨어 및/또는 소프트웨어에서 구현되는 모듈, 및 예컨대 카메라, 비디오 카메라 모듈, 비디오폰, 스피커폰, 진동 장치, 스피커, 마이크로폰, 텔레비전 송수신기, 핸즈프리 헤드셋, 키보드, 블루투스® 모듈, 주파수 변조(FM) 라디오 유닛, 근거리 무선통신(Near Field Communication; NFC) 모듈, 액정 디스플레이(LCD) 표시장치, 유기 발광 다이오드(OLED) 표시장치, 디지털 뮤직 플레이어, 미디어 플레이어, 비디오 게임 플레이어 모듈, 인터넷 브라우저, 및/또는 무선 근거리 통신망(WLAN) 또는 초광대역(Ultra Wide Band; UWB) 모듈과 같은 다른 컴포넌트와 함께 사용될 수 있다.
추가의 작업은 이러한 검출을 추구하고, 트리형 확인(tree-formed validation; TFV)이라고 부르는 트리형 검증 및 확인 데이터로 플랫폼 확인을 행하기 위한 구체적인 아키텍처를 생각한다. 하나의 생각할 수 있는 옵션은 공지된 컴포넌트 하위구조, 예를 들면 순서대로 로딩된 종속 프로그램 또는 균일한 관련 보안 정책을 가진 컴포넌트를 이용하여 모듈 구축을 가능하게 하는 방법으로 SCA 및/또는 밸리데이터에 의해 기준 트리의 데이터베이스를 효율적으로 조직화하는 것이다. 서브트리 발견, 확인된 플랫폼 컴포넌트들 간의 의존성의 표현, 및 TFV의 결과에 따른 플랫폼의 관리(갱신, 치료)를 위한 아키텍처 및 방법이 현재 연구중이다.
여기에서 설명한 시스템, 방법 및 장치는 뒤에서 설명하고 도 38, 39 및 40에 도시된 통신 시스템과 같은 통신 시스템에서 구현될 수 있다.
도 38은 하나 이상의 본 발명의 실시형태를 구현할 수 있는 예시적인 통신 시스템(100)을 보인 도이다. 통신 시스템(100)은 복수의 무선 사용자에게 음성, 데이터, 영상, 메시지, 방송 등의 콘텐츠를 제공하는 다중 접속 시스템일 수 있다. 통신 시스템(100)은 복수의 무선 사용자들이 무선 대역폭을 포함한 시스템 자원을 공유함으로써 상기 콘텐츠에 접근할 수 있게 한다. 예를 들면, 통신 시스템(100)은 코드 분할 다중 접속(CDMA), 시분할 다중 접속(TDMA), 주파수 분할 다중 접속(FDMA), 직교 FDMA(OFDMA), 단일 반송파 FDMA(SC-FDMA) 등과 같은 하나 이상의 채널 접속 방법을 이용할 수 있다.
도 38에 도시된 것처럼, 통신 시스템(100)은 무선 송수신 유닛(WTRU)(102a, 102b, 102c, 102d), 무선 접근 네트워크(RAN)(104), 코어 네트워크(106), 공중 교환식 전화망(PSTN)(108), 인터넷(110) 및 기타의 네트워크(112)를 포함하고 있지만, 본 발명의 실시형태는 임의 수의 WTRU, 기지국, 네트워크 및/또는 네트워크 요소를 포함할 수 있다는 것을 이해할 것이다. 각 WTRU(102a, 102b, 102c, 102d)는 무선 환경에서 동작 및/또는 통신하도록 구성된 임의 유형의 장치일 수 있다. 예를 들면, WTRU(102a, 102b, 102c, 102d)는 무선 신호를 송신 및/또는 수신하도록 구성되고 사용자 장비(UE), 이동국, 고정식 또는 이동식 가입자 유닛, 페이저, 셀룰러 전화기, 개인용 정보 단말기(PDA), 스마트폰, 랩톱, 넷북, 퍼스널 컴퓨터, 무선 센서, 소비자 전자제품 등을 포함할 수 있다.
통신 시스템(100)은 기지국(114a)과 기지국(114b)을 또한 포함할 수 있다. 각 기지국(114a, 114b)은 적어도 하나의 WTRU(102a, 102b, 102c, 102d)와 무선으로 인터페이스 접속하여 코어 네트워크(106), 인터넷(110) 및/또는 네트워크(112) 등의 하나 이상의 통신 네트워크에 접속하도록 구성된 임의 유형의 장치일 수 있다. 예를 들면, 기지국(114a, 114b)은 기지국 송수신기(BTS), 노드-B, e노드 B, 홈 노드 B, 홈 e노드 B, 사이트 제어기, 접근점(AP), 무선 라우터 등일 수 있다. 비록 기지국(114a, 114b)이 각각 단일 요소로서 도시되어 있지만, 기지국(114a, 114b)은 임의 수의 상호접속된 기지국 및/또는 네트워크 요소를 포함할 수 있다는 것을 이해할 것이다.
기지국(114a)은 RAN(104)의 일부일 수 있고, RAN(104)은 기지국 제어기(BSC), 라디오 네트워크 제어기(RNC), 중계 노드 등과 같은 다른 기지국 및/또는 네트워크 요소(도시 생략됨)를 또한 포함할 수 있다. 기지국(114a) 및/또는 기지국(114b)은 셀(도시 생략됨)이라고도 부르는 특정의 지리적 영역 내에서 무선 신호를 송신 및/또는 수신하도록 구성될 수 있다. 셀은 복수의 셀 섹터로 세분될 수 있다. 예를 들면, 기지국(114a)과 관련된 셀은 3개의 섹터로 나누어질 수 있다. 따라서, 일 실시형태에 있어서, 기지국(114a)은 셀의 각 섹터마다 하나씩 3개의 송수신기를 포함할 수 있다. 일 실시형태에 있어서, 기지국(114a)은 다중입력 다중출력(MIMO) 기술을 사용할 수 있고, 따라서 셀의 각 섹터마다 복수의 송수신기를 사용할 수 있다.
기지국(114a, 114b)은 임의의 적당한 무선 통신 링크(예를 들면, 라디오 주파수(RF), 마이크로파, 적외선(IR), 자외선(UV), 가시광선 등)일 수 있는 무선 인터페이스(116)를 통하여 하나 이상의 WTRU(102a, 102b, 102c, 102d)와 통신할 수 있다. 무선 인터페이스(116)는 임의의 적당한 무선 접근 기술(RAT)을 이용하여 확립될 수 있다.
더 구체적으로, 위에서 언급한 것처럼, 통신 시스템(100)은 다중 접속 시스템일 수 있고, CDMA, TDMA, FDMA, OFDMA, SC-FDMA 등과 같은 하나 이상의 채널 접속 방식을 이용할 수 있다. 예를 들면, RAN(104) 내의 기지국(114a)과 WTRU(102a, 102b, 102c)는 광대역 CDMA(WCDMA)를 이용하여 무선 인터페이스(116)를 확립하는 범용 이동통신 시스템(UMTS) 지상 라디오 액세스(UTRA)와 같은 라디오 기술을 구현할 수 있다. WCDMA는 고속 패킷 액세스(HSPA) 및/또는 진화형 HSPA(HSPA+)와 같은 통신 프로토콜을 포함할 수 있다. HSPA는 고속 다운링크 패킷 액세스(HSDPA) 및/또는 고속 업링크 패킷 액세스(HSUPA)를 포함할 수 있다.
일 실시형태에 있어서, 기지국(114a)과 WTRU(102a, 102b, 102c)는 롱텀 에볼루션(LTE) 및/또는 LTE-어드반스드(LTE-A)를 이용하여 무선 인터페이스(116)를 확립하는 진화형 UMTS 지상 라디오 액세스(E-UTRA)와 같은 라디오 기술을 구현할 수 있다.
다른 실시형태에 있어서, 기지국(114a)과 WTRU(102a, 102b, 102c)는 IEEE 802.16(즉, WiMAX(Worldwide Interoperability for Microwave Access)), CDMA2000, CDMA2000 1X, CDMA2000 EV-DO, 잠정 표준(Interim Standard) 2000(IS-2000), 잠정 표준 95(IS-95), 잠정 표준 856(IS-856), 글로벌 이동통신 시스템(GSM), EDGE(Enhanced Data rates for GSM Evolution), GSM EDGE(GERAN) 등과 같은 라디오 기술을 구현할 수 있다.
도 38의 기지국(114b)은 예를 들면 무선 라우터, 홈 노드 B, 홈 e노드B, 또는 접근점일 수 있고, 사업장, 홈, 자동차, 캠퍼스 등과 같은 국소 지역에서 무선 접속을 가능하게 하는 임의의 적당한 RAT를 이용할 수 있다. 일 실시형태에 있어서, 기지국(114b)과 WTRU(102c, 102d)는 IEEE 802.11과 같은 라디오 기술을 구현하여 무선 근거리 통신망(WLAN)을 확립할 수 있다. 일 실시형태에 있어서, 기지국(114b)과 WTRU(102c, 102d)는 IEEE 802.15와 같은 라디오 기술을 구현하여 무선 개인 통신망(WPAN)을 확립할 수 있다. 또 다른 실시형태에 있어서, 기지국(114b)과 WTRU(102c, 102d)는 셀룰러 기반 RAT(예를 들면, WCDMA, CDMA2000, GSM, LTE, LTE-A 등)를 이용하여 피코셀 또는 펨토셀을 확립할 수 있다. 도 38에 도시된 바와 같이, 기지국(114b)은 인터넷(110)에 직접 접속될 수 있다. 그러므로, 기지국(114b)은 코어 네트워크(106)를 통해 인터넷(110)에 접근할 필요가 없다.
RAN(104)은 코어 네트워크(106)와 통신하고, 코어 네트워크(106)는 하나 이상의 WTRU(102a, 102b, 102c, 102d)에게 음성, 데이터, 애플리케이션 및/또는 인터넷 프로토콜을 통한 음성(voice over internet protocol; VoIP) 서비스를 제공하도록 구성된 임의 유형의 네트워크일 수 있다. 예를 들면, 코어 네트워크(106)는 호출 제어, 빌링(billing) 서비스, 모바일 위치 기반 서비스, 선불 통화, 인터넷 접속, 영상 분배 등을 제공할 수 있고, 및/또는 사용자 인증과 같은 고급 보안 기능을 수행할 수 있다. 비록 도 38에 도시되어 있지 않지만, RAN(104) 및/또는 코어 네트워크(106)는 RAN(104)과 동일한 RAT 또는 다른 RAT를 이용하는 다른 RAN과 직접 또는 간접 통신을 할 수 있다는 것을 이해할 것이다. 예를 들면, E-UTRA 라디오 기술을 이용하는 RAN(104)에 접속되는 것 외에, 코어 네트워크(106)는 GSM 라디오 기술을 이용하는 다른 RAN(도시 생략됨)과도 또한 통신할 수 있다.
코어 네트워크(106)는 WTRU(102a, 102b, 102c, 102d)가 PSTN(108), 인터넷(110) 및/또는 기타 네트워크(112)에 액세스하게 하는 게이트웨이로서 또한 기능할 수 있다. PSTN(108)은 재래식 전화 서비스(plain old telephone service; POTS)를 제공하는 회선 교환식 전화망을 포함할 수 있다. 인터넷(110)은 TCP/IP 인터넷 프로토콜 스위트(suite)에서 전송 제어 프로토콜(TCP), 사용자 데이터그램 프로토콜(UDP) 및 인터넷 프로토콜(IP)과 같은 공통의 통신 프로토콜을 이용하는 상호접속된 컴퓨터 네트워크 및 장치의 글로벌 시스템을 포함할 수 있다. 네트워크(112)는 다른 서비스 공급자에 의해 소유 및/또는 운용되는 유선 또는 무선 통신 네트워크를 포함할 수 있다. 예를 들면, 네트워크(112)는 RAN(104)과 동일한 RAT 또는 다른 RAT를 이용하는 하나 이상의 RAN에 접속된 다른 코어 네트워크를 포함할 수 있다.
통신 시스템(100)의 WTRU(102a, 102b, 102c, 102d)의 일부 또는 전부는 다중 모드 능력을 구비할 수 있다. 즉, WTRU(102a, 102b, 102c, 102d)는 다른 무선 링크를 통하여 다른 무선 네트워크와 통신하기 위한 복수의 송수신기를 포함할 수 있다. 예를 들면, 도 38에 도시된 WTRU(102c)는 셀룰러 기반 라디오 기술을 이용할 수 있는 기지국(114a) 및 IEEE 802 라디오 기술을 이용할 수 있는 기지국(114b)과 통신하도록 구성될 수 있다.
도 39는 예시적인 WTRU(102)의 계통도이다. 도 39에 도시된 바와 같이, WTRU(102)는 프로세서(118), 송수신기(120), 송수신 엘리멘트(122), 스피커/마이크로폰(124), 키패드(126), 디스플레이/터치패드(128), 비착탈식 메모리(130), 착탈식 메모리(132), 전원(134), 글로벌 위치확인 시스템(GPS) 칩세트(136) 및 기타 주변장치(138)를 포함할 수 있다. WTRU(102)는 실시형태의 일관성을 유지하면서 전술한 요소들의 임의의 하위조합(sub-combination)을 포함할 수 있다.
프로세서(118)는 범용 프로세서, 특수 용도 프로세서, 전통적 프로세서, 디지털 신호 프로세서(DSP), 복수의 마이크로프로세서, DSP 코어와 연합하는 하나 이상의 마이크로프로세서, 컨트롤러, 마이크로컨트롤러, 용도 지정 집적회로(ASIC), 현장 프로그램가능 게이트 어레이(FPGA) 회로, 임의의 다른 유형의 집적회로(IC), 상태 기계 등일 수 있다. 프로세서(118)는 신호 부호화, 데이터 처리, 전력 제어, 입력/출력 처리, 및/또는 WTRU(102)가 무선 환경에서 동작하게 하는 임의의 다른 기능을 수행할 수 있다. 프로세서(118)는 송수신기(120)에 결합되고, 송수신기(120)는 송수신 엘리멘트(122)에 결합될 수 있다. 비록 도 39에서는 프로세서(118)와 송수신기(120)가 별도의 구성요소로서 도시되어 있지만, 프로세서(118)와 송수신기(120)는 전자 패키지 또는 칩에 함께 통합될 수 있음을 이해할 것이다.
송수신 엘리멘트(122)는 무선 인터페이스(116)를 통하여 기지국(예를 들면 기지국(114a))에 신호를 전송하거나 기지국으로부터 신호를 수신하도록 구성된다. 예를 들면, 일 실시형태에 있어서, 송수신 엘리멘트(122)는 RF 신호를 송신 및/또는 수신하도록 구성된 안테나일 수 있다. 일 실시형태에 있어서, 송수신 엘리멘트(122)는 예를 들면, IR, UV 또는 가시광 신호를 송신 및/또는 수신하도록 구성된 에미터/검지기일 수 있다. 또 다른 일 실시형태에 있어서, 송수신 엘리멘트(122)는 RF 신호와 광신호 둘 다를 송신 및 수신하도록 구성될 수 있다. 송수신 엘리멘트(122)는 임의의 무선 신호 조합을 송신 및/또는 수신하도록 구성될 수 있다는 것을 이해할 것이다.
또한, 비록 송수신 엘리멘트(122)가 도 39에서 단일 엘리멘트로서 도시되어 있지만, WTRU(102)는 임의 수의 송수신 엘리멘트(122)를 포함할 수 있다. 더 구체적으로, WTRU(102)는 MIMO 기술을 이용할 수 있다. 따라서, 일 실시형태에 있어서, WTRU(102)는 무선 인터페이스(116)를 통해 무선 신호를 송신 및 수신하기 위해 2개 이상의 송수신 엘리멘트(122)(예를 들면, 다중 안테나)를 포함할 수 있다.
송수신기(120)는 송수신 엘리멘트(122)에 의해 송신할 신호들을 변조하고 송수신 엘리멘트(122)에 의해 수신된 신호를 복조하도록 구성될 수 있다. 전술한 바와 같이, WTRU(102)는 다중 모드 능력을 구비할 수 있다. 따라서, 송수신기(120)는 WTRU(102)가 예를 들면 UTRA 및 IEEE 802.11과 같은 복수의 RAT를 통하여 통신하게 하는 복수의 송수신기를 포함할 수 있다.
WTRU(102)의 프로세서(118)는 스피커/마이크로폰(124), 키패드(126), 및/또는 디스플레이/터치패드(128)(예를 들면, 액정 디스플레이(LCD) 표시 장치 또는 유기 발광 다이오드(OLED) 표시 장치)에 결합되어 이들로부터 사용자 입력 데이터를 수신할 수 있다. 프로세서(118)는 또한 스피커/마이크로폰(124), 키패드(126), 및/또는 디스플레이/터치패드(128)에 사용자 데이터를 출력할 수 있다. 또한, 프로세서(118)는 비착탈식 메모리(130) 및/또는 착탈식 메모리(132)와 같은 임의 유형의 적당한 메모리로부터 정보를 액세스하고 상기 적당한 메모리에 데이터를 저장할 수 있다. 비착탈식 메모리(130)는 랜덤 액세스 메모리(RAM), 읽기 전용 메모리(ROM), 하드 디스크 또는 임의의 다른 유형의 메모리 기억장치를 포함할 수 있다. 착탈식 메모리(132)는 가입자 식별 모듈(SIM) 카드, 메모리 스틱, 보안 디지털(SD) 메모리 카드 등을 포함할 수 있다. 다른 실시형태에 있어서, 프로세서(118)는 서버 또는 홈 컴퓨터(도시 생략됨)와 같이 WTRU(102)에 물리적으로 위치되지 않은 메모리로부터 정보를 액세스하고 그러한 메모리에 데이터를 저장할 수 있다.
프로세서(118)는 전원(134)으로부터 전력을 수신하고, WTRU(102)의 각종 구성요소에 대하여 전력을 분배 및/또는 제어하도록 구성될 수 있다. 전원(134)은 WTRU(102)에 전력을 공급하는 임의의 적당한 장치일 수 있다. 예를 들면, 전원(134)은 하나 이상의 건전지 배터리(예를 들면, 니켈-카드뮴(NiCd), 니켈-아연(NiZn), 니켈 금속 하이드라이드(NiMH), 리튬-이온(Li-ion) 등), 태양 전지, 연료 전지 등을 포함할 수 있다.
프로세서(118)는 WTRU(102)의 현재 위치에 관한 위치 정보(예를 들면, 경도 및 위도)를 제공하도록 구성된 GPS 칩세트(136)에 또한 결합될 수 있다. GPS 칩세트(136)로부터의 정보에 추가해서 또는 그 대신으로, WTRU(102)는 기지국(예를 들면 기지국(114a, 114b))으로부터 무선 인터페이스(116)를 통해 위치 정보를 수신하고, 및/또는 2개 이상의 인근 기지국으로부터 신호가 수신되는 타이밍에 기초하여 그 위치를 결정할 수 있다. WTRU(102)는 실시형태의 일관성을 유지하면서 임의의 적당한 위치 결정 방법에 의해 위치 정보를 획득할 수 있다는 것을 이해할 것이다.
프로세서(118)는 추가의 특징, 기능 및/또는 유선 또는 무선 접속을 제공하는 하나 이상의 소프트웨어 및/또는 하드웨어 모듈을 포함한 기타 주변 장치(138)에 또한 결합될 수 있다. 예를 들면, 주변 장치(138)는 가속도계, e-콤파스, 위성 송수신기, 디지털 카메라(사진용 또는 영상용), 범용 직렬 버스(USB) 포트, 진동 장치, 텔레비전 송수신기, 핸즈프리 헤드셋, 블루투스® 모듈, 주파수 변조(FM) 라디오 장치, 디지털 뮤직 플레이어, 미디어 플레이어, 비디오 게임 플레이어 모듈, 인터넷 브라우저 등을 포함할 수 있다.

Claims (1)

  1. 디바이스의 하나 이상의 소프트웨어 또는 하드웨어 컴포넌트들의 신뢰성(trustwothiness)을 검증하기 위한 방법에 있어서,
    상기 디바이스에 의해 생성되는 검증(verification) 데이터를 상기 디바이스로부터 수신하는 단계로서, 상기 검증 데이터는 상기 디바이스에 의해 형성되는 트리 구조의 적어도 일부분을 포함하고, 상기 트리 구조의 뿌리(root)는 상기 디바이스의 하나 이상의 보안 레지스터들로부터의 검증 데이터를 포함하며, 상기 트리 구조의 내부 노드들은 상기 디바이스에 의해 생성되는 측정치 이력 기록(measurement log; ML)에 의해 규정되고, 상기 트리 구조의 잎들(leaves)은 상기 컴포넌트들의 무결성 측정치를 저장하는 것인, 상기 검증 데이터를 수신하는 단계;
    수신된 검증 데이터 중 어느 검증 데이터라도 참조 트리 구조의 대응하는 검증 데이터와 일치하는지를 결정하기 위해, 상기 디바이스로부터 수신되는 상기 트리 구조의 적어도 일부분을 대응하는 참조 트리 구조와 비교하는 단계; 및
    상기 비교하는 단계의 결과에 기초하여 상기 디바이스의 하나 이상의 타협된(compromised) 소프트웨어 또는 하드웨어 컴포넌트들을 결정하는 단계
    를 포함하는 컴포넌트 신뢰성 검증 방법.
KR1020177001402A 2010-03-05 2011-03-04 장치에 대한 보안을 제공하는 방법 및 장치 KR20170010095A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US31110610P 2010-03-05 2010-03-05
US61/311,106 2010-03-05
US31439510P 2010-03-16 2010-03-16
US61/314,395 2010-03-16
PCT/US2011/027287 WO2011109772A2 (en) 2010-03-05 2011-03-04 Method and apparatus for providing security to devices

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020167021278A Division KR101699359B1 (ko) 2010-03-05 2011-03-04 장치에 대한 보안을 제공하는 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20170010095A true KR20170010095A (ko) 2017-01-25

Family

ID=44315206

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020127026079A KR101533876B1 (ko) 2010-03-05 2011-03-04 장치에 대한 보안을 제공하는 방법 및 장치
KR1020167021278A KR101699359B1 (ko) 2010-03-05 2011-03-04 장치에 대한 보안을 제공하는 방법 및 장치
KR1020147011511A KR101647567B1 (ko) 2010-03-05 2011-03-04 장치에 대한 보안을 제공하는 방법 및 장치
KR1020177001402A KR20170010095A (ko) 2010-03-05 2011-03-04 장치에 대한 보안을 제공하는 방법 및 장치

Family Applications Before (3)

Application Number Title Priority Date Filing Date
KR1020127026079A KR101533876B1 (ko) 2010-03-05 2011-03-04 장치에 대한 보안을 제공하는 방법 및 장치
KR1020167021278A KR101699359B1 (ko) 2010-03-05 2011-03-04 장치에 대한 보안을 제공하는 방법 및 장치
KR1020147011511A KR101647567B1 (ko) 2010-03-05 2011-03-04 장치에 대한 보안을 제공하는 방법 및 장치

Country Status (6)

Country Link
US (3) US8949997B2 (ko)
EP (1) EP2543215A2 (ko)
JP (5) JP5457564B2 (ko)
KR (4) KR101533876B1 (ko)
CN (1) CN102986163B (ko)
WO (1) WO2011109772A2 (ko)

Families Citing this family (110)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5457564B2 (ja) * 2010-03-05 2014-04-02 インターデイジタル パテント ホールディングス インコーポレイテッド 機器にセキュリティを提供する方法および装置
CN102281587B (zh) * 2010-06-13 2018-07-17 中兴通讯股份有限公司 接入网节点间实现直接接口的方法及系统
US8904189B1 (en) 2010-07-15 2014-12-02 The Research Foundation For The State University Of New York System and method for validating program execution at run-time using control flow signatures
US8804731B2 (en) * 2010-10-27 2014-08-12 Intel Corporation Generating platform identification for certification version signaling
CN103329093B (zh) * 2011-01-19 2017-09-12 国际商业机器公司 用于更新执行环境中的代码的方法和系统
EP2706466A4 (en) * 2011-05-02 2015-06-17 Fujitsu Ltd EXTRACTION PROCESS, INFORMATION PROCESSING, EXTRACTION PROGRAM, INFORMATION PROCESSING, EXTRACTION DEVICE AND INFORMATION PROCESSING DEVICE
US8949993B2 (en) 2011-10-17 2015-02-03 Mcafee Inc. Mobile risk assessment
US9030969B2 (en) * 2011-11-21 2015-05-12 Broadcom Corporation Wireless communication device capable of utilizing multiple radio access technologies
WO2013129988A2 (en) * 2012-02-29 2013-09-06 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for storage of data records
US9084073B2 (en) * 2012-05-08 2015-07-14 Qualcomm Incorporated Methods and apparatus for index based peer discovery
US20140006318A1 (en) * 2012-06-29 2014-01-02 Poe XING Collecting, discovering, and/or sharing media objects
US8955039B2 (en) 2012-09-12 2015-02-10 Intel Corporation Mobile platform with sensor data security
CN104756131B (zh) * 2012-09-19 2017-07-11 交互数字专利控股公司 分层认证
EP2918090A4 (en) * 2012-11-08 2016-06-29 Nokia Technologies Oy PARTIAL VIRTUALIZATION OF PCR BANKS IN A MOBILE TPM
US9883388B2 (en) * 2012-12-12 2018-01-30 Intel Corporation Ephemeral identity for device and service discovery
EP2949136B1 (en) * 2013-01-24 2021-09-15 ZTE (USA) Inc. Communication between machine-to-machine service layers and transport network
US9066247B2 (en) * 2013-01-28 2015-06-23 Intel Mobile Communications GmbH Communication devices and methods for signal detection
US20140214670A1 (en) * 2013-01-30 2014-07-31 Jason C. McKenna Method for verifying a consumer's identity within a consumer/merchant transaction
CN105027598B (zh) 2013-01-31 2019-05-28 诺基亚技术有限公司 用于记账相关信息报告的设备、系统和方法
CN103178968B (zh) * 2013-04-09 2016-09-28 北京工业大学 基于哈夫曼压缩的数据传输门限方案的加密方法
US9445218B2 (en) * 2013-05-03 2016-09-13 Verizon Patent And Licensing Inc. Efficient machine to machine communications
US10726400B2 (en) 2013-06-10 2020-07-28 The Toronto-Dominion Bank High fraud risk transaction authorization
US20160132681A1 (en) * 2013-06-14 2016-05-12 Nec Europe Ltd. Method for performing a secure boot of a computing system and computing system
KR102238681B1 (ko) * 2013-07-01 2021-04-12 삼성전자주식회사 데이터 인증을 위한 서명 정보 생성 및 검증 방법과 이를 위한 시스템
CN105453073A (zh) * 2013-08-30 2016-03-30 迈克菲股份有限公司 改善聚合数据的抗篡改性
US9774982B2 (en) 2013-10-30 2017-09-26 AT&T Intellectual Propetry I, L.P. Long term evolution machine to machine privacy protection
US9721104B2 (en) * 2013-11-26 2017-08-01 Intel Corporation CPU-based measured boot
BR102014003580B1 (pt) * 2014-02-14 2023-03-21 Samsung Eletrônica da Amazônia Ltda. Método para habilitar a arquitetura hierárquica de gateways para gerenciamento de dispositivos
CN103888958B (zh) * 2014-03-26 2017-05-31 南京邮电大学 基于偏序简化算法的无线传感网软件模型优化方法
CN103957535B (zh) * 2014-04-29 2017-04-26 中国矿业大学 一种具有远程感知能力接力延拓的无线传感器网络系统
US9560055B2 (en) * 2014-04-30 2017-01-31 Microsoft Technology Licensing, Llc Client-side integration framework of services
GB2541572A (en) * 2014-05-01 2017-02-22 Sequitur Labs Inc Applications of secured memory areas and secure environments in policy-based access control systems for mobile devices
US10432409B2 (en) 2014-05-05 2019-10-01 Analog Devices, Inc. Authentication system and device including physical unclonable function and threshold cryptography
US9672342B2 (en) 2014-05-05 2017-06-06 Analog Devices, Inc. System and device binding metadata with hardware intrinsic properties
US9715590B2 (en) * 2014-05-05 2017-07-25 Analog Devices, Inc. System and device for verifying the integrity of a system from its subcomponents
US9946858B2 (en) 2014-05-05 2018-04-17 Analog Devices, Inc. Authentication system and device including physical unclonable function and threshold cryptography
US9449171B2 (en) * 2014-05-22 2016-09-20 Vce Company, Llc Methods, systems, and computer readable mediums for providing supply chain validation
US10349248B2 (en) * 2014-06-02 2019-07-09 Telefonaktiebolaget Lm Ericsson (Publ) Merging proxy
US10356094B2 (en) * 2014-06-30 2019-07-16 Vescel, Llc Uniqueness and auditing of a data resource through an immutable record of transactions in a hash history
US9883320B2 (en) * 2014-07-21 2018-01-30 Lg Electronics Inc. Method for processing request message in wireless communication system and apparatus therefor
FR3024915B1 (fr) * 2014-08-18 2016-09-09 Proton World Int Nv Dispositif et procede pour assurer des services de module de plateforme securisee
GB2531586A (en) 2014-10-23 2016-04-27 Ibm Methods and systems for starting computerized system modules
WO2016076878A1 (en) * 2014-11-14 2016-05-19 Hewlett Packard Enterprise Development Lp Satisfaction metric for customer tickets
CN104639311B (zh) * 2015-01-12 2018-10-12 浙江工商大学 一种智能电网中用电隐私及完整性保护的聚合方法及系统
CN104636672B (zh) * 2015-03-04 2017-11-07 浙江工商大学 一种基于哈希树及匿名技术的安全数据汇报系统
WO2016145121A2 (en) * 2015-03-09 2016-09-15 Device Cloud Networks Methods and systems for mobile device profile management
CN104768149B (zh) * 2015-03-17 2018-02-27 重庆邮电大学 一种WSN中基于Top‑k查询的数据隐私保护和完整性验证方法
CN104796925B (zh) * 2015-03-17 2018-02-23 桂林电子科技大学 一种基于马尔科夫链的无线传感器网络可靠度评估方法
US11294862B1 (en) * 2015-03-31 2022-04-05 EMC IP Holding Company LLC Compounding file system metadata operations via buffering
GB201506045D0 (en) 2015-04-09 2015-05-27 Vodafone Ip Licensing Ltd SIM security
US10193696B2 (en) * 2015-06-02 2019-01-29 ALTR Solutions, Inc. Using a tree structure to segment and distribute records across one or more decentralized, acylic graphs of cryptographic hash pointers
US9881176B2 (en) 2015-06-02 2018-01-30 ALTR Solutions, Inc. Fragmenting data for the purposes of persistent storage across multiple immutable data structures
US10374805B2 (en) * 2015-07-20 2019-08-06 Intel Corporation Technologies for trusted I/O for multiple co-existing trusted execution environments under ISA control
US10248791B2 (en) 2015-07-20 2019-04-02 Intel Corporation Technologies for secure hardware and software attestation for trusted I/O
JP2017028418A (ja) * 2015-07-21 2017-02-02 富士通株式会社 無線機器、及び、無線機器の制御方法
US9774610B2 (en) * 2015-07-28 2017-09-26 Futurewei Technologies, Inc. Certificateless data verification with revocable signatures
US20170061131A1 (en) * 2015-08-31 2017-03-02 Cisco Technology, Inc. Side-Channel Integrity Validation of Devices
US9940470B2 (en) * 2015-10-06 2018-04-10 Symantec Corporation Techniques for generating a virtual private container
KR101977109B1 (ko) * 2015-11-17 2019-08-28 (주)마크애니 해시함수 기반의 대규모 동시 전자서명 서비스 시스템 및 그 방법
CN106897281B (zh) 2015-12-17 2020-08-14 阿里巴巴集团控股有限公司 一种日志分片方法和装置
US10075452B2 (en) * 2016-02-18 2018-09-11 Comcast Cable Communications, Llc Distributed content uploading and validation
RS64953B1 (sr) * 2016-04-14 2024-01-31 Rhombus Systems Group Inc Sistem za verifikaciju integriteta bespilotnih letelica
US10257189B2 (en) 2016-05-24 2019-04-09 Microsoft Technology Licensing, Llc Using hardware based secure isolated region to prevent piracy and cheating on electronic devices
US10796017B1 (en) * 2016-08-10 2020-10-06 HM Health Solutions Inc. Enterprise validation process (EVP)
GB2553376A (en) * 2016-09-06 2018-03-07 Trustonic Ltd Future constraints for hierarchical chain of trust
US10929339B2 (en) * 2016-10-17 2021-02-23 Yokogawa Electric Corporation Generation of multiple worksheet exportation
KR101887077B1 (ko) * 2017-01-24 2018-09-10 엘지전자 주식회사 차량용 전자 디바이스 해킹 테스트 장치
US9992029B1 (en) * 2017-04-05 2018-06-05 Stripe, Inc. Systems and methods for providing authentication to a plurality of devices
US10587411B2 (en) * 2017-04-11 2020-03-10 International Business Machines Corporation Zero-knowledge verifiably attestable transaction containers using secure processors
US11229023B2 (en) 2017-04-21 2022-01-18 Netgear, Inc. Secure communication in network access points
US11005864B2 (en) 2017-05-19 2021-05-11 Salesforce.Com, Inc. Feature-agnostic behavior profile based anomaly detection
US10425235B2 (en) 2017-06-02 2019-09-24 Analog Devices, Inc. Device and system with global tamper resistance
US10958452B2 (en) 2017-06-06 2021-03-23 Analog Devices, Inc. System and device including reconfigurable physical unclonable functions and threshold cryptography
US11032144B2 (en) 2017-07-12 2021-06-08 Nec Corporation Network control system, method and program
US20190042932A1 (en) * 2017-08-01 2019-02-07 Salesforce Com, Inc. Techniques and Architectures for Deep Learning to Support Security Threat Detection
KR102532395B1 (ko) * 2017-08-03 2023-05-15 에이알엠 리미티드 메모리 보안용 카운터 무결성 트리
US10476913B2 (en) * 2017-09-08 2019-11-12 Salesforce.Com, Inc. Intercepting calls for encryption handling in persistent access multi-key systems
KR101996138B1 (ko) * 2017-09-19 2019-07-03 (주)리브릿지 지식재산 거래 서비스 제공 장치 및 방법
US11126755B2 (en) 2018-01-30 2021-09-21 Hewlett Packard Enterprise Development Lp Object signatures in object stores
CN108736973B (zh) * 2018-06-08 2021-10-12 上海大学 一种可见光通信的调频编码解码及扩码方法
WO2020010270A1 (en) * 2018-07-04 2020-01-09 Neji, Inc. Dynamic routing using a distributed hash table
TWI691852B (zh) * 2018-07-09 2020-04-21 國立中央大學 用於偵測階層式系統故障之偵錯裝置及偵錯方法、電腦可讀取之記錄媒體及電腦程式產品
US10754952B2 (en) * 2018-07-23 2020-08-25 Vmware, Inc. Host software metadata verification during remote attestation
US20200034457A1 (en) * 2018-07-24 2020-01-30 Ernst & Young U.S.LLP System and methods for organizing and inter-relating hierarchical data files using a distributed database
US11216448B2 (en) 2018-07-24 2022-01-04 Ernst & Young U.S. Llp Information storage and retrieval using an off-chain isomorphic database and a distributed ledger
US11165766B2 (en) 2018-08-21 2021-11-02 International Business Machines Corporation Implementing authentication protocol for merging multiple server nodes with trusted platform modules utilizing provisioned node certificates to support concurrent node add and remove
US10885197B2 (en) 2018-09-21 2021-01-05 International Business Machines Corporation Merging multiple compute nodes with trusted platform modules utilizing authentication protocol with active trusted platform module provisioning
US11206141B2 (en) * 2018-09-21 2021-12-21 International Business Machines Corporation Merging multiple compute nodes with trusted platform modules utilizing provisioned node certificates
GB2579574B (en) * 2018-12-03 2021-08-11 Advanced Risc Mach Ltd Bootstrapping with common credential data
CN109766688B (zh) * 2018-12-06 2021-05-18 深圳供电局有限公司 一种基于Merkle树的Linux程序运行时验证与管控方法和系统
CN109873801B (zh) 2018-12-12 2020-07-24 阿里巴巴集团控股有限公司 在用户和可信计算集群之间建立可信通道的方法、装置、存储介质及计算设备
US11017090B2 (en) 2018-12-17 2021-05-25 Hewlett Packard Enterprise Development Lp Verification of a state of a platform
CN109861980B (zh) * 2018-12-29 2020-08-04 阿里巴巴集团控股有限公司 一种建立可信计算集群的方法、装置、存储介质及计算设备
KR102627868B1 (ko) * 2019-03-15 2024-01-23 라인플러스 주식회사 블록체인에서 생성된 데이터를 인증하는 방법 및 시스템
US11290471B2 (en) 2019-08-27 2022-03-29 Hewlett Packard Enterprise Development Lp Cross-attestation of electronic devices
US11360784B2 (en) 2019-09-10 2022-06-14 Hewlett Packard Enterprise Development Lp Integrity manifest certificate
CN111079124B (zh) * 2019-12-21 2023-02-10 广州小鹏汽车科技有限公司 安全芯片激活方法、装置、终端设备及服务器
CN111277149B (zh) * 2020-02-26 2023-03-24 上海理工大学 一种模块化多电平变换器电容电压优化控制方法
US20210352140A1 (en) 2020-05-07 2021-11-11 Cyberpion, Ltd. System and method for improved and effective generation and representation of a communication trust tree
WO2022013245A1 (en) * 2020-07-14 2022-01-20 Gapfruit Ag A method of attesting a state of a computing environment
US11763043B2 (en) 2020-09-25 2023-09-19 Intel Corporation Enabling late-binding of security features via configuration security controller for accelerator devices
CN112347070B (zh) * 2020-11-06 2023-05-23 北京石油化工学院 自主潜航器容迟探测系统及方法
EP4016922A1 (en) 2020-12-17 2022-06-22 Telefónica Cybersecurity & Cloud Tech, S.L.U. A method for providing identity and authentication to a data-generation device and a data-generation device
WO2022140400A1 (en) * 2020-12-22 2022-06-30 Protectedby.Ai, Inc. System and method for securing computer code using dynamically generated digital signatures
US20220198283A1 (en) * 2020-12-22 2022-06-23 Paypal, Inc. Dynamic reconstruction of decision tree structures
KR102528678B1 (ko) * 2020-12-30 2023-05-08 한국전자통신연구원 원격 검증 관리 장치 및 방법
TWI773516B (zh) * 2021-09-06 2022-08-01 新唐科技股份有限公司 進化可信根的方法與使用所述方法的電子裝置
TWI829138B (zh) 2022-04-08 2024-01-11 信驊科技股份有限公司 電子裝置以及其資料傳輸的保護裝置
CN115226093A (zh) * 2022-06-28 2022-10-21 山东新一代信息产业技术研究院有限公司 一种机器人ota升级包完整性验证方法及系统
CN117439826B (zh) * 2023-12-21 2024-03-01 江苏禾冠信息技术有限公司 基于多模态验证的网络安全识别方法及系统

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5347581A (en) 1993-09-15 1994-09-13 Gemplus Developpement Verification process for a communication system
AU6104800A (en) * 1999-07-16 2001-02-05 Intertrust Technologies Corp. Trusted storage systems and methods
KR20010088917A (ko) * 2001-07-30 2001-09-29 최종욱 디지털 정보 보안 방법 및 그 시스템
US7738871B2 (en) * 2004-11-05 2010-06-15 Interdigital Technology Corporation Wireless communication method and system for implementing media independent handover between technologically diversified access networks
US20070224988A1 (en) * 2006-03-24 2007-09-27 Interdigital Technology Corporation Method and apparatus for performing a handover procedure between a 3gpp lte network and an alternative wireless network
US20080077801A1 (en) * 2006-09-25 2008-03-27 Nokia Corporation Protecting interfaces on processor architectures
US7624276B2 (en) 2006-10-16 2009-11-24 Broadon Communications Corp. Secure device authentication system and method
US8060941B2 (en) 2006-12-15 2011-11-15 International Business Machines Corporation Method and system to authenticate an application in a computing platform operating in trusted computing group (TCG) domain
KR101124900B1 (ko) * 2007-04-30 2012-04-12 인터디지탈 테크날러지 코포레이션 새로운 기능성을 갖춘 홈 (e)노드-B
JP4956292B2 (ja) * 2007-06-25 2012-06-20 パナソニック株式会社 情報セキュリティ装置およびカウンタ制御方法
US8572692B2 (en) * 2008-06-30 2013-10-29 Intel Corporation Method and system for a platform-based trust verifying service for multi-party verification
WO2010019916A1 (en) 2008-08-14 2010-02-18 The Trustees Of Princeton University Hardware trust anchors in sp-enabled processors
CN101350044B (zh) 2008-09-02 2010-07-14 中国科学院软件研究所 一种虚拟环境信任构建方法
EP2344974A2 (en) * 2008-10-10 2011-07-20 Panasonic Corporation USING TRANSIENT PCRs TO REALISE TRUST IN APPLICATION SPACE OF A SECURE PROCESSING SYSTEM
GB2466071B (en) 2008-12-15 2013-11-13 Hewlett Packard Development Co Associating a signing key with a software component of a computing platform
US20100212017A1 (en) * 2009-02-18 2010-08-19 International Business Machines Corporation System and method for efficient trust preservation in data stores
JP5457564B2 (ja) * 2010-03-05 2014-04-02 インターデイジタル パテント ホールディングス インコーポレイテッド 機器にセキュリティを提供する方法および装置

Also Published As

Publication number Publication date
JP2013521589A (ja) 2013-06-10
KR20140076596A (ko) 2014-06-20
KR101699359B1 (ko) 2017-01-24
KR20160096729A (ko) 2016-08-16
US20160306975A1 (en) 2016-10-20
KR101533876B1 (ko) 2015-07-03
JP5632548B2 (ja) 2014-11-26
CN102986163B (zh) 2015-11-25
JP2014112892A (ja) 2014-06-19
JP2016146631A (ja) 2016-08-12
EP2543215A2 (en) 2013-01-09
US20130198838A1 (en) 2013-08-01
US8949997B2 (en) 2015-02-03
JP6014286B2 (ja) 2016-10-25
US20150215281A1 (en) 2015-07-30
JP5457564B2 (ja) 2014-04-02
CN102986163A (zh) 2013-03-20
WO2011109772A2 (en) 2011-09-09
KR101647567B1 (ko) 2016-08-10
KR20120135514A (ko) 2012-12-14
WO2011109772A3 (en) 2011-10-27
JP2017034696A (ja) 2017-02-09
US9380024B2 (en) 2016-06-28
JP2015046909A (ja) 2015-03-12

Similar Documents

Publication Publication Date Title
KR101647567B1 (ko) 장치에 대한 보안을 제공하는 방법 및 장치
JP2014112892A5 (ko)
US9917687B2 (en) Migrating secrets using hardware roots of trust for devices
US9953167B2 (en) Trusted platforms using minimal hardware resources
CN105515776A (zh) 给设备提供安全性的方法和装置
Aslam et al. FoNAC-an automated fog node audit and certification scheme
Duan et al. Data storage security for the internet of things
Meziane et al. A Study of Modelling IoT Security Systems with Unified Modelling Language (UML)
Frädrich et al. Integrity and authenticity protection with selective disclosure control in the cloud & IoT
Sardar et al. SoK: Attestation in confidential computing
Khalil et al. DSCOT: An NFT-based blockchain architecture for the authentication of IoT-enabled smart devices in smart cities
Di Lorenzo Formal verification of security properties for remote attestation protocols
Malik et al. Dscot: An Nft-Based Blockchain Architecture for the Authentication of Iot-Based Smart Devices in Smart Cities
Lou et al. Integrity Verification for Streaming IoT Applications with a Minimalist Logging Scheme
Turcanu Providing Trusted Computing Services for Multi-access Edge Cloud Computing
Kirkpatrick Trusted enforcement of contextual access control
Rodrigues Modeling Attacks in IoT to Assist the Engineering Process
Caruso Post-quantum algorithms support in Trusted Execution Environment
Scovotto Distributed Trusted Computing Base
Lou Deployment and Integrity Verification of Streaming IoT Applications on Edge Computing
Kohnhäuser Advanced Remote Attestation Protocols for Embedded Systems
Punyamurthula Cloudarmor: Supporting Reputation-Based Trust Management for Cloud Services
Kirkpatrick GRADUATE SCHOOL
Gupta Secure platforms for enforcing contextual access control
Kirkpatrick et al. Thesis/Dissertation Acceptance

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application