KR20050123152A - Physical presence determination in a trusted platform - Google Patents

Physical presence determination in a trusted platform Download PDF

Info

Publication number
KR20050123152A
KR20050123152A KR1020057019244A KR20057019244A KR20050123152A KR 20050123152 A KR20050123152 A KR 20050123152A KR 1020057019244 A KR1020057019244 A KR 1020057019244A KR 20057019244 A KR20057019244 A KR 20057019244A KR 20050123152 A KR20050123152 A KR 20050123152A
Authority
KR
South Korea
Prior art keywords
power
tpm
event
code
reset
Prior art date
Application number
KR1020057019244A
Other languages
Korean (ko)
Other versions
KR100977267B1 (en
Inventor
리안 찰스 캐서만
스티븐 달 굿맨
제임스 패트릭 호프
랜들 스코트 스프링필드
제임스 피터 워드
Original Assignee
인터내셔널 비지네스 머신즈 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/411,408 external-priority patent/US7269747B2/en
Priority claimed from US10/411,454 external-priority patent/US7590870B2/en
Priority claimed from US10/411,415 external-priority patent/US7254722B2/en
Application filed by 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20050123152A publication Critical patent/KR20050123152A/en
Application granted granted Critical
Publication of KR100977267B1 publication Critical patent/KR100977267B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • 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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K1/00Printed circuits
    • H05K1/18Printed circuits structurally associated with non-printed electric components
    • H05K1/181Printed circuits structurally associated with non-printed electric components associated with surface mounted components

Abstract

A computer system (and a motherboard for a computer system) is presented which provides a trusted platform by which operations can be performed with an increased level trust and confidence. The basis of trust for the computer system (or motherboard) is established by an encryption coprocessor and by code which interfaces with the encryption coprocessor and establishes root of trust metrics for the platform. The encryption coprocessor is built such that certain critical operations are allowed only if physical presence of an operator has been detected. Physical presence is determined by inference based upon the status of registers in the core chipset (e.g. on the motherboard).

Description

신뢰할 수 있는 플랫폼에서의 물리적 존재 판정 방법{PHYSICAL PRESENCE DETERMINATION IN A TRUSTED PLATFORM}PHYSICAL PRESENCE DETERMINATION IN A TRUSTED PLATFORM}

본 발명은 컴퓨터 시스템 및 기타 정보 처리 시스템에 관한 것이며, 보다 구체적으로는 TCPA 산업 표준 플랫폼 등의 신뢰할 수 있는 플랫폼(trusted platform) 상에 구축되는 컴퓨터 시스템에 관한 것이다.The present invention relates to computer systems and other information processing systems, and more particularly to computer systems built on a trusted platform, such as the TCPA industry standard platform.

컴퓨터 업계에서는 사용자가 애플리케이션을 구동하여 네트워크 트랜잭션을 실행하는 신뢰도를 높일 필요가 있다. 이것은 특히 사용자가 신용 카드 및 다른 민감한 정보에 대해 키를 사용하는 전자 상거래에 적용된다. 몇몇의 솔루션이 이 업계에서 부상하고 있다. 한가지 솔루션인 스마트 카드는 신뢰할 수 있는 사용자를 확증하는 하드웨어를 제공함으로써 신뢰도를 높이는 표준으로서 부상하고 있다. 스마트 카드 솔루션에서는 컴퓨터 시스템은 신뢰할 수 있는 엔티티가 아니다. 오히려, 신뢰할 수 있는 엔티티는 특정 사용자와 관련되는 스마트 카드 하드웨어이다. 다른 솔루션인 신뢰할 수 있는 컴퓨팅 플랫폼(Trusted Computing Platform)은 신뢰할 수 있는 플랫폼을 확립하는 하드웨어를 제공하여 신뢰도를 높이는 표준으로서 부상하고 있다. 신뢰할 수 있는 플랫폼에서는 사용자는 신뢰할 수 있는 엔티티가 아니다. 오히려, 신뢰할 수 있는 것은 그 플랫폼이다. In the computer industry, users need to increase the reliability of running applications to execute network transactions. This is especially true for electronic commerce where users use keys for credit cards and other sensitive information. Several solutions are emerging in this industry. One solution, smart cards, is emerging as a standard for increasing reliability by providing hardware to validate trusted users. In smart card solutions, computer systems are not trusted entities. Rather, a trusted entity is smart card hardware associated with a particular user. Another solution, the Trusted Computing Platform, is emerging as a standard for increasing reliability by providing hardware to establish a trusted platform. On a trusted platform, users are not trusted entities. Rather, it is the platform that can be trusted.

현대 컴퓨터 시스템은 원격 파워온 특성을 제공한다. 예컨대, 컴퓨터는 착신 FAX로부터의 링(RING) 신호를 컴퓨터 모뎀으로부터 검출하는 경우에 파워온될 수 있다. 그리고 컴퓨터가 파워온되고 부팅되어, 그 착신 팩스를 수신할 수 있다. 마찬가지로, 컴퓨터는 LAN 카드에서 LAN 작동을 검출하는 경우에 파워온될 수 있으며, 이어서 부팅되어 임의의 LAN 요구에 응답할 수 있다. 그러나, 이러한 특성을 가진 컴퓨터는, 특히 파워오프 상태일 경우에도 공격에 취약하기 때문에 미사용중일 때에 위험하다. Modern computer systems provide remote power-on characteristics. For example, the computer may be powered on when it detects a ring signal from the incoming FAX from the computer modem. The computer can then be powered on and booted up to receive the incoming fax. Similarly, the computer can be powered on when it detects LAN activity on the LAN card and then booted to respond to any LAN request. However, computers with this characteristic are dangerous, especially when not in use, because they are vulnerable to attack even when powered off.

이하, 본 발명의 양호한 실시예들을 다음의 도면을 참조하여 예시적으로 설명한다.Best Modes for Carrying Out the Invention Preferred embodiments of the present invention will be described below with reference to the following drawings.

도 1은 본 발명의 실시예에 따라 구성된 컴퓨터 시스템을 도시하는 도면이다.1 is a diagram illustrating a computer system constructed in accordance with an embodiment of the present invention.

도 2는 본 발명의 실시예의 보안 구성요소의 상세 블록도이다.2 is a detailed block diagram of a security component of an embodiment of the invention.

도 3은 본 발명의 일 실시예의 보안 구성요소에 대해 전기적 상호 접속을 지원 및 제공하는 마더보드의 사시도이다.3 is a perspective view of a motherboard that supports and provides electrical interconnections for security components of one embodiment of the present invention.

본 발명의 일 양태에 따르면, 파워온 스위치의 활성에 의해 컴퓨터 시스템에 전원이 인가되었는지의 여부를, 상기 활성의 발생을 나타내는 파워온 상태 레지스터를 판독함으로써 판정하는 단계와, 상기 판정의 작용에 따라, 컴퓨터 시스템에 포함된 신뢰할 수 있는 플랫폼 모듈(TPM)의 동작에 영향을 미치는 단계를 포함하는 방법이 제공된다. According to one aspect of the invention, a step of determining whether power is applied to a computer system by activation of a power-on switch by reading a power-on status register indicating the occurrence of the activity, and according to the action of the determination And affecting the operation of the Trusted Platform Module (TPM) included in the computer system.

일 실시예에서는, 파워온 상태 레지스터가 하드웨어에서만 설정 가능하다.In one embodiment, the power-on status register is settable only in hardware.

일 실시예에 있어서, 상기 판정 단계와 영향을 미치는 단계는 리셋 이벤트 다음에, 그리고 운영체계를 로딩하는 OS 로딩 이벤트 이전에 발생한다. OS 로딩 이벤트는 리셋 이벤트에 후속하는 INT 19h의 첫번째 인스턴스일 수 있다. 리셋 이벤트는 하드웨어 개시 리셋과 소프트웨어 개시 리셋으로 이루어진 그룹으로부터 선택되는 이벤트일 수 있다. 상기 영향을 미치는 단계는 TPM에서 물리적 존재 플래그를 설정하는 단계를 더 포함하는 것이 좋다. 상기 영향을 미치는 단계는 TPM에서 물리적 존재 로크 플래그를 설정하는 단계를 더 포함하는 것이 좋다. In one embodiment, the determining and affecting step occurs after a reset event and before an OS loading event loading the operating system. The OS loading event may be the first instance of INT 19h following the reset event. The reset event may be an event selected from the group consisting of a hardware initiated reset and a software initiated reset. The affecting step may further include setting a physical presence flag in the TPM. The affecting step preferably further includes setting a physical presence lock flag in the TPM.

일 실시예에 있어서, 상기 판정 단계와 영향을 미치는 단계는 리셋 이벤트 다음에, 그리고 컴퓨터 시스템의 I/O 장치가 이용 가능해지기 전에 발생한다. 컴퓨터 시스템의 I/O 장치는 키보드 장치, 비디오 장치, 및 포인팅 장치로 이루어진 그룹으로부터 선택된 장치이다. 리셋 이벤트는 하드웨어 개시 리셋과 소프트웨어 개시 리셋으로 이루어진 그룹으로부터 선택되는 이벤트일 수 있다. In one embodiment, the determining step and the affecting step occur after a reset event and before the computer system's I / O device becomes available. The I / O device of the computer system is a device selected from the group consisting of a keyboard device, a video device, and a pointing device. The reset event may be an event selected from the group consisting of a hardware initiated reset and a software initiated reset.

일 실시예에 있어서, 상기 영향을 미치는 단계는 파워온 스위치가 활성되지 않았다는 상기 판정 단계의 판정에 응답하여 상기 TPM의 동작을 제한하는 단계이다. In one embodiment, the affecting step is to limit the operation of the TPM in response to determining that the power-on switch is not active.

일 실시예에 있어서, 상기 영향을 미치는 단계는 상기 판정 단계에서 판정되는 것인 파워온 스위치의 활성에 의한 전원의 인가에 응답하여 소정의 믿을 수 있는 동작이 TPM에서 실행되는 것을 허용하는 단계이다. In one embodiment, the affecting step is to allow certain reliable operation to be performed in the TPM in response to the application of power by activation of the power-on switch, which is determined in the determining step.

본 발명의 다른 양태에 따르면, 본 발명은, 컴퓨터 시스템에 연결된 파워온 스위치의 활성에 의해 전원이 컴퓨터 시스템에 인가되었는지의 여부를, 상기 활성의 발생을 나타내는 파워온 상태 레지스터를 판독함으로써 판정하는 단계로서, 상기 파워온 상태 레지스터는 하드웨어에서만 설정 가능한 것인 판정 단계와, 파워온 스위치가 활성되지 않았다는 상기 판정 단계의 판정에 응답하여 물리적 존재의 부재를 나타내도록, 컴퓨터 시스템에 포함된 신뢰할 수 있는 플랫폼 모듈(TPM)의 물리적 존재 플래그를 구성하는 단계로서, 상기 판정 단계와 구성 단계는 시스템 리셋 이벤트 후에 그리고 OS 로딩 이벤트 전에 발생하는 것인 구성 단계와, 상기 구성 단계의 작용에 따라 상기 TPM의 동작을 제한하는 단계를 포함하는 방법을 제공한다. According to another aspect of the invention, the invention provides a method for determining whether power is applied to a computer system by activation of a power-on switch connected to the computer system by reading a power-on status register indicating the occurrence of the activity. And, wherein the power-on status register is settable only in hardware, and a trusted platform included in the computer system to indicate the absence of a physical presence in response to the determination of the power-on switch that the power-on switch is not active. Configuring a physical presence flag of a module (TPM), wherein the determining and configuring steps occur after a system reset event and before an OS loading event and the operation of the TPM in accordance with the action of the configuring step. It provides a method comprising the step of limiting.

일 실시예에 있어서, 이 방법은 TPM에서 물리적 존재 로크 플래그를 설정하여 상기 TPM에서 물리적 존재 플래그를 로킹하는 단계를 더 포함하고, 상기 로킹 단계는 시스템 리셋 이벤트 후에 그리고 OS 로딩 이벤트 전에 발생한다. 상기 OS 로딩 이벤트는 운영체계를 로딩하는 이벤트인 것이 좋고, 상기 시스템 리셋 이벤트는 하드웨어 개시 리셋과 소프트웨어 개시 리셋으로 이루어진 그룹으로부터 선택된 이벤트인 것이 좋다. 운영체계를 로딩하는 이벤트는 시스템 리셋 이벤트에 후속하는 INT 19h의 첫번째 인스턴스일 수 있다.In one embodiment, the method further comprises setting a physical presence lock flag at the TPM to lock the physical presence flag at the TPM, wherein the locking step occurs after a system reset event and before an OS loading event. The OS loading event is preferably an event for loading an operating system, and the system reset event is an event selected from the group consisting of a hardware initiated reset and a software initiated reset. The event loading operating system may be the first instance of INT 19h following the system reset event.

본 발명의 다른 양태에 따르면, 본 발명은, 컴퓨터 시스템에 연결된 파워온 스위치의 활성에 의해 전원이 컴퓨터 시스템에 인가되었는지의 여부를, 상기 활성의 발생을 나타내는 파워온 상태 레지스터를 판독함으로써 판정하는 단계로서, 상기 파워온 상태 레지스터는 하드웨어에서만 설정 가능한 것인 판정 단계와, 상기 판정 단계에서 판정된 것인 파워온 스위치의 활성에 의한 전원의 인가에 응답하여 물리적 존재를 나타내도록, 상기 컴퓨터 시스템에 포함된 신뢰할 수 있는 플랫폼 모듈(TPM)의 물리적 존재 플래그를 구성하는 단계로서, 상기 판정 단계와 구성 단계는 시스템 리셋 이벤트 후에 그리고 OS 로딩 이벤트 전에 발생하는 것인 구성 단계와, 소정의 신뢰할 수 있는 동작이 상기 구성 단계의 작용에 따라 TPM에서 실행되는 것을 허용하는 단계를 포함하는 방법을 제공한다. According to another aspect of the invention, the invention provides a method for determining whether power is applied to a computer system by activation of a power-on switch connected to the computer system by reading a power-on status register indicating the occurrence of the activity. Wherein the power-on state register is included in the computer system to indicate a physical presence in response to the application of power by an activation of a power-on switch and a determination step that is settable only in hardware. Configuring a physical presence flag of a trusted platform module (TPM), wherein the determining and configuring steps occur after a system reset event and before an OS loading event, Allowing execution at the TPM in accordance with the action of the configuration step. It provides a method to include.

양호하게는, TPM에서 물리적 존재 로크 플래그를 설정하여 상기 TPM에서 물리적 존재 플래그를 로킹하는 것이 가능하고, 이것은 시스템 리셋 이벤트 후에 그리고 OS 로딩 이벤트 전에 이루어지는 것이 좋다. OS 로딩 이벤트는 운영체계를 로딩하는 이벤트인 것이 좋고, 상기 시스템 리셋 이벤트는 하드웨어 개시 리셋과 소프트웨어 개시 리셋으로 이루어진 그룹으로부터 선택된 이벤트이다. 운영체계를 로딩하는 이벤트는 시스템 리셋 이벤트에 후속하는 INT 19h의 첫번째 인스턴스일 수 있다.Preferably, it is possible to set a physical presence lock flag in the TPM to lock the physical presence flag in the TPM, which is preferably done after a system reset event and before an OS loading event. The OS loading event is preferably an event that loads an operating system, and the system reset event is an event selected from the group consisting of a hardware initiated reset and a software initiated reset. The event loading operating system may be the first instance of INT 19h following the system reset event.

본 발명의 다른 양태에 따르면, 본 발명은 컴퓨터 판독 가능한 프로그램 코드가 기록되어 있는 컴퓨터 이용 가능한 매체를 포함하는 프로그램 제품을 제공하며, 상기 프로그램 제품의 컴퓨터 판독 가능한 프로그램 코드는 실행시, 파워온 스위치의 활성에 의해 전원이 컴퓨터 시스템에 인가되었는지의 여부를, 상기 활성의 발생을 나타내는 파워온 상태 레지스터를 판독함으로써 판정하고, 상기 판정의 작용에 따라, 상기 컴퓨터 시스템에 포함된 신뢰할 수 있는 플랫폼 모듈(TPM)의 동작에 영향을 미치기에 유효하다.According to another aspect of the present invention, there is provided a program product comprising a computer usable medium having computer readable program code recorded thereon, wherein the computer readable program code of the program product, upon execution, A determination is made as to whether power is applied to the computer system by activation by reading a power-on status register indicating the occurrence of the activity, and in accordance with the action of the determination, a trusted platform module (TPM) included in the computer system. This is effective to affect the operation of).

본 발명의 다른 양태에 따르면, 본 발명은 컴퓨터 판독 가능한 프로그램 코드가 기록되어 있는 컴퓨터 이용 가능한 매체를 포함하는 프로그램 제품을 제공하며, 상기 프로그램 제품의 컴퓨터 판독 가능한 프로그램 코드는 실행시, 컴퓨터 시스템에 연결된 파워온 스위치의 활성에 의해 전원이 컴퓨터 시스템에 인가되었는지의 여부를, 상기 활성의 발생을 나타내는 파워온 상태 레지스터 - 상기 파워온 상태 레지스터는 하드웨어에서만 설정 가능한 것임 - 를 판독함으로써 판정하고, 파워온 스위치가 활성되지 않았다고 나타내는 상기 판정에 응답하여 물리적 존재의 부재를 나타내도록, 컴퓨터 시스템에 포함된 신뢰할 수 있는 플랫폼 모듈(TPM)의 물리적 존재 플래그를 구성하며 - 이러한 판정 및 구성은 시스템 리셋 이벤트 후에 그리고 OS 로딩 이벤트 전에 이루어지는 것임 - , 상기 구성의 작용에 따라 상기 TPM의 동작을 제한하기에 유효하다.According to another aspect of the invention, the invention provides a program product comprising a computer usable medium having computer readable program code recorded thereon, wherein the computer readable program code of the program product is connected to a computer system when executed. Determine whether power is applied to the computer system by activation of a power-on switch by reading a power-on status register indicating the occurrence of the activity, the power-on status register being settable only in hardware, and power-on switch Configure the physical presence flag of the Trusted Platform Module (TPM) included in the computer system to indicate the absence of physical presence in response to the determination indicating that is not active—this determination and configuration is performed after the system reset event and the OS Loading event Will made to -, it is effective to limit the operation of the TPM as a function of said configuration.

본 발명의 다른 양태에 따르면, 본 발명은 컴퓨터 판독 가능한 프로그램 코드가 기록되어 있는 컴퓨터 이용 가능한 매체를 포함하는 프로그램 제품을 제공하며, 상기 프로그램 제품의 컴퓨터 판독 가능한 프로그램 코드는 실행시, 컴퓨터 시스템에 연결된 파워온 스위치의 활성에 의해 전원이 컴퓨터 시스템에 인가되었는지의 여부를, 상기 활성의 발생을 나타내는 파워온 상태 레지스터 - 상기 파워온 상태 레지스터는 하드웨어에서만 설정 가능한 것임 - 를 판독함으로써 판정하고, 상기 판정에 따른 파워온 스위치의 활성에 의한 전원의 인가에 응답하여 물리적 존재를 나타내도록, 컴퓨터 시스템에 포함된 신뢰할 수 있는 플랫폼 모듈(TPM)의 물리적 존재 플래그를 구성하며 - 이러한 판정 및 구성은 시스템 리셋 이벤트 후에 그리고 OS 로딩 이벤트 전에 이루어지는 것임 - , 상기 구성의 작용에 따라 소정의 믿을 수 있는 동작이 TPM에서 실행되는 것을 허용하기에 유효하다. According to another aspect of the invention, the invention provides a program product comprising a computer usable medium having computer readable program code recorded thereon, wherein the computer readable program code of the program product is connected to a computer system when executed. Whether or not power is applied to the computer system by activation of a power-on switch is determined by reading a power-on status register indicating the occurrence of the activity, wherein the power-on status register is settable only in hardware, Configure the physical presence flag of the trusted platform module (TPM) included in the computer system to indicate a physical presence in response to the application of power by activation of the power-on switch accordingly; such determination and configuration is made after a system reset event. And before the OS loading event It is effective to allow certain reliable actions to be performed in the TPM in accordance with the action of the configuration.

본 발명의 다른 양태에 따르면, 본 발명은 신뢰할 수 있는 플랫폼 모듈(TPM)과, 컴퓨터 판독 가능한 프로그램 코드가 저장되어 있는 비휘발성 메모리와, 상기 TPM과 비휘발성 메모리를 연결하는 회로 기판을 포함하는 장치를 제공하고, 상기 회로 기판은 상기 비휘발성 메모리에 저장된 코드를 실행시키는 프로세서를 포함하고, 상기 회로 기판에 대한 전원의 인가가 요전회 어떻게 개시되었는지를 나타내는 파워온 상황 상태(power-on status state)를 추정하는 상태 레지스터를 더 포함하며, 상기 프로세서는 상기 비휘발성 메모리에 저장되어 있는 코드의 실행시에, 상기 상태 레지스터의 파워온 상황 상태를 판독하고, 요전회 상기 회로 기판에 대한 전원의 인가가 상기 회로 기판에 연결된 파워온 스위치의 활성에 의해 개시되었는지의 여부를, 상태 레지스터로부터 판독된 것인 파워온 상황 상태에 기초해서 판정하며, 그 판정된 파워온 상태의 작용에 따라 상기 TPM의 동작에 영향을 미치는 커맨드를 발행하기에 유효하다. According to another aspect of the invention, the invention comprises a trusted platform module (TPM), a nonvolatile memory in which computer readable program code is stored, and a circuit board connecting the TPM and the nonvolatile memory. Wherein the circuit board includes a processor to execute code stored in the non-volatile memory, the power-on status state indicating how the application of power to the circuit board was initiated the other time. And a status register for estimating a value, wherein the processor reads the power-on status state of the status register at the time of execution of the code stored in the nonvolatile memory, and applies the power to the circuit board the other time. A status register whether or not initiated by activation of a power-on switch connected to the circuit board And from determination on the basis of the read out will power-on status state, it is effective to issue commands affecting the operation of the TPM as a function of the determined power-on state.

일 실시예에서, 상기 상태 레지스터는 하드웨어에서만 설정 가능하다.In one embodiment, the status register is settable only in hardware.

일 실시예에서, 상기 판독, 판정 및 발행하기에 유효한 코드는 리셋 이벤트 후에 그리고 상기 비휘발성 메모리 이외의 것에 저장되어 있는 코드의 실행 전에 실행된다.In one embodiment, the code valid for reading, determining, and issuing is executed after a reset event and before execution of code stored in something other than the nonvolatile memory.

일 실시예에서, 상기 판독, 판정 및 발행하기에 유효한 코드는 리셋 이벤트 후에 그리고 운영체계를 로딩하는 코드의 실행 전에 실행된다. 운영체계를 로딩하는 코드는 리셋 이벤트에 후속하는 INT 19h의 첫번째 인스턴스일 수 잇다.In one embodiment, the code valid for reading, determining, and issuing is executed after a reset event and before execution of the code loading the operating system. The code that loads the operating system may be the first instance of INT 19h following the reset event.

일 실시예에서, 리셋 이벤트는 하드웨어 개시 리셋과 소프트웨어 개시 리셋으로 이루어진 그룹으로부터 선택된 이벤트이다.In one embodiment, the reset event is an event selected from the group consisting of a hardware initiated reset and a software initiated reset.

일 실시예에서, 비휘발성 메모리에 저장되어 있는 코드는 실행시, 상기 TPM에서 물리적 존재 플래그를 설정하기에도 유효하다. 비휘발성 메모리에 저장되어 있는 코드는 실행시, 상기 TPM에서 물리적 존재 로크 플래그를 설정하기에도 유효한 것이 좋다.In one embodiment, the code stored in the nonvolatile memory is also valid at runtime to set a physical presence flag in the TPM. Code stored in non-volatile memory is also effective when executing to set a physical presence lock flag in the TPM.

일 실시예에서, 상기 판독, 판정 및 발행하기에 유효한 코드는 리셋 이벤트 다음에 그리고 컴퓨터 시스템의 I/O 장치에 액세스하는 임의의 코드의 실행 전에 실행되며, 컴퓨터 시스템의 I/O 장치는 키보드 장치, 비디오 장치, 및 포인팅 장치로 이루어진 그룹으로부터 선택된 장치인 것이 좋다.In one embodiment, the code valid for reading, determining, and issuing is executed after a reset event and before execution of any code that accesses an I / O device of the computer system, wherein the I / O device of the computer system is a keyboard device. And a device selected from the group consisting of a video device and a pointing device.

일 실시예에서, 발행된 커맨드는 요전회 개시된 전원의 인가시에 파워온 스위치가 활성되지 않았다는, 상기 상태 레지스터로부터 판독된 파워온 상황 상태에 기초한 판정에 응답하여 상기 TPM의 동작을 제한한다.In one embodiment, the issued command limits the operation of the TPM in response to a determination based on a power-on status condition read from the status register that the power-on switch was not active upon the application of the last-initiated power source.

일 실시예에서, 발행된 커맨드는 요전회 개시된 전원의 인가시에 파워온 스위치가 활성되었다는, 상기 상태 레지스터로부터 판독된 파워온 상황 상태에 기초한 판정에 응답하여 소정의 신뢰할 수 있는 동작이 상기 TPM에서 실행되는 것을 허용한다.In one embodiment, the issued command is subject to a predetermined reliable operation in the TPM in response to a determination based on a power-on context condition read from the status register that the power-on switch was activated upon application of the last-initiated power source. Allow to run.

본 발명의 다른 양태에 따르면, 본 발명은 신뢰할 수 있는 플랫폼 모듈(TPM)과, 컴퓨터 판독 가능한 프로그램 코드가 저장되어 있는 비휘발성 메모리와, 상기 TPM과 비휘발성 메모리를 연결하고, 프로세서와 상태 레지스터를 구비한 회로 기판을 포함하는 장치를 제공하며, 상기 상태 레지스터는 하드웨어에서만 설정 가능하고, 상기 회로 기판에 대한 전원의 인가가 요전회 어떻게 개시되었는지를 나타내는 파워온 상황 상태를 추정하며, 상기 프로세서와 비휘발성 메모리는 리셋 이벤트에 응답하여 상기 프로세서에 의해 실행되는 최초 코드인, 비휘발성 메모리에 저장되어 있는 코드를 실행하도록 상기 회로 기판 상에 구성되어 있으며, 상기 코드는 실행시, 상기 상태 레지스터의 파워온 상황 상태를 판독하고, 요전회 상기 회로 기판에 대한 전원의 인가가 상기 회로 기판에 연결된 파워온 스위치의 활성에 의해 개시되었는지의 여부를 상기 상태 레지스터로부터 판독된 파워온 상황 상태에 기초하여 판정하며, 파워온 스위치가 활성되지 않았다는 판정에 응답하여 물리적 존재의 부재를 나타내도록 상기 TPM에서 물리적 존재 플래그를 구성하기에 유효하며, 상기 판독, 판정 및 구성하기에 유효한 코드는 OS 로딩 이벤트 전에 실행되고, 상기 TPM의 동작은 구성된 물리적 존재 플래그의 작용에 따라 제한된다.According to another aspect of the present invention, the present invention provides a reliable platform module (TPM), a nonvolatile memory in which computer readable program codes are stored, the TPM and the nonvolatile memory, and a processor and a status register. And a status register is settable only in hardware, and estimates a power-on status state indicating how the application of power to the circuit board has been initiated the other time. Volatile memory is configured on the circuit board to execute code stored in nonvolatile memory, the first code executed by the processor in response to a reset event, wherein the code, upon execution, powers on the status register. Read the status status and apply power to the circuit board the other time Determines whether is initiated by the activation of a power-on switch connected to the circuit board based on the power-on status state read from the status register, and in response to determining that the power-on switch is not active, Valid for configuring a physical presence flag in the TPM to indicate, code that is valid for reading, determining, and configuring is executed before an OS loading event, and the operation of the TPM is limited by the action of the configured physical presence flag.

일 실시예에서, 상기 비휘발성 메모리에 저장되어 있는 코드는 실행시, 상기 TPM에서 물리적 존재 로크 플래그를 설정하여 상기 TPM에서 물리적 존재 플래그를 로크하기에도 유효하며, 상기 코드는 OS 로딩 이벤트 전에 물리적 존재 플래그를 로크한다. OS 로딩 이벤트는 운영체계를 로딩하는 이벤트인 것이 좋고, 상기 리셋 이벤트는 하드웨어 개시 리셋과 소프트웨어 개시 리셋으로 이루어진 그룹으로부터 선택된 이벤트이다. 운영체계를 로딩하는 이벤트는 리셋 이벤트에 후속하는 INT 19h의 첫번째 인스턴스인 것이 좋다.In one embodiment, the code stored in the non-volatile memory is also valid when executing to set a physical presence lock flag in the TPM to lock a physical presence flag in the TPM, the code being physically present before an OS loading event. Lock the flag. The OS loading event is preferably an event that loads an operating system, the reset event being an event selected from the group consisting of a hardware initiated reset and a software initiated reset. The event loading operating system is preferably the first instance of INT 19h following the reset event.

본 발명의 다른 양태에 따르면, 본 발명은 신뢰할 수 있는 플랫폼 모듈(TPM)과, 컴퓨터 판독 가능한 프로그램 코드가 저장되어 있는 비휘발성 메모리와, 상기 TPM과 비휘발성 메모리를 연결하고, 프로세서와 상태 레지스터를 구비한 회로 기판을 포함하는 장치를 제공하고, 상기 상태 레지스터는 하드웨어에서만 설정 가능하고, 요전회 상기 회로 기판에 대한 전원의 인가가 어떻게 개시되었는지를 나타내는 파워온 상황 상태를 추정하며, 상기 프로세서와 비휘발성 메모리는 리셋 이벤트에 응답하여 상기 프로세서에 의해 실행되는 최초 코드인, 비휘발성 메모리에 저장되어 있는 코드를 실행하도록 상기 회로 기판 상에 구성되어 있으며, 상기 코드는 실행시, 상기 상태 레지스터의 파워온 상황 상태를 판독하고, 요전회 상기 회로 기판에 대한 전원의 인가가 상기 회로 기판에 연결된 파워온 스위치의 활성에 의해 개시되었는지의 여부를, 상기 상태 레지스터로부터 판독된 파워온 상황 상태에 기초해서 판정하고, 파워온 스위치가 활성되었다는 판정에 응답하여 물리적 존재를 나타내도록 상기 TPM에서 물리적 존재 플래그를 구성하기에 유효하며, 상기 판독, 판정 및 구성하기에 유효한 코드는 OS 로딩 이벤트 전에 실행되고, 소정의 신뢰할 수 있는 동작이 상기 구성된 물리적 존재 플래그의 작용에 따라 상기 TPM에서 실행되는 것이 허용된다.According to another aspect of the present invention, the present invention provides a reliable platform module (TPM), a nonvolatile memory in which computer readable program codes are stored, the TPM and the nonvolatile memory, and a processor and a status register. And a status register is settable only in hardware, and estimates a power-on status state indicating how the application of power to the circuit board was initiated last time, and is inferior to the processor. Volatile memory is configured on the circuit board to execute code stored in nonvolatile memory, the first code executed by the processor in response to a reset event, wherein the code, upon execution, powers on the status register. Read the status status and apply power to the circuit board the other time Determines whether is initiated by the activation of a power-on switch connected to the circuit board based on the power-on status state read from the status register, and to indicate a physical presence in response to the determination that the power-on switch is activated. Code that is valid for configuring a physical presence flag in the TPM, and code that is valid for reading, determining, and configuring is executed before an OS loading event, and certain reliable actions are performed in the TPM in accordance with the action of the configured physical presence flag. It is allowed to run.

일 실시예에서, 상기 비휘발성 메모리에 저장되어 있는 코드는 실행시, 상기 TPM에서 물리적 존재 로크 플래그를 설정하여 상기 TPM에서 물리적 존재 플래그를 로크하기에도 유효하며, 상기 코드는 OS 로딩 이벤트 전에 물리적 존재 플래그를 로크한다. 상기 OS 로딩 이벤트는 운영체계를 로딩하는 이벤트인 것이 좋고, 상기 리셋 이벤트는 하드웨어 개시 리셋과 소프트웨어 개시 리셋으로 이루어진 그룹으로부터 선택된 이벤트이다. 운영체계를 로딩하는 이벤트는 리셋 이벤트에 후속하는 INT 19h의 첫번째 인스턴스인 것이 좋다.In one embodiment, the code stored in the non-volatile memory is also valid when executing to set a physical presence lock flag in the TPM to lock a physical presence flag in the TPM, the code being physically present before an OS loading event. Lock the flag. The OS loading event is preferably an event that loads an operating system, and the reset event is an event selected from the group consisting of a hardware initiated reset and a software initiated reset. The event loading operating system is preferably the first instance of INT 19h following the reset event.

본 발명의 다른 양태에 따르면, 본 발명은, 회로 기판으로서, 공백(unpopulated) 프로세서 소켓과, 요전회 상기 회로 기판에 대한 전원의 인가가 어떻게 개시되었는지를 나타내는 파워온 상황 상태를 추정하는 상태 레지스터를 구비한 회로 기판과, 상기 회로 기판 상에 탑재된 신뢰할 수 있는 플랫폼 모듈(TPM)과, 상기 회로 기판 상에 탑재되어 있어 상기 TPM에 연결되며, 컴퓨터 판독 가능한 프로그램 코드가 저장되어 있는 비휘발성 메모리를 포함하는 마더보드를 제공하고, 상기 비휘발성 메모리에 저장되어 있는 코드는 실행시에, 상기 상태 레지스터의 파워온 상황 상태를 판독하고, 요전회 상기 회로 기판에 대한 전원의 인가가 상기 회로 기판에 연결된 파워온 스위치의 활성에 의해 개시되었는지의 여부를, 상기 상태 레지스터로부터 판독된 파워온 상황 상태에 기초해서 판정하며, 그 판정된 파워온 상태의 작용에 따라 상기 TPM의 동작에 영향을 미치는 커맨드를 발행하기에 유효하다. According to another aspect of the present invention, the present invention provides, as a circuit board, an unpopulated processor socket and a status register for estimating a power-on situation state indicating how the application of power to the circuit board was started the other time. A nonvolatile memory having a circuit board, a reliable platform module (TPM) mounted on the circuit board, a nonvolatile memory mounted on the circuit board, connected to the TPM, and storing computer readable program code. And a code stored in the non-volatile memory, when executed, reads the power-on status state of the status register, and the application of power to the circuit board the last time is connected to the circuit board. The power-on situation read from the status register whether or not it has been initiated by activation of a power-on switch. It is determined based on the state, and is effective for issuing a command that affects the operation of the TPM in accordance with the action of the determined power-on state.

일 실시예에서, 전원이 상기 파워온 스위치의 활성에 의해 인가되었다고 나타내는 상태 레지스터는 하드웨어에서만 설정 가능하다.In one embodiment, a status register indicating that power was applied by activation of the power-on switch is only settable in hardware.

일 실시예에서, 상기 판독, 판정 및 발행하기에 유효한 코드는 리셋 이벤트 후에 그리고 상기 비휘발성 메모리 이외의 것에 저장되어 있는 코드의 실행 전에 실행된다. In one embodiment, the code valid for reading, determining, and issuing is executed after a reset event and before execution of code stored in something other than the nonvolatile memory.

일 실시예에서, 상기 판독, 판정 및 발행하기에 유효한 코드는 리셋 이벤트 후에 그리고 운영체계를 로딩하는 코드의 실행 전에 실행된다. 운영체계를 로딩하는 코드는 리셋 이벤트에 후속하는 INT 19h의 첫번째 인스턴스인 것이 좋다.In one embodiment, the code valid for reading, determining, and issuing is executed after a reset event and before execution of the code loading the operating system. The code that loads the operating system is preferably the first instance of INT 19h following the reset event.

일 실시예에서, 리셋 이벤트는 하드웨어 개시 리셋과 소프트웨어 개시 리셋으로 이루어진 그룹으로부터 선택된 이벤트이다.In one embodiment, the reset event is an event selected from the group consisting of a hardware initiated reset and a software initiated reset.

일 실시예에서, 비휘발성 메모리에 저장되어 있는 코드는 실행시, 상기 TPM에서 물리적 존재 플래그를 설정하기에도 유효하다. 비휘발성 메모리에 저장되어 있는 코드는 실행시, 상기 TPM에서 물리적 존재 로크 플래그를 설정하기에도 유효하다.In one embodiment, the code stored in the nonvolatile memory is also valid at runtime to set a physical presence flag in the TPM. Code stored in non-volatile memory is also valid at runtime to set a physical presence lock flag in the TPM.

일 실시예에서, 상기 판독, 판정 및 발행하기에 유효한 코드는 리셋 이벤트 다음에, 그리고 컴퓨터 시스템의 I/O 장치에 액세스하는 임의의 코드의 실행 전에 실행되며, 컴퓨터 시스템의 I/O 장치는 키보드 장치, 비디오 장치, 및 포인팅 장치로 이루어진 그룹으로부터 선택된 장치인 것이 좋다.In one embodiment, the code valid for reading, determining, and issuing is executed after a reset event and before execution of any code that accesses an I / O device of the computer system, wherein the I / O device of the computer system is a keyboard. It is preferably a device selected from the group consisting of a device, a video device, and a pointing device.

일 실시예에서, 발행된 커맨드는 요전회 개시된 전원의 인가시에 파워온 스위치가 활성되지 않았다는, 상기 상태 레지스터로부터 판독된 파워온 상황 상태에 기초한 판정에 응답하여 상기 TPM의 동작을 제한한다.In one embodiment, the issued command limits the operation of the TPM in response to a determination based on a power-on status condition read from the status register that the power-on switch was not active upon the application of the last-initiated power source.

일 실시예에서, 발행된 커맨드는 요전회 개시된 전원의 인가시에 파워온 스위치가 활성되었다는, 상기 상태 레지스터로부터 판독된 파워온 상황 상태에 기초한 판정에 응답하여 소정의 믿을 수 있는 동작이 상기 TPM에서 실행되는 것이 허용된다.In one embodiment, the issued command is subject to a predetermined reliable operation in the TPM in response to a determination based on a power-on context condition read from the status register that the power-on switch was activated upon application of the last-initiated power source. It is allowed to run.

본 발명의 다른 양태에 따르면, 본 발명은 신뢰할 수 있는 플랫폼 모듈(TPM)과, 컴퓨터 판독 가능한 프로그램 코드가 저장되어 있는 비휘발성 메모리와, 상기 TPM과 비휘발성 메모리를 연결하고, 공백 프로세서 소켓과 상태 레지스터를 구비한 회로 기판을 포함하는 마더보드를 제공하고, 상기 상태 레지스터는 하드웨어에서만 설정 가능하고, 요전회 상기 회로 기판에 대한 전원의 인가가 어떻게 개시되었는지를 나타내는 파워온 상황 상태를 추정하며, 상기 비휘발성 메모리는 리셋 이벤트에 응답하여 실행되는 최초 코드인, 비휘발성 메모리에 저장되어 있는 코드를 실행하도록 상기 회로 기판 상에 구성되어 있으며, 상기 코드는 실행시, 상기 상태 레지스터의 파워온 상황 상태를 판독하고, 요전회 상기 회로 기판에 대한 전원의 인가가 상기 회로 기판에 연결된 파워온 스위치의 활성에 의해 개시되었는지의 여부를, 상기 상태 레지스터로부터 판독된 파워온 상황 상태에 기초해서 판정하며, 파워온 스위치가 활성되지 않았다는 판정에 응답하여 물리적 존재의 부재를 나타내도록 상기 TPM에서 물리적 존재 플래그를 구성하기에 유효하며, 상기 판독, 판정 및 구성하기에 유효한 코드는 상기 비휘발성 메모리 이외의 것에 저장되어 있는 코드의 실행 전에 실행되고, 상기 TPM의 동작은 구성된 물리적 존재 플래그의 작용에 따라 제한된다. According to another aspect of the present invention, the present invention provides a reliable platform module (TPM), a non-volatile memory in which computer-readable program codes are stored, connecting the TPM and non-volatile memory, and a blank processor socket and a state. Providing a motherboard comprising a circuit board with a register, the status register being settable only in hardware, estimating a power-on status state indicating how the application of power to the circuit board was initiated the other time; Non-volatile memory is configured on the circuit board to execute code stored in non-volatile memory, which is the first code to be executed in response to a reset event, which code, upon execution, controls the power-on status of the status register. Read the other time, the application of power to the circuit board The TPM determines whether it is initiated by the activation of a connected power-on switch, based on a power-on situation state read from the status register, and indicates the absence of physical presence in response to determining that the power-on switch is not active. Code that is valid for constructing a physical presence flag in, wherein the code that is valid for reading, determining, and configuring is executed before execution of code stored in something other than the non-volatile memory, and the operation of the TPM is effected by the action of the configured physical presence flag. Limited according to.

일 실시예에서, 상기 비휘발성 메모리에 저장되어 있는 코드는 실행시, 상기 TPM에서 물리적 존재 로크 플래그를 설정하여 상기 TPM에서 물리적 존재 플래그를 로크하기에도 유효하며, 상기 코드는 상기 비휘발성 메모리 이외의 것에 저장되어 있는 코드의 실행 전에 물리적 존재 플래그를 로크한다. 상기 비휘발성 메모리 이외의 것에 저장되어 있는 코드의 실행은 운영체계를 로딩하는 코드이고, 상기 리셋 이벤트는 하드웨어 개시 리셋과 소프트웨어 개시 리셋으로 이루어진 그룹으로부터 선택된 이벤트인 것이 좋다. 운영체계를 로딩하는 코드는 리셋 이벤트에 후속하는 INT 19h의 첫번째 인스턴스인 것이 좋다.In one embodiment, the code stored in the non-volatile memory is also effective to set a physical presence lock flag in the TPM at runtime to lock the physical presence flag in the TPM, wherein the code is other than the nonvolatile memory. Lock the physical presence flag before executing any code stored in it. Execution of code stored in something other than the nonvolatile memory is code that loads an operating system, and the reset event is an event selected from the group consisting of a hardware initiated reset and a software initiated reset. The code that loads the operating system is preferably the first instance of INT 19h following the reset event.

본 발명의 다른 양태에 따르면, 본 발명은 신뢰할 수 있는 플랫폼 모듈(TPM)과, 컴퓨터 판독 가능한 프로그램 코드가 저장되어 있는 비휘발성 메모리와, 상기 TPM과 비휘발성 메모리를 연결하며, 공백 프로세서 소켓과 상태 레지스터를 구비한 회로 기판을 포함하는 마더 보드를 제공하고, 상기 상태 레지스터는 하드웨어에서만 설정 가능하고, 요전회 상기 회로 기판에 대한 전원의 인가가 어떻게 개시되었는지를 나타내는 파워온 상황 상태를 추정하며, 상기 비휘발성 메모리는 리셋 이벤트에 응답하여 실행되는 최초 코드인, 비휘발성 메모리에 저장되어 있는 코드를 실행하도록 상기 회로 기판 상에 구성되어 있으며, 상기 코드는 실행시에, 상기 상태 레지스터의 파워온 상황 상태를 판독하고, 요전회 상기 회로 기판에 대한 전원의 인가가 상기 회로 기판에 연결된 파워온 스위치의 활성에 의해 개시되었는지의 여부를, 상기 상태 레지스터로부터 판독된 파워온 상황 상태에 기초해서 판정하며, 파워온 스위치가 활성되었다는 판정에 응답하여 물리적 존재를 나타내도록 상기 TPM에서 물리적 존재 플래그를 구성하기에 유효하며, 상기 판독, 판정 및 구성하기에 유효한 코드는 상기 비휘발성 메모리 이외의 것에 저장되어 있는 코드의 실행 전에 실행되고, 소정의 신뢰할 수 있는 동작이 상기 구성된 물리적 존재 플래그의 작용에 따라 상기 TPM에서 실행되는 것이 허용된다.According to another aspect of the present invention, the present invention provides a reliable platform module (TPM), a nonvolatile memory in which computer readable program code is stored, and a connection between the TPM and the nonvolatile memory, a blank processor socket and a state. Providing a motherboard comprising a circuit board having a register, the status register being settable only in hardware, estimating a power-on situation state indicating how the application of power to the circuit board was initiated last time; Non-volatile memory is configured on the circuit board to execute code stored in non-volatile memory, which is the first code to be executed in response to a reset event, wherein the code, upon execution, power-on status state of the status register. Read the last time, the application of power to the circuit board Whether or not initiated by the activation of a power-on switch coupled to a physical controller at the TPM to determine a physical presence in response to the determination that the power-on switch has been activated; Code that is valid for constructing an existence flag, and that is effective for reading, determining, and constructing is executed before execution of code stored in something other than the nonvolatile memory, and certain reliable actions are performed on the configured physical presence flag. Depending on the action it is allowed to run in the TPM.

일 실시예에서, 상기 비휘발성 메모리에 저장되어 있는 코드는 실행시, 상기 TPM에서 물리적 존재 로크 플래그를 설정하여 상기 TPM에서 물리적 존재 플래그를 로크하기에도 유효하며, 상기 코드는 상기 비휘발성 메모리 이외의 것에 저장되어 있는 코드의 실행 전에 물리적 존재 플래그를 로크한다. 상기 비휘발성 메모리 이외의 것에 저장되어 있는 코드의 실행은 운영체계를 로딩하는 코드이고, 상기 리셋 이벤트는 하드웨어 개시 리셋과 소프트웨어 개시 리셋으로 이루어진 그룹으로부터 선택된 이벤트인 것이 좋다. 운영체계를 로딩하는 코드는 리셋 이벤트에 후속하는 INT 19h의 첫번째 인스턴스인 것이 좋다.In one embodiment, the code stored in the non-volatile memory is also effective to set a physical presence lock flag in the TPM at runtime to lock the physical presence flag in the TPM, wherein the code is other than the nonvolatile memory. Lock the physical presence flag before executing any code stored in it. Execution of code stored in something other than the nonvolatile memory is code that loads an operating system, and the reset event is an event selected from the group consisting of a hardware initiated reset and a software initiated reset. The code that loads the operating system is preferably the first instance of INT 19h following the reset event.

일 실시예에 따르면, 신뢰할 수 있는 플랫폼 모듈(TPM)과, 프로그램 코드를 저장하는 비휘발성 메모리와, 상기 TPM과 비휘발성 메모리가 지지되는 회로 기판을 구비한 컴퓨터 시스템이 제공된다. 이 회로 기판은 코드를 실행하기 위한 프로세서를 더 포함하는 것이 좋다. 또한, 회로 기판은 요전에 전원이 어떻게 인가되었는지를 나타내는 파워온 상황 상태를 추정하는 상태 레지스터를 포함하는 것이 좋다. 실행 중에 코드는 상태 레지스터의 파워온 상황 상태를 판독하기에 유효한 것이 좋다. 그리고, 이 코드는 요전에 전원의 인가가 파워온 스위치의 활성에 의해 개시되었는지의 여부를 판정하는 것이 좋다. 이 판정은 상태 레지스터로부터 판독되는 파워온 상황 상태에 기초하는 것이 좋다. 양호하게는, 그 결과에 따라, TPM의 동작에 영향을 미치는 커맨드가 발행된다.According to an embodiment, there is provided a computer system having a reliable platform module (TPM), a nonvolatile memory for storing program code, and a circuit board on which the TPM and nonvolatile memory are supported. The circuit board preferably further includes a processor for executing code. In addition, the circuit board preferably includes a status register for estimating a power-on status state indicating how power was applied in the past. During execution, the code is preferably valid for reading the power-on status state of the status register. The code then preferably determines whether or not the application of the power supply was started by the activation of the power-on switch. This determination is preferably based on the power-on status state read from the status register. Preferably, as a result, a command is issued that affects the operation of the TPM.

일 실시예에 따르면, 컴퓨터 시스템의 제조에 이용되는 마더보드 제조품을 제공한다. 이 마더보드는 신뢰할 수 있는 플랫폼 모듈(TPM)과, 프로그램 코드를 저장하는 비휘발성 메모리 간에 전기적 상호 접속을 지원 및 제공하는 것이 좋다. 또한, 마더보드는 프로세서에 대한 접속을 제공하는 공백 프로세서 소켓을 포함하는 것이 좋다. 이 소켓은, 마더보드를 컴퓨터 시스템을 제조하는데 이용할 경우, 설치된 프로세서가 비휘발성 메모리의 코드를 실행하도록 구성되는 것이 좋다. 또한, 마더보드는, 요전에 전원이 어떻게 인가되었는지를 나타내는 파워온 상황 상태를 추정하는 상태 레지스터를 포함하는 것이 좋다. 코드는 실행시, 상태 레지스터의 파워온 상황 상태를 판독하기에 유효한 것이 좋다. 그리고, 코드는 요전에 전원의 인가가 파워온 스위치의 활성에 기초하여 개시되었는지의 여부를 판정하는 것이 좋다. 이 판정은 상태 레지스터로부터 판독되는 파워온 상황 상태에 기초하는 것이 좋다. 양호하게는, 그 결과에 따라, TPM의 동작에 영향을 미치는 커맨드가 발행되도록 체계화된다. According to one embodiment, a motherboard article of manufacture for use in the manufacture of a computer system is provided. It is recommended that the motherboard support and provide electrical interconnection between the Trusted Platform Module (TPM) and the nonvolatile memory that stores program code. The motherboard also preferably includes a blank processor socket that provides a connection to the processor. This socket is preferably configured such that when the motherboard is used to make a computer system, the installed processor executes code in nonvolatile memory. In addition, the motherboard preferably includes a status register for estimating a power-on status state indicating how power was applied in the past. The code is preferably valid at run time to read the power-on status state of the status register. The code then preferably determines whether or not the application of the power source has been started recently based on the activation of the power-on switch. This determination is preferably based on the power-on status state read from the status register. Preferably, the results are organized to issue commands that affect the operation of the TPM.

일 실시예에 따르면, 신뢰할 수 있는 플랫폼을 컴퓨터 시스템에 제공하는 방법이 제공된다. 파워온 스위치의 활성에 의해 전원이 컴퓨터 시스템에 인가되었는지에 대한 판정이 이루어지는 것이 좋다. 판정시에, 상기 활성의 발생을 나타내는 파워온 상태 레지스터가 판독되는 것이 좋다. 양호하게는, 그 판정 결과에 따라, 상기 컴퓨터 시스템에 포함된 신뢰할 수 있는 플랫폼 모듈의 동작이 영향을 받는다.According to one embodiment, a method is provided for providing a trusted platform to a computer system. Determination as to whether power is applied to the computer system is made by the activation of the power-on switch. At the time of determination, the power-on status register indicating the occurrence of the activity is preferably read. Preferably, depending on the determination result, the operation of the trusted platform module included in the computer system is affected.

다른 실시예에서는, 프로그램 코드가 저장되어 있는 컴퓨터 판독 가능한 매체 상에, 신뢰할 수 있는 플랫폼을 컴퓨터 시스템에 제공하는 프로그램 제품이 제공된다. 이 코드는 실행시, 파워온 스위치의 활성에 의해 전원이 컴퓨터 시스템에 인가되었는지의 여부를 판정하기에 유효한 것이 좋다. 판정시에, 상기 활성의 발생을 나타내는 파워온 상태 레지스터가 판독되는 것이 좋다. 상기 판정의 결과에 따라, 컴퓨터 시스템에 포함된 신뢰할 수 있는 플랫폼 모듈의 동작이 영향을 받는다.In another embodiment, a program product is provided that provides a trusted platform to a computer system on a computer readable medium having program code stored thereon. This code is preferably effective at run time to determine whether power has been applied to the computer system by activation of the power-on switch. At the time of determination, the power-on status register indicating the occurrence of the activity is preferably read. As a result of the determination, the operation of the trusted platform module included in the computer system is affected.

본 발명의 양호한 실시예를 도시하고 있는 첨부 도면을 참조하여, 이하에서 본 발명을 보다 자세하게 설명하며, 당업자라면 본 발명의 바람직한 결과를 달성하면서 본 명세서에 기재된 발명을 변형할 수 있다는 것을 본 발명의 시작에서 이해되어야 한다. 따라서 이어지는 설명은 당업자를 대상으로 한 넓고 교시적인 개시이지만, 본 발명을 제한하지 않는 것으로서 이해되어야 한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention will be described in more detail below with reference to the accompanying drawings, which show preferred embodiments of the invention, and that those skilled in the art can modify the invention described herein while achieving the desired results of the invention. It must be understood at the outset. Thus, the following description is a broad and teaching disclosure for those skilled in the art, but should be understood as not limiting the invention.

이제, 첨부 도면을 참조하면, 우선, 도 3에서는 본 발명의 실시예에 따라 구성된 마더보드(301) 또는 회로 기판의 사시도가 도시되어 있다. 마더보드(301)는 TPM(111), NVRAM(116), 코어 사우스브릿지 칩셋(202), 및 공백 프로세서 소켓 간에 기계적 지지 및 전기적 상호 접속을 제공한다. 이 회로 구성은 사용자에 대하여 정보를 제공하고 수신하는 신뢰할 수 있는 시스템 플랫폼을 제조하기 위한 기초를 제공한다. 제조시, 플랫폼은 도 3에 도시한 회로 구성, 소켓(310)에 설치되는 프로세서 또는 CPU, 및 그 회로 기판(301)에 장착되는 1차적 주변 장치(도시 생략)로 이루어진다. 1차적 주변 장치는 마더보드(301)에 직접 장착되고 마더보드와 직접 상호 작용하는 장치인 것으로 볼 수 있다. 예컨대, PCI 카드, LPC 구성요소, USB 호스트 컨트롤러와 루트 허브(root hub), 장착된 직렬 및 병렬 포트 등이 있다. 그러나, USB와 IEEE 1394 장치는 1차적 주변 장치로서 간주되지 않는다.Referring now to the accompanying drawings, first of all, a perspective view of a motherboard 301 or a circuit board constructed in accordance with an embodiment of the present invention is shown. Motherboard 301 provides mechanical support and electrical interconnection between TPM 111, NVRAM 116, core southbridge chipset 202, and a blank processor socket. This circuit arrangement provides the basis for manufacturing a reliable system platform that provides and receives information to the user. In manufacturing, the platform consists of the circuit configuration shown in FIG. 3, a processor or CPU installed in the socket 310, and a primary peripheral device (not shown) mounted on the circuit board 301. The primary peripheral device may be viewed as a device mounted directly on the motherboard 301 and directly interacting with the motherboard. Examples include PCI cards, LPC components, USB host controllers and root hubs, and installed serial and parallel ports. However, USB and IEEE 1394 devices are not considered as primary peripherals.

도 1은 본 발명의 양호한 실시예에 따라 구성된 예시적인 컴퓨터 시스템(113)을 도시하고 있다(예컨대, 본 발명의 실시예에 따라 구성된 마더보드를 이용하는 컴퓨터 시스템). 시스템(113)은 시스템 버스(112)에 의해 각종 구성요소에 연결되어 있는 중앙 처리 장치(CPU)(110)를 구비한다. 시스템 버스(112)는 직선형 버스일 수 있거나, 계층형 버스 시스템일 수 있다. 플래시 비휘발성 랜덤 액세스 메모리("NVRAM)(116)는 시스템 버스(112)에 연결되어 있고, 컴퓨터 시스템(113)의 소정의 기본 기능을 제어하는 입출력 시스템("BIOS")을 포함한다. NVRAM(116)이 수행하는 기본 입출력 시스템을 저장하는 기능은 전통적으로 ROM 장치가 수행하는 것과 동일하다. 본 실시예의 플래시 장치는 현장 업그레이드가 가능하다는 장점(field upgradable)이 있다. 랜덤 액세스 메모리("RAM")(114), I/O 어댑터(118), 및 통신 어댑터(134)도 시스템 버스(112)에 연결되어 있다. I/O 어댑터(118)는 디스크 기억 장치(120)와 통신하는 SCSI(Small Computer System Interface) 어댑터일 수 있다. 통신 어댑터(134)는 컴퓨터 시스템으로 하여금 다른 그러한 시스템과의 통신을 가능하게 하는 외부 네트워크(160)(예컨대, 인터넷)과 버스(112)를 상호 접속시킨다. 또한, 입출력 장치는 사용자 인터페이스 어댑터(122)와 디스플레이 어댑터(136)를 통해 시스템 버스에도 접속되어 있다. 키보드(124)와 마우스(126)는 사용자 인터페이스 어댑터(122)를 통해 버스(112)에 모두 상호 접속되어 있다. 디스플레이 모니터(138)는 디스플레이 어댑터(136)에 의해 시스템 버스(112)에 접속된다. 이런 식으로, 사용자는 키보드(124)나 마우스(126)를 통해 시스템(113)에 입력하는 것과, 디스플레이(138)를 통해 시스템으로부터의 출력을 수신하는 것이 가능하다.1 illustrates an exemplary computer system 113 configured in accordance with a preferred embodiment of the present invention (eg, a computer system using a motherboard configured in accordance with an embodiment of the present invention). System 113 includes a central processing unit (CPU) 110 that is connected to various components by a system bus 112. System bus 112 may be a straight bus or may be a hierarchical bus system. Flash nonvolatile random access memory (“NVRAM”) 116 is coupled to system bus 112 and includes an input / output system (“BIOS”) that controls certain basic functions of computer system 113. NVRAM ( The function of storing the basic input / output system performed by 116 is traditionally the same as that performed by the ROM device The flash device of this embodiment has the advantage of being field upgradable Random Access Memory ("RAM"). 114, I / O adapter 118, and communication adapter 134 are also connected to system bus 112. I / O adapter 118 communicates with SCSI (Small) communication with disk storage 120. FIG. Computer adapter (134), which may interconnect a bus 112 with an external network 160 (e.g., the Internet) that allows a computer system to communicate with other such systems. I / O device is user It is also connected to the system bus via the interface adapter 122 and the display adapter 136. The keyboard 124 and the mouse 126 are all interconnected to the bus 112 via the user interface adapter 122. Display The monitor 138 is connected to the system bus 112 by the display adapter 136. In this way, the user inputs to the system 113 via the keyboard 124 or the mouse 126, and the display 138 It is possible to receive the output from the system.

본 발명의 구현은 본 명세서에 설명하는 방법 또는 방법들을 실행하도록 프로그래밍된 컴퓨터 시스템으로서, 그리고 컴퓨터 프로그램 제품으로서의 구현을 포함하는 것이 좋다. 컴퓨터 시스템 구현에 따르면, 방법 또는 방법들을 실행하기 위한 프로그램 코드 또는 명령어 세트는 NVRAM(116)에 상주할 수 있다. 다른 실시예에서는, 프로그램 코드가 NVRAM(116) 상에 상주할 필요는 없지만, 다른 비휘발성 메모리 상에는 상주할 수 있다. 컴퓨터 시스템[예컨대, 마더보드(301)로 제조된 것]이 필요로 할 때까지, 프로그램 코드는 별도의 컴퓨터 메모리, 예컨대 [디스크 드라이브(120)에 최종 이용되는 광디스크 또는 플로피 디스크 등의 착탈 가능한 메모리를 포함할 수 있는]디스크 드라이브(120)에서 컴퓨터 프로그램 제품으로서 저장될 수 있다. 일 실시예에서, 그 프로그램 코드는 그것의 소스에 무관하게, 컴퓨터 시스템에서 임의의 리셋 이벤트에 후속하여 실행되는 최초 코드로서 실행된다. 또한, 그 코드는 별도의 컴퓨터에 저장될 수도 있고, 필요하다면, 네트워크에 의해 또는 외부 네트워크(160)에 의해 사용자의 워크스테이션에 전송될 수도 있다. 당업자라면 프로그램 코드의 물리적 기억 장치에 있어서 그 코드가 저장되는 매체가 물리적으로 변경하여 그 매체가 컴퓨터 판독 가능한 정보를 전달하는 것을 이해할 수 있다. 그 변경은 전기적, 자기적, 화학적, 생물적 또는 그외 다른 물리적 변화일 수 있다. 편의상 명령어, 부호, 문자 등의 용어로 본 발명을 설명하지만, 당업자는 이들 및 유사한 용어 모두가 적절한 물리적 요소와 연관되어야 하는 것을 기억해야 한다.Implementations of the invention preferably include an implementation as a computer system programmed to execute the method or methods described herein, and as a computer program product. According to a computer system implementation, program code or a set of instructions for executing a method or methods may reside in NVRAM 116. In other embodiments, program code need not reside on NVRAM 116, but may reside on other non-volatile memory. Until a computer system (e.g., manufactured by motherboard 301) is needed, program code may be stored in a separate computer memory, e. Can be stored as a computer program product in the disk drive 120. In one embodiment, the program code is executed as original code that is executed following any reset event in the computer system, regardless of its source. The code may also be stored on a separate computer and, if necessary, transmitted to the user's workstation by the network or by the external network 160. Those skilled in the art can understand that in the physical storage of the program code, the medium on which the code is stored is physically changed so that the medium carries computer readable information. The change may be an electrical, magnetic, chemical, biological or other physical change. Although the invention is described in terms of instructions, symbols, characters, etc. for convenience, those skilled in the art should remember that both these and similar terms should be associated with appropriate physical elements.

컴퓨터 시스템(113)은 소정의 신뢰할 수 있는 동작이 수행될 수 있는 신뢰할 수 있는 플랫폼을 사용자에게 제공하도록 구현되어 있다[예컨대, 마더보드(301)는 사용자에게 그러한 신뢰할 수 있는 플랫폼을 제공하도록 구현될 수 있다]. 시스템[일 실시예에서는 마더보드(301)]은 여기에서의 인용에 의해 본 명세서에 참조 문헌으로 포함되는 TCPA Main Specification Version 1.1b라는 제목의 TCPA(Trusted Computing Platform Alliance) 사양에 따라 구축된다. 양호한 실시예에서, 컴퓨터 시스템(113)[일 실시예에서는 마더보드(301)]은 PC 아키텍쳐 시스템으로서 구현되어 있고, 역시 여기에서의 인용에 의해 본 명세서에 참조 문헌으로 포함되는 TCPA PC Specific Implementation Specification Version 1.00을 고수한다. 신뢰할 수 있는 플랫폼 모듈(TPM)(111)은 하드웨어 지원방식의 암호화 특성을 가진 컴퓨터 시스템[일 실시예에서는 마더보드(301)]를 제공하는 암호화 프로세서이다. TPM(111)은 시스템 내에 집적되도록 설계된 완전 집적 보안 모듈일 수 있다. 어떤 형태의 암호화 프로세서도 이용 가능할 수 있다. 그러나, 양호한 실시예에서는 TPM(111)이 신뢰할 수 있는 플랫폼 모듈(TPM)의 TCPA 사양의 버전 1.1b를 구현한다. TPM(111)은 그 중에서도, 키 발생, 난수 발생, 디지털 서명 키 발생, 및 해시 발생 기능을 수행하는 비대칭 암호화 보조 프로세서를 포함한다. TPM(111)은 CRT를 이용한 RSA 서명을 컴퓨팅할 수 있고, 소정수의 RSA 키를 저장할 수 있는 내장형 EEPROM 기억 장치를 구비한다. 또한, 플랫폼에 대한 신뢰의 기초(root of trust)를 확립하기 위해 20 바이트 플랫폼 구성 레지스터(PCR: Platform Configuration Register) 세트가 포함된다. 그러한 TPM 장치의 일례가 Atmel(등록상표) 부품 번호 AT97SC320이다.Computer system 113 is implemented to provide a user with a trusted platform on which certain trusted operations may be performed (eg, motherboard 301 may be implemented to provide a user with such a trusted platform). Can be]. The system (motherboard 301 in one embodiment) is built according to the Trusted Computing Platform Alliance (TCPA) specification entitled TCPA Main Specification Version 1.1b, which is incorporated herein by reference. In a preferred embodiment, computer system 113 (motherboard 301 in one embodiment) is implemented as a PC architecture system, which is also incorporated herein by reference by reference herein TCPA PC Specific Implementation Specification Stick to Version 1.00. Trusted Platform Module (TPM) 111 is a cryptographic processor that provides a computer system (in one embodiment motherboard 301) with hardware-assisted cryptographic features. The TPM 111 may be a fully integrated security module designed to be integrated into the system. Any form of cryptographic processor may be available. In the preferred embodiment, however, the TPM 111 implements version 1.1b of the TCPA specification of the Trusted Platform Module (TPM). The TPM 111 includes, among other things, an asymmetric cryptographic coprocessor that performs key generation, random number generation, digital signature key generation, and hash generation functions. The TPM 111 has a built-in EEPROM storage capable of computing an RSA signature using a CRT and capable of storing a predetermined number of RSA keys. Also included is a set of 20 byte Platform Configuration Registers (PCRs) to establish the root of trust for the platform. One example of such a TPM device is Atmel® part number AT97SC320.

BIOS 코드를 저장하는 것 외에도, NVRAM(116)은 POST(Power On Self Test) 루틴을 실행하는데 이용되는 코드를 저장할 수도 있다. 이 POST 코드의 일부는 플랫폼에 대한 신뢰의 기초를 확립하는 역할을 한다. 컴퓨터 시스템에 물리적 및/또는 논리적으로 연결된 NVRAM(116)과 TPM(111)을 구비하여 신뢰할 수 있는 구축 블록을 형성함으로써 플랫폼에서 신뢰가 확립된다. In addition to storing BIOS code, NVRAM 116 may store code used to execute a power on self test (POST) routine. Portions of this POST code establish the basis for trust in the platform. Trust is established in the platform by providing reliable building blocks with NVRAM 116 and TPM 111 physically and / or logically coupled to the computer system.

이하에서 보다 자세하게 설명하겠지만, NVRAM(116)와 TPM(111)이 마더보드라고도 알려진 칩 회로[예컨대, 마더보드(301)] 상에서, NVRAM(116)에 저장된 신뢰할 수 있는 코드가 시스템 리셋시 컴퓨터 시스템 제어를 획득하는 식으로 어셈블된다. 이 신뢰할 수 있는 코드는 CRTM(Core Root of Trust for Measurement)로서 알려져 있다. 실행되고 있는 POST 코드가 제조업자가 실은 코드인 것을 검증하기 위하여, 각 섹션은 -- 그 섹션 실행 전에 -- 먼저 CRTM 그 자체에 의해 사이즈가 정해지게 된다[일 실시예에서는 코드는 마더보드(301) 상에서, 각 섹션이 -- 그 섹션 실행 전에 -- CRTM 그 자체에 의해 사이즈가 정해지는 식으로 구성된다]. 각 코드의 섹션은 길이 및 체크섬(check sum)에 대해서 체크되고, 코드가 실행 중임을 나타내는 해시가 생성된다. 그리고 각 해시는 TPM(111) 내에 있는 20 바이트 PCR 중 하나에 저장된다. 이 때 이들 해시 값은 검증 용도로 제조업자가 공개한 공개된 해시 값과 비교됨으로써 검증된다. As will be described in more detail below, on a chip circuit (eg, motherboard 301) where NVRAM 116 and TPM 111 are also known as motherboards, reliable code stored in NVRAM 116 may be stored in a computer system upon system reset. Assembled in such a way as to gain control. This trusted code is known as the Core Root of Trust for Measurement (CRTM). In order to verify that the POST code being executed is code loaded by the manufacturer, each section is first sized before the execution of that section by the CRTM itself (in one embodiment the code is the motherboard 301). In the above, each section is configured in such a way that it is sized by the CRTM itself-before executing the section. Each section of code is checked for length and check sum, and a hash is generated to indicate that the code is running. Each hash is then stored in one of the 20 byte PCRs in the TPM 111. These hash values are then verified by comparing the published hash values published by the manufacturer for verification purposes.

컴퓨터 시스템을, 예컨대 웨이크 온 LAN 또는 웨이크 온 RING에 의해 원격으로 파워온하는 것이 가능하기 때문에 때문에, 시스템을 원격으로 파워온하여 공격하는 것이 가능하다. 그러나, 그러한 공격은 [예컨대, 마더보드(301) 상에서]TCPA 사양의 요건을 만족시키는 물리적 존재 검출 기능을 제공함으로써 방지될 수 있다. 보안 시스템을 유지시키기 위해, CRTM 코드는 소정의 결정적인 동작이 컴퓨터 시스템에서 수행 가능해지기 전에 파워온시 개인의 물리적 존재에 대해서 체크한다. 본 실시예의 설명이 이어지기 때문에 이하에서 상세하게 설명하겠지만, TCPA 사양에 나타내는 바와 같이 물리적인 점퍼 또는 스위치를 구현하는 것이 아니라, 본 발명의 시스템[일 실시예에서는, 마더보드(301)]에서는 컴퓨터가 어떻게 파워온되었는지의 표시에 대해 코어 칩셋 레지스터를 검사하여 물리적 존재에 대해 체크한다. 이 검사에 기초하여, 본 발명의 컴퓨터 시스템은 사용자의 물리적 존재를 추정한다. 물리적 존재가 없다고 추정할 경우에, CRTM 코드는 그 포인트 온, 즉 부트 온으로부터의 TPM(111)가 소정의 결정적인 타입의 TPM 트랜잭션을 거절하는 방식으로 TPM(111)과 인터페이스한다. 한편, 물리적 존재가 있다고 추정하는 경우에, 소정의 결정적인 타입의 TPM 트랜잭션이 허용된다. 물리적 점퍼 또는 스위치를 피함으로써 본 발명의 실시예들은 제조 비용을 줄일 수 있다. 또한, 물리적 점퍼 또는 스위치가 없어지기 때문에, 구성요소들은 전기적 또는 물리적 특이성(uniqueness)없이 제조될 수 있다. 이 특이성이 없어지기 때문에, 동일한 전기적 및 기계적 설계를 공유하는 다른 시스템의 구성요소와 같이 본 시스템의 구성요소를 강화시킬 수 있는[예컨대, 동일한 전기적 및 기계적 설계를 공유하는 임의의 시스템에서 마더보드(301)를 강화시킬 수 있는] 가능성이 커지게 된다.Since it is possible to remotely power on a computer system by, for example, a wake on LAN or a wake on RING, it is possible to remotely power on and attack the system. However, such an attack can be prevented by providing a physical presence detection function that meets the requirements of the TCPA specification (eg, on motherboard 301). In order to maintain a secure system, the CRTM code checks for the physical presence of the individual at power-on before certain deterministic actions can be performed on the computer system. Since the description of this embodiment follows, it will be described in detail below. Instead of implementing a physical jumper or switch as shown in the TCPA specification, the system of the present invention (in one embodiment, the motherboard 301) is a computer. Check the physical presence by checking the core chipset registers for an indication of how power is turned on. Based on this check, the computer system of the present invention estimates the physical presence of the user. If it is assumed that there is no physical presence, the CRTM code interfaces with the TPM 111 in such a way that the TPM 111 from that point on, that is, the boot on, rejects a certain deterministic type of TPM transaction. On the other hand, if it is assumed that there is a physical presence, certain deterministic types of TPM transactions are allowed. Embodiments of the present invention can reduce manufacturing costs by avoiding physical jumpers or switches. In addition, because of the absence of physical jumpers or switches, components can be manufactured without electrical or physical uniqueness. Since this specificity is lost, the components of the system can be enhanced, such as components of other systems that share the same electrical and mechanical design (eg, motherboards in any system that share the same electrical and mechanical design). 301) is likely to increase.

도 3을 참조하면, 전술한 바와 같이, 본 발명의 실시예에 따라 구성된 회로 기판(301) 또는 마더보드의 사시도가 도시되어 있다. 회로 기판(301)은 TPM(111), NVRAM(116), 코어 사우스브릿지 칩셋(202), CPU 또는 [예컨대, 소켓(310)에 설치되어 있는]프로세서 간에 기계적 지지 및 전기적 상호 접속을 제공하는 것이 좋다. 이 회로 구성은 사용자에 대하여 정보를 제공하고 수신하는 신뢰할 수 있는 시스템 플랫폼에 대한 기초를 제공한다. 플랫폼 그 자체는 도 3에 도시된 회로 구성, 소켓(310)에 설치된 프로세서 또는 CPU, 및 회로 기판(301)에 장착된 1차적 주변 장치(도시 생략)로 구성되어 있다. 1차적 주변 장치는 CPU(110)에 직접 장착되고 CPU와 직접 상호 작용하는 장치라고 볼 수 있다. 예컨대, PCI 카드, LPC 구성요소, USB 호스트 컨트롤러 및 루트 허브, 장착된 직렬 및 병렬 포트 등이다. 그러나, USB 및 IEEE 1394 장치는 1차적 주변 장치가 아니다.3, as described above, a perspective view of a circuit board 301 or motherboard constructed in accordance with an embodiment of the present invention is shown. The circuit board 301 may provide mechanical support and electrical interconnection between the TPM 111, NVRAM 116, the core southbridge chipset 202, the CPU, or a processor (eg, installed in the socket 310). good. This circuit arrangement provides the basis for a reliable system platform that provides and receives information to the user. The platform itself consists of the circuit configuration shown in FIG. 3, a processor or CPU installed in the socket 310, and a primary peripheral (not shown) mounted on the circuit board 301. The primary peripheral device may be viewed as a device mounted directly on the CPU 110 and directly interacting with the CPU. For example, PCI cards, LPC components, USB host controllers and root hubs, mounted serial and parallel ports, and the like. However, USB and IEEE 1394 devices are not primary peripherals.

도 2 및 도 3을 참조하면, 프로세서(110)는 NVRAM(116)에 저장된 CRTM 코드를 실행한다. 전술한 바와 같이, 이 CRTM 코드는 신뢰할 수 있는 플랫폼을 제공하기 위하여 TPM(111)과 상호 작용한다. NVRAM(116)에 저장된 신뢰할 수 있는 CRTM 코드와 TPM(111)은 플랫폼의 최적의 신뢰 가능 구성요소이다. 적절한 바인딩(binding)이 CRTM 코드와 TPM(111) 사이에 확립되는 경우, 신뢰의 기초가 플랫폼에 확립된다. NVRAM(116)과 TPM(111)의 바인딩은 물리적 또는 논리적일 수 있고, 본 발명의 범주 밖에 있는 것으로 간주된다. CTRM의 TPM(111)에 대한 바인딩에 관한 상세한 내용은 신뢰할 수 있는 컴퓨팅 기술에서 잘 알려져 있고, 불필요한 상세한 내용에서 본 설명이 혼동되지 않도록 여기에서는 생략하기로 한다. 본 실시예에서는 CRTM가 NVRAM(116)의 일부에 포함된다. 그러나, 다른 실시예에서, CRTM 코드는 NVRAM(116)의 전체를 차지한다. CRTM과 TPM(111)이 플랫폼의 최적의 신뢰 가능 구성요소이기 때문에, 그리고 물리적 존재의 표시가 신뢰할 수 있는 메커니즘으로 하여금 플랫폼 사용자에 의해 활성되게 하기 때문에, 물리적 존재의 표시가 NVRAM(116)의 CRTM 코드와 TPM(111) 내에 포함된다. 2 and 3, the processor 110 executes a CRTM code stored in the NVRAM 116. As mentioned above, this CRTM code interacts with the TPM 111 to provide a reliable platform. The reliable CRTM code and the TPM 111 stored in NVRAM 116 are the optimal reliable components of the platform. If a proper binding is established between the CRTM code and the TPM 111, the basis of trust is established in the platform. The binding of NVRAM 116 and TPM 111 may be physical or logical, and is considered to be outside the scope of the present invention. The details of the CTRM's binding to the TPM 111 are well known in reliable computing techniques and will be omitted here so that the description is not to be confused with unnecessary details. In this embodiment, CRTM is included in a portion of NVRAM 116. However, in other embodiments, the CRTM code occupies the entirety of NVRAM 116. Since CRTM and TPM 111 are the optimal trusted components of the platform, and because the indication of physical presence causes a trusted mechanism to be activated by the platform user, the indication of physical presence is the CRTM of NVRAM 116. It is included in the code and the TPM 111.

양호한 실시예의 버스(112)는 노스 버스 브릿지(이하, “노스브릿지” 도시 생략)와 사우스 버스 브릿지(202)(이하, “사우스브릿지”)를 구비한 계층형 버스이다. 노스브릿지는 프로세서에 동작 가능하게 더 근접해 있는 버스, 예컨대 메모리 및 캐싱 버스를 포함한다. 사우스브릿지(202)는 시스템 I/O에 더 근접해 있는 버스, X-버스, IDE, LPC 및 다른 버스를 포함한다. 그러나, 양호한 실시예의 버스(112)는 계층형 버스로서 구현될 필요가 없음을 알아야 한다. 대신에, 도 1에 도시하는 시스템적인 플랫 버스(flat bus)가 물리적으로 구현될 수 있다. 이와 달리, 단독의 브릿지 칩을 수반하는 계층형이 이용될 수 있다. 사우스브릿지(202)는 다른 구성요소 중에서, NVRAM(116)를 연결하는 LPC 버스를 제공한다. LPC 버스는 IBM(등록상표) PCAT 버스 기반의 LPC(Low Pin Count) 버스이고, 계층형 버스(112)의 부분을 형성한다[IBM은 미국 및 기타 국가에서 인터내셔널 비지네스 머신즈 코포레이션의 등록된 상표이다]. 또한, 사우스브릿지(202)는 TPM(111)을 연결한다. 또한, 사우스브릿지(202)는 ACPI(Advanced Configuration and Power Interface) 호환 전원 컨트롤러(204) 등의 다수의 저레벨 시스템 컨트롤러를 포함한다. ACPI는 OS 지향 구성 및 전원 관리에 대한 산업 표준 인터페이스이다. 사우스브릿지 내의 ACPI 전원 컨트롤러(204)는 운영체계와 전원이 제어되는 장치 간에 하드웨어 인터페이스를 제공한다. 전원 컨트롤러(204)에 의해 제공되는 기능의 대부분은 인에이블 또는 상태 레지스터인 레지스터를 통해 액세스된다. 그러한 레지스터의 하나가 상태 레지스터(206)이다. 상태 레지스터(206)는, 각각 머신의 전원 구성에 대하여 그리고 그것의 현재 및 초기 상태에 대한 상태를 제공하는 일련의 비트를 포함한다. 양호한 실시예에서, 그 비트 중 하나, 즉 전원 스위치 비트는 시스템의 전면에 하우징된 시스템 전원 스위치의 활성에 의해 요전에 전원이 시스템에 인가되었는지의 여부를 나타내도록 예약되어 있다. 시스템 전원 스위치는 회로 기판(301)(예컨대, 마더보드)에 직접적으로 또는 전원 공급기를 통해 간접적으로 접속되어 있다. 또한, 시스템 전원 스위치는 그 전원 스위치를 전면에 장착하는 것이 양호하겠지만 전원 공급기에 간접적으로 장착될 수도 있다. 마지막 전원의 인가가 시스템 전원 스위치에 의해 머신[일 실시예에서는 마더보드(301)]에 이루어졌는 경우에, 전원 스위치 비트는 어서트된다. 마지막 전원의 인가가 시스템 전원 스위치 이외의 것에 의해 머신에 이루어졌는 경우에, 전원 스위치 비트는 디어서트된다. 이에, 시스템[일 실시예에서는 마더보드(301)로 제조된 시스템)이 웨이크 온 LAN 또는 웨이크 온 RING 이벤트를 통해, 원격으로 파워온된다면, 예컨대 전원 스위치 비트는 디어서트된다. 양호한 실시예에서, 전원 스위치 비트는 소프트웨어가 아닌 하드웨어에서만 설정 가능하도록 구현된다. 이것은 플랫폼의 보안을 공격하려고 시도하는 트로이목마 또는 바이러스 소프트웨어에 의한 위장을 방지하기 위해 이루어진다. 전원 스위치 비트가 소프트웨어에 의해 리셋(디어서트 상태로 설정)되게 하는 것은 운영체계 로딩후에 전원 스위치 비트의 디어서트가 무시되기 때문에, 허용 가능한 설계 선택으로서 간주되며, 무시되지 않더라도, 전원 스위치 비트의 소프트웨어 디어서트는 시스템의 보안 레벨을 높이도록 다른 방식으로 기능하다. 양호한 실시예에서, 전원 스위치 비트는 시스템 전원 스위치에 의한 전원의 인가가 마지막 파워온 이벤트 시에 개시되었는지의 여부를 나타낸다. 다른 실시예에서는, 전원 스위치 비트는 시스템 전원 스위치가 눌려졌는지의 여부를 나타내도록 설계되어 있다. 후자의 경우에, 판정을 하는 소프트웨어는 빨리 구동해야 하거나, 다른 방식으로 다른 척도를 취하여신뢰할 수 있는 판정을 하게 한다.Bus 112 of the preferred embodiment is a tiered bus having a north bus bridge (hereinafter not shown as "Northbridge") and a south bus bridge 202 (hereafter referred to as "Southbridge"). The northbridge includes buses operatively closer to the processor, such as memory and caching buses. Southbridge 202 includes buses, X-buses, IDEs, LPCs, and other buses that are closer to system I / O. However, it should be appreciated that the bus 112 of the preferred embodiment does not need to be implemented as a tiered bus. Instead, the systematic flat bus shown in FIG. 1 can be physically implemented. Alternatively, a hierarchical type involving a single bridge chip may be used. Southbridge 202 provides an LPC bus connecting NVRAM 116, among other components. The LPC bus is a Low Pin Count (LPC) bus based on the IBM® PCAT bus and forms part of the tiered bus 112 [IBM is a registered trademark of International Business Machines Corporation in the United States and other countries]. . In addition, the southbridge 202 connects the TPM 111. The southbridge 202 also includes a number of low level system controllers, such as an Advanced Configuration and Power Interface (ACPI) compatible power controller 204. ACPI is an industry standard interface for OS-oriented configuration and power management. The ACPI power controller 204 in Southbridge provides a hardware interface between the operating system and the power controlled device. Most of the functionality provided by the power controller 204 is accessed through a register, which is an enable or status register. One such register is status register 206. Status register 206 includes a series of bits, each providing a state for the power configuration of the machine and its current and initial states. In a preferred embodiment, one of its bits, the power switch bit, is reserved to indicate whether power was previously applied to the system by the activation of a system power switch housed in the front of the system. The system power switch is connected directly to the circuit board 301 (eg, motherboard) or indirectly through a power supply. In addition, the system power switch may be mounted indirectly to the power supply although it is preferable to mount the power switch on the front side. When the last application of power is made to the machine (motherboard 301 in one embodiment) by the system power switch, the power switch bit is asserted. When the last application of power is made to the machine by something other than the system power switch, the power switch bit is deasserted. Thus, if the system (in one embodiment a system made of motherboard 301) is powered on remotely via a wake on LAN or wake on RING event, for example, the power switch bit is deasserted. In the preferred embodiment, the power switch bits are implemented to be settable only in hardware, not in software. This is done to prevent spoofing by Trojan or virus software attempting to attack the security of the platform. Allowing the power switch bits to be reset (set to a desert state) by software is considered an acceptable design choice because the desing of the power switch bits is ignored after the operating system loads, and if not ignored, the power switch bits 'S software desserts function differently to increase the security level of the system. In the preferred embodiment, the power switch bit indicates whether the application of power by the system power switch was initiated at the last power on event. In another embodiment, the power switch bit is designed to indicate whether the system power switch has been pressed. In the latter case, the software making the decision must run quickly, or take other measures in different ways to make a reliable decision.

양호하게는, 프로세서(110)는 시스템 리셋 후에 실행하는 최초 코드로서 NVRAM(116)에 저장된 CRTM 코드를 실행한다. [일 실시예에서, 마더보드(301)는 소켓(310)에 설치된 프로세서(110)와 같은 프로세서로 구축된다.] 시스템[일 실시예에서는 마더보드(301)]은 하드웨어 또는 소프트웨어 리셋 이벤트로부터 리셋 상태를 개시한다. 하드웨어 리셋 상태는 컴퓨터 시스템의 전원의 인가시에 개시되거나, 전용 시스템 리셋 스위치를 통해 개시될 수 있다. 양호한 실시예에서, CRTM 코드는 플랫폼에서 신뢰를 확립하기 위하여 컴퓨터 시스템의 최초 제어를 받는다. CRTM 코드가 실행하면, CRTM은 플랫폼에 대한 신뢰의 기초를 확립하기 위하여 TPM(111)과 상호 작용한다. 전술한 바와 같이, CRTAM 코드는 TPM(111)의 PCR 레지스터와 해싱 기능을 사용하여 자기 자신을 검증한다. 또한, 무엇보다도, CRTM 코드는 전원 스위치 비트의 현재 상태에 대해 상태 레지스터(206)를 판독하다. CRTM 코드는 머신에서의 사용자의 존재 유무에 관하여 추정하고, 이 추정에 기초해서 소정의 결정적인 TPM 기능을 제한하거나 허용하기 위해 커맨드를 TPM(111)에 발행하다.Preferably, processor 110 executes the CRTM code stored in NVRAM 116 as the first code to execute after a system reset. [In one embodiment, motherboard 301 is built with a processor such as processor 110 installed in socket 310.] The system (in one embodiment motherboard 301) is reset from a hardware or software reset event. Initiate the state. The hardware reset state can be initiated upon application of power to the computer system or can be initiated via a dedicated system reset switch. In a preferred embodiment, the CRTM code is under initial control of the computer system to establish trust in the platform. When the CRTM code executes, the CRTM interacts with the TPM 111 to establish a foundation of trust for the platform. As described above, the CRTAM code verifies itself using the PCR register and hashing function of the TPM 111. Also, most of all, the CRTM code reads the status register 206 for the current state of the power switch bit. The CRTM code makes an estimate regarding the presence of a user on the machine and issues a command to the TPM 111 to limit or allow certain critical TPM functions based on this estimation.

상태 레지스터(206)의 전원 스위치 비트가 어서트 상태에 있다고 발견되는 경우에, 사용자가 그 머신에 존재한다고 추정된다. 이 경우, 발행된 커맨드는 미리 정해진 일련의 기능이 TPM(111)에서 실행되는 것이 허용된다. 양호한 실시예에서, 발행된 커맨드는 TPM에서 물리적 존재 플래그를 설정하는 커맨드이다. 이 때, TPM(111)은 물리적 존재가 물리적 존재 플래그에 따라 표시되는 경우에만 소정의 기능을 허용하도록 구현된다. 그러한 커맨드의 예가, TPM(111)을 팩토리 디폴트 상태로 리셋시키는 커맨드이다. 그러한 커맨드는 물리적 존재가 판정되는 경우에만 TPM(111)에 의해 허용되어 실행될 수 있다. If the power switch bit of the status register 206 is found to be in an asserted state, it is assumed that the user is present at that machine. In this case, the issued command allows a predetermined series of functions to be executed in the TPM 111. In a preferred embodiment, the issued command is a command that sets a physical presence flag in the TPM. At this time, the TPM 111 is implemented to allow certain functions only when the physical presence is indicated according to the physical presence flag. An example of such a command is a command for resetting the TPM 111 to the factory default state. Such a command can be allowed and executed by the TPM 111 only when a physical presence is determined.

반대로, 상태 레지스터(206)의 전원 스위치 비트가 디어서트 상태에 있다고 발견되는 경우에, 사용자가 머신에 존재하지 않는다고 추정된다. 이 경우, 발행된 커맨드는 미리 정해진 일련의 기능이 TPM(111)에서 실행되는 것을 막는다. 양호한 실시예에서, 발행된 커맨드는 물리적 존재의 부재를 나타내는 판정에 후속하여 TPM(111)에서 물리적 존재 플래그를 리셋하는 커맨드이다. TPM(111)은 물리적 존재가 물리적 존재 플래그에 따라 표시되지 않는 경우에, 소정의 기능을 제한하도록 구현된다. 이러한 일련의 상황에서, 물리적 존재가 없다고 표시되기 때문에, TPM(111)을 그것의 팩토리 디폴트 상태로 리셋시키려는 예시적인 커맨드는 TPM(111)에 의해 차단되게 된다.Conversely, if it is found that the power switch bit of the status register 206 is in a dessert state, it is assumed that the user is not present in the machine. In this case, the issued command prevents the predetermined series of functions from being executed in the TPM 111. In a preferred embodiment, the issued command is a command to reset the physical presence flag at the TPM 111 following a determination indicating the absence of physical presence. The TPM 111 is implemented to limit certain functions when the physical presence is not indicated according to the physical presence flag. In this series of situations, it is indicated that there is no physical presence, so that the exemplary command to reset the TPM 111 to its factory default state is blocked by the TPM 111.

대부분의 경우, TPM(111)에 의해 제한되는 커맨드와 허용되는 커맨드에 대한 상세 내용은 이 내용이 본 발명의 완벽한 이해를 얻는데 필요하지 않고 당업자의 기술 내에 있는 만큼 많이 생략된다. 이와 다르게, 그 커맨드에 관한 상세한 설명에 흥미가 있는 당업자라면 그러한 상세 내용을 제공하는 참조 문헌으로 포함되어 있는 TCPA 사양을 다른 식으로 참조하면 된다.In most cases, details of the commands restricted by the TPM 111 and the commands allowed are omitted as much as this content is not necessary to obtain a thorough understanding of the present invention and is within the skill of those skilled in the art. Alternatively, those skilled in the art who are interested in the detailed description of the command may refer in other ways to the TCPA specification, which is incorporated by reference providing such details.

다른 실시예에서는, TPM(111)에서 물리적 존재 플래그를 설정 또는 리셋하는 것 외에도, 부가 커맨드를 발행하여 TPM(111)에서 물리적 존재 로크 플래그를 설정한다. TPM(111)은 물리적 존재 로크 플래그가 설정되어 있다면, 물리적 존재 플래그의 값이 불변하도록 구현된다. 물리적 존재 플래그의 로킹은 다음 플랫폼 리셋까지 연장되는 수명을 갖는다.In another embodiment, in addition to setting or resetting the physical presence flag at the TPM 111, an additional command is issued to set the physical presence lock flag at the TPM 111. The TPM 111 is implemented such that if the physical presence lock flag is set, the value of the physical presence flag is unchanged. Locking the physical presence flag has a lifespan extending to the next platform reset.

물리적 존재 플래그가 로크 플래그의 메커니즘에 의해 또는 그외 다른 바인딩 메커니즘에 의해 로크되는지의 여부에 관계없이, 모든 CRTM 메트릭이 TPM(111) PCR의 해시 테이블에 기록되어 있다면, 그리고 물리적 존재 또는 그것의 부재가 TPM(111)에 확립되어 있다면, 그 플랫폼은 그후, 결정된 범위까지 믿을 수 있고 보안적인 것으로 간주된다. 플랫폼 신뢰가 확립된 후에는, 제어는 비보안 코드에 넘겨질 수 있다. Regardless of whether the physical presence flag is locked by the mechanism of the lock flag or by some other binding mechanism, if all CRTM metrics are recorded in the hash table of the TPM 111 PCR, and the physical presence or absence thereof If established in the TPM 111, the platform is then considered to be reliable and secure to a determined extent. After platform trust is established, control can be passed to non-secure code.

본 발명의 일 실시예에서, 제어는 NVRAM(116) 내에 상주하는 비보안 POST 코드로 넘겨진다. 이 실시예에서, 플랫폼이 안전하게 된 후에 제어를 넘겨받는 코드는 키보드 장치, 비디오 장치, 또는 포인팅 장치 등의 컴퓨터 시스템의 임의의 I/O 장치에 액세스하는 코드이다.In one embodiment of the invention, control is passed to an insecure POST code residing within NVRAM 116. In this embodiment, the code that takes over control after the platform is secured is code that accesses any I / O device of the computer system, such as a keyboard device, a video device, or a pointing device.

다른 실시예에서, CRTM 코드는 NVRAM(116) 내에 저장된 전체 코드인 것으로 간주된다. 그런 후에, 이 실시예에서는 NVRAM(116) 이외의 것에 저장된 비보안 코드로 제어가 넘겨진다. 일반적으로, 이 코드는 운영체계를 로딩하는 코드이다. IBM PC 호환 컴퓨터 시스템(일 실시예에서, IBM 호환 컴퓨터 시스템에 대한 마더보드)에 있어서, 운영체계의 로딩은 통상, NVRAM(116) 내에 저장된 최신 명령어로서 실행된 소프트웨어 INT 19의 실행에 의해 통상 인스턴스화된다. 그러나, 당업자는 운영체계를 로딩하기 위해 다른 방법을 이용할 수 있고, 그 이용된 임의의 방법은 본 발명의 기술 사상 및 범주 내에 있는 것이다. In another embodiment, the CRTM code is considered to be the entire code stored within NVRAM 116. Then, control is transferred to the non-secure code stored in something other than NVRAM 116 in this embodiment. In general, this is the code that loads the operating system. In an IBM PC compatible computer system (in one embodiment, a motherboard for an IBM compatible computer system), the loading of the operating system is typically instantiated by execution of software INT 19 executed as the latest instruction stored in NVRAM 116. do. However, those skilled in the art can use other methods for loading the operating system, and any method used is within the spirit and scope of the present invention.

Claims (60)

파워온 스위치의 활성에 의해 컴퓨터 시스템에 전원이 인가되었는지의 여부를, 상기 활성의 발생을 나타내는 파워온 상태 레지스터를 판독함으로써 판정하는 단계와, Determining whether power is applied to the computer system by activation of the power-on switch by reading a power-on status register indicating the occurrence of the activity; 상기 판정의 작용에 따라, 상기 컴퓨터 시스템에 포함된 신뢰할 수 있는 플랫폼 모듈(TPM)의 동작에 영향을 미치는 단계를 포함하는 방법.In accordance with the action of the determination, affecting the operation of a trusted platform module (TPM) included in the computer system. 제1항에 있어서, 상기 파워온 상태 레지스터는 하드웨어에서만 설정 가능한 것인 방법.The method of claim 1, wherein the power-on status register is settable only in hardware. 제1항에 있어서, 상기 판정 단계와 영향을 미치는 단계는 리셋 이벤트 다음에, 그리고 운영체계를 로딩하는 OS 로딩 이벤트 이전에 발생하는 것인 방법.The method of claim 1, wherein the act of determining and affecting occurs after a reset event and before an OS loading event that loads an operating system. 제3항에 있어서, 상기 OS 로딩 이벤트는 리셋 이벤트에 후속하는 INT 19h의 첫번째 인스턴스인 것인 방법.4. The method of claim 3, wherein the OS loading event is the first instance of INT 19h following a reset event. 제3항에 있어서, 상기 리셋 이벤트는 하드웨어 개시 리셋과 소프트웨어 개시 리셋으로 이루어진 그룹으로부터 선택되는 이벤트인 것인 방법. 4. The method of claim 3 wherein the reset event is an event selected from the group consisting of a hardware initiated reset and a software initiated reset. 제3항에 있어서, 상기 영향을 미치는 단계는 상기 TPM에서 물리적 존재 플래그를 설정하는 단계를 더 포함하는 방법.4. The method of claim 3, wherein affecting further comprises setting a physical presence flag in the TPM. 제6항에 있어서, 상기 영향을 미치는 단계는 상기 TPM에서 물리적 존재 로크 플래그를 설정하는 단계를 더 포함하는 방법.7. The method of claim 6, wherein affecting further comprises setting a physical presence lock flag in the TPM. 제1항에 있어서, 상기 판정 단계와 영향을 미치는 단계는 리셋 이벤트 다음에, 그리고 컴퓨터 시스템의 I/O 장치가 이용 가능해기지 전에 발생하고, 상기 컴퓨터 시스템의 I/O 장치는 키보드 장치, 비디오 장치, 및 포인팅 장치로 이루어진 그룹으로부터 선택된 장치인 것인 방법.2. The method of claim 1, wherein the determining and affecting steps occur after a reset event and before the I / O device of the computer system becomes available, wherein the I / O device of the computer system is a keyboard device, a video device. And a pointing device. 제8항에 있어서, 상기 리셋 이벤트는 하드웨어 개시 리셋과 소프트웨어 개시 리셋으로 이루어진 그룹으로부터 선택되는 이벤트인 것인 방법.9. The method of claim 8 wherein the reset event is an event selected from the group consisting of a hardware initiated reset and a software initiated reset. 제1항에 있어서, 상기 영향을 미치는 단계는 파워온 스위치가 활성되지 않았다는 상기 판정 단계의 판정에 응답하여 상기 TPM의 동작을 제한하는 단계인 것인 방법.4. The method of claim 1, wherein the effecting step is to limit the operation of the TPM in response to determining that the power-on switch is not active. 제1항에 있어서, 상기 영향을 미치는 단계는 상기 판정 단계에서 판정되는 것인 파워온 스위치의 활성에 의한 전원의 인가에 응답하여 소정의 믿을 수 있는 동작이 TPM에서 실행되는 것을 허용하는 것인 방법.The method of claim 1, wherein the effecting step allows the predetermined reliable operation to be performed at the TPM in response to the application of power by activation of a power-on switch that is determined in the determining step. . 컴퓨터 시스템에 연결된 파워온 스위치의 활성에 의해 전원이 컴퓨터 시스템에 인가되었는지의 여부를, 상기 활성의 발생을 나타내는 파워온 상태 레지스터를 판독함으로써 판정하는 단계로서, 상기 파워온 상태 레지스터는 하드웨어에서만 설정 가능한 것인 판정 단계와, Determining whether power is applied to the computer system by activation of a power-on switch connected to the computer system by reading a power-on status register indicating the occurrence of the activity, wherein the power-on status register is settable only in hardware. Determination step, 파워온 스위치가 활성되지 않았다는 상기 판정 단계의 판정에 응답하여 물리적 존재의 부재를 나타내도록, 컴퓨터 시스템에 포함된 신뢰할 수 있는 플랫폼 모듈(TPM)의 물리적 존재 플래그를 구성하는 단계로서, 상기 판정 단계와 구성 단계는 시스템 리셋 이벤트 후에 그리고 OS 로딩 이벤트 전에 발생하는 것인 구성 단계와,Configuring a physical presence flag of the trusted platform module (TPM) included in the computer system to indicate the absence of physical presence in response to the determination of the determining step that the power-on switch is not activated, wherein the determining step includes: The configuration step occurs after a system reset event and before an OS loading event; 상기 구성 단계의 작용에 따라 상기 TPM의 동작을 제한하는 단계를 포함하는 방법. Limiting the operation of the TPM in accordance with the action of the configuration step. 제12항에 있어서, 상기 TPM에서 물리적 존재 로크 플래그를 설정하여 상기 TPM에서 물리적 존재 플래그를 로킹하는 단계를 더 포함하고,13. The method of claim 12, further comprising setting a physical presence lock flag at the TPM to lock a physical presence flag at the TPM, 상기 로킹 단계는 시스템 리셋 이벤트 후에 그리고 OS 로딩 이벤트 전에 발생하는 것인 방법. Wherein said locking step occurs after a system reset event and before an OS loading event. 제13항에 있어서, 상기 OS 로딩 이벤트는 운영체계를 로딩하는 이벤트이고, 상기 시스템 리셋 이벤트는 하드웨어 개시 리셋과 소프트웨어 개시 리셋으로 이루어진 그룹으로부터 선택된 이벤트인 것인 방법.The method of claim 13, wherein the OS loading event is an event that loads an operating system and the system reset event is an event selected from the group consisting of a hardware initiated reset and a software initiated reset. 제14항에 있어서, 상기 운영체계를 로딩하는 이벤트는 시스템 리셋 이벤트에 후속하는 INT 19h의 첫번째 인스턴스인 것인 방법.The method of claim 14, wherein the event that loads the operating system is the first instance of INT 19h following a system reset event. 컴퓨터 시스템에 연결된 파워온 스위치의 활성에 의해 전원이 컴퓨터 시스템에 인가되었는지의 여부를, 상기 활성의 발생을 나타내는 파워온 상태 레지스터를 판독함으로써 판정하는 단계로서, 상기 파워온 상태 레지스터는 하드웨어에서만 설정 가능한 것인 판정 단계와, Determining whether power is applied to the computer system by activation of a power-on switch connected to the computer system by reading a power-on status register indicating the occurrence of the activity, wherein the power-on status register is settable only in hardware. Determination step, 상기 판정 단계에서 판정된 파워온 스위치의 활성에 의한 전원의 인가에 응답하여 물리적 존재를 나타내도록, 상기 컴퓨터 시스템에 포함된 신뢰할 수 있는 플랫폼 모듈(TPM)의 물리적 존재 플래그를 구성하는 단계로서, 상기 판정 단계와 구성 단계는 시스템 리셋 이벤트 후에 그리고 OS 로딩 이벤트 전에 발생하는 것인 구성 단계와,  Configuring a physical presence flag of a trusted platform module (TPM) included in the computer system to indicate a physical presence in response to the application of power by activation of the power-on switch determined in the determining step, wherein The determining step and the configuring step occur after the system reset event and before the OS loading event; 소정의 신뢰할 수 있는 동작이 상기 구성 단계의 작용에 따라 TPM에서 실행되는 것을 허용하는 단계를 포함하는 방법.Allowing certain reliable operations to be executed in the TPM in accordance with the action of the configuration step. 제16에 있어서, 상기 TPM에서 물리적 존재 로크 플래그를 설정하여 상기 TPM에서 물리적 존재 플래그를 로킹하는 단계를 더 포함하고,17. The method of claim 16, further comprising setting a physical presence lock flag in the TPM to lock a physical presence flag in the TPM, 상기 로킹 단계는 시스템 리셋 이벤트 후에 그리고 OS 로딩 이벤트 전에 발생하는 것인 방법.Wherein said locking step occurs after a system reset event and before an OS loading event. 제17항에 있어서, 상기 OS 로딩 이벤트는 운영체계를 로딩하는 이벤트이고, 상기 시스템 리셋 이벤트는 하드웨어 개시 리셋과 소프트웨어 개시 리셋으로 이루어진 그룹으로부터 선택된 이벤트인 것인 방법.18. The method of claim 17, wherein the OS loading event is an event that loads an operating system and the system reset event is an event selected from the group consisting of a hardware initiated reset and a software initiated reset. 제18항에 있어서, 상기 운영체계를 로딩하는 이벤트는 시스템 리셋 이벤트에 후속하는 INT 19h의 첫번째 인스턴스인 것인 방법.The method of claim 18, wherein the event that loads the operating system is the first instance of INT 19h following a system reset event. 컴퓨터 판독 가능한 프로그램 코드가 기록되어 있는 컴퓨터 이용 가능한 매체를 포함하는 프로그램 제품으로서, A program product comprising a computer usable medium having computer readable program codes recorded thereon, 상기 프로그램 제품의 컴퓨터 판독 가능한 프로그램 코드는 실행시, The computer readable program code of the program product, upon execution, 파워온 스위치의 활성에 의해 전원이 컴퓨터 시스템에 인가되었는지의 여부를, 상기 활성의 발생을 나타내는 파워온 상태 레지스터를 판독함으로써 판정하고, Whether power is applied to the computer system by the activation of the power-on switch is determined by reading a power-on status register indicating the occurrence of the activity, 상기 판정의 작용에 따라, 상기 컴퓨터 시스템에 포함된 신뢰할 수 있는 플랫폼 모듈(TPM)의 동작에 영향을 미치기에 유효한 것인 프로그램 제품.And, in accordance with the action of the determination, is effective to affect the operation of a trusted platform module (TPM) included in the computer system. 컴퓨터 판독 가능한 프로그램 코드가 기록되어 있는 컴퓨터 이용 가능한 매체를 포함하는 프로그램 제품으로서, A program product comprising a computer usable medium having computer readable program codes recorded thereon, 상기 프로그램 제품의 컴퓨터 판독 가능한 프로그램 코드는 실행시, The computer readable program code of the program product, upon execution, 컴퓨터 시스템에 연결된 파워온 스위치의 활성에 의해 전원이 컴퓨터 시스템에 인가되었는지의 여부를, 상기 활성의 발생을 나타내는 파워온 상태 레지스터 - 상기 파워온 상태 레지스터는 하드웨어에서만 설정 가능한 것임 - 를 판독함으로써 판정하고, Determining whether power is applied to the computer system by the activation of a power-on switch connected to the computer system by reading a power-on status register indicating the occurrence of the activity, wherein the power-on status register is settable in hardware only; , 파워온 스위치가 활성되지 않았다고 나타내는 상기 판정에 응답하여 물리적 존재의 부재를 나타내도록, 컴퓨터 시스템에 포함된 신뢰할 수 있는 플랫폼 모듈(TPM)의 물리적 존재 플래그를 구성하며 - 이러한 판정 및 구성은 시스템 리셋 이벤트 후에 그리고 OS 로딩 이벤트 전에 이루어지는 것임 - , Configure a physical presence flag of a trusted platform module (TPM) included in the computer system to indicate the absence of physical presence in response to the determination indicating that the power-on switch is not activated-the determination and configuration result in a system reset event. After and before the OS loading event-, 상기 구성의 작용에 따라 상기 TPM의 동작을 제한하기에 유효한 것인 프로그램 제품.Program product effective to limit the operation of the TPM in accordance with the action of the configuration. 컴퓨터 판독 가능한 프로그램 코드가 기록되어 있는 컴퓨터 이용 가능한 매체를 포함하는 프로그램 제품으로서, A program product comprising a computer usable medium having computer readable program codes recorded thereon, 상기 프로그램 제품의 컴퓨터 판독 가능한 프로그램 코드는 실행시, The computer readable program code of the program product, upon execution, 컴퓨터 시스템에 연결된 파워온 스위치의 활성에 의해 전원이 컴퓨터 시스템에 인가되었는지의 여부를, 상기 활성의 발생을 나타내는 파워온 상태 레지스터 - 상기 파워온 상태 레지스터는 하드웨어에서만 설정 가능한 것임 - 를 판독함으로써 판정하고, Determining whether power is applied to the computer system by the activation of a power-on switch connected to the computer system by reading a power-on status register indicating the occurrence of the activity, wherein the power-on status register is settable in hardware only; , 상기 판정에 따른 파워온 스위치의 활성에 의한 전원의 인가에 응답하여 물리적 존재를 나타내도록, 컴퓨터 시스템에 포함된 신뢰할 수 있는 플랫폼 모듈(TPM)의 물리적 존재 플래그를 구성하며 - 이러한 판정 및 구성은 시스템 리셋 이벤트 후에 그리고 OS 로딩 이벤트 전에 이루어지는 것임 - , Configure a physical presence flag of a trusted platform module (TPM) included in the computer system to indicate a physical presence in response to the application of power by activation of a power-on switch in accordance with the determination-such determination and configuration After the reset event and before the OS loading event- 상기 구성의 작용에 따라 소정의 믿을 수 있는 동작이 TPM에서 실행되는 것을 허용하기에 유효한 것인 프로그램 제품.Program product that is effective to allow certain reliable operations to be executed in the TPM in accordance with the action of the configuration. 신뢰할 수 있는 플랫폼 모듈(TPM)과, Trusted Platform Module (TPM), 컴퓨터 판독 가능한 프로그램 코드가 저장되어 있는 비휘발성 메모리와, Non-volatile memory that stores computer readable program code, 상기 TPM과 비휘발성 메모리를 연결하는 회로 기판을 포함하는 장치로서,An apparatus comprising a circuit board connecting the TPM and a nonvolatile memory. 상기 회로 기판은 상기 비휘발성 메모리에 저장된 코드를 실행시키는 프로세서를 포함하고, 상기 회로 기판에 대한 전원의 인가가 요전회 어떻게 개시되었는지를 나타내는 파워온 상황 상태(status state)를 추정하는 상태 레지스터를 더 포함하며, The circuit board includes a processor that executes code stored in the nonvolatile memory, and further includes a status register that estimates a power-on status state indicating how the application of power to the circuit board was initiated the other time. Include, 상기 프로세서는 상기 비휘발성 메모리에 저장되어 있는 코드의 실행시에,When the processor executes code stored in the nonvolatile memory, 상기 상태 레지스터의 파워온 상황 상태를 판독하고, Read the power-on status of the status register, 요전회 상기 회로 기판에 대한 전원의 인가가 상기 회로 기판에 연결된 파워온 스위치의 활성에 의해 개시되었는지의 여부를, 상태 레지스터로부터 판독된 것인 파워온 상황 상태에 기초해서 판정하며, Determining whether the application of power to the circuit board was initiated by the activation of a power-on switch connected to the circuit board on the basis of a power-on status state read from a status register, 그 판정된 파워온 상태의 작용에 따라 상기 TPM의 동작에 영향을 미치는 커맨드를 발행하기에 유효한 것인 장치.And issue a command that affects the operation of the TPM in accordance with the action of the determined power-on state. 제23항에 있어서, 상기 상태 레지스터는 하드웨어에서만 설정 가능한 것인 장치. 24. The apparatus of claim 23, wherein the status register is settable only in hardware. 제23항에 있어서, 상기 판독, 판정 및 발행하기에 유효한 코드는 리셋 이벤트 후에 그리고 상기 비휘발성 메모리 이외의 것에 저장되어 있는 코드의 실행 전에 실행되는 것인 장치.24. The apparatus of claim 23, wherein code valid for reading, determining, and issuing is executed after a reset event and before execution of code stored in something other than the nonvolatile memory. 제23항에 있어서, 상기 판독, 판정 및 발행하기에 유효한 코드는 리셋 이벤트 후에 그리고 운영체계를 로딩하는 코드의 실행 전에 실행되는 것인 장치.24. The apparatus of claim 23, wherein code valid for reading, determining, and issuing is executed after a reset event and before execution of code that loads an operating system. 제26항에 있어서, 상기 운영체계를 로딩하는 코드는 리셋 이벤트에 후속하는 INT 19h의 첫번째 인스턴스인 것인 장치.27. The apparatus of claim 26, wherein the code for loading the operating system is the first instance of INT 19h following a reset event. 제25항에 있어서, 상기 리셋 이벤트는 하드웨어 개시 리셋과 소프트웨어 개시 리셋으로 이루어진 그룹으로부터 선택된 이벤트인 것인 장치.27. The apparatus of claim 25, wherein the reset event is an event selected from the group consisting of a hardware initiated reset and a software initiated reset. 제25항에 있어서, 상기 비휘발성 메모리에 저장되어 있는 코드는 실행시, 상기 TPM에서 물리적 존재 플래그를 설정하기에도 유효한 것인 장치.27. The apparatus of claim 25, wherein the code stored in the nonvolatile memory is also effective when executing to set a physical presence flag in the TPM. 제29항에 있어서, 상기 비휘발성 메모리에 저장되어 있는 코드는 실행시, 상기 TPM에서 물리적 존재 로크 플래그를 설정하기에도 유효한 것인 장치.30. The apparatus of claim 29, wherein code stored in the nonvolatile memory is also effective when executing to set a physical presence lock flag in the TPM. 제23항에 있어서, 상기 판독, 판정 및 발행하기에 유효한 코드는 리셋 이벤트 다음에 그리고 컴퓨터 시스템의 I/O 장치에 액세스하는 임의의 코드의 실행 전에 실행되며, 상기 컴퓨터 시스템의 I/O 장치는 키보드 장치, 비디오 장치, 및 포인팅 장치로 이루어진 그룹으로부터 선택된 장치인 것인 장치.24. The computer-readable medium of claim 23, wherein code valid for reading, determining, and issuing is executed after a reset event and before execution of any code that accesses an I / O device of the computer system. And a device selected from the group consisting of a keyboard device, a video device, and a pointing device. 제23항에 있어서, 상기 발행된 커맨드는 요전회 개시된 전원의 인가시에 파워온 스위치가 활성되지 않았다는, 상기 상태 레지스터로부터 판독된 파워온 상황 상태에 기초한 판정에 응답하여 상기 TPM의 동작을 제한하는 것인 장치.24. The method of claim 23, wherein the issued command restricts the operation of the TPM in response to a determination based on a power-on context condition read from the status register that the power-on switch was not activated upon application of the last-initiated power source. Device. 제23항에 있어서, 상기 발행된 커맨드는 요전회 개시된 전원의 인가시에 파워온 스위치가 활성되었다는, 상기 상태 레지스터로부터 판독된 파워온 상황 상태에 기초한 판정에 응답하여 소정의 신뢰할 수 있는 동작이 상기 TPM에서 실행되는 것을 허용하는 것인 장치.24. The method of claim 23, wherein the issued command is further configured to perform a predetermined reliable operation in response to a determination based on a power-on status state read from the status register that the power-on switch was activated at the time of application of the last-initiated power source. Device that allows to run in a TPM. 신뢰할 수 있는 플랫폼 모듈(TPM)과, Trusted Platform Module (TPM), 컴퓨터 판독 가능한 프로그램 코드가 저장되어 있는 비휘발성 메모리와, Non-volatile memory that stores computer readable program code, 상기 TPM과 비휘발성 메모리를 연결하고, 프로세서와 상태 레지스터를 구비한 회로 기판을 포함하는 장치로서, A device comprising a circuit board connecting the TPM and a nonvolatile memory, the circuit board having a processor and a status register. 상기 상태 레지스터는 하드웨어에서만 설정 가능하고, 상기 회로 기판에 대한 전원의 인가가 요전회 어떻게 개시되었는지를 나타내는 파워온 상황 상태를 추정하며, The status register is settable only in hardware, and estimates a power-on status state indicating how the application of power to the circuit board was started the other time, 상기 프로세서와 비휘발성 메모리는 리셋 이벤트에 응답하여 상기 프로세서에 의해 실행되는 최초 코드인, 비휘발성 메모리에 저장되어 있는 코드를 실행하도록 상기 회로 기판 상에 구성되어 있으며, The processor and the nonvolatile memory are configured on the circuit board to execute code stored in the nonvolatile memory, which is the first code executed by the processor in response to a reset event, 상기 코드는 실행시, When the code is run, 상태 레지스터의 파워온 상황 상태를 판독하고, Read the power-on status of the status register, 요전회 상기 회로 기판에 대한 전원의 인가가 상기 회로 기판에 연결된 파워온 스위치의 활성에 의해 개시되었는지의 여부를 상기 상태 레지스터로부터 판독된 파워온 상황 상태에 기초하여 판정하며, Determining whether the application of power to the circuit board was initiated last time by the activation of a power-on switch connected to the circuit board, based on the power-on status state read from the status register, 파워온 스위치가 활성되지 않았다는 판정에 응답하여 물리적 존재의 부재를 나타내도록 상기 TPM에서 물리적 존재 플래그를 구성하기에 유효하며, Is effective to configure a physical presence flag in the TPM to indicate the absence of a physical presence in response to determining that a power-on switch is not active, 상기 판독, 판정 및 구성하기에 유효한 코드는 OS 로딩 이벤트 전에 실행되고, 상기 TPM의 동작은 구성된 물리적 존재 플래그의 작용에 따라 제한되는 것인 장치.Code that is valid for reading, determining, and configuring is executed before an OS loading event, and the operation of the TPM is limited according to the action of a configured physical presence flag. 제34항에 있어서, 상기 비휘발성 메모리에 저장되어 있는 코드는 실행시, 상기 TPM에서 물리적 존재 로크 플래그를 설정하여 상기 TPM에서 물리적 존재 플래그를 로크하기에도 유효하며, 35. The system of claim 34, wherein the code stored in the non-volatile memory is also effective to set a physical presence lock flag in the TPM and to lock a physical presence flag in the TPM when executed. 상기 코드는 OS 로딩 이벤트 전에 물리적 존재 플래그를 로크하는 것인 장치.Wherein the code locks a physical presence flag prior to an OS loading event. 제35항에 있어서, 상기 OS 로딩 이벤트는 운영체계를 로딩하는 이벤트이고, 상기 리셋 이벤트는 하드웨어 개시 리셋과 소프트웨어 개시 리셋으로 이루어진 그룹으로부터 선택된 이벤트인 것인 장치.36. The apparatus of claim 35, wherein the OS loading event is an event loading an operating system and the reset event is an event selected from the group consisting of a hardware initiated reset and a software initiated reset. 제36항에 있어서, 상기 운영체계를 로딩하는 이벤트는 리셋 이벤트에 후속하는 INT 19h의 첫번째 인스턴스인 것인 장치.37. The apparatus of claim 36, wherein the event of loading the operating system is the first instance of INT 19h following a reset event. 신뢰할 수 있는 플랫폼 모듈(TPM)과, Trusted Platform Module (TPM), 컴퓨터 판독 가능한 프로그램 코드가 저장되어 있는 비휘발성 메모리와, Non-volatile memory that stores computer readable program code, 상기 TPM과 비휘발성 메모리를 연결하고, 프로세서와 상태 레지스터를 구비한 회로 기판을 포함하는 장치로서, A device comprising a circuit board connecting the TPM and a nonvolatile memory, the circuit board having a processor and a status register. 상기 상태 레지스터는 하드웨어에서만 설정 가능하고, 요전회 상기 회로 기판에 대한 전원의 인가가 어떻게 개시되었는지를 나타내는 파워온 상황 상태를 추정하며, The status register is settable only in hardware, and estimates a power-on status state indicating how the application of power to the circuit board was started last time, 상기 프로세서와 비휘발성 메모리는 리셋 이벤트에 응답하여 상기 프로세서에 의해 실행되는 최초 코드인, 비휘발성 메모리에 저장되어 있는 코드를 실행하도록 상기 회로 기판 상에 구성되어 있으며, The processor and the nonvolatile memory are configured on the circuit board to execute code stored in the nonvolatile memory, which is the first code executed by the processor in response to a reset event, 상기 코드는 실행시, When the code is run, 상태 레지스터의 파워온 상황 상태를 판독하고, Read the power-on status of the status register, 요전회 상기 회로 기판에 대한 전원의 인가가 상기 회로 기판에 연결된 파워온 스위치의 활성에 의해 개시되었는지의 여부를, 상기 상태 레지스터로부터 판독된 파워온 상황 상태에 기초해서 판정하고, It is determined on the basis of the power-on status state read from the status register whether or not the application of power to the circuit board has been started by the activation of a power-on switch connected to the circuit board. 파워온 스위치가 활성되었다는 판정에 응답하여 물리적 존재를 나타내도록 상기 TPM에서 물리적 존재 플래그를 구성하기에 유효하며, Is effective to configure a physical presence flag in the TPM to indicate a physical presence in response to determining that a power-on switch is activated, 상기 판독, 판정 및 구성하기에 유효한 코드는 OS 로딩 이벤트 전에 실행되고, 소정의 신뢰할 수 있는 동작이 상기 구성된 물리적 존재 플래그의 작용에 따라 상기 TPM에서 실행되는 것이 허용되는 것인 장치.Code that is valid for reading, determining, and configuring is executed before an OS loading event, and certain trusted actions are allowed to be executed in the TPM in accordance with the action of the configured physical presence flag. 제38항에 있어서, 상기 비휘발성 메모리에 저장되어 있는 코드는 실행시, 상기 TPM에서 물리적 존재 로크 플래그를 설정하여 상기 TPM에서 물리적 존재 플래그를 로크하기에도 유효하며, 39. The computer-readable medium of claim 38, wherein the code stored in the nonvolatile memory is also effective to set a physical presence lock flag in the TPM when executing to lock the physical presence flag in the TPM. 상기 코드는 OS 로딩 이벤트 전에 물리적 존재 플래그를 로크하는 것인 장치.Wherein the code locks a physical presence flag prior to an OS loading event. 제39항에 있어서, 상기 OS 로딩 이벤트는 운영체계를 로딩하는 이벤트이고, 상기 리셋 이벤트는 하드웨어 개시 리셋과 소프트웨어 개시 리셋으로 이루어진 그룹으로부터 선택된 이벤트인 것인 장치.40. The apparatus of claim 39 wherein the OS loading event is an event loading an operating system and the reset event is an event selected from the group consisting of a hardware initiated reset and a software initiated reset. 제40항에 있어서, 상기 운영체계를 로딩하는 이벤트는 리셋 이벤트에 후속하는 INT 19h의 첫번째 인스턴스인 것인 장치.41. The apparatus of claim 40, wherein the event of loading the operating system is the first instance of INT 19h following the reset event. 회로 기판으로서, 공백(unpopulated) 프로세서 소켓과, 요전회 상기 회로 기판에 대한 전원의 인가가 어떻게 개시되었는지를 나타내는 파워온 상황 상태를 추정하는 상태 레지스터를 구비한 회로 기판과, A circuit board comprising: a circuit board having an unpopulated processor socket, a status register for estimating a power-on status state indicating how the application of power to the circuit board was started last time; 상기 회로 기판 상에 탑재된 신뢰할 수 있는 플랫폼 모듈(TPM)과, A reliable platform module (TPM) mounted on the circuit board, 상기 회로 기판 상에 탑재되어 있어 상기 TPM에 연결되며, 컴퓨터 판독 가능한 프로그램 코드가 저장되어 있는 비휘발성 메모리를 포함하는 마더보드로서, A motherboard mounted on the circuit board and connected to the TPM, the motherboard including a nonvolatile memory storing computer readable program code. 상기 비휘발성 메모리에 저장되어 있는 코드는 실행시에, Code stored in the nonvolatile memory is executed at run time, 상기 상태 레지스터의 파워온 상황 상태를 판독하고, Read the power-on status of the status register, 요전회 상기 회로 기판에 대한 전원의 인가가 상기 회로 기판에 연결된 파워온 스위치의 활성에 의해 개시되었는지의 여부를, 상기 상태 레지스터로부터 판독된 파워온 상황 상태에 기초해서 판정하며, Determining whether the application of power to the circuit board has been started recently by the activation of a power-on switch connected to the circuit board, based on the power-on status state read from the status register, 그 판정된 파워온 상태의 작용에 따라 상기 TPM의 동작에 영향을 미치는 커맨드를 발행하기에 유효한 것인 마더보드.And is effective for issuing a command affecting the operation of the TPM in accordance with the action of the determined power-on state. 제42항에 있어서, 상기 전원이 상기 파워온 스위치의 활성에 의해 인가되었다고 나타내는 상태 레지스터는 하드웨어에서만 설정 가능한 것인 마더보드.43. The motherboard of claim 42 wherein a status register indicating that power is applied by activation of the power-on switch is only settable in hardware. 제42항에 있어서, 상기 판독, 판정 및 발행하기에 유효한 코드는 리셋 이벤트 후에 그리고 상기 비휘발성 메모리 이외의 것에 저장되어 있는 코드의 실행 전에 실행되는 것인 마더보드.43. The motherboard of claim 42 wherein the code valid for reading, determining, and issuing is executed after a reset event and before execution of code stored in something other than the nonvolatile memory. 제42항에 있어서, 상기 판독, 판정 및 발행하기에 유효한 코드는 리셋 이벤트 후에 그리고 운영체계를 로딩하는 코드의 실행 전에 실행되는 것인 마더보드.43. The motherboard of claim 42 wherein the code valid for reading, determining, and issuing is executed after a reset event and before execution of code that loads an operating system. 제45항에 있어서, 상기 운영체계를 로딩하는 코드는 리셋 이벤트에 후속하는 INT 19h의 첫번째 인스턴스인 것인 마더보드.46. The motherboard of claim 45 wherein the code for loading the operating system is the first instance of INT 19h following a reset event. 제44항에 있어서, 상기 리셋 이벤트는 하드웨어 개시 리셋과 소프트웨어 개시 리셋으로 이루어진 그룹으로부터 선택된 이벤트인 것인 마더보드.45. The motherboard of claim 44 wherein the reset event is an event selected from the group consisting of a hardware initiated reset and a software initiated reset. 제44항에 있어서, 상기 비휘발성 메모리에 저장되어 있는 코드는 실행시, 상기 TPM에서 물리적 존재 플래그를 설정하기에도 유효한 것인 마더보드.45. The motherboard of claim 44 wherein the code stored in the nonvolatile memory is also effective when executing to set a physical presence flag in the TPM. 제48항에 있어서, 상기 비휘발성 메모리에 저장되어 있는 코드는 실행시, 상기 TPM에서 물리적 존재 로크 플래그를 설정하기에도 유효한 것인 마더보드.49. The motherboard of claim 48 wherein the code stored in the nonvolatile memory is also effective when executing to set a physical presence lock flag in the TPM. 제42항에 있어서, 상기 판독, 판정 및 발행하기에 유효한 코드는 리셋 이벤트 다음에, 그리고 컴퓨터 시스템의 I/O 장치에 액세스하는 임의의 코드의 실행 전에 실행되며, 상기 컴퓨터 시스템의 I/O 장치는 키보드 장치, 비디오 장치, 및 포인팅 장치로 이루어진 그룹으로부터 선택된 장치인 것인 마더보드.43. The computer-readable medium of claim 42, wherein code valid for reading, determining, and issuing is executed after a reset event and before execution of any code that accesses an I / O device of the computer system. Is a device selected from the group consisting of a keyboard device, a video device, and a pointing device. 제42항에 있어서, 상기 발행된 커맨드는 요전회 개시된 전원의 인가시에 파워온 스위치가 활성되지 않았다는, 상기 상태 레지스터로부터 판독된 파워온 상황 상태에 기초한 판정에 응답하여 상기 TPM의 동작을 제한하는 것인 마더보드.43. The method of claim 42, wherein the issued command limits the operation of the TPM in response to a determination based on a power-on context condition read from the status register that the power-on switch was not active upon application of the last-initiated power source. Motherboard. 제42항에 있어서, 상기 발행된 커맨드는 요전회 개시된 전원의 인가시에 파워온 스위치가 활성되었다는, 상기 상태 레지스터로부터 판독된 파워온 상황 상태에 기초한 판정에 응답하여 소정의 믿을 수 있는 동작이 상기 TPM에서 실행되는 것을 허용하는 것인 마더보드.43. The method of claim 42, wherein the issued command is further configured to perform a predetermined reliable operation in response to a determination based on a power-on status state read from the status register that the power-on switch was activated upon application of the last-initiated power source. The motherboard that is allowed to run in the TPM. 신뢰할 수 있는 플랫폼 모듈(TPM)과, Trusted Platform Module (TPM), 컴퓨터 판독 가능한 프로그램 코드가 저장되어 있는 비휘발성 메모리와, Non-volatile memory that stores computer readable program code, 상기 TPM과 비휘발성 메모리를 연결하고, 공백 프로세서 소켓과 상태 레지스터를 구비한 회로 기판을 포함하는 마더보드를 제공하고,Providing a motherboard comprising a circuit board connecting the TPM and a nonvolatile memory and having a blank processor socket and a status register; 상기 상태 레지스터는 하드웨어에서만 설정 가능하고, 요전회 상기 회로 기판에 대한 전원의 인가가 어떻게 개시되었는지를 나타내는 파워온 상황 상태를 추정하며,  The status register is settable only in hardware, and estimates a power-on status state indicating how the application of power to the circuit board was started last time, 상기 비휘발성 메모리는 리셋 이벤트에 응답하여 실행되는 최초 코드인, 비휘발성 메모리에 저장되어 있는 코드를 실행하도록 상기 회로 기판 상에 구성되어 있으며, The nonvolatile memory is configured on the circuit board to execute code stored in the nonvolatile memory, which is the first code executed in response to a reset event, 상기 코드는 실행시, When the code is run, 상태 레지스터의 파워온 상황 상태를 판독하고, Read the power-on status of the status register, 요전회 상기 회로 기판에 대한 전원의 인가가 상기 회로 기판에 연결된 파워온 스위치의 활성에 의해 개시되었는지의 여부를, 상기 상태 레지스터로부터 판독된 파워온 상황 상태에 기초해서 판정하며, Determining whether the application of power to the circuit board has been started recently by the activation of a power-on switch connected to the circuit board, based on the power-on status state read from the status register, 파워온 스위치가 활성되지 않았다는 판정에 응답하여 물리적 존재의 부재를 나타내도록 상기 TPM에서 물리적 존재 플래그를 구성하기에 유효하며, Is effective to configure a physical presence flag in the TPM to indicate the absence of a physical presence in response to determining that a power-on switch is not active, 상기 판독, 판정 및 구성하기에 유효한 코드는 상기 비휘발성 메모리 이외의 것에 저장되어 있는 코드의 실행 전에 실행되고, 상기 TPM의 동작은 구성된 물리적 존재 플래그의 작용에 따라 제한되는 것인 마더보드.Code that is valid for reading, determining, and configuring is executed before execution of code stored in something other than the non-volatile memory, and the operation of the TPM is limited by the action of the configured physical presence flag. 제53항에 있어서, 상기 비휘발성 메모리에 저장되어 있는 코드는 실행시, 상기 TPM에서 물리적 존재 로크 플래그를 설정하여 상기 TPM에서 물리적 존재 플래그를 로크하기에도 유효하며, 54. The computer-readable medium of claim 53, wherein the code stored in the nonvolatile memory is also effective to set a physical presence lock flag in the TPM to lock the physical presence flag in the TPM when executed. 상기 코드는 상기 비휘발성 메모리 이외의 것에 저장되어 있는 코드의 실행 전에 물리적 존재 플래그를 로크하는 것인 마더보드.And said code to lock a physical presence flag prior to execution of code stored in something other than said nonvolatile memory. 제54항에 있어서, 상기 비휘발성 메모리 이외의 것에 저장되어 있는 코드의 실행은 운영체계를 로딩하는 코드의 실행이고, 상기 리셋 이벤트는 하드웨어 개시 리셋과 소프트웨어 개시 리셋으로 이루어진 그룹으로부터 선택된 이벤트인 것인 마더보드.55. The method of claim 54, wherein execution of code stored in something other than the nonvolatile memory is execution of code loading an operating system, and wherein the reset event is an event selected from the group consisting of a hardware initiated reset and a software initiated reset. Motherboard. 제55항에 있어서, 상기 운영체계를 로딩하는 코드는 리셋 이벤트에 후속하는 INT 19h의 첫번째 인스턴스인 것인 마더보드.56. The motherboard of claim 55 wherein the code to load the operating system is the first instance of INT 19h following a reset event. 신뢰할 수 있는 플랫폼 모듈(TPM)과, Trusted Platform Module (TPM), 컴퓨터 판독 가능한 프로그램 코드가 저장되어 있는 비휘발성 메모리와, Non-volatile memory that stores computer readable program code, 상기 TPM과 비휘발성 메모리를 연결하며, 공백 프로세서 소켓과 상태 레지스터를 구비한 회로 기판을 포함하는 마더 보드를 제공하고, Providing a motherboard connecting the TPM to a nonvolatile memory and including a circuit board having a blank processor socket and a status register, 상기 상태 레지스터는 하드웨어에서만 설정 가능하고, 요전회 상기 회로 기판에 대한 전원의 인가가 어떻게 개시되었는지를 나타내는 파워온 상황 상태를 추정하며, The status register is settable only in hardware, and estimates a power-on status state indicating how the application of power to the circuit board was started last time, 상기 비휘발성 메모리는 리셋 이벤트에 응답하여 실행되는 최초 코드인, 비휘발성 메모리에 저장되어 있는 코드를 실행하도록 상기 회로 기판 상에 구성되어 있으며, The nonvolatile memory is configured on the circuit board to execute code stored in the nonvolatile memory, which is the first code executed in response to a reset event, 상기 코드는 실행시에, The code is executed at run time, 상기 상태 레지스터의 파워온 상황 상태를 판독하고, Read the power-on status of the status register, 요전회 상기 회로 기판에 대한 전원의 인가가 상기 회로 기판에 연결된 파워온 스위치의 활성에 의해 개시되었는지의 여부를, 상기 상태 레지스터로부터 판독된 파워온 상황 상태에 기초해서 판정하며, Determining whether the application of power to the circuit board has been started recently by the activation of a power-on switch connected to the circuit board, based on the power-on status state read from the status register, 파워온 스위치가 활성되었다는 판정에 응답하여 물리적 존재를 나타내도록 상기 TPM에서 물리적 존재 플래그를 구성하기에 유효하며, Is effective to configure a physical presence flag in the TPM to indicate a physical presence in response to determining that a power-on switch is activated, 상기 판독, 판정 및 구성하기에 유효한 코드는 상기 비휘발성 메모리 이외의 것에 저장되어 있는 코드의 실행 전에 실행되고, 소정의 신뢰할 수 있는 동작이 상기 구성된 물리적 존재 플래그의 작용에 따라 상기 TPM에서 실행되는 것이 허용되는 것인 마더보드.Code that is valid for reading, determining, and configuring is executed before execution of code stored in something other than the non-volatile memory, and wherein certain reliable operations are executed in the TPM in accordance with the action of the configured physical presence flag. Motherboard that is allowed. 제57항에 있어서, 상기 비휘발성 메모리에 저장되어 있는 코드는 실행시, 상기 TPM에서 물리적 존재 로크 플래그를 설정하여 상기 TPM에서 물리적 존재 플래그를 로크하기에도 유효하며, 58. The computer-readable medium of claim 57, wherein the code stored in the nonvolatile memory is also effective to set a physical presence lock flag in the TPM and to lock a physical presence flag in the TPM when executed. 상기 코드는 상기 비휘발성 메모리 이외의 것에 저장되어 있는 코드의 실행 전에 물리적 존재 플래그를 로크하는 것인 마더보드.And said code to lock a physical presence flag prior to execution of code stored in something other than said nonvolatile memory. 제58항에 있어서, 상기 비휘발성 메모리 이외의 것에 저장되어 있는 코드의 실행은 운영체계를 로딩하는 코드이고, 상기 리셋 이벤트는 하드웨어 개시 리셋과 소프트웨어 개시 리셋으로 이루어진 그룹으로부터 선택된 이벤트인 것인 마더보드.59. The motherboard of claim 58 wherein execution of code stored in something other than the nonvolatile memory is code that loads an operating system, and wherein the reset event is an event selected from the group consisting of a hardware initiated reset and a software initiated reset. . 제59항에 있어서, 상기 운영체계를 로딩하는 코드는 리셋 이벤트에 후속하는 INT 19h의 첫번째 인스턴스인 것인 마더보드.60. The motherboard of claim 59 wherein the code for loading the operating system is the first instance of INT 19h following a reset event.
KR1020057019244A 2003-04-10 2004-04-08 Physical presence determination in a trusted platform KR100977267B1 (en)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US10/411,408 US7269747B2 (en) 2003-04-10 2003-04-10 Physical presence determination in a trusted platform
US10/411,408 2003-04-10
US10/411,415 2003-04-10
US10/411,454 2003-04-10
US10/411,454 US7590870B2 (en) 2003-04-10 2003-04-10 Physical presence determination in a trusted platform
US10/411,415 US7254722B2 (en) 2003-04-10 2003-04-10 Trusted platform motherboard having physical presence detection based on activation of power-on-switch

Publications (2)

Publication Number Publication Date
KR20050123152A true KR20050123152A (en) 2005-12-29
KR100977267B1 KR100977267B1 (en) 2010-08-23

Family

ID=33162934

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057019244A KR100977267B1 (en) 2003-04-10 2004-04-08 Physical presence determination in a trusted platform

Country Status (4)

Country Link
JP (1) JP4422717B2 (en)
KR (1) KR100977267B1 (en)
TW (1) TWI319147B (en)
WO (1) WO2004090701A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102111493B1 (en) * 2018-11-08 2020-05-15 김민식 Kit for developing a trusted platform using Trusted Platform Module

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7360253B2 (en) * 2004-12-23 2008-04-15 Microsoft Corporation System and method to lock TPM always ‘on’ using a monitor
US7725703B2 (en) * 2005-01-07 2010-05-25 Microsoft Corporation Systems and methods for securely booting a computer with a trusted processing module
JP4800340B2 (en) * 2008-03-18 2011-10-26 レノボ・シンガポール・プライベート・リミテッド Physical presence authentication method and computer based on TCG specification
US9015455B2 (en) * 2011-07-07 2015-04-21 Intel Corporation Processsor integral technologies for BIOS flash attack protection and notification
JP5465738B2 (en) * 2012-01-30 2014-04-09 レノボ・シンガポール・プライベート・リミテッド System firmware update method and computer
JP2012234580A (en) * 2012-09-05 2012-11-29 Ricoh Co Ltd Information processing apparatus, validity verification method and validity verification program
CN110569633B (en) * 2012-10-25 2023-04-18 英特尔公司 Theft protection in firmware
US9230081B2 (en) * 2013-03-05 2016-01-05 Intel Corporation User authorization and presence detection in isolation from interference from and control by host central processing unit and operating system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3959159B2 (en) * 1997-09-04 2007-08-15 インターナショナル・ビジネス・マシーンズ・コーポレーション Information processing system expansion unit, information processing system mounted on the expansion unit, and information processing system control method
US6038671A (en) * 1998-03-12 2000-03-14 Compaq Computer Corporation Power management of a computer system using a power button
EP0973086B1 (en) * 1998-07-15 2009-11-04 Hewlett-Packard Company, A Delaware Corporation Computer remote power on
JP2002099359A (en) * 2000-09-25 2002-04-05 Toshiba Corp Power source switch lock device for portable electronic equipment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102111493B1 (en) * 2018-11-08 2020-05-15 김민식 Kit for developing a trusted platform using Trusted Platform Module

Also Published As

Publication number Publication date
JP2006522377A (en) 2006-09-28
WO2004090701A3 (en) 2004-12-02
JP4422717B2 (en) 2010-02-24
TW200506634A (en) 2005-02-16
TWI319147B (en) 2010-01-01
KR100977267B1 (en) 2010-08-23
WO2004090701A2 (en) 2004-10-21

Similar Documents

Publication Publication Date Title
US7269747B2 (en) Physical presence determination in a trusted platform
US10318736B2 (en) Validating operating firmware of a periperhal device
EP2729896B1 (en) Bios flash attack protection and notification
US7962759B2 (en) Reducing the boot time of a TCPA based computing system when the core root of trust measurement is embedded in the boot block code
KR100299954B1 (en) Secure bios
US7917741B2 (en) Enhancing security of a system via access by an embedded controller to a secure storage device
EP3522059B1 (en) Perform security action based on inventory comparison
JP4579547B2 (en) Embedded processor with direct connection of security device for superior security
US20030084285A1 (en) Method and system for detecting a tamper event in a trusted computing environment
EP2013807B1 (en) Trusted platform field upgrade system and method
US10430589B2 (en) Dynamic firmware module loader in a trusted execution environment container
US20050132177A1 (en) Detecting modifications made to code placed in memory by the POST BIOS
KR20080108526A (en) Platform boot with bridge support
US7254722B2 (en) Trusted platform motherboard having physical presence detection based on activation of power-on-switch
US7900033B2 (en) Firmware processing for operating system panic data
KR100977267B1 (en) Physical presence determination in a trusted platform
US20070174600A1 (en) Interface for communicating physical presence requests
US7590870B2 (en) Physical presence determination in a trusted platform
US20070162733A1 (en) Secure CMOS
US11861011B2 (en) Secure boot process
US11803454B2 (en) Chained loading with static and dynamic root of trust measurements
CN112181860B (en) Controller with flash memory simulation function and control method thereof
US20210192085A1 (en) Technology For Controlling Access To Processor Debug Features
EP4273722A1 (en) Terminal chip and measurement method therefor
CN113496036A (en) Security component and preloading method

Legal Events

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

Payment date: 20130510

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140722

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150716

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160720

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee