KR20090078563A - 컨텐츠를 안전하게 공유하는 방법 및 시스템 - Google Patents

컨텐츠를 안전하게 공유하는 방법 및 시스템 Download PDF

Info

Publication number
KR20090078563A
KR20090078563A KR1020080004458A KR20080004458A KR20090078563A KR 20090078563 A KR20090078563 A KR 20090078563A KR 1020080004458 A KR1020080004458 A KR 1020080004458A KR 20080004458 A KR20080004458 A KR 20080004458A KR 20090078563 A KR20090078563 A KR 20090078563A
Authority
KR
South Korea
Prior art keywords
content
domain
writing
memory
virtualization layer
Prior art date
Application number
KR1020080004458A
Other languages
English (en)
Other versions
KR101425621B1 (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 삼성전자주식회사
Priority to KR1020080004458A priority Critical patent/KR101425621B1/ko
Priority to US12/333,692 priority patent/US8275884B2/en
Publication of KR20090078563A publication Critical patent/KR20090078563A/ko
Application granted granted Critical
Publication of KR101425621B1 publication Critical patent/KR101425621B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 컨텐츠를 안전하게 공유하는 방법 및 시스템에 관한 것으로서, 보다 상세하게는 컨텐츠를 허용되지 않은 외부로 유출하지 않고 공유하는 컨텐츠를 안전하게 공유하는 방법 및 시스템에 관한 것이다.
본 발명의 실시예에 따른 컨텐츠를 안전하게 공유하는 방법은, 하나의 하드웨어 플랫폼 상에 논리적으로 생성된 복수의 도메인 중 보안이 필요한 컨텐츠를 소유하는 제1 도메인이 다른 적어도 하나의 제2 도메인과 상기 컨텐츠를 공유하는 단계; 및 상기 제2 도메인이 상기 컨텐츠의 쓰기가 허용되지 않는 영역에 상기 컨텐츠를 쓰려는 경우 상기 컨텐츠의 쓰기를 방지하는 단계를 포함한다.
컨텐츠, 공유, 가상화

Description

컨텐츠를 안전하게 공유하는 방법 및 시스템{Method and system for sharing contents securely}
본 발명은 컨텐츠를 안전하게 공유하는 방법 및 시스템에 관한 것으로서, 보다 상세하게는 컨텐츠를 허용되지 않은 외부로 유출하지 않고 공유하는 컨텐츠를 안전하게 공유하는 방법 및 장치에 관한 것이다.
모바일 통신 단말, 휴대형 컴퓨터 및 PDA와 같은 다양한 전자 장치들은, 어플리케이션 프로그램, 암호 키들, 암호 키 데이터 자료, 중간 암호 산출 결과, 패스워드, 외부적 다운로드 데이터에 대한 인증 등과 같은 보안 관련 요소들에 대한 액세스를 필요로 한다. 보통 이러한 요소들 및 이들의 처리는 그 전자 장치 안에서 비밀리에 다뤄져야 할 필요가 있다. 이상적으로는, 이들이 가능한 한 극소수의 사람에게 알려져야 한다.
따라서, 안전한 실행 환경이 도입되고, 이 환경하에서 전자 장치 안의 프로세서가 보안 관련 요소들에 액세스할 수 있게 된다.
어플리케이션 프로그램의 제공자들은 변형 억제 소프트웨어를 생성하기 위해 프로그램들을 암호화한다. 어플리케이션 프로그램 코드가 보안 환경에서 실행될 때만, 코드가 해독되고 평범한 텍스트로서 다뤄진다.
2000년 11월 열린, 프로그래밍 언어 및 운용 시스템에 대한 구조적 지원에 대한 제7차 국제 회의 절차시 출간된 David Lie 등의 "카피 및 변형 억제 소프트웨어를 위한 구조적 지원(Architectural Support for Copy and Tamper Resistant Software)"은 XOM(eXecute Only Memory)라고 불리는 시스템을 개시한다. 모든 XOM 프로세서는 공개/비밀 키 한 쌍을 포함하며, 비밀 키는 하드웨어에 보관되어 프로세서에만 알려지고 프로세서의 소유자나 다른 누구에게도 알려지지 않는다. XOM 소프트웨어는 구매될 때 공개/비밀 키 쌍에 의한 암호화를 거친다. 실행 직전에 프로세서에 의해 실행가능 코드가 해독되며 평범한 텍스트 코드는 절대 프로세서 칩에 남지 않는다. 이러한 유형의 구조에 있어서, 일반 데이터의 경우 데이터가 암호화되고, 서로 다른 응용 프로그램 간에 이 암호화된 데이터를 공유하기 위해 공통의 공유하는 키를 사용하게 되는데, 복호화된 데이터는 외부로 유출될 수 있는 가능성을 내재하고 있다.
예를 들면, 데이터를 공용 컴퓨터에 접속하여 프린트하거나, 디스플레이하려고 하는 경우, 공용 컴퓨터가 바이러스에 감염되어 있을 수 있으며, 이로 인해 데이터가 외부로 유출될 수도 있다.
한편, 인터넷에서 익명의 사용자가 공개한 편집 프로그램을 사용해서 자신의 데이터를 수정하려고 하는 경우, 프로그램이 바이러스를 포함하고 있을 수 있고, 악의적인 소프트웨어일 가능성이 있어서, 이로 인해 데이터가 외부로 유출될 수도 있다.
본 발명은 상기한 문제점을 개선하기 위해 안출된 것으로, 컨텐츠를 허용되지 않은 외부로 유출하지 않고 공유하는 컨텐츠를 안전하게 공유하는 방법 및 시스템을 제공하는 데 그 목적이 있다.
그러나 본 발명의 목적들은 상기에 언급된 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 컨텐츠를 안전하게 공유하는 방법은, 하나의 하드웨어 플랫폼 상에 논리적으로 생성된 복수의 도메인 중 보안이 필요한 컨텐츠를 소유하는 제1 도메인이 다른 적어도 하나의 제2 도메인과 상기 컨텐츠를 공유하는 단계; 및 상기 제2 도메인이 상기 컨텐츠의 쓰기가 허용되지 않는 영역에 상기 컨텐츠를 쓰려는 경우 상기 컨텐츠의 쓰기를 방지하는 단계를 포함한다.
상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 컨텐츠를 안전하게 공유하는 시스템은, 하나의 하드웨어 플랫폼 상에 복수의 도메인을 논리적으로 생성하는 가상화 계층부를 포함하고; 상기 복수의 도메인은 보안이 필요한 컨텐츠를 소유하는 제1 도메인과, 상기 제1 도메인과 상기 컨텐츠를 공유하는 적어도 하나의 제2 도메인을 포함하며; 상기 가상화 계층부는 상기 제2 도메인이 상기 컨텐츠의 쓰기가 허용되지 않는 영역에 상기 컨텐츠를 쓰려는 경우 상기 컨텐츠의 쓰기를 방지한다.
상기한 바와 같이 본 발명에 의한 컨텐츠를 안전하게 공유하는 방법 및 시스템에 따르면, 컨텐츠를 허용되지 않은 외부로 유출하지 않고 안전하게 공유할 수 있는 효과가 있다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있으며, 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다.
그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이하, 첨부된 도면들을 참고하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.
이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다.
이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기 타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다.
이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때 로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
도 1은 본 발명의 실시예에 따른 컨텐츠를 안전하게 공유하는 시스템의 구성을 개략적으로 나타내는 블록도이다.
가상화 기술(Virtualization Technology)은 하나의 하드웨어 플랫폼 상에서 복수의 운영체제를 구동할 수 있도록 하는 기술이다. 보다 구체적으로, 가상화 기술은 직접 가상화 계층을 제공하는 가상 머신 모니터(Virtual Machine Monitor ; VMM) 혹은 하이퍼바이저(Hypervisor)를 두고, 이 가상화 계층 상에 복수의 논리적인 가상 머신(Virtual Machine ; VM)이 생성되도록 한다. 복수의 가상 머신은 각각 복수의 도메인(domain)을 구성하고, 각각의 도메인은 서로 다른 운영체제를 탑재하여 운용할 수 있으며, 각각의 운영체제 상에는 해당 운영체제에서 지원되는 프로그램이 설치될 수 있다.
본 발명의 실시예에 따른 컨텐츠를 안전하게 공유하는 시스템은 이러한 가상화 기술을 기반으로 하며, 공용 컴퓨터의 어플리케이션 혹은 주변 장치들의 서비스를 제공받고자 하는 경우 혹은 개인 컴퓨터로 다운로드한 어플리케이션으로부터 서비스를 제공받고자 하는 경우에 적용될 수 있으나, 이에 한정되는 것은 아니다.
본 발명의 실시예에 따른 컨텐츠를 안전하게 공유하는 시스템은, 하드웨어 플랫폼(100), 가상화 계층부(120), 가상화 계층부(120) 상에 생성되는 복수의 논리적인 도메인(domain)(140, 160, 180)을 포함한다. 여기서, 컨텐츠는 사진 파일, 비디오 파일 등일 수 있으나, 이에 한정되지는 않는다.
설명의 편의상 도 1에 도시된 도메인을 각각 '제1 도메인(140)', '제2 도메 인(160)', '제3 도메인(180)'이라 칭하기로 한다.
그리고, 제1 도메인(140)은 보안이 필요한 사용자의 사적인(private) 컨텐츠(이하, '보안 데이터'라 칭한다.)를 소유하고 있고, 제2 도메인(160)은 제1 도메인(140)의 보안 데이터를 공유할 수 있고, 제3 도메인(180)은 제1 도메인(140)의 보안 데이터를 공유할 수 없다고 가정하자. 여기서, 제3 도메인(180)은 제1 도메인(140)의 입장에서 보면, 제1 도메인(140)에게 어떠한 서비스도 제공하지 않는 도메인이다. 물론, 제2 도메인(160)이나 제3 도메인(180)도 각각 보안 데이터를 소유하고 나머지 다른 도메인들에게 이 보안 데이터를 공유하거나 공유하지 않도록 할 수 있으나, 본 실시예에서는 설명의 편의를 위해 그러한 점은 고려하지 않기로 한다.
여기서, 보안 데이터는 사용자가 직접 제작한 컨텐츠일 수 있으나, 이에 한정되는 것은 아니다. 그리고, 이러한 보안 데이터는 저장 장치(storage)에 저장된 영구적인(permanent) 데이터이거나 저장 장치에는 저장되어 있지 않고 시스템 내의 메모리 상에만 존재하는 휘발성(volatile) 데이터일 수 있다.
하드웨어 플랫폼(100)은 CPU(Central Processing Unit), 메모리, 입출력 포트(I/O port), 저장 장치 등을 포함하는 실제의 하드웨어 장치를 의미한다.
가상화 계층부(120)는 하나의 하드웨어 플랫폼(100) 상에서 여러 개의 가상의 하드웨어 플랫폼을 생성하여 운영체제에 보여주는 역할을 하는 가상 머신 모니터 혹은 하이퍼바이저일 수 있으나, 이에 한정되는 것은 아니다.
제1 도메인(140)은 보안 데이터를 소유하고 있으며, 사용자의 파일 서비스를 담당하기 때문에 파일 서버 가상 머신(File Server Virtual Machine : FSVM)으로서의 역할도 수행할 수 있다.
제1 도메인(140)의 보안 데이터가 저장된 저장 장치(storage)를 액세스할 수 있는 FSVM의 코드는 그 저장 장치 내에 함께 저장되어 있으며, 이것은 저장 장치를 컴퓨터에 연결할 때 메모리에 로드(load)되어 실행된다.
그리고, FSVM 이외에는 해당 저장 장치에 접근할 수 없도록 가상화 계층부(120)가 강제한다.
이에 따라, 제2 도메인(160) 및 제3 도메인(180)은 상기 저장 장치에 저장된 제1 도메인(140)의 보안 데이터를 직접 액세스하지 못한다. 그러나, 이를 대신하여 FSVM이 상기 저장 장치에 저장된 제1 도메인(140)의 보안 데이터를 FSVM의 메모리 상에 로드한 뒤 공유하여 주는 방식으로 다른 도메인들이 제1 도메인(140)의 보안 데이터에 접근할 수 있도록 한다. 이 때, 제1 도메인(140)의 보안 데이터를 공유하는 도메인은 제1 도메인(140)과 피어(peer) 관계가 형성된 도메인(본 실시예에서는 제2 도메인(160))으로 제한된다. 피어 관계 형성에 대한 구체적인 설명은 후술하기로 한다.
이런 식으로 피어 관계가 형성되어 서로 다른 도메인들(제1 도메인(140) 및 제2 도메인(160)) 간에 공유되는 메모리 영역에 대해서는 FSVM이 가상화 계층부(120)에 요청하여 상기 공유되는 메모리의 페이지(page)들에 보안 데이터가 저장되었음을 나타내도록 마킹(marking)을 하도록 한다(이 때의 마크(mark)를 이하 '페이지 마크'라 칭하기로 한다). 그리고, 각 페이지 디스크립터(descriptor)들은 마 킹된 페이지들이 속한 도메인(제1 도메인(140))의 ID를 태그(tag)로 갖게 된다(상기 태그를 이하 '페이지 태그'라 칭한다).
마킹된 페이지들에 저장된 보안 데이터가 프로세서 레지스터에 로딩될 때, 레지스터들도 각각 보안 데이터가 저장되었음을 나타내는 마크(이하, '레지스터 마크'라 칭하기로 한다.)와, 보안 데이터의 소유 도메인인 제1 도메인(140)의 ID를 갖는 태그를 포함하게 된다(상기 태그를 이하 '레지스터 태그'라 칭한다).
이에 의해, 페이지 마크, 페이지 태그, 레지스터 마크 및 레지스터 태그는 보안 데이터의 저장 유무와 그 보안 데이터를 소유하고 있는 도메인을 확인할 수 있는 지표로 이용될 수 있다.
한편, 도메인들 간에 공유되는 메모리 정보는 메모리 공유 정보 테이블로서 가상화 계층부(120)에서 관리하게 된다. 메모리 공유 정보 테이블에는 공유 메모리 페이지에 대해서 액세스가 허용된 도메인들에 대한 정보가 포함된다.
한편, 가상화 계층부(120)는 제1 도메인(140)과 제2 도메인(160)이 공유하는 메모리의 각 페이지에 대해서 마킹을 요청한 제1 도메인(140)을 기억하고, 추후에 마킹이 요청된 페이지에 대해서 다른 도메인(제2 도메인(160) 혹은 제3 도메인(180))이 마킹을 시도하려 할 경우에는 이를 허용하지 않는다. 만약, 이를 허용할 경우에는 다음과 같은 문제가 발생할 수 있다. 가상화 계층부(120)는 마킹된 페이지에 대해서 해당 보안 데이터를 소유한 제1 도메인(140)이 보안 데이터의 외부 유출을 요청하는 경우에는 허용하는데, 상기에서 마킹이 요청된 페이지에 대해서 다른 도메인(제2 도메인(160) 혹은 제3 도메인(180))이 마킹을 시도하려 할 경 우에 가상화 계층부(120)가 이를 허용하게 되면, 다른 도메인(제2 도메인(160) 혹은 제3 도메인(180))이 자신이 소유하지 않은 데이터를 임의로 자신의 데이터로 만들어서 외부로 유출할 수 있는 문제가 발생한다. 따라서, 가상화 계층부(120)는 마킹된 보안 데이터들에 대해서 소유 도메인을 변경하는 것을 허용하지 않도록 하는 것이 바람직하다.
또한, 가상화 계층부(120)는 전술한 도메인들 간의 상호 피어 관계 형성을 위한 하이퍼콜(hypercall)을 제공하며, 상호 피어 관계 형성시에 마스터(master)-슬레이브(slave) 관계를 셋업할 수 있다.
각 도메인들 간의 피어 관계를 형성하는 하이퍼콜 과정에서, 각 도메인들은 자신이 가진 보안 데이터에 대해서 쓰기가 허용되지 않은 외부 전송 타입을 가상화 계층부(120)에게 알려준다. 데이터를 외부로 전송하는 경로는 일반적인 디스플레이, 프린터 등을 통한 출력, 네트워크를 통한 전송 등을 포함할 수 있다. 한편, 프로세서에 연결된 시스템 메모리 상에서의 데이터 복제는 외부 전송에 해당되지 않는다. 따라서, 외부 전송 타입은 프린팅(printing), 디스플레잉(displaying), 네트워킹(networking)의 세 가지로 나뉠 수 있으나, 이에 한정되는 것은 아니다. 한편, 원격 프린터(remote printer)나 원격 디스플레이(remote display)와 같이 네트워크를 통해서 데이터를 출력해야 하는 경우는 네트워킹 타입에 해당될 수 있다. 따라서, 네트워킹 타입에 쓰기가 허용되지 않는 경우, 로컬(local) 프린터, 로컬 디스플레이가 아닌 원격 프린터, 원격 디스플레이로 데이터의 출력은 불가능하다.
가상화 계층부(120)는 쓰기가 허용되지 않는 외부 전송 타입에 대응하는 주 변 장치들의 메모리 페이지 디스크립터에 플래그(이하, '쓰기 방지 플래그'라 칭한다.)가 셋팅되도록 제어한다. 쓰기 방지 플래그는 해당 페이지가 보안 데이터 쓰기가 허용되지 않은 주변 장치의 메모리 영역을 나타냄을 의미하고, 외부 전송 타입에 대응하는 주변 장치들은, 예를 들면, 프린팅 타입에 대응하는 주변 장치로서 로컬 프린터, 디스플레잉 타입에 대응하는 주변 장치로서 로컬 디스플레이, 네트워킹 타입에 대응하는 주변 장치로서 원격 프린터, 원격 디스플레이 등일 수 있다. 그리고, 보안 데이터 쓰기가 허용되지 않은 주변 장치는 제1 도메인(140)과 피어 관계를 형성하지 않는 제3 도메인(180)에 공유되는 장치일 수 있으나, 이에 한정되는 것은 아니다.
제2 도메인(160)이 제1 도메인(140)과 피어 관계를 형성하여 제1 도메인(140)의 보안 데이터를 공유하는 상황에서, 제2 도메인(160)이 시스템에 연결된 각 주변 장치로 제1 도메인(140)의 보안 데이터를 전송하려 하는 경우, 프로세서는 해당 주변 장치의 메모리 페이지 디스크립터 상에 쓰기 방지 플래그가 셋팅되어 있는가를 확인하게 된다. 여기서 만약 쓰기 방지 플래그가 셋팅되어 있다면 보안 데이터의 전송이 방지되는 처리가 진행된다.
가상화 계층부(120)는 피어 관계를 형성하는 도메인들 정보를 기록한 피어 페어(pair) 정보 테이블을 관리한다. 피어 페어 정보 테이블에는 피어 관계를 형성하는 도메인들 중에서 어느 도메인이 마스터인지에 대한 정보도 포함될 수 있으며, 보안 데이터를 소유하는 도메인에서 지정한 쓰기가 허용되지 않은 외부 전송 타입들의 목록 정보도 포함될 수 있다.
가상화 계층부(120)는 제2 도메인(160)이 제1 도메인(140)의 보안 데이터가 포함된 페이지를 제3 도메인(180)에게 공유하고자 요청하는 경우 이를 허용하지 않는다. 그리고, 제1 도메인(140)과 제2 도메인(160)이 피어 관계를 형성하고, 제2 도메인(160)이 제3 도메인(180)과 피어 관계를 형성한 상황을 가정하면, 제2 도메인(160)이 제3 도메인(180)과 공유된 메모리에 제1 도메인(140)의 보안 데이터를 쓰려고 하는 경우에 예외(exception)가 발생된다. 이를 위해, 가상화 계층부(120)는 도메인 간 메모리 공유를 위해서 하이퍼콜이 일어날 때마다 공유되는 메모리 영역을 파악하고, 이 때 공유되는 메모리의 페이지 디스크립터를 조정하여 리드 온리(read only)로 설정하도록 한다. 예외(exception)란, 하드웨어의 입장에서 보면 실행되는 코드의 흐름의 진행에 대한 예상하지 못한 상황에 대해서 예외처리의 기준을 마련하는 것을 의미한다. 예를 들면, ARM 프로세서의 경우 이러한 예외 처리의 단계를 5가지 단계로 구분하고 있으며, 그 단계마다 적절한 대응을 위한 예외 처리 벡터를 설정해 놓고 있다. 가상화 계층부(120)가 예외 이벤트를 캐치하여 처리를 함에 있어서, 도메인 간 메모리 공유 상태를 관리하는 메모리 공유 정보 테이블을 검색함으로써 특정 어드레스가 어떤 도메인에 의해서 액세스가 가능한지 빠르게 알아낼 수 있다.
한편, 가상화 계층부(120)는 각 도메인별로 페이지 테이블 셋팅을 달리 적용하며, 도메인을 스위칭하는 과정에서 페이지 테이블을 스위칭한다. 예를 들면, 제1 도메인(140)이 자신이 소유한 페이지들 또는 페이지들의 내용을 담은 레지스터를 네트워크 디바이스의 메모리에 쓰려고 하는 경우 가상화 계층부(120)는 제1 도메 인(140)의 페이지 테이블로 스위칭한다.
한편, 예외적인 경우로서 주변 장치 드라이버를 가진 도메인(이하, '드라이버 도메인(driver domain)'이라 칭한다.)이 주변 장치를 다른 도메인들에게 공유하여 주는 경우, 다른 도메인들의 보안 데이터를 외부로 전송할 수 있어야 한다. 이 경우, 다른 도메인들에서는 드라이버 도메인에게 암호화된 데이터를 전달하고, 그 데이터를 받는 외부 컴퓨터에서 복호화를 하도록 해야 한다.
이러한 일련의 보안 데이터 추적/보호 메커니즘은 프로세서 수준에서 지원되어야 한다.
본 발명의 실시예에 따른 프로세서는 메모리로부터의 로드(load)와 메모리로의 저장 두 가지 작업에 대한 처리 방식으로 크게 그 기능이 설명될 수 있다.
첫째, 메모리로부터의 로드의 경우, 읽고자 하는 소스(source) 메모리 페이지의 페이지 마크를 체크하며, 체크 결과 페이지가 마크되어 있는 경우 해당 레지스터를 마킹하고, 보안 데이터의 소유 도메인의 ID를 레지스터의 태그로 저장한다.
둘째, 메모리로의 저장의 경우, 저장할 데이터를 보관하고 있는 소스 레지스터의 레지스터 마크를 체크하여, 보안 데이터가 저장되어 있는지 확인한다. 확인 결과, 보안 데이터가 저장되어 있다면 쓰려고 하는 메모리 영역의 페이지에 쓰기 방지 플래그가 셋팅되어 있는지를 체크한다. 쓰기 방지 플래그가 셋팅되어 있다면, 시스템 예외를 발생시킨다. 그러나, 쓰기 방지 플래그가 셋팅되어 있지 않다면 내용이 쓰여지는 타겟 메모리 페이지를 마킹한다. 한편, 레지스터 마크 체크 결과, 보안 데이터가 저장되어 있지 않다면 일반 메모리 페이징 시스템과 동일한 방식으로 진행된다.
한편, 프로세서가 메모리에 접근하는 방식이 아닌, DMA 컨트롤러(Direct Memory Access controller)에 의해서 직접 쓰기가 시도되는 경우에는 DMA 컨트롤러가 상기 기술한 접근 제어를 지원한다.
한편, 만약 제2 도메인(160)이 제1 도메인(140)의 보안 데이터를 다른 형태의 데이터로 재가공하여 그 결과물을 다른 메모리 페이지에 저장하고, 그 메모리를 제3 도메인(180)에게 공유하는 것을 방지하기 위해 보안 데이터로부터의 재가공여부가 추적될 수 있다. 구체적으로, 마킹된 레지스터의 연산 결과를 담은 레지스터를 가상화 계층부(120)는 마킹하도록 한다. 그리고, 프로세서는 연산의 소스에 해당하는 마킹된 레지스터의 태그를 체크하여 현재 재가공을 수행하는 도메인과 다른 경우 예외를 발생시키며, 가상화 계층부(120)는 실패를 제2 도메인(160)으로 리턴한다.
한편, 제2 도메인(160)과 제3 도메인(180)이 본 실시예에서는 하나씩 도시되어 있으나, 이에 한정되지 않으며, 여러 개일 수도 있다.
도 2는 본 발명의 실시예에 따른 컨텐츠를 안전하게 공유하는 방법을 나타낸 흐름도으로서, 본 실시예에서는 제1 도메인(140)과 제2 도메인(160) 각각에 보안 데이터가 존재하는 경우를 예로 들어 설명하기로 한다.
제1 도메인(140)과 제2 도메인(160) 간의 피어(peer) 관계를 형성하는 과정이 먼저 일어나며, 이 과정에서 가상화 계층부(120)는 두 도메인들이 모두 피어 관계 형성에 합의할 때에만 피어 관계를 형성시킨다(S100, S110, S120).
가상화 계층부(120)는 제1 도메인(140)과 제2 도메인(160)이 공유하고 있는 메모리가 리드 온리(read only)로 설정되도록 제어한다(S130).
또한, 제 1 도메인 및 제2 도메인(160) 각각은 자신이 가진 보안 데이터에 대해서 쓰기가 허용되지 않는 외부 전송 타입을 가상화 계층부(120)에 알려준다(S140, S150).
그리고, 이 때 가상화 계층부(120)는 이 허용되지 않는 외부 전송 타입에 대응하는 주변 장치들의 메모리 페이지의 디스크립터에 쓰기 방지 플래그가 셋팅되도록 제어한다(S160, S170).
제1 도메인(140)이 보안 데이터의 등록을 요청(이 때, 시작 어드레스와 끝 어드레스도 입력한다.)하면(S180), 가상화 계층부(120)는 해당 시작 어드레스와 끝 어드레스 사이의 페이지들을 모두 마킹하고, 태깅하도록 한다(S190). 이미 마킹이 되어 있는 페이지는 다시 마킹하지 못하도록 방지한다.
이러한 상태에서, 제2 도메인(160)은 제1 도메인(140)의 보안 데이터를 공유할 수 있다.
한편, 제2 도메인(160)이 제1 도메인(140)의 데이터를 쓰기 요청한 경우, 가상화 계층부(120)는 쓰기 요청한 데이터가 보안 데이터인지, 그리고 그 소유 도메인이 어느 것인지를 페이지 마크, 페이지 태그, 레지스터 마크, 레지스터 태그를 통해 확인하도록 할 수 있다.
확인 결과, 제2 도메인(160)이 소유하지 않은 제1 도메인(140)의 보안 데이터라고 판단되면(S200), 가상화 계층부(120)는 쓰기 요청한 메모리 영역의 페이지 디스크립터 상에 쓰기 방지 플래그가 셋팅되어 있는지를 확인하도록 한다.
쓰기 요청한 메모리 영역의 페이지 디스크립터 상에 쓰기 방지 플래그가 셋팅되어 있다면, 가상화 계층부(120)는 예외를 발생시키도록 제어한다(S210, S220).
반면, 쓰기 요청한 메모리 영역의 페이지 디스크립터 상에 쓰기 방지 플래그가 셋팅되어 있지 않다면, 가상화 계층부(120)는 제1 도메인(140)의 보안 데이터를 해당 메모리 영역에 쓰도록 제어한다.
한편, 제2 도메인(160)이 쓰기 요청한 데이터가 제1 도메인(140)의 보안 데이터가 아닌 일반 데이터인 경우, 가상화 계층부(120)는 일반적인 데이터의 쓰기가 진행되도록 한다.
한편, 이렇게 피어 관계가 형성된 도메인들 각각의 보안 데이터들을 함께 연산 처리를 하는 경우 예외가 발생되지만, 가상화 계층부(120)에서 예외 처리시 두 개의 도메인들이 상호 피어 관계를 형성하면 이 오퍼레이션을 허용하고, 그렇지 않은 경우 해당 연산을 수행하고자 했던 도메인에게 예외를 전달할 수 있다. 그리고, 그 연산 결과는 마스터 도메인이 소유할 수 있다.
이러한 흐름도에서 피어 관계를 형성하지 않은 제3 도메인(180)은 제1 도메인(140)과 제2 도메인(160)의 공유 메모리를 접근할 수 없다.
한편, 제1 도메인(140)과 제2 도메인(160)이 서로 다른 컴퓨터 상에서 동작하는 것은 본 발명의 범위를 벗어난다.
이로써, 특정 도메인이 자신이 소유하지 않은 보안 데이터를 쓰기 방지 플래그가 셋팅된 메모리 영역에 쓰고자 하는 경우에 이를 방지할 수 있다.
이상과 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
도 1은 본 발명의 실시예에 따른 컨텐츠를 안전하게 공유하는 시스템의 구성을 개략적으로 나타내는 블록도이다.
도 2는 본 발명의 실시예에 따른 컨텐츠를 안전하게 공유하는 방법을 나타낸 흐름도으로
<도면의 주요 부분에 대한 부호의 설명>
100 : 하드웨어 플랫폼 120 : 가상화 계층부
140 : 제1 도메인 160 : 제2 도메인
180 : 제3 도메인

Claims (20)

  1. 하나의 하드웨어 플랫폼 상에 논리적으로 생성된 복수의 도메인 중 보안이 필요한 컨텐츠를 소유하는 제1 도메인이 다른 적어도 하나의 제2 도메인과 상기 컨텐츠를 공유하는 단계; 및
    상기 제2 도메인이 상기 컨텐츠의 쓰기가 허용되지 않는 영역에 상기 컨텐츠를 쓰려는 경우 상기 컨텐츠의 쓰기를 방지하는 단계를 포함하는, 컨텐츠를 안전하게 공유하는 방법.
  2. 제1 항에 있어서,
    상기 컨텐츠를 공유하는 단계는,
    상기 컨텐츠가 공유되는 메모리의 페이지들에 상기 컨텐츠가 저장되었음을 나타내도록 마킹을 하고, 상기 컨텐츠의 소유 도메인인 상기 제1 도메인 정보를 태깅하는 단계를 포함하는, 컨텐츠를 안전하게 공유하는 방법.
  3. 제2 항에 있어서,
    상기 컨텐츠를 공유하는 단계는,
    상기 마킹된 페이지들에 저장된 컨텐츠가 프로세서 레지스터에 로딩될 때, 상기 각각의 레지스터들에 상기 컨텐츠가 저장되었음을 나타내는 마크와, 상기 컨텐츠의 소유 도메인인 상기 제1 도메인의 정보를 갖는 태그가 포함되는 단계를 더 포함하는, 컨텐츠를 안전하게 공유하는 방법.
  4. 제2 항에 있어서,
    상기 마킹된 페이지들에 대해서 소유 도메인을 변경하는 것이 제한되는 단계를 더 포함하는, 컨텐츠를 안전하게 공유하는 방법.
  5. 제1 항에 있어서,
    상기 제2 도메인은 상기 제1 도메인과 피어 관계가 형성된 도메인인, 컨텐츠를 안전하게 공유하는 방법.
  6. 제1 항에 있어서,
    상기 컨텐츠의 쓰기가 허용되지 않는 영역은,
    프린팅, 디스플레잉, 네트워킹 중 어느 하나의 외부 전송 타입에 대응하는 주변 장치들의 메모리 영역을 포함하는, 컨텐츠를 안전하게 공유하는 방법.
  7. 제1 항에 있어서,
    상기 컨텐츠의 쓰기가 허용되지 않는 영역은,
    상기 제1 도메인과 피어 관계를 형성하지 않는 도메인에 공유되는 메모리 영역을 포함하는, 컨텐츠를 안전하게 공유하는 방법.
  8. 제6 항 또는 제7 항에 있어서,
    상기 메모리 영역에 해당 페이지가 상기 컨텐츠 쓰기가 허용되지 않은 메모리 영역임을 나타내는 플래그를 셋팅하는 단계를 더 포함하고;
    상기 컨텐츠의 쓰기를 방지하는 단계는 상기 컨텐츠를 쓰려고 하는 영역에 상기 플래그가 셋팅되어 있는 경우, 상기 컨텐츠의 쓰기를 방지하는 단계를 포함하는, 컨텐츠를 안전하게 공유하는 방법.
  9. 제1 항에 있어서,
    상기 컨텐츠를 공유하는 단계는,
    상기 컨텐츠가 공유되는 메모리를 리드 온리(read only)로 설정하는 단계를 포함하는, 컨텐츠를 안전하게 공유하는 방법.
  10. 제3 항에 있어서,
    상기 컨텐츠가 연산되는 경우, 상기 컨텐츠가 저장된 레지스터의 태그와 상기 연산 결과 레지스터의 태그를 비교하여 동일하지 않으면 상기 연산 처리를 중지하는 단계를 더 포함하는, 컨텐츠를 안전하게 공유하는 방법.
  11. 하나의 하드웨어 플랫폼 상에 복수의 도메인을 논리적으로 생성하는 가상화 계층부를 포함하고;
    상기 복수의 도메인은 보안이 필요한 컨텐츠를 소유하는 제1 도메인과, 상기 제1 도메인과 상기 컨텐츠를 공유하는 적어도 하나의 제2 도메인을 포함하며;
    상기 가상화 계층부는 상기 제2 도메인이 상기 컨텐츠의 쓰기가 허용되지 않는 영역에 상기 컨텐츠를 쓰려는 경우 상기 컨텐츠의 쓰기를 방지하는, 컨텐츠를 안전하게 공유하는 시스템.
  12. 제11 항에 있어서,
    상기 가상화 계층부는,
    상기 컨텐츠가 공유되는 메모리의 페이지들에 상기 컨텐츠가 저장되었음을 나타내도록 마킹하고, 상기 컨텐츠의 소유 도메인인 상기 제1 도메인 정보를 태깅하도록 하는, 컨텐츠를 안전하게 공유하는 시스템.
  13. 제12 항에 있어서,
    상기 가상화 계층부는,
    상기 마킹된 페이지들에 저장된 컨텐츠가 프로세서 레지스터에 로딩될 때, 상기 각각의 레지스터들에 상기 컨텐츠가 저장되었음을 나타내는 마크와, 상기 컨텐츠의 소유 도메인인 상기 제1 도메인의 정보를 갖는 태그가 포함되도록 하는, 컨텐츠를 안전하게 공유하는 시스템.
  14. 제12 항에 있어서,
    상기 가상화 계층부는,
    상기 마킹된 페이지들에 대해서 소유 도메인을 변경하는 것을 제한하는, 컨텐츠를 안전하게 공유하는 시스템.
  15. 제11 항에 있어서,
    상기 제2 도메인은 상기 제1 도메인과 피어 관계가 형성된 도메인인, 컨텐츠를 안전하게 공유하는 시스템.
  16. 제11 항에 있어서,
    상기 컨텐츠의 쓰기가 허용되지 않는 영역은,
    프린팅, 디스플레잉, 네트워킹 중 어느 하나의 외부 전송 타입에 대응하는 주변 장치들의 메모리 영역을 포함하는, 컨텐츠를 안전하게 공유하는 시스템.
  17. 제11 항에 있어서,
    상기 컨텐츠의 쓰기가 허용되지 않는 영역은,
    상기 제1 도메인과 피어 관계를 형성하지 않는 도메인에 공유되는 메모리 영역을 포함하는, 컨텐츠를 안전하게 공유하는 시스템.
  18. 제16 항 또는 제17 항에 있어서,
    상기 가상화 계층부는 상기 메모리 영역에 해당 페이지가 상기 컨텐츠 쓰기가 허용되지 않은 메모리 영역임을 나타내는 플래그가 셋팅되도록 하고, 상기 제2 도메인이 상기 컨텐츠를 쓰려고 하는 영역에 상기 플래그가 셋팅되어 있는 경우 상기 컨텐츠의 쓰기를 방지하는, 컨텐츠를 안전하게 공유하는 시스템.
  19. 제11 항에 있어서,
    상기 가상화 계층부는 상기 컨텐츠가 공유되는 메모리를 리드 온리(read only)로 설정하도록 하는, 컨텐츠를 안전하게 공유하는 시스템.
  20. 제13 항에 있어서,
    상기 가상화 계층부는,
    상기 컨텐츠가 연산되는 경우, 상기 컨텐츠가 저장된 레지스터의 태그와 상기 연산 결과 레지스터의 태그를 비교하여 동일하지 않으면 상기 연산 처리를 중지하도록 하는, 컨텐츠를 안전하게 공유하는 시스템.
KR1020080004458A 2008-01-15 2008-01-15 컨텐츠를 안전하게 공유하는 방법 및 시스템 KR101425621B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020080004458A KR101425621B1 (ko) 2008-01-15 2008-01-15 컨텐츠를 안전하게 공유하는 방법 및 시스템
US12/333,692 US8275884B2 (en) 2008-01-15 2008-12-12 Method and system for securely sharing content

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080004458A KR101425621B1 (ko) 2008-01-15 2008-01-15 컨텐츠를 안전하게 공유하는 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20090078563A true KR20090078563A (ko) 2009-07-20
KR101425621B1 KR101425621B1 (ko) 2014-07-31

Family

ID=40851638

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080004458A KR101425621B1 (ko) 2008-01-15 2008-01-15 컨텐츠를 안전하게 공유하는 방법 및 시스템

Country Status (2)

Country Link
US (1) US8275884B2 (ko)
KR (1) KR101425621B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101110672B1 (ko) * 2009-12-29 2012-02-24 주식회사 코어트러스트 Dcas 환경에서의 호스트 보안모듈 가상화 시스템 및 방법

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120094600A1 (en) 2010-10-19 2012-04-19 Welch Allyn, Inc. Platform for patient monitoring
CN103620612B (zh) * 2011-07-12 2016-04-13 惠普发展公司,有限责任合伙企业 包括端口和来宾域的计算设备
KR101469894B1 (ko) * 2011-08-12 2014-12-08 한국전자통신연구원 도메인 분리 기반 안전 실행 환경 제공 방법 및 장치
US20130166922A1 (en) * 2011-12-23 2013-06-27 Ati Technologies Ulc Method and system for frame buffer protection
KR20130101629A (ko) * 2012-02-16 2013-09-16 삼성전자주식회사 보안 실행 환경 지원 휴대단말에서 컨텐츠 출력 방법 및 장치
US20150058926A1 (en) * 2013-08-23 2015-02-26 International Business Machines Corporation Shared Page Access Control Among Cloud Objects In A Distributed Cloud Environment
US9785576B2 (en) * 2014-03-27 2017-10-10 Intel Corporation Hardware-assisted virtualization for implementing secure video output path
US11669320B2 (en) 2016-02-12 2023-06-06 Nutanix, Inc. Self-healing virtualized file server
US11294777B2 (en) 2016-12-05 2022-04-05 Nutanix, Inc. Disaster recovery for distributed file servers, including metadata fixers
US11281484B2 (en) 2016-12-06 2022-03-22 Nutanix, Inc. Virtualized server systems and methods including scaling of file system virtual machines
US11288239B2 (en) 2016-12-06 2022-03-29 Nutanix, Inc. Cloning virtualized file servers
US11086826B2 (en) 2018-04-30 2021-08-10 Nutanix, Inc. Virtualized server systems and methods including domain joining techniques

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS603036A (ja) * 1983-06-20 1985-01-09 Hitachi Ltd 処理履歴情報の取得・参照方式
US4742215A (en) * 1986-05-07 1988-05-03 Personal Computer Card Corporation IC card system
US4926476A (en) * 1989-02-03 1990-05-15 Motorola, Inc. Method and apparatus for secure execution of untrusted software
US5325499A (en) * 1990-09-28 1994-06-28 Tandon Corporation Computer system including a write protection circuit for preventing illegal write operations and a write poster with improved memory
CA2078312A1 (en) * 1991-09-20 1993-03-21 Mark A. Kaufman Digital data processor with improved paging
US5566302A (en) * 1992-12-21 1996-10-15 Sun Microsystems, Inc. Method for executing operation call from client application using shared memory region and establishing shared memory region when the shared memory region does not exist
EP0663638B1 (en) * 1993-12-30 2001-10-04 NCR International, Inc. A method of configuring computer peripherals
US5924126A (en) * 1995-05-15 1999-07-13 Nvidia Method and apparatus for providing address translations for input/output operations in a computer system
US6049672A (en) * 1996-03-08 2000-04-11 Texas Instruments Incorporated Microprocessor with circuits, systems, and methods for operating with patch micro-operation codes and patch microinstruction codes stored in multi-purpose memory structure
US5987506A (en) * 1996-11-22 1999-11-16 Mangosoft Corporation Remote access and geographically distributed computers in a globally addressable storage environment
JP4120724B2 (ja) * 1998-08-18 2008-07-16 セイコーエプソン株式会社 画像データ管理装置、画像データ管理方法および画像データ管理プログラムを記録した媒体
WO2000022621A1 (fr) * 1998-10-14 2000-04-20 Sony Corporation Dispositif et procede de transmission de donnees, et support d'enregistrement de donnees
TW444459B (en) * 1998-11-05 2001-07-01 Seiko Instr Inc Network system
US7130831B2 (en) * 1999-02-08 2006-10-31 Copyright Clearance Center, Inc. Limited-use browser and security system
US7725558B2 (en) * 2000-07-26 2010-05-25 David Dickenson Distributive access controller
AU2002224119A1 (en) * 2000-11-28 2002-06-11 Fujitsu Limited Data terminal for managing ciphered content data and license acquired by software
US7818808B1 (en) 2000-12-27 2010-10-19 Intel Corporation Processor mode for limiting the operation of guest software running on a virtual machine supported by a virtual machine monitor
US7231500B2 (en) * 2001-03-22 2007-06-12 Sony Computer Entertainment Inc. External data interface in a computer architecture for broadband networks
US6694235B2 (en) * 2001-07-06 2004-02-17 Denso Corporation Vehicular relay device, in-vehicle communication system, failure diagnostic system, vehicle management device, server device and detection and diagnostic program
US7320033B2 (en) * 2001-07-27 2008-01-15 Intel Corporation Dynamic local drive and printer sharing
US7185066B2 (en) * 2001-10-11 2007-02-27 Raytheon Company Secure data sharing system
US7299277B1 (en) * 2002-01-10 2007-11-20 Network General Technology Media module apparatus and method for use in a network monitoring environment
US7139798B2 (en) * 2002-05-17 2006-11-21 Groove Networks, Inc. Method and apparatus for connecting a secure peer-to-peer collaboration system to an external system
JP4492025B2 (ja) * 2002-05-21 2010-06-30 株式会社デンソー 電子制御装置のデータ格納方法
US20030226029A1 (en) * 2002-05-29 2003-12-04 Porter Allen J.C. System for protecting security registers and method thereof
US7340502B2 (en) * 2002-10-24 2008-03-04 Microsoft Corporation Method and apparatus for maintaining consistency of a shared space across multiple endpoints in a peer-to-peer collaborative computer system
TWI220194B (en) * 2002-12-26 2004-08-11 Rdc Semiconductor Co Ltd Method and system for accessing memory data
US7233946B1 (en) * 2003-04-11 2007-06-19 Sun Microsystems, Inc. File interval lock generation interface system and method
JP2004326278A (ja) * 2003-04-23 2004-11-18 Renesas Technology Corp 不揮発性記憶装置及びデータ処理装置
JP2004336619A (ja) * 2003-05-12 2004-11-25 Sony Corp 機器間認証システム及び機器間認証方法、通信機器、並びにコンピュータ・プログラム
JP4314877B2 (ja) * 2003-05-12 2009-08-19 ソニー株式会社 機器間認証システム及び機器間認証方法、通信装置、並びにコンピュータ・プログラム
US20060149683A1 (en) * 2003-06-05 2006-07-06 Matsushita Electric Industrial Co., Ltd. User terminal for receiving license
US20050050357A1 (en) * 2003-09-02 2005-03-03 Su-Huei Jeng Method and system for detecting unauthorized hardware devices
US20050066335A1 (en) * 2003-09-23 2005-03-24 Robert Aarts System and method for exposing local clipboard functionality towards external applications
US7814554B1 (en) * 2003-11-06 2010-10-12 Gary Dean Ragner Dynamic associative storage security for long-term memory storage devices
US7346925B2 (en) * 2003-12-11 2008-03-18 Microsoft Corporation Firewall tunneling and security service
US20050177853A1 (en) * 2004-02-11 2005-08-11 Alio, Inc. System and Methodology for Distributed Delivery of Online Content in Response to Client Selections from an Online Catalog
US7496094B2 (en) * 2004-04-06 2009-02-24 Airtight Networks, Inc. Method and system for allowing and preventing wireless devices to transmit wireless signals
US7665077B2 (en) * 2004-10-18 2010-02-16 Microsoft Corporation System and method for sharing objects between applications in a virtual runtime environment
CN102665112B (zh) * 2004-11-19 2015-08-19 Tivo股份有限公司 用于多媒体内容的安全传输和回放的方法和设备
JP2006155155A (ja) * 2004-11-29 2006-06-15 Fujitsu Ltd 情報漏洩防止装置、方法およびそのプログラム
JP2006171930A (ja) * 2004-12-14 2006-06-29 Seiko Epson Corp 記憶装置および記憶装置を備える印刷記録材容器
US7765544B2 (en) * 2004-12-17 2010-07-27 Intel Corporation Method, apparatus and system for improving security in a virtual machine host
JP4623367B2 (ja) 2005-01-31 2011-02-02 ソニー株式会社 信号処理回路、コンテンツ制御装置、コンテンツ制御方法及びコンテンツ制御プログラム
US7818350B2 (en) * 2005-02-28 2010-10-19 Yahoo! Inc. System and method for creating a collaborative playlist
US7567975B2 (en) * 2005-03-16 2009-07-28 Oracle International Corporation Incremental evaluation of complex event-condition-action rules in a database system
CN101233525A (zh) * 2005-05-26 2008-07-30 松下电器产业株式会社 数据处理装置
US7499412B2 (en) * 2005-07-01 2009-03-03 Net Optics, Inc. Active packet content analyzer for communications network
US20070039039A1 (en) * 2005-08-10 2007-02-15 Microsoft Corporation Authorization of device access to network services
JP4765485B2 (ja) 2005-08-26 2011-09-07 ソニー株式会社 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
US20070269044A1 (en) * 2006-05-16 2007-11-22 Bruestle Michael A Digital library system with rights-managed access
WO2008117500A1 (ja) * 2007-03-27 2008-10-02 Nec Corporation 仮想マシン運用システム、仮想マシン運用方法およびプログラム
US20090006717A1 (en) * 2007-06-29 2009-01-01 Michael Rothman Emulation of read-once memories in virtualized systems
US20090013134A1 (en) * 2007-07-06 2009-01-08 Transcend Information , Inc. Memory apparatus and protecting method thereof
US8650565B2 (en) * 2009-12-14 2014-02-11 Citrix Systems, Inc. Servicing interrupts generated responsive to actuation of hardware, via dynamic incorporation of ACPI functionality into virtual firmware

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101110672B1 (ko) * 2009-12-29 2012-02-24 주식회사 코어트러스트 Dcas 환경에서의 호스트 보안모듈 가상화 시스템 및 방법

Also Published As

Publication number Publication date
US20090182860A1 (en) 2009-07-16
KR101425621B1 (ko) 2014-07-31
US8275884B2 (en) 2012-09-25

Similar Documents

Publication Publication Date Title
KR101425621B1 (ko) 컨텐츠를 안전하게 공유하는 방법 및 시스템
US9989043B2 (en) System and method for processor-based security
CN109783188B (zh) 用于安全公共云的密码存储器所有权表
JP6484255B2 (ja) 信頼実行環境を含むホストのアテステーション
JP5249399B2 (ja) 安全なメモリ区分を使用した安全な実行のための方法および装置
Yang et al. Using hypervisor to provide data secrecy for user applications on a per-page basis
Strackx et al. Efficient isolation of trusted subsystems in embedded systems
EP3047375B1 (en) Virtual machine manager facilitated selective code integrity enforcement
US20160196449A1 (en) Apparatus for and Method of Preventing Unsecured Data Access
WO2019104988A1 (zh) Plc的安全处理单元及其总线仲裁方法
KR101213572B1 (ko) 하이퍼바이저를 활용한 사용자 어플리케이션 메모리 보호방법
CN110874468B (zh) 应用程序安全保护方法以及相关设备
US20170317832A1 (en) Virtual Secure Elements in Computing Systems based on ARM Processors
Zaidenberg Hardware rooted security in industry 4.0 systems
Park et al. Toward live migration of SGX-enabled virtual machines
KR102579861B1 (ko) 차량용 소프트웨어 업데이트 장치 및 그 제어 방법
WO2015148834A1 (en) Virtualization based intra-block workload isolation
Shimizu et al. Cell broadband engine processor vault security architecture
CN107169375A (zh) 系统数据安全增强方法
Kaplan Hardware VM Isolation in the Cloud: Enabling confidential computing with AMD SEV-SNP technology
CN114641761A (zh) 机密计算机制
Iannillo et al. An REE-independent Approach to Identify Callers of TEEs in TrustZone-enabled Cortex-M Devices
Weiser Enclave Security and Address-based Side Channels
Mehrotra Cross-device access control with Trusted Capsules
CN107087003A (zh) 基于网络的系统防攻击方法

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20191223

Year of fee payment: 6