KR20050085678A - 고정형 토큰 및 이동형 토큰 모두를 이용한 어테스테이션 - Google Patents
고정형 토큰 및 이동형 토큰 모두를 이용한 어테스테이션 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/34—User authentication involving the use of external additional devices, e.g. dongles or smart cards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/367—Payment 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/0827—Key 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0877—Generation 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3234—Cryptographic 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
트러스티드 플랫폼 컴퓨팅 연합(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 키 쌍의 개인키를 이용하기 위해 요구됨 -; 및이동형 토큰이 실링된 키 블로브 및 제2 사용 인가 데이터를 포함하는 보호된 키 블로브를 생성하도록 요구하는 단계 - 상기 지식은 보호된 키 블로브로부터 실링된 키 블로브를 얻기 위해 요구됨-를 포함하는 방법.
- 제1항에 있어서,상기 제1 키 쌍의 개인키 및 상기 제1 사용 인가 데이터를 고정형 토큰 및 상기 고정형 토큰의 공개키로 암호화하는 단계; 및상기 실링된 키 블로브를 상기 암호화된 공개키 및 상기 암호화된 제1 사용 인가 데이터로 생성하는 단계를 포함하는 방법.
- 제2항에 있어서,상기 실링된 키 블로브 및 상기 제2 사용 인가 데이터를, 이동형 토큰 및 상기 이동형 토큰의 공개키로 암호하하는 단계, 및상기 보호된 키 블로브를, 상기 암호화된 실링된 키 블로브 및 상기 암호화된 제2 사용 인가 데이터로 생성하는 단계를 포함하는 방법.
- 제1항에 있어서,상기 이동형 토큰이 상기 보호된 키 블로브로부터 상기 실링된 키 블로브를 리턴하도록 요구하는 단계,상기 이동형 토큰에 상기 제2 사용 인가 데이터를 소유하고 있는 증명을 제공하는 단계, 및상기 제2 사용 인가 데이터를 가지고 있다는 증명이 유효한 경우에만, 상기 이동형 토큰으로부터 상기 실링된 키 블로브를 얻는 단계를 포함하는 방법.
- 제4항에 있어서,상기 고정형 토큰이 상기 실링된 키 블로브로부터 상기 제1 키 쌍을 로딩하도록 요구하는 단계,상기 고정형 토큰에 상기 제1 사용 인가 데이터를 가지고 있다는 증명을 제공하는 단계, 및상기 제1 사용 인가 데이터를 가지고 있다는 증명이 유효한 경우에만, 상기 고정형 토큰에 저장된 상기 제1 키 쌍으로의 키 핸들을 얻는 단계를 포함하는 방법.
- 제1항에 있어서,상기 보호된 키 블로브로부터 상기 실링된 키 블로브를 리턴하도록 상기 휴대용 토큰으로 요구를 지향하는 단계 - 상기 요구는 상기 제2 사용 인가 데이터를 가지고 있다는 증명을 포함하는 요구를 포함함 -, 및상기 이동형 토큰이 존재했고 상기 제2 사용 인가 데이터를 가지고 있다는 증명이 유효한 경우에만 상기 이동형 토큰으로부터 상기 실링된 키 블로브를 얻는 단계를 포함하는 방법.
- 제6항에 있어서,상기 실링된 키 블로브로부터 상기 제1 키 쌍을 로딩하도록 상기 고정형 토큰으로의 요구를 지향하는 단계 - 상기 요구는 상기 제1 사용 인가 데이터를 가지고 있는 증명을 포함함 -, 및상기 제1 사용 인가 데이터를 가지고 있는 증명이 유효하고 상기 요구와 연관된 환경이 상기 실링된 키 블로브에 의해 지정된 조건을 만족하는 경우에만, 상기 고정형 토큰에 저장된 상기 제1 키 쌍으로의 키 핸들을 얻는 단계를 포함하는 방법.
- 제3항에 있어서,상기 이동형 토큰에 상기 보호된 키 블로브의 상기 실링된 키 블로브에 대한 요구를 제공하는 단계 - 상기 요구는 상기 제2 사용 인가 데이터를 가지고 있는 증명을 제공함 -,상기 암호화된 실링된 키 블로브 및 상기 보호된 키 블로브의 상기 암호화된 제2 사용 인가 데이터를 상기 이동형 토큰의 개인키를 이용하여 상기 이동형 토큰으로 암호해제하는 단계, 및상기 이동형 토큰이 상기 제2 사용 인가 데이터를 가지고 있는 증명이 유효한 것으로 결정한 것에 응답하여, 상기 이동형 토큰으로부터 상기 실링된 키 블로브를 수신하는 단계를 포함하는 방법.
- 제8항에 있어서,상기 제2 사용 인가 데이터를 가지고 있는 증명이 무효한 것으로 결정한 것에 응답하여, 상기 이동형 토큰으로부터 상기 보호된 키 블로브 및 연관된 데이터를 제거하는 단계를 더 포함하는 방법.
- 제9항에 있어서, 상기 제2 사용 인가 데이터를 가지고 있는 증명이 무효한 것으로 결정한 것에 응답하여 상기 이동형 토큰을 비활성화시키는 단계를 더 포함하는 방법.
- 제8항에 있어서,상기 고정형 토큰에 상기 실링된 키 블로브의 상기 제1 키 쌍을 로딩하는 요구를 제공하는 단계 - 상기 요구는 상기 제1 사용 인가 데이터를 가지고 있는 증명을 제공함 -,상기 암호화된 개인키 및 상기 실링된 키 블로브의 상기 암호화된 제1 사용 인가 데이터를 상기 고정형 토큰의 개인키를 이용하여 상기 고정형 토큰으로 암호해제하는 단계, 및상기 고정형 토큰이 상기 제1 사용 인가 데이터를 가지고 있는 증명이 무효한 것으로 결정한 것에 응답하여, 상기 실링된 키 블로브의 상기 제1 키 쌍으로의 키 핸들을 수신하는 단계를 포함하는 방법.
- 제11항에 있어서,상기 고정형 토큰이 상기 제1 사용 인가 데이터를 가지고 있다는 증명이 무효한 것으로 결정한 것에 응답하여, 상기 고정형 토큰으로부터 상기 실링된 키 블로브 및 연관된 데이터를 제거하는 단계를 더 포함하는 방법.
- 제12항에 있어서, 상기 제1 사용 인가 데이터를 가지고 있다는 증명이 무효한 것으로 결정된 것에 응답하여, 상기 이동형 토큰을 비활성화시키는 단계를 더 포함하는 방법.
- 실행되는 것에 응답하여, 프로세서가,이동형 토큰이 사용 인가 데이터를 포함하는 보호된 키 블로브로부터 실링된 키 블로브를 제공하도록 요구하고,프로세서가 상기 보호된 키 블로브에 대해 가지고 있는 사용 인가 데이터에 기초한 인증 코드를 상기 이동형 토큰에 제공하고,상기 프로세서의 상기 사용 인가 데이터가 상기 보호된 키 블로브의 상기 인가 데이터와 소정 관계를 가지고 있다고 상기 인증 코드가 나타내는 경우에만, 상기 이동형 토큰으로부터 상기 실링된 키 블로브를 수신하도록하는 복수의 명령들을 포함하는 머신 판독가능한 매체.
- 제14항에 있어서, 상기 실링된 키 블로브는 제1 사용 인가 데이터를 포함하고, 상기 복수의 명령은 또한 상기 프로세서가,고정형 토큰이 상기 실링된 키 블로브로부터 제1 키 쌍을 로딩하도록 요구하고,상기 프로세서가 상기 실링된 키 블로브에 대해 가지고 있는 제1 사용 인가 데이터에 기초한 제1 인증 코드를 상기 고정형 토큰에 제공하고, 및상기 프로세서의 상기 제1 사용 인가 데이터가 상기 실링된 키 블로브의 상기 제1 인가 데이터와 소정 관계를 가지고 있는 것으로 상기 제1 인증 코드가 나타내는 경우에만 상기 제1 키 쌍에 대한 제1 키 핸들을 수신하도록하는 머신 판독가능 매체.
- 제15항에 있어서, 상기 복수의 명령은 또한 상기 프로세서가,상기 프로세서가 상기 실링된 키 블로브에 대해 가지고 있는 상기 제1 사용 인가 데이터에 기초한 제1 공유 시크리트를 이용하는 제1 HMAC 계산에 기초하여 상기 제1 인증 코드를 생성하고,상기 프로세서가 상기 보호된 키 블로브에 대해 가지고 있는 상기 사용 인가 데이터에 기초한 제2 공유 시크리트를 이용하는 제2 HMAC 계산에 기초하여 상기 인증 코드를 생성하도록하는 머신 판독가능한 매체.
- 제15항에 있어서, 상기 복수의 명령은 또한 상기 프로세서가,상기 프로세서가 상기 실링된 키 블로브에 대해 가지고 있는 상기 제1 사용 인가 데이터 및 상기 고정형 토큰에 연관된 제1 롤링 넌스에 기초하여 제1 공유 시크리트를 이용하는 제1 HMAC 계산에 기초하여 상기 인증 코드를 생성하고,상기 프로세서가 상기 보호된 키 블로브에 대해 가지고 있는 상기 사용 인가 데이터 및 상기 이동형 토큰에 연관된 제2 롤링 넌스에 기초한 제2 공유 시크리트를 이용하는 제2 HMAC 계산에 기초하여 상기 인증 코드를 생성하도록하는 머신 판독가능한 매체.
- 제15항에 있어서, 상기 복수의 명령은 또한 상기 프로세서가,상기 이동형 토큰과 연관된 사용자가 상기 제1 키 핸들을 수신하는 것에 응답하여 존재하는 것으로 결정하도록 하는 머신 판독가능한 매체.
- 제15항에 있어서, 상기 복수의 명령은 또한 상기 프로세서가,상기 제1 키 핸들에 의해 식별된 상기 제1 키 쌍을 이용하여 시크리트를 성공적으로 암호해제한 것에 응답하여 상기 이동형 토큰과 연관된 사용자가 존재하는 것으로 결정하도록 하는 머신 판독가능한 매체.
- 제14항에 있어서, 상기 실링된 키 블로브는 제1 사용 인가 데이터를 포함하고, 상기 복수의 명령은 또한 상기 프로세서가,고정형 토큰에 환경의 적어도 하나의 메트릭을 제공하고,고정형 토큰이 상기 실링된 키 블로브로부터 제1 키 쌍을 로딩하도록 요구하고,상기 고정형 토큰에 상기 프로세서가 상기 실링된 키 블로브에 대해 가지는 제1 사용 인가 데이터에 기초한 제1 인증 코드를 제공하고,상기 프로세서의 상기 제1 사용 인가 데이터가 상기 실링된 키 블로브의 상기 제1 사용 인가 데이터와 소정 관계를 가지고 있는 것으로 상기 제1 인증 코드가 나타내고, 상기 환경이 상기 실링된 키 블로브에 의해 지정된 기준을 만족한다고 상기 적어도 하나의 메트릭이 나타내는 경우에만, 상기 제1 키 쌍에 대한 제1 키 핸들을 수신하도록하는 머신 판독가능한 매체.
- 제20항에 있어서, 상기 복수의 명령은 또한 상기 프로세서가,상기 제1 키 핸들을 수신한 것에 응답하여, 상기 환경이 상기 실링된 키 블로브에 의해 지정된 기준을 만족하는 것으로 결정하도록 하는 머신 판독가능한 매체.
- 제20항에 있어서, 상기 복수의 명령은 또한 상기 프로세서가,상기 제1 키 핸들에 의해 식별된 상기 제1 키 쌍을 이용하여 시크리트를 성공적으로 암호해제하는 것에 응답하여 상기 환경이 상기 실링된 키 블로브에 의해 지정된 기준을 만족하는 것으로 결정하도록 하는 머신 판독가능한 매체.
- 컴퓨팅 디바이스로서,제1 처리 유닛 - 상기 제1 처리 유닛은 제1 인증 코드가 실링된 키 블로브의 제1 사용 인가 데이터와 소정 관계를 가지고 있다고 결정한 것에 응답하여, 상기 실링된 키 블로브의 제1 키 쌍을 상기 제1 보호된 스토리지에 로딩함- 및 제1 보호된 스토리지를 포함하는 고정형 토큰;제2 처리 유닛 - 상기 제2 처리 유닛은 제2 인증 코드가 보호된 키 블로브의 제2 사용 인가 데이터와 소정 관계를 가지고 있다고 결정한 것에 응답하여, 상기 보호된 키 블로브로부터 상기 실링된 키 블로브를 리턴함- 및 제2 보호된 스토리지를 포함하는 이동형 토큰;상기 이동형 토큰이 상기 컴퓨팅 디바이스에 결합되고 이로부터 제거될 수 있도록 하는 이동형 토큰 인터페이스; 및상기 보호된 키 블로브 및 상기 제2 인증 코드를 포함하는 상기 실링된 키 블로브에 대한 요구를 상기 이동형 토큰에 제공하고, 상기 실링된 키 블로브 및 상기 제1 인증 코드를 포함하는 상기 제1 키 쌍을 로딩하는 요구를 상기 고정형 토큰에 제공하는 프로세서를 포함하는 컴퓨팅 디바이스.
- 제23항에 있어서,상기 고정형 토큰은 상기 제1 키 쌍을 성공적으로 로딩한 것에 응답하여 상기 제1 키 쌍에 제1 키 핸들을 제공하고,상기 프로세서는 상기 이동형 토큰에 연관된 사용자가 상기 제1 키 핸들을 수신한 것에 응답하여 존재하는 것으로 결정하는 컴퓨팅 디바이스.
- 제23항에 있어서,상기 고정형 토큰은 상기 제1 키 쌍을 성공적으로 로딩한 것에 응답하여 상기 제1 키 쌍에 제1 키 핸들을 제공하고,상기 프로세서는 상기 제1 키 핸들에 의해 식별된 상기 제1 키 쌍을 이용하여 시크리트를 성공적으로 암호해제하는 것에 응답하여 이동형 토큰과 연관된 사용자가 존재하는 것으로 결정하는 컴퓨팅 디바이스.
- 제23항에 있어서,상기 고정형 토큰의 상기 제1 보호된 스토리지는 환경의 메트릭을 저장하기 위한 레지스터를 포함하고,상기 프로세서는 상기 환경의 복수의 메트릭을 상기 고정형 토큰에 제공하며,상기 레지스터에 저장된 메트릭은 상기 환경이 상기 실링된 키 블로브의 기준을 만족하는 경우에만, 상기 제1 처리는 상기 제1 키 쌍을 상기 제1 보호된 스토리지에 로딩하는 컴퓨팅 디바이스.
- 제26항에 있어서,상기 고정형 토큰은 상기 제1 키 쌍을 성공적으로 로딩한 것에 응답하여 제1 키 핸들을 상기 제1 키 쌍에 제공하고,상기 프로세서는 상기 제1 키 핸들을 수신한 것에 응답하여 상기 환경이 상기 실링된 키 블로브에 의해 지정된 기준을 만족하도록 결정하는 컴퓨팅 디바이스.
- 제26항에 있어서,상기 고정형 토큰은 상기 제1 키 쌍을 성공적으로 로딩하는 것에 응답하여 제1 키 핸들을 제1 키 쌍에 제공하고,상기 프로세서는 상기 제1 키 핸들에 의해 식별된 상기 제1 키 쌍을 이용하여 시크리트를 성공적으로 암호해제하는 것에 응답하여, 상기 실링된 키 블로브에 의해 지정된 기준을 만족하는 것으로 결정하는 컴퓨팅 디바이스.
- 제26항에 있어서,상기 처리 유닛은 상기 환경이 상기 실링된 키 블로브의 기준을 만족하지 않은 것으로 결정한 것에 응답하여, 상기 고정형 토큰으로부터 상기 실링된 키 블로브 및 임의의 연관된 데이터를 제거하는 컴퓨팅 디바이스.
- 제23항에 있어서,상기 고정형 토큰은 상기 실링된 키 블로브를 생성하는데 이용되는 키 쌍을 포함하고,상기 제1 처리 유닛은 상기 실링된 키 블로브를 생성하는데 이용되는 상기 키 쌍에 대해 확립된 제1 세션을 통해 수신된 요구에 응답하여 상기 실링된 키 블로브의 상기 제1 키 쌍만을 로딩하며,상기 프로세서는 상기 고정형 토큰에 상기 제1 키 쌍을 로딩하라는 요구를 제공하기 전에 상기 제1 세션을 확립하는 컴퓨팅 디바이스.
- 제30항에 있어서,상기 이동형 토큰은 상기 보호된 키 블로브를 생성하는데 이용되는 키 쌍을 포함하고,상기 제2 처리 유닛은 상기 보호된 키 블로브를 생성하는데 이용되는 상기 키 쌍에 대해 확립된 제2 세션을 통해 수신된 요구에 응답하여 상기 실링된 키 블로브의 상기 제1 키 쌍만을 로딩하며,상기 프로세서는 상기 실링된 키 블로브에 대한 요구를 상기 이동형 토큰에 제공하기 전에, 상기 제2 세션을 확립하는 컴퓨팅 디바이스.
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)
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)
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 |
-
2002
- 2002-12-16 US US10/321,751 patent/US7318235B2/en not_active Expired - Fee Related
-
2003
- 2003-11-12 AU AU2003290767A patent/AU2003290767A1/en not_active Abandoned
- 2003-11-12 EP EP03783350A patent/EP1573468A2/en not_active Withdrawn
- 2003-11-12 KR KR1020057010996A patent/KR100737628B1/ko not_active IP Right Cessation
- 2003-11-12 WO PCT/US2003/036110 patent/WO2004061628A2/en not_active Application Discontinuation
- 2003-11-13 TW TW092131848A patent/TWI255122B/zh not_active IP Right Cessation
- 2003-12-15 CN CNB2003101212131A patent/CN100566243C/zh not_active Expired - Fee Related
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 |