KR100831441B1 - 신뢰 주변 장치 메커니즘 - Google Patents
신뢰 주변 장치 메커니즘 Download PDFInfo
- Publication number
- KR100831441B1 KR100831441B1 KR1020057025310A KR20057025310A KR100831441B1 KR 100831441 B1 KR100831441 B1 KR 100831441B1 KR 1020057025310 A KR1020057025310 A KR 1020057025310A KR 20057025310 A KR20057025310 A KR 20057025310A KR 100831441 B1 KR100831441 B1 KR 100831441B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- encryption key
- peripheral device
- delete delete
- host controller
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
Abstract
일 실시예에 따라 컴퓨터 시스템이 개시된다. 컴퓨터 시스템은 중앙 처리 장치(CPU)와, 보호 레지스터 및 호스트 컨트롤러를 포함하는 상기 CPU에 연결된 칩셋을 포함한다. 컴퓨터 시스템은 호스트 컨트롤러에 연결된 버스 및 버스에 연결된 주변 장치도 포함한다. 주변 장치를 신뢰할 수 있는지 여부를 검증하기 위하여, 컴퓨터 시스템의 스타트 업에 따라, 신뢰 소프트웨어가 보호 레지스터를 액세스하여 호스트 컨트롤러 및 주변 장치 간에 암호화 데이터를 전송한다.
주변 장치, 신뢰, 호스트 컨트롤러, 암호화 데이터, 암호화 키
Description
본 명세서에 포함된 내용은 저작권의 보호 대상이다. 본 저작권자는 특허청의 파일 또는 기록을 위하여 본 특허 명세서가 팩스 재생되는 것은 이의가 없으나, 그 밖의 모든 행위는 저작권에 저촉된다.
본 발명은 컴퓨터 시스템에 관한 것이며, 보다 상세하게는, 신뢰하는 또는 안전한 환경에서 동작할 수 있는 컴퓨터 시스템에 관한 것이다.
지역 또는 원격 마이크로컴퓨터상에서 수행되는 금융 및 개인 거래의 수가 증가함에 따라, "신뢰하는" 또는 "안전한" 마이크로프로세서 환경의 설립이 촉진되었다. 이러한 환경이 해결하고자 하는 문제점은 프라이버시의 손실 또는 데이터가 손상되거나 남용되는 것이다. 사용자들은 그들의 사적 데이터가 공개되는 것을 원하지 않는다. 그들은 또한 그들의 데이터가 변경되거나 부적당한 거래에 사용되는 것을 원하지 않는다. 이러한 예로서는 의료 기록의 비의도적 누설 또는 온라인 은행이나 다른 보관소로부터의 전자적 자금 절도를 포함한다. 유사하게, 콘텐츠 제공자는 디지털 콘텐츠(예컨대, 음악, 다른 오디오, 비디오 또는 일반적인 다른 데이터 유형)가 인증 없이 복사되는 것을 방지하고자 한다.
그러나 Compaq, IBM, DEC, Intel, Microsoft, NEC 및 Northern Telecom에 의 해 개발되어 2.0 표준을 고수하는 범용 직렬 버스(Universal Serial Bus: USB)는 신뢰 입출력(trusted I/O)에 커다란 문제점을 내포하고 있다. USB는 컴퓨터 시스템과 부가 장치(add-on device)(예컨대, 키보드) 사이의 플러그 앤 플레이 인터페이스(plug-and-play interface)이다. 컴퓨터 시스템은 전형적으로 USB 장치와 연관된 소프트웨어 스택을 포함한다.
USB 스택 내의 악성 코드는 USB 주변 장치로 또는 그로부터 전송되는 데이터를 변형하거나, 데이터를 완전히 다른 장치로 재전송하는데 사용될 가능성이 있다. 악성 USB 소프트웨어를 방지하는데 사용되는 한 가지 방법은 USB 주변 장치로 전송되는 또는 그로부터 수신되는 데이터를 암호화하는 것이다. 그러나 암호화 방법과 관련된 문제점은 USB 스택이 주변 장치에 대하여 전송한 암호화 키도 신뢰할 수 없다는 것이다.
한 메커니즘은 암호화 키를 키보드 주변 장치에 직접 전송함으로써 USB 스택을 우회하는 단계를 포함한다. 이러한 메커니즘에서는, 암호화 키를 입력하기 위하여 키보드 상에 키 스트로크를 타이핑하도록 사용자를 촉구한다. 이러한 메커니즘은 컴퓨터 시스템이 개시될 때마다 사용자에게 많게는 63개의 키 스트로크를 타이핑할 것을 요구하므로 비효율적이다.
대안으로, 키보드에 전원이 공급될 때마다 사용자가 키 스트로크를 입력해야하는 것을 피하기 위하여, 키보드에 비휘발성 메모리 저장소가 필요할 것이다. 이는 키보드 제조 비용을 증가시키는 결과가 될 것이다. 또한, 이러한 메커니즘은 컴퓨터 시스템과 주변 장치 사이에 인라인으로 암호화 동글(encryption dongle)이 추가되지 않는 한, 마우스와 같이 키보드가 아닌 주변 장치에서 사용하기에는 적합하지 않다. 이 또한 비용을 증가시키게 된다.
컴퓨터 시스템에서 신뢰 USB 입출력(I/O)을 보장하기 위한 메커니즘을 설명한다. 일 실시예에 따르면, USB 스택을 사용하지 않고 USB 주변 장치에 암호화 키를 전송하기 위하여 컴퓨터 시스템에 신뢰 포트(trusted port)가 구현된다.
본 발명은 첨부된 도면에 제한되는 것이 아니고 예시로서 도시된 것이며, 도면에서 동일한 참조 번호는 동일한 요소를 나타낸다.
도 1은 컴퓨터 시스템의 일 실시예를 도시하는 블록도.
도 2는 중앙 처리 장치(CPU)의 일 실시예를 도시하는 블록도.
도 3은 메모리의 일 실시예를 도시하는 블록도.
도 4는 주변 장치로 암호화 키를 전송하는 일 실시예의 흐름도.
본 발명에 관한 이하의 상세한 설명에서는, 본 발명의 완전한 이해를 제공하기 위하여, 다수의 구체적 세부 사항이 설명된다. 그러나 본 발명이 이러한 구체적 세부 사항 없이도 실시될 수 있음은 본 기술분야의 당업자에게 자명할 것이다. 본 발명을 불명료하게 하는 것을 피하기 위하여, 공지의 구조 및 장치는 블록도의 형태로서, 상세하지 않게 도시된다.
본 명세서에서 "일 실시예" 또는 "일례"라는 표현은 그 실시예와 연관되어 설명된 특정 기능, 구조 또는 특성이 본 발명의 적어도 하나의 실시예에 포함된다는 것을 의미한다. 본 명세서의 다양한 곳에서 사용되는 "일 실시예에서"라는 표현은 반드시 모든 동일 실시예를 지칭하는 것은 아니다.
도 1은 컴퓨터 시스템(100)의 일 실시예를 도시하는 블록도이다. 컴퓨터 시스템(100)은 버스(105)에 연결된 중앙 처리 장치(CPU)(102)를 포함한다. 일 실시예에서, CPU(102)는 캘리포니아, 산타클라라의 인텔 코퍼레이션으로부터 이용 가능한 Pentium® Ⅱ 프로세서 패밀리, Pentium® Ⅲ 프로세서 및 Pentium® Ⅳ 프로세서를 포함하는 Pentium® 프로세서 패밀리 중 한 프로세서이다. 대안으로, 다른 CPU가 사용될 수도 있다.
도 2는 CPU(102)의 일 실시예를 도시하는 블록도이다. 일 실시예에서, CPU(102)는 캐시 메모리(캐시)(220), 내장된 키(230) 및 페이지 테이블(PT) 레지스터(240)를 포함한다. 캐시(220)의 전부 또는 일부는 사적 메모리(private memory: PM)(225)를 포함하거나, 이로 전환될 수 있다. 일 실시예에 따르면, 사적 메모리(225)는, 활성화되어 있는 동안, 임의의 인증되지 않은 장치(예컨대, 연관된 CPU 102 이외의 다른 장치)에 의해 액세스되는 것을 방지하도록 보호되는 메모리이다.
도시된 실시예에서, 캐시(220)는 사적 메모리로서 선택적으로 격리되는 것을 허용하기 위한 다양한 특징을 가질 수 있다. 도시되지 않은 다른 실시예에서, 사적 메모리(225)는 캐시 메모리(220)와 분리되어 외부에 존재하나, 여전히 CPU(102)와 연관되어 있을 수 있다. 키(230)는 다양한 블록의 데이터 및/또는 코드의 암호 화, 암호 해독 및/또는 확인을 위하여 사용되는 내장 키(embedded key)일 수 있다. PT 레지스터(240)는 보호되는 코드에 의해서만 액세스 가능한 메모리 페이지를 식별하고 어느 메모리 페이지가 보호되지 않는지를 식별하기 위한 레지스터 형태로 된 테이블일 수 있다.
도 1을 다시 참조하면, 칩셋(107) 또한 버스(105)에 연결된다. 칩셋(107)은 메모리 컨트롤 허브(memory control hub: MCH)(110)를 포함한다. MCH(110)는 메인 시스템 메모리(115)에 연결된 메모리 컨트롤러(112)를 포함할 수 있다. 메인 시스템 메모리(115)는 CPU(102) 또는 시스템(100)에 포함된 임의의 다른 장치에 의해 실행되는 일련의 명령어 및 데이터를 저장한다. 일 실시예에서, 메인 시스템 메모리(115)는 동적 랜덤 액세스 메모리(DRAM)를 포함하나, 메인 시스템 메모리(115)는 다른 메모리 유형을 사용하여 구현될 수도 있다. 다중 CPU 및/또는 다중 시스템 메모리와 같은 추가적 장치가 버스(105)에 연결될 수도 있다.
도 3은 메모리(115)의 일 실시예를 도시하는 블록도이다. 도 3을 참조하면, 메모리(115)는 보호 메모리 테이블(protected memory table)(320) 및 신뢰 소프트웨어 모니터(trusted software monitor)(330)를 포함할 수 있다. 일부 실시예에서, 보호 메모리 테이블(320)은 메모리(115) 내의 어떤 메모리 블록(여기서 메모리 블록은 연속적으로 주소 지정 가능한 메모리 위치의 범위임)이 직접 메모리 액세스(direct memory access: DMA) 전송에 액세스 불가능한지를 정의하는 테이블이다.
메모리(115)에 대한 모든 액세스는 MCH(110)를 통과하므로, MCH(110)는 임의의 DMA 전송 발생을 허용하기 이전에 보호 메모리 테이블(320)을 검사할 수 있다. 특정 실시예에서, MCH(110)는 보호 메모리 테이블(320)에 대한 액세스 횟수를 감소시키기 위하여 캐싱 기법을 사용할 수 있다.
일 실시예에서, 보호 메모리 테이블(320)은 비트의 테이블로서 구현되며, 각각의 비트는 메모리(115) 내의 특정 메모리 블록에 해당한다(예컨대, 각각의 비트는 단일 페이지에 해당하며, 논리 '1'은 DMA 전송으로부터 보호되는 페이지를 나타내고, 논리 '0'은 보호되지 않는 페이지를 나타낼 수 있음). 특정 동작에서, 보호 메모리 테이블(320)에 의해 DMA 전송으로부터 보호되는 메모리 블록은, CPU(102) 내의 PT 레지스터(240)에 의하여 보호 프로세싱(protected processing)으로 제한되는 메모리 블록과 동일할 수 있다.
일 실시예에서, 보호 동작 환경이 일단 설정된 후, 신뢰 소프트웨어 모니터(330)는 보호 동작 환경을 모니터링하고 제어한다. 특정 실시예에서, 신뢰 소프트웨어 모니터(330)는 보호 메모리 테이블(320)에 의해 데이터 전송(예컨대, DMA 전송)으로부터 보호되는 메모리 블록에만 위치하며, 따라서 신뢰 소프트웨어 모니터(330)가 보호되지 않는 그리고/또는 인증되지 않은 장치로부터의 데이터 전송에 의해 타협되지 않을 수 있음을 보장한다. 보호 메모리 테이블(320)은 보호 메모리 테이블(320)을 포함하는 메모리 블록을 보호함으로써, 데이터 트랜잭션에 의한 변경을 막을 수 있다.
도 1을 다시 참조하면, MCH(110)는 그래픽 가속기(graphics accelerator)(130)에 연결된 그래픽 인터페이스(113)를 포함할 수도 있다. 일 실시예에서, 그래픽 인터페이스(113)는 캘리포니아, 산타 클라라의 인텔 코퍼레이션 에 의해 개발된 AGP Specification Revision 2.0에 따라 동작하는 AGP(accelerated graphics port)를 경유하여 그래픽 가속기(130)에 연결된다.
일 실시예에 따르면, MCH(110)는 다양한 암호화, 암호 해독 및/또는 확인 프로세스에 사용되는 키(116), 보호 레지스터(protected register)(120) 및 보호 메모리 테이블(125)을 포함한다. 일 실시예에서, 보호 메모리 테이블(125)은 보호 메모리 테이블(125)로서 MCH(110) 내에 구현되며, 보호 메모리 테이블(320)은 제거될 수 있다.
다른 실시예에서, 보호 메모리 테이블(125)은 상술한 바와 같이 메모리(115) 내에 보호 메모리 테이블(320)로서 구현되며, 보호 메모리 테이블(125)은 제거될 수 있다. 보호 메모리 테이블은 도시되지 않은 다른 방식으로도 구현될 수 있다. 물리적 위치와 무관하게, 보호 메모리 테이블의 목적 및 기본 동작은 설명된 바와 실질적으로 같다.
일 실시예에서, 보호 레지스터(120)는 CPU(120) 내의 신뢰 마이크로코드(trusted microcode)에 의해서만 개시될 수 있는 명령에 의해 기록 가능한 레지스터이다. 보호 마이크로코드는 인증된 명령어(들)에 의해서, 그리고/또는 인증되지 않은 장치에 의해 제어 가능하지 않은 하드웨어에 의해서 실행이 개시될 수 있는 마이크로코드이다. 일 실시예에서, 보호 레지스터(120)는 보호 메모리 테이블(320) 및 신뢰 소프트웨어 모니터(330)의 위치를 식별하고, 그리고/또는 그에 대한 액세스를 제어하는 데이터를 보유한다.
일 실시예에서, 보호 레지스터(120)는, 보호 메모리 테이블(320)의 사용을 인에이블 또는 디스에이블시켜, 보호 동작 환경에 들어가기 전에는 DMA 보호가 활성화되고, 보호 동작 환경을 떠난 후에는 비활성화될 수 있게 하는 레지스터를 포함한다. 보호 레지스터(120)는 보호 메모리 테이블(320)의 위치를 식별하는 기록 가능 레지스터를 포함할 수도 있으므로, 보호 메모리 테이블의 위치가 MCH(110) 내에 하드와이어링될 필요가 없다.
일 실시예에서, 보호 레지스터(120)는, 신뢰 소프트웨어 모니터(330)가 메모리(115)의 보호 위치 내에 배치되기 전, 전송을 위하여 위치할 수 있는 임시 위치를 포함할 수 있다. 일 실시예에서, 보호 레지스터(120)는 메모리(115) 내로의 전송 이후 신뢰 소프트웨어 모니터(330)의 실행 시작 주소를 포함할 수 있으며, 실행은 보호 동작 환경의 초기화 이후 신뢰 소프트웨어 모니터(330)로 전송될 수 있다.
물리적 토큰(132)은 보호 동작 환경을 생성 및 유지 관리하는 것과 관련된 데이터를 보호하기 위한 회로일 수 있다. 특정 실시예에서, 물리적 토큰(132)은 구체적 암호화, 암호 해독 및/또는 확인 프로세스를 위하여 사용되는 내장 키일 수 있는 (도시되지 않은) 키를 포함한다. 물리적 토큰(132)은 보호 동작 환경에서 사용되는 다른 정보 및 다이제스트 값(digest value)을 보유하는데 사용되는 저장 공간을 포함할 수도 있다. 일 실시예에서, 물리적 토큰(132) 내의 저장 공간은 물리적 토큰으로의 전원이 차단된 경우에도 그 내용을 유지하기 위하여 비휘발성 메모리(예컨대, 플래시 메모리)를 포함할 수 있다.
도 1을 다시 참조하면, MCH(110)는 허브 인터페이스를 경유하여 입출력 컨트롤 허브(ICH)(140)에 연결된다. ICH(140)는 컴퓨터 시스템(100) 내에 입출력(I/O) 장치에 대한 인터페이스를 제공한다. ICH(140)는 호스트 컨트롤러(144)를 경유하여 USB 주변 장치(155)에 연결될 수 있다. 호스트 컨트롤러(144)는 ICH(140)와 주변 장치(155) 간의 인터페이스를 제어한다. 본 발명의 범위로부터 벗어나지 않은 채 다른 패킷 기반 버스가 구현될 수 있음을 당업자는 인식할 것이다.
일 실시예에서, 호스트 컨트롤러(144)는 주변 장치 구성 프로세스를 지원하며, 주변 장치(155)에는 주소가 할당되어 있다. 다음으로, 호스트 컨트롤러(144)는 그곳으로 주소 지정된 패킷에 대하여 버스를 모니터링하며, 주변 장치(155)로의 데이터 전송을 처리한다. 데이터는 주변 장치(155)로 전송되기에 앞서 호스트 컨트롤러(144)에서 패킷으로 패키징된다. 입력 패킷(incoming packet)은 호스트 컨트롤러(144)에서 유효성에 대해 검증된다. 일 실시예에서, 주변 장치(155)는 키보드이다. 그러나 다른 실시예에서 주변 장치(155)는 마우스, 오디오 플레이어, 조이스틱, 전화, 스캐너, 프린터 등을 사용하여 구현될 수도 있다.
디버그 포트(debug port)(146)는 하드웨어 및 소프트웨어 설계자가 제품의 기능을 디버깅(debugging)할 수 있게 한다. 일 실시예에서, 디버그 포트(146)는 호스트 컨트롤러(144)가 트랜잭션을 수행하게 하는 레지스터 기반 메커니즘을 구현한다. 따라서, USB 상의 주변 장치(155)와 연관된 소프트웨어 스택 및 메모리(115)는 우회(bypass)될 수 있다.
또 다른 실시예에 따르면, 주변 장치(155)와의 USB 접속이 신뢰할 수 있음을 검증하기 위하여, 컴퓨터 시스템(100)의 스타트 업에 따라 주변 장치(155)로 암호화 키가 전송되도록 유사한 우회가 구현된다. 이러한 실시예에서, 호스트 컨트롤 러(144) 또한 MCH(110) 내의 레지스터와 유사한 보호 레지스터를 포함한다. 따라서, 신뢰 소프트웨어는 호스트 컨트롤로(144) 내의 보호 레지스터를 액세스한다.
소프트웨어는, 어느 암호화된 메시지가 주변 장치(155)로 전송되고, 어느 데이터가 주변 장치(155)로부터 수신되는지를 호스트 컨트롤러(144)에게 나타내도록, 레지스터(120)에 기록한다. 다른 실시예에서, 주변 장치(155)는 암호화 키를 생성하고 그 키를 호스트 컨트롤러(144)에 전송한다. 다른 실시예에서, 호스트 컨트롤러(144) 및 주변 장치(155)는 외부 스누핑에 대한 면역성을 제공하기 위하여 디피 헬먼 교환(Diffie-Hellman exchange)을 구현한다. 또 다른 실시예에서, 호스트 컨트롤러(144) 및 주변 장치(155)는 Man-In-The-Middle 타입 공격을 검사하기 위한 검증 상태에 더하여 디피 헬먼 교환을 구현한다.
호스트 컨트롤러(144)는 신뢰 포트를 통하여 키를 판독한다. 또 다른 실시예에서, 일단 주변 장치(155)가 암호화 키를 사용한 후에는, 표준 USB 소프트웨어 스택 및 USB 호스트 컨트롤러(144) 메커니즘을 사용하여 I/O 트래픽이 전송된다. 다음으로, 메모리(115) 내의 데이터 구조에 의해 정상 USB 트랜잭션이 제어되며, 호스트 컨트롤러(144)는 이 구조를 판독하여 적절한 판독/기록 동작을 수행한다.
도 4는 암호화 키를 주변 장치(155)에 전송하는 일 실시예의 흐름도이다. 프로세싱 블록(410)에서, 컴퓨터 시스템(100)은 스타트 업(부팅) 프로세스를 시작한다. 프로세싱 블록(420)에서, 신뢰 소프트웨어는 암호화 키를 생성한다. 그러나 상술한 바와 같이 암호화 키는 주변 장치(155)에서 생성될 수도 있다.
프로세싱 블록(430)에서, 키는 USB 스택을 우회하여 주변 장치(155)로 전송 된다. 상술한 바와 같이, 신뢰 소프트웨어는 주변 장치(155)로의 암호화 키 전송을 개시하고 어느 데이터가 주변 장치(155)로부터 수신되는지를 레지스터(120)에 기록한다. 암호화 키가 주변 장치(155)에서 생성되는 실시예에서, 키는 주변 장치(155)로부터 호스트 컨트롤러(144)로 전송된다.
프로세싱 블록(440)에서, 암호화 키에 기반하여 주변 장치(155)가 동작하는지 여부를 판정하는 검증 프로세스가 이루어진다. 일 실시예에 따르면, 사용자에게 키보드 상의 문자를 타이핑하도록 촉구하는 메시지를 디스플레이 상에 나타냄으로써 키가 검증된다. 문자는 호스트 소프트웨어에 의해 임의적으로 선택될 수 있다.
사용자가 키를 타이핑하면, 키보드는 그 키를 암호화하여 암호화 키를 만든다. 신뢰 OS 소프트웨어는 암호화 및 타이핑되어야 하는 키 스트로크를 알고 있으므로, OS 소프트웨어는 메시지를 암호 해독하여 그것이 올바른지 여부를 검증할 수 있다. 프로세싱 블록(450)에서, 호스트 컨트롤러(144)가 셋 업(set up)되어, 스택을 통하여 표준 USB 트랜잭션이 발생할 수 있다.
상술한 내용은 신뢰 소프트웨어 및 신뢰 레지스터를 구현하여 USB 스택을 우회함으로써, 악성 USB 소프트웨어가 표준 USB 스택을 사용하여 USB 주변 장치에 사기 메시지(imposter message)를 전송하는 것을 막는다. 또한, 사용자가 키보드를 통하여 암호화 키를 입력할 필요도 없으며, 주변 장치에 비휘발성 저장소를 구현할 필요도 없다.
상기 설명을 읽은 당업자라면 본 발명에 대한 많은 변경 및 변형이 명백할 것임이 분명하지만, 도시되고 설명된 특정 실시예는 한정이 아닌 예로서 제시된 것임을 이해하여야 할 것이다. 따라서, 다양한 실시예에 대한 세부 사항들은 특허청구범위를 제한하고자 한 것이 아니며, 단지 본 발명의 본질적인 기능으로서 설명한 것이다.
Claims (31)
- 컴퓨터 시스템으로서,칩셋 내의 보호 레지스터들(protected registers)에 암호화 키를 기록하기 위한 신뢰 소프트웨어(trusted software)를 저장하기 위한 SRAM(synchronous random access memory); 및주변 장치에 상기 암호화 키를 전송하고, 상기 주변 장치로부터 데이터를 수신하기 위한 호스트 컨트롤러를 더 포함하는 칩셋;를 포함하고,상기 수신된 데이터가 상기 암호화 키에 적어도 일부 기초하여 암호화된 데이터인 경우, 상기 호스트 컨트롤러는 상기 주변 장치와 연관된 주변 소프트웨어 스택(peripheral software stack)을 이용할 수 있도록 하여 상기 주변 장치로부터 전송되는 데이터를 처리하는 컴퓨터 시스템.
- 삭제
- 삭제
- 제1항에 있어서,상기 신뢰 소프트웨어는 전송되어야 하는 암호화 키 및 상기 주변 장치로부터 수신되어야 하는 응답 데이터를 상기 호스트 컨트롤러에게 나타내도록 상기 보호 레지스터들에 기록하는 컴퓨터 시스템.
- 제1항에 있어서,운영 체제(operating system)는 상기 수신된 데이터가 상기 암호화 키에 적어도 일부 기초하여 암호화된 데이터인지 여부를 판정하기 위하여,상기 데이터를 복호화하고,상기 복호화된 데이터를 예상 응답 데이터와 비교하며,상기 복호화된 데이터가 상기 예상 응답 데이터와 일치하는 경우, 상기 수신된 데이터가 상기 암호화 키에 적어도 일부 기초하여 암호화되었다고 판정하는 컴퓨터 시스템.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 주변 장치에 암호화 키를 전송하고, 상기 주변 장치로부터 데이터를 수신하기 위한 호스트 컨트롤러를 포함하고,상기 수신된 데이터가 상기 암호화 키에 적어도 일부 기초하여 암호화된 데이터인 경우, 상기 호스트 컨트롤러는 상기 주변 장치와 연관된 주변 소프트웨어 스택을 이용할 수 있도록 하여 상기 주변 장치로부터 전송되는 데이터를 처리하는 장치.
- 삭제
- 제13항에 있어서,상기 암호화 키는 상기 장치에 연결된 중앙 처리 장치(central processing unit: CPU)로부터 수신되는 장치.
- 제13항에 있어서,신뢰 소프트웨어는 전송되어야 하는 암호화 키 및 상기 주변 장치로부터 수신되어야 하는 응답 데이터를 상기 호스트 컨트롤러에게 나타내도록 보호 레지스터들에 기록하는 장치.
- 제16항에 있어서,운영 체제는 상기 수신된 데이터가 상기 암호화 키에 적어도 일부 기초하여 암호화된 데이터인지 여부를 판정하기 위하여,상기 데이터를 복호화하고,상기 복호화된 데이터를 상기 응답 데이터와 비교하며,상기 복호화된 데이터가 상기 응답 데이터와 일치하는 경우, 상기 수신된 데이터가 상기 암호화 키에 적어도 일부 기초하여 암호화되었다고 판정하는 장치.
- 신뢰 소프트웨어를 사용하여 컴퓨터 시스템 내에서 암호화 키를 생성하는 단계;주변 장치로 상기 암호화 키의 전송을 개시하도록, 상기 신뢰 소프트웨어가 상기 컴퓨터 시스템 내의 신뢰 레지스터에 기록하는 단계; 및상기 주변 장치에 상기 암호화 키를 전송하는 단계를 포함하는 방법.
- 제18항에 있어서,상기 암호화 키는 상기 주변 장치와 연관된 메모리 스택을 우회(bypass)하면서 상기 주변 장치로 전송되는 방법.
- 제18항에 있어서,상기 암호화 키에 기반하여 상기 주변 장치가 동작하는지 여부를 검증하는 단계를 더 포함하는 방법.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/609,508 US20050015611A1 (en) | 2003-06-30 | 2003-06-30 | Trusted peripheral mechanism |
US10/609,508 | 2003-06-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060028704A KR20060028704A (ko) | 2006-03-31 |
KR100831441B1 true KR100831441B1 (ko) | 2008-05-21 |
Family
ID=34062308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020057025310A KR100831441B1 (ko) | 2003-06-30 | 2004-06-16 | 신뢰 주변 장치 메커니즘 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20050015611A1 (ko) |
EP (1) | EP1639425A1 (ko) |
JP (1) | JP2007526661A (ko) |
KR (1) | KR100831441B1 (ko) |
CN (1) | CN1816786A (ko) |
TW (1) | TW200504522A (ko) |
WO (1) | WO2005006159A1 (ko) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040268143A1 (en) * | 2003-06-30 | 2004-12-30 | Poisner David I. | Trusted input for mobile platform transactions |
US20050044408A1 (en) * | 2003-08-18 | 2005-02-24 | Bajikar Sundeep M. | Low pin count docking architecture for a trusted platform |
US7480931B2 (en) * | 2004-07-24 | 2009-01-20 | Bbs Technologies, Inc. | Volume mount authentication |
US20060026417A1 (en) * | 2004-07-30 | 2006-02-02 | Information Assurance Systems L.L.C. | High-assurance secure boot content protection |
US7565464B2 (en) * | 2004-12-14 | 2009-07-21 | Intel Corporation | Programmable transaction initiator architecture for systems with secure and non-secure modes |
JP2006235994A (ja) * | 2005-02-24 | 2006-09-07 | Nec Electronics Corp | ブリッジシステム、ブリッジシステム制御方法、情報処理機器、周辺機器及びプログラム |
US7988633B2 (en) * | 2005-10-12 | 2011-08-02 | Volcano Corporation | Apparatus and method for use of RFID catheter intelligence |
US20080083037A1 (en) * | 2006-10-03 | 2008-04-03 | Rmcl, Inc. | Data loss and theft protection method |
US8108905B2 (en) * | 2006-10-26 | 2012-01-31 | International Business Machines Corporation | System and method for an isolated process to control address translation |
US8588421B2 (en) * | 2007-01-26 | 2013-11-19 | Microsoft Corporation | Cryptographic key containers on a USB token |
US8209509B2 (en) * | 2008-05-13 | 2012-06-26 | Atmel Corporation | Accessing memory in a system with memory protection |
EP2202662A1 (en) * | 2008-12-24 | 2010-06-30 | Gemalto SA | Portable security device protecting against keystroke loggers |
US20110035808A1 (en) * | 2009-08-05 | 2011-02-10 | The Penn State Research Foundation | Rootkit-resistant storage disks |
FR2969788B1 (fr) * | 2010-12-27 | 2013-02-08 | Electricite De France | Procede et dispositif de controle d'acces a un systeme informatique |
IL215263A (en) | 2011-09-20 | 2014-01-30 | Photax Molds Ltd | Security plug prevent usb socket access |
CN103984652B (zh) * | 2014-05-28 | 2017-12-19 | 山东超越数控电子有限公司 | 一种基于龙芯平台的北斗通信方法 |
US10140457B2 (en) * | 2015-07-31 | 2018-11-27 | Intel Corporation | Secure input/output device management |
WO2018000164A1 (en) * | 2016-06-28 | 2018-01-04 | Intel Corporation | Accessing input/output devices of detachable peripheral by main computer |
US10751605B2 (en) | 2016-09-29 | 2020-08-25 | Intel Corporation | Toys that respond to projections |
US10372947B2 (en) | 2016-12-02 | 2019-08-06 | Microsoft Technology Licensing, Llc | Parsing, processing, and/or securing stream buffers |
CN106997438B (zh) * | 2017-03-29 | 2019-11-12 | 山东英特力数据技术有限公司 | 一种可信服务器cpu设计方法 |
CN108171043A (zh) * | 2017-12-28 | 2018-06-15 | 山东超越数控电子股份有限公司 | 一种计算机接口通信保护和异常告警方法与装置 |
US11205003B2 (en) | 2020-03-27 | 2021-12-21 | Intel Corporation | Platform security mechanism |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5748888A (en) * | 1996-05-29 | 1998-05-05 | Compaq Computer Corporation | Method and apparatus for providing secure and private keyboard communications in computer systems |
KR20010075411A (ko) * | 1999-07-29 | 2001-08-09 | 이종우 | 보안기능을 갖는 어댑터 및 이를 이용한 컴퓨터 보안시스템 |
US20020073342A1 (en) * | 2000-12-11 | 2002-06-13 | International Business Machines Corporation | Verifying physical universal serial bus keystrokes |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4888802A (en) * | 1988-06-17 | 1989-12-19 | Ncr Corporation | System and method for providing for secure encryptor key management |
JPH08223151A (ja) * | 1995-02-13 | 1996-08-30 | Nippon Telegr & Teleph Corp <Ntt> | 暗号化通信システム及び暗号化通信方法 |
DE69527773T2 (de) * | 1995-05-18 | 2002-11-28 | Hewlett Packard Co | Schaltungsanordnung zur Überwachung der Benutzung von Funktionen in einem integrierten Schaltungkreis |
US5802318A (en) * | 1995-07-25 | 1998-09-01 | Compaq Computer Corporation | Universal serial bus keyboard system |
US5926550A (en) * | 1997-03-31 | 1999-07-20 | Intel Corporation | Peripheral device preventing post-scan modification |
JPH11306088A (ja) * | 1998-04-27 | 1999-11-05 | Toppan Printing Co Ltd | Icカードおよびicカードシステム |
GB9818184D0 (en) * | 1998-08-20 | 1998-10-14 | Undershaw Global Limited | Improvements in and relating to data processing apparatus and verification methods |
US6813650B1 (en) * | 1999-10-26 | 2004-11-02 | International Business Machines Corporation | Multimode non-standard universal serial bus computer input device |
JP2001318875A (ja) * | 2000-05-08 | 2001-11-16 | Komuzu:Kk | コンピュータのデータ盗難防止システム |
CN1316315C (zh) * | 2000-09-19 | 2007-05-16 | 希普利公司 | 抗反射组合物 |
JP2002297030A (ja) * | 2001-03-29 | 2002-10-09 | Toshiba Corp | 暗号処理装置及び暗号処理方法並びにプログラム |
US6931552B2 (en) * | 2001-05-02 | 2005-08-16 | James B. Pritchard | Apparatus and method for protecting a computer system against computer viruses and unauthorized access |
US7165180B1 (en) * | 2001-11-27 | 2007-01-16 | Vixs Systems, Inc. | Monolithic semiconductor device for preventing external access to an encryption key |
US20040003321A1 (en) * | 2002-06-27 | 2004-01-01 | Glew Andrew F. | Initialization of protected system |
US7478235B2 (en) * | 2002-06-28 | 2009-01-13 | Microsoft Corporation | Methods and systems for protecting data in USB systems |
US8467534B2 (en) * | 2003-04-16 | 2013-06-18 | Broadcom Corporation | Method and system for secure access and processing of an encryption/decryption key |
US6941397B2 (en) * | 2003-05-30 | 2005-09-06 | Tom Learmonth | Quick save system and protocol, monitor program and smart button firmware of the same |
-
2003
- 2003-06-30 US US10/609,508 patent/US20050015611A1/en not_active Abandoned
-
2004
- 2004-06-16 WO PCT/US2004/019254 patent/WO2005006159A1/en active Application Filing
- 2004-06-16 KR KR1020057025310A patent/KR100831441B1/ko not_active IP Right Cessation
- 2004-06-16 CN CNA200480018633XA patent/CN1816786A/zh active Pending
- 2004-06-16 JP JP2006515365A patent/JP2007526661A/ja active Pending
- 2004-06-16 EP EP04755421A patent/EP1639425A1/en not_active Withdrawn
- 2004-06-17 TW TW093117484A patent/TW200504522A/zh unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5748888A (en) * | 1996-05-29 | 1998-05-05 | Compaq Computer Corporation | Method and apparatus for providing secure and private keyboard communications in computer systems |
KR20010075411A (ko) * | 1999-07-29 | 2001-08-09 | 이종우 | 보안기능을 갖는 어댑터 및 이를 이용한 컴퓨터 보안시스템 |
US20020073342A1 (en) * | 2000-12-11 | 2002-06-13 | International Business Machines Corporation | Verifying physical universal serial bus keystrokes |
Also Published As
Publication number | Publication date |
---|---|
JP2007526661A (ja) | 2007-09-13 |
EP1639425A1 (en) | 2006-03-29 |
CN1816786A (zh) | 2006-08-09 |
TW200504522A (en) | 2005-02-01 |
US20050015611A1 (en) | 2005-01-20 |
KR20060028704A (ko) | 2006-03-31 |
WO2005006159A1 (en) | 2005-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100831441B1 (ko) | 신뢰 주변 장치 메커니즘 | |
US7392415B2 (en) | Sleep protection | |
US6581162B1 (en) | Method for securely creating, storing and using encryption keys in a computer system | |
US7028149B2 (en) | System and method for resetting a platform configuration register | |
US5835594A (en) | Methods and apparatus for preventing unauthorized write access to a protected non-volatile storage | |
US8670568B2 (en) | Methods and systems for utilizing cryptographic functions of a cryptographic co-processor | |
KR100294829B1 (ko) | 플래시 메모리를 보호하는 방법 및 장치 | |
US9397834B2 (en) | Scrambling an address and encrypting write data for storing in a storage device | |
JP4982825B2 (ja) | コンピュータおよび共有パスワードの管理方法 | |
JP3363379B2 (ja) | 安全な記憶領域内のアプリケーション・データを保護する方法及び装置 | |
US8156331B2 (en) | Information transfer | |
US8799673B2 (en) | Seamlessly encrypting memory regions to protect against hardware-based attacks | |
WO2006099785A1 (fr) | Puce de sécurité | |
US20030061494A1 (en) | Method and system for protecting data on a pc platform using bulk non-volatile storage | |
KR20060090262A (ko) | Sim 장치용 컴퓨터 시스템 내에 신뢰 채널을 제공하는방법 및 시스템 | |
TW201349007A (zh) | 提供儲存裝置上防有毒軟體保護之系統與方法 | |
EP2619707B1 (en) | Verification and protection of genuine software installationv using hardware super key | |
KR100606196B1 (ko) | 모바일 플랫폼 트랜잭션을 위한 신뢰 입력 | |
US20050044408A1 (en) | Low pin count docking architecture for a trusted platform | |
WO2005066736A1 (en) | Data authentication and tamper detection | |
KR101236991B1 (ko) | 하드디스크 암호화를 위한 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120502 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |