KR20160117528A - 데이터를 안전하게 공유하기 위한 방법 및 장치 - Google Patents

데이터를 안전하게 공유하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR20160117528A
KR20160117528A KR1020167023881A KR20167023881A KR20160117528A KR 20160117528 A KR20160117528 A KR 20160117528A KR 1020167023881 A KR1020167023881 A KR 1020167023881A KR 20167023881 A KR20167023881 A KR 20167023881A KR 20160117528 A KR20160117528 A KR 20160117528A
Authority
KR
South Korea
Prior art keywords
archive file
exemplary
data
computing device
user
Prior art date
Application number
KR1020167023881A
Other languages
English (en)
Other versions
KR101811758B1 (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 KR20160117528A publication Critical patent/KR20160117528A/ko
Application granted granted Critical
Publication of KR101811758B1 publication Critical patent/KR101811758B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Storage Device Security (AREA)

Abstract

데이터를 안전하게 공유하기 위한 방법 및 장치가 개시된다. 예는, 클라우드 서비스의 제1 사용자의 제1 디바이스에서, 제1 디바이스의 드라이브를 나타내는 아카이브 파일을 생성하고; 프로세서를 통해, 아카이브 파일을 암호화하여 암호화된 아카이브 파일을 형성하고; 암호화된 아카이브 파일을 클라우드 서비스 제공자에게 전달하는 것을 포함하고, 암호화된 아카이브 파일은 클라우드 서비스의 제2 사용자의 제2 디바이스에 의해 복호화되고, 복호화된 아카이브 파일은 제2 디바이스의 운영 시스템에 장착된다.

Description

데이터를 안전하게 공유하기 위한 방법 및 장치{METHODS AND APPARATUS TO SECURELY SHARE DATA}
본 개시는 일반적으로 컴퓨팅 시스템에 관한 것으로, 보다 상세하게는, 데이터를 안전하게 공유하기 위한 방법 및 장치에 관한 것이다.
(예를 들면, DropBox, Apple iCloud® 등과 같은) 클라우드-기반 저장 시스템은 많은 유형의 시스템 및/또는 조직에 대해 바람직한 서비스가 되어 왔다.
도 1은 여기서 개시된 예를 구현하는 예시적인 CSP(cloud service provider)를 포함하는 예시적인 시스템을 도시한다.
도 2는 도 1의 예시적인 제1 컴퓨팅 디바이스의 예시적인 구현예의 블록도이다.
도 3은 도 2의 예시적인 안전 모듈의 예시적인 구현예의 블록도이다.
도 4는 도 2의 예시적인 메모리 보호기의 예시적인 구현예의 블록도이다.
도 5는 도 2의 예시적인 아카이브 파일 생성기에 의해 생성된 예시적인 아카이브 파일이다.
도 6은 도 1 내지 도 4의 예시적인 제1 디바이스, 도 1 및 도 2의 예시적인 CSP, 및 도 1의 예시적인 제2 컴퓨팅 디바이스 간의 예시적인 통신을 나타내는 시퀀스 다이어그램 플로우 차트이다.
도 7은 도 1 및 도 2의 예시적인 CSP를 구현하기 위해 실행될 수 있는 제1의 예시적인 머신-판독가능 명령어를 나타내는 플로우차트이다.
도 8은 도 및 도 2의 예시적인 CSP를 구현하기 위해 실행될 수 있는 제2의 예시적인 머신-판독가능 명령어를 나타내는 플로우차트이다.
도 9는 도 1 내지 도 4의 예시적인 제1 컴퓨팅 디바이스 및/또는 도 1의 예시적인 제2 컴퓨팅 디바이스를 구현하기 위해 실행될 수 있는 제1의 머신-판독가능 명령어를 나타내는 플로우차트이다.
도 10은 도 1 내지 도 4의 예시적인 제1 컴퓨팅 디바이스 및/또는 도 1의 예시적인 제2 컴퓨팅 디바이스를 구현하기 위해 실행될 수 있는 제2의 머신-판독가능 명령어를 나타내는 플로우차트이다.
도 11은 도 1 및 도 2의 예시적인 CSP를 구현하기 위해 도 7의 예시적인 머신-판독가능 명령어를 실행시킬 수 있고, 도 1 및 도 2의 예시적인 CSP를 구현하기 위해 도 8의 예시적인 머신-판독가능 명령어를 실행시킬 수 있고, 도 1 내지 도 4의 예시적인 제1 컴퓨팅 디바이스 및/또는 도 1의 예시적인 제2 컴퓨팅 디바이스를 구현하기 위해 도 9의 예시적인 머신-판독가능 명령어를 실행시킬 수 있고, 및/또는 도 1 내지 도 4의 예시적인 제1 컴퓨팅 디바이스 및/또는 도 1의 예시적인 제2 컴퓨팅 디바이스를 구현하기 위해 도 10의 예시적인 머신-판독가능 명령어를 실행시킬 수 있는 예시적인 프로세서 플랫폼의 블록도이다.
NIST(National Institute of Standards and Technology)는 클라우드 컴퓨팅을 "최소의 노력 또는 서비스 제공자 상호작용으로 빠르게 프로비저닝되고 배포될 수 있는 구성가능한 컴퓨팅 리소스(예를 들면, 네트워크, 서버, 스토리지, 애플리케이션 및 서비스)의 공유 풀에 유비쿼터스, 편리한, 온-디맨드 네트워크 액세스를 가능하게 하는 모델"로서 정의한다. (Mell, Peter 등의 The NIST Definition of Cloud Computing, NIST, 2011년 9월 참조). 클라우드 서비스 제공자(CSP)는, 예를 들면, SaaS(Software as a Service) 모델, PaaS(Platform as a Service) 모델, 및/또는 IaaS(Infrastructure as a Service) 모델 등 및/또는 그들의 조합을 포함하는 상이한 전달 모델을 통해 클라우드 서비스를 제공한다. SaaS 모델을 통해 전달될 때, CSP는 그 CSP에 의해 관리되는 하드웨어(예를 들면, 인터넷을 통해 사용자가 액세스가능한 서버) 상에서 실행 중인(예를 들면, 실행되는) 애플리케이션에 대한 액세스를 사용자에게 제공한다. PaaS 모델에서, CSP는 사용자가 CSP의 하드웨어 상에서 실행될 애플리케이션(들)을 설계, 구축 및/또는 맞춤화할 수 있는 소프트웨어 개발 환경을 사용자에게 제공한다. IaaS 모델은 CSP가 현재 필요성에 기초하여 실시간으로 프로비저닝되는 온-디맨드 데이터 스토리지와 같은 기본적인 컴퓨팅 서비스를 사용자에게 제공하는 것을 포함한다. 따라서, 클라우드 컴퓨팅 서비스가 복수이 방식으로 전달되는 동안, 클라우드-기반 시스템은 전형적으로 복수의 사용자에게 공유되는 리소스들(예를 들면, 하드웨어, 소프트웨어, 및/또는 스토리지 디바이스)의 관리된 풀을 포함한다.
클라우드 서비스의 IaaS 모델과 같은 몇몇의 예에서, 대응하는 CSP는 데이터 스토리지 능력을 제공한다. 그러한 클라우드-기반 스토리지 시스템 및/또는 서비스는 전형적으로, 예를 들면, 데이터의 인덱싱 및/또는 검색을 용이하게 하기 위해 데이터를 클리어텍스트 형태(cleartext form)로 저장한다. 클리어텍스트 형태로 저장되는 경우, 데이터는 일반적으로 암호화되지 않고 인터넷으로 액세스하는 누군가에 의한 공격에 노출된다. 클리어텍스트 형태의 데이터를 보호하기 위해, 이전 클라우드-기반 시스템은 데이터를 암호화하기 위해 클라이언트 애플리케이션에 의존한다. 그러한 예에서, 클라우드를 통해 이용가능하게 되는 데이터는 데이터를 절감하는(예를 들면, 데이터의 저장을 용이하게 하는) 클라이언트 애플리케이션에 의해 암호화되고 및/또는 클라이언트 애플리케이션과 연결되어 구현되는 몇몇의 중간 솔루션, 예를 들면, 데이터의 암호화에 지정된(예를 들면, 데이터의 암호화를 위해 특별히 설계된) 특정 파일 시스템에 의해 암호화된다. 그러한 암호화 기술은 대응하는 운영 시스템(OS) 환경과 연결하여 변경 및/또는 추가의 프로세싱을 요구한다. 즉, 클라우드-기반 데이터 스토리지 서비스를 위한 이전의 암호화 기술은 OS 환경의 변경 및/또는 맞춤화를 포함한다. OS 환경(들)의 변경 및/또는 맞춤화는 부담스러운 일이다. 예를 들면, 그러한 시스템의 암호화 기술은 OS로 및 OS로부터 (드라이버 계층화 기술(driver layering technique)를 통해) 데이터 플로우를 인터셉트하고 암호화/복호화 방법을 인터셉트된 데이터 플로우에 적용하는 것을 포함한다. 그러한 시스템은 OS 환경과 연결하여 추가의 프로세싱 컴포넌트 및/또는 알고리즘을 도입한다. 더욱이, 위험한 멀웨어가 (예를 들면, OS로 및 OS로부터 데이터 플로우를 인터셉트함으로써) 유사한 방식으로 동작함에 따라, 멀웨어가, 예를 들면, 안티-바이러스 에이전트에 의해 검출하기 어렵게 한다. 따라서, 공지된 시스템은 클라우드-기반 리소스 및/또는 데이터를 보호가 위해 엔드 사용자(예를 들면, CSP의 커스터머)가 보안 기능을 능동적으로 구성 및/또는 유지하도록 하는 것에 의존한다.
여기서 개시되는 예시적인 방법, 장치, 및 제조 물품은 클라우드-기반 스토리지 시스템에 대한 보안(예를 들면, 데이터의 암호화 및 복호화)을 제공하는 한편 OS에 구속되지 않게 한다. 즉, 여기서 개시되는 예는, 예를 들면, 데이터가 생성되고, 저장되고, 및/또는 액세스되는 클라이언트 머신의 OS 환경에 영향을 미치지 않고(예를 들면, OS 환경에 대한 능력 요구사항을 부과하지 않고) 암호화된 클라우드-기반 데이터 스토리지를 제공한다. 예를 들면, 상이한 OS 플랫폼 상에 계정을 갖는 사용자는 여기에 개시된 예를 통해 데이터를 공유할 수 있다. 아래에 더 상세하게 설명되는 바와 같이, 여기에 개시되는 예는 클라우드를 통해 공유될 (예를 들면, 컴퓨팅 디바이스의) 드라이브 상에 저장되는 데이터를 나타내는 아카이브 파일(예를 들면, ISO(International Organization for Standards) 이미지)를 생성하고 암호화한다. 여기에 개시되는 몇몇 예에서, 암호화된 아카이브 파일(예를 들면, E-ISO 이미지)는 대응하는 드라이브(예를 들면, 광학 드라이브)의 전체 콘텐츠를 나타내고, 이에 의해 클라우드-기반 스토리지 시스템에 FDE(full disk encryption)를 제공한다. 여기에 개시되는 몇몇 예에서, 암호화 아카이브 파일에는 아카이브 파일의 인가된 수신자가 아카이브 파일에 의해 표시되는 데이터에 액세스할 수 있도록 하나 이상의 래핑된(wrapped) 암호 키(예를 들면, DEK(Disk Encryption Key))가 프로비저닝된다. 여기에 개시되는 몇몇 예에서, 아카이브 파일의 암호화 및/또는 복호화 및/또는 암호화된 파일에의, 예를 들면, 래핑된 DEK(들)의 프로비저닝은 보안 통신 및 보안 동작을 제공하는 TEE(Trusted Execution Environment)를 통해 수행된다. 여기에 개시되는 몇몇 예에서, TEE에 의해 제공되는 하나 이상의 동작은 CSP에 의해 제공되는 서비스에 등록한 컴퓨팅 디바이스(들) 상에서 수행된다. 부가적으로 또는 대안으로, TEE에 의해 제공되는 하나 이상의 동작은 CSP에 의해 관리 및/또는 동작되는 컴퓨팅 디바이스 상에서 수행된다. 즉, 여기에 개시되는 예는 CSP가 TEE의 능력 내에서 활동하도록, 예를 들면, 암호화 데이터를 보안 채널을 통해 래핑 및/또는 언래핑(unwrap)하고 및/또는 래핑된 및/또는 언래핑 암호화 데이터를, 예를 들면, 등록된 클라우드 사용자 컴퓨팅 디바이스에 제공하게 할 수 있다.
따라서, 여기에 개시되는 예에 의해 생성된 완전히 프로비저닝되고, 암호화된 아카이브 파일은 인증 패스워드(예를 들면, 키의 래핑에 대응하는 어구 또는 스트링)를 갖는 클라우드 사용자에 의해 사용되는 컴퓨팅 디바이스와(예를 들면, 컴퓨팅 디바이로 전달되고 복호화되어) 공유될 수 있다. 몇몇 예에서, 암호화된 아카이브 파일은 (예를 들면, 수신 컴퓨팅 디바이스에 의해) 복호화되고 수신 컴퓨팅 디바이스의 OS에 장착된다. (예를 들면, 물리적인 드라이브 또는 포트를 통해 데이터를 액세스하는 OS보다는) 컴퓨팅 디바이스의 OS 환경에 아카이브 파일을 장착함으로써, 여기에 개시되는 예는 클라우드를 통해 공유된 데이터를 포함하는 가상 드라이브를 컴퓨팅 디바이스에 제공한다. 드라이브의 가상화는 OS 환경을 변경하거나 맞춤화할 필요없이 아카이브 파일의 데이터가 임의의 OS 환경과 공유되도록 할 수 있다. 이에 따라, 여기에 개시되는 예는 광범위한 플랫폼 및 애플리케이션에 상호운용성을 제공한다.
여기에 개시되는 예가 클라우드-기반 컴퓨팅 및 클라우드-기반 스토리지 시스템의 맥락에서 논의되었지만, 여기에 개시되는 예는 임의의 적절한 네트워킹된 환경, 플랫폼, 및/또는 커뮤니티에서 구현될 수 있다. 예를 들면, 피어-투-피어(peer-to-peer) 공유 환경은 개시된 예를 이용하여 네트워크를 통해 데이터를 안전하게 공유할 수 있다.
도 1은 여기에 개시되는 예가 구현될 수 있는 예시적인 컴퓨팅 환경(100)을 도시한다. 도 1의 예시적인 컴퓨팅 환경(100)은 하나 이상의 사용자(예를 들면, CSP(102)에 등록된 사람 및/또는 조직)에게 클라우드-기반 서비스(들)를 제공하는 예시적인 클라우드 서비스 제공자(CSP)(102)를 포함한다. 도 1의 예시적인 컴퓨팅 환경(100)은 (CSP(102)에 의해 제공되는 하나 이상의 서비스 중) 제1 사용자에 대응하는 예시적인 제1 컴퓨팅 디바이스(104) 및 (CSP(102)에 의해 제공되는 하나 이상의 서비스 중) 제2 사용자에 대응하는 예시적인 제2 컴퓨팅 디바이스(106)를 포함한다. 도 1의 예시적인 제1 및 제2 컴퓨팅 디바이스(104, 106)는, 예를 들면, 데스크톱 컴퓨터, 모바일 컴퓨팅 디바이스(예를 들면, 스마트폰, 태블릿, 랩톱 컴퓨터), 서버 등과 같은 임의의 적절한 컴퓨팅 디바이스이다. 도 1의 예시적인 제1 및 제2 컴퓨팅 디바이스(104, 106)는 예시적인 네트워크(108)를 통해 CSP(102)의 하나 이상의 컴퓨팅 디바이스(예를 들면, 서버(들))와 통신한다. 여기서 사용되는 바와 같이, 어구 "통신하는(그의 변형을 포함함)"은 직접 통신 및/또는 하나 이상의 중간 컴포넌트를 통한 간접 통신을 포함하고, 직접적인 물리적(예를 들면, 유선) 통신 및/또는 제약 통신을 필요로 하지 않으며, 오히려, 부가적으로 일시적 이벤트뿐만 아니라 주기적 또는 비주기적 간격에서의 선택적 통신을 포함한다. 도 1의 예시적인 네트워크(108)는, 예를 들면, 하나 이상의 데이터 버스, 하나 이상의 LAN(Local Area Network), 하나 이상의 무선 LAN, 하나 이상의 셀룰러 네트워크, 인터넷 등을 포함하는 임의의 적절한 유선 및/또는 무선 네트워크(들)를 사용하여 구현될 수 있다. 몇몇 예에서, 도 1의 컴퓨팅 환경(100)은 부가적인 컴퓨팅 디바이스 및/또는 CSP를 포함한다. 도 1의 예시적인 CSP(102)는, 예를 들면, SaaS 모델, PaaS 모델, IaaS 모델 등 중 하나 이상에 기초하여 클라우드-기반 서비스를 제공한다. 몇몇 예에서, 도 1의 CSP(102)는 일반 대중 중 임의의 적절한 일원으로부터 서비스에 대한 등록 요청을 수신한다. 몇몇 예에서, 도 1의 CSP(102)는 클라우드-기반 서비스를 특정 회사의 종업원과 같은 유한 그룹의 사용자에게 제공하는 것으로 제한된다. 몇몇 예에서, 도 1의 SCP(102)는 대중의 (등록된) 일원에 대한 임의의 서비스 및/또는 하나 이상의 특정 그룹의 사람 또는 사용자에 대한 부가의 또는 대안의 서비스에 대해 이용가능한 하이브리드 환경이다.
도 1의 예시적인 예에서, CSP(102)는 예시적인 키 관리자(110), 예시적인 액세스 정책 관리자(112), 및 예시적인 아카이브 파일 데이터베이스(114)를 구현한다. 도 1의 예시적인 CSP(102)의 예시적인 키 관리자(110), 예시적인 액세스 정책 관리자(112), 및 예시적인 아카이브 파일 데이터베이스(114)는 제1 컴퓨팅 디바이스(104) 및/또는 제2 컴퓨팅 디바이스(104)의 데이터를 안전하게 공유하기 위해(예를 들면, 데이터에 액세스를 제공하기 위해) 예시적인 제1 컴퓨팅 디바이스(104) 및/또는 제2 컴퓨팅 디바이스(106)와 협업한다. 설명의 목적을 위해, 다음의 예는 제1 컴퓨팅 디바이스(104)가 제1 컴퓨팅 디바이스(104) 상에 저장되고 및/또는 그에 의해 생성된 데이터를 제2 컴퓨팅 디바이스(106)와 공유하는 것을 논의한다. 그러나, 예시적인 제2 컴퓨팅 디바이스(106)는 부가적으로 또는 대안으로 제2 컴퓨팅 디바이스(106) 상에 저장되고 및/또는 그에 의해 생성된 데이터를 제1 컴퓨팅 디바이스(104)와 공유할 수 있다. 설명된 예에서, 제1 및 제2 컴퓨팅 디바이스(104, 106)는 상이한 OS 환경을 갖는 상이한 머신이다. 그러나, 몇몇 예에서, 제1 및 제2 컴퓨팅 디바이스(104, 106)는 유사한 OS 환경을 갖는 머신이다. 아래에 더 상세히 설명되는 바와 같이, 여기에 개시되는 예는 별개의 OS 환경을 갖는 제1 및 제2 컴퓨팅 디바이스(104, 106)가 OS 환경에서의 차이에도 불구하고 그리고 컴퓨팅 디바이스(104, 106)의 각각의 OS 환경에 대한 변경 및/또는 맞춤화를 요구하지 않으면서 클라우드를 통해 데이터를 공유할 수 있게 한다. 환언하면, 예시적인 CSP(102) 및 예시적인 제1 및 제2 컴퓨팅 디바이스(104, 106)는 예시적인 CSP(102)에 의해 제공되는 클라우드 서비스를 통해 데이터(예를 들면, 컴퓨팅 디바이스(104, 106)에 로컬로 저장된 데이터)의 안전한 공유를 용이하게 한다.
도 1의 예에서, 제1 컴퓨팅 디바이스(104)는 예시적인 CSP(102)에 등록된 제1 사용자에 대응한다(예를 들면, 속하고 및/또는 등록된다). 제2 컴퓨팅 디바이스(106)는 예시적인 CSP(102)에 등록된 제2 사용자에 대응한다(예를 들면, 속하고 및/또는 등록된다). 등록 프로세스의 부분이 도 1의 예시적인 CSP(102)를 통해 용이하게 됨에 따라, 제1 및 제2 사용자는 CSP(102)에 이름, 식별자, 패스워드, 인구 데이터, 컴퓨팅 디바이스(104, 106)의 능력에 연관된 정보와 같은 식별 정보, 및/또는 임의의 추가 또는 대체 정보를 제공한다. 도 1의 예시적인 CSP(102)는 제공된 정보를 사용하여, 예를 들면, 데이터 스토리지 및/또는 클라우드-기반 리소스(예를 들면, 다른 클라이언트 머신 및/또는 중앙집중 데이터 스토리지) 상에 저장된 정보에 대한 액세스 특권과 같은 하나 이상의 클라우드-기반 서비스에 대응 사용자를 등록한다. 몇몇 예에서, 사용자의 등록은 사용자가 CSP(102)에 의해 제공된 시스템에 로그온할 수 있도록 각각의 사용자에게 사용자 이름 및 패스워드를 할당하는 것을 포함한다. 따라서, 몇몇 예에서, 클라우드의 사용자는 클라우드 서비스의 이용이 허여되기 전에 사용자 이름 및 패스워드를 입력하도록 요구된다. 도 1의 예시적인 예에서, CSP(102)의 키 관리자(110)는 등록된 사용자에 의해 제공되는 정보 중 적어도 몇 개를 수신하고, 예를 들면, 사용자에게 할당된 패스워드를 이용하여 보안 목적으로 하나 이상의 키를 생성한다. 예를 들면, 도 1의 예시적인 키 관리자는 제1 컴퓨팅 디바이스(104)와 연관된 제1 사용자에 의해 제공되는 제1 패스워드를 이용하여 제1 개인(예를 들면, 비밀, 대칭) 암호 키를 생성할 수 있다. 부가하여, 도 1의 예시적인 키 관리자(110)는 제2 컴퓨팅 디바이스(106)와 연관된 제2 사용자에 의해 제공되는 제2 패스워드를 이용하여 제2 개인 암호 키를 생성할 수 있다. 도 1의 예시적인 키 관리자(110)는 각각의 컴퓨팅 디바이스(104, 106)에서의 저장을 위해 각각의 컴퓨팅 디바이스(104, 106)에 개인 암호 키를 전달한다. 또한, 도 1의 예시적인 키 관리자(110)는 각각의 등록된 사용자를 위한 공개 암호 키를 생성하고 CSP(102)에 의한 공중 암호 키의 저장을 용이하게 한다. 도 2 및 도 3과 연계하여 아래에서 더 상세히 설명되는 바와 같이, 예시적인 제1 및 제2 컴퓨팅 디바이스(104, 106)는 예시적인 키 관리자(110)에 의해 관리되는 암호 키를 이용하여 클라우드를 통해 공유되는 데이터의 암호화 및 복호화를 용이하게 한다. 암호 키가 (예를 들면, 도 1의 예시적인 키 관리자(110) 및 이하에 상세히 설명되는 컴퓨팅 디바이스의 컴포넌트를 통해) CSP(102)에 의해 획득되고 관리됨에 따라, 여기에 개시된 예에 의해 제공되는 보안은 개별 컴퓨팅 디바이스(104, 106)의 상이한 로컬 보안 메커니즘에 의존하기보다는 클라우드-기반 암호화 및/또는 사용자-식별 기술을 가능하게 한다. 아래에 상세히 개시됨에 따라, 도 1의 예시적인 CSP(102)는 암호화 데이터에 키 정보가 프로비저닝되고 및/또는 키 정보를 얻도록 프로세싱되는 (예를 들면, TEE 능력을 통해) 보안 래핑 및/또는 보안 언래핑 서비스를 부가적으로 또는 대안으로 제공할 수 있다. 몇몇 예에서, 예시적인 CSP(102)에 의해 프로비저닝되고 및/또는 획득되는 키 정보는 CSP(102)와 제1 및/또는 제2 컴퓨팅 디바이스(104, 106) 간의 하나 이상의 보안 채널을 통해 통신된다.
제1 컴퓨팅 디바이스(104)의 제1 사용자가 제1 사용자(및/또는 제1 컴퓨팅 디바이스(104))와 연관된 데이터를 공유하고자 원하는 경우, 도 1의 예시적인 액세스 정책 관리자(112)는 제1 컴퓨팅 디바이스(104)로부터, 클라우드-기반 서비스의 어떤 사용자(들)가 제1 사용자(예를 들면, 공유를 위해 지정된 데이터의 소유자)에 의해 공유를 위해 지정된 데이터에 액세스 및/또는 독점해야 하는지를 나타내는 액세스 명령어를 수신한다. 예를 들면, 제1 사용자가 제2 컴퓨팅 디바이스(106)와 연관된 제2 사용자와 공유하기 위한 제1 컴퓨팅 디바이스(104)에 저장된 데이터를 지정한다면, 도 1의 예시적인 액세스 정책 관리자(112)는 제1 컴퓨팅 디바이스로부터, 제2 사용자가 대응하는 데이터에 대해 독점권(예를 들면, 액세스 독점권)이 승인되어야 한다는 것을 나타내는 표시를 수신한다. 도 1의 예시적인 예에서, 예시적인 액세스 정책 관리자(112)에 의해 수신되는 공유 또는 액세스 명령어는 제2 사용자 및/또는 제2 컴퓨팅 디바이스(106)와 연관된 하나 이상의 식별자를 포함한다. 부가하여 또는 대안으로, 제1 사용자는 공유 목적을 위해 클라우드 서비스의 모든 등록된 사용자 및/또는 사용자 그룹을 지정할 수 있다. 그러한 예에서, 도 1의 예시적인 액세스 정책 관리자(112)는 지정된 그룹(들)과 연관된 하나 이상의 식별자를 수신한다. 간결성 및 명료성의 목적으로, 다음은 제2 컴퓨팅 디바이스(106)가 제1 사용자에 의해 공유되는 데이터에 액세스하기 위한 디바이스 중 적어도 하나로서 지정된다는 시나리오를 설명한다. 도 1의 예시적인 액세스 정책 관리자(112)는 제1 컴퓨팅 디바이스(104)에 의해 제공되는 공유 또는 액세스 명령어를 사용하여 어떤 키 정보가 공유될 데이터를 나타내는 암호화된 아카이브 파일에 프로비저닝되어야 하는지를 결정한다. 즉, 도 1의 예시적인 액세스 정책 관리자(112)는 상이한 클라우드 사용자(예를 들면, 제2 사용자)에 대응하는 어떤 공개 및/또는 개인 키가 암호화된 아카이브 파일에 포함되어야 하는지를 선택한다. 몇몇 예에서, 도 1의 액세스 정책 관리자(112)는 클라우드의 지식(예를 들면, 클라우드 사용자들 간의 소셜 그래프 연결)을 이용하여 암호화된 아카이브 파일에 프로비저닝될 공개 및/또는 개인 키를 선택한다.
몇몇 예에서, 도 1의 예시적인 액세스 정책 관리자(112)는 선택된(그리고 키 관리자(110)로부터 획득된) 키 정보를 제1 컴퓨팅 디바이스(104)에 전달하여, 제1 컴퓨팅 디바이스(104)는 제2 사용자와 공유될 데이터의 보호(예를 들면, 암호화) 및 전달을 (아래에 상세히 설명되는 방법 및 장치를 통해) 용이하게 할 수 있다. 도 1의 예시적인 액세스 정책 관리자(112)는, 예를 들면, 보안 정보(예를 들면, 제2 사용자에 대응하는 공개 암호 키)의 사용에 관한 명령어와 같은 획득된 키 정보를 수반하도록 추가의 정보를 전달할 수 있다. 아래에 설명되는 바와 같이, 몇몇 예에서, 데이터의 보호 및 전달은 제1 컴퓨팅 디바이스(104)의 드라이브를 나타내는 아카이브 파일의 생성 및 암호화를 포함한다. 부가하여 또는 대안으로, 예시적인 CSP(102)는 선택된 키 정보와 함께 암호화된 아카이브 파일의 프로비저닝을 (예를 들면, 키 관리자(110) 및/또는 CSP(102)를 통해 구현되는 신뢰 실행 환경 컴포넌트를 통해) 수행한다. 즉, 예시적인 제1 컴퓨팅 디바이스(104)는 암호화된 아카이브 파일에 키 정보를 프로비저닝하고 및/또는 암호화된 아카이브 파일을 프로비저닝을 위해 예시적인 CSP(102)에 전달할 수 있다.
도 1의 도시된 예에서, 예시적인 CSP(102)는 암호화된 아카이브 파일을 수신하고 암호화된 아카이브 파일의 사본을 아카이브 파일 데이터베이스(114)에 저장한다. 제2 사용자에게 제1 컴퓨팅 디바이스(104)에 의해 공유되는 데이터에 대한 액세스를 제공하기 위해, 암호화된 아카이브 파일은 제2 컴퓨팅 디바이스(106)로 전달된다. 몇몇 예에서, 아카이브 파일은 제2 컴퓨팅 디바이스(106)로부터의 요청에 응답하여 전달된다. 부가하여 또는 대안으로, 아카이브 파일은 제2 컴퓨팅 디바이스(106)에 (예를 들면, 제2 컴퓨팅 디바이스(106)로부터의 특정 요청이 없는 경우) 자동으로 전달된다. 아래에 상세히 설명되는 바와 같이, 도 1의 예시적인 제2 컴퓨팅 디바이스(106)는 암호화 정보(예를 들면, DEK)를 언래핑하고 암호화 정보를 이용하여 (예를 들면, 등록 프로세스의 부분으로서 제2 사용자에게 할당된 공개 및 개인 암호 키를 이용하여) 아카이브 파일을 복호화한다. 부가하여 또는 대안으로, 도 1의 예시적인 CSP(102)는 언래핑 및/또는 복호화를 수행할 수 있고 아카이브 파일을 하나 이상의 보안 채널을 통해 제2 컴퓨팅 디바이스(106)로 전달할 수 있다. 도 1의 도시된 예에서, 복호화된 아카이브 파일은 제2 컴퓨팅 디바이스(106)의 OS 파일 시스템에 장착되고, 이에 의해 제2 컴퓨팅 디바이스(106)의 OS 파일 시스템에 가상 드라이브로서 아카이브 파일의 데이터를 노출시킨다. (OS 환경에 아카이브 파일을 장착하는 것을 통한) 드라이브의 가상화는 예시적인 제2 컴퓨팅 디바이스(106)가, 이전 시스템의 경우에서와 같이 제2 컴퓨팅 디바이스(106)의 OS 환경에 대한 호환성 요구없이 제1 사용자에 의해 공유되는 데이터를 액세스하게 할 수 있다.
따라서, 도 1의 예는 제1 및 제2 컴퓨팅 디바이스(104, 106)의 각각의 OS 환경이 보안 양상(예를 들면, 암호화 플랫폼, 기술, 구성 등)에 대해 호환하지 않는 경우이더라도 제1 및 제2 컴퓨팅 디바이스(104, 106)가 예시적인 CSP(102)에 의해 제공되는 클라우드 서비스를 통해 데이터를 안전하게 공유할 수 있게 한다. 또한, 도 1과 관련하여 개시되는 예는 제1 및 제2 사용자가 암호화 및 복호화의 목적으로 클라우드-기반 아이덴티티를 갖도록 할 수 있다. 환언하면, 보안 데이터(예를 들면, 공개 및 개인 암호 키)는 제1 및 제2 사용자가 동일한 OS 플랫폼 상에 계정을 가질 필요없이 예시적인 CSP(102)에 의해 제공되는 클라우드 서비스를 통해 공유된다. 따라서, 도 1에 개시되는 예는 제1 및 제2 컴퓨팅 디바이스(104, 106)의 플랫폼들의 보안 구성들 및/또는 OS 환경들 간의 차이에도 불구하고 제1 및 제2 컴퓨팅 디바이스(104, 106)(뿐만 아니라, 예시적인 CSP(102)에 의해 제공되는 서비스를 등록한 및/또는 그 서비스를 이용하는 임의의 다른 디바이스) 간에 상호운용성을 제공한다.
도 2는 도 1의 예시적인 CSP(102)의 예시적인 아카이브 파일 데이터베이스(114)와 통신하는 도 1의 예시적인 제1 컴퓨팅 디바이스(104)의 예시적인 구현예를 도시한다. 도 2의 예는 부가적으로 또는 대안으로 도 1의 예시적인 제2 컴퓨팅 디바이스(106) 및/또는 도 1의 예시적인 CSP(102)에 등록된 임의의 다른 컴퓨팅 디바이스의 예시적인 구현예에 대응할 수 있다. 도 2의 예시적인 제1 컴퓨팅 디바이스(104)는 예시적인 인증 애플리케이션(200), 예시적인 사용자 인터페이스(202), 예시적인 데이터 스토리지(204), 예시적인 아카이브 파일 생성기(206), 예시적인 보안 모듈(208), 예시적인 캐시(210), 예시적인 리디렉터(redirector; 212), 및 예시적인 OS 파일 시스템 장착 포인트(214)를 포함한다. 도 2의 도시된 예에서, 인증 애플리케이션은 컴퓨팅 디바이스(104)를 이용하여 개인의 신원을 검증한다. 도 2의 예시적인 인증 애플리케이션(200)은, 예를 들면, 생체정보(들), 머신 패스워드(들), 및/또는 인증 토큰(들)(예를 들면, Intel® Mirror Pass agent 및/또는 Intel® Protection Technology를 통해), PBA(pre-boot authentication) 기술과 같은 임의의 적절한 기술 및/또는 정보를 사용한다. 즉, 도 2의 예시적인 인증 애플리케이션(200)은 컴퓨팅 디바이스(104)의 사용자가 머신을 사용하도록 인증되는지를 검증한다. 예시적인 인증 애플리케이션(200)은, 예를 들면, PBA(pre-boot authentication module), OS-기반 애플리케이션이거나 또는 보안 엔진(예를 들면, Intel Mirror Pass)에 내장될 수 있다.
도 2의 예에서, 사용자 인터페이스(202)는 웹 브라우저이다. 그러나, 임의의 적절한 사용자 인터페이스가 예시적인 컴퓨팅 디바이스(104) 상에서 사용될 수 있다. 도 2의 예시적인 사용자 인터페이스(202)는 컴퓨팅 디바이스(104)의 사용자가, 예를 들면, CSP(102)에 등록하고 CSP(102)와 클라우드-기반 공유 정보를 교환하기 위해 CSP(102)와 통신하게 할 수 있다. 예를 들면, 사용자 인터페이스(202)는 컴퓨팅 디바이스(104)의 사용자가 액세스 명령어(예를 들면, 제1 컴퓨팅 디바이스(104)의 사용자가 데이터를 공유하고자 희망히는 클라우드 사용자와 연관된 식별자(들))를 CSP(102)에 제공하고 CSP(102)로부터 대응하는 액세스 데이터(예를 들면, 공개 암호 키(들))를 수신하게 할 수 있다.
도 2의 예시적인 컴퓨팅 디바이스(104)는, 예를 들면, 예시적인 CSP(102)에 구현된 클라우드를 통해 공유될 수 있는 데이터를 저장하기 위한 데이터 스토리지(204)를 포함한다. 도 2의 예시적인 데이터 스토리지(204)는, 예를 들면, 하드 디스크 드라이브, 플래시 메모리, ROM(read-only memory), CD(compact disk), DVD(digital versatile disk), 캐시, RAM(random-access memory) 및/또는 정보가 임의의 지속기간 동안(예를 들면, 확장된 시간 주기 동안, 영구적으로, 순간 동안, 일시적인 버퍼링 동안, 및/또는 정보를 캐싱하는 동안) 저장되는 임의의 다른 스토리지 또는 스토리지 디스크와 같은 임의의 적절한 스토리지이다. 도 2에 단일 컴포넌트로서 도시되어 있지만, 도 2의 예시적인 데이터 스토리지(204)는 디스크, 드라이브 등과 같은 하나 이상의 스토리지 디바이스를 포함할 수 있다.
제1 컴퓨팅 디바이스(104)의 사용자는 예시적인 CSP(102)에 의해 제공되는 클라우드 서비스를 통해, 예를 들면, 도 1의 제2 컴퓨팅 디바이스(106)와 공유될 데이터 스토리지(204)의 데이터를 지정할 수 있다. 그러한 예에서, 사용자는 공유될 데이터의 인증 및 데이터가 공유될 사용자(들) 및/또는 그룹(들)의 (예를 들면, 어떤 디바이스(들) 및/또는 사용자(들)가 공유된 데이터로의 액세스를 승인받아야 하는지를 식별하는) 하나 이상의 식별을 포함하는 CSP(102)로의 액세스 또는 독점 명령어를 (예를 들면, 사용자 인터페이스(202)를 통해) 제공한다. 몇몇 예에서, CSP(102)는 보안 정보(예를 들면, 공유를 위해 지정되는 사용자(들)에 대응하는 특정 키 정보)를 갖는 액세스 또는 독점 명령어 및 공유될 데이터 스토리지(204)의 데이터를 나타내는 아카이브 파일을 생성하기 위한 명령어에 응답한다. CSP(102)에 의해 제공되는 명령어 및/또는 정보에 응답하여, 도 2의 예시적인 아카이브 파일 생성기(206)는 그러한 아카이브 파일을 생성한다. 도 2의 도시된 예에서, 아카이브 파일 생성기(206)는 공유될 데이터를 포함하는 데이터 스토리지(204)의 디스크 또는 드라이브를 나타내는 ISO 이미지를 생성한다. 도시된 예에서, 아카이브 파일 생성기(206)는 데이터 스토리지(204)로부터 데이터의 클리어텍스트 블록을 획득하고 데이터의 클리어텍스트 블록을 이용하여 ISO 이미지를 생성한다. 또한, 도 2의 예시적인 보안 모듈(208)은 CSP(102)에 의해 제공된 보안 정보를 이용하여 예시적인 아카이브 파일 생성기(206)에 의해 생성된 ISO 이미지를 암호화한다. 도 2의 도시된 예에서, 보안 모듈(208)은 DEK(Disk Encryption Key)를 이용하여 ISO 이미지를 암호화하고, 이에 의해, 암호화된 ISO(E-ISO) 이미지를 형성한다. 따라서, 예시적인 보안 모듈(208)은 DEK를 사용하여 ISO 이미지의 클리어텍스트 블록을 암호화 블록으로 변환한다. 또한, 도 2의 도시된 예에서, 보안 모듈(208)은 키 데이터(예를 들면, 공유되는 데이터에 액세스하는 것이 승인될 사용자(들)에 대응하는 공중 및/또는 개인 암호 키)를 사용하여 DEK를 래핑한다. 도 2의 예시적인 보안 모듈은 E-ISO 이미지에 래핑된 DEK를 프로비저닝한다. 보안 모듈(208)의 예시적인 구현예 및 아카이브 파일의 암호화는 도 3과 연계하여 아래에 논의된다. 몇몇 예에서, E-ISO 이미지에는 또한 CSP(102)의 키가 (CSP(102)의 공중 래핑 키로 E-ISO의 공중을 래핑함으로써) 프로비저닝되어, 예를 들면, CSP(102)가, 예를 들면, TEE를 통해 하나 이상의 보안 동작을 수행할 때 E-ISO의 보안 통신을 용이하게 한다.
도 2의 도시된 예에서, 프로비저닝된 E-ISO 이미지의 사본은, 예를 들면, 캐시(210)에 로컬로 저장된다. 더욱이, 도 2의 예시적인 컴퓨팅 디바이스(104)는 프로비저닝된 E-ISO 이미지를 CSP(102)로 전달하고, E-ISO 이미지를 아카이브 파일 데이터베이스(114)에 저장한다. 몇몇 예에서, 컴퓨팅 디바이스(104)는 리디렉터(212)를 구현한다. 예를 들면, 컴퓨팅 디바이스(104)는 Intel® IDER(Integrated Development Environment Redirection)을 통해 예시적인 리디렉터(212)를 구현할 수 있다. 예시적인 리디렉터(212)는 컴퓨팅 디바이스(104)가 CSP(102)의 아카이브 파일 데이터베이스(114)에 저장된 E-ISO 이미지를 원격으로 이용하게 할 수 있다. 예를 들면, 리디렉터(212)는 컴퓨팅 디바이스(104)가, 예를 들면, 망가진 로컬 OS 이미리로부터 복원하기 위해 아카이브 파일 데이터베이스(114)에 저장된 E-ISO 이미지로부터 부팅하게 할 수 있다. 도 2의 예시적인 리디렉터(212)에 의해 제공되는 기능은 리디렉터(212)가 디스크 I/O 동작을 원격에 저장된 E-ISO 이미지와 교환되게 할 수 있기 때문에 예시적인 컴퓨팅 디바이스(104)가 무디스크 워크스테이션일 때 또한 유용할 수 있다. 몇몇 예에서, 리디렉터(212)는, 아래에 설명되는 바와 같이, 보안 모듈(208)의 부분으로서 구현된다. 부가적으로 또는 대안으로, 예시적인 리디렉터(212)는 아카이브 파일 생성기(206)의 부분으로서(예를 들면, 아카이브 파일 생성기(206)와 연관된 드라이버로서) 구현될 수 있다.
아카이브 파일 데이터베이스(114)에 저장된 (클라우드를 통해 공유될 데이터 스토리지(204)의 데이터를 나타내는) 프로비저닝된 E-ISO 이미지는, 예를 들면, CSP(102)에 등록된 컴퓨팅 디바이스와 공유될 수 있다. 예를 들면, 도 2의 컴퓨팅 디바이스(104)는 또 다른 클라우드 사용자(예를 들면, 도 1의 제2 컴퓨팅 디바이스(106)와 연관된 제2 사용자)에 의해 공유되는 데이터를 나타내는 E-ISO 이미지를 (예를 들면, 예시적인 사용자 인터페이스(202)를 통해) 요청할 수 있고 및/또는 상기 E-ISO 이미지가 자동으로 제공될 수 있다. 몇몇 예에서, 예시적인 보안 모듈(208)은 E-ISO 및 E-ISO에서 프로비저닝되는 래핑된 DEK(들)를 수신한다. 즉, 예시적인 보안 모듈(208)은 래핑된 DEK(들)이 프로비저닝되는 암호화 블록을 수신한다. 도 2의 예시적인 보안 모듈(208)은 (예를 들면, 대응하는 사용자(들)에 할당되는 개인 키(들)을 이용하여) DEK(들)를 언래핑한다. 전술한 바와 같이, 예시적인 CSP(102)는 대안으로 DEK(들)의 언래핑을 수행하고 언래핑된 DEK(들)를 대응하는 컴퓨팅 디바이스(들)(예를 들면, 제2 컴퓨팅 디바이스(106))에 하나 이상의 보안 채널을 통해 제공할 수 있다. 도시된 예에서, 보안 모듈(208)은 언래핑된 DEK(들)를 사용하여 E-ISO를 복호화하고, 이에 의해, 컴퓨팅 디바이스(104)에게 복호화된 ISO 이미지를 제공한다. 도 2의 도시된 예에서, 복호화된 ISO 이미지는 예시적인 OS 파일 시스템 장착 포인트(214)를 통해 컴퓨팅 디바이스(104)의 운영 시스템의 파일 시스템에 장착된다. 장착된 아카이브 파일때문에, CSP(102)에 의해 제공된 예시적인 ISO 이미지는 클라우드를 통해 공유되는 데이터를 갖는 가상 드라이브로서 컴퓨팅 디바이스(104)의 OS에 노출된다. 즉, 예시적인 OS 파일 시스템 장착 포인트(214)는 예시적인 컴퓨팅 디바이스(104)에게 가상 버전의 공유 데이터를 제공한다. 몇몇 예에서, ISO 이미지를 장착하는 것은 가상 드라이브를 노출하는 원격 컴퓨팅 플랫폼(예를 들면, 가상 드라이브를 노출하는 Intel AMT(Active Management Technology))을 포함하고 가상 드라이브로의 액세스(예를 들면, 기록 동작)는, 예를 들면, SED(Self-Encrypting Drive), HSM(hardware security module), (예를 들면, Intel® AES-NI와 같은 명령어 세트를 통한) 암호화 가속 기능과 같은 원격 컴퓨팅 플랫폼의 내장된 암호화-엔진에 의해 조정된다. 그러한 예에서, 암호화 블록은 원격 컴퓨팅 플랫폼을 통해 제1 컴퓨팅 디바이스(104) 및 CSP(102)로 및/또는 그로부터 리디렉팅된다. 몇몇 예에서, 암호화 블록의 리디렉션은 하나 이상의 대응하는 원격 파일 스토리지 프로토콜(예를 들면, iSCSI(Internet Small Computer System Interface) 프로토콜(들))을 인식하기 위해 원격 컴퓨팅 플랫폼에 대한 수정을 포함한다.
도 2의 예시적인 제1 컴퓨팅 디바이스(104)는 예시적인 메모리 보호기(216)를 포함한다. 예시적인 메모리 보호기(216)는, 예를 들면, 제1 컴퓨팅 디바이스(104)의 영구 메모리(예를 들면, 플래시, RAM, PRAM(persistent RAM) 등) 상에 저장된 DEK(들) 및/또는 ISO 이미지(들)과 같은 민감한 데이터에 보안을 제공한다. 예시적인 메모리 보호기(216)는 도 4와 연계하여 아래에 상세히 설명된다.
도 3은 도 2의 예시적인 보안 모듈(208)의 예시적인 구현예를 도시한다. 도 3의 예는 예시적인 TEE(Trusted Execution Environment; 302)를 구현하는 Intel® CSME(Security and Manageability Engine)(300)를 포함한다. 부가하여, 도 3의 예시적인 CSME(300)는 도 2의 리디렉터(212)와 유사한 기능을 제공하는 예시적인 IDER(304)를 구현한다. 즉, 도 2의 리디렉터(212)는 부가적으로 또는 대안으로 도 3의 CSME(300)와 연결하여 구현될 수 있다. 도 3의 예시적인 CSME(300)는 예시적인 EE(Encryption Engine)(306)과 통신한다. 도 3의 예시적인 EE(306)는 도 1 및 도 2와 연계하여 개시된 하나 이상의 암호화 및 복호화 기능을 수행한다. 예를 들면, 컴퓨팅 디바이스(104)가 데이터를 공유하는 프로세스 중일 때, EE(306)는 ISO 이미지의 클리어텍스트 데이터 블록을 수신하고 클리어텍스트 블록을 (예를 들면, 하나 이상의 DEK를 이용하여) 암호화텍스트(ciphertext) 블록으로 암호화한다. 부가하여, 컴퓨팅 디바이스(104)가 (예를 들면, 클라우드의 또 다른 컴퓨팅 디바이스로부터의) 공유 데이터를 액세스하는 프로세스 중일 때, 도 3의 EE(306)은 E-ISO 이미지의 암호화텍스트 블록을 수신하고 암호화텍스트 블록을 클리어텍스트 블록으로 복호화하고, 이 클리어텍스트 블록이 컴퓨팅 디바이스(104)의 OS 환경에 의해 액세스되고 이해될 수 있다. 도 3의 예시적인 CSME(300)는 데이터 블록을 암호화/복호화하는데 사용되는 DEK(들)와 같은 대칭 및/또는 비대칭 키의 저장을 지원한다. 도 3의 도시된 예에서, CSME(300)는 키의 저장을 용이하게 하기 위해 예시적인 키 스토어(308)와 통신한다. 도 3의 예에서, TEE(302)는 키 스토어(308)의 공중 키를 이용하여, 예를 들면, 클라우드를 통해 또 다른 사용자에 의한 안전한 사용을 위해 DEK를 래핑한다. 또한, 도 3의 예시적인 TEE(302)는 키 스토어(308)의 개인 키를 이용하여, 예를 들면, 래핑된 DEK를 언래핑한다. 도시된 예에서, 언래핑된 DEK는 대응하는 E-ISO를 복호화하는데 사용하기 위해 EE(306)로 전달된다. 도 3의 예시적인 CSME(300)는 또한, 예를 들면, CSP(102)로부터 수신되는 액세스 정책의 프로세싱(예를 들면, 해석), (예를 들면, 사용자의 인증과 연관된) 기준 데이터에 대한 사용자 인증 정보의 비교 등을 포함하는 액세스 동작 및 키 관리를 수행한다.
도 3의 예시적인 보안 모듈(208)은 부가적인 또는 대안의 방식(들)로 및/또는 부가적이거나 대안의 플랫폼(들)을 통해 구현될 수 있다. 예를 들면, 예시적인 EE(306)은 코드 분리(예를 들면, Intel® SGX(Software Guard Extensions)를 위해 설계된 명령어 및/또는 암호화를 가속시키기 위해 설계된 CPU 명령어 세트(예를 들면, Intel® AES-NI)를 이용하여 CPU 패키지 내부에 구현될 수 있다. 부가적으로 또는 대안으로, 예시적인 EE(306)는 암호화 오프로드 엔진이 OS 파일 시스템에 투명하게 데이터 스트림(예를 들면, 데이터 스토리지 I/O 스트림)을 암호화하고 복호화하는 칩셋에 구현될 수 있다. 그러한 예에서, CSME(300)는 키 교환 동작을 수행하고 (예를 들면, DEK의 래핑 및 언래핑에 의해) DEK로의 액세스를 조정하기 위해 칩셋에 구현될 수 있다. 부가하여 또는 대안으로, 예시적인 EE(306)은, 내부에서 내장된 블록 암호화기가 암호화 및/또는 복호화를 수행하기 위해 태스킹(또는 리-태스팅(re-tasked))되고 데이터 블록의 스토리지 및 검색이 ISO 이미지와의 판독/기록 프로세싱을 위해 E-ISO 드라이버에 반영되는 SED(Self Encrypting Drive)에 구현될 수 있다. 부가하여 또는 대안으로, 도 3의 예시적인 EE(306)는, 내부에서 데이터 블록 암호화 및/또는 복호화가 수행되고 E-ISO 드라이버에 다시 반영되는 주변 HSM(Hardware Security Module)에 구현될 수 있다. 도 1 및/또는 도 2의 예시적인 컴퓨팅 디바이스(104)는 전술한 하나 이상의 예에서 예시적인 EE(306)를 구현할 수 있다. 즉, 예시적인 보안 모듈(208)은 전술한 예시적인 EE(306)의 단일 구현예 또는 전술한 예시적인 EE(306)의 구현예의 임의의 적절한 조합을 이용할 수 있다.
도 4는 도 2의 메모리 보호기(216)의 예시적인 구현예를 도시한다. 도 4의 예시적인 메모리 보호기(216)는 여기에 개시된 DEK(들)(402) 및/또는 ISO 이미지(들)(404)(예를 들면, ISO 이미지)와 같은 정보가, 예를 들면, 대응하는 디바이스의 영구 메모리(406)(예를 들면, RAM)에 저장될 때, DEK(들)(402) 및/또는 ISO 이미지(들)(404)(예를 들면, ISO 이미지)와 같은 민감한 데이터에 보안을 제공한다. 영구 메모리(406) 상의 DEK(들)(402) 및/또는 아카이브 파일(들)(404)의 저장은 데이터가 사용동안 클리어될 수 있기 때문에 도전 과제를 제공한다. 영구 메모리(406)를 포함하는 머신이 비인가된 형식(예를 들면, 도난)으로 액세스하였다면, 미인가 사용자는, 이론적으로, 예를 들면, 영구 메모리(406)의 물리적 조사를 통해 및/또는 전력을 호스트 CPU에 인가하고 커널 또는 애플리케이션 모드에서 소프트웨어 버그를 활용함으로써 ISO 이미지(들)(404)의 클리어텍스트에 대한 액세스를 획득할 수 있다. 도 4의 예시적인 메모리 보호기(216)는 그러한 공격에 대해 보호한다. 도 4의 도시된 예에서, 메모리 보호기(216)는, 예를 들면, 여기에 개시된 E-ISO 이미지의 생성과 연관된 드라이버(410)에서 메모리 스크럽 정책(408)을 구현한다. 예를 들면, 도 4의 드라이버(410)는 도 2의 예시적인 아카이브 파일 생성기(206)에 의해 구현된다. 공격 또는 부적절한 행동의 이상의 표시에 응답하여, 예시적인 메모리 스크럽 정책(408)은 영구 메모리(406)를 관리하는 메모리 컨트롤러(412)에 대한 커맨드를 생성한다. 즉, 예시적인 메모리 스크럽 정책(408)은 커맨드가 메모리 컨트롤러(412)에 제공되는 하나 이상의 시나리오를 정의한다. 도시된 예에서, 메모리 스크럽 정책(408)마다 예시적인 메모리 보호기(216)에 의해 제공되는 커맨드는 메모리 컨트롤러(412)에게, 예를 들면, DEK(들)(402) 및/또는 ISO 이미지(들)과 같은 민감한 정보를 포함하는 영구 메모리(406)의 부분을 스크럽, 소거, 및/또는 삭제하라고 명령한다. 몇몇 예에서, 메모리 컨트롤러(412)는 SIM(secrets-in-memory)을 포함하는 대응 페이지의 표시로서 페이지 테이블 엔트리의 한 비트를 이용한다. 도 4의 도시된 예에서, E-ISO 드라이버(410)는 영구 메모리(406) 내의 대응 페이지가 SIM을 포함한다고 표시하는 것이 적절할 때 SIM 비트를 설정한다.
도 4의 예시적인 메모리 보호기(216)는, 예를 들면, 영구 메모리(406)에 대한 공격을 나타내는 이벤트 및/또는 고위험 시나리오를 검출하는 하나 이상의 모듈로부터 데이터를 수신한다. 도시된 예에서, 공격 검출 데이터를 제공하는 모듈은 예시적인 사용자 식별 모듈(414), 예시적인 센서 콘텍스트 모듈(416), 예시적인 전력 상태 인터럽트 모듈(418) 및 예시적인 캘리더 모듈(420)을 포함한다. 도 4의 예시적인 사용자 식별 모듈(414)은 (예를 들면, 임계치 가능성 내에) 컴퓨팅 디바이스가 인가된 사용자에 의해 사용되고 있는지 및/또는 미인가 사용자가 호스트 머신을 액세스하고자 시도하고 있는지를 결정한다. 도 4의 도시된 예에서, 도 4의 사용자 식별 모듈(414)은 도 2의 예시적인 인증 모듈(200)을 이용하여 (로그인 프로세스가 성공적으로 네비게이트되고 및/또는 통과되었는지를 결정함으로써) 사용자가 인증되는지를 결정한다. 현재의 사용자가 인식 및/또는 인증되지 않는다면, 예시적인 인증 모듈(414) 예시적인 E-ISO 드라이버(410)에게 표시를 전달한다. 몇몇 예에서, 도 4의 메모리 스크럽 정책(408)은 스크럽 커맨드가 인증 모듈(414)로부터의 표시에 응답하여 메모리 컨트롤러(412)에 전달될지를 결정하는 것을 참조한다.
도 4의 예시적인 센서 콘텍스트 모듈(416)은, 예를 들면, 덮개 상태(예를 들면, 열림, 닫힘, 열리는 중 또는 닫히는 중), 호스트 머신 근처의 사용자 존재, 호스트 머신 근처의 사용자 존재의 부족, 미사용 콘텍스트와 같은 호스트 머신의 콘텍스트를 (예를 들면, 가속도계 및/또는 자이로스코프로부터의 움직임 정보를 걷기 또는 사용자 행동에 대해 전형적이지 않은 다른 움직임과 같은, 행동 또는 사용과 연관되지 않은 활동을 검출하기 위한 기준 움직임 정보와 비교함으로써) 검출한다. 호스트 머신이 미사용 상태라고 결정하면, 예시적인 센서 콘텍스트 모듈(416)은 대응하는 표시를 예시적인 E-ISO 드라이버(410)로 전달한다. 몇몇 예에서, 도 4의 메모리 스크럽 정책(408)은 스크럽 커맨드가 센서 컨텍스트 모듈(416)로부터의 표시에 응답하여 메모리 컨트롤러(412)에 전달될지를 결정하도록 참조된다.
도 4의 예시적인 전력 상태 인터럽트 모듈(416)은 공격을 나타내는 일반적이지 않은 전력의 인터럽션이 발생했는지를 결정한다. 그렇다면, 예시적인 전력 상태 인터럽트 모듈(418)은 대응하는 표시를 예시적인 E-ISO 드라이버(410)에 전달한다. 몇몇 예에서, 도 4의 메모리 스크럽 정책(408)은 스크럽 커맨드가 전력 상태 인터럽트 모듈(418)로부터의 표시에 응답하여 메모리 컨트롤러(412)에 전달될지를 결정하도록 참조된다.
도 4의 예시적인 캘린더 모듈(420)은, 예를 들면, 컴퓨터 프로그램에 의해 구현되는 캘린더와 같은 사용자의 전자 캘린더를 참조함으로써 호스트 머신의 사용자가 특정 시간 또는 날짜에 여행 및/또는 작업을 하지 않을 것으로 예정되어 있거나 예상되는지를 결정한다. 그러한 시간 동안, 도 4의 예시적인 캘린더 모듈(420)은 메모리 보호기(216)에 사용자의 예상되는 부재를 통지한다. 몇몇 예에서, 예시적인 메모리 스크럽 정책(408)의 정의는 그러한 표시를 사용하여 스크럽 커맨드가, 예를 들면, 인증 모듈(414), 센서 콘텍스트 모듈(416), 및/또는 전력 상태 인터럽트 모듈(418)로부터의 하나 이상의 부가 표시와 결합하여 메모리 컨트롤러(412)에 전달될지를 결정한다.
도 5는 도 1 내지 도 3과 연결지어 전술한 E-ISO 이미지의 예시적인 구조를 도시한다. 도 5의 예시적인 E-ISO 이미지(500)는 ISO 이미지를 OS 및/또는 대응하는 애플리케이션에 노출시키기 위한 OS 장착 포인트 요구사항을 만족시키는 헤더 블록(502)을 포함한다. 도 5의 예시적인 E-ISO 이미지(500)는 E-ISO 특정 콘텐츠에의 액세스(예를 들면, 드라이버 액세스)를 지원하기 위해 ISO 이미지에 오프셋을 정의하는 FDE(Full Disk Encryption) 헤더(504)를 포함한다. 도시된 예에서, FDE 헤더 정보는 비-EISO-인식 드라이버와 호환성을 유지하기 위해 ISO 인벨럽핑 규약(ISO enveloping conventions)과에 부합한다. 도 5의 예시적인 E-ISO 이미지(500)는, 예를 들면, 인증 절차로부터 수집된 정보를 사용하여 도출되거나 생성된 개인 키를 이용하여 암호화되는 하나 이상의 래핑된 DEK(506)를 포함한다. 도 5의 예시적인 E-ISO 이미지(500)는 공중 키에 대응하는 개인 키의 소유자가 DEK를 복호화할 수 있도록 공개 키를 이용하여 암호화되는 하나 이상의 래핑된 DEK(508)를 포함한다. 도 5의 예시적인 E-ISO 이미지(500)는 사용자에 대응하는 하나 이상의 래핑된 공중 키(510)를 포함한다. 몇몇 예에서, 일시적 암호 서비스 제공자는 클라우드-기반 오프로드 기능을 위해 이용될 수 있다. 예시적인 일시적 암호 서비스 제공자는 2005년 11월 16일에 출원된 미국 특허 번호 8,422,678에 개시되어 있다. 도 5의 예시적인 E-ISO 이미지(500)는, 예를 들면, 사용자를 인증하는데 사용될 수 있는 인자로 표현되는 최소 세기 인증을 포함하는 데이터 민감 레벨을 정의하는 데이터 보안 레벨(512)을 포함한다. 몇몇 예에서, 데이터 보안 레벨(512)은 CSP(102)에 의해 제공되는 클라우드 서비스와 컴퓨팅 디바이스의 OS 환경(예를 들면, OS 장착 포인트) 간 데이터 민감성을 매핑하기 위한 정보를 제공한다. 도 5의 예시적인 E-ISO 이미지(500)는 E-ISO 이미지의 참조 무결성을 유지하기 위한 서명(514)을 포함한다. 그러한 예에서, 서명(514)은 헤더(502, 504)가 적용하는 데이터 블록에 대한 참조(예를 들면, 데이터 블록의 해시, 무결성 레지스터 초기화 벡터, 또는 RAID 어레이에 의해 제공되는 것과 같은 블록의 체크섬)를 포함한다. 몇몇 예에서, 무결성 체크 값은 컴퓨팅 디바이스(104)와 CSP(102) 간에 교환되는 데이터 블록 판독/기록 동작에 대한 MITM(man-in-the-middle) 공격을 검출하기 위해 E-ISO의 블록과 연관된 I/O 세션과 연결지어 사용될 수 있다. 도 5의 예시적인 E-ISO 이미지(500)는 암호화텍스트 블록(516)을 포함한다. 그러나, 몇몇 예에서, 암호화텍스트 블록은 CSP(102)에 저장되고 ISO 이미지가 액세스될 때 검색된다.
도 6은 도 1 내지 도 3의 예시적인 CSP(102), 예시적인 제1 컴퓨팅 디바이스(104) 및 예시적인 제2 컴퓨팅 디바이스(106)와 연관된 예시적인 시퀀스 다이아그램이다. 도 6의 예에서, 제1 및 제2 컴퓨팅 디바이스(104, 106)의 임의의 컴포넌트가 도시된다. 그러나, 제1 및 제2 컴퓨팅 디바이스(104, 106)는 부가의 또는 대안의 컴포넌트를 포함할 수 있다. 예를 들면, 도 6의 예시적인 시퀀스는 CSP(102)에 의해 제공되는 클라우드 서비스를 통해 제1 컴퓨팅 디바이스(104)의 데이터 스토리지(204)의 데이터를 제2 컴퓨팅 디바이스(106)와 공유하는 제1 컴퓨팅 디바이스(104)에 대응한다. 따라서, 암호화 및 공유 프로세스에 관여하는 제1 컴퓨팅 디바이스(104)의 컴포넌트가 도 6에 도시되어 있다. 역으로, 복호화 및 액세스 프로세스에 관여하는 제2 컴퓨팅 디바이스(106)의 컴포넌트가 도 6에 도시되어 있다. 그러나, 도 1 내지 도 3의 예시적인 제1 컴퓨팅 디바이스(104) 및 예시적인 제2 컴퓨팅 디바이스(106)가 예시적인 CSP(102)에 의해 제공되는 클라우드 서비스를 통해 데이터를 각각 개별적으로 공유하고 액세스할 수 있다.
도 6의 예는 제1 컴퓨팅 디바이스(104)의 제1 사용자가 공유 표시(600)를 CSP(102)에 제공하는 것으로 시작한다. 도 6의 예시적인 공유 표시(600)는, 예를 들면, 예시적인 사용자 인터페이스(202)(예를 들면, 웹 브라우저)에 의해 생성되는 HTTP(Hyper Text Transfer Protocol) 요청을 통해 전달되는 데이터이다. 도 6의 예시적인 공유 표시(600)는 제1 사용자가 하나 이상의 다른 클라우드 사용자에게 제1 컴퓨팅 디바이스(104)와 연관된(예를 들면, 제1 컴퓨팅 디바이스(104)의 로컬 데이터 스토리지(204)에 저장된) 데이터를 이용가능하게 하는 것을 원한다는 것을 나타낸다. 도 6의 도시된 예에서, 공유 표시(600)는 예시적인 제1 컴퓨팅 디바이스(104)의 의도된 공유 타겟으로 제2 사용자를 식별하기 위해 제2 컴퓨팅 디바이스(106)의 제2 사용자에 대응하는 식별자를 포함한다.
도 6의 예시적인 공유 표시(600)에 응답하여, 예시적인 CSP(102)는 액세스 정책 정보 및 키 정보를 포함하는 공유 데이터 패키지(602)를 제1 컴퓨팅 디바이스(104)의 예시적인 TEE(302)에 전달한다. 도 6의 예에서, CSP(102)에 의해 제공되는 공유 데이터 패키지(602)의 키 정보는 CSP(102)의 예시적인 키 관리자(110)에 의해 유지되고, 예를 들면, 제2 사용자에게 대응하는 공중 암호 키를 포함한다. 도 6의 예시적인 공유 데이터 패키지(602)는, 예를 들면, 부가의 클라우드 사용자(들)에 대응하는 부가의 공중 키(들)과 같은 부가의 또는 대안의 정보를 포함할 수 있다.
도 6의 도시된 예에서, 제1 컴퓨팅 디바이스(104)의 TEE(302)는 DEK(Disk Encryption Key)를, 예를 들면, 예시적인 공유 데이터 패키지(602)의 공중 암호 키(들)(예를 들면, 제2 사용자에게 대응하는 공중 암호 키)와 래핑한다. 즉, 예시적인 TEE(302)는 예시적인 제1 컴퓨팅 디바이스(104)의 예시적인 아카이브 파일 생성기(206)로 전달되는 하나 이상의 래핑된 DEK(604)를 생성한다. 또한, 클라우드를 통해 공유될 데이터(606)는 예시적인 아카이브 파일 생성기(206)에 의해 획득되고 및/또는 액세스된다. 몇몇 예에서, 데이터(606)는, 예를 들면, 제1 컴퓨팅 디바이스(104)의 드라이브(예를 들면, 광학 드라이브) 전체를 포함한다. 도 6의 예에서, 예시적인 아카이브 파일 생성기(206)는 드라이브 데이터(606)를 나타내는 ISO 이미지를 생성하고 ISO 이미지를 암호화하여 E-ISO 이미지(608)를 형성한다. 드라이브 데이터(606)를 나타내기 위해 대체 유형의 아카이브 파일이 이용될 수 있다. 부가하여, 도 1의 예시적인 아카이브 파일은 E-ISO(608)에 래핑된 DEK(들)(604)을 프로비저닝하고, 이에 의해 프로비저닝된 E-ISO 이미지(608)를 생성한다. 따라서, 예시적인 아카이브 파일 생성기(206)는 예시적인 데이터 스토리지(204)의 드라이브의 몇몇 또는 모든 데이터뿐만 아니라 래핑된 DEK(그리고, 클라우드를 통해 공유되는 데이터를 액세스하도록 지정된 다른 사용자에 대응하는 임의의 다른 래핑된 DEK(들))를 포함하는 E-ISO 이미지의 생성을 용이하게 한다. 도 1의 예시적인 제1 컴퓨팅 디바이스(104)는 프로비저닝된 E-ISO 이미지(608)를 예시적인 CSP(102)에 전달한다.
도 6의 예에서, CSP(102)는 프로비저닝된 E-ISO 이미지(608)를 수신하고 E-ISO 이미지(608)의 사본을 아카이브 파일 데이터베이스(114)에 저장(예를 들면, 아카이빙)한다. 도 6의 예에서, CSP(102)는 E-ISO 이미지를 제2 컴퓨팅 디바이스(106)로부터의 요청을 수신하지 않고도 제2 컴퓨팅 디바이스(106)(및/또는 고유를 위해 지정된 다른 사용자(들))에게 전달한다. 대안으로, 예시적인 CSP(102)는 제2 컴퓨팅 디바이스(106)에 대한 요청을 수신하는 것에 응답하여 E-ISO 이미지(608)를 전달할 수 있다. 도 6의 예에서, 제2 컴퓨팅 디바이스(106)의 TEE(302)는 E-ISO 이미지(608)에 프로비저닝되는 래핑된 DEK(들)를 언래핑한다. 래핑된 DEK(들)를 언래핑하기 위해, 예시적인 TEE(302)는 제2 컴퓨팅 디바이스(106)와 연관된 제2 사용자에게 할당된 개인 암호 키를 사용한다. 예를 들면, 개인 암호 키는 제2 컴퓨팅 디바이스(106)(또는 그의 사용자)가 CSP(102)에 등록할 때 CSP(102)에 의해 제2 컴퓨팅 디바이스(106)에 할당될 수 있다. 대안으로, 예시적인 CSP는 (예를 들면, TEE 기능을 통해) DEK(들)를 언래핑하고 언래핑된 DEK를 보안 채널(들)을 통해 제2 컴퓨팅 디바이스(106)에 제공할 수 있다. 언래핑된 DEK(들)(610)에 액세스함에 따라, 예시적인 제2 컴퓨팅 디바이스(106)의 EE(304)는 E-ISO 이미지(608)를 복호화하여 제1 컴퓨팅 디바이스(104)의 데이터 스토리지(204)의 공유된 드라이브를 나타내는 ISO 이미지(612)를 획득한다. ISO 이미지(612)는 예시적인 장착 포인트(214)를 통해 예시적인 제2 컴퓨팅 디바이스(106)의 OS에 장착되고, 이에 의해 제2 컴퓨팅 디바이스(106)의 OS를 가상 버전의 공유된 드라이브 데이터에 제공한다. 따라서, 예시적인 제2 컴퓨팅 디바이스(106)는 예시적인 CSP(102)에 의해 제공되는 공유 서비스를 통해 예시적인 제1 컴퓨팅 디바이스(104)에 의해 공유되는 드라이브 데이터(204)로의 액세스를 얻는다.
CSP(102)를 구현하는 예시적인 방식이 도 1에 도시되어 있지만, 도 1에 도시된 구성요소, 프로세스 및 또는 디바이스 중 하나 이상이 결합되고, 분할되고, 재배열되고, 생략되고, 제거되고 및/또는 임의의 다른 방식으로 구현될 수 있다. 도 1의 제1 및/또는 제2 컴퓨팅 디바이스(104, 106)를 구현하는 예시적인 방식이 도 2에 도시되어 있지만, 도 2에 도시되는 구성요소, 프로세스 및/또는 디바이스 중 하나 이상이 결합되고, 분할되고, 재배열되고, 생략되고, 제거되고 및/또는 임의의 다른 방식으로 구현될 수 있다. 도 2의 보안 모듈(208)을 구현하는 예시적인 방식이 도 3에 도시되어 있지만, 도 3에 도시되는 구성요소, 프로세스 및/또는 디바이스 중 하나 이상이 결합되고, 분할되고, 재배열되고, 생략되고, 제거되고 및/또는 임의의 다른 방식으로 구현될 수 있다. 도 4의 메모리 보호기(216)를 구현하는 예시적인 방식이 도 4에 도시되어 있지만, 도 4에 도시되는 구성요소, 프로세스 및/또는 디바이스 중 하나 이상이 결합되고, 분할되고, 재배열되고, 생략되고, 제거되고 및/또는 임의의 다른 방식으로 구현될 수 있다. 또한, 도 1의 예시적인 키 관리자(110), 도 1의 예시적인 액세스 정책 관리자(112), 도 2의 예시적인 인증 애플리케이션(200), 도 2의 예시적인 사용자 인터페이스(202), 도 2의 예시적인 아카이브 파일 생성기(206), 도 2의 예시적인 보안 모듈(208), 도 2의 예시적인 리디렉터(212), 도 2의 예시적인 OS 파일 시스템 장착 포인트(214), 도 3의 예시적인 CSME(300), 도 3의 예시적인 TEE, 도 3의 예시적인 IDER(304), 도 3의 예시적인 EE(306), 도 4의 예시적인 메모리 보호기(216), 도 4의 예시적인 E-ISO 드라이버(410), 도 4의 예시적인 메모리 컨트롤러(412), 도 4의 예시적인 인증 모듈(414), 도 4의 예시적인 센서 콘텍스트 모듈(416), 도 4의 예시적인 전력 상태 인터럽트 모듈(418), 도 4의 예시적인 캘린더 모듈(420), 및/또는, 더 일반적으로, 도 1 및/또는 도 2의 예시적인 CSP(102), 도 1 및/또는 도 2의 예시적인 컴퓨팅 디바이스(104, 106), 및/또는 도 2 및/또는 도 3의 예시적인 보안 모듈(208)은 하드웨어, 소프트웨어, 펌웨어 및/또는 하드웨어, 소프트웨어 및/또는 펌웨어의 임의의 조합에 의해 구현될 수 있다. 따라서, 도 1의 예시적인 키 관리자(110), 도 1의 예시적인 액세스 정책 관리자(112), 도 2의 예시적인 인증 애플리케이션(200), 도 2의 예시적인 사용자 인터페이스(202), 도 2의 예시적인 아카이브 파일 생성기(206), 도 2의 예시적인 보안 모듈(208), 도 2의 예시적인 리디렉터(212), 도 2의 예시적인 OS 파일 시스템 장착 포인트(214), 도 3의 예시적인 CSME(300), 도 3의 예시적인 TEE, 도 3의 예시적인 IDER(304), 도 3의 예시적인 EE(306), 도 4의 예시적인 메모리 보호기(216), 도 4의 예시적인 E-ISO 드라이버(410), 도 4의 예시적인 메모리 컨트롤러(412), 도 4의 예시적인 인증 모듈(414), 도 4의 예시적인 센서 콘텍스트 모듈(416), 도 4의 예시적인 전력 상태 인터럽트 모듈(418), 도 4의 예시적인 캘린더 모듈(420), 및/또는, 더 일반적으로, 도 1 및/또는 도 2의 예시적인 CSP(102), 도 1 및/또는 도 2의 예시적인 컴퓨팅 디바이스(104, 106), 및/또는 도 2 및/또는 도 3의 예시적인 보안 모듈(208)은 하나 이상의 아날로그 또는 디지털 회로(들), 로직 회로, 프로그래밍된 프로세서(들), ASIC(application specific integrated circuit)(들), PLD(programmable logic device)(들), 및/또는 FPLD(field programmable logic device)(들)에 의해 구현될 수 있다. 순수한 소프트웨어 및/또는 펌웨어 구현예를 커버하기 위해 본 특허의 장치 또는 시스템 청구항 중 임의의 청구항을 읽을 때, 도 1의 예시적인 키 관리자(110), 도 1의 예시적인 액세스 정책 관리자(112), 도 2의 예시적인 인증 애플리케이션(200), 도 2의 예시적인 사용자 인터페이스(202), 도 2의 예시적인 아카이브 파일 생성기(206), 도 2의 예시적인 보안 모듈(208), 도 2의 예시적인 리디렉터(212), 도 2의 예시적인 OS 파일 시스템 장착 포인트(214), 도 3의 예시적인 CSME(300), 도 3의 예시적인 TEE, 도 3의 예시적인 IDER(304), 도 3의 예시적인 EE(306), 도 4의 예시적인 메모리 보호기(216), 도 4의 예시적인 E-ISO 드라이버(410), 도 4의 예시적인 메모리 컨트롤러(412), 도 4의 예시적인 인증 모듈(414), 도 4의 예시적인 센서 콘텍스트 모듈(416), 도 4의 예시적인 전력 상태 인터럽트 모듈(418), 도 4의 예시적인 캘린더 모듈(420), 및/또는, 더 일반적으로, 도 1 및/또는 도 2의 예시적인 CSP(102), 도 1 및/또는 도 2의 예시적인 컴퓨팅 디바이스(104, 106), 및/또는 도 2 및/또는 도 3의 예시적인 보안 모듈(208) 중 적어도 하나는 소프트웨어 및/또는 펌웨어를 저장하는 메모리, DVD(digital versatile disk), CD(compact disk), 블루레이 디스크 등과 같은 유형의 컴퓨터 판독가능 스토리지 디바이스 또는 스토리지 디스크를 포함하는 것으로 여기서 명시적으로 정의된다. 또한, 도 1의 예시적인 CSP(102), 도 1의 예시적인 제1 컴퓨팅 디바이스(104), 도 1의 예시적인 제2 컴퓨팅 디바이스(106), 및/또는 도 2의 예시적인 보안 모듈은 도 2 및/또는 도 3에 도시된 것에 더하여 또는 그 대신에 하나 이상의 구성요소, 프로세스 및/또는 디바이스를 포함할 수 있고, 및/또는 하나 보다 많은 임의의 또는 모든 도시된 구성요소, 프로세스 및 디바이스를 포함할 수 있다.
도 7은 도 1 및/또는 도 2에 도시된 예시적인 CSP(102)를 구현하기 위한 예시적인 머신 판독가능 명령어를 나타내는 플로우차트이다. 도 8은 도 1 및/또는 도 2에 도시된 예시적인 CSP(102)를 구현하기 위한 예시적인 머신 판독가능 명령어를 나타내는 플로우차트이다. 도 9는 도 1, 도 2, 및/또는 도 3에 도시된 예시적인 제1 컴퓨팅 디바이스(104)를 구현하기 위한, 및/또는 도 1, 도 2, 및/또는 도 3에 도시된 예시적인 제2 컴퓨팅 디바이스(106)를 구현하기 위한 예시적인 머신 판독가능 명령어를 나타내는 플로우차트이다. 도 10은 도 1, 도 2, 및/또는 도 3에 도시된 예시적인 제1 컴퓨팅 디바이스(104)를 구현하기 위한, 및/또는 도 1, 도 2, 및/또는 도 3에 도시된 예시적인 제2 컴퓨팅 디바이스(106)를 구현하기 위한 예시적인 머신 판독가능 명령어를 나타내는 플로우차트이다. 이들 예에서, 머신 판독가능 명령어는 도 11과 연결지어 아래에 논의되는 예시적인 프로세서 플랫폼(1100)에 도시된 프로세서(1112)와 같은 프로세서에 의한 실행을 위한 프로그램을 포함한다. 프로그램은 CD-ROM, 플로피 디스크, 하드 드라이브, DVD(digital versatile disk), 블루레이 디스크 또는 프로세서(1112)와 연관된 메모리와 같은 유형의 컴퓨터 판독가능 스토리지 매체 상에 저장된 소프트웨어에서 구체화될 수 있지만, 그들의 일부는 대안으로 프로세서(1112) 이외의 디바이스에 의해 실행될 수 있고 및/또는 펌웨어 또는 전용 하드웨어에 구체화될 수 있다. 또한, 예시적인 프로그램이 도 7 내지 도 10에 도시된 플로우차트를 참조하여 설명되어 있지만, 도 1 및/또는 도 2의 예시적인 CSP(102), 도 1, 도 2 및/또는 도 3의 예시적인 제1 및/또는 제2 컴퓨팅 디바이스(104, 106)를 구현하는 많은 다른 방법이 대안으로 사용될 수 있다. 예를 들면, 블록들의 실행의 순서는 변경될 수 있고, 및/또는 설명되는 블록들 중 일부가 변경되거나, 제거되거나 결합될 수 있다.
전술한 바와 같이, 도 7 내지 도 10의 예시적인 프로세스는, 하드디스크 드라이브, 플래시 메모리, ROM(read-only memory), CD(compact disk), DVD(digital versatile disk), 캐시, RAM(random access memory), 및/또는 정보가 임의의 지속기간 동안(예를 들면, 확장된 시간 주기 동안, 영구적, 순간 동안, 일시적 버퍼링 동안, 및/또는 정보를 캐싱하는 동안) 저장되는 임의의 다른 스토리지 디바이스 또는 스토리지 디스크 같은 유형의 컴퓨터 판독가능 스토리지 매체 상에 저장된 코딩된 명령어(예를 들면, 컴퓨터 및/또는 머신 판독가능 명령어)를 사용하여 구현될 수 있다. 여기서 사용되는 바와 같이, 용어 유형의 컴퓨터 판독가능 스토리지 매체는 임의의 유형의 컴퓨터 판독가능 스토리지 디바이스 및/또는 스토리지 디스크를 포함하고 전파 신호 및 송신 매체는 배제하는 것으로 명확히 정의된다. 여기서 사용되는 바와 같이, "유형의 컴퓨터 판독가능 스토리지 매체" 및 "유형의 머신 판독가능 스토리지 매체"는 상호교환가능하게 사용된다. 부가적으로 또는 대안으로, 도 7 내지 도 10의 예시적인 프로세스는, 하드디스크 드라이브, 플래시 메모리, ROM(read-only memory), CD(compact disk), DVD(digital versatile disk), 캐시, RAM(random access memory), 및/또는 정보가 임의의 지속기간 동안(예를 들면, 확장된 시간 주기 동안, 영구적, 순간 동안, 일시적 버퍼링 동안, 및/또는 정보를 캐싱하는 동안) 저장되는 임의의 다른 스토리지 디바이스 또는 스토리지 디스크 같은 비일시적 컴퓨터 및/또는 머신 판독가능 매체 상에 저장된 코딩된 명령어(예를 들면, 컴퓨터 및/또는 머신 판독가능 명령어)를 사용하여 구현될 수 있다. 여기서 사용되는 바와 같이, 용어 비일시적 컴퓨터 판독가능 매체는 임의의 유형의 컴퓨터 판독가능 스토리지 디바이스 및/또는 스토리지 디스크를 포함하고 전파 신호 및 송신 매체는 배제하는 것으로 명확히 정의된다. 여기서 사용되는 바와 같이, 어구 '적어도"는 청구항의 전제부에서의 전이 용어로서 사용될 때, 용어 "포함하는"이 개방 종결되는 것과 동일한 방식으로 개방 종결된다.
도 7은 사용자가 도 1의 예시적인 CSP(102)에 의해 제공되는 데이터 공유 서비스를 등록하는 것으로 시작한다(블록 700). 도 7의 예에서, CSP(102)에 등록하는 사용자는 도 1 내지 도 4의 제1 컴퓨팅 디바이스(104)와 연관된 제1 사용자이다. 도 7의 도시된 예에서, CSP(102)는 제1 사용자로부터, 예를 들면, 사용자 이름, 사용자 선택가능 식별자 등과 같은 식별 정보를 획득한다(블록 702). 도 7의 도시된 예에서, CSP(102)는 제1 사용자로부터 패스워드를 획득한다(블록 704). 몇몇 예에서, 패스워드는 하나 이상의 보안 임계치(예를 들면, 길이, 이전 패스워드들과의 차이, 상이한 유형의 문자 등)를 만족시키는 것이 요구된다. 예시적인 키 관리자(110)는 사용자 식별 정보 및/또는 획득된 패스워드를 사용하여 제1 사용자에 대한 개인 암호 키를 생성한다(블록 706). 예시적인 키 관리자(110)는 임의의 적절한 암호화 기술 및/또는 알고리즘을 사용하여 개인 암호 키를 생성하고, 이 키는 등록 사용자에게 고유하다. 예시적인 키 관리자(110)는, 예를 들면, CSP(102)와 연관된 데이터베이스에서의 개인 암호 키의 저장을 용이하게 한다. 부가적으로 또는 대안으로, 예시적인 키 관리자(110)는 개인 암호 키를 등록 사용자(예를 들면, 제1 컴퓨팅 디바이스(104))와 연관된 하나 이상의 디바이스에 전달한다. 다음에 도 7의 예는 종료된다(블록 708).
도 8은 도 1 내지 도 3의 제1 컴퓨팅 디바이스(104)가 도 1의 예시적인 CSP(102)에 의해 제공되는 서비스를 통해 공유하기 위한 데이터(예를 들면, 제1 컴퓨팅 디바이스(104)에 저장된 데이터)를 지정하는 것에 대응한다. 예를 들면, 제1 컴퓨팅 디바이스(104)의 제1 사용자는 사용자 인터페이스(202)를 이용하여, 예를 들면, 하나 이상의 사용자, 그룹, 클라우드 등과 공유하기 위한 데이터(예를 들면, 컴퓨팅 디바이스(104)의 드라이브)를 선택한다. 도 8의 예에서, 제1 사용자는, 클라우드의 다른 사용자(들)가 제1 컴퓨팅 디바이스의 사용자 인터페이스(202)를 통해 공유된 데이터를 액세스할 예정인지와 같은 공유의 원하는 양상을 통신한다(블록 802). 몇몇 예에서, 제1 컴퓨팅 디바이스(104)에 의해 제공되는 액세스 명령어는, 예를 들면, 데이터가 클라우드를 통해 이용가능하게 되는 시간 주기와 같은 지정 데이터로의 액세스에 관한 부가의 또는 대안의 정보를 포함한다. 도 8의 예에서, 액세스 정책 관리자(112)는 제1 컴퓨팅 디바이스(104)에 의해 제공되는 액세스 명령어를 인터셉트하고, 예를 들면, CSP(102)에 의해 용이하게되는 클라우드 공유 시스템의 구현예 및/또는 구성에 따라 액세스 정책을 생성한다(블록 804). 또한, 예시적인 키 관리자(110)는 제1 컴퓨팅 디바이스(104)에 액세스 정책과 함께 전달되는 적절한 키 정보(예를 들면, 데이터가 공유될 사용자(들)에 대응하는 공중 암호 키(들))를 제공한다. 도 8의 도시된 예에서, 제1 컴퓨팅 디바이스(104)에 제공되는 액세스 정책은 제1 컴퓨팅 디바이스(104)에 대한 명령어를 구체화 및/또는 포함하여 공유될 데이터를 나타내는 아카이브 파일을 생성한다(블록 806). 아카이브 파일을 생성하기 위한 명령어는 임의의 적절한 기술을 사용하는 임의의 적절한 포맷일 수 있다.
제1 컴퓨팅 디바이스(104)가 (도 9와 연결지어 아래에서 설명되는 바와 같이) 아카이브 파일을 생성할 때, CSP(102)는, 예를 들면, 제1 컴퓨팅 디바이스(104)로부터 암호화된 아카이브 파일을 수신한다(블록 808). 도 8의 도시된 예에서, 수신된 암호화된 아카이브 파일은 ISO 이미지의 데이터를 안전하게 통신하기 위해 래핑된 DEK가 프로비저닝된 암호화된 ISO(E-ISO)이다. 도 8의 예에서, 프로비저닝된 E-ISO 이미지의 사본이 아카이브 파일 데이터베이스(114)에 저장된다(블록 808). 예시적인 CSP(102)는 (액세스 정책 관리자(112)를 통해) 하나 이상의 클라우드 사용자(들) 및/또는 디바이스(들)(예를 들면, 제2 컴퓨팅 디바이스(106))에게 제1 컴퓨팅 디바이스(104)에 의해 공유되는데이터가 이용가능하다는 것을 통지한다(블록 810). 공유된 데이터에 대한 요청을 수신하는 것에 응답하여(블록 812), 예시적인 CSP(102)는 대응하는 E-ISO 이미지를 요청자(예를 들면, 제2 컴퓨팅 디바이스(106))의 디바이스(예를 들면, 제2 컴퓨팅 디바이스(106))로 전달한다.
도 9는 도 1 내지 도 4의 예시적인 제1 컴퓨팅 디바이스(104)가 CSP(102)로부터 액세스 정책 및 E-ISO 이미지를 생성하기 위한 명령어 및 액세스 정책을 수신하는 것에서 시작한다(블록 900). 예를 들면, 제1 컴퓨팅 디바이스(104)에 의해 수신된 명령어는 도 8의 블록 806에 대응할 수 있다. 전술한 바와 같이, 제1 컴퓨팅 디바이스(104)로 전달되는 예시적인 액세스 정책은, 예를 들면, 데이터가 공유될 사용자에 대응하는 암호화 키 정보를 포함하거나 그와 동반된다. 도 9의 도시된 예에서, 암호화 키 정보는 데이터가 공유될 사용자(들)에 대응하는 공개 키를 포함한다. 제1 컴퓨팅 디바이스(104)의 예시적인 TEE(302)는 암호화 키 정보를 이용하여 DEK(들)을 래핑한다(블록 902). 또한, 도 2의 예시적인 아카이브 파일 생성기(206)는 공유될 데이터(예를 들면, 데이터를 포함하는 드라이브의 전체 콘텐츠)를 나타내는 ISO 이미지(또는 임의의 다른 적절한 유형의 아카이브 파일)를 생성한다(블록 904). 도 7의 예에서, 제1 컴퓨팅 디바이스(104)의 EE(306)는 ISO 이미지를 암호화하여 공유될 데이터를 나타내는 E-ISO를 형성한다(블록 906). 예시적인 EE(306)는 E-ISO 이미지에 래핑된 DEK(들)을 프로비저닝한다(블록 908). 예시적인 제1 컴퓨팅 디바이스(104)는 프로비저닝된 E-ISO 이미지를 CSP(102)로 전달한다(블록 910). 다음에 도 9의 예는 종료된다(블록 912).
도 10은 도 1의 예시적인 제2 컴퓨팅 디바이스(106)이, 예를 들면, CSP(102)의 아카이브 파일 데이터베이스(114)로부터 전술한 래핑된 DEK(들)이 프로비저닝된 E-ISO 이미지를 수신하는 것에서 시작한다(블록 1000). 제2 컴퓨팅 디바이스(106)의 예시적인 TEE(302)는, 예를 들면, 제2 컴퓨팅 디바이스의 제2 사용자에 대응하는 개인 암호 키를 사용하여 DEK(들)를 언래핑한다(블록 1002). DEK(들)의 언래핑은 제2 컴퓨팅 디바이스(106)의 EE(306)에게 실제(예를 들면, 사용가능한) DEK(들)을 제공한다. 도 10의 예에서, EE(306)는 언래핑된 DEK(들)을 이용하여 E-ISO 이미지를 복호화하여 ISO 이미지로의 액세스를 얻는다(블록 1004). 도 10의 도시된 예에서, ISO 이미지는 OS 파일 시스템 장착 포인트(214)에 장착되어 제2 컴퓨팅 디바이스(106)의 OS에 공유 데이터를 가상 드라이브로서 노출시킨다(블록 1006). 다음에, 도 10의 예는 종료된다(블록 1008).
도 11은 도 1 및/또는 도 2의 예시적인 CSP(102)의 예시적인 키 관리자(110) 및/또는 예시적인 액세스 정책 관리자(112)를 구현하기 위해 도 7 및/또는 도 8의 명령어를 실행시킬 수 있고, 도 1 내지 도 4의 예시적인 제1 컴퓨팅 디바이스(104) 및/또는 예시적인 제2 컴퓨팅 디바이스(106)를 구현하기 위해 도 9 및/또는 도 10의 명령어를 실행시킬 수 있는 예시적인 프로세서 플랫폼(1100)의 블록도이다. 프로세서 플랫폼(1100)은, 예를 들면, 서버, 개인용 컴퓨터, 모바일 디바이스(예를 들면, 셀폰, 스마트폰, iPadTM과 같은 태블릿), 웨어러블 미디어 디바이스(예를 들면, Google Glass®), 인터넷 어플라이언스, 또는 임의의 다른 유형의 컴퓨팅 디바이스일 수 있다.
도시된 예의 프로세서 플랫폼(1100)은 프로세서(1112)를 포함한다. 도시된 예의 프로세서(1112)는 하드웨어이다. 예를 들면, 프로세서(1112)는 임의의 원하는 계열 또는 제조사로부터의 하나 이상의 집적 회로, 로직 회로, 마이크로프로세서 또는 컨트롤러로 구현될 수 있다.
도시된 예의 프로세서(1112)는 로컬 메모리(1113)(예를 들면, 캐시)를 포함한다. 도시된 예의 프로세서(1112)는 버스(1118)를 통해 휘발성 메모리(1114) 및 비휘발성 메모리(1116)를 포함하는 주 메모리와 통신한다. 휘발성 메모리(1114)는 SDRAM(Synchronous Dynamic Random Access Memory), DRAM(Dynamic Random Access Memory), RAMBUS DRAM(RDRAM) 및/또는 임의의 다른 유형의 랜덤 액세스 메모리 디바이스로 구현될 수 있다. 비휘발성 메모리(1116)는 플래시 메모리 및/또는 임의의 다른 원하는 유형의 메모리 디바이스로 구현될 수 있다. 주 메모리(1114, 1116)로의 액세스는 메모리 컨트롤러에 의해 제어된다.
도시된 예의 프로세서 플랫폼(1100)은 또한 인터페이스 회로(1120)를 포함한다. 인터페이스 회로(1120)는 이더넷 인터페이스, USB(universal serial bus), 및/또는 PCI 익스프레스 인터페이스와 같은, 임의의 유형의 인터페이스 표준으로 구현될 수 있다.
도시된 예에서, 하나 이상의 입력 디바이스(1122)가 인터페이스 회로(1120)에 접속된다. 입력 디바이스(들)(1122)는 사용자가 데이터 및 커맨드를 프로세서(1112)에 입력할 수 있게 한다. 입력 디바이스(들)는, 예를 들면, 오디오 센서, 마이크로폰, 카메라(스틸 또는 비디오), 키보드, 버튼, 마우스, 터치스크린, 트랙-패드, 트랙볼, 이소포인트(isopoint) 및/또는 음성 인식 시스템으로 구현될 수 있다.
하나 이상의 출력 디바이스(1124)가 또한 도시된 예의 인터페이스 회로(1120)에 접속된다. 출력 디바이스(1124)는, 예를 들면, 디스플레이 디바이스(예컨대, LED(light emitting diode), OLED(organic light emitting diode), 액정 디스플레이, CRT(cathode ray tube) 디스플레이, 터치스크린, 촉각 출력 디바이스, LED(light emitting diode), 프린터 및/또는 스피커)로 구현될 수 있다. 도시된 예의 인터페이스 회로(1120)는, 따라서, 일반적으로 그래픽 드라이버 카드, 그래픽 드라이버 칩 또는 그래픽 드라이버 프로세서를 포함한다.
도시된 예의 인터페이스 회로(1120)는 또한 네트워크(1126)(예컨대, 이더넷 접속, DSL(digital subscriber line), 전화 회선, 동축 케이블, 셀룰러 전화 시스템 등)를 통해 외부 머신(예를 들면, 임의의 종류의 컴퓨팅 디바이스)과의 데이터의 교환을 용이하게 하는 송신기, 수신기, 송수신기, 모뎀 및/또는 네트워크 인터페이스 카드와 같은 통신 디바이스를 포함한다.
도시된 예의 프로세서 플랫폼(1100)은 또한 소프트웨어 및/또는 데이터를 저장하기 위한 하나 이상의 대용량 스토리지 디바이스(1128)를 포함한다. 이러한 대용량 스토리지 디바이스(1128)의 예는 플로피 디스크 드라이브, 하드 디스크 드라이브, 콤팩트 디스크 드라이브, 블루레이 디스크 드라이브, RAID 시스템 및 DVD(digital versatile disk) 드라이브를 포함한다.
도 7, 도 8, 도 9 및/또는 도 10의 코딩된 명령어(1132)는 대용량 스토리지 디바이스(1128)에, 휘발성 메모리(1114)에, 비휘발성 메모리(1116)에, 및/또는 CD 또는 DVD와 같은 이동가능한 유형의 컴퓨터 판독가능 저장 매체에 저장될 수 있다.
여기서 개시된 데이터를 안전하게 공유하기 위한 예시적인 방법은, 클라우드 서비스의 제1 사용자의 제1 디바이스에서, 제1 디바이스의 드라이브를 나타내는 아카이브 파일을 생성하고; 프로세서를 통해, 아카이브 파일을 암호화하여 암호화된 아카이브 파일을 형성하고; 암호화된 아카이브 파일을 클라우드 서비스 제공자에게 전달하는 것을 포함하고, 암호화된 아카이브 파일은 클라우드 서비스의 제2 사용자의 제2 디바이스에 의해 복호화되고, 복호화된 아카이브 파일은 제2 디바이스의 운영 시스템에 장착된다.
몇몇 예에서, 상기 방법은 제2 사용자에 대응하는 키 데이터를 이용하여 아카이브 파일을 암호화는데 사용되는 암호 키를 래핑하는 것을 포함한다.
몇몇 예에서, 상기 방법은 암호화된 아카이브 파일을 클라우드 서비스 제공자에게 전달하기 전에 래핑된 암호화 키를 암호화된 아카이브 파일에 프로비저닝하는 것을 포함한다.
몇몇 예에서, 상기 방법은 클라우드 서비스 제공자로부터 키 데이터를 수신하는 것을 포함한다.
몇몇 예에서, 상기 방법은 드라이브의 콘텐츠에 대한 액세스 독점권을 정의하기 위해 클라우드 서비스 제공자에게 액세스 명령어를 전달하는 것을 포함한다.
몇몇 예에서, 상기 방법은, 제2 사용자의 제2 디바이스의 제2 드라이브의 제2 데이터에 대응하는 제2 암호화된 아카이브 파일을 수신하는 것에 응답하여, 제2 암호화된 아카이브 파일을 복호화하여 제2 복호화된 아카이브 파일을 생성하고; 제2 복호화된 아카이브 파일을 제1 디바이스의 제2 운영 시스템에 장착하는 것을 포함한다.
몇몇 예에서, 아카이브 파일을 생성하는 것은 운영 시스템에 장착될 수 있는 ISO 이미지를 생성하는 것을 포함한다.
여기에 개시된 예시적인 유형의 컴퓨터 판독가능 저장 매체는, 실행될 때, 머신으로 하여금 적어도, 클라우드 서비스의 제1 사용자의 제1 디바이스에서, 제1 디바이스의 드라이브를 나타내는 아카이브 파일을 생성하고; 아카이브 파일을 암호화하여 암호화된 아카이브 파일을 형성하고; 암호화된 아카이브 파일을 클라우드 서비스 제공자에게 전달하게 하는 명령어를 포함하고, 암호화된 아카이브 파일은 클라우드 서비스의 제2 사용자의 제2 디바이스에 의해 복호화되고, 복호화된 아카이브 파일은 제2 디바이스의 운영 시스템에 장착된다.
저장 매체의 몇몇 예에서, 명령어는, 실행될 때, 머신으로 하여금 제2 사용자에 대응하는 키 데이터로 아카이브 파일을 암호화하는데 사용되는 암호화 키를 래핑하게 한다.
저장 매체의 몇몇 예에서, 명령어는, 실행될 때, 머신으로 하여금 암호화된 아카이브 파일을 클라우드 서비스 제공자에게 전달하기 전에 암호화된 아카이브 파일에 래핑된 암호화 키를 프로비저닝하게 한다.
저장 매체의 몇몇 예에서, 키 데이터는 클라우드 서비스 제공자로부터 수신된다.
저장 매체의 몇몇 예에서, 명령어는, 실행될 때, 머신으로 하여금 드라이브의 콘텐츠에 대한 액세스 독점권을 정의하기 위해 액세스 명령어를 클라우드 서비스 제공자에게 전달하게 한다.
저장 매체의 몇몇 예에서, 명령어는, 실행될 때, 머신으로 하여금, 제2 사용자의 제2 디바이스의 제2 드라이브의 제2 데이터에 대응하는 제2 암호화된 아카이브 파일을 수신하는 것에 응답하여, 제2 암호화된 아카이브 파일을 복호화하여 제2 복호화된 아카이브 파일을 생성하고; 제2 복호화된 아카이브 파일을 제1 디바이스의 제2 운영 시스템에 장착하게 한다.
저장 매체의 몇몇 예에서, 아카이브 파일을 생성하는 것은 운영 시스템에 장착될 수 있는 ISO 이미지를 생성하는 것을 포함한다.
여기서 개시된 예시적인 장치는, 클라우드 서비스의 제1 사용자와 연관된 데이터를 저장하기 위한 메모리; 메모리의 제1 데이터를 나타내는 아키이브 파일을 생성하기 위한 아카이브 생성기; 아카이브 파일을 암호화하여 암호화된 아카이브 파일을 형성하는 암호화 엔진; 및 암호화된 아카이브 파일을 클라우드 서비스 제공자의 컴퓨팅 디바이스에 전달하기 위한 통신기를 포함하고, 암호화된 아카이브 파일은 클라우드 서비스의 제2 사용자와 연관된 제2 컴퓨팅 디바이스에 의해 복호화되고, 복호화된 아카이브 파일은 제2 컴퓨팅 디바이스의 운영 시스템에 장착된다.
몇몇 예에서, 상기 장치는 클라우드 서비스의 제2 사용자에 대응하는 키 데이터로 아카이브 파일을 암호화하기 위해 암호화 엔진에 의해 사용되는 암호화 키를 래핑하기 위한 신뢰 실행 환경을 포함한다.
상기 장치의 몇몇 예에서, 신뢰 실행 환경은 암호화된 아카이브 파일을 클라우드 서비스 제공자의 제1 컴퓨팅 디바이스에 전달하기 전에 암호화된 아카이브 파일에 래핑된 암호화 키를 프로비저닝한다.
몇몇 예에서, 상기 장치는 메모리의 제1 데이터의 콘텐츠에 대한 액세스 독점권을 정의하기 위해 액세스 명령어를 클라우드 서비스 제공자에게 전달하기 위한 사용자 인터페이스를 포함한다.
상기 장치의 몇몇 예에서, 암호화 엔진은, 제2 컴퓨팅 디바이스의 제2 메모리의 제2 데이터에 대응하는 제2 암호화된 아카이브 파일을 수신하는 것에 응답하여, 제2 암호화된 아카이브 파일을 복호화하여 제2 복호화된 아카이브 파일을 생성한다.
몇몇 예에서, 상기 장치는 제2 복호화된 아카이브 파일을 제2 컴퓨팅 디바이스의 운영 시스템에 장착하기 위한 장착 포인트를 포함한다.
임의의 예시적인 방법, 장치 및 제조 물품이 여기서 개시되었지만, 본 특허의 범위는 그에 한정되지 않는다. 반대로, 본 특허는 본 특허의 청구 범위 내에 당당히 들어오는 모든 방법, 장치 및 제조 물품을 커버한다.

Claims (31)

  1. 데이터를 안전하게 공유하기 위한 방법으로서,
    클라우드 서비스의 제1 사용자의 제1 디바이스에서, 상기 제1 디바이스의 드라이브를 나타내는 아카이브 파일(archive file)을 생성하는 단계와,
    프로세서를 통해, 상기 아카이브 파일을 암호화하여 암호화된 아카이브 파일을 형성하는 단계와,
    상기 암호화된 아카이브 파일을 클라우드 서비스 제공자에게 전달하는 단계를 포함하되,
    상기 암호화된 아카이브 파일은 상기 클라우드 서비스의 제2 사용자의 제2 디바이스에 의해 복호화되고, 상기 복호화된 아카이브 파일은 상기 제2 디바이스의 운영 시스템에 장착되는
    데이터 공유 방법.
  2. 제1항에 있어서,
    상기 제2 사용자에 대응하는 키 데이터를 이용하여 상기 아카이브 파일을 암호화는데 사용되는 암호화 키를 래핑(wrapping)하는 단계를 더 포함하는
    데이터 공유 방법.
  3. 제2항에 있어서,
    상기 암호화된 아카이브 파일을 상기 클라우드 서비스 제공자에게 전달하기 전에, 상기 암호화된 아카이브 파일에 상기 래핑된 암호화 키를 프로비저닝(provisioning)하는 단계를 더 포함하는
    데이터 공유 방법.
  4. 제2항에 있어서,
    상기 클라우드 서비스 제공자로부터 상기 키 데이터를 수신하는 단계를 더 포함하는
    데이터 공유 방법.
  5. 제1항에 있어서,
    상기 드라이브의 콘텐츠에 대한 액세스 독점권을 정의하기 위한 액세스 명령어를 상기 클라우드 서비스 제공자에게 전달하는 단계를 더 포함하는
    데이터 공유 방법.
  6. 제1항에 있어서,
    상기 제2 사용자의 상기 제2 디바이스의 제2 드라이브의 제2 데이터에 대응하는 제2 암호화된 아카이브 파일을 수신하는 것에 응답하여, 상기 제2 암호화된 아카이브 파일을 복호화하여 제2 복호화된 아카이브 파일을 생성하는 단계와,
    상기 제2 복호화된 아카이브 파일을 상기 제1 디바이스의 제2 운영 시스템에 장착하는 단계를 더 포함하는
    데이터 공유 방법.
  7. 제1항에 있어서,
    상기 아카이브 파일을 생성하는 단계는 운영 시스템에 장착될 수 있는 ISO 이미지를 생성하는 단계를 포함하는
    데이터 공유 방법.
  8. 명령어를 포함하는 유형의 컴퓨터 판독가능 저장 매체로서,
    상기 명령어는, 실행될 때, 머신으로 하여금 적어도,
    클라우드 서비스의 제1 사용자의 제1 디바이스에서, 상기 제1 디바이스의 드라이브를 나타내는 아카이브 파일을 생성하고,
    상기 아카이브 파일을 암호화하여 암호화된 아카이브 파일을 형성하고,
    상기 암호화된 아카이브 파일을 클라우드 서비스 제공자에게 전달하게 하되,
    상기 암호화된 아카이브 파일은 상기 클라우드 서비스의 제2 사용자의 제2 디바이스에 의해 복호화되고, 상기 복호화된 아카이브 파일은 상기 제2 디바이스의 운영 시스템에 장착되는
    컴퓨터 판독가능 저장 매체.
  9. 제8항에 있어서,
    상기 명령어는, 실행될 때, 상기 머신으로 하여금, 상기 제2 사용자에 대응하는 키 데이터로 상기 아카이브 파일을 암호화하는데 사용되는 암호화 키를 래핑하게 하는
    컴퓨터 판독가능 저장 매체.
  10. 제9항에 있어서,
    상기 명령어는, 실행될 때, 상기 머신으로 하여금, 상기 암호화된 아카이브 파일을 상기 클라우드 서비스 제공자에게 전달하기 전에 상기 암호화된 아카이브 파일에 상기 래핑된 암호화 키를 프로비저닝하게 하는
    컴퓨터 판독가능 저장 매체.
  11. 제9항에 있어서,
    상기 키 데이터는 상기 클라우드 서비스 제공자로부터 수신되는
    컴퓨터 판독가능 저장 매체.
  12. 제8항에 있어서,
    상기 명령어는, 실행될 때, 상기 머신으로 하여금, 상기 드라이브의 콘텐츠에 대한 액세스 독점권을 정의하기 위한 액세스 명령어를 상기 클라우드 서비스 제공자에게 전달하게 하는
    컴퓨터 판독가능 저장 매체.
  13. 제8항에 있어서,
    상기 명령어는, 실행될 때, 상기 머신으로 하여금,
    상기 제2 사용자의 상기 제2 디바이스의 제2 드라이브의 제2 데이터에 대응하는 제2 암호화된 아카이브 파일을 수신하는 것에 응답하여, 상기 제2 암호화된 아카이브 파일을 복호화하여 제2 복호화된 아카이브 파일을 생성하고,
    상기 제2 복호화된 아카이브 파일을 상기 제1 디바이스의 제2 운영 시스템에 장착하게 하는
    컴퓨터 판독가능 저장 매체.
  14. 제8항에 있어서,
    상기 아카이브 파일을 생성하는 것은 운영 시스템에 장착될 수 있는 ISO 이미지를 생성하는 것을 포함하는
    컴퓨터 판독가능 저장 매체.
  15. 장치로서,
    클라우드 서비스의 제1 사용자와 연관된 데이터를 저장하는 메모리와,
    상기 메모리의 제1 데이터를 나타내는 아카이브 파일을 생성하는 아카이브 생성기와,
    상기 아카이브 파일을 암호화하여 암호화된 아카이브 파일을 형성하는 암호화 엔진과,
    상기 암호화된 아카이브 파일을 클라우드 서비스 제공자의 컴퓨팅 디바이스에 전달하는 통신기를 포함하고,
    상기 암호화된 아카이브 파일은 상기 클라우드 서비스의 제2 사용자와 연관된 제2 컴퓨팅 디바이스에 의해 복호화되고, 상기 복호화된 아카이브 파일은 상기 제2 컴퓨팅 디바이스의 운영 시스템에 장착되는
    장치.
  16. 제15항에 있어서,
    상기 클라우드 서비스의 상기 제2 사용자에 대응하는 키 데이터로 아카이브 파일을 암호화하기 위해 상기 암호화 엔진에 의해 사용되는 암호화 키를 래핑하는 신뢰 실행 환경을 더 포함하는
    장치.
  17. 제16항에 있어서,
    상기 신뢰 실행 환경은 상기 암호화된 아카이브 파일을 상기 클라우드 서비스 제공자의 제1 컴퓨팅 디바이스에 전달하기 전에 상기 암호화된 아카이브 파일에 상기 래핑된 암호화 키를 프로비저닝하는
    장치.
  18. 제15항에 있어서,
    상기 메모리의 상기 제1 데이터의 콘텐츠에 대한 액세스 독점권을 정의하기 위한 액세스 명령어를 상기 클라우드 서비스 제공자에게 전달하기 위한 사용자 인터페이스를 더 포함하는
    장치.
  19. 제15항에 있어서,
    상기 암호화 엔진은, 상기 제2 컴퓨팅 디바이스의 제2 메모리의 제2 데이터에 대응하는 제2 암호화된 아카이브 파일을 수신하는 것에 응답하여, 상기 제2 암호화된 아카이브 파일을 복호화하여 제2 복호화된 아카이브 파일을 생성하는
    장치.
  20. 제19항에 있어서,
    상기 제2 복호화된 아카이브 파일을 상기 제2 컴퓨팅 디바이스의 운영 시스템에 장착하기 위한 장착 포인트를 더 포함하는
    장치.
  21. 시스템으로서,
    클라우드 서비스의 제1 사용자와 연관된 데이터를 저장하기 위한 수단과,
    상기 메모리의 제1 데이터를 나타내는 아키이브 파일을 생성하기 위한 수단과,
    상기 아카이브 파일을 암호화하여 암호화된 아카이브 파일을 형성하기 위한 수단과,
    상기 암호화된 아카이브 파일을 클라우드 서비스 제공자의 컴퓨팅 디바이스에 전달하기 위한 수단을 포함하고,
    상기 암호화된 아카이브 파일은 상기 클라우드 서비스의 제2 사용자와 연관된 제2 컴퓨팅 디바이스에 의해 복호화되고, 상기 복호화된 아카이브 파일은 상기 제2 컴퓨팅 디바이스의 운영 시스템에 장착되는
    시스템.
  22. 제21항에 있어서,
    상기 클라우드 서비스의 상기 제2 사용자에 대응하는 키 데이터로 아카이브 파일을 암호화하기 위해 상기 아카파이브 파일을 암호화하기 위한 수단에 의해 사용되는 암호화 키를 래핑하기 위한 신뢰 실행 환경을 더 포함하는
    시스템.
  23. 제22항에 있어서,
    상기 신뢰 실행 환경은 상기 암호화된 아카이브 파일을 상기 클라우드 서비스 제공자의 상기 제1 컴퓨팅 디바이스에 전달하기 전에 상기 암호화된 아카이브 파일에 상기 래핑된 암호화 키를 프로비저닝하는
    시스템.
  24. 제21항에 있어서,
    데이터를 저장하기 위한 수단의 상기 제1 데이터의 콘텐츠에 대한 액세스 독점권을 정의하기 위한 액세스 명령어를 상기 클라우드 서비스 제공자에게 전달하기 위한 수단을 더 포함하는
    시스템.
  25. 제21항에 있어서,
    상기 아카이브 파일을 암호화하기 위한 수단은, 상기 제2 컴퓨팅 디바이스의 제2 메모리의 제2 데이터에 대응하는 제2 암호화된 아카이브 파일을 수신하는 것에 응답하여, 상기 제2 암호화된 아카이브 파일을 복호화하여 제2 복호화된 아카이브 파일을 생성하는
    시스템.
  26. 제21항에 있어서,
    상기 제2 복호화된 아카이브 파일을 상기 제2 컴퓨팅 디바이스의 운영 시스템에 장착하기 위한 수단을 더 포함하는
    시스템.
  27. 장치로서,
    머신 판독가능 명령어를 포함하는 메모리와
    명령어를 실행시키기 위한 프로세서를 포함하고,
    상기 명령어는 머신으로 하여금,
    클라우드 서비스의 제1 사용자의 제1 디바이스에서, 상기 제1 디바이스의 드라이브를 나타내는 아카이브 파일을 생성하는 동작과,
    상기 아카이브 파일을 암호화하여 암호화된 아카이브 파일을 형성하는 동작과,
    상기 암호화된 아카이브 파일을 클라우드 서비스 제공자에게 전달하는 동작을 수행하게 하고,
    상기 암호화된 아카이브 파일은 상기 클라우드 서비스의 제2 사용자의 제2 디바이스에 의해 복호화되고, 상기 복호화된 아카이브 파일은 상기 제2 디바이스의 운영 시스템에 장착되는
    장치.
  28. 제27항에 있어서,
    상기 동작은 상기 제2 사용자에 대응하는 키 데이터로 상기 아카이브 파일을 암호화하는데 사용되는 암호화 키를 래핑하는 동작을 더 포함하는
    장치.
  29. 제28항에 있어서,
    상기 동작은 상기 암호화된 아카이브 파일을 상기 클라우드 서비스 제공자에게 전달하기 전에 상기 암호화된 아카이브 파일에 상기 래핑된 암호화 키를 프로비저닝하는 동작을 더 포함하는
    장치.
  30. 제28항 또는 제29항에 있어서,
    상기 동작은 상기 클라우드 서비스 제공자로부터 상기 키 데이터를 수신하는 동작을 더 포함하는
    장치.
  31. 제27항 내지 제30항 중 어느 한 항에 있어서,
    상기 동작은 상기 드라이브의 콘텐츠에 대한 액세스 독점권을 정의하기 위한 액세스 명령어를 상기 클라우드 서비스 제공자에게 전달하는 동작을 더 포함하는
    장치.
KR1020167023881A 2014-03-31 2015-03-05 데이터를 안전하게 공유하기 위한 방법 및 장치 KR101811758B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/230,618 2014-03-31
US14/230,618 US9411975B2 (en) 2014-03-31 2014-03-31 Methods and apparatus to securely share data
PCT/US2015/018941 WO2015153050A1 (en) 2014-03-31 2015-03-05 Methods and apparatus to securely share data

Publications (2)

Publication Number Publication Date
KR20160117528A true KR20160117528A (ko) 2016-10-10
KR101811758B1 KR101811758B1 (ko) 2018-01-25

Family

ID=54190802

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167023881A KR101811758B1 (ko) 2014-03-31 2015-03-05 데이터를 안전하게 공유하기 위한 방법 및 장치

Country Status (5)

Country Link
US (2) US9411975B2 (ko)
EP (1) EP3127274B1 (ko)
KR (1) KR101811758B1 (ko)
CN (1) CN106063185B (ko)
WO (1) WO2015153050A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210088419A (ko) * 2020-01-06 2021-07-14 주식회사 아미크 데이터의 전송 및 조회 시의 비용을 최소화하기 위한 데이터 아카이빙 방법 및 시스템
WO2021141293A1 (ko) * 2020-01-06 2021-07-15 주식회사 아미크 데이터의 전송 및 조회 시의 비용을 최소화하기 위한 데이터 아카이빙 방법 및 시스템

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012048347A1 (en) * 2010-10-08 2012-04-12 Brian Lee Moffat Private data sharing system
US8874935B2 (en) 2011-08-30 2014-10-28 Microsoft Corporation Sector map-based rapid data encryption policy compliance
US20140344570A1 (en) 2013-05-20 2014-11-20 Microsoft Corporation Data Protection For Organizations On Computing Devices
US9864972B2 (en) * 2013-11-14 2018-01-09 Wells Fargo Bank, N.A. Vehicle interface
US10615967B2 (en) 2014-03-20 2020-04-07 Microsoft Technology Licensing, Llc Rapid data protection for storage devices
US9411975B2 (en) 2014-03-31 2016-08-09 Intel Corporation Methods and apparatus to securely share data
EP3180733A4 (en) * 2014-08-12 2018-03-21 Hewlett-Packard Development Company, L.P. Composite document access
US9825945B2 (en) 2014-09-09 2017-11-21 Microsoft Technology Licensing, Llc Preserving data protection with policy
US9853812B2 (en) * 2014-09-17 2017-12-26 Microsoft Technology Licensing, Llc Secure key management for roaming protected content
US10318732B2 (en) * 2014-09-18 2019-06-11 Trend Micro Incorporated Prevention of cross site scripting attacks using automatic generation of content security policy headers and splitting of content to enable content security policy
US9900295B2 (en) 2014-11-05 2018-02-20 Microsoft Technology Licensing, Llc Roaming content wipe actions across devices
US10205710B2 (en) * 2015-01-08 2019-02-12 Intertrust Technologies Corporation Cryptographic systems and methods
US10205712B2 (en) * 2015-06-10 2019-02-12 Mcafee, Llc Sentinel appliance in an internet of things realm
US9853820B2 (en) 2015-06-30 2017-12-26 Microsoft Technology Licensing, Llc Intelligent deletion of revoked data
US9606854B2 (en) * 2015-08-13 2017-03-28 At&T Intellectual Property I, L.P. Insider attack resistant system and method for cloud services integrity checking
US20170046531A1 (en) * 2015-08-14 2017-02-16 Strong Bear Llc Data encryption method and system for use with cloud storage
US9900325B2 (en) 2015-10-09 2018-02-20 Microsoft Technology Licensing, Llc Passive encryption of organization data
US10334024B2 (en) 2016-01-20 2019-06-25 Samsung Electronics Co., Ltd. Electronic communication device
US10681078B2 (en) 2016-06-10 2020-06-09 Sophos Limited Key throttling to mitigate unauthorized file access
US10650154B2 (en) 2016-02-12 2020-05-12 Sophos Limited Process-level control of encrypted content
US10791097B2 (en) * 2016-04-14 2020-09-29 Sophos Limited Portable encryption format
US10686827B2 (en) 2016-04-14 2020-06-16 Sophos Limited Intermediate encryption for exposed content
GB2551983B (en) 2016-06-30 2020-03-04 Sophos Ltd Perimeter encryption
US11481505B2 (en) * 2016-08-24 2022-10-25 Halliburton Energy Services, Inc. Platform services with customer data access
CN106506542B (zh) * 2016-12-16 2019-11-22 清华大学 基于云目录的统一云存储资源共享方法及装置
US10394591B2 (en) * 2017-01-17 2019-08-27 International Business Machines Corporation Sanitizing virtualized composite services
US10897360B2 (en) 2017-01-26 2021-01-19 Microsoft Technology Licensing, Llc Addressing a trusted execution environment using clean room provisioning
US10972265B2 (en) * 2017-01-26 2021-04-06 Microsoft Technology Licensing, Llc Addressing a trusted execution environment
US10897459B2 (en) 2017-01-26 2021-01-19 Microsoft Technology Licensing, Llc Addressing a trusted execution environment using encryption key
US11030289B2 (en) * 2017-07-31 2021-06-08 Stmicroelectronics, Inc. Human presence detection
US10536267B2 (en) * 2017-09-15 2020-01-14 Visa International Service Association Cryptographic services utilizing commodity hardware
US11157258B2 (en) * 2017-11-16 2021-10-26 Atlassian Pty Ltd. Systems and processes for updating computer applications
US11018871B2 (en) 2018-03-30 2021-05-25 Intel Corporation Key protection for computing platform
CN108768978B (zh) * 2018-05-16 2020-12-11 浙江大学 一种基于sgx的远端存储服务方法及系统
US10848498B2 (en) 2018-08-13 2020-11-24 Capital One Services, Llc Systems and methods for dynamic granular access permissions
CN110120951A (zh) * 2019-05-16 2019-08-13 西安电子科技大学 一种云密钥管理系统
US11263310B2 (en) 2019-11-26 2022-03-01 Red Hat, Inc. Using a trusted execution environment for a proof-of-work key wrapping scheme that verifies remote device capabilities
US11520878B2 (en) * 2019-11-26 2022-12-06 Red Hat, Inc. Using a trusted execution environment for a proof-of-work key wrapping scheme that restricts execution based on device capabilities
CN112688999B (zh) * 2020-12-18 2022-10-11 武汉科技大学 云存储模式下基于TrustZone的密钥使用次数管理方法及系统
CN112613072B (zh) * 2020-12-28 2024-05-28 江苏恒米数字科技有限公司 基于档案大数据的信息管理方法、管理系统及管理云平台
US11784798B2 (en) * 2021-03-30 2023-10-10 Visa International Service Association System, method, and computer program product for data security

Family Cites Families (136)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US682346A (en) 1901-03-02 1901-09-10 David P Sims Leakage-guard for water-motors.
JPS62241040A (ja) 1986-04-11 1987-10-21 Nec Corp ハ−ドウエア動作トレ−ス装置
US6009527A (en) 1995-11-13 1999-12-28 Intel Corporation Computer system security
US5919257A (en) 1997-08-08 1999-07-06 Novell, Inc. Networked workstation intrusion detection system
US6263441B1 (en) 1998-10-06 2001-07-17 International Business Machines Corporation Real-time alert mechanism for signaling change of system configuration
US20010011947A1 (en) 1999-05-24 2001-08-09 Muhammed Jaber System and method for securing a computer system
US7231513B1 (en) 1999-12-17 2007-06-12 Intel Corporation Dynamically linked basic input/output system
US6823463B1 (en) 2000-05-16 2004-11-23 International Business Machines Corporation Method for providing security to a computer on a computer network
JP2002055891A (ja) 2000-08-15 2002-02-20 Hitachi Ltd コンピュータ管理装置
GB2366691B (en) 2000-08-31 2002-11-06 F Secure Oyj Wireless device management
US7222233B1 (en) 2000-09-14 2007-05-22 At&T Corp. Method for secure remote backup
US6983372B1 (en) 2000-09-14 2006-01-03 Micron Technology, Inc. BIOS lock CD-ROM encode/decode driver
US6823464B2 (en) 2001-02-26 2004-11-23 International Business Machines Corporation Method of providing enhanced security in a remotely managed computer system
US6701464B2 (en) 2001-03-01 2004-03-02 International Business Machines Corporation Method and system for reporting error logs within a logical partition environment
US6848046B2 (en) 2001-05-11 2005-01-25 Intel Corporation SMM loader and execution mechanism for component software for multiple architectures
US6704840B2 (en) 2001-06-19 2004-03-09 Intel Corporation Computer system and method of computer initialization with caching of option BIOS
US7043587B2 (en) 2001-09-20 2006-05-09 Lenovo (Singapore) Pte. Ltd. System and method for connecting a universal serial bus device to a host computer system
US7103529B2 (en) 2001-09-27 2006-09-05 Intel Corporation Method for providing system integrity and legacy environment emulation
US20030070099A1 (en) 2001-10-05 2003-04-10 Schwartz Jeffrey D. System and methods for protection of data stored on a storage medium device
US20030120918A1 (en) 2001-12-21 2003-06-26 Intel Corporation Hard drive security for fast boot
US6633835B1 (en) 2002-01-10 2003-10-14 Networks Associates Technology, Inc. Prioritized data capture, classification and filtering in a network monitoring environment
US7127579B2 (en) 2002-03-26 2006-10-24 Intel Corporation Hardened extended firmware interface framework
US7343493B2 (en) 2002-03-28 2008-03-11 Lenovo (Singapore) Pte. Ltd. Encrypted file system using TCPA
US20030188193A1 (en) 2002-03-28 2003-10-02 International Business Machines Corporation Single sign on for kerberos authentication
JP4039660B2 (ja) 2002-05-31 2008-01-30 株式会社東芝 情報処理装置
TWI253567B (en) 2002-08-06 2006-04-21 Quanta Comp Inc Method of remote controlling computers via network and architecture thereof
US8386797B1 (en) 2002-08-07 2013-02-26 Nvidia Corporation System and method for transparent disk encryption
US7367063B1 (en) 2002-09-17 2008-04-29 Cisco Technology, Inc. Methods and apparatus for providing security to a computerized device
US7337323B2 (en) 2002-09-20 2008-02-26 Safenet, Inc. Boot-up and hard drive protection using a USB-compliant token
US20040064457A1 (en) 2002-09-27 2004-04-01 Zimmer Vincent J. Mechanism for providing both a secure and attested boot
US8065717B2 (en) 2002-11-27 2011-11-22 Activcard Automated security token administrative services
US7320052B2 (en) 2003-02-10 2008-01-15 Intel Corporation Methods and apparatus for providing seamless file system encryption and redundant array of independent disks from a pre-boot environment into a firmware interface aware operating system
US7437763B2 (en) 2003-06-05 2008-10-14 Microsoft Corporation In-context security advisor in a computing environment
US20050021968A1 (en) 2003-06-25 2005-01-27 Zimmer Vincent J. Method for performing a trusted firmware/bios update
US7587750B2 (en) 2003-06-26 2009-09-08 Intel Corporation Method and system to support network port authentication from out-of-band firmware
US7146512B2 (en) 2003-06-30 2006-12-05 Intel Corporation Method of activating management mode through a network for monitoring a hardware entity and transmitting the monitored information through the network
US7324648B1 (en) 2003-07-08 2008-01-29 Copyright Clearance Center, Inc. Method and apparatus for secure key delivery for decrypting bulk digital content files at an unsecure site
US7275263B2 (en) 2003-08-11 2007-09-25 Intel Corporation Method and system and authenticating a user of a computer system that has a trusted platform module (TPM)
US7299354B2 (en) 2003-09-30 2007-11-20 Intel Corporation Method to authenticate clients and hosts to provide secure network boot
US20050114686A1 (en) 2003-11-21 2005-05-26 International Business Machines Corporation System and method for multiple users to securely access encrypted data on computer system
US20050125648A1 (en) 2003-12-05 2005-06-09 Luciani Luis E.Jr. System for establishing hardware-based remote console sessions and software-based remote console sessions
US20050144609A1 (en) 2003-12-12 2005-06-30 Intel Corporation Methods and apparatus to provide a robust code update
US8281114B2 (en) 2003-12-23 2012-10-02 Check Point Software Technologies, Inc. Security system with methodology for defending against security breaches of peripheral devices
US7840763B2 (en) 2004-03-12 2010-11-23 Sca Technica, Inc. Methods and systems for achieving high assurance computing using low assurance operating systems and processes
US20050228993A1 (en) 2004-04-12 2005-10-13 Silvester Kelan C Method and apparatus for authenticating a user of an electronic system
US20050262361A1 (en) 2004-05-24 2005-11-24 Seagate Technology Llc System and method for magnetic storage disposal
US20060021018A1 (en) 2004-07-21 2006-01-26 International Business Machines Corporation Method and system for enabling trust infrastructure support for federated user lifecycle management
US20060037074A1 (en) 2004-08-16 2006-02-16 Inventec Corporation Computer platform external communication port access authorization method and interface
JP4562464B2 (ja) 2004-09-07 2010-10-13 富士通株式会社 情報処理装置
US20060075230A1 (en) 2004-10-05 2006-04-06 Baird Leemon C Iii Apparatus and method for authenticating access to a network resource using multiple shared devices
US8332653B2 (en) 2004-10-22 2012-12-11 Broadcom Corporation Secure processing environment
WO2006071380A2 (en) 2004-11-12 2006-07-06 Pufco, Inc. Securely field configurable device
US8619971B2 (en) 2005-04-01 2013-12-31 Microsoft Corporation Local secure service partitions for operating system security
US20060230030A1 (en) 2005-04-12 2006-10-12 Volpa Peter J Method and system for accessing and viewing files on mobile devices
US7660913B2 (en) 2005-04-20 2010-02-09 Intel Corporation Out-of-band platform recovery
US8972743B2 (en) 2005-05-16 2015-03-03 Hewlett-Packard Development Company, L.P. Computer security system and method
US7624279B2 (en) 2005-06-29 2009-11-24 Lenovo Singapore Pte. Ltd. System and method for secure O.S. boot from password-protected HDD
US20070006307A1 (en) 2005-06-30 2007-01-04 Hahn Scott D Systems, apparatuses and methods for a host software presence check from an isolated partition
US7711953B2 (en) 2005-08-10 2010-05-04 Hewlett-Packard Development Company, L.P. Methods and systems that selectively permit changes to a cryptographic hardware unit's state
US20070061879A1 (en) 2005-09-15 2007-03-15 Dailey James E System and method for managing information handling system hard disk drive password protection
KR100705380B1 (ko) 2005-10-19 2007-04-10 (주)이월리서치 보안 컴퓨터 시스템을 이용하여 정보 유출을 방지하는 방법
US7693838B2 (en) 2005-11-12 2010-04-06 Intel Corporation Method and apparatus for securely accessing data
US7844829B2 (en) * 2006-01-18 2010-11-30 Sybase, Inc. Secured database system with built-in antivirus protection
US20070174429A1 (en) 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US20070180167A1 (en) 2006-02-02 2007-08-02 Seagate Technology Llc Dynamic partition mapping in a hot-pluggable data storage apparatus
US8205238B2 (en) 2006-03-30 2012-06-19 Intel Corporation Platform posture and policy information exchange method and apparatus
US7703126B2 (en) 2006-03-31 2010-04-20 Intel Corporation Hierarchical trust based posture reporting and policy enforcement
US8122258B2 (en) 2006-05-22 2012-02-21 Hewlett-Packard Development Company, L.P. System and method for secure operating system boot
US8667273B1 (en) 2006-05-30 2014-03-04 Leif Olov Billstrom Intelligent file encryption and secure backup system
US7818255B2 (en) 2006-06-02 2010-10-19 Microsoft Corporation Logon and machine unlock integration
WO2008009112A1 (en) 2006-07-18 2008-01-24 Certicom Corp. System and method for authenticating a gaming device
TWI470989B (zh) 2006-08-22 2015-01-21 Interdigital Tech Corp 在應用及網際網路為基礎服務上提供信任單一登入存取方法及裝置
US7900252B2 (en) 2006-08-28 2011-03-01 Lenovo (Singapore) Pte. Ltd. Method and apparatus for managing shared passwords on a multi-user computer
US7900058B2 (en) 2006-08-31 2011-03-01 Intel Corporation Methods and arrangements for remote communications with a trusted platform module
JP2008108227A (ja) 2006-09-25 2008-05-08 Hitachi Ltd ストレージシステム及び監査ログ管理方法
US7941847B2 (en) 2006-09-26 2011-05-10 Lenovo (Singapore) Pte. Ltd. Method and apparatus for providing a secure single sign-on to a computer system
US9262602B2 (en) 2006-09-29 2016-02-16 Hewlett-Packard Development Company, L.P. Extensible bios interface to a preboot authentication module
US7689817B2 (en) 2006-11-16 2010-03-30 Intel Corporation Methods and apparatus for defeating malware
JP5291628B2 (ja) 2006-11-28 2013-09-18 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ シードが与えられる任意数を生成する方法
WO2008070857A1 (en) 2006-12-07 2008-06-12 Mobile Armor, Llc Real-time checking of online digital certificates
US20080162809A1 (en) 2006-12-28 2008-07-03 Rothman Michael A Operating system-independent remote accessibility to disk storage
US20080288782A1 (en) 2007-05-18 2008-11-20 Technology Properties Limited Method and Apparatus of Providing Security to an External Attachment Device
US8307217B2 (en) 2007-02-02 2012-11-06 Lee Lane W Trusted storage
WO2008109150A1 (en) 2007-03-06 2008-09-12 Secude International System and method for providing secure authentication of devices awakened from powered sleep state
US7779220B1 (en) 2007-03-15 2010-08-17 Quantum Corporation Password-based media cartridge authentication
US7917741B2 (en) 2007-04-10 2011-03-29 Standard Microsystems Corporation Enhancing security of a system via access by an embedded controller to a secure storage device
US8290150B2 (en) 2007-05-11 2012-10-16 Validity Sensors, Inc. Method and system for electronically securing an electronic device using physically unclonable functions
US20110002461A1 (en) 2007-05-11 2011-01-06 Validity Sensors, Inc. Method and System for Electronically Securing an Electronic Biometric Device Using Physically Unclonable Functions
US9158920B2 (en) 2007-06-28 2015-10-13 Intel Corporation System and method for out-of-band assisted biometric secure boot
EP2183695B1 (en) 2007-07-20 2014-11-12 Nxp B.V. Device with a secure virtual machine
US7934096B2 (en) 2007-07-27 2011-04-26 Microsoft Corporation Integrity protected smart card transaction
US7827371B2 (en) 2007-08-30 2010-11-02 Intel Corporation Method for isolating third party pre-boot firmware from trusted pre-boot firmware
US20090067685A1 (en) 2007-09-07 2009-03-12 Authentec, Inc. Finger sensing apparatus using template watermarking and associated methods
US20090067688A1 (en) 2007-09-07 2009-03-12 Authentec, Inc. Finger sensing apparatus with credential release and associated methods
US20090070593A1 (en) 2007-09-07 2009-03-12 Authentec, Inc. Finger sensing apparatus using unique session key and associated methods
US9178884B2 (en) 2007-09-07 2015-11-03 Intel Corporation Enabling access to remote entities in access controlled networks
US8782396B2 (en) 2007-09-19 2014-07-15 Verayo, Inc. Authentication with physical unclonable functions
US8516566B2 (en) 2007-10-25 2013-08-20 Apple Inc. Systems and methods for using external authentication service for Kerberos pre-authentication
US8056127B2 (en) 2007-10-31 2011-11-08 International Business Machines Corporation Accessing password protected devices
US20100023782A1 (en) 2007-12-21 2010-01-28 Intel Corporation Cryptographic key-to-policy association and enforcement for secure key-management and policy execution
US8583908B2 (en) 2007-12-31 2013-11-12 Intel Corporation Enhanced network and local boot of Unified Extensible Firmware Interface images
US8566600B2 (en) 2008-02-29 2013-10-22 Lenovo (Singapore) Pte. Ltd. Password management outside of a BIOS
US8327415B2 (en) 2008-05-30 2012-12-04 Intel Corporation Enabling byte-code based image isolation
US8909940B2 (en) 2008-06-23 2014-12-09 Intel Corporation Extensible pre-boot authentication
US8201239B2 (en) 2008-06-23 2012-06-12 Intel Corporation Extensible pre-boot authentication
US20100011350A1 (en) 2008-07-14 2010-01-14 Zayas Fernando A Method And System For Managing An Initial Boot Image In An Information Storage Device
TW201007469A (en) 2008-08-15 2010-02-16 Asustek Comp Inc Computer with remote mangement system
US8332604B2 (en) 2008-09-30 2012-12-11 Intel Corporation Methods to securely bind an encryption key to a storage device
US8341430B2 (en) 2008-10-03 2012-12-25 Microsoft Corporation External encryption and recovery management with hardware encrypted storage devices
US8856512B2 (en) 2008-12-30 2014-10-07 Intel Corporation Method and system for enterprise network single-sign-on by a manageability engine
US8103883B2 (en) 2008-12-31 2012-01-24 Intel Corporation Method and apparatus for enforcing use of danbury key management services for software applied full volume encryption
US8161260B2 (en) 2009-02-09 2012-04-17 Oracle International Corporation Optimal memory allocation for guested virtual machine(s)
US8935382B2 (en) 2009-03-16 2015-01-13 Microsoft Corporation Flexible logging, such as for a web server
US8504693B2 (en) 2009-05-26 2013-08-06 Intel Corporation Method and apparatus for operating system streaming
US8588422B2 (en) 2009-05-28 2013-11-19 Novell, Inc. Key management to protect encrypted data of an endpoint computing device
US8955108B2 (en) 2009-06-17 2015-02-10 Microsoft Corporation Security virtual machine for advanced auditing
US20110040980A1 (en) 2009-08-12 2011-02-17 Apple Inc. File Management Safe Deposit Box
US20110154023A1 (en) 2009-12-21 2011-06-23 Smith Ned M Protected device management
WO2011089143A1 (en) 2010-01-20 2011-07-28 Intrinsic Id B.V. Device and method for obtaining a cryptographic key
US8589680B2 (en) * 2010-04-07 2013-11-19 Apple Inc. System and method for synchronizing encrypted data on a device having file-level content protection
US20120011565A1 (en) 2010-07-06 2012-01-12 Garlie James M System and method for storing and providing access to secured information
US10482254B2 (en) 2010-07-14 2019-11-19 Intel Corporation Domain-authenticated control of platform resources
CN102014133B (zh) * 2010-11-26 2013-08-21 清华大学 在云存储环境下一种安全存储系统的实现方法
US8966600B2 (en) 2010-12-22 2015-02-24 Intel Corporation Method, apparatus and system for controlling access to computer platform resources
US20120179904A1 (en) 2011-01-11 2012-07-12 Safenet, Inc. Remote Pre-Boot Authentication
CA2829197A1 (en) * 2011-03-07 2012-09-13 Security First Corp. Secure file sharing method and system
US8849762B2 (en) * 2011-03-31 2014-09-30 Commvault Systems, Inc. Restoring computing environments, such as autorecovery of file systems at certain points in time
US8892866B2 (en) 2011-09-26 2014-11-18 Tor Anumana, Inc. Secure cloud storage and synchronization systems and methods
US8621196B2 (en) 2011-10-28 2013-12-31 Verizon Patent And Licensing Inc. Booting from an encrypted ISO image
US8700916B2 (en) 2011-12-02 2014-04-15 Cisco Technology, Inc. Utilizing physically unclonable functions to derive device specific keying material for protection of information
EP2831792B1 (en) 2012-03-30 2020-12-30 Intel Corporation Providing an immutable antivirus payload for internet ready compute nodes
US8732456B2 (en) 2012-04-13 2014-05-20 General Electric Company Enterprise environment disk encryption
US10079678B2 (en) 2012-07-24 2018-09-18 Intel Corporation Providing access to encrypted data
US8938481B2 (en) * 2012-08-13 2015-01-20 Commvault Systems, Inc. Generic file level restore from a block-level secondary copy
US8572757B1 (en) 2012-11-30 2013-10-29 nCrypted Cloud LLC Seamless secure private collaboration across trust boundaries
US9411975B2 (en) 2014-03-31 2016-08-09 Intel Corporation Methods and apparatus to securely share data

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210088419A (ko) * 2020-01-06 2021-07-14 주식회사 아미크 데이터의 전송 및 조회 시의 비용을 최소화하기 위한 데이터 아카이빙 방법 및 시스템
WO2021141293A1 (ko) * 2020-01-06 2021-07-15 주식회사 아미크 데이터의 전송 및 조회 시의 비용을 최소화하기 위한 데이터 아카이빙 방법 및 시스템

Also Published As

Publication number Publication date
KR101811758B1 (ko) 2018-01-25
CN106063185B (zh) 2019-12-03
EP3127274A1 (en) 2017-02-08
US9912645B2 (en) 2018-03-06
EP3127274B1 (en) 2019-08-07
US20160315917A1 (en) 2016-10-27
EP3127274A4 (en) 2017-09-06
WO2015153050A1 (en) 2015-10-08
US20150278531A1 (en) 2015-10-01
CN106063185A (zh) 2016-10-26
US9411975B2 (en) 2016-08-09

Similar Documents

Publication Publication Date Title
KR101811758B1 (ko) 데이터를 안전하게 공유하기 위한 방법 및 장치
US10462114B2 (en) System and associated software for providing advanced data protections in a defense-in-depth system by integrating multi-factor authentication with cryptographic offloading
US10469469B1 (en) Device-based PIN authentication process to protect encrypted data
US8625805B1 (en) Digital security bubble
US8924720B2 (en) Method and system to securely migrate and provision virtual machine images and content
US9135464B2 (en) Secure storage system for distributed data
US9202076B1 (en) Systems and methods for sharing data stored on secure third-party storage platforms
CA2982539C (en) Method of operating a computing device, computing device and computer program
US20130159732A1 (en) Password-less security and protection of online digital assets
US11223636B1 (en) Systems and methods for password breach monitoring and notification
US9961048B2 (en) System and associated software for providing advanced data protections in a defense-in-depth system by integrating multi-factor authentication with cryptographic offloading
US10157290B1 (en) Systems and methods for encrypting files
US9203815B1 (en) Systems and methods for secure third-party data storage
US10015173B1 (en) Systems and methods for location-aware access to cloud data stores
CN109076054B (zh) 用于管理单点登录应用程序的加密密钥的系统和方法
US10122737B1 (en) Local area network ecosystem of verified computer security resources
US9864853B2 (en) Enhanced security mechanism for authentication of users of a system
US11531626B2 (en) System and method to protect digital content on external storage
Padma et al. Mobile Cloud Computing: Issues from a Security Perspective
US11336639B1 (en) Systems and methods for managing a need-to-know domain name system

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