KR102330538B1 - 디바이스를 통한 콘텐츠 와이핑 동작 로밍 기법 - Google Patents

디바이스를 통한 콘텐츠 와이핑 동작 로밍 기법 Download PDF

Info

Publication number
KR102330538B1
KR102330538B1 KR1020177012237A KR20177012237A KR102330538B1 KR 102330538 B1 KR102330538 B1 KR 102330538B1 KR 1020177012237 A KR1020177012237 A KR 1020177012237A KR 20177012237 A KR20177012237 A KR 20177012237A KR 102330538 B1 KR102330538 B1 KR 102330538B1
Authority
KR
South Korea
Prior art keywords
key
computing device
content
managed
data protection
Prior art date
Application number
KR1020177012237A
Other languages
English (en)
Other versions
KR20170083039A (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 KR20170083039A publication Critical patent/KR20170083039A/ko
Application granted granted Critical
Publication of KR102330538B1 publication Critical patent/KR102330538B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • 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/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • 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
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage

Landscapes

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

Abstract

디바이스 상의 콘텐츠가 데이터 보호 키에 기초하여 암호화되고 보호된다. 보호되는 콘텐츠는 또한 클라우드 스토리지로, 그리고 클라우드 스토리지로부터 복사될 수 있고, 보호되는 콘텐츠는 사용자의 디바이스 중 다양한 디바이스로 전달될 수 있다. 보호되는 콘텐츠로부터 평문 콘텐츠를 복구하는데 사용되는 키는 키를 제공하는 특정 디바이스의 식별자와 연관되고, 키를 제공하는 디바이스는 키를 생성한 디바이스, 또는 보호되는 콘텐츠가 전달되는 다른 관리 디바이스이다. 유사하게 와이핑 명령어는 사용자의 디바이스 중 다양한 디바이스로 전달될 수 있어서, 특정 디바이스와 연관된 임의의 키가 사용자의 디바이스 중 다양한 디바이스의 각각으로부터 삭제되게 한다.

Description

디바이스를 통한 콘텐츠 와이핑 동작 로밍 기법{ROAMING CONTENT WIPE ACTIONS ACROSS DEVICES}
컴퓨팅 기술이 진보함에 따라, 많은 다른 타입의 컴퓨팅 디바이스는 흔한 것이 되었다. 사용자는 종종 랩탑 또는 데스크탑 컴퓨터, 태블릿 디바이스, 스마트 폰 등과 같은 다수의 다른 컴퓨팅 디바이스를 갖는다. 네트워크 서비스 또는 클라우드 서비스를 이용하면, 사용자는 이들 다수의 디바이스에 걸쳐 데이터를 공유할 수 있고, 이들 다수의 디바이스 중 임의의 디바이스에서 이들 데이터에 액세스할 수 있다. 그러나, 이들 다수의 디바이스를 통해 데이터를 공유하는 것은 (예컨대, 사용자가 회사를 그만두어서) 이들 디바이스로부터 데이터를 와이핑(wiping)하는 기능을 원하는 일부 회사에게는 성가신 일이 될 수 있는데, 그 이유는 데이터가 회사가 관리하지 않는 디바이스와 공유되어 있을 수 있기 때문이다.
이 요약은 상세한 설명에서 이하에 추가로 설명되는 단순화된 형태의 개념의 선택을 소개하기 위해 제공된다. 이 요약은 청구된 청구 대상의 주요 특징 또는 필수적인 특징을 식별하기 위한 것이 아니고, 또한 청구된 청구 대상의 범위를 제한하도록 사용되는 것도 아니다.
하나 이상의 양상에 따르면, 제 1 컴퓨팅 디바이스에서 키에 기초하여 보호되는 디바이스 콘텐츠가 제 2 컴퓨팅 디바이스로부터 수신되며, 콘텐츠는 암호화되었고, 키는 관리 정책에 의해 관리되는 제 2 컴퓨팅 디바이스와 연관된다. 제 1 컴퓨팅 디바이스가 관리 정책에 의해 관리되는지 여부에 대한 판정이 이루어진다. 제 1 컴퓨팅 디바이스가 관리 정책에 의해 관리된다고 판정하는 것에 응답하여, 키는 제 1 컴퓨팅 디바이스와 연관된다. 제 1 컴퓨팅 디바이스가 관리 정책에 의해 관리되지 않는다고 판정하는 것에 응답하여, 키와 제 3 컴퓨팅 디바이스의 연관이 유지된다.
하나 이상의 양상에 따르면, 콘텐츠가 제 1 컴퓨팅 디바이스에서 획득되고, 제 1 컴퓨팅 디바이스는 관리 정책에 의해 관리된다. 콘텐츠는 보호되어 콘텐츠가 키에 기초하여 검색되도록 구성되며, 보호는 콘텐츠를 암호화하는 것을 포함하고, 키는 제 1 컴퓨팅 디바이스의 식별자와 연관된다. 암호화된 콘텐츠 및 키는 제 2 컴퓨팅 디바이스로 로밍되고, 제 2 컴퓨팅 디바이스는 관리 정책에 의해 관리되지 않는 미관리 디바이스이다. 후속하여, 관리 개시 와이핑 명령어(management-initiated wipe command)를 수신하는 것에 응답하여, 키를 삭제하도록 제 2 컴퓨팅 디바이스에게 지시하는 와이핑 명령어가 제 2 컴퓨팅 디바이스로 전송된다.
상세한 설명은 첨부한 도면과 관련하여 설명된다. 도면에서, 참조 번호의 가장 좌측 숫자는 참조 번호가 처음 나타나는 도면을 나타낸다. 설명 및 도면의 다른 예시에서 동일한 참조 번호의 사용은 유사한 또는 동일한 아이템을 나타낼 수 있다. 도면에서 표현된 개체는 하나 이상의 개체를 나타내는 것이 될 수 있어서 참조는 논의 중인 단일 또는 복수 형태의 개체와 호환가능하게 이루어질 수 있다.
도 1은 하나 이상의 실시예에 따라 본원에서 논의되는 기술을 구현하는 예시적인 시스템을 도시한다.
도 2는 하나 이상의 실시예에 따라 본원에서 논의되는 기술을 구현하는 예시의 컴퓨팅 디바이스를 도시한다.
도 3은 하나 이상의 실시예에 따라 보호되는 콘텐츠를 로밍하기 위한 안전한 키 관리를 구현하기 위한 예시의 프로세스를 도시하는 흐름도이다.
도 4는 하나 이상의 실시예에 따라 콘텐츠가 로밍되고 데이터 보호 개인 키가 공유되는 예시의 시스템을 도시한다.
도 5는 하나 이상의 실시예에 따라 디바이스를 통해 콘텐츠 와이핑 동작을 로밍하기 위한 예시의 프로세스를 도시하는 흐름도이다.
도 6은 하나 이상의 실시예에 따라 콘텐츠가 디바이스를 통해 로밍되는 것으로서 키를 제공하는 디바이스를 표시하는 식별자를 설정하기 위한 예시의 프로세스를 도시하는 흐름도이다.
도 7은 하나 이상의 실시예에 따라 로밍된 와이핑 명령어에 대해 동작하기 위한 예시의 프로세스를 도시하는 흐름도이다.
도 8 및 9는 하나 이상의 실시예에 따라 콘텐츠를 와이핑하는 예시를 도시한다.
도 10은 본원에 설명된 다양한 기술을 구현할 수 있는 하나 이상의 시스템 및/또는 디바이스를 대표하는 예시의 컴퓨팅 디바이스를 포함하는 예시의 시스템을 도시한다.
본원에서 디바이스를 통해 콘텐츠 와이핑 동작을 로밍하는 것이 논의된다. 디바이스 상의 콘텐츠는 데이터 보호 키에 기초하여 암호화되고 보호된다. 콘텐츠는 데이터 보호 키를 사용하여 암호화될 수 있으며, 또는 데이터 보호 키가 콘텐츠를 암호화는데 사용되는 하나 이상의 다른 키를 암호화하는데 사용될 수 있다. 또한, 암호화된 콘텐츠는 클라우드 스토리지로 복사될 수 있고, 보호된 콘텐츠는 클라우드 스토리지로부터 사용자의 디바이스 중 다양한 다른 디바이스로 전달될 수 있는데, 이를 콘텐츠 로밍 또는 사용자의 디바이스 동기화라고도 한다. 보호된 콘텐츠는 추가적으로 또는 대안으로 클라우드 스토리지를 통하는 것 보다는 피어 투 피어 전송(peer-to-peer transfer)을 이용하여 사용자의 디바이스 중 다양한 다른 디바이스로 전달될 수 있다.
일부 컴퓨팅 디바이스는 정책에 의해 관리되며, 따라서 관리 디바이스라고도 한다. 정책은 회사 또는 조직(예를 들어, 기업 정책), 컴퓨팅 디바이스의 소유자 또는 사용자, 사용자를 대신하여 디바이스를 관리하는 휴대폰 운영자, 개인용 디바이스 또는 홈 서버 등과 같은 다양한 개체와 연관되는 정책이 될 수 있다. 보호된 콘텐츠로부터 평문(plaintext)을 검색하는데 사용되는 키는 키를 제공하는 하나 이상의 특정 디바이스의 각각의 식별자와 연관되고, 이들의 각각은 키를 생성한 디바이스 또는 보호되는 콘텐츠가 로밍되는 다른 관리 디바이스이다.
특정 디바이스와 연관된 데이터를 사용불가능하게 만들도록 지시하는(예를 들어, 특정 디바이스와 연관된 키를 삭제하도록 지시하는) 와이핑 명령이 컴퓨팅 디바이스에 의해 수신될 수 있다. 와이핑 명령은 사용자의 디바이스 중 다양한 다른 디바이스로 로밍되고, 하나 이상의 실시예에서는 와이핑 명령에 응답하여 특정 디바이스와 연관된 임의의 키가 다양한 사용자의 디바이스 중 다양한 디바이스의 각각으로부터 삭제된다. 대안으로, 사용자의 디바이스 중 특정 디바이스와 동기하는 관리 디바이스에 대한 마지막 참조가 소정 키에 대해 제거되는 것에 응답하여 그 키가 그 특정 디바이스로부터 삭제될 수 있다. 따라서, 특정 디바이스에 도달할 수 있는 관리 채널이 존재하는 한 키는 특정 디바이스 상에 남아있을 수 있다.
본원에서 논의된 기술은, 사용자의 콘텐츠를 다양한 다른 디바이스로 로밍시키지만 원하는 경우 관리자 또는 제어기에 의해 이들 디바이스로부터 와이핑시킴으로써, 컴퓨팅 디바이스의 유용성 및 보안을 유리하게 향상시킨다. 하나 이상의 이러한 디바이스가 미관리되어 와이핑 명령어를 수신하기 위한 관리자 또는 제어기로의 직접 채널을 갖지 않더라도 데이터가 이러한 디바이스로부터 와이핑될 수 있다.
본원에서는 콘텐츠를 암호화하고 복호화하는 것을 참고하는데, 이러한 암호화 및 복호화는 대칭 키 암호법 또는 공개 키 암호법을 사용하여 수행될 수 있다. 이러한 키 암호법이 당업자에게 잘 알려져 있지만, 독자들을 보조하도록 이러한 암호법의 간략한 개요가 본원에 포함된다. 공개 키 암호법에서, 개체(예를 들어, 사용자, 하드웨어 또는 소프트웨어 컴포넌트, 디바이스, 도메인 등)는 이들의 공개 키/개인 키 쌍과 연관된다. 공개 키는 공개적으로 사용가능하게 만들어질 수 있지만, 개체는 개인 키를 비밀로 유지한다. 데이터는 개인 키를 사용하여 복호화될 수 있지만, 개인 키 없이 공개 키를 사용하여 암호화되는 데이터를 복호화하는 것은 계산적으로 매우 어렵다. 따라서, 데이터는 공개 키를 갖는 임의의 개체에 의해 암호화될 수 있고, 대응하는 개인 키를 갖는 개체에 의해서만 복호화될 수 있다.
반면, 대칭 키 암호법에서는, 공유 키(대칭 키로서 또한 지칭됨)가 두 개체에 의해 알려져 있고 비밀로 유지된다. 공유 키를 갖는 임의의 개체는 통상적으로 이 공유키로 데이터를 암호화시키는 것이 가능하고 이 공유키로 암호화된 데이터를 복호화하는 것이 가능하다. 공유 키 없이, 공유 키로 암호화된 데이터를 복호화시키는 것은 계산적으로 매우 어렵다. 따라서, 두 개체 모두가 공유 키를 알고 있다면, 각각은 다른 하나에 의해 복호화될 수 있는 데이터를 암호화시킬 수 있지만, 다른 개체가 공유 키를 알고 있지 않다면 다른 개체는 데이터를 복호화시킬 수 없다. 유사하게, 공유 키를 갖는 개체는 동일한 개체에 의해 복호화될 수 있는 데이터를 암호화시킬 수 있지만, 다른 개체가 공유키를 알고 있지 않다면 다른 개체는 데이터를 복호화시킬 수 없다.
도 1은 하나 이상의 실시예에 따라 본원에서 논의된 기술을 구현하는 예시의 시스템(100)을 도시한다. 시스템(100)은 다양한 다른 타입의 디바이스가 될 수 있는 컴퓨팅 디바이스(102)를 포함한다. 예를 들어, 컴퓨팅 디바이스(102)는 데스크탑 컴퓨터, 서버 컴퓨터, 랩탑 또는 넷북 컴퓨터, 모바일 디바이스(예를 들어, 태블릿 또는 패블릿 디바이스, 셀룰러 또는 다른 무선 폰(예를 들어, 스마트 폰), 노트패드 컴퓨터, 모바일 기지국), 착용가능한 디바이스(예를 들어, 안경, 시계), 엔터테인먼트 디바이스(예를 들어, 엔터테인먼트 어플라이언스, 디스플레이 디바이스에 통신가능하게 연결된 셋탑 박스, 게임 콜솔), 텔레비전 또는 다른 디스플레이 디바이스, 자동차 컴퓨터 등이 될 수 있다. 따라서, 컴퓨팅 디바이스(102)는 상당한 메모리 및 프로세서 리소스를 갖는 전체 리소스 디바이스(예를 들어, 개인용 컴퓨터, 게임 콘솔)부터 제한된 메모리 및/또는 프로세싱 리소스를 갖는 저 리소스 디바이스(예를 들어, 전통적인 셋탑 박스, 핸드헬드 게임 콘솔)까지가 될 수 있다.
컴퓨팅 디바이스(102)는 콘텐츠 보호 시스템(104), 하나 이상의 프로그램(106), 및 콘텐츠 저장부(109)를 포함한다. 프로그램(106)은 컴퓨팅 디바이스(102) 상에서 구동될 수 있는 다양한 다른 애플리케이션, 운영 시스템의 부분, 또는 다른 프로그램을 포함할 수 있다. 콘텐츠 저장부(108)는 컴퓨팅 디바이스(102)에 의해 콘텐츠를 저장하는데 사용되는 하나 이상의 저장 디바이스이다. 콘텐츠는 컴퓨팅 디바이스(102)에 의해 저장되는 임의의 타입의 데이터, 명령어, 또는 다른 정보를 지칭한다. 콘텐츠 저장부(108)는 솔리드 스테이트 디바이스(예를 들어, 플래쉬 메모리), 마그네틱 디스크, 광학 디스크 등과 같은, 임의의 다양한 다른 타입의 저장 디바이스를 사용하여 구현될 수 있다. 컴퓨팅 디바이스(102)의 부분으로서 도시되었지만, 콘텐츠 저장부(108)를 구성하는 하나 이상의 저장 디바이스는 컴퓨팅 디바이스(102)와 분리된 디바이스 상에서 구현될 수 있지만, 컴퓨팅 디바이스(102)와 통신가능하게 연결될 수 있음에 유의해야한다(예를 들어, 외부 하드 드라이브, 제거가능한 플래쉬 드라이브).
콘텐츠 보호 시스템(104)은 콘텐츠의 암호화 및 복호화를 관리하는 것, 콘텐츠를 보호하는데 사용되는 키를 관리하는 것 등을 포함하여, 컴퓨팅 디바이스(102) 상에서의 콘텐츠의 보호를 관리한다. 콘텐츠 보호 시스템(104)은 컴퓨팅 디바이스(102)의 운영 시스템의 부분으로서 구현될 수 있거나, 대안으로 운영 시스템으로부터 분리된 컴퓨팅 디바이스(102)의 다른 컴포넌트 또는 모듈로서 구현될 수 있다.
콘텐츠 보호 시스템(104)은 키 관리 모듈(112), 키 전달 모듈(114), 암호화 모듈(116), 및 복호화 모듈(118)을 포함한다. 키 관리 모듈(112)은 다른 키를 포함하여, 콘텐츠를 암호화 및 복호화하는데 사용되는 키를 생성한다. 키 관리 모듈(112)은 또한 안전한 방식으로 컴퓨팅 디바이스(102) 상에 키를 저장하고 키에 대한 액세스를 제어하여, 키에 액세스하도록 허용된 컴퓨팅 디바이스(102)의 컴포넌트 또는 모듈에 의해서만 키에 액세스하는 것을 가능하게 한다. 이러한 키는 컴퓨팅 디바이스(102)를 위한 공개 키/개인 키 쌍을 포함한다. 하나 이상의 실시예에서, 컴퓨팅 디바이스(102)의 개인 키는 예를 들어, 차세대 크리덴셜(Next Generation Credential)로 디바이스 개인 키를 랩핑(wrapping)하는 것, 디바이스 개인 키를 신뢰 플랫폼 모듈(TPM) 으로 실링(sealing)하는 것, 디바이스 개인 키를 스마트 카드로 실링하는 것, 디바이스 개인 키를 하드웨어 보안 모듈(HSM)로 실링하는 것 등에 의해, 컴퓨팅 디바이스(102)의 하드웨어에서 디바이스 개인 키가 보호된다.
키 전달 모듈(114)은 키를 다른 컴퓨팅 디바이스로 그리고 다른 컴퓨팅 디바이스로부터 안전하게 전달하는 것을 관리한다. 키 전달 모듈(114)은 다른 컴퓨팅 디바이스로 전달하기 위해 키를 보호하는 것, 및 컴퓨팅 디바이스(102)로 전달되는 보호 키로부터 키를 복구하는 것을 관리한다. 키 전달 모듈(114)은 복호화 모듈(118)로 전달될 키를 제공함으로써 전달될 키의 암호화를 가능하게 할 수 있다. 유사하게 키 전달 모듈(114)은 키 관리 모듈(112)로 키(복호화 모듈(118)에 의해 복호화 됨)를 제공함으로써 컴퓨팅 디바이스(102)로 전달될 키의 복호화를 가능하게 할 수 있다.
암호화 모듈(116)은 하나 이상의 키에 기초하여 콘텐츠를 암호화한다. 이 암호화는 임의의 다양한 다른 공개 및/또는 사유 암호화 기술 또는 알고리즘을 사용하여 수행될 수 있고, 대칭 키 암호법 또는 공개 키 암호법을 사용할 수 있다. 복호화 모듈(118)은 하나 이상의 키에 기초하여 콘텐츠를 복호화한다. 이 복호화는 임의의 다양한 다른 공개 및/또는 사유 복호화 기술 또는 알고리즘을 사용하여 수행될 수 있고, 대칭 키 암호법 또는 공개 키 암호법을 사용할 수 있다.
컴퓨팅 디바이스(102)의 사용자는 또한 디바이스를 사용할 때 사용자의 사용자 이름 또는 사용자 계정 식별자와 같은 특정 개체를 갖는다. 이 사용자 이름 또는 사용자 계정 식별자는, 예를 들어, 사용자가 컴퓨팅 디바이스(102)로 접속하는 이름 또는 식별자, 사용자가 서비스(예를 들어, 클라우드 스토리지 서비스, 또한 클라우드 서비스로서 지칭됨)로 접속하는 이름 또는 식별자 등이다. 컴퓨팅 디바이스(102)는 하나 이상의 위치에서 콘텐츠의 단기 또는 장기 저장을 가능하게 하는 컴포넌트 또는 기술의 집합인 클라우드 스토리지(122)에 액세스한다. 콘텐츠의 스토리지는 임의의 다양한 다른 데이터 네트워크(예를 들어, 인터넷, 로컬 영역 네트워크(LAN), 전화 네트워크, 인트라넷, 다른 공개 및/또는 사유 네트워크, 또는 이들의 조합) 유선 접속(예를 들어, 범용 직렬 버스(USB) 접속), 무선 접속(예를 들어, 무선 USB 접속) 등을 통해 액세스될 수 있는 임의의 다양한 다른 스토리지 메커니즘을 사용하여 구현될 수 있다. 클라우드 스토리지(122)는 다른 사용자 또는 디바이스로부터 콘텐츠를 안전하게 유지하는데 의존할 수 있는 신뢰할 수 있는 클라우드 스토리지가 될 수 있거나, 다른 사용자 또는 디바이스로부터 콘텐츠를 안전하게 유지하는데 의존할 수 없는 신뢰할 수 없는 클라우드 스토리지가 될 수 있다. 클라우드 스토리지(122)는 통상적으로 컴퓨팅 디바이스(102)로부터 원격으로 위치되는 하나 이상의 스토리지 디바이스이지만, 대안으로 다른 스토리지 디바이스(예를 들어, 제거가능한 디바이스(예를 들어, 유선 또는 무선 접속을 사용하여 컴퓨팅 디바이스(102)에 연결되는 플래쉬 또는 자기 드라이브)가 될 수 있다.
클라우드 스토리지(102)는 임의의 다양한 다른 통신 채널을 통해 액세스될 수 있다. 통신 채널은 신뢰할 수 있는 채널 또는 신뢰할 수 없는 채널이 될 수 있다. 신뢰할 수 있는 채널은 다른 사용자 또는 디바이스로부터 콘텐츠를 안전하게 유지하는데 의존할 수 있는 통신 채널을 지칭하고, 신뢰할 수 없는 채널은 다른 사용자 또는 디바이스로부터 콘텐츠를 안전하게 유지하는데 의존할 수 없는 통신 채널을 지칭한다.
클라우드 스토리지(122)는 선택적으로 다수의 다른 서비스 중 하나(클라우드 서비스로서 또한 지칭됨)로서 구현될 수 있다. 이들 클라우드 서비스는, 예를 들어, 콘텐츠 저장 서비스, 콘텐츠 편집 서비스, 통신(예를 들어, 이메일 또는 메시징) 서비스 등을 포함할 수 있다. 이들 서비스는 컴퓨팅 디바이스(102)와 관련하여 위에서 논의된 것들 중 어느 하나 이상과 같은 하나 이상의 다양한 다른 타입의 디바이스에 의해 구현될 수 있다.
클라우드 스토리지(122)는 콘텐츠가 컴퓨팅 디바이스(102) 및 다른 컴퓨팅 디바이스 124(1),..., 124(M) 중에서 공유되거나 로밍되는 것을 가능하게 한다. 보호되는 콘텐츠는 암호화되는 콘텐츠를 지칭하고, 보호되는 콘텐츠는 컴퓨팅 디바이스(102 또는 104) 중 하나에 의해 클라우드 스토리지(122)로 전달될 수 있을 뿐만 아니라 컴퓨팅 디바이스(102 또는 104) 중 다른 것에 의해 수신될 수 있다. 이러한 컴퓨팅 디바이스는 사용자의 다른 컴퓨팅 디바이스이거나 사용자가 접속하는 다른 컴퓨팅 디바이스이다. 보호되는 콘텐츠가 이러한 디바이스로 전달될 수 있지만, 이하에서 더 자세하게 논의되는 바와 같이, 보호되는 콘텐츠는 적합한 키 없이 이러한 디바이스 상에서 액세스될 수 없다. 추가적으로, 클라우드 스토리지(122)는 컴퓨팅 디바이스(102)의 사용자에 의해 신뢰될 필요가 없음에 유의해야한다 - 보호되는 콘텐츠는 클라우드 스토리지(122) 상에 저장되고, 클라우드는 콘텐츠를 비보호(복호화)하는 키가 제공되지 않아서 클라우드는 평문(비암호화) 콘텐츠에 액세스할 수 없다.
클라우드 스토리지(122)는 또한 사용자의 신원에 대응하는 사용자 키 저장부(126)를 유지한다. 사용자는 선택적으로 다른 시간(컴퓨팅 디바이스(102)에 접속하는 다른 시간)에 다른 신원을 가질 수 있다. 하나 이상의 실시예에서, 임의의 주어진 시간에서 사용자의 신원은 그 주어진 시간에 그 사용자가 컴퓨팅 디바이스(102)에 접속(및/또는 클라우드 스토리지(122)에 접속)될 때의 사용자의 신원이다. 사용자 키 저장부(126)는 컴퓨팅 디바이스(102)의 공개 키, 컴퓨팅 디바이스(124(1),..., 124(M))의 공개 키, 및 데이터 보호 공개 키와 같은, 하나 이상의 공개 키/개인 키 쌍의 공개 키를 포함한다. 이하에서 더 자세하게 논의되는 바와 같이 이들 키가 콘텐츠를 보호하는데 사용되는 동안 사용자가 동시에 다수의 디바이스로부터의 콘텐츠에 액세스하는 것을 가능하게 한다.
본원의 논의에서, 클라우드 스토리지(122)를 통해 로밍되는 콘텐츠 및 키에 대한 참조가 이루어진다. 본원에서 논의되는 기술은 피어 투 피어 통신과 같이, 클라우드 스토리지 또는 클라우드 서비스에 의존하는 것 없이 다른 통신 메커니즘에 적용할 수 있음에 유의해야 한다.
도 2는 하나 이상의 실시예에 따라 본원에서 논의되는 기술을 구현하는 다른 예시의 컴퓨팅 디바이스(202)를 도시한다. 컴퓨팅 디바이스(102)는 콘텐츠 보호 시스템(104), 하나 이상의 프로그램, 도 1의 컴퓨팅 디바이스(102)와 유사한 콘텐츠 저장부(108)를 포함한다. 그러나, 컴퓨팅 디바이스(202)는 콘텐츠 보호 시스템(104)이 신뢰할 수 있는 컴퓨팅 베이스(204)의 부분으로서 구현된다는 점에서 컴퓨팅 디바이스(102)와 다르다.
신뢰할 수 있는 컴퓨팅 베이스(204)는 키를 생성하고 보호하는, 컴퓨팅 디바이스(202)의 안전하거나 신뢰할 수 있는 컴포넌트로서 동작한다. 신뢰할 수 있는 컴퓨팅 베이스(204)의 컴포넌트는 프로그램(106)으로부터 그렇게 하라는 요청(운영 시스템으로부터의 요청을 포함함)에 응답하여 콘텐츠를 암호화 또는 복호화할 수 있지만, 신뢰할 수 있는 컴퓨팅 베이스(204)는 암호화 또는 복호화 키를 신뢰할 수 있는 컴퓨팅 베이스(204)의 부분으로서 포함하지 않는 컴퓨팅 디바이스(202)의 모듈의 임의의 다른 프로그램에게 공개하지 않는다. 따라서, 프로그램(106)이 멀웨어이거나, 컴퓨팅 디바이스(202)의 운영 시스템의 일부가 신뢰될 수 없거나 멀웨어 의해 손상되었다면, 키는 신뢰할 수 있는 컴퓨팅 베이스(204)에 의해 보호된 채로 남아있고 이러한 프로그램 또는 운영 시스템에게 공개되지 않는다. 그러나, 이하에서 더 자세하게 논의되는 바와 같이, 신뢰할 수 있는 컴퓨팅 베이스(204)는 다른 컴퓨팅 디바이스로 암호화되는 키를 전달할 수 있다.
도 1을 참조하면, 컴퓨팅 디바이스(102) 상의 콘텐츠는 데이터 보호 공개 키/개인 키 쌍에 기초하여 콘텐츠 보호 시스템(104)에 의해 보호된다. 키 관리 모듈(112)은 데이터 보호 공개 키/개인 키 쌍을 생성하고 데이터 보호 개인 키를 비밀로 유지한다. 데이터 보호 공용 키는 클라우드 스토리지(122)로 전달되고 사용자 키 저장부(126)의 부분으로서 저장된다. 데이터 보호 공개 키/개인 키 쌍은 사용자의 신원에 대응하거나 연결된다. 사용자가 다수의 다른 신원을 갖는다면, 다수의 다른 데이터 보호 공개 키/개인 키 쌍이 생성되거나(각각은 다수의 신원 중 다른 신원에 대응하거나 연결됨), 대안으로, 단일 데이터 보호 공개 키/개인 키 쌍은 다수의 다른 신원을 통해 공유될 수 있다. 임의의 특정 시간에, 키 관리 모듈(112)은 그 특정 시간에 사용자 신원에 대응하는 데이터 보호 개인 키가 콘텐츠를 보호하는데 사용되는 것을 가능하게 하지만, 다른 사용자 신원에 대응하는 데이터 보호 개인 키가 콘텐츠를 보호하는데 사용되는 것은 불가능하게 한다. 따라서, 데이터 보호 개인 키는 또한 특정 신원에 의해 보호되는 것으로서 지칭된다.
보호되는 콘텐츠는 또한 클라우드 스토리지(122) 상에 저장된다. 이 클라우드 스토리지(122) 상에서 보호되는 콘텐츠의 스토리지는 콘텐츠 동기화 프로그램과 같은, 프로그램(106) 중 하나에 의해 관리될 수 있다. 새로운 콘텐츠가 콘텐츠 저장부(108) 상에서 생성되거나 그렇지 않으면 추가됨에 따라, 새로운 콘텐츠는 콘텐츠 보호 시스템(104)에 의해 보호되고 콘텐츠 동기화 프로그램에 의해 클라우드 스토리지(122) 상에 저장된다. 유사하게, 새로운 콘텐츠가 다른 컴퓨팅 디바이스(124)의 콘텐츠 저장부 상에서 생성되거나 그렇지 않으면 추가되고(예를 들어, 사용자가 동일한 신원을 사용하여 이러한 다른 디바이스로 접속되는 동안), 다른 컴퓨팅 디바이스(124)에 의해 클라우드 스토리지(122) 상에 저장됨에 따라, 새로운 콘텐츠는 콘텐츠 동기화 프로그램에 의해 클라우드 스토리지(122)로부터 획득되고 콘텐츠 저장부(108)에 저장된다.
보호되는 콘텐츠는 데이터 보호 공개 키/개인 키 쌍에 기초하여 보호된다. 컴퓨팅 디바이스(102 또는 124)의 콘텐츠 보호 시스템은 데이터 보호 개인 키를 사용하여 보호되는 콘텐츠로부터 평문 콘텐츠를 획득한다. 따라서, 컴퓨팅 디바이스(102 및 124) 중 다수의 다른 컴퓨팅 디바이스가 보호되는 콘텐츠로부터 평문 콘텐츠를 획득하기 위해, 데이터 보호 개인 키는 다른 컴퓨팅 디바이스(102 및 124) 가운데 공유된다. 이 공유는 데이터 보호 개인 키를 보호하는 방식으로 수행되어, 컴퓨팅 디바이스(102 및 104)가 데이터 보호 개인 키를 획득하는 것을 가능하게 하지만 다른 사용자 또는 디바이스가 데이터 보호 개인 키를 획득하는 것을 방지한다. 따라서, 데이터 보호 개인 키의 공유는 안전하지 않은 클라우드 스토리지 및/또는 안전하지 않는 통신 채널을 통해 수행될 수 있다.
도 3은 하나 이상의 실시예에 따라 보호되는 콘텐츠를 로밍하기 위해 안전한 키 관리를 구현하기 위한 예시의 프로세스(300)를 도시하는 흐름도이다. 프로세스(300)는 도 1 또는 도 2의 콘텐츠 보호 시스템(104)과 같은, 컴퓨팅 디바이스의 콘텐츠 보호 시스템에 의해 수행되고, 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 조합으로 구현될 수 있다. 프로세스(300)는 동작의 집합으로서 도시되었고 다양한 동작의 작동을 수행하기 위해 도시된 순서에 제한되지 않는다. 프로세스(300)는 보호되는 콘텐츠를 로밍하기 위해 안전한 키 관리를 구현하기 위한 예시의 프로세스이고, 보호되는 콘텐츠를 로밍하기 위해 안전한 키 관리를 구현하는 것의 추가적인 논의가 다른 도면과 관련하여 포함된다.
프로세스(300)에서, 콘텐츠는 사용자의 신원에 대응하는 데이터 보호 공개 키를 사용하여 보호된다(동작 (302)). 콘텐츠는 다양한 다른 방식으로 데이터 보호 공개 키를 사용하여 보호될 수 있다. 하나 이상의 실시예에서, 콘텐츠는 파일 암호화 키를 사용하여 암호화된다(동작 (304)). 파일 암호화 키는 암호화 프로세스(예를 들어, 대칭 암호화 프로세스)의 키로서 파일 암호화 키를 사용함으로써 콘텐츠를 암호화하는데 사용된다. 파일 암호화 키는 또한 데이터 보호 공개 키로 암호화된다(동작 (306)). 데이터 보호 공개 키는 공개 키 암호법 프로세스의 키로서 데이터 보호 공개 키를 사용함으로써 파일 암호화 키를 암호화는데 사용된다. 따라서, 콘텐츠를 보호하기 위해 다수의 다른 키 - 콘텐츠를 암호화는데 사용되는 파일 암호화 키(예를 들어, 대칭 키), 및 데이터 보호 공개 키가 파일 암호화 키를 암호화하는데 사용되는 데이터 보호 공개 키/개인 키 쌍 - 가 사용될 수 있다.
대안으로, 파일 암호화 키를 사용하는 것보다는, 콘텐츠는 데이터 보호 공개 키로 암호화된다(동작 (308)). 데이터 보호 공개 키는 공개 키 암호법 프로세스의 키로서 데이터 보호 공개 키를 사용함으로써, 콘텐츠를 암호화하는데 사용된다. 따라서, 데이터 보호 공개 키가 콘텐츠를 암호화하는데 사용되는 데이터 보호 공개 키/개인 키 쌍은 대칭 키의 임의의 사용 없이 데이터를 보호하는데 사용될 수 있다.
콘텐츠가 보호되는 방식과는 상관없이, 보호되는 콘텐츠가 클라우드 스토리지로 복사된다(동작 (310)). 콘텐츠가 보호되기 때문에, 클라우드 스토리지 자체는 평문(비암호화) 콘텐츠에 액세스하지 않는다. 따라서, 보호되는 콘텐츠는 프로세스(300)를 구현하는 컴퓨팅 디바이스 상에 저장되고, 보호되는 콘텐츠를 클라우드 스토리지에 복사하는 것에 기인하여, 보호되는 콘텐츠가 클라우드 스토리지에 의해 저장되고 사용자의 디바이스 중 다른 것으로 로밍된다.
콘텐츠에 액세스하기 위한 타겟 디바이스의 공개 키가 획득된다(동작 (312)). 타겟 디바이스의 공개 키는 다양한 다른 방식으로 획득될 수 있다. 하나 이상의 실시예에서, 사용자가 접속하는 각각의 컴퓨팅 디바이스는 자체 공개 키/개인키 쌍을 갖는다. 이 디바이스 공개 키/개인 키 쌍은 컴퓨팅 디바이스에 의해 생성되고(예를 들어, 컴퓨팅 디바이스의 키 관리 모듈), 디바이스 개인 키는 컴퓨팅 디바이스에 의해 비밀로 유지된다(예를 들어, 위에서 논의된 바와 같은 컴퓨팅 디바이스의 하드웨어에서 보호됨). 그러나, 하나 이상의 실시예에서, 각각의 컴퓨팅 디바이스는, 클라우드의 사용자 저장부(도 1의 사용자 키 저장부(126))에 디바이스 공개 키를 저장한다. 따라서, 사용자의 컴퓨팅 디바이스의 각각(예를 들어, 동일한 신원을 사용하여 사용자가 접속하는 것들)은 디바이스 공개 키를 클라우드에 제공하여, 이들 디바이스 공개 키를 사용자의 다른 컴퓨팅 디바이스에 대해 사용가능하게 만든다. 대안으로, 사용자 키 저장부(126) 및/또는 클라우드와 독립적인 직접 교환(예를 들어, 디바이스 공개 키를 제거가능한 플래쉬 메모리 디바이스 또는 전화로 전달하는 것 및 디바이스 공개 키를 제거가능한 플래쉬 메모리 디바이스 또는 전화로부터 판독하는 것, 디바이스 공개 키를 또 다른 유선 또는 무선 통신 채널을 사용하여 전달하는 것 등)과 같은, 다른 방식으로 컴퓨팅 디바이스가 디바이스 공개 키를 사용자의 다른 컴퓨팅 디바이스에 대해 사용가능하게 만들 수 있다.
데이터 보호 개인 키는 타겟 디바이스 공개 키(동작 (314))를 사용하여 암호화된다. 타겟 디바이스 공개 키를 사용하여 데이터 보호 공개 키를 암호화시킴으로써, 타겟 디바이스는 타겟 디바이스 개인 키를 사용하여 데이터 보호 개인 키를 복구하는 것이 가능하지만, 다른 디바이스(타겟 디바이스 개인 키가 없는)는 데이터 보호 개인 키를 복구하는 것이 불가능하다.
암호화된 데이터 보호 개인 키가 타겟 디바이스에 제공된다(동작 (316)). 암호화된 데이터 보호 개인 키는 도 1의 클라우드 스토리지(122), 제거가능한 플래쉬 메모리 디바이스 또는 전화기, 또 다른 유선 또는 무선 통신 채널 등과 같은 임의의 다양한 다른 메커니즘을 사용하여 타겟 디바이스에 제공될 수 있다. 데이터 보호 개인 키는 암호화되고 타겟 디바이스는 타겟 디바이스 개인 키를 갖는 유일한 디바이스이기 때문에, 암호화된 데이터 보호 개인 키는 임의의 다양한 신뢰할 수 있거나 신뢰할 수 없는 채널을 통해 타겟 디바이스로 전달되거나 전송될 수 있다는 것에 유의해야한다.
타겟 디바이스가 암호화된 데이터 보호 개인 키를 갖는다면, 타겟 디바이스는 타겟 디바이스 개인 키를 사용하여 데이터 보호 개인 키를 쉽게 복구할 수 있다. 타겟 디바이스의 콘텐츠 보호 시스템은 데이터 보호 개인 키를 안전하게 유지하고, 데이터 보호 개인 키를 사용하여 보호되는 콘텐츠로부터 평문 콘텐츠를 복구할 수 있다(예를 들어, 데이터 보호 개인 키를 사용하여 파일 암호화 키를 복호화하고, 또한 파일 암호화 키를 사용하여 암호화된 콘텐츠를 복호화하는 것에 의해, 또는 데이터 보호 개인 키를 사용하여 암호화된 콘텐츠를 복호화하는 것에 의해).
데이터 보호 개인 키가 제공될 타겟 디바이스는 다른 방식으로 식별될 수 있다. 하나 이상의 실시예에서, 타겟 디바이스는 타겟 디바이스가 데이터 보호 개인 키를 원한다는 통지를 디바이스 구현 프로세스(300)로 전송한다. 이 통지는 클라우드 스토리지, 또는 대안으로 또 다른 통신 채널을 통할 수 있다. 대안으로, 데이터 보호 개인 키가 제공될 타겟 디바이스는 다른 방식으로 결정될 수 있다. 예를 들어, 디바이스 구현 프로세스(300)(또는 사용자 키 저장부(126))는 데이터 보호 정책 개인 키가 제공되는 다른 디바이스의 기록을 유지할 수 있고 디바이스 구현 프로세스(300)가 클라우드 스토리지 상에 암호화된 데이터 보호 개인 키를 아직 저장하지 않은 사용자 키 저장부(126)에서 각각의 디바이스 공개 키를 사용하여 암호화된 데이터 보호 개인 키를 클라우드 스토리지 상에 자동으로 저장할 수 있다.
도 4는 하나 이상의 실시예에 따라 콘텐츠가 로밍되고 데이터 보호 개인 키가 공유되는 예시의 시스템(400)을 도시한다. 사용자는 동일한 시간에 또는 다른 시간에 그의 컴퓨팅 디바이스(402 및 404) 중 두 다른 컴퓨팅 디바이스에 접속한다. 사용자는 콘텐츠를 로밍하고/거나 데이터 보호 개인 키를 공유하기 위해 동시에 컴퓨팅 디바이스(402 및 404)의 모두에 접속될 수 있지만 필수적인 것은 아니다. 각각의 컴퓨팅 디바이스(402 및 404)는 도 1의 컴퓨팅 디바이스(102) 또는 도 2의 컴퓨팅 디바이스(202)가 될 수 있다. 위에서 논의된 바와 같이, 각각의 컴퓨팅 디바이스(402 및 404)는 콘텐츠 보호 시스템(406 및 408)을 각각 갖는다. 보호되는 콘텐츠(410)는 컴퓨팅 디바이스(402)에 의해 클라우드 스토리지(122)로 제공되고, 클라우드 스토리지(122)로부터 컴퓨팅 디바이스(404)로 복사된다.
컴퓨팅 디바이스(402)는 컴퓨팅 디바이스(402)의 디바이스 공개 키를 키 저장부(126)에 제공하여, 디바이스 1 공개 키(412)로 도시된 키를 유지한다. 컴퓨팅 디바이스(404)는 컴퓨팅 디바이스(404)의 디바이스 공개 키를 키 저장부(126)에 제공하여, 디바이스 2 공개 키(414)로 도시된 키를 유지한다. 컴퓨팅 디바이스(402)(또는 대안으로 컴퓨팅 디바이스(404))는 또한 데이터 보호 공개 키를 키 저장부(126)에 제공하여, 데이터 보호 공개 키(416)로서 도시된 키를 유지한다. 데이터 보호 공개 키(416)는 다른 디바이스들 또는 다른 사용자 신원들 중에서 데이터를 공유하는데 사용될 수 있으며, 이하에서 더 자세하게 논의된다.
컴퓨팅 디바이스(402)는 사용자 키 저장부(126)로부터 디바이스 2 공개 키(414)를 획득하고, 디바이스 2 공개 키(414)를 사용하여 데이터 보호 공개 키를 암호화한다. 암호화된 데이터 보호 개인 키는 컴퓨팅 디바이스(404)로 제공되어 컴퓨팅 디바이스(404)가 보호되는 콘텐츠(410)를 복호화하는 것을 가능하게 한다.
하나 이상의 실시예에서, 데이터 보호 공개 키/개인 키 쌍은 사용자 신원을 사용하여 사용자가 접속하는 제 1 디바이스와 같은, 하나의 디바이스에 의해 생성된다. 데이터 보호 개인 키는 또한 사용자의 다른 디바이스에 제공되며, 그는 사용자 신원을 사용하여 이들 다른 디바이스에 접속한다. 따라서, 보호되는 콘텐츠는 각각의 디바이스가 자신의 데이터 보호 공개 키/개인 키 쌍을 사용하여 데이터를 보호하기 보다는 동일한 데이터 보호 공개 키/개인 키 쌍을 사용하여 보호된다.
하나 이상의 실시예에서, 데이터 보호 개인 키를 암호화하여 타겟 디바이스에 제공하기 이전에 추가적인 사용자 검증이 수행된다. 데이터 보호 개인 키가 전달되는 컴퓨팅 디바이스(예를 들어, 도 4의 예시의 컴퓨팅 디바이스(402))-소스 디바이스로서 또한 지칭됨-는 데이터 보호 개인 키의 전달에 동의하도록 소스 디바이스의 사용자에게 프롬프트(prompt)한다. 이 프롬프트는 소스 디바이스의 사용자에 대한 시각적 디스플레이 또는 다른 제시가 될 수 있다. 이 프롬프트는 사용자 생성된 임시값 또는 다른 값(예를 들어, 타겟 디바이스에서 사용자로부터 수신되고 소스 디바이스로 제공됨)을 포함할 수 있어서 클라우드 스토리지 또는 임의의 다른 악성 디바이스 또는 컴포넌트는 타겟 디바이스 또는 사용자를 사칭할 수 있다. 전달이 동의되었는지 여부를 나타내는 사용자 입력이 수신된다. 데이터 보호 개인 키의 암호화 및 제공은 전달이 동의되었다면 시작하지만, 전달이 동의되지 않았다면 시작하지 않고 데이터 보호 개인 키가 타겟 디바이스에 제공되지 않는다.
키를 전달하도록 사용자가 동의한 것에만 응답하여 데이터 보호 개인 키를 암호화하여 타겟 디바이스에 제공함으로써, 추가적인 보안 보호가 중간자 공격(man in the middle attack)에 대해 유리하게 제공된다. 악성 디바이스 또는 프로그램은 타겟 디바이스인 것처럼 가장하여 중간자 공격을 시도할 수 있다. 소스 디바이스 및 타겟 디바이스 모두의 사용자는 통상적으로 키가 타겟 디바이스로 전달되기를 원하는 사용자이므로, 사용자는 그 또는 그녀가 전달을 요청하는지 여부를 쉽게 알 수 있을 것이다. 전달에 대한 동의를 위한 프롬프트가 사용자에게 제공된다면, 그가 로밍될 데이터에 대해 설정되는 그의 다른 디바이스를 갖지 않을 때, 사용자는 이러한 프롬프트가 악성 디바이스 또는 프로그램의 동작에 기인하고, 키 전달에 대해 동의하는 것을 거절한다고 가정할 수 있다.
추가된 보안 예방책으로서, 타겟 디바이스의 오프라인 검증은 사용자에 의해 제공된 동의의 부분으로서 수행될 수 있다. 예를 들어, 데이터 보호 개인 키가 디바이스(402)(이 예시에서 소스 디바이스)로부터 디바이스(404)(이 예시에서 타겟 디바이스)로 제공되는 것이면, 디바이스(404)의 식별(예를 들어, 디바이스(404)의 공개 키로부터 생성되는 해쉬 값)이 디바이스(402) 및 디바이스(404) 모두에 의해 디스플레이되거나 그렇지 않으면 제시될 수 있다. 두 식별이 동일하면, 사용자는 데이터 보호 개인 키를 디바이스(404)로 전달하는 것에 대해 동의할 수 있다. 그러나, 두 식별이 동일하지 않다면, 동의가 보류될 수 있어서, 데이터 보호 개인 키가 디바이스(404)로 제공되는 것을 방지한다. 두 식별이 동일하지 않다면, 사용자는 문제가 발생했다는 것, 예를 들어, 다른 디바이스 또는 프로그램이 디바이스(404)로 가장하는 것(예를 들어, 중간자 공격을 사용함) 등을 가정할 수 있다.
따라서, 데이터 보호 개인 키의 공유는 다른 방식으로 수행될 수 있다. 하나 이상의 실시예에서, 편리함을 기반으로 한 접근방식으로부터 공유가 수행된다. 단지 사용자는 (그의 사용자 신원으로 디바이스에 접속함으로써) 동의가 로밍될 새로운 디바이스를 추가할 수 있고, 통지가 디바이스(402)로 송신된다. 통지(예를 들어, 새로운 디바이스 공개 키가 사용자 키 저장부(126)에 추가된다는 사용자 키 저장부(126)로부터의 통지)는 클라우드 또는 새로운 디바이스로부터 수신될 수 있다. 통지에 응답하여, 디바이스(402) 클라우드는 암호화된 데이터 보호 개인 키를 새로운 디바이스에 제공한다.
대안으로, 데이터 보호 개인 키의 공유는 보안을 기반으로 한 접근방식으로부터 수행된다. 콘텐츠가 로밍될 새로운 디바이스는 값(예를 들어, 새로운 디바이스의 식별자 또는 임의값)을 디바이스(402)로 송신하여, 디바이스(402)에서 값을 디스플레이하거나 그렇지않으면 제시(예를 들어, 가청으로 재생)한다. 디바이스(402)로의 사용자 입력은 값을 확인하고(따라서 클라우드 스토리지는 사용자를 사칭할 수 없음) 사용자는 (새로운 디바이스의 공용 키로 암호화된) 데이터 보호 개인 키를 새로운 디바이스로 방출시키는 것에 동의한다.
도 1을 참조하면, 본원에서 논의된 기술은 암호화된 콘텐츠가 사용자의 디바이스의 다양한 다른 디바이스로 전달(로밍)되는 것을 가능하게 한다. 위에서 논의된 바와 같이, 사용자의 디바이스의 각각은 데이터 보호 개인 키를 획득한 이후에 평문 콘텐츠를 복구할 수 있다. 또한, 본원에서 논의된 기술은 사용자가 다른 사용자 또는 동일한 사용자의 다른 사용자 신원과 보호되는 콘텐츠를 공유하는 것이 가능하다.
하나 이상의 실시예에서, 사용자 키 저장부(126)의 하나 이상의 키는 예를 들어, 모든 다른 사용자 신원, 특정 사용자 신원(예를 들어 컴퓨팅 디바이스(102)의 사용자에 의해 특정됨) 등과 같은 추가적인 사용자 신원에 의해 판독가능하도록 구성될 수 있다. 이들 다른 사용자 신원은 다른 사용자 또는 동일한 사용자에 대응하는 사용자 신원이 될 수 있다. 따라서, 사용자 키 저장부(126)의 데이터 보호 공개 키는 다른 사용자 신원에 대해 사용가능하게 만들어질 수 있다. 컴퓨팅 디바이스(124)에 접속된 사용자가 특정 사용자 신원의 사용자에게 동의를 전송하기를 원한다면, 컴퓨팅 디바이스(124)는 특정 사용자 신원의 데이터 보호 공개 키를 사용자 키 저장부(126)로부터 획득할 수 있고, 획득된 데이터 보호 공개 키를 사용하여 동의를 보호하며, 클라우드 스토리지 상에 보호되는 콘텐츠를 저장할 수 있다. 콘텐츠는 특정 사용자 신원의 데이터 보호 공개 키로 콘텐츠를 암호화하는 것에 의해, 또는 특정 사용자 신원의 데이터 보호 공개 키로 파일 암호화 키(콘텐츠를 암호화하기 위해 사용되었거나 사용됨)를 암호화하는 것에 의해 보호될 수 있다. 따라서, 평문 콘텐츠는 데이터 보호 개인 키를 갖는 디바이스에 의해서만 보호되는 콘텐츠로부터 복구될 수 있고, 보호되는 콘텐츠는 클라우드 스토리지(122) 또는 다른 신뢰할 수 없는 클라우드 스토리지 또는 통신 채널을 통해 컴퓨팅 디바이스(102)로 전송될 수 있다.
추가되는 보안 예방책으로서, 사용자 키 저장부(126)로부터 획득된 데이터 보호 공개 키의 오프라인 검증은 획득된 데이터 보호 공개 키로 콘텐츠를 보호하기 이전에 수행될 수 있다. 예를 들어, 사용자 신원 A로 컴퓨팅 디바이스(124(1))에 접속된 사용자 A가 보호되는 콘텐츠를 사용자 신원 B로 컴퓨팅 디바이스(102)에 접속된 사용자 B와 공유하기를 원한다면, 컴퓨팅 디바이스(124(1))는 사용자 키 저장부(126)로부터 사용자 신원 B의 데이터 보호 공개 키를 획득한다. 이 획득된 데이터 보호 공개 키의 식별(예를 들어, 획득된 데이터 보호 공개 키로부터 생성된 해쉬 값)은 컴퓨팅 디바이스(124(1))의 사용자 A에게 디스플레이되거나 그렇지 않으면 제시될 수 있다. 또한, 사용자 신원 B의 데이터 보호 공개 키의 식별(예를 들어, 데이터 보호 공개 키로부터 생성된 해쉬 값)은 컴퓨팅 디바이스(102)의 사용자 B에게 디스플레이되거나 그렇지 않으면 제시될 수 있다. 이러한 두 가지 디스플레이된(또는 그렇지 않으면 제시된) 데이터 보호 공개 키의 식별들은 (예를 들어, 두 사용자 중 하나 또는 둘다에 의해) 식별들이 동일한지를 검증하도록 비교될 수 있다. 두 식별들이 동일하다면, 사용자 A(및/또는 사용자 B)는 컴퓨팅 디바이스(124(1))가 사용자 신원 B의 데이터 보호 공개 키로 콘텐츠를 보호하는 것을 진행하도록 승인할 수 있다. 그러나, 두 식별들이 동일하지 않다면, 사용자 A(및/또는 사용자 B)는 콘텐츠의 공유를 취소하고 사용자 신원 B의 데이터 보호 공개 키로 콘텐츠를 보호하지 않도록 컴퓨팅 디바이스(124(1))에게 지시하는 입력을 제공할 수 있다. 두 식별들이 동일하지 않다면, 사용자 A(및/또는 사용자 B)는 문제가 발생했다는 것, 다른 디바이스가 컴퓨팅 디바이스(102)로서 가장한다는 것(예를 들어, 중간자 공격을 사용함) 등을 가정할 수 있다.
데이터 보호 개인 키가 콘텐츠 보호 시스템(104)에 의해 유지되고 클라우드 스토리지(122)에 공개되지 않는다는 것에 유의해야한다. 데이터 보호 개인 키가 저장되는 다양한 디바이스에 대한 중앙화된 키 관리 시설이 존재하지 않는다(예를 들어, 키 에스크로 서비스 또는 유사한 서비스가 클라우드 스토리지(122)에 의해 제공되지 않는다). 하나 이상의 실시예에서, 데이터 보호 개인 키의 백업을 제공하도록 하나 이상의 조치가 취해져서, 데이터 보호 개인 키가 (예를 들어, 컴퓨팅 디바이스(102) 고장, 컴퓨팅 디바이스(102) 분실 또는 도난 등 때문에) 컴퓨팅 디바이스(102)로부터 더 이상 사용불가능한 경우에 데이터 보호 개인 키의 원활한 복구를 가능하게 한다.
생체 인식을 사용하여 데이터 보호 개인 키를 보호하는 것, 전화기를 사용하여 데이터 보호 개인 키를 보호하는 것, 비밀 질문 비밀 답변 기술(secret-question-secret-answer)을 사용하여 데이터 보호 개인 키를 보호하는 것, 이들의 조합 등과 같이, 복구를 위한 데이터 보호 개인 키를 보호하기 위해 다양한 다른 조치가 취해질 수 있다. 이 조치는 도 1의 콘텐츠 보호 시스템(104)(예를 들어, 키 관리 모듈(112))에 의해 취해질 수 있다.
생체 인식을 사용하여 데이터 보호 개인 키를 보호하는 것은 사용자에 관한 생체 인식 데이터를 수집하는 것 및 생체 인식 데이터로부터 키를 도출하는 것을 지칭한다. 생체 인식 데이터는 지문 데이터, 안구 스캔(예를 들어, 망막 스캔) 데이터, 안면 스캔(예를 들어, 안면 인식) 데이터, 음성 데이터 등과 같은 다양한 다른 형태를 취할 수 있다. 생체 인식 데이터로부터의 엔트로피에 기초하여 키를 도출하는 것과 같은, 임의의 다양한 공개 기술 및/또는 사유 기술을 사용하여 이 생체 인식 데이터가 키로 변환될 수 있다. 생체 인식 데이터로부터 도출된 키는 데이터 보호 공개 키를 암호화하는데 사용된다(예를 들어, 임의의 다양한 대칭 키 암호법 기술을 사용함). 암호화된 데이터 보호 개인 키는 또한 클라우드 스토리지(122)를 포함하는, 컴퓨팅 디바이스(102)의 외부의 위치에 저장될 수 있다.
데이터 보호 개인 키가 컴퓨팅 디바이스(102)로부터 분실되었다면(또는 컴퓨팅 디바이스(102)가 더 이상 이용불가능하거나 사용불가능함), 데이터 보호 개인 키가 사용자에 의해 복구될 수 있다. 생체 인식 데이터는 사용자로부터 획득되고, 생체 인식 데이터가 데이터 보호 개인 키를 암호화할 때 사용되는 것과 동일하다면, 새롭게 획득된 생체 인식 데이터로부터 도출된 키는 데이터 보호 개인 키를 복호화는데 사용될 수 있다.
전화기를 사용하여 데이터 보호 개인 키를 보호하는 것은 사용자의 전화기(예를 들어, 스마트 폰) 상에 데이터 보호 개인 키를 저장하는 것을 지칭한다. 본원에서 전화기로 논의되었지만, 대안으로 데이터 보호 개인 키는 사용자에 의해 신뢰될 수 있는 다양한 다른 디바이스 상에 저장될 수 있다. 사용자에 의한 키의 수동 엔트리(예를 들어, 데이터 보호 개인 키는 컴퓨팅 디바이스(102)에 의해 디스플레이되고, 사용자는 키를 그 또는 그녀의 전화기에 수동으로 입력함)를 포함하여, 다양한 다른 방식으로 데이터 보호 개인 키가 전화기에 전달될 수 있다. 대안으로 컴퓨팅 디바이스(102)에 의한 키의 디스플레이 또는 키의 제시의 자동 식별에 기초하는 것과 같이, 다른 방식으로 데이터 보호 개인 키가 전화기에 전달될 수 있다. 예를 들어, 데이터 보호 개인 키는 컴퓨팅 디바이스(102) 및 전화기의 카메라에 의해 캡쳐된 디스플레이에 의해 디스플레이될 수 있다. 선택적으로 광학 문자 인식이 키를 결정하기 위해 캡쳐된 이미지 상에서 수행될 수 있다. 다른 예시의 방식으로, 데이터 보호 개인 키를 인코딩하는 QR(quick response) 코드가 컴퓨팅 디바이스(102)에 의해 디스플레이되고 전화기의 카메라에 의해 캡쳐될 수 있다. 대안으로 USB 접속, 무선 USB 접속, 적외선 통신, NFC(near-field communication) 등을 사용하는 것과 같은, 다양한 다른 유선 또는 무선 방식으로 데이터 보호 개인 키가 전화기에 전달될 수 있다.
데이터 보호 개인 키가 컴퓨팅 디바이스(102)로부터 분실되었다면(또는 컴퓨팅 디바이스(102)가 더 이상 이용불가능 또는 사용불가능함), 데이터 보호 개인 키가 전화기로부터 복구될 수 있다. 전화기 상에 데이터 보호 개인 키를 저장하는 것에서 논의되는 것과 유사한 임의의 다양한 기술을 사용하여 키가 전화기로부터 컴퓨팅 디바이스(102)(또는 새로운 컴퓨팅 디바이스)로 제공될 수 있다.
비밀 질문 비밀 답변 기술을 사용하여 데이터 보호 개인 키를 보호하는 것은 하나 이상의 질문에 대한 하나 이상의 답변을 수집하는 것을 지칭한다. 질문은 사용자의 과거의 지식에 관한 질문, 비밀 정보(예를 들어, PIN(personal identification number) 또는 사용자에 의해 생성된 패스워드)에 관한 질문 등과 같은 다양한 형태를 취할 수 있다. 답변은 사용자가 알기를 기대하는 것에만 비밀 답변이 되도록 설계된다. 일방향 해쉬(one-way hash)와 같은, 임의의 다양한 공개 기술 및/또는 사유 기술을 사용하여 하나 이상의 답변이 키로 변환될 수 있다. 하나 이상의 답변으로부터 도출된 키는 데이터 보호 개인 키를 암호화하는데 사용된다(예를 들어, 임의의 다양한 대칭 키 암호법 기술을 사용함). 암호화된 데이터 보호 개인 키는 또한 클라우드 스토리지(12)를 포함하는, 컴퓨팅 디바이스(102)의 외부의 위치에 저장될 수 있다.
데이터 보호 개인 키가 컴퓨팅 디바이스(102)로부터 분실되었다면(또는 컴퓨팅 디바이스(102)가 더 이상 이용불가능 또는 사용불가능함), 데이터 보호 개인 키가 사용자에 의해 복구될 수 있다. 하나 이상의 답변이 다시 사용자로부터 획득되고, 하나 이상의 답변이 데이터 보호 개인 키를 암호화할 때 사용되는 하나 이상의 답변과 동일한 것이면, 하나 이상의 답변으로부터 도출된 키는 데이터 보호 개인 키를 복호화하는데 사용될 수 있다.
이러한 다른 조치들(예를 들어, 생체 인식 보호, 전화기 보호, 비밀 질문 비밀 답변 보호) 중 하나는 데이터 보호 개인 키를 보호하는데 사용될 수 있거나, 이러한 다른 조치의 조합은 데이터 보호 개인 키를 보호하는데 사용될 수 있다. 예를 들어, 생체 인식 보호 및 비밀 질문 비밀 답변 보호 모두가 사용될 수 있어서, 사용자로부터 획득된 생체 인식 데이터가 데이터 보호 개인 키를 암호화할 때 사용되는 것과 동일한 것이면, 그리고 사용자로부터 하나 이상의 질문에 대해 획득된 하나 이상의 답변이 데이터 보호 개인 키를 암호화할 때 사용된 하나 이상의 답변과 동일한 것이면, 데이터 보호 개인 키가 사용자에 의해서만 복구될 수 있다.
본원의 논의에서, 모든 컴퓨팅 디바이스에 의해 사용되는 단일 데이터 보호 공개 키/개인 키 쌍에 대한 참조가 이루어진다. 대안으로, 다수의 데이터 보호 공개 키/개인 키 쌍, 예를 들어, 각각의 컴퓨팅 디바이스를 위한 개별 데이터 보호 공개 키/개인 키 쌍, 하나 이상의 컴퓨팅 디바이스의 각각을 위한 다수의 데이터 보호 공개 키/개인 키 쌍 등과 같은 것이 사용될 수 있다. 이러한 다수의 데이터 보호 공개 키/개인 키 쌍의 각각을 위한 데이터 보호 개인 키가 본원에서 논의된 기술을 사용하여 다른 컴퓨팅 디바이스로 제공된다.
하나의 클라우드 스토리지(예를 들어, 도 1의 클라우드 스토리지(122))에 대한 참조가 이루어졌지만, 대안으로 동시에, 순차적으로 또는 임시적인지 여부와 상관없이, 다수의 다른 클라우드 스토리지 또는 클라우드 서비스가 사용될 수 있다. 예를 들어, 다른 서비스들은 사용자 키 저장부(126)의 리던던시가 될 수 있고, 많은 그리고/또는 다른 사용자들과 안전하게 공유하기 위해, 다른 클라우드 스토리지 또는 클라우드 서비스 상의 사용자와 공유 목적을 위해 다른 클라우드 스토리지 또는 클라우드 서비스 상에 임시로 사용자 키 저장부(126)를 저장하기 위해, 타겟팅된 서비스 마다(per-service) 사용자 키 저장부를 갖는다.
하나 이상의 실시예에서, 본원에서 논의된 기술은 하나 이상의 컴퓨팅 디바이스가 관리 정책으로서 지칭되는 정책에 의해 관리되는 다양한 환경에서 사용(예를 들어, 회사 또는 다른 조직, 가정용)된다. 이러한 정책에 의해 관리되는 컴퓨팅 디바이스는 또한 관리 디바이스로서 지칭되고, 이러한 정책에 의해 관리되지 않는 디바이스는 또한 미관리 디바이스로서 지칭된다. 관리 정책은 관리 디바이스에 의해 취해질 다양한 다른 설정, 구성, 동작 등을 식별하여, 통상적으로 콘텐츠 보호 또는 다양한 리소스로의 액세스를 포함한다. 관리 디바이스는 단일 개체 또는 대안으로 다수의 개체에 의해 관리될 수 있다. 예를 들어, 컨설턴트의 시나리오에서, 고용주는 사용자를 다른 회사에 고용시킬 수 있고, 고용주 및 다른 회사 모두가 관리 정책을 관리 디바이스에 적용할 수 있다. 다른 예시의 방식으로, 사용자는 일하는데 사용하기 위해 자신의 디바이스를 가져올 수 있고, 사용자 및 고용주 모두가 관리 정책을 관리 디바이스에 적용할 수 있다.
취해질 수 있는 이러한 하나의 조치는 컴퓨팅 디바이스 상의 콘텐츠를 와이핑하는 것인데, 이는 컴퓨팅 디바이스 상에서 사용불가능한 콘텐츠를 만드는 것을 지칭한다. 콘텐츠를 삭제하는 것, 콘텐츠를 복호화하는데 사용되는 키를 삭제하는 것 등에 의한 것과 같이 다른 방식으로 컴퓨팅 디바이스 상에서 콘텐츠를 사용불가능하게 만들 수 있다. 컴퓨팅 디바이스의 사용자가 더 이상 회사 또는 조직에 의해 고용되지 않는 것, 컴퓨팅 디바이스가 분실 또는 도난당하는 것 등과 같은 다양한 이유로 컴퓨팅 디바이스 상에서 콘텐츠를 와이핑하라고 지시하는 와이핑 명령어가 컴퓨팅 디바이스에 의해 수신될 수 있다. 와이핑 명령어는 통상적으로 관리 소스에 의해 개시되는데, 관리 소스는 관리 정책을 특정하거나 구현할 책임이 있는 개체를 지칭한다. 관리 소스는 시스템 관리자, 제어기 또는 관리 디바이스, 디바이스의 사용자, 디바이스의 소유자, 모바일 운영자 등과 같은 다양한 다른 개체가 될 수 있다.
본원에서 논의된 기술을 사용하여, 콘텐츠는 다수의 다른 컴퓨팅 디바이스들 사이에서 로밍될 수 있는데, 이들 중 일부는 관리 디바이스일 수 있고, 이들 중 일부는 미관리 디바이스일 수 있다. 관리 디바이스는 관리 디바이스가 관리 소스로부터 직접 와이핑 명령어를 수신할 수 있도록 관리 소스(예를 들어, 관리자 또는 제어기)로 돌아가는 직접 채널을 갖는 것을 말한다. 그러나, 미관리 디바이스는 관리 소스로 돌아가는 직접 채널이 없는 것(갖지 않음)을 말하며, 따라서 미관리 디바이스는 관리 소스로부터 직접 와이핑 명령어를 수신하는 것이 불가능하다.
와이핑 명령어는 위에서 논의된 관리 소스에 의해 개시되고, 미관리 디바이스 보다는 관리 디바이스에 의해 수신된다. 그러나, 유리하게 와이핑 명령어는 보호되는 콘텐츠의 로밍과 유사하게, 다수의 다른 컴퓨팅 디바이스로 로밍될 수 있다. 따라서, 유리하게 와이핑 명령어는 미관리 디바이스로 로밍될 수 있고, 미관리 디바이스가 관리 정책에 의해 관리되지 않음에도 불구하고 콘텐츠는 와이핑 명령어에 응답하여 미관리 디바이스 상에서 사용불가능하게 만들어질 수 있다. 예를 들어, 사용자는 개인용 스마트 폰을 와이핑하도록 입력을 제공할 수 있고 스마트 폰과 데이터를 동기화하지만 모바일 운영자에 의해 관리되지 않는 디바이스(예를 들어, 스마트 폰을 관리하는 모바일 운영자에 접속되거나 관련된 스마트 워치)는 또한 본원에서 논의된 기술을 사용하여 와이핑될 수 있다.
도 5는 하나 이상의 실시예에 따라 디바이스를 통해 콘텐츠 와이핑 동작을 로밍하기 위한 예시의 프로세스를 도시하는 흐름도이다. 프로세스(500)는 도 1의 컴퓨팅 디바이스(102) 또는 도 2의 컴퓨팅 디바이스(202)와 같은, 컴퓨팅 디바이스에 의해 수행되고, 소프트웨어, 펌웨어, 하드웨어, 이들의 조합으로 구현될 수 있다. 프로세스(500)는 동작의 집합으로서 도시되고 다양한 동작의 작동을 수행하기 위해 도시된 순서에 제한되지 않는다. 프로세스(500)는 디바이스를 통해 콘텐츠 와이핑 동작을 로밍하기 위한 예시의 프로세스이고, 디바이스를 통한 콘텐츠 와이핑 동작을 로밍하는 것의 추가적인 논의는 다른 도면과 관련하여 본원에 포함된다.
프로세스(500)에서, 콘텐츠가 관리 디바이스에서 획득된다(동작(502)). 콘텐츠는 관리 디바이스 상에서 생성되는 것, 전자 메일 첨부물로서 수신되는 것, 다른 디바이스로부터 복사되는 것 등에 의해, 임의의 다양한 다른 방식으로 획득될 수 있다.
콘텐츠가 키에 기초하여 복구될 수 있도록 콘텐츠가 보호된다(동작(504)). 다양한 다른 방식으로 콘텐츠가 키에 기초하여 복구될 수 있도록 콘텐츠가 보호될 수 있다. 하나 이상의 실시예에서, 위에서 논의된 바와 같이, 콘텐츠는 파일 암호화 키를 사용하여 암호화되고(동작(506)), 파일 암호화 키는 데이터 보호 공개 키로 암호화된다(동작(508)). 이러한 상황에서, 콘텐츠는 파일 암호화 키 뿐만 아니라 데이터 보호 개인 키에 기초하여 복구될 수 있다. 대안으로, 파일 암호화 키를 사용하는 것보다는, 위에서 논의된 바와 같이, 콘텐츠는 데이터 보호 공개 키로 암호화된다(동작(510)). 이러한 상황에서, 콘텐츠는 데이터 보호 개인 키에 기초하여 복구될 수 있다.
콘텐츠가 보호되는 방식과 상관없이, 보호되는 콘텐츠를 복구하는데 기초가 되는 키가 관리 디바이스의 식별자와 연관된다(동작(512)). 관리 디바이스의 식별자와 연관된 이 키는 파일 암호화 키 또는 데이터 보호 개인 키가 될 수 있다. 일반적으로, 키는 그 키를 제공하는 디바이스를 나타내는 식별자와 연관된다. 키를 제공하는 디바이스는 키를 생성하는 디바이스 또는 이하에서 더 자세하게 논의되는 다른 관리 디바이스가 될 수 있다. 이 연관은 다양한 다른 방식으로 유지될 수 있다. 예를 들어, 디바이스는 키의 메타데이터에서 식별될 수 있고, 보호되는 콘텐츠는 키 및 디바이스를 식별하는 메타데이터를 포함할 수 있고, 콘텐츠 보호 시스템은 식별자를 키와 연관시키는 리스트 또는 다른 기록을 유지할 수 있는 것 등이다.
보호되는 콘텐츠 및 키는 하나 이상의 추가적인 디바이스로 로밍된다(동작(514)). 보호되는 콘텐츠 뿐만 아니라 데이터 보호 개인 키는, 위에서 논의된 바와 같이 다른 컴퓨팅 디바이스로 로밍될 수 있고, 클라우드 스토리지 또는 다른 메커니즘(예를 들어, 피어-투-피어 전달)을 통해 로밍될 수 있다. 키가 파일 암호화 키인 상황에서, 데이터 보호 개인 키가 위에서 논의된 바와 같이 로밍되는 방식과 동일하게 파일 암호화 키가 다른 컴퓨팅 디바이스로 로밍될 수 있거나, 대안으로 다른 방식으로(예를 들어, 시스템 관리자에 의해) 컴퓨팅 디바이스로 제공될 수 있다.
보호되는 콘텐츠 및 키를 로밍하는 것에 후속하여, 관리 개시 와이핑 명령이 수신되고, 키를 삭제하도록 지시하는 와이핑 명령어가 로밍된다(동작(516)). 관리 개시 와이핑 명령은 위에서 논의된 바와 같이 시스템 관리자, 시스템 제어기 또는 관리 디바이스 등과 같은 관리 소스로부터 수신될 수 있다. 위에서 논의된 바와 같이 클라우드 스토리지를 통해 콘텐츠를 로밍하는 것과 동일한 방식으로 클라우드 스토리지를 통해 와이핑 명령어가 로밍될 수 있다. 와이핑 명령어는 콘텐츠 동기화 프로그램에 의해, 또는 대안으로 컴퓨팅 디바이스의 콘텐츠 보호 시스템에 의해 로밍될 수 있다. 예를 들어, 컴퓨팅 디바이스에서 수신되는 와이핑 명령어는 다른 컴퓨팅 디바이스의 콘텐츠 보호 시스템에 의한 복구를 위해 컴퓨팅 디바이스의 콘텐츠 보호 시스템에 의해 클라우드 스토리지에 복사될 수 있다.
추가적으로 또는 대안으로, 와이핑 명령어는 임의의 다양한 다른 타입의 통신 채널 또는 전달 메커니즘을 사용하여 로밍될 수 있다. 예를 들어, 와이핑 명령어는 블루투스, NFC, LAN, 셀룰러 네트워크 등과 같은 특정 서버 또는 피어 투 피어 메커니즘 또는 네트워크를 통해 전달될 수 있다. 다른 예시에 의해, 와이핑 명령어는 USB 플래쉬 메모리 디바이스과 같은, 다른 타입의 디바이스를 통해 전달될 수 있다.
위에서 논의된 바와 같이, 콘텐츠의 복구가 기초하는 키는 키를 제공하는 디바이스를 나타내는 하나 이상의 식별자의 각각과 연관된다. 보호되는 콘텐츠가 다른 디바이스로 로밍됨에 따라, 이 식별자는 다른 디바이스를 위해 변할 수 있거나, 추가적인 식별자가 보호되는 콘텐츠와 연관될 수 있다.
도 6은, 하나 이상의 실시예에 따라 콘텐츠가 디바이스를 통해 로밍됨에 따라 키를 제공하는 디바이스를 표시하는 식별자를 설정하기 위한 예시의 프로세스를 도시하는 흐름도이다. 프로세스(600)는 도 1 또는 도 2의 콘텐츠 보호 시스템(104)과 같은 콘텐츠 보호 시스템에 의해 수행되고, 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 조합으로 구현될 수 있다. 프로세스(600)는 동작의 집합으로 도시되고 다양한 동작의 작동을 수행하기 위해 도시된 순서에 제한되지 않는다. 프로세스(600)는 콘텐츠가 디바이스를 통해 로밍됨에 따라 키를 제공하는 디바이스를 나타내는 식별자를 설정하기 위한 예시의 프로세스이고, 콘텐츠가 디바이스를 통해 로밍됨에 따라 키를 제공하는 디바이스를 나타내는 식별자를 설정하는 것의 추가적인 논의가 다른 도면과 관련하여 본원에 포함된다.
프로세스(600)에서, 클라우드 스토리지로부터 로밍된 보호되는 콘텐츠가 수신된다(동작(602)). 수신된 보호되는 콘텐츠를 복구하는데 사용되는 키는 특정 디바이스, 또는 대안으로 다수의 다른 디바이스(모두가 관리 디바이스임)와 연관될 수 있다. 위에서 논의된 바와 같이, 이 키는 파일 암호화 키 또는 데이터 보호 개인 키가 될 수 있다.
프로세스(600)는 보호되는 콘텐츠를 수신하는 컴퓨팅 디바이스가 관리 디바이스 또는 미관리 디바이스인지 여부에 기초하여 진행한다. 보호되는 콘텐츠를 수신하는 컴퓨팅 디바이스가 관리 디바이스이면, 콘텐츠를 복구하는데 사용되는 키는 수신 디바이스와 연관된다(동작(604)). 이러한 연관은 특정 콘텐츠 또는 키를 암호화하는 것을 포함할 수 있음에 유의해야한다. 예를 들어, 키가 데이터 보호 개인 키이면, 이러한 연관은 파일 암호화 키를 수신 디바이스의 데이터 보호 공개 키로 암호화하는 것을 포함할 수 있다.
그러나, 보호되는 콘텐츠를 수신하는 컴퓨팅 디바이스가 미관리 디바이스이면, 콘텐츠를 복구하는데 사용되는 키는 특정한 하나 이상의 디바이스와 연관되는 것으로서 남아있다(동작(606)). 따라서, 동작(606)에서, 키와 특정한 하나 이상의 디바이스의 연관은 보호되는 콘텐츠를 수신하는 미관리 디바이스와 키를 연관시키는 것이 없이 유지된다(키는 보호되는 콘텐츠를 수신하는 미관리 디바이스와 연관되지 않음).
키와 관리 디바이스의 식별자를 연관시키는 것, 및 콘텐츠가 미관리 디바이스로 로밍될 때 이 연관을 유지하는 것은, 미관리 디바이스에 대한 키(및 콘텐츠)를 위한 관리 채널을 생성한다. 관리 채널은 와이핑 명령의 표시가 미관리 디바이스로 제공될 수 있는 채널 또는 메커니즘을 지칭한다. 동일한 미관리 디바이스에 대한 동일한 키를 위한 다수의 관리 채널이 존재할 수 있음에 유의해야한다. 따라서, 관리 소스로 돌아가는 직접 채널이 미관리 디바이스에 사용불가능하더라도, 와이핑 명령어가 미관리 디바이스로 제공될 수 있게 하는 미관리 디바이스로의 관리 채널은 존재한다.
하나 이상의 실시예에서, 동작(604)에서 콘텐츠를 복구하는데 사용되는 키는 수신 디바이스와 연관되도록 변환되고, 이 키와 연관된 특정 디바이스의 식별은 수신 디바이스의 식별로 대체된다. 대안으로, 키는 특정 디바이스 및 수신 디바이스 모두와 연관될 수 있다. 따라서, 키는 복수의 디바이스와 연관될 수 있다. 여전히 관리 채널(직접 채널 또는 다른 관리 채널)이 존재할 때 불필요하게 키를 잠재적으로 삭제하는 것을 회피하기 위해, 키는 복수의 디바이스, 특히 관리 소스로 다시 돌아가는 직접 채널을 가지며 미관리 디바이스와 동기화할 수 있는 디바이스와 연관될 수 있다. 예를 들어, 미관리 디바이스가 두 개의 다른 관리 디바이스와 동기화 관계에 있는 상황을 고려한다. 와이핑 명령이 디바이스 특정적이면, 관리 디바이스가 미관리 디바이스와 여전히 동기화하고 있는 한 미관리 디바이스는 키를 삭제할 필요는 없을 것이지만, 디바이스로부터 와이핑 명령이 수신될 때에는 와이핑된 디바이스에 대한 참조를 그냥 삭제할 것이다. 모든 동기화 관리 채널로부터의 모든 참조가 삭제되었을 때 키는 미관리 디바이스 상에서도 삭제된다. 대안으로, 와이핑 명령어는 다수의 디바이스를 식별할 수 있고(선택적으로 "전체 와이핑" 명령어를 사용하는 것과 같이, 임의의 디바이스를 특히 식별하는 것 없이), 이 경우에, 얼마나 많은(만약 있는 경우) 관리 디바이스가 여전히 미관리 디바이스와 동기화하고 있는지와는 상관없이, 미관리 디바이스는 키를 삭제한다.
도 7은 하나 이상의 실시예에 따라 로밍된 와이핑 명령에 대해 동작하기 위한 예시의 프로세스를 도시하는 흐름도이다. 프로세스(700)는 도 1 또는 도 2의 콘텐츠 보호 시스템(104)과 같은, 콘텐츠 보호 시스템에 의해 수행되고, 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 조합으로 구현될 수 있다. 프로세스(700)는 동작의 집합으로서 도시되고 다양한 동작의 작동을 수행하기 위해 도시된 순서에 제한되지 않는다. 프로세스(700)는 로밍된 와이핑 명령에 대해 동작하기 위한 예시의 프로세스이고, 로밍된 와이핑 명령어에 대해 동작하는 것의 추가적인 논의가 다른 도면과 관련하여 본원에 포함된다.
프로세스(700)에서, 특정 컴퓨팅 디바이스와 연관된 키를 삭제하도록 지시하는 와이핑 명령어가 수신된다(동작(702)). 수신된 와이핑 명령어는 로밍된 와이핑 명령어이다 - 와이핑 명령어는 관리 소스로부터 보다는 수신 디바이스와 동기화하하는 다른 디바이스로부터 수신된다. 위에서 논의된 바와 같이 이러한 키는 수신된 보호되는 콘텐츠를 복구하는데 사용되는 키이고, 파일 암호화 키 또는 데이터 보호 개인 키가 될 수 있다.
프로세스(700)는 와이핑 명령어를 수신하는 컴퓨팅 디바이스가 관리 디바이스 또는 미관리 디바이스인지 여부에 기초하여 진행한다. 와이핑 명령어를 수신하는 컴퓨팅 디바이스가 관리 디바이스이면, 수신 디바이스로부터 삭제되는 키가 존재하지 않는다(동작(704)). 하나 이상의 실시예에서, 보호되는 콘텐츠가 수신될 수 있기 위해 키가 특정 디바이스와 연관될 수 있지만, 이 연관은 수신 디바이스에서 변경된다. 따라서, 수신 디바이스에서, 키는 더 이상 특정 디바이스와 연관되지 않을 것이다. 대안으로, 키가 특정 디바이스 및 수신 디바이스와 연관된다면, 키가 여전히 수신 디바이스와 연관되기 때문에 키가 삭제되지 않았지만 특정 디바이스에 대한 참조 또는 식별이 동작(704)에서 삭제된다.
그러나, 와이핑 명령어를 수신하는 컴퓨팅 디바이스가 미관리 디바이스이면, 특정 디바이스와 연관된 키가 삭제된다(동작(706)). 따라서, 디바이스가 미관리되더라도, 와이핑 명령어는 미관리 디바이스로 로밍하고, 키가 삭제된다. 대안으로, 키와 연관되고 컴퓨팅 디바이스와 통신하는 모든 특정 디바이스가 와이핑된다면, 키는 미관리 디바이스 상에서만 삭제될 수 있고, 여전히 미관리 디바이스에 대한 관리 채널이 존재한다면, ("전체 와이핑" 명령어가 수신되지 않는 한) 키가 삭제되지 않는다.
도 8은 하나 이상의 실시예에 따라 콘텐츠를 와이핑하는 예시를 도시한다. 보호되는 콘텐츠가 세 컴퓨팅 디바이스(802, 804, 및 806)를 통해 로밍된다고 가정한다. 컴퓨팅 디바이스(802 및 804)는 모두 동일한 관리 정책에 의해 관리되고, 컴퓨팅 디바이스(806)는 관리되지 않는다. 또한, 보호되는 콘텐츠(808)가 컴퓨팅 디바이스(802) 상에서 생성되고 컴퓨팅 디바이스(804 및 806)로 로밍한다고 가정한다. 보호되는 콘텐츠(808)가 생성될 때, 콘텐츠의 복구가 기초하는 키(810)는 컴퓨팅 디바이스(802)의 식별자(812)와 연관된다. 보호되는 콘텐츠(808)가 컴퓨팅 디바이스(804)로 로밍될 때, 보호되는 콘텐츠가 보호되는 콘텐츠(814)로서 저장된다. 컴퓨팅 디바이스(804)가 관리 디바이스이기 때문에, 키의 연관은 컴퓨팅 디바이스(804)에 상에서 변경되고, 콘텐츠의 복구가 기초하는 키(816)는 컴퓨팅 디바이스(804)의 식별자(818)와 연관된다. 연관은 컴퓨팅 디바이스(804) 상에서 변경되지만, 이 변경은 컴퓨팅 디바이스(802) 상에서의 연관을 변경하지 않는다. 보호되는 콘텐츠(808)가 컴퓨팅 디바이스(806)로 로밍될 때, 보호되는 콘텐츠가 보호되는 콘텐츠(820)로서 저장된다. 컴퓨팅 디바이스(806)가 미관리 디바이스이기 때문에, 키의 연관은 변경되지 않는다. 따라서, 콘텐츠의 복구가 기초하는 키(822)는 컴퓨팅 디바이스(802)의 식별자(824)와 연관된다.
컴퓨팅 디바이스(802)와 연관된 키를 삭제하도록 지시하는 후속 와이핑 명령어(관리 컴퓨팅 디바이스(802 또는 804) 중 하나에 의해 관리 소스로부터 수신되고, 미관리 컴퓨팅 디바이스(806) 및 선택적으로 다른 관리 컴퓨팅 디바이스(802 또는 804)로 로밍됨)에 응답하여, 와이핑 명령어가 컴퓨팅 디바이스(802, 804 및 806)에 의해 수신된다. 컴퓨팅 디바이스(802)의 식별자(812)와 연관된 키(810)는 컴퓨팅 디바이스(802)로부터 삭제되고, 컴퓨팅 디바이스(802)의 식별자(824)와 연관된 키(822)는 컴퓨팅 디바이스(806)로부터 삭제된다. 그러나, 컴퓨팅 디바이스(804)의 식별자(818)와 연관된 키(816)는 컴퓨팅 디바이스(804) 상에 남아있다. 따라서, 와이핑 명령어에 응답하여, 보호되는 콘텐츠는 컴퓨팅 디바이스(802 및 806)에서 더 이상 수신될 수 없는데 컴퓨팅 디바이스(802 및 806)는 더 이상 복구가 기초하는 키를 갖지 않기 때문이다. 그러나, 보호되는 콘텐츠는 여전히 컴퓨팅 디바이스(804)에서 수신될 수 있다. 보호되는 콘텐츠(808 및 820)가 컴퓨팅 디바이스(802 및 806) 상에 남아있을 수 있고, 평문 콘텐츠는 컴퓨팅 디바이스(802 및 806)에서 복구될 수 없는데 컴퓨팅 디바이스(802 및 806)이 더 이상 복구가 기초하는 키를 갖지 않기 때문이다.
도 9는 하나 이상의 실시예에 따라 콘텐츠를 와이핑하는 예시를 도시한다. 도 9의 예시는 도 8의 예시와 유사하지만, 도 8의 예시에서, 보호되는 콘텐츠의 복구가 기초하는 키가 다수의 컴퓨팅 디바이스의 식별자와 연관될 수 있다. 보호되는 콘텐츠는 세 컴퓨팅 디바이스(902, 904, 및 906)를 통해 로밍된다고 가정한다. 컴퓨팅 디바이스(902 및 904)는 모두 동일한 관리 정책에 의해 관리되고, 컴퓨팅 디바이스(906)는 관리되지 않는다. 또한, 보호되는 콘텐츠(908)가 컴퓨팅 디바이스(902) 상에서 생성되고, 컴퓨팅 디바이스(904 및 906)로 로밍되며, 또한 보호되는 콘텐츠(908)가 컴퓨팅 디바이스(904) 상에서 수정(편집)되어 수정된 보호되는 콘텐츠는 컴퓨팅 디바이스(902 및 906)로 로밍된다는 것을 가정한다.
보호되는 콘텐츠(908)가 생성될 때, 콘텐츠의 복구가 기초하는 키(910)는 컴퓨팅 디바이스(902)의 식별자(912)와 연관된다. 보호되는 콘텐츠(908)가 컴퓨팅 디바이스(904)로 로밍될 때, 보호되는 콘텐츠는 보호되는 콘텐츠(914)로서 저장된다. 컴퓨팅 디바이스(904)가 관리 디바이스이기 때문에, 키는 컴퓨팅 디바이스(902) 및 컴퓨팅 디바이스(904) 모두와 연관되고, 콘텐츠의 복구가 기초하는 키(916)는 컴퓨팅 디바이스(902)의 식별자(918) 및 컴퓨팅 디바이스(904)의 식별자(920)와 연관된다. 보호되는 콘텐츠(914)가 컴퓨팅 디바이스(904) 상에서 수정될 때, 수정된 보호되는 콘텐츠(908)는 컴퓨팅 디바이스(902) 상에 저장된다. 컴퓨팅 디바이스(902)가 관리 디바이스이기 때문에, 키는 컴퓨팅 디바이스(902) 및 컴퓨팅 디바이스(904) 모두와 연관되고, 키(910)는 컴퓨팅 디바이스(902)의 식별자(912) 뿐만 아니라 컴퓨팅 디바이스(904)의 식별자(922)와 연관된다.
보호되는 콘텐츠(908)가 컴퓨팅 디바이스(906)로 로밍될 때, 보호되는 콘텐츠는 보호되는 콘텐츠(924)로서 저장된다. 컴퓨팅 디바이스(906)는 미관리 디바이스이기 때문에, 키의 연관은 변경되지 않는다. 따라서, 콘텐츠의 복구가 기초하는 키(926)는 컴퓨팅 디바이스(902)의 식별자(928) 및 컴퓨팅 디바이스(904)의 식별자(930)와 연관된다.
컴퓨팅 디바이스(902)와 연관된 키를 삭제하라고 지시하는(예를 들어, 컴퓨팅 디바이스(902)를 와이핑함) 후속 와이핑 명령어(관리 컴퓨팅 디바이스(902 또는 904)에 의해 수신되고, 미관리 컴퓨팅 디바이스(906) 및 선택적으로 다른 관리 디바이스(902 또는 904)로 로밍됨)에 응답하여, 와이핑 명령어가 컴퓨팅 디바이스(902, 904, 및 906)에 의해 수신된다. 하나 이상의 실시예에서, 컴퓨팅 디바이스(902)의 식별자(912)와 연관된 키(910)가 컴퓨팅 디바이스(902)로부터 삭제되는데, 이 명령어는 컴퓨팅 디바이스(902)로부터 키를 삭제하라는 것이기 때문이다. 대안으로, 식별자(912)가 컴퓨팅 디바이스(902)로부터 삭제될 수 있고, 컴퓨팅 디바이스(904)의 식별자(922)와 연관된 키(910)는 컴퓨팅 디바이스(902) 상에 남아있을 수 있다.
컴퓨팅 디바이스(902)의 식별자(918)는 컴퓨팅 디바이스(904)로부터 삭제되지만, 컴퓨팅 디바이스(904)의 키(916) 및 식별자(920)는 컴퓨팅 디바이스(904) 상에 남아있다. 유사하게, 컴퓨팅 디바이스(902)의 식별자(928)는 컴퓨팅 디바이스(906)으로부터 삭제되지만, 컴퓨팅 디바이스(904)의 키(926) 및 식별자(930)는 컴퓨팅 디바이스(906) 상에 남아있다. 그러나, 와이핑 명령어가 모든 디바이스를 와이핑하는 명령어이거나, 컴퓨팅 디바이스(904)와 연관된 키를 삭제(예를 들어, 컴퓨팅 디바이스(904)를 와이핑함)하는 추가적인 와이핑 명령어가 수신되는 것이면, 키(916) 및 식별자(920)가 컴퓨팅 디바이스(904)로부터 삭제될 것이고, 키(926) 및 식별자(930)가 컴퓨팅 디바이스(906)으로부터 삭제될 것이다.
따라서, 본원의 논의로부터 볼 수 있는 바와 같이, 보호되는 콘텐츠가 다른 디바이스로 로밍됨에 따라, 보호되는 콘텐츠를 복구하는데 사용되는 키는 보호되는 콘텐츠가 관리 디바이스로 로밍할 때까지 키를 생성하는 특정 디바이스와 연관된 채로 남아있다. 이는 와이핑 명령어가 다른 컴퓨팅 디바이스로 로밍되게 하고 미관리 디바이스 상의 키가 삭제되는 것을 가능하게 하고, 반면 관리 디바이스 상의 키는 남아있을 수 있다. 이는 유리하게 키가 일부 디바이스로부터 삭제되게 하고(예를 들어, 분실되거나 도난 당한 디바이스, 또는 분실되거나 도난 당한 디바이스로부터 보호되는 콘텐츠를 획득하는 미관리 디바이스), 반면 동시에 콘텐츠가 다른 관리 디바이스(예를 들어, 분실되거나 도난 당하지 않음) 상에 남아있는 것을 가능하게 하고/거나 미관리 디바이스와 동기화하는 모든 연관된 디바이스로부터 키가 호출될 때까지 콘텐츠가 미관리 디바이스 상에 남아있는 것을 가능하게 한다. 이는 또한 유리하게 와이핑 명령어가 추가적인 관리 디바이스로 로밍되는 것을 가능하게 하여, 와이핑 명령어를 개시하는 서버 또는 제어기로부터 직접 추가적인 관리 디바이스가 와이핑 명령어를 수신하는 것 없이 추가적인 관리 디바이스로부터 키가 와이핑되게 할 것이다.
키를 디바이스와 연관시키고 와이핑 명령어를 로밍하기 위한 이러한 기술들은 미관리 디바이스에 대한 데이터의 관리를 효과적으로 확장시켜, 데이터가 미관리 디바이스로부터 와이핑되는 것을 가능하게 한다. 하나 이상의 실시예에서, 이러한 기술들은 관리 디바이스로부터 가장 최근에 로밍한 이벤트로 컴퓨팅 디바이스에게 우선권을 준다. 대안으로, 다양한 다른 관리 리던던시, 우선순위, 및 충돌 해결 기술들은 다수의 관리 개체(예를 들어, 다른 관리 정책)가 존재하는 상황에서 활용될 수 있다. 이러한 기술은 키를 복제하는 것 및 복제된 키를 새로운 디바이스 식별자와 연관시키는 것(예를 들어, 키/디바이스 식별자 쌍의 리스트를 생성하는 것), 다수의 관리 채널 또는 디바이스 태그를 단일 키와 연관시키는 것 등을 포함할 수 있다.
특정 모듈과 관련한 특정 기능이 본원에서 논의되었지만, 본원에서 논의된 개별 모듈의 기능은 다수의 모듈로 분리될 수 있고/거나, 다수의 모듈의 적어도 일부 기능은 단일 모듈로 통합될 수 있다는 것에 유의해야 한다. 추가적으로, 동작을 수행하는 것으로서 본원에서 논의된 특정 모듈은 동작을 수행하는 특정 모듈 자체를 포함하거나, 대안으로 동작을 수행하는(또는 특정 모듈과 함께 동작을 수행하는) 다른 컴포넌트 또는 모듈을 호출하거나 그렇지 않으면 액세스하는 특정 모듈을 포함한다. 따라서, 동작을 수행하는 특정 모듈은 동작을 수행하는 특정 모듈 자체를 포함하고/거나 동작을 수행하는 특정 모듈에 의해 호출되거나 그렇지 않으면 액세스되는 다른 모듈을 포함한다.
도 10은 본원에 설명된 다양한 기술을 구현할 수 있는 하나 이상의 시스템 및/또는 디바이스를 대표하는 예시의 컴퓨팅 디바이스(1002)를 포함하는 일반적으로 (1000)에서의 예시의 시스템을 도시한다. 컴퓨팅 디바이스(1002)는, 예를 들어, 서비스 제공자의 서버, 클라이언트(예를 들어, 클라이언트 디바이스)와 연관된 디바이스, 온-칩 시스템, 및/또는 다른 적합한 컴퓨팅 디바이스 또는 컴퓨팅 시스템이 될 수 있다.
도시된 바와 같이 예시의 컴퓨팅 디바이스(1002)는 서로 통신가능하게 연결된 프로세싱 시스템(1004), 하나 이상의 컴퓨터 판독가능 매체(1006), 및 하나 이상의 I/O 인터페이스(1008)를 포함한다. 도시되지 않았지만, 컴퓨팅 디바이스(1002)는 서로 다양한 컴포넌트를 연결하는 시스템 버스 또는 다른 데이터 및 명령어 전달 시스템을 더 포함한다. 시스템 버스는 메모리 버스 또는 메모리 제어기, 주변 장치 버스, 범용 직렬 버스, 및/또는 프로세서 또는 임의의 다양한 버스 아키텍쳐를 활용하는 로컬 버스와 같은, 다른 버스 구조의 임의의 하나 이상의 조합을 포함할 수 있다. 제어 및 데이터 라인과 같은, 다양한 다른 예시들이 또한 고려된다.
프로세싱 시스템(1004)은 하드웨어를 사용하여 하나 이상의 동작을 수행하는 기능을 대표한다. 따라서, 프로세싱 시스템(1004)은 프로세서, 기능 블록 등으로서 구성될 수 있는 하드웨어 구성요소(1010)를 포함하는 것으로서 도시되었다. 이는 하나 이상의 반도체를 사용하여 형성되는 애플리케이션 특정 집적 회로 또는 다른 로직 디바이스로서 하드웨어의 구현을 포함할 수 있다. 하드웨어 구성요소(1010)는 이들이 형성되는 재료 또는 본원에서 활용되는 프로세싱 메커니즘에 의해 제한되지 않는다. 예를 들어, 프로세서는 반도체 및/또는 트랜지스터(예를 들어, 전자 집적 회로(IC))로 구성될 수 있다. 이 경우에, 프로세서 실행가능한 명령어는 전자적으로 실행가능한 명령어가 될 수 있다.
컴퓨터 판독가능 매체(1006)는 메모리/스토리지(1012)를 포함하는 것으로서 도시된다. 메모리/스토리지(1012)는 하나 이상의 컴퓨터 판독가능 매체와 연관된 메모리/스토리지 용량을 나타낸다. 메모리 스토리지(1012)는 (랜덤 액세스 메모리(RAM)와 같은) 휘발성 매체 및/또는 (판독 전용 메모리(ROM), 플래쉬 메모리, 광학 디스크, 자기 디스크 등과 같은) 비휘발성 매체를 포함할 수 있다. 메모리/스토리지(1012)는 고정 매체(예를 들어, RAM, ROM, 고정 하드 드라이브 등) 뿐만 아니라 제거가능한 매체(예를 들어, 플래쉬 메모리, 제거가능한 하드 드라이브, 광학 디스크 등)를 포함할 수 있다. 컴퓨터 판독가능 매체(1006)는 이하에서 더 설명되는 바와 같이 다양한 다른 방식으로 구성될 수 있다.
하나 이상의 입력/출력 인터페이스(1008)는 사용자가 명령어 및 정보를 컴퓨팅 디바이스(1002)로 입력하게 하고, 또한 다양한 입력/출력 디바이스를 사용하여 정보를 사용자 및/또는 다른 컴포넌트 또는 디바이스에 표시하게 하는 기능을 대표한다. 입력 디바이스의 예시들은 키보드, 커서 제어 디바이스(예를 들어, 마우스), 마이크로폰(예를 들어, 음성 입력용), 스캐너, 터치 기능(예를 들어, 물리적 터치를 검출하도록 구성된 용량성 또는 다른 센서), 카메라(예를 들어, 제스쳐로서의 터치를 포함하지 않는 움직임을 검출하는 자외선 주파수와 같은 가시적 또는 비가시적 파장을 활용할 수 있음) 등을 포함한다. 출력 디바이스의 예시들은 디스플레이 디바이스(예를 들어, 모니터 또는 프로젝터), 스피커, 프린터, 네트워크 카드, 촉각 반응 디바이스 등을 포함한다. 따라서, 컴퓨팅 디바이스(1002)는 사용자 인터랙션을 지원하는 이하에서 더 설명되는 다양한 방식으로 구성될 수 있다.
컴퓨팅 디바이스(1002)는 또한 콘텐츠 보호 시스템(1014)를 포함한다. 위에서 논의된 바와 같이, 콘텐츠 보호 시스템(1014)은 키를 포함하여 콘텐츠의 다양한 보호를 제공한다. 콘텐츠 보호 시스템(1014)은, 예를 들어, 도 1 또는 도 2의 콘텐츠 보호 시스템(104)을 구현할 수 있다.
본원의 소프트웨어, 하드웨어 구성요소 또는 프로그램 모듈의 일반적인 문맥에서 다양한 기술들이 설명될 수 있다. 일반적으로, 이러한 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 타입을 구현하는 루틴, 프로그램, 객체, 구성요소, 데이터 구조 등을 포함한다. 본원에서 사용된 용어 "모듈", "기능", 및 "컴포넌트"는 일반적으로 소프트웨어, 펌웨어, 하드웨어 또는 이들의 조합을 나타낸다. 본원에서 설명된 기술들의 특징들은 플랫폼 독립적이며, 기술들이 다양한 프로세서를 갖는 다양한 컴퓨팅 플랫폼 상에서 구현될 수 있다는 것을 의미한다.
설명된 모듈 및 기술의 구현은 컴퓨터 판독가능한 매체의 일부 형태 상에 저장되거나 전송될 수 있다. 컴퓨터 판독가능 매체는 컴퓨팅 디바이스(1002)에 의해 액세스될 수 있는 다양한 매체를 포함할 수 있다. 제한이 아닌 예시의 방식으로, 컴퓨터 판독가능 매체는 "컴퓨터 판독가능 저장 매체" 및 "컴퓨터 판독가능 신호 매체)를 포함할 수 있다.
"컴퓨터 판독가능 저장 매체"는 단지 신호 전송, 캐리어파 또는, 신호 자체와 대조적으로 유형인 정보 및/또는 스토리지의 지속적인 저장을 가능하게 하는 매체 및/또는 디바이스를 지칭한다. 따라서, 컴퓨터 판독가능 저장 매체는 매체를 포함하는 비신호를 지칭한다. 컴퓨터 판독가능 저장 매체는 휘발성 및 비휘발성, 제거가능 및 제거불가능한 매체 및/또는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 로직 구성요소/회로, 또는 다른 데이터와 같은 정보의 저장에 적합한 방법 또는 기술로 구현되는 스토리지 디바이스와 같은 하드웨어를 포함한다. 컴퓨터 판독가능 저장 매체의 예시들은, RAM, ROM, EEPROM, 플래쉬 메모리 또는 다른 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 다른 광학 스토리지, 하드 디스크, 자기 카세트, 자기 테이프, 자기 디스크 스토리지 또는 다른 자기 스토리지 디바이스, 또는 다른 스토리지 디바이스, 유형 매체, 또는 원하는 정보를 저장하기에 적합하고 컴퓨터에 의해 액세스될 수 있는 제조 물품을 포함할 수 있지만, 이에 제한되지 않는다.
"컴퓨터 판독가능 신호 매체"는 예를 들어, 네트워크를 통해, 컴퓨팅 디바이스(1002)의 하드웨어로 명령어를 전송하도록 구성된 신호 포함 매체를 지칭한다. 신호 매체는 통상적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 캐리어 파, 데이터 신호 또는 다른 전송 메커니즘과 같은 변조된 데이터 신호의 다른 데이터를 구현할 수 있다. 신호 매체는 또한 임의의 정보 전달 매체를 포함한다. 용어 "변조된 데이터 신호"는 하나 이상의 특성 세트를 갖거나 신호의 정보를 인코딩하기 위해 이러한 방식으로 변경되는 신호를 의미한다. 제한이 아닌, 예시의 방식으로, 통신 매체는 유선 네트워크 또는 직접 유선 접속과 같은 유선 매체, 및 음향, RF, 적외선, 및 다른 무선 매체와 같은 무선 매체를 포함한다.
이전에 설명된 바와 같이, 하드웨어 구성요소(1010) 및 컴퓨터 판독가능 매체(1006)는 명령어, 모듈, 프로그램 가능한 디바이스 및/또는 본원에서 설명된 기술들의 적어도 일부 양상을 구현하도록 일부 실시예에서 활용될 수 있는 하드웨어 형태로 구현되는 고정 디바이스 로직을 나타낸다. 하드웨어 구성요소는 집적 회로 또는 온 칩 시스템, ASIC(application-specific integrated circuit), FPGA(field-programmable gate array), CPLD(complex programmable logic device), 및 실리콘 또는 다른 하드웨어 디바이스에서의 다른 구현의 컴포넌트를 포함할 수 있다. 이 경우, 하드웨어 구성요소는 실행을 위한 명령어를 저장하는데 활용되는 하드웨어 디바이스, 예를 들어, 이전에 설명된 컴퓨터 판독가능 저장 매체 뿐만 아니라 하드웨어 구성요소에 의해 구현되는 명령어, 모듈, 및/또는 로직에 의해 정의되는 프로그램 태스크를 수행하는 프로세싱 디바이스로서 동작할 수 있다.
전술한 것의 조합은 또한 본원에 설명된 다양한 기술들 및 모듈들을 구현하는데 활용될 수 있다. 따라서, 소프트웨어, 하드웨어, 또는 프로그램 모듈 및 다른 프로그램 모듈은 하나 이상의 명령어 및/또는 컴퓨터 판독가능 저장 매체의 일부 형태 상에 구현되는 로직으로서 및/또는 하나 이상의 하드웨어 구성요소(1010)에 의해 구현될 수 있다. 컴퓨팅 디바이스(1002)는 소프트웨어 및/또는 하드웨어 모듈에 대응하는 특정 명령어 및/또는 기능을 구현하도록 구성될 수 있다. 따라서, 소프트웨어로서 컴퓨팅 디바이스(1002)에 의해 실행가능한 모듈로서의 모듈의 구현은 예를 들어, 프로세싱 시스템의 컴퓨터 판독가능 저장 매체 및/또는 하드웨어 구성요소(1010)의 사용을 통해 적어도 부분적으로 하드웨어로 달성될 수 있다. 명령어 및/또는 기능은 본원에서 설명된 기술, 모듈 및 예시들을 구현하기 위해 하나 이상의 제조 물품(예를 들어, 하나 이상의 컴퓨팅 디바이스(1002) 및/또는 프로세싱 시스템(1004))에 의해 실행가능/작동가능할 수 있다.
도 10에서 추가로 도시된 바와 같이, 예시의 시스템(1000)은 개인용 컴퓨터(PC), 텔레비전 디바이스, 및/또는 모바일 디바이스 상에서 애플리케이션을 구동 중일 때 끊김없는 사용자 경험을 위한 유비쿼터스 환경을 가능하게 한다. 서비스 및 애플리케이션은 애플리케이션 이용, 비디오 게임 플레이, 비디오 시청 등을 하는 동안 하나의 디바이스에서 다음 디바이스로 전환할 때 공통 사용자 경험에 대해 모든 세가지 환경에서 실질적으로 유사하게 구동한다.
예시의 시스템(1000)에서, 다수의 디바이스는 중앙 컴퓨팅 디바이스를 통해 상호접속된다. 중앙 컴퓨팅 디바이스는 다수의 디바이스에 대해 국부가 될 수 있거나 다수의 디바이스로부터 원격으로 위치될 수 있다. 하나 이상의 실시예에서, 중앙 컴퓨팅 디바이스는 네트워크, 인터넷, 또는 다른 데이터 통신 링크를 통해 다수의 디바이스에 연결되는 하나 이상의 서버 컴퓨터의 클라우드가 될 수 있다.
하나 이상의 실시예에서, 이 상호접속 아키텍쳐는 기능이 다수의 디바이스를 통해 전달되는 것을 가능하게 하여 다수의 디바이스의 사용자에게 공통의 경험 및 끊김없는 경험을 제공한다. 다수의 디바이스의 각각은 다른 물리적 필요조건 및 기능을 가질 수 있고, 중앙 컴퓨팅 디바이스는 디바이스에 대해 맞춤임에도 불구하고 모든 디바이스에 공통적인 디바이스에 대한 경험의 전달을 가능하게 하는 플랫폼을 사용한다. 하나 이상의 실시예에서, 타겟 디바이스의 클래스가 생성되고 경험은 디바이스의 포괄적인 클래스에 대해 맞춰진다. 디바이스의 클래스는 물리적 특징, 사용 타입, 또는 디바이스의 다른 공통적인 특성에 의해 정의될 수 있다.
다양한 구현예에서, 컴퓨팅 디바이스(1002)는 예를 들어, 컴퓨터(1016), 모바일(1018), 및 텔레비전(1020) 사용을 위한 다양한 다른 구성을 가정할 수 있다. 이러한 구성의 각각은 일반적으로 다른 구성 및 기능을 가질 수 있는 디바이스를 포함하여서, 컴퓨팅 디바이스(1002)는 다른 디바이스 클래스 중 하나 이상에 따라 구성될 수 있다. 예를 들어, 컴퓨팅 디바이스(1002)는 개인용 컴퓨터, 데스크탑 컴퓨터, 멀티스크린 컴퓨터, 랩탑 컴퓨터, 넷북 등을 포함하는 컴퓨터(1016) 클래스의 디바이스로서 구현될 수 있다.
컴퓨팅 디바이스(1002)는 또한 모바일 폰과 같은 모바일 디바이스, 휴대용 음악 재생기, 휴대용 게임 디바이스, 태블릿 컴퓨터, 멀티스크린 컴퓨터 등과 같은 모바일 디바이스를 포함하는 모바일(1018) 클래스의 디바이스로서 구현될 수 있다. 컴퓨팅 디바이스(1002)는 또한 평범한 시청 환경에서 일반적으로 더 큰 스크린을 갖거나 연결되는 디바이스를 포함하는 텔레비젼(1020) 클래스의 디바이스로서 구현될 수 있다. 이러한 디바이스는 텔레비젼, 셋탑 박스, 게임 콘솔 등을 포함한다.
본원에서 설명된 기술들은 이러한 다양한 구성의 컴퓨팅 디바이스(1002)에 의해 지원될 수 있고 본원에서 설명된 기술들의 특정 예시들에 제한되지 않는다. 이 기능은 또한 예를 들어, 이하에서 설명된 바와 같이 플랫폼(1024)을 통해 클라우드(1022)에 분산된 시스템의 사용을 통해 모두 또는 부분으로 구현될 수 있다.
클라우드(1022)는 리소스(1026)를 위한 플랫폼(1024)을 포함 및/또는 대표한다. 플랫폼(1024)은 하드웨어(예를 들어, 서버)의 기본 기능 및 클라우드(1022)의 소프트웨어 리소스를 도출한다. 리소스(1026)는 컴퓨팅 디바이스(1002)와 원격인 서버 상에서 컴퓨터 프로세싱이 실행되는 동안 활용될 수 있는 애플리케이션 및/또는 데이터를 포함할 수 있다. 리소스(1026)는 또한 인터넷을 통해 및/또는 셀룰러 또는 와이파이 네트워크와 같은 가입자 네트워크를 통해 제공되는 서비스를 포함할 수 있다.
플랫폼(1024)은 컴퓨팅 디바이스(1002)와 다른 컴퓨팅 디바이스를 연결하는 리소스 및 기능을 도출할 수 있다. 플랫폼(1024)은 또한 리소스(1026)에 대해 발생한 수요에 대응하는 규모의 수준을 제공하도록 리소스의 스케일링을 도출하는 역할을 할 수 있다. 따라서, 상호접속된 디바이스 실시예에서, 본원에 설명된 기능의 구현은 시스템(1000) 전반에 분포될 수 있다. 예를 들어, 기능은 컴퓨팅 디바이스(1002) 상에서 뿐만 아니라 플랫폼(1024)을 통해 부분적으로 구현될 수 있어서 클라우드(1022)의 기능을 도출한다.
본원의 논의에서, 다양한 다른 실시예들이 설명된다. 본원에서 설명된 각각의 실시예는 자체에서 사용될 수 있거나 본원에서 설명된 하나 이상의 다른 실시예와 관련하여 사용될 수 있다는 것이 이해될 수 있다. 본원에서 논의된 임의의 디바이스, 방법 등은 본원에서 논의된 임의의 다른 디바이스, 방법 등과 함께 사용될 수 있다. 본원에서 논의된 기술의 양상은 다음의 실시예 중 하나 이상과 관련된다.
제 1 컴퓨팅 디바이스에서 구현되는 방법으로서, 방법은, 제 2 컴퓨팅 디바이스로부터, 키에 기초하여 보호되는 콘텐츠를 수신하는 단계―콘텐츠는 암호화되고, 키는 관리 정책에 의해 관리되는 제 3 컴퓨팅 디바이스와 연관됨―와, 제 1 컴퓨팅 디바이스가 관리 정책에 의해 관리되는지 여부를 판정하는 단계를 포함하되, 제 1 컴퓨팅 디바이스가 관리 정책에 의해 관리된다고 판정하는 단계에 응답하여, 키를 제 1 컴퓨팅 디바이스와 연관시키는 단계를 더 포함하고, 제 1 컴퓨팅 디바이스가 관리 정책에 의해 관리되지 않는다고 판정하는 단계에 응답하여, 키와 제 3 컴퓨팅 디바이스의 연관을 유지시키는 단계를 더 포함한다.
상술된 방법에 대한 대안 또는 추가는 다음 중 하나 또는 조합이다: 수신하는 단계는 클라우드 스토리지를 통해 제 2 컴퓨팅 디바이스로부터 보호되는 콘텐츠를 수신하는 단계를 포함하고, 제 1 컴퓨팅 디바이스, 제 2 컴퓨팅 디바이스, 및 제 3 컴퓨팅 디바이스는 세 개의 분리된 컴퓨팅 디바이스이고, 키는 파일 암호화 키를 포함하고, 콘텐츠는 파일 암호화 키를 사용하여 암호화되고, 키는 데이터 보호 공개 키/개인 키 쌍 중 데이터 보호 개인 키를 포함하고, 콘텐츠는 파일 암호화 키를 사용하여 암호화되며, 파일 암호화 키는 데이터 보호 공개 키/개인 키 쌍 중 데이터 보호 공개 키를 사용하여 암호화되고, 방법은, 제 3 컴퓨팅 디바이스와 연관된 키를 삭제하는 명령어를 나타내는 와이핑 명령어(wipe command)를 수신하는 단계와, 제 1 컴퓨팅 디바이스에서 제 1 컴퓨팅 디바이스가 관리 정책에 의해 관리되지 않는 것에 응답하여, 제 3 컴퓨팅 디바이스와 연관된 키를 삭제하는 단계를 더 포함하고, 방법은, 제 3 컴퓨팅 디바이스와 연관된 키를 삭제하는 명령을 나타내는 와이핑 명령어(wipe command)를 수신하는 단계와, 제 1 컴퓨팅 디바이스가 관리 정책에 의해 관리되지 않고 키가 상기 제 1 컴퓨팅 디바이스에서 다수의 컴퓨팅 디바이스와 연관된다는 것에 응답하여, 제 1 컴퓨팅 디바이스에서 제 3 컴퓨팅 디바이스와 키의 연관의 표시는 삭제하지만 제 1 컴퓨팅 디바이스로부터의 키는 삭제하지 않는 단계를 더 포함한다.
제 1 컴퓨팅 디바이스에 있어서, 제 1 컴퓨팅 디바이스는, 제 2 컴퓨팅 디바이스로부터, 키에 기초하여 보호되는 콘텐츠를 수신하도록 구성된 콘텐츠 동기화 프로그램―콘텐츠는 암호화되고, 키는 관리 정책에 의해 관리되는 제 3 컴퓨팅 디바이스와 연관됨―과, 제 1 컴퓨팅 디바이스가 관리 정책에 의해 관리되는지 여부를 판정하도록 구성된 키 관리 모듈을 포함하되, 제 1 컴퓨팅 디바이스가 관리 정책에 의해 관리된다고 판정하는 단계에 응답하여, 키 관리 모듈은 키를 제 1 컴퓨팅 디바이스와 연관시키도록 더 구성되고, 제 1 컴퓨팅 디바이스가 관리 정책에 의해 관리되지 않는다고 판정하는 단계에 응답하여, 키 관리 모듈은 키를 제 1 컴퓨팅 디바이스와 연관시키지 않는 경우에 키와 제 3 컴퓨팅 디바이스의 연관을 유지시키도록 더 구성된다.
상술된 컴퓨팅 디바이스에 대한 대안 또는 추가는 다음 중 하나 또는 조합이다: 콘텐츠 동기화 프로그램은 클라우드 서비스를 통해 제 2 컴퓨팅 디바이스로부터 보호되는 콘텐츠를 수신하도록 더 구성되고, 제 1 컴퓨팅 디바이스, 제 2 컴퓨팅 디바이스, 및 제 3 컴퓨팅 디바이스는 세 개의 분리된 컴퓨팅 디바이스이고, 키는 파일 암호화 키를 포함하고, 콘텐츠는 파일 암호화 키를 사용하여 암호화되고, 키는 데이터 보호 공개 키/개인 키 쌍 중 데이터 보호 개인 키를 포함하고, 콘텐츠는 파일 암호화 키를 사용하여 암호화되며, 파일 암호화 키는 데이터 보호 공개 키/개인 키 쌍 중 데이터 보호 공개 키를 사용하여 암호화되고, 키 관리 모듈은, 제 3 컴퓨팅 디바이스와 연관된 키를 삭제하는 명령을 나타내는 와이핑 명령어를 수신하고, 제 1 컴퓨팅 디바이스가 관리 정책에 의해 관리되지 않는다는 것에 응답하여, 키가 제 1 컴퓨팅 디바이스 상에서 다수의 컴퓨팅 디바이스와 연관되는지 여부를 판정하고, 제 1 컴퓨팅 디바이스가 관리 정책에 의해 관리되지 않고 키는 제 3 컴퓨팅 디바이스에만 연관된다는 것에 응답하여, 제 1 컴퓨팅 디바이스에서 제 3 컴퓨팅 디바이스와 연관된 키를 삭제하고, 제 1 컴퓨팅 디바이스가 관리 정책에 의해 관리되지 않고 키가 다수의 컴퓨팅 디바이스와 연관되는 것에 응답하여, 제 1 컴퓨팅 디바이스에서 제 3 컴퓨팅 디바이스의 식별자를 삭제하지만 키가 다수의 컴퓨팅 디바이스 중 적어도 다른 하나와 연관되게 유지시키도록 더 구성되고, 키 관리 모듈은 제 2 컴퓨팅 디바이스로부터 와이핑 명령어를 수신하도록 더 구성된다.
제 1 컴퓨팅 디바이스에서 구현되는 방법으로서, 방법은 콘텐츠를 제 1 컴퓨팅 디바이스에서 획득하는 단계―제 1 컴퓨팅 디바이스는 관리 정책에 의해 관리됨―와, 콘텐츠를 보호하여 콘텐츠가 키에 기초하여 검색되도록 구성되는 단계―보호는 콘텐츠를 암호화하는 것을 포함함―와, 키를 제 1 컴퓨팅 디바이스의 식별자와 연관시키는 단계와, 암호화된 콘텐츠 및 키를 제 2 컴퓨팅 디바이스로 로밍하는 단계―제 2 컴퓨팅 디바이스는 관리 정책에 의해 관리되지 않는 미관리 디바이스임―와, 후속하여, 관리 개시 와이핑 명령어(management-initiated wipe command)를 수신하는 것에 응답하여, 키를 삭제하도록 제 2 컴퓨팅 디바이스에게 지시하는 와이핑 명령어를 제 2 컴퓨팅 디바이스로 전송하는 단계를 포함한다.
상술된 방법에 대한 대안 또는 추가는 다음 중 하나 또는 조합이다: 키는 파일 암호화 키를 포함하고, 콘텐츠는 파일 암호화 키를 사용하여 암호화되고, 키는 데이터 보호 공개 키/개인 키 쌍 중 데이터 보호 개인 키를 포함하고, 콘텐츠는 파일 암호화 키를 사용하여 암호화되며, 파일 암호화 키는 데이터 보호 공개 키/개인 키 쌍 중 데이터 보호 공개 키를 사용하여 암호화되고, 방법은, 제 3 컴퓨팅 디바이스로부터, 키에 기초하여 보호되는 콘텐츠를 수신하는 단계―키는 관리 정책에 의해 관리되는 제 3 컴퓨팅 디바이스와 연관되고 콘텐츠는 암호화됨―와, 제 1 컴퓨팅 디바이스가 관리 정책에 의해 관리되는지 여부를 판정하는 것에 응답하여, 키를 제 1 컴퓨팅 디바이스 뿐만 아니라 제 3 컴퓨팅 디바이스와 연관시키는 단계를 더 포함하고, 제 1 컴퓨팅 디바이스가 관리 정책에 의해 관리되지 않는다고 판정하는 단계에 응답하여, 키를 제 1 컴퓨팅 디바이스와 연관시키지 않는 경우에 키와 제 3 컴퓨팅 디바이스의 연관을 유지시키는 단계를 더 포함하고, 로밍은 클라우드 서비스 또는 피어 투 피어 통신을 통해 암호화된 콘텐츠 및 키를 제 2 컴퓨팅 디바이스로 로밍하는 것을 포함하고, 통신은 클라우드 서비스를 통해 제 2 컴퓨팅 디바이스로 와이핑 명령어를 통신하는 것을 포함한다.
청구 대상은 구조적 특징 및/또는 방법적인 동작에 대해 특정한 언어로 설명되었지만, 첨부된 청구항에서 정의된 청구 대상은 반드시 상술된 특정 특징 또는 동작에 제한되는 것은 아님이 이해될 것이다. 오히려, 상술된 특정 특징 및 동작은 청구항을 구현하는 예시 형태로서 개시된다.

Claims (20)

  1. 제 1 컴퓨팅 디바이스에서 구현되는 방법으로서,
    제 2 컴퓨팅 디바이스로부터, 키(key)에 기초하여 보호되는 콘텐츠를 수신하는 단계―상기 콘텐츠는 암호화된 것이고, 상기 키는 관리 정책에 의해 관리되고 있는 제 3 컴퓨팅 디바이스와 연관됨―와,
    상기 제 1 컴퓨팅 디바이스가 상기 관리 정책에 의해 관리되고 있는지 여부를 판정하는 단계를 포함하되,
    상기 제 1 컴퓨팅 디바이스가 상기 관리 정책에 의해 관리되고 있다고 판정하는 것에 응답하여, 상기 방법은, 상기 제 1 컴퓨팅 디바이스에 의해, 상기 키를 상기 제 1 컴퓨팅 디바이스와 연관시키는 단계를 더 포함하고,
    상기 제 1 컴퓨팅 디바이스가 상기 관리 정책에 의해 관리되고 있지 않다고 판정하는 것에 응답하여, 상기 방법은, 상기 제 1 컴퓨팅 디바이스에서, 상기 키를 상기 제 1 컴퓨팅 디바이스와 연관시키지 않고 상기 키와 상기 제 3 컴퓨팅 디바이스의 연관을 유지시키는 단계와, 상기 제 3 컴퓨팅 디바이스와 연관된 상기 키를 사용하여 상기 보호되는 콘텐츠로부터 평문(plaintext) 콘텐츠를 검색하는 단계를 더 포함하는
    방법.
  2. 제 1 항에 있어서,
    상기 수신하는 단계는 클라우드 스토리지를 통해 상기 제 2 컴퓨팅 디바이스로부터 상기 보호되는 콘텐츠를 수신하는 단계를 포함하는
    방법.
  3. 제 1 항에 있어서,
    상기 제 1 컴퓨팅 디바이스, 상기 제 2 컴퓨팅 디바이스, 및 상기 제 3 컴퓨팅 디바이스는 세 개의 분리된 컴퓨팅 디바이스인
    방법.
  4. 제 1 항에 있어서,
    상기 키는 파일 암호화 키를 포함하고, 상기 콘텐츠는 상기 파일 암호화 키를 사용하여 암호화된 것인
    방법.
  5. 제 1 항에 있어서,
    상기 키는 데이터 보호 공개 키/개인 키 쌍 중 데이터 보호 개인 키를 포함하고, 상기 콘텐츠는 파일 암호화 키를 사용하여 암호화된 것이며, 상기 파일 암호화 키는 상기 데이터 보호 공개 키/개인 키 쌍 중 데이터 보호 공개 키를 사용하여 암호화된 것인
    방법.
  6. 제 1 항에 있어서,
    상기 제 3 컴퓨팅 디바이스와 연관된 키를 삭제하라는 명령을 나타내는 와이핑 명령어(wipe command)를 수신하는 단계와,
    상기 키가 오로지 상기 제 3 컴퓨팅 디바이스와 연관된다고 판정하는 단계와,
    상기 제 1 컴퓨팅 디바이스에서, 상기 제 1 컴퓨팅 디바이스가 상기 관리 정책에 의해 관리되고 있지 않고 상기 키가 오로지 상기 제 3 컴퓨팅 디바이스와 연관되는 것에 응답하여, 상기 제 3 컴퓨팅 디바이스와 연관된 키를 삭제하는 단계를 더 포함하는
    방법.
  7. 제 1 항에 있어서,
    상기 제 3 컴퓨팅 디바이스와 연관된 키를 삭제하라는 명령을 나타내는 와이핑 명령어(wipe command)를 수신하는 단계와,
    상기 키가 복수의 컴퓨팅 디바이스와 연관된다고 판정하는 단계와,
    상기 제 1 컴퓨팅 디바이스에서, 상기 제 1 컴퓨팅 디바이스가 상기 관리 정책에 의해 관리되고 있지 않고 상기 키가 상기 제 1 컴퓨팅 디바이스에서 상기 복수의 컴퓨팅 디바이스와 연관된다는 것에 응답하여, 상기 제 1 컴퓨팅 디바이스로부터 상기 제 3 컴퓨팅 디바이스와 상기 키의 연관의 표시는 삭제하지만 상기 키는 삭제하지 않는 단계를 더 포함하는
    방법.
  8. 제 1 컴퓨팅 디바이스로서,
    제 2 컴퓨팅 디바이스로부터, 키에 기초하여 보호되는 콘텐츠를 수신하도록 구성된 콘텐츠 동기화 프로그램―상기 콘텐츠는 암호화된 것이고, 상기 키는 관리 정책에 의해 관리되고 있는 제 3 컴퓨팅 디바이스와 연관됨―과,
    상기 제 1 컴퓨팅 디바이스가 상기 관리 정책에 의해 관리되고 있는지 여부를 판정하도록 구성된 키 관리 모듈을 포함하되,
    상기 키 관리 모듈은 또한,
    상기 제 1 컴퓨팅 디바이스가 상기 관리 정책에 의해 관리되고 있다고 판정하는 것에 응답하여, 상기 키를 상기 제 1 컴퓨팅 디바이스와 연관시키도록 구성되고,
    상기 제 1 컴퓨팅 디바이스가 상기 관리 정책에 의해 관리되고 있지 않다고 판정하는 것에 응답하여, 상기 키를 상기 제 1 컴퓨팅 디바이스와 연관시키지 않고 상기 키와 상기 제 3 컴퓨팅 디바이스의 연관을 유지시키도록 구성되고,
    상기 제 3 컴퓨팅 디바이스와 연관된 키를 삭제하라는 명령을 나타내는 와이핑 명령어를 수신하는 것에 응답하여, 상기 키가 상기 제 1 컴퓨팅 디바이스 상에서 복수의 컴퓨팅 디바이스와 연관되는지 여부를 판정하도록 구성되며,
    상기 키가 오로지 상기 제 3 컴퓨팅 디바이스와 연관된다고 판정하는 것에 응답하여, 상기 제 1 컴퓨팅 디바이스에서 상기 키를 삭제하도록 구성되고,
    상기 키가 상기 복수의 컴퓨팅 디바이스와 연관된다고 판정하는 것에 응답하여, 상기 제 1 컴퓨팅 디바이스에서 상기 키로부터 상기 제 3 컴퓨팅 디바이스의 식별자를 삭제하면서 상기 복수의 컴퓨팅 디바이스 중 적어도 하나의 다른 컴퓨팅 디바이스와 상기 키의 연관을 유지시키도록 구성되는
    제 1 컴퓨팅 디바이스.
  9. 제 8 항에 있어서,
    상기 제 1 컴퓨팅 디바이스, 상기 제 2 컴퓨팅 디바이스, 및 상기 제 3 컴퓨팅 디바이스는 세 개의 분리된 컴퓨팅 디바이스인
    제 1 컴퓨팅 디바이스.
  10. 제 8 항에 있어서,
    상기 키는 파일 암호화 키를 포함하고, 상기 콘텐츠는 상기 파일 암호화 키를 사용하여 암호화된 것인
    제 1 컴퓨팅 디바이스.
  11. 제 8 항에 있어서,
    상기 키는 데이터 보호 공개 키/개인 키 쌍 중 데이터 보호 개인 키를 포함하고, 상기 콘텐츠는 파일 암호화 키를 사용하여 암호화된 것이며, 상기 파일 암호화 키는 상기 데이터 보호 공개 키/개인 키 쌍 중 데이터 보호 공개 키를 사용하여 암호화된 것인
    제 1 컴퓨팅 디바이스.
  12. 제 8 항에 있어서,
    상기 와이핑 명령어는 상기 제 2 컴퓨팅 디바이스로부터 수신되는
    제 1 컴퓨팅 디바이스.
  13. 제 1 컴퓨팅 디바이스에서 구현되는 방법으로서,
    관리 정책에 의해 관리되는 상기 제 1 컴퓨팅 디바이스에서 콘텐츠를 획득하는 단계와,
    상기 콘텐츠가 키에 기초하여 검색되게 구성되도록 콘텐츠를 보호하는 단계―상기 보호하는 단계는 상기 콘텐츠를 암호화하는 단계를 포함함―와,
    상기 제 1 컴퓨팅 디바이스에 의해, 상기 키를 상기 제 1 컴퓨팅 디바이스의 식별자와 연관시키는 단계와,
    상기 암호화된 콘텐츠 및 상기 키를 제 2 컴퓨팅 디바이스로 로밍하는 단계―상기 제 2 컴퓨팅 디바이스는 상기 관리 정책에 의해 관리되지 않는 비관리 디바이스임―와,
    상기 제 1 컴퓨팅 디바이스에 의해, 상기 키를 상기 콘텐츠가 획득된 제 3 컴퓨팅 디바이스의 식별자와 연관시키는 단계와,
    상기 제 3 컴퓨팅 디바이스와 연관된 키를 삭제하라는 명령을 나타내는 관리 개시 와이핑 명령어를 수신하는 것에 응답하여,
    상기 키가 상기 제 1 컴퓨팅 디바이스에서 복수의 컴퓨팅 디바이스와 연관되는지 여부를 판정하는 단계와,
    상기 키가 상기 복수의 컴퓨팅 디바이스와 연관된다고 판정하는 것에 응답하여, 상기 제 1 컴퓨팅 디바이스에서 상기 키로부터 상기 제 3 컴퓨팅 디바이스의 식별자를 삭제하면서 상기 복수의 컴퓨팅 디바이스 중 적어도 하나의 다른 컴퓨팅 디바이스와 상기 키의 연관을 유지시키는 단계와,
    상기 관리 개시 와이핑 명령어를 수신하는 것에 응답하여, 상기 키를 삭제할 것을 상기 제 2 컴퓨팅 디바이스에게 지시하는 와이핑 명령어를 상기 제 2 컴퓨팅 디바이스로 후속적으로 통신하는 단계를 포함하는
    방법.
  14. 제 13 항에 있어서,
    상기 키는 파일 암호화 키를 포함하고, 상기 보호하는 단계는 상기 파일 암호화 키를 사용하여 상기 콘텐츠를 암호화하는 단계를 포함하는
    방법.
  15. 제 13 항에 있어서,
    상기 키는 데이터 보호 공개 키/개인 키 쌍 중 데이터 보호 개인 키를 포함하고, 상기 보호하는 단계는,
    파일 암호화 키를 사용하여 상기 콘텐츠를 암호화하는 단계와,
    상기 데이터 보호 공개 키/개인 키 쌍 중 데이터 보호 공개 키를 사용하여 상기 파일 암호화 키를 암호화하는 단계를 포함하는
    방법.
  16. 제 13 항에 있어서,
    상기 관리 정책에 의해 관리되고 있는 제 4 컴퓨팅 디바이스로부터, 상기 제 4 컴퓨팅 디바이스와 연관된 제 2 키에 기초하여 보호되는 제 2 콘텐츠를 수신하는 단계―상기 제 2 콘텐츠는 암호화되어 있음―와,
    상기 제 1 컴퓨팅 디바이스가 상기 관리 정책에 의해 관리되고 있다는 판정에 응답하여, 상기 제 2 키를 상기 제 1 컴퓨팅 디바이스 및 상기 제 4 컴퓨팅 디바이스와 연관시키는 단계와,
    상기 제 1 컴퓨팅 디바이스가 상기 관리 정책에 의해 관리되고 있지 않다는 판정에 응답하여, 상기 제 2 키를 상기 제 1 컴퓨팅 디바이스와 연관시키지 않으면서 상기 제 4 컴퓨팅 디바이스와 상기 제 2 키의 연관을 유지시키는 단계를 더 포함하는
    방법.
  17. 제 13 항에 있어서,
    상기 로밍하는 단계는 클라우드 서비스 또는 피어 투 피어 통신을 통해 상기 암호화된 콘텐츠 및 상기 키를 상기 제 2 컴퓨팅 디바이스로 로밍하는 단계를 포함하는
    방법.
  18. 제 17 항에 있어서,
    상기 통신하는 단계는 상기 클라우드 서비스를 통해 상기 와이핑 명령어를 상기 제 2 컴퓨팅 디바이스로 통신하는 단계를 포함하는
    방법.
  19. 제 1 항에 있어서,
    상기 관리 정책에 의해 관리되고 있는 제 4 컴퓨팅 디바이스로부터, 상기 제 4 컴퓨팅 디바이스와 연관된 제 2 키에 기초하여 보호되는 제 2 콘텐츠를 수신하는 단계―상기 제 2 콘텐츠는 암호화되어 있음―와,
    상기 제 1 컴퓨팅 디바이스가 상기 관리 정책에 의해 관리되고 있다는 판정에 응답하여, 상기 제 2 키를 상기 제 1 컴퓨팅 디바이스 및 상기 제 4 컴퓨팅 디바이스와 연관시키는 단계와,
    상기 제 1 컴퓨팅 디바이스가 상기 관리 정책에 의해 관리되고 있지 않다는 판정에 응답하여, 상기 제 2 키를 상기 제 1 컴퓨팅 디바이스와 연관시키지 않으면서 상기 제 4 컴퓨팅 디바이스와 상기 제 2 키의 연관을 유지시키는 단계를 더 포함하는
    방법.
  20. 제 8 항에 있어서,
    상기 키 관리 모듈은 또한, 상기 제 3 컴퓨팅 디바이스와 연관된 상기 키를 사용하여 상기 보호되는 콘텐츠로부터 평문(plaintext) 콘텐츠를 검색하도록 구성되는
    제 1 컴퓨팅 디바이스.
KR1020177012237A 2014-11-05 2015-11-03 디바이스를 통한 콘텐츠 와이핑 동작 로밍 기법 KR102330538B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/533,921 2014-11-05
US14/533,921 US9900295B2 (en) 2014-11-05 2014-11-05 Roaming content wipe actions across devices
PCT/US2015/058707 WO2016073397A1 (en) 2014-11-05 2015-11-03 Roaming content wipe actions across devices

Publications (2)

Publication Number Publication Date
KR20170083039A KR20170083039A (ko) 2017-07-17
KR102330538B1 true KR102330538B1 (ko) 2021-11-23

Family

ID=54541236

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177012237A KR102330538B1 (ko) 2014-11-05 2015-11-03 디바이스를 통한 콘텐츠 와이핑 동작 로밍 기법

Country Status (11)

Country Link
US (1) US9900295B2 (ko)
EP (1) EP3216188B1 (ko)
JP (1) JP2017535896A (ko)
KR (1) KR102330538B1 (ko)
CN (1) CN107113286B (ko)
AU (1) AU2015343356A1 (ko)
BR (1) BR112017007146A2 (ko)
CA (1) CA2965695A1 (ko)
MX (1) MX2017005801A (ko)
RU (1) RU2017115745A (ko)
WO (1) WO2016073397A1 (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US10615967B2 (en) 2014-03-20 2020-04-07 Microsoft Technology Licensing, Llc Rapid data protection for storage devices
US9455976B2 (en) * 2014-06-03 2016-09-27 Globalfoundries Inc. Multi-factor secure appliance decommissioning
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
US9853820B2 (en) 2015-06-30 2017-12-26 Microsoft Technology Licensing, Llc Intelligent deletion of revoked data
US9900325B2 (en) 2015-10-09 2018-02-20 Microsoft Technology Licensing, Llc Passive encryption of organization data
DE102015225778A1 (de) * 2015-12-17 2017-06-22 Deutsche Post Ag Vorrichtung und Verfahren für die personalisierte Bereitstellung eines Schlüssels
US10148436B2 (en) * 2016-06-17 2018-12-04 Dell Products, L.P. Fingerprint revocation
CN107820234B (zh) 2016-09-14 2021-02-23 华为技术有限公司 一种网络漫游保护方法、相关设备及系统
US10223292B2 (en) * 2016-11-28 2019-03-05 Microsoft Technology Licensing, Llc Securing stream buffers
US10419488B2 (en) 2017-03-03 2019-09-17 Microsoft Technology Licensing, Llc Delegating security policy management authority to managed accounts
US10511632B2 (en) 2017-03-03 2019-12-17 Microsoft Technology Licensing, Llc Incremental security policy development for an enterprise network
US10819696B2 (en) * 2017-07-13 2020-10-27 Microsoft Technology Licensing, Llc Key attestation statement generation providing device anonymity
LU100728B1 (en) * 2018-03-12 2019-10-01 Szoelloesi Lorand Human memory-based key generation and retrieval protocol arrangement for secure electronic signature generation
JP2021536166A (ja) * 2018-04-19 2021-12-23 ピーアイブイ セキュリティー エルエルシー ピア識別情報の検証
WO2019231465A1 (en) * 2018-06-01 2019-12-05 Hewlett-Packard Development Company, L.P. Key encryption key wrapping
US10831388B2 (en) * 2019-02-15 2020-11-10 International Business Machines Corporation Selective data destruction via a sanitizing wipe command
WO2020197547A1 (en) * 2019-03-27 2020-10-01 Xinova, LLC Detection of deep fake videos based on digital signature
US11151280B2 (en) * 2019-06-04 2021-10-19 EMC IP Holding Company, LLC Simplified deletion of personal private data in cloud backup storage for GDPR compliance
CN113609498B (zh) * 2021-07-15 2022-09-30 荣耀终端有限公司 数据保护方法及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130124859A1 (en) 2009-05-29 2013-05-16 Florian Pestoni System and method for digital rights management with authorized device groups
US8726343B1 (en) 2012-10-12 2014-05-13 Citrix Systems, Inc. Managing dynamic policies and settings in an orchestration framework for connected devices

Family Cites Families (210)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5495533A (en) 1994-04-29 1996-02-27 International Business Machines Corporation Personal key archive
US5787131A (en) 1995-12-22 1998-07-28 Ericsson Inc. Method and apparatus for mitigation of self interference using array processing
US6016402A (en) 1996-05-21 2000-01-18 Iomega Corporation Method for integrating removable media disk drive into operating system recognized as fixed disk type and modifying operating system to recognize as floppy disk type
US5897661A (en) 1997-02-25 1999-04-27 International Business Machines Corporation Logical volume manager and method having enhanced update capability with dynamic allocation of storage and minimal storage of metadata information
US6067199A (en) 1997-06-30 2000-05-23 Emc Corporation Method and apparatus for increasing disc drive performance
US5974503A (en) 1997-04-25 1999-10-26 Emc Corporation Storage and access of continuous media files indexed as lists of raid stripe sets associated with file names
US6076143A (en) 1997-09-02 2000-06-13 Emc Corporation Method and apparatus for managing the physical storage locations for blocks of information in a storage system to increase system performance
US6028725A (en) 1997-06-30 2000-02-22 Emc Corporation Method and apparatus for increasing disc drive performance
US5944783A (en) 1997-07-29 1999-08-31 Lincom Corporation Apparatus and method for data transfers through software agents using client-to-server and peer-to-peer transfers
US5966263A (en) 1997-08-01 1999-10-12 International Business Machines Corporation Method and apparatus to increase head/AE select robustness for a system using multiple head servo write
US6253300B1 (en) 1997-08-20 2001-06-26 Powerquest Corporation Computer partition manipulation during imaging
US6249866B1 (en) 1997-09-16 2001-06-19 Microsoft Corporation Encrypting file system and method
US6292790B1 (en) 1997-10-20 2001-09-18 James E. Krahn Apparatus for importing and exporting partially encrypted configuration data
US6170055B1 (en) 1997-11-03 2001-01-02 Iomega Corporation System for computer recovery using removable high capacity media
US6041386A (en) 1998-02-10 2000-03-21 International Business Machines Corporation Data sharing between system using different data storage formats
US6298446B1 (en) 1998-06-14 2001-10-02 Alchemedia Ltd. Method and system for copyright protection of digital images transmitted over networks
US8234477B2 (en) 1998-07-31 2012-07-31 Kom Networks, Inc. Method and system for providing restricted access to a storage medium
US9361243B2 (en) 1998-07-31 2016-06-07 Kom Networks Inc. Method and system for providing restricted access to a storage medium
US6438235B2 (en) 1998-08-05 2002-08-20 Hewlett-Packard Company Media content protection utilizing public key cryptography
US7380140B1 (en) 1998-12-30 2008-05-27 Spyrus, Inc. Providing a protected volume on a data storage device
GB9903490D0 (en) 1999-02-17 1999-04-07 Memory Corp Plc Memory system
US7451484B1 (en) 1999-05-27 2008-11-11 International Business Machines Corporation Method for enabling a program written in untrusted code to interact with a security subsystem of a hosting operating system
JP2000341263A (ja) 1999-05-27 2000-12-08 Sony Corp 情報処理装置及び方法
US6292317B1 (en) 1999-09-02 2001-09-18 Maxtor Corporation Method and apparatus for performing a flaw scan of a disk drive
US6665784B2 (en) 1999-09-03 2003-12-16 Roxio, Inc. Method for writing and reading data to and from a compact disc media
US7216251B2 (en) 2000-02-19 2007-05-08 Powerquest Corporation Computer imaging recovery without a working partition or a secondary medium
US6944742B1 (en) 2000-04-28 2005-09-13 Microsoft Corporation Compressed file system for non-volatile RAM
US7197638B1 (en) 2000-08-21 2007-03-27 Symantec Corporation Unified permissions control for remotely and locally stored files whose informational content may be protected by smart-locking and/or bubble-protection
US6789162B1 (en) 2000-10-17 2004-09-07 Sun Microsystems, Inc. Storage controller configured to select unused regions of a storage device for data storage according to head position
US6727896B2 (en) 2001-08-01 2004-04-27 Microsoft Corporation Correction of alignment and linearity errors in a stylus input system
US20030084298A1 (en) 2001-10-25 2003-05-01 Messerges Thomas S. Method for efficient hashing of digital content
US7171557B2 (en) 2001-10-31 2007-01-30 Hewlett-Packard Development Company, L.P. System for optimized key management with file groups
US7903549B2 (en) 2002-03-08 2011-03-08 Secure Computing Corporation Content-based policy compliance systems and methods
US7614077B2 (en) 2002-04-10 2009-11-03 International Business Machines Corporation Persistent access control of protected content
US7269612B2 (en) 2002-05-31 2007-09-11 International Business Machines Corporation Method, system, and program for a policy based storage manager
CA2496664C (en) 2002-08-23 2015-02-17 Exit-Cube, Inc. Encrypting operating system
AU2003265811A1 (en) 2002-08-26 2004-03-11 Guardednet, Inc. Determining threat level associated with network activity
US20060190984A1 (en) 2002-09-23 2006-08-24 Credant Technologies, Inc. Gatekeeper architecture/features to support security policy maintenance and distribution
KR100492800B1 (ko) 2002-11-12 2005-06-07 주식회사 하이닉스반도체 불휘발성 강유전체 메모리 제어 장치
US7181016B2 (en) 2003-01-27 2007-02-20 Microsoft Corporation Deriving a symmetric key from an asymmetric key for file encryption or decryption
US20090177664A9 (en) 2003-05-07 2009-07-09 Hotchkiss Lynette I System and Method for Regulatory Rules Repository Generation and Maintenance
AU2003229299A1 (en) 2003-05-14 2005-01-21 Threatguard, Inc. System and method for application-level virtual private network
US7360073B1 (en) 2003-05-15 2008-04-15 Pointsec Mobile Technologies, Llc Method and apparatus for providing a secure boot for a computer system
US6968973B2 (en) 2003-05-31 2005-11-29 Microsoft Corporation System and process for viewing and navigating through an interactive video tour
US7389273B2 (en) * 2003-09-25 2008-06-17 Scott Andrew Irwin System and method for federated rights management
GB2406403B (en) 2003-09-26 2006-06-07 Advanced Risc Mach Ltd Data processing apparatus and method for merging secure and non-secure data into an output data stream
US7730318B2 (en) 2003-10-24 2010-06-01 Microsoft Corporation Integration of high-assurance features into an application through application factoring
US20050120265A1 (en) 2003-12-02 2005-06-02 Pline Steven L. Data storage system with error correction code and replaceable defective memory
US7536536B1 (en) 2003-12-15 2009-05-19 American Megatrends, Inc. Method, system, and computer readable medium for updating and utilizing the contents of a non-essential region of a memory device
US7930540B2 (en) 2004-01-22 2011-04-19 Mcafee, Inc. Cryptographic policy enforcement
US7254669B2 (en) 2004-01-29 2007-08-07 International Business Machines Corporation Create virtual track buffers in NVS using customer segments to maintain newly written data across a power loss
US7559088B2 (en) 2004-02-04 2009-07-07 Netapp, Inc. Method and apparatus for deleting data upon expiration
WO2005078606A2 (en) 2004-02-11 2005-08-25 Storage Technology Corporation Clustered hierarchical file services
US20050262361A1 (en) 2004-05-24 2005-11-24 Seagate Technology Llc System and method for magnetic storage disposal
CN100353787C (zh) 2004-06-23 2007-12-05 华为技术有限公司 一种移动终端内存储的资料信息的安全保障方法
US7409623B2 (en) 2004-11-04 2008-08-05 Sigmatel, Inc. System and method of reading non-volatile computer memory
US7725703B2 (en) 2005-01-07 2010-05-25 Microsoft Corporation Systems and methods for securely booting a computer with a trusted processing module
US7308525B2 (en) 2005-01-10 2007-12-11 Sandisk Il Ltd. Method of managing a multi-bit cell flash memory with improved reliablility and performance
WO2006089092A2 (en) 2005-02-16 2006-08-24 Ziyad Dahbour Hierarchal data management
US8302178B2 (en) 2005-03-07 2012-10-30 Noam Camiel System and method for a dynamic policies enforced file system for a data storage device
US7277986B2 (en) 2005-03-30 2007-10-02 Emc Corporation Sector-edge cache
US7516478B2 (en) 2005-06-03 2009-04-07 Microsoft Corporation Remote management of mobile devices
US20070028231A1 (en) 2005-08-01 2007-02-01 International Business Machines Corporation System and method for start menu and application uninstall synchronization
US7602906B2 (en) 2005-08-25 2009-10-13 Microsoft Corporation Cipher for disk encryption
US7730327B2 (en) 2005-09-09 2010-06-01 Netapp, Inc. Managing the encryption of data
US7694134B2 (en) 2005-11-11 2010-04-06 Computer Associates Think, Inc. System and method for encrypting data without regard to application
TW200723093A (en) 2005-12-14 2007-06-16 Inventec Corp Method for establishing mirror storage equipment and synchronously storing equipment update data
US8286159B2 (en) 2005-12-22 2012-10-09 Alan Joshua Shapiro Method and apparatus for gryphing a data storage medium
US7594087B2 (en) 2006-01-19 2009-09-22 Sigmatel, Inc. System and method for writing data to and erasing data from non-volatile memory
JP4838610B2 (ja) 2006-03-24 2011-12-14 キヤノン株式会社 文書管理装置、文書管理方法、プログラム
CA2649449A1 (en) 2006-04-14 2007-10-25 Advanced Solutions, Inc. Method, apparatus and computer-readabele medium to provide customized classification of documents in a file management system
JP4749930B2 (ja) 2006-04-24 2011-08-17 株式会社日立製作所 計算機システム及び管理計算機とストレージ装置並びにボリューム割当確認方法
US20080010468A1 (en) 2006-06-06 2008-01-10 Ruiz R P Method and technique for enforcing transience and propagation constraints on data transmitted by one entity to another entity by means of data division and retention
US8307148B2 (en) 2006-06-23 2012-11-06 Microsoft Corporation Flash management techniques
US7711923B2 (en) 2006-06-23 2010-05-04 Microsoft Corporation Persistent flash memory mapping table
US8416954B1 (en) 2008-09-30 2013-04-09 Emc Corporation Systems and methods for accessing storage or network based replicas of encrypted volumes with no additional key management
GB0614515D0 (en) 2006-07-21 2006-08-30 Ibm An apparatus for managing power-consumption
US8015433B2 (en) 2006-09-13 2011-09-06 Hitachi Global Storage Technologies Netherlands B.V. Disk drive with nonvolatile memory for storage of failure-related data
US20080091613A1 (en) 2006-09-28 2008-04-17 Microsoft Corporation Rights management in a cloud
US8601598B2 (en) 2006-09-29 2013-12-03 Microsoft Corporation Off-premise encryption of data storage
US7890796B2 (en) 2006-10-04 2011-02-15 Emc Corporation Automatic media error correction in a file server
US8396214B2 (en) 2006-11-02 2013-03-12 SAP Portals Israel Limited Method and apparatus for centrally managed encrypted partition
US8135135B2 (en) 2006-12-08 2012-03-13 Microsoft Corporation Secure data protection during disasters
US7702973B2 (en) 2007-01-05 2010-04-20 Broadcom Corporation Modified defect scan over sync mark/preamble field
US8056143B2 (en) 2007-01-19 2011-11-08 Research In Motion Limited Selectively wiping a remote device
WO2008116346A1 (en) 2007-03-26 2008-10-02 Intel Corporation Enhanced digital right management framework
US8369411B2 (en) 2007-03-29 2013-02-05 James Au Intra-macroblock video processing
JP2008250779A (ja) 2007-03-30 2008-10-16 Hitachi Ltd 暗号機能を備えた記憶制御装置、データ暗号化方法及び記憶システム
US7864960B2 (en) 2007-05-31 2011-01-04 Novell, Inc. Techniques for securing content in an untrusted environment
JP4405533B2 (ja) 2007-07-20 2010-01-27 株式会社東芝 キャッシュ方法及びキャッシュ装置
US8452967B2 (en) 2007-08-31 2013-05-28 Microsoft Corporation Using flash storage device to prevent unauthorized use of software
US8554176B2 (en) 2007-09-18 2013-10-08 Qualcomm Incorporated Method and apparatus for creating a remotely activated secure backup service for mobile handsets
US8249257B2 (en) 2007-09-28 2012-08-21 Intel Corporation Virtual TPM keys rooted in a hardware TPM
CN101436192B (zh) 2007-11-16 2011-03-16 国际商业机器公司 用于优化针对垂直存储式数据库的查询的方法和设备
WO2009069043A2 (en) 2007-11-26 2009-06-04 Koninklijke Philips Electronics N.V. Method of managing data in communication network comprising at least a first and a second node
US8707385B2 (en) 2008-02-11 2014-04-22 Oracle International Corporation Automated compliance policy enforcement in software systems
US20090210267A1 (en) 2008-02-18 2009-08-20 Bryan David Fish System and method for automatically mapping security controls to subjects
US7962739B2 (en) 2008-02-25 2011-06-14 Lenovo (Singapore) Pte. Ltd. Recovering from hard disk errors that corrupt one or more critical system boot files
US7890664B1 (en) 2008-03-31 2011-02-15 Emc Corporation Methods and apparatus for non-disruptive upgrade by redirecting I/O operations
WO2009138928A1 (en) 2008-05-13 2009-11-19 Nxp B.V. Secure direct memory access
US7979626B2 (en) 2008-05-13 2011-07-12 Microsoft Corporation Flash recovery employing transaction log
US20090307563A1 (en) 2008-06-05 2009-12-10 Ibm Corporation (Almaden Research Center) Replacing bad hard drive sectors using mram
US8423792B2 (en) 2008-06-05 2013-04-16 International Business Machines Corporation Apparatus, system, and method for communication between a driver and an encryption source
US20090307759A1 (en) 2008-06-06 2009-12-10 Microsoft Corporation Temporary Domain Membership for Content Sharing
US8943551B2 (en) 2008-08-14 2015-01-27 Microsoft Corporation Cloud-based device information storage
US9432184B2 (en) 2008-09-05 2016-08-30 Vixs Systems Inc. Provisioning of secure storage for both static and dynamic rules for cryptographic key information
US8332604B2 (en) 2008-09-30 2012-12-11 Intel Corporation Methods to securely bind an encryption key to a storage device
US8411863B2 (en) 2008-10-03 2013-04-02 Microsoft Corporation Full volume encryption in a clustered environment
US8341430B2 (en) 2008-10-03 2012-12-25 Microsoft Corporation External encryption and recovery management with hardware encrypted storage devices
TW201015322A (en) 2008-10-08 2010-04-16 Ee Solutions Inc Method and system for data secured data recovery
US8387109B2 (en) 2008-10-23 2013-02-26 Microsoft Corporation Access control state determination based on security policy and secondary access control state
US8336079B2 (en) 2008-12-31 2012-12-18 Hytrust, Inc. Intelligent security control system for virtualized ecosystems
US20100306176A1 (en) 2009-01-28 2010-12-02 Digitiliti, Inc. Deduplication of files
KR100928467B1 (ko) 2009-02-02 2009-11-25 주식회사 파수닷컴 클립보드 보안 시스템 및 방법
US8341427B2 (en) 2009-02-16 2012-12-25 Microsoft Corporation Trusted cloud computing and services framework
TWI493950B (zh) 2009-02-24 2015-07-21 Fineart Technology Co Ltd 條件式電子文件權限控管系統及方法
US8046533B2 (en) 2009-03-10 2011-10-25 Emulex Design & Manufacturing Corporation System and method for sector remapping
TW201035754A (en) 2009-03-25 2010-10-01 Inventec Corp RAID processing method
US20100266132A1 (en) 2009-04-15 2010-10-21 Microsoft Corporation Service-based key escrow and security for device data
US8516264B2 (en) 2009-10-09 2013-08-20 Lsi Corporation Interlocking plain text passwords to data encryption keys
US8538919B1 (en) 2009-05-16 2013-09-17 Eric H. Nielsen System, method, and computer program for real time remote recovery of virtual computing machines
US20100299152A1 (en) 2009-05-20 2010-11-25 Mobile Iron, Inc. Selective Management of Mobile Devices in an Enterprise Environment
US8588422B2 (en) 2009-05-28 2013-11-19 Novell, Inc. Key management to protect encrypted data of an endpoint computing device
US8321688B2 (en) 2009-06-12 2012-11-27 Microsoft Corporation Secure and private backup storage and processing for trusted computing and data services
US8719486B2 (en) 2009-06-24 2014-05-06 Micron Technology, Inc. Pinning content in nonvolatile memory
US9141489B2 (en) 2009-07-09 2015-09-22 Uniloc Luxembourg S.A. Failover procedure for server system
US20110055559A1 (en) 2009-08-27 2011-03-03 Jun Li Data retention management
US8498418B2 (en) 2009-08-31 2013-07-30 International Business Machines Corporation Conversion of cryptographic key protection
US20110060915A1 (en) 2009-09-10 2011-03-10 International Business Machines Corporation Managing Encryption of Data
US8726407B2 (en) 2009-10-16 2014-05-13 Deviceauthority, Inc. Authentication of computing and communications hardware
EP2348449A3 (en) 2009-12-18 2013-07-10 CompuGroup Medical AG A computer implemented method for performing cloud computing on data being stored pseudonymously in a database
US20110154023A1 (en) 2009-12-21 2011-06-23 Smith Ned M Protected device management
KR101654774B1 (ko) 2010-02-08 2016-09-06 시게이트 테크놀로지 엘엘씨 데이터 저장 장치와 저장 매체 액세스 방법 및 그에 대한 저장 매체
US9703586B2 (en) 2010-02-17 2017-07-11 Microsoft Technology Licensing, Llc Distribution control and tracking mechanism of virtual machine appliances
WO2011109865A1 (en) 2010-03-09 2011-09-15 Lock Box Pty Ltd Method and system for sharing encrypted content
US8930713B2 (en) 2010-03-10 2015-01-06 Dell Products L.P. System and method for general purpose encryption of data
US8375437B2 (en) 2010-03-30 2013-02-12 Microsoft Corporation Hardware supported virtualized cryptographic service
FR2958478B1 (fr) 2010-04-02 2012-05-04 Sergio Loureiro Procede de securisation de donnees et/ou des applications dans une architecture informatique en nuage
US8433901B2 (en) 2010-04-07 2013-04-30 Apple Inc. System and method for wiping encrypted data on a device having file-level content protection
US20110264925A1 (en) 2010-04-23 2011-10-27 Russo Leonard E Securing data on a self-encrypting storage device
US8935384B2 (en) 2010-05-06 2015-01-13 Mcafee Inc. Distributed data revocation using data commands
CN103262024B (zh) 2010-05-09 2015-05-13 思杰系统有限公司 用于强制应用将数据存储在安全的存储位置中的方法和系统
US8458490B2 (en) 2010-05-28 2013-06-04 Dell Products, Lp System and method for supporting full volume encryption devices in a client hosted virtualization system
US8625802B2 (en) 2010-06-16 2014-01-07 Porticor Ltd. Methods, devices, and media for secure key management in a non-secured, distributed, virtualized environment with applications to cloud-computing security and management
US20120017095A1 (en) 2010-07-19 2012-01-19 Coreguard Software Service for Encrypting and Decrypting Data
EP2599027B1 (en) 2010-07-28 2017-07-19 Nextlabs, Inc. Protecting documents using policies and encryption
US8539245B2 (en) 2010-08-06 2013-09-17 Intel Corporation Apparatus and method for accessing a secure partition in non-volatile storage by a host system enabled after the system exits a first instance of a secure mode
US8385014B2 (en) 2010-10-11 2013-02-26 Lsi Corporation Systems and methods for identifying potential media failure
US8661193B1 (en) 2010-10-29 2014-02-25 Western Digital Technologies, Inc. Disk drive with partial sector management
US8452982B2 (en) * 2010-10-29 2013-05-28 Adobe Systems Incorporated Methods and systems for migrating content licenses
EP2448303B1 (en) 2010-11-01 2014-02-26 BlackBerry Limited Method and system for securing data of a mobile communications device
US8352749B2 (en) 2010-12-17 2013-01-08 Google Inc. Local trusted services manager for a contactless smart card
US8924739B2 (en) 2011-01-05 2014-12-30 Apple Inc. System and method for in-place encryption
US20120239618A1 (en) 2011-03-16 2012-09-20 I O Interconnect, Ltd. File sharing mechanism
US8966191B2 (en) 2011-03-18 2015-02-24 Fusion-Io, Inc. Logical interface for contextual storage
US8769305B2 (en) 2011-03-21 2014-07-01 Moncana Corporation Secure execution of unsecured apps on a device
EP2509275A1 (en) 2011-04-04 2012-10-10 Buntinx Method and system for authenticating entities by means of mobile terminals
US8527561B1 (en) 2011-05-17 2013-09-03 Crossroads Systems, Inc. System and method for implementing a networked file system utilizing a media library
US9141779B2 (en) 2011-05-19 2015-09-22 Microsoft Technology Licensing, Llc Usable security of online password management with sensor-based authentication
WO2012167392A2 (en) 2011-06-06 2012-12-13 ETH Zürich Method and devices for secure deletion of data in a log structured file system
US10496824B2 (en) 2011-06-24 2019-12-03 Microsoft Licensing Technology, LLC Trusted language runtime on a mobile platform
EP2562675A1 (fr) 2011-08-19 2013-02-27 Gemalto SA Procédé de cloisonnement matériel des ressources d'un système informatique sécurisé
US8689279B2 (en) 2011-08-30 2014-04-01 Microsoft Corporation Encrypted chunk-based rapid data encryption policy compliance
US8874935B2 (en) 2011-08-30 2014-10-28 Microsoft Corporation Sector map-based rapid data encryption policy compliance
US8856553B2 (en) 2011-09-12 2014-10-07 Microsoft Corporation Managing self-encrypting drives in decentralized environments
FR2980285B1 (fr) 2011-09-15 2013-11-15 Maxim Integrated Products Systemes et procedes de gestion de cles cryptographiques dans un microcontroleur securise
US10165007B2 (en) 2011-09-15 2018-12-25 Microsoft Technology Licensing, Llc Securing data usage in computing devices
US8479021B2 (en) 2011-09-29 2013-07-02 Pacid Technologies, Llc Secure island computing system and method
US8695060B2 (en) 2011-10-10 2014-04-08 Openpeak Inc. System and method for creating secure applications
US9137262B2 (en) 2011-10-11 2015-09-15 Citrix Systems, Inc. Providing secure mobile device access to enterprise resources using application tunnels
US20140053234A1 (en) 2011-10-11 2014-02-20 Citrix Systems, Inc. Policy-Based Application Management
US20140032733A1 (en) 2011-10-11 2014-01-30 Citrix Systems, Inc. Policy-Based Application Management
US9100235B2 (en) 2011-11-07 2015-08-04 At&T Intellectual Property I, L.P. Secure desktop applications for an open computing platform
US10291658B2 (en) 2011-11-09 2019-05-14 Microsoft Technology Licensing, Llc Techniques to apply and share remote policies on mobile devices
EP2788911A4 (en) * 2011-12-08 2015-07-29 Intel Corp METHOD AND DEVICE FOR POLICY-BASED JOINT CONTENT USE IN A PEER TO PEER WAY WITH ROOT-OF-TRUST ON HARDWARE BASE
US9245143B2 (en) * 2012-02-09 2016-01-26 Microsoft Technology Licensing, Llc Security policy for device data
US20130208893A1 (en) 2012-02-13 2013-08-15 Eugene Shablygin Sharing secure data
US8875298B2 (en) 2012-02-16 2014-10-28 Nec Laboratories America, Inc. Method for scalable analysis of android applications for security vulnerability
CN102646077B (zh) 2012-03-28 2016-06-15 山东超越数控电子有限公司 一种基于可信密码模块的全盘加密的方法
US8914634B2 (en) * 2012-04-10 2014-12-16 Western Digital Technologies, Inc. Digital rights management system transfer of content and distribution
US9253209B2 (en) 2012-04-26 2016-02-02 International Business Machines Corporation Policy-based dynamic information flow control on mobile devices
US9202083B2 (en) 2012-05-22 2015-12-01 Partnet, Inc. Systems and methods for verifying uniqueness in anonymous authentication
EP2680487B1 (en) 2012-06-29 2019-04-10 Orange Secured cloud data storage, distribution and restoration among multiple devices of a user
US20140019753A1 (en) 2012-07-10 2014-01-16 John Houston Lowry Cloud key management
US10079678B2 (en) 2012-07-24 2018-09-18 Intel Corporation Providing access to encrypted data
US20140075493A1 (en) 2012-09-12 2014-03-13 Avaya, Inc. System and method for location-based protection of mobile data
US10268775B2 (en) 2012-09-17 2019-04-23 Nokia Technologies Oy Method and apparatus for accessing and displaying private user information
US20140109176A1 (en) 2012-10-15 2014-04-17 Citrix Systems, Inc. Configuring and providing profiles that manage execution of mobile applications
US8875304B2 (en) 2012-11-08 2014-10-28 International Business Machines Corporation Application and data removal system
US9454670B2 (en) 2012-12-03 2016-09-27 International Business Machines Corporation Hybrid file systems
US8997197B2 (en) 2012-12-12 2015-03-31 Citrix Systems, Inc. Encryption-based data access management
CN103092938A (zh) 2013-01-07 2013-05-08 浙江鸿程计算机系统有限公司 一种智能清理Android手机SD卡垃圾文件的方法
CN103092664B (zh) 2013-02-07 2016-08-03 珠海市君天电子科技有限公司 一种安卓系统的数据文件的处理方法和装置
US9547771B2 (en) 2013-02-12 2017-01-17 Amazon Technologies, Inc. Policy enforcement with associated data
US9892284B2 (en) 2013-03-11 2018-02-13 Lantiq Beteiligungs-GmbH & Co. KG Trusted execution thread in an embedded multithreaded system
US20140344570A1 (en) * 2013-05-20 2014-11-20 Microsoft Corporation Data Protection For Organizations On Computing Devices
US9147084B2 (en) 2013-05-31 2015-09-29 Openpeak Inc. Method and system for isolating secure communication events from a non-secure application
US9369289B1 (en) 2013-07-17 2016-06-14 Google Inc. Methods and systems for performing secure authenticated updates of authentication credentials
US9465947B2 (en) 2013-08-05 2016-10-11 Samsung Sds America, Inc. System and method for encryption and key management in cloud storage
US9167002B2 (en) 2013-08-15 2015-10-20 Microsoft Technology Licensing, Llc Global platform health management
CN103577567A (zh) 2013-10-29 2014-02-12 广东欧珀移动通信有限公司 一种Android系统卸载应用删除垃圾文件的方法
CN103500116A (zh) 2013-10-29 2014-01-08 中科创达软件股份有限公司 一种清除应用程序生成的数据的方法及系统
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
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
WO2016100095A1 (en) 2014-12-15 2016-06-23 Good Technology Corporation Secure storage
US9921976B2 (en) 2015-03-25 2018-03-20 Vera Access files
US9853820B2 (en) 2015-06-30 2017-12-26 Microsoft Technology Licensing, Llc Intelligent deletion of revoked data
US9900325B2 (en) 2015-10-09 2018-02-20 Microsoft Technology Licensing, Llc Passive encryption of organization data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130124859A1 (en) 2009-05-29 2013-05-16 Florian Pestoni System and method for digital rights management with authorized device groups
US8726343B1 (en) 2012-10-12 2014-05-13 Citrix Systems, Inc. Managing dynamic policies and settings in an orchestration framework for connected devices

Also Published As

Publication number Publication date
RU2017115745A (ru) 2018-11-07
AU2015343356A1 (en) 2017-05-11
CA2965695A1 (en) 2016-05-12
BR112017007146A2 (pt) 2017-12-19
CN107113286B (zh) 2020-02-28
US9900295B2 (en) 2018-02-20
MX2017005801A (es) 2017-08-02
KR20170083039A (ko) 2017-07-17
EP3216188B1 (en) 2019-08-07
WO2016073397A1 (en) 2016-05-12
US20160127327A1 (en) 2016-05-05
CN107113286A (zh) 2017-08-29
JP2017535896A (ja) 2017-11-30
EP3216188A1 (en) 2017-09-13

Similar Documents

Publication Publication Date Title
KR102330538B1 (ko) 디바이스를 통한 콘텐츠 와이핑 동작 로밍 기법
EP3195555B1 (en) Secure key management for roaming protected content
JP6571250B2 (ja) ある装置を使用して別の装置をアンロックする方法
KR102113440B1 (ko) 디바이스들에 대한 동적 그룹 멤버십
US9576149B2 (en) Methods, systems and computer program product for providing verification code recovery and remote authentication
TWI578749B (zh) 用於遷移金鑰之方法及設備
US20160036811A1 (en) Device and method of setting or removing security on content
EP3565174B1 (en) Access management system, access management method, and program
US11456872B2 (en) Offline protection of secrets
US20160085861A1 (en) Private cloud api
US11328080B2 (en) Cryptographic key management
WO2020155812A1 (zh) 一种数据存储方法、装置及设备
US10187360B2 (en) Method, system, server, client, and application for sharing digital content between communication devices within an internet network
JP5678150B2 (ja) ユーザ端末、鍵管理システム、及びプログラム
US20160210464A1 (en) Performing an operation on a data storage
KR102005534B1 (ko) 스마트 기기 기반의 원격 접근 제어 및 멀티 팩터 인증 시스템

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant