KR20050085678A - 고정형 토큰 및 이동형 토큰 모두를 이용한 어테스테이션 - Google Patents

고정형 토큰 및 이동형 토큰 모두를 이용한 어테스테이션 Download PDF

Info

Publication number
KR20050085678A
KR20050085678A KR1020057010996A KR20057010996A KR20050085678A KR 20050085678 A KR20050085678 A KR 20050085678A KR 1020057010996 A KR1020057010996 A KR 1020057010996A KR 20057010996 A KR20057010996 A KR 20057010996A KR 20050085678 A KR20050085678 A KR 20050085678A
Authority
KR
South Korea
Prior art keywords
key
token
blob
sealed
authorization data
Prior art date
Application number
KR1020057010996A
Other languages
English (en)
Other versions
KR100737628B1 (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 KR20050085678A publication Critical patent/KR20050085678A/ko
Application granted granted Critical
Publication of KR100737628B1 publication Critical patent/KR100737628B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0827Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving distinctive intermediate devices or communication paths
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • 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

Abstract

보호된 키 블로브의 키 또는 키들의 이용이 허가되기 이전에 특정 이동형 토큰이 존재하는 것을 필요로 하는 보호된 키 블로브를 생성하고 이용하기 위한 방법, 장치 및 머신 판독가능한 매체가 기재된다. 그러한 보호된 키 블로브는 로컬 사용자와 컴퓨팅 디바이스간에 신뢰 레벨을 확립하는데 이용될 수 있다.

Description

고정형 토큰 및 이동형 토큰 모두를 이용한 어테스테이션{ATTESTATION USING BOTH FIXED TOKEN AND PORTABLE TOKEN}
트러스티드 플랫폼 컴퓨팅 연합(TPCA) 주 스펙, 버전 1.1b, 2002년 2월 22일(이하에서는 "TCPA SPEC")은 컴퓨팅 디바이스 또는 플랫폼에 부착되거나 다르게는 제거될 수 없는 트러스티드 플랫폼 모듈(TPM) 또는 토큰을 기술하고 있다. 이러한 고정형 토큰은 소프트웨어 프로세스의 감사 및 로깅, 플랫폼 부트 무결성, 파일 무결성, 및 소프트웨어 라이센싱을 지원한다. 또한, 고정형 토큰은 아이템들이 노출 또는 부적절한 이용으로부터 보호될 수 있는 보호된 스토리지를 제공하고, 어테스테이션(attestation)에 이용될 수 있는 아이덴터티를 제공한다. 이들 특징들은 그렇지 않으면 거절될 정보로 컴퓨팅 디바이스 또는 플랫폼의 액세스를 부여하도록 제3자를 조장한다.
제3자들은 원격 컴퓨팅 디바이스를 활용하고 고정형 토큰의 어테스테이션 메커니즘을 이용하여 컴퓨팅 디바이스와 신뢰 레벨을 확립한다. 그러나, 이러한 신뢰 레벨이 확립되는 프로세스는 통상 제3자의 원격 컴퓨팅 디바이스가 복잡한 계산을 수행하고 고정형 토큰을 가지는 복잡한 프로토콜에 참여하는 것을 요구한다. 그러나, 플랫폼의 로컬 사용자는 로컬 플랫폼 또는 컴퓨팅 디바이스와 유사한 신뢰 레벨을 확립하기를 원한다. 그러나, 로컬 사용자가 컴퓨팅 디바이스에서 신뢰를 확립하기 위해 원격 컴퓨팅 디바이스와 동일하게 복잡한 계산을 수행하고 고정형 토큰을 가지는 동일하게 복잡한 프로토콜에 참여하는 것이 불가능하다.
여기에 기재된 발명은 예를 들어 예시되고 첨부된 도면으로 제한되는 것은 아니다. 예시의 단순성 및 명료성을 위해, 도면에 예시된 구성요소들은 반드시 스케일링되어 그려진 것은 아니다. 예를 들면, 명료성을 위해 일부 구성요소들의 치수는 다른 요소들에 비해 과장될 수 있다. 또한, 적절한 것으로 간주된 경우, 참조부호들은 도면에서 반복되어 대응하거나 동일한 구성요소를 나타낸다.
도 1은 고정형 토큰 및 이동형 토큰을 포함하는 컴퓨팅 디바이스의 예를 예시하고 있다.
도 2는 도 1의 고정형 토큰의 예 및 이동형 토큰의 예를 예시하고 있다.
도 3은 도 1의 컴퓨팅 디바이스에 의해 구현될 수 있는 트러스티드 환경의 예를 예시하고 있다.
도 4는 로컬 어테스테이션을 위해 도 1의 컴퓨팅 디바이스에 의해 이용될 수 있는 실링된 키 블로브의 예 및 보호된 키 블로브의 예를 예시하고 있다.
도 5는 도 4의 보호된 키 블로브를 생성하는 방법의 예를 예시하고 있다.
도 6은 도 4의 보호된 키 블로브의 키를 로딩하는 방법의 예를 예시하고 있다.
이하의 상세한 설명에서, 본 발명의 철저한 이해를 제공하기 위해 다수의 특정 세부사항이 기재된다. 그러나, 본 발명은 이들 특정 세부사항없이 실시될 수 있다. 다른 예들에서, 주지된 방법, 절차, 컴포넌트 및 회로는 본 발명을 모호하지 않게 하기 위해 상세하게 기재되지 않았다. 또한, 일부 실시예들이 이들 특정 예들로 제한되지 않더라도, 크기/모델/값/범위의 예들이 주어질 수 있다.
명세서에서 "하나의 실시예" 등에 대한 참조는 기재된 실시예가 특정 특징, 구조 또는 특성을 포함하지만 모든 실시예가 반드시 특정 특징, 구조 또는 특성을 포함할 필요는 없다는 것을 나타낸다. 더구나, 그러한 구절은 반드시 동일한 실시예를 참조할 필요는 없다. 또한, 특정 특징, 구조 또는 특성이 하나의 실시예와 관련하여 기재될 때, 명백하게 기재되어 있는지 여부에 관계없이 다른 실시예와 관련하여 그러한 특징, 구조 또는 특성을 실효시키는 것이 본 기술분야의 숙련자의 지식의 범주내라는 것이라고 생각한다.
또한, 용어 "블로브"(binary large object)는 데이터베이스 기술분야에 통상 이용되어, 데이터베이스 자체에 의해 해석될 수 없는 형태로 데이터베이스에 저장될 필요가 있는 임의의 랜덤 큰 비트 블록을 지칭한다. 그러나, 여기에 이용되는 바와 같이, 용어 "블로브"는 구조, 포맷, 표현 또는 크기와 관계없이 하나 이상의 비트의 임의의 그룹화를 포함하는 넓은 용어이다.
또한, 동사 "해시(hash)" 및 관련된 형태는 여기에 값 또는 "해시"를 생성하는 오퍼랜드 또는 메시지에 대해 오퍼레이션을 수행하는 것을 지칭하는데 이용된다. 이상적으로는, 해시 오퍼레이션은 그 해시로 메시지를 구하는 것이 계산상으로 실행불가능하고 그 해시로 메시지에 관한 임의의 이용가능한 정보를 결정할 수 없는 해시를 생성한다. 또한, 해시 오퍼레이션은 이상적으로는, 동일한 해시를 생성하는 2개의 메시지를 결정하는 것은 계산상으로 불가능하도록 해시를 생성한다. 해시 오퍼레이션은 이상적으로는 상기 특성을 가지고 있지만, 실제적으로 예를 들어 메시지 다이제스트 5 알고리즘(MD5) 및 시큐어 해싱 알고리즘 1(SHA-1)과 같은 단방향 함수들은 메시지를 추론하는 것이 어렵고 계산상으로 집중적이거나 거의 실행불가능한 해시 값을 생성한다.
더구나, 용어 "제1", "제2", "제3"등은 유사하게 지칭된 컴포넌트 및/또는 오퍼레이션을 구별하는 라벨로서 여기에 이용된다. 특히, 그러한 용어들은 컴포넌트 및/또는 오퍼레이션의 순서를 나타내는데 이용되지 않고 이들 나타내는 것으로 의미하지 않는다. 또한, 그러한 용어들은 다른 것보다 더 큰 중요성을 가지는 하나의 컴포넌트 및/또는 오퍼레이션을 나타내는데 이용되지 않고 이를 나타내는 것으로 의미하지도 않는다.
이제 도 1을 참조하면, 컴퓨팅 디바이스(100)의 예가 도시되어 있다. 컴퓨팅 디바이스(100)는 하나 이상의 프로세서(1021, ..., 102P)를 포함한다. 프로세서(1021, ..., 102P)는 예를 들면, 리얼 모드, 보호 모드, 가상 8086 모드, 및 가상 머신 확장 모드(VMX 모드)와 같은 하나 이상의 오퍼레이팅 모드를 지원한다. 또한, 프로세서(1021, ..., 102P)는 지원되는 오퍼레이팅 모드의 각각에서 하나 이상의 특권 레벨 또는 권리를 지원할 수 있다. 일반적으로, 프로세서(1021, ..., 102P)의 오퍼레이팅 모드 및 특권 레벨은 실행에 가용한 명령 및 그러한 명령을 실행하는 효과를 정의한다. 더 구체적으로는, 프로세서(1021, ..., 102P)는 프로세서(1021, ..., 102P)가 적절한 모드 및/또는 특권 레벨에 있는 경우에만 특정 특권이 부여된 명령을 실행하도록 허용될 수 있다.
칩셋(104)은 프로세서(1021, ..., 102P)를 메모리(106), 네트워크 인터페이스(108), 고정형 토큰(110), 이동형 토큰(112), 및 예를 들면 마우스, 키보드, 디스크 드라이브, 비디오 컨트롤러 등과 같은 컴퓨팅 디바이스(110)의 다른 I/O 디바이스(114)에 결합하는 하나 이상의 집적 회로 패키지 또는 칩을 포함한다. 칩셋(104)은 메모리(106)에 데이터를 기록하고 판독하기 위한 메모리 컨트롤러(도시되지 않음)를 포함한다. 또한, 칩셋(104) 및/또는 프로세서(1021, ..., 102P)는 보호된 메모리(116)로서 메모리(106)의 특정 영역을 정의할 수 있다. 하나의 실시예에서, 프로세서(1021, ..., 102P)는 특정 오퍼레이팅 모드(예를 들면, 보호 모드) 및 특권 레벨(예를 들면, 0P)에 있는 경우에만 보호된 메모리(116)에 액세스할 수 있다.
네트워크 인터페이스(108)는 통상 네트워크(120)를 통해 하나 이상의 원격 에이전트(1181, ..., 118R)(예를들면, 인증(certification) 기관, 소매상, 금융기관)와 통신하는 하나 이상의 컴퓨팅 디바이스(100)에 대해 통신 메커니즘을 제공한다. 예를 들어, 네트워크 인터페이스(108)는 기가비트(Gigabit) 이더넷 컨트롤러, 케이블 모뎀, 디지털 가입자 라인(DSL) 모뎀, 기존 전화 서비스(POTS) 모뎀, 등을 포함하여 컴퓨팅 디바이스(100)를 하나 이상의 원격 에이전트(1181, ..., 118R)에 결합시킨다.
고정형 토큰(110)은 컴퓨팅 디바이스(100)에 부착되거나 통합되어 고정형 토큰(110)이 컴퓨팅 디바이스(100)에만 연관되는 원격 에이전트(1181, ..., 118R) 및/또는 로컬 사용자에게 일부 보증(assurance)을 제공한다. 예를 들어, 고정형 토큰(110)은 컴퓨팅 디바이스(100)의 메인보드(도시되지 않음)에 장착되는 칩셋(104) 및/또는 표면의 칩들 중 하나에 통합될 수 있다. 일반적으로, 고정형 토큰(110)은 메트릭, 키 및 시크리트(secret)에 대한 보호된 스토리지를 포함하고, 프로세서(1021, ..., 102P) 및 칩셋(104)으로부터의 요구에 응답하여 다양한 무결성 기능을 수행할 수 있다. 하나의 실시예에서, 고정형 토큰(110)은 메트릭을 트러스티드된 방식으로 저장하고, 메트릭을 트러스티드된 방식으로 인용하며, 시크리트를 특정 환경(현재 또는 미래)으로 실링하고, 시크리트를 실링되지 않았던 환경에 실링해제할 수 있다. 또한, 고정형 토큰(110)은 실링된 키 블로브의 키드을 로딩하고 요구자가 확립된 세션과 연관된 키를 이용하여 오퍼레이션을 수행할 수 있도록 하는 세션을 확립할 수 있다.
이동형 토큰(112)은 컴퓨팅 디바이스(100)의 이동형 토큰 인터페이스(122)를 통해 프로세서(1021, ..., 102P)로의 링크를 확립할 수 있다. 이동형 토큰 인터페이스(122)는 포트(예를 들면, USB 포트, IEEE 1394 포트, 직렬 포트, 병렬 포트), 슬롯(예를 들면, 카드 리더, PC 카드 슬롯, 등), 트랜시버(예를 들면, RF 트랜시버, 적외선 트랜시버, 등) 및/또는 이동형 토큰(112)이 컴퓨팅 디바이스(110)에 용이하게 결합되고 제거될 수 있도록 하는 일부 다른 인터페이스 메커니즘을 포함할 수 있다. 고정형 토큰(110)과 유사하게, 이동형 토큰(112)은 키 및 시크리트에 대한 보호된 스토리지를 포함하고, 프로세서(1021, ..., 102P) 및 칩셋(104)으로부터의 요구에 응답하여 다양한 무결성 기능을 수행할 수 있다. 하나의 실시예에서, 이동형 토큰(112)은 실링된 키 블로브의 키를 로딩하고, 요구자가 확립된 세션과 연관된 키를 이용하여 오퍼레이션을 수행하도록 할 수 있는 세션을 확립한다. 또한, 이동형 토큰(112)은 실링된 키 블로브와 연관된 이용(usage) 권한 데이터를 변경할 수 있고, 요구자가 실링된 키 블로브를 수신하도록 허가되도록 결정된 후 보호된 키 블로브의 실링된 키 블로브를 리턴할 수 있다.
도 2에 예시된 바와 같이, 고정형 토큰(110)은 하나 이상의 처리 유닛(200), 난수 발생기(202), 및 키(206), 시크리트(208), 및/또는 메트릭을 위한 하나 이상의 플랫폼 구성 레지스터(PCR) 레지스터(210)를 포함하는 보호된 스토리지(204)를 포함한다. 유사하게, 이동형 토큰(112)은 하나 이상의 처리 유닛(212), 난수 발생기(214), 및 키(218) 및/또는 시크리트(220)를 포함하는 보호된 스토리지(216)를 포함한다. 처리 유닛(200, 212)은 예를 들면, 대칭 및 비대칭 키를 생성하거나 계산하는 것과 같이, 컴퓨팅 디바이스(100)에 대한 무결성 기능을 수행할 수 있다. 하나의 실시예에서, 처리 유닛(200, 212)은 생성된 키를 이용하여 정보를 암호화하거나 시그널링할 수 있다. 또한, 처리 유닛(200, 212)은 AES(Advanced Encryption Standard), DES(Data Encryption Standard), 3DES(Triple DES), 또는 난수 발생기(202, 214)에 의해 생성된 난수로 실링된 일부 다른 대칭키 생성 알고리즘에 기초하여 대칭키를 생성한다. 유사하게, 처리 유닛(200, 212)은 RSA(Rivest-Shami-Adleman), EC(Elliptic Curve), 또는 난수 발생기(202, 214)에 의해 생성된 난수로 실링된 일부 다른 비대칭 키 쌍 생성 알고리즘에 기초하여 비대칭 키 쌍을 생성할 수 있다.
하나의 실시예에서, 고정형 토큰(110) 및 이동형 토큰(112) 모두는 각 난수 발생기(202, 214)에 의해 생성된 난수로 심어진 대칭 및 비대칭 키 생성 알고리즘으로부터 불변 대칭 키 및/또는 비대칭 키 쌍을 생성한다. 일반적으로, 이들 불변 키들은 일단 토큰(110, 112)이 이들을 활성화한 경우에 변경될 수 없다. 불변 키들은 활성화후에는 변경될 수 없으므로, 불변 키들은 각 토큰(110, 112)을 고유하게 식별하는 메커니즘의 일부로서 이용될 수 있다. 불변 키에 더하여, 처리 유닛(200, 212)은 비대칭 키 생성 알고리즘에 따라 하나 이상의 추가 비대칭 키 쌍을 더 생성할 수 있다. 예로 든 실시예에서, 불변 비대칭 키 상이 일단 활성화되면 변경될 수 없는데 반해, 컴퓨팅 디바이스(100)는 추가 비대칭 키 쌍을 원하는대로 생성할 수 있다. 불변 비대칭 키 쌍의 외부 공격으로의 노출을 줄이기 위해, 컴퓨팅 디바이스(100)는 통상 대부분의 암호화, 암호해제, 및 사인 오퍼레이션에 대해 그 추가 비대칭 키 쌍을 활용한다. 특히, 컴퓨팅 디바이스(100)는 예를 들면, 인증 기관(certification authority)과 같은 단지 작은 트러스티드 실체 그룹에만 불변 공개키를 제공한다. 또한, 하나의 실시예에서, 컴퓨팅 디바이스(100)의 고정형 토큰(110)은 요구자에게 불변 개인키를 절대 제공하지 않으며, 변경가능한 개인키를 불변 공개키 중 하나 및/또는 다른 추가 비대칭 키 중 하나로 암호화한 후 요구자에게 변경가능한 개인키만을 제공한다.
따라서, 추가 공개키 중 하나 또는 불변 공개키 중 하나로 암호화되는 정보는 각 토큰(110, 112)으로만, 또는 각 토큰(110, 112)의 권한 하에 있는 실체에 의해서만 암호해제될 수 있도록 실체가 합리적으로 보증된다. 또한, 이동형 토큰(112)은 이동형 토큰(112)과 연관된 사용자가 컴퓨팅 디바이스(100)에서 또는 그 근처에 존재하거나 배치되는 컴퓨팅 디바이스(100) 및/또는 원격 에이전트(1181, ..., 118R)에 일부 보증을 제공할 수 있다. 이동형 토큰(112)의 고유성 및 사용자가 이동형 토큰(112)의 제어내에 있다는 가정으로 인해, 컴퓨팅 디바이스(100) 및/또는 원격 에이전트(1181, ..., 118R)는 이동형 토큰(112)의 사용자가 존재하거나 사용자가 일부 다른 사람들에게 이동형 토큰(112)을 이용하도록 허가한 것으로 가정할 수 있다.
고정형 토큰(110)의 하나 이상의 PCR 레지스터(210)는 메트릭을 트러스티드된 방식으로 기록하거나 리포팅하는데 이용될 수 있다. 이를 위해, 처리 유닛(200)은 식별된 PCR 레지스터(210)의 인용 또는 컨텐트를 리턴하는 PCR 인용 오퍼레이션을 지원한다. 처리 유닛(200)은 또한 수신된 메트릭을 식별된 PCR 레지스터(210)에 기록하는 PCR 확장 오퍼레이션을 지원한다. 특히, PCR 확장 오퍼레이션은 (1) 수신된 메트릭을 식별된 PCR 레지스터(210)에 저장된 메트릭에 결부시키거나 첨부하여 첨부된 메트릭을 얻고, (2) 첨부된 메트릭을 해시하여 수신된 메트릭 및 식별된 PCR 레지스터(210)에 의해 기록된 이전 메트릭을 나타내는 업데이트된 메트릭을 얻으며, (3) 업데이트된 메트릭을 PCR 레지스터(210)에 저장한다.
하나의 실시예에서 고정형 토큰(110) 및 이동형 토큰(112)은 모두 요구자와 토큰(110, 112)간에 세션을 확립하기 위한 지원을 제공한다. 특히, 하나의 실시예에서 고정형 토큰(110) 및 이동형 토큰(112)은 모두 TCPA SPEC에 기술된 오브젝트-특정 인증 프로토콜(OS-AP)을 구현하여 세션을 확립한다. 또한, 고정형 토큰(110) 및 이동형 토큰(112)은 모두 OS-AP 프로토콜에 따라 세션을 확립하는 토큰(110, 112)에 TCPA SPEC 결과의 TPM_OSAP 명령을 구현한다. 일반적으로, OS-AP 프로토콜은 요구자가 토큰(110, 112)의 키를 식별하는 키 핸들을 제공하도록 요구한다. 키 핸들은 키가 로딩되어 있다는 것을 나타내는 라벨 및 로딩될 키를 로케이팅하는 메커니즘에 불과하다. 그러면, 토큰(110, 112)은 키를 식별하는 인가 핸들 및 키와 연관된 사용 인가 데이터로부터 계산된 공유된 시크리트를 요구자에게 제공한다. 세션을 이용할 때, 요구자는 키와 어테스테이션과 연관된 사용 인가 데이터를 소유하고 있다는 증명을 메시지/요구의 파라미터에 둘다 제공하는 인가 핸들 및 메시지 인증 코드(MAC)를 토큰(110, 112)에 제공한다. 하나의 실시예에서, 요구자 및 토큰(110, 112)은 롤링 넌스 패러다임(rolling nonce paradigm)에 기초하여 인증 코드를 더 계산하고, 여기에서 요구자 및 토큰(110, 112)은 둘다 리플레이 공격을 방지하는 것을 돕기 위해 요구 및 그 응답에 포함되는 난수 또는 넌스를 생성한다.
고정형 토큰(110)의 처리 유닛(200)은 실링 오퍼레이션을 더 지원한다. 일반적으로, 실링 오퍼레이션은 결론적으로 고정형 토큰(110)이 블로브를 지정된 환경으로 실링하고 예를 들면 모니터(310), 커널(332), 트러스티드 애플릿(334), 오퍼레이팅 시스템(322), 및/또는 어플리케이션(324)과 같은 요구하는 컴포넌트에 실링된 블로브를 제공하는 것으로 나타난다. 특히, 요구하는 컴포넌트는 고정형 토큰(110)의 비대칭 키 쌍에 대한 세션을 확립한다. 요구하는 컴포넌트는 고정형 토큰(110)에게 확립된 세션을 통해 실링하는 블로브, 블로브를 실링하는 PCR 레지스터(210)를 식별하는 하나 이상의 인덱스, 및 식별된 PCR 레지스터(210)의 예상 메트릭을 제공한다. 고정형 토큰(110)은 환경 기준을 지정하는 실링 기록(예를 들면, 식별된 PCR 레지스터(210)의 인용), 고정형 토큰(110)이 실링된 블로브를 생성했다는 것을 검증하는데 고정형 토큰(110)이 나중에 이용하는 증명 값, 및 블로브를 실링하는 가능한 추가 민감한 데이터를 생성할 수 있다. 고정형 토큰(110)은 블로브의 하나 이상의 해시된 부분의 무결성에 어테스트하는 다이제스트 값을 얻도록 블로브의 하나 이상의 부분을 더 해시할 수 있다. 그리고나서, 고정형 토큰(110)은 사용 허가 데이터, 개인키, 및 비대칭 암호 알고리즘 및 확립된 세션의 공개키를 이용하는 다이제스트 값과 같은 블로브의 민감한 부분을 암호화함으로써 실링된 블로브를 생성한다. 고정형 토큰(110)은 요구하는 컴포넌트에 실링된 블로브를 제공한다.
고정형 토큰(110)의 처리 유닛(200)은 언실링 오퍼레이션을 지원한다. 언실링 오퍼레이션은 일반적으로, 블로브가 고정형 토큰(110)의 키로 실링되어 있고 현재의 환경이 실링된 블로브에 대해 지정된 기준을 만족하는 경우에만, 고정형 토큰(110)이 블로브를 언실링하는 것으로 나타난다. 특히, 요구하는 컴포넌트는 고정형 토큰(110)의 비대칭 키 쌍에 대한 세션을 확립하고, 확립된 세션을 통해 고정형 토큰(110)에 실링된 블로브를 제공할 수 있다. 고정형 토큰(110)은 확립된 세션의 개인키를 이용하여 실링된 블로브의 하나 이상의 부분들을 암호해제할 수 있다. 개인키가 실링된 블로브를 실링하는데 이용되는 공개키에 대응하는 경우, 고정형 토큰(110)은 블로브로부터 암호화된 데이터의 플레인(plain)-텍스트 버전을 얻을 수 있다. 그렇지 않으면, 고정형 토큰(110)은 에러 조건을 만나거나 암호화된 데이터의 손상된 표현을 얻을 수 있다. 고정형 토큰(110)은 블로브의 하나 이상의 부분을 더 해시하여 블로브에 대한 계산된 다이제스트 값을 얻는다. 그리고나서, 고정형 토큰(110)은 계산된 다이제스트 값이 실링된 블로브로부터 얻어진 다이제스트 값과 동일하고, PCR 레지스터(210)의 메트릭이 실링된 블로브로부터 얻어진 실링 기록에 의해 지정된 기준을 만족시키며, 고정형 토큰(110)이 실링된 블로브를 생성했다고 증명값이 나타내는 것으로 결정하는 것에 응답하여, 블로브를 요구하는 컴포넌트에 리턴한다. 그렇지 않으면, 고정형 토큰(110)은 언실링 오퍼레이션을 중지하고, 고정형 토큰(110)으로부터 블로브, 실링 기록, 다이제스트 값, 및 계산된 다이제스트 값을 삭제한다.
상기 예로 든 실링 및 언실링 오퍼레이션은 비대칭 암호화 알고리즘을 이용함으로써 공개키를 이용하여 블로브를 실링하고 개인키를 이용하여 블로브를 언실링한다. 그러나, 고정형 토큰(110)은 단일 키를 이용하여 대칭 암호화 알고리즘을 이용하여 블로브를 실링하고 블로브를 언실링한다. 예를 들어, 고정형 토큰(110)은 예를 들면 DES, 3DES, AES 및/또는 다른 알고리즘과 같은 대칭 암호화 알고리즘을 통해 블로브를 실링하고 언실링하는데 이용되는 내장된 키를 포함한다.
고정형 토큰(110) 및 이동형 토큰(112)은 다수의 다른 방식으로 구현될 수 있다는 것은 자명하다. 예를 들어, 고정형 토큰(110) 및 이동형 토큰(112)은 TCPA SPEC에 상세하게 기재된 트러스티드 플랫폼 모듈(TPM)과 유사한 방식으로 구현될 수 있다. 그러나, TCPA SPEC의 TPM보다 실질적으로 더 적은 특징 및 기능을 가지는 이동형 토큰(112)의 더 저렴한 구현은 로컬 어테스테이션과 같은 일부 사용 모델에 적합할 수 있다. 또한, 고정형 토큰(110) 및 이동형 토큰(112)은 상기 설명된 OS-AP 프로토콜을 넘어서 다수의 다른 방식으로 세션을 확립하거나 그 키의 이용에 관한 허가를 부여할 수 있다.
트러스티드 환경(300)의 예가 도 3에 도시되어 있다. 컴퓨팅 디바이스(100)는 오퍼레이팅 모드 및 프로세서(1021, ..., 102P)의 특권 레벨을 이용하여 트러스티드 환경(300)을 확립한다. 도시된 바와 같이, 트러스티드 환경(300)은 트러스티드 가상 머신 커널 또는 모니터(302), 하나 이상의 표준 가상 머신(표준 VM, 304), 및 하나 이상의 트러스티드 가상 머신(트러스티드 VM, 306)을 포함할 수 있다. 트러스티드 환경(300)의 모니터(302)는 최고 특권이 주어진 프로세서 링(예를 들면, 0P)에서 보호 모드로 실행하여, 가상 머신(304, 306)간의 보안 및 특권 장벽을 관리한다.
표준 VM(304)은 VMX 모드의 가장 특권이 주어진 프로세서 링(예를 들면, 0D)에서 실행하는 오퍼레이팅 시스템(308), 및 VMX 모드의 더 낮게 특권이 주어진 프로세서 링(예를 들면, 3D)에서 실행하는 하나 이상의 어플리케이션(310)을 포함한다. 모니터(302)가 실행하는 프로세서 링이 오퍼레이팅 시스템(308)이 실행하는 프로세서 링보다 더 크게 특권이 주어지므로, 오퍼레이팅 시스템(308)은 컴퓨팅 디바이스(100)의 자유로운 제어를 가지지 않고, 대신에 모니터(302)의 제어 및 제한에 종속된다. 특히, 모니터(302)는 오퍼레이팅 시스템(308) 및 그 어플리케이션(310)이 보호 메모리(116) 및 고정형 토큰(110)에 액세스하는 것을 방지한다.
모니터(302)는 하나 이상의 메트릭을 얻는 커널 코드의 해시와 같은 트러스티드 커널(312)의 하나 이상의 측정을 수행하고, 고정형 토큰(110)이 트러스티드 커널(312)의 메트릭으로 식별된 PCR 레지스터(210)를 연장하도록 유발하며, 보호 메모리(116)에 저장된 연관된 PCR 로그에 메트릭을 기록할 수 있다. 또한, 모니터(302)는 보호 메모리(116)에서 트러스티드 VM(306)을 확립하고, 확립된 트러스티드 VM(306)에서 트러스티드 커널(312)을 런칭할 수 있다.
유사하게, 트러스티드 커널(312)은 하나 이상의 메트릭을 얻는 애플릿 코드의 해시와 같이 애플릿 또는 어플리케이션(314)의 하나 이상의 측정을 수행한다. 모니터(302)를 통한 트러스티드 커널(312)은 고정형 토큰(110)이 애플릿(314)의 메트릭으로 식별된 PCR 레지스터(210)를 확장하도록 유발한다. 트러스티드 커널(312)은 보호 메모리(116)에 저장된 연관된 PCR 로그에 메트릭을 더 기록할 수 있다. 또한, 트러스티드 커널(312)은 보호 메모리(116)의 확립된 트러스티드 VM(306)에서 트러스티드 애플릿(314)을 런칭할 수 있다.
도 3의 트러스티드 환경(300)을 개시하는 것에 응답하여, 컴퓨팅 디바이스(100)는 모니터(302), 프로세서(1021, ..., 102P), 칩셋(104), BIOS 펌웨어(도시되지 않음), 및/또는 컴퓨팅 디바이스(100)의 다른 하드웨어/소프트웨어 컴포넌트의 메트릭을 더 기록할 수 있다. 또한, 컴퓨팅 디바이스(100)는 예를 들면, 시스템 시동, 어플리케이션 요구, 오퍼레이팅 시스템 요구 등과 같은 다양한 이벤트에 응답하여 트러스티드 환경(300)을 개시할 수 있다.
이제, 도 4를 참조하면, 로컬 어테스테이션에 이용되는 실링된 키 블로브(400) 및 보호된 키 블로브(402)가 도시되어 있다. 도시된 바와 같이, 실링된 키 블로브(400)는 하나 이상의 무결성 데이터 영역(404) 및 하나 이상의 암호화된 데이터 영역(406)을 포함한다. 무결성 데이터 영역(404)은 공개키(408), 실링 기록(410), 및 블로브를 식별하거나 블로브의 키를 로딩하는데 도움을 주는 블로브 헤더와 같은 가능한 다른 민감하지 않은 데이터를 포함할 수 있다. 또한, 암호화된 데이터 영역(406)은 사용 인가 데이터(412), 개인키(414), 및 다이제스트 값(416)을 포함할 수 있다. 무결성 데이터 영역(404)의 실링 기록(410)은 PCR 레지스터(210), 대응하는 메트릭, 증명값, 및 비대칭 키 쌍(408, 414)이 실링된 가능한 다른 민감한 데이터를 나타낸다. 또한, 다이제스트 값(416)은 무결성 데이터 영역(404)의 데이터에 어테스트되고, 실링된 키 블로브(400)의 하나 이상의 부분들을 변경함으로써 암호화된 데이터 영역(406)의 데이터의 액세스를 얻는 공격을 방지하는데 도움을 주도록 암호화된 데이터 영역(406)의 데이터에 어테스팅한다. 하나의 실시예에서, 다이제스트 값(416)은 무결성 데이터 영역(404), 사용 인가 데이터(412), 및 개인키(414)의 해시를 수행함으로써 생성될 수 있다. 하나의 실시예에서, 데이터가 무결성 데이터 영역(404)에 플레인-텍스트 또는 암호화되지 않은 형태로 저장되어, 데이터를 암호해제하는 키를 요구하지 않고서도 무결성 데이터 영역의 데이터가 판독되거나 변경될 수 있도록 한다. 또한, 하나의 실시예에서 암호화된 데이터 영역(406)의 데이터는 고정형 토큰(110)의 공개키(206)로 암호화된다. 도 6과 관련하여 더 상세하게 설명되는 바와 같이, 요구하는 컴포넌트는 데이터를 암호화하는데 이용되는 공개키(206)에 대응하는 개인키(206)를 이용하는 고정형 토큰(110)으로 세션을 확립하지 않고서는, 실링된 키 블로브(400)의 비대칭 키 쌍(408, 414)을 고정형 토큰(110)에 성공적으로 로딩할 수 없다. 또한, 요구하는 컴포넌트는 고정형 토큰(110)에 사용 인가 데이터(412) 또는 실링된 키 블로브(400)에 대한 사용 인가 데이터(412)를 가지는 증명, 및 실링 기록(410)에 의해 지정된 기준을 만족하는 환경을 제공하지 않고서는, 비대칭 키 쌍(408, 416)을 성공적으로 로딩할 수 없다.
보호된 키 블로브(402)는 하나 이상의 무결성 데이터 영역(418) 및 하나 이상의 암호화된 데이터 영역(420)을 포함한다. 무결성 데이터 영역(418)은 블로브를 식별하는데 도움을 주는 블로브 헤더와 같은 민감하지 않은 데이터를 포함할 수 있다. 또한, 암호화된 데이터 영역(420)은 사용 인가 데이터(422), 실링된 키 블로브(400), 및 다이제스트 값(424)을 포함할 수 있다. 다이제스트 값(424)은 무결성 데이터 영역(418)의 데이터에 어테스트되고, 보호된 키 블로브(402)의 하나 이상의 부분들을 변경함으로써 암호화된 데이터 영역(420)의 데이터로의 액세스를 얻는 공격을 방지하는데 도움을 주도록 암호화된 데이터 영역(420)의 데이터에 어테스팅한다. 하나의 실시예에서, 다이제스트 값(424)은 무결성 데이터 영역(418), 실링된 키 블로브(400), 및 사용 인가 데이터(422)의 해시를 수행함으로써 생성될 수 있다. 하나의 실시예에서, 데이터가 무결성 데이터 영역(418)에 플레인-텍스트 또는 암호화되지 않은 형태로 저장되어, 데이터를 암호해제하는 키를 요구하지 않고서도 무결성 데이터 영역의 데이터가 판독되거나 변경될 수 있도록 한다. 또한, 하나의 실시예에서 암호화된 데이터 영역(420)의 데이터는 이동형 토큰(112)의 공개키(216)로 암호화된다. 도 6과 관련하여 더 상세하게 설명되는 바와 같이, 요구하는 컴포넌트는 대응하는 개인키(216)를 이용하는 이동형 토큰(112)으로 세션을 확립하지 않고서는, 보호된 키 블로브(402)로부터 실링된 키 블로브(400)를 성공적으로 로딩할 수 없다. 또한, 요구하는 컴포넌트는 이동형 토큰(112)에 사용 인가 데이터(422) 또는 보호된 키 블로브(402)에 대한 사용 인가 데이터(422)를 가지는 증명을 제공하지 않고서는 실링된 키 블로브(400)를 성공적으로 얻을 수 없다.
이제, 도 5 및 도 6을 참조하면, 보호된 키 블로브(402)를 생성하는 방법 및 실링된 키 블로브를 이용하는 방법이 도시된다. 일반적으로, 도 5 및 도 6의 방법들은 요구자에 의해 개시된다. 이하의 설명을 단순화하기 위해, 요구자는 모니터(302)인 것으로 가정된다. 그러나, 요구자는 예를 들면, 모니터(302)의 허가 하의 트러스티드 커널(312) 및/또는 트러스티드 애플릿(314)과 같은 다른 모듈일 수 있다. 또한, 이하는 요구자 및 토큰(110, 112)이 이미 보호된 스토리지(204, 214)에 저장된 키(206, 218)를 식별하는 하나 이상의 키 핸들, 및 연관된 사용 인가 데이터를 가지고 있는 것으로 가정한다. 예를 들어, 요구자 및 토큰(110, 112)은 이전에 실행된 키 생성 및/또는 키 로딩 명령의 결과로서 그러한 정보를 얻었다. 특히, 이하는 요구자가 토큰(110, 112)의 키 쌍을 이용하여 세션을 성공적으로 확립할 수 있다고 가정한다. 그러나, 요구자가 키 쌍을 이용하도록 인가되지 않은 경우, 요구자는 세션을 확립할 수 없고, 따라서 그러한 키 쌍을 이용하여 각각의 키 블로브를 생성할 수 없으며 그러한 키 쌍으로 생성된 키 블로브의 키 쌍을 로딩할 수 없다는 것은 자명하다.
도 5에서, 도 4의 실링된 키 블로브를 생성하는 방법이 도시된다. 블록 500에서, 모니터(302) 및 고정형 토큰(110)은 고정형 토큰(110)의 보호된 스토리지(204)에 저장된 개인키(206) 및 대응하는 공개키(206)를 포함하는 고정형 토큰(110)의 비대칭 키 쌍에 대한 세션을 확립한다. 블록 502에서, 모니터(302)는 확립된 세션을 통해, 고정형 토큰(110)이 실링된 키 블로브(400)를 생성하도록 요구한다. 특히, 모니터(302)는 고정형 토큰(110)에 실링된 키 블로브(400)에 대한 사용 인가 데이터(412)를 제공한다. 또한, 모니터(302)는 고정형 토큰(110)에 고정형 토큰(110)이 실링된 키 블로브(404)의 키(408, 414)를 실링하기로 되어 있는 PCR 레지스터(210)를 식별하는 하나 이상의 인덱스 또는 식별자를 제공하고, 고정형 토큰(110)에 식별된 PCR 레지스터(210)에 저장될 것으로 예상되는 메트릭을 제공한다.
블록 504에서 고정형 토큰(110)은 요구된 실링된 키 블로브(400)를 생성하여 리턴한다. 특히, 고정형 토큰(110)은 개인키(414) 및 대응하는 공개키(408)를 포함하는 비대칭 키 쌍(408, 414)을 생성하고, 비대칭 키 쌍(408, 414)을 그 보호된 스토리지(204)에 저장한다. 또한, 고정형 토큰(110)은 비대칭 키 쌍(408, 414) 및 사용 인가 데이터(412)를, 모니터(302)에 의해 식별된 PCR 레지스터(210)의 메트릭에 의해 지정된 환경에 실링한다. 실링의 결과로서, 고정형 토큰(110)은 PCR 레지스터(210)를 식별하는 실링 기록(410), 식별된 PCR 레지스터(210)의 메트릭, 증명값, 및 비대칭 키 쌍(408, 414), 사용 인가 데이터(412) 및 실링 기록(410)에 어테스팅하는 다이제스트 값(416)을 생성한다. 고정형 토큰(110)은 개인키(414), 사용 인가 데이터(412), 다이제스트 값(416), 및 실링된 키 블로브(400)의 임의의 다른 민감한 데이터를 확립된 세션의 공개키(206)로 암호화함으로써, 실링된 키 블로브(400)의 암호화된 데이터 영역(406)을 더 생성할 수 있다. 암호화된 데이터 영역(406)을 세션의 공개키(206)로 생성함으로써, 그러한 데이터가 고정형 토큰(110)의 제어하에 있는 대응하는 개인키(206)로만 암호해제될 수 있으므로, 고정형 토큰(110)은 암호화된 데이터 영역(406)의 데이터로의 액세스를 방지할 수 있다. 고정형 토큰(110)은 모니터(302)에 요구된 실링된 키 블로브(400)를 리턴한다.
블록 506에서, 모니터(302) 및 이동형 토큰(112)은 이동형 토큰(112)의 보호된 스토리지(216)에 저장된 개인키(218) 및 대응하는 공개키(218)를 포함하는 비대칭 키 쌍에 대한 세션을 확립한다. 블록 508에서, 모니터(308)는 확립된 세션을 통해, 이동형 토큰(112)이 실링된 키 블로브(400)로부터, 사용 인가 데이터(422)를 가지는 보호된 키 블로브(402)를 생성하도록 요구한다. 특히, 모니터(302)는 이동형 토큰(112)에 실링된 키 블로브(400) 및 사용 인가 데이터(422)를 제공할 수 있다.
블록 510에서, 이동형 토큰(112)은 요구된 보호된 키 블로브(402)를 생성하여 리턴한다. 특히, 이동형 토큰(112)은 사용 인가 데이터(422) 및 실링된 키 블로브(400)를 이동형 토큰(112)에 실링한다. 실링의 결과로서, 이동형 토큰(112)은 사용 인가 데이터(422) 및 실링된 키 블로브(400)에 어테스팅되는 다이제스트 값(424)을 생성한다. 이동형 토큰(112)은 사용 인가 데이터(422), 실링된 키 블로브, 다이제스트 값(424), 및 보호된 키 블로브(402)의 임의의 다른 민감한 데이터를 확립된 세션의 공개키(218)로 암호화함으로써 암호화된 데이터 영역(420)을 더 생성할 수 있다. 암호화된 데이터 영역(420)을 세션의 공개키(218)로 생성함으로써, 그러한 데이터는 이동형 토큰(112)의 제어하에 있는 대응하는 개인키(218)로만 암호해제될 수 있으므로, 이동형 토큰(112)은 암호화된 데이터 영역(420)의 데이터로의 액세스를 방지한다. 이동형 토큰(112)은 모니터(302)에 요구된 보호된 키 블로브(402)를 리턴한다.
이제, 도 6을 참조하면, 보호된 키 블로브(402)의 비대칭 키 쌍(408, 414)을 로딩하는 방법이 도시되어 있다. 블록 600에서, 모니터(302) 및 이동형 토큰(112)은 보호된 키 블로브(402)를 생성하는데 이용되었던 이동형 토큰(112)의 비대칭 키 쌍에 대한 세션을 확립한다. 블록 602에서, 모니터(302)는 이동형 토큰(112)이 보호된 키 블로브(402)에 저장된 실링된 키 블로브(400)를 리턴하도록 요구한다. 이를 위해, 모니터(302)는 이동형 토큰(112)에 보호된 키 블로브(402) 및 보호된 키 블로브(402)에 대한 사용 인가 데이터(422)를 소유하거 있거나 알고 있다는 증명을 제공하는 인증 코드를 제공한다. 모니터(302)는 이동형 토큰(112)에 인증 코드를 다수의 다른 방식으로 제공할 수 있다. 하나의 실시예에서, 모니터(302)는 사용 인가 데이터(422)의 복사본을 확립된 세션의 공개키(218)를 이용하여 단지 암호화하고, 이동형 토큰(112)에 그 사용 인가 데이터(422)의 암호화된 복사본을 제공한다.
다른 실시예에서, 모니터(302)는 사용 인가 데이터(422) 및 요구의 하나 이상의 파라미터의 어테스테이션을 소유하고 있는 양쪽 증명을 제공하는 메시지 인증 코드(MAC)를 생성한다. 특히, 모니터(302)는 이동형 토큰(112)에 제2 사용 인가 데이터를 포함하거나 기초하고 있는 공유 시크리트, 및 하나 이상의 요구 파라미터를 포함하는 메시지에 HMAC 알고리즘을 인가함으로써 기인되는 MAC을 제공한다. HMAC 알고리즘은 "HMAC: Keyed-Hashing for Message Authentication"이라 명칭된 Request for Comments(RFC) 2104에 상세하게 기재되어 있다. 기본적으로, HMAC 알고리즘은 예를 들면 MD5 또는 SHA-1 알고리즘과 같은 암호 해시 함수를 이용하고, 공유된 시크리트 및 송신되고 있는 메시지에 기초하여 MAC를 생성한다. 하나의 실시예에서, 모니터(302) 및 이동형 토큰(112)은 확립된 세션에 대해 모니터(302) 및 이동형 토큰(112)에 의해 생성된 제2 사용 인가 데이터 및 롤링 넌스(rolling nonce)에 기초한 HMAC 계산을 위한 공유된 시크리트를 생성한다. 더구나, 모니터(302)는 요구의 파라미터의 하나 이상의 해시를 생성하고, 계산된 공유 시크리트 및 파라미터 해시를 메시지로서 이용하여 HMAC 알고리즘을 통해 MAC를 계산한다.
블록 604에서, 이동형 토큰(112)은 보호된 키 블로브(402) 및 실링된 키 블로브(400)에 대한 요구를 실증한다. 하나의 실시예에서, 이동형 토큰(112)은 이동형 토큰(112)이 모니터(302)로부터 수신할 것으로 예상되는 인증 코드를 계산한다. 특히, 이동형 토큰(112)은 보호된 키 블로브(402)를 암호해제하여, 실링된 키 블로브(400) 및 보호된 키 블로브(402)에 대한 사용 인가 데이터(422)를 얻는다. 그리고나서, 이동형 토큰(112)은 요구로부터 수신된 파라미터 및 보호된 키 블로브(402)로부터 얻어진 사용 인가 데이터(422)를 이용하여 모니터(302)와 동일한 방식으로 인증 코드 또는 MAC를 계산할 수 있다. 계산된 인증 코드 또는 MAC가 모니터(302)로부터 수신된 인증 코드 또는 MAC와 소정 관계(예를 들면, 동일)를 가지지 않는다고 결정한 것에 응답하여, 이동형 토큰(112)은 에러 메시지를 리턴하고, 확립된 세션을 닫으며, 이동형 토큰(112)으로부터 보호된 키 블로브(402) 및 연관된 데이터를 제거하고, 블록 606에서 이동형 토큰(112)을 비활성화한다. 또한, 블록 604에서, 이동형 토큰(112)은 보호된 키 블로브(402)가 변경되지 않았다는 것을 검증한다. 특히, 이동형 토큰(112)은 사용 인가 데이터(422) 및 실링된 키 블로브(400)에 기초하여 다이제스트 값을 계산하고, 계산된 다이제스트 값이 보호된 키 블로브(402)의 다이제스트 값(424)에 소정 관계(예를 들면, 동일)를 가지고 있는지 여부를 결정한다. 계산된 다이제스트 값이 소정 관계를 가지고 있지 않은 것으로 결정한 것에 응답하여, 이동형 토큰(112)은 에러 메시지를 리턴하고, 확립된 세션을 닫으며, 이동형 토큰(112)으로부터 보호된 키 블로브(402) 및 연관된 데이터를 제거하고, 블록 604에서 이동형 토큰(112)을 비활성화시킨다.
요구가 유효한 것으로 결정한 것에 응답하여, 블록 608에서, 이동형 토큰(112)은 모니터(302)에 실링된 키 블로브(400)를 제공한다. 그리고나서, 모니터(302) 및 고정형 토큰(110)은 블록 610에서, 실링된 키 블로브(400)를 생성하는데 이용되었던 고정형 토큰(110)의 비대칭 키에 대한 세션을 확립할 수 있다. 블록 612에서, 모니터(302)는 고정형 토큰(110)이 실링된 키 블로브(400)의 비대칭 키 쌍(408, 414)을 로딩하도록 요구한다. 이를 위해, 모니터(302)는 고정형 토큰(110)에 실링된 키 블로브(400), 및 실링된 키 블로브(400)와 연관된 사용 인가 데이터(412)를 가지고 있거나 알고 있다는 증명을 제공하는 인증 코드 또는 MAC를 제공한다. 하나의 실시예에서, 모니터(302)는 고정형 토큰(110)에 블록 602와 관련하여 상기 설명된 바와 같은 방식으로 사용 인가 데이터(412)에 기초하고 공유된 시크리트를 이용하여 HMAC 계산으로부터 기인되는 MAC를 제공한다.
블록 614에서, 고정형 토큰(110)이 실링된 키 블로브(400)의 비대칭 키 쌍(408, 414)을 로딩하기 위한 요구를 실증한다. 하나의 실시예에서, 고정형 토큰(110)은 고정형 토큰(110)이 모니터(302)로부터 수신할 것으로 예상되는 인증 코드를 계산한다. 특히, 고정형 토큰(110)은 확립된 세션의 개인키(206)를 이용하여 실링된 키 블로브(400)를 암호해제하여, 비대칭 키 쌍(408, 414), 사용 인가 데이터(412), 실링 기록(410), 및 실링된 키 블로브(400)의 다이제스트 값(416)을 얻는다. 그리고나서, 고정형 토큰(110)은 요구로부터 얻어진 파라미터 및 제1 실링된 키 블로브로부터 얻어지는 제1 사용 인가 데이터를 이용하여 모니터(302)와 동일한 방식으로 인증 코드 또는 MAC를 계산한다. 계산된 인증 코드 또는 MAC가 모니터(302)로부터 수신된 인증 코드 또는 MAC와 소정 관계(예를 들면, 동일)를 가지지 않은 것으로 결정하는 것에 응답하여, 고정형 토큰(110)은 에러 메시지를 리턴하고, 확립된 세션을 닫으며, 고정형 토큰(110)으로부터 제1 실링된 키 블로브 및 연관된 데이터를 제거하고, 블록 616에서 이동형 토큰(112)을 비활성화시킨다. 또한, 블록 614에서, 고정형 토큰(110)은 실링된 키 블로브(400)가 변경되지 않았다는 것을 검증한다. 특히, 고정형 토큰(110)은 사용 인가 데이터(412), 비대칭 키 쌍(408, 414), 및 실링 기록(410)에 기초하여 다이제스트 값을 계산하고, 계산된 다이제스트 값이 실링된 키 블로브(400)의 다이제스트 값(416)과 소정 관계(예를 들면, 동일)를 가지고 있는지 여부를 결정한다. 계산된 다이제스트 값이 소정 관계를 가지지 않은 것으로 결정하는 것에 응답하여, 고정형 토큰(110)은 에러 메시지를 리턴하고, 확립된 세션을 닫으며, 고정형 토큰(110)으로부터 실링된 키 블로브(400) 및 연관된 데이터를 제거하고, 블록 616에서 이동형 토큰(112)을 비활성화시킨다.
블록 618에서 고정형 토큰(110)은 환경(300)이 실링된 키 블로브(400)의 비대칭 키(408)를 로딩하는데 적절한지를 더 검증한다. 특히, 고정형 토큰(110)은 실링 기록(410)의 메트릭이 PCR 레지스터(210)의 메트릭과 소정 관계(예를 들면, 동일)를 가지고 있는지 여부를 결정하고, 실링 기록(410)의 증명값은 고정형 토큰(110)이 실링된 키 블로브(400)를 생성했는지를 나타내는지 여부를 결정할 수 있다. 실링 기록(410)의 메트릭이 PCR 레지스터(210)의 메트릭과 소정 관계를 가지고 있지 않다고 결정하거나, 고정형 토큰(110)이 실링된 키 블로브(400)를 생성하지 않은 것으로 결정한 것에 응답하여, 고정형 토큰(110)은 에러 메시지를 리턴하고, 확립된 세션을 닫으며, 고정형 토큰(110)으로부터 실링된 키 블로브(400) 및 연관 데이터를 제거하고, 블록 616에서 이동형 토큰(112)을 비활성화시킬 수 있다.
요구 및 환경이 유효한 것으로 결정한 것에 응답하여, 블록 620에서, 고정형 토큰(110)은 모니터(302)에게 실링된 키 블로브(400)의 공개키(408) 및 고정형 토큰(110)의 보호된 스토리지(204)에 저장된 비대칭 키 쌍(408, 414)을 참조하는 키 핸들을 제공한다. 모니터(302)는 나중에 키 핸들을 고정형 토큰(110)에 제공하고 키 핸들에 의해 식별된 비대칭 키 쌍(408, 414)을 이용하여 세션을 확립한다.
일반적으로, 도 5 및 도 6의 방법은 결론적으로 이동형 토큰(112)이 제공되는 경우 및 선택적으로 환경(300)이 PCR 레지스터(210)의 메트릭에 의해 나타난 바와 같이 적절한 경우에만, 이용되는 비대칭 키 쌍을 확립하게 된다. 그러므로, 컴퓨팅 디바이스(100) 및/또는 원격 에이전트(1181, ..., 118R)는 실링된 키 블로브(400)의 키(408)가 고정형 토큰(110)에 의해 성공적으로 로딩되었는지 여부 및/또는 실링된 키 블로브(400)의 키(408)에 의해서만 암호해제되는 시크리트를 암호해제하는 능력에 기초하여, 이동형 토큰(112)의 사용자가 존재하는 것으로 결정한다.
또한, 사용자는 이동형 토큰(112)을 이용하여, 실링된 키 블로브(400)의 키(408)가 실링된 환경 기준을 만족하는 지를 컴퓨팅 디바이스(100)가 결정한다. 특히, 사용자는 실링된 키 블로브(400)의 키(408)가 고정형 토큰(110)에 의해 성공적으로 로딩되어 있는지 여부 및/또는 실링된 키 블로브(400)의 키(408)에 의해서만 암호해제되는 시크리트를 암호해제하는 능력에 기초하여, 컴퓨팅 디바이스(100)가 환경 기준을 만족하는지를 결정한다.
컴퓨팅 디바이스(100)는 예를 들면, 판독 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 자기 디스크 저장 매체, 광 저장 매체, 플래시 메모리 디바이스, 및/또는 예를 들면, 반송파, 적외선 신호, 디지털 신호, 아날로그 신호와 같은 전기적, 광학적, 음향적, 또는 다른 형태의 전파 신호와 같은 머신 판독가능한 매체의 명령을 실행하는 것에 응답하여, 도 5 및 도 6에 도시된 방법의 모든 또는 하나의 서브세트를 수행할 수 있다. 또한, 도 5 및 도 6의 방법들이 오퍼레이션의 시퀀스로서 예시되어 있지만, 일부 실시예에서, 컴퓨팅 디바이스(100)는 방법들의 다양한 예시된 오퍼레이션을 병렬 또는 다른 순서로 수행할 수 있다.
본 발명의 특정 특징들이 실시예를 참조하여 설명되었지만, 설명은 제한된 의미로 해석되려는 것은 아니다. 본 발명이 관련된 기술분야의 숙련자들에게 명백한 본 발명의 다른 실시예들뿐만 아니라, 상기 실시예의 다양한 변형은 본 발명의 사상 및 범주내에 든다.

Claims (31)

  1. 고정형 토큰이 제1 키 쌍 및 제1 사용 인가 데이터를 포함하는 실링된 키 블로브를 생성하도록 요구하는 단계 - 상기 지식은 제1 키 쌍의 개인키를 이용하기 위해 요구됨 -; 및
    이동형 토큰이 실링된 키 블로브 및 제2 사용 인가 데이터를 포함하는 보호된 키 블로브를 생성하도록 요구하는 단계 - 상기 지식은 보호된 키 블로브로부터 실링된 키 블로브를 얻기 위해 요구됨-
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 제1 키 쌍의 개인키 및 상기 제1 사용 인가 데이터를 고정형 토큰 및 상기 고정형 토큰의 공개키로 암호화하는 단계; 및
    상기 실링된 키 블로브를 상기 암호화된 공개키 및 상기 암호화된 제1 사용 인가 데이터로 생성하는 단계
    를 포함하는 방법.
  3. 제2항에 있어서,
    상기 실링된 키 블로브 및 상기 제2 사용 인가 데이터를, 이동형 토큰 및 상기 이동형 토큰의 공개키로 암호하하는 단계, 및
    상기 보호된 키 블로브를, 상기 암호화된 실링된 키 블로브 및 상기 암호화된 제2 사용 인가 데이터로 생성하는 단계
    를 포함하는 방법.
  4. 제1항에 있어서,
    상기 이동형 토큰이 상기 보호된 키 블로브로부터 상기 실링된 키 블로브를 리턴하도록 요구하는 단계,
    상기 이동형 토큰에 상기 제2 사용 인가 데이터를 소유하고 있는 증명을 제공하는 단계, 및
    상기 제2 사용 인가 데이터를 가지고 있다는 증명이 유효한 경우에만, 상기 이동형 토큰으로부터 상기 실링된 키 블로브를 얻는 단계
    를 포함하는 방법.
  5. 제4항에 있어서,
    상기 고정형 토큰이 상기 실링된 키 블로브로부터 상기 제1 키 쌍을 로딩하도록 요구하는 단계,
    상기 고정형 토큰에 상기 제1 사용 인가 데이터를 가지고 있다는 증명을 제공하는 단계, 및
    상기 제1 사용 인가 데이터를 가지고 있다는 증명이 유효한 경우에만, 상기 고정형 토큰에 저장된 상기 제1 키 쌍으로의 키 핸들을 얻는 단계
    를 포함하는 방법.
  6. 제1항에 있어서,
    상기 보호된 키 블로브로부터 상기 실링된 키 블로브를 리턴하도록 상기 휴대용 토큰으로 요구를 지향하는 단계 - 상기 요구는 상기 제2 사용 인가 데이터를 가지고 있다는 증명을 포함하는 요구를 포함함 -, 및
    상기 이동형 토큰이 존재했고 상기 제2 사용 인가 데이터를 가지고 있다는 증명이 유효한 경우에만 상기 이동형 토큰으로부터 상기 실링된 키 블로브를 얻는 단계
    를 포함하는 방법.
  7. 제6항에 있어서,
    상기 실링된 키 블로브로부터 상기 제1 키 쌍을 로딩하도록 상기 고정형 토큰으로의 요구를 지향하는 단계 - 상기 요구는 상기 제1 사용 인가 데이터를 가지고 있는 증명을 포함함 -, 및
    상기 제1 사용 인가 데이터를 가지고 있는 증명이 유효하고 상기 요구와 연관된 환경이 상기 실링된 키 블로브에 의해 지정된 조건을 만족하는 경우에만, 상기 고정형 토큰에 저장된 상기 제1 키 쌍으로의 키 핸들을 얻는 단계
    를 포함하는 방법.
  8. 제3항에 있어서,
    상기 이동형 토큰에 상기 보호된 키 블로브의 상기 실링된 키 블로브에 대한 요구를 제공하는 단계 - 상기 요구는 상기 제2 사용 인가 데이터를 가지고 있는 증명을 제공함 -,
    상기 암호화된 실링된 키 블로브 및 상기 보호된 키 블로브의 상기 암호화된 제2 사용 인가 데이터를 상기 이동형 토큰의 개인키를 이용하여 상기 이동형 토큰으로 암호해제하는 단계, 및
    상기 이동형 토큰이 상기 제2 사용 인가 데이터를 가지고 있는 증명이 유효한 것으로 결정한 것에 응답하여, 상기 이동형 토큰으로부터 상기 실링된 키 블로브를 수신하는 단계
    를 포함하는 방법.
  9. 제8항에 있어서,
    상기 제2 사용 인가 데이터를 가지고 있는 증명이 무효한 것으로 결정한 것에 응답하여, 상기 이동형 토큰으로부터 상기 보호된 키 블로브 및 연관된 데이터를 제거하는 단계를 더 포함하는 방법.
  10. 제9항에 있어서, 상기 제2 사용 인가 데이터를 가지고 있는 증명이 무효한 것으로 결정한 것에 응답하여 상기 이동형 토큰을 비활성화시키는 단계를 더 포함하는 방법.
  11. 제8항에 있어서,
    상기 고정형 토큰에 상기 실링된 키 블로브의 상기 제1 키 쌍을 로딩하는 요구를 제공하는 단계 - 상기 요구는 상기 제1 사용 인가 데이터를 가지고 있는 증명을 제공함 -,
    상기 암호화된 개인키 및 상기 실링된 키 블로브의 상기 암호화된 제1 사용 인가 데이터를 상기 고정형 토큰의 개인키를 이용하여 상기 고정형 토큰으로 암호해제하는 단계, 및
    상기 고정형 토큰이 상기 제1 사용 인가 데이터를 가지고 있는 증명이 무효한 것으로 결정한 것에 응답하여, 상기 실링된 키 블로브의 상기 제1 키 쌍으로의 키 핸들을 수신하는 단계
    를 포함하는 방법.
  12. 제11항에 있어서,
    상기 고정형 토큰이 상기 제1 사용 인가 데이터를 가지고 있다는 증명이 무효한 것으로 결정한 것에 응답하여, 상기 고정형 토큰으로부터 상기 실링된 키 블로브 및 연관된 데이터를 제거하는 단계를 더 포함하는 방법.
  13. 제12항에 있어서, 상기 제1 사용 인가 데이터를 가지고 있다는 증명이 무효한 것으로 결정된 것에 응답하여, 상기 이동형 토큰을 비활성화시키는 단계를 더 포함하는 방법.
  14. 실행되는 것에 응답하여, 프로세서가,
    이동형 토큰이 사용 인가 데이터를 포함하는 보호된 키 블로브로부터 실링된 키 블로브를 제공하도록 요구하고,
    프로세서가 상기 보호된 키 블로브에 대해 가지고 있는 사용 인가 데이터에 기초한 인증 코드를 상기 이동형 토큰에 제공하고,
    상기 프로세서의 상기 사용 인가 데이터가 상기 보호된 키 블로브의 상기 인가 데이터와 소정 관계를 가지고 있다고 상기 인증 코드가 나타내는 경우에만, 상기 이동형 토큰으로부터 상기 실링된 키 블로브를 수신하도록
    하는 복수의 명령들을 포함하는 머신 판독가능한 매체.
  15. 제14항에 있어서, 상기 실링된 키 블로브는 제1 사용 인가 데이터를 포함하고, 상기 복수의 명령은 또한 상기 프로세서가,
    고정형 토큰이 상기 실링된 키 블로브로부터 제1 키 쌍을 로딩하도록 요구하고,
    상기 프로세서가 상기 실링된 키 블로브에 대해 가지고 있는 제1 사용 인가 데이터에 기초한 제1 인증 코드를 상기 고정형 토큰에 제공하고, 및
    상기 프로세서의 상기 제1 사용 인가 데이터가 상기 실링된 키 블로브의 상기 제1 인가 데이터와 소정 관계를 가지고 있는 것으로 상기 제1 인증 코드가 나타내는 경우에만 상기 제1 키 쌍에 대한 제1 키 핸들을 수신하도록
    하는 머신 판독가능 매체.
  16. 제15항에 있어서, 상기 복수의 명령은 또한 상기 프로세서가,
    상기 프로세서가 상기 실링된 키 블로브에 대해 가지고 있는 상기 제1 사용 인가 데이터에 기초한 제1 공유 시크리트를 이용하는 제1 HMAC 계산에 기초하여 상기 제1 인증 코드를 생성하고,
    상기 프로세서가 상기 보호된 키 블로브에 대해 가지고 있는 상기 사용 인가 데이터에 기초한 제2 공유 시크리트를 이용하는 제2 HMAC 계산에 기초하여 상기 인증 코드를 생성하도록
    하는 머신 판독가능한 매체.
  17. 제15항에 있어서, 상기 복수의 명령은 또한 상기 프로세서가,
    상기 프로세서가 상기 실링된 키 블로브에 대해 가지고 있는 상기 제1 사용 인가 데이터 및 상기 고정형 토큰에 연관된 제1 롤링 넌스에 기초하여 제1 공유 시크리트를 이용하는 제1 HMAC 계산에 기초하여 상기 인증 코드를 생성하고,
    상기 프로세서가 상기 보호된 키 블로브에 대해 가지고 있는 상기 사용 인가 데이터 및 상기 이동형 토큰에 연관된 제2 롤링 넌스에 기초한 제2 공유 시크리트를 이용하는 제2 HMAC 계산에 기초하여 상기 인증 코드를 생성하도록
    하는 머신 판독가능한 매체.
  18. 제15항에 있어서, 상기 복수의 명령은 또한 상기 프로세서가,
    상기 이동형 토큰과 연관된 사용자가 상기 제1 키 핸들을 수신하는 것에 응답하여 존재하는 것으로 결정하도록 하는 머신 판독가능한 매체.
  19. 제15항에 있어서, 상기 복수의 명령은 또한 상기 프로세서가,
    상기 제1 키 핸들에 의해 식별된 상기 제1 키 쌍을 이용하여 시크리트를 성공적으로 암호해제한 것에 응답하여 상기 이동형 토큰과 연관된 사용자가 존재하는 것으로 결정하도록 하는 머신 판독가능한 매체.
  20. 제14항에 있어서, 상기 실링된 키 블로브는 제1 사용 인가 데이터를 포함하고, 상기 복수의 명령은 또한 상기 프로세서가,
    고정형 토큰에 환경의 적어도 하나의 메트릭을 제공하고,
    고정형 토큰이 상기 실링된 키 블로브로부터 제1 키 쌍을 로딩하도록 요구하고,
    상기 고정형 토큰에 상기 프로세서가 상기 실링된 키 블로브에 대해 가지는 제1 사용 인가 데이터에 기초한 제1 인증 코드를 제공하고,
    상기 프로세서의 상기 제1 사용 인가 데이터가 상기 실링된 키 블로브의 상기 제1 사용 인가 데이터와 소정 관계를 가지고 있는 것으로 상기 제1 인증 코드가 나타내고, 상기 환경이 상기 실링된 키 블로브에 의해 지정된 기준을 만족한다고 상기 적어도 하나의 메트릭이 나타내는 경우에만, 상기 제1 키 쌍에 대한 제1 키 핸들을 수신하도록
    하는 머신 판독가능한 매체.
  21. 제20항에 있어서, 상기 복수의 명령은 또한 상기 프로세서가,
    상기 제1 키 핸들을 수신한 것에 응답하여, 상기 환경이 상기 실링된 키 블로브에 의해 지정된 기준을 만족하는 것으로 결정하도록 하는 머신 판독가능한 매체.
  22. 제20항에 있어서, 상기 복수의 명령은 또한 상기 프로세서가,
    상기 제1 키 핸들에 의해 식별된 상기 제1 키 쌍을 이용하여 시크리트를 성공적으로 암호해제하는 것에 응답하여 상기 환경이 상기 실링된 키 블로브에 의해 지정된 기준을 만족하는 것으로 결정하도록 하는 머신 판독가능한 매체.
  23. 컴퓨팅 디바이스로서,
    제1 처리 유닛 - 상기 제1 처리 유닛은 제1 인증 코드가 실링된 키 블로브의 제1 사용 인가 데이터와 소정 관계를 가지고 있다고 결정한 것에 응답하여, 상기 실링된 키 블로브의 제1 키 쌍을 상기 제1 보호된 스토리지에 로딩함- 및 제1 보호된 스토리지를 포함하는 고정형 토큰;
    제2 처리 유닛 - 상기 제2 처리 유닛은 제2 인증 코드가 보호된 키 블로브의 제2 사용 인가 데이터와 소정 관계를 가지고 있다고 결정한 것에 응답하여, 상기 보호된 키 블로브로부터 상기 실링된 키 블로브를 리턴함- 및 제2 보호된 스토리지를 포함하는 이동형 토큰;
    상기 이동형 토큰이 상기 컴퓨팅 디바이스에 결합되고 이로부터 제거될 수 있도록 하는 이동형 토큰 인터페이스; 및
    상기 보호된 키 블로브 및 상기 제2 인증 코드를 포함하는 상기 실링된 키 블로브에 대한 요구를 상기 이동형 토큰에 제공하고, 상기 실링된 키 블로브 및 상기 제1 인증 코드를 포함하는 상기 제1 키 쌍을 로딩하는 요구를 상기 고정형 토큰에 제공하는 프로세서
    를 포함하는 컴퓨팅 디바이스.
  24. 제23항에 있어서,
    상기 고정형 토큰은 상기 제1 키 쌍을 성공적으로 로딩한 것에 응답하여 상기 제1 키 쌍에 제1 키 핸들을 제공하고,
    상기 프로세서는 상기 이동형 토큰에 연관된 사용자가 상기 제1 키 핸들을 수신한 것에 응답하여 존재하는 것으로 결정하는 컴퓨팅 디바이스.
  25. 제23항에 있어서,
    상기 고정형 토큰은 상기 제1 키 쌍을 성공적으로 로딩한 것에 응답하여 상기 제1 키 쌍에 제1 키 핸들을 제공하고,
    상기 프로세서는 상기 제1 키 핸들에 의해 식별된 상기 제1 키 쌍을 이용하여 시크리트를 성공적으로 암호해제하는 것에 응답하여 이동형 토큰과 연관된 사용자가 존재하는 것으로 결정하는 컴퓨팅 디바이스.
  26. 제23항에 있어서,
    상기 고정형 토큰의 상기 제1 보호된 스토리지는 환경의 메트릭을 저장하기 위한 레지스터를 포함하고,
    상기 프로세서는 상기 환경의 복수의 메트릭을 상기 고정형 토큰에 제공하며,
    상기 레지스터에 저장된 메트릭은 상기 환경이 상기 실링된 키 블로브의 기준을 만족하는 경우에만, 상기 제1 처리는 상기 제1 키 쌍을 상기 제1 보호된 스토리지에 로딩하는 컴퓨팅 디바이스.
  27. 제26항에 있어서,
    상기 고정형 토큰은 상기 제1 키 쌍을 성공적으로 로딩한 것에 응답하여 제1 키 핸들을 상기 제1 키 쌍에 제공하고,
    상기 프로세서는 상기 제1 키 핸들을 수신한 것에 응답하여 상기 환경이 상기 실링된 키 블로브에 의해 지정된 기준을 만족하도록 결정하는 컴퓨팅 디바이스.
  28. 제26항에 있어서,
    상기 고정형 토큰은 상기 제1 키 쌍을 성공적으로 로딩하는 것에 응답하여 제1 키 핸들을 제1 키 쌍에 제공하고,
    상기 프로세서는 상기 제1 키 핸들에 의해 식별된 상기 제1 키 쌍을 이용하여 시크리트를 성공적으로 암호해제하는 것에 응답하여, 상기 실링된 키 블로브에 의해 지정된 기준을 만족하는 것으로 결정하는 컴퓨팅 디바이스.
  29. 제26항에 있어서,
    상기 처리 유닛은 상기 환경이 상기 실링된 키 블로브의 기준을 만족하지 않은 것으로 결정한 것에 응답하여, 상기 고정형 토큰으로부터 상기 실링된 키 블로브 및 임의의 연관된 데이터를 제거하는 컴퓨팅 디바이스.
  30. 제23항에 있어서,
    상기 고정형 토큰은 상기 실링된 키 블로브를 생성하는데 이용되는 키 쌍을 포함하고,
    상기 제1 처리 유닛은 상기 실링된 키 블로브를 생성하는데 이용되는 상기 키 쌍에 대해 확립된 제1 세션을 통해 수신된 요구에 응답하여 상기 실링된 키 블로브의 상기 제1 키 쌍만을 로딩하며,
    상기 프로세서는 상기 고정형 토큰에 상기 제1 키 쌍을 로딩하라는 요구를 제공하기 전에 상기 제1 세션을 확립하는 컴퓨팅 디바이스.
  31. 제30항에 있어서,
    상기 이동형 토큰은 상기 보호된 키 블로브를 생성하는데 이용되는 키 쌍을 포함하고,
    상기 제2 처리 유닛은 상기 보호된 키 블로브를 생성하는데 이용되는 상기 키 쌍에 대해 확립된 제2 세션을 통해 수신된 요구에 응답하여 상기 실링된 키 블로브의 상기 제1 키 쌍만을 로딩하며,
    상기 프로세서는 상기 실링된 키 블로브에 대한 요구를 상기 이동형 토큰에 제공하기 전에, 상기 제2 세션을 확립하는 컴퓨팅 디바이스.
KR1020057010996A 2002-12-16 2003-11-12 고정형 토큰 및 이동형 토큰 모두를 이용한 어테스테이션 KR100737628B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/321,751 US7318235B2 (en) 2002-12-16 2002-12-16 Attestation using both fixed token and portable token
US10/321,751 2002-12-16

Publications (2)

Publication Number Publication Date
KR20050085678A true KR20050085678A (ko) 2005-08-29
KR100737628B1 KR100737628B1 (ko) 2007-07-10

Family

ID=32507124

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057010996A KR100737628B1 (ko) 2002-12-16 2003-11-12 고정형 토큰 및 이동형 토큰 모두를 이용한 어테스테이션

Country Status (7)

Country Link
US (1) US7318235B2 (ko)
EP (1) EP1573468A2 (ko)
KR (1) KR100737628B1 (ko)
CN (1) CN100566243C (ko)
AU (1) AU2003290767A1 (ko)
TW (1) TWI255122B (ko)
WO (1) WO2004061628A2 (ko)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7480806B2 (en) * 2002-02-22 2009-01-20 Intel Corporation Multi-token seal and unseal
US7890771B2 (en) 2002-04-17 2011-02-15 Microsoft Corporation Saving and retrieving data based on public key encryption
US7571472B2 (en) * 2002-12-30 2009-08-04 American Express Travel Related Services Company, Inc. Methods and apparatus for credential validation
US7454622B2 (en) * 2002-12-31 2008-11-18 American Express Travel Related Services Company, Inc. Method and system for modular authentication and session management
US7181016B2 (en) * 2003-01-27 2007-02-20 Microsoft Corporation Deriving a symmetric key from an asymmetric key for file encryption or decryption
US7210034B2 (en) * 2003-01-30 2007-04-24 Intel Corporation Distributed control of integrity measurement using a trusted fixed token
US20050044408A1 (en) * 2003-08-18 2005-02-24 Bajikar Sundeep M. Low pin count docking architecture for a trusted platform
US8190893B2 (en) 2003-10-27 2012-05-29 Jp Morgan Chase Bank Portable security transaction protocol
US7797544B2 (en) * 2003-12-11 2010-09-14 Microsoft Corporation Attesting to establish trust between computer entities
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
US7318150B2 (en) * 2004-02-25 2008-01-08 Intel Corporation System and method to support platform firmware as a trusted process
US7631360B2 (en) * 2004-06-12 2009-12-08 Microsoft Corporation Hardware protection
CN104104517B (zh) * 2004-10-15 2017-11-07 弗里塞恩公司 一次性密码验证的方法和系统
US7412596B2 (en) * 2004-10-16 2008-08-12 Lenovo (Singapore) Pte. Ltd. Method for preventing system wake up from a sleep state if a boot log returned during the system wake up cannot be authenticated
US20060090078A1 (en) * 2004-10-21 2006-04-27 Blythe Michael M Initiation of an application
US7475247B2 (en) * 2004-12-16 2009-01-06 International Business Machines Corporation Method for using a portable computing device as a smart key device
US8761400B2 (en) * 2005-07-15 2014-06-24 Microsoft Corporation Hardware linked product key
US7809957B2 (en) * 2005-09-29 2010-10-05 Intel Corporation Trusted platform module for generating sealed data
US8090939B2 (en) * 2005-10-21 2012-01-03 Hewlett-Packard Development Company, L.P. Digital certificate that indicates a parameter of an associated cryptographic token
US9258124B2 (en) 2006-04-21 2016-02-09 Symantec Corporation Time and event based one time password
US8332637B2 (en) * 2006-06-06 2012-12-11 Red Hat, Inc. Methods and systems for nonce generation in a token
US20080040613A1 (en) * 2006-08-14 2008-02-14 David Carroll Challener Apparatus, system, and method for secure password reset
JP5144679B2 (ja) * 2006-12-19 2013-02-13 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 通信ネットワークにおけるユーザアクセス管理
US20080320263A1 (en) * 2007-06-20 2008-12-25 Daniel Nemiroff Method, system, and apparatus for encrypting, integrity, and anti-replay protecting data in non-volatile memory in a fault tolerant manner
US7913086B2 (en) * 2007-06-20 2011-03-22 Nokia Corporation Method for remote message attestation in a communication system
US8620818B2 (en) * 2007-06-25 2013-12-31 Microsoft Corporation Activation system architecture
US7853804B2 (en) * 2007-09-10 2010-12-14 Lenovo (Singapore) Pte. Ltd. System and method for secure data disposal
JP5230797B2 (ja) * 2008-04-02 2013-07-10 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. ディスクドライブデータの暗号化
FR2929788B1 (fr) * 2008-04-08 2011-11-04 Eads Secure Networks Gestion d'utilisation securisee de terminal
US9276750B2 (en) * 2013-07-23 2016-03-01 Intel Corporation Secure processing environment measurement and attestation
US20160012426A1 (en) 2014-07-11 2016-01-14 Google Inc. Hands-free transactions with a challenge and response
US9652759B2 (en) 2014-07-11 2017-05-16 Google Inc. Hands-free transactions
US20160012430A1 (en) * 2014-07-11 2016-01-14 Google Inc. Hands-free offline communications
JP6937757B2 (ja) 2016-03-01 2021-09-22 グーグル エルエルシーGoogle LLC ハンズフリー取引のための顔の外形の修正
KR102314098B1 (ko) 2016-07-31 2021-10-18 구글 엘엘씨 자동 핸즈프리 서비스 요청
US10459664B1 (en) * 2017-04-10 2019-10-29 Pure Storage, Inc. Virtualized copy-by-reference
US10474809B1 (en) * 2019-07-12 2019-11-12 Capital One Services, Llc Computer-based systems and computing devices configured to utilize one or more authentication servers for securing device commands transmissions and methods of use thereof
WO2021011343A1 (en) * 2019-07-12 2021-01-21 Ethopass, Llc Data protection and recovery systems and methods
CN111143084B (zh) * 2019-11-19 2023-05-09 厦门天锐科技股份有限公司 服务程序与界面程序的交互方法、装置、设备及介质
US20200127850A1 (en) * 2019-12-20 2020-04-23 Intel Corporation Certifying a trusted platform module without privacy certification authority infrastructure
KR102652364B1 (ko) * 2020-10-26 2024-03-29 구글 엘엘씨 다중 수신자 보안 통신
US11521206B2 (en) * 2020-12-07 2022-12-06 Jpmorgan Chase Bank, N.A. Systems and methods for providing immutable identifiers for aggregated data structures
CN116522300B (zh) * 2023-07-04 2023-09-08 北京点聚信息技术有限公司 一种电子印章智能管理系统

Family Cites Families (145)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3699532A (en) 1970-04-21 1972-10-17 Singer Co Multiprogramming control for a data handling system
US3996449A (en) 1975-08-25 1976-12-07 International Business Machines Corporation Operating system authenticator
US4162536A (en) 1976-01-02 1979-07-24 Gould Inc., Modicon Div. Digital input/output system and method
US4037214A (en) 1976-04-30 1977-07-19 International Business Machines Corporation Key register controlled accessing system
US4278837A (en) 1977-10-31 1981-07-14 Best Robert M Crypto microprocessor for executing enciphered programs
US4276594A (en) 1978-01-27 1981-06-30 Gould Inc. Modicon Division Digital computer with multi-processor capability utilizing intelligent composite memory and input/output modules and method for performing the same
US4207609A (en) 1978-05-08 1980-06-10 International Business Machines Corporation Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system
JPS5823570B2 (ja) 1978-11-30 1983-05-16 国産電機株式会社 液面検出装置
US4307447A (en) 1979-06-19 1981-12-22 Gould Inc. Programmable controller
US4529870A (en) 1980-03-10 1985-07-16 David Chaum Cryptographic identification, financial transaction, and credential device
US4319323A (en) 1980-04-04 1982-03-09 Digital Equipment Corporation Communications device for data processing system
US4419724A (en) 1980-04-14 1983-12-06 Sperry Corporation Main bus interface package
US4366537A (en) 1980-05-23 1982-12-28 International Business Machines Corp. Authorization mechanism for transfer of program control or data between different address spaces having different storage protect keys
US4403283A (en) 1980-07-28 1983-09-06 Ncr Corporation Extended memory system and method
DE3034581A1 (de) 1980-09-13 1982-04-22 Robert Bosch Gmbh, 7000 Stuttgart Auslesesicherung bei einchip-mikroprozessoren
JPS58140862A (ja) 1982-02-16 1983-08-20 Toshiba Corp 相互排他方式
US4521852A (en) 1982-06-30 1985-06-04 Texas Instruments Incorporated Data processing device formed on a single semiconductor substrate having secure memory
JPS59111561A (ja) 1982-12-17 1984-06-27 Hitachi Ltd 複合プロセツサ・システムのアクセス制御方式
US4759064A (en) 1985-10-07 1988-07-19 Chaum David L Blind unanticipated signature systems
US4975836A (en) 1984-12-19 1990-12-04 Hitachi, Ltd. Virtual computer system
JPS61206057A (ja) 1985-03-11 1986-09-12 Hitachi Ltd アドレス変換装置
FR2601525B1 (fr) 1986-07-11 1988-10-21 Bull Cp8 Dispositif de securite interdisant le fonctionnement d'un ensemble electronique apres une premiere coupure de son alimentation electrique
US4843541A (en) 1987-07-29 1989-06-27 International Business Machines Corporation Logical resource partitioning of a data processing system
US5007082A (en) 1988-08-03 1991-04-09 Kelly Services, Inc. Computer software encryption apparatus
US4974159A (en) 1988-09-13 1990-11-27 Microsoft Corporation Method of transferring control in a multitasking computer system
US5079737A (en) 1988-10-25 1992-01-07 United Technologies Corporation Memory management unit for the MIL-STD 1750 bus
JPH02171934A (ja) 1988-12-26 1990-07-03 Hitachi Ltd 仮想計算機システム
JPH02208740A (ja) 1989-02-09 1990-08-20 Fujitsu Ltd 仮想計算機制御方式
JP2590267B2 (ja) 1989-06-30 1997-03-12 株式会社日立製作所 仮想計算機における表示制御方式
US5022077A (en) 1989-08-25 1991-06-04 International Business Machines Corp. Apparatus and method for preventing unauthorized access to BIOS in a personal computer system
JP2825550B2 (ja) 1989-09-21 1998-11-18 株式会社日立製作所 多重仮想空間アドレス制御方法および計算機システム
CA2010591C (en) 1989-10-20 1999-01-26 Phillip M. Adams Kernels, description tables and device drivers
US5075842A (en) 1989-12-22 1991-12-24 Intel Corporation Disabling tag bit recognition and allowing privileged operations to occur in an object-oriented memory protection mechanism
US5108590A (en) 1990-09-12 1992-04-28 Disanto Dennis Water dispenser
US5230069A (en) 1990-10-02 1993-07-20 International Business Machines Corporation Apparatus and method for providing private and shared access to host address and data spaces by guest programs in a virtual machine computer system
US5317705A (en) 1990-10-24 1994-05-31 International Business Machines Corporation Apparatus and method for TLB purge reduction in a multi-level machine system
US5287363A (en) 1991-07-01 1994-02-15 Disk Technician Corporation System for locating and anticipating data storage media failures
US5255379A (en) 1990-12-28 1993-10-19 Sun Microsystems, Inc. Method for automatically transitioning from V86 mode to protected mode in a computer system using an Intel 80386 or 80486 processor
US5319760A (en) 1991-06-28 1994-06-07 Digital Equipment Corporation Translation buffer for virtual machines with address space match
US5455909A (en) 1991-07-05 1995-10-03 Chips And Technologies Inc. Microprocessor with operation capture facility
JPH06236284A (ja) 1991-10-21 1994-08-23 Intel Corp コンピュータシステム処理状態を保存及び復元する方法及びコンピュータシステム
US5627987A (en) 1991-11-29 1997-05-06 Kabushiki Kaisha Toshiba Memory management and protection system for virtual memory in computer system
US5574936A (en) 1992-01-02 1996-11-12 Amdahl Corporation Access control mechanism controlling access to and logical purging of access register translation lookaside buffer (ALB) in a computer system
US5421006A (en) 1992-05-07 1995-05-30 Compaq Computer Corp. Method and apparatus for assessing integrity of computer system software
US5237616A (en) 1992-09-21 1993-08-17 International Business Machines Corporation Secure computer system having privileged and unprivileged memories
US5293424A (en) 1992-10-14 1994-03-08 Bull Hn Information Systems Inc. Secure memory card
US5668971A (en) 1992-12-01 1997-09-16 Compaq Computer Corporation Posted disk read operations performed by signalling a disk read complete to the system prior to completion of data transfer
JPH06187178A (ja) 1992-12-18 1994-07-08 Hitachi Ltd 仮想計算機システムの入出力割込み制御方法
US5483656A (en) 1993-01-14 1996-01-09 Apple Computer, Inc. System for managing power consumption of devices coupled to a common bus
US5469557A (en) 1993-03-05 1995-11-21 Microchip Technology Incorporated Code protection in microcontroller with EEPROM fuses
FR2703800B1 (fr) 1993-04-06 1995-05-24 Bull Cp8 Procédé de signature d'un fichier informatique, et dispositif pour la mise en Óoeuvre.
US5628023A (en) 1993-04-19 1997-05-06 International Business Machines Corporation Virtual storage computer system having methods and apparatus for providing token-controlled access to protected pages of memory via a token-accessible view
JPH06348867A (ja) 1993-06-04 1994-12-22 Hitachi Ltd マイクロコンピュータ
US5444850A (en) 1993-08-04 1995-08-22 Trend Micro Devices Incorporated Method and apparatus for controlling network and workstation access prior to workstation boot
US5555385A (en) 1993-10-27 1996-09-10 International Business Machines Corporation Allocation of address spaces within virtual machine compute system
US5825880A (en) 1994-01-13 1998-10-20 Sudia; Frank W. Multi-step digital signature method and system
US5459869A (en) 1994-02-17 1995-10-17 Spilo; Michael L. Method for providing protected mode services for device drivers and other resident software
US5604805A (en) 1994-02-28 1997-02-18 Brands; Stefanus A. Privacy-protected transfer of electronic information
US5684881A (en) 1994-05-23 1997-11-04 Matsushita Electric Industrial Co., Ltd. Sound field and sound image control apparatus and method
US5473692A (en) 1994-09-07 1995-12-05 Intel Corporation Roving software license for a hardware agent
US5539828A (en) 1994-05-31 1996-07-23 Intel Corporation Apparatus and method for providing secured communications
US5978481A (en) 1994-08-16 1999-11-02 Intel Corporation Modem compatible method and apparatus for encrypting data that is transparent to software applications
JPH0883211A (ja) 1994-09-12 1996-03-26 Mitsubishi Electric Corp データ処理装置
DE69534757T2 (de) 1994-09-15 2006-08-31 International Business Machines Corp. System und Verfahren zur sicheren Speicherung und Verteilung von Daten unter Verwendung digitaler Unterschriften
US6058478A (en) * 1994-09-30 2000-05-02 Intel Corporation Apparatus and method for a vetted field upgrade
US6741991B2 (en) * 1994-09-30 2004-05-25 Mitsubishi Corporation Data management system
US5606617A (en) 1994-10-14 1997-02-25 Brands; Stefanus A. Secret-key certificates
US5564040A (en) 1994-11-08 1996-10-08 International Business Machines Corporation Method and apparatus for providing a server function in a logically partitioned hardware machine
US5560013A (en) 1994-12-06 1996-09-24 International Business Machines Corporation Method of using a target processor to execute programs of a source architecture that uses multiple address spaces
US5555414A (en) 1994-12-14 1996-09-10 International Business Machines Corporation Multiprocessing system including gating of host I/O and external enablement to guest enablement at polling intervals
US5615263A (en) 1995-01-06 1997-03-25 Vlsi Technology, Inc. Dual purpose security architecture with protected internal operating system
US5764969A (en) 1995-02-10 1998-06-09 International Business Machines Corporation Method and system for enhanced management operation utilizing intermixed user level and supervisory level instructions with partial concept synchronization
US5727061A (en) * 1995-02-13 1998-03-10 Eta Technologies Corporation Personal access management systems
US5717903A (en) 1995-05-15 1998-02-10 Compaq Computer Corporation Method and appartus for emulating a peripheral device to allow device driver development before availability of the peripheral device
US5684948A (en) 1995-09-01 1997-11-04 National Semiconductor Corporation Memory management circuit which provides simulated privilege levels
US5633929A (en) 1995-09-15 1997-05-27 Rsa Data Security, Inc Cryptographic key escrow system having reduced vulnerability to harvesting attacks
US5737760A (en) 1995-10-06 1998-04-07 Motorola Inc. Microcontroller with security logic circuit which prevents reading of internal memory by external program
US6093213A (en) * 1995-10-06 2000-07-25 Advanced Micro Devices, Inc. Flexible implementation of a system management mode (SMM) in a processor
JP3693721B2 (ja) 1995-11-10 2005-09-07 Necエレクトロニクス株式会社 フラッシュメモリ内蔵マイクロコンピュータ及びそのテスト方法
US5790668A (en) * 1995-12-19 1998-08-04 Mytec Technologies Inc. Method and apparatus for securely handling data in a database of biometrics and associated data
US5657445A (en) 1996-01-26 1997-08-12 Dell Usa, L.P. Apparatus and method for limiting access to mass storage devices in a computer system
US5835594A (en) 1996-02-09 1998-11-10 Intel Corporation Methods and apparatus for preventing unauthorized write access to a protected non-volatile storage
PT885417E (pt) * 1996-02-09 2002-11-29 Digital Privacy Inc Sistema de controlo/criptografia de acesso
US5815665A (en) 1996-04-03 1998-09-29 Microsoft Corporation System and method for providing trusted brokering services over a distributed network
US5809546A (en) 1996-05-23 1998-09-15 International Business Machines Corporation Method for managing I/O buffers in shared storage by structuring buffer table having entries including storage keys for controlling accesses to the buffers
US6178509B1 (en) * 1996-06-13 2001-01-23 Intel Corporation Tamper resistant methods and apparatus
US6205550B1 (en) * 1996-06-13 2001-03-20 Intel Corporation Tamper resistant methods and apparatus
US6175925B1 (en) * 1996-06-13 2001-01-16 Intel Corporation Tamper resistant player for scrambled contents
US5729760A (en) 1996-06-21 1998-03-17 Intel Corporation System for providing first type access to register if processor in first mode and second type access to register if processor not in first mode
US5944821A (en) 1996-07-11 1999-08-31 Compaq Computer Corporation Secure software registration and integrity assessment in a computer system
US6199152B1 (en) * 1996-08-22 2001-03-06 Transmeta Corporation Translated memory protection apparatus for an advanced microprocessor
US5740178A (en) 1996-08-29 1998-04-14 Lucent Technologies Inc. Software for controlling a reliable backup memory
US6055637A (en) 1996-09-27 2000-04-25 Electronic Data Systems Corporation System and method for accessing enterprise-wide resources by presenting to the resource a temporary credential
US5844986A (en) 1996-09-30 1998-12-01 Intel Corporation Secure BIOS
US5937063A (en) 1996-09-30 1999-08-10 Intel Corporation Secure boot
US5935242A (en) 1996-10-28 1999-08-10 Sun Microsystems, Inc. Method and apparatus for initializing a device
JPH10134008A (ja) * 1996-11-05 1998-05-22 Mitsubishi Electric Corp 半導体装置およびコンピュータシステム
US5852717A (en) 1996-11-20 1998-12-22 Shiva Corporation Performance optimizations for computer networks utilizing HTTP
US5901225A (en) 1996-12-05 1999-05-04 Advanced Micro Devices, Inc. System and method for performing software patches in embedded systems
US5757919A (en) 1996-12-12 1998-05-26 Intel Corporation Cryptographically protected paging subsystem
US5953502A (en) 1997-02-13 1999-09-14 Helbig, Sr.; Walter A Method and apparatus for enhancing computer system security
US6044478A (en) 1997-05-30 2000-03-28 National Semiconductor Corporation Cache with finely granular locked-down regions
US5987557A (en) 1997-06-19 1999-11-16 Sun Microsystems, Inc. Method and apparatus for implementing hardware protection domains in a system with no memory management unit (MMU)
US6035374A (en) 1997-06-25 2000-03-07 Sun Microsystems, Inc. Method of executing coded instructions in a multiprocessor having shared execution resources including active, nap, and sleep states in accordance with cache miss latency
US6014745A (en) 1997-07-17 2000-01-11 Silicon Systems Design Ltd. Protection for customer programs (EPROM)
US5978475A (en) 1997-07-18 1999-11-02 Counterpane Internet Security, Inc. Event auditing system
US5919257A (en) 1997-08-08 1999-07-06 Novell, Inc. Networked workstation intrusion detection system
US6282657B1 (en) * 1997-09-16 2001-08-28 Safenet, Inc. Kernel mode protection
US5935247A (en) 1997-09-18 1999-08-10 Geneticware Co., Ltd. Computer system having a genetic code that cannot be directly accessed and a method of maintaining the same
US5970147A (en) 1997-09-30 1999-10-19 Intel Corporation System and method for configuring and registering a cryptographic device
US6108644A (en) * 1998-02-19 2000-08-22 At&T Corp. System and method for electronic transactions
US6131166A (en) * 1998-03-13 2000-10-10 Sun Microsystems, Inc. System and method for cross-platform application level power management
US6473800B1 (en) * 1998-07-15 2002-10-29 Microsoft Corporation Declarative permission requests in a computer system
US6393565B1 (en) * 1998-08-03 2002-05-21 Entrust Technologies Limited Data management system and method for a limited capacity cryptographic storage unit
US20020004900A1 (en) * 1998-09-04 2002-01-10 Baiju V. Patel Method for secure anonymous communication
US7194092B1 (en) * 1998-10-26 2007-03-20 Microsoft Corporation Key-based secure storage
US6609199B1 (en) * 1998-10-26 2003-08-19 Microsoft Corporation Method and apparatus for authenticating an open system application to a portable IC device
US6138239A (en) * 1998-11-13 2000-10-24 N★Able Technologies, Inc. Method and system for authenticating and utilizing secure resources in a computer system
US6473508B1 (en) * 1998-12-22 2002-10-29 Adam Lucas Young Auto-recoverable auto-certifiable cryptosystems with unescrowed signature-only keys
US7111290B1 (en) * 1999-01-28 2006-09-19 Ati International Srl Profiling program execution to identify frequently-executed portions and to assist binary translation
US6560627B1 (en) * 1999-01-28 2003-05-06 Cisco Technology, Inc. Mutual exclusion at the record level with priority inheritance for embedded systems using one semaphore
JP4812168B2 (ja) * 1999-02-15 2011-11-09 ヒューレット・パッカード・カンパニー 信用コンピューティング・プラットフォーム
US7225333B2 (en) * 1999-03-27 2007-05-29 Microsoft Corporation Secure processor architecture for use with a digital rights management (DRM) system on a computing device
US6615278B1 (en) * 1999-03-29 2003-09-02 International Business Machines Corporation Cross-platform program, system, and method having a global registry object for mapping registry equivalent functions in an OS/2 operating system environment
US6684326B1 (en) * 1999-03-31 2004-01-27 International Business Machines Corporation Method and system for authenticated boot operations in a computer system of a networked computing environment
US6529909B1 (en) * 1999-08-31 2003-03-04 Accenture Llp Method for translating an object attribute converter in an information services patterns environment
JP3710671B2 (ja) * 2000-03-14 2005-10-26 シャープ株式会社 1チップマイクロコンピュータ及びそれを用いたicカード、並びに1チップマイクロコンピュータのアクセス制御方法
US6678825B1 (en) * 2000-03-31 2004-01-13 Intel Corporation Controlling access to multiple isolated memories in an isolated execution environment
GB0020416D0 (en) * 2000-08-18 2000-10-04 Hewlett Packard Co Trusted system
US20020129261A1 (en) * 2001-03-08 2002-09-12 Cromer Daryl Carvis Apparatus and method for encrypting and decrypting data recorded on portable cryptographic tokens
US7631160B2 (en) * 2001-04-04 2009-12-08 Advanced Micro Devices, Inc. Method and apparatus for securing portions of memory
US20030005317A1 (en) * 2001-06-28 2003-01-02 Audebert Yves Louis Gabriel Method and system for generating and verifying a key protection certificate
US20030002668A1 (en) * 2001-06-30 2003-01-02 Gary Graunke Multi-level, multi-dimensional content protections
US7191464B2 (en) * 2001-10-16 2007-03-13 Lenovo Pte. Ltd. Method and system for tracking a secure boot in a trusted computing environment
DE10158531B4 (de) * 2001-11-29 2006-09-28 Universitätsklinikum Freiburg Verfahren zur Messung der Magnetresonanz (NMR) mittels Spin-Echos
US7103771B2 (en) * 2001-12-17 2006-09-05 Intel Corporation Connecting a virtual token to a physical token
US7475250B2 (en) * 2001-12-19 2009-01-06 Northrop Grumman Corporation Assignment of user certificates/private keys in token enabled public key infrastructure system
US20030126453A1 (en) * 2001-12-31 2003-07-03 Glew Andrew F. Processor supporting execution of an authenticated code instruction
US7308576B2 (en) * 2001-12-31 2007-12-11 Intel Corporation Authenticated code module
US7242768B2 (en) * 2002-01-14 2007-07-10 Lenovo (Singapore) Pte. Ltd. Super secure migratable keys in TCPA
US7107460B2 (en) * 2002-02-15 2006-09-12 International Business Machines Corporation Method and system for securing enablement access to a data security device
US7130999B2 (en) * 2002-03-27 2006-10-31 Intel Corporation Using authentication certificates for authorization
US7343493B2 (en) * 2002-03-28 2008-03-11 Lenovo (Singapore) Pte. Ltd. Encrypted file system using TCPA
US7028149B2 (en) * 2002-03-29 2006-04-11 Intel Corporation System and method for resetting a platform configuration register
US7165181B2 (en) * 2002-11-27 2007-01-16 Intel Corporation System and method for establishing trust without revealing identity

Also Published As

Publication number Publication date
CN1514571A (zh) 2004-07-21
TW200423672A (en) 2004-11-01
US20040117625A1 (en) 2004-06-17
WO2004061628A2 (en) 2004-07-22
CN100566243C (zh) 2009-12-02
WO2004061628A3 (en) 2005-01-27
KR100737628B1 (ko) 2007-07-10
US7318235B2 (en) 2008-01-08
TWI255122B (en) 2006-05-11
AU2003290767A1 (en) 2004-07-29
EP1573468A2 (en) 2005-09-14

Similar Documents

Publication Publication Date Title
KR100737628B1 (ko) 고정형 토큰 및 이동형 토큰 모두를 이용한 어테스테이션
US7480806B2 (en) Multi-token seal and unseal
US7103771B2 (en) Connecting a virtual token to a physical token
JP6151402B2 (ja) データセンタへのプラットフォームの内包検証
KR101067399B1 (ko) 대칭 키 암호화에 기초한 데이터의 저장 및 검색을 위한, 컴퓨팅 장치에서 구현되는 방법, 시스템 및 복수의 명령어를 저장하는 하나 이상의 컴퓨터 판독가능 매체
KR100996784B1 (ko) 공개 키 암호화에 기초한 데이터의 저장 및 검색을 위한, 컴퓨팅 장치에서 구현되는 방법, 시스템 및 복수의 명령어를 저장하는 하나 이상의 컴퓨터 판독가능 매체
US20040117318A1 (en) Portable token controlling trusted environment launch
US20050283826A1 (en) Systems and methods for performing secure communications between an authorized computing platform and a hardware component
US9015454B2 (en) Binding data to computers using cryptographic co-processor and machine-specific and platform-specific keys
US20230134324A1 (en) Managing storage of secrets in memories of baseboard management controllers
US20230237155A1 (en) Securing communications with security processors using platform keys
KR20100031408A (ko) 네크워크 시스템에서 가상화 및 신뢰 플랫폼 모듈을 이용한데이터 보안 처리 방법 및 기록매체
CN117648703A (zh) 一种数据可控使用方法
Reimair Trusted virtual security module
Emanuel Tamper free deployment and execution of software using TPM

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
G170 Publication of correction
LAPS Lapse due to unpaid annual fee