KR20120029424A - 신뢰성있는 컴퓨팅 및 데이터 서비스들을 위한 안전하고 사적인 백업 저장부 및 프로세싱 - Google Patents

신뢰성있는 컴퓨팅 및 데이터 서비스들을 위한 안전하고 사적인 백업 저장부 및 프로세싱 Download PDF

Info

Publication number
KR20120029424A
KR20120029424A KR1020117029757A KR20117029757A KR20120029424A KR 20120029424 A KR20120029424 A KR 20120029424A KR 1020117029757 A KR1020117029757 A KR 1020117029757A KR 20117029757 A KR20117029757 A KR 20117029757A KR 20120029424 A KR20120029424 A KR 20120029424A
Authority
KR
South Korea
Prior art keywords
data
encrypted
backup
encryption
computing device
Prior art date
Application number
KR1020117029757A
Other languages
English (en)
Inventor
라훌 브이 오라드카
로이 피터 드소우자
Original Assignee
마이크로소프트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20120029424A publication Critical patent/KR20120029424A/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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
    • 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/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding

Abstract

데이터 타협의 단일점을 회피하기 위해서 복수의 엔티티들 사이에서 신뢰성을 분배하고, 원격 사이트 또는 클라우드 서비스에 저장된 합성 완전체 백업 데이터와 같은 백업 데이터를 위한 검색 가능한 암호화 기술을 포함하는 백업 데이터 서비스를 위한 디지털 에스크로 패턴이 제공된다. 한 실시예에서, 작업 가능한 합성 완전체는, 잠재적 민감 데이터의 원격 또는 외장 저장을 위한 고결성과 사적 정보 보호 요건들을 다루는 암호화 보안 방식 안의 데이터 서비스로서, 암호화된 데이터와 함께 유지된다. 지원되는 저장 기술들은 백업, 데이터 보호, 재난 복구, 그리고 주 기기 데이터의 제 2 복사본의 분석을 포함한다. 데이터의 보안과 개인 정보 보호에 대한 높은 레벨의 신뢰성 설정을 용이하게 하도록 적용될 수 있는 비용-효율적 암호 기술들 크기-보존 암호화, 검색 가능-암호화, 또는 애플리케이션의 증명, 블라인드 핑거프린트, 복구성의 증명 등을 포함한다.

Description

신뢰성있는 컴퓨팅 및 데이터 서비스들을 위한 안전하고 사적인 백업 저장부 및 프로세싱{SECURE AND PRIVATE BACKUP STORAGE AND PROCESSING FOR TRUSTED COMPUTING AND DATA SERVICES}
본 발명은 장치(들)에 대해 신뢰성 있는 클라우드 계산과 데이터 서비스들을 제공하는 것과 관련되고, 보다 구체적으로는, 암호적으로 안전하고 사적인 저장부(private storage), 합성 완전 백업 데이터(synthetic full backup data)와 같은 백업 데이터를 위한 처리 또는 분석 서비스들과 관련된다.
일부 통상적인 시스템과 관련된 백그라운드로써, 계산 장치들은 전통적으로 애플리케이션들과 데이터 서비스들을 장치에 국부적으로 실행해왔다. 이런 경우에서, 데이터가 접속, 처리, 저장, 캐시(cached) 될 때, 데이터는 장치상에서 로컬 버스들, 인터페이스 및 다른 데이터 경로들을 이동할 수 있으나, 장치의 사용자는 장치가 분실 또는 도난당하지 않는 한 사용자 데이터의 공개 또는 간섭에 대하여 걱정할 필요가 없다.
그러나 온-라인 및 클라우드 서비스들의 발전과 함께, 애플리케이션들과 서비스들은 장치를 위해서 특정 서비스의 일부 또는 전부를 수행하는 네트워크 제공자로 점점 옮겨간다. 이런 경우에, 장치(들)의 사용자는 사용자의 데이터가 서비스에 업로드 되는 동안, 서비스에 의해 저장되고 처리되는 동안, 또는 서비스로부터 복구되는 동안에 누가 접속할 수 있는지, 또는 어쩌면 더 나쁘게, 방해를 할 수 있는지에 관하여 관심을 가질 수 있다. 즉, 사용자 장치의 데이터는 물리적 소유의 범위를 벗어나고 사용자로부터 떨어진 네트워크 환경에 입문하며, 제 3자에 의한 데이터 방해 또는 부주의 또는 악의의 처리들에 대한 우려가 자연스럽게 발생한다. 그런 이유로, 클라우드 서비스와 클라우드 서비스들과 연결된 데이터의 처리, 또는 데이터가 제어의 한 영역을 떠나서 다른 영역으로 들어가는 기업 내부에 있어서 신뢰, 보안과 사생활 존중을 증대시키는 것이 바람직하다.
예를 들면, 오늘날, 사용자들을 외장 기기를 PC 또는 다른 장치와 같은 주 기기에 연결할 수 있고 주 기기의 데이터의 합성 전체 백업(synthetic full backup)을 생성할 수 있다. 그 이름이 제안하는 바와 같이, 합성 전체 백업은 가장 최근의 전체 백업 데이터를, 예를 들면 일반적 또는 합성 그리고 임의의 연관된 뒤따르는 증분 또는 차등 백업 등, 기초로 생성되는 합성된 백업이다.
전통적으로, 외장 드라이브 상의 데이터의 복구 가능한 복사본의 이런 물리적 소유는 주 저장부 상에 저장된 중요 데이터의 손실을 방지한다. 예를 들면, 플래시 메모리 드라이브 또는 다른 외장 하드 드라이브와 같은 외장형 드라이브 또는 디스크를, USB 케이블 등을 통해서 연결하는 방식을 통해서, 장치의 사용자는 주장치에서 데이터가 손실되는 경우에도 데이터가 복구 가능하다는 위안을 받을 수 있다. 이런 방식으로, 만약에 주장치가 데이터 접속을 차단하거나 데이터의 변경할 수 없는 왜곡 또는 파괴를 초래하는 어떤 종류의 재앙적 상황에 시달리더라도, 데이터는 사용자가 소지하는 외장 드라이브 또는 디스크로부터 복구될 수 있다. 그러나 물론, 만약에 주장치와 외장 드라이브가 둘 다 동일한 재앙(예를 들면 지진)으로 부터 손상된다면, 문제는 원점으로 되돌아 간다.
테라바이트들의 데이터를 저장할 수 있는 네트워크 저장 팜(network storage farms)의 발전(미래에는 페타바이트들, 엑사바이트들의 데이터를 저장할 잠재성을 가지는)은 주장치와 외장 저장부가 분리된 클라우드에 있어서 로컬 시나리오와 유사한 기회를 생성했다. 백업 데이터의 클라우드 저장부는 또한 많은 장치로 하여금 그들의 백업 데이트를 각각의 장치에 대한 분리된 저장부의 필요성 없이 저장할 수 있게 하였다. 이런 관점에서, 케이블을 통해서 제 2 저장 장치를 주 저장 장치에 연결하는 방식으로 백업 데이터를 저장하는 대신에, 클라우드 저장부에서, 백업 데이터는 장치를 위해서 백업 데이터의 저장부를 관리하는 클라우드 서비스 제공자로 백업 데이터가 전송되고 그에 의해서 저장된다.
그러나 앞에서 암시한 바와 같이, 어떤 클라우드 서비스 또는 네트워크 저장부 제공자도 효과적으로 백업 데이터가 클라우드 안에 저장되는 동안의 보안, 사생활 보호 그리고 고결성(integrity)의 문제 및 요구들을 완화하지 못하는 문제가 남아있다. 즉, 사용자는 저장 수단에 대한 물리적 제어를 내어준 경우에 그들의 데이터가 안전하고 사적 정보 보안이 유지된다는 향상된 신뢰를 요구하고, 이런 난관은 회사들 및 고객들로 하여금 제 3자 네트워크 서비스들 및 솔루션들을 통한 중요 데이터의 백업의 도입을 차단한다.
오늘날 기기들과 데이터 백업 서비스들의 앞에서 서술된 결함들은 단지 통상적 시스템들의 일부 문제들의 개요를 제공하는 의도에 불과하고, 완전성을 의도하지는 않는다. 본 기술의 상태의 다른 문제점들과 일부 다양한 제한되지 않는 실시예들의 대응되는 이점들은 후술 되는 상세한 설명에서 보다 명확해질 것이다.
보다 상세한 서술과 첨부되는 도면들이 뒤따르는 예시적, 비-한정적 실시예들의 다양한 측면들의 기본적 또는 일반적 이해가 가능하도록 돕기 위해서 간략한 요약이 여기 제공된다. 그러나 이 요약은 폭넓은 또는 완전한 개요를 의도하는 것은 아니다. 그 대신에, 이 요약의 유일한 목적은 뒤따르는 다양한 실시예들의 보다 상세한 서술의 서막으로써 일부 예시적 비-한정적 실시예들과 관련되는 일부 개념들을 간략한 형태로 제시하는 것이다.
저장되거나, 처리되거나, 접속되거나 또는 복구될 수 있는 클라우드 내 백업 데이터를 위한 검색 가능한 암호화 기술들을 포함하는 네트워크 데이터 서비스들이 데이터 타협의 단일점을 회피하기 위해서 복수의 엔티티들 사이에 신뢰성을 분배하는 방식으로 제공된다. 한 실시예에서, 키 생성자, 암호 기술 제공자와 클라우드 서비스 제공자들은 각각 분리된 엔티티들로써 제공되고, 이는 백업 데이터의 발행인들로 하여금 데이터를 내밀히(암호화) 클라우드 서비스 제공자에게 발행하는 것을 가능케 하고, 접속 요청 내 인코드 된 구독자 신원 정보를 기초로 권한 받은 구독자에게 암호화된 백업 데이터에 대한 선택적 접속을 가능케 한다.
한 실시예에서, 운용 가능한 합성 완전체는, 잠재적 민감 데이터의 원격 또는 외장 저장을 위한 고결성과 사적 정보 보호 요건들을 다루는 암호화 보안 방식 안의 데이터 서비스로서, 암호화된 데이터와 함께 유지된다. 한 실시예에서, 지원되는 지정 기술들은 백업, 데이터 보호, 재난 복구, 그리고 주장치 데이터의 제 2 복사본의 분석을 포함한다. 데이터의 보안과 개인 정보 보호에 대한 높은 레벨의 신뢰성 설정을 용이하게 하도록 적용될 수 있는 비용-효율적 암호 기술들 크기-보존 암호화, 검색 가능-암호화, 또는 애플리케이션의 증명, 블라인드 핑거프린트, 복구성의 증명 등을 포함한다.
다른 실시예들, 다양한 비-한정적 예시들, 시나리오들 그리고 구현예들이 아래에서 보다 상세하게 서술된다.
다양한 비-한정적 실시예들이 첨부되는 도면들을 참조해서 추가적으로 서술된다:
도 1은 백업 서비스들의 하나 이상의 실시예를 제공하기 위한 일반적인 환경의 블록도이다;
도 2는 애플리케이션의 증명을 포함하는 백업 서비스들의 하나 이상의 실시예를 제공하기 위한 일반적인 환경의 블록도이다;
도 3은 블라인드 핑거프린팅을 포함하는 백업 서비스들의 하나 이상의 실시예를 제공하기 위한 일반적인 환경의 블록도이다;
도 4는 암호화 데이터와 메타데이터와 트랩도어 데이터를 기초로 정의된 데이터 집합을 위해 합성 완전체 데이터를 유지하기 위한 예시적 비-한정적 프로세스를 도시하는 플로우 다이어그램이다;
도 5는 실시예에 따라 합성 완전체 데이터를 유지하기 위한 예시적 비-한정적 프로세스를 도시하는 플로우 다이어그램이다;
도 6은 합성 완전체 데이터를 유지하기 위한 실시예 안에 데이터 항목들을 복구하기 위한 예시적 비-한정적 프로세스를 도시하는 플로우 다이어그램이다;
도 7은 애플리케이션의 증명을 포함하는 백업 서비스들을 제공하기 위한 예시적 비-한정적 프로세스를 도시하는 플로우 다이어그램이다;
도 8은 블라인드 핑거프린팅을 포함하는 백업 서비스를 위한 예시적 비-한정적 프로세스를 도시하는 플로우 다이어그램이다;
도 9는 로컬 데이터에 따라 애플리케이션의 다이얼 톤 재시작을 포함하는 백업 서비스를 위한 예시적 비-한정적 프로세스를 도시하는 플로우 다이어그램이다;
도 10은 실시예에 따르는 신뢰성있는 클라우드 서비스들 프레임워크 또는 에코시스템의 예시적 비-한정적 블록도이다;
도 11은 신뢰성있는 클라우드 서비스 에코시스템에 따라 데이터를 발행하기 위한 예시적 비-한정적 프로세스를 도시하는 플로우 다이어그램이다;
도 12는 신뢰성있는 클라우드 서비스 에코시스템에 따라 데이터를 구독하기 위한 예시적 비-한정적 프로세스를 도시하는 플로우 다이어그램이다;
도 13은 신뢰성있는 에코시스템 내 클라우드 서비스 제공자, 키 생성을 위한 센터 그리고 암호화 기술 제공자의 분리를 보여주는 예시적 에코시스템을 도시한다;
도 14는 기업들을 위하는 클라우드 서비스들을 수행하기 위한 신뢰성있는 에코시스템의 추가적인 이점들을 도시하는 다른 구조적 다이어그램이다;
도 15는 신뢰성있는 클라우드 서비스들 에코시스템에 따라 저장 추상화 레이어를 통한 다른 저장 제공자들의 수용을 도시하는 다른 블록도이다;
도 16은 다양한 저장 제공자들의 저장 세부 사항들을 추상화하는 저장 추상화 서비스에 관련된 저장부의 추가적인 측면들을 도시한다;
도 17은 신뢰성있는 클라우드 서비스 에코시스템 내 다양하고 다른 참여자들을 도시하는 다른 블록도이다;
도 18은 다른 부분들이 다른 또는 동일한 엔티티들에 의해 제공될 수 있는 신뢰성있는 클라우드 컴퓨팅 시스템의 예시적, 비-한정적 구현의 일부 레이어들의 대표도이다;
도 19-20은 발행자 제어 선택적 접속을 후기 바인딩을 가진 데이터에 제공하도록 문서들을 디지털 금고 애플리케이션에 발행하는 예시적 비-한정적 프로세스 및/또는 시스템을 도시하는 플로우 및 블록 다이어그램이다;
도 21-22는 디지털 금고 시나리오에 따라 데이터를 구독하기 위한 예시적, 비-한정적 프로세스 및/또는 시스템의 플로우 및 블록 다이어그램들이다;
도 23은 하나 이상의 데이터 센터들을 통해서 보안 엑스트라넷을 구현하기 위해서 디지털 에스크로 패턴을 사용하는 신뢰성있는 클라우드 서비스 에코시스템의 예시적 비-한정적 구현을 도시한다;
도 24는 클라우드 서비스 제공자에 의해 저장되는 암호화된 데이터에 대하여 구독자에게 선택적 접속이 주어지는 신뢰성있는 클라우드 서비스 에코시스템을 기초로 하는 다른 예시적 비-한정적 시나리오를 도시하는 플로우 다이어그램이다;
도 25는 사용자 자격증을 기초로 구독자에 대해 조정되는 애플리케이션 응답을 도시하는 다른 플로우 다이어그램이다;
도 26은 단일 당사자 또는 복수의 당사자들을 위해서 구현될 수 있는, 안전한 기록 업로드 시나리오를 도시하는 다른 플로우 다이어그램이다;
도 27은 예를 들면 단일 당사자의 의한 자동화 검색과 같은, 신뢰성있는 클라우드 서비스 에코시스템의 의해 가능해지는 검색 가능 암호화된 데이터 저장부 상의 역할-기반 문의의 예시적 비-한정적 구현예를 도시하는 또 다른 플로우 다이어그램이다;
도 28은 하나 이상의 시나리오들에 따라 기업, 키 생성을 위한 센터 그리고 클라우드 서비스 제공자 사이의 신뢰성있는 클라우드 서비스 에코시스템의 구현예의 블록도이다;
도 29는 기업이 외부 기업에 대하여 암호화된 데이터의 일부에 대한 접속을 제공하는 복수-당사자 협력 시나리오를 도시하는 플로우 다이어그램이다;
도 30은 복수의 기업들 사이에서 복수-당사자 자동화 검색 시나리오를 도시하는 플로우 다이어그램이다;
도 31은 하나 이상의 시나리오들에 따르는 복수의 기업들, 키 생성을 위한 센터와 클라우드 서비스 제공자 사이의 신뢰성있는 클라우드 서비스 에코시스템의 구현예의 블록도이다;
도 32는 신뢰성있는 클라우드 서비스를 위해 구현될 수 있는 예시적 비-한정적 ECN(edge compute network)기술을 도시한다;
도 33은 신뢰성있는 클라우드 서비스 에코시스템을 따르는 키 생성을 위한 센터의 하나 이상의 선택적 측면들을 도시하는 블록도이다;
도 34-35는 예를 들면 데이터 소유의 증명과 같은 확인을 실시예 안의 신뢰성있는 데이터 서비스들의 예시에 포함하는 것을 도시한다;
도 36은 신뢰성있는 서비스 에코시스템을 따르는 데이터 서비스의 데이터의 예시적 확인을 도시하는 블록도이다;
도 37-38은 예를 들면 복구성의 증명과 같은 인증을 실시예 내 신뢰성있는 데이터 서비스의 제공에 포함시키는 것을 도시한다;
도 39는 신뢰성있는 서비스 에코시스템을 따르는 데이터 서비스의 데이터의 예시적 인증을 도시하는 블록도이다;
도 40은 서비스 자신의 제공에 독립적으로, 서비스의 사용에 적용가능한 다른 조건들의 집합을 기초로 발행자들과 구독자들의 사용을 위한 복수의 다른 오버레이들 또는 디지털 에스크로의 제공을 도시하는 블록도이다;
도 41은 여기서 서술된 다양한 실시예들이 구현될 수 있는 예시적 비-한정적 네트워크 된 환경을 나타내는 블록도이다;
도 42는 여기서 서술된 다양한 실시예들의 하나 이상의 측면들이 구현될 수 있는 예시적 비-한정적 컴퓨팅 시스템 또는 운용 환경을 나타내는 블록도이다.
개요
배경 기술에서 논의된 바와 같이, 네트워크 서비스로 전송되는 백업 데이터는 데이터가 예를 들면 사용자의 장치로부터 네트워크 애플리케이션, 서비스 또는 데이터 저장부로 전송될 때, 사생활 보호, 잠재적 간섭 등과 관련해서 불편함을 생성할 수 있고, 사용자는 악의의 제 3자가 그들에게 위해를 가하지 않음에 대한 충분한 보장이 필요하다. 정의에 따르면, 사용자는 데이터에 대한 제어를 상실한다. 따라서 백업 데이터의 발행인들 및/또는 수요자들이 발행인들 및/또는 소유자 또는 요청자 신원에 기초하여 인증되는 권한이 주어진 임의의 사람에게 의해 접속되는 경우를 제외하고는, 네트워크상에서, 이들 데이터가 존중되고 개인적으로 유지될 것이라는 점에 대한 신뢰를 하고 그들의 백업 데이터에 대한 물리적 제어를 넘길 수 있도록 신뢰를 상승시키는 것이 바람직하다.
아래에서 다양한 비한정적 실시예들에서 서술되는 바와 같이, 암호화된 데이터를 가지는 가동 가능 외장형 합성 완전체를 유지하는 기술들은 네트워크 데이터 백업 서비스들의 실시예의 일부로 제공된다. 다수의 기업 생산 서버들 그리고 서비스들은 통상의 합성 완전체를 구현하는 능력을 제공하고, 많은 서버, 예를 들면 Microsoft Exchange는 CCR(cluster continuous replication)과 SCR(standby continuous replication)의 형태로 고객 사이트들에 이 능력을 배치한다. 그러나 CCR 및 SCR에 있어서, 배경 기술에서 시사된 바와 같이, 데이터에 대한 제어는 클라우드 서비스 제공자 또는 다른 데이터 서비스 제공자가 저장을 수행하는 경우처럼, 제 3자에게 넘겨지지 않는다.
여기서 서술된 것과 같은 데이터 백업 서비스들의 실시예는 보안 및 사생활 보호 솔루션은 물론이고 비용-효율을 가능하게 하는 저장 및 암호화 기술들의 다양한 조합과 순열들을 포함한다. 예를 들면, 아래에서 보다 상세하게 서술된 다양한 선택적 실시예들은 크기-보존-암호화, 검색가능-암호화, 그리고 접수증(proof of application)이라고 불리는 암호화 기술을 포함하는 암호화 기술들을 포함하는 "합성 완전체(synthetic full)"이라고 지칭되는 데이터 보호 기술을 구현한다. 이런 실시예들은 오늘날 고객의 개인 정보 보호 또는 보안의 실패 없이는 구현될 수 없는 아웃소싱 된 클라우드 데이터 보호, 재난 복구, 또는 분석학에 대한 새로운 비즈니스 시나리오들을 가능하게 한다.
이런 관점에서, 네트워크 서비스들의 통상적 실시예들을 둘러싸고 있는 신뢰의 벽을 제거하기 위해서, 아래에서 서술되는 다양한 실시예들에서 강조되는 다른 장점들은 물론 위에서 식별된 목표들을 달성하는 신뢰성 있는 클라우드 계산과 데이터 서비스 에코시스템 또는 프레임워크들이 제공된다. 용어 "클라우드" 서비스는 일반적으로 사용자의 장치로부터 로컬하게 수행되는 것이 아니라, 하나 이상의 네트워크들을 통해서 접속 가능한 하나 이상의 원격 장치들로부터 전달되는 서비스들의 개념을 지칭한다. 사용자의 장치는 하나 이상의 원격 장치들에서 어떤 일이 일어나고 있는지에 대한 세부내용을 이해할 필요성을 가지지 않기 때문에, 서비스는 사용자 장치의 관점에서 "클라우드"로부터 전달되는 것으로 인식된다.
한 실시예에서, 시스템은 키 생성기(key generator)를 포함하고, 키 생성기는 데이터의 출판 또는 구독에 관한 키 정보(key information)를 생성한다. 키 생성기로부터 독립적으로 구현된 암호화 기술 제공자는 키 생성기에 의해 생성된 키 정보를 기초로 검색 가능한 암호/암호 해독 알고리즘(들)을 구현한다. 추가적으로, 키 생성자와 암호화 기술 제공자로부터 독립해서 구현되는 네트워크 서비스 제공자는 암호화 기술 제공자에 의해 암호화된 데이터에 관해서 네트워크 서비스를 제공한다.
한 실시예에서, 적어도 하나의 편집자가 리소스(들)를 나타내는 데이터를 데이터 저장부에 출판하는 접속 가능, 예를 들면 검색 가능한, 암호화된 데이터를 선택적으로 공개하는 데이터 저장부가 제공된다. 신뢰 남용에 대한 잠재성 분과의 제공에 있어서, 제 1 독립 엔티티(entity)는 암호화 키 정보 생성을 수행한다. 제 2 독립 엔티티는 그 다음 순서로 제 1 독립 엔티티에 의해 생성된 암호화 키 정보에 기초하여 저장하기 전에 출판된 데이터의 암호화를 수행한다. 그 다음에 네트워크 또는 클라우드 서비스들의 집합이 편집자(들) 또는 리소스(들)의 소유자(들)에 의해 허가받은 레이트 바운드(late bound) 선택된 특권들을 기초로 네트워크 서비스에 대한 특정 요청에 대한 암호화된 데이터를 선택적으로 접속한다.
다른 실시에들에서, 데이터 저장부는 선택적으로 접속 가능한 암호화된 데이터를 저장하고 여기서 구독자(들)는 암호화된 데이터의 특정한 부분 집합을 구독한다. 제 1 독립 엔티티는 구독자(들)와 결부된 신원 정보를 기초로 암호화 키 정보를 생성하고, 제 2 독립 엔티티는 제 1 독립 엔티티에 의해 생성된 암호화된 키 정보를 기초로 특정 부분 집합의 암호 해제를 수행한다. 네트워크 서비스(들)는 구독자(들)의 요청에 응답하고 편집자(들) 또는 리소스(들)의 소유자(들)에 의해 허가받은 후기 바운드(late bound) 선택된 특권들을 기초로 암호화된 데이터에 대한 선택적 접속을 제공한다.
이런 관점에서, 용어들 편집자와 구독자는 일반적으로 각각 신뢰성 있는 클라우드 서비스의 데이터를 편집 또는 구독하는 사람을 지칭한다. 그러나 실생활에서, 업종, 분야, 또는 신뢰성 있는 클라우드 서비스 에코시스템의 애플리케이션과 디지털 조건부 양식에 따라, 편집자들과 구독자들은 좀더 구체화된 역할을 행한다. 예를 들면, 전체 시스템의 백업 데이터 맥락에서, 일반적으로 구독자들의 작은 집단만이 백업 데이터 접속 권한을 가진다. 백업 데이터의 맥락의 예시에서, 암호화된 백업 데이터 저장부의 감사관은 백업의 빈도와 같은 특정 요건들의 충족을 콘텐츠 자체에 대한 접속 허가 없이도 보증하기 위해서, 백업 데이터의 감사관의 역할을 기초로 특정 능력들을 가질 수 있다.
이들의 추가적인 세부 사항들과 다른 다양한 예시적, 비한정적 실시예들과 시나리오들이 아래에서 제공된다.
안전하고 사적인 백업 저장부 및 프로세싱
언급된 바와 같이, 다양한 데이터 보호 기술들이 보안과 신뢰를 유지하면서 제 3자에게 서비스들로 하여금 서비스들을 제공할 수 있도록 하는 것과 함께 데이터의 백업과 관련되어 적용된다. 뒤따르는 서술은 우선 합성 완전체 기술에 대한 간략한 개요를 제공한다. Microsoft의 Exchange Server와 같은 많은 기업용 서버들은 전체, 증분 그리고 차등 백업들을 추출하는 능력을 제공한다. 차등 백업(differential backup)(종종 줄여서 차등이라고 지칭됨)은 마지막 전체 백업 이후의 변화들을 포함하고, 그리고 증분 백업(종종 줄여서 증분이라고 지칭됨)은 가장 최근 전체 백업 또는 증분 백업 이후의 변화들을 포함한다.
예를 들면, Exchange 서버에 있어서, 전체 백업은 EDB(Exchange DataBase)의 복사이고, 중분 그리고 차등 백업은 저널 로그이다. 다른 예시로서, 테이프-기반 백업 시스템에서, 이들 전체 그리고 차등 또는 증분 백업들은 테이프에 저장되어 있고 필요한 시기에 가장 최근 전체 백업이 테이프로부터 복구된다. 그 다음에, 만약에 차등이 있다면, 그 뒤에 그것이 테이프로부터 복구되고 최근 복구된 전체 백업에 적용된다. 만약에 증분이 있다면, 그 뒤에 그들은 테이프로부터 복구되고 데이터를 최신으로 만들기 위해서 순서대로 전체에 적용된다.
일부 보다 최신 디스크-기반 백업 시스템들에 있어서, 주기적 전체 백업들(종종 줄여서 전체들로 지징됨)과 차후 증분들은 주 서버(가동중인 서버)로부터 테이프를 대신하여 백업들을 호스트 하는 디스크-기반 서버로 전송된다. 증분들이 로그들의 형태로 도착하면, 데이터를 최신으로 유지하기 위해서 그들은 백업(또는 "부차적") 서버에 유지되고 있는 전체 분에 적용된다. 원격에 위치하는 서버에 최신 복사본을 유지하는 이런 메커니즘은 "합성 완전체(synthetic full)"이라고 지칭된다. 최근의 CDP(continuous data protection) 시스템들에서, 합성 완전체는 백업 서버상의 복사본을 최신 상태로 유지하기 위해서 주 서버상의 변경을 백업 서버에 스트림하고 서버상에 이들 변경을 적용하는 방식으로 유지된다.
합성 완전체들의 효율성의 두 가지 척도들은 RPO(recovery point objective)와 RTO(recovery time objective)이다. RPO는 주 서버가 임의의 이유로 분실되는 경우에 분실될 수 있는 데이터 용량의 상한이다. RTO는 주 서버가 임의의 이유에 의해 오프라인 되는 때와 제 2 서버가 완전한 기능을 가지고 온라인 상태가 되는 때 사이의 시간 간격의 상한선이다. 합성 완전체는 증분 로그들이 이미 백업에 적용(또는 "재생")되었기 때문에 과거의 테이프-기반 메커니즘들에 비해 상당히 개선된 RTO를 제공한다. 일반적인 기업 시나리오에서, 가장 최근의 완전체 이후에 생성된 수천 개의 로그들이 있을 수 있고, 제 2 복사본이 최신 상태로 유지되기 위해서 수천 시간이(또는 며칠까지도) 적용되어야(또는 "재현")할 수도 있다. 따라서, 합성 완전체는 RTO를 상당히 개선할 수 있다. RPO 또한 개선될 수 있으며 이는 분실되거나 오염된 로그들이 없다는 보증이 있을 때까지 잠재적 데이터 손실이 정확하게 한정될 수 없기 때문이다. 제 2 사이트에서 후처리 공정을 사용해서, 이것은 로그들을 합성 완전체를 유지하는 것의 일부로 재생함으로써 달성될 수 있다.
일반적으로, 합성 완전체는 주 사이트에서 주 복사본의 분실이 발생하는 임의의 실패로부터 주 사이트가 복구된 후에 다시 복사본이 주 사이트를 전송될 수 있도록 제 2 사이트에서 유지된다. 합성 완전체는 또한 주 센터가 실패할 때 제 2 센터의 복구 서비스로서 이 복사본을 배치함으로써 거의-근접 서비스 복구를 제공하기 위해서 유지될 수 있다. 합성 완전체는 또한 데이터베이스 내의 객체들의 섬세한 복구를 위한 도구이다. 예를 들면, Exchange에 대하여, 이는 EDB로부터 메시지들, 업무 또는 달력 항목들을 추출하는 것을 포함한다. 이것은 주 사이트에서의 사고 또는 악의적 삭제 때문일 수도 있고, 또는 주 서버가 작업으로 돌아가고 주서버가 데이터 손실을 유발한 실패로부터 백업 되는 "다이얼 톤(Dial Tone)" 복구를 위한 주 센터로 항목들을 스트림 백(stream back) 할 필요성 때문일 수도 있다. 이런 관점에서, 서비스는 사용자들에게 사용 가능한 상태로 제공되고 그들은 그들의 데이터가 제 2 복사본으로부터 스트림 백 되는 동안에 메일을 송수신할 수 있다.
데이터 보호 및 재난 복구 능력들에 더해서, 합성 완전체는 또한 기업 기밀부터 침해 감지에 이르는 분석 범위에 의한 이용에 대하여 사용가능할 수 있다. 다양한 서비스들이 또한 eDiscovery, Compliance, Governance, Security 그리고 BI를 포함하지만 이에 한정되지 않는 다양한 애플리케이션들을 위한 데이터 후처리를 위해서 제 2 복사본에 대하여 실행될 수 있다. 그러나 데이터 보호 및 재난 복구 사유 등을 위하여, 제 2 서버가 주 서버와 독립적으로 실패들로부터 살아남을 수 있도록, 일반적으로 제 2 서버를 원격 장소에 호스트 할 필요성이 있다. 추가적으로, 작업상의 복잡함이 외부 조직에 위탁될 수 있다. 예를 들면, 클라우드 서비스 제공자는 기업으로 하여금 비용 그리고 그들의 기업 데이터의 복수의 복사본의 유지의 복잡함을 감당할 필요없이, 그리고 구현을 위해 개발 리소스들을 소비할 필요없이, 모든 이들 애플리케이션들을 가능하게 할 수 있는 클라우드 백업 서비스를 제공할 수 있다.
배경 정보에서 시사된 바와 같이, 서비스 조직이 소유하는 원격 사이트에 민감한 기업 데이터의 유지하는 것은 개인 정보 침해부터 데이터 손실에 이르는 위함을 데이터에 부가할 수 있다. 여기서 다양한 실시예들에 대하여 서술된 바와 같이, 개인 정보 보호는 데이터가 주 데이터 센터를 벗어나기 전에 데이터를 암호화하는 것을 포함한다. 그러나, 이는 제 2 사이트에서의 데이터 손상 및 오염으로부터 데이터를 보호할 수 없다. 추가적으로, 데이터의 통상적인 암호화는 합성 완전체의 유지를 위한, 합성 완전체의 일부로써 관리 작업들의 수행을 위한, 그리고 서비스들의 구현을 위해 복사본의 접속을 위한 임의의 데이터 후처리를 불가능하게 할 수 있고, 이들 중 일부는 위에서 개요가 설명되어 있다.
도 1은 여기서 서술된 바와 같은 백업 서비스들의 하나 이상의 실시예들을 제공하는 일반적 환경의 블록도이다. 일반적으로, 계산 장치(들)(100)(예를 들면 백업 고객)는 제어부(110)의 제 1구역에 있고, 계산 장치(들)(120)(예를 들면 클라우드 서비스 제공자들)는 제어부(130)의 제 2구역에 위치하고, 계산 장치(들)(160)는 제어부(190)의 제 3구역에 위치하고 암호화 기술 제공자(180)는 제어부(196)의 제 3구역 내에서 제공된다. 각각의 계산 장치(들)(100, 120, 160)는 각각 프로세서(들)(P1, P2, P3)와 각각의 저장부(M1, M2, M3)를 포함할 수 있다. 이런 측면에서, 다양한 비한정적 실시예들에 따라 서술된 바와 같이, 항목들이 클라우드로부터 복구되고, 분석 서비스들(170)의 집합이 장치(들)(100)의 로컬 데이터 집합을 기초로 클라우드 안에 유지되는 암호화된 합성 완전체 백업 데이터(145)에 입각할 수 있도록 클라우드 내에서 암호화된 백업 데이터(140)를 가능케 하는 기술들이 제공된다.
아래에서 보다 상세하게 서술되는 바와 같이, 다양한 암호화 기술들이 서비스 사용자들을 위한 부인 방지(non-repudiation) 및 개인 정보 보호의 강한 보장을 제공하는 백업 서비스들의 실시예에 포함된다. 이들 암호화 기술들을 데이터 보호기술들과 통합함으로써, 합성 완전체는 원격 서비스로 유지될 수 있고 계층화된 애플리케이션들이 데이터의 소유자와 기업 고객("고객")들이 데이터를 호스팅하는 엔티티, 또는 클라우드 서비스 제공자 또는 오퍼레이터("CSP")에 의해 수행될 수 있는 작업들의 종류에 대하여 정밀한 제어를 가질 수 있도록 하는 방식으로 합성 완전체 데이터 위에서 구현될 수 있다. 추가적으로, 이들 작업들 중 다수는 고객들을 위해서, 작업들이 수행되는 데이터의 실체 콘텐츠를 배우거나 판독 없이 CSP에 의해 수행될 수 있다. 마지막으로, 고객들은 CSP가 부적절하게 데이터의 숙제 또는 변경, 또는 데이터를 낮은-퍼포먼스 제 2 또는 제 3의 저장부로 이동시켰는지 여부를 감지할 수 있다.
언급된 바와 같이, 예를 들면 보안성 및 프라이버시를 증가시키기 위해, 다양한 암호화 기술이 백업 서비스와 통합되어 고객이 백업 데이터에 대한 통제를 포기하도록 고객에게 신뢰를 제공한다.
예를 들면, 검색 가능한 암호는 암호화 이전에 핵심 메타데이터가 데이터에서 복제되는 암호화 방법이다. 비한정적 예시로써, Exchange 이메일의 경우에 있어서, 데이터는 알고리즘들을 가지는 메시지이고 핵심 메타데이터는 선택된 MAPI(messaging application programming interface) 속성들과 전문 인덱스(full-text index)를 포함할 수 있다. 예를 들면, 데이터는 예를 들면 AES(advanced encryption standard)를사용하여 암호화되고, 반면 메타데이터는 암호화된 인덱스들을 생성하는 방식으로 암호화된다. 그 결과, 암호화된 데이터와 인덱스들은 이제 CSP와 같이 완전히 신뢰 될 수는 없는 다른 엔티티로 넘겨질 수 있다. 통합된 암호화된 데이터와 인덱스들에 대한 뒤따르는 선택적 접속은 데이터의 소유자, 고객에 의해 암호화된 문의를 CSP(또는 다른 권한 있는 구독자들)에게 전송을 통해서 달성될 수 있다. 따라서, CSP는 암호화된 문의를 암호화된 인덱스틀에 적용할 수 있고 매칭되는 암호화된 데이터를 돌려받을 수 있으나, 그러나 CSP는 데이터의 콘텐츠, 메타데이터, 문의, 또는 결과에 대해서 어떤 것도 취득하지 못한다(고객에 의해 권한이 주어진 경우를 제외).
소지의 입증 및 복구 가능성의 입증은(proof of possession and proof of retrievability), "입증자(prover)" (이 경우에는 백업 저장부를 제공하는 CSP)와 "증명자(verifier)" (고객)은 증명자가 효율적으로 그들이 소유하는 데이터가 완전하고 CSP와 같은 데이터의 프로세서로부터 손쉽게 복구에 있어서 사용가능한지 여부를 판단하는 프로토콜에 관여할 수 있다. 이들 기술들은 네트워크 대역폭, 그리고 CSP가 수행하는 작업들에 있어서 효율적이고, 그래서 CSP의 COGS(cost of goods sold)가 상대적으로 변하지 않은 채로 유지되고 프로토콜 완성 시간이 상당히 짧다.
백업 데이터 서비스들의 실시예들로 통합될 수 있는 다른 암호화 기술은 애플리케이션의 입증(proof of application)이다. 소지의 입증과 유사하게, 애플리케이션의 입증은 증명자로 하여금 합성 완전체가 입증자, CSP에 의해 바르게 유지되고 있는지 여부를 확인하는 것을 가능케 한다.
애플리케이션의 증명에 관하여, 증분 백업들이 주 사이트에서 위탁될 수 있는 클라우드 안에 위치할 수 있는 원격 제 2 사이트로 스트리밍 될 때, 원격 엔티티, 그들의 SLA(service level agreement)에 대하여, 합성 완전체를 유지하기 위해서 즉시 증분들을 제 2 사이트에서 보관하고 있는 복사본에 적용하도록 예상된다. 그러나 제 2 사이트의 원격 엔티티는 실수 또는 물건들에 대한 비용 절감의 필요성 때문에, 이들 로그들을 적용하지 않는 것을 선택할 수 있고, 예를 들면 그들은 이들 로그들을 나중에 서버 활용이 낮은 기간들에 적용을 선택할 수 있다.
로그들 적용에 있어서 이런 지연의 결과는 주 서버/사이트의 실패가 그 윈도우 동안에 발생하는 경우에 저하된 RTO, 또는 주 사이트 실패시에 제 2 사이트에서 서비스를 복구하는데 걸리는 시간에 대한 상한선에 대한 저하를 초래한다. 추가적으로, RPO, 또는 주 서버/사이트가 사라지는 임의의 경우에 손실될 수 있는 생산 데이터의 상한선은, 저하될 것이다. 그 이유는 만약에 로그들이 적용되지 않는다면, 애플리케이션의 증명 메커니즘 없이는, 데이터 백업 소유자 또는 고객은 변경하기에는 늦은 때가 될 때까지 도사리는 문제점을 인지하지 못할 수 있고, 이는 생산 데이터의 분실을 초래한다.
Exchange를 비-한정적 예시로 사용해서, 증분적 백업들은 거래 로그들의 형식이고, 이들은 기록들의 순열들이다: 페이로드(payloads)는 적합하게 암호화될 수 있고 메타데이터는 그들이 합성 완전체를 유지하기 위해서 로그들을 재생할 수 있도록 제 2 /클라우드 사이트 오퍼레이터에 가시 될 수 있다. 업데이트되는 EDB(exchange database)는 4-레벨 B+ 트리이고, 생산 노드들을 포함하는 리프 노드들(leaf nodes)을 포함한다. 증명자는 임의의 로그들 적용 후에 목표 EDB의 모습을 인지한다. 물리적 페이지들의 할당은 사용되는 할당자에 따라 임의적일 수 있으나, 저널 로그의 인커밍 기록 포맷으로부터 로지컬 B+트리로의 결정론적 맵핑이 있다.
증명자는 또한 아마 B+ 트리들 안에 저장될 수 있는 암호화된 기록 페이로드 내 임베디드된 정보를 가질 수 있다. 이런 경우에, 애플리케이션의 증명은 증명자 또는 데이터의 사용자가 입증자(prover) 또는 합성 완전체들의 유지에 책임을 지는 엔티티에게 챌린지(challenge)를 보내는 것을 포함한다. 상호 작용의 마지막에서, 증명자는 로그들의 적용 여부를 파악한다.
도 2는 애플리케이션의 증명을 포함하는 백업 서비스들의 하나 이상의 실시예들을 제공하기 위한 일반적인 환경의 블록도이다. 이런 관점에서, 증명자(200)(예를 들면 데이터 소유자 또는 백업 고객)는 입증자(210)(예를 들면 백업 데이터 서비스 제공자)에게 암호화 챌린지(cryptographic challenge)(220)를 발행하고, 입증자(210)는 결과(212)를 증명된 변경 데이터와 암호화 챌린지의 애플리케이션의 함수로서 계산한다. 증명자(200)로 하여금 챌린지 응답(202)을 기반으로 적용된 변경들(예를 들면 증분의 거래 로그들)의 입증을 가능하게 하는 챌린지 응답(230)이 화답 된다.
블라인드 핑거프린트(blind fingerprint)는 일반적으로 네트워크상에서 중복되는 데이터의 교환을 최소화하는 데 사용되는 Rabin Fingerprints와 같은 네트워크 데이터 중복 제거 기술(de-duping technigues)을 확장하는 암호화 기술의 다른 종류를 나타낸다. 여기의 다양한 실시예들에서, 핑거프린팅은 예를 들면 백업 데이터 저장의 경우의 CSP와 같은 프로토콜 내 참여자가 그들이 호스팅하는 데이터의 실체 콘텐츠를 인지하지 못하도록 적용된다.
블라인드 핑거프린트에 대하여 일부 추가적 맥락에서, WAN(wide area networks)에서 합성 완전체의 유지를 포함하는 임의의 커다란 데이터의 교환은, 유선상에서 "데이터 중복 제거" 기술들, 또는 불필요한 데이터가 유선으로 전송되지 않도록 확인하는 것이 요구된다. 이것은 데이터의 세그먼트(segments)의 핑거프린팅과 그리고 전송자에게 그들은 가지고 있지만 수신자가 가지지 않은 것이 무엇인지를 인지할 수 있도록 핑거프린팅을 교환함으로써 달성될 수 있다. 또한, 수신자들은 그들이 전송자에게 어떤 데이터를 요청해야하는지를 인지한다. DFS-R(distributed File Service Replication)은 WAN 상에서 분산 파일 시스템들 및 브랜치 오피스 백업들(branch office backups)과 같은 시나리오들에서 데이터 교환을 최적화하는데 사용될 수 있다.
Exchange의 경우에서, 여기는 데이터의 상당한 중복이 존재하고, 유선상의 데이터의 50% 또는 그 이상까지 임의의 특정 시점에서 복제되는 것이 가능하다. 핑거프린트는 이메일, 달력 항목들, 업무들, 연락처들 등의 객체 레벨 또는 블록 레벨에서 취득될 수 있다. 핑거프린트들은 주 데이터 센터와 부차적 데이터 센터 모두에서 캐시(cache) 될 수 있다. 따라서, 만약에 주 데이터 센터에서 실패가 있더라고, 부차적 데이터는 핑거프린트들과 함께 주 데이터 센터에서 복구될 수 있다. 주 데이터 센터에서의 데이터 암호화는 모호함에도 핑거프린트로 하여금 부차적 데이터 센터 오퍼레이터에 가시 되는 것(visible)을 허용한다. 이것은, 예를 들면, 핑거프린트들을 검색 가능한 암호를 포함하는 키워드들/메타데이터들로 저장하여, 부차적 데이터 센터 내 권한 있는 엔티티들/에이전트들 외에는 다른 엔티티들이 패턴들을 감지할 수 없도록 하는 방식으로 달성될 수 있다.
백업 데이터 서비스들의 맥락에서, 완전체 또는 증분을 전송할 때, 주 데이터 센터는 로그들 내의 각각의 항목/세그먼트/블록, 또는 EDB를 검사할 수 있고, 핑거프린트들의 로컬 복사본을 상담할 수 있다. 만약에 매치가 있다면, 그 뒤에 주 데이터 센터는 항목/세그먼트/블록을 핑거프린트로 대체한다. 여기서 용어 "블라인드 핑거프린트"는 핑거프린팅이 적용되는 방식 때문에 이렇게 지칭된다. 한 실시예에서, 블라인드 핑거프린팅을 달성하기 위한 암호화 기술들의 선택은 크기 보존 암호 기술을 포함한다.
도 3은 블라인드 핑거프린팅을 포함하는 백업 서비스들의 하나 이사의 실시예들을 제공하기 위한 일반적 환경의 블록도이다. 블라인드 핑거프린트에 있어서, 백업 데이터 구독자(300)와 백업 데이터 서비스 제공자(310)는 백업 되는 데이터 집합의 백업 복사본들과 로컬 각각에 어떤 데이터 세그먼트들이 이미 포함되어있는지를 이해하기 위한 프락시(proxy)로서 핑거프린트들을 교환한다. 핑거프린트 교환(320)의 결과로써, 변경 데이터의 감소한 집합이 데이터 서비스 제공자(310)를 백업하기 위해서 중복 제거된 변경 데이터로써 302에서 전송되도록 판단되고, 그 뒤에 이것은 선택적으로 접속된 중복 제거 변경 데이터와 임의의 블라인드 핑거프린트들(240)을 기초로 변경 데이터에 적용된다.
따라서 CSP에 의거하는 백업 데이터들의 실시예들에 기초한 다양한 시나리오들이 상술한 프레임워크(framework)와 저장부 및 컴퓨터 서비스들에서 통신 및 협력 서비스들에 이르는 범위의 대응되는 암호화 기술들을 기초로 하여 부상한다. 더 큰 기업 고객들은 그들의 현재 기업 데이터 센터들 안에 중요한 계산 또는 저장 자산들을 가질 수 있고, 클라우드 서비스들의 도입에 대한 관성이 높을 수 있다. 추가적으로, 고객들은 데이터 센터 작업들에 많은 경험이 있고 익숙하며, OPEX(operation expenses)와 CAPEX(capital expenses) 이점들을 레버리지하기를 원하며, 따라서 클라우드로 이동하는 그들의 민감한 비즈니스 데이터에 대하여 관심을 가진다.
이런 고객들의 클래스에 대하여, 다양한 실시예들에서, 애플리케이션들의 집합이 제공되고 이는 Exchange 서버와 같은 기존의 서버들을 고객의 소유하고 운용하는 것을 포함한다. 데이터의 제 2 복사본은 그 뒤에 데이터 보호, 저장, 준수, 관리, 법적 또는 다른 이유들을 위해서 클라우드 서비스 제공자들에게 위임될 수 있다. 따라서 CSP는 데이터 손실 또는 공개로부터 이 데이터를 보호할 수 있는 실력, 기술들 그리고 경제 규모를 가지고, 제 2 복사본 위에 애플리케이션들의 실행을 용이하게 할 수 있다. 합성 완전체의 유지를 기초로 고객에게 제안될 수 있는 예시적 제품들과 서비스들의 작은 샘플들은 법적 지원, 감시와 관리, 서비스 다이얼-톤, 데이터 검색 등이다.
소송 지원에 관해서, 회사가 소를 제기당할 때, 소송 과정에 의해서 과거 에미일 기록들의 검색을 수행하도록 요구되는 다양한 엔티티들이 있다. 이들 엔티티들은 내부 법률 스텝, HR, 관리자들, 외부 법적 변호인, 그들의 외부 소송 지원 파트너, 그리고 반대편 법적 변호인을 포함한다. 누가 어떠한 검색을 할 수 있는지에 관하여 특정한 영역 규정이 있다. 현재 소송 지원 시나리오들에서, 범위를 한정하는 것은 어렵다. 따라서, 소송 지원과 관련된 임의의 개인이 범위 밖의 이메일을 읽은 것이 가능하다. 이메일의 경우에서, 검색들의 결과는 일반적으로 PST(personal storage table) 파일들의 형식으로 교환되고, 이들 파일들은 부주의 또는 악의적으로 권한 없는 사람들에게 넘겨질 수 있기 때문에, 이는 추가적인 위험을 구성한다.
그에 반해서, 제 2 복사본이 원격적으로 호스팅 되고, 예를 들면 CSP에 의해 클라우드 안에서, 합성 완전체를 통해서 유지될 때, 예를 들면 CLO(chief legal officer)와 같은 기업 내 단일 신뢰성 있는 엔티티로 하여금 작업 중인 개개인에게 그들의 문의 능력들을 그들의 필요로 한정하는 특정 트랩도어들을 제공하도록 할 수 있다. 클라우드 안에서 호스팅 되고 검색 가능 암호를 통해서 보호되는 데이터와 간섭-저항 감사 로그는 부적절한 이메일 접속이 차단되도록 높은 레벨의 보호를 제공한다. 작업 내 모든 개개인들이 문의들을 위해서 클라우드를 직접 접속할 수 있으므로, PST 파일들의 교환 필요성이 제거되고, 소송 지원 파트너가 사건 관리를 위해서 목표 콘텐츠를 TIFF(tagged image file format)으로 변환하기 위해 반출하는 유일한 엔티티이다.
원격 백업 데이터 복사의 감시 및 관리에 있어서, 임의의 상당 크기 회사는 적극적으로 다양한 목적을 위해서 그들의 조직의 이메일을 감시해야 한다. 이들은 법률/준수에서 IP 유출 감시, 표절, 부적절한 언어 등과 같은 이유들의 관리에 이르는 범위를 포괄한다. 일반적으로, 감시 및 관리 소프트웨어는 주 서버들 또는 백업된 또는 저장된 제 2 복사본을 관리한다. 주 서버들의 감시의 문제점은 바쁜 생산 서버들에 과도한 로드를 부과할 수 있다는 점이다. 추가적으로, 관리자가 주서버 상에 사고로 또는 악의적으로 데이터의 변경 또는 삭제할 수도 있기 때문에, 솔루션은 법률을 준수하는 방식으로 데이터를 캡처하고 이를 제 2 복사본으로 전송하고, 여기서 감시 및 관리 소프트웨어는 패턴들의 검색 또는 판독을 위해 인커밍 이메일들을 계속 스캔한다. 그러니 많은 기업 셋업들에서, 이들 제 2 복사본들에 대하여 로컬 관리 접속이 있고, 그 결과로, 지략이 있는 관리자는 간섭 감지와 방지 메커니즘들에도 불구하고 정보들을 변경 또는 삭제할 수 있다.
그에 반해서, CSP에 의해 합성 완전체를 유지하는 것은 유리하게 제어부의 다른 구역의 제 2 복사본을 배치한다. PEKS(searchable public key encryption)와 POP(proof of possession)와 같은 적절한 암호화 기술들은 기업 관리자와 CSP의 고용인들 사이에 충돌이 발생하는 경우에도 그들을 긍정적으로 정확하게 어떤 항목들의 변경을 원하는지를 식별하는 것으로부터 방지하는 것을 보장할 수 있다. 감시 및 관리 소프트웨어는 원격 사이트 또는 클라우드 안에서 실행되고 사전에 제공된 트랩도어들을 통해서 사전에 정해진 특정 키워드들을 가지는 항목들을 검색한다.
서비스 다이얼 톤(service dial tone)에 관해서, 주 센터가 데이터 손실을 초래하는 임의의 실패에 시달릴 때, 복구를 위해서, 가장 최근 백업이 복원되고 서비스는 재시작된다. 서버들의 특정 클래스들에 있어서, 그들의 모든 데이터에 대하여 그들이 접속 권한을 가지는 것보다 최종 사용자에게 서비스가 사용 가능하도록 하는 것이 더 중요하다. 따라서, Exchange와 같은 서버들은, Exchange 메일 서비스들이 실패로부터 복구 후에 최대한 빠르게 재시작되는 "다이얼 톤"이라고 지칭되는 능력을 구현한다. 그 뒤에 사용자는 이메일을 송수신할 수 있고, 백그라운드에 그들의 메일박스의 콘텐츠들이 제 2 백업 복사본으로부터 스트림된다.
클라우드 백업 시나리오들에서, 대역폭은 품귀상태이고, 만약에 그것이 복구의 핵심적 경로에 있다면 클라우드로부터 기업으로의 데이터 복구에 엄청난 시간이 소모될 수 있다. 다이얼 톤과 유사한 솔루션은 "서비스 다이얼 톤"이고, 여기서 예를 들면 Exchange 또는 Outlook과 같은 클라이언트 측면 소프트웨어가 트랩도어를 일정 순서로 원격 사이트 또는 클라우드에 스트림하고, CSP는 결부된 암호화된 메시지를 기업으로 돌려보낸다. 이것은 두 가지 단계로 구현될 수 있다-일 단계는 메시지 토막(몸체 없는 헤더들)을 전송하고; 이 단계는 사용자가 직접 메시지를 접속하려고 시도할 때 실체 몸체와 첨부물들을 요청한다. 상술된 백업 시나리오들에서, 다이얼 톤은 사용자의 사생활 보호와 타협하지 않는 방식으로 구현된다.
데이터 탐색기에 관해서, 일반적인 기업 협업 또는 기록 관리 시나리오에서, 보관소 내에 문서의 복수의 복사본들이 있을 확률이 높다. 예를 들면, 협업자들의 집단은 파워포인트 슬라이드를 이메일을 통해서 각각의 변경안들과 교환할 수 있다. 결과는 어떤 버전이 가장 관련성이 있는지, 또는 가장 최신인지를 판단하기 위해서 최종 사용자들이 엔지니어들을 반전해야할 필요가 있는 버전들의 복잡한 집합이다.
클라우드가 제 2 암호화된 복사본을 호스트 할 때, 서비스는 검색 가능 암호를 통해서 대량의 암호화된 데이터를 작업할 수 있고, 여기서 CSP에게 단지 CSP로 하여금 메시지 ID들, 대화 스레드들, 그리고 익명화된 문서 ID들을 이해할 수 있게 해주는 특정 트랩 도어들이 제공된다. 따라서, 사용자가 특정 문서에 대응되는 트랩도어를 보낼 때, CSP 서비스는 보관소를 가로질러 최선의 매치(match)로 돌아올 수 있다. 이것은 가장 최신 버전으로부터 버전들의 전체 체계를 아우른다.
따라서, 서술된 다양한 실시예들에 따라, 합성 완전체는 완전 및 증분 백업들을 지원하는 임의의 서버/서비스에 대하여 구현될 수 있다. 이 섹션에서, Exchange는 예시적 시나리오로 사용되었지만, 임의의 종류의 백업 데이터들이 지원됨을 이해해야할 것이다. 그래서, 본 실시예는 Exchange 데이터의 맥락에서 논의되었지만, 여기서 서술된 실시예들은 메시지 데이터로 제한되지 않는다. 아래의 단계들이 합성 완전체 유지를 위해서 실행된다.
1. 완전 백업 추출: 소프트웨어 에이전트는 주 Exchange 서버에서 ESE(extensible storage engine) 또는 VSS(volume shadow copy service) 백업 APIs(application programming interfaces)의 적용을 통해서 완전 백업을 개시한다. 이는 EDB들의 복사본, 백업되는 저장 집단 내 STMs(streaming database files)와 로그들을 제공한다.
2. 완전 백업 준비: EDBs, STMs 및 로그들은 소프트웨어 에이전트에 의해서 횡단되고 생산 데이터는 크기 보존 방법(size preserving manner)으로 암호화된다. 구조적 메타데이터는 검색 가능 암호를 사용해서 암호화된다. 합성 완전체를 유지하는 원격 엔티티가 로그들 또는 EDBs를 횡단할 수 있도록 트랩도어들을 사용할 수 있도록 암호화된 트랩도어들이 생성된다.
3. 완전 백업 전송: EDBs, STMs 그리고 로그들이 네트워크 최적화 방법으로 제 2 사이트로 전송된다.
4. 완전 백업 베이스라인 저장부: 제 2 사이트는 새롭게 수신된 집합을 뒤따르는 합성 완전체 작업들을 위한 베이스라인으로 저장한다. 완전 백업은 일반적으로 복원, 또는 오프라인 조각 모으기와 같은 특정 이벤트들 이후에 반복된다.
5. 증분 백업: 완전 백업 후에, 소프트웨어 에이전트는 ESE 또는 VSS 백업 APIs를 사용하여 Exchange로부터 증분 추출을 실행한다. 이것은 마지막 완전 또는 증분 이후에 생성된 모든 로그들의 복사본을 제공한다.
6. 증분 백업 준비: 로그들은 소프트웨어 에이전트에 의해서 횡단되고 생산 데이터는 크기 보전 방식에 의해 암호화되고 구조적 메타데이터는 검색가능한 방식으로 암호화된다.
7. 증분 백업 전송: 로그들이 네트워크 최적화 방법으로 제 2 사이트에 전송된다.
8. 증분 로그 접속: 증분 백업 전송 후에, 예를 들면, 바로 후에, 제 2 사이트의 엔티티들이 제 2 사이트가 EDB, STM 및 로그 구조적 메타데이터를 접속하고 로그들의 횡단하고 그들을 EDBs에 적용할 수 있도록 대역 외(out-of-band)에서 제공되는 트랩도어들을 사용한다.
9. 로그 적용{"재생"): 증분 로그 접속 후에, 예를 들면 바로 후에, EDBs를 최근 상태로 유지하기 위해서 로그들이 적용된다.
10. 항목 복구: 항목, 또는 항복들의 스트림을 복구하기 위해서, 합성 완전체를 통해서 유지된 제 2 복사본으로부터, 제 2 데이터 센터의 소프트웨어 에이전트는 항목(예를 들면, 메시지, 달력 항목, 업무, 연락처, 등)을 복구될 EDB로부터 일반적으로 주 데이터 센터로 추출하는데 사용되는 트랩도어를 수신한다.
11. 분석/복구: 이전 집합으로부터의 항목, 또는 항목들의 스트림의 수신자는 생산 데이터의 암호화에 사용된 대칭 키들(symmetric keys)에 대한 접속권을 가지고 복구에서 분석을 아우르는 애플리케이션들에 대한 항목들을 사용할 수 있는 권한 있는 엔티티이다.
그래서, 상술된 기술들과 일관되게, 아래와 같은 다양한 실시예들이 서술된다. 도 4는 암호화된 데이터와 메타데이터와 트랩도어 데이터를 기초로 정의된 데이터 집합을 위한 합성 완전체 데이터를 유지하기 위한 예시적 비-한정적 서비스 측면 과정을 도시하는 플로우 다이어그램이다. 400에서, 제어부의 제 1 영역 내 계산 장치는, 제어부의 제 2구역의 계산 장치로부터, 암호화 키 정보를 기초로 한 검색 가능 암호 알고리즘에 따라 제어부의 제 2구역 내의 계산 장치의 정의된 데이터 집합을 위한 완전 백업 데이터의 암호화로부터 형성된 암호화된 데이터를 수신한다. 410에서, 제어부의 제 1 영역 내 계산 장치는 암호화 키 정보에 기초한 분석의 출력의 암호화와 완전 백업 데이터의 분석으로부터 형성된 암호화된 메타데이터를 수신한다. 420에서, 트랩도어 데이터가 수신되고 이는 암호화된 데이터에 대한 가시적, 또는 선택적인 접속을 가능케 한다. 430에서, 백업 서비스는 암호화된 데이터, 암호화된 메타데이터 그리고 트랩도어 데이터를 기초로 정의된 데이터 집합을 위해서 합성 완전체 데이터를 유지한다.
도 5는 실시예에 따라서 합성 완전체 데이터를 유지하기 위한 예시적 비-한정적 고객 측면 프로세스를 도시하는 플로우 다이어그램이다. 500에서, 제어부의 제 1 영역 내 계산 장치의 메모리 안에 저장된 주 데이터의 완전 백업은 제어부의 제 2 영역 내 원격 계산 장치에 의해 주 데이터를 위한 합성 완전체 백업 데이터를 유지하는데 사용되는 완전 백업 데이터를 형성하도록 개시된다. 510에서, 구조적 메타데이터는 주 데이터를 서술하는 주 데이터의 횡단을 기초로 생성된다. 520에서, 주 데이터와 구조적 메타데이터는 암호화 키 정보를 생성하는 키 생성기로부터 수신된 암호화 키 정보를 기초로 하는 검색가능한 암호화 기술(들)에 따라 암호화된 메타데이터와 암호화된 데이터를 생성하기 위해서 암호화된다. 530에서, 암호화 트랩도어들은 암호화 트랩도어들에 의해 정의된 암호화 데이터의 횡단을 가능하게 하는 암호화 키 정보를 기초로 생성된다.
도 6은 합성 완전체 데이터를 유지에 대한 실시예 안의 데이터 항목들의 복구를 위한 예시적 비-한정적 프로세스를 도시하는 플로우 다이어그램이다. 600에서, 구독하는 계산 장치(들의 데이터 집합의 데이터 항목(들)의 복구는 백업 데이터 서비스에 의해 합성 완전체 백업 서비스를 위한 검색 가능 암호화된 포맷 내의 데이터 집합에 대응되는 합성 완전체를 유지하는 백업 데이터 서비스가 요청된다. 610에서, 데이터 항목(들)은 검색 가능한 암호화된 포맷으로 수신된다. 620에서, 구독 장치(들)에 접속 가능한 데이터 집합을 암호화하는데 사용된 암호화 키 정보를 기초로, 데이터 집합의 데이터 항목(들)이 구독 계산 장치(들)의 메모리 안에 복구된다.
도 7은 애플리케이션의 증명을 포함하는 백업 서비스들을 제공하기 위한 예시적 비-한정적 프로세스를 도시하는 플로우 다이어그램이다. 700에서, 변경 데이터(예를 들면 완전 또는 증분으로 표시되는 거래 로그들)가 암호화 키 정보를 생성하는 키 생성기로부터 수신된 암호화 키 정보를 기초로 한 검색 가능한 암호에 따르는 제어부의 제 1 영역 내 계산 장치의 데이터 집합에 변경안들의 집합을 나타내는 암호화된 변경 데이터를 형성하도록 암호화된다. 710에서, 암호화된 변경 데이터는 제어부의 제 2 영역 내 계산 장치에 의해 저장되는 합성 완전체 백업 데이터의 업데이트를 위해서 제어부의 제 2 영역 내 계산 장치에 전송된다. 720에서, 제어부의 제 2 영역 내 계산 장치가 백업 서비스로서 약정에 대하여 합성 완전체 백업 데이터를 업데이트하기 위해서 변경안들의 집합을 합성 완전체 백업 데이터에 적용함이 입증되었다.
도 8은 앞에서 서술된 바와 같은 블라인드 핑거프린팅을 포함하는 백업 서비스들을 제공하기 위한 예시적 비-한정적 프로세스를 도시하는 플로우 다이어그램이다. 800에서, 변경 데이터는 암호화 키 정보를 생성하는 키 생성기로부터 수신된 암호화 키 정보를 기초로 하는 검색 가능한 암호화 알고리즘에 따라 제어부의 제 1 영역 내의 계산 장치의 데이터 집합에 변경안들의 집합을 나타내는 암호화된 변경 데이터를 형성하도록 암호화된다. 810에서, 데이터 집합에서 나타난 데이터 세그먼트(들)는 실제 변경 데이터들을 대체하기 위한 핑거프린트들을 형성하기 위해서 핑거프린트되는 데이터 집합에서 나타나고 여기서 대응되는 데이터 세그먼트는 데이터 집합의 데이터 세그먼트들을 나타내는 핑거프린트들의 로컬 집합 내에서 표현되도록 판단된다. 820에서, 암호화된 변경 데이터는 제어부의 제 2 영역 내 계산 장치에 의해 저장된 합성 완전체 백업 데이터의 업데이트를 위해서 제어부의 제 2 영역 내 계산 장치로 전송된다.
도 9는 애플리케이션을 빠르게 재시작하기 위한 실패 복구를 포함하는 백업 서비스들을 제공하기 위한 예시적 비-한정적 프로세스를 도시하는 플로우 다이어그램이다. 900에서, 구독 장치의 데이터 집합의 데이터의 실패(에러, 삭제, 변경 등) 후에, 데이터 집합의 데이터 항목(들)의 복구는 백업 데이터 서비스에 의해 합성 완전체 백업 서비스를 위한 검색 가능한 암호화된 포맷 안의 데이터 집합에 대응되는 합성 완전체 데이터를 유지하는 백업 데이터 서비스로부터 요청된다. 910에서, 데이터 항목(들)의 일부는 백업 데이터 서비스로부터 암호화된 포맷으로 수신되고 데이터 항목(들)의 일부의 사용을 기초해서 구독 장치의 애플리케이션을 재시작한다. 920에서, 재시작 다음에, 구독 장치에 의해 아직 수신되지 않은 데이터 항목(들)의 임의의 남아있는 데이터가 수신된다.
여기서 다양한 실시예들에 따라 서술된 바와 같이, 독립된 데이터 보호와 암호화 기술들이 서로 상대방을 지원하고, 현재 고객, 기겁, 에코시스템 그리고 사회 네트워크에서 사용 가능하지 않은 통합된 솔루션을 제공하기 위해서 각각 변경되고 개선되는 방식으로 병합된다.
신뢰성 있는 클라우드 서비스 에코시스템을 위한 보안적 컨텍스트
앞에서 서술된 바와 같이, 독립된 데이터 보호 및 암호화 기술들은 CSP에 유지되는 것과 같은 원격 사이트에서 사생활 보호, 백업 데이터, 예를 들면 합성 완전체로 저장된, 관련해서 신뢰 및 보안을 개선하기 위해서 다양하게 병합된다. 일반적 에코시스템은 아래에서 네트워크 서비스 또는 일반적 데이터의 맥락에서 서술되었지만, 이런 네트워크 서비스 또는 일반적 데이터는 원격 사이트에서 백업 데이터를 저장하기 위한 하나 이상의 상술된 시나리오들에서도 사용될 수 있다.
디지털 에스크로(escrow) 패턴이 클라우드 안에 저장된 데이터를 위한 검색 가능한 암호화 기술들을 포함하고, 단일 엔티티에 의한 타협을 방지하기 위해서 복수의 엔티티들 전체에 신뢰를 분배하는 네트워크 데이터 서비스를 위해서 제공된다. 한 실시예에서, 키 생성기, 암호화 기술 제공자와 클라우드 서비스 제공자는 각각 분리된 엔티티들로 제공되고, 이는 데이터의 발행자로 하여금 데이터를 내밀히(암호화) 클라우드 서비스 제공자에게 출판할 수 있도록 하고, 그 뒤에 암호화된 데이터를 구독자의 요청에 따른 응답에서 생성된 키 정보에 인코딩된 구독자 신원 정보를 기초로 그 데이터를 요청하는 구독자들에게 선택적으로 공개할 수 있다.
검색 가능한 암호화/해독 알고리즘(들)에 대하여, 하나 이상의 암호화 기술 제공자들에 의해서 구현된 검색 가능한 PEKS(public key encryption) 계획은, 임의의 주어진 메시지 W에 대하여 트랩도어 TW를 생성하고, 이때 TW는 특정 암호문이 W의 암호인지 여부에 대한 점검을 허용하고, 여기서 TW는 평문에 대한 어떠한 추가적 정보도 공개하지 않는다. 후술 되는 다양한 실시예들에 따라, PEKS 계획들은 예를 들면 메시지 텍스트와 같은 데이터 내에 저장된 키워드들을 기초로 암호화된 메시지들과 같은 암호화된 데이터를 우선 순위화 또는 필터하는데 사용될 수 있다. 따라서 데이터 수신자는 대응되는 키워드(들)에 대한 능력들(종종 암호가들에 의해 "트랩도어"라고 지칭되는)을 풀어주는 방식으로 키워드(들)에 관련되는 암호화된 데이터의 일부에 선택적 접속이 주어질 수 있다. 이런 식으로, 암호화된 데이터는 이들 키워드들에 대하여 검사될 수 있으나, 구독자의 능력이 허용하는 것 이상을 구독자가 습득할 수 없다는 확신이 있다.
의구심을 회피하기 위해서, PEKS는 여기서 하나 이상의 실시예들 내 검색 가능한 암호의 구현을 위한 알고리즘으로 개시되어 있지만, 검색 가능한 암호화 달성을 위해서 다양한 대안적 알고리즘들이 존재하고 있음을 인식해야 할 것이다. PEKS에 대한 일부 예시적 비-한정적 대안들은, 예를 들면, 무의식 RAMs을 포함한다. 따라서, 여기서 사용된 용어 "검색 가능한 암호"는 임의의 한 기술에 제한되서는 안 되고 따라서 암호화된 데이터에 대한 검색 또는 문의 기능을 기초로 암호화된 데이터의 부분집합의 선택적 접속을 허용하는 넓은 범위의 암호 메커니즘들 또는 암호 메커니즘들의 조합을 지칭한다.
선택적으로, 결과들의 확인 및/또는 인증은 에코시스템 내 데이터의 구독자들과 발행자들에게 추가적인 혜택으로 제공될 수 있다. 확인은 데이터의 부분집합에 대한 구독 요청의 결과로 수신한 데이터의 항목들이 아이템들의 올바른 집합임을 확인하는 방법을 제공하고, 즉, 수신받았어야하는 올바른 데이터의 부분집합이 실제로 수신되었음을 확인한다. 암호화 기술 영역 내 기술은 PDP(proof of data possion)이다; 그러나, 의구심을 회피하기 위해서, PDP는 구현될 수 있는 하나의 예시적 알고리즘에 불과하고 동일 또는 유사한 목표들을 달성하는 다른 것들이 사용될 수 있다. 입증할 수 있는 또는 PDP는 저장 서버가 충실하게 클라이언트의 잠재적으로 큰 위탁된 데이터를 저장하는지를 얼마나 빈번하고, 효율적으로 그리고 단단하게 확인하는 것에 대한 주제이다. 저장 서버는 보안과 신뢰성 측면 모두에서 신뢰할 수 없는 것으로 간주한다.
결과의 확인은 항목들의 콘텐츠들이 그들 자신임을 검사하는 추가적인 메커니즘을 제공하고, 즉 구독자의 요청과 연관돼서 수신한 항목들이 임의의 권한 없는 엔티티에 의해 간섭되지 않았음을 보장한다. 암호화 기술 영역 내 예시적 확인은 PDP(proof of data possesion)이다; 그러나, 의구심을 회피하기 위해서, PDP는 구현될 수 있는 예시적 알고리즘에 불과하고 동일 또는 유사한 목적을 달성하는 다른 방법들이 사용될 수 있다. 암호화 기술 영역에서 알려진 다른 기술은 POR(proof o f retreivability)이다; 그러나, 의구심을 회피하기 위해서, POR은 구현될 수 있는 예시적 알고리즘에 불과하고 동일 또는 유사한 목적을 달성하는 다른 방법들이 사용될 수 있다. POR은 목표 파일 F가 완전하다는 것에 대한, 클라이언트가 완전히 파일 F를 되찾을 수 있고, 어떤 간섭도 발생하지 않았다는 측면에서, 클라이언트(증명자)에 대한 서비스 제공자 또는 데이터 호스터(입증자)의 콤팩트한 증명이다.
추가적인 선택으로써, 에코시스템은 익명의 자격증(credentials)의 개념을 적용할 수 있고, 그에 의해 발행자는 중요한 세부 사항 공개 없이 그들 스스로에 대한 정보를 익명적 방법으로 업로드할 수 있고, 구독자는 발행자에 의해 업로드된 중요 세부사항에 대한 접속이 제공될 수 없고 공개되지 않도록 그들의 능력들이 제한될 수 있다. 이런 식으로, 발행자 또는 구독자는 그들이 원하는 범위의 정보만을 제 3자에게 공개하면서 시스템과 상호작용할 수 있다.
통상의 웹 서비스들은 정적 클라이언트 서버 배열과 웹 서비스의 데이터 접속에 대한 정적으로 정의된 사용자 방침에 한정되어 있다. 그러나 계속 변경되고 진화하는 복잡한 비즈니스와 다른 관계들에 따라 많은 발행자와 구독자들이 고려될 때, 이런 통상의 웹 서비스 모델은 충분히 유연적 또는 안전하지 못하다. 그래서, 다양한 실시예들에서, 데이터와 콘텐츠의 발행자 및/또는 소유자들이 누가 구독자(들)인지에 기초하여, 그들의 능력(들)에 따라 그리고 예를 들면 데이터 요청에서 구현된 키워드(들)에 기초하는 것과 같은 그들이 무엇을 검색하는지에 기초하여 암호화된 콘텐츠에 대한 접속 권한을 변경할 수 있도록, 후기 바인딩이 가능해진다. 따라서, 키 생성기에 의해 제공되는 키 정보 안에 구독자 능력들이 인코딩되어있기 때문에, 구독자가 선택적으로 접속할 수 있는 것들이, 발행자 및/또는 소유자에 의해 변경되는 접속 권한들과 동적으로 일관되도록 변경된다. 따라서, 구독자 권한들은 요청에 대한 키 생성의 시점에서 특정 요청에 대해 정의되고, 따라서 언제나 구독자로부터의 요청에 대한 현재 방침을 투영한다.
유사하게, 신뢰성 있는 클라우드 서비스의 서버의 관리자는 서버에 의해 처리되는 활동들의 로그와 데이터 처리 과정의 관찰이 허용될 수 있거나, 또한 임의의 고객 이름들 또는 크레디트 카드 정보를 보는 것으로부터 제한받을 수 있다. 따라서 구독자의 신원이 구독자가 접속할 수 있는 데이터의 종류를 한정하는 기준이 될 수 있다.
믿을 수 있는 에코시스템의 다양한 비-한정적 예시들이 여기서 클라우드 서비스에 대하 신뢰를 구축하는 맥락에서 개시되었다; 그러나, 여기서 제공된 에코시스템의 신뢰 구축은 훨씬 일반적이고, 클라우드 서비스들의 애플리케이션에 한정되지 않는다. 오히려, 여기서 서술된 실시예들은 기업 데이터 센터 내 다른 서버들 또는 참여자들에게 유사하게 적용 가능하다. 따라서, 데이터가 특정 엔티티를 벗어나지 않음에도 불구하고, 여기서 서술된 바와 같은 신뢰 구축 기술들은 기업 내의 다른 프로세스들이 제어부의 분리된 영역들 내에서 운용되는 경우에 동일하게 적용 가능하다. 모든 기업 프로세스들 전체에서 가시성 없이는, 유사한 불신 이슈들이 참여자들이 기업에 외부적인 것처럼 생길 수 있다. 예를 들면, 서버는 관리자의 제어에 있는 경우에도 기업 내에서 위반될 수도 있고, 또는 관리자가 부주의 또는 악의일 수 있다.
클라우드 안의 암호화된 데이터에 적용하는 것에 추가해서, 본 발명들의 다양한 기술들은 또한 랩톱이 분실 또는 도난될 수 있기 때문에, 랩톱 또는 다른 휴대용 기기에 저장된 데이터에도 적용될 수 있다. 이런 경우에, 장치는 몹시 호기심이 많은 또는 악의의 엔티티의 소지에 처할 수 있다; 그러나, 클라우드 안의 데이터 보호에 적용되는 여기서 서술된 동일한 기술들은 또한 서버들 또는 랩톱 상의 데이터 보호에도 적용될 수 있다. 만약에 로컬 데이터가 암호화되었다면, 적합한 구독자 자격없이는, 도둑은 데이터에 접속할 능력 또는 적합한 기능을 보여줄 수 없기 때문에 로컬 암호화된 데이터를 이해할 수 없다.
도 10은 실시예에 따르는 신뢰할 수 있는 클라우드 서비스들 프레임워크 또는 에코시스템의 블록도이다. 시스템은 확인 및/또는 인증 대상인 구독자의 요청의 결과들을 포함하는 검색 가능한 암호화된 데이터(1010)를 저장하는 신뢰성 있는 데이터 저장부(1000)를 포함한다. 이런 관점에서, 네트워크 서비스(1020)가 보안 데이터(1010) 위에 구축될 수 있고 여기서 데이터의 발행자들은 예를 들면 네트워크 서비스(들)(1020)를 통해서 데이터를 요청하는 구독자들(1040)에게 허락되는 능력에 대한 제어를 유지한다. 발행자들(1030)은 또한 구독자들(1040)이 될 수 있고, 그 반대도 가능하며, 데이터의 소유자들(1050)은 발행자(1030) 및/또는 구독자(1040)가 될 수 있다. 일부 일반적 역할들과 대응되는 정의될 수 있는 능력들의 집합의 예시로써, 전문화된 종류의 발행자들(1030) 및 구독자들(1040)은 관리자들(1050)과 감사들(1070)이다.
예를 들면, 관리자들(1060)은 신뢰성 있는 데이터 저장부(1000)의 운용을 유지하는데 도움이 되도록 데이터(1010)에 대한 허가들의 전문화된 집합일 수 있고,감사(auditor) 엔티티들(1070)은 감사의 범위 내에 특정 데이터의 고결성을 유지하는 것을 도울 수 있다. 예를 들면, 감사(1070)는 공격적인 키워드들을 포함하는 데이터(1010)의 메시지들을 구독할 수 있고, 이 경우에 감사(1070)는, 허가된 능력들에 따라 허용된다면, 데이터(1010)의 메시지들이 이런 공격적인 키워드들을 포함한다면 경고 될 것이나, 다른 메시지들을 판독할 수 없다. 이런 관점에서, 데이터에 대해 선택적 접속을 가능케 하며 키들이 처리될 수 있도록 발행자의 데이터를 디지털 에스크로(escrow)에 배치할 수 있도록 능력에 기초하여 구축될 수 있다.
예를 들면, 발행자는 에코시스템에 대하여 인증하고 에코시스템에 업로드 될 문서들의 집합을 나타낸다. 문서들을 암호화 키 정보를 생성하는 분리된 키 생성기로부터 수신된 암호화 키 정보를 기초로 검색 가능한 암호화 알고리즘에 따라 암호화될 수 있다. 그 다음에, 암호화된 데이터는 요청 장치의 신원 정보를 기초로 요청 장치에 허가되는 선택된 권한의 후기 바인딩에 따라서 암호화된 데이터들이 선택적으로 접속 가능하도록 암호화된 데이터의 저장을 위해 네트워크 서비스 제공자에게 전송된다. 암호화 기술 제공자를 암호화된 데이터의 저장부로부터 분리하는 것은 추가적으로 암호화된 데이터를 추가적인 타협으로부터 격리한다.
이런 관점에서, 도 11은 신뢰성있는 클라우드 서비스 에코시스템에 따라 데이터를 발행하는 예시적 비-한정적 방법을 도시하는 플로우 다이어그램이다. 1100에서, 발행인은 시스템을 인증한다(예를 들면, 발행자는 사용자 이름 및 패스워드, 라이브 ID 증명서 등과 함께 로그인한다). 1110에서, 키 정보가 아래의 하나 이상의 실시예들에서 서술되는 바와 같은 키 생성을 위한 센터와 같은 키 생성자로부터 생성된다. 1120에서, 분리된 암호화 기술 제공자가 키 정보를 기초로 발행자 문서들의 집합을 암호화한다. 1130에서, 암호화된 문서들이 예를 들면 저장 서비스 제공자와 같은 네트워크 서비스 제공자에게 능력들과 함RP 업로드 되고, 이때 암호화된 문서(들)는 요청 장치(구독자)의 신원 정보를 기초로 허가받은 선택된 권한들의 후기 바인딩과 함께 선택적으로 접속 가능하다.
구독자 측면에서, 예를 들면, 구독자는 에코시스템을 인증하고 예를 들면, 특정 키워드 또는 키워드들의 집합을 포함하는 문서들의 부분 집합에 대한 문의와 같은 데이터의 부분 집합에 대한 요청을 나타낸다. 적어도 하나의 구독자 장치로부터 검색 가능하게 암호화된 데이터의 부분 집합에 대한 요청에 대한 응답으로, 키 생성 요소는 구독자 장치와 결부된 신원 정보를 기초로 암호화 키 정보를 생성한다. 그 다음에, 암호화된 데이터의 부분 집합은 암호화 키 정보 안에서 정의된 바와 같이 구독자 장치에 주어진 권한의 함수로 해독된다.
도 12는 신뢰성 있는 클라우드 서비스 에코시스템에 따라 데이터를 구독하는 예시적 비-한정적 방법을 도시하는 플로우 다이어그램이다. 1200에서, 데이터를 구독하는 방법은 구독자를 인증하는 단계를 포함한다(예를 들면 구독자는 사용자 이름 및 패스워드, 라이브 ID 증명서와 함께 로그인한다). 1210에서, 구독자는 데이터에 대한 요청을 한다. 1220에서, 키 정보는 구독 요청을 기초로 독립한 키 생성 엔티티에 의해 생성되고, 여기서 구독자의 능력들은 키 정보에서 정의될 수 있다. 1230에서, 발행자 데이터의 부분 집합은 키 정보에서 정의된 능력들을 기초로 해독된다. 예를 들면, CSP는 데이터를 해독할 수 있다. 1240에서, 발행자 데이터는 구독자에게 접속 가능하게 되고, 예를 들면 구독자는 다운로드, 시청, 처리, 변경 등을 할 수 있고, 데이터는 소유자/발행자에 의해 허가된 동적으로 정의 가능한 능력들을 기초로 한다. 선택적으로 암호화, 해독 그리고 키 생성에 사용된 기술은 독립된 암호화 기술 제공자에 의해서 공급될 수 있으나, 임의의 참가자에 따라 호스트 된다.
한 실시예에서, 구독자 장치의 신원 정보는 구독자의 역할을 포함한다. 예를 들면, 감사 역할, 또는 관리자 역할, 또는 다른 사전-구체화된 역할이 발행자들/소유자에 의해 검색 가능한 암호화된 데이터 저장부의 다양한 부분들에 접속을 제한 또는 허용하는 기준으로 사용될 수 있다.
도 13은 키 생성을 위한 센터(CKG)(1300), 암호화 기술 제공자(CTP)(1310) 그리고 클라우드 서비스 제공자(CSP)(1320)의 분리를 도시하는 예시적 에코시스템을 도시하고 그에 따라 신뢰성 있는 에코시스템 내 단일 엔티티에 의한 타협의 가능성을 제거한다. 이런 관점에서, 고객(들)(1330)은 데이터의 발행자들 및/또는 구독자들을 포함한다. 선택적으로, CKG(1300)은 레퍼런스 소프트웨어, 오픈 소스 소프트웨어, 및/또는 SDK(software development kit)에, 예를 들면 CTP(1310)에 의해 제공되는, 기초해서 만들어질 수 있고, 그들 스스로에 의해 그런 요소들을 생성하도록 집단들에 대한 블록들을 건설하는 것을 가능하게 하고, 또는 이런 에코시스템 요소들의 제 3자 구현들에 만족할 수 있다. 한 실시예에서, SDK는 CTP(1310)에 의해 제공되고, CKG(1300), 아래에서 보다 상세하게 서술되는 CSA(compute and storage abstraction) 및/또는 암호화 클라이언트 라이브러리를 호스트 또는 구현하기 위해 하나 이상의 참가자들에 의해 사용될 수 있다. 선택적으로, SDK는 CTP(1310)로부터 CKG(1300)를 호스팅하는 엔티티에게 분배될 수 있다.
일반적으로, CKG(1300), CTP(1310) 또는 CSP(1320) 각각은 주어진 실시예에 따라 부요소들로 세분화되나, 종합적 분리는 신뢰를 유지하기 위해서 보존된다. 예를 들면, 마스터 퍼블릭 키(MPK) 전달(1302), 클라이언트 라이브러리 다운로드(1304), 비밀 키 추출부(1306), 신뢰 증명자(1308), 또는 다른 부요소들 같은 CKG 엔티티들(13010)이 부분집합들로 분리되어 제공될 수 있고, 또는 통합된 요소로 함께 제공될 수 있다. 인코딩 및 디코딩을 위한 클라이언트 앱(1312), 대안적 암호화 기술들(1314), CKG와 상호 작용을 위한 애플리케이션(1316), 다른 암호화 형성 블록들(1318)과 같은 CTP 엔티티들(1311) 또한 부분집합들로 분리돼서 제공될 수 있고, 또는 함께 제공될 수 있다. 더 나아가, CSP(1320)는 각각 저장 서비스(1324)와 서비스 호스팅(1328)을 호스팅하는 CSPs(1322, 1326)와 같은 분리된 서비스 제공자들로 간주될 수 있고, 또는 이런 서비스들이 함께 제공될 수 있다.
신뢰성있는 에코시스템 안에서 하나 이상의 참여자들에 의해 호스트 되는 CKG 또는 CKG 경우(들)에, 단일 일체형 엔티티로 요구되지 않는다는 점을 고려할 수 있다. 오히려, CKG는 키들 생성에 협력하는 복수의(중복되는) 엔티티들로 분리될 수 있고, 그래서 작업이 참여자들의 작은 부분집합이 오프라인인 경우에도 계속될 수 있다. 한 실시예에서, 선택적으로, 참여자들의 집합은 이들 참여자들의 작은 부분집합이 상대방에 의해 타협된다고 하더라고 전체적으로 신뢰할 수 있고, 또는 그렇지 않다면 사용 불가능 또는 신뢰할 수 없게 된다.
도 14는 기업들(1400)을 위해서 클라우드 서비스들을 수행하는 신뢰성 있는 에코시스템의 추가적인 장점들을 도시하는 다른 설계적 다이어그램이다. 예를 들면, 기업들(1400)은 다른 조직들(1402, 1404, 1406, 1408)을 포함할 수 있다. 이 다이어그램 내 다른 조직들(1402, 1404, 1406, 1408)은 조직들이 키 생성 또는 시스템을 사용해서 방침을 구현함에 있어서 많은 또는 적은 소유권을 가져갈 수 있다. 예를 들면, 조직(1402)은 고유의 방침(1412)을 구현할 수 있으나, 중앙화된 키 생성기(1422)를 사용하며 그 반면에 조직(1404)은 고유의 키 생성기(1424)를 구현하고 고유의 방침(1414)의 구현을 선택한다. 조직(1406) 또한 고유의 방침을 구현하나 제 3자 CKG(1426)에 의존하나 반면에 조직(1408)은 제 3자 방침 제공자(1418)와 독립 CKG(1428)에 의존하는 것을 선택한다.
이런 관점에서, 데이터를 발행하기 위해서, 발행자(1440)는 CKG(1422)로부터의 출력을 기초로 암호화 데이터(1435)에 대한 퍼블릭 매개 변수를 취득한다. 퍼블릭 한도에 기초하여, 데이터는 1445에서 독립 암호화 기술 제공자를 사용해서 발행자 장치(1440)에 의해 데이터가 암호화된다. 암호화된 데이터는 CSPs(1472, 1474, 1476, 또는 1478)과 같은 하나 이상의 CSP(1470)에 의해 저장 추상화 서비스(1450)에게 업로드 되고, 저장 추상화 서비스(1450)는 암호화된 데이터의 저장과 연관된 저장 의미론을 숨긴다. 구독자 장치(1460)에서, 데이터 요청은 CKG(1422)로부터 개인용 비밀 키(1465)의 생성을 유발한다. 개인용 비밀 키(1465)는 1455에서 데이터를 해독함으로써 구독자 장치(1460)로 하여금 검색 가능한 암호화된 데이터를 선택적으로 접속하는 것을 가능케 한다. 다시, CSPs(1470)으로부터 데이터를 회복하는 의미론은 저장 추상화 서비스(1450)에 의해 숨겨진다. 또한, 구독자 장치(1460)에 허가된 권한들은 한 특권들의 현재 집합이고 이는 발행자들/소유자들에 의해 허가된 능력들의 후기 바인딩 때문이다.
도 14로부터 복수의 데이터 소유자들, 기업 또는 고객이, 신뢰성 있는 관계들을 설정하기 위해서 여기서 서술된 바와 같은 신뢰성 있는 에코시스템에 참석할 수 있음을 인지할 수 있다. 이런 경우에, 각각의 소유자는 그들 고유의 CKG(예를 들면 조직(1404)의 CKG(1424))를 호스트 또는 제어할 수 있고, 그래서 데이터에 대한 요청들 또는 문의들이 요청된 데이터의 모든 공동 소유자들로부터 필요한 키들을 모을 수 있도록 대응되는 CKG들에게 전달된다.
도 15는 저장 추상화 레이어(1520)를 통해서 다른 저장 제공자들의 시설을 도시하는 다른 블록도이다. 신뢰성 있는 에코시스템과 함께, 각각 클라이언트 애플리케이션들(1540, 1542)을 가지는 데스크톱(1530, 1532)은 상술된 바와 같이 데이터를 발행 또는 구독할 수 있고, 이는 암호 또는 해독 데이터 내 사용을 위한 키 정보를 위한 키 생성(1520)을 위해 센터에 요청을 개시한다. 유사하게, 서비스들(1544, 1546, 1548)은 또한 에코시스템 안에서 발행자 및/또는 구독자가 될 수 있다. 이런 관점에서, 임의의 개인 클라우드 저장부(1500), SQL 데이터 서비스 저장부(15020), 또는 단순 저장 웹 서비스(1504)에 의해서 데이터의 저장 또는 추출을 하기 위해서, 저장 추상화 서비스(1510)는, 이름이 내포하듯이, 클라이언트들에서 떨어진 특정 저장 보관소 또는 보관소들에 대한 구체적 내용들을 추상화한다.
이런 관점에서, 의구심을 회피하기 위해서, 도 15는 복수의 상황들에 대하여 제공된다. 한 상황에서, 도 15는 종종 CSA(compute and storage abstraction)이라고 지칭되기도 하는, 저장 추상화 서비스를 통해서 저장 제공자들(그들을 개인들로 추상화하는)의 중개인 제거(disintermediation)를 커버한다. 추가적으로, 도 15는 데이터가 복수의 백앤드(back-end) 저장 제공자들에게 분할 및/또는 산개(예를 들면 중복을 위해)될 수 있고, 백앤드 저장 제공자들은 동일한 또는 다른 형식일 수 있고, 그에 따라 백앤드 저장 제공자들 중 하나(또는 적은 수)가 실수로 또는 의도적으로 데이터에 대한 그들의 복사본들을 삭제 또는 변경하는 경우에도 원본 데이터가 재구성될 수 있다.
도 16은 서버 운용 시스템(OS)(1614)과 개인 클라우드 저장부(1600), SQL 데이터 저장부(1602), 단순 저장 웹 서비스 저장부(1604)의 저장부 등의 세부사항들을 추상화하는 저장 서비스(1612)를 포함하는 저장 추상화 서비스(1610)와 관련된 저장부의 추가적 측면들을 도시한다. 클라이언트는 각각 클라이언트 애플리케이션들(1640, 1642)을 가지는 데스크톱들(1650, 1652)일 수 있다. 키 생성에 대한 센터(1620)는 서버 OS(1624) 상에서 실행되는 키 생성 애플리케이션(1622)을 포함할 수 있다. 이런 관점에서, 액티브 디렉터리(1636), 서버 OS(1634) 그리고 STS(security token service)(1632)를 가지는 조직(1630)은 에코시스템 안에서 발행자 또는 구독자가 될 수 있다. 이런 관점에서, STF(storage transfer format)은 보관소들에서 암호화된 데이터와 메타데이터를 교환하는데 사용될 수 있는 표준 상호 교환 포맷이다. 예를 들면, 조직(1630)은 저장 서비스 제공자들(1600, 1602, 또는 1604) 사이에서 이메일 데이터 전송을 원할 수 있고, 이 경우에 STF가 사용될 수 있다.
도 17은 신뢰성 있는 에코시스템(1720) 내 다양하고 다른 참여자들을 도시하는 다른 블록도이다. 언급된 바와 같이, 유리하게, 기업들(1700)은 데이터 용량의 저장과 유지를 온-사이트에서 그런 용량들을 처리하기에 더 적합한 클라우드 저장 서비스 제공자들에게 떠넘길 수 있고, 동시에 기업은 암호화된 데이터에 대하여 정의된 능력들에 대한 제어를 유지하고 있으므로 데이터가 틀린 구독자들에게 해독되지 않을 것이라는 편안함을 유지할 수 있다. 예를 들면, 조직(1702)은 Sharepoint와 같은 협업적 애플리케이션(1712)을 운용할 수 있다. 이런 관점에서, 조직(1702)은 sharepoint를 위해서 디지털 에스크로 또는 신뢰성 있는 도메인을 설정할 수 있다. 방침(1732)과 CKG(1734)는 제 1 데이터 센터(1730)에 의해 구현될 수 있고, 제 1 데이터 센터(1730)는 신뢰성 있는 도메인을 위해서 암호화 키 정보(1745)를 정의함으로써 보안 공간을 설정하도록 가동한다.
그 다음에, 다른 조직(1704), 예를 들면 발행자(1714)로 행동하는, CKG(1734)로부터 취득된 키 정보를 기초로 데이터를 암호화할 수 있고, 이 시점에서 제 2 데이터 센터(1740)의 저장 추상화 요소(1742)와 컴퓨터는 예를 들면 CSP(1752) 내의 제 3 데이터 센터(1750)에 검색 가능한 암호화된 데이터를 저장하는 세부 사항들을 처리한다. 다른 일면으로, 조직(1704)의 구독자(1716)가 데이터를 요청할 때, 개인 또는 비밀 키 정보가 추출(1765)의 일부로써 구독자(1716)에게 전달된다. 다음으로, 구독자를 위해 정의된 능력들을 포함하는 개인 키 정보를 기초로, 구독자에 의해 요청된 데이터가 1775에서 해독되고 이때 구독자에게 권한이 있다고 가정되며, 다시 추상화 레이어(1742)가 기저 저장부(underlying storage)(1752)의 세부 사항들을 처리한다.
도 18은 다른 조각들이 다른 또는 동일한 엔티티들에 의해 제공될 수 있는 신뢰성 있는 클라우드 계산 시스템의 예시적, 비-한정적 구현의 일부 레이어들의 대표도이다. 레이어 더미의 맨 아래는 암호/해독 알고리즘의 구현에 사용되는 수학 및 암호 라이브러리(1886)가 있다. 다양한 암호화 계획들의 정의들의 추상화가 세부적 라이브러리들(1886)과 검색 가능한 암호 계획(1882)의 실제 구현 사이에 중간 레이어(1884)로 제공될 수 있다. 함께, 레이어들(1882, 1884, 1886)은 더 큰 암호 서비스 레이어(1880)를 형성하고, 이것은 SaaS(software as a service) 애플리케이션 에코시스템을 위한 추상화 레이어(1860)와 병합될 때, 신뢰성 있는 디지털 에스크로(1870)와 그것을 위한 저장부의 구현에 기준을 형성한다. 추상화 레이어(1860)는 디지털 에스크로 패턴을 구현하는데 사용되는 기본 언어를 포함하고, 즉 명령어들 SetUp(), Encryp(), Extract(), Decrypt() 등이다.
추상화 레이어(1860) 위에는 다양한 더욱 많은 특정 플랫폼 기술들(예를 들면 SDS, Azure, backup/Archive, RMA, STS, 등)과 묶이는 레이어(1850)가 있다. 다양한 특정 플랫폼 기술들과 묶이는 레이어(1850) 위에는 신뢰성있는 디지털 에스크로(1800)를 사용하는 다양한 SaaS 애플리케이션들이 있다. 예시적, 비-한정적 도시는 디지털 에스크로 앱스(1800)가 단일 회사(1810) 또는 파트너들(1830) 또는 그 둘 모두에 의해 구현될 수 있음을 보여준다. 예를 들면, 회사(1810)는 HPC(high performance computing), eDiscovery and Legal Discovery(1814), Live Services(1816)(예를 들면 DBox), 서비스(1818)로 백업/저장, 감사 로그-비즈니스 프로세스와 감시(1820) 또는 다른 클라우드 서비스들(1822)과 같은 서비스들을 구현할 수 있다. 결국, 파트너들(1830)은 eLetterOfCredit(1832), 수직에 대한 서비스로 HPC(1834), eHealth 서비스, 보안 엑스트라넷(1838), 준수(1840), 소송 지원(1842) 등과 같은 서비스들을 구현할 수 있다.
신뢰성있는 클라우드 서비스 에코시스템을 기초로 하는 시나리오들
도 9의 상부는 키 생성기, 암호 제공자와 클라우드 서비스 제공자의 조직 안에 내재하는 증강된 신뢰로 인해서 클라우드 안에서 인식될 수 있는 애플리케이션의 종류들의 표면을 제외한다. 이런 관점에서, 이런 신뢰성 있는 클라우드 서비스 에코시스템을 가능케 한바, 여기서 서술된 신뢰성있는 에코시스템의 하나 이성의 이점들을 활용할 수 있는 풍부한 서비스들과 시나리오들의 집합이 인식될 수 있다.
예를 들면, 도 19는 상술된 바와 같이 후기 바인딩을 가지는 데이터에 대한 발행자 제어 선택적 접속을 제공하는 방식으로 문서를 디지털 안전 애플리케이션에 발행하는 예시적 비-한정적 프로세스의 플로우 다이어그램이다. 1900에서, 장치가 인증된다(예를 들면 장치가 사용자 이름 및 패스워드, 패스워드 자격증, 생체 측정 자격증, 라이브 ID 자격증 등). 1910에서, 문서(들)가 업로드 되고 태그들이 입력된다. 태그들은 1920에서 에스크로 에이전트에게 전송되고 그에 대한 응답으로 해시된 태그들이 에스크로 에이전트로부터 수신된다. 이런 관점에서 태그들은 언급한 바와 같이 공급될 수 있고, 또는 대안적으로 예를 들면 전문 인덱싱(full text indexing)을 통해서 페이로드(기록, 문서)로부터 자동으로 추출될 수 있다. 1930에서, 클라이언트는 문서를 발행자의 키 정보와 함께 암호화하고 문서(들)는 안전한 디지털 클라우드 저장 제공자에게 문서(들)에 관해서 구독자들을 위한 능력들과 함께 전송된다. 1940에서, 안전한 디지털 클라우드 저장 제공자는 암호화된 부분을 저장 서비스에 전송하고 예를 들면 저장 추상화 레이어에 대하여 전송한다.
도 20은 도 19를 도면에 표시된 도 19의 행동들과 함께 신뢰성 있는 에코시스템 내 다른 참가자들의 맥락에서 도시한다. 이런 관점에서, 클라이언트(2010)의 자격증(2000)으로 시작해서, 1900이 발생한다. 다음으로, 1910이 클라이언트(2010)에서 발생한다. 다음으로, 태그들을 에스크로 에이전트(2020)에 전송하는 단계와 해시된 태그들을 수신하는 단계가 1920에서 나타난다. 다음으로, 클라이언트(2010)는 문서들을 암호화하고 그것을 1930에 도시된 바와 같이 디지털 금고 서비스(2030)에 전송한다. 마지막으로, 암호화된 부분이 1940에 나타난 바와 같이 저장 서비스(2040)로 전송된다. 그 다음에 만약에 구독자에게 문서(들)과 함께 전송된 능력들이, 또는 나중에 업데이트되는, 허용하면 사용자의 부분집합에 대한 접속이 허가될 수 있다.
도 21은 디지털 금고 안에 위치하는 자료를 구독하는 예시적-비-한정적 프로세스의 플로우 다이어그램이다. 2100에서, 구독자는 인증되고 클라이언트 장치는 태그들을 에스크로 에이전트에게 전송하고, 에스크로 에이전트는 그에 대한 응답으로 2110에서 해시된 태그들(hashed tags)을 돌려준다. 그 다음에 클라이언트는 해시된 태그들을 2120에서 디지털 금고 서비스에 전송하고 해시된 태그들이 2130에서, 전체 또는 일부로써, 클라이언트가 저장 서비스에 의해 수행된 검색 요청을 가질 적격이 있는지를 이해하기 위해서 해석된다.
도 22는 도 11과 유사하게 참가자들에 오버레이된 도 21의 행동들을 나타낸다: 행동 2100에 대해서 클라이언트(2210)와 그의 자격증(2200), 행동 2110에 대해서 클라이언트(2210)와 에스크로 에이전트(2220), 행동 2120에 대해서 클라이언트(2210)와 디지털 금고 서비스(2230) 그리고 행동 2130에 대해서 디지털 금고 서비스(2230)와 저장 서비스(2240).
도 20 및 22에서, 에스크로 에이전트(2020, 2220)는 CKG 또는 CKG의 요소일 수 있다. 대안적으로, 에스크로 에이전트(2020, 2220)는 분리된 참가자에 의해 호스트 되는 CKG 경우일 수 있고 그에 따라 에스크로 에이전트(2020, 220)는 클라이언트를 위해 암호/해독하는 신뢰성 있는 엔티티이다. 이런 관점에서, 참가자들 사이의 관계들과 설계 트레이드오프(design tradeoffs)는 에스크로 에이전트(2020, 2220)의 기능과 범위를 주도할 수 있다. 예를 들면, 로우 앤드 클라이언트에게(low-end clients), 클라이언트 기능을 신뢰성 있는 프록시 서비스에게 넘기는 것이 무거운 처리를 수행하기 위해서 필요할 수 있다.
도 23은 하나 이상의 데이터 센터들을 통해서 기업을 위한 안전한 엑스트라넷을 구현하기 위해서 디지털 에스크로 패턴을 사용하는 신뢰성 있는 클라우드 서비스들의 예시적 비-한정적 구현을 도시한다. 언급된 바와 같이, 신뢰성있는 계산 에코시스템은 CTP(cryptographic technology provider)(2310)으로부터 독립적으로 구현되는 키 생성을 위한 센터(2300)를 포함할 수 있고, 이는 하나 이상의 CSPs(cloud service providers)(2320)로부터 독립적으로 구현되는 에코시스템과 일관되는 암호 기술을 구현하는데 사용되는 레퍼런스 구현들을 제공한다. 안전한 엑스트라넷의 예시적 비-한정적 구현에서, 2380은 기업이 공유되는 보관소(2370)(예를 들면 SharePoint)와 설계의 보관소(2360) 또는 공유되는 보관소(2370) 내의 문서들과 관련되어 사용되는 분석 애플리케이션들 유지한다. 비즈니스 소프트웨어(2340)(예를 들면 Sentinel)는 애플리케이션 또는 서버 퍼포먼스 또는 데스크톱(2350)을 가지는 컴퓨터에 대해서 동일한 것들을 감시할 수 있다.
그런 관점에서, 신뢰성있는 클라우드 서비스 에코시스템에서, 데스크톱(2350)을 사용하는 구독자가 선택적으로 접속 가능하고 저장부로부터 암호화된 정보를 찾을 때, 보안 토큰 서비스(security token service)는 구독자(2382)를 식별하기 위해서 일부 정보를 전달할 수 있고 CKG(2300)는 2384에서 도시된 바와 같이 제 1 데이터 센터의 CKG 레이어(2302)의 인터페이스를 통해서 상담 될 수 있다. CKG(2300)은 키 정보를 돌려주고 이는 2386에서 도시된바 같이 저장 추상화 서비스(2322)를 통해서 데이터 서비스(2324)에 의해 보관되는 데이터의 선택적 접속에 사용될 수 있다. 따라서 임의의 종류의 데이터가 기업 전반에서 공유될 수 있고 기업 내 구독자의 역할에 따라 선택적일 수 있다.
도 24는 구독자에게 예를 들면 기업 안에서, CSP에 의해 저장된 암호화된 데이터의 선택적 접속이 주어지는 신뢰성있는 클라우드 서비스 에코시스템을 기초로 하는 다른 예시적 비-한정적 시나리오를 도시하는 플로우 다이어그램이다. 초기에, 구독자 장치는 암호화된 데이터를 접속할 수 있는 권한을 취득하지 못한다. 2400에서 암호화된 데이터 전부 또는 일부에 대하여 요청을 함으로써, 예를 들면 애플리케이션과의 상호 작용을 통해서, 애플리케이션은 2410에서 클레임들(claims)(암호의 어법으로) 취득을 위해 대응되는 STS와 자동으로 통신한다. 2420에서, 애플리케이션은 구독자에 대한 능력들에 관한 정보를 인코딩하는 키 정보를 취득하기 위해서 CKG와 통신한다(종종 능력들은 암호의 어법에서 트랩도어로 지칭되나, 용어 "능력들"은 트랩도어들이 일반적으로 나타나는 맥락에 제한되지는 않는다). 마지막으로, 애플리케이션은 2430에서 키 정보를 CSP에게 제공하고, 이는 구독자의 능력들에 의해 허용된 범위에서 암호화된 데이터에 대한 검색들 또는 문의들을 허용한다.
도 25는 애플리케이션 응답이 서명(sign-in) 정보를 기초로 구독자에 대해 조정될 수 있음을 도시하는 다른 플로우 다이어그램이다. 예를 들면, 2500에서, 사용자 ID 정보는 애플리케이션에 의해 수신된다. 2510에서, 애플리케이션은 STS로부터 관련된 클레임들을 취득한다. 2520에서, 사용자 ID 정보와 결부된 사용자에 의해 수행된 하나 이상의 역할들을 기초로, 경험이 그들 역할들에 대한 권한/제한에 상응되도록 조정될 수 있다. 예를 들면, 회사의 CFO(chief financial officer)에게 회사의 암호화된 데이터의 전망으로 제시되는 사용자 경험은 우편실 고용자에게 주어지는 화사의 암호화된 데이터의 전망에 대한 사용자 경험과는 다르다. 도 25는 단일 또는 복수 당사자 로그인 시나리오들에서 적용될 수 있다.
도 26은 단일 당사자 또는 복수의 당사자들에 대해서 구현될 수 있는 안전 기록 업로드 시나리오를 도시하는 플로우 다이어그램이다. 2600에서, 기록들과 키워드들은 애플리케이션에 의해 수신되고, 예를 들면, 애플리케이션을 포함하는 기기의 사용자에 의해 제공 또는 지정된다. 2610에서, 애플리케이션은 MPK(master public key)를 취득하고 PEKS(public key encryption keyword searchable) 알고리즘(들)을 적용한다. MPK는 선택적으로 애플리케이션에 의해 캐시될 수 있다. 2620에서, 애플리케이션은 암호화된 기록을 CSP 보관소에 입력하고, 예를 들면, 저장 추상화 레이어를 통해서 입력한다.
도 27은 신뢰성있는 클라우드 서비스 에코시스템에 의해 가능해진 검색 가능한 암호화된 데이터 저장부 상에서 역할-기반 문의의 예시적 비-한정적 구현을 도시하는 또 다른 플로우 다이어그램이고, 단일 당사자에 의한 자동화 검색을 예시로 들 수 있다. 2700에서, 결합적 문의가 애플리케이션에 의해 수신되거나 개시된다. 2710에서, 애플리케이션은 STS로부터 관련된 클레임들을 취득한다. 예를 들면, STS는 사용자의 역할(들)을 적절한 문의 집단(들)으로 맵핑하고 특정 역할(들)에 대한 법적 문의 집합을 돌려준다. 2720에서, 모든 클레임(들)이 아니라 문의에 대응되는 클레임(들)이 효율적으로 제출될 수 있도록, 애플리케이션은 필터 된 클레임과 문의들을 제출한다. 선택적으로, CKG는 트랩도어 클레임(들)을 애플리케이션에 돌려준다(또는 클레임들 거절). 2730에서, 애플리케이션은 트랩도어 클레임들을 원격 인덱스들에 실행한다. 원격 인덱스들 상의 프로세싱을 기초로 해서, 결과들이 수신되고 결과는 애플리케이션에 의해 사용자에게 제공될 수 있고, 예를 들면 사용자 역할(들)을 기초로 사용자 지정 제공을 사용할 수 있다.
도 28은 기업(2820), CKG(2810) 그리고 CSP(2800) 사이에서 신뢰성 있는 클라우드 서비스 에코시스템을 구현하는 블록도이고, 상술된 도 24-27의 행동들이 동일한 참조 번호들을 통해서 하이라이트 된다. 시나리오는 사용자(2824)가 애플리케이션(2822)에서 스스로를 식별하는 단계로 시작한다. STS(2826)는 CKG(2810)로부터 그리고 CKG(2810)로 정보 교환과 관련해서 신뢰(2830)를 설정하도록 가동되고, 시나리오의 목표들에 따라 CSP(2800)로부터 데이터의 암호화 또는 해독에 사용을 위해서 애플리케이션(2822)으로 키 정보를 돌려준다.
도 29는 기업이 그의 암호화된 데이터의 일부에 대한 외부 회사의 접속을 제공하는 복수 당사자 협력 시나리오를 도시하는 플로우 다이어그램이다. 예를 들면, 생산자는 공급자에게 신뢰성있는 클라우드에 저장된 그의 데이터의 일부에 대한 접속을 허락할 수 있고, 또는 반대의 경우도 마찬가지이다. 이런 관점에서, 2900에서, 기업 2의 STS가 리소스 제공자로 지정되고 기업 1의 애플리케이션이 클라우드 안의 리소스 제공자에 의해 제공되는 리소스들에 대한 접속에 대한 클레임들을 취득을 진행한다. 2910에서, 기업 1의 STS는 신원 제공자로 지정된다. 이런 관점에서, 애플리케이션은 신원 제공자에 의해 용이하게 되는 바와 같은 기업 1에서의 수신자에 의해 정의된 역할 또는 역할들의 집합에 대한 클레임들을 취득한다. 2920에서, 클레임들은 기업 1에 의해 제어되는 허용되는 리소스들을 기초로 그리고 구독 엔티티의 역할(들)에 의해 정의된 허용/능력들을 기초로 애플리케이션에 의해 복구된다. 도 29에서, 단지 하나의 STS만이 도시되었지만, 디지털 에스크로 또는 연방 신뢰 오버레이(federated trust overlay) 안에 복수의 신원 제공자 STS들 및/또는 복수의 리소스 제공자 STS들이 있을 수 있음에 주의해야한다.
도 30은 예를 들면 기업 1과 기업 2와 같은 복수의 기업들 사이와 같은, 복수 당사자 자동 검색 시나리오를 도시하는 플로우 다이어그램이다. 3000에서, 결합적 문의가 실행을 위해서 기업 1의 애플리케이션에 의해 수신되거나 개시된다. 3010에서, 애플리케이션은 리소스 제공자(기업 2)의 STS로부터 관련되는 클레임들을 취득한다. 리소스 제공자는 조직 태그에서 선택적으로 구체화될 수 있다. STS는 선택적으로 사용자 역할을 문의 집단들로의 맵핑을 수행할 수 있고, 그로 인해 법률 문의 집합이 사용자 역할을 위해서 되돌아온다. 3020에서, 애플리케이션은 사용자 역할을 기초로 한 문의들과 필터 된 클레임을 제출한다. 모든 클레임(들)보다는, 문의에 대응되는 클레임들이 효율적으로 제출될 수 있다. 선택적으로, CKG는 능력들을 애플리케이션(예를 들면 트랩도어 클레임들)에게 돌려줄 수 있고, 또는 CKG는 클레임들을 거절한다. 3030에서, 애플리케이션은 원격 인덱스들 상에서 트랩도어 클레임들을 실행한다. 원격 인덱스들 상에서의 프로세싱을 기초로, 결과들이 수신되고 애플리케이션에 의해 사용자에게 제공될 수 있고, 예를 들면 사용자 역할(들)에 기반한 사용자 지정 렌더링을 사용할 수 있다.
도 27 및 30에서, 방법은 결합적 문의를 수신하는 단계, 또는 그렇지 않다면 결합적 문의를 개시하는 단계를 포함한다. 이런 관점에서, 선택적으로, 결합적 문의들은 또한 압호적으로 보호될 수 있고 그래서 트랩도어(또는 능력)의 어떤 수신자도, 클라이언트 또는 서비스 제공자, 결합적 문의를 분해할 수 없고 그것의 구성 요소 부분들을 판단할 수 없다.
도 31은 기업들(3120, 3130), CKG(3110) 그리고 CSP(3100) 사이의 신뢰성 있는 클라우드 서비스 에코시스템의 구현의 블록도이고, 여기서 앞에서 서술된 도 20-21의 행동들이 동일한 참조 번호들을 통해서 지정된다. 예를 들면, 사용자(3124)는 그 자신을 애플리케이션(3122)에 대해 식별할 수 있다. 기업(3120)의 STS(3126)과 기업(3130)의 STS(3132)는 CKG(3110)으로부터 및 CKG(3110)으로 정보의 교환과 관련해서 신뢰성(3130)을 설정하도록 협력할 수 있고, 여기서 시나리오의 목표에 따라 CSP(3100)으로부터 데이터의 암호화 또는 해독에 사용하기 위해 애플리케이션(3122)에 키 정보를 돌려준다.
도 32는 신뢰성있는 클라우드 서비스를 위해 구현될 수 있는 예시적 비-한정적 ECN(edge compute network) 기술을 도시한다. 이런 관점에서, 복수의 동적 계산 노드들(3270, 3272, 3274, 3276)은 서로 독립적으로 운용되는 신뢰성있는 클라우드 요소들의 집합과 관련되어 컴퓨터 적 대역폭을 위해 동적으로 할당된다. 예를 들면, 키 생성을 위한 센터(3220), 저장 추상화 서비스(3210), 조직(3230)과 조직(3240)이 상술된 것과 같이, 복수-조직화 비즈니스 또는 다른 시나리오들을 커버하기 위해서 도시된 바와 같이 구현될 수 있다. 키 생성을 위한 센터(3220)는 키 생성기(3222)와 서버 OS(3224)를 포함한다. 저장 추상화 서비스(3210)는 저장 서비스 요소(3212)와 서버 OS(3214)를 포함한다. 조직(3230)은 STS(3232), AD(3236) 그리고 서버 OS(3234)를 포함한다. 조직(3240)은 STS(3234), AD(3246) 그리고 서버 OS(3244)를포함한다. 서버 OS들 (3214, 3224, 3234, 3244)은 서버들 전체에 걸쳐 ECN을 구현하도록 협력한다. 임의의 저장 제공자 또는 추상화부(3202)가 데이터의 저장을 위해 사용될 수 있고, 예를 들면, SQL 데이터 서비스들이 사용될 수 있다. 이런 식으로, 하나 이상의 데스크톱들(3250, 3252)이 각각 클라이언트 애플리케이션들(3260, 3262)을 통해서 데이터를 발행 또는 구독할 수 있다.
도 33은 신뢰성있는 클라우드 서비스 에코시스템에 따라 키 생성을 위한 센터(3310)의 하나 이상의 선택적 측면들을 도시하는 블록도이다. 초기에, 데스크톱들(3360, 3362)과 각각의 클라이언트 애플리케이션들(3370, 3372), 또는 서비스들 또는 서버들(3374, 3376, 3378) 등과 같은 계산 장치들의 집합은 클라우드 콘텐츠 전달 네트워크(3350)의 잠재적 발행자들 및/또는 구독자들이다. 그러나, 임의의 계산 장치들의 집합으로부터의 요청 수행 전에, 처음에 키 생성을 위한 센터는 퍼블릭 키를 기초로 데이터를 암호화하고, 그들의 능력들을 기초로 데이터 구독자들에게 개인 키들을 배포하는 발행인들에 대한 신뢰성을 위한 관리자로 역할을 한다.
예시적 비-한정적 상호작용에서, 초기에 계산 장치로부터의 요청은 3300에서 구현되고 CKG(3310)의 호스터(hoster)는 3380에서 CKG 공장(3302)로부터의 CKG(3310)의 경우를 요청한다. 다음으로, 사용자 인증(3304)이 3382에서 이루어진다. 다음으로, 임의의 사용-기반-빌링(usesage-based billing)(3384)이 CKG 공장(3302)의 사용을 위한 빌링 시스템(3306)에 의해 적용될 수 있다. 다음으로, 임차 CKG가 3386에서 CKG 공장에 의해 실현되고, 이는 MPK 전달 요소(3312), 클라이언트 라이브러리 다운로더(3314), 비밀 키 추출부(3316) 그리고 신뢰성 검사기/증명자(3318)를 포함할 수 있다.
MPK 전달 요소(3312)는 3388에서 MPK를 CDN(3350)에 전달한다. 클라이언트 라이브러리 다운로더(3314)는 미빌 라이브러리들을 요청 클라이언트들에게 다운로드하고 이는 발행될 암호화된 데이터 또는 장치가 구독할 해독 데이터와 관련돼서 사용될 수 있다. 다음으로, 클라이언트는 비밀 키 추출부(3316)로부터 수신된 키 정보를 기초로 특정 문서들의 집합을 추출하는 요청을 할 수 있고, 이는 신뢰성 증명자(3318)와 협력하고, 이는 3394에서 구독자가 구독자의 STS 썸프린트(thumbprint)의 증명을 기초로 특정 능력들을 가질 수 있음을 입증하고, 예를 들면 요청과 관련된 조직들의 다른 STS들(3320, 3322, 3324, 3326)과의 통신을 기초로 한다. 다른 실시예들에서와 같이, 저장 추상화 서비스(3340)는 데이터베이스 서비스(3330)(예를 들면 SQL)의 저장 세부 사항들을 추출하도록 제공될 수 있다.
도 34는 신뢰성있는 저장부(3400)의 예시적 비-한정적 실시예의 블록도이고, 신뢰성있는 저장부(3400)는 증명 및/또는 인증을 포함하는 검색가능한 암호화된 데이터(3410)를 포함하고, 이는 네트워크 서비스(3420)의 전달과 관련된다. 이 실시예에서, 구독자(3440) 또는 구독자(3440)에 의해 사용되는 애플리케이션은, 암호화 저장부(3400)의 특정 부분 접속에 대한 요청의 일부로, 실제 수신된 항목들이 수신될 항목이었는지를 확인하기 위해서 요청으로부터 되돌아온 항목들에 대해 확인 증명을 실행하도록 요청할 수 있다. 이런 관점에서, 도 34는 검색 가능 암호화기술과 확인 기술의 조합을 도시한다. 선택적으로, 시스템은 또한, 여기서 다른 실시예들에서 서술된 바와 같이, 클레임-기반 신원 및 접속 관리와 통합될 수 있다. 이런 관점에서, 연방 신뢰성 오버레이(federated trust overlay)로 지칭되기도 하는, 디지털 에스크로 패턴은, 여기서 다양한 실시예들 안에서 서술된 바와 같이, 보다 전통적인 클레임 기반 인증 시스템들과 완벽하게 통합될 수 있다.
도 34에서, 신뢰성 있는 데이터 저장부(3400) 또는 서비스 제공자 또는 데이터 저장부의 호스터는 증명 단계를 수행하고, 반면 데이터의 소유자(예를 들면 구독 장치)는 확인을 수행한다. 데이터 저장부(3400)는 신뢰성이 있고 이는 물리적 엔티티들이 실제로 데이터를 호스트하고, 일부 참가자들은 완전히 신뢰받지 않음에도 불구하고 사용자들이 그것이 강한 보장을 제공한다는 점에 대한 자신감을 가질 수 있게 때문이다.
도 35는 확인 단계를 포함하는 구독에 대한 예시적 비-한정적 프로세스를 도시하는 플로우 다이어그램이다. 3500에서, 검색 가능한 암호화된 데이터의 부분 집합이 구독 장치로부터 수신된다. 3510에서, 암호화 키 정보는 구독자 장치의 신원 정보를 기초해서 암호화 기 정보를 생성하는 키 생성 예시로부터 생성된다. 3520에서, 암호화 데이터의 부분 집합은 암호화 키 정보에서 정의된 구독자 장치에 허용되는 능력들의 함수로 해독된다. 3530에서, 부분 집합에서 나타나는 항목들은 확인될 수 있고(예를 들면 데이터 소유의 증명) 데이터는 3540에서 접속된다.
많은 경우들에서, 해독 필요없이 암호화 데이터 상에 PDP/POR의 실행이 가능한 것이 바람직하다. 선택적으로 PDP를 위해서 필요한 키 정보는 검색 가능 암호화 함께 보호되는 메타데이터 안에 인코딩될 수 있다. 이것이 PDP/POR을 위해 사용되는 키들의 관리하는 효율적인 방법일 수 있지만, PDP/POR이 평문(cleartext) 콘텐츠를 접속할 필요없이 암호화된 데이터 상에 수행될 수 있는 많은 고-가치 시나리오들이 있음에 주의해야 한다.
도 36은 증명자(3600)(예를 들면 데이터 소유자)가 암호적 챌린지(3620)를 입증자(prover)(예를 들면 데이터 서비스 제공자)에게 발행할 수 있는 예시적 비-한정적 확인 챌린지/응답 프로토콜을 도시한다. 챌린지(3620) 수신 직후에, 입증자(3610)는 응답을 데이터와 챌린지(3612)의 함수로 계산한다. 챌린지 응답(3620)이 그 뒤에 증명자(3600)로 되돌아오고, 이것은 그 다음에 데이터가 변경되지 않았음을 증명 또는 입증하기 위한 계산을 수행한다.
일반적으로 도 36에 도시된 확인은 개인용 PDP로 알려져 있으나, 제 3 자가 실체 데이터에 대한 내용을 알아차리지 않고, 유사한 프로토콜에 따라 증명자로 행동할 수 있도록, 제 3자에게 키("퍼블릭" 키)가 제공되는 "퍼블릭" 버전도 있음에 주의해야한다. 증명의 예시, POR은 데이터가 복구 가능(오염/변경에도 불구하고) 하다는 증명을 제공한다는 점에서 PDP와는 다르나, 아래 도 30에서 도시된 바와 같이, 문서들의 구조와 실제 알고리즘들을 다르지만, 기본 프로토콜은 동일하다. 여기의 신뢰성있는 에코시스템의 다양한 실시예들은 검색 가능 암호 및 POR/PDP와 결합하여 시스템을 유익하게 하고 신뢰성을 증강시킨다. 이런 관점에서, 데이터를 서비스 제공자에게 제출하기 전에, 데이터는 검색 가능하게 암호화되고 데이터의 후 처리(post processing)는 POR 및/또는 PDP를 포함할 수 있다.
추가적으로, 만약에 더 강한 보장을 제공할 필요가 있다면, "데이터 분산" 기술이 상술된 하나 이상의 실시예들 상에 선택적으로 오버레이될 수 있다. 데이터 분산 때문에, 데이터는 임의의 단일 서비스 제공자 내 재앙적 손실 또는 "중대한 악의적 행위"에 대한 복원을 위해서 복수의 서비스 제공자들에게 분배된다. 여기서 서술된 신뢰도 메커니즘의 사용을 통해서, 이런 분산은 독립 서비스 제공자들로 하여금 데이터의 오염 및 공모가 어렵게 만드는 방식으로 수행된다. 이것은 상술된 분산 CKG 실시예의 개념과 유사하다.
도 37은 네트워크 서비스(2520)의 전달과 관련된, 확인 및/또는 증명을 포함하는 검색 가능한 암호화된 데이터(2510)를 포함하는 신뢰성있는 저장부(2500)의 또 다른 예시적 비-한정적 실시예의 블록도이다. 구체적으로, 도 37은 구독자(2540)에게 되돌아온 항목들이 간섭되지 않았고, 또는 그렇지 않았다면 부주의하게 변경되었는지를 확인하기 위한 확인 요소(3750)를 도시한다. 앞에서 언급된, PDP는 확인의 비-한정적 예시이다.
도 38은 확인 단계를 포함하는 구독을 위핸 예시적 비-한정적 프로세스를 도시하는 플로우 다이어그램이다. 3800에서, 검색 가능한 암호화된 데이터의 부분집합이 구독 장치로부터 수신된다. 3810에서, 암호화 키 정보가, 구독 장치의 신원 정보를 기초로 암호화 키 정보를 생성하는 키 생성 예시로부터 생성된다. 3820에서, 암호화된 데이터의 부분집합은 암호화 키 정보에서 정의된 구독 장치에게 허가된 능력들의 함수로 암호화된다. 3830에서, 부분집합에서 나타난 항목들의 콘텐츠는 확인될 수 있고(예를 들면 복구의 증명) 데이터는 3840에서 접속된다.
도 39는 확인자(3900)(예를 들면 데이터 소유자)가 입증자(prover)(3910)(예를 들면 데이터 서비스 제공자)에게 암호적 챌린지(3920)를 발행하는 예시적 비-한정적 확인 챌린지/응답 프로토콜을 도시한다. 챌린지(3920)의 수신 직후, 입증자(3910)는 응답을 데이터와 챌린지(3912)의 함수로 계산한다. 그 다음에 챌린지 응답(3930)은 확인자(3900)에게 되돌아오고, 이것은 그 다음에 데이터가 3902에서 복원 가능한지를 확인 또는 증명하는 계산을 수행한다.
도 40은 계층화 접근을 위해서 복수의, 독립적 연방화 신뢰 오버레이들, 또는 디지털 에스크로들이 나란히, 또는 서로의 위에 존재할 수 있는 비-한정적 시나리오를 도시하는 블록도이다. 이런 시나리오에서, 다양한 네트워크 서비스(들)(4020)가 근거를 둘 수 있는 검색 가능한 암호화 데이터(4010)를 가지는 신뢰성있는 데이터 저장부(4000)가 있다. 예를 들면, 네트워크 서비스(들)(4020)는 클라우드 서비스로써 워드 프로세싱 소프트웨어의 전달을 포함할 수 있다. 지리-포(geo-distribution)의 일부로써, 또는 그렇지 않다면, 선택적으로, 복수의 오버레이들/에스크로들(4032, 4034, 4036)이 제공될 수 있고 이들 각각은 다른 애플리케이션들/버티컬들/준수 필요/권한 엔티티 요건들로 조정될 수 있고, 그에 따라 발행자들(2530) 또는 구독자들(4050)은, 내연적 또는 외연적으로, 예를 들면 필수 요건들의 집합 또는 관할/거주 영역에 기초해서, 참가할 바른 오버레이/에스크로를 선택한다. 따라서, 오버레이는 변할 수 있으나, 클라우드로부터의 백앤드 서비스들은 핵심 서비스 그 자체의 전달을 복잡화함 없이 동일하게 유지될 수 있다.
여기서 서술된 것은 다양한 신뢰성있는 데이터 서비스들의 전달을 도시하는 예시적, 비-한정적 실시예들이다. 이들 실시예들은 독립적인 것이 아니고, 오히려 적절한 경우에 서로 병합될 수 있다. 추가적으로, 임의의 위에서 서술된 실시예들은 다수의 대안적 방식으로 확장될 수 있다. 예를 들면, 한 실시예에서, 신뢰성있는 데이터 서비스들은 트랩도어들의 만기와 종료 또는 데이터의 접속 상의 보안 강화를 위한 능력을 제공한다. 다른 선택적 실시예에서는, 권리 관리 계층이 예를 들면, 암호/해독의 일부로 콘텐츠에 첨부되어 있는 권리들을 보전하기 위해, 또는 혐의 없는 상태에서 보다 쉽게 인식 가능 또는 감지 가능한 디지털 에스크로 내 저작권 데이터와 관련된 행동들을 저지하기 위해서 신뢰성 있는 데이터 서비스들의 대비 위에 만들어져있다. 그래서, 여기서 서술된 실시예들의 임의의 조합 또는 순열들은 본 발명의 범위 내로 고려된다.
예시적 비-한정적 실시예
디지털 에스크로 패턴의 예시적 구현은 FTO(federated trust overlay)로 지칭된다. 부록 A에 첨부된 것은 FTO 구현들에 대한 일부 추가적 비한정적 세부사항들이다.
이런 관점에서, 디지털 에스크로 패턴은 많은 가능한 패턴들과 변형들의 예시에 불과하다. 더 나아가, 이런 패턴(발행인들, 구독자들, 관리자들 그리고 감사들-그리고 아마도 상술된 바와 같은 다른 전문화된 역할들을 포함)은 다른 기저 FTO 패턴 위에 층층이 쌓이고, 이는 신뢰성을 유지하기 위해서 CTP, CSP, CKG 등의 정교 분리를 수행한다. 또한, 서로 방해하지 않고 상대방의 존재를 인지하지 못해도 공존할 수 있는 복수의 독립된 FTO들과 DEP들이 있을 수 있다. 또한, 클라우드 저장 서비스 제공자의 협력없이, 또는 심지어 이들 패턴들/오버레이들의 존재를 인지하지 못한 경우에도 DEP와 FTO 패턴들을 클라우드 저장부에 오버레이 하는 것이 가능하다.
더욱 상세하게, FTO는 클라우드 안의 데이터 서비스들로부터 독립적인 서비스들의 집합이다. 이들 서비스들은 데이터 서비스들의 오퍼레이터가 아닌 다른 당사자들에 의해 운용되고, 클라우드 서비스에 의해 호스트 된 데이터에 대하여 기밀성, 간섭 감지 그리고 부인 방지에 관해 강한 보장을 제공할 수 있다.
임의의 파트너가 중재 서비스, 확인 서비스, 저장 추상화 서비스와 같은 오버레이 서비스들을 구성하고 호스트 할 수 있다. 이들 파트너들은 참조 실시예를 를 호스트 하거나, 개방적으로 사용 가능한 포맷들과 프로토콜들을 기반으로 그들의 고유한 실시예를 구성할 수 있다.
포맷들, 프로토콜들 그리고 참조적 실시예들의 개방적 성향 때문에, FTO의 오퍼레이터들과 데이터 소유주들과 같은, 당사자들 사이에 분리된 제어를 유지하는 것이 간단할 수 있다.
암호화는 이 솔루션의 요소이기는 하지만, 다른 당사자들 전체에 걸쳐서 연합된 서비스의 조직화 또한 솔루션의 일부이다. 통상의 암호화 기술들은 많은 시나리오에서 설득력이 있기는 하지만, 그들은 간섭 감지, 부인 방지, 복수의(신뢰성 없는) 서비스들의 조직화를 통한 신뢰성 쌓기, 데이터 보관소 검색 등의 많은 시나리오를 가능케 하지 못한다.
보충적 콘텍스트
일부 추가적 비한정적 맥락을 위해서, 앞에서 서술된 바와 같이, 신뢰성있는 클라우드 제시물들의 집합은 신뢰성을 쌓는 클라우드를 위한 애플리케이션 에코시스템을 가능케 한다. 여기서 사용된 다양한 용어들은 다음을 포함한다: CKG-키 생성을 위한 센터(center for key generation), 복수-임차 키 생성 센터를 호스트 하는 엔티티가, 예를 들면, MIcrosoft, VeriSign, Fidelity, A Sovereign Entity, Enterprise, Compliance Entity, 등, CKG를 호스트 할 수 있다. 이런 관점에서, 복수-임차는 선택적이다(바람직하나 의무적은 아니다). 다른 용어들은 다음을 포함한다: CTP-암호 기술 제공자(Crypto Technology Provider), 신뢰성있는 에코시스템과 함께 사용하기 위한 암호 기술들을 제공하는 엔티티는, 예를 들면, Symantec, Certicom, Voltage, PGP Corp, BitArmor, Enterprise, Guardian Sovereign Entity 등, CTP들 일 수 있는 예시적 회사들이다.
추가적으로, 용어 CSP-클라우드 서비스 제공자(cloud service provider)는 저장부를 포함하는, 클라우드 서비스를 제공하는 엔티티이다. 다양한 회사들이 이런 데이터 서비스들을 제공할 수 있다. CIV-클라우드 인덱스 확인부(cloud index validator)는 되돌아온 인덱스들을 확인하기 위한 제 2 보관소이다. CSA-계산 및 저장 추상화부(compute and storage abstraction)은 저장부 백앤드를 추출한다. STF-저장 전송 포맷(storage transfer format)은 보관소들 사이에서 데이터/메타데이터를 전송하는 일반적인 포맷이다.
이런 관점에서, 언급된 바와 같이, 일부 기업 시나리오(들)는 데이터 서비스 기술들 또는 애플리케이션, 설계 및 엔지니어링 분석을 사용하고, 생산자와 공급자(들) 사이의 데이터 관계들을 정의하는 엔지니어링 엑스트라넷을 포함한다. 따라서 "최고(uber)" 신뢰성있는 엔티티 또는 타협의 단일점(single point)이 존재하지 않도록 복수의 엔티티들 사이에서 신뢰성을 분배시킴으로써 고유의 에코시스템이 다양한 시나리오들에 대해 사용 가능해지도록 한다.
검색 가능한 암호에 관련된 일부 보완적 콘텍스트에 대하여, 사용자는 일반적으로 키워드(들)에 대한 "능력들" 또는 "트랩도어들"을 가지거나 취득하고 그 다음에 그들에게 제시된 "능력"을 사용해서 요청을 서버로 전송한다. 서버는 유사한 문서 또는 데이터를 찾기 위해서 능력들과 인덱스들을 "통합"한다. 그 다음에 사용자는 검색의 결과에 해당하는 문서들에 대해서만 접속이 주어진다(사용자는 이들 문서들 이상의 접속권한을 가질 수도 있긴 하지만).
언급된 바와 같이, 어떤 단일 알고리즘도 여기서 서술된 검색 가능 암호화 데이터 저장부의 실시예를 한정하는 것으로 간주돼서는 안 되지만, 다음 내용은 일반적으로 예시적 비-한정적 알고리즘 뒤의 일부 이론들의 윤곽을 보여주고 검색 가능 대칭 암호(searchable symmetric encryption)(SSE) 패턴의 입문서를 제공한다:
Figure pct00001
메시지: m
Figure pct00002
키워드들: w1 ,...,wn
Figure pct00003
PRF: H
Figure pct00004
에스크로 키 생성
Figure pct00005
H를 위해서 난수 S 선택
Figure pct00006
암호화
Figure pct00007
난수 키 K 선택
Figure pct00008
난수 고정-길이 r 선택
Figure pct00009
1
Figure pct00010
i
Figure pct00011
n 에 대하여
계산 ai=Hs(wi)
계산 bi=Hai(r)
계산 ci=bi bi
Figure pct00012
flag
출력 (Ek(m), r,c1,...,cn)
Figure pct00013
w를 위한 트랩도어 또는 능력 생성
Figure pct00014
d=Hsj(w)
Figure pct00015
w를 위한 검사
Figure pct00016
계산 p=Hd(r)
Figure pct00017
계산 z= p bi
Figure pct00018
ci
Figure pct00019
출력 "진실" 만약 z=flag
Figure pct00020
Ek(m)을 해독해서 m 취득
역시 여기서 서술된 임의의 실시예 상에서 한정으로 고려돼서는 안 되지만, 다음 내용은 키워드 검색 패턴을 가지는 퍼블릭-키 암호화에 관한 입문서(primer)이다.
퍼블릭-키 암호화
a. PKE=(Gen, Enc, Dec)
신분-기반 암호화
b. IBE=(Gen, Enc, Extract, Dec)
c. 마스터 키들 생성
i. (msk, mpk)=IBE, Gen()
d. ID를 위해 m 암호화
i. c=IBE.ENC(mpk.ID,m)
e. ID를 위해 비밀 키 생성
i. sk=IBE.Extract(msk,ID)
f. 암호 해독
i. m=IBE.Dec(sk,c)
g. 메시지: m
h. 키워드들; w1,..,wn
i. 에스크로 키들 생성
i. (msk, mpk)=IBE.Gen()
ii.(pk,sk)=PKE.Gen()
j. 암호화
k. 1
Figure pct00021
i
Figure pct00022
n
i. ci=IBE.Enc(mpk, wi, flag)
l. Return(PKE, Enc(pk,m), c1,...cn)
m. w를 위해서 능력 또는 트랩도어 생성
i. d=IBE,Extranet(msk, w)
n. w를 위해 시험
o. 1
Figure pct00023
i
Figure pct00024
n 에 대하여
i. z=IBE.Dec(d,ei)
ii. 출력 "진실" 만약 z=flag
Ek(m)을 해독해서 m을 취득
예시적 네트워크 및 분산 환경들
본 기술 영역의 당업자는 여기서 서술된 신뢰성 있는 클라우드 서비스들 프레임워크와 관련된 실시예들을 위한 방법들과 기기들의 다양한 실시예들이, 컴퓨터 네트워크 또는 분산 컴퓨터 환경의 일부로 사용될 수 있고, 임의의 종류의 데이터 저장부와 연결될 수 있는, 임의의 컴퓨터 또는 다른 클라이언트 또는 서버 장치와 관련해서 구현될 수 있음을 인정할 것이다. 이런 관점에서, 여기서 서술된 다양한 실시예들은 임의의 수의 메모리 또는 저장 유닛들, 그리고 임의의 수의 저장 유닛들 사이에서 발생하는 임의의 수의 애플리케이션과 프로세스들을 가지는 임의의 컴퓨터 시스템 또는 환경에 구현될 수 있다. 이것은 원격 또는 로컬 저장부를 가지는, 네트워크 환경 또는 분산 컴퓨팅 환경에 사용되는 서버 컴퓨터들과 클라이언트 컴퓨터들을 가지는 환경을 포함하나 이에 한정되지는 않는다.
도 41은 예시적 네트워크 또는 분산 컴퓨팅 환경의 비-한정적 도해적 다이어그램을 제공한다. 분선 컴퓨팅 환경은 컴퓨팅 객체들(4110, 4112)과, 컴퓨팅 객체들 또는 장치들(4120, 4122, 4124, 4126, 4128등)을 포함하고, 이들은 애플리케이션들(4130, 4132, 4134, 4136, 4138)에서 나타나는 바와 같이, 프로그램들, 방법들, 데이터 저장부들, 프로그램 가능한 로직 등을 포함할 수 있다. 객체들(4110, 4112, 등)과 컴퓨팅 객체들 또는 장치들(4120, 4122, 4124, 4126, 4128등)이, PDAs, 오디오/비디오 장치, 휴대 전화/ MP3 재생기, 랩톱 등과 같은 다른 장치들을 포함할 수 있음을 인정해야할 것이다.
각각의 객체(4110, 4112, 등)와 컴퓨팅 객체 또는 장치들(4120, 4122, 4124, 4126, 4128, 등)은 하나 이상의 다른 객체들(4110, 4112, 등) 및 컴퓨팅 객체들 또는 장치들(4120, 4122, 4124, 4126, 4128, 등)과 통신 네트워크(4140)를 통해서, 직접 또는 간접적으로, 통신할 수 있다. 도 41에서는 단일 요소로 도시되어 있지만, 네트워크(4140)는 도 41의 시스템에 서비스를 제공하는 다른 컴퓨팅 객체들 및 컴퓨팅 장치들을 포함할 수 있고, 및/또는 복수의 상호 연결된 네트워크들을 나타낼 수도 있고, 이는 도시되지 않았다. 각각의 객체(4110, 4112, 등 또는 4120, 4122, 4124, 4126, 4128, 등)은 다양한 실시예들을 따라 제공되는 바와 같이 신뢰성있는 클라우드 컴퓨팅 서비스 또는 애플리케이션의 구현 또는 의사소통에 적절하게 API, 또는 다른 객체, 소프트웨어, 펌웨어 및/또는 하드웨어를 사용할 수 있는, 애플리케이션(4130, 4132, 4134, 4136, 4138)과 같은 애플리케이션도 포함할 수 있다.
분산 컴퓨팅 환경을 지원하는 다양한 시스템들, 요소들, 그리고 네트워크 설정들이 있다. 예를 들면, 컴퓨팅 시스템들은 로컬 네트워크 또는 광역 분산 네트워크들에 의해서, 무선 또는 유선 시스템에 의해, 함께 연결될 수 있다. 현재, 많은 네트워크가 광역 분산 컴퓨팅을 위한 기반 시설을 제공하고, 다양한 실시예들에서 서술된 바와 같이 기술들에 일어날 수 있는 예시적 통신들을 위해 사용될 수 있는 임의의 네트워크 기반 시설을 통해서 많은 다른 네트워크들을 포괄하는, 인터넷에 결합한다.
따라서, 네트워크 토폴리지들의 호스트와 네트워크 기반 시설들, 예를 들면 클라이언트/서버, 피어 투 피어, 또는 하이브리드 아키텍처가, 활용될 수 있다. 클라이언트/서버 아키텍처에서, 특히 네트워크 된 시스템에서, 클라이언트는 통상 예를 들면 서버와 같은 다른 컴퓨터에 의해 제공된 공유된 네트워크 리소스를 접속하는 컴퓨터이다. 도 41의 도해에서, 비-한정적 예시로써, 상황에 따라 임의의 컴퓨터들이 클라이언트, 서버, 또는 양자로 간주될 수 있지만, 컴퓨터들(4120, 4122, 4124, 4126, 4128등)은 클라이언트들로 간주될 수 있고, 컴퓨터들(4110, 4112, 등)은 서버들로 간주될 수 있고 여기서 서브들(4110, 4112, 등)은, 클라이언트 컴퓨터들(4120, 4122, 4124, 4126, 4128등)로부터 데이터 수신, 데이터 저장, 데이터 처리, 데이터를 클라이언트 컴퓨터들(4120, 4122, 4124, 4126, 4128등)으로 전송과 같은 데이터 서비스들을 제공한다. 임의의 이들 컴퓨팅 장치들은 데이터 처리, 또는 서비스 또는 업무 요청을 할 수 있고, 이들은 하나 이상의 실시예들을 위해 여기서 서술된 바와 같이 개선된 사용자 프로파일링 및 관련 기술들을 시사할 수 있다.
서버는 일반적으로 인터넷 또는 무선 네트워크 기반 시설과 같이, 원격 또는 로컬 네트워크상에서 접속 가능한 원격 컴퓨터 시스템이다. 클라이언트 프로세스는 제 1 컴퓨터에서 능동적일 수 있고, 서버 프로세서는 제 2 컴퓨터에서 능동적일 수 있고, 통신 매체를 통해서 상대방과 통신할 수 있고, 따라서 분산 기능을 제공하고 복수의 클라이언트들로 하여금 서버의 정보-수집 능력을 활용하도록 할 수 있다. 사용자 프로파일링에 의해 활용된 임의의 소프트웨어 객체는 독립적으로 또는 복수의 컴퓨팅 장치 또는 객체들 사이에 분산되어 제공될 수 있다.
통신 네트워크/버스(4140)가 인터넷인 네트워크 환경에서, 예를 들면, 서버들(4110, 4112, 등)은 클라이언트들(4120, 4122, 4124, 4126,4128등)이 HTTP(hypertext transter protocol)과 같은 임의의 수의 공지의 프로토콜들을 통해서 통신하는 웹 서버들일 수 있다. 서버들(4110, 4112, 등)은 또한 클라이언트들(4120, 4122, 4124, 4126, 4128 등)으로도 활동할 수 있고, 이는 분산 컴퓨팅 환경의 특성일 수 있다.
예시적 컴퓨팅 장치
언급된 바와 같이 여기서 서술된 다양한 실시예들은 신뢰성있는 클라우드 서비스 프레임워크의 전부 또는 일부를 구현하는 것이 바람직한 임의의 장치에 적용된다. 따라서, 휴대용과 다른 컴퓨팅 장치들과 모든 종류의 컴퓨팅 객체들이 여기서 서술된 다양한 실시예들과 관련되어 사용될 수 있음을 이해해야할 것이고, 즉, 장치가 신뢰성있는 클라우드 서비스 프레임워크와 관련되는 일부 기능을 제공하는 어느 경우라도 사용될 수 있다. 그래서, 아래 도 42에서 서술된 일반 목적 원격 컴퓨터는 하나의 예시에 불과하고, 본 발명의 실시예들은 네트워크/버스 정보 처리 상호 운용 및 상호 작용을 가지는 임의의 클라이언트와 함께 구현될 수 있다.
반드시 요구되는 것은 아니지만, 임의의 실시예들은 장치 또는 객체를 위한 서비스의 개발자에 의한 사용을 위해, 운용 시스템을 통해서 부분적으로 구현될 수 있고, 및/또는 운용 가능 요소(들)와 관련돼서 운용되는 애플리케이션 소프트웨어 안에 포함될 수 있다. 소프트웨어는 클라이언트 워크스테이션들, 서버들 또는 다른 장치들과 같은 하나 이상의 컴퓨터들에 의해 실행되는, 프로그램 모듈과 같은, 컴퓨터-실행 가능 명령들의 일반적인 맥락에서 서술될 수 있다. 본 기술의 당업자는 네트워크 상호 작용이 다양한 컴퓨터 시스템 설정들 및 프로토콜과 함께 실행될 수 있음을 인정할 것이다.
따라서 도 42는 하나 이상의 실시예들이 구현될 수 있는 적합한 컴퓨팅 시스템 환경(4200)의 예시를 도시하고, 물론 앞에서 서술된 바와 같이, 컴퓨팅 시스템 환경(4200)은 적합한 컴퓨팅 환경의 하나의 예시에 불과하고 임의의 실시예들의 기능 또는 사용 범위에 대하여 어떠한 한정을 부가하는 의도는 가지지 않는다. 또한, 컴퓨팅 환경(4200)은 예시적 운용 환경(4200) 내 도시된 임의의 하나 이상의 요소들의 조합과 관련해서 임의의 의존성 또는 필수 요건을 가지는 것으로 해석되어서도 안 된다.
도 42를 참조하면, 여기서 서술된 하나 이상의 실시예들을 구현하는 예시적 원격 장치는 핸즈핼드컴퓨터(4210) 형태의 일반 목적 컴퓨팅 장치를 포함할 수 있다. 핸즈핼드 컴퓨터(4210)의 요소들은 처리 유닛(4220), 시스템 메모리(4230), 그리고 시스템 메모리를 포함하는 다양한 시스템 요소들을 처리 유닛(4220)으로 결합시키는 시스템 버스(4221)를 포함할 수 있으나 이에 한정되지는 않는다.
컴퓨터(4210)는 일반적으로 다양한 컴퓨터 판독 가능 매체를 포함하고 컴퓨터(4210)에 의해 접속 가능한 임의의 허용 가능한 매체일 수 있다. 시스템 메모리(4230)는 ROM 및/또는 RAM과 같은 휘발성 및/또는 비휘발성 메모리 형태의 컴퓨터 저장 매체를 포함할 수 있다. 한정이 아닌 예시로써, 메모리(4230)는 또한 운용 시스템, 애플리케이션 프로그램들, 다른 프로그램 모듈들, 그리고 프로그램 데이터를 포함할 수 있다.
사용자는 입력 장치들(4240)을 통해서 컴퓨터(4210)에 명령들과 정보를 입력할 수 있다. 또한, 모니터 또는 다른 종류의 디스플레이 장치가 출력 인터페이스(4250)와 같은 인터페이스를 통해서 시스템 버스(4221)와 연결된다. 모니터에 더하여, 컴퓨터들은 또한 출력 인터페이스(4250)를 통해서 연결될 수 있는, 스피커들 및 프린터와 같은 다른 주변부 출력 기기들을 포함할 수 있다.
컴퓨터(4210)는 원격 컴퓨터(4270)와 같은, 하나 이상의 다른 원격 컴퓨터들에 대한 논리 연결들을 사용하여 네트워크 된 또는 분산 환경에서 운용될 수 있다. 원격 컴퓨터(4270)는 개인용 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 장치 또는 다른 통상의 네트워크 노드, 또는 임의의 다른 원격 매체 소비 또는 전송 기기일 수 있고, 컴퓨터(4210)과 관련해서 위에서 서술된 요소들 전부 또는 일부를 포함할 수 있다. 도 42에서 도시된 논리 연결들은 LAN 또는 WAN과 같은 네트워크(4271)를 포함하지만, 또한 다른 네트워크들/버스들을 포함할 수도 있다. 이런 네트워킹 환경들은 집, 사무실, 기업-규모 컴퓨터 네트워크들, 인트라넷 그리고 인터넷에서 아주 흔하다.
전술한 대로, 다양한 컴퓨팅 장치, 네트워크 및 광고 아키텍처에 관하여 예시적인 실시예들이 설명되었으나, 이하의 개념들이 임의의 네트워크 시스템 및 임의의 컴퓨팅 장치 또는 클라우드 서비스와의 상호작용에 관하여 신뢰(trust)를 제공하는 것이 바람직한 시스템에 적용될 수 있다.
여기서 서술된 하나 이상의 실시예들을 구현하는 복수의 방법이 존재하고, 예를 들면, 적절한 API, 작업 도구, 드라이버 코드, 운용 시스템, 제어, 독립된 또는 다운로드 가능한 소프트웨어 객체 등이 애플리케이션들 및 서비스들로 하여금 신뢰성 있는 클라우드 서비스 프레임워크를 사용을 가능케 한다. 실시예들은, 서술된 하나 이상의 실시예들에 따라서 포인팅 플랫폼 서비스들을 제공하는 소프트웨어 또는 하드웨어 객체로부터는 물론이고, API의 관점으로부터도 생각될 수 있다. 여기서 서술된 다양한 구현예와 실시예들은, 소프트웨어는 물론이고, 전부가 하드웨어, 부분적으로 하드웨어고 부분적으로는 소프트웨어인 측면들도 가질 수 있다.
예시적인"이라는 단어는 실례, 사례 또는 예증을 나타내는 의미로 사용된다. 의심을 회피하기 위해서, 여기 개시된 본 발명은 이런 예시들에 의해 한정되지 않는다. 추가적으로, 본 명세서에서 "예시적인" 것으로 설명되는 임의의 양태 또는 설계는 다른 양태들 또는 설계들보다 선호되거나 이로운 것으로 해석될 필요는 없다. 더 나아가, "포함한다 (include)," "가진다(has),"포함한다(contains)" 라는 용어들 또는 그들의 변형물들이 상세한 설명 또는 클레임 범위에서 사용되는 범위에서, 이러한 용어는 "포함하는(comprising)"이라는 용어와 유사한 방식으로 임의의 추가적인 또는 다른 요소들을 제한하지 않는 개방적 전환 단어로 포괄적인 의도를 가진다.
언급된 바와 같이 여기서 서술된 다양한 기술들은 하드웨어 또는 소프트웨어, 또는 적절한 경우에는 그들 사이의 조합과 관련해서 구현될 수 있다. 여기서 사용된 바와 같이, 용어들 "요소," "시스템" 그리고 유사한 것들은 하드웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어, 또는 실행 중인 소프트웨어인 컴퓨터-관련 엔티티를 지칭하도록 의도된다. 예를 들면, 요소는, 프로세서상에 실행중인 프로세스, 프로세서, 객체, 실행가능한 것, 실행의 스레드, 프로그램, 및/또는 컴퓨터일 수 있으나 이에 한정되지는 않는다. 예시로써, 컴퓨터상에 실행중인 애플리케이션 및 컴퓨터는 요소일 수 있다. 하나 이상의 요소들이 프로세스 및/또는 실행 스레드 안에 위치할 수 있고 요소는 한 컴퓨터에서 로컬화되거나 및/또는 둘 이상의 컴퓨터들 사이에서 분산될 수 있다.
전술한 시스템들은 여러 요소들 사이의 상호 작용과 관련돼서 서술되었다. 이런 시스템들과 요소들은 이들 요소들 또는 구체화된 부-요소들, 구체화된 요소들 중의 일부 또는 부-요소들, 및/또는 추가적 요소들을 앞에서 논의된 다양한 순열과 조합에 따라 포함할 수 있음을 인정해야할 것이다. 부-요소들은 또한 부모 요소(계층적) 내에 포함된 것이 아니라 다른 요소들과 통신적으로 결합된 요소들로 구현될 수 있다. 추가적으로, 하나 이상의 종합적 기능을 제공하는 단일 요소로 병합될 수 있고 또는 여러 개의 분리된 부-요소들로 분할될 수 있고, 통합된 기능을 제공하기 위하여, 관리 레이어와 같은 임의의 하나 이상의 중간 레이어들이 이런 부-요소들과 통신적으로 결합하기 위해서 제공될 수 있다. 여기서 서술된 임의의 요소들은 또한 여기서 구체적으로 서술되지는 않았지만 당업자들에 의해서 일반적으로 공지된 하나 이상의 다른 요소들과도 상호 작용할 수 있다.
앞에서 서술된 예시적 시스템들의 관점에서, 개시된 발명에 따라 구현될 수 있는 방법들은 다양한 도면들의 플로우차트들을 참조해서 더 잘 인정될 수 있다. 설명의 단순화 목적으로, 방법들은 일련의 블록들로 도시되고 서술되었지만, 청구된 발명은 블록들의 순서에 의해 한정되지 않고, 일부 블록들은, 여기서 도시되고 서술된 것과는, 다른 순서 및/또는 다른 블록들과 동시에 발생할 수 있음을 이해하고 인정해야할 것이다. 비연속적, 또는 나누어진, 플로우가 플로우차트를 통해서 도시되는 경우에, 다양한 다른 가지들, 플로우 경로들, 그리고 블록들의 순서가 동일 또는 유사한 결과를 달성하기 위해서 구현될 수 있음을 인정할 수 있다. 더 나아가, 도시된 모든 블록들이 반드시 추후 서술되는 방법들의 구현에 요구되어야하는 것은 아니다.
일부 실시예들에서는, 클라이언트 측 관점이 도시되었고, 의구심의 회피를 위해서, 대응되는 서버 관점도 존재함을 이해해야할 것이고, 반대의 경우도 마찬가지이다. 유사하게, 방법이 수행될 때, 하나 이상의 요소들을 통해서 방법을 수행하도록 설정된 하나 이상의 프로세서와 저장부를 가지는 대응되는 장치가 제공될 수 있다.
다양한 실시예들이 다양한 도면들의 선호되는 실시예들에 관련돼서 서술되었지만, 다른 유사한 실시예들 또한 사용될 수 있고 또는 본질을 벗어나지 않고 동일한 기능의 수행에 있어서 서술된 실시예들에 대하여 변경안들과 추가 안들이 만들어질 수 있음을 이해해야할 것이다. 더욱더 나아가, 상술된 실시예들의 하나 이상의 측면들이 복수의 프로세싱 칩들 또는 기기들 안에서 또는 사이에서 구현될 수 있고, 복수의 기기들 사이에서 저장부는 유사한 영향을 받을 수 있다. 따라서, 본 발명은 임의의 단일 실시예에 한정되어서는 안 되고, 오히려 첨부된 청구항들에 따라 폭과 범위가 해석되어야할 것이다.

Claims (15)

  1. 백업 데이터 호스팅을 위한 방법에 있어서,
    제어부의 제 1 영역 내 적어도 하나의 컴퓨팅 장치에 의해, 제어부의 제 2 영역 내 적어도 하나의 컴퓨팅 장치로부터 암호화 키 정보를 기초로 적어도 하나의 검색 가능한 암호화 알고리즘에 따르는 제어부의 상기 제 2 영역 내 상기 적어도 하나의 컴퓨팅 장치의 정의된 데이터 집합을 위한 완전 백업 데이터의 암호로부터 형성된 암호화된 데이터를 수신하는 단계(400)와;
    제어부의 상기 제 1 영역 내 상기 적어도 하나의 컴퓨팅 장치에 의해, 제어부의 상기 제 2 영역 내 상기 적어도 하나의 컴퓨팅 장치로부터 상기 완전 백업 데이터의 분석과 상기 암호화 키 정보를 기초로 상기 분석의 출력의 암호로부터 형성된 암호화된 메타데이터를 수신하는 단계(410)와;
    트랩도어(trap door) 데이터의 적어도 하나의 암호화 트랩도어에 의해 정의된 상기 암호화된 데이터에 대한 가시적 접속을 가능케 하는 상기 트렙도어 데이터를 수신하는 단계(420)와; 그리고
    상기 암호화된 데이터, 상기 암호화된 메타데이터, 그리고 상기 트랩도어 데이터를 기초로 해서 상기 정의된 데이터 집합을 위한 합성 완전체 데이터(synthetic full data)를 유지하는 단계(430)를 포함하는 백업 데이터 호스팅을 위한 방법.
  2. 제 1 항에 있어서,
    상기 암호화 키 정보를 기초로 적어도 하나의 검색 가능한 암호화 알고리즘에 따르는 상기 정의된 데이터 집합을 위한 증분 백업 데이터의 암호로부터 형성된 암호화된 증분 데이터를 수신하는 단계(400)를 추가로 포함하는 백업 데이터 호스팅을 위한 방법.
  3. 제 2 항에 대하여,
    상기 수신 단계(400)가 제어부의 상기 제 2 영역 내 상기 적어도 하나의 컴퓨팅 장치에 의해 생성된 적어도 하나의 로그로부터 형성된 암호화된 증분 데이터를 수신하는 단계를 포함하는 백업 데이터 호스팅을 위한 방법.
  4. 제 2 항에 있어서,
    상기 증분 백업 데이터의 분석과 상기 암호화 키 정보에 기초한 상기 분석의 출력의 암호로부터 형성된 암호화된 증분 메타데이터를 수신하는 단계(400)가 추가로 포함되는 백업 데이터 호스팅을 위한 방법.
  5. 제 2 항에 있어서,
    증분 트랩도어 데이터의 적어도 하나의 암호화 트랩도어에 의해 정의된 바와 같이 상기 암호화된 증분 데이터에 대한 가시적 접속을 가능케 하는 상기 증분 트랩도어 데이터를 수신하는 단계(400)를 추가로 포함하는 백업 데이터 호스팅을 위한 방법.
  6. 제 5 항에 있어서,
    상기 트랩도어 데이터와 함께 상기 암호화된 증분 데이터와 암호화된 증분된 메타데이터를 접속하는 단계(1240)를 추가로 포함하는 백업 데이터 호스팅을 위한 방법.
  7. 제 1 항에 있어서,
    상기 정의된 데이터 집합으로부터 적어도 하나의 데이터의 복구 요청을 수신하는 단계(600)와;
    상기 암호화된 데이터로부터 상기 적어도 하나의 데이터 항목을 추출하기 위한 적어도 하나의 트랩도어를 수신하는 단계(610)가 추가로 포함되는 백업 데이터 호스팅을 위한 방법.
  8. 백업 데이터 발행을 위한 방법에 있어서,
    제어부의 제 1 영역 내 적어도 하나의 컴퓨팅 장치에 의해, 제어부의 제 2 영역 내 적어도 하나의 원격 컴퓨팅 장치에 의해 주 데이터를 위한 합성 완전체 백업 데이터를 유지하는데 사용되는 완전 백업 데이터를 형성하기 위해서 상기 적어도 하나의 컴퓨팅 장치의 메모리 안에 저장된 상기 주 데이터의 완전 백업을 개시하는 단계(500)와;
    상기 주 데이터의 통과를 기초해서 구조적 메타데이터를 생성하는 단계(510)와;
    암호화 키 정보를 생성하는 키 생성자로부터 수신된 상기 암호화 키 정보를 기초로 하는 적어도 하나의 검색 가능한 암호 알고리즘에 따라 암호화된 데이터와 암호화된 메타데이터를 형성하기 위해서 상기 주 데이터와 상기 구조적 메타데이터를 암호화화는 단계(520)와; 그리고
    적어도 하나의 암호화 트랩도어에 의해 정의된 바와 같은 상기 암호화된 데이터의 통과를 가능하게 하는 상기 암호화 키 정보를 기초로 상기 적어도 하나의 암호화 트랩도어를 생성하는 단계(530)를 포함하는 백업 데이터 발행을 위한 방법.
  9. 제 8 항에 있어서,
    상기 암호화 단계(520)가 상기 주 데이터를 크기 보존 방법(size preserving manner)으로 암호화하는 단계를 포함하는 백업 데이터 발행을 위한 방법.
  10. 제 8 항에 있어서,
    상기 적어도 하나의 암호화 트랩도어를 생성하는 단계(530)가 상기 적어도 하나의 원격 컴퓨팅 장치로 하여금 상기 암호화된 메타데이터를 통과하기 위해 상기 적어도 하나의 암호화 트랩도어를 사용하는 것을 가능하게 단계를 포함하는 백업 데이터 발행을 위한 방법.
  11. 제 8 항에 있어서,
    상기 적어도 하나의 암호화 트랩도어를 생성하는 단계(530)가 상기 적어도 하나의 원격 컴퓨터 장치로 하여금 상기 암호화된 데이터를 통과하기 위해 상기 적어도 하나의 암호화 트랩도어를 사용하는 것을 가능하게 단계를 포함하는 백업 데이터 발행을 위한 방법.
  12. 제 8 항에 있어서,
    상기 암호화된 데이터와 암호화된 메타데이터를 상기 적어도 하나의 원격 컴퓨팅 장치를 포함하는 네트워크 서비스 제공자에게 전송하는 단계(710)를 추가로 포함하는 백업 데이터 발행을 위한 방법.
  13. 제 8 항에 있어서,
    상기 적어도 하나의 암호화 트랩도어를 상기 적어도 하나의 원격 컴퓨팅 장치를 포함하는 네트워크 서비스 제공자에게 전송하는 단계(710)를 추가로 포함하는 백업 데이터 발행을 위한 방법.
  14. 제 8 항에 있어서,
    상기 암호화된 데이터를 상기 적어도 하나의 컴퓨팅 장치 및 상기 적어도 하나의 원격 장치 모두에 저장된 데이터의 중복을 감소하기 위해 적어도 하나의 알고리즘을 적용하는 상기 적어도 하나의 원격 컴퓨팅 장치를 포함하는 네트워크 서비스 제공자에게 전송하는 단계(710)를 추가로 포함하는 백업 데이터 발행을 위한 방법.
  15. 백업 데이터 구독(subscribing) 방법에 있어서,
    백업 데이터 서비스에 의해 합성 완전체 데이터를 유지하는 적어도 하나의 네트워크를 통해서 접속 가능한 상기 백업 데이터 서비스로부터 적어도 하나의 구독 컴퓨팅 장치의 데이터 집합의 적어도 하나의 데이터 항목의 복구를 요청하는 단계(900)와;
    상기 적어도 하나의 데이터 항목을 검색 가능한 암호화된 포맷으로 수신하는 단계(910)와; 그리고
    상기 적어도 하나의 구독 장치에 접속 가능한 상기 데이터 집합을 암호화하는데 사용된 암호화 키 정보를 기초로, 상기 적어도 하나의 구독 컴퓨팅 장치의 메모리 안의 상기 데이터 집합의 상기 적어도 하나의 항목을 복구하는 단계(920)를 포함하는 백업 데이터 구독 방법.
KR1020117029757A 2009-06-12 2010-06-10 신뢰성있는 컴퓨팅 및 데이터 서비스들을 위한 안전하고 사적인 백업 저장부 및 프로세싱 KR20120029424A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/483,802 2009-06-12
US12/483,802 US20100318782A1 (en) 2009-06-12 2009-06-12 Secure and private backup storage and processing for trusted computing and data services

Publications (1)

Publication Number Publication Date
KR20120029424A true KR20120029424A (ko) 2012-03-26

Family

ID=43307416

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117029757A KR20120029424A (ko) 2009-06-12 2010-06-10 신뢰성있는 컴퓨팅 및 데이터 서비스들을 위한 안전하고 사적인 백업 저장부 및 프로세싱

Country Status (13)

Country Link
US (1) US20100318782A1 (ko)
EP (1) EP2441028A2 (ko)
JP (1) JP2012530391A (ko)
KR (1) KR20120029424A (ko)
CN (1) CN102460460A (ko)
AU (1) AU2010258678A1 (ko)
BR (1) BRPI1010697A2 (ko)
CA (1) CA2761358A1 (ko)
IL (1) IL216209A0 (ko)
RU (1) RU2531569C2 (ko)
SG (1) SG175843A1 (ko)
WO (1) WO2010144735A2 (ko)
ZA (1) ZA201108042B (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101472320B1 (ko) * 2013-05-30 2014-12-12 고려대학교 산학협력단 클라우드 환경에 비밀분산 기법을 이용한 데이터 보호 방법
KR101635005B1 (ko) * 2015-12-16 2016-07-01 주식회사 유니인포 클라우드 기반 디지털 데이터 금고 시스템에서 메타데이터 관리 방법
KR20190063204A (ko) * 2017-11-29 2019-06-07 고려대학교 산학협력단 클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 방법 및 시스템

Families Citing this family (114)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2195724B1 (en) 2007-08-28 2019-10-09 Commvault Systems, Inc. Power management of data processing resources, such as power adaptive management of data storage operations
US10055595B2 (en) 2007-08-30 2018-08-21 Baimmt, Llc Secure credentials control method
US8379867B2 (en) 2007-09-24 2013-02-19 Mymail Technology, Llc Secure email communication system
US8321688B2 (en) * 2009-06-12 2012-11-27 Microsoft Corporation Secure and private backup storage and processing for trusted computing and data services
US20100333116A1 (en) 2009-06-30 2010-12-30 Anand Prahlad Cloud gateway system for managing data storage to cloud storage sites
SG177438A1 (en) * 2009-07-01 2012-02-28 Mandar Patil Method for remotely controlling and monitoring the data produced on desktop on desktop software
CN102473170B (zh) * 2009-07-24 2016-01-27 惠普开发有限公司 基于虚拟机的应用服务供应
US9389895B2 (en) * 2009-12-17 2016-07-12 Microsoft Technology Licensing, Llc Virtual storage target offload techniques
US9043891B2 (en) * 2010-02-18 2015-05-26 Microsoft Technology Licensiing, LLC Preserving privacy with digital identities
US8806190B1 (en) 2010-04-19 2014-08-12 Amaani Munshi Method of transmission of encrypted documents from an email application
US20110289310A1 (en) * 2010-05-20 2011-11-24 Selgas Thomas D Cloud computing appliance
EP2661715A1 (fr) 2011-01-07 2013-11-13 Thomson Licensing Dispositif et procède de stockage en ligne, dispositif et procède d'émission, dispositif et procède de réception
US20120254118A1 (en) * 2011-03-31 2012-10-04 Microsoft Corporation Recovery of tenant data across tenant moves
US8930691B2 (en) 2011-08-16 2015-01-06 Microsoft Corporation Dynamic symmetric searchable encryption
WO2013044794A1 (zh) * 2011-09-30 2013-04-04 北京奇虎科技有限公司 终端备份和恢复方法
KR20130040065A (ko) * 2011-10-13 2013-04-23 삼성전자주식회사 전자 장치 및 그 암호화 방법
US9135460B2 (en) * 2011-12-22 2015-09-15 Microsoft Technology Licensing, Llc Techniques to store secret information for global data centers
CN103299314B (zh) * 2011-12-30 2016-10-19 英特尔公司 基于云的实时app 隐私操控面板
JP2013178665A (ja) * 2012-02-28 2013-09-09 Keepdata Ltd バックアップシステム
US8950009B2 (en) 2012-03-30 2015-02-03 Commvault Systems, Inc. Information management of data associated with multiple cloud services
US9262496B2 (en) 2012-03-30 2016-02-16 Commvault Systems, Inc. Unified access to personal data
WO2013160943A1 (en) * 2012-04-25 2013-10-31 Hitachi, Ltd. Computer and method for replicating data so as to minimise a data loss risk
US9432489B2 (en) * 2012-06-05 2016-08-30 Intel Corporation Systems and methods for processing encoded data streams
US9286491B2 (en) * 2012-06-07 2016-03-15 Amazon Technologies, Inc. Virtual service provider zones
US10075471B2 (en) 2012-06-07 2018-09-11 Amazon Technologies, Inc. Data loss prevention techniques
US10084818B1 (en) 2012-06-07 2018-09-25 Amazon Technologies, Inc. Flexibly configurable data modification services
EP2677441A1 (en) * 2012-06-19 2013-12-25 ABB Research Ltd. Storing operational data of an industrial control system
US9537663B2 (en) * 2012-06-20 2017-01-03 Alcatel Lucent Manipulation and restoration of authentication challenge parameters in network authentication procedures
US9177129B2 (en) 2012-06-27 2015-11-03 Intel Corporation Devices, systems, and methods for monitoring and asserting trust level using persistent trust log
EP2680487B1 (en) * 2012-06-29 2019-04-10 Orange Secured cloud data storage, distribution and restoration among multiple devices of a user
AU2013295242C1 (en) 2012-07-27 2018-08-09 Institut National De La Sante Et De La Recherche Medicale CD147 as receptor for pilus-mediated adhesion of meningococci to vascular endothelia
US9363288B2 (en) 2012-10-25 2016-06-07 Verisign, Inc. Privacy preserving registry browsing
DE102012020974A1 (de) 2012-10-25 2014-04-30 Volkswagen Aktiengesellschaft Vorrichtung und Verfahren zur Bereitstellung multimedialer Daten in einem Kraftfahrzeug
US9202079B2 (en) * 2012-10-25 2015-12-01 Verisign, Inc. Privacy preserving data querying
US10565394B2 (en) 2012-10-25 2020-02-18 Verisign, Inc. Privacy—preserving data querying with authenticated denial of existence
CN102937926B (zh) * 2012-10-30 2015-05-20 厦门市美亚柏科信息股份有限公司 一种恢复移动终端已删除sqlite文件的方法及装置
US9444800B1 (en) 2012-11-20 2016-09-13 Amazon Technologies, Inc. Virtual communication endpoint services
US10346259B2 (en) 2012-12-28 2019-07-09 Commvault Systems, Inc. Data recovery using a cloud-based remote data recovery center
WO2014114987A1 (en) * 2013-01-25 2014-07-31 Nokia Corporation Personal device encryption
US9767299B2 (en) 2013-03-15 2017-09-19 Mymail Technology, Llc Secure cloud data sharing
US9071429B1 (en) * 2013-04-29 2015-06-30 Amazon Technologies, Inc. Revocable shredding of security credentials
US9202069B2 (en) 2013-06-20 2015-12-01 Cloudfinder Sweden AB Role based search
TWI505130B (zh) * 2013-09-13 2015-10-21 Univ Nat Cheng Kung Cloud service authorization management method and system for cross-database system
US9396338B2 (en) 2013-10-15 2016-07-19 Intuit Inc. Method and system for providing a secure secrets proxy
US9384362B2 (en) 2013-10-14 2016-07-05 Intuit Inc. Method and system for distributing secrets
US9894069B2 (en) 2013-11-01 2018-02-13 Intuit Inc. Method and system for automatically managing secret application and maintenance
US9444818B2 (en) 2013-11-01 2016-09-13 Intuit Inc. Method and system for automatically managing secure communications in multiple communications jurisdiction zones
US9467477B2 (en) 2013-11-06 2016-10-11 Intuit Inc. Method and system for automatically managing secrets in multiple data security jurisdiction zones
US9282122B2 (en) 2014-04-30 2016-03-08 Intuit Inc. Method and apparatus for multi-tenancy secrets management
US20150127770A1 (en) * 2013-11-06 2015-05-07 Pax8, Inc. Distributed Cloud Disk Service Provisioning and Management
CN103607600A (zh) * 2013-11-19 2014-02-26 乐视致新电子科技(天津)有限公司 云备份方法和装置
CN104660568B (zh) * 2013-11-22 2018-09-11 中国科学院深圳先进技术研究院 一种通讯录信息的保护方法及装置
CN103685532B (zh) * 2013-12-20 2016-08-17 代玉松 一种基于云服务的企业间数据传输时安全保障系统及方法
US10657109B1 (en) * 2013-12-27 2020-05-19 EMC IP Holding Company LLC Method and system for sharepoint backup for disaster restore
BR112016005391B8 (pt) 2014-02-14 2022-10-25 Huawei Tech Co Ltd Método e servidor para buscar ponto divisório de corrente de dados com base em servidor
US20150310221A1 (en) * 2014-04-28 2015-10-29 Intuit Inc. Method and apparatus to rotate data encryption keys in databases with no down time
KR101479290B1 (ko) * 2014-08-19 2015-01-05 (주)세이퍼존 보안 클라우드 서비스를 제공하기 위한 에이전트 및 보안 클라우드 서비스를위한 보안키장치
US10127317B2 (en) 2014-09-18 2018-11-13 Red Hat, Inc. Private cloud API
US9767304B2 (en) * 2014-09-25 2017-09-19 Microsoft Technology Licensing, Llc Representation of operating system context in a trusted platform module
WO2016056473A1 (ja) * 2014-10-07 2016-04-14 日本電信電話株式会社 秘密計算システム、中継装置、それらの方法、プログラム、および記録媒体
US20160117226A1 (en) * 2014-10-22 2016-04-28 Netapp, Inc. Data recovery technique for recovering data from an object store
EP3767878A1 (en) * 2015-03-27 2021-01-20 Black Gold Coin, Inc. A system and a method for personal identification and verification
US9940203B1 (en) * 2015-06-11 2018-04-10 EMC IP Holding Company LLC Unified interface for cloud-based backup and restoration
RU2634224C2 (ru) 2015-06-30 2017-10-24 Общество С Ограниченной Ответственностью "Яндекс" Система и способ и постоянный машиночитаемый носитель дублирования файлов на клиентском устройстве для облачного хранилища
TWI585608B (zh) * 2015-11-05 2017-06-01 台南家專學校財團法人台南應用科技大學 應用於雲端儲存服務之關鍵字搜尋方法
US9992175B2 (en) * 2016-01-08 2018-06-05 Moneygram International, Inc. Systems and method for providing a data security service
US10133639B2 (en) 2016-02-10 2018-11-20 International Business Machines Corporation Privacy protection of media files for automatic cloud backup systems
RU2635027C1 (ru) * 2016-09-05 2017-11-08 Закрытое акционерное общество "Аладдин Р.Д." Компактный аппаратный электронный носитель информации с многоуровневым регулированием доступа к отдельным разделам памяти
US10191818B2 (en) * 2016-11-14 2019-01-29 Sap Se Filtered replication of data in distributed system of data centers
CN110337649B (zh) * 2016-12-30 2023-10-31 罗伯特·博世有限公司 用于搜索模式未察觉的动态对称可搜索加密的方法和系统
US11108858B2 (en) 2017-03-28 2021-08-31 Commvault Systems, Inc. Archiving mail servers via a simple mail transfer protocol (SMTP) server
US11074138B2 (en) 2017-03-29 2021-07-27 Commvault Systems, Inc. Multi-streaming backup operations for mailboxes
US11294786B2 (en) 2017-03-31 2022-04-05 Commvault Systems, Inc. Management of internet of things devices
US11140173B2 (en) 2017-03-31 2021-10-05 Baimmt, Llc System and method for secure access control
US11221939B2 (en) 2017-03-31 2022-01-11 Commvault Systems, Inc. Managing data from internet of things devices in a vehicle
US10552294B2 (en) 2017-03-31 2020-02-04 Commvault Systems, Inc. Management of internet of things devices
US10936711B2 (en) 2017-04-18 2021-03-02 Intuit Inc. Systems and mechanism to control the lifetime of an access token dynamically based on access token use
US10635829B1 (en) 2017-11-28 2020-04-28 Intuit Inc. Method and system for granting permissions to parties within an organization
CN108200063B (zh) * 2017-12-29 2020-01-03 华中科技大学 一种可搜索公钥加密方法、采用该方法的系统和服务器
RU2696240C1 (ru) 2018-03-30 2019-07-31 Акционерное общество "Лаборатория Касперского" Способ анонимного обмена данными в клиент-серверной архитектуре
RU2696227C1 (ru) * 2018-03-30 2019-07-31 Акционерное общество "Лаборатория Касперского" Способ передачи данных в клиент-серверной архитектуре
US10891198B2 (en) 2018-07-30 2021-01-12 Commvault Systems, Inc. Storing data to cloud libraries in cloud native formats
US10992458B2 (en) * 2019-01-16 2021-04-27 EMC IP Holding Company LLC Blockchain technology for data integrity regulation and proof of existence in data protection systems
US10768971B2 (en) 2019-01-30 2020-09-08 Commvault Systems, Inc. Cross-hypervisor live mount of backed up virtual machine data
RU2728503C1 (ru) * 2019-03-29 2020-07-29 Акционерное общество "Лаборатория Касперского" Способ передачи конфиденциальных данных
US11366723B2 (en) 2019-04-30 2022-06-21 Commvault Systems, Inc. Data storage management system for holistic protection and migration of serverless applications across multi-cloud computing environments
CN111953479B (zh) * 2019-05-16 2022-05-10 华为技术有限公司 数据处理的方法及装置
US11269734B2 (en) 2019-06-17 2022-03-08 Commvault Systems, Inc. Data storage management system for multi-cloud protection, recovery, and migration of databases-as-a-service and/or serverless database management systems
US20210011816A1 (en) 2019-07-10 2021-01-14 Commvault Systems, Inc. Preparing containerized applications for backup using a backup services container in a container-orchestration pod
RU2740605C1 (ru) * 2019-07-17 2021-01-15 Акционерное общество "Лаборатория Касперского" Способ передачи данных пользователя от доверенной стороны к третьей стороне и реализующая его система
US11595205B1 (en) * 2019-11-22 2023-02-28 Amazon Technologies, Inc. Database with client-controlled encryption key
US11860673B1 (en) 2019-11-22 2024-01-02 Amazon Technologies, Inc. Database with client-controlled encryption key
US11568063B1 (en) 2019-11-22 2023-01-31 Amazon Technologies, Inc. Database with client-controlled encryption key
US11467753B2 (en) 2020-02-14 2022-10-11 Commvault Systems, Inc. On-demand restore of virtual machine data
US11422900B2 (en) 2020-03-02 2022-08-23 Commvault Systems, Inc. Platform-agnostic containerized application data protection
US11321188B2 (en) 2020-03-02 2022-05-03 Commvault Systems, Inc. Platform-agnostic containerized application data protection
US11442768B2 (en) 2020-03-12 2022-09-13 Commvault Systems, Inc. Cross-hypervisor live recovery of virtual machines
US11748143B2 (en) 2020-05-15 2023-09-05 Commvault Systems, Inc. Live mount of virtual machines in a public cloud computing environment
US11870898B2 (en) * 2020-05-21 2024-01-09 Workday, Inc. Split keys for wallet recovery
US11405200B1 (en) 2020-05-21 2022-08-02 Workday, Inc. Multilevel split keys for wallet recovery
RU2749182C1 (ru) * 2020-06-19 2021-06-07 Акционерное общество "Лаборатория Касперского" Способ передачи данных на сервер с использованием открытого ключа
US11797392B2 (en) * 2020-09-09 2023-10-24 Thales Dis France Sas Backup and recovery of private information on edge devices onto surrogate edge devices
RU2739135C1 (ru) * 2020-09-23 2020-12-21 Олег Дмитриевич Гурин Способ и система безопасного управления резервными копиями состояний удаленных вычислительных устройств, с функцией шифрования оперативной памяти на центральном процессоре, с помощью квантового распределения ключей
US11314687B2 (en) 2020-09-24 2022-04-26 Commvault Systems, Inc. Container data mover for migrating data between distributed data storage systems integrated with application orchestrators
US11604706B2 (en) 2021-02-02 2023-03-14 Commvault Systems, Inc. Back up and restore related data on different cloud storage tiers
CN112866299B (zh) * 2021-04-12 2022-03-18 南京大学 移动边缘计算网络的加密数据去重与分享装置及方法
CN113064763B (zh) * 2021-04-16 2022-04-19 上海英方软件股份有限公司 一种基于加解密的连续数据保护方法及装置
US11190550B1 (en) 2021-04-22 2021-11-30 Netskope, Inc. Synthetic request injection to improve object security posture for cloud security enforcement
US11178188B1 (en) * 2021-04-22 2021-11-16 Netskope, Inc. Synthetic request injection to generate metadata for cloud policy enforcement
US11271973B1 (en) 2021-04-23 2022-03-08 Netskope, Inc. Synthetic request injection to retrieve object metadata for cloud policy enforcement
US11271972B1 (en) 2021-04-23 2022-03-08 Netskope, Inc. Data flow logic for synthetic request injection for cloud security enforcement
WO2022264170A1 (en) * 2021-06-17 2022-12-22 Jupitice Justice Technologies Pvt Ltd A method and a device for securing access to an application
US11943260B2 (en) 2022-02-02 2024-03-26 Netskope, Inc. Synthetic request injection to retrieve metadata for cloud policy enforcement
CN117521092B (zh) * 2023-10-23 2024-04-09 广州一牧数据有限公司 一种区块链数据回流处理方法及系统

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5864683A (en) * 1994-10-12 1999-01-26 Secure Computing Corporartion System for providing secure internetwork by connecting type enforcing secure computers to external network for limiting access to data based on user and process access rights
US6577734B1 (en) * 1995-10-31 2003-06-10 Lucent Technologies Inc. Data encryption key management system
US7739381B2 (en) * 1998-03-11 2010-06-15 Commvault Systems, Inc. System and method for providing encryption in storage operations in a storage network, such as for use by application service providers that provide data storage services
US7277941B2 (en) * 1998-03-11 2007-10-02 Commvault Systems, Inc. System and method for providing encryption in a storage network by storing a secured encryption key with encrypted archive data in an archive storage device
US7017188B1 (en) * 1998-11-16 2006-03-21 Softricity, Inc. Method and apparatus for secure content delivery over broadband access networks
KR100704998B1 (ko) * 1999-02-26 2007-04-09 소니 가부시끼 가이샤 기록방법, 관리방법 및 기록장치
US6538669B1 (en) * 1999-07-15 2003-03-25 Dell Products L.P. Graphical user interface for configuration of a storage system
US7362868B2 (en) * 2000-10-20 2008-04-22 Eruces, Inc. Hidden link dynamic key manager for use in computer systems with database structure for storage of encrypted data and method for storage and retrieval of encrypted data
US8929552B2 (en) * 2001-06-01 2015-01-06 No Magic, Inc. Electronic information and cryptographic key management system
CN1633776A (zh) * 2002-04-15 2005-06-29 美国多科摩通讯研究所股份有限公司 利用双线性映射的签名方案
US7380242B2 (en) * 2003-05-14 2008-05-27 Mainsoft Israel Ltd. Compiler and software product for compiling intermediate language bytecodes into Java bytecodes
US7240219B2 (en) * 2003-05-25 2007-07-03 Sandisk Il Ltd. Method and system for maintaining backup of portable storage devices
US20050137983A1 (en) * 2003-12-18 2005-06-23 Matthew Bells System and method for digital rights management
US8775823B2 (en) * 2006-12-29 2014-07-08 Commvault Systems, Inc. System and method for encrypting secondary copies of data
US7783899B2 (en) * 2004-12-09 2010-08-24 Palo Alto Research Center Incorporated System and method for performing a conjunctive keyword search over encrypted data
US8543542B2 (en) * 2005-02-07 2013-09-24 Mimosa Systems, Inc. Synthetic full copies of data and dynamic bulk-to-brick transformation
FR2898747A1 (fr) * 2006-03-15 2007-09-21 Gemplus Sa Procede de chiffrement cherchable dechiffrable, systeme pour un tel chiffrement
US20080016127A1 (en) * 2006-06-30 2008-01-17 Microsoft Corporation Utilizing software for backing up and recovering data
EP2122900A4 (en) * 2007-01-22 2014-07-23 Spyrus Inc PORTABLE DATA ENCRYPTION DEVICE WITH CONFIGURABLE SAFETY FUNCTIONS AND METHOD FOR FILING ENCRYPTION
KR100903601B1 (ko) * 2007-10-24 2009-06-18 한국전자통신연구원 암호화된 수치 데이터 검색 시스템 및 그 방법
US20100162002A1 (en) * 2008-12-23 2010-06-24 David Dodgson Virtual tape backup arrangement using cryptographically split storage
US8341427B2 (en) * 2009-02-16 2012-12-25 Microsoft Corporation Trusted cloud computing and services framework
US9165154B2 (en) * 2009-02-16 2015-10-20 Microsoft Technology Licensing, Llc Trusted cloud computing and services framework
US8321688B2 (en) * 2009-06-12 2012-11-27 Microsoft Corporation Secure and private backup storage and processing for trusted computing and data services

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101472320B1 (ko) * 2013-05-30 2014-12-12 고려대학교 산학협력단 클라우드 환경에 비밀분산 기법을 이용한 데이터 보호 방법
KR101635005B1 (ko) * 2015-12-16 2016-07-01 주식회사 유니인포 클라우드 기반 디지털 데이터 금고 시스템에서 메타데이터 관리 방법
KR20190063204A (ko) * 2017-11-29 2019-06-07 고려대학교 산학협력단 클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 방법 및 시스템

Also Published As

Publication number Publication date
AU2010258678A1 (en) 2011-12-01
US20100318782A1 (en) 2010-12-16
WO2010144735A3 (en) 2011-02-10
IL216209A0 (en) 2012-01-31
WO2010144735A2 (en) 2010-12-16
BRPI1010697A2 (pt) 2016-03-15
SG175843A1 (en) 2011-12-29
RU2531569C2 (ru) 2014-10-20
CA2761358A1 (en) 2010-12-16
RU2011150271A (ru) 2013-06-27
ZA201108042B (en) 2013-01-30
JP2012530391A (ja) 2012-11-29
CN102460460A (zh) 2012-05-16
EP2441028A2 (en) 2012-04-18

Similar Documents

Publication Publication Date Title
US8321688B2 (en) Secure and private backup storage and processing for trusted computing and data services
RU2531569C2 (ru) Защищенное и конфиденциальное хранение и обработка резервных копий для доверенных сервисов вычисления и данных
JP5754655B2 (ja) 信頼できるコンピューティング・サービスとデータ・サービスのためのコンテナを利用しないデータ
TWI532355B (zh) 用於可信賴計算及資料服務的可信賴可延伸標示語言
EP2396921B1 (en) Trusted cloud computing and services framework
EP2396922B1 (en) Trusted cloud computing and services framework
JP5639660B2 (ja) ラッパ複合を通じたデータのための確認可能な信頼
Gawande et al. A Survey of Various Security Management Models for Cloud Computing Storage Systems

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid