[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR102071087B1 - 장치 데이터를 위한 보안 정책 - Google Patents

장치 데이터를 위한 보안 정책 Download PDF

Info

Publication number
KR102071087B1
KR102071087B1 KR1020147022186A KR20147022186A KR102071087B1 KR 102071087 B1 KR102071087 B1 KR 102071087B1 KR 1020147022186 A KR1020147022186 A KR 1020147022186A KR 20147022186 A KR20147022186 A KR 20147022186A KR 102071087 B1 KR102071087 B1 KR 102071087B1
Authority
KR
South Korea
Prior art keywords
key
security
data
recovery
decryption key
Prior art date
Application number
KR1020147022186A
Other languages
English (en)
Other versions
KR20140123522A (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 KR20140123522A publication Critical patent/KR20140123522A/ko
Application granted granted Critical
Publication of KR102071087B1 publication Critical patent/KR102071087B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/88Detecting or preventing theft or loss
    • 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)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

장치 데이터를 위한 보안 정책을 제공하기 위한 기법이 설명된다. 구현예에서, 장치 상의 데이터는 암호화된 형태로 저장된다. 암호화된 데이터가 무허가 엔티티에 의해 복호화되는 것을 막기 위해서, 장치 데이터에 대해 무허가 액세스를 얻으려는 시도가 탐지되면 상기 기법에 의해 복호화 키가 차단될 수 있다. 구현예에서, 복호화 키를 삭제하기, 메모리에서 암호화 키를 덮어쓰기, 암호화 키를 암호화하기와 같은 다양한 방식으로 복호화 키를 차단시킬 수 있다. 실시예에 따르면 차단된 복호화 키가 복구 경험을 통해 복구될 수 있다. 예를 들어, 복구 경험은 복구 비밀번호를 요청하는 인증 절차를 포함할 수 있다. 올바른 복구 비밀번호가 제공되는 경우, 차단된 복호화 키가 제공될 수 있다.

Description

장치 데이터를 위한 보안 정책{SECURITY POLICY FOR DEVICE DATA}
요즘의 사람들은 업무 관련 태스크, 개인 활동, 여가 활동 등을 비롯한 다양한 태스크들을 실행하는 데 사용 가능한 매우 다양한 장치들에 액세스할 수 있다. 일부 장치들이 업무 관련 목적과 같이 특수 목적 전용인 반면, 많은 장치들이 “다목적(mixed-use)” 장치로 여겨진다. 예를 들어, 사적인 통화 걸기, 사진 찍기, 메시지 전송 등을 비롯한 사적인 태스크를 실행하는 데 개개인의 스마트폰을 사용할 수 있다. 업무 관련 이메일 전송 및 수신, 업무 문서 읽기 및 편집, 업무 연락처 관리 등을 비롯한 업무 관련 활동을 하는 데에도 스마트폰을 사용할 수 있다.
이런 다목적 장치의 결과로 다양한 유형의 데이터가 특정 장치에 저장될 수 있다. 예를 들어, 개개인이 스마트폰을 사용하여 문서를 볼 수 있도록 업무 관련 문서가 스마트폰에 로컬로 저장될 수 있다. 장치에 로컬로 데이터를 저장함으로써 개개인이 데이터에 편리하게 액세스할 수 있지만, 상당한 보안 위험이 생길 수 있다. 예를 들어, 장치에 저장된 민감한 데이터가 그 장치를 무허가 소유하게 된 사람에게 노출될 가능성이 있다.
장치에 저장된 데이터를 보호하는 일부 기법으로는 단순히 장치에서 데이터를 지움으로써 데이터에 대한 무허가 액세스 시도의 알림에 대응하는 것이다. 이는 어떤 상황에서는 무허가 액세스로부터 데이터를 효율적으로 보호할 수 있지만, 중요한 데이터의 손실이 생길 수 있다. 예를 들어, 아이가 게임을 하기 위해 부모의 전화에 액세스하려고 시도하는 시나리오를 생각해보자. 제한된 재시도 로직 또는 정책 강제를 위한 기업 서버와 같이 전화와 관련된 보안 기능은 어떤 사람이 민감함 데이터에 대해 무허가 액세스를 얻으려고 시도하는 것으로 이런 신호를 해석할 수 있다. 이에 대응하여, 보안 기능이 전화 상의 데이터를 지울 수 있다. 이는 중요한 데이터의 손실은 물론, 장치를 기능 상태로 돌아오게 하기 위해 재구성 프로세스가 구현되는 데 상당한 불편을 야기시킬 수 있다.
본 요약은 아래의 상세한 설명에서 추가로 기술되는 개념들의 선택을 단순화된 형식으로 소개하기 위해 제공되었다. 본 요약은 특허청구된 대상의 핵심 특성 또는 중요 특성을 식별하기 위한 것이 아니며, 특허청구된 대상의 범위를 결정하기 위해 따로 사용되기 위한 것도 아니다.
장치 데이터를 위한 보안 정책을 제공하는 기법이 설명된다. 적어도 일부 구현예에서, 장치에 있는 데이터가 암호화된(encrypted) 형태로 저장된다. 장치의 기능(예컨대, 애플리케이션)에서 이용하기 위해, 암호화된 데이터가 저장 장치로부터 판독되어, 복호화(decryption) 키를 사용하여 복호화되고, 그 기능에 제공된다. 암호화된 데이터를 무허가 엔티티에 의한 복호화로부터 보호하기 위해, 장치에 대한 무허가 액세스를 얻으려는 시도가 탐지되는 경우 기법에 따라 복호화 키를 차단시킬 수 있다(occlude). 구현예에서, 복호화 키를 삭제하기, 메모리에서 암호화 키를 덮어쓰기(overwrite), 암호화 키를 암호화하기와 같은 다양한 방식으로 복호화 키를 차단시킬 수 있다.
실시예에서는 복구 경험(recovery experience)을 통해 복호화 키를 복구시킬 수 있다. 예를 들어, 복구 경험은 사용자로부터 고급 인증 정보를 요청하는 인증 절차(authentication procedure)를 포함할 수 있다. 이런 고급 인증 정보는 허가된 사용자가 검색할 수 있는 높은 엔트로피 복구 비밀번호를 포함할 수 있다. 사용자가 올바른 비밀번호를 제공한 경우, 복구 경험에 의해 차단된 복호화 키가 복구될 수 있고, 예를 들어, 차단 해제될 수 있다(de-occluded). 구현예에서, 차단된 복호화 키가 복구된 후에, 사용자는 장치 로그온 경험의 일부처럼 장치에 표준 인증 정보를 제공할 수 있다. 인증이 성공하면, 장치의 사용자 및/또는 기능이 데이터에 “그대로(in the clear)” 액세스할 수 있도록, 복구된 복호화 키를 사용하여 장치의 데이터를 복호화할 수 있다.
실시예는 무허가 액세스로부터 장치에 저장된 데이터를 보호하기 위해 이용할 수 있는 보안 정책을 제공한다. 예를 들어, 보안 정책은 특정 조건이 존재하는 경우 장치의 복호화 키가 차단되어야 함을 명시할 수 있다. 이런 조건의 예시는 장치 로그온 시도의 성공하지 못한 횟수, 신뢰할 수 없는 장치를 통한 암호화된 데이터로의 액세스 시도, 복호화 키 및/또는 보안 관련 크리덴셜(credential)의 명시적인 취소(revocation), 특정 시간에 장치의 “체크인” 실패 등에 관련될 수 있다.
상세한 설명은 첨부 도면을 참조하여 기술된다. 도면에서, 도면 부호의 가장 왼쪽 숫자(들)는 상기 도면 부호가 처음 등장한 도면을 식별한다. 명세서와 도면의 서로 다른 사례에서의 동일한 도면 부호의 사용은 유사하거나 동일한 아이템을 가리킬 수 있다.
도 1은 본원에서 논의된 기법을 이용하여 동작할 수 있는 예시적인 구현예에서의 환경을 도시한다.
도 2는 하나 이상의 실시예에 따른 방법의 단계들을 설명하는 순서도이다.
도 3은 하나 이상의 실시예에 따른 방법의 단계들을 설명하는 순서도이다.
도 4는 하나 이상의 실시예에 따른 방법의 단계들을 설명하는 순서도이다.
도 5는 도 1과 관련하여 설명한 바와 같은 예시적인 시스템 및 컴퓨팅 장치를 도시하며, 이들은 본원에 기술된 기법들의 실시예를 구현하도록 구성된다.
개관
장치 데이터를 위한 보안 정책을 제공하는 기법이 설명된다. 적어도 일부 구현예에서, 장치에 있는 데이터가 암호화된 형태로 저장된다. 장치의 기능(예컨대, 애플리케이션)에서 이용하기 위해, 암호화된 데이터가 저장 장치로부터 판독되어, 복호화 키를 사용하여 복호화되고, 그 기능에 제공된다. 암호화된 데이터를 무허가 엔티티에 의한 복호화로부터 보호하기 위해, 장치에 대한 무허가 액세스를 얻으려는 시도가 탐지되는 경우 기법에 따라 복호화 키를 차단시킬 수 있다. 구현예에서, 복호화 키를 삭제하기, 메모리에서 암호화 키를 덮어쓰기, 암호화 키를 암호화하기와 같은 다양한 방식으로 복호화 키를 차단시킬 수 있다.
실시예에서는 복구 경험을 통해 복호화 키를 복구시킬 수 있다. 예를 들어, 복구 경험은 사용자로부터 고급 인증 정보를 요청하는 인증 절차를 포함할 수 있다. 이런 고급 인증 정보는 허가된 사용자가 검색할 수 있는 높은 엔트로피 복구 비밀번호를 포함할 수 있다. 사용자가 올바른 비밀번호를 제공한 경우, 복구 경험에 의해 차단된 복호화 키가 복구될 수 있고, 예를 들어, 차단 해제될 수 있다. 구현예에서, 차단된 복호화 키가 복구된 후에, 사용자는 장치 로그온 경험의 일부처럼 장치에 표준 인증 정보를 제공할 수 있다. 인증이 성공하면, 장치의 사용자 및/또는 기능이 데이터에 “그대로” 액세스할 수 있도록, 복구된 복호화 키를 사용하여 장치의 데이터를 복호화할 수 있다.
실시예는 무허가 액세스로부터 장치에 저장된 데이터를 보호하기 위해 이용할 수 있는 보안 정책을 제공한다. 예를 들어, 보안 정책은 특정 조건이 존재하는 경우 장치의 복호화 키가 차단되어야 함을 명시할 수 있다. 이런 조건의 예시는 장치 로그온 시도의 성공하지 못한 횟수, 신뢰할 수 없는 장치를 통한 암호화된 데이터로의 액세스 시도, 복호화 키 및/또는 보안 관련 크리덴셜의 명시적인 취소, 특정 시간에 장치의 “체크인” 실패 등에 관련될 수 있다.
하나 이상의 실시예에 따른 예시적인 구현예의 개관을 제공하였으며, 이제부터는 예시적인 구현예가 이용될 수 있는 예시적인 환경을 고려해보자.
예시적인 환경
도 1은 장치 데이터를 위한 보안 정책을 제공하는 기법을 이용하여 동작할 수 있는 예시적인 구현예에서의 환경(100)을 도시한다. 환경(100)은, 비제한적인 예를 들어, 데스크탑 컴퓨터, 휴대용 컴퓨터, PDA(personal digital assistant), 모바일 폰, 태블릿 컴퓨터와 같은 핸드헬드 컴퓨터 등을 비롯한 임의의 적절한 컴퓨팅 장치로 구현될 수 있는 클라이언트 장치(102)를 포함한다. 클라이언트 장치(102)의 여러 다른 예시가 도 5에 도시되어 있고 이하에서 설명된다.
도 1의 클라이언트 장치(102)는 클라이언트 장치(102)를 통해 다양한 태스크를 실행하기 위한 기능을 나타내는 애플리케이션들(104)을 포함하는 것으로 도시되어 있다. 이런 태스크의 예로 웹 브라우징, 워드 프로세싱, 이메일, 컨텐츠 소비(예컨대, 비디오 및/또는 오디오), 소셜 네트워킹 등을 포함한다. 예를 들어, 애플리케이션들(104)은 네트워크(106)를 통해 탐색하도록 구성된 기능을 나타내는 웹 브라우저를 포함할 수 있다. 네트워크(106)는 인터넷, WAN(wide area network), LAN(local area network), 무선 네트워크, 공공 전화 네트워크, 인트라넷 등을 비롯한 매우 다양한 구성을 포함 및/또는 가정할 수 있다. 게다가, 단일 네트워크(106)가 도시되어 있지만, 상기 네트워크(106)는 다수의 네트워크를 포함하도록 구성될 수 있다. 예를 들어, 애플리케이션들(104)은 네트워크 자원으로부터 이용 가능한 컨텐츠와의 인터랙션은 물론, 네트워크 자원으로의 데이터 전달, 예를 들어, 다운로드 및 업로드 실행을 위해 네트워크(106)를 통해 탐색하도록 구성될 수 있다.
또한 암호화된 데이터(108)가 클라이언트 장치(102)의 일부로서 도시되어 있으며, 이 데이터는 여러 다른 데이터 암호화 기법을 사용하여 암호화될 수 있다. 예를 들어, 암호화된 데이터(108)는 클라이언트 장치(102)에 있는 임의의 형태의 컴퓨터 판독가능 저장 매체에 저장될 수 있다. 이런 컴퓨터 판독가능 저장 매체의 예시는 아래에서 도 5와 관련하여 논의된다. 구현예에서, 암호화된 데이터(108)는 컨텐츠(이미지, 비디오, 오디오 등), 문서, 연락처, 이메일 등을 비롯한 사용자 및/또는 기업 데이터를 포함할 수 있다. 암호화된 데이터(108)는 운영 체제(OS) 데이터, 클라이언트 장치(102)에 관한 시스템 파일, 애플리케이션 파일(예컨대, 실행 파일) 등을 비롯한 시스템 데이터 역시 포함할 수 있다.
클라이언트 장치(102)는 클라이언트 장치(102)에 관한 다양한 보안 관련 태스크들을 관리 및/또는 실행하는 기능을 나타내는 보안 모듈(110)을 더 포함한다. 예를 들어, 보안 모듈(110)은 클라이언트 장치(102)의 데이터가 암호화된 데이터(108)의 일부로서 저장될 수 있도록 이 데이터를 암호화하도록 구성될 수 있다. 다양한 유형의 데이터가 보안 모듈(110)에 의해 암호화될 수 있고, 암호화된 데이터(108)의 일부로서 포함될 수 있으며, 그 예시들이 앞서 제공되었다.
보안 모듈(110)은 암호화된 데이터(108)를 복호화하기 위해 이용할 수 있는 데이터의 일부를 나타내는 적어도 하나의 복호화 키(112)를 포함한다. 예를 들어, 보안 모듈(110)은 데이터가 사람이 인식할 수 있는 형태(예컨대, 사람이 판독가능한 형태), 태스크를 수행하기 위해 애플리케이션들(104)에서 사용될 수 있는 형태, 및/또는 시스템-레벨 동작 실행의 일부로서 클라이언트 장치(102)가 이용할 수 있는 형태가 되도록 하기 위해 복호화 키(112)를 사용하여 암호화된 데이터(108)를 복호화할 수 있다.
보안 모듈(110)의 일부로서 보안 절차를 트리거할 수 있는 조건 및/또는 이벤트를 나타내는 보안 정책(114)이 더 포함된다. 예를 들어, 보안 모듈(110)이 보안 정책(114) 중 어느 하나의 위반을 탐지하면, 보안 모듈(110)은 복호화 키(112)가 차단되게 할 수 있다. 보안 정책(114)의 예시는 아래에서 상세하게 논의된다.
보안 모듈(110)은 클라이언트 장치(102)의 상태 정보를 모니터링 및/또는 보고하는 기능을 나타내는 장치 상태 모듈(116)을 더 포함한다. 예를 들어, 하나 이상의 보안 정책(114)이 클라이언트 장치(102)에 대한 특정 상태 조건을 명시할 수 있다. 장치 상태 모듈(116)이 특정 상태 조건의 변화를 탐지하면, 장치 상태 모듈(116)은 정책 모듈(114) 중 하나가 위반되었다는 통지를 제공할 수 있다.
예를 들어, 장치 상태 모듈(116)은 프로세서, 메모리 장치, 입/출력 장치 등을 비롯한 클라이언트 장치(102)의 다양한 컴포넌트들에 대한 식별자를 추적할 수 있다. 따라서, 장치 상태 모듈(116)은 클라이언트 장치(102)에 대해 알려진 컴포넌트들의 프로필을 유지할 수 있다. 모르는 컴포넌트가 클라이언트 장치(102)와의 인터랙션을 시도하고 있다고 장치 상태 모듈(116)에서 탐지하면, 장치 상태 모듈(116)은 보안 정책(114) 중 어느 하나의 위반을 트리거할 수 있다. 예를 들어, 모르는 중앙 처리 장치(CPU) 또는 신뢰할 수 없는 CPU 구성이 암호화된 데이터(108)와 같이 클라이언트 장치(102)에 저장된 데이터에 액세스하려고 시도하고 있다고 장치 상태 모듈(116)에서 탐지할 수 있다. 이에 대한 응답으로, 보안 모듈(110)은 모르는 CPU가 복호화 키(112)에 액세스하여 암호화된 데이터(108)를 복호화하는 것을 막도록 복호화 키(112)를 차단시킬 수 있다. 그 밖의 상태 관련 정보의 예시들은 아래에서 제시된다.
차단된 보안 키를 복구 시킬 수 있는 기능을 나타내는 복구 모듈(118)이 클라이언트 장치(102)의 일부로서 더 포함된다. 예를 들어, 보안 정책(114)의 어느 하나의 위반에 대한 응답으로 복호화 키(112)가 차단되면, 복구 모듈(118)은 복호화 키(112)를 복구시킬 수 있는, 예컨대, 차단 해제시킬 수 있는 복구 절차를 시작할 수 있다. 복구 절차의 상세한 예시가 아래에서 논의된다.
환경(100)은 엔티티의 보안 절차를 관리 및/또는 실행하는 기능을 나타내는 보안 서비스(120)를 더 포함한다. 보안 서비스는 네트워크(106)를 통해 클라이언트 장치(102)와 통신할 수 있는 원격 서비스로 구현될 수 있다. 예를 들어, 보안 서비스(120)는 클라이언트 장치(102)의 사용자와 관련된 기업 엔티티(예컨대, 사업)의 보안 절차를 관리할 수 있다. 보안 서비스(120)는 다양한 아이템의 보안 상태를 추적하는 적어도 하나의 보안 상태 목록(122)을 포함한다. 예를 들어, 보안 상태 목록(122)은 클라이언트 장치, 보안 키, 디지털 인증서, 크리덴셜 등의 특정 아이템의 신뢰할만한 상태가 취소되었는지 여부를 명시할 수 있다.
예를 들어, 보안 서비스(120)는 클라이언트 장치(102)가 무허가 개인의 소유에 있을 수 있다는 알림을 수신할 수 있다. 예를 들어, 클라이언트 장치(102)의 허가된 사용자가 클라이언트 장치(102)가 분실 또는 도난되었음을 보안 서비스(120)에게 통지할 수 있다. 보안 서비스(120)는 클라이언트 장치(102)의 신뢰할만한 상태를 취소시킬 수 있고, 이는 보안 상태 목록(122)에 기록될 수 있다. 예를 들어, 보안 서비스(120)가 복호화 키(112)를 취소할 수 있고, 이는 보안 상태 목록(122)에서 취소된 것으로 표시될 수 있다. 클라이언트 장치(102)가 보안 서비스(120)에서 체크인할 때, 클라이언트 장치(102)는 보안 상태 목록(122)에 액세스하여 복호화 키(112)가 취소되었음을 탐지할 수 있다. 이에 대응하여, 보안 모듈(110)은 복호화 키(112)를 차단시킬 수 있다. 그 대신에 또는 추가적으로, 보안 서비스(120)는 보안 상태 목록(122)의 복사본을 클라이언트 장치(102)로 밀어넣는(push) 등, 취소된 아이템의 통지를 클라이언트 장치(102)에 밀어넣을 수 있다.
본원에 설명된 기법이 동작할 수 있는 예시적인 환경을 설명하였으며, 이제부터는 하나 이상의 실시예에 따른 예시적인 절차의 논의를 살펴보자.
예시적인 절차
다음의 논의는 하나 이상의 실시예에 따라 장치 데이터를 위한 보안 정책을 제공하는 예시적인 절차를 설명한다. 다음의 논의의 일부에서는, 도 1의 환경(100)을 참조할 것이다.
도 2는 하나 이상의 실시예에 따른 방법의 단계들을 설명하는 순서도이다. 구현예에서, 상기 방법은 보안 키를 보호하기 위해 장치를 구성하는 예시적인 방식을 설명한다.
단계(200)에서 장치의 암호화된 데이터를 복호화하는 데 사용되도록 구성된 복호화 키를 생성한다. 예를 들어, 보안 모듈(110)은 암호화된 데이터(108)를 복호화하는 데 사용될 수 있는 복호화 키(112)를 생성할 수 있다. 단계(202)에서 복호화 키가 차단된 경우 복호화 키를 복구하는 데 사용될 수 있는 복구 키를 생성한다. 예를 들어, 보안 정책의 위반에 대한 응답으로 복호화 키를 차단하기 위해 복호화 키가 암호화될 수 있다. 차단된 복호화 키를 복구하기 위해 이용 가능한 복구 절차의 일부로서 복구 키가 제공될 수 있으며, 이는 아래에서 보다 상세하게 논의된다.
도 3은 하나 이상의 실시예에 따른 방법의 단계들을 설명하는 순서도이다. 구현예에서, 상기 방법은 무허가 액세스로부터 데이터를 보호하는 예시적인 방식을 설명한다.
단계(300)에서 장치를 위한 보안 정책의 위반을 탐지한다. 예를 들어, 보안 모듈(110)은 하나 이상의 보안 정책(114)의 위반을 탐지할 수 있다. 예시적인 보안 정책은 다음 섹션에서 논의된다. 구현예에서, 특정 보안 정책은 명시된(explicitly-stated) 정책에 기반하지 않고, 보안 위험이 될 가능성이 있는 이벤트나 조건의 해석에 기반할 수 있다.
단계(302)는 장치의 암호화된 데이터를 복호화하는 데 사용되도록 구성된 복호화 키를 차단한다. 예를 들어, 클라이언트 장치(102)를 위한 보안 정책 위반의 탐지에 대한 응답으로 보안 모듈(110)은 복호화 키(112)를 차단할 수 있다.
구현예에서, 여러 다른 기법을 사용하여 보안 키를 차단할 수 있다. 예를 들어, 보안 키를 저장하는 메모리 부분을 지움으로써 및/또는 랜덤 값을 가지고 덮어씀으로써 보안 키를 차단할 수 있다.
그 대신에, 예를 들어, 중간 단계(intermediated) 보안 키를 사용하여 보안 키를 암호화함으로써 보안 키를 차단할 수 있다. 따라서, 암호화된 보안 키를 복구하기 위해, 사용자는 중간 단계 보안 키 및/또는 중간 단계 키와 관련된 개인키(private key)를 제공할 수 있다. 예를 들어, 사용자는 임의의 형태의 입력 메커니즘을 사용하여 중간 단계 보안 키를 입력할 수 있다. 그 대신에 또는 추가적으로, 사용자는 중간 단계 보안 키를 검색할 수 있는 원격 및/또는 보호된 저장 장치 위치와 같이 중간 단계 보안 키가 위치한 장소의 알림을 제공할 수 있다. 예를 들어, 보안 서비스(120)에 의해 중간 단계 보안 키가 저장될 수 있다. 복구 절차가 성공적으로 실행되어 암호화된 보안 키를 복구하게 되면, 클라이언트 장치(102)는 보안 서비스(120)로부터 중간 단계 키를 검색하여 이를 암호화된 보안 키를 복호화하는 데 사용할 수 있다.
무허가 엔티티가 차단된 보안 키를 검색하지 못하게 하기 위해 여러 다른 변형을 이용할 수 있다. 예를 들어, 보안 정책 위반의 알림에 대한 응답으로, 보안 키를 저장하는 메모리 부분을 랜덤 데이터로 덮어쓸 수 있다(예컨대, 여러 번). 이는 메모리 부분에 기록된 보안 키 값들을 모호하게 하거나 또는 차단하게 할 수 있다.
다른 변형으로서, 보안 키가 섹션들로 나뉘어 질 수 있고(예컨대, 분할), 각각의 섹션이 메모리의 서로 다른 부분(예컨대, 섹터)에 저장될 수 있다. 따라서, 메모리의 한 부분에서 지우기 또는 덮어쓰기 동작이 실패한 경우, 보안 키의 다른 부분들은 메모리의 다른 부분에서 지워지거나 및/또는 덮어 쓰여질 수 있다. 예를 들어, 메모리 섹터의 실패가 보안 키의 일부를 저장하는 메모리의 일부를 지우거나 또는 덮어쓰는 것을 막는 경우, 보안 키의 모든 부분들이 무허가 엔티티에 노출되는 것을 막기 위해 다른 메모리 섹터들은 여전히 지워지거나 및/또는 덮어 쓰여질 수 있다.
단계(304)에서는 차단된 보안 키의 복구 절차를 시작한다. 예를 들어, 복구 모듈(118)은 복호화 키(112)가 차단된 후에 복구될 수 있게 하는 복구 절차를 시작할 수 있다. 예시적인 복구 절차는 아래에서 상세하게 논의된다.
적어도 일부 구현예에서, 보안 키 차단 절차의 구현 전에 적어도 하나의 외부 장소에서(예컨대, 클라이언트 장치(102)의 외부) 복구 키가 지속되는지 여부에 대한 결정을 내린다. 보안 키가 다른 장소에서 지속되었는지 여부가 결정될 수 없는 경우, 일부 구현예에서는 보안 키의 차단을 막을 수 있다. 예를 들어, 클라이언트 장치가 기본 인증(예컨대, 로그온) 모드에 있을 수 있다.
도 4는 하나 이상의 실시예에 따른 방법의 단계들을 설명하는 순서도이다. 구현예에서, 상기 방법은 도 3과 관련하여 전술한 방법의 단계(304)의 상세한 실행 방식을 설명한다.
단계(400)에서는 보안 키의 차단에 대응하여 장치 재부팅을 시작한다. 예를 들어, 보안 정책(114) 중 어느 하나의 위반에 따라 복호화 키(112)가 차단된 것에 대응하여 보안 모듈(110)이 클라이언트(102)의 재부팅을 시작할 수 있다.
단계(402)는 장치에 대한 운영 체제 데이터가 이용 불가능함을 탐지한다. 예를 들어, 클라이언트 장치(102)의 운영 체제(OS) 데이터는 암호화된 데이터(108)의 일부와 같이 암호화된 형태로 저장될 수 있다. 따라서, 복호화 키(112)가 차단되지 않은 일반적인 기능 시나리오에서, 저장 장치로부터 OS 데이터를 판독하여 복호화 키(112)로 복호화할 수 있다. 복호화된 OS 데이터는 클라이언트 장치(102)의 부팅의 일부로서 로딩되어(예컨대, 주 메모리), 클라이언트 장치(102)의 다양한 태스크를 클라이언트 장치(102)가 실행할 수 있게 한다. 그러나, 복호화 키(112)가 차단된 시나리오에서는, OS 데이터를 복호화하여 로딩할 수 없다.
단계(404)에서는 복구 키를 요청하는 장치 복구 경험을 시작한다. 예를 들어, 클라이언트 장치(102)의 부트 로더(boot loader)는 OS 데이터가 이용 불가능하다는 점을 탐지하여, 복구 경험을 시작할 것을 복구 모듈(118)에 통지할 수 있다. 복구 모듈(118)은, 클라이언트 장치(102)를 통해 디스플레이되어 사용자가 복구 키를 제공하게 하는 그래픽 사용자 인터페이스(GUI) 등의 복구 키에 대한 프롬프트(prompt)를 제공할 수 있다. 구현예에서, 복구 모듈(118)이 그대로(예컨대, 암호화되지 않고) 클라이언트 장치(102)에 저장되어, 복호화 키(112)가 차단된 경우에 장치 복구 경험이 시작될 수 있다. 예를 들어, 복구 모듈(118)은 클라이언트 장치(102) 상에서 펌웨어로 구현될 수 있다.
구현예에서, 복구 키는 클라이언트 장치(102)의 사용자가 액세스할 수 있지만 클라이언트 장치(102)가 손쉽게 사용하지 못하는 정보를 포함한다. 예를 들어, 복구 키는 클라이언트 장치(102)에 저장되지 않은 긴(예컨대, 48 자 이상), 높은 엔트로피의 비밀번호일 수 있다. 그 대신에 또는 추가적으로, 복구 키는 바이오 인증, 스마트 카드 인증, RFID 장치를 통한 무선 주파수 인식(RFID), 시험 문제(challenge question)에 답하기를 비롯한 다른 형태의 인증을 포함할 수 있다.
다른 예를 들면, 별도의 인증 경험의 일부로서 복구키에 액세스할 수 있다. 예를 들어, 사용자는 보안 서비스(120)에 별도의 비밀번호 및/또는 다른 인증 요소를 제공할 수 있다. 인증 요소가 맞다면, 사용자에게 복구 키가 제공될 수 있고, 및/또는 복구 키가 보안 서비스(120)로부터 클라이언트 장치(102)로 자동으로 전달될 수 있다. 또 다른 예를 들면, 시스템 관리자, 정보 기술(IT) 인력 등과 같이 장치에 관련된 기업 인력에 의해 복구 키가 검색될 수 있다.
단계(406)에서 올바른 복구 키가 제공되었는지 여부가 결정한다. 올바른 복구 키가 제공된 경우, 단계(408)에서 복호화 키를 복구시킬 수 있다. 예를 들어, 클라이언트 장치(102)는 표준 비밀번호와 같은 로그온 정보를 요구하는 표준 장치 로그온 경험으로 재부팅될 수 있다. 구현예에서, 표준 비밀번호는 낮은 엔트로피의 비밀번호를 지칭할 수 있다. 예를 들어, 표준 비밀번호는 장치를 잠금 해제하는 데 사용 가능한 네 자리 PIN(personal identification number)일 수 있다. 사용자가 복호화 키(112)를 성공적으로 복구하면, 클라이언트 장치(102)가 부팅되고 복호화 키(112)를 사용하여 암호화된 데이터(108)를 복호화할 수 있다. 그 대신에 또는 추가적으로, 로그온 경험이 복구 경험에 포함될 수 있다.
구현예에서, 차단된 보안 키의 복구는 보안 키가 차단된 방법에 기반할 수 있다. 예를 들어, 보안 키가 메모리에서 지우기 및/또는 덮어쓰기에 의해 차단된 경우, 보안 키는 원격 자원, 예를 들어, 보안 서비스(120)에서 검색될 수 있다. 또는, 중간 단계 보안 키로 보안 키가 암호화된 경우, 중간 단계 보안 키를 검색하고 사용하여 보안 키를 복호화할 수 있다.
단계(406)로 되돌아와서, 올바른 복구 키가 제공되지 않은 경우, 단계(410)에서 복호화 키가 복구되는 것은 막는다. 예를 들어, 클라이언트 장치(102)는 여전히 복구 경험 모드에서 올바른 복구 키를 기다릴 수 있다. 그 대신에 또는 추가적으로, 올바른 복구 키를 제공하기 위한 임계 횟수만큼의 시도가 실패하면, 클라이언트 장치(102)는 클라이언트 장치(102)에 저장된 데이터의 일부 혹은 전부를 지우기 및/또는 덮어쓰기를 하는 메모리 삭제(wipe)를 할 수 있고, 이는 복호화 키(112) 삭제하기를 포함할 수 있다.
상기에서 논의된 복구 절차에 대한 대안적인 구현예로서, 복호화 키는 클라이언트 장치와 원격인 자원에서 검색될 수 있다. 예를 들어, 복호화 키는 시스템 관리자, 정보 기술(IT) 인력 등과 같이 클라이언트 장치에 관련된 기업 인력에 의해 보안 서비스(120)로부터 검색될 수 있다.
몇몇 예시적인 절차에 대해 논의하였으며, 이제부터 하나 이상의 실시예에 따른 예시적인 보안 정책의 논의를 살펴보자.
보안 정책
여러 다른 보안 정책을 이용하여 무허가 액세스로부터 장치와 관련된 데이터를 보호할 수 있다. 예를 들어, 보안 정책은 장치 인증 상태, 장치 하드웨어 상태, 장치 연결 상태 등을 비롯한 여러 다른 장치 관련 고려 사항에 기반할 수 있다. 예를 들어, 앞서 논의한 보안 정책(114)의 일부로서, 하나 이상의 실시예에 따라 구현될 수 있는 예시적인 보안 정책이 아래에서 논의된다. 또한, 보안 정책은 클라이언트 장치(102)에 의해 전체적으로 또는 부분적으로 강제될 수 있으며 원격 자원과는 무관할 수 있다. 예시적인 보안 정책은 특허청구된 실시예를 제한하기 위한 것은 아니며, 단지 설명을 위해 제시되었다.
인증 실패
구현예에서, 장치는 사용자가 장치의 데이터 및 기능에 액세스할 수 있게 하는 로그온 절차를 이용할 수 있다. 예를 들어, 장치의 전원이 켜지거나 및/또는 장치가 최대 절전 모드(hibernation mode)에서 깨어날 때, 비밀번호 또는 기타 인증 요소를 요청하는 로그온 프롬프트가 프레젠테이션될 수 있다. 사용자가 올바른 인증 요소를 제공하면, 사용자에게 장치의 데이터 및 기능에 대한 액세스가 허용될 수 있다. 예를 들어, 클라이언트 장치(102)에 대해서, 암호화된 데이터(108)를 복호화하여 이용할 수 있도록 올바른 인증 요소를 제공함으로써 복호화 키(112)에 액세스할 수 있고 및/또는 복호화 키(112)의 지속적인 사용을 허용할 수 있다.
그러나, 사용자가 올바른 인증 요소를 제공하지 못한 경우, 장치는 데이터 및/또는 기능에 대한 액세스를 막을 수 있다. 예를 들어, 올바른 인증 요소가 제공되지 않으면 장치를 계속 로그온 경험에 머물게 하여 올바른 인증 요소를 제공하지 못하는 한 그 장치의 데이터 및 기타 기능을 이용할 수 없게 할 수 있다.
구현예에서, 장치와 관련된 로그온 시도 실패 횟수에 기반하는 보안 정책을 사용할 수 있다. 예를 들어, 장치의 로그온 시도 실패의 임계 횟수가 사전에 지정될 수 있다 .실제 로그온 시도 실패 횟수가 임계 횟수(예컨대, 다섯 번의 로그온 시도 실패)에 도달 및/또는 초과한 경우, 추가 로그온 시도가 허용되지 않고 보안 정책의 위반이 트리거되도록 장치가 잠겨질 수 있다. 예를 들어, 클라이언트 장치(102)에서, 보안 모듈(110)은 복호화 키(112)를 차단시킬 수 있다. 또한, 복구 모듈(118)은 앞서 논의한 대로 복구 절차를 시작할 수 있다. 적어도 일부 실시예에서, 로그온 시도의 임계 횟수를 설정할 수 있다. 예를 들어, 사용자, 네트워크 관리자, IT 인력 등을 비롯한 여러 다른 엔티티들이 임계 횟수를 지정할 수 있다.
로그온 시도 실패 횟수를 추적할 때, 실시예에서는 로그온 시도 실패의 전체 횟수의 일부로서 여러 다른 로그온 기법을 고려할 수 있다. 예를 들어, 어떤 사람이 올바른 비밀번호를 제공하지 못한 후에 올바른 엄지손가락 지문을 제공하지 못하고, 나아가 시험 문제에 올바르게 대답하지 못한 경우, 이는 세 번의 로그온 시도 실패로 카운트될 수 있다. 따라서, 로그온 시도 실패 횟수는 상이한 로그온 기법 및/또는 인증 요소에 따라 누적될 수 있다. 또한, 로그온 시도 실패는 다수의 다른 사용자들의 로그온 시도에 기반할 수 있다.
이러한 보안 정책을 구현함으로써 무허가 사용자가 장치 데이터 및/또는 기능에 대한 무허가 액세스를 얻기 위해서 비밀번호를 반복하여 추측하고 및/또는 상이한 인증 요소들을 제공하는 것을 막을 수 있다.
신뢰할만한 상태의 취소
구현예에서, 보안 정책은 장치 관련 아이템의 신뢰할만한 상태가 취소될 수 있음을 명시할 수 있다. 이런 장치 관련 항목의 예로는 장치 자체, 장치에서 사용되는 디지털 인증서, 장치에 관련된 보안 키, 보안 크리덴셜 등을 들 수 있다.
예시적인 실시예에서, 보안 정책은 보안 상태 목록(122)에 열거된 아이템의 취소 상태와 같은 취소 정보를 위해 클라이언트 장치(102)가 주기적으로 보안 서비스(120)에 질의하여야 함을 명시할 수 있다. 취소 정보가 클라이언트 장치(102)의 신뢰할만한 상태가 취소되었음을 나타내면, 복호화 키(112)가 차단되고 복구 절차가 시작될 수 있다. 앞서 언급한 바와 같이, 장치가 분실 또는 도난 되었음을 사용자가 알리면 장치의 신뢰할만한 상태가 취소될 수 있다. 추가적으로 또는 대안적으로, 보안 키, 디지털 인증서, 및/또는 기타 보안 관련 아이템이 완전치 못하다는 알림에 기반하여 신뢰할만한 상태가 취소될 수 있다.
장치가 최대 절전 및/또는 절전(sleep) 모드로 들어갈 수 있는 구현예에서, 장치는 취소 정보 질의를 위해 이런 모드에서 자동으로 나올 수 있도록(예컨대, 깰 수 있도록) 구성될 수 있다. 예를 들어, 취소 간격(예컨대, 4 시간마다)이 지정된 후에 장치가 취소 정보에 대해 질의하게 된다. 장치가 절전 모드에 있는 동안 취소 간격이 만료되면, 장치는 자동으로 깨어나서 취소 정보에 대해 질의하게 된다. 따라서, 기법들을 통해 다양한 엔티티들이 장치의 신뢰할만한 상태를 모니터링할 수 있고, 무허가 액세스로부터 장치 데이터를 보호하기 위해 장치의 신뢰할만한 상태를 취소할 수 있다.
적어도 몇몇 실시예에서, 취소 정보가 원격 자원으로부터 클라이언트 장치로 밀어넣어질 수 있다. 예를 들어, 보안 서비스(120)는, 예컨대, 통지의 일부로서, 클라이언트 장치(102)에 취소 데이터를 밀어넣을 수 있다. 그 대신에 또는 추가적으로, 원격 자원은 보안 키를 차단하는 절차를 시작하기 위해 장치의 기능에 액세스할 수 있다. 예를 들어, 보안 서비스(120)는 보안 정책(114) 중 어느 하나가 위반되었음을 탐지할 수 있다. 이에 대응하여, 보안 서비스(120)는 (예컨대, 신뢰할만한 디지털 인증서에 기반하여) 신뢰할만한 엔티티로서 보안 모듈(110)과 통신하여 보안 모듈이 복호화 키(112)를 차단하게 할 것이다. 따라서, 구현예에 의해 클라이언트 장치는 취소 정보에 대한 클라이언트 장치의 질의와 무관하게 취소 정보를 수신할 수 있게 된다.
강제 체크인
구현예에서, 장치가 체크인하지 않은 경우, 장치에 관련된 보안 키가 자동으로 차단되도록 명시하는 보안 정책을 이용할 수 있다. 예를 들어, 보안 모듈(110)은 예컨대, 취소 정보에 대해 질의하기 위해 및/또는 장치(102)가 현재 신뢰할만한 상태에 있음을 확인하기 위해, 보안 서비스(120)에서 주기적으로 체크인하도록 구성될 수 있다. 보안 모듈(110)이 체크인 간격이 만료된 후에 체크인을 시도하여 보안 서비스(120)와 접촉할 수 없는 경우, 보안 모듈(110)은 보안 정책 위반을 트리거할 수 있다. 예를 들어, 보안 모듈(110)은 장치 데이터에 액세스할 수 없도록 복호화 키(112)를 차단하고 및/또는 장치(102)를 잠글 수 있다.
이런 체크인 절차를 이용함으로써 장치가 네트워크 연결을 잃어서 취소 정보를 확인하기 위해 원격 서비스와 통신할 수 없는 시나리오에서 데이터를 안전하게 유지시킬 수 있다. 무허가 사용자가 장치를 획득하여 장치의 네트워크 통신 기능을 사용 불가능하게 하는 등으로 인해 장치와 원격 자원과의 통신을 막을 때, 이런 시나리오가 생길 수 있다.
장치 상태
구현예에서, 특정 장치 상태 조건에서 변화가 일어나는 경우에 보안 정책이 위반된 것으로 명시하는 보안 정책을 이용할 수 있다. 예시적인 장치 상태 조건은 하드웨어 상태, 소프트웨어 상태, 네트워크 상태 등을 포함한다.
하드웨어 상태와 관련해서, 장치의 알려진 다양한 하드웨어 컴포넌트들에 대한 하드웨어 식별자가 로깅되고(logged) 모니터링될 수 있다. 모르는 하드웨어가 장치와 인터랙션하려고 하면(예컨대, 장치 데이터를 얻으려고 하면), 보안 절차의 위반 통지가 생성될 수 있다. 예를 들어, 무허가 사용자가 클라이언트 장치(102)로부터 데이터 저장 장치를 제거하여, 이 데이터 저장 장치를 다른 장치에 연결할 수 있다. 예를 들어, 무허가 사용자는 다른 장치를 사용하여 데이터 저장 장치의 장치 데이터에 액세스 시도를 할 수 있다. 장치 상태 모듈(116)은 데이터 저장 장치에 저장되어 있어, 모르는 장치가 데이터 저장 장치와 인터랙션하고 있음을 탐지할 수 있다. 장치 상태 모듈(116)은 보안 모듈(110)에게 모르는 장치를 통지할 수 있고, 이는 무허가 사용자가 복호화 키(112)에 액세스하여 암호화된 데이터(108)을 복호화하는 것을 막기 위해 복호화 키(112)를 차단시킬 수 있다.
소프트웨어 상태는 다양한 소프트웨어 관련 조건을 포함할 수 있다. 예를 들어, 소프트웨어 상태는 애플리케이션에 대해 설치된 패치들의 표시와 같은 애플리케이션의 업데이트 상태를 포함할 수 있다. 구현예에서, 애플리케이션의 보안 취약성을 고칠 수 있는 (예컨대, 애플리케이션 개발자로부터의) 애플리케이션을 위한 패치를 이용할 수 있다. 따라서, 애플리케이션 위해 이용 가능한 패치가 설치되지 않았다고 결정되는 경우, 장치 상태 모듈(116)은 클라이언트 장치(102)가 보안 위험 가능성에 노출되는 것을 막기 위해 보안 정책 위반을 트리거할 수 있다.
다른 소프트웨어 상태는 소프트웨어의 특정 부분의 신뢰할만한 상태와 관련이 있을 수 있다. (예컨대, 보안 상태 목록(122)에서) 소프트웨어가 신뢰할 수 없다고 표시되면, 보안 정책의 위반이 트리거될 수 있다.
또 다른 소프트웨어 상태는 건강한 실행 환경의 표지로서 지정된 추천 소프트웨어를 나타낼 수 있다. 예를 들어, 장치에 멀웨어(malware)가 없음을 확인하기 위해 보안 관련 소프트웨어(예컨대, 안티바이러스 소프트웨어)를 이용할 수 있다. 추천 소프트웨어가 장치에 존재하지 않고 및/또는 장치에서 실행되고 있지 않으면, 보안 정책 위반이 트리거될 수 있다.
네트워크 상태는 장치가 연결된 특정 네트워크, 장치가 액세스하고 있는 네트워크 자원(예컨대, 웹사이트) 등의 다양한 네트워크 관련 조건을 나타낼 수 있다. 안전치 못한 네트워크 조건이 탐지되면, 보안 정책 위반이 트리거될 수 있다. 예를 들어, 장치 상태 모듈(116)에서 클라이언트 장치(102)가 신뢰할 수 없는 서버 및/또는 신뢰할 수 없는 웹사이트와 통신하고 있다고 탐지하는 경우, 장치 상태 모듈(116)은 보안 정책 위반을 트리거할 수 있다.
시간 기록계 상태
구현예에서, 시간 관련 변화가 발생하면 보안 정책이 위반되었다고 명시하는 보안 정책을 이용할 수 있다. 예를 들어, 무허가 사용자가 실제 장치 시간 등 장치의 시간 파라미터를 수정하려고 시도할 수 있다. 무허가 사용자는, 예를 들어, 특정 보안 관련 이벤트의 트리거를 막기 위해 장치 시간을 되돌리려고(roll back) 시도할 수 있다. 전술한 주기적인 장치 체크인과 관련해서, 무허가 사용자는 장치가 체크인 간격이 만료된 후에 체크인을 실패한 경우 발생할 수 있는 보안 정책 위반의 트리거를 막기 위해 시간 되돌리기(time roll back)를 구현하려고 시도할 수 있다.
따라서, 구현예에서는 시간 관련 변화를 모니터링하는 시간 검증 메커니즘(time verification mechanism)을 이용할 수 있다. 예를 들어, 시간 기록계(time clock)는 클라이언트 장치에 있는 신뢰할만한 하드웨어 및/또는 펌웨어와 같은 신뢰할만한 시간 장치로서 구현될 수 있다. 신뢰할만한 시간 장치는, 예를 들어, TPM(Trusted Platform Module)로 구현될 수 있다. 신뢰할만한 시간 장치가 예상대로 기능하고 있지 않다고 탐지된 경우에 보안 정책 위반이 트리거될 수 있다. 예를 들어, 오동작하는 시간 기록계는 장치 시간 및/또는 다른 시간 파라미터를 바꾸려고 시도하는 무허가 엔티티의 조작(tampering) 가능성이 있음을 나타낼 수 있다. 따라서, 시간 기록계 조작 가능성이 탐지되면, 보안 정책 위반이 트리거될 수 있다.
지리적 위치
구현예에서, 장치에 대한 지리적 위치를 명시하는 보안 정책을 이용할 수 있다. 예를 들어, 클라이언트 장치는 클라이언트 장치의 지리적 위치를 결정하는 기능을 이용할 수 있다. 이런 기능의 예시로 위성 위치 확인 시스템(GPS) 기능, 휴대 전화 삼각 측량 기능, 네트워크 기반 위치 확인 등을 들 수 있다.
지리적 보안 정책은 장치가 특정 지리적 영역의 밖에 있는 경우에 보안 정책을 위반하고 있음을 명시할 수 있다. 예를 들어, 기업 엔티티는 물리적 시설 주위에 정해진 영역과 같이, 엔티티와 관련된 지리적 영역을 정할 수 있다. 클라이언트 장치가 정해진 지리적 영역의 바깥에서 탐지되면, 보안 정책의 위반이 트리거될 수 있다. 또한, 예를 들어, 장치 위치 확인 기능의 고장으로 인해 지리적 위치 정보의 획득 시도가 실패할 수 있다. 구현예에서, 클라이언트 장치가 지리적 위치 확인 정보를 얻지 못한 경우에 보안 정책 위반이 트리거될 수 있다.
다른 예를 들면, 특정 지리적 영역이 예를 들어, 신뢰할 수 없는 엔티티와 관련하여, 안전치 못하다고 지정될 수 있다. 장치가 안전치 못한 지리적 영역에 있는 것으로 결정되면, 보안 정책의 위반이 트리거될 수 있다. 따라서, 장치가 자신의 위치에 기반하여 장치 데이터에 대한 액세스를 제어할 수 있도록 보안 정책이 명시될 수 있다.
몇몇 예시적인 보안 정책에 대해 논의하였으며, 이제부터는 하나 이상의 실시예에 따른 구현의 변형에 대한 논의를 살펴보자.
구현예 변형
하나 이상의 실시예에 따라 본원에서 논의된 구현예의 여러 다른 변형을 이용할 수 있다.
하드웨어 기반 보안
구현예에서, 무허가 액세스로부터 데이터를 보호하기 위해 다양한 보안 절차가 하드웨어 내에서 구현될 수 있다. 예를 들어, 클라이언트 장치에 관련된 데이터 저장 장치는 장치 자체 내에서 데이터 암호화 및 복호화를 실행하도록 구성될 수 있다. 이런 구현예에서, 데이터 저장 장치는 데이터 저장 장치 자체 내에 복호화 키를 저장하고 이용할 수 있다. 데이터 저장 장치가 복호화를 내부적으로 실행하므로, 데이터 저장 장치는 클라이언트 장치의 OS를 비롯한 다른 컴포넌트들에게 복호화 키를 공개할 필요가 없다. 따라서, 무허가 사용자가 데이터 저장 장치의 복호화 키에 액세스하려고 시도하는 경우, 데이터 저장 장치는 호스트 클라이언트 장치에서 실행되고 있는 소프트웨어와 무관하게 복호화 키를 차단할 수 있다.
자동 차단
구현예에서, 다양한 이벤트에 대한 응답으로 보안 키가 자동으로 차단될 수 있다. 예를 들어, 장치가 특정 모드로 들어갈 때, 그에 대응하여 장치의 암호화 키가 차단될 수 있다. 이런 모드의 예로 잠금 모드, 절전 모드, 최대 절전 모드 등을 들 수 있다. 구현예에서, 장치가 잠금 모드로 들어갈 것을 요청하는 입력을 제공하는 등의 사용자의 행동에 대응하여 장치가 잠금 모드로 들어갈 수 있다.
장치가 이런 모드에서 나온 후에 차단된 암호화 키를 복구하기 위해, 장치는 원격 자원과 통신하여 그 상태를 확인할 수 있다. 예를 들어, 클라이언트 장치(102)가 이런 모드에서 나올 때, 보안 모듈(110)은 클라이언트 장치(102)의 보안 상태에 대해 보안 서비스(120)에 질의할 수 있다. 보안 상태가 클라이언트 장치(102)의 신뢰할만한 상태가 취소되지 않았음을 나타내면, 보안 키(112)가 클라이언트 장치(102)로 복원될 수 있다. 그렇지 않으면, 클라이언트 장치(102)의 신뢰할만한 상태가 취소되었고 및/또는 보안 서비스(120)로의 연결 시도가 실패한 경우, 클라이언트 장치(102)가 복구 절차를 시작할 수 있다. 예시적인 복구 절차에 대해서는 상기에서 논의하였다.
몇몇 예시적인 구현예 변형에 대해 논의하였으며, 이제부터는 하나 이상의 실시예에 따른 예시적인 시스템 및 장치에 대한 논의를 살펴보자.
예시적인 시스템 및 장치
도 5는 하나 이상의 컴퓨팅 시스템 및/또는 전술한 다양한 기법을 구현할 수 있는 장치를 나타내는 예시적인 컴퓨팅 장치(502)를 포함하는 예시적인 시스템(500)을 도시한다. 예를 들어, 도1과 관련하여 상기에서 논의된 클라이언트 장치(102)가 컴퓨팅 장치(502)로 구현될 수 있다. 컴퓨팅 장치(502)는, 예를 들어, 서비스 제공자의 서버, 클라이언트와 관련된 장치(예컨대, 클라이언트 장치), 온-칩 시스템(on-chip system) 및/또는 그 밖의 임의의 적합한 컴퓨팅 장치 또는 컴퓨팅 시스템일 수 있다.
도시된 바와 같이 예시적인 컴퓨팅 장치(502)는 프로세싱 시스템(504), 하나 이상의 컴퓨터 판독가능 매체(506), 및 서로 통신 가능하게 연결된 하나 이상의 입/출력(I/O) 인터페이스(508)를 포함한다. 도시되지는 않았지만, 컴퓨팅 장치(502)는 다양한 컴포넌트들을 서로 결합시키는 시스템 버스 또는 기타 데이터 및 명령어 전송 시스템을 더 포함할 수 있다. 시스템 버스는 메모리 버스 또는 메모리 컨트롤러, 주변 버스, USB, 및/또는 임의의 다양한 버스 아키텍처를 사용하는 프로세서 또는 로컬 버스를 비롯한 임의의 하나 또는 상이한 버스 구조들의 조합을 포함할 수 있다. 컨트롤 및 데이터 라인과 같이 여러 다른 예시들도 고려된다.
프로세싱 시스템(504)은 하드웨어를 사용하여 하나 이상의 동작을 수행하는 기능을 나타낸다. 따라서, 프로세싱 시스템(504)은 프로세서, 기능 블록 등으로 구성될 수 있는 하드웨어 구성요소(510)를 포함하는 것으로 도시된다. 이는 하나 이상의 반도체를 사용하여 형성된 ASIC(application specific integrated circuit) 또는 기타 로직 장치로서의 하드웨어로의 구현을 포함할 수 있다. 하드웨어 구성요소(510)는 하드웨어 구성요소를 형성하는 물질이나 또는 이용된 처리 메커니즘에 제한되지 않는다. 예를 들어, 프로세서는 반도체(들) 및/또는 트랜지스터(전자 집적 회로(IC))를 포함할 수 있다. 이런 맥락에서, 프로세서 실행 가능 명령어는 전자적으로 실행 가능한 명령어일 수 있다.
컴퓨터 판독가능 매체(506)는 메모리/저장 장치(512)를 포함하는 것으로 도시된다. 메모리/저장 장치(512)는 하나 이상의 컴퓨터 판독가능 매체와 관련된 메모리/저장 장치 기능을 나타낸다. 메모리/저장 장치(512)는 (랜덤 액세스 메모리(RAM)와 같은) 휘발성 매체 및/또는 (판독 전용 메모리(ROM), 플래시 메모리, 광 디스크, 자기 디스크 등의) 비휘발성 매체를 포함할 수 있다. 메모리/저장 장치(512)는 고정식 매체(예컨대, RAM, ROM, 고정 하드 드라이브 등)뿐만 아니라 이동식 매체(예컨대, 플래시 메모리, 이동식 하드 드라이브, 광 디스크 등)를 포함할 수 있다. 컴퓨터 판독가능 매체(506)는 후술하는 바와 같이 다양한 다른 방식으로 구성될 수 있다.
입/출력 인터페이스(들)(508)는 사용자가 컴퓨팅 장치(502)로 명령어 및 정보를 입력할 수 있고, 또한 다양한 입/출력 장치를 이용해 정보가 사용자 및/또는 그 밖의 다른 컴포넌트 또는 장치로 제공되게 하는 기능을 나타낸다. 입력 장치의 예로는 키보드, 커서 제어 장치(예컨대, 마우스), 마이크로폰(예컨대, 음성 인식 및/또는 구어 입력(spoken input)), 스캐너, 터치 기능(예컨대, 물리적 터치를 탐지하도록 구성된 정전 용량형 또는 기타 센서), 카메라(예컨대, 터치를 포함하지 않는 움직임을 제스처로서 탐지하기 위해 적외선 주파수와 같은 가시 또는 비가시 파장을 이용할 수 있음) 등을 포함한다. 출력 장치의 예로는 디스플레이 장치(예컨대, 모니터 또는 프로젝터), 스피커, 프린터, 네트워크 카드, 촉각 반응 장치 등을 포함한다. 따라서, 컴퓨팅 장치(502)는 사용자 인터랙션을 지원하기 위해 아래에서 추가로 설명되는 것처럼 다양한 방식으로 구성될 수 있다.
본원에서는 다양한 기법이 소프트웨어, 하드웨어 구성요소, 또는 프로그램 모듈로서 일반적으로 설명된다. 일반적으로, 이런 모듈은 특정 작업을 실행하거나 특정 추상화 데이터 유형을 구현하는 루틴, 프로그램, 객체, 구성요소, 컴포넌트, 데이터 구조 등을 포함한다. 본원에서 사용된 용어 "모듈" 및 "기능” 및 “컴포넌트”는 일반적으로 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 조합을 나타낸다. 본원에 기술된 기법의 특징은 플랫폼 독립적(platform-independent)이며, 이는 기법이 다양한 프로세서를 갖는 다양한 상업용 컴퓨팅 플랫폼 상에서 구현될 수 있음을 의미한다.
전술한 모듈 및 기법의 구현은 몇몇 형식의 컴퓨터 판독가능 매체에 저장되거나 그를 통해 전송될 수 있다. 컴퓨터 판독가능 매체는 컴퓨팅 장치(502)에 의해 액세스될 수 있는 다양한 매체를 포함할 수 있다. 제한이 아닌 예로서, 컴퓨터 판독가능 매체는 "컴퓨터 판독가능 저장 매체" 및 "컴퓨터 판독가능 신호 매체"를 포함할 수 있다.
"컴퓨터 판독가능 저장 매체"는 단순 신호 전송, 반송파, 또는 신호 그 자체와 달리 정보의 영속적(persistent) 및/또는 비-일시적(non-transitory) 저장을 가능하게 하는 매체 및/또는 장치를 지칭할 수 있다. 따라서, 컴퓨터 판독가능 저장 매체는 신호 운반(bearing) 매체를 포함하지 않는다. 컴퓨터 판독가능 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 로직 요소/회로, 또는 그 밖의 다른 데이터와 같은 정보의 저장에 적합한 방법 또는 기법으로 구현되는 휘발성 및 비-휘발성, 이동식 및 비-이동식 매체 및/또는 저장 장치 등의 하드웨어를 포함한다. 컴퓨터 판독가능 저장 매체의 예로는, RAM, ROM, EEPROM, 플래시 메모리 또는 그 밖의 다른 메모리 기법, CD-ROM, DVD(digital versatile disk), 또는 기타 광 저장장치, 하드 디스크, 자기 카세트, 자기 테이프, 자기 디스크 저장장치 또는 기타 자기 저장 장치, 또는 그 밖의 다른 저장 장치, 유형 매체(tangible media) 또는 컴퓨터에 의해 액세스될 수 있는 바람직한 정보를 저장하기에 적합한 제조 물품이 있으며, 그러나 이에 제한되지는 않는다.
"컴퓨터 판독가능 통신 매체"는 가령 네트워크를 통해 컴퓨팅 장치(502)의 하드웨어로 명령어를 송신하도록 구성된 신호 운반 매체를 지칭할 수 있다. 일반적으로 통신 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 기타 데이터를 반송파, 데이터 신호 또는 그 밖의 다른 전송 메커니즘을 비롯한 변조 데이터 신호로 구현할 수 있다. 통신 매체는 임의의 정보 전달 매체를 더 포함한다. "변조된 데이터 신호"라는 용어는 신호 내 정보를 인코딩하도록 특징들 중 하나 이상 설정 또는 변경된 신호를 의미한다. 예를 들어, 그러나 제한 없이, 통신 매체는 유선 네트워크 또는 직접 배선된 연결과 같은 유선 매체, 및 음향, RF(radio frequency), 적외선 및 그 밖의 다른 무선 매체와 같은 무선 매체를 포함한다.
전술한 바와 같이, 하드웨어 구성요소(510) 및 컴퓨터 판독가능 매체(506)는 본원에 기술된 기법의 적어도 일부 양태를 구현하기 위해 몇몇 실시예에서 이용할 수 있는 하드웨어로 구성된 명령어, 모듈, 프로그램 가능한 장치 로직 및/또는 고정 장치 로직을 나타낸다. 하드웨어 구성요소는 집적 회로 또는 온-칩 시스템, ASIC(application-specific integrated circuit), FPGA(field-programmable gate array), CPLD(complex programmable logic device), 및 실리콘 또는 기타 하드웨어 장치에서의 기타 구현예의 컴포넌트들을 포함할 수 있다. 이런 맥락에서, 하드웨어 구성요소는 명령어에 의해 정의되는 프로그램 태스크를 실행하는 프로세싱 장치, 모듈, 및/또는 하드웨어 구성요소에 의해 구현되는 로직은 물론, 실행을 위한 명령어를 저장하는 데 이용되는 하드웨어 장치, 예컨대, 전술한 컴퓨터 판독가능 저장 매체로서 동작할 수 있다.
본원에 설명된 다양한 기법 및 모듈을 구현하기 위해 전술한 것들의 조합을 이용할 수 있다. 따라서, 소프트웨어, 하드웨어, 또는 프로그램 모듈 및 기타 프로그램 모듈은 임의의 형태의 컴퓨터 판독가능 저장 매체에 구현된 하나 이상의 명령어 및/또는 로직으로서 및/또는 하나 이상의 하드웨어 요소(510)에 의해 구현될 수 있다. 컴퓨팅 장치(502)는 소프트웨어 및/또는 하드웨어 모듈에 대응하는 특정 명령어 및/또는 기능을 구현하도록 구성될 수 있다. 따라서, 소프트웨어로서 컴퓨팅 장치(502)에 의해 실행될 수 있는 모듈들은 예컨대, 컴퓨터 판독가능 저장 매체 및/또는 프로세싱 시스템의 하드웨어 요소(510)를 사용하여 적어도 부분적으로는 하드웨어로 구현될 수 있다. 명령어 및/또는 기능은 본원에 설명된 기법, 모듈, 및 예시를 구현하기 위해 하나 이상의 제조물품(예컨대, 하나 이상의 컴퓨팅 장치(502) 및/또는 프로세싱 시스템(504))으로 실행/동작될 수 있다.
도 5에 도시된 바와 같이, 예시적인 시스템(500)에 의해, 애플리케이션을 개인 컴퓨터(PC), 텔레비전 장치, 및/또는 모바일 장치에서 실행시킬 때 매끄러운(seamless) 사용자 경험을 위한 유비쿼터스 환경이 가능해진다. 애플리케이션을 이용하고, 비디오 게임을 하며, 비디오를 시청하는 등의 동안 하나의 장치에서 다른 장치로 전환될 때, 공통 사용자 경험을 위해 세 가지 환경 모두에서 서비스 및 애플리케이션이 실질적으로 유사하게 실행된다.
예시적인 시스템(500)에서, 다수의 장치가 중앙 컴퓨팅 장치를 통해 상호 연결된다. 상기 중앙 컴퓨팅 장치는 다수의 장치에 로컬이거나 상기 다수의 장치로부터 원격으로 위치할 수 있다. 일 실시예에서, 중앙 컴퓨팅 장치는 네트워크, 인터넷, 또는 그 밖의 다른 데이터 통신 링크를 통해 다수의 장치로 연결되어 있는 하나 이상의 서버 컴퓨터의 클라우드일 수 있다.
일 실시예에서, 이러한 상호 연결 아키텍처에 의해 기능이 다수의 장치 간에 전달되어, 다수의 장치의 한 명의 사용자에게 공통되는 매끄러운 경험이 제공될 수 있다. 다수의 장치 각각은 서로 다른 물리적 요건 및 기능을 가질 수 있고, 중앙 컴퓨팅 장치는 장치에 대해 맞춤 구성되지만 모든 장치에 대해 공통이기도 한 경험을 장치로 전달 가능하게 하는 플랫폼을 이용한다. 일 실시예에서, 타겟 장치의 클래스가 생성되고 경험이 장치의 일반적인 클래스에 대해 맞춤 구성된다. 장치의 클래스가 장치의 물리적 특징, 사용성의 유형, 또는 그 밖의 다른 공통 특성에 의해 정의될 수 있다.
다양한 구현예에서, 컴퓨팅 장치(502)는 컴퓨터(514) 용, 모바일(516) 용, 및 텔레비전(518) 용의 다양한 다른 구성을 가정할 수 있다. 이들 구성 각각은 일반적으로 상이한 구성 및 기능을 가질 수 있는 장치를 포함하고, 따라서 컴퓨팅 장치(502)가 서로 다른 장치 클래스 중 하나 이상에 따라 구성될 수 있다. 예를 들어, 컴퓨팅 장치(502)는 개인 컴퓨터, 데스크톱 컴퓨터, 다중-스크린 컴퓨터, 랩톱 컴퓨터, 넷북 등을 포함하는 장치의 컴퓨터(514) 클래스로서 구현될 수 있다.
또한 컴퓨팅 장치(502)는 모바일 폰, 휴대용 음악 재생기, 휴대용 게임 장치, 태블릿 컴퓨터, 다중-스크린 컴퓨터 등의 모바일 장치를 포함하는 장치의 모바일(516) 클래스로서 구현될 수 있다. 또한 상기 컴퓨팅 장치(502)는 보통의 시청 환경에서 일반적으로 더 큰 스크린을 갖거나 이에 연결된 장치를 포함하는 장치의 텔레비전(518) 클래스로서 구현될 수 있다. 이들 장치는 텔레비전, 셋-톱 박스, 게임 콘솔 등을 포함한다.
본 명세서에 기술된 기법은 이런 다양한 구성의 컴퓨팅 장치(502)에 의해 지원될 수 있지만, 본 명세서에 기술된 기법의 특정 예시로 국한되는 것은 아니다. 예를 들어, 클라이언트 장치(102) 및/또는 보안 서비스(120)와 관련하여 논의된 기능은 이하에서 설명되는 것처럼 플랫폼(522)을 통한 “클라우드”(520) 상에서와 같이 분산 시스템을 사용하여 전부 혹은 부분적으로 구현될 수 있다.
클라우드(520)는 자원(524)을 위한 플랫폼(522)을 포함하거나, 및/또는 나타낸다. 플랫폼(522)은 클라우드(520)의 하드웨어(예컨대, 서버) 및 소프트웨어 자원의 기저 기능을 추상화한다. 자원(524)은 컴퓨팅 장치(502)와 원격인 서버 상에 컴퓨터 프로세싱이 실행되는 동안 사용될 수 있는 애플리케이션 및/또는 데이터를 포함할 수 있다. 자원(524)은 인터넷 및/또는 가입자 네트워크, 가령, 셀룰러 또는 WiFi 네트워크를 통해 제공되는 서비스 역시 포함할 수 있다.
플랫폼(522)은 컴퓨팅 장치(502)를 그 밖의 다른 컴퓨팅 장치와 연결하기 위해 자원 및 기능을 추상화할 수 있다. 또한 플랫폼(522)은 자원의 확장(scaling)을 추상화하도록 기능하여, 플랫폼(522)을 통해 구현되는 자원(524)이 직면하는 수요에 대응하는 확장 수준을 제공할 수 있다. 따라서 상호 연결된 장치 실시예에서, 본 명세서에 기술된 기능의 구현이 시스템(500)을 통해 분산될 수 있다. 예를 들어, 기능은 컴퓨팅 장치(502) 상에서 부분적으로 구현될 뿐 아니라 클라우드(520)의 기능을 추상화하는 플랫폼(522)을 통해 부분적으로 구현될 수 있다.
본원에서 논의된 기법을 실행하기 위해 구현될 수 있는 많은 방법들이 본원에 논의되었다. 상기 방법들의 양태가 하드웨어, 펌웨어, 또는 소프트웨어, 또는 이들의 조합으로 구현될 수 있다. 상기 방법들은 하나 이상의 장치에 의해 실행되는 동작을 지정하는 일련의 블록으로 도시되어 있지만, 각각의 블록에 의한 동작을 구현하기 위해 도시된 순서에 반드시 국한되는 것은 아니다. 또한, 특정 방법과 관련하여 도시된 동작은 하나 이상의 구현예에 따른 다른 방법의 동작과 결합 및/또는 교환될 수 있다. 상기 방법들의 양태는 환경(100)과 관련해 앞서 논의된 다양한 엔티티들 간의 인터랙션을 통해 구현될 수 있다.
결론
장치 데이터를 위한 보안 정책을 제공하는 기법이 설명되었다. 본 실시예가 구조적 특징부 및/또는 방법적 동작에 특정적인 언어로 기술되었지만, 이하의 특허청구범위에서 정의되는 본 발명은 반드시 기술된 특정 특징부 또는 동작에 한정되는 것은 아님을 알아야 한다. 오히려, 특정 특징부 및 동작은 특허청구된 실시예를 구현하는 예시적인 형태로서 개시된 것이다.

Claims (20)

  1. 하나 이상의 하드웨어 프로세서와,
    명령어를 저장하는 하나 이상의 컴퓨터 판독가능 저장 장치를 포함하되,
    상기 명령어는 상기 하나 이상의 하드웨어 프로세서에 의해 실행되는 것에 응답하여 상기 하나 이상의 하드웨어 프로세서로 하여금
    상기 장치에 대해 적어도 하나의 복호화 키를 유지하고,
    원격 보안 서비스에서 체크인을 시도하고,
    상기 장치가 상기 원격 보안 서비스에 접속할 수 없음을 확인하고,
    상기 장치가 상기 원격 보안 서비스에 접속할 수 없다는 확인에 응답하여 상기 적어도 하나의 복호화 키가 차단되게 하고,
    상기 복호화 키의 차단에 응답하여, 프롬프트를 포함하는 그래픽 사용자 인터페이스를 제시하여 상기 복호화 키를 복구하기 위한 복구 키를 제공하게 하는
    데이터 보호 시스템.
  2. 제 1 항에 있어서,
    상기 명령어는, 상기 장치가 운영 체제를 부팅하게(to boot) 하기 위해 운영 체제 데이터를 복호화하도록 상기 하나 이상의 하드웨어 프로세서에 의해 더 실행될 수 있는
    데이터 보호 시스템.
  3. 제 1 항에 있어서,
    상기 명령어는, 상기 복호화 키의 일부분을 메모리의 제 1 섹터에 저장하고, 상기 복호화 키의 다른 부분을 메모리의 상이한 제 2 섹터에 저장함으로써 상기 적어도 하나의 복호화 키를 유지하도록 상기 하나 이상의 하드웨어 프로세서에 의해 더 실행될 수 있는
    데이터 보호 시스템.
  4. 제 1 항에 있어서,
    상기 명령어는, 중간 단계 보안 키(intermediate security key) 또는 상기 중간 단계 보안 키와 연관된 개인 키(private key) 중 하나의 입력에 응답하여 상기 적어도 하나의 복호화 키를 복호화하도록 상기 하나 이상의 하드웨어 프로세서에 의해 더 실행될 수 있는
    데이터 보호 시스템.
  5. 제 1 항에 있어서,
    상기 명령어는, 상기 장치의 하나 이상의 상태를 모니터링하여 상기 하나 이상의 상태의 변화가 보안 정책 중 하나 이상의 위반을 트리거하도록 상기 하나 이상의 하드웨어 프로세서에 의해 더 실행될 수 있는
    데이터 보호 시스템.
  6. 제 1 항에 있어서,
    상기 명령어는, 상기 복구 키가 복구 경험(recovery experience)의 일부로서 제공되는 것에 응답하여 상기 복호화 키가 복구될 수 있게 하는 상기 복구 경험을 시작하도록 상기 하나 이상의 하드웨어 프로세서에 의해 더 실행될 수 있는
    데이터 보호 시스템.
  7. 제 1 항에 있어서,
    상기 명령어는,
    상기 장치가 잠금 모드, 절전 모드, 또는 최대 절전 모드 중 적어도 하나를 포함하는 모드에 진입하는 것에 응답하여 상기 적어도 하나의 복호화 키가 차단되게 하고,
    상기 장치의 보안 상태에 대한 상기 원격 보안 서비스를 확인함으로써 상기 장치가 상기 모드로부터 나오는 경우, 상기 복호화 키가 복구될 수 있게 하도록
    상기 하나 이상의 하드웨어 프로세서에 의해 더 실행될 수 있는
    데이터 보호 시스템.
  8. 데이터 보호를 위해 컴퓨터에 의해 구현된 방법으로서,
    장치에 대한 보안 정책의 위반을 탐지하는 단계와,
    상기 탐지 단계에 응답하여 하나 이상의 하드웨어 프로세서에 의해, 중간 단계 보안 키를 이용하여 보안 키를 암호화함으로써, 상기 장치의 상기 보안키를 차단하는 단계와,
    상기 차단 단계에 응답하여, 사용자가 상기 중간 단계 보안 키의 위치를 명시할 수 있게 하고 상기 보안 키를 복구하기 위한 복구 키를 제공하는 프롬프트를 포함하는 그래픽 사용자 인터페이스가 상기 장치에 디스플레이되게 하는 단계와,
    상기 중간 단계 보안 키가 위치하는 보호된 위치를 식별하는 사용자 입력을 상기 그래픽 사용자 인터페이스로 수신하는 단계와,
    상기 보호된 위치로부터 상기 중간 단계 보안 키를 검색하는 단계와,
    상기 중간 단계 보안 키를 이용하여 상기 보안 키를 복호화하는 단계를 포함하는
    데이터 보호 방법.
  9. 제 8 항에 있어서,
    상기 보안 정책은 상기 장치에 대한 로그온 시도 실패의 임계 횟수를 명시하고, 상기 탐지 단계는 상기 장치에 대해 실패한 로그온 시도 횟수가 상기 임계 횟수에 도달하였음을 탐지하는 단계를 포함하는
    데이터 보호 방법.
  10. 제 9 항에 있어서,
    상기 장치에 대해 실패한 로그온 시도 횟수는 둘 이상의 상이한 유형의 인증 요소에 기반하는
    데이터 보호 방법.
  11. 제 8 항에 있어서,
    상기 탐지 단계는 상기 장치의 신뢰 상태(trusted status)가 취소되었음을 탐지하는 단계를 포함하는
    데이터 보호 방법.
  12. 제 8 항에 있어서,
    상기 탐지 단계는 상기 장치가 원격 보안 서비스에서 체크인에 실패하였음을 탐지하는 단계를 포함하는
    데이터 보호 방법.
  13. 제 8 항에 있어서,
    상기 탐지 단계는 상기 장치의 상태 변화를 탐지하는 단계를 포함하고, 상기 상태는 하드웨어 상태, 소프트웨어 상태, 또는 네트워크 상태 중 하나 이상을 포함하는
    데이터 보호 방법.
  14. 제 8 항에 있어서,
    상기 탐지 단계는 상기 장치에 대한 시간 관련 변화를 탐지하는 단계를 포함하는
    데이터 보호 방법.
  15. 제 8 항에 있어서,
    상기 보안 정책은 상기 장치의 지리적 위치와 연관된
    데이터 보호 방법.
  16. 데이터 보호를 위해 컴퓨터에 의해 구현된(computer-implemented) 방법으로서,
    하나 이상의 하드웨어 프로세서에 의해, 컴퓨팅 장치가 원격 보안 서비스 내에서 체크인에 실패했다는 알림을 수신하는 것에 응답하여, 상기 컴퓨팅 장치에 있는 보안 키가 차단되게 하는 단계와,
    상기 하나 이상의 하드웨어 프로세서에 의해, 상기 보안 키가 차단되었다는 알림에 응답하여 복구 경험을 시작하는 단계 - 상기 복구 경험은 상기 차단된 보안 키를 복구하기 위한 복구 키를 요청함 - 와,
    상기 복구 경험의 일부로서 올바른 복구 키가 제공되는지 여부를 결정하는 단계와,
    상기 올바른 복구 키가 제공되면 상기 보안 키가 복구될 수 있게 하는 단계를 포함하는
    데이터 보호 방법.
  17. 제 16 항에 있어서,
    상기 보안 키가 차단되었다는 상기 알림은 상기 장치에 대한 운영 체제 데이터가 이용 불가능하다는 알림을 포함하는
    데이터 보호 방법.
  18. 제 16 항에 있어서,
    상기 보안 키를 암호화하여 상기 보안 키가 차단되고, 상기 올바른 복구 키가 제공되면, 중간 단계 보안 키를 사용하여 상기 장치에 대한 상기 보안 키가 복호화되는
    데이터 보호 방법.
  19. 제 1 항에 있어서,
    상기 명령어는, 컴퓨팅 장치에 의해 상기 원격 보안 서비스 내에서 주기적인 체크인을 시도하도록 상기 하나 이상의 하드웨어 프로세서에 의해 더 실행될 수 있는
    데이터 보호 시스템.
  20. 제 16 항에 있어서,
    상기 원격 보안 서비스 내에서 주기적인 체크인을 시도하는 단계를 더 포함하는
    데이터 보호 방법.
KR1020147022186A 2012-02-09 2013-01-28 장치 데이터를 위한 보안 정책 KR102071087B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/370,232 US9245143B2 (en) 2012-02-09 2012-02-09 Security policy for device data
US13/370,232 2012-02-09
PCT/US2013/023353 WO2013119401A1 (en) 2012-02-09 2013-01-28 Security policy for device data

Publications (2)

Publication Number Publication Date
KR20140123522A KR20140123522A (ko) 2014-10-22
KR102071087B1 true KR102071087B1 (ko) 2020-01-29

Family

ID=48946638

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147022186A KR102071087B1 (ko) 2012-02-09 2013-01-28 장치 데이터를 위한 보안 정책

Country Status (6)

Country Link
US (2) US9245143B2 (ko)
EP (1) EP2812842B1 (ko)
JP (1) JP6198231B2 (ko)
KR (1) KR102071087B1 (ko)
CN (1) CN104094275B (ko)
WO (1) WO2013119401A1 (ko)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9245143B2 (en) 2012-02-09 2016-01-26 Microsoft Technology Licensing, Llc Security policy for device data
US9460303B2 (en) * 2012-03-06 2016-10-04 Microsoft Technology Licensing, Llc Operating large scale systems and cloud services with zero-standing elevated permissions
CN104704501B (zh) * 2012-08-13 2017-07-14 西门子公司 在计算机系统中安全生成和存储密码
CN107832615A (zh) * 2012-10-19 2018-03-23 迈克菲公司 场所感知安全
US9444800B1 (en) 2012-11-20 2016-09-13 Amazon Technologies, Inc. Virtual communication endpoint services
US9231930B1 (en) 2012-11-20 2016-01-05 Amazon Technologies, Inc. Virtual endpoints for request authentication
US9167048B2 (en) * 2013-03-14 2015-10-20 Motorola Solutions, Inc. Method and apparatus for filtering devices within a security social network
US9386050B2 (en) 2013-03-14 2016-07-05 Motorola Solutions, Inc. Method and apparatus for filtering devices within a security social network
US9071429B1 (en) * 2013-04-29 2015-06-30 Amazon Technologies, Inc. Revocable shredding of security credentials
IL228523A0 (en) * 2013-09-17 2014-03-31 Nds Ltd Processing private data in a cloud-based environment
US20150094023A1 (en) * 2013-10-01 2015-04-02 Google Inc. Retroactively Securing a Mobile Device From a Remote Source
US9171174B2 (en) 2013-11-27 2015-10-27 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for verifying user data access policies when server and/or user are not trusted
US10140477B2 (en) * 2013-12-09 2018-11-27 Thales E-Security, Inc. Obfuscating in memory encryption keys
US9160544B2 (en) * 2014-01-30 2015-10-13 Verizon Patent And Licensing Inc. Providing secure access to computing resources in a cloud computing environment
US10474849B2 (en) 2014-06-27 2019-11-12 Microsoft Technology Licensing, Llc System for data protection in power off mode
WO2015196447A1 (en) 2014-06-27 2015-12-30 Microsoft Technology Licensing, Llc Data protection based on user input during device boot-up, user login, and device shut-down states
CN105493094A (zh) 2014-06-27 2016-04-13 微软技术许可有限责任公司 基于设备上的用户输入模式的数据保护系统
KR102265123B1 (ko) 2014-06-27 2021-06-14 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 콘텍스트-기반 데이터 보호용 시스템
US9900295B2 (en) * 2014-11-05 2018-02-20 Microsoft Technology Licensing, Llc Roaming content wipe actions across devices
US10313217B2 (en) 2015-03-13 2019-06-04 Samsung Electronics Co., Ltd. System on chip (SoC) capable of sharing resources with network device and devices having the SoC
US9762548B2 (en) 2015-03-13 2017-09-12 Western Digital Technologies, Inc. Controlling encrypted data stored on a remote storage device
US9762585B2 (en) 2015-03-19 2017-09-12 Microsoft Technology Licensing, Llc Tenant lockbox
US9565169B2 (en) * 2015-03-30 2017-02-07 Microsoft Technology Licensing, Llc Device theft protection associating a device identifier and a user identifier
US10931682B2 (en) 2015-06-30 2021-02-23 Microsoft Technology Licensing, Llc Privileged identity management
US10078748B2 (en) * 2015-11-13 2018-09-18 Microsoft Technology Licensing, Llc Unlock and recovery for encrypted devices
US9565020B1 (en) * 2016-02-02 2017-02-07 International Business Machines Corporation System and method for generating a server-assisted strong password from a weak secret
US10079679B2 (en) 2016-04-28 2018-09-18 Bank Of America Corporation Cryptographic encryption key escrow and recovery
CN106776908B (zh) * 2016-11-30 2020-02-14 Oppo广东移动通信有限公司 数据清理方法、装置及终端
US10693639B2 (en) * 2017-02-28 2020-06-23 Blackberry Limited Recovering a key in a secure manner
US10263775B2 (en) 2017-06-23 2019-04-16 Microsoft Technology Licensing, Llc Policy-based key recovery
EP3704615A4 (en) * 2017-11-01 2021-06-09 Hewlett-Packard Development Company, L.P. REPORTING OF NON-CONFORMITY EVENTS TO SUPPORTING DEVICES
US10614254B2 (en) * 2017-12-12 2020-04-07 John Almeida Virus immune computer system and method
US10951406B2 (en) * 2018-01-24 2021-03-16 Salesforce.Com, Inc. Preventing encryption key recovery by a cloud provider
US11606206B2 (en) * 2020-01-09 2023-03-14 Western Digital Technologies, Inc. Recovery key for unlocking a data storage device
JP2021118370A (ja) * 2020-01-22 2021-08-10 キオクシア株式会社 メモリシステム、情報処理装置、および情報処理システム
US11809611B2 (en) * 2020-02-24 2023-11-07 Microsoft Technology Licensing, Llc Protecting device detachment with bus encryption
CN113609497B (zh) * 2021-06-30 2022-09-23 荣耀终端有限公司 一种数据保护方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090150970A1 (en) 2007-12-05 2009-06-11 Sybase, Inc. Data Fading to Secure Data on Mobile Client Devices
JP2010191946A (ja) 2008-12-31 2010-09-02 Intel Corp 暗号化されたストレージデバイスについてのチップセット鍵管理サービスの利用の強制
US20100266132A1 (en) * 2009-04-15 2010-10-21 Microsoft Corporation Service-based key escrow and security for device data
US20110283351A1 (en) 2010-05-16 2011-11-17 Hudson Jr James Thomas How to stop external and most internal network "Hacking"attacks by utilizing a dual appliance/server arrangement that allows for the use of peering servers and/or client software running on said peering servers or on proxy servers, web servers, or other legacy equipment

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5675645A (en) 1995-04-18 1997-10-07 Ricoh Company, Ltd. Method and apparatus for securing executable programs against copying
US6516064B1 (en) * 1995-07-25 2003-02-04 Sony Corporation Signal recording apparatus, signal record medium and signal reproducing apparatus
US6292899B1 (en) 1998-09-23 2001-09-18 Mcbride Randall C. Volatile key apparatus for safeguarding confidential data stored in a computer system memory
US7278023B1 (en) * 2000-06-09 2007-10-02 Northrop Grumman Corporation System and method for distributed network acess and control enabling high availability, security and survivability
US20040107345A1 (en) 2002-10-21 2004-06-03 Brandt David D. System and methodology providing automation security protocols and intrusion detection in an industrial controller environment
US8539587B2 (en) * 2005-03-22 2013-09-17 Hewlett-Packard Development Company, L.P. Methods, devices and data structures for trusted data
US8082443B2 (en) 2006-01-09 2011-12-20 Bbnt Solutions Llc. Pedigrees for quantum cryptography
US20070261099A1 (en) 2006-05-02 2007-11-08 Broussard Scott J Confidential content reporting system and method with electronic mail verification functionality
KR100766313B1 (ko) * 2006-05-30 2007-10-11 삼성전자주식회사 이동통신단말기에서 보안 키의 암호화 장치 및 방법
US7603435B2 (en) 2006-11-15 2009-10-13 Palm, Inc. Over-the-air device kill pill and lock
US20090328238A1 (en) 2007-06-29 2009-12-31 David Duncan Ridewood Glendinning Disabling encrypted data
US20090006867A1 (en) 2007-06-29 2009-01-01 Alcatel Lucent System, device and method for providing data availability for lost/stolen portable communication devices
US20090210456A1 (en) 2008-02-18 2009-08-20 Dell Products L.P. Methods, Systems and Media for TPM Recovery Key Backup and Restoration
WO2010017516A1 (en) 2008-08-08 2010-02-11 Phoenix Technologies Ltd. Secure computing environment to address theft and unauthorized access
JP2010220019A (ja) 2009-03-18 2010-09-30 Panasonic Corp 鍵管理方法および鍵管理装置
US8392699B2 (en) 2009-10-31 2013-03-05 Cummings Engineering Consultants, Inc. Secure communication system for mobile devices
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
US9245143B2 (en) 2012-02-09 2016-01-26 Microsoft Technology Licensing, Llc Security policy for device data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090150970A1 (en) 2007-12-05 2009-06-11 Sybase, Inc. Data Fading to Secure Data on Mobile Client Devices
JP2010191946A (ja) 2008-12-31 2010-09-02 Intel Corp 暗号化されたストレージデバイスについてのチップセット鍵管理サービスの利用の強制
US20100266132A1 (en) * 2009-04-15 2010-10-21 Microsoft Corporation Service-based key escrow and security for device data
US20110283351A1 (en) 2010-05-16 2011-11-17 Hudson Jr James Thomas How to stop external and most internal network "Hacking"attacks by utilizing a dual appliance/server arrangement that allows for the use of peering servers and/or client software running on said peering servers or on proxy servers, web servers, or other legacy equipment

Also Published As

Publication number Publication date
US20130212367A1 (en) 2013-08-15
JP2015508257A (ja) 2015-03-16
US9245143B2 (en) 2016-01-26
CN104094275A (zh) 2014-10-08
US9811682B2 (en) 2017-11-07
US20160154973A1 (en) 2016-06-02
KR20140123522A (ko) 2014-10-22
CN104094275B (zh) 2019-06-28
EP2812842A1 (en) 2014-12-17
EP2812842A4 (en) 2015-10-28
EP2812842B1 (en) 2020-04-29
WO2013119401A1 (en) 2013-08-15
JP6198231B2 (ja) 2017-09-20

Similar Documents

Publication Publication Date Title
KR102071087B1 (ko) 장치 데이터를 위한 보안 정책
US10284375B2 (en) Trust service for a client device
US10505983B2 (en) Enforcing enterprise requirements for devices registered with a registration service
CA2939599C (en) Approaches for a location aware client
US20190278940A1 (en) Data protection based on user input during device boot-up, user login, and device shut-down states
CN107431924B (zh) 将设备标识符和用户标识符相关联的设备盗窃防护
US9544306B2 (en) Attempted security breach remediation
US8317878B2 (en) Enabling a service to return lost laptops
US10949540B2 (en) Security policy enforcement based on dynamic security context updates
US8977866B2 (en) Security mechanism for increased personal data protection
US9807615B2 (en) Disabling a mobile device that has stolen hardware components
US11416601B2 (en) Method and system for improved data control and access
US10673888B1 (en) Systems and methods for managing illegitimate authentication attempts
KR20190033930A (ko) 보안 정보를 암호화하는 전자 장치 및 그 작동 방법
US10192056B1 (en) Systems and methods for authenticating whole disk encryption systems

Legal Events

Date Code Title Description
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant