KR101276409B1 - 보안 코프로세서 모듈의 n-ary 집약성을 위한 시스템 및 방법 - Google Patents

보안 코프로세서 모듈의 n-ary 집약성을 위한 시스템 및 방법 Download PDF

Info

Publication number
KR101276409B1
KR101276409B1 KR1020110060195A KR20110060195A KR101276409B1 KR 101276409 B1 KR101276409 B1 KR 101276409B1 KR 1020110060195 A KR1020110060195 A KR 1020110060195A KR 20110060195 A KR20110060195 A KR 20110060195A KR 101276409 B1 KR101276409 B1 KR 101276409B1
Authority
KR
South Korea
Prior art keywords
computing system
security
coprocessor module
mode
module
Prior art date
Application number
KR1020110060195A
Other languages
English (en)
Other versions
KR20110139145A (ko
Inventor
빈센트 제이 짐머
마이클 에이 로스만
로버트 씨 스완슨
팔사미 사크시쿠마르
말리크 부루수
Original Assignee
인텔 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인텔 코포레이션 filed Critical 인텔 코포레이션
Publication of KR20110139145A publication Critical patent/KR20110139145A/ko
Application granted granted Critical
Publication of KR101276409B1 publication Critical patent/KR101276409B1/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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • 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
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2111Location-sensitive, e.g. geographical location, GPS
    • 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/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2151Time stamp

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

컴퓨팅 시스템의 보안 코프로세서 모듈의 집약성을 확장시키는 것은 지리적 위치, 신뢰 시간, 하드웨어 판매사 문자열, 및 하나 이상의 환경 인자를 컴퓨팅 시스템의 머신 모드 측정을 위한 액세스 제어 공간에 포함시키는 것에 의하여 달성될 수 있다.

Description

보안 코프로세서 모듈의 N-ARY 집약성을 위한 시스템 및 방법{SYSTEM AND METHOD FOR N-ARY LOCALITY IN A SECURITY CO-PROCESSOR}
본 발명은 일반적으로 컴퓨터 보안과 신뢰 컴퓨팅(trusted computing)과 관련되고, 특히, 컴퓨팅 시스템 환경에서의 집약성(locality)을 확장하기 위한 것과 관련된다.
현재 보안 코프로세서 모듈(security co-processor module)(예를 들어, 신뢰 플랫폼 모듈(Trusted Platform Module, TPM))은 집약성(locality)의 개념에 지지를 제공한다. 전형적으로 집약성은 시스템의 “머신 모드(machine mode)”와 상응하는 컴퓨팅 시스템에서 존재하는 소프트웨어 환경의 식별이 있음을 의미한다. 머신 모드는 시스템에서 구동되는 마이크로코드의 하나 이상의 버전(version), 통상적인 매크로코드(예컨대, 기본 입/출력 시스템(BIOS)과 정적 운영체계(OS)), 신뢰 운영 환경(trusted operational environment)(예컨대, 신뢰 실행 테크놀로지(trusted execution technologies)을 지지하기 위한 제 3자로부터의 하이퍼바이저(hypervisor) 및 다른 하드웨어 구동 지시(hardware-driven indicia)를 포함할 수 있다.
보안 코프로세서 모듈은 전형적으로 컴퓨팅 시스템상에서 실행되는 소프트웨어를 위한 보안 연산을 제공하기 위해 사용된다. 머신 모드와 소프트웨어 환경의 결합은 추가적인 보안을 제공하기 위해 사용될 수 있다. 그러나 머신 모드 결합만을 사용하는 제한 시스템 연산은 일부 환경에서 불충분할 수도 있다.
신뢰 컴퓨팅 시스템에서 제공되는 하나의 특징은 컴퓨팅 시스템의 현재 환경의 측정을 얻는 것이다. 이 측정은 적어도 부분적으로는 펌웨어와 운영체제(OS)의 암호 해시(cryptographic hash)를 포함한다. 측정은 또한 다른 소프트웨어 구성 요소의 해시를 포함할 수도 있다. 측정은 봉인 저장 장치(sealed storage)를 사용할 수도 있고, 또한 외부자(external party)에 환경에 대한 보고를 위해 사용될 수 있다. 현재 환경은 또한 머신 모드로서 알려질 수도 있다.
본 발명의 실시예는 컴퓨팅 시스템의 현재 환경의 측정에 있어 추가적인 속성(attribute)을 포함하는 것에 의해 보안 코프로세서 모듈과 머신 모드에 기초한 집약성의 개념을 확장시킨다. 추가적인 속성을 사용한 결과는 전반적으로 보안과 컴퓨팅 시스템의 제어가 강화될 수 있다는 것이다. 본 발명의 일실시예에서 보안 코프로세서 모듈은 측정이 결정되면 추가적인 속성을 처리한다. 이와 관련해서 측정의 목적을 위한 추가적인 속성은 컴퓨팅 시스템상에서 실행되는 다른 소프트웨어(예를 들어, 어플리케이션 프로그램, OS, 또는 BIOS)에 의해 처리되지 않는다. 이것은 취약성을 갖는 하이 레벨의 소프트웨어가 추가적인 속성을 사용한 측정에 참여하는 것 그리고 해커에게 공격 포인트를 노출하는 것을 회피하게 한다. 보안 코프로세서 모듈이 신뢰 플랫폼 모듈(TPM)을 포함하는 적어도 하나의 실시예에서는, 이는 측정의 생성 및 사용과 관련된 연산이 TPM의 잘 구체화된, 하드웨어 제한된(hardware-bounded) 신뢰 컴퓨팅 기반(trusted computing base, TCB)의 내부에 있음을 의미한다. TPM은 보호된 저장장치(protected storage), 실행, 잘 정의된 등록/기재 메커니즘(well defined enrollment/registration mechanism)을 제공한다.
본 발명의 특징과 이점은 후술하는 본 발명의 상세한 설명으로부터 명백하게 될 것이다.
도 1은 본 발명의 일 실시예에 따른 확장된 집약성을 위한 보안 코프로세서 모듈에 데이터 입력의 도면이다.
도 2는 본 발명의 일 실시예에 따른 보안 코프로세서 모듈을 가지는 프로세싱 시스템을 설명하는 도면이다.
도 3은 본 발명의 일 실시예에 따른 보안 코프로세서 모듈의 초기화를 설명하는 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 보안 코프로세서 모듈의 보안 정책 프로세싱(security policy processing)을 설명하는 흐름도이다.
명세서에서 본 발명의 일 실시예 또는 실시예의 참조는 본 발명의 적어도 하나의 실시예에 포함된 실시예와 관련되어 기재된 구체적인 특징, 구조 또는 특성을 의미한다. 이와 같이, 명세서의 전체에 걸쳐 다양한 곳에서 나타나는 “일 실시예에서의” 라는 표현은 반드시 모두 같은 실시예를 참조할 필요는 없다.
본 발명의 일 실시예는 넓은 액세스 제어 공간(broad access control space) S를 정의하고, S는 하나 이상의 세트 S-i를 가지며, 집약성 속성은 N-튜플(N-tuple)의 <머신 모드 M, 신뢰 시간 T, 위치 L> 또는 i의 모든 값(value)에 대해 <M_i, T_i, L_i>을 포함한다. 즉, 컴퓨팅 시스템의 현재 신뢰 시간과 현재 지리적 위치가 측정에서 머신 모드와 함께 포함될 수 있다는 것이다. 값 i는 액세스 제어 공간 S에서 측정 세트의 선택된 하나를 나타내 수 있다. S 내의 각 S-i는 머신 모드, 신뢰 시간 및 위치의 수용 가능한 결합을 나타낼 수 있고, 그로써 (OS 및 어플리케이션 프로그램과 같은)하이 레벨 소프트웨어에 의해 컴퓨팅 시스템의 추가 연산이 실행될 수 있다.
본 발명의 일 실시예에서, 액세스 제어 공간 S는 하드웨어 판매사 문자열(hardware vender string)으로 불리는 다른 정보 아이템을 포함하도록 더 확장될 수 있다. 하드웨어 판매사 문자열은 임의의 길이와 구성의 비트 문자열을 포함할 수 있고, 컴퓨팅 시스템의 하드웨어 판매사, 보안 코프로세서 모듈, 컴퓨팅 시스템의 프로세서, 및/또는 다른 하드웨어 시스템 구성요소 중 하나 이상을 고유하게 식별할 수 있다. 일 실시예에서 하드웨어 판매사 문자열은 인증(attestation) 목적의 보안 코프로세서에 의해 사용될 수 있다. 본 실시예의 액세스 제어 공간 S는 <머신 모드 M, 신뢰 시간 T, 위치 L, 하드웨어 판매사 문자열 HVS> 또는 i의 모든 값에 대해 <M_i, T_i, L_i, HSV_i>일 수 있다.
본 발명의 다른 실시예에서 액세스 제어 공간 S는 환경 인자(environmental factor)와 같은 추가적인 속성을 포함하기 위해 더 확장될 수 있다. 환경 인자는 컴퓨팅 시스템의 온도(temperature), 가속도(acceleration), 정전용량(capacitance), 고도(elevation) 및 방위(orientation)와 같은 데이터 목록을 포함한다. 다른 환경 인자 또한 포함될 수 있다. 일 실시예에서 환경 인자는 컴퓨팅 시스템의 사용 제어를 보조하기 위해 보안 코프로세서에 의해 사용될 수 있다. 본 실시예에서 액세스 제어 공간 S는 <머신 모드 M, 신뢰 시간 T, 위치 L, 하드웨어 판매사 문자열 HVS, 환경인자 EF> 또는 i의 모든 값에 대해 <M_i, T_i, L_i, HSV_i, EF_i>일 수 있다. 환경 인자는 위에 리스트 된 (온도, 가속도, 정전용량, 고도 및 방위) 중 하나 이상의 속성을 포함할 수 있다.
당업자는, 구현에 따라, 액세스 제어 공간 S가 위의 식별 속성의 어떤 결합을 포함할 수 있다는 것을 알 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 확장된 집약성을 위한 보안 코프로세서 모듈에 데이터 입력 도면이다. 보안 코프로세서 모듈(100)은 컴퓨팅 시스템에 신뢰 컴퓨팅 서비스와 연산을 제공한다. 일 실시예에서 보안 코프로세서 모듈(100)은 신뢰 플랫폼 모듈(TPM)을 포함한다. 다른 실시예에서 보안 코프로세서 모듈의 다른 형태가 사용될 수도 있다. 예를 들어, 다른 보안 코프로세서는 IBM(International Business Machines)으로부터 상업적으로 입수 가능한 IBM 4758 PCI Cryptographic Co-Processor 및 TI(Texas Instruments)로부터 상업적으로 입수 가능한 TI M-Shield를 포함할 수 있다. TPM은 신뢰 컴퓨팅 그룹(trusted Computing Group, TCG)에 의해 신뢰 컴퓨팅 플랫폼 협회(Trusted Computing Platform Association, TCPA) 2002년 2월의 주 사양서 1,2와 리비전(revision)에 정의되어 왔으며, TCG로부터 입수 가능하다. TPM은 시스템에 다양한 보안 기능을 제공하기 위해 컴퓨팅 시스템(데스크탑, 휴대용 개인 컴퓨터(PC), 이동 컴퓨팅 장치, 이동전화 또는 다른 컴퓨팅 장치)의 마더보드 상의 스마트 카드와 같이 동작한다. 일반적으로 시스템당 하나의 TPM만이 있다. TPM은 적어도 하나의 공개/개인 키 쌍을 포함하며, 시스템 안의 다른 엔티티의 사용을 위한 익명의 키 쌍(key pair)을 생성할 수 있고, 암호화 및 복호화를 수행할 수 있고, 데이터를 승인(sign) 및 검증(verify)할 수 있고 시스템을 위해 신뢰의 루트(root of trust)을 설립할 수도 있다. TPM은 구분되기 어렵고 자신의 동작에 영향을 주기 어려운 것으로 고려된다. 컴퓨팅 플랫폼을 위한 신뢰의 루트로 사용되는 TPM은 플랫폼 구성 등록(Platform Configuration Register, PCR)의 세트와 적어도 하나의 공개/개인 키 쌍을 가진다. 신뢰 컴퓨팅 환경의 부팅(boot) 동안, 신뢰 구성요소의 루트는 소프트웨어 모듈을 로드하고, 소프트웨어 모듈의 해시를 계산하고, PCR로 해시를 보내고 나서 그 소프트웨어 모듈로 제어를 전송한다. 소프트웨어 모듈은 새로운 소프트웨어 모듈과 이 프로세스를 반복할 수 있고, 새로운 PCR로 새로운 소프트웨어 모듈의 해시를 보낼 수 있거나 이전에 사용된 PCR의 해시를 확장할 수도 있다. 이 프로세스는 여러 번 반복될 수도 있다. 마침내, 신뢰 컴퓨팅 환경의 제어 내의 모든 소프트웨어의 측정을 가지는 하나 이상이 PCR이 있다.
봉인 저장 장치는 신뢰 컴퓨팅 플랫폼의 특징의 하나이다. TPM은 블랍(blob)으로 불리는 데이터 부분을 암호화할 수 있고, 이는 PCR 값과 시크릿(secret) 세트로 구성된다. 후에, 블랍이 복호화를 위해 TPM에 나타나면, TPM은 그것을 복호화하고 블랍의 특정 PCR 값이 TPM의 PCR에 현재 저장된 PCR 값과 같은지를 체킹한다. 이 체킹이 통과되어야만, TPM은 플랫폼에 복호화된 시크릿을 공개한다. 따라서 봉인된 시크릿은 오직 블랍에 의해 특정된 컴퓨팅 환경에서만 이용 가능하다. 만약 몇몇 다른 환경이 컴퓨팅 플랫폼 상에 개시된다면, TPM은 시크릿을 공개하지 않을 것이다.
일 실시예에서 프로세싱 시스템이 부팅될 때, 부팅 순서 동안, 다양한 소프트웨어 구성 요소(BIOS, option ROM 등과 같은)의 측정이 하나 이상이 PCR에 등록될 수 있다. 이것은 머신 모드로써 알려져 있다. 일 실시예에서 측정은 하나 이상의 소프트웨어 구성요소의 코드의 암호 해시를 포함한다.
현재 머신 모드에 데이터를 결속하기(bind) 위해, 보안 코프로세서 모듈(100)은 입력 데이터로 머신 모드(106)와 데이터(102)를 수용한다. 알려진 암호화 연산을 사용하여, 보안 코프로세서 모듈은 바운드 데이터(bound data)(104)를 생성하기 위해 머신 모드와 데이터를 결속한다. 다른 소프트웨어 구성요소는 이후 보안 코프로세서 모듈의 연산에 의해 바운드 데이터에 대한 신뢰를 추정할 수 있다.
컴퓨팅 시스템의 보안과 제어를 강화하기 위해, 본 발명의 일 실시예에서 추가적인 속성이 보안 코프로세서 모듈에 데이터 입력으로 포함될 수 있다. 액세스 제어 공간에 속성으로서 지리적 위치(108)가 포함될 수 있다. 컴퓨팅 시스템의 현재 지리적 위치는 잘 알려진 방법에 따라 컴퓨팅 시스템의 위성 위치 확인 시스템(global positioning system, GPS) 구성요소로부터 얻어질 수 있다. 컴퓨팅 시스템의 현재 지리적 위치는 시스템이 어디 있는 지와 시스템 사용에 관한 시스템 관리자에 의해 어떤 규칙이 정해졌는지에 의존하여 컴퓨팅 시스템의 연산을 제어하기 위해 사용될 수 있다.
신뢰 시간(110)이 또한 액세스 제어 공간의 속성으로 포함될 수 있다. 컴퓨팅 시스템상의 신뢰할 수 있는 시간에 대한 값을 얻는 것은 이상적이다. 예를 들어, 신뢰 시간은 고급 콘텐트(premium content)가 디지털 홈(digital home)에서 이용 가능한 것을 보증하기 위해 콘텐트 보호 메커니즘의 강건함(robustness)을 강화시키기 위해 다른 프로세싱과 함께 사용될 수 있다. 그것은 컴퓨팅 플랫폼의 소유자가 주기적으로 훼손된 키(compromised keys)의 폐지 리스트(revocation list)를 다운로드 하는 것을 보증하기 위해 콘텐트 보호 환경에 사용될 수 있다. 그것은 또한 일시적인 시간 윈도우(temporary time window) 동안 액세스를 위해 구매될 콘텐트를 가능하게 하기 위한 안전한 방법을 제공하기 위해 사용될 수도 있다. 그러나, 만약 시간 값이 컴퓨팅 시스템에 의한 센싱 없이 비양심적인 사용자에 의해 수정될 수 있다면, 컴퓨터 보안과 콘텐트 보호 시스템은 훼손될 수도 있다. 신뢰 시간을 제공하기 위한 하나의 해결책은 (전술한, 신뢰 컴퓨터 그룹으로부터 입수 가능한, 2004년 11월 23일, TPM 메인 파트 1 설계 원칙, 명세서 버전 1.2, 개정(revision) 81, 페이지 93-98에 서술된 바와 같이) 사용자에 의해 쉽게 제거될 수 없는 TPM에 포함될 수 있는 배터리를 필요로 한다. 일 실시예에서 신뢰 시간은 2005년 9월 23일에 Ernie F. Brickell과 Clifford D. Hall에 의해 출원되고, 본 명세서에 참조로서 포함되는, US 특허 출원 11/223,543 “컴퓨팅 플랫폼에서 신뢰 시간을 제공하기 위한 방법”에 개시된 바와 같이 제공될 수 있다.
하드웨어 판매사 문자열(112)이 또한 액세스 제어 공간 내의 속성으로서 포함될 수도 있다. 전술한 바와 같이, 하드웨어 판매사 문자열은 임의의 길이와 구성의 비트 문자열을 포함할 수 있고, 컴퓨팅 시스템의 하드웨어 판매사, 보안 코프로세서 모듈, 컴퓨팅 시스템의 프로세서 및/또는 다른 하드웨어 시스템 구성요소 중 하나 이상을 고유하게 식별할 수 있다.
하나 이상의 환경 인자(114)가 또한 액세스 제어 공간의 속성으로 포함될 수 있다. 온도, 가속도, 정전용량, 고도 및 방위와 같은 환경 조건은 적절한 공지의 장치 및 센서에 의해 결정 및/또는 센싱될 수 있고 보안 코프로세서 모듈로 입력될 수 있다.
본 발명의 실시예에 대한 예시적인 컴퓨팅 시스템이 도 2에 도시되어 있으나, 다른 시스템이 사용될 수도 있으며, 컴퓨팅 시스템의 모든 구성요소가 본 발명을 위해서 필요한 것은 아니다. 샘플 컴퓨팅 시스템(200)은 예컨대 본 발명의 실시예를 위한 프로세싱을 실행하기 위해 사용될 수 있다. 샘플 시스템(200)은 인텔(Intel) 사로부터 입수 가능한 PENTIUM®, CORE, CORE DUE, CORE QUAD 또는 Celeron® 계열 프로세서에 기초한 프로세싱 시스템이 대표적이지만, 다른 시스템(개인용 컴퓨터(PC) 또는 다른 프로세서를 구비한 서버, 엔지니어링 워크스테이션, 다른 셋톱 박스, 모바일 컴퓨팅 장치, 휴대용 컴퓨팅 장치, 셀룰러 전화 등)과 아키텍쳐 또한 사용될 수 있다.
도 2는 본 발명의 일 실시예의 시스템(200)의 블록도이다. 시스템(200)은 데이터 신호를 처리하는 프로세서(202)를 포함한다. 프로세서(202)는 프로세서(202)와 시스템(200) 내의 다른 구성요소 간에 데이터 신호를 전송하는 프로세서 버스(204)와 결합될 수 있다. 시스템(200)은 메모리(206)를 포함한다. 메모리(206)는 프로세서(202)에 의해 실행될 수 있는 데이터 신호로 표현되는 인스트럭션 및/또는 데이터를 저장할 수 있다. 인스트럭션 및/또는 데이터는 본 발명의 임의의 및/또는 모든 기법(technique)을 수행하기 위한 코드를 포함할 수 있다. 메모리(206)는 부가적인 소프트웨어 및/또는 하드웨어 판매사 문자열(232)과 같은 데이터를 포함할 수도 있다.
브릿지/메모리 제어기(210)가 프로세서 버스(204) 및 메모리(206)에 결합될 수 있다. 브릿지/메모리 제어기(210)는 프로세서(202), 메모리(206), 및 시스템 내의 다른 구성요소 간의 데이터 신호를 지시(direct)하고 프로세서 버스(204), 메모리(206) 및 제 1 입력/출력(I/O) 버스(208) 간의 데이터를 이어준다(bridge). 이 실시예에서, 그래픽 장치(214)는 그래픽 장치(214)에 의해 제공 또는 아니면 처리되는 이미지를 디스플레이하기 위한 디스플레이 장치(미도시)와 상호연결된다. 제 1 I/O 버스(208)는 단일 버스 또는 다수의 버스의 결합일 수 있다. 제 1 I/O 버스(208)는 시스템(200) 내의 구성요소 간의 통신 링크를 제공한다.
적어도 하나의 실시예에서, (예컨대, TPM과 같은) 보안 코프로세서 모듈(216)은 버스 브릿지(212)에 결합될 수 있다. 보안 코프로세서 모듈은 PCR(217), 적어도 하나의 보안 정책(228) 및 보안 모드(230)을 포함할 수 있다. 일 실시예에서, 보안 모드는 정상 모드(normal mode) 또는 강화 모드(enhanced mode)로 보안 코프로세서 모듈의 동작을 지정할 수 있다. 보안 정책은 컴퓨팅 시스템의 증가된 보안 및 제어를 제공하도록 어떻게 액세스 제어 공간 속성이 사용될 수 있는지 지정할 수 있다. 일 실시예에서, 보안 코프로세서 모듈은 그 안에 저장된 하드웨어 판매사 문자열(232)를 포함할 수도 있다.
제 2 I/O 버스(220)는 단일 버스 또는 다수의 버스의 조합을 포함할 수 있다. 제 2 I/O 버스(220)는 시스템(200) 내의 구성요소간의 통신 링크를 제공한다. 본 발명의 실시예에서, 추가적인 장치가 제 2 I/O 버스에 결합되어 보안 코프로세서 모듈에 추가적인 속성을 제공할 수 있다. GPS 장치(222)가 현재 지리적 위치 데이터를 제공하도록 포함되어 있을 수 있다. 신뢰 시간 장치(224)가 현재 신뢰 시간을 제공하도록 포함되어 있을 수 있다. 하나 이상의 환경 인자 장치(226)이 환경 인자 데이터를 제공하도록 포함되어 있을 수 있다. 예를 들어, 온도, 가속도, 정전용량, 고도, 방위 및 다른 인자를 위한 센싱 장치가 포함되어 있을 수 있다.
본 발명의 실시예는 시스템(200)을 프로세싱 시스템의 구성요소로 사용하는 것과 관련되어 있다. 일 실시예에 따르면, 그러한 프로세싱은 메모리(206) 내의 인스트럭션의 시퀀스를 실행하는 프로세서(202)에 응답하여 시스템(200)에 의해서 수행될 수 있다. 그러한 인스트럭션은 다른 컴퓨터 판독가능 매체로부터 메모리(206)내로 읽혀질 수도 있다. 인스트력션의 시퀀스의 실행은 프로세서(202)로 하여금 본 발명의 실시예에 따라 애플리케이션을 위한 프로세싱을 실행하도록 한다. 대안적인 실시예에서, 하드웨어 회로가 본 발명의 실시예의 부분을 구현하기 위해 소프트웨어 인스트럭션 대신에 또는 그와 함께 사용될 수도 있다. 따라서 본 발명은 임의의 특정 하드웨어 회로 및 소프트웨어의 조합으로 제한되지 않는다.
도 3은 본 발명의 일 실시예에 따라 보안 코프로세서 모듈의 초기화를 도시하는 흐름도이다. 컴퓨팅 시스템 초기화 과정 동안 시작 블록(300) 후에, 블록(302)에서, 보안 코프로세서 모듈은 컴퓨팅 시스템에 대한 성능으로서 지리적 위치를 획득하고 사용하는 것이 가능한지 여부를 판정한다. 그러하다면, 블록(304)에서, 보안 코프로세서 모듈은 지리적 위치를 보안 정책(228) 내의 엔트리(entry)로 추가한다. 그러하지 않다면, 보안 코프로세서 모듈은 블록(306)에서 컴퓨팅 시스템에 대한 성능으로서 신뢰 시간을 획득하고 사용하는 것이 가능한지 여부를 판정하다. 그러하다면, 블록(308)에서, 보안 코프로세서 모듈은 신뢰 시간을 보안 정책 내의 엔트리로 추가한다. 그러하지 않다면, 보안 코프로세서 모듈은 블록(310)에서 컴퓨팅 시스템에 대한 성능으로서 하드웨어 판매사 문자열을 획득하고 사용하는 것이 가능한지 여부를 판정한다. 그러하다면, 블록(312)에서, 보안 코프로세서 모듈은 하드웨어 판매사 문자열을 보안 정책의 엔트리로 추가한다. 그러하지 않다면, 보안 코프로세서 모듈은 블록(314)에서 컴퓨팅 시스템에 대한 성능으로서 하나 이상의 환경 인자를 획득하고 사용하는 것이 가능한지 여부를 판정한다. 그러하다면, 블록(316)에서 보안 코프로세서 모듈은 관련된 환경 인자를 보안 정책의 엔트리로서 추가한다. 지리적 위치, 신뢰 시간, 하드웨어 판매사 문자열 또는 환경 인자 중 어느 것이라도 가능하다면, 보안 모드(230)는 블록(320)에서 강화(enhanced)로 설정될 수 있다. 그렇지 않다면, 보안 모드는 정상으로 설정될 수 있다. 선택된 보안 모드에 따라 보안 코프로세서 모듈의 추가적인 초기화 과정이 블록(322)에서 수행될 수 있다. 블록(322)의 과정은 보안-민감 연산을 가져오는 1) 난수를 생성하는 단계, 2) 암호화 서명(cryptographic signing) 단계, 3) 암호화 검증, 4) 봉인 단계 (환경 인자에 대한 암호화), 5) 봉인 해제 단계 (환경 인자에 대한 복호화), 6) 인용(quote) (원격 증명으로부터의 객체 서명) 등을 포함할 수 있으나 이에 제한되지 않는다. 다른 실시예에서, 다양한 속성에 대한 체킹 순서는 변경될 수 있다.
추가 속성이 가능하다면, 보안 코프로세서 모듈은 이전에 저장된 특정 사용 조건 및 그 속성에 대해 수용 가능한 값을 참고할 수 있고, 또는 보안적으로 그러한 조건을 설정할 수 있는 성능을 제공할 수 있다. 예를 들어, 컴퓨팅 시스템이 동작할 수 있는 지리적 위치의 수용 가능한 범위가 설정될 수도 있다. 일 실시예에서, 사용 조건과 수용 가능한 값의 설정은 보안 펌웨어 메커니즘을 통해 시스템 관리자에 의해 보안 코 프로세서 모듈 초기화가 완료된 후에 수행될 수도 있다.
도 4는 본 발명의 일 실시예에 따른 보안 코프로세서 모듈의 보안 정책 과정을 도시하는 흐름도이다. 보안 코프로세서 모듈 초기화가 완료된 후 임의의 시점에서, 보안 코프로세서 모듈은, 시작 블록(400) 이후에, 연산을 수행하기 위한 요청을 블록(402)에서 수신할 수 있다. 보안 코프로세서 모듈은 블록(404)에서 보안 모드를 획득한다. 보안 모드가 정상이라면, 머신 모드가 보안 코프로세서 모듈에 의해서 블록(416)에서 체킹될 수 있다. 머신 모드가 수용가능(acceptable)이라면, 요청된 연산이 보안 코프로세서 모듈에 의해서 블록(418)에서 수행될 수 있고, 과정은 블록(414)에서 호출자에게 리턴될 수 있다. 그러나 머신 모드가 수용가능이 아니라면 블록(412)에서 오류가 보고될 수 있고, 과정은 블록(414)로 리턴한다.
보안 모드가 강화(enhanced)라면, 보안 코프로세서 모듈은 보안 정책을 블록(406)에서 획득하고, 보안 정책을 분석하여 머신 모드 이외에 어떠한 속성이 연산의 실행에 앞서 고려되어야 하는지를 판정한다. 블록(408)에서, 보안 코프로세서 모듈은 현재 지리적 위치, 신뢰 시간, 하드웨어 판매사 문자열, 및/또는 환경 변수 중 하나 이상을 보안 정책 내의 엔트리에 따라 획득한다. 보안 코프로세서 모듈은 이후 요청된 연산이 수용가능한지 보안 정책에 따라 컴퓨팅 시스템의 다양한 장치로부터 획득된 속성 데이터에 기초하여 판정한다. 즉, 보안 코프로세서 모듈은 현재 속성값들을 그 속성들에 대한 연관된 보안 정책 엔트리들에 설정된 범위 및/또는 값과 비교할 수도 있다. 연산이 수용 가능한 것으로 판정되면, 과정은 블록(416)으로 계속된다. 그렇지 않다면, 오류가 블록(412)에서 보고될 수 있다.
많은 가능한 보안 체킹이 본 발명의 실시예에 따라서 이루어질 수 있다. 예를 들어, 현재 지리적 위치가 획득되면, 보안 코프로세서 모듈은 현재 지리적 위치가 미리 정해진 범위 또는 경계 내에 있는지 판정한다. 그렇지 않다면, 보안 코프로세서 모듈은 컴퓨팅 시스템 상의 소정 연산 또는 서비스의 실행(예컨대, 시스템의 강제 종료)를 거부할 수도 있다. 다른 실시예에서, 신뢰 시간이 컴퓨팅 시스템의 다른 시간 지시자(indicator)와 일치하지 않는다면, 보안 코프로세서 모듈은 그러한 다른 시간 지시자가 조작되었다고 판정하고 적절한 행동을 취할 수도 있다. 다른 실시예에서, 임의의 환경 인자가 지정된 범위 밖에 있다면, 적절한 행동이 취해질 수 있다. 예를 들어, 온도가 너무 높다면, 컴퓨팅 시스템이 종료될 수도 있다.
도 4에 도시된 실시예에서, 머신 모드를 체킹하는 단계는 보안 모드가 강화(enhanced)된 경우 다른 속성을 체킹한 후에 이루어진다. 다른 실시예에서, 과정의 이러한 순서가 변경되어 머신 모드가 체킹된 후에 다른 속성이 체킹될 수도 있다.
따라서 머신 모드를 넘어서 컴퓨팅 시스템의 측정의 집약성을 확장하도록 추가 속성을 추가함으로써, 보안 코프로세서 모듈은 보다 뛰어난 보안성 및 컴퓨팅 시스템의 추가 제어를 제공할 수 있다. 이러한 성능이, OS 또는 애플리케이션 프로그램보다 조작하기 어려운, 보안 코프로세서 모듈의 일체(integral part)이기 때문에, 컴퓨팅 시스템의 전체 보안성이 강화될 수 있다.
본 명세서에서 기술된 연산이 시계열적 과정으로 기술될 수도 있지만, 일부 연산은 사실 병렬적으로 또는 동시에 수행될 수도 있다. 또한, 몇몇 실시예에서, 연산의 순서는 본 발명의 정신을 벗어나지 않으면서 재배열될 수 있다.
본 명세서에 기술된 기법은 임의의 특정 하드웨어 또는 소프트웨어 구성에 제한되지 않으며, 임의의 컴퓨팅 또는 프로세싱 환경에 적용가능할 수도 있다. 기법은 하드웨어, 소프트웨어 또는 이들의 조합으로 구현될 수도 있다. 기법은 이동 또는 고정 컴퓨터, 휴대용 컴퓨팅 장치, PDA, 셋톱 박스, 셀룰러 전화 및 호출기, 및 프로세서와 프로세서에 의해 판독 가능한 저장 매체(휘발성 및 비휘발성 메모리 및/또는 저장 요소를 포함), 적어도 하나의 입력 장치 및 하나 이상의 출력 장치를 포함하는 다른 전자 장치와 같은 프로그램 가능 머신 상에서 수행되는 프로그램으로 구현될 수도 있다. 프로그램 코드는 기술된 함수를 수행하고 출력 정보를 생성하도록 입력 장치를 사용하여 입력된 데이터에 적용된다. 출력 정보는 하나 이상의 출력 장치에 적용될 수 있다. 당업자는 본 발명이 멀티프로세서 시스템, 미니컴퓨터, 메인프레임 컴퓨터 등과 같은 다양한 컴퓨팅 시스템 구성에서 실시될 수 있음을 이해할 것이다. 본 발명은 태스크가 통신 네트워크를 통해서 연결된 원격 프로세싱 장치에 의해 수행될 수 있는 분산 컴퓨팅 환경에서 실시될 수도 있다.
각 프로그램은 프로세싱 시스템과 통신하는 하이 레벨 절차 또는 객체 지향 프로그래밍 언어로 구현될 수도 있다. 그러나 프로그램은, 필요하다면, 어셈블리 또는 머신 언어로 구현될 수도 있다. 어떠한 경우든지, 언어는 컴파일될 수도 또는 해석될 수도 있다.
프로그램 인스트럭션은 인스트럭션으로 프로그램된 범용 또는 전용 프로세싱 시스템으로 하여금 본 명세서에 기재된 연산을 수행하게끔 할 수도 있다. 대안적으로, 연산은 연산을 수행하기 위한 하드와이어드 로직을 포함하는 특정 하드웨어 구성요소 또는 프로그램된 컴퓨터 구성요소와 통상의(custom) 하드웨어 구성요소의 임의의 조합에 의해 수행될 수도 있다. 본 명세서에 기재된 방법은 그러한 방법을 수행하도록 프로세싱 시스템 또는 다른 전자 장치를 프로그램하는데 사용될 수 있는 인스트럭션을 저장하는 머신 판독가능 매체를 포함할 수 있는 컴퓨터 프로그램 제품으로서 제공될 수도 있다. “머신 판독가능 매체”라는 본 명세서에서 사용되는 용어는 머신에 의해서 실행되고 머신로 하여금 본 명세서에 기재된 방법의 임의의 하나를 수행하도록 하는 임의의 인스트럭션 시퀀스를 저장 또는 인코딩할 수 있는 임의의 매체를 모두 포함한다. 따라서 용어 “머신 판독가능 매체”는 고체 상태 메모리, 광학 및 자기 디스크를 포함하나 이에 한정되지 않는다. 또한 본 기술분야에서, 소프트웨어에 대하여 행동을 취하거나 결과를 야기하는 것으로 하나의 형식 또는 다른 형식으로 (예컨대, 프로그램, 절차(procedure), 프로세스, 애플리케이션, 모듈, 로직 등) 말하는 것이 일반적이다. 그러한 표현들은 단지 프로세싱 시스템에 의한 소프트웨어의 실행이 프로세서로 하여금 결과를 생산하기 위한 행동을 수행하는 것을 설명하는 줄임말이다.

Claims (31)

  1. 컴퓨팅 시스템의 보안 코프로세서 모듈(security co-processor module)의 집약성(locality)을 확장시키는 방법에 있어서,
    상기 컴퓨팅 시스템이 현재 지리적 위치 또는 신뢰 시간(trusted time)을 획득하는 성능(capability)을 제공한다는 판정에 응답하여 상기 보안 코프로세서 모듈의 보안 모드(security mode)를 강화 모드(enhanced mode)로 설정하는 단계와,
    상기 보안 코프로세서 모듈에 의하여, 연산 실행 요청을 수신하는 단계와,
    상기 보안 코프로세서 모듈에 대한 상기 보안 모드를 판정하는 단계와,
    상기 보안 모드가 정상 모드(normal mode)로 설정될 때, 상기 컴퓨팅 시스템의 머신 모드(machine mode)를 체킹하여 상기 머신 모드가 수용가능(acceptable)할 때 상기 요청된 연산을 실행하는 단계와,
    상기 보안 모드가 강화 모드로 설정될 때, 보안 정책을 획득하는 단계, 상기 컴퓨팅 시스템의 현재 지리적 위치 및 현재 신뢰 시간을 획득하는 단계, 상기 보안 정책에 지정된 지리적 위치 속성 엔트리 및 신뢰 시간 속성 엔트리와, 상기 현재 지리적 위치와, 상기 현재 신뢰 시간에 따라, 상기 요청된 연산이 수용가능한지 판정하는 단계, 및 상기 컴퓨팅 시스템의 머신 모드를 체킹하는 단계와,
    상기 요청된 연산과 상기 머신 모드가 모두 수용가능할 때, 상기 요청된 연산을 실행하는 단계를 포함하는
    방법.
  2. 제 1 항에 있어서,
    상기 컴퓨팅 시스템이 상기 현재 지리적 위치를 획득하는 성능을 제공한다는 판정에 응답하여 상기 보안 정책에 지리적 위치에 대한 엔트리가 추가되는 것을 가능하게 하는 단계를 더 포함하는
    방법.
  3. 제 1 항에 있어서,
    상기 컴퓨팅 시스템이 상기 신뢰시간을 획득하는 성능을 제공한다는 판정에 응답하여 상기 보안 정책에 신뢰 시간에 대한 엔트리가 추가되는 것을 가능하게 하는 단계를 더 포함하는
    방법.
  4. 제 1 항에 있어서,
    상기 컴퓨팅 시스템이 하드웨어 판매사 문자열(hardware vendor string)을 획득하는 성능을 제공한다는 판정에 응답하여 상기 보안 정책에 하드웨어 판매사 문자열에 대한 엔트리가 추가되는 것을 가능하게 하는 단계를 더 포함하는
    방법.
  5. 제 4 항에 있어서,
    상기 하드웨어 판매사 문자열을 획득하는 단계와,
    상기 보안 정책에 지정된 상기 하드웨어 판매사 문자열 엔트리와 상기 하드웨어 판매사 문자열에 따라서 상기 요청된 연산이 수용가능한지 판정하는 단계를 더 포함하는
    방법.
  6. 제 5 항에 있어서,
    상기 하드웨어 판매사 문자열은 상기 컴퓨팅 시스템의 프로세서의 판매사를 식별하는 것인
    방법.
  7. 제 1 항에 있어서,
    상기 컴퓨팅 시스템이 하나 이상의 환경 인자(environmental factor)를 센싱(sense)하는 성능을 제공한다는 판정에 응답하여 상기 보안 정책에 환경 인자에 대한 엔트리가 추가되는 것을 가능하게 하는 단계를 더 포함하는
    방법.
  8. 제 7 항에 있어서,
    하나 이상의 현재 환경 인자를 획득하는 단계와,
    상기 보안 정책에 지정된 상기 환경 인자 엔트리와 상기 현재 하나 이상의 환경 인자에 따라서 상기 요청된 연산이 수용가능한지 판정하는 단계를 더 포함하는
    방법.
  9. 제 8 항에 있어서,
    상기 하나 이상의 환경 인자는 상기 컴퓨팅 시스템의 온도, 가속도, 정전용량, 고도 및 방위 중 하나 이상을 포함하는 것인
    방법.
  10. 제 1 항에 있어서,
    상기 보안 코프로세서 모듈은 신뢰 플랫폼 모듈(trusted platform module, TPM)을 포함하는 것인
    방법.
  11. 복수의 머신 인스트럭션을 포함하는 머신 판독가능한 저장 매체에 있어서, 상기 인스트럭션은 컴퓨팅 시스템 내의 보안 코프로세서 모듈에 의한 실행에 응답하여 상기 컴퓨팅 시스템의 보안 코프로세서 모듈의 집약성의 확장을 제공하기 위하여 상기 보안 코프로세서 모듈이,
    상기 컴퓨팅 시스템이 현재 지리적 위치 또는 신뢰 시간을 획득하는 성능을 제공한다는 판정에 응답하여 상기 보안 코프로세서 모듈의 보안 모드를 강화 모드로 설정하는 것과,
    상기 보안 코프로세서 모듈에 의하여, 연산 실행 요청을 수신하는 것과,
    상기 보안 코프로세서 모듈에 대한 상기 보안 모드를 판정하는 것과,
    상기 보안 모드가 정상 모드로 설정될 때, 상기 컴퓨팅 시스템 환경의 머신 모드를 체킹하여 상기 머신 모드가 수용가능하면 상기 요청된 연산을 실행하는 것과,
    상기 보안 모드가 강화 모드로 설정될 때, 보안 정책을 획득하고, 상기 컴퓨팅 시스템의 현재 지리적 위치 및 현재 신뢰 시간을 획득하고, 상기 보안 정책에 지정된 지리적 위치 속성 엔트리 및 신뢰 시간 속성 엔트리와, 상기 현재 지리적 위치와, 상기 현재 신뢰 시간에 따라, 상기 요청된 연산이 수용가능한지 판정하고, 상기 컴퓨팅 시스템의 머신 모드를 체킹하는 것과,
    상기 요청된 연산 및 상기 머신 모드가 모두 수용가능할 때, 상기 요청된 연산을 실행하는 것을 가능하게 하는
    머신 판독가능한 저장 매체.
  12. 제 11 항에 있어서,
    상기 컴퓨팅 시스템에 의한 실행에 응답하여, 상기 컴퓨팅 시스템이 상기 현재 지리적 위치를 획득하는 성능을 제공한다는 판정에 응답하여 상기 보안 코프로세서 모듈이 상기 보안 정책에 지리적 위치에 대한 엔트리가 추가되는 것을 가능하게 하도록 하는 인스트럭션을 더 포함하는
    머신 판독가능한 저장 매체.
  13. 제 11 항에 있어서,
    상기 컴퓨팅 시스템에 의한 실행에 응답하여, 상기 컴퓨팅 시스템이 상기 신뢰 시간을 획득하는 성능을 제공한다는 판정에 응답하여 상기 보안 코프로세서 모듈이 상기 보안 정책에 신뢰 시간에 대한 엔트리가 추가되는 것을 가능하게 하도록 하는 인스트럭션을 더 포함하는
    머신 판독가능한 저장 매체.
  14. 제 11 항에 있어서,
    상기 컴퓨팅 시스템에 의한 실행에 응답하여, 상기 컴퓨팅 시스템이 하드웨어 판매사 문자열을 획득하는 성능을 제공한다는 판정에 응답하여 상기 보안 코프로세서 모듈이 상기 보안 정책에 하드웨어 판매사 문자열에 대한 엔트리가 추가되는 것을 가능하게 하도록 하는 인스트럭션을 더 포함하는
    머신 판독가능한 저장 매체.
  15. 제 14 항에 있어서,
    상기 컴퓨팅 시스템에 의한 실행에 응답하여, 보안 코프로세서 모듈이 상기 하드웨어 판매사 문자열을 획득하는 것과, 상기 보안 정책에 지정된 상기 하드웨어 판매사 문자열 엔트리와 상기 하드웨어 판매사 문자열에 따라서 상기 요청된 연산이 수용가능한지 판정하는 것을 가능하게 하는 인스트럭션을 더 포함하는
    머신 판독가능한 저장 매체.
  16. 제 15 항에 있어서,
    상기 하드웨어 판매사 문자열은 상기 컴퓨팅 시스템의 프로세서의 판매사를 식별하는 것인
    머신 판독가능한 저장 매체.
  17. 제 11 항에 있어서,
    상기 컴퓨팅 시스템에 의한 실행에 응답하여, 상기 컴퓨팅 시스템이 하나 이상의 환경 인자를 센싱하는 성능을 제공한다는 판정에 응답하여 상기 보안 코프로세서 모듈이 상기 보안 정책에 환경 인자에 대한 엔트리가 추가되는 것을 가능하게 하도록 하는 인스트럭션을 더 포함하는
    머신 판독가능한 저장 매체.
  18. 제 17 항에 있어서,
    상기 컴퓨팅 시스템에 의한 실행에 응답하여, 상기 보안 코프로세서 모듈이 하나 이상의 환경 인자를 획득하는 것과, 상기 보안 정책에 지정된 상기 환경 인자 엔트리와 상기 현재 하나 이상의 환경 인자에 따라서 상기 요청된 연산이 수용가능한지 판정하는 것을 가능하게 하는 인스트럭션을 더 포함하는
    머신 판독가능한 저장 매체.
  19. 제 18 항에 있어서,
    상기 하나 이상의 환경 인자는 상기 컴퓨팅 시스템의 온도, 가속도, 정전용량, 고도 및 방위 중 하나 이상을 포함하는 것인
    머신 판독가능한 저장 매체.
  20. 제 11 항에 있어서,
    상기 보안 코프로세서 모듈은 신뢰 플랫폼 모듈(TPM)을 포함하는 것인
    머신 판독가능한 저장 매체.
  21. 컴퓨팅 시스템의 보안 코프로세서 모듈에 있어서,
    상기 컴퓨팅 시스템이 현재 지리적 위치 또는 현재 신뢰 시간을 획득하는 성능을 제공한다는 판정에 응답하여 정상 모드 또는 강화 모드로 설정가능하도록 구성되는 보안 모드와,
    상기 컴퓨팅 시스템의 증가하는 보안성과 연관된 하나 이상의 엔트리를 수신하도록 구성되는 보안 정책을 포함하고,
    상기 보안 코프로세서 모듈은
    연산 실행 요청을 수신하고,
    상기 보안 모드가 상기 정상 모드로 설정될 때, 상기 컴퓨팅 시스템 환경의 머신 모드를 체킹하여 상기 머신 모드가 수용가능할 때 상기 요청된 연산을 실행하고,
    상기 보안 모드가 상기 강화 모드로 설정될 때, 상기 컴퓨팅 시스템의 현재 지리적 위치 및 상기 현재 신뢰 시간을 획득하며, 상기 보안 정책에 지정된 지리적 위치 속성 엔트리 및 신뢰 시간 속성 엔트리와, 상기 현재 지리적 위치와, 상기 현재 신뢰 시간에 따라, 상기 요청된 연산이 수용가능한지 판정하고, 상기 컴퓨팅 시스템의 머신 모드를 체킹하도록 구성되고,
    상기 요청된 연산 및 상기 머신 모드가 모두 수용가능할 때, 상기 요청된 연산을 실행하도록 구성되는
    보안 코프로세서 모듈.
  22. 제 21 항에 있어서,
    상기 보안 코프로세서 모듈은 상기 컴퓨팅 시스템이 상기 현재 지리적 위치를 획득하는 성능을 제공한다는 판정에 응답하여 상기 보안 정책에 지리적 위치에 대한 엔트리가 추가되는 것을 가능하게 하도록 더 구성되는
    보안 코프로세서 모듈.
  23. 제 21 항에 있어서,
    상기 보안 코프로세서 모듈은 상기 컴퓨팅 시스템이 상기 신뢰시간을 획득하는 성능을 제공한다는 판정에 응답하여 상기 보안 정책에 신뢰 시간에 대한 엔트리가 추가되는 것을 가능하게 하도록 더 구성되는
    보안 코프로세서 모듈.
  24. 제 21 항에 있어서,
    상기 보안 코프로세서 모듈은 상기 컴퓨팅 시스템이 하드웨어 판매사 문자열을 획득하는 성능을 제공한다는 판정에 응답하여 상기 보안 정책에 상기 하드웨어 판매사 문자열에 대한 엔트리가 추가되는 것을 가능하게 하도록 더 구성되는
    보안 코프로세서 모듈.
  25. 제 24 항에 있어서,
    상기 보안 코프로세서 모듈은 상기 하드웨어 판매사 문자열을 획득하고, 상기 보안 정책에 지정된 상기 하드웨어 판매사 문자열 엔트리와 상기 하드웨어 판매사 문자열에 따라서 상기 요청된 연산이 수용가능한지 판정하도록 더 구성되는
    보안 코프로세서 모듈.
  26. 제 25 항에 있어서,
    상기 하드웨어 판매사 문자열은 상기 컴퓨팅 시스템의 프로세서의 판매사를 식별하는 것인
    보안 코프로세서 모듈.
  27. 제 21 항에 있어서,
    상기 보안 코프로세서 모듈은 상기 컴퓨팅 시스템이 하나 이상의 환경 인자를 센싱하는 성능을 제공한다는 판정에 응답하여 상기 보안 정책에 환경 인자에 대한 엔트리가 추가되는 것을 가능하게 하도록 더 구성되는
    보안 코프로세서 모듈.
  28. 제 27 항에 있어서,
    상기 보안 코프로세서 모듈은 하나 이상의 환경 인자를 획득하고 상기 보안 정책에 지정된 상기 환경 인자 엔트리와 상기 현재 하나 이상의 환경 인자에 따라서 상기 요청된 연산이 수용가능한지 판정하도록 더 구성되는
    보안 코프로세서 모듈.
  29. 제 28 항에 있어서,
    상기 하나 이상의 환경 인자는 상기 컴퓨팅 시스템의 온도, 가속도, 정전용량, 고도 및 방위 중 하나 이상을 포함하는 것인
    보안 코프로세서 모듈.
  30. 제 21 항에 있어서,
    상기 보안 코프로세서 모듈은 신뢰 플랫폼 모듈(TPM)을 포함하는 것인
    보안 코프로세서 모듈.
  31. 제 21 항에 있어서,
    상기 보안 코프로세서 모듈은, 상기 요청된 연산 또는 상기 머신 모드가 수용가능하지 않을 때, 상기 컴퓨팅 시스템을 셧 다운(shut down)하도록 더 구성되는
    보안 코프로세서 모듈.
KR1020110060195A 2010-06-21 2011-06-21 보안 코프로세서 모듈의 n-ary 집약성을 위한 시스템 및 방법 KR101276409B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/819,933 US8479017B2 (en) 2010-06-21 2010-06-21 System and method for N-ary locality in a security co-processor
US12/819,933 2010-06-21

Publications (2)

Publication Number Publication Date
KR20110139145A KR20110139145A (ko) 2011-12-28
KR101276409B1 true KR101276409B1 (ko) 2013-07-31

Family

ID=44800914

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110060195A KR101276409B1 (ko) 2010-06-21 2011-06-21 보안 코프로세서 모듈의 n-ary 집약성을 위한 시스템 및 방법

Country Status (7)

Country Link
US (1) US8479017B2 (ko)
EP (1) EP2397959B1 (ko)
JP (1) JP5394441B2 (ko)
KR (1) KR101276409B1 (ko)
CN (1) CN102289612B (ko)
AU (1) AU2011271088B2 (ko)
WO (1) WO2011163263A2 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150324597A1 (en) * 2011-08-05 2015-11-12 Kpit Technologies Ltd. A system for protection of embedded software codes
US8694786B2 (en) * 2011-10-04 2014-04-08 International Business Machines Corporation Virtual machine images encryption using trusted computing group sealing
US20140013451A1 (en) * 2012-07-06 2014-01-09 Sap Ag Data obfuscation for open data (odata) communications
US20140122857A1 (en) * 2012-10-25 2014-05-01 Lenovo (Singapore) Pte, Ltd. Apparatus, system and method for motherboard personalization
WO2014178889A1 (en) * 2013-04-30 2014-11-06 Bao Liu Vlsi tamper detection and resistance
US20160132681A1 (en) * 2013-06-14 2016-05-12 Nec Europe Ltd. Method for performing a secure boot of a computing system and computing system
US10223363B2 (en) * 2014-10-30 2019-03-05 Microsoft Technology Licensing, Llc Access control based on operation expiry data
US10740494B2 (en) * 2017-09-06 2020-08-11 Google Llc Central and delegate security processors for a computing device
US10984123B2 (en) * 2018-12-10 2021-04-20 International Business Machines Corporation On-line transmission and control of geographic declaration data
TWI756156B (zh) * 2019-04-07 2022-02-21 新唐科技股份有限公司 監控系統開機之安全裝置及其方法
US11113188B2 (en) 2019-08-21 2021-09-07 Microsoft Technology Licensing, Llc Data preservation using memory aperture flush order
US11165588B1 (en) * 2020-04-09 2021-11-02 International Business Machines Corporation Key attribute verification
CN111625846B (zh) * 2020-04-24 2023-08-29 公安部第一研究所 一种移动终端设备的系统状态记录方法
US11295000B1 (en) * 2020-09-28 2022-04-05 Xilinx, Inc. Static configuration of accelerator card security modes

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020097681A1 (en) * 2001-01-25 2002-07-25 Bijan Treister Approach for managing communications channels based on performance
US20070240197A1 (en) * 2006-03-30 2007-10-11 Uri Blumenthal Platform posture and policy information exchange method and apparatus
US20080182592A1 (en) * 2007-01-26 2008-07-31 Interdigital Technology Corporation Method and apparatus for securing location information and access control using the location information

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6937135B2 (en) 2001-05-30 2005-08-30 Hewlett-Packard Development Company, L.P. Face and environment sensing watch
GB2376765B (en) 2001-06-19 2004-12-29 Hewlett Packard Co Multiple trusted computing environments with verifiable environment identities
US7480806B2 (en) * 2002-02-22 2009-01-20 Intel Corporation Multi-token seal and unseal
US8689000B2 (en) 2003-05-21 2014-04-01 Hewlett-Packard Development Company, L.P. Use of certified secrets in communication
US20050108171A1 (en) * 2003-11-19 2005-05-19 Bajikar Sundeep M. Method and apparatus for implementing subscriber identity module (SIM) capabilities in an open platform
US20050133582A1 (en) 2003-12-22 2005-06-23 Bajikar Sundeep M. Method and apparatus for providing a trusted time stamp in an open platform
JP2006127293A (ja) * 2004-10-29 2006-05-18 Toshiba Corp 情報処理装置および動作制御方法
GB2422453A (en) 2005-01-22 2006-07-26 Hewlett Packard Development Co Dynamically allocating resources according to a privacy policy
RU2448423C2 (ru) * 2006-03-03 2012-04-20 Конинклейке Филипс Электроникс Н.В. Сообщение о свободном канале и поддержка потерявших сеть узлов в беспроводной сети
US8261072B2 (en) 2006-03-24 2012-09-04 Atmel Corporation Method and system for secure external TPM password generation and use
KR101468282B1 (ko) * 2006-05-09 2014-12-02 인터디지탈 테크날러지 코포레이션 무선 장치에 대한 안전 시간 기능
US8064605B2 (en) 2007-09-27 2011-11-22 Intel Corporation Methods and apparatus for providing upgradeable key bindings for trusted platform modules
JP5085287B2 (ja) * 2007-11-21 2012-11-28 株式会社リコー 情報処理装置、正当性検証方法および正当性検証プログラム
JP5212718B2 (ja) * 2008-10-30 2013-06-19 大日本印刷株式会社 プラットフォームの完全性検証システム及び方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020097681A1 (en) * 2001-01-25 2002-07-25 Bijan Treister Approach for managing communications channels based on performance
US20070240197A1 (en) * 2006-03-30 2007-10-11 Uri Blumenthal Platform posture and policy information exchange method and apparatus
US20080182592A1 (en) * 2007-01-26 2008-07-31 Interdigital Technology Corporation Method and apparatus for securing location information and access control using the location information

Also Published As

Publication number Publication date
JP5394441B2 (ja) 2014-01-22
EP2397959B1 (en) 2017-11-08
CN102289612A (zh) 2011-12-21
JP2012003772A (ja) 2012-01-05
EP2397959A1 (en) 2011-12-21
WO2011163263A2 (en) 2011-12-29
AU2011271088A1 (en) 2012-12-06
CN102289612B (zh) 2015-08-19
US8479017B2 (en) 2013-07-02
KR20110139145A (ko) 2011-12-28
WO2011163263A3 (en) 2012-02-23
AU2011271088B2 (en) 2013-11-07
US20110314298A1 (en) 2011-12-22

Similar Documents

Publication Publication Date Title
KR101276409B1 (ko) 보안 코프로세서 모듈의 n-ary 집약성을 위한 시스템 및 방법
KR101662618B1 (ko) 단일 신뢰 플랫폼 모듈을 가진 플랫폼 컴포넌트의 측정
CN107679393B (zh) 基于可信执行环境的Android完整性验证方法和装置
US7917762B2 (en) Secure execution environment by preventing execution of unauthorized boot loaders
US7653819B2 (en) Scalable paging of platform configuration registers
US8667263B2 (en) System and method for measuring staleness of attestation during booting between a first and second device by generating a first and second time and calculating a difference between the first and second time to measure the staleness
US8832461B2 (en) Trusted sensors
Ling et al. Secure boot, trusted boot and remote attestation for ARM TrustZone-based IoT Nodes
US20130061056A1 (en) Extending an integrity measurement
CN103270518A (zh) 虚拟机验证
Shepherd et al. LIRA-V: Lightweight remote attestation for constrained RISC-V devices
US20200042675A1 (en) Hardware based identities for software modules
CN112511306A (zh) 一种基于混合信任模型的安全运行环境构建方法
Gallery et al. Trusted computing: Security and applications
Sailer et al. The role of TPM in enterprise security
CN117610083A (zh) 文件校验方法、装置、电子设备及计算机存储介质
US20230342446A1 (en) Management controller-based verification of platform certificates
Crone Towards attack-tolerant trusted execution environments: Secure remote attestation in the presence of side channels
Futral et al. Fundamental principles of intel® txt
Akram et al. An introduction to the trusted platform module and mobile trusted module
CN111625846A (zh) 一种移动终端设备及系统状态记录方法
US12019752B2 (en) Security dominion of computing device
Shepherd Techniques for Establishing Trust in Modern Constrained Sensing Platforms with Trusted Execution Environments
CN117556418A (zh) 一种确定内核状态的方法和相关设备
Kepa et al. SeReCon: A trusted environment for SoPC design

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160527

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170601

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180529

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190530

Year of fee payment: 7