KR101160391B1 - 토큰 이용 가능한 컴퓨터 시스템을 평가하는 메카니즘 - Google Patents

토큰 이용 가능한 컴퓨터 시스템을 평가하는 메카니즘 Download PDF

Info

Publication number
KR101160391B1
KR101160391B1 KR1020077030867A KR20077030867A KR101160391B1 KR 101160391 B1 KR101160391 B1 KR 101160391B1 KR 1020077030867 A KR1020077030867 A KR 1020077030867A KR 20077030867 A KR20077030867 A KR 20077030867A KR 101160391 B1 KR101160391 B1 KR 101160391B1
Authority
KR
South Korea
Prior art keywords
token
operating environment
integrity
portable
trusted operating
Prior art date
Application number
KR1020077030867A
Other languages
English (en)
Other versions
KR20080018220A (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 KR20080018220A publication Critical patent/KR20080018220A/ko
Application granted granted Critical
Publication of KR101160391B1 publication Critical patent/KR101160391B1/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
    • 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/2105Dual mode as a secondary aspect
    • 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/2153Using hardware token as a secondary aspect

Landscapes

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

Abstract

일 실시예에 따라, 컴퓨터 시스템이 개시된다. 컴퓨터 시스템은 신뢰 환경을 운영하는 중앙 처리 유닛(CPU), CPU의 신뢰 마이크로코드(microcode)에 의해 초기화된 커맨드들에 의해 기록 가능한 보호된 레지스터들을 갖는 칩셋, 칩셋에 연결되어 신뢰 운영 환경을 생성하고 유지하는 것과 관련된 데이터를 보호하기 위한 고정(fixed) 토큰 및 칩셋에 연결되어 신뢰 운영 환경의 무결성(integrity)을 검증하기 위한 휴대용(portable) 토큰을 포함한다.
고정 토큰, 휴대용 토큰, 컴퓨터 시스템, 신뢰 환경

Description

토큰 이용 가능한 컴퓨터 시스템을 평가하는 메카니즘{MECHANISM TO EVALUATE A TOKEN ENABLED COMPUTER SYSTEM}
본 발명은 컴퓨터 시스템들에 관한 것으로, 보다 구체적으로는, 본 발명은 신뢰(trusted) 또는 보안(secured) 환경에서 운영할 수 있는 컴퓨터 시스템들에 관한 것이다.
지역 또는 원격 마이크로컴퓨터들 상에서 수행되는 금융(financial) 및 개인 트랜잭션(personal transaction)의 증가하는 수는 "신뢰(trusted)" 또는 "보안(secured)" 마이크로프로세서 환경들의 수립(establishment)에 대한 자극(impetus)을 준다. 이러한 환경들이 해결하기 위해 노력하는 문제는 프라이버시(privacy) 상실(loss), 또는 데이터가 손상되거나(corrupted) 악용되는(abused) 것이다. 사용자들은 그들의 프라이버시 데이터가 공개되기를 원하지 않는다. 그들은 부적절한 트랜잭션들로 그들의 데이터가 변경(alter)되거나 이용되는 것을 원하지도 않는다. 이러한 예들은 병적(medical) 기록들의 고의가 아닌(unintentional) 공개(release) 또는 온라인 은행 혹은 다른 수탁소(depository)로부터의 자금(funds)의 전자 절도를 포함한다. 유사하게, 컨텐트(content) 제공자들은 인가(authorization)없이 복사되는 것으로부터 디지털 컨텐트(예를 들어, 음악, 다른 오디오, 비디오 또는 다른 종류의 일반적인 데이터)를 보호하려고 추구한다.
신뢰 환경들은 신뢰의 근원(root-of-trust)을 위한 고정된 물리적 토큰(예를 들어, 신뢰 플랫폼 모듈(trusted platform module) 또는 TPM) 뿐만 아니라, 신뢰 실행 파티션들에서 동작(running)하는 운영 시스템 및 어플리케이션들에 대한 하드웨어-기반의 암호(cryptographic) 서비스들을 포함한다. 그러나, 그러한 신뢰 플랫폼들의 예상된 편재(ubiquity)와 함께, 플랫폼의 사용자/소유자로 하여금 그 플랫폼이 실제 신뢰되는 것을 검증(verify)하도록 하는 메카니즘이 현재 없다.
본 발명은 첨부 도면들에 한정하는 것이 아니라 예로서 도시되며, 여기서 유사한 참조번호들은 유사한 구성요소(element)를 나타낸다.
도 1은 컴퓨터 시스템의 일 실시예의 블록도(block diagram)이다.
도 2는 중앙 처리 유닛의 일 실시예를 도시한다.
도 3은 신뢰 또는 보안 소프트웨어 환경의 일 실시예의 도(diagram)이다.
도 4는 고정 토큰의 평가를 수행하기 위한 일 실시예의 흐름도이다.
도 5는 고정 토큰의 평가를 수행하기 위한 일 실시예의 이벤트 도(event diagram)이다.
신뢰 컴퓨터 시스템에서 물리적(또는 고정) 토큰을 평가하는 메카니즘이 설명된다. 일 실시예에 따라, 고정 토큰이 식별된다(identified). 다음으로, 사용 자가 인증되고, 컴퓨터 시스템의 신뢰가치(trustworthiness)가 검증된다. 마지막으로, 컴퓨터 시스템이 평가를 성공했는지 실패했는지 여부의 표시(indication)가 제공된다.
본 발명의 다음의 상세 설명에서, 본 발명의 완전한 이해를 제공하기 위해 다수의 특정 상세들이 설명된다. 그러나, 본 발명이 이러한 특정 상세들 없이 실행될 수도 있다는 것은 본 기술 분야의 당업자들에게 명백할 것이다. 다른 예들에서, 본 발명을 모호하게 하는 것을 피하기 위해, 잘 알려진 구조들 및 장치들을 상세하게 보다는, 블록도 형태로 나타낸다.
명세서(specification)에서의 "일 실시예" 또는 "실시예"는 실시예와 관련하여 설명된 특정 특징, 구조, 또는 특성이 발명의 적어도 일 실시예에 포함된다는 것을 의미한다. 명세서의 다양한 곳(various place)들에서의 "일 실시예에서" 라는 구문의 출현(appearance)은 모두 동일 실시예를 지칭할 필요는 없다.
도 1은 컴퓨터 시스템(100)의 일 실시예의 블록도이다. 컴퓨터 시스템(100)은 버스(105)에 연결된 중앙 처리 유닛(CPU, 102)을 포함한다. 일 실시예에서, CPU(102)는 캘리포니아 산타클라라의 인텔사(Intel Corporation)로부터 이용가능한 Pentium®Ⅱ 프로세서 패밀리, Pentium®Ⅲ 프로세서들, 및 Pentium®Ⅳ 프로세서들을 포함하는 프로세서의 Pentium® 패밀리의 프로세서이다. 선택적으로, 다른 CPU들이 이용될 수 있다.
일 실시예에 따라, CPU(102)는 보안 또는 신뢰 운영들(operations)을 지원하는 회로들 또는 로직 구성요소들을 포함한다. 예를 들어, CPU(102)는 신뢰 운영들 을 초기화할 수 있는 특별 SENTER 명령어들(instructions)의 실행을 지원하기 위한, 나타내지 않은, 보안 시작(secure enter)(SENTER) 로직을 포함할 수 있고, 이는 컴퓨터 시스템(100) 내의 보안 리소스(secure resource)들을 액세스하는 비신뢰(untrusted) 코드와의 잠재적인 대립(hostile) 가능성을 줄일 수 있다.
부가적으로, CPU(102)는 보안 운영들을 지원하기 위한 보안 메모리를 포함할 수 있다. 도 2는 CPU(102)의 일 실시예를 도시하는 블록도이다. CPU(102)는 캐시 메모리(캐시, 220), 내장 키(230), 및 페이지 테이블(page table, PT) 레지스터들(240)을 포함한다. 캐시(220)의 전체 또는 부분은 사적 메모리(private memory, PM)(225)로 전환되거나 포함할 수 있다. 일 실시예에 따라, 사적 메모리(225)는 사적 메모리로서 활동되는 동안 임의의 비인가된 장치(예를 들어, 연관된 CPU(102) 이외의 임의의 장치)에 의해 액세스하는 것을 방지하기에 충분한 보호(protection)들을 갖는 메모리이다.
도시된 실시예에서, 캐시(220)는 사적 메모리로서 선택적인 분리(isolation)를 허여(permit)하는 다양한 특징들을 가질 수 있다. 나타내지 않은 다른 실시예에서, 프라이버시 메모리(225)는 캐시 메모리(220)의 외부(external)에 분리(separate)되지만, CPU(102)와는 연관될 수 있다. 키(230)는 데이터 및/또는 코드의 다양한 블록들의 암호화(encryption), 복호화(decryption), 및/또는 유효화(validation)를 위해 이용되는 내장된 키일 수 있다. PT 레지스터들(240)은 보호된 코드에 의해서만 액세스 가능하게 되는 메모리 페이지들을 식별하기 위해 레지스터들의 형태로 된 테이블일 수 있고, 이러한 메모리 페이지들은 보호되지 않는 다.
도 1로 되돌아가 참조하면, 칩셋(107)은 버스(105)에도 연결된다. 칩셋(107)은 메모리 제어 허브(memory control hub, MCH)(110)를 포함한다. MCH(110)는 주 시스템 메모리(115)에 연결된 메모리 제어기(112)를 포함할 수 있다. 주 시스템 메모리(115)는 CPU(102) 또는 시스템(100)에 포함된 임의의 다른 장치에 의해 실행되는 명령어들의 데이터 및 시퀀스들을 저장한다. 일 실시예에서, 주 시스템 메모리(115)는 DRAM(dynamic random access memory)를 포함한다; 그러나, 주 메모리 시스템(115)은 다른 메모리 타입들을 이용하여 구현될 수 있다. 다중 CPUs 및/또는 다중 시스템 메모리들과 같은, 부가적인 장치들이 버스(105)에 연결될 수도 있다.
메모리(115)는 메모리(115)에서 (인접하여 어드레스 가능한 메모리 장소들의 범위인) 메모리 블록들이 DMA(direct memory access) 전송(transfer)들에 액세스 불가능한 것을 정의하는 보호된 메모리 테이블을 포함할 수 있다. 메모리(115)로의 모든 액세스는 MCH(110)을 통해 가기 때문에, MCH(110)는 임의의 DMA 전송이 발생하는 것을 허여하기 전에 보호된 메모리 테이블을 체크(check)할 수 있다. 구체적인 실시예에서, MCH(110)는 보호된 메모리 테이블(320)로의 필요한 액세스의 수를 감소시키는 캐싱 기술들을 이용할 수 있다.
일 실시예에 따라, MCH(110)는 다양한 암호화, 복호화 및/또는 유효화 프로세스들에 이용되는 키(116), 보호된 레지스터들(120) 및 보호된 메모리 테이블(125)를 포함한다. 일 실시예에서, 보호된 메모리 테이블(125)은 MCH(110)에서 보호된 메모리 테이블(125)로서 구현되고, 메모리(115)의 보호된 메모리 테이블은 제거될 수 있다.
다른 실시예에서, 보호된 메모리 테이블(125)은 이미 설명된 바와 같이, 메모리(115)의 보호된 메모리 테이블로서 구현되고, 보호된 메모리 테이블(125)은 제거될 수 있다. 보호된 메모리 테이블은 나타내지 않은 다른 방법들로 구현될 수도 있다. 물리적 장소에 관계없이, 보호된 메모리 테이블의 목적 및 기본 운영은 설명된 바와 실질적으로 같을 수 있다.
일 실시예에서, 보호된 레지스터들(120)은 CPU(102)에서 신뢰 마이크로코드에 의해서만 초기화될 수 있는 커맨드들에 의해 기록가능한 레지스터들이다. 보호된 마이크로코드는 인가된 명령어(들) 및/또는 비인가된 장치들에 의해 제어할 수 없는 하드웨어에 의해 그 실행이 초기화될 수 있는 마이크로코드이다.
일 실시예에서, 보호된 레지스터(120)들은 보호된 메모리 테이블의 이용을 가능하게 하거나 불가능하게 하는 레지스터를 포함한다. 보호된 레지스터들(120)은 보호된 메모리 테이블의 장소를 식별하는 기록가능한 레지스터를 포함할 수도 있어, 그 장소는 MCH(110)내에 설치될(hardwired) 필요는 없다.
MCH(110)은 허브 인터페이스(hub interface)를 통해 입력/출력 제어 허브(ICH)(140)에 연결된다. ICH(140)는 컴퓨터 시스템(100) 내의 입력/출력(I/O) 장치들에 인터페이스를 제공한다. ICH(140)는 PCI(peripheral component interconnect), AGP(accelerated graphics port), USB(universal serial bus), LPC(low pin count) 버스, 또는 (나타내지 않은) 임의의 다른 종류의 I/O 버스와 같은, I/O 버스들 상의 표준 I/O 운영들을 지원할 수 있다. 일 실시예에 따라, ICH는 판독기(150)에 연결된다. 일 실시예에서, 판독기(150)는 판독기에 저장된 휴대용 토큰(portable token)을 갖는 스마트카드들과 인터페이스하도록 (또는 스마트카드들을 판독하도록) 구현되는 스마트카드 판독기이다. 휴대용 토큰의 구현은 아래에 상세 설명될 것이다.
인터페이스는 칩셋(107)을 물리적 토큰(130)과 연결하는데 이용될 수 있다. 물리적 토큰(130)은 보호된 운영 환경을 생성하고 유지하는 것과 관련된 데이터를 보호하는 회로일 수 있다. 구체적인 실시예에서, 물리적 토큰(130)은 특정 암호화, 복호화 및/또는 유효화 프로세스들을 위해 이용되는 내장된 키일 수 있는, (나타내지 않은) 키를 포함한다.
물리적 토큰(130)은 요약값(digest value)을 유지(hold)하기 위해 이용되는 저장 공간 및 보호된 운영 환경에서 이용되는 다른 정보를 포함할 수도 있다. 일 실시예에서, 물리적 토큰(130)의 저장 공간은 물리적 토큰에서의 전력 손실(loss)의 경우에 그 컨텐트들을 유지(retain)하는 비-휘발성 메모리(예를 들어, 플레쉬 메모리)를 포함할 수 있다.
보안 가상 머신 모니터(130) 모듈은 시스템 디스크 또는 다른 집합(mass) 저장소(storage)에 저장될 수 있고, 필요에 따라 다른 장소들로 이동되거나 복사될 수 있다. 일 실시예에서, 보안 착수(launch) 프로세스를 시작하기 전에 모니터(160)는 메모리(115)에서 하나 이상의 메모리 페이지들로 이동되거나 복사될 수 있다. 보안 시작 프로세스에 따라, 모니터(160)가 시스템 내의 최상의 특권(the most privileged) 코드로서 운영할 수 있는 가상 머신 환경을 생성할 수 있고, 생성된 가상 머신들 내의 운영 시스템 또는 어플리케이션들에 의해 소정의 시스템 리소스들을 직접 액세스하도록 허여하거나 못하게 하는데 이용될 수 있다.
일단, 실행 제어(execution control)가 모니터(160)로 전송되면, 컴퓨터 시스템(100)은 신뢰 또는 보안 소프트웨어 환경(또는 플랫폼)을 시작한다. 도 3은 신뢰 또는 보안 플랫폼(300)의 일 실시예를 도시한다. 도 3 실시예에서, 신뢰 및 비신뢰 소프트웨어가 동시에 로드될 수 있고, 단일 컴퓨터 시스템을 동시에 실행할 수 있다. 모니터(160)는 하나 이상의 비신뢰 운영 시스템들(340) 및 비신뢰 어플리케이션들(310)로부터 하드웨어 리소스들(390)로의 직접 액세스를 선택적으로 허여하거나 방해한다.
이러한 맥락에서, "비신뢰"는 운영 시스템 또는 어플리케이션들이 의도적으로 오작동(misbehaving)하는 것을 반드시 의미하는 것은 아니지만, 상호작용 코드(interacting code)의 크기(size) 및 다양성(variety)은, 소프트웨어가 원하는바 대로 작동하고, 소프트웨어의 실행과 인터페이싱하는 바이러스들 또는 다른 외부(foreign) 코드가 존재하지 않는다고 확실하게 주장(assert)하는 것을 실행불가능하도록(impractical) 만든다. 전형적인 실시예에서, 비신뢰 코드는 오늘날의 개인 컴퓨터들에서 찾아지는 정규(normal) 운영 시스템 및 어플리케이션들을 포함할 수 있다.
모니터(160)는 하나 이상의 신뢰 또는 보안 커널들(kernels, 360) 및 하나 이상의 신뢰 어플리케이션들(370)으로부터 하드웨어 리소스들(380)로의 직접 액세 스를 선택적으로 허여할 수도 또는 방해할 수도 있다. 그러한 신뢰 또는 보안 커널(360) 및 신뢰 어플리케이션들(370)은 신뢰 분석(trust analysis)을 수행하는 능력을 보조(aid)하는 크기 및 기능성으로 제한될 수 있다. 신뢰 어플레케이션(370)은 보안 환경에서 실행할 수 있는, 임의의 소프트웨어 코드, 프로그램, 루틴(routine), 또는 루틴들의 세트일 수 있다. 따라서, 신뢰 어플리케이션(370)은 다양한 어플리케이션들, 또는 코드 시퀀스들일 수 있고, 또는 자바 애플릿(java applet)과 같은 상대적으로 작은 어플리케이션일 수 있다.
시스템 리소스 보호들(protections) 또는 특권들(privileges)을 변경(alter)할 수 있는 운영 시스템(340) 또는 커널(360)에 의해 보통 수행되는 명령어들 또는 운영들은 모니터(160)에 의해 트랩되고, 선택적으로 허여되며, 부분적으로 허여되거나 거절될 수 있다. 예로서, 전형적인 실시예에서, 운영 시스템(340) 또는 커널(360)에 의해 보통 수행되는 CPU(102) 페이지 테이블을 변화(change)시키는 명령어들은, 모니터(160)에 의해 대신 트랩될 수 있고, 이는 그 가상 머신의 도메인 이외의(outside) 페이지 특권들을 변화시키는 요청(request)을 시도하지 않았다는 것을 보장(ensure)할 수 있다.
도 3에 나타낸 바와 같이, 휴대용 토큰(390)이 있다. 일 실시예에서, 휴대용 토큰(390)은 컴퓨터 시스템(100)이 신뢰 시스템인지 여부를 사용자가 검증할 수 있게 하기 위해서, 스마트 카드 판독기(150)에 삽입될 수 있는 스마트 카드 내에 포함된 크리덴셜(credential) 토큰이다. 다른 실시예에서, 휴대용 토큰(390)은 사용자에게 컴퓨터 시스템(100)을 공급하는 실체(entity)와 제휴된(affiliated) 정보 기술(information technology, IT) 부서(department)에 의해 제공된다.
도 4는 고정 토큰(130)의 평가를 수행하는 휴대용 토큰(390)을 구현하기 위한 일 실시예의 흐름도이다. 프로세싱 블록(410)에서, 고정 토큰 식별 프로세스가 발생한다. 이 프로세스는 고정 토큰(130)을 식별함으로써 고정 토큰(130)의 인증성(authenticity)을 체크하는 휴대용 토큰(390)을 포함한다.
일 실시예에서, 이 식별은 IT 관리자가 휴대용 토큰(390) 및 고정 토큰(130) 둘 다를 공급하는 공유 비밀(shared secret)에 기초될 수 있다. 다른 실시예에서, 식별은 고정 토큰(130)의 공개키(public key)를 갖는 휴대용 토큰(390)에 의해 이루어질 수도 있다. 도 5는 고정 토큰의 평가를 수행하기 위해 보다 상세한 시퀀스를 도시하는 이벤트 도이다.
도 5를 참조하여, 고정 토큰 식별 프로세스가 t1-t4의 시간에 수행된다. 우선, 사용자가 t1에서, 스마트카드 판독기(150)를 통해 컴퓨터 시스템(100)으로 휴대용 토큰(390)을 삽입한다. t2에서, 고정 토큰(130)의 인증 여부가 결정된다. t3에서, 고정 토큰(130) 인증성(authenticity)이 검증된다. t4에서, 고정 토큰(130)이 인증된 것으로 결정된다.
도 4로 되돌아가 참조하여, 인증 세션(authentication session)은 프로세싱 블록(420)에서 초기화된다. 유효 토큰으로서의 고정 토큰(130)의 성공적인 식별에 따라, 휴대용 토큰(390)은 고정 토큰(130)으로 인증 세션을 초기화한다. 패스-구문(pass-phrase)이 이 인증을 위해 이용될 수 있다. 일 실시예에 따라, 그러한 패스-구문은 휴대용 토큰(390)에 미리-저장된다.
도 5로 되돌아가 참조하여, 세션이 t5에서 초기화되고, 사용자 인증이 t6에서 체크되며, 사용자가 t7에서 인증되는, t5-t7 시간에 인증 세션이 수행된다. 인증이 성공하면, 프로세싱 블록(430)에서(도 4) 휴대용 토큰(390)은 컴퓨터 시스템(100)의 상태의 정의된 무결성 측정들을 이용하여 컴퓨터 시스템(100)의 신뢰가치(trustworthiness)를 체크한다.
휴대용 토큰(390)이 포함하는, 컴퓨터 시스템(100) 무결성 측정들에 기초하여, 토큰(390)은 플랫폼의 신뢰가치를 판단(judge)할 것이다. 일 실시예에서, 휴대용 토큰(390)은 특정 플랫폼 구성 레지스터(Platform Configuration Register(PCR)) 값들을 템퍼프루프(tamperproof) 무결성 컨테이너(integrity container)에 저장된 값들과 비교할 것이다.
도 5로 되돌아가 참조하면, 무결성/신뢰가치 프로세스가 t8-t10의 시간에 실행된다. t8에서, 토큰(390)은 시스템(100)의 신뢰가치를 체크한다. t2에서의 무결성 측정들이 t9에서 검색(retrieve)되어, t10에서 토큰(390)으로 전달(forward)된다. 도 4로 되돌아가 참조하여, 프로세싱 블록(440)에서 휴대용 토큰(390)은 컴퓨터 시스템(100) 챌린지(challenge) 세션, 성공 또는 실패를 디스플레이할 수 있다. 이 프로세스는 도 5에서 시간 t11 및 t12에 도시되고, 여기서 휴대용 토큰(390)이 무결성 측정들을 검증하고, 검증(verification)이 완료되었는지 및 성공적인지 여부를 나타낸다. 일 실시예에서, 휴대용 토큰(390)은 검증 결과를 나타내는 디스플레이를 포함한다. 디스플레이는 LED 또는 작은 LCD 스크린일 수 있다.
상술된 메카니즘은 신뢰 시스템의 신뢰가치를 향상시키기 위해 스마트카드(예를 들어, 휴대용 토큰) 및 (TPM과 같은) 고정 토큰이 서로 보완하도록 한다. 휴대용 토큰과 고정 토큰 사이의 협력(cooperation)은 플랫폼을 이용하기 전에 플랫폼의 사용자/소유자가 그 플랫폼의 무결성 및 신뢰가치를 체크하도록 한다.
본 발명의 많은 변경(alteration)들 및 수정(modification)들은 이전 설명을 읽은 후의 본 기술 분야의 통상의 당업자에게 명백하다는 것은 의심의 여지가 없지만, 도시의 방법으로 나타내고 설명된 임의의 특정 실시예가 제한(limiting)을 고려하도록 의도되지 않는다는 것은 이해되어야 한다. 따라서, 다양한 실시예들의 상세들의 참조들은 본 발명에 필수적인 것으로 간주되는 그러한 특징들만을 열거(recite)하는 본 특허청구범위의 범위를 제한하도록 의도되지 않는다.

Claims (20)

  1. 신뢰 운영 환경(trusted operating environment)을 운영하는 중앙 처리 유닛(central processing unit, CPU);
    상기 CPU의 신뢰 마이크로코드에 의해 초기화된 커맨드들에 의해 기록가능한 보호 레지스터(protected register)들을 갖는 칩셋;
    상기 칩셋에 연결되어, 상기 신뢰 운영 환경을 생성하고 유지하는 것과 관련된 데이터를 보호하는 고정 토큰(fixed token); 및
    상기 칩셋에 연결되어, 상기 고정 토큰으로부터의 플랫폼 구성 레지스터(Platform Configuration Register(PCR)) 값들을 휴대용 토큰(portable token) 내의 템퍼프루프(tamperproof) 무결성 컨테이너(integrity container)에 저장된 값들과 비교함으로써, 상기 신뢰 운영 환경의 무결성 및 상기 고정 토큰의 인증성(authenticity)을 검증(verify)하는 휴대용 토큰
    을 포함하는 컴퓨터 시스템.
  2. 제1항에 있어서,
    상기 휴대용 토큰은 상기 고정 토큰의 동일성(identity)을 더 검증하는 컴퓨터 시스템.
  3. 제2항에 있어서,
    상기 휴대용 토큰은 상기 신뢰 운영 환경의 사용자의 인증성을 검증하는 컴퓨터 시스템.
  4. 제3항에 있어서,
    상기 휴대용 토큰은 상기 신뢰 운영 환경으로부터의 무결성 측정들을 검색함으로써(retrieving) 상기 신뢰 운영 환경의 무결성을 검증하는 컴퓨터 시스템.
  5. 제1항에 있어서,
    상기 휴대용 토큰은 스마트카드인 컴퓨터 시스템.
  6. 제5항에 있어서,
    상기 칩셋에 연결되어, 상기 스마트카드를 판독하는 인터페이스를 더 포함하는 컴퓨터 시스템.
  7. 제5항에 있어서,
    상기 휴대용 토큰은 상기 무결성 검증의 결과를 나타내는 디스플레이를 포함하는 컴퓨터 시스템.
  8. 휴대용 토큰에 의해 수행되는, 컴퓨터 시스템을 검증하기 위한 방법으로서,
    신뢰 운영 환경 내의 고정 토큰을 식별하는 단계;
    상기 고정 토큰의 인증성을 검증하는 단계;
    상기 신뢰 운영 환경의 사용자의 인증성을 검증하는 단계; 및
    상기 고정 토큰으로부터의 플랫폼 구성 레지스터(PCR) 값들을 상기 휴대용 토큰 내의 템퍼프루프 무결성 컨테이너에 저장된 값들과 비교함으로써, 상기 신뢰 운영 환경의 무결성을 검증하는 단계
    를 포함하는 방법.
  9. 제8항에 있어서,
    상기 고정 토큰을 식별하는 단계는 상기 고정 토큰의 인증성을 검증하는 단계를 포함하는 방법.
  10. 제8항에 있어서,
    상기 신뢰 운영 환경의 무결성을 검증하는 단계는 상기 휴대용 토큰에 저장된 제1 세트 값들을 상기 고정 토큰으로부터 수신된 제2 세트 값들과 비교하는 단계를 포함하는 방법.
  11. 제10항에 있어서,
    상기 신뢰 운영 환경이 검증되었는지 여부를 나타내는 표시(indication)를 디스플레이하는 단계를 더 포함하는 방법.
  12. 고정 토큰으로부터의 플랫폼 구성 레지스터(PCR) 값들을 휴대용 토큰 내의 템퍼프루프 무결성 컨테이너에 저장된 값들과 비교함으로써, 신뢰 컴퓨터 시스템 플랫폼의 무결성 및 상기 고정 토큰의 인증성을 검증하는 휴대용 토큰을 포함하는 스마트카드.
  13. 제12항에 있어서,
    상기 휴대용 토큰은 상기 고정 토큰의 동일성을 더 검증하는 스마트카드.
  14. 제13항에 있어서,
    상기 휴대용 토큰은 신뢰 운영 환경의 사용자의 인증성을 검증하는 스마트카드.
  15. 제14항에 있어서,
    상기 휴대용 토큰은 상기 신뢰 운영 환경으로부터의 무결성 측정들을 검색함으로써 상기 신뢰 운영 환경의 무결성을 검증하는 스마트카드.
  16. 제12항에 있어서,
    상기 무결성 검증 결과들을 나타내는 디스플레이를 더 포함하는 스마트카드.
  17. 명령어들의 프로그램을 내포하는 하나 이상의 컴퓨터 판독 가능한 매체를 포함하는 제품으로서,
    상기 명령어들의 프로그램은, 프로세싱 유닛에 의해 실행될 때,
    휴대용 토큰으로 하여금 신뢰 운영 환경 내의 고정 토큰을 식별하도록 하고;
    상기 휴대용 토큰으로 하여금 상기 고정 토큰의 인증성을 검증하도록 하고;
    상기 신뢰 운영 환경의 사용자의 인증성을 검증하도록 하고;
    상기 고정 토큰으로부터의 플랫폼 구성 레지스터(PCR) 값들을 상기 휴대용 토큰 내의 템퍼프루프 무결성 컨테이너에 저장된 값들과 비교함으로써, 상기 신뢰 운영 환경의 무결성을 검증하도록 하는
    제품.
  18. 제17항에 있어서,
    상기 고정 토큰을 식별하는 것은 상기 고정 토큰의 인증성을 검증하는 것을 포함하는 제품.
  19. 제17항에 있어서,
    상기 신뢰 운영 환경의 무결성을 검증하는 것은 상기 휴대용 토큰에 저장된 제1 세트 값들을 상기 고정 토큰으로부터 수신된 제2 세트 값들과 비교하는 것을 포함하는 제품.
  20. 제17항에 있어서,
    상기 명령어들의 프로그램은, 프로세싱 유닛에 의해 실행될 때, 또한 상기 휴대용 토큰으로 하여금 상기 신뢰 운영 환경이 검증되었는지 여부를 나타내는 표시를 디스플레이하도록 하는 제품.
KR1020077030867A 2005-06-28 2006-06-28 토큰 이용 가능한 컴퓨터 시스템을 평가하는 메카니즘 KR101160391B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/168,204 2005-06-28
US11/168,204 US20060294380A1 (en) 2005-06-28 2005-06-28 Mechanism to evaluate a token enabled computer system
PCT/US2006/026215 WO2007002954A2 (en) 2005-06-28 2006-06-28 Mechanism to evaluate a token enabled computer system

Publications (2)

Publication Number Publication Date
KR20080018220A KR20080018220A (ko) 2008-02-27
KR101160391B1 true KR101160391B1 (ko) 2012-07-09

Family

ID=37309809

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077030867A KR101160391B1 (ko) 2005-06-28 2006-06-28 토큰 이용 가능한 컴퓨터 시스템을 평가하는 메카니즘

Country Status (6)

Country Link
US (1) US20060294380A1 (ko)
EP (1) EP1897021A2 (ko)
JP (1) JP2008546122A (ko)
KR (1) KR101160391B1 (ko)
CN (1) CN101213556B (ko)
WO (1) WO2007002954A2 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2008207334A1 (en) * 2007-01-18 2008-07-24 Michael Joseph Knight Interaction process
JP4998019B2 (ja) * 2007-03-06 2012-08-15 富士通株式会社 状態表示制御装置
US8516564B2 (en) * 2008-07-18 2013-08-20 International Business Machines Corporation Secure user interaction using virtualization
US9805196B2 (en) * 2009-02-27 2017-10-31 Microsoft Technology Licensing, Llc Trusted entity based anti-cheating mechanism
US8544092B2 (en) * 2009-03-12 2013-09-24 International Business Machines Corporation Integrity verification using a peripheral device
US8689349B2 (en) * 2010-05-05 2014-04-01 Intel Corporation Information flow tracking and protection

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001013198A1 (en) * 1999-08-13 2001-02-22 Hewlett-Packard Company Enforcing restrictions on the use of stored data
US20040117318A1 (en) * 2002-12-16 2004-06-17 Grawrock David W. Portable token controlling trusted environment launch

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6609199B1 (en) * 1998-10-26 2003-08-19 Microsoft Corporation Method and apparatus for authenticating an open system application to a portable IC device
GB0020416D0 (en) * 2000-08-18 2000-10-04 Hewlett Packard Co Trusted system
GB2376764B (en) * 2001-06-19 2004-12-29 Hewlett Packard Co Multiple trusted computing environments
US7103771B2 (en) * 2001-12-17 2006-09-05 Intel Corporation Connecting a virtual token to a physical token
US20030126454A1 (en) * 2001-12-28 2003-07-03 Glew Andrew F. Authenticated code method and apparatus
US7069442B2 (en) * 2002-03-29 2006-06-27 Intel Corporation System and method for execution of a secured environment initialization instruction
US7076669B2 (en) * 2002-04-15 2006-07-11 Intel Corporation Method and apparatus for communicating securely with a token
JP4366921B2 (ja) * 2002-07-12 2009-11-18 セイコーエプソン株式会社 本人照合装置、カード型情報記録媒体及びそれを用いた情報処理システム
US7210169B2 (en) * 2002-08-20 2007-04-24 Intel Corporation Originator authentication using platform attestation
US20040064457A1 (en) * 2002-09-27 2004-04-01 Zimmer Vincent J. Mechanism for providing both a secure and attested boot
US7210034B2 (en) * 2003-01-30 2007-04-24 Intel Corporation Distributed control of integrity measurement using a trusted fixed token
US7624272B2 (en) * 2003-03-31 2009-11-24 Intel Corporation Platform information for digital signatures
US7275263B2 (en) * 2003-08-11 2007-09-25 Intel Corporation Method and system and authenticating a user of a computer system that has a trusted platform module (TPM)
US7421588B2 (en) * 2003-12-30 2008-09-02 Lenovo Pte Ltd Apparatus, system, and method for sealing a data repository to a trusted computing platform
WO2005109887A1 (en) * 2004-04-23 2005-11-17 Smart Metric, Inc. Smartcard with visual display
US7480931B2 (en) * 2004-07-24 2009-01-20 Bbs Technologies, Inc. Volume mount authentication
US7143287B2 (en) * 2004-10-21 2006-11-28 International Business Machines Corporation Method and system for verifying binding of an initial trusted device to a secured processing system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001013198A1 (en) * 1999-08-13 2001-02-22 Hewlett-Packard Company Enforcing restrictions on the use of stored data
US20040117318A1 (en) * 2002-12-16 2004-06-17 Grawrock David W. Portable token controlling trusted environment launch

Also Published As

Publication number Publication date
CN101213556B (zh) 2010-09-08
WO2007002954A3 (en) 2007-02-15
KR20080018220A (ko) 2008-02-27
JP2008546122A (ja) 2008-12-18
WO2007002954A2 (en) 2007-01-04
US20060294380A1 (en) 2006-12-28
EP1897021A2 (en) 2008-03-12
CN101213556A (zh) 2008-07-02

Similar Documents

Publication Publication Date Title
US7010684B2 (en) Method and apparatus for authenticating an open system application to a portable IC device
US7139915B2 (en) Method and apparatus for authenticating an open system application to a portable IC device
US8533777B2 (en) Mechanism to determine trust of out-of-band management agents
US7028149B2 (en) System and method for resetting a platform configuration register
JP3689431B2 (ja) 暗号化キーの安全処理のための方法及び装置
US7082615B1 (en) Protecting software environment in isolated execution
JP4823481B2 (ja) 安全な環境を初期化する命令を実行するシステムおよび方法
US7149854B2 (en) External locking mechanism for personal computer memory locations
US7900252B2 (en) Method and apparatus for managing shared passwords on a multi-user computer
US6996710B1 (en) Platform and method for issuing and certifying a hardware-protected attestation key
CN108604274A (zh) 安全片上系统
US8060744B2 (en) Computer architecture for an electronic device providing single-level secure access to multi-level secure file system
US20070226493A1 (en) Computer architecture for an electronic device providing SLS access to MLS file system with trusted loading and protection of program execution memory
US20090327678A1 (en) Enhancing Security of a System Via Access by an Embedded Controller to A Secure Storage Device
US8127145B2 (en) Computer architecture for an electronic device providing a secure file system
US20030196100A1 (en) Protection against memory attacks following reset
CN101894224A (zh) 保护客户端平台上的内容
KR20060127206A (ko) 보안 모드 제어 메모리
US20080278285A1 (en) Recording device
KR101160391B1 (ko) 토큰 이용 가능한 컴퓨터 시스템을 평가하는 메카니즘
KR100606196B1 (ko) 모바일 플랫폼 트랜잭션을 위한 신뢰 입력
US20080120510A1 (en) System and method for permitting end user to decide what algorithm should be used to archive secure applications
CN110909357B (zh) 一种电子本及其控制方法
GB2412465A (en) Resetting a register on receipt of a locality confirming message

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
E902 Notification of reason for refusal
B601 Maintenance of original decision after re-examination before a trial
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150529

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160527

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170601

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180529

Year of fee payment: 7