KR101518207B1 - 보안 환경에서의 고속 비휘발성 저장 장치의 제공 - Google Patents

보안 환경에서의 고속 비휘발성 저장 장치의 제공 Download PDF

Info

Publication number
KR101518207B1
KR101518207B1 KR1020137005727A KR20137005727A KR101518207B1 KR 101518207 B1 KR101518207 B1 KR 101518207B1 KR 1020137005727 A KR1020137005727 A KR 1020137005727A KR 20137005727 A KR20137005727 A KR 20137005727A KR 101518207 B1 KR101518207 B1 KR 101518207B1
Authority
KR
South Korea
Prior art keywords
mode
secure
secure partition
partition
controller
Prior art date
Application number
KR1020137005727A
Other languages
English (en)
Other versions
KR20130042599A (ko
Inventor
로버트 씨 스완슨
말리크 부루수
빈센트 제이 짐머
Original Assignee
인텔 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인텔 코포레이션 filed Critical 인텔 코포레이션
Publication of KR20130042599A publication Critical patent/KR20130042599A/ko
Application granted granted Critical
Publication of KR101518207B1 publication Critical patent/KR101518207B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2113Multi-level security, e.g. mandatory access control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2115Third party

Abstract

일 실시예에서, 프로세서에 결합된 주변 장치 제어기는 저장 장치 제어기를 포함할 수 있다. 이 저장 장치 제어기는 주변 장치 제어기에 결합된 비휘발성 저장 장치로의 액세스를 제어할 수 있다. 저장 장치는 보안 및 개방 파티션의 모두를 포함할 수 있고, 저장 장치 제어기는 단지 프로세서가 보안 모드에 있을 때에만 보안 파티션으로의 액세스가 가능할 수 있다. 이어서, 제 3 자 코드 실행과 같은 비-보안 동작 중에, 보안 파티션의 가시화가 방지될 수 있다. 다른 실시예가 설명되고 청구된다.

Description

보안 환경에서의 고속 비휘발성 저장 장치의 제공{PROVIDING FAST NON-VOLATILE STORAGE IN A SECURE ENVIRONMENT}
컴퓨터 시스템은 시스템 소프트웨어의 부분, 즉 기본 입출력 시스템(BIOS)의 부분인 시스템 관리 모드(SMM)라 칭하는 모드를 구현한다. 이 SMM은 시스템 관리 모드 랜덤 액세스 메모리(SMRAM)라 칭하는 시스템 메모리 내의 작은 보호된 위치로부터 실행된다. 몇몇 보안 공격은 메모리로의 액세스에 기초한다. 또한, 이 메모리 영역은 공간 제약적이다.
이 보호된 메모리에 부가하여, 다양한 패스워드와 같은 다른 보안 정보가 시스템 내에 존재한다. 시스템 패스워드의 저장 위치는 상보형 금속 산화물 반도체(CMOS) 또는 호스트 가시화 비휘발성 메모리 내에 포함되고, 따라서 호스트[예를 들어, 프로세서 또는 운영 체제(OS)]는 이들 패스워드를 판독할 수 있다. 패스워드 자체는 암호화될 수 있지만, 악의적인 사용자가 여전히 이들을 삭제할 수 있다. 일단 패스워드가 삭제되거나 무효화되면, 공격자는 그들 자신의 패스워드를 설정할 수 있고, 이는 다양한 공격을 유도할 수 있다.
메모리의 상위 세그먼트(TSEG)는 BIOS SMM 실행 시간 및 특정 디버그 사용을 위해 새겨진 시스템 메모리[예를 들어, 동적 랜덤 액세스 메모리(DRAM)]의 부분이다. 현재의 칩셋은 BIOS 특징 공간에 대해 4 메가바이트(MB)를 갖는 8 MB로 이 공간을 제한할 수 있지만, 미래의 칩셋에서 이는 훨씬 더 클 수 있다. 그러나, 모든 TSEG DRAM이 4 기가바이트(GB) 미만의 호스트로부터 도난된다. 이는 플랫폼 상의 정확한 리소스이고, BIOS는 그 사용을 최소화하려고 추구한다[이는 특히 32-비트 OS 및 주변 장치 상호 접속(PCI)-익스프레스(Express)™ 시스템에서 특히 부족한데, 여기서 후자의 메모리-맵핑된 I/O는 4 GB 미만의 더욱 더 많은 리소스를 도난함]. 부가적으로, 보안 문제에 기인하여, BIOS는 SMRAM/TSEG의 외부로 호출하지 않을 수 있다. 따라서, TSEG RAM은 모든 SMM 기반 특징에 대한 제한을 제공한다. 부가적으로, BIOS 플래시 디바이스는 OS/호스트에 의해 판독 가능하기 때문에 보안 BIOS 전용 비휘발성 RAM이 존재하지 않는다. 이는 또한 보안 문제점을 유도할 수 있다. 예를 들어, 다양한 구성 정보가 저전력 상태 중에 비보호된 DRAM 내에 저장되는데, 이는 DRAM이 셀프 리프레시 상태에 있는 동안 악의적인 사용자가 비보호된 데이터에 액세스할 수 있게 한다.
도 1은 본 발명의 일 실시예에 따른 시스템의 부분의 블록 다이어그램.
도 2는 도 1의 시스템의 다른 블록 다이어그램.
도 3은 본 발명의 실시예에 따른 보안 파티션으로서 사용을 위한 고속 비휘발성 저장 장치의 부분의 초기 구성의 흐름도.
도 4는 본 발명의 실시예에 따른 보안 파티션을 구성하기 위한 부가의 동작을 위한 방법의 흐름도.
도 5는 본 발명의 실시예에 따른 보안 파티션을 사용하기 위한 방법의 흐름도.
도 6은 본 발명의 실시예에 따른 보안 파티션으로의 액세스 요청을 취급하기 위한 방법의 흐름도.
도 7은 본 발명의 일 실시예에 따른 시스템의 블록 다이어그램.
도 8은 본 발명의 다른 실시예에 따른 시스템의 블록 다이어그램.
실시예는 BIOS 특징 및 보안 로깅을 위한 보안 NV 저장부로서 고속 비휘발성(NV) 메모리의 부분을 이용할 수 있다. 이 방식으로, 다양한 펌웨어 및 다른 시스템 소프트웨어, 보안 테이블, 패스워드 등이 시스템 동작 중에 저장될 수 있다(그리고, 연관 프로세서의 저전력 상태 중에 상태를 유지할 수 있음). 이제 도 1을 참조하면, 본 발명의 일 실시예에 따른 시스템의 부분의 블록 다이어그램이 도시되어 있다. 도 1에 도시된 바와 같이, 시스템(100)은 서버 시스템, 데스크탑 시스템, 랩탑 시스템, 넷북, 휴대폰, 스마트폰, 모바일 인터넷 디바이스 등과 같은 임의의 유형의 컴퓨터 시스템일 수 있다. 도시된 바와 같이, 시스템(100)은 인스트럭션을 실행하기 위한 하나 이상의 프로세싱 코어를 포함할 수 있는 중앙 프로세싱 유닛(CPU)(110)을 포함할 수 있다. 도시된 바와 같이, 서버와 같은 멀티프로세서 시스템을 위한 구현예에서, 다중 링크가 CPU(110)에 연결되도록 제공될 수 있고, 이는 하나의 프로세서 소켓일 수 있고, 다른 프로세서 소켓이 유사하게 구성될 수 있다. 프로세서 코어에 부가하여, 예를 들어 일체형 메모리 제어기(IMC) 및 언코어 로직과 같은 다양한 다른 회로가 CPU 내에 포함될 수 있고, 이 언코어 로직은 전력 관리 기능, 성능 모니터링 등과 같은 다양한 동작을 취급하는 CPU의 다른 로직일 수 있다.
도시된 바와 같이, CPU(110)는 링크(115)를 경유하여 주변 장치 제어기 허브(PCH)(120)에 결합될 수 있다. 일 실시예에서, 링크(115)는 직접 미디어 인터페이스(DMI) 링크일 수 있지만, 본 발명의 범주는 이 관점에 한정되는 것은 아니다. PCH(120)는 PCH에 결합될 수 있는 시스템의 다양한 주변 장치 부품을 위한 인터페이스를 제공할 수 있다. 예를 들어, 다양한 입출력(IO) 디바이스, 메모리 디바이스 등이 PCH(120)에 결합될 수 있다. 도 1의 실시예에서, 일 이러한 디바이스는 예를 들어, BIOS 이미지 및 다른 시스템 펌웨어를 저장할 수 있는 플래시 메모리(130)와 같은 비휘발성 저장 장치일 수 있다. 이 메모리와 통신을 가능하게 하기 위해, 직렬 주변 장치 인터페이스(SPI)(125)가 플래시 메모리(130)와의 통신의 제어 및 구현을 제공할 수 있다.
또한 도시된 바와 같이, PCH(120)는 다른 저장 디바이스, 즉 비휘발성 저장 장치(140)의 제어 및 통신을 제공할 수 있는 저장 장치 제어기(128)를 추가로 포함할 수 있다. 일 실시예에서, 저장 장치 제어기(128)는 보안 파티션에 제공되기 전에 데이터를 선택적으로 암호화할 수 있는(그리고, 파티션으로부터 판독될 때 이러한 암호화된 데이터를 복호화함) 소형 범용 프로세서 코어일 수 있다. 이 방식으로, NVRAM 칩이 베이스보드로부터 스크랩되고 판독되는 공격이 방지될 수 있다. 다양한 실시예에서, NV 저장 장치(140)는 예를 들어 사용자 레벨 애플리케이션의 실행 중에 고속 세이브(save) 동작을 가능하게 하기 위한 플래시 드라이브와 같은 애플리케이션 최적화 저장 장치일 수 있다. 달리 말하면, NV 저장 장치(140)는 응용 중에 사용된 정보의 고속 캐싱을 위해 사용될 수 있는 소위 고체 상태 저장 디바이스로서 작용할 수 있다. 도시된 바와 같이, 비휘발성 저장 장치(140)는 정상 시스템 동작 중에 이 호스트 사용을 위해 사용될 수 있는 개방 영역(140a)을 포함한다. 그러나, 도 2와 관련하여 설명되는 바와 같이, NV 저장 장치(140)는 호스트 사용으로부터 은닉되어 유지될 수 있는 보안 파티션을 추가로 포함할 수 있다. 즉, 보안 파티션은 시스템이 예를 들어 SMM과 같은 보안 동작 모드에 있지 않으면 가시화되는 것이 방지될 수 있다.
이제 도 2를 참조하면, 도 1의 시스템의 다른 블록 다이어그램이 도시되어 있다. 여기서, NV 저장 장치(140)는 시스템이 보호 모드, 예를 들어 SMM에 있기 때문에 그 보안 파티션(140b)이 가시화된 상태로 도시되어 있다. 즉, 도 2에 도시된 바와 같이, CPU(110)가 SMM 모드에 진입할 때, 신호(118)를 PCH(120)에 송신할 수 있다. 다양한 실시예에서, 신호는 시스템 관리 인터럽트(IMI) 신호 또는 가상 레가시 와이어(VLW) 신호일 수 있다. 대안 실시예가 예를 들어 SMM 모드에서 판독-기록(RW)으로서 정의된 저장 장치 제어기의 구성 레지스터 내에 설정될 때에만 가시화되는 보안 은닉 파티션을 제공할 수 있어, 레지스터가 단지 SMM 모드에 있는 동안만 변경될 수 있게 하여, 따라서 VLW 메시지를 경유하여 성취된 동일한 보안 메커니즘을 제공한다. 이 VLW 또는 대응 SMI 신호는 CPU 프로세싱 코어가 현재 SMI의 내부에 있는 것을 지시한다. 이 상태 정보는 PCH(120)의 내부에 저장된다. 저장 장치 제어기(128)는 내부 SMM 상태 전이의 지시를 수신하고 보안 파티션(들)(140b)을 개방할 수 있다. SMI의 종점에서, BIOS는 보안 파티션을 재잠금하기 위해 PCH(120) 내의 SMI(EOS) 비트의 종점을 소거할 것이다. 이러한 것이 발생할 때, 저장 장치 제어기(128)는 파티션을 은닉한다. 따라서, 보안 파티션은, 이하에 설명되는 바와 같이, BIOS가 SMM 보호의 외부의 호스트에 의해 어드레스되는 것을 허용하도록 선택되지 않으면 단지 SMI 중에만 가시화된다.
부가적으로, 저장 장치 제어기(128)는 보안 파티션의 적어도 일부에 대한 잠금 특권을 제공할 수 있다. 이는 부가적으로 이하에 설명되는 바와 같이 보안 파티션의 구성 중에 BIOS SMM 핸들러에 의해 규정된 바와 같은 섹터로의 호스트 판독 전용 액세스만을 허용할 것이다. 몇몇 실시예에서, 이들 영역은 에러 로그, BIOS 업데이트, 데이터 테이블 또는 다른 자료를 저장하기 위해 수백 킬로바이트 내지 메가바이트에 걸칠 수 있다. 본 발명의 범주는 이 관점에 한정되는 것은 아니라, BIOS 이미지 또는 다른 시스템 펌웨어 또는 소프트웨어, 시스템 패스워드 및 다른 보안 정보와 같은 다양한 보안 정보가 보안 파티션에 저장될 수 있다. 도 1 및 도 2의 실시예의 이 고레벨 도면에 도시되어 있지만, 본 발명의 범주는 이 관점에 한정되는 것은 아니고 다양한 실시예에서 부가의 구성 요소가 시스템 내에 존재할 수 있다는 것이 이해된다.
초기 플랫폼 시동 자체 시험(POST) 중에, BIOS는 보안 SMM 사용을 위해 NV 저장 장치(140)의 부분을 구성할 수 있다. 이제, 도 3을 참조하면, 본 발명의 실시예에 따른 보안 파티션으로서 사용을 위한 고속 비휘발성 저장 장치의 부분의 초기 구성의 흐름도가 도시되어 있다. 도 3에 도시된 바와 같이, 방법(200)은 이어서 비휘발성 저장 장치에 결합되는 주변 장치 제어기 허브의 저장 장치 제어기를 사용하여 구현될 수 있다. 도시된 바와 같이, 방법(200)은 플랫폼 리셋 신호를 수신함으로써 시작될 수 있다(블록 210). 이 신호에 응답하여, 저장 장치 제어기는 비휘발성 저장 장치를 초기화할 수 있다(블록 220). 저장 장치 제어기는 통상적으로 실시간 운영 체제 및 인스트럭션 프로세싱을 위한 호스트 인터페이스를 관리하기 위한 일련의 연산 작업 및 또한 웨어 레벨링(wear leveling), 스페어링(sparing), 블록 마이그레이션(migration) 및 압축(compaction)과 같은 다양한 능력이 신뢰적이고 고성능이도록 구현하는 NAND 플래시와 같은 실제 저장 매체를 관리하기 위한 능력을 갖는 매립형 프로세싱 서브시스템일 수 있다. 이 매립형 서브시스템은 호스트로부터 판독/기록 인스트럭션을 수락하기 전에 리셋 표지(indicia)에 응답하여 자체로 초기화한다. 다음에, 보안 파티션이 미리 생성되어 있는지 여부가 판정된다(다이아몬드 225). 예를 들어, 표지는 보안 파티션이 존재하는지 여부를 지시하기 위해 저장 장치 제어기의 제어 레지스터에 설정될 수 있다. 어떠한 이러한 파티션도 생성되지 않으면, 제어는 블록 230으로 진행하고, 여기서 BIOS가 보안 파티션을 생성하도록 허용될 수 있다. 그렇지 않으면, 제어는 블록 240으로 진행하고, 여기서 BIOS 모드에서, 예를 들어 BIOS SMM 핸들러를 경유하여, 미리 생성된 보안 파티션이 재설치될 수 있다. 즉, 다양한 실시예에서, 일단 비휘발성 보안 파티션이 BIOS에 의해 생성되면, 단지 BIOS SMM 핸들러만이 파티션을 재설치할 수 있다.
제어는 다음에 블록 250으로 진행하고, 여기서 시스템 동작이 예를 들어 임의의 사전 부팅 활동을 종료하고 운영 체제로 제어를 진행시킴으로써 계속될 수 있다. 이 보안 파티션의 구성 후에, 이는 은닉되어 제공될 수 있어 시스템의 보안 모드에서 동작하는 에이전트에 의해서만 가시화되게 된다는 것을 주목하라. 따라서, 다양한 실시예에서, 이 보안 파티션으로의 액세스는 시스템이 시스템 관리 모드에 있을 때에만 허용될 수 있다. 이는 예를 들어 시스템이 시스템 관리 모드에 있을 때 설정될 수 있는 PCH의 제어 레지스터의 플래그에 의해 결정될 수 있다. 그러나, 능동 SMM을 지시하기 위한 임의의 다른 수단이 다른 실시예에서 실현될 수 있다. 예를 들어, SMM 프로세서간 인터럽트(IPI)와 같은 CPU 전용 시스템 관리 모드 인터럽트가 호스트 CPU가 SMM에 있는 것을 지시하는데 사용될 수 있고, CPU 로컬 어드밴스드 프로그램 가능 인터럽트 제어기(APIC)가 이 'smm 상태' 표지를 PCH에 전달할 수 있다.
파티션 내의 보안 정보의 저장을 포함하는 보안 파티션의 구성에 관한 추가의 상세는 본 발명의 실시예에 따른 보안 파티션을 구성하기 위한 추가의 동작을 위한 방법의 흐름도인 도 4와 관련하여 볼 수 있다. 도 4에 도시된 바와 같이, 방법(300)은 시동 자체 시험(POST) BIOS 개시에 응답하여 시작될 수 있다. 먼저, 보안 파티션이 미리 셋업되어 있는지 여부가 판정될 수 있다(다이아몬드 320). 만일 그렇지 않으면, 제어는 블록 330으로 진행하고 여기서 보안 파티션이 셋업되고 구성될 수 있다. 더 구체적으로, 다양한 위치로부터 정보를 포함하는 원하는 정보가 보안 파티션 내에 저장될 수 있다. 예를 들어, 보편성의 손실 없이, BIOS는 임의의 위치로부터 파티션 내에 데이터를 푸시할 수 있다. 어느 정보가 저장되는지의 판정은 소정의 신뢰 메커니즘에 기초하여 BIOS까지 도달할 수 있다. 예를 들어, 보안 서비스 파티션은 보안 프로세서간 관리 인터페이스(PMI)-KCS/블록 전송(BT) 통신 경로를 경유하여 베이스보드 관리 제어기(BMC)로부터 BIOS로 로딩될 수 있다. 게다가, 보안 파티션의 구성을 실행하기 위해, 보안 파티션을 위한 기준 및 한계 레지스터가 이에 따라 설정될 수 있다. 이들 레지스터는 PCH 내의 저장 장치 제어기 내에 위치되거나 액세스 가능할 수 있다. 예를 들어, 기준 레지스터는 보안 파티션의 시작에 대응하는 위치(호스트에 자유롭게 액세스 가능한 비휘발성 저장 장치의 세그먼트의 상부일 수 있음)에 설정될 수 있다. 이어서, 한계 레지스터는 보안 파티션의 상부 종점에 설정될 수 있다. 전술된 바와 같이, 다양한 동작 중에, 이들 기준 및 한계 레지스터는 SMM 동작 중에 재구성될 수 있다.
도 4를 여전히 참조하면, 제어는 블록 340으로 진행하고, 여기서 BIOS는 SMI 이벤트 중에 보안 저장 파티션을 사용할 수 있다. 본 발명의 범주는 이 관점에 한정되는 것은 아니지만, SMM은 부가의 SMM 드라이버/핸들러/기능을 저장하기 위해 이 저장 장치를 사용할 수 있고, 통합 확장성 펌웨어 인터페이스(UEFI)(UEFI) 사전 초기화(PI) SMM 드라이버 실행(EXE) 디자인에 대해, 여기서 각각의 SMM 핸들러는 이 저장 장치로부터 '로딩'될 수 있는 휴대용 실행 가능 및 공통 객체 파일 포맷(PE/COFF) 실행 가능 이미지이다. 또한, SMM 드라이버는 에러 로그를 저장하기 위해 이 영역을 사용할 수 있고, 이들은 PCI 및 메모리 단일 비트 에러(SBE) 및 멀티-비트 에러(MBE)를 포함할 수 있다. 이 영역은 또한 UEFI PI 펌웨어 볼륨과 같은 풀 시스템 BIOS 업데이트를 저장할 수 있고, 높은 이용 가능성 서버에 대해, 리셋의 수는 제한되고, 따라서 일련의 BIOS 업데이트는 호스트로부터 SMM 드라이버에 포스팅될 수 있고 다음 리셋을 가로질러 애플리케이션을 위한 SMM 보안 저장 장치에 대기/저장될 수 있다. 영역은 또한 어드밴스드 구성 및 전력 인터페이스(ACPI) 시스템 상태 S5 상에 BIOS에 의해 저장되고 플랫폼 구성이 '변경되지 않을' 때 S3 시작 또는 연속적인 S4/S5에서 다시 재생되거나 재프로그램되는 칩셋 설정을 또한 포함할 수 있다. 영역은 또한 SMBIOS 및 ACPI 테이블을 저장하는데 사용될 수 있어, '갭' 중에 비신뢰 제 3 자 드라이버/로더가 실행될 때, 테이블이 보호될 수 있고 그리고/또는 Intel™ 신뢰 실행 기술(TXT) SENTER 이벤트에 의해 개시되는 바와 같은 신뢰된 환경이 개시될 때, 테이블은 BIOS SMM에 의해 신뢰된 환경을 위한 메모리 내에 복제될 수 있다. 선택적으로, BIOS는 SMI-대-SMI 기초로 보안 파티션을 호스트에 개방된 상태로 유지할 수 있다. 즉, 몇몇 사용 모델에서, 보안 파티션은 하나의 SMM 모드의 종료시에 개방 상태로 유지될 수 있다. 그러나, 이러한 구현예에서, 주기적인 SMM 모드가 구현될 수 있어, 다음의 SMM에서 보안 파티션은 비신뢰된 에이전트에 의한 자유로운 액세스를 방지하기 위해 잠금될 수 있다. 도 4를 여전히 참조하면, 마지막으로 제어는 블록 360으로 진행하여, 여기서 OS가 부팅될 수 있다.
이러한 구성 동작 후에, 다음 SMI 신호에 대해, BIOS SMM 핸들러가 호출될 것이고 모든 코어는 SMM 랑데부(rendezvous)에 진입할 수 있다. 이제 도 5를 참조하면, 본 발명의 실시예에 따른 보안 파티션을 사용하기 위한 방법의 흐름도가 도시되어 있다. 도 5에 도시된 바와 같이, 방법(400)은 SMM 핸들러가 호출될 때 시작할 수 있다(블록 410). 제어는 이어서 블록 420으로 진행하고, 여기서 BIOS 핸들러가 보안 파티션을 사용할 수 있다. 예를 들어, 고속으로 다양한 동작을 구현하기 위해, 이 고속 메모리는 BIOS 이미지의 부분을 실행하고 또는 패스워드 등과 같은 보안 정보에 액세스하도록 액세스될 수 있다.
보안 파티션의 이러한 사용 후에, 제어는 다이아몬드 430으로 진행하고, 여기서 보안 파티션이 호스트에 개방 상태로 유지될 수 있는지 여부가 판정될 수 있다. 만약 그렇다면, 블록 440에서 도시된 것처럼, 파티션은 호스트에 가시화 상태로 유지될 수 있다. 만약 그렇지 않다면, 제어는 블록 450으로 진행하고, 여기서 보안 파티션이 잠금될 수 있다. 예를 들어, 보안 파티션이 잠금됨을 나타내기 위해 비휘발성 저장 장치와 연관된 저장 장치 제어기의 제어 레지스터에 존재하는 플래그가 설정될 수도 있다. 따라서, 비휘발성 저장 장치의 이 부분은 호스트 액세스 또는 심지어 뷰(view)에 대해 가시적이다.
양 블록 440 및 450으로부터, 제어는 블록 460으로 진행하고, 여기서 SMI(EOS) 지시기의 종점이 설정될 수 있고, 이에 따라 제어는 블록 470으로 진행하고, 여기서 BIOS SMM 핸들러가 OS로 제어를 복귀시킬 수 있다. 다른 실시예에서, OS 제어로 복귀하는 대신에, 제어는 시스템의 다른 펌웨어와 같은 다른 시스템 소프트웨어로 복귀할 수 있다. 도 5의 실시예에서 이 특정 구현예가 도시되어 있지만, 본 발명의 범주는 이 관점에 한정되지 않는다는 것이 이해된다.
전술된 바와 같이, 이 보안 파티션은 호스트 동작 모드 중에 액세스 또는 심지어 뷰잉으로부터 보호될 수 있다. 이제 도 6을 참조하면, 본 발명의 실시예에 따른 보안 파티션으로의 액세스 요청을 취급하기 위한 방법의 흐름도가 도시된다. 도 6에 도시된 바와 같이, 방법(500)은 실행 시간 흐름의 실행 중에 시작될 수 있다. 이 흐름 중에, 블록 판독/기록 요청은 비휘발성 호스트 메모리의 상부 위에 있는 고속 비휘발성 저장 장치 내의 위치에 대해 수신될 수 있다(블록 520). 다음, 시스템이 보안 모드, 예를 들어 SMM 모드에 있는지 여부가 판정될 수 있다(다이아몬드 530). 전술된 바와 같이, 이 판정은 PCH 내에 존재하는 SMM 플래그를 참조하여 이루어질 수 있다. 시스템이 보안 모드에 있지 않으면, 제어는 블록 535로 진행하고, 여기서 요청은 이용 불가능한 것으로서 또는 누락 저장 위치로 지향된 것으로서 거절될 수 있다.
대신에, 시스템이 보안 모드에 있는 것으로 판정되면, 제어는 다이아몬드 530으로부터 다이아몬드 540으로 진행하여, 여기서 기준 및 한계 레지스터를 참조하여 결정된 바와 같이, 요청이 보안 파티션 범위 내에 있는지 여부가 판정될 수 있다. 만일 그렇지 않으면, 제어는 전술된 블록 535로 재차 진행된다. 다르게는, 유효 요청이 보안 파티션 내에 있으면, 제어는 다이아몬드 550으로 진행한다. 여기서 요청이 판독 요청인지 여부가 판정될 수 있다. 만일 그러하면, 데이터가 보안 파티션 내에 있는 동안 암호화되어 있으면, 판독 요청은 보안 파티션 내의 위치로부터 데이터에 액세스하고 데이터를 복호화함으로써 완성될 수 있다. 즉, 다양한 구현예에서, 보안 파티션 내에 저장된 정보의 추가의 보호를 제공하기 위해, 정보의 암호화가 발생할 수 있다.
다르게는, 요청이 기록 요청이면, 제어는 블록 560으로 진행하고 여기서 데이터가 보안 파티션 내에 저장될 수 있다. 재차, 구현이 암호화를 제공하면, 저장 장치 제어기는 보안 파티션 내의 그 저장에 앞서 데이터를 암호화할 수 있다. 이 특정 구현예가 도 6에 도시되어 있지만, 본 발명의 범주는 이 관점에서 한정되지 않는다는 것이 이해된다.
실시예는 다수의 상이한 시스템 유형으로 구현될 수 있다. 이제 도 7을 참조하면, 본 발명의 실시예에 따른 시스템의 블록 다이어그램이 도시되어 있다. 도 7에 도시된 바와 같이, 멀티프로세서 시스템(600)은 점대점 상호 접속 시스템이고, 점대점 상호 접속(650)을 경유하여 결합된 제 1 프로세서(670) 및 제 2 프로세서(680)를 포함한다. 도 7에 도시된 바와 같이, 각각의 프로세서(670, 680)는 제 1 및 제 2 프로세서 코어[즉, 프로세서 코어(674a, 674b) 및 프로세서 코어(684a, 684b)]를 포함하는 멀티코어 프로세서일 수 있지만, 잠재적으로는 다수의 더 많은 코어가 프로세서 내에 존재할 수 있다.
도 7을 여전히 참조하면, 제 1 프로세서(670)는 메모리 제어기 허브(MCH)(672) 및 점대점(P-P) 인터페이스(676, 678)를 추가로 포함한다. 유사하게, 제 2 프로세서(680)는 MCH(682) 및 P-P 인터페이스(686, 688)를 포함한다. 도 7에 도시된 바와 같이, MCH(672, 682)는 프로세서를 각각의 메모리, 즉 메모리(632) 및 메모리(634)에 결합하고, 이 메모리들은 각각의 프로세서에 국부적으로 부착된 시스템 메모리(예를 들어, DRAM)의 부분일 수 있다. 제 1 프로세서(670) 및 제 2 프로세서(680)는 P-P 상호 접속(652, 654)을 경유하여 칩셋(690)에 각각 결합될 수 있다. 도 7에 도시된 바와 같이, 칩셋(690)은 P-P 인터페이스(694, 698)를 포함한다.
더욱이, 칩셋(690)은 P-P 상호 접속(639)에 의해 고성능 그래픽 엔진(638)과 칩셋(690)을 결합하기 위한 인터페이스(692)를 포함한다. 게다가, 칩셋(690)은 본 발명의 실시예에 따라 하나 이상의 보안 또는 은닉 파티션을 포함할 수 있는 고속 비휘발성 저장 장치일 수 있는 저장 장치(619)와 인터페이스하기 위한 저장 장치 제어기일 수 있는 인터페이스(695)를 포함할 수 있다. 이어서, 칩셋(690)은 인터페이스(696)를 경유하여 제 1 버스(616)에 결합될 수 있다. 도 7에 도시된 바와 같이, 다양한 입출력(I/O) 디바이스(614)는 제 1 버스(616)를 제 2 버스(620)에 결합하는 버스 브리지(618)와 함께 제 1 버스(616)에 결합될 수 있다. 다양한 디바이스는 예를 들어, 일 실시예에서 키보드/마우스(622), 통신 디바이스(626) 및 코드(630)를 포함할 수 있는 디스크 드라이브 또는 다른 대용량 저장 디바이스와 같은 데이터 저장 유닛(628)을 포함하는 제 2 버스(620)에 결합될 수 있다. 또한, 오디오 I/O(624)가 제 2 버스(620)에 결합될 수 있다.
전술된 바와 같이, 실시예는 휴대폰과 같은 모바일 디바이스를 포함하는 다른 유형의 시스템 내에 합체될 수 있다. 이제, 도 8을 참조하면, 본 발명의 다른 실시예에 따른 시스템의 블록 다이어그램이 도시된다. 도 8에 도시된 바와 같이, 시스템(700)은 모바일 디바이스일 수 있고 다양한 구성 요소를 포함할 수 있다. 도 8의 고레벨 도면에 도시된 바와 같이, 디바이스의 중앙 프로세싱 유닛일 수 있는 응용 프로세서(710)가 저장 장치(715)를 포함하는 다양한 구성 요소와 통신한다. 저장 장치(715)는 다른 실시예에서, 프로그램 및 데이터 저장 장치부를 포함할 수 있고, 본 발명의 실시예에 따라 보안 파티션 내의 보안 저장을 제공할 수 있다. 응용 프로세서(710)는 다양한 실시예에서 디스플레이와, 실행될 때 그 자체로 디스플레이 상에 나타날 수 있는 터치 키패드와 같은 하나 이상의 입력 디바이스를 포함할 수 있다.
응용 프로세서(710)는 출력을 위한 음성 및 데이터 통신과 같은 신호를 조절할 뿐만 아니라 수신 전화 및 다른 신호를 조절하는 기저대역 프로세서(730)에 또한 결합될 수 있다. 도시된 바와 같이, 기저대역 프로세서(730)는 수신 및 전송 기능의 모두를 가능하게 할 수 있는 송수신기(740)에 결합된다. 이어서, 송수신기(740)는 무선 광대역 통신망(예를 들어, 3G 또는 4G 네트워크) 및/또는 무선 근거리 통신망(미국 전기 전자 학회 802.11 표준에 따른 BLUETOOTH™ 또는 소위 WI-FI™ 네트워크)을 경유하는 것과 같은 하나 이상의 통신 프로토콜을 경유하여 음성 및 데이터 신호를 전송하고 수신하는 것이 가능한 임의의 유형의 안테나일 수 있는 안테나(750)와 통신할 수 있다. 도시된 바와 같이, 시스템(700)은 모바일 환경에서 동작이 가능하게 하기 위해 재충전 가능 배터리를 갖는 재충전 가능 전원(725)을 추가로 포함할 수 있다. 도 8의 실시예의 이 특정 구현예에 도시된 바와 같이, 본 발명의 범주는 이 관점에 한정되는 것은 아니다.
실시예는 코드로 구현될 수 있고, 인스트럭션을 수행하도록 시스템을 프로그램하는데 사용될 수 있는 인스트럭션이 그 위에 저장되어 있는 저장 매체 상에 저장될 수 있다. 저장 매체는 이들에 한정되는 것은 아니지만, 플로피 디스크, 광학 디스크, 고체 상태 드라이브(SSD), 콤팩트 디스크 판독 전용 메모리(CD-ROM), 콤팩트 디스크 재기록 가능(CD-RW) 및 자기 광학 디스크를 포함하는 임의의 유형의 디스크와, 판독 전용 메모리(ROM), 동적 랜덤 액세스 메모리(DRAM), 정적 랜덤 액세스 메모리(SRAM)와 같은 랜덤 액세스 메모리(RAM), 소거 가능 프로그램 가능 판독 전용 메모리(EPROM), 플래시 메모리, 전기 소거 가능 프로그램 가능 판독 전용 메모리(EEPROM), 자기 또는 광학 디스크 또는 전자 인스트럭션을 저장하기에 적합한 임의의 다른 유형의 매체를 포함할 수 있다.
저장 장치 제어기는 직렬 어드밴스드 기술 부착(SATA) 제어기와 함께 PCH에 구현될 수 있기 때문에, 실시예는 예를 들어 디스크 드라이브와 같은 대용량 저장 장치에 암호화된 방식으로 정보의 적어도 일부를 지속하기 위해 암호화 하드 드라이브 인터페이스와 같은 다른 출현하는 기술과 함께 사용될 수 있다.
본 발명이 제한된 수의 실시예와 관련하여 설명되었지만, 당 기술 분야의 숙련자들은 그로부터 수많은 수정 및 변형을 이해할 수 있을 것이다. 첨부된 청구범위는 본 발명의 진정한 사상 및 범주 내에 있는 모든 이러한 수정 및 변형을 커버하는 것으로 의도된다.
100: 시스템 110: 중앙 프로세싱 유닛(CPU)
115: 링크 120: PCH
125: 직렬 주변 장치 인터페이스(SPI) 128: 저장 장치 제어기
140: NV 저장 장치 614: I/O 디바이스
632: 메모리 670: 프로세서
690: 칩셋 710: 응용 프로세서
715: 저장 장치 725: 재충전 가능 전원

Claims (20)

  1. 인스트럭션을 실행하는 프로세서와,
    제 1 링크를 통해 상기 프로세서에 결합되는 주변 장치 제어기를 포함하되,
    상기 주변 장치 제어기는 상기 주변 장치 제어기에 결합된 비휘발성 저장 장치를 제어하기 위한 저장 장치 제어기를 포함하고,
    상기 저장 장치 제어기는,
    제 1 동작 모드에서, 보안 모드에서 상기 비휘발성 저장 장치의 보안 파티션으로의 액세스를 가능하게 하고 보안 모드 외에서 상기 보안 파티션의 가시화(visibility)를 방지하고,
    제 2 동작 모드에서, 상기 보안 모드의 제 1 예(first instance) 이전에 상기 보안 파티션으로의 액세스를 방지하고, 상기 보안 모드의 상기 제 1 예에서 상기 보안 파티션으로의 액세스를 가능하게 하고, 상기 보안 모드의 상기 제 1 예의 완성 이후에 상기 보안 파티션으로의 액세스를 가능하게 하는 것을 계속하는
    장치.
  2. 제 1 항에 있어서,
    상기 주변 장치 제어기는 기본 입출력 시스템(BIOS)을 저장하는 플래시 메모리와 인터페이스하기 위한 플래시 인터페이스를 더 포함하는
    장치.
  3. 제 2 항에 있어서,
    상기 BIOS의 적어도 일부는 시스템 동작 중에 상기 보안 파티션 내에 저장되는
    장치.
  4. 제 1 항에 있어서,
    적어도 하나의 시스템 패스워드가 상기 보안 파티션 내에 저장되는
    장치.
  5. 제 1 항에 있어서,
    상기 프로세서는 보안 모드 내로의 진입을 나타내기 위해 상기 주변 장치 제어기로 시스템 관리 인터럽트(SMI) 신호를 송신하고, 상기 저장 장치 제어기는 상기 SMI 신호에 응답하여 상기 보안 파티션을 개방하는
    장치.
  6. 제 1 항에 있어서,
    상기 저장 장치 제어기는 보안 파티션 내에 저장하기 전에 데이터를 암호화하는
    장치.
  7. 제 1 항에 있어서,
    상기 비휘발성 저장 장치는 비-보안 모드에서 실행된 애플리케이션에 대한 애플리케이션 정보로의 고속 캐시 액세스를 제공하기 위한 개방 파티션을 포함하는
    장치.
  8. 제 2 항에 있어서,
    상기 BIOS는, 상기 보안 파티션을 생성하고, 상기 저장 장치 제어기의 복수의 경계 레지스터 내에 상기 보안 파티션을 위한 영역을 설정하고, 상기 생성 후에 상기 보안 파티션을 잠그는
    장치.
  9. 제 8 항에 있어서,
    상기 BIOS는, 비-보안 모드에서 상기 보안 파티션의 부분(portion)으로의 판독 액세스를 가능하게 하고, 상기 비-보안 모드에서 상기 부분으로의 기록 액세스를 방지하는
    장치.
  10. 시스템의 신뢰 모드의 신뢰 코드를 사용하여, 상기 시스템의 비휘발성 저장 장치의 보안 파티션을 구성하는 단계 - 상기 비휘발성 저장 장치는 시스템의 펌웨어 저장 장치로부터 분리됨 - 와,
    제 1 동작 모드에서,
    상기 신뢰 모드의 제 1 예로의 진입을 나타내는 제 1 인터럽트 신호에 응답하여, 상기 보안 파티션으로의 액세스를 가능화하는 단계와,
    상기 신뢰 모드 중에 상기 보안 파티션에 액세스하고 상기 보안 파티션에 저장된 정보를 사용하여 적어도 하나의 동작을 수행하는 단계와,
    상기 신뢰 모드의 상기 제 1 예 이후의 제 1 비신뢰 모드 동안 상기 보안 파티션을 잠그는 단계와,
    제 2 동작 모드에서,
    상기 신뢰 모드의 제 2 예로의 진입을 나타내는 제 2 인터럽트 신호에 응답하여, 상기 보안 파티션으로의 액세스를 가능하게 하는 단계와,
    상기 신뢰 모드의 상기 제 2 예 이후의 제 2 비신뢰 모드 동안 상기 보안 파티션을 가시화 상태로 유지할 수 있게 하는 단계를 포함하는
    방법.
  11. 제 10 항에 있어서,
    상기 방법은,
    상기 제 1 동작 모드에서, 상기 비휘발성 저장 장치에 결합된 저장 장치 제어기의 구성 레지스터를 통해 비신뢰 모드에서 은닉된 상태로 상기 보안 파티션을 유지하는 단계를 더 포함하는
    방법.
  12. 삭제
  13. 제 10 항에 있어서,
    상기 방법은,
    상기 제 2 동작 모드에서, 상기 제 2 인터럽트 신호 이후의 다음 인터럽트 신호에 대해 상기 보안 파티션을 잠금하여 비신뢰 코드가 상기 보안 파티션에 액세스되는 것을 방지하는 단계를 더 포함하는
    방법.
  14. 제 10 항에 있어서,
    상기 방법은,
    상기 제 1 동작 모드에서, 프로세서에 결합된 주변 장치 제어기의 저장 장치 제어기를 통해 비신뢰 코드가 상기 비휘발성 저장 장치의 개방 파티션에 액세스하게 하는 단계와,
    저장 장치 제어기를 통해 상기 비신뢰 코드가 상기 비휘발성 저장 장치의 보안 파티션에 액세스하는 것을 방지하는 단계를 더 포함하는
    방법.
  15. 제 14 항에 있어서,
    상기 방법은,
    상기 주변 장치 제어기에 결합된 상기 펌웨어 저장 장치 내의 펌웨어에 액세스하는 단계와,
    상기 펌웨어 저장 장치로부터보다 펌웨어로의 더 고속 액세스를 가능하게 하기 위해 상기 보안 파티션 내에 상기 펌웨어의 적어도 일부를 저장하는 단계를 더 포함하는
    방법.
  16. 인스트럭션을 포함하는 머신-판독가능한 저장 매체에 있어서,
    상기 인스트럭션은 실행될 때, 시스템으로 하여금,
    주변 장치 제어기에 결합된 비휘발성 저장 장치 내의 위치에 대한 메모리 액세스 요청을 수신하게 하고 - 상기 비휘발성 저장 장치는 애플리케이션 코드에 액세스 가능한 제 1 부분 및 상기 애플리케이션 코드에 액세스 불가능하고 은닉된 제 2 부분을 포함함 -,
    제 1 동작 모드에서, 상기 시스템이 신뢰 모드에 있는지를 판정하고, 상기 시스템이 신뢰 모드에 있으면, 상기 메모리 액세스 요청을 수행하기 위해 상기 제 2 부분에 액세스를 가능하게 하고, 상기 시스템이 신뢰 모드에 있지 않으면, 상기 제 2 부분으로의 액세스를 방지하게 하며,
    제 2 동작 모드에서, 상기 신뢰 모드의 제 1 예에서 상기 제 2 부분으로의 액세스를 가능하게 하고, 상기 신뢰 모드의 상기 제 1 예의 완성 이후에 상기 제 2 부분으로의 액세스를 가능하게 하는 것을 계속하는
    머신-판독가능한 저장 매체.
  17. 제 16 항에 있어서,
    상기 머신-판독가능한 저장 매체는,
    상기 시스템이 신뢰 모드에 있지 않으면, 상기 시스템으로 하여금, 상기 제 1 동작 모드에서 상기 비휘발성 저장 장치가 이용 불가능하다는 것을 상기 메모리 액세스 요청의 요청자에게 나타낼 수 있게 하는 인스트럭션을 더 포함하는
    머신-판독가능한 저장 매체.
  18. 제 16 항에 있어서,
    상기 머신-판독가능한 저장 매체는,
    상기 메모리 액세스 요청이 기록 요청이면, 상기 시스템으로 하여금, 데이터를 암호화하고 상기 제 2 부분 내에 상기 메모리 액세스 요청의 데이터를 저장할 수 있게 하는 인스트럭션을 더 포함하는
    머신-판독가능한 저장 매체.
  19. 제 18 항에 있어서,
    상기 머신-판독가능한 저장 매체는,
    메모리 액세스 요청이 판독 요청이면, 상기 시스템으로 하여금, 상기 메모리 액세스 요청에 응답하여 상기 제 2 부분으로부터 얻어진 데이터를 복호화할 수 있게 하는 인스트럭션을 더 포함하는
    머신-판독가능한 저장 매체.
  20. 제 16 항에 있어서,
    상기 머신-판독가능한 저장 매체는,
    상기 제 2 부분으로의 액세스를 방지하는 것은 상기 메모리 액세스 요청이 누락 저장 위치에 대한 것임을 나타내는 메지시를 상기 메모리 액세스 요청의 요청자에게 송신하는 것을 포함하는
    머신-판독가능한 저장 매체.
KR1020137005727A 2010-08-06 2011-08-03 보안 환경에서의 고속 비휘발성 저장 장치의 제공 KR101518207B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/852,303 US8539245B2 (en) 2010-08-06 2010-08-06 Apparatus and method for accessing a secure partition in non-volatile storage by a host system enabled after the system exits a first instance of a secure mode
US12/852,303 2010-08-06
PCT/US2011/046380 WO2012018889A2 (en) 2010-08-06 2011-08-03 Providing fast non-volatile storage in a secure environment

Publications (2)

Publication Number Publication Date
KR20130042599A KR20130042599A (ko) 2013-04-26
KR101518207B1 true KR101518207B1 (ko) 2015-05-11

Family

ID=45556970

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137005727A KR101518207B1 (ko) 2010-08-06 2011-08-03 보안 환경에서의 고속 비휘발성 저장 장치의 제공

Country Status (8)

Country Link
US (1) US8539245B2 (ko)
EP (1) EP2601588B1 (ko)
JP (1) JP5705983B2 (ko)
KR (1) KR101518207B1 (ko)
CN (1) CN103119602B (ko)
AU (1) AU2011285762B2 (ko)
TW (1) TWI467383B (ko)
WO (1) WO2012018889A2 (ko)

Families Citing this family (110)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009019982A1 (de) * 2009-05-05 2010-11-18 Giesecke & Devrient Gmbh Verfahren zum Zugriff auf einen tragbaren Speicherdatenträger mit Zusatzmodul und tragbarer Speicherdatenträger
US8989705B1 (en) 2009-06-18 2015-03-24 Sprint Communications Company L.P. Secure placement of centralized media controller application in mobile access terminal
JP5506568B2 (ja) * 2010-06-25 2014-05-28 キヤノン株式会社 データ処理装置、データ処理装置のデータ処理方法、プログラム
CN102479302A (zh) * 2010-11-24 2012-05-30 鸿富锦精密工业(深圳)有限公司 密码保护系统及方法
US8843769B2 (en) * 2011-04-18 2014-09-23 Texas Instruments Incorporated Microcontroller with embedded secure feature
US8874935B2 (en) 2011-08-30 2014-10-28 Microsoft Corporation Sector map-based rapid data encryption policy compliance
US9143529B2 (en) 2011-10-11 2015-09-22 Citrix Systems, Inc. Modifying pre-existing mobile applications to implement enterprise security policies
US9043480B2 (en) 2011-10-11 2015-05-26 Citrix Systems, Inc. Policy-based application management
US8806570B2 (en) 2011-10-11 2014-08-12 Citrix Systems, Inc. Policy-based application management
US9280377B2 (en) 2013-03-29 2016-03-08 Citrix Systems, Inc. Application with multiple operation modes
US9215225B2 (en) 2013-03-29 2015-12-15 Citrix Systems, Inc. Mobile device locking with context
US20140032733A1 (en) 2011-10-11 2014-01-30 Citrix Systems, Inc. Policy-Based Application Management
US8892858B2 (en) 2011-12-29 2014-11-18 Intel Corporation Methods and apparatus for trusted boot optimization
US9152825B2 (en) * 2012-02-29 2015-10-06 Apple Inc. Using storage controller bus interfaces to secure data transfer between storage devices and hosts
US8712407B1 (en) 2012-04-05 2014-04-29 Sprint Communications Company L.P. Multiple secure elements in mobile electronic device with near field communication capability
US9027102B2 (en) 2012-05-11 2015-05-05 Sprint Communications Company L.P. Web server bypass of backend process on near field communications and secure element chips
US8862181B1 (en) 2012-05-29 2014-10-14 Sprint Communications Company L.P. Electronic purchase transaction trust infrastructure
US9282898B2 (en) 2012-06-25 2016-03-15 Sprint Communications Company L.P. End-to-end trusted communications infrastructure
US9066230B1 (en) 2012-06-27 2015-06-23 Sprint Communications Company L.P. Trusted policy and charging enforcement function
US8649770B1 (en) 2012-07-02 2014-02-11 Sprint Communications Company, L.P. Extended trusted security zone radio modem
US8667607B2 (en) * 2012-07-24 2014-03-04 Sprint Communications Company L.P. Trusted security zone access to peripheral devices
US8863252B1 (en) 2012-07-25 2014-10-14 Sprint Communications Company L.P. Trusted access to third party applications systems and methods
US9183412B2 (en) 2012-08-10 2015-11-10 Sprint Communications Company L.P. Systems and methods for provisioning and using multiple trusted security zones on an electronic device
US9215180B1 (en) 2012-08-25 2015-12-15 Sprint Communications Company L.P. File retrieval in real-time brokering of digital content
US8954588B1 (en) 2012-08-25 2015-02-10 Sprint Communications Company L.P. Reservations in real-time brokering of digital content delivery
US9015068B1 (en) 2012-08-25 2015-04-21 Sprint Communications Company L.P. Framework for real-time brokering of digital content delivery
US8752140B1 (en) 2012-09-11 2014-06-10 Sprint Communications Company L.P. System and methods for trusted internet domain networking
US20140108558A1 (en) 2012-10-12 2014-04-17 Citrix Systems, Inc. Application Management Framework for Secure Data Sharing in an Orchestration Framework for Connected Devices
US9516022B2 (en) 2012-10-14 2016-12-06 Getgo, Inc. Automated meeting room
US8910239B2 (en) 2012-10-15 2014-12-09 Citrix Systems, Inc. Providing virtualized private network tunnels
US20140109171A1 (en) 2012-10-15 2014-04-17 Citrix Systems, Inc. Providing Virtualized Private Network tunnels
US20140109176A1 (en) 2012-10-15 2014-04-17 Citrix Systems, Inc. Configuring and providing profiles that manage execution of mobile applications
US9971585B2 (en) 2012-10-16 2018-05-15 Citrix Systems, Inc. Wrapping unmanaged applications on a mobile device
US20140108793A1 (en) 2012-10-16 2014-04-17 Citrix Systems, Inc. Controlling mobile device access to secure data
US20140109072A1 (en) 2012-10-16 2014-04-17 Citrix Systems, Inc. Application wrapping for application management framework
US9606774B2 (en) 2012-10-16 2017-03-28 Citrix Systems, Inc. Wrapping an application with field-programmable business logic
US9129071B2 (en) * 2012-10-24 2015-09-08 Texas Instruments Incorporated Coherence controller slot architecture allowing zero latency write commit
US9161227B1 (en) 2013-02-07 2015-10-13 Sprint Communications Company L.P. Trusted signaling in long term evolution (LTE) 4G wireless communication
US9578664B1 (en) 2013-02-07 2017-02-21 Sprint Communications Company L.P. Trusted signaling in 3GPP interfaces in a network function virtualization wireless communication system
US9104840B1 (en) 2013-03-05 2015-08-11 Sprint Communications Company L.P. Trusted security zone watermark
US8881977B1 (en) 2013-03-13 2014-11-11 Sprint Communications Company L.P. Point-of-sale and automated teller machine transactions using trusted mobile access device
US9613208B1 (en) 2013-03-13 2017-04-04 Sprint Communications Company L.P. Trusted security zone enhanced with trusted hardware drivers
US9049013B2 (en) 2013-03-14 2015-06-02 Sprint Communications Company L.P. Trusted security zone containers for the protection and confidentiality of trusted service manager data
US9049186B1 (en) 2013-03-14 2015-06-02 Sprint Communications Company L.P. Trusted security zone re-provisioning and re-use capability for refurbished mobile devices
US9191388B1 (en) 2013-03-15 2015-11-17 Sprint Communications Company L.P. Trusted security zone communication addressing on an electronic device
US9374363B1 (en) 2013-03-15 2016-06-21 Sprint Communications Company L.P. Restricting access of a portable communication device to confidential data or applications via a remote network based on event triggers generated by the portable communication device
US8984592B1 (en) 2013-03-15 2015-03-17 Sprint Communications Company L.P. Enablement of a trusted security zone authentication for remote mobile device management systems and methods
US9021585B1 (en) 2013-03-15 2015-04-28 Sprint Communications Company L.P. JTAG fuse vulnerability determination and protection using a trusted execution environment
US9355223B2 (en) 2013-03-29 2016-05-31 Citrix Systems, Inc. Providing a managed browser
US9369449B2 (en) 2013-03-29 2016-06-14 Citrix Systems, Inc. Providing an enterprise application store
US9985850B2 (en) 2013-03-29 2018-05-29 Citrix Systems, Inc. Providing mobile device management functionalities
US20140297922A1 (en) * 2013-03-29 2014-10-02 Nitin V. Sarangdhar Method and apparatus for managing serial peripheral interface (spi) flash
US8813179B1 (en) 2013-03-29 2014-08-19 Citrix Systems, Inc. Providing mobile device management functionalities
US10284627B2 (en) 2013-03-29 2019-05-07 Citrix Systems, Inc. Data management for an application with multiple operation modes
US8850049B1 (en) 2013-03-29 2014-09-30 Citrix Systems, Inc. Providing mobile device management functionalities for a managed browser
US20140297840A1 (en) 2013-03-29 2014-10-02 Citrix Systems, Inc. Providing mobile device management functionalities
US9454723B1 (en) 2013-04-04 2016-09-27 Sprint Communications Company L.P. Radio frequency identity (RFID) chip electrically and communicatively coupled to motherboard of mobile communication device
US9171243B1 (en) 2013-04-04 2015-10-27 Sprint Communications Company L.P. System for managing a digest of biographical information stored in a radio frequency identity chip coupled to a mobile communication device
US9324016B1 (en) 2013-04-04 2016-04-26 Sprint Communications Company L.P. Digest of biographical information for an electronic device with static and dynamic portions
US9838869B1 (en) 2013-04-10 2017-12-05 Sprint Communications Company L.P. Delivering digital content to a mobile device via a digital rights clearing house
US9443088B1 (en) 2013-04-15 2016-09-13 Sprint Communications Company L.P. Protection for multimedia files pre-downloaded to a mobile device
US9069952B1 (en) 2013-05-20 2015-06-30 Sprint Communications Company L.P. Method for enabling hardware assisted operating system region for safe execution of untrusted code using trusted transitional memory
US20140344570A1 (en) 2013-05-20 2014-11-20 Microsoft Corporation Data Protection For Organizations On Computing Devices
US9208105B2 (en) 2013-05-30 2015-12-08 Dell Products, Lp System and method for intercept of UEFI block I/O protocol services for BIOS based hard drive encryption support
US9560519B1 (en) 2013-06-06 2017-01-31 Sprint Communications Company L.P. Mobile communication device profound identity brokering framework
US10430608B2 (en) * 2013-06-14 2019-10-01 Salesforce.Com, Inc. Systems and methods of automated compliance with data privacy laws
US9183606B1 (en) 2013-07-10 2015-11-10 Sprint Communications Company L.P. Trusted processing location within a graphics processing unit
US9208339B1 (en) 2013-08-12 2015-12-08 Sprint Communications Company L.P. Verifying Applications in Virtual Environments Using a Trusted Security Zone
JP6129702B2 (ja) * 2013-09-24 2017-05-17 株式会社東芝 情報処理装置、情報処理システム、プログラム
US9185626B1 (en) 2013-10-29 2015-11-10 Sprint Communications Company L.P. Secure peer-to-peer call forking facilitated by trusted 3rd party voice server provisioning
US9191522B1 (en) 2013-11-08 2015-11-17 Sprint Communications Company L.P. Billing varied service based on tier
US9161325B1 (en) 2013-11-20 2015-10-13 Sprint Communications Company L.P. Subscriber identity module virtualization
JP5963313B2 (ja) * 2013-12-19 2016-08-03 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 情報処理装置、方法、及び、プログラム
US9118655B1 (en) 2014-01-24 2015-08-25 Sprint Communications Company L.P. Trusted display and transmission of digital ticket documentation
US10615967B2 (en) * 2014-03-20 2020-04-07 Microsoft Technology Licensing, Llc Rapid data protection for storage devices
US9226145B1 (en) 2014-03-28 2015-12-29 Sprint Communications Company L.P. Verification of mobile device integrity during activation
US9230085B1 (en) 2014-07-29 2016-01-05 Sprint Communications Company L.P. Network based temporary trust extension to a remote or mobile device enabled via specialized cloud services
US10037286B2 (en) 2014-08-26 2018-07-31 Red Hat, Inc. Private partition with hardware unlocking
US9825945B2 (en) 2014-09-09 2017-11-21 Microsoft Technology Licensing, Llc Preserving data protection with policy
US9853812B2 (en) 2014-09-17 2017-12-26 Microsoft Technology Licensing, Llc Secure key management for roaming protected content
US9900295B2 (en) 2014-11-05 2018-02-20 Microsoft Technology Licensing, Llc Roaming content wipe actions across devices
US9779232B1 (en) 2015-01-14 2017-10-03 Sprint Communications Company L.P. Trusted code generation and verification to prevent fraud from maleficent external devices that capture data
US9838868B1 (en) 2015-01-26 2017-12-05 Sprint Communications Company L.P. Mated universal serial bus (USB) wireless dongles configured with destination addresses
KR101639059B1 (ko) * 2015-02-06 2016-07-12 주식회사 텔레칩스 저전력 데이터 보안 장치 및 이를 이용한 저전력 데이터 보안 방법
US9473945B1 (en) 2015-04-07 2016-10-18 Sprint Communications Company L.P. Infrastructure for secure short message transmission
US10474596B2 (en) 2015-06-25 2019-11-12 Intel Corporation Providing dedicated resources for a system management mode of a processor
US9853820B2 (en) 2015-06-30 2017-12-26 Microsoft Technology Licensing, Llc Intelligent deletion of revoked data
GB2540961B (en) * 2015-07-31 2019-09-18 Arm Ip Ltd Controlling configuration data storage
US20170039390A1 (en) * 2015-08-08 2017-02-09 James Alexander KING Methods and systems for privacy preserving third party extension
US9819679B1 (en) 2015-09-14 2017-11-14 Sprint Communications Company L.P. Hardware assisted provenance proof of named data networking associated to device data, addresses, services, and servers
US9900325B2 (en) 2015-10-09 2018-02-20 Microsoft Technology Licensing, Llc Passive encryption of organization data
KR102429906B1 (ko) * 2015-10-13 2022-08-05 삼성전자주식회사 스토리지 장치, 상기 스토리지 장치와 통신하는 호스트 및 상기 스토리지 장치를 포함하는 전자 장치
US10055296B2 (en) * 2015-10-30 2018-08-21 Quanta Computer Inc. System and method for selective BIOS restoration
US10282719B1 (en) 2015-11-12 2019-05-07 Sprint Communications Company L.P. Secure and trusted device-based billing and charging process using privilege for network proxy authentication and audit
US9817992B1 (en) 2015-11-20 2017-11-14 Sprint Communications Company Lp. System and method for secure USIM wireless network access
GB2545250B (en) * 2015-12-10 2019-06-12 Advanced Risc Mach Ltd Devices and method of operation thereof
TWI604304B (zh) 2016-03-28 2017-11-01 緯創資通股份有限公司 電子裝置及其檢測方法
US11416421B2 (en) * 2016-07-19 2022-08-16 Cypress Semiconductor Corporation Context-based protection system
US10678909B2 (en) * 2017-04-21 2020-06-09 Vmware, Inc. Securely supporting a global view of system memory in a multi-processor system
US10706143B2 (en) * 2017-05-19 2020-07-07 Intel Corporation Techniques for secure-chip memory for trusted execution environments
US10499249B1 (en) 2017-07-11 2019-12-03 Sprint Communications Company L.P. Data link layer trust signaling in communication network
KR102474596B1 (ko) * 2017-12-06 2022-12-05 삼성전자주식회사 반도체 장치
GB201806465D0 (en) 2018-04-20 2018-06-06 Nordic Semiconductor Asa Memory-access controll
GB201810653D0 (en) 2018-06-28 2018-08-15 Nordic Semiconductor Asa Secure peripheral interconnect
GB201810662D0 (en) 2018-06-28 2018-08-15 Nordic Semiconductor Asa Peripheral Access On A Secure-Aware Bus System
GB201810659D0 (en) 2018-06-28 2018-08-15 Nordic Semiconductor Asa Secure-Aware Bus System
WO2020252791A1 (zh) * 2019-06-21 2020-12-24 华为技术有限公司 一种集成芯片及数据处理方法
US11113188B2 (en) 2019-08-21 2021-09-07 Microsoft Technology Licensing, Llc Data preservation using memory aperture flush order
US11880718B2 (en) 2020-09-15 2024-01-23 Renesas Electronics Corporation System and method for generating secure partition regions in open and secure processor environments
US11461490B1 (en) 2020-09-23 2022-10-04 Cru Data Security Group, Llc Systems, methods, and devices for conditionally allowing processes to alter data on a storage device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030041248A1 (en) * 2001-05-10 2003-02-27 Weber Frederick D. External locking mechanism for personal computer memory locations

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5944821A (en) * 1996-07-11 1999-08-31 Compaq Computer Corporation Secure software registration and integrity assessment in a computer system
US6292874B1 (en) 1999-10-19 2001-09-18 Advanced Technology Materials, Inc. Memory management method and apparatus for partitioning homogeneous memory and restricting access of installed applications to predetermined memory ranges
US6848046B2 (en) 2001-05-11 2005-01-25 Intel Corporation SMM loader and execution mechanism for component software for multiple architectures
US20030212897A1 (en) * 2001-08-18 2003-11-13 Russell Dickerson Method and system for maintaining secure semiconductor device areas
US7103529B2 (en) 2001-09-27 2006-09-05 Intel Corporation Method for providing system integrity and legacy environment emulation
JP4066325B2 (ja) * 2002-06-07 2008-03-26 インターナショナル・ビジネス・マシーンズ・コーポレーション ユーザデータのバックアップ方法
GB2396713B (en) * 2002-11-18 2005-09-14 Advanced Risc Mach Ltd Apparatus and method for controlling access to a memory unit
KR101099463B1 (ko) 2002-11-18 2011-12-28 에이알엠 리미티드 보안 도메인과 비보안 도메인을 갖는 시스템 내에서 가상메모리 어드레스의 물리적 메모리 어드레스로의 매핑
AU2003278350A1 (en) * 2002-11-18 2004-06-15 Arm Limited Secure memory for protecting against malicious programs
US7082509B2 (en) 2003-02-06 2006-07-25 Intel Corporation Method and system for allocating memory during system boot to reduce operating system memory resource consumption at run-time
TWI264672B (en) * 2004-09-21 2006-10-21 Aimgene Technology Co Ltd BIOS locking device, computer system with a BIOS locking device and control method thereof
US20060156008A1 (en) 2005-01-12 2006-07-13 Microsoft Corporation Last line of defense ensuring and enforcing sufficiently valid/current code
KR100710846B1 (ko) 2006-07-21 2007-04-24 비앤비쏠루션주식회사 보조기억매체의 관리장치
US7900252B2 (en) * 2006-08-28 2011-03-01 Lenovo (Singapore) Pte. Ltd. Method and apparatus for managing shared passwords on a multi-user computer
US7689817B2 (en) 2006-11-16 2010-03-30 Intel Corporation Methods and apparatus for defeating malware
US20080147555A1 (en) 2006-12-18 2008-06-19 Daryl Carvis Cromer System and Method for Using a Hypervisor to Control Access to a Rental Computer
US7827371B2 (en) 2007-08-30 2010-11-02 Intel Corporation Method for isolating third party pre-boot firmware from trusted pre-boot firmware
US8327415B2 (en) 2008-05-30 2012-12-04 Intel Corporation Enabling byte-code based image isolation
US8495354B2 (en) * 2008-09-24 2013-07-23 Hewlett-Packard Development Company, L.P. Apparatus for determining during a power-on sequence, a value to be written to a first register in a secure area and the same value to a second register in non-secure area, which during a protected mode, the value is compared such that if it is equal, enabling writing to a memory
CN201408535Y (zh) * 2009-05-11 2010-02-17 方正科技集团苏州制造有限公司 面向可信计算密码支撑平台的可信硬盘
US8225062B2 (en) * 2009-10-26 2012-07-17 Microsoft Corporation Controlling memory visibility

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030041248A1 (en) * 2001-05-10 2003-02-27 Weber Frederick D. External locking mechanism for personal computer memory locations

Also Published As

Publication number Publication date
EP2601588A4 (en) 2017-03-01
TW201224759A (en) 2012-06-16
WO2012018889A2 (en) 2012-02-09
JP2013539106A (ja) 2013-10-17
JP5705983B2 (ja) 2015-04-22
EP2601588B1 (en) 2018-05-23
KR20130042599A (ko) 2013-04-26
CN103119602B (zh) 2016-03-16
AU2011285762B2 (en) 2016-02-04
CN103119602A (zh) 2013-05-22
US20120036347A1 (en) 2012-02-09
EP2601588A2 (en) 2013-06-12
TWI467383B (zh) 2015-01-01
WO2012018889A3 (en) 2012-04-19
AU2011285762A1 (en) 2013-03-14
US8539245B2 (en) 2013-09-17

Similar Documents

Publication Publication Date Title
KR101518207B1 (ko) 보안 환경에서의 고속 비휘발성 저장 장치의 제공
KR102376626B1 (ko) 데이터 처리 가속기의 난독화를 통한 데이터 전송
US10831934B2 (en) Management of authenticated variables
CN106605233B (zh) 使用处理器提供可信执行环境
US20120036308A1 (en) Supporting a secure readable memory region for pre-boot and secure mode operations
US10726120B2 (en) System, apparatus and method for providing locality assertion between a security processor and an enclave
CN102271153B (zh) 用于虚拟化tpm访问的系统、方法以及装置
US9870467B2 (en) Apparatus and method for implementing a forked system call in a system with a protected region
US10776524B2 (en) Secure communication channel for system management mode
US10146962B2 (en) Method and apparatus for protecting a PCI device controller from masquerade attacks by malware
WO2015048922A1 (en) Trusted boot and runtime operation
CN113268447A (zh) 计算机架构及其内的访问控制、数据交互及安全启动方法
US11770414B2 (en) Information handling systems and methods to provide a secure platform control point for cloud-native applications
WO2023283872A1 (en) System management mode runtime resiliency manager

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee