KR102161975B1 - 데이터를 보호하기 위해 암호 객체들을 사용하는 시스템 및 방법들 - Google Patents

데이터를 보호하기 위해 암호 객체들을 사용하는 시스템 및 방법들 Download PDF

Info

Publication number
KR102161975B1
KR102161975B1 KR1020167032120A KR20167032120A KR102161975B1 KR 102161975 B1 KR102161975 B1 KR 102161975B1 KR 1020167032120 A KR1020167032120 A KR 1020167032120A KR 20167032120 A KR20167032120 A KR 20167032120A KR 102161975 B1 KR102161975 B1 KR 102161975B1
Authority
KR
South Korea
Prior art keywords
data
icto
access
computer
owner
Prior art date
Application number
KR1020167032120A
Other languages
English (en)
Other versions
KR20170037881A (ko
Inventor
그레고리 스콧 스미스
위드 멜라니 레이 스미쓰
엘케 엠. 라이드나우어
다니엘 미첼 피셔
Original Assignee
이차지2 코포레이션
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 이차지2 코포레이션 filed Critical 이차지2 코포레이션
Publication of KR20170037881A publication Critical patent/KR20170037881A/ko
Application granted granted Critical
Publication of KR102161975B1 publication Critical patent/KR102161975B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting 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 where protection concerns the structure of data, e.g. records, types, queries
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • 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/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Abstract

지능형 암호 전달 객체(intelligent cipher transfer object)를 구축 및 활용하도록 구성된 시스템들, 방법들, 및 장치들이 제공된다. 지능형 암호 전달 객체는 클로킹 패턴들로 보호된 참가물들의 세트를 포함한다. 보호되는 참가물들의 세트에 대한 액세스를 관리하기 위한 실행가능 코드를 포함하는 휴대용 동적 규칙 세트는 지능형 암호 전달 객체에 포함된다. 주어진 사용자에 대해서, 지능형 암호 전달 객체는, 그것 내의 휴대용 동적 규칙 세트에 기초하여 다른 참가물들에 대한 액세스는 금지하면서, 참가물들 중 몇몇에 대한 액세스를 제공할 수 있다.

Description

데이터를 보호하기 위해 암호 객체들을 사용하는 시스템 및 방법들{SYSTEM AND METHODS FOR USING CIPHER OBJECTS TO PROTECT DATA}
이 출원은 또한 2014년 4월 17일에 제출된 미국 가출원 번호 제61/980,617호의 우선권을 주장하고, 전체적으로 또는 부분적으로 우선권에 대한 출원일에 자격이 주어진다. 미국 가출원 번호 제61/980,617호의 명세들, 도면들, 및 완전한 개시들은 모든 목적을 위해 구체적인 참조로 본 명세서에 통합된다.
발명의 분야
이 발명은 지능형 암호 전달 객체의 사용을 포함하는 (이에 제한되는 것은 아님) 자기-암호화 및 자기-관리를 사용하여 데이터를 보호 및 관리하기 위한 시스템 및 관련 방법들에 관한 것이다.
현재의 데이터 보호 기술들은 어떤 단점들을 갖고 있다. 정보가 안전한 네트워크와 같은 신뢰적인 환경 밖에 있으면, 네트워크 IAM 및 PAC 애플리케이션들과 같은 다른 보안 장치들이 그 정보의 사용을 더이상 관리하지 못하므로, 그 정보는 전형적으로 크게 암호화에 의해 보호된다. 현재의 기술들에서, 암호화된 데이터가 유용하게 되도록, 암호화 키들이 애플리케이션 내에 존재해야하거나 사용자들에 의해서 또는 애플리케이션을 통해 노출되거나 교환되어야 하며, 그에 따라서 잠재적으로 보호와 비밀성이 절충된다. 암호화 키들은 발견 또는 APT 공격으로 도난당할 수 있거나 사회공학 또는 다른 수단을 통해 절충될 수 있다. 게다가, 암호화 키(또는 비밀번호)가 공유되고 데이터가 언로크(unlock)되면, 데이터에 대한 제어를 잃게 된다. 데이터가 방화벽 뒤 등과 같은 신뢰적인 환경 내에 있더라도, 파일들은 그들의 저장 위치에 대한 액세스를 갖는 어떤 이에게 사용이 가능하므로, 그 데이터는 공격 또는 오용에 취약하다. 정보 보호는 전형적으로 네트워크들, BYOD, 원격통신, 서버들, 및 애플리케이션들에 대한 전문 지식을 갖는 사람들의 팀들이 일정 수준의 보안을 달성하기 위해 그들 모두를 통합하고, 기업 스케일로 노력들을 조정하는 것을 필요로 하고 그럼에도 불구하고 이러한 수준은 복잡한 통합들에 고유한 결함들 및 틈들을 활용하여 절충될 수 있다.
전형적인 데이터 암호화는 암호화하기 위한 미리결정된 시퀀스(sequence)로 동작한 후 복호화하기 위해 반대의 시퀀스로 동작하는 알고리즘들에 의존한다. 또한 데이터 조각을 클로킹하기 위한 고정 패턴으로 데이터 조각들을 움직인 후, 완벽하고 암호해제된 파일을 드러내기 위해 그 처리를 반대로 하는 처리가 있을 수 있다. 이 종래-기술 방법에서는, 데이터를 암호화하기 위기 위해 사용된 암호화 알고리즘을 알고 있는 공격자가 암호화 처리를 반대로 함으로써 암호를 풀 수 있다.
완전 동형 암호화(fully homomorphic encryption)는 관계의 신뢰적인 양태를 없애도록 시도하여, 당사자들 간의 신뢰를 무관한 것으로 만들었다. 예를 들어, 하나의 당사자는 수탁자가 그들의 데이터로 할 수 있는 것을 신뢰하지 않으면서 그들의 데이터를 저장 또는 처리를 위해 수탁자에 송신할 수 있는데, 이는 수탁자에게는 복호화를 필요로 하지 않는 처리를 수행하기 위해 데이터의 암호화된 버전에 대한 액세스만이 제공되기 때문이다. 그러나, 완전 동형 암호화는 실행하기에는 너무 번거롭다.
또 다른 종래의 데이터 보호 기술은 동적 제어들을 사용하는 것이다. 동적 제어들은 Adobe® 등에 의해 만들어진 문서 보기 및 편집 소프트웨어에 의해 만들어지고 사용되는 비밀번호로 보호된 PDF 파일들과 같이 애플리케이션 종속적이다. 종래의 동적 제어들은 애플리케이션에 종속되거나, 애플리케이션 내에 존재한다. 규칙들은 애플리케이션에 의해 실행된다. 전술된 바와 같이 키 (비밀번호) 교환에 또한 종속하지만, 이 방법의 또 다른 단점은 애플리케이션-종속 규칙들이 (Adobe® Acrobat® 으로 열리는 보호된 PDF의 예에서처럼) 무시될 수 있거나, 개발자가 저작 애플리케이션에 의해 부여된 규칙들을 무시하는 애플리케이션들을 작성할 수 있다는 것이다.
이에 따라, 자기-보호하고 자기-관리하며 기능을 유지하면서, 인증에 대한 키들 및 비밀번호들에 대해서, 예측가능한 보호를 위한 가역적인 암호화 시퀀스들에 대해서 및, 외부 실행 애플리케이션들에대해 덜 종속적이고, 보안 환경 내에서 및 외부에서 정지중인 및 전송중인 데이터에 대해서 효율적인 데이터 보증 솔루션이 필요하다.
개념들의 선택을 아래의 상세한 설명에 더욱 설명된 단순화된 형태로 소개하기 위해 이 요약이 제공된다. 이 요약은 청구된 주제에 대한 핵심 특징들을 나타내기 위한 것도 아니고, 청구된 주제의 범위를 결정하는 것을 돕기 위해 이용되도록 의도된 것도 아니다.
몇몇의 예시적인 실시예들에서, 본 발명은 컴퓨터-판독가능 매체에 저장될 수 있는, 자기-보호하고, 자기-제어하는 지능형 암호 전달 객체(intelligent cipher transfer object; ICTO)를 포함한다. ICTO는 휴대용 동적 규칙 세트(portable dynamic rule set; PDRS)를 포함하는 참가물들의 세트를 포함한다. 컴퓨팅 장치의 하나 이상의 프로세서들 또는 마이크로프로세서들에 의한 실행에 응답하여, PDRS는 컴퓨팅 장치가 다음을 포함하는 (이에 제한되는 것은 아니지만) 동작들을 수행하게 한다: 에이전트(agent)로부터, 참가물들의 세트 중 한 참가물의 부분에 대한 액세스에 대한 요청을 수신하는 것; 에이전트가 요청된 참가물 부분에 액세스하도록 인가됐는지를 검증하는 것; 및 참가물들의 세트 중 다른 부분들에 대한 액세스를 에이전트에게 제공하지 않으면서, 요청된 참가물 부분에 대한 액세스만을 에이전트에게 제공하는 것. 이러한 ICTO를 생성하는 컴퓨터-구현 방법 및 이러한 ICTO의 실행가능 부분들을 실행되게 야기하도록 구성된 컴퓨팅 장치가 또한 제공된다.
하나의 예시적인 실시예에서, 본 발명은 액세스에 대한 요청에 응답하여 ICTO를 활성화시키는, 컴퓨터 칩들, 스위치들, 제어 패널들, FGPA들 등을 포함하지만 이에 제한되는 것은 아닌 ICTO-인식 애플리케이션(ICTO-aware application), 운영 체제, 또는 장치를 포함한다. ICTO는, 소유자 데이터 및 PDRS를 포함하지만 이에 제한되는 것은 아닌 참가물들의 세트를 포함한다. ICTO 내의 동적 참가물 제어기(dynamic participant controller; DPC)가 원격으로 또는 국부적으로 활성화되면, 보호된 객체가 닫힐 때까지 (즉, 비활성화 또는 휴지 때까지) ICTO 내의 PDRS가 ICTO의 제어를 취하고 유지한다. 동적 참가물 제어기를 통해 참가물 데이터 중 몇몇 또는 모두에 대한 에이전트 액세스 요청에 응답하는 PDRS는 에이전트가 진짜이고 보호된 데이터 세트 중 몇몇 또는 모두에 액세스하는 것이 인가되었거나 또는 아무것도 액세스할 수 없음을 검증한다. 검증되면, 에이전트는 보호된 데이터 세트의 인가된 부분들만을 액세스할 수 있는 반면, ICTO 내의 나머지 보호된 데이터는 에이전트에게 액세스불가능하게 남아있는다. 이러한 ICTO의 실행가능 부분들을 활성화하기 위해 ICTO-인식 애플리케이션, 운영 체제, 또는 장치를 활용하여 이러한 ICTO를 생성하는 컴퓨터-구현 방법이 또한 제공된다.
추가의 실시예에서, 참가물들의 세트를 보호하는 컴퓨터-구현 방법이 제공된다. 보호될 참가물들의 세트는 컴퓨팅 장치에 의해 획득된다. 참가물들의 세트를 보호하기 위한 하나 이상의 클로킹 패턴들이 결정된다. 제1 클로킹 패턴은 참가물들의 세트의 제1 하위세트를 보호 또는 혼합하기 위해 사용되고, 제1 클로킹 패턴과 상이한 제2 클로킹 패턴은 참가물들의 세트의 제2 하위세트를 보호 또는 혼합하기 위해 사용된다. 결정된 클로킹 패턴들은, 클로킹 또는 혼합된 참가물들의 세트를 생성하기 위해, 컴퓨팅 장치에 의해 참가물들의 세트에 적용된다. 클로킹된 참가물들의 세트는 컴퓨팅 장치에 의해 ICTO에 추가된다. 이 방법을 실행하도록 구성된 컴퓨팅 장치 및 컴퓨팅 장치의 하나 이상의 프로세서들에의한 실행에 응답하여, 컴퓨팅 장치가 이러한 방법을 수행하게 하는 컴퓨터-실행가능 명령들이 저장된 컴퓨터-판독가능 매체가 또한 제공된다.
또 다른 실시예에서, 본 발명은 참가물들의 세트를 보호하기 위해 이 방법을 활용하는 ICTO-인식 애플리케이션, 운영 체제, 또는 장치를 포함한다. 참가물들의 세트는 중간 패턴 ICTO를 생성하기 위해 ICTO-인식 애플리케이션, 운영 체제, 또는 장치를 통해 모아지는데, 이 중간 패턴 ICTO는, ICTO가 완벽하게 구현되기 전까지, 암호 엔진 또는 동적 참가물 제어기에 의해 제공된 임시 또는 "시작" 규칙 세트 및 참가물들의 세트를 포함한다. 중간 패턴 ICTO는 동적 참가물 제어기 의해 동적으로 선택 또는 생성되어 적용되는 하나 이상의 클로킹 패턴들에 의해 클로킹된다. 임시 규칙 세트는 추후에 소유자에 의해 정의되는 하나 이상의 특정한 또는 고유한 규칙 세트들로 대체되고, 하나 이상의 클로킹 패턴들은 ICTO 내의 PDRS에 의해 각각의 ICTO를 위해 동적으로 그리고 무작위로 선택 또는 생성된다. 클로킹 패턴들은 참가물들의 부분 중 몇몇 또는 모두에 무작위로 적용될 수 있고 동시에 각각의 ICTO에 대해 참가물들의 고유한 클로킹된 세트를 생성하기 위해, 추가적인 클로킹 패턴들이 참가물들의 부분 중 몇몇 또는 모두에 무작위로 적용될 수 있다.
또 다른 실시예에서, ICTO에 의해 보호 또는 관리되는 데이터에 액세스하도록 구성된 컴퓨팅 장치가 제공된다. ICTO에 저장 또는 혼합된 참가물 부분에 액세스하고자하는 에이전트로부터의 액세스 요청이 컴퓨팅 장치에 의해 수신된다. ICTO 내의 PDRS가 컴퓨팅 장치에 의해 활성화된다. PDRS 내의 적어도 하나의 규칙이, 액세스 요청을 평가하기 위해, 컴퓨팅 장치에 의해 실행된다. 그 액세스 요청이 허용된다는 결정에 응답하여, 에이전트에 의해 요청된 참가물 부분에 대한 액세스는, 다른 참가물 부분들에 대한 액세스를 제공하지 않으면서, 제공된다.
또 다른 실시예에서, 본 발명은, 에이전트로부터의 액세스 요청의 수신시에 ICTO를 활성화하는, ICTO-인식 애플리케이션, 운영 체제, 또는 장치를 포함한다. ICTO 내의 동적 참가물 제어기가 활성화되고, 활성화되면, 임베딩된(embedded) PDRS가 ICTO의 제어를 취하고 유지한다. PDRS의 적어도 하나의 규칙은, 보호된 데이터 중 몇몇 또는 모두에 액세스할 수 있거나, 또는 어느 것에도 액세스할 수 없는, 에이전트의 인증 및 인가를 평가하기 위해 실행된다. 에이전트가 보호된 데이터 중 몇몇 또는 모두에 액세스하도록 허락되었으면, 액세스에 대해 인가되지 않은 보호된 데이터는 보호된 채로 남아있어, 액세스하는 에이전트에게는 보이지 않는다. 비활성화된 ICTO는 ICTO-인식 애플리케이션, 운영 체제, 또는 장치 없이는 액세스 불가능하다.
앞의 양태들 및 본 개시사항의 실시예들의 수반되는 많은 이점들은, 다음의 상세한 설명을 참조하여 첨부된 도면들과 함께 취해질 때 더욱 잘 이해될 것이므로, 보다 용이하게 인식될 것이다.
도 1은 본 발명의 다양한 양태들에 따른 데이터 관리의 예시적인 실시예를 나타내는 개략도.
도 2는 본 발명의 다양한 양태들에 따라 ICTO를 구성하는 방법의 예시적인 실시예를 나타내는 흐름도.
도 3은 본 발명의 다양한 양태들에 따라 ICTO에 의해 보호된 데이터에 액세스하는 방법의 예시적인 실시예를 나타내는 흐름도.
도 4는 본 발명의 실시예에 대한 예시적인 사용 사례를 나타내는 개략도.
도 5는 본 발명의 실시예에 대한 예시적인 작업흐름의 양태들을 나타내는 개략도.
도 6은 본 발명의 실시예들과 함께 사용하기에 적합한 컴퓨팅 장치의 예시적인 하드웨어 구조를 나타내는 블록도.
도 7은 본 발명의 또 다른 예시적인 실시예에 따른 데이터 관리의 예시적인 실시예를 나타내는 개략도.
도 8은 본 발명의 또 다른 예시적인 실시예에 따라 ICTO를 생성하는 예시적인 실시예를 나타내는 흐름도.
도 9는 본 발명의 또 다른 예시적인 실시예에 따라 ICTO에 액세스하는 예시적인 실시예를 나타내는 흐름도.
도 10은 본 발명의 또 다른 예시적인 실시예에 따른 휴대용 신원 어플라이언스 시스템(portable identity appliance system)의 뷰를 나타내는 도면.
도 11은 보호된 객체를 생성하기 위해 사용되는 휴대용 신원 어플라이언스를 나타내는 도면.
도 12는 보호된 객체의 안전한 메시징을 용이하게 하기 위해 사용되는 휴대용 신원 어플라이언스를 나타내는 도면.
도 13은 웹사이트들, 포털들, 네트워크들, 또는 다른 자원들에 대한 액세스를 감시하기 위해 사용되는 휴대용 신원 어플라이언스를 나타내는 도면.
몇몇의 예시적인 실시예들에서, 본 발명은 컴퓨터-판독가능 매체에 저장될 수 있는, 자기-포함되고, 자기-보호하고, 자기-제어하는 지능형 암호 전달 객체(ICTO)를 포함한다. ICTO는 휴대용 동적 규칙 세트(PDRS)를 포함하는 참가물들의 세트를 포함한다. 이러한 ICTO를 생성, 액세스, 및 사용하는 컴퓨터-구현 방법들 및 이러한 ICTO의 실행가능 부분들을 실행하도록 구성된 컴퓨팅 장치가 또한 제공된다.
다양한 실시예들에서, 본 발명은 종래의 데이터 보호 시스템들 및 방법들이 갖는 치명적인 결함들을 처리한다. 기존의 보호 방식들은 구내 방어들, 사용자 액세스(사용자들 및 그들의 장치들 모두), 및 비정상행위 탐지에 대해서는 다루지만 데이터 자체에는 의미를 두지 않기 때문에, 본 발명은 기존의 보호 방식들에 있는 틈을 메운다. 종래-기술 암호화가 활용되면, 키 코드 관리에 대한 부담이 생산성을 떨어뜨리거나, 마찬가지로 보호될 필요가 있는 키들의 노출에 의한 결함들이 또 다른 취약점을 만들 수 있다.
본 게시사항의 실시예들은 자기-포함되고, 자기-보호하고, 자기-관리하고, 데이터-중심인 솔루션을 제공하는데, 이는 데이터 관리, 보호, 및 경영을 위한 제어들이 각각의 데이터 세트에 접목되고 그것의 일부가 되어, 데이터 세트의 액세스 및 사용을 직접 감독하는 것을 의미한다. 본 게시사항의 몇몇의 실시예들에서, 몇몇의 데이터들이 인가된 에이전트에 의한 분석 또는 사용을 위해 보호가 해제될 수 있지만, 보호를 해제하는 방법은 보호 메커니즘 또는 메커니즘들의 반대가 아니기 때문에, 예측이 불가능하다. 본 발명은, 데이터 존재 수명에 걸친 동적인, 휴대용인, 독립적인, 지속적인, 지능형 데이터 관리를 유지하기 위해, 예측 불가능하고 불가역성인 시스템 및 연관 방법들을 포함한다. 이 시스템은, 데이터가 저장되어있거나 전송중일 때, 및 신뢰적는 데이터 사용자들 또는 신뢰적이지 않은 데이터 사용자들의 손에 있을 때, 데이터를 보호할 수 있다.
본 발명의 몇몇의 실시예들에서, 데이터 보호 방식은 데이터-세트에 임베딩, 접목, 및 유지된다. 이 데이터 보호 방식은 또한 데이터에 액세스하기 위한 시도들에 대한 감사 추적(audit trail)을 생성할 수 있다. 알려진 또는 인가된 데이터 사용자들은 임베딩된 로그에 기록되는 한편, 데이터에 액세스하고자 하는 알려지지 않은 당사자들 또는 다른 비인가된 시도들은 마찬가지로 임베딩된 로드에 기록되지만 데이터 소유자에게 실시간으로 전달 및 표시될 수 있다. 비인가된 당사자가 데이터에 액세스하려고 시도하면, 자기-보호하는 데이터는 자신을 방어하고, 그 침입에 대해 공격적인 동작을 취하고, 데이터 소유자에게 그 비인가된 시도를 알리고, 및/또는 임의의 다른 적절한 동작을 취할 수 있다.
데이터 소유자는 데이터에 대한 당사자들의 관계를 계속 검사하는 간단하고 가벼운 관리 도구로서 이 보호 방식을 활용한다. 모든 인가된 당사자가 보호 방식에 통합된 자신의 구축된 신원을 가지기 때문에, 공격자의 시점에서, 시스템은 예측 불가능하다. 소유자, 사용자, 및 데이터 세트에 대한 각각의 조합에 대해서 고유한 보호 방식이 제공될 수 있는데; 이는, 인가된 당사자 A에게 데이터가 공개되는 방법이, 인가된 당사자 B에게 데이터가 공개되는 방법과 다를 수 있다는 것을 의미한다.
게다가, 소유자, 사용자, 데이터 세트, 및 규칙 세트의 조합에 제공될 수 있는 고유한 보호 방식은, 같은 조합이 추후에 보호될 때, 마찬가지로 자신에게 고유할 것이다. 즉, 매번 소유자, 사용자, 데이터 세트, 및 규칙 세트의 조합이 여기서 설명된 바와 같이 보호되고, 같은 조합이든 또는 상이한 조합이든, ICTO는 고유하게 보호되는 ICTO일 것이다.
몇몇의 실시예들에서, 데이터를 보호하고 보호된 데이터에 액세스하기 위해 상이한 기술들이 사용될 수 있다. 예를 들어, 불가역적인 보호 스킴이 다수의 데이터 조각들을 단일의 디지털 혼합체에 조합하기 위해 사용될 수 있으며, 이러한 선택적인 회수(retrieve) 방식은 단일의 디지털 혼합체의 다른 보호된 데이터에 대한 액세스는 획득하지 않으면서 단일의 디지털 혼합체로부터 데이터 조각들을 선택적으로 회수하는데 사용될 수 있다. 이러한 실시예에서, 데이터가 올바르게 액세스되면, 그것은 인가된 수신자에 대한 소유자의 바램에 기초하여 선택적으로 공개된다. 정보를 공개하기 위한 경로는 본래의 단계들을 추적하는 기능은 아니고, 다수의 데이터 조각들을 조합하기 위해 사용된 본래의 보호 방식은 개별적으로 요청된 데이터 조각들에 관련해서 외에는 불가역적일 수 있다. 즉, 보호 방식으로 저장된 데이터 조각들이 액세스되더라도, 디지털 혼합체 전체는, 본래의 콘텐츠들 전체를 재구성하는 방법으로는 액세스 불가능하다. 본 게시사항의 실시예들은 정당한 참가물로 또는 아니라고 포함된 임의의 사용자 또는 엔티티 신원를 긍정적으로 식별하도록 구성되고, 데이터 소유자는 식별된 정당한 사용자들이 액세스를 가질 수 있는 데이터 부분들 또는 조각들을 제어한다. 의도된 수신자 또는 의도된 수신자의 네트워크 내부에 있던 또는 외부에 있던, 비인가된 당사자들은 보호되지 않은 형태의 데이터에 액세스할 수 없다. 본 게시사항의 실시예들은 데이터 보안을 보증하기 위해 액세스를 제공하기 전에 신뢰적인 당사자의 신원을 확실히 확인한다. 보호 방법의 역행 또는 리버스 엔지니어링은 원래의 결과를 이루어낼 수 없다.
본 발명의 몇몇의 실시예들에서, 규칙들은 디지털 혼합체의 실행가능 부분에 의해 실행되므로, 데이터 소유자의 확실한 바램들이 제삼자 또는 외부 엔티티 또는 애플리케이션 또는 운영 체제에 의존하지 않고 시행됨이 확실하다. 이 보호 방식은 데이터를 보호/보호해제하기 위한 애플리케이션 또는 운영 체제에 의존하지 않는데: 데이터는 자기-보호 및 자기-제어한다. 보호 방식은 운영 체제, 환경, 및 애플리케이션(즉, 외부 또는 중앙집중식 또는 서버 키 관리, 비밀번호 관리, 및 신원 관리 애플리케이션들)에 독립적이다. 프로토콜 내에서의 방법들은 데이터 혼합체에 저장된 실행가능 코드로 구현되고, 구성된 API를 통해 데이터에 액세스하고자하는 사용자에 의한 요청을 탐지한 것에 응답하여 실행된다. 게다가, 데이터는 임의의 유형(예를 들어, 텍스트, 오디오, 비디오, 또는 그들의 조합)일 수 있고, 임의의 종류의 컨테이너(container), 데이터베이스, 또는 환경(예를 들어, 버퍼, 디렉터리, 파일, 또는 그들의 조합들)에 있을 수 있다. API 또는 본 명세서에 설명된 다른 수단을 통하는 것 이외에 데이터에 액세스하고자 하는 어떤 시도도 적용된 클로킹 패턴들에 의해 좌절될 것이고, 이는 API를 구현하는 구성요소들 외부의 또는 그외의 임의의 구성요소들에 의해서는 결정될 수 없다. API 또는 본 명세서에 설명된 다른 수단을 통해 데이터에 액세스하고자 시도하면, 보호 방식은, 정당한 사용자들만이 데이터 소유자에 의해 허락되어 데이터에 액세스할 수 있다는 것을 보증한다.
API, 또는 다른 ICTO-인식 애플리케이션, 장치, 또는 운영 체제를 통해 개시되는 다른 방법들은 처음에 ICTO를 검사한다. 이어서, 외부 클로킹 기술이 디지털 혼합체 내에 저장된 실행가능 코드, 암호 엔진, 또는 혼합기의 위치를 찾아낸다. 액세스 요청은 에이전트 대신에 API 또는 다른 ICTO-인식 애플리케이션, 장치, 또는 운영 체제를 통해 실행가능 코드에 의해 수신된다. 자기-관리되는 데이터 객체가 닫히거나 비활성화되기 전까지, 실행가능 코드는, 휴대용 동적 규칙 세트가 제어를 취하고 유지할 때 활성화되거나(energized) "깨워"진다. 실행가능 코드가 활성화되지 않고서는 자기-보호하고 자기-제어하는 디지털 혼합체에 액세스하고자 하는 어떠한 시도도 성공할 수 없다.
도 1은 본 발명의 다양한 양태들에 따른, 자기-관리하는 데이터의 예시적인 실시예를 나타내는 개략도이다. 동적 참가물 제어기(110) 또는 "혼합기"는, 아래에 더욱 설명된, 인가된 에이전트들, 장치 위치들, 데이터 사용 규칙들, 및/또는 다른 요소들에 대한 설명을 포함하는 디지털 구성요소들("참가물들")(101)의 세트를 식별한다. 이들 구성요소들을 혼합하여, 혼합기(110)는 클로킹된 엔티티, 지능형 암호 전달 객체, 또는 ICTO(115)를 형성한다. ICTO(115)는 또한 "디지털 혼합체"로 불릴 수 있다. 본 명세서에 설명된 바와 같이, 당업자는, "ICTO" 및 "디지털 혼합체" 및 "자기-관리하는 데이터"란 용어들이 상호 교환 가능하게 사용될 수 있다는 것을 인식할 것이다. ICTO(115)를 직접 보고있는 비인가된 엔티티 또는 제삼자에게, ICTO(115)는 단순히 데이터 세트로 보일 수 있다. ICTO(115)는 외부에는, 본래의 구성요소들을 닮거나 노출시키지 않는 동형 혼합체로 보인다. 그러나, (혼합기(110), ICTO-인식 클라이언트 애플리케이션(나타내지 않음), 및/또는 등과 같은) API를 구현하는 애플리케이션을 통해 액세스될 때, ICTO(115)에 의해 관리되는 데이터에 대한 액세스를 제공하기 위해 ICTO(115)의 실행가능 부분들이 액세스될 수 있다.
몇몇의 실시예들에서, ICTO(115)의 실행가능 부분들은, API를 구현하는 애플리케이션이 그 실행가능 부분들을 용이하게 찾도록 허용하기 위해, ICTO(115) 내의 확인가능한 위치에 저장될 수 있다. 몇몇의 실시예들에서, ICTO(115)의 하나 이상의 실행가능 부분들을 ICTO(115) 내의 가변적인 위치들에 저장함으로써, 추가적인 보호가 ICTO(115)에 제공될 수 있다. 이들 가변적인 위치들은 ICTO(115)의 실행가능 부분들을 비인가된 사용자가 찾기 매우 어렵게 만들지만, ICTO(115)에 액세스하기 위해 API를 구현하는 ICTO-인식 애플리케이션은 ICTO(115)의 특징에 기초하여 주어진 ICTO(115)의 가변적인 위치들을 컴퓨팅할 수 있다. 예를 들어, 안전한 애플리케이션은 파일 크기, 생성 시간, 및/또는 등과 같은 ICTO(115)의 속성을 판독할 수 있고, 그 속성을 단서로 위치를 결정하는 계산을 수행할 수 있다. 계산의 세부사항들을 비밀로 유지함으로써, ICTO(115)의 실행가능 부분들의 위치도 마찬가지로 비밀이 유지될 수 있다.
참가물들의 세트(101)는 객체 설명들(102), 혼합물 메타데이터(104), 소유자 데이터(106), 클로킹 패턴들(107), 신원 모듈(109), 및 지능 모듈(111)을 포함할 수 있다. 몇몇 실시예들에서, 신원 모듈(109) 및 지능 모듈(111)의 조합은 함께 휴대용 동적 규칙 세트(108)로 고려될 수 있다. 객체 설명들(102)은 소유자-제공 및 소유자-정의 특징들, 데이터 식별자들, 및/또는 속성들을 포함할 수 있다. 소유자 데이터(106)는 문서, 파일, 버퍼, 디렉터리, 원격으로 저장된 데이터에 대한 포인터, 데이터베이스, 및/또는 등과 같은, ICTO(115) 내에 보호되는 데이터를 포함할 수 있다. 몇몇의 실시예들에서, ICTO(115)가 단지, 예를 들어, 아래에 서명된 데이터에 연관되지 않는 서명 검증 방법을 위해 사용되었으면, 소유자 데이터(106)는 선택적인 것일 수 있다. 몇몇의 실시예들에서는, 다수의 소유자 데이터(106) 조각들이 단일의 ICTO(115) 내에 포함될 수 있다. 몇몇의 실시예들에서는, 다수의 소유자들로부터의 소유자 데이터(106)가 단일의 ICTO(115)에 포함될 수 있다.
클로킹 패턴들(107)은 혼합기(110)에 의해 지원되는 데이터 보호 및 액세스 기술들의 다양한 조합들을 특정한다. 클로킹 패턴들(107)에 포함된 데이터 보호 및 액세스 기술들은 산업 표준 검증 암호화, 압축, 무작위화, 정규화, 및/또는 다른 기술들과 같은 기술들을 포함할 수 있다. 클로킹 패턴들(107)로 사용하기에 적합한 기술들은 현재 알려진 기술들에만 제한되는 것이 아니라, 지금 알려져있거나 미래에 개발될 임의의 개인적으로 또는 공개적으로 사용가능한 부호화 및/또는 복호화 기술을 포함할 수 있다. 데이터를 보호 및/또는 액세스하기 위해 클로킹 패턴(107)을 사용하는 것은 클로킹 패턴(107)에 특정된 데이터 보호 및/또는 액세스 기술들의 조합을 데이터에 적용하는 것을 수반한다.
혼합물 메타데이터(104)는 디렉터리들, 키 코드들, 사용자 파일들, 서명들, 및/또는 등을 포함하는 가상 파일 시스템 데이터와 같은 디지털 혼합체(115)에 대한 조직 정보를 제공한다.
신원 모듈(109)은 트랜잭션(transaction) 내의 보호된 에이전트들을 고유하게 식별하는 동적 신원 속성들을 포함할 수 있다. 몇몇의 실시예들에서, 신원 모듈(109)은 보호된 객체에 관련하여 어떤 권리들이 주어질 수 있는 컴퓨팅 장치의 구성을 나타내는 데이터를 포함할 수 있다. 신원 모듈(109)은 컴퓨팅 장치를 식별하는데 사용될 수 있는, 컴퓨팅 장치에 설치된 하드웨어 또는 소프트웨어 구성들에 대한 특정한 정보를 포함할 수 있다. 신원 모듈(109)은 모델 번호들, 코어들의 개수, 속도, 및/또는 등을 포함하는 CPU 정보; 샤시 시리얼 번호(chassis serial number); 제조일자; 휘발성 메모리 크기; 비휘발성 메모리 크기; 하나 이상의 저장 장치 시리얼 번호들, 및/또는 모델 번호들; 설치된 소프트웨어 이름들, 및/또는 버전 번호들, 및/또는 등을 포함하는 데이터를 포함할 수 있지만, 이에 제한된 것은 아니다.
몇몇의 실시예들에서, 트랜잭션은 하나 이상의 에이전트들이 주어진 콘텍스트에서 및 특정한 의도로 데이터를 안전하게 교환하는, ICTO(115)를 사용하는 원자 동작이다. 인가된 에이전트들은 사람 사용자, 고유한 기계, 고유한 전자 장치, 고유한 소프트웨어 또는 프로그램 객체, 및/또는 등과 같은 사람 및 시람이-아닌 엔티티를 포함할 수 있다. ICTO(115)에 포함된 동적 신원 속성들은 ICTO(115)와의 상호작용 과정 내에서 또는 그동안 지능 모듈(111)에 의해 수정될 수 있고, 애플리케이션-특정 식별자들, 계정 식별자들, 생체 서명들, 장치, 및/또는 위치 서명들, 임시 데이터, 암호 키들, 및/또는 등을 포함할 수 있다. 몇몇의 실시예들에서, 위치 서명은 GPS, GSM 네트워크 위치확인, IP 주소 위치확인, 추측 항법, 및/또는 등과 같은 위치정보 기술로부터의 데이터를 포함할 수 있다. 위치 서명은 경도, 위도, 고도, 대략의 도로 주소, 및/또는 등을 포함할 수 있다. 도로, 도시, 주, 나라, 우편번호, 및/또는 등과 같은 추가적인 위치 데이터가 또한 존재할 수 있다. 몇몇의 실시예들에서, 임시 데이터는 규칙들 또는 다른 지능형 코드가 타이머들, 만료들, 동적 키들, 및/또는 등을 시행하게 할 수 있는 타임스탬프 및/또는 등을 포함할 수 있다. 임시 데이터는 간단한 날짜/시간 값을 포함할 수 있거나, 타임스탬프 범위들 및/또는 다른 스케줄링 안내들을 포함하는 복잡한 스케줄을 포함할 수도 있다.
몇몇의 실시예들에서, 각각의 ICTO(115)는 적어도 하나의 디지털 서명 키를 포함한다. 디지털 서명 키는 혼합기(110)에 사용가능한 외부 디지털 증명서를 사용하여 검증될 수 있다. ICTO(115)의 액세스 동안, 혼합기(110)는 외부 디지털 증명서를 사용하여 디지털 서명키를 검증하고, 현재 ICTO(115)에 액세스하고 있는 에이전트에 대해서 이 디지털 서명 키가 유효하다는 것을 검증한다. 몇몇의 실시예들에서는, 다수의 에이전트들이 ICTO(115)를 승인할 수 있다. 이러한 실시예에서, ICTO(115)는 서명 키들의 체인(chain)을 포함할 수 있는데, 여기서 각각의 서명 키는 검사용의 개별적인 외부 디지털 증명서와 연관될 수 있다. 예를 들어, ICTO(115)는 다수의 에이전트들에게 전달할 보호된 파일을 생성하기 위해 사용자에 의해 사용될 수 있는데, 여기서, 각각의 에이전트는 파일 전체가 아닌 상이한 파일 섹션들에 동시에 또는 연속적으로 액세스할 수 있다. 소유자 및 에이전트들은 트랜잭션을 처리하기 위해 유효한 디지털 서명들을 제공해야할 수 있다.
지능 모듈(111)은, ICTO(115)를 보호하기 위한 동작들을 수행하도록 구성 가능한 기능을 제공하는 지능형 코드를 따라, 액세스 데이터 및 다른 관련 이력을 기록 및 통신할 수 있는 동적 규칙 세트들을 포함할 수 있다. 규칙들은 객체 생성시에 제공될 수 있다. 그러나, 몇몇의 실시예들에서, 규칙은 자신 또는 이전에 생성된 ICTO(115)의 다른 규칙들을 수정하는 능력을 가질 수 있다. 몇몇의 실시예들에서, 규칙은 추가적인 규칙들을 생성하는 능력을 가질 수 있다. 예를 들어, 규칙은 신원 데이터로부터, 주어진 ICTO(115)를 위해 추가적인 보호가 필요하다고 결정할 수 있다. 그 후 규칙은 적용할, 추가적인 암호화 및/또는 암호해제 규칙들을 생성할 수 있다. 규칙들은 ICTO(115)에 보호 및 포함된다. 몇몇의 실시예들에서, 규칙들은 지능 모듈(111)의 실행가능 부분에 의해서만 실행될 수 있고/있거나, 사유 언어(proprietary language)로 작성되어 컴파일링된 형태 또는 이진 형태로 저장될 수 있다. 신원 모듈(109)의 규칙들 및 요구사항들에 기초하여, 지능 모듈(111)은 자신의 규칙들 및 요구사항들에 따라 동작한다. 애플리케이션-특정 식별자들은 액세스별로 다양할 수 있고, 에이전트 유형에 따라 다양할 수 있다. 예를 들어, 사람 사용자에 대해서, 애플리케이션-특정 식별자들은 계정 키들, 트랜잭션 정보, 콘텍스트 키들(context keys), 연관된 의도들, 및/또는 등을 포함할 수 있다. 전자 장치, 디지털 자산, 또는 임의의 다른 잠재적인 에이전트에 대해서, 애플리케이션-특정 식별자들은 또한 IP 주소, URL, 파일 명세, 및/또는 등을 포함할 수 있다.
몇몇의 실시예들에서, 참가물들(101)은 ICTO(115)에 의해 보호되어 있지만, 임베딩된 휴대용 동적 규칙 세트 또는 세트들은 임베딩된 참가물들(101)에 대한 읽기/쓰기 액세스를 갖는다. 즉, 규칙은 ICTO(115)의 혼합물 메타데이터(104) 및 소유자 데이터(106)에 대해서 데이터를 읽고 쓸 수 있다. 이는 날짜, 시간, 위치 등과 같은 액세스 정보를 기록하고/하거나 공격이 탐지되면 데이터를 파괴하는데 유용할 수 있다. 규칙들 내의 지능형 코드에 의해 내려지고 취해지는 결정들 또는 동작들의 몇몇의 예들은: 타당성을 위해 객체 콘텐츠 및 콘텍스트 평가하기; 신원을 증명하기 위해 에이전트 시험하기; 클라이언트 코드와 상호작용하기; 검사하기 위해 서버와 접촉하기; ICTO(115)를 자기-파괴되게 하기; 객체 액세스 이력 유지하기 및 서버에 이력 정보 송신하기; 온-라인 및/또는 오프-라인 객체 액세스 허용하기; 동적 서버 갱신들에 기초하여 새로운 규칙들 생성하기; 데이터 암호화 및 암호해제하기; 데이터 맹글링(mangling) 및 언맹글링(unmangling)하기; 및/또는 등을 포함할 수 있지만, 이에 제한된 것은 아니다.
휴대용 동적 규칙들의 사용은 다양한 이점들을 가질 수 있다. 예를 들어, 사전-암호화 및 사전-암호해독 규칙들은 참가물-특정 기준에 기초하여 동적 솔트(salt) 및 암호 키들을 제공할 수 있다. 이러한 동적 키들은 임시 데이터, 환경 데이터, 또는 사전-암호화 규칙에 특정된 임의의 다른 알고리즘에 기초할 수 있다. 또 다른 예로서, 비인가된 사용자들에게 보호되지 않은 데이터를 노출시키지 않으면서 에이전트를 검사하기 위해, 규칙들은 ICTO(115) 내의 암호화된 신원 아티펙트(artifact)들에 액세스할 수 있다. 또 다른 예로서, 규칙들이 휴대용이고, 따라서 ICTO(115)에 포함되므로, ICTO(115)를 오프-라인 또는 외부-네트워크이더라도 비인가된 액세스로부터 완벽히 보호하는 방식으로, 규칙들이 작성될 수 있다. 추가의 예로서, 규칙들은 내포된(nested) 보호를 추가할 수 있다. ICTO(115)가 생성된지 1시간 내에 단일의 에이전트에 의해 읽혀져야 하는 문서를 보호하고 있다면, 규칙은 타이머를 구현하고 자기-파괴 메커니즘을 생성할 수 있다.
전술된 바와 같이, 임베딩된 혼합기(110)는 임베딩된 휴대용 동적 규칙 세트(108)를 사용하여, 자기-보호하고 자기-관리하는 ICTO(115)를 포함하는, 객체 설명들(102), 혼합물 메타데이터(104), 소유자 데이터(106), 클로킹 패턴들(107), 신원 모듈(109), 및 지능 모듈(111)의 혼합체를 형성한다. 몇몇의 실시예들에서, ICTO(115)의 다양한 구성요소들에는 부당변경(tampering)을 탐지하기 위해 부호화된 체크썸(checksum)들이 표시될 수 있다. 예를 들어, 전체 ICTO(115), 규칙들, 소유자 데이터, 및/또는 사용자 데이터는 임베딩된 체크썸으로 각각 검증될 수 있다. 체크썸은 체크썸 목표의 콘텐츠들에 기초하여 생성된 해시 값일 수 있다. 몇몇의 실시예들에서, 체크썸을 생성하는데 사용되는 알고리즘은 심지어 큰 데이터-세트 중에서 단일의 비트 값에서의 변경도 신뢰적으로 탐지하기에 충분히 민감하다. 임의의 다른 적합한 알고리즘이 사용될 수 있지만, 몇몇의 적합한 알고리즘에는 MD5 및 SHA가 포함된다. 각각의 체크썸은 체크썸 목표에 첨부되거나, 덧붙여지거나, 이와 달리 조합되어 저장될 수 있거나, 또는 개별적인 위치에 저장될 수도 있다.
도 7은 본 발명의 추가적인 실시예들에 따른 자기-포함되고, 자기-제어하고, 자기-관리하는 데이터 보호의 또 다른 예시적인 실시예를 나타내는 개략도이다. API 또는 다른 ICTO-인식 애플리케이션, 장치, 또는 운영 체제는 동적 참가물 제어기 또는 실행가능 혼합기(702)에게 디지털 참가물들(701)의 세트를 보호하기 위한 요청을 개시하고, 그에 의해 는 동적 참가물 제어기 또는 실행가능 혼합기(702)가 활성화된다. 디지털 참가물들은, 아래에 더욱 설명된, 인가된 에이전트들, 장치들, 위치들, 데이터 사용 규칙들, 및/또는 다른 디지털 구성요소들을 포함하지만, 이에 제한된 것은 아니며, 이들은 모여서 자기-보호하고, 자기-관리하는 데이터 객체(즉, 디지털 혼합체 또는 ICTO)(710)에 포함된다. 동적 참가물 제어기(702)는 활성화되면, 상기 객체가 구성되는 동안, 임시 또는 "시작" 규칙 세트를 활용하여 중간 암호 객체(703)를 생성한다. 중간 암호 객체(703)는 혼합기(702)에 의해 생성된 알고리즘에 의해 선택, 생성, 또는 만들어진 하나 이상의 외부 클로킹 패턴들(704)을 사용하여 클로킹된다.
몇몇의 사례들에서, ICTO(710)의 하나 이상의 실행가능 부분들을 ICTO(710) 내의 가변적인 위치들에 저장함으로써 추가적인 보호 또는 기능들이나 그들의 조합들이 적용될 수 있다. ICTO(710)의 실행가능 부분들에 대한 초기 진입 지점은 단지 ICTO 인식 애플리케이션, 운영 체제, 또는 장치에 의해 계산되고 위치가 찾아질 수 있다. 실행가능 또는 DPC(702)가 위치가 알려지고 깨어나면, ICTO(710)가 활성화되는 동안 제어를 취하고 유지하는 ICTO(710) 내의 휴대용 동적 규칙 세트(711)의 위치를 알아내기 위해, 고유한 오프셋 표가 DPC(702)에게 사용가능해진다.
디지털 참가물들(701)의 세트는 외부 클로킹 패턴들(704), 혼합물 메타데이터(705), 소유자 데이터(706), 내부 클로킹 패턴들(707), 신원 모듈(708), 및 지능 모듈(709)을 포함할 수 있지만, 이에 제한된 것은 아니다. 몇몇의 실시예들에서, 내부 클로킹 패턴들(707), 신원 모듈(708), 및 지능 모듈(709)의 조합은 함께 휴대용 동적 규칙 세트(PDRS)(711)로 고려될 수 있다. ICTO(710) 내에서 보호되고 PDRS(711)에 의해 관리되는 소유자 데이터(706)는 이미지, 비디오, 메시지, 이메일, 문서, 파일, 버퍼, 디렉터리, 원격으로 저장된 데이터에 대한 포인터, 포털 등을 포함하지만, 이에 제한되는 것은 아닌, 다수의 데이터 유형들을 포함할 수 있다. 몇몇의 실시예들에서, 소유자 데이터(706)는 선택적일 수 있고, 따라서, ICTO(710)가 단지, 예를 들어, 반박의 여지가 없는 및 특정 서명 검증 방법으로 사용될 때는 포함되지 않는다. 몇몇의 실시예들에서는, 다수의 소유자 데이터 조각들이 단일의 ICTO(710)에 혼합될 수 있다. 다른 실시예들에서는, 다수의 소유자들로부터의 소유자 데이터가 단일의 ICTO(710)에 포함될 수 있다. 추가의 실시예들에서는, 다수의 ICTO들이 단일의 ICTO에 혼합될 수 있다.
내부 클로킹 패턴들(707)은 휴대용 동적 규칙 세트(711)에 명시된 소유자의 규칙들에 의해 결정되고 동적 참가물 제어기 또는 혼합기(702)에 의해 지원되는 데이터 보호 및 액세스 기술들의 다양한 조합들을 특정한다. 내부 클로킹 패턴들(707)에 포함된 데이터 보호 및 액세스 기술들은 산업 표준 암호화, 사유 암호화, 압축, 무작위화, 정규화 등과 같은 기술들을 포함할 수 있지만, 이에 제한된 것은 아니다. 내부 클로킹 패턴들(707)로 사용하기에 적합한 기술들은 현재 알려진 기술들에만 제한되는 것이 아니라, 지금 알려져있거나 미래에 개발될 임의의 개인적으로 또는 공개적으로 사용가능한 부호화 및/또는 복호화 기술을 포함할 수 있다. 데이터를 보호 및/또는 액세스하기 위해 내부 클로킹 패턴(707)을 사용하는 것은 휴대용 동적 규칙 세트(711)에 특정된 데이터 보호 및/또는 액세스 기술들의 조합을 데이터 및 다른 참가물들에 적용하는 것을 수반할 수 있다.
외부 클로킹 패턴들(704)은 중간 암호 객체(703)를 생성하기 위한 중간 규칙 세트를 활용하여 동적 참가물 제어기(702)에 의해 계산, 사용, 또는 생성되는 하나 이상의 알고리즘들을 통해 선택된 데이터 보호 및 액세스 기술들의 다양한 조합들을 특정한다. 외부 클로킹 패턴들(704)에 포함된 데이터 보호 및 액세스 기술들은 산업 표준 검증된 암호화, 압축, 무작위화, 정규화 등과 같은 기술들을 포함할 수 있지만, 이에 제한된 것은 아니다. 외부 클로킹 패턴들(704)로 사용하기에 적합한 기술들은 현재 알려진 기술들에만 제한되는 것이 아니라, 지금 알려져있거나 미래에 개발될 임의의 개인적으로 또는 공개적으로 사용가능한 부호화 및/또는 복호화 기술을 포함할 수 있다. 데이터를 보호 및/또는 액세스하기 위해 외부 클로킹 패턴(704)을 사용하는 것은 동적 참가물 제어기(702)에 의해 계산되고 중간 규칙 세트에 의해 특정된 데이터 보호의 조합을 적용하는 것을 수반할 수 있다. 혼합물 메타데이터(705)는, 이에 제한된 것은 아니지만, 디렉터리들, 사용자 파일들 등을 포함하는 가상 파일 시스템 데이터와 같은 디지털 혼합체(710)에 대한 조직 정보를 제공한다.
신원 모듈(708)은 트랜잭션 내의 정당한 에이전트들을 고유하게 식별하는 동적 신원 속성들을 포함할 수 있다. 동적 신원 속성들은, 이에 제한된 것은 아니지만, 위치, 장치, 및 액세스 동작과 같은 PDRS 내의 신원 모듈에 추가되는 학습된 정보일 수 있다. 학습된 정보는 수집되어 미래의 액세스 요청 세션에서 활용될 수 있으므로, 추가적인 지능 및 결정 지점들이 추가된다. 추가로, 동적 신원 속성들은 또한 변동적인 (즉, 예측불가능한) 세부사항들일 수 있다. 그들은, ICTO에 대한 액세스를 요청하는 에이전트의 정당한 신원을 결정할 때, 인증 처리 동안, 홀로 또는 개인 신원 속성들과 함께 조합하여 제시될 수 있다.
몇몇의 실시예들에서, 신원 모듈(708)은 보호된 객체에 관련하여 어떤 권리들이 주어질 수 있는 컴퓨팅 장치의 구성을 나타내는 데이터를 포함할 수 있다. 신원 모듈(708)은 컴퓨팅 장치를 식별하는데 사용될 수 있는, 컴퓨팅 장치에 설치된 하드웨어 또는 소프트웨어 구성들에 대한 특정한 정보를 포함할 수 있다. 신원 모듈(708)은 모델 번호들, 코어들의 개수, 속도, 및/또는 등을 포함하는 CPU 정보; 샤시 시리얼 번호; 제조일자; 휘발성 메모리 크기; 비휘발성 메모리 크기; 하나 이상의 저장 장치 시리얼 번호들, 및/또는 모델 번호들; 설치된 소프트웨어 이름들, 및/또는 버전 번호들, 및/또는 등을 포함하는 데이터를 포함할 수 있지만, 이에 제한된 것은 아니다.
몇몇의 실시예들에서, 트랜잭션은 하나 이상의 적당한 및 인가된 에이전트들이 주어진 상황에서 및 특정된 의도로 데이터 또는 정보를 안전하게 교환하는, ICTO(710)를 사용하는 원자 동작이다. 적당한 인가된 에이전트들은 사람 사용자, 고유한 기계, 고유한 전자 장치, 고유한 소프트웨어 또는 프로그램 객체, 및/또는 등과 같은 사람 및 시람이-아닌 엔티티들을 포함할 수 있다. ICTO(710)에 포함된 동적 신원 속성들은 ICTO(710)와의 상호작용 과정 내에서 또는 그동안 지능 모듈(709)에 의해 수정될 수 있고, 애플리케이션-특정 식별자들, 계정 식별자들, 생체 서명들, 장치, 및/또는 위치 서명들, 임시 데이터, 암호 키들 또는 데이터 등을 포함할 수 있지만, 이에 제한된 것은 아니다. 몇몇의 실시예들에서, 위치 서명은 GPS, GSM 네트워크 위치확인, IP 주소 위치확인, 추측 항법 등과 같은 위치정보 기술로부터의 데이터를 포함할 수 있다. 위치 서명은 경도, 위도, 고도, 대략의 도로 주소 등을 포함할 수 있다. 도로, 도시, 주, 나라, 우편번호 등과 같은 추가적인 위치 데이터가 또한 존재할 수 있다. 몇몇의 실시예들에서, 임시 데이터는 규칙 또는 다른 지능형 코드가 타이머들, 만료들, 동적 키들 등을 시행하게 할 수 있는 타임스탬프 또는 유사한 정보를 포함할 수 있다. 임시 데이터는 간단한 날짜/시간 값을 포함할 수 있거나, 타임스탬프 범위들 및/또는 다른 스케줄링 안내들을 포함하는 복잡한 스케줄을 포함할 수도 있다.
몇몇의 실시예들에서, 각각의 ICTO(710)는 사람 또는 사람이 아닌 하나 이상의 디지털 서명 요청들을 포함할 수 있다. ICTO(710)에 의한 인증 동안, 휴대용 동적 규칙 세트(711)는 PDRS(711)에 의해 관리되는 정보에 대한 액세스를 요청하는 정당한 에이전트에 대해서 디지털 서명이 유효하다고 결정한다. 몇몇의 실시예들에서, 다수의 정당한 에이전트들은 다른 정당한 에이전트들의 인가를 검증할 수 있다. 이러한 실시예에서, PDRS(711)는 디지털 서명 요구사항들의 체인을 시행할 수 있는데, 여기서 각각의 디지털 서명은 개별적인 정당한 에이전트와 연관될 수 있다. 예를 들어, ICTO(710)는 다수의 정당한 에이전트들에 승인, 서명, 및 전송될 자기-관리하는 파일을 생성하기 위해 소유자에 의해 사용될 수 있는데, 여기서, 각각의 정당한 에이전트는 파일 전체가 아닌 상이한 파일 섹션들에 동시에 또는 연속적으로 액세스할 수 있다. 소유자 및 정당한 에이전트들은 트랜잭션을 처리하기 위해 유효한 디지털 서명들을 제공해야 할 수 있다.
지능 모듈(709)은 ICTO(710)를 관리하기 위한 동작들을 수행하도록 구성가능한 기능을 제공하는 지능형 코드를 따라, 액세스 데이터 및 다른 관련 이벤트들을 기록 및 통신할 수 있는 동적 규칙 세트들을 포함할 수 있다. 규칙들은 객체 생성시에 제공될 수 있다. 그러나, 몇몇의 실시예들에서, 규칙은 자신을 수정하거나 또는 대신 주어진 ICTO(710)의 다른 규칙을 수정할 수 있다. 몇몇의 실시예들에서, 규칙은 추가적인 규칙들을 생성할 수 있다. 예를 들어, 규칙은, 정당한 에이전트의 인증 동안, 주어진 ICTO(710)를 위해 추가적인 보호가 필요하다고 결정할 수 있다. 그 후, 규칙은 추가적인 액세스, 방어, 클로킹 등과 같은 요구사항들을 생성할 수 있다. 몇몇의 실시예들에서, 규칙들은 단지 동적 참가물 제어기(702)에 의해서만 실행될 수 있거나, ICTO의 참가물로서 이진 형태로 저장될 수 있거나, 이 둘의 조합일 수 있다. 신원 모듈(708)의 규칙들 및 요구사항들에 기초하여, 지능 모듈(709)은 소유자 에이전트에 의해 적용된 그것의 규칙들 및 요구사항들에 따라 동작한다. 휴대용 동적 규칙 세트(711) 식별자들은 액세스별로 다양할 수 있고, 에이전트 유형에 따라 다양할 수 있다. 예를 들어, 사람 사용자에 대해서, 휴대용 동적 규칙 세트(711) 특정 식별자들은 계정 키들, 트랜잭션 정보, 콘텍스트 키들, 연관된 의도들 등을 포함할 수 있다. 전자 장치, 디지털 자산, 또는 임의의 다른 잠재적인 에이전트에 대해서, 휴대용 동적 규칙들 세트(711) 식별자들은 또한 IP 주소, URL, 파일 명세 등을 포함할 수 있다.
몇몇의 실시예들에서, 디지털 참가물들(701)이 ICTO(710)에 의해 보호되는 동안에도, 규칙들은 디지털 참가물들(701)에 대한 읽기/쓰기 액세스를 갖는다. 즉, 규칙은 ICTO(710)의 혼합물 메타데이터(705) 및 소유자 데이터(706)에 대해서 데이터를 읽기 및 쓰기할 수 있다. 이는 날짜, 시간, 위치 등과 같은 액세스 정보를 기록하고 공격이 탐지되면 데이터를 파괴하는데 유용할 수 있다. 지능 모듈(709)에 의해 내려지고 취해지는 결정들 또는 동작들의 몇몇의 예들은: 타당성을 위해 객체 콘텐츠 및 콘텍스트 평가하기; 신원을 증명하기 위해 에이전트 시험하기; 클라이언트 코드와 상호작용하기; 신뢰 검증을 위해 서버와 접촉하기; ICTO(710)를 자기-파괴되게 하기; 객체 액세스 이력 유지하기 및 이메일, SMS, FTP로 서버에 이력 정보 송신하거나 ICTO(710)와 함께 저장하기; 온-라인 및/또는 오프-라인 객체 액세스 허용하기; 동적 서버 갱신들에 기초하여 새로운 규칙들 생성하기; 데이터의 클로킹 및 디클로킹하기; 데이터 맹글링 및 디맹글링하기를 포함할 수 있지만, 이에 제한된 것은 아니다.
상기 휴대용 동적 규칙 세트들의 사용은 다양한 이점들 및 목적들을 갖는다. 일 예시적인 실시예에서, 액세스 규칙들은 소유자-특정 기준에 기초하여 내부에서 생성되고 내부에서 관리되는 고유한 키들을 활용할 수 있다. 상기 고유한 키들은 임시 데이터, 환경 데이터, 또는 소유자의 규칙 세트에 의해 특정된 임의의 다른 알고리즘에 기초할 수 있다. 또 다른 예로서, 보호된 데이터를 세상에 노출시키지 않으면서 에이전트를 인증 및 검사하기 위해, 상기 규칙들은 ICTO(710) 내의 보호된 신원 아티펙트들에 액세스할 수 있다. 또 다른 예로서, 상기 규칙들이 자기-포함되고 휴대용이고 플랫폼 독립적이고, 그에 따라 ICTO(710)에 포함되므로, ICTO(710)를 오프-라인이더라도 비인가된 액세스로부터 완벽히 보호되는 방식으로, 규칙들이 작성될 수 있다.
추가의 예로서, 규칙들은 내포된 보호를 추가할 수 있다. ICTO(710)가 현재의 또는 외부 ICTO(710) 내의 하나 이상의 ICTO들(710)을 보호하면, 외부 ICTO(710)는 각각의 소유자 데이터(706)의 부분으로 관리되는 하나 이상의 ICTO들(710)과 통신할 수 있을 수 있다. 외부 ICTO(710)(또는 역으로)는 외부 ICTO(710)의 소유자 데이터(706)에 포함된 임의의 ICTO들(710) 내에서 관리되는 규칙들이 실행되게 하거나, 하나 이상의 포함된 ICTO들(710)에 포함된 규칙들의 결과로 새로운 규칙들을 생성할 수 있다. 또 다른 예로서, ICTO(710)의 PDRS(711) 내에 자기-포함된 규칙들은 자기-관리한다. ICTO(710)가 생성된지 1시간 내에, 액세스된 후 최대 1시간 동안 단일의 정당한 에이전트에 의해 액세스되어야하는 문서를 보호하고 있다면, 규칙은 타이머를 구현하고 만료 이후의 자기-파괴 메커니즘을 생성할 수 있다.
전술된 바와 같이, 휴대용 동적 규칙 세트(711)를 활용하는 동적 참가물 제어기(702) 또는 혼합기는 ICTO(710)을 구성하는 외부 클로킹 패턴들(704), 혼합물 메타데이터(705), 소유자 데이터(706), 내부 클로킹 패턴들(707), 신원 모듈(708), 및 지능 모듈(709)의 혼합체를 생성한다. 몇몇의 실시예들에서, ICTO(710)의 다양한 구성요소들은 부당변경을 탐지하기 위해 부호화된 체크썸들을 위해 조합될 수 있다. 예를 들어, 전체 ICTO(710), 규칙들, 소유자 데이터, 및/또는 참가물 데이터는 체크썸(712)으로 각각 검사될 수 있다. 체크썸(712)은 체크썸(712) 목표들의 콘텐츠들에 기초하여 생성된 해시 값일 수 있다. 몇몇의 실시예들에서, 체크썸을 생성하는데 사용되는 알고리즘은 심지어 큰 문서 중에서 단일의 비트 값에서의 변경도 신뢰적으로 탐지하기에 충분히 민감하다. 임의의 다른 적합한 알고리즘이 사용될 수 있지만, 몇몇의 적합한 알고리즘에는 MD5 및 SHA가 포함된다. 각각의 체크썸(712)은 체크썸 목표에 첨부되거나, 덧붙여지거나, 이와 달리 조합되어 저장될 수 있거나, 개별적인 위치에 저장될 수도 있다.
도 2는 본 발명의 다양한 양태들에 따라 ICTO(115)를 구성하는 방법의 예시적인 실시예를 나타내는 흐름도이다. 나타낸 방법(200)은 비교적 간단한 ICTO(115)의 생성을 설명하지만, 당업자는 유사한 기술들이 훨씬 보다 복잡한 ICTO들(115)을 생성하는데 사용될 수 있다는 것을 이해할 것이다. 몇몇의 실시예들에서, 혼합기(110)가 방법(200)을 수행하기 위해 구성된다. 몇몇의 실시예들에서는, 후술된 바와 같이, 방법(200)은 혼합기(110)의 기능을 제공하도록 구성된 컴퓨팅 장치에 의해 수행된다. 당업자는, ICTO(115)의 구성 및 활용은 상기 컴퓨팅 장치의 유형에도 상기 컴퓨팅 장치에 연관된 어떤 운영 체제의 유형에도 종속되지 않고, 대신 임의의 적합한 수단들을 통해 구성 및 활용될 수 있다는 것을 인식할 것이다.
시작 블록에서부터, 방법(200)은, 보통의 디지털 구성요소들 또는 참가물들의 세트가 획득되는 블록(202)으로 진행된다. 보통의 참가물들은 2 이상의 ICTO(115)에서 사용될 수 있거나, 2 이상의 ICTO(115) 내의 유사한 대응하는 구성요소들을 적어도 가질 수 있는 참가물들(101)이고, ICTO(115)에 포함되기 위해 혼합기(110)에 의해 특정 및/또는 생성된다. 예를 들어, 객체 설명들(102), 혼합물 메타데이터(104), 클로킹 패턴들(107), 신원 모듈(109), 및 지능 모듈(111)은 모두 보통의 참가물들일 수 있다. 다음으로, 블록(204)에서, 동적 참가물 제어기("혼합기")(110)가 개시된다. 몇몇의 실시예들에서, 혼합기(110)를 개시하는 것은 혼합기(110)가 예상되는 또는 이와 달리 신뢰적인 애플리케이션에 의해 실행되고 있는지를 검증하는 것을 포함할 수 있다. 블록(206)에서, 혼합기(110)는 보호될 하나 이상의 소유자 데이터(106) 조각들을 수신한다. 전술된 바와 같이, 몇몇의 실시예들에서, 소유자 데이터(106)는 선택적일 수 있고, ICTO(115)의 액세스 보호 특징들은 사용자 신원들을 검증하고/하거나 사용자들로부터 서명들을 획득하기 위해 사용될 수 있다.
방법(200)은, 혼합기(110)가 휴대용 동적 규칙 세트(108)가 실행되게 야기하는 블록(208)으로 진행된다. 블록(210)에서는, 휴대용 동적 규칙 세트(108)의 지능 모듈(111)이 참가물들(101)을 보호하는데 사용되는 하나 이상의 신원-기반 클로킹 패턴들을 결정하고, 블록(212)에서는, 혼합기(110)가 참가물들(101)에게 하나 이상의 클로킹 패턴들을 적용하여, 클로킹된 참가물들의 세트를 생성한다.
휴대용 동적 규칙 세트(108)는 보호되는 데이터의 소유자의 바램들에 기초하여 각각의 참가물(101)에 적용될 클로킹 패턴을 결정한다. 상이한 클로킹 패턴들이 각각의 참가물(101)에게 적용될 수 있다. 추가로, 각각의 참가물(101)는 상이한 에이전트들에 의한 액세스를 위해 개별적인 클로킹 패턴들을 사용하여 보호될 수 있다. 즉, 소유자 데이터(106)와 같은 참가물(101)는 제1 에이전트에 의한 액세스를 위해서는 제1 클로킹 패턴으로 보호될 수 있고, 제2 에이전트에 의한 액세스를 위해서는 제2 클로킹 패턴으로 보호될 수 있다. 클로킹 패턴들의 선택은 보호되는 참가물(101)의 속성, 데이터에 대한 액세스가 주어진 에이전트의 속성, 위치, 의도, 및/또는 임의의 다른 적합한 정보 조각에 기초할 수 있다. 클로킹 패턴의 선택은 기존의 클로킹 패턴으로부터 선택하는 것을 포함할 수 있고/있거나, 혼합기(110)에 의해 지원되는 보호 기술들의 조합으로부터 새로운 클로킹 패턴을 생성하는 것을 포함할 수 있다. 적용된 클로킹 패턴들에 대한 기록들은 혼합물 메타데이터(104)에 저장될 수 있다.
클로킹 패턴들은 ICTO(115) 내에서 참가물(101)를 보호하기 위해 참가물(101)에게 적용되는 변형들, 및 이러한 변형들이 참가물(101)에 액세스하기 위해 역행되는 방법을 설명한다. 변형들은 데이터 압축, 데이터 정규화, 및 암호화/암호해제를 포함할 수 있지만, 이에 제한된 것은 아니다. 주어진 클로킹 패턴은 이들 기술들 중 하나 이상 또는 본 명세서에 나열되지 않은 다른 기술들을 포함할 수 있다. 데이터 압축은 ICTO(115)의 전체 크기를 줄일 수 있어, 추후에 전송 시간 및 대역폭 사용을 향상시킨다. 데이터 압축은 DEFLATE, LZW, LZR, LZX, JBIG, DjVu, 및/또는 등을 포함하지만, 이에 제한되는 것은 아닌, 임의의 적합한 손실없는 압축 알고리즘에 의해 수행될 수 있다. 데이터 정규화는 데이터를 효율적으로 처리될 수 있는 형태로 위치시키는 임의의 적합한 처리에 의해 수행된다. 몇몇의 실시예들에서, 데이터는 이진 또는 텍스트 포맷인 데이터를 정규화된 영숫자 스트링으로 변환시키기 위해 Base64 부호화 알고리즘이 행해질 수 있다. 이것은 일례일 뿐, 제한하는 것으로 고려되어서는 안된다. 다른 실시예들에서, 데이터를 정규화하기 위해 다른 알고리즘들이 사용될 수 있다.
몇몇의 실시예들에서, 클로킹 패턴은, 신원 모듈(109) 및 지능 모듈(111)이 참가물들(101)의 상이한 구성요소들에 개별적인 암호화 기술들을 적용하게 할 수 있다. 예를 들어, 제1 암호화 규칙은, 실행될 때, 암호화된 디지털 혼합체(115)의 제2 부분은 변경시키지 않으면서, 암호화된 디지털 혼합체(115)의 제1 부분은 식별하고 암호화할 수 있다. 따라서, 제2 암호화 규칙은, 실행될 때, 상이한 암호화 알고리즘, 상이한 암호화 키, 및/또는 등을 사용하여 암호화된 디지털 혼합체(115)의 제2 부분을 식별하고 암호화할 수 있다.
몇몇의 실시예들에서, 클로킹 패턴들 및/또는 휴대용 동적 규칙 세트(108)는 2 이상의 내포된 암호화 계층들을 구축할 수 있다. 예를 들어, 제1 암호화 규칙의 실행은 암호화된 디지털 혼합체(115)의 제1 부분을 암호화할 수 있다. 따라서, 제2 암호화 규칙의 실행은, 제1 암호화 규칙 및 대응하는 제1 암호해제 규칙에 따라, 암호화된 디지털 혼합체(115)의 암호화된 제1 부분이 또다시 암호화하게 되게 할 수 있다. 따라서, 암호화된 디지털 혼합체(115)의 제1 부분에 나중에 액세스하기 위해, 제2 암호화 규칙에 대응하는 제2 복호화 규칙은 암호화된 디지털 혼합체(115)의 두번 암호화된 제1 부분을 복호화하고 제1 복호화 규칙을 획득하기 위해 실행된다. 그 후 제1 복호화 규칙은 디지털 혼합체(115)의 제1 부분의 일반 텍스트 버전을 생성하기 위해 암호화된 디지털 혼합체(115)의 제1 부분을 복호화하도록 실행된다.
클로킹 패턴들이 클로킹된 참가물들의 세트를 생성하기 위해 참가물들(101)에 적용되면, 방법(200)은, 혼합기(110)가 디지털 혼합체(ICTO)(115)를 생성하고 은페된 참가물들의 세트를 디지털 혼합체(115)에 추가하는, 블록(214)으로 진행된다. 몇몇의 실시예들에서, 데이터 셔플링(shuffling), 추가적인 암호화 또는 디지털 서명들, 및/또는 등과 같은 추가적인 보호가 디지털 혼합체(115) 전체에 적용될 수 있다. 그 후 방법(200)은 끝 블록으로 진행되어 종료된다.
당업자는, 설명을 용이하게 하기 위해, 도 2에서 어떤 단계들은 생략된다는 것을 이해할 것이다. 그러나, 도 2에 명백히 나타나있지 않은 다른 단계들이 또한 본 게시사항의 범위에서 벗어나지 않으면서 방법(200)에 포함될 수 있다. 예를 들어, 클로킹 패턴들을 적용하거나 규칙들을 실행하면서 어떠한 오류라도 탐지되면, 방법(200)은 정지될 수 있고, 완벽한 ICTO(115)를 생성하지 않을 수 있다. 또 다른 예로서, 몇몇의 실시예들에서, 소유자 데이터(106)는 내포된 보호를 제공하는 방법으로 하나 이상의 ICTO들을 포함할 수 있다. 몇몇의 실시예들에서, 내포된 ICTO 내의 규칙들에는 외부 ICTO(115) 내의 참가물 데이터(101)에 대한 액세스가 제공될 수 있다. 몇몇의 실시예들에서, 제1 ICTO 내의 규칙은 제2 ICTO를 생성하고, 제1 ICTO를 제2 ICTO에 추가시킬 수 있으므로, 제1 ICTO는 제2 ICTO 내에 내포된다. 유사하게, 몇몇의 실시예들에서, 제1 ICTO 내의 규칙은 제2 ICTO를 생성하고, 제2 ICTO를 제1 ICTO에 추가시킬 수 있으므로, 제2 ICTO는 제1 ICTO 내에 내포된다.
도 8은 본 발명의 다양한 양태들을 따라 ICTO(710)를 구성하는 방법(800)의 대안적인 예시적 실시예를 나타내는 처리흐름도이다. 나타낸 방법(800)은 간단한 ICTO(710)의 생성을 설명하지만; 그러나, 유사한 기술들을 활용하여 복잡한 ICTO를 구성할 수 있다. 몇몇의 실시예들에서, ICTO-인식 애플리케이션, 장치, 또는 운영 체제가 방법(800)을 개시 및 활용하기 위해 구성된다. 간단한 또는 복잡한 ICTO(710)의 구성 및 활용은 특정한 운영 체제 또는 장치에 종속되지 않는다.
시작(801)에서부터, 방법(800)은 동적 참가물 제어기(702) 또는 혼합기의 개시(802)로 시작된다. 몇몇의 실시예들에서, 혼합기의 개시(802)는 객체가 진짜 ICTO 인식이라는 것 및/또는 개시하기 위한 요청이 ICTO-인식 애플리케이션, 장치, 운영 체제, 또는 다른 ICTO-인식 처리로부터라는 것을 검사하는 것을 포함할 수 있다. 블록(803)으로 진행하여, 디지털 참가물들(701)의 세트가 ICTO(710)에 포함되기 위해 혼합기(702)에 제공된다. 디지털 참가물들(701)은 2 이상의 ICTO(710)에서 사용될 수 있거나, 2 이상의 ICTO(710) 내의 유사한 또는 보통의 구성요소들을 적어도 가질 수 있다. 예를 들어, 외부 클로킹 패턴들(704), 혼합물 메타데이터(705), 추가적인 클로킹 패턴들(707), 신원 모듈(708), 및 지능 모듈(709)은 모두 보통의 디지털 참가물들(701)로 고려될 수 있다. 블록(804)으로 진행하여, 하나 이상의 알고리즘들을 활용하는 혼합기(702)는 ICTO(710)에 대한 초기 클로킹 패턴들을 생성하기 위해 중간 규칙 세트를 활용하여, 디지털 참가물들(701)의 세트에 적용할 하나 이상의 외부 클로킹 패턴들(704)을 선택하여, 초기 중간 암호 객체(703)를 생성한다. 블록(805)으로 진행하여, 하나 이상의 소유자 데이터 구성요소들이 ICTO(710)에 포함되기 위해 디지털 참가물들 세트에 추가된다. 몇몇의 실시예들에서, 소유자 데이터(706)는 선택적일 수 있고, ICTO(710)의 액세스 보호 기능은 정당한 에이전트 신원들을 검증하고/하거나 정당한 에이전트 서명들을 위해 활용될 수 있다.
방법(800)은, 소유자의 규칙들이 PDRS(711)로부터 획득되고, ICTO(710)의 생성시에 처음에 사용되었던 중간 규칙 세트를 대체하기 위해 혼합기(702)에 의해 활용되는, 블록(806)으로 진행된다. 블록(807)으로 진행되어, 하나 이상의 알고리즘들을 활용하여, 혼합기(702)는 소유자 데이터(706)를 포함하여, 디지털 참가물 세트(701) 중 몇몇 또는 모두에 적용할 하나 이상의 클로킹 패턴들(707)을 선택한다. 알고리즘은 내부 클로킹 패턴들(707)을 더욱 무작위화하기 위해 소유자 규칙들을 및 고유한 수로서의 시간을 활용한다. 사용된 알고리즘은 신원 모듈(708)에 추가되어, PDRS(711)에 의해 내부적으로 관리되고, 외부적으로 공유되지 않는다. 마지막으로, 블록(808)에서, 혼합기(702)는 클로킹된 디지털 참가물들(720)의 세트를 생성하는 ICTO(710)의 구성을 완료한다. 블록(803)에서 제공된 것과 같은, 유사한 또는 보통의 디지털 참가물들(701)이 조합하여 활용될 수 있지만, 본 방법은 구성된 각각의 ICTO(710)에 대해 고유한 디지털 혼합체(808)를 생성할 수도 있다.
지능 모듈(709)에 의해 생성된 다른 내부 구성요소들을 및 고유한 수들로서의 시간을 무작위로 적용하지만, 하나 이상의 알고리즘들을 사용하는 혼합기(702)는 어떤 내부 클로킹 패턴들(707)이 각각의 디지털 참가물(701)에게 적용되는지를 결정한다. 그후, 내부 클로킹 패턴들(707)을 선택하기 위해 혼합기(702)에 의해 활용되는 알고리즘들은 신원 모듈(708)에 추가되어, 내부적으로 관리되고, ICTO(710)의 외부적으로 공유/교환/노출되지 않는다. 각각의 참가물(701)는 디지털 혼합체(710) 내의 다른 참가물들(701)을 보호하는 하나 이상의 내부 클로킹 패턴들(707)과 근본적으로 상이할 수 있는 하나 이상의 내부 클로킹 패턴들(707)을 활용하여 보호될 수 있다. 예를 들어, 소유자 데이터(706)와 같은 참가물은 신원 모듈(708)을 보호하기 위해 활용된 하나 이상의 내부 클로킹 패턴들(707) 및 내부 규칙들과 근본적으로 상이한 하나 이상의 클로킹 패턴들 및 내부 규칙들로 보호될 수 있다. 게다가, 하나 이상의 내부 클로킹 패턴들(707)의 활용과, 내부 규칙들 및 고유한 수들로서의 시간의 무작위한 사용은 추후에 각각의 참가물(701)에 대한 신원 모듈(708)에 추가되는 고유한 클로킹 패턴들을 생성한다. 지능 모듈(708)에 임베딩되는 내부 규칙들은 위치, 시간, 인가 요구사항들 등과 같은 것들을 포함할 수 있지만, 이에 제한되는 것은 아니다.
내부 클로킹 패턴들(707)은 ICTO(710) 내에서 참가물(701)를 보호하기 위해 참가물(701)에게 적용되는 변형들, 및 이러한 변형들 중 몇몇이 참가물(701) 중 일부 또는 그 모두에 액세스하기 위해 역행되는 방법을 설명한다. 변형은 데이터 압축, 데이터 정규화, 및 암호화를 포함하지만, 이에 제한된 것은 아니다. 주어진 내부 클로킹 패턴(707)은 이들 기술들 중 하나 이상 및/또는 다른 기술들을 포함할 수 있다. 데이터 압축은 ICTO(710)의 전체 크기를 줄일 수 있어, 추후에 전송 시간 및 대역폭 사용을 향상시킨다. 데이터 압축은 DEFLATE, LZW, LZR, LZX, JBIG, DjVu, 및/또는 등을 포함하지만, 이에 제한되는 것은 아닌, 임의의 적합한 손실없는 압축 알고리즘에 의해 수행될 수 있다. 데이터 정규화는 데이터를 효율적으로 처리될 수 있는 형태로 위치시키는 임의의 적합한 처리에 의해 수행된다. 몇몇의 실시예들에서, 데이터에는, 이진 또는 텍스트 포맷인 데이터를 정규화된 영숫자 스트링으로 변환시키기 위한 Base64 부호화 알고리즘이 행해질 수 있다. 이것은 일례일 뿐, 제한하는 것으로 고려되어서는 안된다. 다른 실시예들에서, 데이터를 정규화하기 위해 다른 알고리즘들이 사용될 수 있다.
내부 클로킹 패턴들(707)은 또한 하나 이상의 암호화 기술들을 포함할 수 있다. 클로킹 패턴들은 암호화 키들을 도출하는 방법들을 특정할 수 있거나, 이에 제한된 것은 아니지만, NIST 또는 FIPS, 다른 사유 암호화 알고리즘들, 또는 키 길이들과 같은 특정 암호화 알고리즘들을 특정할 수 있거나, 타임 시드들(time seeds), Xor 부호화, 또는 클로킹 방식들의 구성요소들을 생성하기 위한 다른 산업 표준 부호화 및 복호화 기술들, 또는 그들의 조합들과 같은 다른 구성가능 옵션들을 특정할 수 있다. 몇몇의 실시예들에서, 암호화 기술들은 참조된 콘텐츠에 대한 해시 값 등을 도출하는 것과 같은 암호화 이외의 동작들 또는 계산들을 수행할 수 있다. 몇몇의 실시예들에서, 내부 클로킹 패턴(707)은 내부 클로킹 패턴(707) 자체 내에 또는 그와 달리 ICTO(710) 내에, 사용되는 암호화 키 또는 복호화 키에 대한 기록을 저장(또는 기록의 저장을 요구하는 규칙들을 포함)하여, 내부적으로 관리되고 외부적으로 공유되지 않는다. 내부 클로킹 패턴(707)이 보호된 정보에 액세스하기 위해 사용되면, 클리킹/디클로킹 알고리즘(들) 및 키들은 내부에 유지되고, 정보에 대한 액세스를 제공하기 위해 ICTO(710) 내의 동적 참가물 제어기(702)에 제공되지만, 요청하는 에이전트 또는 ICTO(710) 외부의 임의의 다른 에이전트 또는 애플리케이션, 장치, 운영 체제에는 사용이 불가능하다. 즉, 클로킹/디클로킹 알고리즘들 및 키들은 ICTO(710) 외부에 저장 또는 노출되지 않고, 임의의 에이전트들에게도 사용이 불가능하므로, 외부 키 관리 기능들이 불필요해져, 보안이 취약해지지 않고, 그들의 비밀이 유지된다.
몇몇의 실시예들에서, 지능 모듈(709)에 명시된 규칙은 혼합기(702)가 참가물들(701)의 개별적인 구성요소들에 개별적인 내부 클로킹 패턴들(707)을 적용하게 할 수 있다. 예를 들어, 제1 규칙은, 실행될 때, 보호된 디지털 혼합체(710)의 제2 부분은 변경시키지 않으면서, 보호된 디지털 혼합체(710)의 제1 부분에는 클로킹 패턴을 식별 및 적용할 수 있다. 제2 규칙은, 실행될 때, 상이한 패턴 등을 갖는 상이한 클로킹 패턴을 사용하여 보호된 디지털 혼합체(710)의 제2 부분에 클로킹 패턴을 식별 및 적용할 수 있다.
몇몇의 실시예들에서, 휴대용 동적 규칙 세트(711)의 지능 모듈(709)은 참가물들(701) 중 몇몇 또는 모두에게 2 이상의 내포된 클로킹 계층들을 요구할 수 있다. 예를 들어, 혼합기(702)에 의한 제1 규칙의 실행은 보호된 디지털 혼합체(710)의 제1 부분을 클로킹할 수 있다. 따라서 혼합기(702)에 의한 제2 규칙의 실행은, 제1 규칙 및 대응하는 제1 클로킹 규칙에 따라, 보호된 디지털 혼합체(710)의 클로킹된 제1 부분이 상이한 내부 클로킹 패턴(707)을 사용하여 또다시 클로킹되게 할 수 있다. 따라서, 보호된 디지털 혼합체(710)의 제1 부분에 나중에 액세스하기 위해, 제2 규칙에 대응하는 제2 디클로킹 규칙은 보호된 디지털 혼합체(710)의 내포되고 클로킹된 제1 부분을 디클로킹하고, 제1 디클로킹 규칙을 획득하기 위해 실행된다. 그 후 제1 디클로킹 규칙은 디지털 혼합체(710)의 제1 부분의 일반 텍스트 버전을 생성하기 위해 보호된 디지털 혼합체(710)의 제1 부분을 디클로킹하도록 실행된다.
내부 클로킹 패턴들(707)이 클로킹된 참가물들(720)의 세트를 생성하기 위해 참가물들(701)에 적용되면, 방법(800)은, 혼합기(702)가 디지털 혼합체(즉, ICTO)(710)의 구성을 완료하는 블록(808)으로 진행된다. 몇몇의 실시예들에서, 데이터 셔플링, 추가적인 클로킹 및/또는 등과 같은 추가적인 보호가 디지털 혼합체(710) 전체에 적용될 수 있다. 그 후 방법(800)은 끝 블록으로 진행되어 종료된다.
도 8에 명시적으로 나타내지 않은 다른 단계들도 본 게시사항의 범위를 벗어나지 않으면서 방법(800)에 또한 포함될 수 있다. 예를 들어, 클로킹 패턴들을 적용하거나 규칙들을 실행하면서 어떠한 변종들이라도 탐지되면, 방법(800)은 정지될 수 있고, 완벽한 ICTO(710)를 생성하지 않을 수 있다. 또 다른 예로서, 몇몇의 실시예들에서, 소유자 데이터(706)는 내포된 보호를 제공하는 방법으로서 하나 이상의 ICTO들을 포함할 수 있다. 몇몇의 실시예들에서, 내포된 ICTO 내의 규칙들에는 외부 ICTO(710) 내의 참가물 데이터(701)에 대한 액세스가 제공될 수 있다. 몇몇의 실시예들에서, 제1 ICTO 내의 규칙은 제2 또는 다수의 ICTO(들)가 생성되게 하고, 제1 ICTO가 제2 ICTO에 추가되게 할 수 있으므로, 제1 ICTO는 제2 ICTO 내에 내포된다. 유사하게, 몇몇의 실시예들에서, 제1 ICTO 내의 규칙은 제2 ICTO가 생성되게 하고, 제2 ICTO가 제1 ICTO에 추가되게 할 수 있으므로, 제2 ICTO는 제1 ICTO 내에 내포된다.
도 3은 본 게시사항의 다양한 양태들에 따라 ICTO(115)에 의해 보호된 데이터에 액세스하는 방법(300)의 예시적인 실시예를 나타내는 흐름도이다. ICTO(115)가 활성화된 후, ICTO(115)는 휴대용 동적 규칙 세트(108)에 포함된 규칙 세트에 특정된 것처럼, 그것의 현재 환경, 액세스 시도들, 인가된 에이전트들, 및 다른 조건들을 검사 및 검증하기 시작한다. 이 검사 및 검증은 시작시마다 1번, 활성 기간 동안 계속, 활성 기간 동안 주기적으로, 또는 임의의 다른 적합한 간격으로, 또는 임의의 적합한 상태 변경에 응답하여 수행될 수 있다. 규칙들 및 에이전트 신원이 긍정적으로 확인되면, ICTO(115)는 혼합체의 동형 본질을 유지하고 나머지 데이터는 보호하면서, 자신의 인가된 부분들에 대한 액세스를 허용한다.
전술된 방법(200)에서와 같이, 몇몇의 실시예들에서, 혼합기(110)는 방법(300)을 수행하도록 구성된다. 몇몇의 실시예들에서, 컴퓨팅 장치의 하나 이상의 프로세서들이, 컴퓨팅 장치가 그렇게 하게 하는 컴퓨터 실행가능 명령들을 실행하면, 방법(300)이 컴퓨팅 장치에 의해 수행된다. 당업자에 의해 이해될 바와 같이, ICTO(115)의 구성 및 활용은 상기 컴퓨팅 장치들의 유형에도 상기 컴퓨팅 장치들에 연관된 어떠한 운영 체제들에도 종속되지 않는다. 데이터 보호 프로토콜이 데이터 세트에 임베딩된다. 활성화된 ICTO(115)는 데이터의 수명 동안 데이터 소유자와 (액세스 시도들, 비인가된 위치들 또는 비인가된 에이전트들에 대한 경보들, 자기-파괴 또는 자기-재생성에 대한 통보와 같은 정보를) 통신할 수 있다. 게다가, ICTO(115) 내의 규칙들은 그들 자신들 및 ICTO(115)의 다른 부분들을 갱신할 수 있으므로, ICTO(115)는 자신의 환경으로부터 학습을 하고, 그 학습에 기초하여 자신의 미래의 동작을 변경할 수 있다. 보호 프로토콜은 맞춤화될 수 있고, 클로킹 패턴들에 특정된 바와 같이 각각의 소유자, 데이터 세트, 및 사용자 조합에 고유하다.
시작 블록에서부터, 방법(300)은, 디지털 혼합체(115)에 액세스하고자 하는 에이전트에 의한 요청에 응답하여, 디지털 혼합체(115) 내의 휴대용 동적 규칙 세트(108)가 활성화되는 블록(302)으로 진행된다. 몇몇의 실시예들에서는, 수퍼(super)-신원이 ICTO(115)에 임베딩되고, ICTO(115)에 액세스하고자 시도하는 에이전트의 신원을 검증하기 위한 기준, 에이전트를 검사하고 데이터의 현재 상태를 결정하는 지능형 인식을 제공하기 위한 동적 규칙들, 및 클로킹 패턴들에 특정된 바대로 데이터를 클로킹하기 위한 알고리즘들을 포함한다. 도전/응답 쌍들(challenge/response pairs), 디지털 서명들, 생체 정보, 및/또는 등과 같은 검증 기준이 에이전트의 신원을 검증하는데 사용될 수 있다. 블록(304)에서, 에이전트에게 관련 콘텍스트에서 디지털 혼합체(115)에 요청된 액세스가 허용되는지를 검증하기 위해, 휴대용 동적 규칙 세트(108)가 실행된다. 신원 모듈(109) 및 지능 모듈(111)은, 활성화되면, 검증된 에이전트에 의한 현재의 액세스 시도를 평가하고 신뢰 수준을 구축한다. 몇몇의 실시예들에서, 이 평가는 진행중인 처리인데, 즉, 각각의 참가물(101): 데이터 소유자, 에이전트(데이터 사용자), 및 데이터 자체에 대한 검사 및 검증이 계속된다. 몇몇의 실시예들에서, 휴대용 동적 규칙 세트(108)로부터의 사전-액세스 규칙들은, 혼합기(110) 이외의 에이전트들에게 암호해제된 데이터에 액세스하도록 허용하지 않으면서, 혼합기(110)에 의한 내부 사용을 위해 ICTO(115)의 적어도 몇몇의 부분을 암호해제하도록 혼합기(110)에 의해 실행될 수 있다. 사전-액세스 규칙들은 신원 아티팩트들을 테스트하고 소유자 및 에이전트 데이터를 평가하는 능력을 포함하여, 참가물들(101)에 대한 액세스를 갖는다. 신뢰 수준이 낮아지면, 프로토콜은 참가물들(101)을 다시 평가한다. 몇몇의 실시예들에서, ICTO(115)에 액세스하려고 시도하는 에이전트가 그들의 정당성을 다시 구축할 수 없으면, 방어적인 또는 공격적인 동작들이 호출될 수 있다. 에이전트가 새로운 도전 세트를 만족시킬 수 있으면, 액세스는 진행되거나 계속되게 허용될 것이다.
몇몇의 실시예들에서, 사전-액세스 규칙들은 단지 신원 또는 인증 데이터에 대해 허용된 판독 액세스이지만, 몇몇의 실시예들에서는, 사전-액세스 규칙들이, 예를 들어, ICTO(115)를 열 때(또는 열고자 시도할 때) 액세스 시도 속성들을 기록하기 위해 사용될 수 있는 쓰기 액세스를 또한 가질수도 있다.
방법(300)은, 휴대용 동적 규칙 세트(108)가 요청된 데이터를 보호하기 위해 사용되는 클로킹 패턴을 결정하는 블록(306)으로 진행된다. 휴대용 동적 규칙 세트(108)는 에이전트의 신원, 데이터 요청, 데이터가 요청되는 콘텍스트, 및/또는 등에 기초하여 어떤 클로킹 패턴(107)이 적용될지를 결정하기 위해 혼합물 메타데이터(104)를 참조한다. 사용되는 클로킹 패턴(107)이 결정되면, 방법(300)은, 에이전트에 요청된 액세스를 제공하기 위해 클로킹 패턴(107)이 사용되는 블록(308)으로 진행된다. 클로킹 패턴(107)이 요청된 데이터를 보호하기 위해 사용되는 기술들의 세트를 나타내는 방법과 유사하게, 클로킹 패턴(107)은 또한 ICTO(115)에 저장된 보호된 버전으로부터 요청된 데이터를 재구성하기 위해 사용되는 기술들의 세트를 나타낸다. 그 후 방법(300)은 끝 블록으로 진행하여, 종료된다.
도 9는 ICTO(710)에 의해 보호된 데이터에 액세스하는 방법(900)의 대안적인 실시예를 나타내는 흐름도이다. ICTO(710)가 활성화된 후, PDRS(711)는, PDRS(711)에 특정된 바와 같이, ICTO(710)의 현재 환경, 액세스 시도들, 정당한 에이전트들, 및 다른 조건들을 검사 및 검증하기 시작한다. 이 검사 및 검증 처리는 본질적으로 효율적이고, 데이터 무결성을 보증하고, 시작시마다 1번, 활성 기간 동안 계속, 활성 기간 동안 주기적으로, 또는 임의의 다른 적합한 간격으로, 또는 임의의 적합한 상화 또는 상태 변경에 응답하여 수행될 수 있다. 규칙들 및 정당한 에이전트 신원이 긍정적으로 확인되면, PDRS(711)는, 혼합체의 동형 본질을 유지하고 나머지 참가물들을 보호하면서, ICTO(710)의 인가된 부분들에 대한 액세스를 허용한다. 몇몇의 실시예들에서, ICTO-인식 애플리케이션, 장치, 또는 운영 체제가 방법(900)을 개시하고 용이하게 하기 위해 구성된다.
시작 블록(901)에서부터, 방법(900)은, 디지털 혼합체 또는 ICTO(710)에 액세스하고자 하는 에이전트에 의한 요청에 응답하여, 보호된 디지털 혼합체 또는 ICTO(710) 내의 동적 참가물 제어기(702)가 ICTO-인식 애플리케이션, 장치, 또는 운영 체제에 의해 활성화되는, 블록(902)으로 진행된다. 몇몇의 실시예들에서, 소유자/에이전트 신원 및/또는 하나 이상의 에이전트 신원들은 ICTO(710)에 임베딩된 신원 모듈(708)에 포함되고, ICTO(710)에 액세스하고자 시도하는 에이전트의 신원, 인증, 및 정당성을 검증하기 위한 기준, 에이전트의 정당성을 검사하고 데이터의 현재 상태를 결정하는 지능형 인식을 제공하기 위한 동적 규칙들, 및 클로킹 패턴들에 특정된 바대로 데이터를 클로킹하는 알고리즘을 포함한다. 도전/응답 쌍들, 외부 인가들, 생체 정보, 및/또는 등과 같은 검증 기준이 에이전트의 신원을 인증, 검사, 및/또는 검증하는데 사용될 수 있다. 블록(903)에서, 휴대용 동적 규칙 세트(711)를 활용하여, 요청하는 에이전트들은 효율적인, 완벽한, 완성된, 및 관련된 콘텍스트에서 검증되고, 디지털 혼합체(710)에 대한 액세스가 허락된다.
방법(900)은, 에이전트의 신원, 데이터 요청, 데이터가 요청되는 콘텍스트 등에 기초하여, 휴대용 동적 규칙 세트(711)가 요청된 데이터를 보호하는데 사용되는 하나 이상의 클로킹 패턴들을 동적 참가물 제어기(702)에 제공하는 블록(904)으로 진행된다. 블록(905)으로 진행하여, DPC 또는 혼합기(702)는 휴대용 동적 규칙 세트(711)로부터의 명령 상에서 정당한 에이전트, 데이터 요청, 데이터가 요청되는 콘텍스트, 및/또는 등에 대한 데이터 소유자의 규칙들에 기초하여 ICTO(710) 내의 보호된 데이터 중 몇몇 또는 모두를 디클로킹함으로써, 휴대용 동적 규칙 세트(711)에 의해 관리된다.
도 9에 명시적으로 나타내지 않은 다른 단계들도 또한 본 게시사항의 범위를 벗어나지 않으면서 방법(900)에 포함될 수 있다. 예를 들어, 디클로킹 패턴들을 적용하거나 규칙들을 실행하면서 어떠한 변종들이라도 탐지되면, 방법(900)은 정지될 수 있고, 보호된 ICTO(710)에 대한 액세스가 허용되지 않을 수 있다. 또 다른 예로서, 방법(900)는, 정당한 에이전트의 인가가 완료되기 전에 외부 인가들이 요구되게 할 수 있는, ICTO(710)에 대한 요구하는 에이전트의 정당성을 결정할 수 있다. 추가적으로, ICTO(710)에 대한 정당한 및 인가된 액세스의 결과로서 경보들이 송신될 수 있다. 또 다른 예로서, 몇몇의 실시예들에서, 방법(900)은 ICTO(710) 내의 PDRS(711)가 경보들을 송신하고, 액세스 시도들을 기록하는 등을 할 수 있는 비인가된 액세스가 시도되는지를 결정할 수 있다. 또 다른 예에서, 몇몇의 실시예들에서, 방법(900)은 비인가된 액세스 시도가 이동중이라고 결정하고, ICTO(710) 내의 허위 데이터(false data)에 대한 액세스를 인에이블링하여, 활동을 기록하고, 경보들을 송신되게 하는 등을 할 수 있다. 경보들에는 허위 액세스 시도, 비공인 액세스 주소(장치 및 위치 명세들을 포함할 수 있음), 스케줄 위반들(schedule violations), ICTO의 비인가된 움직임 등이 포함되지만, 이에 제한된 것은 아니다.
따라서, 본 발명은 자기-포함되고, 자기-제어하고, 자기-관리하는 ICTO를 결과로 갖는다. 모든 액세스 권리들, 업무 규칙들, 어플라이언스 규칙들, 감사 요구사항들, 및 데이터 소유자에 의해 결정된 유사한 규칙들 및 제한사항들은 PDRS에 포함되고 ICTO에 임베딩되어, 데이터 소유자 대신 PDRS에 의해 제어되고(온라인이든 오프라인이든, 제어는 ICTO에 유지됨), PDRS에 의해 실행된다. PDRS는, ICTO의 생성시에 및 그 일생 동안, 자기-관리하고 제어하기 위한 수단이다. 그것은 ICTO와 함께 이동하고, 데이터 소유자에 의해 구축된 규칙들을 항상 준수하고, 이에 제한되는 것은 아니지만 (위치, 시간, 및 장치와 같은) 환경에 기초하여 적응할 수 있으므로(즉, 동적임), 학습된 정보에 기초하여 자가 관리하고 결정을 내린다. PDRS는 제어 및 관리를 유지하기 위해 어떠한 외부 소스들(예를 들어, IAM 또는 SIEM 시스템) 또는 특정한 운영 환경들을 요구하지 않는다. PDRS는 ICTO 내에서의 ICTO의 완벽한 관리를 제어한다. PDRS는 영구적으로 ICTO에 임베딩되고, ICTO와 함께 이동하므로, 자기-포함되고, 자기-제어되고, 자기-관리하는 엔티티를 생성한다.
도 4는 본 게시사항의 실시예에 대한 예시적인 사용 사례를 나타내는 개략도이다. 당업자는, 이 사용 사례가 단지 예시적인 것일 뿐이고, 게시사항의 어떤 특징들을 나타내기 위해 나타낸 것이지만, 이 사용 사례는 본 명세서에 게시된 기술의 모든 특징들을 활용 또는 나타내는 것은 아님을 인식할 것이다. 도 4에서, 제1 컴퓨팅 장치(416)를 사용하는 제1 사용자(418)는 제1 데이터 조각(데이터 1(404)) 및 제2 데이터 조각(데이터 2(406))을 보호하기 위해, 본 게시사항의 실시예를 사용한다. 보호된 버전의 데이터 1(410) 및 보호된 버전의 데이터 2(412)을 포함하는 ICTO(408)가 생성된다. ICTO(408)를 생성할 때, 제1 사용자(418)는, 제2 사용자(422)가 데이터 1(404)에 액세스할 수 있다고 특정하지만 제2 사용자(422)가 데이터 2(406)에 액세스할 수 있다고는 특정하지 않는다. 따라서, ICTO(408)는, 제2 사용자(422)가 검증되면 데이터 1(404)에 액세스하도록 허용된다는 규칙을, 자신의 휴대용 동적 규칙 세트(108)에 포함시킨다.
제1 컴퓨팅 장치(416)는 LAN, 무선 네트워크, 인터넷, 및/또는 등과 같은 네트워크를 통해 제2 사용자(422)에 의해 사용되는 제2 컴퓨팅 장치(420)에 ICTO(408)를 전달한다. 제2 사용자(422)는 ICTO(408)를 활성화시키고, 데이터 1(404)에 액세스하고자 하는 요청(424)을 제출한다. ICTO(408)은 제2 사용자(422)의 신원을 검증하는데, 이는 ICTO(408)에 저장된 도전/응답 쌍을 처리하는 것 및/또는 제2 사용자가 자신이 그렇다고 주장하는지가 맞는지를 검증하기 위해 (인증서 서버, RADIUS, 또는 다른 인증 서버, 및/또는 등과 같은) 신뢰적인 서비스(409)를 참조하는 것을 포함한다. 제2 사용자(422)의 신원이 검증되면, ICTO(408)는 보호된 데이터 1(410)을 생성하는데 사용된 클로킹 패턴을 참조하고, 그 클로킹 패턴을 사용하여 제2 사용자(422)에게 데이터 1(404)에 대한 액세스를 준다. 그러나, ICTO(408)가 제2 사용자(422)에게 데이터 2(406)에 대한 액세스를 제공하도록 명령되지는 않았으므로, ICTO(408)은 제2 사용자(422)가 데이터 2(406)에 액세스하도록 허용하지 않는다.
대안적인 처리 흐름에서는, 제1 컴퓨팅 장치(416)가 LAN, 무선 네트워크, 인터넷, 및/또는 등과 같은 네트워크를 통해 제2 사용자(422)에 의해 사용되는 제2 컴퓨팅 장치(420)에 ICTO(408)를 전달한다. ICTO 인식 애플리케이션, 장치, 또는 운영 체제를 활용하는 제2 사용자(422)는 ICTO(408) 내의 보호된 데이터 1에 액세스하고자 하는 요청을 수신하는 ICTO(408)를 깨운다. ICTO(408)는 제2 사용자(422)의 신원을 검증하는데, 이는 ICTO(408)에 저장된 다수의 도전/응답 쌍들을 처리하는 것, 및/또는 제2 사용자(422)가 유효하고 인가되었는지를 검증하기 위한 인가 등을 포함할 수 있다. 추가적으로, 신뢰적인 서비스(409)가 소유자(418)가 명시한 액세스 규칙들에 기초하여 시간, 물리적인 위치 등에 대한 추가적인 검사를 위해 사용될 수 있다. 제2 사용자(422)의 신원이 검증되면(즉, 진짜이고 정당한 것으로 구축되면), ICTO(408)는 보호된 데이터 1(410)을 생성하는데 사용된 하나 이상의 클로킹 패턴들을 결정하고, 보호된 데이터 1(410)을 디클로킹하여, 데이터 1(404)을 제2 사용자(422)에게 공개한다. 제2 사용자(422)는 또한 보호된 데이터 2(412)에 액세스하도록 요청할 수 있다. 그러나, 제2 사용자는 ICTO(408) 내의 보호된 데이터 2에 액세스하도록 인가되지 않았으므로, 제2 사용자(422)는 보호된 데이터 2(412)에 액세스하도록 허락되지 않는다.
인증 서비스들을 제공하는 신뢰적인 서비스(409)가 설명되었지만, 다른 유형들의 신뢰적인 서비스들이 사용될 수 있다. 예를 들어, 단지 주어진 시간 기간 동안만 액세스를 허용한다는 규칙이 ICTO(408)에 포함되어 있으면, 신뢰되는 날짜-시간 값을 제공하는 신뢰적인 서비스(409)가 사용될 수 있다. 또 다른 예로서, ICTO(408)가 에이전트에게 액세스를 허용받았는지를 결정하는 동안, 신뢰적인 서비스(409)는 다른 사용자들로부터의 입력을 얻고자 할 수 있다. 나타낸 바와 같이, 신뢰적인 서비스(409)는 이메일, SMS, 또는 임의의 다른 적합한 기술을 통해 제1 사용자(418)에게 액세스 시도를 알릴 수 있으며, 제1 사용자(418)로부터 대응하는 승인이 수신되기 전까지 시도된 액세스가 허용되기를 기다릴 수 있다.
이 사용 사례는 본 게시사항의 몇몇의 이점들을 나타낸다. ICTO(408)가 생성되면, 보호된 데이터 1(410) 및 보호된 데이터 2(412)는 액세스를 요청하기 위한 ICTO(408)의 처리를 호출하지 않고는 액세스될 수 없다. 따라서, 데이터는, ICTO(408)가 제1 컴퓨팅 장치(416)에 저장되어 있을 때, ICTO(408)가 네트워크(402) 상에서 전송중일 때, ICTO(408)가 제2 컴퓨팅 장치(416)에 저장되어 있을 때, 보호된다. 또한, ICTO(408)가 데이터 1(404)에 대한 액세스를 제2 사용자(422)에게 제공하더라도, 그럼에도 불구하고 데이터 2(406)는 액세스로부터 보호된다.
이 단순한 사용 사례가 본 게시사항의 몇몇의 특징들을 나타내지만, 보다 훨씬 복잡한 사용 사례들이 또한 가능하다. 예를 들어, 도 5는 본 게시사항의 실시예에 대한 예시적인 작업흐름의 양태들을 나타내는 개략도이다. 제1 사용자("사용자 A")는, 트랜잭션을 통해 비밀을 유지하면서, 제2 사용자("사용자 B"), 제3 사용자("사용자 C"), 및 제4 사용자("사용자 D")에 의해 승인 및 서명될 문서들의 세트("문서 X, Y, 및 Z")를 가질 수 있다. 문서 X는 사용자 B에 의해 서명될 필요가 있다. 문서 Y는, 단지 문서 X가 서명된 후에만, 사용자 B 및 사용자 C에 의해 서명될 필요가 있다. 문서 Z는, 단지 문서 X 및 Y가 서명된 후에만, 사용자 D에 의해 서명될 필요가 있다. 추가로, 문서 X 및 문서 Y는 국부적인 회사 정책에 확실히 준수시키기 위해 업무시간(예를 들어, 오전 9시부터 오후 5시까지) 동안 서명되어야만 하고, 문서 Z(문서 Y의 작업 초안)는 문서 X 및 Y의 서명들이 승인되는 즉시 서명되야 하고, 감사가 로드되고, 그 후 문서 Z는 감사가 또한 로그되면 파괴된다.
본 게시사항의 실시예들은 이러한 작업흐름을 지원할 것이다. 사용자 A는 문서들 X, Y, 및 Z를 포함하는 ICTO를 생성한다. 사용자 A는, 사용자 B가 문서 X를 검토하고 서명하도록 허용하는 문서 X에 대한 액세스 규칙을 생성한다. 사용자 A는, 문서 X에 대한 서명이 획득되면, 사용자 B 및 사용자 C가 문서 Y를 검토 및 서명하도록 허용하는 문서 Y에 대한 액세스 규칙을 생성한다. 사용자 A는, 사용자 C가 서명을 확인하기 위해 문서 X를 확인하는 것을 허용하는 문서 X에 대한 액세스 규칙을 생성하고(또는 문서 X에 대한 액세스 규칙은 문서 X에 제공된 서명을 탐지할 수 있음), 서명이 탐지되면 문서 Y가 서명되도록 허용하는 문서 Y에 대한 액세스 규칙을 동적으로 갱신할 수 있다. 사용자 A는 문서들 X 및 Y에 대한 서명들을 확인하는 문서 Z에 대한 액세스 규칙을 생성하고, 이러한 서명들이 탐지되면, 사용자 D는 문서 Z에 서명하도록 허락된다. 이들 규칙들 각각은 또한 연관된 시간 요구사항들을 시행하고, 시간 요구사항들이 만족되지 않으면 액세스를 허용하지 않는다. 사용자 A는 또한 어떤 문서들에 대한 어떤 액세스도 사용자 A에게 보고하도록 규칙을 생성할 수 있어, 사용자 A는 처리를 모니터할 수 있다. 규칙들 각각은 각각의 사용자가 식별되는 방법, 관련 특권들, 사용자들이 문서들에 액세스하도록 허용된 장치들, 및 사용자들이 문서들에 액세스하도록 허용된 위치들을 특정할 수 있다.
예를 들어, 사용자 B가 ICTO를 수신하면, 사용자 B는 ICTO 내의 실행가능 코드를 활성화하도록 구성된 애플리케이션을 호출한다. 실행가능 코드는 신뢰적인 신원 서비스르 참조하거나, 규칙에 포함된 도전에 대한 응답을 확인하거나, 또는 임의의 다른 방법으로 사용자 B의 신원을 결정한다. 신원, 시간, 위치, 및 다른 요구사항들이 만족되면, 사용자 B는 문서 X에 액세스하도록 허락되지만, 임의의 다른 문서들에는 액세스하지 못한다. 사용자 B가 문서 X에 서명한 후, ICTO는 다음 사용자에게 전달되고, ICTO가 나머지 작업 흐름을 지나면서, 문서들에 대한 보호들이 시행된다.
대안적으로, 예를 들어, 사용자 B는 ICTO를 수신하고, 사용자 B는 ICTO 내의 PDRS를 활성화하는 ICTO 인식 애플리케이션을 호출한다. 실행가능 코드는 다수의 도전/응답 쌍들 및/또는 외부 인가들 코드들을 나타내는, ICTO에 저장된 신원 증명서들을 활용하여 사용자 B의 신원을 결정한다. 신원, 시간, 위치, 및 다른 요구사항들이 만족되면, 사용자 B는 문서 X에 액세스하도록 허용되지만, 임의의 다른 문서들에는 액세스하지 못한다. 사용자 B가 문서 X에 서명한 후, ICTO는 다음 사용자에게 전달되고, ICTO가 나머지 작업 흐름을 지나면서, 문서들에 대한 보호들이 시행된다.
또 다른 예시적인 실시예에서, 보호 프로토콜이 휴대용 신원 어플라이언스(portable identity appliance; PIA)에 도입된다. PIA는 반사적이고 자동적인 인증 방법을 사용하여 휴대용의 및 이산적인 디지털 신원을 정의한다. PIA는 궁극적으로 통합 ICTO 프로토콜을 구현하므로, 자체가 지능형 객체가 된다. 몇몇의 실시예들에서, PIA는 소유자 데이터(예를 들어, 파일들, 이미지들 등)를 포함하지 않는 ICTO이다. PIA는 소유자에 대한 공개적으로 사용가능한 추가 정보(명함이나 공개 디렉터리에 기재된 정보와 유사함)에 따라 PDRS를 활용하는 ICTO를 포함하지만, 그러나 소유자 데이터를 반드시 포함하는 것은 아니다. 따라서, PIA는 소유자 신원을 반박의 여지 없이 나타내는 목적을 갖는, 자기-보호하고, 자기-제어하고, 자기-관리하는 ICTO이다.
도 10-13에 나타낸 바와 같이, 보호된 PIA가 생성되면, 그것은 보호된 데이터 객체를 생성하고, 하나 이상의 당사자들 간의 안전한 메시지 전송을 용이하게 하고(예를 들어, 송신자 및 수신자 정당성 및 데이터 무결성을 검사하고 유지함), 웹 사이트들, 포털들, 네트워크들, 또는 다른 자원들을 보증하거나 감시하는데 사용될 수 있는 안전하고 믿을만한 신원을 제공하기 위한 데이터와 조합될 수 있다.
따라서 PIA는 기존의 서명 기술들에 상당한 이점들을 제공한다. 기존의 서명 기술들은 전형적으로 인증 기관으로부터 구매한 증명서에 기초한다. 증명서들은 누가 그 증명서를 가지고 있는지 및 누가 그 증명서를 발행했는지에 기초하여 신뢰할만한 가치가 있다고 고려된다. 그러나, 증명서들은 도난되고, 스푸핑되고(spoofed), 고유하게 정의된 신원에 기초하지 않을 수 있다.
따라서, ICTO는 "서명"이 요구되는 신원에 대한 반박의 여지가 없는 검증을 위해 사용될 수 있다. 서명 ICTO들은 완벽한 신원 검증을 요구하는 법률 문서들을 포함하는 ICTO와 관련된 외부 신원 검증으로 활용될 수 있다. 서명 ICTO(들)는 본래의 ICTO에 포함된 "최종" 법률 문서들의 (임베딩된) 부분이 될 수 있다. 게다가, 서명 ICTO(들)은 서명을 필요로하는 소유자 문서들에 추가하여 추가적인 보호된 데이터 구성요소들로서 ICTO 내에 포함(즉, 내포)될 수 있으므로, 문서들과 함께 이동하는 요구된 서명자들을 사전-정의하고 사전-검증을 제공한다. 서명 ICTO(들)은 또한 ICTO에는 포함되지 않지만 ICTO 인식 애플리케이션에는 포함되는, 문서들 내의 반박의 여지가 없는 신원 검증으로 사용될 수 있다. 예를 들어, 그들은 전자적으로 조건들의 수용을 제공하거나 개인 정보 고지들에 대한 인지를 제공하는데 사용될 수 있다.
서명 ICTO들은, 문서 서명 콘텍스트에서, "법적으로 검증 및 공증"되지만 또한 반박의 여지가 없는 디지털 버전의 소유자라고 고려될 수 있다. 소유자 데이터를 갖는 ICTO와 같이, 각각의 서명 ICTO는 고유하므로, 서명 ICTO의 실제 소유자인척하는 사람 또는 엔티티에 의해 "스푸핑"되지 않는다. 추가적으로, 서명 ICTO는 사람을 나타내서는 않되고; 그것은 기계를 나타낼 수 있으므로, 디지털 처리 흐름은 처리될 인가의 타당성을 확인하기 위한 방식을 따라 서명들을 요청하고; 이 서명은 문서화되야 한다. 서명 ICTO들은, 오늘날 표준 디지털 서명이 요구되는 어느 곳에서나 사용될 수 있지만, 오늘날 디지털 서명들이 사용되는 방법에만 제한되지는 않는다. 전술된 바와 같이, 몇몇의 실시예들에서는, 사용하기 위해 사전에 필요한 것으로 ICTO-인식이 있어야만 한다.
당업자는, 상기 사용 사례들은 단지 예시적인 것일 뿐, 본 명세서에 게시된 주제에 대한 많은 다른 사용 사례들이 가능하다는 것을 인식할 것이다. 예를 들어, 휴대용 동적 규칙 세트들은 실행가능 코드를 포함하므로, ICTO는 ICTO의 보안 검사들을 만족할 때에만 실행가능한, 실행가능 콘텐츠를 보호할 수 있다. 또한, ICTO가 임의의 규칙에 대한 성공 또는 실패에 응답하여 이러한 콘텐츠를 실행할 수 있으므로, ICTO는 성공한 액세스들을 로그시키거나 데이터 소유자에게 경보하는 것과 같은 동작을 취하여, 비인가된 액세스 시도를 탐지하면, 자기-파괴 시퀀스 또는 다른 동작들을 개시한다.
대안적으로, 본 명세서에 게시된 주제에 대한 많은 다른 사용 사례들이 있다. 예를 들어, ICTO는 독립적인 자기-관리를 위한 실행가능 코드를 포함하므로, ICTO는 ICTO에 포함되고 데이터 소유자에 의해 명시된 액세스에 대한 규칙들 및 보안 검사들을 만족할 때만 액세스가능한 콘텐츠를 보호할 수 있다. 또한, ICTO는 임의의 규칙에 대한 성공 또는 실패에 응답하여, 그러한 액세스들을 로그시키고/시키거나 데이터 소유자에게 경보하는 것과 같은 동작을 취하여, 비인가된 액세스 시도를 탐지하면, 자기-파괴 시퀀스 또는 다른 동작들을 개시한다.
도 6은 본 게시사항의 실시예들과 함께 사용하기에 적합한 컴퓨팅 장치(500)의 예시적인 하드웨어 구조를 나타내는 블록도이다. 당업자들 및 다른 이들은, 컴퓨팅 장치(500)가, 이에 제한된 것은 아니지만, 데스크톱 컴퓨터들, 서버 컴퓨터들, 랩 톱 컴퓨터들, 임베딩된 컴퓨팅 장치들, ASIC(application specific integrated circuit)들, 스마트폰들, 테이블 컴퓨터들, 및/또는 등을 포함하는 현재 사용가능하거나 아직 개발중인, 임의의 개수의 장치들 중 임의의 하나일 수 있다는 것을 인식할 것이다. 그것의 가장 기본적인 구성에서, 컴퓨팅 장치(500)는 통신 버스(506)에 의해 연결된 적어도 하나의 프로세서(502) 및 시스템 메모리(504)를 포함한다. 장치의 정확한 구성 및 유형에 따라, 시스템 메모리(504)는 판독 전용 메모리("ROM"), 랜덤 액세스 메모리("RAM"), EEPROM, 플래시 메모리, 또는 유사한 메모리 기술과 같은 휘발성 또는 비휘발성 메모리일 수 있다. 당업자들 및 다른 이들은, 시스템 메모리(504)가 전형적으로, 프로세서(502)에 의해 즉시 액세스될 수 있고/있거나 현재 동작되고 있는 데이터 및/또는 프로그램 모듈들을 저장하고 있다는 것을 인식할 것이다. 이에 대하여, 프로세서(502)는 명령들의 실행은 지원함으로써 컴퓨팅 장치(500)의 컴퓨터적인 중심으로서 동작한다.
도 6에 더욱 나타낸 바와 같이, 컴퓨팅 장치(500)는 네트워크를 통해 다른 장치들과 통신하기 위한 하나 이상의 구성요소들을 포함하는 네트워크 인터페이스(510)를 포함할 수 있다. 본 게시사항의 실시예들은 보통의 네트워크 프로토콜들을 사용하여 통신을 수행하기 위해 네트워크 인터페이스(510)를 활용하는 기본적인 서비스들에 액세스할 수 있다. 도 6에 나타낸 예시적인 실시예에서, 컴퓨팅 장치(500)는 또한 저장 매체(508)를 포함한다. 그러나, 서비스들은 데이터를 국부적인 저장 매체에 지속시키기 위한 수단들을 포함하지 않는 컴퓨팅 장치를 사용하여 액세스될 수도 있다. 이에 따라, 도 6에 나타낸 저장 매체(508)는 저장 매체(508)가 선택적이라는 것을 나타내기 위해 점선으로 나타나있다. 아무튼, 저장 매체(508)는, 이에 제한된 것은 아니지만, 하드 드라이브, 고체 상태 드라이브, CD ROM, DVD, 또는 다른 디스트 저장소, 자기 카세트들, 자기 테이프, 자기 디스크 저장소 등과 같은 정보를 저장할 수 있는 임의의 기술을 사용하여 구현된, 휘발성 또는 비휘발성, 분리형 또는 비분리형일 수 있다.
본 명세서에 사용된 바와 같이, "컴퓨터 판독가능 매체"란 용어는 컴퓨터 판독가능 명령들, 데이터 구조들, 프로그램 모듈들, 또는 다른 데이터와 같은 정보를 저장할 수 있는 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성 및 분리형 및 비분리형 매채를 포함한다. 이에 관련하여, 도 6에 나타낸 시스템 메모리(504) 및 저장 매체(508)는 단지 컴퓨터 판독가능 매체의 예들일 뿐이다.
프로세서(502), 시스템 메모리(504), 통신 버스(506), 저장 매체(508), 및 네트워크 인터페이스(510)를 포함하는 컴퓨팅 장치들에 대한 적합한 구현들이 알려져있고 상업적으로 구매가능하다. 용이하게 나타내기 위해, 그리고 주장된 주제를 이해하는데 중요하지 않으므로, 도 6에는 많은 컴퓨팅 장치들의 전형적인 구성요소들 중 몇몇은 나타내지 않았다. 이에 관련하여, 컴퓨팅 장치(500)는 키보드, 마우스, 마이크로폰, 터치 입력 장치, 및/또는 등과 같은 입력 장치들을 포함할 수 있다. 마찬가지로, 컴퓨팅 장치(500)는 또한 표시 장치, 스피커들, 프린터 및/또는 등과 같은 출력 장치들을 포함할 수 있다. 모든 이들 장치들은 본 기술에 잘 알려져 있으므로, 그들은 본 명세서에 더욱 설명되지 않는다.
따라서, 본 명세서에 설명된 실시예들 및 예들은, 당업자가 특정 사용들을 위해 적합하다고 고려되는 다양한 실시예들에서 및 다양한 변형들과 함께 본 발명을 가장 잘 활용하게 하기 위해, 본 발명의 원리들 및 그것의 실제 응용을 가장 잘 나타내기 위해 선택되고 설명된 것임이 이해되어야 한다. 이 발명에 대한 특정 실시예들이 설명되었지만, 그들이 완벽한 것으로 고려되어서는 안된다. 당업자들에게 명확한 여러 변형들이 존재한다.
102: 객체 설명
104: 혼합물 메타데이터
106: 소유자 데이터
107: 클로킹 패턴들
109: 신원 모듈

Claims (20)

  1. 데이터의 향상된 보안을 위한 컴퓨터-구현 시스템으로서:
    하드웨어 및 소프트웨어를 포함한 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는:
    컴퓨터-기반의 지능형 암호 전달 객체(intelligent cipher transfer object)를 수신하는 것으로, 상기 지능형 암호 전달 객체는:
    하나 이상의 내부 클로킹 패턴들에 의해 보호된 소유자 데이터와,
    하나 이상의 외부 클로킹 패턴들에 의해 보호된 기계 실행가능 코드를 포함하는 휴대용 동적 규칙 세트를 포함하는, 상기 지능형 암호 전달 객체를 수신하고;
    외부 에이전트로부터, 상기 소유자 데이터의 일부 또는 모두에 액세스하고자 하는 요청을 수신하고;
    상기 기계 실행가능 코드를 검색하기 위해 상기 외부 클로킹 패턴들을 역행하고(reverse);
    상기 기계 실행가능 코드를 실행함으로써 상기 휴대용 동적 규칙 세트를 활성화하여, 상기 적어도 하나의 프로세서로 하여금:
    상기 휴대용 동적 규칙 세트를 이용하여, 상기 외부 에이전트가 요청되는 상기 소유자 데이터의 일부 또는 모두에 액세스하는 것이 허가되었는지를 검증하고;
    상기 외부 에이전트가 허가되었다고 검증되면, 상기 하나 이상의 내부 클로킹 패턴들의 적어도 일부를 역행하여 상기 외부 에이전트가 액세스가 검증된 상기 소유자 데이터의 일부 또는 모두에 대한 액세스를 제공하도록 구성되는, 데이터의 향상된 보안을 위한 컴퓨터-구현 시스템.
  2. 제 1 항에 있어서,
    상기 휴대용 동적 규칙 세트는 상기 지능형 암호 전달 객체 내의 가변적인 위치들에 위치되는, 데이터의 향상된 보안을 위한 컴퓨터-구현 시스템.
  3. 제 1 항에 있어서,
    상기 기계 실행가능 코드는 상기 지능형 암호 전달 객체 내의 가변적인 위치들에 위치되는, 데이터의 향상된 보안을 위한 컴퓨터-구현 시스템.
  4. 제 1 항에 있어서,
    상기 휴대용 동적 규칙 세트는, 어떤 외부 에이전트들이 상기 소유자 데이터의 일부 또는 모두에 액세스할 수 있는지를 식별하는 적어도 하나의 규칙, 및 특정한 외부 에이전트가 상기 소유자 데이터의 일부 또는 모두에 액세스할 수 있는 콘텍스트(context)를 포함하는, 데이터의 향상된 보안을 위한 컴퓨터-구현 시스템.
  5. 제 1 항에 있어서,
    특정한 외부 에이전트가 상기 소유자 데이터의 일부 또는 모두에 액세스할 수 있는 콘텍스트는: 시간 기간, 위치, 또는 컴퓨팅 장치의 신원 중 하나 이상을 포함하는, 데이터의 향상된 보안을 위한 컴퓨터-구현 시스템.
  6. 제 1 항에 있어서,
    상기 컴퓨터-기반의 지능형 암호 전달 객체는 혼합물 메타데이터를 더 포함하는, 데이터의 향상된 보안을 위한 컴퓨터-구현 시스템.
  7. 제 6 항에 있어서,
    상기 혼합물 메타데이터는 상기 소유자 데이터 및 상기 휴대용 동적 규칙 세트를 보호하는 상기 하나 이상의 내부 또는 외부 클로킹 패턴들을 식별하는 정보를 포함하는, 데이터의 향상된 보안을 위한 컴퓨터-구현 시스템.
  8. 제 1 항에 있어서,
    상기 하나 이상의 내부 클로킹 패턴들은 상기 휴대용 동적 규칙 세트의 적어도 일부를 보호하기 위해 사용되는, 데이터의 향상된 보안을 위한 컴퓨터-구현 시스템.
  9. 제 1 항에 있어서,
    상기 기계 실행가능 코드를 실행하는 것은 상기 적어도 하나의 프로세서로 하여금 또한:
    상기 외부 에이전트가 허가되었는지를 검증하는 것에 실패하면, 상기 휴대용 동적 규칙 세트 내의 적어도 하나의 규칙을 실행시켜,
    상기 지능형 암호 전달 객체가 자기-파괴되고;
    상기 지능형 암호 전달 객체가 상기 소유자 데이터의 적어도 일부에 대한 액세스들을 거부하고;
    메시지 또는 경보가 상기 소유자 데이터와 연관된 소유자에게 송신되고;
    상기 요청의 기록이 상기 지능형 암호 전달 객체에 저장되게 하는 이벤트들 중 적어도 하나를 발생시키는, 데이터의 향상된 보안을 위한 컴퓨터-구현 시스템.
  10. 제 1 항에 있어서,
    상기 기계 실행가능 코드를 실행하는 것은 상기 적어도 하나의 프로세서로 하여금 또한:
    상기 외부 에이전트가 액세스가 검증된 상기 소유자 데이터의 일부 또는 모두에 대한 액세스를 제공하면, 상기 휴대용 동적 규칙 세트 내의 적어도 하나의 규칙을 실행시켜,
    메시지 또는 경보가 상기 소유자 데이터와 연관된 소유자에게 송신되고;
    상기 요청의 기록이 상기 지능형 암호 전달 객체에 저장되고;
    상기 지능형 암호 전달 객체가 상기 소유자 데이터의 적어도 일부에, 읽기 권한 및 쓰기 권한 중 적어도 하나를 포함하는 제한된 액세스를 제공하고;
    상기 외부 에이전트의 서명이 상기 소유자 데이터와 연관되고;
    상기 휴대용 동적 규칙 세트 내의 적어도 하나의 규칙이 추가, 수정, 또는 삭제되게 하는 이벤트들 중 적어도 하나를 발생시키는, 데이터의 향상된 보안을 위한 컴퓨터-구현 시스템.
  11. 제 1 항에 있어서,
    상기 지능형 암호 전달 객체는 제2 지능형 암호 전달 객체에 내포되는(nested), 데이터의 향상된 보안을 위한 컴퓨터-구현 시스템.
  12. 제 11 항에 있어서,
    상기 제2 지능형 암호 전달 객체는 하나 이상의 추가의 지능형 암호 전달 객체들에 내포되는, 데이터의 향상된 보안을 위한 컴퓨터-구현 시스템.
  13. 제 1 항에 있어서,
    상기 컴퓨터-기반의 지능형 암호 전달 객체는 하나 이상의 허가된 에이전트들에 대한 제1 세트의 식별 정보를 더 포함하고, 상기 기계 실행가능 코드를 실행하는 것은 상기 적어도 하나의 프로세서로 하여금:
    상기 외부 에이전트가 제2 세트의 식별 정보를 제공하는 것을 촉구하고;
    상기 제2 세트의 식별 정보를 수신하고;
    상기 제1 세트의 식별 정보 및 상기 제2 세트의 식별 정보를 비교함으로써 상기 외부 에이전트가 허가되었는지를 검증하게 함으로써 상기 외부 에이전트가 허가되었는지를 검증하는, 데이터의 향상된 보안을 위한 컴퓨터-구현 시스템.
  14. 제 1 항에 있어서,
    상기 컴퓨터-기반의 지능형 암호 전달 객체는 하나 이상의 암호해제 키들을 더 포함하고, 상기 기계 실행가능 코드를 실행하는 것은 상기 적어도 하나의 프로세서로 하여금 상기 하나 이상의 암호해제 키들을 사용하여 상기 하나 이상의 내부 클로킹 패턴들의 적어도 일부를 역행하게 하는, 데이터의 향상된 보안을 위한 컴퓨터-구현 시스템.
  15. 제 1 항에 있어서,
    상기 적어도 하나의 프로세서는 로컬 프로세서를 포함하고, 상기 휴대용 동적 규칙 세트를 활성화하는 것은 상기 로컬 프로세서에서 상기 휴대용 동적 규칙을 활성화하는 것을 포함하는, 데이터의 향상된 보안을 위한 컴퓨터-구현 시스템.
  16. 디지털 서명들 또는 검증들을 사용하는 향상된 보안을 위한 컴퓨터 구현 시스템에 있어서:
    하드웨어 및 소프트웨어를 포함하는 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는:
    휴대용 동적 규칙 세트를 포함하는 컴퓨터-기반의 지능형 암호 전달 객체를 수신하는 것으로, 상기 휴대용 동적 규칙 세트는 하나 이상의 외부 클로킹 패턴들에 의해 보호된 기계 실행가능 코드를 포함하는, 상기 지능형 암호 전달 객체를 수신하고:
    상기 기계 실행가능 코드를 검색하기 위해 상기 외부 클로킹 패턴들을 역행하고;
    상기 기계 실행가능 코드를 실행함으로써 상기 휴대용 동적 규칙 세트를 활성화하여, 상기 적어도 하나의 프로세서로 하여금:
    상기 휴대용 동적 규칙 세트를 이용하여, 외부 에이전트의 신원을 검증하고;
    상기 외부 에이전트의 신원이 검증되면, 상기 외부 에이전트의 신원을 나타내는 데이터를 상기 컴퓨터-기반의 지능형 암호 전달 객체에 저장하고;
    하나 이상의 내부 클로킹 패턴들을 사용하여 상기 외부 에이전트의 신원을 나타내는 데이터를 보호하도록 구성되는, 디지털 서명들 또는 검증들을 사용하는 향상된 보안을 위한 컴퓨터 구현 시스템.
  17. 제 16 항에 있어서,
    상기 휴대용 동적 규칙 세트는 상기 지능형 암호 전달 객체 내의 가변적인 위치들에 위치되는, 디지털 서명들 또는 검증들을 사용하는 향상된 보안을 위한 컴퓨터 구현 시스템.
  18. 제 16 항에 있어서,
    상기 외부 에이전트의 신원을 나타내는 데이터는 상기 지능형 암호 전달 객체 내의 가변적인 위치들에 위치되는, 디지털 서명들 또는 검증들을 사용하는 향상된 보안을 위한 컴퓨터 구현 시스템.
  19. 제 16 항에 있어서,
    상기 내부 클로킹 패턴들은 상기 휴대용 동적 규칙 세트의 적어도 일부를 클로킹하기 위해 사용되는, 디지털 서명들 또는 검증들을 사용하는 향상된 보안을 위한 컴퓨터 구현 시스템.
  20. 제 16 항에 있어서,
    상기 적어도 하나의 프로세서는 로컬 프로세서를 포함하고, 상기 휴대용 동적 규칙 세트를 활성화하는 것은 상기 로컬 프로세서에서 상기 휴대용 동적 규칙을 활성화하는 것을 포함하는, 디지털 서명들 또는 검증들을 사용하는 향상된 보안을 위한 컴퓨터 구현 시스템.
KR1020167032120A 2014-04-17 2015-04-17 데이터를 보호하기 위해 암호 객체들을 사용하는 시스템 및 방법들 KR102161975B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201461980617P 2014-04-17 2014-04-17
US61/980,617 2014-04-17
PCT/US2015/026405 WO2016003527A2 (en) 2014-04-17 2015-04-17 System and methods for using cipher objects to protect data

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020207027532A Division KR102202775B1 (ko) 2014-04-17 2015-04-17 데이터를 보호하기 위해 암호 객체들을 사용하는 시스템 및 방법들

Publications (2)

Publication Number Publication Date
KR20170037881A KR20170037881A (ko) 2017-04-05
KR102161975B1 true KR102161975B1 (ko) 2020-10-07

Family

ID=55020076

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020207027532A KR102202775B1 (ko) 2014-04-17 2015-04-17 데이터를 보호하기 위해 암호 객체들을 사용하는 시스템 및 방법들
KR1020217000496A KR102333272B1 (ko) 2014-04-17 2015-04-17 데이터를 보호하기 위해 암호 객체들을 사용하는 시스템 및 방법들
KR1020167032120A KR102161975B1 (ko) 2014-04-17 2015-04-17 데이터를 보호하기 위해 암호 객체들을 사용하는 시스템 및 방법들

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020207027532A KR102202775B1 (ko) 2014-04-17 2015-04-17 데이터를 보호하기 위해 암호 객체들을 사용하는 시스템 및 방법들
KR1020217000496A KR102333272B1 (ko) 2014-04-17 2015-04-17 데이터를 보호하기 위해 암호 객체들을 사용하는 시스템 및 방법들

Country Status (10)

Country Link
EP (1) EP3132565A4 (ko)
JP (3) JP6646281B2 (ko)
KR (3) KR102202775B1 (ko)
AU (1) AU2015284773A1 (ko)
CA (2) CA3094011C (ko)
IL (1) IL248427B (ko)
MX (1) MX2016013622A (ko)
RU (1) RU2016144756A (ko)
SG (1) SG11201608679RA (ko)
WO (1) WO2016003527A2 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001350664A (ja) 2000-06-07 2001-12-21 Nippon Telegr & Teleph Corp <Ntt> 情報カプセル管理方法及び情報カプセル管理プログラムを格納した記憶媒体
US20130152160A1 (en) 2011-12-09 2013-06-13 Echarge2 Corporation Systems and methods for using cipher objects to protect data

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002353953A (ja) * 2001-05-24 2002-12-06 Nippon Telegr & Teleph Corp <Ntt> 利用形態制御機能を持つコンテンツ提供システム,コンテンツ利用形態制御方法,提供者装置用プログラム,利用者装置用プログラム,提供者装置用プログラムの記録媒体,利用者装置用プログラムの記録媒体およびコンテンツの部分販売システム
US7380120B1 (en) * 2001-12-12 2008-05-27 Guardian Data Storage, Llc Secured data format for access control
US7515717B2 (en) * 2003-07-31 2009-04-07 International Business Machines Corporation Security containers for document components
JP2006099698A (ja) * 2004-09-30 2006-04-13 Toshiba Corp 配信情報再生装置、プログラム及び方法
JP2009252120A (ja) * 2008-04-09 2009-10-29 Nec System Technologies Ltd プログラム課金管理装置及びカプセル実行処理装置
GB2467580B (en) * 2009-02-06 2013-06-12 Thales Holdings Uk Plc System and method for multilevel secure object management

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001350664A (ja) 2000-06-07 2001-12-21 Nippon Telegr & Teleph Corp <Ntt> 情報カプセル管理方法及び情報カプセル管理プログラムを格納した記憶媒体
US20130152160A1 (en) 2011-12-09 2013-06-13 Echarge2 Corporation Systems and methods for using cipher objects to protect data

Also Published As

Publication number Publication date
KR102202775B1 (ko) 2021-01-14
AU2015284773A1 (en) 2016-11-24
CA3094011C (en) 2023-01-24
KR20210006021A (ko) 2021-01-15
SG11201608679RA (en) 2016-11-29
JP2017514229A (ja) 2017-06-01
JP6646281B2 (ja) 2020-02-14
MX2016013622A (es) 2017-06-23
RU2016144756A3 (ko) 2018-11-07
NZ726067A (en) 2021-04-30
JP6741852B2 (ja) 2020-08-19
JP2020064655A (ja) 2020-04-23
EP3132565A2 (en) 2017-02-22
KR102333272B1 (ko) 2021-12-02
KR20200113035A (ko) 2020-10-05
CA3094011A1 (en) 2016-01-07
EP3132565A4 (en) 2017-12-20
RU2016144756A (ru) 2018-05-21
JP2020184374A (ja) 2020-11-12
WO2016003527A3 (en) 2016-04-07
BR112016024193A2 (pt) 2017-10-10
KR20170037881A (ko) 2017-04-05
CA2946141C (en) 2020-11-17
IL248427B (en) 2018-11-29
CA2946141A1 (en) 2016-01-07
NZ763404A (en) 2021-06-25
JP6982142B2 (ja) 2021-12-17
WO2016003527A2 (en) 2016-01-07

Similar Documents

Publication Publication Date Title
US20210342459A1 (en) System and methods for using cipher objects to protect data
JP6542962B2 (ja) 遅延データアクセス
US20130152160A1 (en) Systems and methods for using cipher objects to protect data
JP2016511994A (ja) フェデレーテッドキー管理
WO2021197227A1 (en) Noisy transaction for protection of data
US20220004649A1 (en) System and methods for using cipher objects to protect data
KR102161975B1 (ko) 데이터를 보호하기 위해 암호 객체들을 사용하는 시스템 및 방법들
NZ763404B2 (en) System and methods for using cipher objects to protect data
NZ726067B2 (en) System and methods for using cipher objects to protect data
Jodeiri Akbarfam et al. Deep Learning Meets Blockchain for Automated and Secure Access Control
Gittins et al. Input to the Commission on Enhancing National Cybersecurity
BR112016024193B1 (pt) Sistema e métodos para utilizar objetos de cifra para proteger dados
Sundareswaran et al. Distributed Java-Based Content Protection

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant