[go: up one dir, main page]

KR20090053806A - 가상 보안 모듈을 위한 구조 - Google Patents

가상 보안 모듈을 위한 구조 Download PDF

Info

Publication number
KR20090053806A
KR20090053806A KR1020097004786A KR20097004786A KR20090053806A KR 20090053806 A KR20090053806 A KR 20090053806A KR 1020097004786 A KR1020097004786 A KR 1020097004786A KR 20097004786 A KR20097004786 A KR 20097004786A KR 20090053806 A KR20090053806 A KR 20090053806A
Authority
KR
South Korea
Prior art keywords
client
processing
instructions
issued
selection signal
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
KR1020097004786A
Other languages
English (en)
Inventor
데니스 엠. 오'코너
존 피. 브리젝
Original Assignee
인텔 코오퍼레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인텔 코오퍼레이션 filed Critical 인텔 코오퍼레이션
Publication of KR20090053806A publication Critical patent/KR20090053806A/ko
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • G06F21/35User authentication involving the use of external additional devices, e.g. dongles or smart cards communicating wirelessly
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6281Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database at program execution time, where the protection is within the operating system
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/2149Restricted operating environment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Storage Device Security (AREA)
  • User Interface Of Digital Computer (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 프로세서 내에서 클라이언트들에 의해 발행된 명령을 안전하게 식별하고 구분하는 매핑 시스템을 통하여 다수의 활성 애플리케이션의 처리를 지원하는 장치에 관한 것이다. 특정 클라이언트를 위해 식별된 명령 및 클라이언트 추적 시스템에 의하여 그 클라이언트에게 허가된 데이터를 사용하여 그 클라이언트를 위한 알고리즘을 처리하고 서비스를 제공하도록 프로세서에 신호를 전송하기 위하여 개체 선택 신호가 매핑 시스템에 의하여 발생된다. 다른 클라이언트들을 위해 식별된 다른 데이터 액세스 및 명령은 그 알고리즘을 처리할 때 제한된다.
Figure P1020097004786
가상 보안 모듈, 프로세싱 시스템, 매핑 장치, 다수의 활성 애플리케이션, 클라이언트 추적 시스템, 개체 선택 신호, 가상 머신, 보안 도메인

Description

가상 보안 모듈을 위한 구조{ARCHITECTURE FOR VIRTUAL SECURITY MODULE}
업무 및 상거래(commerce)에 사용되는 접속 모바일 컴퓨팅(connected mobile computing) 및 무선 통신 기술은 사용자 데이터와 비밀을 보호할 필요가 있다. 이 구조는, 데이터 프라이버시와 향상된 보안을 보장하기 위해 암호화(encryption)와 해독(decryption) 능력을 제공하는 하드웨어 및 지원 소프트웨어를 사용하여, 디지털 서명(digital signing) 및 키 래핑 동작(key wrapping operation), 해쉬 동작(hash operation) 및 난수 발생(random number generation)을 수행하기 위한 보안 엔진(security engine)을 포함할 수 있다.
이러한 시스템 내의 구조는 오직 허가된 애플리케이션(authorized application)만이 특정 비밀을 사용할 수 있도록 하기 위하여 비밀의 사용을 제한하지만, 현재는 비밀을 사용하는 모든 명령(command)이 암호 허가 확인(cryptographic authorization check)을 거친다. 동시에 실행되는 다수의 활성 애플리케이션을 지원하기 위한 메커니즘이 필요하며, 이는 모든 명령에 허가 확인을 할 필요가 없도록 한다.
본 발명으로 여겨지는 청구 대상은 명세서의 마지막 부분에 구체적으로 지적되어 있고 명백하게 청구되어 있다. 그러나, 본 발명은 구성 및 작동 방법에 관하 여, 그리고 그들의 목적, 특징, 및 그 이점에 관하여도 다음과 같은 첨부도면과 함께 아래 상세한 설명을 참고함으로써 가장 잘 이해될 수 있다.
도 1은 본 발명에 따라 동시에 실행되는 다수의 활성 애플리케이션을 지원하는 가상 보안 및 플랫폼 신뢰 모듈(trust module)을 도시하는 무선 장치의 실시예의 도면.
도 2는 본 발명에 따라 클라이언트 비밀들을 구분하고 보호하기 위한 매핑 시스템을 도시하는 블록도.
도 3은 본 발명에 따라 특정 클라이언트에 의해 발행된 명령을 식별하고 그 클라이언트의 메모리 데이터에 액세스하는 알고리즘을 처리하는 방법을 도시하는 순서도.
간단하고 명료한 도시를 위해 도면에 도시된 요소들이 반드시 일정 비례로 그려진 것은 아니라는 것을 이해해야 한다. 예를 들어, 일부 요소의 치수는 명료성을 위해 다른 요소에 비해 상대적으로 과장되었을 수 있다. 나아가, 적절하다고 여겨지는 곳에, 도면들에서 참고 숫자가 대응되거나 유사한 요소를 나타내기 위해 반복되었다.
이하의 상세한 설명에서, 다수의 특정 상세가 본 발명의 완전한 이해를 제공하기 위하여 설명된다. 그러나, 본 발명은 이러한 특정 상세 없이도 실행될 수 있다고 당업자에게 이해될 것이다. 다른 경우에, 잘 알려진 방법, 절차, 구성요소 및 회로는 본 발명을 불명료하게 하지 않기 위해 상세히 설명되지 않았다.
도 1에 도시된 바와 같이, 본 발명의 실시예는 RF/위치 공간(RF/location space)에서 다른 장치와 통신하도록 하기 위한 무선 장치(radio)를 포함하는 장치(10)로 도시될 수 있다. 따라서, 장치(10)는 표준화된 운영체제(operating system; OS)를 갖고 다양한 애플리케이션 간에 멀티태스킹을 할 수 있으며 무선 네트워크에서 작동할 수 있는 스마트 폰과 같은 통신 장치일 수 있지만, 본 발명은 무선 장치가 아닌 다른 장치에서도 사용될 수 있다는 것을 이해하여야 한다.
도면은 하나 이상의 안테나로부터 변조된 신호를 수신하고 송신하는 송수신기(transceiver; 12)를 도시한다. 프로세서(14)는 주파수 다운-컨버팅(frequency down-convert)되고, 필터링된 신호를 수신하는데, 이는 베이스밴드의 디지털 신호로 변환된다. 프로세서(14)는 일반적으로 명령어를 페치(fetch)하고, 디코드(decode)를 발생시키며, 오퍼랜드(operand)를 찾고, 적절한 동작을 수행하는 알고리즘 함수를 처리하고, 이어서 결과를 저장한다. 프로세서(14)는 프로세서의 작업부하(workload)가 코어들에 분배될 수 있는 경우 베이스밴드 및 어플리케이션 처리 함수 모두를 계산하기 위해 다중 코어(multiple core; 16 및 18)를 사용할 수 있다. 프로세서(14)는 메모리 인터페이스(22)를 통해서 임의 접근 메모리(Random Access Memory; RAM), 읽기 전용 메모리(Read Only Memory; ROM) 그리고 비휘발성 메모리(nonvolatile memory)와 같은 메모리의 조합을 포함하는 시스템 메모리(24)로 데이터를 전달할 수 있는데, 시스템 메모리(24)에 포함되는 메모리의 유형이나 종류가 본 발명을 한정하는 것은 아니다.
장치(10)는 암호 함수(cryptographic function)를 수행하도록 설정된 하드웨어와 공격자로부터 비밀을 보호하기 위한 소프트웨어를 포함하는 가상 보안 및 플랫폼 신뢰 모듈(20)을 사용한다. 일반적으로, 모듈(20)은 암호 키를 생성하고, 저장하고, 관리할 수 있으며, 디지털 서명 동작을 수행할 수 있고 키 및 디지털 증명서를 위한 신뢰의 체인(chain)을 앵커링(anchor)할 수 있다. 따라서, 모듈(20)은 파일 및 폴더를 안전하게 하고, 사용자 정보, 사용자 이름, 암호 및 개인 정보의 저장 및 관리를 안전하게 하기 위한 다양한 서비스를 제공한다.
도 2는 본 발명에 따라 가상 머신(Virtual Machine; VM) 또는 보안 도메인 (Security Domain; SD)과 특정 클라이언트에 속한 비밀의 다양한 세트 사이의 연결(association)을 만드는 모듈(20)의 부분을 도시한다. VM은 네트워크상에서 공통 규칙과 절차로 관리되는 프로세싱 코어 또는 프로세싱 장치의 그룹일 수 있다. 나아가, VM 또는 도메인은 태스크가 수행되도록 하는 자원을 가진 소프트웨어 개체(entity)일 수 있다.
이 도면은 클라이언트에 의해 발행된 명령을 그 명령과 관련된 클라이언트를 식별하기 위해 발생되는 개체 선택 신호(entity selection signal)와 함께 매핑하는 매핑 시스템(208)을 도시한다. 명령 및 개체 선택 신호는 이어서 함께 서비스를 수행하는 개개의 하드웨어 및 소프트웨어 요소의 구성으로 전달된다. 가상 머신 또는 클라이언트(202, 204 또는 206)는 정보 흐름과 액세스 제어를 위한 특정 플랫폼 지시어로 명령을 발행할 수 있다. 예를 들어, 클라이언트 "X"(202)가 명령을 발행하면, 매핑 시스템(208)은 그 명령을 수신하고 그 명령을 클라이언트(202)와 관련하여 명확히 식별하기 위한 개체 선택 신호를 발생시킨다. 명령 및 개체 선택 신호는 이어서 클라이언트 "X"에 할당된 비밀(210)만을 사용하여 알고리즘을 실행하고 계산을 수행하는 보호된 실행 환경을 설정하는데 사용된다. 클라이언트 "Y"의 비밀(212) 및 클라이언트 "Z"의 비밀(214)과 같은 다른 비밀들은 다른 클라이언트들에 속하고(순서대로 클라이언트 "Y"(204)와 클라이언트 "Z"(206)) 클라이언트 "X"(202)를 위해 수행되는 알고리즘 및 계산에는 제한되며 이용될 수 없다.
따라서, 장치(10)는 다수의 활성 애플리케이션을 지원하기 위한 인증 능력(authentication capabilities)을 가진 프로세싱 시스템이다. 매핑 시스템(208)은 다수의 클라이언트(202, 204 및 206)에 의해 발행된 명령을 수신하고, 이 명령들을 이 명령들이 어떤 클라이언트와 관련된 것인지 명확하게 식별할 수 있는 개체 선택 신호와 함께 프로세싱 장치로 전달한다. 이어서 개체 선택 신호에 의해 식별된 클라이언트에 특정된 동작이 수행될 수 있다. 다시, 식별된 클라이언트를 위한 동작은 이전에 그 클라이언트에게 할당된 권리에 속한 명령 및 저장된 데이터를 사용하도록 한정된다. 다른 클라이언트에 할당된 권리에 속하여 저장된 데이터는 제한된 데이터이고 이용될 수 없다.
도면은 요청된 서비스를 위한 보안과 작동 관리를 제공하기 위하여 개체 선택 신호 및 그 신호에 의해 식별되는 클라이언트로부터의 명령을 사용하는 클라이언트 번호 매핑 블록(client number mapping block; 216)을 도시한다. 매핑 시스템(208)은 클라이언트 번호 매핑(216)과 협동하여 안전한 서비스의 유연한 배치를 가능하게 함으로써 큰 분산 시스템에서의 신뢰 관리를 간단하게 한다. 다양한 클라이언트에게 특정한 비밀의 모음은 유지되고 보호되며, 매핑 시스템(208)에 의해 식별되고 클라이언트 번호 매핑(216)에 의해 가능하게 된 특정 클라이언트에게만 그 비밀로의 액세스가 허용된다.
장치(10)의 가상 보안 및 플랫폼 신뢰 모듈(20)은 서비스의 처리에 앞서 특정 클라이언트에게 지정된 비밀의 명시적이고 자율적인 보호를 제공하도록 설계되었다. 애플리케이션 개발자는 서비스 처리를 위해 발행되는 모든 명령에 대해 보안관련 암호 허가 함수(security-related cryptographic authorization function)를 구현하고 검증(verifying)해야 하는 부담을 덜 수 있다. 사용자별(per-user) 또는 시스템별(per-system) 기반으로 개별적으로 특정되는 대신에, 수행될 애플리케이션 또는 서비스는 애플리케이션이 그 비밀과의 연결이 끊어질 때까지 가상 머신 또는 보안 도메인과, 그 후에 장치로 전송되는 모든 명령에 대해 지정된 비밀의 세트 사이의 연결을 유지한다.
도 3은 본 발명의 다양한 실시예에 따른 순서도이며, 본 발명에 따라 특정 클라이언트에 의해 발행된 명령을 식별하는 방법과 그 클라이언트를 위한 메모리 데이터에 액세스하는 알고리즘을 처리하는 방법을 도시한다. 따라서, 방법(300)은 애플리케이션이 사용하도록 허가된 비밀을 보호하기 위한 다수의 가상 머신 또는 다수의 보안 도메인을 지원하는 컴퓨터 시스템에서 사용될 수 있다. 방법(300)은 애플리케이션이 그 비밀과의 연결이 끊어질 때까지 가상 머신 또는 보안 도메인과, 그 후에 장치로 전송되는 모든 명령에 대해 지정된 비밀의 세트 사이의 연결을 안전하게 유지한다.
일부 실시예에서, 방법(300), 또는 그 일부분은, 제어기, 프로세서, 또는 전자 시스템에 의해 수행되는데, 그 실시예는 다양한 도면에 나타나 있다. 방법(300)은 장치, 소프트웨어 요소, 또는 그 방법을 수행하는 시스템의 특정 유형에 한정되지 않는다. 방법(300)의 다양한 동작은 제시된 순서로 수행될 수 있고, 또는 상이한 순서로도 수행될 수 있다. 추가로, 일부 실시예에서, 도 3에 열거된 일부 동작은 방법(300)으로부터 생략될 수 있다.
방법(300)은 (도 1에 도시된 매핑 시스템(208)과 같은) 모니터 블록이 다수의 가상 머신 또는 다수의 보안 도메인으로부터 발행된 명령을 모니터링하는 블록(302)에서 시작하는 것으로 도시되어 있다. 클라이언트로부터 나온 명령은 그 특정 클라이언트에 의하여 발행된 것으로 식별된다. 블록(302)에서 수행되는 방법은 명령이 장치로 전송될 때마다 애플리케이션이 수행되는 VM / SD를 식별하기 위한 개체 선택 신호를 발생시키고, 그 식별자(identity)을 주변 장치(peripheral device)로 전달한다. 식별자는 장치 내의 클라이언트 번호 매핑(218)으로 제공된다.
블록(304)은 클라이언트를 위해 식별된 명령을 사용하여 그 클라이언트를 위한 알고리즘을 처리하는 장치를 보여준다. 캐쉬(cache) 및 시스템 메모리에 저장된 데이터가 액세스될 수 있으나, 메모리에 저장된 비밀은 클라이언트 추적 시스템(client tracking system)(클라이언트 번호 매핑(218), 도 2를 참고)에 의해 허가되어야만 액세스될 수 있다. 매핑 시스템(208) 및 클라이언트 번호 매핑(218)은 애플리케이션이 장치 내의 어떤 비밀과 어떤 명령을 사용하도록 허용되어야 하는지에 관하여 운영체제 또는 하이퍼바이저(hypervisor)로부터 장치로의 안전한 통신을 허용하기 위해 자원을 제어한다. 블록(306)은 애플리케이션이 그 비밀과의 연결이 끊어질 때까지 VM 또는 SD와, 그 후에 장치로 전송되는 모든 명령에 대해 지정된 비밀의 세트 사이의 연결을 유지함으로써 애플리케이션이 시스템의 보안을 손상시킬 수 있는 비밀의 사용을 하지 못하도록 막는 것을 도시한다.
동작 중, 프로세서 내의 하드웨어는 각각의 VM 또는 SD를 고유하게 식별할 수 있는 상태 비트(state bits)를 포함할 수 있다. 일부 프로세서에서 이는 프로세스 식별자(Process Identifier; PID) 또는 어드레스 공간 식별자(Adress Space Identifier; ASID)일 수 있다. VM 또는 SD에서 실행되는 애플리케이션이 주변장치로 명령을 전송할 때, 프로세서 하드웨어는 어떤 VM 또는 SD가 그 명령을 전송하는지 주변장치에게 알리기 위해 주변장치로 신호를 전송한다. 이 신호 전송은 프로세서에 의하여 또는 어드레스 버스와 같은 다른 신호로 정보를 인코딩하는 것에 의하여 출력되는 전용 신호(dedicated signal)를 통하여 이루어질 수 있다. 이어서 주변장치는 전송된 명령 및 이 명령을 실행하는데 사용되는 데이터가 명령을 전송한 VM 또는 SD에 적합하다는 것을 확신할 것이다.
수행 중 빈번히, 특정 애플리케이션을 실행하는 VM 또는 SD에 관련된 식별자가 변경될 수 있고, 따라서 SD / VM 식별자로부터 한 세트의 비밀로의 동적 매핑(dynamic mapping)이 제공된다. 비밀을 사용하는 애플리케이션이 시작되었을 때, OS(또는 하이퍼바이저)는 먼저 그 애플리케이션의 무결성(integrity) 및 식별자 모두를 확인하며 애플리케이션을 인증(authenticate)한다. 일단 애플리케이션이 인증되면, OS는 이어서 VM / SD 식별자 및 토큰(토큰은 관련되어 저장된 비밀의 세트 및 그 애플리케이션에 허용된 동작의 세트의 사용을 잠금 해제함) 모두를 주변장치로 전달한다. 애플리케이션이 정지(halt)되거나 중단되었을 때, OS는 연결을 해제하기 위해 다른 하나의 명령을 주변장치로 전송한다. 애플리케이션은 연결을 스스로 종료할 수도 있지만, 그 자신과의 연결만을 종료할 수 있다. OS는 특별한 VM / SD 식별자를 포함할 수 있는데, 이 식별자는 하드웨어가 단지 OS만이 VM / SD 식별자를 한 세트의 비밀과 연결시키기 위해 명령어를 보낼 수 있도록 하기 위해 사용한다.
주변장치는 VM / SD 와 비밀 사이의 다수의 연결을 동시에 저장할 수 있다는 것이 지적되어야 한다. 추가로 다수의 VM 또는 SD가 동시에 동일한 비밀의 세트에 연결되는 것도 가능할 수 있다. 이것은 동일한 프로그램의 다수의 인스턴스가 상이한 VM 또는 SD에서 실행되고, 하나의 VM 또는 SD가 비밀의 몇 개의 세트와 연결되는 경우일 수 있다.
이제 회로와 방법이 프로세서 내에서의 다수의 활성 애플리케이션의 처리를 지원하기 위해 제공되었다는 것이 명백할 것이다. 본 발명의 실시예는 제1 클라이언트에 의해 발행된 명령을 다른 클라이언트에 의해 발행된 명령으로부터 식별하는 매핑 시스템을 통하여 소프트웨어뿐 아니라 하드웨어 레벨로 보안을 추구한다. 매핑 시스템에 의하여 발생된 개체 선택 신호는 제1 클라이언트를 위해 식별된 명령 및 클라이언트 추적 시스템에 의하여 제1 클라이언트에게 허가된 데이터를 사용하여 제1 클라이언트를 위한 알고리즘을 처리하도록 프로세서에 신호를 보낸다. 다른 클라이언트를 위해 식별된 다른 데이터 액세스 및 명령은 그 알고리즘을 처리할 때 제한된다.
본 발명의 일부 특징들이 여기에 도시되었고 기술되었지만, 많은 변형, 치환, 변경 등이 당업자에게 일어날 것이다. 따라서, 첨부된 특허청구범위는 본 발명의 본질적인 사상에 속하는 그러한 변형 및 변경 모두를 포함하도록 의도되었다.

Claims (17)

  1. 인증 능력을 가진 프로세싱 시스템으로서,
    제1 및 제2 클라이언트;
    상기 제1 및 제2 클라이언트에 의해 발행된 명령들을 수신하고, 상기 제1 클라이언트에 의해 발행된 명령을 상기 제2 클라이언트에 의해 발행된 명령으로부터 고유하게 식별하기 위한 신호를 발생시키는 매핑 장치; 및
    상기 제1 및 제2 클라이언트를 위해 저장된 데이터에 액세스할 수 있는 프로세싱 장치
    를 포함하고,
    상기 제1 클라이언트로부터의 명령으로 식별된 명령들을 통해 요청된 동작들은 이전에 상기 제1 클라이언트에게 할당된 권리들에 속한 데이터로 제한되고, 상기 제2 클라이언트로부터의 명령으로 식별된 명령들을 통해 요청된 동작들은 이전에 상기 제2 클라이언트에게 할당된 권리들에 속한 데이터로 제한되는 프로세싱 시스템.
  2. 제1항에 있어서,
    명령을 고유하게 식별하기 위한 상기 신호는 전용 신호(dedicated signal)인 프로세싱 시스템.
  3. 제1항에 있어서,
    상기 제1 및 제2 클라이언트에 의해 발행된 명령들을 수신하는 상기 매핑 장치는 상기 프로세싱 장치에 내장되어 있는 프로세싱 시스템.
  4. 제1항에 있어서,
    상기 프로세싱 시스템은 무선 신호들(over the air signals)을 수신하기 위한 송수신기를 더 포함하는 프로세싱 시스템.
  5. 제1항에 있어서,
    이전에 상기 제1 클라이언트에게 할당된 권리들에 속한 상기 데이터는 상기 제1 클라이언트에게 준비된(reserved) 비밀들을 포함하는 프로세싱 시스템.
  6. 프로세서 내에서 복수의 활성 애플리케이션을 지원하는 방법으로서,
    제1 클라이언트에 의하여 발행된 명령들을 다른 클라이언트들에 의하여 발행된 명령들로부터 식별하는 단계; 및
    클라이언트 추적 시스템에 의해 상기 제1 클라이언트를 위해 허가된 데이터에 액세스하는 상기 제1 클라이언트를 위해 식별된 명령들을 이용하여 상기 제1 클라이언트를 위한 알고리즘을 처리하면서, 상기 알고리즘을 처리할 때 상기 다른 클라이언트들을 위해 식별된 명령들을 수행하는 것을 제한하고 데이터 액세스를 제한하는 단계
    를 포함하는 방법.
  7. 제6항에 있어서,
    상기 제1 클라이언트에 의하여 발행된 명령들을 다른 클라이언트들에 의하여 발행된 명령들로부터 식별하는 단계는 상기 제1 클라이언트를 식별하기 위한 개체 선택 신호를 발생시키는 단계를 더 포함하는 방법.
  8. 제7항에 있어서,
    상기 알고리즘을 처리하는데 있어서 상기 명령들을 이용하기 전에 상기 제1 클라이언트를 식별하기 위하여 상기 개체 선택 신호를 사용하는 단계를 더 포함하는 방법.
  9. 제6항에 있어서,
    상기 프로세서는 상기 개체 선택 신호를 이용하여 상기 제1 클라이언트를 위한 데이터 액세스와 명령들을 구분함으로써 상기 복수의 활성 애플리케이션을 동시에 처리하는 단계를 더 포함하는 방법.
  10. 장치로서,
    클라이언트로부터 발행된 명령을, 상기 클라이언트와 관련된 애플리케이션들을 위한 동작들을 수행하는데 있어서 명령들과 데이터 액세스를 제한하는데 사용되 는 개체 선택 신호와 연결하는 추적 시스템(tracking system)을 포함하는 장치.
  11. 제10항에 있어서,
    상기 추적 시스템은 상기 개체 선택 신호에 따라 데이터와 명령들에 액세스할 수 있도록 하는 장치.
  12. 제10항에 있어서,
    상기 추적 시스템은 상기 클라이언트에 의하여 발행된 명령들을 다른 클라이언트들에 의하여 발행된 명령들로부터 식별하고 구분하는 매핑 시스템을 통하여 프로세서 내의 복수의 활성 애플리케이션의 처리를 지원하는 장치.
  13. 제10항에 있어서,
    상기 매핑 시스템은 복수의 클라이언트가 동시에 동일한 비밀들의 세트에 연결될 수 있도록 하기 위하여 상기 클라이언트들과 비밀들 사이의 연결들을 매핑하는 것을 더 포함하는 장치.
  14. 제10항에 있어서,
    동일한 프로그램의 복수의 인스턴스가 상이한 가상 머신들에서 수행되고 하나의 가상 머신이 비밀들의 여러 세트(several sets)에 연결되어 있는 장치.
  15. 프로세싱 시스템으로서,
    제1 및 제2 가상 머신;
    상기 제1 가상 머신에 의해 발행된 명령에 제1 개체 선택 신호를 첨부하고 상기 제2 가상 머신에 의해 발행된 명령에 제2 개체 선택 신호를 첨부하는 매핑 장치; 및
    상기 제1 개체 선택 신호를 수신하고, 상기 제1 가상 머신에 의해 발행된 상기 명령을 실행하며, 상기 제1 가상 머신과 관련된 애플리케이션들을 위한 동작들을 수행하는데 있어서 데이터 액세스를 가능하게 하고, 상기 제2 가상 머신과 관련된 명령들 및 데이터의 액세스를 제한하는 프로세싱 장치
    를 포함하는 프로세싱 시스템.
  16. 제15항에 있어서,
    상기 프로세싱 장치는 상기 제2 개체 선택 신호를 수신하고, 상기 제2 가상 머신에 의해 발행된 상기 명령을 실행하며, 상기 제2 가상 머신과 관련된 애플리케이션들을 위한 동작들을 수행하는데 있어서 데이터 액세스를 가능하게 하고, 상기 제1 가상 머신과 관련된 명령들 및 데이터의 액세스를 제한하는 프로세싱 시스템.
  17. 제15항에 있어서,
    상기 제1 가상 머신을 식별하는 상기 제1 개체 선택 신호 및 상기 제2 가상 머신을 식별하는 상기 제2 개체 선택 신호를 발생시키는 매핑 시스템을 더 포함하 는 프로세싱 시스템.
KR1020097004786A 2006-09-29 2007-09-26 가상 보안 모듈을 위한 구조 Ceased KR20090053806A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/529,987 2006-09-29
US11/529,987 US8479264B2 (en) 2006-09-29 2006-09-29 Architecture for virtual security module

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020117023055A Division KR101372109B1 (ko) 2006-09-29 2007-09-26 가상 보안 모듈을 위한 구조

Publications (1)

Publication Number Publication Date
KR20090053806A true KR20090053806A (ko) 2009-05-27

Family

ID=39268967

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020097004786A Ceased KR20090053806A (ko) 2006-09-29 2007-09-26 가상 보안 모듈을 위한 구조
KR1020117023055A Expired - Fee Related KR101372109B1 (ko) 2006-09-29 2007-09-26 가상 보안 모듈을 위한 구조

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020117023055A Expired - Fee Related KR101372109B1 (ko) 2006-09-29 2007-09-26 가상 보안 모듈을 위한 구조

Country Status (8)

Country Link
US (2) US8479264B2 (ko)
EP (1) EP2069999A4 (ko)
JP (1) JP4940460B2 (ko)
KR (2) KR20090053806A (ko)
CN (1) CN101517591B (ko)
BR (1) BRPI0716843A2 (ko)
RU (1) RU2444783C2 (ko)
WO (1) WO2008042191A2 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8479264B2 (en) 2006-09-29 2013-07-02 Micron Technology, Inc. Architecture for virtual security module
US8990584B2 (en) 2010-05-28 2015-03-24 Dell Products, Lp System and method for supporting task oriented devices in a client hosted virtualization system
US8458490B2 (en) 2010-05-28 2013-06-04 Dell Products, Lp System and method for supporting full volume encryption devices in a client hosted virtualization system
US8751781B2 (en) 2010-05-28 2014-06-10 Dell Products, Lp System and method for supporting secure subsystems in a client hosted virtualization system
US8938774B2 (en) * 2010-05-28 2015-01-20 Dell Products, Lp System and method for I/O port assignment and security policy application in a client hosted virtualization system
US8527761B2 (en) 2010-05-28 2013-09-03 Dell Products, Lp System and method for fuse enablement of a secure client hosted virtualization in an information handling system
US8589702B2 (en) 2010-05-28 2013-11-19 Dell Products, Lp System and method for pre-boot authentication of a secure client hosted virtualization in an information handling system
JP5719244B2 (ja) * 2011-06-29 2015-05-13 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 安全に管理された仮想マシンの実行環境を構築する方法、プログラムおよびコンピュータ装置
US9037511B2 (en) * 2011-09-29 2015-05-19 Amazon Technologies, Inc. Implementation of secure communications in a support system
KR101907486B1 (ko) * 2012-09-14 2018-10-12 한국전자통신연구원 보안성이 우수한 실행환경을 제공하는 이동 컴퓨팅 시스템
WO2014057369A1 (en) * 2012-10-12 2014-04-17 Koninklijke Philips N.V. Secure data handling by a virtual machine
WO2015166216A1 (en) 2014-05-02 2015-11-05 Barclays Bank Plc Transaction authentication
GB2519826B (en) * 2013-10-30 2016-07-20 Barclays Bank Plc Transaction authentication
US9916185B2 (en) * 2014-03-18 2018-03-13 International Business Machines Corporation Managing processing associated with selected architectural facilities
US9582295B2 (en) 2014-03-18 2017-02-28 International Business Machines Corporation Architectural mode configuration
US20150278512A1 (en) 2014-03-28 2015-10-01 Intel Corporation Virtualization based intra-block workload isolation
KR102126218B1 (ko) * 2015-11-04 2020-06-24 한국전자통신연구원 동적 명령어 처리 장치 및 방법
US10514943B2 (en) * 2016-11-17 2019-12-24 Qualcomm Incorporated Method and apparatus for establishing system-on-chip (SOC) security through memory management unit (MMU) virtualization
US10757082B2 (en) * 2018-02-22 2020-08-25 International Business Machines Corporation Transforming a wrapped key into a protected key
US11443040B2 (en) * 2019-03-08 2022-09-13 International Business Machines Corporation Secure execution guest owner environmental controls
US11321238B2 (en) * 2020-08-11 2022-05-03 Micron Technology, Inc. User process identifier based address translation

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3228182B2 (ja) * 1997-05-29 2001-11-12 株式会社日立製作所 記憶システム及び記憶システムへのアクセス方法
JP4170466B2 (ja) * 1998-09-18 2008-10-22 富士通株式会社 コマンド認証方法
CA2371124A1 (en) * 2001-02-09 2002-08-09 Itaru Kawakami Information processing method/apparatus and program
US7073059B2 (en) * 2001-06-08 2006-07-04 Hewlett-Packard Development Company, L.P. Secure machine platform that interfaces to operating systems and customized control programs
JP3571708B2 (ja) * 2002-06-26 2004-09-29 コナミ株式会社 サーバ装置及びプログラム
JP3964770B2 (ja) * 2002-10-09 2007-08-22 株式会社東芝 光ディスク装置及び光ディスク装置の制御方法
US7409487B1 (en) * 2003-06-30 2008-08-05 Vmware, Inc. Virtualization system for computers that use address space indentifiers
CN100426719C (zh) * 2003-09-01 2008-10-15 台均科技(深圳)有限公司 用户端设备与本地客户端应用服务器或远程网络服务器间鉴权的方法
US20050138393A1 (en) * 2003-12-22 2005-06-23 Challener David C. Determining user security level using trusted hardware device
US7222062B2 (en) * 2003-12-23 2007-05-22 Intel Corporation Method and system to support a trusted set of operational environments using emulated trusted hardware
CN1635738A (zh) * 2003-12-26 2005-07-06 鸿富锦精密工业(深圳)有限公司 通用认证授权服务系统及方法
US7454756B2 (en) * 2004-03-05 2008-11-18 Intel Corporation Method, apparatus and system for seamlessly sharing devices amongst virtual machines
US7552419B2 (en) * 2004-03-18 2009-06-23 Intel Corporation Sharing trusted hardware across multiple operational environments
US7380119B2 (en) * 2004-04-29 2008-05-27 International Business Machines Corporation Method and system for virtualization of trusted platform modules
US20050278790A1 (en) * 2004-06-10 2005-12-15 International Business Machines Corporation System and method for using security levels to simplify security policy management
US7590867B2 (en) * 2004-06-24 2009-09-15 Intel Corporation Method and apparatus for providing secure virtualization of a trusted platform module
FR2873466A1 (fr) * 2004-07-21 2006-01-27 St Microelectronics Sa Procede de programmation d'un controleur de dma dans un systeme sur puce et systeme sur puce associe
US7562179B2 (en) * 2004-07-30 2009-07-14 Intel Corporation Maintaining processor resources during architectural events
US7836299B2 (en) * 2005-03-15 2010-11-16 Microsoft Corporation Virtualization of software configuration registers of the TPM cryptographic processor
US20070056033A1 (en) * 2005-03-31 2007-03-08 Grawrock David W Platform configuration apparatus, systems, and methods
US7707629B2 (en) * 2005-03-31 2010-04-27 Intel Corporation Platform configuration register virtualization apparatus, systems, and methods
US7587595B2 (en) * 2005-05-13 2009-09-08 Intel Corporation Method and apparatus for providing software-based security coprocessors
US7478220B2 (en) * 2005-06-23 2009-01-13 International Business Machines Corporation Method, apparatus, and product for prohibiting unauthorized access of data stored on storage drives
US20070079120A1 (en) * 2005-10-03 2007-04-05 Bade Steven A Dynamic creation and hierarchical organization of trusted platform modules
US8479264B2 (en) 2006-09-29 2013-07-02 Micron Technology, Inc. Architecture for virtual security module

Also Published As

Publication number Publication date
US9141810B2 (en) 2015-09-22
WO2008042191A2 (en) 2008-04-10
EP2069999A2 (en) 2009-06-17
RU2444783C2 (ru) 2012-03-10
US20080104673A1 (en) 2008-05-01
WO2008042191A3 (en) 2008-07-03
KR20110124339A (ko) 2011-11-16
RU2009116231A (ru) 2010-11-10
BRPI0716843A2 (pt) 2013-10-01
US8479264B2 (en) 2013-07-02
EP2069999A4 (en) 2010-11-10
CN101517591B (zh) 2014-04-02
JP2010500694A (ja) 2010-01-07
CN101517591A (zh) 2009-08-26
US20130298205A1 (en) 2013-11-07
KR101372109B1 (ko) 2014-03-07
JP4940460B2 (ja) 2012-05-30

Similar Documents

Publication Publication Date Title
KR101372109B1 (ko) 가상 보안 모듈을 위한 구조
US20230128711A1 (en) Technologies for trusted i/o with a channel identifier filter and processor-based cryptographic engine
US11126706B2 (en) Hypervisor measurement agent
EP2913956B1 (en) Management control method and device for virtual machines
US9507964B2 (en) Regulating access using information regarding a host machine of a portable storage drive
US20110289294A1 (en) Information processing apparatus
US20170104597A1 (en) Technologies for end-to-end biometric-based authentication and platform locality assertion
US20090125974A1 (en) Method and system for enforcing trusted computing policies in a hypervisor security module architecture
CN104318176B (zh) 用于终端的数据管理方法、数据管理装置和终端
EP3304401A1 (en) System, apparatus and method for controlling multiple trusted execution environments in a system
CN105447406A (zh) 一种用于访问存储空间的方法与装置
US10747885B2 (en) Technologies for pre-boot biometric authentication
WO2015117523A1 (zh) 访问控制方法及装置
CN116823585A (zh) Gpu可信执行环境的构建方法、gpu可信计算执行方法及装置
KR101107056B1 (ko) 클라우드 컴퓨팅 환경에서 가상 머신의 보안 정보 처리 방법
CN114600102A (zh) 用于保护共享对象的装置和方法
CN116450281A (zh) 访问处理方法、虚拟机标识配置方法、芯片及计算机设备
CN116126463A (zh) 内存访问方法、配置方法、计算机系统及相关器件
HK1135490A (en) Architecture for virtual security module
HK1135490B (en) Architecture for virtual security module
Johnson et al. Supporting Intel (r) SGX on Multi-Package Platforms
CN119358020B (zh) 存储系统、方法、电子设备、存储介质及程序产品
CN116226870B (zh) 安全增强系统及方法
Kostiainen et al. Key attestation from trusted execution environments
CN118972839A (zh) 用于生成安全密钥的方法、无线控制设备和介质

Legal Events

Date Code Title Description
A201 Request for examination
PA0105 International application

Patent event date: 20090306

Patent event code: PA01051R01D

Comment text: International Patent Application

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20101015

Patent event code: PE09021S01D

E601 Decision to refuse application
PE0601 Decision on rejection of patent

Patent event date: 20110531

Comment text: Decision to Refuse Application

Patent event code: PE06012S01D

Patent event date: 20101015

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I

J201 Request for trial against refusal decision
PJ0201 Trial against decision of rejection

Patent event date: 20110831

Comment text: Request for Trial against Decision on Refusal

Patent event code: PJ02012R01D

Patent event date: 20110531

Comment text: Decision to Refuse Application

Patent event code: PJ02011S01I

Appeal kind category: Appeal against decision to decline refusal

Decision date: 20111010

Appeal identifier: 2011101006231

Request date: 20110831

A107 Divisional application of patent
PA0104 Divisional application for international application

Comment text: Divisional Application for International Patent

Patent event code: PA01041R01D

Patent event date: 20110930

J121 Written withdrawal of request for trial
PC1202 Submission of document of withdrawal before decision of registration

Comment text: [Withdrawal of Procedure relating to Patent, etc.] Withdrawal (Abandonment)

Patent event code: PC12021R01D

Patent event date: 20111010

PJ1201 Withdrawal of trial

Patent event code: PJ12011R01D

Patent event date: 20111010

Comment text: Written Withdrawal of Request for Trial

Appeal identifier: 2011101006231

Request date: 20110831

Appeal kind category: Appeal against decision to decline refusal

Decision date: 20111010

WITB Written withdrawal of application