KR20120018820A - 보안 가상 머신 호스팅 프로세서 및 보안 가상 머신 설정 방법 - Google Patents

보안 가상 머신 호스팅 프로세서 및 보안 가상 머신 설정 방법 Download PDF

Info

Publication number
KR20120018820A
KR20120018820A KR1020127000969A KR20127000969A KR20120018820A KR 20120018820 A KR20120018820 A KR 20120018820A KR 1020127000969 A KR1020127000969 A KR 1020127000969A KR 20127000969 A KR20127000969 A KR 20127000969A KR 20120018820 A KR20120018820 A KR 20120018820A
Authority
KR
South Korea
Prior art keywords
virtual machine
secure virtual
processor
secure
public
Prior art date
Application number
KR1020127000969A
Other languages
English (en)
Other versions
KR101318524B1 (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 KR20120018820A publication Critical patent/KR20120018820A/ko
Application granted granted Critical
Publication of KR101318524B1 publication Critical patent/KR101318524B1/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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 가상 머신의 개선된 보안을 제공한다. 현재의 보안 프로세서의 기능들을 확장함으로써, 프로세서를 실행하는 장치 소유자 및 다른 사용자들 양측 모두로부터 컴퓨터 사용의 프라이버시가 제공되며, 이것은 임차 가능한 보안 컴퓨터에 있어 이점이 된다. 가상화가 가능한 컴퓨터를 보안화하는데 필요로되는 하드웨어 확장사항들 외에, 그러한 프로세서들의 배치를 위한 인프라 역시 제공된다. 또한, 장치의 소유자, 사용자 및 제조자 사이에 다양한 관계를 설정하기 위한 시그날링 플로우가 개시된다.

Description

보안 가상 머신 호스팅 프로세서 및 보안 가상 머신 설정 방법{SYSTEM AND METHOD FOR PROVIDING SECURE VIRTUAL MACHINES}
본 발명은 클라우드 컴퓨팅 또는 네트워크 기반 컴퓨팅 분야에 관한 것으로서, 특히 보안 가상 머신 분야에 대한 것이다.
가상 컴퓨팅은 클라우드 컴퓨팅의 중요 요소이다. 사용자는 자신의 애플리케이션을 구동시키기 위해 인터넷 어딘가에 위치한 가상 컴퓨터를 임차할 수 있다. 이것은 칩 사이클(cheap cycles)을 액세스하기 위한 알맞은 방법이지만, 그것은 내재적인 위험요소를 또한 가지고 있다; 애플리케이션이 다른 누군가의 컴퓨터 상에서 구동되므로, 사용자의 데이터 및 애플리케이션의 프라이버시에 대한 어떠한 보장도 주어질 수 없다. 오늘날의 범용 프로세서들은 네트워킹된 컴퓨터를 스누핑(snooping)하는 클라우드나 네트워크 기반 컴퓨터의 소유자들로부터 보호하는 메커니즘을 제공하지 못한다.
안전한 가상 컴퓨팅(secure virtual computing)의 부재는 클라우드 컴퓨팅의 개발에 있어 심각한 장애이다. 기존 프로세서들의 내재적인 비보안적 성격으로 인해, 네트워크에서 애플리케이션들을 호스팅하는 것의 이익은 애플리케이션들 및/또는 애플리케이션 데이터가 공개되는 것의 위험과 견주어 평가되어야 한다.
예를 들어, 클라우드/네트워크 기반 컴퓨터 상에서 사설 계정 정보를 가진 웹 서버 데이터베이스를 실행한다는 것은 클라우드/네트워크 기반 컴퓨터에 물리적 액세스를 하는 상대가 이를테면 JTAG(Joint Test Action Group) 접속을 이용함으로써 메모리 뱅크들을 액세스하고 내부 프로세서 레지스터들을 액세스할 수 있다는 것을 의미한다. 대안적으로, 어떤 공격자가 앞으로 "영역 관리자"라 칭할 호스트 운영 체계나 가상 머신 관리자를 변경함으로써 실제 머신의 동작들 안으로 침입하고자 시도할 수도 있다.
게다가, 영역 관리자 내 소프트웨어 침입은 머신의 메모리 공간에서 다른 애플리케이션들 및 다른 사용자들의 애플리케이션 데이터에 대한 접근을 가능하게 할 수 있다. 특정 침입 타입은 운영 체계 아래에서 배치되는 소프트웨어로 이뤄지고 특별히 타깃화된 도구 없이는 그 운영 체계에게 검출될 수 없는 루트 키트(root kits)를 사용한다.
사용자에게 가상 컴퓨터의 안전한 임차를 허용하기 위하여 보안 구조 안에 여러 요소들이 필요하다. 프로세서는 안전한 프로세싱 환경을 제공해야 하고, 검증 가능한 소프트웨어 스택을 이용한 안전한 부팅 절차를 설정해야 하고, 프로세서 안에서 안전한 가상 영역들을 설정하기 위해 컴퓨터의 소유자(즉, 인프라 제공자)를 통해 안전한 종단점(end points)을 제공해야 하며, 사용자로부터 애플리케이션을 안전하게 로드할 수 있어야 한다. 한편, 소유자는 그들의 컴퓨터 상에서 실행된 애플리케이션으로부터 어떠한 중요한 사설 데이터도 습득할 수 있어서는 안된다.
본 발명의 보안 프로세서의 일반적 실시예는 프로세서 개인 키를 저장하는 메모리, 영역 관리자의 인스턴스와 연관될 제 1 공개/개인 키 쌍을 생성하는 제 1 생성기, 프로세서 개인 키를 사용하여 제 1 공개/개인 키 쌍을 인증하는 제 1 인증 에이전트, 가상 머신 인스턴스화 명령을 안전하게 수신하는 수신기, 인스턴스화 명령에 응답하여 생성된 가상 머신의 인스턴스와 연관될 제 2 공개/개인 키 쌍을 생성하는 제 2 생성기, 및 제 1 공개/개인 키 쌍을 이용하여 제 2 공개/개인 키 쌍을 인증하는 제 2 인증 에이전트를 포함한다.
일 실시예에서, 본 발명의 프로세서는 초기 부팅 프로그램을 저장하는 개인 부팅 영역(410)을 더 포함한다.
일 실시예에서, 본 발명의 프로세서는 영역 관리자를 포함하는 이미지 파일을 수신 및 인증하는 수단을 더 포함한다.
본 발명의 프로세서의 일 실시예에서, 상기 가상 머신 인스턴스화 명령을 안전하게 수신한다는 보안 양태는 PKI를 통해 획득된 인증서에 의존한다.
일 실시예에서, 본 발명의 프로세서는 복수의 보안 가상 머신들에 의해 사용되는 메모리를 더 포함하며, 그 메모리에 대한 액세스는 복수의 보안 가상 머신들 중 서로 다른 것들에 대해 서로 다른 암호 키에 의해 보안된다.
일 실시예에서, 본 발명의 프로세서는 복수의 보안 가상 머신들에 대해 디지털 액세스 허가 정보를 저장하는 메모리를 더 포함한다.
본 발명에 따라 보안 가상 머신들을 설정하는 방법의 일반적인 실시예는 영역 관리자 이미지와 함께 프로세서를 부팅하는 단계; 프로세서에서 영역 관리자 세션과 연관된 제 1 공개/개인 키 쌍을 획득하는 단계; 프로세서와 관련된 개인 키를 사용하여 프로세서에서 제 1 공개/개인 키 쌍의 공개 키를 인증하는 단계; 영역 관리자에서 보안 가상 머신 인스턴스화 명령을 수신하는 단계; 영역 관리자와 사용자 사이에 보안 통신 채널을 생성하는 단계; 보안 가상 머신과 연관된 제 2 공개/개인 키 쌍을 획득하는 단계; 및 제 1 공개/개인 키 쌍의 개인 키를 사용하여 제 2 공개/개인 키 쌍의 공개 키를 인증하는 단계를 포함한다.
일 실시예에서, 본 발명의 방법은 개인 부팅 영역에 저장된 프로그램으로부터 프로세서를 부팅하는 단계를 더 포함한다.
일 실시예에서, 본 발명의 방법은 상기 영역 관리자 이미지를 상기 프로세서로 다운로딩하는 단계, 및 상기 영역 관리자 이미지의 상기 부팅을 위한 사전조건으로서 상기 프로세서에서 상기 영역 관리자 이미지에 관한 인증 값을 검증하는 단계를 더 포함한다.
본 발명의 방법의 일 실시예에서, 상기 보안 통신 채널들의 보안 양태는 PKI를 통해 획득된 인증서에 의존한다.
일 실시예에서, 본 발명의 방법은 프로세서의 공유 메모리에 저장된 특정 콘텐츠에 액세스하기 위한 암호 키를 상기 보안 가상 머신과 연관시키는 단계를 더 포함한다.
본 발명의 방법의 일 실시예에서, 보안 가상 머신 인스턴스화 명령은 상기 사용자에 관련된 인증서를 포함한다. 특정 실시예에서, 상기 보안 통신 채널의 보안 양태는 상기 사용자에 관련된 상기 인증서에 의존한다.
다른 특정 실시예에서, 상기 방법은 상기 사용자에 관련된 상기 인증서를 상기 영역 관리자에게 제공하는 단계를 더 포함한다.
본 발명의 방법의 일 실시예에서, 안전한 통신 채널은 공개 키 암호화를 이용하여 안전이 유지된다.
일 실시예에서, 본 발명의 방법은 상기 가상 머신에 대한 액세스 허가를 이용하여 기능 매트릭스(capability matrix)를 업데이트하는 단계를 더 포함한다.
일 실시예에서, 본 발명의 방법은 보안 가상 머신에 부팅 프로그램을 제공함으로써 보안 가상 머신을 준비하는 단계, 및 보안 가상 머신을 시작하는 단계를 더 포함한다.
본 발명의 일 실시예는 서비스 제공자, 서비스 사용자, 영역 관리자, 및 가상 머신 인스턴스화 사이의 적절한 신뢰 관계를 신중하게 설정 및 결합함으로써 보안 가상 머신 환경이 얻어질 수 있다는 통찰에 기반한다. 본 발명의 일 실시예는 서비스 사용자, 서비스 제공자, 및 하드웨어 제공자 각자가 그러한 신뢰 관계를 설정함에 있어 어떤 역할을 가진다는 통찰에 추가로 기반한다. 이제부터, 서비스 사용자를 "사용자"라 부를 수 있고, 서비스 제공자는 "소유자"로 불릴 수 있으며, 하드웨어 제조자는 "제조자"라 불릴 수 있다.
디지털 인증 및 보안 통신의 당업자라면 여기 기술된 신뢰 관계가 무엇보다 공개키 암호화(public key cryptography:PKC)를 이용해 설정될 수 있으며, 그에 따라 암호화 방식에 따라 보안이 유지된 데이터 터널들이 생성되고 다양한 행위자들의 공개 키들이 적절한 인증 기관을 통해 인증된다는 것을 쉽게 예상할 수 있을 것이다. 신뢰 관계의 설정은 어떤 PKC 고유의 구현에 대한 세부사항에 본 발명을 한정하려는 의도 없이 공개 키 암호화와 관련해 더욱 자세히 기술된다.
특정 실시예에서, 서비스 제공자 및 하드웨어 플랫폼 상에서 인스턴스화된 영역 관리자 사이에 제1신뢰 관계가 설정된다. 하드웨어 플랫폼은 개인 키를 보유하며, 그 공개 상대자는 하드웨어 제조자에 의해 인증된다. 영역 관리자는 개인 키를 보유하며, 그 공개 상대자는 다시 하드웨어 플랫폼에 의해 인증된다. 사용자 및 서비스 제공자 사이에 제2신뢰 관계가 설정된다; 이들의 인증서는 통상적 방식에 따라 어떤 신뢰되는 수단에 의해 설정되고, 어떤 신뢰되는 기관에 의해 인증된다. 사용자 및 영역 관리자 사이에 제3신뢰 관계가 설정된다. 서비스 제공자로부터 수신된 요청에 응답하여 영역 관리자에 의해 인스턴스화된 가상 머신 및 사용자 사이에 제4신뢰 관계가 설정된다. 가상 머신은 개인 키를 보유하며, 그 공개 상대자는 영역 관리자에 의해 인증된다. 하드웨어 플랫폼, 영역 관리자, 및 가상 머신 인스턴스화에 대한 신뢰성은 모두 각자의 인증 체인들을 통해 신뢰되는 것으로 추정되는 하드웨어 제조자로부터의 주장으로 돌아갈 수 있다.
본 발명의 일 실시예는 안전한 하드웨어 플랫폼 안에 있는 주변기기들에 대한 각각의 가상 머신의 기능들을 표현하는 이차원 매트릭스를 제공함으로써, 하드웨어 보호 링들이 하드웨어가 호스트하는 여러 가상 머신 인스턴스화로 바람직하게 확장될 수 있다는 통찰에 기반한다. 따라서, 바이너리 실행자들의 어떤 변환을 도입하지 않고 가상화가 얻어질 수 있다. 이것은 런타임(runtime) 환경 안에서의 실행 가능 코드에 대한 체크섬(checksums) 검사의 필요성에 비춰 중요한 이점이 된다.
본 발명의 실시예들에 따른 장치 및/또는 방법의 일부 실시예가 지금부터 다만 예로서 첨부된 도면들을 참조하여 설명된다.
도 1은 본 발명에 따른 방법의 개략적 개요를 제공한다.
도 2는 본 발명에 따른 방법과 관련된 각자의 행위자들 사이의 다양한 신뢰 관계들을 보여준다.
도 3은 본 발명에 따른 방법의 일 실시예를 통해 통상적 메시지 흐름을 보여준다.
도 4는 본 발명에 따른 보안 프로세서의 일 실시예를 개략적으로 예시한다.
도 5는 가상 머신들의 전형적 기능 매트릭스의 예를 나타낸다.
고성능 보안 컴퓨팅은 비보안 및 보안 컴퓨팅 링이나 영역 사이에서의 프로세서의 타임 슬라이싱을 프로세서의 현재의 링이나 영역을 내부 ASIC 주변기기들로 반영하기 위한 ASIC 내부 버스로의 확장과 결합함으로써 달성될 수 있다.
"ASIC"이라는 용어는 여기에서, 소정 실시예에서 ASIC 기술을 이용하여 구현될 수 있는 보안 프로세서를 지칭하는 것으로 사용되나, 상기 기술에 대한 어떠한 한정도 수반되지 않는다.
프로세서가 보안 링 또는 영역에 있을 때, 보안 주변기기들은 액티브 상태이다. 프로세서가 비보안 링 또는 영역에 있을 때, 보안 주변기기들은 응답하지 않는다. 영역들 사이에서 스위칭을 행할 때, 프로세서는 영역들 사이에 전달되는 파라미터들을 검증한다. 그러한 조합은 신뢰 영역(Trustzone)과 함께 ARM의 1176 프로세서에서 이용 가능하다. 본 발명은 무엇보다 ARM 1176/Trustzone 구조의 요소들과 유사한 요소들을 가지지만 가상화를 제공하도록 적응된 추가 특징들을 가진ASIC으로서 실시될 수 있다.
본 발명의 일 실시예에 따르면, vTCB(virtual Trusted Computing Base)가 소유자 및 제조자가 vTCB 상의 컴퓨터 사용을 스누핑(snoop), 하이재킹(hijack) 또는 변경하는 것을 방지하는 방식으로 vTCB의 임차를 가능하게 하는 인프라와 함께 프로세서 안에 제공 및 내장된다. 그것은 보호 링, ACL들에 대한 기능 기반 격자(capability-based lattices), 안전한 고성능 컴퓨팅, 및 가상화 기법들을 바람직하게 제공한다.
세 가지 역할인 소유자(220), 사용자(210) 및 제조자(230) 역할이 시스템의 동작과 관련된다고 여겨진다. 소유자는 vTCB를 소유하며 가상 컴퓨팅 서비스를 제공하고, 사용자는 vTCB 상에서 안전하게 실행되어야 하는 애플리케이션들을 제공하며, 제조자는 vTCB들을 내장한 보안 ASIC을 생산한다.
도 2는 그렇게 정의된 세 개의 역할들 사이에서의 여러 신뢰 관계들을 보여준다.
또한, 두 개의 추가 개체들인 보안 영역 관리자(240) 및 보안 가상 머신(250)을 인식할 수 있다. 보안 영역 관리자(240) 및 보안 가상 머신(250) 양자 모두 vTCB의 일부이다. 여기서, 보안 영역 관리자(240)는 보안 가상 머신들의 관리를 다루는 보안 ASIC 안에서 구동되는 신뢰되는 소프트웨어 요소이며 제조자(230)에 의해 설치된다. 보안 가상 머신(250)은 실질적으로 프로세서의 "슬라이스"이다.
상기 개체들과 관련된 여러 신뢰 요건들이 지금부터 보다 상세히 설명될 것이다. 본 발명의 실시예들은 기술된 신뢰 요건들의 일부나 전부를 다룰 수 있다.
제1신뢰 요건은 사용자(210)가 스누핑될 수 없는 보안 가상 머신(250)의 설정을 위한 알맞은 보안 특성들을 제조자(230)가 프로세서에 전달한다는 것을 신뢰해야 한다는 것이다. 사용자(210)는 프로세서의 인증서 상의 사인을 체크함으로써 이러한 효력에 대한 주장이 실제로 제조자(230)로부터 발생했다는 것만을 검증할 수 있다. vTCB의 보안 특성들(보안 영역 관리자 및 보안 가상 머신)에 대한 사용자의 신뢰는 제조자에 대한 그러한 신뢰로부터 파생된다.
제2신뢰 요건은 소유자(220)가 올바른 사용 보고서를 생성하도록 된 vTCB를 제조자(230)가 전달한다고 신뢰해야 한다는 것이다. 소유자(220)는 프로세서의 인증서 상의 사인을 체크함으로써 이러한 효력에 대한 주장이 실제로 제조자(230)로부터 발생했다는 것을 검증할 수 있다. vTCB의 보안 특성들(보안 영역 관리자 및 보안 가상 머신)에 대한 소유자의 신뢰는 영역 관리자의 개인 키의 사용에 기반하며, 그것에 대한 인증은 다시 제조자에게 이르는 일련의 인증서들에 의해 보장된다. 따라서, vTCB에 대한 소유자의 신뢰는 제조자에 대한 이러한 신뢰로부터 파생된다.
제3신뢰 요건은 보안 영역 관리자(240)가 자신이 적절한 소유자(220)와 통신하는 것을 신뢰해야 한다는 것이다: 그것은 장치의 실제 소유자 요청에 의해서만 작동되어야 한다.
제4신뢰 요건은 사용자(210)가 자신이 소유자(220)와 통신하는 것을 신뢰해야 한다는 것이며 그 반대의 경우도 성립된다. 이러한 신뢰 관계는 소유자(220)에 의해 회계, 요금 청구 및 추적 목적을 위해 필요하게 되며, 사용자(210)에게는 자신이 적법한 소유자와 통신한다는 것을 아는 것이 중요하다. 이러한 신뢰 요건은 통상적으로 PKI를 통한 인증에 의해 다루어진다.
제5신뢰 요건은 보안 영역 관리자(240)가 소유자(220)에 의해 명령되는 대로 적절한 사용자(210)와 통신한다는 것을 신뢰해야 한다는 것이다. 이러한 요건은 사용자의 보정서를 가상 머신 인스턴스화 명령에 대한 인수(argument)로서 보안 영역 관리자에게 제공함으로써 다루어질 수 있다.
제6신뢰 요건은 보안 가상 머신(250)이 자체 보안 부팅 절차를 위해 신뢰성 있는 보안 영역 관리자(240)에 의해 생성된다는 것을 신뢰해야 한다는 것이다. 이것은 장치의 제조자(230)가 새로 생성된 보안 영역에 적절한 부팅 소프트웨어 및 키 자료를 로딩했다는 함축된 신뢰이다.
제7신뢰 요건은 사용자(210)와 그 보안 가상 머신(250)이 서로 상호 신뢰해야 한다는 것이다: 보안 가상 머신(250)은 그것이 적절한 사용자(210)와 통신하는 것을 이해해야 하며, 사용자(210)는 자신이 진짜 보안 가상 머신(250)과 통신한다고 주장해야 한다. 이 요건은 사용자의 부분에 있어서는 제1신뢰 요건 그리고 보안 가상 머신의 부분에 있어서는 제5신뢰 요건과 유사하며 그로부터 파생된다.
편의를 위해 도 3(a) 및 도 3(b)로 나눠지는 도 3은 본 발명에 따른 방법의 일 실시예를 통한 메시지 플로우를 개략적으로 예시한다. 도 4는 본 발명에 따른 보안 프로세서의 일 실시예의 구성요소들을 개략적으로 예시한다.
보안 영역 관리자(420)는 보안 ASIC의 기본 부팅 시스템에 의해 로딩된다. 이 부팅 시스템은 제조자 제공 기본 부팅 시스템(410) 및 ASIC 개인 키(418)로 구성된다. 기본 부팅은 보안 영역 관리자 이미지(402)가 로딩될 수 있게 하는 이차 부팅을 로드하거나, 보안 영역 관리자(402)를 바로 로딩할 수 있다; 양측 시나리오 모두 도 3의 추상 메시지들(301 및 302)에 의해 예시된다. 서로 다른 소유자들은 서로 다른 맞춤형 보안 영역 관리자들을 사용하고 싶어할 수 있으나, 이미지들은 제조자에 의해 생성됨이 바람직하다. 이것은 제조자에게 신뢰성 책임을 부과한다.
보안 영역 관리자(420)가 시동될 때, 그것은 도 3에서 메시지 플로우로서 그리고 도 4에서 인터페이스(440)로서 개략적으로 표시되는 소유자에 대한 보안 통신 채널을 설정한다. 이렇게 상호 인증된 채널(440)은 소유자(미도시) 및 보안 영역 관리자(420) 사이의 신뢰 관계를 나타낸다. 이 채널(440)의 기본 용도는 보안 가상 머신(430)의 관리를 위해 보안 통신 경로를 설정하는 것이다. 또한, 보안 영역 관리자(420)는 소유자(미도시)에게 사용 보고서를 전송할 수 있다.
사용자/소유자(304) 및 소유자/보안 영역 관리자(303/440) 채널들 양자 모두가 설정되었으면, 사용자에 의해 그 채널들은 보안 영역 관리자(420)를 통해 새로운 보안 가상 머신(430)의 설정을 요청(305)하는 데 사용된다. 사용자는 소유자를 어드레싱하고, 소유자는 보안 가상 머신 요청을 자신의 vTCB들(400) 중 하나에게 발송한다. 사용자는 보안 영역 관리자 자체를 인증하고, 보안 영역 관리자의 인증서(404)에 의존함으로써 자신이 적절한 vTCB와 통신한다는 것을 검증할 수 있다. 또한, 사용자는 보안 영역 관리자(420)에 의해 서명된 새로 생성된 보안 가상 머신(430)을 위한 인증서를 수신할 수 있다(308).
사용자에 대한 보안 가상 머신(430)이 생성된 뒤에, 보안 가상 머신은 사용자의 애플리케이션을 안전하게 부팅해야 한다. 그에 따라 보안 영역 관리자(420)는 인프라를 제공하여 사용자가 자신의 애플리케이션과 함께 자신의 보안 가상 머신(430)을 안전하게 부팅할 수 있게 한다. 소유자는 이러한 절차의 일부가 아니므로 간섭할 방법이 없다는 것을 알아야 한다; 사용자 영역 관리자 채널(450)의 단대단(end-to-end) 보안이 어떤 잠정적 중간자 공격(man-in-the-middle attacks)을 효과적으로 방지한다.
이때 새로운 보안 가상 머신(430)은 사용자 선택 프로그램을 로딩하고(311) 애플리케이션을 안전하게 부팅한다. 그것은 보안 키(432)를 수신하기 때문에, 사용자와 직접적으로 보안 통신 채널(470)을 설정(312) 할 수 있다.
본 발명에 따른 보안 및 가상화 가능 프로세싱 환경의 일 실시예는 단일 머신 보안 프로세서 ARM1176+Trustzone을 기반으로 한다. 이 실시예는 다수의 그러한 보안 프로세싱 머신들에 대한 지원을 제공한다. 그 실시예가 도 4에 개략적으로 예시된다.
우선, Trustzone 구조로 여러 보안 가상 머신들을 지원하기 위해, 단일 보안 어드레스 변경자 비트 대신 n 비트 폭의 버스가 제공된다. 이제부터 SAMB(Secure Address Modifier Bus)라고 불리는 이 어드레스 변경자 버스로 특정 바이너리 표현에 대한 각각의 보안 가상 머신이 키잉된다(keyed). 보안 ASIC 안의 주변기기들은 자신들의 장치에 대한 액세스를 인에이블링(enabling) 또는 디세이블링(disabling) 할 때 SAMB의 상태를 고려한다.
보안 ASIC 내 주변기기들에 대한 보안 가상 머신의 기능들을 나타내는 이차원 매트릭스는 내부 ASIC의 버스 상으로 SAMB와 연관된다. 그러한 매트릭스, 네 개의 주변기기들 및 네 개의 가상 머신들을 어드레싱하는 것의 전형적 표현이 도 5에 보여진다. 보안 ASIC 내 각각의 주변기기는 열(column)로 표현되며, 보안 가상 머신들 각각은 행(row)으로 주어진다. 특정한 보안 가상 머신의 주변기기에 대한 판독 및/또는 기입 액세스를 인에이블링 하기 위해, 매트릭스 내 관련 비트들이 세팅된다.
기능 매트릭스에서 두 개의 특별한 열들인 비보안 머신 및 수퍼 보안 가상 머신이 규정될 수 있다. 이 영역들은 모두 표준 Trustzone 구조하에서 자신들의 균등한 상태들과 일치한다: 각기 어떠한 보안 주변 액세스도 없는 머신 및 보안 주변 액세스를 하는 머신. 비보안 머신은 통상적으로 열 제로(zero)에 위치되며, 보안 영역 어드레스 변경자 버스 상으로 자신의 바이너리 표현이 나타내진다. 바람직한 일 실시예에서, 수퍼 보안 가상 머신은 SAMB 상으로 변경자 01*1을 사용한다. 통상적으로, 단일 수퍼 보안 가상 머신만이 보안 기능 매트릭스에 대한 기입 액세스를 가져야 한다.
비보안 프로세싱 머신은 요구하지 않는 작업들을 실행하기 위한 것이며, 어떤 특정한 보안기능도 얻지 못할 것이다.
수퍼 보안 가상 머신은 다른 보안 가상 머신들을 관리하기 위한 것이다. 수퍼 보안 가상 머신을 통해, 새로운 열들이 초기화될 수 있고, 새로운 애플리케이션들이 새로 형성된 일반적인 보안 영역들 안에서 설치될 수 있다. 수퍼 보안 가상 머신은 또한 정상적인 보안 가상 머신들을 정지 및 제거시킬 수도 있다.
다양한 보안 및 비보안 보안 가상 머신들 사이에서 아무 정보도 새어 나가지 않도록 보장하기 위해, 각각의 보안 가상 머신이 별도의 메모리 암호화 키와 연관될 수 있다. 메모리 제어기는 메모리 제어기 소자 안이나 자체 키로 보호된 보통 메모리 안에 내부적으로 그 메모리 키를 저장한다. SAMB 상의 보안 변경자에 기초하여, 메모리 제어기는 메인 외부 메모리로 전송되거나 그로부터 검색되는 데이터를 암호화할 수 있는 키를 선택한다.
보안 영역 관리자는 반 가상화(para-virtualizing) 가상 머신 관리자이며, 실행된 게스트(guest) 운영 체계들의 바이너리 변환에 의존하지 않는다. 이것은 사용자들이 이미지들이 변경되지 않았다는 것을 검증하기 위해 실행 이미지에 대한 MD5 체크섬을 계산할 수 있게 한다. 또한, 보안 영역 관리자는 프로세서를 가상화 하기 위한 모든 메커니즘들 및 머신의 자원들을 프로세서 상에서 실행되는 모든 게스트 운영 체계들로 제공한다.
도 2에 도시된 바와 같이, 호출(call) 플로우의 개체들은 소유자(장치의 독점 소유자), 보안 영역 관리자, 보안 가상 머신 및 사용자(즉, 임차인)이다. 부가적으로 제조자의 역할을 인식할 필요가 있다.
소유자, 제조자 및 사용자는 사설 및 공개 키를 가지며, 공개 키들은 서명된 인증서들의 일부이다. 개별적인 개인 키들은
Figure pct00001
Figure pct00002
로 표시될 것이다. 개별적인 공개 키들은
Figure pct00003
Figure pct00004
로 표시될 것이다.
공개 키들을 소유자, 제조자, 및 사용자와 각기 연관시키는 인증서들이 A(.)로 표시되고 공개 키 인프라(Public Key Infrastructure:PKI)의 일부일 수 있는 각각의 개별 기관에 의해 서명된다:
Figure pct00005
,
Figure pct00006
,
Figure pct00007
. 사용자의 인증서는 사용자의 어드레스를 포함하여, 영역 관리자 및/또는 보안 가상 머신 인스턴스화가 신뢰되는 어드레스를 이용해 사용자를 접촉할 수 있게 한다.
ASIC은 예컨대 퓨즈 어레이(fuse array)나 ASIC 상의 비휘발서 RAM 안에 인코딩되고 공개 키
Figure pct00008
와 연관되는 자체 개인 키(418),
Figure pct00009
를 갖춘다고 추정할 수 있다.
ASIC의 개인 키(418)와 연관되는 것은 제조자에 의해 서명된 인증서이다. ASIC은 초기 부팅 프로그램을 위한 개인 부팅 영역(410)을 가진다고 추정할 수 있다. 그 부팅 프로그램의 보안 해시(secure hash)가 ASIC의 인증서에 내장된다:
Figure pct00010
. 제조자는 부가적 방식에 따라 이용 가능한 신뢰되는 부팅 프로그램들의 보안 해시들을 만들 수 있다.
내장된 부팅 프로그램을 부팅함에 따라, ASIC은 통상적으로 소유자로부터 ASIC 소유자 채널(460)을 통해 영역 관리자 이미지(402)를 수신하도록 되어 있다. 이 영역 관리자 이미지(402)는 소유자의 사양에 대해 전체 또는 일부가 제조자에 의해 생성될 수 있다. ASIC은 MD5 같은 해싱 알고리즘을 사용해 영역 관리자 이미지에 대한 보안 해시 H를 산출하고(412), 그것을 제조자에 의해 제공 및 인증된 해시
Figure pct00011
와 비교하도록 되어 있다. 영역 관리자 이미지(420)는 검증이 성공하는 경우에만 부팅된다.
이차 이미지(402)는 소유자의 인증서
Figure pct00012
를 포함한다.
시작될 때, 영역 관리자(420)는 세션에 대한 공개/개인 키 쌍
Figure pct00013
을 생성하며, 세션은 영역 관리자의 시작과 영역 관리자의 종료를 의미하는 프로세서가 리셋 및 재부팅되는 시간 사이의 시간이라고 정의된다. 공개 키는 ASIC의 키(418)를 사용해 인증되며(416), 인증서(404),
Figure pct00014
는 소유자에 의해 이용 가능하게 된다. 개인 키(426)는 다시 영역 관리자(420)가 그것이 생성한 인스턴스들(430) 대신 인증서들(424)에 서명할 수 있게 한다.
사용자는 소유자로부터 보안 가상 머신(430)을 요청함으로써 그것을 얻을 수 있다. 이를 위해 사용자는 먼저 예컨대 PKI를 통해 얻어진 인증서들에 의존하여 소유자 및 사용자(미도시) 사이에 상호 인증된 보안 채널을 설정한다. 일단 설정되면, 사용자는 "보안 가상 머신 생성(create secure virtual machine)" 메시지를 소유자에게 전송한다. 소유자는 알맞은(이를테면, 가볍게 로드된) 보안 프로세서의 영역 관리자(420)를 선택하고 영역 관리자(420)에게 상기 요청을 전달한다.
소유자의 "보안 가상 머신 생성" 메시지는 사용자의 인증서 C(사용자, ...)를 수반할 수 있다. 이 인증서는 우선, 보안 영역 관리자(420) 및 사용자 사이에 보안 통신 채널(450)을 설정하는데 사용되고, 이후 그 인증서는 새로 생성된 보안 가상 머신(430)에 의해 사용자에게로의 보안 채널(470)를 설정하는데 사용된다. 영역 관리자 및 사용자 사이의 보안 채널(450)은 사용자에게 영역 관리자를 신뢰할 수 있다는 것을 주장하는데 사용된다.
"보안 가상 머신 생성" 메시지의 수신 시, 영역 관리자(420)는 먼저 새 영역에 대해 공개/개인 키 쌍
Figure pct00015
을 생성하고, 그 공개 키를 인증한다(424). 그런 다음 영역 관리자는 앞서 설정된 통신 채널(450)을 통해 사용자에게 그 인증서
Figure pct00016
를 전송한다.
마지막으로, 영역 관리자(420)는 새 보안 가상 머신(430)을 준비한다. 그것은 앞서 언급한 보안 기능 매트릭스에 엔트리들을 할당하고, 메모리 제어기에 적절한 세션 키를 미리 제공하며, 새 보안 가상 머신(430) 안에 부팅 프로그램을 로딩한다. 사용자의 인증서
Figure pct00017
는 파라미터로서 보안 가상 머신의 부팅 로더로 전달된다. 이 부팅 로더는 영역 관리자(420)에 의해 사전 설치(및 그에 따라 신뢰)된다.
가상 머신(430)은 영역 관리자(420)를 통해 실행에 대비되고, 영역 관리자(420)는 결국 그 새 보안 가상 머신(430)을 시동한다.
새 보안 가상 머신(430)이 시동될 때, 그것은 영역 관리자(420) 만이 잠정적으로 동작들을 중단시킬 수 있도록 하는 보안 환경에서 동작된다. 제조자는 신뢰될 수 있다고 추정되므로, 영역 관리자(420) 역시 신뢰될 수 있다. 새 보안 가상 머신(430)의 초기 로딩은 보안 부팅 로더로서, 사용자의 네트워크 어드레스를 미리 제공 받는다는 것을 알아야 한다.
보안 가상 머신(430)이 하는 첫 번째 일은 새 영역 및 사용자 사이에 보안 통신 채널(470)를 설정하는 것이다. 새 영역은 인증서에 기록된 네트워크 어드레스를 포함하는
Figure pct00018
를 사용하여 세션을 설정하고, 사용자는
Figure pct00019
를 사용해 세션을 설정한다.
Figure pct00020
는 "보안 가상 머신 생성" 메시지 중에 소유자에 의해 사용자에게 가 리턴되었다.
사용자와 새로 생성된 보안 가상 머신(430) 사이에 보안 통신 채널(470)이 설정되었으면, 사용자는 자신의 애플리케이션을 새 보안 가상 머신(430)으로 업로딩하고 그 애플리케이션을 시동할 수 있다. 부팅 로더는 사용자의 인증서
Figure pct00021
를 새로 로딩된 애플리케이션으로 전달하여, 그 애플리케이션이 현재 사용자의 애플리케이션을 실행하는 보안 가상 머신 및 사용자 사이에 보안 통신 채널을 재설정할 수 있게 한다. 보안 가상 머신(430)은 이제 그 동작 모드를 시작한다.
본 발명의 일 실시예에서, 동작 영역 관리자(420) 및 소유자는 보안 가상 머신(430)에 대한 사용 보고서들(313)을 주기적으로 교환한다. 그 보고서들은 예컨대 소유자에 의해 사용되어, 사용자의 하드웨어 사용에 대한 요금 청구 기록들을 준비할 수 있다. 또한 사용자는 보안 통신 채널들(450, 470)을 통해 영역 관리자(420)에게 관리 요청들(314)을 보낼 수 있다. 그 요청들은 보안 가상 머신(430)에 소모된 사이클의 회수를 늘리거나 줄이거나, 보안 가상 머신(430)을 완전히 중단하고 재개하는 동작들과 관련될 수 있다. 한 가지 그러한 요청(316)은 보안 가상 머신(430)을 모두 정지시키고 정지될 보안 가상 머신(430)과 연관된 모든 상태 정보를 정리하는 것과 관련될 수 있다. 이러한 결과를 얻기 위한 효과적인 방법은 영역의 보안 메모리 슬라이스에 대해 사용되는 세션 키를 정리하는 것이다.
본 발명의 일 실시예에서, 보안 가상 머신(430)은 그 특정 보안 가상 머신(430)에 할당되어 그 보안 가상 머신의 데이터에 대한 프라이버시를 보장하도록 하는 메모리 암호화 키를 사용하여, 메모리 제어기(480)를 통해 공유 메모리(490)를 액세스한다.
상세한 설명 및 도면은 다만 본 발명의 원리를 예시할 뿐이다. 따라서, 당업자라면 여기 명시적으로 기술되거나 보여지지 않았더라도 본 발명의 원리를 구체화하고 그 개념 및 범위에 포함되는 다양한 구성을 고안할 수 있다는 것을 알 수 있을 것이다. 또한, 여기 개시된 모든 예들은 주로 명백히 관련 기술을 발전시키도록 발명자(들)에 의해 이바지되는 개념들 및 발명의 원리를 이해하도록 돕기 위한 교육 목적으로 의도된 것일 뿐이며, 그 특정하게 언급된 예들 및 조건들로 한정하지 않는 것으로 해석되어야 할 것이다. 또한, 여기서 본 발명의 원리, 양태, 및 실시예를 언급하는 모든 말들 뿐 아니라 그 특정 예들은 그 균등물을 포괄하는 것으로 의도된다.
"프로세서"라고 표시된 어떤 기능 블록들을 포함하여 도면에 도시된 다양한 구성요소들의 기능들은 전용 하드웨어뿐 아니라 알맞은 소프트웨어와 연관되어 소프트웨어를 실행시킬 수 있는 하드웨어를 통해 제공될 수 있다. 프로세서에 의해 제공될 때, 그 기능들은 하나의 전용 프로세서나, 하나의 공유 프로세서, 또는 일부가 공유될 수 있는 복수의 개별 프로세서들에 의해 제공될 수 있다. 또한, "프로세서"나 "제어기"라는 용어의 명시적 사용이 전적으로 소프트웨어를 실행할 수 있는 하드웨어를 지칭하는 것으로 해석되지 않아야 하며, 명시적이 아니더라도 아무 제한 없이 디지털 시그널 프로세서(DSP) 하드웨어 네트워크 프로세서, ASIC(application specific integrated circuit), FPGA(field programmable gate array), 소프트웨어를 저장하는 ROM(read only memory), RAM(random access memory), 및 비휘발성 스토리지를 포함할 수 있다. 다른 관례적 및/또는 습관적 하드웨어가 포함될 수도 있다. 마찬가지로 도면들에 도시되어 있는 모든 스위치들은 다만 개념적인 것이다. 그들의 기능은 프로그램 로직의 연산을 통하거나, 전용 로직을 통하거나, 프로그램 제어 및 전용 로직의 상호작용을 통하거나, 수동적으로도 수행될 수 있으며, 특정 기법은 맥락으로부터 보다 구체적으로 파악되는 바와 같이 구현자에 의해 선택될 수 있다.

Claims (15)

  1. 소유자의 요청에 따라 생성된 복수의 보안 가상 머신을 호스팅하는 프로세서로서,
    프로세서 개인 키를 저장하는 메모리와,
    영역 관리자의 인스턴스와 연관될 제 1 공개/개인 키 쌍을 생성하는 제 1 생성기와,
    상기 프로세서 개인 키를 사용하여 상기 제 1 공개/개인 키 쌍을 인증하는 제 1 인증 에이전트와,
    상기 소유자로부터 가상 머신 인스턴스화 명령을 안전하게 수신하는 수신기와,
    상기 인스턴스화 명령에 응답하여 생성된 상기 복수의 가상 머신 중 하나의 가상 머신의 인스턴스와 연관될 제 2 공개/개인 키 쌍을 생성하는 제 2 생성기와,
    상기 제 1 공개/개인 키 쌍을 이용하여 상기 제 2 공개/개인 키 쌍을 인증하는 제 2 인증 에이전트를 포함하는
    프로세서.
  2. 제 1 항에 있어서,
    초기 부팅 프로그램을 저장하는 개인 부팅 영역(410)을 더 포함하는
    프로세서.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 영역 관리자를 포함하는 이미지 파일을 수신하고 인증하는 수단을 더 포함하는
    프로세서.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 복수의 보안 가상 머신에 의해 사용되는 메모리를 더 포함하되,
    상기 메모리에 대한 액세스는 상기 복수의 보안 가상 머신 중 서로 다른 보안 가상 머신들에 대한 서로 다른 암호 키에 의해 보안되는
    프로세서.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 복수의 보안 가상 머신에 대한 디지털 액세스 허가 정보를 저장하는 메모리를 더 포함하는
    프로세서.
  6. 소유자의 요청에 따라 프로세서에서 보안 가상 머신을 설정하기 위한 방법에 있어서,
    영역 관리자 이미지를 사용하여 상기 프로세서를 부팅하는 단계와,
    상기 프로세서에서 상기 영역 관리자 세션과 연관된 제 1 공개/개인 키 쌍을 획득하는 단계와,
    상기 프로세서와 관련된 개인 키를 사용하여 상기 프로세서에서 상기 제 1 공개/개인 키 쌍의 상기 공개 키를 인증하는 단계와,
    상기 영역 관리자에서 상기 소유자로부터 보안 가상 머신 인스턴스화 명령을 수신하는 단계와,
    상기 영역 관리자와 상기 사용자 사이에 보안 통신 채널을 생성하는 단계와,
    상기 보안 가상 머신과 연관된 제 2 공개/개인 키 쌍을 획득하는 단계와,
    상기 제 1 공개/개인 키 쌍의 상기 개인 키를 사용하여 상기 제 2 공개/개인 키 쌍 중 상기 공개 키를 인증하는 단계를 포함하는
    보안 가상 머신 설정 방법.
  7. 제 6 항에 있어서,
    개인 부팅 영역에 저장된 프로그램으로부터 프로세서를 부팅하는 단계를 더 포함하는
    보안 가상 머신 설정 방법.
  8. 제 6 항에 있어서,
    상기 영역 관리자 이미지를 상기 프로세서로 다운로딩하는 단계와,
    상기 영역 관리자 이미지의 상기 부팅을 위한 사전조건으로서 상기 영역 관리자 이미지에 관한 인증 값을 상기 프로세서에서 검증하는 단계를 더 포함하는
    보안 가상 머신 설정 방법.
  9. 제 6 항에 있어서,
    상기 프로세서의 공유 메모리에 저장된 특정 콘텐츠에 액세스하기 위한 암호 키를 상기 보안 가상 머신과 연관시키는 단계를 더 포함하는
    보안 가상 머신 설정 방법.
  10. 제 6 항에 있어서,
    상기 보안 가상 머신 인스턴스화 명령은 상기 사용자에 관련된 인증서를 포함하는
    보안 가상 머신 설정 방법.
  11. 제 10 항에 있어서,
    상기 보안 통신 채널의 보안 양상은 상기 사용자에 관련된 상기 인증서에 의존하는
    보안 가상 머신 설정 방법.
  12. 제 10 항 또는 제 11 항에 있어서,
    상기 사용자에 관련된 상기 인증서를 상기 영역 관리자에게 제공하는 단계를 더 포함하는
    보안 가상 머신 설정 방법.
  13. 제 10 항 또는 제 11 항에 있어서,
    상기 보안 통신 채널은 공개 키 암호화를 이용해 보안되는
    보안 가상 머신 설정 방법.
  14. 제 6 항 내지 제 13 항 중 어느 한 항에 있어서,
    상기 가상 머신에 대한 액세스 허가를 이용하여 기능 매트릭스(capability matrix)를 업데이트하는 단계를 더 포함하는
    보안 가상 머신 설정 방법.
  15. 제 6 항 내지 제 14 항 중 어느 한 항에 있어서,
    상기 보안 가상 머신에 부팅 프로그램을 제공함으로써 상기 보안 가상 머신을 준비시키는 단계와,
    상기 보안 가상 머신을 시작하는 단계를 더 포함하는
    보안 가상 머신 설정 방법.
KR1020127000969A 2009-07-16 2010-07-16 보안 가상 머신 호스팅 프로세서 및 보안 가상 머신 설정 방법 KR101318524B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP09165682.7A EP2278514B1 (en) 2009-07-16 2009-07-16 System and method for providing secure virtual machines
EP09165682.7 2009-07-16
PCT/EP2010/060341 WO2011006997A1 (en) 2009-07-16 2010-07-16 System and method for providing secure virtual machines

Publications (2)

Publication Number Publication Date
KR20120018820A true KR20120018820A (ko) 2012-03-05
KR101318524B1 KR101318524B1 (ko) 2013-11-21

Family

ID=41198539

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127000969A KR101318524B1 (ko) 2009-07-16 2010-07-16 보안 가상 머신 호스팅 프로세서 및 보안 가상 머신 설정 방법

Country Status (6)

Country Link
US (1) US8856544B2 (ko)
EP (1) EP2278514B1 (ko)
JP (1) JP5497171B2 (ko)
KR (1) KR101318524B1 (ko)
CN (1) CN102473213B (ko)
WO (1) WO2011006997A1 (ko)

Families Citing this family (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9386021B1 (en) * 2011-05-25 2016-07-05 Bromium, Inc. Restricting network access to untrusted virtual machines
US8996851B2 (en) * 2010-08-10 2015-03-31 Sandisk Il Ltd. Host device and method for securely booting the host device with operating system code loaded from a storage device
US8694777B2 (en) 2010-08-13 2014-04-08 International Business Machines Corporation Securely identifying host systems
US9818079B2 (en) 2011-05-21 2017-11-14 Ortho-Clinical Diagnostics, Inc. System and method of inventory management
US9178698B1 (en) * 2011-12-21 2015-11-03 Google Inc. Dynamic key management
US9992024B2 (en) * 2012-01-25 2018-06-05 Fujitsu Limited Establishing a chain of trust within a virtual machine
US8938611B1 (en) * 2012-02-02 2015-01-20 Trend Micro, Inc. Enterprise cloud security gateway
US8880882B2 (en) * 2012-04-04 2014-11-04 Google Inc. Securely performing programmatic cloud-based data analysis
CA3118235A1 (en) 2012-04-13 2013-10-17 Ologn Technologies Ag Apparatuses, methods and systems for computer-based secure transactions
TW201349009A (zh) 2012-04-13 2013-12-01 Ologn Technologies Ag 用於數位通信之安全區
TW201403375A (zh) 2012-04-20 2014-01-16 歐樂岡科技公司 用於安全購買之安全區
US9385918B2 (en) * 2012-04-30 2016-07-05 Cisco Technology, Inc. System and method for secure provisioning of virtualized images in a network environment
US9210162B2 (en) * 2012-05-02 2015-12-08 Microsoft Technology Licensing, Llc Certificate based connection to cloud virtual machine
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
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
GB2513826A (en) * 2012-06-29 2014-11-12 Ibm Trusted boot of a virtual machine
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
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
US9015068B1 (en) 2012-08-25 2015-04-21 Sprint Communications Company L.P. Framework for real-time brokering of digital content delivery
US9215180B1 (en) 2012-08-25 2015-12-15 Sprint Communications Company L.P. File retrieval in real-time brokering of digital content
CN104756127B (zh) * 2012-10-12 2018-03-27 皇家飞利浦有限公司 通过虚拟机进行安全数据处理
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
US9161227B1 (en) 2013-02-07 2015-10-13 Sprint Communications Company L.P. Trusted signaling in long term evolution (LTE) 4G wireless communication
US9104840B1 (en) 2013-03-05 2015-08-11 Sprint Communications Company L.P. Trusted security zone watermark
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
WO2014141202A1 (en) 2013-03-15 2014-09-18 Ologn Technologies Ag Systems, methods and apparatuses for securely storing and providing payment information
US9292673B2 (en) * 2013-03-15 2016-03-22 International Business Machines Corporation Virtual key management and isolation of data deployments in multi-tenant environments
US9191388B1 (en) 2013-03-15 2015-11-17 Sprint Communications Company L.P. Trusted security zone communication addressing on an electronic device
US9021585B1 (en) 2013-03-15 2015-04-28 Sprint Communications Company L.P. JTAG fuse vulnerability determination and protection using a trusted execution environment
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
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
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
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
US9560519B1 (en) 2013-06-06 2017-01-31 Sprint Communications Company L.P. Mobile communication device profound identity brokering framework
US9183606B1 (en) 2013-07-10 2015-11-10 Sprint Communications Company L.P. Trusted processing location within a graphics processing unit
WO2015015473A1 (en) * 2013-08-02 2015-02-05 Ologn Technologies Ag A secure server on a system with virtual machines
US9208339B1 (en) 2013-08-12 2015-12-08 Sprint Communications Company L.P. Verifying Applications in Virtual Environments Using a Trusted Security Zone
FR3011654B1 (fr) 2013-10-08 2016-12-23 Commissariat Energie Atomique Procede et dispositif d'authentification et d'execution securisee de programmes
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
US9118655B1 (en) 2014-01-24 2015-08-25 Sprint Communications Company L.P. Trusted display and transmission of digital ticket documentation
US9226145B1 (en) 2014-03-28 2015-12-29 Sprint Communications Company L.P. Verification of mobile device integrity during activation
US9652631B2 (en) * 2014-05-05 2017-05-16 Microsoft Technology Licensing, Llc Secure transport of encrypted virtual machines with continuous owner access
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
WO2016081867A1 (en) * 2014-11-20 2016-05-26 Interdigital Patent Holdings, Inc. Providing security to computing systems
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
US10068092B2 (en) 2015-01-21 2018-09-04 Microsoft Technology Licensing, Llc Upgrading a secure boot policy on a virtual machine
US9838868B1 (en) 2015-01-26 2017-12-05 Sprint Communications Company L.P. Mated universal serial bus (USB) wireless dongles configured with destination addresses
US9560078B2 (en) * 2015-02-04 2017-01-31 Intel Corporation Technologies for scalable security architecture of virtualized networks
US9473945B1 (en) 2015-04-07 2016-10-18 Sprint Communications Company L.P. Infrastructure for secure short message transmission
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
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
US10404470B2 (en) * 2017-01-13 2019-09-03 Microsoft Technology Licensing, Llc Signature verification of field-programmable gate array programs
US10499249B1 (en) 2017-07-11 2019-12-03 Sprint Communications Company L.P. Data link layer trust signaling in communication network
US10685106B2 (en) 2018-03-10 2020-06-16 International Business Machines Corporation Protecting cognitive code and client data in a public cloud via deployment of data and executables into a stateless secure partition
US11068607B2 (en) 2018-03-10 2021-07-20 International Business Machines Corporation Protecting cognitive code and client data in a public cloud via deployment of data and executables into a secure partition with persistent data
US10853498B2 (en) * 2018-09-19 2020-12-01 Dell Products L.P. Secure boot orchestration device in a virtual desktop infrastructure
US11165575B2 (en) * 2019-01-02 2021-11-02 Citrix Systems, Inc. Tracking tainted connection agents
US11061711B2 (en) 2019-09-23 2021-07-13 Red Hat, Inc. Storage deduplication for virtual machines with encrypted storage
US11232030B2 (en) 2019-09-27 2022-01-25 Red Hat Inc. Storage deduplication for virtual machines with encrypted storage
US11656891B2 (en) 2019-09-27 2023-05-23 Red Hat, Inc. Copy-on-write for virtual machines with encrypted storage
KR20210069473A (ko) 2019-12-03 2021-06-11 삼성전자주식회사 사용자에 대한 인증을 통해 유저 데이터에 대한 권한을 부여하는 시큐리티 프로세서 및 이를 포함하는 컴퓨팅 시스템
US11768611B2 (en) 2020-04-02 2023-09-26 Axiado Corporation Secure boot of a processing chip
CN112257064B (zh) * 2020-10-31 2024-02-09 海光信息技术股份有限公司 一种嵌套页表度量方法、装置及相关设备
US11995197B2 (en) * 2021-07-27 2024-05-28 International Business Machines Corporation Sensitive data encryption
WO2023115248A1 (en) * 2021-12-20 2023-06-29 Intel Corporation Circuitry and methods for implementing a trusted execution environment security manager
WO2023191895A1 (en) * 2022-03-28 2023-10-05 Intel Corporation Secure shared memory buffer for communications between trusted execution environment virtual machines

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6560706B1 (en) * 1998-01-26 2003-05-06 Intel Corporation Interface for ensuring system boot image integrity and authenticity
US7137004B2 (en) * 2001-11-16 2006-11-14 Microsoft Corporation Manifest-based trusted agent management in a trusted operating system environment
EP1349033B1 (en) * 2002-03-26 2004-03-31 Soteres GmbH A method of protecting the integrity of a computer program
US7069442B2 (en) * 2002-03-29 2006-06-27 Intel Corporation System and method for execution of a secured environment initialization instruction
US7380119B2 (en) * 2004-04-29 2008-05-27 International Business Machines Corporation Method and system for virtualization of trusted platform modules
JP5016189B2 (ja) * 2004-08-03 2012-09-05 株式会社リコー 電子装置、電子装置の制御方法、プログラム及び記録媒体
US7836299B2 (en) * 2005-03-15 2010-11-16 Microsoft Corporation Virtualization of software configuration registers of the TPM cryptographic processor
WO2007000993A1 (ja) * 2005-06-28 2007-01-04 Matsushita Electric Industrial Co., Ltd. 検証方法、情報処理装置、記録媒体、検証システム、証明プログラム及び検証プログラム
JP4899442B2 (ja) * 2005-11-21 2012-03-21 ソニー株式会社 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム
JP4735331B2 (ja) * 2006-03-01 2011-07-27 日本電気株式会社 仮想マシンを利用した情報処理装置および情報処理システム、並びに、アクセス制御方法
EP1975830A1 (en) * 2007-03-30 2008-10-01 British Telecommunications Public Limited Company Distributed computer system
US8010763B2 (en) * 2007-08-02 2011-08-30 International Business Machines Corporation Hypervisor-enforced isolation of entities within a single logical partition's virtual address space
JP4782871B2 (ja) * 2007-10-03 2011-09-28 富士通株式会社 デバイスアクセス制御プログラム、デバイスアクセス制御方法および情報処理装置
US8171301B2 (en) * 2007-10-07 2012-05-01 Embotics Corporation Method and system for integrated securing and managing of virtual machines and virtual appliances
JP5136012B2 (ja) * 2007-11-16 2013-02-06 富士通株式会社 データ送付方法
US8336094B2 (en) * 2008-03-27 2012-12-18 Juniper Networks, Inc. Hierarchical firewalls
US20090276774A1 (en) * 2008-05-01 2009-11-05 Junji Kinoshita Access control for virtual machines in an information system
JP5369502B2 (ja) * 2008-06-04 2013-12-18 株式会社リコー 機器、管理装置、機器管理システム、及びプログラム
US8479015B2 (en) * 2008-10-17 2013-07-02 Oracle International Corporation Virtual image management
US8560825B2 (en) * 2010-06-30 2013-10-15 International Business Machines Corporation Streaming virtual machine boot services over a network
US8707301B2 (en) * 2010-11-08 2014-04-22 Microsoft Corporation Insertion of management agents during machine deployment

Also Published As

Publication number Publication date
EP2278514B1 (en) 2018-05-30
US20120137117A1 (en) 2012-05-31
KR101318524B1 (ko) 2013-11-21
CN102473213B (zh) 2015-06-17
WO2011006997A1 (en) 2011-01-20
JP2012533128A (ja) 2012-12-20
CN102473213A (zh) 2012-05-23
US8856544B2 (en) 2014-10-07
EP2278514A1 (en) 2011-01-26
JP5497171B2 (ja) 2014-05-21

Similar Documents

Publication Publication Date Title
KR101318524B1 (ko) 보안 가상 머신 호스팅 프로세서 및 보안 가상 머신 설정 방법
US9509692B2 (en) Secured access to resources using a proxy
AU2019322630B2 (en) Distributed security analysis for shared content
US9838398B2 (en) Validating the identity of an application for application management
US9055052B2 (en) Method and system for improving storage security in a cloud computing environment
JP6687641B2 (ja) サーバまたは他の装置からのエントロピーに基づくクライアント装置の認証
US9413538B2 (en) Cryptographic certification of secure hosted execution environments
US8909930B2 (en) External reference monitor
EP2913956B1 (en) Management control method and device for virtual machines
US9124640B2 (en) Systems and methods for implementing computer security
Coppola et al. Automation for industry 4.0 by using secure lorawan edge gateways
Pedone et al. Trusted computing technology and proposals for resolving cloud computing security problems
Paladi et al. Trusted launch of generic virtual machine images in public iaas environments

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: 20180918

Year of fee payment: 6